You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.8 KiB
49 lines
1.8 KiB
import Vue, { VueConstructor } from 'vue'
|
|
import { VxeUI } from '../ui'
|
|
import VxeTableComponent from './src/table'
|
|
import './render'
|
|
|
|
let isReg = false
|
|
|
|
export const VxeTable = Object.assign({}, VxeTableComponent, {
|
|
install (app: VueConstructor) {
|
|
if (typeof window !== 'undefined') {
|
|
if ((window as any).VxeTableExtendCellArea && (window as any).VxeTableExtendCellArea.use) {
|
|
(window as any).VxeTableExtendCellArea.use(VxeUI)
|
|
} else if ((window as any).VXETableMixin) {
|
|
VxeTableComponent.mixins.push((window as any).VXETableMixin)
|
|
delete (window as any).VXETableMixin
|
|
}
|
|
if ((window as any).VxeTableExtendPivotTable && (window as any).VxeTableExtendPivotTable.use) {
|
|
(window as any).VxeTableExtendPivotTable.use(VxeUI)
|
|
}
|
|
}
|
|
// 兼容老版本
|
|
if (typeof window !== 'undefined' && (window as any).VxeTableExtendCellArea && (window as any).VxeTableExtendCellArea.init) {
|
|
(window as any).VxeTableExtendCellArea.init(VxeUI)
|
|
delete (window as any).VxeTableExtendCellArea
|
|
delete (window as any).VXETablePro
|
|
} else if (typeof window !== 'undefined' && (window as any).VXETablePro && (window as any).VXETablePro.init) {
|
|
(window as any).VXETablePro.init(VxeUI)
|
|
delete (window as any).VXETablePro
|
|
}
|
|
if (!Vue.prototype.$vxe) {
|
|
Vue.prototype.$vxe = { t: VxeUI.t, _t: VxeUI._t }
|
|
} else {
|
|
Vue.prototype.$vxe.t = VxeUI.t
|
|
Vue.prototype.$vxe._t = VxeUI._t
|
|
}
|
|
if (!isReg) {
|
|
isReg = true
|
|
if (VxeUI.dynamicApp) {
|
|
VxeUI.dynamicApp.component(VxeTableComponent.name as string, VxeTableComponent)
|
|
}
|
|
}
|
|
app.component(VxeTableComponent.name as string, VxeTableComponent)
|
|
}
|
|
})
|
|
|
|
VxeUI.component(VxeTableComponent)
|
|
|
|
export const Table = VxeTable
|
|
export default VxeTable
|
|
|