vxe-pc-ui 4.5.28 → 4.5.29
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/icon/style.css +1 -1
- package/es/split/src/split.js +14 -7
- 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/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +18 -9
- package/lib/index.umd.min.js +1 -1
- package/lib/split/src/split.js +16 -7
- package/lib/split/src/split.min.js +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/package.json +1 -1
- package/packages/split/src/split.ts +15 -7
- /package/es/icon/{iconfont.1745373065084.ttf → iconfont.1745374152588.ttf} +0 -0
- /package/es/icon/{iconfont.1745373065084.woff → iconfont.1745374152588.woff} +0 -0
- /package/es/icon/{iconfont.1745373065084.woff2 → iconfont.1745374152588.woff2} +0 -0
- /package/es/{iconfont.1745373065084.ttf → iconfont.1745374152588.ttf} +0 -0
- /package/es/{iconfont.1745373065084.woff → iconfont.1745374152588.woff} +0 -0
- /package/es/{iconfont.1745373065084.woff2 → iconfont.1745374152588.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1745373065084.ttf → iconfont.1745374152588.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1745373065084.woff → iconfont.1745374152588.woff} +0 -0
- /package/lib/icon/style/{iconfont.1745373065084.woff2 → iconfont.1745374152588.woff2} +0 -0
- /package/lib/{iconfont.1745373065084.ttf → iconfont.1745374152588.ttf} +0 -0
- /package/lib/{iconfont.1745373065084.woff → iconfont.1745374152588.woff} +0 -0
- /package/lib/{iconfont.1745373065084.woff2 → iconfont.1745374152588.woff2} +0 -0
package/lib/split/src/split.js
CHANGED
|
@@ -67,6 +67,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
67
67
|
const computeVisibleItems = (0, _vue.computed)(() => {
|
|
68
68
|
return reactData.itemList.filter(item => item.isVisible);
|
|
69
69
|
});
|
|
70
|
+
const computeAutoItems = (0, _vue.computed)(() => {
|
|
71
|
+
const {
|
|
72
|
+
vertical
|
|
73
|
+
} = props;
|
|
74
|
+
return reactData.itemList.filter(item => vertical ? !item.height : !item.width);
|
|
75
|
+
});
|
|
70
76
|
const computeBarStyle = (0, _vue.computed)(() => {
|
|
71
77
|
const barOpts = computeBarOpts.value;
|
|
72
78
|
const {
|
|
@@ -548,6 +554,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
548
554
|
itemList
|
|
549
555
|
} = reactData;
|
|
550
556
|
const visibleItems = computeVisibleItems.value;
|
|
557
|
+
const autoItems = computeAutoItems.value;
|
|
551
558
|
const isFoldNext = computeIsFoldNext.value;
|
|
552
559
|
const itemVNs = [];
|
|
553
560
|
itemList.forEach((item, index) => {
|
|
@@ -569,13 +576,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
569
576
|
let itemWidth = isVisible ? foldWidth || resizeWidth || renderWidth : 0;
|
|
570
577
|
let itemHeight = isVisible ? foldHeight || resizeHeight || renderHeight : 0;
|
|
571
578
|
// 至少存在一个自适应
|
|
572
|
-
if (
|
|
573
|
-
if (
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
+
if (autoItems.length === 1) {
|
|
580
|
+
if (vertical) {
|
|
581
|
+
if (!item.height) {
|
|
582
|
+
itemHeight = 0;
|
|
583
|
+
}
|
|
584
|
+
} else {
|
|
585
|
+
if (!item.width) {
|
|
586
|
+
itemWidth = 0;
|
|
587
|
+
}
|
|
579
588
|
}
|
|
580
589
|
}
|
|
581
590
|
// 当只剩下一个可视区自动占用 100%
|
|
@@ -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"),_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},resize:{type:Boolean,default:()=>(0,_ui.getConfig)().split.resize},items:Array,itemConfig:Object,barConfig:Object,actionConfig:Object},emits:["action-dblclick","action-click","toggle-expand","resize-start","resize-drag","resize-end"],setup(
|
|
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},resize:{type:Boolean,default:()=>(0,_ui.getConfig)().split.resize},items:Array,itemConfig:Object,barConfig:Object,actionConfig:Object},emits:["action-dblclick","action-click","toggle-expand","resize-start","resize-drag","resize-end"],setup(E,e){const{emit:s,slots:l}=e;var t=_xeUtils.default.uniqueId();const C=(0,_vue.ref)(),U=(0,_vue.reactive)({staticItems:[],itemList:[]});const H=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().split.itemConfig,E.itemConfig)),r=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().split.barConfig,E.barConfig)),a=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().split.actionConfig,E.actionConfig)),I=(0,_vue.computed)(()=>{return"next"===a.value.direction}),n=(0,_vue.computed)(()=>U.itemList.filter(e=>e.isVisible)),o=(0,_vue.computed)(()=>{const t=E["vertical"];return U.itemList.filter(e=>t?!e.height:!e.width)}),d=(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:H,computeBarOpts:r,computeActionOpts:a,computeIsFoldNext:I},u={refElem:C},N={xID:t,props:E,context:e,reactData:U,internalData:{},getRefMaps:()=>u,getComputeMaps:()=>i},W=(e,t,i)=>{s(e,(0,_ui.createEvent)(i,{$split:N},t))},O=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=l[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[];const c=(e,t)=>{var i=U["staticItems"];const s={isVisible:!0,isExpand:!0,renderWidth:0,resizeWidth:0,foldWidth:0,renderHeight:0,resizeHeight:0,foldHeight:0};return U.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-pane ...>","items"]),w()},h=e=>c(e||[],!1);const w=()=>(0,_vue.nextTick)().then(()=>{var e=E["vertical"],t=U["itemList"],i=C.value;if(i){const r=i.clientWidth,l=i.clientHeight;if(r&&l){i=H.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=>{const{resize:t,vertical:s}=E;var i=U["itemList"];if(t){e.preventDefault();var r=e.currentTarget.parentElement;const a=C.value;if(a){const o=r.getAttribute("itemid");r=_xeUtils.default.findIndexOf(i,e=>e.id===o);const d=i[r];if(d&&d.isExpand){const u=I.value;var l=H.value,n=_xeUtils.default.toNumber(l.minWidth),l=_xeUtils.default.toNumber(l.minHeight);const c=i[r+(u?1:-1)];i=c?a.querySelector(`.vxe-split-pane[itemid="${c.id}"]`):null,r=d?a.querySelector(`.vxe-split-pane[itemid="${d.id}"]`):null;const h=i?i.clientWidth:0,m=r?r.clientWidth:0,g=i?i.clientHeight:0,f=r?r.clientHeight:0,v=_xeUtils.default.toNumber(c?(0,_utils.getGlobalDefaultConfig)(c.minWidth,n):n),_=_xeUtils.default.toNumber((0,_utils.getGlobalDefaultConfig)(d.minWidth,n)),p=_xeUtils.default.toNumber(c?(0,_utils.getGlobalDefaultConfig)(c.minHeight,l):l),x=_xeUtils.default.toNumber((0,_utils.getGlobalDefaultConfig)(d.minHeight,l)),b=e.clientX,z=e.clientY;(0,_dom.addClass)(a,"is--drag"),document.onmousemove=e=>{var t,i;e.preventDefault(),s?0<(t=u?z-e.clientY:e.clientY-z)?c&&f-t>=x&&(i=f-t,c.resizeHeight=g+t,d.resizeHeight=i,W("resize-drag",{item:d,name:d.name,offsetHeight:t,resizeHeight:i,offsetWidth:0,resizeWidth:0},e)):c&&g+t>=p&&(i=f-t,c.resizeHeight=g+t,d.resizeHeight=i,W("resize-drag",{item:d,name:d.name,offsetHeight:t,resizeHeight:i,offsetWidth:0,resizeWidth:0},e)):0<(t=u?b-e.clientX:e.clientX-b)?c&&m-t>=_&&(i=m-t,c.resizeWidth=h+t,d.resizeWidth=i,W("resize-drag",{item:d,name:d.name,offsetHeight:0,resizeHeight:0,offsetWidth:t,resizeWidth:i},e)):c&&h+t>=v&&(i=m-t,c.resizeWidth=h+t,d.resizeWidth=i,W("resize-drag",{item:d,name:d.name,offsetHeight:0,resizeHeight:0,offsetWidth:t,resizeWidth:i},e))},document.onmouseup=e=>{document.onmousemove=null,(document.onmouseup=null,_dom.removeClass)(a,"is--drag"),W("resize-end",{item:d,name:d.name,resizeHeight:d.resizeHeight,resizeWidth:d.resizeWidth},e),w()},W("resize-start",{item:d,name:d.name},e)}}}},g=e=>{if(C.value){var t=E["vertical"],i=U["itemList"],s=I.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),W("toggle-expand",{item:l,name:l.name,targetItem:i,targetName:i?i.name:"",expanded:l.isExpand},e),w())}},f=e=>{var t=U["itemList"],i=a.value;const s=e.currentTarget.parentElement.getAttribute("itemid");t=t[_xeUtils.default.findIndexOf(t,e=>e.id===s)];"dblclick"===i.trigger&&g(e),W("action-dblclick",{item:t,name:t?t.name:""},e)},v=e=>{var t=U["itemList"],i=a.value;const s=e.currentTarget.parentElement.getAttribute("itemid");t=t[_xeUtils.default.findIndexOf(t,e=>e.id===s)];"dblclick"!==i.trigger&&g(e),W("action-click",{item:t,name:t?t.name:""},e)},_=()=>{w()};t={dispatchEvent:W,recalculate:w,reset:()=>{var e=U["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:h,reloadItem:e=>c(e||[],!0)};Object.assign(N,t,{});const L=e=>{var t=d.value,i=a.value,s=I.value,{id:r,isExpand:l,showAction:n}=e;return(0,_vue.h)("div",{itemid:r,class:["vxe-split-pane-handle",s?"to--next":"to--prev"]},[(0,_vue.h)("div",{class:"vxe-split-pane-handle-bar",style:t,onMousedown:m}),n?(0,_vue.h)("span",{class:"vxe-split-pane-action-btn",onDblclick:f,onClick:v},[(0,_vue.h)("i",{class:(l?i.openIcon:i.closeIcon)||(e=>{var t=E["vertical"],{showAction:e,isExpand:i}=e,s=I.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)(N)])};const p=(0,_vue.ref)(0);(0,_vue.watch)(()=>E.items?E.items.length:-1,()=>{p.value++}),(0,_vue.watch)(()=>E.items,()=>{p.value++}),(0,_vue.watch)(p,()=>{h(E.items||[])}),(0,_vue.watch)(()=>U.staticItems,e=>{E.items&&E.items.length&&(0,_log.errLog)("vxe.error.errConflicts",["<vxe-split-pane ...>","items"]),U.itemList=e,w()});let x;return(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{w()});var e=C.value;e&&(x=_ui.globalResize.create(()=>{w()})).observe(e),_ui.globalEvents.on(N,"resize",_)}),(0,_vue.onUnmounted)(()=>{x&&x.disconnect(),_ui.globalEvents.off(N,"resize")}),(0,_vue.onActivated)(()=>{w()}),E.items&&h(E.items),(0,_vue.provide)("$xeSplit",N),N.renderVN=()=>{var{vertical:e,width:t,height:i}=E,s=l.default,r={};return i&&(r.height=(0,_dom.toCssUnit)(i)),t&&(r.width=(0,_dom.toCssUnit)(t)),(0,_vue.h)("div",{ref:C,class:["vxe-split",e?"is--vertical":"is--horizontal"],style:r},[(0,_vue.h)("div",{class:"vxe-split-slots"},s?s({}):[]),(()=>{const{border:v,padding:_,resize:p,vertical:x}=E,b=U["itemList"],z=n.value,C=o.value,H=I.value,W=[];return b.forEach((e,t)=>{var{id:i,name:s,slots:r,renderHeight:l,resizeHeight:n,foldHeight:a,renderWidth:o,resizeWidth:d,foldWidth:u,isVisible:c,isExpand:h}=e,r=r?r.default:null,m={};let g=c?u||d||o:0,f=c?a||n||l:0;1===C.length&&(x?e.height||(f=0):e.width||(g=0)),x?f&&(m.height=1===z.length?"100%":(0,_dom.toCssUnit)(f)):g&&(m.width=1===z.length?"100%":(0,_dom.toCssUnit)(g)),W.push((0,_vue.h)("div",{itemid:i,class:["vxe-split-pane",x?"is--vertical":"is--horizontal",{"is--resize":p,"is--padding":_,"is--border":v,"is--height":f,"is--width":g,"is--fill":c&&!f&&!g,"is--handle":0<t,"is--expand":h,"is--hidden":!c}],style:m},[t&&!H?L(e):(0,_ui.renderEmptyElement)(N),(0,_vue.h)("div",{itemid:i,class:"vxe-split-pane--wrapper"},[(0,_vue.h)("div",{class:"vxe-split-pane--inner"},r?O(r,{name:s,isVisible:c,isExpand:h}):[])]),H&&t<b.length-1?L(e):(0,_ui.renderEmptyElement)(N)]))}),(0,_vue.h)("div",{class:"vxe-split-wrapper"},W)})()])},N},render(){return this.renderVN()}});
|