import { VueConstructor } from 'vue' import EtChart from './EtChart/index' import EtEllipsisText from './EtEllipsisText/index' import EtInput from './EtInput/index' import EtOption from './EtOption/index' import EtOptionGroup from './EtOptionGroup/index' import EtPagination from './EtPagination/index' import EtQrcode from './EtQrcode/index' import EtSelect from './EtSelect/index' import EtTable from './EtTable/index' import EtTableColumn from './EtTableColumn/index' import EtTypedDatePicker from './EtTypedDatePicker/index' import EtMessage from './EtMessage/index' import { AxiosStatic } from 'axios' const components = [EtChart, EtEllipsisText, EtInput, EtOption, EtOptionGroup, EtPagination, EtQrcode, EtSelect, EtTable, EtTableColumn, EtTypedDatePicker] type Options = { axios?: AxiosStatic } const install = function (Vue: VueConstructor, options: Options = {}) { components.forEach((component) => { (component as any).options && Vue.component((component as any).options.name, component) }) Vue.prototype.$ElementMarket = { axios: options.axios, } Vue.prototype.$message = EtMessage } if (typeof window !== 'undefined' && window.Vue) { install(window.Vue) } export { EtChart, EtEllipsisText, EtInput, EtOption, EtOptionGroup, EtPagination, EtQrcode, EtSelect, EtTable, EtTableColumn, EtTypedDatePicker, EtMessage } export default { install, }