@vxe-ui/core 0.0.1 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/README.md +1 -1
  2. package/README.zh-TW.md +1 -1
  3. package/es/index.esm.js +4 -6
  4. package/es/src/commands.js +3 -3
  5. package/es/src/core.js +49 -14
  6. package/es/src/event.js +38 -19
  7. package/es/src/formats.js +3 -3
  8. package/es/src/globalStore.js +2 -3
  9. package/es/src/i18n.js +3 -5
  10. package/es/src/i18nStore.js +4 -0
  11. package/es/src/iconStore.js +1 -2
  12. package/es/src/interceptor.js +2 -2
  13. package/es/src/log.js +8 -8
  14. package/es/src/menus.js +3 -3
  15. package/es/src/renderer.js +2 -2
  16. package/es/src/resize.js +9 -7
  17. package/es/src/store.js +2 -2
  18. package/es/src/themeStore.js +3 -0
  19. package/lib/index.common.js +2 -4
  20. package/lib/index.umd.js +326 -99
  21. package/lib/index.umd.min.js +1 -1
  22. package/lib/src/commands.js +2 -2
  23. package/lib/src/commands.min.js +1 -1
  24. package/lib/src/core.js +105 -22
  25. package/lib/src/core.min.js +1 -1
  26. package/lib/src/event.js +41 -23
  27. package/lib/src/event.min.js +1 -1
  28. package/lib/src/formats.js +2 -2
  29. package/lib/src/formats.min.js +1 -1
  30. package/lib/src/globalStore.js +4 -5
  31. package/lib/src/globalStore.min.js +1 -1
  32. package/lib/src/i18n.js +3 -5
  33. package/lib/src/i18n.min.js +1 -1
  34. package/lib/src/i18nStore.js +10 -0
  35. package/lib/src/i18nStore.min.js +1 -0
  36. package/lib/src/iconStore.js +2 -3
  37. package/lib/src/iconStore.min.js +1 -1
  38. package/lib/src/interceptor.js +1 -1
  39. package/lib/src/interceptor.min.js +1 -1
  40. package/lib/src/log.js +9 -11
  41. package/lib/src/log.min.js +1 -1
  42. package/lib/src/menus.js +2 -2
  43. package/lib/src/menus.min.js +1 -1
  44. package/lib/src/renderer.js +1 -1
  45. package/lib/src/renderer.min.js +1 -1
  46. package/lib/src/resize.js +10 -10
  47. package/lib/src/resize.min.js +1 -1
  48. package/lib/src/store.js +1 -1
  49. package/lib/src/store.min.js +1 -1
  50. package/lib/src/themeStore.js +9 -0
  51. package/lib/src/themeStore.min.js +1 -0
  52. package/package.json +2 -2
  53. package/packages/index.ts +4 -6
  54. package/packages/src/commands.ts +6 -6
  55. package/packages/src/core.ts +61 -18
  56. package/packages/src/event.ts +40 -23
  57. package/packages/src/formats.ts +6 -6
  58. package/packages/src/globalStore.ts +2 -4
  59. package/packages/src/i18n.ts +3 -5
  60. package/packages/src/i18nStore.ts +9 -0
  61. package/packages/src/iconStore.ts +1 -3
  62. package/packages/src/interceptor.ts +3 -3
  63. package/packages/src/log.ts +9 -8
  64. package/packages/src/menus.ts +6 -6
  65. package/packages/src/renderer.ts +5 -5
  66. package/packages/src/resize.ts +10 -6
  67. package/packages/src/store.ts +3 -3
  68. package/packages/src/themeStore.ts +7 -0
  69. package/packages/src/validators.ts +1 -1
  70. package/types/core/global-config.d.ts +3 -3
  71. package/types/core/global-event.d.ts +28 -0
  72. package/types/core/global-icon.d.ts +3 -1
  73. package/types/core/global-lang.d.ts +1 -0
  74. package/types/core/global-resize.d.ts +3 -0
  75. package/types/core/global-theme.d.ts +1 -0
  76. package/types/core/index.d.ts +63 -10
  77. package/types/core/log.d.ts +8 -0
  78. package/types/core/renderer.d.ts +5 -16
  79. package/types/index.d.ts +2 -2
  80. package/types/tool/common.d.ts +18 -8
  81. package/es/src/theme.js +0 -10
  82. package/lib/src/theme.js +0 -17
  83. package/lib/src/theme.min.js +0 -1
  84. package/packages/src/theme.ts +0 -13
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  Vxe UI 核心库.
6
6
 
7
- ## 安装
7
+ ## 使用
8
8
 
9
9
  ```shell
10
10
  npm install @vxe-ui/core
package/README.zh-TW.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  Vxe UI core library.
6
6
 
7
- ## Use
7
+ ## 使用
8
8
 
9
9
  ```shell
10
10
  npm install @vxe-ui/core
package/es/index.esm.js CHANGED
@@ -1,9 +1,7 @@
1
- import VxeCore, { setConfig } from './src/core';
2
- import XEUtils from 'xe-utils';
1
+ import VxeUI, { setI18n, setTheme } from './src/core';
3
2
  import zhCN from './language/zh-CN';
4
3
  // 默认中文
5
- setConfig({
6
- i18n: (key, args) => XEUtils.toFormatString(XEUtils.get(zhCN, key), args)
7
- });
4
+ setI18n('zh-CN', zhCN);
5
+ setTheme('default');
8
6
  export * from './src/core';
9
- export default VxeCore;
7
+ export default VxeUI;
@@ -1,5 +1,5 @@
1
1
  import XEUtils from 'xe-utils';
2
- import { warnLog } from './log';
2
+ import { log } from './log';
3
3
  class VXECommandsStore {
4
4
  constructor() {
5
5
  Object.defineProperty(this, "store", {
@@ -26,7 +26,7 @@ class VXECommandsStore {
26
26
  // 兼容
27
27
  if (XEUtils.isFunction(render)) {
28
28
  if (process.env.NODE_ENV === 'development') {
29
- warnLog('vxe.error.delProp', ['commands -> callback', 'commandMethod']);
29
+ log.warn('vxe.error.delProp', ['commands -> callback', 'commandMethod']);
30
30
  }
31
31
  render = {
32
32
  commandMethod: render
@@ -37,7 +37,7 @@ class VXECommandsStore {
37
37
  const confKeys = XEUtils.keys(conf);
38
38
  XEUtils.each(render, (item, key) => {
39
39
  if (confKeys.includes(key)) {
40
- warnLog('vxe.error.coverProp', [name, key]);
40
+ log.warn('vxe.error.coverProp', [name, key]);
41
41
  }
42
42
  });
43
43
  }
package/es/src/core.js CHANGED
@@ -1,8 +1,11 @@
1
1
  import XEUtils from 'xe-utils';
2
2
  import DomZIndex from 'dom-zindex';
3
- import globalConfigStore from './globalStore';
4
- import iconConfigStore from './iconStore';
5
- import setTheme from './theme';
3
+ import { globalConfigStore } from './globalStore';
4
+ import { iconConfigStore } from './iconStore';
5
+ import { themeConfigStore } from './themeStore';
6
+ import { i18nConfigStore } from './i18nStore';
7
+ import { globalEvents } from './event';
8
+ import { globalResize } from './resize';
6
9
  import { getI18n } from './i18n';
7
10
  import { renderer } from './renderer';
8
11
  import { validators } from './validators';
@@ -11,21 +14,42 @@ import { formats } from './formats';
11
14
  import { commands } from './commands';
12
15
  import { interceptor } from './interceptor';
13
16
  import { clipboard } from './clipboard';
17
+ import { log } from './log';
14
18
  import { hooks } from './hooks';
19
+ export function setTheme(name) {
20
+ const theme = name || 'default';
21
+ themeConfigStore.theme = theme;
22
+ if (typeof document !== 'undefined') {
23
+ const documentElement = document.documentElement;
24
+ if (documentElement) {
25
+ documentElement.setAttribute('data-vxe-theme', theme);
26
+ }
27
+ }
28
+ return VxeUI;
29
+ }
30
+ export function getTheme() {
31
+ return themeConfigStore.theme;
32
+ }
33
+ export function setLanguage(locale) {
34
+ i18nConfigStore.language = locale;
35
+ return VxeUI;
36
+ }
37
+ export function setI18n(locale, data) {
38
+ i18nConfigStore.language = locale;
39
+ i18nConfigStore.langMaps[i18nConfigStore.language] = data || {};
40
+ return VxeUI;
41
+ }
15
42
  /**
16
43
  * 全局参数设置
17
44
  */
18
45
  export function setConfig(options) {
19
46
  if (options) {
20
- if (options.theme) {
21
- setTheme(options);
22
- }
23
47
  if (options.zIndex) {
24
48
  DomZIndex.setCurrent(options.zIndex);
25
49
  }
26
50
  XEUtils.merge(globalConfigStore, options);
27
51
  }
28
- return VxeCore;
52
+ return VxeUI;
29
53
  }
30
54
  /**
31
55
  * 获取全局参数
@@ -37,19 +61,25 @@ export function setIcon(options) {
37
61
  if (options) {
38
62
  Object.assign(iconConfigStore, options);
39
63
  }
40
- return VxeCore;
64
+ return VxeUI;
41
65
  }
42
66
  export function getIcon(key) {
43
67
  return arguments.length ? XEUtils.get(iconConfigStore, key) : iconConfigStore;
44
68
  }
45
- export const version = "0.0.1";
46
- const VxeCore = {
47
- version,
69
+ export const coreVersion = "0.1.1";
70
+ export const VxeUI = {
71
+ coreVersion,
72
+ setTheme,
73
+ getTheme,
48
74
  setConfig,
49
- getConfig,
75
+ getConfig: getConfig,
50
76
  setIcon,
51
- getIcon,
77
+ getIcon: getIcon,
78
+ setLanguage,
79
+ setI18n,
52
80
  getI18n,
81
+ globalEvents,
82
+ globalResize,
53
83
  renderer,
54
84
  validators,
55
85
  menus,
@@ -57,9 +87,12 @@ const VxeCore = {
57
87
  commands,
58
88
  interceptor,
59
89
  clipboard,
90
+ log,
60
91
  hooks
61
92
  };
62
93
  setTheme();
94
+ export * from './event';
95
+ export * from './resize';
63
96
  export * from './i18n';
64
97
  export * from './renderer';
65
98
  export * from './validators';
@@ -67,5 +100,7 @@ export * from './menus';
67
100
  export * from './formats';
68
101
  export * from './commands';
69
102
  export * from './interceptor';
103
+ export * from './clipboard';
104
+ export * from './log';
70
105
  export * from './hooks';
71
- export default VxeCore;
106
+ export default VxeUI;
package/es/src/event.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import XEUtils from 'xe-utils';
2
- export const EVENT_KEYS = {
2
+ export const GLOBAL_EVENT_KEYS = {
3
3
  F2: 'F2',
4
4
  ESCAPE: 'Escape',
5
5
  ENTER: 'Enter',
@@ -18,21 +18,16 @@ export const EVENT_KEYS = {
18
18
  const browse = XEUtils.browse();
19
19
  const convertEventKeys = {
20
20
  ' ': 'Spacebar',
21
- Apps: EVENT_KEYS.CONTEXT_MENU,
22
- Del: EVENT_KEYS.DELETE,
23
- Up: EVENT_KEYS.ARROW_UP,
24
- Down: EVENT_KEYS.ARROW_DOWN,
25
- Left: EVENT_KEYS.ARROW_LEFT,
26
- Right: EVENT_KEYS.ARROW_RIGHT
21
+ Apps: GLOBAL_EVENT_KEYS.CONTEXT_MENU,
22
+ Del: GLOBAL_EVENT_KEYS.DELETE,
23
+ Up: GLOBAL_EVENT_KEYS.ARROW_UP,
24
+ Down: GLOBAL_EVENT_KEYS.ARROW_DOWN,
25
+ Left: GLOBAL_EVENT_KEYS.ARROW_LEFT,
26
+ Right: GLOBAL_EVENT_KEYS.ARROW_RIGHT
27
27
  };
28
28
  // 监听全局事件
29
29
  const wheelName = browse.firefox ? 'DOMMouseScroll' : 'mousewheel';
30
30
  const eventStore = [];
31
- export const hasEventKey = (evnt, targetKey) => {
32
- const { key } = evnt;
33
- targetKey = targetKey.toLowerCase();
34
- return key ? (targetKey === key.toLowerCase() || !!(convertEventKeys[key] && convertEventKeys[key].toLowerCase() === targetKey)) : false;
35
- };
36
31
  function triggerEvent(evnt) {
37
32
  const isWheel = evnt.type === wheelName;
38
33
  eventStore.forEach(({ type, cb }) => {
@@ -44,22 +39,46 @@ function triggerEvent(evnt) {
44
39
  }
45
40
  });
46
41
  }
47
- export const GlobalEvent = {
42
+ export const globalEvents = {
48
43
  on(comp, type, cb) {
49
44
  eventStore.push({ comp, type, cb });
50
45
  },
51
46
  off(comp, type) {
52
47
  XEUtils.remove(eventStore, item => item.comp === comp && item.type === type);
53
48
  },
54
- trigger: triggerEvent,
55
- eqKeypad(evnt, keyVal) {
49
+ hasKey(evnt, targetKey) {
56
50
  const { key } = evnt;
57
- if (keyVal.toLowerCase() === key.toLowerCase()) {
58
- return true;
59
- }
60
- return false;
51
+ targetKey = targetKey.toLowerCase();
52
+ return key ? (targetKey === key.toLowerCase() || !!(convertEventKeys[key] && convertEventKeys[key].toLowerCase() === targetKey)) : false;
61
53
  }
62
54
  };
55
+ class VxeComponentEvent {
56
+ constructor(evnt, params1, params2) {
57
+ Object.defineProperty(this, "$event", {
58
+ enumerable: true,
59
+ configurable: true,
60
+ writable: true,
61
+ value: void 0
62
+ });
63
+ this.$event = evnt;
64
+ Object.assign(this, params1, params2);
65
+ }
66
+ stopPropagation() {
67
+ const evnt = this.$event;
68
+ if (evnt) {
69
+ evnt.stopPropagation();
70
+ }
71
+ }
72
+ preventDefault() {
73
+ const evnt = this.$event;
74
+ if (evnt) {
75
+ evnt.preventDefault();
76
+ }
77
+ }
78
+ }
79
+ export function createEvent(evnt, params1, params2) {
80
+ return new VxeComponentEvent(evnt, params1, params2);
81
+ }
63
82
  if (browse.isDoc) {
64
83
  if (!browse.msie) {
65
84
  window.addEventListener('copy', triggerEvent, false);
package/es/src/formats.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import XEUtils from 'xe-utils';
2
- import { warnLog } from './log';
2
+ import { log } from './log';
3
3
  class VXEFormatsStore {
4
4
  constructor() {
5
5
  Object.defineProperty(this, "store", {
@@ -26,7 +26,7 @@ class VXEFormatsStore {
26
26
  // 兼容
27
27
  if (XEUtils.isFunction(render)) {
28
28
  if (process.env.NODE_ENV === 'development') {
29
- warnLog('vxe.error.delProp', ['formats -> callback', 'cellFormatMethod']);
29
+ log.warn('vxe.error.delProp', ['formats -> callback', 'cellFormatMethod']);
30
30
  }
31
31
  render = {
32
32
  cellFormatMethod: render
@@ -37,7 +37,7 @@ class VXEFormatsStore {
37
37
  const confKeys = XEUtils.keys(conf);
38
38
  XEUtils.each(render, (item, key) => {
39
39
  if (confKeys.includes(key)) {
40
- warnLog('vxe.error.coverProp', [name, key]);
40
+ log.warn('vxe.error.coverProp', [name, key]);
41
41
  }
42
42
  });
43
43
  }
@@ -1,9 +1,8 @@
1
- const globalConfigStore = {
1
+ export const globalConfigStore = {
2
+ authId: '',
2
3
  size: '',
3
- theme: '',
4
4
  version: 1,
5
5
  zIndex: 999,
6
6
  resizeInterval: 500,
7
7
  i18n: (key) => key
8
8
  };
9
- export default globalConfigStore;
package/es/src/i18n.js CHANGED
@@ -1,7 +1,5 @@
1
- import globalConfigStore from './globalStore';
1
+ import XEUtils from 'xe-utils';
2
+ import { i18nConfigStore } from './i18nStore';
2
3
  export function getI18n(key, args) {
3
- if (globalConfigStore.i18n) {
4
- return globalConfigStore.i18n(key, args);
5
- }
6
- return key;
4
+ return XEUtils.toFormatString(XEUtils.get(i18nConfigStore.langMaps[i18nConfigStore.language], key), args);
7
5
  }
@@ -0,0 +1,4 @@
1
+ export const i18nConfigStore = {
2
+ language: '',
3
+ langMaps: {}
4
+ };
@@ -1,2 +1 @@
1
- const iconConfigStore = {};
2
- export default iconConfigStore;
1
+ export const iconConfigStore = {};
@@ -1,5 +1,5 @@
1
1
  import XEUtils from 'xe-utils';
2
- import { warnLog } from './log';
2
+ import { log } from './log';
3
3
  const storeMap = {};
4
4
  export const interceptor = {
5
5
  mixin(options) {
@@ -20,7 +20,7 @@ export const interceptor = {
20
20
  // 检测重复
21
21
  if (process.env.NODE_ENV === 'development') {
22
22
  if (eList.indexOf(callback) > -1) {
23
- warnLog('vxe.error.coverProp', ['Interceptor', type]);
23
+ log.warn('vxe.error.coverProp', ['Interceptor', type]);
24
24
  }
25
25
  }
26
26
  eList.push(callback);
package/es/src/log.js CHANGED
@@ -1,13 +1,13 @@
1
1
  import { getI18n } from './i18n';
2
- export function getLog(message, params) {
3
- return `[vxe-table v${"0.0.1"}] ${getI18n(message, params)}`;
4
- }
5
- function outLog(type) {
6
- return function (message, params) {
7
- const msg = getLog(message, params);
2
+ function createLog(type, name) {
3
+ return function (key, args) {
4
+ const msg = `[${name || 'vxe'} v${"0.1.1"}] ${getI18n(key, args)}`;
8
5
  console[type](msg);
9
6
  return msg;
10
7
  };
11
8
  }
12
- export const warnLog = outLog('warn');
13
- export const errLog = outLog('error');
9
+ export const log = {
10
+ create: createLog,
11
+ warn: createLog('warn'),
12
+ err: createLog('error')
13
+ };
package/es/src/menus.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import XEUtils from 'xe-utils';
2
- import { warnLog } from './log';
2
+ import { log } from './log';
3
3
  class VXEMenusStore {
4
4
  constructor() {
5
5
  Object.defineProperty(this, "store", {
@@ -26,7 +26,7 @@ class VXEMenusStore {
26
26
  // 兼容
27
27
  if (XEUtils.isFunction(render)) {
28
28
  if (process.env.NODE_ENV === 'development') {
29
- warnLog('vxe.error.delProp', ['menus -> callback', 'menuMethod']);
29
+ log.warn('vxe.error.delProp', ['menus -> callback', 'menuMethod']);
30
30
  }
31
31
  render = {
32
32
  menuMethod: render
@@ -37,7 +37,7 @@ class VXEMenusStore {
37
37
  const confKeys = XEUtils.keys(conf);
38
38
  XEUtils.each(render, (item, key) => {
39
39
  if (confKeys.includes(key)) {
40
- warnLog('vxe.error.coverProp', [name, key]);
40
+ log.warn('vxe.error.coverProp', [name, key]);
41
41
  }
42
42
  });
43
43
  }
@@ -1,5 +1,5 @@
1
1
  import XEUtils from 'xe-utils';
2
- import { warnLog } from './log';
2
+ import { log } from './log';
3
3
  /**
4
4
  * 内置的组件渲染
5
5
  */
@@ -23,7 +23,7 @@ export const renderer = {
23
23
  if (process.env.NODE_ENV === 'development') {
24
24
  XEUtils.each(options, (val, key) => {
25
25
  if (!XEUtils.eqNull(renders[key]) && renders[key] !== val) {
26
- warnLog('vxe.error.coverProp', [`Renderer.${name}`, key]);
26
+ log.warn('vxe.error.coverProp', [`Renderer.${name}`, key]);
27
27
  }
28
28
  });
29
29
  }
package/es/src/resize.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import XEUtils from 'xe-utils';
2
- import globalConfigStore from './globalStore';
2
+ import { globalConfigStore } from './globalStore';
3
3
  /**
4
4
  * 监听 resize 事件
5
5
  * 如果项目中已使用了 resize-observer-polyfill,那么只需要将方法定义全局,该组件就会自动使用
@@ -32,7 +32,7 @@ function eventListener() {
32
32
  clearTimeout(resizeTimeout);
33
33
  resizeTimeout = setTimeout(eventHandle, globalConfigStore.resizeInterval || defaultInterval);
34
34
  }
35
- export class XEResizeObserver {
35
+ class XEResizeObserver {
36
36
  constructor(callback) {
37
37
  Object.defineProperty(this, "tarList", {
38
38
  enumerable: true,
@@ -73,9 +73,11 @@ export class XEResizeObserver {
73
73
  XEUtils.remove(eventStore, item => item === this);
74
74
  }
75
75
  }
76
- export function createResizeEvent(callback) {
77
- if (window.ResizeObserver) {
78
- return new window.ResizeObserver(callback);
76
+ export const globalResize = {
77
+ create(callback) {
78
+ if (window.ResizeObserver) {
79
+ return new window.ResizeObserver(callback);
80
+ }
81
+ return new XEResizeObserver(callback);
79
82
  }
80
- return new XEResizeObserver(callback);
81
- }
83
+ };
package/es/src/store.js CHANGED
@@ -1,4 +1,4 @@
1
- import { warnLog } from './log';
1
+ import { log } from './log';
2
2
  import XEUtils from 'xe-utils';
3
3
  /**
4
4
  * 创建数据仓库
@@ -31,7 +31,7 @@ export class Store {
31
31
  const confKeys = XEUtils.keys(conf);
32
32
  XEUtils.each(options, (item, key) => {
33
33
  if (confKeys.includes(key)) {
34
- warnLog('vxe.error.coverProp', [name, key]);
34
+ log.warn('vxe.error.coverProp', [name, key]);
35
35
  }
36
36
  });
37
37
  }
@@ -0,0 +1,3 @@
1
+ export const themeConfigStore = {
2
+ theme: ''
3
+ };
@@ -17,13 +17,11 @@ Object.keys(_core).forEach(function (key) {
17
17
  }
18
18
  });
19
19
  });
20
- var _xeUtils = _interopRequireDefault(require("xe-utils"));
21
20
  var _zhCN = _interopRequireDefault(require("./language/zh-CN"));
22
21
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
22
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
24
23
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
25
24
  // 默认中文
26
- (0, _core.setConfig)({
27
- i18n: (key, args) => _xeUtils.default.toFormatString(_xeUtils.default.get(_zhCN.default, key), args)
28
- });
25
+ (0, _core.setI18n)('zh-CN', _zhCN.default);
26
+ (0, _core.setTheme)('default');
29
27
  var _default = exports.default = _core.default;