skyline/src/pages/heat/containers/Stack/Detail/Template.jsx
yangao 3defbe8330 fix: Decorator style for refactored components
Decorator style for refactored components

Change-Id: Ib85517474ace19967b4901e388800c1258f246be
2022-05-17 14:48:38 +08:00

64 lines
1.6 KiB
JavaScript

// Copyright 2021 99cloud
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
import React, { Component } from 'react';
import { observer, inject } from 'mobx-react';
import { StackStore } from 'stores/heat/stack';
import yaml from 'js-yaml';
import { Card } from 'antd';
import CodeEditor from 'components/CodeEditor';
export class Template extends Component {
constructor(props) {
super(props);
this.store = new StackStore();
}
componentDidMount() {
this.fetchData();
}
get params() {
const { params } = this.props.match;
return params;
}
fetchData = () => {
this.store.getTemplate(this.params);
};
renderContent = () => {
const { template } = this.store;
const content = yaml.dump(template);
const props = {
value: content,
mode: 'yaml',
options: {
readOnly: true,
},
};
return <CodeEditor {...props} />;
};
render() {
return (
<Card style={{ marginLeft: 16, marginRight: 16 }}>
{this.renderContent()}
</Card>
);
}
}
export default inject('rootStore')(observer(Template));