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.
48 lines
1.8 KiB
48 lines
1.8 KiB
import Vue from 'vue';
|
|
import { VxeUI } from '../ui';
|
|
import VxeTableComponent from './src/table';
|
|
import './render';
|
|
let isReg = false;
|
|
export const VxeTable = Object.assign({}, VxeTableComponent, {
|
|
install(app) {
|
|
if (typeof window !== 'undefined') {
|
|
if (window.VxeTableExtendCellArea && window.VxeTableExtendCellArea.use) {
|
|
window.VxeTableExtendCellArea.use(VxeUI);
|
|
}
|
|
else if (window.VXETableMixin) {
|
|
VxeTableComponent.mixins.push(window.VXETableMixin);
|
|
delete window.VXETableMixin;
|
|
}
|
|
if (window.VxeTableExtendPivotTable && window.VxeTableExtendPivotTable.use) {
|
|
window.VxeTableExtendPivotTable.use(VxeUI);
|
|
}
|
|
}
|
|
// 兼容老版本
|
|
if (typeof window !== 'undefined' && window.VxeTableExtendCellArea && window.VxeTableExtendCellArea.init) {
|
|
window.VxeTableExtendCellArea.init(VxeUI);
|
|
delete window.VxeTableExtendCellArea;
|
|
delete window.VXETablePro;
|
|
}
|
|
else if (typeof window !== 'undefined' && window.VXETablePro && window.VXETablePro.init) {
|
|
window.VXETablePro.init(VxeUI);
|
|
delete window.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, VxeTableComponent);
|
|
}
|
|
}
|
|
app.component(VxeTableComponent.name, VxeTableComponent);
|
|
}
|
|
});
|
|
VxeUI.component(VxeTableComponent);
|
|
export const Table = VxeTable;
|
|
export default VxeTable;
|
|
|