Commit d0c7360a by zhaochengxiang

qiankun

parent 0d7d6368
...@@ -30,16 +30,41 @@ import { AssetMountReference } from './util/constant'; ...@@ -30,16 +30,41 @@ import { AssetMountReference } from './util/constant';
export const AppContext = React.createContext(); export const AppContext = React.createContext();
export class App extends React.Component { export class App extends React.Component {
constructor() {
super();
this.state = {
hostParams: null
};
}
componentDidMount() {
this.setState({ hostParams: this.props?.data });
this.$$hostParams = $hostParams.subscribe({
next: (v) => {
if (v) {
this.setState({ hostParams: v });
}
},
});
}
componentWillUnmount() {
this.$$hostParams?.unsubscribe();
}
render() { render() {
const { params, callback, setGlobalState, onGlobalStateChange } = this.props; const { setGlobalState, onGlobalStateChange } = this.props;
const { hostParams } = this.state;
let message = '', id = '', terms = []; let message = '', id = '', terms = [];
if (params) { if (hostParams) {
message = params.message||''; message = hostParams.message||'';
id = params.id||''; id = hostParams.id||'';
terms = params.terms||[]; terms = hostParams.terms||[];
} }
if (message === 'showDataModelDetail') { if (message === 'showDataModelDetail') {
...@@ -60,8 +85,8 @@ export class App extends React.Component { ...@@ -60,8 +85,8 @@ export class App extends React.Component {
if (message === 'showAssetDetail') { if (message === 'showAssetDetail') {
return ( return (
<AppContext.Provider value={{ <AppContext.Provider value={{
env: params?.env, env: hostParams?.env,
user: params?.user, user: hostParams?.user,
setGlobalState, setGlobalState,
onGlobalStateChange onGlobalStateChange
}}> }}>
...@@ -76,8 +101,8 @@ export class App extends React.Component { ...@@ -76,8 +101,8 @@ export class App extends React.Component {
if (message === 'showAssetTree') { if (message === 'showAssetTree') {
return ( return (
<AppContext.Provider value={{ <AppContext.Provider value={{
env: params?.env, env: hostParams?.env,
user: params?.user, user: hostParams?.user,
setGlobalState, setGlobalState,
onGlobalStateChange onGlobalStateChange
}}> }}>
...@@ -85,7 +110,7 @@ export class App extends React.Component { ...@@ -85,7 +110,7 @@ export class App extends React.Component {
reference={AssetMountReference} reference={AssetMountReference}
checkable={true} checkable={true}
onCheck={(values) => { onCheck={(values) => {
callback&&callback(values); hostParams?.callback&&hostParams?.callback(values);
}} }}
{...this.props} {...this.props}
/> />
...@@ -96,8 +121,8 @@ export class App extends React.Component { ...@@ -96,8 +121,8 @@ export class App extends React.Component {
if (message === 'showDatasource') { if (message === 'showDatasource') {
return ( return (
<AppContext.Provider value={{ <AppContext.Provider value={{
env: params?.env, env: hostParams?.env,
user: params?.user, user: hostParams?.user,
setGlobalState, setGlobalState,
onGlobalStateChange onGlobalStateChange
}}> }}>
...@@ -108,8 +133,8 @@ export class App extends React.Component { ...@@ -108,8 +133,8 @@ export class App extends React.Component {
return ( return (
<AppContext.Provider value={{ <AppContext.Provider value={{
env: params?.env, env: hostParams?.env,
user: params?.user, user: hostParams?.user,
setGlobalState, setGlobalState,
onGlobalStateChange onGlobalStateChange
}}> }}>
......
...@@ -8,6 +8,7 @@ import zh_CN from 'antd/es/locale-provider/zh_CN'; ...@@ -8,6 +8,7 @@ import zh_CN from 'antd/es/locale-provider/zh_CN';
import { Provider } from "react-redux"; import { Provider } from "react-redux";
import { store } from './model'; import { store } from './model';
import { App } from './App' import { App } from './App'
import { $hostParams } from "./util";
import './index.less'; import './index.less';
...@@ -51,4 +52,8 @@ export async function mount(props) { ...@@ -51,4 +52,8 @@ export async function mount(props) {
export async function unmount(props) { export async function unmount(props) {
const { container } = props; const { container } = props;
ReactDOM.unmountComponentAtNode(container ? container.querySelector('#root') : document.querySelector('#root')); ReactDOM.unmountComponentAtNode(container ? container.querySelector('#root') : document.querySelector('#root'));
}
export async function update(props) {
$hostParams.next(props?.data);
} }
\ No newline at end of file
...@@ -192,7 +192,7 @@ const FC = (props) => { ...@@ -192,7 +192,7 @@ const FC = (props) => {
columns={columns} columns={columns}
dataSource={_tasks||[]} dataSource={_tasks||[]}
pagination={false} pagination={false}
scroll={(_tasks||[]).length===0?null:'calc(100vh - 121px - 57px - 24px - 38px - 44px)'} scroll={{ y: (_tasks||[]).length===0?null:'calc(100vh - 121px - 57px - 24px - 38px - 44px)' }}
/> />
{ {
(tasks||[]).length>0 && <Pagination (tasks||[]).length>0 && <Pagination
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment