UNPKG

mutants-appfx

Version:

appfx module

70 lines (64 loc) 2.81 kB
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' }])