index.esm.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. import { VxeCore } from './src/core';
  2. import { setConfig, getConfig } from './src/config';
  3. import { globalStore } from './src/dataStore';
  4. import { setIcon, getIcon, renderGlobalIcon, renderCustomIcon } from './src/icon';
  5. import { setTheme, getTheme } from './src/theme';
  6. import { globalEvents, GLOBAL_EVENT_KEYS, createEvent } from './src/event';
  7. import { globalResize } from './src/resize';
  8. import { getI18n, setI18n, setLanguage, hasLanguage, getLanguage } from './src/i18n';
  9. import { renderer } from './src/renderer';
  10. import { validators } from './src/validators';
  11. import { menus } from './src/menus';
  12. import { formats } from './src/formats';
  13. import { commands } from './src/commands';
  14. import { interceptor } from './src/interceptor';
  15. import { clipboard } from './src/clipboard';
  16. import { permission } from './src/permission';
  17. import { log } from './src/log';
  18. import { globalMixins } from './src/mixins';
  19. import { getSlotVNs } from './src/vm';
  20. import XEUtils from 'xe-utils';
  21. const installedPlugins = [];
  22. export function use(Plugin, options) {
  23. if (Plugin && Plugin.install) {
  24. if (installedPlugins.indexOf(Plugin) === -1) {
  25. Plugin.install(VxeUI, options);
  26. installedPlugins.push(Plugin);
  27. }
  28. }
  29. return VxeUI;
  30. }
  31. const components = {};
  32. export function getComponent(name) {
  33. return components[name] || null;
  34. }
  35. export function component(comp) {
  36. if (comp && comp.name) {
  37. components[comp.name] = comp;
  38. components[XEUtils.kebabCase(comp.name)] = comp;
  39. }
  40. }
  41. export function hasComponent(name) {
  42. return !!components[name];
  43. }
  44. export function renderEmptyElement(_vm) {
  45. const { _e } = _vm;
  46. return _e();
  47. }
  48. export function checkVersion(version, pVersion, sVersion) {
  49. if (version) {
  50. const vRest = `${version}`.match(/(\d+).(\d+).(\d+)/);
  51. if (vRest) {
  52. const pV = XEUtils.toNumber(vRest[1]);
  53. if (sVersion) {
  54. const sV = XEUtils.toNumber(vRest[2]);
  55. return pV >= pVersion && sV >= sVersion;
  56. }
  57. return pV >= pVersion;
  58. }
  59. }
  60. return false;
  61. }
  62. export const VxeUI = Object.assign(VxeCore, {
  63. renderEmptyElement,
  64. setTheme,
  65. getTheme,
  66. setConfig,
  67. getConfig: getConfig,
  68. setIcon,
  69. getIcon: getIcon,
  70. renderGlobalIcon,
  71. renderCustomIcon,
  72. setLanguage,
  73. hasLanguage,
  74. getLanguage,
  75. setI18n,
  76. getI18n,
  77. globalEvents,
  78. GLOBAL_EVENT_KEYS,
  79. createEvent,
  80. globalResize,
  81. renderer,
  82. validators,
  83. menus,
  84. formats,
  85. commands,
  86. interceptor,
  87. clipboard,
  88. log,
  89. permission,
  90. globalStore,
  91. component,
  92. getComponent,
  93. hasComponent,
  94. globalMixins,
  95. getSlotVNs,
  96. checkVersion,
  97. use
  98. });
  99. setTheme();
  100. export * from './src/core';
  101. export * from './src/event';
  102. export * from './src/resize';
  103. export * from './src/config';
  104. export * from './src/i18n';
  105. export * from './src/icon';
  106. export * from './src/theme';
  107. export * from './src/renderer';
  108. export * from './src/validators';
  109. export * from './src/menus';
  110. export * from './src/formats';
  111. export * from './src/commands';
  112. export * from './src/interceptor';
  113. export * from './src/clipboard';
  114. export * from './src/permission';
  115. export * from './src/dataStore';
  116. export * from './src/mixins';
  117. export * from './src/vm';
  118. export * from './src/log';
  119. export default VxeUI;