vxe-pc-ui 4.11.34 → 4.11.36
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/es/context-menu/index.js +2 -2
- package/es/context-menu/src/context-menu.js +96 -38
- package/es/context-menu/style.css +1 -7
- package/es/context-menu/style.min.css +1 -1
- package/es/date-panel/src/util.js +14 -9
- package/es/dynamics/index.js +1 -1
- package/es/icon/style.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/ui/index.js +4 -2
- package/es/ui/src/log.js +1 -1
- package/es/vxe-context-menu/style.css +1 -7
- package/es/vxe-context-menu/style.min.css +1 -1
- package/lib/context-menu/index.js +2 -2
- package/lib/context-menu/index.min.js +1 -1
- package/lib/context-menu/src/context-menu.js +103 -34
- package/lib/context-menu/src/context-menu.min.js +1 -1
- package/lib/context-menu/style/style.css +1 -7
- package/lib/context-menu/style/style.min.css +1 -1
- package/lib/date-panel/src/util.js +15 -10
- package/lib/date-panel/src/util.min.js +1 -1
- package/lib/dynamics/index.js +2 -0
- package/lib/dynamics/index.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +128 -50
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/ui/index.js +4 -2
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-context-menu/style/style.css +1 -7
- package/lib/vxe-context-menu/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/context-menu/index.ts +2 -2
- package/packages/context-menu/src/context-menu.ts +97 -34
- package/packages/date-panel/src/util.ts +15 -9
- package/packages/dynamics/index.ts +1 -1
- package/packages/ui/index.ts +3 -1
- package/styles/components/context-menu.scss +1 -11
- package/types/components/context-menu.d.ts +3 -1
- package/types/components/table-module/filter.d.ts +4 -0
- /package/es/icon/{iconfont.1767662202838.ttf → iconfont.1767850984359.ttf} +0 -0
- /package/es/icon/{iconfont.1767662202838.woff → iconfont.1767850984359.woff} +0 -0
- /package/es/icon/{iconfont.1767662202838.woff2 → iconfont.1767850984359.woff2} +0 -0
- /package/es/{iconfont.1767662202838.ttf → iconfont.1767850984359.ttf} +0 -0
- /package/es/{iconfont.1767662202838.woff → iconfont.1767850984359.woff} +0 -0
- /package/es/{iconfont.1767662202838.woff2 → iconfont.1767850984359.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1767662202838.ttf → iconfont.1767850984359.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1767662202838.woff → iconfont.1767850984359.woff} +0 -0
- /package/lib/icon/style/{iconfont.1767662202838.woff2 → iconfont.1767850984359.woff2} +0 -0
- /package/lib/{iconfont.1767662202838.ttf → iconfont.1767850984359.ttf} +0 -0
- /package/lib/{iconfont.1767662202838.woff → iconfont.1767850984359.woff} +0 -0
- /package/lib/{iconfont.1767662202838.woff2 → iconfont.1767850984359.woff2} +0 -0
package/es/ui/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { VxeUI, setConfig, setIcon } from '@vxe-ui/core';
|
|
2
2
|
import { dynamicApp } from '../dynamics';
|
|
3
3
|
import { warnLog } from './src/log';
|
|
4
|
-
export const version = "4.11.
|
|
4
|
+
export const version = "4.11.36";
|
|
5
5
|
VxeUI.uiVersion = version;
|
|
6
6
|
VxeUI.dynamicApp = dynamicApp;
|
|
7
7
|
export function config(options) {
|
|
@@ -71,7 +71,9 @@ setConfig({
|
|
|
71
71
|
}
|
|
72
72
|
},
|
|
73
73
|
collapsePane: {},
|
|
74
|
-
contextMenu: {
|
|
74
|
+
contextMenu: {
|
|
75
|
+
autoLocate: true
|
|
76
|
+
},
|
|
75
77
|
countdown: {},
|
|
76
78
|
colorPicker: {
|
|
77
79
|
type: 'rgb',
|
package/es/ui/src/log.js
CHANGED
|
@@ -15,12 +15,6 @@
|
|
|
15
15
|
.vxe-context-menu.is--absolute {
|
|
16
16
|
position: absolute;
|
|
17
17
|
}
|
|
18
|
-
.vxe-context-menu.cp--left .vxe-context-menu--children-wrapper {
|
|
19
|
-
left: calc(-100% + 2px);
|
|
20
|
-
}
|
|
21
|
-
.vxe-context-menu.cp--right .vxe-context-menu--children-wrapper {
|
|
22
|
-
left: calc(100% - 2px);
|
|
23
|
-
}
|
|
24
18
|
|
|
25
19
|
.vxe-context-menu--group-wrapper {
|
|
26
20
|
border-top: 1px solid var(--vxe-ui-base-popup-border-color);
|
|
@@ -43,7 +37,7 @@
|
|
|
43
37
|
.vxe-context-menu--children-wrapper {
|
|
44
38
|
display: none;
|
|
45
39
|
position: absolute;
|
|
46
|
-
transform:
|
|
40
|
+
transform: translate(0, -5px);
|
|
47
41
|
}
|
|
48
42
|
|
|
49
43
|
.vxe-context-menu--item-wrapper {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.vxe-context-menu{display:none;top:0;left:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-context-menu.is--visible{display:block}.vxe-context-menu.is--fixed{position:fixed}.vxe-context-menu.is--absolute{position:absolute}.vxe-context-menu
|
|
1
|
+
.vxe-context-menu{display:none;top:0;left:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-context-menu.is--visible{display:block}.vxe-context-menu.is--fixed{position:fixed}.vxe-context-menu.is--absolute{position:absolute}.vxe-context-menu--group-wrapper{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-context-menu--group-wrapper:first-child{border:0}.vxe-context-menu--children-wrapper,.vxe-context-menu--wrapper{padding:0;color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family);border:1px solid var(--vxe-ui-base-popup-border-color);background-color:var(--vxe-ui-layout-background-color);border-radius:var(--vxe-ui-base-border-radius);box-shadow:0 0 12px 0 rgba(0,0,0,.3)}.vxe-context-menu--children-wrapper{display:none;position:absolute;transform:translate(0,-5px)}.vxe-context-menu--item-wrapper{position:relative;min-width:12em;max-width:20em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-context-menu--item-wrapper.is--active{background-color:rgba(0,0,0,.1)}.vxe-context-menu--first-item.is--subactive .vxe-context-menu--children-wrapper{display:block}.vxe-context-menu--item-inner{height:var(--vxe-ui-context-menu-option-height);display:flex;align-items:center;padding:0 .8em;cursor:pointer}.vxe-context-menu--item-inner.is--loading{opacity:.5;cursor:progress}.vxe-context-menu--item-inner.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:no-drop}.vxe-context-menu--item-prefix{min-width:1em;text-align:center}.vxe-context-menu--item-prefix,.vxe-context-menu--item-suffix{flex-shrink:0;font-size:.9em}.vxe-context-menu--item-label{font-size:.9em;padding:0 .5em;flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-context-menu{font-size:var(--vxe-ui-font-size-default)}.vxe-context-menu.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-context-menu.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-context-menu.size--mini{font-size:var(--vxe-ui-font-size-mini)}
|
|
@@ -41,8 +41,8 @@ const ContextMenuController = exports.ContextMenuController = {
|
|
|
41
41
|
evnt.preventDefault();
|
|
42
42
|
evnt.stopPropagation();
|
|
43
43
|
const opts = Object.assign({}, options);
|
|
44
|
-
const x = evnt.clientX;
|
|
45
|
-
const y = evnt.clientY;
|
|
44
|
+
const x = evnt.clientX + 1;
|
|
45
|
+
const y = evnt.clientY + 1;
|
|
46
46
|
openMenu(opts, x, y);
|
|
47
47
|
},
|
|
48
48
|
close() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.VxeContextMenu=exports.ContextMenuController=exports.ContextMenu=void 0;var _core=require("@vxe-ui/core"),_contextMenu=_interopRequireDefault(require("./src/context-menu")),_dynamics=require("../dynamics");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const VxeContextMenu=exports.VxeContextMenu=Object.assign({},_contextMenu.default,{install(e){e.component(_contextMenu.default.name,_contextMenu.default)}});function openMenu(e,n,t){_dynamics.dynamicStore.globalContextMenu={modelValue:!0,options:e.options,className:e.className,size:e.size,zIndex:e.zIndex,x:n,y:t,position:"fixed",destroyOnClose:!0,transfer:!1,events:e.events},(0,_dynamics.checkDynamic)()}const ContextMenuController=exports.ContextMenuController={open(e){e=Object.assign({x:0,y:0},e);openMenu(e,e.x,e.y)},openByEvent(e,n){e.preventDefault(),e.stopPropagation(),openMenu(Object.assign({},n),e.clientX,e.clientY)},close(){_dynamics.dynamicStore.globalContextMenu=null}},ContextMenu=(_dynamics.dynamicApp.use(VxeContextMenu),_core.VxeUI.component(_contextMenu.default),_core.VxeUI.contextMenu=ContextMenuController,exports.ContextMenu=VxeContextMenu);var _default=exports.default=VxeContextMenu;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.VxeContextMenu=exports.ContextMenuController=exports.ContextMenu=void 0;var _core=require("@vxe-ui/core"),_contextMenu=_interopRequireDefault(require("./src/context-menu")),_dynamics=require("../dynamics");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const VxeContextMenu=exports.VxeContextMenu=Object.assign({},_contextMenu.default,{install(e){e.component(_contextMenu.default.name,_contextMenu.default)}});function openMenu(e,n,t){_dynamics.dynamicStore.globalContextMenu={modelValue:!0,options:e.options,className:e.className,size:e.size,zIndex:e.zIndex,x:n,y:t,position:"fixed",destroyOnClose:!0,transfer:!1,events:e.events},(0,_dynamics.checkDynamic)()}const ContextMenuController=exports.ContextMenuController={open(e){e=Object.assign({x:0,y:0},e);openMenu(e,e.x,e.y)},openByEvent(e,n){e.preventDefault(),e.stopPropagation(),openMenu(Object.assign({},n),e.clientX+1,e.clientY+1)},close(){_dynamics.dynamicStore.globalContextMenu=null}},ContextMenu=(_dynamics.dynamicApp.use(VxeContextMenu),_core.VxeUI.component(_contextMenu.default),_core.VxeUI.contextMenu=ContextMenuController,exports.ContextMenu=VxeContextMenu);var _default=exports.default=VxeContextMenu;
|
|
@@ -25,7 +25,7 @@ function createReactData() {
|
|
|
25
25
|
left: '',
|
|
26
26
|
zIndex: 0
|
|
27
27
|
},
|
|
28
|
-
|
|
28
|
+
childOffsetX: 0
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
31
|
var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
@@ -40,6 +40,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
40
40
|
options: Array,
|
|
41
41
|
x: [Number, String],
|
|
42
42
|
y: [Number, String],
|
|
43
|
+
autoLocate: {
|
|
44
|
+
type: Boolean,
|
|
45
|
+
default: () => (0, _ui.getConfig)().contextMenu.autoLocate
|
|
46
|
+
},
|
|
43
47
|
zIndex: [Number, String],
|
|
44
48
|
position: {
|
|
45
49
|
type: String,
|
|
@@ -122,7 +126,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
122
126
|
} = reactData;
|
|
123
127
|
const value = true;
|
|
124
128
|
reactData.visible = value;
|
|
125
|
-
|
|
129
|
+
handleLocate();
|
|
126
130
|
updateZindex();
|
|
127
131
|
if (modelValue !== value) {
|
|
128
132
|
emitModel(value);
|
|
@@ -135,7 +139,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
135
139
|
visible: value
|
|
136
140
|
}, null);
|
|
137
141
|
}
|
|
138
|
-
return (0, _vue.nextTick)()
|
|
142
|
+
return (0, _vue.nextTick)().then(() => {
|
|
143
|
+
updateLocate();
|
|
144
|
+
});
|
|
139
145
|
};
|
|
140
146
|
const close = () => {
|
|
141
147
|
const {
|
|
@@ -159,7 +165,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
159
165
|
}
|
|
160
166
|
return (0, _vue.nextTick)();
|
|
161
167
|
};
|
|
162
|
-
const
|
|
168
|
+
const handleLocate = () => {
|
|
163
169
|
const {
|
|
164
170
|
x,
|
|
165
171
|
y
|
|
@@ -169,6 +175,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
169
175
|
} = reactData;
|
|
170
176
|
popupStyle.left = (0, _dom.toCssUnit)(x || 0);
|
|
171
177
|
popupStyle.top = (0, _dom.toCssUnit)(y || 0);
|
|
178
|
+
updateLocate();
|
|
172
179
|
};
|
|
173
180
|
const updateZindex = () => {
|
|
174
181
|
const {
|
|
@@ -187,6 +194,67 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
187
194
|
}
|
|
188
195
|
}
|
|
189
196
|
};
|
|
197
|
+
const updateLocate = () => {
|
|
198
|
+
const {
|
|
199
|
+
autoLocate,
|
|
200
|
+
position
|
|
201
|
+
} = props;
|
|
202
|
+
const {
|
|
203
|
+
popupStyle
|
|
204
|
+
} = reactData;
|
|
205
|
+
if (autoLocate) {
|
|
206
|
+
const wrapperEl = refElem.value;
|
|
207
|
+
if (wrapperEl) {
|
|
208
|
+
const {
|
|
209
|
+
visibleWidth,
|
|
210
|
+
visibleHeight
|
|
211
|
+
} = (0, _dom.getDomNode)();
|
|
212
|
+
const wrapperStyle = getComputedStyle(wrapperEl);
|
|
213
|
+
const offsetTop = _xeUtils.default.toNumber(wrapperStyle.top);
|
|
214
|
+
const offsetLeft = _xeUtils.default.toNumber(wrapperStyle.left);
|
|
215
|
+
const wrapperWidth = wrapperEl.offsetWidth;
|
|
216
|
+
const wrapperHeight = wrapperEl.offsetHeight;
|
|
217
|
+
if (position === 'absolute') {
|
|
218
|
+
//
|
|
219
|
+
} else {
|
|
220
|
+
if (offsetTop + wrapperHeight > visibleHeight) {
|
|
221
|
+
popupStyle.top = `${Math.max(0, offsetTop - wrapperHeight)}px`;
|
|
222
|
+
}
|
|
223
|
+
if (offsetLeft + wrapperWidth > visibleWidth) {
|
|
224
|
+
popupStyle.left = `${Math.max(0, offsetLeft - wrapperWidth)}px`;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
updateChildLocate();
|
|
230
|
+
};
|
|
231
|
+
const updateChildLocate = () => {
|
|
232
|
+
const wrapperEl = refElem.value;
|
|
233
|
+
if (wrapperEl) {
|
|
234
|
+
const {
|
|
235
|
+
visibleWidth
|
|
236
|
+
} = (0, _dom.getDomNode)();
|
|
237
|
+
const owSize = 2;
|
|
238
|
+
const handleStyle = () => {
|
|
239
|
+
const wrapperStyle = getComputedStyle(wrapperEl);
|
|
240
|
+
const offsetLeft = _xeUtils.default.toNumber(wrapperStyle.left);
|
|
241
|
+
const wrapperWidth = wrapperEl.offsetWidth;
|
|
242
|
+
const childEl = wrapperEl.querySelector('.vxe-context-menu--children-wrapper');
|
|
243
|
+
const childWidth = childEl ? childEl.offsetWidth : wrapperWidth;
|
|
244
|
+
if (offsetLeft + wrapperWidth > visibleWidth - childWidth) {
|
|
245
|
+
// 往左
|
|
246
|
+
reactData.childOffsetX = -childWidth + owSize;
|
|
247
|
+
} else {
|
|
248
|
+
// 往右
|
|
249
|
+
reactData.childOffsetX = wrapperWidth - owSize;
|
|
250
|
+
}
|
|
251
|
+
};
|
|
252
|
+
handleStyle();
|
|
253
|
+
(0, _vue.nextTick)(() => {
|
|
254
|
+
handleStyle();
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
};
|
|
190
258
|
const handleVisible = () => {
|
|
191
259
|
const {
|
|
192
260
|
modelValue
|
|
@@ -225,6 +293,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
225
293
|
reactData.activeOption = item;
|
|
226
294
|
if (hasChildMenu(item)) {
|
|
227
295
|
reactData.activeChildOption = findFirstChildItem(item);
|
|
296
|
+
(0, _vue.nextTick)(() => {
|
|
297
|
+
updateChildLocate();
|
|
298
|
+
});
|
|
228
299
|
} else {
|
|
229
300
|
reactData.activeChildOption = null;
|
|
230
301
|
}
|
|
@@ -339,17 +410,21 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
339
410
|
const handleGlobalKeydownEvent = evnt => {
|
|
340
411
|
const {
|
|
341
412
|
visible,
|
|
342
|
-
childPos,
|
|
343
413
|
activeOption,
|
|
344
414
|
activeChildOption
|
|
345
415
|
} = reactData;
|
|
346
416
|
const allFirstMenuList = computeAllFirstMenuList.value;
|
|
347
417
|
if (visible) {
|
|
348
|
-
const isLeftArrow = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ARROW_LEFT);
|
|
349
418
|
const isUpArrow = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ARROW_UP);
|
|
350
|
-
const isRightArrow = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ARROW_RIGHT);
|
|
351
419
|
const isDwArrow = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ARROW_DOWN);
|
|
420
|
+
const isLeftArrow = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ARROW_LEFT);
|
|
421
|
+
const isRightArrow = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ARROW_RIGHT);
|
|
352
422
|
const isEnter = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ENTER);
|
|
423
|
+
const isEsc = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ESCAPE);
|
|
424
|
+
if (isEsc) {
|
|
425
|
+
close();
|
|
426
|
+
return;
|
|
427
|
+
}
|
|
353
428
|
// 回车选中
|
|
354
429
|
if (isEnter) {
|
|
355
430
|
if (activeOption || activeChildOption) {
|
|
@@ -357,6 +432,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
357
432
|
evnt.stopPropagation();
|
|
358
433
|
if (!activeChildOption && hasChildMenu(activeOption)) {
|
|
359
434
|
reactData.activeChildOption = findFirstChildItem(activeOption);
|
|
435
|
+
updateChildLocate();
|
|
360
436
|
return;
|
|
361
437
|
}
|
|
362
438
|
handleItemClickEvent(evnt, activeChildOption || activeOption);
|
|
@@ -368,23 +444,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
368
444
|
if (isUpArrow) {
|
|
369
445
|
evnt.preventDefault();
|
|
370
446
|
reactData.activeChildOption = findPrevChildItem(activeOption, activeChildOption);
|
|
447
|
+
updateChildLocate();
|
|
371
448
|
} else if (isDwArrow) {
|
|
372
449
|
evnt.preventDefault();
|
|
373
450
|
reactData.activeChildOption = findNextChildItem(activeOption, activeChildOption);
|
|
451
|
+
updateChildLocate();
|
|
374
452
|
} else if (isLeftArrow) {
|
|
375
453
|
evnt.preventDefault();
|
|
376
|
-
|
|
377
|
-
// 无操作
|
|
378
|
-
} else {
|
|
379
|
-
reactData.activeChildOption = null;
|
|
380
|
-
}
|
|
381
|
-
} else if (isRightArrow) {
|
|
382
|
-
evnt.preventDefault();
|
|
383
|
-
if (childPos === 'left') {
|
|
384
|
-
reactData.activeChildOption = null;
|
|
385
|
-
} else {
|
|
386
|
-
// 无操作
|
|
387
|
-
}
|
|
454
|
+
reactData.activeChildOption = null;
|
|
388
455
|
}
|
|
389
456
|
} else if (activeOption) {
|
|
390
457
|
evnt.preventDefault();
|
|
@@ -394,14 +461,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
394
461
|
reactData.activeOption = findNextFirstItem(allFirstMenuList, activeOption);
|
|
395
462
|
} else {
|
|
396
463
|
if (hasChildMenu(activeOption)) {
|
|
397
|
-
if (
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
}
|
|
401
|
-
} else {
|
|
402
|
-
if (isRightArrow) {
|
|
403
|
-
reactData.activeChildOption = findFirstChildItem(activeOption);
|
|
404
|
-
}
|
|
464
|
+
if (isRightArrow) {
|
|
465
|
+
reactData.activeChildOption = findFirstChildItem(activeOption);
|
|
466
|
+
updateChildLocate();
|
|
405
467
|
}
|
|
406
468
|
}
|
|
407
469
|
}
|
|
@@ -493,7 +555,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
493
555
|
const renderMenus = () => {
|
|
494
556
|
const {
|
|
495
557
|
activeOption,
|
|
496
|
-
activeChildOption
|
|
558
|
+
activeChildOption,
|
|
559
|
+
childOffsetX
|
|
497
560
|
} = reactData;
|
|
498
561
|
const menuGroups = computeMenuGroups.value;
|
|
499
562
|
const mgVNs = [];
|
|
@@ -505,14 +568,18 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
505
568
|
} = firstItem;
|
|
506
569
|
const hasChildMenus = children && children.some(child => child.visible !== false);
|
|
507
570
|
const isActiveFirst = activeOption === firstItem;
|
|
571
|
+
const showChild = isActiveFirst && !!activeChildOption;
|
|
508
572
|
moVNs.push((0, _vue.h)('div', {
|
|
509
573
|
key: `${gIndex}_${i}`,
|
|
510
574
|
class: ['vxe-context-menu--item-wrapper vxe-context-menu--first-item', firstItem.className || '', {
|
|
511
575
|
'is--active': isActiveFirst,
|
|
512
576
|
'is--subactive': isActiveFirst && !!activeChildOption
|
|
513
577
|
}]
|
|
514
|
-
}, [hasChildMenus ? (0, _vue.h)('div', {
|
|
515
|
-
class: 'vxe-context-menu--children-wrapper'
|
|
578
|
+
}, [hasChildMenus && showChild ? (0, _vue.h)('div', {
|
|
579
|
+
class: 'vxe-context-menu--children-wrapper',
|
|
580
|
+
style: {
|
|
581
|
+
transform: `translate(${childOffsetX}px, -5px)`
|
|
582
|
+
}
|
|
516
583
|
}, children.map(twoItem => {
|
|
517
584
|
return (0, _vue.h)('div', {
|
|
518
585
|
class: ['vxe-context-menu--item-wrapper vxe-context-menu--child-item', twoItem.className || '', {
|
|
@@ -536,13 +603,12 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
536
603
|
} = props;
|
|
537
604
|
const {
|
|
538
605
|
visible,
|
|
539
|
-
popupStyle
|
|
540
|
-
childPos
|
|
606
|
+
popupStyle
|
|
541
607
|
} = reactData;
|
|
542
608
|
const vSize = computeSize.value;
|
|
543
609
|
return (0, _vue.h)('div', {
|
|
544
610
|
ref: refElem,
|
|
545
|
-
class: ['vxe-context-menu vxe-context-menu--wrapper', position === 'absolute' ? 'is--' + position : 'is--fixed',
|
|
611
|
+
class: ['vxe-context-menu vxe-context-menu--wrapper', position === 'absolute' ? 'is--' + position : 'is--fixed', className || '', {
|
|
546
612
|
[`size--${vSize}`]: vSize,
|
|
547
613
|
'is--visible': visible
|
|
548
614
|
}],
|
|
@@ -550,7 +616,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
550
616
|
}, (destroyOnClose ? visible : true) ? renderMenus() : []);
|
|
551
617
|
};
|
|
552
618
|
(0, _vue.watch)(computeTopAndLeft, () => {
|
|
553
|
-
|
|
619
|
+
handleLocate();
|
|
620
|
+
(0, _vue.nextTick)(() => {
|
|
621
|
+
updateLocate();
|
|
622
|
+
});
|
|
554
623
|
});
|
|
555
624
|
(0, _vue.watch)(() => props.modelValue, () => {
|
|
556
625
|
handleVisible();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function createInternalData(){return{}}function createReactData(){return{visible:!1,activeOption:null,activeChildOption:null,popupStyle:{top:"",left:"",zIndex:0},
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function createInternalData(){return{}}function createReactData(){return{visible:!1,activeOption:null,activeChildOption:null,popupStyle:{top:"",left:"",zIndex:0},childOffsetX:0}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeContextMenu",props:{modelValue:Boolean,className:String,size:{type:String,default:()=>(0,_ui.getConfig)().contextMenu.size||(0,_ui.getConfig)().size},options:Array,x:[Number,String],y:[Number,String],autoLocate:{type:Boolean,default:()=>(0,_ui.getConfig)().contextMenu.autoLocate},zIndex:[Number,String],position:{type:String,default:()=>(0,_ui.getConfig)().contextMenu.position},destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().contextMenu.destroyOnClose},transfer:{type:Boolean,default:()=>(0,_ui.getConfig)().contextMenu.transfer}},emits:["update:modelValue","option-click","change","show","hide"],setup(r,e){const n=e["emit"];var t=_xeUtils.default.uniqueId();const s=(0,_vue.ref)(),a=(0,_ui.useSize)(r)["computeSize"],i=createInternalData(),c=(0,_vue.reactive)(createReactData()),l={refElem:s},o=(0,_vue.computed)(()=>{var e=r["options"];return e||[]}),v=(0,_vue.computed)(()=>{var t=o.value,i=[];for(let e=0;e<t.length;e++){var n=t[e];for(let e=0;e<n.length;e++){var l=n[e];C(l)&&i.push(l)}}return i});var u=(0,_vue.computed)(()=>{var{x:e,y:t}=r;return""+e+t});const d={},_={xID:t,props:r,context:e,reactData:c,getRefMaps:()=>l,getComputeMaps:()=>d},p=(e,t,i)=>{n(e,(0,_ui.createEvent)(i,{$contextMenu:_},t))},f=e=>{n("update:modelValue",e)},m=()=>{var e=r["modelValue"],t=c["visible"];c.visible=!0,h();{var{zIndex:i,transfer:n}=r,l=c.popupStyle,u=l.zIndex;i?l.zIndex=_xeUtils.default.toNumber(i):u<(0,_utils.getLastZIndex)()&&(l.zIndex=(n?(0,_utils.nextSubZIndex):(0,_utils.nextZIndex))())}return!0!==e&&(f(!0),p("change",{value:!0},null)),!0!==t&&p("show",{visible:!0},null),(0,_vue.nextTick)().then(()=>{g()})},x=()=>{var e=r["modelValue"],t=c["visible"];return(c.visible=!1)!==e&&(f(!1),p("change",{value:!1},null)),!1!==t&&p("hide",{visible:!1},null),(0,_vue.nextTick)()},h=()=>{var{x:e,y:t}=r,i=c["popupStyle"];i.left=(0,_dom.toCssUnit)(e||0),i.top=(0,_dom.toCssUnit)(t||0),g()},g=()=>{var e,t,i,n,l,{autoLocate:u,position:a}=r,o=c["popupStyle"];u&&(u=s.value)&&({visibleWidth:e,visibleHeight:t}=(0,_dom.getDomNode)(),n=getComputedStyle(u),i=_xeUtils.default.toNumber(n.top),n=_xeUtils.default.toNumber(n.left),l=u.offsetWidth,u=u.offsetHeight,"absolute"!==a)&&(t<i+u&&(o.top=Math.max(0,i-u)+"px"),e<n+l)&&(o.left=Math.max(0,n-l)+"px"),E()},E=()=>{const n=s.value;if(n){const l=(0,_dom.getDomNode)()["visibleWidth"],e=()=>{var e=getComputedStyle(n),e=_xeUtils.default.toNumber(e.left),t=n.offsetWidth,i=n.querySelector(".vxe-context-menu--children-wrapper"),i=i?i.offsetWidth:t;e+t>l-i?c.childOffsetX=2-i:c.childOffsetX=t-2};e(),(0,_vue.nextTick)(()=>{e()})}},b=()=>{var e=r["modelValue"];(e?m:x)()};t={dispatchEvent:p,open:m,close:x};const O=e=>{e=e.children;return e&&e.some(e=>!1!==e.visible)},y=(e,t)=>{O(t)||(p("option-click",{option:t},e),x())},N=()=>{c.activeOption=null,c.activeChildOption=null},C=e=>!e.loading&&!e.disabled&&!1!==e.visible,S=e=>{var t=e["children"];if(t)for(let e=0;e<t.length;e++){var i=t[e];if(C(i))return i}return null},I=e=>{var t=c["visible"];t&&(t=s.value,(0,_dom.getEventTargetNode)(e,t,"").flag||x())},T=e=>{var{visible:t,activeOption:i,activeChildOption:n}=c,l=v.value;if(t){var t=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),u=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN),a=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_LEFT),o=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_RIGHT),r=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ENTER);if(!_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE))return r&&(i||n)?(e.preventDefault(),e.stopPropagation(),!n&&O(i)?(c.activeChildOption=S(i),void E()):void y(e,n||i)):void(n?t?(e.preventDefault(),c.activeChildOption=((e,t)=>{var i=e["children"];let n=null;if(i){for(let e=0;e<i.length;e++){var l=i[e];if(t===l)break;C(l)&&(n=l)}if(!n)for(let e=i.length-1;0<=e;e--){var u=i[e];if(C(u))return u}}return n})(i,n),E()):u?(e.preventDefault(),c.activeChildOption=((e,i)=>{var n=e["children"];let l=null;if(n){let t=!1;for(let e=0;e<n.length;e++){var u=n[e];if(l||C(u)&&(l=u),t){if(C(u))return u}else t=i===u}}return l})(i,n),E()):a&&(e.preventDefault(),c.activeChildOption=null):i?(e.preventDefault(),t?c.activeOption=((t,i)=>{for(let e=0;e<t.length;e++){var n=t[e];if(i===n&&0<e)return t[e-1]}return _xeUtils.default.last(t)})(l,i):u?c.activeOption=((t,i)=>{for(let e=0;e<t.length;e++)if(i===t[e]){var n=t[e+1];if(n)return n}return _xeUtils.default.first(t)})(l,i):O(i)&&o&&(c.activeChildOption=S(i),E())):(e.preventDefault(),c.activeOption=_xeUtils.default.first(l)));x()}},D=e=>{var t=c["visible"];t&&(t=s.value,(0,_dom.getEventTargetNode)(e,t,"").flag||x())},k=()=>{var e=c["visible"];e&&x()};Object.assign(_,t,{});const L=(n,l,e)=>{var t,i,u,a,{visible:o,disabled:r,loading:s}=n;return!1===o?(0,_ui.renderEmptyElement)(_):(t=(o=Object.assign({},n.prefixConfig)).icon||n.prefixIcon,u=(i=Object.assign({},n.suffixConfig)).icon||n.suffixIcon,a=s?(0,_ui.getI18n)("vxe.contextMenu.loadingText"):(0,_utils.getFuncText)(n.name),(0,_vue.h)("div",{class:["vxe-context-menu--item-inner",{"is--disabled":r,"is--loading":s}],onClick(e){y(e,n)},onMouseenter(e){var t,i;t=n,i=l,c.activeOption=i||t,i?(c.activeOption=i,c.activeChildOption=t):(c.activeOption=t,O(t)?(c.activeChildOption=S(t),(0,_vue.nextTick)(()=>{E()})):c.activeChildOption=null)},onMouseleave:N},[(0,_vue.h)("div",{class:["vxe-context-menu--item-prefix",o.className||""]},s?[(0,_vue.h)("span",{key:"1"},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().CONTEXT_MENU_OPTION_LOADING})])]:[t&&_xeUtils.default.isFunction(t)?(0,_vue.h)("span",{key:"2"},(0,_vn.getSlotVNs)(t({}))):(0,_vue.h)("span",{key:"3"},[(0,_vue.h)("i",{class:t})]),o.content?(0,_vue.h)("span",{key:"4"},""+(o.content||"")):(0,_ui.renderEmptyElement)(_)]),(0,_vue.h)("div",{class:"vxe-context-menu--item-label"},a),s||!u&&!i.content?(0,_ui.renderEmptyElement)(_):(0,_vue.h)("div",{class:["vxe-context-menu--item-suffix",i.className||""]},[u&&_xeUtils.default.isFunction(u)?(0,_vue.h)("span",{key:"2"},(0,_vn.getSlotVNs)(u({}))):(0,_vue.h)("span",{key:"3"},[(0,_vue.h)("i",{class:u})]),i.content?(0,_vue.h)("span",{key:"4"},""+(i.content||"")):(0,_ui.renderEmptyElement)(_)]),e?(0,_vue.h)("div",{class:"vxe-context-menu--item-subicon"},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().CONTEXT_MENU_CHILDREN})]):(0,_ui.renderEmptyElement)(_)]))};return(0,_vue.watch)(u,()=>{h(),(0,_vue.nextTick)(()=>{g()})}),(0,_vue.watch)(()=>r.modelValue,()=>{b()}),b(),(0,_vue.onMounted)(()=>{_ui.globalEvents.on(_,"mousewheel",I),_ui.globalEvents.on(_,"keydown",T),_ui.globalEvents.on(_,"mousedown",D),_ui.globalEvents.on(_,"blur",k)}),(0,_vue.onBeforeUnmount)(()=>{_ui.globalEvents.off(_,"mousewheel"),_ui.globalEvents.off(_,"keydown"),_ui.globalEvents.off(_,"mousedown"),_ui.globalEvents.off(_,"blur"),_xeUtils.default.assign(c,createReactData()),_xeUtils.default.assign(i,createInternalData())}),_.renderVN=()=>{var{className:e,position:t,destroyOnClose:i}=r,{visible:n,popupStyle:l}=c,u=a.value;return(0,_vue.h)("div",{ref:s,class:["vxe-context-menu vxe-context-menu--wrapper","absolute"===t?"is--"+t:"is--fixed",e||"",{["size--"+u]:u,"is--visible":n}],style:l},!i||n?(()=>{const{activeOption:r,activeChildOption:s,childOffsetX:v}=c;var e=o.value;const t=[];return e.forEach((e,a)=>{const o=[];e.forEach((t,e)=>{var i=t["children"],n=i&&i.some(e=>!1!==e.visible),l=r===t,u=l&&!!s;o.push((0,_vue.h)("div",{key:a+"_"+e,class:["vxe-context-menu--item-wrapper vxe-context-menu--first-item",t.className||"",{"is--active":l,"is--subactive":l&&!!s}]},[n&&u?(0,_vue.h)("div",{class:"vxe-context-menu--children-wrapper",style:{transform:`translate(${v}px, -5px)`}},i.map(e=>(0,_vue.h)("div",{class:["vxe-context-menu--item-wrapper vxe-context-menu--child-item",e.className||"",{"is--active":s===e}]},[L(e,t)]))):(0,_ui.renderEmptyElement)(_),L(t,null,n)]))}),t.push((0,_vue.h)("div",{key:a,class:"vxe-context-menu--group-wrapper"},o))}),t})():[])},_},render(){return this.renderVN()}});
|
|
@@ -15,12 +15,6 @@
|
|
|
15
15
|
.vxe-context-menu.is--absolute {
|
|
16
16
|
position: absolute;
|
|
17
17
|
}
|
|
18
|
-
.vxe-context-menu.cp--left .vxe-context-menu--children-wrapper {
|
|
19
|
-
left: calc(-100% + 2px);
|
|
20
|
-
}
|
|
21
|
-
.vxe-context-menu.cp--right .vxe-context-menu--children-wrapper {
|
|
22
|
-
left: calc(100% - 2px);
|
|
23
|
-
}
|
|
24
18
|
|
|
25
19
|
.vxe-context-menu--group-wrapper {
|
|
26
20
|
border-top: 1px solid var(--vxe-ui-base-popup-border-color);
|
|
@@ -43,7 +37,7 @@
|
|
|
43
37
|
.vxe-context-menu--children-wrapper {
|
|
44
38
|
display: none;
|
|
45
39
|
position: absolute;
|
|
46
|
-
transform:
|
|
40
|
+
transform: translate(0, -5px);
|
|
47
41
|
}
|
|
48
42
|
|
|
49
43
|
.vxe-context-menu--item-wrapper {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.vxe-context-menu{display:none;top:0;left:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-context-menu.is--visible{display:block}.vxe-context-menu.is--fixed{position:fixed}.vxe-context-menu.is--absolute{position:absolute}.vxe-context-menu
|
|
1
|
+
.vxe-context-menu{display:none;top:0;left:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-context-menu.is--visible{display:block}.vxe-context-menu.is--fixed{position:fixed}.vxe-context-menu.is--absolute{position:absolute}.vxe-context-menu--group-wrapper{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-context-menu--group-wrapper:first-child{border:0}.vxe-context-menu--children-wrapper,.vxe-context-menu--wrapper{padding:0;color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family);border:1px solid var(--vxe-ui-base-popup-border-color);background-color:var(--vxe-ui-layout-background-color);border-radius:var(--vxe-ui-base-border-radius);box-shadow:0 0 12px 0 rgba(0,0,0,.3)}.vxe-context-menu--children-wrapper{display:none;position:absolute;transform:translate(0,-5px)}.vxe-context-menu--item-wrapper{position:relative;min-width:12em;max-width:20em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-context-menu--item-wrapper.is--active{background-color:rgba(0,0,0,.1)}.vxe-context-menu--first-item.is--subactive .vxe-context-menu--children-wrapper{display:block}.vxe-context-menu--item-inner{height:var(--vxe-ui-context-menu-option-height);display:flex;align-items:center;padding:0 .8em;cursor:pointer}.vxe-context-menu--item-inner.is--loading{opacity:.5;cursor:progress}.vxe-context-menu--item-inner.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:no-drop}.vxe-context-menu--item-prefix{min-width:1em;text-align:center}.vxe-context-menu--item-prefix,.vxe-context-menu--item-suffix{flex-shrink:0;font-size:.9em}.vxe-context-menu--item-label{font-size:.9em;padding:0 .5em;flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-context-menu{font-size:var(--vxe-ui-font-size-default)}.vxe-context-menu.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-context-menu.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-context-menu.size--mini{font-size:var(--vxe-ui-font-size-mini)}
|
|
@@ -116,16 +116,15 @@ function parseDateObj(val, type, options) {
|
|
|
116
116
|
// '2024-12-31' 'yyyy-MM-dd W' >> '2024-12-31 1'
|
|
117
117
|
// '2025-01-01' 'yyyy-MM-dd W' >> '2025-01-01 1'
|
|
118
118
|
if (labelFormat && type === 'week') {
|
|
119
|
-
const
|
|
120
|
-
const
|
|
121
|
-
const
|
|
122
|
-
if (
|
|
123
|
-
const
|
|
119
|
+
const oldYyyy = dValue.getFullYear();
|
|
120
|
+
const M = dValue.getMonth() + 1;
|
|
121
|
+
const W = _xeUtils.default.getYearWeek(dValue, firstDay);
|
|
122
|
+
if (checkWeekOfsetYear(W, M)) {
|
|
123
|
+
const formatY = 'yyyy';
|
|
124
|
+
const newYyyy = oldYyyy + 1;
|
|
125
|
+
const yyIndex = labelFormat.indexOf(formatY);
|
|
124
126
|
if (yyIndex > -1) {
|
|
125
|
-
|
|
126
|
-
if (yyNum && !isNaN(yyNum)) {
|
|
127
|
-
dLabel = dLabel.replace(`${yyNum}`, `${weekFullYear}`);
|
|
128
|
-
}
|
|
127
|
+
dLabel = dLabel.substring(0, yyIndex) + newYyyy + dLabel.substring(yyIndex + formatY.length);
|
|
129
128
|
}
|
|
130
129
|
}
|
|
131
130
|
}
|
|
@@ -242,4 +241,10 @@ function getRangeDateByCode(code, val, type, options) {
|
|
|
242
241
|
startValue,
|
|
243
242
|
endValue
|
|
244
243
|
};
|
|
245
|
-
}
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* 判断周的年份是否跨年
|
|
247
|
+
*/
|
|
248
|
+
const checkWeekOfsetYear = (W, M) => {
|
|
249
|
+
return `${W}` === '1' && `${M}` === '12';
|
|
250
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getDateByCode=getDateByCode,exports.getDateQuarter=getDateQuarter,exports.getRangeDateByCode=getRangeDateByCode,exports.handleValueFormat=handleValueFormat,exports.hasDateValueType=hasDateValueType,exports.hasTimestampValueType=hasTimestampValueType,exports.parseDateObj=parseDateObj,exports.parseDateValue=exports.parseDateString=void 0,exports.toStringTimeDate=toStringTimeDate;var _xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function hasTimestampValueType(e){return"timestamp"===e}function hasDateValueType(e){return"date"===e}function handleValueFormat(e,t){return!t||hasDateValueType(t)||hasTimestampValueType(t)?"time"===e?"HH:mm:ss":"datetime"===e?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd":t}function toStringTimeDate(s){var r=new Date(2e3,0,1);if(s){let e=0,t=0,a=0;(_xeUtils.default.isNumber(s)||/^[0-9]{11,15}$/.test(""+s))&&(s=new Date(Number(s))),_xeUtils.default.isDate(s)?(e=s.getHours(),t=s.getMinutes(),a=s.getSeconds()):(s=(s=_xeUtils.default.toValueString(s)).match(/^(\d{1,2})(:(\d{1,2}))?(:(\d{1,2}))?/))&&(e=_xeUtils.default.toNumber(s[1]),t=_xeUtils.default.toNumber(s[3]),a=_xeUtils.default.toNumber(s[5])),r.setHours(e),r.setMinutes(t),r.setSeconds(a)}return r}function getDateQuarter(e){e=e.getMonth();return e<3?1:e<6?2:e<9?3:4}const parseDateValue=(e,t,a)=>{a=a.valueFormat;return e?"time"===t?toStringTimeDate(e):_xeUtils.default.isNumber(e)||/^[0-9]{10,15}$/.test(""+e)?new Date(Number(e)):_xeUtils.default.isString(e)?_xeUtils.default.toStringDate(_xeUtils.default.last(e.split(",")),a):_xeUtils.default.toStringDate(e,a):null},parseDateString=(exports.parseDateValue=parseDateValue,(e,t,a)=>{e=parseDateValue(e,t,a);return e?_xeUtils.default.toDateString(e,a.valueFormat):""});function parseDateObj(e,t,a){var{labelFormat:s,firstDay:r}=a;let l=null,u="";return e&&(l=parseDateValue(e,t,a)),_xeUtils.default.isValidDate(l)?(u=_xeUtils.default.toDateString(l,s,{firstDay:r}),s&&"week"===t&&(e=
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getDateByCode=getDateByCode,exports.getDateQuarter=getDateQuarter,exports.getRangeDateByCode=getRangeDateByCode,exports.handleValueFormat=handleValueFormat,exports.hasDateValueType=hasDateValueType,exports.hasTimestampValueType=hasTimestampValueType,exports.parseDateObj=parseDateObj,exports.parseDateValue=exports.parseDateString=void 0,exports.toStringTimeDate=toStringTimeDate;var _xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function hasTimestampValueType(e){return"timestamp"===e}function hasDateValueType(e){return"date"===e}function handleValueFormat(e,t){return!t||hasDateValueType(t)||hasTimestampValueType(t)?"time"===e?"HH:mm:ss":"datetime"===e?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd":t}function toStringTimeDate(s){var r=new Date(2e3,0,1);if(s){let e=0,t=0,a=0;(_xeUtils.default.isNumber(s)||/^[0-9]{11,15}$/.test(""+s))&&(s=new Date(Number(s))),_xeUtils.default.isDate(s)?(e=s.getHours(),t=s.getMinutes(),a=s.getSeconds()):(s=(s=_xeUtils.default.toValueString(s)).match(/^(\d{1,2})(:(\d{1,2}))?(:(\d{1,2}))?/))&&(e=_xeUtils.default.toNumber(s[1]),t=_xeUtils.default.toNumber(s[3]),a=_xeUtils.default.toNumber(s[5])),r.setHours(e),r.setMinutes(t),r.setSeconds(a)}return r}function getDateQuarter(e){e=e.getMonth();return e<3?1:e<6?2:e<9?3:4}const parseDateValue=(e,t,a)=>{a=a.valueFormat;return e?"time"===t?toStringTimeDate(e):_xeUtils.default.isNumber(e)||/^[0-9]{10,15}$/.test(""+e)?new Date(Number(e)):_xeUtils.default.isString(e)?_xeUtils.default.toStringDate(_xeUtils.default.last(e.split(",")),a):_xeUtils.default.toStringDate(e,a):null},parseDateString=(exports.parseDateValue=parseDateValue,(e,t,a)=>{e=parseDateValue(e,t,a);return e?_xeUtils.default.toDateString(e,a.valueFormat):""});function parseDateObj(e,t,a){var{labelFormat:s,firstDay:r}=a;let l=null,u="";return e&&(l=parseDateValue(e,t,a)),_xeUtils.default.isValidDate(l)?(u=_xeUtils.default.toDateString(l,s,{firstDay:r}),s&&"week"===t&&(e=l.getFullYear(),a=l.getMonth()+1,t=_xeUtils.default.getYearWeek(l,r),checkWeekOfsetYear(t,a))&&(r=e+1,-1<(a=s.indexOf(t="yyyy")))&&(u=u.substring(0,a)+r+u.substring(a+t.length))):l=null,{label:u,value:l}}function getDateByCode(e,t,a,s){var{valueFormat:r,firstDay:l}=s;let u=null;var i=("prev"===e||"next"===e?new Date:t?parseDateValue(t,a,s):null)||new Date;switch(e){case"prev":case"next":case"minus":case"plus":var n="plus"===e||"next"===e?1:-1;switch(a){case"date":case"datetime":u=_xeUtils.default.getWhatDay(i,n);break;case"week":u=_xeUtils.default.getWhatWeek(i,n,l,l);break;case"month":u=_xeUtils.default.getWhatMonth(i,n);break;case"quarter":u=_xeUtils.default.getWhatQuarter(i,n);break;case"year":u=_xeUtils.default.getWhatYear(i,n)}break;default:u=new Date}return{value:u?_xeUtils.default.toDateString(u,r):""}}exports.parseDateString=parseDateString;const rangeDateOffsetNumMaps={last180:-180,last90:-90,last60:-60,last30:-30,last7:-7,last3:-3,last1:-1};function getRangeDateOffsetNum(e){return rangeDateOffsetNumMaps[e]||0}function getRangeDateByCode(e,t,a,s){var{valueFormat:r,firstDay:l}=s,u=((t=_xeUtils.default.isArray(t)?t.join(""):t)?parseDateValue(t,a,s):null)||new Date;let i=null;t=u;switch(e){case"last1":case"last3":case"last7":case"last30":case"last60":case"last90":case"last180":var n=getRangeDateOffsetNum(e);switch(a){case"date":case"datetime":i=_xeUtils.default.getWhatDay(u,n);break;case"week":i=_xeUtils.default.getWhatWeek(u,n,l,l);break;case"month":i=_xeUtils.default.getWhatMonth(u,n);break;case"quarter":i=_xeUtils.default.getWhatQuarter(u,n);break;case"year":i=_xeUtils.default.getWhatYear(u,n)}break;default:i=new Date}return{startValue:i?_xeUtils.default.toDateString(i,r):"",endValue:t?_xeUtils.default.toDateString(t,r):""}}const checkWeekOfsetYear=(e,t)=>""+e=="1"&&""+t=="12";
|
package/lib/dynamics/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.checkDynamic=checkDynamic,exports.dynamicStore=exports.dynamicApp=void 0;var _vue=require("vue"),_comp=require("../ui/src/comp"),_core=require("@vxe-ui/core");let dynamicContainerElem;const dynamicStore=exports.dynamicStore=(0,_vue.reactive)({modals:[],drawers:[],globalLoading:null,globalWatermark:null,globalContextMenu:null}),VxeDynamics=(0,_comp.defineVxeComponent)({setup(){const d=_core.VxeUI.getComponent("vxe-modal"),l=_core.VxeUI.getComponent("vxe-drawer"),u=_core.VxeUI.getComponent("vxe-loading"),v=_core.VxeUI.getComponent("vxe-watermark"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.checkDynamic=checkDynamic,exports.dynamicStore=exports.dynamicApp=void 0;var _vue=require("vue"),_comp=require("../ui/src/comp"),_core=require("@vxe-ui/core");let dynamicContainerElem;const dynamicStore=exports.dynamicStore=(0,_vue.reactive)({modals:[],drawers:[],globalLoading:null,globalWatermark:null,globalContextMenu:null}),VxeDynamics=(0,_comp.defineVxeComponent)({setup(){const d=_core.VxeUI.getComponent("vxe-modal"),l=_core.VxeUI.getComponent("vxe-drawer"),u=_core.VxeUI.getComponent("vxe-loading"),v=_core.VxeUI.getComponent("vxe-watermark"),s=_core.VxeUI.getComponent("vxe-context-menu");return()=>{var{modals:e,drawers:n,globalWatermark:o,globalLoading:t,globalContextMenu:a}=dynamicStore;let c=a;if(a){const{optionClick:m,show:r,hide:i}=a.events||{};c=Object.assign({},a,{onShow(e){r&&r(e)},onHide(e){i&&i(e),dynamicStore.globalContextMenu=null},onOptionClick(e){m&&m(e)}},{events:void 0})}return[e.length?(0,_vue.h)("div",{key:1,class:"vxe-dynamics--modal"},e.map(e=>(0,_vue.h)(d,e))):(0,_vue.createCommentVNode)(),n.length?(0,_vue.h)("div",{key:2,class:"vxe-dynamics--drawer"},n.map(e=>(0,_vue.h)(l,e))):(0,_vue.createCommentVNode)(),o?(0,_vue.h)(v,o):(0,_vue.createCommentVNode)(),t?(0,_vue.h)(u,t):(0,_vue.createCommentVNode)(),a?(0,_vue.h)(s,c):(0,_vue.createCommentVNode)()]}}}),dynamicApp=exports.dynamicApp=(0,_vue.createApp)(VxeDynamics);function checkDynamic(){dynamicContainerElem||((dynamicContainerElem=document.createElement("div")).className="vxe-dynamics",document.body.appendChild(dynamicContainerElem),dynamicApp.mount(dynamicContainerElem))}
|