mirror of
https://github.com/kemko/nomad.git
synced 2026-01-01 16:05:42 +03:00
refact: clean-up breadcrumb invocations
This commit is contained in:
@@ -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],
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,11 +2,4 @@ import Controller from '@ember/controller';
|
||||
|
||||
export default class ClientsController extends Controller {
|
||||
isForbidden = false;
|
||||
|
||||
breadcrumbs = [
|
||||
{
|
||||
label: 'Clients',
|
||||
args: ['clients.index'],
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
@@ -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')],
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,11 +2,4 @@ import Controller from '@ember/controller';
|
||||
|
||||
export default class PluginsController extends Controller {
|
||||
isForbidden = false;
|
||||
|
||||
breadcrumbs = [
|
||||
{
|
||||
label: 'Storage',
|
||||
args: ['csi.index'],
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
@@ -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],
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
@@ -2,11 +2,4 @@ import Controller from '@ember/controller';
|
||||
|
||||
export default class VolumesController extends Controller {
|
||||
isForbidden = false;
|
||||
|
||||
breadcrumbs = [
|
||||
{
|
||||
label: 'Storage',
|
||||
args: ['csi.index'],
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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 {}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 {}
|
||||
|
||||
@@ -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' }),
|
||||
],
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 },
|
||||
|
||||
@@ -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, []));
|
||||
|
||||
@@ -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],
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,11 +2,4 @@ import Controller from '@ember/controller';
|
||||
|
||||
export default class ServersController extends Controller {
|
||||
isForbidden = false;
|
||||
|
||||
breadcrumbs = [
|
||||
{
|
||||
label: 'Servers',
|
||||
args: ['servers.index'],
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
@@ -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],
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -143,11 +143,4 @@ export default class TopologyControllers extends Controller {
|
||||
this.filteredNodes = filteredNodesError.context;
|
||||
}
|
||||
}
|
||||
|
||||
get breadcrumb() {
|
||||
return {
|
||||
label: 'Topology',
|
||||
args: ['topology'],
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1 @@
|
||||
{{#each this.breadcrumbs as |crumb|}}
|
||||
<Breadcrumb @crumb={{crumb}} />
|
||||
{{/each}}
|
||||
{{outlet}}
|
||||
<Breadcrumb @crumb={{this.breadcrumb}} />{{outlet}}
|
||||
@@ -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>
|
||||
@@ -1,4 +1 @@
|
||||
{{#each this.breadcrumbs as |crumb|}}
|
||||
<Breadcrumb @crumb={{crumb}} />
|
||||
{{/each}}
|
||||
{{outlet}}
|
||||
<Breadcrumb @crumb={{this.breadcrumb}} />{{outlet}}
|
||||
@@ -1,4 +1 @@
|
||||
{{#each this.breadcrumbs as |crumb|}}
|
||||
<Breadcrumb @crumb={{crumb}} />
|
||||
{{/each}}
|
||||
{{outlet}}
|
||||
<Breadcrumb @crumb={{hash label="Storage" args=(array "csi.index")}} />{{outlet}}
|
||||
@@ -1,4 +1 @@
|
||||
{{#each this.breadcrumbs as |crumb|}}
|
||||
<Breadcrumb @crumb={{crumb}} />
|
||||
{{/each}}
|
||||
{{outlet}}
|
||||
<Breadcrumb @crumb={{hash label="Storage" args=(array "csi.index")}} />{{outlet}}
|
||||
@@ -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>
|
||||
@@ -1,4 +1 @@
|
||||
{{#each this.breadcrumbs as |crumb|}}
|
||||
<Breadcrumb @crumb={{crumb}} />
|
||||
{{/each}}
|
||||
{{outlet}}
|
||||
<Breadcrumb @crumb={{hash type="job" job=this.job}} />{{outlet}}
|
||||
@@ -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">
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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}} />
|
||||
|
||||
@@ -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}}
|
||||
|
||||
@@ -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}} />
|
||||
@@ -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>
|
||||
@@ -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}}
|
||||
@@ -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">
|
||||
|
||||
Reference in New Issue
Block a user