panel-splitjs 0.3.3__py3-none-any.whl → 0.3.4__py3-none-any.whl
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.
- panel_splitjs/_version.py +2 -2
- panel_splitjs/dist/panel-splitjs.bundle.js +1 -1
- panel_splitjs/models/multi_split.js +65 -19
- {panel_splitjs-0.3.3.dist-info → panel_splitjs-0.3.4.dist-info}/METADATA +1 -1
- {panel_splitjs-0.3.3.dist-info → panel_splitjs-0.3.4.dist-info}/RECORD +7 -7
- {panel_splitjs-0.3.3.dist-info → panel_splitjs-0.3.4.dist-info}/WHEEL +0 -0
- {panel_splitjs-0.3.3.dist-info → panel_splitjs-0.3.4.dist-info}/licenses/LICENSE.txt +0 -0
panel_splitjs/_version.py
CHANGED
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '0.3.
|
|
32
|
-
__version_tuple__ = version_tuple = (0, 3,
|
|
31
|
+
__version__ = version = '0.3.4'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 3, 4)
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var ye=Object.defineProperty;var ce=(e,a)=>{for(var r in a)ye(e,r,{get:a[r],enumerable:!0})};var G={};ce(G,{render:()=>Ne});var N=typeof window<"u"?window:null,ee=N===null,q=ee?void 0:N.document,L="addEventListener",j="removeEventListener",T="getBoundingClientRect",W="_a",D="_b",C="_c",Y="horizontal",M=function(){return!1},_e=ee?"calc":["","-webkit-","-moz-","-o-"].filter(function(e){var a=q.createElement("div");return a.style.cssText="width:"+e+"calc(9px)",!!a.style.length}).shift()+"calc",ue=function(e){return typeof e=="string"||e instanceof String},oe=function(e){if(ue(e)){var a=q.querySelector(e);if(!a)throw new Error("Selector "+e+" did not match a DOM element");return a}return e},S=function(e,a,r){var l=e[a];return l!==void 0?l:r},J=function(e,a,r,l){if(a){if(l==="end")return 0;if(l==="center")return e/2}else if(r){if(l==="start")return 0;if(l==="center")return e/2}return e},be=function(e,a){var r=q.createElement("div");return r.className="gutter gutter-"+a,r},xe=function(e,a,r){var l={};return ue(a)?l[e]=a:l[e]=_e+"("+a+"% - "+r+"px)",l},we=function(e,a){var r;return r={},r[e]=a+"px",r},Ee=function(e,a){if(a===void 0&&(a={}),ee)return{};var r=e,l,y,O,b,f,o;Array.from&&(r=Array.from(r));var g=oe(r[0]),u=g.parentNode,h=getComputedStyle?getComputedStyle(u):null,_=h?h.flexDirection:null,p=S(a,"sizes")||r.map(function(){return 100/r.length}),H=S(a,"minSize",100),d=Array.isArray(H)?H:r.map(function(){return H}),A=S(a,"maxSize",1/0),Q=Array.isArray(A)?A:r.map(function(){return A}),P=S(a,"expandToMin",!1),x=S(a,"gutterSize",10),c=S(a,"gutterAlign","center"),z=S(a,"snapOffset",30),I=Array.isArray(z)?z:r.map(function(){return z}),$=S(a,"dragInterval",1),E=S(a,"direction",Y),k=S(a,"cursor",E===Y?"col-resize":"row-resize"),fe=S(a,"gutter",be),ne=S(a,"elementStyle",xe),de=S(a,"gutterStyle",we);E===Y?(l="width",y="clientX",O="left",b="right",f="clientWidth"):E==="vertical"&&(l="height",y="clientY",O="top",b="bottom",f="clientHeight");function R(i,t,n,s){var m=ne(l,t,n,s);Object.keys(m).forEach(function(v){i.style[v]=m[v]})}function ve(i,t,n){var s=de(l,t,n);Object.keys(s).forEach(function(m){i.style[m]=s[m]})}function Z(){return o.map(function(i){return i.size})}function ie(i){return"touches"in i?i.touches[0][y]:i[y]}function se(i){var t=o[this.a],n=o[this.b],s=t.size+n.size;t.size=i/this.size*s,n.size=s-i/this.size*s,R(t.element,t.size,this[D],t.i),R(n.element,n.size,this[C],n.i)}function pe(i){var t,n=o[this.a],s=o[this.b];this.dragging&&(t=ie(i)-this.start+(this[D]-this.dragOffset),$>1&&(t=Math.round(t/$)*$),t<=n.minSize+n.snapOffset+this[D]?t=n.minSize+this[D]:t>=this.size-(s.minSize+s.snapOffset+this[C])&&(t=this.size-(s.minSize+this[C])),t>=n.maxSize-n.snapOffset+this[D]?t=n.maxSize+this[D]:t<=this.size-(s.maxSize-s.snapOffset+this[C])&&(t=this.size-(s.maxSize+this[C])),se.call(this,t),S(a,"onDrag",M)(Z()))}function re(){var i=o[this.a].element,t=o[this.b].element,n=i[T](),s=t[T]();this.size=n[l]+s[l]+this[D]+this[C],this.start=n[O],this.end=n[b]}function ge(i){if(!getComputedStyle)return null;var t=getComputedStyle(i);if(!t)return null;var n=i[f];return n===0?null:(E===Y?n-=parseFloat(t.paddingLeft)+parseFloat(t.paddingRight):n-=parseFloat(t.paddingTop)+parseFloat(t.paddingBottom),n)}function ae(i){var t=ge(u);if(t===null||d.reduce(function(v,w){return v+w},0)>t)return i;var n=0,s=[],m=i.map(function(v,w){var B=t*v/100,V=J(x,w===0,w===i.length-1,c),X=d[w]+V;return B<X?(n+=X-B,s.push(0),X):(s.push(B-X),B)});return n===0?i:m.map(function(v,w){var B=v;if(n>0&&s[w]-n>0){var V=Math.min(n,s[w]-n);n-=V,B=v-V}return B/t*100})}function he(){var i=this,t=o[i.a].element,n=o[i.b].element;i.dragging&&S(a,"onDragEnd",M)(Z()),i.dragging=!1,N[j]("mouseup",i.stop),N[j]("touchend",i.stop),N[j]("touchcancel",i.stop),N[j]("mousemove",i.move),N[j]("touchmove",i.move),i.stop=null,i.move=null,t[j]("selectstart",M),t[j]("dragstart",M),n[j]("selectstart",M),n[j]("dragstart",M),t.style.userSelect="",t.style.webkitUserSelect="",t.style.MozUserSelect="",t.style.pointerEvents="",n.style.userSelect="",n.style.webkitUserSelect="",n.style.MozUserSelect="",n.style.pointerEvents="",i.gutter.style.cursor="",i.parent.style.cursor="",q.body.style.cursor=""}function ze(i){if(!("button"in i&&i.button!==0)){var t=this,n=o[t.a].element,s=o[t.b].element;t.dragging||S(a,"onDragStart",M)(Z()),i.preventDefault(),t.dragging=!0,t.move=pe.bind(t),t.stop=he.bind(t),N[L]("mouseup",t.stop),N[L]("touchend",t.stop),N[L]("touchcancel",t.stop),N[L]("mousemove",t.move),N[L]("touchmove",t.move),n[L]("selectstart",M),n[L]("dragstart",M),s[L]("selectstart",M),s[L]("dragstart",M),n.style.userSelect="none",n.style.webkitUserSelect="none",n.style.MozUserSelect="none",n.style.pointerEvents="none",s.style.userSelect="none",s.style.webkitUserSelect="none",s.style.MozUserSelect="none",s.style.pointerEvents="none",t.gutter.style.cursor=k,t.parent.style.cursor=k,q.body.style.cursor=k,re.call(t),t.dragOffset=ie(i)-t.end}}p=ae(p);var U=[];o=r.map(function(i,t){var n={element:oe(i),size:p[t],minSize:d[t],maxSize:Q[t],snapOffset:I[t],i:t},s;if(t>0&&(s={a:t-1,b:t,dragging:!1,direction:E,parent:u},s[D]=J(x,t-1===0,!1,c),s[C]=J(x,!1,t===r.length-1,c),_==="row-reverse"||_==="column-reverse")){var m=s.a;s.a=s.b,s.b=m}if(t>0){var v=fe(t,E,n.element);ve(v,x,t),s[W]=ze.bind(s),v[L]("mousedown",s[W]),v[L]("touchstart",s[W]),u.insertBefore(v,n.element),s.gutter=v}return R(n.element,n.size,J(x,t===0,t===r.length-1,c),t),t>0&&U.push(s),n});function le(i){var t=i.i===U.length,n=t?U[i.i-1]:U[i.i];re.call(n);var s=t?n.size-i.minSize-n[C]:i.minSize+n[D];se.call(n,s)}o.forEach(function(i){var t=i.element[T]()[l];t<i.minSize&&(P?le(i):i.minSize=t)});function me(i){var t=ae(i);t.forEach(function(n,s){if(s>0){var m=U[s-1],v=o[m.a],w=o[m.b];v.size=t[s-1],w.size=n,R(v.element,v.size,m[D],v.i),R(w.element,w.size,m[C],w.i)}})}function Se(i,t){U.forEach(function(n){if(t!==!0?n.parent.removeChild(n.gutter):(n.gutter[j]("mousedown",n[W]),n.gutter[j]("touchstart",n[W])),i!==!0){var s=ne(l,n.a.size,n[D]);Object.keys(s).forEach(function(m){o[n.a].element.style[m]="",o[n.b].element.style[m]=""})}})}return{setSizes:me,getSizes:Z,collapse:function(t){le(o[t])},destroy:Se,parent:u,pairs:U}},K=Ee;var F=5;function Ne({model:e,el:a}){let r=document.createElement("div");r.className=`split single-split ${e.orientation} `,r.style.visibility="hidden",r.classList.add("loading"),e.show_buttons&&r.classList.add("expand-buttons");let[l,y]=Array.isArray(e.min_size)?e.min_size:[e.min_size,e.min_size],O=!1;e.orientation==="horizontal"?r.style.minWidth=`${l+y+e.gutter_size}px`:r.style.minHeight=`${l+y+e.gutter_size}px`;let b=document.createElement("div");b.className="split-panel",l&&(e.orientation==="horizontal"?b.style.minWidth=`${l}px`:b.style.minHeight=`${l}px`);let f=document.createElement("div");f.className="split-panel",y&&(e.orientation==="horizontal"?f.style.minWidth=`${y}px`:f.style.minHeight=`${y}px`),r.append(b,f);let o=document.createElement("div"),g=document.createElement("div");if(o.className=e.collapsed===0?"collapsed-content":"content-wrapper",g.className=e.collapsed===1?"collapsed-content":"content-wrapper",e.objects!=null&&e.objects.length==2){let[c,z]=e.get_child("objects");o.append(c),g.append(z)}b.append(o),f.append(g),e.on("objects",()=>{let[c,z]=e.get_child("objects");[...o.children].includes(c)||o.replaceChildren(c),[...g.children].includes(z)||g.replaceChildren(z)});let u,h,_=0,p=0;function H(){_=p=0}e.show_buttons&&(u=document.createElement("div"),h=document.createElement("div"),e.orientation==="horizontal"?(u.className="toggle-button-left",h.className="toggle-button-right"):(u.className="toggle-button-up",h.className="toggle-button-down"),f.append(u,h),u.addEventListener("click",()=>{_++,p=0;let c;_===1&&e.sizes[1]<e.expanded_sizes[1]?(c=e.expanded_sizes,d=null):(d=0,c=[0,100],_=0),x(c,!0)}),h.addEventListener("click",()=>{p++,_=0;let c;p===1&&e.sizes[0]<e.expanded_sizes[0]?(c=e.expanded_sizes,d=null):(d=1,c=[100,0],p=0),x(c,!0)})),a.append(r);let d=e.collapsed,A=e.sizes,Q=d==null?e.sizes:d?[100,0]:[0,100],P=K([b,f],{sizes:Q,minSize:e.min_size,maxSize:e.max_size||+"Infinity",dragInterval:e.step_size,snapOffset:e.snap_size,gutterSize:e.gutter_size,gutter:(c,z)=>{let I=document.createElement("div");I.className=`gutter gutter-${z}`;let $=document.createElement("div");return $.className="divider",I.append($),I},direction:e.orientation,onDrag:c=>{let z=c[0]<=F?0:c[1]<=F?1:null;d!==z&&(d=z,x(c))},onDragEnd:c=>{d=c[0]<=F?0:c[1]<=F?1:null,e.collapsed=d,x(c,!0),H()}});function x(c=null,z=!1){let I=c?c[0]<=F&&l<F:!1,$=c?c[1]<=F&&y<F:!1,[E,k]=c;$?(g.className="collapsed-content",[E,k]=[100,0]):g.className="content-wrapper",I?(o.className="collapsed-content",[E,k]=[0,100]):o.className="content-wrapper",z&&O?(P.setSizes([E,k]),c=[E,k],window.dispatchEvent(new Event("resize")),requestAnimationFrame(()=>{e.sizes=P.getSizes()})):z&&(c=[E,k])}e.on("sizes",()=>{A!==e.sizes&&(A=e.sizes,e.collapsed=1-A[0]>=0?0:1-A[1]>=0?1:null,x(A,O))}),e.on("collapsed",()=>{if(d===e.collapsed)return;d=e.collapsed;let c=d===0?[0,100]:d===1?[100,0]:e.expanded_sizes;x(c,O)}),e.on("after_layout",()=>{O||(O=!0,e.show_buttons&&(u.classList.add("animated"),h.classList.add("animated"),setTimeout(()=>{u.classList.remove("animated"),h.classList.remove("animated")},1500)),r.style.visibility="",r.classList.remove("loading"),x(d==null?A:d?[100,0]:[0,100],!0))}),e.on("remove",()=>P.destroy())}var te={};ce(te,{render:()=>Oe});function Oe({model:e,el:a}){let r=document.createElement("div");r.className=`split multi-split ${e.orientation}`,r.style.visibility="hidden",r.classList.add("loading");let l=null,y=!1;function O(f,o){for(let g=0;g<o.length;g++){let u=o[g],h=f.children[g];h?.id!==u.id&&(h?f.insertBefore(u,h):f.append(u))}for(;f.children.length>o.length;)f.removeChild(f.lastElementChild)}let b=()=>{l!=null&&(l.destroy(),l=null);let f=e.objects?e.get_child("objects"):[],o=[];for(let u=0;u<f.length;u++){let h=f[u],_=`split-panel-${e.objects[u].id}`,p=a.querySelector(`#${_}`);p==null&&(p=document.createElement("div"),p.className="split-panel",p.id=_,p.replaceChildren(h)),o.push(p)}O(r,o);let g=e.sizes;l=K(o,{sizes:g,minSize:e.min_size||0,maxSize:e.max_size||+"Infinity",dragInterval:e.step_size||1,snapOffset:e.snap_size||30,gutterSize:e.gutter_size,gutter:(u,h)=>{let _=document.createElement("div");_.className=`gutter gutter-${h}`;let p=document.createElement("div");return p.className="divider",_.append(p),_},direction:e.orientation,onDragEnd:u=>{g=u,this.model.sizes=g}})};b(),a.append(r),e.on("objects",b),e.on("sizes",()=>{sizes!==e.sizes&&(sizes=e.sizes,y&&l&&l.setSizes(sizes))}),e.on("after_layout",()=>{y||(y=!0,r.style.visibility="",r.classList.remove("loading"),l&&e.sizes&&l.setSizes(e.sizes))}),e.on("remove",()=>l.destroy())}var Ae={HSplit:G,MultiSplit:te,Split:G,VSplit:G};export{Ae as default};
|
|
1
|
+
var ye=Object.defineProperty;var ce=(e,s)=>{for(var c in s)ye(e,c,{get:s[c],enumerable:!0})};var H={};ce(H,{render:()=>Ne});var C=typeof window<"u"?window:null,ee=C===null,Z=ee?void 0:C.document,M="addEventListener",$="removeEventListener",T="getBoundingClientRect",W="_a",k="_b",I="_c",J="horizontal",F=function(){return!1},_e=ee?"calc":["","-webkit-","-moz-","-o-"].filter(function(e){var s=Z.createElement("div");return s.style.cssText="width:"+e+"calc(9px)",!!s.style.length}).shift()+"calc",ue=function(e){return typeof e=="string"||e instanceof String},oe=function(e){if(ue(e)){var s=Z.querySelector(e);if(!s)throw new Error("Selector "+e+" did not match a DOM element");return s}return e},w=function(e,s,c){var o=e[s];return o!==void 0?o:c},K=function(e,s,c,o){if(s){if(o==="end")return 0;if(o==="center")return e/2}else if(c){if(o==="start")return 0;if(o==="center")return e/2}return e},be=function(e,s){var c=Z.createElement("div");return c.className="gutter gutter-"+s,c},we=function(e,s,c){var o={};return ue(s)?o[e]=s:o[e]=_e+"("+s+"% - "+c+"px)",o},xe=function(e,s){var c;return c={},c[e]=s+"px",c},Ee=function(e,s){if(s===void 0&&(s={}),ee)return{};var c=e,o,v,E,z,N,u;Array.from&&(c=Array.from(c));var m=oe(c[0]),p=m.parentNode,h=getComputedStyle?getComputedStyle(p):null,x=h?h.flexDirection:null,y=w(s,"sizes")||c.map(function(){return 100/c.length}),q=w(s,"minSize",100),d=Array.isArray(q)?q:c.map(function(){return q}),A=w(s,"maxSize",1/0),P=Array.isArray(A)?A:c.map(function(){return A}),D=w(s,"expandToMin",!1),l=w(s,"gutterSize",10),a=w(s,"gutterAlign","center"),f=w(s,"snapOffset",30),O=Array.isArray(f)?f:c.map(function(){return f}),S=w(s,"dragInterval",1),b=w(s,"direction",J),L=w(s,"cursor",b===J?"col-resize":"row-resize"),fe=w(s,"gutter",be),ne=w(s,"elementStyle",we),de=w(s,"gutterStyle",xe);b===J?(o="width",v="clientX",E="left",z="right",N="clientWidth"):b==="vertical"&&(o="height",v="clientY",E="top",z="bottom",N="clientHeight");function R(i,t,n,r){var _=ne(o,t,n,r);Object.keys(_).forEach(function(g){i.style[g]=_[g]})}function ve(i,t,n){var r=de(o,t,n);Object.keys(r).forEach(function(_){i.style[_]=r[_]})}function V(){return u.map(function(i){return i.size})}function ie(i){return"touches"in i?i.touches[0][v]:i[v]}function re(i){var t=u[this.a],n=u[this.b],r=t.size+n.size;t.size=i/this.size*r,n.size=r-i/this.size*r,R(t.element,t.size,this[k],t.i),R(n.element,n.size,this[I],n.i)}function pe(i){var t,n=u[this.a],r=u[this.b];this.dragging&&(t=ie(i)-this.start+(this[k]-this.dragOffset),S>1&&(t=Math.round(t/S)*S),t<=n.minSize+n.snapOffset+this[k]?t=n.minSize+this[k]:t>=this.size-(r.minSize+r.snapOffset+this[I])&&(t=this.size-(r.minSize+this[I])),t>=n.maxSize-n.snapOffset+this[k]?t=n.maxSize+this[k]:t<=this.size-(r.maxSize-r.snapOffset+this[I])&&(t=this.size-(r.maxSize+this[I])),re.call(this,t),w(s,"onDrag",F)(V()))}function se(){var i=u[this.a].element,t=u[this.b].element,n=i[T](),r=t[T]();this.size=n[o]+r[o]+this[k]+this[I],this.start=n[E],this.end=n[z]}function he(i){if(!getComputedStyle)return null;var t=getComputedStyle(i);if(!t)return null;var n=i[N];return n===0?null:(b===J?n-=parseFloat(t.paddingLeft)+parseFloat(t.paddingRight):n-=parseFloat(t.paddingTop)+parseFloat(t.paddingBottom),n)}function ae(i){var t=he(p);if(t===null||d.reduce(function(g,j){return g+j},0)>t)return i;var n=0,r=[],_=i.map(function(g,j){var G=t*g/100,X=K(l,j===0,j===i.length-1,a),Y=d[j]+X;return G<Y?(n+=Y-G,r.push(0),Y):(r.push(G-Y),G)});return n===0?i:_.map(function(g,j){var G=g;if(n>0&&r[j]-n>0){var X=Math.min(n,r[j]-n);n-=X,G=g-X}return G/t*100})}function ge(){var i=this,t=u[i.a].element,n=u[i.b].element;i.dragging&&w(s,"onDragEnd",F)(V()),i.dragging=!1,C[$]("mouseup",i.stop),C[$]("touchend",i.stop),C[$]("touchcancel",i.stop),C[$]("mousemove",i.move),C[$]("touchmove",i.move),i.stop=null,i.move=null,t[$]("selectstart",F),t[$]("dragstart",F),n[$]("selectstart",F),n[$]("dragstart",F),t.style.userSelect="",t.style.webkitUserSelect="",t.style.MozUserSelect="",t.style.pointerEvents="",n.style.userSelect="",n.style.webkitUserSelect="",n.style.MozUserSelect="",n.style.pointerEvents="",i.gutter.style.cursor="",i.parent.style.cursor="",Z.body.style.cursor=""}function me(i){if(!("button"in i&&i.button!==0)){var t=this,n=u[t.a].element,r=u[t.b].element;t.dragging||w(s,"onDragStart",F)(V()),i.preventDefault(),t.dragging=!0,t.move=pe.bind(t),t.stop=ge.bind(t),C[M]("mouseup",t.stop),C[M]("touchend",t.stop),C[M]("touchcancel",t.stop),C[M]("mousemove",t.move),C[M]("touchmove",t.move),n[M]("selectstart",F),n[M]("dragstart",F),r[M]("selectstart",F),r[M]("dragstart",F),n.style.userSelect="none",n.style.webkitUserSelect="none",n.style.MozUserSelect="none",n.style.pointerEvents="none",r.style.userSelect="none",r.style.webkitUserSelect="none",r.style.MozUserSelect="none",r.style.pointerEvents="none",t.gutter.style.cursor=L,t.parent.style.cursor=L,Z.body.style.cursor=L,se.call(t),t.dragOffset=ie(i)-t.end}}y=ae(y);var B=[];u=c.map(function(i,t){var n={element:oe(i),size:y[t],minSize:d[t],maxSize:P[t],snapOffset:O[t],i:t},r;if(t>0&&(r={a:t-1,b:t,dragging:!1,direction:b,parent:p},r[k]=K(l,t-1===0,!1,a),r[I]=K(l,!1,t===c.length-1,a),x==="row-reverse"||x==="column-reverse")){var _=r.a;r.a=r.b,r.b=_}if(t>0){var g=fe(t,b,n.element);ve(g,l,t),r[W]=me.bind(r),g[M]("mousedown",r[W]),g[M]("touchstart",r[W]),p.insertBefore(g,n.element),r.gutter=g}return R(n.element,n.size,K(l,t===0,t===c.length-1,a),t),t>0&&B.push(r),n});function le(i){var t=i.i===B.length,n=t?B[i.i-1]:B[i.i];se.call(n);var r=t?n.size-i.minSize-n[I]:i.minSize+n[k];re.call(n,r)}u.forEach(function(i){var t=i.element[T]()[o];t<i.minSize&&(D?le(i):i.minSize=t)});function ze(i){var t=ae(i);t.forEach(function(n,r){if(r>0){var _=B[r-1],g=u[_.a],j=u[_.b];g.size=t[r-1],j.size=n,R(g.element,g.size,_[k],g.i),R(j.element,j.size,_[I],j.i)}})}function Se(i,t){B.forEach(function(n){if(t!==!0?n.parent.removeChild(n.gutter):(n.gutter[$]("mousedown",n[W]),n.gutter[$]("touchstart",n[W])),i!==!0){var r=ne(o,n.a.size,n[k]);Object.keys(r).forEach(function(_){u[n.a].element.style[_]="",u[n.b].element.style[_]=""})}})}return{setSizes:ze,getSizes:V,collapse:function(t){le(u[t])},destroy:Se,parent:p,pairs:B}},Q=Ee;var U=5;function Ne({model:e,el:s}){let c=document.createElement("div");c.className=`split single-split ${e.orientation} `,c.style.visibility="hidden",c.classList.add("loading"),e.show_buttons&&c.classList.add("expand-buttons");let[o,v]=Array.isArray(e.min_size)?e.min_size:[e.min_size,e.min_size],E=!1;e.orientation==="horizontal"?c.style.minWidth=`${o+v+e.gutter_size}px`:c.style.minHeight=`${o+v+e.gutter_size}px`;let z=document.createElement("div");z.className="split-panel",o&&(e.orientation==="horizontal"?z.style.minWidth=`${o}px`:z.style.minHeight=`${o}px`);let N=document.createElement("div");N.className="split-panel",v&&(e.orientation==="horizontal"?N.style.minWidth=`${v}px`:N.style.minHeight=`${v}px`),c.append(z,N);let u=document.createElement("div"),m=document.createElement("div");if(u.className=e.collapsed===0?"collapsed-content":"content-wrapper",m.className=e.collapsed===1?"collapsed-content":"content-wrapper",e.objects!=null&&e.objects.length==2){let[a,f]=e.get_child("objects");u.append(a),m.append(f)}z.append(u),N.append(m),e.on("objects",()=>{let[a,f]=e.get_child("objects");[...u.children].includes(a)||u.replaceChildren(a),[...m.children].includes(f)||m.replaceChildren(f)});let p,h,x=0,y=0;function q(){x=y=0}e.show_buttons&&(p=document.createElement("div"),h=document.createElement("div"),e.orientation==="horizontal"?(p.className="toggle-button-left",h.className="toggle-button-right"):(p.className="toggle-button-up",h.className="toggle-button-down"),N.append(p,h),p.addEventListener("click",()=>{x++,y=0;let a;x===1&&e.sizes[1]<e.expanded_sizes[1]?(a=e.expanded_sizes,d=null):(d=0,a=[0,100],x=0),l(a,!0)}),h.addEventListener("click",()=>{y++,x=0;let a;y===1&&e.sizes[0]<e.expanded_sizes[0]?(a=e.expanded_sizes,d=null):(d=1,a=[100,0],y=0),l(a,!0)})),s.append(c);let d=e.collapsed,A=e.sizes,P=d==null?e.sizes:d?[100,0]:[0,100],D=Q([z,N],{sizes:P,minSize:e.min_size,maxSize:e.max_size||+"Infinity",dragInterval:e.step_size,snapOffset:e.snap_size,gutterSize:e.gutter_size,gutter:(a,f)=>{let O=document.createElement("div");O.className=`gutter gutter-${f}`;let S=document.createElement("div");return S.className="divider",O.append(S),O},direction:e.orientation,onDrag:a=>{let f=a[0]<=U?0:a[1]<=U?1:null;d!==f&&(d=f,l(a))},onDragEnd:a=>{d=a[0]<=U?0:a[1]<=U?1:null,e.collapsed=d,l(a,!0),q()}});function l(a=null,f=!1){let O=a?a[0]<=U&&o<U:!1,S=a?a[1]<=U&&v<U:!1,[b,L]=a;S?(m.className="collapsed-content",[b,L]=[100,0]):m.className="content-wrapper",O?(u.className="collapsed-content",[b,L]=[0,100]):u.className="content-wrapper",f&&E?(D.setSizes([b,L]),a=[b,L],window.dispatchEvent(new Event("resize")),requestAnimationFrame(()=>{e.sizes=D.getSizes()})):f&&(a=[b,L])}e.on("sizes",()=>{A!==e.sizes&&(A=e.sizes,e.collapsed=1-A[0]>=0?0:1-A[1]>=0?1:null,l(A,E))}),e.on("collapsed",()=>{if(d===e.collapsed)return;d=e.collapsed;let a=d===0?[0,100]:d===1?[100,0]:e.expanded_sizes;l(a,E)}),e.on("after_layout",()=>{E||(E=!0,e.show_buttons&&(p.classList.add("animated"),h.classList.add("animated"),setTimeout(()=>{p.classList.remove("animated"),h.classList.remove("animated")},1500)),c.style.visibility="",c.classList.remove("loading"),l(d==null?A:d?[100,0]:[0,100],!0))}),e.on("remove",()=>D.destroy())}var te={};ce(te,{render:()=>Oe});function Oe({model:e,el:s,view:c}){let o=document.createElement("div");o.className=`split multi-split ${e.orientation}`,o.style.visibility="hidden",o.classList.add("loading");let v=null,E=!1,z=e.sizes;function N(m,p){for(let h=0;h<p.length;h++){let x=p[h],y=m.children[h];y?.id!==x.id&&(y?m.insertBefore(x,y):m.append(x))}for(;m.children.length>p.length;)m.removeChild(m.lastElementChild)}let u=()=>{v!=null&&(v.destroy(),v=null);let m=e.objects||[],p=e.objects?e.get_child("objects"):[],h=m.map(l=>`split-panel-${l.id}`),x=new Set(h),y=Array.from(o.children),d=y.map(l=>l.id).filter(l=>x.has(l)),A=d.length===h.length&&h.every((l,a)=>l===d[a]),P=[],D=[];if(A){for(let l of y)x.has(l.id)||l.remove();D=h.map(l=>o.querySelector(`#${l}`)).filter(l=>l!=null)}else{for(let l=0;l<p.length;l++){let a=m[l],f=`split-panel-${a.id}`,O=y[l],S=o.querySelector(`#${f}`);if(O?.id===f){D.push(O);continue}let b=p[l],L=c.get_child_view(a);S&&(L?.rerender_||L?.rerender)&&P.push(L),S==null?(S=document.createElement("div"),S.className="split-panel",S.id=f,S.replaceChildren(b)):S.firstChild!==b&&S.replaceChildren(b),D.push(S)}N(o,D)}if(z=e.sizes,v=Q(D,{sizes:z,minSize:e.min_size||0,maxSize:e.max_size||+"Infinity",dragInterval:e.step_size||1,snapOffset:e.snap_size||30,gutterSize:e.gutter_size,gutter:(l,a)=>{let f=document.createElement("div");f.className=`gutter gutter-${a}`;let O=document.createElement("div");return O.className="divider",f.append(O),f},direction:e.orientation,onDragEnd:l=>{z=l,this.model.sizes=z}}),E)for(let l of P)l?.rerender_?l.rerender_():l?.rerender&&l.rerender()};u(),s.append(o),e.on("objects",u),e.on("sizes",()=>{z!==e.sizes&&(z=e.sizes,E&&v&&v.setSizes(z))}),e.on("after_layout",()=>{E||(E=!0,o.style.visibility="",o.classList.remove("loading"),v&&e.sizes&&v.setSizes(e.sizes))}),e.on("remove",()=>v.destroy())}var De={HSplit:H,MultiSplit:te,Split:H,VSplit:H};export{De as default};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Split from "https://esm.sh/split.js@1.6.5"
|
|
2
2
|
|
|
3
|
-
export function render({ model, el }) {
|
|
3
|
+
export function render({ model, el, view }) {
|
|
4
4
|
const split_div = document.createElement("div")
|
|
5
5
|
split_div.className = `split multi-split ${model.orientation}`
|
|
6
6
|
split_div.style.visibility = "hidden"
|
|
@@ -8,6 +8,7 @@ export function render({ model, el }) {
|
|
|
8
8
|
|
|
9
9
|
let split = null
|
|
10
10
|
let initialized = false
|
|
11
|
+
let sizes = model.sizes
|
|
11
12
|
|
|
12
13
|
function reconcileChildren(parent, desiredChildren) {
|
|
13
14
|
// Ensure each desired child is at the correct index
|
|
@@ -34,29 +35,65 @@ export function render({ model, el }) {
|
|
|
34
35
|
split = null
|
|
35
36
|
}
|
|
36
37
|
|
|
38
|
+
const object_models = model.objects || []
|
|
37
39
|
const objects = model.objects ? model.get_child("objects") : []
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
40
|
+
const desired_ids = object_models.map((obj_model) => `split-panel-${obj_model.id}`)
|
|
41
|
+
const desired_id_set = new Set(desired_ids)
|
|
42
|
+
const current_children = Array.from(split_div.children)
|
|
43
|
+
const current_ids = current_children.map((child) => child.id)
|
|
44
|
+
const current_filtered = current_ids.filter((id) => desired_id_set.has(id))
|
|
45
|
+
const removals_only =
|
|
46
|
+
current_filtered.length === desired_ids.length &&
|
|
47
|
+
desired_ids.every((id, idx) => id === current_filtered[idx])
|
|
48
|
+
|
|
49
|
+
const rerender_views = []
|
|
50
|
+
let split_items = []
|
|
51
|
+
|
|
52
|
+
if (removals_only) {
|
|
53
|
+
for (const child of current_children) {
|
|
54
|
+
if (!desired_id_set.has(child.id)) {
|
|
55
|
+
child.remove()
|
|
56
|
+
}
|
|
51
57
|
}
|
|
58
|
+
split_items = desired_ids
|
|
59
|
+
.map((id) => split_div.querySelector(`#${id}`))
|
|
60
|
+
.filter((child) => child != null)
|
|
61
|
+
} else {
|
|
62
|
+
for (let i = 0; i < objects.length; i++) {
|
|
63
|
+
const obj_model = object_models[i]
|
|
64
|
+
const id = `split-panel-${obj_model.id}`
|
|
65
|
+
const current_child = current_children[i]
|
|
66
|
+
let split_item = split_div.querySelector(`#${id}`)
|
|
52
67
|
|
|
53
|
-
|
|
54
|
-
|
|
68
|
+
if (current_child?.id === id) {
|
|
69
|
+
split_items.push(current_child)
|
|
70
|
+
continue
|
|
71
|
+
}
|
|
55
72
|
|
|
56
|
-
|
|
57
|
-
|
|
73
|
+
const obj = objects[i]
|
|
74
|
+
const child_view = view.get_child_view(obj_model)
|
|
75
|
+
if (split_item && (child_view?.rerender_ || child_view?.rerender)) {
|
|
76
|
+
rerender_views.push(child_view)
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// Try to reuse an existing split_item
|
|
80
|
+
if (split_item == null) {
|
|
81
|
+
split_item = document.createElement("div")
|
|
82
|
+
split_item.className = "split-panel"
|
|
83
|
+
split_item.id = id
|
|
84
|
+
split_item.replaceChildren(obj)
|
|
85
|
+
} else if (split_item.firstChild !== obj) {
|
|
86
|
+
split_item.replaceChildren(obj)
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
split_items.push(split_item)
|
|
90
|
+
}
|
|
58
91
|
|
|
59
|
-
|
|
92
|
+
// Incrementally reorder / trim children of split_div
|
|
93
|
+
reconcileChildren(split_div, split_items)
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
sizes = model.sizes
|
|
60
97
|
split = Split(split_items, {
|
|
61
98
|
sizes,
|
|
62
99
|
minSize: model.min_size || 0,
|
|
@@ -78,6 +115,15 @@ export function render({ model, el }) {
|
|
|
78
115
|
this.model.sizes = sizes
|
|
79
116
|
}
|
|
80
117
|
})
|
|
118
|
+
if (initialized) {
|
|
119
|
+
for (const child_view of rerender_views) {
|
|
120
|
+
if (child_view?.rerender_) {
|
|
121
|
+
child_view.rerender_()
|
|
122
|
+
} else if (child_view?.rerender) {
|
|
123
|
+
child_view.rerender()
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
81
127
|
}
|
|
82
128
|
|
|
83
129
|
render_splits()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: panel-splitjs
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.4
|
|
4
4
|
Summary: Provides split.js components for Panel.
|
|
5
5
|
Project-URL: Homepage, https://github.com/panel-extensions/panel-splitjs
|
|
6
6
|
Project-URL: Source, https://github.com/panel-extensions/panel-splitjs
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
panel_splitjs/__init__.py,sha256=BKEeHeKAv90kV3GybL6FH8RCwFZM4B6gffr7T8242Qk,150
|
|
2
2
|
panel_splitjs/__version.py,sha256=rpIYpR7RLjD5NBNasrT3f60C0qTL-nnHBifOofA_qyo,1778
|
|
3
|
-
panel_splitjs/_version.py,sha256=
|
|
3
|
+
panel_splitjs/_version.py,sha256=3nDaC5e0d_scBB1bUEKPlItbvbY0PmXNNyyOTNFNWNI,704
|
|
4
4
|
panel_splitjs/base.py,sha256=GurJYRlIMFoR24N48p6C-bBoSkArFjir0q72u8uhtDQ,6482
|
|
5
|
-
panel_splitjs/dist/panel-splitjs.bundle.js,sha256=
|
|
5
|
+
panel_splitjs/dist/panel-splitjs.bundle.js,sha256=dEdE3hvuvZxYmrrpKsA2OhfyrvB33qZIq1YDTM9IM-4,11368
|
|
6
6
|
panel_splitjs/dist/css/arrow_down.svg,sha256=pPSAQIH-UkJf1HbWJhAapaT-rROqn6JVPQldOT3Al0I,214
|
|
7
7
|
panel_splitjs/dist/css/arrow_left.svg,sha256=XZ1Qf7CzKTij-Fa4Up51Gbu_WnBcScK7Qx-tOprvEzE,215
|
|
8
8
|
panel_splitjs/dist/css/arrow_right.svg,sha256=_-3m5dLhPwH9caIEk8XLp3Z8-xQHHvTBny6AcyFVRb4,214
|
|
@@ -10,9 +10,9 @@ panel_splitjs/dist/css/arrow_up.svg,sha256=FoVQYz0kh1SAf7EJAs2ZI-ZuuQjcPzR3uM4uV
|
|
|
10
10
|
panel_splitjs/dist/css/handle.svg,sha256=tEQAE3lNBVzPigcp9Z0SQZCW0bSzfECYIvpl19NOd0E,899
|
|
11
11
|
panel_splitjs/dist/css/handle_vertical.svg,sha256=2QZdZzNiLaJp93Ot4tJBhfGjF07EiMfN-Hq3Uf5Z_BI,801
|
|
12
12
|
panel_splitjs/dist/css/splitjs.css,sha256=cWv_xwUFFl0rMaQh4CUhBKfOoS0mWu7qhlV439paruA,5555
|
|
13
|
-
panel_splitjs/models/multi_split.js,sha256=
|
|
13
|
+
panel_splitjs/models/multi_split.js,sha256=fSmsAcKKzH5qLuJoCwosFmNEbWuNm0_inXDKXuPkqKM,4658
|
|
14
14
|
panel_splitjs/models/split.js,sha256=XtycmywMi7sHj5TrYE2h9l_8MSAAgv9moSCTLlcgbL0,7234
|
|
15
|
-
panel_splitjs-0.3.
|
|
16
|
-
panel_splitjs-0.3.
|
|
17
|
-
panel_splitjs-0.3.
|
|
18
|
-
panel_splitjs-0.3.
|
|
15
|
+
panel_splitjs-0.3.4.dist-info/METADATA,sha256=X9t6BCnR_taDevhD1uzULMkIPIFv_eY1yxoUkqTZ0u4,13072
|
|
16
|
+
panel_splitjs-0.3.4.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
17
|
+
panel_splitjs-0.3.4.dist-info/licenses/LICENSE.txt,sha256=q8G87qfLzElD9n5Nxl1sOuzafC0z7H_nPgUcGWKzCTw,1515
|
|
18
|
+
panel_splitjs-0.3.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|