salix/modules/account/front/role/subroles/index.js

52 lines
1.4 KiB
JavaScript

import ngModule from '../../module';
import Section from 'salix/components/section';
export default class Controller extends Section {
$onInit() {
this.refresh();
}
get path() {
return `RoleInherits`;
}
refresh() {
let filter = {
where: {role: this.$params.id},
include: {
relation: 'inherits',
scope: {
fields: ['id', 'name', 'description']
}
}
};
this.$http.get(this.path, {filter})
.then(res => this.$.data = res.data);
}
onAddClick() {
this.addData = {role: this.$params.id};
this.$.dialog.show();
}
onAddSave() {
return this.$http.post(this.path, this.addData)
.then(() => this.refresh())
.then(() => this.vnApp.showSuccess(this.$t('Role added! Changes will take a while to fully propagate.')));
}
onRemove(row) {
return this.$http.delete(`${this.path}/${row.id}`)
.then(() => {
let index = this.$.data.indexOf(row);
if (index !== -1) this.$.data.splice(index, 1);
this.vnApp.showSuccess(this.$t('Role removed. Changes will take a while to fully propagate.'));
});
}
}
ngModule.component('vnRoleSubroles', {
template: require('./index.html'),
controller: Controller
});