dock-spawn-ts 2.534.0 → 2.535.1

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.
@@ -1 +1 @@
1
- "use strict";function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}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 _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e))}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(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t})()}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}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 _regeneratorRuntime(){"use strict";_regeneratorRuntime=function _regeneratorRuntime(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function define(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{define({},"")}catch(t){define=function define(t,e,r){return t[e]=r}}function wrap(t,e,r,n){var i=e&&e.prototype instanceof Generator?e:Generator,a=Object.create(i.prototype),c=new Context(n||[]);return o(a,"_invoke",{value:makeInvokeMethod(t,r,c)}),a}function tryCatch(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=wrap;var h="suspendedStart",l="suspendedYield",f="executing",s="completed",y={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var p={};define(p,a,function(){return this});var d=Object.getPrototypeOf,v=d&&d(d(values([])));v&&v!==r&&n.call(v,a)&&(p=v);var g=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(p);function defineIteratorMethods(t){["next","throw","return"].forEach(function(e){define(t,e,function(t){return this._invoke(e,t)})})}function AsyncIterator(t,e){function invoke(r,o,i,a){var c=tryCatch(t[r],t,o);if("throw"!==c.type){var u=c.arg,h=u.value;return h&&"object"==_typeof(h)&&n.call(h,"__await")?e.resolve(h.__await).then(function(t){invoke("next",t,i,a)},function(t){invoke("throw",t,i,a)}):e.resolve(h).then(function(t){u.value=t,i(u)},function(t){return invoke("throw",t,i,a)})}a(c.arg)}var r;o(this,"_invoke",{value:function value(t,n){function callInvokeWithMethodAndArg(){return new e(function(e,r){invoke(t,n,e,r)})}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}})}function makeInvokeMethod(e,r,n){var o=h;return function(i,a){if(o===f)throw new Error("Generator is already running");if(o===s){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=maybeInvokeDelegate(c,n);if(u){if(u===y)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=s,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=f;var p=tryCatch(e,r,n);if("normal"===p.type){if(o=n.done?s:l,p.arg===y)continue;return{value:p.arg,done:n.done}}"throw"===p.type&&(o=s,n.method="throw",n.arg=p.arg)}}}function maybeInvokeDelegate(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator["return"]&&(r.method="return",r.arg=t,maybeInvokeDelegate(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var i=tryCatch(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,y;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,y):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function pushTryEntry(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function resetTryEntry(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0)}function values(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function next(){for(;++o<e.length;)if(n.call(e,o))return next.value=e[o],next.done=!1,next;return next.value=t,next.done=!0,next};return i.next=i}}throw new TypeError(_typeof(e)+" is not iterable")}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(g,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,u,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===GeneratorFunction||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,u,"GeneratorFunction")),t.prototype=Object.create(g),t},e.awrap=function(t){return{__await:t}},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,c,function(){return this}),e.AsyncIterator=AsyncIterator,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new AsyncIterator(wrap(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then(function(t){return t.done?t.value:a.next()})},defineIteratorMethods(g),define(g,u,"Generator"),define(g,a,function(){return this}),define(g,"toString",function(){return"[object Generator]"}),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in e)return next.value=t,next.done=!1,next}return next.done=!0,next}},e.values=values,Context.prototype={constructor:Context,reset:function reset(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function stop(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function dispatchException(e){if(this.done)throw e;var r=this;function handle(n,o){return a.type="throw",a.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return handle("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0);if(this.prev<i.finallyLoc)return handle(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return handle(i.finallyLoc)}}}},abrupt:function abrupt(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(a)},complete:function complete(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y},finish:function finish(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),y}},catch:function _catch(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;resetTryEntry(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function delegateYield(e,r,n){return this.delegate={iterator:values(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y}},e}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 _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(_e39){throw _e39},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(_e40){didErr=true;err=_e40},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}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 _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}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 _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(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:String(i)}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}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={d:function d(e,t){for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},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})}},i={};n.r(i),n.d(i,{ContainerType:function ContainerType(){return e},Dialog:function Dialog(){return p},DockConfig:function DockConfig(){return g},DockGraphSerializer:function DockGraphSerializer(){return v},DockLayoutEngine:function DockLayoutEngine(){return T},DockManager:function DockManager(){return W},DockManagerContext:function DockManagerContext(){return S},DockModel:function DockModel(){return B},DockNode:function DockNode(){return f},DockWheel:function DockWheel(){return L},DockWheelItem:function DockWheelItem(){return P},DocumentManagerContainer:function DocumentManagerContainer(){return N},DocumentTabPage:function DocumentTabPage(){return z},DraggableContainer:function DraggableContainer(){return c},EventHandler:function EventHandler(){return l},FillDockContainer:function FillDockContainer(){return _},HorizontalDockContainer:function HorizontalDockContainer(){return k},PanelContainer:function PanelContainer(){return d},Point:function Point(){return o},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 x},TabPage:function TabPage(){return E},UndockInitiator:function UndockInitiator(){return a},Utils:function Utils(){return s},VerticalDockContainer:function VerticalDockContainer(){return M}}),function(e){e.horizontal="horizontal",e.vertical="vertical",e.fill="fill",e.panel="panel"}(e||(e={}));var o=_createClass(function o(e,t){_classCallCheck(this,o);this.x=e,this.y=t});var s=function(){function s(){_classCallCheck(this,s)}_createClass(s,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+s._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 s}();s._counter=0;var l=function(){function l(e,t,n,i){_classCallCheck(this,l);this.target=n,this.eventName=t,this.source=e,this.source.addEventListener(t,this.target,i)}_createClass(l,[{key:"cancel",value:function cancel(){this.source.removeEventListener(this.eventName,this.target)}}]);return l}();var a=function(){function a(e,t,n){_classCallCheck(this,a);n||(n=7),this.element=e,this._undockededCallback=t,this.thresholdPixels=n,this._enabled=!1}_createClass(a,[{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 l(this.element,"mousedown",this.onMouseDown.bind(this)),this.touchDownHandler=new l(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 l(window,"mouseup",this.onMouseUp.bind(this)),this.touchUpHandler=new l(window,"touchend",this.onMouseUp.bind(this)),this.mouseMoveHandler=new l(window,"mousemove",this.onMouseMove.bind(this)),this.touchMoveHandler=new l(window,"touchmove",this.onMouseMove.bind(this)),this.dragStartPosition=new o(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 o(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,l=this.dragStartPosition.y-t,_a=new o(s,l);this._undockededCallback(e,_a)}}]);return a}();!function(e){e.document="document",e.panel="panel"}(t||(t={}));var h={CloseDialog:"Close dialog",CloseAll:"Close all documents",CloseAllButThis:"Close all documents but this",DefaultPanelName:"Panel",NewBrowserWindow:"Open in new window"};var r=function(){function r(){_classCallCheck(this,r)}_createClass(r,null,[{key:"configure",value:function configure(e){r._getTemplateString=e}},{key:"getString",value:function getString(e){var n,i;for(var _len=arguments.length,t=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){t[_key-1]=arguments[_key]}return function(e){for(var _len2=arguments.length,t=new Array(_len2>1?_len2-1:0),_key2=1;_key2<_len2;_key2++){t[_key2-1]=arguments[_key2]}return e.replace(/{(\d+)}/g,function(e,n){var i=Number.parseInt(n);return t[i].toString()})}.apply(void 0,[null!==(i=null===(n=r._getTemplateString)||void 0===n?void 0:n.call(r,e))&&void 0!==i?i:h[e]].concat(t))}}]);return r}();var d=function(){function d(n,i,o,s,l){var _this=this;_classCallCheck(this,d);o||(o=r.getString("DefaultPanelName")),s||(s=t.panel),this.panelType=s,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",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(e){try{_this.isDialog?_this._floatingDialog.bringToFront():_this.tabPage&&_this.tabPage.setSelected(!0,!0),_this.dockManager.activePanel=_this}catch(e){}},{passive:!0}),this.elementContentContainer.appendChild(n),i.config.dialogRootElement.appendChild(this.elementContentContainer),this.dockManager=i,this.title=o,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(){var e;this.name=s.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 t=this.elementContentContainer.clientWidth,n=this.elementContentContainer.clientHeight,i=this.elementTitle.clientHeight;this.elementContentWrapper=document.createElement("div"),this.elementContentWrapper.classList.add("panel-content-wrapper"),this._setPanelDimensions(t,n+i),this._hideCloseButton||(this.closeButtonClickedHandler=new l(this.elementButtonClose,"mousedown",this.onCloseButtonClicked.bind(this)),this.closeButtonTouchedHandler=new l(this.elementButtonClose,"touchstart",this.onCloseButtonClicked.bind(this))),s.removeNode(this.elementContentWrapper),this.elementContentHost.appendChild(this.elementContentWrapper);var o=this.elementContent.dataset.panelCaption,h=this.elementContent.dataset.panelIcon;o&&(this.title=o),h&&(this.icon=h),this._updateTitle(),this.undockInitiator=new a(this.elementTitle,this.performUndockToDialog.bind(this)),delete this.floatingDialog,this.mouseDownHandler=new l(this.elementPanel,"mousedown",this.onMouseDown.bind(this)),this.touchDownHandler=new l(this.elementPanel,"touchstart",this.onMouseDown.bind(this),{passive:!0}),this._resolvedElementContent=this.elementContent,this.elementContent instanceof HTMLSlotElement&&(this._resolvedElementContent=null===(e=this.elementContent.assignedElements())||void 0===e?void 0:e[0])}},{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),s.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:"resolvedElementContent",get:function get(){var e;return this._resolvedElementContent||(this._resolvedElementContent=this.elementContent,this.elementContent instanceof HTMLSlotElement&&(this._resolvedElementContent=null===(e=this.elementContent.assignedElements())||void 0===e?void 0:e[0])),this._resolvedElementContent}},{key:"panelDocked",value:function panelDocked(){this.elementContent.hidden&&(this.elementContent.hidden=!1),this.elementContentContainer.parentElement!==this.dockManager.config.dialogRootElement&&this.dockManager.config.dialogRootElement.appendChild(this.elementContentContainer)}},{key:"resize",value:function resize(e,t){this.panelDocked(),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(),o=this.dockManager.config.dialogRootElement.getBoundingClientRect();this.elementContentContainer.style.left=i.x-o.x+"px",this.elementContentContainer.style.top=i.y-o.y+"px",this.elementContentContainer.style.width=i.width+"px",this.elementContentContainer.style.height=i.height+"px"}},{key:"setDialogPosition",value:function setDialogPosition(e,t){this.elementContentContainer.style.left=e+"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:"undockToBrowserDialog",value:function undockToBrowserDialog(){var _this5=this;!function(e,t){var n=e.getBoundingClientRect(),i=n.x+24,o=n.y+60,s=n.width,l=n.height,a=window.open("about:blank",void 0,"popup=yes,left=".concat(i,",top=").concat(o,",width=").concat(s,",height=").concat(l));a.onfocus=function(e){return t.focused(e)},a.onblur=function(e){return t.blured(e)};var h=_toConsumableArray(document.head.querySelectorAll("link")).map(function(e){return e.cloneNode()});var _iterator=_createForOfIteratorHelper(h),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var _e=_step.value;a.document.head.appendChild(a.document.adoptNode(_e))}}catch(err){_iterator.e(err)}finally{_iterator.f()}var r=a.document.createElement("style");r.innerText="\n html {\n overflow: hidden;\n position: fixed;\n width: 100%;\n height: 100%;\n }\n body {\n height: 100%;\n width: 100%;\n margin: 0;\n }\n ",a.document.head.appendChild(r);var d=a.document.createElement("title");d.innerText=t.title,a.document.head.appendChild(d),a.onunload=function(){return t.newWindowClosedCallback()};var c=new Map,u=new Map;function m(e){if(e.shadowRoot){e.shadowRoot.adoptedStyleSheets.length>0&&u.set(e,_toConsumableArray(e.shadowRoot.adoptedStyleSheets.map(function(e){return function(e,t,n){var i=n.get(t);if(i)return i;var o="";var s=t.cssRules;for(var l=0;l<s.length;l++)o+=s[l].cssText+"\n";var a=new e.CSSStyleSheet;return n.set(t,a),a.replaceSync(o),a}(a,e,c)})));var _iterator2=_createForOfIteratorHelper(e.shadowRoot.querySelectorAll("*")),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var _t=_step2.value;m(_t)}}catch(err){_iterator2.e(err)}finally{_iterator2.f()}}}m(e);var _iterator3=_createForOfIteratorHelper(e.querySelectorAll("*")),_step3;try{for(_iterator3.s();!(_step3=_iterator3.n()).done;){var _t2=_step3.value;m(_t2)}}catch(err){_iterator3.e(err)}finally{_iterator3.f()}a.document.body.appendChild(a.document.adoptNode(e));var _iterator4=_createForOfIteratorHelper(u),_step4;try{for(_iterator4.s();!(_step4=_iterator4.n()).done;){var _e2=_step4.value;_e2[0].shadowRoot.adoptedStyleSheets=_e2[1]}}catch(err){_iterator4.e(err)}finally{_iterator4.f()}t.closeCallback()}(this.resolvedElementContent,{title:this.title,closeCallback:function closeCallback(){},newWindowClosedCallback:function newWindowClosedCallback(){},focused:function focused(e){_this5.dockManager.activePanel=_this5},blured:function blured(e){_this5.dockManager.activePanel=null}}),this.closeInternal(!1)}},{key:"close",value:function(){var _close=_asyncToGenerator(_regeneratorRuntime().mark(function _callee(){return _regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:this.closeInternal(!0);case 1:case"end":return _context.stop()}},_callee,this)}));function close(){return _close.apply(this,arguments)}return close}()},{key:"closeInternal",value:function(){var _closeInternal=_asyncToGenerator(_regeneratorRuntime().mark(function _callee2(e){var t;return _regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:t=!0;_context2.t0=this.elementContentContainer.parentElement===this.dockManager.config.dialogRootElement;if(!_context2.t0){_context2.next=19;break}if(!e){_context2.next=17;break}if(!this.closePanelContainerCallback){_context2.next=10;break}_context2.next=7;return this.closePanelContainerCallback(this);case 7:t=_context2.sent;_context2.next=15;break;case 10:_context2.t1=this.dockManager.closePanelContainerCallback;if(!_context2.t1){_context2.next=15;break}_context2.next=14;return this.dockManager.closePanelContainerCallback(this);case 14:t=_context2.sent;case 15:_context2.next=18;break;case 17:t=!0;case 18:_context2.t0=t;case 19:if(!_context2.t0){_context2.next=21;break}if(this.dockManager.config.dialogRootElement.removeChild(this.elementContentContainer),this.isDialog)this.floatingDialog&&this.floatingDialog.close();else{try{this.dockManager.notifyOnClosePanel(this)}catch(e){console.error(e)}this.performClose()}case 21:case"end":return _context2.stop()}},_callee2,this)}));function closeInternal(_x){return _closeInternal.apply(this,arguments)}return closeInternal}()}],[{key:"loadFromState",value:function(){var _loadFromState=_asyncToGenerator(_regeneratorRuntime().mark(function _callee3(e,t){var n,i,_o,_t3,o;return _regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:if(!t.getElementCallback){_context3.next=7;break}_context3.next=3;return t.getElementCallback(e);case 3:_o=_context3.sent;n=_o.element,i=_o.title;_context3.next=9;break;case 7:_t3=e.element;n=document.getElementById(_t3);case 9:if(!(null===n)){_context3.next=11;break}return _context3.abrupt("return",null);case 11:o=new d(n,t,i);return _context3.abrupt("return",(o.loadState(e),o));case 13:case"end":return _context3.stop()}},_callee3)}));function loadFromState(_x2,_x3){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 l(i,"mousedown",this.onMouseDown.bind(this)),this.touchDownHandler=new l(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 _this6=this;if(2!=e.button&&(e.preventDefault&&e.preventDefault(),this._startDragging(e),this.previousMousePosition={x:e.clientX,y:e.clientY},this.mouseMoveHandler&&(this.mouseMoveHandler.cancel(),delete this.mouseMoveHandler),this.mouseUpHandler&&(this.mouseUpHandler.cancel(),delete this.mouseUpHandler),this.mouseMoveHandler=new l(window,"pointermove",this.onMouseMove.bind(this)),this.mouseUpHandler=new l(window,"pointerup",this.onMouseUp.bind(this)),this.dockManager.iframes)){var _iterator5=_createForOfIteratorHelper(this.dockManager.iframes),_step5;try{var _loop=function _loop(){var e=_step5.value;var t=_this6.onMouseMovedIframe.bind(_this6);_this6.iframeEventHandlers.push(new l(e.contentWindow,"pointermove",function(n){return t(n,e)})),_this6.iframeEventHandlers.push(new l(e.contentWindow,"pointerup",_this6.onMouseUp.bind(_this6)))};for(_iterator5.s();!(_step5=_iterator5.n()).done;){_loop()}}catch(err){_iterator5.e(err)}finally{_iterator5.f()}}}},{key:"onMouseUp",value:function onMouseUp(e){this._stopDragging(e),this.mouseMoveHandler.cancel(),delete this.mouseMoveHandler,this.mouseUpHandler.cancel(),delete this.mouseUpHandler;var _iterator6=_createForOfIteratorHelper(this.iframeEventHandlers),_step6;try{for(_iterator6.s();!(_step6=_iterator6.n()).done;){var _e3=_step6.value;_e3.cancel()}}catch(err){_iterator6.e(err)}finally{_iterator6.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),s.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),s.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=new o(e.clientX,e.clientY);t&&(n=new o(e.clientX+t.x,e.clientY+t.y));var i=this.dockManager.checkXBounds(this.topLevelElement,n,this.previousMousePosition,!1,!1),s=this.dockManager.checkYBounds(this.topLevelElement,n,this.previousMousePosition,!1,!1);this._performDrag(i,s),this.previousMousePosition=n}},{key:"_performDrag",value:function _performDrag(e,t){var n=e+s.getPixels(this.topLevelElement.style.left),i=t+s.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 _this7=this;var o=new u;o.east=e,o.west=t,o.north=n,o.south=i,o.element=document.createElement("div"),this.topLevelElement.appendChild(o.element);var s="",a="";n&&(s="n"),i&&(s="s"),e&&(a="e"),t&&(a="w");var h="resize-handle-"+s+a;s.length>0&&a.length>0&&(o.corner=!0),o.element.classList.add(o.corner?"resize-handle-corner":"resize-handle"),o.element.classList.add(h),this.resizeHandles.push(o),o.mouseDownHandler=new l(o.element,"mousedown",function(e){_this7.onMouseDown(o,e)}),o.touchDownHandler=new l(o.element,"touchstart",function(e){_this7.onMouseDown(o,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 o(i.clientX,i.clientY);n&&(s=new o(i.clientX+n.x,i.clientY+n.y));var l=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,l,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 _this8=this;var n=null;if(t.touches){if(t.touches.length>1)return;n=t.touches[0]}else n=t;this.previousMousePosition=new o(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 _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()}if(this.iframeEventHandlers=[],e.mouseMoveHandler=new l(window,"mousemove",function(t){_this8.onMouseMoved(e,t)}),e.touchMoveHandler=new l(window,"touchmove",function(t){_this8.onMouseMoved(e,t)}),e.mouseUpHandler=new l(window,"mouseup",function(t){_this8.onMouseUp(e)}),e.touchUpHandler=new l(window,"touchend",function(t){_this8.onMouseUp(e)}),this.dockManager.iframes){var _iterator8=_createForOfIteratorHelper(this.dockManager.iframes),_step8;try{var _loop2=function _loop2(){var t=_step8.value;var n=_this8.onMouseMovedIframe.bind(_this8);_this8.iframeEventHandlers.push(new l(t.contentWindow,"mousemove",function(i){return n(e,i,t)})),_this8.iframeEventHandlers.push(new l(t.contentWindow,"mouseup",function(t){return _this8.onMouseUp(e)})),_this8.iframeEventHandlers.push(new l(t.contentWindow,"touchmove",function(i){return n(e,i,t)})),_this8.iframeEventHandlers.push(new l(t.contentWindow,"touchend",function(t){return _this8.onMouseUp(e)}))};for(_iterator8.s();!(_step8=_iterator8.n()).done;){_loop2()}}catch(err){_iterator8.e(err)}finally{_iterator8.f()}}s.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 _iterator9=_createForOfIteratorHelper(this.iframeEventHandlers),_step9;try{for(_iterator9.s();!(_step9=_iterator9.n()).done;){var _e5=_step9.value;_e5.cancel()}}catch(err){_iterator9.e(err)}finally{_iterator9.f()}this.iframeEventHandlers=[],s.enableGlobalTextSelection(this.dockManager.config.dialogRootElement)}},{key:"_performDrag",value:function _performDrag(e,t,n){var i={};i.left=s.getPixels(this.topLevelElement.style.left),i.top=s.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,o){o.left+=e,o.top+=t,o.width+=n,o.height+=i,o.width=Math.max(o.width,50),o.height=Math.max(o.height,50),this.topLevelElement.style.left=o.left+"px",this.topLevelElement.style.top=o.top+"px",this.resize(o.width,o.height)}}]);return m}();var p=function(){function p(e,t,n,i){_classCallCheck(this,p);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(p,[{key:"saveState",value:function saveState(e,t){this.position=new o(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 l(this.elementDialog,"focus",this.onFocus.bind(this),!0),this.mouseDownHandler=new l(this.elementDialog,"pointerdown",this.onMouseDown.bind(this),!0),this.keyPressHandler=new l(this.elementDialog,"keypress",this.dockManager.onKeyPressBound,!0),this.contextmenuHandler=new l(this.panel.elementTitle,"contextmenu",this.oncontextMenuClicked.bind(this)),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 o(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 o(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(e){2!=e.button&&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.keyPressHandler&&(this.keyPressHandler.cancel(),delete this.keyPressHandler),this.contextmenuHandler&&(this.contextmenuHandler.cancel(),delete this.contextmenuHandler),s.removeNode(this.elementDialog),this.draggable.removeDecorator(),s.removeNode(this.panel.elementPanel),s.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:"oncontextMenuClicked",value:function oncontextMenuClicked(e){e.preventDefault(),!this._ctxMenu&&p.createContextMenuContentCallback?(this._ctxMenu=document.createElement("div"),this._ctxMenu.className="dockspab-tab-handle-context-menu",!1!==p.createContextMenuContentCallback(this,this._ctxMenu,this.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("pointerup",this._windowsContextMenuCloseBound)):this._ctxMenu=null):this.closeContextMenu()}},{key:"closeContextMenu",value:function closeContextMenu(){this._ctxMenu&&(document.body.removeChild(this._ctxMenu),delete this._ctxMenu,window.removeEventListener("pointerup",this._windowsContextMenuCloseBound))}},{key:"windowsContextMenuClose",value:function windowsContextMenuClose(e){var t=e.composedPath();for(var _e6 in t)if(t[_e6]==this._ctxMenu)return;this.closeContextMenu()}}],[{key:"fromElement",value:function fromElement(e,t){return new p(new d(document.getElementById(e),t),t,null)}}]);return p}();p.createContextMenuContentCallback=function(e,t,n){if(e.panel._hideCloseButton)return!1;{var _n2=document.createElement("div");_n2.innerText=r.getString("CloseDialog"),t.append(_n2),_n2.onclick=function(){e.panel.close(),e.closeContextMenu()};var i=document.createElement("div");return i.innerText=r.getString("NewBrowserWindow"),t.append(i),i.onclick=function(){e.panel.undockToBrowserDialog(),e.closeContextMenu()},!0}};var g=_createClass(function g(){_classCallCheck(this,g);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 _this9=this;var t={};e.container.saveState(t);var n=[];return e.children.forEach(function(e){n.push(_this9._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 o={containerType:i.containerType,state:n,position:e.getPosition(),isHidden:e.isHidden};t.push(o)}),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),o=this.children.slice(0,i),s=this.children.slice(i+1,this.children.length);this.children=o.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,s)}},{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 _n3=0;_n3<e;_n3++)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.pointerDownHandler=new l(this.barElement,"pointerdown",this.onPointerDown.bind(this)),this.minPanelSize=50,this.readyToProcessNextDrag=!0,this.dockSpawnResizedEvent=new CustomEvent("DockSpawnResizedEvent",{composed:!0,bubbles:!0}),this.iframeEventHandlers=[]}_createClass(C,[{key:"onPointerDown",value:function onPointerDown(e){this.barElement.setPointerCapture(e.pointerId),this._startDragging(e)}},{key:"onPointerUp",value:function onPointerUp(e){this.barElement.releasePointerCapture(e.pointerId),this._stopDragging()}},{key:"onPointerMovedIframe",value:function onPointerMovedIframe(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:"onPointerMoved",value:function onPointerMoved(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,o=this.nextContainer.containerElement.clientWidth,s=this.nextContainer.containerElement.clientHeight,l=this.stackedVertical?i:n,a=this.stackedVertical?s:o,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(o,d)):h<0?(this.previousContainer.resize(r,i),this.nextContainer.resize(d,s)):(this.nextContainer.resize(d,s),this.previousContainer.resize(r,i),this.nextContainer.resize(d,s)),document.dispatchEvent(this.dockSpawnResizedEvent))}},{key:"_startDragging",value:function _startDragging(e){var _this10=this;if(s.disableGlobalTextSelection(this.previousContainer.dockManager.config.dialogRootElement),this.pointerMovedHandler&&(this.pointerMovedHandler.cancel(),delete this.pointerMovedHandler),this.pointerUpHandler&&(this.pointerUpHandler.cancel(),delete this.pointerUpHandler),this.pointerMovedHandler=new l(window,"pointermove",this.onPointerMoved.bind(this)),this.pointerUpHandler=new l(window,"pointerup",this.onPointerUp.bind(this)),this.previousContainer.dockManager.iframes){var _iterator10=_createForOfIteratorHelper(this.previousContainer.dockManager.iframes),_step10;try{var _loop3=function _loop3(){var e=_step10.value;var t=_this10.onPointerMovedIframe.bind(_this10);_this10.iframeEventHandlers.push(new l(e.contentWindow,"pointermove",function(n){return t(n,e)})),_this10.iframeEventHandlers.push(new l(e.contentWindow,"pointerup",_this10.onPointerUp.bind(_this10)))};for(_iterator10.s();!(_step10=_iterator10.n()).done;){_loop3()}}catch(err){_iterator10.e(err)}finally{_iterator10.f()}}this.previousMouseEvent={x:e.clientX,y:e.clientY}}},{key:"_stopDragging",value:function _stopDragging(){s.enableGlobalTextSelection(this.previousContainer.dockManager.config.dialogRootElement),this.pointerMovedHandler&&(this.pointerMovedHandler.cancel(),delete this.pointerMovedHandler),this.pointerUpHandler&&(this.pointerUpHandler.cancel(),delete this.pointerUpHandler);var _iterator11=_createForOfIteratorHelper(this.iframeEventHandlers),_step11;try{for(_iterator11.s();!(_step11=_iterator11.n()).done;){var _e7=_step11.value;_e7.cancel()}}catch(err){_iterator11.e(err)}finally{_iterator11.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 _t4=0;_t4<this.childContainers.length-1;_t4++){var n=this.childContainers[_t4],i=this.childContainers[_t4+1],_o2=new C(n,i,this.stackedVertical);this.spiltterBars.push(_o2),Array.from(this.panelElement.children).includes(n.containerElement)||this._insertContainerIntoPanel(n,e),this.panelElement.insertBefore(_o2.barElement,n.containerElement.nextSibling),e=_o2.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){s.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"),s.removeNode(t.containerElement))}),this.spiltterBars.forEach(function(e){s.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"),s.removeNode(e.containerElement))}),this.spiltterBars.forEach(function(e){s.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&&(s.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,o=(n-i-(this.stackedVertical?this.spiltterBars[0].barElement.clientHeight:this.spiltterBars[0].barElement.clientWidth)*this.spiltterBars.length)/n;for(var _t5=0;_t5<this.childContainers.length;_t5++){var _n4=void 0,_s=this.childContainers[_t5];_s!==e?(_n4=this.stackedVertical?_s.containerElement.parentElement.clientHeight:_s.containerElement.parentElement.clientWidth,_n4*=o):_n4=i,this.stackedVertical?_s.resize(_s.width,Math.floor(_n4)):_s.resize(Math.floor(_n4),_s.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 _e8=0;_e8<this.childContainers.length;_e8++){var i=this.childContainers[_e8],_o3=this.stackedVertical?i.containerElement.clientHeight:i.containerElement.clientWidth;n.push(_o3/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 _t6=0;_t6<this.childContainers.length;_t6++){var i=this.childContainers[_t6],_o4=n*e[_t6];this.stackedVertical?i.resize(i.width,Math.floor(_o4)):i.resize(Math.floor(_o4),i.height)}}},{key:"resize",value:function resize(e,t){var _this11=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 _i2=this.childContainers[n];if(this.stackedVertical?_i2.resize(e,_i2.height?_i2.height:t):_i2.resize(_i2.width?_i2.width:e,t),n<this.spiltterBars.length){var _i3=this.spiltterBars[n];this.stackedVertical?_i3.barElement.style.width=e+"px":_i3.barElement.style.height=t+"px"}}var i=0;this.childContainers.forEach(function(e){var t=_this11.stackedVertical?e.height:e.width;i+=t});var o=this.spiltterBars[0].barElement.getBoundingClientRect();var s=this.stackedVertical?o.height:o.width,l=this.stackedVertical?t:e;l-=s*this.spiltterBars.length,i=Math.max(i,1);var a=l/i,h=0;for(n=0;n<this.childContainers.length;n++){var _e9=this.childContainers[n];"none"==_e9.containerElement.style.display&&(_e9.containerElement.style.display="block");var _t7=this.stackedVertical?_e9.containerElement.clientHeight:_e9.containerElement.clientWidth,_i4=a>1?Math.floor(_t7*a):Math.ceil(_t7*a);h+=_i4,n===this.childContainers.length-1&&(_i4+=l-h),this.stackedVertical?_e9.resize(_e9.width,_i4):_e9.resize(_i4,_e9.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);function k(t,n){var _this12;_classCallCheck(this,k);_this12=_callSuper(this,k,[s.getNextId("horizontal_splitter_"),t,n,!1]),_this12.containerType=e.horizontal;return _this12}return _createClass(k)}(y);var M=function(_y2){_inherits(M,_y2);function M(t,n){var _this13;_classCallCheck(this,M);_this13=_callSuper(this,M,[s.getNextId("vertical_splitter_"),t,n,!0]),_this13.containerType=e.vertical;return _this13}return _createClass(M)}(y);var b=function(){function b(e){var _this14=this;_classCallCheck(this,b);this.parent=e;var n=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 i=e.container,o=i.getRawTitle();this.undockListener={onDockEnabled:function onDockEnabled(e){_this14.undockEnabled(e.state)},onHideCloseButton:function onHideCloseButton(e){_this14.hideCloseButton(e.state)}},this.eventListeners=[],i.addListener(this.undockListener),this.elementText.innerHTML=o,this.elementText.title=this.elementText.innerText,this.undockInitiator=new a(this.elementBase,n),this.undockInitiator.enabled=!0,this.mouseDownHandler=new l(this.elementBase,"mousedown",this.onMouseDown.bind(this)),this.touchDownHandler=new l(this.elementBase,"touchstart",this.onMouseDown.bind(this),{passive:!1}),this.closeButtonHandler=new l(this.elementCloseButton,"click",this.onCloseButtonClicked.bind(this)),this.closeButtonTouchHandler=new l(this.elementCloseButton,"touchstart",this.onCloseButtonClicked.bind(this)),this.auxClickHandler=new l(this.elementBase,"auxclick",this.onCloseButtonClicked.bind(this)),i.panelType==t.document&&(this.contextMenuHandler=new l(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 _e10 in t)if(t[_e10]==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 l(window,"mousemove",this.onMouseMove.bind(this)),this.touchMoveHandler=new l(window,"touchmove",this.onMouseMove.bind(this),{passive:!1}),this.mouseUpHandler=new l(window,"mouseup",this.onMouseUp.bind(this)),this.touchUpHandler=new l(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 _t8=this.elementBase.getBoundingClientRect(),n=this.direction<0?{state:"left",bound:_t8.left,rect:_t8}:{state:"right",bound:_t8.right,rect:_t8};(e.clientX<_t8.left&&this.direction<0||e.clientX>_t8.left+_t8.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 _e11=this.parent.container.getRawTitle();this.elementText.innerHTML=_e11}}},{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&&(s.removeNode(this.elementBase),delete this.elementBase),this.elementCloseButton&&(s.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 o=document.createElement("div");o.innerText=r.getString("CloseAll"),n.append(o),o.onclick=function(){for(var _e12=i.length-1;_e12>=0;_e12--){var _n5=i[_e12].container;_n5.panelType==t.document&&_n5.close()}e.closeContextMenu()};var s=document.createElement("div");s.innerText=r.getString("CloseAllButThis"),n.append(s),s.onclick=function(){for(var _n6=i.length-1;_n6>=0;_n6--){var _o5=i[_n6].container;e.parent.container!=_o5&&_o5.panelType==t.document&&_o5.close()}e.closeContextMenu()};var l=document.createElement("div");l.innerText=r.getString("NewBrowserWindow"),n.append(l),l.onclick=function(){e.parent.container.undockToBrowserDialog(),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,s.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 _e13=this.host.contentElement.clientWidth,n=this.host.contentElement.clientHeight;this.container.resize(_e13,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}();var D,H;!function(e){e[e.TOP=0]="TOP",e[e.BOTTOM=1]="BOTTOM",e[e.LEFT=2]="LEFT",e[e.RIGHT=3]="RIGHT"}(D||(D={}));var x=function(){function x(e,t,n){var _this15=this;_classCallCheck(this,x);if(void 0===t&&(t=D.BOTTOM),void 0===n&&(n=!1),this.dockManager=e,this.tabStripDirection=t,this.displayCloseButton=n,this.pages=[],this.eventListeners=[],this.tabHandleListener={onMoveTab:function onMoveTab(e){_this15.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===D.BOTTOM)this.hostElement.appendChild(this.contentElement),this.hostElement.appendChild(this.separatorElement),this.hostElement.appendChild(this.tabListElement);else{if(this.tabStripDirection!==D.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 l(this.contentElement,"focus",this.onFocus.bind(this),!0),this.mouseDownHandler=new l(this.contentElement,"mousedown",this.onMousedown.bind(this),!0)}_createClass(x,[{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=s.orderByIndexes(this.pages,e);var t=this.tabListElement.childNodes,n=[];for(var _e14 in t)1===t[_e14].nodeType&&n.push(t[_e14]);n=s.orderByIndexes(n,e);for(var _e15=0;_e15<n.length;++_e15)this.tabListElement.appendChild(n[_e15]);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(o){o.onChange&&o.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 _this16=this;this.hostElement.style.width=e+"px",this.hostElement.style.height=t+"px";var n=this.tabListElement.clientHeight;this._resizeRequested||requestAnimationFrame(function(){return _this16.resizeTabListElement(e,t)}),this._resizeRequested=!0;var i=this.separatorElement.clientHeight,o=t-n-i;this.contentElement.style.height=o+"px",this.activeTab&&this.activeTab.resize(e,o)}},{key:"resizeTabListElement",value:function resizeTabListElement(e,t){var _this17=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,o=i*n.elementBase.clientWidth;t===_this17.pages.length-1&&(o-=5),n.elementBase.style.width=o+"px"})}},{key:"performLayout",value:function performLayout(e){var _this18=this;this.pages.forEach(function(t){if(!e.some(function(e){return e==t.container})){t.handle.removeListener(_this18.tabHandleListener),t.destroy();var _e16=_this18.pages.indexOf(t);_e16>-1&&_this18.pages.splice(_e16,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;_this18.pages.some(function(t){return t.container==e&&(n=t,!0)})||(n=_this18.createTabPage(_this18,e),n.handle.addListener(_this18.tabHandleListener),_this18.pages.push(n)),t&&n.container===t.container&&(_this18.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 x}();var _=function(){function _(t,n){var _this19=this;_classCallCheck(this,_);void 0===n&&(n=D.BOTTOM),this.dockManager=t,this.tabOrientation=n,this.name=s.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 x(t,this.tabOrientation),this.tabHostListener={onChange:function onChange(e){_this19.dockManager._requestTabReorder(_this19,e)}},this.tabHost.addListener(this.tabHostListener),this.element.appendChild(this.tabHost.hostElement)}_createClass(_,[{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(){this.tabHost.pages.forEach(function(e){return e.destroy()}),s.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 _}();var T=function(){function T(e){_classCallCheck(this,T);this._forceResizeCompositeContainer=function(e){var t=e.containerElement.clientWidth,n=e.containerElement.clientHeight;e.resize(t,n)},this.dockManager=e}_createClass(T,[{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 _e17=t.parent;for(var _n7=0;_n7<t.children.length;_n7++){var i=t.children[_n7];if(_e17){_e17.addChildAfter(t,i),t.detachFromParent();var _n8=t.container.containerElement.clientWidth,_o6=t.container.containerElement.clientHeight;t.container.destroy(),i.container.resize(_n8,_o6),_e17.performLayout(!1)}else t.detachFromParent(),t.container.destroy(),this.dockManager.setRootNode(i)}}else if(t.performLayout(!1),t.children.length>0){var _e18=t.children[Math.max(0,n-1)];t.container.setActiveChild(_e18.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 _e19=t.parent;for(var _n9=0;_n9<t.children.length;_n9++){var _i5=t.children[_n9];if(_e19){_e19.addChildAfter(t,_i5),t.detachFromParent();var _n10=t.container.containerElement.clientWidth,_o7=t.container.containerElement.clientHeight;_i5.container.resize(_n10,_o7),t.container.destroy(),_e19.performLayout(!1)}else t.detachFromParent(),t.container.destroy(),this.dockManager.setRootNode(_i5)}}else if(t.performLayout(!1),n){var _e20=t.children[Math.max(0,i-1)];null!=_e20&&t.container.setActiveChild(_e20.container)}this.dockManager.invalidate(),this.dockManager.notifyOnUnDock(e)}},{key:"reorderTabs",value:function reorderTabs(e,t,n,i){var o=e.children.length,l="left"===n?i:i+1;if("right"==n&&l>=e.children.length)return;if("left"==n&&0==l)return;var a=Array.apply(null,{length:o}).map(Number.call,Number),h=a.splice(l,1)[0];a.splice("left"===n?i-1:i,0,h),e.children=s.orderByIndexes(e.children,a),e.container.tabHost.performTabsLayout(a),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 o,l,a;if(e===this.dockManager.context.model.rootNode)return i?(o=this._createDockContainer(n,t,e),l=new f(o),l.addChild(t),l.addChild(e)):(o=this._createDockContainer(n,e,t),l=new f(o),l.addChild(e),l.addChild(t)),this.dockManager.setRootNode(l),this.dockManager.rebuildLayout(this.dockManager.context.model.rootNode),l.container.setActiveChild(t.container),this.dockManager.invalidate(),void this.dockManager.notifyOnDock(t);if(e.parent.container.containerType!==n){a=e.parent;var _h=e.container.containerElement.clientWidth,_r=e.container.containerElement.clientHeight,_d=a.container.containerElement.clientWidth,_c=a.container.containerElement.clientHeight;o=this._createDockContainer(n,t,e),l=new f(o),a.addChildAfter(e,l),e.detachFromParent(),s.removeNode(e.container.containerElement),i?(l.addChild(t),l.addChild(e)):(l.addChild(e),l.addChild(t)),a.performLayout(!1),l.performLayout(!0),l.container.setActiveChild(t.container),l.container.resize(_h,_r),a.container.resize(_d,_c)}else a=e.parent,i?a.addChildBefore(e,t):a.addChildAfter(e,t),a.performLayout(!1),a.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 _(this.dockManager);throw new Error("Failed to create dock container of type: "+e)}},{key:"getDockBounds",value:function getDockBounds(e,t,n,i){var o,s,l,a;if("fill"===n){var _t9=e.container.containerElement,_n11=this.dockManager.element.getBoundingClientRect(),_i6=_t9.getBoundingClientRect();return{x:_i6.left-_n11.left,y:_i6.top-_n11.top,width:_t9.clientWidth,height:_t9.clientHeight}}e.parent&&"fill"===e.parent.container.containerType&&(e=e.parent);var h=!1;e.parent&&e.parent.container.containerType===n?(o=e.parent,s=o.children.length,l=o.children.indexOf(e)+(i?0:1)):(o=e,s=1,l=i?0:1,h=!0);var r=0,d=0;if("vertical"===n||"horizontal"===n){var _e21=this._getVaringDimension(o.container,n)-5*(s-1),_a2=this._getVaringDimension(t,n),_c2=_e21/(_e21+_a2);if(r=_a2*_c2,h)d=i?0:_e21*_c2;else{for(var _e22=0;_e22<l;_e22++)d+=this._getVaringDimension(o.children[_e22].container,n);d*=_c2}}a={};var c=this.dockManager.element.getBoundingClientRect(),u=o.container.containerElement.getBoundingClientRect();return"vertical"===n?(a.x=u.left-c.left,a.y=u.top-c.top+d,a.width=o.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=o.container.height),a}},{key:"_getVaringDimension",value:function _getVaringDimension(e,t){return"vertical"===t?e.height:"horizontal"===t?e.width:0}}]);return T}();var P=function(){function P(e,t){_classCallCheck(this,P);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 l(this.element,"pointerover",this.onMouseMoved.bind(this)),this.mouseOutHandler=new l(this.element,"pointerout",this.onMouseOut.bind(this)),this.active=!1}_createClass(P,[{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 P}();!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"}(H||(H={}));var L=function(){function L(e){_classCallCheck(this,L);this.dockManager=e,this.elementMainWheel=document.createElement("div"),this.elementSideWheel=document.createElement("div"),this.wheelItems={};for(var _e23 in H)this.wheelItems[_e23]=new P(this,_e23),"-s"===_e23.substr(-2,2)?this.elementSideWheel.appendChild(this.wheelItems[_e23].element):this.elementMainWheel.appendChild(this.wheelItems[_e23].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(L,[{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 s.removeNode(this.elementMainWheel),void s.removeNode(this.elementSideWheel);var e=this.activeNode.container.containerElement,t=e.clientWidth,n=e.clientHeight,i=Math.floor(t/2),o=Math.floor(n/2),l=e.getBoundingClientRect(),a=this.dockManager.element.getBoundingClientRect();this.elementMainWheel.style.left=l.left-a.left+i+"px",this.elementMainWheel.style.top=l.top-a.top+o+"px";var h=this.dockManager.element.clientWidth,r=this.dockManager.element.clientHeight;s.removeNode(this.elementMainWheel),s.removeNode(this.elementSideWheel),this.dockManager.element.appendChild(this.elementMainWheel),this.dockManager.element.appendChild(this.elementSideWheel),this._setWheelButtonPosition(H["left-s"],20,-r/2),this._setWheelButtonPosition(H["right-s"],h-40,-r/2),this._setWheelButtonPosition(H["top-s"],h/2,20-r),this._setWheelButtonPosition(H["down-s"],h/2,-20)}},{key:"_setWheelButtonPosition",value:function _setWheelButtonPosition(e,t,n){var i=this.wheelItems[e],o=i.element.clientWidth/2,s=i.element.clientHeight/2,l=Math.floor(t-o),a=Math.floor(n-s);i.element.style.marginLeft=l+"px",i.element.style.marginTop=a+"px"}},{key:"hideWheel",value:function hideWheel(){this._visible=!1,this.activeNode=void 0,s.removeNode(this.elementMainWheel),s.removeNode(this.elementSideWheel),s.removeNode(this.elementPanelPreview);for(var _e24 in this.wheelItems)this.wheelItems[_e24].active=!1}},{key:"onMouseOver",value:function onMouseOver(e){if(!this.activeDialog)return;var t,n=this.dockManager.context.model.rootNode;e.id===H.top?t=this.dockManager.layoutEngine.getDockBounds(this.activeNode,this.activeDialog.panel,"vertical",!0):e.id===H.down?t=this.dockManager.layoutEngine.getDockBounds(this.activeNode,this.activeDialog.panel,"vertical",!1):e.id===H.left?t=this.dockManager.layoutEngine.getDockBounds(this.activeNode,this.activeDialog.panel,"horizontal",!0):e.id===H.right?t=this.dockManager.layoutEngine.getDockBounds(this.activeNode,this.activeDialog.panel,"horizontal",!1):e.id===H.fill?t=this.dockManager.layoutEngine.getDockBounds(this.activeNode,this.activeDialog.panel,"fill",!1):e.id===H["top-s"]?t=this.dockManager.layoutEngine.getDockBounds(n,this.activeDialog.panel,"vertical",!0):e.id===H["down-s"]?t=this.dockManager.layoutEngine.getDockBounds(n,this.activeDialog.panel,"vertical",!1):e.id===H["left-s"]?t=this.dockManager.layoutEngine.getDockBounds(n,this.activeDialog.panel,"horizontal",!0):e.id===H["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(){s.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 _e25 in this.wheelItems){var _t10=this.wheelItems[_e25];if(_t10.active)return _t10}}},{key:"_handleDockRequest",value:function _handleDockRequest(e,t){e.active=!1,e.element.classList.remove(e.hoverIconClass),this.activeNode&&(e.id===H.left?this.dockManager.dockDialogLeft(this.activeNode,t):e.id===H.right?this.dockManager.dockDialogRight(this.activeNode,t):e.id===H.top?this.dockManager.dockDialogUp(this.activeNode,t):e.id===H.down?this.dockManager.dockDialogDown(this.activeNode,t):e.id===H.fill?this.dockManager.dockDialogFill(this.activeNode,t):e.id===H["left-s"]?this.dockManager.dockDialogLeft(this.dockManager.context.model.rootNode,t):e.id===H["right-s"]?this.dockManager.dockDialogRight(this.dockManager.context.model.rootNode,t):e.id===H["top-s"]?this.dockManager.dockDialogUp(this.dockManager.context.model.rootNode,t):e.id===H["down-s"]&&this.dockManager.dockDialogDown(this.dockManager.context.model.rootNode,t))}}]);return L}();var B=_createClass(function B(){_classCallCheck(this,B);this.rootNode=this.documentManagerNode=void 0});var z=function(_E){_inherits(z,_E);function z(e,t){var _this20;_classCallCheck(this,z);_this20=_callSuper(this,z,[e,t]),"panel"===_this20.container.containerType&&(_this20.panel=t,_this20.containerElement=_this20.panel.elementContentWrapper,s.removeNode(_this20.containerElement));return _this20}_createClass(z,[{key:"destroy",value:function destroy(){_get(_getPrototypeOf(z.prototype),"destroy",this).call(this),this.panel.elementContentHost.appendChild(this.containerElement)}}]);return z}(E);var N=function(_ref){_inherits(N,_ref);function N(e){var _this21;_classCallCheck(this,N);_this21=_callSuper(this,N,[e,D.TOP]),_this21.minimumAllowedChildNodes=0,_this21.element.classList.add("document-manager"),_this21.tabHost.createTabPage=_this21._createDocumentTabPage,_this21.tabHost.displayCloseButton=!0;return _this21}_createClass(N,[{key:"_createDocumentTabPage",value:function _createDocumentTabPage(e,t){return new z(e,t)}},{key:"saveState",value:function saveState(e){_get(_getPrototypeOf(N.prototype),"saveState",this).call(this,e),e.documentManager=!0}},{key:"selectedTab",value:function selectedTab(){return this.tabHost.activeTab}}]);return N}(_);var S=_createClass(function S(e){_classCallCheck(this,S);this.dockManager=e,this.model=new B,this.documentManagerView=new N(this.dockManager)});var R=function(){function R(e){_classCallCheck(this,R);this.dockManager=e}_createClass(R,[{key:"deserialize",value:function(){var _deserialize=_asyncToGenerator(_regeneratorRuntime().mark(function _callee4(e){var t,n;return _regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:t=JSON.parse(e),n=new B;_context4.next=3;return this._buildGraph(t.graphInfo);case 3:n.rootNode=_context4.sent;_context4.next=6;return this._buildDialogs(t.dialogsInfo);case 6:n.dialogs=_context4.sent;n.documentManagerNode=this.documentManagerNode;return _context4.abrupt("return",n);case 9:case"end":return _context4.stop()}},_callee4,this)}));function deserialize(_x4){return _deserialize.apply(this,arguments)}return deserialize}()},{key:"_buildGraph",value:function(){var _buildGraph2=_asyncToGenerator(_regeneratorRuntime().mark(function _callee5(e){var t,n,_iterator12,_step12,_e26,_t11,i,o,_iterator13,_step13,_e27;return _regeneratorRuntime().wrap(function _callee5$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:t=e.children,n=[];_iterator12=_createForOfIteratorHelper(t);_context5.prev=2;_iterator12.s();case 4:if((_step12=_iterator12.n()).done){_context5.next=12;break}_e26=_step12.value;_context5.next=8;return this._buildGraph(_e26);case 8:_t11=_context5.sent;null!==_t11&&n.push(_t11);case 10:_context5.next=4;break;case 12:_context5.next=17;break;case 14:_context5.prev=14;_context5.t0=_context5["catch"](2);_iterator12.e(_context5.t0);case 17:_context5.prev=17;_iterator12.f();return _context5.finish(17);case 20:_context5.next=22;return this._createContainer(e,n);case 22:i=_context5.sent;if(!(null===i)){_context5.next=25;break}return _context5.abrupt("return",null);case 25:o=new f(i);i instanceof N&&(this.documentManagerNode=o),o.children=n;_iterator13=_createForOfIteratorHelper(o.children.reverse());try{for(_iterator13.s();!(_step13=_iterator13.n()).done;){_e27=_step13.value;_e27.parent=o}}catch(err){_iterator13.e(err)}finally{_iterator13.f()}return _context5.abrupt("return",(o.children.reverse(),o));case 30:case"end":return _context5.stop()}},_callee5,this,[[2,14,17,20]])}));function _buildGraph(_x5){return _buildGraph2.apply(this,arguments)}return _buildGraph}()},{key:"_createContainer",value:function(){var _createContainer2=_asyncToGenerator(_regeneratorRuntime().mark(function _callee6(e,t){var n,i,o,l,_iterator14,_step14,_e28;return _regeneratorRuntime().wrap(function _callee6$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:i=e.containerType,o=e.state,l=[];_iterator14=_createForOfIteratorHelper(t);try{for(_iterator14.s();!(_step14=_iterator14.n()).done;){_e28=_step14.value;l.push(_e28.container)}}catch(err){_iterator14.e(err)}finally{_iterator14.f()}if(!("panel"===i)){_context6.next=12;break}_context6.next=6;return d.loadFromState(o,this.dockManager);case 6:n=_context6.sent;if(n.prepareForDocking){_context6.next=9;break}return _context6.abrupt("return",null);case 9:n.prepareForDocking(),s.removeNode(n.elementPanel);_context6.next=23;break;case 12:if(!("horizontal"===i)){_context6.next=16;break}n=new k(this.dockManager,l);_context6.next=23;break;case 16:if(!("vertical"===i)){_context6.next=20;break}n=new M(this.dockManager,l);_context6.next=23;break;case 20:if(!("fill"!==i)){_context6.next=22;break}throw new Error("Cannot create dock container of unknown type: "+i);case 22:n=o.documentManager?new N(this.dockManager):new _(this.dockManager);case 23:return _context6.abrupt("return",(n.loadState(o),n));case 24:case"end":return _context6.stop()}},_callee6,this)}));function _createContainer(_x6,_x7){return _createContainer2.apply(this,arguments)}return _createContainer}()},{key:"_buildDialogs",value:function(){var _buildDialogs2=_asyncToGenerator(_regeneratorRuntime().mark(function _callee7(e){var t,_iterator15,_step15,n,_e29,i,_o8,_i7;return _regeneratorRuntime().wrap(function _callee7$(_context7){while(1)switch(_context7.prev=_context7.next){case 0:t=[];_iterator15=_createForOfIteratorHelper(e);_context7.prev=2;_iterator15.s();case 4:if((_step15=_iterator15.n()).done){_context7.next=19;break}n=_step15.value;_e29=void 0,i=n.containerType,_o8=n.state;_context7.t0="panel"===i;if(!_context7.t0){_context7.next=13;break}_context7.next=11;return d.loadFromState(_o8,this.dockManager);case 11:_e29=_context7.sent;_context7.t0=_e29.prepareForDocking;case 13:if(!_context7.t0){_context7.next=17;break}s.removeNode(_e29.elementPanel),_e29.isDialog=!0;_i7=new p(_e29,this.dockManager);(n.position.x>document.body.clientWidth||n.position.y>document.body.clientHeight-70)&&(n.position.x=20,n.position.y=70),_i7.setPosition(n.position.x,n.position.y),_i7.isHidden=n.isHidden,_i7.isHidden&&_i7.hide(),t.push(_i7);case 17:_context7.next=4;break;case 19:_context7.next=24;break;case 21:_context7.prev=21;_context7.t1=_context7["catch"](2);_iterator15.e(_context7.t1);case 24:_context7.prev=24;_iterator15.f();return _context7.finish(24);case 27:return _context7.abrupt("return",t);case 28:case"end":return _context7.stop()}},_callee7,this,[[2,21,24,27]])}));function _buildDialogs(_x8){return _buildDialogs2.apply(this,arguments)}return _buildDialogs}()}]);return R}();var W=function(){function W(e,t){_classCallCheck(this,W);if(void 0===e)throw new Error("Invalid Dock Manager element provided");this._config=Object.assign(new g,t),this.element=e,this.context=this.dockWheel=this.layoutEngine=this.mouseMoveHandler=this.touchMoveHandler=void 0,this.layoutEventListeners=[],this.defaultDialogPosition=new o(0,0)}_createClass(W,[{key:"config",get:function get(){return this._config}},{key:"initialize",value:function initialize(){this.backgroundContext=this.element.children[0],this.context=new S(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 L(this),this.layoutEngine=new T(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 _e30=this.activePanel;this.activePanel=null,_e30.close()}}},{key:"checkXBounds",value:function checkXBounds(e,t,n,i,o){if(this._config.moveOnlyWithinDockConatiner)return this.checkXBoundsWithinDockContainer(e,t,n,i,o);var s=this.element.getBoundingClientRect(),l=Math.floor(t.x-n.x),a=e.offsetLeft+e.offsetWidth+l+s.left<40,h=e.offsetLeft+l+s.left>window.innerWidth-40;if(a){n.x=t.x,l=0;var _i8=40-(e.offsetWidth+e.offsetLeft+s.left);_i8>0&&(l=_i8)}else if(h){n.x=t.x,l=0;var _i9=window.innerWidth-40-e.offsetLeft-s.left;_i9>0&&(l=_i9)}return l}},{key:"checkXBoundsWithinDockContainer",value:function checkXBoundsWithinDockContainer(e,t,n,i,o){var s=t.x-n.x,l=this.element.getBoundingClientRect(),a=e.getBoundingClientRect(),h=s<0&&a.left+s<l.left&&!o,r=s>0&&a.right+s>l.right&&!i;return h?(t.x-=s,s=l.left-a.left,t.x-=s):r&&(t.x-=s,s=l.right-a.right,t.x-=s),s}},{key:"checkYBounds",value:function checkYBounds(e,t,n,i,o){if(this._config.moveOnlyWithinDockConatiner)return this.checkYBoundsWithinDockContainer(e,t,n,i,o);var s=this.element.getBoundingClientRect(),l=Math.floor(t.y-n.y),a=e.offsetTop+l+s.top<0,h=e.offsetTop+l+s.top>window.innerHeight-16;if(a)n.y=t.y,l=0;else if(h){n.y=t.y,l=0;var _i10=window.innerHeight-16-e.offsetTop-s.top;_i10>0&&(l=_i10)}return l}},{key:"checkYBoundsWithinDockContainer",value:function checkYBoundsWithinDockContainer(e,t,n,i,o){var s=t.y-n.y,l=this.element.getBoundingClientRect(),a=e.getBoundingClientRect(),h=s<0&&a.top+s<l.top&&!o,r=s>0&&a.bottom+s>l.bottom&&!i;return h?(t.y-=s,s=l.top-a.top,t.y-=s):r&&(t.y-=s,s=l.bottom-a.bottom,t.y-=s),s}},{key:"rebuildLayout",value:function rebuildLayout(e){var _this22=this;e.children.forEach(function(e){_this22.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 _iterator16=_createForOfIteratorHelper(this.context.model.dialogs),_step16;try{for(_iterator16.s();!(_step16=_iterator16.n()).done;){var _e31=_step16.value;(_e31.position.x>this.element.clientWidth||_e31.position.y>this.element.clientHeight)&&((n>this.element.clientWidth||i>this.element.clientHeight)&&(n=0,i=0),_e31.setPosition(100+n,100+i),n+=100,i+=100)}}catch(err){_iterator16.e(err)}finally{_iterator16.f()}}},{key:"setModel",value:function setModel(e){s.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 _this23=this;e.children.reverse().forEach(function(t){_this23.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 l(window,"mousemove",this._onMouseMoved.bind(this)),this.touchMoveHandler=new l(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 _o9=i.pop();s.isPointInsideNode(e,t,_o9)&&(n=_o9,[].push.apply(i,_o9.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,o){var l;if(this.context.model.dialogs.forEach(function(i){e==i.panel&&(i.show(),i.setPosition(t,n),l=i)}),l)return l;try{var _t12=this._findNodeFromContainer(e);this.layoutEngine.undock(_t12)}catch(e){}var a=e;s.removeNode(a.elementPanel),a.isDialog=!0;var h=new p(a,this,i,o);return h.setPosition(t,n),h}},{key:"_requestDockDialog",value:function _requestDockDialog(e,t,n){var i=t.panel,o=new f(i);return i.prepareForDocking(),i.elementContentContainer.style.zIndex="",t.destroy(),n(e,o),o}},{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,o){var l=new f(t);if("panel"===t.containerType){var _e32=t;_e32.prepareForDocking(),s.removeNode(_e32.elementPanel)}var a,h=null;if(e.parent&&e.parent.container&&(a=e.parent.container,a.getRatios&&(h=a.getRatios())),n(e,l),o&&l.parent&&("vertical"===l.parent.container.containerType||"horizontal"===l.parent.container.containerType)){var _e33=l.parent.container;if(h&&a==_e33){if(i){for(var _e34=0;_e34<h.length;_e34++)h[_e34]=h[_e34]-h[_e34]*o;h.push(o)}else h[0]=h[0]-o,h.unshift(o);_e33.setRatios(h)}else _e33.setContainerRatio(t,o)}return this.rebuildLayout(this.context.model.rootNode),this.invalidate(),this._checkShowBackgroundContext(),l}},{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 o=i.container;o.elementPanel.style.display="block";var s=new p(o,this,null);if(o.lastDialogSize&&s.resize(o.lastDialogSize.width,o.lastDialogSize.height),void 0!==t){var _e35=s.elementDialog.clientWidth;n.x>_e35&&(n.x=.75*_e35),s.setPosition(t.clientX-n.x,t.clientY-n.y),s.draggable.onMouseDown(t)}return s}},{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 _e36=this._activeDocument;this._activeDocument=null,this.notifyOnActiveDocumentChange(null,_e36)}}},{key:"openInDialog",value:function openInDialog(e,t,n,i){var o=new p(e,this,null,i);if(null!=t){var _e37=o.elementDialog.clientWidth;n.x>_e37&&(n.x=.75*_e37),o.setPosition(t.clientX-n.x,t.clientY-n.y),o.draggable.onMouseDown(t)}return o}},{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 _o10=i.pop();if(_o10.container instanceof d){if(_o10.container.elementContent.id===e)return _o10;if(_o10.container.elementContent instanceof HTMLSlotElement&&(null===(n=null===(t=_o10.container.elementContent.assignedElements())||void 0===t?void 0:t[0])||void 0===n?void 0:n.id)===e)return _o10}[].push.apply(i,_o10.children)}return null}},{key:"getNodeByElement",value:function getNodeByElement(e){var t;var n=[];for(n.push(this.context.model.rootNode);n.length>0;){var i=n.pop();if(i.container instanceof d){if(i.container.elementContent===e)return i;if(i.container.elementContent instanceof HTMLSlotElement&&(null===(t=i.container.elementContent.assignedElements())||void 0===t?void 0:t[0])===e)return i}[].push.apply(n,i.children)}return null}},{key:"_findNodeFromContainer",value:function _findNodeFromContainer(e){var t=[];for(t.push(this.context.model.rootNode);t.length>0;){var n=t.pop();if(n.container===e)return n;[].push.apply(t,n.children)}return null}},{key:"findNodeFromContainerElement",value:function findNodeFromContainerElement(e){var t=[];for(t.push(this.context.model.rootNode);t.length>0;){var n=t.pop();if(n.container.containerElement===e)return n;[].push.apply(t,n.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 _this24=this;this.layoutEventListeners.forEach(function(t){t.onSuspendLayout&&t.onSuspendLayout(_this24,e)})}},{key:"resumeLayout",value:function resumeLayout(e){var _this25=this;this.layoutEventListeners.forEach(function(t){t.onResumeLayout&&t.onResumeLayout(_this25,e)})}},{key:"notifyOnDock",value:function notifyOnDock(e){var _this26=this;this._checkShowBackgroundContext(),this.layoutEventListeners.forEach(function(t){t.onDock&&(t.onDock(_this26,e),e.container.resize(e.container.width,e.container.height))})}},{key:"notifyOnTabsReorder",value:function notifyOnTabsReorder(e){var _this27=this;this.layoutEventListeners.forEach(function(t){t.onTabsReorder&&t.onTabsReorder(_this27,e)})}},{key:"notifyOnUnDock",value:function notifyOnUnDock(e){var _this28=this;this._checkShowBackgroundContext(),this.layoutEventListeners.forEach(function(t){t.onUndock&&t.onUndock(_this28,e)})}},{key:"notifyOnClosePanel",value:function notifyOnClosePanel(e){var _this29=this;if(this._checkShowBackgroundContext(),this.activePanel==e&&(this.activePanel=null),this._activeDocument==e){var _e38=this._activeDocument;this._activeDocument=null,this.notifyOnActiveDocumentChange(null,_e38)}this.layoutEventListeners.forEach(function(t){t.onClosePanel&&t.onClosePanel(_this29,e)})}},{key:"notifyOnCreateDialog",value:function notifyOnCreateDialog(e){var _this30=this;this.layoutEventListeners.forEach(function(t){t.onCreateDialog&&t.onCreateDialog(_this30,e)})}},{key:"notifyOnHideDialog",value:function notifyOnHideDialog(e){var _this31=this;this.layoutEventListeners.forEach(function(t){t.onHideDialog&&t.onHideDialog(_this31,e)})}},{key:"notifyOnShowDialog",value:function notifyOnShowDialog(e){var _this32=this;this.layoutEventListeners.forEach(function(t){t.onShowDialog&&t.onShowDialog(_this32,e)})}},{key:"notifyOnChangeDialogPosition",value:function notifyOnChangeDialogPosition(e,t,n){var _this33=this;this.layoutEventListeners.forEach(function(i){i.onChangeDialogPosition&&i.onChangeDialogPosition(_this33,e,t,n)})}},{key:"notifyOnContainerResized",value:function notifyOnContainerResized(e){var _this34=this;this.layoutEventListeners.forEach(function(t){t.onContainerResized&&t.onContainerResized(_this34,e)})}},{key:"notifyOnTabChange",value:function notifyOnTabChange(e){var _this35=this;this.layoutEventListeners.forEach(function(t){t.onTabChanged&&t.onTabChanged(_this35,e)})}},{key:"notifyOnActivePanelChange",value:function notifyOnActivePanelChange(e,t){var _this36=this;this.layoutEventListeners.forEach(function(n){n.onActivePanelChange&&n.onActivePanelChange(_this36,e,t)})}},{key:"notifyOnActiveDocumentChange",value:function notifyOnActiveDocumentChange(e,t){var _this37=this;this.layoutEventListeners.forEach(function(n){n.onActiveDocumentChange&&n.onActiveDocumentChange(_this37,e,t)})}},{key:"saveState",value:function saveState(){return(new v).serialize(this.context.model)}},{key:"loadState",value:function(){var _loadState=_asyncToGenerator(_regeneratorRuntime().mark(function _callee8(e){var t;return _regeneratorRuntime().wrap(function _callee8$(_context8){while(1)switch(_context8.prev=_context8.next){case 0:t=new R(this);_context8.next=3;return t.deserialize(e);case 3:this.context.model=_context8.sent;this.setModel(this.context.model);case 5:case"end":return _context8.stop()}},_callee8,this)}));function loadState(_x9){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){s.arrayContains(e,t.elementContent.id)||t.close()}),this.context.model.dialogs.forEach(function(t){s.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 _this38=this;e.children.forEach(function(e){_this38._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 n=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 i=this._activeDocument;e&&e.panelType==t.document&&(this._activeDocument=e),!e&&n&&n.isDialog&&null==e&&this._lastPanelNotADialog&&this.activePanel!=this._lastPanelNotADialog&&(e=this._lastPanelNotADialog,this._lastPanelNotADialog=void 0),this.notifyOnActivePanelChange(e,n),i!=this._activeDocument&&this.notifyOnActiveDocumentChange(this._activeDocument,i),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 W}();DockSpawnTS=i})();
1
+ "use strict";function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}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 _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e))}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(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t})()}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}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 _regeneratorRuntime(){"use strict";_regeneratorRuntime=function _regeneratorRuntime(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function define(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{define({},"")}catch(t){define=function define(t,e,r){return t[e]=r}}function wrap(t,e,r,n){var i=e&&e.prototype instanceof Generator?e:Generator,a=Object.create(i.prototype),c=new Context(n||[]);return o(a,"_invoke",{value:makeInvokeMethod(t,r,c)}),a}function tryCatch(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=wrap;var h="suspendedStart",l="suspendedYield",f="executing",s="completed",y={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var p={};define(p,a,function(){return this});var d=Object.getPrototypeOf,v=d&&d(d(values([])));v&&v!==r&&n.call(v,a)&&(p=v);var g=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(p);function defineIteratorMethods(t){["next","throw","return"].forEach(function(e){define(t,e,function(t){return this._invoke(e,t)})})}function AsyncIterator(t,e){function invoke(r,o,i,a){var c=tryCatch(t[r],t,o);if("throw"!==c.type){var u=c.arg,h=u.value;return h&&"object"==_typeof(h)&&n.call(h,"__await")?e.resolve(h.__await).then(function(t){invoke("next",t,i,a)},function(t){invoke("throw",t,i,a)}):e.resolve(h).then(function(t){u.value=t,i(u)},function(t){return invoke("throw",t,i,a)})}a(c.arg)}var r;o(this,"_invoke",{value:function value(t,n){function callInvokeWithMethodAndArg(){return new e(function(e,r){invoke(t,n,e,r)})}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}})}function makeInvokeMethod(e,r,n){var o=h;return function(i,a){if(o===f)throw new Error("Generator is already running");if(o===s){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=maybeInvokeDelegate(c,n);if(u){if(u===y)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=s,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=f;var p=tryCatch(e,r,n);if("normal"===p.type){if(o=n.done?s:l,p.arg===y)continue;return{value:p.arg,done:n.done}}"throw"===p.type&&(o=s,n.method="throw",n.arg=p.arg)}}}function maybeInvokeDelegate(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator["return"]&&(r.method="return",r.arg=t,maybeInvokeDelegate(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var i=tryCatch(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,y;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,y):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function pushTryEntry(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function resetTryEntry(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0)}function values(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function next(){for(;++o<e.length;)if(n.call(e,o))return next.value=e[o],next.done=!1,next;return next.value=t,next.done=!0,next};return i.next=i}}throw new TypeError(_typeof(e)+" is not iterable")}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(g,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,u,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===GeneratorFunction||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,u,"GeneratorFunction")),t.prototype=Object.create(g),t},e.awrap=function(t){return{__await:t}},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,c,function(){return this}),e.AsyncIterator=AsyncIterator,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new AsyncIterator(wrap(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then(function(t){return t.done?t.value:a.next()})},defineIteratorMethods(g),define(g,u,"Generator"),define(g,a,function(){return this}),define(g,"toString",function(){return"[object Generator]"}),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in e)return next.value=t,next.done=!1,next}return next.done=!0,next}},e.values=values,Context.prototype={constructor:Context,reset:function reset(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function stop(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function dispatchException(e){if(this.done)throw e;var r=this;function handle(n,o){return a.type="throw",a.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return handle("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0);if(this.prev<i.finallyLoc)return handle(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return handle(i.finallyLoc)}}}},abrupt:function abrupt(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(a)},complete:function complete(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y},finish:function finish(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),y}},catch:function _catch(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;resetTryEntry(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function delegateYield(e,r,n){return this.delegate={iterator:values(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y}},e}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 _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(_e39){throw _e39},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(_e40){didErr=true;err=_e40},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}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 _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}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 _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(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:String(i)}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}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={d:function d(e,t){for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},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})}},i={};n.r(i),n.d(i,{ContainerType:function ContainerType(){return e},Dialog:function Dialog(){return p},DockConfig:function DockConfig(){return g},DockGraphSerializer:function DockGraphSerializer(){return v},DockLayoutEngine:function DockLayoutEngine(){return T},DockManager:function DockManager(){return R},DockManagerContext:function DockManagerContext(){return S},DockModel:function DockModel(){return B},DockNode:function DockNode(){return f},DockWheel:function DockWheel(){return L},DockWheelItem:function DockWheelItem(){return P},DocumentManagerContainer:function DocumentManagerContainer(){return N},DocumentTabPage:function DocumentTabPage(){return z},DraggableContainer:function DraggableContainer(){return c},EventHandler:function EventHandler(){return l},FillDockContainer:function FillDockContainer(){return _},HorizontalDockContainer:function HorizontalDockContainer(){return k},PanelContainer:function PanelContainer(){return d},Point:function Point(){return o},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 x},TabPage:function TabPage(){return E},UndockInitiator:function UndockInitiator(){return a},Utils:function Utils(){return s},VerticalDockContainer:function VerticalDockContainer(){return M}}),function(e){e.horizontal="horizontal",e.vertical="vertical",e.fill="fill",e.panel="panel"}(e||(e={}));var o=_createClass(function o(e,t){_classCallCheck(this,o);this.x=e,this.y=t});var s=function(){function s(){_classCallCheck(this,s)}_createClass(s,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+s._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 s}();s._counter=0;var l=function(){function l(e,t,n,i){_classCallCheck(this,l);this.target=n,this.eventName=t,this.source=e,this.source.addEventListener(t,this.target,i)}_createClass(l,[{key:"cancel",value:function cancel(){this.source.removeEventListener(this.eventName,this.target)}}]);return l}();var a=function(){function a(e,t,n){_classCallCheck(this,a);n||(n=7),this.element=e,this._undockededCallback=t,this.thresholdPixels=n,this._enabled=!1}_createClass(a,[{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 l(this.element,"mousedown",this.onMouseDown.bind(this)),this.touchDownHandler=new l(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 l(window,"mouseup",this.onMouseUp.bind(this)),this.touchUpHandler=new l(window,"touchend",this.onMouseUp.bind(this)),this.mouseMoveHandler=new l(window,"mousemove",this.onMouseMove.bind(this)),this.touchMoveHandler=new l(window,"touchmove",this.onMouseMove.bind(this)),this.dragStartPosition=new o(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 o(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,l=this.dragStartPosition.y-t,_a=new o(s,l);this._undockededCallback(e,_a)}}]);return a}();!function(e){e.document="document",e.panel="panel"}(t||(t={}));var h={CloseDialog:"Close dialog",CloseAll:"Close all documents",CloseAllButThis:"Close all documents but this",DefaultPanelName:"Panel",NewBrowserWindow:"Open in new window"};var r=function(){function r(){_classCallCheck(this,r)}_createClass(r,null,[{key:"configure",value:function configure(e){r._getTemplateString=e}},{key:"getString",value:function getString(e){var n,i;for(var _len=arguments.length,t=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){t[_key-1]=arguments[_key]}return function(e){for(var _len2=arguments.length,t=new Array(_len2>1?_len2-1:0),_key2=1;_key2<_len2;_key2++){t[_key2-1]=arguments[_key2]}return e.replace(/{(\d+)}/g,function(e,n){var i=Number.parseInt(n);return t[i].toString()})}.apply(void 0,[null!==(i=null===(n=r._getTemplateString)||void 0===n?void 0:n.call(r,e))&&void 0!==i?i:h[e]].concat(t))}}]);return r}();var d=function(){function d(n,i,o,s,l){var _this=this;_classCallCheck(this,d);this.undockedToNewBrowserWindow=!1,o||(o=r.getString("DefaultPanelName")),s||(s=t.panel),this.panelType=s,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",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(e){try{_this.isDialog?_this._floatingDialog.bringToFront():_this.tabPage&&_this.tabPage.setSelected(!0,!0),_this.dockManager.activePanel=_this}catch(e){}},{passive:!0}),this.elementContentContainer.appendChild(n),i.config.dialogRootElement.appendChild(this.elementContentContainer),this.dockManager=i,this.title=o,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(){var e;this.name=s.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 t=this.elementContentContainer.clientWidth,n=this.elementContentContainer.clientHeight,i=this.elementTitle.clientHeight;this.elementContentWrapper=document.createElement("div"),this.elementContentWrapper.classList.add("panel-content-wrapper"),this._setPanelDimensions(t,n+i),this._hideCloseButton||(this.closeButtonClickedHandler=new l(this.elementButtonClose,"mousedown",this.onCloseButtonClicked.bind(this)),this.closeButtonTouchedHandler=new l(this.elementButtonClose,"touchstart",this.onCloseButtonClicked.bind(this))),s.removeNode(this.elementContentWrapper),this.elementContentHost.appendChild(this.elementContentWrapper);var o=this.elementContent.dataset.panelCaption,h=this.elementContent.dataset.panelIcon;o&&(this.title=o),h&&(this.icon=h),this._updateTitle(),this.undockInitiator=new a(this.elementTitle,this.performUndockToDialog.bind(this)),delete this.floatingDialog,this.mouseDownHandler=new l(this.elementPanel,"mousedown",this.onMouseDown.bind(this)),this.touchDownHandler=new l(this.elementPanel,"touchstart",this.onMouseDown.bind(this),{passive:!0}),this._resolvedElementContent=this.elementContent,this.elementContent instanceof HTMLSlotElement&&(this._resolvedElementContent=null===(e=this.elementContent.assignedElements())||void 0===e?void 0:e[0])}},{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),s.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:"resolvedElementContent",get:function get(){var e;return this._resolvedElementContent||(this._resolvedElementContent=this.elementContent,this.elementContent instanceof HTMLSlotElement&&(this._resolvedElementContent=null===(e=this.elementContent.assignedElements())||void 0===e?void 0:e[0])),this._resolvedElementContent}},{key:"panelDocked",value:function panelDocked(){this.elementContent.hidden&&(this.elementContent.hidden=!1),this.elementContentContainer.parentElement!==this.dockManager.config.dialogRootElement&&this.dockManager.config.dialogRootElement.appendChild(this.elementContentContainer)}},{key:"resize",value:function resize(e,t){this.panelDocked(),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(),o=this.dockManager.config.dialogRootElement.getBoundingClientRect();this.elementContentContainer.style.left=i.x-o.x+"px",this.elementContentContainer.style.top=i.y-o.y+"px",this.elementContentContainer.style.width=i.width+"px",this.elementContentContainer.style.height=i.height+"px"}},{key:"setDialogPosition",value:function setDialogPosition(e,t){this.elementContentContainer.style.left=e+"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:"undockToBrowserDialog",value:function undockToBrowserDialog(){var _this5=this;!function(e,t){var n=e.getBoundingClientRect(),i=n.x+24,o=n.y+60,s=n.width,l=n.height,a=window.open("about:blank",void 0,"popup=yes,left=".concat(i,",top=").concat(o,",width=").concat(s,",height=").concat(l));a.onfocus=function(e){return t.focused(e)},a.onblur=function(e){return t.blured(e)};var h=_toConsumableArray(document.head.querySelectorAll("link")).map(function(e){return e.cloneNode()});var _iterator=_createForOfIteratorHelper(h),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var _e=_step.value;a.document.head.appendChild(a.document.adoptNode(_e))}}catch(err){_iterator.e(err)}finally{_iterator.f()}var r=a.document.createElement("style");r.innerText="\n html {\n overflow: hidden;\n position: fixed;\n width: 100%;\n height: 100%;\n }\n body {\n height: 100%;\n width: 100%;\n margin: 0;\n }\n ",a.document.head.appendChild(r);var d=a.document.createElement("title");d.innerText=t.title,a.document.head.appendChild(d),a.onunload=function(){return t.newWindowClosedCallback()};var c=new Map,u=new Map;function m(e){if(e.shadowRoot){e.shadowRoot.adoptedStyleSheets.length>0&&u.set(e,_toConsumableArray(e.shadowRoot.adoptedStyleSheets.map(function(e){return function(e,t,n){var i=n.get(t);if(i)return i;var o="";var s=t.cssRules;for(var l=0;l<s.length;l++)o+=s[l].cssText+"\n";var a=new e.CSSStyleSheet;return n.set(t,a),a.replaceSync(o),a}(a,e,c)})));var _iterator2=_createForOfIteratorHelper(e.shadowRoot.querySelectorAll("*")),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var _t=_step2.value;m(_t)}}catch(err){_iterator2.e(err)}finally{_iterator2.f()}}}m(e);var _iterator3=_createForOfIteratorHelper(e.querySelectorAll("*")),_step3;try{for(_iterator3.s();!(_step3=_iterator3.n()).done;){var _t2=_step3.value;m(_t2)}}catch(err){_iterator3.e(err)}finally{_iterator3.f()}a.document.body.appendChild(a.document.adoptNode(e));var _iterator4=_createForOfIteratorHelper(u),_step4;try{for(_iterator4.s();!(_step4=_iterator4.n()).done;){var _e2=_step4.value;_e2[0].shadowRoot.adoptedStyleSheets=_e2[1]}}catch(err){_iterator4.e(err)}finally{_iterator4.f()}t.closeCallback()}(this.resolvedElementContent,{title:this.title,closeCallback:function closeCallback(){_this5.undockedToNewBrowserWindow=!0,_this5.closeInternal(!1)},newWindowClosedCallback:function newWindowClosedCallback(){_this5.undockedToNewBrowserWindow=!1,_this5.dockManager.notifyOnClosePanel(_this5)},focused:function focused(e){_this5.dockManager.activePanel=_this5},blured:function blured(e){_this5.dockManager.activePanel=null}})}},{key:"close",value:function(){var _close=_asyncToGenerator(_regeneratorRuntime().mark(function _callee(){return _regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:this.closeInternal(!0);case 1:case"end":return _context.stop()}},_callee,this)}));function close(){return _close.apply(this,arguments)}return close}()},{key:"closeInternal",value:function(){var _closeInternal=_asyncToGenerator(_regeneratorRuntime().mark(function _callee2(e){var t;return _regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:t=!0;_context2.t0=this.elementContentContainer.parentElement===this.dockManager.config.dialogRootElement;if(!_context2.t0){_context2.next=19;break}if(!e){_context2.next=17;break}if(!this.closePanelContainerCallback){_context2.next=10;break}_context2.next=7;return this.closePanelContainerCallback(this);case 7:t=_context2.sent;_context2.next=15;break;case 10:_context2.t1=this.dockManager.closePanelContainerCallback;if(!_context2.t1){_context2.next=15;break}_context2.next=14;return this.dockManager.closePanelContainerCallback(this);case 14:t=_context2.sent;case 15:_context2.next=18;break;case 17:t=!0;case 18:_context2.t0=t;case 19:if(!_context2.t0){_context2.next=21;break}if(this.dockManager.config.dialogRootElement.removeChild(this.elementContentContainer),this.isDialog)this.floatingDialog&&this.floatingDialog.close();else{try{this.dockManager.notifyOnClosePanel(this)}catch(e){console.error(e)}this.performClose()}case 21:case"end":return _context2.stop()}},_callee2,this)}));function closeInternal(_x){return _closeInternal.apply(this,arguments)}return closeInternal}()}],[{key:"loadFromState",value:function(){var _loadFromState=_asyncToGenerator(_regeneratorRuntime().mark(function _callee3(e,t){var n,i,_o,_t3,o;return _regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:if(!t.getElementCallback){_context3.next=7;break}_context3.next=3;return t.getElementCallback(e);case 3:_o=_context3.sent;n=_o.element,i=_o.title;_context3.next=9;break;case 7:_t3=e.element;n=document.getElementById(_t3);case 9:if(!(null===n)){_context3.next=11;break}return _context3.abrupt("return",null);case 11:o=new d(n,t,i);return _context3.abrupt("return",(o.loadState(e),o));case 13:case"end":return _context3.stop()}},_callee3)}));function loadFromState(_x2,_x3){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 l(i,"mousedown",this.onMouseDown.bind(this)),this.touchDownHandler=new l(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 _this6=this;if(2!=e.button&&(e.preventDefault&&e.preventDefault(),this._startDragging(e),this.previousMousePosition={x:e.clientX,y:e.clientY},this.mouseMoveHandler&&(this.mouseMoveHandler.cancel(),delete this.mouseMoveHandler),this.mouseUpHandler&&(this.mouseUpHandler.cancel(),delete this.mouseUpHandler),this.mouseMoveHandler=new l(window,"pointermove",this.onMouseMove.bind(this)),this.mouseUpHandler=new l(window,"pointerup",this.onMouseUp.bind(this)),this.dockManager.iframes)){var _iterator5=_createForOfIteratorHelper(this.dockManager.iframes),_step5;try{var _loop=function _loop(){var e=_step5.value;var t=_this6.onMouseMovedIframe.bind(_this6);_this6.iframeEventHandlers.push(new l(e.contentWindow,"pointermove",function(n){return t(n,e)})),_this6.iframeEventHandlers.push(new l(e.contentWindow,"pointerup",_this6.onMouseUp.bind(_this6)))};for(_iterator5.s();!(_step5=_iterator5.n()).done;){_loop()}}catch(err){_iterator5.e(err)}finally{_iterator5.f()}}}},{key:"onMouseUp",value:function onMouseUp(e){this._stopDragging(e),this.mouseMoveHandler.cancel(),delete this.mouseMoveHandler,this.mouseUpHandler.cancel(),delete this.mouseUpHandler;var _iterator6=_createForOfIteratorHelper(this.iframeEventHandlers),_step6;try{for(_iterator6.s();!(_step6=_iterator6.n()).done;){var _e3=_step6.value;_e3.cancel()}}catch(err){_iterator6.e(err)}finally{_iterator6.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),s.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),s.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=new o(e.clientX,e.clientY);t&&(n=new o(e.clientX+t.x,e.clientY+t.y));var i=this.dockManager.checkXBounds(this.topLevelElement,n,this.previousMousePosition,!1,!1),s=this.dockManager.checkYBounds(this.topLevelElement,n,this.previousMousePosition,!1,!1);this._performDrag(i,s),this.previousMousePosition=n}},{key:"_performDrag",value:function _performDrag(e,t){var n=e+s.getPixels(this.topLevelElement.style.left),i=t+s.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 _this7=this;var o=new u;o.east=e,o.west=t,o.north=n,o.south=i,o.element=document.createElement("div"),this.topLevelElement.appendChild(o.element);var s="",a="";n&&(s="n"),i&&(s="s"),e&&(a="e"),t&&(a="w");var h="resize-handle-"+s+a;s.length>0&&a.length>0&&(o.corner=!0),o.element.classList.add(o.corner?"resize-handle-corner":"resize-handle"),o.element.classList.add(h),this.resizeHandles.push(o),o.mouseDownHandler=new l(o.element,"mousedown",function(e){_this7.onMouseDown(o,e)}),o.touchDownHandler=new l(o.element,"touchstart",function(e){_this7.onMouseDown(o,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 o(i.clientX,i.clientY);n&&(s=new o(i.clientX+n.x,i.clientY+n.y));var l=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,l,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 _this8=this;var n=null;if(t.touches){if(t.touches.length>1)return;n=t.touches[0]}else n=t;this.previousMousePosition=new o(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 _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()}if(this.iframeEventHandlers=[],e.mouseMoveHandler=new l(window,"mousemove",function(t){_this8.onMouseMoved(e,t)}),e.touchMoveHandler=new l(window,"touchmove",function(t){_this8.onMouseMoved(e,t)}),e.mouseUpHandler=new l(window,"mouseup",function(t){_this8.onMouseUp(e)}),e.touchUpHandler=new l(window,"touchend",function(t){_this8.onMouseUp(e)}),this.dockManager.iframes){var _iterator8=_createForOfIteratorHelper(this.dockManager.iframes),_step8;try{var _loop2=function _loop2(){var t=_step8.value;var n=_this8.onMouseMovedIframe.bind(_this8);_this8.iframeEventHandlers.push(new l(t.contentWindow,"mousemove",function(i){return n(e,i,t)})),_this8.iframeEventHandlers.push(new l(t.contentWindow,"mouseup",function(t){return _this8.onMouseUp(e)})),_this8.iframeEventHandlers.push(new l(t.contentWindow,"touchmove",function(i){return n(e,i,t)})),_this8.iframeEventHandlers.push(new l(t.contentWindow,"touchend",function(t){return _this8.onMouseUp(e)}))};for(_iterator8.s();!(_step8=_iterator8.n()).done;){_loop2()}}catch(err){_iterator8.e(err)}finally{_iterator8.f()}}s.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 _iterator9=_createForOfIteratorHelper(this.iframeEventHandlers),_step9;try{for(_iterator9.s();!(_step9=_iterator9.n()).done;){var _e5=_step9.value;_e5.cancel()}}catch(err){_iterator9.e(err)}finally{_iterator9.f()}this.iframeEventHandlers=[],s.enableGlobalTextSelection(this.dockManager.config.dialogRootElement)}},{key:"_performDrag",value:function _performDrag(e,t,n){var i={};i.left=s.getPixels(this.topLevelElement.style.left),i.top=s.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,o){o.left+=e,o.top+=t,o.width+=n,o.height+=i,o.width=Math.max(o.width,50),o.height=Math.max(o.height,50),this.topLevelElement.style.left=o.left+"px",this.topLevelElement.style.top=o.top+"px",this.resize(o.width,o.height)}}]);return m}();var p=function(){function p(e,t,n,i){_classCallCheck(this,p);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(p,[{key:"saveState",value:function saveState(e,t){this.position=new o(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 l(this.elementDialog,"focus",this.onFocus.bind(this),!0),this.mouseDownHandler=new l(this.elementDialog,"pointerdown",this.onMouseDown.bind(this),!0),this.keyPressHandler=new l(this.elementDialog,"keypress",this.dockManager.onKeyPressBound,!0),this.contextmenuHandler=new l(this.panel.elementTitle,"contextmenu",this.oncontextMenuClicked.bind(this)),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 o(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 o(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(e){2!=e.button&&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.keyPressHandler&&(this.keyPressHandler.cancel(),delete this.keyPressHandler),this.contextmenuHandler&&(this.contextmenuHandler.cancel(),delete this.contextmenuHandler),s.removeNode(this.elementDialog),this.draggable.removeDecorator(),s.removeNode(this.panel.elementPanel),s.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:"oncontextMenuClicked",value:function oncontextMenuClicked(e){e.preventDefault(),!this._ctxMenu&&p.createContextMenuContentCallback?(this._ctxMenu=document.createElement("div"),this._ctxMenu.className="dockspab-tab-handle-context-menu",!1!==p.createContextMenuContentCallback(this,this._ctxMenu,this.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("pointerup",this._windowsContextMenuCloseBound)):this._ctxMenu=null):this.closeContextMenu()}},{key:"closeContextMenu",value:function closeContextMenu(){this._ctxMenu&&(document.body.removeChild(this._ctxMenu),delete this._ctxMenu,window.removeEventListener("pointerup",this._windowsContextMenuCloseBound))}},{key:"windowsContextMenuClose",value:function windowsContextMenuClose(e){var t=e.composedPath();for(var _e6 in t)if(t[_e6]==this._ctxMenu)return;this.closeContextMenu()}}],[{key:"fromElement",value:function fromElement(e,t){return new p(new d(document.getElementById(e),t),t,null)}}]);return p}();p.createContextMenuContentCallback=function(e,t,n){if(e.panel._hideCloseButton)return!1;{var _n2=document.createElement("div");_n2.innerText=r.getString("CloseDialog"),t.append(_n2),_n2.onclick=function(){e.panel.close(),e.closeContextMenu()};var i=document.createElement("div");return i.innerText=r.getString("NewBrowserWindow"),t.append(i),i.onclick=function(){e.panel.undockToBrowserDialog(),e.closeContextMenu()},!0}};var g=_createClass(function g(){_classCallCheck(this,g);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 _this9=this;var t={};e.container.saveState(t);var n=[];return e.children.forEach(function(e){n.push(_this9._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 o={containerType:i.containerType,state:n,position:e.getPosition(),isHidden:e.isHidden};t.push(o)}),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),o=this.children.slice(0,i),s=this.children.slice(i+1,this.children.length);this.children=o.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,s)}},{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 _n3=0;_n3<e;_n3++)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.pointerDownHandler=new l(this.barElement,"pointerdown",this.onPointerDown.bind(this)),this.minPanelSize=50,this.readyToProcessNextDrag=!0,this.dockSpawnResizedEvent=new CustomEvent("DockSpawnResizedEvent",{composed:!0,bubbles:!0}),this.iframeEventHandlers=[]}_createClass(C,[{key:"onPointerDown",value:function onPointerDown(e){this.barElement.setPointerCapture(e.pointerId),this._startDragging(e)}},{key:"onPointerUp",value:function onPointerUp(e){this.barElement.releasePointerCapture(e.pointerId),this._stopDragging()}},{key:"onPointerMovedIframe",value:function onPointerMovedIframe(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:"onPointerMoved",value:function onPointerMoved(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,o=this.nextContainer.containerElement.clientWidth,s=this.nextContainer.containerElement.clientHeight,l=this.stackedVertical?i:n,a=this.stackedVertical?s:o,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(o,d)):h<0?(this.previousContainer.resize(r,i),this.nextContainer.resize(d,s)):(this.nextContainer.resize(d,s),this.previousContainer.resize(r,i),this.nextContainer.resize(d,s)),document.dispatchEvent(this.dockSpawnResizedEvent))}},{key:"_startDragging",value:function _startDragging(e){var _this10=this;if(s.disableGlobalTextSelection(this.previousContainer.dockManager.config.dialogRootElement),this.pointerMovedHandler&&(this.pointerMovedHandler.cancel(),delete this.pointerMovedHandler),this.pointerUpHandler&&(this.pointerUpHandler.cancel(),delete this.pointerUpHandler),this.pointerMovedHandler=new l(window,"pointermove",this.onPointerMoved.bind(this)),this.pointerUpHandler=new l(window,"pointerup",this.onPointerUp.bind(this)),this.previousContainer.dockManager.iframes){var _iterator10=_createForOfIteratorHelper(this.previousContainer.dockManager.iframes),_step10;try{var _loop3=function _loop3(){var e=_step10.value;var t=_this10.onPointerMovedIframe.bind(_this10);_this10.iframeEventHandlers.push(new l(e.contentWindow,"pointermove",function(n){return t(n,e)})),_this10.iframeEventHandlers.push(new l(e.contentWindow,"pointerup",_this10.onPointerUp.bind(_this10)))};for(_iterator10.s();!(_step10=_iterator10.n()).done;){_loop3()}}catch(err){_iterator10.e(err)}finally{_iterator10.f()}}this.previousMouseEvent={x:e.clientX,y:e.clientY}}},{key:"_stopDragging",value:function _stopDragging(){s.enableGlobalTextSelection(this.previousContainer.dockManager.config.dialogRootElement),this.pointerMovedHandler&&(this.pointerMovedHandler.cancel(),delete this.pointerMovedHandler),this.pointerUpHandler&&(this.pointerUpHandler.cancel(),delete this.pointerUpHandler);var _iterator11=_createForOfIteratorHelper(this.iframeEventHandlers),_step11;try{for(_iterator11.s();!(_step11=_iterator11.n()).done;){var _e7=_step11.value;_e7.cancel()}}catch(err){_iterator11.e(err)}finally{_iterator11.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 _t4=0;_t4<this.childContainers.length-1;_t4++){var n=this.childContainers[_t4],i=this.childContainers[_t4+1],_o2=new C(n,i,this.stackedVertical);this.spiltterBars.push(_o2),Array.from(this.panelElement.children).includes(n.containerElement)||this._insertContainerIntoPanel(n,e),this.panelElement.insertBefore(_o2.barElement,n.containerElement.nextSibling),e=_o2.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){s.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"),s.removeNode(t.containerElement))}),this.spiltterBars.forEach(function(e){s.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"),s.removeNode(e.containerElement))}),this.spiltterBars.forEach(function(e){s.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&&(s.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,o=(n-i-(this.stackedVertical?this.spiltterBars[0].barElement.clientHeight:this.spiltterBars[0].barElement.clientWidth)*this.spiltterBars.length)/n;for(var _t5=0;_t5<this.childContainers.length;_t5++){var _n4=void 0,_s=this.childContainers[_t5];_s!==e?(_n4=this.stackedVertical?_s.containerElement.parentElement.clientHeight:_s.containerElement.parentElement.clientWidth,_n4*=o):_n4=i,this.stackedVertical?_s.resize(_s.width,Math.floor(_n4)):_s.resize(Math.floor(_n4),_s.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 _e8=0;_e8<this.childContainers.length;_e8++){var i=this.childContainers[_e8],_o3=this.stackedVertical?i.containerElement.clientHeight:i.containerElement.clientWidth;n.push(_o3/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 _t6=0;_t6<this.childContainers.length;_t6++){var i=this.childContainers[_t6],_o4=n*e[_t6];this.stackedVertical?i.resize(i.width,Math.floor(_o4)):i.resize(Math.floor(_o4),i.height)}}},{key:"resize",value:function resize(e,t){var _this11=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 _i2=this.childContainers[n];if(this.stackedVertical?_i2.resize(e,_i2.height?_i2.height:t):_i2.resize(_i2.width?_i2.width:e,t),n<this.spiltterBars.length){var _i3=this.spiltterBars[n];this.stackedVertical?_i3.barElement.style.width=e+"px":_i3.barElement.style.height=t+"px"}}var i=0;this.childContainers.forEach(function(e){var t=_this11.stackedVertical?e.height:e.width;i+=t});var o=this.spiltterBars[0].barElement.getBoundingClientRect();var s=this.stackedVertical?o.height:o.width,l=this.stackedVertical?t:e;l-=s*this.spiltterBars.length,i=Math.max(i,1);var a=l/i,h=0;for(n=0;n<this.childContainers.length;n++){var _e9=this.childContainers[n];"none"==_e9.containerElement.style.display&&(_e9.containerElement.style.display="block");var _t7=this.stackedVertical?_e9.containerElement.clientHeight:_e9.containerElement.clientWidth,_i4=a>1?Math.floor(_t7*a):Math.ceil(_t7*a);h+=_i4,n===this.childContainers.length-1&&(_i4+=l-h),this.stackedVertical?_e9.resize(_e9.width,_i4):_e9.resize(_i4,_e9.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);function k(t,n){var _this12;_classCallCheck(this,k);_this12=_callSuper(this,k,[s.getNextId("horizontal_splitter_"),t,n,!1]),_this12.containerType=e.horizontal;return _this12}return _createClass(k)}(y);var M=function(_y2){_inherits(M,_y2);function M(t,n){var _this13;_classCallCheck(this,M);_this13=_callSuper(this,M,[s.getNextId("vertical_splitter_"),t,n,!0]),_this13.containerType=e.vertical;return _this13}return _createClass(M)}(y);var b=function(){function b(e){var _this14=this;_classCallCheck(this,b);this.parent=e;var n=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 i=e.container,o=i.getRawTitle();this.undockListener={onDockEnabled:function onDockEnabled(e){_this14.undockEnabled(e.state)},onHideCloseButton:function onHideCloseButton(e){_this14.hideCloseButton(e.state)}},this.eventListeners=[],i.addListener(this.undockListener),this.elementText.innerHTML=o,this.elementText.title=this.elementText.innerText,this.undockInitiator=new a(this.elementBase,n),this.undockInitiator.enabled=!0,this.mouseDownHandler=new l(this.elementBase,"mousedown",this.onMouseDown.bind(this)),this.touchDownHandler=new l(this.elementBase,"touchstart",this.onMouseDown.bind(this),{passive:!1}),this.closeButtonHandler=new l(this.elementCloseButton,"click",this.onCloseButtonClicked.bind(this)),this.closeButtonTouchHandler=new l(this.elementCloseButton,"touchstart",this.onCloseButtonClicked.bind(this)),this.auxClickHandler=new l(this.elementBase,"auxclick",this.onCloseButtonClicked.bind(this)),i.panelType==t.document&&(this.contextMenuHandler=new l(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 _e10 in t)if(t[_e10]==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 l(window,"mousemove",this.onMouseMove.bind(this)),this.touchMoveHandler=new l(window,"touchmove",this.onMouseMove.bind(this),{passive:!1}),this.mouseUpHandler=new l(window,"mouseup",this.onMouseUp.bind(this)),this.touchUpHandler=new l(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 _t8=this.elementBase.getBoundingClientRect(),n=this.direction<0?{state:"left",bound:_t8.left,rect:_t8}:{state:"right",bound:_t8.right,rect:_t8};(e.clientX<_t8.left&&this.direction<0||e.clientX>_t8.left+_t8.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 _e11=this.parent.container.getRawTitle();this.elementText.innerHTML=_e11}}},{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&&(s.removeNode(this.elementBase),delete this.elementBase),this.elementCloseButton&&(s.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 o=document.createElement("div");o.innerText=r.getString("CloseAll"),n.append(o),o.onclick=function(){for(var _e12=i.length-1;_e12>=0;_e12--){var _n5=i[_e12].container;_n5.panelType==t.document&&_n5.close()}e.closeContextMenu()};var s=document.createElement("div");s.innerText=r.getString("CloseAllButThis"),n.append(s),s.onclick=function(){for(var _n6=i.length-1;_n6>=0;_n6--){var _o5=i[_n6].container;e.parent.container!=_o5&&_o5.panelType==t.document&&_o5.close()}e.closeContextMenu()};var l=document.createElement("div");l.innerText=r.getString("NewBrowserWindow"),n.append(l),l.onclick=function(){e.parent.container.undockToBrowserDialog(),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,s.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 _e13=this.host.contentElement.clientWidth,n=this.host.contentElement.clientHeight;this.container.resize(_e13,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}();var D,H;!function(e){e[e.TOP=0]="TOP",e[e.BOTTOM=1]="BOTTOM",e[e.LEFT=2]="LEFT",e[e.RIGHT=3]="RIGHT"}(D||(D={}));var x=function(){function x(e,t,n){var _this15=this;_classCallCheck(this,x);if(void 0===t&&(t=D.BOTTOM),void 0===n&&(n=!1),this.dockManager=e,this.tabStripDirection=t,this.displayCloseButton=n,this.pages=[],this.eventListeners=[],this.tabHandleListener={onMoveTab:function onMoveTab(e){_this15.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===D.BOTTOM)this.hostElement.appendChild(this.contentElement),this.hostElement.appendChild(this.separatorElement),this.hostElement.appendChild(this.tabListElement);else{if(this.tabStripDirection!==D.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 l(this.contentElement,"focus",this.onFocus.bind(this),!0),this.mouseDownHandler=new l(this.contentElement,"mousedown",this.onMousedown.bind(this),!0)}_createClass(x,[{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=s.orderByIndexes(this.pages,e);var t=this.tabListElement.childNodes,n=[];for(var _e14 in t)1===t[_e14].nodeType&&n.push(t[_e14]);n=s.orderByIndexes(n,e);for(var _e15=0;_e15<n.length;++_e15)this.tabListElement.appendChild(n[_e15]);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(o){o.onChange&&o.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 _this16=this;this.hostElement.style.width=e+"px",this.hostElement.style.height=t+"px";var n=this.tabListElement.clientHeight;this._resizeRequested||requestAnimationFrame(function(){return _this16.resizeTabListElement(e,t)}),this._resizeRequested=!0;var i=this.separatorElement.clientHeight,o=t-n-i;this.contentElement.style.height=o+"px",this.activeTab&&this.activeTab.resize(e,o)}},{key:"resizeTabListElement",value:function resizeTabListElement(e,t){var _this17=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,o=i*n.elementBase.clientWidth;t===_this17.pages.length-1&&(o-=5),n.elementBase.style.width=o+"px"})}},{key:"performLayout",value:function performLayout(e){var _this18=this;this.pages.forEach(function(t){if(!e.some(function(e){return e==t.container})){t.handle.removeListener(_this18.tabHandleListener),t.destroy();var _e16=_this18.pages.indexOf(t);_e16>-1&&_this18.pages.splice(_e16,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;_this18.pages.some(function(t){return t.container==e&&(n=t,!0)})||(n=_this18.createTabPage(_this18,e),n.handle.addListener(_this18.tabHandleListener),_this18.pages.push(n)),t&&n.container===t.container&&(_this18.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 x}();var _=function(){function _(t,n){var _this19=this;_classCallCheck(this,_);void 0===n&&(n=D.BOTTOM),this.dockManager=t,this.tabOrientation=n,this.name=s.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 x(t,this.tabOrientation),this.tabHostListener={onChange:function onChange(e){_this19.dockManager._requestTabReorder(_this19,e)}},this.tabHost.addListener(this.tabHostListener),this.element.appendChild(this.tabHost.hostElement)}_createClass(_,[{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(){this.tabHost.pages.forEach(function(e){return e.destroy()}),s.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 _}();var T=function(){function T(e){_classCallCheck(this,T);this._forceResizeCompositeContainer=function(e){var t=e.containerElement.clientWidth,n=e.containerElement.clientHeight;e.resize(t,n)},this.dockManager=e}_createClass(T,[{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 _e17=t.parent;for(var _n7=0;_n7<t.children.length;_n7++){var i=t.children[_n7];if(_e17){_e17.addChildAfter(t,i),t.detachFromParent();var _n8=t.container.containerElement.clientWidth,_o6=t.container.containerElement.clientHeight;t.container.destroy(),i.container.resize(_n8,_o6),_e17.performLayout(!1)}else t.detachFromParent(),t.container.destroy(),this.dockManager.setRootNode(i)}}else if(t.performLayout(!1),t.children.length>0){var _e18=t.children[Math.max(0,n-1)];t.container.setActiveChild(_e18.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 _e19=t.parent;for(var _n9=0;_n9<t.children.length;_n9++){var _i5=t.children[_n9];if(_e19){_e19.addChildAfter(t,_i5),t.detachFromParent();var _n10=t.container.containerElement.clientWidth,_o7=t.container.containerElement.clientHeight;_i5.container.resize(_n10,_o7),t.container.destroy(),_e19.performLayout(!1)}else t.detachFromParent(),t.container.destroy(),this.dockManager.setRootNode(_i5)}}else if(t.performLayout(!1),n){var _e20=t.children[Math.max(0,i-1)];null!=_e20&&t.container.setActiveChild(_e20.container)}this.dockManager.invalidate(),this.dockManager.notifyOnUnDock(e)}},{key:"reorderTabs",value:function reorderTabs(e,t,n,i){var o=e.children.length,l="left"===n?i:i+1;if("right"==n&&l>=e.children.length)return;if("left"==n&&0==l)return;var a=Array.apply(null,{length:o}).map(Number.call,Number),h=a.splice(l,1)[0];a.splice("left"===n?i-1:i,0,h),e.children=s.orderByIndexes(e.children,a),e.container.tabHost.performTabsLayout(a),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 o,l,a;if(e===this.dockManager.context.model.rootNode)return i?(o=this._createDockContainer(n,t,e),l=new f(o),l.addChild(t),l.addChild(e)):(o=this._createDockContainer(n,e,t),l=new f(o),l.addChild(e),l.addChild(t)),this.dockManager.setRootNode(l),this.dockManager.rebuildLayout(this.dockManager.context.model.rootNode),l.container.setActiveChild(t.container),this.dockManager.invalidate(),void this.dockManager.notifyOnDock(t);if(e.parent.container.containerType!==n){a=e.parent;var _h=e.container.containerElement.clientWidth,_r=e.container.containerElement.clientHeight,_d=a.container.containerElement.clientWidth,_c=a.container.containerElement.clientHeight;o=this._createDockContainer(n,t,e),l=new f(o),a.addChildAfter(e,l),e.detachFromParent(),s.removeNode(e.container.containerElement),i?(l.addChild(t),l.addChild(e)):(l.addChild(e),l.addChild(t)),a.performLayout(!1),l.performLayout(!0),l.container.setActiveChild(t.container),l.container.resize(_h,_r),a.container.resize(_d,_c)}else a=e.parent,i?a.addChildBefore(e,t):a.addChildAfter(e,t),a.performLayout(!1),a.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 _(this.dockManager);throw new Error("Failed to create dock container of type: "+e)}},{key:"getDockBounds",value:function getDockBounds(e,t,n,i){var o,s,l,a;if("fill"===n){var _t9=e.container.containerElement,_n11=this.dockManager.element.getBoundingClientRect(),_i6=_t9.getBoundingClientRect();return{x:_i6.left-_n11.left,y:_i6.top-_n11.top,width:_t9.clientWidth,height:_t9.clientHeight}}e.parent&&"fill"===e.parent.container.containerType&&(e=e.parent);var h=!1;e.parent&&e.parent.container.containerType===n?(o=e.parent,s=o.children.length,l=o.children.indexOf(e)+(i?0:1)):(o=e,s=1,l=i?0:1,h=!0);var r=0,d=0;if("vertical"===n||"horizontal"===n){var _e21=this._getVaringDimension(o.container,n)-5*(s-1),_a2=this._getVaringDimension(t,n),_c2=_e21/(_e21+_a2);if(r=_a2*_c2,h)d=i?0:_e21*_c2;else{for(var _e22=0;_e22<l;_e22++)d+=this._getVaringDimension(o.children[_e22].container,n);d*=_c2}}a={};var c=this.dockManager.element.getBoundingClientRect(),u=o.container.containerElement.getBoundingClientRect();return"vertical"===n?(a.x=u.left-c.left,a.y=u.top-c.top+d,a.width=o.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=o.container.height),a}},{key:"_getVaringDimension",value:function _getVaringDimension(e,t){return"vertical"===t?e.height:"horizontal"===t?e.width:0}}]);return T}();var P=function(){function P(e,t){_classCallCheck(this,P);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 l(this.element,"pointerover",this.onMouseMoved.bind(this)),this.mouseOutHandler=new l(this.element,"pointerout",this.onMouseOut.bind(this)),this.active=!1}_createClass(P,[{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 P}();!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"}(H||(H={}));var L=function(){function L(e){_classCallCheck(this,L);this.dockManager=e,this.elementMainWheel=document.createElement("div"),this.elementSideWheel=document.createElement("div"),this.wheelItems={};for(var _e23 in H)this.wheelItems[_e23]=new P(this,_e23),"-s"===_e23.substr(-2,2)?this.elementSideWheel.appendChild(this.wheelItems[_e23].element):this.elementMainWheel.appendChild(this.wheelItems[_e23].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(L,[{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 s.removeNode(this.elementMainWheel),void s.removeNode(this.elementSideWheel);var e=this.activeNode.container.containerElement,t=e.clientWidth,n=e.clientHeight,i=Math.floor(t/2),o=Math.floor(n/2),l=e.getBoundingClientRect(),a=this.dockManager.element.getBoundingClientRect();this.elementMainWheel.style.left=l.left-a.left+i+"px",this.elementMainWheel.style.top=l.top-a.top+o+"px";var h=this.dockManager.element.clientWidth,r=this.dockManager.element.clientHeight;s.removeNode(this.elementMainWheel),s.removeNode(this.elementSideWheel),this.dockManager.element.appendChild(this.elementMainWheel),this.dockManager.element.appendChild(this.elementSideWheel),this._setWheelButtonPosition(H["left-s"],20,-r/2),this._setWheelButtonPosition(H["right-s"],h-40,-r/2),this._setWheelButtonPosition(H["top-s"],h/2,20-r),this._setWheelButtonPosition(H["down-s"],h/2,-20)}},{key:"_setWheelButtonPosition",value:function _setWheelButtonPosition(e,t,n){var i=this.wheelItems[e],o=i.element.clientWidth/2,s=i.element.clientHeight/2,l=Math.floor(t-o),a=Math.floor(n-s);i.element.style.marginLeft=l+"px",i.element.style.marginTop=a+"px"}},{key:"hideWheel",value:function hideWheel(){this._visible=!1,this.activeNode=void 0,s.removeNode(this.elementMainWheel),s.removeNode(this.elementSideWheel),s.removeNode(this.elementPanelPreview);for(var _e24 in this.wheelItems)this.wheelItems[_e24].active=!1}},{key:"onMouseOver",value:function onMouseOver(e){if(!this.activeDialog)return;var t,n=this.dockManager.context.model.rootNode;e.id===H.top?t=this.dockManager.layoutEngine.getDockBounds(this.activeNode,this.activeDialog.panel,"vertical",!0):e.id===H.down?t=this.dockManager.layoutEngine.getDockBounds(this.activeNode,this.activeDialog.panel,"vertical",!1):e.id===H.left?t=this.dockManager.layoutEngine.getDockBounds(this.activeNode,this.activeDialog.panel,"horizontal",!0):e.id===H.right?t=this.dockManager.layoutEngine.getDockBounds(this.activeNode,this.activeDialog.panel,"horizontal",!1):e.id===H.fill?t=this.dockManager.layoutEngine.getDockBounds(this.activeNode,this.activeDialog.panel,"fill",!1):e.id===H["top-s"]?t=this.dockManager.layoutEngine.getDockBounds(n,this.activeDialog.panel,"vertical",!0):e.id===H["down-s"]?t=this.dockManager.layoutEngine.getDockBounds(n,this.activeDialog.panel,"vertical",!1):e.id===H["left-s"]?t=this.dockManager.layoutEngine.getDockBounds(n,this.activeDialog.panel,"horizontal",!0):e.id===H["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(){s.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 _e25 in this.wheelItems){var _t10=this.wheelItems[_e25];if(_t10.active)return _t10}}},{key:"_handleDockRequest",value:function _handleDockRequest(e,t){e.active=!1,e.element.classList.remove(e.hoverIconClass),this.activeNode&&(e.id===H.left?this.dockManager.dockDialogLeft(this.activeNode,t):e.id===H.right?this.dockManager.dockDialogRight(this.activeNode,t):e.id===H.top?this.dockManager.dockDialogUp(this.activeNode,t):e.id===H.down?this.dockManager.dockDialogDown(this.activeNode,t):e.id===H.fill?this.dockManager.dockDialogFill(this.activeNode,t):e.id===H["left-s"]?this.dockManager.dockDialogLeft(this.dockManager.context.model.rootNode,t):e.id===H["right-s"]?this.dockManager.dockDialogRight(this.dockManager.context.model.rootNode,t):e.id===H["top-s"]?this.dockManager.dockDialogUp(this.dockManager.context.model.rootNode,t):e.id===H["down-s"]&&this.dockManager.dockDialogDown(this.dockManager.context.model.rootNode,t))}}]);return L}();var B=_createClass(function B(){_classCallCheck(this,B);this.rootNode=this.documentManagerNode=void 0});var z=function(_E){_inherits(z,_E);function z(e,t){var _this20;_classCallCheck(this,z);_this20=_callSuper(this,z,[e,t]),"panel"===_this20.container.containerType&&(_this20.panel=t,_this20.containerElement=_this20.panel.elementContentWrapper,s.removeNode(_this20.containerElement));return _this20}_createClass(z,[{key:"destroy",value:function destroy(){_get(_getPrototypeOf(z.prototype),"destroy",this).call(this),this.panel.elementContentHost.appendChild(this.containerElement)}}]);return z}(E);var N=function(_ref){_inherits(N,_ref);function N(e){var _this21;_classCallCheck(this,N);_this21=_callSuper(this,N,[e,D.TOP]),_this21.minimumAllowedChildNodes=0,_this21.element.classList.add("document-manager"),_this21.tabHost.createTabPage=_this21._createDocumentTabPage,_this21.tabHost.displayCloseButton=!0;return _this21}_createClass(N,[{key:"_createDocumentTabPage",value:function _createDocumentTabPage(e,t){return new z(e,t)}},{key:"saveState",value:function saveState(e){_get(_getPrototypeOf(N.prototype),"saveState",this).call(this,e),e.documentManager=!0}},{key:"selectedTab",value:function selectedTab(){return this.tabHost.activeTab}}]);return N}(_);var S=_createClass(function S(e){_classCallCheck(this,S);this.dockManager=e,this.model=new B,this.documentManagerView=new N(this.dockManager)});var W=function(){function W(e){_classCallCheck(this,W);this.dockManager=e}_createClass(W,[{key:"deserialize",value:function(){var _deserialize=_asyncToGenerator(_regeneratorRuntime().mark(function _callee4(e){var t,n;return _regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:t=JSON.parse(e),n=new B;_context4.next=3;return this._buildGraph(t.graphInfo);case 3:n.rootNode=_context4.sent;_context4.next=6;return this._buildDialogs(t.dialogsInfo);case 6:n.dialogs=_context4.sent;n.documentManagerNode=this.documentManagerNode;return _context4.abrupt("return",n);case 9:case"end":return _context4.stop()}},_callee4,this)}));function deserialize(_x4){return _deserialize.apply(this,arguments)}return deserialize}()},{key:"_buildGraph",value:function(){var _buildGraph2=_asyncToGenerator(_regeneratorRuntime().mark(function _callee5(e){var t,n,_iterator12,_step12,_e26,_t11,i,o,_iterator13,_step13,_e27;return _regeneratorRuntime().wrap(function _callee5$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:t=e.children,n=[];_iterator12=_createForOfIteratorHelper(t);_context5.prev=2;_iterator12.s();case 4:if((_step12=_iterator12.n()).done){_context5.next=12;break}_e26=_step12.value;_context5.next=8;return this._buildGraph(_e26);case 8:_t11=_context5.sent;null!==_t11&&n.push(_t11);case 10:_context5.next=4;break;case 12:_context5.next=17;break;case 14:_context5.prev=14;_context5.t0=_context5["catch"](2);_iterator12.e(_context5.t0);case 17:_context5.prev=17;_iterator12.f();return _context5.finish(17);case 20:_context5.next=22;return this._createContainer(e,n);case 22:i=_context5.sent;if(!(null===i)){_context5.next=25;break}return _context5.abrupt("return",null);case 25:o=new f(i);i instanceof N&&(this.documentManagerNode=o),o.children=n;_iterator13=_createForOfIteratorHelper(o.children.reverse());try{for(_iterator13.s();!(_step13=_iterator13.n()).done;){_e27=_step13.value;_e27.parent=o}}catch(err){_iterator13.e(err)}finally{_iterator13.f()}return _context5.abrupt("return",(o.children.reverse(),o));case 30:case"end":return _context5.stop()}},_callee5,this,[[2,14,17,20]])}));function _buildGraph(_x5){return _buildGraph2.apply(this,arguments)}return _buildGraph}()},{key:"_createContainer",value:function(){var _createContainer2=_asyncToGenerator(_regeneratorRuntime().mark(function _callee6(e,t){var n,i,o,l,_iterator14,_step14,_e28;return _regeneratorRuntime().wrap(function _callee6$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:i=e.containerType,o=e.state,l=[];_iterator14=_createForOfIteratorHelper(t);try{for(_iterator14.s();!(_step14=_iterator14.n()).done;){_e28=_step14.value;l.push(_e28.container)}}catch(err){_iterator14.e(err)}finally{_iterator14.f()}if(!("panel"===i)){_context6.next=12;break}_context6.next=6;return d.loadFromState(o,this.dockManager);case 6:n=_context6.sent;if(n.prepareForDocking){_context6.next=9;break}return _context6.abrupt("return",null);case 9:n.prepareForDocking(),s.removeNode(n.elementPanel);_context6.next=23;break;case 12:if(!("horizontal"===i)){_context6.next=16;break}n=new k(this.dockManager,l);_context6.next=23;break;case 16:if(!("vertical"===i)){_context6.next=20;break}n=new M(this.dockManager,l);_context6.next=23;break;case 20:if(!("fill"!==i)){_context6.next=22;break}throw new Error("Cannot create dock container of unknown type: "+i);case 22:n=o.documentManager?new N(this.dockManager):new _(this.dockManager);case 23:return _context6.abrupt("return",(n.loadState(o),n));case 24:case"end":return _context6.stop()}},_callee6,this)}));function _createContainer(_x6,_x7){return _createContainer2.apply(this,arguments)}return _createContainer}()},{key:"_buildDialogs",value:function(){var _buildDialogs2=_asyncToGenerator(_regeneratorRuntime().mark(function _callee7(e){var t,_iterator15,_step15,n,_e29,i,_o8,_i7;return _regeneratorRuntime().wrap(function _callee7$(_context7){while(1)switch(_context7.prev=_context7.next){case 0:t=[];_iterator15=_createForOfIteratorHelper(e);_context7.prev=2;_iterator15.s();case 4:if((_step15=_iterator15.n()).done){_context7.next=19;break}n=_step15.value;_e29=void 0,i=n.containerType,_o8=n.state;_context7.t0="panel"===i;if(!_context7.t0){_context7.next=13;break}_context7.next=11;return d.loadFromState(_o8,this.dockManager);case 11:_e29=_context7.sent;_context7.t0=_e29.prepareForDocking;case 13:if(!_context7.t0){_context7.next=17;break}s.removeNode(_e29.elementPanel),_e29.isDialog=!0;_i7=new p(_e29,this.dockManager);(n.position.x>document.body.clientWidth||n.position.y>document.body.clientHeight-70)&&(n.position.x=20,n.position.y=70),_i7.setPosition(n.position.x,n.position.y),_i7.isHidden=n.isHidden,_i7.isHidden&&_i7.hide(),t.push(_i7);case 17:_context7.next=4;break;case 19:_context7.next=24;break;case 21:_context7.prev=21;_context7.t1=_context7["catch"](2);_iterator15.e(_context7.t1);case 24:_context7.prev=24;_iterator15.f();return _context7.finish(24);case 27:return _context7.abrupt("return",t);case 28:case"end":return _context7.stop()}},_callee7,this,[[2,21,24,27]])}));function _buildDialogs(_x8){return _buildDialogs2.apply(this,arguments)}return _buildDialogs}()}]);return W}();var R=function(){function R(e,t){_classCallCheck(this,R);if(void 0===e)throw new Error("Invalid Dock Manager element provided");this._config=Object.assign(new g,t),this.element=e,this.context=this.dockWheel=this.layoutEngine=this.mouseMoveHandler=this.touchMoveHandler=void 0,this.layoutEventListeners=[],this.defaultDialogPosition=new o(0,0)}_createClass(R,[{key:"config",get:function get(){return this._config}},{key:"initialize",value:function initialize(){this.backgroundContext=this.element.children[0],this.context=new S(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 L(this),this.layoutEngine=new T(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 _e30=this.activePanel;this.activePanel=null,_e30.close()}}},{key:"checkXBounds",value:function checkXBounds(e,t,n,i,o){if(this._config.moveOnlyWithinDockConatiner)return this.checkXBoundsWithinDockContainer(e,t,n,i,o);var s=this.element.getBoundingClientRect(),l=Math.floor(t.x-n.x),a=e.offsetLeft+e.offsetWidth+l+s.left<40,h=e.offsetLeft+l+s.left>window.innerWidth-40;if(a){n.x=t.x,l=0;var _i8=40-(e.offsetWidth+e.offsetLeft+s.left);_i8>0&&(l=_i8)}else if(h){n.x=t.x,l=0;var _i9=window.innerWidth-40-e.offsetLeft-s.left;_i9>0&&(l=_i9)}return l}},{key:"checkXBoundsWithinDockContainer",value:function checkXBoundsWithinDockContainer(e,t,n,i,o){var s=t.x-n.x,l=this.element.getBoundingClientRect(),a=e.getBoundingClientRect(),h=s<0&&a.left+s<l.left&&!o,r=s>0&&a.right+s>l.right&&!i;return h?(t.x-=s,s=l.left-a.left,t.x-=s):r&&(t.x-=s,s=l.right-a.right,t.x-=s),s}},{key:"checkYBounds",value:function checkYBounds(e,t,n,i,o){if(this._config.moveOnlyWithinDockConatiner)return this.checkYBoundsWithinDockContainer(e,t,n,i,o);var s=this.element.getBoundingClientRect(),l=Math.floor(t.y-n.y),a=e.offsetTop+l+s.top<0,h=e.offsetTop+l+s.top>window.innerHeight-16;if(a)n.y=t.y,l=0;else if(h){n.y=t.y,l=0;var _i10=window.innerHeight-16-e.offsetTop-s.top;_i10>0&&(l=_i10)}return l}},{key:"checkYBoundsWithinDockContainer",value:function checkYBoundsWithinDockContainer(e,t,n,i,o){var s=t.y-n.y,l=this.element.getBoundingClientRect(),a=e.getBoundingClientRect(),h=s<0&&a.top+s<l.top&&!o,r=s>0&&a.bottom+s>l.bottom&&!i;return h?(t.y-=s,s=l.top-a.top,t.y-=s):r&&(t.y-=s,s=l.bottom-a.bottom,t.y-=s),s}},{key:"rebuildLayout",value:function rebuildLayout(e){var _this22=this;e.children.forEach(function(e){_this22.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 _iterator16=_createForOfIteratorHelper(this.context.model.dialogs),_step16;try{for(_iterator16.s();!(_step16=_iterator16.n()).done;){var _e31=_step16.value;(_e31.position.x>this.element.clientWidth||_e31.position.y>this.element.clientHeight)&&((n>this.element.clientWidth||i>this.element.clientHeight)&&(n=0,i=0),_e31.setPosition(100+n,100+i),n+=100,i+=100)}}catch(err){_iterator16.e(err)}finally{_iterator16.f()}}},{key:"setModel",value:function setModel(e){s.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 _this23=this;e.children.reverse().forEach(function(t){_this23.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 l(window,"mousemove",this._onMouseMoved.bind(this)),this.touchMoveHandler=new l(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 _o9=i.pop();s.isPointInsideNode(e,t,_o9)&&(n=_o9,[].push.apply(i,_o9.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,o){var l;if(this.context.model.dialogs.forEach(function(i){e==i.panel&&(i.show(),i.setPosition(t,n),l=i)}),l)return l;try{var _t12=this._findNodeFromContainer(e);this.layoutEngine.undock(_t12)}catch(e){}var a=e;s.removeNode(a.elementPanel),a.isDialog=!0;var h=new p(a,this,i,o);return h.setPosition(t,n),h}},{key:"_requestDockDialog",value:function _requestDockDialog(e,t,n){var i=t.panel,o=new f(i);return i.prepareForDocking(),i.elementContentContainer.style.zIndex="",t.destroy(),n(e,o),o}},{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,o){var l=new f(t);if("panel"===t.containerType){var _e32=t;_e32.prepareForDocking(),s.removeNode(_e32.elementPanel)}var a,h=null;if(e.parent&&e.parent.container&&(a=e.parent.container,a.getRatios&&(h=a.getRatios())),n(e,l),o&&l.parent&&("vertical"===l.parent.container.containerType||"horizontal"===l.parent.container.containerType)){var _e33=l.parent.container;if(h&&a==_e33){if(i){for(var _e34=0;_e34<h.length;_e34++)h[_e34]=h[_e34]-h[_e34]*o;h.push(o)}else h[0]=h[0]-o,h.unshift(o);_e33.setRatios(h)}else _e33.setContainerRatio(t,o)}return this.rebuildLayout(this.context.model.rootNode),this.invalidate(),this._checkShowBackgroundContext(),l}},{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 o=i.container;o.elementPanel.style.display="block";var s=new p(o,this,null);if(o.lastDialogSize&&s.resize(o.lastDialogSize.width,o.lastDialogSize.height),void 0!==t){var _e35=s.elementDialog.clientWidth;n.x>_e35&&(n.x=.75*_e35),s.setPosition(t.clientX-n.x,t.clientY-n.y),s.draggable.onMouseDown(t)}return s}},{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 _e36=this._activeDocument;this._activeDocument=null,this.notifyOnActiveDocumentChange(null,_e36)}}},{key:"openInDialog",value:function openInDialog(e,t,n,i){var o=new p(e,this,null,i);if(null!=t){var _e37=o.elementDialog.clientWidth;n.x>_e37&&(n.x=.75*_e37),o.setPosition(t.clientX-n.x,t.clientY-n.y),o.draggable.onMouseDown(t)}return o}},{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 _o10=i.pop();if(_o10.container instanceof d){if(_o10.container.elementContent.id===e)return _o10;if(_o10.container.elementContent instanceof HTMLSlotElement&&(null===(n=null===(t=_o10.container.elementContent.assignedElements())||void 0===t?void 0:t[0])||void 0===n?void 0:n.id)===e)return _o10}[].push.apply(i,_o10.children)}return null}},{key:"getNodeByElement",value:function getNodeByElement(e){var t;var n=[];for(n.push(this.context.model.rootNode);n.length>0;){var i=n.pop();if(i.container instanceof d){if(i.container.elementContent===e)return i;if(i.container.elementContent instanceof HTMLSlotElement&&(null===(t=i.container.elementContent.assignedElements())||void 0===t?void 0:t[0])===e)return i}[].push.apply(n,i.children)}return null}},{key:"_findNodeFromContainer",value:function _findNodeFromContainer(e){var t=[];for(t.push(this.context.model.rootNode);t.length>0;){var n=t.pop();if(n.container===e)return n;[].push.apply(t,n.children)}return null}},{key:"findNodeFromContainerElement",value:function findNodeFromContainerElement(e){var t=[];for(t.push(this.context.model.rootNode);t.length>0;){var n=t.pop();if(n.container.containerElement===e)return n;[].push.apply(t,n.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 _this24=this;this.layoutEventListeners.forEach(function(t){t.onSuspendLayout&&t.onSuspendLayout(_this24,e)})}},{key:"resumeLayout",value:function resumeLayout(e){var _this25=this;this.layoutEventListeners.forEach(function(t){t.onResumeLayout&&t.onResumeLayout(_this25,e)})}},{key:"notifyOnDock",value:function notifyOnDock(e){var _this26=this;this._checkShowBackgroundContext(),this.layoutEventListeners.forEach(function(t){t.onDock&&(t.onDock(_this26,e),e.container.resize(e.container.width,e.container.height))})}},{key:"notifyOnTabsReorder",value:function notifyOnTabsReorder(e){var _this27=this;this.layoutEventListeners.forEach(function(t){t.onTabsReorder&&t.onTabsReorder(_this27,e)})}},{key:"notifyOnUnDock",value:function notifyOnUnDock(e){var _this28=this;this._checkShowBackgroundContext(),this.layoutEventListeners.forEach(function(t){t.onUndock&&t.onUndock(_this28,e)})}},{key:"notifyOnClosePanel",value:function notifyOnClosePanel(e){var _this29=this;if(this._checkShowBackgroundContext(),this.activePanel==e&&(this.activePanel=null),this._activeDocument==e){var _e38=this._activeDocument;this._activeDocument=null,this.notifyOnActiveDocumentChange(null,_e38)}this.layoutEventListeners.forEach(function(t){t.onClosePanel&&t.onClosePanel(_this29,e)})}},{key:"notifyOnCreateDialog",value:function notifyOnCreateDialog(e){var _this30=this;this.layoutEventListeners.forEach(function(t){t.onCreateDialog&&t.onCreateDialog(_this30,e)})}},{key:"notifyOnHideDialog",value:function notifyOnHideDialog(e){var _this31=this;this.layoutEventListeners.forEach(function(t){t.onHideDialog&&t.onHideDialog(_this31,e)})}},{key:"notifyOnShowDialog",value:function notifyOnShowDialog(e){var _this32=this;this.layoutEventListeners.forEach(function(t){t.onShowDialog&&t.onShowDialog(_this32,e)})}},{key:"notifyOnChangeDialogPosition",value:function notifyOnChangeDialogPosition(e,t,n){var _this33=this;this.layoutEventListeners.forEach(function(i){i.onChangeDialogPosition&&i.onChangeDialogPosition(_this33,e,t,n)})}},{key:"notifyOnContainerResized",value:function notifyOnContainerResized(e){var _this34=this;this.layoutEventListeners.forEach(function(t){t.onContainerResized&&t.onContainerResized(_this34,e)})}},{key:"notifyOnTabChange",value:function notifyOnTabChange(e){var _this35=this;this.layoutEventListeners.forEach(function(t){t.onTabChanged&&t.onTabChanged(_this35,e)})}},{key:"notifyOnActivePanelChange",value:function notifyOnActivePanelChange(e,t){var _this36=this;this.layoutEventListeners.forEach(function(n){n.onActivePanelChange&&n.onActivePanelChange(_this36,e,t)})}},{key:"notifyOnActiveDocumentChange",value:function notifyOnActiveDocumentChange(e,t){var _this37=this;this.layoutEventListeners.forEach(function(n){n.onActiveDocumentChange&&n.onActiveDocumentChange(_this37,e,t)})}},{key:"saveState",value:function saveState(){return(new v).serialize(this.context.model)}},{key:"loadState",value:function(){var _loadState=_asyncToGenerator(_regeneratorRuntime().mark(function _callee8(e){var t;return _regeneratorRuntime().wrap(function _callee8$(_context8){while(1)switch(_context8.prev=_context8.next){case 0:t=new W(this);_context8.next=3;return t.deserialize(e);case 3:this.context.model=_context8.sent;this.setModel(this.context.model);case 5:case"end":return _context8.stop()}},_callee8,this)}));function loadState(_x9){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){s.arrayContains(e,t.elementContent.id)||t.close()}),this.context.model.dialogs.forEach(function(t){s.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 _this38=this;e.children.forEach(function(e){_this38._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 n=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 i=this._activeDocument;e&&e.panelType==t.document&&(this._activeDocument=e),!e&&n&&n.isDialog&&null==e&&this._lastPanelNotADialog&&this.activePanel!=this._lastPanelNotADialog&&(e=this._lastPanelNotADialog,this._lastPanelNotADialog=void 0),this.notifyOnActivePanelChange(e,n),i!=this._activeDocument&&this.notifyOnActiveDocumentChange(this._activeDocument,i),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 R}();DockSpawnTS=i})();
@@ -45,6 +45,7 @@ export declare class PanelContainer implements IDockContainerWithSize {
45
45
  touchDownHandler: EventHandler;
46
46
  panelType: PanelType;
47
47
  tabPage?: TabPage;
48
+ undockedToNewBrowserWindow: boolean;
48
49
  lastDialogSize?: ISize;
49
50
  _floatingDialog?: Dialog;
50
51
  _canUndock: boolean;
@@ -10,6 +10,7 @@ import { moveElementToNewBrowserWindow } from "./BrowserDialogHelper.js";
10
10
  */
11
11
  export class PanelContainer {
12
12
  constructor(elementContent, dockManager, title, panelType, hideCloseButton) {
13
+ this.undockedToNewBrowserWindow = false;
13
14
  if (!title)
14
15
  title = Localizer.getString('DefaultPanelName');
15
16
  if (!panelType)
@@ -386,8 +387,14 @@ export class PanelContainer {
386
387
  undockToBrowserDialog() {
387
388
  moveElementToNewBrowserWindow(this.resolvedElementContent, {
388
389
  title: this.title,
389
- closeCallback: () => { },
390
- newWindowClosedCallback: () => { },
390
+ closeCallback: () => {
391
+ this.undockedToNewBrowserWindow = true;
392
+ this.closeInternal(false);
393
+ },
394
+ newWindowClosedCallback: () => {
395
+ this.undockedToNewBrowserWindow = false;
396
+ this.dockManager.notifyOnClosePanel(this);
397
+ },
391
398
  focused: (e) => {
392
399
  this.dockManager.activePanel = this;
393
400
  },
@@ -395,7 +402,6 @@ export class PanelContainer {
395
402
  this.dockManager.activePanel = null;
396
403
  }
397
404
  });
398
- this.closeInternal(false);
399
405
  }
400
406
  async close() {
401
407
  this.closeInternal(true);
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dock-spawn-ts",
3
- "version": "2.534.0",
3
+ "version": "2.535.1",
4
4
  "description": "DockSpawn Typescript Version",
5
5
  "license": "MIT",
6
6
  "author": "jochen.kuehner@gmx.de",
@@ -48,6 +48,7 @@ export class PanelContainer implements IDockContainerWithSize {
48
48
  touchDownHandler: EventHandler;
49
49
  panelType: PanelType;
50
50
  tabPage?: TabPage;
51
+ undockedToNewBrowserWindow = false;
51
52
 
52
53
  lastDialogSize?: ISize;
53
54
 
@@ -479,8 +480,14 @@ export class PanelContainer implements IDockContainerWithSize {
479
480
  undockToBrowserDialog() {
480
481
  moveElementToNewBrowserWindow(this.resolvedElementContent, {
481
482
  title: this.title,
482
- closeCallback: () => { },
483
- newWindowClosedCallback: () => { },
483
+ closeCallback: () => {
484
+ this.undockedToNewBrowserWindow = true;
485
+ this.closeInternal(false);
486
+ },
487
+ newWindowClosedCallback: () => {
488
+ this.undockedToNewBrowserWindow = false;
489
+ this.dockManager.notifyOnClosePanel(this);
490
+ },
484
491
  focused: (e) => {
485
492
  this.dockManager.activePanel = this;
486
493
  },
@@ -488,7 +495,6 @@ export class PanelContainer implements IDockContainerWithSize {
488
495
  this.dockManager.activePanel = null;
489
496
  }
490
497
  });
491
- this.closeInternal(false);
492
498
  }
493
499
 
494
500
  async close() {