@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
3 lines (2 loc) • 21.8 kB
JavaScript
!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("kendo.core.js"),require("kendo.splitter.js"),require("kendo.tabstrip.js"),require("kendo.window.js"),require("kendo.html.button.js"),require("kendo.resizable.js"),require("kendo.draganddrop.js")):"function"==typeof define&&define.amd?define(["exports","kendo.core.min","kendo.splitter","kendo.tabstrip","kendo.window","kendo.html.button","kendo.resizable","kendo.draganddrop"],e):e(((n="undefined"!=typeof globalThis?globalThis:n||self).kendo=n.kendo||{},n.kendo._globals=n.kendo._globals||{},n.kendo._globals.Dockmanager={}))}(this,(function(n){!function(n,e){const t=window.kendo,i=t.ui.Widget,a=".kendoDockManager",o=t.ui,s=n.extend,d=/^\d+(\.\d+)?%$/i,r="k-dock-manager-toolbar",l=`<div class="${r} k-toolbar-left k-toolbar k-toolbar-md k-toolbar-solid"></div>`,p="k-pane-static",c="k-pane-pinned",u="k-pane-unpinned",h="k-pane-tabbed",f="k-splitter",g="k-splitbar",v="horizontal",b="vertical",_="k-hidden",k="k-button",m="k-pane",P="k-dock-manager-pane-container",w="k-pane-actions",$="k-dock-indicator",z="k-dock-navigator",y="k-docking-preview",C="k-selected",x="k-active",U="k-tabstrip",B="split",T="tab",H="height",D="width",E="top",S="bottom",M="left",A="right",j="middle",V="click",O="pin",R="unpin",L="unshift",q=`<div class="${m} k-pane-flex ${p}"></div>`,I=n=>`.${m}[${t.attr("uid")}="${n}"]`,N=t.attr("uid"),W=t.attr("indicator"),G=t.attr("action"),Q=`<div class="${$}">\n <span class="k-svg-icon k-icon-xl k-svg-i-position-top">\n <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">\n <path d="M480 448V32H32v448h448v-32zm-416 0V64h384v384H64zM96 96h320v96H96z"></path>\n </svg>\n </span>\n </div>`,F=`<div class="${z}" style="position: relative;">\n <div class="k-dock-indicator k-dock-indicator-top" ${W}="top">\n <span class="k-svg-icon k-icon-xl k-svg-i-position-top">\n <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">\n <path d="M480 448V32H32v448h448v-32zm-416 0V64h384v384H64zM96 96h320v96H96z"></path>\n </svg>\n </span>\n </div>\n <div class="k-dock-indicator k-dock-indicator-right" ${W}="right">\n <span class="k-svg-icon k-icon-xl k-svg-i-position-right">\n <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">\n <path d="M64 480h416V32H32v448h32zm0-416h384v384H64V64zm256 32h96v320h-96z"></path>\n </svg>\n </span>\n </div>\n <div class="k-dock-indicator k-dock-indicator-bottom" ${W}="bottom">\n <span class="k-svg-icon k-icon-xl k-svg-i-position-bottom">\n <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">\n <path d="M32 64v416h448V32H32v32zm416 0v384H64V64h384zM96 320h320v96H96z"></path>\n </svg>\n </span>\n </div>\n <div class="k-dock-indicator k-dock-indicator-left" ${W}="left">\n <span class="k-svg-icon k-icon-xl k-svg-i-position-left">\n <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">\n <path d="M448 32H32v448h448V32h-32zm0 416H64V64h384v384zM96 96h96v320H96z"></path>\n </svg>\n </span>\n </div>\n <div class="k-dock-indicator k-dock-indicator-middle" ${W}="middle">\n <span class="k-svg-icon k-icon-xl k-svg-i-window">\n <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">\n <path d="M96 96v320h320V96H96zm288 288H128V192h256v192z"></path>\n </svg>\n </span>\n </div>\n </div>`,J="close",K="dock",X="innerDock",Y="resize",Z="drag",nn="dragStart",en="dragEnd";const tn=i.extend({init:function(e,a){const o=this;i.fn.init.call(o,e,a),a=n.extend(!0,{},a),o.element.addClass("k-dock-manager"),o.panesContainer=n(`<div class="${P}" />`).appendTo(o.element),o._processPanes(o.options.rootPane),o._refreshToolbar(),o._createPane(o.panesContainer,o.options.rootPane),o._bindEvents(),o._initNavigator(),o._initUnpinnedResizable(),t.notify(o)},events:[J,O,R,K,X,Y,Z,nn,en],options:{name:"DockManager",rootPane:{type:B,orientation:v,panes:[]}},paneDefaults:{visible:!0,closeable:!0,collapsed:!1,size:""},actions:[{name:"pin",icon:"unpin",shouldAdd:n=>n.unpinnable&&n.unpinnable.unpinned},{name:"unpin",icon:"pin",shouldAdd:n=>n.unpinnable&&!n.unpinnable.unpinned},{name:"minimize",icon:"minimize",shouldAdd:n=>n.minimizable},{name:"maximize",icon:"maximize",shouldAdd:n=>n.maximizable},{name:"close",icon:"x",shouldAdd:n=>0!=n.closeable},{name:"more",icon:"more-vertical",shouldAdd:n=>!1}],indicators:[{name:E,top:0,left:"50%",transform:"translate(-50%, 0)",previewTop:()=>0,previewLeft:()=>0,rotate:"0deg"},{name:S,top:"100%",left:"50%",transform:"translate(-50%, -100%)",previewTop:(n,e)=>n-e,previewLeft:()=>0,rotate:"180deg"},{name:M,top:"50%",left:0,transform:"translate(0, -50%)",previewTop:()=>0,previewLeft:()=>0,rotate:"270deg"},{name:A,top:"50%",left:"100%",transform:"translate(-100%, -50%)",previewTop:()=>0,previewLeft:(n,e)=>n-e,rotate:"90deg"},{name:j,previewTop:()=>0,previewLeft:()=>0}],togglePane:function(n){const t=this,i=t._getPaneById(t.options.rootPane,"id",n);i!=e&&t._togglePane(i)},removePane:function(n){const t=this,i=t._getPaneById(t.options.rootPane,"id",n);i!=e&&t._removePane(i)},getOptions:function(){return this.options},setOptions:function(n){const e=this;let i=e.getOptions();t.deepExtend(i,n),e.destroy(),e.element.empty(),e.init(e.element,i)},_initUnpinnedResizable:function(){const n=this;n._unpinnedResizable=new t.ui.Resizable(n.unpinnedContainer,{orientation:v,handle:".k-splitbar-horizontal.k-splitbar-draggable-horizontal",resize:function(e){const t=e.x.delta,i=n.unpinnedContainer.width();n.unpinnedContainer.width(i+t)}})},_bindEvents:function(){const n=this;n.element.on(V+a,`.k-dock-manager-toolbar .${k}`,n._toolbarButtonClick.bind(n)),n.element.on(V+a,`.${P}`,n._hideUnpinnedPanes.bind(n)),n.element.on(V+a,`.${k}[${G}="pin"], .${k}[${G}="unpin"]`,n._pinPaneClick.bind(n)),n.element.on(V+a,`.${k}[${G}="close"]`,n._closePane.bind(n)),n.element.on("mouseenter"+a,`.${$}`,n._displayDockPreview.bind(n)),n.element.on("mouseleave"+a,`.${$}`,n._hideDockPreview.bind(n))},_hideUnpinnedPanes:function(n){const e=this,t=e.unpinnedContainer.find(`.${m}`).filter(":visible"),i=e.unpinnedContainer.is(":visible");if(t&&i)return e._toolbar.find(`.${C}`).removeClass(C),void e.unpinnedContainer.addClass(_)},_toolbarButtonClick:function(e){const t=this,i=n(e.currentTarget).attr(N),a=t.unpinnedContainer.find(`.${m}`).filter(":visible"),o=t.unpinnedContainer.is(":visible");e.preventDefault(),t._toolbar.find(`.${k}`).removeClass(C),a.attr(N)===i&&o?t.unpinnedContainer.addClass(_):t._showUnpinnedPane(i)},_showUnpinnedPane:function(n){const e=this,t=e._toolbar.outerWidth(),i=e._findPaneByUid(n),a=i.unpinnable.unpinnedSize;e.unpinnedContainer.removeClass(_).css({left:`${t}px`}),e.unpinnedContainer.find(`.${m}`).addClass(_),e.unpinnedContainer.find(I(n)).removeClass(_),a&&e.unpinnedContainer.css({width:`${i.unpinnable.unpinnedSize}`}),e._toolbar.find(`.${k}[${N}="${n}"]`).addClass(C)},_pinPaneClick:function(e){const i=this,a=n(e.currentTarget),o=a.parent().is("li"),s=a.attr(G),d=o?a.parent():n(e.currentTarget).closest(`.${m}`),r=i._findPaneByUid(d.attr(N)),l=r.unpinnable.unpinned,p=i._findPaneByUid(r.parentUid),h=(i.panesContainer.find(`.${m}[${N}="${p.uid}"], .${f}[${N}="${p.uid}"]`),{pane:r,paneElement:d});l&&(t.destroy(d),d.remove()),r.unpinnable.unpinned=s!==O,i._refreshRootPane(),i.unpinnedContainer.toggleClass(_,s===O),i.unpinnedContainer.find(`.${m}`).removeClass(c).addClass(u),"pin"!==s?(i.trigger(R,h),i._showUnpinnedPane(r.uid)):i.trigger(O,h)},_closePane:function(e){const t=this,i=n(e.currentTarget),a=i.parent().is("li")?i.parent():n(e.currentTarget).closest(`.${m}`),o=t._findPaneByUid(a.attr(N)),s=t._findPaneByUid(o.parentUid),d=(t.panesContainer.find(`.${m}[${N}="${s.uid}"], .${f}[${N}="${s.uid}"]`),s.panes.indexOf(o)),r={pane:o,paneElement:a,event:e};t.trigger(J,r)&&e.preventDefault(),o.unpinnable&&o.unpinnable.unpinned&&t.unpinnedContainer.addClass(_),s.panes.splice(d,1),t._shouldHideParent(s)&&(s.visible=!1),t._refreshRootPane()},_shouldHideParent:function(n){const e=this._findPaneByUid(n.parentUid);return 0==n.panes.length?(n.type==T&&1==e.panes.length&&(e.panes.splice(0,1),e.visible=!1),!0):1==n.panes.length&&n.panes[0].type==T&&!n.panes.some((n=>n.visible))},_refreshPane:function(n,e){const i=n.parent(),a=n.is(`.${h}`);t.destroy(n),a?n.empty():n.remove(),this._refreshToolbar(),this._createPane(a?n:i,e)},_processPanes:function(n){const i=this;n.uid=n.uid||t.guid(),i._extendPane(n),n.type!==B||n.orientation||(n.orientation=v),n.panes.forEach((a=>{a.parentUid=n.uid,"content"==a.type&&(a.unpinnable!==e&&!0!==a.unpinnable||(a.unpinnable={unpinned:!1}),a.uid=a.uid||t.guid()),a.panes&&a.panes.length&&i._processPanes(a)}))},_extendPane:function(n){const t=this;if(n.panes)for(var i=0;i<n.panes.length;i++)n.panes.forEach((n=>{t._extendPane(n)}));s(n,{visible:n.visible===e?t.paneDefaults.visible:n.visible,closeable:n.closeable===e?t.paneDefaults.closeable:n.closeable,collapsed:n.collapsed===e?t.paneDefaults.collapsed:n.collapsed,size:n.size===e?t.paneDefaults.size:n.size,scrollable:!1})},_togglePane:function(n){n.visible=!n.visible,this._refreshRootPane()},_removePane:function(n){const e=this,t=e._findPaneByUid(n.parentUid),i=t.panes.indexOf(n);e.panesContainer.find(`[${N}="${n.uid}"]`).parent();t.panes.splice(i,1),e._refreshRootPane()},_refreshToolbar:function(){const e=this,i=e._unpinnedPanes(),a=n(`<div class="${_}"/>`).addClass("k-dock-manager-unpinned-container");if(e.unpinnedContainer||(e.unpinnedContainer=a,a.append('<div class="k-splitbar k-splitbar-horizontal k-splitbar-draggable-horizontal">\n <div class="k-resize-handle"></div>\n </div>'),a.insertBefore(e.panesContainer)),!i.length)return e._toolbar&&e._toolbar.remove(),void(e._toolbar=null);e._toolbar||(e._toolbar=e.element.prepend(l).find(`.${r}`)),e._toolbar.empty();for(let a=0;a<i.length;a++){const o=i[a],s=n(t.html.renderButton({fillMode:"flat",size:"small"})).addClass("k-toolbar-button").append(`<span class="k-button-text">${e._paneHeader(o)}</span>`);s.attr(N,o.uid),e._toolbar.append(s),a<i.length-1&&e._toolbar.append('<div class="k-separator k-separator-horizontal"></div>')}},destroy:function(){const n=this;i.fn.destroy.call(n),n.element.off(a),n.element.empty(),t.destroy(n.wrapper)},refresh:function(){const n=this;t.destroy(n.unpinnedContainer),n.unpinnedContainer.empty(),n._refreshRootPane()},_refreshRootPane:function(){const n=this,e=n.element.find(`[${N}="${n.options.rootPane.uid}"]`);n._refreshPane(e,n.options.rootPane)},_createSplitPane:function(i,a){const o=this,s=n("<div ref-dock-splitter/>").attr(N,a.uid),d={orientation:a.orientation||v,panes:[]};if(!a.panes.some((n=>n.visible)))return;i.append(s);const r=[];a.panes.forEach((t=>{const i={uid:t.uid,scrollable:!1},a=n(q).removeClass(p);t.unpinnable&&t.unpinnable.unpinned?o._createUnpinnedPane(t):(t.size&&(i.size=t.size),t.visible!=e&&(i.visible=t.visible),t.visible&&(s.append(a),r.push((()=>o._createPane(a,t))),d.panes.push(i)))})),a.splitter=new t.ui.Splitter(s,d),a.splitter.element.addClass("k-dock-manager-splitter"),r.forEach((n=>n())),a.splitter.bind(Y,o._updatePaneSize.bind(o)),a.splitter.bind("resizing",(({pane:n})=>t.resize(n)))},_updatePaneSize:function(n){const e=this;if(!n.leftPane&&!n.rightPane)return;const t=e._findPaneByUid(n.leftPane.uid),i=e._findPaneByUid(n.rightPane.uid);t.size=n.leftPane.size,i.size=n.rightPane.size,e.trigger(Y,{ev:n,leftPane:t,rightPane:i})},_createTabPane:function(t,i){const a=this,o=n("<div class='k-header'/>"),s=n("<ul/>"),d=i.selected===e||-1==i.panes.indexOf(i.panes[i.selected])||i.panes[i.selected].unpinnable.unpinned?0:i.selected;i.panes.some((n=>n.visible))&&(o.append(s),t.append(o),t.attr(N,i.uid),t.addClass(h),i.panes.forEach((e=>{const t=n((i=a._paneHeader(e),`<li><span class="k-link"><span class="k-link-text">${i}</span></span></li>`)).attr(N,e.uid);var i;const d=n("<div/>");e.unpinnable&&e.unpinnable.unpinned?a._createUnpinnedPane(e):e.visible&&(a._addActions(t,e),s.append(t),o.append(d),a._createPane(d,e))})),n(s.children()[d]).addClass(x),o.kendoTabStrip({animation:!1}))},_createContentPane:function(e,i){const a=this,o="function"==typeof i.content?t.template(i.content)({}):i.content,d=n(`<div class="k-pane-scrollable">\n <div class="k-pane-header">\n <span class="k-pane-title">${(r=s({},i,{title:a._paneHeader(i),content:o})).title}</span>\n <div class="${w}"></div>\n </div>\n <div class="k-pane-content">${r.content}</div>\n </div>`);var r;const l=a._findPaneByUid(i.parentUid),h=i.unpinnable&&i.unpinnable.unpinned;!l||l.type!==T||h?(e.addClass(h?u:c).removeClass(p).attr(N,i.uid),a._addActions(d.find(`.${w}`),i),e.append(d)):e.append(o)},_createUnpinnedPane:function(e){const t=this,i=n(q).removeClass(p);t.unpinnedContainer.find(I(e.uid)).length||(t.unpinnedContainer.prepend(i),t._createContentPane(i,e))},_addActions:function(e,i){this.actions.forEach((a=>{a.shouldAdd(i)&&e.append(n(t.html.renderButton({fillMode:"flat",icon:a.icon,themeColor:"base"})).attr(G,a.name))}))},_createPane:function(n,e){return e.id&&n.attr("id",e.id),this["_create"+(t=e.type,t.charAt(0).toUpperCase()+t.slice(1)+"Pane")](n,e);var t},_unpinnedPanes:function(n){const e=this,t=e.options;let i=[];return n||(n=t.rootPane.panes),n.forEach((n=>{n.unpinnable&&n.unpinnable.unpinned&&i.push(n),n.panes&&n.panes.length&&(i=i.concat(e._unpinnedPanes(n.panes)))})),i},_paneHeader:function(n){const e=this._findPaneByUid(n.parentUid),i=e&&"tab"===e.type;let a=n.header;return i&&n.tabHeader&&(a=n.tabHeader),a?t.template(a)(n):n.title||""},_findPaneByUid:function(n,e){const t=this;let i;return(e=e||t.options.rootPane).uid===n?e:(e.panes.forEach((e=>{if(e.uid!==n){if(e.panes&&e.panes.length){const a=t._findPaneByUid(n,e);if(a)return void(i=a)}}else i=e})),i)},_getPaneById:function(n,e,t){const i=this;let a;return n[e]==t?n:(n.panes&&n.panes.forEach((n=>{let o=i._getPaneById(n,e,t);o&&(a=o)})),a)},_initNavigator:function(e){const i=this;i.navigatorDraggable=new t.ui.Draggable(i.element,{autoScroll:!0,filter:".k-pane-header, .k-pane-tabbed .k-item",hint:function(n){const e=n.is("li"),t=n.closest(`.${m}`),a=i._findPaneByUid((e?n:t).attr(N)),o=e?i._getActionButtons(n):t.find(`.${w}`).html();return(n=>`<div class="k-tooltip k-tooltip-primary">\n <div class="k-tooltip-content">${n.title}</div>\n </div>`)({width:t.width(),height:t.height(),content:a.content,title:i._paneHeader(a),actions:o})},updateHint:function(e,t){const i={left:t.x.location+1,top:t.y.location+1};e.css(n.extend({},i,{zIndex:100010}))},dragstart:i._dragStart.bind(i),dragend:i._dragEnd.bind(i),drag:i._drag.bind(i)})},_dragStart:function(e){const t=this,i=n(e.currentTarget),a=i.closest(`.${m}`);t.draggedPane={width:a.width(),height:a.height(),pane:a,target:i},t._displayGlobalIndicators(),t.trigger(nn,{pane:t.draggedPane.pane,draggableEvent:e})},_dragEnd:function(n){const e=this,t=e.element.find(`.${$}:hover`),i={pane:e.draggedPane.pane,draggableEvent:n};t.length&&(e.navigatorDraggable.hint.hide(),e._updateLayout(t)),e.element.find(`.${$}`).remove(),e.element.find(`.${y}`).remove(),t.length||e._showHiddenPanes(),e.trigger(en,i),e.hoveredPane=null,e.draggedPane=null},_drag:function(e){const t=this,i=n(e.elementUnderCursor).closest(`.${m}[${N}]`),a=t._findPaneByUid(i.attr(N)),o=n(F),s=i.attr(N),d=t.hoveredPane&&t.hoveredPane.attr(N),r={pane:t.draggedPane.pane,draggableEvent:e},l=e.currentTarget.closest(`.${m}`).attr(N);t.trigger(Z,r)?e.preventDefault():s!==d&&(t.hoveredPane=i,t.element.find(`.${z}`).remove(),o.css({position:"absolute",top:"50%",left:"50%",transform:"translate(-50%,-50%)","z-index":100008}),a&&a.dockable&&!a.dockable.innerDock&&o.css("display","none"),s!==l&&i.append(o))},_showHiddenPanes:function(){const n=this;if(n.draggedPane.pane.is(`.${h}`))return n._showTab();n._showPane(n.draggedPane.pane)},_showTab:function(n){if(n===e)return;const t=n.closest(`.${U}`).data("kendoTabStrip");n.show(),t.activateTab(n)},_showPane:function(n){const e=n.siblings(`.${g}:hidden`);n.show(),e.show()},_hideDraggedPane:function(n){const e=this;if(n.is("li"))return e._hideTab(n);e._hidePane(n)},_hidePane:function(n){const e=n.closest(`.${m}`),t=e.prev(),i=e.next();if(e.hide(),t.is(`.${g}`))return t.hide();i.hide()},_hideTab:function(n){const e=n.is(`.${x}`),t=n.closest(`.${U}`).data("kendoTabStrip");n.hide(),e&&t.activateTab("li:visible:first")},_getActionButtons:function(e){const t=e.find("button"),i=n("<div/>");return t.each(((e,t)=>i.append(n(t).clone()))),i.html()},_displayGlobalIndicators:function(){const e=this;e.indicators.forEach((t=>{const i=n(Q);"middle"!==t.name&&(e.element.append(i),i.css({position:"absolute","z-index":"100002",top:t.top,left:t.left,transform:`${t.transform} rotate(${t.rotate})`}),i.attr(W,t.name))}))},_displayDockPreview:function(e){const i=this,a=n(e.currentTarget),o=!a.parent().is(`.${z}`),s=a.attr(W),d=a.attr(N),r=i.indicators.filter((n=>n.name===s))[0],l=n(`<div class="${y}"/>`),p=o?i.panesContainer:i.hoveredPane,c=i._toolbar?i._toolbar.outerWidth():0,u=p.outerWidth(),h=p.outerHeight(),f=d&&p.find(`.${y}[${N}="${d}"]`),g=t.guid();let v=i.draggedPane.width,b=i.draggedPane.height;if(f&&f.length)return f.show();s===j&&(v=u,b=h),s!==E&&s!==S||(b>h/2&&(b=h/2),v=u),s!==M&&s!==A||(v>u/2&&(v=u/2),b=h);const _={position:"absolute","z-index":1e5,top:r.previewTop(h,b),left:r.previewLeft(u,v)+(o?c:0),width:v,height:b};l.css(_),l.attr(W,r.name).attr(N,g),a.attr(N,g),p.append(l),i.draggedPane.preview={width:v,height:b},i.draggedPane.container={width:u,height:h}},_hideDockPreview:function(){this.element.find(`.${y}`).hide()},_updateLayout:function(n){const e=this,t=e.draggedPane.target.is("li"),i=!n.parent().is(`.${z}`),a=t?e.draggedPane.target:e.draggedPane.pane,o=e._findPaneByUid(e.hoveredPane.attr(N)),s=e._findPaneByUid(a.attr(N)),d=n.attr(W),r=e._findPaneByUid(s.parentUid),l=r.panes.indexOf(s),p=e.element.find(`[${N}="${e.options.rootPane.uid}"]`);r.panes.splice(l,1),d==j?e._tabDock(o,s):e._splitDock(o,s,d,i),e._processPanes(e.options.rootPane),e._adjustSiblingSizes(s,d,i),e._refreshPane(p,e.options.rootPane),d==j?e.trigger(X,{pane:s,paneElement:a}):e.trigger(K,{pane:s,paneElement:a})},_splitDock:function(n,e,t,i){const a=this,o=i?a.options.rootPane:a._findPaneByUid(n.parentUid),s=o.panes.indexOf(n),d=t===E||t===M?L:"push",r=s+(d===L?0:1),l=t===E||t===S?H:D,p={type:B,orientation:t===E||t===S?b:v,panes:[]},c=`${a.draggedPane.preview[l]}px`;return e.size=c,i?(p.panes.push(o),t===E||t===M?p.panes.unshift(e):p.panes.push(e),void(a.options.rootPane=p)):(t===E||t===S)&&o.orientation===b||(t===M||t===A)&&o.orientation===v?o.panes.splice(r,0,e):(n&&(p.size=n.size,n.size=null),o.panes.splice(s,1),p.panes.push(n),p.panes[d](e),void o.panes.splice(s,0,p))},_tabDock:function(n,e){const t=this._findPaneByUid(n.parentUid),i=t.panes.indexOf(n),a={type:T,panes:[n,e]};n.type!==T?(t.panes.splice(i,1),t.panes.splice(i,0,a)):n.panes.push(e)},_adjustSiblingSizes:function(n,e,t){const i=this,a=i._getSiblings(n),o=e===E||e===S?H:D,s=i.draggedPane.container[o],d=i.draggedPane[o],r=s-d,l=[];let p=r;e!==j&&(2!==a.length?(a.forEach((e=>{e.uid!==n.uid&&(e.size?(e.size=i._calculateNewSize(s,r,e.size),p-=e.size):l.push(e))})),l.forEach((n=>{const e=p/l.length;n.size=e}))):a[0].size=null)},_calculateNewSize:function(n,e,t){const i=e/n;let a,o="px";var s;return s=t,d.test(s)&&(o="%"),"string"==typeof t&&(a=+t.replace(o,"")),`${a*i}${o}`},_getSiblings:function(n){return this._findPaneByUid(n.parentUid).panes.filter((e=>!1!==e.visible&&e.uid!==n.uid&&e.unpinnable&&!0!==e.unpinnable.unpinned))}});o.plugin(tn)}(window.kendo.jQuery);var e=kendo;n.__meta__={id:"dockManager",name:"DockManager",category:"web",description:"The DockManager widget represents a layout component that allows users to achieve custom layouts by docking panes.",depends:["core","splitter","tabstrip","window","html.button"]},n.default=e,Object.defineProperty(n,"__esModule",{value:!0})}));
//# sourceMappingURL=kendo.dockmanager.min.js.map