vxe-pc-ui 4.5.3 → 4.5.5
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/collapse/src/collapse.js +5 -1
- package/es/form/src/form.js +12 -16
- package/es/icon/style.css +1 -1
- package/es/split/src/split.js +126 -28
- package/es/split/style.css +1 -1
- package/es/split/style.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-split/style.css +1 -1
- package/es/vxe-split/style.min.css +1 -1
- package/lib/collapse/src/collapse.js +8 -1
- package/lib/collapse/src/collapse.min.js +1 -1
- package/lib/form/src/form.js +12 -16
- package/lib/form/src/form.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 +162 -45
- package/lib/index.umd.min.js +1 -1
- package/lib/split/src/split.js +143 -28
- package/lib/split/src/split.min.js +1 -1
- package/lib/split/style/style.css +1 -1
- package/lib/split/style/style.min.css +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/ui/index.js +1 -1
- 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-split/style/style.css +1 -1
- package/lib/vxe-split/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/collapse/src/collapse.ts +5 -1
- package/packages/form/src/form.ts +12 -16
- package/packages/split/src/split.ts +134 -31
- package/styles/components/split.scss +1 -1
- package/types/components/carousel.d.ts +13 -3
- package/types/components/collapse.d.ts +23 -4
- package/types/components/split-item.d.ts +3 -0
- package/types/components/split.d.ts +63 -1
- /package/es/icon/{iconfont.1743080348682.ttf → iconfont.1743138565378.ttf} +0 -0
- /package/es/icon/{iconfont.1743080348682.woff → iconfont.1743138565378.woff} +0 -0
- /package/es/icon/{iconfont.1743080348682.woff2 → iconfont.1743138565378.woff2} +0 -0
- /package/es/{iconfont.1743080348682.ttf → iconfont.1743138565378.ttf} +0 -0
- /package/es/{iconfont.1743080348682.woff → iconfont.1743138565378.woff} +0 -0
- /package/es/{iconfont.1743080348682.woff2 → iconfont.1743138565378.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1743080348682.ttf → iconfont.1743138565378.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1743080348682.woff → iconfont.1743138565378.woff} +0 -0
- /package/lib/icon/style/{iconfont.1743080348682.woff2 → iconfont.1743138565378.woff2} +0 -0
- /package/lib/{iconfont.1743080348682.ttf → iconfont.1743138565378.ttf} +0 -0
- /package/lib/{iconfont.1743080348682.woff → iconfont.1743138565378.woff} +0 -0
- /package/lib/{iconfont.1743080348682.woff2 → iconfont.1743138565378.woff2} +0 -0
package/lib/split/src/split.js
CHANGED
|
@@ -9,6 +9,7 @@ var _ui = require("../../ui");
|
|
|
9
9
|
var _vn = require("../../ui/src/vn");
|
|
10
10
|
var _dom = require("../../ui/src/dom");
|
|
11
11
|
var _utils = require("../../ui/src/utils");
|
|
12
|
+
var _log = require("../../ui/src/log");
|
|
12
13
|
var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
13
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
15
|
var _default = exports.default = (0, _vue.defineComponent)({
|
|
@@ -28,11 +29,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
28
29
|
type: Boolean,
|
|
29
30
|
default: () => (0, _ui.getConfig)().split.padding
|
|
30
31
|
},
|
|
32
|
+
items: Array,
|
|
31
33
|
itemConfig: Object,
|
|
32
34
|
barConfig: Object,
|
|
33
35
|
actionConfig: Object
|
|
34
36
|
},
|
|
35
|
-
emits: ['action-dblclick', 'action-click', 'resize-start', 'resize-drag', 'resize-end'],
|
|
37
|
+
emits: ['action-dblclick', 'action-click', 'toggle-expand', 'resize-start', 'resize-drag', 'resize-end'],
|
|
36
38
|
setup(props, context) {
|
|
37
39
|
const {
|
|
38
40
|
emit,
|
|
@@ -41,7 +43,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
41
43
|
const xID = _xeUtils.default.uniqueId();
|
|
42
44
|
const refElem = (0, _vue.ref)();
|
|
43
45
|
const reactData = (0, _vue.reactive)({
|
|
44
|
-
staticItems: []
|
|
46
|
+
staticItems: [],
|
|
47
|
+
itemList: []
|
|
45
48
|
});
|
|
46
49
|
const internalData = {};
|
|
47
50
|
const computeItemOpts = (0, _vue.computed)(() => {
|
|
@@ -140,13 +143,66 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
140
143
|
}
|
|
141
144
|
return '';
|
|
142
145
|
};
|
|
146
|
+
const reset = () => {
|
|
147
|
+
const {
|
|
148
|
+
itemList
|
|
149
|
+
} = reactData;
|
|
150
|
+
itemList.forEach(item => {
|
|
151
|
+
item.isExpand = true;
|
|
152
|
+
item.isVisible = true;
|
|
153
|
+
item.foldHeight = 0;
|
|
154
|
+
item.foldWidth = 0;
|
|
155
|
+
item.resizeHeight = 0;
|
|
156
|
+
item.resizeWidth = 0;
|
|
157
|
+
});
|
|
158
|
+
return (0, _vue.nextTick)();
|
|
159
|
+
};
|
|
160
|
+
const handleLoadItem = (list, isReset) => {
|
|
161
|
+
const {
|
|
162
|
+
staticItems
|
|
163
|
+
} = reactData;
|
|
164
|
+
const itemDef = {
|
|
165
|
+
isVisible: true,
|
|
166
|
+
isExpand: true,
|
|
167
|
+
renderWidth: 0,
|
|
168
|
+
resizeWidth: 0,
|
|
169
|
+
foldWidth: 0,
|
|
170
|
+
renderHeight: 0,
|
|
171
|
+
resizeHeight: 0,
|
|
172
|
+
foldHeight: 0
|
|
173
|
+
};
|
|
174
|
+
reactData.itemList = list.map(item => {
|
|
175
|
+
if (item.slots) {
|
|
176
|
+
_xeUtils.default.each(item.slots, func => {
|
|
177
|
+
if (!_xeUtils.default.isFunction(func)) {
|
|
178
|
+
if (!slots[func]) {
|
|
179
|
+
(0, _log.errLog)('vxe.error.notSlot', [func]);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
return Object.assign({}, isReset ? null : itemDef, item, isReset ? itemDef : null, {
|
|
185
|
+
id: _xeUtils.default.uniqueId()
|
|
186
|
+
});
|
|
187
|
+
});
|
|
188
|
+
if (staticItems.length) {
|
|
189
|
+
(0, _log.errLog)('vxe.error.errConflicts', ['<vxe-split-item ...>', 'items']);
|
|
190
|
+
}
|
|
191
|
+
return recalculate();
|
|
192
|
+
};
|
|
193
|
+
const loadItem = list => {
|
|
194
|
+
return handleLoadItem(list || [], false);
|
|
195
|
+
};
|
|
196
|
+
const reloadItem = list => {
|
|
197
|
+
return handleLoadItem(list || [], true);
|
|
198
|
+
};
|
|
143
199
|
const recalculate = () => {
|
|
144
200
|
return (0, _vue.nextTick)().then(() => {
|
|
145
201
|
const {
|
|
146
202
|
vertical
|
|
147
203
|
} = props;
|
|
148
204
|
const {
|
|
149
|
-
|
|
205
|
+
itemList
|
|
150
206
|
} = reactData;
|
|
151
207
|
const el = refElem.value;
|
|
152
208
|
if (!el) {
|
|
@@ -163,7 +219,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
163
219
|
const residueItems = [];
|
|
164
220
|
if (vertical) {
|
|
165
221
|
let countHeight = 0;
|
|
166
|
-
|
|
222
|
+
itemList.forEach(item => {
|
|
167
223
|
const {
|
|
168
224
|
height
|
|
169
225
|
} = item;
|
|
@@ -188,7 +244,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
188
244
|
}
|
|
189
245
|
} else {
|
|
190
246
|
let countWidth = 0;
|
|
191
|
-
|
|
247
|
+
itemList.forEach(item => {
|
|
192
248
|
const {
|
|
193
249
|
width
|
|
194
250
|
} = item;
|
|
@@ -220,7 +276,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
220
276
|
vertical
|
|
221
277
|
} = props;
|
|
222
278
|
const {
|
|
223
|
-
|
|
279
|
+
itemList
|
|
224
280
|
} = reactData;
|
|
225
281
|
const barEl = evnt.currentTarget;
|
|
226
282
|
const handleEl = barEl.parentElement;
|
|
@@ -229,8 +285,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
229
285
|
return;
|
|
230
286
|
}
|
|
231
287
|
const itemId = handleEl.getAttribute('itemid');
|
|
232
|
-
const itemIndex = _xeUtils.default.findIndexOf(
|
|
233
|
-
const item =
|
|
288
|
+
const itemIndex = _xeUtils.default.findIndexOf(itemList, item => item.id === itemId);
|
|
289
|
+
const item = itemList[itemIndex];
|
|
234
290
|
if (!item) {
|
|
235
291
|
return;
|
|
236
292
|
}
|
|
@@ -241,7 +297,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
241
297
|
const itemOpts = computeItemOpts.value;
|
|
242
298
|
const allMinWidth = _xeUtils.default.toNumber(itemOpts.minWidth);
|
|
243
299
|
const allMinHeight = _xeUtils.default.toNumber(itemOpts.minHeight);
|
|
244
|
-
const targetItem =
|
|
300
|
+
const targetItem = itemList[itemIndex + (isFoldNext ? 1 : -1)];
|
|
245
301
|
const targetItemEl = targetItem ? el.querySelector(`.vxe-split-item[itemid="${targetItem.id}"]`) : null;
|
|
246
302
|
const currItemEl = item ? el.querySelector(`.vxe-split-item[itemid="${item.id}"]`) : null;
|
|
247
303
|
const targetWidth = targetItemEl ? targetItemEl.clientWidth : 0;
|
|
@@ -339,6 +395,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
339
395
|
resizeHeight: item.resizeHeight,
|
|
340
396
|
resizeWidth: item.resizeWidth
|
|
341
397
|
}, evnt);
|
|
398
|
+
recalculate();
|
|
342
399
|
};
|
|
343
400
|
dispatchEvent('resize-start', {
|
|
344
401
|
item,
|
|
@@ -354,15 +411,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
354
411
|
vertical
|
|
355
412
|
} = props;
|
|
356
413
|
const {
|
|
357
|
-
|
|
414
|
+
itemList
|
|
358
415
|
} = reactData;
|
|
359
416
|
const isFoldNext = computeIsFoldNext.value;
|
|
360
417
|
const btnEl = evnt.currentTarget;
|
|
361
418
|
const handleEl = btnEl.parentElement;
|
|
362
419
|
const itemId = handleEl.getAttribute('itemid');
|
|
363
|
-
const itemIndex = _xeUtils.default.findIndexOf(
|
|
364
|
-
const item =
|
|
365
|
-
const targetItem =
|
|
420
|
+
const itemIndex = _xeUtils.default.findIndexOf(itemList, item => item.id === itemId);
|
|
421
|
+
const item = itemList[itemIndex];
|
|
422
|
+
const targetItem = itemList[itemIndex + (isFoldNext ? 1 : -1)];
|
|
366
423
|
if (item) {
|
|
367
424
|
const {
|
|
368
425
|
showAction,
|
|
@@ -386,22 +443,62 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
386
443
|
item.foldWidth = isExpand ? (targetItem.resizeWidth || targetItem.renderWidth) + (item.resizeWidth || item.renderWidth) : 0;
|
|
387
444
|
}
|
|
388
445
|
}
|
|
389
|
-
dispatchEvent(
|
|
446
|
+
dispatchEvent('toggle-expand', {
|
|
390
447
|
item,
|
|
391
448
|
name: item.name,
|
|
392
449
|
targetItem,
|
|
393
450
|
targetName: targetItem ? targetItem.name : '',
|
|
394
451
|
expanded: item.isExpand
|
|
395
452
|
}, evnt);
|
|
453
|
+
recalculate();
|
|
396
454
|
}
|
|
397
455
|
}
|
|
398
456
|
};
|
|
457
|
+
const handleActionDblclickEvent = evnt => {
|
|
458
|
+
const {
|
|
459
|
+
itemList
|
|
460
|
+
} = reactData;
|
|
461
|
+
const actionOpts = computeActionOpts.value;
|
|
462
|
+
const btnEl = evnt.currentTarget;
|
|
463
|
+
const handleEl = btnEl.parentElement;
|
|
464
|
+
const itemId = handleEl.getAttribute('itemid');
|
|
465
|
+
const itemIndex = _xeUtils.default.findIndexOf(itemList, item => item.id === itemId);
|
|
466
|
+
const item = itemList[itemIndex];
|
|
467
|
+
if (actionOpts.trigger === 'dblclick') {
|
|
468
|
+
handleItemActionEvent(evnt);
|
|
469
|
+
}
|
|
470
|
+
dispatchEvent('action-dblclick', {
|
|
471
|
+
item,
|
|
472
|
+
name: item ? item.name : ''
|
|
473
|
+
}, evnt);
|
|
474
|
+
};
|
|
475
|
+
const handleActionClickEvent = evnt => {
|
|
476
|
+
const {
|
|
477
|
+
itemList
|
|
478
|
+
} = reactData;
|
|
479
|
+
const actionOpts = computeActionOpts.value;
|
|
480
|
+
const btnEl = evnt.currentTarget;
|
|
481
|
+
const handleEl = btnEl.parentElement;
|
|
482
|
+
const itemId = handleEl.getAttribute('itemid');
|
|
483
|
+
const itemIndex = _xeUtils.default.findIndexOf(itemList, item => item.id === itemId);
|
|
484
|
+
const item = itemList[itemIndex];
|
|
485
|
+
if (actionOpts.trigger !== 'dblclick') {
|
|
486
|
+
handleItemActionEvent(evnt);
|
|
487
|
+
}
|
|
488
|
+
dispatchEvent('action-click', {
|
|
489
|
+
item,
|
|
490
|
+
name: item ? item.name : ''
|
|
491
|
+
}, evnt);
|
|
492
|
+
};
|
|
399
493
|
const handleGlobalResizeEvent = () => {
|
|
400
494
|
recalculate();
|
|
401
495
|
};
|
|
402
496
|
const splitMethods = {
|
|
403
497
|
dispatchEvent,
|
|
404
|
-
recalculate
|
|
498
|
+
recalculate,
|
|
499
|
+
reset,
|
|
500
|
+
loadItem,
|
|
501
|
+
reloadItem
|
|
405
502
|
};
|
|
406
503
|
const splitPrivateMethods = {};
|
|
407
504
|
Object.assign($xeSplit, splitMethods, splitPrivateMethods);
|
|
@@ -414,12 +511,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
414
511
|
isExpand,
|
|
415
512
|
showAction
|
|
416
513
|
} = item;
|
|
417
|
-
const btnOns = {};
|
|
418
|
-
if (actionOpts.trigger === 'dblclick') {
|
|
419
|
-
btnOns.onDblclick = handleItemActionEvent;
|
|
420
|
-
} else {
|
|
421
|
-
btnOns.onClick = handleItemActionEvent;
|
|
422
|
-
}
|
|
423
514
|
return (0, _vue.h)('div', {
|
|
424
515
|
itemid: id,
|
|
425
516
|
class: ['vxe-split-item-handle', isFoldNext ? 'to--next' : 'to--prev']
|
|
@@ -427,9 +518,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
427
518
|
class: 'vxe-split-item-handle-bar',
|
|
428
519
|
style: barStyle,
|
|
429
520
|
onMousedown: dragEvent
|
|
430
|
-
}), showAction ? (0, _vue.h)('span',
|
|
431
|
-
class: 'vxe-split-item-action-btn'
|
|
432
|
-
|
|
521
|
+
}), showAction ? (0, _vue.h)('span', {
|
|
522
|
+
class: 'vxe-split-item-action-btn',
|
|
523
|
+
onDblclick: handleActionDblclickEvent,
|
|
524
|
+
onClick: handleActionClickEvent
|
|
525
|
+
}, [(0, _vue.h)('i', {
|
|
433
526
|
class: (isExpand ? actionOpts.openIcon : actionOpts.closeIcon) || getDefaultActionIcon(item)
|
|
434
527
|
})]) : (0, _ui.renderEmptyElement)($xeSplit)]);
|
|
435
528
|
};
|
|
@@ -440,13 +533,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
440
533
|
vertical
|
|
441
534
|
} = props;
|
|
442
535
|
const {
|
|
443
|
-
|
|
536
|
+
itemList
|
|
444
537
|
} = reactData;
|
|
445
538
|
const isFoldNext = computeIsFoldNext.value;
|
|
446
539
|
const itemVNs = [];
|
|
447
|
-
|
|
540
|
+
itemList.forEach((item, index) => {
|
|
448
541
|
const {
|
|
449
542
|
id,
|
|
543
|
+
name,
|
|
450
544
|
slots,
|
|
451
545
|
renderHeight,
|
|
452
546
|
resizeHeight,
|
|
@@ -488,7 +582,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
488
582
|
class: 'vxe-split-item--wrapper'
|
|
489
583
|
}, [(0, _vue.h)('div', {
|
|
490
584
|
class: 'vxe-split-item--inner'
|
|
491
|
-
}, defaultSlot ? callSlot(defaultSlot, {
|
|
585
|
+
}, defaultSlot ? callSlot(defaultSlot, {
|
|
586
|
+
name,
|
|
587
|
+
isVisible,
|
|
588
|
+
isExpand
|
|
589
|
+
}) : [])]), isFoldNext && index < itemList.length - 1 ? renderHandleBar(item) : (0, _ui.renderEmptyElement)($xeSplit)]));
|
|
492
590
|
});
|
|
493
591
|
return (0, _vue.h)('div', {
|
|
494
592
|
class: 'vxe-split-wrapper'
|
|
@@ -516,7 +614,21 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
516
614
|
class: 'vxe-split-slots'
|
|
517
615
|
}, defaultSlot ? defaultSlot({}) : []), renderItems()]);
|
|
518
616
|
};
|
|
519
|
-
(0, _vue.
|
|
617
|
+
const itemFlag = (0, _vue.ref)(0);
|
|
618
|
+
(0, _vue.watch)(() => props.items ? props.items.length : -1, () => {
|
|
619
|
+
itemFlag.value++;
|
|
620
|
+
});
|
|
621
|
+
(0, _vue.watch)(() => props.items, () => {
|
|
622
|
+
itemFlag.value++;
|
|
623
|
+
});
|
|
624
|
+
(0, _vue.watch)(itemFlag, () => {
|
|
625
|
+
loadItem(props.items || []);
|
|
626
|
+
});
|
|
627
|
+
(0, _vue.watch)(() => reactData.staticItems, val => {
|
|
628
|
+
if (props.items && props.items.length) {
|
|
629
|
+
(0, _log.errLog)('vxe.error.errConflicts', ['<vxe-split-item ...>', 'items']);
|
|
630
|
+
}
|
|
631
|
+
reactData.itemList = val;
|
|
520
632
|
recalculate();
|
|
521
633
|
});
|
|
522
634
|
(0, _vue.onMounted)(() => {
|
|
@@ -531,6 +643,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
531
643
|
(0, _vue.onActivated)(() => {
|
|
532
644
|
recalculate();
|
|
533
645
|
});
|
|
646
|
+
if (props.items) {
|
|
647
|
+
loadItem(props.items);
|
|
648
|
+
}
|
|
534
649
|
(0, _vue.provide)('$xeSplit', $xeSplit);
|
|
535
650
|
$xeSplit.renderVN = renderVN;
|
|
536
651
|
return $xeSplit;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeSplit",props:{width:[Number,String],height:[Number,String],vertical:{type:Boolean,default:()=>(0,_ui.getConfig)().split.vertical},border:{type:Boolean,default:()=>(0,_ui.getConfig)().split.border},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().split.padding},itemConfig:Object,barConfig:Object,actionConfig:Object},emits:["action-dblclick","action-click","resize-start","resize-drag","resize-end"],setup(z,e){const{emit:s,slots:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeSplit",props:{width:[Number,String],height:[Number,String],vertical:{type:Boolean,default:()=>(0,_ui.getConfig)().split.vertical},border:{type:Boolean,default:()=>(0,_ui.getConfig)().split.border},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().split.padding},items:Array,itemConfig:Object,barConfig:Object,actionConfig:Object},emits:["action-dblclick","action-click","toggle-expand","resize-start","resize-drag","resize-end"],setup(z,e){const{emit:s,slots:l}=e;var t=_xeUtils.default.uniqueId();const H=(0,_vue.ref)(),C=(0,_vue.reactive)({staticItems:[],itemList:[]});const W=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().split.itemConfig,z.itemConfig)),r=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().split.barConfig,z.barConfig)),a=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().split.actionConfig,z.actionConfig)),E=(0,_vue.computed)(()=>{return"next"===a.value.direction}),o=(0,_vue.computed)(()=>{var{width:e,height:t}=r.value,i={};return t&&(i.height=(0,_dom.toCssUnit)(t)),e&&(i.width=(0,_dom.toCssUnit)(e)),i}),i={computeItemOpts:W,computeBarOpts:r,computeActionOpts:a,computeIsFoldNext:E},n={refElem:H},b={xID:t,props:z,context:e,reactData:C,internalData:{},getRefMaps:()=>n,getComputeMaps:()=>i},U=(e,t,i)=>{s(e,(0,_ui.createEvent)(i,{$split:b},t))},I=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=l[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[];const d=(e,t)=>{var i=C["staticItems"];const s={isVisible:!0,isExpand:!0,renderWidth:0,resizeWidth:0,foldWidth:0,renderHeight:0,resizeHeight:0,foldHeight:0};return C.itemList=e.map(e=>(e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||l[e]||(0,_log.errLog)("vxe.error.notSlot",[e])}),Object.assign({},t?null:s,e,t?s:null,{id:_xeUtils.default.uniqueId()}))),i.length&&(0,_log.errLog)("vxe.error.errConflicts",["<vxe-split-item ...>","items"]),N()},u=e=>d(e||[],!1);const N=()=>(0,_vue.nextTick)().then(()=>{var e=z["vertical"],t=C["itemList"],i=H.value;if(i){const r=i.clientWidth,l=i.clientHeight;if(r&&l){i=W.value;const n=_xeUtils.default.toNumber(i.minWidth),a=_xeUtils.default.toNumber(i.minHeight),o=[];if(e){let s=0;if(t.forEach(e=>{var t=e["height"];let i=0;t?(i=(0,_dom.isScale)(t)?l*_xeUtils.default.toNumber(t):_xeUtils.default.toNumber(t),e.renderHeight=i):o.push(e),s+=i}),o.length){const d=(l-s)/o.length;o.forEach(e=>{e.renderHeight=Math.max(_xeUtils.default.toNumber((0,_utils.getGlobalDefaultConfig)(e.minHeight,a)),d)})}}else{let s=0;if(t.forEach(e=>{var t=e["width"];let i=0;t?(i=(0,_dom.isScale)(t)?r*_xeUtils.default.toNumber(t):_xeUtils.default.toNumber(t),e.renderWidth=i):o.push(e),s+=i}),o.length){const u=(r-s)/o.length;o.forEach(e=>{e.renderWidth=Math.max(_xeUtils.default.toNumber((0,_utils.getGlobalDefaultConfig)(e.minWidth,n)),u)})}}}}}),m=e=>{e.preventDefault();const s=z["vertical"];var t=C["itemList"],i=e.currentTarget.parentElement;const r=H.value;if(r){const a=i.getAttribute("itemid");i=_xeUtils.default.findIndexOf(t,e=>e.id===a);const o=t[i];if(o&&o.isExpand){const d=E.value;var l=W.value,n=_xeUtils.default.toNumber(l.minWidth),l=_xeUtils.default.toNumber(l.minHeight);const u=t[i+(d?1:-1)];t=u?r.querySelector(`.vxe-split-item[itemid="${u.id}"]`):null,i=o?r.querySelector(`.vxe-split-item[itemid="${o.id}"]`):null;const m=t?t.clientWidth:0,c=i?i.clientWidth:0,h=t?t.clientHeight:0,g=i?i.clientHeight:0,f=_xeUtils.default.toNumber(u?(0,_utils.getGlobalDefaultConfig)(u.minWidth,n):n),v=_xeUtils.default.toNumber((0,_utils.getGlobalDefaultConfig)(o.minWidth,n)),_=_xeUtils.default.toNumber(u?(0,_utils.getGlobalDefaultConfig)(u.minHeight,l):l),p=_xeUtils.default.toNumber((0,_utils.getGlobalDefaultConfig)(o.minHeight,l)),x=e.clientX,b=e.clientY;(0,_dom.addClass)(r,"is--drag"),document.onmousemove=e=>{var t,i;e.preventDefault(),s?0<(t=d?b-e.clientY:e.clientY-b)?u&&g-t>=p&&(i=g-t,u.resizeHeight=h+t,o.resizeHeight=i,U("resize-drag",{item:o,name:o.name,offsetHeight:t,resizeHeight:i,offsetWidth:0,resizeWidth:0},e)):u&&h+t>=_&&(i=g-t,u.resizeHeight=h+t,o.resizeHeight=i,U("resize-drag",{item:o,name:o.name,offsetHeight:t,resizeHeight:i,offsetWidth:0,resizeWidth:0},e)):0<(t=d?x-e.clientX:e.clientX-x)?u&&c-t>=v&&(i=c-t,u.resizeWidth=m+t,o.resizeWidth=i,U("resize-drag",{item:o,name:o.name,offsetHeight:0,resizeHeight:0,offsetWidth:t,resizeWidth:i},e)):u&&m+t>=f&&(i=c-t,u.resizeWidth=m+t,o.resizeWidth=i,U("resize-drag",{item:o,name:o.name,offsetHeight:0,resizeHeight:0,offsetWidth:t,resizeWidth:i},e))},document.onmouseup=e=>{document.onmousemove=null,(document.onmouseup=null,_dom.removeClass)(r,"is--drag"),U("resize-end",{item:o,name:o.name,resizeHeight:o.resizeHeight,resizeWidth:o.resizeWidth},e),N()},U("resize-start",{item:o,name:o.name},e)}}},c=e=>{if(H.value){var t=z["vertical"],i=C["itemList"],s=E.value;const n=e.currentTarget.parentElement.getAttribute("itemid");var r=_xeUtils.default.findIndexOf(i,e=>e.id===n),l=i[r],i=i[r+(s?1:-1)];l&&({showAction:r,isExpand:s}=l,r)&&(t?i&&(i.isVisible=!s,i.foldHeight=0,l.isExpand=!s,l.isVisible=!0,l.foldHeight=s?(i.resizeHeight||i.renderHeight)+(l.resizeHeight||l.renderHeight):0):i&&(i.isVisible=!s,i.foldWidth=0,l.isExpand=!s,l.isVisible=!0,l.foldWidth=s?(i.resizeWidth||i.renderWidth)+(l.resizeWidth||l.renderWidth):0),U("toggle-expand",{item:l,name:l.name,targetItem:i,targetName:i?i.name:"",expanded:l.isExpand},e),N())}},h=e=>{var t=C["itemList"],i=a.value;const s=e.currentTarget.parentElement.getAttribute("itemid");t=t[_xeUtils.default.findIndexOf(t,e=>e.id===s)];"dblclick"===i.trigger&&c(e),U("action-dblclick",{item:t,name:t?t.name:""},e)},g=e=>{var t=C["itemList"],i=a.value;const s=e.currentTarget.parentElement.getAttribute("itemid");t=t[_xeUtils.default.findIndexOf(t,e=>e.id===s)];"dblclick"!==i.trigger&&c(e),U("action-click",{item:t,name:t?t.name:""},e)},f=()=>{N()};t={dispatchEvent:U,recalculate:N,reset:()=>{var e=C["itemList"];return e.forEach(e=>{e.isExpand=!0,e.isVisible=!0,e.foldHeight=0,e.foldWidth=0,e.resizeHeight=0,e.resizeWidth=0}),(0,_vue.nextTick)()},loadItem:u,reloadItem:e=>d(e||[],!0)};Object.assign(b,t,{});const O=e=>{var t=o.value,i=a.value,s=E.value,{id:r,isExpand:l,showAction:n}=e;return(0,_vue.h)("div",{itemid:r,class:["vxe-split-item-handle",s?"to--next":"to--prev"]},[(0,_vue.h)("div",{class:"vxe-split-item-handle-bar",style:t,onMousedown:m}),n?(0,_vue.h)("span",{class:"vxe-split-item-action-btn",onDblclick:h,onClick:g},[(0,_vue.h)("i",{class:(l?i.openIcon:i.closeIcon)||(e=>{var t=z["vertical"],{showAction:e,isExpand:i}=e,s=E.value,r="SPLIT_TOP_ACTION",l="SPLIT_BOTTOM_ACTION",n="SPLIT_LEFT_ACTION",a="SPLIT_RIGHT_ACTION";if(e){let e="";if(e=s?t?i?l:r:i?a:n:t?i?r:l:i?n:a)return(0,_ui.getIcon)()[e]}return""})(e)})]):(0,_ui.renderEmptyElement)(b)])};const v=(0,_vue.ref)(0);return(0,_vue.watch)(()=>z.items?z.items.length:-1,()=>{v.value++}),(0,_vue.watch)(()=>z.items,()=>{v.value++}),(0,_vue.watch)(v,()=>{u(z.items||[])}),(0,_vue.watch)(()=>C.staticItems,e=>{z.items&&z.items.length&&(0,_log.errLog)("vxe.error.errConflicts",["<vxe-split-item ...>","items"]),C.itemList=e,N()}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{N()}),_ui.globalEvents.on(b,"resize",f)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(b,"resize")}),(0,_vue.onActivated)(()=>{N()}),z.items&&u(z.items),(0,_vue.provide)("$xeSplit",b),b.renderVN=()=>{var{vertical:e,width:t,height:i}=z,s=l.default,r={};return i&&(r.height=(0,_dom.toCssUnit)(i)),t&&(r.width=(0,_dom.toCssUnit)(t)),(0,_vue.h)("div",{ref:H,class:["vxe-split",e?"is--vertical":"is--horizontal"],style:r},[(0,_vue.h)("div",{class:"vxe-split-slots"},s?s({}):[]),(()=>{const{border:g,padding:f,vertical:v}=z,_=C["itemList"],p=E.value,x=[];return _.forEach((e,t)=>{var{id:i,name:s,slots:r,renderHeight:l,resizeHeight:n,foldHeight:a,renderWidth:o,resizeWidth:d,foldWidth:u,isVisible:m,isExpand:c}=e,r=r?r.default:null,h={},u=m?u||d||o:0,d=m?a||n||l:0;v?d&&(h.height=(0,_dom.toCssUnit)(d)):u&&(h.width=(0,_dom.toCssUnit)(u)),x.push((0,_vue.h)("div",{itemid:i,class:["vxe-split-item",v?"is--vertical":"is--horizontal",{"is--padding":f,"is--border":g,"is--height":d,"is--width":u,"is--fill":m&&!d&&!u,"is--handle":0<t,"is--expand":c,"is--hidden":!m}],style:h},[t&&!p?O(e):(0,_ui.renderEmptyElement)(b),(0,_vue.h)("div",{itemid:i,class:"vxe-split-item--wrapper"},[(0,_vue.h)("div",{class:"vxe-split-item--inner"},r?I(r,{name:s,isVisible:m,isExpand:c}):[])]),p&&t<_.length-1?O(e):(0,_ui.renderEmptyElement)(b)]))}),(0,_vue.h)("div",{class:"vxe-split-wrapper"},x)})()])},b},render(){return this.renderVN()}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.vxe-split.is--vertical>.vxe-split-wrapper{flex-direction:column}.vxe-split.is--vertical>.vxe-split-wrapper>.vxe-split-item{width:100%}.vxe-split.is--drag{-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-split.is--drag>.vxe-split-wrapper>.vxe-split-item>.vxe-split-item--wrapper::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;background:0 0}.vxe-split-wrapper{height:100%;display:flex;flex-direction:row;overflow:hidden}.vxe-split-slots{display:none}.vxe-split-item-handle{position:relative;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-split-item--wrapper{position:relative;word-break:break-word;overflow:hidden;flex-grow:1}.vxe-split-item--inner{height:100%;width:100%;overflow:auto}.vxe-split-item--inner>.vxe-split{height:100%}.vxe-split-item-handle-bar{background-color:var(--vxe-split-handle-bar-background-color)}.vxe-split-item-action-btn{display:block;position:absolute;z-index:2;cursor:pointer;background-color:var(--vxe-ui-layout-background-color);border:1px solid var(--vxe-ui-input-border-color);transition:transform .1s ease-in-out}.vxe-split-item{display:flex;position:relative;overflow:
|
|
1
|
+
.vxe-split.is--vertical>.vxe-split-wrapper{flex-direction:column}.vxe-split.is--vertical>.vxe-split-wrapper>.vxe-split-item{width:100%}.vxe-split.is--drag{-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-split.is--drag>.vxe-split-wrapper>.vxe-split-item>.vxe-split-item--wrapper::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;background:0 0}.vxe-split-wrapper{height:100%;display:flex;flex-direction:row;overflow:hidden}.vxe-split-slots{display:none}.vxe-split-item-handle{position:relative;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-split-item--wrapper{position:relative;word-break:break-word;overflow:hidden;flex-grow:1}.vxe-split-item--inner{height:100%;width:100%;overflow:auto}.vxe-split-item--inner>.vxe-split{height:100%}.vxe-split-item-handle-bar{background-color:var(--vxe-split-handle-bar-background-color)}.vxe-split-item-action-btn{display:block;position:absolute;z-index:2;cursor:pointer;background-color:var(--vxe-ui-layout-background-color);border:1px solid var(--vxe-ui-input-border-color);transition:transform .1s ease-in-out}.vxe-split-item{display:flex;position:relative;overflow:hidden}.vxe-split-item.is--hidden{width:0}.vxe-split-item.is--padding>.vxe-split-item--wrapper{padding:var(--vxe-ui-layout-padding-default)}.vxe-split-item.is--fill{flex-grow:1}.vxe-split-item.is--height,.vxe-split-item.is--width{flex-shrink:0}.vxe-split-item.is--border>.vxe-split-item--wrapper,.vxe-split-item.is--border>.vxe-split-item-handle{border:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-split-item.is--expand.is--horizontal>.vxe-split-item-handle .vxe-split-item-handle-bar{cursor:w-resize}.vxe-split-item.is--expand.is--vertical>.vxe-split-item-handle .vxe-split-item-handle-bar{cursor:n-resize}.vxe-split-item.is--expand>.vxe-split-item-handle>.vxe-split-item-handle-bar{background-color:var(--vxe-split-handle-bar-background-color)}.vxe-split-item.is--expand>.vxe-split-item-handle>.vxe-split-item-handle-bar:hover{background-color:var(--vxe-ui-font-primary-lighten-color)}.vxe-split-item.is--expand>.vxe-split-item-handle>.vxe-split-item-handle-bar:active{background-color:var(--vxe-ui-font-primary-darken-color)}.vxe-split-item.is--horizontal{flex-direction:row}.vxe-split-item.is--horizontal>.vxe-split-item-handle.to--prev .vxe-split-item-action-btn{left:0}.vxe-split-item.is--horizontal>.vxe-split-item-handle.to--next .vxe-split-item-action-btn{right:0}.vxe-split-item.is--horizontal>.vxe-split-item-handle .vxe-split-item-handle-bar{width:var(--vxe-split-handle-bar-width);height:100%}.vxe-split-item.is--horizontal>.vxe-split-item-handle .vxe-split-item-action-btn{top:50%;transform:translateY(-50%);padding:1em 0}.vxe-split-item.is--horizontal>.vxe-split-item-handle .vxe-split-item-action-btn:hover{color:var(--vxe-ui-font-primary-color)}.vxe-split-item.is--horizontal>.vxe-split-item-handle .vxe-split-item-action-btn:active{transform:translateY(-50%) scale(.9)}.vxe-split-item.is--horizontal.is--border>.vxe-split-item-handle{border-width:1px 0 1px 0}.vxe-split-item.is--vertical{flex-direction:column}.vxe-split-item.is--vertical>.vxe-split-item-handle.to--prev .vxe-split-item-action-btn{top:0}.vxe-split-item.is--vertical>.vxe-split-item-handle.to--next .vxe-split-item-action-btn{bottom:0}.vxe-split-item.is--vertical>.vxe-split-item-handle .vxe-split-item-handle-bar{height:var(--vxe-split-handle-bar-height);width:100%}.vxe-split-item.is--vertical>.vxe-split-item-handle .vxe-split-item-action-btn{left:50%;transform:translateX(-50%);padding:0 1em}.vxe-split-item.is--vertical>.vxe-split-item-handle .vxe-split-item-action-btn:hover{color:var(--vxe-ui-font-primary-color)}.vxe-split-item.is--vertical>.vxe-split-item-handle .vxe-split-item-action-btn:active{transform:translateX(-50%) scale(.9)}.vxe-split-item.is--vertical.is--border>.vxe-split-item-handle{border-width:0 1px 0 1px}
|