import { default as VueImport } from 'vue'; import 'ionicons'; import { DesignContainer, DesignTabs, PropertyFormContainer, DesignGroup, DesignItem, DesignPage, DesignDefaultContent, DesignPageContent, DesignOther, DesignTabPanel, DesignTabPanelContent, DesignContent, DesignStructureTree, DesignItemContent, DesignViewToolBar, DesignViewWrapper, DesignPreviewContent, DesignGridContainer, DesignScrollContainer, DesignScrollContainerItem, } from './components'; import { DynamicDesignView, DynamicDesignPropertyView } from './pages'; import MultiNumberEditor from './components/multi-number-editor/multi-number-editor.vue'; import AppTripleSwitch from './components/app-triple-switch/app-triple-switch.vue'; import VueDraggable from 'vuedraggable'; import { Button, Popconfirm, Icon, Input, Collapse, Radio, Select, DatePicker, Checkbox, Spin, Tree, InputNumber, Table, Menu, Dropdown, Modal, Tabs, Form, List, Card, Tooltip, Cascader, Switch } from 'ant-design-vue'; import { IconCardPreview, MemoForm, TripleSwitch, UpdateEntitynamePicker } from './widgets'; import { DefaultSelect, NoteEditor } from './plugins'; import 'ant-design-vue/dist/antd.css'; import { AppComponentService } from '@ibizstudio-ex/template-vue'; export default { install(vue: typeof VueImport) { // Vue排除组件 vue.config.ignoredElements.push(/^ibz-/); // 安装antd组件 vue.use(Button); vue.use(Popconfirm); vue.use(Icon); vue.use(Input); vue.use(Collapse); vue.use(Radio); vue.use(Select); vue.use(DatePicker); vue.use(Checkbox); vue.use(Spin); vue.use(Tree); vue.use(InputNumber); vue.use(Table); vue.use(Menu); vue.use(Dropdown); vue.use(Modal); vue.use(Tabs); vue.use(Form); vue.use(List); vue.use(Card); vue.use(Tooltip); vue.use(Cascader); vue.use(Switch); // 页面 vue.component('dynamic-design-view', DynamicDesignView); vue.component('dynamic-design-property-view', DynamicDesignPropertyView); // 组件 vue.component('draggable', VueDraggable); vue.component('design-container', DesignContainer); vue.component('design-view-wrapper', DesignViewWrapper); vue.component('property-form-container', PropertyFormContainer); vue.component('design-tabs', DesignTabs); vue.component('ibz-design-default-content', DesignDefaultContent); vue.component('ibz-design-structure-tree', DesignStructureTree); vue.component('ibz-design-group', DesignGroup); vue.component('ibz-design-content', DesignContent); vue.component('ibz-design-item', DesignItem); vue.component('ibz-design-page', DesignPage); vue.component('ibz-design-page-content', DesignPageContent); vue.component('ibz-design-other', DesignOther); vue.component('ibz-design-tab-panel', DesignTabPanel); vue.component('ibz-design-tab-panel-content', DesignTabPanelContent); vue.component('ibz-design-item-content', DesignItemContent); vue.component('design-view-toolbar', DesignViewToolBar); vue.component('design-preview-content', DesignPreviewContent); vue.component('multi-number-editor', MultiNumberEditor); vue.component('app-triple-switch', AppTripleSwitch); vue.component('ibz-design-scroll-container', DesignScrollContainer); vue.component('design-scroll-container-item', DesignScrollContainerItem); vue.component('ibz-design-grid-container', DesignGridContainer); // 注册平台定义的插件部件 vue.component('app-custom-memo-form', MemoForm); vue.component('app-textarea-note-editor', NoteEditor); vue.component('app-switch-triple-switch', TripleSwitch); vue.component('app-dataview-render-icon-card-preview', IconCardPreview); vue.component('app-pickupview-update-entityname-picker', UpdateEntitynamePicker); vue.component('app-custom-default-select', DefaultSelect); // 注册平台定义的插件视图 vue.component('app-view-custom-material-content-property', DynamicDesignView); vue.component('app-view-custom-design-property-view', DynamicDesignPropertyView); AppComponentService.hooks.control_register.tap((map) => { map.set("CUSTOM_DefaultSelect", 'app-custom-default-select'); }); }, }; // 导出 export * from './interface'; export * from './controller'; export * from './components'; export * from './decorators'; export * from './utils'; export * from './entities'; export * from './plugins'; export * from './widgets'; export * from './service';