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;