open-consul/ui/packages/consul-ui/app/components/peerings/provider/index.js

47 lines
1.2 KiB
JavaScript
Raw Normal View History

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import Component from '@glimmer/component';
import { inject as service } from '@ember/service';
import { getOwner } from '@ember/application';
2022-10-05 13:14:38 +00:00
import { Tab } from 'consul-ui/components/tab-nav';
export default class PeeringsProvider extends Component {
@service router;
2022-10-10 09:06:48 +00:00
@service intl;
get data() {
return {
tabs: this.tabs,
};
}
get tabs() {
const { peer } = this.args;
const { router } = this;
const owner = getOwner(this);
2022-10-10 09:06:48 +00:00
const { isReceiver, Name: name } = peer;
let tabs = [
2022-10-10 09:06:48 +00:00
{
label: 'Imported Services',
2022-10-12 08:36:25 +00:00
route: 'dc.peers.show.imported',
2022-10-10 09:06:48 +00:00
tooltip: this.intl.t('routes.dc.peers.index.detail.imported.tab-tooltip', { name }),
},
{
label: 'Exported Services',
2022-10-12 08:36:25 +00:00
route: 'dc.peers.show.exported',
2022-10-10 09:06:48 +00:00
tooltip: this.intl.t('routes.dc.peers.index.detail.exported.tab-tooltip', { name }),
},
];
2022-10-10 09:06:48 +00:00
if (isReceiver) {
tabs = [...tabs, { label: 'Server Addresses', route: 'dc.peers.show.addresses' }];
}
2022-10-05 13:14:38 +00:00
return tabs.map((tab) => new Tab({ ...tab, currentRouteName: router.currentRouteName, owner }));
}
}