vxe-pc-ui 4.10.10 → 4.10.12
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/components.js +6 -0
- package/es/icon/style.css +1 -1
- package/es/split/index.js +2 -2
- package/es/split/style.css +81 -79
- package/es/split/style.min.css +1 -1
- package/es/split-pane/index.js +2 -2
- package/es/splitter/index.js +12 -0
- package/es/{split/src/split-pane.js → splitter/src/splitter-panel.js} +15 -15
- package/es/{split/src/split.js → splitter/src/splitter.js} +137 -68
- package/es/splitter/src/util.js +17 -0
- package/es/splitter/style.css +290 -0
- package/es/splitter/style.min.css +1 -0
- package/es/splitter-panel/index.js +12 -0
- package/es/splitter-panel/style.css +0 -0
- package/es/splitter-panel/style.min.css +0 -0
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/ui/index.js +3 -3
- package/es/ui/src/log.js +1 -1
- package/es/vxe-split/style.css +81 -79
- package/es/vxe-split/style.min.css +1 -1
- package/es/vxe-splitter/index.js +3 -0
- package/es/vxe-splitter/style.css +290 -0
- package/es/vxe-splitter/style.min.css +1 -0
- package/es/vxe-splitter-panel/index.js +3 -0
- package/es/vxe-splitter-panel/style.css +0 -0
- package/es/vxe-splitter-panel/style.min.css +0 -0
- package/lib/components.js +25 -1
- package/lib/components.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 +231 -115
- package/lib/index.umd.min.js +1 -1
- package/lib/split/index.js +4 -4
- package/lib/split/index.min.js +1 -1
- package/lib/split/style/style.css +81 -79
- package/lib/split/style/style.min.css +1 -1
- package/lib/split-pane/index.js +5 -5
- package/lib/split-pane/index.min.js +1 -1
- package/lib/splitter/index.js +19 -0
- package/lib/splitter/index.min.js +1 -0
- package/lib/{split/src/split-pane.js → splitter/src/splitter-panel.js} +14 -14
- package/lib/splitter/src/splitter-panel.min.js +1 -0
- package/lib/{split/src/split.js → splitter/src/splitter.js} +150 -72
- package/lib/splitter/src/splitter.min.js +1 -0
- package/lib/{split → splitter}/src/util.js +8 -8
- package/lib/splitter/src/util.min.js +1 -0
- package/lib/splitter/style/index.js +1 -0
- package/lib/splitter/style/style.css +290 -0
- package/lib/splitter/style/style.min.css +1 -0
- package/lib/splitter-panel/index.js +19 -0
- package/lib/splitter-panel/index.min.js +1 -0
- package/lib/splitter-panel/style/index.js +1 -0
- package/lib/splitter-panel/style/style.css +0 -0
- package/lib/splitter-panel/style/style.min.css +0 -0
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/ui/index.js +3 -3
- 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 +81 -79
- package/lib/vxe-split/style/style.min.css +1 -1
- package/lib/vxe-splitter/index.js +22 -0
- package/lib/vxe-splitter/index.min.js +1 -0
- package/lib/vxe-splitter/style/index.js +1 -0
- package/lib/vxe-splitter/style/style.css +290 -0
- package/lib/vxe-splitter/style/style.min.css +1 -0
- package/lib/vxe-splitter-panel/index.js +22 -0
- package/lib/vxe-splitter-panel/index.min.js +1 -0
- package/lib/vxe-splitter-panel/style/index.js +1 -0
- package/lib/vxe-splitter-panel/style/style.css +0 -0
- package/lib/vxe-splitter-panel/style/style.min.css +0 -0
- package/package.json +1 -1
- package/packages/components.ts +6 -0
- package/packages/split/index.ts +2 -2
- package/packages/split-pane/index.ts +2 -2
- package/packages/splitter/index.ts +16 -0
- package/packages/splitter/src/splitter-panel.ts +145 -0
- package/packages/{split/src/split.ts → splitter/src/splitter.ts} +168 -96
- package/packages/splitter/src/util.ts +21 -0
- package/packages/splitter-panel/index.ts +16 -0
- package/packages/ui/index.ts +2 -2
- package/styles/components/split.scss +1 -317
- package/styles/components/splitter-panel.scss +0 -0
- package/styles/components/splitter.scss +319 -0
- package/styles/theme/base.scss +6 -6
- package/styles/theme/dark.scss +3 -3
- package/styles/theme/light.scss +3 -3
- package/styles/variable.scss +3 -3
- package/types/all.d.ts +6 -0
- package/types/components/split-pane.d.ts +42 -14
- package/types/components/split.d.ts +54 -18
- package/types/components/splitter-panel.d.ts +105 -0
- package/types/components/splitter.d.ts +288 -0
- package/types/components/table.d.ts +5 -0
- package/types/ui/global-config.d.ts +4 -0
- package/types/ui/global-icon.d.ts +1 -1
- package/es/split/src/util.js +0 -17
- package/lib/split/src/split-pane.min.js +0 -1
- package/lib/split/src/split.min.js +0 -1
- package/lib/split/src/util.min.js +0 -1
- package/packages/split/src/split-pane.ts +0 -145
- package/packages/split/src/util.ts +0 -21
- /package/es/icon/{iconfont.1761298747069.ttf → iconfont.1761641785778.ttf} +0 -0
- /package/es/icon/{iconfont.1761298747069.woff → iconfont.1761641785778.woff} +0 -0
- /package/es/icon/{iconfont.1761298747069.woff2 → iconfont.1761641785778.woff2} +0 -0
- /package/es/{iconfont.1761298747069.ttf → iconfont.1761641785778.ttf} +0 -0
- /package/es/{iconfont.1761298747069.woff → iconfont.1761641785778.woff} +0 -0
- /package/es/{iconfont.1761298747069.woff2 → iconfont.1761641785778.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1761298747069.ttf → iconfont.1761641785778.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1761298747069.woff → iconfont.1761641785778.woff} +0 -0
- /package/lib/icon/style/{iconfont.1761298747069.woff2 → iconfont.1761641785778.woff2} +0 -0
- /package/lib/{iconfont.1761298747069.ttf → iconfont.1761641785778.ttf} +0 -0
- /package/lib/{iconfont.1761298747069.woff → iconfont.1761641785778.woff} +0 -0
- /package/lib/{iconfont.1761298747069.woff2 → iconfont.1761641785778.woff2} +0 -0
|
@@ -14,25 +14,25 @@ var _log = require("../../ui/src/log");
|
|
|
14
14
|
var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
15
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
16
|
var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
17
|
-
name: '
|
|
17
|
+
name: 'VxeSplitter',
|
|
18
18
|
props: {
|
|
19
19
|
width: [Number, String],
|
|
20
20
|
height: [Number, String],
|
|
21
21
|
vertical: {
|
|
22
22
|
type: Boolean,
|
|
23
|
-
default: () => (0, _ui.getConfig)().
|
|
23
|
+
default: () => (0, _ui.getConfig)().splitter.vertical
|
|
24
24
|
},
|
|
25
25
|
border: {
|
|
26
26
|
type: Boolean,
|
|
27
|
-
default: () => (0, _ui.getConfig)().
|
|
27
|
+
default: () => (0, _ui.getConfig)().splitter.border
|
|
28
28
|
},
|
|
29
29
|
padding: {
|
|
30
30
|
type: Boolean,
|
|
31
|
-
default: () => (0, _ui.getConfig)().
|
|
31
|
+
default: () => (0, _ui.getConfig)().splitter.padding
|
|
32
32
|
},
|
|
33
33
|
resize: {
|
|
34
34
|
type: Boolean,
|
|
35
|
-
default: () => (0, _ui.getConfig)().
|
|
35
|
+
default: () => (0, _ui.getConfig)().splitter.resize
|
|
36
36
|
},
|
|
37
37
|
items: Array,
|
|
38
38
|
itemConfig: Object,
|
|
@@ -41,7 +41,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
41
41
|
actionConfig: Object,
|
|
42
42
|
size: {
|
|
43
43
|
type: String,
|
|
44
|
-
default: () => (0, _ui.getConfig)().
|
|
44
|
+
default: () => (0, _ui.getConfig)().splitter.size || (0, _ui.getConfig)().size
|
|
45
45
|
}
|
|
46
46
|
},
|
|
47
47
|
emits: ['action-dblclick', 'action-click', 'toggle-expand', 'resize-start', 'resize-drag', 'resize-end'],
|
|
@@ -53,7 +53,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
53
53
|
const xID = _xeUtils.default.uniqueId();
|
|
54
54
|
const refElem = (0, _vue.ref)();
|
|
55
55
|
const refBarInfoElem = (0, _vue.ref)();
|
|
56
|
-
const
|
|
56
|
+
const refResizableSplitterTip = (0, _vue.ref)();
|
|
57
57
|
const {
|
|
58
58
|
computeSize
|
|
59
59
|
} = (0, _ui.useSize)(props);
|
|
@@ -68,16 +68,16 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
68
68
|
wrapperHeight: 0
|
|
69
69
|
};
|
|
70
70
|
const computeItemOpts = (0, _vue.computed)(() => {
|
|
71
|
-
return Object.assign({}, (0, _ui.getConfig)().
|
|
71
|
+
return Object.assign({}, (0, _ui.getConfig)().splitter.itemConfig, props.itemConfig);
|
|
72
72
|
});
|
|
73
73
|
const computeBarOpts = (0, _vue.computed)(() => {
|
|
74
|
-
return Object.assign({}, (0, _ui.getConfig)().
|
|
74
|
+
return Object.assign({}, (0, _ui.getConfig)().splitter.barConfig, props.barConfig);
|
|
75
75
|
});
|
|
76
76
|
const computeResizeOpts = (0, _vue.computed)(() => {
|
|
77
|
-
return Object.assign({}, (0, _ui.getConfig)().
|
|
77
|
+
return Object.assign({}, (0, _ui.getConfig)().splitter.resizeConfig, props.resizeConfig);
|
|
78
78
|
});
|
|
79
79
|
const computeActionOpts = (0, _vue.computed)(() => {
|
|
80
|
-
return Object.assign({}, (0, _ui.getConfig)().
|
|
80
|
+
return Object.assign({}, (0, _ui.getConfig)().splitter.actionConfig, props.actionConfig);
|
|
81
81
|
});
|
|
82
82
|
const computeVisibleItems = (0, _vue.computed)(() => {
|
|
83
83
|
return reactData.itemList.filter(item => item.isExpand);
|
|
@@ -147,7 +147,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
147
147
|
const refMaps = {
|
|
148
148
|
refElem
|
|
149
149
|
};
|
|
150
|
-
const $
|
|
150
|
+
const $xeSplitter = {
|
|
151
151
|
xID,
|
|
152
152
|
props,
|
|
153
153
|
context,
|
|
@@ -158,7 +158,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
158
158
|
};
|
|
159
159
|
const dispatchEvent = (type, params, evnt) => {
|
|
160
160
|
emit(type, (0, _ui.createEvent)(evnt, {
|
|
161
|
-
$
|
|
161
|
+
$splitter: $xeSplitter
|
|
162
162
|
}, params));
|
|
163
163
|
};
|
|
164
164
|
const callSlot = (slotFunc, params) => {
|
|
@@ -232,13 +232,13 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
232
232
|
};
|
|
233
233
|
reactData.itemList = list.map(item => {
|
|
234
234
|
if (item.showAction) {
|
|
235
|
-
(0, _log.warnLog)('vxe.error.removeProp', ['[
|
|
235
|
+
(0, _log.warnLog)('vxe.error.removeProp', ['[splitter] show-action']);
|
|
236
236
|
}
|
|
237
237
|
if (item.slots) {
|
|
238
238
|
_xeUtils.default.each(item.slots, func => {
|
|
239
239
|
if (!_xeUtils.default.isFunction(func)) {
|
|
240
240
|
if (!slots[func]) {
|
|
241
|
-
(0, _log.errLog)('vxe.error.notSlot', [`[
|
|
241
|
+
(0, _log.errLog)('vxe.error.notSlot', [`[splitter] ${func}`]);
|
|
242
242
|
}
|
|
243
243
|
}
|
|
244
244
|
});
|
|
@@ -248,7 +248,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
248
248
|
});
|
|
249
249
|
});
|
|
250
250
|
if (staticItems.length) {
|
|
251
|
-
(0, _log.errLog)('vxe.error.errConflicts', ['<vxe-
|
|
251
|
+
(0, _log.errLog)('vxe.error.errConflicts', ['<vxe-splitter-panel ...>', 'items']);
|
|
252
252
|
}
|
|
253
253
|
if ((showPrevButton || showNextButton) && reactData.itemList.length > 2) {
|
|
254
254
|
(0, _log.errLog)('vxe.error.errConflicts', ['action-config.showPrevButton | action-config.showNextButton', 'Only supports 2 item']);
|
|
@@ -261,6 +261,79 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
261
261
|
const reloadItem = list => {
|
|
262
262
|
return handleLoadItem(list || [], true);
|
|
263
263
|
};
|
|
264
|
+
const handleItemByName = name => {
|
|
265
|
+
const {
|
|
266
|
+
itemList
|
|
267
|
+
} = reactData;
|
|
268
|
+
let index = -1;
|
|
269
|
+
let currItem = null;
|
|
270
|
+
let prevItem = null;
|
|
271
|
+
let nextItem = null;
|
|
272
|
+
for (let i = 0; i < itemList.length; i++) {
|
|
273
|
+
const item = itemList[i];
|
|
274
|
+
if (item.name === name) {
|
|
275
|
+
index = i;
|
|
276
|
+
currItem = item;
|
|
277
|
+
prevItem = itemList[i - 1] || null;
|
|
278
|
+
nextItem = itemList[i + 1] || null;
|
|
279
|
+
break;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
return {
|
|
283
|
+
index,
|
|
284
|
+
currItem,
|
|
285
|
+
prevItem,
|
|
286
|
+
nextItem
|
|
287
|
+
};
|
|
288
|
+
};
|
|
289
|
+
const setItemExpand = (name, expanded) => {
|
|
290
|
+
const restItem = handleItemByName(name);
|
|
291
|
+
if (restItem) {
|
|
292
|
+
const {
|
|
293
|
+
currItem,
|
|
294
|
+
prevItem,
|
|
295
|
+
nextItem
|
|
296
|
+
} = restItem;
|
|
297
|
+
if (currItem) {
|
|
298
|
+
if (expanded ? !currItem.isExpand : currItem.isExpand) {
|
|
299
|
+
if (nextItem) {
|
|
300
|
+
if (nextItem.isExpand) {
|
|
301
|
+
handleItemActionEvent(null, currItem, nextItem, false);
|
|
302
|
+
}
|
|
303
|
+
} else if (prevItem) {
|
|
304
|
+
if (prevItem.isExpand) {
|
|
305
|
+
handleItemActionEvent(null, prevItem, currItem, true);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
return (0, _vue.nextTick)();
|
|
312
|
+
};
|
|
313
|
+
const toggleItemExpand = name => {
|
|
314
|
+
const restItem = handleItemByName(name);
|
|
315
|
+
if (restItem) {
|
|
316
|
+
const {
|
|
317
|
+
currItem
|
|
318
|
+
} = restItem;
|
|
319
|
+
if (currItem) {
|
|
320
|
+
return setItemExpand(name, !currItem.isExpand);
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
return (0, _vue.nextTick)();
|
|
324
|
+
};
|
|
325
|
+
const getItemExpand = name => {
|
|
326
|
+
const restItem = handleItemByName(name);
|
|
327
|
+
if (restItem) {
|
|
328
|
+
const {
|
|
329
|
+
currItem
|
|
330
|
+
} = restItem;
|
|
331
|
+
if (currItem) {
|
|
332
|
+
return currItem.isExpand;
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
return false;
|
|
336
|
+
};
|
|
264
337
|
const recalculate = () => {
|
|
265
338
|
return (0, _vue.nextTick)().then(() => {
|
|
266
339
|
const {
|
|
@@ -376,8 +449,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
376
449
|
}
|
|
377
450
|
const containerRect = el.getBoundingClientRect();
|
|
378
451
|
const barRect = barEl.getBoundingClientRect();
|
|
379
|
-
const
|
|
380
|
-
const
|
|
452
|
+
const rsSplitterLineEl = refResizableSplitterTip.value;
|
|
453
|
+
const rsSplitterTipEl = rsSplitterLineEl ? rsSplitterLineEl.children[0] : null;
|
|
381
454
|
const itemOpts = computeItemOpts.value;
|
|
382
455
|
const resizeOpts = computeResizeOpts.value;
|
|
383
456
|
const {
|
|
@@ -410,11 +483,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
410
483
|
let nextResizeHeight = 0;
|
|
411
484
|
let offsetTop = startOffsetTop;
|
|
412
485
|
const handleReStyle = evnt => {
|
|
413
|
-
if (!
|
|
486
|
+
if (!rsSplitterLineEl) {
|
|
414
487
|
return;
|
|
415
488
|
}
|
|
416
|
-
const rsNumPrevEl =
|
|
417
|
-
const rsNumNextEl =
|
|
489
|
+
const rsNumPrevEl = rsSplitterTipEl ? rsSplitterTipEl.children[0] : null;
|
|
490
|
+
const rsNumNextEl = rsSplitterTipEl ? rsSplitterTipEl.children[1] : null;
|
|
418
491
|
if (vertical) {
|
|
419
492
|
let tipWidth = 0;
|
|
420
493
|
if (rsNumPrevEl) {
|
|
@@ -439,10 +512,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
439
512
|
if (rsLeft > containerRect.width - tipWidth - 1) {
|
|
440
513
|
rsLeft = containerRect.width - tipWidth - 1;
|
|
441
514
|
}
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
if (
|
|
445
|
-
|
|
515
|
+
rsSplitterLineEl.style.left = '0';
|
|
516
|
+
rsSplitterLineEl.style.top = `${offsetTop}px`;
|
|
517
|
+
if (rsSplitterTipEl) {
|
|
518
|
+
rsSplitterTipEl.style.left = `${rsLeft}px`;
|
|
446
519
|
}
|
|
447
520
|
} else {
|
|
448
521
|
let tipHeight = 0;
|
|
@@ -468,10 +541,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
468
541
|
if (rsTop > containerRect.height - tipHeight - 1) {
|
|
469
542
|
rsTop = containerRect.height - tipHeight - 1;
|
|
470
543
|
}
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
if (
|
|
474
|
-
|
|
544
|
+
rsSplitterLineEl.style.top = '0';
|
|
545
|
+
rsSplitterLineEl.style.left = `${offsetLeft}px`;
|
|
546
|
+
if (rsSplitterTipEl) {
|
|
547
|
+
rsSplitterTipEl.style.top = `${rsTop}px`;
|
|
475
548
|
}
|
|
476
549
|
}
|
|
477
550
|
};
|
|
@@ -517,7 +590,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
517
590
|
nextEl.style.width = (0, _dom.toCssUnit)(nextResizeWidth);
|
|
518
591
|
}
|
|
519
592
|
}
|
|
520
|
-
if (
|
|
593
|
+
if (rsSplitterLineEl) {
|
|
521
594
|
handleReStyle(evnt);
|
|
522
595
|
}
|
|
523
596
|
dispatchEvent('resize-drag', {
|
|
@@ -534,8 +607,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
534
607
|
document.onmouseup = evnt => {
|
|
535
608
|
document.onmousemove = null;
|
|
536
609
|
document.onmouseup = null;
|
|
537
|
-
if (
|
|
538
|
-
|
|
610
|
+
if (rsSplitterLineEl) {
|
|
611
|
+
rsSplitterLineEl.style.display = '';
|
|
539
612
|
}
|
|
540
613
|
handleUpdate();
|
|
541
614
|
(0, _dom.removeClass)(el, 'is--drag');
|
|
@@ -547,8 +620,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
547
620
|
}, evnt);
|
|
548
621
|
recalculate();
|
|
549
622
|
};
|
|
550
|
-
if (
|
|
551
|
-
|
|
623
|
+
if (rsSplitterLineEl) {
|
|
624
|
+
rsSplitterLineEl.style.display = 'block';
|
|
552
625
|
handleReStyle(evnt);
|
|
553
626
|
}
|
|
554
627
|
handleDrag(evnt);
|
|
@@ -595,12 +668,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
595
668
|
nextItem.foldWidth = (prevItem.resizeWidth || prevItem.renderWidth) + (nextItem.resizeWidth || nextItem.renderWidth);
|
|
596
669
|
}
|
|
597
670
|
}
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
671
|
+
if (evnt) {
|
|
672
|
+
dispatchEvent('toggle-expand', {
|
|
673
|
+
prevItem,
|
|
674
|
+
nextItem,
|
|
675
|
+
expanded,
|
|
676
|
+
item
|
|
677
|
+
}, evnt);
|
|
678
|
+
}
|
|
604
679
|
recalculate();
|
|
605
680
|
};
|
|
606
681
|
const handlePrevActionDblclickEvent = evnt => {
|
|
@@ -702,15 +777,18 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
702
777
|
const handleGlobalResizeEvent = () => {
|
|
703
778
|
recalculate();
|
|
704
779
|
};
|
|
705
|
-
const
|
|
780
|
+
const splitterMethods = {
|
|
706
781
|
dispatchEvent,
|
|
782
|
+
setItemExpand,
|
|
783
|
+
toggleItemExpand,
|
|
784
|
+
getItemExpand,
|
|
707
785
|
recalculate,
|
|
708
786
|
reset,
|
|
709
787
|
loadItem,
|
|
710
788
|
reloadItem
|
|
711
789
|
};
|
|
712
|
-
const
|
|
713
|
-
Object.assign($
|
|
790
|
+
const splitterPrivateMethods = {};
|
|
791
|
+
Object.assign($xeSplitter, splitterMethods, splitterPrivateMethods);
|
|
714
792
|
const renderHandleBar = (prevItem, nextItem) => {
|
|
715
793
|
const {
|
|
716
794
|
border,
|
|
@@ -732,29 +810,29 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
732
810
|
immediate
|
|
733
811
|
} = resizeOpts;
|
|
734
812
|
return (0, _vue.h)('div', {
|
|
735
|
-
class: ['vxe-
|
|
813
|
+
class: ['vxe-splitter-panel-handle', vertical ? 'is--vertical' : 'is--horizontal', immediate ? 'is-resize--immediate' : 'is-resize--lazy', {
|
|
736
814
|
'is--resize': resize,
|
|
737
815
|
'is--border': border
|
|
738
816
|
}]
|
|
739
817
|
}, [(0, _vue.h)('div', {
|
|
740
|
-
class: 'vxe-
|
|
818
|
+
class: 'vxe-splitter-panel-handle-bar',
|
|
741
819
|
style: barStyle,
|
|
742
820
|
onMousedown: dragEvent
|
|
743
821
|
}), itemList.length === 2 ? (0, _vue.h)('div', {
|
|
744
|
-
class: 'vxe-
|
|
822
|
+
class: 'vxe-splitter-panel-action-btn-wrapper'
|
|
745
823
|
}, [showPrevButton && nextItem.isExpand ? (0, _vue.h)('div', {
|
|
746
|
-
class: 'vxe-
|
|
824
|
+
class: 'vxe-splitter-panel-action-btn',
|
|
747
825
|
onDblclick: handlePrevActionDblclickEvent,
|
|
748
826
|
onClick: handlePrevActionClickEvent
|
|
749
827
|
}, [(0, _vue.h)('i', {
|
|
750
828
|
class: getActionIcon(prevItem, nextItem, false)
|
|
751
|
-
})]) : (0, _ui.renderEmptyElement)($
|
|
752
|
-
class: 'vxe-
|
|
829
|
+
})]) : (0, _ui.renderEmptyElement)($xeSplitter), showNextButton && prevItem.isExpand ? (0, _vue.h)('div', {
|
|
830
|
+
class: 'vxe-splitter-panel-action-btn',
|
|
753
831
|
onDblclick: handleNextActionDblclickEvent,
|
|
754
832
|
onClick: handleNextActionClickEvent
|
|
755
833
|
}, [(0, _vue.h)('i', {
|
|
756
834
|
class: getActionIcon(prevItem, nextItem, true)
|
|
757
|
-
})]) : (0, _ui.renderEmptyElement)($
|
|
835
|
+
})]) : (0, _ui.renderEmptyElement)($xeSplitter)]) : (0, _ui.renderEmptyElement)($xeSplitter)]);
|
|
758
836
|
};
|
|
759
837
|
const renderItems = () => {
|
|
760
838
|
const {
|
|
@@ -820,7 +898,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
820
898
|
}
|
|
821
899
|
itemVNs.push((0, _vue.h)('div', {
|
|
822
900
|
itemid: id,
|
|
823
|
-
class: ['vxe-
|
|
901
|
+
class: ['vxe-splitter-panel', vertical ? 'is--vertical' : 'is--horizontal', immediate ? 'is-resize--immediate' : 'is-resize--lazy', {
|
|
824
902
|
[`size--${vSize}`]: vSize,
|
|
825
903
|
'is--resize': resize,
|
|
826
904
|
'is--padding': padding,
|
|
@@ -834,9 +912,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
834
912
|
style: stys
|
|
835
913
|
}, [(0, _vue.h)('div', {
|
|
836
914
|
itemid: id,
|
|
837
|
-
class: 'vxe-
|
|
915
|
+
class: 'vxe-splitter-panel--wrapper'
|
|
838
916
|
}, [(0, _vue.h)('div', {
|
|
839
|
-
class: 'vxe-
|
|
917
|
+
class: 'vxe-splitter-panel--inner'
|
|
840
918
|
}, defaultSlot ? callSlot(defaultSlot, {
|
|
841
919
|
name,
|
|
842
920
|
isExpand
|
|
@@ -846,7 +924,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
846
924
|
}
|
|
847
925
|
});
|
|
848
926
|
return (0, _vue.h)('div', {
|
|
849
|
-
class: 'vxe-
|
|
927
|
+
class: 'vxe-splitter-wrapper'
|
|
850
928
|
}, itemVNs);
|
|
851
929
|
};
|
|
852
930
|
const renderVN = () => {
|
|
@@ -871,26 +949,26 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
871
949
|
}
|
|
872
950
|
return (0, _vue.h)('div', {
|
|
873
951
|
ref: refElem,
|
|
874
|
-
class: ['vxe-
|
|
952
|
+
class: ['vxe-splitter', vertical ? 'is--vertical' : 'is--horizontal', immediate ? 'is-resize--immediate' : 'is-resize--lazy', {
|
|
875
953
|
[`size--${vSize}`]: vSize
|
|
876
954
|
}],
|
|
877
955
|
style: stys
|
|
878
956
|
}, [(0, _vue.h)('div', {
|
|
879
|
-
class: 'vxe-
|
|
957
|
+
class: 'vxe-splitter-slots'
|
|
880
958
|
}, defaultSlot ? defaultSlot({}) : []), renderItems(), (0, _vue.h)('div', {
|
|
881
|
-
ref:
|
|
882
|
-
class: ['vxe-
|
|
959
|
+
ref: refResizableSplitterTip,
|
|
960
|
+
class: ['vxe-splitter--resizable-splitter-tip', vertical ? 'is--vertical' : 'is--horizontal', immediate ? 'is-resize--immediate' : 'is-resize--lazy']
|
|
883
961
|
}, showTip ? [(0, _vue.h)('div', {
|
|
884
|
-
class: 'vxe-
|
|
962
|
+
class: 'vxe-splitter--resizable-splitter-tip-number'
|
|
885
963
|
}, [(0, _vue.h)('div', {
|
|
886
|
-
class: 'vxe-
|
|
964
|
+
class: 'vxe-splitter--resizable-splitter-number-prev'
|
|
887
965
|
}), (0, _vue.h)('div', {
|
|
888
|
-
class: 'vxe-
|
|
966
|
+
class: 'vxe-splitter--resizable-splitter-number-next'
|
|
889
967
|
})])] : []), (0, _vue.h)('div', {
|
|
890
|
-
class: 'vxe-
|
|
968
|
+
class: 'vxe-splitter--render-vars'
|
|
891
969
|
}, [(0, _vue.h)('div', {
|
|
892
970
|
ref: refBarInfoElem,
|
|
893
|
-
class: 'vxe-
|
|
971
|
+
class: 'vxe-splitter--handle-bar-info'
|
|
894
972
|
})])]);
|
|
895
973
|
};
|
|
896
974
|
const itemFlag = (0, _vue.ref)(0);
|
|
@@ -910,15 +988,15 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
910
988
|
showNextButton
|
|
911
989
|
} = actionOpts;
|
|
912
990
|
if (props.items && props.items.length) {
|
|
913
|
-
(0, _log.errLog)('vxe.error.errConflicts', ['<vxe-
|
|
991
|
+
(0, _log.errLog)('vxe.error.errConflicts', ['<vxe-splitter-panel ...>', 'items']);
|
|
914
992
|
}
|
|
915
993
|
reactData.itemList = val || [];
|
|
916
994
|
if ((showPrevButton || showNextButton) && reactData.itemList.length > 2) {
|
|
917
|
-
(0, _log.errLog)('vxe.error.modelConflicts', ['[
|
|
995
|
+
(0, _log.errLog)('vxe.error.modelConflicts', ['[splitter] action-config.showPrevButton | action-config.showNextButton', '<vxe-splitter-panel ...> Only supports 2 panel']);
|
|
918
996
|
}
|
|
919
997
|
reactData.itemList.forEach(item => {
|
|
920
998
|
if (item.showAction) {
|
|
921
|
-
(0, _log.warnLog)('vxe.error.removeProp', ['[
|
|
999
|
+
(0, _log.warnLog)('vxe.error.removeProp', ['[splitter] showAction']);
|
|
922
1000
|
}
|
|
923
1001
|
});
|
|
924
1002
|
recalculate();
|
|
@@ -937,15 +1015,15 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
937
1015
|
}
|
|
938
1016
|
const actionOpts = computeActionOpts.value;
|
|
939
1017
|
if (actionOpts.direction) {
|
|
940
|
-
(0, _log.errLog)('vxe.error.delProp', ['[
|
|
1018
|
+
(0, _log.errLog)('vxe.error.delProp', ['[splitter] action-config.direction', 'action-config.showPrevButton | action-config.showNextButton']);
|
|
941
1019
|
}
|
|
942
|
-
_ui.globalEvents.on($
|
|
1020
|
+
_ui.globalEvents.on($xeSplitter, 'resize', handleGlobalResizeEvent);
|
|
943
1021
|
});
|
|
944
1022
|
(0, _vue.onUnmounted)(() => {
|
|
945
1023
|
if (resizeObserver) {
|
|
946
1024
|
resizeObserver.disconnect();
|
|
947
1025
|
}
|
|
948
|
-
_ui.globalEvents.off($
|
|
1026
|
+
_ui.globalEvents.off($xeSplitter, 'resize');
|
|
949
1027
|
});
|
|
950
1028
|
(0, _vue.onActivated)(() => {
|
|
951
1029
|
recalculate();
|
|
@@ -953,9 +1031,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
953
1031
|
if (props.items) {
|
|
954
1032
|
loadItem(props.items);
|
|
955
1033
|
}
|
|
956
|
-
(0, _vue.provide)('$
|
|
957
|
-
$
|
|
958
|
-
return $
|
|
1034
|
+
(0, _vue.provide)('$xeSplitter', $xeSplitter);
|
|
1035
|
+
$xeSplitter.renderVN = renderVN;
|
|
1036
|
+
return $xeSplitter;
|
|
959
1037
|
},
|
|
960
1038
|
render() {
|
|
961
1039
|
return this.renderVN();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_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,_comp.defineVxeComponent)({name:"VxeSplitter",props:{width:[Number,String],height:[Number,String],vertical:{type:Boolean,default:()=>(0,_ui.getConfig)().splitter.vertical},border:{type:Boolean,default:()=>(0,_ui.getConfig)().splitter.border},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().splitter.padding},resize:{type:Boolean,default:()=>(0,_ui.getConfig)().splitter.resize},items:Array,itemConfig:Object,barConfig:Object,resizeConfig:Object,actionConfig:Object,size:{type:String,default:()=>(0,_ui.getConfig)().splitter.size||(0,_ui.getConfig)().size}},emits:["action-dblclick","action-click","toggle-expand","resize-start","resize-drag","resize-end"],setup(c,e){const{emit:r,slots:a}=e;var t=_xeUtils.default.uniqueId();const A=(0,_vue.ref)(),p=(0,_vue.ref)(),M=(0,_vue.ref)(),d=(0,_ui.useSize)(c)["computeSize"],P=(0,_vue.reactive)({staticItems:[],itemList:[],barWidth:0,barHeight:0}),g={wrapperWidth:0,wrapperHeight:0},D=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().splitter.itemConfig,c.itemConfig)),s=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().splitter.barConfig,c.barConfig)),q=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().splitter.resizeConfig,c.resizeConfig)),u=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().splitter.actionConfig,c.actionConfig)),h=(0,_vue.computed)(()=>P.itemList.filter(e=>e.isExpand)),v=(0,_vue.computed)(()=>{var e=c["vertical"];const n=[];let o=0,a=0;return P.itemList.forEach(e?e=>{var{renderHeight:t,resizeHeight:i,foldHeight:r,isExpand:s,height:l}=e,s=s?r||i||t:0;l||n.push(e),o+=s}:e=>{var{renderWidth:t,resizeWidth:i,foldWidth:r,isExpand:s,width:l}=e,s=s?r||i||t:0;l||n.push(e),a+=s}),{autoItems:n,heightCount:o,heightRatio:o/100,widthCount:a,widthRatio:a/100}}),m=(0,_vue.computed)(()=>{var{width:e,height:t}=s.value,i={};return t&&(i.height=(0,_dom.toCssUnit)(t)),e&&(i.width=(0,_dom.toCssUnit)(e)),i}),i={computeItemOpts:D,computeBarOpts:s,computeActionOpts:u},l={refElem:A},f={xID:t,props:c,context:e,reactData:P,internalData:g,getRefMaps:()=>l,getComputeMaps:()=>i},j=(e,t,i)=>{r(e,(0,_ui.createEvent)(i,{$splitter:f},t))},H=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=a[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],x=(e,t,i)=>{var r=c["vertical"],s="SPLIT_TOP_ACTION",l="SPLIT_BOTTOM_ACTION",n="SPLIT_LEFT_ACTION",o="SPLIT_RIGHT_ACTION";let a="";return(a=r?i?t.isExpand?l:s:e.isExpand?s:l:i?t.isExpand?o:n:e.isExpand?n:o)?(0,_ui.getIcon)()[a]:""};const n=(e,t)=>{var i=P["staticItems"],{showPrevButton:r,showNextButton:s}=u.value;const l={isExpand:!0,renderWidth:0,resizeWidth:0,foldWidth:0,renderHeight:0,resizeHeight:0,foldHeight:0};return P.itemList=e.map(e=>(e.showAction&&(0,_log.warnLog)("vxe.error.removeProp",["[splitter] show-action"]),e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||a[e]||(0,_log.errLog)("vxe.error.notSlot",["[splitter] "+e])}),Object.assign({},t?null:l,e,t?l:null,{id:_xeUtils.default.uniqueId()}))),i.length&&(0,_log.errLog)("vxe.error.errConflicts",["<vxe-splitter-panel ...>","items"]),(r||s)&&2<P.itemList.length&&(0,_log.errLog)("vxe.error.errConflicts",["action-config.showPrevButton | action-config.showNextButton","Only supports 2 item"]),R()},o=e=>n(e||[],!1);const _=t=>{var i=P["itemList"];let r=-1,s=null,l=null,n=null;for(let e=0;e<i.length;e++){var o=i[e];if(o.name===t){r=e,s=o,l=i[e-1]||null,n=i[e+1]||null;break}}return{index:r,currItem:s,prevItem:l,nextItem:n}},b=(e,t)=>{var i,r,e=_(e);return e&&({currItem:e,prevItem:i,nextItem:r}=e,e)&&(t?!e.isExpand:e.isExpand)&&(r?r.isExpand&&z(null,e,r,!1):i&&i.isExpand&&z(null,i,e,!0)),(0,_vue.nextTick)()};const R=()=>(0,_vue.nextTick)().then(()=>{var e=c["vertical"],t=P["itemList"],i=A.value,r=p.value;if(i){var s=i.clientWidth,i=i.clientHeight;if(s&&i){r&&(P.barWidth=r.offsetWidth,P.barHeight=r.offsetHeight);const l=s-(e?0:P.barWidth*(t.length-1)),n=i-(e?P.barHeight*(t.length-1):0);r=D.value;const o=_xeUtils.default.toNumber(r.minWidth),a=_xeUtils.default.toNumber(r.minHeight),d=[];if(e){let r=0;if(t.forEach(e=>{var t=e["height"];let i=0;t?(i=(0,_dom.isScale)(t)?n*_xeUtils.default.toNumber(t)/100:_xeUtils.default.toNumber(t),e.renderHeight=i):d.push(e),r+=i}),d.length){const u=(n-r)/d.length;d.forEach(e=>{e.renderHeight=Math.max(_xeUtils.default.toNumber((0,_utils.getGlobalDefaultConfig)(e.minHeight,a)),u)})}}else{let r=0;if(t.forEach(e=>{var t=e["width"];let i=0;t?(i=(0,_dom.isScale)(t)?l*_xeUtils.default.toNumber(t)/100:_xeUtils.default.toNumber(t),e.renderWidth=i):d.push(e),r+=i}),d.length){const h=(l-r)/d.length;d.forEach(e=>{e.renderWidth=Math.max(_xeUtils.default.toNumber((0,_utils.getGlobalDefaultConfig)(e.minWidth,o)),h)})}}g.wrapperWidth=l,g.wrapperHeight=n}}}),E=e=>{const{resize:t,vertical:p}=c;var i=P["itemList"];if(t){e.preventDefault();var r=e.currentTarget,s=r.parentElement;const m=A.value;if(m){const f=s.previousElementSibling,x=s.nextElementSibling;if(f&&x){const l=f.getAttribute("itemid"),n=x.getAttribute("itemid"),_=i.find(e=>e.id===l),b=i.find(e=>e.id===n);if(_&&b){const E=m.getBoundingClientRect();s=r.getBoundingClientRect();const z=M.value,C=z?z.children[0]:null;i=D.value;const w=q.value["immediate"];var r=_xeUtils.default.toNumber(i.minWidth),i=_xeUtils.default.toNumber(i.minHeight),g=Math.ceil(s.width-(e.clientX-s.left)),s=Math.ceil(e.clientY-s.top);const y=f.offsetWidth,H=x.offsetWidth;var v=_xeUtils.default.toNumber(_?(0,_utils.getGlobalDefaultConfig)(_.minWidth,r):r),r=_xeUtils.default.toNumber(b?(0,_utils.getGlobalDefaultConfig)(b.minWidth,r):r);const I=f.offsetLeft+v-g,W=x.offsetLeft+x.offsetWidth-r-g,U=e.clientX-E.left;let l=-1,n=0,o=0,a=U;const L=f.offsetHeight,N=x.offsetHeight;v=_xeUtils.default.toNumber(_?(0,_utils.getGlobalDefaultConfig)(_.minHeight,i):i),r=_xeUtils.default.toNumber(b?(0,_utils.getGlobalDefaultConfig)(b.minHeight,i):i);const S=f.offsetTop+v+s,T=x.offsetTop+x.offsetHeight-r+s,k=e.clientY-E.top;let d=-1,u=0,h=0,c=k;const B=i=>{if(z){var r=C?C.children[0]:null,s=C?C.children[1]:null;if(p){let e=0,t=(r&&(d<0?r.style.display="none":(r.textContent=Math.floor(u)+"px",r.style.display="block",e=r.offsetWidth)),s&&(d<0?(s.textContent=Math.floor(h)+"px",s.style.display="block",e=s.offsetWidth):s.style.display="none"),Math.max(1,i.clientX-E.left-e/2));t>E.width-e-1&&(t=E.width-e-1),z.style.left="0",z.style.top=c+"px",C&&(C.style.left=t+"px")}else{let e=0,t=(r&&(l<0?r.style.display="none":(r.textContent=Math.floor(n)+"px",r.style.display="block",e=r.offsetHeight)),s&&(l<0?(s.textContent=Math.floor(o)+"px",s.style.display="block",e=s.offsetHeight):s.style.display="none"),Math.max(1,i.clientY-E.top-e/2));t>E.height-e-1&&(t=E.height-e-1),z.style.top="0",z.style.left=a+"px",C&&(C.style.top=t+"px")}}},O=e=>{p?((c=(c=e.clientY-E.top)<S?S:c)>T&&(c=T),d=c-k,u=L+d,h=N-d):((a=(a=e.clientX-E.left)<I?I:a)>W&&(a=W),l=a-U,n=y+l,o=H-l),w&&(p?(f.style.height=(0,_dom.toCssUnit)(u),x.style.height=(0,_dom.toCssUnit)(h)):(f.style.width=(0,_dom.toCssUnit)(n),x.style.width=(0,_dom.toCssUnit)(o))),z&&B(e),j("resize-drag",{prevItem:_,nextItem:b,offsetHeight:d,offsetWidth:l},e)};document.onmousemove=e=>{e.preventDefault(),O(e)},document.onmouseup=e=>{document.onmousemove=null,document.onmouseup=null,z&&(z.style.display=""),p?(_.resizeHeight=u,b.resizeHeight=h):(_.resizeWidth=n,b.resizeWidth=o),(0,_dom.removeClass)(m,"is--drag"),j("resize-end",{prevItem:_,nextItem:b,offsetHeight:d,offsetWidth:l},e),R()},z&&(z.style.display="block",B(e)),O(e),(0,_dom.addClass)(m,"is--drag"),j("resize-start",{prevItem:_,nextItem:b},e)}}}}},z=(e,t,i,r)=>{var s=c["vertical"];let l=!1,n=t;r?(n=i,l=!i.isExpand,i.isExpand=l):(l=!t.isExpand,t.isExpand=l),s?t.isExpand&&i.isExpand?(t.foldHeight=0,i.foldHeight=0):t.isExpand?(i.foldHeight=0,t.foldHeight=(t.resizeHeight||t.renderHeight)+(i.resizeHeight||i.renderHeight)):(t.foldHeight=0,i.foldHeight=(t.resizeHeight||t.renderHeight)+(i.resizeHeight||i.renderHeight)):t.isExpand&&i.isExpand?(t.foldWidth=0,i.foldWidth=0):t.isExpand?(i.foldWidth=0,t.foldWidth=(t.resizeWidth||t.renderWidth)+(i.resizeWidth||i.renderWidth)):(t.foldWidth=0,i.foldWidth=(t.resizeWidth||t.renderWidth)+(i.resizeWidth||i.renderWidth)),e&&j("toggle-expand",{prevItem:t,nextItem:i,expanded:l,item:n},e),R()},C=e=>{var t=P["itemList"],i=u.value,r=e.currentTarget.parentElement.parentElement;const s=r.previousElementSibling.getAttribute("itemid");var l=t.find(e=>e.id===s);const n=r.nextElementSibling.getAttribute("itemid");r=t.find(e=>e.id===n);"dblclick"===i.trigger&&l&&r&&r.isExpand&&z(e,l,r,!1),j("action-dblclick",{prevItem:l,nextItem:r},e)},w=e=>{var t=P["itemList"],i=u.value,r=e.currentTarget.parentElement.parentElement;const s=r.previousElementSibling.getAttribute("itemid");var l=t.find(e=>e.id===s);const n=r.nextElementSibling.getAttribute("itemid");r=t.find(e=>e.id===n);"dblclick"!==i.trigger&&l&&r&&r.isExpand&&z(e,l,r,!1),j("action-click",{prevItem:l,nextItem:r},e)},y=e=>{var t=P["itemList"],i=u.value,r=e.currentTarget.parentElement.parentElement;const s=r.previousElementSibling.getAttribute("itemid");var l=t.find(e=>e.id===s);const n=r.nextElementSibling.getAttribute("itemid");r=t.find(e=>e.id===n);"dblclick"===i.trigger&&l&&r&&l.isExpand&&z(e,l,r,!0),j("action-dblclick",{prevItem:l,nextItem:r},e)},U=e=>{var t=P["itemList"],i=u.value,r=e.currentTarget.parentElement.parentElement;const s=r.previousElementSibling.getAttribute("itemid");var l=t.find(e=>e.id===s);const n=r.nextElementSibling.getAttribute("itemid");r=t.find(e=>e.id===n);"dblclick"!==i.trigger&&l&&r&&l.isExpand&&z(e,l,r,!0),j("action-click",{prevItem:l,nextItem:r},e)},L=()=>{R()};t={dispatchEvent:j,setItemExpand:b,toggleItemExpand:e=>{var t=_(e);if(t){t=t["currItem"];if(t)return b(e,!t.isExpand)}return(0,_vue.nextTick)()},getItemExpand:e=>{e=_(e);if(e){e=e["currItem"];if(e)return e.isExpand}return!1},recalculate:R,reset:()=>{var e=P["itemList"];return e.forEach(e=>{e.isExpand=!0,e.foldHeight=0,e.foldWidth=0,e.resizeHeight=0,e.resizeWidth=0}),(0,_vue.nextTick)()},loadItem:o,reloadItem:e=>n(e||[],!0)};Object.assign(f,t,{});const N=(e,t)=>{var{border:i,resize:r,vertical:s}=c,l=P["itemList"],n=m.value,o=u.value,a=o["direction"],d=_xeUtils.default.isBoolean(o.showPrevButton)?o.showPrevButton:l.some(e=>e.showAction),o=_xeUtils.default.isBoolean(o.showNextButton)?o.showNextButton:"next"===a&&l.some(e=>e.showAction),a=q.value["immediate"];return(0,_vue.h)("div",{class:["vxe-splitter-panel-handle",s?"is--vertical":"is--horizontal",a?"is-resize--immediate":"is-resize--lazy",{"is--resize":r,"is--border":i}]},[(0,_vue.h)("div",{class:"vxe-splitter-panel-handle-bar",style:n,onMousedown:E}),2===l.length?(0,_vue.h)("div",{class:"vxe-splitter-panel-action-btn-wrapper"},[d&&t.isExpand?(0,_vue.h)("div",{class:"vxe-splitter-panel-action-btn",onDblclick:C,onClick:w},[(0,_vue.h)("i",{class:x(e,t,!1)})]):(0,_ui.renderEmptyElement)(f),o&&e.isExpand?(0,_vue.h)("div",{class:"vxe-splitter-panel-action-btn",onDblclick:y,onClick:U},[(0,_vue.h)("i",{class:x(e,t,!0)})]):(0,_ui.renderEmptyElement)(f)]):(0,_ui.renderEmptyElement)(f)])};const I=(0,_vue.ref)(0);(0,_vue.watch)(()=>c.items?c.items.length:-1,()=>{I.value++}),(0,_vue.watch)(()=>c.items,()=>{I.value++}),(0,_vue.watch)(I,()=>{o(c.items||[])}),(0,_vue.watch)(()=>P.staticItems,e=>{var{showPrevButton:t,showNextButton:i}=u.value;c.items&&c.items.length&&(0,_log.errLog)("vxe.error.errConflicts",["<vxe-splitter-panel ...>","items"]),P.itemList=e||[],(t||i)&&2<P.itemList.length&&(0,_log.errLog)("vxe.error.modelConflicts",["[splitter] action-config.showPrevButton | action-config.showNextButton","<vxe-splitter-panel ...> Only supports 2 panel"]),P.itemList.forEach(e=>{e.showAction&&(0,_log.warnLog)("vxe.error.removeProp",["[splitter] showAction"])}),R()});let W;return(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{R()});var e=A.value,e=(e&&(W=_ui.globalResize.create(()=>{R()})).observe(e),u.value);e.direction&&(0,_log.errLog)("vxe.error.delProp",["[splitter] action-config.direction","action-config.showPrevButton | action-config.showNextButton"]),_ui.globalEvents.on(f,"resize",L)}),(0,_vue.onUnmounted)(()=>{W&&W.disconnect(),_ui.globalEvents.off(f,"resize")}),(0,_vue.onActivated)(()=>{R()}),c.items&&o(c.items),(0,_vue.provide)("$xeSplitter",f),f.renderVN=()=>{var{vertical:e,width:t,height:i}=c,r=d.value,{immediate:s,showTip:l}=q.value,n=a.default,o={};return i&&(o.height=(0,_dom.toCssUnit)(i)),t&&(o.width=(0,_dom.toCssUnit)(t)),(0,_vue.h)("div",{ref:A,class:["vxe-splitter",e?"is--vertical":"is--horizontal",s?"is-resize--immediate":"is-resize--lazy",{["size--"+r]:r}],style:o},[(0,_vue.h)("div",{class:"vxe-splitter-slots"},n?n({}):[]),(()=>{const{border:m,padding:f,resize:x,vertical:_}=c,b=P["itemList"],E=d.value;const z=q.value["immediate"],C=h.value,w=v.value["autoItems"],y=[];return b.forEach((e,t)=>{var{id:i,name:r,slots:s,renderHeight:l,resizeHeight:n,foldHeight:o,renderWidth:a,resizeWidth:d,foldWidth:u,isExpand:h}=e,t=b[t+1],s=s?s.default:null,c={};let p=h?u||d||a:0,g=h?o||n||l:0,v=(1===w.length&&(_?e.height||(g=0):e.width||(p=0)),!0);_?g&&1<C.length&&(v=!1,c.height=(0,_dom.toCssUnit)(g)):p&&1<C.length&&(v=!1,c.width=(0,_dom.toCssUnit)(p)),y.push((0,_vue.h)("div",{itemid:i,class:["vxe-splitter-panel",_?"is--vertical":"is--horizontal",z?"is-resize--immediate":"is-resize--lazy",{["size--"+E]:E,"is--resize":x,"is--padding":f,"is--border":m,"is--height":g,"is--width":p,"is--visible":h,"is--hidden":!h,"is--fill":h&&v}],style:c},[(0,_vue.h)("div",{itemid:i,class:"vxe-splitter-panel--wrapper"},[(0,_vue.h)("div",{class:"vxe-splitter-panel--inner"},s?H(s,{name:r,isExpand:h}):[])])])),t&&y.push(N(e,t))}),(0,_vue.h)("div",{class:"vxe-splitter-wrapper"},y)})(),(0,_vue.h)("div",{ref:M,class:["vxe-splitter--resizable-splitter-tip",e?"is--vertical":"is--horizontal",s?"is-resize--immediate":"is-resize--lazy"]},l?[(0,_vue.h)("div",{class:"vxe-splitter--resizable-splitter-tip-number"},[(0,_vue.h)("div",{class:"vxe-splitter--resizable-splitter-number-prev"}),(0,_vue.h)("div",{class:"vxe-splitter--resizable-splitter-number-next"})])]:[]),(0,_vue.h)("div",{class:"vxe-splitter--render-vars"},[(0,_vue.h)("div",{ref:p,class:"vxe-splitter--handle-bar-info"})])])},f},render(){return this.renderVN()}});
|
|
@@ -3,23 +3,23 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
7
|
-
exports.
|
|
6
|
+
exports.assembleSplitterItem = assembleSplitterItem;
|
|
7
|
+
exports.destroySplitterItem = destroySplitterItem;
|
|
8
8
|
var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
9
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
-
function
|
|
11
|
-
const staticItems = $
|
|
10
|
+
function assembleSplitterItem($xeSplitter, elem, paneConfig) {
|
|
11
|
+
const staticItems = $xeSplitter.reactData.staticItems;
|
|
12
12
|
const parentElem = elem.parentNode;
|
|
13
13
|
if (parentElem) {
|
|
14
14
|
staticItems.splice(_xeUtils.default.arrayIndexOf(parentElem.children, elem), 0, paneConfig);
|
|
15
|
-
$
|
|
15
|
+
$xeSplitter.reactData.staticItems = staticItems.slice(0);
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
function
|
|
19
|
-
const staticItems = $
|
|
18
|
+
function destroySplitterItem($xeSplitter, paneConfig) {
|
|
19
|
+
const staticItems = $xeSplitter.reactData.staticItems;
|
|
20
20
|
const index = _xeUtils.default.findIndexOf(staticItems, item => item.id === paneConfig.id);
|
|
21
21
|
if (index > -1) {
|
|
22
22
|
staticItems.splice(index, 1);
|
|
23
23
|
}
|
|
24
|
-
$
|
|
24
|
+
$xeSplitter.reactData.staticItems = staticItems.slice(0);
|
|
25
25
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.assembleSplitterItem=assembleSplitterItem,exports.destroySplitterItem=destroySplitterItem;var _xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function assembleSplitterItem(e,t,r){var i=e.reactData.staticItems,s=t.parentNode;s&&(i.splice(_xeUtils.default.arrayIndexOf(s.children,t),0,r),e.reactData.staticItems=i.slice(0))}function destroySplitterItem(e,t){var r=e.reactData.staticItems,i=_xeUtils.default.findIndexOf(r,e=>e.id===t.id);-1<i&&r.splice(i,1),e.reactData.staticItems=r.slice(0)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require('./style.css')
|