Files
mixtape/zero.Web.UI/App/renderers/editors/user.js
T

27 lines
929 B
JavaScript
Raw Normal View History

2020-10-19 14:48:21 +02:00
2020-11-01 23:23:36 +01:00
import Editor from 'zero/core/editor.ts';
2020-10-19 14:48:21 +02:00
import Permissions from 'zero/components/permissions.vue';
const editor = new Editor('user', '@user.fields.');
editor.options.coreDatabase = true;
2020-10-19 14:48:21 +02:00
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');
2021-09-23 11:29:10 +02:00
const permissions = editor.tab('permissions', '@user.tab_permissions', permissionsCount, x => !x.id);
2020-10-19 14:48:21 +02:00
general.field('name', { label: '@ui.name' }).text(80).required();
2021-09-23 10:58:14 +02:00
general.fieldset(set =>
{
set.field('email').text(120).required();
2021-09-23 11:29:10 +02:00
set.field('passwordHash').when(x => x.id).passwordHash().required();
2021-09-23 10:58:14 +02:00
});
2020-10-19 14:48:21 +02:00
general.field('languageId').culturePicker().required();
general.field('avatarId').image();
permissions.field('claims', { hideLabel: true }).custom(Permissions);
export default editor;