UNPKG

@spotinst/spinnaker-deck

Version:

Spinnaker-Deck service, forked with support to Spotinst

59 lines (54 loc) 2.04 kB
import { StateParams } from '@uirouter/angularjs'; import { module } from 'angular'; import { APPLICATION_STATE_PROVIDER, ApplicationStateProvider, INestedState } from '@spinnaker/core'; import { EcsTargetGroupDetails } from '../loadBalancer/details/targetGroupDetails'; //import { IEcsTargetGroup } from '../domain/IEcsLoadBalancer'; export const ECS_TARGET_GROUP_STATES = 'spinnaker.ecs.loadBalancer.targetGroup.states'; module(ECS_TARGET_GROUP_STATES, [APPLICATION_STATE_PROVIDER]).config([ 'applicationStateProvider', (applicationStateProvider: ApplicationStateProvider) => { const ecsTargetGroupDetails: INestedState = { name: 'ecsTargetGroupDetails', url: '/ecsTargetGroupDetails/:provider/:accountId/:region/:vpcId/:loadBalancerName/:name', params: { vpcId: { value: null, squash: true, }, }, views: { 'detail@../insight': { component: EcsTargetGroupDetails, $type: 'react', }, }, resolve: { accountId: ['$stateParams', ($stateParams: StateParams) => $stateParams.accountId], name: ['$stateParams', ($stateParams: StateParams) => $stateParams.name], provider: ['$stateParams', ($stateParams: StateParams) => $stateParams.provider], // resolve flat params into an IEcsTargetGroup targetGroup: [ '$stateParams', ($stateParams: StateParams) => { return { loadBalancerName: $stateParams.loadBalancerName, targetGroupName: $stateParams.name, accountId: $stateParams.accountId, region: $stateParams.region, vpcId: $stateParams.vpcId, }; }, ], }, data: { pageTitleDetails: { title: 'Target Group Details', nameParam: 'name', accountParam: 'accountId', regionParam: 'region', }, }, }; applicationStateProvider.addInsightDetailState(ecsTargetGroupDetails); }, ]);