44 lines
1.2 KiB
TypeScript

import { Component } from 'react';
import { observer, engineConfig } from '@ali/lowcode-editor-core';
import { Designer } from '../designer';
import { BuiltinSimulatorHostView } from '../builtin-simulator';
import './project.less';
class BuiltinLoading extends Component {
render() {
return (
<div id="engine-loading-wrapper">
<img width="154" height="100" src="https://img.alicdn.com/tfs/TB1CmVgayERMeJjy0FcXXc7opXa-308-200.gif" />
</div>
);
}
}
@observer
export class ProjectView extends Component<{ designer: Designer }> {
componentDidMount() {
const { designer } = this.props;
const { project } = designer;
project.onRendererReady(() => {
this.forceUpdate();
});
}
render() {
const { designer } = this.props;
const { project } = designer;
const { simulatorProps } = project;
const Simulator = designer.simulatorComponent || BuiltinSimulatorHostView;
const Loading = engineConfig.get('loadingComponent', BuiltinLoading);
return (
<div className="lc-project">
<div className="lc-simulator-shell">
{!project?.simulator?.renderer && <Loading />}
<Simulator {...simulatorProps} />
</div>
</div>
);
}
}