Skip to content
Snippets Groups Projects
Commit 8a2cf7ba authored by Eugen Ciur's avatar Eugen Ciur
Browse files

pretty advanced UI

parent 074fd26e
Loading
...@@ -5,5 +5,4 @@ ...@@ -5,5 +5,4 @@
{{on "change" (fn this.onChange @permission)}} {{on "change" (fn this.onChange @permission)}}
/> />
<span class="mx-1">{{@permission.name}}</span> <span class="mx-1">{{@permission.name}}</span>
<span class="mx-1 text-danger">{{@permission.content_type.model}}</span>
</div> </div>
\ No newline at end of file
{{#each this.permissions as |perm|}} <div class="d-flex flex-wrap permissions">
{{#each this.permission_groups as |perm_group|}}
<div class="m-2 permission-group">
<Input @type="checkbox" />
<label>{{perm_group.model}}</label>
{{#each perm_group.perms as |perm|}}
<Permission @permission={{perm}} @onChange={{@onChange}} /> <Permission @permission={{perm}} @onChange={{@onChange}} />
{{/each}} {{/each}}
</div>
{{/each}}
</div>
import Component from '@glimmer/component'; import Component from '@glimmer/component';
import { tracked } from '@glimmer/tracking';
import { inject as service } from '@ember/service';
class PermissionsComponent extends Component { class PermissionsComponent extends Component {
@service store;
get permissions() { get permission_groups() {
return this.args.permissions; let groups = this.args.permissions.map(item => item.content_type.get('model')),
result = [];
groups = new Set(groups);
groups.forEach(model => {
let perms = this.args.permissions.filter(item => item.content_type.get('model') === model);
result.push({model, perms}); // same as result.push({mode: model, perms: perms})
});
return result;
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment