@vxe-ui/core 0.0.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.
- package/LICENSE +21 -0
- package/README.en.md +31 -0
- package/README.md +31 -0
- package/README.zh-TW.md +31 -0
- package/es/index.esm.js +9 -0
- package/es/language/en-US.d.ts +2 -0
- package/es/language/en-US.js +480 -0
- package/es/language/es-ES.d.ts +2 -0
- package/es/language/es-ES.js +480 -0
- package/es/language/ja-JP.d.ts +2 -0
- package/es/language/ja-JP.js +480 -0
- package/es/language/pt-BR.d.ts +2 -0
- package/es/language/pt-BR.js +480 -0
- package/es/language/zh-CN.d.ts +2 -0
- package/es/language/zh-CN.js +480 -0
- package/es/language/zh-HK.d.ts +2 -0
- package/es/language/zh-HK.js +2 -0
- package/es/language/zh-MO.d.ts +2 -0
- package/es/language/zh-MO.js +2 -0
- package/es/language/zh-TC.d.ts +2 -0
- package/es/language/zh-TC.js +480 -0
- package/es/language/zh-TW.d.ts +2 -0
- package/es/language/zh-TW.js +2 -0
- package/es/src/clipboard.js +35 -0
- package/es/src/commands.js +57 -0
- package/es/src/core.js +71 -0
- package/es/src/event.js +75 -0
- package/es/src/formats.js +57 -0
- package/es/src/globalStore.js +9 -0
- package/es/src/hooks.js +2 -0
- package/es/src/i18n.js +7 -0
- package/es/src/iconStore.js +2 -0
- package/es/src/interceptor.js +41 -0
- package/es/src/log.js +13 -0
- package/es/src/menus.js +57 -0
- package/es/src/renderer.js +46 -0
- package/es/src/resize.js +81 -0
- package/es/src/store.js +48 -0
- package/es/src/theme.js +10 -0
- package/es/src/validators.js +5 -0
- package/lib/index.common.js +29 -0
- package/lib/index.umd.js +2824 -0
- package/lib/index.umd.min.js +1 -0
- package/lib/language/en-US.d.ts +2 -0
- package/lib/language/en-US.js +486 -0
- package/lib/language/en-US.min.js +1 -0
- package/lib/language/en-US.umd.js +500 -0
- package/lib/language/es-ES.d.ts +2 -0
- package/lib/language/es-ES.js +486 -0
- package/lib/language/es-ES.min.js +1 -0
- package/lib/language/es-ES.umd.js +500 -0
- package/lib/language/ja-JP.d.ts +2 -0
- package/lib/language/ja-JP.js +486 -0
- package/lib/language/ja-JP.min.js +1 -0
- package/lib/language/ja-JP.umd.js +500 -0
- package/lib/language/pt-BR.d.ts +2 -0
- package/lib/language/pt-BR.js +486 -0
- package/lib/language/pt-BR.min.js +1 -0
- package/lib/language/pt-BR.umd.js +500 -0
- package/lib/language/zh-CN.d.ts +2 -0
- package/lib/language/zh-CN.js +486 -0
- package/lib/language/zh-CN.min.js +1 -0
- package/lib/language/zh-CN.umd.js +500 -0
- package/lib/language/zh-HK.d.ts +2 -0
- package/lib/language/zh-HK.js +9 -0
- package/lib/language/zh-HK.min.js +1 -0
- package/lib/language/zh-HK.umd.js +500 -0
- package/lib/language/zh-MO.d.ts +2 -0
- package/lib/language/zh-MO.js +9 -0
- package/lib/language/zh-MO.min.js +1 -0
- package/lib/language/zh-MO.umd.js +500 -0
- package/lib/language/zh-TC.d.ts +2 -0
- package/lib/language/zh-TC.js +486 -0
- package/lib/language/zh-TC.min.js +1 -0
- package/lib/language/zh-TC.umd.js +500 -0
- package/lib/language/zh-TW.d.ts +2 -0
- package/lib/language/zh-TW.js +9 -0
- package/lib/language/zh-TW.min.js +1 -0
- package/lib/language/zh-TW.umd.js +500 -0
- package/lib/src/clipboard.js +40 -0
- package/lib/src/clipboard.min.js +1 -0
- package/lib/src/commands.js +66 -0
- package/lib/src/commands.min.js +1 -0
- package/lib/src/core.js +170 -0
- package/lib/src/core.min.js +1 -0
- package/lib/src/event.js +100 -0
- package/lib/src/event.min.js +1 -0
- package/lib/src/formats.js +66 -0
- package/lib/src/formats.min.js +1 -0
- package/lib/src/globalStore.js +15 -0
- package/lib/src/globalStore.min.js +1 -0
- package/lib/src/hooks.js +9 -0
- package/lib/src/hooks.min.js +1 -0
- package/lib/src/i18n.js +14 -0
- package/lib/src/i18n.min.js +1 -0
- package/lib/src/iconStore.js +8 -0
- package/lib/src/iconStore.min.js +1 -0
- package/lib/src/interceptor.js +47 -0
- package/lib/src/interceptor.min.js +1 -0
- package/lib/src/log.js +21 -0
- package/lib/src/log.min.js +1 -0
- package/lib/src/menus.js +66 -0
- package/lib/src/menus.min.js +1 -0
- package/lib/src/renderer.js +52 -0
- package/lib/src/renderer.min.js +1 -0
- package/lib/src/resize.js +96 -0
- package/lib/src/resize.min.js +1 -0
- package/lib/src/store.js +56 -0
- package/lib/src/store.min.js +1 -0
- package/lib/src/theme.js +17 -0
- package/lib/src/theme.min.js +1 -0
- package/lib/src/validators.js +14 -0
- package/lib/src/validators.min.js +1 -0
- package/package.json +75 -0
- package/packages/index.ts +11 -0
- package/packages/language/en-US.ts +482 -0
- package/packages/language/es-ES.ts +482 -0
- package/packages/language/ja-JP.ts +482 -0
- package/packages/language/pt-BR.ts +482 -0
- package/packages/language/zh-CN.ts +482 -0
- package/packages/language/zh-HK.ts +3 -0
- package/packages/language/zh-MO.ts +3 -0
- package/packages/language/zh-TC.ts +482 -0
- package/packages/language/zh-TW.ts +3 -0
- package/packages/src/clipboard.ts +38 -0
- package/packages/src/commands.ts +62 -0
- package/packages/src/core.ts +83 -0
- package/packages/src/event.ts +89 -0
- package/packages/src/formats.ts +62 -0
- package/packages/src/globalStore.ts +13 -0
- package/packages/src/hooks.ts +5 -0
- package/packages/src/i18n.ts +8 -0
- package/packages/src/iconStore.ts +5 -0
- package/packages/src/interceptor.ts +46 -0
- package/packages/src/log.ts +16 -0
- package/packages/src/menus.ts +62 -0
- package/packages/src/renderer.ts +50 -0
- package/packages/src/resize.ts +85 -0
- package/packages/src/store.ts +49 -0
- package/packages/src/theme.ts +13 -0
- package/packages/src/validators.ts +9 -0
- package/types/core/clipboard.d.ts +6 -0
- package/types/core/commands.d.ts +25 -0
- package/types/core/formats.d.ts +23 -0
- package/types/core/global-config.d.ts +14 -0
- package/types/core/global-icon.d.ts +4 -0
- package/types/core/hooks.d.ts +14 -0
- package/types/core/index.d.ts +115 -0
- package/types/core/interceptor.d.ts +18 -0
- package/types/core/menus.d.ts +25 -0
- package/types/core/renderer.d.ts +26 -0
- package/types/core/validators.d.ts +22 -0
- package/types/index.d.ts +10 -0
- package/types/tool/common.d.ts +61 -0
- package/types/tool/index.d.ts +2 -0
- package/types/tool/util.d.ts +4 -0
package/es/src/event.js
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import XEUtils from 'xe-utils';
|
|
2
|
+
export const EVENT_KEYS = {
|
|
3
|
+
F2: 'F2',
|
|
4
|
+
ESCAPE: 'Escape',
|
|
5
|
+
ENTER: 'Enter',
|
|
6
|
+
TAB: 'Tab',
|
|
7
|
+
DELETE: 'Delete',
|
|
8
|
+
BACKSPACE: 'Backspace',
|
|
9
|
+
SPACEBAR: ' ',
|
|
10
|
+
CONTEXT_MENU: 'ContextMenu',
|
|
11
|
+
ARROW_UP: 'ArrowUp',
|
|
12
|
+
ARROW_DOWN: 'ArrowDown',
|
|
13
|
+
ARROW_LEFT: 'ArrowLeft',
|
|
14
|
+
ARROW_RIGHT: 'ArrowRight',
|
|
15
|
+
PAGE_UP: 'PageUp',
|
|
16
|
+
PAGE_DOWN: 'PageDown'
|
|
17
|
+
};
|
|
18
|
+
const browse = XEUtils.browse();
|
|
19
|
+
const convertEventKeys = {
|
|
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
|
|
27
|
+
};
|
|
28
|
+
// 监听全局事件
|
|
29
|
+
const wheelName = browse.firefox ? 'DOMMouseScroll' : 'mousewheel';
|
|
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
|
+
function triggerEvent(evnt) {
|
|
37
|
+
const isWheel = evnt.type === wheelName;
|
|
38
|
+
eventStore.forEach(({ type, cb }) => {
|
|
39
|
+
// 如果被取消冒泡,不再执行
|
|
40
|
+
if (!evnt.cancelBubble) {
|
|
41
|
+
if (type === evnt.type || (isWheel && type === 'mousewheel')) {
|
|
42
|
+
cb(evnt);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
export const GlobalEvent = {
|
|
48
|
+
on(comp, type, cb) {
|
|
49
|
+
eventStore.push({ comp, type, cb });
|
|
50
|
+
},
|
|
51
|
+
off(comp, type) {
|
|
52
|
+
XEUtils.remove(eventStore, item => item.comp === comp && item.type === type);
|
|
53
|
+
},
|
|
54
|
+
trigger: triggerEvent,
|
|
55
|
+
eqKeypad(evnt, keyVal) {
|
|
56
|
+
const { key } = evnt;
|
|
57
|
+
if (keyVal.toLowerCase() === key.toLowerCase()) {
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
if (browse.isDoc) {
|
|
64
|
+
if (!browse.msie) {
|
|
65
|
+
window.addEventListener('copy', triggerEvent, false);
|
|
66
|
+
window.addEventListener('cut', triggerEvent, false);
|
|
67
|
+
window.addEventListener('paste', triggerEvent, false);
|
|
68
|
+
}
|
|
69
|
+
document.addEventListener('keydown', triggerEvent, false);
|
|
70
|
+
document.addEventListener('contextmenu', triggerEvent, false);
|
|
71
|
+
window.addEventListener('mousedown', triggerEvent, false);
|
|
72
|
+
window.addEventListener('blur', triggerEvent, false);
|
|
73
|
+
window.addEventListener('resize', triggerEvent, false);
|
|
74
|
+
window.addEventListener(wheelName, XEUtils.throttle(triggerEvent, 100, { leading: true, trailing: false }), { passive: true, capture: false });
|
|
75
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import XEUtils from 'xe-utils';
|
|
2
|
+
import { warnLog } from './log';
|
|
3
|
+
class VXEFormatsStore {
|
|
4
|
+
constructor() {
|
|
5
|
+
Object.defineProperty(this, "store", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
configurable: true,
|
|
8
|
+
writable: true,
|
|
9
|
+
value: {}
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
mixin(options) {
|
|
13
|
+
XEUtils.each(options, (item, key) => {
|
|
14
|
+
this.add(key, item);
|
|
15
|
+
});
|
|
16
|
+
return this;
|
|
17
|
+
}
|
|
18
|
+
has(name) {
|
|
19
|
+
return !!this.get(name);
|
|
20
|
+
}
|
|
21
|
+
get(name) {
|
|
22
|
+
return this.store[name];
|
|
23
|
+
}
|
|
24
|
+
add(name, render) {
|
|
25
|
+
const conf = this.store[name];
|
|
26
|
+
// 兼容
|
|
27
|
+
if (XEUtils.isFunction(render)) {
|
|
28
|
+
if (process.env.NODE_ENV === 'development') {
|
|
29
|
+
warnLog('vxe.error.delProp', ['formats -> callback', 'cellFormatMethod']);
|
|
30
|
+
}
|
|
31
|
+
render = {
|
|
32
|
+
cellFormatMethod: render
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
// 检测是否覆盖
|
|
36
|
+
if (process.env.NODE_ENV === 'development') {
|
|
37
|
+
const confKeys = XEUtils.keys(conf);
|
|
38
|
+
XEUtils.each(render, (item, key) => {
|
|
39
|
+
if (confKeys.includes(key)) {
|
|
40
|
+
warnLog('vxe.error.coverProp', [name, key]);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
this.store[name] = conf ? XEUtils.merge(conf, render) : render;
|
|
45
|
+
return this;
|
|
46
|
+
}
|
|
47
|
+
delete(name) {
|
|
48
|
+
delete this.store[name];
|
|
49
|
+
}
|
|
50
|
+
forEach(callback) {
|
|
51
|
+
XEUtils.objectEach(this.store, callback);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
export const formats = new VXEFormatsStore();
|
|
55
|
+
if (process.env.NODE_ENV === 'development') {
|
|
56
|
+
Object.assign(formats, { _name: 'Formats' });
|
|
57
|
+
}
|
package/es/src/hooks.js
ADDED
package/es/src/i18n.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import XEUtils from 'xe-utils';
|
|
2
|
+
import { warnLog } from './log';
|
|
3
|
+
const storeMap = {};
|
|
4
|
+
export const interceptor = {
|
|
5
|
+
mixin(options) {
|
|
6
|
+
XEUtils.each(options, (callback, type) => {
|
|
7
|
+
interceptor.add(type, callback);
|
|
8
|
+
});
|
|
9
|
+
return interceptor;
|
|
10
|
+
},
|
|
11
|
+
get(type) {
|
|
12
|
+
return storeMap[type] || [];
|
|
13
|
+
},
|
|
14
|
+
add(type, callback) {
|
|
15
|
+
if (callback) {
|
|
16
|
+
let eList = storeMap[type];
|
|
17
|
+
if (!eList) {
|
|
18
|
+
eList = storeMap[type] = [];
|
|
19
|
+
}
|
|
20
|
+
// 检测重复
|
|
21
|
+
if (process.env.NODE_ENV === 'development') {
|
|
22
|
+
if (eList.indexOf(callback) > -1) {
|
|
23
|
+
warnLog('vxe.error.coverProp', ['Interceptor', type]);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
eList.push(callback);
|
|
27
|
+
}
|
|
28
|
+
return interceptor;
|
|
29
|
+
},
|
|
30
|
+
delete(type, callback) {
|
|
31
|
+
const eList = storeMap[type];
|
|
32
|
+
if (eList) {
|
|
33
|
+
if (callback) {
|
|
34
|
+
XEUtils.remove(eList, fn => fn === callback);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
delete storeMap[type];
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
};
|
package/es/src/log.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
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);
|
|
8
|
+
console[type](msg);
|
|
9
|
+
return msg;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export const warnLog = outLog('warn');
|
|
13
|
+
export const errLog = outLog('error');
|
package/es/src/menus.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import XEUtils from 'xe-utils';
|
|
2
|
+
import { warnLog } from './log';
|
|
3
|
+
class VXEMenusStore {
|
|
4
|
+
constructor() {
|
|
5
|
+
Object.defineProperty(this, "store", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
configurable: true,
|
|
8
|
+
writable: true,
|
|
9
|
+
value: {}
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
mixin(options) {
|
|
13
|
+
XEUtils.each(options, (item, key) => {
|
|
14
|
+
this.add(key, item);
|
|
15
|
+
});
|
|
16
|
+
return this;
|
|
17
|
+
}
|
|
18
|
+
has(name) {
|
|
19
|
+
return !!this.get(name);
|
|
20
|
+
}
|
|
21
|
+
get(name) {
|
|
22
|
+
return this.store[name];
|
|
23
|
+
}
|
|
24
|
+
add(name, render) {
|
|
25
|
+
const conf = this.store[name];
|
|
26
|
+
// 兼容
|
|
27
|
+
if (XEUtils.isFunction(render)) {
|
|
28
|
+
if (process.env.NODE_ENV === 'development') {
|
|
29
|
+
warnLog('vxe.error.delProp', ['menus -> callback', 'menuMethod']);
|
|
30
|
+
}
|
|
31
|
+
render = {
|
|
32
|
+
menuMethod: render
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
// 检测是否覆盖
|
|
36
|
+
if (process.env.NODE_ENV === 'development') {
|
|
37
|
+
const confKeys = XEUtils.keys(conf);
|
|
38
|
+
XEUtils.each(render, (item, key) => {
|
|
39
|
+
if (confKeys.includes(key)) {
|
|
40
|
+
warnLog('vxe.error.coverProp', [name, key]);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
this.store[name] = conf ? XEUtils.merge(conf, render) : render;
|
|
45
|
+
return this;
|
|
46
|
+
}
|
|
47
|
+
delete(name) {
|
|
48
|
+
delete this.store[name];
|
|
49
|
+
}
|
|
50
|
+
forEach(callback) {
|
|
51
|
+
XEUtils.objectEach(this.store, callback);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
export const menus = new VXEMenusStore();
|
|
55
|
+
if (process.env.NODE_ENV === 'development') {
|
|
56
|
+
Object.assign(menus, { _name: 'Menus' });
|
|
57
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import XEUtils from 'xe-utils';
|
|
2
|
+
import { warnLog } from './log';
|
|
3
|
+
/**
|
|
4
|
+
* 内置的组件渲染
|
|
5
|
+
*/
|
|
6
|
+
const renderMap = {};
|
|
7
|
+
/**
|
|
8
|
+
* 全局渲染器
|
|
9
|
+
*/
|
|
10
|
+
export const renderer = {
|
|
11
|
+
mixin(opts) {
|
|
12
|
+
XEUtils.each(opts, (options, name) => renderer.add(name, options));
|
|
13
|
+
return renderer;
|
|
14
|
+
},
|
|
15
|
+
get(name) {
|
|
16
|
+
return renderMap[name] || null;
|
|
17
|
+
},
|
|
18
|
+
add(name, options) {
|
|
19
|
+
if (name && options) {
|
|
20
|
+
const renders = renderMap[name];
|
|
21
|
+
if (renders) {
|
|
22
|
+
// 检测是否覆盖
|
|
23
|
+
if (process.env.NODE_ENV === 'development') {
|
|
24
|
+
XEUtils.each(options, (val, key) => {
|
|
25
|
+
if (!XEUtils.eqNull(renders[key]) && renders[key] !== val) {
|
|
26
|
+
warnLog('vxe.error.coverProp', [`Renderer.${name}`, key]);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
Object.assign(renders, options);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
renderMap[name] = options;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return renderer;
|
|
37
|
+
},
|
|
38
|
+
forEach(callback) {
|
|
39
|
+
XEUtils.objectEach(renderMap, callback);
|
|
40
|
+
return renderer;
|
|
41
|
+
},
|
|
42
|
+
delete(name) {
|
|
43
|
+
delete renderMap[name];
|
|
44
|
+
return renderer;
|
|
45
|
+
}
|
|
46
|
+
};
|
package/es/src/resize.js
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import XEUtils from 'xe-utils';
|
|
2
|
+
import globalConfigStore from './globalStore';
|
|
3
|
+
/**
|
|
4
|
+
* 监听 resize 事件
|
|
5
|
+
* 如果项目中已使用了 resize-observer-polyfill,那么只需要将方法定义全局,该组件就会自动使用
|
|
6
|
+
*/
|
|
7
|
+
let resizeTimeout;
|
|
8
|
+
/* eslint-disable no-use-before-define */
|
|
9
|
+
const eventStore = [];
|
|
10
|
+
const defaultInterval = 500;
|
|
11
|
+
function eventHandle() {
|
|
12
|
+
if (eventStore.length) {
|
|
13
|
+
eventStore.forEach((item) => {
|
|
14
|
+
item.tarList.forEach((observer) => {
|
|
15
|
+
const { target, width, heighe } = observer;
|
|
16
|
+
const clientWidth = target.clientWidth;
|
|
17
|
+
const clientHeight = target.clientHeight;
|
|
18
|
+
const rWidth = clientWidth && width !== clientWidth;
|
|
19
|
+
const rHeight = clientHeight && heighe !== clientHeight;
|
|
20
|
+
if (rWidth || rHeight) {
|
|
21
|
+
observer.width = clientWidth;
|
|
22
|
+
observer.heighe = clientHeight;
|
|
23
|
+
setTimeout(item.callback);
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
/* eslint-disable @typescript-eslint/no-use-before-define */
|
|
28
|
+
eventListener();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function eventListener() {
|
|
32
|
+
clearTimeout(resizeTimeout);
|
|
33
|
+
resizeTimeout = setTimeout(eventHandle, globalConfigStore.resizeInterval || defaultInterval);
|
|
34
|
+
}
|
|
35
|
+
export class XEResizeObserver {
|
|
36
|
+
constructor(callback) {
|
|
37
|
+
Object.defineProperty(this, "tarList", {
|
|
38
|
+
enumerable: true,
|
|
39
|
+
configurable: true,
|
|
40
|
+
writable: true,
|
|
41
|
+
value: []
|
|
42
|
+
});
|
|
43
|
+
Object.defineProperty(this, "callback", {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
configurable: true,
|
|
46
|
+
writable: true,
|
|
47
|
+
value: void 0
|
|
48
|
+
});
|
|
49
|
+
this.callback = callback;
|
|
50
|
+
}
|
|
51
|
+
observe(target) {
|
|
52
|
+
if (target) {
|
|
53
|
+
const { tarList } = this;
|
|
54
|
+
if (!tarList.some(observer => observer.target === target)) {
|
|
55
|
+
tarList.push({
|
|
56
|
+
target,
|
|
57
|
+
width: target.clientWidth,
|
|
58
|
+
heighe: target.clientHeight
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
if (!eventStore.length) {
|
|
62
|
+
eventListener();
|
|
63
|
+
}
|
|
64
|
+
if (!eventStore.some((item) => item === this)) {
|
|
65
|
+
eventStore.push(this);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
unobserve(target) {
|
|
70
|
+
XEUtils.remove(eventStore, item => item.tarList.some(observer => observer.target === target));
|
|
71
|
+
}
|
|
72
|
+
disconnect() {
|
|
73
|
+
XEUtils.remove(eventStore, item => item === this);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
export function createResizeEvent(callback) {
|
|
77
|
+
if (window.ResizeObserver) {
|
|
78
|
+
return new window.ResizeObserver(callback);
|
|
79
|
+
}
|
|
80
|
+
return new XEResizeObserver(callback);
|
|
81
|
+
}
|
package/es/src/store.js
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { warnLog } from './log';
|
|
2
|
+
import XEUtils from 'xe-utils';
|
|
3
|
+
/**
|
|
4
|
+
* 创建数据仓库
|
|
5
|
+
*/
|
|
6
|
+
export class Store {
|
|
7
|
+
constructor() {
|
|
8
|
+
Object.defineProperty(this, "store", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
configurable: true,
|
|
11
|
+
writable: true,
|
|
12
|
+
value: {}
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
mixin(options) {
|
|
16
|
+
XEUtils.each(options, (item, key) => {
|
|
17
|
+
this.add(key, item);
|
|
18
|
+
});
|
|
19
|
+
return this;
|
|
20
|
+
}
|
|
21
|
+
has(name) {
|
|
22
|
+
return !!this.get(name);
|
|
23
|
+
}
|
|
24
|
+
get(name) {
|
|
25
|
+
return this.store[name];
|
|
26
|
+
}
|
|
27
|
+
add(name, options) {
|
|
28
|
+
const conf = this.store[name];
|
|
29
|
+
// 检测是否覆盖
|
|
30
|
+
if (process.env.NODE_ENV === 'development') {
|
|
31
|
+
const confKeys = XEUtils.keys(conf);
|
|
32
|
+
XEUtils.each(options, (item, key) => {
|
|
33
|
+
if (confKeys.includes(key)) {
|
|
34
|
+
warnLog('vxe.error.coverProp', [name, key]);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
this.store[name] = conf ? XEUtils.merge(conf, options) : options;
|
|
39
|
+
return this;
|
|
40
|
+
}
|
|
41
|
+
delete(name) {
|
|
42
|
+
delete this.store[name];
|
|
43
|
+
}
|
|
44
|
+
forEach(callback) {
|
|
45
|
+
XEUtils.objectEach(this.store, callback);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
export default Store;
|
package/es/src/theme.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import globalConfigStore from './globalStore';
|
|
2
|
+
export default function setTheme(options) {
|
|
3
|
+
const theme = (options ? options.theme : null) || globalConfigStore.theme || 'default';
|
|
4
|
+
if (typeof document !== 'undefined') {
|
|
5
|
+
const documentElement = document.documentElement;
|
|
6
|
+
if (documentElement) {
|
|
7
|
+
documentElement.setAttribute('data-vxe-theme', theme);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _exportNames = {};
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _core = _interopRequireWildcard(require("./src/core"));
|
|
9
|
+
Object.keys(_core).forEach(function (key) {
|
|
10
|
+
if (key === "default" || key === "__esModule") return;
|
|
11
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
12
|
+
if (key in exports && exports[key] === _core[key]) return;
|
|
13
|
+
Object.defineProperty(exports, key, {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function () {
|
|
16
|
+
return _core[key];
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
21
|
+
var _zhCN = _interopRequireDefault(require("./language/zh-CN"));
|
|
22
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
|
+
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
|
+
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
|
+
// 默认中文
|
|
26
|
+
(0, _core.setConfig)({
|
|
27
|
+
i18n: (key, args) => _xeUtils.default.toFormatString(_xeUtils.default.get(_zhCN.default, key), args)
|
|
28
|
+
});
|
|
29
|
+
var _default = exports.default = _core.default;
|