@spotinst/spinnaker-deck
Version:
Spinnaker-Deck service, forked with support to Spotinst
47 lines (41 loc) • 1.68 kB
JavaScript
;
import UIROUTER_ANGULARJS from '@uirouter/angularjs';
import { module } from 'angular';
import { ConfirmationModalService } from 'core/confirmationModal/confirmationModal.service';
import { SnapshotWriter } from 'core/snapshot/SnapshotWriter';
import { CORE_SNAPSHOT_DIFF_VIEWSNAPSHOTDIFFBUTTON_COMPONENT } from 'core/snapshot/diff/viewSnapshotDiffButton.component';
export const CORE_APPLICATION_CONFIG_APPLICATIONSNAPSHOTSECTION_COMPONENT =
'spinnaker.core.application.config.serialize.component';
export const name = CORE_APPLICATION_CONFIG_APPLICATIONSNAPSHOTSECTION_COMPONENT; // for backwards compatibility
module(CORE_APPLICATION_CONFIG_APPLICATIONSNAPSHOTSECTION_COMPONENT, [
UIROUTER_ANGULARJS,
CORE_SNAPSHOT_DIFF_VIEWSNAPSHOTDIFFBUTTON_COMPONENT,
]).component('applicationSnapshotSection', {
templateUrl: require('./applicationSnapshotSection.component.html'),
bindings: {
application: '=',
},
controller: [
'$state',
function ($state) {
if (this.application.notFound || this.application.hasError) {
return;
}
this.takeSnapshot = () => {
const submitMethod = () => {
return SnapshotWriter.takeSnapshot(this.application.attributes);
};
const taskMonitor = {
application: this.application,
title: 'Taking snapshot of ' + this.application.name,
};
ConfirmationModalService.confirm({
header: 'Are you sure you want to take a snapshot of: ' + this.application.name + '?',
buttonText: 'Take snapshot',
taskMonitorConfig: taskMonitor,
submitMethod: submitMethod,
});
};
},
],
});