{"version":3,"file":"kendo.dockmanager.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendodockmanager","js","this","$","undefined$1","kendo","window","Widget","ui","NS","extend","percentageUnitsRegex","DOCK_MANAGER_TOOLBAR","isPlainObject","TOOLBAR_TEMPLATE","KSTATIC_PANE","KPANE_TABBED","SPLITTER","KSPLITBAR","PANE_SIZING_PROP","HORIZONTAL","VERTICAL","KHIDDEN","KBUTTON","MAX_NUMBER_VALUE","Number","MAX_SAFE_INTEGER","KPANE","KPANES_CONTAINER","KPANE_ACTIONS","KDOCK_INDICATOR","KDOCK_NAVIGATOR","KDOCK_PREVIEW","KSELECTED","KACTIVE","KTABSTRIP","KSPLITBAR_DRAGGABLE","SPLIT","TAB","HEIGHT","WIDTH","TOP","BOTTOM","LEFT","RIGHT","MIDDLE","CLICK","PIN","UNPIN","UNSHIFT","PANE","paneSelector","uid","attr","unpinnedResizeSplitbar","UID_ATTR","INDICATOR_ATTR","ACTION_ATTR","INDICATOR_TEMPLATE","NAVIGATOR_TEMPLATE","CLOSE","DOCK","INNER_DOCK","RESIZE","DRAG","DRAGSTART","DRAGEND","isPercentageSize","size","test","DockSplitter","init","element","options","that","fn","call","_marker","guid","substring","addClass","_initPanes","_initResizable","notify","orientation","panes","events","splitter","paneElements","children","panesCount","length","sizedPanes","i","paneElement","eq","pane","css","collapsed","insertAfter","push","pop","markerAttribute","_resizable","Resizable","handle","clickMoveClick","invalidClass","resizeend","find","remove","resize","e","delta","splitterBarIndex","_getElementIndex","currentTarget","splitterBar","rtlModifier","support","isRtl","x","y","ref","_dragSplitterBar","leftPane","rightPane","trigger","start","_onResizeStart","bind","_getAdjacentPanes","leftPaneNewSize","computedSize","isLeftPaneSizeInBounds","min","max","panesWithoutSize","_getPaneElements","filter","style","canResizeBothPanes","_resizePane","leftPaneIndex","rightPaneIndex","leftPaneELement","_getPaneElement","rightPaneELement","_getPane","leftPaneSize","_getPaneOffsetSize","rightPaneSize","totalPaneSize","splitterSize","_getElementClientSize","getPixelSize","paneSize","_calculatePixelSize","_getAdjacentPanesMaxSize","leftPaneMaxSize","rightPaneMaxSize","rightMaxPixelSize","leftMaxPixelSize","index","collapsible","value","constrainedSize","Math","newSize","toPercentages","parseFloat","toPixel","_setPaneSize","_allExpandedPanesHaveSize","expandedPanes","paneIndex","_getPaneSizes","containerSize","numericSize","_getElementOffsetSize","rect","getBoundingClientRect","width","height","_getElementSize","sizeType","_getPaneIndex","indexOf","leftPaneMinSize","leftPaneMaxPixelSize","ref$1","rightPaneMinSize","rightPaneMaxPixelSize","stopPropagation","_addResizeOverlays","_addResizeOverlay","overlay","append","Array","from","hasClass","childrenSelector","parent","matches","destroy","off","empty","DockManager","panesContainer","appendTo","_processPanes","rootPane","_refreshToolbar","_createPane","_bindEvents","_initNavigator","_initUnpinnedResizable","name","type","paneDefaults","visible","closeable","actions","icon","shouldAdd","unpinnable","unpinned","minimizable","maximizable","indicators","top","left","transform","previewTop","previewLeft","rotate","hoveredPaneHeight","draggedPaneHeight","hoveredPaneWidth","draggedPaneWidth","togglePane","id","_getPaneById","_togglePane","removePane","_removePane","getOptions","setOptions","currentOptions","deepExtend","_unpinnedResizable","unpinnedContainer","containerWidth","on","_toolbarButtonClick","_hideUnpinnedPanes","_pinPaneClick","_closePane","_displayDockPreview","_hideDockPreview","currentlyOpened","unpinnedContainerVisible","is","_toolbar","removeClass","itemUid","preventDefault","_showUnpinnedPane","paneUid","toolbarWidth","outerWidth","_findPaneByUid","hasUnpinnedSize","unpinnedSize","button","isTabbed","action","closest","parentPane","parentUid","eventData","_refreshRootPane","toggleClass","event","splice","_shouldHideParent","some","_refreshPane","parentElement","_extendPane","forEach","childPane","j","subItem","unpinnedPanes","_unpinnedPanes","unpinnedPannesContainer","insertBefore","prepend","html","renderButton","fillMode","_paneHeader","wrapper","refresh","rootPaneElement","_createSplitPane","splitterElement","splitterOptions","paneOptions","_createUnpinnedPane","_updatePaneSize","ev","_createTabPane","tabStripElement","tabContainer","selectedPane","selected","title","tab","contentElement","_addActions","kendoTabStrip","animation","_createContentPane","data","content","template","isUnnpinned","actionsContainer","string","charAt","toUpperCase","slice","result","concat","header","tabHeader","found","prop","params","navigatorDraggable","Draggable","autoScroll","hint","actionsHtml","_getActionButtons","hintTemplate","dragstart","_dragStart","dragend","_dragEnd","drag","_drag","target","draggedPane","_displayGlobalIndicators","draggableEvent","hoveredIndicator","hide","_updateLayout","_showHiddenPanes","hoveredPane","currentPane","elementUnderCursor","navigator","currentPaneUid","prevPaneUid","position","dockable","innerDock","_showTab","_showPane","tabstrip","show","activateTab","splitbar","siblings","_hideDraggedPane","draggedElement","_hideTab","_hidePane","prevElement","prev","nextElement","next","isActive","buttons","container","each","_","clone","indicator","isGlobalIndicator","indicatorName","indicatorUid","indicatorData","previewElement","containerHeight","outerHeight","existingPreview","preview","location","draggedPaneParent","draggedPaneIndex","_tabDock","_splitDock","_adjustSiblingSizes","targetPane","isGlobalDock","targetPaneParent","targetPaneIndex","dimension","newParentPane","unshift","_getSiblings","parentSize","draggedPaneSize","newParentSize","noSizePanes","freeSpace","_calculateNewSize","noSizePane","proportion","unit","replace","p","plugin","jQuery"],"sources":["kendo.dockmanager.js"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(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')) :\n typeof define === 'function' && define.amd ? define(['kendo.core', 'kendo.splitter', 'kendo.tabstrip', 'kendo.window', 'kendo.html.button', 'kendo.resizable', 'kendo.draganddrop'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.kendodockmanager = global.kendodockmanager || {}, global.kendodockmanager.js = factory()));\n})(this, (function () {\n var __meta__ = {\n id: \"dockManager\",\n name: \"DockManager\",\n category: \"web\",\n description: \"The DockManager widget represents a layout component that allows users to achieve custom layouts by docking panes.\",\n depends: [\"core\", \"splitter\", \"tabstrip\", \"window\", \"html.button\"]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n Widget = kendo.ui.Widget,\n NS = \".kendoDockManager\",\n ui = kendo.ui,\n extend = $.extend,\n pxUnitsRegex = /^\\d+(\\.\\d+)?px$/i,\n percentageUnitsRegex = /^\\d+(\\.\\d+)?%$/i,\n isPlainObject = $.isPlainObject,\n DOCK_MANAGER = \"k-dock-manager\",\n DOCK_MANAGER_TOOLBAR = \"k-dock-manager-toolbar\",\n TOOLBAR_TEMPLATE = \"
\",\n TOOLBAR_BUTTON = \"k-toolbar-button\",\n SEPARATOR = \"
\",\n KSTATIC_PANE = \"k-pane-static\",\n KKPINNED_PANE = \"k-pane-pinned\",\n KPANE_TABBED = \"k-pane-tabbed\",\n SPLITTER = \"k-splitter\",\n KSPLITBAR = \"k-splitbar\",\n SPLITTER_FLEX = \"k-splitter-flex\",\n DOCK_SPLITTER = \"k-dock-manager-splitter\",\n KUNPINNED_CONTAINER = \"k-dock-manager-unpinned-container\",\n PANE_SIZING_PROP = \"flex-basis\",\n HORIZONTAL = \"horizontal\",\n VERTICAL = \"vertical\",\n KHIDDEN = \"k-hidden\",\n KBUTTON = \"k-button\",\n MAX_NUMBER_VALUE = Number.MAX_SAFE_INTEGER,\n KPANE = \"k-pane\",\n KPANE_FLEX = \"k-pane-flex\",\n KPANES_CONTAINER = \"k-dock-manager-pane-container\",\n KPANE_SCROLLABLE = \"k-pane-scrollable\",\n KPANE_ACTIONS = \"k-pane-actions\",\n KDOCK_INDICATOR = \"k-dock-indicator\",\n KDOCK_NAVIGATOR = \"k-dock-navigator\",\n KDOCK_PREVIEW = \"k-docking-preview\",\n KSELECTED = \"k-selected\",\n KACTIVE = \"k-active\",\n KTABSTRIP = \"k-tabstrip\",\n KSPLITBAR_DRAGGABLE = \"k-splitbar-draggable\",\n SPLIT = \"split\",\n TAB = \"tab\",\n CONTENT = \"content\",\n HEIGHT = \"height\",\n WIDTH = \"width\",\n TOP = \"top\",\n BOTTOM = \"bottom\",\n LEFT = \"left\",\n RIGHT = \"right\",\n MIDDLE = \"middle\",\n CLICK = \"click\",\n PIN = \"pin\",\n UNPIN = \"unpin\",\n UNSHIFT = \"unshift\",\n PUSH = \"push\",\n PANE = \"
\",\n paneSelector = function (uid) { return (\".\" + KPANE + \"[\" + (kendo.attr(\"uid\")) + \"=\\\"\" + uid + \"\\\"]\"); },\n buttonTextTemplate = function (text) { return (\"\" + text + \"\"); },\n contentPaneTemplate = function (data) { return (\"
\\n
\\n \" + (data.title) + \"\\n
\\n
\\n
\" + (data.content) + \"
\\n
\"); },\n tabTemplate = function (title) { return (\"
  • \" + title + \"
  • \"); },\n unpinnedResizeSplitbar = \"
    \\n
    \\n
    \",\n UID_ATTR = kendo.attr(\"uid\"),\n INDICATOR_ATTR = kendo.attr(\"indicator\"),\n ACTION_ATTR = kendo.attr(\"action\"),\n hintTemplate = function (pane) { return (\"
    \\n
    \" + (pane.title) + \"
    \\n
    \"); },\n INDICATOR_TEMPLATE = \"
    \\n \\n \\n \\n \\n \\n
    \",\n NAVIGATOR_TEMPLATE = \"
    \\n
    \\n \\n \\n \\n \\n \\n
    \\n
    \\n \\n \\n \\n \\n \\n
    \\n
    \\n \\n \\n \\n \\n \\n
    \\n
    \\n \\n \\n \\n \\n \\n
    \\n
    \\n \\n \\n \\n \\n \\n
    \\n
    \",\n SPLITBAR = function (splitter) { return $((\"
    \\n
    \\n
    \")); },\n CLOSE = \"close\",\n DOCK = \"dock\",\n INNER_DOCK = \"innerDock\",\n RESIZE = \"resize\",\n DRAG = \"drag\",\n DRAGSTART = \"dragStart\",\n DRAGEND = \"dragEnd\",\n CHANGE = \"change\";\n\n function capitalizeFirstLetter(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n }\n\n function isPercentageSize(size) {\n return percentageUnitsRegex.test(size);\n }\n\n function isPixelSize(size) {\n return pxUnitsRegex.test(size) || /^\\d+$/.test(size);\n }\n\n function isFluid(size) {\n return !isPercentageSize(size) && !isPixelSize(size);\n }\n\n function calculateSize(size, total) {\n var output = parseInt(size, 10);\n\n if (isPercentageSize(size)) {\n output = Math.floor(output * total / 100);\n }\n\n return output;\n }\n\n function toPercentages(value) {\n return (value + \"%\");\n }\n\n function toPixel(value ) {\n return kendo.parseFloat(value) + \"px\";\n }\n\n function percentage(partialValue, totalValue) {\n return (100 * partialValue) / totalValue;\n }\n\n function clamp(value, min, max) {\n return Math.min(max, Math.max(min, value));\n }\n\n var DockSplitter = Widget.extend({\n init: function(element, options) {\n var that = this;\n\n Widget.fn.init.call(that, element, options);\n options = $.extend(true, {}, options);\n that._marker = kendo.guid().substring(0, 8);\n that.element.addClass((SPLITTER + \" \" + SPLITTER_FLEX + \" \" + SPLITTER + \"-\" + (options.orientation) + \" \" + DOCK_SPLITTER));\n that._initPanes();\n that._initResizable();\n kendo.notify(that);\n },\n\n options: {\n orientation: \"horizontal\",\n panes: []\n },\n\n events: [\n RESIZE\n ],\n\n _initPanes: function() {\n var that = this;\n var paneElements = that.element.children();\n var panesCount = paneElements.length;\n var orientation = that.options.orientation;\n var markerAttribute = kendo.attr(\"marker\");\n var sizedPanes = [];\n\n for (var i = 0; i < panesCount; i++) {\n var paneElement = paneElements.eq(i);\n var pane = that.options.panes[i];\n\n if (!pane) {\n pane = that.options.panes[i] = {};\n }\n\n pane.size = pane.size || \"auto\";\n paneElement.attr(kendo.attr(\"uid\"), pane.uid)\n .attr(\"role\", \"group\")\n .css(\"flex-basis\", pane.size)\n .addClass();\n\n if (pane.collapsed) {\n pane.css(\"display\", \"none\");\n }\n\n if (i < panesCount - 1 && !that.options.panes[i + 1].collapsed) {\n var splitbar = SPLITBAR(that);\n\n splitbar.insertAfter(paneElement);\n }\n\n if (pane.size) {\n sizedPanes.push(paneElement);\n }\n }\n\n if (sizedPanes.length === 1 && panesCount > 1) {\n sizedPanes.pop().addClass(KSTATIC_PANE);\n }\n },\n\n _initResizable: function() {\n var that = this;\n var orientation = that.options.orientation;\n var markerAttribute = kendo.attr(\"marker\");\n\n that._resizable = new kendo.ui.Resizable(that.element, {\n orientation: orientation,\n handle: (\"[\" + markerAttribute + \"=\" + (that._marker) + \"].\" + KSPLITBAR_DRAGGABLE + \"-\" + orientation + \" \"),\n clickMoveClick: that.options.clickMoveClick,\n invalidClass: \"k-restricted-size-\" + orientation,\n resizeend: function() {\n that.element.find(\".k-splitter-overlay\").remove();\n },\n resize: function(e) {\n var axis = orientation === HORIZONTAL ? 'x' : 'y';\n var delta;\n var splitterBarIndex = that._getElementIndex(e.currentTarget, (\".\" + KSPLITBAR));\n var splitterBar = e.currentTarget;\n\n if (orientation === HORIZONTAL) {\n var rtlModifier = kendo.support.isRtl(that.element) ? -1 : 1;\n delta = e.x.delta * rtlModifier;\n } else {\n delta = e.y.delta;\n }\n\n var ref = that._dragSplitterBar(splitterBar, splitterBarIndex, delta);\n var leftPane = ref.leftPane;\n var rightPane = ref.rightPane;\n that.trigger(RESIZE, { leftPane: leftPane, rightPane: rightPane });\n },\n start: that._onResizeStart.bind(that)\n });\n\n },\n\n _dragSplitterBar: function(splitterBar, splitterBarIndex, delta) {\n var that = this;\n var ref = that._getAdjacentPanes(splitterBar, splitterBarIndex);\n var leftPane = ref.leftPane;\n var rightPane = ref.rightPane;\n\n var leftPaneNewSize = leftPane.computedSize + delta;\n var isLeftPaneSizeInBounds = leftPaneNewSize > leftPane.min && leftPaneNewSize < leftPane.max;\n\n var panesWithoutSize = that._getPaneElements().filter(function (x) { return !x.style[PANE_SIZING_PROP]; });\n var canResizeBothPanes = (leftPane.size || rightPane.size) && panesWithoutSize.length > 1;\n\n if ((leftPane.size && rightPane.size) || canResizeBothPanes) {\n if (isLeftPaneSizeInBounds) {\n that._resizePane(leftPane, delta);\n that._resizePane(rightPane, -delta);\n }\n } else if (rightPane.size) {\n that._resizePane(rightPane, -delta);\n } else {\n that._resizePane(leftPane, delta);\n }\n return { leftPane: leftPane, rightPane: rightPane };\n },\n\n _getAdjacentPanes: function(splitterBar, splitterBarIndex) {\n var that = this;\n var leftPaneIndex = splitterBarIndex;\n var rightPaneIndex = splitterBarIndex + 1;\n\n var leftPaneELement = that._getPaneElement(leftPaneIndex);\n var rightPaneELement = that._getPaneElement(rightPaneIndex);\n\n var leftPane = that._getPane(leftPaneIndex);\n var rightPane = that._getPane(rightPaneIndex);\n\n var leftPaneSize = that._getPaneOffsetSize(leftPaneIndex);\n var rightPaneSize = that._getPaneOffsetSize(rightPaneIndex);\n\n var totalPaneSize = leftPaneSize + rightPaneSize;\n var splitterSize = that._getElementClientSize(that.element, that.options.orientation);\n var getPixelSize = function (paneSize) { return that._calculatePixelSize(paneSize, splitterSize); };\n\n var ref = that._getAdjacentPanesMaxSize(leftPaneIndex, rightPaneIndex);\n var leftPaneMaxSize = ref.leftPaneMaxSize;\n var rightPaneMaxSize = ref.rightPaneMaxSize;\n var rightMaxPixelSize = getPixelSize(rightPane && rightPane.max);\n var leftMaxPixelSize = getPixelSize(leftPane && leftPane.max);\n\n return {\n leftPane: {\n index: leftPaneIndex,\n computedSize: leftPaneSize,\n min: getPixelSize(leftPane && leftPane.min) || ( rightMaxPixelSize ? totalPaneSize - rightMaxPixelSize : 0 ) || 0,\n max: leftPaneMaxSize,\n size: leftPaneELement.style[PANE_SIZING_PROP],\n collapsible: leftPane && leftPane.collapsible,\n uid: leftPane.uid\n },\n rightPane: {\n index: rightPaneIndex,\n computedSize: rightPaneSize,\n min: getPixelSize(rightPane && rightPane.min) || (leftMaxPixelSize ? totalPaneSize - leftMaxPixelSize : 0) || 0,\n max: rightPaneMaxSize,\n size: rightPaneELement.style[PANE_SIZING_PROP],\n collapsible: rightPane && rightPane.collapsible,\n uid: rightPane.uid\n }\n };\n },\n\n _resizePane: function(pane, delta) {\n var that = this;\n var constrainedSize = clamp(pane.computedSize + delta, pane.min, pane.max);\n var newSize = \"\";\n\n if (isPercentageSize(pane.size)) {\n var splitterSize = that._getElementClientSize(that.element, that.options.orientation);\n newSize = toPercentages(100 * constrainedSize / splitterSize);\n } else {\n newSize = toPixel(constrainedSize);\n }\n pane.size = newSize;\n that._setPaneSize(pane.index, newSize);\n },\n\n _allExpandedPanesHaveSize: function() {\n var that = this;\n var expandedPanes = that.options.panes.filter(function (x){ return !x.collapsed; });\n\n if (expandedPanes.length) {\n return expandedPanes.filter(function (x){ return x.size; }).length;\n }\n\n return false;\n },\n\n _setPaneSize: function(paneIndex, size) {\n var that = this;\n var paneElement = that._getPaneElement(paneIndex);\n\n if (!paneElement) {\n return;\n }\n\n if (!that._allExpandedPanesHaveSize()) {\n $(paneElement).addClass(KSTATIC_PANE);\n }\n\n paneElement.style[PANE_SIZING_PROP] = size;\n },\n\n _getPaneSizes: function(paneIndex) {\n var that = this;\n var splitterSize = that._getElementClientSize(that.element, that.options.orientation);\n var pane = that._getPane(paneIndex);\n var paneSize = that._getPaneOffsetSize(paneIndex);\n var paneMinSize = pane && pane.min ? that._calculatePixelSize(pane.min, splitterSize) : 0;\n var paneMaxSize = pane && pane.max ? that._calculatePixelSize(pane.max, splitterSize) : MAX_NUMBER_VALUE;\n\n return {\n size: paneSize,\n min: paneMinSize,\n max: paneMaxSize\n };\n },\n\n _calculatePixelSize: function(size, containerSize) {\n var numericSize = kendo.parseFloat(size);\n\n if (isPercentageSize(size)) {\n numericSize = (containerSize * numericSize / 100);\n }\n\n return numericSize;\n },\n\n _getPaneOffsetSize: function(paneIndex) {\n var that = this;\n var paneElement = that._getPaneElement(paneIndex);\n var size = that._getElementOffsetSize(paneElement, that.options.orientation);\n return size;\n },\n\n\n _getElementOffsetSize: function(element, orientation) {\n if (!element) {\n return 0;\n }\n\n var rect = element.getBoundingClientRect();\n\n if (orientation === HORIZONTAL) {\n return rect.width;\n } else {\n return rect.height;\n }\n },\n\n _getElementClientSize: function(element, orientation) {\n var that = this;\n\n return that._getElementSize(element, orientation, \"client\");\n },\n\n _getElementSize: function(element, orientation, sizeType) {\n if (!element) {\n return 0;\n }\n\n element = element[0];\n\n if (orientation === HORIZONTAL) {\n return element[(sizeType + \"Width\")];\n } else {\n return element[(sizeType + \"Height\")];\n }\n },\n\n _getPane: function(paneIndex) {\n var that = this;\n\n return (that.options.panes || [])[paneIndex];\n },\n\n _getPaneIndex: function(pane) {\n var that = this;\n\n return that.options.panes.indexOf(pane);\n },\n\n _getAdjacentPanesMaxSize: function(leftPaneIndex, rightPaneIndex) {\n var that = this;\n var ref = that._getPaneSizes(leftPaneIndex);\n var leftPaneSize = ref.size;\n var leftPaneMinSize = ref.min;\n var leftPaneMaxPixelSize = ref.max;\n\n var ref$1 = that._getPaneSizes(rightPaneIndex);\n var rightPaneSize = ref$1.size;\n var rightPaneMinSize = ref$1.min;\n var rightPaneMaxPixelSize = ref$1.max;\n\n var totalPaneSize = leftPaneSize + rightPaneSize;\n\n var leftPaneMaxSize = Math.min(leftPaneMaxPixelSize, totalPaneSize - rightPaneMinSize);\n var rightPaneMaxSize = Math.min(rightPaneMaxPixelSize, totalPaneSize - leftPaneMinSize);\n\n return {\n leftPaneMaxSize: leftPaneMaxSize,\n rightPaneMaxSize: rightPaneMaxSize\n };\n },\n\n _onResizeStart: function(e) {\n var that = this;\n\n e.stopPropagation();\n\n var splitterBarIndex = that._getElementIndex(e.currentTarget, (\".\" + SPLITTER));\n\n that._addResizeOverlays(splitterBarIndex);\n },\n\n _addResizeOverlays: function(splitterBarIndex) {\n var that = this;\n\n that._addResizeOverlay(splitterBarIndex);\n that._addResizeOverlay(splitterBarIndex + 1);\n },\n\n _addResizeOverlay: function(paneIndex) {\n var that = this;\n var paneElement = that._getPaneElement(paneIndex);\n\n if (!paneElement) {\n return;\n }\n\n var overlay = $(\"
    \");\n\n $(paneElement).append(overlay);\n },\n\n\n _getPaneElement: function(paneIndex) {\n var that = this;\n var panes = that._getPaneElements();\n return panes[paneIndex];\n },\n\n _getPaneElements: function() {\n var that = this;\n var panes = Array.from(that.element.children() || []).filter(function (x) { return $(x).hasClass(\"k-pane\") || $(x).hasClass(\"k-splitter\"); });\n return panes;\n },\n\n _getElementIndex: function(element, childrenSelector) {\n if (!element) {\n return [].indexOf(element);\n }\n\n var children = Array.from(element.parent().children());\n\n if (childrenSelector) {\n children = children.filter(function (x) { return x.matches(childrenSelector); });\n }\n\n return Array.from(children).indexOf(element[0]);\n },\n\n destroy: function() {\n var that = this;\n\n Widget.fn.destroy.call(that);\n\n that.element.off(NS);\n that.element.empty();\n\n that._resizable.destroy();\n kendo.destroy(that.element);\n }\n });\n\n var DockManager = Widget.extend({\n init: function(element, options) {\n var that = this;\n\n Widget.fn.init.call(that, element, options);\n options = $.extend(true, {}, options);\n that.element.addClass(DOCK_MANAGER);\n\n that.panesContainer = $((\"
    \")).appendTo(that.element);\n that._processPanes(that.options.rootPane);\n that._refreshToolbar();\n that._createPane(that.panesContainer, that.options.rootPane);\n that._bindEvents();\n that._initNavigator();\n that._initUnpinnedResizable();\n\n kendo.notify(that);\n },\n\n events: [\n CLOSE,\n PIN,\n UNPIN,\n DOCK,\n INNER_DOCK,\n RESIZE,\n DRAG,\n DRAGSTART,\n DRAGEND\n ],\n\n options: {\n name: 'DockManager',\n rootPane: {\n type: SPLIT,\n orientation: HORIZONTAL,\n panes: []\n }\n },\n\n paneDefaults: {\n visible: true,\n closeable: true,\n collapsed: false,\n size: ''\n },\n\n actions: [\n {\n name: \"pin\",\n icon: \"unpin\",\n shouldAdd: function (pane) { return pane.unpinnable && pane.unpinnable.unpinned; }\n },{\n name: \"unpin\",\n icon: \"pin\",\n shouldAdd: function (pane) { return pane.unpinnable && !pane.unpinnable.unpinned; }\n },{\n name: \"minimize\",\n icon: \"minimize\",\n shouldAdd: function (pane) { return pane.minimizable; }\n },{\n name: \"maximize\",\n icon: \"maximize\",\n shouldAdd: function (pane) { return pane.maximizable; }\n },{\n name: \"close\",\n icon: \"x\",\n shouldAdd: function (pane) { return pane.closeable != false; }\n },{\n name: \"more\",\n icon: \"more-vertical\",\n shouldAdd: function (pane) { return false; } //not needed for v1 as currently only 2 actions are available\n }\n ],\n\n indicators: [\n {\n name: TOP,\n top: 0,\n left: \"50%\",\n transform: \"translate(-50%, 0)\",\n previewTop: function () { return 0; },\n previewLeft: function () { return 0; },\n rotate: \"0deg\"\n },{\n name: BOTTOM,\n top: \"100%\",\n left: \"50%\",\n transform: \"translate(-50%, -100%)\",\n previewTop: function (hoveredPaneHeight, draggedPaneHeight) { return hoveredPaneHeight - draggedPaneHeight; },\n previewLeft: function () { return 0; },\n rotate: \"180deg\"\n },{\n name: LEFT,\n top: \"50%\",\n left: 0,\n transform: \"translate(0, -50%)\",\n previewTop: function () { return 0; },\n previewLeft: function () { return 0; },\n rotate: \"270deg\"\n },{\n name: RIGHT,\n top: \"50%\",\n left: \"100%\",\n transform: \"translate(-100%, -50%)\",\n previewTop: function () { return 0; },\n previewLeft: function (hoveredPaneWidth, draggedPaneWidth) { return hoveredPaneWidth - draggedPaneWidth; },\n rotate: \"90deg\"\n },{\n name: MIDDLE,\n previewTop: function () { return 0; },\n previewLeft: function () { return 0; },\n }\n ],\n\n togglePane: function(id) {\n var that = this,\n pane = that._getPaneById(that.options.rootPane, \"id\", id);\n\n if (pane != undefined$1) {\n that._togglePane(pane);\n }\n },\n\n removePane: function(id) {\n var that = this;\n var pane = that._getPaneById(that.options.rootPane, \"id\", id);\n\n if (pane != undefined$1) {\n that._removePane(pane);\n }\n },\n\n getOptions: function() {\n var that = this;\n return that.options;\n },\n\n setOptions: function(options) {\n var that = this;\n var currentOptions = that.getOptions();\n kendo.deepExtend(currentOptions, options);\n\n that.destroy();\n that.element.empty();\n\n that.init(that.element, currentOptions);\n\n },\n\n _initUnpinnedResizable: function() {\n var that = this;\n\n that._unpinnedResizable = new kendo.ui.Resizable(that.unpinnedContainer, {\n orientation: HORIZONTAL,\n handle: \".k-splitbar-horizontal.k-splitbar-draggable-horizontal\",\n resize: function(e) {\n var delta = e.x.delta;\n var containerWidth = that.unpinnedContainer.width();\n\n that.unpinnedContainer.width(containerWidth + delta);\n }\n });\n },\n\n _bindEvents: function() {\n var that = this;\n\n that.element.on(CLICK + NS, (\".k-dock-manager-toolbar .\" + KBUTTON), that._toolbarButtonClick.bind(that));\n that.element.on(CLICK + NS, (\".\" + KPANES_CONTAINER), that._hideUnpinnedPanes.bind(that));\n that.element.on(CLICK + NS, (\".\" + KBUTTON + \"[\" + ACTION_ATTR + \"=\\\"pin\\\"], .\" + KBUTTON + \"[\" + ACTION_ATTR + \"=\\\"unpin\\\"]\"), that._pinPaneClick.bind(that));\n that.element.on(CLICK + NS, (\".\" + KBUTTON + \"[\" + ACTION_ATTR + \"=\\\"close\\\"]\"), that._closePane.bind(that));\n that.element.on(\"mouseenter\" + NS, (\".\" + KDOCK_INDICATOR), that._displayDockPreview.bind(that));\n that.element.on(\"mouseleave\" + NS, (\".\" + KDOCK_INDICATOR), that._hideDockPreview.bind(that));\n },\n\n _hideUnpinnedPanes: function(e) {\n var that = this;\n var unpinnedPanes = that.unpinnedContainer.find((\".\" + KPANE));\n var currentlyOpened = unpinnedPanes.filter(\":visible\");\n var unpinnedContainerVisible = that.unpinnedContainer.is(\":visible\");\n\n if (currentlyOpened && unpinnedContainerVisible) {\n that._toolbar.find((\".\" + KSELECTED)).removeClass(KSELECTED);\n that.unpinnedContainer.addClass(KHIDDEN);\n return;\n }\n },\n\n _toolbarButtonClick: function(e) {\n var that = this;\n var itemUid = $(e.currentTarget).attr(UID_ATTR);\n var unpinnedPanes = that.unpinnedContainer.find((\".\" + KPANE));\n var currentlyOpened = unpinnedPanes.filter(\":visible\");\n var unpinnedContainerVisible = that.unpinnedContainer.is(\":visible\");\n\n e.preventDefault();\n that._toolbar.find((\".\" + KBUTTON)).removeClass(KSELECTED);\n\n if (currentlyOpened.attr(UID_ATTR) === itemUid && unpinnedContainerVisible) {\n that.unpinnedContainer.addClass(KHIDDEN);\n return;\n }\n\n that._showUnpinnedPane(itemUid);\n },\n\n _showUnpinnedPane: function(paneUid) {\n var that = this;\n var toolbarWidth = that._toolbar.outerWidth();\n var pane = that._findPaneByUid(paneUid);\n var hasUnpinnedSize = pane.unpinnable.unpinnedSize;\n\n that.unpinnedContainer.removeClass(KHIDDEN).css({ left: (toolbarWidth + \"px\") });\n that.unpinnedContainer.find((\".\" + KPANE)).addClass(KHIDDEN);\n that.unpinnedContainer.find(paneSelector(paneUid)).removeClass(KHIDDEN);\n\n if (hasUnpinnedSize) {\n that.unpinnedContainer.css({ width: (\"\" + (pane.unpinnable.unpinnedSize)) });\n }\n\n that._toolbar.find((\".\" + KBUTTON + \"[\" + UID_ATTR + \"=\\\"\" + paneUid + \"\\\"]\")).addClass(KSELECTED);\n },\n\n _pinPaneClick: function(e) {\n var that = this;\n var button = $(e.currentTarget);\n var isTabbed = button.parent().is(\"li\");\n var action = button.attr(ACTION_ATTR);\n var paneElement = isTabbed ? button.parent() : $(e.currentTarget).closest((\".\" + KPANE));\n var pane = that._findPaneByUid(paneElement.attr(UID_ATTR));\n var parentPane = that._findPaneByUid(pane.parentUid);\n var parentPaneElement = that.panesContainer.find((\".\" + KPANE + \"[\" + UID_ATTR + \"=\\\"\" + (parentPane.uid) + \"\\\"], .\" + SPLITTER + \"[\" + UID_ATTR + \"=\\\"\" + (parentPane.uid) + \"\\\"]\"));\n var eventData = { pane: pane, paneElement: paneElement };\n\n pane.unpinnable.unpinned = action === PIN ? false : true;\n that._refreshRootPane();\n that.unpinnedContainer.toggleClass(KHIDDEN, action === PIN);\n\n if (action === \"pin\") {\n that.trigger(PIN, eventData);\n return;\n }\n\n that.trigger(UNPIN, eventData);\n that._showUnpinnedPane(pane.uid);\n },\n\n _closePane: function(e) {\n var that = this;\n var button = $(e.currentTarget);\n var isTabbed = button.parent().is(\"li\");\n var paneElement = isTabbed ? button.parent() : $(e.currentTarget).closest((\".\" + KPANE));\n var pane = that._findPaneByUid(paneElement.attr(UID_ATTR));\n var parentPane = that._findPaneByUid(pane.parentUid);\n var parentPaneElement = that.panesContainer.find((\".\" + KPANE + \"[\" + UID_ATTR + \"=\\\"\" + (parentPane.uid) + \"\\\"], .\" + SPLITTER + \"[\" + UID_ATTR + \"=\\\"\" + (parentPane.uid) + \"\\\"]\"));\n var paneIndex = parentPane.panes.indexOf(pane);\n var eventData = { pane: pane, paneElement: paneElement, event: e };\n\n if (that.trigger(CLOSE, eventData)) {\n e.preventDefault();\n }\n\n if (pane.unpinnable && pane.unpinnable.unpinned) {\n that.unpinnedContainer.addClass(KHIDDEN);\n }\n\n parentPane.panes.splice(paneIndex, 1);\n\n if (that._shouldHideParent(parentPane)) {\n parentPane.visible = false;\n }\n\n that._refreshRootPane();\n },\n\n _shouldHideParent: function(pane) {\n var that = this,\n parent = that._findPaneByUid(pane.parentUid);\n\n if (pane.panes.length == 0) {\n if (pane.type == TAB && parent.panes.length == 1) {\n parent.panes.splice(0,1);\n parent.visible = false;\n }\n return true;\n }\n\n if (pane.panes.length == 1 &&\n pane.panes[0].type == TAB &&\n !pane.panes.some(function (x) { return x.visible; })) {\n return true;\n }\n\n return false;\n },\n\n _refreshPane: function(paneElement, pane) {\n var that = this;\n var parentElement = paneElement.parent();\n var isTabbed = paneElement.is((\".\" + KPANE_TABBED));\n\n kendo.destroy(paneElement);\n isTabbed ? paneElement.empty() : paneElement.remove();\n that._refreshToolbar();\n that._createPane(isTabbed ? paneElement : parentElement, pane);\n },\n\n _processPanes: function(pane) {\n var that = this;\n pane.uid = pane.uid || kendo.guid();\n that._extendPane(pane);\n\n if (pane.type === SPLIT && !pane.orientation) {\n pane.orientation = HORIZONTAL;\n }\n\n pane.panes.forEach(function (childPane) {\n childPane.parentUid = pane.uid;\n\n if (childPane.type == CONTENT) {\n if (childPane.unpinnable === undefined$1 || childPane.unpinnable === true) {\n childPane.unpinnable = {\n unpinned: false\n };\n }\n childPane.uid = childPane.uid || kendo.guid();\n }\n\n if (childPane.panes && childPane.panes.length) {\n that._processPanes(childPane);\n }\n });\n },\n\n _extendPane: function(pane) {\n var that = this;\n\n if (pane.panes) {\n for (var j = 0; j < pane.panes.length; j++) {\n pane.panes.forEach(function (subItem) {\n that._extendPane(subItem);\n });\n }\n }\n\n extend(pane, {\n visible: pane.visible === undefined$1 ? that.paneDefaults.visible : pane.visible,\n closeable: pane.closeable === undefined$1 ? that.paneDefaults.closeable : pane.closeable,\n collapsed: pane.collapsed === undefined$1 ? that.paneDefaults.collapsed : pane.collapsed,\n size: pane.size === undefined$1 ? that.paneDefaults.size : pane.size,\n });\n },\n\n _togglePane: function(pane) {\n var that = this;\n\n pane.visible = !pane.visible;\n that._refreshRootPane();\n },\n\n _removePane: function(pane) {\n var that = this;\n var parentPane = that._findPaneByUid(pane.parentUid);\n var paneIndex = parentPane.panes.indexOf(pane);\n var parentPaneElement = that.panesContainer.find((\"[\" + UID_ATTR + \"=\\\"\" + (pane.uid) + \"\\\"]\")).parent();\n\n parentPane.panes.splice(paneIndex, 1);\n that._refreshRootPane();\n },\n\n _refreshToolbar: function() {\n var that = this;\n var unpinnedPanes = that._unpinnedPanes();\n var unpinnedPannesContainer = $((\"
    \")).addClass(KUNPINNED_CONTAINER);\n\n if (!that.unpinnedContainer) {\n that.unpinnedContainer = unpinnedPannesContainer;\n unpinnedPannesContainer.append(unpinnedResizeSplitbar);\n unpinnedPannesContainer.insertBefore(that.panesContainer);\n }\n\n if (!unpinnedPanes.length) {\n that._toolbar && that._toolbar.remove();\n that._toolbar = null;\n return;\n }\n\n if (!that._toolbar) {\n that._toolbar = that.element.prepend(TOOLBAR_TEMPLATE).find((\".\" + DOCK_MANAGER_TOOLBAR));\n }\n\n that._toolbar.empty();\n\n for (var i = 0; i < unpinnedPanes.length; i++) {\n var pane = unpinnedPanes[i];\n var button = $(kendo.html.renderButton({ fillMode: \"flat\", size: \"medium\" }))\n .addClass(TOOLBAR_BUTTON)\n .append(buttonTextTemplate(that._paneHeader(pane)));\n\n button.attr(UID_ATTR, pane.uid);\n that._toolbar.append(button);\n\n if (i < unpinnedPanes.length - 1) {\n that._toolbar.append(SEPARATOR);\n }\n }\n },\n\n destroy: function() {\n var that = this;\n\n Widget.fn.destroy.call(that);\n\n that.element.off(NS);\n that.element.empty();\n\n kendo.destroy(that.wrapper);\n },\n\n refresh: function() {\n var that = this;\n\n that._refreshRootPane();\n },\n\n _refreshRootPane: function() {\n var that = this;\n var rootPaneElement = that.element.find((\"[\" + UID_ATTR + \"=\\\"\" + (that.options.rootPane.uid) + \"\\\"]\"));\n\n that._refreshPane(rootPaneElement, that.options.rootPane);\n },\n\n _createSplitPane: function(parentElement, pane) {\n var that = this;\n var splitterElement = $(\"
    \").attr(UID_ATTR, pane.uid);\n var splitterOptions = {\n orientation: pane.orientation || HORIZONTAL,\n panes: []\n };\n\n if (!pane.panes.some(function (x){ return x.visible; })) {\n return;\n }\n\n parentElement.append(splitterElement);\n\n pane.panes.forEach(function (childPane) {\n var paneOptions = {\n uid: childPane.uid\n };\n var paneElement = $(PANE).removeClass(KSTATIC_PANE);\n\n if (childPane.unpinnable && childPane.unpinnable.unpinned) {\n that._createUnpinnedPane(childPane);\n return;\n }\n\n if (childPane.size) {\n paneOptions.size = childPane.size;\n }\n\n if (childPane.visible != undefined$1) {\n paneOptions.visible = childPane.visible;\n }\n\n if (childPane.visible) {\n splitterElement.append(paneElement);\n that._createPane(paneElement, childPane);\n splitterOptions.panes.push(paneOptions);\n }\n });\n\n pane.splitter = new DockSplitter(splitterElement, splitterOptions); // eslint-disable-line no-new\n pane.splitter.bind(RESIZE, that._updatePaneSize.bind(that));\n },\n\n _updatePaneSize: function(e) {\n var that = this;\n var leftPane = that._findPaneByUid(e.leftPane.uid),\n rightPane = that._findPaneByUid(e.rightPane.uid);\n\n leftPane.size = e.leftPane.size;\n rightPane.size = e.rightPane.size;\n that.trigger(RESIZE, { ev: e, leftPane: leftPane, rightPane: rightPane });\n },\n\n _createTabPane: function(parentElement, pane) {\n var that = this;\n var tabStripElement = $(\"
    \");\n var tabContainer = $(\"
      \");\n var tabStripOptions = {\n animation: false\n };\n var selectedPane = (pane.selected === undefined$1 || pane.panes.indexOf(pane.panes[pane.selected]) == -1 || pane.panes[pane.selected].unpinnable.unpinned) ? 0 : pane.selected;\n\n if (!pane.panes.some(function (x){ return x.visible; })) {\n return;\n }\n\n tabStripElement.append(tabContainer);\n parentElement.append(tabStripElement);\n parentElement.attr(UID_ATTR, pane.uid);\n parentElement.addClass(KPANE_TABBED);\n\n pane.panes.forEach(function (childPane) {\n var tab = $(tabTemplate(that._paneHeader(childPane))).attr(UID_ATTR, childPane.uid);\n var contentElement = $(\"
      \");\n\n if (childPane.unpinnable && childPane.unpinnable.unpinned) {\n that._createUnpinnedPane(childPane);\n return;\n }\n\n if (childPane.visible) {\n that._addActions(tab, childPane);\n tabContainer.append(tab);\n tabStripElement.append(contentElement);\n that._createPane(contentElement, childPane);\n }\n });\n\n $(tabContainer.children()[selectedPane]).addClass(KACTIVE);\n tabStripElement.kendoTabStrip(tabStripOptions);\n },\n\n _createContentPane: function(parentElement, pane) {\n var that = this;\n var content = typeof pane.content === \"function\" ? kendo.template(pane.content)({}) : pane.content;\n var element = $(contentPaneTemplate(extend(pane, { title: that._paneHeader(pane), content: content })));\n var parentPane = that._findPaneByUid(pane.parentUid);\n var isUnnpinned = pane.unpinnable && pane.unpinnable.unpinned;\n\n\n if (parentPane && parentPane.type === TAB && !isUnnpinned) {\n parentElement.append(pane.content);\n return;\n }\n\n parentElement.addClass(KKPINNED_PANE)\n .removeClass(KSTATIC_PANE)\n .attr(UID_ATTR, pane.uid);\n that._addActions(element.find((\".\" + KPANE_ACTIONS)), pane);\n parentElement.append(element);\n },\n\n _createUnpinnedPane: function(pane) {\n var that = this;\n var paneElement = $(PANE).removeClass(KSTATIC_PANE);\n\n if (that.unpinnedContainer.find(paneSelector(pane.uid)).length) {\n return;\n }\n\n that.unpinnedContainer.prepend(paneElement);\n that._createContentPane(paneElement, pane);\n },\n\n _addActions: function(actionsContainer, pane) {\n var that = this;\n\n that.actions.forEach(function (action) {\n if (action.shouldAdd(pane)) {\n actionsContainer.append($(kendo.html.renderButton({ fillMode: \"flat\", icon: action.icon })).attr(ACTION_ATTR, action.name));\n }\n });\n\n },\n\n _createPane: function(parentElement, pane) {\n var that = this;\n\n if (pane.id) {\n parentElement.attr(\"id\", pane.id);\n }\n\n return that[\"_create\" + capitalizeFirstLetter(pane.type) + \"Pane\"](parentElement, pane);\n },\n\n _unpinnedPanes: function(panes) {\n var that = this;\n var options = that.options;\n var result = [];\n\n if (!panes) {\n panes = options.rootPane.panes;\n }\n\n panes.forEach(function (pane) {\n if (pane.unpinnable && pane.unpinnable.unpinned) {\n result.push(pane);\n }\n\n if (pane.panes && pane.panes.length) {\n result = result.concat(that._unpinnedPanes(pane.panes));\n }\n });\n\n return result;\n },\n\n _paneHeader: function(pane) {\n var that = this;\n var parentPane = that._findPaneByUid(pane.parentUid);\n var isTabbed = parentPane && parentPane.type === \"tab\";\n var header = pane.header;\n\n if (isTabbed && pane.tabHeader) {\n header = pane.tabHeader;\n }\n\n if (!header) {\n return pane.title || \"\";\n }\n\n return kendo.template(header)(pane);\n },\n\n _findPaneByUid: function(uid, parent) {\n var that = this;\n var found;\n\n parent = parent || that.options.rootPane;\n\n if (parent.uid === uid) {\n return parent;\n }\n\n parent.panes.forEach(function (pane) {\n if (pane.uid === uid) {\n found = pane;\n return;\n }\n\n if (pane.panes && pane.panes.length) {\n var result = that._findPaneByUid(uid, pane);\n\n if (result) {\n found = result;\n return;\n }\n }\n });\n return found;\n },\n\n _getPaneById: function(pane, prop, value) {\n var that = this;\n var found;\n\n if (pane[prop] == value) {\n return pane;\n }\n\n if (pane.panes) {\n pane.panes.forEach(function (childPane) {\n var result = that._getPaneById(childPane, prop, value);\n if (result) {\n found = result;\n }\n });\n }\n return found;\n },\n\n _initNavigator: function(params) {\n var that = this;\n\n that.navigatorDraggable = new kendo.ui.Draggable(that.element, {\n autoScroll: true,\n filter: \".k-pane-header, .k-pane-tabbed .k-tabstrip-item\",\n hint: function(element) {\n var isTabbed = element.is(\"li\");\n var paneElement = element.closest((\".\" + KPANE));\n var pane = that._findPaneByUid((isTabbed ? element : paneElement).attr(UID_ATTR));\n var actionsHtml = isTabbed ? that._getActionButtons(element) : paneElement.find((\".\" + KPANE_ACTIONS)).html();\n\n return hintTemplate({\n width: paneElement.width(),\n height: paneElement.height(),\n content: pane.content,\n title: that._paneHeader(pane),\n actions: actionsHtml\n });\n },\n dragstart: that._dragStart.bind(that),\n dragend: that._dragEnd.bind(that),\n drag: that._drag.bind(that)\n });\n },\n\n _dragStart: function(e) {\n var that = this;\n var target = $(e.currentTarget);\n var pane = target.closest((\".\" + KPANE));\n\n that.draggedPane = {\n width: pane.width(),\n height: pane.height(),\n pane: pane,\n target: target\n };\n\n that._displayGlobalIndicators();\n\n that.trigger(DRAGSTART, { pane: that.draggedPane.pane, draggableEvent: e });\n },\n\n _dragEnd: function(e) {\n var that = this;\n var hoveredIndicator = that.element.find((\".\" + KDOCK_INDICATOR + \":hover\"));\n var eventData = { pane: that.draggedPane.pane, draggableEvent: e };\n\n if (hoveredIndicator.length) {\n that.navigatorDraggable.hint.hide();\n that._updateLayout(hoveredIndicator);\n }\n\n that.element.find((\".\" + KDOCK_INDICATOR)).remove();\n that.element.find((\".\" + KDOCK_PREVIEW)).remove();\n\n if (!hoveredIndicator.length) {\n that._showHiddenPanes();\n }\n that.trigger(DRAGEND, eventData);\n that.hoveredPane = null;\n that.draggedPane = null;\n },\n\n _drag: function(e) {\n var that = this;\n var currentPane = $(e.elementUnderCursor).closest((\".\" + KPANE + \"[\" + UID_ATTR + \"]\"));\n var pane = that._findPaneByUid(currentPane.attr(UID_ATTR));\n var navigator = $(NAVIGATOR_TEMPLATE);\n var currentPaneUid = currentPane.attr(UID_ATTR);\n var prevPaneUid = that.hoveredPane && that.hoveredPane.attr(UID_ATTR);\n var eventData = { pane: that.draggedPane.pane, draggableEvent: e };\n\n if (that.trigger(DRAG, eventData)) {\n e.preventDefault();\n return;\n }\n\n if (currentPaneUid === prevPaneUid) {\n return;\n }\n\n that.hoveredPane = currentPane;\n that.element.find((\".\" + KDOCK_NAVIGATOR)).remove();\n navigator.css({\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n transform: \"translate(-50%,-50%)\",\n \"z-index\": 100008\n });\n\n if (pane && pane.dockable && !pane.dockable.innerDock) {\n navigator.css(\"display\", \"none\");\n }\n\n currentPane.append(navigator);\n },\n\n _showHiddenPanes: function() {\n var that = this;\n var isTabbed = that.draggedPane.pane.is((\".\" + KPANE_TABBED));\n\n if (isTabbed) {\n return that._showTab();\n }\n\n that._showPane(that.draggedPane.pane);\n },\n\n _showTab: function(tab) {\n if (tab === undefined$1) {\n return;\n }\n\n var that = this;\n var tabstrip = tab.closest((\".\" + KTABSTRIP)).data(\"kendoTabStrip\");\n\n tab.show();\n tabstrip.activateTab(tab);\n },\n\n _showPane: function(paneElement) {\n var that = this;\n var splitbar = paneElement.siblings((\".\" + KSPLITBAR + \":hidden\"));\n paneElement.show();\n splitbar.show();\n },\n\n _hideDraggedPane: function(draggedElement) {\n var that = this;\n var isTabbed = draggedElement.is(\"li\");\n\n if (isTabbed) {\n return that._hideTab(draggedElement);\n }\n\n that._hidePane(draggedElement);\n },\n\n _hidePane: function(draggedElement) {\n var that = this;\n var paneElement = draggedElement.closest((\".\" + KPANE));\n var prevElement = paneElement.prev();\n var nextElement = paneElement.next();\n\n paneElement.hide();\n\n if (prevElement.is((\".\" + KSPLITBAR))) {\n return prevElement.hide();\n }\n\n nextElement.hide();\n },\n\n _hideTab: function(tab) {\n var that = this;\n var isActive = tab.is((\".\" + KACTIVE));\n var tabstrip = tab.closest((\".\" + KTABSTRIP)).data(\"kendoTabStrip\");\n\n tab.hide();\n\n if (isActive) {\n tabstrip.activateTab(\"li:visible:first\");\n }\n },\n\n _getActionButtons: function(paneElement) {\n var buttons = paneElement.find(\"button\");\n var container = $(\"
      \");\n\n buttons.each(function (_, button) { return container.append($(button).clone()); });\n\n return container.html();\n },\n\n _displayGlobalIndicators: function() {\n var that = this;\n\n that.indicators.forEach(function (indicator) {\n var element = $(INDICATOR_TEMPLATE);\n\n if (indicator.name === \"middle\") {\n return;\n }\n\n that.element.append(element);\n element.css({\n position: \"absolute\",\n \"z-index\": \"100002\",\n top: indicator.top,\n left: indicator.left,\n transform: ((indicator.transform) + \" rotate(\" + (indicator.rotate) + \")\")\n });\n element.attr(INDICATOR_ATTR, indicator.name);\n });\n },\n\n _displayDockPreview: function(e) {\n var that = this;\n var indicator = $(e.currentTarget);\n var isGlobalIndicator = !indicator.parent().is((\".\" + KDOCK_NAVIGATOR));\n var indicatorName = indicator.attr(INDICATOR_ATTR);\n var indicatorUid = indicator.attr(UID_ATTR);\n var indicatorData = that.indicators.filter(function (i) { return i.name === indicatorName; })[0];\n var previewElement = $((\"
      \"));\n var container = isGlobalIndicator ? that.panesContainer : that.hoveredPane;\n var toolbarWidth = that._toolbar ? that._toolbar.outerWidth() : 0;\n var containerWidth = container.outerWidth();\n var containerHeight = container.outerHeight();\n var existingPreview = indicatorUid && container.find((\".\" + KDOCK_PREVIEW + \"[\" + UID_ATTR + \"=\\\"\" + indicatorUid + \"\\\"]\"));\n var uid = kendo.guid();\n var width = that.draggedPane.width;\n var height = that.draggedPane.height;\n\n if (existingPreview && existingPreview.length) {\n return existingPreview.show();\n }\n\n if (indicatorName === MIDDLE) {\n width = containerWidth;\n height = containerHeight;\n }\n\n if (indicatorName === TOP || indicatorName === BOTTOM) {\n if (height > containerHeight / 2) {\n height = containerHeight / 2;\n }\n\n width = containerWidth;\n }\n\n if (indicatorName === LEFT || indicatorName === RIGHT) {\n if (width > containerWidth / 2) {\n width = containerWidth / 2;\n }\n\n height = containerHeight;\n }\n\n var css = {\n position: \"absolute\",\n \"z-index\": 100000,\n top: indicatorData.previewTop(containerHeight, height),\n left: indicatorData.previewLeft(containerWidth, width) + (isGlobalIndicator ? toolbarWidth : 0),\n width: width,\n height: height\n };\n\n previewElement.css(css);\n previewElement.attr(INDICATOR_ATTR, indicatorData.name)\n .attr(UID_ATTR, uid);\n indicator.attr(UID_ATTR, uid);\n container.append(previewElement);\n that.draggedPane.preview = {\n width: width,\n height: height\n };\n that.draggedPane.container = {\n width: containerWidth,\n height: containerHeight\n };\n },\n\n _hideDockPreview: function() {\n var that = this;\n\n that.element.find((\".\" + KDOCK_PREVIEW)).hide();\n },\n\n _updateLayout: function(indicator) {\n var that = this;\n var isTabbed = that.draggedPane.target.is(\"li\");\n var isGlobalIndicator = !indicator.parent().is((\".\" + KDOCK_NAVIGATOR));\n var paneElement = isTabbed ? that.draggedPane.target : that.draggedPane.pane;\n var hoveredPane = that._findPaneByUid(that.hoveredPane.attr(UID_ATTR));\n var draggedPane = that._findPaneByUid(paneElement.attr(UID_ATTR));\n var location = indicator.attr(INDICATOR_ATTR);\n var draggedPaneParent = that._findPaneByUid(draggedPane.parentUid);\n var draggedPaneIndex = draggedPaneParent.panes.indexOf(draggedPane);\n var rootPaneElement = that.element.find((\"[\" + UID_ATTR + \"=\\\"\" + (that.options.rootPane.uid) + \"\\\"]\"));\n\n draggedPaneParent.panes.splice(draggedPaneIndex, 1);\n location == MIDDLE ? that._tabDock(hoveredPane, draggedPane) : that._splitDock(hoveredPane, draggedPane, location, isGlobalIndicator);\n that._processPanes(that.options.rootPane);\n that._adjustSiblingSizes(draggedPane, location, isGlobalIndicator);\n that._refreshPane(rootPaneElement, that.options.rootPane);\n location == MIDDLE ?\n that.trigger(INNER_DOCK, { pane: draggedPane, paneElement: paneElement }) :\n that.trigger(DOCK, { pane: draggedPane, paneElement: paneElement });\n },\n\n _splitDock: function(targetPane, pane, location, isGlobalDock) {\n var that = this;\n var targetPaneParent = isGlobalDock ? that.options.rootPane : that._findPaneByUid(targetPane.parentUid);\n var targetPaneIndex = targetPaneParent.panes.indexOf(targetPane);\n var action = location === TOP || location === LEFT ? UNSHIFT : PUSH;\n var paneIndex = targetPaneIndex + (action === UNSHIFT ? 0 : 1);\n var orientation = location === TOP || location === BOTTOM ? VERTICAL : HORIZONTAL;\n var dimension = location === TOP || location === BOTTOM ? HEIGHT : WIDTH;\n var newParentPane = {\n type: SPLIT,\n orientation: orientation,\n panes: [],\n };\n var previewSize = that.draggedPane.preview[dimension];\n var size = previewSize + \"px\";\n\n pane.size = size;\n\n if (isGlobalDock) {\n newParentPane.panes.push(targetPaneParent);\n (location === TOP || location === LEFT) ? newParentPane.panes.unshift(pane) : newParentPane.panes.push(pane);\n that.options.rootPane = newParentPane;\n return;\n }\n\n if (((location === TOP || location === BOTTOM) && targetPaneParent.orientation === VERTICAL) ||\n ((location === LEFT || location === RIGHT) && targetPaneParent.orientation === HORIZONTAL)) {\n return targetPaneParent.panes.splice(paneIndex, 0, pane);\n }\n\n if (targetPane) {\n newParentPane.size = targetPane.size;\n targetPane.size = null;\n }\n\n targetPaneParent.panes.splice(targetPaneIndex, 1);\n newParentPane.panes.push(targetPane);\n newParentPane.panes[action](pane);\n targetPaneParent.panes.splice(targetPaneIndex, 0, newParentPane);\n },\n\n _tabDock: function name(targetPane, pane) {\n var that = this;\n var targetPaneParent = that._findPaneByUid(targetPane.parentUid);\n var targetPaneIndex = targetPaneParent.panes.indexOf(targetPane);\n var newParentPane = {\n type: TAB,\n panes: [\n targetPane,\n pane\n ]\n };\n\n if (targetPane.type === TAB) {\n targetPane.panes.push(pane);\n return;\n }\n\n targetPaneParent.panes.splice(targetPaneIndex, 1);\n targetPaneParent.panes.splice(targetPaneIndex, 0, newParentPane);\n\n },\n\n _adjustSiblingSizes: function(pane, location, isGlobalDock) {\n var that = this;\n var siblings = that._getSiblings(pane);\n var dimension = location === TOP || location === BOTTOM ? HEIGHT : WIDTH;\n var parentSize = that.draggedPane.container[dimension];\n var draggedPaneSize = that.draggedPane[dimension];\n var newParentSize = parentSize - draggedPaneSize;\n var noSizePanes = [];\n var freeSpace = newParentSize;\n\n if (location === MIDDLE) {\n return;\n }\n\n if (siblings.length === 2) {\n siblings[0].size = null;\n return;\n }\n\n siblings.forEach(function (childPane) {\n if (childPane.uid === pane.uid) {\n return;\n }\n\n if (!childPane.size) {\n noSizePanes.push(childPane);\n return;\n }\n\n childPane.size = that._calculateNewSize(parentSize, newParentSize, childPane.size);\n freeSpace -= childPane.size;\n });\n\n noSizePanes.forEach(function (noSizePane) {\n var newSize = freeSpace / noSizePanes.length;\n\n noSizePane.size = newSize;\n });\n\n },\n\n _calculateNewSize: function(parentSize, newParentSize, paneSize) {\n var proportion = newParentSize / parentSize;\n var unit = \"px\";\n var noUnitSize;\n\n if (isPercentageSize(paneSize)) {\n unit = \"%\";\n }\n\n noUnitSize = +paneSize.replace(unit, \"\");\n\n return (\"\" + (noUnitSize * proportion) + unit);\n },\n\n _getSiblings: function(pane) {\n var that = this;\n var parent = that._findPaneByUid(pane.parentUid);\n\n return parent.panes.filter(function (p) { return p.visible !== false &&\n p.uid !== pane.uid &&\n (p.unpinnable && p.unpinnable.unpinned !== true); });\n }\n });\n\n ui.plugin(DockManager);\n })(window.kendo.jQuery);\n var kendo$1 = kendo;\n\n return kendo$1;\n\n}));\n"]}