import { defaults } from 'lodash'; import React from 'react'; import type { Application, IStage, IStageConfigProps } from '@spinnaker/core'; import DeleteManifestOptionsForm from './DeleteManifestOptionsForm'; import type { IDeleteOptions } from '../../../manifest/delete/delete.controller'; import type { IManifestSelector } from '../../../manifest/selector/IManifestSelector'; import { SelectorMode } from '../../../manifest/selector/IManifestSelector'; import { ManifestSelector } from '../../../manifest/selector/ManifestSelector'; export interface IKubernetesManifestStageConfigProps extends IStageConfigProps { application: Application; stage: IManifestSelector & IStage; stageFieldUpdated: () => void; } export class DeleteManifestStageConfig extends React.Component { public componentDidMount = (): void => { defaults(this.props.stage, { app: this.props.application.name, cloudProvider: 'kubernetes', }); if (this.props.stage.isNew) { this.props.stage.options = { gracePeriodSeconds: null, cascading: true, }; } this.props.stageFieldUpdated(); }; private onChange = (stage: IManifestSelector): void => { Object.assign(this.props.stage, stage); this.props.stageFieldUpdated(); }; private onOptionsChange = (options: IDeleteOptions): void => { this.props.stage.options = options; this.props.stageFieldUpdated(); }; public render() { const selector = { ...this.props.stage }; return (

Manifest

Settings

); } }