import { inject, observer } from 'mobx-react';
import Base from 'components/Form';
import { yamlTip, validateYaml, paramTip } from 'resources/heat/stack';
export class Template extends Base {
get isStep() {
return true;
}
get title() {
return t('Prepare Template');
}
get name() {
return t('Prepare Template');
}
get isEdit() {
return !!this.props.extra;
}
get defaultValue() {
const { versionContent = '' } = this.state;
return {
versionContent,
name: this.isEdit ? this.props.extra.stack_name : '',
};
}
get fontStyle() {
return {
fontFamily:
'"Menlo", "Liberation Mono", "Consolas", "DejaVu Sans Mono", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace',
};
}
get formItems() {
return [
{
name: 'name',
label: t('Template Name'),
type: 'label',
hidden: !this.isEdit,
},
{
name: 'content',
label: t('Template Content'),
type: 'textarea-from-file',
required: true,
tip: yamlTip,
validator: validateYaml,
rows: 10,
},
{
name: 'params',
label: t('Environment Variable'),
type: 'textarea-from-file',
tip: paramTip,
validator: validateYaml,
rows: 6,
},
];
}
}
export default inject('rootStore')(observer(Template));