@spotinst/spinnaker-deck
Version:
Spinnaker-Deck service, forked with support to Spotinst
32 lines (25 loc) • 1.13 kB
text/typescript
import { IComponentOptions, IController, module } from 'angular';
import { Application, IServerGroup } from '@spinnaker/core';
import { IScalingPolicy } from 'amazon/domain';
import { ScalingPolicyTypeRegistry } from './ScalingPolicyTypeRegistry';
export class ScalingPolicyDetailsSummaryController implements IController {
public templateUrl: string;
public policy: IScalingPolicy;
public serverGroup: IServerGroup;
public application: Application;
public $onInit() {
const config = ScalingPolicyTypeRegistry.getPolicyConfig(this.policy.policyType);
this.templateUrl = config ? config.summaryTemplateUrl : require('./alarmBasedSummary.template.html');
}
}
export const scalingPolicyDetailsSummary: IComponentOptions = {
bindings: {
policy: '<',
serverGroup: '<',
application: '<',
},
controller: ScalingPolicyDetailsSummaryController,
template: `<div ng-include src="$ctrl.templateUrl"></div>`,
};
export const DETAILS_SUMMARY = 'spinnaker.amazon.scalingPolicy.details.summary.component';
module(DETAILS_SUMMARY, []).component('scalingPolicySummary', scalingPolicyDetailsSummary);