balkan-orgchart-js 9.3.25 → 9.3.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/orgchart.js CHANGED
@@ -23,7 +23,7 @@ var e=function(t,n){var r=this;Object.defineProperty(this,`element`,{get(){retur
23
23
  <rect style="display: ${C}" data-treelist-scroll="${p.id}" class="boc-scroll" x="${p.x+p.w-p.padding[1]-e.TREELIST_SCROLLBAR_WIDTH}" y="${p.y+p.padding[0]}" width="${e.TREELIST_SCROLLBAR_WIDTH}" height="${p.h-p.padding[2]-p.padding[0]}"></rect>
24
24
  <rect style="display: ${C}" data-treelist-thumb="${p.id}" class="boc-scroll-thumb" x="${p.x+p.w-p.padding[1]-e.TREELIST_SCROLLBAR_WIDTH}" y="${S}" width="${e.TREELIST_SCROLLBAR_WIDTH}" height="${x}"></rect>
25
25
 
26
- </g>`}}for(var f=0;f<t.visibleNodeIds.length;f++){var p=t.nodes[t.visibleNodeIds[f]],m=a._get(p.id);p.isTreeListItem||(e.RENDER_LINKS_BEFORE_NODES||(s+=a.ui.link(p,a,c,t.bordersByRootIdAndLevel,t.nodes,n)),s+=a.ui.expandCollapseBtn(a,p,m,a.config,a._layoutConfigs,n,c))}var o={content:s,res:t};if(e.events.publish(`render`,[a,o]),s=o.content,t=o.res,s+=a.ui.lonely(a.config),n===e.action.exporting){var w=t.boundary,T=w.maxX-w.minX,E=w.maxY-w.minY,D=a.ui.svg(T,E,[w.minX,w.minY,T,E],a.config,s,c);i.call(a,D,t);return}(n===e.action.centernode||n===e.action.insert||n===e.action.expand||n===e.action.collapse||n===e.action.update)&&(u=l),n===e.action.init&&l!=null&&(u=l),n===e.action.centerNode&&l!=null&&(u=l),a.response=t,a._lastSize={width:a.width(),height:a.height()},s+=`<text y="-9999999" x="-9999999" data-hidden-measure></text>`;var D=a.ui.svg(`100%`,`100%`,u,a.config,s);if(!a._initialized)a.element.innerHTML=a.ui.css()+D+a.ui.menuButton(a.config)+a.ui.aiButton(a.config),a._attachEventHandlers(),a.xScrollUI.create(a.width(),a.config.padding),a.xScrollUI.setPosition(),a.xScrollUI.addListener(a.getSvg()),a.yScrollUI.create(a.height(),a.config.padding),a.yScrollUI.setPosition(),a.yScrollUI.addListener(a.getSvg()),a.config.enableSearch&&a.searchUI.init(a),a.aiUI.init(a),a.orgScribeUI.init(a),a.powerPointPreviewUI.init(a),a.pdfPreviewUI.init(a),a.svgPreviewUI.init(a),a.pngPreviewUI.init(a),a.toolbarUI.init(a,a.config.toolbar),a.undoRedoUI.init(a),a.controlsUI.init(a);else{var O=a.getSvg(),k=O.parentNode;k.removeChild(O),k.insertAdjacentHTML(`afterbegin`,D),a._attachEventHandlers(),a.xScrollUI.addListener(a.getSvg()),a.yScrollUI.addListener(a.getSvg()),a.xScrollUI.setPosition(),a.yScrollUI.setPosition()}var A=!1,j=a.response.animations;if(j[0].length>0){a._hideBeforeAnimation(j[0].length);for(var f=0;f<j[0].length;f++)j[0][f]=a.getNodeElement(j[0][f]);e.animate(j[0],j[1],j[2],a.config.anim.duration,a.config.anim.func,function(){A||=(i&&i.call(a),e.events.publish(`redraw`,[a]),a._showAfterAnimation(),!0)})}n===e.action.centerNode?e.animate(a.getSvg(),{viewbox:l},{viewbox:a.response.viewBox},a.config.anim.duration,a.config.anim.func,function(){a.ripple(r.options.rippleId),A||=(i&&i.call(a),e.events.publish(`redraw`,[a]),a._showAfterAnimation(),!0)},function(){a.xScrollUI.setPosition(),a.yScrollUI.setPosition()}):l&&a.response&&(l[0]!=a.response.viewBox[0]||l[1]!=a.response.viewBox[1]||l[2]!=a.response.viewBox[2]||l[3]!=a.response.viewBox[3])&&(n===e.action.insert||n===e.action.expand||n===e.action.collapse||n===e.action.update||n===e.action.init)?a._loaded?e.animate(a.getSvg(),{viewbox:l},{viewbox:a.response.viewBox},a.config.anim.duration*2,a.config.anim.func,function(){a.xScrollUI.setPosition(),a.yScrollUI.setPosition(),A||=(i&&i.call(a),e.events.publish(`redraw`,[a]),!0)}):(a.setViewBox(a.response.viewBox),e.events.publish(`redraw`,[a])):j[0].length==0&&(A||=(i&&i.call(a),e.events.publish(`redraw`,[a]),!0)),a._initialized||(a._initialized=!0,a.filterUI.update(),a._ai.setContext(),e.events.publish(`init`,[a])),!a._loaded&&t&&t.nodes&&Object.keys(t.nodes).length&&(a._loaded=!0)}},function(t){e.events.publish(`ready`,[a,t])})}},e.prototype._setInitialSizeIfNotSet=function(){this.mainElement.style.overflow=`hidden`,this.mainElement.style.position=`relative`,this.mainElement.offsetHeight==0&&(this.mainElement.style.height=`100%`,this.mainElement.offsetHeight==0&&(this.mainElement.style.height=`700px`)),this.mainElement.offsetWidth==0&&(this.mainElement.style.width=`100%`,this.mainElement.offsetWidth==0&&(this.mainElement.style.width=`700px`))},e.prototype.width=function(){return this.element.offsetWidth},e.prototype.height=function(){return this.element.offsetHeight},e.prototype.getViewBox=function(){var t=this.getSvg();return e._getViewBox(t)},e.prototype.setViewBox=function(e){this.getSvg().setAttribute(`viewBox`,e.toString())},e.prototype.getScale=function(t){return t||=this.getViewBox(),e.getScale(t,this.width(),this.height(),this.config.scaleInitial,this.config.scaleMax,this.config.scaleMin)},e.prototype.setScale=function(t){t>this.config.scaleMax&&(t=this.config.scaleMax),t<this.config.scaleMin&&(t=this.config.scaleMin);var n=this.getViewBox().slice(0),r=this.width(),i=this.height(),a=r/n[2],o=i/n[3],s=a>o?o:a,c=n,l=n[2],u=n[3];return n[2]/=t/s,n[3]/=t/s,n[0]=c[0]-(n[2]-l)/2,n[1]=c[1]-(n[3]-u)/2,this.setViewBox(n),e.events.publish(`redraw`,[this]),t},e.prototype.ripple=function(t,n,r){var i=this.getNode(t);if(i!=null){var a=this.getNodeElement(t);if(a!=null){var o=this.getScale(),s=i.w/2,c=i.h/2;if(n!==void 0&&r!==void 0){var l=a.getBoundingClientRect();s=n/o-l.left/o,c=r/o-l.top/o}var u=i.w,d=i.h,f=u-s>s?u-s:s,p=d-c>c?d-c:c;f=f,p=p;var m=f>p?f:p,h=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),g=document.createElementNS(`http://www.w3.org/2000/svg`,`clipPath`),_=document.createElementNS(`http://www.w3.org/2000/svg`,`rect`),v=document.createElementNS(`http://www.w3.org/2000/svg`,`circle`),y=e.randomId();g.setAttribute(`id`,y);var b={ripple:e.t(i.templateName,i.min,this.getScale()).ripple,node:i};e.events.publish(`ripple`,[this,b]),_.setAttribute(`x`,b.ripple.rect?b.ripple.rect.x:0),_.setAttribute(`y`,b.ripple.rect?b.ripple.rect.y:0),_.setAttribute(`width`,b.ripple.rect?b.ripple.rect.width:i.w),_.setAttribute(`height`,b.ripple.rect?b.ripple.rect.height:i.h),_.setAttribute(`rx`,b.ripple.radius),_.setAttribute(`ry`,b.ripple.radius),v.setAttribute(`clip-path`,`url(#`+y+`)`),v.setAttribute(`cx`,s),v.setAttribute(`cy`,c),v.setAttribute(`r`,0),v.setAttribute(`fill`,b.ripple.color),v.setAttribute(`class`,`boc-ripple`),g.appendChild(_),h.appendChild(g),h.appendChild(v),a.appendChild(h),e.animate(v,{r:0,opacity:1},{r:m,opacity:0},500,e.anim.outPow,function(){a.removeChild(h)})}}},e.prototype.centerOutNodes=function(t){if(this._centerInNodes){var n=JSON.parse(this._centerInNodes);this._centerInNodes=null;var r=this;this._centerInNodesTimeout=e.animate(this.getSvg(),{viewBox:this.getViewBox()},{viewBox:n},300,this.config.anim.func,function(){r.draw(e.action.update,null,function(){t&&t.call(r)})})}},e.prototype.centerInNodes=function(t,n){var r=this.getViewBox();this._centerInNodes||=JSON.stringify(r);var i=2**53-1,a=-(2**53-1),o=2**53-1,s=-(2**53-1);for(var c of t)c.y<i&&(i=c.y),c.y+c.h>a&&(a=c.y+c.h),c.x<o&&(o=c.x),c.x+c.w>s&&(s=c.x+c.w);var l=s-o,u=a-i,d=l/(l+this.config.padding*2),f=u/(u+this.config.padding*2),p=d>f?f:d;p>this.config.scaleMax&&(p=this.config.scaleMax),p<this.config.scaleMin&&(p=this.config.scaleMin);var m=[50,50],h=this.width(),g=this.height(),d=h/r[2],f=g/r[3],_=d>f?f:d,v=r,y=r[2],b=r[3];r[2]/=p/_,r[3]/=p/_,r[0]=v[0]-(r[2]-y)/(100/m[0]),r[1]=v[1]-(r[3]-b)/(100/m[1]),r[0]=o-(h/p-l)/2,r[1]=i-(g/p-u)/2;var x=this;this._centerInNodesTimeout&&=(clearTimeout(this._centerInNodesTimeout),null),this._centerInNodesTimeout=e.animate(this.getSvg(),{viewBox:this.getViewBox()},{viewBox:r},300,this.config.anim.func,function(){x.draw(e.action.update,null,function(){n&&n.call(x)})})},e.prototype.center=function(t,n,r){var i,a,o=t,s=!0,c=!0;n&&n.parentState!=null&&(i=n.parentState),n&&n.childrenState!=null&&(a=n.childrenState),n&&n.rippleId!=null&&(o=n.rippleId),n&&n.vertical!=null&&(s=n.vertical),n&&n.horizontal!=null&&(c=n.horizontal);var l={parentState:i,childrenState:a,rippleId:o,vertical:s,horizontal:c};this._draw(!1,e.action.centerNode,{id:t,options:l},r)},e.prototype.fit=function(t){this.config.scaleInitial=e.match.boundary,this._draw(!0,e.action.init,{method:`fit`},t)},e.prototype.fitIfOutside=function(t){this.config.scaleInitial=e.match.boundaryIfOutside,this._draw(!0,e.action.init,{method:`fit`},t)},e.prototype.toggleFullScreen=function(){var t=document.querySelector(`[`+e.attr.tlbr+`r='fullScreen']`);document.fullscreenElement==this.element||document.webkitFullscreenElement==this.element||document.mozFullScreenElement==this.element||document.msFullscreenElement==this.element?(document.exitFullscreen?document.exitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen?document.webkitExitFullscreen():document.msExitFullscreen&&document.msExitFullscreen(),t&&(t.innerHTML=e.toolbarUI.openFullScreenIcon)):(this.element.requestFullscreen?this.element.requestFullscreen():this.element.mozRequestFullScreen?this.element.mozRequestFullScreen():this.element.webkitRequestFullscreen?this.element.webkitRequestFullscreen():this.element.msRequestFullscreen&&this.element.msRequestFullscreen(),t&&(t.innerHTML=e.toolbarUI.closeFullScreenIcon))},e.prototype.getNode=function(e){return this.nodes[e]},e.prototype.setLayout=function(t,n){n||=`base`,this._layoutConfigs[n].layout=t,n==`base`&&(this.config.layout=t),this._draw(!1,e.action.update)},e.prototype.setOrientation=function(t,n,r){var i=this;n||=`base`,this._layoutConfigs[n].orientation=t,n==`base`&&(this.config.orientation=t),this._draw(!1,e.action.update,void 0,function(){i.getScale(),e._moveToBoundaryArea(i.getSvg(),i.getViewBox(),i.response.boundary,function(){i._draw(!0,e.action.pan),r&&r()})})},e.prototype.search=function(t,n,r){return e.isNEU(n)&&(n=this.searchUI._searchFields),e.isNEU(r)&&(r=n),e._search.search(this.config.nodes,t,n,r,this.config.searchDisplayField,this.config.searchFieldsWeight,this.searchUI._searchFieldsAbbreviation)},e.prototype._hideBeforeAnimation=function(t){if(this._hideBeforeAnimationCompleted!=1&&!(t&&t<e.ANIM_THRESHOLD)){var n=this.element.getElementsByTagName(`text`);if(n.length>e.TEXT_THRESHOLD)for(var r=0;r<n.length;r++)n[r].style.display=`none`;var i=this.element.getElementsByTagName(`image`);if(i.length>e.IMAGES_THRESHOLD)for(var r=0;r<i.length;r++)i[r].style.display=`none`;var a=this.element.querySelectorAll(`[`+e.attr.link_id+`]`);if(a.length>e.LINKS_THRESHOLD)for(var r=0;r<a.length;r++)a[r].style.display=`none`;var o=this.element.querySelectorAll(`[`+e.attr.control_expcoll_id+`]`);if(o.length>e.BUTTONS_THRESHOLD)for(var r=0;r<o.length;r++)o[r].style.display=`none`;var s=this.element.querySelectorAll(`[`+e.attr.control_up_id+`]`);if(s.length>e.BUTTONS_THRESHOLD)for(var r=0;r<s.length;r++)s[r].style.display=`none`;this._hideBeforeAnimationCompleted=!0}},e.prototype._showAfterAnimation=function(){for(var t=this.element.getElementsByTagName(`text`),n=0;n<t.length;n++)t[n].style.display=``;for(var r=this.element.getElementsByTagName(`image`),n=0;n<r.length;n++)r[n].style.display=``;for(var i=this.element.querySelectorAll(`[`+e.attr.link_id+`]`),n=0;n<i.length;n++)i[n].style.display=``;for(var a=this.element.querySelectorAll(`[`+e.attr.control_expcoll_id+`]`),n=0;n<a.length;n++)a[n].style.display=``;for(var o=this.element.querySelectorAll(`[`+e.attr.control_up_id+`]`),n=0;n<o.length;n++)o[n].style.display=``;this._hideBeforeAnimationCompleted=!1},e.prototype.isChild=function(e,t){for(var n=this.getNode(t);n;){if(n.id==e)return!0;n=n.parent?n.parent:n.stParent}return!1},e.prototype.getCollapsedIds=function(e){for(var t=[],n=0;n<e.childrenIds.length;n++){var r=this.getNode(e.childrenIds[n]);r.collapsed==1&&t.push(r.id)}return t},e.prototype.stateToUrl=function(){if(this.manager.state){var e={};return e.exp=this.manager.state.exp.join(`*`),e.min=this.manager.state.min.join(`*`),e.adjustify=this.manager.state.adjustify.x+`*`+this.manager.state.adjustify.y,e.scale=this.manager.state.scale,e.y=this.manager.state.x,e.x=this.manager.state.y,new URLSearchParams(e).toString()}return``},e.prototype.generateId=function(){for(;;){var e=`_`+(`0000`+(Math.random()*36**4|0).toString(36)).slice(-4);if(this.nodes==null||!this.nodes.hasOwnProperty(e))return e}},e.prototype.moveNodesToVisibleAreaAfterExpand=function(t,n,r){e._moveNodesToVisibleAreaAfterExpand(this,t,n,r)},e.prototype.moveNodesToVisibleArea=function(t,n){for(var r=this,i=this.roots[0],a=this.getSvg(),o=this.getViewBox(),s=null,c=null,l=null,u=null,d=0;d<t.length;d++){var f=this.nodes[t[d]];f.x!=null&&f.y!=null&&((s===null||s<f.x+f.w)&&(s=f.x+f.w),(c===null||c<f.y+f.h)&&(c=f.y+f.h),(l===null||l>f.x)&&(l=f.x),(u===null||u>f.y)&&(u=f.y))}if(!(s==null||c==null||l==null||u==null)){var p=this.width(),m=this.height(),h=s-l+this.config.padding*2,g=c-u+this.config.padding*2,_=p/h,v=m/g,y=_>v?v:_,b=Math.ceil(p/y),x=Math.ceil(m/y),h=0,g=0;if(b-this.config.padding*2>=s-l)h=(s+l)/2-b/2;else switch(h=i.x-b/2+e.manager._getNodeWidth(i,this.config)/2,this.config.orientation){case e.orientation.right:case e.orientation.right_top:h=-(b/2-(l-s)/2),h<this.config.padding-b&&(h=this.config.padding-b);break;case e.orientation.left:case e.orientation.bottom_left:case e.orientation.top_left:case e.orientation.left_top:h=-(b/2-(s-l)/2),h>-this.config.padding&&(h=-this.config.padding);break}if(x-this.config.padding*2>=c-u)g=(c+u)/2-x/2;else switch(g=-(x/2-(c-u)/2),g>-this.config.padding&&(g=-this.config.padding),this.config.orientation){case e.orientation.bottom:case e.orientation.bottom_left:g=-(x/2-(u-c)/2),g<this.config.padding-x&&(g=this.config.padding-x);break;case e.orientation.left:case e.orientation.right:g=i.y-x/2+e.manager._getNodeWidth(i,this.config)/2;break}var S=[h,g,b,x];o[0]!==S[0]||o[1]!==S[1]?e.animate(a,{viewBox:o},{viewBox:S},this.config.anim.duration,this.config.anim.func,function(){r.draw(e.action.update,void 0,n)}):n&&n()}},e.prototype._nodeHasHiddenParent=function(t){return!t.parent&&!e.isNEU(t.pid)},e.prototype.destroy=function(){this._initCalled=!1,this._resizeObserver.unobserve(this.element),e.events.removeForEventId(this._event_id),this.element.innerHTML=null},e._defaultConfig=function(t){return{interactive:!0,mode:`light`,lazyLoading:`auto`,enableDragDrop:!1,enableSearch:!0,enableAI:!1,enablePan:!0,keyNavigation:!1,miniMap:!1,controls:null,nodeMenu:null,nodeCircleMenu:null,nodeContextMenu:null,menu:null,toolbar:!1,nodeMouseClick:e.action.details,nodeMouseDbClick:e.none,mouseScroll:e.action.ctrlZoom,showXScroll:!1,showYScroll:!1,template:`ana`,tags:{},min:!1,nodeBinding:{},linkBinding:{},searchFields:null,searchDisplayField:null,searchFieldsWeight:null,searchFieldsAbbreviation:null,nodes:[],clinks:[],slinks:[],backdrops:[],groupDottedLines:[],dottedLines:[],undoRedoStorageName:null,levelSeparation:60,siblingSeparation:20,subtreeSeparation:40,backdropSeparation:15,mixedHierarchyNodesSeparation:15,assistantSeparation:100,minPartnerSeparation:50,partnerChildrenSplitSeparation:20,partnerNodeSeparation:15,columns:10,padding:30,orientation:e.orientation.top,layout:e.layout.normal,layoutGridColumns:`dynamic`,scaleInitial:e.match.boundaryIfOutside,movable:null,scaleMin:.1,scaleMax:5,highlightOnHover:`none`,orderBy:null,editUI:null,aiUI:null,orgScribeUI:null,powerPointPreviewUI:null,pdfPreviewUI:null,svgPreviewUI:null,pngPreviewUI:null,filterUI:null,searchUI:null,xScrollUI:null,yScrollUI:null,nodeMenuUI:null,controlsUI:null,nodeCircleMenuUI:null,nodeContextMenuUI:null,toolbarUI:null,notifierUI:null,menuUI:null,undoRedoUI:null,exportUrl:`https://balkan.app/export`,serverUrl:`https://serverjs.balkan.app`,aiChatTools:[],collapse:{},expand:{},align:e.CENTER,UI:null,anim:{func:e.anim.outPow,duration:200},zoom:{speed:120,smooth:12},roots:null,state:null,editForm:{readOnly:!1,titleBinding:`name`,photoBinding:`img`,addMore:`Add more fields`,addMoreBtn:`Add`,addMoreFieldName:`Field name`,saveAndCloseBtn:`Save and close`,generateElementsFromFields:!0,focusBinding:null,buttons:{edit:{icon:e.icon.edit(24,24,`#fff`),text:`Edit`,hideIfEditMode:!0,hideIfDetailsMode:!1},share:{icon:e.icon.share(24,24,`#fff`),text:`Share`},pdf:{icon:e.icon.pdf(24,24,`#fff`),text:`Save as PDF`},remove:{icon:e.icon.remove(24,24,`#fff`),text:`Remove`,hideIfDetailsMode:!0}},elements:[]}}},e.localStorage={},e.localStorage.getItem=function(e){var t=localStorage.getItem(`to_date`);if(!t)t=new Date,t.setDate(t.getDate()+5),t=t.toISOString(),localStorage.setItem(`to_date`,t);else if(t=new Date(t),t<new Date){for(var n=0,r=localStorage.length;n<r;++n){var i=localStorage.key(n);i&&i.startsWith&&i.startsWith(`{"n"`)&&localStorage.removeItem(i)}localStorage.removeItem(`to_date`)}return localStorage.getItem(e)},e.localStorage.setItem=function(e,t){try{localStorage.setItem(e,t)}catch(e){e.code==e.QUOTA_EXCEEDED_ERR?(console.warn(`Local storage quota exceeded`),localStorage.clear()):(console.error(`Local storage error code:`+e.code),console.error(e))}},e.prototype.canUpdateLink=function(e,t){if(t==null||t==null||e==null||e==null||e==t)return!1;var n=this.getNode(t),r=this.getNode(e);return n&&r&&(n.isPartner||n.hasPartners&&r.isAssistant||n.hasAssistants&&r.isPartner)?!1:!this.isChild(e,t)},e.prototype._canUpdateLink=e.prototype.canUpdateLink,e.prototype.updateNode=function(t,n,r,i){if(t){var a=this,o=this.get(t.id);if(r===!0&&e.events.publish(`update`,[this,o,t])===!1)return!1;this.update(t),this._ai.setContext(),e.events.publish(`updated`,[this]),this.filterUI.update();var s=this.getNode(t.id),c=s.pid;c??=s.stpid,this._draw(!1,e.action.update,{id:c},function(){i||a.ripple(t.id),n&&n()})}},e.prototype.update=function(e){for(var t=0;t<this.config.nodes.length;t++)if(this.config.nodes[t].id==e.id){this._putInUndoStack(),this.clearRedo(),this.config.nodes[t]=e;break}return this},e.prototype.removeNode=function(t,n,r){if(!this.canRemove(t))return!1;var i=this._getNewPidsAndStpidsForIds(t);return r===!0&&e.events.publish(`remove`,[this,t,i])===!1?!1:(this.remove(t),this._ai.setContext(),e.events.publish(`updated`,[this]),this.filterUI.update(),this._draw(!1,e.action.update,null,function(){n&&n()}),!0)},e.prototype.remove=function(e){var t=this.get(e);if(t){this._putInUndoStack(),this.clearRedo();for(var n=this.config.nodes.length-1;n>=0;n--)(this.config.nodes[n].pid==e||this.config.nodes[n].stpid==e)&&(this.config.nodes[n].pid=t.pid,this.config.nodes[n].stpid=t.stpid),this.config.nodes[n].id==e&&this.config.nodes.splice(n,1)}return this},e.prototype._getNewPidsAndStpidsForIds=function(e){var t=this.get(e),n={},r={};if(t)for(var i=this.config.nodes.length-1;i>=0;i--)this.config.nodes[i].pid==e?n[this.config.nodes[i].id]=t.pid:this.config.nodes[i].stpid==e&&(r[this.config.nodes[i].id]=t.stpid);return{newPidsForIds:n,newStpidsForIds:r}},e.prototype.addNode=function(t,n,r){var i=this;if(r===!0&&e.events.publish(`add`,[this,t])===!1)return!1;this.add(t),this._ai.setContext(),e.events.publish(`updated`,[this]),this.filterUI.update(),i._draw(!1,e.action.insert,{id:t.pid,insertedNodeId:t.id},function(){i.ripple(t.id),n&&n()})},e.prototype.addNodes=function(t,n,r){if(Array.isArray(n)){var i=this,a=[];for(var o of n)this.add(o),a.push(o.id);this._ai.setContext(),e.events.publish(`updated`,[this]),this.filterUI.update();var s={id:t};i._draw(!1,e.action.update,s,function(){r&&r()})}},e.prototype.add=function(t){if(t.id??console.error(`Call addNode without id`),this._putInUndoStack(),this.clearRedo(),this.config.movable&&!e.isNEU(t.pid)){var n=this._get(t.pid);n&&(n.movex!=null&&(t.movex=n.movex),n.movey!=null&&(t.movey=n.movey))}return this.config.nodes.push(t),this},e.prototype.replaceIds=function(t,n){this._replaceIds(t),this._draw(!1,e.action.update,void 0,n)},e.prototype._replaceIds=function(t){for(var n=function(e){for(var n=0;n<e.length;n++){var r=e[n];for(var i in t){var a=t[i];r.from==i&&(r.from=a),r.to==i&&(r.to=a)}}},r=0;r<this.config.nodes.length;r++){var i=this.config.nodes[r];for(var a in t){var o=t[a];i.id==a&&(i.id=o),i.pid==a&&(i.pid=o),i.stpid==a&&(i.stpid=o),i.ppid==a&&(i.ppid=o)}}if(Array.isArray(this.config.roots))for(var r=0;r<this.config.roots.length;r++)e.isNEU(t[this.config.roots[r]])||(this.config.roots[r]=t[this.config.roots[r]]);if(this.nodes){for(var s in this.nodes)if(!e.isNEU(t[s])){var o=t[s],c=this.nodes[s];c.id=o,this.nodes[o]=c}}if(this.manager.oldNodes){for(var s in this.manager.oldNodes)if(!e.isNEU(t[s])){var o=t[s],c=this.manager.oldNodes[s];c.id=o,this.manager.oldNodes[o]=c}}if(this.roots){for(var s in this.roots)if(!e.isNEU(t[s])){var o=t[s],c=this.roots[s];c.id=o,this.roots[o]=c}}n(this.config.clinks),n(this.config.slinks),n(this.config.groupDottedLines),n(this.config.dottedLines)},e.prototype._get=function(t){var n=this.__get(t);if(n)return n;if((this.config.groupDottedLines.length||this.config.dottedLines.length)&&!e.isNEU(t)&&typeof t==`string`&&(t.indexOf(`balkan_group_dotted_`)!=-1||t.indexOf(`balkan_dotted_`)!=-1)){t=t.replace(`balkan_group_dotted_`,``),t=t.replace(`balkan_dotted_`,``);var r=t.indexOf(`_balkan_id_`);if(t=t.substring(r+11),n=this.__get(t),n)return n}return null},e.prototype.__get=function(e){for(var t=0;t<this.config.nodes.length;t++)if(this.config.nodes[t].id==e)return this.config.nodes[t];return null},e.prototype.get=function(e){var t=this._get(e);return t==null?null:JSON.parse(JSON.stringify(t))},e.prototype.canRemove=function(e){var t=this.getNode(e);return!(!t||t.hasPartners||t.hasAssistants)},e===void 0&&(e={}),e._ajax=function(t,n,r,i,a){i??=`arraybuffer`;var o=new XMLHttpRequest;for(var s in o.onload=function(e){o.readyState==4&&this.status===200&&(e.target==null?a(this.response):a(e.target.response))},o.onerror=function(e){a({error:e})},o.open(n,t),o.responseType=i,o.setRequestHeader(`Content-Type`,`application/json`),e.REQUEST_CUSTOM_HEADERS)o.setRequestHeader(s,e.REQUEST_CUSTOM_HEADERS[s]);r==null?o.send():o.send(r)},e===void 0&&(e={}),e.animate=function(t,n,r,i,a,o,s){var c=10,l=1,u=1,d=i/c+1,f;document.getElementsByTagName(`g`),Array.isArray(t)||(t=[t]),Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);function p(){for(var p=0;p<t.length;p++)for(var m in r[p]){var h=e._arrayContains([`top`,`left`,`right`,`bottom`,`width`,`height`],m.toLowerCase())?`px`:``;switch(m.toLowerCase()){case`d`:var g=a((u*c-c)/i)*(r[p][m][0]-n[p][m][0])+n[p][m][0],_=a((u*c-c)/i)*(r[p][m][1]-n[p][m][1])+n[p][m][1];t[p].setAttribute(`d`,t[p].getAttribute(`d`)+` L`+g+` `+_);break;case`r`:var v=a((u*c-c)/i)*(r[p][m]-n[p][m])+n[p][m];t[p].setAttribute(`r`,v);break;case`x1`:var v=a((u*c-c)/i)*(r[p][m]-n[p][m])+n[p][m];t[p].setAttribute(`x1`,v);break;case`x2`:var v=a((u*c-c)/i)*(r[p][m]-n[p][m])+n[p][m];t[p].setAttribute(`x2`,v);break;case`y1`:var v=a((u*c-c)/i)*(r[p][m]-n[p][m])+n[p][m];t[p].setAttribute(`y1`,v);break;case`y2`:var v=a((u*c-c)/i)*(r[p][m]-n[p][m])+n[p][m];t[p].setAttribute(`y2`,v);break;case`scrolltop`:var v=a((u*c-c)/i)*(r[p][m]-n[p][m])+n[p][m];t[p].scrollTop=v;break;case`rotate3d`:if(r[p][m]){var y=n[p][m],b=r[p][m],x=[0,0,0,0];for(var S in y)x[S]=a((u*c-c)/i)*(b[S]-y[S])+y[S];t[p].style.transform=`rotate3d(`+x.toString()+`deg)`}break;case`transform`:if(r[p][m]){var y=n[p][m],b=r[p][m],x=[0,0,0,0,0,0];for(var S in y)x[S]=a((u*c-c)/i)*(b[S]-y[S])+y[S];t[p].hasAttribute(`transform`)?t[p].setAttribute(`transform`,`matrix(`+x.toString()+`)`):t[p].style.transform=`matrix(`+x.toString()+`)`}break;case`viewbox`:if(r[p][m]){var y=n[p][m],b=r[p][m],x=[0,0,0,0];for(var S in y)x[S]=a((u*c-c)/i)*(b[S]-y[S])+y[S];t[p].setAttribute(`viewBox`,x.toString())}break;case`margin`:if(r[p][m]){var y=n[p][m],b=r[p][m],x=[0,0,0,0];for(var S in y)x[S]=a((u*c-c)/i)*(b[S]-y[S])+y[S];for(var C=``,S=0;S<x.length;S++)C+=parseInt(x[S])+`px `;t[p]&&t[p].style&&(t[p].style[m]=C)}break;case`scrolly`:var v=a((u*c-c)/i)*(r[p][m]-n[p][m])+n[p][m];t[p].scrollTo(0,v);break;default:var v=a((u*c-c)/i)*(r[p][m]-n[p][m])+n[p][m];t[p]&&t[p].style&&(t[p].style[m]=v+h);break}}if(s){var v=a((u*c-c)/i);s(v)}u+=l,u>d+1&&(clearInterval(f),o&&o(t))}return f=setInterval(p,c),f},e.anim={},e.anim.inPow=function(e){return e<0?0:e>1?1:e**2},e.anim.outPow=function(e){var t=2;if(e<0)return 0;if(e>1)return 1;var n=t%2==0?-1:1;return n*((e-1)**t+n)},e.anim.inOutPow=function(t){var n=2;if(t<0)return 0;if(t>1)return 1;if(t*=2,t<1)return e.anim.inPow(t,n)/2;var r=n%2==0?-1:1;return r/2*((t-2)**n+r*2)},e.anim.inSin=function(e){return e<0?0:e>1?1:-Math.cos(Math.PI/2*e)+1},e.anim.outSin=function(e){return e<0?0:e>1?1:Math.sin(Math.PI/2*e)},e.anim.inOutSin=function(e){return e<0?0:e>1?1:-.5*(Math.cos(Math.PI*e)-1)},e.anim.inExp=function(e){return e<0?0:e>1?1:2**(10*(e-1))},e.anim.outExp=function(e){return e<0?0:e>1?1:-(2**(-10*e))+1},e.anim.inOutExp=function(e){return e<0?0:e>1?1:e<.5?.5*2**(10*(2*e-1)):.5*(-(2**(10*(-2*e+1)))+2)},e.anim.inCirc=function(e){return e<0?0:e>1?1:-(Math.sqrt(1-e*e)-1)},e.anim.outCirc=function(e){return e<0?0:e>1?1:Math.sqrt(1-(e-1)*(e-1))},e.anim.inOutCirc=function(e){return e<0?0:e>1?1:e<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(2*e-2)*(2*e-2))+1)},e.anim.rebound=function(e){return e<0?0:e>1?1:e<1/2.75?1-7.5625*e*e:e<2/2.75?1-(7.5625*(e-1.5/2.75)*(e-1.5/2.75)+.75):e<2.5/2.75?1-(7.5625*(e-2.25/2.75)*(e-2.25/2.75)+.9375):1-(7.5625*(e-2.625/2.75)*(e-2.625/2.75)+.984375)},e.anim.inBack=function(e){return e<0?0:e>1?1:e*e*(2.70158*e-1.70158)},e.anim.outBack=function(e){return e<0?0:e>1?1:(e-1)*(e-1)*(2.70158*(e-1)+1.70158)+1},e.anim.inOutBack=function(e){return e<0?0:e>1?1:e<.5?.5*(4*e*e*(3.5949*2*e-2.5949)):.5*((2*e-2)*(2*e-2)*(3.5949*(2*e-2)+2.5949)+2)},e.anim.impulse=function(e){var t=2*e;return t*Math.exp(1-t)},e.anim.expPulse=function(e){return Math.exp(-2*e**2)},e===void 0&&(e={}),e.prototype._attachEventHandlers=function(t){if(this.config.interactive){var t=this.getSvg(),n=this;t.addEventListener(`touchstart`,function(e){e.preventDefault(),n._globalMouseDownHandler.apply(n,[this,e])},{passive:!1}),t.addEventListener(`mousedown`,function(e){n._globalMouseDownHandler.apply(n,[this,e])},{passive:!0}),t.addEventListener(`contextmenu`,function(e){n._globalContextHandler.apply(n,[this,e])},{passive:!1}),t.addEventListener(`dblclick`,function(e){n._globalDbClickHandler.apply(n,[this,e])},{passive:!0}),this.config.mouseScroll!=e.action.none&&t.addEventListener(`wheel`,function(e){n._mouseScrollHandler.apply(n,[this,e])},{passive:!1});var r=this.getMenuButton();r&&r.addEventListener(`click`,function(e){n._menuClickHandler.apply(n,[this,e])})}},e===void 0&&(e={}),e.VERSION=`9.3.25`,e.orientation={},e.orientation.top=0,e.orientation.bottom=1,e.orientation.right=2,e.orientation.left=3,e.orientation.top_left=4,e.orientation.bottom_left=5,e.orientation.right_top=6,e.orientation.left_top=7,e.anchor={top_right:`top_right`,right_top:`right_top`,bottom_right:`bottom_right`,right_bottom:`right_bottom`,top_left:`top_left`,left_top:`left_top`,bottom_left:`bottom_left`,left_bottom:`left_bottom`,top:`top`,bottom:`bottom`,left:`left`,right:`right`},e.align={},e.align.center=e.CENTER=8,e.align.orientation=e.ORIENTATION=9,e.attr={},e.attr.l=`data-l`,e.attr.id=`data-id`,e.attr.sl=`data-sl`,e.attr.lbl=`data-lbl`,e.attr.val=`data-val`,e.attr.tlbr=`data-tlbr`,e.attr.item=`data-item`,e.attr.layout=`data-layout`,e.attr.node_id=`data-n-id`,e.attr.link_id=`data-l-id`,e.attr.field_name=`data-f-name`,e.attr.c_link_to=`data-c-l-to`,e.attr.c_link_from=`data-c-l-from`,e.attr.s_link_to=`data-s-l-to`,e.attr.s_link_from=`data-s-l-from`,e.attr.control_add=`data-ctrl-add`,e.attr.control_expcoll_id=`data-ctrl-ec-id`,e.attr.control_up_id=`data-ctrl-up-id`,e.attr.control_export_menu=`data-ctrl-menu`,e.attr.control_node_menu_id=`data-ctrl-n-menu-id`,e.attr.control_node_btn=`data-ctrl-n-btn`,e.attr.control_node_circle_menu_id=`data-ctrl-n-c-menu-id`,e.attr.control_node_circle_menu_name=`data-ctrl-n-c-menu-name`,e.attr.control_node_circle_menu_wrraper_id=`data-ctrl-n-c-menu-wrapper-id`,e.attr.width=`data-width`,e.attr.text_overflow=`data-text-overflow`,e.ID=`id`,e.PID=`pid`,e.STPID=`stpid`,e.TAGS=`tags`,e.NODES=`nodes`,e.ELASTIC=`elastic`,e.ASSISTANT=`Assistant`,e.action={},e.action.expand=0,e.action.collapse=1,e.action.maximize=101,e.action.minimize=102,e.action.expandCollapse=501,e.action.edit=1,e.action.zoom=2,e.action.ctrlZoom=22,e.action.scroll=41,e.action.xScroll=3,e.action.yScroll=4,e.action.none=5,e.action.init=6,e.action.update=7,e.action.move=70,e.action.pan=8,e.action.centerNode=9,e.action.resize=10,e.action.insert=11,e.action.insertfirst=12,e.action.details=13,e.action.exporting=14,e.none=400001,e.scroll={},e.scroll.visible=!0,e.scroll.smooth=12,e.scroll.speed=120,e.scroll.safari={smooth:12,speed:250},e.match={},e.match.height=100001,e.match.width=100002,e.match.boundary=100003,e.match.boundaryIfOutside=100004,e.match.none=1,e.movable={},e.movable.node=`node`,e.movable.tree=`tree`,e.movable.detachTree=`detachTree`,e.layout={},e.layout.normal=e.normal=0,e.layout.mixed=e.mixed=1,e.layout.tree=e.tree=2,e.layout.treeLeftOffset=e.treeLeftOffset=3,e.layout.treeRightOffset=e.treeRightOffset=4,e.layout.treeLeft=5,e.layout.treeRight=6,e.layout.grid=-1,e.layout.treeList=-2,e.nodeOpenTag=`<g `+e.attr.node_id+`="{id}" style="opacity: {opacity}" transform="matrix(1,0,0,1,{x},{y})" class="{class}" `+e.attr.sl+`="{sl}" `+e.attr.l+`="{level}" {lcn}>`,e.linkOpenTag=`<g `+e.attr.link_id+`="[{id}][{child-id}]" class="{class}">`,e.expcollOpenTag=`<g `+e.attr.control_expcoll_id+`="{id}" transform="matrix(1,0,0,1,{x},{y})" style="cursor:pointer;">`,e.upOpenTag=`<g `+e.attr.control_up_id+`="{id}" transform="matrix(1,0,0,1,{x},{y})" style="cursor:pointer;">`,e.linkFieldsOpenTag=`<g transform="matrix(1,0,0,1,{x},{y}) rotate({rotate})">`,e.grCloseTag=`</g>`,e.A5={width:420,height:595},e.A4={width:595,height:842},e.A3={width:842,height:1191},e.A2={width:1191,height:1684},e.A1={width:1684,height:2384},e.Letter={width:612,height:791},e.Legal={width:612,height:1009},e.Legal={width:612,height:1009},e.Widescreen={width:720,height:1280},e.Standard={width:720,height:960},e.COLLAPSE_PARENT_NEIGHBORS=1,e.COLLAPSE_SUB_CHILDRENS=2,e.COLLAPSE_PARENT_SUB_CHILDREN_EXCEPT_CLICKED=3,e.TEXT_THRESHOLD=4e3,e.IMAGES_THRESHOLD=1e3,e.LINKS_THRESHOLD=2e3,e.BUTTONS_THRESHOLD=700,e.ANIM_THRESHOLD=500,e.IT_IS_LONELY_HERE=`<g transform="translate(-100, 0)" style="cursor:pointer;" `+e.attr.control_add+`="control-add"><text fill="#039be5">{link}</text></g>`,e.RES={},e.IT_IS_LONELY_HERE_LINK=e.RES.IT_IS_LONELY_HERE_LINK=`It's lonely here, add your first node`,e.FIRE_DRAG_NOT_CLICK_IF_MOVE=3,e.STRING_TAGS=!1,e.MAX_NODES_MESS=`The trial has expired or 200 nodes limit was reached! <br /><a style='color: #039BE5;' target='_blank' href='https://balkan.app/OrgChartJS/Docs/Evaluation'>See more</a>`,e.OFFLINE_MESS=`The evaluation version requires internet connection! <br /><a style='color: #039BE5;' target='_blank' href='https://balkan.app/OrgChartJS/Docs/Evaluation'>See more</a>`,e.SEARCH_PLACEHOLDER=`Search... type ? to get help.`,e.SEARCH_HELP_SYMBOL=`?`,e.SEARCH_CLOSE_RESULT_ON_ESCAPE_OR_CLICKOUTSIDE=!1,e.SEARCH_RESULT_LIMIT=10,e.IMPORT_MESSAGE=`Choose the columns (fields) in your data file that contain the required information.`,e.FIXED_POSITION_ON_CLICK=!1,e.RENDER_LINKS_BEFORE_NODES=!1,e.RENDER_CLINKS_BEFORE_NODES=!1,e.MIXED_LAYOUT_ALL_NODES=!1,e.MIXED_LAYOUT_FOR_NODES_WITH_COLLAPSED_CHILDREN=!1,e.MIXED_LAYOUT_IF_NUMBER_OF_CHILDREN_IS_MORE_THEN=1,e.LINK_ROUNDED_CORNERS=5,e.MOVE_STEP=5,e.CLINK_CURVE=1,e.MAX_DEPTH=200,e.SCALE_FACTOR=1.44,e.LAZY_LOADING_FACTOR=`auto`,e.LAZY_LOADING=!0,e.ARRAY_FIELDS=[`tags`],e.CSV_DELIMITER=`,`,e.EDITFORM_CLOSE_BTN=`<svg data-edit-from-close class="boc-edit-form-close"><path style="fill:#ffffff;" d="M21.205,5.007c-0.429-0.444-1.143-0.444-1.587,0c-0.429,0.429-0.429,1.143,0,1.571l8.047,8.047H1.111 C0.492,14.626,0,15.118,0,15.737c0,0.619,0.492,1.127,1.111,1.127h26.554l-8.047,8.032c-0.429,0.444-0.429,1.159,0,1.587 c0.444,0.444,1.159,0.444,1.587,0l9.952-9.952c0.444-0.429,0.444-1.143,0-1.571L21.205,5.007z"></path></svg>`,e.ESCAPE_HTML=!1,e.VERTICAL_CHILDREN_ASSISTANT=!1,e.EXPORT_PAGES_CUT_NODES=!1,e.RESET_MOVABLE_ONEXPANDCOLLAPSE=!1,e.FILTER_ALPHABETICALLY=!0,e.SERVER_PREFIX=`.azurewebsites.net/api/you-see-this-request-because-it-is-trial-version-of-orgchartjs`,e.FUNC_URL_NAME=`func-url-orgchartjs`,e.MINIMUM_SYMBOLS_IN_SEARCH_INPUT=1,e.AI_SYSTEM_MESSAGES=[],e.ORGSCRIBE_OFFSET=` `,e.TREELIST_WHEEL_STEP=`auto`,e.TREELIST_SCROLLBAR_WIDTH=10,e.CONVERT_IMAGES_TO_BASE64_BEFORE_EXPORT=!1,e.REQUEST_CUSTOM_HEADERS={},e.SLINK_GAP=7,e._intersects=function(t,n,r){var i=t.x-r.siblingSeparation/4,a=t.y,o=t.x+t.w+r.siblingSeparation/4,s=t.y;switch(r.orientation){case e.orientation.right:case e.orientation.right_top:case e.orientation.left:case e.orientation.left_top:i=t.x,a=t.y-r.siblingSeparation/4,o=t.x,s=t.y+t.h+r.siblingSeparation/4;break}var c=n.p,l=n.q,u=n.r,d=n.s,f=(o-i)*(d-l)-(u-c)*(s-a),p,m;return f===0?!1:(m=((d-l)*(u-i)+(c-u)*(d-a))/f,p=((a-s)*(u-i)+(o-i)*(d-a))/f,0<m&&m<1&&0<p&&p<1)},e._addPoint=function(t,n,r,i,a){switch(r.orientation){case e.orientation.top:case e.orientation.top_left:return e._addPointTop(t,n,r,i,a);case e.orientation.bottom:case e.orientation.bottom_left:return e._addPointBottom(t,n,r,i,a);case e.orientation.left:case e.orientation.left_top:return e._addPointLeft(t,n,r,i,a);case e.orientation.right:case e.orientation.right_top:return e._addPointRight(t,n,r,i,a)}},e._addPointTop=function(e,t,n,r,i){var a,o,s;return i==`left`?a=e.leftNeighbor?e.x+(e.leftNeighbor.x+e.leftNeighbor.w-e.x)/2:e.x-n.siblingSeparation/2:i==`right`&&(a=e.rightNeighbor?e.x+e.w+(e.rightNeighbor.x-(e.x+e.w))/2:e.x+e.w+n.siblingSeparation/2),t.push([a,t[t.length-1][1]]),t.push([a,e.y-n.levelSeparation/3]),o=t[t.length-1][1],s=a,r.p=a,r.q=o,r.r=s,r},e._addPointBottom=function(e,t,n,r,i){var a,o,s;return i==`left`?a=e.leftNeighbor?e.x+(e.leftNeighbor.x+e.leftNeighbor.w-e.x)/2:e.x-n.siblingSeparation/2:i==`right`&&(a=e.rightNeighbor?e.x+e.w+(e.rightNeighbor.x-(e.x+e.w))/2:e.x+e.w+n.siblingSeparation/2),t.push([a,t[t.length-1][1]]),t.push([a,e.y+e.h+n.levelSeparation/3]),o=t[t.length-1][1],s=a,r.p=a,r.q=o,r.r=s,r},e._addPointLeft=function(e,t,n,r,i){var a=t[t.length-1][0],o;i==`bottom`?o=e.rightNeighbor?e.y+e.h+(e.rightNeighbor.y-(e.y+e.h))/2:e.y+e.h+n.siblingSeparation/2:i==`top`&&(o=e.leftNeighbor?e.y+(e.leftNeighbor.y+e.leftNeighbor.h-e.y)/2:e.y-n.siblingSeparation/2),t.push([t[t.length-1][0],o]),t.push([e.x-n.levelSeparation/3,o]),a=t[t.length-1][0];var s=o;return r.p=a,r.q=o,r.s=s,r},e._addPointRight=function(e,t,n,r,i){var a=t[t.length-1][0],o;i==`bottom`?o=e.rightNeighbor?e.y+e.h+(e.rightNeighbor.y-(e.y+e.h))/2:e.y+e.h+n.siblingSeparation/2:i==`top`&&(o=e.leftNeighbor?e.y+(e.leftNeighbor.y+e.leftNeighbor.h-e.y)/2:e.y-n.siblingSeparation/2),t.push([t[t.length-1][0],o]),t.push([e.x+e.w+n.levelSeparation/3,o]),a=t[t.length-1][0];var s=o;return r.p=a,r.q=o,r.s=s,r},e._addConnectorLines=function(t,n){e._addConnectorLine(t,{x1:n.xa,y1:n.ya,x2:n.xb,y2:n.yb}),e._addConnectorLine(t,{x1:n.xb,y1:n.yb,x2:n.xc,y2:n.yc}),e._addConnectorLine(t,{x1:n.xc,y1:n.yc,x2:n.xd,y2:n.yd})},e._addConnectorLine=function(e,t){if(t.x1==t.x2){if(e.x[t.x1]||(e.x[t.x1]=[]),t.y1>t.y2){var n=t.y1;t.y1=t.y2,t.y2=n}e.x[t.x1].push({y1:t.y1,y2:t.y2})}if(t.y1==t.y2){if(e.y[t.y1]||(e.y[t.y1]=[]),t.x1>t.x2){var r=t.x1;t.x1=t.x2,t.x2=r}e.y[t.y1].push({x1:t.x1,x2:t.x2})}},e._addLineToPath=function(t,n,r){return e._avoidOverlapping(n,r),t.push([r.x1,r.y1]),t.push([r.x2,r.y2]),e._addConnectorLine(n,r),r},e._slinkRemoveUnusedPoints=function(e){for(var t=e.length-2;t>=1;t--){var n=e[t-1],r=e[t],i=e[t+1];(r[0]==n[0]&&r[0]==i[0]||r[1]==n[1]&&r[1]==i[1])&&e.splice(t,1)}},e._slinkAvoidOverlaping=function(t,n,r,i){for(var a=1;a<n.length;a++){var o=n[a-1],s=n[a];if(o[0]==s[0]){for(var c=t.x[s[0]];c;){var l=!0;for(var u of c)if(u.y1<=o[1]&&u.y2>=o[1]||u.y1<=s[1]&&u.y2>=s[1]){i==e.orientation.top||i==e.orientation.top_left?r==`left`?s[0]-=e.SLINK_GAP:r==`right`&&(s[0]+=e.SLINK_GAP):(i==e.orientation.bottom||i==e.orientation.bottom_left)&&(r==`right`?s[0]+=e.SLINK_GAP:r==`left`&&(s[0]-=e.SLINK_GAP)),l=!1;break}if(l)break;c=t.x[s[0]]}o[0]=s[0]}var d=!0;if(o[1]==s[1]&&o[0]>=s[0]&&(d=!1),d&&o[1]==s[1]){for(var c=t.y[s[1]];c;){var l=!0;for(var u of c)if(u.x1<=o[0]&&u.x2>=o[0]||u.x1<=s[0]&&u.x2>=s[0]){o[0]>=s[0]||(i==e.orientation.top||i==e.orientation.top_left?s[1]-=e.SLINK_GAP:(i==e.orientation.bottom||i==e.orientation.bottom_left)&&(s[1]+=e.SLINK_GAP),l=!1);break}if(l)break;c=t.y[s[1]]}o[1]=s[1]}d&&e._addConnectorLine(t,{x1:o[0],y1:o[1],x2:s[0],y2:s[1]})}},e._slinkAvoidOverlapingSecond=function(t,n,r){for(var i=1;i<n.length;i++){var a=n[i-1],o=n[i],s=!1;if(a[1]==o[1]){for(var c=t.y[o[1]];c;){var l=!0;for(var u of c)if(u.x1<=a[0]&&u.x2>=a[0]||u.x1<=o[0]&&u.x2>=o[0]){a[0]>=o[0]?(r==e.orientation.top||r==e.orientation.top_left?o[1]-=e.SLINK_GAP:(r==e.orientation.bottom||r==e.orientation.bottom_left)&&(o[1]+=e.SLINK_GAP),l=!1):s=!0;break}if(l)break;c=t.y[o[1]]}a[1]=o[1]}s||e._addConnectorLine(t,{x1:a[0],y1:a[1],x2:o[0],y2:o[1]})}},e._slinkAvoidOverlaping2=function(t,n,r,i){for(var a=1;a<n.length;a++){var o=n[a-1],s=n[a];if(o[1]==s[1]){for(var c=t.y[s[1]];c;){var l=!0;for(var u of c)if(u.x1<=o[0]&&u.x2>=o[0]||u.x1<=s[0]&&u.x2>=s[0]){i==e.orientation.left||i==e.orientation.left_top?r==`top`?s[1]-=e.SLINK_GAP:r==`bottom`&&(s[1]+=e.SLINK_GAP):(i==e.orientation.right||i==e.orientation.right_top)&&(r==`bottom`?s[1]+=e.SLINK_GAP:r==`top`&&(s[1]-=e.SLINK_GAP)),l=!1;break}if(l)break;c=t.y[s[1]]}o[1]=s[1]}var d=!0;if(o[0]==s[0]&&o[1]>=s[1]&&(d=!1),d&&o[0]==s[0]){for(var c=t.x[s[0]];c;){var l=!0;for(var u of c)if(u.y1<=o[1]&&u.y2>=o[1]||u.y1<=s[1]&&u.y2>=s[1]){o[1]>=s[1]||(i==e.orientation.left||i==e.orientation.left_top?s[0]-=e.SLINK_GAP:(i==e.orientation.right||i==e.orientation.right_top)&&(s[0]+=e.SLINK_GAP),l=!1);break}if(l)break;c=t.x[s[0]]}o[0]=s[0]}d&&e._addConnectorLine(t,{x1:o[0],y1:o[1],x2:s[0],y2:s[1]})}},e._slinkAvoidOverlapingSecond2=function(t,n,r){for(var i=1;i<n.length;i++){var a=n[i-1],o=n[i],s=!1;if(a[0]==o[0]){for(var c=t.x[o[0]];c;){var l=!0;for(var u of c)if(u.y1<=a[1]&&u.y2>=a[1]||u.y1<=o[1]&&u.y2>=o[1]){a[1]>=o[1]?(r==e.orientation.left||r==e.orientation.left_top?o[0]-=e.SLINK_GAP:(r==e.orientation.right||r==e.orientation.right_top)&&(o[0]+=e.SLINK_GAP),l=!1):s=!0;break}if(l)break;c=t.x[o[0]]}a[0]=o[0]}s||e._addConnectorLine(t,{x1:a[0],y1:a[1],x2:o[0],y2:o[1]})}},e.editUI=function(){},e.editUI.prototype.init=function(t){this.obj=t,this.fields=null,this.nodeId=null,this.detailsMode=null,this._event_id=e._guid()},e.editUI.prototype.on=function(t,n){return e.events.on(t,n,this._event_id),this},e.editUI.prototype.show=function(t,n,r){if(this.hide(!0)){if(this.nodeId=t,this.detailsMode=n,e.events.publish(`show`,[this,t])===!1)return!1;var i=this,a=this.content(t,n,r);this.obj.element.appendChild(a.element),e.input.init(this.obj.element),e.events.publish(`shown`,[this,{nodeId:t}]),r?n||this._focusElement(a.focusId):this.interval=e.animate(a.element,{right:-20,opacity:0},{right:0,opacity:1},300,e.anim.outSin,function(){n||i._focusElement(a.focusId)}),this.obj.element.querySelector(`[data-edit-from-close]`).addEventListener(`click`,function(n){n.preventDefault(),e.events.publish(`cancel`,[i,{id:t}])!==!1&&i.hide()}),this.obj.element.querySelector(`[data-edit-from-save]`).addEventListener(`click`,function(e){e.preventDefault(),i.hide()});for(var o=this.obj.element.querySelectorAll(`[data-input-btn]`),s=0;s<o.length;s++)o[s].addEventListener(`click`,function(n){n.preventDefault(),e.events.publish(`element-btn-click`,[i,{input:this.parentNode.querySelector(`input`),nodeId:t,event:n}])});this.obj.element.querySelector(`[data-add-more-fields-btn]`).addEventListener(`click`,function(t){t.stopPropagation(),t.preventDefault();var n=this,r=e.elements.textbox({},{type:`textbox`,label:i.obj.config.editForm.addMoreFieldName,btn:i.obj.config.editForm.addMoreBtn},`280px`);n.parentNode.insertAdjacentHTML(`beforebegin`,r.html),n.style.display=`none`,e.input.init(n.parentNode.previousSibling);var a=document.getElementById(r.id);a.focus(),a.nextElementSibling.addEventListener(`click`,function(t){t.stopPropagation(),t.preventDefault();var r=a.value,o=i.obj.element.querySelector(`[data-binding="`+e._escapeDoubleQuotes(a.value)+`"]`);if(!e.isNEU(r)&&!o){var s=e.elements.textbox({},{type:`textbox`,label:r,binding:r},`280px`);a.parentNode.parentNode.parentNode.removeChild(a.parentNode.parentNode),n.parentNode.insertAdjacentHTML(`beforebegin`,s.html),n.style.display=``,e.input.init(n.parentNode.previousSibling);var c=document.getElementById(s.id);c.focus(),c.addEventListener(`input`,function(){i._drawCurrentNodeElement()})}else a.focus()})}),this.obj.element.querySelector(`[data-boc-edit-from-btns]`).addEventListener(`click`,function(n){for(var r=n.target;r&&r.hasAttribute&&!r.hasAttribute(`data-edit-from-btn`);)r=r.parentNode;if(r&&r.hasAttribute){var a=r.getAttribute(`data-edit-from-btn`),o={button:i.obj.config.editForm.buttons[a],name:a,nodeId:t,event:n};if(e.events.publish(`button-click`,[i,o])===!1)return!1;switch(a){case`edit`:i.obj.editUI.show(t,!1,!0);break;case`pdf`:i.obj.exportToPDFProfile(t),i.hide();break;case`share`:i.obj.shareProfile(t);break;case`remove`:i.obj.removeNode(t,null,!0),i.hide();break}}});for(var c=this.obj.element.querySelectorAll(`[data-boc-edit-form] [data-binding]`),s=0;s<c.length;s++){var l=c[s];l.getAttribute(`data-binding`)&&l.addEventListener(`input`,function(){i._drawCurrentNodeElement()})}}},e.editUI.prototype._drawCurrentNodeElement=function(){var t=this.obj.element.querySelector(`[data-boc-edit-form]`),n=e.input.getData(t),r=this.obj.get(this.nodeId),i=this.obj.getNode(this.nodeId),a=e.mergeDeep(r,n),o=this.obj.ui.node(i,a,[],this.obj.config,void 0,void 0,void 0,void 0,this.obj.getScale(),this.obj);this._replaceNodeWith(o)},e.editUI.prototype._replaceNodeWith=function(e){var t=document.createElementNS(`http://www.w3.org/2000/svg`,`g`);t.innerHTML=e;var n=t.firstElementChild;this.obj.getNodeElement(this.nodeId).replaceWith(n)},e.editUI.prototype.setAvatar=function(e){var t=this.obj.element.querySelector(`[id="boc-avatar"]`),n=this.obj.element.querySelector(`[id="boc-avatar"] img`),r=this.obj.element.querySelector(`[id="boc-avatar"] svg`);if(t)n?n.setAttribute(`src`,e):r&&(t.innerHTML=`<img style="width: 100%;height:100%;border-radius: 50%;object-fit:cover;" src="${e}">`);else return;this._drawCurrentNodeElement()},e.editUI.prototype.save=function(t){var n=this.obj.element.querySelector(`[data-boc-edit-form]`),r=e.input.validateAndGetData(n);if(r!==!1){var i=this.obj.get(this.nodeId),a={data:e.mergeDeep(i,r)};return e.events.publish(`save`,[this,a])===!1?void 0:(this.obj.updateNode(a.data,null,!0,t),!0)}return!1},e.editUI.prototype._focusElement=function(t){var n=null;e.isNEU(this.obj.config.editForm.focusBinding)?e.isNEU(t)||(n=document.getElementById(t)):n=this.obj.element.querySelector(`[data-binding="`+this.obj.config.editForm.focusBinding+`"]`),n&&(n.value&&n.value.length&&n.setSelectionRange(n.value.length,n.value.length),n.focus())},e.editUI.prototype.content=function(t,n,r,i,a){var o=this.obj.config.editForm.readOnly,s=JSON.parse(JSON.stringify(this.obj.config.editForm.elements)),c=this.obj.config.editForm.addMore,l=this.obj.config.editForm.saveAndCloseBtn,u=this.obj.config.editForm.buttons,d=this.obj.config.editForm.titleBinding,f=this.obj.config.editForm.photoBinding,p=this.obj.getNode(t),m=this.obj._get(t),h=e.t(p.templateName,p.min,this.obj.getScale()),g=m[d],_=m[f];if(this.obj.config.editForm.generateElementsFromFields)for(var v=0;v<this.fields.length;v++){var y=this.fields[v];if(y!=`tags`){for(var b=!1,x=0;x<s.length;x++){if(Array.isArray(s[x])){for(var S=0;S<s[x].length;S++)if(y==s[x][S].binding){b=!0;break}}else if(y==s[x].binding){b=!0;break}if(b)break}b||s.push({type:`textbox`,label:y,binding:y})}}e.isNEU(g)&&(g=``),_=e.isNEU(_)?e.icon.user(150,150,`#8C8C8C`,0,0):`<img style="width: 100%;height:100%;border-radius: 50%;object-fit:cover;" src="${_}"></img>`;var C,w=!n,T=n?`display:none;`:``,E=n||!c?`display:none;`:``,D=h.editFormHeaderColor?`style="background-color:${h.editFormHeaderColor};"`:``,O=document.createElement(`form`);if(O.setAttribute(`data-boc-edit-form`,``),O.classList.add(`boc-edit-form`),O.classList.add(this.obj.config.mode),O.classList.add(p.templateName.replaceAll(` `,``)),O.classList.add(e.ui._defsIds[p.templateName]),Array.isArray(p.tags)&&p.tags.length)for(var v=0;v<p.tags.length;v++)O.classList.add(p.tags[v].replaceAll(` `,``));O.style.display=`flex`,O.style.opacity=r?1:0,O.style.right=r?0:`-20px`,i&&(O.style.width=i);var k=[];return O.innerHTML=`<div>
26
+ </g>`}}for(var f=0;f<t.visibleNodeIds.length;f++){var p=t.nodes[t.visibleNodeIds[f]],m=a._get(p.id);p.isTreeListItem||(e.RENDER_LINKS_BEFORE_NODES||(s+=a.ui.link(p,a,c,t.bordersByRootIdAndLevel,t.nodes,n)),s+=a.ui.expandCollapseBtn(a,p,m,a.config,a._layoutConfigs,n,c))}var o={content:s,res:t};if(e.events.publish(`render`,[a,o]),s=o.content,t=o.res,s+=a.ui.lonely(a.config),n===e.action.exporting){var w=t.boundary,T=w.maxX-w.minX,E=w.maxY-w.minY,D=a.ui.svg(T,E,[w.minX,w.minY,T,E],a.config,s,c);i.call(a,D,t);return}(n===e.action.centernode||n===e.action.insert||n===e.action.expand||n===e.action.collapse||n===e.action.update)&&(u=l),n===e.action.init&&l!=null&&(u=l),n===e.action.centerNode&&l!=null&&(u=l),a.response=t,a._lastSize={width:a.width(),height:a.height()},s+=`<text y="-9999999" x="-9999999" data-hidden-measure></text>`;var D=a.ui.svg(`100%`,`100%`,u,a.config,s);if(!a._initialized)a.element.innerHTML=a.ui.css()+D+a.ui.menuButton(a.config)+a.ui.aiButton(a.config),a._attachEventHandlers(),a.xScrollUI.create(a.width(),a.config.padding),a.xScrollUI.setPosition(),a.xScrollUI.addListener(a.getSvg()),a.yScrollUI.create(a.height(),a.config.padding),a.yScrollUI.setPosition(),a.yScrollUI.addListener(a.getSvg()),a.config.enableSearch&&a.searchUI.init(a),a.aiUI.init(a),a.orgScribeUI.init(a),a.powerPointPreviewUI.init(a),a.pdfPreviewUI.init(a),a.svgPreviewUI.init(a),a.pngPreviewUI.init(a),a.toolbarUI.init(a,a.config.toolbar),a.undoRedoUI.init(a),a.controlsUI.init(a);else{var O=a.getSvg(),k=O.parentNode;k.removeChild(O),k.insertAdjacentHTML(`afterbegin`,D),a._attachEventHandlers(),a.xScrollUI.addListener(a.getSvg()),a.yScrollUI.addListener(a.getSvg()),a.xScrollUI.setPosition(),a.yScrollUI.setPosition()}var A=!1,j=a.response.animations;if(j[0].length>0){a._hideBeforeAnimation(j[0].length);for(var f=0;f<j[0].length;f++)j[0][f]=a.getNodeElement(j[0][f]);e.animate(j[0],j[1],j[2],a.config.anim.duration,a.config.anim.func,function(){A||=(i&&i.call(a),e.events.publish(`redraw`,[a]),a._showAfterAnimation(),!0)})}n===e.action.centerNode?e.animate(a.getSvg(),{viewbox:l},{viewbox:a.response.viewBox},a.config.anim.duration,a.config.anim.func,function(){a.ripple(r.options.rippleId),A||=(i&&i.call(a),e.events.publish(`redraw`,[a]),a._showAfterAnimation(),!0)},function(){a.xScrollUI.setPosition(),a.yScrollUI.setPosition()}):l&&a.response&&(l[0]!=a.response.viewBox[0]||l[1]!=a.response.viewBox[1]||l[2]!=a.response.viewBox[2]||l[3]!=a.response.viewBox[3])&&(n===e.action.insert||n===e.action.expand||n===e.action.collapse||n===e.action.update||n===e.action.init)?a._loaded?e.animate(a.getSvg(),{viewbox:l},{viewbox:a.response.viewBox},a.config.anim.duration*2,a.config.anim.func,function(){a.xScrollUI.setPosition(),a.yScrollUI.setPosition(),A||=(i&&i.call(a),e.events.publish(`redraw`,[a]),!0)}):(a.setViewBox(a.response.viewBox),e.events.publish(`redraw`,[a])):j[0].length==0&&(A||=(i&&i.call(a),e.events.publish(`redraw`,[a]),!0)),a._initialized||(a._initialized=!0,a.filterUI.update(),a._ai.setContext(),e.events.publish(`init`,[a])),!a._loaded&&t&&t.nodes&&Object.keys(t.nodes).length&&(a._loaded=!0)}},function(t){e.events.publish(`ready`,[a,t])})}},e.prototype._setInitialSizeIfNotSet=function(){this.mainElement.style.overflow=`hidden`,this.mainElement.style.position=`relative`,this.mainElement.offsetHeight==0&&(this.mainElement.style.height=`100%`,this.mainElement.offsetHeight==0&&(this.mainElement.style.height=`700px`)),this.mainElement.offsetWidth==0&&(this.mainElement.style.width=`100%`,this.mainElement.offsetWidth==0&&(this.mainElement.style.width=`700px`))},e.prototype.width=function(){return this.element.offsetWidth},e.prototype.height=function(){return this.element.offsetHeight},e.prototype.getViewBox=function(){var t=this.getSvg();return e._getViewBox(t)},e.prototype.setViewBox=function(e){this.getSvg().setAttribute(`viewBox`,e.toString())},e.prototype.getScale=function(t){return t||=this.getViewBox(),e.getScale(t,this.width(),this.height(),this.config.scaleInitial,this.config.scaleMax,this.config.scaleMin)},e.prototype.setScale=function(t){t>this.config.scaleMax&&(t=this.config.scaleMax),t<this.config.scaleMin&&(t=this.config.scaleMin);var n=this.getViewBox().slice(0),r=this.width(),i=this.height(),a=r/n[2],o=i/n[3],s=a>o?o:a,c=n,l=n[2],u=n[3];return n[2]/=t/s,n[3]/=t/s,n[0]=c[0]-(n[2]-l)/2,n[1]=c[1]-(n[3]-u)/2,this.setViewBox(n),e.events.publish(`redraw`,[this]),t},e.prototype.ripple=function(t,n,r){var i=this.getNode(t);if(i!=null){var a=this.getNodeElement(t);if(a!=null){var o=this.getScale(),s=i.w/2,c=i.h/2;if(n!==void 0&&r!==void 0){var l=a.getBoundingClientRect();s=n/o-l.left/o,c=r/o-l.top/o}var u=i.w,d=i.h,f=u-s>s?u-s:s,p=d-c>c?d-c:c;f=f,p=p;var m=f>p?f:p,h=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),g=document.createElementNS(`http://www.w3.org/2000/svg`,`clipPath`),_=document.createElementNS(`http://www.w3.org/2000/svg`,`rect`),v=document.createElementNS(`http://www.w3.org/2000/svg`,`circle`),y=e.randomId();g.setAttribute(`id`,y);var b={ripple:e.t(i.templateName,i.min,this.getScale()).ripple,node:i};e.events.publish(`ripple`,[this,b]),_.setAttribute(`x`,b.ripple.rect?b.ripple.rect.x:0),_.setAttribute(`y`,b.ripple.rect?b.ripple.rect.y:0),_.setAttribute(`width`,b.ripple.rect?b.ripple.rect.width:i.w),_.setAttribute(`height`,b.ripple.rect?b.ripple.rect.height:i.h),_.setAttribute(`rx`,b.ripple.radius),_.setAttribute(`ry`,b.ripple.radius),v.setAttribute(`clip-path`,`url(#`+y+`)`),v.setAttribute(`cx`,s),v.setAttribute(`cy`,c),v.setAttribute(`r`,0),v.setAttribute(`fill`,b.ripple.color),v.setAttribute(`class`,`boc-ripple`),g.appendChild(_),h.appendChild(g),h.appendChild(v),a.appendChild(h),e.animate(v,{r:0,opacity:1},{r:m,opacity:0},500,e.anim.outPow,function(){a.removeChild(h)})}}},e.prototype.centerOutNodes=function(t){if(this._centerInNodes){var n=JSON.parse(this._centerInNodes);this._centerInNodes=null;var r=this;this._centerInNodesTimeout=e.animate(this.getSvg(),{viewBox:this.getViewBox()},{viewBox:n},300,this.config.anim.func,function(){r.draw(e.action.update,null,function(){t&&t.call(r)})})}},e.prototype.centerInNodes=function(t,n){var r=this.getViewBox();this._centerInNodes||=JSON.stringify(r);var i=2**53-1,a=-(2**53-1),o=2**53-1,s=-(2**53-1);for(var c of t)c.y<i&&(i=c.y),c.y+c.h>a&&(a=c.y+c.h),c.x<o&&(o=c.x),c.x+c.w>s&&(s=c.x+c.w);var l=s-o,u=a-i,d=l/(l+this.config.padding*2),f=u/(u+this.config.padding*2),p=d>f?f:d;p>this.config.scaleMax&&(p=this.config.scaleMax),p<this.config.scaleMin&&(p=this.config.scaleMin);var m=[50,50],h=this.width(),g=this.height(),d=h/r[2],f=g/r[3],_=d>f?f:d,v=r,y=r[2],b=r[3];r[2]/=p/_,r[3]/=p/_,r[0]=v[0]-(r[2]-y)/(100/m[0]),r[1]=v[1]-(r[3]-b)/(100/m[1]),r[0]=o-(h/p-l)/2,r[1]=i-(g/p-u)/2;var x=this;this._centerInNodesTimeout&&=(clearTimeout(this._centerInNodesTimeout),null),this._centerInNodesTimeout=e.animate(this.getSvg(),{viewBox:this.getViewBox()},{viewBox:r},300,this.config.anim.func,function(){x.draw(e.action.update,null,function(){n&&n.call(x)})})},e.prototype.center=function(t,n,r){var i,a,o=t,s=!0,c=!0;n&&n.parentState!=null&&(i=n.parentState),n&&n.childrenState!=null&&(a=n.childrenState),n&&n.rippleId!=null&&(o=n.rippleId),n&&n.vertical!=null&&(s=n.vertical),n&&n.horizontal!=null&&(c=n.horizontal);var l={parentState:i,childrenState:a,rippleId:o,vertical:s,horizontal:c};this._draw(!1,e.action.centerNode,{id:t,options:l},r)},e.prototype.fit=function(t){this.config.scaleInitial=e.match.boundary,this._draw(!0,e.action.init,{method:`fit`},t)},e.prototype.fitIfOutside=function(t){this.config.scaleInitial=e.match.boundaryIfOutside,this._draw(!0,e.action.init,{method:`fit`},t)},e.prototype.toggleFullScreen=function(){var t=document.querySelector(`[`+e.attr.tlbr+`r='fullScreen']`);document.fullscreenElement==this.element||document.webkitFullscreenElement==this.element||document.mozFullScreenElement==this.element||document.msFullscreenElement==this.element?(document.exitFullscreen?document.exitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen?document.webkitExitFullscreen():document.msExitFullscreen&&document.msExitFullscreen(),t&&(t.innerHTML=e.toolbarUI.openFullScreenIcon)):(this.element.requestFullscreen?this.element.requestFullscreen():this.element.mozRequestFullScreen?this.element.mozRequestFullScreen():this.element.webkitRequestFullscreen?this.element.webkitRequestFullscreen():this.element.msRequestFullscreen&&this.element.msRequestFullscreen(),t&&(t.innerHTML=e.toolbarUI.closeFullScreenIcon))},e.prototype.getNode=function(e){return this.nodes[e]},e.prototype.setLayout=function(t,n){n||=`base`,this._layoutConfigs[n].layout=t,n==`base`&&(this.config.layout=t),this._draw(!1,e.action.update)},e.prototype.setOrientation=function(t,n,r){var i=this;n||=`base`,this._layoutConfigs[n].orientation=t,n==`base`&&(this.config.orientation=t),this._draw(!1,e.action.update,void 0,function(){i.getScale(),e._moveToBoundaryArea(i.getSvg(),i.getViewBox(),i.response.boundary,function(){i._draw(!0,e.action.pan),r&&r()})})},e.prototype.search=function(t,n,r){return e.isNEU(n)&&(n=this.searchUI._searchFields),e.isNEU(r)&&(r=n),e._search.search(this.config.nodes,t,n,r,this.config.searchDisplayField,this.config.searchFieldsWeight,this.searchUI._searchFieldsAbbreviation)},e.prototype._hideBeforeAnimation=function(t){if(this._hideBeforeAnimationCompleted!=1&&!(t&&t<e.ANIM_THRESHOLD)){var n=this.element.getElementsByTagName(`text`);if(n.length>e.TEXT_THRESHOLD)for(var r=0;r<n.length;r++)n[r].style.display=`none`;var i=this.element.getElementsByTagName(`image`);if(i.length>e.IMAGES_THRESHOLD)for(var r=0;r<i.length;r++)i[r].style.display=`none`;var a=this.element.querySelectorAll(`[`+e.attr.link_id+`]`);if(a.length>e.LINKS_THRESHOLD)for(var r=0;r<a.length;r++)a[r].style.display=`none`;var o=this.element.querySelectorAll(`[`+e.attr.control_expcoll_id+`]`);if(o.length>e.BUTTONS_THRESHOLD)for(var r=0;r<o.length;r++)o[r].style.display=`none`;var s=this.element.querySelectorAll(`[`+e.attr.control_up_id+`]`);if(s.length>e.BUTTONS_THRESHOLD)for(var r=0;r<s.length;r++)s[r].style.display=`none`;this._hideBeforeAnimationCompleted=!0}},e.prototype._showAfterAnimation=function(){for(var t=this.element.getElementsByTagName(`text`),n=0;n<t.length;n++)t[n].style.display=``;for(var r=this.element.getElementsByTagName(`image`),n=0;n<r.length;n++)r[n].style.display=``;for(var i=this.element.querySelectorAll(`[`+e.attr.link_id+`]`),n=0;n<i.length;n++)i[n].style.display=``;for(var a=this.element.querySelectorAll(`[`+e.attr.control_expcoll_id+`]`),n=0;n<a.length;n++)a[n].style.display=``;for(var o=this.element.querySelectorAll(`[`+e.attr.control_up_id+`]`),n=0;n<o.length;n++)o[n].style.display=``;this._hideBeforeAnimationCompleted=!1},e.prototype.isChild=function(e,t){for(var n=this.getNode(t);n;){if(n.id==e)return!0;n=n.parent?n.parent:n.stParent}return!1},e.prototype.getCollapsedIds=function(e){for(var t=[],n=0;n<e.childrenIds.length;n++){var r=this.getNode(e.childrenIds[n]);r.collapsed==1&&t.push(r.id)}return t},e.prototype.stateToUrl=function(){if(this.manager.state){var e={};return e.exp=this.manager.state.exp.join(`*`),e.min=this.manager.state.min.join(`*`),e.adjustify=this.manager.state.adjustify.x+`*`+this.manager.state.adjustify.y,e.scale=this.manager.state.scale,e.y=this.manager.state.x,e.x=this.manager.state.y,new URLSearchParams(e).toString()}return``},e.prototype.generateId=function(){for(;;){var e=`_`+(`0000`+(Math.random()*36**4|0).toString(36)).slice(-4);if(this.nodes==null||!this.nodes.hasOwnProperty(e))return e}},e.prototype.moveNodesToVisibleAreaAfterExpand=function(t,n,r){e._moveNodesToVisibleAreaAfterExpand(this,t,n,r)},e.prototype.moveNodesToVisibleArea=function(t,n){for(var r=this,i=this.roots[0],a=this.getSvg(),o=this.getViewBox(),s=null,c=null,l=null,u=null,d=0;d<t.length;d++){var f=this.nodes[t[d]];f.x!=null&&f.y!=null&&((s===null||s<f.x+f.w)&&(s=f.x+f.w),(c===null||c<f.y+f.h)&&(c=f.y+f.h),(l===null||l>f.x)&&(l=f.x),(u===null||u>f.y)&&(u=f.y))}if(!(s==null||c==null||l==null||u==null)){var p=this.width(),m=this.height(),h=s-l+this.config.padding*2,g=c-u+this.config.padding*2,_=p/h,v=m/g,y=_>v?v:_,b=Math.ceil(p/y),x=Math.ceil(m/y),h=0,g=0;if(b-this.config.padding*2>=s-l)h=(s+l)/2-b/2;else switch(h=i.x-b/2+e.manager._getNodeWidth(i,this.config)/2,this.config.orientation){case e.orientation.right:case e.orientation.right_top:h=-(b/2-(l-s)/2),h<this.config.padding-b&&(h=this.config.padding-b);break;case e.orientation.left:case e.orientation.bottom_left:case e.orientation.top_left:case e.orientation.left_top:h=-(b/2-(s-l)/2),h>-this.config.padding&&(h=-this.config.padding);break}if(x-this.config.padding*2>=c-u)g=(c+u)/2-x/2;else switch(g=-(x/2-(c-u)/2),g>-this.config.padding&&(g=-this.config.padding),this.config.orientation){case e.orientation.bottom:case e.orientation.bottom_left:g=-(x/2-(u-c)/2),g<this.config.padding-x&&(g=this.config.padding-x);break;case e.orientation.left:case e.orientation.right:g=i.y-x/2+e.manager._getNodeWidth(i,this.config)/2;break}var S=[h,g,b,x];o[0]!==S[0]||o[1]!==S[1]?e.animate(a,{viewBox:o},{viewBox:S},this.config.anim.duration,this.config.anim.func,function(){r.draw(e.action.update,void 0,n)}):n&&n()}},e.prototype._nodeHasHiddenParent=function(t){return!t.parent&&!e.isNEU(t.pid)},e.prototype.destroy=function(){this._initCalled=!1,this._resizeObserver.unobserve(this.element),e.events.removeForEventId(this._event_id),this.element.innerHTML=null},e._defaultConfig=function(t){return{interactive:!0,mode:`light`,lazyLoading:`auto`,enableDragDrop:!1,enableSearch:!0,enableAI:!1,enablePan:!0,keyNavigation:!1,miniMap:!1,controls:null,nodeMenu:null,nodeCircleMenu:null,nodeContextMenu:null,menu:null,toolbar:!1,nodeMouseClick:e.action.details,nodeMouseDbClick:e.none,mouseScroll:e.action.ctrlZoom,showXScroll:!1,showYScroll:!1,template:`ana`,tags:{},min:!1,nodeBinding:{},linkBinding:{},searchFields:null,searchDisplayField:null,searchFieldsWeight:null,searchFieldsAbbreviation:null,nodes:[],clinks:[],slinks:[],backdrops:[],groupDottedLines:[],dottedLines:[],undoRedoStorageName:null,levelSeparation:60,siblingSeparation:20,subtreeSeparation:40,backdropSeparation:15,mixedHierarchyNodesSeparation:15,assistantSeparation:100,minPartnerSeparation:50,partnerChildrenSplitSeparation:20,partnerNodeSeparation:15,columns:10,padding:30,orientation:e.orientation.top,layout:e.layout.normal,layoutGridColumns:`dynamic`,scaleInitial:e.match.boundaryIfOutside,movable:null,scaleMin:.1,scaleMax:5,highlightOnHover:`none`,orderBy:null,editUI:null,aiUI:null,orgScribeUI:null,powerPointPreviewUI:null,pdfPreviewUI:null,svgPreviewUI:null,pngPreviewUI:null,filterUI:null,searchUI:null,xScrollUI:null,yScrollUI:null,nodeMenuUI:null,controlsUI:null,nodeCircleMenuUI:null,nodeContextMenuUI:null,toolbarUI:null,notifierUI:null,menuUI:null,undoRedoUI:null,exportUrl:`https://balkan.app/export`,serverUrl:`https://serverjs.balkan.app`,aiChatTools:[],collapse:{},expand:{},align:e.CENTER,UI:null,anim:{func:e.anim.outPow,duration:200},zoom:{speed:120,smooth:12},roots:null,state:null,editForm:{readOnly:!1,titleBinding:`name`,photoBinding:`img`,addMore:`Add more fields`,addMoreBtn:`Add`,addMoreFieldName:`Field name`,saveAndCloseBtn:`Save and close`,generateElementsFromFields:!0,focusBinding:null,buttons:{edit:{icon:e.icon.edit(24,24,`#fff`),text:`Edit`,hideIfEditMode:!0,hideIfDetailsMode:!1},share:{icon:e.icon.share(24,24,`#fff`),text:`Share`},pdf:{icon:e.icon.pdf(24,24,`#fff`),text:`Save as PDF`},remove:{icon:e.icon.remove(24,24,`#fff`),text:`Remove`,hideIfDetailsMode:!0}},elements:[]}}},e.localStorage={},e.localStorage.getItem=function(e){var t=localStorage.getItem(`to_date`);if(!t)t=new Date,t.setDate(t.getDate()+5),t=t.toISOString(),localStorage.setItem(`to_date`,t);else if(t=new Date(t),t<new Date){for(var n=0,r=localStorage.length;n<r;++n){var i=localStorage.key(n);i&&i.startsWith&&i.startsWith(`{"n"`)&&localStorage.removeItem(i)}localStorage.removeItem(`to_date`)}return localStorage.getItem(e)},e.localStorage.setItem=function(e,t){try{localStorage.setItem(e,t)}catch(e){e.code==e.QUOTA_EXCEEDED_ERR?(console.warn(`Local storage quota exceeded`),localStorage.clear()):(console.error(`Local storage error code:`+e.code),console.error(e))}},e.prototype.canUpdateLink=function(e,t){if(t==null||t==null||e==null||e==null||e==t)return!1;var n=this.getNode(t),r=this.getNode(e);return n&&r&&(n.isPartner||n.hasPartners&&r.isAssistant||n.hasAssistants&&r.isPartner)?!1:!this.isChild(e,t)},e.prototype._canUpdateLink=e.prototype.canUpdateLink,e.prototype.updateNode=function(t,n,r,i){if(t){var a=this,o=this.get(t.id);if(r===!0&&e.events.publish(`update`,[this,o,t])===!1)return!1;this.update(t),this._ai.setContext(),e.events.publish(`updated`,[this]),this.filterUI.update();var s=this.getNode(t.id),c=s.pid;c??=s.stpid,this._draw(!1,e.action.update,{id:c},function(){i||a.ripple(t.id),n&&n()})}},e.prototype.update=function(e){for(var t=0;t<this.config.nodes.length;t++)if(this.config.nodes[t].id==e.id){this._putInUndoStack(),this.clearRedo(),this.config.nodes[t]=e;break}return this},e.prototype.removeNode=function(t,n,r){if(!this.canRemove(t))return!1;var i=this._getNewPidsAndStpidsForIds(t);return r===!0&&e.events.publish(`remove`,[this,t,i])===!1?!1:(this.remove(t),this._ai.setContext(),e.events.publish(`updated`,[this]),this.filterUI.update(),this._draw(!1,e.action.update,null,function(){n&&n()}),!0)},e.prototype.remove=function(e){var t=this.get(e);if(t){this._putInUndoStack(),this.clearRedo();for(var n=this.config.nodes.length-1;n>=0;n--)(this.config.nodes[n].pid==e||this.config.nodes[n].stpid==e)&&(this.config.nodes[n].pid=t.pid,this.config.nodes[n].stpid=t.stpid),this.config.nodes[n].id==e&&this.config.nodes.splice(n,1)}return this},e.prototype._getNewPidsAndStpidsForIds=function(e){var t=this.get(e),n={},r={};if(t)for(var i=this.config.nodes.length-1;i>=0;i--)this.config.nodes[i].pid==e?n[this.config.nodes[i].id]=t.pid:this.config.nodes[i].stpid==e&&(r[this.config.nodes[i].id]=t.stpid);return{newPidsForIds:n,newStpidsForIds:r}},e.prototype.addNode=function(t,n,r){var i=this;if(r===!0&&e.events.publish(`add`,[this,t])===!1)return!1;this.add(t),this._ai.setContext(),e.events.publish(`updated`,[this]),this.filterUI.update(),i._draw(!1,e.action.insert,{id:t.pid,insertedNodeId:t.id},function(){i.ripple(t.id),n&&n()})},e.prototype.addNodes=function(t,n,r){if(Array.isArray(n)){var i=this,a=[];for(var o of n)this.add(o),a.push(o.id);this._ai.setContext(),e.events.publish(`updated`,[this]),this.filterUI.update();var s={id:t};i._draw(!1,e.action.update,s,function(){r&&r()})}},e.prototype.add=function(t){if(t.id??console.error(`Call addNode without id`),this._putInUndoStack(),this.clearRedo(),this.config.movable&&!e.isNEU(t.pid)){var n=this._get(t.pid);n&&(n.movex!=null&&(t.movex=n.movex),n.movey!=null&&(t.movey=n.movey))}return this.config.nodes.push(t),this},e.prototype.replaceIds=function(t,n){this._replaceIds(t),this._draw(!1,e.action.update,void 0,n)},e.prototype._replaceIds=function(t){for(var n=function(e){for(var n=0;n<e.length;n++){var r=e[n];for(var i in t){var a=t[i];r.from==i&&(r.from=a),r.to==i&&(r.to=a)}}},r=0;r<this.config.nodes.length;r++){var i=this.config.nodes[r];for(var a in t){var o=t[a];i.id==a&&(i.id=o),i.pid==a&&(i.pid=o),i.stpid==a&&(i.stpid=o),i.ppid==a&&(i.ppid=o)}}if(Array.isArray(this.config.roots))for(var r=0;r<this.config.roots.length;r++)e.isNEU(t[this.config.roots[r]])||(this.config.roots[r]=t[this.config.roots[r]]);if(this.nodes){for(var s in this.nodes)if(!e.isNEU(t[s])){var o=t[s],c=this.nodes[s];c.id=o,this.nodes[o]=c}}if(this.manager.oldNodes){for(var s in this.manager.oldNodes)if(!e.isNEU(t[s])){var o=t[s],c=this.manager.oldNodes[s];c.id=o,this.manager.oldNodes[o]=c}}if(this.roots){for(var s in this.roots)if(!e.isNEU(t[s])){var o=t[s],c=this.roots[s];c.id=o,this.roots[o]=c}}n(this.config.clinks),n(this.config.slinks),n(this.config.groupDottedLines),n(this.config.dottedLines)},e.prototype._get=function(t){var n=this.__get(t);if(n)return n;if((this.config.groupDottedLines.length||this.config.dottedLines.length)&&!e.isNEU(t)&&typeof t==`string`&&(t.indexOf(`balkan_group_dotted_`)!=-1||t.indexOf(`balkan_dotted_`)!=-1)){t=t.replace(`balkan_group_dotted_`,``),t=t.replace(`balkan_dotted_`,``);var r=t.indexOf(`_balkan_id_`);if(t=t.substring(r+11),n=this.__get(t),n)return n}return null},e.prototype.__get=function(e){for(var t=0;t<this.config.nodes.length;t++)if(this.config.nodes[t].id==e)return this.config.nodes[t];return null},e.prototype.get=function(e){var t=this._get(e);return t==null?null:JSON.parse(JSON.stringify(t))},e.prototype.canRemove=function(e){var t=this.getNode(e);return!(!t||t.hasPartners||t.hasAssistants)},e===void 0&&(e={}),e._ajax=function(t,n,r,i,a){i??=`arraybuffer`;var o=new XMLHttpRequest;for(var s in o.onload=function(e){o.readyState==4&&this.status===200&&(e.target==null?a(this.response):a(e.target.response))},o.onerror=function(e){a({error:e})},o.open(n,t),o.responseType=i,o.setRequestHeader(`Content-Type`,`application/json`),e.REQUEST_CUSTOM_HEADERS)o.setRequestHeader(s,e.REQUEST_CUSTOM_HEADERS[s]);r==null?o.send():o.send(r)},e===void 0&&(e={}),e.animate=function(t,n,r,i,a,o,s){var c=10,l=1,u=1,d=i/c+1,f;document.getElementsByTagName(`g`),Array.isArray(t)||(t=[t]),Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);function p(){for(var p=0;p<t.length;p++)for(var m in r[p]){var h=e._arrayContains([`top`,`left`,`right`,`bottom`,`width`,`height`],m.toLowerCase())?`px`:``;switch(m.toLowerCase()){case`d`:var g=a((u*c-c)/i)*(r[p][m][0]-n[p][m][0])+n[p][m][0],_=a((u*c-c)/i)*(r[p][m][1]-n[p][m][1])+n[p][m][1];t[p].setAttribute(`d`,t[p].getAttribute(`d`)+` L`+g+` `+_);break;case`r`:var v=a((u*c-c)/i)*(r[p][m]-n[p][m])+n[p][m];t[p].setAttribute(`r`,v);break;case`x1`:var v=a((u*c-c)/i)*(r[p][m]-n[p][m])+n[p][m];t[p].setAttribute(`x1`,v);break;case`x2`:var v=a((u*c-c)/i)*(r[p][m]-n[p][m])+n[p][m];t[p].setAttribute(`x2`,v);break;case`y1`:var v=a((u*c-c)/i)*(r[p][m]-n[p][m])+n[p][m];t[p].setAttribute(`y1`,v);break;case`y2`:var v=a((u*c-c)/i)*(r[p][m]-n[p][m])+n[p][m];t[p].setAttribute(`y2`,v);break;case`scrolltop`:var v=a((u*c-c)/i)*(r[p][m]-n[p][m])+n[p][m];t[p].scrollTop=v;break;case`rotate3d`:if(r[p][m]){var y=n[p][m],b=r[p][m],x=[0,0,0,0];for(var S in y)x[S]=a((u*c-c)/i)*(b[S]-y[S])+y[S];t[p].style.transform=`rotate3d(`+x.toString()+`deg)`}break;case`transform`:if(r[p][m]){var y=n[p][m],b=r[p][m],x=[0,0,0,0,0,0];for(var S in y)x[S]=a((u*c-c)/i)*(b[S]-y[S])+y[S];t[p].hasAttribute(`transform`)?t[p].setAttribute(`transform`,`matrix(`+x.toString()+`)`):t[p].style.transform=`matrix(`+x.toString()+`)`}break;case`viewbox`:if(r[p][m]){var y=n[p][m],b=r[p][m],x=[0,0,0,0];for(var S in y)x[S]=a((u*c-c)/i)*(b[S]-y[S])+y[S];t[p].setAttribute(`viewBox`,x.toString())}break;case`margin`:if(r[p][m]){var y=n[p][m],b=r[p][m],x=[0,0,0,0];for(var S in y)x[S]=a((u*c-c)/i)*(b[S]-y[S])+y[S];for(var C=``,S=0;S<x.length;S++)C+=parseInt(x[S])+`px `;t[p]&&t[p].style&&(t[p].style[m]=C)}break;case`scrolly`:var v=a((u*c-c)/i)*(r[p][m]-n[p][m])+n[p][m];t[p].scrollTo(0,v);break;default:var v=a((u*c-c)/i)*(r[p][m]-n[p][m])+n[p][m];t[p]&&t[p].style&&(t[p].style[m]=v+h);break}}if(s){var v=a((u*c-c)/i);s(v)}u+=l,u>d+1&&(clearInterval(f),o&&o(t))}return f=setInterval(p,c),f},e.anim={},e.anim.inPow=function(e){return e<0?0:e>1?1:e**2},e.anim.outPow=function(e){var t=2;if(e<0)return 0;if(e>1)return 1;var n=t%2==0?-1:1;return n*((e-1)**t+n)},e.anim.inOutPow=function(t){var n=2;if(t<0)return 0;if(t>1)return 1;if(t*=2,t<1)return e.anim.inPow(t,n)/2;var r=n%2==0?-1:1;return r/2*((t-2)**n+r*2)},e.anim.inSin=function(e){return e<0?0:e>1?1:-Math.cos(Math.PI/2*e)+1},e.anim.outSin=function(e){return e<0?0:e>1?1:Math.sin(Math.PI/2*e)},e.anim.inOutSin=function(e){return e<0?0:e>1?1:-.5*(Math.cos(Math.PI*e)-1)},e.anim.inExp=function(e){return e<0?0:e>1?1:2**(10*(e-1))},e.anim.outExp=function(e){return e<0?0:e>1?1:-(2**(-10*e))+1},e.anim.inOutExp=function(e){return e<0?0:e>1?1:e<.5?.5*2**(10*(2*e-1)):.5*(-(2**(10*(-2*e+1)))+2)},e.anim.inCirc=function(e){return e<0?0:e>1?1:-(Math.sqrt(1-e*e)-1)},e.anim.outCirc=function(e){return e<0?0:e>1?1:Math.sqrt(1-(e-1)*(e-1))},e.anim.inOutCirc=function(e){return e<0?0:e>1?1:e<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(2*e-2)*(2*e-2))+1)},e.anim.rebound=function(e){return e<0?0:e>1?1:e<1/2.75?1-7.5625*e*e:e<2/2.75?1-(7.5625*(e-1.5/2.75)*(e-1.5/2.75)+.75):e<2.5/2.75?1-(7.5625*(e-2.25/2.75)*(e-2.25/2.75)+.9375):1-(7.5625*(e-2.625/2.75)*(e-2.625/2.75)+.984375)},e.anim.inBack=function(e){return e<0?0:e>1?1:e*e*(2.70158*e-1.70158)},e.anim.outBack=function(e){return e<0?0:e>1?1:(e-1)*(e-1)*(2.70158*(e-1)+1.70158)+1},e.anim.inOutBack=function(e){return e<0?0:e>1?1:e<.5?.5*(4*e*e*(3.5949*2*e-2.5949)):.5*((2*e-2)*(2*e-2)*(3.5949*(2*e-2)+2.5949)+2)},e.anim.impulse=function(e){var t=2*e;return t*Math.exp(1-t)},e.anim.expPulse=function(e){return Math.exp(-2*e**2)},e===void 0&&(e={}),e.prototype._attachEventHandlers=function(t){if(this.config.interactive){var t=this.getSvg(),n=this;t.addEventListener(`touchstart`,function(e){e.preventDefault(),n._globalMouseDownHandler.apply(n,[this,e])},{passive:!1}),t.addEventListener(`mousedown`,function(e){n._globalMouseDownHandler.apply(n,[this,e])},{passive:!0}),t.addEventListener(`contextmenu`,function(e){n._globalContextHandler.apply(n,[this,e])},{passive:!1}),t.addEventListener(`dblclick`,function(e){n._globalDbClickHandler.apply(n,[this,e])},{passive:!0}),this.config.mouseScroll!=e.action.none&&t.addEventListener(`wheel`,function(e){n._mouseScrollHandler.apply(n,[this,e])},{passive:!1});var r=this.getMenuButton();r&&r.addEventListener(`click`,function(e){n._menuClickHandler.apply(n,[this,e])})}},e===void 0&&(e={}),e.VERSION=`9.3.27`,e.orientation={},e.orientation.top=0,e.orientation.bottom=1,e.orientation.right=2,e.orientation.left=3,e.orientation.top_left=4,e.orientation.bottom_left=5,e.orientation.right_top=6,e.orientation.left_top=7,e.anchor={top_right:`top_right`,right_top:`right_top`,bottom_right:`bottom_right`,right_bottom:`right_bottom`,top_left:`top_left`,left_top:`left_top`,bottom_left:`bottom_left`,left_bottom:`left_bottom`,top:`top`,bottom:`bottom`,left:`left`,right:`right`},e.align={},e.align.center=e.CENTER=8,e.align.orientation=e.ORIENTATION=9,e.attr={},e.attr.l=`data-l`,e.attr.id=`data-id`,e.attr.sl=`data-sl`,e.attr.lbl=`data-lbl`,e.attr.val=`data-val`,e.attr.tlbr=`data-tlbr`,e.attr.item=`data-item`,e.attr.layout=`data-layout`,e.attr.node_id=`data-n-id`,e.attr.link_id=`data-l-id`,e.attr.field_name=`data-f-name`,e.attr.c_link_to=`data-c-l-to`,e.attr.c_link_from=`data-c-l-from`,e.attr.s_link_to=`data-s-l-to`,e.attr.s_link_from=`data-s-l-from`,e.attr.control_add=`data-ctrl-add`,e.attr.control_expcoll_id=`data-ctrl-ec-id`,e.attr.control_up_id=`data-ctrl-up-id`,e.attr.control_export_menu=`data-ctrl-menu`,e.attr.control_node_menu_id=`data-ctrl-n-menu-id`,e.attr.control_node_btn=`data-ctrl-n-btn`,e.attr.control_node_circle_menu_id=`data-ctrl-n-c-menu-id`,e.attr.control_node_circle_menu_name=`data-ctrl-n-c-menu-name`,e.attr.control_node_circle_menu_wrraper_id=`data-ctrl-n-c-menu-wrapper-id`,e.attr.width=`data-width`,e.attr.text_overflow=`data-text-overflow`,e.ID=`id`,e.PID=`pid`,e.STPID=`stpid`,e.TAGS=`tags`,e.NODES=`nodes`,e.ELASTIC=`elastic`,e.ASSISTANT=`Assistant`,e.action={},e.action.expand=0,e.action.collapse=1,e.action.maximize=101,e.action.minimize=102,e.action.expandCollapse=501,e.action.edit=1,e.action.zoom=2,e.action.ctrlZoom=22,e.action.scroll=41,e.action.xScroll=3,e.action.yScroll=4,e.action.none=5,e.action.init=6,e.action.update=7,e.action.move=70,e.action.pan=8,e.action.centerNode=9,e.action.resize=10,e.action.insert=11,e.action.insertfirst=12,e.action.details=13,e.action.exporting=14,e.none=400001,e.scroll={},e.scroll.visible=!0,e.scroll.smooth=12,e.scroll.speed=120,e.scroll.safari={smooth:12,speed:250},e.match={},e.match.height=100001,e.match.width=100002,e.match.boundary=100003,e.match.boundaryIfOutside=100004,e.match.none=1,e.movable={},e.movable.node=`node`,e.movable.tree=`tree`,e.movable.detachTree=`detachTree`,e.layout={},e.layout.normal=e.normal=0,e.layout.mixed=e.mixed=1,e.layout.tree=e.tree=2,e.layout.treeLeftOffset=e.treeLeftOffset=3,e.layout.treeRightOffset=e.treeRightOffset=4,e.layout.treeLeft=5,e.layout.treeRight=6,e.layout.grid=-1,e.layout.treeList=-2,e.nodeOpenTag=`<g `+e.attr.node_id+`="{id}" style="opacity: {opacity}" transform="matrix(1,0,0,1,{x},{y})" class="{class}" `+e.attr.sl+`="{sl}" `+e.attr.l+`="{level}" {lcn}>`,e.linkOpenTag=`<g `+e.attr.link_id+`="[{id}][{child-id}]" class="{class}">`,e.expcollOpenTag=`<g `+e.attr.control_expcoll_id+`="{id}" transform="matrix(1,0,0,1,{x},{y})" style="cursor:pointer;">`,e.upOpenTag=`<g `+e.attr.control_up_id+`="{id}" transform="matrix(1,0,0,1,{x},{y})" style="cursor:pointer;">`,e.linkFieldsOpenTag=`<g transform="matrix(1,0,0,1,{x},{y}) rotate({rotate})">`,e.grCloseTag=`</g>`,e.A5={width:420,height:595},e.A4={width:595,height:842},e.A3={width:842,height:1191},e.A2={width:1191,height:1684},e.A1={width:1684,height:2384},e.Letter={width:612,height:791},e.Legal={width:612,height:1009},e.Legal={width:612,height:1009},e.Widescreen={width:720,height:1280},e.Standard={width:720,height:960},e.COLLAPSE_PARENT_NEIGHBORS=1,e.COLLAPSE_SUB_CHILDRENS=2,e.COLLAPSE_PARENT_SUB_CHILDREN_EXCEPT_CLICKED=3,e.TEXT_THRESHOLD=4e3,e.IMAGES_THRESHOLD=1e3,e.LINKS_THRESHOLD=2e3,e.BUTTONS_THRESHOLD=700,e.ANIM_THRESHOLD=500,e.IT_IS_LONELY_HERE=`<g transform="translate(-100, 0)" style="cursor:pointer;" `+e.attr.control_add+`="control-add"><text fill="#039be5">{link}</text></g>`,e.RES={},e.IT_IS_LONELY_HERE_LINK=e.RES.IT_IS_LONELY_HERE_LINK=`It's lonely here, add your first node`,e.FIRE_DRAG_NOT_CLICK_IF_MOVE=3,e.STRING_TAGS=!1,e.MAX_NODES_MESS=`The trial has expired or 200 nodes limit was reached! <br /><a style='color: #039BE5;' target='_blank' href='https://balkan.app/OrgChartJS/Docs/Evaluation'>See more</a>`,e.OFFLINE_MESS=`The evaluation version requires internet connection! <br /><a style='color: #039BE5;' target='_blank' href='https://balkan.app/OrgChartJS/Docs/Evaluation'>See more</a>`,e.SEARCH_PLACEHOLDER=`Search... type ? to get help.`,e.SEARCH_HELP_SYMBOL=`?`,e.SEARCH_CLOSE_RESULT_ON_ESCAPE_OR_CLICKOUTSIDE=!1,e.SEARCH_RESULT_LIMIT=10,e.IMPORT_MESSAGE=`Choose the columns (fields) in your data file that contain the required information.`,e.FIXED_POSITION_ON_CLICK=!1,e.RENDER_LINKS_BEFORE_NODES=!1,e.RENDER_CLINKS_BEFORE_NODES=!1,e.MIXED_LAYOUT_ALL_NODES=!1,e.MIXED_LAYOUT_FOR_NODES_WITH_COLLAPSED_CHILDREN=!1,e.MIXED_LAYOUT_IF_NUMBER_OF_CHILDREN_IS_MORE_THEN=1,e.LINK_ROUNDED_CORNERS=5,e.MOVE_STEP=5,e.CLINK_CURVE=1,e.MAX_DEPTH=200,e.SCALE_FACTOR=1.44,e.LAZY_LOADING_FACTOR=`auto`,e.LAZY_LOADING=!0,e.ARRAY_FIELDS=[`tags`],e.CSV_DELIMITER=`,`,e.EDITFORM_CLOSE_BTN=`<svg data-edit-from-close class="boc-edit-form-close"><path style="fill:#ffffff;" d="M21.205,5.007c-0.429-0.444-1.143-0.444-1.587,0c-0.429,0.429-0.429,1.143,0,1.571l8.047,8.047H1.111 C0.492,14.626,0,15.118,0,15.737c0,0.619,0.492,1.127,1.111,1.127h26.554l-8.047,8.032c-0.429,0.444-0.429,1.159,0,1.587 c0.444,0.444,1.159,0.444,1.587,0l9.952-9.952c0.444-0.429,0.444-1.143,0-1.571L21.205,5.007z"></path></svg>`,e.ESCAPE_HTML=!1,e.VERTICAL_CHILDREN_ASSISTANT=!1,e.EXPORT_PAGES_CUT_NODES=!1,e.RESET_MOVABLE_ONEXPANDCOLLAPSE=!1,e.FILTER_ALPHABETICALLY=!0,e.SERVER_PREFIX=`.azurewebsites.net/api/you-see-this-request-because-it-is-trial-version-of-orgchartjs`,e.FUNC_URL_NAME=`func-url-orgchartjs`,e.MINIMUM_SYMBOLS_IN_SEARCH_INPUT=1,e.AI_SYSTEM_MESSAGES=[],e.ORGSCRIBE_OFFSET=` `,e.TREELIST_WHEEL_STEP=`auto`,e.TREELIST_SCROLLBAR_WIDTH=10,e.CONVERT_IMAGES_TO_BASE64_BEFORE_EXPORT=!1,e.REQUEST_CUSTOM_HEADERS={},e.SLINK_GAP=7,e._intersects=function(t,n,r){var i=t.x-r.siblingSeparation/4,a=t.y,o=t.x+t.w+r.siblingSeparation/4,s=t.y;switch(r.orientation){case e.orientation.right:case e.orientation.right_top:case e.orientation.left:case e.orientation.left_top:i=t.x,a=t.y-r.siblingSeparation/4,o=t.x,s=t.y+t.h+r.siblingSeparation/4;break}var c=n.p,l=n.q,u=n.r,d=n.s,f=(o-i)*(d-l)-(u-c)*(s-a),p,m;return f===0?!1:(m=((d-l)*(u-i)+(c-u)*(d-a))/f,p=((a-s)*(u-i)+(o-i)*(d-a))/f,0<m&&m<1&&0<p&&p<1)},e._addPoint=function(t,n,r,i,a){switch(r.orientation){case e.orientation.top:case e.orientation.top_left:return e._addPointTop(t,n,r,i,a);case e.orientation.bottom:case e.orientation.bottom_left:return e._addPointBottom(t,n,r,i,a);case e.orientation.left:case e.orientation.left_top:return e._addPointLeft(t,n,r,i,a);case e.orientation.right:case e.orientation.right_top:return e._addPointRight(t,n,r,i,a)}},e._addPointTop=function(e,t,n,r,i){var a,o,s;return i==`left`?a=e.leftNeighbor?e.x+(e.leftNeighbor.x+e.leftNeighbor.w-e.x)/2:e.x-n.siblingSeparation/2:i==`right`&&(a=e.rightNeighbor?e.x+e.w+(e.rightNeighbor.x-(e.x+e.w))/2:e.x+e.w+n.siblingSeparation/2),t.push([a,t[t.length-1][1]]),t.push([a,e.y-n.levelSeparation/3]),o=t[t.length-1][1],s=a,r.p=a,r.q=o,r.r=s,r},e._addPointBottom=function(e,t,n,r,i){var a,o,s;return i==`left`?a=e.leftNeighbor?e.x+(e.leftNeighbor.x+e.leftNeighbor.w-e.x)/2:e.x-n.siblingSeparation/2:i==`right`&&(a=e.rightNeighbor?e.x+e.w+(e.rightNeighbor.x-(e.x+e.w))/2:e.x+e.w+n.siblingSeparation/2),t.push([a,t[t.length-1][1]]),t.push([a,e.y+e.h+n.levelSeparation/3]),o=t[t.length-1][1],s=a,r.p=a,r.q=o,r.r=s,r},e._addPointLeft=function(e,t,n,r,i){var a=t[t.length-1][0],o;i==`bottom`?o=e.rightNeighbor?e.y+e.h+(e.rightNeighbor.y-(e.y+e.h))/2:e.y+e.h+n.siblingSeparation/2:i==`top`&&(o=e.leftNeighbor?e.y+(e.leftNeighbor.y+e.leftNeighbor.h-e.y)/2:e.y-n.siblingSeparation/2),t.push([t[t.length-1][0],o]),t.push([e.x-n.levelSeparation/3,o]),a=t[t.length-1][0];var s=o;return r.p=a,r.q=o,r.s=s,r},e._addPointRight=function(e,t,n,r,i){var a=t[t.length-1][0],o;i==`bottom`?o=e.rightNeighbor?e.y+e.h+(e.rightNeighbor.y-(e.y+e.h))/2:e.y+e.h+n.siblingSeparation/2:i==`top`&&(o=e.leftNeighbor?e.y+(e.leftNeighbor.y+e.leftNeighbor.h-e.y)/2:e.y-n.siblingSeparation/2),t.push([t[t.length-1][0],o]),t.push([e.x+e.w+n.levelSeparation/3,o]),a=t[t.length-1][0];var s=o;return r.p=a,r.q=o,r.s=s,r},e._addConnectorLines=function(t,n){e._addConnectorLine(t,{x1:n.xa,y1:n.ya,x2:n.xb,y2:n.yb}),e._addConnectorLine(t,{x1:n.xb,y1:n.yb,x2:n.xc,y2:n.yc}),e._addConnectorLine(t,{x1:n.xc,y1:n.yc,x2:n.xd,y2:n.yd})},e._addConnectorLine=function(e,t){if(t.x1==t.x2){if(e.x[t.x1]||(e.x[t.x1]=[]),t.y1>t.y2){var n=t.y1;t.y1=t.y2,t.y2=n}e.x[t.x1].push({y1:t.y1,y2:t.y2})}if(t.y1==t.y2){if(e.y[t.y1]||(e.y[t.y1]=[]),t.x1>t.x2){var r=t.x1;t.x1=t.x2,t.x2=r}e.y[t.y1].push({x1:t.x1,x2:t.x2})}},e._addLineToPath=function(t,n,r){return e._avoidOverlapping(n,r),t.push([r.x1,r.y1]),t.push([r.x2,r.y2]),e._addConnectorLine(n,r),r},e._slinkRemoveUnusedPoints=function(e){for(var t=e.length-2;t>=1;t--){var n=e[t-1],r=e[t],i=e[t+1];(r[0]==n[0]&&r[0]==i[0]||r[1]==n[1]&&r[1]==i[1])&&e.splice(t,1)}},e._slinkAvoidOverlaping=function(t,n,r,i){for(var a=1;a<n.length;a++){var o=n[a-1],s=n[a];if(o[0]==s[0]){for(var c=t.x[s[0]];c;){var l=!0;for(var u of c)if(u.y1<=o[1]&&u.y2>=o[1]||u.y1<=s[1]&&u.y2>=s[1]){i==e.orientation.top||i==e.orientation.top_left?r==`left`?s[0]-=e.SLINK_GAP:r==`right`&&(s[0]+=e.SLINK_GAP):(i==e.orientation.bottom||i==e.orientation.bottom_left)&&(r==`right`?s[0]+=e.SLINK_GAP:r==`left`&&(s[0]-=e.SLINK_GAP)),l=!1;break}if(l)break;c=t.x[s[0]]}o[0]=s[0]}var d=!0;if(o[1]==s[1]&&o[0]>=s[0]&&(d=!1),d&&o[1]==s[1]){for(var c=t.y[s[1]];c;){var l=!0;for(var u of c)if(u.x1<=o[0]&&u.x2>=o[0]||u.x1<=s[0]&&u.x2>=s[0]){o[0]>=s[0]||(i==e.orientation.top||i==e.orientation.top_left?s[1]-=e.SLINK_GAP:(i==e.orientation.bottom||i==e.orientation.bottom_left)&&(s[1]+=e.SLINK_GAP),l=!1);break}if(l)break;c=t.y[s[1]]}o[1]=s[1]}d&&e._addConnectorLine(t,{x1:o[0],y1:o[1],x2:s[0],y2:s[1]})}},e._slinkAvoidOverlapingSecond=function(t,n,r){for(var i=1;i<n.length;i++){var a=n[i-1],o=n[i],s=!1;if(a[1]==o[1]){for(var c=t.y[o[1]];c;){var l=!0;for(var u of c)if(u.x1<=a[0]&&u.x2>=a[0]||u.x1<=o[0]&&u.x2>=o[0]){a[0]>=o[0]?(r==e.orientation.top||r==e.orientation.top_left?o[1]-=e.SLINK_GAP:(r==e.orientation.bottom||r==e.orientation.bottom_left)&&(o[1]+=e.SLINK_GAP),l=!1):s=!0;break}if(l)break;c=t.y[o[1]]}a[1]=o[1]}s||e._addConnectorLine(t,{x1:a[0],y1:a[1],x2:o[0],y2:o[1]})}},e._slinkAvoidOverlaping2=function(t,n,r,i){for(var a=1;a<n.length;a++){var o=n[a-1],s=n[a];if(o[1]==s[1]){for(var c=t.y[s[1]];c;){var l=!0;for(var u of c)if(u.x1<=o[0]&&u.x2>=o[0]||u.x1<=s[0]&&u.x2>=s[0]){i==e.orientation.left||i==e.orientation.left_top?r==`top`?s[1]-=e.SLINK_GAP:r==`bottom`&&(s[1]+=e.SLINK_GAP):(i==e.orientation.right||i==e.orientation.right_top)&&(r==`bottom`?s[1]+=e.SLINK_GAP:r==`top`&&(s[1]-=e.SLINK_GAP)),l=!1;break}if(l)break;c=t.y[s[1]]}o[1]=s[1]}var d=!0;if(o[0]==s[0]&&o[1]>=s[1]&&(d=!1),d&&o[0]==s[0]){for(var c=t.x[s[0]];c;){var l=!0;for(var u of c)if(u.y1<=o[1]&&u.y2>=o[1]||u.y1<=s[1]&&u.y2>=s[1]){o[1]>=s[1]||(i==e.orientation.left||i==e.orientation.left_top?s[0]-=e.SLINK_GAP:(i==e.orientation.right||i==e.orientation.right_top)&&(s[0]+=e.SLINK_GAP),l=!1);break}if(l)break;c=t.x[s[0]]}o[0]=s[0]}d&&e._addConnectorLine(t,{x1:o[0],y1:o[1],x2:s[0],y2:s[1]})}},e._slinkAvoidOverlapingSecond2=function(t,n,r){for(var i=1;i<n.length;i++){var a=n[i-1],o=n[i],s=!1;if(a[0]==o[0]){for(var c=t.x[o[0]];c;){var l=!0;for(var u of c)if(u.y1<=a[1]&&u.y2>=a[1]||u.y1<=o[1]&&u.y2>=o[1]){a[1]>=o[1]?(r==e.orientation.left||r==e.orientation.left_top?o[0]-=e.SLINK_GAP:(r==e.orientation.right||r==e.orientation.right_top)&&(o[0]+=e.SLINK_GAP),l=!1):s=!0;break}if(l)break;c=t.x[o[0]]}a[0]=o[0]}s||e._addConnectorLine(t,{x1:a[0],y1:a[1],x2:o[0],y2:o[1]})}},e.editUI=function(){},e.editUI.prototype.init=function(t){this.obj=t,this.fields=null,this.nodeId=null,this.detailsMode=null,this._event_id=e._guid()},e.editUI.prototype.on=function(t,n){return e.events.on(t,n,this._event_id),this},e.editUI.prototype.show=function(t,n,r){if(this.hide(!0)){if(this.nodeId=t,this.detailsMode=n,e.events.publish(`show`,[this,t])===!1)return!1;var i=this,a=this.content(t,n,r);this.obj.element.appendChild(a.element),e.input.init(this.obj.element),e.events.publish(`shown`,[this,{nodeId:t}]),r?n||this._focusElement(a.focusId):this.interval=e.animate(a.element,{right:-20,opacity:0},{right:0,opacity:1},300,e.anim.outSin,function(){n||i._focusElement(a.focusId)}),this.obj.element.querySelector(`[data-edit-from-close]`).addEventListener(`click`,function(n){n.preventDefault(),e.events.publish(`cancel`,[i,{id:t}])!==!1&&i.hide()}),this.obj.element.querySelector(`[data-edit-from-save]`).addEventListener(`click`,function(e){e.preventDefault(),i.hide()});for(var o=this.obj.element.querySelectorAll(`[data-input-btn]`),s=0;s<o.length;s++)o[s].addEventListener(`click`,function(n){n.preventDefault(),e.events.publish(`element-btn-click`,[i,{input:this.parentNode.querySelector(`input`),nodeId:t,event:n}])});this.obj.element.querySelector(`[data-add-more-fields-btn]`).addEventListener(`click`,function(t){t.stopPropagation(),t.preventDefault();var n=this,r=e.elements.textbox({},{type:`textbox`,label:i.obj.config.editForm.addMoreFieldName,btn:i.obj.config.editForm.addMoreBtn},`280px`);n.parentNode.insertAdjacentHTML(`beforebegin`,r.html),n.style.display=`none`,e.input.init(n.parentNode.previousSibling);var a=document.getElementById(r.id);a.focus(),a.nextElementSibling.addEventListener(`click`,function(t){t.stopPropagation(),t.preventDefault();var r=a.value,o=i.obj.element.querySelector(`[data-binding="`+e._escapeDoubleQuotes(a.value)+`"]`);if(!e.isNEU(r)&&!o){var s=e.elements.textbox({},{type:`textbox`,label:r,binding:r},`280px`);a.parentNode.parentNode.parentNode.removeChild(a.parentNode.parentNode),n.parentNode.insertAdjacentHTML(`beforebegin`,s.html),n.style.display=``,e.input.init(n.parentNode.previousSibling);var c=document.getElementById(s.id);c.focus(),c.addEventListener(`input`,function(){i._drawCurrentNodeElement()})}else a.focus()})}),this.obj.element.querySelector(`[data-boc-edit-from-btns]`).addEventListener(`click`,function(n){for(var r=n.target;r&&r.hasAttribute&&!r.hasAttribute(`data-edit-from-btn`);)r=r.parentNode;if(r&&r.hasAttribute){var a=r.getAttribute(`data-edit-from-btn`),o={button:i.obj.config.editForm.buttons[a],name:a,nodeId:t,event:n};if(e.events.publish(`button-click`,[i,o])===!1)return!1;switch(a){case`edit`:i.obj.editUI.show(t,!1,!0);break;case`pdf`:i.obj.exportToPDFProfile(t),i.hide();break;case`share`:i.obj.shareProfile(t);break;case`remove`:i.obj.removeNode(t,null,!0),i.hide();break}}});for(var c=this.obj.element.querySelectorAll(`[data-boc-edit-form] [data-binding]`),s=0;s<c.length;s++){var l=c[s];l.getAttribute(`data-binding`)&&l.addEventListener(`input`,function(){i._drawCurrentNodeElement()})}}},e.editUI.prototype._drawCurrentNodeElement=function(){var t=this.obj.element.querySelector(`[data-boc-edit-form]`),n=e.input.getData(t),r=this.obj.get(this.nodeId),i=this.obj.getNode(this.nodeId),a=e.mergeDeep(r,n),o=this.obj.ui.node(i,a,[],this.obj.config,void 0,void 0,void 0,void 0,this.obj.getScale(),this.obj);this._replaceNodeWith(o)},e.editUI.prototype._replaceNodeWith=function(e){var t=document.createElementNS(`http://www.w3.org/2000/svg`,`g`);t.innerHTML=e;var n=t.firstElementChild;this.obj.getNodeElement(this.nodeId).replaceWith(n)},e.editUI.prototype.setAvatar=function(e){var t=this.obj.element.querySelector(`[id="boc-avatar"]`),n=this.obj.element.querySelector(`[id="boc-avatar"] img`),r=this.obj.element.querySelector(`[id="boc-avatar"] svg`);if(t)n?n.setAttribute(`src`,e):r&&(t.innerHTML=`<img style="width: 100%;height:100%;border-radius: 50%;object-fit:cover;" src="${e}">`);else return;this._drawCurrentNodeElement()},e.editUI.prototype.save=function(t){var n=this.obj.element.querySelector(`[data-boc-edit-form]`),r=e.input.validateAndGetData(n);if(r!==!1){var i=this.obj.get(this.nodeId),a={data:e.mergeDeep(i,r)};return e.events.publish(`save`,[this,a])===!1?void 0:(this.obj.updateNode(a.data,null,!0,t),!0)}return!1},e.editUI.prototype._focusElement=function(t){var n=null;e.isNEU(this.obj.config.editForm.focusBinding)?e.isNEU(t)||(n=document.getElementById(t)):n=this.obj.element.querySelector(`[data-binding="`+this.obj.config.editForm.focusBinding+`"]`),n&&(n.value&&n.value.length&&n.setSelectionRange(n.value.length,n.value.length),n.focus())},e.editUI.prototype.content=function(t,n,r,i,a){var o=this.obj.config.editForm.readOnly,s=JSON.parse(JSON.stringify(this.obj.config.editForm.elements)),c=this.obj.config.editForm.addMore,l=this.obj.config.editForm.saveAndCloseBtn,u=this.obj.config.editForm.buttons,d=this.obj.config.editForm.titleBinding,f=this.obj.config.editForm.photoBinding,p=this.obj.getNode(t),m=this.obj._get(t),h=e.t(p.templateName,p.min,this.obj.getScale()),g=m[d],_=m[f];if(this.obj.config.editForm.generateElementsFromFields)for(var v=0;v<this.fields.length;v++){var y=this.fields[v];if(y!=`tags`){for(var b=!1,x=0;x<s.length;x++){if(Array.isArray(s[x])){for(var S=0;S<s[x].length;S++)if(y==s[x][S].binding){b=!0;break}}else if(y==s[x].binding){b=!0;break}if(b)break}b||s.push({type:`textbox`,label:y,binding:y})}}e.isNEU(g)&&(g=``),_=e.isNEU(_)?e.icon.user(150,150,`#8C8C8C`,0,0):`<img style="width: 100%;height:100%;border-radius: 50%;object-fit:cover;" src="${_}"></img>`;var C,w=!n,T=n?`display:none;`:``,E=n||!c?`display:none;`:``,D=h.editFormHeaderColor?`style="background-color:${h.editFormHeaderColor};"`:``,O=document.createElement(`form`);if(O.setAttribute(`data-boc-edit-form`,``),O.classList.add(`boc-edit-form`),O.classList.add(this.obj.config.mode),O.classList.add(p.templateName.replaceAll(` `,``)),O.classList.add(e.ui._defsIds[p.templateName]),Array.isArray(p.tags)&&p.tags.length)for(var v=0;v<p.tags.length;v++)O.classList.add(p.tags[v].replaceAll(` `,``));O.style.display=`flex`,O.style.opacity=r?1:0,O.style.right=r?0:`-20px`,i&&(O.style.width=i);var k=[];return O.innerHTML=`<div>
27
27
  <div class="boc-edit-form-header" ${D}>
28
28
  ${a?``:e.EDITFORM_CLOSE_BTN}
29
29
  ${e.editUI.renderHeaderContent(g,_,p,m)}
@@ -263,7 +263,7 @@ var e=function(t,n){var r=this;Object.defineProperty(this,`element`,{get(){retur
263
263
  </div>`+l),n.innerHTML+=`<div data-boc-export-page="${r}" style="aspect-ratio: ${a};" class="boc-export-page ${c}">
264
264
  ${s}
265
265
  ${l}
266
- </div>`}this.selectPage(this.selectedIndex)},e.exportUI.prototype.toggleLanscape=function(){var t=this;this.options.landscape=!this.options.landscape,this.options.width=void 0,this.options.height=void 0,this.options=e._setDefaultOptions(this.options,this.type,!0);var n=this.instance.leftElement.querySelector(`[data-boc-export-landcapeportrait]`);n.innerHTML=this.options.landscape?this.locPortrait:this.locLandscape,this.instance._createExportPages(this.type,this.options,function(e){t._draw(e),t.selectPage(t.options.pages.length-1)})},e.exportUI.prototype.addPage=function(t){var n=this;this.options.pages.push(t),this.instance._createExportPages(this.type,this.options,function(t){n._draw(t),n.selectPage(n.options.pages.length-1);var r=n.element.querySelector(`.boc-export-middle`);e.animate(r,{scrollTop:r.scrollTop},{scrollTop:r.scrollHeight},600,e.anim.outSin)})},e.exportUI.prototype.removePage=function(e){e=parseInt(e);var t=this;e<=t.selectedIndex&&(t.selectedIndex--,t.selectedIndex<0&&(t.selectedIndex=0)),this.options.pages.splice(e,1),this.instance._createExportPages(this.type,this.options,function(e){t._draw(e),t.selectPage(t.selectedIndex)})},e.exportUI.prototype._incrementDecrementChildLevel=function(e,t){var n=this;e<n.selectedIndex&&n.selectedIndex--;var r=this.options.pages[e];r.childLevels??(t?r.childLevels=0:r.childLevels=2),t?r.childLevels++:r.childLevels--,r.childLevels==-1&&(r.childLevels=0),r.expandChildren=!1,this.instance._createExportPages(this.type,this.options,function(e){n._draw(e),n.selectPage(n.selectedIndex)})},e.exportUI.prototype.toggelePrintTreeOrProfile=function(e){var t=this,n=this.options.pages[e];n.isProfile=!n.isProfile,this.options.pages[e].content=void 0,this.instance._createExportPages(this.type,this.options,function(e){t._draw(e),t.selectPage(t.selectedIndex)})},e.exportUI.prototype._incrementDecrementParentLevel=function(e,t){var n=this;e<n.selectedIndex&&n.selectedIndex--;var r=this.options.pages[e];r.parentLevels==null?r.parentLevels=1:t?r.parentLevels++:r.parentLevels--,r.parentLevels==-1&&(r.parentLevels=0),this.instance._createExportPages(this.type,this.options,function(e){n._draw(e),n.selectPage(n.selectedIndex)})},e.exportUI.prototype.selectPage=function(e){for(var t=this.instance.leftElement.querySelectorAll(`[data-boc-export-page]`),n=0;n<t.length;n++)t[n].classList.remove(`boc-export-selected`);for(var t=this.instance.leftElement.querySelectorAll(`.boc-export-select`),n=0;n<t.length;n++)t[n].parentNode.removeChild(t[n]);var r=this.instance.leftElement.querySelectorAll(`[data-boc-export-pages] .boc-export-page`);if(r.length){var i=r[e];i.classList.contains(`boc-export-empty`)&&(i.innerHTML+=`<div class="boc-export-select">${this.locClickToAdd}</div>`),i.classList.add(`boc-export-selected`),this.selectedIndex=e}},e===void 0&&(e={}),e.events=(function(){var t={};return{on:function(e,n,r){Array.isArray(t[e])||(t[e]=[]),t[e].push({listener:n,event_id:r})},removeAll:function(e){Array.isArray(t[e])||(t[e]=[]),t[e]=[]},remove:function(n,r,i){var a=!1;if(t[n]&&Array.isArray(t[n])&&t[n].length>0)for(var o=t[n].length-1;o>=0;o--)(!e.isNEU(i)&&!e.isNEU(r)&&t[n][o].event_id==i&&t[n][o].listener==r||!e.isNEU(i)&&e.isNEU(r)&&t[n][o].event_id==i||e.isNEU(i)&&!e.isNEU(r)&&t[n][o].listener==r||e.isNEU(i)&&e.isNEU(r))&&(t[n].splice(o,1),a=!0);return a},has:function(n,r){if(t[n]&&Array.isArray(t[n])&&t[n].length>0){if(e.isNEU(r))return!0;for(var i=0;i<t[n].length;i++)if(t[n][i].event_id==r)return!0}return!1},removeForEventId:function(e){for(var n in t)if(Array.isArray(t[n]))for(var r=t[n].length-1;r>=0;r--)t[n][r].event_id==e&&t[n].splice(r,1)},publish:function(e,n){if(t[e]){for(var r=[],i=0;i<t[e].length;i++){var a=t[e][i];(a.event_id==null||a.event_id==n[0]._event_id)&&r.push(a.listener)}if(r.length>0){for(var o=!0,i=0;i<r.length&&(n.length==1?o=r[i](n[0])&&o:n.length==2?o=r[i](n[0],n[1])&&o:n.length==3?o=r[i](n[0],n[1],n[2])&&o:n.length==4?o=r[i](n[0],n[1],n[2],n[3])&&o:n.length==5&&(o=r[i](n[0],n[1],n[2],n[3],n[4])&&o),o!==!1);i++);return o}}}}})(),e.prototype.importCSV=function(){var t=this,n=document.createElement(`INPUT`);n.setAttribute(`type`,`file`),n.setAttribute(`accept`,`.csv`),n.style.display=`none`,n.onchange=function(n){var r=n.target,i=new FileReader;i.onload=function(){var n=i.result,r=e._csvToArray(n),a=[],o=r[0];e._importSetColumnNames(o,function(n){for(var i=1;i<r.length;i++){for(var o={},s=0;s<r[i].length;s++){var c=n[s],l=r[i][s];o[c]=e._convertStringToArray(c,l)}o.id.trim()!=``&&a.push(o)}var u={nodes:a,columnNames:r[0]};e.events.publish(`import`,[t,u])!=0&&(t._putInUndoStack(),t.clearRedo(),t.config.nodes=u.nodes,t._ai.setContext(),e.events.publish(`updated`,[t]),t.filterUI.update(),t.draw())})},i.readAsText(r.files[0])},n.click()},e._importSetColumnNames=function(t,n){if(t.indexOf(`id`)!=-1&&t.indexOf(`pid`)!=-1){n(t);return}var r=document.createElement(`DIV`),i=document.createElement(`P`);i.style.padding=`5px`,i.style.color=`rgb(122, 122, 122)`,i.innerHTML=e.IMPORT_MESSAGE,r.appendChild(i);var a=document.createElement(`div`),o=document.createElement(`div`),s=document.createElement(`div`),c=document.createElement(`span`);a.setAttribute(`id`,`boc-sampleDialog`),a.style.height=`260px`,a.style.width=`400px`,a.style.background=`white`,a.style.border=`0.5px solid grey`,a.style.position=`fixed`,a.style.overflow=`hidden`,a.style.zIndex=`99`,o.setAttribute(`id`,`title`),o.style.backgroundColor=`#e5e5e5`,o.style.fontWeight=`bold`,o.style.color=`rgb(122, 122, 122)`,o.style.height=`20px`,o.style.padding=`3px 0 0 7px`,c.setAttribute(`id`,`close`),c.style.cursor=`pointer`,c.style.position=`absolute`,c.style.color=`rgb(122, 122, 122)`,c.style.fontWeight=`bold`,c.style.top=`2px`,c.style.zIndex=100,s.setAttribute(`id`,`content`),s.style.padding=`2px`,o.innerHTML=`Import Organizational Chart Data`,c.innerHTML=`&times;`;var l=document.createElement(`HR`);l.style.height=`0.1px`,l.style.backgroundColor=`#aeaeae`,l.style.border=`none`,l.style.margin=`0`,a.appendChild(o),a.appendChild(l),s.appendChild(r),a.appendChild(s),a.appendChild(c),document.body.appendChild(a),e._importCenter(a),c.style.left=a.offsetWidth-20+`px`;var u=document.createElement(`div`);u.setAttribute(`id`,`overlay`),u.style.width=`100%`,u.style.height=`100%`,u.style.left=0,u.style.top=0,u.style.position=`fixed`,u.style.background=`grey`,u.style.opacity=`0.5`,u.style.zIndex=98,document.body.appendChild(u),a._overlay=u;var d=document.createElement(`LABEL`),f=document.createTextNode(`Name:`);d.setAttribute(`for`,`boc-id-select`),d.appendChild(f),d.style.fontSize=`16px`,d.style.color=`rgb(122, 122, 122)`,d.style.padding=`5px`,d.style.margin=`5px`,d.style.width=`30%`,d.style.textAlign=`right`,d.style.display=`inline-block`,r.appendChild(d);var p=document.createElement(`SELECT`);p.id=`boc-id-select`,p.style.fontSize=`16px`,p.style.color=`rgb(122, 122, 122)`,p.style.padding=`5px`,p.style.margin=`5px`,p.style.width=`60%`,p.style.border=`1px solid #aeaeae`,r.appendChild(p);var m=document.createElement(`BR`);r.appendChild(m);for(var h=0;h<t.length;h++){var g=document.createElement(`option`);g.setAttribute(`value`,t[h]);var _=document.createTextNode(t[h]);g.appendChild(_),p.appendChild(g)}var v=document.createElement(`LABEL`),y=document.createTextNode(`Reports to:`);v.setAttribute(`for`,`pid-select`),v.appendChild(y),v.style.fontSize=`16px`,v.style.color=`rgb(122, 122, 122)`,v.style.padding=`5px`,v.style.margin=`5px`,v.style.width=`30%`,v.style.textAlign=`right`,v.style.display=`inline-block`,r.appendChild(v);var b=document.createElement(`SELECT`);b.id=`pid-select`,b.style.fontSize=`16px`,b.style.color=`rgb(122, 122, 122)`,b.style.padding=`5px`,b.style.margin=`5px`,b.style.width=`60%`,b.style.border=`1px solid #aeaeae`,r.appendChild(b);for(var h=0;h<t.length;h++){var g=document.createElement(`option`);g.setAttribute(`value`,t[h]);var _=document.createTextNode(t[h]);g.appendChild(_),b.appendChild(g)}var x=document.createElement(`BUTTON`);x.innerHTML=`Import`,x.style.fontSize=`16px`,x.style.color=`rgb(122, 122, 122)`,x.style.padding=`5px 20px`,x.style.margin=`20px auto`,x.style.display=`block`,x.onclick=function(){a.style.display=`none`,a._overlay&&a._overlay.parentNode.removeChild(a._overlay);var e=p.options[p.selectedIndex].value,r=t.indexOf(e);t[r]=`id`;var i=b.options[b.selectedIndex].value,o=t.indexOf(i);t[o]=`pid`,n(t)};var S=document.createElement(`DIV`);return S.appendChild(x),r.appendChild(S),c.onclick=function(e){a._overlay&&a._overlay.parentNode.removeChild(a._overlay),a.parentNode.removeChild(a),e.stopPropagation()},o.onmousedown=function(e){e||=window.event,a._dragging=!0,a._originalLeft=a.offsetLeft,a._originalTop=a.offsetTop,a._mouseLeft=e.clientX,a._mouseTop=e.clientY},document.onmousemove=function(e){e||=window.event,a._dragging&&(a.style.left=a._originalLeft+e.clientX-a._mouseLeft+`px`,a.style.top=a._originalTop+e.clientY-a._mouseTop+`px`)},document.onmouseup=function(e){e||=window.event,a._dragging&&=(a.style.left=a._originalLeft+e.clientX-a._mouseLeft+`px`,a.style.top=a._originalTop+e.clientY-a._mouseTop+`px`,!1)},a},e._importCenter=function(e){e&&(e.style.left=(window.innerWidth-e.offsetWidth)/2+`px`,e.style.top=(window.innerHeight-e.offsetHeight)/2+`px`)},e.prototype.importXML=function(){var t=this,n=document.createElement(`INPUT`);n.setAttribute(`type`,`file`),n.setAttribute(`accept`,`.xml`),n.style.display=`none`,n.onchange=function(n){var r=n.target,i=new FileReader;i.onload=function(){var n=i.result,r=e._xml2json(n);e.events.publish(`import`,[t,r])!=0&&(t._putInUndoStack(),t.clearRedo(),t.config.nodes=r,t._ai.setContext(),e.events.publish(`updated`,[t]),t.filterUI.update(),t.draw())},i.readAsText(r.files[0])},n.click()},e.prototype.importJSON=function(){var t=this,n=document.createElement(`INPUT`);n.setAttribute(`type`,`file`),n.setAttribute(`accept`,`.json`),n.style.display=`none`,n.onchange=function(n){var r=n.target,i=new FileReader;i.onload=function(){var n=i.result,r=JSON.parse(n);e.events.publish(`import`,[t,r])!=0&&(t._putInUndoStack(),t.clearRedo(),t.config.nodes=r,t._ai.setContext(),e.events.publish(`updated`,[t]),t.filterUI.update(),t.draw())},i.readAsText(r.files[0])},n.click()},e.prototype.expand=function(t,n,r){if(this._treeListExpandCollapseHandler(t),this._resetMovableNodes(),n=this._filterOnlyExistingAndCallOnDemandForOthers(t,n),n.length){var i={id:t,ids:n};this._draw(!1,e.action.expand,i,r)}},e.prototype.collapse=function(t,n,r){this._treeListExpandCollapseHandler(t),this._resetMovableNodes();var i={id:t,ids:n};this._draw(!1,e.action.collapse,i,r)},e.prototype.expandCollapse=function(t,n,r,i){this._treeListExpandCollapseHandler(t),this._resetMovableNodes(),Array.isArray(n)||(n=[]),Array.isArray(r)||(r=[]),n=this._filterOnlyExistingAndCallOnDemandForOthers(t,n);var a={id:t,expandIds:n,collapseIds:r,ids:n.concat(r)};this._draw(!1,e.action.collapse,a,i)},e.prototype.changeRoots=function(t,n,r){this.config.roots=n;var i={id:t,changeRoots:n};this._draw(!1,e.action.update,i,r)},e.prototype._filterOnlyExistingAndCallOnDemandForOthers=function(t,n){var r=[],i=[];for(var a of n)this.getNode(a)?i.push(a):r.push(a);return r.length&&e.events.publish(`on-demand`,[this,{ids:r,id:t}]),i},e.prototype._resetMovableNodes=function(){if(e.RESET_MOVABLE_ONEXPANDCOLLAPSE&&this.config.movable!=null){for(var t=!1,n=0;n<this.config.nodes.length;n++){var r=this.config.nodes[n];r.movex!=null&&(r.movex=0,t=!0),r.movey!=null&&(r.movey=0,t=!0)}t&&(this._ai.setContext(),e.events.publish(`updated`,[this]))}},e.prototype.maximize=function(t,n,r,i){var a=this,o={id:t,options:{}};e.isNEU(o.id)&&(o.id=this.roots[0].id,o.all=!0),o.options.horizontal=!1,o.options.vertical=!1,n&&(o.options.horizontal=n),r&&(o.options.vertical=r),this._draw(!1,e.action.maximize,o,function(){a.ripple(t),i&&i()})},e.prototype.minimize=function(t,n){var r=this,i={id:t};e.isNEU(i.id)&&(i.id=this.roots[0].id,i.all=!0),this._draw(!1,e.action.minimize,i,function(){r.ripple(t),n&&n()})},e.prototype._expCollHandler=function(t){this.nodeMenuUI.hide(),this.nodeContextMenuUI.hide(),this.menuUI.hide(),this.nodeCircleMenuUI.hide();var n=this.getNode(t);if(n.collapsedChildrenIds.length){var r=e.events.publish(`expcollclick`,[this,!1,t,n.collapsedChildrenIds]);if(r===!1)return!1;this.expand(t,n.collapsedChildrenIds,!1)}else{var r=e.events.publish(`expcollclick`,[this,!0,t,n.childrenIds]);if(r===!1)return!1;this.collapse(t,n.childrenIds,!1)}},e.prototype._upHandler=function(t){this.nodeMenuUI.hide(),this.nodeContextMenuUI.hide(),this.menuUI.hide(),this.nodeCircleMenuUI.hide();var n=this._upHandlerCreateArgs(t);if(e.events.publish(`up-click`,[this,n])===!1)return!1;n.roots.length!=0&&this.changeRoots(n.id,n.roots,!1)},e.prototype._upHandlerCreateArgs=function(t){var n=this.getNode(t),r=Object.assign([],this.config.roots),i=this.getNode(n.pid),a;if(i&&(a=i),a){if(Array.isArray(r)){var o=r.indexOf(n.id);o!=-1&&r.splice(o,1)}else r=[];r.push(a.id)}else e.events.publish(`on-demand`,[this,{ids:[n.pid],id:n.id}]);return{id:n.id,roots:r}},String.prototype.replaceAll||(String.prototype.replaceAll=function(e,t){return this.replace(new RegExp(e,`g`),t)}),String.prototype.endsWith||(String.prototype.endsWith=function(e){return this.indexOf(e,this.length-e.length)!==-1}),String.prototype.splice||(String.prototype.splice=function(e,t,n){return this.slice(0,e)+n+this.slice(e+Math.abs(t))}),String.prototype.insert||(String.prototype.insert=function(e,t){return e>0?this.substring(0,e)+t+this.substr(e):t+this}),Array.prototype.unique||Object.defineProperty(Array.prototype,`unique`,{value:function(){for(var e=this.concat(),t=0;t<e.length;++t)for(var n=t+1;n<e.length;++n)e[t]===e[n]&&e.splice(n--,1);return e},writable:!0,configurable:!0,enumerable:!1}),Array.prototype.has||Object.defineProperty(Array.prototype,`has`,{value:function(e){for(var t=0;t<this.length;t++)if(this[t]==e)return!0;return!1},writable:!0,configurable:!0,enumerable:!1}),Array.prototype.compare||Object.defineProperty(Array.prototype,`compare`,{value:function(e){if(this.length!=e.length)return!1;for(var t=0;t<this.length;t++)if(!e.has(this[t]))return!1;return!0},writable:!0,configurable:!0,enumerable:!1}),Object.assign||Object.defineProperty(Object,`assign`,{value:function(e,t){"use strict";if(e==null)throw TypeError(`Cannot convert undefined or null to object`);for(var n=Object(e),r=1;r<arguments.length;r++){var i=arguments[r];if(i!=null)for(var a in i)Object.prototype.hasOwnProperty.call(i,a)&&(n[a]=i[a])}return n},writable:!0,configurable:!0}),e.prototype._clickHandler=function(t,n){if(!(n.button>0)){for(var r=n.target;r!=t;){if(r.hasAttribute(e.attr.control_expcoll_id)){var i=r.getAttribute(e.attr.control_expcoll_id),a=this.getNode(i);this._expCollHandler(a.id);return}if(r.hasAttribute(e.attr.node_id)){var i=r.getAttribute(e.attr.node_id),a=this.getNode(i);this._nodeClickHandler(a.id,n);return}if(r.hasAttribute(e.attr.control_node_menu_id)){n.stopPropagation(),n.preventDefault();var i=r.getAttribute(e.attr.control_node_menu_id),a=this.getNode(i);this._nodeMenuClickHandler(a.id,r,n);return}if(r.hasAttribute(e.attr.control_node_btn)){n.stopPropagation(),n.preventDefault();for(var o=r.getAttribute(e.attr.control_node_btn);!r.hasAttribute(e.attr.node_id);)r=r.parentNode;var i=r.getAttribute(e.attr.node_id);e._onClickHandler(this,o,void 0,i,void 0);return}if(r.hasAttribute(e.attr.control_node_circle_menu_id)){n.stopPropagation(),n.preventDefault();var i=r.getAttribute(e.attr.control_node_circle_menu_id);this._nodeCircleMenuClickHandler(i);return}if(r.hasAttribute(e.attr.control_node_circle_menu_name)){n.stopPropagation(),this._nodeCircleMenuItemClickHandler(r,n);return}if(r.hasAttribute(e.attr.control_add)){this._lonelyButtonHandler();return}if(r.hasAttribute(e.attr.control_up_id)){var i=r.getAttribute(e.attr.control_up_id);n.stopPropagation(),n.preventDefault(),this._upHandler(i);return}if(r.hasAttribute(e.attr.c_link_from)){e.events.publish(`clink-click`,[this,{from:r.getAttribute(e.attr.c_link_from),to:r.getAttribute(e.attr.c_link_to),event:n}]);return}if(r.hasAttribute(e.attr.s_link_from)){e.events.publish(`slink-click`,[this,{from:r.getAttribute(e.attr.s_link_from),to:r.getAttribute(e.attr.s_link_to),event:n}]);return}if(r.hasAttribute(`data-ctrl-n-dotted-close`)){var i=r.getAttribute(`data-ctrl-n-dotted-close`);this.minimize(i);return}if(r.hasAttribute(`data-ctrl-n-dotted-open`)){var i=r.getAttribute(`data-ctrl-n-dotted-open`);this.maximize(i);return}r=r.parentNode}e.events.publish(`canvas-click`,[this,{event:n}])}},e.prototype._mouseDownHandler=function(t,n,r,i){var a=this;e.SEARCH_CLOSE_RESULT_ON_ESCAPE_OR_CLICKOUTSIDE&&this.searchUI.hide(),this.nodeMenuUI.hide(),this.nodeContextMenuUI.hide(),this.menuUI.hide();var o=this.getViewBox(),s=this.getScale(),c=e._getClientTouchesXY(n,0),l=e._getClientTouchesXY(n,1),u={diffX:0,diffY:0,x0:c.x,y0:c.y,type:this.config.enablePan?`pan`:`pan-not-enabled`,viewBoxLeft:o[0],viewBoxTop:o[1],time:Date.now()};n.touches&&n.touches.length>1&&(u.type=`pinch`,u.dist=Math.sqrt((c.x-l.x)*(c.x-l.x)+(c.y-l.y)*(c.y-l.y)));var d=null;if(i){var f=i.stChildren[0].lcn?i.stChildren[0].lcn:`base`;d=a.manager.layoutConfigs[f],u.scrollTop=i.treeList.scrollTop}var p=0,m=function(t){var n=e._getClientTouchesXY(t,0);if(u&&u.type==`pan`){clearTimeout(a._timeout),u.diffX=n.x-u.x0,u.diffY=n.y-u.y0,p=Math.max(Math.abs(u.diffY),Math.abs(u.diffX));var r=-(u.diffY/s)+u.viewBoxTop,c=-(u.diffX/s)+u.viewBoxLeft;p>3&&(i?(i.treeList.scrollTop=u.scrollTop-u.diffY/s,a._treeListUpdateInterval&&=(clearInterval(a._treeListUpdateInterval),null),a._treeListUpdate(i,d)):(a._hideBeforeAnimation(),a._changeCursorOnPanStart(o,s,t),a._move(r,c,o)))}else if(u&&u.type==`pinch`){var l=e._getClientTouchesXY(t,1),f=Math.sqrt((n.x-l.x)*(n.x-l.x)+(n.y-l.y)*(n.y-l.y)),m=1+(f-u.dist)/(u.dist/100)/100;u.dist=f;var h=e._pinchMiddlePointInPercent(a.element,a.width(),a.height(),t);a.zoom(m,h)}},h=function(n){if(p<3&&u.type!=`pinch`&&(n.touches==null||n.touches.length<=1))a._clickHandler(t,n);else if(u.type==`pan`&&i){var o=Date.now()-u.time,s=Math.abs(p/o);if(s>.5){var c=i.treeList.scrollTop,l=c+s*400*(u.diffY>0?-1:1),f=i.stChildren[0].h;l=Math.round(l/f)*f,l!=c&&(a._treeListUpdateInterval&&=(clearInterval(a._treeListUpdateInterval),null),a._treeListUpdateInterval=e.animate(null,{},{},1500,e.anim.outExp,function(){},function(e){i.treeList.scrollTop=e*(l-c)+c,a._treeListUpdate(i,d.orientation)}))}else{var c=i.treeList.scrollTop,f=i.stChildren[0].h,l=Math.round(i.treeList.scrollTop/f)*f;l!=c&&(a._treeListUpdateInterval&&=(clearInterval(a._treeListUpdateInterval),null),a._treeListUpdateInterval=e.animate(null,{},{},200,e.anim.outSin,function(){},function(e){i.treeList.scrollTop=e*(l-c)+c,a._treeListUpdate(i,d.orientation)}))}}else u.type==`pan`&&!i&&p>10&&a._draw(!0,e.action.pan);u.type==`pan`&&!i&&a._changeCursorOnPanEnd(),u=null,t.removeEventListener(r.move,m),t.removeEventListener(r.up,h),r.leave&&t.removeEventListener(r.leave,h),r.touchstart&&t.removeEventListener(r.touchstart,h)};t.addEventListener(r.move,m,{passive:!0}),t.addEventListener(r.up,h),r.leave&&t.addEventListener(r.leave,h),r.touchstart&&t.addEventListener(r.touchstart,h,{passive:!0})},e.prototype._changeCursorOnPanStart=function(t,n,r){var i=this.getPointerElement();if(i){var a=e._getOffsetXY(this.element,r),o=a.x/n+t[0]-16/n,s=a.y/n+t[1]-16/n;i.style.display=`inherit`,i.setAttribute(`transform`,`matrix(0,0,0,0,`+o+`,`+s+`)`),e.animate(i,{transform:[0,0,0,0,o,s],opacity:0},{transform:[1/n,0,0,1/n,o,s],opacity:1},300,e.anim.outBack)}else this.element.style.cursor=`move`},e.prototype._changeCursorOnPanEnd=function(){var e=this.getPointerElement();e?e.style.display=`none`:this.element.style.cursor=`initial`},e.prototype._globalMouseDownHandler=function(t,n){var r={move:`mousemove`,up:`mouseup`,leave:`mouseleave`};n.type.indexOf(`touch`)!=-1&&(n.touches.length==1?this._touch={x:n.touches[0].clientX,y:n.touches[0].clientY}:this._touch=null,r={move:`touchmove`,up:`touchend`,touchstart:`touchstart`}),this._treeListUpdateInterval&&=(clearInterval(this._treeListUpdateInterval),null);for(var i=null,a=n.target;a!=t&&!a.hasAttribute(e.attr.control_node_menu_id)&&!a.hasAttribute(e.attr.control_node_btn)&&!a.hasAttribute(e.attr.control_node_circle_menu_id);){if(a.hasAttribute){var o=null;a.hasAttribute(e.attr.node_id)?o=this.getNode(a.getAttribute(e.attr.node_id)):a.hasAttribute(e.attr.control_expcoll_id)?o=this.getNode(a.getAttribute(e.attr.control_expcoll_id)):a.hasAttribute(e.attr.control_node_menu_id)?o=this.getNode(a.getAttribute(e.attr.control_node_menu_id)):a.hasAttribute(e.attr.control_node_btn)&&(o=this.getNode(a.getAttribute(e.attr.control_node_btn))),i||=e._getScrollableTreeListNodeInTouchEnabledDevice(o)}if(a.hasAttribute(e.attr.node_id)&&!i&&(this.config.enableDragDrop||this.config.movable)){if(n.touches==null||n.touches.length<=1){this._nodeMouseDownHandler(a,n,r);return}}else if(a.hasAttribute(e.attr.control_node_circle_menu_name)){if(n.stopPropagation(),n.touches==null||n.touches.length<=1){this._nodeCircleNodeMenuItemMouseDownHandler(t,a,n,r);return}}else if(a.hasAttribute(`data-treelist-thumb`)&&(n.stopPropagation(),n.touches==null||n.touches.length<=1)){this._treeListThumbMouseDownHandler(a,n,r);return}a=a.parentNode}n.stopPropagation(),this._mouseDownHandler(t,n,r,i)},e.prototype._globalContextHandler=function(t,n){for(var r=n.target;r!=t;){if(r.hasAttribute(e.attr.node_id)){var i=r.getAttribute(e.attr.node_id),a=this.getNode(i);this._nodeContextHandler(a.id,n);return}r=r.parentNode}},e.prototype._nodeContextHandler=function(t,n){n.preventDefault(),e.SEARCH_CLOSE_RESULT_ON_ESCAPE_OR_CLICKOUTSIDE&&this.searchUI.hide(),this.nodeMenuUI.hide(),this.nodeContextMenuUI.hide(),this.menuUI.hide(),this.nodeCircleMenuUI.hide();var r=this.get(t),i=null;if(r!=null&&Array.isArray(r.tags))for(var a=0;a<r.tags.length;a++){var o=r.tags[a];this.config.tags[o]&&this.config.tags[o].nodeContextMenu&&(i=this.config.tags[o].nodeContextMenu)}var s=this.element.getBoundingClientRect(),c=n.clientX-s.left,l=n.clientY-s.top;this.nodeContextMenuUI.show(c,l,t,null,i)},e.prototype._globalDbClickHandler=function(t,n){for(var r=n.target;r!=t;){if(r.hasAttribute(e.attr.node_id)){var i=r.getAttribute(e.attr.node_id),a=this.getNode(i);this._nodeDbClickHandler(a.id,n);return}r=r.parentNode}},e.prototype._mouseScrollHandler=function(e,t){for(var n=!1,r=t.target,i=null;r&&r.hasAttribute&&!r.hasAttribute(`data-n-id`)&&!r.hasAttribute(`data-ctrl-ec-id`);)r=r.parentNode;if(r.hasAttribute&&r.hasAttribute(`data-n-id`)){var a=r.getAttribute(`data-n-id`);i=this.getNode(a),i.isTreeListItem&&(n=!0)}if(r.hasAttribute&&r.hasAttribute(`data-ctrl-ec-id`)){var a=r.getAttribute(`data-ctrl-ec-id`);i=this.getNode(a),i.isTreeListItem&&(n=!0)}t.ctrlKey&&(n=!1),n?this.__mouseScrollHandlerTreeList(i,t):this.__mouseScrollHandler(this.getSvg(),t)},e.prototype.__mouseScrollHandler=function(t,n){if(n.ctrlKey){if(this.config.mouseScroll==e.action.zoom)return}else if(this.config.mouseScroll==e.action.ctrlZoom||this.config.mouseScroll!=e.action.zoom)return;if(n.preventDefault(),!navigator.hardwareConcurrency||navigator.hardwareConcurrency<9){let i=n.deltaY/1e3;i=Math.abs(i)<.1?.1*n.deltaY/Math.abs(n.deltaY):i;var r=e._centerPointInPercent(t,n.clientX,n.clientY);this.zoom(1-i,r)}else{var i=this,a=!1,o=this.config.zoom.speed,s=this.config.zoom.smooth,c=0,l=this.getScale(),r=e._centerPointInPercent(t,n.clientX,n.clientY);function f(){a=!0;var e=(c-l)/s;e>0?e++:e--,l+=e,i.zoom(1-e/12/50,r),parseInt(l)==parseInt(c)?a=!1:u(f)}var u=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e){setTimeout(e,20)}}();n.preventDefault();var d=n.delta||n.wheelDelta;d===void 0&&(d=-n.detail),d=Math.max(-1,Math.min(1,d)),c+=-d*o,a||f()}},e.prototype._nodeCircleNodeMenuItemMouseDownHandler=function(t,n,r,i){var a=n.parentNode.getAttribute(e.attr.control_node_circle_menu_wrraper_id),o=n.getAttribute(e.attr.control_node_circle_menu_name),s=this.nodeCircleMenuUI._menu[o];if(!s.draggable){this._clickHandler(t,r);return}var c=this,l=e._getClientXY(r),u=this.getNode(a);n._dragEventFired=!1;var d=c.getScale(),f=null,p=null;document.body.style.mozUserSelect=document.body.style.webkitUserSelect=document.body.style.userSelect=`none`;var m=this.getSvg(),h={x:l.x,y:l.y},g=function(t){for(;t&&!t.hasAttribute(e.attr.control_node_circle_menu_wrraper_id);)t=t.parentNode;if(!t){console.error(`cannot find parent`+e.attr.control_node_circle_menu_wrraper_id);return}var n=e._getTransform(t);return{x:n[4],y:n[5]}},_=n.cloneNode(!0);m.insertBefore(_,m.firstChild);var v=e._getTransform(_),y=v[4],b=v[5],x=g(n);_.setAttribute(`transform`,`matrix(1,0,0,1,`+(y+x.x)+`,`+(b+x.y)+`)`),_.style.opacity=.7;var S=function(t,n){if(t!=null){n.classList.remove(`boc-drag-over`);for(var r=e.getStParentNodes(c.getNode(f)),i=0;i<r.length;i++){var a=c.getNodeElement(r[i].id);a&&(a.style.opacity=1)}}},C=function(t){if(h){var r=e._getClientXY(t),i=t.target;e.isMobile()&&(i=document.elementFromPoint(r.x,r.y)),r.x+=x.x*d,r.y+=x.y*d;var a=e._getOffsetXY(c.element,t),l={left:c.width()-(a.x+c.config.padding)<0,right:a.x-c.config.padding<0,up:c.height()-(a.y+c.config.padding)<0,down:a.y-c.config.padding<0};if(l.left||l.right||l.up||l.down){m.classList&&(m.classList.remove(`boc-cursor-grab`),m.classList.add(`boc-cursor-move`),m.classList.remove(`boc-cursor-nodrop`),m.classList.remove(`boc-cursor-copy`));var u=v[4],g=v[5],C=h.x,T=h.y,E=r.x,D=r.y;c.moveStart(l,function(e){v[4]=u+e.x,v[5]=g+e.y,h.x=C-e.xWithoutScale,h.y=T-e.yWithoutScale,r.x=E-e.xWithoutScale,r.y=D-e.yWithoutScale,_.setAttribute(`transform`,`matrix(`+v.toString()+`)`)})}else{for(c.moveEnd(),m.classList&&(m.classList.add(`boc-cursor-grab`),m.classList.remove(`boc-cursor-move`),m.classList.remove(`boc-cursor-nodrop`),m.classList.remove(`boc-cursor-copy`)),S(f,p),f=null,p=null;i!=null&&i!=m;){if(i.hasAttribute&&i.hasAttribute(e.attr.node_id)){var O=i.getAttribute(e.attr.node_id);f=O,p=i;break}i=i.parentNode}if(f!=null){p.classList.add(`boc-drag-over`);for(var k=c.getNode(f),A=e.getStParentNodes(k),j=0;j<A.length;j++){var M=c.getNodeElement(A[j].id);M&&(M.style.opacity=.1)}m.classList.remove(`boc-cursor-grab`),m.classList.remove(`boc-cursor-move`),m.classList.add(`boc-cursor-copy`),m.classList.remove(`boc-cursor-nodrop`)}var N=(r.x-h.x)/d,P=(r.y-h.y)/d;v[4]=y+N,v[5]=b+P,!n._dragEventFired&&(Math.abs(r.x-h.x)>e.FIRE_DRAG_NOT_CLICK_IF_MOVE||Math.abs(r.y-h.y)>e.FIRE_DRAG_NOT_CLICK_IF_MOVE)&&(c._gragStartedId=n.parentNode.getAttribute(e.attr.control_node_circle_menu_wrraper_id),e.events.publish(`drag`,[c.nodeCircleMenuUI,{from:O,menuItem:s,menuItemName:o}])===!1&&w(),n._dragEventFired=!0),_.setAttribute(`transform`,`matrix(`+v.toString()+`)`)}}},w=function(t){if(c.moveEnd(),m.classList&&(m.classList.remove(`boc-cursor-grab`),m.classList.remove(`boc-cursor-move`),m.classList.remove(`boc-cursor-nodrop`),m.classList.remove(`boc-cursor-copy`)),m.removeEventListener(i.move,C),m.removeEventListener(i.up,w),i.leave&&m.removeEventListener(i.leave,w),u.id==f||f==null){m.removeChild(_),c._gragStartedId=null,n._dragEventFired&&e.events.publish(`drop`,[c.nodeCircleMenuUI,{from:u.id,menuItemName:o,menuItem:s,event:t}]);return}var r=c.getNode(f);e.events.publish(`drop`,[c.nodeCircleMenuUI,{from:u.id,to:r.id,menuItem:s,menuItemName:o,event:t}]),S(f,p),m.removeChild(_),c._gragStartedId=null};m.addEventListener(i.move,C),m.addEventListener(i.up,w),i.leave&&m.addEventListener(i.leave,w)},e.prototype._nodeMouseDownHandler=function(t,n,r){var i=t.getAttribute(e.attr.node_id),a=this.getNode(i);this.config.movable&&!e.getRootOf(a).stParent?this._movableHandler(t,n,r):this.config.enableDragDrop&&this._dragDropHandler(t,n,r)},e.prototype._resizeHandler=function(t,n){if(this.isVisible&&!(t==0||n==0)){var r=this.getViewBox();if(r){r=r.slice(0);var i=t/r[2],a=n/r[3];Math.abs(this._lastSize.width-t)>Math.abs(this._lastSize.height-n)?r[3]=n/i:r[2]=t/a,this.nodeMenuUI.hide(),this.nodeContextMenuUI.hide(),this.menuUI.hide(),this.nodeCircleMenuUI.hide(),this.setViewBox(r),this.xScrollUI.create(t),this.yScrollUI.create(n),this._draw(!0,e.action.resize)}}},e.prototype._nodeDbClickHandler=function(t,n){if(e.events.publish(`dbclick`,[this,this.get(t)])===!1)return!1;this._commonClickHandler(t,n,this.config.nodeMouseDbClick)},e.prototype._nodeClickHandler=function(t,n){if(e.events.publish(`click`,[this,{node:this.getNode(t),event:n}])===!1)return!1;if(this.powerPointPreviewUI.isVisible()&&this.powerPointPreviewUI.selectedPage!=null){this.powerPointPreviewUI.selectedPage.content=void 0,this.powerPointPreviewUI.selectedPage.nodeId=t,this.powerPointPreviewUI.refresh(t),this.ripple(t,n.clientX,n.clientY);return}if(this.pdfPreviewUI.isVisible()&&this.pdfPreviewUI.selectedPage!=null){this.pdfPreviewUI.selectedPage.content=void 0,this.pdfPreviewUI.selectedPage.nodeId=t,this.pdfPreviewUI.refresh(t),this.ripple(t,n.clientX,n.clientY);return}if(this.svgPreviewUI.isVisible()&&this.svgPreviewUI.selectedPage!=null){this.svgPreviewUI.selectedPage.content=void 0,this.svgPreviewUI.selectedPage.nodeId=t,this.svgPreviewUI.refresh(t),this.ripple(t,n.clientX,n.clientY);return}if(this.pngPreviewUI.isVisible()&&this.pngPreviewUI.selectedPage!=null){this.pngPreviewUI.selectedPage.content=void 0,this.pngPreviewUI.selectedPage.nodeId=t,this.pngPreviewUI.refresh(t),this.ripple(t,n.clientX,n.clientY);return}var r=this.getNodeElement(t);if(r&&r._dragEventFired){r._dragEventFired=!1;return}this._commonClickHandler(t,n,this.config.nodeMouseClick)},e.prototype._nodeCircleMenuItemClickHandler=function(t,n){var r=t.parentNode.getAttribute(e.attr.control_node_circle_menu_wrraper_id),i=t.getAttribute(e.attr.control_node_circle_menu_name),a=this.nodeCircleMenuUI._menu[i];e.events.publish(`click`,[this.nodeCircleMenuUI,{nodeId:r,menuItemName:i,menuItem:a,event:n}])},e.prototype._nodeCircleMenuClickHandler=function(t){if(e.SEARCH_CLOSE_RESULT_ON_ESCAPE_OR_CLICKOUTSIDE&&this.searchUI.hide(),this.nodeMenuUI.hide(),this.menuUI.hide(),this.nodeContextMenuUI.isVisible())this.nodeContextMenuUI.hide();else{var n=this.getNode(t),r=null;if(Array.isArray(n.tags))for(var i=0;i<n.tags.length;i++){var a=n.tags[i];this.config.tags[a]&&this.config.tags[a].nodeCircleMenu&&(r=this.config.tags[a].nodeCircleMenu)}this.nodeCircleMenuUI.show(t,r)}},e.prototype._commonClickHandler=function(t,n,r){if(e.SEARCH_CLOSE_RESULT_ON_ESCAPE_OR_CLICKOUTSIDE&&this.searchUI.hide(),this.nodeMenuUI.hide(),this.nodeContextMenuUI.hide(),this.menuUI.hide(),this.nodeCircleMenuUI.hide(),r==e.action.expandCollapse&&this.toggleExpandCollapse(t,n),r==e.action.edit){var i=this.getNode(t);i&&(this.editUI.show(i.id),this.ripple(i.id,n.clientX,n.clientY))}if(r==e.action.details){var i=this.getNode(t);i&&(this.editUI.show(i.id,!0),this.ripple(i.id,n.clientX,n.clientY))}},e.prototype._menuHandlerMouseDownHandler=function(e,t){t.stopPropagation(),t.preventDefault()},e.prototype._nodeMenuClickHandler=function(t,n,r){e.SEARCH_CLOSE_RESULT_ON_ESCAPE_OR_CLICKOUTSIDE&&this.searchUI.hide(),this.nodeMenuUI.hide(),this.nodeContextMenuUI.hide(),this.menuUI.hide(),this.nodeCircleMenuUI.hide();var i=this.getNode(t),a=null;if(Array.isArray(i.tags))for(var o=0;o<i.tags.length;o++){var s=i.tags[o];this.config.tags[s]&&this.config.tags[s].nodeMenu&&(a=this.config.tags[s].nodeMenu)}this.nodeMenuUI.showStickIn(n,t,null,a)},e.prototype._menuClickHandler=function(e,t){t.stopPropagation(),t.preventDefault(),this.nodeMenuUI.hide(),this.nodeContextMenuUI.hide(),this.menuUI.show(e.offsetLeft,e.offsetTop)},e.prototype._lonelyButtonHandler=function(){var e={id:this.generateId()};this.addNode(e,null,!0)!==!1&&this.center(e.id)},e.prototype.toggleExpandCollapse=function(t,n){var r=this.getNode(t);if(r.collapsedChildrenIds.length){var i=e.events.publish(`expcollclick`,[this,!1,t,r.collapsedChildrenIds]);if(i===!1)return!1;this.expand(t,r.collapsedChildrenIds,!1)}else{var i=e.events.publish(`expcollclick`,[this,!0,t,r.childrenIds]);if(i===!1)return!1;this.collapse(t,r.childrenIds,!1)}n&&this.ripple(r.id,n.clientX,n.clientY)},e.prototype._dragDropHandler=function(t,n,r){var i=e._getClientXY(n),a=t.getAttribute(e.attr.node_id),o=this.getNode(a);t._dragEventFired=!1;var s=null,c=null;this.element.style.mozUserSelect=this.element.style.webkitUserSelect=this.element.style.userSelect=`none`;var l=this,u=this.getSvg(),d={x:i.x,y:i.y},f=e._getTransform(t),p=f[4],m=f[5],h=l.getScale(),g=t.cloneNode(!0);g.setAttribute(`data-n-id`,`draging`),u.insertBefore(g,u.firstChild),g.style.opacity=.7;var _=function(t,n){if(t!=null){n.classList.remove(`boc-drag-over`);for(var r=l.getNode(s),i=e.getStParentNodes(r),a=0;a<i.length;a++){var o=l.getNodeElement(i[a].id);o&&(o.style.opacity=1)}}},v=function(n){if(n.touches!=null&&n.touches.length>1){y(n);return}if(d){var r=e._getClientXY(n),i=n.target;e.isMobile()&&(i=document.elementFromPoint(r.x,r.y));var a=e._getOffsetXY(l.element,n),v={left:l.width()-(a.x+l.config.padding)<0,right:a.x-l.config.padding<0,up:l.height()-(a.y+l.config.padding)<0,down:a.y-l.config.padding<0};if(v.left||v.right||v.up||v.down){u.classList&&(u.classList.remove(`boc-cursor-grab`),u.classList.add(`boc-cursor-move`),u.classList.remove(`boc-cursor-nodrop`),u.classList.remove(`boc-cursor-copy`));var b=f[4],x=f[5],S=d.x,C=d.y,w=r.x,T=r.y;l.moveStart(v,function(e){f[4]=b+e.x,f[5]=x+e.y,d.x=S-e.xWithoutScale,d.y=C-e.yWithoutScale,r.x=w-e.xWithoutScale,r.y=T-e.yWithoutScale,g.setAttribute(`transform`,`matrix(`+f.toString()+`)`)})}else{if(l.moveEnd(),u.classList&&(u.classList.add(`boc-cursor-grab`),u.classList.remove(`boc-cursor-move`),u.classList.remove(`boc-cursor-nodrop`),u.classList.remove(`boc-cursor-copy`)),_(s,c),s=null,c=null,l.config.enableDragDrop)for(;i!=null&&i!=u;){if(i.hasAttribute&&i.hasAttribute(e.attr.node_id)){var E=i.getAttribute(e.attr.node_id);if(l._gragStartedId&&E!=l._gragStartedId){s=E,c=i;break}}i=i.parentNode}if(s==`draging`&&(s=null,c=null),s!=null){c.classList.add(`boc-drag-over`);for(var D=l.getNode(s),O=e.getStParentNodes(D),k=0;k<O.length;k++){var A=l.getNodeElement(O[k].id);A&&(A.style.opacity=.1)}!l.canUpdateLink(o.id,s)&&u.classList?(u.classList.remove(`boc-cursor-grab`),u.classList.remove(`boc-cursor-move`),u.classList.remove(`boc-cursor-copy`),u.classList.add(`boc-cursor-nodrop`)):u.classList&&(u.classList.remove(`boc-cursor-grab`),u.classList.remove(`boc-cursor-move`),u.classList.add(`boc-cursor-copy`),u.classList.remove(`boc-cursor-nodrop`))}var j=(r.x-d.x)/h,M=(r.y-d.y)/h;f[4]=p+j,f[5]=m+M,!t._dragEventFired&&(Math.abs(r.x-d.x)>e.FIRE_DRAG_NOT_CLICK_IF_MOVE||Math.abs(r.y-d.y)>e.FIRE_DRAG_NOT_CLICK_IF_MOVE)&&(l._gragStartedId=E,e.events.publish(`drag`,[l,E,n])===!1&&y(),t._dragEventFired=!0),g.setAttribute(`transform`,`matrix(`+f.toString()+`)`)}}},y=function(n){if(!t._dragEventFired&&(n.touches==null||n.touches.length<=1)&&l._clickHandler(l.getSvg(),n),l.moveEnd(),u.classList&&(u.classList.remove(`boc-cursor-grab`),u.classList.remove(`boc-cursor-move`),u.classList.remove(`boc-cursor-nodrop`),u.classList.remove(`boc-cursor-copy`)),u.removeEventListener(r.move,v),u.removeEventListener(r.up,y),r.leave&&u.removeEventListener(r.leave,y),o.id==s||s==null){t._dragEventFired&&e.events.publish(`drop`,[l,o.id,void 0,g,n]),u.removeChild(g),l._gragStartedId=null;return}var i=l.getNode(s);if(e.events.publish(`drop`,[l,o.id,i.id,g,n])===!1){_(s,c),u.removeChild(g),l._gragStartedId=null;return}if(l.canUpdateLink(o.id,s)){var a=l.get(o.id);a.pid=s,a.stpid=null,a.movex!=null&&(a.movex=void 0),a.movey!=null&&(a.movey=void 0),l.updateNode(a,null,!0)}else u.removeChild(g),_(s,c);l._gragStartedId=null};u.addEventListener(r.move,v),u.addEventListener(r.up,y),r.leave&&u.addEventListener(r.leave,y)},e.prototype._movableHandler=function(t,n,r){var i=this,a=t.getAttribute(e.attr.node_id),o=[],s=function(e,t){if(Array.isArray(e)){for(var n=0;n<e.length;n++)s(e[n],t);return}t.push(e.id);for(var n=0;n<e.stChildren.length;n++)s(e.stChildren[n],t);for(var n=0;n<e.children.length;n++)s(e.children[n],t)},c=function(e,t){if(Array.isArray(e)){for(var n=0;n<e.length;n++)s(e[n],t);return}t.push(e.id);for(var n=0;n<e.stChildrenIds.length;n++)c(i.getNode(e.stChildrenIds[n]),t);for(var n=0;n<e.childrenIds.length;n++)c(i.getNode(e.childrenIds[n]),t)},l=this.getNode(a);s(l,o);for(var u=this.getSvg(),d=e._getClientXY(n),f=[],p=[],m=[],h=[],g=[],_=[],v=[],y=[],b=0;b<o.length;b++){var x=this.getNode(o[b]);f.push(x),m.push({x:x.x,y:x.y});var S=this.getNodeElement(o[b]);if(S){g.push(S);var C=e._getTransform(S);h.push({x:C[4],y:C[5]}),p.push(C);var w=this.element.querySelector(`[data-ctrl-ec-id="${o[b]}"]`);if(w){_.push(w);var T=e._getTransform(w);v.push(T),y.push({x:T[4],y:T[5]})}else _.push(null),v.push(null),y.push(null);if(this.config.movable==e.movable.node)break}}t._dragEventFired=!1;var E=null,D=null;document.body.style.mozUserSelect=document.body.style.webkitUserSelect=document.body.style.userSelect=`none`;var O={x:d.x,y:d.y},k=i.getScale(),A=function(t,n){if(t!=null){n.classList.remove(`boc-drag-over`);for(var r=i.getNode(E),a=e.getStParentNodes(r),o=0;o<a.length;o++){var s=i.getNodeElement(a[o].id);s&&(s.style.opacity=1)}}},j=function(n){if(n.touches!=null&&n.touches.length>1){M(n);return}if(O){var r=e._getClientXY(n),s=n.target;e.isMobile()&&(s=document.elementFromPoint(r.x,r.y));var c=e._getOffsetXY(i.element,n),d={left:i.width()-(c.x+i.config.padding)<0,right:c.x-i.config.padding<0,up:i.height()-(c.y+i.config.padding)<0,down:c.y-i.config.padding<0};if(d.left||d.right||d.up||d.down){u.classList&&(u.classList.remove(`boc-cursor-grab`),u.classList.add(`boc-cursor-move`),u.classList.remove(`boc-cursor-nodrop`),u.classList.remove(`boc-cursor-copy`));for(var b=[],x=[],S=[],C=[],w=0;w<p.length;w++)b.push(p[w][4]),x.push(p[w][5]),v[w]?(S.push(v[w][4]),C.push(v[w][5])):(S.push(null),C.push(null));var T=O.x,j=O.y,N=r.x,P=r.y;i.moveStart(d,function(t){for(var n=0;n<p.length;n++){var a=b[n],o=x[n],s=S[n],c=C[n];p[n][4]=a+t.x,p[n][5]=o+t.y,O.x=T-t.xWithoutScale,O.y=j-t.yWithoutScale,r.x=N-t.xWithoutScale,r.y=P-t.yWithoutScale,f[n].x=a+t.x,f[n].y=o+t.y,f[n].movex=t.x,f[n].movey=t.y,v[n]&&(v[n][4]=s+t.x,v[n][5]=c+t.y);for(var l=e.ui.link(f[n],i,k,i.response.bordersByRootIdAndLevel,i.nodes,e.action.update,!0),u=0;u<l.length;u++){var d=l[u],m=i.element.querySelector(`[data-l-id="[${d.id}][${d.childId}]"]`);m&&(m.innerHTML=d.html)}if(f[n].parent)for(var l=e.ui.link(f[n].parent,i,k,i.response.bordersByRootIdAndLevel,i.nodes,e.action.update,!0),u=0;u<l.length;u++){var d=l[u],m=i.element.querySelector(`[data-l-id="[${d.id}][${d.childId}]"]`);m&&(m.innerHTML=d.html)}g[n].setAttribute(`transform`,`matrix(`+p[n].toString()+`)`),_[n]&&_[n].setAttribute(`transform`,`matrix(`+v[n].toString()+`)`)}})}else{if(i.moveEnd(),u.classList&&(u.classList.add(`boc-cursor-grab`),u.classList.remove(`boc-cursor-move`),u.classList.remove(`boc-cursor-nodrop`),u.classList.remove(`boc-cursor-copy`)),A(E,D),E=null,D=null,i.config.enableDragDrop)for(;s!=null&&s!=u;){if(s.hasAttribute&&s.hasAttribute(e.attr.node_id)){var F=s.getAttribute(e.attr.node_id);if(i._gragStartedId&&F!=i._gragStartedId){E=F,D=s;break}}s=s.parentNode}if(E!=null){D.classList.add(`boc-drag-over`);for(var I=i.getNode(E),ee=e.getStParentNodes(I),L=0;L<ee.length;L++){var te=i.getNodeElement(ee[L].id);te&&(te.style.opacity=.1)}!i.canUpdateLink(f[0].id,E)&&u.classList?(u.classList.remove(`boc-cursor-grab`),u.classList.remove(`boc-cursor-move`),u.classList.remove(`boc-cursor-copy`),u.classList.add(`boc-cursor-nodrop`)):u.classList&&(u.classList.remove(`boc-cursor-grab`),u.classList.remove(`boc-cursor-move`),u.classList.add(`boc-cursor-copy`),u.classList.remove(`boc-cursor-nodrop`))}for(var ne=(r.x-O.x)/k,re=(r.y-O.y)/k,w=0;w<p.length;w++){p[w][4]=h[w].x+ne,p[w][5]=h[w].y+re,v[w]&&(v[w][4]=y[w].x+ne,v[w][5]=y[w].y+re),f[w].x=m[w].x+ne,f[w].y=m[w].y+re;for(var ie=e.ui.link(f[w],i,k,i.response.bordersByRootIdAndLevel,i.nodes,e.action.update,!0),L=0;L<ie.length;L++){var R=ie[L],z=i.element.querySelector(`[data-l-id="[${R.id}][${R.childId}]"]`);z&&(z.innerHTML=R.html)}}if(l.parent)if(i.config.movable==e.movable.detachTree){var z=i.element.querySelector(`[data-l-id="[${l.parent.id}][${l.id}]"]`);z&&z.parentElement.removeChild(z)}else for(var ie=e.ui.link(l.parent,i,k,i.response.bordersByRootIdAndLevel,i.nodes,e.action.update,!0),L=0;L<ie.length;L++){var R=ie[L],z=i.element.querySelector(`[data-l-id="[${R.id}][${R.childId}]"]`);z&&(z.innerHTML=R.html)}if(!t._dragEventFired&&(Math.abs(r.x-O.x)>e.FIRE_DRAG_NOT_CLICK_IF_MOVE||Math.abs(r.y-O.y)>e.FIRE_DRAG_NOT_CLICK_IF_MOVE)){if(i._gragStartedId=o[0],e.events.publish(`drag`,[i,a,n,o])===!1&&M(),i.config.enableDragDrop)for(var w=0;w<g.length;w++)u.insertBefore(g[w],u.firstChild);t._dragEventFired=!0}for(var w=0;w<p.length;w++)g[w].setAttribute(`transform`,`matrix(`+p[w].toString()+`)`),_[w]&&_[w].setAttribute(`transform`,`matrix(`+v[w].toString()+`)`)}}},M=function(a){!t._dragEventFired&&(a.touches==null||a.touches.length<=1)&&i._clickHandler(i.getSvg(),n);for(var o=0;o<f.length;o++)f[o].x=m[o].x,f[o].y=m[o].y;if(i.moveEnd(),u.classList&&(u.classList.remove(`boc-cursor-grab`),u.classList.remove(`boc-cursor-move`),u.classList.remove(`boc-cursor-nodrop`),u.classList.remove(`boc-cursor-copy`)),u.removeEventListener(r.move,j),u.removeEventListener(r.up,M),r.leave&&u.removeEventListener(r.leave,M),f[0].id==E||E==null){if(t._dragEventFired){var s=e.events.publish(`drop`,[i,f[0].id,void 0,g[0],a]);if(i.config.movable&&s!==!1)if(i.config.movable==e.movable.detachTree){var d=e._getTransform(i.getNodeElement(l.id)),p=i.get(l.id);p.pid=null,p.stpid=null,i.updateNode(p,null,!0)}else{var h=[];i.config.movable==e.movable.node?h.push(l.id):c(l,h);for(var d=e._getTransform(i.getNodeElement(l.id)),_=d[4]-l.x,v=d[5]-l.y,o=0;o<h.length;o++){var p=i.get(h[o]);p&&(p.movex==null?p.movex=_:p.movex+=_,p.movey==null?p.movey=v:p.movey+=v,i.update(p))}i._ai.setContext(),e.events.publish(`updated`,[i]),i.draw(e.action.update,{dragNodeIdList:h})}}i._gragStartedId=null;return}var y=i.getNode(E),s=e.events.publish(`drop`,[i,f[0].id,y.id,g[0],a]);if(s===!1){A(E,D),i._gragStartedId=null;return}if(i.canUpdateLink(f[0].id,E)){var p=i.get(f[0].id);p.pid=E,p.stpid=null,i.updateNode(p,null,!0)}else A(E,D);i._gragStartedId=null};u.addEventListener(r.move,j),u.addEventListener(r.up,M),r.leave&&u.addEventListener(r.leave,M)},e.prototype._move=function(e,t,n){n[0]=t,n[1]=e,this.setViewBox(n),this.xScrollUI.setPosition(),this.yScrollUI.setPosition()},e.prototype.moveStart=function(t,n,r,i){if(!t){console.error(`movePosition parameter not defined`);return}if(this._moveInterval)return;var a=this,o=this.getViewBox().slice(0),s=this.getScale(),c=0,l=0,u=10,d=1,f=1;e.isNEU(r)&&(r=e.anim.inSin),e.isNEU(i)&&(i=3e3);function p(){var p={x:0,y:0,xWithoutScale:0,yWithoutScale:0};t.left?(c++,p.x=c*e.MOVE_STEP/s,p.xWithoutScale=c*e.MOVE_STEP):t.right&&(c++,p.x=-(c*e.MOVE_STEP)/s,p.xWithoutScale=-(c*e.MOVE_STEP)),t.up?(l++,p.y=l*e.MOVE_STEP/s,p.yWithoutScale=l*e.MOVE_STEP):t.down&&(l++,p.y=-(l*e.MOVE_STEP)/s,p.yWithoutScale=-(l*e.MOVE_STEP));var m=r((f*u-u)/i);p.x*=m,p.xWithoutScale*=m,p.y*=m,p.yWithoutScale*=m,a.setViewBox([o[0]+p.x,o[1]+p.y,o[2],o[3]]),n&&n(p),f+=d}this._moveInterval=setInterval(p,u)},e.prototype.moveEnd=function(){this._moveInterval&&=(clearInterval(this._moveInterval),null)},e===void 0&&(e={}),e.node=function(e,t,n,r){this.templateName=r,this.id=e,this.pid=t,this.children=[],this.childrenIds=[],this.collapsedChildrenIds=[],this.parent=null,this.stpid=null,this.stParent=null,this.stChildren=[],this.stChildrenIds=[],this.tags=n,this.deepCollapsedChildCount=0,this.deepChildCount=0,this.tags||=[]},e.searchUI=function(){this.lastSearch=[],this._searchAfterEnterPress=!1,this._event_id=e._guid(),this.instance=null},e.searchUI.prototype.init=function(t){this.instance=t,this.obj=this.instance,this._initSearchFields();var n=this,r=this.instance.config.padding-10,i=this.instance.config.padding-10,a=this.instance.getMenuButton();if(a){var o=a.getBoundingClientRect(),s=this.instance.getSvg().getBoundingClientRect();r=s.right-o.left+10,i=o.top-s.top-10}var c=document.createElement(`div`);c.classList.add(`boc-search`),c.style.right=r+`px`,c.style.top=i+`px`;var l=e.elements.textbox({},{label:e.SEARCH_PLACEHOLDER,btn:`X`},`320px`);c.innerHTML+=l.html,this.xBtn=c.querySelector(`[data-input-btn]`),this.xBtn.style.display=`none`,this.searchTableWrapper=document.createElement(`div`),c.appendChild(this.searchTableWrapper);var u=this.instance.getSvg().nextSibling;this.instance.element.insertBefore(c,u),e.input.init(c),this.input=document.getElementById(l.id),this.xBtn.addEventListener(`click`,function(e){e.preventDefault(),n.hide()}),this.input.addEventListener(`keypress`,function(e){e.key==`Enter`&&e.preventDefault()}),this.input.addEventListener(`focus`,function(e){n.xBtn.style.display=``,n._search()}),this.input.addEventListener(`blur`,function(t){e.isNEU(n.input.value)&&e.SEARCH_HELP_SYMBOL!=n.input.value&&(n.xBtn.style.display=`none`)}),this.input.addEventListener(`keydown`,function(e){(e.key==`ArrowDown`||e.key==`ArrowUp`)&&e.preventDefault()}),this.input.addEventListener(`keyup`,function(t){t.key==`ArrowDown`?d():t.key==`ArrowUp`?f():t.key==`Enter`?n._enterHandler():t.key==`Escape`?n.hide():this.value.length>=e.MINIMUM_SYMBOLS_IN_SEARCH_INPUT&&n._search()});var d=function(){var e=n.instance.element.querySelectorAll(`[data-search-item-id]`),t=n.instance.element.querySelector(`[data-selected="yes"]`);t==null&&e.length>0?e[0].setAttribute(`data-selected`,`yes`):e.length>0&&t.nextSibling&&t.nextSibling.setAttribute&&(t.removeAttribute(`data-selected`),t.nextSibling.setAttribute(`data-selected`,`yes`))},f=function(){var e=n.instance.element.querySelectorAll(`[data-search-item-id]`),t=n.instance.element.querySelector(`[data-selected="yes"]`);t==null&&e.length>0?e[e.length-1].setAttribute(`data-selected`,`yes`):e.length>0&&t.previousSibling&&t.previousSibling.setAttribute&&(t.removeAttribute(`data-selected`),t.previousSibling.setAttribute(`data-selected`,`yes`))}},e.searchUI.prototype._enterHandler=function(){var t=this.instance.element.querySelector(`[data-selected="yes"]`);if(!t)this._searchAfterEnterPress=!0,this.__search(),this.searchTableWrapper.innerHTML=``,this.instance.draw();else if(t.hasAttribute(`data-search-item-id`)){var n=t.getAttribute(`data-search-item-id`);this.input.value==e.SEARCH_HELP_SYMBOL?(this.input.value=n+` `,this.searchTableWrapper.innerHTML=``):e.events.publish(`searchclick`,[this,{nodeId:n}])!=0&&(this.instance.center(n),e.isMobile()&&this.hide())}},e.searchUI.prototype._initSearchFields=function(){if(this.instance.config.searchFields==null){this._searchFields=[];for(var t=0;t<this.instance.response.allFields.length;t++){var n=this.instance.response.allFields[t];n!=`tags`&&!e._fieldIsImg(this.instance.config,n)&&this._searchFields.indexOf(n)==-1&&this._searchFields.push(n)}}else this._searchFields=this.instance.config.searchFields;if(this.instance.config.searchFieldsAbbreviation==null){this.searchFieldsAbbreviation={};for(var t=0;t<this._searchFields.length;t++){for(var r=this._searchFields[t],i=0,a=r.slice(0,i+1).toLowerCase();this.searchFieldsAbbreviation[a];)i++,a=r.slice(0,i+1).toLowerCase();this.searchFieldsAbbreviation[a]=r}}else this.searchFieldsAbbreviation=this.instance.config.searchFieldsAbbreviation;this._searchFieldsAbbreviation=this.searchFieldsAbbreviation},e.searchUI.prototype.find=function(e){this.input&&(this.input.value=e,document.activeElement==this.input?this._search(e):this.input.focus())},e.searchUI.prototype.addMatchTag=function(e){if(this._searchAfterEnterPress){for(var t=0;t<this.lastSearch.length;t++)if(this.lastSearch[t].id==e)return!0;return!1}return null},e.searchUI.prototype.__search=function(){this.lastSearch=e._search.search(this.instance.config.nodes,this.input.value,this._searchFields,this._searchFields,this.instance.config.searchDisplayField,this.instance.config.searchFieldsWeight,this.searchFieldsAbbreviation)},e.searchUI.prototype._search=function(){var t=this;this._searchAfterEnterPress=!1;var n;if(this.input.value==e.SEARCH_HELP_SYMBOL)n=this.helpView();else{this.__search();var r=e._getFistImgField(this.instance.config);n=`<table border="0" cellspacing="0" cellpadding="0">
266
+ </div>`}this.selectPage(this.selectedIndex)},e.exportUI.prototype.toggleLanscape=function(){var t=this;this.options.landscape=!this.options.landscape,this.options.width=void 0,this.options.height=void 0,this.options=e._setDefaultOptions(this.options,this.type,!0);var n=this.instance.leftElement.querySelector(`[data-boc-export-landcapeportrait]`);n.innerHTML=this.options.landscape?this.locPortrait:this.locLandscape,this.instance._createExportPages(this.type,this.options,function(e){t._draw(e),t.selectPage(t.options.pages.length-1)})},e.exportUI.prototype.addPage=function(t){var n=this;this.options.pages.push(t),this.instance._createExportPages(this.type,this.options,function(t){n._draw(t),n.selectPage(n.options.pages.length-1);var r=n.element.querySelector(`.boc-export-middle`);e.animate(r,{scrollTop:r.scrollTop},{scrollTop:r.scrollHeight},600,e.anim.outSin)})},e.exportUI.prototype.removePage=function(e){e=parseInt(e);var t=this;e<=t.selectedIndex&&(t.selectedIndex--,t.selectedIndex<0&&(t.selectedIndex=0)),this.options.pages.splice(e,1),this.instance._createExportPages(this.type,this.options,function(e){t._draw(e),t.selectPage(t.selectedIndex)})},e.exportUI.prototype._incrementDecrementChildLevel=function(e,t){var n=this;e<n.selectedIndex&&n.selectedIndex--;var r=this.options.pages[e];r.childLevels??(t?r.childLevels=0:r.childLevels=2),t?r.childLevels++:r.childLevels--,r.childLevels==-1&&(r.childLevels=0),r.expandChildren=!1,this.instance._createExportPages(this.type,this.options,function(e){n._draw(e),n.selectPage(n.selectedIndex)})},e.exportUI.prototype.toggelePrintTreeOrProfile=function(e){var t=this,n=this.options.pages[e];n.isProfile=!n.isProfile,this.options.pages[e].content=void 0,this.instance._createExportPages(this.type,this.options,function(e){t._draw(e),t.selectPage(t.selectedIndex)})},e.exportUI.prototype._incrementDecrementParentLevel=function(e,t){var n=this;e<n.selectedIndex&&n.selectedIndex--;var r=this.options.pages[e];r.parentLevels==null?r.parentLevels=1:t?r.parentLevels++:r.parentLevels--,r.parentLevels==-1&&(r.parentLevels=0),this.instance._createExportPages(this.type,this.options,function(e){n._draw(e),n.selectPage(n.selectedIndex)})},e.exportUI.prototype.selectPage=function(e){for(var t=this.instance.leftElement.querySelectorAll(`[data-boc-export-page]`),n=0;n<t.length;n++)t[n].classList.remove(`boc-export-selected`);for(var t=this.instance.leftElement.querySelectorAll(`.boc-export-select`),n=0;n<t.length;n++)t[n].parentNode.removeChild(t[n]);var r=this.instance.leftElement.querySelectorAll(`[data-boc-export-pages] .boc-export-page`);if(r.length){var i=r[e];i.classList.contains(`boc-export-empty`)&&(i.innerHTML+=`<div class="boc-export-select">${this.locClickToAdd}</div>`),i.classList.add(`boc-export-selected`),this.selectedIndex=e}},e===void 0&&(e={}),e.events=(function(){var t={};return{on:function(e,n,r){Array.isArray(t[e])||(t[e]=[]),t[e].push({listener:n,event_id:r})},removeAll:function(e){Array.isArray(t[e])||(t[e]=[]),t[e]=[]},remove:function(n,r,i){var a=!1;if(t[n]&&Array.isArray(t[n])&&t[n].length>0)for(var o=t[n].length-1;o>=0;o--)(!e.isNEU(i)&&!e.isNEU(r)&&t[n][o].event_id==i&&t[n][o].listener==r||!e.isNEU(i)&&e.isNEU(r)&&t[n][o].event_id==i||e.isNEU(i)&&!e.isNEU(r)&&t[n][o].listener==r||e.isNEU(i)&&e.isNEU(r))&&(t[n].splice(o,1),a=!0);return a},has:function(n,r){if(t[n]&&Array.isArray(t[n])&&t[n].length>0){if(e.isNEU(r))return!0;for(var i=0;i<t[n].length;i++)if(t[n][i].event_id==r)return!0}return!1},removeForEventId:function(e){for(var n in t)if(Array.isArray(t[n]))for(var r=t[n].length-1;r>=0;r--)t[n][r].event_id==e&&t[n].splice(r,1)},publish:function(e,n){if(t[e]){for(var r=[],i=0;i<t[e].length;i++){var a=t[e][i];(a.event_id==null||a.event_id==n[0]._event_id)&&r.push(a.listener)}if(r.length>0){for(var o=!0,i=0;i<r.length&&(n.length==1?o=r[i](n[0])&&o:n.length==2?o=r[i](n[0],n[1])&&o:n.length==3?o=r[i](n[0],n[1],n[2])&&o:n.length==4?o=r[i](n[0],n[1],n[2],n[3])&&o:n.length==5&&(o=r[i](n[0],n[1],n[2],n[3],n[4])&&o),o!==!1);i++);return o}}}}})(),e.prototype.importCSV=function(){var t=this,n=document.createElement(`INPUT`);n.setAttribute(`type`,`file`),n.setAttribute(`accept`,`.csv`),n.style.display=`none`,n.onchange=function(n){var r=n.target,i=new FileReader;i.onload=function(){var n=i.result,r=e._csvToArray(n),a=[],o=r[0];e._importSetColumnNames(o,function(n){for(var i=1;i<r.length;i++){for(var o={},s=0;s<r[i].length;s++){var c=n[s],l=r[i][s];o[c]=e._convertStringToArray(c,l)}o.id.trim()!=``&&a.push(o)}var u={nodes:a,columnNames:r[0]};e.events.publish(`import`,[t,u])!=0&&(t._putInUndoStack(),t.clearRedo(),t.config.nodes=u.nodes,t._ai.setContext(),e.events.publish(`updated`,[t]),t.filterUI.update(),t.draw())})},i.readAsText(r.files[0])},n.click()},e._importSetColumnNames=function(t,n){if(t.indexOf(`id`)!=-1&&t.indexOf(`pid`)!=-1){n(t);return}var r=document.createElement(`DIV`),i=document.createElement(`P`);i.style.padding=`5px`,i.style.color=`rgb(122, 122, 122)`,i.innerHTML=e.IMPORT_MESSAGE,r.appendChild(i);var a=document.createElement(`div`),o=document.createElement(`div`),s=document.createElement(`div`),c=document.createElement(`span`);a.setAttribute(`id`,`boc-sampleDialog`),a.style.height=`260px`,a.style.width=`400px`,a.style.background=`white`,a.style.border=`0.5px solid grey`,a.style.position=`fixed`,a.style.overflow=`hidden`,a.style.zIndex=`99`,o.setAttribute(`id`,`title`),o.style.backgroundColor=`#e5e5e5`,o.style.fontWeight=`bold`,o.style.color=`rgb(122, 122, 122)`,o.style.height=`20px`,o.style.padding=`3px 0 0 7px`,c.setAttribute(`id`,`close`),c.style.cursor=`pointer`,c.style.position=`absolute`,c.style.color=`rgb(122, 122, 122)`,c.style.fontWeight=`bold`,c.style.top=`2px`,c.style.zIndex=100,s.setAttribute(`id`,`content`),s.style.padding=`2px`,o.innerHTML=`Import Organizational Chart Data`,c.innerHTML=`&times;`;var l=document.createElement(`HR`);l.style.height=`0.1px`,l.style.backgroundColor=`#aeaeae`,l.style.border=`none`,l.style.margin=`0`,a.appendChild(o),a.appendChild(l),s.appendChild(r),a.appendChild(s),a.appendChild(c),document.body.appendChild(a),e._importCenter(a),c.style.left=a.offsetWidth-20+`px`;var u=document.createElement(`div`);u.setAttribute(`id`,`overlay`),u.style.width=`100%`,u.style.height=`100%`,u.style.left=0,u.style.top=0,u.style.position=`fixed`,u.style.background=`grey`,u.style.opacity=`0.5`,u.style.zIndex=98,document.body.appendChild(u),a._overlay=u;var d=document.createElement(`LABEL`),f=document.createTextNode(`Name:`);d.setAttribute(`for`,`boc-id-select`),d.appendChild(f),d.style.fontSize=`16px`,d.style.color=`rgb(122, 122, 122)`,d.style.padding=`5px`,d.style.margin=`5px`,d.style.width=`30%`,d.style.textAlign=`right`,d.style.display=`inline-block`,r.appendChild(d);var p=document.createElement(`SELECT`);p.id=`boc-id-select`,p.style.fontSize=`16px`,p.style.color=`rgb(122, 122, 122)`,p.style.padding=`5px`,p.style.margin=`5px`,p.style.width=`60%`,p.style.border=`1px solid #aeaeae`,r.appendChild(p);var m=document.createElement(`BR`);r.appendChild(m);for(var h=0;h<t.length;h++){var g=document.createElement(`option`);g.setAttribute(`value`,t[h]);var _=document.createTextNode(t[h]);g.appendChild(_),p.appendChild(g)}var v=document.createElement(`LABEL`),y=document.createTextNode(`Reports to:`);v.setAttribute(`for`,`pid-select`),v.appendChild(y),v.style.fontSize=`16px`,v.style.color=`rgb(122, 122, 122)`,v.style.padding=`5px`,v.style.margin=`5px`,v.style.width=`30%`,v.style.textAlign=`right`,v.style.display=`inline-block`,r.appendChild(v);var b=document.createElement(`SELECT`);b.id=`pid-select`,b.style.fontSize=`16px`,b.style.color=`rgb(122, 122, 122)`,b.style.padding=`5px`,b.style.margin=`5px`,b.style.width=`60%`,b.style.border=`1px solid #aeaeae`,r.appendChild(b);for(var h=0;h<t.length;h++){var g=document.createElement(`option`);g.setAttribute(`value`,t[h]);var _=document.createTextNode(t[h]);g.appendChild(_),b.appendChild(g)}var x=document.createElement(`BUTTON`);x.innerHTML=`Import`,x.style.fontSize=`16px`,x.style.color=`rgb(122, 122, 122)`,x.style.padding=`5px 20px`,x.style.margin=`20px auto`,x.style.display=`block`,x.onclick=function(){a.style.display=`none`,a._overlay&&a._overlay.parentNode.removeChild(a._overlay);var e=p.options[p.selectedIndex].value,r=t.indexOf(e);t[r]=`id`;var i=b.options[b.selectedIndex].value,o=t.indexOf(i);t[o]=`pid`,n(t)};var S=document.createElement(`DIV`);return S.appendChild(x),r.appendChild(S),c.onclick=function(e){a._overlay&&a._overlay.parentNode.removeChild(a._overlay),a.parentNode.removeChild(a),e.stopPropagation()},o.onmousedown=function(e){e||=window.event,a._dragging=!0,a._originalLeft=a.offsetLeft,a._originalTop=a.offsetTop,a._mouseLeft=e.clientX,a._mouseTop=e.clientY},document.onmousemove=function(e){e||=window.event,a._dragging&&(a.style.left=a._originalLeft+e.clientX-a._mouseLeft+`px`,a.style.top=a._originalTop+e.clientY-a._mouseTop+`px`)},document.onmouseup=function(e){e||=window.event,a._dragging&&=(a.style.left=a._originalLeft+e.clientX-a._mouseLeft+`px`,a.style.top=a._originalTop+e.clientY-a._mouseTop+`px`,!1)},a},e._importCenter=function(e){e&&(e.style.left=(window.innerWidth-e.offsetWidth)/2+`px`,e.style.top=(window.innerHeight-e.offsetHeight)/2+`px`)},e.prototype.importXML=function(){var t=this,n=document.createElement(`INPUT`);n.setAttribute(`type`,`file`),n.setAttribute(`accept`,`.xml`),n.style.display=`none`,n.onchange=function(n){var r=n.target,i=new FileReader;i.onload=function(){var n=i.result,r=e._xml2json(n);e.events.publish(`import`,[t,r])!=0&&(t._putInUndoStack(),t.clearRedo(),t.config.nodes=r,t._ai.setContext(),e.events.publish(`updated`,[t]),t.filterUI.update(),t.draw())},i.readAsText(r.files[0])},n.click()},e.prototype.importJSON=function(){var t=this,n=document.createElement(`INPUT`);n.setAttribute(`type`,`file`),n.setAttribute(`accept`,`.json`),n.style.display=`none`,n.onchange=function(n){var r=n.target,i=new FileReader;i.onload=function(){var n=i.result,r=JSON.parse(n);e.events.publish(`import`,[t,r])!=0&&(t._putInUndoStack(),t.clearRedo(),t.config.nodes=r,t._ai.setContext(),e.events.publish(`updated`,[t]),t.filterUI.update(),t.draw())},i.readAsText(r.files[0])},n.click()},e.prototype.expand=function(t,n,r){if(this._treeListExpandCollapseHandler(t),this._resetMovableNodes(),n=this._filterOnlyExistingAndCallOnDemandForOthers(t,n),n==`all`||n.length){var i={id:t,ids:n};this._draw(!1,e.action.expand,i,r)}},e.prototype.collapse=function(t,n,r){this._treeListExpandCollapseHandler(t),this._resetMovableNodes();var i={id:t,ids:n};this._draw(!1,e.action.collapse,i,r)},e.prototype.expandCollapse=function(t,n,r,i){this._treeListExpandCollapseHandler(t),this._resetMovableNodes(),Array.isArray(n)||(n=[]),Array.isArray(r)||(r=[]),n=this._filterOnlyExistingAndCallOnDemandForOthers(t,n);var a={id:t,expandIds:n,collapseIds:r,ids:n.concat(r)};this._draw(!1,e.action.collapse,a,i)},e.prototype.changeRoots=function(t,n,r){this.config.roots=n;var i={id:t,changeRoots:n};this._draw(!1,e.action.update,i,r)},e.prototype._filterOnlyExistingAndCallOnDemandForOthers=function(t,n){if(n==`all`)return n;var r=[],i=[];for(var a of n)this.getNode(a)?i.push(a):r.push(a);return r.length&&e.events.publish(`on-demand`,[this,{ids:r,id:t}]),i},e.prototype._resetMovableNodes=function(){if(e.RESET_MOVABLE_ONEXPANDCOLLAPSE&&this.config.movable!=null){for(var t=!1,n=0;n<this.config.nodes.length;n++){var r=this.config.nodes[n];r.movex!=null&&(r.movex=0,t=!0),r.movey!=null&&(r.movey=0,t=!0)}t&&(this._ai.setContext(),e.events.publish(`updated`,[this]))}},e.prototype.maximize=function(t,n,r,i){var a=this,o={id:t,options:{}};e.isNEU(o.id)&&(o.id=this.roots[0].id,o.all=!0),o.options.horizontal=!1,o.options.vertical=!1,n&&(o.options.horizontal=n),r&&(o.options.vertical=r),this._draw(!1,e.action.maximize,o,function(){a.ripple(t),i&&i()})},e.prototype.minimize=function(t,n){var r=this,i={id:t};e.isNEU(i.id)&&(i.id=this.roots[0].id,i.all=!0),this._draw(!1,e.action.minimize,i,function(){r.ripple(t),n&&n()})},e.prototype._expCollHandler=function(t){this.nodeMenuUI.hide(),this.nodeContextMenuUI.hide(),this.menuUI.hide(),this.nodeCircleMenuUI.hide();var n=this.getNode(t);if(n.collapsedChildrenIds.length){var r=e.events.publish(`expcollclick`,[this,!1,t,n.collapsedChildrenIds]);if(r===!1)return!1;this.expand(t,n.collapsedChildrenIds,!1)}else{var r=e.events.publish(`expcollclick`,[this,!0,t,n.childrenIds]);if(r===!1)return!1;this.collapse(t,n.childrenIds,!1)}},e.prototype._upHandler=function(t){this.nodeMenuUI.hide(),this.nodeContextMenuUI.hide(),this.menuUI.hide(),this.nodeCircleMenuUI.hide();var n=this._upHandlerCreateArgs(t);if(e.events.publish(`up-click`,[this,n])===!1)return!1;n.roots.length!=0&&this.changeRoots(n.id,n.roots,!1)},e.prototype._upHandlerCreateArgs=function(t){var n=this.getNode(t),r=Object.assign([],this.config.roots),i=this.getNode(n.pid),a;if(i&&(a=i),a){if(Array.isArray(r)){var o=r.indexOf(n.id);o!=-1&&r.splice(o,1)}else r=[];r.push(a.id)}else e.events.publish(`on-demand`,[this,{ids:[n.pid],id:n.id}]);return{id:n.id,roots:r}},String.prototype.replaceAll||(String.prototype.replaceAll=function(e,t){return this.replace(new RegExp(e,`g`),t)}),String.prototype.endsWith||(String.prototype.endsWith=function(e){return this.indexOf(e,this.length-e.length)!==-1}),String.prototype.splice||(String.prototype.splice=function(e,t,n){return this.slice(0,e)+n+this.slice(e+Math.abs(t))}),String.prototype.insert||(String.prototype.insert=function(e,t){return e>0?this.substring(0,e)+t+this.substr(e):t+this}),Array.prototype.unique||Object.defineProperty(Array.prototype,`unique`,{value:function(){for(var e=this.concat(),t=0;t<e.length;++t)for(var n=t+1;n<e.length;++n)e[t]===e[n]&&e.splice(n--,1);return e},writable:!0,configurable:!0,enumerable:!1}),Array.prototype.has||Object.defineProperty(Array.prototype,`has`,{value:function(e){for(var t=0;t<this.length;t++)if(this[t]==e)return!0;return!1},writable:!0,configurable:!0,enumerable:!1}),Array.prototype.compare||Object.defineProperty(Array.prototype,`compare`,{value:function(e){if(this.length!=e.length)return!1;for(var t=0;t<this.length;t++)if(!e.has(this[t]))return!1;return!0},writable:!0,configurable:!0,enumerable:!1}),Object.assign||Object.defineProperty(Object,`assign`,{value:function(e,t){"use strict";if(e==null)throw TypeError(`Cannot convert undefined or null to object`);for(var n=Object(e),r=1;r<arguments.length;r++){var i=arguments[r];if(i!=null)for(var a in i)Object.prototype.hasOwnProperty.call(i,a)&&(n[a]=i[a])}return n},writable:!0,configurable:!0}),e.prototype._clickHandler=function(t,n){if(!(n.button>0)){for(var r=n.target;r!=t;){if(r.hasAttribute(e.attr.control_expcoll_id)){var i=r.getAttribute(e.attr.control_expcoll_id),a=this.getNode(i);this._expCollHandler(a.id);return}if(r.hasAttribute(e.attr.node_id)){var i=r.getAttribute(e.attr.node_id),a=this.getNode(i);this._nodeClickHandler(a.id,n);return}if(r.hasAttribute(e.attr.control_node_menu_id)){n.stopPropagation(),n.preventDefault();var i=r.getAttribute(e.attr.control_node_menu_id),a=this.getNode(i);this._nodeMenuClickHandler(a.id,r,n);return}if(r.hasAttribute(e.attr.control_node_btn)){n.stopPropagation(),n.preventDefault();for(var o=r.getAttribute(e.attr.control_node_btn);!r.hasAttribute(e.attr.node_id);)r=r.parentNode;var i=r.getAttribute(e.attr.node_id);e._onClickHandler(this,o,void 0,i,void 0);return}if(r.hasAttribute(e.attr.control_node_circle_menu_id)){n.stopPropagation(),n.preventDefault();var i=r.getAttribute(e.attr.control_node_circle_menu_id);this._nodeCircleMenuClickHandler(i);return}if(r.hasAttribute(e.attr.control_node_circle_menu_name)){n.stopPropagation(),this._nodeCircleMenuItemClickHandler(r,n);return}if(r.hasAttribute(e.attr.control_add)){this._lonelyButtonHandler();return}if(r.hasAttribute(e.attr.control_up_id)){var i=r.getAttribute(e.attr.control_up_id);n.stopPropagation(),n.preventDefault(),this._upHandler(i);return}if(r.hasAttribute(e.attr.c_link_from)){e.events.publish(`clink-click`,[this,{from:r.getAttribute(e.attr.c_link_from),to:r.getAttribute(e.attr.c_link_to),event:n}]);return}if(r.hasAttribute(e.attr.s_link_from)){e.events.publish(`slink-click`,[this,{from:r.getAttribute(e.attr.s_link_from),to:r.getAttribute(e.attr.s_link_to),event:n}]);return}if(r.hasAttribute(`data-ctrl-n-dotted-close`)){var i=r.getAttribute(`data-ctrl-n-dotted-close`);this.minimize(i);return}if(r.hasAttribute(`data-ctrl-n-dotted-open`)){var i=r.getAttribute(`data-ctrl-n-dotted-open`);this.maximize(i);return}r=r.parentNode}e.events.publish(`canvas-click`,[this,{event:n}])}},e.prototype._mouseDownHandler=function(t,n,r,i){var a=this;e.SEARCH_CLOSE_RESULT_ON_ESCAPE_OR_CLICKOUTSIDE&&this.searchUI.hide(),this.nodeMenuUI.hide(),this.nodeContextMenuUI.hide(),this.menuUI.hide();var o=this.getViewBox(),s=this.getScale(),c=e._getClientTouchesXY(n,0),l=e._getClientTouchesXY(n,1),u={diffX:0,diffY:0,x0:c.x,y0:c.y,type:this.config.enablePan?`pan`:`pan-not-enabled`,viewBoxLeft:o[0],viewBoxTop:o[1],time:Date.now()};n.touches&&n.touches.length>1&&(u.type=`pinch`,u.dist=Math.sqrt((c.x-l.x)*(c.x-l.x)+(c.y-l.y)*(c.y-l.y)));var d=null;if(i){var f=i.stChildren[0].lcn?i.stChildren[0].lcn:`base`;d=a.manager.layoutConfigs[f],u.scrollTop=i.treeList.scrollTop}var p=0,m=function(t){var n=e._getClientTouchesXY(t,0);if(u&&u.type==`pan`){clearTimeout(a._timeout),u.diffX=n.x-u.x0,u.diffY=n.y-u.y0,p=Math.max(Math.abs(u.diffY),Math.abs(u.diffX));var r=-(u.diffY/s)+u.viewBoxTop,c=-(u.diffX/s)+u.viewBoxLeft;p>3&&(i?(i.treeList.scrollTop=u.scrollTop-u.diffY/s,a._treeListUpdateInterval&&=(clearInterval(a._treeListUpdateInterval),null),a._treeListUpdate(i,d)):(a._hideBeforeAnimation(),a._changeCursorOnPanStart(o,s,t),a._move(r,c,o)))}else if(u&&u.type==`pinch`){var l=e._getClientTouchesXY(t,1),f=Math.sqrt((n.x-l.x)*(n.x-l.x)+(n.y-l.y)*(n.y-l.y)),m=1+(f-u.dist)/(u.dist/100)/100;u.dist=f;var h=e._pinchMiddlePointInPercent(a.element,a.width(),a.height(),t);a.zoom(m,h)}},h=function(n){if(p<3&&u.type!=`pinch`&&(n.touches==null||n.touches.length<=1))a._clickHandler(t,n);else if(u.type==`pan`&&i){var o=Date.now()-u.time,s=Math.abs(p/o);if(s>.5){var c=i.treeList.scrollTop,l=c+s*400*(u.diffY>0?-1:1),f=i.stChildren[0].h;l=Math.round(l/f)*f,l!=c&&(a._treeListUpdateInterval&&=(clearInterval(a._treeListUpdateInterval),null),a._treeListUpdateInterval=e.animate(null,{},{},1500,e.anim.outExp,function(){},function(e){i.treeList.scrollTop=e*(l-c)+c,a._treeListUpdate(i,d.orientation)}))}else{var c=i.treeList.scrollTop,f=i.stChildren[0].h,l=Math.round(i.treeList.scrollTop/f)*f;l!=c&&(a._treeListUpdateInterval&&=(clearInterval(a._treeListUpdateInterval),null),a._treeListUpdateInterval=e.animate(null,{},{},200,e.anim.outSin,function(){},function(e){i.treeList.scrollTop=e*(l-c)+c,a._treeListUpdate(i,d.orientation)}))}}else u.type==`pan`&&!i&&p>10&&a._draw(!0,e.action.pan);u.type==`pan`&&!i&&a._changeCursorOnPanEnd(),u=null,t.removeEventListener(r.move,m),t.removeEventListener(r.up,h),r.leave&&t.removeEventListener(r.leave,h),r.touchstart&&t.removeEventListener(r.touchstart,h)};t.addEventListener(r.move,m,{passive:!0}),t.addEventListener(r.up,h),r.leave&&t.addEventListener(r.leave,h),r.touchstart&&t.addEventListener(r.touchstart,h,{passive:!0})},e.prototype._changeCursorOnPanStart=function(t,n,r){var i=this.getPointerElement();if(i){var a=e._getOffsetXY(this.element,r),o=a.x/n+t[0]-16/n,s=a.y/n+t[1]-16/n;i.style.display=`inherit`,i.setAttribute(`transform`,`matrix(0,0,0,0,`+o+`,`+s+`)`),e.animate(i,{transform:[0,0,0,0,o,s],opacity:0},{transform:[1/n,0,0,1/n,o,s],opacity:1},300,e.anim.outBack)}else this.element.style.cursor=`move`},e.prototype._changeCursorOnPanEnd=function(){var e=this.getPointerElement();e?e.style.display=`none`:this.element.style.cursor=`initial`},e.prototype._globalMouseDownHandler=function(t,n){var r={move:`mousemove`,up:`mouseup`,leave:`mouseleave`};n.type.indexOf(`touch`)!=-1&&(n.touches.length==1?this._touch={x:n.touches[0].clientX,y:n.touches[0].clientY}:this._touch=null,r={move:`touchmove`,up:`touchend`,touchstart:`touchstart`}),this._treeListUpdateInterval&&=(clearInterval(this._treeListUpdateInterval),null);for(var i=null,a=n.target;a!=t&&!a.hasAttribute(e.attr.control_node_menu_id)&&!a.hasAttribute(e.attr.control_node_btn)&&!a.hasAttribute(e.attr.control_node_circle_menu_id);){if(a.hasAttribute){var o=null;a.hasAttribute(e.attr.node_id)?o=this.getNode(a.getAttribute(e.attr.node_id)):a.hasAttribute(e.attr.control_expcoll_id)?o=this.getNode(a.getAttribute(e.attr.control_expcoll_id)):a.hasAttribute(e.attr.control_node_menu_id)?o=this.getNode(a.getAttribute(e.attr.control_node_menu_id)):a.hasAttribute(e.attr.control_node_btn)&&(o=this.getNode(a.getAttribute(e.attr.control_node_btn))),i||=e._getScrollableTreeListNodeInTouchEnabledDevice(o)}if(a.hasAttribute(e.attr.node_id)&&!i&&(this.config.enableDragDrop||this.config.movable)){if(n.touches==null||n.touches.length<=1){this._nodeMouseDownHandler(a,n,r);return}}else if(a.hasAttribute(e.attr.control_node_circle_menu_name)){if(n.stopPropagation(),n.touches==null||n.touches.length<=1){this._nodeCircleNodeMenuItemMouseDownHandler(t,a,n,r);return}}else if(a.hasAttribute(`data-treelist-thumb`)&&(n.stopPropagation(),n.touches==null||n.touches.length<=1)){this._treeListThumbMouseDownHandler(a,n,r);return}a=a.parentNode}n.stopPropagation(),this._mouseDownHandler(t,n,r,i)},e.prototype._globalContextHandler=function(t,n){for(var r=n.target;r!=t;){if(r.hasAttribute(e.attr.node_id)){var i=r.getAttribute(e.attr.node_id),a=this.getNode(i);this._nodeContextHandler(a.id,n);return}r=r.parentNode}},e.prototype._nodeContextHandler=function(t,n){n.preventDefault(),e.SEARCH_CLOSE_RESULT_ON_ESCAPE_OR_CLICKOUTSIDE&&this.searchUI.hide(),this.nodeMenuUI.hide(),this.nodeContextMenuUI.hide(),this.menuUI.hide(),this.nodeCircleMenuUI.hide();var r=this.get(t),i=null;if(r!=null&&Array.isArray(r.tags))for(var a=0;a<r.tags.length;a++){var o=r.tags[a];this.config.tags[o]&&this.config.tags[o].nodeContextMenu&&(i=this.config.tags[o].nodeContextMenu)}var s=this.element.getBoundingClientRect(),c=n.clientX-s.left,l=n.clientY-s.top;this.nodeContextMenuUI.show(c,l,t,null,i)},e.prototype._globalDbClickHandler=function(t,n){for(var r=n.target;r!=t;){if(r.hasAttribute(e.attr.node_id)){var i=r.getAttribute(e.attr.node_id),a=this.getNode(i);this._nodeDbClickHandler(a.id,n);return}r=r.parentNode}},e.prototype._mouseScrollHandler=function(e,t){for(var n=!1,r=t.target,i=null;r&&r.hasAttribute&&!r.hasAttribute(`data-n-id`)&&!r.hasAttribute(`data-ctrl-ec-id`);)r=r.parentNode;if(r.hasAttribute&&r.hasAttribute(`data-n-id`)){var a=r.getAttribute(`data-n-id`);i=this.getNode(a),i.isTreeListItem&&(n=!0)}if(r.hasAttribute&&r.hasAttribute(`data-ctrl-ec-id`)){var a=r.getAttribute(`data-ctrl-ec-id`);i=this.getNode(a),i.isTreeListItem&&(n=!0)}t.ctrlKey&&(n=!1),n?this.__mouseScrollHandlerTreeList(i,t):this.__mouseScrollHandler(this.getSvg(),t)},e.prototype.__mouseScrollHandler=function(t,n){if(n.ctrlKey){if(this.config.mouseScroll==e.action.zoom)return}else if(this.config.mouseScroll==e.action.ctrlZoom||this.config.mouseScroll!=e.action.zoom)return;if(n.preventDefault(),!navigator.hardwareConcurrency||navigator.hardwareConcurrency<9){let i=n.deltaY/1e3;i=Math.abs(i)<.1?.1*n.deltaY/Math.abs(n.deltaY):i;var r=e._centerPointInPercent(t,n.clientX,n.clientY);this.zoom(1-i,r)}else{var i=this,a=!1,o=this.config.zoom.speed,s=this.config.zoom.smooth,c=0,l=this.getScale(),r=e._centerPointInPercent(t,n.clientX,n.clientY);function f(){a=!0;var e=(c-l)/s;e>0?e++:e--,l+=e,i.zoom(1-e/12/50,r),parseInt(l)==parseInt(c)?a=!1:u(f)}var u=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e){setTimeout(e,20)}}();n.preventDefault();var d=n.delta||n.wheelDelta;d===void 0&&(d=-n.detail),d=Math.max(-1,Math.min(1,d)),c+=-d*o,a||f()}},e.prototype._nodeCircleNodeMenuItemMouseDownHandler=function(t,n,r,i){var a=n.parentNode.getAttribute(e.attr.control_node_circle_menu_wrraper_id),o=n.getAttribute(e.attr.control_node_circle_menu_name),s=this.nodeCircleMenuUI._menu[o];if(!s.draggable){this._clickHandler(t,r);return}var c=this,l=e._getClientXY(r),u=this.getNode(a);n._dragEventFired=!1;var d=c.getScale(),f=null,p=null;document.body.style.mozUserSelect=document.body.style.webkitUserSelect=document.body.style.userSelect=`none`;var m=this.getSvg(),h={x:l.x,y:l.y},g=function(t){for(;t&&!t.hasAttribute(e.attr.control_node_circle_menu_wrraper_id);)t=t.parentNode;if(!t){console.error(`cannot find parent`+e.attr.control_node_circle_menu_wrraper_id);return}var n=e._getTransform(t);return{x:n[4],y:n[5]}},_=n.cloneNode(!0);m.insertBefore(_,m.firstChild);var v=e._getTransform(_),y=v[4],b=v[5],x=g(n);_.setAttribute(`transform`,`matrix(1,0,0,1,`+(y+x.x)+`,`+(b+x.y)+`)`),_.style.opacity=.7;var S=function(t,n){if(t!=null){n.classList.remove(`boc-drag-over`);for(var r=e.getStParentNodes(c.getNode(f)),i=0;i<r.length;i++){var a=c.getNodeElement(r[i].id);a&&(a.style.opacity=1)}}},C=function(t){if(h){var r=e._getClientXY(t),i=t.target;e.isMobile()&&(i=document.elementFromPoint(r.x,r.y)),r.x+=x.x*d,r.y+=x.y*d;var a=e._getOffsetXY(c.element,t),l={left:c.width()-(a.x+c.config.padding)<0,right:a.x-c.config.padding<0,up:c.height()-(a.y+c.config.padding)<0,down:a.y-c.config.padding<0};if(l.left||l.right||l.up||l.down){m.classList&&(m.classList.remove(`boc-cursor-grab`),m.classList.add(`boc-cursor-move`),m.classList.remove(`boc-cursor-nodrop`),m.classList.remove(`boc-cursor-copy`));var u=v[4],g=v[5],C=h.x,T=h.y,E=r.x,D=r.y;c.moveStart(l,function(e){v[4]=u+e.x,v[5]=g+e.y,h.x=C-e.xWithoutScale,h.y=T-e.yWithoutScale,r.x=E-e.xWithoutScale,r.y=D-e.yWithoutScale,_.setAttribute(`transform`,`matrix(`+v.toString()+`)`)})}else{for(c.moveEnd(),m.classList&&(m.classList.add(`boc-cursor-grab`),m.classList.remove(`boc-cursor-move`),m.classList.remove(`boc-cursor-nodrop`),m.classList.remove(`boc-cursor-copy`)),S(f,p),f=null,p=null;i!=null&&i!=m;){if(i.hasAttribute&&i.hasAttribute(e.attr.node_id)){var O=i.getAttribute(e.attr.node_id);f=O,p=i;break}i=i.parentNode}if(f!=null){p.classList.add(`boc-drag-over`);for(var k=c.getNode(f),A=e.getStParentNodes(k),j=0;j<A.length;j++){var M=c.getNodeElement(A[j].id);M&&(M.style.opacity=.1)}m.classList.remove(`boc-cursor-grab`),m.classList.remove(`boc-cursor-move`),m.classList.add(`boc-cursor-copy`),m.classList.remove(`boc-cursor-nodrop`)}var N=(r.x-h.x)/d,P=(r.y-h.y)/d;v[4]=y+N,v[5]=b+P,!n._dragEventFired&&(Math.abs(r.x-h.x)>e.FIRE_DRAG_NOT_CLICK_IF_MOVE||Math.abs(r.y-h.y)>e.FIRE_DRAG_NOT_CLICK_IF_MOVE)&&(c._gragStartedId=n.parentNode.getAttribute(e.attr.control_node_circle_menu_wrraper_id),e.events.publish(`drag`,[c.nodeCircleMenuUI,{from:O,menuItem:s,menuItemName:o}])===!1&&w(),n._dragEventFired=!0),_.setAttribute(`transform`,`matrix(`+v.toString()+`)`)}}},w=function(t){if(c.moveEnd(),m.classList&&(m.classList.remove(`boc-cursor-grab`),m.classList.remove(`boc-cursor-move`),m.classList.remove(`boc-cursor-nodrop`),m.classList.remove(`boc-cursor-copy`)),m.removeEventListener(i.move,C),m.removeEventListener(i.up,w),i.leave&&m.removeEventListener(i.leave,w),u.id==f||f==null){m.removeChild(_),c._gragStartedId=null,n._dragEventFired&&e.events.publish(`drop`,[c.nodeCircleMenuUI,{from:u.id,menuItemName:o,menuItem:s,event:t}]);return}var r=c.getNode(f);e.events.publish(`drop`,[c.nodeCircleMenuUI,{from:u.id,to:r.id,menuItem:s,menuItemName:o,event:t}]),S(f,p),m.removeChild(_),c._gragStartedId=null};m.addEventListener(i.move,C),m.addEventListener(i.up,w),i.leave&&m.addEventListener(i.leave,w)},e.prototype._nodeMouseDownHandler=function(t,n,r){var i=t.getAttribute(e.attr.node_id),a=this.getNode(i);this.config.movable&&!e.getRootOf(a).stParent?this._movableHandler(t,n,r):this.config.enableDragDrop&&this._dragDropHandler(t,n,r)},e.prototype._resizeHandler=function(t,n){if(this.isVisible&&!(t==0||n==0)){var r=this.getViewBox();if(r){r=r.slice(0);var i=t/r[2],a=n/r[3];Math.abs(this._lastSize.width-t)>Math.abs(this._lastSize.height-n)?r[3]=n/i:r[2]=t/a,this.nodeMenuUI.hide(),this.nodeContextMenuUI.hide(),this.menuUI.hide(),this.nodeCircleMenuUI.hide(),this.setViewBox(r),this.xScrollUI.create(t),this.yScrollUI.create(n),this._draw(!0,e.action.resize)}}},e.prototype._nodeDbClickHandler=function(t,n){if(e.events.publish(`dbclick`,[this,this.get(t)])===!1)return!1;this._commonClickHandler(t,n,this.config.nodeMouseDbClick)},e.prototype._nodeClickHandler=function(t,n){if(e.events.publish(`click`,[this,{node:this.getNode(t),event:n}])===!1)return!1;if(this.powerPointPreviewUI.isVisible()&&this.powerPointPreviewUI.selectedPage!=null){this.powerPointPreviewUI.selectedPage.content=void 0,this.powerPointPreviewUI.selectedPage.nodeId=t,this.powerPointPreviewUI.refresh(t),this.ripple(t,n.clientX,n.clientY);return}if(this.pdfPreviewUI.isVisible()&&this.pdfPreviewUI.selectedPage!=null){this.pdfPreviewUI.selectedPage.content=void 0,this.pdfPreviewUI.selectedPage.nodeId=t,this.pdfPreviewUI.refresh(t),this.ripple(t,n.clientX,n.clientY);return}if(this.svgPreviewUI.isVisible()&&this.svgPreviewUI.selectedPage!=null){this.svgPreviewUI.selectedPage.content=void 0,this.svgPreviewUI.selectedPage.nodeId=t,this.svgPreviewUI.refresh(t),this.ripple(t,n.clientX,n.clientY);return}if(this.pngPreviewUI.isVisible()&&this.pngPreviewUI.selectedPage!=null){this.pngPreviewUI.selectedPage.content=void 0,this.pngPreviewUI.selectedPage.nodeId=t,this.pngPreviewUI.refresh(t),this.ripple(t,n.clientX,n.clientY);return}var r=this.getNodeElement(t);if(r&&r._dragEventFired){r._dragEventFired=!1;return}this._commonClickHandler(t,n,this.config.nodeMouseClick)},e.prototype._nodeCircleMenuItemClickHandler=function(t,n){var r=t.parentNode.getAttribute(e.attr.control_node_circle_menu_wrraper_id),i=t.getAttribute(e.attr.control_node_circle_menu_name),a=this.nodeCircleMenuUI._menu[i];e.events.publish(`click`,[this.nodeCircleMenuUI,{nodeId:r,menuItemName:i,menuItem:a,event:n}])},e.prototype._nodeCircleMenuClickHandler=function(t){if(e.SEARCH_CLOSE_RESULT_ON_ESCAPE_OR_CLICKOUTSIDE&&this.searchUI.hide(),this.nodeMenuUI.hide(),this.menuUI.hide(),this.nodeContextMenuUI.isVisible())this.nodeContextMenuUI.hide();else{var n=this.getNode(t),r=null;if(Array.isArray(n.tags))for(var i=0;i<n.tags.length;i++){var a=n.tags[i];this.config.tags[a]&&this.config.tags[a].nodeCircleMenu&&(r=this.config.tags[a].nodeCircleMenu)}this.nodeCircleMenuUI.show(t,r)}},e.prototype._commonClickHandler=function(t,n,r){if(e.SEARCH_CLOSE_RESULT_ON_ESCAPE_OR_CLICKOUTSIDE&&this.searchUI.hide(),this.nodeMenuUI.hide(),this.nodeContextMenuUI.hide(),this.menuUI.hide(),this.nodeCircleMenuUI.hide(),r==e.action.expandCollapse&&this.toggleExpandCollapse(t,n),r==e.action.edit){var i=this.getNode(t);i&&(this.editUI.show(i.id),this.ripple(i.id,n.clientX,n.clientY))}if(r==e.action.details){var i=this.getNode(t);i&&(this.editUI.show(i.id,!0),this.ripple(i.id,n.clientX,n.clientY))}},e.prototype._menuHandlerMouseDownHandler=function(e,t){t.stopPropagation(),t.preventDefault()},e.prototype._nodeMenuClickHandler=function(t,n,r){e.SEARCH_CLOSE_RESULT_ON_ESCAPE_OR_CLICKOUTSIDE&&this.searchUI.hide(),this.nodeMenuUI.hide(),this.nodeContextMenuUI.hide(),this.menuUI.hide(),this.nodeCircleMenuUI.hide();var i=this.getNode(t),a=null;if(Array.isArray(i.tags))for(var o=0;o<i.tags.length;o++){var s=i.tags[o];this.config.tags[s]&&this.config.tags[s].nodeMenu&&(a=this.config.tags[s].nodeMenu)}this.nodeMenuUI.showStickIn(n,t,null,a)},e.prototype._menuClickHandler=function(e,t){t.stopPropagation(),t.preventDefault(),this.nodeMenuUI.hide(),this.nodeContextMenuUI.hide(),this.menuUI.show(e.offsetLeft,e.offsetTop)},e.prototype._lonelyButtonHandler=function(){var e={id:this.generateId()};this.addNode(e,null,!0)!==!1&&this.center(e.id)},e.prototype.toggleExpandCollapse=function(t,n){var r=this.getNode(t);if(r.collapsedChildrenIds.length){var i=e.events.publish(`expcollclick`,[this,!1,t,r.collapsedChildrenIds]);if(i===!1)return!1;this.expand(t,r.collapsedChildrenIds,!1)}else{var i=e.events.publish(`expcollclick`,[this,!0,t,r.childrenIds]);if(i===!1)return!1;this.collapse(t,r.childrenIds,!1)}n&&this.ripple(r.id,n.clientX,n.clientY)},e.prototype._dragDropHandler=function(t,n,r){var i=e._getClientXY(n),a=t.getAttribute(e.attr.node_id),o=this.getNode(a);t._dragEventFired=!1;var s=null,c=null;this.element.style.mozUserSelect=this.element.style.webkitUserSelect=this.element.style.userSelect=`none`;var l=this,u=this.getSvg(),d={x:i.x,y:i.y},f=e._getTransform(t),p=f[4],m=f[5],h=l.getScale(),g=t.cloneNode(!0);g.setAttribute(`data-n-id`,`draging`),u.insertBefore(g,u.firstChild),g.style.opacity=.7;var _=function(t,n){if(t!=null){n.classList.remove(`boc-drag-over`);for(var r=l.getNode(s),i=e.getStParentNodes(r),a=0;a<i.length;a++){var o=l.getNodeElement(i[a].id);o&&(o.style.opacity=1)}}},v=function(n){if(n.touches!=null&&n.touches.length>1){y(n);return}if(d){var r=e._getClientXY(n),i=n.target;e.isMobile()&&(i=document.elementFromPoint(r.x,r.y));var a=e._getOffsetXY(l.element,n),v={left:l.width()-(a.x+l.config.padding)<0,right:a.x-l.config.padding<0,up:l.height()-(a.y+l.config.padding)<0,down:a.y-l.config.padding<0};if(v.left||v.right||v.up||v.down){u.classList&&(u.classList.remove(`boc-cursor-grab`),u.classList.add(`boc-cursor-move`),u.classList.remove(`boc-cursor-nodrop`),u.classList.remove(`boc-cursor-copy`));var b=f[4],x=f[5],S=d.x,C=d.y,w=r.x,T=r.y;l.moveStart(v,function(e){f[4]=b+e.x,f[5]=x+e.y,d.x=S-e.xWithoutScale,d.y=C-e.yWithoutScale,r.x=w-e.xWithoutScale,r.y=T-e.yWithoutScale,g.setAttribute(`transform`,`matrix(`+f.toString()+`)`)})}else{if(l.moveEnd(),u.classList&&(u.classList.add(`boc-cursor-grab`),u.classList.remove(`boc-cursor-move`),u.classList.remove(`boc-cursor-nodrop`),u.classList.remove(`boc-cursor-copy`)),_(s,c),s=null,c=null,l.config.enableDragDrop)for(;i!=null&&i!=u;){if(i.hasAttribute&&i.hasAttribute(e.attr.node_id)){var E=i.getAttribute(e.attr.node_id);if(l._gragStartedId&&E!=l._gragStartedId){s=E,c=i;break}}i=i.parentNode}if(s==`draging`&&(s=null,c=null),s!=null){c.classList.add(`boc-drag-over`);for(var D=l.getNode(s),O=e.getStParentNodes(D),k=0;k<O.length;k++){var A=l.getNodeElement(O[k].id);A&&(A.style.opacity=.1)}!l.canUpdateLink(o.id,s)&&u.classList?(u.classList.remove(`boc-cursor-grab`),u.classList.remove(`boc-cursor-move`),u.classList.remove(`boc-cursor-copy`),u.classList.add(`boc-cursor-nodrop`)):u.classList&&(u.classList.remove(`boc-cursor-grab`),u.classList.remove(`boc-cursor-move`),u.classList.add(`boc-cursor-copy`),u.classList.remove(`boc-cursor-nodrop`))}var j=(r.x-d.x)/h,M=(r.y-d.y)/h;f[4]=p+j,f[5]=m+M,!t._dragEventFired&&(Math.abs(r.x-d.x)>e.FIRE_DRAG_NOT_CLICK_IF_MOVE||Math.abs(r.y-d.y)>e.FIRE_DRAG_NOT_CLICK_IF_MOVE)&&(l._gragStartedId=E,e.events.publish(`drag`,[l,E,n])===!1&&y(),t._dragEventFired=!0),g.setAttribute(`transform`,`matrix(`+f.toString()+`)`)}}},y=function(n){if(!t._dragEventFired&&(n.touches==null||n.touches.length<=1)&&l._clickHandler(l.getSvg(),n),l.moveEnd(),u.classList&&(u.classList.remove(`boc-cursor-grab`),u.classList.remove(`boc-cursor-move`),u.classList.remove(`boc-cursor-nodrop`),u.classList.remove(`boc-cursor-copy`)),u.removeEventListener(r.move,v),u.removeEventListener(r.up,y),r.leave&&u.removeEventListener(r.leave,y),o.id==s||s==null){t._dragEventFired&&e.events.publish(`drop`,[l,o.id,void 0,g,n]),u.removeChild(g),l._gragStartedId=null;return}var i=l.getNode(s);if(e.events.publish(`drop`,[l,o.id,i.id,g,n])===!1){_(s,c),u.removeChild(g),l._gragStartedId=null;return}if(l.canUpdateLink(o.id,s)){var a=l.get(o.id);a.pid=s,a.stpid=null,a.movex!=null&&(a.movex=void 0),a.movey!=null&&(a.movey=void 0),l.updateNode(a,null,!0)}else u.removeChild(g),_(s,c);l._gragStartedId=null};u.addEventListener(r.move,v),u.addEventListener(r.up,y),r.leave&&u.addEventListener(r.leave,y)},e.prototype._movableHandler=function(t,n,r){var i=this,a=t.getAttribute(e.attr.node_id),o=[],s=function(e,t){if(Array.isArray(e)){for(var n=0;n<e.length;n++)s(e[n],t);return}t.push(e.id);for(var n=0;n<e.stChildren.length;n++)s(e.stChildren[n],t);for(var n=0;n<e.children.length;n++)s(e.children[n],t)},c=function(e,t){if(Array.isArray(e)){for(var n=0;n<e.length;n++)s(e[n],t);return}t.push(e.id);for(var n=0;n<e.stChildrenIds.length;n++)c(i.getNode(e.stChildrenIds[n]),t);for(var n=0;n<e.childrenIds.length;n++)c(i.getNode(e.childrenIds[n]),t)},l=this.getNode(a);s(l,o);for(var u=this.getSvg(),d=e._getClientXY(n),f=[],p=[],m=[],h=[],g=[],_=[],v=[],y=[],b=0;b<o.length;b++){var x=this.getNode(o[b]);f.push(x),m.push({x:x.x,y:x.y});var S=this.getNodeElement(o[b]);if(S){g.push(S);var C=e._getTransform(S);h.push({x:C[4],y:C[5]}),p.push(C);var w=this.element.querySelector(`[data-ctrl-ec-id="${o[b]}"]`);if(w){_.push(w);var T=e._getTransform(w);v.push(T),y.push({x:T[4],y:T[5]})}else _.push(null),v.push(null),y.push(null);if(this.config.movable==e.movable.node)break}}t._dragEventFired=!1;var E=null,D=null;document.body.style.mozUserSelect=document.body.style.webkitUserSelect=document.body.style.userSelect=`none`;var O={x:d.x,y:d.y},k=i.getScale(),A=function(t,n){if(t!=null){n.classList.remove(`boc-drag-over`);for(var r=i.getNode(E),a=e.getStParentNodes(r),o=0;o<a.length;o++){var s=i.getNodeElement(a[o].id);s&&(s.style.opacity=1)}}},j=function(n){if(n.touches!=null&&n.touches.length>1){M(n);return}if(O){var r=e._getClientXY(n),s=n.target;e.isMobile()&&(s=document.elementFromPoint(r.x,r.y));var c=e._getOffsetXY(i.element,n),d={left:i.width()-(c.x+i.config.padding)<0,right:c.x-i.config.padding<0,up:i.height()-(c.y+i.config.padding)<0,down:c.y-i.config.padding<0};if(d.left||d.right||d.up||d.down){u.classList&&(u.classList.remove(`boc-cursor-grab`),u.classList.add(`boc-cursor-move`),u.classList.remove(`boc-cursor-nodrop`),u.classList.remove(`boc-cursor-copy`));for(var b=[],x=[],S=[],C=[],w=0;w<p.length;w++)b.push(p[w][4]),x.push(p[w][5]),v[w]?(S.push(v[w][4]),C.push(v[w][5])):(S.push(null),C.push(null));var T=O.x,j=O.y,N=r.x,P=r.y;i.moveStart(d,function(t){for(var n=0;n<p.length;n++){var a=b[n],o=x[n],s=S[n],c=C[n];p[n][4]=a+t.x,p[n][5]=o+t.y,O.x=T-t.xWithoutScale,O.y=j-t.yWithoutScale,r.x=N-t.xWithoutScale,r.y=P-t.yWithoutScale,f[n].x=a+t.x,f[n].y=o+t.y,f[n].movex=t.x,f[n].movey=t.y,v[n]&&(v[n][4]=s+t.x,v[n][5]=c+t.y);for(var l=e.ui.link(f[n],i,k,i.response.bordersByRootIdAndLevel,i.nodes,e.action.update,!0),u=0;u<l.length;u++){var d=l[u],m=i.element.querySelector(`[data-l-id="[${d.id}][${d.childId}]"]`);m&&(m.innerHTML=d.html)}if(f[n].parent)for(var l=e.ui.link(f[n].parent,i,k,i.response.bordersByRootIdAndLevel,i.nodes,e.action.update,!0),u=0;u<l.length;u++){var d=l[u],m=i.element.querySelector(`[data-l-id="[${d.id}][${d.childId}]"]`);m&&(m.innerHTML=d.html)}g[n].setAttribute(`transform`,`matrix(`+p[n].toString()+`)`),_[n]&&_[n].setAttribute(`transform`,`matrix(`+v[n].toString()+`)`)}})}else{if(i.moveEnd(),u.classList&&(u.classList.add(`boc-cursor-grab`),u.classList.remove(`boc-cursor-move`),u.classList.remove(`boc-cursor-nodrop`),u.classList.remove(`boc-cursor-copy`)),A(E,D),E=null,D=null,i.config.enableDragDrop)for(;s!=null&&s!=u;){if(s.hasAttribute&&s.hasAttribute(e.attr.node_id)){var F=s.getAttribute(e.attr.node_id);if(i._gragStartedId&&F!=i._gragStartedId){E=F,D=s;break}}s=s.parentNode}if(E!=null){D.classList.add(`boc-drag-over`);for(var I=i.getNode(E),ee=e.getStParentNodes(I),L=0;L<ee.length;L++){var te=i.getNodeElement(ee[L].id);te&&(te.style.opacity=.1)}!i.canUpdateLink(f[0].id,E)&&u.classList?(u.classList.remove(`boc-cursor-grab`),u.classList.remove(`boc-cursor-move`),u.classList.remove(`boc-cursor-copy`),u.classList.add(`boc-cursor-nodrop`)):u.classList&&(u.classList.remove(`boc-cursor-grab`),u.classList.remove(`boc-cursor-move`),u.classList.add(`boc-cursor-copy`),u.classList.remove(`boc-cursor-nodrop`))}for(var ne=(r.x-O.x)/k,re=(r.y-O.y)/k,w=0;w<p.length;w++){p[w][4]=h[w].x+ne,p[w][5]=h[w].y+re,v[w]&&(v[w][4]=y[w].x+ne,v[w][5]=y[w].y+re),f[w].x=m[w].x+ne,f[w].y=m[w].y+re;for(var ie=e.ui.link(f[w],i,k,i.response.bordersByRootIdAndLevel,i.nodes,e.action.update,!0),L=0;L<ie.length;L++){var R=ie[L],z=i.element.querySelector(`[data-l-id="[${R.id}][${R.childId}]"]`);z&&(z.innerHTML=R.html)}}if(l.parent)if(i.config.movable==e.movable.detachTree){var z=i.element.querySelector(`[data-l-id="[${l.parent.id}][${l.id}]"]`);z&&z.parentElement.removeChild(z)}else for(var ie=e.ui.link(l.parent,i,k,i.response.bordersByRootIdAndLevel,i.nodes,e.action.update,!0),L=0;L<ie.length;L++){var R=ie[L],z=i.element.querySelector(`[data-l-id="[${R.id}][${R.childId}]"]`);z&&(z.innerHTML=R.html)}if(!t._dragEventFired&&(Math.abs(r.x-O.x)>e.FIRE_DRAG_NOT_CLICK_IF_MOVE||Math.abs(r.y-O.y)>e.FIRE_DRAG_NOT_CLICK_IF_MOVE)){if(i._gragStartedId=o[0],e.events.publish(`drag`,[i,a,n,o])===!1&&M(),i.config.enableDragDrop)for(var w=0;w<g.length;w++)u.insertBefore(g[w],u.firstChild);t._dragEventFired=!0}for(var w=0;w<p.length;w++)g[w].setAttribute(`transform`,`matrix(`+p[w].toString()+`)`),_[w]&&_[w].setAttribute(`transform`,`matrix(`+v[w].toString()+`)`)}}},M=function(a){!t._dragEventFired&&(a.touches==null||a.touches.length<=1)&&i._clickHandler(i.getSvg(),n);for(var o=0;o<f.length;o++)f[o].x=m[o].x,f[o].y=m[o].y;if(i.moveEnd(),u.classList&&(u.classList.remove(`boc-cursor-grab`),u.classList.remove(`boc-cursor-move`),u.classList.remove(`boc-cursor-nodrop`),u.classList.remove(`boc-cursor-copy`)),u.removeEventListener(r.move,j),u.removeEventListener(r.up,M),r.leave&&u.removeEventListener(r.leave,M),f[0].id==E||E==null){if(t._dragEventFired){var s=e.events.publish(`drop`,[i,f[0].id,void 0,g[0],a]);if(i.config.movable&&s!==!1)if(i.config.movable==e.movable.detachTree){var d=e._getTransform(i.getNodeElement(l.id)),p=i.get(l.id);p.pid=null,p.stpid=null,i.updateNode(p,null,!0)}else{var h=[];i.config.movable==e.movable.node?h.push(l.id):c(l,h);for(var d=e._getTransform(i.getNodeElement(l.id)),_=d[4]-l.x,v=d[5]-l.y,o=0;o<h.length;o++){var p=i.get(h[o]);p&&(p.movex==null?p.movex=_:p.movex+=_,p.movey==null?p.movey=v:p.movey+=v,i.update(p))}i._ai.setContext(),e.events.publish(`updated`,[i]),i.draw(e.action.update,{dragNodeIdList:h})}}i._gragStartedId=null;return}var y=i.getNode(E),s=e.events.publish(`drop`,[i,f[0].id,y.id,g[0],a]);if(s===!1){A(E,D),i._gragStartedId=null;return}if(i.canUpdateLink(f[0].id,E)){var p=i.get(f[0].id);p.pid=E,p.stpid=null,i.updateNode(p,null,!0)}else A(E,D);i._gragStartedId=null};u.addEventListener(r.move,j),u.addEventListener(r.up,M),r.leave&&u.addEventListener(r.leave,M)},e.prototype._move=function(e,t,n){n[0]=t,n[1]=e,this.setViewBox(n),this.xScrollUI.setPosition(),this.yScrollUI.setPosition()},e.prototype.moveStart=function(t,n,r,i){if(!t){console.error(`movePosition parameter not defined`);return}if(this._moveInterval)return;var a=this,o=this.getViewBox().slice(0),s=this.getScale(),c=0,l=0,u=10,d=1,f=1;e.isNEU(r)&&(r=e.anim.inSin),e.isNEU(i)&&(i=3e3);function p(){var p={x:0,y:0,xWithoutScale:0,yWithoutScale:0};t.left?(c++,p.x=c*e.MOVE_STEP/s,p.xWithoutScale=c*e.MOVE_STEP):t.right&&(c++,p.x=-(c*e.MOVE_STEP)/s,p.xWithoutScale=-(c*e.MOVE_STEP)),t.up?(l++,p.y=l*e.MOVE_STEP/s,p.yWithoutScale=l*e.MOVE_STEP):t.down&&(l++,p.y=-(l*e.MOVE_STEP)/s,p.yWithoutScale=-(l*e.MOVE_STEP));var m=r((f*u-u)/i);p.x*=m,p.xWithoutScale*=m,p.y*=m,p.yWithoutScale*=m,a.setViewBox([o[0]+p.x,o[1]+p.y,o[2],o[3]]),n&&n(p),f+=d}this._moveInterval=setInterval(p,u)},e.prototype.moveEnd=function(){this._moveInterval&&=(clearInterval(this._moveInterval),null)},e===void 0&&(e={}),e.node=function(e,t,n,r){this.templateName=r,this.id=e,this.pid=t,this.children=[],this.childrenIds=[],this.collapsedChildrenIds=[],this.parent=null,this.stpid=null,this.stParent=null,this.stChildren=[],this.stChildrenIds=[],this.tags=n,this.deepCollapsedChildCount=0,this.deepChildCount=0,this.tags||=[]},e.searchUI=function(){this.lastSearch=[],this._searchAfterEnterPress=!1,this._event_id=e._guid(),this.instance=null},e.searchUI.prototype.init=function(t){this.instance=t,this.obj=this.instance,this._initSearchFields();var n=this,r=this.instance.config.padding-10,i=this.instance.config.padding-10,a=this.instance.getMenuButton();if(a){var o=a.getBoundingClientRect(),s=this.instance.getSvg().getBoundingClientRect();r=s.right-o.left+10,i=o.top-s.top-10}var c=document.createElement(`div`);c.classList.add(`boc-search`),c.style.right=r+`px`,c.style.top=i+`px`;var l=e.elements.textbox({},{label:e.SEARCH_PLACEHOLDER,btn:`X`},`320px`);c.innerHTML+=l.html,this.xBtn=c.querySelector(`[data-input-btn]`),this.xBtn.style.display=`none`,this.searchTableWrapper=document.createElement(`div`),c.appendChild(this.searchTableWrapper);var u=this.instance.getSvg().nextSibling;this.instance.element.insertBefore(c,u),e.input.init(c),this.input=document.getElementById(l.id),this.xBtn.addEventListener(`click`,function(e){e.preventDefault(),n.hide()}),this.input.addEventListener(`keypress`,function(e){e.key==`Enter`&&e.preventDefault()}),this.input.addEventListener(`focus`,function(e){n.xBtn.style.display=``,n._search()}),this.input.addEventListener(`blur`,function(t){e.isNEU(n.input.value)&&e.SEARCH_HELP_SYMBOL!=n.input.value&&(n.xBtn.style.display=`none`)}),this.input.addEventListener(`keydown`,function(e){(e.key==`ArrowDown`||e.key==`ArrowUp`)&&e.preventDefault()}),this.input.addEventListener(`keyup`,function(t){t.key==`ArrowDown`?d():t.key==`ArrowUp`?f():t.key==`Enter`?n._enterHandler():t.key==`Escape`?n.hide():this.value.length>=e.MINIMUM_SYMBOLS_IN_SEARCH_INPUT&&n._search()});var d=function(){var e=n.instance.element.querySelectorAll(`[data-search-item-id]`),t=n.instance.element.querySelector(`[data-selected="yes"]`);t==null&&e.length>0?e[0].setAttribute(`data-selected`,`yes`):e.length>0&&t.nextSibling&&t.nextSibling.setAttribute&&(t.removeAttribute(`data-selected`),t.nextSibling.setAttribute(`data-selected`,`yes`))},f=function(){var e=n.instance.element.querySelectorAll(`[data-search-item-id]`),t=n.instance.element.querySelector(`[data-selected="yes"]`);t==null&&e.length>0?e[e.length-1].setAttribute(`data-selected`,`yes`):e.length>0&&t.previousSibling&&t.previousSibling.setAttribute&&(t.removeAttribute(`data-selected`),t.previousSibling.setAttribute(`data-selected`,`yes`))}},e.searchUI.prototype._enterHandler=function(){var t=this.instance.element.querySelector(`[data-selected="yes"]`);if(!t)this._searchAfterEnterPress=!0,this.__search(),this.searchTableWrapper.innerHTML=``,this.instance.draw();else if(t.hasAttribute(`data-search-item-id`)){var n=t.getAttribute(`data-search-item-id`);this.input.value==e.SEARCH_HELP_SYMBOL?(this.input.value=n+` `,this.searchTableWrapper.innerHTML=``):e.events.publish(`searchclick`,[this,{nodeId:n}])!=0&&(this.instance.center(n),e.isMobile()&&this.hide())}},e.searchUI.prototype._initSearchFields=function(){if(this.instance.config.searchFields==null){this._searchFields=[];for(var t=0;t<this.instance.response.allFields.length;t++){var n=this.instance.response.allFields[t];n!=`tags`&&!e._fieldIsImg(this.instance.config,n)&&this._searchFields.indexOf(n)==-1&&this._searchFields.push(n)}}else this._searchFields=this.instance.config.searchFields;if(this.instance.config.searchFieldsAbbreviation==null){this.searchFieldsAbbreviation={};for(var t=0;t<this._searchFields.length;t++){for(var r=this._searchFields[t],i=0,a=r.slice(0,i+1).toLowerCase();this.searchFieldsAbbreviation[a];)i++,a=r.slice(0,i+1).toLowerCase();this.searchFieldsAbbreviation[a]=r}}else this.searchFieldsAbbreviation=this.instance.config.searchFieldsAbbreviation;this._searchFieldsAbbreviation=this.searchFieldsAbbreviation},e.searchUI.prototype.find=function(e){this.input&&(this.input.value=e,document.activeElement==this.input?this._search(e):this.input.focus())},e.searchUI.prototype.addMatchTag=function(e){if(this._searchAfterEnterPress){for(var t=0;t<this.lastSearch.length;t++)if(this.lastSearch[t].id==e)return!0;return!1}return null},e.searchUI.prototype.__search=function(){this.lastSearch=e._search.search(this.instance.config.nodes,this.input.value,this._searchFields,this._searchFields,this.instance.config.searchDisplayField,this.instance.config.searchFieldsWeight,this.searchFieldsAbbreviation)},e.searchUI.prototype._search=function(){var t=this;this._searchAfterEnterPress=!1;var n;if(this.input.value==e.SEARCH_HELP_SYMBOL)n=this.helpView();else{this.__search();var r=e._getFistImgField(this.instance.config);n=`<table border="0" cellspacing="0" cellpadding="0">
267
267
  <tbody>
268
268
  ${(function(){for(var n=``,i=0;i<t.lastSearch.length&&!(i>=e.SEARCH_RESULT_LIMIT);i++){var a=t.lastSearch[i],o=``;if(r){var s=t.instance._get(a.id);typeof r==`function`?o=r(t.instance,t.instance.getNode(a.id),s):s[r]&&(o=s[r])}var c=``,l=``;t.instance.config.searchDisplayField==a.__searchField?c=a.__searchMarks:t.instance.config.searchDisplayField?(c=a[t.instance.config.searchDisplayField],e.isNEU(c)&&(c=``),l=a.__searchMarks):c=a.__searchMarks;var u={img:o,nodeId:a.id,first:c,second:l,searchItem:a,html:e.searchUI.createItem(o,a.id,c,l)};e.events.publish(`add-item`,[t,u]),n+=u.html}return n})()}
269
269
  </tbody>
package/orgchart.mjs CHANGED
@@ -885,7 +885,7 @@ e.prototype.init = function(t, n) {
885
885
  n._menuClickHandler.apply(n, [this, e]);
886
886
  });
887
887
  }
888
- }, e === void 0 && (e = {}), e.VERSION = "9.3.25", e.orientation = {}, e.orientation.top = 0, e.orientation.bottom = 1, e.orientation.right = 2, e.orientation.left = 3, e.orientation.top_left = 4, e.orientation.bottom_left = 5, e.orientation.right_top = 6, e.orientation.left_top = 7, e.anchor = {
888
+ }, e === void 0 && (e = {}), e.VERSION = "9.3.27", e.orientation = {}, e.orientation.top = 0, e.orientation.bottom = 1, e.orientation.right = 2, e.orientation.left = 3, e.orientation.top_left = 4, e.orientation.bottom_left = 5, e.orientation.right_top = 6, e.orientation.left_top = 7, e.anchor = {
889
889
  top_right: "top_right",
890
890
  right_top: "right_top",
891
891
  bottom_right: "bottom_right",
@@ -2548,7 +2548,7 @@ e.prototype.init = function(t, n) {
2548
2548
  }, i.readAsText(r.files[0]);
2549
2549
  }, n.click();
2550
2550
  }, e.prototype.expand = function(t, n, r) {
2551
- if (this._treeListExpandCollapseHandler(t), this._resetMovableNodes(), n = this._filterOnlyExistingAndCallOnDemandForOthers(t, n), n.length) {
2551
+ if (this._treeListExpandCollapseHandler(t), this._resetMovableNodes(), n = this._filterOnlyExistingAndCallOnDemandForOthers(t, n), n == "all" || n.length) {
2552
2552
  var i = {
2553
2553
  id: t,
2554
2554
  ids: n
@@ -2579,6 +2579,7 @@ e.prototype.init = function(t, n) {
2579
2579
  };
2580
2580
  this._draw(!1, e.action.update, i, r);
2581
2581
  }, e.prototype._filterOnlyExistingAndCallOnDemandForOthers = function(t, n) {
2582
+ if (n == "all") return n;
2582
2583
  var r = [], i = [];
2583
2584
  for (var a of n) this.getNode(a) ? i.push(a) : r.push(a);
2584
2585
  return r.length && e.events.publish("on-demand", [this, {
package/package.json CHANGED
@@ -58,5 +58,5 @@
58
58
  "url": "git+https://github.com/BALKANGraph/OrgChartJS.git"
59
59
  },
60
60
  "dependencies": {},
61
- "version": "9.3.25"
61
+ "version": "9.3.27"
62
62
  }