dock-spawn-ts 2.518.0 → 2.520.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/es5/dock-spawn-ts.js +1 -1
- package/lib/js/DockManager.d.ts +1 -0
- package/lib/js/DockManager.js +27 -2
- package/lib/js/DockManager.js.map +1 -1
- package/lib/js/PanelContainer.js +6 -1
- package/lib/js/PanelContainer.js.map +1 -1
- package/package.json +1 -1
- package/src/DockManager.ts +32 -3
- package/src/PanelContainer.ts +6 -2
package/lib/es5/dock-spawn-ts.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function _typeof(obj){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},_typeof(obj)}function _get(){if(typeof Reflect!=="undefined"&&Reflect.get){_get=Reflect.get.bind()}else{_get=function _get(target,property,receiver){var base=_superPropBase(target,property);if(!base)return;var desc=Object.getOwnPropertyDescriptor(base,property);if(desc.get){return desc.get.call(arguments.length<3?target:receiver)}return desc.value}}return _get.apply(this,arguments)}function _superPropBase(object,property){while(!Object.prototype.hasOwnProperty.call(object,property)){object=_getPrototypeOf(object);if(object===null)break}return object}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});Object.defineProperty(subClass,"prototype",{writable:false});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}else if(call!==void 0){throw new TypeError("Derived constructors may only return object or undefined")}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e36){throw _e36},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e37){didErr=true;err=_e37},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _regeneratorRuntime(){"use strict";_regeneratorRuntime=function _regeneratorRuntime(){return exports};var exports={},Op=Object.prototype,hasOwn=Op.hasOwnProperty,defineProperty=Object.defineProperty||function(obj,key,desc){obj[key]=desc.value},$Symbol="function"==typeof Symbol?Symbol:{},iteratorSymbol=$Symbol.iterator||"@@iterator",asyncIteratorSymbol=$Symbol.asyncIterator||"@@asyncIterator",toStringTagSymbol=$Symbol.toStringTag||"@@toStringTag";function define(obj,key,value){return Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}),obj[key]}try{define({},"")}catch(err){define=function define(obj,key,value){return obj[key]=value}}function wrap(innerFn,outerFn,self,tryLocsList){var protoGenerator=outerFn&&outerFn.prototype instanceof Generator?outerFn:Generator,generator=Object.create(protoGenerator.prototype),context=new Context(tryLocsList||[]);return defineProperty(generator,"_invoke",{value:makeInvokeMethod(innerFn,self,context)}),generator}function tryCatch(fn,obj,arg){try{return{type:"normal",arg:fn.call(obj,arg)}}catch(err){return{type:"throw",arg:err}}}exports.wrap=wrap;var ContinueSentinel={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var IteratorPrototype={};define(IteratorPrototype,iteratorSymbol,function(){return this});var getProto=Object.getPrototypeOf,NativeIteratorPrototype=getProto&&getProto(getProto(values([])));NativeIteratorPrototype&&NativeIteratorPrototype!==Op&&hasOwn.call(NativeIteratorPrototype,iteratorSymbol)&&(IteratorPrototype=NativeIteratorPrototype);var Gp=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(IteratorPrototype);function defineIteratorMethods(prototype){["next","throw","return"].forEach(function(method){define(prototype,method,function(arg){return this._invoke(method,arg)})})}function AsyncIterator(generator,PromiseImpl){function invoke(method,arg,resolve,reject){var record=tryCatch(generator[method],generator,arg);if("throw"!==record.type){var result=record.arg,value=result.value;return value&&"object"==_typeof(value)&&hasOwn.call(value,"__await")?PromiseImpl.resolve(value.__await).then(function(value){invoke("next",value,resolve,reject)},function(err){invoke("throw",err,resolve,reject)}):PromiseImpl.resolve(value).then(function(unwrapped){result.value=unwrapped,resolve(result)},function(error){return invoke("throw",error,resolve,reject)})}reject(record.arg)}var previousPromise;defineProperty(this,"_invoke",{value:function value(method,arg){function callInvokeWithMethodAndArg(){return new PromiseImpl(function(resolve,reject){invoke(method,arg,resolve,reject)})}return previousPromise=previousPromise?previousPromise.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}})}function makeInvokeMethod(innerFn,self,context){var state="suspendedStart";return function(method,arg){if("executing"===state)throw new Error("Generator is already running");if("completed"===state){if("throw"===method)throw arg;return doneResult()}for(context.method=method,context.arg=arg;;){var delegate=context.delegate;if(delegate){var delegateResult=maybeInvokeDelegate(delegate,context);if(delegateResult){if(delegateResult===ContinueSentinel)continue;return delegateResult}}if("next"===context.method)context.sent=context._sent=context.arg;else if("throw"===context.method){if("suspendedStart"===state)throw state="completed",context.arg;context.dispatchException(context.arg)}else"return"===context.method&&context.abrupt("return",context.arg);state="executing";var record=tryCatch(innerFn,self,context);if("normal"===record.type){if(state=context.done?"completed":"suspendedYield",record.arg===ContinueSentinel)continue;return{value:record.arg,done:context.done}}"throw"===record.type&&(state="completed",context.method="throw",context.arg=record.arg)}}}function maybeInvokeDelegate(delegate,context){var methodName=context.method,method=delegate.iterator[methodName];if(undefined===method)return context.delegate=null,"throw"===methodName&&delegate.iterator["return"]&&(context.method="return",context.arg=undefined,maybeInvokeDelegate(delegate,context),"throw"===context.method)||"return"!==methodName&&(context.method="throw",context.arg=new TypeError("The iterator does not provide a '"+methodName+"' method")),ContinueSentinel;var record=tryCatch(method,delegate.iterator,context.arg);if("throw"===record.type)return context.method="throw",context.arg=record.arg,context.delegate=null,ContinueSentinel;var info=record.arg;return info?info.done?(context[delegate.resultName]=info.value,context.next=delegate.nextLoc,"return"!==context.method&&(context.method="next",context.arg=undefined),context.delegate=null,ContinueSentinel):info:(context.method="throw",context.arg=new TypeError("iterator result is not an object"),context.delegate=null,ContinueSentinel)}function pushTryEntry(locs){var entry={tryLoc:locs[0]};1 in locs&&(entry.catchLoc=locs[1]),2 in locs&&(entry.finallyLoc=locs[2],entry.afterLoc=locs[3]),this.tryEntries.push(entry)}function resetTryEntry(entry){var record=entry.completion||{};record.type="normal",delete record.arg,entry.completion=record}function Context(tryLocsList){this.tryEntries=[{tryLoc:"root"}],tryLocsList.forEach(pushTryEntry,this),this.reset(!0)}function values(iterable){if(iterable){var iteratorMethod=iterable[iteratorSymbol];if(iteratorMethod)return iteratorMethod.call(iterable);if("function"==typeof iterable.next)return iterable;if(!isNaN(iterable.length)){var i=-1,next=function next(){for(;++i<iterable.length;){if(hasOwn.call(iterable,i))return next.value=iterable[i],next.done=!1,next}return next.value=undefined,next.done=!0,next};return next.next=next}}return{next:doneResult}}function doneResult(){return{value:undefined,done:!0}}return GeneratorFunction.prototype=GeneratorFunctionPrototype,defineProperty(Gp,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),defineProperty(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,toStringTagSymbol,"GeneratorFunction"),exports.isGeneratorFunction=function(genFun){var ctor="function"==typeof genFun&&genFun.constructor;return!!ctor&&(ctor===GeneratorFunction||"GeneratorFunction"===(ctor.displayName||ctor.name))},exports.mark=function(genFun){return Object.setPrototypeOf?Object.setPrototypeOf(genFun,GeneratorFunctionPrototype):(genFun.__proto__=GeneratorFunctionPrototype,define(genFun,toStringTagSymbol,"GeneratorFunction")),genFun.prototype=Object.create(Gp),genFun},exports.awrap=function(arg){return{__await:arg}},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,asyncIteratorSymbol,function(){return this}),exports.AsyncIterator=AsyncIterator,exports.async=function(innerFn,outerFn,self,tryLocsList,PromiseImpl){void 0===PromiseImpl&&(PromiseImpl=Promise);var iter=new AsyncIterator(wrap(innerFn,outerFn,self,tryLocsList),PromiseImpl);return exports.isGeneratorFunction(outerFn)?iter:iter.next().then(function(result){return result.done?result.value:iter.next()})},defineIteratorMethods(Gp),define(Gp,toStringTagSymbol,"Generator"),define(Gp,iteratorSymbol,function(){return this}),define(Gp,"toString",function(){return"[object Generator]"}),exports.keys=function(val){var object=Object(val),keys=[];for(var key in object){keys.push(key)}return keys.reverse(),function next(){for(;keys.length;){var key=keys.pop();if(key in object)return next.value=key,next.done=!1,next}return next.done=!0,next}},exports.values=values,Context.prototype={constructor:Context,reset:function reset(skipTempReset){if(this.prev=0,this.next=0,this.sent=this._sent=undefined,this.done=!1,this.delegate=null,this.method="next",this.arg=undefined,this.tryEntries.forEach(resetTryEntry),!skipTempReset)for(var name in this){"t"===name.charAt(0)&&hasOwn.call(this,name)&&!isNaN(+name.slice(1))&&(this[name]=undefined)}},stop:function stop(){this.done=!0;var rootRecord=this.tryEntries[0].completion;if("throw"===rootRecord.type)throw rootRecord.arg;return this.rval},dispatchException:function dispatchException(exception){if(this.done)throw exception;var context=this;function handle(loc,caught){return record.type="throw",record.arg=exception,context.next=loc,caught&&(context.method="next",context.arg=undefined),!!caught}for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i],record=entry.completion;if("root"===entry.tryLoc)return handle("end");if(entry.tryLoc<=this.prev){var hasCatch=hasOwn.call(entry,"catchLoc"),hasFinally=hasOwn.call(entry,"finallyLoc");if(hasCatch&&hasFinally){if(this.prev<entry.catchLoc)return handle(entry.catchLoc,!0);if(this.prev<entry.finallyLoc)return handle(entry.finallyLoc)}else if(hasCatch){if(this.prev<entry.catchLoc)return handle(entry.catchLoc,!0)}else{if(!hasFinally)throw new Error("try statement without catch or finally");if(this.prev<entry.finallyLoc)return handle(entry.finallyLoc)}}}},abrupt:function abrupt(type,arg){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.tryLoc<=this.prev&&hasOwn.call(entry,"finallyLoc")&&this.prev<entry.finallyLoc){var finallyEntry=entry;break}}finallyEntry&&("break"===type||"continue"===type)&&finallyEntry.tryLoc<=arg&&arg<=finallyEntry.finallyLoc&&(finallyEntry=null);var record=finallyEntry?finallyEntry.completion:{};return record.type=type,record.arg=arg,finallyEntry?(this.method="next",this.next=finallyEntry.finallyLoc,ContinueSentinel):this.complete(record)},complete:function complete(record,afterLoc){if("throw"===record.type)throw record.arg;return"break"===record.type||"continue"===record.type?this.next=record.arg:"return"===record.type?(this.rval=this.arg=record.arg,this.method="return",this.next="end"):"normal"===record.type&&afterLoc&&(this.next=afterLoc),ContinueSentinel},finish:function finish(finallyLoc){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.finallyLoc===finallyLoc)return this.complete(entry.completion,entry.afterLoc),resetTryEntry(entry),ContinueSentinel}},catch:function _catch(tryLoc){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.tryLoc===tryLoc){var record=entry.completion;if("throw"===record.type){var thrown=record.arg;resetTryEntry(entry)}return thrown}}throw new Error("illegal catch attempt")},delegateYield:function delegateYield(iterable,resultName,nextLoc){return this.delegate={iterator:values(iterable),resultName:resultName,nextLoc:nextLoc},"next"===this.method&&(this.arg=undefined),ContinueSentinel}},exports}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,_toPropertyKey(descriptor.key),descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);Object.defineProperty(Constructor,"prototype",{writable:false});return Constructor}function _toPropertyKey(arg){var key=_toPrimitive(arg,"string");return _typeof(key)==="symbol"?key:String(key)}function _toPrimitive(input,hint){if(_typeof(input)!=="object"||input===null)return input;var prim=input[Symbol.toPrimitive];if(prim!==undefined){var res=prim.call(input,hint||"default");if(_typeof(res)!=="object")return res;throw new TypeError("@@toPrimitive must return a primitive value.")}return(hint==="string"?String:Number)(input)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}var DockSpawnTS;(function(){"use strict";var e,t,n,i,s={d:function d(e,t){for(var n in t){s.o(t,n)&&!s.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}},o:function o(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function r(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},o={};s.r(o),s.d(o,{ContainerType:function ContainerType(){return e},Dialog:function Dialog(){return g},DockConfig:function DockConfig(){return p},DockGraphSerializer:function DockGraphSerializer(){return v},DockLayoutEngine:function DockLayoutEngine(){return x},DockManager:function DockManager(){return S},DockManagerContext:function DockManagerContext(){return z},DockModel:function DockModel(){return P},DockNode:function DockNode(){return f},DockWheel:function DockWheel(){return T},DockWheelItem:function DockWheelItem(){return _},DocumentManagerContainer:function DocumentManagerContainer(){return B},DocumentTabPage:function DocumentTabPage(){return L},DraggableContainer:function DraggableContainer(){return c},EventHandler:function EventHandler(){return h},FillDockContainer:function FillDockContainer(){return D},HorizontalDockContainer:function HorizontalDockContainer(){return k},PanelContainer:function PanelContainer(){return d},Point:function Point(){return l},ResizableContainer:function ResizableContainer(){return m},ResizeHandle:function ResizeHandle(){return u},SplitterBar:function SplitterBar(){return C},SplitterDockContainer:function SplitterDockContainer(){return y},SplitterPanel:function SplitterPanel(){return w},TabHandle:function TabHandle(){return b},TabHost:function TabHost(){return H},TabPage:function TabPage(){return E},UndockInitiator:function UndockInitiator(){return r},Utils:function Utils(){return a},VerticalDockContainer:function VerticalDockContainer(){return M}}),function(e){e.horizontal="horizontal",e.vertical="vertical",e.fill="fill",e.panel="panel"}(e||(e={}));var l=_createClass(function l(e,t){_classCallCheck(this,l);this.x=e,this.y=t});var a=function(){function a(){_classCallCheck(this,a)}_createClass(a,null,[{key:"getPixels",value:function getPixels(e){return null===e?0:parseInt(e.replace("px",""))}},{key:"disableGlobalTextSelection",value:function disableGlobalTextSelection(e){e.classList.add("disable-selection")}},{key:"enableGlobalTextSelection",value:function enableGlobalTextSelection(e){e.classList.remove("disable-selection")}},{key:"isPointInsideNode",value:function isPointInsideNode(e,t,n){var i=n.container.containerElement.getBoundingClientRect();return e>=i.left&&e<=i.left+i.width&&t>=i.top&&t<=i.top+i.height}},{key:"getNextId",value:function getNextId(e){return e+a._counter++}},{key:"removeNode",value:function removeNode(e){return null!==e.parentNode&&(e.parentNode.removeChild(e),!0)}},{key:"orderByIndexes",value:function orderByIndexes(e,t){var n=[];for(var _i=0;_i<t.length;_i++){n.push(e[t[_i]])}return n}},{key:"arrayRemove",value:function arrayRemove(e,t){var n=e.indexOf(t);return-1!==n&&e.splice(n,1)}},{key:"arrayContains",value:function arrayContains(e,t){var n=e.length;for(;n--;){if(e[n]===t)return!0}return!1}},{key:"arrayEqual",value:function arrayEqual(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(e.length!=t.length)return!1;for(var _n=0;_n<e.length;++_n){if(e[_n]!==t[_n])return!1}return!0}}]);return a}();a._counter=0;var h=function(){function h(e,t,n,i){_classCallCheck(this,h);this.target=n,this.eventName=t,this.source=e,this.source.addEventListener(t,this.target,i)}_createClass(h,[{key:"cancel",value:function cancel(){this.source.removeEventListener(this.eventName,this.target)}}]);return h}();var r=function(){function r(e,t,n){_classCallCheck(this,r);n||(n=7),this.element=e,this._undockededCallback=t,this.thresholdPixels=n,this._enabled=!1}_createClass(r,[{key:"enabled",get:function get(){return this._enabled},set:function set(e){this._enabled=e,this._enabled?(this.mouseDownHandler&&(this.mouseDownHandler.cancel(),delete this.mouseDownHandler),this.touchDownHandler&&(this.touchDownHandler.cancel(),delete this.touchDownHandler),this.mouseDownHandler=new h(this.element,"mousedown",this.onMouseDown.bind(this)),this.touchDownHandler=new h(this.element,"touchstart",this.onMouseDown.bind(this),{passive:!1})):(this.mouseDownHandler&&(this.mouseDownHandler.cancel(),delete this.mouseDownHandler),this.touchDownHandler&&(this.touchDownHandler.cancel(),delete this.touchDownHandler),this.mouseUpHandler&&(this.mouseUpHandler.cancel(),delete this.mouseUpHandler),this.touchUpHandler&&(this.touchUpHandler.cancel(),delete this.touchUpHandler),this.mouseMoveHandler&&(this.mouseMoveHandler.cancel(),delete this.mouseMoveHandler),this.touchMoveHandler&&(this.touchMoveHandler.cancel(),delete this.touchMoveHandler))}},{key:"onMouseDown",value:function onMouseDown(e){if(e.preventDefault(),this.enabled){if(e.touches){if(e.touches.length>1)return;e=e.touches[0]}this.mouseUpHandler&&(this.mouseUpHandler.cancel(),delete this.mouseUpHandler),this.touchUpHandler&&(this.touchUpHandler.cancel(),delete this.touchUpHandler),this.mouseMoveHandler&&(this.mouseMoveHandler.cancel(),delete this.mouseMoveHandler),this.touchMoveHandler&&(this.touchMoveHandler.cancel(),delete this.touchMoveHandler),this.mouseUpHandler=new h(window,"mouseup",this.onMouseUp.bind(this)),this.touchUpHandler=new h(window,"touchend",this.onMouseUp.bind(this)),this.mouseMoveHandler=new h(window,"mousemove",this.onMouseMove.bind(this)),this.touchMoveHandler=new h(window,"touchmove",this.onMouseMove.bind(this)),this.dragStartPosition=new l(e.clientX,e.clientY)}}},{key:"onMouseUp",value:function onMouseUp(){this.mouseUpHandler&&(this.mouseUpHandler.cancel(),delete this.mouseUpHandler),this.touchUpHandler&&(this.touchUpHandler.cancel(),delete this.touchUpHandler),this.mouseMoveHandler&&(this.mouseMoveHandler.cancel(),delete this.mouseMoveHandler),this.touchMoveHandler&&(this.touchMoveHandler.cancel(),delete this.touchMoveHandler)}},{key:"onMouseMove",value:function onMouseMove(e){if(e.touches){if(e.touches.length>1)return;e=e.touches[0]}var t=new l(e.clientX,e.clientY).y-this.dragStartPosition.y;(t>this.thresholdPixels||t<-this.thresholdPixels)&&(this.enabled=!1,this._requestUndock(e))}},{key:"_requestUndock",value:function _requestUndock(e){var t=0,n=0,i=this.element;do{t+=i.offsetTop||0,n+=i.offsetLeft||0,i=i.offsetParent}while(i);var s=this.dragStartPosition.x-n,o=this.dragStartPosition.y-t,a=new l(s,o);this._undockededCallback(e,a)}}]);return r}();!function(e){e.document="document",e.panel="panel"}(t||(t={}));var d=function(){function d(n,i,s,o,l){var _this=this;_classCallCheck(this,d);s||(s="Panel"),o||(o=t.panel),this.panelType=o,n._dockSpawnPanelContainer=this,this.elementContent=n,n.style.position="absolute",n.style.width="100%",n.style.height="100%",n.style.top="0",n.style.bottom="0",n.hidden=!1,this.elementContentContainer=document.createElement("div"),this.elementContentContainer.className="panel-element-content-container",this.elementContentContainer.style.position="absolute",this.elementContentContainer._panel=this,this.elementContentContainer.addEventListener("pointerdown",function(){_this.isDialog?_this._floatingDialog.bringToFront():_this.tabPage&&_this.tabPage.setSelected(!0,!0),_this.dockManager.activePanel=_this}),this.elementContentContainer.appendChild(n),i.config.dialogRootElement.appendChild(this.elementContentContainer),this.dockManager=i,this.title=s,this.containerType=e.panel,this.icon=null,this.minimumAllowedChildNodes=0,this._floatingDialog=void 0,this.isDialog=!1,this._canUndock=i._undockEnabled,this.eventListeners=[],this._hideCloseButton=l,this._initialize()}_createClass(d,[{key:"canUndock",value:function canUndock(e){var _this2=this;this._canUndock=e,this.undockInitiator.enabled=e,this.eventListeners.forEach(function(t){t.onDockEnabled&&t.onDockEnabled({self:_this2,state:e})})}},{key:"addListener",value:function addListener(e){this.eventListeners.push(e)}},{key:"removeListener",value:function removeListener(e){this.eventListeners.splice(this.eventListeners.indexOf(e),1)}},{key:"floatingDialog",get:function get(){return this._floatingDialog},set:function set(e){this._floatingDialog=e;var t=void 0===this._floatingDialog;this.undockInitiator.enabled=t}},{key:"saveState",value:function saveState(e){e.element=this.elementContent.id,e.width=this.width,e.height=this.height,e.canUndock=this._canUndock,e.hideCloseButton=this._hideCloseButton,e.panelType=this.panelType}},{key:"loadState",value:function loadState(e){this.width=e.width,this.height=e.height,this.state={width:e.width,height:e.height},this.canUndock(e.canUndock),this.hideCloseButton(e.hideCloseButton),this.panelType=e.panelType}},{key:"setActiveChild",value:function setActiveChild(){}},{key:"containerElement",get:function get(){return this.elementPanel}},{key:"grayOut",value:function grayOut(e){var _this3=this;!e&&this._grayOut?(this.elementContentWrapper.removeChild(this._grayOut),this.elementButtonClose.style.display=this._hideCloseButton?"none":"block",this._grayOut=null,this._hideCloseButton||this.eventListeners.forEach(function(e){e.onHideCloseButton&&e.onHideCloseButton({self:_this3,state:_this3._hideCloseButton})})):e&&!this._grayOut&&(this._grayOut=document.createElement("div"),this._grayOut.className="panel-grayout",this.elementButtonClose.style.display="none",this.elementContentWrapper.appendChild(this._grayOut),this.eventListeners.forEach(function(e){e.onHideCloseButton&&e.onHideCloseButton({self:_this3,state:!0})}))}},{key:"_initialize",value:function _initialize(){this.name=a.getNextId("panel_"),this.elementPanel=document.createElement("div"),this.elementPanel.tabIndex=0,this.elementTitle=document.createElement("div"),this.elementTitleText=document.createElement("div"),this.elementContentHost=document.createElement("div"),this.elementButtonClose=document.createElement("div"),this.elementPanel.appendChild(this.elementTitle),this.elementTitle.appendChild(this.elementTitleText),this.elementTitle.appendChild(this.elementButtonClose),this.elementButtonClose.classList.add("panel-titlebar-button-close"),this.elementButtonClose.style.display=this._hideCloseButton?"none":"block",this.elementPanel.appendChild(this.elementContentHost),this.elementPanel.classList.add("panel-base"),this.elementTitle.classList.add("panel-titlebar"),this.elementTitle.classList.add("disable-selection"),this.elementTitleText.classList.add("panel-titlebar-text"),this.elementContentHost.classList.add("panel-content");var e=this.elementContentContainer.clientWidth,t=this.elementContentContainer.clientHeight,n=this.elementTitle.clientHeight;this.elementContentWrapper=document.createElement("div"),this.elementContentWrapper.classList.add("panel-content-wrapper"),this._setPanelDimensions(e,t+n),this._hideCloseButton||(this.closeButtonClickedHandler=new h(this.elementButtonClose,"mousedown",this.onCloseButtonClicked.bind(this)),this.closeButtonTouchedHandler=new h(this.elementButtonClose,"touchstart",this.onCloseButtonClicked.bind(this))),a.removeNode(this.elementContentWrapper),this.elementContentHost.appendChild(this.elementContentWrapper);var i=this.elementContent.dataset.panelCaption,s=this.elementContent.dataset.panelIcon;i&&(this.title=i),s&&(this.icon=s),this._updateTitle(),this.undockInitiator=new r(this.elementTitle,this.performUndockToDialog.bind(this)),delete this.floatingDialog,this.mouseDownHandler=new h(this.elementPanel,"mousedown",this.onMouseDown.bind(this)),this.touchDownHandler=new h(this.elementPanel,"touchstart",this.onMouseDown.bind(this)),this.elementContent.removeAttribute("hidden")}},{key:"onMouseDown",value:function onMouseDown(){this.dockManager.activePanel=this}},{key:"hideCloseButton",value:function hideCloseButton(e){var _this4=this;this._hideCloseButton=e,this.elementButtonClose.style.display=e?"none":"block",this.eventListeners.forEach(function(t){t.onHideCloseButton&&t.onHideCloseButton({self:_this4,state:e})})}},{key:"destroy",value:function destroy(){this.mouseDownHandler&&(this.mouseDownHandler.cancel(),delete this.mouseDownHandler),this.touchDownHandler&&(this.touchDownHandler.cancel(),delete this.touchDownHandler),a.removeNode(this.elementPanel),this.closeButtonClickedHandler&&(this.closeButtonClickedHandler.cancel(),delete this.closeButtonClickedHandler),this.closeButtonTouchedHandler&&(this.closeButtonTouchedHandler.cancel(),delete this.closeButtonTouchedHandler)}},{key:"performUndockToDialog",value:function performUndockToDialog(e,t){return this.isDialog=!0,this.undockInitiator.enabled=!1,this.elementContentWrapper.style.display="block",this.elementPanel.style.position="",this.dockManager.requestUndockToDialog(this,e,t)}},{key:"performClose",value:function performClose(){this.isDialog=!0,this.undockInitiator.enabled=!1,this.elementContentWrapper.style.display="block",this.elementContentContainer.style.display="none",this.elementPanel.style.position="",this.dockManager.requestClose(this)}},{key:"performUndock",value:function performUndock(){this.undockInitiator.enabled=!1,this.dockManager.requestUndock(this)}},{key:"prepareForDocking",value:function prepareForDocking(){this.isDialog=!1,this.undockInitiator.enabled=this._canUndock,this.elementContentContainer.parentElement!=this.dockManager.config.dialogRootElement&&this.dockManager.config.dialogRootElement.appendChild(this.elementContentContainer)}},{key:"width",get:function get(){return this._cachedWidth},set:function set(e){e!==this._cachedWidth&&(this._cachedWidth=e,this.elementPanel.style.width=e+"px")}},{key:"height",get:function get(){return this._cachedHeight},set:function set(e){e!==this._cachedHeight&&(this._cachedHeight=e,this.elementPanel.style.height=e+"px")}},{key:"resize",value:function resize(e,t){this.setVisible(!0),this._setPanelDimensions(e,t),this._cachedWidth=e,this._cachedHeight=t;try{null!=this.elementContent&&"function"==typeof this.elementContent.resizeHandler&&this.elementContent.resizeHandler(e,t-this.elementTitle.clientHeight)}catch(e){console.log("error calling resizeHandler:",e," elt:",this.elementContent)}}},{key:"_setPanelDimensions",value:function _setPanelDimensions(e,t){this.elementTitle.style.width=e+"px",this.elementContentHost.style.width=e+"px",this.elementContentContainer.style.width=e+"px",this.elementPanel.style.width=e+"px";var n=t-this.elementTitle.clientHeight;this.elementContentHost.style.height=n+"px",this.elementContentContainer.style.height=n+"px",this.elementPanel.style.height=t+"px";var i=this.elementContentWrapper.getBoundingClientRect(),s=this.dockManager.config.dialogRootElement.getBoundingClientRect();this.elementContentContainer.style.left=i.x+"px",this.elementContentContainer.style.top=i.y-s.y+"px",this.elementContentContainer.style.width=i.width+"px",this.elementContentContainer.style.height=i.height+"px"}},{key:"setDialogPosition",value:function setDialogPosition(e,t){var n=this.dockManager.config.dialogRootElement.getBoundingClientRect();this.elementContentContainer.style.left=e-n.x+"px",this.elementContentContainer.style.top=t+this.elementTitle.clientHeight+"px"}},{key:"setVisible",value:function setVisible(e){this.elementContentContainer.style.display=e?"block":"none"}},{key:"setTitle",value:function setTitle(e){this.title=e,this._updateTitle(),this.onTitleChanged&&this.onTitleChanged(this,e)}},{key:"setTitleIcon",value:function setTitleIcon(e){this.icon=e,this._updateTitle(),this.onTitleChanged&&this.onTitleChanged(this,this.title)}},{key:"setHasChanges",value:function setHasChanges(e){this.hasChanges=e,this._updateTitle(),e?this.elementTitleText.classList.add("panel-has-changes"):this.elementTitleText.classList.remove("panel-has-changes"),this.onTitleChanged&&this.onTitleChanged(this,this.title)}},{key:"setCloseIconTemplate",value:function setCloseIconTemplate(e){this.elementButtonClose.innerHTML=e}},{key:"_updateTitle",value:function _updateTitle(){null===this.icon?this.elementTitleText.innerHTML=this.title:this.elementTitleText.innerHTML='<img class="panel-titlebar-icon" src="'+this.icon+'"><span>'+this.title+"</span>"}},{key:"getRawTitle",value:function getRawTitle(){return this.elementTitleText.innerHTML}},{key:"performLayout",value:function performLayout(e,t){}},{key:"onCloseButtonClicked",value:function onCloseButtonClicked(e){e.preventDefault(),e.stopPropagation(),this.close()}},{key:"close",value:function(){var _close=_asyncToGenerator(_regeneratorRuntime().mark(function _callee(){var e;return _regeneratorRuntime().wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:e=!0;_context.t0=this.elementContentContainer.parentElement===this.dockManager.config.dialogRootElement;if(!_context.t0){_context.next=16;break}this.dockManager.config.dialogRootElement.removeChild(this.elementContentContainer);if(!this.closePanelContainerCallback){_context.next=10;break}_context.next=7;return this.closePanelContainerCallback(this);case 7:e=_context.sent;_context.next=15;break;case 10:_context.t1=this.dockManager.closePanelContainerCallback;if(!_context.t1){_context.next=15;break}_context.next=14;return this.dockManager.closePanelContainerCallback(this);case 14:e=_context.sent;case 15:e&&(this.isDialog?this.floatingDialog&&this.floatingDialog.close():(this.performClose(),this.dockManager.notifyOnClosePanel(this)));case 16:case"end":return _context.stop()}}},_callee,this)}));function close(){return _close.apply(this,arguments)}return close}()}],[{key:"loadFromState",value:function(){var _loadFromState=_asyncToGenerator(_regeneratorRuntime().mark(function _callee2(e,t){var n,i,_s,_t,s;return _regeneratorRuntime().wrap(function _callee2$(_context2){while(1){switch(_context2.prev=_context2.next){case 0:if(!t.getElementCallback){_context2.next=7;break}_context2.next=3;return t.getElementCallback(e);case 3:_s=_context2.sent;n=_s.element,i=_s.title;_context2.next=9;break;case 7:_t=e.element;n=document.getElementById(_t);case 9:if(!(null===n)){_context2.next=11;break}return _context2.abrupt("return",null);case 11:s=new d(n,t,i);return _context2.abrupt("return",(s.loadState(e),s));case 13:case"end":return _context2.stop()}}},_callee2)}));function loadFromState(_x,_x2){return _loadFromState.apply(this,arguments)}return loadFromState}()}]);return d}();var c=function(){function c(e,t,n,i){_classCallCheck(this,c);this.dialog=e,this.delegate=t,this.containerElement=t.containerElement,this.dockManager=t.dockManager,this.topLevelElement=n,this.containerType=t.containerType,this.mouseDownHandler=new h(i,"mousedown",this.onMouseDown.bind(this)),this.touchDownHandler=new h(i,"touchstart",this.onMouseDown.bind(this)),this.topLevelElement.style.left=n.offsetLeft+"px",this.topLevelElement.style.top=n.offsetTop+"px",this.minimumAllowedChildNodes=t.minimumAllowedChildNodes,this.iframeEventHandlers=[]}_createClass(c,[{key:"destroy",value:function destroy(){this.removeDecorator(),this.delegate.destroy()}},{key:"saveState",value:function saveState(e){this.delegate.saveState(e)}},{key:"loadState",value:function loadState(e){this.delegate.loadState(e)}},{key:"setActiveChild",value:function setActiveChild(){}},{key:"width",get:function get(){return this.delegate.width}},{key:"height",get:function get(){return this.delegate.height}},{key:"name",get:function get(){return this.delegate.name},set:function set(e){e&&(this.delegate.name=e)}},{key:"resize",value:function resize(e,t){this.delegate.resize(e,t)}},{key:"performLayout",value:function performLayout(e){this.delegate.performLayout(e,!1)}},{key:"removeDecorator",value:function removeDecorator(){this.mouseDownHandler&&(this.mouseDownHandler.cancel(),delete this.mouseDownHandler),this.touchDownHandler&&(this.touchDownHandler.cancel(),delete this.touchDownHandler)}},{key:"onMouseDown",value:function onMouseDown(e){var _this5=this;e.preventDefault&&e.preventDefault();var t=null;if(e.touches){if(e.touches.length>1)return;t=e.touches[0]}else t=e;if(this._startDragging(t),this.previousMousePosition={x:t.clientX,y:t.clientY},this.mouseMoveHandler&&(this.mouseMoveHandler.cancel(),delete this.mouseMoveHandler),this.touchMoveHandler&&(this.touchMoveHandler.cancel(),delete this.touchMoveHandler),this.mouseUpHandler&&(this.mouseUpHandler.cancel(),delete this.mouseUpHandler),this.touchUpHandler&&(this.touchUpHandler.cancel(),delete this.touchUpHandler),this.mouseMoveHandler=new h(window,"mousemove",this.onMouseMove.bind(this)),this.touchMoveHandler=new h(e.target,"touchmove",this.onMouseMove.bind(this),{passive:!1}),this.mouseUpHandler=new h(window,"mouseup",this.onMouseUp.bind(this)),this.touchUpHandler=new h(e.target,"touchend",this.onMouseUp.bind(this)),this.dockManager.iframes){var _iterator=_createForOfIteratorHelper(this.dockManager.iframes),_step;try{var _loop=function _loop(){var e=_step.value;var t=_this5.onMouseMovedIframe.bind(_this5);_this5.iframeEventHandlers.push(new h(e.contentWindow,"mousemove",function(n){return t(n,e)})),_this5.iframeEventHandlers.push(new h(e.contentWindow,"mouseup",_this5.onMouseUp.bind(_this5))),_this5.iframeEventHandlers.push(new h(e.contentWindow,"touchmove",function(n){return t(n,e)})),_this5.iframeEventHandlers.push(new h(e.contentWindow,"touchend",_this5.onMouseUp.bind(_this5)))};for(_iterator.s();!(_step=_iterator.n()).done;){_loop()}}catch(err){_iterator.e(err)}finally{_iterator.f()}}}},{key:"onMouseUp",value:function onMouseUp(e){this._stopDragging(e),this.mouseMoveHandler.cancel(),delete this.mouseMoveHandler,this.touchMoveHandler.cancel(),delete this.touchMoveHandler,this.mouseUpHandler.cancel(),delete this.mouseUpHandler,this.touchUpHandler.cancel(),delete this.touchUpHandler;var _iterator2=_createForOfIteratorHelper(this.iframeEventHandlers),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var _e=_step2.value;_e.cancel()}}catch(err){_iterator2.e(err)}finally{_iterator2.f()}this.iframeEventHandlers=[]}},{key:"_startDragging",value:function _startDragging(e){this.containerElement.classList.add("draggable-dragging-active"),this.delegate.elementContentContainer.classList.add("draggable-dragging-active"),this.dialog.eventListener&&this.dialog.eventListener._onDialogDragStarted(this.dialog,e),a.disableGlobalTextSelection(this.dockManager.config.dialogRootElement)}},{key:"_stopDragging",value:function _stopDragging(e){this.containerElement.classList.remove("draggable-dragging-active"),this.delegate.elementContentContainer.classList.remove("draggable-dragging-active"),this.dialog.eventListener&&this.dialog.eventListener._onDialogDragEnded(this.dialog,e),a.enableGlobalTextSelection(this.dockManager.config.dialogRootElement)}},{key:"onMouseMovedIframe",value:function onMouseMovedIframe(e,t){var n=t.getBoundingClientRect();this.onMouseMove(e,{x:n.x,y:n.y})}},{key:"onMouseMove",value:function onMouseMove(e,t){e.preventDefault&&e.preventDefault();var n=document.body.getBoundingClientRect();if(null!=e.touches){if(e.touches.length>1)return;for(var _t2 in this.dockManager.dockWheel.wheelItems){var _i2=this.dockManager.dockWheel.wheelItems[_t2],_s2=_i2.element.getBoundingClientRect();e.touches[0].clientX>_s2.left-n.left&&e.touches[0].clientX<_s2.left+_i2.element.clientWidth-n.left&&e.touches[0].clientY>_s2.top-n.top&&e.touches[0].clientY<_s2.top+_i2.element.clientHeight-n.top?_i2.onMouseMoved():_i2.active&&_i2.onMouseOut()}}var i=null;if(e.changedTouches){if(e.changedTouches.length>1)return;i=e.changedTouches[0]}else i=e;var s=new l(i.clientX,i.clientY);t&&(s=new l(i.clientX+t.x,i.clientY+t.y));var o=this.dockManager.checkXBounds(this.topLevelElement,s,this.previousMousePosition,!1,!1),a=this.dockManager.checkYBounds(this.topLevelElement,s,this.previousMousePosition,!1,!1);this._performDrag(o,a),this.previousMousePosition=s}},{key:"_performDrag",value:function _performDrag(e,t){var n=e+a.getPixels(this.topLevelElement.style.left),i=t+a.getPixels(this.topLevelElement.style.top);this.topLevelElement.style.left=n+"px",this.topLevelElement.style.top=i+"px",this.dialog.panel.setDialogPosition(n,i)}}]);return c}();var u=function(){function u(){_classCallCheck(this,u);this.element=void 0,this.handleSize=6,this.cornerSize=12,this.east=!1,this.west=!1,this.north=!1,this.south=!1,this.corner=!1}_createClass(u,[{key:"adjustSize",value:function adjustSize(e,t){this.corner?(this.west&&(this.element.style.left="0px"),this.east&&(this.element.style.left=e-this.cornerSize+"px"),this.north&&(this.element.style.top="0px"),this.south&&(this.element.style.top=t-this.cornerSize+"px")):(this.west&&(this.element.style.left="0px",this.element.style.top=this.cornerSize+"px"),this.east&&(this.element.style.left=e-this.handleSize+"px",this.element.style.top=this.cornerSize+"px"),this.north&&(this.element.style.left=this.cornerSize+"px",this.element.style.top="0px"),this.south&&(this.element.style.left=this.cornerSize+"px",this.element.style.top=t-this.handleSize+"px"),this.west||this.east?this.element.style.height=t-2*this.cornerSize+"px":this.element.style.width=e-2*this.cornerSize+"px")}}]);return u}();var m=function(){function m(e,t,n){var i=arguments.length>3&&arguments[3]!==undefined?arguments[3]:!1;_classCallCheck(this,m);this.dialog=e,this.disableResize=i,this.delegate=t,this.containerElement=t.containerElement,this.dockManager=t.dockManager,this.topLevelElement=n,this.containerType=t.containerType,this.topLevelElement.style.left=this.topLevelElement.offsetLeft+"px",this.topLevelElement.style.top=this.topLevelElement.offsetTop+"px",this.minimumAllowedChildNodes=t.minimumAllowedChildNodes,this._buildResizeHandles(),this.readyToProcessNextResize=!0,this.dockSpawnResizedEvent=new CustomEvent("DockSpawnResizedEvent",{composed:!0,bubbles:!0}),this.iframeEventHandlers=[]}_createClass(m,[{key:"setActiveChild",value:function setActiveChild(){}},{key:"_buildResizeHandles",value:function _buildResizeHandles(){this.resizeHandles=[],this.disableResize||(this._buildResizeHandle(!1,!0,!0,!1),this._buildResizeHandle(!0,!1,!1,!0),this._buildResizeHandle(!1,!0,!1,!0),this._buildResizeHandle(!0,!1,!1,!1),this._buildResizeHandle(!1,!0,!1,!1),this._buildResizeHandle(!1,!1,!0,!1),this._buildResizeHandle(!1,!1,!1,!0))}},{key:"_buildResizeHandle",value:function _buildResizeHandle(e,t,n,i){var _this6=this;var s=new u;s.east=e,s.west=t,s.north=n,s.south=i,s.element=document.createElement("div"),this.topLevelElement.appendChild(s.element);var o="",l="";n&&(o="n"),i&&(o="s"),e&&(l="e"),t&&(l="w");var a="resize-handle-"+o+l;o.length>0&&l.length>0&&(s.corner=!0),s.element.classList.add(s.corner?"resize-handle-corner":"resize-handle"),s.element.classList.add(a),this.resizeHandles.push(s),s.mouseDownHandler=new h(s.element,"mousedown",function(e){_this6.onMouseDown(s,e)}),s.touchDownHandler=new h(s.element,"touchstart",function(e){_this6.onMouseDown(s,e)})}},{key:"saveState",value:function saveState(e){this.delegate.saveState(e)}},{key:"loadState",value:function loadState(e){this.delegate.loadState(e)}},{key:"width",get:function get(){return this.delegate.width}},{key:"height",get:function get(){return this.delegate.height}},{key:"name",get:function get(){return this.delegate.name},set:function set(e){e&&(this.delegate.name=e)}},{key:"resize",value:function resize(e,t){this.delegate.resize(e,t),this._adjustResizeHandles(e,t),document.dispatchEvent(this.dockSpawnResizedEvent)}},{key:"_adjustResizeHandles",value:function _adjustResizeHandles(e,t){this.resizeHandles.forEach(function(n){n.adjustSize(e,t)})}},{key:"performLayout",value:function performLayout(e){this.delegate.performLayout(e,!1)}},{key:"destroy",value:function destroy(){this.removeDecorator(),this.delegate.destroy()}},{key:"removeDecorator",value:function removeDecorator(){}},{key:"onMouseMovedIframe",value:function onMouseMovedIframe(e,t,n){var i=n.getBoundingClientRect();this.onMouseMoved(e,t,{x:i.x,y:i.y})}},{key:"onMouseMoved",value:function onMouseMoved(e,t,n){var i=null;if(t.changedTouches){if(t.changedTouches.length>1)return;i=t.changedTouches[0]}else i=t;if(!this.readyToProcessNextResize)return;this.readyToProcessNextResize=!1,this.dialog.panel&&this.dockManager.suspendLayout(this.dialog.panel);var s=new l(i.clientX,i.clientY);n&&(s=new l(i.clientX+n.x,i.clientY+n.y));var o=this.dockManager.checkXBounds(this.topLevelElement,s,this.previousMousePosition,e.west,e.east),a=this.dockManager.checkYBounds(this.topLevelElement,s,this.previousMousePosition,e.north,e.south);this._performDrag(e,o,a),this.previousMousePosition=s,this.readyToProcessNextResize=!0,this.dialog.panel&&this.dockManager.resumeLayout(this.dialog.panel),this.dockManager.notifyOnContainerResized(this)}},{key:"onMouseDown",value:function onMouseDown(e,t){var _this7=this;var n=null;if(t.touches){if(t.touches.length>1)return;n=t.touches[0]}else n=t;this.previousMousePosition=new l(n.clientX,n.clientY),e.mouseMoveHandler&&(e.mouseMoveHandler.cancel(),delete e.mouseMoveHandler),e.touchMoveHandler&&(e.touchMoveHandler.cancel(),delete e.touchMoveHandler),e.mouseUpHandler&&(e.mouseUpHandler.cancel(),delete e.mouseUpHandler),e.touchUpHandler&&(e.touchUpHandler.cancel(),delete e.touchUpHandler);var _iterator3=_createForOfIteratorHelper(this.iframeEventHandlers),_step3;try{for(_iterator3.s();!(_step3=_iterator3.n()).done;){var _e2=_step3.value;_e2.cancel()}}catch(err){_iterator3.e(err)}finally{_iterator3.f()}if(this.iframeEventHandlers=[],e.mouseMoveHandler=new h(window,"mousemove",function(t){_this7.onMouseMoved(e,t)}),e.touchMoveHandler=new h(window,"touchmove",function(t){_this7.onMouseMoved(e,t)}),e.mouseUpHandler=new h(window,"mouseup",function(t){_this7.onMouseUp(e)}),e.touchUpHandler=new h(window,"touchend",function(t){_this7.onMouseUp(e)}),this.dockManager.iframes){var _iterator4=_createForOfIteratorHelper(this.dockManager.iframes),_step4;try{var _loop2=function _loop2(){var t=_step4.value;var n=_this7.onMouseMovedIframe.bind(_this7);_this7.iframeEventHandlers.push(new h(t.contentWindow,"mousemove",function(i){return n(e,i,t)})),_this7.iframeEventHandlers.push(new h(t.contentWindow,"mouseup",function(t){return _this7.onMouseUp(e)})),_this7.iframeEventHandlers.push(new h(t.contentWindow,"touchmove",function(i){return n(e,i,t)})),_this7.iframeEventHandlers.push(new h(t.contentWindow,"touchend",function(t){return _this7.onMouseUp(e)}))};for(_iterator4.s();!(_step4=_iterator4.n()).done;){_loop2()}}catch(err){_iterator4.e(err)}finally{_iterator4.f()}}a.disableGlobalTextSelection(this.dockManager.config.dialogRootElement)}},{key:"onMouseUp",value:function onMouseUp(e){e.mouseMoveHandler.cancel(),e.touchMoveHandler.cancel(),e.mouseUpHandler.cancel(),e.touchUpHandler.cancel(),delete e.mouseMoveHandler,delete e.touchMoveHandler,delete e.mouseUpHandler,delete e.touchUpHandler;var _iterator5=_createForOfIteratorHelper(this.iframeEventHandlers),_step5;try{for(_iterator5.s();!(_step5=_iterator5.n()).done;){var _e3=_step5.value;_e3.cancel()}}catch(err){_iterator5.e(err)}finally{_iterator5.f()}this.iframeEventHandlers=[],a.enableGlobalTextSelection(this.dockManager.config.dialogRootElement)}},{key:"_performDrag",value:function _performDrag(e,t,n){var i={};i.left=a.getPixels(this.topLevelElement.style.left),i.top=a.getPixels(this.topLevelElement.style.top),i.width=this.topLevelElement.clientWidth,i.height=this.topLevelElement.clientHeight,e.east&&this._resizeEast(t,i),e.west&&this._resizeWest(t,i),e.north&&this._resizeNorth(n,i),e.south&&this._resizeSouth(n,i)}},{key:"_resizeWest",value:function _resizeWest(e,t){this._resizeContainer(e,0,-e,0,t)}},{key:"_resizeEast",value:function _resizeEast(e,t){this._resizeContainer(0,0,e,0,t)}},{key:"_resizeNorth",value:function _resizeNorth(e,t){this._resizeContainer(0,e,0,-e,t)}},{key:"_resizeSouth",value:function _resizeSouth(e,t){this._resizeContainer(0,0,0,e,t)}},{key:"_resizeContainer",value:function _resizeContainer(e,t,n,i,s){s.left+=e,s.top+=t,s.width+=n,s.height+=i,s.width=Math.max(s.width,50),s.height=Math.max(s.height,50),this.topLevelElement.style.left=s.left+"px",this.topLevelElement.style.top=s.top+"px",this.resize(s.width,s.height)}}]);return m}();var g=function(){function g(e,t,n,i){_classCallCheck(this,g);this.panel=e,this.dockManager=t,this.eventListener=t,this.grayoutParent=n,this.disableResize=i,this._initialize(),this.dockManager.context.model.dialogs.push(this),this.position=t.defaultDialogPosition,this.dockManager.notifyOnCreateDialog(this),e.isDialog=!0}_createClass(g,[{key:"saveState",value:function saveState(e,t){this.position=new l(e,t),this.dockManager.notifyOnChangeDialogPosition(this,e,t)}},{key:"_initialize",value:function _initialize(){this.panel.floatingDialog=this,this.elementDialog=Object.assign(document.createElement("div"),{floatingDialog:this}),this.elementDialog.tabIndex=0,this.elementDialog.appendChild(this.panel.elementPanel),this.draggable=new c(this,this.panel,this.elementDialog,this.panel.elementTitle),this.resizable=new m(this,this.draggable,this.draggable.topLevelElement,this.disableResize),this.dockManager.config.dialogRootElement.appendChild(this.elementDialog),this.elementDialog.classList.add("dialog-floating"),this.focusHandler=new h(this.elementDialog,"focus",this.onFocus.bind(this),!0),this.mouseDownHandler=new h(this.elementDialog,"mousedown",this.onMouseDown.bind(this),!0),this.touchDownHandler=new h(this.elementDialog,"touchstart",this.onMouseDown.bind(this)),this.keyPressHandler=new h(this.elementDialog,"keypress",this.dockManager.onKeyPressBound,!0),this.resize(this.panel.elementPanel.clientWidth,this.panel.elementPanel.clientHeight),this.isHidden=!1,null!=this.grayoutParent&&this.grayoutParent.grayOut(!0),this.bringToFront()}},{key:"setPosition",value:function setPosition(e,t){var n=this.dockManager.config.dialogRootElement.getBoundingClientRect();this.position=new l(e-n.left,t-n.top),this.elementDialog.style.left=e-n.left+"px",this.elementDialog.style.top=t-n.top+"px",this.panel.setDialogPosition(e,t),this.dockManager.notifyOnChangeDialogPosition(this,e,t)}},{key:"getPosition",value:function getPosition(){return new l(this.position?this.position.x:0,this.position?this.position.y:0)}},{key:"onFocus",value:function onFocus(){this.dockManager.activePanel!=this.panel&&(this.dockManager.activePanel=this.panel)}},{key:"onMouseDown",value:function onMouseDown(){this.bringToFront()}},{key:"destroy",value:function destroy(){this.panel.lastDialogSize={width:this.resizable.width,height:this.resizable.height},this.focusHandler&&(this.focusHandler.cancel(),delete this.focusHandler),this.mouseDownHandler&&(this.mouseDownHandler.cancel(),delete this.mouseDownHandler),this.touchDownHandler&&(this.touchDownHandler.cancel(),delete this.touchDownHandler),this.keyPressHandler&&(this.keyPressHandler.cancel(),delete this.keyPressHandler),a.removeNode(this.elementDialog),this.draggable.removeDecorator(),a.removeNode(this.panel.elementPanel),a.arrayRemove(this.dockManager.context.model.dialogs,this),delete this.panel.floatingDialog,this.grayoutParent&&this.grayoutParent.grayOut(!1)}},{key:"resize",value:function resize(e,t){this.resizable.resize(e,t)}},{key:"setTitle",value:function setTitle(e){this.panel.setTitle(e)}},{key:"setTitleIcon",value:function setTitleIcon(e){this.panel.setTitleIcon(e)}},{key:"bringToFront",value:function bringToFront(){this.panel.elementContentContainer.style.zIndex=this.dockManager.zIndexDialogCounter++,this.elementDialog.style.zIndex=this.dockManager.zIndexDialogCounter++,this.dockManager.activePanel=this.panel}},{key:"hide",value:function hide(){this.elementDialog.style.zIndex="0",this.panel.elementContentContainer.style.zIndex="",this.elementDialog.style.display="none",this.isHidden||(this.isHidden=!0,this.dockManager.notifyOnHideDialog(this)),this.grayoutParent&&this.grayoutParent.grayOut(!1)}},{key:"close",value:function close(){this.hide(),this.remove(),this.dockManager.notifyOnClosePanel(this.panel),this.destroy()}},{key:"remove",value:function remove(){this.elementDialog.parentNode.removeChild(this.elementDialog)}},{key:"show",value:function show(){this.panel.elementContentContainer.style.zIndex=this.dockManager.zIndexDialogCounter++,this.elementDialog.style.zIndex=this.dockManager.zIndexDialogCounter++,this.elementDialog.style.display="block",this.isHidden&&(this.isHidden=!1,this.dockManager.notifyOnShowDialog(this))}}],[{key:"fromElement",value:function fromElement(e,t){return new g(new d(document.getElementById(e),t),t,null)}}]);return g}();var p=_createClass(function p(){_classCallCheck(this,p);this.escClosesWindow=!0,this.escClosesDialog=!0,this.dialogRootElement=document.body,this.moveOnlyWithinDockConatiner=!1});var v=function(){function v(){_classCallCheck(this,v)}_createClass(v,[{key:"serialize",value:function serialize(e){var t=this._buildGraphInfo(e.rootNode),n=this._buildDialogsInfo(e.dialogs.sort(function(e,t){return e.elementDialog.style.zIndex-t.elementDialog.style.zIndex}));return JSON.stringify({graphInfo:t,dialogsInfo:n})}},{key:"_buildGraphInfo",value:function _buildGraphInfo(e){var _this8=this;var t={};e.container.saveState(t);var n=[];return e.children.forEach(function(e){n.push(_this8._buildGraphInfo(e))}),{containerType:e.container.containerType,state:t,children:n}}},{key:"_buildDialogsInfo",value:function _buildDialogsInfo(e){var t=[];return e.forEach(function(e){var n={},i=e.panel;i.saveState(n);var s={containerType:i.containerType,state:n,position:e.getPosition(),isHidden:e.isHidden};t.push(s)}),t}}]);return v}();var f=function(){function f(e){_classCallCheck(this,f);this.container=e,this.children=[]}_createClass(f,[{key:"detachFromParent",value:function detachFromParent(){this.parent&&(this.parent.removeChild(this),delete this.parent)}},{key:"removeChild",value:function removeChild(e){var t=this.children.indexOf(e);t>=0&&this.children.splice(t,1)}},{key:"addChild",value:function addChild(e){e.detachFromParent(),e.parent=this,this.children.push(e)}},{key:"addChildBefore",value:function addChildBefore(e,t){this._addChildWithDirection(e,t,!0)}},{key:"addChildAfter",value:function addChildAfter(e,t){this._addChildWithDirection(e,t,!1)}},{key:"_addChildWithDirection",value:function _addChildWithDirection(e,t,n){t.detachFromParent(),t.parent=this;var i=this.children.indexOf(e),s=this.children.slice(0,i),o=this.children.slice(i+1,this.children.length);this.children=s.slice(0),n?(this.children.push(t),this.children.push(e)):(this.children.push(e),this.children.push(t)),Array.prototype.push.apply(this.children,o)}},{key:"performLayout",value:function performLayout(e){var t=this.children.map(function(e){return e.container});this.container.performLayout(t,e)}},{key:"debugDumpTree",value:function debugDumpTree(e){void 0===e&&(e=0);var t=this.container.name;for(var _n2=0;_n2<e;_n2++){t="\t"+t}var n=void 0===this.parent?"null":this.parent.container.containerType;console.log(">>"+t+" ["+n+"]"),this.children.forEach(function(t){t.debugDumpTree(e+1)})}}]);return f}();var C=function(){function C(e,t,n){_classCallCheck(this,C);this.previousContainer=e,this.nextContainer=t,this.stackedVertical=n,this.barElement=document.createElement("div"),this.barElement.classList.add(n?"splitbar-horizontal":"splitbar-vertical"),this.mouseDownHandler=new h(this.barElement,"mousedown",this.onMouseDown.bind(this)),this.touchDownHandler=new h(this.barElement,"touchstart",this.onMouseDown.bind(this)),this.minPanelSize=50,this.readyToProcessNextDrag=!0,this.dockSpawnResizedEvent=new CustomEvent("DockSpawnResizedEvent",{composed:!0,bubbles:!0}),this.iframeEventHandlers=[]}_createClass(C,[{key:"onMouseDown",value:function onMouseDown(e){if(e.touches){if(e.touches.length>1)return;e=e.touches[0]}this._startDragging(e)}},{key:"onMouseUp",value:function onMouseUp(){this._stopDragging()}},{key:"onMouseMovedIframe",value:function onMouseMovedIframe(e,t){null!=e.changedTouches&&(e=e.changedTouches[0]);var n=t.getBoundingClientRect();this.handleMoveEvent({x:e.clientX+n.x,y:e.clientY+n.y})}},{key:"onMouseMoved",value:function onMouseMoved(e){null!=e.changedTouches&&(e=e.changedTouches[0]),this.handleMoveEvent({x:e.clientX,y:e.clientY})}},{key:"handleMoveEvent",value:function handleMoveEvent(e){if(!this.readyToProcessNextDrag)return;this.readyToProcessNextDrag=!1;var t=this.previousContainer.dockManager;t.suspendLayout(this.previousContainer),t.suspendLayout(this.nextContainer);var n=e.x-this.previousMouseEvent.x,i=e.y-this.previousMouseEvent.y;this._performDrag(n,i),this.previousMouseEvent=e,this.readyToProcessNextDrag=!0,t.resumeLayout(this.previousContainer),t.resumeLayout(this.nextContainer)}},{key:"_performDrag",value:function _performDrag(e,t){var n=this.previousContainer.containerElement.clientWidth,i=this.previousContainer.containerElement.clientHeight,s=this.nextContainer.containerElement.clientWidth,o=this.nextContainer.containerElement.clientHeight,l=this.stackedVertical?i:n,a=this.stackedVertical?o:s,h=this.stackedVertical?t:e,r=l+h,d=a-h;(!(r<this.minPanelSize||d<this.minPanelSize)||r<this.minPanelSize&&r>l||d<this.minPanelSize&&d>a)&&(this.stackedVertical?(this.previousContainer.resize(n,r),this.nextContainer.resize(s,d)):h<0?(this.previousContainer.resize(r,i),this.nextContainer.resize(d,o)):(this.nextContainer.resize(d,o),this.previousContainer.resize(r,i),this.nextContainer.resize(d,o)),document.dispatchEvent(this.dockSpawnResizedEvent))}},{key:"_startDragging",value:function _startDragging(e){var _this9=this;if(a.disableGlobalTextSelection(this.previousContainer.dockManager.config.dialogRootElement),this.mouseMovedHandler&&(this.mouseMovedHandler.cancel(),delete this.mouseMovedHandler),this.touchMovedHandler&&(this.touchMovedHandler.cancel(),delete this.touchMovedHandler),this.mouseUpHandler&&(this.mouseUpHandler.cancel(),delete this.mouseUpHandler),this.touchUpHandler&&(this.touchUpHandler.cancel(),delete this.touchUpHandler),this.mouseMovedHandler=new h(window,"mousemove",this.onMouseMoved.bind(this)),this.mouseUpHandler=new h(window,"mouseup",this.onMouseUp.bind(this)),this.touchMovedHandler=new h(window,"touchmove",this.onMouseMoved.bind(this)),this.touchUpHandler=new h(window,"touchend",this.onMouseUp.bind(this)),this.previousContainer.dockManager.iframes){var _iterator6=_createForOfIteratorHelper(this.previousContainer.dockManager.iframes),_step6;try{var _loop3=function _loop3(){var e=_step6.value;var t=_this9.onMouseMovedIframe.bind(_this9);_this9.iframeEventHandlers.push(new h(e.contentWindow,"mousemove",function(n){return t(n,e)})),_this9.iframeEventHandlers.push(new h(e.contentWindow,"mouseup",_this9.onMouseUp.bind(_this9))),_this9.iframeEventHandlers.push(new h(e.contentWindow,"touchmove",function(n){return t(n,e)})),_this9.iframeEventHandlers.push(new h(e.contentWindow,"touchend",_this9.onMouseUp.bind(_this9)))};for(_iterator6.s();!(_step6=_iterator6.n()).done;){_loop3()}}catch(err){_iterator6.e(err)}finally{_iterator6.f()}}this.previousMouseEvent={x:e.clientX,y:e.clientY}}},{key:"_stopDragging",value:function _stopDragging(){a.enableGlobalTextSelection(this.previousContainer.dockManager.config.dialogRootElement),this.mouseMovedHandler&&(this.mouseMovedHandler.cancel(),delete this.mouseMovedHandler),this.touchMovedHandler&&(this.touchMovedHandler.cancel(),delete this.touchMovedHandler),this.mouseUpHandler&&(this.mouseUpHandler.cancel(),delete this.mouseUpHandler),this.touchUpHandler&&(this.touchUpHandler.cancel(),delete this.touchUpHandler);var _iterator7=_createForOfIteratorHelper(this.iframeEventHandlers),_step7;try{for(_iterator7.s();!(_step7=_iterator7.n()).done;){var _e4=_step7.value;_e4.cancel()}}catch(err){_iterator7.e(err)}finally{_iterator7.f()}this.iframeEventHandlers=[]}}]);return C}();var w=function(){function w(e,t){_classCallCheck(this,w);this.childContainers=e,this.stackedVertical=t,this.panelElement=document.createElement("div"),this.spiltterBars=[],this._buildSplitterDOMAndAddElements()}_createClass(w,[{key:"_buildSplitterDOMAndAddElements",value:function _buildSplitterDOMAndAddElements(){if(this.childContainers.length<=1)throw new Error("Splitter panel should contain atleast 2 panels");this.spiltterBars=[];var e=null;for(var _t3=0;_t3<this.childContainers.length-1;_t3++){var n=this.childContainers[_t3],i=this.childContainers[_t3+1],_s3=new C(n,i,this.stackedVertical);this.spiltterBars.push(_s3),Array.from(this.panelElement.children).includes(n.containerElement)||this._insertContainerIntoPanel(n,e),this.panelElement.insertBefore(_s3.barElement,n.containerElement.nextSibling),e=_s3.barElement}var t=this.childContainers.slice(-1)[0];Array.from(this.panelElement.children).includes(t.containerElement)||this._insertContainerIntoPanel(t,e)}},{key:"performLayout",value:function performLayout(e,t){a.arrayEqual(this.childContainers,e)&&!t||(this.childContainers.forEach(function(t){e.some(function(e){return e==t})||t.containerElement&&(t.containerElement.classList.remove("splitter-container-vertical"),t.containerElement.classList.remove("splitter-container-horizontal"),a.removeNode(t.containerElement))}),this.spiltterBars.forEach(function(e){a.removeNode(e.barElement)}),this.childContainers=e,this._buildSplitterDOMAndAddElements())}},{key:"removeFromDOM",value:function removeFromDOM(){this.childContainers.forEach(function(e){e.containerElement&&(e.containerElement.classList.remove("splitter-container-vertical"),e.containerElement.classList.remove("splitter-container-horizontal"),a.removeNode(e.containerElement))}),this.spiltterBars.forEach(function(e){a.removeNode(e.barElement)})}},{key:"destroy",value:function destroy(){this.removeFromDOM(),this.panelElement.parentNode.removeChild(this.panelElement)}},{key:"_insertContainerIntoPanel",value:function _insertContainerIntoPanel(e,t){e?(e.containerElement.parentNode!=this.panelElement&&(a.removeNode(e.containerElement),t?this.panelElement.insertBefore(e.containerElement,t.nextSibling):this.panelElement.children.length>0?this.panelElement.insertBefore(e.containerElement,this.panelElement.children[0]):this.panelElement.appendChild(e.containerElement)),e.containerElement.classList.add(this.stackedVertical?"splitter-container-vertical":"splitter-container-horizontal")):console.error("container is undefined")}},{key:"setContainerRatio",value:function setContainerRatio(e,t){var n=this.stackedVertical?this.panelElement.clientHeight:this.panelElement.clientWidth,i=n*t,s=(n-i-(this.stackedVertical?this.spiltterBars[0].barElement.clientHeight:this.spiltterBars[0].barElement.clientWidth)*this.spiltterBars.length)/n;for(var _t4=0;_t4<this.childContainers.length;_t4++){var _n3=void 0,_o=this.childContainers[_t4];_o!==e?(_n3=this.stackedVertical?_o.containerElement.parentElement.clientHeight:_o.containerElement.parentElement.clientWidth,_n3*=s):_n3=i,this.stackedVertical?_o.resize(_o.width,Math.floor(_n3)):_o.resize(Math.floor(_n3),_o.height)}}},{key:"getRatios",value:function getRatios(){var e=this.stackedVertical?this.spiltterBars[0].barElement.clientHeight:this.spiltterBars[0].barElement.clientWidth,t=(this.stackedVertical?this.panelElement.clientHeight:this.panelElement.clientWidth)-e*this.spiltterBars.length,n=[];for(var _e5=0;_e5<this.childContainers.length;_e5++){var i=this.childContainers[_e5],_s4=this.stackedVertical?i.containerElement.clientHeight:i.containerElement.clientWidth;n.push(_s4/t)}return n}},{key:"setRatios",value:function setRatios(e){var t=this.stackedVertical?this.spiltterBars[0].barElement.clientHeight:this.spiltterBars[0].barElement.clientWidth,n=(this.stackedVertical?this.panelElement.clientHeight:this.panelElement.clientWidth)-t*this.spiltterBars.length;for(var _t5=0;_t5<this.childContainers.length;_t5++){var i=this.childContainers[_t5],_s5=n*e[_t5];this.stackedVertical?i.resize(i.width,Math.floor(_s5)):i.resize(Math.floor(_s5),i.height)}}},{key:"resize",value:function resize(e,t){var _this10=this;if(this.childContainers.length<=1)return;var n;for(this.panelElement.style.width=e+"px",this.panelElement.style.height=t+"px",n=0;n<this.childContainers.length;n++){var _i3=this.childContainers[n];if(this.stackedVertical?_i3.resize(e,_i3.height?_i3.height:t):_i3.resize(_i3.width?_i3.width:e,t),n<this.spiltterBars.length){var _i4=this.spiltterBars[n];this.stackedVertical?_i4.barElement.style.width=e+"px":_i4.barElement.style.height=t+"px"}}var i=0;this.childContainers.forEach(function(e){var t=_this10.stackedVertical?e.height:e.width;i+=t});var s=this.spiltterBars[0].barElement.getBoundingClientRect();var o=this.stackedVertical?s.height:s.width,l=this.stackedVertical?t:e;l-=o*this.spiltterBars.length,i=Math.max(i,1);var a=l/i,h=0;for(n=0;n<this.childContainers.length;n++){var _e6=this.childContainers[n];"none"==_e6.containerElement.style.display&&(_e6.containerElement.style.display="block");var _t6=this.stackedVertical?_e6.containerElement.clientHeight:_e6.containerElement.clientWidth,_i5=a>1?Math.floor(_t6*a):Math.ceil(_t6*a);h+=_i5,n===this.childContainers.length-1&&(_i5+=l-h),this.stackedVertical?_e6.resize(_e6.width,_i5):_e6.resize(_i5,_e6.height)}}}]);return w}();var y=function(){function y(e,t,n,i){_classCallCheck(this,y);0!==arguments.length&&(this.name=e,this.dockManager=t,this.stackedVertical=i,this.splitterPanel=new w(n,this.stackedVertical),this.containerElement=this.splitterPanel.panelElement,this.minimumAllowedChildNodes=2)}_createClass(y,[{key:"resize",value:function resize(e,t){this.splitterPanel.resize(e,t),this._cachedWidth=e,this._cachedHeight=t}},{key:"performLayout",value:function performLayout(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:!1;this.splitterPanel.performLayout(e,t)}},{key:"setActiveChild",value:function setActiveChild(){}},{key:"destroy",value:function destroy(){this.splitterPanel.destroy()}},{key:"setContainerRatio",value:function setContainerRatio(e,t){this.splitterPanel.setContainerRatio(e,t),this.resize(this.width,this.height)}},{key:"getRatios",value:function getRatios(){return this.splitterPanel.getRatios()}},{key:"setRatios",value:function setRatios(e){this.splitterPanel.setRatios(e),this.resize(this.width,this.height)}},{key:"saveState",value:function saveState(e){e.width=this.width,e.height=this.height}},{key:"loadState",value:function loadState(e){this.state={width:e.width,height:e.height}}},{key:"width",get:function get(){return void 0===this._cachedWidth&&(this._cachedWidth=this.splitterPanel.panelElement.clientWidth),this._cachedWidth}},{key:"height",get:function get(){return void 0===this._cachedHeight&&(this._cachedHeight=this.splitterPanel.panelElement.clientHeight),this._cachedHeight}}]);return y}();var k=function(_y){_inherits(k,_y);var _super=_createSuper(k);function k(t,n){var _this11;_classCallCheck(this,k);_this11=_super.call(this,a.getNextId("horizontal_splitter_"),t,n,!1),_this11.containerType=e.horizontal;return _this11}return _createClass(k)}(y);var M=function(_y2){_inherits(M,_y2);var _super2=_createSuper(M);function M(t,n){var _this12;_classCallCheck(this,M);_this12=_super2.call(this,a.getNextId("vertical_splitter_"),t,n,!0),_this12.containerType=e.vertical;return _this12}return _createClass(M)}(y);var b=function(){function b(e){var _this13=this;_classCallCheck(this,b);this.parent=e;var t=this._performUndock.bind(this);this.elementBase=document.createElement("div"),this.elementText=document.createElement("div"),this.elementCloseButton=document.createElement("div"),this.elementBase.classList.add("dockspan-tab-handle"),this.elementBase.classList.add("disable-selection"),this.elementText.classList.add("dockspan-tab-handle-text"),this.elementCloseButton.classList.add("dockspan-tab-handle-close-button"),this.elementBase.appendChild(this.elementText),this.parent.host.displayCloseButton&&this.elementBase.appendChild(this.elementCloseButton),(this.parent.container._hideCloseButton||this.parent.container._grayOut)&&(this.elementCloseButton.style.display="none"),this.parent.host.tabListElement.appendChild(this.elementBase);var n=e.container,i=n.getRawTitle();this.undockListener={onDockEnabled:function onDockEnabled(e){_this13.undockEnabled(e.state)},onHideCloseButton:function onHideCloseButton(e){_this13.hideCloseButton(e.state)}},this.eventListeners=[],n.addListener(this.undockListener),this.elementText.innerHTML=i,this.elementText.title=this.elementText.innerText,this.undockInitiator=new r(this.elementBase,t),this.undockInitiator.enabled=!0,this.mouseDownHandler=new h(this.elementBase,"mousedown",this.onMouseDown.bind(this)),this.touchDownHandler=new h(this.elementBase,"touchstart",this.onMouseDown.bind(this),{passive:!1}),this.closeButtonHandler=new h(this.elementCloseButton,"click",this.onCloseButtonClicked.bind(this)),this.closeButtonTouchHandler=new h(this.elementCloseButton,"touchstart",this.onCloseButtonClicked.bind(this)),this.auxClickHandler=new h(this.elementBase,"auxclick",this.onCloseButtonClicked.bind(this)),this.contextMenuHandler=new h(this.elementBase,"contextmenu",this.oncontextMenuClicked.bind(this))}_createClass(b,[{key:"addListener",value:function addListener(e){this.eventListeners.push(e)}},{key:"removeListener",value:function removeListener(e){this.eventListeners.splice(this.eventListeners.indexOf(e),1)}},{key:"undockEnabled",value:function undockEnabled(e){this.undockInitiator.enabled=e}},{key:"oncontextMenuClicked",value:function oncontextMenuClicked(e){e.preventDefault(),!this._ctxMenu&&b.createContextMenuContentCallback?(this._ctxMenu=document.createElement("div"),this._ctxMenu.className="dockspab-tab-handle-context-menu",b.createContextMenuContentCallback(this,this._ctxMenu,this.parent.container.dockManager.context.model.documentManagerNode.children),this._ctxMenu.style.left=e.pageX+"px",this._ctxMenu.style.top=e.pageY+"px",document.body.appendChild(this._ctxMenu),this._windowsContextMenuCloseBound=this.windowsContextMenuClose.bind(this),window.addEventListener("mouseup",this._windowsContextMenuCloseBound)):this.closeContextMenu()}},{key:"closeContextMenu",value:function closeContextMenu(){this._ctxMenu&&(document.body.removeChild(this._ctxMenu),delete this._ctxMenu,window.removeEventListener("mouseup",this._windowsContextMenuCloseBound))}},{key:"windowsContextMenuClose",value:function windowsContextMenuClose(e){var t=e.composedPath();for(var _e7 in t){if(t[_e7]==this._ctxMenu)return}this.closeContextMenu()}},{key:"onMouseDown",value:function onMouseDown(e){e.preventDefault(),this.parent.onSelected(),this.mouseMoveHandler&&(this.mouseMoveHandler.cancel(),delete this.mouseMoveHandler),this.touchMoveHandler&&(this.touchMoveHandler.cancel(),delete this.touchMoveHandler),this.mouseUpHandler&&(this.mouseUpHandler.cancel(),delete this.mouseUpHandler),this.touchUpHandler&&(this.touchUpHandler.cancel(),delete this.touchUpHandler),this.stargDragPosition=e.clientX,this.mouseMoveHandler=new h(window,"mousemove",this.onMouseMove.bind(this)),this.touchMoveHandler=new h(window,"touchmove",this.onMouseMove.bind(this),{passive:!1}),this.mouseUpHandler=new h(window,"mouseup",this.onMouseUp.bind(this)),this.touchUpHandler=new h(window,"touchend",this.onMouseUp.bind(this))}},{key:"onMouseUp",value:function onMouseUp(e){this.elementBase&&this.elementBase.classList.remove("dockspan-tab-handle-dragged"),this.dragged=!1,this.mouseMoveHandler&&this.mouseMoveHandler.cancel(),this.touchMoveHandler&&this.touchMoveHandler.cancel(),this.mouseUpHandler&&this.mouseUpHandler.cancel(),this.touchUpHandler&&this.touchUpHandler.cancel(),delete this.mouseMoveHandler,delete this.touchMoveHandler,delete this.mouseUpHandler,delete this.touchUpHandler}},{key:"moveTabEvent",value:function moveTabEvent(e,t){e.eventListeners.forEach(function(n){n.onMoveTab&&n.onMoveTab({self:e,state:t})})}},{key:"onMouseMove",value:function onMouseMove(e){if(e.preventDefault(),!(Math.abs(this.stargDragPosition-e.clientX)<10)&&null!=this.elementBase){this.elementBase.classList.add("dockspan-tab-handle-dragged"),this.dragged=!0,this.prev=this.current,this.current=e.clientX,this.direction=this.current-this.prev;var _t7=this.elementBase.getBoundingClientRect(),n=this.direction<0?{state:"left",bound:_t7.left,rect:_t7}:{state:"right",bound:_t7.right,rect:_t7};(e.clientX<_t7.left&&this.direction<0||e.clientX>_t7.left+_t7.width&&this.direction>0)&&this.moveTabEvent(this,n.state)}}},{key:"hideCloseButton",value:function hideCloseButton(e){this.elementCloseButton.style.display=e?"none":"block"}},{key:"updateTitle",value:function updateTitle(){if(this.parent.container instanceof d){var _e8=this.parent.container.getRawTitle();this.elementText.innerHTML=_e8}}},{key:"destroy",value:function destroy(){this.parent.container.removeListener(this.undockListener),this.mouseDownHandler.cancel(),this.touchDownHandler.cancel(),this.closeButtonHandler.cancel(),this.closeButtonTouchHandler.cancel(),this.auxClickHandler.cancel(),this.mouseMoveHandler&&this.mouseMoveHandler.cancel(),this.touchMoveHandler&&this.touchMoveHandler.cancel(),this.mouseUpHandler&&this.mouseUpHandler.cancel(),this.touchUpHandler&&this.touchUpHandler.cancel(),this.contextMenuHandler&&this.contextMenuHandler.cancel(),this.elementBase&&(a.removeNode(this.elementBase),delete this.elementBase),this.elementCloseButton&&(a.removeNode(this.elementCloseButton),delete this.elementCloseButton)}},{key:"_performUndock",value:function _performUndock(e,t){return"panel"===this.parent.container.containerType?(this.undockInitiator.enabled=!1,this.parent.container.performUndockToDialog(e,t)):null}},{key:"onCloseButtonClicked",value:function onCloseButtonClicked(e){"none"!==this.elementCloseButton.style.display&&2!==e.button&&"panel"===this.parent.container.containerType&&this.parent.container.close()}},{key:"setSelected",value:function setSelected(e){e?this.elementBase.classList.add("dockspan-tab-handle-selected"):(this.elementBase.classList.remove("dockspan-tab-handle-selected"),this.elementBase.classList.remove("dockspan-tab-handle-active"))}},{key:"setActive",value:function setActive(e){this.elementBase&&(e?this.elementBase.classList.add("dockspan-tab-handle-active"):this.elementBase.classList.remove("dockspan-tab-handle-active"))}}]);return b}();b.createContextMenuContentCallback=function(e,n,i){var s=document.createElement("div");s.innerText="Close all documents",n.append(s);var o=document.createElement("div");o.innerText="Close all documents but this",n.append(o),s.onclick=function(){for(var _e9=i.length-1;_e9>=0;_e9--){var _n4=i[_e9].container;_n4.panelType==t.document&&_n4.close()}e.closeContextMenu()},o.onclick=function(){for(var _n5=i.length-1;_n5>=0;_n5--){var _s6=i[_n5].container;e.parent.container!=_s6&&_s6.panelType==t.document&&_s6.close()}e.closeContextMenu()}};var E=function(){function E(e,t){_classCallCheck(this,E);0!==arguments.length&&(this.selected=!1,this.host=e,this.container=t,this.handle=new b(this),this.containerElement=t.containerElement,t instanceof d&&(this.panel=t,this.panel.onTitleChanged=this.onTitleChanged.bind(this),this.onTitleChanged()),t.tabPage=this)}_createClass(E,[{key:"onTitleChanged",value:function onTitleChanged(){this.handle.updateTitle(),this.panel&&(this.panel.hasChanges?this.handle.elementText.classList.add("panel-has-changes"):this.handle.elementText.classList.remove("panel-has-changes"))}},{key:"destroy",value:function destroy(){this.handle.destroy(),this.container instanceof d&&delete this.container.onTitleChanged,this.host.dockManager.activePanel==this.panel&&(this.host.dockManager.activePanel=null),this.container.tabPage=null,a.removeNode(this.containerElement)}},{key:"onSelected",value:function onSelected(){this.host.onTabPageSelected(this,!0),this.container instanceof d&&this.container.dockManager.notifyOnTabChange(this)}},{key:"setSelected",value:function setSelected(e,t){if(this.selected=e,this.handle.setSelected(e),this._initContent||this.host.contentElement.appendChild(this.containerElement),this._initContent=!0,this.selected){this.containerElement.style.display="block",this.panel.setVisible(!0);var _e10=this.host.contentElement.clientWidth,n=this.host.contentElement.clientHeight;this.container.resize(_e10,n),t&&(this.host.dockManager.activePanel=this.container)}else this.containerElement.style.display="none",this.panel.setVisible(!1)}},{key:"resize",value:function resize(e,t){this.container.resize(e,t)}}]);return E}();!function(e){e[e.TOP=0]="TOP",e[e.BOTTOM=1]="BOTTOM",e[e.LEFT=2]="LEFT",e[e.RIGHT=3]="RIGHT"}(n||(n={}));var H=function(){function H(e,t,i){var _this14=this;_classCallCheck(this,H);if(void 0===t&&(t=n.BOTTOM),void 0===i&&(i=!1),this.dockManager=e,this.tabStripDirection=t,this.displayCloseButton=i,this.pages=[],this.eventListeners=[],this.tabHandleListener={onMoveTab:function onMoveTab(e){_this14.onMoveTab(e)}},this.hostElement=document.createElement("div"),this.tabListElement=document.createElement("div"),this.separatorElement=document.createElement("div"),this.contentElement=document.createElement("div"),this.contentElement.tabIndex=0,this.createTabPage=this._createDefaultTabPage,this.tabStripDirection===n.BOTTOM)this.hostElement.appendChild(this.contentElement),this.hostElement.appendChild(this.separatorElement),this.hostElement.appendChild(this.tabListElement);else{if(this.tabStripDirection!==n.TOP)throw new Error("Only top and bottom tab strip orientations are supported");this.hostElement.appendChild(this.tabListElement),this.hostElement.appendChild(this.separatorElement),this.hostElement.appendChild(this.contentElement)}this.hostElement.classList.add("dockspan-tab-host"),this.tabListElement.classList.add("dockspan-tab-handle-list-container"),this.separatorElement.classList.add("dockspan-tab-handle-content-seperator"),this.contentElement.classList.add("dockspan-tab-content"),this.contentElement.tabIndex=0,this.focusHandler=new h(this.contentElement,"focus",this.onFocus.bind(this),!0),this.mouseDownHandler=new h(this.contentElement,"mousedown",this.onMousedown.bind(this),!0)}_createClass(H,[{key:"onFocus",value:function onFocus(){this.activeTab&&this.dockManager.activePanel!=this.activeTab.panel&&(this.dockManager.activePanel=this.activeTab.panel)}},{key:"setActive",value:function setActive(e){e?this.separatorElement.classList.add("dockspan-tab-handle-content-seperator-active"):this.separatorElement.classList.remove("dockspan-tab-handle-content-seperator-active"),this.activeTab&&this.activeTab.handle.setActive(e)}},{key:"onMousedown",value:function onMousedown(){this.activeTab&&this.dockManager.activePanel!=this.activeTab.panel&&(this.dockManager.activePanel=this.activeTab.panel)}},{key:"onMoveTab",value:function onMoveTab(e){var t=Array.prototype.slice.call(this.tabListElement.childNodes).indexOf(e.self.elementBase);this.change(this,e.self,e.state,t)}},{key:"performTabsLayout",value:function performTabsLayout(e){this.pages=a.orderByIndexes(this.pages,e);var t=this.tabListElement.childNodes,n=[];for(var _e11 in t){1===t[_e11].nodeType&&n.push(t[_e11])}n=a.orderByIndexes(n,e);for(var _e12=0;_e12<n.length;++_e12){this.tabListElement.appendChild(n[_e12])}this.activeTab&&this.onTabPageSelected(this.activeTab,!1)}},{key:"getActiveTab",value:function getActiveTab(){return this.activeTab}},{key:"addListener",value:function addListener(e){this.eventListeners.push(e)}},{key:"removeListener",value:function removeListener(e){this.eventListeners.splice(this.eventListeners.indexOf(e),1)}},{key:"change",value:function change(e,t,n,i){this.eventListeners.forEach(function(s){s.onChange&&s.onChange({host:e,handle:t,state:n,index:i})})}},{key:"_createDefaultTabPage",value:function _createDefaultTabPage(e,t){return new E(e,t)}},{key:"setActiveTab",value:function setActiveTab(e){var t;this.pages.forEach(function(n){n.container===e&&(t=n)}),this.pages.length>0&&t&&(this.onTabPageSelected(t,!0),this.dockManager.activePanel=e)}},{key:"resize",value:function resize(e,t){var _this15=this;this.hostElement.style.width=e+"px",this.hostElement.style.height=t+"px";var n=this.tabListElement.clientHeight;this._resizeRequested||requestAnimationFrame(function(){return _this15.resizeTabListElement(e,t)}),this._resizeRequested=!0;var i=this.separatorElement.clientHeight,s=t-n-i;this.contentElement.style.height=s+"px",this.activeTab&&this.activeTab.resize(e,s)}},{key:"resizeTabListElement",value:function resizeTabListElement(e,t){var _this16=this;if(this._resizeRequested=!1,0===this.pages.length)return;var n=0;this.pages.forEach(function(e){var t=e.handle;null!=t.elementBase&&(t.elementBase.style.width="",n+=t.elementBase.clientWidth)});var i=e/n;i>1.2||this.pages.forEach(function(e,t){var n=e.handle,s=i*n.elementBase.clientWidth;t===_this16.pages.length-1&&(s-=5),n.elementBase.style.width=s+"px"})}},{key:"performLayout",value:function performLayout(e){var _this17=this;this.pages.forEach(function(t){if(!e.some(function(e){return e==t.container})){t.handle.removeListener(_this17.tabHandleListener),t.destroy();var _e13=_this17.pages.indexOf(t);_e13>-1&&_this17.pages.splice(_e13,1)}});var t=this.activeTab;delete this.activeTab;var n=e.filter(function(e){return"panel"===e.containerType});n.length>0?(n.forEach(function(e){var n=null;_this17.pages.some(function(t){return t.container==e&&(n=t,!0)})||(n=_this17.createTabPage(_this17,e),n.handle.addListener(_this17.tabHandleListener),_this17.pages.push(n)),t&&n.container===t.container&&(_this17.activeTab=n)}),this._setTabHandlesVisible(!0)):this._setTabHandlesVisible(!1),this.activeTab&&this.onTabPageSelected(this.activeTab,!1)}},{key:"_setTabHandlesVisible",value:function _setTabHandlesVisible(e){e?(this.tabListElement.classList.add("dockspan-tab-handle-list-container-visible"),this.separatorElement.classList.add("dockspan-tab-handle-content-seperator-visible")):(this.tabListElement.classList.remove("dockspan-tab-handle-list-container-visible"),this.separatorElement.classList.remove("dockspan-tab-handle-content-seperator-visible"))}},{key:"onTabPageSelected",value:function onTabPageSelected(e,t){this.activeTab=e,this.pages.forEach(function(n){var i=n===e;n.setSelected(i,t)})}}]);return H}();var D=function(){function D(t,i){var _this18=this;_classCallCheck(this,D);void 0===i&&(i=n.BOTTOM),this.dockManager=t,this.tabOrientation=i,this.name=a.getNextId("fill_"),this.element=document.createElement("div"),this.containerElement=this.element,this.containerType=e.fill,this.minimumAllowedChildNodes=2,this.element.classList.add("dock-container"),this.element.classList.add("dock-container-fill"),this.tabHost=new H(t,this.tabOrientation),this.tabHostListener={onChange:function onChange(e){_this18.dockManager._requestTabReorder(_this18,e)}},this.tabHost.addListener(this.tabHostListener),this.element.appendChild(this.tabHost.hostElement)}_createClass(D,[{key:"setActiveChild",value:function setActiveChild(e){this.tabHost.setActiveTab(e)}},{key:"resize",value:function resize(e,t){this.element.style.width=e+"px",this.element.style.height=t+"px",this.tabHost.resize(e,t)}},{key:"performLayout",value:function performLayout(e){this.tabHost.performLayout(e)}},{key:"destroy",value:function destroy(){a.removeNode(this.element)&&delete this.element}},{key:"saveState",value:function saveState(e){e.width=this.width,e.height=this.height}},{key:"loadState",value:function loadState(e){this.state={width:e.width,height:e.height}}},{key:"width",get:function get(){return this.element.clientWidth},set:function set(e){this.element.style.width=e+"px"}},{key:"height",get:function get(){return this.element.clientHeight},set:function set(e){this.element.style.height=e+"px"}}]);return D}();var x=function(){function x(e){_classCallCheck(this,x);this._forceResizeCompositeContainer=function(e){var t=e.containerElement.clientWidth,n=e.containerElement.clientHeight;e.resize(t,n)},this.dockManager=e}_createClass(x,[{key:"dockLeft",value:function dockLeft(e,t){this._performDock(e,t,"horizontal",!0)}},{key:"dockRight",value:function dockRight(e,t){this._performDock(e,t,"horizontal",!1)}},{key:"dockUp",value:function dockUp(e,t){this._performDock(e,t,"vertical",!0)}},{key:"dockDown",value:function dockDown(e,t){this._performDock(e,t,"vertical",!1)}},{key:"dockFill",value:function dockFill(e,t){this._performDock(e,t,"fill",!1)}},{key:"undock",value:function undock(e){var t=e.parent;if(!t)throw new Error("Cannot undock. panel is not a leaf node");var n=t.children.indexOf(e);if(e.detachFromParent(),t.children.length<t.container.minimumAllowedChildNodes){var _e14=t.parent;for(var _n6=0;_n6<t.children.length;_n6++){var i=t.children[_n6];if(_e14){_e14.addChildAfter(t,i),t.detachFromParent();var _n7=t.container.containerElement.clientWidth,_s7=t.container.containerElement.clientHeight;t.container.destroy(),i.container.resize(_n7,_s7),_e14.performLayout(!1)}else t.detachFromParent(),t.container.destroy(),this.dockManager.setRootNode(i)}}else if(t.performLayout(!1),t.children.length>0){var _e15=t.children[Math.max(0,n-1)];t.container.setActiveChild(_e15.container)}this.dockManager.invalidate(),this.dockManager.notifyOnUnDock(e)}},{key:"close",value:function close(e){var t=null==e?void 0:e.parent;if(!t)throw new Error("Cannot undock. panel is not a leaf node");var n=!1;t.children.length>0&&null!=t.container.tabHost&&(n=t.container.tabHost.getActiveTab().container==e.container);var i=t.children.indexOf(e);if(e.detachFromParent(),t.children.length<t.container.minimumAllowedChildNodes){var _e16=t.parent;for(var _n8=0;_n8<t.children.length;_n8++){var _i6=t.children[_n8];if(_e16){_e16.addChildAfter(t,_i6),t.detachFromParent();var _n9=t.container.containerElement.clientWidth,_s8=t.container.containerElement.clientHeight;_i6.container.resize(_n9,_s8),t.container.destroy(),_e16.performLayout(!1)}else t.detachFromParent(),t.container.destroy(),this.dockManager.setRootNode(_i6)}}else if(t.performLayout(!1),n){var _e17=t.children[Math.max(0,i-1)];null!=_e17&&t.container.setActiveChild(_e17.container)}this.dockManager.invalidate(),this.dockManager.notifyOnUnDock(e)}},{key:"reorderTabs",value:function reorderTabs(e,t,n,i){var s=e.children.length,o="left"===n?i:i+1;if("right"==n&&o>=e.children.length)return;if("left"==n&&0==o)return;var l=Array.apply(null,{length:s}).map(Number.call,Number),h=l.splice(o,1)[0];l.splice("left"===n?i-1:i,0,h),e.children=a.orderByIndexes(e.children,l),e.container.tabHost.performTabsLayout(l),this.dockManager.notifyOnTabsReorder(e)}},{key:"_performDock",value:function _performDock(e,t,n,i){if(e.parent&&"fill"===e.parent.container.containerType&&(e=e.parent),"fill"===n&&"fill"===e.container.containerType)return e.addChild(t),e.performLayout(!1),e.container.setActiveChild(t.container),this.dockManager.invalidate(),void this.dockManager.notifyOnDock(t);var s,o,l;if(e===this.dockManager.context.model.rootNode)return i?(s=this._createDockContainer(n,t,e),o=new f(s),o.addChild(t),o.addChild(e)):(s=this._createDockContainer(n,e,t),o=new f(s),o.addChild(e),o.addChild(t)),this.dockManager.setRootNode(o),this.dockManager.rebuildLayout(this.dockManager.context.model.rootNode),o.container.setActiveChild(t.container),this.dockManager.invalidate(),void this.dockManager.notifyOnDock(t);if(e.parent.container.containerType!==n){l=e.parent;var _h=e.container.containerElement.clientWidth,_r=e.container.containerElement.clientHeight,_d=l.container.containerElement.clientWidth,_c=l.container.containerElement.clientHeight;s=this._createDockContainer(n,t,e),o=new f(s),l.addChildAfter(e,o),e.detachFromParent(),a.removeNode(e.container.containerElement),i?(o.addChild(t),o.addChild(e)):(o.addChild(e),o.addChild(t)),l.performLayout(!1),o.performLayout(!0),o.container.setActiveChild(t.container),o.container.resize(_h,_r),l.container.resize(_d,_c)}else l=e.parent,i?l.addChildBefore(e,t):l.addChildAfter(e,t),l.performLayout(!1),l.container.setActiveChild(t.container);var h=t.container.containerElement.clientWidth,r=t.container.containerElement.clientHeight;t.container.resize(h,r),this.dockManager.invalidate(),this.dockManager.notifyOnDock(t)}},{key:"_createDockContainer",value:function _createDockContainer(e,t,n){if("horizontal"===e)return new k(this.dockManager,[t.container,n.container]);if("vertical"===e)return new M(this.dockManager,[t.container,n.container]);if("fill"===e)return new D(this.dockManager);throw new Error("Failed to create dock container of type: "+e)}},{key:"getDockBounds",value:function getDockBounds(e,t,n,i){var s,o,l,a;if("fill"===n){var _t8=e.container.containerElement,_n10=this.dockManager.element.getBoundingClientRect(),_i7=_t8.getBoundingClientRect();return{x:_i7.left-_n10.left,y:_i7.top-_n10.top,width:_t8.clientWidth,height:_t8.clientHeight}}e.parent&&"fill"===e.parent.container.containerType&&(e=e.parent);var h=!1;e.parent&&e.parent.container.containerType===n?(s=e.parent,o=s.children.length,l=s.children.indexOf(e)+(i?0:1)):(s=e,o=1,l=i?0:1,h=!0);var r=0,d=0;if("vertical"===n||"horizontal"===n){var _e18=this._getVaringDimension(s.container,n)-5*(o-1),_a=this._getVaringDimension(t,n),_c2=_e18/(_e18+_a);if(r=_a*_c2,h)d=i?0:_e18*_c2;else{for(var _e19=0;_e19<l;_e19++){d+=this._getVaringDimension(s.children[_e19].container,n)}d*=_c2}}a={};var c=this.dockManager.element.getBoundingClientRect(),u=s.container.containerElement.getBoundingClientRect();return"vertical"===n?(a.x=u.left-c.left,a.y=u.top-c.top+d,a.width=s.container.width,a.height=r):"horizontal"===n&&(a.x=u.left-c.left+d,a.y=u.top-c.top,a.width=r,a.height=s.container.height),a}},{key:"_getVaringDimension",value:function _getVaringDimension(e,t){return"vertical"===t?e.height:"horizontal"===t?e.width:0}}]);return x}();var _=function(){function _(e,t){_classCallCheck(this,_);this.wheel=e,this.id=t;var n=t.replace("-s","");this.element=document.createElement("div"),this.element.classList.add("dock-wheel-item"),this.element.classList.add("disable-selection"),this.element.classList.add("dock-wheel-"+n),this.element.classList.add("dock-wheel-"+n+"-icon"),this.hoverIconClass="dock-wheel-"+n+"-icon-hover",this.mouseOverHandler=new h(this.element,"mouseover",this.onMouseMoved.bind(this)),this.mouseOutHandler=new h(this.element,"mouseout",this.onMouseOut.bind(this)),this.active=!1}_createClass(_,[{key:"onMouseMoved",value:function onMouseMoved(){this.active=!0,this.element.classList.add(this.hoverIconClass),this.wheel.onMouseOver(this)}},{key:"onMouseOut",value:function onMouseOut(){this.active=!1,this.element.classList.remove(this.hoverIconClass),this.wheel.onMouseOut()}}]);return _}();!function(e){e.left="left",e.right="right",e.top="top",e.down="down",e.fill="fill",e["left-s"]="left-s",e["right-s"]="right-s",e["top-s"]="top-s",e["down-s"]="down-s"}(i||(i={}));var T=function(){function T(e){_classCallCheck(this,T);this.dockManager=e,this.elementMainWheel=document.createElement("div"),this.elementSideWheel=document.createElement("div"),this.wheelItems={};for(var _e20 in i){this.wheelItems[_e20]=new _(this,_e20),"-s"===_e20.substr(-2,2)?this.elementSideWheel.appendChild(this.wheelItems[_e20].element):this.elementMainWheel.appendChild(this.wheelItems[_e20].element)}this.elementMainWheel.classList.add("dock-wheel-base"),this.elementSideWheel.classList.add("dock-wheel-base"),this.elementMainWheel.style.zIndex=String(9000001),this.elementSideWheel.style.zIndex=String(9e6),this.elementPanelPreview=document.createElement("div"),this.elementPanelPreview.classList.add("dock-wheel-panel-preview"),this.elementPanelPreview.style.zIndex=String(8999999),this.activeDialog=void 0,this._activeNode=void 0,this._visible=!1}_createClass(T,[{key:"activeNode",get:function get(){return this._activeNode},set:function set(e){var t=this._activeNode;this._activeNode=e,t!==this._activeNode&&this._visible&&this.showWheel()}},{key:"showWheel",value:function showWheel(){if(this._visible=!0,!this.activeNode)return a.removeNode(this.elementMainWheel),void a.removeNode(this.elementSideWheel);var e=this.activeNode.container.containerElement,t=e.clientWidth,n=e.clientHeight,s=Math.floor(t/2),o=Math.floor(n/2),l=e.getBoundingClientRect(),h=this.dockManager.element.getBoundingClientRect();this.elementMainWheel.style.left=l.left-h.left+s+"px",this.elementMainWheel.style.top=l.top-h.top+o+"px";var r=this.dockManager.element.clientWidth,d=this.dockManager.element.clientHeight;a.removeNode(this.elementMainWheel),a.removeNode(this.elementSideWheel),this.dockManager.element.appendChild(this.elementMainWheel),this.dockManager.element.appendChild(this.elementSideWheel),this._setWheelButtonPosition(i["left-s"],20,-d/2),this._setWheelButtonPosition(i["right-s"],r-40,-d/2),this._setWheelButtonPosition(i["top-s"],r/2,20-d),this._setWheelButtonPosition(i["down-s"],r/2,-20)}},{key:"_setWheelButtonPosition",value:function _setWheelButtonPosition(e,t,n){var i=this.wheelItems[e],s=i.element.clientWidth/2,o=i.element.clientHeight/2,l=Math.floor(t-s),a=Math.floor(n-o);i.element.style.marginLeft=l+"px",i.element.style.marginTop=a+"px"}},{key:"hideWheel",value:function hideWheel(){this._visible=!1,this.activeNode=void 0,a.removeNode(this.elementMainWheel),a.removeNode(this.elementSideWheel),a.removeNode(this.elementPanelPreview);for(var _e21 in this.wheelItems){this.wheelItems[_e21].active=!1}}},{key:"onMouseOver",value:function onMouseOver(e){if(!this.activeDialog)return;var t,n=this.dockManager.context.model.rootNode;e.id===i.top?t=this.dockManager.layoutEngine.getDockBounds(this.activeNode,this.activeDialog.panel,"vertical",!0):e.id===i.down?t=this.dockManager.layoutEngine.getDockBounds(this.activeNode,this.activeDialog.panel,"vertical",!1):e.id===i.left?t=this.dockManager.layoutEngine.getDockBounds(this.activeNode,this.activeDialog.panel,"horizontal",!0):e.id===i.right?t=this.dockManager.layoutEngine.getDockBounds(this.activeNode,this.activeDialog.panel,"horizontal",!1):e.id===i.fill?t=this.dockManager.layoutEngine.getDockBounds(this.activeNode,this.activeDialog.panel,"fill",!1):e.id===i["top-s"]?t=this.dockManager.layoutEngine.getDockBounds(n,this.activeDialog.panel,"vertical",!0):e.id===i["down-s"]?t=this.dockManager.layoutEngine.getDockBounds(n,this.activeDialog.panel,"vertical",!1):e.id===i["left-s"]?t=this.dockManager.layoutEngine.getDockBounds(n,this.activeDialog.panel,"horizontal",!0):e.id===i["right-s"]&&(t=this.dockManager.layoutEngine.getDockBounds(n,this.activeDialog.panel,"horizontal",!1)),t&&(this.dockManager.element.appendChild(this.elementPanelPreview),this.elementPanelPreview.style.left=Math.round(t.x)+"px",this.elementPanelPreview.style.top=Math.round(t.y)+"px",this.elementPanelPreview.style.width=Math.round(t.width)+"px",this.elementPanelPreview.style.height=Math.round(t.height)+"px")}},{key:"onMouseOut",value:function onMouseOut(){a.removeNode(this.elementPanelPreview)}},{key:"onDialogDropped",value:function onDialogDropped(e){var t=this._getActiveWheelItem();t&&this._handleDockRequest(t,e)}},{key:"_getActiveWheelItem",value:function _getActiveWheelItem(){for(var _e22 in this.wheelItems){var _t9=this.wheelItems[_e22];if(_t9.active)return _t9}}},{key:"_handleDockRequest",value:function _handleDockRequest(e,t){e.active=!1,e.element.classList.remove(e.hoverIconClass),this.activeNode&&(e.id===i.left?this.dockManager.dockDialogLeft(this.activeNode,t):e.id===i.right?this.dockManager.dockDialogRight(this.activeNode,t):e.id===i.top?this.dockManager.dockDialogUp(this.activeNode,t):e.id===i.down?this.dockManager.dockDialogDown(this.activeNode,t):e.id===i.fill?this.dockManager.dockDialogFill(this.activeNode,t):e.id===i["left-s"]?this.dockManager.dockDialogLeft(this.dockManager.context.model.rootNode,t):e.id===i["right-s"]?this.dockManager.dockDialogRight(this.dockManager.context.model.rootNode,t):e.id===i["top-s"]?this.dockManager.dockDialogUp(this.dockManager.context.model.rootNode,t):e.id===i["down-s"]&&this.dockManager.dockDialogDown(this.dockManager.context.model.rootNode,t))}}]);return T}();var P=_createClass(function P(){_classCallCheck(this,P);this.rootNode=this.documentManagerNode=void 0});var L=function(_E){_inherits(L,_E);var _super3=_createSuper(L);function L(e,t){var _this19;_classCallCheck(this,L);_this19=_super3.call(this,e,t),"panel"===_this19.container.containerType&&(_this19.panel=t,_this19.containerElement=_this19.panel.elementContentWrapper,a.removeNode(_this19.containerElement));return _this19}_createClass(L,[{key:"destroy",value:function destroy(){_get(_getPrototypeOf(L.prototype),"destroy",this).call(this),this.panel.elementContentHost.appendChild(this.containerElement)}}]);return L}(E);var B=function(_D){_inherits(B,_D);var _super4=_createSuper(B);function B(e){var _this20;_classCallCheck(this,B);_this20=_super4.call(this,e,n.TOP),_this20.minimumAllowedChildNodes=0,_this20.element.classList.add("document-manager"),_this20.tabHost.createTabPage=_this20._createDocumentTabPage,_this20.tabHost.displayCloseButton=!0;return _this20}_createClass(B,[{key:"_createDocumentTabPage",value:function _createDocumentTabPage(e,t){return new L(e,t)}},{key:"saveState",value:function saveState(e){_get(_getPrototypeOf(B.prototype),"saveState",this).call(this,e),e.documentManager=!0}},{key:"selectedTab",value:function selectedTab(){return this.tabHost.activeTab}}]);return B}(D);var z=_createClass(function z(e){_classCallCheck(this,z);this.dockManager=e,this.model=new P,this.documentManagerView=new B(this.dockManager)});var N=function(){function N(e){_classCallCheck(this,N);this.dockManager=e}_createClass(N,[{key:"deserialize",value:function(){var _deserialize=_asyncToGenerator(_regeneratorRuntime().mark(function _callee3(e){var t,n;return _regeneratorRuntime().wrap(function _callee3$(_context3){while(1){switch(_context3.prev=_context3.next){case 0:t=JSON.parse(e),n=new P;_context3.next=3;return this._buildGraph(t.graphInfo);case 3:n.rootNode=_context3.sent;_context3.next=6;return this._buildDialogs(t.dialogsInfo);case 6:n.dialogs=_context3.sent;n.documentManagerNode=this.documentManagerNode;return _context3.abrupt("return",n);case 9:case"end":return _context3.stop()}}},_callee3,this)}));function deserialize(_x3){return _deserialize.apply(this,arguments)}return deserialize}()},{key:"_buildGraph",value:function(){var _buildGraph2=_asyncToGenerator(_regeneratorRuntime().mark(function _callee4(e){var t,n,_iterator8,_step8,_e23,_t10,i,s,_iterator9,_step9,_e24;return _regeneratorRuntime().wrap(function _callee4$(_context4){while(1){switch(_context4.prev=_context4.next){case 0:t=e.children,n=[];_iterator8=_createForOfIteratorHelper(t);_context4.prev=2;_iterator8.s();case 4:if((_step8=_iterator8.n()).done){_context4.next=12;break}_e23=_step8.value;_context4.next=8;return this._buildGraph(_e23);case 8:_t10=_context4.sent;null!==_t10&&n.push(_t10);case 10:_context4.next=4;break;case 12:_context4.next=17;break;case 14:_context4.prev=14;_context4.t0=_context4["catch"](2);_iterator8.e(_context4.t0);case 17:_context4.prev=17;_iterator8.f();return _context4.finish(17);case 20:_context4.next=22;return this._createContainer(e,n);case 22:i=_context4.sent;if(!(null===i)){_context4.next=25;break}return _context4.abrupt("return",null);case 25:s=new f(i);i instanceof B&&(this.documentManagerNode=s),s.children=n;_iterator9=_createForOfIteratorHelper(s.children.reverse());try{for(_iterator9.s();!(_step9=_iterator9.n()).done;){_e24=_step9.value;_e24.parent=s}}catch(err){_iterator9.e(err)}finally{_iterator9.f()}return _context4.abrupt("return",(s.children.reverse(),s));case 30:case"end":return _context4.stop()}}},_callee4,this,[[2,14,17,20]])}));function _buildGraph(_x4){return _buildGraph2.apply(this,arguments)}return _buildGraph}()},{key:"_createContainer",value:function(){var _createContainer2=_asyncToGenerator(_regeneratorRuntime().mark(function _callee5(e,t){var n,i,s,o,_iterator10,_step10,_e25;return _regeneratorRuntime().wrap(function _callee5$(_context5){while(1){switch(_context5.prev=_context5.next){case 0:i=e.containerType,s=e.state,o=[];_iterator10=_createForOfIteratorHelper(t);try{for(_iterator10.s();!(_step10=_iterator10.n()).done;){_e25=_step10.value;o.push(_e25.container)}}catch(err){_iterator10.e(err)}finally{_iterator10.f()}if(!("panel"===i)){_context5.next=12;break}_context5.next=6;return d.loadFromState(s,this.dockManager);case 6:n=_context5.sent;if(n.prepareForDocking){_context5.next=9;break}return _context5.abrupt("return",null);case 9:n.prepareForDocking(),a.removeNode(n.elementPanel);_context5.next=23;break;case 12:if(!("horizontal"===i)){_context5.next=16;break}n=new k(this.dockManager,o);_context5.next=23;break;case 16:if(!("vertical"===i)){_context5.next=20;break}n=new M(this.dockManager,o);_context5.next=23;break;case 20:if(!("fill"!==i)){_context5.next=22;break}throw new Error("Cannot create dock container of unknown type: "+i);case 22:n=s.documentManager?new B(this.dockManager):new D(this.dockManager);case 23:return _context5.abrupt("return",(n.loadState(s),n));case 24:case"end":return _context5.stop()}}},_callee5,this)}));function _createContainer(_x5,_x6){return _createContainer2.apply(this,arguments)}return _createContainer}()},{key:"_buildDialogs",value:function(){var _buildDialogs2=_asyncToGenerator(_regeneratorRuntime().mark(function _callee6(e){var t,_iterator11,_step11,_n11,_e26,_i8,_s9,_i9;return _regeneratorRuntime().wrap(function _callee6$(_context6){while(1){switch(_context6.prev=_context6.next){case 0:t=[];_iterator11=_createForOfIteratorHelper(e);_context6.prev=2;_iterator11.s();case 4:if((_step11=_iterator11.n()).done){_context6.next=19;break}_n11=_step11.value;_e26=void 0,_i8=_n11.containerType,_s9=_n11.state;_context6.t0="panel"===_i8;if(!_context6.t0){_context6.next=13;break}_context6.next=11;return d.loadFromState(_s9,this.dockManager);case 11:_e26=_context6.sent;_context6.t0=_e26.prepareForDocking;case 13:if(!_context6.t0){_context6.next=17;break}a.removeNode(_e26.elementPanel),_e26.isDialog=!0;_i9=new g(_e26,this.dockManager);(_n11.position.x>document.body.clientWidth||_n11.position.y>document.body.clientHeight-70)&&(_n11.position.x=20,_n11.position.y=70),_i9.setPosition(_n11.position.x,_n11.position.y),_i9.isHidden=_n11.isHidden,_i9.isHidden&&_i9.hide(),t.push(_i9);case 17:_context6.next=4;break;case 19:_context6.next=24;break;case 21:_context6.prev=21;_context6.t1=_context6["catch"](2);_iterator11.e(_context6.t1);case 24:_context6.prev=24;_iterator11.f();return _context6.finish(24);case 27:return _context6.abrupt("return",t);case 28:case"end":return _context6.stop()}}},_callee6,this,[[2,21,24,27]])}));function _buildDialogs(_x7){return _buildDialogs2.apply(this,arguments)}return _buildDialogs}()}]);return N}();var S=function(){function S(e,t){_classCallCheck(this,S);if(void 0===e)throw new Error("Invalid Dock Manager element provided");this._config=Object.assign(new p,t),this.element=e,this.context=this.dockWheel=this.layoutEngine=this.mouseMoveHandler=this.touchMoveHandler=void 0,this.layoutEventListeners=[],this.defaultDialogPosition=new l(0,0)}_createClass(S,[{key:"config",get:function get(){return this._config}},{key:"initialize",value:function initialize(){this.backgroundContext=this.element.children[0],this.context=new z(this);var e=new f(this.context.documentManagerView);this.context.model.rootNode=e,this.context.model.documentManagerNode=e,this.context.model.dialogs=[],this.setRootNode(this.context.model.rootNode),this.resize(this.element.clientWidth,this.element.clientHeight),this.dockWheel=new T(this),this.layoutEngine=new x(this),this._undockEnabled=!0,this.rebuildLayout(this.context.model.rootNode),this.zIndexCounter=1001,this.zIndexTabHost=1e3,this.zIndexTabHandle=100,this.zIndexDialogCounter=10001,null!=this.backgroundContext&&this.context.model.rootNode.container.tabHost.hostElement.insertBefore(this.backgroundContext,this.context.model.rootNode.container.tabHost.hostElement.firstChild),this.onKeyPressBound=this.onKeyPress.bind(this),this.element.addEventListener("keydown",this.onKeyPressBound)}},{key:"onKeyPress",value:function onKeyPress(e){if("Escape"==e.key&&this.activePanel&&!this.activePanel._hideCloseButton&&(this.activePanel.isDialog&&this._config.escClosesDialog||!this.activePanel.isDialog&&this._config.escClosesWindow)){var _e27=this.activePanel;this.activePanel=null,_e27.close()}}},{key:"checkXBounds",value:function checkXBounds(e,t,n,i,s){if(this._config.moveOnlyWithinDockConatiner)return this.checkXBoundsWithinDockContainer(e,t,n,i,s);var o=this.element.getBoundingClientRect(),l=Math.floor(t.x-n.x),a=e.offsetLeft+e.offsetWidth+l+o.left<40,h=e.offsetLeft+l+o.left>window.innerWidth-40;if(a){n.x=t.x,l=0;var _i10=40-(e.offsetWidth+e.offsetLeft+o.left);_i10>0&&(l=_i10)}else if(h){n.x=t.x,l=0;var _i11=window.innerWidth-40-e.offsetLeft-o.left;_i11>0&&(l=_i11)}return l}},{key:"checkXBoundsWithinDockContainer",value:function checkXBoundsWithinDockContainer(e,t,n,i,s){var o=t.x-n.x,l=this.element.getBoundingClientRect(),a=e.getBoundingClientRect(),h=o<0&&a.left+o<l.left&&!s,r=o>0&&a.right+o>l.right&&!i;return h?(t.x-=o,o=l.left-a.left,t.x-=o):r&&(t.x-=o,o=l.right-a.right,t.x-=o),o}},{key:"checkYBounds",value:function checkYBounds(e,t,n,i,s){if(this._config.moveOnlyWithinDockConatiner)return this.checkYBoundsWithinDockContainer(e,t,n,i,s);var o=this.element.getBoundingClientRect(),l=Math.floor(t.y-n.y),a=e.offsetTop+l+o.top<0,h=e.offsetTop+l+o.top>window.innerHeight-16;if(a)n.y=t.y,l=0;else if(h){n.y=t.y,l=0;var _i12=window.innerHeight-16-e.offsetTop-o.top;_i12>0&&(l=_i12)}return l}},{key:"checkYBoundsWithinDockContainer",value:function checkYBoundsWithinDockContainer(e,t,n,i,s){var o=t.y-n.y,l=this.element.getBoundingClientRect(),a=e.getBoundingClientRect(),h=o<0&&a.top+o<l.top&&!s,r=o>0&&a.bottom+o>l.bottom&&!i;return h?(t.y-=o,o=l.top-a.top,t.y-=o):r&&(t.y-=o,o=l.bottom-a.bottom,t.y-=o),o}},{key:"rebuildLayout",value:function rebuildLayout(e){var _this21=this;e.children.forEach(function(e){_this21.rebuildLayout(e)}),e.performLayout(!1)}},{key:"invalidate",value:function invalidate(){this.resize(this.element.clientWidth,this.element.clientHeight)}},{key:"resize",value:function resize(e,t){this.element.style.width=e+"px",this.element.style.height=t+"px",this.context.model.rootNode.container.resize(e,t);var n=0,i=0;var _iterator12=_createForOfIteratorHelper(this.context.model.dialogs),_step12;try{for(_iterator12.s();!(_step12=_iterator12.n()).done;){var _e28=_step12.value;(_e28.position.x>this.element.clientWidth||_e28.position.y>this.element.clientHeight)&&((n>this.element.clientWidth||i>this.element.clientHeight)&&(n=0,i=0),_e28.setPosition(100+n,100+i),n+=100,i+=100)}}catch(err){_iterator12.e(err)}finally{_iterator12.f()}}},{key:"setModel",value:function setModel(e){a.removeNode(this.context.documentManagerView.containerElement),this.context.model=e,this.setRootNode(e.rootNode),this.rebuildLayout(e.rootNode),this.loadResize(e.rootNode)}},{key:"loadResize",value:function loadResize(e){var _this22=this;e.children.reverse().forEach(function(t){_this22.loadResize(t),e.container.setActiveChild(t.container)}),e.children.reverse();var t=e.container;e.container.resize(t.state.width,t.state.height)}},{key:"setRootNode",value:function setRootNode(e){e.detachFromParent(),this.context.model.rootNode=e,this.element.appendChild(e.container.containerElement)}},{key:"_onDialogDragStarted",value:function _onDialogDragStarted(e,t){this.dockWheel.activeNode=this._findNodeOnPoint(t.clientX,t.clientY),this.dockWheel.activeDialog=e,null!=e.noDocking&&!0===e.noDocking||this.dockWheel.showWheel(),this.mouseMoveHandler&&(this.mouseMoveHandler.cancel(),delete this.mouseMoveHandler),this.touchMoveHandler&&(this.touchMoveHandler.cancel(),delete this.touchMoveHandler),this.mouseMoveHandler=new h(window,"mousemove",this._onMouseMoved.bind(this)),this.touchMoveHandler=new h(window,"touchmove",this._onMouseMoved.bind(this))}},{key:"_onDialogDragEnded",value:function _onDialogDragEnded(e,t){this.mouseMoveHandler&&(this.mouseMoveHandler.cancel(),delete this.mouseMoveHandler),this.touchMoveHandler&&(this.touchMoveHandler.cancel(),delete this.touchMoveHandler),this.dockWheel.onDialogDropped(e),this.dockWheel.hideWheel(),delete this.dockWheel.activeDialog,e.saveState(e.elementDialog.offsetLeft,e.elementDialog.offsetTop)}},{key:"_onMouseMoved",value:function _onMouseMoved(e){null!=e.changedTouches&&(e=e.changedTouches[0]),this.dockWheel.activeNode=this._findNodeOnPoint(e.clientX,e.clientY)}},{key:"_findNodeOnPoint",value:function _findNodeOnPoint(e,t){var n,i=[];for(i.push(this.context.model.rootNode);i.length>0;){var _s10=i.pop();a.isPointInsideNode(e,t,_s10)&&(n=_s10,[].push.apply(i,_s10.children))}return n}},{key:"dockDialogLeft",value:function dockDialogLeft(e,t){return this._requestDockDialog(e,t,this.layoutEngine.dockLeft.bind(this.layoutEngine))}},{key:"dockDialogRight",value:function dockDialogRight(e,t){return this._requestDockDialog(e,t,this.layoutEngine.dockRight.bind(this.layoutEngine))}},{key:"dockDialogUp",value:function dockDialogUp(e,t){return this._requestDockDialog(e,t,this.layoutEngine.dockUp.bind(this.layoutEngine))}},{key:"dockDialogDown",value:function dockDialogDown(e,t){return this._requestDockDialog(e,t,this.layoutEngine.dockDown.bind(this.layoutEngine))}},{key:"dockDialogFill",value:function dockDialogFill(e,t){return this._requestDockDialog(e,t,this.layoutEngine.dockFill.bind(this.layoutEngine))}},{key:"dockLeft",value:function dockLeft(e,t,n){return this._requestDockContainer(e,t,this.layoutEngine.dockLeft.bind(this.layoutEngine),!1,n)}},{key:"dockRight",value:function dockRight(e,t,n){return this._requestDockContainer(e,t,this.layoutEngine.dockRight.bind(this.layoutEngine),!0,n)}},{key:"dockUp",value:function dockUp(e,t,n){return this._requestDockContainer(e,t,this.layoutEngine.dockUp.bind(this.layoutEngine),!1,n)}},{key:"dockDown",value:function dockDown(e,t,n){return this._requestDockContainer(e,t,this.layoutEngine.dockDown.bind(this.layoutEngine),!0,n)}},{key:"dockFill",value:function dockFill(e,t){return this._requestDockContainer(e,t,this.layoutEngine.dockFill.bind(this.layoutEngine),!1)}},{key:"floatDialog",value:function floatDialog(e,t,n,i,s){var o;if(this.context.model.dialogs.forEach(function(i){e==i.panel&&(i.show(),i.setPosition(t,n),o=i)}),o)return o;try{var _t11=this._findNodeFromContainer(e);this.layoutEngine.undock(_t11)}catch(e){}var l=e;a.removeNode(l.elementPanel),l.isDialog=!0;var h=new g(l,this,i,s);return h.setPosition(t,n),h}},{key:"_requestDockDialog",value:function _requestDockDialog(e,t,n){var i=t.panel,s=new f(i);return i.prepareForDocking(),i.elementContentContainer.style.zIndex="",t.destroy(),n(e,s),s}},{key:"_checkShowBackgroundContext",value:function _checkShowBackgroundContext(){null!=this.backgroundContext&&(this.context.model.documentManagerNode.children.length>0?this.backgroundContext.style.display="none":this.backgroundContext.style.display="block")}},{key:"_requestDockContainer",value:function _requestDockContainer(e,t,n,i,s){var o=new f(t);if("panel"===t.containerType){var _e29=t;_e29.prepareForDocking(),a.removeNode(_e29.elementPanel)}var l,h=null;if(e.parent&&e.parent.container&&(l=e.parent.container,l.getRatios&&(h=l.getRatios())),n(e,o),s&&o.parent&&("vertical"===o.parent.container.containerType||"horizontal"===o.parent.container.containerType)){var _e30=o.parent.container;if(h&&l==_e30){if(i){for(var _e31=0;_e31<h.length;_e31++){h[_e31]=h[_e31]-h[_e31]*s}h.push(s)}else h[0]=h[0]-s,h.unshift(s);_e30.setRatios(h)}else _e30.setContainerRatio(t,s)}return this.rebuildLayout(this.context.model.rootNode),this.invalidate(),this._checkShowBackgroundContext(),o}},{key:"_requestTabReorder",value:function _requestTabReorder(e,t){var n=this._findNodeFromContainer(e);this.layoutEngine.reorderTabs(n,t.handle,t.state,t.index)}},{key:"requestUndockToDialog",value:function requestUndockToDialog(e,t,n){var i=this._findNodeFromContainer(e);this.layoutEngine.undock(i);var s=i.container;s.elementPanel.style.display="block";var o=new g(s,this,null);if(s.lastDialogSize&&o.resize(s.lastDialogSize.width,s.lastDialogSize.height),void 0!==t){var _e32=o.elementDialog.clientWidth;n.x>_e32&&(n.x=.75*_e32),o.setPosition(t.clientX-n.x,t.clientY-n.y),o.draggable.onMouseDown(t)}return o}},{key:"requestClose",value:function requestClose(e){var t=this._findNodeFromContainer(e);if(this.layoutEngine.close(t),this.activePanel==e&&(this.activePanel=null),this._activeDocument==e){var _e33=this._activeDocument;this._activeDocument=null,this.notifyOnActiveDocumentChange(null,_e33)}}},{key:"openInDialog",value:function openInDialog(e,t,n,i){var s=new g(e,this,null,i);if(null!=t){var _e34=s.elementDialog.clientWidth;n.x>_e34&&(n.x=.75*_e34),s.setPosition(t.clientX-n.x,t.clientY-n.y),s.draggable.onMouseDown(t)}return s}},{key:"requestUndock",value:function requestUndock(e){var t=this._findNodeFromContainer(e);this.layoutEngine.undock(t)}},{key:"requestRemove",value:function requestRemove(e){var t=this._findNodeFromContainer(e),n=t.parent;return t.detachFromParent(),n&&this.rebuildLayout(n),t}},{key:"getNodeByElementId",value:function getNodeByElementId(e){var t=[];for(t.push(this.context.model.rootNode);t.length>0;){var _n12=t.pop();if(_n12.container instanceof d&&_n12.container.elementContent.id===e)return _n12;[].push.apply(t,_n12.children)}return null}},{key:"_findNodeFromContainer",value:function _findNodeFromContainer(e){var t=[];for(t.push(this.context.model.rootNode);t.length>0;){var _n13=t.pop();if(_n13.container===e)return _n13;[].push.apply(t,_n13.children)}return null}},{key:"findNodeFromContainerElement",value:function findNodeFromContainerElement(e){var t=[];for(t.push(this.context.model.rootNode);t.length>0;){var _n14=t.pop();if(_n14.container.containerElement===e)return _n14;[].push.apply(t,_n14.children)}return null}},{key:"addLayoutListener",value:function addLayoutListener(e){this.layoutEventListeners.push(e)}},{key:"removeLayoutListener",value:function removeLayoutListener(e){this.layoutEventListeners.splice(this.layoutEventListeners.indexOf(e),1)}},{key:"suspendLayout",value:function suspendLayout(e){var _this23=this;this.layoutEventListeners.forEach(function(t){t.onSuspendLayout&&t.onSuspendLayout(_this23,e)})}},{key:"resumeLayout",value:function resumeLayout(e){var _this24=this;this.layoutEventListeners.forEach(function(t){t.onResumeLayout&&t.onResumeLayout(_this24,e)})}},{key:"notifyOnDock",value:function notifyOnDock(e){var _this25=this;this._checkShowBackgroundContext(),this.layoutEventListeners.forEach(function(t){t.onDock&&(t.onDock(_this25,e),e.container.resize(e.container.width,e.container.height))})}},{key:"notifyOnTabsReorder",value:function notifyOnTabsReorder(e){var _this26=this;this.layoutEventListeners.forEach(function(t){t.onTabsReorder&&t.onTabsReorder(_this26,e)})}},{key:"notifyOnUnDock",value:function notifyOnUnDock(e){var _this27=this;this._checkShowBackgroundContext(),this.layoutEventListeners.forEach(function(t){t.onUndock&&t.onUndock(_this27,e)})}},{key:"notifyOnClosePanel",value:function notifyOnClosePanel(e){var _this28=this;if(this._checkShowBackgroundContext(),this.activePanel==e&&(this.activePanel=null),this._activeDocument==e){var _e35=this._activeDocument;this._activeDocument=null,this.notifyOnActiveDocumentChange(null,_e35)}this.layoutEventListeners.forEach(function(t){t.onClosePanel&&t.onClosePanel(_this28,e)})}},{key:"notifyOnCreateDialog",value:function notifyOnCreateDialog(e){var _this29=this;this.layoutEventListeners.forEach(function(t){t.onCreateDialog&&t.onCreateDialog(_this29,e)})}},{key:"notifyOnHideDialog",value:function notifyOnHideDialog(e){var _this30=this;this.layoutEventListeners.forEach(function(t){t.onHideDialog&&t.onHideDialog(_this30,e)})}},{key:"notifyOnShowDialog",value:function notifyOnShowDialog(e){var _this31=this;this.layoutEventListeners.forEach(function(t){t.onShowDialog&&t.onShowDialog(_this31,e)})}},{key:"notifyOnChangeDialogPosition",value:function notifyOnChangeDialogPosition(e,t,n){var _this32=this;this.layoutEventListeners.forEach(function(i){i.onChangeDialogPosition&&i.onChangeDialogPosition(_this32,e,t,n)})}},{key:"notifyOnContainerResized",value:function notifyOnContainerResized(e){var _this33=this;this.layoutEventListeners.forEach(function(t){t.onContainerResized&&t.onContainerResized(_this33,e)})}},{key:"notifyOnTabChange",value:function notifyOnTabChange(e){var _this34=this;this.layoutEventListeners.forEach(function(t){t.onTabChanged&&t.onTabChanged(_this34,e)})}},{key:"notifyOnActivePanelChange",value:function notifyOnActivePanelChange(e,t){var _this35=this;this.layoutEventListeners.forEach(function(n){n.onActivePanelChange&&n.onActivePanelChange(_this35,e,t)})}},{key:"notifyOnActiveDocumentChange",value:function notifyOnActiveDocumentChange(e,t){var _this36=this;this.layoutEventListeners.forEach(function(n){n.onActiveDocumentChange&&n.onActiveDocumentChange(_this36,e,t)})}},{key:"saveState",value:function saveState(){return(new v).serialize(this.context.model)}},{key:"loadState",value:function(){var _loadState=_asyncToGenerator(_regeneratorRuntime().mark(function _callee7(e){var t;return _regeneratorRuntime().wrap(function _callee7$(_context7){while(1){switch(_context7.prev=_context7.next){case 0:t=new N(this);_context7.next=3;return t.deserialize(e);case 3:this.context.model=_context7.sent;this.setModel(this.context.model);case 5:case"end":return _context7.stop()}}},_callee7,this)}));function loadState(_x8){return _loadState.apply(this,arguments)}return loadState}()},{key:"getPanels",value:function getPanels(){var e=[];return this._allPanels(this.context.model.rootNode,e),this.context.model.dialogs.forEach(function(t){e.push(t.panel)}),e}},{key:"undockEnabled",value:function undockEnabled(e){this._undockEnabled=e,this.getPanels().forEach(function(t){t.canUndock(e)})}},{key:"lockDockState",value:function lockDockState(e){this.undockEnabled(!e),this.hideCloseButton(e)}},{key:"hideCloseButton",value:function hideCloseButton(e){this.getPanels().forEach(function(t){t.hideCloseButton(e)})}},{key:"updatePanels",value:function updatePanels(e){var t=[];return this._allPanels(this.context.model.rootNode,t),t.forEach(function(t){a.arrayContains(e,t.elementContent.id)||t.close()}),this.context.model.dialogs.forEach(function(t){a.arrayContains(e,t.panel.elementContent.id)?t.show():t.hide()}),t}},{key:"getVisiblePanels",value:function getVisiblePanels(){var e=[];return this._allPanels(this.context.model.rootNode,e),this.context.model.dialogs.forEach(function(t){t.isHidden||e.push(t.panel)}),e}},{key:"_allPanels",value:function _allPanels(e,t){var _this37=this;e.children.forEach(function(e){_this37._allPanels(e,t)}),"panel"===e.container.containerType&&t.push(e.container)}},{key:"activeDocument",get:function get(){return this._activeDocument}},{key:"activePanel",get:function get(){return this._activePanel},set:function set(e){if(e!==this._activePanel){e&&!e.isDialog&&(this._lastPanelNotADialog=e),this._lastPanelNotADialog&&this.getPanels().indexOf(this._lastPanelNotADialog)<0&&(this._lastPanelNotADialog=null);var _n15=this.activePanel;this.activePanel&&(this.activePanel.elementTitle.classList.remove("dockspan-panel-active"),this.activePanel.elementTitleText.classList.remove("dockspan-panel-titlebar-text-active"),this.activePanel.tabPage&&this.activePanel.tabPage.host.setActive(!1)),this._activePanel=e;var _i13=this._activeDocument;e&&e.panelType==t.document&&(this._activeDocument=e),!e&&_n15&&_n15.isDialog&&null==e&&this._lastPanelNotADialog&&this.activePanel!=this._lastPanelNotADialog&&(e=this._lastPanelNotADialog,this._lastPanelNotADialog=void 0),this.notifyOnActivePanelChange(e,_n15),_i13!=this._activeDocument&&this.notifyOnActiveDocumentChange(this._activeDocument,_i13),e&&(e.elementTitle.classList.add("dockspan-panel-active"),e.elementTitleText.classList.add("dockspan-panel-titlebar-text-active"),e.tabPage&&e.tabPage.host.setActive(!0))}else e&&e.tabPage&&e.tabPage.host.setActive(!0)}}]);return S}();DockSpawnTS=o})();
|
|
1
|
+
"use strict";function _typeof(obj){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},_typeof(obj)}function _get(){if(typeof Reflect!=="undefined"&&Reflect.get){_get=Reflect.get.bind()}else{_get=function _get(target,property,receiver){var base=_superPropBase(target,property);if(!base)return;var desc=Object.getOwnPropertyDescriptor(base,property);if(desc.get){return desc.get.call(arguments.length<3?target:receiver)}return desc.value}}return _get.apply(this,arguments)}function _superPropBase(object,property){while(!Object.prototype.hasOwnProperty.call(object,property)){object=_getPrototypeOf(object);if(object===null)break}return object}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});Object.defineProperty(subClass,"prototype",{writable:false});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}else if(call!==void 0){throw new TypeError("Derived constructors may only return object or undefined")}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e36){throw _e36},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e37){didErr=true;err=_e37},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _regeneratorRuntime(){"use strict";_regeneratorRuntime=function _regeneratorRuntime(){return exports};var exports={},Op=Object.prototype,hasOwn=Op.hasOwnProperty,defineProperty=Object.defineProperty||function(obj,key,desc){obj[key]=desc.value},$Symbol="function"==typeof Symbol?Symbol:{},iteratorSymbol=$Symbol.iterator||"@@iterator",asyncIteratorSymbol=$Symbol.asyncIterator||"@@asyncIterator",toStringTagSymbol=$Symbol.toStringTag||"@@toStringTag";function define(obj,key,value){return Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}),obj[key]}try{define({},"")}catch(err){define=function define(obj,key,value){return obj[key]=value}}function wrap(innerFn,outerFn,self,tryLocsList){var protoGenerator=outerFn&&outerFn.prototype instanceof Generator?outerFn:Generator,generator=Object.create(protoGenerator.prototype),context=new Context(tryLocsList||[]);return defineProperty(generator,"_invoke",{value:makeInvokeMethod(innerFn,self,context)}),generator}function tryCatch(fn,obj,arg){try{return{type:"normal",arg:fn.call(obj,arg)}}catch(err){return{type:"throw",arg:err}}}exports.wrap=wrap;var ContinueSentinel={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var IteratorPrototype={};define(IteratorPrototype,iteratorSymbol,function(){return this});var getProto=Object.getPrototypeOf,NativeIteratorPrototype=getProto&&getProto(getProto(values([])));NativeIteratorPrototype&&NativeIteratorPrototype!==Op&&hasOwn.call(NativeIteratorPrototype,iteratorSymbol)&&(IteratorPrototype=NativeIteratorPrototype);var Gp=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(IteratorPrototype);function defineIteratorMethods(prototype){["next","throw","return"].forEach(function(method){define(prototype,method,function(arg){return this._invoke(method,arg)})})}function AsyncIterator(generator,PromiseImpl){function invoke(method,arg,resolve,reject){var record=tryCatch(generator[method],generator,arg);if("throw"!==record.type){var result=record.arg,value=result.value;return value&&"object"==_typeof(value)&&hasOwn.call(value,"__await")?PromiseImpl.resolve(value.__await).then(function(value){invoke("next",value,resolve,reject)},function(err){invoke("throw",err,resolve,reject)}):PromiseImpl.resolve(value).then(function(unwrapped){result.value=unwrapped,resolve(result)},function(error){return invoke("throw",error,resolve,reject)})}reject(record.arg)}var previousPromise;defineProperty(this,"_invoke",{value:function value(method,arg){function callInvokeWithMethodAndArg(){return new PromiseImpl(function(resolve,reject){invoke(method,arg,resolve,reject)})}return previousPromise=previousPromise?previousPromise.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}})}function makeInvokeMethod(innerFn,self,context){var state="suspendedStart";return function(method,arg){if("executing"===state)throw new Error("Generator is already running");if("completed"===state){if("throw"===method)throw arg;return doneResult()}for(context.method=method,context.arg=arg;;){var delegate=context.delegate;if(delegate){var delegateResult=maybeInvokeDelegate(delegate,context);if(delegateResult){if(delegateResult===ContinueSentinel)continue;return delegateResult}}if("next"===context.method)context.sent=context._sent=context.arg;else if("throw"===context.method){if("suspendedStart"===state)throw state="completed",context.arg;context.dispatchException(context.arg)}else"return"===context.method&&context.abrupt("return",context.arg);state="executing";var record=tryCatch(innerFn,self,context);if("normal"===record.type){if(state=context.done?"completed":"suspendedYield",record.arg===ContinueSentinel)continue;return{value:record.arg,done:context.done}}"throw"===record.type&&(state="completed",context.method="throw",context.arg=record.arg)}}}function maybeInvokeDelegate(delegate,context){var methodName=context.method,method=delegate.iterator[methodName];if(undefined===method)return context.delegate=null,"throw"===methodName&&delegate.iterator["return"]&&(context.method="return",context.arg=undefined,maybeInvokeDelegate(delegate,context),"throw"===context.method)||"return"!==methodName&&(context.method="throw",context.arg=new TypeError("The iterator does not provide a '"+methodName+"' method")),ContinueSentinel;var record=tryCatch(method,delegate.iterator,context.arg);if("throw"===record.type)return context.method="throw",context.arg=record.arg,context.delegate=null,ContinueSentinel;var info=record.arg;return info?info.done?(context[delegate.resultName]=info.value,context.next=delegate.nextLoc,"return"!==context.method&&(context.method="next",context.arg=undefined),context.delegate=null,ContinueSentinel):info:(context.method="throw",context.arg=new TypeError("iterator result is not an object"),context.delegate=null,ContinueSentinel)}function pushTryEntry(locs){var entry={tryLoc:locs[0]};1 in locs&&(entry.catchLoc=locs[1]),2 in locs&&(entry.finallyLoc=locs[2],entry.afterLoc=locs[3]),this.tryEntries.push(entry)}function resetTryEntry(entry){var record=entry.completion||{};record.type="normal",delete record.arg,entry.completion=record}function Context(tryLocsList){this.tryEntries=[{tryLoc:"root"}],tryLocsList.forEach(pushTryEntry,this),this.reset(!0)}function values(iterable){if(iterable){var iteratorMethod=iterable[iteratorSymbol];if(iteratorMethod)return iteratorMethod.call(iterable);if("function"==typeof iterable.next)return iterable;if(!isNaN(iterable.length)){var i=-1,next=function next(){for(;++i<iterable.length;){if(hasOwn.call(iterable,i))return next.value=iterable[i],next.done=!1,next}return next.value=undefined,next.done=!0,next};return next.next=next}}return{next:doneResult}}function doneResult(){return{value:undefined,done:!0}}return GeneratorFunction.prototype=GeneratorFunctionPrototype,defineProperty(Gp,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),defineProperty(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,toStringTagSymbol,"GeneratorFunction"),exports.isGeneratorFunction=function(genFun){var ctor="function"==typeof genFun&&genFun.constructor;return!!ctor&&(ctor===GeneratorFunction||"GeneratorFunction"===(ctor.displayName||ctor.name))},exports.mark=function(genFun){return Object.setPrototypeOf?Object.setPrototypeOf(genFun,GeneratorFunctionPrototype):(genFun.__proto__=GeneratorFunctionPrototype,define(genFun,toStringTagSymbol,"GeneratorFunction")),genFun.prototype=Object.create(Gp),genFun},exports.awrap=function(arg){return{__await:arg}},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,asyncIteratorSymbol,function(){return this}),exports.AsyncIterator=AsyncIterator,exports.async=function(innerFn,outerFn,self,tryLocsList,PromiseImpl){void 0===PromiseImpl&&(PromiseImpl=Promise);var iter=new AsyncIterator(wrap(innerFn,outerFn,self,tryLocsList),PromiseImpl);return exports.isGeneratorFunction(outerFn)?iter:iter.next().then(function(result){return result.done?result.value:iter.next()})},defineIteratorMethods(Gp),define(Gp,toStringTagSymbol,"Generator"),define(Gp,iteratorSymbol,function(){return this}),define(Gp,"toString",function(){return"[object Generator]"}),exports.keys=function(val){var object=Object(val),keys=[];for(var key in object){keys.push(key)}return keys.reverse(),function next(){for(;keys.length;){var key=keys.pop();if(key in object)return next.value=key,next.done=!1,next}return next.done=!0,next}},exports.values=values,Context.prototype={constructor:Context,reset:function reset(skipTempReset){if(this.prev=0,this.next=0,this.sent=this._sent=undefined,this.done=!1,this.delegate=null,this.method="next",this.arg=undefined,this.tryEntries.forEach(resetTryEntry),!skipTempReset)for(var name in this){"t"===name.charAt(0)&&hasOwn.call(this,name)&&!isNaN(+name.slice(1))&&(this[name]=undefined)}},stop:function stop(){this.done=!0;var rootRecord=this.tryEntries[0].completion;if("throw"===rootRecord.type)throw rootRecord.arg;return this.rval},dispatchException:function dispatchException(exception){if(this.done)throw exception;var context=this;function handle(loc,caught){return record.type="throw",record.arg=exception,context.next=loc,caught&&(context.method="next",context.arg=undefined),!!caught}for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i],record=entry.completion;if("root"===entry.tryLoc)return handle("end");if(entry.tryLoc<=this.prev){var hasCatch=hasOwn.call(entry,"catchLoc"),hasFinally=hasOwn.call(entry,"finallyLoc");if(hasCatch&&hasFinally){if(this.prev<entry.catchLoc)return handle(entry.catchLoc,!0);if(this.prev<entry.finallyLoc)return handle(entry.finallyLoc)}else if(hasCatch){if(this.prev<entry.catchLoc)return handle(entry.catchLoc,!0)}else{if(!hasFinally)throw new Error("try statement without catch or finally");if(this.prev<entry.finallyLoc)return handle(entry.finallyLoc)}}}},abrupt:function abrupt(type,arg){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.tryLoc<=this.prev&&hasOwn.call(entry,"finallyLoc")&&this.prev<entry.finallyLoc){var finallyEntry=entry;break}}finallyEntry&&("break"===type||"continue"===type)&&finallyEntry.tryLoc<=arg&&arg<=finallyEntry.finallyLoc&&(finallyEntry=null);var record=finallyEntry?finallyEntry.completion:{};return record.type=type,record.arg=arg,finallyEntry?(this.method="next",this.next=finallyEntry.finallyLoc,ContinueSentinel):this.complete(record)},complete:function complete(record,afterLoc){if("throw"===record.type)throw record.arg;return"break"===record.type||"continue"===record.type?this.next=record.arg:"return"===record.type?(this.rval=this.arg=record.arg,this.method="return",this.next="end"):"normal"===record.type&&afterLoc&&(this.next=afterLoc),ContinueSentinel},finish:function finish(finallyLoc){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.finallyLoc===finallyLoc)return this.complete(entry.completion,entry.afterLoc),resetTryEntry(entry),ContinueSentinel}},catch:function _catch(tryLoc){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.tryLoc===tryLoc){var record=entry.completion;if("throw"===record.type){var thrown=record.arg;resetTryEntry(entry)}return thrown}}throw new Error("illegal catch attempt")},delegateYield:function delegateYield(iterable,resultName,nextLoc){return this.delegate={iterator:values(iterable),resultName:resultName,nextLoc:nextLoc},"next"===this.method&&(this.arg=undefined),ContinueSentinel}},exports}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,_toPropertyKey(descriptor.key),descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);Object.defineProperty(Constructor,"prototype",{writable:false});return Constructor}function _toPropertyKey(arg){var key=_toPrimitive(arg,"string");return _typeof(key)==="symbol"?key:String(key)}function _toPrimitive(input,hint){if(_typeof(input)!=="object"||input===null)return input;var prim=input[Symbol.toPrimitive];if(prim!==undefined){var res=prim.call(input,hint||"default");if(_typeof(res)!=="object")return res;throw new TypeError("@@toPrimitive must return a primitive value.")}return(hint==="string"?String:Number)(input)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}var DockSpawnTS;(function(){"use strict";var e,t,n,i,s={d:function d(e,t){for(var n in t){s.o(t,n)&&!s.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}},o:function o(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function r(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},o={};s.r(o),s.d(o,{ContainerType:function ContainerType(){return e},Dialog:function Dialog(){return g},DockConfig:function DockConfig(){return p},DockGraphSerializer:function DockGraphSerializer(){return v},DockLayoutEngine:function DockLayoutEngine(){return x},DockManager:function DockManager(){return S},DockManagerContext:function DockManagerContext(){return z},DockModel:function DockModel(){return P},DockNode:function DockNode(){return f},DockWheel:function DockWheel(){return T},DockWheelItem:function DockWheelItem(){return _},DocumentManagerContainer:function DocumentManagerContainer(){return B},DocumentTabPage:function DocumentTabPage(){return L},DraggableContainer:function DraggableContainer(){return c},EventHandler:function EventHandler(){return h},FillDockContainer:function FillDockContainer(){return D},HorizontalDockContainer:function HorizontalDockContainer(){return k},PanelContainer:function PanelContainer(){return d},Point:function Point(){return l},ResizableContainer:function ResizableContainer(){return m},ResizeHandle:function ResizeHandle(){return u},SplitterBar:function SplitterBar(){return C},SplitterDockContainer:function SplitterDockContainer(){return y},SplitterPanel:function SplitterPanel(){return w},TabHandle:function TabHandle(){return b},TabHost:function TabHost(){return H},TabPage:function TabPage(){return E},UndockInitiator:function UndockInitiator(){return r},Utils:function Utils(){return a},VerticalDockContainer:function VerticalDockContainer(){return M}}),function(e){e.horizontal="horizontal",e.vertical="vertical",e.fill="fill",e.panel="panel"}(e||(e={}));var l=_createClass(function l(e,t){_classCallCheck(this,l);this.x=e,this.y=t});var a=function(){function a(){_classCallCheck(this,a)}_createClass(a,null,[{key:"getPixels",value:function getPixels(e){return null===e?0:parseInt(e.replace("px",""))}},{key:"disableGlobalTextSelection",value:function disableGlobalTextSelection(e){e.classList.add("disable-selection")}},{key:"enableGlobalTextSelection",value:function enableGlobalTextSelection(e){e.classList.remove("disable-selection")}},{key:"isPointInsideNode",value:function isPointInsideNode(e,t,n){var i=n.container.containerElement.getBoundingClientRect();return e>=i.left&&e<=i.left+i.width&&t>=i.top&&t<=i.top+i.height}},{key:"getNextId",value:function getNextId(e){return e+a._counter++}},{key:"removeNode",value:function removeNode(e){return null!==e.parentNode&&(e.parentNode.removeChild(e),!0)}},{key:"orderByIndexes",value:function orderByIndexes(e,t){var n=[];for(var _i=0;_i<t.length;_i++){n.push(e[t[_i]])}return n}},{key:"arrayRemove",value:function arrayRemove(e,t){var n=e.indexOf(t);return-1!==n&&e.splice(n,1)}},{key:"arrayContains",value:function arrayContains(e,t){var n=e.length;for(;n--;){if(e[n]===t)return!0}return!1}},{key:"arrayEqual",value:function arrayEqual(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(e.length!=t.length)return!1;for(var _n=0;_n<e.length;++_n){if(e[_n]!==t[_n])return!1}return!0}}]);return a}();a._counter=0;var h=function(){function h(e,t,n,i){_classCallCheck(this,h);this.target=n,this.eventName=t,this.source=e,this.source.addEventListener(t,this.target,i)}_createClass(h,[{key:"cancel",value:function cancel(){this.source.removeEventListener(this.eventName,this.target)}}]);return h}();var r=function(){function r(e,t,n){_classCallCheck(this,r);n||(n=7),this.element=e,this._undockededCallback=t,this.thresholdPixels=n,this._enabled=!1}_createClass(r,[{key:"enabled",get:function get(){return this._enabled},set:function set(e){this._enabled=e,this._enabled?(this.mouseDownHandler&&(this.mouseDownHandler.cancel(),delete this.mouseDownHandler),this.touchDownHandler&&(this.touchDownHandler.cancel(),delete this.touchDownHandler),this.mouseDownHandler=new h(this.element,"mousedown",this.onMouseDown.bind(this)),this.touchDownHandler=new h(this.element,"touchstart",this.onMouseDown.bind(this),{passive:!1})):(this.mouseDownHandler&&(this.mouseDownHandler.cancel(),delete this.mouseDownHandler),this.touchDownHandler&&(this.touchDownHandler.cancel(),delete this.touchDownHandler),this.mouseUpHandler&&(this.mouseUpHandler.cancel(),delete this.mouseUpHandler),this.touchUpHandler&&(this.touchUpHandler.cancel(),delete this.touchUpHandler),this.mouseMoveHandler&&(this.mouseMoveHandler.cancel(),delete this.mouseMoveHandler),this.touchMoveHandler&&(this.touchMoveHandler.cancel(),delete this.touchMoveHandler))}},{key:"onMouseDown",value:function onMouseDown(e){if(e.preventDefault(),this.enabled){if(e.touches){if(e.touches.length>1)return;e=e.touches[0]}this.mouseUpHandler&&(this.mouseUpHandler.cancel(),delete this.mouseUpHandler),this.touchUpHandler&&(this.touchUpHandler.cancel(),delete this.touchUpHandler),this.mouseMoveHandler&&(this.mouseMoveHandler.cancel(),delete this.mouseMoveHandler),this.touchMoveHandler&&(this.touchMoveHandler.cancel(),delete this.touchMoveHandler),this.mouseUpHandler=new h(window,"mouseup",this.onMouseUp.bind(this)),this.touchUpHandler=new h(window,"touchend",this.onMouseUp.bind(this)),this.mouseMoveHandler=new h(window,"mousemove",this.onMouseMove.bind(this)),this.touchMoveHandler=new h(window,"touchmove",this.onMouseMove.bind(this)),this.dragStartPosition=new l(e.clientX,e.clientY)}}},{key:"onMouseUp",value:function onMouseUp(){this.mouseUpHandler&&(this.mouseUpHandler.cancel(),delete this.mouseUpHandler),this.touchUpHandler&&(this.touchUpHandler.cancel(),delete this.touchUpHandler),this.mouseMoveHandler&&(this.mouseMoveHandler.cancel(),delete this.mouseMoveHandler),this.touchMoveHandler&&(this.touchMoveHandler.cancel(),delete this.touchMoveHandler)}},{key:"onMouseMove",value:function onMouseMove(e){if(e.touches){if(e.touches.length>1)return;e=e.touches[0]}var t=new l(e.clientX,e.clientY).y-this.dragStartPosition.y;(t>this.thresholdPixels||t<-this.thresholdPixels)&&(this.enabled=!1,this._requestUndock(e))}},{key:"_requestUndock",value:function _requestUndock(e){var t=0,n=0,i=this.element;do{t+=i.offsetTop||0,n+=i.offsetLeft||0,i=i.offsetParent}while(i);var s=this.dragStartPosition.x-n,o=this.dragStartPosition.y-t,a=new l(s,o);this._undockededCallback(e,a)}}]);return r}();!function(e){e.document="document",e.panel="panel"}(t||(t={}));var d=function(){function d(n,i,s,o,l){var _this=this;_classCallCheck(this,d);s||(s="Panel"),o||(o=t.panel),this.panelType=o,n._dockSpawnPanelContainer=this,this.elementContent=n,n.style.position="absolute",n.style.width="100%",n.style.height="100%",n.style.top="0",n.style.bottom="0",n.hidden=!1,this.elementContentContainer=document.createElement("div"),this.elementContentContainer.className="panel-element-content-container",this.elementContentContainer.style.position="absolute",this.elementContentContainer._panel=this,this.elementContentContainer.addEventListener("pointerdown",function(){_this.isDialog?_this._floatingDialog.bringToFront():_this.tabPage&&_this.tabPage.setSelected(!0,!0),_this.dockManager.activePanel=_this}),this.elementContentContainer.appendChild(n),i.config.dialogRootElement.appendChild(this.elementContentContainer),this.dockManager=i,this.title=s,this.containerType=e.panel,this.icon=null,this.minimumAllowedChildNodes=0,this._floatingDialog=void 0,this.isDialog=!1,this._canUndock=i._undockEnabled,this.eventListeners=[],this._hideCloseButton=l,this._initialize()}_createClass(d,[{key:"canUndock",value:function canUndock(e){var _this2=this;this._canUndock=e,this.undockInitiator.enabled=e,this.eventListeners.forEach(function(t){t.onDockEnabled&&t.onDockEnabled({self:_this2,state:e})})}},{key:"addListener",value:function addListener(e){this.eventListeners.push(e)}},{key:"removeListener",value:function removeListener(e){this.eventListeners.splice(this.eventListeners.indexOf(e),1)}},{key:"floatingDialog",get:function get(){return this._floatingDialog},set:function set(e){this._floatingDialog=e;var t=void 0===this._floatingDialog;this.undockInitiator.enabled=t}},{key:"saveState",value:function saveState(e){e.element=this.elementContent.id,e.width=this.width,e.height=this.height,e.canUndock=this._canUndock,e.hideCloseButton=this._hideCloseButton,e.panelType=this.panelType}},{key:"loadState",value:function loadState(e){this.width=e.width,this.height=e.height,this.state={width:e.width,height:e.height},this.canUndock(e.canUndock),this.hideCloseButton(e.hideCloseButton),this.panelType=e.panelType}},{key:"setActiveChild",value:function setActiveChild(){}},{key:"containerElement",get:function get(){return this.elementPanel}},{key:"grayOut",value:function grayOut(e){var _this3=this;!e&&this._grayOut?(this.elementContentWrapper.removeChild(this._grayOut),this.elementButtonClose.style.display=this._hideCloseButton?"none":"block",this._grayOut=null,this._hideCloseButton||this.eventListeners.forEach(function(e){e.onHideCloseButton&&e.onHideCloseButton({self:_this3,state:_this3._hideCloseButton})})):e&&!this._grayOut&&(this._grayOut=document.createElement("div"),this._grayOut.className="panel-grayout",this.elementButtonClose.style.display="none",this.elementContentWrapper.appendChild(this._grayOut),this.eventListeners.forEach(function(e){e.onHideCloseButton&&e.onHideCloseButton({self:_this3,state:!0})}))}},{key:"_initialize",value:function _initialize(){this.name=a.getNextId("panel_"),this.elementPanel=document.createElement("div"),this.elementPanel.tabIndex=0,this.elementTitle=document.createElement("div"),this.elementTitleText=document.createElement("div"),this.elementContentHost=document.createElement("div"),this.elementButtonClose=document.createElement("div"),this.elementPanel.appendChild(this.elementTitle),this.elementTitle.appendChild(this.elementTitleText),this.elementTitle.appendChild(this.elementButtonClose),this.elementButtonClose.classList.add("panel-titlebar-button-close"),this.elementButtonClose.style.display=this._hideCloseButton?"none":"block",this.elementPanel.appendChild(this.elementContentHost),this.elementPanel.classList.add("panel-base"),this.elementTitle.classList.add("panel-titlebar"),this.elementTitle.classList.add("disable-selection"),this.elementTitleText.classList.add("panel-titlebar-text"),this.elementContentHost.classList.add("panel-content");var e=this.elementContentContainer.clientWidth,t=this.elementContentContainer.clientHeight,n=this.elementTitle.clientHeight;this.elementContentWrapper=document.createElement("div"),this.elementContentWrapper.classList.add("panel-content-wrapper"),this._setPanelDimensions(e,t+n),this._hideCloseButton||(this.closeButtonClickedHandler=new h(this.elementButtonClose,"mousedown",this.onCloseButtonClicked.bind(this)),this.closeButtonTouchedHandler=new h(this.elementButtonClose,"touchstart",this.onCloseButtonClicked.bind(this))),a.removeNode(this.elementContentWrapper),this.elementContentHost.appendChild(this.elementContentWrapper);var i=this.elementContent.dataset.panelCaption,s=this.elementContent.dataset.panelIcon;i&&(this.title=i),s&&(this.icon=s),this._updateTitle(),this.undockInitiator=new r(this.elementTitle,this.performUndockToDialog.bind(this)),delete this.floatingDialog,this.mouseDownHandler=new h(this.elementPanel,"mousedown",this.onMouseDown.bind(this)),this.touchDownHandler=new h(this.elementPanel,"touchstart",this.onMouseDown.bind(this)),this.elementContent.removeAttribute("hidden")}},{key:"onMouseDown",value:function onMouseDown(){this.dockManager.activePanel=this}},{key:"hideCloseButton",value:function hideCloseButton(e){var _this4=this;this._hideCloseButton=e,this.elementButtonClose.style.display=e?"none":"block",this.eventListeners.forEach(function(t){t.onHideCloseButton&&t.onHideCloseButton({self:_this4,state:e})})}},{key:"destroy",value:function destroy(){this.mouseDownHandler&&(this.mouseDownHandler.cancel(),delete this.mouseDownHandler),this.touchDownHandler&&(this.touchDownHandler.cancel(),delete this.touchDownHandler),a.removeNode(this.elementPanel),this.closeButtonClickedHandler&&(this.closeButtonClickedHandler.cancel(),delete this.closeButtonClickedHandler),this.closeButtonTouchedHandler&&(this.closeButtonTouchedHandler.cancel(),delete this.closeButtonTouchedHandler)}},{key:"performUndockToDialog",value:function performUndockToDialog(e,t){return this.isDialog=!0,this.undockInitiator.enabled=!1,this.elementContentWrapper.style.display="block",this.elementPanel.style.position="",this.dockManager.requestUndockToDialog(this,e,t)}},{key:"performClose",value:function performClose(){this.isDialog=!0,this.undockInitiator.enabled=!1,this.elementContentWrapper.style.display="block",this.elementContentContainer.style.display="none",this.elementPanel.style.position="",this.dockManager.requestClose(this)}},{key:"performUndock",value:function performUndock(){this.undockInitiator.enabled=!1,this.dockManager.requestUndock(this)}},{key:"prepareForDocking",value:function prepareForDocking(){this.isDialog=!1,this.undockInitiator.enabled=this._canUndock,this.elementContentContainer.parentElement!=this.dockManager.config.dialogRootElement&&this.dockManager.config.dialogRootElement.appendChild(this.elementContentContainer)}},{key:"width",get:function get(){return this._cachedWidth},set:function set(e){e!==this._cachedWidth&&(this._cachedWidth=e,this.elementPanel.style.width=e+"px")}},{key:"height",get:function get(){return this._cachedHeight},set:function set(e){e!==this._cachedHeight&&(this._cachedHeight=e,this.elementPanel.style.height=e+"px")}},{key:"resize",value:function resize(e,t){this.setVisible(!0),this._setPanelDimensions(e,t),this._cachedWidth=e,this._cachedHeight=t;try{null!=this.elementContent&&"function"==typeof this.elementContent.resizeHandler&&this.elementContent.resizeHandler(e,t-this.elementTitle.clientHeight)}catch(e){console.log("error calling resizeHandler:",e," elt:",this.elementContent)}}},{key:"_setPanelDimensions",value:function _setPanelDimensions(e,t){this.elementTitle.style.width=e+"px",this.elementContentHost.style.width=e+"px",this.elementContentContainer.style.width=e+"px",this.elementPanel.style.width=e+"px";var n=t-this.elementTitle.clientHeight;this.elementContentHost.style.height=n+"px",this.elementContentContainer.style.height=n+"px",this.elementPanel.style.height=t+"px";var i=this.elementContentWrapper.getBoundingClientRect(),s=this.dockManager.config.dialogRootElement.getBoundingClientRect();this.elementContentContainer.style.left=i.x+"px",this.elementContentContainer.style.top=i.y-s.y+"px",this.elementContentContainer.style.width=i.width+"px",this.elementContentContainer.style.height=i.height+"px"}},{key:"setDialogPosition",value:function setDialogPosition(e,t){var n=this.dockManager.config.dialogRootElement.getBoundingClientRect();this.elementContentContainer.style.left=e-n.x+"px",this.elementContentContainer.style.top=t+this.elementTitle.clientHeight+"px"}},{key:"setVisible",value:function setVisible(e){this.elementContentContainer.style.display=e?"block":"none"}},{key:"setTitle",value:function setTitle(e){this.title=e,this._updateTitle(),this.onTitleChanged&&this.onTitleChanged(this,e)}},{key:"setTitleIcon",value:function setTitleIcon(e){this.icon=e,this._updateTitle(),this.onTitleChanged&&this.onTitleChanged(this,this.title)}},{key:"setHasChanges",value:function setHasChanges(e){this.hasChanges=e,this._updateTitle(),e?this.elementTitleText.classList.add("panel-has-changes"):this.elementTitleText.classList.remove("panel-has-changes"),this.onTitleChanged&&this.onTitleChanged(this,this.title)}},{key:"setCloseIconTemplate",value:function setCloseIconTemplate(e){this.elementButtonClose.innerHTML=e}},{key:"_updateTitle",value:function _updateTitle(){null===this.icon?this.elementTitleText.innerHTML=this.title:this.elementTitleText.innerHTML='<img class="panel-titlebar-icon" src="'+this.icon+'"><span>'+this.title+"</span>"}},{key:"getRawTitle",value:function getRawTitle(){return this.elementTitleText.innerHTML}},{key:"performLayout",value:function performLayout(e,t){}},{key:"onCloseButtonClicked",value:function onCloseButtonClicked(e){e.preventDefault(),e.stopPropagation(),this.close()}},{key:"close",value:function(){var _close=_asyncToGenerator(_regeneratorRuntime().mark(function _callee(){var e;return _regeneratorRuntime().wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:e=!0;_context.t0=this.elementContentContainer.parentElement===this.dockManager.config.dialogRootElement;if(!_context.t0){_context.next=16;break}this.dockManager.config.dialogRootElement.removeChild(this.elementContentContainer);if(!this.closePanelContainerCallback){_context.next=10;break}_context.next=7;return this.closePanelContainerCallback(this);case 7:e=_context.sent;_context.next=15;break;case 10:_context.t1=this.dockManager.closePanelContainerCallback;if(!_context.t1){_context.next=15;break}_context.next=14;return this.dockManager.closePanelContainerCallback(this);case 14:e=_context.sent;case 15:_context.t0=e;case 16:if(!_context.t0){_context.next=18;break}if(this.isDialog)this.floatingDialog&&this.floatingDialog.close();else{try{this.dockManager.notifyOnClosePanel(this)}catch(e){console.error(e)}this.performClose()}case 18:case"end":return _context.stop()}}},_callee,this)}));function close(){return _close.apply(this,arguments)}return close}()}],[{key:"loadFromState",value:function(){var _loadFromState=_asyncToGenerator(_regeneratorRuntime().mark(function _callee2(e,t){var n,i,_s,_t,s;return _regeneratorRuntime().wrap(function _callee2$(_context2){while(1){switch(_context2.prev=_context2.next){case 0:if(!t.getElementCallback){_context2.next=7;break}_context2.next=3;return t.getElementCallback(e);case 3:_s=_context2.sent;n=_s.element,i=_s.title;_context2.next=9;break;case 7:_t=e.element;n=document.getElementById(_t);case 9:if(!(null===n)){_context2.next=11;break}return _context2.abrupt("return",null);case 11:s=new d(n,t,i);return _context2.abrupt("return",(s.loadState(e),s));case 13:case"end":return _context2.stop()}}},_callee2)}));function loadFromState(_x,_x2){return _loadFromState.apply(this,arguments)}return loadFromState}()}]);return d}();var c=function(){function c(e,t,n,i){_classCallCheck(this,c);this.dialog=e,this.delegate=t,this.containerElement=t.containerElement,this.dockManager=t.dockManager,this.topLevelElement=n,this.containerType=t.containerType,this.mouseDownHandler=new h(i,"mousedown",this.onMouseDown.bind(this)),this.touchDownHandler=new h(i,"touchstart",this.onMouseDown.bind(this)),this.topLevelElement.style.left=n.offsetLeft+"px",this.topLevelElement.style.top=n.offsetTop+"px",this.minimumAllowedChildNodes=t.minimumAllowedChildNodes,this.iframeEventHandlers=[]}_createClass(c,[{key:"destroy",value:function destroy(){this.removeDecorator(),this.delegate.destroy()}},{key:"saveState",value:function saveState(e){this.delegate.saveState(e)}},{key:"loadState",value:function loadState(e){this.delegate.loadState(e)}},{key:"setActiveChild",value:function setActiveChild(){}},{key:"width",get:function get(){return this.delegate.width}},{key:"height",get:function get(){return this.delegate.height}},{key:"name",get:function get(){return this.delegate.name},set:function set(e){e&&(this.delegate.name=e)}},{key:"resize",value:function resize(e,t){this.delegate.resize(e,t)}},{key:"performLayout",value:function performLayout(e){this.delegate.performLayout(e,!1)}},{key:"removeDecorator",value:function removeDecorator(){this.mouseDownHandler&&(this.mouseDownHandler.cancel(),delete this.mouseDownHandler),this.touchDownHandler&&(this.touchDownHandler.cancel(),delete this.touchDownHandler)}},{key:"onMouseDown",value:function onMouseDown(e){var _this5=this;e.preventDefault&&e.preventDefault();var t=null;if(e.touches){if(e.touches.length>1)return;t=e.touches[0]}else t=e;if(this._startDragging(t),this.previousMousePosition={x:t.clientX,y:t.clientY},this.mouseMoveHandler&&(this.mouseMoveHandler.cancel(),delete this.mouseMoveHandler),this.touchMoveHandler&&(this.touchMoveHandler.cancel(),delete this.touchMoveHandler),this.mouseUpHandler&&(this.mouseUpHandler.cancel(),delete this.mouseUpHandler),this.touchUpHandler&&(this.touchUpHandler.cancel(),delete this.touchUpHandler),this.mouseMoveHandler=new h(window,"mousemove",this.onMouseMove.bind(this)),this.touchMoveHandler=new h(e.target,"touchmove",this.onMouseMove.bind(this),{passive:!1}),this.mouseUpHandler=new h(window,"mouseup",this.onMouseUp.bind(this)),this.touchUpHandler=new h(e.target,"touchend",this.onMouseUp.bind(this)),this.dockManager.iframes){var _iterator=_createForOfIteratorHelper(this.dockManager.iframes),_step;try{var _loop=function _loop(){var e=_step.value;var t=_this5.onMouseMovedIframe.bind(_this5);_this5.iframeEventHandlers.push(new h(e.contentWindow,"mousemove",function(n){return t(n,e)})),_this5.iframeEventHandlers.push(new h(e.contentWindow,"mouseup",_this5.onMouseUp.bind(_this5))),_this5.iframeEventHandlers.push(new h(e.contentWindow,"touchmove",function(n){return t(n,e)})),_this5.iframeEventHandlers.push(new h(e.contentWindow,"touchend",_this5.onMouseUp.bind(_this5)))};for(_iterator.s();!(_step=_iterator.n()).done;){_loop()}}catch(err){_iterator.e(err)}finally{_iterator.f()}}}},{key:"onMouseUp",value:function onMouseUp(e){this._stopDragging(e),this.mouseMoveHandler.cancel(),delete this.mouseMoveHandler,this.touchMoveHandler.cancel(),delete this.touchMoveHandler,this.mouseUpHandler.cancel(),delete this.mouseUpHandler,this.touchUpHandler.cancel(),delete this.touchUpHandler;var _iterator2=_createForOfIteratorHelper(this.iframeEventHandlers),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var _e=_step2.value;_e.cancel()}}catch(err){_iterator2.e(err)}finally{_iterator2.f()}this.iframeEventHandlers=[]}},{key:"_startDragging",value:function _startDragging(e){this.containerElement.classList.add("draggable-dragging-active"),this.delegate.elementContentContainer.classList.add("draggable-dragging-active"),this.dialog.eventListener&&this.dialog.eventListener._onDialogDragStarted(this.dialog,e),a.disableGlobalTextSelection(this.dockManager.config.dialogRootElement)}},{key:"_stopDragging",value:function _stopDragging(e){this.containerElement.classList.remove("draggable-dragging-active"),this.delegate.elementContentContainer.classList.remove("draggable-dragging-active"),this.dialog.eventListener&&this.dialog.eventListener._onDialogDragEnded(this.dialog,e),a.enableGlobalTextSelection(this.dockManager.config.dialogRootElement)}},{key:"onMouseMovedIframe",value:function onMouseMovedIframe(e,t){var n=t.getBoundingClientRect();this.onMouseMove(e,{x:n.x,y:n.y})}},{key:"onMouseMove",value:function onMouseMove(e,t){e.preventDefault&&e.preventDefault();var n=document.body.getBoundingClientRect();if(null!=e.touches){if(e.touches.length>1)return;for(var _t2 in this.dockManager.dockWheel.wheelItems){var _i2=this.dockManager.dockWheel.wheelItems[_t2],_s2=_i2.element.getBoundingClientRect();e.touches[0].clientX>_s2.left-n.left&&e.touches[0].clientX<_s2.left+_i2.element.clientWidth-n.left&&e.touches[0].clientY>_s2.top-n.top&&e.touches[0].clientY<_s2.top+_i2.element.clientHeight-n.top?_i2.onMouseMoved():_i2.active&&_i2.onMouseOut()}}var i=null;if(e.changedTouches){if(e.changedTouches.length>1)return;i=e.changedTouches[0]}else i=e;var s=new l(i.clientX,i.clientY);t&&(s=new l(i.clientX+t.x,i.clientY+t.y));var o=this.dockManager.checkXBounds(this.topLevelElement,s,this.previousMousePosition,!1,!1),a=this.dockManager.checkYBounds(this.topLevelElement,s,this.previousMousePosition,!1,!1);this._performDrag(o,a),this.previousMousePosition=s}},{key:"_performDrag",value:function _performDrag(e,t){var n=e+a.getPixels(this.topLevelElement.style.left),i=t+a.getPixels(this.topLevelElement.style.top);this.topLevelElement.style.left=n+"px",this.topLevelElement.style.top=i+"px",this.dialog.panel.setDialogPosition(n,i)}}]);return c}();var u=function(){function u(){_classCallCheck(this,u);this.element=void 0,this.handleSize=6,this.cornerSize=12,this.east=!1,this.west=!1,this.north=!1,this.south=!1,this.corner=!1}_createClass(u,[{key:"adjustSize",value:function adjustSize(e,t){this.corner?(this.west&&(this.element.style.left="0px"),this.east&&(this.element.style.left=e-this.cornerSize+"px"),this.north&&(this.element.style.top="0px"),this.south&&(this.element.style.top=t-this.cornerSize+"px")):(this.west&&(this.element.style.left="0px",this.element.style.top=this.cornerSize+"px"),this.east&&(this.element.style.left=e-this.handleSize+"px",this.element.style.top=this.cornerSize+"px"),this.north&&(this.element.style.left=this.cornerSize+"px",this.element.style.top="0px"),this.south&&(this.element.style.left=this.cornerSize+"px",this.element.style.top=t-this.handleSize+"px"),this.west||this.east?this.element.style.height=t-2*this.cornerSize+"px":this.element.style.width=e-2*this.cornerSize+"px")}}]);return u}();var m=function(){function m(e,t,n){var i=arguments.length>3&&arguments[3]!==undefined?arguments[3]:!1;_classCallCheck(this,m);this.dialog=e,this.disableResize=i,this.delegate=t,this.containerElement=t.containerElement,this.dockManager=t.dockManager,this.topLevelElement=n,this.containerType=t.containerType,this.topLevelElement.style.left=this.topLevelElement.offsetLeft+"px",this.topLevelElement.style.top=this.topLevelElement.offsetTop+"px",this.minimumAllowedChildNodes=t.minimumAllowedChildNodes,this._buildResizeHandles(),this.readyToProcessNextResize=!0,this.dockSpawnResizedEvent=new CustomEvent("DockSpawnResizedEvent",{composed:!0,bubbles:!0}),this.iframeEventHandlers=[]}_createClass(m,[{key:"setActiveChild",value:function setActiveChild(){}},{key:"_buildResizeHandles",value:function _buildResizeHandles(){this.resizeHandles=[],this.disableResize||(this._buildResizeHandle(!1,!0,!0,!1),this._buildResizeHandle(!0,!1,!1,!0),this._buildResizeHandle(!1,!0,!1,!0),this._buildResizeHandle(!0,!1,!1,!1),this._buildResizeHandle(!1,!0,!1,!1),this._buildResizeHandle(!1,!1,!0,!1),this._buildResizeHandle(!1,!1,!1,!0))}},{key:"_buildResizeHandle",value:function _buildResizeHandle(e,t,n,i){var _this6=this;var s=new u;s.east=e,s.west=t,s.north=n,s.south=i,s.element=document.createElement("div"),this.topLevelElement.appendChild(s.element);var o="",l="";n&&(o="n"),i&&(o="s"),e&&(l="e"),t&&(l="w");var a="resize-handle-"+o+l;o.length>0&&l.length>0&&(s.corner=!0),s.element.classList.add(s.corner?"resize-handle-corner":"resize-handle"),s.element.classList.add(a),this.resizeHandles.push(s),s.mouseDownHandler=new h(s.element,"mousedown",function(e){_this6.onMouseDown(s,e)}),s.touchDownHandler=new h(s.element,"touchstart",function(e){_this6.onMouseDown(s,e)})}},{key:"saveState",value:function saveState(e){this.delegate.saveState(e)}},{key:"loadState",value:function loadState(e){this.delegate.loadState(e)}},{key:"width",get:function get(){return this.delegate.width}},{key:"height",get:function get(){return this.delegate.height}},{key:"name",get:function get(){return this.delegate.name},set:function set(e){e&&(this.delegate.name=e)}},{key:"resize",value:function resize(e,t){this.delegate.resize(e,t),this._adjustResizeHandles(e,t),document.dispatchEvent(this.dockSpawnResizedEvent)}},{key:"_adjustResizeHandles",value:function _adjustResizeHandles(e,t){this.resizeHandles.forEach(function(n){n.adjustSize(e,t)})}},{key:"performLayout",value:function performLayout(e){this.delegate.performLayout(e,!1)}},{key:"destroy",value:function destroy(){this.removeDecorator(),this.delegate.destroy()}},{key:"removeDecorator",value:function removeDecorator(){}},{key:"onMouseMovedIframe",value:function onMouseMovedIframe(e,t,n){var i=n.getBoundingClientRect();this.onMouseMoved(e,t,{x:i.x,y:i.y})}},{key:"onMouseMoved",value:function onMouseMoved(e,t,n){var i=null;if(t.changedTouches){if(t.changedTouches.length>1)return;i=t.changedTouches[0]}else i=t;if(!this.readyToProcessNextResize)return;this.readyToProcessNextResize=!1,this.dialog.panel&&this.dockManager.suspendLayout(this.dialog.panel);var s=new l(i.clientX,i.clientY);n&&(s=new l(i.clientX+n.x,i.clientY+n.y));var o=this.dockManager.checkXBounds(this.topLevelElement,s,this.previousMousePosition,e.west,e.east),a=this.dockManager.checkYBounds(this.topLevelElement,s,this.previousMousePosition,e.north,e.south);this._performDrag(e,o,a),this.previousMousePosition=s,this.readyToProcessNextResize=!0,this.dialog.panel&&this.dockManager.resumeLayout(this.dialog.panel),this.dockManager.notifyOnContainerResized(this)}},{key:"onMouseDown",value:function onMouseDown(e,t){var _this7=this;var n=null;if(t.touches){if(t.touches.length>1)return;n=t.touches[0]}else n=t;this.previousMousePosition=new l(n.clientX,n.clientY),e.mouseMoveHandler&&(e.mouseMoveHandler.cancel(),delete e.mouseMoveHandler),e.touchMoveHandler&&(e.touchMoveHandler.cancel(),delete e.touchMoveHandler),e.mouseUpHandler&&(e.mouseUpHandler.cancel(),delete e.mouseUpHandler),e.touchUpHandler&&(e.touchUpHandler.cancel(),delete e.touchUpHandler);var _iterator3=_createForOfIteratorHelper(this.iframeEventHandlers),_step3;try{for(_iterator3.s();!(_step3=_iterator3.n()).done;){var _e2=_step3.value;_e2.cancel()}}catch(err){_iterator3.e(err)}finally{_iterator3.f()}if(this.iframeEventHandlers=[],e.mouseMoveHandler=new h(window,"mousemove",function(t){_this7.onMouseMoved(e,t)}),e.touchMoveHandler=new h(window,"touchmove",function(t){_this7.onMouseMoved(e,t)}),e.mouseUpHandler=new h(window,"mouseup",function(t){_this7.onMouseUp(e)}),e.touchUpHandler=new h(window,"touchend",function(t){_this7.onMouseUp(e)}),this.dockManager.iframes){var _iterator4=_createForOfIteratorHelper(this.dockManager.iframes),_step4;try{var _loop2=function _loop2(){var t=_step4.value;var n=_this7.onMouseMovedIframe.bind(_this7);_this7.iframeEventHandlers.push(new h(t.contentWindow,"mousemove",function(i){return n(e,i,t)})),_this7.iframeEventHandlers.push(new h(t.contentWindow,"mouseup",function(t){return _this7.onMouseUp(e)})),_this7.iframeEventHandlers.push(new h(t.contentWindow,"touchmove",function(i){return n(e,i,t)})),_this7.iframeEventHandlers.push(new h(t.contentWindow,"touchend",function(t){return _this7.onMouseUp(e)}))};for(_iterator4.s();!(_step4=_iterator4.n()).done;){_loop2()}}catch(err){_iterator4.e(err)}finally{_iterator4.f()}}a.disableGlobalTextSelection(this.dockManager.config.dialogRootElement)}},{key:"onMouseUp",value:function onMouseUp(e){e.mouseMoveHandler.cancel(),e.touchMoveHandler.cancel(),e.mouseUpHandler.cancel(),e.touchUpHandler.cancel(),delete e.mouseMoveHandler,delete e.touchMoveHandler,delete e.mouseUpHandler,delete e.touchUpHandler;var _iterator5=_createForOfIteratorHelper(this.iframeEventHandlers),_step5;try{for(_iterator5.s();!(_step5=_iterator5.n()).done;){var _e3=_step5.value;_e3.cancel()}}catch(err){_iterator5.e(err)}finally{_iterator5.f()}this.iframeEventHandlers=[],a.enableGlobalTextSelection(this.dockManager.config.dialogRootElement)}},{key:"_performDrag",value:function _performDrag(e,t,n){var i={};i.left=a.getPixels(this.topLevelElement.style.left),i.top=a.getPixels(this.topLevelElement.style.top),i.width=this.topLevelElement.clientWidth,i.height=this.topLevelElement.clientHeight,e.east&&this._resizeEast(t,i),e.west&&this._resizeWest(t,i),e.north&&this._resizeNorth(n,i),e.south&&this._resizeSouth(n,i)}},{key:"_resizeWest",value:function _resizeWest(e,t){this._resizeContainer(e,0,-e,0,t)}},{key:"_resizeEast",value:function _resizeEast(e,t){this._resizeContainer(0,0,e,0,t)}},{key:"_resizeNorth",value:function _resizeNorth(e,t){this._resizeContainer(0,e,0,-e,t)}},{key:"_resizeSouth",value:function _resizeSouth(e,t){this._resizeContainer(0,0,0,e,t)}},{key:"_resizeContainer",value:function _resizeContainer(e,t,n,i,s){s.left+=e,s.top+=t,s.width+=n,s.height+=i,s.width=Math.max(s.width,50),s.height=Math.max(s.height,50),this.topLevelElement.style.left=s.left+"px",this.topLevelElement.style.top=s.top+"px",this.resize(s.width,s.height)}}]);return m}();var g=function(){function g(e,t,n,i){_classCallCheck(this,g);this.panel=e,this.dockManager=t,this.eventListener=t,this.grayoutParent=n,this.disableResize=i,this._initialize(),this.dockManager.context.model.dialogs.push(this),this.position=t.defaultDialogPosition,this.dockManager.notifyOnCreateDialog(this),e.isDialog=!0}_createClass(g,[{key:"saveState",value:function saveState(e,t){this.position=new l(e,t),this.dockManager.notifyOnChangeDialogPosition(this,e,t)}},{key:"_initialize",value:function _initialize(){this.panel.floatingDialog=this,this.elementDialog=Object.assign(document.createElement("div"),{floatingDialog:this}),this.elementDialog.tabIndex=0,this.elementDialog.appendChild(this.panel.elementPanel),this.draggable=new c(this,this.panel,this.elementDialog,this.panel.elementTitle),this.resizable=new m(this,this.draggable,this.draggable.topLevelElement,this.disableResize),this.dockManager.config.dialogRootElement.appendChild(this.elementDialog),this.elementDialog.classList.add("dialog-floating"),this.focusHandler=new h(this.elementDialog,"focus",this.onFocus.bind(this),!0),this.mouseDownHandler=new h(this.elementDialog,"mousedown",this.onMouseDown.bind(this),!0),this.touchDownHandler=new h(this.elementDialog,"touchstart",this.onMouseDown.bind(this)),this.keyPressHandler=new h(this.elementDialog,"keypress",this.dockManager.onKeyPressBound,!0),this.resize(this.panel.elementPanel.clientWidth,this.panel.elementPanel.clientHeight),this.isHidden=!1,null!=this.grayoutParent&&this.grayoutParent.grayOut(!0),this.bringToFront()}},{key:"setPosition",value:function setPosition(e,t){var n=this.dockManager.config.dialogRootElement.getBoundingClientRect();this.position=new l(e-n.left,t-n.top),this.elementDialog.style.left=e-n.left+"px",this.elementDialog.style.top=t-n.top+"px",this.panel.setDialogPosition(e,t),this.dockManager.notifyOnChangeDialogPosition(this,e,t)}},{key:"getPosition",value:function getPosition(){return new l(this.position?this.position.x:0,this.position?this.position.y:0)}},{key:"onFocus",value:function onFocus(){this.dockManager.activePanel!=this.panel&&(this.dockManager.activePanel=this.panel)}},{key:"onMouseDown",value:function onMouseDown(){this.bringToFront()}},{key:"destroy",value:function destroy(){this.panel.lastDialogSize={width:this.resizable.width,height:this.resizable.height},this.focusHandler&&(this.focusHandler.cancel(),delete this.focusHandler),this.mouseDownHandler&&(this.mouseDownHandler.cancel(),delete this.mouseDownHandler),this.touchDownHandler&&(this.touchDownHandler.cancel(),delete this.touchDownHandler),this.keyPressHandler&&(this.keyPressHandler.cancel(),delete this.keyPressHandler),a.removeNode(this.elementDialog),this.draggable.removeDecorator(),a.removeNode(this.panel.elementPanel),a.arrayRemove(this.dockManager.context.model.dialogs,this),delete this.panel.floatingDialog,this.grayoutParent&&this.grayoutParent.grayOut(!1)}},{key:"resize",value:function resize(e,t){this.resizable.resize(e,t)}},{key:"setTitle",value:function setTitle(e){this.panel.setTitle(e)}},{key:"setTitleIcon",value:function setTitleIcon(e){this.panel.setTitleIcon(e)}},{key:"bringToFront",value:function bringToFront(){this.panel.elementContentContainer.style.zIndex=this.dockManager.zIndexDialogCounter++,this.elementDialog.style.zIndex=this.dockManager.zIndexDialogCounter++,this.dockManager.activePanel=this.panel}},{key:"hide",value:function hide(){this.elementDialog.style.zIndex="0",this.panel.elementContentContainer.style.zIndex="",this.elementDialog.style.display="none",this.isHidden||(this.isHidden=!0,this.dockManager.notifyOnHideDialog(this)),this.grayoutParent&&this.grayoutParent.grayOut(!1)}},{key:"close",value:function close(){this.hide(),this.remove(),this.dockManager.notifyOnClosePanel(this.panel),this.destroy()}},{key:"remove",value:function remove(){this.elementDialog.parentNode.removeChild(this.elementDialog)}},{key:"show",value:function show(){this.panel.elementContentContainer.style.zIndex=this.dockManager.zIndexDialogCounter++,this.elementDialog.style.zIndex=this.dockManager.zIndexDialogCounter++,this.elementDialog.style.display="block",this.isHidden&&(this.isHidden=!1,this.dockManager.notifyOnShowDialog(this))}}],[{key:"fromElement",value:function fromElement(e,t){return new g(new d(document.getElementById(e),t),t,null)}}]);return g}();var p=_createClass(function p(){_classCallCheck(this,p);this.escClosesWindow=!0,this.escClosesDialog=!0,this.dialogRootElement=document.body,this.moveOnlyWithinDockConatiner=!1});var v=function(){function v(){_classCallCheck(this,v)}_createClass(v,[{key:"serialize",value:function serialize(e){var t=this._buildGraphInfo(e.rootNode),n=this._buildDialogsInfo(e.dialogs.sort(function(e,t){return e.elementDialog.style.zIndex-t.elementDialog.style.zIndex}));return JSON.stringify({graphInfo:t,dialogsInfo:n})}},{key:"_buildGraphInfo",value:function _buildGraphInfo(e){var _this8=this;var t={};e.container.saveState(t);var n=[];return e.children.forEach(function(e){n.push(_this8._buildGraphInfo(e))}),{containerType:e.container.containerType,state:t,children:n}}},{key:"_buildDialogsInfo",value:function _buildDialogsInfo(e){var t=[];return e.forEach(function(e){var n={},i=e.panel;i.saveState(n);var s={containerType:i.containerType,state:n,position:e.getPosition(),isHidden:e.isHidden};t.push(s)}),t}}]);return v}();var f=function(){function f(e){_classCallCheck(this,f);this.container=e,this.children=[]}_createClass(f,[{key:"detachFromParent",value:function detachFromParent(){this.parent&&(this.parent.removeChild(this),delete this.parent)}},{key:"removeChild",value:function removeChild(e){var t=this.children.indexOf(e);t>=0&&this.children.splice(t,1)}},{key:"addChild",value:function addChild(e){e.detachFromParent(),e.parent=this,this.children.push(e)}},{key:"addChildBefore",value:function addChildBefore(e,t){this._addChildWithDirection(e,t,!0)}},{key:"addChildAfter",value:function addChildAfter(e,t){this._addChildWithDirection(e,t,!1)}},{key:"_addChildWithDirection",value:function _addChildWithDirection(e,t,n){t.detachFromParent(),t.parent=this;var i=this.children.indexOf(e),s=this.children.slice(0,i),o=this.children.slice(i+1,this.children.length);this.children=s.slice(0),n?(this.children.push(t),this.children.push(e)):(this.children.push(e),this.children.push(t)),Array.prototype.push.apply(this.children,o)}},{key:"performLayout",value:function performLayout(e){var t=this.children.map(function(e){return e.container});this.container.performLayout(t,e)}},{key:"debugDumpTree",value:function debugDumpTree(e){void 0===e&&(e=0);var t=this.container.name;for(var _n2=0;_n2<e;_n2++){t="\t"+t}var n=void 0===this.parent?"null":this.parent.container.containerType;console.log(">>"+t+" ["+n+"]"),this.children.forEach(function(t){t.debugDumpTree(e+1)})}}]);return f}();var C=function(){function C(e,t,n){_classCallCheck(this,C);this.previousContainer=e,this.nextContainer=t,this.stackedVertical=n,this.barElement=document.createElement("div"),this.barElement.classList.add(n?"splitbar-horizontal":"splitbar-vertical"),this.mouseDownHandler=new h(this.barElement,"mousedown",this.onMouseDown.bind(this)),this.touchDownHandler=new h(this.barElement,"touchstart",this.onMouseDown.bind(this)),this.minPanelSize=50,this.readyToProcessNextDrag=!0,this.dockSpawnResizedEvent=new CustomEvent("DockSpawnResizedEvent",{composed:!0,bubbles:!0}),this.iframeEventHandlers=[]}_createClass(C,[{key:"onMouseDown",value:function onMouseDown(e){if(e.touches){if(e.touches.length>1)return;e=e.touches[0]}this._startDragging(e)}},{key:"onMouseUp",value:function onMouseUp(){this._stopDragging()}},{key:"onMouseMovedIframe",value:function onMouseMovedIframe(e,t){null!=e.changedTouches&&(e=e.changedTouches[0]);var n=t.getBoundingClientRect();this.handleMoveEvent({x:e.clientX+n.x,y:e.clientY+n.y})}},{key:"onMouseMoved",value:function onMouseMoved(e){null!=e.changedTouches&&(e=e.changedTouches[0]),this.handleMoveEvent({x:e.clientX,y:e.clientY})}},{key:"handleMoveEvent",value:function handleMoveEvent(e){if(!this.readyToProcessNextDrag)return;this.readyToProcessNextDrag=!1;var t=this.previousContainer.dockManager;t.suspendLayout(this.previousContainer),t.suspendLayout(this.nextContainer);var n=e.x-this.previousMouseEvent.x,i=e.y-this.previousMouseEvent.y;this._performDrag(n,i),this.previousMouseEvent=e,this.readyToProcessNextDrag=!0,t.resumeLayout(this.previousContainer),t.resumeLayout(this.nextContainer)}},{key:"_performDrag",value:function _performDrag(e,t){var n=this.previousContainer.containerElement.clientWidth,i=this.previousContainer.containerElement.clientHeight,s=this.nextContainer.containerElement.clientWidth,o=this.nextContainer.containerElement.clientHeight,l=this.stackedVertical?i:n,a=this.stackedVertical?o:s,h=this.stackedVertical?t:e,r=l+h,d=a-h;(!(r<this.minPanelSize||d<this.minPanelSize)||r<this.minPanelSize&&r>l||d<this.minPanelSize&&d>a)&&(this.stackedVertical?(this.previousContainer.resize(n,r),this.nextContainer.resize(s,d)):h<0?(this.previousContainer.resize(r,i),this.nextContainer.resize(d,o)):(this.nextContainer.resize(d,o),this.previousContainer.resize(r,i),this.nextContainer.resize(d,o)),document.dispatchEvent(this.dockSpawnResizedEvent))}},{key:"_startDragging",value:function _startDragging(e){var _this9=this;if(a.disableGlobalTextSelection(this.previousContainer.dockManager.config.dialogRootElement),this.mouseMovedHandler&&(this.mouseMovedHandler.cancel(),delete this.mouseMovedHandler),this.touchMovedHandler&&(this.touchMovedHandler.cancel(),delete this.touchMovedHandler),this.mouseUpHandler&&(this.mouseUpHandler.cancel(),delete this.mouseUpHandler),this.touchUpHandler&&(this.touchUpHandler.cancel(),delete this.touchUpHandler),this.mouseMovedHandler=new h(window,"mousemove",this.onMouseMoved.bind(this)),this.mouseUpHandler=new h(window,"mouseup",this.onMouseUp.bind(this)),this.touchMovedHandler=new h(window,"touchmove",this.onMouseMoved.bind(this)),this.touchUpHandler=new h(window,"touchend",this.onMouseUp.bind(this)),this.previousContainer.dockManager.iframes){var _iterator6=_createForOfIteratorHelper(this.previousContainer.dockManager.iframes),_step6;try{var _loop3=function _loop3(){var e=_step6.value;var t=_this9.onMouseMovedIframe.bind(_this9);_this9.iframeEventHandlers.push(new h(e.contentWindow,"mousemove",function(n){return t(n,e)})),_this9.iframeEventHandlers.push(new h(e.contentWindow,"mouseup",_this9.onMouseUp.bind(_this9))),_this9.iframeEventHandlers.push(new h(e.contentWindow,"touchmove",function(n){return t(n,e)})),_this9.iframeEventHandlers.push(new h(e.contentWindow,"touchend",_this9.onMouseUp.bind(_this9)))};for(_iterator6.s();!(_step6=_iterator6.n()).done;){_loop3()}}catch(err){_iterator6.e(err)}finally{_iterator6.f()}}this.previousMouseEvent={x:e.clientX,y:e.clientY}}},{key:"_stopDragging",value:function _stopDragging(){a.enableGlobalTextSelection(this.previousContainer.dockManager.config.dialogRootElement),this.mouseMovedHandler&&(this.mouseMovedHandler.cancel(),delete this.mouseMovedHandler),this.touchMovedHandler&&(this.touchMovedHandler.cancel(),delete this.touchMovedHandler),this.mouseUpHandler&&(this.mouseUpHandler.cancel(),delete this.mouseUpHandler),this.touchUpHandler&&(this.touchUpHandler.cancel(),delete this.touchUpHandler);var _iterator7=_createForOfIteratorHelper(this.iframeEventHandlers),_step7;try{for(_iterator7.s();!(_step7=_iterator7.n()).done;){var _e4=_step7.value;_e4.cancel()}}catch(err){_iterator7.e(err)}finally{_iterator7.f()}this.iframeEventHandlers=[]}}]);return C}();var w=function(){function w(e,t){_classCallCheck(this,w);this.childContainers=e,this.stackedVertical=t,this.panelElement=document.createElement("div"),this.spiltterBars=[],this._buildSplitterDOMAndAddElements()}_createClass(w,[{key:"_buildSplitterDOMAndAddElements",value:function _buildSplitterDOMAndAddElements(){if(this.childContainers.length<=1)throw new Error("Splitter panel should contain atleast 2 panels");this.spiltterBars=[];var e=null;for(var _t3=0;_t3<this.childContainers.length-1;_t3++){var n=this.childContainers[_t3],i=this.childContainers[_t3+1],_s3=new C(n,i,this.stackedVertical);this.spiltterBars.push(_s3),Array.from(this.panelElement.children).includes(n.containerElement)||this._insertContainerIntoPanel(n,e),this.panelElement.insertBefore(_s3.barElement,n.containerElement.nextSibling),e=_s3.barElement}var t=this.childContainers.slice(-1)[0];Array.from(this.panelElement.children).includes(t.containerElement)||this._insertContainerIntoPanel(t,e)}},{key:"performLayout",value:function performLayout(e,t){a.arrayEqual(this.childContainers,e)&&!t||(this.childContainers.forEach(function(t){e.some(function(e){return e==t})||t.containerElement&&(t.containerElement.classList.remove("splitter-container-vertical"),t.containerElement.classList.remove("splitter-container-horizontal"),a.removeNode(t.containerElement))}),this.spiltterBars.forEach(function(e){a.removeNode(e.barElement)}),this.childContainers=e,this._buildSplitterDOMAndAddElements())}},{key:"removeFromDOM",value:function removeFromDOM(){this.childContainers.forEach(function(e){e.containerElement&&(e.containerElement.classList.remove("splitter-container-vertical"),e.containerElement.classList.remove("splitter-container-horizontal"),a.removeNode(e.containerElement))}),this.spiltterBars.forEach(function(e){a.removeNode(e.barElement)})}},{key:"destroy",value:function destroy(){this.removeFromDOM(),this.panelElement.parentNode.removeChild(this.panelElement)}},{key:"_insertContainerIntoPanel",value:function _insertContainerIntoPanel(e,t){e?(e.containerElement.parentNode!=this.panelElement&&(a.removeNode(e.containerElement),t?this.panelElement.insertBefore(e.containerElement,t.nextSibling):this.panelElement.children.length>0?this.panelElement.insertBefore(e.containerElement,this.panelElement.children[0]):this.panelElement.appendChild(e.containerElement)),e.containerElement.classList.add(this.stackedVertical?"splitter-container-vertical":"splitter-container-horizontal")):console.error("container is undefined")}},{key:"setContainerRatio",value:function setContainerRatio(e,t){var n=this.stackedVertical?this.panelElement.clientHeight:this.panelElement.clientWidth,i=n*t,s=(n-i-(this.stackedVertical?this.spiltterBars[0].barElement.clientHeight:this.spiltterBars[0].barElement.clientWidth)*this.spiltterBars.length)/n;for(var _t4=0;_t4<this.childContainers.length;_t4++){var _n3=void 0,_o=this.childContainers[_t4];_o!==e?(_n3=this.stackedVertical?_o.containerElement.parentElement.clientHeight:_o.containerElement.parentElement.clientWidth,_n3*=s):_n3=i,this.stackedVertical?_o.resize(_o.width,Math.floor(_n3)):_o.resize(Math.floor(_n3),_o.height)}}},{key:"getRatios",value:function getRatios(){var e=this.stackedVertical?this.spiltterBars[0].barElement.clientHeight:this.spiltterBars[0].barElement.clientWidth,t=(this.stackedVertical?this.panelElement.clientHeight:this.panelElement.clientWidth)-e*this.spiltterBars.length,n=[];for(var _e5=0;_e5<this.childContainers.length;_e5++){var i=this.childContainers[_e5],_s4=this.stackedVertical?i.containerElement.clientHeight:i.containerElement.clientWidth;n.push(_s4/t)}return n}},{key:"setRatios",value:function setRatios(e){var t=this.stackedVertical?this.spiltterBars[0].barElement.clientHeight:this.spiltterBars[0].barElement.clientWidth,n=(this.stackedVertical?this.panelElement.clientHeight:this.panelElement.clientWidth)-t*this.spiltterBars.length;for(var _t5=0;_t5<this.childContainers.length;_t5++){var i=this.childContainers[_t5],_s5=n*e[_t5];this.stackedVertical?i.resize(i.width,Math.floor(_s5)):i.resize(Math.floor(_s5),i.height)}}},{key:"resize",value:function resize(e,t){var _this10=this;if(this.childContainers.length<=1)return;var n;for(this.panelElement.style.width=e+"px",this.panelElement.style.height=t+"px",n=0;n<this.childContainers.length;n++){var _i3=this.childContainers[n];if(this.stackedVertical?_i3.resize(e,_i3.height?_i3.height:t):_i3.resize(_i3.width?_i3.width:e,t),n<this.spiltterBars.length){var _i4=this.spiltterBars[n];this.stackedVertical?_i4.barElement.style.width=e+"px":_i4.barElement.style.height=t+"px"}}var i=0;this.childContainers.forEach(function(e){var t=_this10.stackedVertical?e.height:e.width;i+=t});var s=this.spiltterBars[0].barElement.getBoundingClientRect();var o=this.stackedVertical?s.height:s.width,l=this.stackedVertical?t:e;l-=o*this.spiltterBars.length,i=Math.max(i,1);var a=l/i,h=0;for(n=0;n<this.childContainers.length;n++){var _e6=this.childContainers[n];"none"==_e6.containerElement.style.display&&(_e6.containerElement.style.display="block");var _t6=this.stackedVertical?_e6.containerElement.clientHeight:_e6.containerElement.clientWidth,_i5=a>1?Math.floor(_t6*a):Math.ceil(_t6*a);h+=_i5,n===this.childContainers.length-1&&(_i5+=l-h),this.stackedVertical?_e6.resize(_e6.width,_i5):_e6.resize(_i5,_e6.height)}}}]);return w}();var y=function(){function y(e,t,n,i){_classCallCheck(this,y);0!==arguments.length&&(this.name=e,this.dockManager=t,this.stackedVertical=i,this.splitterPanel=new w(n,this.stackedVertical),this.containerElement=this.splitterPanel.panelElement,this.minimumAllowedChildNodes=2)}_createClass(y,[{key:"resize",value:function resize(e,t){this.splitterPanel.resize(e,t),this._cachedWidth=e,this._cachedHeight=t}},{key:"performLayout",value:function performLayout(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:!1;this.splitterPanel.performLayout(e,t)}},{key:"setActiveChild",value:function setActiveChild(){}},{key:"destroy",value:function destroy(){this.splitterPanel.destroy()}},{key:"setContainerRatio",value:function setContainerRatio(e,t){this.splitterPanel.setContainerRatio(e,t),this.resize(this.width,this.height)}},{key:"getRatios",value:function getRatios(){return this.splitterPanel.getRatios()}},{key:"setRatios",value:function setRatios(e){this.splitterPanel.setRatios(e),this.resize(this.width,this.height)}},{key:"saveState",value:function saveState(e){e.width=this.width,e.height=this.height}},{key:"loadState",value:function loadState(e){this.state={width:e.width,height:e.height}}},{key:"width",get:function get(){return void 0===this._cachedWidth&&(this._cachedWidth=this.splitterPanel.panelElement.clientWidth),this._cachedWidth}},{key:"height",get:function get(){return void 0===this._cachedHeight&&(this._cachedHeight=this.splitterPanel.panelElement.clientHeight),this._cachedHeight}}]);return y}();var k=function(_y){_inherits(k,_y);var _super=_createSuper(k);function k(t,n){var _this11;_classCallCheck(this,k);_this11=_super.call(this,a.getNextId("horizontal_splitter_"),t,n,!1),_this11.containerType=e.horizontal;return _this11}return _createClass(k)}(y);var M=function(_y2){_inherits(M,_y2);var _super2=_createSuper(M);function M(t,n){var _this12;_classCallCheck(this,M);_this12=_super2.call(this,a.getNextId("vertical_splitter_"),t,n,!0),_this12.containerType=e.vertical;return _this12}return _createClass(M)}(y);var b=function(){function b(e){var _this13=this;_classCallCheck(this,b);this.parent=e;var t=this._performUndock.bind(this);this.elementBase=document.createElement("div"),this.elementText=document.createElement("div"),this.elementCloseButton=document.createElement("div"),this.elementBase.classList.add("dockspan-tab-handle"),this.elementBase.classList.add("disable-selection"),this.elementText.classList.add("dockspan-tab-handle-text"),this.elementCloseButton.classList.add("dockspan-tab-handle-close-button"),this.elementBase.appendChild(this.elementText),this.parent.host.displayCloseButton&&this.elementBase.appendChild(this.elementCloseButton),(this.parent.container._hideCloseButton||this.parent.container._grayOut)&&(this.elementCloseButton.style.display="none"),this.parent.host.tabListElement.appendChild(this.elementBase);var n=e.container,i=n.getRawTitle();this.undockListener={onDockEnabled:function onDockEnabled(e){_this13.undockEnabled(e.state)},onHideCloseButton:function onHideCloseButton(e){_this13.hideCloseButton(e.state)}},this.eventListeners=[],n.addListener(this.undockListener),this.elementText.innerHTML=i,this.elementText.title=this.elementText.innerText,this.undockInitiator=new r(this.elementBase,t),this.undockInitiator.enabled=!0,this.mouseDownHandler=new h(this.elementBase,"mousedown",this.onMouseDown.bind(this)),this.touchDownHandler=new h(this.elementBase,"touchstart",this.onMouseDown.bind(this),{passive:!1}),this.closeButtonHandler=new h(this.elementCloseButton,"click",this.onCloseButtonClicked.bind(this)),this.closeButtonTouchHandler=new h(this.elementCloseButton,"touchstart",this.onCloseButtonClicked.bind(this)),this.auxClickHandler=new h(this.elementBase,"auxclick",this.onCloseButtonClicked.bind(this)),this.contextMenuHandler=new h(this.elementBase,"contextmenu",this.oncontextMenuClicked.bind(this))}_createClass(b,[{key:"addListener",value:function addListener(e){this.eventListeners.push(e)}},{key:"removeListener",value:function removeListener(e){this.eventListeners.splice(this.eventListeners.indexOf(e),1)}},{key:"undockEnabled",value:function undockEnabled(e){this.undockInitiator.enabled=e}},{key:"oncontextMenuClicked",value:function oncontextMenuClicked(e){e.preventDefault(),!this._ctxMenu&&b.createContextMenuContentCallback?(this._ctxMenu=document.createElement("div"),this._ctxMenu.className="dockspab-tab-handle-context-menu",b.createContextMenuContentCallback(this,this._ctxMenu,this.parent.container.dockManager.context.model.documentManagerNode.children),this._ctxMenu.style.left=e.pageX+"px",this._ctxMenu.style.top=e.pageY+"px",document.body.appendChild(this._ctxMenu),this._windowsContextMenuCloseBound=this.windowsContextMenuClose.bind(this),window.addEventListener("mouseup",this._windowsContextMenuCloseBound)):this.closeContextMenu()}},{key:"closeContextMenu",value:function closeContextMenu(){this._ctxMenu&&(document.body.removeChild(this._ctxMenu),delete this._ctxMenu,window.removeEventListener("mouseup",this._windowsContextMenuCloseBound))}},{key:"windowsContextMenuClose",value:function windowsContextMenuClose(e){var t=e.composedPath();for(var _e7 in t){if(t[_e7]==this._ctxMenu)return}this.closeContextMenu()}},{key:"onMouseDown",value:function onMouseDown(e){e.preventDefault(),this.parent.onSelected(),this.mouseMoveHandler&&(this.mouseMoveHandler.cancel(),delete this.mouseMoveHandler),this.touchMoveHandler&&(this.touchMoveHandler.cancel(),delete this.touchMoveHandler),this.mouseUpHandler&&(this.mouseUpHandler.cancel(),delete this.mouseUpHandler),this.touchUpHandler&&(this.touchUpHandler.cancel(),delete this.touchUpHandler),this.stargDragPosition=e.clientX,this.mouseMoveHandler=new h(window,"mousemove",this.onMouseMove.bind(this)),this.touchMoveHandler=new h(window,"touchmove",this.onMouseMove.bind(this),{passive:!1}),this.mouseUpHandler=new h(window,"mouseup",this.onMouseUp.bind(this)),this.touchUpHandler=new h(window,"touchend",this.onMouseUp.bind(this))}},{key:"onMouseUp",value:function onMouseUp(e){this.elementBase&&this.elementBase.classList.remove("dockspan-tab-handle-dragged"),this.dragged=!1,this.mouseMoveHandler&&this.mouseMoveHandler.cancel(),this.touchMoveHandler&&this.touchMoveHandler.cancel(),this.mouseUpHandler&&this.mouseUpHandler.cancel(),this.touchUpHandler&&this.touchUpHandler.cancel(),delete this.mouseMoveHandler,delete this.touchMoveHandler,delete this.mouseUpHandler,delete this.touchUpHandler}},{key:"moveTabEvent",value:function moveTabEvent(e,t){e.eventListeners.forEach(function(n){n.onMoveTab&&n.onMoveTab({self:e,state:t})})}},{key:"onMouseMove",value:function onMouseMove(e){if(e.preventDefault(),!(Math.abs(this.stargDragPosition-e.clientX)<10)&&null!=this.elementBase){this.elementBase.classList.add("dockspan-tab-handle-dragged"),this.dragged=!0,this.prev=this.current,this.current=e.clientX,this.direction=this.current-this.prev;var _t7=this.elementBase.getBoundingClientRect(),n=this.direction<0?{state:"left",bound:_t7.left,rect:_t7}:{state:"right",bound:_t7.right,rect:_t7};(e.clientX<_t7.left&&this.direction<0||e.clientX>_t7.left+_t7.width&&this.direction>0)&&this.moveTabEvent(this,n.state)}}},{key:"hideCloseButton",value:function hideCloseButton(e){this.elementCloseButton.style.display=e?"none":"block"}},{key:"updateTitle",value:function updateTitle(){if(this.parent.container instanceof d){var _e8=this.parent.container.getRawTitle();this.elementText.innerHTML=_e8}}},{key:"destroy",value:function destroy(){this.parent.container.removeListener(this.undockListener),this.mouseDownHandler.cancel(),this.touchDownHandler.cancel(),this.closeButtonHandler.cancel(),this.closeButtonTouchHandler.cancel(),this.auxClickHandler.cancel(),this.mouseMoveHandler&&this.mouseMoveHandler.cancel(),this.touchMoveHandler&&this.touchMoveHandler.cancel(),this.mouseUpHandler&&this.mouseUpHandler.cancel(),this.touchUpHandler&&this.touchUpHandler.cancel(),this.contextMenuHandler&&this.contextMenuHandler.cancel(),this.elementBase&&(a.removeNode(this.elementBase),delete this.elementBase),this.elementCloseButton&&(a.removeNode(this.elementCloseButton),delete this.elementCloseButton)}},{key:"_performUndock",value:function _performUndock(e,t){return"panel"===this.parent.container.containerType?(this.undockInitiator.enabled=!1,this.parent.container.performUndockToDialog(e,t)):null}},{key:"onCloseButtonClicked",value:function onCloseButtonClicked(e){"none"!==this.elementCloseButton.style.display&&2!==e.button&&"panel"===this.parent.container.containerType&&this.parent.container.close()}},{key:"setSelected",value:function setSelected(e){e?this.elementBase.classList.add("dockspan-tab-handle-selected"):(this.elementBase.classList.remove("dockspan-tab-handle-selected"),this.elementBase.classList.remove("dockspan-tab-handle-active"))}},{key:"setActive",value:function setActive(e){this.elementBase&&(e?this.elementBase.classList.add("dockspan-tab-handle-active"):this.elementBase.classList.remove("dockspan-tab-handle-active"))}}]);return b}();b.createContextMenuContentCallback=function(e,n,i){var s=document.createElement("div");s.innerText="Close all documents",n.append(s);var o=document.createElement("div");o.innerText="Close all documents but this",n.append(o),s.onclick=function(){for(var _e9=i.length-1;_e9>=0;_e9--){var _n4=i[_e9].container;_n4.panelType==t.document&&_n4.close()}e.closeContextMenu()},o.onclick=function(){for(var _n5=i.length-1;_n5>=0;_n5--){var _s6=i[_n5].container;e.parent.container!=_s6&&_s6.panelType==t.document&&_s6.close()}e.closeContextMenu()}};var E=function(){function E(e,t){_classCallCheck(this,E);0!==arguments.length&&(this.selected=!1,this.host=e,this.container=t,this.handle=new b(this),this.containerElement=t.containerElement,t instanceof d&&(this.panel=t,this.panel.onTitleChanged=this.onTitleChanged.bind(this),this.onTitleChanged()),t.tabPage=this)}_createClass(E,[{key:"onTitleChanged",value:function onTitleChanged(){this.handle.updateTitle(),this.panel&&(this.panel.hasChanges?this.handle.elementText.classList.add("panel-has-changes"):this.handle.elementText.classList.remove("panel-has-changes"))}},{key:"destroy",value:function destroy(){this.handle.destroy(),this.container instanceof d&&delete this.container.onTitleChanged,this.host.dockManager.activePanel==this.panel&&(this.host.dockManager.activePanel=null),this.container.tabPage=null,a.removeNode(this.containerElement)}},{key:"onSelected",value:function onSelected(){this.host.onTabPageSelected(this,!0),this.container instanceof d&&this.container.dockManager.notifyOnTabChange(this)}},{key:"setSelected",value:function setSelected(e,t){if(this.selected=e,this.handle.setSelected(e),this._initContent||this.host.contentElement.appendChild(this.containerElement),this._initContent=!0,this.selected){this.containerElement.style.display="block",this.panel.setVisible(!0);var _e10=this.host.contentElement.clientWidth,n=this.host.contentElement.clientHeight;this.container.resize(_e10,n),t&&(this.host.dockManager.activePanel=this.container)}else this.containerElement.style.display="none",this.panel.setVisible(!1)}},{key:"resize",value:function resize(e,t){this.container.resize(e,t)}}]);return E}();!function(e){e[e.TOP=0]="TOP",e[e.BOTTOM=1]="BOTTOM",e[e.LEFT=2]="LEFT",e[e.RIGHT=3]="RIGHT"}(n||(n={}));var H=function(){function H(e,t,i){var _this14=this;_classCallCheck(this,H);if(void 0===t&&(t=n.BOTTOM),void 0===i&&(i=!1),this.dockManager=e,this.tabStripDirection=t,this.displayCloseButton=i,this.pages=[],this.eventListeners=[],this.tabHandleListener={onMoveTab:function onMoveTab(e){_this14.onMoveTab(e)}},this.hostElement=document.createElement("div"),this.tabListElement=document.createElement("div"),this.separatorElement=document.createElement("div"),this.contentElement=document.createElement("div"),this.contentElement.tabIndex=0,this.createTabPage=this._createDefaultTabPage,this.tabStripDirection===n.BOTTOM)this.hostElement.appendChild(this.contentElement),this.hostElement.appendChild(this.separatorElement),this.hostElement.appendChild(this.tabListElement);else{if(this.tabStripDirection!==n.TOP)throw new Error("Only top and bottom tab strip orientations are supported");this.hostElement.appendChild(this.tabListElement),this.hostElement.appendChild(this.separatorElement),this.hostElement.appendChild(this.contentElement)}this.hostElement.classList.add("dockspan-tab-host"),this.tabListElement.classList.add("dockspan-tab-handle-list-container"),this.separatorElement.classList.add("dockspan-tab-handle-content-seperator"),this.contentElement.classList.add("dockspan-tab-content"),this.contentElement.tabIndex=0,this.focusHandler=new h(this.contentElement,"focus",this.onFocus.bind(this),!0),this.mouseDownHandler=new h(this.contentElement,"mousedown",this.onMousedown.bind(this),!0)}_createClass(H,[{key:"onFocus",value:function onFocus(){this.activeTab&&this.dockManager.activePanel!=this.activeTab.panel&&(this.dockManager.activePanel=this.activeTab.panel)}},{key:"setActive",value:function setActive(e){e?this.separatorElement.classList.add("dockspan-tab-handle-content-seperator-active"):this.separatorElement.classList.remove("dockspan-tab-handle-content-seperator-active"),this.activeTab&&this.activeTab.handle.setActive(e)}},{key:"onMousedown",value:function onMousedown(){this.activeTab&&this.dockManager.activePanel!=this.activeTab.panel&&(this.dockManager.activePanel=this.activeTab.panel)}},{key:"onMoveTab",value:function onMoveTab(e){var t=Array.prototype.slice.call(this.tabListElement.childNodes).indexOf(e.self.elementBase);this.change(this,e.self,e.state,t)}},{key:"performTabsLayout",value:function performTabsLayout(e){this.pages=a.orderByIndexes(this.pages,e);var t=this.tabListElement.childNodes,n=[];for(var _e11 in t){1===t[_e11].nodeType&&n.push(t[_e11])}n=a.orderByIndexes(n,e);for(var _e12=0;_e12<n.length;++_e12){this.tabListElement.appendChild(n[_e12])}this.activeTab&&this.onTabPageSelected(this.activeTab,!1)}},{key:"getActiveTab",value:function getActiveTab(){return this.activeTab}},{key:"addListener",value:function addListener(e){this.eventListeners.push(e)}},{key:"removeListener",value:function removeListener(e){this.eventListeners.splice(this.eventListeners.indexOf(e),1)}},{key:"change",value:function change(e,t,n,i){this.eventListeners.forEach(function(s){s.onChange&&s.onChange({host:e,handle:t,state:n,index:i})})}},{key:"_createDefaultTabPage",value:function _createDefaultTabPage(e,t){return new E(e,t)}},{key:"setActiveTab",value:function setActiveTab(e){var t;this.pages.forEach(function(n){n.container===e&&(t=n)}),this.pages.length>0&&t&&(this.onTabPageSelected(t,!0),this.dockManager.activePanel=e)}},{key:"resize",value:function resize(e,t){var _this15=this;this.hostElement.style.width=e+"px",this.hostElement.style.height=t+"px";var n=this.tabListElement.clientHeight;this._resizeRequested||requestAnimationFrame(function(){return _this15.resizeTabListElement(e,t)}),this._resizeRequested=!0;var i=this.separatorElement.clientHeight,s=t-n-i;this.contentElement.style.height=s+"px",this.activeTab&&this.activeTab.resize(e,s)}},{key:"resizeTabListElement",value:function resizeTabListElement(e,t){var _this16=this;if(this._resizeRequested=!1,0===this.pages.length)return;var n=0;this.pages.forEach(function(e){var t=e.handle;null!=t.elementBase&&(t.elementBase.style.width="",n+=t.elementBase.clientWidth)});var i=e/n;i>1.2||this.pages.forEach(function(e,t){var n=e.handle,s=i*n.elementBase.clientWidth;t===_this16.pages.length-1&&(s-=5),n.elementBase.style.width=s+"px"})}},{key:"performLayout",value:function performLayout(e){var _this17=this;this.pages.forEach(function(t){if(!e.some(function(e){return e==t.container})){t.handle.removeListener(_this17.tabHandleListener),t.destroy();var _e13=_this17.pages.indexOf(t);_e13>-1&&_this17.pages.splice(_e13,1)}});var t=this.activeTab;delete this.activeTab;var n=e.filter(function(e){return"panel"===e.containerType});n.length>0?(n.forEach(function(e){var n=null;_this17.pages.some(function(t){return t.container==e&&(n=t,!0)})||(n=_this17.createTabPage(_this17,e),n.handle.addListener(_this17.tabHandleListener),_this17.pages.push(n)),t&&n.container===t.container&&(_this17.activeTab=n)}),this._setTabHandlesVisible(!0)):this._setTabHandlesVisible(!1),this.activeTab&&this.onTabPageSelected(this.activeTab,!1)}},{key:"_setTabHandlesVisible",value:function _setTabHandlesVisible(e){e?(this.tabListElement.classList.add("dockspan-tab-handle-list-container-visible"),this.separatorElement.classList.add("dockspan-tab-handle-content-seperator-visible")):(this.tabListElement.classList.remove("dockspan-tab-handle-list-container-visible"),this.separatorElement.classList.remove("dockspan-tab-handle-content-seperator-visible"))}},{key:"onTabPageSelected",value:function onTabPageSelected(e,t){this.activeTab=e,this.pages.forEach(function(n){var i=n===e;n.setSelected(i,t)})}}]);return H}();var D=function(){function D(t,i){var _this18=this;_classCallCheck(this,D);void 0===i&&(i=n.BOTTOM),this.dockManager=t,this.tabOrientation=i,this.name=a.getNextId("fill_"),this.element=document.createElement("div"),this.containerElement=this.element,this.containerType=e.fill,this.minimumAllowedChildNodes=2,this.element.classList.add("dock-container"),this.element.classList.add("dock-container-fill"),this.tabHost=new H(t,this.tabOrientation),this.tabHostListener={onChange:function onChange(e){_this18.dockManager._requestTabReorder(_this18,e)}},this.tabHost.addListener(this.tabHostListener),this.element.appendChild(this.tabHost.hostElement)}_createClass(D,[{key:"setActiveChild",value:function setActiveChild(e){this.tabHost.setActiveTab(e)}},{key:"resize",value:function resize(e,t){this.element.style.width=e+"px",this.element.style.height=t+"px",this.tabHost.resize(e,t)}},{key:"performLayout",value:function performLayout(e){this.tabHost.performLayout(e)}},{key:"destroy",value:function destroy(){a.removeNode(this.element)&&delete this.element}},{key:"saveState",value:function saveState(e){e.width=this.width,e.height=this.height}},{key:"loadState",value:function loadState(e){this.state={width:e.width,height:e.height}}},{key:"width",get:function get(){return this.element.clientWidth},set:function set(e){this.element.style.width=e+"px"}},{key:"height",get:function get(){return this.element.clientHeight},set:function set(e){this.element.style.height=e+"px"}}]);return D}();var x=function(){function x(e){_classCallCheck(this,x);this._forceResizeCompositeContainer=function(e){var t=e.containerElement.clientWidth,n=e.containerElement.clientHeight;e.resize(t,n)},this.dockManager=e}_createClass(x,[{key:"dockLeft",value:function dockLeft(e,t){this._performDock(e,t,"horizontal",!0)}},{key:"dockRight",value:function dockRight(e,t){this._performDock(e,t,"horizontal",!1)}},{key:"dockUp",value:function dockUp(e,t){this._performDock(e,t,"vertical",!0)}},{key:"dockDown",value:function dockDown(e,t){this._performDock(e,t,"vertical",!1)}},{key:"dockFill",value:function dockFill(e,t){this._performDock(e,t,"fill",!1)}},{key:"undock",value:function undock(e){var t=e.parent;if(!t)throw new Error("Cannot undock. panel is not a leaf node");var n=t.children.indexOf(e);if(e.detachFromParent(),t.children.length<t.container.minimumAllowedChildNodes){var _e14=t.parent;for(var _n6=0;_n6<t.children.length;_n6++){var i=t.children[_n6];if(_e14){_e14.addChildAfter(t,i),t.detachFromParent();var _n7=t.container.containerElement.clientWidth,_s7=t.container.containerElement.clientHeight;t.container.destroy(),i.container.resize(_n7,_s7),_e14.performLayout(!1)}else t.detachFromParent(),t.container.destroy(),this.dockManager.setRootNode(i)}}else if(t.performLayout(!1),t.children.length>0){var _e15=t.children[Math.max(0,n-1)];t.container.setActiveChild(_e15.container)}this.dockManager.invalidate(),this.dockManager.notifyOnUnDock(e)}},{key:"close",value:function close(e){var t=null==e?void 0:e.parent;if(!t)throw new Error("Cannot undock. panel is not a leaf node");var n=!1;t.children.length>0&&null!=t.container.tabHost&&(n=t.container.tabHost.getActiveTab().container==e.container);var i=t.children.indexOf(e);if(e.detachFromParent(),t.children.length<t.container.minimumAllowedChildNodes){var _e16=t.parent;for(var _n8=0;_n8<t.children.length;_n8++){var _i6=t.children[_n8];if(_e16){_e16.addChildAfter(t,_i6),t.detachFromParent();var _n9=t.container.containerElement.clientWidth,_s8=t.container.containerElement.clientHeight;_i6.container.resize(_n9,_s8),t.container.destroy(),_e16.performLayout(!1)}else t.detachFromParent(),t.container.destroy(),this.dockManager.setRootNode(_i6)}}else if(t.performLayout(!1),n){var _e17=t.children[Math.max(0,i-1)];null!=_e17&&t.container.setActiveChild(_e17.container)}this.dockManager.invalidate(),this.dockManager.notifyOnUnDock(e)}},{key:"reorderTabs",value:function reorderTabs(e,t,n,i){var s=e.children.length,o="left"===n?i:i+1;if("right"==n&&o>=e.children.length)return;if("left"==n&&0==o)return;var l=Array.apply(null,{length:s}).map(Number.call,Number),h=l.splice(o,1)[0];l.splice("left"===n?i-1:i,0,h),e.children=a.orderByIndexes(e.children,l),e.container.tabHost.performTabsLayout(l),this.dockManager.notifyOnTabsReorder(e)}},{key:"_performDock",value:function _performDock(e,t,n,i){if(e.parent&&"fill"===e.parent.container.containerType&&(e=e.parent),"fill"===n&&"fill"===e.container.containerType)return e.addChild(t),e.performLayout(!1),e.container.setActiveChild(t.container),this.dockManager.invalidate(),void this.dockManager.notifyOnDock(t);var s,o,l;if(e===this.dockManager.context.model.rootNode)return i?(s=this._createDockContainer(n,t,e),o=new f(s),o.addChild(t),o.addChild(e)):(s=this._createDockContainer(n,e,t),o=new f(s),o.addChild(e),o.addChild(t)),this.dockManager.setRootNode(o),this.dockManager.rebuildLayout(this.dockManager.context.model.rootNode),o.container.setActiveChild(t.container),this.dockManager.invalidate(),void this.dockManager.notifyOnDock(t);if(e.parent.container.containerType!==n){l=e.parent;var _h=e.container.containerElement.clientWidth,_r=e.container.containerElement.clientHeight,_d=l.container.containerElement.clientWidth,_c=l.container.containerElement.clientHeight;s=this._createDockContainer(n,t,e),o=new f(s),l.addChildAfter(e,o),e.detachFromParent(),a.removeNode(e.container.containerElement),i?(o.addChild(t),o.addChild(e)):(o.addChild(e),o.addChild(t)),l.performLayout(!1),o.performLayout(!0),o.container.setActiveChild(t.container),o.container.resize(_h,_r),l.container.resize(_d,_c)}else l=e.parent,i?l.addChildBefore(e,t):l.addChildAfter(e,t),l.performLayout(!1),l.container.setActiveChild(t.container);var h=t.container.containerElement.clientWidth,r=t.container.containerElement.clientHeight;t.container.resize(h,r),this.dockManager.invalidate(),this.dockManager.notifyOnDock(t)}},{key:"_createDockContainer",value:function _createDockContainer(e,t,n){if("horizontal"===e)return new k(this.dockManager,[t.container,n.container]);if("vertical"===e)return new M(this.dockManager,[t.container,n.container]);if("fill"===e)return new D(this.dockManager);throw new Error("Failed to create dock container of type: "+e)}},{key:"getDockBounds",value:function getDockBounds(e,t,n,i){var s,o,l,a;if("fill"===n){var _t8=e.container.containerElement,_n10=this.dockManager.element.getBoundingClientRect(),_i7=_t8.getBoundingClientRect();return{x:_i7.left-_n10.left,y:_i7.top-_n10.top,width:_t8.clientWidth,height:_t8.clientHeight}}e.parent&&"fill"===e.parent.container.containerType&&(e=e.parent);var h=!1;e.parent&&e.parent.container.containerType===n?(s=e.parent,o=s.children.length,l=s.children.indexOf(e)+(i?0:1)):(s=e,o=1,l=i?0:1,h=!0);var r=0,d=0;if("vertical"===n||"horizontal"===n){var _e18=this._getVaringDimension(s.container,n)-5*(o-1),_a=this._getVaringDimension(t,n),_c2=_e18/(_e18+_a);if(r=_a*_c2,h)d=i?0:_e18*_c2;else{for(var _e19=0;_e19<l;_e19++){d+=this._getVaringDimension(s.children[_e19].container,n)}d*=_c2}}a={};var c=this.dockManager.element.getBoundingClientRect(),u=s.container.containerElement.getBoundingClientRect();return"vertical"===n?(a.x=u.left-c.left,a.y=u.top-c.top+d,a.width=s.container.width,a.height=r):"horizontal"===n&&(a.x=u.left-c.left+d,a.y=u.top-c.top,a.width=r,a.height=s.container.height),a}},{key:"_getVaringDimension",value:function _getVaringDimension(e,t){return"vertical"===t?e.height:"horizontal"===t?e.width:0}}]);return x}();var _=function(){function _(e,t){_classCallCheck(this,_);this.wheel=e,this.id=t;var n=t.replace("-s","");this.element=document.createElement("div"),this.element.classList.add("dock-wheel-item"),this.element.classList.add("disable-selection"),this.element.classList.add("dock-wheel-"+n),this.element.classList.add("dock-wheel-"+n+"-icon"),this.hoverIconClass="dock-wheel-"+n+"-icon-hover",this.mouseOverHandler=new h(this.element,"mouseover",this.onMouseMoved.bind(this)),this.mouseOutHandler=new h(this.element,"mouseout",this.onMouseOut.bind(this)),this.active=!1}_createClass(_,[{key:"onMouseMoved",value:function onMouseMoved(){this.active=!0,this.element.classList.add(this.hoverIconClass),this.wheel.onMouseOver(this)}},{key:"onMouseOut",value:function onMouseOut(){this.active=!1,this.element.classList.remove(this.hoverIconClass),this.wheel.onMouseOut()}}]);return _}();!function(e){e.left="left",e.right="right",e.top="top",e.down="down",e.fill="fill",e["left-s"]="left-s",e["right-s"]="right-s",e["top-s"]="top-s",e["down-s"]="down-s"}(i||(i={}));var T=function(){function T(e){_classCallCheck(this,T);this.dockManager=e,this.elementMainWheel=document.createElement("div"),this.elementSideWheel=document.createElement("div"),this.wheelItems={};for(var _e20 in i){this.wheelItems[_e20]=new _(this,_e20),"-s"===_e20.substr(-2,2)?this.elementSideWheel.appendChild(this.wheelItems[_e20].element):this.elementMainWheel.appendChild(this.wheelItems[_e20].element)}this.elementMainWheel.classList.add("dock-wheel-base"),this.elementSideWheel.classList.add("dock-wheel-base"),this.elementMainWheel.style.zIndex=String(9000001),this.elementSideWheel.style.zIndex=String(9e6),this.elementPanelPreview=document.createElement("div"),this.elementPanelPreview.classList.add("dock-wheel-panel-preview"),this.elementPanelPreview.style.zIndex=String(8999999),this.activeDialog=void 0,this._activeNode=void 0,this._visible=!1}_createClass(T,[{key:"activeNode",get:function get(){return this._activeNode},set:function set(e){var t=this._activeNode;this._activeNode=e,t!==this._activeNode&&this._visible&&this.showWheel()}},{key:"showWheel",value:function showWheel(){if(this._visible=!0,!this.activeNode)return a.removeNode(this.elementMainWheel),void a.removeNode(this.elementSideWheel);var e=this.activeNode.container.containerElement,t=e.clientWidth,n=e.clientHeight,s=Math.floor(t/2),o=Math.floor(n/2),l=e.getBoundingClientRect(),h=this.dockManager.element.getBoundingClientRect();this.elementMainWheel.style.left=l.left-h.left+s+"px",this.elementMainWheel.style.top=l.top-h.top+o+"px";var r=this.dockManager.element.clientWidth,d=this.dockManager.element.clientHeight;a.removeNode(this.elementMainWheel),a.removeNode(this.elementSideWheel),this.dockManager.element.appendChild(this.elementMainWheel),this.dockManager.element.appendChild(this.elementSideWheel),this._setWheelButtonPosition(i["left-s"],20,-d/2),this._setWheelButtonPosition(i["right-s"],r-40,-d/2),this._setWheelButtonPosition(i["top-s"],r/2,20-d),this._setWheelButtonPosition(i["down-s"],r/2,-20)}},{key:"_setWheelButtonPosition",value:function _setWheelButtonPosition(e,t,n){var i=this.wheelItems[e],s=i.element.clientWidth/2,o=i.element.clientHeight/2,l=Math.floor(t-s),a=Math.floor(n-o);i.element.style.marginLeft=l+"px",i.element.style.marginTop=a+"px"}},{key:"hideWheel",value:function hideWheel(){this._visible=!1,this.activeNode=void 0,a.removeNode(this.elementMainWheel),a.removeNode(this.elementSideWheel),a.removeNode(this.elementPanelPreview);for(var _e21 in this.wheelItems){this.wheelItems[_e21].active=!1}}},{key:"onMouseOver",value:function onMouseOver(e){if(!this.activeDialog)return;var t,n=this.dockManager.context.model.rootNode;e.id===i.top?t=this.dockManager.layoutEngine.getDockBounds(this.activeNode,this.activeDialog.panel,"vertical",!0):e.id===i.down?t=this.dockManager.layoutEngine.getDockBounds(this.activeNode,this.activeDialog.panel,"vertical",!1):e.id===i.left?t=this.dockManager.layoutEngine.getDockBounds(this.activeNode,this.activeDialog.panel,"horizontal",!0):e.id===i.right?t=this.dockManager.layoutEngine.getDockBounds(this.activeNode,this.activeDialog.panel,"horizontal",!1):e.id===i.fill?t=this.dockManager.layoutEngine.getDockBounds(this.activeNode,this.activeDialog.panel,"fill",!1):e.id===i["top-s"]?t=this.dockManager.layoutEngine.getDockBounds(n,this.activeDialog.panel,"vertical",!0):e.id===i["down-s"]?t=this.dockManager.layoutEngine.getDockBounds(n,this.activeDialog.panel,"vertical",!1):e.id===i["left-s"]?t=this.dockManager.layoutEngine.getDockBounds(n,this.activeDialog.panel,"horizontal",!0):e.id===i["right-s"]&&(t=this.dockManager.layoutEngine.getDockBounds(n,this.activeDialog.panel,"horizontal",!1)),t&&(this.dockManager.element.appendChild(this.elementPanelPreview),this.elementPanelPreview.style.left=Math.round(t.x)+"px",this.elementPanelPreview.style.top=Math.round(t.y)+"px",this.elementPanelPreview.style.width=Math.round(t.width)+"px",this.elementPanelPreview.style.height=Math.round(t.height)+"px")}},{key:"onMouseOut",value:function onMouseOut(){a.removeNode(this.elementPanelPreview)}},{key:"onDialogDropped",value:function onDialogDropped(e){var t=this._getActiveWheelItem();t&&this._handleDockRequest(t,e)}},{key:"_getActiveWheelItem",value:function _getActiveWheelItem(){for(var _e22 in this.wheelItems){var _t9=this.wheelItems[_e22];if(_t9.active)return _t9}}},{key:"_handleDockRequest",value:function _handleDockRequest(e,t){e.active=!1,e.element.classList.remove(e.hoverIconClass),this.activeNode&&(e.id===i.left?this.dockManager.dockDialogLeft(this.activeNode,t):e.id===i.right?this.dockManager.dockDialogRight(this.activeNode,t):e.id===i.top?this.dockManager.dockDialogUp(this.activeNode,t):e.id===i.down?this.dockManager.dockDialogDown(this.activeNode,t):e.id===i.fill?this.dockManager.dockDialogFill(this.activeNode,t):e.id===i["left-s"]?this.dockManager.dockDialogLeft(this.dockManager.context.model.rootNode,t):e.id===i["right-s"]?this.dockManager.dockDialogRight(this.dockManager.context.model.rootNode,t):e.id===i["top-s"]?this.dockManager.dockDialogUp(this.dockManager.context.model.rootNode,t):e.id===i["down-s"]&&this.dockManager.dockDialogDown(this.dockManager.context.model.rootNode,t))}}]);return T}();var P=_createClass(function P(){_classCallCheck(this,P);this.rootNode=this.documentManagerNode=void 0});var L=function(_E){_inherits(L,_E);var _super3=_createSuper(L);function L(e,t){var _this19;_classCallCheck(this,L);_this19=_super3.call(this,e,t),"panel"===_this19.container.containerType&&(_this19.panel=t,_this19.containerElement=_this19.panel.elementContentWrapper,a.removeNode(_this19.containerElement));return _this19}_createClass(L,[{key:"destroy",value:function destroy(){_get(_getPrototypeOf(L.prototype),"destroy",this).call(this),this.panel.elementContentHost.appendChild(this.containerElement)}}]);return L}(E);var B=function(_D){_inherits(B,_D);var _super4=_createSuper(B);function B(e){var _this20;_classCallCheck(this,B);_this20=_super4.call(this,e,n.TOP),_this20.minimumAllowedChildNodes=0,_this20.element.classList.add("document-manager"),_this20.tabHost.createTabPage=_this20._createDocumentTabPage,_this20.tabHost.displayCloseButton=!0;return _this20}_createClass(B,[{key:"_createDocumentTabPage",value:function _createDocumentTabPage(e,t){return new L(e,t)}},{key:"saveState",value:function saveState(e){_get(_getPrototypeOf(B.prototype),"saveState",this).call(this,e),e.documentManager=!0}},{key:"selectedTab",value:function selectedTab(){return this.tabHost.activeTab}}]);return B}(D);var z=_createClass(function z(e){_classCallCheck(this,z);this.dockManager=e,this.model=new P,this.documentManagerView=new B(this.dockManager)});var N=function(){function N(e){_classCallCheck(this,N);this.dockManager=e}_createClass(N,[{key:"deserialize",value:function(){var _deserialize=_asyncToGenerator(_regeneratorRuntime().mark(function _callee3(e){var t,n;return _regeneratorRuntime().wrap(function _callee3$(_context3){while(1){switch(_context3.prev=_context3.next){case 0:t=JSON.parse(e),n=new P;_context3.next=3;return this._buildGraph(t.graphInfo);case 3:n.rootNode=_context3.sent;_context3.next=6;return this._buildDialogs(t.dialogsInfo);case 6:n.dialogs=_context3.sent;n.documentManagerNode=this.documentManagerNode;return _context3.abrupt("return",n);case 9:case"end":return _context3.stop()}}},_callee3,this)}));function deserialize(_x3){return _deserialize.apply(this,arguments)}return deserialize}()},{key:"_buildGraph",value:function(){var _buildGraph2=_asyncToGenerator(_regeneratorRuntime().mark(function _callee4(e){var t,n,_iterator8,_step8,_e23,_t10,i,s,_iterator9,_step9,_e24;return _regeneratorRuntime().wrap(function _callee4$(_context4){while(1){switch(_context4.prev=_context4.next){case 0:t=e.children,n=[];_iterator8=_createForOfIteratorHelper(t);_context4.prev=2;_iterator8.s();case 4:if((_step8=_iterator8.n()).done){_context4.next=12;break}_e23=_step8.value;_context4.next=8;return this._buildGraph(_e23);case 8:_t10=_context4.sent;null!==_t10&&n.push(_t10);case 10:_context4.next=4;break;case 12:_context4.next=17;break;case 14:_context4.prev=14;_context4.t0=_context4["catch"](2);_iterator8.e(_context4.t0);case 17:_context4.prev=17;_iterator8.f();return _context4.finish(17);case 20:_context4.next=22;return this._createContainer(e,n);case 22:i=_context4.sent;if(!(null===i)){_context4.next=25;break}return _context4.abrupt("return",null);case 25:s=new f(i);i instanceof B&&(this.documentManagerNode=s),s.children=n;_iterator9=_createForOfIteratorHelper(s.children.reverse());try{for(_iterator9.s();!(_step9=_iterator9.n()).done;){_e24=_step9.value;_e24.parent=s}}catch(err){_iterator9.e(err)}finally{_iterator9.f()}return _context4.abrupt("return",(s.children.reverse(),s));case 30:case"end":return _context4.stop()}}},_callee4,this,[[2,14,17,20]])}));function _buildGraph(_x4){return _buildGraph2.apply(this,arguments)}return _buildGraph}()},{key:"_createContainer",value:function(){var _createContainer2=_asyncToGenerator(_regeneratorRuntime().mark(function _callee5(e,t){var n,i,s,o,_iterator10,_step10,_e25;return _regeneratorRuntime().wrap(function _callee5$(_context5){while(1){switch(_context5.prev=_context5.next){case 0:i=e.containerType,s=e.state,o=[];_iterator10=_createForOfIteratorHelper(t);try{for(_iterator10.s();!(_step10=_iterator10.n()).done;){_e25=_step10.value;o.push(_e25.container)}}catch(err){_iterator10.e(err)}finally{_iterator10.f()}if(!("panel"===i)){_context5.next=12;break}_context5.next=6;return d.loadFromState(s,this.dockManager);case 6:n=_context5.sent;if(n.prepareForDocking){_context5.next=9;break}return _context5.abrupt("return",null);case 9:n.prepareForDocking(),a.removeNode(n.elementPanel);_context5.next=23;break;case 12:if(!("horizontal"===i)){_context5.next=16;break}n=new k(this.dockManager,o);_context5.next=23;break;case 16:if(!("vertical"===i)){_context5.next=20;break}n=new M(this.dockManager,o);_context5.next=23;break;case 20:if(!("fill"!==i)){_context5.next=22;break}throw new Error("Cannot create dock container of unknown type: "+i);case 22:n=s.documentManager?new B(this.dockManager):new D(this.dockManager);case 23:return _context5.abrupt("return",(n.loadState(s),n));case 24:case"end":return _context5.stop()}}},_callee5,this)}));function _createContainer(_x5,_x6){return _createContainer2.apply(this,arguments)}return _createContainer}()},{key:"_buildDialogs",value:function(){var _buildDialogs2=_asyncToGenerator(_regeneratorRuntime().mark(function _callee6(e){var t,_iterator11,_step11,_n11,_e26,_i8,_s9,_i9;return _regeneratorRuntime().wrap(function _callee6$(_context6){while(1){switch(_context6.prev=_context6.next){case 0:t=[];_iterator11=_createForOfIteratorHelper(e);_context6.prev=2;_iterator11.s();case 4:if((_step11=_iterator11.n()).done){_context6.next=19;break}_n11=_step11.value;_e26=void 0,_i8=_n11.containerType,_s9=_n11.state;_context6.t0="panel"===_i8;if(!_context6.t0){_context6.next=13;break}_context6.next=11;return d.loadFromState(_s9,this.dockManager);case 11:_e26=_context6.sent;_context6.t0=_e26.prepareForDocking;case 13:if(!_context6.t0){_context6.next=17;break}a.removeNode(_e26.elementPanel),_e26.isDialog=!0;_i9=new g(_e26,this.dockManager);(_n11.position.x>document.body.clientWidth||_n11.position.y>document.body.clientHeight-70)&&(_n11.position.x=20,_n11.position.y=70),_i9.setPosition(_n11.position.x,_n11.position.y),_i9.isHidden=_n11.isHidden,_i9.isHidden&&_i9.hide(),t.push(_i9);case 17:_context6.next=4;break;case 19:_context6.next=24;break;case 21:_context6.prev=21;_context6.t1=_context6["catch"](2);_iterator11.e(_context6.t1);case 24:_context6.prev=24;_iterator11.f();return _context6.finish(24);case 27:return _context6.abrupt("return",t);case 28:case"end":return _context6.stop()}}},_callee6,this,[[2,21,24,27]])}));function _buildDialogs(_x7){return _buildDialogs2.apply(this,arguments)}return _buildDialogs}()}]);return N}();var S=function(){function S(e,t){_classCallCheck(this,S);if(void 0===e)throw new Error("Invalid Dock Manager element provided");this._config=Object.assign(new p,t),this.element=e,this.context=this.dockWheel=this.layoutEngine=this.mouseMoveHandler=this.touchMoveHandler=void 0,this.layoutEventListeners=[],this.defaultDialogPosition=new l(0,0)}_createClass(S,[{key:"config",get:function get(){return this._config}},{key:"initialize",value:function initialize(){this.backgroundContext=this.element.children[0],this.context=new z(this);var e=new f(this.context.documentManagerView);this.context.model.rootNode=e,this.context.model.documentManagerNode=e,this.context.model.dialogs=[],this.setRootNode(this.context.model.rootNode),this.resize(this.element.clientWidth,this.element.clientHeight),this.dockWheel=new T(this),this.layoutEngine=new x(this),this._undockEnabled=!0,this.rebuildLayout(this.context.model.rootNode),this.zIndexCounter=1001,this.zIndexTabHost=1e3,this.zIndexTabHandle=100,this.zIndexDialogCounter=10001,null!=this.backgroundContext&&this.context.model.rootNode.container.tabHost.hostElement.insertBefore(this.backgroundContext,this.context.model.rootNode.container.tabHost.hostElement.firstChild),this.onKeyPressBound=this.onKeyPress.bind(this),this.element.addEventListener("keydown",this.onKeyPressBound)}},{key:"onKeyPress",value:function onKeyPress(e){if("Escape"==e.key&&this.activePanel&&!this.activePanel._hideCloseButton&&(this.activePanel.isDialog&&this._config.escClosesDialog||!this.activePanel.isDialog&&this._config.escClosesWindow)){var _e27=this.activePanel;this.activePanel=null,_e27.close()}}},{key:"checkXBounds",value:function checkXBounds(e,t,n,i,s){if(this._config.moveOnlyWithinDockConatiner)return this.checkXBoundsWithinDockContainer(e,t,n,i,s);var o=this.element.getBoundingClientRect(),l=Math.floor(t.x-n.x),a=e.offsetLeft+e.offsetWidth+l+o.left<40,h=e.offsetLeft+l+o.left>window.innerWidth-40;if(a){n.x=t.x,l=0;var _i10=40-(e.offsetWidth+e.offsetLeft+o.left);_i10>0&&(l=_i10)}else if(h){n.x=t.x,l=0;var _i11=window.innerWidth-40-e.offsetLeft-o.left;_i11>0&&(l=_i11)}return l}},{key:"checkXBoundsWithinDockContainer",value:function checkXBoundsWithinDockContainer(e,t,n,i,s){var o=t.x-n.x,l=this.element.getBoundingClientRect(),a=e.getBoundingClientRect(),h=o<0&&a.left+o<l.left&&!s,r=o>0&&a.right+o>l.right&&!i;return h?(t.x-=o,o=l.left-a.left,t.x-=o):r&&(t.x-=o,o=l.right-a.right,t.x-=o),o}},{key:"checkYBounds",value:function checkYBounds(e,t,n,i,s){if(this._config.moveOnlyWithinDockConatiner)return this.checkYBoundsWithinDockContainer(e,t,n,i,s);var o=this.element.getBoundingClientRect(),l=Math.floor(t.y-n.y),a=e.offsetTop+l+o.top<0,h=e.offsetTop+l+o.top>window.innerHeight-16;if(a)n.y=t.y,l=0;else if(h){n.y=t.y,l=0;var _i12=window.innerHeight-16-e.offsetTop-o.top;_i12>0&&(l=_i12)}return l}},{key:"checkYBoundsWithinDockContainer",value:function checkYBoundsWithinDockContainer(e,t,n,i,s){var o=t.y-n.y,l=this.element.getBoundingClientRect(),a=e.getBoundingClientRect(),h=o<0&&a.top+o<l.top&&!s,r=o>0&&a.bottom+o>l.bottom&&!i;return h?(t.y-=o,o=l.top-a.top,t.y-=o):r&&(t.y-=o,o=l.bottom-a.bottom,t.y-=o),o}},{key:"rebuildLayout",value:function rebuildLayout(e){var _this21=this;e.children.forEach(function(e){_this21.rebuildLayout(e)}),e.performLayout(!1)}},{key:"invalidate",value:function invalidate(){this.resize(this.element.clientWidth,this.element.clientHeight)}},{key:"resize",value:function resize(e,t){this.element.style.width=e+"px",this.element.style.height=t+"px",this.context.model.rootNode.container.resize(e,t);var n=0,i=0;var _iterator12=_createForOfIteratorHelper(this.context.model.dialogs),_step12;try{for(_iterator12.s();!(_step12=_iterator12.n()).done;){var _e28=_step12.value;(_e28.position.x>this.element.clientWidth||_e28.position.y>this.element.clientHeight)&&((n>this.element.clientWidth||i>this.element.clientHeight)&&(n=0,i=0),_e28.setPosition(100+n,100+i),n+=100,i+=100)}}catch(err){_iterator12.e(err)}finally{_iterator12.f()}}},{key:"setModel",value:function setModel(e){a.removeNode(this.context.documentManagerView.containerElement),this.context.model=e,this.setRootNode(e.rootNode),this.rebuildLayout(e.rootNode),this.loadResize(e.rootNode)}},{key:"loadResize",value:function loadResize(e){var _this22=this;e.children.reverse().forEach(function(t){_this22.loadResize(t),e.container.setActiveChild(t.container)}),e.children.reverse();var t=e.container;e.container.resize(t.state.width,t.state.height)}},{key:"setRootNode",value:function setRootNode(e){e.detachFromParent(),this.context.model.rootNode=e,this.element.appendChild(e.container.containerElement)}},{key:"_onDialogDragStarted",value:function _onDialogDragStarted(e,t){this.dockWheel.activeNode=this._findNodeOnPoint(t.clientX,t.clientY),this.dockWheel.activeDialog=e,null!=e.noDocking&&!0===e.noDocking||this.dockWheel.showWheel(),this.mouseMoveHandler&&(this.mouseMoveHandler.cancel(),delete this.mouseMoveHandler),this.touchMoveHandler&&(this.touchMoveHandler.cancel(),delete this.touchMoveHandler),this.mouseMoveHandler=new h(window,"mousemove",this._onMouseMoved.bind(this)),this.touchMoveHandler=new h(window,"touchmove",this._onMouseMoved.bind(this))}},{key:"_onDialogDragEnded",value:function _onDialogDragEnded(e,t){this.mouseMoveHandler&&(this.mouseMoveHandler.cancel(),delete this.mouseMoveHandler),this.touchMoveHandler&&(this.touchMoveHandler.cancel(),delete this.touchMoveHandler),this.dockWheel.onDialogDropped(e),this.dockWheel.hideWheel(),delete this.dockWheel.activeDialog,e.saveState(e.elementDialog.offsetLeft,e.elementDialog.offsetTop)}},{key:"_onMouseMoved",value:function _onMouseMoved(e){null!=e.changedTouches&&(e=e.changedTouches[0]),this.dockWheel.activeNode=this._findNodeOnPoint(e.clientX,e.clientY)}},{key:"_findNodeOnPoint",value:function _findNodeOnPoint(e,t){var n,i=[];for(i.push(this.context.model.rootNode);i.length>0;){var _s10=i.pop();a.isPointInsideNode(e,t,_s10)&&(n=_s10,[].push.apply(i,_s10.children))}return n}},{key:"dockDialogLeft",value:function dockDialogLeft(e,t){return this._requestDockDialog(e,t,this.layoutEngine.dockLeft.bind(this.layoutEngine))}},{key:"dockDialogRight",value:function dockDialogRight(e,t){return this._requestDockDialog(e,t,this.layoutEngine.dockRight.bind(this.layoutEngine))}},{key:"dockDialogUp",value:function dockDialogUp(e,t){return this._requestDockDialog(e,t,this.layoutEngine.dockUp.bind(this.layoutEngine))}},{key:"dockDialogDown",value:function dockDialogDown(e,t){return this._requestDockDialog(e,t,this.layoutEngine.dockDown.bind(this.layoutEngine))}},{key:"dockDialogFill",value:function dockDialogFill(e,t){return this._requestDockDialog(e,t,this.layoutEngine.dockFill.bind(this.layoutEngine))}},{key:"dockLeft",value:function dockLeft(e,t,n){return this._requestDockContainer(e,t,this.layoutEngine.dockLeft.bind(this.layoutEngine),!1,n)}},{key:"dockRight",value:function dockRight(e,t,n){return this._requestDockContainer(e,t,this.layoutEngine.dockRight.bind(this.layoutEngine),!0,n)}},{key:"dockUp",value:function dockUp(e,t,n){return this._requestDockContainer(e,t,this.layoutEngine.dockUp.bind(this.layoutEngine),!1,n)}},{key:"dockDown",value:function dockDown(e,t,n){return this._requestDockContainer(e,t,this.layoutEngine.dockDown.bind(this.layoutEngine),!0,n)}},{key:"dockFill",value:function dockFill(e,t){return this._requestDockContainer(e,t,this.layoutEngine.dockFill.bind(this.layoutEngine),!1)}},{key:"floatDialog",value:function floatDialog(e,t,n,i,s){var o;if(this.context.model.dialogs.forEach(function(i){e==i.panel&&(i.show(),i.setPosition(t,n),o=i)}),o)return o;try{var _t11=this._findNodeFromContainer(e);this.layoutEngine.undock(_t11)}catch(e){}var l=e;a.removeNode(l.elementPanel),l.isDialog=!0;var h=new g(l,this,i,s);return h.setPosition(t,n),h}},{key:"_requestDockDialog",value:function _requestDockDialog(e,t,n){var i=t.panel,s=new f(i);return i.prepareForDocking(),i.elementContentContainer.style.zIndex="",t.destroy(),n(e,s),s}},{key:"_checkShowBackgroundContext",value:function _checkShowBackgroundContext(){null!=this.backgroundContext&&(this.context.model.documentManagerNode.children.length>0?this.backgroundContext.style.display="none":this.backgroundContext.style.display="block")}},{key:"_requestDockContainer",value:function _requestDockContainer(e,t,n,i,s){var o=new f(t);if("panel"===t.containerType){var _e29=t;_e29.prepareForDocking(),a.removeNode(_e29.elementPanel)}var l,h=null;if(e.parent&&e.parent.container&&(l=e.parent.container,l.getRatios&&(h=l.getRatios())),n(e,o),s&&o.parent&&("vertical"===o.parent.container.containerType||"horizontal"===o.parent.container.containerType)){var _e30=o.parent.container;if(h&&l==_e30){if(i){for(var _e31=0;_e31<h.length;_e31++){h[_e31]=h[_e31]-h[_e31]*s}h.push(s)}else h[0]=h[0]-s,h.unshift(s);_e30.setRatios(h)}else _e30.setContainerRatio(t,s)}return this.rebuildLayout(this.context.model.rootNode),this.invalidate(),this._checkShowBackgroundContext(),o}},{key:"_requestTabReorder",value:function _requestTabReorder(e,t){var n=this._findNodeFromContainer(e);this.layoutEngine.reorderTabs(n,t.handle,t.state,t.index)}},{key:"requestUndockToDialog",value:function requestUndockToDialog(e,t,n){var i=this._findNodeFromContainer(e);this.layoutEngine.undock(i);var s=i.container;s.elementPanel.style.display="block";var o=new g(s,this,null);if(s.lastDialogSize&&o.resize(s.lastDialogSize.width,s.lastDialogSize.height),void 0!==t){var _e32=o.elementDialog.clientWidth;n.x>_e32&&(n.x=.75*_e32),o.setPosition(t.clientX-n.x,t.clientY-n.y),o.draggable.onMouseDown(t)}return o}},{key:"requestClose",value:function requestClose(e){var t=this._findNodeFromContainer(e);if(this.layoutEngine.close(t),this.activePanel==e&&(this.activePanel=null),this._activeDocument==e){var _e33=this._activeDocument;this._activeDocument=null,this.notifyOnActiveDocumentChange(null,_e33)}}},{key:"openInDialog",value:function openInDialog(e,t,n,i){var s=new g(e,this,null,i);if(null!=t){var _e34=s.elementDialog.clientWidth;n.x>_e34&&(n.x=.75*_e34),s.setPosition(t.clientX-n.x,t.clientY-n.y),s.draggable.onMouseDown(t)}return s}},{key:"requestUndock",value:function requestUndock(e){var t=this._findNodeFromContainer(e);this.layoutEngine.undock(t)}},{key:"requestRemove",value:function requestRemove(e){var t=this._findNodeFromContainer(e),n=t.parent;return t.detachFromParent(),n&&this.rebuildLayout(n),t}},{key:"getNodeByElementId",value:function getNodeByElementId(e){var t,n;var i=[];for(i.push(this.context.model.rootNode);i.length>0;){var _s11=i.pop();if(_s11.container instanceof d){if(_s11.container.elementContent.id===e)return _s11;if(_s11.container.elementContent instanceof HTMLSlotElement&&(null===(n=null===(t=_s11.container.elementContent.assignedElements())||void 0===t?void 0:t[0])||void 0===n?void 0:n.id)===e)return _s11}[].push.apply(i,_s11.children)}return null}},{key:"getNodeByElement",value:function getNodeByElement(e){var t;var n=[];for(n.push(this.context.model.rootNode);n.length>0;){var _i13=n.pop();if(_i13.container instanceof d){if(_i13.container.elementContent===e)return _i13;if(_i13.container.elementContent instanceof HTMLSlotElement&&(null===(t=_i13.container.elementContent.assignedElements())||void 0===t?void 0:t[0])===e)return _i13}[].push.apply(n,_i13.children)}return null}},{key:"_findNodeFromContainer",value:function _findNodeFromContainer(e){var t=[];for(t.push(this.context.model.rootNode);t.length>0;){var _n12=t.pop();if(_n12.container===e)return _n12;[].push.apply(t,_n12.children)}return null}},{key:"findNodeFromContainerElement",value:function findNodeFromContainerElement(e){var t=[];for(t.push(this.context.model.rootNode);t.length>0;){var _n13=t.pop();if(_n13.container.containerElement===e)return _n13;[].push.apply(t,_n13.children)}return null}},{key:"addLayoutListener",value:function addLayoutListener(e){this.layoutEventListeners.push(e)}},{key:"removeLayoutListener",value:function removeLayoutListener(e){this.layoutEventListeners.splice(this.layoutEventListeners.indexOf(e),1)}},{key:"suspendLayout",value:function suspendLayout(e){var _this23=this;this.layoutEventListeners.forEach(function(t){t.onSuspendLayout&&t.onSuspendLayout(_this23,e)})}},{key:"resumeLayout",value:function resumeLayout(e){var _this24=this;this.layoutEventListeners.forEach(function(t){t.onResumeLayout&&t.onResumeLayout(_this24,e)})}},{key:"notifyOnDock",value:function notifyOnDock(e){var _this25=this;this._checkShowBackgroundContext(),this.layoutEventListeners.forEach(function(t){t.onDock&&(t.onDock(_this25,e),e.container.resize(e.container.width,e.container.height))})}},{key:"notifyOnTabsReorder",value:function notifyOnTabsReorder(e){var _this26=this;this.layoutEventListeners.forEach(function(t){t.onTabsReorder&&t.onTabsReorder(_this26,e)})}},{key:"notifyOnUnDock",value:function notifyOnUnDock(e){var _this27=this;this._checkShowBackgroundContext(),this.layoutEventListeners.forEach(function(t){t.onUndock&&t.onUndock(_this27,e)})}},{key:"notifyOnClosePanel",value:function notifyOnClosePanel(e){var _this28=this;if(this._checkShowBackgroundContext(),this.activePanel==e&&(this.activePanel=null),this._activeDocument==e){var _e35=this._activeDocument;this._activeDocument=null,this.notifyOnActiveDocumentChange(null,_e35)}this.layoutEventListeners.forEach(function(t){t.onClosePanel&&t.onClosePanel(_this28,e)})}},{key:"notifyOnCreateDialog",value:function notifyOnCreateDialog(e){var _this29=this;this.layoutEventListeners.forEach(function(t){t.onCreateDialog&&t.onCreateDialog(_this29,e)})}},{key:"notifyOnHideDialog",value:function notifyOnHideDialog(e){var _this30=this;this.layoutEventListeners.forEach(function(t){t.onHideDialog&&t.onHideDialog(_this30,e)})}},{key:"notifyOnShowDialog",value:function notifyOnShowDialog(e){var _this31=this;this.layoutEventListeners.forEach(function(t){t.onShowDialog&&t.onShowDialog(_this31,e)})}},{key:"notifyOnChangeDialogPosition",value:function notifyOnChangeDialogPosition(e,t,n){var _this32=this;this.layoutEventListeners.forEach(function(i){i.onChangeDialogPosition&&i.onChangeDialogPosition(_this32,e,t,n)})}},{key:"notifyOnContainerResized",value:function notifyOnContainerResized(e){var _this33=this;this.layoutEventListeners.forEach(function(t){t.onContainerResized&&t.onContainerResized(_this33,e)})}},{key:"notifyOnTabChange",value:function notifyOnTabChange(e){var _this34=this;this.layoutEventListeners.forEach(function(t){t.onTabChanged&&t.onTabChanged(_this34,e)})}},{key:"notifyOnActivePanelChange",value:function notifyOnActivePanelChange(e,t){var _this35=this;this.layoutEventListeners.forEach(function(n){n.onActivePanelChange&&n.onActivePanelChange(_this35,e,t)})}},{key:"notifyOnActiveDocumentChange",value:function notifyOnActiveDocumentChange(e,t){var _this36=this;this.layoutEventListeners.forEach(function(n){n.onActiveDocumentChange&&n.onActiveDocumentChange(_this36,e,t)})}},{key:"saveState",value:function saveState(){return(new v).serialize(this.context.model)}},{key:"loadState",value:function(){var _loadState=_asyncToGenerator(_regeneratorRuntime().mark(function _callee7(e){var t;return _regeneratorRuntime().wrap(function _callee7$(_context7){while(1){switch(_context7.prev=_context7.next){case 0:t=new N(this);_context7.next=3;return t.deserialize(e);case 3:this.context.model=_context7.sent;this.setModel(this.context.model);case 5:case"end":return _context7.stop()}}},_callee7,this)}));function loadState(_x8){return _loadState.apply(this,arguments)}return loadState}()},{key:"getPanels",value:function getPanels(){var e=[];return this._allPanels(this.context.model.rootNode,e),this.context.model.dialogs.forEach(function(t){e.push(t.panel)}),e}},{key:"undockEnabled",value:function undockEnabled(e){this._undockEnabled=e,this.getPanels().forEach(function(t){t.canUndock(e)})}},{key:"lockDockState",value:function lockDockState(e){this.undockEnabled(!e),this.hideCloseButton(e)}},{key:"hideCloseButton",value:function hideCloseButton(e){this.getPanels().forEach(function(t){t.hideCloseButton(e)})}},{key:"updatePanels",value:function updatePanels(e){var t=[];return this._allPanels(this.context.model.rootNode,t),t.forEach(function(t){a.arrayContains(e,t.elementContent.id)||t.close()}),this.context.model.dialogs.forEach(function(t){a.arrayContains(e,t.panel.elementContent.id)?t.show():t.hide()}),t}},{key:"getVisiblePanels",value:function getVisiblePanels(){var e=[];return this._allPanels(this.context.model.rootNode,e),this.context.model.dialogs.forEach(function(t){t.isHidden||e.push(t.panel)}),e}},{key:"_allPanels",value:function _allPanels(e,t){var _this37=this;e.children.forEach(function(e){_this37._allPanels(e,t)}),"panel"===e.container.containerType&&t.push(e.container)}},{key:"activeDocument",get:function get(){return this._activeDocument}},{key:"activePanel",get:function get(){return this._activePanel},set:function set(e){if(e!==this._activePanel){e&&!e.isDialog&&(this._lastPanelNotADialog=e),this._lastPanelNotADialog&&this.getPanels().indexOf(this._lastPanelNotADialog)<0&&(this._lastPanelNotADialog=null);var _n14=this.activePanel;this.activePanel&&(this.activePanel.elementTitle.classList.remove("dockspan-panel-active"),this.activePanel.elementTitleText.classList.remove("dockspan-panel-titlebar-text-active"),this.activePanel.tabPage&&this.activePanel.tabPage.host.setActive(!1)),this._activePanel=e;var _i14=this._activeDocument;e&&e.panelType==t.document&&(this._activeDocument=e),!e&&_n14&&_n14.isDialog&&null==e&&this._lastPanelNotADialog&&this.activePanel!=this._lastPanelNotADialog&&(e=this._lastPanelNotADialog,this._lastPanelNotADialog=void 0),this.notifyOnActivePanelChange(e,_n14),_i14!=this._activeDocument&&this.notifyOnActiveDocumentChange(this._activeDocument,_i14),e&&(e.elementTitle.classList.add("dockspan-panel-active"),e.elementTitleText.classList.add("dockspan-panel-titlebar-text-active"),e.tabPage&&e.tabPage.host.setActive(!0))}else e&&e.tabPage&&e.tabPage.host.setActive(!0)}}]);return S}();DockSpawnTS=o})();
|
package/lib/js/DockManager.d.ts
CHANGED
|
@@ -119,6 +119,7 @@ export declare class DockManager {
|
|
|
119
119
|
*/
|
|
120
120
|
requestRemove(container: PanelContainer): DockNode;
|
|
121
121
|
getNodeByElementId(id: string): DockNode;
|
|
122
|
+
getNodeByElement(element: Element): DockNode;
|
|
122
123
|
/** Finds the node that owns the specified [container] */
|
|
123
124
|
private _findNodeFromContainer;
|
|
124
125
|
findNodeFromContainerElement(containerElement: HTMLElement): DockNode;
|
package/lib/js/DockManager.js
CHANGED
|
@@ -459,12 +459,37 @@ export class DockManager {
|
|
|
459
459
|
return node;
|
|
460
460
|
}
|
|
461
461
|
getNodeByElementId(id) {
|
|
462
|
+
var _a, _b;
|
|
462
463
|
let stack = [];
|
|
463
464
|
stack.push(this.context.model.rootNode);
|
|
464
465
|
while (stack.length > 0) {
|
|
465
466
|
let topNode = stack.pop();
|
|
466
|
-
if (topNode.container instanceof PanelContainer
|
|
467
|
-
|
|
467
|
+
if (topNode.container instanceof PanelContainer) {
|
|
468
|
+
if (topNode.container.elementContent.id === id)
|
|
469
|
+
return topNode;
|
|
470
|
+
if (topNode.container.elementContent instanceof HTMLSlotElement) {
|
|
471
|
+
if (((_b = (_a = topNode.container.elementContent.assignedElements()) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.id) === id)
|
|
472
|
+
return topNode;
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
[].push.apply(stack, topNode.children);
|
|
476
|
+
}
|
|
477
|
+
return null;
|
|
478
|
+
}
|
|
479
|
+
getNodeByElement(element) {
|
|
480
|
+
var _a;
|
|
481
|
+
let stack = [];
|
|
482
|
+
stack.push(this.context.model.rootNode);
|
|
483
|
+
while (stack.length > 0) {
|
|
484
|
+
let topNode = stack.pop();
|
|
485
|
+
if (topNode.container instanceof PanelContainer) {
|
|
486
|
+
if (topNode.container.elementContent === element)
|
|
487
|
+
return topNode;
|
|
488
|
+
if (topNode.container.elementContent instanceof HTMLSlotElement) {
|
|
489
|
+
if (((_a = topNode.container.elementContent.assignedElements()) === null || _a === void 0 ? void 0 : _a[0]) === element)
|
|
490
|
+
return topNode;
|
|
491
|
+
}
|
|
492
|
+
}
|
|
468
493
|
[].push.apply(stack, topNode.children);
|
|
469
494
|
}
|
|
470
495
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DockManager.js","sourceRoot":"","sources":["../../src/DockManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DockManager.js","sourceRoot":"","sources":["../../src/DockManager.ts"],"names":[],"mappings":"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"}
|
package/lib/js/PanelContainer.js
CHANGED
|
@@ -375,8 +375,13 @@ export class PanelContainer {
|
|
|
375
375
|
}
|
|
376
376
|
}
|
|
377
377
|
else {
|
|
378
|
+
try {
|
|
379
|
+
this.dockManager.notifyOnClosePanel(this);
|
|
380
|
+
}
|
|
381
|
+
catch (err) {
|
|
382
|
+
console.error(err);
|
|
383
|
+
}
|
|
378
384
|
this.performClose();
|
|
379
|
-
this.dockManager.notifyOnClosePanel(this);
|
|
380
385
|
}
|
|
381
386
|
}
|
|
382
387
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PanelContainer.js","sourceRoot":"","sources":["../../src/PanelContainer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PanelContainer.js","sourceRoot":"","sources":["../../src/PanelContainer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/DockManager.ts
CHANGED
|
@@ -44,7 +44,7 @@ export class DockManager {
|
|
|
44
44
|
public onKeyPressBound: any;
|
|
45
45
|
public iframes: HTMLIFrameElement[];
|
|
46
46
|
public _undockEnabled: boolean;
|
|
47
|
-
public getElementCallback: (state: IState) => Promise<{element: HTMLElement, title: string }>;
|
|
47
|
+
public getElementCallback: (state: IState) => Promise<{ element: HTMLElement, title: string }>;
|
|
48
48
|
|
|
49
49
|
private _config: DockConfig;
|
|
50
50
|
private _activePanel: PanelContainer;
|
|
@@ -564,8 +564,37 @@ export class DockManager {
|
|
|
564
564
|
while (stack.length > 0) {
|
|
565
565
|
let topNode = stack.pop();
|
|
566
566
|
|
|
567
|
-
if (topNode.container instanceof PanelContainer
|
|
568
|
-
|
|
567
|
+
if (topNode.container instanceof PanelContainer) {
|
|
568
|
+
if (topNode.container.elementContent.id === id)
|
|
569
|
+
return topNode;
|
|
570
|
+
if (topNode.container.elementContent instanceof HTMLSlotElement) {
|
|
571
|
+
if ((<HTMLSlotElement>topNode.container.elementContent).assignedElements()?.[0]?.id === id)
|
|
572
|
+
return topNode;
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
[].push.apply(stack, topNode.children);
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
return null;
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
getNodeByElement(element: Element): DockNode {
|
|
583
|
+
let stack = [];
|
|
584
|
+
stack.push(this.context.model.rootNode);
|
|
585
|
+
|
|
586
|
+
while (stack.length > 0) {
|
|
587
|
+
let topNode = stack.pop();
|
|
588
|
+
|
|
589
|
+
if (topNode.container instanceof PanelContainer) {
|
|
590
|
+
if (topNode.container.elementContent === element)
|
|
591
|
+
return topNode;
|
|
592
|
+
if (topNode.container.elementContent instanceof HTMLSlotElement) {
|
|
593
|
+
if ((<HTMLSlotElement>topNode.container.elementContent).assignedElements()?.[0] === element)
|
|
594
|
+
return topNode;
|
|
595
|
+
}
|
|
596
|
+
}
|
|
597
|
+
|
|
569
598
|
[].push.apply(stack, topNode.children);
|
|
570
599
|
}
|
|
571
600
|
|
package/src/PanelContainer.ts
CHANGED
|
@@ -133,7 +133,7 @@ export class PanelContainer implements IDockContainerWithSize {
|
|
|
133
133
|
let elementName = state.element;
|
|
134
134
|
elementContent = document.getElementById(elementName);
|
|
135
135
|
} else {
|
|
136
|
-
let res= await dockManager.getElementCallback(state);
|
|
136
|
+
let res = await dockManager.getElementCallback(state);
|
|
137
137
|
elementContent = res.element;
|
|
138
138
|
title = res.title;
|
|
139
139
|
}
|
|
@@ -470,8 +470,12 @@ export class PanelContainer implements IDockContainerWithSize {
|
|
|
470
470
|
}
|
|
471
471
|
}
|
|
472
472
|
else {
|
|
473
|
+
try {
|
|
474
|
+
this.dockManager.notifyOnClosePanel(this);
|
|
475
|
+
} catch (err) {
|
|
476
|
+
console.error(err);
|
|
477
|
+
}
|
|
473
478
|
this.performClose();
|
|
474
|
-
this.dockManager.notifyOnClosePanel(this);
|
|
475
479
|
}
|
|
476
480
|
}
|
|
477
481
|
}
|