/** * 应用组件服务 * * @memberof AppComponentService */ export class AppComponentService { /** * 视图组件Map * * @memberof AppComponentService */ protected static viewMap: Map<string, any> = new Map(); /** * 部件组件Map * * @memberof AppComponentService */ protected static controlMap: Map<string, any> = new Map(); /** * 控件组件Map * * @memberof AppComponentService */ protected static editorMap: Map<string, any> = new Map(); /** * 注册应用组件 * * @memberof AppComponentService */ public static registerAppComponents() { this.registerViewComponents(); this.registerControlComponents(); this.registerEditorComponents(); } /** * 注册视图组件 * * @memberof AppComponentService */ protected static registerViewComponents() { this.viewMap.set("APPINDEXVIEW_DEFAULT", () => { return import('../../components/view/app-default-indexview/app-default-indexview') }); this.viewMap.set("DEMOBMDVIEW_DEFAULT", () => { return import('../../components/view/app-default-mob-mdview/app-default-mob-mdview') }); this.viewMap.set("DEMOBEDITVIEW_DEFAULT", () => { return import('../../components/view/app-default-mob-editview/app-default-mob-editview') }); this.viewMap.set("DEMOBEDITVIEW3_DEFAULT",() => { return import('../../components/view/app-default-mob-editview3/app-default-mob-editview3') }); this.viewMap.set("APPPORTALVIEW_DEFAULT", () => { return import('../../components/view/app-default-mob-portalview/app-default-mob-portalview') }); this.viewMap.set("DEMOBCALENDARVIEW_DEFAULT", () => { return import('../../components/view/app-default-mob-calendarview/app-default-mob-calendarview') }); this.viewMap.set("DEMOBCHARTVIEW_DEFAULT", () => { return import('../../components/view/app-default-mob-chartview/app-default-mob-chartview') }); this.viewMap.set("DEMOBTABEXPVIEW_DEFAULT", () => { return import('../../components/view/app-default-mob-tabexpview/app-default-mob-tabexpview') }); this.viewMap.set("DEMOBLISTEXPVIEW_DEFAULT", () => { return import('../../components/view/app-default-mob-listexpview/app-default-mob-listexpview') }); this.viewMap.set("DEMOBTREEVIEW_DEFAULT", () => { return import('../../components/view/app-default-mob-treeview/app-default-mob-treeview') }); this.viewMap.set("DEMOBOPTVIEW_DEFAULT", () => { return import('../../components/view/app-default-mob-optview/app-default-mob-optview') }); this.viewMap.set("DEMOBPICKUPMDVIEW_DEFAULT", () => { return import('../../components/view/app-default-mob-pickmdview/app-default-mob-pickmdview') }); this.viewMap.set("DEMOBPICKUPVIEW_DEFAULT", () => { return import('../../components/view/app-default-mob-pickview/app-default-mob-pickview') }); this.viewMap.set("DEMOBMPICKUPVIEW_DEFAULT", () => { return import('../../components/view/app-default-mob-mpickview/app-default-mob-mpickview') }); this.viewMap.set("DEMOBPORTALVIEW_DEFAULT", () => { return import('../../components/view/app-default-mob-deportalview/app-default-mob-deportalview') }); this.viewMap.set("DEMOBEDITVIEW9_DEFAULT", () => { return import('../../components/view/app-default-mob-editview/app-default-mob-editview') }); this.viewMap.set("DEMOBMEDITVIEW9_DEFAULT", () => { return import('../../components/view/app-default-mob-meditview/app-default-mob-meditview') }); this.viewMap.set("DEMOBMDVIEW9_DEFAULT", () => { return import('../../components/view/app-default-mob-mdview/app-default-mob-mdview') }); this.viewMap.set("DEMOBPICKUPTREEVIEW_DEFAULT", () => { return import('../../components/view/app-default-mob-pickuptreeview/app-default-mob-pickuptreeview') }); this.viewMap.set("DEMOBWFDYNAEDITVIEW_DEFAULT", () => { return import('../../components/view/app-default-mob-wfdynaeditview/app-default-mob-wfdynaeditview') }); this.viewMap.set("DEMOBWFDYNAACTIONVIEW_DEFAULT",() => { return import('../../components/view/app-default-mob-wfdynaactionview/app-default-mob-wfdynaactionview') }); this.viewMap.set("DEMOBWFDYNAEXPMDVIEW_DEFAULT", () => { return import('../../components/view/app-default-mob-wfdynaexpmdview/app-default-mob-wfdynaexpmdview') }); this.viewMap.set("DEMOBWFDYNASTARTVIEW_DEFAULT", () => { return import('../../components/view/app-default-mob-wfdynastartview/app-default-mob-wfdynastartview') }); this.viewMap.set("DEMOBWFDYNAEDITVIEW3_DEFAULT", () => { return import('../../components/view/app-default-mob-wfdynaeditview3/app-default-mob-wfdynaeditview3') }); this.viewMap.set("DEMOBREDIRECTVIEW_DEFAULT", () => { return import('../../components/view/app-default-mob-deredirectview/app-default-mob-deredirectview') }); this.viewMap.set("DEMOBCUSTOMVIEW_DEFAULT", () => { return import('../../components/view/app-default-mob-customview/app-default-mob-customview') }); this.viewMap.set("APPWFSTEPTRACEVIEW_DEFAULT", () => { return import('../../components/view/app-default-wfsteptraceview/app-default-wfsteptraceview') }); this.viewMap.set("DEMOBPANELVIEW_DEFAULT", () => { return import('../../components/view/app-default-mob-depanelview/app-default-mob-depanelview') }); this.viewMap.set("DEMOBWIZARDVIEW_DEFAULT", () => { return import('../../components/view/app-default-mob-wizard-view/app-default-mob-wizard-view') }); // 注册视图插件 this.viewMap.set("VIEWSTYLE", 'app-view-custom-viewstyle'); // 注册视图样式,无插件模式 this.viewMap.set("DEMOBMDVIEW_TESTVIEWSTYLE", 'app-testviewstyle'); } /** * 获取视图组件 * * @memberof AppComponentService */ public static getViewComponents(viewType: string, viewStyle: string, pluginCode?: string) { let componentName = 'app-default-notsupportedview'; if(pluginCode){ componentName = this.viewMap.get(`${pluginCode}`); }else{ componentName = this.viewMap.get(`${viewType}_${viewStyle}`); } return componentName || 'app-default-notsupportedview'; } /** * 注册部件组件 * * @memberof AppComponentService */ protected static registerControlComponents() { this.controlMap.set("APPMENU_DEFAULT", ()=>{ return import('../../components/control/app-default-mob-appmenu/app-default-mob-appmenu') }); this.controlMap.set("APPMENU_LISTVIEW", ()=>{ return import('../../components/control/app-default-mob-appmenu/app-default-mob-appmenu') }); this.controlMap.set("MOBMDCTRL_LISTVIEW", ()=>{ return import('../../components/control/app-default-mob-mdctrl/app-default-mob-mdctrl') }); this.controlMap.set("MOBMDCTRL_DEFAULT", ()=>{ return import('../../components/control/app-default-mob-mdctrl/app-default-mob-mdctrl') }); this.controlMap.set("FORM_DEFAULT", ()=>{ return import('../../components/control/app-default-mob-form/app-default-mob-form') }); this.controlMap.set("APPMENU_ICONVIEW", ()=>{ return import('../../components/control/app-default-mob-appmenu/app-default-mob-appmenu') }); this.controlMap.set("DASHBOARD_DEFAULT", ()=>{ return import('../../components/control/app-default-mob-dashboard/app-default-mob-dashboard') }); this.controlMap.set("PORTLET_DEFAULT", ()=>{ return import('../../components/control/app-default-mob-portlet/app-default-mob-portlet') }); this.controlMap.set("CHART_DEFAULT", ()=>{ return import('../../components/control/app-default-mob-chart/app-default-mob-chart') }); this.controlMap.set("CHART_NEW", ()=>{ return import('../../components/control/app-default-mob-chart/app-default-mob-chart') }); this.controlMap.set("CALENDAR_DEFAULT", ()=>{ return import('../../components/control/app-default-mob-calendar/app-default-mob-calendar') }); this.controlMap.set("CALENDAR_TIMELINE", ()=>{ return import('../../components/control/app-default-mob-calendar/app-default-mob-calendar') }); this.controlMap.set("TABEXPPANEL_DEFAULT", ()=>{ return import('../../components/control/app-default-mob-tabexppanel/app-default-mob-tabexppanel') }); this.controlMap.set("TABVIEWPANEL_DEFAULT", ()=>{ return import('../../components/control/app-default-mob-tabviewpanel/app-default-mob-tabviewpanel') }); this.controlMap.set("LIST_DEFAULT", ()=>{ return import('../../components/control/app-default-mob-mdctrl/app-default-mob-mdctrl') }); this.controlMap.set("LISTEXPBAR_DEFAULT", ()=>{ return import('../../components/control/app-default-mob-listexpbar/app-default-mob-listexpbar') }); this.controlMap.set("TREEVIEW_DEFAULT", ()=>{ return import('../../components/control/app-default-mob-tree/app-default-mob-tree') }); this.controlMap.set("MULTIEDITVIEWPANEL_DEFAULT", ()=>{ return import('../../components/control/app-default-mob-meditviewpanel/app-default-mob-meditviewpanel') }); this.controlMap.set("CONTEXTMENU_DEFAULT", ()=>{ return import('../../components/control/app-default-mob-contextmenu/app-default-mob-contextmenu') }); this.controlMap.set("PICKUPVIEWPANEL_DEFAULT", ()=>{ return import('../../components/control/app-default-mob-pickupviewpanel/app-default-mob-pickupviewpanel') }); this.controlMap.set("SEARCHFORM_DEFAULT", ()=>{ return import('../../components/control/app-default-mob-searchform/app-default-mob-searchform') }); this.controlMap.set("PANEL_DEFAULT", ()=>{ return import('../../components/control/app-default-mob-panel/app-default-mob-panel') }); this.controlMap.set("DRTAB_DEFAULT", ()=>{ return import('../../components/control/app-default-mob-drtab/app-default-mob-drtab') }); this.controlMap.set("WIZARDPANEL_DEFAULT", ()=>{ return import('../../components/control/app-default-mob-wizard-panel/app-default-mob-wizard-panel') }); this.controlMap.set("SEARCHBAR_DEFAULT", ()=>{ return import('../../components/control/app-default-mob-searchbar/app-default-mob-searchbar') }); // 临时 this.controlMap.set("PFPlugin", 'app-default-mob-mdctrl'); // 注册部件插件标识 this.controlMap.set("listplugin", 'app-custom-listplugin'); this.controlMap.set("testFormPlugin", 'app-editform-render-test-form-plugin'); this.controlMap.set("NEW", ()=>{ return import('../../components/control/app-default-mob-chart/app-default-mob-chart') }); } /** * 获取部件组件 * * @memberof AppComponentService */ public static getControlComponents(ctrlType: string, ctrlStyle: string, pluginCode?: string) { let componentName = 'app-default-notsupportedcontrol'; if(pluginCode){ componentName = this.controlMap.get(`${pluginCode}`); }else{ componentName = this.controlMap.get(`${ctrlType}_${ctrlStyle}`); } return componentName || 'app-default-notsupportedcontrol'; } /** * 注册编辑器组件 * * @memberof AppComponentService */ protected static registerEditorComponents() { this.editorMap.set('MOBTEXT_DEFAULT','app-mob-input'); this.editorMap.set('MOBPASSWORD_DEFAULT','app-mob-input') this.editorMap.set('MOBNUMBER_DEFAULT','app-mob-input') this.editorMap.set('MOBSTEPPER_DEFAULT','app-mob-stepper') this.editorMap.set('MOBRADIOLIST_DEFAULT','app-mob-radio-list') this.editorMap.set('MOBTEXTAREA_DEFAULT','app-mob-textarea') this.editorMap.set('MOBSLIDER_DEFAULT','app-mob-slider') this.editorMap.set('MOBSWITCH_DEFAULT','app-mob-switch') this.editorMap.set('MOBRATING_DEFAULT','app-mob-rate') this.editorMap.set('MOBDATE_DEFAULT','app-mob-datetime-picker') this.editorMap.set('MOBHTMLTEXT_DEFAULT','app-mob-rich-text-editor') this.editorMap.set('MOBDROPDOWNLIST_DEFAULT','app-mob-select') this.editorMap.set('MOBCHECKLIST_DEFAULT','app-mob-check-list') this.editorMap.set('MOBPICKER_DEFAULT','app-mob-picker') this.editorMap.set('MOBMPICKER_DEFAULT','app-mob-mpicker') this.editorMap.set('MOBPICKER_DROPDOWNVIEW_DEFAULT','app-mob-select-drop-down') this.editorMap.set('MOBSINGLEFILEUPLOAD_DEFAULT','app-mob-file-upload') this.editorMap.set('MOBMULTIFILEUPLOAD_DEFAULT','app-mob-file-upload') this.editorMap.set('MOBPICTURE_DEFAULT','app-mob-picture') this.editorMap.set('MOBPICTURELIST_DEFAULT','app-mob-picture') this.editorMap.set('SPAN_DEFAULT','app-mob-span') // 预置扩展编辑器 this.editorMap.set("MOBDATE_day", "app-mob-datetime-picker"); this.editorMap.set("MOBNUMBER_POSITIVENUMBER", "app-mob-input"); //微服务编辑器 //微服务编辑器 this.editorMap.set("MOBPICKER_MOBORGSELECT", "app-mob-org-select"); this.editorMap.set("MOBPICKER_MOBORGMULTIPLE", "app-mob-org-select"); this.editorMap.set("MOBPICKER_MOBALLORGSELECT", "app-mob-org-select"); this.editorMap.set("MOBPICKER_MOBALLORGMULTIPLE", "app-mob-org-select"); this.editorMap.set("MOBPICKER_MOBALLDEPTPERSONSELECT", "app-mob-department-personnel"); this.editorMap.set("MOBPICKER_MOBALLDEPTPERSONMULTIPLE", "app-mob-department-personnel"); this.editorMap.set("MOBPICKER_MOBDEPTPERSONSELECT", "app-mob-department-personnel"); this.editorMap.set("MOBPICKER_MOBDEPTPERSONMULTIPLE", "app-mob-department-personnel"); this.editorMap.set("MOBPICKER_MOBALLEMPSELECT", "app-mob-group-select"); this.editorMap.set("MOBPICKER_MOBALLEMPMULTIPLE", "app-mob-group-select"); this.editorMap.set("MOBPICKER_MOBEMPSELECT", "app-mob-group-select"); this.editorMap.set("MOBPICKER_MOBEMPMULTIPLE", "app-mob-group-select"); this.editorMap.set("MOBPICKER_MOBALLDEPATMENTSELECT", "app-mob-department-select"); this.editorMap.set("MOBPICKER_MOBALLDEPATMENTMULTIPLE", "app-mob-department-select"); this.editorMap.set("MOBPICKER_MOBDEPATMENTSELECT", "app-mob-department-select"); this.editorMap.set("MOBPICKER_MOBDEPATMENTMULTIPLE", "app-mob-department-select"); // 注册编辑器 // pc 编辑器标识 this.editorMap.set('TEXT_DEFAULT','app-mob-input'); this.editorMap.set('TEXTBOX_DEFAULT','app-mob-input'); this.editorMap.set('PASSWORD_DEFAULT','app-mob-input'); this.editorMap.set('NUMBER_DEFAULT','app-mob-input'); this.editorMap.set('STEPPER_DEFAULT','app-mob-stepper'); this.editorMap.set('RADIOLIST_DEFAULT','app-mob-radio-list'); this.editorMap.set('TEXTAREA_DEFAULT','app-mob-textarea'); this.editorMap.set('SLIDER_DEFAULT','app-mob-slider'); this.editorMap.set('SWITCH_DEFAULT','app-mob-switch'); this.editorMap.set('RATING_DEFAULT','app-mob-rate'); this.editorMap.set('DATE_DEFAULT','app-mob-datetime-picker'); this.editorMap.set('DATEPICKER_DEFAULT','app-mob-datetime-picker'); this.editorMap.set('HTMLTEXT_DEFAULT','app-mob-rich-text-editor'); this.editorMap.set('DROPDOWNLIST_DEFAULT','app-mob-select'); this.editorMap.set('MDROPDOWNLIST_DEFAULT','app-mob-check-list'); this.editorMap.set('RADIOBUTTONLIST_DEFAULT','app-mob-radio-list'); this.editorMap.set('CHECKLIST_DEFAULT','app-mob-check-list'); this.editorMap.set('PICKER_DEFAULT','app-mob-picker'); this.editorMap.set('MPICKER_DEFAULT','app-mob-mpicker'); this.editorMap.set('PICKER_DROPDOWNVIEW_DEFAULT','app-mob-select-drop-down'); this.editorMap.set('SINGLEFILEUPLOAD_DEFAULT','app-mob-file-upload'); this.editorMap.set('FILEUPLOADER_DEFAULT','app-mob-file-upload'); this.editorMap.set('MULTIFILEUPLOAD_DEFAULT','app-mob-file-upload'); this.editorMap.set('PICTURE_DEFAULT','app-mob-picture'); this.editorMap.set('PICTURELIST_DEFAULT','app-mob-picture'); } /** * 获取编辑器组件 * * @memberof AppComponentService */ public static getEditorComponents(editorType: string, editorStyle: string) { let componentName = editorStyle ? this.editorMap.get(`${editorType}_${editorStyle}`) : this.editorMap.get(`${editorType}_DEFAULT`); return componentName || 'app-not-supported-editor'; } }