From 9597d50f00764749636d14c92055c7cfea76ff52 Mon Sep 17 00:00:00 2001 From: stonedDiscord <10584181+stonedDiscord@users.noreply.github.com> Date: Mon, 18 Jan 2021 02:13:23 +0100 Subject: rebuild it after update --- webAO/ui.b.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'webAO/ui.b.js') diff --git a/webAO/ui.b.js b/webAO/ui.b.js index b0468e5..622b0a3 100644 --- a/webAO/ui.b.js +++ b/webAO/ui.b.js @@ -1,4 +1,4 @@ -!function(t){var e={};function n(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(i,o,function(e){return t[e]}.bind(null,o));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=164)}({162:function(t,e,n){var i,o,s,r;s=window.$,(r={config:{},container:{},controls:{},errors:{},items:{},utils:{}}).utils.F=function(){},r.utils.extend=function(t,e){t.prototype=r.utils.createObject(e.prototype),t.prototype.contructor=t},r.utils.createObject=function(t){return"function"==typeof Object.create?Object.create(t):(r.utils.F.prototype=t,new r.utils.F)},r.utils.objectKeys=function(t){var e,n;if("function"==typeof Object.keys)return Object.keys(t);for(n in e=[],t)e.push(n);return e},r.utils.getHashValue=function(t){var e=location.hash.match(new RegExp(t+"=([^&]*)"));return e?e[1]:null},r.utils.getQueryStringParam=function(t){if(window.location.hash)return r.utils.getHashValue(t);if(!window.location.search)return null;var e,n,i=window.location.search.substr(1).split("&"),o={};for(n=0;n/g,">").replace(/]+)>)/gi,""))},r.utils.EventEmitter=function(){this._mSubscriptions={},this._mSubscriptions[r.utils.EventEmitter.ALL_EVENT]=[],this.on=function(t,e,n){if(!r.utils.isFunction(e))throw new Error("Tried to listen to event "+t+" with non-function callback "+e);this._mSubscriptions[t]||(this._mSubscriptions[t]=[]),this._mSubscriptions[t].push({fn:e,ctx:n})},this.emit=function(t){var e,n,i;i=Array.prototype.slice.call(arguments,1);var o=this._mSubscriptions[t];if(o)for(o=o.slice(),e=0;ethis._nDistance||Math.abs(this._nY)>this._nDistance)&&(clearTimeout(this._timeout),this._startDrag()),this._bDragging&&this.emit("drag",this._nX,this._nY,t)}},onMouseUp:function(t){null!=this._timeout&&(clearTimeout(this._timeout),this._eBody.removeClass("lm_dragging"),this._eElement.removeClass("lm_dragging"),this._oDocument.find("iframe").css("pointer-events",""),this._oDocument.unbind("mousemove touchmove",this._fMove),this._oDocument.unbind("mouseup touchend",this._fUp),!0===this._bDragging&&(this._bDragging=!1,this.emit("dragStop",t,this._nOriginalX+this._nX)))},_startDrag:function(){this._bDragging=!0,this._eBody.addClass("lm_dragging"),this._eElement.addClass("lm_dragging"),this._oDocument.find("iframe").css("pointer-events","none"),this.emit("dragStart",this._nOriginalX,this._nOriginalY)},_getCoordinates:function(t){return{x:(t=t.originalEvent&&t.originalEvent.touches?t.originalEvent.touches[0]:t).pageX,y:t.pageY}}}),r.LayoutManager=function(t,e){if(!s||"function"!=typeof s.noConflict)throw new Error('jQuery is missing as dependency for GoldenLayout. Please either expose $ on GoldenLayout\'s scope (e.g. window) or add "jquery" to your paths when using RequireJS/AMD');r.utils.EventEmitter.call(this),this.isInitialised=!1,this._isFullPage=!1,this._resizeTimeoutId=null,this._components={"lm-react-component":r.utils.ReactComponentHandler},this._itemAreas=[],this._resizeFunction=r.utils.fnBind(this._onResize,this),this._unloadFunction=r.utils.fnBind(this._onUnload,this),this._maximisedItem=null,this._maximisePlaceholder=s('
'),this._creationTimeoutPassed=!1,this._subWindowsCreated=!1,this._dragSources=[],this._updatingColumnsResponsive=!1,this._firstLoad=!0,this.width=null,this.height=null,this.root=null,this.openPopouts=[],this.selectedItem=null,this.isSubWindow=!1,this.eventHub=new r.utils.EventHub(this),this.config=this._createConfig(t),this.container=e,this.dropTargetIndicator=null,this.transitionIndicator=null,this.tabDropPlaceholder=s('
'),!0===this.isSubWindow&&s("body").css("visibility","hidden"),this._typeToItem={column:r.utils.fnBind(r.items.RowOrColumn,this,[!0]),row:r.utils.fnBind(r.items.RowOrColumn,this,[!1]),stack:r.items.Stack,component:r.items.Component}},r.LayoutManager.__lm=r,r.LayoutManager.minifyConfig=function(t){return(new r.utils.ConfigMinifier).minifyConfig(t)},r.LayoutManager.unminifyConfig=function(t){return(new r.utils.ConfigMinifier).unminifyConfig(t)},r.utils.copy(r.LayoutManager.prototype,{registerComponent:function(t,e){if("function"!=typeof e)throw new Error("Please register a constructor function");if(void 0!==this._components[t])throw new Error("Component "+t+" is already registered");this._components[t]=e},toConfig:function(t){var e,n,i;if(!1===this.isInitialised)throw new Error("Can't create config, layout not yet initialised");if(t&&!(t instanceof r.items.AbstractContentItem))throw new Error("Root must be a ContentItem");for((e={settings:r.utils.copy({},this.config.settings),dimensions:r.utils.copy({},this.config.dimensions),labels:r.utils.copy({},this.config.labels)}).content=[],(n=function(t,e){var i,o;for(i in e.config)"content"!==i&&(t[i]=e.config[i]);if(e.contentItems.length)for(t.content=[],o=0;o(i=this._itemAreas[n]).x1&&ti.y1&&ei.surface&&(o=i.surface,s=i);return s},_$createRootItemAreas:function(){var t={y2:0,x2:0,y1:"y2",x1:"x2"};for(var e in t){var n=this.root._$getArea();n.side=e,n[e]=t[e]?n[t[e]]-50:50,n.surface=(n.x2-n.x1)*(n.y2-n.y1),this._itemAreas.push(n)}},_$calculateItemAreas:function(){var t,e,n=this._getAllContentItems();if(this._itemAreas=[],1!==n.length){for(this._$createRootItemAreas(),t=0;t
');t.click(r.utils.fnBind((function(){this.emit("popIn")}),this)),document.title=r.utils.stripTags(this.config.content[0].title),s("head").append(s("body link, body style, template, .gl_keep")),this.container=s("body").html("").css("visibility","visible").append(t),document.body.offsetHeight,window.__glInstance=this},_createSubWindows:function(){var t,e;for(t=0;t1)throw new Error("GoldenLayout more than one container element specified");t[0]===document.body&&(this._isFullPage=!0,s("html, body").css({height:"100%",margin:0,padding:0,overflow:"hidden"})),this.container=t},_create:function(t){var e;if(!(t.content instanceof Array))throw e=void 0===t.content?"Missing setting 'content' on top level of configuration":"Configuration parameter 'content' must be an array",new r.errors.ConfigurationError(e,t);if(t.content.length>1)throw e="Top level content can't contain more then one element.",new r.errors.ConfigurationError(e,t);this.root=new r.items.Root(this,{content:t.content},this.container),this.root.callDownwards("_$init"),"__glMaximised"===t.maximisedItemId&&this.root.getItemsById(t.maximisedItemId)[0].toggleMaximise()},_onUnload:function(){if(!0===this.config.settings.closePopoutsOnUnload)for(var t=0;t','
',""].join("")),this._contentElement=this._element.find(".lm_content")},r.utils.copy(r.container.ItemContainer.prototype,{getElement:function(){return this._contentElement},hide:function(){this.emit("hide"),this.isHidden=!0,this._element.hide()},show:function(){this.emit("show"),this.isHidden=!1,this._element.show(),0==this.height&&0==this.width||this.emit("shown")},setSize:function(t,e){for(var n,i,o,s,r=this.parent,a=this;!r.isColumn&&!r.isRow;)if(a=r,(r=r.parent).isRoot)return!1;for(n=("height"==(i=r.isColumn?"height":"width")?e:t)/(this[i]*(1/(a.config[i]/100)))*100,o=(a.config[i]-n)/(r.contentItems.length-1),s=0;s0?this._layoutManager.root.contentItems[0]:this._layoutManager.root)),e.addChild(t,this._indexInParent),this.close()},_createWindow:function(){var t,e=this._createUrl(),n=Math.floor(1e6*Math.random()).toString(36),i=this._serializeWindowOptions({width:this._dimensions.width,height:this._dimensions.height,innerWidth:this._dimensions.width,innerHeight:this._dimensions.height,menubar:"no",toolbar:"no",location:"no",personalbar:"no",resizable:"yes",scrollbars:"no",status:"no"});if(this._popoutWindow=window.open(e,n,i),this._popoutWindow)s(this._popoutWindow).on("load",r.utils.fnBind(this._positionWindow,this)).on("unload beforeunload",r.utils.fnBind(this._onClose,this)),t=setInterval(r.utils.fnBind((function(){this._popoutWindow.__glInstance&&this._popoutWindow.__glInstance.isInitialised&&(this._onInitialised(),clearInterval(t))}),this),10);else if(!0===this._layoutManager.config.settings.blockedPopoutsThrowError){var o=new Error("Popout blocked");throw o.type="popoutBlocked",o}},_serializeWindowOptions:function(t){var e,n=[];for(e in t)n.push(e+"="+t[e]);return n.join(",")},_createUrl:function(){var t,e={content:this._config},n="gl-window-config-"+r.utils.getUniqueId();e=(new r.utils.ConfigMinifier).minifyConfig(e);try{localStorage.setItem(n,JSON.stringify(e))}catch(t){throw new Error("Error while writing to localStorage "+t.toString())}return 1===(t=document.location.href.split("?")).length?t[0]+"?gl-window="+n:document.location.href+"&gl-window="+n},_positionWindow:function(){this._popoutWindow.moveTo(this._dimensions.left,this._dimensions.top),this._popoutWindow.focus()},_onInitialised:function(){this.isInitialised=!0,this.getGlInstance().on("popIn",this.popIn,this),this.emit("initialised")},_onClose:function(){setTimeout(r.utils.fnBind(this.emit,this,["closed"]),50)}}),r.controls.DragProxy=function(t,e,n,i,o,a){r.utils.EventEmitter.call(this),this._dragListener=n,this._layoutManager=i,this._contentItem=o,this._originalParent=a,this._area=null,this._lastValidArea=null,this._dragListener.on("drag",this._onDrag,this),this._dragListener.on("dragStop",this._onDrop,this),this.element=s(r.controls.DragProxy._template),a&&a._side&&(this._sided=a._sided,this.element.addClass("lm_"+a._side),["right","bottom"].indexOf(a._side)>=0&&this.element.find(".lm_content").after(this.element.find(".lm_header"))),this.element.css({left:t,top:e}),this.element.find(".lm_tab").attr("title",r.utils.stripTags(this._contentItem.config.title)),this.element.find(".lm_title").html(this._contentItem.config.title),this.childElementContainer=this.element.find(".lm_content"),this.childElementContainer.append(o.element),this._updateTree(),this._layoutManager._$calculateItemAreas(),this._setDimensions(),s(document.body).append(this.element);var l=this._layoutManager.container.offset();this._minX=l.left,this._minY=l.top,this._maxX=this._layoutManager.container.width()+this._minX,this._maxY=this._layoutManager.container.height()+this._minY,this._width=this.element.width(),this._height=this.element.height(),this._setDropPosition(t,e)},r.controls.DragProxy._template='
',r.utils.copy(r.controls.DragProxy.prototype,{_onDrag:function(t,e,n){var i=(n=n.originalEvent&&n.originalEvent.touches?n.originalEvent.touches[0]:n).pageX,o=n.pageY;(i>this._minX&&ithis._minY&&o
',r.utils.copy(r.controls.DropTargetIndicator.prototype,{destroy:function(){this.element.remove()},highlight:function(t,e,n,i){this.highlightArea({x1:t,y1:e,x2:n,y2:i})},highlightArea:function(t){this.element.css({left:t.x1,top:t.y1,width:t.x2-t.x1,height:t.y2-t.y1}).show()},hide:function(){this.element.hide()}}),r.controls.Header=function(t,e){r.utils.EventEmitter.call(this),this.layoutManager=t,this.element=s(r.controls.Header._template),!0===this.layoutManager.config.settings.selectionEnabled&&(this.element.addClass("lm_selectable"),this.element.on("click touchstart",r.utils.fnBind(this._onHeaderClick,this))),this.tabsContainer=this.element.find(".lm_tabs"),this.tabDropdownContainer=this.element.find(".lm_tabdropdown_list"),this.tabDropdownContainer.hide(),this.controlsContainer=this.element.find(".lm_controls"),this.parent=e,this.parent.on("resize",this._updateTabSizes,this),this.tabs=[],this.activeContentItem=null,this.closeButton=null,this.tabDropdownButton=null,this.hideAdditionalTabsDropdown=r.utils.fnBind(this._hideAdditionalTabsDropdown,this),s(document).mouseup(this.hideAdditionalTabsDropdown),this._lastVisibleTabIndex=-1,this._tabControlOffset=this.layoutManager.config.settings.tabControlOffset,this._createControls()},r.controls.Header._template=['
','
    ','
      ','
        ',"
        "].join(""),r.utils.copy(r.controls.Header.prototype,{createTab:function(t,e){var n,i;for(i=0;i0?this.tabs[e-1].element.after(n.element):this.tabs[0].element.before(n.element),this.tabs.splice(e,0,n),this._updateTabSizes()},removeTab:function(t){for(var e=0;ethis._lastVisibleTabIndex){for(o=this.tabs[this.parent.config.activeItemIndex],n=this.parent.config.activeItemIndex;n>0;n--)this.tabs[n]=this.tabs[n-1];this.tabs[0]=o,this.parent.config.activeItemIndex=0}this._updateTabSizes(),this.parent.emitBubblingEvent("stateChanged")},position:function(t){var e=this.parent._header.show;return e&&!this.parent._side&&(e="top"),void 0!==t&&this.parent._header.show!=t&&(this.parent._header.show=t,this.parent._setupHeaderPosition()),e},_$setClosable:function(t){return!(!this.closeButton||!this._isClosable()||(this.closeButton.element[t?"show":"hide"](),0))},_$destroy:function(){this.emit("destroy",this);for(var t=0;tr){if(u)i===d&&(n.css({"z-index":"auto","margin-left":""}),this.tabsContainer.append(n));else if((c=d>0&&d<=i?(l-r)/(i-1):(l-r)/i)'),this._header.on("destroy",this._$destroy,this),this._action=i,this.element.on("click touchstart",this._action),this._header.controlsContainer.append(this.element)},r.utils.copy(r.controls.HeaderButton.prototype,{_$destroy:function(){this.element.off(),this.element.remove()}}),r.controls.Splitter=function(t,e,n){this._isVertical=t,this._size=e,this._grabSize=n'),e=s('
        ');e.append(t);var n=this._grabSize-this._size,i=n/2;return this._isVertical?(t.css("top",-i),t.css("height",this._size+n),e.addClass("lm_vertical"),e.height(this._size)):(t.css("left",-i),t.css("width",this._size+n),e.addClass("lm_horizontal"),e.width(this._size)),e}}),r.controls.Tab=function(t,e){this.header=t,this.contentItem=e,this.element=s(r.controls.Tab._template),this.titleElement=this.element.find(".lm_title"),this.closeElement=this.element.find(".lm_close_tab"),this.closeElement[e.config.isClosable?"show":"hide"](),this.isActive=!1,this.setTitle(e.config.title),this.contentItem.on("titleChanged",this.setTitle,this),this._layoutManager=this.contentItem.layoutManager,!0===this._layoutManager.config.settings.reorderEnabled&&!0===e.config.reorderEnabled&&(this._dragListener=new r.utils.DragListener(this.element),this._dragListener.on("dragStart",this._onDragStart,this),this.contentItem.on("destroy",this._dragListener.destroy,this._dragListener)),this._onTabClickFn=r.utils.fnBind(this._onTabClick,this),this._onCloseClickFn=r.utils.fnBind(this._onCloseClick,this),this.element.on("mousedown touchstart",this._onTabClickFn),this.contentItem.config.isClosable?(this.closeElement.on("click touchstart",this._onCloseClickFn),this.closeElement.on("mousedown",this._onCloseMousedown)):this.closeElement.remove(),this.contentItem.tab=this,this.contentItem.emit("tab",this),this.contentItem.layoutManager.emit("tabCreated",this),this.contentItem.isComponent&&(this.contentItem.container.tab=this,this.contentItem.container.emit("tab",this))},r.controls.Tab._template='
      • ',r.utils.copy(r.controls.Tab.prototype,{setTitle:function(t){this.element.attr("title",r.utils.stripTags(t)),this.titleElement.html(t)},setActive:function(t){t!==this.isActive&&(this.isActive=t,t?this.element.addClass("lm_active"):this.element.removeClass("lm_active"))},_$destroy:function(){this.element.off("mousedown touchstart",this._onTabClickFn),this.closeElement.off("click touchstart",this._onCloseClickFn),this._dragListener&&(this.contentItem.off("destroy",this._dragListener.destroy,this._dragListener),this._dragListener.off("dragStart",this._onDragStart),this._dragListener=null),this.element.remove()},_onDragStart:function(t,e){!0===this.contentItem.parent.isMaximised&&this.contentItem.parent.toggleMaximise(),new r.controls.DragProxy(t,e,this._dragListener,this._layoutManager,this.contentItem,this.header.parent)},_onTabClick:function(t){if(0===t.button||"touchstart"===t.type){var e=this.header.parent.getActiveContentItem();this.contentItem!==e&&this.header.parent.setActiveContentItem(this.contentItem)}else 1===t.button&&this.contentItem.config.isClosable&&this._onCloseClick(t)},_onCloseClick:function(t){t.stopPropagation(),this.header.parent.removeChild(this.contentItem)},_onCloseMousedown:function(t){t.stopPropagation()}}),r.controls.TransitionIndicator=function(){this._element=s('
        '),s(document.body).append(this._element),this._toElement=null,this._fromDimensions=null,this._totalAnimationDuration=200,this._animationStartTime=null},r.utils.copy(r.controls.TransitionIndicator.prototype,{destroy:function(){this._element.remove()},transitionElements:function(t,e){},_nextAnimationFrame:function(){var t,e=this._measure(this._toElement),n=(r.utils.now()-this._animationStartTime)/this._totalAnimationDuration,i={};if(n>=1)this._element.hide();else{for(t in e.opacity=0,this._fromDimensions)i[t]=this._fromDimensions[t]+(e[t]-this._fromDimensions[t])*n;this._element.css(i),r.utils.animFrame(r.utils.fnBind(this._nextAnimationFrame,this))}},_measure:function(t){var e=t.offset();return{left:e.left,top:e.top,width:t.outerWidth(),height:t.outerHeight()}}}),r.errors.ConfigurationError=function(t,e){Error.call(this),this.name="Configuration Error",this.message=t,this.node=e},r.errors.ConfigurationError.prototype=new Error,r.items.AbstractContentItem=function(t,e,n){r.utils.EventEmitter.call(this),this.config=this._extendItemNode(e),this.type=e.type,this.contentItems=[],this.parent=n,this.isInitialised=!1,this.isMaximised=!1,this.isRoot=!1,this.isRow=!1,this.isColumn=!1,this.isStack=!1,this.isComponent=!1,this.layoutManager=t,this._pendingEventPropagations={},this._throttledEvents=["stateChanged"],this.on(r.utils.EventEmitter.ALL_EVENT,this._propagateEvent,this),e.content&&this._createContentItems(e)},r.utils.copy(r.items.AbstractContentItem.prototype,{setSize:function(){throw new Error("Abstract Method")},callDownwards:function(t,e,n,i){var o;for(!0!==n&&!0!==i&&this[t].apply(this,e||[]),o=0;o0?this.callDownwards("setSize"):this instanceof r.items.Root||!0!==this.config.isClosable||this.parent.removeChild(this)},addChild:function(t,e){void 0===e&&(e=this.contentItems.length),this.contentItems.splice(e,0,t),void 0===this.config.content&&(this.config.content=[]),this.config.content.splice(e,0,t.config),t.parent=this,!0===t.parent.isInitialised&&!1===t.isInitialised&&t._$init()},replaceChild:function(t,e,n){e=this.layoutManager._$normalizeContentItem(e);var i=r.utils.indexOf(t,this.contentItems),o=t.element[0].parentNode;if(-1===i)throw new Error("Can't replace child. oldChild is not child of this");o.replaceChild(e.element[0],t.element[0]),!0===n&&(t.parent=null,t._$destroy()),this.contentItems[i]=e,e.parent=this,this.isStack&&(this.header.tabs[i].contentItem=e),!0===e.parent.isInitialised&&!1===e.isInitialised&&e._$init(),this.callDownwards("setSize")},remove:function(){this.parent.removeChild(this)},popout:function(){var t=this.layoutManager.createPopout(this);return this.emitBubblingEvent("stateChanged"),t},toggleMaximise:function(t){t&&t.preventDefault(),!0===this.isMaximised?this.layoutManager._$minimiseItem(this):this.layoutManager._$maximiseItem(this),this.isMaximised=!this.isMaximised,this.emitBubblingEvent("stateChanged")},select:function(){this.layoutManager.selectedItem!==this&&(this.layoutManager.selectItem(this,!0),this.element.addClass("lm_selected"))},deselect:function(){this.layoutManager.selectedItem===this&&(this.layoutManager.selectedItem=null,this.element.removeClass("lm_selected"))},setTitle:function(t){this.config.title=t,this.emit("titleChanged",t),this.emit("stateChanged")},hasId:function(t){return!!this.config.id&&("string"==typeof this.config.id?this.config.id===t:this.config.id instanceof Array?-1!==r.utils.indexOf(t,this.config.id):void 0)},addId:function(t){this.hasId(t)||(this.config.id?"string"==typeof this.config.id?this.config.id=[this.config.id,t]:this.config.id instanceof Array&&this.config.id.push(t):this.config.id=t)},removeId:function(t){if(!this.hasId(t))throw new Error("Id not found");if("string"==typeof this.config.id)delete this.config.id;else if(this.config.id instanceof Array){var e=r.utils.indexOf(t,this.config.id);this.config.id.splice(e,1)}},getItemsByFilter:function(t){var e=[],n=function(i){for(var o=0;o'),this.childElementContainer=this.element,this._containerElement=n,this._containerElement.append(this.element)},r.utils.extend(r.items.Root,r.items.AbstractContentItem),r.utils.copy(r.items.Root.prototype,{addChild:function(t){if(this.contentItems.length>0)throw new Error("Root node can only have a single child");t=this.layoutManager._$normalizeContentItem(t,this),this.childElementContainer.append(t.element),r.items.AbstractContentItem.prototype.addChild.call(this,t),this.callDownwards("setSize"),this.emitBubblingEvent("stateChanged")},setSize:function(t,e){t=void 0===t?this._containerElement.width():t,e=void 0===e?this._containerElement.height():e,this.element.width(t),this.element.height(e),this.contentItems[0]&&(this.contentItems[0].element.width(t),this.contentItems[0].element.height(e))},_$highlightDropZone:function(t,e,n){this.layoutManager.tabDropPlaceholder.remove(),r.items.AbstractContentItem.prototype._$highlightDropZone.apply(this,arguments)},_$onDrop:function(t,e){var n;if(t.isComponent&&((n=this.layoutManager.createContentItem({type:"stack",header:t.config.header||{}},this))._$init(),n.addChild(t),t=n),this.contentItems.length){var i="x"==e.side[0]?"row":"column",o="x"==e.side[0]?"width":"height",s="2"==e.side[1],a=this.contentItems[0];if(!a instanceof r.items.RowOrColumn||a.type!=i){var l=this.layoutManager.createContentItem({type:i},this);this.replaceChild(a,l),l.addChild(t,s?0:void 0,!0),l.addChild(a,s?void 0:0,!0),a.config[o]=50,t.config[o]=50,l.callDownwards("setSize")}else{var c=a.contentItems[s?0:a.contentItems.length-1];a.addChild(t,s?0:void 0,!0),c.config[o]*=.5,t.config[o]=c.config[o],a.callDownwards("setSize")}}else this.addChild(t)}}),r.items.RowOrColumn=function(t,e,n,i){r.items.AbstractContentItem.call(this,e,n,i),this.isRow=!t,this.isColumn=t,this.element=s('
        '),this.childElementContainer=this.element,this._splitterSize=e.config.dimensions.borderWidth,this._splitterGrabSize=e.config.dimensions.borderGrabWidth,this._isColumn=t,this._dimension=t?"height":"width",this._splitter=[],this._splitterPosition=null,this._splitterMinPosition=null,this._splitterMaxPosition=null},r.utils.extend(r.items.RowOrColumn,r.items.AbstractContentItem),r.utils.copy(r.items.RowOrColumn.prototype,{addChild:function(t,e,n){var i,o,s,a;if(t=this.layoutManager._$normalizeContentItem(t,this),void 0===e&&(e=this.contentItems.length),this.contentItems.length>0?(a=this._createSplitter(Math.max(0,e-1)).element,e>0?(this.contentItems[e-1].element.after(a),a.after(t.element)):(this.contentItems[0].element.before(a),a.before(t.element))):this.childElementContainer.append(t.element),r.items.AbstractContentItem.prototype.addChild.call(this,t,e),i=1/this.contentItems.length*100,!0!==n){for(s=0;s0&&(this._calculateRelativeSizes(),this._setAbsoluteSizes()),this.emitBubblingEvent("stateChanged"),this.emit("resize")},_$init:function(){var t;if(!0!==this.isInitialised)for(r.items.AbstractContentItem.prototype._$init.call(this),t=0;t0&&e.itemSizes[t]++,this._isColumn?(this.contentItems[t].element.width(e.totalWidth),this.contentItems[t].element.height(e.itemSizes[t])):(this.contentItems[t].element.width(e.itemSizes[t]),this.contentItems[t].element.height(e.totalHeight))},_calculateAbsoluteSizes:function(){var t,e,n=(this.contentItems.length-1)*this._splitterSize,i=this.element.width(),o=this.element.height(),s=0,r=[];for(this._isColumn?o-=n:i-=n,t=0;t0){for(t=0;t100)for(t=0;tr)){for(e=a/r,l=a,u=0;uthis._splitterMinPosition&&i'),this._activeContentItem=null;var i=t.config;this._header={show:!0===i.settings.hasHeaders&&!1!==e.hasHeaders,popout:i.settings.showPopoutIcon&&i.labels.popout,maximise:i.settings.showMaximiseIcon&&i.labels.maximise,close:i.settings.showCloseIcon&&i.labels.close,minimise:i.labels.minimise},i.header&&r.utils.copy(this._header,i.header),e.header&&r.utils.copy(this._header,e.header),e.content&&e.content[0]&&e.content[0].header&&r.utils.copy(this._header,e.content[0].header),this._dropZones={},this._dropSegment=null,this._contentAreaDimensions=null,this._dropIndex=null,this.isStack=!0,this.childElementContainer=s('
        '),this.header=new r.controls.Header(t,this),this.element.append(this.header.element),this.element.append(this.childElementContainer),this._setupHeaderPosition(),this._$validateClosability()},r.utils.extend(r.items.Stack,r.items.AbstractContentItem),r.utils.copy(r.items.Stack.prototype,{setSize:function(){var t,e=this._header.show?this.layoutManager.config.dimensions.headerHeight:0,n=this.element.width()-(this._sided?e:0),i=this.element.height()-(this._sided?0:e);for(this.childElementContainer.width(n),this.childElementContainer.height(i),t=0;t0){if(!(e=this.contentItems[this.config.activeItemIndex||0]))throw new Error("Configured activeItemIndex out of bounds");this.setActiveContentItem(e)}}},setActiveContentItem:function(t){if(-1===r.utils.indexOf(t,this.contentItems))throw new Error("contentItem is not a child of this stack");null!==this._activeContentItem&&this._activeContentItem._$hide(),this._activeContentItem=t,this.header.setActiveContentItem(t),t._$show(),this.emit("activeContentItemChanged",t),this.layoutManager.emit("activeContentItemChanged",t),this.emitBubblingEvent("stateChanged")},getActiveContentItem:function(){return this.header.activeContentItem},addChild:function(t,e){t=this.layoutManager._$normalizeContentItem(t,this),r.items.AbstractContentItem.prototype.addChild.call(this,t,e),this.childElementContainer.append(t.element),this.header.createTab(t,e),this.setActiveContentItem(t),this.callDownwards("setSize"),this._$validateClosability(),this.emitBubblingEvent("stateChanged")},removeChild:function(t,e){var n=r.utils.indexOf(t,this.contentItems);r.items.AbstractContentItem.prototype.removeChild.call(this,t,e),this.header.removeTab(t),this.header.activeContentItem===t&&(this.contentItems.length>0?this.setActiveContentItem(this.contentItems[Math.max(n-1,0)]):this._activeContentItem=null),this._$validateClosability(),this.emitBubblingEvent("stateChanged")},_$validateClosability:function(){var t,e,n;for(t=this.header._isClosable(),n=0,e=this.contentItems.length;nt&&i.y1e)return void("header"===n?(this._dropSegment="header",this._highlightHeaderDropZone(this._sided?e:t)):(this._resetHeaderDropZone(),this._highlightBodyDropZone(n)))},_$getArea:function(){if(!1===this.element.is(":visible"))return null;var t=r.items.AbstractContentItem.prototype._$getArea,e=t.call(this,this.header.element),n=t.call(this,this.childElementContainer),i=n.x2-n.x1,o=n.y2-n.y1;return this._contentAreaDimensions={header:{hoverArea:{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2},highlightArea:{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2}}},this._activeContentItem&&!1===this._activeContentItem.isComponent?e:0===this.contentItems.length?(this._contentAreaDimensions.body={hoverArea:{x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2},highlightArea:{x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2}},t.call(this,this.element)):(this._contentAreaDimensions.left={hoverArea:{x1:n.x1,y1:n.y1,x2:n.x1+.25*i,y2:n.y2},highlightArea:{x1:n.x1,y1:n.y1,x2:n.x1+.5*i,y2:n.y2}},this._contentAreaDimensions.top={hoverArea:{x1:n.x1+.25*i,y1:n.y1,x2:n.x1+.75*i,y2:n.y1+.5*o},highlightArea:{x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y1+.5*o}},this._contentAreaDimensions.right={hoverArea:{x1:n.x1+.75*i,y1:n.y1,x2:n.x2,y2:n.y2},highlightArea:{x1:n.x1+.5*i,y1:n.y1,x2:n.x2,y2:n.y2}},this._contentAreaDimensions.bottom={hoverArea:{x1:n.x1+.25*i,y1:n.y1+.5*o,x2:n.x1+.75*i,y2:n.y2},highlightArea:{x1:n.x1,y1:n.y1+.5*o,x2:n.x2,y2:n.y2}},t.call(this,this.element))},_highlightHeaderDropZone:function(t){var e,n,i,o,s,r,a,l,c=this.header.tabs.length,h=!1;if(0===c)return a=this.header.element.offset(),void this.layoutManager.dropTargetIndicator.highlightArea({x1:a.left,x2:a.left+100,y1:a.top+this.header.element.height()-20,y2:a.top+this.header.element.height()});for(e=0;eo&&t=0&&this._header.show;if(this.header.element.toggle(!!this._header.show),this._side=t,this._sided=["right","left"].indexOf(this._side)>=0,this.element.removeClass("lm_left lm_right lm_bottom"),this._side&&this.element.addClass("lm_"+this._side),this.element.find(".lm_header").length&&this.childElementContainer){var e=["right","bottom"].indexOf(this._side)>=0?"before":"after";this.header.element[e](this.childElementContainer),this.callDownwards("setSize")}},_highlightBodyDropZone:function(t){var e=this._contentAreaDimensions[t].highlightArea;this.layoutManager.dropTargetIndicator.highlightArea(e),this._dropSegment=t}}),r.utils.BubblingEvent=function(t,e){this.name=t,this.origin=e,this.isPropagationStopped=!1},r.utils.BubblingEvent.prototype.stopPropagation=function(){this.isPropagationStopped=!0},r.utils.ConfigMinifier=function(){if(this._keys=["settings","hasHeaders","constrainDragToContainer","selectionEnabled","dimensions","borderWidth","minItemHeight","minItemWidth","headerHeight","dragProxyWidth","dragProxyHeight","labels","close","maximise","minimise","popout","content","componentName","componentState","id","width","type","height","isClosable","title","popoutWholeStack","openPopouts","parentId","activeItemIndex","reorderEnabled","borderGrabWidth"],this._keys.length>36)throw new Error("Too many keys in config minifier map");this._values=[!0,!1,"row","column","stack","component","close","maximise","minimise","open in new window"]},r.utils.copy(r.utils.ConfigMinifier.prototype,{minifyConfig:function(t){var e={};return this._nextLevel(t,e,"_min"),e},unminifyConfig:function(t){var e={};return this._nextLevel(t,e,"_max"),e},_nextLevel:function(t,e,n){var i,o;for(i in t)t instanceof Array&&(i=parseInt(i,10)),t.hasOwnProperty(i)&&(o=this[n](i,this._keys),"object"==typeof t[i]?(e[o]=t[i]instanceof Array?[]:{},this._nextLevel(t[i],e[o],n)):e[o]=this[n](t[i],this._values))},_min:function(t,e){if("string"==typeof t&&1===t.length)return"___"+t;var n=r.utils.indexOf(t,e);return-1===n?t:n.toString(36)},_max:function(t,e){return"string"==typeof t&&1===t.length?e[parseInt(t,36)]:"string"==typeof t&&"___"===t.substr(0,3)?t[3]:t}}),r.utils.EventHub=function(t){r.utils.EventEmitter.call(this),this._layoutManager=t,this._dontPropagateToParent=null,this._childEventSource=null,this.on(r.utils.EventEmitter.ALL_EVENT,r.utils.fnBind(this._onEventFromThis,this)),this._boundOnEventFromChild=r.utils.fnBind(this._onEventFromChild,this),s(window).on("gl_child_event",this._boundOnEventFromChild)},r.utils.EventHub.prototype._onEventFromThis=function(){var t=Array.prototype.slice.call(arguments);this._layoutManager.isSubWindow&&t[0]!==this._dontPropagateToParent&&this._propagateToParent(t),this._propagateToChildren(t),this._dontPropagateToParent=null,this._childEventSource=null},r.utils.EventHub.prototype._$onEventFromParent=function(t){this._dontPropagateToParent=t[0],this.emit.apply(this,t)},r.utils.EventHub.prototype._onEventFromChild=function(t){this._childEventSource=t.originalEvent.__gl,this.emit.apply(this,t.originalEvent.__glArgs)},r.utils.EventHub.prototype._propagateToParent=function(t){var e;document.createEvent?(e=window.opener.document.createEvent("HTMLEvents")).initEvent("gl_child_event",!0,!0):(e=window.opener.document.createEventObject()).eventType="gl_child_event",e.eventName="gl_child_event",e.__glArgs=t,e.__gl=this._layoutManager,document.createEvent?window.opener.dispatchEvent(e):window.opener.fireEvent("on"+e.eventType,e)},r.utils.EventHub.prototype._propagateToChildren=function(t){var e,n;for(n=0;n/g,">").replace(/]+)>)/gi,""))},r.utils.EventEmitter=function(){this._mSubscriptions={},this._mSubscriptions[r.utils.EventEmitter.ALL_EVENT]=[],this.on=function(t,e,n){if(!r.utils.isFunction(e))throw new Error("Tried to listen to event "+t+" with non-function callback "+e);this._mSubscriptions[t]||(this._mSubscriptions[t]=[]),this._mSubscriptions[t].push({fn:e,ctx:n})},this.emit=function(t){var e,n,i;i=Array.prototype.slice.call(arguments,1);var o=this._mSubscriptions[t];if(o)for(o=o.slice(),e=0;ethis._nDistance||Math.abs(this._nY)>this._nDistance)&&(clearTimeout(this._timeout),this._startDrag()),this._bDragging&&this.emit("drag",this._nX,this._nY,t)}},onMouseUp:function(t){null!=this._timeout&&(clearTimeout(this._timeout),this._eBody.removeClass("lm_dragging"),this._eElement.removeClass("lm_dragging"),this._oDocument.find("iframe").css("pointer-events",""),this._oDocument.unbind("mousemove touchmove",this._fMove),this._oDocument.unbind("mouseup touchend",this._fUp),!0===this._bDragging&&(this._bDragging=!1,this.emit("dragStop",t,this._nOriginalX+this._nX)))},_startDrag:function(){this._bDragging=!0,this._eBody.addClass("lm_dragging"),this._eElement.addClass("lm_dragging"),this._oDocument.find("iframe").css("pointer-events","none"),this.emit("dragStart",this._nOriginalX,this._nOriginalY)},_getCoordinates:function(t){return{x:(t=t.originalEvent&&t.originalEvent.touches?t.originalEvent.touches[0]:t).pageX,y:t.pageY}}}),r.LayoutManager=function(t,e){if(!s||"function"!=typeof s.noConflict)throw new Error('jQuery is missing as dependency for GoldenLayout. Please either expose $ on GoldenLayout\'s scope (e.g. window) or add "jquery" to your paths when using RequireJS/AMD');r.utils.EventEmitter.call(this),this.isInitialised=!1,this._isFullPage=!1,this._resizeTimeoutId=null,this._components={"lm-react-component":r.utils.ReactComponentHandler},this._itemAreas=[],this._resizeFunction=r.utils.fnBind(this._onResize,this),this._unloadFunction=r.utils.fnBind(this._onUnload,this),this._maximisedItem=null,this._maximisePlaceholder=s('
        '),this._creationTimeoutPassed=!1,this._subWindowsCreated=!1,this._dragSources=[],this._updatingColumnsResponsive=!1,this._firstLoad=!0,this.width=null,this.height=null,this.root=null,this.openPopouts=[],this.selectedItem=null,this.isSubWindow=!1,this.eventHub=new r.utils.EventHub(this),this.config=this._createConfig(t),this.container=e,this.dropTargetIndicator=null,this.transitionIndicator=null,this.tabDropPlaceholder=s('
        '),!0===this.isSubWindow&&s("body").css("visibility","hidden"),this._typeToItem={column:r.utils.fnBind(r.items.RowOrColumn,this,[!0]),row:r.utils.fnBind(r.items.RowOrColumn,this,[!1]),stack:r.items.Stack,component:r.items.Component}},r.LayoutManager.__lm=r,r.LayoutManager.minifyConfig=function(t){return(new r.utils.ConfigMinifier).minifyConfig(t)},r.LayoutManager.unminifyConfig=function(t){return(new r.utils.ConfigMinifier).unminifyConfig(t)},r.utils.copy(r.LayoutManager.prototype,{registerComponent:function(t,e){if("function"!=typeof e)throw new Error("Please register a constructor function");if(void 0!==this._components[t])throw new Error("Component "+t+" is already registered");this._components[t]=e},toConfig:function(t){var e,n,i;if(!1===this.isInitialised)throw new Error("Can't create config, layout not yet initialised");if(t&&!(t instanceof r.items.AbstractContentItem))throw new Error("Root must be a ContentItem");for((e={settings:r.utils.copy({},this.config.settings),dimensions:r.utils.copy({},this.config.dimensions),labels:r.utils.copy({},this.config.labels)}).content=[],(n=function(t,e){var i,o;for(i in e.config)"content"!==i&&(t[i]=e.config[i]);if(e.contentItems.length)for(t.content=[],o=0;o(i=this._itemAreas[n]).x1&&ti.y1&&ei.surface&&(o=i.surface,s=i);return s},_$createRootItemAreas:function(){var t={y2:0,x2:0,y1:"y2",x1:"x2"};for(var e in t){var n=this.root._$getArea();n.side=e,n[e]=t[e]?n[t[e]]-50:50,n.surface=(n.x2-n.x1)*(n.y2-n.y1),this._itemAreas.push(n)}},_$calculateItemAreas:function(){var t,e,n=this._getAllContentItems();if(this._itemAreas=[],1!==n.length){for(this._$createRootItemAreas(),t=0;t
        ');t.click(r.utils.fnBind((function(){this.emit("popIn")}),this)),document.title=r.utils.stripTags(this.config.content[0].title),s("head").append(s("body link, body style, template, .gl_keep")),this.container=s("body").html("").css("visibility","visible").append(t),document.body.offsetHeight,window.__glInstance=this},_createSubWindows:function(){var t,e;for(t=0;t1)throw new Error("GoldenLayout more than one container element specified");t[0]===document.body&&(this._isFullPage=!0,s("html, body").css({height:"100%",margin:0,padding:0,overflow:"hidden"})),this.container=t},_create:function(t){var e;if(!(t.content instanceof Array))throw e=void 0===t.content?"Missing setting 'content' on top level of configuration":"Configuration parameter 'content' must be an array",new r.errors.ConfigurationError(e,t);if(t.content.length>1)throw e="Top level content can't contain more then one element.",new r.errors.ConfigurationError(e,t);this.root=new r.items.Root(this,{content:t.content},this.container),this.root.callDownwards("_$init"),"__glMaximised"===t.maximisedItemId&&this.root.getItemsById(t.maximisedItemId)[0].toggleMaximise()},_onUnload:function(){if(!0===this.config.settings.closePopoutsOnUnload)for(var t=0;t','
        ',""].join("")),this._contentElement=this._element.find(".lm_content")},r.utils.copy(r.container.ItemContainer.prototype,{getElement:function(){return this._contentElement},hide:function(){this.emit("hide"),this.isHidden=!0,this._element.hide()},show:function(){this.emit("show"),this.isHidden=!1,this._element.show(),0==this.height&&0==this.width||this.emit("shown")},setSize:function(t,e){for(var n,i,o,s,r=this.parent,a=this;!r.isColumn&&!r.isRow;)if(a=r,(r=r.parent).isRoot)return!1;for(n=("height"==(i=r.isColumn?"height":"width")?e:t)/(this[i]*(1/(a.config[i]/100)))*100,o=(a.config[i]-n)/(r.contentItems.length-1),s=0;s0?this._layoutManager.root.contentItems[0]:this._layoutManager.root)),e.addChild(t,this._indexInParent),this.close()},_createWindow:function(){var t,e=this._createUrl(),n=Math.floor(1e6*Math.random()).toString(36),i=this._serializeWindowOptions({width:this._dimensions.width,height:this._dimensions.height,innerWidth:this._dimensions.width,innerHeight:this._dimensions.height,menubar:"no",toolbar:"no",location:"no",personalbar:"no",resizable:"yes",scrollbars:"no",status:"no"});if(this._popoutWindow=window.open(e,n,i),this._popoutWindow)s(this._popoutWindow).on("load",r.utils.fnBind(this._positionWindow,this)).on("unload beforeunload",r.utils.fnBind(this._onClose,this)),t=setInterval(r.utils.fnBind((function(){this._popoutWindow.__glInstance&&this._popoutWindow.__glInstance.isInitialised&&(this._onInitialised(),clearInterval(t))}),this),10);else if(!0===this._layoutManager.config.settings.blockedPopoutsThrowError){var o=new Error("Popout blocked");throw o.type="popoutBlocked",o}},_serializeWindowOptions:function(t){var e,n=[];for(e in t)n.push(e+"="+t[e]);return n.join(",")},_createUrl:function(){var t,e={content:this._config},n="gl-window-config-"+r.utils.getUniqueId();e=(new r.utils.ConfigMinifier).minifyConfig(e);try{localStorage.setItem(n,JSON.stringify(e))}catch(t){throw new Error("Error while writing to localStorage "+t.toString())}return 1===(t=document.location.href.split("?")).length?t[0]+"?gl-window="+n:document.location.href+"&gl-window="+n},_positionWindow:function(){this._popoutWindow.moveTo(this._dimensions.left,this._dimensions.top),this._popoutWindow.focus()},_onInitialised:function(){this.isInitialised=!0,this.getGlInstance().on("popIn",this.popIn,this),this.emit("initialised")},_onClose:function(){setTimeout(r.utils.fnBind(this.emit,this,["closed"]),50)}}),r.controls.DragProxy=function(t,e,n,i,o,a){r.utils.EventEmitter.call(this),this._dragListener=n,this._layoutManager=i,this._contentItem=o,this._originalParent=a,this._area=null,this._lastValidArea=null,this._dragListener.on("drag",this._onDrag,this),this._dragListener.on("dragStop",this._onDrop,this),this.element=s(r.controls.DragProxy._template),a&&a._side&&(this._sided=a._sided,this.element.addClass("lm_"+a._side),["right","bottom"].indexOf(a._side)>=0&&this.element.find(".lm_content").after(this.element.find(".lm_header"))),this.element.css({left:t,top:e}),this.element.find(".lm_tab").attr("title",r.utils.stripTags(this._contentItem.config.title)),this.element.find(".lm_title").html(this._contentItem.config.title),this.childElementContainer=this.element.find(".lm_content"),this.childElementContainer.append(o.element),this._updateTree(),this._layoutManager._$calculateItemAreas(),this._setDimensions(),s(document.body).append(this.element);var l=this._layoutManager.container.offset();this._minX=l.left,this._minY=l.top,this._maxX=this._layoutManager.container.width()+this._minX,this._maxY=this._layoutManager.container.height()+this._minY,this._width=this.element.width(),this._height=this.element.height(),this._setDropPosition(t,e)},r.controls.DragProxy._template='
        ',r.utils.copy(r.controls.DragProxy.prototype,{_onDrag:function(t,e,n){var i=(n=n.originalEvent&&n.originalEvent.touches?n.originalEvent.touches[0]:n).pageX,o=n.pageY;(i>this._minX&&ithis._minY&&o
        ',r.utils.copy(r.controls.DropTargetIndicator.prototype,{destroy:function(){this.element.remove()},highlight:function(t,e,n,i){this.highlightArea({x1:t,y1:e,x2:n,y2:i})},highlightArea:function(t){this.element.css({left:t.x1,top:t.y1,width:t.x2-t.x1,height:t.y2-t.y1}).show()},hide:function(){this.element.hide()}}),r.controls.Header=function(t,e){r.utils.EventEmitter.call(this),this.layoutManager=t,this.element=s(r.controls.Header._template),!0===this.layoutManager.config.settings.selectionEnabled&&(this.element.addClass("lm_selectable"),this.element.on("click touchstart",r.utils.fnBind(this._onHeaderClick,this))),this.tabsContainer=this.element.find(".lm_tabs"),this.tabDropdownContainer=this.element.find(".lm_tabdropdown_list"),this.tabDropdownContainer.hide(),this.controlsContainer=this.element.find(".lm_controls"),this.parent=e,this.parent.on("resize",this._updateTabSizes,this),this.tabs=[],this.activeContentItem=null,this.closeButton=null,this.tabDropdownButton=null,this.hideAdditionalTabsDropdown=r.utils.fnBind(this._hideAdditionalTabsDropdown,this),s(document).mouseup(this.hideAdditionalTabsDropdown),this._lastVisibleTabIndex=-1,this._tabControlOffset=this.layoutManager.config.settings.tabControlOffset,this._createControls()},r.controls.Header._template=['
        ','
          ','
            ','
              ',"
              "].join(""),r.utils.copy(r.controls.Header.prototype,{createTab:function(t,e){var n,i;for(i=0;i0?this.tabs[e-1].element.after(n.element):this.tabs[0].element.before(n.element),this.tabs.splice(e,0,n),this._updateTabSizes()},removeTab:function(t){for(var e=0;ethis._lastVisibleTabIndex){for(o=this.tabs[this.parent.config.activeItemIndex],n=this.parent.config.activeItemIndex;n>0;n--)this.tabs[n]=this.tabs[n-1];this.tabs[0]=o,this.parent.config.activeItemIndex=0}this._updateTabSizes(),this.parent.emitBubblingEvent("stateChanged")},position:function(t){var e=this.parent._header.show;return e&&!this.parent._side&&(e="top"),void 0!==t&&this.parent._header.show!=t&&(this.parent._header.show=t,this.parent._setupHeaderPosition()),e},_$setClosable:function(t){return!(!this.closeButton||!this._isClosable()||(this.closeButton.element[t?"show":"hide"](),0))},_$destroy:function(){this.emit("destroy",this);for(var t=0;tr){if(u)i===d&&(n.css({"z-index":"auto","margin-left":""}),this.tabsContainer.append(n));else if((c=d>0&&d<=i?(l-r)/(i-1):(l-r)/i)'),this._header.on("destroy",this._$destroy,this),this._action=i,this.element.on("click touchstart",this._action),this._header.controlsContainer.append(this.element)},r.utils.copy(r.controls.HeaderButton.prototype,{_$destroy:function(){this.element.off(),this.element.remove()}}),r.controls.Splitter=function(t,e,n){this._isVertical=t,this._size=e,this._grabSize=n'),e=s('
              ');e.append(t);var n=this._grabSize-this._size,i=n/2;return this._isVertical?(t.css("top",-i),t.css("height",this._size+n),e.addClass("lm_vertical"),e.height(this._size)):(t.css("left",-i),t.css("width",this._size+n),e.addClass("lm_horizontal"),e.width(this._size)),e}}),r.controls.Tab=function(t,e){this.header=t,this.contentItem=e,this.element=s(r.controls.Tab._template),this.titleElement=this.element.find(".lm_title"),this.closeElement=this.element.find(".lm_close_tab"),this.closeElement[e.config.isClosable?"show":"hide"](),this.isActive=!1,this.setTitle(e.config.title),this.contentItem.on("titleChanged",this.setTitle,this),this._layoutManager=this.contentItem.layoutManager,!0===this._layoutManager.config.settings.reorderEnabled&&!0===e.config.reorderEnabled&&(this._dragListener=new r.utils.DragListener(this.element),this._dragListener.on("dragStart",this._onDragStart,this),this.contentItem.on("destroy",this._dragListener.destroy,this._dragListener)),this._onTabClickFn=r.utils.fnBind(this._onTabClick,this),this._onCloseClickFn=r.utils.fnBind(this._onCloseClick,this),this.element.on("mousedown touchstart",this._onTabClickFn),this.contentItem.config.isClosable?(this.closeElement.on("click touchstart",this._onCloseClickFn),this.closeElement.on("mousedown",this._onCloseMousedown)):this.closeElement.remove(),this.contentItem.tab=this,this.contentItem.emit("tab",this),this.contentItem.layoutManager.emit("tabCreated",this),this.contentItem.isComponent&&(this.contentItem.container.tab=this,this.contentItem.container.emit("tab",this))},r.controls.Tab._template='
            • ',r.utils.copy(r.controls.Tab.prototype,{setTitle:function(t){this.element.attr("title",r.utils.stripTags(t)),this.titleElement.html(t)},setActive:function(t){t!==this.isActive&&(this.isActive=t,t?this.element.addClass("lm_active"):this.element.removeClass("lm_active"))},_$destroy:function(){this.element.off("mousedown touchstart",this._onTabClickFn),this.closeElement.off("click touchstart",this._onCloseClickFn),this._dragListener&&(this.contentItem.off("destroy",this._dragListener.destroy,this._dragListener),this._dragListener.off("dragStart",this._onDragStart),this._dragListener=null),this.element.remove()},_onDragStart:function(t,e){!0===this.contentItem.parent.isMaximised&&this.contentItem.parent.toggleMaximise(),new r.controls.DragProxy(t,e,this._dragListener,this._layoutManager,this.contentItem,this.header.parent)},_onTabClick:function(t){if(0===t.button||"touchstart"===t.type){var e=this.header.parent.getActiveContentItem();this.contentItem!==e&&this.header.parent.setActiveContentItem(this.contentItem)}else 1===t.button&&this.contentItem.config.isClosable&&this._onCloseClick(t)},_onCloseClick:function(t){t.stopPropagation(),this.header.parent.removeChild(this.contentItem)},_onCloseMousedown:function(t){t.stopPropagation()}}),r.controls.TransitionIndicator=function(){this._element=s('
              '),s(document.body).append(this._element),this._toElement=null,this._fromDimensions=null,this._totalAnimationDuration=200,this._animationStartTime=null},r.utils.copy(r.controls.TransitionIndicator.prototype,{destroy:function(){this._element.remove()},transitionElements:function(t,e){},_nextAnimationFrame:function(){var t,e=this._measure(this._toElement),n=(r.utils.now()-this._animationStartTime)/this._totalAnimationDuration,i={};if(n>=1)this._element.hide();else{for(t in e.opacity=0,this._fromDimensions)i[t]=this._fromDimensions[t]+(e[t]-this._fromDimensions[t])*n;this._element.css(i),r.utils.animFrame(r.utils.fnBind(this._nextAnimationFrame,this))}},_measure:function(t){var e=t.offset();return{left:e.left,top:e.top,width:t.outerWidth(),height:t.outerHeight()}}}),r.errors.ConfigurationError=function(t,e){Error.call(this),this.name="Configuration Error",this.message=t,this.node=e},r.errors.ConfigurationError.prototype=new Error,r.items.AbstractContentItem=function(t,e,n){r.utils.EventEmitter.call(this),this.config=this._extendItemNode(e),this.type=e.type,this.contentItems=[],this.parent=n,this.isInitialised=!1,this.isMaximised=!1,this.isRoot=!1,this.isRow=!1,this.isColumn=!1,this.isStack=!1,this.isComponent=!1,this.layoutManager=t,this._pendingEventPropagations={},this._throttledEvents=["stateChanged"],this.on(r.utils.EventEmitter.ALL_EVENT,this._propagateEvent,this),e.content&&this._createContentItems(e)},r.utils.copy(r.items.AbstractContentItem.prototype,{setSize:function(){throw new Error("Abstract Method")},callDownwards:function(t,e,n,i){var o;for(!0!==n&&!0!==i&&this[t].apply(this,e||[]),o=0;o0?this.callDownwards("setSize"):this instanceof r.items.Root||!0!==this.config.isClosable||this.parent.removeChild(this)},addChild:function(t,e){void 0===e&&(e=this.contentItems.length),this.contentItems.splice(e,0,t),void 0===this.config.content&&(this.config.content=[]),this.config.content.splice(e,0,t.config),t.parent=this,!0===t.parent.isInitialised&&!1===t.isInitialised&&t._$init()},replaceChild:function(t,e,n){e=this.layoutManager._$normalizeContentItem(e);var i=r.utils.indexOf(t,this.contentItems),o=t.element[0].parentNode;if(-1===i)throw new Error("Can't replace child. oldChild is not child of this");o.replaceChild(e.element[0],t.element[0]),!0===n&&(t.parent=null,t._$destroy()),this.contentItems[i]=e,e.parent=this,this.isStack&&(this.header.tabs[i].contentItem=e),!0===e.parent.isInitialised&&!1===e.isInitialised&&e._$init(),this.callDownwards("setSize")},remove:function(){this.parent.removeChild(this)},popout:function(){var t=this.layoutManager.createPopout(this);return this.emitBubblingEvent("stateChanged"),t},toggleMaximise:function(t){t&&t.preventDefault(),!0===this.isMaximised?this.layoutManager._$minimiseItem(this):this.layoutManager._$maximiseItem(this),this.isMaximised=!this.isMaximised,this.emitBubblingEvent("stateChanged")},select:function(){this.layoutManager.selectedItem!==this&&(this.layoutManager.selectItem(this,!0),this.element.addClass("lm_selected"))},deselect:function(){this.layoutManager.selectedItem===this&&(this.layoutManager.selectedItem=null,this.element.removeClass("lm_selected"))},setTitle:function(t){this.config.title=t,this.emit("titleChanged",t),this.emit("stateChanged")},hasId:function(t){return!!this.config.id&&("string"==typeof this.config.id?this.config.id===t:this.config.id instanceof Array?-1!==r.utils.indexOf(t,this.config.id):void 0)},addId:function(t){this.hasId(t)||(this.config.id?"string"==typeof this.config.id?this.config.id=[this.config.id,t]:this.config.id instanceof Array&&this.config.id.push(t):this.config.id=t)},removeId:function(t){if(!this.hasId(t))throw new Error("Id not found");if("string"==typeof this.config.id)delete this.config.id;else if(this.config.id instanceof Array){var e=r.utils.indexOf(t,this.config.id);this.config.id.splice(e,1)}},getItemsByFilter:function(t){var e=[],n=function(i){for(var o=0;o'),this.childElementContainer=this.element,this._containerElement=n,this._containerElement.append(this.element)},r.utils.extend(r.items.Root,r.items.AbstractContentItem),r.utils.copy(r.items.Root.prototype,{addChild:function(t){if(this.contentItems.length>0)throw new Error("Root node can only have a single child");t=this.layoutManager._$normalizeContentItem(t,this),this.childElementContainer.append(t.element),r.items.AbstractContentItem.prototype.addChild.call(this,t),this.callDownwards("setSize"),this.emitBubblingEvent("stateChanged")},setSize:function(t,e){t=void 0===t?this._containerElement.width():t,e=void 0===e?this._containerElement.height():e,this.element.width(t),this.element.height(e),this.contentItems[0]&&(this.contentItems[0].element.width(t),this.contentItems[0].element.height(e))},_$highlightDropZone:function(t,e,n){this.layoutManager.tabDropPlaceholder.remove(),r.items.AbstractContentItem.prototype._$highlightDropZone.apply(this,arguments)},_$onDrop:function(t,e){var n;if(t.isComponent&&((n=this.layoutManager.createContentItem({type:"stack",header:t.config.header||{}},this))._$init(),n.addChild(t),t=n),this.contentItems.length){var i="x"==e.side[0]?"row":"column",o="x"==e.side[0]?"width":"height",s="2"==e.side[1],a=this.contentItems[0];if(!a instanceof r.items.RowOrColumn||a.type!=i){var l=this.layoutManager.createContentItem({type:i},this);this.replaceChild(a,l),l.addChild(t,s?0:void 0,!0),l.addChild(a,s?void 0:0,!0),a.config[o]=50,t.config[o]=50,l.callDownwards("setSize")}else{var c=a.contentItems[s?0:a.contentItems.length-1];a.addChild(t,s?0:void 0,!0),c.config[o]*=.5,t.config[o]=c.config[o],a.callDownwards("setSize")}}else this.addChild(t)}}),r.items.RowOrColumn=function(t,e,n,i){r.items.AbstractContentItem.call(this,e,n,i),this.isRow=!t,this.isColumn=t,this.element=s('
              '),this.childElementContainer=this.element,this._splitterSize=e.config.dimensions.borderWidth,this._splitterGrabSize=e.config.dimensions.borderGrabWidth,this._isColumn=t,this._dimension=t?"height":"width",this._splitter=[],this._splitterPosition=null,this._splitterMinPosition=null,this._splitterMaxPosition=null},r.utils.extend(r.items.RowOrColumn,r.items.AbstractContentItem),r.utils.copy(r.items.RowOrColumn.prototype,{addChild:function(t,e,n){var i,o,s,a;if(t=this.layoutManager._$normalizeContentItem(t,this),void 0===e&&(e=this.contentItems.length),this.contentItems.length>0?(a=this._createSplitter(Math.max(0,e-1)).element,e>0?(this.contentItems[e-1].element.after(a),a.after(t.element)):(this.contentItems[0].element.before(a),a.before(t.element))):this.childElementContainer.append(t.element),r.items.AbstractContentItem.prototype.addChild.call(this,t,e),i=1/this.contentItems.length*100,!0!==n){for(s=0;s0&&(this._calculateRelativeSizes(),this._setAbsoluteSizes()),this.emitBubblingEvent("stateChanged"),this.emit("resize")},_$init:function(){var t;if(!0!==this.isInitialised)for(r.items.AbstractContentItem.prototype._$init.call(this),t=0;t0&&e.itemSizes[t]++,this._isColumn?(this.contentItems[t].element.width(e.totalWidth),this.contentItems[t].element.height(e.itemSizes[t])):(this.contentItems[t].element.width(e.itemSizes[t]),this.contentItems[t].element.height(e.totalHeight))},_calculateAbsoluteSizes:function(){var t,e,n=(this.contentItems.length-1)*this._splitterSize,i=this.element.width(),o=this.element.height(),s=0,r=[];for(this._isColumn?o-=n:i-=n,t=0;t0){for(t=0;t100)for(t=0;tr)){for(e=a/r,l=a,u=0;uthis._splitterMinPosition&&i'),this._activeContentItem=null;var i=t.config;this._header={show:!0===i.settings.hasHeaders&&!1!==e.hasHeaders,popout:i.settings.showPopoutIcon&&i.labels.popout,maximise:i.settings.showMaximiseIcon&&i.labels.maximise,close:i.settings.showCloseIcon&&i.labels.close,minimise:i.labels.minimise},i.header&&r.utils.copy(this._header,i.header),e.header&&r.utils.copy(this._header,e.header),e.content&&e.content[0]&&e.content[0].header&&r.utils.copy(this._header,e.content[0].header),this._dropZones={},this._dropSegment=null,this._contentAreaDimensions=null,this._dropIndex=null,this.isStack=!0,this.childElementContainer=s('
              '),this.header=new r.controls.Header(t,this),this.element.append(this.header.element),this.element.append(this.childElementContainer),this._setupHeaderPosition(),this._$validateClosability()},r.utils.extend(r.items.Stack,r.items.AbstractContentItem),r.utils.copy(r.items.Stack.prototype,{setSize:function(){var t,e=this._header.show?this.layoutManager.config.dimensions.headerHeight:0,n=this.element.width()-(this._sided?e:0),i=this.element.height()-(this._sided?0:e);for(this.childElementContainer.width(n),this.childElementContainer.height(i),t=0;t0){if(!(e=this.contentItems[this.config.activeItemIndex||0]))throw new Error("Configured activeItemIndex out of bounds");this.setActiveContentItem(e)}}},setActiveContentItem:function(t){if(-1===r.utils.indexOf(t,this.contentItems))throw new Error("contentItem is not a child of this stack");null!==this._activeContentItem&&this._activeContentItem._$hide(),this._activeContentItem=t,this.header.setActiveContentItem(t),t._$show(),this.emit("activeContentItemChanged",t),this.layoutManager.emit("activeContentItemChanged",t),this.emitBubblingEvent("stateChanged")},getActiveContentItem:function(){return this.header.activeContentItem},addChild:function(t,e){t=this.layoutManager._$normalizeContentItem(t,this),r.items.AbstractContentItem.prototype.addChild.call(this,t,e),this.childElementContainer.append(t.element),this.header.createTab(t,e),this.setActiveContentItem(t),this.callDownwards("setSize"),this._$validateClosability(),this.emitBubblingEvent("stateChanged")},removeChild:function(t,e){var n=r.utils.indexOf(t,this.contentItems);r.items.AbstractContentItem.prototype.removeChild.call(this,t,e),this.header.removeTab(t),this.header.activeContentItem===t&&(this.contentItems.length>0?this.setActiveContentItem(this.contentItems[Math.max(n-1,0)]):this._activeContentItem=null),this._$validateClosability(),this.emitBubblingEvent("stateChanged")},_$validateClosability:function(){var t,e,n;for(t=this.header._isClosable(),n=0,e=this.contentItems.length;nt&&i.y1e)return void("header"===n?(this._dropSegment="header",this._highlightHeaderDropZone(this._sided?e:t)):(this._resetHeaderDropZone(),this._highlightBodyDropZone(n)))},_$getArea:function(){if(!1===this.element.is(":visible"))return null;var t=r.items.AbstractContentItem.prototype._$getArea,e=t.call(this,this.header.element),n=t.call(this,this.childElementContainer),i=n.x2-n.x1,o=n.y2-n.y1;return this._contentAreaDimensions={header:{hoverArea:{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2},highlightArea:{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2}}},this._activeContentItem&&!1===this._activeContentItem.isComponent?e:0===this.contentItems.length?(this._contentAreaDimensions.body={hoverArea:{x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2},highlightArea:{x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2}},t.call(this,this.element)):(this._contentAreaDimensions.left={hoverArea:{x1:n.x1,y1:n.y1,x2:n.x1+.25*i,y2:n.y2},highlightArea:{x1:n.x1,y1:n.y1,x2:n.x1+.5*i,y2:n.y2}},this._contentAreaDimensions.top={hoverArea:{x1:n.x1+.25*i,y1:n.y1,x2:n.x1+.75*i,y2:n.y1+.5*o},highlightArea:{x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y1+.5*o}},this._contentAreaDimensions.right={hoverArea:{x1:n.x1+.75*i,y1:n.y1,x2:n.x2,y2:n.y2},highlightArea:{x1:n.x1+.5*i,y1:n.y1,x2:n.x2,y2:n.y2}},this._contentAreaDimensions.bottom={hoverArea:{x1:n.x1+.25*i,y1:n.y1+.5*o,x2:n.x1+.75*i,y2:n.y2},highlightArea:{x1:n.x1,y1:n.y1+.5*o,x2:n.x2,y2:n.y2}},t.call(this,this.element))},_highlightHeaderDropZone:function(t){var e,n,i,o,s,r,a,l,c=this.header.tabs.length,h=!1;if(0===c)return a=this.header.element.offset(),void this.layoutManager.dropTargetIndicator.highlightArea({x1:a.left,x2:a.left+100,y1:a.top+this.header.element.height()-20,y2:a.top+this.header.element.height()});for(e=0;eo&&t=0&&this._header.show;if(this.header.element.toggle(!!this._header.show),this._side=t,this._sided=["right","left"].indexOf(this._side)>=0,this.element.removeClass("lm_left lm_right lm_bottom"),this._side&&this.element.addClass("lm_"+this._side),this.element.find(".lm_header").length&&this.childElementContainer){var e=["right","bottom"].indexOf(this._side)>=0?"before":"after";this.header.element[e](this.childElementContainer),this.callDownwards("setSize")}},_highlightBodyDropZone:function(t){var e=this._contentAreaDimensions[t].highlightArea;this.layoutManager.dropTargetIndicator.highlightArea(e),this._dropSegment=t}}),r.utils.BubblingEvent=function(t,e){this.name=t,this.origin=e,this.isPropagationStopped=!1},r.utils.BubblingEvent.prototype.stopPropagation=function(){this.isPropagationStopped=!0},r.utils.ConfigMinifier=function(){if(this._keys=["settings","hasHeaders","constrainDragToContainer","selectionEnabled","dimensions","borderWidth","minItemHeight","minItemWidth","headerHeight","dragProxyWidth","dragProxyHeight","labels","close","maximise","minimise","popout","content","componentName","componentState","id","width","type","height","isClosable","title","popoutWholeStack","openPopouts","parentId","activeItemIndex","reorderEnabled","borderGrabWidth"],this._keys.length>36)throw new Error("Too many keys in config minifier map");this._values=[!0,!1,"row","column","stack","component","close","maximise","minimise","open in new window"]},r.utils.copy(r.utils.ConfigMinifier.prototype,{minifyConfig:function(t){var e={};return this._nextLevel(t,e,"_min"),e},unminifyConfig:function(t){var e={};return this._nextLevel(t,e,"_max"),e},_nextLevel:function(t,e,n){var i,o;for(i in t)t instanceof Array&&(i=parseInt(i,10)),t.hasOwnProperty(i)&&(o=this[n](i,this._keys),"object"==typeof t[i]?(e[o]=t[i]instanceof Array?[]:{},this._nextLevel(t[i],e[o],n)):e[o]=this[n](t[i],this._values))},_min:function(t,e){if("string"==typeof t&&1===t.length)return"___"+t;var n=r.utils.indexOf(t,e);return-1===n?t:n.toString(36)},_max:function(t,e){return"string"==typeof t&&1===t.length?e[parseInt(t,36)]:"string"==typeof t&&"___"===t.substr(0,3)?t[3]:t}}),r.utils.EventHub=function(t){r.utils.EventEmitter.call(this),this._layoutManager=t,this._dontPropagateToParent=null,this._childEventSource=null,this.on(r.utils.EventEmitter.ALL_EVENT,r.utils.fnBind(this._onEventFromThis,this)),this._boundOnEventFromChild=r.utils.fnBind(this._onEventFromChild,this),s(window).on("gl_child_event",this._boundOnEventFromChild)},r.utils.EventHub.prototype._onEventFromThis=function(){var t=Array.prototype.slice.call(arguments);this._layoutManager.isSubWindow&&t[0]!==this._dontPropagateToParent&&this._propagateToParent(t),this._propagateToChildren(t),this._dontPropagateToParent=null,this._childEventSource=null},r.utils.EventHub.prototype._$onEventFromParent=function(t){this._dontPropagateToParent=t[0],this.emit.apply(this,t)},r.utils.EventHub.prototype._onEventFromChild=function(t){this._childEventSource=t.originalEvent.__gl,this.emit.apply(this,t.originalEvent.__glArgs)},r.utils.EventHub.prototype._propagateToParent=function(t){var e;document.createEvent?(e=window.opener.document.createEvent("HTMLEvents")).initEvent("gl_child_event",!0,!0):(e=window.opener.document.createEventObject()).eventType="gl_child_event",e.eventName="gl_child_event",e.__glArgs=t,e.__gl=this._layoutManager,document.createEvent?window.opener.dispatchEvent(e):window.opener.fireEvent("on"+e.eventType,e)},r.utils.EventHub.prototype._propagateToChildren=function(t){var e,n;for(n=0;n