import Vue, { DirectiveOptions } from 'vue'; import MuTablePageTemplate from './components/tablePageTemplate'; import MuTreePageTemplate from './components/treePageTemplate'; import MuTabsPageTemplate from './components/tabsPageTemplate'; import MuTreeTablePageTemplate from './components/treeTablePageTemplate'; import MuSimpleFormPageTemplate from './components/simpleFormPageTemplate'; import MuTabsFormPageTemplate from './components/tabsFormPageTemplate'; import MuWizardPageTemplate from './components/wizardPageTemplate' import * as prototype from './common/tool'; import * as directives from './common/directives'; const components = { MuTablePageTemplate, MuTreePageTemplate, MuTabsPageTemplate, MuTreeTablePageTemplate, MuSimpleFormPageTemplate, MuTabsFormPageTemplate, MuWizardPageTemplate } const install = function(Vue: any, opts: any) { Object.keys(components).forEach(key => { Vue.component(key, (components as { [key: string]: Function })[key]); }); Object.keys(directives).forEach(key => { Vue.directive(key, (directives as { [key: string]: DirectiveOptions })[key]); }); Vue.prototype.$mu = prototype; } /* istanbul ignore if */ if (typeof window !== 'undefined' && window.Vue) { install(window.Vue); } export default { install, MuTablePageTemplate, MuTreePageTemplate, MuTabsPageTemplate, MuTreeTablePageTemplate, MuSimpleFormPageTemplate, MuTabsFormPageTemplate, MuWizardPageTemplate };