index.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import Vue from 'vue';
  2. import { VxeUI } from '../ui';
  3. import VxeTableComponent from './src/table';
  4. import './render';
  5. let isReg = false;
  6. export const VxeTable = Object.assign({}, VxeTableComponent, {
  7. install(app) {
  8. if (typeof window !== 'undefined') {
  9. if (window.VxeTableExtendCellArea && window.VxeTableExtendCellArea.use) {
  10. window.VxeTableExtendCellArea.use(VxeUI);
  11. }
  12. else if (window.VXETableMixin) {
  13. VxeTableComponent.mixins.push(window.VXETableMixin);
  14. delete window.VXETableMixin;
  15. }
  16. if (window.VxeTableExtendPivotTable && window.VxeTableExtendPivotTable.use) {
  17. window.VxeTableExtendPivotTable.use(VxeUI);
  18. }
  19. }
  20. // 兼容老版本
  21. if (typeof window !== 'undefined' && window.VxeTableExtendCellArea && window.VxeTableExtendCellArea.init) {
  22. window.VxeTableExtendCellArea.init(VxeUI);
  23. delete window.VxeTableExtendCellArea;
  24. delete window.VXETablePro;
  25. }
  26. else if (typeof window !== 'undefined' && window.VXETablePro && window.VXETablePro.init) {
  27. window.VXETablePro.init(VxeUI);
  28. delete window.VXETablePro;
  29. }
  30. if (!Vue.prototype.$vxe) {
  31. Vue.prototype.$vxe = { t: VxeUI.t, _t: VxeUI._t };
  32. }
  33. else {
  34. Vue.prototype.$vxe.t = VxeUI.t;
  35. Vue.prototype.$vxe._t = VxeUI._t;
  36. }
  37. if (!isReg) {
  38. isReg = true;
  39. if (VxeUI.dynamicApp) {
  40. VxeUI.dynamicApp.component(VxeTableComponent.name, VxeTableComponent);
  41. }
  42. }
  43. app.component(VxeTableComponent.name, VxeTableComponent);
  44. }
  45. });
  46. VxeUI.component(VxeTableComponent);
  47. export const Table = VxeTable;
  48. export default VxeTable;