refact: clean-up breadcrumb invocations

This commit is contained in:
Jai Bhagat
2021-12-17 11:29:36 -05:00
parent b25f5ff89e
commit 3bdf6613ef
32 changed files with 87 additions and 176 deletions

View File

@@ -1,15 +1,15 @@
import Controller from '@ember/controller';
export default class AllocationsAllocationTaskController extends Controller {
get breadcrumbs() {
const model = this.model;
if (!model) return [];
return [
{
title: 'Task',
label: model.get('name'),
args: ['allocations.allocation.task', model.get('allocation'), model],
},
];
get task() {
return this.model;
}
get breadcrumb() {
return {
title: 'Task',
label: this.task.get('name'),
args: ['allocations.allocation.task', this.task.get('allocation'), this.task],
};
}
}

View File

@@ -2,11 +2,4 @@ import Controller from '@ember/controller';
export default class ClientsController extends Controller {
isForbidden = false;
breadcrumbs = [
{
label: 'Clients',
args: ['clients.index'],
},
];
}

View File

@@ -1,15 +1,15 @@
import Controller from '@ember/controller';
export default class ClientsClientController extends Controller {
get breadcrumbs() {
const model = this.model;
if (!model) return [];
return [
{
title: 'Client',
label: model.get('shortId'),
args: ['clients.client', model.get('id')],
},
];
get client() {
return this.model;
}
get breadcrumb() {
return {
title: 'Client',
label: this.client.get('shortId'),
args: ['clients.client', this.client.get('id')],
};
}
}

View File

@@ -2,11 +2,4 @@ import Controller from '@ember/controller';
export default class PluginsController extends Controller {
isForbidden = false;
breadcrumbs = [
{
label: 'Storage',
args: ['csi.index'],
},
];
}

View File

@@ -1,16 +1,20 @@
import Controller from '@ember/controller';
export default class CsiPluginsPluginController extends Controller {
get plugin() {
return this.model;
}
get breadcrumbs() {
const plugin = this.model;
const { plainId } = this.plugin;
return [
{
label: 'Plugins',
args: ['csi.plugins'],
},
{
label: plugin.plainId,
args: ['csi.plugins.plugin', plugin.plainId],
label: plainId,
args: ['csi.plugins.plugin', plainId],
},
];
}

View File

@@ -2,11 +2,4 @@ import Controller from '@ember/controller';
export default class VolumesController extends Controller {
isForbidden = false;
breadcrumbs = [
{
label: 'Storage',
args: ['csi.index'],
},
];
}

View File

@@ -14,8 +14,12 @@ export default class VolumeController extends Controller {
];
volumeNamespace = 'default';
get volume() {
return this.model;
}
get breadcrumbs() {
const volume = this.model;
const volume = this.volume;
return [
{
label: 'Volumes',

View File

@@ -1,10 +1,4 @@
import Controller from '@ember/controller';
export default class JobsController extends Controller {
breadcrumbs = [
{
label: 'Jobs',
args: ['jobs.index'],
},
];
}
// The WithNamespaceResetting Mixin uses Controller Injection and requires us to keep this controller around
export default class JobsController extends Controller {}

View File

@@ -8,7 +8,7 @@ export default class JobController extends Controller {
];
jobNamespace = 'default';
get breadcrumbs() {
return [{ type: 'job', job: this.model }];
get job() {
return this.model;
}
}

View File

@@ -1,10 +1,4 @@
import Controller from '@ember/controller';
export default class JobsJobDispatchController extends Controller {
breadcrumbs = [
{
label: 'Dispatch',
args: ['jobs.job.dispatch'],
},
];
}
// This may be safe to remove but we can't be sure, some route may try access this directly using this.controllerFor
export default class JobsJobDispatchController extends Controller {}

View File

@@ -14,10 +14,10 @@ import classic from 'ember-classic-decorator';
@classic
export default class TaskGroupController extends Controller.extend(
Sortable,
Searchable,
WithNamespaceResetting
) {
Sortable,
Searchable,
WithNamespaceResetting
) {
@service userSettings;
@service can;
@@ -142,20 +142,22 @@ export default class TaskGroupController extends Controller.extend(
setFacetQueryParam(queryParam, selection) {
this.set(queryParam, serialize(selection));
}
get breadcrumbs() {
const model = this.model;
if (!model) return [];
return [
{
title: 'Task Group',
label: model.get('name'),
args: [
'jobs.job.task-group',
model.get('job'),
model.get('name'),
qpBuilder({ jobNamespace: model.get('job.namespace.name') || 'default' }),
],
},
];
get taskGroup() {
return this.model;
}
get breadcrumb() {
const { job, name } = this.taskGroup;
return {
title: 'Task Group',
label: name,
args: [
'jobs.job.task-group',
job,
name,
qpBuilder({ jobNamespace: job.get('namespace.name') || 'default' }),
],
};
}
}

View File

@@ -1,13 +1,6 @@
import Controller from '@ember/controller';
export default class RunController extends Controller {
breadcrumbs = [
{
label: 'Run',
args: ['jobs.run'],
},
];
onSubmit(id, namespace) {
this.transitionToRoute('jobs.job', id, {
queryParams: { namespace },

View File

@@ -102,13 +102,6 @@ export default class OptimizeController extends Controller {
{ key: 'dead', label: 'Dead' },
];
breadcrumbs = [
{
label: 'Recommendations',
args: ['optimize'],
},
];
get optionsDatacenter() {
const flatten = (acc, val) => acc.concat(val);
const allDatacenters = new Set(this.summaries.mapBy('job.datacenters').reduce(flatten, []));

View File

@@ -10,15 +10,15 @@ export default class OptimizeSummaryController extends Controller {
},
];
get breadcrumbs() {
const model = this.model;
if (!model) return [];
get summary() {
return this.model;
}
return [
{
label: model.slug.replace('/', ' / '),
args: ['optimize.summary', model.slug],
},
];
get breadcrumb() {
const { slug } = this.summary;
return {
label: slug.replace('/', ' / '),
args: ['optimize.summary', slug],
};
}
}

View File

@@ -2,11 +2,4 @@ import Controller from '@ember/controller';
export default class ServersController extends Controller {
isForbidden = false;
breadcrumbs = [
{
label: 'Servers',
args: ['servers.index'],
},
];
}

View File

@@ -4,12 +4,4 @@ export default class ServersServerController extends Controller {
get server() {
return this.model;
}
get breadcrumb() {
return {
title: 'Server',
label: this.server.name,
args: ['servers.server', this.server.id],
};
}
}

View File

@@ -143,11 +143,4 @@ export default class TopologyControllers extends Controller {
this.filteredNodes = filteredNodesError.context;
}
}
get breadcrumb() {
return {
label: 'Topology',
args: ['topology'],
};
}
}

View File

@@ -1,4 +1 @@
{{#each this.breadcrumbs as |crumb|}}
<Breadcrumb @crumb={{crumb}} />
{{/each}}
{{outlet}}
<Breadcrumb @crumb={{this.breadcrumb}} />{{outlet}}

View File

@@ -1,6 +1,4 @@
{{#each this.breadcrumbs as |crumb|}}
<Breadcrumb @crumb={{crumb}} />
{{/each}}
<Breadcrumb @crumb={{hash label="Clients" args=(array "clients.index")}} />
<PageLayout>
{{outlet}}
</PageLayout>

View File

@@ -1,4 +1 @@
{{#each this.breadcrumbs as |crumb|}}
<Breadcrumb @crumb={{crumb}} />
{{/each}}
{{outlet}}
<Breadcrumb @crumb={{this.breadcrumb}} />{{outlet}}

View File

@@ -1,4 +1 @@
{{#each this.breadcrumbs as |crumb|}}
<Breadcrumb @crumb={{crumb}} />
{{/each}}
{{outlet}}
<Breadcrumb @crumb={{hash label="Storage" args=(array "csi.index")}} />{{outlet}}

View File

@@ -1,4 +1 @@
{{#each this.breadcrumbs as |crumb|}}
<Breadcrumb @crumb={{crumb}} />
{{/each}}
{{outlet}}
<Breadcrumb @crumb={{hash label="Storage" args=(array "csi.index")}} />{{outlet}}

View File

@@ -1,6 +1,4 @@
{{#each this.breadcrumbs as |crumb|}}
<Breadcrumb @crumb={{crumb}} />
{{/each}}
<Breadcrumb @crumb={{hash label="Jobs" args=(array "jobs.index")}} />
<PageLayout>
{{outlet}}
</PageLayout>

View File

@@ -1,4 +1 @@
{{#each this.breadcrumbs as |crumb|}}
<Breadcrumb @crumb={{crumb}} />
{{/each}}
{{outlet}}
<Breadcrumb @crumb={{hash type="job" job=this.job}} />{{outlet}}

View File

@@ -1,6 +1,4 @@
{{#each this.breadcrumbs as |crumb|}}
<Breadcrumb @crumb={{crumb}} />
{{/each}}
<Breadcrumb @crumb={{hash label="Dispatch" args=(array "jobs.job.dispatch")}} />
{{page-title "Dispatch new " this.model.name}}
<JobSubnav @job={{this.model}} />
<section class="section">

View File

@@ -1,6 +1,4 @@
{{#each this.breadcrumbs as |crumb|}}
<Breadcrumb @crumb={{crumb}} />
{{/each}}
<Breadcrumb @crumb={{this.breadcrumb}} />
{{page-title "Task group " this.model.name " - Job " this.model.job.name}}
<div class="tabs is-subnav">
<ul>

View File

@@ -1,6 +1,4 @@
{{#each this.breadcrumbs as |crumb|}}
<Breadcrumb @crumb={{crumb}} />
{{/each}}
<Breadcrumb @crumb={{hash label="Run" args=(array "jobs.run")}} />
{{page-title "Run a job"}}
<section class="section">
<JobEditor @job={{this.model}} @context="new" @onSubmit={{action this.onSubmit}} />

View File

@@ -1,6 +1,4 @@
{{#each this.breadcrumbs as |crumb|}}
<Breadcrumb @crumb={{crumb}} />
{{/each}}
<Breadcrumb @crumb={{hash label="Recommendations" args=(array "optimize")}} />
<PageLayout>
<section class="section">
{{#if this.summaries}}

View File

@@ -1,6 +1,2 @@
{{#if @model}}
<Das::RecommendationCard
@summary={{@model}}
@proceed={{this.optimizeController.proceed}}
/>
{{/if}}
<Breadcrumb @crumb={{this.breadcrumb}} />
<Das::RecommendationCard @summary={{@model}} @proceed={{this.optimizeController.proceed}} />

View File

@@ -1,6 +1,4 @@
{{#each this.breadcrumbs as |crumb|}}
<Breadcrumb @crumb={{crumb}} />
{{/each}}
<Breadcrumb @crumb={{hash label="Servers" args=(array "servers.index")}} />
<PageLayout>
{{outlet}}
</PageLayout>

View File

@@ -1 +1,4 @@
<Breadcrumb @crumb={{this.breadcrumb}} />{{outlet}}
<Breadcrumb
@crumb={{hash title="Server" label=this.server.name args=(array "servers.server" this.server.id)}}
/>
{{outlet}}

View File

@@ -1,4 +1,4 @@
<Breadcrumb @crumb={{breadcrumb}} />
<Breadcrumb @crumb={{hash label="Topology" args=(array "topology")}} />
{{page-title "Cluster Topology"}}
<PageLayout>
<section class="section is-full-width">