У меня есть приложение с системой ролей и прав.В основном мне нужно показать и скрыть вещи в зависимости от настроек роли и прав.
Например, у меня есть сетка со статическими полями (видимая для всех пользователей независимо от роли и свойства права):
var grid_results_columns = [
{ text: 'CompanyName', dataIndex: 'CompanyName', flex: 1 },
{ text: 'Address', dataIndex: 'Address', flex: 1 },
{ text: 'System ID', dataIndex: 'SID', flex: 1 }
];
И если я хочу показать / скрыть столбец, я делаю это так:
if (settings.rights[0].HasShowAdminColumn) {
grid_results_columns.push({ text: 'AdminSetting', dataIndex: 'AdminSetting' });
}
settings
- это JSON, который я получаю из бэкэнда с помощью AJAX.Он имеет массив прав, и один из элементов массива - HasShowAdminColumn
, который может быть истинным или ложным (1 или 0).
Существует так много ролей, прав и сеток, которые необходимо изменить.Есть ли какой-нибудь автоматизированный процесс, чтобы справиться с этим более легко и менее болезненно?В противном случае я получаю тысячи строк кода, где мне придется проверять каждую роль и право и выдвигать столбцы в зависимости от статуса прав.