mutants-appfx
Version:
appfx module
70 lines (64 loc) • 2.81 kB
JavaScript
import React from 'react';
import PropTypes from 'prop-types'
import {
registerRoutes,
} from 'mutants-microfx';
import querystring from 'querystring';
import DataProviderManager from './DataProviderManager';
import AppFlowManager from './flow/AppFlowManager';
import Controller from './controllers';
import ViewModel from './viewmodels';
import TemplateProvider from './components/TemplateProvider';
export Expression from './expression';
export appManager from './AppManager';
export {DataModel} from './datamodels';
export TemplateComponent from './components/TemplateComponent';
export TemplateProvider from './components/TemplateProvider';
export CardController from './controllers/CardController';
export VoucherController from './controllers/VoucherController';
export BaseController from './controllers/BaseController';
export FormController from './controllers/FormController';
export BizError from './controllers/BizError';
export ViewBase from './viewmodels/ViewBase';
export UIController from './viewmodels/UIController';
export ViewController from './controllers/ViewController';
export VoucherViewController from './controllers/VoucherViewController';
export Action from './viewmodels/Action';
export AppFlow from './flow/AppFlow';
// TODO 废弃改名viewModel
export injectViewModel from './viewmodels/injectViewModel';
export viewModel from './viewmodels/injectViewModel';
export UILoading from './components/UILoading';
export const registerDataProvider = DataProviderManager.registerDataProvider;
export const registerAppFlow = AppFlowManager.registerAppFlow;
export const registerController = Controller.registerController;
export const registerViewModel = ViewModel.registerViewModel;
export const createController = Controller.create;
export const registerBlocks = Controller.registerBlocks;
export const createControllerBlocks = Controller.createControllerBlocks;
export const createControllerViewBlocks = Controller.createControllerViewBlocks;
export eventPath from './controllers/eventPath';
export eventHandler from './controllers/eventPath';
import './page.less';
// ==================== page router =====================
class TemplatePage extends React.Component {
static propTypes = {
history: PropTypes.object,
match: PropTypes.object,
location: PropTypes.object
}
render() {
const qs = querystring.parse(this.props.location.search.substr(1));
const state = this.props.location.state || {};
return (<TemplateProvider {...state} {...qs} {...this.props.match.params} action={this.props.history.action} >
</TemplateProvider>)
}
}
// 统一注册元数据加载的模板页面路由地址
registerRoutes([{
cacheKey: 'templatePage',
path: '/:sysid/:mid/:id?',
component: TemplatePage,
cache: true,
className: 'templatePage'
}])