panel-splitjs 0.3.0__py3-none-any.whl → 0.3.2__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/base.py +3 -3
- panel_splitjs/dist/panel-splitjs.bundle.js +1 -1
- panel_splitjs/models/multi_split.js +7 -2
- panel_splitjs/models/split.js +15 -8
- {panel_splitjs-0.3.0.dist-info → panel_splitjs-0.3.2.dist-info}/METADATA +2 -2
- {panel_splitjs-0.3.0.dist-info → panel_splitjs-0.3.2.dist-info}/RECORD +9 -9
- {panel_splitjs-0.3.0.dist-info → panel_splitjs-0.3.2.dist-info}/WHEEL +1 -1
- {panel_splitjs-0.3.0.dist-info → panel_splitjs-0.3.2.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.2'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 3, 2)
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|
panel_splitjs/base.py
CHANGED
|
@@ -13,7 +13,7 @@ IS_RELEASE = __version__ == base_version(__version__)
|
|
|
13
13
|
BASE_PATH = Path(__file__).parent
|
|
14
14
|
DIST_PATH = BASE_PATH / 'dist'
|
|
15
15
|
CDN_BASE = f"https://cdn.holoviz.org/panel-splitjs/v{base_version(__version__)}"
|
|
16
|
-
CDN_DIST = f"{CDN_BASE}/panel-
|
|
16
|
+
CDN_DIST = f"{CDN_BASE}/panel-splitjs.bundle.js"
|
|
17
17
|
|
|
18
18
|
extension_dirs['panel-splitjs'] = DIST_PATH
|
|
19
19
|
EXTENSION_CDN[DIST_PATH] = CDN_BASE
|
|
@@ -97,7 +97,7 @@ class Split(SplitBase):
|
|
|
97
97
|
collapsed = param.Integer(default=None, doc="""
|
|
98
98
|
Whether the first or second panel is collapsed. 0 for first panel, 1 for second panel, None for not collapsed.""")
|
|
99
99
|
|
|
100
|
-
expanded_sizes =
|
|
100
|
+
expanded_sizes = Size(default=(50, 50), allow_None=True, length=2, doc="""
|
|
101
101
|
The sizes of the two panels when expanded (as percentages).
|
|
102
102
|
Default is (50, 50) .
|
|
103
103
|
When invert=True, these percentages are automatically swapped.""")
|
|
@@ -116,7 +116,7 @@ class Split(SplitBase):
|
|
|
116
116
|
Whether to show the toggle buttons on the divider.
|
|
117
117
|
When False, the buttons are hidden and panels can only be resized by dragging.""")
|
|
118
118
|
|
|
119
|
-
sizes =
|
|
119
|
+
sizes = Size(default=(50, 50), allow_None=True, length=2, doc="""
|
|
120
120
|
The initial sizes of the two panels (as percentages).
|
|
121
121
|
Default is (50, 50) which means the left panel takes up 50% of the space
|
|
122
122
|
and the right panel is not visible.""")
|
|
@@ -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 H={};ce(H,{render:()=>Ne});var E=typeof window<"u"?window:null,ee=E===null,Z=ee?void 0:E.document,O="addEventListener",L="removeEventListener",T="getBoundingClientRect",q="_a",j="_b",A="_c",J="horizontal",D=function(){return!1},_e=ee?"calc":["","-webkit-","-moz-","-o-"].filter(function(e){var a=Z.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=Z.querySelector(e);if(!a)throw new Error("Selector "+e+" did not match a DOM element");return a}return e},z=function(e,a,r){var l=e[a];return l!==void 0?l:r},K=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=Z.createElement("div");return r.className="gutter gutter-"+a,r},we=function(e,a,r){var l={};return ue(a)?l[e]=a:l[e]=_e+"("+a+"% - "+r+"px)",l},xe=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,b,w,_,f,o;Array.from&&(r=Array.from(r));var v=oe(r[0]),u=v.parentNode,h=getComputedStyle?getComputedStyle(u):null,m=h?h.flexDirection:null,S=z(a,"sizes")||r.map(function(){return 100/r.length}),p=z(a,"minSize",100),M=Array.isArray(p)?p:r.map(function(){return p}),P=z(a,"maxSize",1/0),R=Array.isArray(P)?P:r.map(function(){return P}),k=z(a,"expandToMin",!1),C=z(a,"gutterSize",10),c=z(a,"gutterAlign","center"),y=z(a,"snapOffset",30),U=Array.isArray(y)?y:r.map(function(){return y}),$=z(a,"dragInterval",1),N=z(a,"direction",J),F=z(a,"cursor",N===J?"col-resize":"row-resize"),fe=z(a,"gutter",be),ne=z(a,"elementStyle",we),de=z(a,"gutterStyle",xe);N===J?(l="width",b="clientX",w="left",_="right",f="clientWidth"):N==="vertical"&&(l="height",b="clientY",w="top",_="bottom",f="clientHeight");function W(i,t,n,s){var g=ne(l,t,n,s);Object.keys(g).forEach(function(d){i.style[d]=g[d]})}function ve(i,t,n){var s=de(l,t,n);Object.keys(s).forEach(function(g){i.style[g]=s[g]})}function V(){return o.map(function(i){return i.size})}function ie(i){return"touches"in i?i.touches[0][b]:i[b]}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,W(t.element,t.size,this[j],t.i),W(n.element,n.size,this[A],n.i)}function pe(i){var t,n=o[this.a],s=o[this.b];this.dragging&&(t=ie(i)-this.start+(this[j]-this.dragOffset),$>1&&(t=Math.round(t/$)*$),t<=n.minSize+n.snapOffset+this[j]?t=n.minSize+this[j]:t>=this.size-(s.minSize+s.snapOffset+this[A])&&(t=this.size-(s.minSize+this[A])),t>=n.maxSize-n.snapOffset+this[j]?t=n.maxSize+this[j]:t<=this.size-(s.maxSize-s.snapOffset+this[A])&&(t=this.size-(s.maxSize+this[A])),se.call(this,t),z(a,"onDrag",D)(V()))}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[j]+this[A],this.start=n[w],this.end=n[_]}function ge(i){if(!getComputedStyle)return null;var t=getComputedStyle(i);if(!t)return null;var n=i[f];return n===0?null:(N===J?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||M.reduce(function(d,x){return d+x},0)>t)return i;var n=0,s=[],g=i.map(function(d,x){var G=t*d/100,X=K(C,x===0,x===i.length-1,c),Y=M[x]+X;return G<Y?(n+=Y-G,s.push(0),Y):(s.push(G-Y),G)});return n===0?i:g.map(function(d,x){var G=d;if(n>0&&s[x]-n>0){var X=Math.min(n,s[x]-n);n-=X,G=d-X}return G/t*100})}function he(){var i=this,t=o[i.a].element,n=o[i.b].element;i.dragging&&z(a,"onDragEnd",D)(V()),i.dragging=!1,E[L]("mouseup",i.stop),E[L]("touchend",i.stop),E[L]("touchcancel",i.stop),E[L]("mousemove",i.move),E[L]("touchmove",i.move),i.stop=null,i.move=null,t[L]("selectstart",D),t[L]("dragstart",D),n[L]("selectstart",D),n[L]("dragstart",D),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 ze(i){if(!("button"in i&&i.button!==0)){var t=this,n=o[t.a].element,s=o[t.b].element;t.dragging||z(a,"onDragStart",D)(V()),i.preventDefault(),t.dragging=!0,t.move=pe.bind(t),t.stop=he.bind(t),E[O]("mouseup",t.stop),E[O]("touchend",t.stop),E[O]("touchcancel",t.stop),E[O]("mousemove",t.move),E[O]("touchmove",t.move),n[O]("selectstart",D),n[O]("dragstart",D),s[O]("selectstart",D),s[O]("dragstart",D),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=F,t.parent.style.cursor=F,Z.body.style.cursor=F,re.call(t),t.dragOffset=ie(i)-t.end}}S=ae(S);var B=[];o=r.map(function(i,t){var n={element:oe(i),size:S[t],minSize:M[t],maxSize:R[t],snapOffset:U[t],i:t},s;if(t>0&&(s={a:t-1,b:t,dragging:!1,direction:N,parent:u},s[j]=K(C,t-1===0,!1,c),s[A]=K(C,!1,t===r.length-1,c),m==="row-reverse"||m==="column-reverse")){var g=s.a;s.a=s.b,s.b=g}if(t>0){var d=fe(t,N,n.element);ve(d,C,t),s[q]=ze.bind(s),d[O]("mousedown",s[q]),d[O]("touchstart",s[q]),u.insertBefore(d,n.element),s.gutter=d}return W(n.element,n.size,K(C,t===0,t===r.length-1,c),t),t>0&&B.push(s),n});function le(i){var t=i.i===B.length,n=t?B[i.i-1]:B[i.i];re.call(n);var s=t?n.size-i.minSize-n[A]:i.minSize+n[j];se.call(n,s)}o.forEach(function(i){var t=i.element[T]()[l];t<i.minSize&&(k?le(i):i.minSize=t)});function me(i){var t=ae(i);t.forEach(function(n,s){if(s>0){var g=B[s-1],d=o[g.a],x=o[g.b];d.size=t[s-1],x.size=n,W(d.element,d.size,g[j],d.i),W(x.element,x.size,g[A],x.i)}})}function Se(i,t){B.forEach(function(n){if(t!==!0?n.parent.removeChild(n.gutter):(n.gutter[L]("mousedown",n[q]),n.gutter[L]("touchstart",n[q])),i!==!0){var s=ne(l,n.a.size,n[j]);Object.keys(s).forEach(function(g){o[n.a].element.style[g]="",o[n.b].element.style[g]=""})}})}return{setSizes:me,getSizes:V,collapse:function(t){le(o[t])},destroy:Se,parent:u,pairs:B}},Q=Ee;var I=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,b]=Array.isArray(e.min_size)?e.min_size:[e.min_size,e.min_size];e.orientation==="horizontal"?r.style.minWidth=`${l+b+e.gutter_size}px`:r.style.minHeight=`${l+b+e.gutter_size}px`;let w=document.createElement("div");w.className="split-panel",l&&(e.orientation==="horizontal"?w.style.minWidth=`${l}px`:w.style.minHeight=`${l}px`);let _=document.createElement("div");_.className="split-panel",b&&(e.orientation==="horizontal"?_.style.minWidth=`${b}px`:_.style.minHeight=`${b}px`),r.append(w,_);let f=document.createElement("div"),o=document.createElement("div");if(f.className=e.collapsed===0?"collapsed-content":"content-wrapper",o.className=e.collapsed===1?"collapsed-content":"content-wrapper",e.objects!=null&&e.objects.length==2){let[c,y]=e.get_child("objects");f.append(c),o.append(y)}w.append(f),_.append(o),e.on("objects",()=>{let[c,y]=e.get_child("objects");f.replaceChildren(c),o.replaceChildren(y)});let v,u,h=0,m=0;function S(){h=m=0}e.show_buttons&&(v=document.createElement("div"),u=document.createElement("div"),e.orientation==="horizontal"?(v.className="toggle-button-left",u.className="toggle-button-right"):(v.className="toggle-button-up",u.className="toggle-button-down"),_.append(v,u),v.addEventListener("click",()=>{h++,m=0;let c;h===1&&e.sizes[1]<e.expanded_sizes[1]?(c=e.expanded_sizes,p=null):(p=0,c=[0,100],h=0),k(c,!0)}),u.addEventListener("click",()=>{m++,h=0;let c;m===1&&e.sizes[0]<e.expanded_sizes[0]?(c=e.expanded_sizes,p=null):(p=1,c=[100,0],m=0),k(c,!0)})),a.append(r);let p=e.collapsed,M=e.sizes,P=p?[100,0]:e.sizes,R=Q([w,_],{sizes:P,minSize:e.min_size,maxSize:e.max_size||+"Infinity",dragInterval:e.step_size,snapOffset:e.snap_size,gutterSize:e.gutter_size,gutter:(c,y)=>{let U=document.createElement("div");U.className=`gutter gutter-${y}`;let $=document.createElement("div");return $.className="divider",U.append($),U},direction:e.orientation,onDrag:c=>{let y=c[0]<=I?0:c[1]<=I?1:null;p!==y&&(p=y,k(c))},onDragEnd:c=>{p=c[0]<=I?0:c[1]<=I?1:null,e.collapsed=p,k(c,!0),S()}});function k(c=null,y=!1){let U=c?c[0]<=I&&l<I:!1,$=c?c[1]<=I&&b<I:!1,[N,F]=c;$?(o.className="collapsed-content",[N,F]=[100,0]):o.className="content-wrapper",U?(f.className="collapsed-content",[N,F]=[0,100]):f.className="content-wrapper",y&&(R.setSizes([N,F]),c=[N,F],window.dispatchEvent(new Event("resize")),requestAnimationFrame(()=>{e.sizes=R.getSizes()}))}e.on("sizes",()=>{M!==e.sizes&&(M=e.sizes,e.collapsed=1-M[0]>=0?0:1-M[1]>=0?1:null,k(M,!0))}),e.on("collapsed",()=>{if(p===e.collapsed)return;p=e.collapsed;let c=p===0?[0,100]:p===1?[100,0]:e.expanded_sizes;k(c,!0)});let C=!1;e.on("after_layout",()=>{C||(C=!0,e.show_buttons&&(v.classList.add("animated"),u.classList.add("animated"),setTimeout(()=>{v.classList.remove("animated"),u.classList.remove("animated")},1500)),window.dispatchEvent(new Event("resize")),r.style.visibility="",r.classList.remove("loading"))}),e.on("remove",()=>R.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;function b(f,o){for(let v=0;v<o.length;v++){let u=o[v],h=f.children[v];h?.id!==u.id&&(h?f.insertBefore(u,h):f.append(u))}for(;f.children.length>o.length;)f.removeChild(f.lastElementChild)}let w=()=>{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],m=`split-panel-${e.objects[u].id}`,S=a.querySelector(`#${m}`);S==null&&(S=document.createElement("div"),S.className="split-panel",S.id=m,S.replaceChildren(h)),o.push(S)}b(r,o);let v=e.sizes;l=Q(o,{sizes:v,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 m=document.createElement("div");m.className=`gutter gutter-${h}`;let S=document.createElement("div");return S.className="divider",m.append(S),m},direction:e.orientation,onDragEnd:u=>{v=u,this.model.sizes=v}})};w(),a.append(r),e.on("objects",w),e.on("sizes",()=>{sizes!==e.sizes&&(sizes=e.sizes,l.setSizes(sizes))});let _=!1;e.on("after_layout",()=>{_||(_=!0,r.style.visibility="",r.classList.remove("loading"))}),e.on("remove",()=>l.destroy())}var Ae={HSplit:H,MultiSplit:te,Split:H,VSplit:H};export{Ae as default};
|
|
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&&l.setSizes(sizes))}),e.on("remove",()=>l.destroy())}var Ae={HSplit:G,MultiSplit:te,Split:G,VSplit:G};export{Ae as default};
|
|
@@ -7,6 +7,7 @@ export function render({ model, el }) {
|
|
|
7
7
|
split_div.classList.add("loading")
|
|
8
8
|
|
|
9
9
|
let split = null
|
|
10
|
+
let initialized = false
|
|
10
11
|
|
|
11
12
|
function reconcileChildren(parent, desiredChildren) {
|
|
12
13
|
// Ensure each desired child is at the correct index
|
|
@@ -88,15 +89,19 @@ export function render({ model, el }) {
|
|
|
88
89
|
return
|
|
89
90
|
}
|
|
90
91
|
sizes = model.sizes
|
|
91
|
-
split
|
|
92
|
+
if (initialized && split) {
|
|
93
|
+
split.setSizes(sizes)
|
|
94
|
+
}
|
|
92
95
|
})
|
|
93
96
|
|
|
94
|
-
let initialized = false
|
|
95
97
|
model.on("after_layout", () => {
|
|
96
98
|
if (!initialized) {
|
|
97
99
|
initialized = true
|
|
98
100
|
split_div.style.visibility = ""
|
|
99
101
|
split_div.classList.remove("loading")
|
|
102
|
+
if (split) {
|
|
103
|
+
split.setSizes(sizes)
|
|
104
|
+
}
|
|
100
105
|
}
|
|
101
106
|
})
|
|
102
107
|
|
panel_splitjs/models/split.js
CHANGED
|
@@ -13,6 +13,8 @@ export function render({ model, el }) {
|
|
|
13
13
|
|
|
14
14
|
const [left_min, right_min] = Array.isArray(model.min_size) ? model.min_size : [model.min_size, model.min_size]
|
|
15
15
|
|
|
16
|
+
let initialized = false
|
|
17
|
+
|
|
16
18
|
if (model.orientation === "horizontal") {
|
|
17
19
|
split_div.style.minWidth = `${left_min + right_min + model.gutter_size}px`
|
|
18
20
|
} else {
|
|
@@ -54,8 +56,12 @@ export function render({ model, el }) {
|
|
|
54
56
|
|
|
55
57
|
model.on("objects", () => {
|
|
56
58
|
const [left, right] = model.get_child("objects")
|
|
57
|
-
left_content_wrapper.
|
|
58
|
-
|
|
59
|
+
if (![...left_content_wrapper.children].includes(left)) {
|
|
60
|
+
left_content_wrapper.replaceChildren(left)
|
|
61
|
+
}
|
|
62
|
+
if (![...right_content_wrapper.children].includes(right)) {
|
|
63
|
+
right_content_wrapper.replaceChildren(right)
|
|
64
|
+
}
|
|
59
65
|
})
|
|
60
66
|
|
|
61
67
|
let left_arrow_button, right_arrow_button
|
|
@@ -113,7 +119,7 @@ export function render({ model, el }) {
|
|
|
113
119
|
|
|
114
120
|
let is_collapsed = model.collapsed
|
|
115
121
|
let sizes = model.sizes
|
|
116
|
-
const init_sizes = is_collapsed ? [100, 0] :
|
|
122
|
+
const init_sizes = is_collapsed == null ? model.sizes : (is_collapsed ? [100, 0] : [0, 100])
|
|
117
123
|
const split_instance = Split([split0, split1], {
|
|
118
124
|
sizes: init_sizes,
|
|
119
125
|
minSize: model.min_size,
|
|
@@ -164,11 +170,13 @@ export function render({ model, el }) {
|
|
|
164
170
|
} else {
|
|
165
171
|
left_content_wrapper.className = "content-wrapper"
|
|
166
172
|
}
|
|
167
|
-
if (resize) {
|
|
173
|
+
if (resize && initialized) {
|
|
168
174
|
split_instance.setSizes([ls, rs])
|
|
169
175
|
sizes = [ls, rs]
|
|
170
176
|
window.dispatchEvent(new Event('resize'))
|
|
171
177
|
requestAnimationFrame(() => { model.sizes = split_instance.getSizes() })
|
|
178
|
+
} else if (resize) {
|
|
179
|
+
sizes = [ls, rs]
|
|
172
180
|
}
|
|
173
181
|
}
|
|
174
182
|
|
|
@@ -178,7 +186,7 @@ export function render({ model, el }) {
|
|
|
178
186
|
}
|
|
179
187
|
sizes = model.sizes
|
|
180
188
|
model.collapsed = (1-sizes[0]) >= 0 ? 0 : (1-sizes[1]) >= 0 ? 1 : null
|
|
181
|
-
sync_ui(sizes,
|
|
189
|
+
sync_ui(sizes, initialized)
|
|
182
190
|
})
|
|
183
191
|
|
|
184
192
|
model.on("collapsed", () => {
|
|
@@ -187,10 +195,9 @@ export function render({ model, el }) {
|
|
|
187
195
|
}
|
|
188
196
|
is_collapsed = model.collapsed
|
|
189
197
|
const new_sizes = is_collapsed === 0 ? [0, 100] : (is_collapsed === 1 ? [100, 0] : model.expanded_sizes)
|
|
190
|
-
sync_ui(new_sizes,
|
|
198
|
+
sync_ui(new_sizes, initialized)
|
|
191
199
|
})
|
|
192
200
|
|
|
193
|
-
let initialized = false
|
|
194
201
|
model.on("after_layout", () => {
|
|
195
202
|
if (initialized) {
|
|
196
203
|
return
|
|
@@ -207,9 +214,9 @@ export function render({ model, el }) {
|
|
|
207
214
|
right_arrow_button.classList.remove("animated")
|
|
208
215
|
}, 1500)
|
|
209
216
|
}
|
|
210
|
-
window.dispatchEvent(new Event('resize'))
|
|
211
217
|
split_div.style.visibility = ""
|
|
212
218
|
split_div.classList.remove("loading")
|
|
219
|
+
sync_ui(is_collapsed == null ? sizes : (is_collapsed ? [100, 0] : [0, 100]), true)
|
|
213
220
|
})
|
|
214
221
|
|
|
215
222
|
model.on("remove", () => split_instance.destroy())
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: panel-splitjs
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.2
|
|
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
|
|
@@ -40,7 +40,7 @@ Description-Content-Type: text/markdown
|
|
|
40
40
|
|
|
41
41
|
# panel-splitjs
|
|
42
42
|
|
|
43
|
-
[](https://github.com/panel-extensions/panel-splitjs/actions/workflows/test.yml)
|
|
44
44
|
[](https://prefix.dev/channels/conda-forge/packages/panel-splitjs)
|
|
45
45
|
[](https://pypi.org/project/panel-splitjs)
|
|
46
46
|
[](https://pypi.org/project/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=
|
|
4
|
-
panel_splitjs/base.py,sha256=
|
|
5
|
-
panel_splitjs/dist/panel-splitjs.bundle.js,sha256=
|
|
3
|
+
panel_splitjs/_version.py,sha256=e8NqPtZ8fggRgk3GPrqZ_U_BDV8aSULw1u_Gn9NNbnk,704
|
|
4
|
+
panel_splitjs/base.py,sha256=GurJYRlIMFoR24N48p6C-bBoSkArFjir0q72u8uhtDQ,6482
|
|
5
|
+
panel_splitjs/dist/panel-splitjs.bundle.js,sha256=Hsm8i0Ic2UDIqY_BSwqk3SxBsaoIJGoIPUBe5oRBtjo,10857
|
|
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=
|
|
14
|
-
panel_splitjs/models/split.js,sha256=
|
|
15
|
-
panel_splitjs-0.3.
|
|
16
|
-
panel_splitjs-0.3.
|
|
17
|
-
panel_splitjs-0.3.
|
|
18
|
-
panel_splitjs-0.3.
|
|
13
|
+
panel_splitjs/models/multi_split.js,sha256=27yzmGBq_8ZjTzNeiXl6vIbzQlHPNHSDvFepQ_EVNlw,2977
|
|
14
|
+
panel_splitjs/models/split.js,sha256=XtycmywMi7sHj5TrYE2h9l_8MSAAgv9moSCTLlcgbL0,7234
|
|
15
|
+
panel_splitjs-0.3.2.dist-info/METADATA,sha256=s2XFPoR4A5qpQFTpbhNaHddk0RifpYq7zd2BmJCGwqY,13072
|
|
16
|
+
panel_splitjs-0.3.2.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
17
|
+
panel_splitjs-0.3.2.dist-info/licenses/LICENSE.txt,sha256=q8G87qfLzElD9n5Nxl1sOuzafC0z7H_nPgUcGWKzCTw,1515
|
|
18
|
+
panel_splitjs-0.3.2.dist-info/RECORD,,
|
|
File without changes
|