refactor: 💡 role route should have multiple outlets

This commit is contained in:
Randall Morey committed 2020-08-31 14:42:08 -04:00
1 parent d3e7a263eb
commit 444a621bcf
5 files changed
+54 -22

No files matched your search

+30 -1
View File
@@ -9,10 +9,39 @@ export default class ScopesScopeRolesRoleRoute extends Route {
* @param {string} params.role_id
* @return {RoleModel}
*/
async model({ role_id }) {
model({ role_id }) {
const { id: scopeID } = this.modelFor('scopes.scope');
return this.store.findRecord('role', role_id, {
adapterOptions: { scopeID },
});
}
/**
* Renders the route-specific templates for header, navigation,
* and actions page sections.
* @override
* @param {object} controller
* @param {object} model
*/
renderTemplate(controller, model) {
super.renderTemplate(...arguments);
this.render('scopes/scope/roles/role/-header', {
into: 'scopes/scope/roles/role',
outlet: 'header',
model
});
this.render('scopes/scope/roles/role/-actions', {
into: 'scopes/scope/roles/role',
outlet: 'actions',
model
});
this.render('scopes/scope/roles/role/-navigation', {
into: 'scopes/scope/roles/role',
outlet: 'navigation',
model
});
}
}
@@ -7,33 +7,15 @@
</page.breadcrumbs>
<page.header>
<h2>{{t "resources.role"}}</h2>
{{outlet "header"}}
</page.header>
<page.actions>
<Rose::Dropdown @text="{{t 'actions.manage'}}" @dropdownRight={{true}} as |dropdown|>
<dropdown.button
@style="danger"
@disabled={{@model.canSave}}
{{on "click" (route-action "delete" @model)}}
>
{{t 'actions.delete-role'}}
</dropdown.button>
</Rose::Dropdown>
{{outlet "actions"}}
</page.actions>
<page.navigation>
<Rose::Nav::Tabs as |nav|>
<nav.link @route='scopes.scope.roles.role.index'>
{{t 'titles.settings'}}
</nav.link>
<nav.link @route='scopes.scope.roles.role.principals'>
{{t 'titles.principals'}}
</nav.link>
<nav.link @route='scopes.scope.roles.role.grants'>
{{t 'titles.grants'}}
</nav.link>
</Rose::Nav::Tabs>
{{outlet "navigation"}}
</page.navigation>
<page.body>
@@ -0,0 +1,9 @@
<Rose::Dropdown @text="{{t 'actions.manage'}}" @dropdownRight={{true}} as |dropdown|>
<dropdown.button
@style="danger"
@disabled={{@model.canSave}}
{{on "click" (route-action "delete" @model)}}
>
{{t 'actions.delete-role'}}
</dropdown.button>
</Rose::Dropdown>
@@ -0,0 +1 @@
<h2>{{t "resources.role"}}</h2>
@@ -0,0 +1,11 @@
<Rose::Nav::Tabs as |nav|>
<nav.link @route='scopes.scope.roles.role.index'>
{{t 'titles.settings'}}
</nav.link>
<nav.link @route='scopes.scope.roles.role.principals'>
{{t 'titles.principals'}}
</nav.link>
<nav.link @route='scopes.scope.roles.role.grants'>
{{t 'titles.grants'}}
</nav.link>
</Rose::Nav::Tabs>