vxe-pc-ui 4.10.10 → 4.10.11
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 +79 -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 +288 -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 +79 -79
- package/es/vxe-split/style.min.css +1 -1
- package/es/vxe-splitter/index.js +3 -0
- package/es/vxe-splitter/style.css +288 -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 +79 -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 +288 -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 +79 -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 +288 -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 +317 -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/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.1761614052122.ttf} +0 -0
- /package/es/icon/{iconfont.1761298747069.woff → iconfont.1761614052122.woff} +0 -0
- /package/es/icon/{iconfont.1761298747069.woff2 → iconfont.1761614052122.woff2} +0 -0
- /package/es/{iconfont.1761298747069.ttf → iconfont.1761614052122.ttf} +0 -0
- /package/es/{iconfont.1761298747069.woff → iconfont.1761614052122.woff} +0 -0
- /package/es/{iconfont.1761298747069.woff2 → iconfont.1761614052122.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1761298747069.ttf → iconfont.1761614052122.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1761298747069.woff → iconfont.1761614052122.woff} +0 -0
- /package/lib/icon/style/{iconfont.1761298747069.woff2 → iconfont.1761614052122.woff2} +0 -0
- /package/lib/{iconfont.1761298747069.ttf → iconfont.1761614052122.ttf} +0 -0
- /package/lib/{iconfont.1761298747069.woff → iconfont.1761614052122.woff} +0 -0
- /package/lib/{iconfont.1761298747069.woff2 → iconfont.1761614052122.woff2} +0 -0
package/es/split/src/util.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import XEUtils from 'xe-utils';
|
|
2
|
-
export function assembleSplitItem($xeSplit, elem, paneConfig) {
|
|
3
|
-
const staticItems = $xeSplit.reactData.staticItems;
|
|
4
|
-
const parentElem = elem.parentNode;
|
|
5
|
-
if (parentElem) {
|
|
6
|
-
staticItems.splice(XEUtils.arrayIndexOf(parentElem.children, elem), 0, paneConfig);
|
|
7
|
-
$xeSplit.reactData.staticItems = staticItems.slice(0);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
export function destroySplitItem($xeSplit, paneConfig) {
|
|
11
|
-
const staticItems = $xeSplit.reactData.staticItems;
|
|
12
|
-
const index = XEUtils.findIndexOf(staticItems, item => item.id === paneConfig.id);
|
|
13
|
-
if (index > -1) {
|
|
14
|
-
staticItems.splice(index, 1);
|
|
15
|
-
}
|
|
16
|
-
$xeSplit.reactData.staticItems = staticItems.slice(0);
|
|
17
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
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"),_util=require("./util"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeSplitPane",props:{name:[Number,String],width:[Number,String],height:[Number,String],minWidth:{type:[Number,String],default:()=>null},minHeight:{type:[Number,String],default:()=>null},showAction:Boolean},emits:[],setup(e,t){const{emit:r,slots:i}=t;var n=_xeUtils.default.uniqueId();const u=(0,_vue.inject)("$xeSplit",null),a=(0,_vue.ref)(),h=(0,_vue.reactive)({id:n,name:e.name,width:e.width,height:e.height,minWidth:e.minWidth,minHeight:e.minHeight,showAction:e.showAction,isExpand:!0,renderWidth:0,resizeWidth:0,foldWidth:0,renderHeight:0,resizeHeight:0,foldHeight:0,slots:i});var o=(0,_vue.reactive)({});const d={},l={refElem:a},s={xID:n,props:e,context:t,reactData:o,internalData:{},getRefMaps:()=>l,getComputeMaps:()=>d};Object.assign(s,{dispatchEvent:(e,t,i)=>{r(e,(0,_ui.createEvent)(i,{$splitPane:s},t))}},{});return(0,_vue.watch)(()=>e.name,e=>{h.name=e}),(0,_vue.watch)(()=>e.width,e=>{h.width=e}),(0,_vue.watch)(()=>e.height,e=>{h.height=e}),(0,_vue.watch)(()=>e.minWidth,e=>{h.minWidth=e}),(0,_vue.watch)(()=>e.minHeight,e=>{h.minHeight=e}),(0,_vue.watch)(()=>e.showAction,e=>{h.showAction=e}),(0,_vue.onMounted)(()=>{var e=a.value;u&&e&&(0,_util.assembleSplitItem)(u,e,h)}),(0,_vue.onUnmounted)(()=>{u&&(0,_util.destroySplitItem)(u,h)}),(0,_vue.provide)("$xeSplitItem",s),s.renderVN=()=>(0,_vue.h)("div",{ref:a}),s},render(){return this.renderVN()}});
|
|
@@ -1 +0,0 @@
|
|
|
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:"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,resizeConfig:Object,actionConfig:Object,size:{type:String,default:()=>(0,_ui.getConfig)().split.size||(0,_ui.getConfig)().size}},emits:["action-dblclick","action-click","toggle-expand","resize-start","resize-drag","resize-end"],setup(c,e){const{emit:s,slots:a}=e;var t=_xeUtils.default.uniqueId();const A=(0,_vue.ref)(),g=(0,_vue.ref)(),M=(0,_vue.ref)(),d=(0,_ui.useSize)(c)["computeSize"],P=(0,_vue.reactive)({staticItems:[],itemList:[],barWidth:0,barHeight:0}),p={wrapperWidth:0,wrapperHeight:0},D=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().split.itemConfig,c.itemConfig)),l=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().split.barConfig,c.barConfig)),q=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().split.resizeConfig,c.resizeConfig)),u=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().split.actionConfig,c.actionConfig)),h=(0,_vue.computed)(()=>P.itemList.filter(e=>e.isExpand)),v=(0,_vue.computed)(()=>{var e=c["vertical"];const r=[];let o=0,a=0;return P.itemList.forEach(e?e=>{var{renderHeight:t,resizeHeight:i,foldHeight:s,isExpand:l,height:n}=e,l=l?s||i||t:0;n||r.push(e),o+=l}:e=>{var{renderWidth:t,resizeWidth:i,foldWidth:s,isExpand:l,width:n}=e,l=l?s||i||t:0;n||r.push(e),a+=l}),{autoItems:r,heightCount:o,heightRatio:o/100,widthCount:a,widthRatio:a/100}}),f=(0,_vue.computed)(()=>{var{width:e,height:t}=l.value,i={};return t&&(i.height=(0,_dom.toCssUnit)(t)),e&&(i.width=(0,_dom.toCssUnit)(e)),i}),i={computeItemOpts:D,computeBarOpts:l,computeActionOpts:u},n={refElem:A},m={xID:t,props:c,context:e,reactData:P,internalData:p,getRefMaps:()=>n,getComputeMaps:()=>i},j=(e,t,i)=>{s(e,(0,_ui.createEvent)(i,{$split:m},t))},H=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=a[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],_=(e,t,i)=>{var s=c["vertical"],l="SPLIT_TOP_ACTION",n="SPLIT_BOTTOM_ACTION",r="SPLIT_LEFT_ACTION",o="SPLIT_RIGHT_ACTION";let a="";return(a=s?i?t.isExpand?n:l:e.isExpand?l:n:i?t.isExpand?o:r:e.isExpand?r:o)?(0,_ui.getIcon)()[a]:""};const r=(e,t)=>{var i=P["staticItems"],{showPrevButton:s,showNextButton:l}=u.value;const n={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",["[split] show-action"]),e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||a[e]||(0,_log.errLog)("vxe.error.notSlot",["[split] "+e])}),Object.assign({},t?null:n,e,t?n:null,{id:_xeUtils.default.uniqueId()}))),i.length&&(0,_log.errLog)("vxe.error.errConflicts",["<vxe-split-pane ...>","items"]),(s||l)&&2<P.itemList.length&&(0,_log.errLog)("vxe.error.errConflicts",["action-config.showPrevButton | action-config.showNextButton","Only supports 2 item"]),R()},o=e=>r(e||[],!1);const R=()=>(0,_vue.nextTick)().then(()=>{var e=c["vertical"],t=P["itemList"],i=A.value,s=g.value;if(i){var l=i.clientWidth,i=i.clientHeight;if(l&&i){s&&(P.barWidth=s.offsetWidth,P.barHeight=s.offsetHeight);const n=l-(e?0:P.barWidth*(t.length-1)),r=i-(e?P.barHeight*(t.length-1):0);s=D.value;const o=_xeUtils.default.toNumber(s.minWidth),a=_xeUtils.default.toNumber(s.minHeight),d=[];if(e){let s=0;if(t.forEach(e=>{var t=e["height"];let i=0;t?(i=(0,_dom.isScale)(t)?r*_xeUtils.default.toNumber(t)/100:_xeUtils.default.toNumber(t),e.renderHeight=i):d.push(e),s+=i}),d.length){const u=(r-s)/d.length;d.forEach(e=>{e.renderHeight=Math.max(_xeUtils.default.toNumber((0,_utils.getGlobalDefaultConfig)(e.minHeight,a)),u)})}}else{let s=0;if(t.forEach(e=>{var t=e["width"];let i=0;t?(i=(0,_dom.isScale)(t)?n*_xeUtils.default.toNumber(t)/100:_xeUtils.default.toNumber(t),e.renderWidth=i):d.push(e),s+=i}),d.length){const h=(n-s)/d.length;d.forEach(e=>{e.renderWidth=Math.max(_xeUtils.default.toNumber((0,_utils.getGlobalDefaultConfig)(e.minWidth,o)),h)})}}p.wrapperWidth=n,p.wrapperHeight=r}}}),x=e=>{const{resize:t,vertical:g}=c;var i=P["itemList"];if(t){e.preventDefault();var s=e.currentTarget,l=s.parentElement;const f=A.value;if(f){const m=l.previousElementSibling,_=l.nextElementSibling;if(m&&_){const n=m.getAttribute("itemid"),r=_.getAttribute("itemid"),x=i.find(e=>e.id===n),b=i.find(e=>e.id===r);if(x&&b){const z=f.getBoundingClientRect();l=s.getBoundingClientRect();const E=M.value,C=E?E.children[0]:null;i=D.value;const w=q.value["immediate"];var s=_xeUtils.default.toNumber(i.minWidth),i=_xeUtils.default.toNumber(i.minHeight),p=Math.ceil(l.width-(e.clientX-l.left)),l=Math.ceil(e.clientY-l.top);const y=m.offsetWidth,H=_.offsetWidth;var v=_xeUtils.default.toNumber(x?(0,_utils.getGlobalDefaultConfig)(x.minWidth,s):s),s=_xeUtils.default.toNumber(b?(0,_utils.getGlobalDefaultConfig)(b.minWidth,s):s);const W=m.offsetLeft+v-p,I=_.offsetLeft+_.offsetWidth-s-p,U=e.clientX-z.left;let n=-1,r=0,o=0,a=U;const L=m.offsetHeight,N=_.offsetHeight;v=_xeUtils.default.toNumber(x?(0,_utils.getGlobalDefaultConfig)(x.minHeight,i):i),s=_xeUtils.default.toNumber(b?(0,_utils.getGlobalDefaultConfig)(b.minHeight,i):i);const S=m.offsetTop+v+l,B=_.offsetTop+_.offsetHeight-s+l,T=e.clientY-z.top;let d=-1,u=0,h=0,c=T;const O=i=>{if(E){var s=C?C.children[0]:null,l=C?C.children[1]:null;if(g){let e=0,t=(s&&(d<0?s.style.display="none":(s.textContent=Math.floor(u)+"px",s.style.display="block",e=s.offsetWidth)),l&&(d<0?(l.textContent=Math.floor(h)+"px",l.style.display="block",e=l.offsetWidth):l.style.display="none"),Math.max(1,i.clientX-z.left-e/2));t>z.width-e-1&&(t=z.width-e-1),E.style.left="0",E.style.top=c+"px",C&&(C.style.left=t+"px")}else{let e=0,t=(s&&(n<0?s.style.display="none":(s.textContent=Math.floor(r)+"px",s.style.display="block",e=s.offsetHeight)),l&&(n<0?(l.textContent=Math.floor(o)+"px",l.style.display="block",e=l.offsetHeight):l.style.display="none"),Math.max(1,i.clientY-z.top-e/2));t>z.height-e-1&&(t=z.height-e-1),E.style.top="0",E.style.left=a+"px",C&&(C.style.top=t+"px")}}},k=e=>{g?((c=(c=e.clientY-z.top)<S?S:c)>B&&(c=B),d=c-T,u=L+d,h=N-d):((a=(a=e.clientX-z.left)<W?W:a)>I&&(a=I),n=a-U,r=y+n,o=H-n),w&&(g?(m.style.height=(0,_dom.toCssUnit)(u),_.style.height=(0,_dom.toCssUnit)(h)):(m.style.width=(0,_dom.toCssUnit)(r),_.style.width=(0,_dom.toCssUnit)(o))),E&&O(e),j("resize-drag",{prevItem:x,nextItem:b,offsetHeight:d,offsetWidth:n},e)};document.onmousemove=e=>{e.preventDefault(),k(e)},document.onmouseup=e=>{document.onmousemove=null,document.onmouseup=null,E&&(E.style.display=""),g?(x.resizeHeight=u,b.resizeHeight=h):(x.resizeWidth=r,b.resizeWidth=o),(0,_dom.removeClass)(f,"is--drag"),j("resize-end",{prevItem:x,nextItem:b,offsetHeight:d,offsetWidth:n},e),R()},E&&(E.style.display="block",O(e)),k(e),(0,_dom.addClass)(f,"is--drag"),j("resize-start",{prevItem:x,nextItem:b},e)}}}}},b=(e,t,i,s)=>{var l=c["vertical"];let n=!1,r=t;s?(r=i,n=!i.isExpand,i.isExpand=n):(n=!t.isExpand,t.isExpand=n),l?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)),j("toggle-expand",{prevItem:t,nextItem:i,expanded:n,item:r},e),R()},z=e=>{var t=P["itemList"],i=u.value,s=e.currentTarget.parentElement.parentElement;const l=s.previousElementSibling.getAttribute("itemid");var n=t.find(e=>e.id===l);const r=s.nextElementSibling.getAttribute("itemid");s=t.find(e=>e.id===r);"dblclick"===i.trigger&&n&&s&&s.isExpand&&b(e,n,s,!1),j("action-dblclick",{prevItem:n,nextItem:s},e)},E=e=>{var t=P["itemList"],i=u.value,s=e.currentTarget.parentElement.parentElement;const l=s.previousElementSibling.getAttribute("itemid");var n=t.find(e=>e.id===l);const r=s.nextElementSibling.getAttribute("itemid");s=t.find(e=>e.id===r);"dblclick"!==i.trigger&&n&&s&&s.isExpand&&b(e,n,s,!1),j("action-click",{prevItem:n,nextItem:s},e)},C=e=>{var t=P["itemList"],i=u.value,s=e.currentTarget.parentElement.parentElement;const l=s.previousElementSibling.getAttribute("itemid");var n=t.find(e=>e.id===l);const r=s.nextElementSibling.getAttribute("itemid");s=t.find(e=>e.id===r);"dblclick"===i.trigger&&n&&s&&n.isExpand&&b(e,n,s,!0),j("action-dblclick",{prevItem:n,nextItem:s},e)},w=e=>{var t=P["itemList"],i=u.value,s=e.currentTarget.parentElement.parentElement;const l=s.previousElementSibling.getAttribute("itemid");var n=t.find(e=>e.id===l);const r=s.nextElementSibling.getAttribute("itemid");s=t.find(e=>e.id===r);"dblclick"!==i.trigger&&n&&s&&n.isExpand&&b(e,n,s,!0),j("action-click",{prevItem:n,nextItem:s},e)},y=()=>{R()};t={dispatchEvent:j,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=>r(e||[],!0)};Object.assign(m,t,{});const U=(e,t)=>{var{border:i,resize:s,vertical:l}=c,n=P["itemList"],r=f.value,o=u.value,a=o["direction"],d=_xeUtils.default.isBoolean(o.showPrevButton)?o.showPrevButton:n.some(e=>e.showAction),o=_xeUtils.default.isBoolean(o.showNextButton)?o.showNextButton:"next"===a&&n.some(e=>e.showAction),a=q.value["immediate"];return(0,_vue.h)("div",{class:["vxe-split-pane-handle",l?"is--vertical":"is--horizontal",a?"is-resize--immediate":"is-resize--lazy",{"is--resize":s,"is--border":i}]},[(0,_vue.h)("div",{class:"vxe-split-pane-handle-bar",style:r,onMousedown:x}),2===n.length?(0,_vue.h)("div",{class:"vxe-split-pane-action-btn-wrapper"},[d&&t.isExpand?(0,_vue.h)("div",{class:"vxe-split-pane-action-btn",onDblclick:z,onClick:E},[(0,_vue.h)("i",{class:_(e,t,!1)})]):(0,_ui.renderEmptyElement)(m),o&&e.isExpand?(0,_vue.h)("div",{class:"vxe-split-pane-action-btn",onDblclick:C,onClick:w},[(0,_vue.h)("i",{class:_(e,t,!0)})]):(0,_ui.renderEmptyElement)(m)]):(0,_ui.renderEmptyElement)(m)])};const W=(0,_vue.ref)(0);(0,_vue.watch)(()=>c.items?c.items.length:-1,()=>{W.value++}),(0,_vue.watch)(()=>c.items,()=>{W.value++}),(0,_vue.watch)(W,()=>{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-split-pane ...>","items"]),P.itemList=e||[],(t||i)&&2<P.itemList.length&&(0,_log.errLog)("vxe.error.modelConflicts",["[split] action-config.showPrevButton | action-config.showNextButton","<vxe-split-pane ...> Only supports 2 panel"]),P.itemList.forEach(e=>{e.showAction&&(0,_log.warnLog)("vxe.error.removeProp",["[split] showAction"])}),R()});let I;return(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{R()});var e=A.value,e=(e&&(I=_ui.globalResize.create(()=>{R()})).observe(e),u.value);e.direction&&(0,_log.errLog)("vxe.error.delProp",["[split] action-config.direction","action-config.showPrevButton | action-config.showNextButton"]),_ui.globalEvents.on(m,"resize",y)}),(0,_vue.onUnmounted)(()=>{I&&I.disconnect(),_ui.globalEvents.off(m,"resize")}),(0,_vue.onActivated)(()=>{R()}),c.items&&o(c.items),(0,_vue.provide)("$xeSplit",m),m.renderVN=()=>{var{vertical:e,width:t,height:i}=c,s=d.value,{immediate:l,showTip:n}=q.value,r=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-split",e?"is--vertical":"is--horizontal",l?"is-resize--immediate":"is-resize--lazy",{["size--"+s]:s}],style:o},[(0,_vue.h)("div",{class:"vxe-split-slots"},r?r({}):[]),(()=>{const{border:f,padding:m,resize:_,vertical:x}=c,b=P["itemList"],z=d.value;const E=q.value["immediate"],C=h.value,w=v.value["autoItems"],y=[];return b.forEach((e,t)=>{var{id:i,name:s,slots:l,renderHeight:n,resizeHeight:r,foldHeight:o,renderWidth:a,resizeWidth:d,foldWidth:u,isExpand:h}=e,t=b[t+1],l=l?l.default:null,c={};let g=h?u||d||a:0,p=h?o||r||n:0,v=(1===w.length&&(x?e.height||(p=0):e.width||(g=0)),!0);x?p&&1<C.length&&(v=!1,c.height=(0,_dom.toCssUnit)(p)):g&&1<C.length&&(v=!1,c.width=(0,_dom.toCssUnit)(g)),y.push((0,_vue.h)("div",{itemid:i,class:["vxe-split-pane",x?"is--vertical":"is--horizontal",E?"is-resize--immediate":"is-resize--lazy",{["size--"+z]:z,"is--resize":_,"is--padding":m,"is--border":f,"is--height":p,"is--width":g,"is--visible":h,"is--hidden":!h,"is--fill":h&&v}],style:c},[(0,_vue.h)("div",{itemid:i,class:"vxe-split-pane--wrapper"},[(0,_vue.h)("div",{class:"vxe-split-pane--inner"},l?H(l,{name:s,isExpand:h}):[])])])),t&&y.push(U(e,t))}),(0,_vue.h)("div",{class:"vxe-split-wrapper"},y)})(),(0,_vue.h)("div",{ref:M,class:["vxe-split--resizable-split-tip",e?"is--vertical":"is--horizontal",l?"is-resize--immediate":"is-resize--lazy"]},n?[(0,_vue.h)("div",{class:"vxe-split--resizable-split-tip-number"},[(0,_vue.h)("div",{class:"vxe-split--resizable-split-number-prev"}),(0,_vue.h)("div",{class:"vxe-split--resizable-split-number-next"})])]:[]),(0,_vue.h)("div",{class:"vxe-split--render-vars"},[(0,_vue.h)("div",{ref:g,class:"vxe-split--handle-bar-info"})])])},m},render(){return this.renderVN()}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.assembleSplitItem=assembleSplitItem,exports.destroySplitItem=destroySplitItem;var _xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function assembleSplitItem(e,t,i){var s=e.reactData.staticItems,a=t.parentNode;a&&(s.splice(_xeUtils.default.arrayIndexOf(a.children,t),0,i),e.reactData.staticItems=s.slice(0))}function destroySplitItem(e,t){var i=e.reactData.staticItems,s=_xeUtils.default.findIndexOf(i,e=>e.id===t.id);-1<s&&i.splice(s,1),e.reactData.staticItems=i.slice(0)}
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import { PropType, ref, h, reactive, watch, provide, inject, onMounted, onUnmounted } from 'vue'
|
|
2
|
-
import { defineVxeComponent } from '../../ui/src/comp'
|
|
3
|
-
import { createEvent } from '../../ui'
|
|
4
|
-
import { assembleSplitItem, destroySplitItem } from './util'
|
|
5
|
-
import XEUtils from 'xe-utils'
|
|
6
|
-
|
|
7
|
-
import type { SplitItemReactData, VxeSplitPanePropTypes, SplitItemPrivateRef, SplitItemInternalData, SplitItemMethods, VxeSplitPanePrivateComputed, SplitItemPrivateMethods, VxeSplitPaneEmits, VxeSplitPaneConstructor, ValueOf, VxeSplitDefines, VxeSplitPanePrivateMethods, VxeSplitConstructor, VxeSplitPrivateMethods } from '../../../types'
|
|
8
|
-
|
|
9
|
-
export default defineVxeComponent({
|
|
10
|
-
name: 'VxeSplitPane',
|
|
11
|
-
props: {
|
|
12
|
-
name: [Number, String] as PropType<VxeSplitPanePropTypes.Name>,
|
|
13
|
-
width: [Number, String] as PropType<VxeSplitPanePropTypes.Width>,
|
|
14
|
-
height: [Number, String] as PropType<VxeSplitPanePropTypes.Height>,
|
|
15
|
-
minWidth: {
|
|
16
|
-
type: [Number, String] as PropType<VxeSplitPanePropTypes.MinWidth>,
|
|
17
|
-
default: () => null
|
|
18
|
-
},
|
|
19
|
-
minHeight: {
|
|
20
|
-
type: [Number, String] as PropType<VxeSplitPanePropTypes.MinHeight>,
|
|
21
|
-
default: () => null
|
|
22
|
-
},
|
|
23
|
-
|
|
24
|
-
// 已废弃
|
|
25
|
-
showAction: Boolean as PropType<VxeSplitPanePropTypes.ShowAction>
|
|
26
|
-
},
|
|
27
|
-
emits: [
|
|
28
|
-
] as VxeSplitPaneEmits,
|
|
29
|
-
setup (props, context) {
|
|
30
|
-
const { emit, slots } = context
|
|
31
|
-
|
|
32
|
-
const xID = XEUtils.uniqueId()
|
|
33
|
-
|
|
34
|
-
const $xeSplit = inject<(VxeSplitConstructor & VxeSplitPrivateMethods) | null>('$xeSplit', null)
|
|
35
|
-
|
|
36
|
-
const refElem = ref<HTMLDivElement>()
|
|
37
|
-
|
|
38
|
-
const paneConfig = reactive<VxeSplitDefines.PaneConfig>({
|
|
39
|
-
id: xID,
|
|
40
|
-
name: props.name,
|
|
41
|
-
width: props.width,
|
|
42
|
-
height: props.height,
|
|
43
|
-
minWidth: props.minWidth,
|
|
44
|
-
minHeight: props.minHeight,
|
|
45
|
-
showAction: props.showAction,
|
|
46
|
-
isExpand: true,
|
|
47
|
-
renderWidth: 0,
|
|
48
|
-
resizeWidth: 0,
|
|
49
|
-
foldWidth: 0,
|
|
50
|
-
renderHeight: 0,
|
|
51
|
-
resizeHeight: 0,
|
|
52
|
-
foldHeight: 0,
|
|
53
|
-
slots: slots
|
|
54
|
-
})
|
|
55
|
-
|
|
56
|
-
const reactData = reactive<SplitItemReactData>({
|
|
57
|
-
})
|
|
58
|
-
|
|
59
|
-
const internalData: SplitItemInternalData = {
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
const computeMaps: VxeSplitPanePrivateComputed = {
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
const refMaps: SplitItemPrivateRef = {
|
|
66
|
-
refElem
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
const $xeSplitItem = {
|
|
70
|
-
xID,
|
|
71
|
-
props,
|
|
72
|
-
context,
|
|
73
|
-
reactData,
|
|
74
|
-
internalData,
|
|
75
|
-
|
|
76
|
-
getRefMaps: () => refMaps,
|
|
77
|
-
getComputeMaps: () => computeMaps
|
|
78
|
-
} as unknown as VxeSplitPaneConstructor & VxeSplitPanePrivateMethods
|
|
79
|
-
|
|
80
|
-
const dispatchEvent = (type: ValueOf<VxeSplitPaneEmits>, params: Record<string, any>, evnt: Event | null) => {
|
|
81
|
-
emit(type, createEvent(evnt, { $splitPane: $xeSplitItem }, params))
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
const splitPaneMethods: SplitItemMethods = {
|
|
85
|
-
dispatchEvent
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
const splitPanePrivateMethods: SplitItemPrivateMethods = {
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
Object.assign($xeSplitItem, splitPaneMethods, splitPanePrivateMethods)
|
|
92
|
-
|
|
93
|
-
const renderVN = () => {
|
|
94
|
-
return h('div', {
|
|
95
|
-
ref: refElem
|
|
96
|
-
})
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
watch(() => props.name, (val) => {
|
|
100
|
-
paneConfig.name = val
|
|
101
|
-
})
|
|
102
|
-
|
|
103
|
-
watch(() => props.width, (val) => {
|
|
104
|
-
paneConfig.width = val
|
|
105
|
-
})
|
|
106
|
-
|
|
107
|
-
watch(() => props.height, (val) => {
|
|
108
|
-
paneConfig.height = val
|
|
109
|
-
})
|
|
110
|
-
|
|
111
|
-
watch(() => props.minWidth, (val) => {
|
|
112
|
-
paneConfig.minWidth = val
|
|
113
|
-
})
|
|
114
|
-
|
|
115
|
-
watch(() => props.minHeight, (val) => {
|
|
116
|
-
paneConfig.minHeight = val
|
|
117
|
-
})
|
|
118
|
-
|
|
119
|
-
watch(() => props.showAction, (val) => {
|
|
120
|
-
paneConfig.showAction = val
|
|
121
|
-
})
|
|
122
|
-
|
|
123
|
-
onMounted(() => {
|
|
124
|
-
const elem = refElem.value
|
|
125
|
-
if ($xeSplit && elem) {
|
|
126
|
-
assembleSplitItem($xeSplit, elem, paneConfig)
|
|
127
|
-
}
|
|
128
|
-
})
|
|
129
|
-
|
|
130
|
-
onUnmounted(() => {
|
|
131
|
-
if ($xeSplit) {
|
|
132
|
-
destroySplitItem($xeSplit, paneConfig)
|
|
133
|
-
}
|
|
134
|
-
})
|
|
135
|
-
|
|
136
|
-
provide('$xeSplitItem', $xeSplitItem)
|
|
137
|
-
|
|
138
|
-
$xeSplitItem.renderVN = renderVN
|
|
139
|
-
|
|
140
|
-
return $xeSplitItem
|
|
141
|
-
},
|
|
142
|
-
render () {
|
|
143
|
-
return this.renderVN()
|
|
144
|
-
}
|
|
145
|
-
})
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import XEUtils from 'xe-utils'
|
|
2
|
-
|
|
3
|
-
import type { VxeSplitConstructor, VxeSplitPrivateMethods, VxeSplitDefines } from '../../../types'
|
|
4
|
-
|
|
5
|
-
export function assembleSplitItem ($xeSplit: VxeSplitConstructor & VxeSplitPrivateMethods, elem: HTMLElement, paneConfig: VxeSplitDefines.PaneConfig) {
|
|
6
|
-
const staticItems = $xeSplit.reactData.staticItems
|
|
7
|
-
const parentElem = elem.parentNode
|
|
8
|
-
if (parentElem) {
|
|
9
|
-
staticItems.splice(XEUtils.arrayIndexOf(parentElem.children, elem), 0, paneConfig)
|
|
10
|
-
$xeSplit.reactData.staticItems = staticItems.slice(0)
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export function destroySplitItem ($xeSplit: VxeSplitConstructor & VxeSplitPrivateMethods, paneConfig: VxeSplitDefines.PaneConfig) {
|
|
15
|
-
const staticItems = $xeSplit.reactData.staticItems
|
|
16
|
-
const index = XEUtils.findIndexOf(staticItems, item => item.id === paneConfig.id)
|
|
17
|
-
if (index > -1) {
|
|
18
|
-
staticItems.splice(index, 1)
|
|
19
|
-
}
|
|
20
|
-
$xeSplit.reactData.staticItems = staticItems.slice(0)
|
|
21
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|