Files
mixtape/zero.Backoffice.UI/old_app/renderers/editors/user.js
T
2021-12-07 01:11:18 +01:00

27 lines
929 B
JavaScript

import Editor from 'zero/core/editor.ts';
import Permissions from 'zero/components/permissions.vue';
const editor = new Editor('user', '@user.fields.');
editor.options.coreDatabase = true;
const permissionsCount = x => (x.claims || []).filter(claim =>
{
const value = claim.value.split(':')[1];
return value !== 'none' && value !== 'false' && !!value;
}).length;
const general = editor.tab('general', '@ui.tab_general');
const permissions = editor.tab('permissions', '@user.tab_permissions', permissionsCount, x => !x.id);
general.field('name', { label: '@ui.name' }).text(80).required();
general.fieldset(set =>
{
set.field('email').text(120).required();
set.field('passwordHash').when(x => x.id).passwordHash().required();
});
general.field('languageId').culturePicker().required();
general.field('avatarId').image();
permissions.field('claims', { hideLabel: true }).custom(Permissions);
export default editor;