balkan-orgchart-js 9.3.0 → 9.3.11
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.d.mts +9 -0
- package/orgchart.d.ts +9 -0
- package/orgchart.js +6 -6
- package/orgchart.mjs +42 -8
- package/package.json +1 -1
package/orgchart.d.mts
CHANGED
|
@@ -1028,6 +1028,15 @@ declare class OrgChart {
|
|
|
1028
1028
|
*/
|
|
1029
1029
|
moveNodesToVisibleArea(ids: Array<number | string>, callback?: () => void): void;
|
|
1030
1030
|
|
|
1031
|
+
/**
|
|
1032
|
+
* Moves the specified nodes into the visible area after a node expansion.
|
|
1033
|
+
*
|
|
1034
|
+
* @param id The ID of the node that was clicked to trigger the expand action.
|
|
1035
|
+
* @param ids Array of node IDs that should be moved into the visible area.
|
|
1036
|
+
* @param Optional callback executed after the operation is completed.
|
|
1037
|
+
*/
|
|
1038
|
+
moveNodesToVisibleAreaAfterExpand(id: number | string, ids: Array<number | string>, callback?: () => void): void;
|
|
1039
|
+
|
|
1031
1040
|
/**
|
|
1032
1041
|
* Search in the chart.
|
|
1033
1042
|
* ```typescript
|
package/orgchart.d.ts
CHANGED
|
@@ -1028,6 +1028,15 @@ declare class OrgChart {
|
|
|
1028
1028
|
*/
|
|
1029
1029
|
moveNodesToVisibleArea(ids: Array<number | string>, callback?: () => void): void;
|
|
1030
1030
|
|
|
1031
|
+
/**
|
|
1032
|
+
* Moves the specified nodes into the visible area after a node expansion.
|
|
1033
|
+
*
|
|
1034
|
+
* @param id The ID of the node that was clicked to trigger the expand action.
|
|
1035
|
+
* @param ids Array of node IDs that should be moved into the visible area.
|
|
1036
|
+
* @param Optional callback executed after the operation is completed.
|
|
1037
|
+
*/
|
|
1038
|
+
moveNodesToVisibleAreaAfterExpand(id: number | string, ids: Array<number | string>, callback?: () => void): void;
|
|
1039
|
+
|
|
1031
1040
|
/**
|
|
1032
1041
|
* Search in the chart.
|
|
1033
1042
|
* ```typescript
|
package/orgchart.js
CHANGED
|
@@ -21,7 +21,7 @@ var e=function(e,t){var n=this;Object.defineProperty(this,`element`,{get(){retur
|
|
|
21
21
|
<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>
|
|
22
22
|
<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>
|
|
23
23
|
|
|
24
|
-
</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()};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)?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)}):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.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,mouseScrool: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(),i._draw(!1,e.action.insert,{id:t},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.mouseScrool!=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.0`,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>
|
|
24
|
+
</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()};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):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,mouseScrool: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.mouseScrool!=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.11`,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>
|
|
25
25
|
<div class="boc-edit-form-header" ${D}>
|
|
26
26
|
${a?``:e.EDITFORM_CLOSE_BTN}
|
|
27
27
|
${e.editUI.renderHeaderContent(g,_,p,m)}
|
|
@@ -271,9 +271,9 @@ var e=function(e,t){var n=this;Object.defineProperty(this,`element`,{get(){retur
|
|
|
271
271
|
</td>
|
|
272
272
|
<td class="boc-search-text-td">${r} <br/>${i}</td>
|
|
273
273
|
</tr>`},e.searchUI.prototype.hide=function(){if(e.events.publish(`hide`,[this])===!1)return!1;this._searchAfterEnterPress&&(this._searchAfterEnterPress=!1,this.instance.draw()),this.lastSearch=[],this.xBtn&&(this.xBtn.style.display=`none`),this.searchTableWrapper&&(this.searchTableWrapper.innerHTML=``),this.input&&(e.isMobile()||(this.input.value=``),document.activeElement==this.input&&this.input.blur(),document.activeElement==this.xBtn&&e.input.blurHandler(this.input))},e.searchUI.prototype.on=function(t,n){return e.events.on(t,n,this._event_id),this},e.events.on(`redraw`,function(t,n){for(var r=t.element.querySelectorAll(`[data-n-id]`),i=0;i<r.length;i++)r[i].addEventListener(`mouseover`,function(n){if(!this.contains(n.relatedTarget)){var r=this.getAttribute(`data-n-id`),i={node:t.getNode(r),event:n};if(e.events.publish(`node-mouseover`,[t,i])===!1)return;e._hover._addSelectedStyle(t,i.node,i.node.id,t.config.highlightOnHover)}}),r[i].addEventListener(`mouseleave`,function(n){var r=this.getAttribute(`data-n-id`),i={node:t.getNode(r),event:n};e.events.publish(`node-mouseleave`,[t,i])!==!1&&e._hover._removeSelectedStyle(t)})}),e.prototype.highlightNode=function(t,n){var r=this.getNode(t);return r&&e._hover._addSelectedStyle(this,r,r.id,n),this},e._hover={},e._hover._addSelectedStyle=function(t,n,r,i){n.isSplit||((i==`parents`||i==`childrenAndParents`)&&e._hover._addSelectedStyleParents(t,n,r),(i==`children`||i==`childrenAndParents`)&&e._hover._addSelectedStyleChildren(t,n,r),i==`sameLevel`&&e._hover._addSelectedStyleSameLevel(t,n,r),e._hover._addSelectedStyleSelf(t,n,r,i))},e._hover._addSelectedStyleSelf=function(e,t,n,r){var i=e.getNodeElement(t.id);i&&(!i.classList.contains(`boc-hover`)&&r==`self`&&i.classList.add(`boc-hover`),i.classList.add(`boc-hover-self`))},e._hover._addSelectedStyleChildren=function(t,n,r){var i=t.getNodeElement(n.id);i&&i.classList.add(`boc-hover`);var a=t.element.querySelector(`[data-ctrl-ec-id="${n.id}"]`);if(a&&a.classList.add(`boc-hover`),n.id!=r){if(n.rightNeighbor&&n.rightNeighbor.isSplit&&n.rightNeighbor.pid==n.pid){var o=t.element.querySelector(`[data-l-id="[${n.parent.id}][${n.id}]"]`);o&&o.classList.add(`boc-hover`)}if(n.leftNeighbor&&n.leftNeighbor.isSplit&&n.leftNeighbor.pid==n.pid){var o=t.element.querySelector(`[data-l-id="[${n.parent.id}][${n.id}]"]`);o&&o.classList.add(`boc-hover`)}if(n.parent&&n.parent.isSplit){var o=t.element.querySelector(`[data-l-id="[${n.parent.id}][${n.id}]"]`);o&&o.classList.add(`boc-hover`)}}for(var s of n.children)if(s.isSplit){var o=t.element.querySelector(`[data-l-id="[${n.id}][${s.id}]"]`);o&&o.classList.add(`boc-hover`),e._hover._addSelectedStyleChildren(t,s,r)}for(var c of n.childrenIds){var s=t.getNode(c),o=t.element.querySelector(`[data-l-id="[${n.id}][${s.id}]"]`);o&&o.classList.add(`boc-hover`),e._hover._addSelectedStyleChildren(t,s,r)}},e._hover._addSelectedStyleSameLevel=function(e,t,n){var r=e.getNodeElement(t.id);r&&r.classList.add(`boc-hover`);for(var i of e.element.querySelectorAll(`[data-l="${t.level}"]`))i.classList.add(`boc-hover`)},e._hover._addSelectedStyleParents=function(t,n,r){var i=t.getNodeElement(n.id);if(i&&i.classList.add(`boc-hover`),n.parent){var a=t.element.querySelector(`[data-l-id="[${n.parent.id}][${n.id}]"]`);a&&a.classList.add(`boc-hover`)}if(r!=n.id){var o=t.element.querySelector(`[data-ctrl-ec-id="${n.id}"]`);o&&o.classList.add(`boc-hover`)}n.rightNeighbor&&n.rightNeighbor.isSplit&&n.rightNeighbor.pid==n.pid&&e._hover._addSelectedStyleParents(t,n.rightNeighbor,r),n.leftNeighbor&&n.leftNeighbor.isSplit&&n.leftNeighbor.pid==n.pid&&e._hover._addSelectedStyleParents(t,n.leftNeighbor,r),n.parent&&n.parent.isSplit&&e._hover._addSelectedStyleParents(t,n.parent,r);var s=t.getNode(n.pid);n.parent&&e._hover._addSelectedStyleParents(t,s,r)},e._hover._removeSelectedStyle=function(e){let t=e.element.querySelectorAll(`.boc-hover, .boc-hover-self`);for(let e=0;e<t.length;e++)t[e].classList.remove(`boc-hover`),t[e].classList.remove(`boc-hover-self`)},e===void 0&&(e={}),e.manager=function(e){this.config=e.config,this.layoutConfigs=e._layoutConfigs,this.visibleNodeIds=[],this.viewBox=null,this.action=null,this.actionParams=null,this.nodes={},this.oldNodes={},this.maxX=null,this.maxY=null,this.minX=null,this.minY=null,this.bordersByRootIdAndLevel=null,this.roots=null,this.state=null,this.vbIsInitializedFromState=!1,this.rootList=[],this.instance=e,this._fixAdjustForExport={x:0,y:0}},e.manager.prototype.read=function(t,n,r,i,a,o,s,c){var l=this;e.state._get(this.config.state,n,r,function(u){l.state=u,l.action=a,l.actionParams=o,a!=e.action.init||!l.state||o&&o.method&&o.method==`fit`?(l.viewBox=i,l.vbIsInitializedFromState=!1):(l.viewBox=l.state.vb,l.vbIsInitializedFromState=!0,Array.isArray(l.state.roots)&&(l.config.roots=l.state.roots));var d=l.maxX,f=l.maxY,p=l.minX,m=l.minY,h=l.bordersByRootIdAndLevel,g=l.roots,_=l.nodes;if(!t)_?l.oldNodes=_:l.oldNodes=null,l._read(function(t){d=t.maxX,f=t.maxY,p=t.minX,m=t.minY,h=t.bordersByRootIdAndLevel,g=t.roots,_=t.nodes;var i=e.manager._getResponse(n,r,l.visibleNodeIds,l.config,d,f,p,m,l.viewBox,g,l.action,l.actionParams,_,l.oldNodes,l.vbIsInitializedFromState);i.notif=t.limit,i.roots=g,i.bordersByRootIdAndLevel=h,i.adjustify=t.adjustify,a!=e.action.exporting&&(l.maxX=d,l.maxY=f,l.minX=p,l.minY=m,l.roots=g,l.nodes=_,l.visibleNodeIds=i.visibleNodeIds,l.bordersByRootIdAndLevel=h,l.rootList=t.rootList),s(i)},c);else{var v=e.manager._getResponse(n,r,l.visibleNodeIds,l.config,d,f,p,m,l.viewBox,g,l.action,l.actionParams,_,l.oldNodes,l.vbIsInitializedFromState);a!=e.action.exporting&&(l.maxX=d,l.maxY=f,l.minX=p,l.minY=m,l.roots=g,l.nodes=_,l.visibleNodeIds=v.visibleNodeIds),v.bordersByRootIdAndLevel=h,v.roots=g,v.adjustify={x:0,y:0},l.state&&(v.adjustify=l.state.adjustify),s(v)}})},e.manager.prototype._read=function(t,n){var r=this,i=e.manager._createNodes(this.instance);n(i);var a=i.nodes,o=i.roots,s=e.remote;s??=e.local,s._setPositions(o,r.layoutConfigs,function(n){var s=e.manager._doNotChangePositionOfClickedNodeIfAny(o,a,r.action,r.actionParams,r.oldNodes,r.config.orientation);r.state&&r.action==e.action.init&&(s=r.state.adjustify),r.action==e.action.exporting?s=r._fixAdjustForExport:r._fixAdjustForExport=s;for(var c={minX:null,minY:null,maxX:null,maxY:null},l={},u=[],d=0;d<o.length;d++)e.manager._setMinMaxXYAdjustifyIterate(o[d],o[d],c,0,l,s,r.config.orientation,u);for(var d=0;d<o.length;d++)e.manager._setChildCountPropsIterate(o[d],a);for(var f in u)for(var p in u[f]){var m=l[f][p],h=u[f][p];m.minX==null&&m.minY==null&&m.maxX==null&&m.maxY==null&&e._setMinMaxXY(h,m,!0)}t({minX:c.minX,minY:c.minY,maxX:c.maxX,maxY:c.maxY,bordersByRootIdAndLevel:l,nodes:a,roots:o,rootList:i.rootList,limit:n,adjustify:s})},a)},e===void 0&&(e={}),e.manager._initDinamicNode=function(t,n,r){n&&(t.lcn=n),r&&(t.isAssistant=!0);var i=e.t(t.templateName);t.w=i&&i.size?i.size[0]:0,t.h=i&&i.size?i.size[1]:0,t.isSplit=t.templateName==`split`,t.isMirror=t.templateName==`mirror`,t.isSubLevel=t.templateName==`subLevel`},e.manager._setCollpasedProperty=function(t,n,r,i,a,o,s,c){if(t.collapsed==null&&n.collapse&&n.collapse.allChildren?t.collapsed=!0:t.collapsed??=!1,a==e.action.expand&&r.ids.indexOf(t.id)!=-1&&(t.collapsed=!1),a==e.action.collapse&&(r.expandIds||r.collapseIds)?r.expandIds&&r.expandIds.indexOf(t.id)!=-1?t.collapsed=!1:r.collapseIds&&r.collapseIds.indexOf(t.id)!=-1&&(t.collapsed=!0):a==e.action.collapse&&r.ids.indexOf(t.id)!=-1&&(t.collapsed=!0),a==e.action.expand&&r.ids==`all`&&(t.collapsed=!1),a==e.action.exporting&&(!e.isNEU(r.parentLevels)||!e.isNEU(r.childLevels))&&r.id!=null){if(r.id!=null&&(!e.isNEU(r.parentLevels)||!e.isNEU(r.childLevels))){var l=c[r.id];if(l==t)t.collapsed=!1;else{for(var u=!1,d=-1,f=!1,p=-1;l;){if(d++,l==t){u=!0;break}l=c[l.pid]}l=c[r.id];for(var m=c[t.id];m;){if(p++,m==l){f=!0;break}m=c[m.pid]}r.parentLevels!=null&&u&&d<=r.parentLevels||r.childLevels!=null&&f&&p<=r.childLevels||f&&r.expandChildren?t.collapsed=!1:t.collapsed=!0}}}else a==e.action.exporting&&r.expandChildren&&(t.collapsed=!1);a==e.action.init&&s!=null?t.collapsed=!s.exp.has(t.id):a==e.action.init?t.tags.indexOf(`left-partner`)!=-1||t.tags.indexOf(`right-partner`)!=-1||t.tags.indexOf(`partner`)!=-1||t.parentPartner?t.collapsed=n.collapse&&o>=n.collapse.level&&i.indexOf(t.id)==-1:t.collapsed=n.collapse&&o>=n.collapse.level-1&&i.indexOf(t.id)==-1:a==e.action.centerNode||a==e.action.insert||a==e.action.expand||a==e.action.collapse?i.has(t.id)&&(t.collapsed=!1):a==e.action.update&&r&&r.changeRoots&&r.changeRoots.has(t.id)&&(t.collapsed=!1)},e.manager._initNode=function(t,n,r,i,a,o,s){var c=s.manager.config,l=s.manager.layoutConfigs,u=s.manager.action,d=s.manager.actionParams,f=s.manager.state,p=e._hasOnDemandHandler(s),m=l[r||`base`];t.parent??e.manager._setCollpasedProperty(t,m,d,a,u,i-1,f,n);for(var h=0;h<t.childrenIds.length;h++){var g=n[t.childrenIds[h]];if(g)if(e.manager._setCollpasedProperty(g,m,d,a,u,i,f,n),g.collapsed)t.collapsedChildrenIds.push(g.id);else{if(g.parent=t,g.ppid!=null){var _=n[g.ppid];_&&(g.parentPartner=_)}(g.tags.indexOf(`left-partner`)!=-1||g.tags.indexOf(`right-partner`)!=-1||g.tags.indexOf(`partner`)!=-1||g.parentPartner)&&o.indexOf(t.id)==-1&&o.push(t.id),t.children.push(g)}else p&&t.collapsedChildrenIds.push(t.childrenIds[h])}if(u==e.action.minimize&&!t.min?(d.all||d.id==t.id)&&(t.min=!0):u==e.action.maximize&&t.min===!0?(d.all||d.id==t.id)&&(t.min=!1):u==e.action.exporting&&d.min===!1?t.min=!1:u==e.action.init&&f!=null&&(t.min=f.min.has(t.id)),!t.min&&(!t.tags||!t.tags.has(`filter`)))for(var h=0;h<t.stChildrenIds.length;h++){var g=n[t.stChildrenIds[h]];g.stParent=t,t.stChildren.push(g)}i!=null&&(t.level=i),r&&(t.lcn=r);var v=e._getSubLevels(t.tags,c.tags);v>0&&(t.subLevels=v),t.tags.indexOf(`assistant`)!=-1&&t.parent!=null&&(t.isAssistant=!0),m.layout==e.layout.treeList&&(t.isTreeListItem=!0),m.template&&c.template==t.templateName&&(t.templateName=m.template);var y=e.t(t.templateName,t.min);if(t.w=y&&y.size?y.size[0]:0,t.h=y&&y.size?y.size[1]:0,t.padding=y&&y.padding?y.padding:[0,0,0,0],t.isTreeListItem&&t.stParent&&t.stParent.treeList==null){var b=e.t(t.stParent.templateName,t.stParent.min);t.stParent.treeList={pinnedIds:[],scrollTop:0,scrollTopMax:0,maxHeight:b.treeListMaxHeight}}var x={node:t};e.events.publish(`node-initialized`,[s,x])},e.manager._iterate=function(t,n,r,i,a,o,s,c,l,u,d,f){var p=f.manager.layoutConfigs;if(e.manager._initNode(n,r,l,i,u,d,f),n.isAssistant&&(o[n.pid]||(o[n.pid]=[]),o[n.pid].push(n.id)),n.subLevels>0&&s.push(n.id),e.MIXED_LAYOUT_FOR_NODES_WITH_COLLAPSED_CHILDREN&&!n.isAssistant&&n.parent){if(n.parent&&n.parent.children.length&&n.parent.children[n.parent.children.length-1]==n){for(var m=[],h=0,g=0,_=0;_<n.parent.children.length;_++){var v=n.parent.children[_];v.tags.indexOf(`partner`)==-1&&v.tags.indexOf(`left-partner`)==-1&&v.tags.indexOf(`right-partner`)==-1&&v.tags.indexOf(`assistant`)==-1&&v.children.length==0?m.push(v.id):v.tags.indexOf(`assistant`)==-1?(v.tags.indexOf(`partner`)!=-1||v.tags.indexOf(`left-partner`)!=-1||v.tags.indexOf(`right-partner`)!=-1)&&g++:h++}(e.MIXED_LAYOUT_ALL_NODES&&m.length>1&&m.length==n.parent.children.length-h-g||!e.MIXED_LAYOUT_ALL_NODES&&m.length>1)&&(c[n.pid]=m)}}else if(!n.isAssistant&&n.childrenIds.length==0&&n.parent&&!c[n.pid]){for(var m=[],h=0,g=0,_=0;_<n.parent.children.length;_++){var v=n.parent.children[_];v.tags.indexOf(`partner`)==-1&&v.tags.indexOf(`left-partner`)==-1&&v.tags.indexOf(`right-partner`)==-1&&v.tags.indexOf(`assistant`)==-1&&v.childrenIds.length==0?m.push(v.id):v.tags.indexOf(`assistant`)==-1?(v.tags.indexOf(`partner`)!=-1||v.tags.indexOf(`left-partner`)!=-1||v.tags.indexOf(`right-partner`)!=-1)&&g++:h++}(e.MIXED_LAYOUT_ALL_NODES&&m.length>e.MIXED_LAYOUT_IF_NUMBER_OF_CHILDREN_IS_MORE_THEN&&m.length==n.parent.childrenIds.length-h-g||!e.MIXED_LAYOUT_ALL_NODES&&m.length>e.MIXED_LAYOUT_IF_NUMBER_OF_CHILDREN_IS_MORE_THEN)&&(c[n.pid]=m)}n.stChildren.length&&(t.stContainerNodes||=[],t.stContainerNodes.push(n));for(var y=0;y<n.stChildren.length;y++){for(var b=``,_=0;_<n.tags.length;_++)if(p[n.tags[_]]){b=n.tags[_];break}a.push(n.stChildren[y].id),e.manager._iterate(t,n.stChildren[y],r,0,a,o,s,c,b,u,d,f)}i++;for(var y=0;y<n.children.length;y++)n.isTreeListItem&&(n.children[y].isTreeListItem=n.isTreeListItem),e.manager._iterate(t,n.children[y],r,i,a,o,s,c,l,u,d,f)},e.manager.__createNodes=function(t,n,r,i,a,o,s,c){for(var l=[],u=e._addDottedLines(r),d=[],f=e._hasOnDemandHandler(c),p=0;p<u.length;p++){var m=u[p],h=e.STRING_TAGS?m.tags?m.tags.split(`,`):[]:Array.isArray(m.tags)?m.tags.slice(0):[];c.filterUI.addFilterTag(m)&&h.unshift(`filter`);var g=c.searchUI.addMatchTag(m.id);g===!0?h.unshift(`match`):g===!1&&h.unshift(`no-match`);var _=e._getTemplate(h,r.tags,r.template);m&&m.template&&(_=m.template);var v=new e.node(m.id,m.pid,h,_);e.isNEU(m.ppid)||(v.ppid=m.ppid),e.isNEU(m.stpid)||(v.stpid=m.stpid),m.movex!=null&&(v.movex=m.movex),m.movey!=null&&(v.movey=m.movey),t[m.id]=v,l.push(m.id),m.cids&&d.push(m)}for(var m of d){var y=t[m.id];for(var b of m.cids){var x=t[b];x&&(!e.isNEU(x.pid)&&x.pid!=y.id&&console.error(`node: ${x.id} has pid: ${x.pid} fifferent from ${y.id}`),x.pid=y.id)}}if(r.orderBy!=null){var S=e.manager._getOrderSortArray(r.orderBy);l.sort(function(e,t){var n,r;for(var i of u)if(i.id==e&&(n=i),i.id==t&&(r=i),n&&r)break;for(var a=0;a<S.length;a++){var o=n[S[a].field],s=r[S[a].field],c=o,l=s;if(c??=``,l??=``,typeof c==`string`&&typeof l==`string`){var d=c.localeCompare(l);if(S[a].desc&&(d*=-1),d!==0)return d}else{var d=o<s?-1:o>s?1:0;if(S[a].desc&&(d*=-1),d!==0)return d}}})}for(var p=0;p<l.length;p++){var C=l[p],v=t[C],w=o?o[C]:null,T=t[v.stpid],y=t[v.pid];if(T||(v.stpid=null),!y&&!f&&(v.pid=null),T){var E=o?o[T.id]:null;E&&(T.min=E.min),T.stChildrenIds.push(v.id)}else y?(w&&(v.collapsed=w.collapsed,v.min=w.min,v.treeList=w.treeList),y.childrenIds.push(v.id)):(w&&(v.collapsed=w.collapsed,v.min=w.min,v.treeList=w.treeList),n.push(v),s.push(v.id));i==e.action.init&&(v.min=e._getMin(v,r))}for(var m of d){var y=t[m.id];for(var b of m.cids)y.childrenIds.includes(b)||y.childrenIds.push(b)}},e._hasOnDemandHandler=function(t){return e.events.has(`on-demand`,t._event_id)},e.manager._createNodes=function(t){var n=t.manager.config,r=t.manager.layoutConfigs,i=t.manager.action,a=t.manager.actionParams,o=t.manager.oldNodes,s=t.manager.state,c={},l=[],u=[];if(e.manager.__createNodes(c,l,n,i,a,o,u,t),n.roots!=null){l=[];for(var d=0;d<n.roots.length;d++){var f=c[n.roots[d]];if(f&&i==e.action.centerNode){for(var p=f;p.pid!=null||p.stpid!=null;)p=p.pid==null&&p.stpid!=null?c[p.stpid]:c[p.pid];for(var m=c[a.id];(m.pid!=null||m.stpid!=null)&&m!=f;)m=m.pid==null&&m.stpid!=null?c[m.stpid]:c[m.pid];p==m&&(f=p)}if(f){for(var h=!1,g=0;g<l.length;g++)if(l[g].id==f.id){h=!0;break}if(!h){if(!e.isNEU(f.pid)){var _=c[f.pid];if(_){var v=_.childrenIds.indexOf(f.id);v>-1&&_.childrenIds.splice(v,1)}}l.push(f)}}}n.roots=[];for(var d=0;d<l.length;d++)n.roots.push(l[d].id)}if(i==e.action.exporting&&a.id!=null)if(a.parentLevels){for(var _=c[a.id],y=0;y<a.parentLevels&&c[_.pid];)y++,_=c[_.pid];_.pid=null,l=[_]}else{var b=c[a.id];b&&(b.pid=null,l=[b])}var x=[];if(i==e.action.init&&n.expand&&n.expand.nodes&&s==null)for(var d=0;d<n.expand.nodes.length;d++){var b=c[n.expand.nodes[d]];for(n.expand.allChildren===!0&&e.manager._addExpandedNodeIdsIterate(b,c,x);b;)x.push(b.id),b.pid==null&&b.stpid!=null?(b=c[b.stpid],b.min=!1):b=c[b.pid]}else if(i==e.action.expand&&a.ids&&a.ids!=`all`||i==e.action.collapse&&a&&a.expandIds)for(var S=i==e.action.expand?a.ids:a.expandIds,d=0;d<S.length;d++)for(var b=c[S[d]],_=c[b.pid];_;)x.push(_.id),_.pid==null&&_.stpid!=null?(_=c[_.stpid],_.min=!1):_=c[_.pid];else if(i==e.action.centerNode){for(var C=e._getCenterNodeFromParams(c,a);C;){if(x.push(C.id),a.options.parentState===e.COLLAPSE_PARENT_NEIGHBORS&&C)for(var d=0;d<C.childrenIds.length;d++){var w=c[C.childrenIds[d]];w.collapsed=!0}if(C.pid==null&&C.stpid!=null){if(C=c[C.stpid],C.min=!1,C.tags){var v=C.tags.indexOf(`filter`);v!=-1&&(C.tags.splice(v,1),t.filterUI._removeFilter(C.id))}}else C=c[C.pid]}if(C=e._getCenterNodeFromParams(c,a),a.options.childrenState===e.COLLAPSE_SUB_CHILDRENS)for(var d=0;d<C.childrenIds.length;d++){var T=c[C.childrenIds[d]];T.collapsed=!1;for(var E=0;E<T.childrenIds.length;E++){var D=c[T.childrenIds[E]];D.collapsed=!0}}if(a.options.parentState===e.COLLAPSE_PARENT_SUB_CHILDREN_EXCEPT_CLICKED){var _=c[C.pid];if(_)for(var d=0;d<_.childrenIds.length;d++){var T=c[_.childrenIds[d]];if(T!=C){T.collapsed=!1;for(var E=0;E<T.childrenIds.length;E++){var D=c[T.childrenIds[E]];D.collapsed=!0}}}}}else if(i==e.action.insert)for(var b=c[a.insertedNodeId];b;)x.push(b.id),b.pid==null&&b.stpid!=null?(b=c[b.stpid],b.min=!1):b=c[b.pid];for(var O=[],k={},A=[],j={},M=[],d=0;d<l.length;d++)e.manager._iterate(l[d],l[d],c,0,O,k,A,j,``,x,M,t);if(i==e.action.collapse&&a&&Array.isArray(a.expandIds)&&Array.isArray(a.collapseIds))for(var d=0;d<a.ids.length;d++)if(a.expandIds.has(a.collapseIds[d]))console.error(`id ${a.collapseIds[d]} exist in both collapseIds and expandIds`);else{var b=c[a.collapseIds[d]];b&&(b.collapsed=!0)}for(var d=l.length-1;d>=0;d--)l[d].collapsed&&l.splice(d,1);for(var d=0;d<M.length;d++){for(var b=c[M[d]],N=[],P=[],F=[],I={},ee=0,L=0,te=0,ne=[],re=[],E=0;E<b.children.length;E++){var w=b.children[E];w.isAssistant?N.push(w.id):w.tags.indexOf(`right-partner`)==-1?w.tags.indexOf(`left-partner`)==-1?w.tags.indexOf(`partner`)!=-1&&!(ee%2)?(w.isPartner=1,w.children=[],P.push(w.id),ee++):w.tags.indexOf(`partner`)!=-1&&ee%2?(w.isPartner=2,w.children=[],F.push(w.id),ee++):w.parentPartner?(I[w.parentPartner.id]||(I[w.parentPartner.id]=[]),I[w.parentPartner.id].push(w.id)):N.push(w.id):(w.isPartner=2,w.children=[],F.push(w.id)):(w.isPartner=1,w.children=[],P.push(w.id))}b.children=[];for(var ie=[],E=0;E<P.length;E++){var w=c[P[E]];I[w.id]?b.children.push(w):b.children.splice(0,0,w);for(var R=0;R<w.childrenIds.length;R++)ie.push(w.childrenIds[R])}for(var z=[],E=0;E<F.length;E++){var w=c[F[E]];I[w.id]?b.children.push(w):b.children.splice(0,0,w);for(var R=0;R<w.childrenIds.length;R++)z.push(w.childrenIds[R])}for(var E=0;E<z.length;E++){var w=c[z[E]];w.collapsed||(w.parentPartner=w.parent,w.parent=b,w.isChildOfPartner=!0,b.children.push(w))}for(var E=F.length-1;E>=0;E--)if(I[F[E]])for(var g=0;g<I[F[E]].length;g++)b.children.push(c[I[F[E]][g]]),L++,re.indexOf(F[E])==-1&&re.push(F[E]);for(var E=0;E<N.length;E++){var w=c[N[E]];b.children.push(w)}for(var E=0;E<P.length;E++)if(I[P[E]])for(var g=0;g<I[P[E]].length;g++)b.children.push(c[I[P[E]][g]]),te++,ne.indexOf(P[E])==-1&&ne.push(P[E]);for(var E=0;E<ie.length;E++){var w=c[ie[E]];w.collapsed||(w.parentPartner=w.parent,w.parent=b,w.isChildOfPartner=!0,b.children.push(w))}b.partnerSeparation=Math.max(re.length,ne.length)*n.partnerChildrenSplitSeparation+n.minPartnerSeparation,!N.length&&L&&!te?b.hasPartners=2:!N.length&&!L&&te?b.hasPartners=3:!N.length&&L==1&&te==1?b.hasPartners=4:!N.length&&!L&&!te?b.hasPartners=5:N.length&&!L&&!te?b.hasPartners=6:N.length&&(L||te)?b.hasPartners=7:b.hasPartners=1}for(var d=0;d<A.length;d++)for(var b=c[A[d]],ae=b.lcn?b.lcn:`base`,oe=r[ae],E=0;E<b.subLevels;E++){var B=new e.node(b.id+`_sub_level_index_`+E,b.pid,[],`subLevel`);e.manager._initDinamicNode(B,b.lcn);var _=b.parent;if(_){b.movex!=null&&(B.movex=b.movex),b.movey!=null&&(B.movey=b.movey);var v=_.children.indexOf(b);v>-1&&(_.children.splice(v,1),_.children.splice(v,0,B)),B.children.push(b),B.parent=_,b.parent=B,c[B.id]=B}}for(var V in k){var _=c[V];_.hasAssistants=!0;var B=new e.node(_.id+`_split_assitant_0`,_.id,[`assistant`],`split`);_.movex!=null&&(B.movex=_.movex),_.movey!=null&&(B.movey=_.movey),e.manager._initDinamicNode(B,_.lcn,!0),c[B.id]=B;for(var H=[],E=_.children.length-1;E>=0;E--){var w=_.children[E];w.isAssistant?(w.parent=null,_.children.splice(E,1),H.splice(0,0,w.id)):w.isPartner||(w.parent&&j[w.parent.id]&&B&&w.parent.id!=B.id&&(Object.defineProperty(j,B.id,Object.getOwnPropertyDescriptor(j,w.parent.id)),delete j[w.parent.id]),w.parent=B,B.children.unshift(w),_.children.splice(E,1))}if(H.length%2){var U=c[H[H.length-1]],se=new e.node(U.id+`_mirror`,_.pid,[],`mirror`);e.manager._initDinamicNode(se,U.lcn,!0),se.isAssistant=!0,se.w=U.w,se.h=U.h,c[se.id]=se,H.splice(H.length-1,0,se.id)}for(var ce=1,E=H.length-1;E>=0;E--)if(E%2&&E!=H.length-1){var W=new e.node(_.id+`_split_assitant_`+ce,_.pid,[],`split`);e.manager._initDinamicNode(W,_.lcn,!0),_.movex!=null&&(W.movex=_.movex),_.movey!=null&&(W.movey=_.movey),c[W.id]=W,H.splice(E,0,W.id),ce++}else E%2&&H.splice(E,0,B.id);for(var E=0;E<H.length;E+=3){var G=null;G=E==0?_:c[H[E-2]];var le=c[H[E]],K=c[H[E+1]],q=c[H[E+2]];le.parent=G,K.parent=G,q.parent=G,G.children.push(le),G.children.push(K),G.children.push(q)}}var ue=!1;for(var J in r){var oe=r[J];if(oe.layout!=0){ue=!0;break}}var de=e.events.has(`node-layout`,t._event_id);if(ue||de){var Y={nodes:c,config:n,action:i,actionParams:a};if(A.length){var fe=!1;for(var V in j){for(var S=j[V],d=0;d<S.length;d++){var b=c[S[d]];if(b.subLevels){fe=!0;break}}if(fe)break}if(fe){var X={},pe={},me={};for(var V in j)for(var S=j[V],he=!1,ge=null,d=0;d<S.length;d++){var _e=S[d];(ge===null||A.has(_e))&&(ge=c[_e].parent.id,!he&&!e.isNEU(c[_e].subLevels)&&(he=c[_e].subLevels>0)),X[ge]||(X[ge]=[]),X[ge].push(_e),he&&(me[ge]=V,pe[ge]||(pe[ge]=[]),pe[ge].push(_e))}for(var V in j={},pe)if(pe[V].length>e.MIXED_LAYOUT_IF_NUMBER_OF_CHILDREN_IS_MORE_THEN)for(var ve=me[V],d=c[ve].children.length-1;d>=0;d--){var w=c[ve].children[d];pe[V].has(w.id)&&c[ve].children.splice(d,1)}for(var V in X)X[V].length>e.MIXED_LAYOUT_IF_NUMBER_OF_CHILDREN_IS_MORE_THEN&&(j[V]=X[V])}}for(var V in j){for(var _=c[V],Z=_;Z.isSplit;)Z=c[Z.pid];for(;Z.isSubLevel;)Z=c[Z.pid];var ae=_.lcn?_.lcn:`base`,oe=r[ae];if(oe.layout!=0||de){Y.pnode=_,Y.layout=oe.layout,Y.layoutGridColumns=n.layoutGridColumns,Y.childrenIds=j[V],Y.lastChildrenPidIds=j,Y.subLevels=0,Y.layouts=[],e.events.publish(`node-layout`,[t,Y]),e.events.publish(`layout`,[Y]),Y.layouts.length||Y.layouts.push({layout:Y.layout,childrenIds:Y.childrenIds,subLevels:Y.subLevels,layoutGridColumns:Y.layoutGridColumns});for(var ye=0;ye<Y.layouts.length;ye++){var Q=Y.layouts[ye];for(e.isNEU(Q.subLevels)&&(Q.subLevels=0),e.isNEU(Q.layout)&&(Q.layout=oe.layout),_=c[V],Z=_;Z.isSplit;)Z=c[Z.pid];for(;Z.isSubLevel;)Z=c[Z.pid];for(var be=_,E=0;E<Q.subLevels;E++){var B=new e.node(ye+`_sublevel_layout_`+E,be.id,[],`subLevel`);e.manager._initDinamicNode(B,be.lcn),B.parent=be,be.children.push(B),c[B.id]=B,be=B}if(Q.subLevels){for(var E=0;E<Q.childrenIds.length;E++){var w=c[Q.childrenIds[E]],v=_.children.indexOf(w);v!=-1&&_.children.splice(v,1),w.parent=be,be.children.push(w)}_=be}if(Q.layout==e.layout.grid&&Q.childrenIds.length>2){Q.layoutGridColumns==`dynamic`&&(Q.layoutGridColumns=e._getDynamicGridCoulumns(Q.childrenIds.length));for(var xe=_.id,d=_.children.length-1;d>=0;d--)for(var E=0;E<Q.childrenIds.length;E++){var _e=Q.childrenIds[E];if(_.children[d].id==_e){_.children.splice(d,1);break}}var Se=Q.layoutGridColumns;Se%2!=0&&Se>2&&Se--;for(var d=0;d<Q.childrenIds.length;d+=Se)for(var Ce=null,E=0;E<Se;E++){var we=d+Se>=Q.childrenIds.length;if(Q.childrenIds.length-1<d+E)break;var _e=Q.childrenIds[d+E],w=c[_e];w.parent=c[xe],c[xe].children.push(w),we||(Se/2-1==E&&(Ce=new e.node(Q.childrenIds[d+E-1]+`_grid_pseudo_node_`+Q.childrenIds[d+E+1],xe,[],`subLevel`),e.manager._initDinamicNode(Ce,_.lcn),Ce.parent=c[xe],c[xe].children.push(Ce),c[Ce.id]=Ce),Se-1==E&&(xe=Ce.id))}}if(Q.layout==e.layout.mixed)for(var Te=Q.childrenIds,d=Te.length-1;d>=0;d--){var w=c[Te[d]];_=w.parent,w.layout=e.layout.mixed;for(var E=_.children.length-1;E>=0;E--)if(w.id==_.children[E].id){_.children.splice(E,1);break}if(d>0){var Ee=c[Te[d-1]];w.parent=Ee,w.layout=e.layout.mixed,Ee.children.push(w)}else _.children.push(w)}else if(Q.layout>1){var B=new e.node(ye+`_`+_.id+`_split_0`,Z.id,[],`split`);_.movex!=null&&(B.movex=_.movex),_.movey!=null&&(B.movey=_.movey),e.manager._initDinamicNode(B,_.lcn),c[B.id]=B,B.layout=Q.layout;for(var $=[],d=Q.childrenIds.length-1;d>=0;d--){for(var w=c[Q.childrenIds[d]],E=0;E<_.children.length;E++)_.children[E].id==w.id&&_.children.splice(E,1);if(w.parent=null,w.layout=Q.layout,(Q.layout==e.layout.treeRightOffset||Q.layout==e.layout.treeRight)&&$.splice(0,0,w.id),Q.layout>2){var De=new e.node(ye+`_`+w.id+`_mirror`,Z.id,[],`mirror`);e.manager._initDinamicNode(De,w.lcn),De.layout=Q.layout,c[De.id]=De,$.splice(0,0,De.id)}Q.layout!=e.layout.treeRightOffset&&Q.layout!=e.layout.treeRight&&$.splice(0,0,w.id)}for(var ce=1,E=$.length-1;E>=0;E--)if(E%2&&E!=$.length-1){var W=new e.node(ye+`_`+_.id+`_split_`+ce,Z.id,[],`split`);e.manager._initDinamicNode(W,_.lcn),_.movex!=null&&(W.movex=_.movex),_.movey!=null&&(W.movey=_.movey),W.layout=Q.layout,c[W.id]=W,$.splice(E,0,W.id),ce++}else E%2&&$.splice(E,0,B.id);for(var E=0;E<$.length;E+=3){var G=null;E==0&&(G=_);var le=c[$[E]],K=c[$[E+1]],q=c[$[E+2]];E!=0&&(G=c[$[E-3]]),E!=0&&!K&&(G=c[$[E-2]]),le.parent=G,G.children.push(le),K&&(E!=0&&(G=c[$[E-2]]),K.parent=G,G.children.push(K)),q&&(E!=0&&(G=c[$[E-1]]),q.parent=G,G.children.push(q))}}}}}}if(e.VERTICAL_CHILDREN_ASSISTANT)for(var d=0;d<l.length;d++)e.manager._verticalAssistantIterate(l[d],c);var Y={nodes:c,roots:l};return e.events.publish(`nodes-initialized`,[t,Y]),{nodes:Y.nodes,roots:Y.roots,rootList:u}},e.manager._getOrderSortArray=function(e){if(typeof e==`string`)return[{field:e,desc:!1}];if(Array.isArray(e)){var t=[];for(var n of e)typeof n==`string`?t.push({field:n,desc:!1}):e instanceof Object?t.push(n):console.error(`Unseported orderBy value!`);return t}else if(e instanceof Object)return[e];else console.error(`Unseported orderBy value!`)},e.manager._getNodeWidth=function(t,n){switch(n.orientation){case e.orientation.top:case e.orientation.top_left:case e.orientation.bottom:case e.orientation.bottom_left:return t.w;case e.orientation.right:case e.orientation.right_top:case e.orientation.left:case e.orientation.left_top:return t.h}return 0},e.manager._isVisible=function(t,n,r,i,a,o,s){var c=0;if(e.LAZY_LOADING_FACTOR==`auto`){var l=o/a*2,u=s/a*2;c=Math.ceil(l>u?l:u)}else c=e.LAZY_LOADING_FACTOR/a;if(!(t.x==null||t.y==null)){if(e._getLazyLoading(n)&&i!==e.action.exporting){function e(e,t){var n=e.x,r=e.y,i=e.w,a=e.h,o=t[0]-c,s=t[2]+c+t[0],l=t[1]-c,u=t[3]+c+t[1],d=n+i>o&&s>n;return d&&=r+a>l&&u>r,d}if(e(t,r))return!0;for(var d=0;d<t.children.length;d++)if(e(t.children[d],r))return!0;return!1}return!0}},e.manager.getAllFields=function(t){var n=[e.TAGS];for(var r in t.nodeBinding)n.push(t.nodeBinding[r]);for(var r=0;r<t.nodes.length;r++)for(var i in t.nodes[r])i!==e.ID&&i!==e.TAGS&&i!==e.NODES&&i!==e.PID&&i!==e.STPID&&i!==`movex`&&i!==`movey`&&(t.nodeBinding[i]||n.has(i)||n.push(i));return n},e.manager._getMostDeepChild=function(e){if(!e)return;var t=e;function n(e){e.sl>t.sl&&(t=e);for(var r=0;r<e.children.length;r++)n(e.children[r])}return n(e),t},e.manager._getResponse=function(t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){var g=u[0],_=[],v={top:null,left:null,bottom:null,right:null,minX:null,maxX:null,minY:null,maxY:null},y=[[],[],[]],b=a-s+i.padding*2,x=o-c+i.padding*2,S=e.getScale(l,t,n,i.scaleInitial,i.scaleMax,i.scaleMin,b,x);if(v.top=c-i.padding,v.left=s-i.padding,v.bottom=o+i.padding-n/S,v.right=a+i.padding-t/S,v.maxX=a,v.minX=s,v.maxY=o,v.minY=c,u.length==0||l==null&&!h&&i.align==e.CENTER){var C=Math.ceil(t/S),w=Math.ceil(n/S),T=0,E=0;if(C-i.padding*2>=a-s)switch(T=(a+s)/2-C/2,i.orientation){case e.orientation.right:case e.orientation.right_top:T=(s-a)/2-C/2;break}else switch(T=g.x-C/2+e.manager._getNodeWidth(g,i)/2,i.orientation){case e.orientation.right:case e.orientation.right_top:T=-(C/2-(s-a)/2),T<i.padding-C&&(T=i.padding-C);break;case e.orientation.left:case e.orientation.bottom_left:case e.orientation.top_left:case e.orientation.left_top:T=-(C/2-(a-s)/2),T>-i.padding&&(T=-i.padding);break}if(w-i.padding*2>=o-c)switch(E=(o+c)/2-w/2,i.orientation){case e.orientation.bottom:case e.orientation.bottom_left:E=(c-o)/2-w/2;break}else switch(E=-(w/2-(o-c)/2),E>-i.padding&&(E=-i.padding),i.orientation){case e.orientation.bottom:case e.orientation.bottom_left:E=-(w/2-(c-o)/2),E<i.padding-w&&(E=i.padding-w);break;case e.orientation.left:case e.orientation.right:E=g.y-w/2+e.manager._getNodeWidth(g,i)/2;break}l=[T,E,C,w]}else if(l==null&&!h&&i.align==e.ORIENTATION){var C=Math.ceil(t/S),w=Math.ceil(n/S),T=0,E=0;switch(i.orientation){case e.orientation.top:T=g.x-C/2+e.manager._getNodeWidth(g,i)/2,E=-i.padding;break;case e.orientation.bottom:T=g.x-C/2+e.manager._getNodeWidth(g,i)/2,E=i.padding-w;break;case e.orientation.left:T=-i.padding,E=g.y-w/2+e.manager._getNodeWidth(g,i)/2;break;case e.orientation.right:T=i.padding-C,E=g.y-w/2+e.manager._getNodeWidth(g,i)/2;break;case e.orientation.top_left:T=-i.padding,E=-i.padding;break;case e.orientation.right_top:T=i.padding-C,E=-i.padding;break;case e.orientation.left_top:T=-i.padding,E=-i.padding;break;case e.orientation.bottom_left:T=-i.padding,E=i.padding-w;break}l=[T,E,C,w]}if(d==e.action.centerNode||d==e.action.maximize){var D=e._getCenterNodeFromParams(p,f);f.options.horizontal==1&&(l[0]=D.x+D.w/2-l[2]/2),f.options.vertical==1&&(l[1]=D.y+D.h/2-l[3]/2)}if(d==e.action.insert||d==e.action.expand||d==e.action.collapse||d==e.action.update||d==e.action.centerNode){var O=null;if(d==e.action.insert&&f&&f.insertedNodeId!=null&&f.insertedNodeId!=null)O=p[f.insertedNodeId];else if(d==e.action.update&&f&&f.visId!=null&&f.visId!=null)O=p[f.visId];else if((d==e.action.expand||d==e.action.collapse)&&f&&f.id!=null&&f.id!=null)O=p[f.id],O=e.manager._getMostDeepChild(O);else if(d==e.action.centerNode){switch(i.orientation){case e.orientation.top:case e.orientation.top_left:case e.orientation.bottom:case e.orientation.bottom_left:f.options.vertical||(O=p[f.id]);break;case e.orientation.right:case e.orientation.right_top:case e.orientation.left:case e.orientation.left_top:f.options.horizontal||(O=p[f.id]);break}O&&=e.manager._getMostDeepChild(O)}if(!e.FIXED_POSITION_ON_CLICK&&O){if(O.isTreeListItem){for(;!O.stParent;)O=O.parent;O=O.stParent}switch(i.orientation){case e.orientation.top:case e.orientation.top_left:var k=O.y+O.h-l[3]+i.padding;l[1]<k&&(l[1]=k);break;case e.orientation.bottom:case e.orientation.bottom_left:var k=O.y-i.padding;l[1]>k&&(l[1]=k);break;case e.orientation.right:case e.orientation.right_top:var k=O.x-i.padding;l[0]>k&&(l[0]=k);break;case e.orientation.left:case e.orientation.left_top:var k=O.x+O.w-l[2]+i.padding;l[0]<k&&(l[0]=k);break}}}for(var A=0;A<u.length;A++)e.manager._iterate2(u[A],p,i,l,d,f,_,m,r,y,S,t,n);return{animations:y,boundary:v,viewBox:l,visibleNodeIds:_,nodes:p,allFields:e.manager.getAllFields(i)}},e.manager._iterate2=function(t,n,r,i,a,o,s,c,l,u,d,f,p){if(e.manager._isVisible(t,r,i,a,d,f,p)){s.push(t.id);var m=null;if((a==e.action.expand||a==e.action.collapse||a==e.action.maximize)&&c&&c[t.id]&&o.method==`expandCollapseToLevel`){var h=c[t.id];if(m={x:h.x,y:h.y},h){m={x:h.x,y:h.y};for(var g=t,_=null;g!=null;)c[g.id]&&c[g.id].collapsed&&(_=g),g=g.parent;_&&_.parent&&(m={x:_.parent.x,y:_.parent.y})}var v=n[o.id];if(v){for(var g=t.parent;g!=null;)g=g.parent;g&&(m={x:v.x+v.w/2-t.w/2,y:v.y+v.h/2-t.h/2})}}else if((a==e.action.expand||a==e.action.collapse)&&c&&c[t.id]){var h=c[t.id];if(m={x:h.x,y:h.y},o.ids==`all`&&h){m={x:h.x,y:h.y};for(var g=t,_=null;g!=null;)c[g.id]&&c[g.id].collapsed&&(_=g),g=g.parent;_&&_.parent&&(m={x:_.parent.x,y:_.parent.y})}var v=n[o.id];if(v){for(var g=t.parent;g!=null&&o.ids.indexOf(t.id)==-1&&o.ids.indexOf(g.id)==-1;)g=g.parent;g&&(m={x:v.x+v.w/2-t.w/2,y:v.y+v.h/2-t.h/2})}}else if(a==e.action.centerNode&&c&&c[t.id]){var h=c[t.id];h.x!=null&&h.y!=null&&(m={x:h.x,y:h.y});var y=e._getCenterNodeFromParams(n,o);if(y&&y==t){var g=t.parent;g&&g.id==o.id&&(m={x:y.x+y.w/2-t.w/2,y:y.y+y.h/2-t.h/2})}}else if(a==e.action.maximize&&c&&c[t.id]){var h=c[t.id];h.x!=null&&h.y!=null&&(m={x:h.x,y:h.y});var y=e._getCenterNodeFromParams(n,o);if(y&&y==t){var g=t.parent;g&&g.id==o.id&&(m={x:y.x+y.w/2-t.w/2,y:y.y+y.h/2-t.h/2})}}else if(a==e.action.minimize&&c&&c[t.id]){var h=c[t.id];m={x:h.x,y:h.y}}else if(a==e.action.insert&&o&&o.insertedNodeId==t.id&&t.parent)m={x:t.parent.x,y:t.parent.y};else if((a==e.action.update||a==e.action.insert)&&c){var h=c[t.id];if((!h||e.isNEU(h.x)&&e.isNEU(h.y))&&o){var v=n[o.id];if(v){for(var g=v;g&&g.id==t.id;)g=g.parent;g&&(m={x:v.x,y:v.y})}}else h&&(m={x:h.x,y:h.y})}else a!==e.action.exporting&&a!==e.action.init&&l.indexOf(t.id)==-1&&(u[0].push(t.id),u[1].push({opacity:0}),u[2].push({opacity:1}));m!=null&&m.x!=null&&m.y!=null&&(m.x!=t.x||m.y!=t.y)&&!(o&&o.dragNodeIdList&&o.dragNodeIdList.indexOf(t.id)!=-1)&&!t.isSplit&&(u[0].push(t.id),u[1].push({transform:[1,0,0,1,m.x,m.y]}),u[2].push({transform:[1,0,0,1,t.x,t.y]}))}for(var b=0;b<t.stChildren.length;b++)e.manager._iterate2(t.stChildren[b],n,r,i,a,o,s,c,l,u,d,f,p);for(var b=0;b<t.children.length;b++)e.manager._iterate2(t.children[b],n,r,i,a,o,s,c,l,u,d,f,p)},e.manager._addExpandedNodeIdsIterate=function(t,n,r){for(var i=0;i<t.childrenIds.length;i++)r.push(t.childrenIds[i]),e.manager._addExpandedNodeIdsIterate(n[t.childrenIds[i]],n,r)},e.manager._setChildCountPropsIterate=function(t,n){if(t){t.w===void 0&&(t.collapsedChildrenIds=t.childrenIds.slice()),t.deepChildCount=t.childrenIds.length,t.deepCollapsedChildCount=t.collapsedChildrenIds.length;for(var r=n[t.pid];r;)r.deepCollapsedChildCount+=t.collapsedChildrenIds.length,r.deepChildCount+=t.childrenIds.length,r=n[r.pid];for(var i of t.stChildrenIds)e.manager._setChildCountPropsIterate(n[i],n);for(var i of t.childrenIds)e.manager._setChildCountPropsIterate(n[i],n)}},e.manager._setMinMaxXYAdjustifyIterate=function(t,n,r,i,a,o,s,c){t.x+=o.x,t.y+=o.y;for(var l of t.stChildren)e.manager._setMinMaxXYAdjustifyIterate(l,l,r,0,a,o,s,c);t.isPartner?t.sl=i-1:t.sl=i,a[n.id]??(a[n.id]={}),a[n.id][t.sl]??(a[n.id][t.sl]={minX:null,minY:null,maxX:null,maxY:null}),t.layout?(c[n.id]??(c[n.id]={}),c[n.id][t.sl]??(c[n.id][t.sl]=t)):e._setMinMaxXY(t,a[n.id][t.sl],!0),t.movex!=null&&(t.x+=t.movex),t.movey!=null&&(t.y+=t.movey),e._setMinMaxXY(t,r,!0),i++;for(var l of t.children)e.manager._setMinMaxXYAdjustifyIterate(l,n,r,i,a,o,s,c)},e.manager._doNotChangePositionOfClickedNodeIfAny=function(t,n,r,i,a,o){if(r!=e.action.expand&&r!=e.action.collapse&&r!=e.action.minimize&&r!=e.action.maximize&&r!=e.action.centerNode&&r!=e.action.update&&r!=e.action.insert)return{x:0,y:0};if(r==e.action.update&&(!i||i.id==null)){if(!t||!t.length)return{x:0,y:0};i={id:t[0].id}}if(i.id==null)return{x:0,y:0};var s=i.id;(r==e.action.minimize&&n[s].parent||r==e.action.maximize&&n[s].parent)&&(s=n[s].pid);var c=n[s],l=a[s];if(!l)return{x:0,y:0};var u=l.movex==null?0:l.movex,d=l.movey==null?0:l.movey,f={x:(l.x?l.x-u:0)-c.x,y:(l.y?l.y-d:0)-c.y};return c&&c.isTreeListItem?{x:0,y:0}:f},e.manager._verticalAssistantIterate=function(t,n){for(var r=0;r<t.stChildren.length;r++)e.manager._verticalAssistantIterate(t.stChildren[r],n);if(t.children.length==3)e.manager._verticalAssistantIterate(t.children[0],n),e.manager._verticalAssistantIterate(t.children[2],n),e.manager._verticalAssistantIterate(t.children[1],n);else for(var r=0;r<t.children.length;r++)e.manager._verticalAssistantIterate(t.children[r],n);if(t.isAssistant&&t.isSplit&&t.children.length){for(var i=t.parent.children[0],a=t.parent.children[2],o=t.parent;!o.hasAssistants;)o=o.parent;var s={max:0},c={max:0};e.manager._verticalAssistantLevelCountIterate(i,0,s),e.manager._verticalAssistantLevelCountIterate(a,0,c);for(var l=Math.max(s.max,c.max),u=[],r=0;r<l;r++){var d=new e.node(t.parent.id+`_split_assitant_level_`+r,t.pid,[],`subLevel`);e.manager._initDinamicNode(d,t.lcn,!0),o.movex!=null&&(d.movex=o.movex),o.movey!=null&&(d.movey=o.movey),r>0&&(u[r-1].children.push(d),d.parent=u[r-1]),n[d.id]=d,u.push(d)}if(u.length){for(var f=u[u.length-1],p=u[0],m=t.children.length-1;m>=0;m--){var h=t.children[m];f.children.unshift(h),h.parent=f,t.children.splice(m,1)}t.children.push(p),p.parent=t}}},e.manager._verticalAssistantLevelCountIterate=function(t,n,r){r.max<n&&(r.max=n),n++;for(var i=0;i<t.children.length;i++)e.manager._verticalAssistantLevelCountIterate(t.children[i],n,r)},e._addDottedLines=function(e){var t=e.nodes;if((e.groupDottedLines.length||e.dottedLines.length)&&(t=JSON.parse(JSON.stringify(t))),e.groupDottedLines.length)for(var n=[],r=0;r<e.groupDottedLines.length;r++){var i=e.groupDottedLines[r];i.rootId??=i.to;var a=`balkan_group_dotted_${i.rootId}`;if(!n.has(a)){for(var o=0;o<t.length;o++)if(t[o].id==i.rootId){var s=JSON.parse(JSON.stringify(t[o]));s.id=`balkan_group_dotted_${i.rootId}_balkan_id_${t[o].id}`,s.pid=void 0,s.stpid=t[o].id,t.push(s),n.push(a),t[o].tags||(t[o].tags=[]),t[o].tags.push(`group-dotted-lines`),t[o].tags.push(`group-dotted-lines-`+a);break}}for(var o=0;o<t.length;o++)if(t[o].id==i.from){var s=JSON.parse(JSON.stringify(t[o]));if(s.id=`balkan_group_dotted_${i.rootId}_balkan_id_${t[o].id}`,s.pid=`balkan_group_dotted_${i.rootId}_balkan_id_${i.to}`,s.tags){var c=s.tags.indexOf(`group-dotted-lines`);c!=-1&&s.tags.splice(c,1)}if(s.tags||=[],s.tags.push(`boc-dotted-connector`),i.tags)for(var l=0;l<i.tags.length;l++)s.tags.push(i.tags[l]);t.push(s);break}}if(e.dottedLines.length)for(var r=0;r<e.dottedLines.length;r++){var u=e.dottedLines[r];u.rootId??=u.to;for(var o=0;o<t.length;o++)if(t[o].id==u.from){var s=JSON.parse(JSON.stringify(t[o]));if(s.id=`balkan_dotted_${u.rootId}_balkan_id_${t[o].id}`,u.rootId==u.to?s.pid=u.to:s.pid=`balkan_dotted_${u.rootId}_balkan_id_${u.to}`,s.tags||=[],s.tags.push(`boc-dotted-connector`),u.tags)for(var l=0;l<u.tags.length;l++)s.tags.push(u.tags[l]);t.push(s);break}}return t},e===void 0&&(e={}),e.templates={},e.templates.base={defs:``,size:[250,120],expandCollapseSize:30,linkAdjuster:{fromX:0,fromY:0,toX:0,toY:0},ripple:{radius:0,color:`#e6e6e6`,rect:null},svg:`<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="display:block;" width="{w}" height="{h}" viewBox="{viewBox}">{content}</svg>`,link:`<path stroke-linejoin="round" stroke="#aeaeae" stroke-width="1px" fill="none" d="M{xa},{ya} {xb},{yb} {xc},{yc} L{xd},{yd}"/>`,node:`<rect x="0" y="0" height="120" width="250" fill="none" stroke-width="1" stroke="#aeaeae" rx="7" ry="7"></rect>`,plus:function(e,t,n,r,i){var a=r.mode==`dark`?`#1E1E1E`:`#ffffff`;return`<g transform="matrix(1,0,0,1,${i.x-15},${i.y-15})"><circle cx="15" cy="15" r="15" fill="${a}" stroke="#aeaeae" stroke-width="1"></circle>
|
|
274
|
-
<text text-anchor="middle" style="font-size: 14px;cursor:pointer;" fill="#aeaeae" x="15" y="21">${e.
|
|
274
|
+
<text text-anchor="middle" style="font-size: 14px;cursor:pointer;" fill="#aeaeae" x="15" y="21">${e.collapsedChildrenIds.length}</text></g>`},minus:function(e,t,n,r,i){var a=r.mode==`dark`?`#1E1E1E`:`#ffffff`;return`<g transform="matrix(1,0,0,1,${i.x-15},${i.y-15})"><circle cx="15" cy="15" r="15" fill="${a}" stroke="#aeaeae" stroke-width="1"></circle>
|
|
275
275
|
<line x1="4" y1="15" x2="26" y2="15" stroke-width="1" stroke="#aeaeae"></line></g>`},nodeMenuButton:`<g style="cursor:pointer;" transform="matrix(1,0,0,1,225,105)"><rect x="-4" y="-10" fill="#000000" fill-opacity="0" width="22" height="22"></rect><circle cx="0" cy="0" r="2" fill="#ffffff"></circle><circle cx="7" cy="0" r="2" fill="#ffffff"></circle><circle cx="14" cy="0" r="2" fill="#ffffff"></circle></g>`,menuButton:`<div style="user-select:none;position:absolute;right:{p}px;top:{p}px; width:30px;height:50px;cursor:pointer;" `+e.attr.control_export_menu+`=""><hr style="background-color: #7A7A7A; height: 3px; border: none;"><hr style="background-color: #7A7A7A; height: 3px; border: none;"><hr style="background-color: #7A7A7A; height: 3px; border: none;"></div>`,img_0:`<clipPath id="{randId}"><circle cx="60" cy="60" r="40"></circle></clipPath><image preserveAspectRatio="xMidYMid slice" clip-path="url(#{randId})" xlink:href="{val}" x="20" y="20" width="80" height="80"></image>`,link_field_0:`<text text-anchor="middle" fill="#aeaeae" `+e.attr.width+`="290" x="0" y="0" style="font-size:10px;">{val}</text>`,editFormHeaderColor:`#039BE5`,treeListMaxHeight:500},e.templates.ana={defs:``,size:[250,120],linkAdjuster:{fromX:0,fromY:0,toX:0,toY:0},ripple:{radius:0,color:`#e6e6e6`,rect:null},expandCollapseSize:30,svg:`<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="display:block;" width="{w}" height="{h}" viewBox="{viewBox}">{content}</svg>`,link:`<path class="boc-hoverable" stroke-linejoin="round" stroke="#aeaeae" stroke-width="1px" fill="none" d="{rounded}" />`,node:function(e,t,n,r){return`<rect class="boc-hoverable" x="0" y="0" height="${e.h}" width="${e.w}" fill="#039BE5" stroke-width="1" stroke="#aeaeae" rx="10" ry="10"></rect>`},plus:function(e,t,n,r,i){var a=r.mode==`dark`?`#1E1E1E`:`#ffffff`;return`<g transform="matrix(1,0,0,1,${i.x-15},${i.y-15})"><circle class="boc-hoverable" cx="15" cy="15" r="15" fill="${a}" stroke="#aeaeae" stroke-width="1"></circle>
|
|
276
|
-
<text text-anchor="middle" style="font-size: 14px;cursor:pointer;" fill="#aeaeae" x="15" y="21">${e.
|
|
276
|
+
<text text-anchor="middle" style="font-size: 14px;cursor:pointer;" fill="#aeaeae" x="15" y="21">${e.collapsedChildrenIds.length}</text></g>`},minus:function(e,t,n,r,i){var a=r.mode==`dark`?`#1E1E1E`:`#ffffff`;return`<g transform="matrix(1,0,0,1,${i.x-15},${i.y-15})"><circle class="boc-hoverable" cx="15" cy="15" r="15" fill="${a}" stroke="#aeaeae" stroke-width="1"></circle>
|
|
277
277
|
<line x1="4" y1="15" x2="26" y2="15" stroke-width="1" stroke="#aeaeae"></line></g>`},up:`<rect x="20" y="-25" width="30" height="17" fill="#aeaeae" rx="3" ry="3"></rect><line x1="35" x2="35" y1="0" y2="-8" stroke="#aeaeae" stroke-width="1"></line>`,nodeMenuButton:function(e,t,n,r){return`<g transform="matrix(1,0,0,1,${e.w-25},${e.h-15})"><rect x="-4" y="-10" fill="#000000" fill-opacity="0" width="22" height="22"></rect><circle cx="0" cy="0" r="2" fill="#ffffff"></circle><circle cx="7" cy="0" r="2" fill="#ffffff"></circle><circle cx="14" cy="0" r="2" fill="#ffffff"></circle></g>`},menuButton:e.templates.base.menuButton,img_0:function(t,n,r,i,a){var o=50,s=30,c=40,l=e.randomId();return`<clipPath id="${l}"><circle cx="${o}" cy="${s}" r="${c}"></circle></clipPath><image preserveAspectRatio="xMidYMid slice" clip-path="url(#${l})" xlink:href="${a}" x="${o-c}" y="${s-c}" width="${c*2}" height="${c*2}" ></image>`},link_field_0:`<text text-anchor="middle" fill="#aeaeae" `+e.attr.width+`="290" x="0" y="0" style="font-size:10px;">{val}</text>`,field_0:function(t,n,r,i,a){return e.wrapText(a,`<text style="font-size: 18px;" fill="#ffffff" x="${t.w/2}" y="${t.h-25}" text-anchor="middle"></text>`,t.w-20,1)},field_1:function(t,n,r,i,a){return e.wrapText(a,`<text style="font-size: 14px;" fill="#ffffff" x="${t.w-20}" y="30" text-anchor="end"></text>`,t.w-120,3)},padding:[75,5,50,5],editFormHeaderColor:`#039BE5`,treeListMaxHeight:500},e.templates.emily=Object.assign({},e.templates.ana),e.templates.emily.size=[200,270],e.templates.emily.defs=`<style>.boc-hover .boc-emily-fill{fill: #039BE5;}
|
|
278
278
|
.boc-hover .boc-emily-stroke{stroke: #039BE5 !important; stroke-width: 6px !important;}
|
|
279
279
|
.boc-emily-link:hover text{ fill: #F57C00; }
|
|
@@ -286,7 +286,7 @@ var e=function(e,t){var n=this;Object.defineProperty(this,`element`,{get(){retur
|
|
|
286
286
|
.boc-emily-btn:hover path{fill:#F57C00 !important;}
|
|
287
287
|
.boc-hover-self .boc-emily-photo{ transform: matrix(0.4,0,0,0.4,0,30) }
|
|
288
288
|
</style>`,e.templates.emily.padding=[80,0,90,0],e.templates.emily.link=`<path class="boc-emily-stroke" stroke-linejoin="round" stroke="#aeaeae" stroke-width="1px" fill="none" d="{rounded}" />`,e.templates.emily.plus=function(e,t,n,r,i){var a=r.mode==`dark`?`#1E1E1E`:`#ffffff`;return`<g transform="matrix(1,0,0,1,${i.x-15},${i.y-15})"><circle class="boc-emily-stroke" cx="15" cy="15" r="15" fill="${a}" stroke="#aeaeae" stroke-width="1"></circle>
|
|
289
|
-
<text text-anchor="middle" style="font-size: 14px;cursor:pointer;" fill="#aeaeae" x="15" y="21">${e.
|
|
289
|
+
<text text-anchor="middle" style="font-size: 14px;cursor:pointer;" fill="#aeaeae" x="15" y="21">${e.collapsedChildrenIds.length}</text></g>`},e.templates.emily.minus=function(e,t,n,r,i){var a=r.mode==`dark`?`#1E1E1E`:`#ffffff`;return`<g transform="matrix(1,0,0,1,${i.x-15},${i.y-15})"><circle class="boc-emily-stroke" cx="15" cy="15" r="15" fill="${a}" stroke="#aeaeae" stroke-width="1"></circle>
|
|
290
290
|
<line x1="4" y1="15" x2="26" y2="15" stroke-width="1" stroke="#aeaeae"></line></g>`},e.templates.emily.node=function(t,n,r,i){var a=`<rect class="boc-emily-white" x="0.5" y="30" height="${t.h-80}" width="${t.w-1}" fill="#fff" style="--boc-emily-h:${t.h-80}px"></rect>`;return t.treeList&&(a=`<rect x="0.5" y="30" height="${t.h-125}" width="${t.w-1}" fill="#fff"></rect>`),`<rect class="boc-emily-fill" x="0" y="0" height="${t.h}" width="${t.w}" fill="#039BE5" stroke ="#aeaeae" stroke-width="1" rx="10" ry="10"></rect>
|
|
291
291
|
${a}
|
|
292
292
|
<g ${e.attr.control_node_btn}="pdf_profile" class="boc-emily-btn " transform="matrix(1,0,0,1,${t.w-70},40)">${e.icon.pdf(24,24,`#039BE5`)}<rect x="0" y="0" width="30" height="30" fill="red" fill-opacity="0"></rect></g>
|
|
@@ -340,7 +340,7 @@ var e=function(e,t){var n=this;Object.defineProperty(this,`element`,{get(){retur
|
|
|
340
340
|
<circle cy="13" cx="6" r="2" fill="#fff"></circle>
|
|
341
341
|
<circle cy="13" cx="13" r="2" fill="#fff"></circle>
|
|
342
342
|
<circle cy="13" cx="20" r="2" fill="#fff"></circle>
|
|
343
|
-
</g>`},e.templates.clara.node=function(e,t,n,r){return`<rect class="boc-hoverable" x="0" y="0" height="${e.h}" width="${e.w}" fill="#039BE5" stroke-width="1" stroke="#aeaeae" rx="10" ry="10"></rect>`},e.templates.treeListItem=Object.assign({},e.templates.ana),e.templates.treeListItem.size=[350,60],e.templates.treeListItem.field_0=function(t,n,r,i,a){var o=t.level*r.expandCollapseSize+45,s=i.mode==`dark`?`#ccc`:`#757575`;return e.wrapText(a,`<text fill="${s}" x="${o}" y="27" style="font-size:16px;"></text>`,t.w-o-70,1)},e.templates.treeListItem.field_1=function(t,n,r,i,a){var o=t.level*r.expandCollapseSize+45,s=i.mode==`dark`?`#ccc`:`#757575`;return e.wrapText(a,`<text fill="${s}" x="${o}" y="47" style="font-size:12px;"></text>`,t.w-o-70,1)},e.templates.treeListItem.img_0=function(t,n,r,i,a){var o=t.w-55,s=t.h/2,c=t.h/2-4,l=e.randomId();return`<clipPath id="${l}"><circle cx="${o}" cy="${s}" r="${c}"></circle></clipPath><image preserveAspectRatio="xMidYMid slice" clip-path="url(#${l})" xlink:href="${a}" x="${o-c}" y="${s-c}" width="${c*2}" height="${c*2}" ></image>`},e.templates.treeListItem.expandCollapseSize=24,e.templates.treeListItem.plus=function(e,t,n,r){var i=n.expandCollapseSize/2+e.level*n.expandCollapseSize,a=e.h/2;a-=n.expandCollapseSize/2;var o=r.mode==`dark`?`#ccc`:`#757575`;return`<g transform="matrix(1,0,0,1,${i},${a})"><text x="6" style="font-size: 10px;" fill="${o}" y="15.5" text-anchor="end">${e.
|
|
343
|
+
</g>`},e.templates.clara.node=function(e,t,n,r){return`<rect class="boc-hoverable" x="0" y="0" height="${e.h}" width="${e.w}" fill="#039BE5" stroke-width="1" stroke="#aeaeae" rx="10" ry="10"></rect>`},e.templates.treeListItem=Object.assign({},e.templates.ana),e.templates.treeListItem.size=[350,60],e.templates.treeListItem.field_0=function(t,n,r,i,a){var o=t.level*r.expandCollapseSize+45,s=i.mode==`dark`?`#ccc`:`#757575`;return e.wrapText(a,`<text fill="${s}" x="${o}" y="27" style="font-size:16px;"></text>`,t.w-o-70,1)},e.templates.treeListItem.field_1=function(t,n,r,i,a){var o=t.level*r.expandCollapseSize+45,s=i.mode==`dark`?`#ccc`:`#757575`;return e.wrapText(a,`<text fill="${s}" x="${o}" y="47" style="font-size:12px;"></text>`,t.w-o-70,1)},e.templates.treeListItem.img_0=function(t,n,r,i,a){var o=t.w-55,s=t.h/2,c=t.h/2-4,l=e.randomId();return`<clipPath id="${l}"><circle cx="${o}" cy="${s}" r="${c}"></circle></clipPath><image preserveAspectRatio="xMidYMid slice" clip-path="url(#${l})" xlink:href="${a}" x="${o-c}" y="${s-c}" width="${c*2}" height="${c*2}" ></image>`},e.templates.treeListItem.expandCollapseSize=24,e.templates.treeListItem.plus=function(e,t,n,r){var i=n.expandCollapseSize/2+e.level*n.expandCollapseSize,a=e.h/2;a-=n.expandCollapseSize/2;var o=r.mode==`dark`?`#ccc`:`#757575`;return`<g transform="matrix(1,0,0,1,${i},${a})"><text x="6" style="font-size: 10px;" fill="${o}" y="15.5" text-anchor="end">${e.collapsedChildrenIds.length}</text><path fill="${o}" d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z" /><rect style="opacity: 0" x="-3" y="-3" width="30" height="30"></rect></g>`},e.templates.treeListItem.minus=function(e,t,n,r){var i=n.expandCollapseSize/2+e.level*n.expandCollapseSize,a=e.h/2;a-=n.expandCollapseSize/2;var o=r.mode==`dark`?`#ccc`:`#757575`;return`<g transform="matrix(1,0,0,1,${i},${a})"><path fill="${o}" d="M7.42,8.59L12,13.17L16.59,8.59L18,10L12,16L6,10L7.42,8.59Z" /><rect style="opacity: 0" x="-3" y="-3" width="30" height="30"></rect></g>`},e.templates.treeListItem.nodeMenuButton=function(e,t,n,r){var i=r.mode==`dark`?`#ccc`:`#757575`;return`<g style="cursor:pointer;" transform="matrix(1,0,0,1, ${e.w-36}, ${e.h/2-13})">
|
|
344
344
|
<rect x="0" y="0" fill="red" style="opacity: 0;" width="26" height="26"></rect>
|
|
345
345
|
<circle cx="13" cy="6" r="2" fill="${i}"></circle>
|
|
346
346
|
<circle cx="13" cy="13" r="2" fill="${i}"></circle>
|
|
@@ -381,7 +381,7 @@ var e=function(e,t){var n=this;Object.defineProperty(this,`element`,{get(){retur
|
|
|
381
381
|
<path stroke-width="${r}" fill="none" stroke="url(#${e}_linearColors6)" d="${a(n,n,n,300,1)}"/>
|
|
382
382
|
</g>`},e._intersectionObserver=function(e,t){typeof IntersectionObserver==`function`?new IntersectionObserver(function(e,n){e.forEach(function(e){var n=e.intersectionRatio>0;e.intersectionRatio==0&&(n=e.isIntersecting),t(n)})}).observe(e):t(!0)},e.convertCsvToNodes=function(t){for(var n=e._csvToArray(t),r=n[0],i=[],a=1;a<n.length;a++){for(var o={},s=0;s<n[a].length;s++){var c=r[s],l=n[a][s];o[r[s]]=e._convertStringToArray(c,l)}o.id.trim()!=``&&i.push(o)}return i},e._escapeHtml=function(t){return e.ESCAPE_HTML&&typeof t==`string`?t.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`):t},e._escapeDoubleQuotes=function(e){return typeof e==`string`?e.replace(/"/g,`"`):e},e._escapeGreaterLessSign=function(e){return typeof e==`string`?e.replace(/</g,`<`).replace(/>/g,`>`):e},e.roundPathCorners=function(e,t,n){function r(e,t,n){var r=t.x-e.x,a=t.y-e.y,o=Math.sqrt(r*r+a*a);return i(e,t,Math.min(1,n/o))}function i(e,t,n){return{x:e.x+(t.x-e.x)*n,y:e.y+(t.y-e.y)*n}}function a(e,t){e.length>2&&(e[e.length-2]=t.x,e[e.length-1]=t.y)}function o(e){return{x:parseFloat(e[e.length-2]),y:parseFloat(e[e.length-1])}}Array.isArray(e)||(e=e.split(/[,\s]/).reduce(function(e,t){var n=t.match(`([a-zA-Z])(.+)`);return n?(e.push(n[1]),e.push(n[2])):e.push(t),e},[]),e=e.reduce(function(e,t){return parseFloat(t)==t&&e.length?e[e.length-1].push(t):e.push([t]),e},[]));var s=[];if(e.length>1){var c=o(e[0]),l=null;e[e.length-1][0]==`Z`&&e[0].length>2&&(l=[`L`,c.x,c.y],e[e.length-1]=l),s.push(e[0]);for(var u=1;u<e.length;u++){var d=s[s.length-1],f=e[u],p=f==l?e[1]:e[u+1];if(p&&d&&d.length>2&&f[0]==`L`&&p.length>2&&p[0]==`L`){var m=o(d),h=o(f),g=o(p),_,v;n?(_=i(h,d.origPoint||m,t),v=i(h,p.origPoint||g,t)):(_=r(h,m,t),v=r(h,g,t)),a(f,_),f.origPoint=h,s.push(f);var y=i(_,h,.5),b=i(h,v,.5),x=[`C`,y.x,y.y,b.x,b.y,v.x,v.y];x.origPoint=h,s.push(x)}else s.push(f)}if(l){var S=o(s[s.length-1]);s.push([`Z`]),a(s[0],S)}}else s=e;return s.reduce(function(e,t){return e+t.join(` `)+` `},``)},e._isMoved=function(e){return e.movex!=null||e.movey!=null},e._getDynamicGridCoulumns=function(e){for(var t=1;t<e&&(e/t,!(e/t-t<=0));t++);return t%2!=0&&t>2&&t--,t},e._getLazyLoading=function(e){var t=e.lazyLoading;return t==`auto`&&(t=!!(e&&e.nodes&&e.nodes.length>700)),t},e._getSvgAttributes=function(e){let t=/width="([\d.]+)"/,n=/height="([\d.]+)"/,r=/x="([\d.]+)"/,i=/y="([\d.]+)"/,a=/viewBox="([^"]+)"/,o=e.match(t),s=e.match(n),c=e.match(r),l=e.match(i),u=e.match(a),d=o?parseFloat(o[1]):0,f=s?parseFloat(s[1]):0,p=c?parseFloat(c[1]):0,m=l?parseFloat(l[1]):0,h=[0,0,0,0];return u&&(h=u[1],h=JSON.parse(`[${h}]`)),{width:d,height:f,viewBox:h,x:p,y:m}},e._setSvgAttributes=function(e,t){var n=t.x,r=t.y,i=t.width,a=t.height,o=t.viewBox.join(`,`);let s=e.match(/<svg\s+([^>]*?)>/);if(!s)return e;let c=s[0],l=s[1],u=(e,t,n)=>{if(n==null)return e;let r=RegExp(`\\s*${t}="[^"]*"`,`i`),i=` ${t}="${n}"`;return e.match(r)?e.replace(r,i):e+i};l=u(l,`x`,n),l=u(l,`y`,r),l=u(l,`width`,i),l=u(l,`height`,a),l=u(l,`viewBox`,o);let d=`<svg ${l}>`;return e.replace(c,d)},e._convertTextToNodes=function(e,t){let n=e.split(/\r?\n/).filter(e=>e.trim()!==``),r=[],i=1,a=[];for(let e of n){let n=0;for(;e.startsWith(t);)e=e.slice(t.length),n++;if(e=e.trim(),!e)continue;let o=e.match(/^\[([^\]]+)](.*)$/);if(o){let e=o[1].trim(),t=o[2].trim();a.length>0&&(a[a.length-1][e]=t);continue}let s=e.match(/^([^\(]+)\(([^)]+)\)$/),c,l=[];s?(c=s[1].trim(),l=s[2].split(`,`).map(e=>e.trim())):c=e;let u=n===0?null:a[n-1].id,d={id:i++,pid:u,name:c,tags:l};a[n]=d,a.length=n+1,r.push(d)}return r},e._convertFromNodesToText=function(e,t){let n={},r=[];e.forEach(e=>{n[e.id]={...e,children:[]}}),e.forEach(e=>{e.pid&&n[e.pid]?n[e.pid].children.push(n[e.id]):r.push(n[e.id])});function i(e,n){let r=t.repeat(n),a=r+e.name;Array.isArray(e.tags)&&e.tags.length>0&&(a+=`(`+e.tags.join(`,`)+`)`),a+=`
|
|
383
383
|
`;for(let t of Object.keys(e))[`id`,`pid`,`name`,`children`,`tags`].includes(t)||(a+=r+`[`+t+`]`+e[t]+`
|
|
384
|
-
`);for(let t of e.children)a+=i(t,n+1);return a}return r.map(e=>i(e,0)).join(``).trim()},e._onClickHandler=function(t,n,r,i,a){var o;if(r===void 0)if(n===`add`){var s={id:t.generateId(),pid:i};t.addNode(s,null,!0)}else if(n===`edit`){var c=t.getNode(i);t.editUI.show(c.id)}else if(n===`details`){var c=t.getNode(i);t.editUI.show(c.id,!0)}else if(n===`remove`)t.removeNode(i,null,!0);else if(n===`svg_export`||n===`svg`){var l={};e.isNEU(i)||(l.pages=[{nodeId:i}]),t.exportToSVG(l)}else if(n===`pdf_export`||n===`pdf`){var l={};e.isNEU(i)||(l.pages=[{nodeId:i}]),t.exportToPDF(l)}else if(n===`png_export`||n===`png`){var l={};e.isNEU(i)||(l.pages=[{nodeId:i}]),t.exportToPNG(l)}else if(n===`visio_export`||n===`visio`)t.exportToVisio({nodeId:i});else if(n===`pp_export`||n===`powerpoint`)t.exportToPowerPoint();else if(n===`pp_preview`||n===`pppreview`){var l={parentLevels:0,childLevels:1,expandChildren:!1,pages:[{parentLevels:null,childLevels:null,expandChildren:!0,nodeId:t.roots[0].id}]};i!=null&&(l.expandChildren=!1,l.pages[0].nodeId=i),t.powerPointPreviewUI.show(l)}else if(n===`pdf_preview`||n===`pdfpreview`){var l={parentLevels:0,childLevels:1,expandChildren:!1,pages:[{parentLevels:null,childLevels:null,expandChildren:!0,nodeId:t.roots[0].id}]};i!=null&&(l.expandChildren=!1,l.pages[0].nodeId=i),t.pdfPreviewUI.show(l)}else if(n===`svg_preview`||n===`svgpreview`){var l={parentLevels:0,childLevels:1,expandChildren:!1,pages:[{parentLevels:null,childLevels:null,expandChildren:!0,nodeId:t.roots[0].id}]};i!=null&&(l.expandChildren=!1,l.pages[0].nodeId=i),t.svgPreviewUI.show(l)}else if(n===`png_preview`||n===`pngpreview`){var l={parentLevels:0,childLevels:1,expandChildren:!1,pages:[{parentLevels:null,childLevels:null,expandChildren:!0,nodeId:t.roots[0].id}]};i!=null&&(l.expandChildren=!1,l.pages[0].nodeId=i),t.pngPreviewUI.show(l)}else n===`pdf_profile`||n===`csv`?t.exportToPDFProfile(i):n===`share_profile`||n===`csv`?t.shareProfile(i):n===`csv_export`||n===`csv`?t.exportToCSV({nodeId:i}):n===`xml_export`||n===`xml`?t.exportToXML({nodeId:i}):n===`json_export`||n===`json`?t.exportToJSON({nodeId:i}):n===`fit`?t.fit():n===`expand_all`?t.expand(null,`all`):n===`full_screen`?t.toggleFullScreen():n===`zoom_in`?t.zoom(!0,null,!0):n===`zoom_out`||n===`zoom_out`?t.zoom(!1,null,!0):n===`layout_mixed`?t.setLayout(e.layout.mixed):n===`layout_normal`?t.setLayout(e.layout.normal):n===`layout_right_offset`?t.setLayout(e.layout.treeRightOffset):n===`layout_left_offset`?t.setLayout(e.layout.treeLeftOffset):n===`layout_tree`?t.setLayout(e.layout.tree):n===`layout_grid`&&t.setLayout(e.layout.grid);else o=r.call(t,i,a);return o},e._isSVG=function(e){if(typeof e!=`string`)return!1;let t=e.trim();if(!t.startsWith(`<svg`)||!t.endsWith(`</svg>`))return!1;try{let e=new DOMParser().parseFromString(t,`image/svg+xml`);return e.querySelector(`parsererror`)?!1:e.documentElement.nodeName.toLowerCase()===`svg`}catch{return!1}},e._treeListAdjustToSTNodePostition=function(t,n){for(var r of t)r.y+=n.y+n.padding[0],r.x+=n.x+n.padding[3],e._treeListAdjustToSTNodePostition(r.children,n)},e._treeListSetProps=function(t,n){var r=-t.treeList.scrollTop,i={nodesByLevels:[],lastNode:null,y:0};t.treeList.pinnedIds=[],e._treeListIterate(t.stChildren,i,-1);var a=i.lastNode.y+i.lastNode.h-0-(t.treeList.maxHeight-t.padding[0]-t.padding[2]);r>0||a<0?r=0:r!=0&&r*-1>a&&(r=-a);for(var o=i.nodesByLevels.length-1;o>=0;o--)for(var s=i.nodesByLevels[o],c=s.length-1;c>=0;c--){for(var l=s[c],u=l.y,d=0,f=l.parent;f&&(d+=f.h,f.parent);)f=f.parent;if(l.children.length&&l.y+r<=d){u=-r+d;var p=s[c+1];if(p&&p.y<u+l.h&&(u=p.y-l.h),f){var m=t.stChildren.indexOf(f);if(t.stChildren.length>m+1){var h=t.stChildren[m+1];h.y<u+l.h&&(u=h.y-l.h)}}}l.y!=u&&t.treeList.pinnedIds.push(l.id),l.y=u,l.x=0}if(n==e.orientation.bottom){var g=i.lastNode.y+i.lastNode.h;for(var o of i.nodesByLevels)for(var l of o)l.y=g-l.y-l.h}t.treeList.scrollTop=-r,t.treeList.scrollTopMax=a},e._treeListIterate=function(t,n,r){r++;for(var i of t)i.y=n.y,n.y+=i.h,n.nodesByLevels[r]||(n.nodesByLevels[r]=[]),n.nodesByLevels[r].push(i),n.lastNode=i,e._treeListIterate(i.children,n,r)},e._treeListGetTumbPositionFromScrollTop=function(e){var t=e.h-e.padding[0]-e.padding[2],n=t/((e.treeList.scrollTopMax+t)/100),r=t/100*n,i=t-r,a=-e.treeList.scrollTop/(e.treeList.scrollTopMax/100),o=e.y+e.padding[0]+i/-100*a,s=`initial`;return(isNaN(r)||isNaN(o)||r<0||n>100)&&(s=`none`,r=0,o=0),{thumbHeight:r,thumbPosition:o,scrollBarDisplay:s}},e._treeListGetScrollTopFromTumbPosition=function(e,t,n){var r=e.h-e.padding[0]-e.padding[2]-t,i=(n-(e.y+e.padding[0]))/r*100/100*e.treeList.scrollTopMax;return(isNaN(i)||i<0)&&(i=0),i>e.treeList.scrollTopMax&&(i=e.treeList.scrollTopMax),i},e._getCenterNodeFromParams=function(e,t){var n=e[t.id];if(n){if(n.isTreeListItem){for(;!n.stParent;)n=n.parent;n=n.stParent}return n}return null},e._getScrollTopForNode=function(t,n){var r={nodesByLevels:[],lastNode:null,y:0};e._treeListIterate(t.stChildren,r,-1);var i=null;for(var a of r.nodesByLevels){for(var o of a)if(o.id==n){i=o;break}if(i)break}if(!i)return t.treeList.scrollTop;for(var s=0,c=i.parent;c&&(s+=c.h,c.parent);)c=c.parent;var l=t.padding[0],u=t.padding[2],d=t.treeList.maxHeight-l-u,f=r.lastNode.y+r.lastNode.h-d;f<0&&(f=0);var p=t.treeList.scrollTop,m=i.y-s,h=i.y+i.h-d,g=p;return i.y<p+s?g=m:i.y+i.h>p+d&&(g=i.h>d-s?m:h),g<0?g=0:g>f&&(g=f),g},e._getDefailtPositionForExpandCollpase=function(t,n){var r={x:0,y:0};switch(t.orientation){case e.orientation.top:case e.orientation.top_left:r.x=n.w/2,r.y=n.h;break;case e.orientation.bottom:case e.orientation.bottom_left:r.x=n.w/2,r.y=0;break;case e.orientation.right:case e.orientation.right_top:r.x=0,r.y=n.h/2;break;case e.orientation.left:case e.orientation.left_top:r.x=n.w,r.y=n.h/2;break}return r},e._measureCache={svg:null,text:null},e._getMeasureElement=function(){if(e._measureCache.svg)return e._measureCache.text;let t=`http://www.w3.org/2000/svg`;return e._measureCache.svg=document.createElementNS(t,`svg`),e._measureCache.svg.id=`orgchart_js_test__measure`,e._measureCache.svg.style.cssText=`position:absolute;top:-9999px;visibility:hidden;white-space:pre;`,e._measureCache.text=document.createElementNS(t,`text`),e._measureCache.svg.appendChild(e._measureCache.text),document.body.appendChild(e._measureCache.svg),e._measureCache.text},e._lineClamp=function(t,n,r,i){if(n===void 0||n==null)return``;typeof n!=`string`&&(n=n.toString()),n=e._escapeHtml(n);let a=/(\w+(?:-\w+)?)="([^"]*)"/g,o={},s;for(;(s=a.exec(t))!==null;)o[s[1]]=s[2];let c=e._getMeasureElement();c.textContent=``;for(let[e,t]of Object.entries(o))e!==`x`&&e!==`y`&&c.setAttribute(e,t);let l=e=>(c.textContent=e,c.getComputedTextLength()),u=n.split(` `),d=[],f=``,p=0;for(;p<u.length&&d.length<i;){let e=u[p],t=f?f+` `+e:e;if(l(t)<=r)f=t,p++;else if(f===``){let t=0,n=e.length,i=1;for(;t<=n;){let a=t+n>>1;l(e.slice(0,a))<=r?(i=a,t=a+1):n=a-1}d.push(e.slice(0,i)),u[p]=e.slice(i)}else d.push(f),f=``}f&&d.length<i&&d.push(f);let m=p<u.length||p===u.length&&u[p-1]===``&&n.endsWith(` `);if(m&&d.length>0){let e=d[d.length-1],t=0,n=e.length,i=``;for(;t<=n;){let a=Math.floor((t+n)/2),o=e.substring(0,a)+`...`;l(o)<=r?(i=o,t=a+1):n=a-1}d[d.length-1]=i}let h=` x="${o.x||`0`}"`,g=d.length===1?d[0]:d.map((e,t)=>`<tspan${h} dy="${t===0?0:`1.2em`}">${e}</tspan>`).join(``);return`<text${Object.entries(o).map(([e,t])=>` ${e}="${t}"`).join(``)}>${m?`<title>${n}</title>`:``}${g}</text>`},e._getScrollableTreeListNodeInTouchEnabledDevice=function(t){if(!t||!t.isTreeListItem||!e._isTouchDevice())return null;var n=e.getRootOf(t).stParent,{thumbHeight:r,thumbPosition:i,scrollBarDisplay:a}=e._treeListGetTumbPositionFromScrollTop(n);return a==`none`?null:n},e._convertImagesToBase64=async function(t){let n=new DOMParser;return await Promise.all(t.map(async t=>{let r=n.parseFromString(t,`image/svg+xml`),i=r.querySelectorAll(`image`);for(let t of i){let n=t.getAttribute(`href`)||t.getAttribute(`xlink:href`);if(n&&!n.startsWith(`data:`))try{let r=parseFloat(t.getAttribute(`width`))||0,i=parseFloat(t.getAttribute(`height`))||0;if(r>0&&i>0){let a=await e._resizeAndConvert(n,r,i);t.setAttribute(`href`,a),t.removeAttributeNS(`http://www.w3.org/1999/xlink`,`href`)}}catch(e){console.error(`Failed to process image:`,n,e)}}return new XMLSerializer().serializeToString(r)}))},e._resizeAndConvert=function(e,t,n){return new Promise((r,i)=>{let a=new Image;a.crossOrigin=`anonymous`,a.onload=()=>{let e=document.createElement(`canvas`),i=e.getContext(`2d`),o=Math.min(t/a.width,n/a.height),s=a.width*o,c=a.height*o;e.width=s,e.height=c,i.drawImage(a,0,0,s,c),r(e.toDataURL(`image/png`))},a.onerror=i,a.src=e})},e._reorderNodeBinding=function(e){if(!e.nodeBinding)return;let t={};Object.keys(e.nodeBinding).filter(e=>!e.startsWith(`img`)).forEach(n=>{t[n]=e.nodeBinding[n]}),Object.keys(e.nodeBinding).filter(e=>e.startsWith(`img`)).forEach(n=>{t[n]=e.nodeBinding[n]}),e.nodeBinding=t},e.xScrollUI=function(t,n,r,i,a){this.element=t,this.requestParams=r,this.config=n,this.onSetViewBoxCallback=i,this.onDrawCallback=a,this.position=0,this.bar=null,this._event_id=e._guid()},e.xScrollUI.prototype.addListener=function(t){var n=this;if(this.config.mouseScrool!=e.action.xScroll&&this.config.mouseScrool!=e.action.scroll||!this.bar)return;var r=navigator.userAgent.indexOf(`Mac OS`)!==-1;function i(t,i,a){var o=!1;t.addEventListener(`wheel`,s,{passive:!1});function s(t){if(t.preventDefault(),!t.ctrlKey){var a=0;if(n.config.mouseScrool==e.action.xScroll)a=t.deltaX||t.wheelDeltaX,a||=t.deltaY||t.wheelDeltaY;else if(n.config.mouseScrool==e.action.scroll&&(a=r||!t.shiftKey?t.deltaX||t.wheelDeltaX:t.deltaY||t.wheelDeltaY,!a))return;a=-a,a=Math.max(-1,Math.min(1,a)),n.position+=-a*i;var s=parseFloat(n.innerBar.clientWidth)-parseFloat(n.bar.clientWidth);n.position<0&&(n.position=0),n.position>s&&(n.position=s),o||c()}}function c(){o=!0;var e=(n.position-n.bar.scrollLeft)/a;if(e>0)e++;else if(e==0){o=!1;return}else e--;Math.ceil(n.bar.scrollLeft)==Math.ceil(n.position)?o=!1:(n.bar.scrollLeft+=e,l(c))}var l=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e){setTimeout(e,20)}}()}var a=e._getScrollSensitivity();i(t,a.speed,a.smooth)},e.xScrollUI.prototype.create=function(t){if(!(this.config.showXScroll!==!0&&this.config.mouseScrool!==e.action.scroll&&this.config.mouseScrool!==e.action.xScroll)){var n=this;this.bar&&this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.bar=document.createElement(`div`),this.innerBar=document.createElement(`div`),this.requestParams(),this.innerBar.innerHTML=` `,Object.assign(this.bar.style,{position:`absolute`,left:0,bottom:0,width:t+`px`,"overflow-x":`scroll`,height:`20px`}),this.element.appendChild(this.bar),this.bar.appendChild(this.innerBar),this.bar.addEventListener(`scroll`,function(){if(this.ignore){this.ignore=!1;return}var e=n.requestParams(),t=(parseFloat(n.innerBar.clientWidth)-parseFloat(n.bar.clientWidth))/100,r=this.scrollLeft/t,i=(e.boundary.right-e.boundary.left)/100;e.viewBox[0]=r*i+e.boundary.left,n.onSetViewBoxCallback(e.viewBox),clearTimeout(this._timeout),this._timeout=setTimeout(function(){n.onDrawCallback()},500)})}},e.xScrollUI.prototype.setPosition=function(){if(this.bar){var t=this.requestParams(),n=(Math.abs(t.boundary.maxX-t.boundary.minX)+this.config.padding*2)*t.scale;switch(this.config.orientation){case e.orientation.right:case e.orientation.right_top:n=Math.abs(t.boundary.minX*t.scale);break}this.innerBar.style.width=n+`px`;var r=(t.boundary.right-t.boundary.left)/100,i=(t.viewBox[0]-t.boundary.left)/r;i<0?i=0:i>100&&(i=100);var a=(parseFloat(this.innerBar.clientWidth)-parseFloat(this.bar.clientWidth))/100,o=i*a;this.bar.ignore=!0,this.bar.scrollLeft=o,this.position=this.bar.scrollLeft,a<=0?this.bar.style.visibility=`hidden`:this.bar.style.visibility=``,this.config.showXScroll!==!0&&(this.bar.style.visibility=`hidden`),e.events.publish(`change`,[this,{isScrollBarVisible:this.bar.style.visibility!=`hidden`}])}},e.xScrollUI.prototype.on=function(t,n){return e.events.on(t,n,this._event_id),this},e.yScrollUI=function(t,n,r,i,a){this.element=t,this.requestParams=r,this.config=n,this.onSetViewBoxCallback=i,this.onDrawCallback=a,this.position=0,this.bar=null,this._event_id=e._guid()},e.yScrollUI.prototype.addListener=function(t){var n=this;if(this.config.mouseScrool!=e.action.yScroll&&this.config.mouseScrool!=e.action.scroll||!this.bar)return;var r=navigator.userAgent.indexOf(`Mac OS`)!==-1;function i(t,i,a){var o=!1;t.addEventListener(`wheel`,s,{passive:!1});function s(t){if(t.preventDefault(),!t.ctrlKey){var a=0;if(n.config.mouseScrool==e.action.yScroll)a=t.deltaY||t.wheelDeltaY,a||=t.deltaX||t.wheelDeltaX;else if(n.config.mouseScrool==e.action.scroll&&(a=r||!t.shiftKey?t.deltaY||t.wheelDeltaY:t.deltaX||t.wheelDeltaX,!a))return;a=-a,a=Math.max(-1,Math.min(1,a)),n.position+=-a*i;var s=parseFloat(n.innerBar.clientHeight)-parseFloat(n.bar.clientHeight);n.position<0&&(n.position=0),n.position>s&&(n.position=s),o||c()}}function c(){o=!0;var e=(n.position-n.bar.scrollTop)/a;if(e>0)e++;else if(e==0){o=!1;return}else e--;Math.ceil(n.bar.scrollTop)==Math.ceil(n.position)?o=!1:(n.bar.scrollTop+=e,l(c))}var l=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e){setTimeout(e,20)}}()}var a=e._getScrollSensitivity();i(t,a.speed,a.smooth)},e.yScrollUI.prototype.create=function(t){if(!(this.config.showYScroll!==!0&&this.config.mouseScrool!==e.action.scroll&&this.config.mouseScrool!==e.action.yScroll)){var n=this;this.bar&&this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.bar=document.createElement(`div`),this.innerBar=document.createElement(`div`),this.innerBar.innerHTML=` `,Object.assign(this.bar.style,{position:`absolute`,right:0,bottom:0,height:t+`px`,"overflow-y":`scroll`,width:`20px`}),this.element.appendChild(this.bar),this.bar.appendChild(this.innerBar),this.bar.addEventListener(`scroll`,function(){if(this.ignore){this.ignore=!1;return}var e=n.requestParams(),t=(parseFloat(n.innerBar.clientHeight)-parseFloat(n.bar.clientHeight))/100,r=this.scrollTop/t,i=(e.boundary.bottom-e.boundary.top)/100;e.viewBox[1]=r*i+e.boundary.top,n.onSetViewBoxCallback(e.viewBox),clearTimeout(this._timeout),this._timeout=setTimeout(function(){n.onDrawCallback()},500)})}},e.yScrollUI.prototype.setPosition=function(){if(this.bar){var t=this.requestParams(),n=(Math.abs(t.boundary.maxY-t.boundary.minY)+this.config.padding*2)*t.scale;switch(this.config.orientation){case e.orientation.bottom:case e.orientation.bottom_left:n=Math.abs(t.boundary.minY*t.scale);break}this.innerBar.style.height=n+`px`;var r=(t.boundary.bottom-t.boundary.top)/100,i=(t.viewBox[1]-t.boundary.top)/Math.abs(r);i<0?i=0:i>100&&(i=100);var a=(parseFloat(this.innerBar.clientHeight)-parseFloat(this.bar.clientHeight))/100,o=i*a;this.bar.ignore=!0,this.bar.scrollTop=o,this.position=this.bar.scrollTop,a<=0?this.bar.style.visibility=`hidden`:this.bar.style.visibility=``,this.config.showYScroll!==!0&&(this.bar.style.visibility=`hidden`),e.events.publish(`change`,[this,{isScrollBarVisible:this.bar.style.visibility!=`hidden`}])}},e.yScrollUI.prototype.on=function(t,n){return e.events.on(t,n,this._event_id),this},e.prototype.zoom=function(t,n,r,i){var a=this.getViewBox().slice(0),o=a,s=a[2],c=a[3];t===!0?(a[2]/=e.SCALE_FACTOR,a[3]/=e.SCALE_FACTOR):t===!1?(a[2]*=e.SCALE_FACTOR,a[3]*=e.SCALE_FACTOR):(a[2]/=t,a[3]/=t),n||=[50,50],a[0]=o[0]-(a[2]-s)/(100/n[0]),a[1]=o[1]-(a[3]-c)/(100/n[1]);var l=this.getScale(a);if(a[2]=this.width()/l,a[3]=this.height()/l,t===!0&&l<this.config.scaleMax||t===!1&&l>this.config.scaleMin||t!=0&&t!=1&&l<this.config.scaleMax&&l>this.config.scaleMin){this._hideBeforeAnimation();var u=this;r?(clearTimeout(u._timeout),e.animate(this.getSvg(),{viewbox:this.getViewBox()},{viewbox:a},this.config.anim.duration,this.config.anim.func,function(){clearTimeout(u._timeout),u._timeout=setTimeout(function(){u._draw(!0,e.action.zoom,null,i)},500)})):(this.setViewBox(a),clearTimeout(u._timeout),u._timeout=setTimeout(function(){u._draw(!0,e.action.zoom,null,i)},500))}},e.loading={},e.loading.show=function(e){var t=`<style>@-webkit-keyframes dot-keyframes {0% { opacity: .4; -webkit-transform: scale(1, 1);transform: scale(1, 1);}50% {opacity: 1;-webkit-transform: scale(1.2, 1.2);transform: scale(1.2, 1.2);}100% {opacity: .4;-webkit-transform: scale(1, 1);transform: scale(1, 1);}}@keyframes dot-keyframes {0% {opacity: .4;-webkit-transform: scale(1, 1);transform: scale(1, 1);}50% {opacity: 1;-webkit-transform: scale(1.2, 1.2);transform: scale(1.2, 1.2);}100% {opacity: .4;-webkit-transform: scale(1, 1);transform: scale(1, 1);}}.boc-loading-dots div {margin: 10px;} .boc-dot-1 {background-color: #039BE5;}.boc-dot-2 {background-color: #F57C00;}.boc-dot-3 {background-color: #FFCA28;} .boc-loading-dots {text-align: center;width: 100%; position: absolute; top: 0;}.boc-loading-dots--dot {-webkit-animation: dot-keyframes 1.5s infinite ease-in-out;animation: dot-keyframes 1.5s infinite ease-in-out; border-radius: 10px;display: inline-block;height: 10px;width: 10px;}.boc-loading-dots--dot:nth-child(2) {-webkit-animation-delay: .5s;animation-delay: .5s;}.boc-loading-dots--dot:nth-child(3) {-webkit-animation-delay: 1s;animation-delay: 1s;}</style><div class="boc-loading-dots"><div class="boc-loading-dots--dot boc-dot-1"></div><div class="boc-loading-dots--dot boc-dot-2"></div><div class="boc-loading-dots--dot boc-dot-3"></div></div>`,n=document.createElement(`div`);n.id=`boc-loading`,n.innerHTML=t,e.element.appendChild(n)},e.loading.hide=function(e){var t=e.element.querySelector(`#boc-loading`);t&&t.parentNode.removeChild(t)},e.pdfPrevUI={},e.pdfPrevUI.show=function(e,t){console.warn(`OrgChart.pdfPrevUI.show is obsolete; use chart.pdfPreviewUI.show instead.`)},e.pdfPrevUI.hide=function(){console.warn(`OrgChart.pdfPrevUI.hide is obsolete; use chart.pdfPreviewUI.hide instead.`)},e===void 0&&(e={}),e.events.on(`renderdefs`,function(t,n){for(var r=0;r<t.config.clinks.length;r++){var i=t.config.clinks[r].template;i||=`orange`;var a=e.clinkTemplates[i];n.defs+=a.defs}}),e.events.on(`prerender`,function(t,n){e.RENDER_CLINKS_BEFORE_NODES&&t._clink(t,n)}),e.events.on(`render`,function(t,n){e.RENDER_CLINKS_BEFORE_NODES||t._clink(t,n)}),e.events.on(`drag`,function(t,n,r,i){if(t instanceof e&&t.config.movable&&i)for(var a=0;a<i.length;a++){for(var o=i[a],s=t.element.querySelectorAll(`[data-c-l-from="${o}"]`),c=t.element.querySelectorAll(`[data-c-l-to="${o}"]`),l=0;l<s.length;l++)s[l].parentNode.removeChild(s[l]);for(var l=0;l<c.length;l++)c[l].parentNode.removeChild(c[l])}}),e.prototype._clink=function(t,n){for(var r=``,i=0;i<this.config.clinks.length;i++){var a=this.config.clinks[i],o=t.getNode(a.from),s=t.getNode(a.to);if(!o||n.res.visibleNodeIds.indexOf(o.id)==-1||!s||n.res.visibleNodeIds.indexOf(s.id)==-1)continue;var c=o.x,l=o.y,u=s.x,d=s.y,f={},p={},m=c+o.w/2,h=u+s.w/2,g=l+o.h/2,_=d+s.h/2,v=1;switch(this.config.orientation){case e.orientation.top:case e.orientation.top_left:m<=h?(v=1,f.x=m+o.w/10,p.x=h-s.w/10):(v=-1,f.x=m-o.w/10,p.x=h+s.w/10),l==d?(v=1,f.y=l,p.y=d):l>d?(f.y=l,p.y=d+s.h):(f.y=l+o.h,p.y=d);break;case e.orientation.bottom:case e.orientation.bottom_left:m<=h?(v=-1,f.x=m+o.w/10,p.x=h+s.w/10):(v=1,f.x=m-o.w/10,p.x=h+s.w/10),l==d?(v=-1,f.y=l+o.h,p.y=d+s.h):l>d?(f.y=l,p.y=d+s.h):(f.y=l+o.h,p.y=d);break;case e.orientation.left:case e.orientation.left_top:g<=_?(v=-1,f.y=g+o.h/5,p.y=_+s.h/5):(v=1,f.y=g-o.h/5,p.y=_+s.h/5),c==u?(v=-1,f.x=c,p.x=u):c>u?(f.x=c,p.x=u+s.w):(f.x=c+o.w,p.x=u);break;case e.orientation.right:case e.orientation.right_top:g<=_?(v=1,f.y=g+o.h/5,p.y=_+s.h/5):(v=-1,f.y=g-o.h/5,p.y=_+s.h/5),c==u?(v=1,f.x=c+o.w,p.x=u+s.w):c>u?(f.x=c,p.x=u+s.w):(f.x=c+o.w,p.x=u);break}function w(t,n,r){r??=1;var i=n.x-t.x,o=n.y-t.y,s=Math.sqrt((n.x-t.x)**2+(n.y-t.y)**2)/3;return s=s/(Math.sqrt(i*i+o*o)*r)*e.clinkCurve(a),{x:t.x+i/2-o*s,y:t.y+o/2+i*s}}var y=w(f,p,v),b=a.template;b||=`orange`;var x=e.clinkTemplates[b];if(a.label){var S=e.clinkLabelPosition(a,f,p,y);r+=x.label.replace(`{x}`,S.x).replace(`{y}`,S.y).replace(`{val}`,a.label)}var C=`M`+f.x+`,`+f.y+`C`+f.x+`,`+f.y+` `+y.x+`,`+y.y+` `+p.x+`,`+p.y;r+=(`<g `+e.attr.c_link_from+`="{from}" `+e.attr.c_link_to+`="{to}">`).replace(`{from}`,o.id).replace(`{to}`,s.id)+x.link.replaceAll(`{d}`,C)+`<path stroke="transparent" stroke-width="15" fill="none" d="`+C+`" />`,r+=e.grCloseTag}n.content+=r},e.clinkLabelPosition=function(e,t,n,r){var i=(n.x-t.x)/2+t.x,a=(n.y-t.y)/2+t.y;return{x:(i-r.x)/2+r.x,y:(a-r.y)/2+r.y}},e.clinkCurve=function(t){return e.CLINK_CURVE},e.prototype.addClink=function(t,n,r,i){this._putInUndoStack(),this.clearRedo();for(var a=this.config.clinks.length-1;a>=0;a--){var o=this.config.clinks[a];o.from==t&&o.to==n&&this.config.clinks.splice(a,1)}return this.config.clinks.push({from:t,to:n,label:r,template:i}),this._ai.setContext(),e.events.publish(`updated`,[this]),this},e.prototype.removeClink=function(t,n){this._putInUndoStack(),this.clearRedo();for(var r=this.config.clinks.length-1;r>=0;r--){var i=this.config.clinks[r];i.from==t&&i.to==n&&this.config.clinks.splice(r,1)}return this._ai.setContext(),e.events.publish(`updated`,[this]),this},e.clinkTemplates={},e.clinkTemplates.orange={defs:`<marker id="arrowOrange" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse"><path fill="#F57C00" d="M 0 0 L 10 5 L 0 10 z" /></marker><marker id="dotOrange" viewBox="0 0 10 10" refX="5" refY="5" markerWidth="5" markerHeight="5"> <circle cx="5" cy="5" r="5" fill="#F57C00" /></marker>`,link:`<path marker-start="url(#dotOrange)" marker-end="url(#arrowOrange)" stroke="#F57C00" stroke-width="2" fill="none" d="{d}" />`,label:`<text fill="#F57C00" text-anchor="middle" x="{x}" y="{y}">{val}</text>`},e.clinkTemplates.blue={defs:`<marker id="arrowBlue" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse"><path fill="#039BE5" d="M 0 0 L 10 5 L 0 10 z" /></marker><marker id="dotBlue" viewBox="0 0 10 10" refX="5" refY="5" markerWidth="5" markerHeight="5"> <circle cx="5" cy="5" r="5" fill="#039BE5" /></marker>`,link:`<path marker-start="url(#dotBlue)" marker-end="url(#arrowBlue)" stroke="#039BE5" stroke-width="2" fill="none" d="{d}" />`,label:`<text fill="#039BE5" text-anchor="middle" x="{x}" y="{y}">{val}</text>`},e.clinkTemplates.yellow={defs:`<marker id="arrowYellow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse"><path fill="#FFCA28" d="M 0 0 L 10 5 L 0 10 z" /></marker><marker id="dotYellow" viewBox="0 0 10 10" refX="5" refY="5" markerWidth="5" markerHeight="5"> <circle cx="5" cy="5" r="5" fill="#FFCA28" /></marker>`,link:`<path marker-start="url(#dotYellow)" marker-end="url(#arrowYellow)" stroke="#FFCA28" stroke-width="2" fill="none" d="{d}" />`,label:`<text fill="#FFCA28" text-anchor="middle" x="{x}" y="{y}">{val}</text>`},e===void 0&&(e={}),e.events.on(`renderdefs`,function(t,n){for(var r=0;r<t.config.slinks.length;r++){var i=t.config.slinks[r].template;i||=`orange`;var a=e.slinkTemplates[i];n.defs+=a.defs}}),e.events.on(`render`,function(e,t){e._slinks(e,t)}),e.events.on(`drag`,function(t,n,r,i){if(t instanceof e&&t.config.movable&&i)for(var a=0;a<i.length;a++){for(var o=i[a],s=t.element.querySelectorAll(`[data-s-l-from="${o}"]`),c=t.element.querySelectorAll(`[data-s-l-to="${o}"]`),l=0;l<s.length;l++)s[l].parentNode.removeChild(s[l]);for(var l=0;l<c.length;l++)c[l].parentNode.removeChild(c[l])}}),e.prototype._slinks=function(t,n){var r=``,i=this.getScale(),a=n.res.boundary;function o(e,t){return{x:(e[0]+t[0])/2,y:(e[1]+t[1])/2}}function s(n,r,o,s,c){var l=[],u=null,d=e.t(n.templateName,n.min,i),f=s.levelSeparation;n.parent&&n.parent.layout&&(f=s.mixedHierarchyNodesSeparation);var p;switch(s.orientation){case e.orientation.top:case e.orientation.top_left:p={p:n.x+n.w/2,q:n.y,r:n.x+n.w/2,s:a.minY+f};break;case e.orientation.bottom:case e.orientation.bottom_left:p={p:n.x+n.w/2,q:n.y+n.h,r:n.x+n.w/2,s:a.maxY};break;case e.orientation.left:case e.orientation.left_top:p={p:n.x,q:n.y+n.h/2,r:a.minX+f,s:n.y+n.h/2};break;case e.orientation.right:case e.orientation.right_top:p={p:n.x+n.w,q:n.y+n.h/2,r:a.maxX,s:n.y+n.h/2};break}if(n.sl==r.sl)switch(u=r,s.orientation){case e.orientation.top:case e.orientation.top_left:l.push([p.p,p.q]),l.push([p.p,p.q-e.SLINK_GAP*2]),d=e.t(u.templateName,u.min,i),l.push([u.x+u.w/2,l[l.length-1][1]]),l.push([l[l.length-1][0],u.y]);break;case e.orientation.bottom:case e.orientation.bottom_left:l.push([p.p,p.q]),l.push([p.p,p.q+e.SLINK_GAP*2]),d=e.t(u.templateName,u.min,i),l.push([u.x+u.w/2,l[l.length-1][1]]),l.push([l[l.length-1][0],u.y+u.h]);break;case e.orientation.left:case e.orientation.left_top:l.push([p.p,p.q]),l.push([p.p-e.SLINK_GAP*2,p.q]),d=e.t(u.templateName,u.min,i),l.push([l[l.length-1][0],u.y+u.h/2]),l.push([u.x,l[l.length-1][1]]);break;case e.orientation.right:case e.orientation.right_top:l.push([p.p,p.q]),l.push([p.p+e.SLINK_GAP*2,p.q]),d=e.t(u.templateName,u.min,i),l.push([l[l.length-1][0],u.y+u.h/2]),l.push([u.x+u.w,l[l.length-1][1]]);break}else{switch(s.orientation){case e.orientation.top:case e.orientation.top_left:l.push([p.p,p.q]),l.push([p.r,n.y-e.SLINK_GAP*2]);break;case e.orientation.bottom:case e.orientation.bottom_left:l.push([p.p,p.q]),l.push([p.r,n.y+n.h+e.SLINK_GAP*2]);break;case e.orientation.left:case e.orientation.left_top:l.push([p.p,p.q]),l.push([n.x-e.SLINK_GAP*2,p.s]);break;case e.orientation.right:case e.orientation.right_top:l.push([p.p,p.q]),l.push([n.x+n.w+e.SLINK_GAP*2,p.s]);break}for(var m=n,h=n;h.parent;)h=h.parent;for(;u==null;){var g=!1,_=m.parent,v=_.leftNeighbor,y=_.rightNeighbor;if(_.id==r.id?u=_:e._intersects(_,p,s)&&(p=e._addPoint(_,l,s,p,c),g=!0),_.id!=r.id){for(;v;){if(v.id==r.id){u=v;break}e._intersects(v,p,s)&&(p=e._addPoint(v,l,s,p,c),g=!0),v=v.leftNeighbor}for(;y;){if(y.id==r.id){u=y;break}e._intersects(y,p,s)&&(p=e._addPoint(y,l,s,p,c),g=!0),y=y.rightNeighbor}}if(!g){var b=0,x=0;if(_.parent){f=s.levelSeparation,_.parent.layout&&(f=s.mixedHierarchyNodesSeparation);var S=t.manager.bordersByRootIdAndLevel[h.id][_.parent.sl];switch(s.orientation){case e.orientation.top:case e.orientation.top_left:b=l[l.length-1][0],x=S.maxY+f-e.SLINK_GAP;break;case e.orientation.bottom:case e.orientation.bottom_left:b=l[l.length-1][0],x=S.minY-f+e.SLINK_GAP;break;case e.orientation.left:case e.orientation.left_top:b=S.maxX+f-e.SLINK_GAP,x=l[l.length-1][1];break;case e.orientation.right:case e.orientation.right_top:b=S.minX-f+e.SLINK_GAP,x=l[l.length-1][1];break}}l.push([b,x])}m=_}switch(d=e.t(u.templateName,u.min,i),l.splice(l.length-1,1),s.orientation){case e.orientation.top:case e.orientation.top_left:var C=d.expandCollapseSize;c==`left`&&(C*=-1),l.push([u.x+u.w/2+C,l[l.length-1][1]]),l.push([l[l.length-1][0],u.y+u.h]);break;case e.orientation.bottom:case e.orientation.bottom_left:var C=d.expandCollapseSize;c==`left`&&(C*=-1),l.push([u.x+u.w/2+C,l[l.length-1][1]]),l.push([l[l.length-1][0],u.y]);break;case e.orientation.left:case e.orientation.left_top:var C=d.expandCollapseSize;c==`top`&&(C*=-1),l.push([l[l.length-1][0],u.y+u.h/2+C]),l.push([u.x+u.w,l[l.length-1][1]]);break;case e.orientation.right:case e.orientation.right_top:var C=d.expandCollapseSize;c==`top`&&(C*=-1),l.push([l[l.length-1][0],u.y+u.h/2+C]),l.push([u.x,l[l.length-1][1]]);break}}return o&&(l=l.reverse()),l}for(var c=[],l=[],u=[],d=[],f=[],p=0;p<this.config.slinks.length;p++){var m=this.config.slinks[p],h=t.getNode(m.from),g=t.getNode(m.to);if(h&&g&&n.res.visibleNodeIds.indexOf(g.id)!=-1&&n.res.visibleNodeIds.indexOf(h.id)!=-1){var _=h.lcn?h.lcn:`base`,v=t._layoutConfigs[_],y=h.sl<g.sl,b=`left`;switch(v.orientation){case e.orientation.top:case e.orientation.top_left:case e.orientation.bottom:case e.orientation.bottom_left:g.x>=h.x&&(b=`right`);break;case e.orientation.left:case e.orientation.left_top:case e.orientation.right:case e.orientation.right_top:b=`top`,g.y>h.y&&(b=`bottom`);break}var x=y?s(g,h,y,v,b):s(h,g,y,v,b);c.push(x),l.push(m),d.push(b),u.push(v),f.push({from:h,to:g})}}for(var p=0;p<c.length;p++){var x=c[p],m=l[p],b=d[p];switch(e._slinkRemoveUnusedPoints(x),v.orientation){case e.orientation.top:case e.orientation.top_left:case e.orientation.bottom:case e.orientation.bottom_left:e._slinkAvoidOverlaping(t._connectorLines,x,b,v.orientation);break;case e.orientation.left:case e.orientation.left_top:case e.orientation.right:case e.orientation.right_top:e._slinkAvoidOverlaping2(t._connectorLines,x,b,v.orientation);break}}for(var p=c.length-1;p>=0;p--){var x=c[p],m=l[p];switch(v.orientation){case e.orientation.top:case e.orientation.top_left:case e.orientation.bottom:case e.orientation.bottom_left:e._slinkAvoidOverlapingSecond(t._connectorLines,x,v.orientation);break;case e.orientation.left:case e.orientation.left_top:case e.orientation.right:case e.orientation.right_top:e._slinkAvoidOverlapingSecond2(t._connectorLines,x,v.orientation);break}}for(var p=0;p<c.length;p++){var x=c[p],m=l[p],v=u[p],h=f[p].from,g=f[p].to,S=m.template;S||=`orange`;var C=e.slinkTemplates[S],w=null;switch(C.labelPosition){case`start`:w={x:x[1][0],y:x[1][1]};break;case`middle`:var T=Math.ceil(x.length/2);w=o(x[T],x[T-1]);break;case`end`:w={x:x[x.length-2][0],y:x[x.length-2][1]};break}var E=structuredClone(x);E[0].unshift(`M`);for(var D=1;D<x.length;D++)E[D].unshift(`L`);var O=e.roundPathCorners(E,e.LINK_ROUNDED_CORNERS,!1);if(m.label){var k=C.label.replace(`{x}`,w.x).replace(`{y}`,w.y).replace(`{val}`,m.label),A=e._getLabelSize(k),j=-(A.height/2);switch(v.orientation){case e.orientation.bottom:case e.orientation.bottom_left:j=A.height;break}r+=C.label.replace(`{x}`,w.x).replace(`{y}`,w.y+j).replace(`{val}`,m.label)}var M=h.id,N=g.id;y&&(M=g.id,N=h.id),r+=(`<g `+e.attr.s_link_from+`="{from}" `+e.attr.s_link_to+`="{to}">`).replace(`{from}`,M).replace(`{to}`,N)+C.link.replaceAll(`{d}`,O)+`<path stroke="transparent" stroke-width="15" fill="none" d="`+O+`" />`,r+=e.grCloseTag}n.content+=r},e.prototype.addSlink=function(t,n,r,i){this._putInUndoStack(),this.clearRedo();for(var a=this.config.slinks.length-1;a>=0;a--){var o=this.config.slinks[a];o.from==t&&o.to==n&&this.config.slinks.splice(a,1)}return this.config.slinks.push({from:t,to:n,label:r,template:i}),this._ai.setContext(),e.events.publish(`updated`,[this]),this},e.prototype.removeSlink=function(t,n){this._putInUndoStack(),this.clearRedo();for(var r=this.config.slinks.length-1;r>=0;r--){var i=this.config.slinks[r];i.from==t&&i.to==n&&this.config.slinks.splice(r,1)}return this._ai.setContext(),e.events.publish(`updated`,[this]),this},e.slinkTemplates={},e.slinkTemplates.orange={defs:`<marker id="arrowSlinkOrange" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse"><path fill="#F57C00" d="M 0 0 L 10 5 L 0 10 z" /></marker><marker id="dotSlinkOrange" viewBox="0 0 10 10" refX="5" refY="5" markerWidth="5" markerHeight="5"> <circle cx="5" cy="5" r="5" fill="#F57C00" /></marker>`,link:`<path stroke-dasharray="4, 2" marker-start="url(#dotSlinkOrange)" marker-end="url(#arrowSlinkOrange)" stroke-linejoin="round" stroke="#F57C00" stroke-width="2" fill="none" d="{d}" />`,label:`<text dominant-baseline="middle" fill="#F57C00" alignment-baseline="middle" text-anchor="middle" x="{x}" y="{y}">{val}</text>`,labelPosition:`middle`},e.slinkTemplates.blue={defs:`<marker id="arrowSlinkBlue" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse"><path fill="#039BE5" d="M 0 0 L 10 5 L 0 10 z" /></marker><marker id="dotSlinkBlue" viewBox="0 0 10 10" refX="5" refY="5" markerWidth="5" markerHeight="5"> <circle cx="5" cy="5" r="5" fill="#039BE5" /></marker>`,link:`<path stroke-dasharray="4, 2" marker-start="url(#dotSlinkBlue)" marker-end="url(#arrowSlinkBlue)" stroke-linejoin="round" stroke="#039BE5" stroke-width="2" fill="none" d="{d}" />`,label:`<text fill="#039BE5" text-anchor="middle" x="{x}" y="{y}">{val}</text>`,labelPosition:`middle`},e.slinkTemplates.yellow={defs:`<marker id="arrowSlinkYellow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse"><path fill="#FFCA28" d="M 0 0 L 10 5 L 0 10 z" /></marker><marker id="dotSlinkYellow" viewBox="0 0 10 10" refX="5" refY="5" markerWidth="5" markerHeight="5"> <circle cx="5" cy="5" r="5" fill="#FFCA28" /></marker>`,link:`<path stroke-dasharray="4, 2" marker-start="url(#dotSlinkYellow)" marker-end="url(#arrowSlinkYellow)" stroke-linejoin="round" stroke="#FFCA28" stroke-width="2" fill="none" d="{d}" />`,label:`<text fill="#FFCA28" text-anchor="middle" x="{x}" y="{y}">{val}</text>`,labelPosition:`middle`},e._ai=function(e){this.instance=e,this.sessionId=null},e._ai.prototype.prompt=function(e,t){var n=this;e=e.trim(),e&&(this.sessionId?n._prompt([{Role:`user`,Text:e}],t):this.setContext(function(){n._prompt([{Role:`user`,Text:e}],t)}))},e._ai.prototype._prompt=function(t,n){var r=this,i=[];for(var a of e.AI_SYSTEM_MESSAGES)i.push({Role:`system`,Text:a});var o=this.instance.config.serverUrl+`/OrgChartJSAI/Prompt?client_messages=${encodeURIComponent(JSON.stringify(t))}&system_messages=${encodeURIComponent(JSON.stringify(i))}&sessionId=${this.sessionId}`;let s=new EventSource(o);s.onmessage=function(e){var t=JSON.parse(e.data),i=``;t.kind==`end`&&s.close(),t.kind==`text`&&(i+=t.text,n&&n(t.text)),t.kind==`assistant-message-with-tools`?r.toolCalls(t.message,n):t.kind==`error`&&console.error(t.text)},s.onerror=function(e){console.error(e),s.close()}},e._ai.prototype.setContext=function(e){if(this.instance&&this.instance.config.enableAI&&this.instance.aiUI.canSetContext){this.sessionId=this.instance._event_id;var t=this.instance.config.serverUrl+`/OrgChartJSAI/SetContext`,n=this.instance.config.aiChatTools.slice();for(var r of n)r.functionParameters??=null,r.functionParameters=JSON.stringify(r.functionParameters);fetch(t,{method:`post`,headers:{"Content-Type":`application/json`,"x-request-type":`ajax`},body:JSON.stringify({context:this.instance.config.nodes,sessionId:this.sessionId,chatTools:n})}).then(function(){e&&e()}).catch(function(e){console.error(e)})}},e._ai.prototype.toolCalls=function(t,n){var r=this,i={toolCalls:t.ToolCalls};e.events.publish(`ai-tool-calls`,[this.instance,i]);var a=[],o=[],s=[],c=[],l=[],u=null,d=null,f=null,p=null,m=null;for(var h of i.toolCalls)h.FunctionResult??(h.FunctionName==`removeNode`?a.push(h):h.FunctionName==`addNode`?o.push(h):h.FunctionName==`updateNode`?s.push(h):h.FunctionName==`select`?c.push(h):h.FunctionName==`deselect`?l.push(h):h.FunctionName==`exportToPDF`?u=h:h.FunctionName==`changeTemplate`?d=h:h.FunctionName==`addSlink`?f=h:h.FunctionName==`removeSlink`?p=h:h.FunctionName==`fit`&&(m=h));var g=!1;if(d&&(g=!0,h.FunctionResult=`ok`,this.instance.config.template=h.FunctionArguments.templateName),f){var _=this.instance.getNode(h.FunctionArguments.employeeId1),v=this.instance.getNode(h.FunctionArguments.employeeId2);!_||!v||_==v?h.FunctionResult=`Cannot add link between ${h.FunctionArguments.employeeId1} and ${h.FunctionArguments.employeeId2}`:(g=!0,this.instance.addSlink(_.id,v.id),h.FunctionResult=`ok`)}if(p){var _=this.instance.getNode(h.FunctionArguments.employeeId1),v=this.instance.getNode(h.FunctionArguments.employeeId2);!_||!v||_==v?h.FunctionResult=`Cannot remove link between ${h.FunctionArguments.employeeId1} and ${h.FunctionArguments.employeeId2}`:(g=!0,this.instance.removeSlink(_.id,v.id),h.FunctionResult=`ok`)}m&&(this.instance.fit(),g=!1);for(var h of a)g=!0,h.FunctionResult=`ok`,this.instance.remove(h.FunctionArguments.id);for(var h of o){g=!0,h.FunctionResult=`ok`;var y=JSON.parse(JSON.stringify(h.FunctionArguments));y.isAssistant&&(y.tags=[`assistant`]),delete y.isAssistant,e.isNEU(y.id)&&(y.id=this.instance.generateId()),this.instance.add(y)}for(var h of s){g=!0,h.FunctionResult=`ok`;var y=this.instance.get(h.FunctionArguments.id);for(var b in h.FunctionArguments)b!=`id`&&h.FunctionArguments[b]!=null&&(y[b]=h.FunctionArguments[b]);this.instance.update(y)}for(var h of c){h.FunctionResult=`ok`;for(var x of h.FunctionArguments.ids){var S=h.FunctionArguments.color;S||=`#FFCA28`;var C=this.instance.getNodeElement(x).firstChild;C&&(C.style.stroke=h.FunctionArguments.color,C.style.strokeWidth=5)}}var w=function(){for(var e of l)if(e.FunctionResult=`ok`,e.FunctionArguments.ids)for(var t of e.FunctionArguments.ids){var n=r.instance.getNodeElement(t).firstChild;n&&(n.style.stroke=`#aeaeae`,n.style.strokeWidth=1)}else g=!0};g?(this.setContext(),this.instance.draw(e.action.update,void 0,w)):w();var T=function(){var e=[];for(var t of i.toolCalls)e.push({Role:`tool`,Text:t.FunctionResult,Id:t.Id});r._prompt(e,n)};u?this.chartInstance.exportToPDF({},function(){h.FunctionResult=`ok`,e._downloadFile(`application/pdf`,response,`OrgChart.pdf`,!1,`pdf`),T()}):T()},e.aiUI=function(){this.instance=null,this.interval=null,this.canSetContext=!1,this.element=null,this.inputElement=null,this.btnSendElement=null,this.messagesElement=null,Object.defineProperty(this,`width`,{get(){return this.isVisible()?this.element.offsetWidth:0}})},e.aiUI.title=`AI for OrgChart JS`,e.aiUI.prototype.init=function(e){this.instance=e;var t=this,n=this.instance.element.querySelector(`[data-boc-ai-button]`);n&&n.addEventListener(`click`,function(e){t.show()})},e.aiUI.prototype.isVisible=function(){return!(!this.element||this.element.style.display==`none`)},e.aiUI.prototype.show=function(t,n){this.instance.pdfPreviewUI.hide(),this.instance.svgPreviewUI.hide(),this.instance.pngPreviewUI.hide(),this.instance.powerPointPreviewUI.hide(),this.instance.aiUI.hide(),this.instance.orgScribeUI.hide(),this._create(),this.element.style.display=``,this.canSetContext||(this.canSetContext=!0,this.instance._ai.setContext());var r=this;n||(this.timeout&&clearInterval(this.interval),this.interval=e.animate(this.element,{opacity:0},{opacity:1},300,e.anim.outSin,function(){t||r.inputElement.focus()}))},e.aiUI.prototype._create=function(){if(!this.element){var t=this,n=`inp_`+this.instance.generateId();this.element=document.createElement(`div`),this.element.setAttribute(`data-boc-ai-form`,``),this.element.style.opacity=0,this.element.classList.add(`boc-ai-form`),this.element.classList.add(this.instance.config.mode),this.element.innerHTML=`<div class="boc-ai-container">
|
|
384
|
+
`);for(let t of e.children)a+=i(t,n+1);return a}return r.map(e=>i(e,0)).join(``).trim()},e._onClickHandler=function(t,n,r,i,a){var o;if(r===void 0)if(n===`add`){var s={id:t.generateId(),pid:i};t.addNode(s,null,!0)}else if(n===`edit`){var c=t.getNode(i);t.editUI.show(c.id)}else if(n===`details`){var c=t.getNode(i);t.editUI.show(c.id,!0)}else if(n===`remove`)t.removeNode(i,null,!0);else if(n===`svg_export`||n===`svg`){var l={};e.isNEU(i)||(l.pages=[{nodeId:i}]),t.exportToSVG(l)}else if(n===`pdf_export`||n===`pdf`){var l={};e.isNEU(i)||(l.pages=[{nodeId:i}]),t.exportToPDF(l)}else if(n===`png_export`||n===`png`){var l={};e.isNEU(i)||(l.pages=[{nodeId:i}]),t.exportToPNG(l)}else if(n===`visio_export`||n===`visio`)t.exportToVisio({nodeId:i});else if(n===`pp_export`||n===`powerpoint`)t.exportToPowerPoint();else if(n===`pp_preview`||n===`pppreview`){var l={parentLevels:0,childLevels:1,expandChildren:!1,pages:[{parentLevels:null,childLevels:null,expandChildren:!0,nodeId:t.roots[0].id}]};i!=null&&(l.expandChildren=!1,l.pages[0].nodeId=i),t.powerPointPreviewUI.show(l)}else if(n===`pdf_preview`||n===`pdfpreview`){var l={parentLevels:0,childLevels:1,expandChildren:!1,pages:[{parentLevels:null,childLevels:null,expandChildren:!0,nodeId:t.roots[0].id}]};i!=null&&(l.expandChildren=!1,l.pages[0].nodeId=i),t.pdfPreviewUI.show(l)}else if(n===`svg_preview`||n===`svgpreview`){var l={parentLevels:0,childLevels:1,expandChildren:!1,pages:[{parentLevels:null,childLevels:null,expandChildren:!0,nodeId:t.roots[0].id}]};i!=null&&(l.expandChildren=!1,l.pages[0].nodeId=i),t.svgPreviewUI.show(l)}else if(n===`png_preview`||n===`pngpreview`){var l={parentLevels:0,childLevels:1,expandChildren:!1,pages:[{parentLevels:null,childLevels:null,expandChildren:!0,nodeId:t.roots[0].id}]};i!=null&&(l.expandChildren=!1,l.pages[0].nodeId=i),t.pngPreviewUI.show(l)}else n===`pdf_profile`||n===`csv`?t.exportToPDFProfile(i):n===`share_profile`||n===`csv`?t.shareProfile(i):n===`csv_export`||n===`csv`?t.exportToCSV({nodeId:i}):n===`xml_export`||n===`xml`?t.exportToXML({nodeId:i}):n===`json_export`||n===`json`?t.exportToJSON({nodeId:i}):n===`fit`?t.fit():n===`expand_all`?t.expand(null,`all`):n===`full_screen`?t.toggleFullScreen():n===`zoom_in`?t.zoom(!0,null,!0):n===`zoom_out`||n===`zoom_out`?t.zoom(!1,null,!0):n===`layout_mixed`?t.setLayout(e.layout.mixed):n===`layout_normal`?t.setLayout(e.layout.normal):n===`layout_right_offset`?t.setLayout(e.layout.treeRightOffset):n===`layout_left_offset`?t.setLayout(e.layout.treeLeftOffset):n===`layout_tree`?t.setLayout(e.layout.tree):n===`layout_grid`&&t.setLayout(e.layout.grid);else o=r.call(t,i,a);return o},e._isSVG=function(e){if(typeof e!=`string`)return!1;let t=e.trim();if(!t.startsWith(`<svg`)||!t.endsWith(`</svg>`))return!1;try{let e=new DOMParser().parseFromString(t,`image/svg+xml`);return e.querySelector(`parsererror`)?!1:e.documentElement.nodeName.toLowerCase()===`svg`}catch{return!1}},e._treeListAdjustToSTNodePostition=function(t,n){for(var r of t)r.y+=n.y+n.padding[0],r.x+=n.x+n.padding[3],e._treeListAdjustToSTNodePostition(r.children,n)},e._treeListSetProps=function(t,n){var r=-t.treeList.scrollTop,i={nodesByLevels:[],lastNode:null,y:0};t.treeList.pinnedIds=[],e._treeListIterate(t.stChildren,i,-1);var a=i.lastNode.y+i.lastNode.h-0-(t.treeList.maxHeight-t.padding[0]-t.padding[2]);r>0||a<0?r=0:r!=0&&r*-1>a&&(r=-a);for(var o=i.nodesByLevels.length-1;o>=0;o--)for(var s=i.nodesByLevels[o],c=s.length-1;c>=0;c--){for(var l=s[c],u=l.y,d=0,f=l.parent;f&&(d+=f.h,f.parent);)f=f.parent;if(l.children.length&&l.y+r<=d){u=-r+d;var p=s[c+1];if(p&&p.y<u+l.h&&(u=p.y-l.h),f){var m=t.stChildren.indexOf(f);if(t.stChildren.length>m+1){var h=t.stChildren[m+1];h.y<u+l.h&&(u=h.y-l.h)}}}l.y!=u&&t.treeList.pinnedIds.push(l.id),l.y=u,l.x=0}if(n==e.orientation.bottom){var g=i.lastNode.y+i.lastNode.h;for(var o of i.nodesByLevels)for(var l of o)l.y=g-l.y-l.h}t.treeList.scrollTop=-r,t.treeList.scrollTopMax=a},e._treeListIterate=function(t,n,r){r++;for(var i of t)i.y=n.y,n.y+=i.h,n.nodesByLevels[r]||(n.nodesByLevels[r]=[]),n.nodesByLevels[r].push(i),n.lastNode=i,e._treeListIterate(i.children,n,r)},e._treeListGetTumbPositionFromScrollTop=function(e){var t=e.h-e.padding[0]-e.padding[2],n=t/((e.treeList.scrollTopMax+t)/100),r=t/100*n,i=t-r,a=-e.treeList.scrollTop/(e.treeList.scrollTopMax/100),o=e.y+e.padding[0]+i/-100*a,s=`initial`;return(isNaN(r)||isNaN(o)||r<0||n>100)&&(s=`none`,r=0,o=0),{thumbHeight:r,thumbPosition:o,scrollBarDisplay:s}},e._treeListGetScrollTopFromTumbPosition=function(e,t,n){var r=e.h-e.padding[0]-e.padding[2]-t,i=(n-(e.y+e.padding[0]))/r*100/100*e.treeList.scrollTopMax;return(isNaN(i)||i<0)&&(i=0),i>e.treeList.scrollTopMax&&(i=e.treeList.scrollTopMax),i},e._getCenterNodeFromParams=function(e,t){var n=e[t.id];if(n){if(n.isTreeListItem){for(;!n.stParent;)n=n.parent;n=n.stParent}return n}return null},e._getScrollTopForNode=function(t,n){var r={nodesByLevels:[],lastNode:null,y:0};e._treeListIterate(t.stChildren,r,-1);var i=null;for(var a of r.nodesByLevels){for(var o of a)if(o.id==n){i=o;break}if(i)break}if(!i)return t.treeList.scrollTop;for(var s=0,c=i.parent;c&&(s+=c.h,c.parent);)c=c.parent;var l=t.padding[0],u=t.padding[2],d=t.treeList.maxHeight-l-u,f=r.lastNode.y+r.lastNode.h-d;f<0&&(f=0);var p=t.treeList.scrollTop,m=i.y-s,h=i.y+i.h-d,g=p;return i.y<p+s?g=m:i.y+i.h>p+d&&(g=i.h>d-s?m:h),g<0?g=0:g>f&&(g=f),g},e._getDefailtPositionForExpandCollpase=function(t,n){var r={x:0,y:0};switch(t.orientation){case e.orientation.top:case e.orientation.top_left:r.x=n.w/2,r.y=n.h;break;case e.orientation.bottom:case e.orientation.bottom_left:r.x=n.w/2,r.y=0;break;case e.orientation.right:case e.orientation.right_top:r.x=0,r.y=n.h/2;break;case e.orientation.left:case e.orientation.left_top:r.x=n.w,r.y=n.h/2;break}return r},e._measureCache={svg:null,text:null},e._getMeasureElement=function(){if(e._measureCache.svg)return e._measureCache.text;let t=`http://www.w3.org/2000/svg`;return e._measureCache.svg=document.createElementNS(t,`svg`),e._measureCache.svg.id=`orgchart_js_test__measure`,e._measureCache.svg.style.cssText=`position:absolute;top:-9999px;visibility:hidden;white-space:pre;`,e._measureCache.text=document.createElementNS(t,`text`),e._measureCache.svg.appendChild(e._measureCache.text),document.body.appendChild(e._measureCache.svg),e._measureCache.text},e._lineClamp=function(t,n,r,i){if(n===void 0||n==null)return``;typeof n!=`string`&&(n=n.toString()),n=e._escapeHtml(n);let a=/(\w+(?:-\w+)?)="([^"]*)"/g,o={},s;for(;(s=a.exec(t))!==null;)o[s[1]]=s[2];let c=e._getMeasureElement();c.textContent=``;for(let[e,t]of Object.entries(o))e!==`x`&&e!==`y`&&c.setAttribute(e,t);let l=e=>(c.textContent=e,c.getComputedTextLength()),u=n.split(` `),d=[],f=``,p=0;for(;p<u.length&&d.length<i;){let e=u[p],t=f?f+` `+e:e;if(l(t)<=r)f=t,p++;else if(f===``){let t=0,n=e.length,i=1;for(;t<=n;){let a=t+n>>1;l(e.slice(0,a))<=r?(i=a,t=a+1):n=a-1}d.push(e.slice(0,i)),u[p]=e.slice(i)}else d.push(f),f=``}f&&d.length<i&&d.push(f);let m=p<u.length||p===u.length&&u[p-1]===``&&n.endsWith(` `);if(m&&d.length>0){let e=d[d.length-1],t=0,n=e.length,i=``;for(;t<=n;){let a=Math.floor((t+n)/2),o=e.substring(0,a)+`...`;l(o)<=r?(i=o,t=a+1):n=a-1}d[d.length-1]=i}let h=` x="${o.x||`0`}"`,g=d.length===1?d[0]:d.map((e,t)=>`<tspan${h} dy="${t===0?0:`1.2em`}">${e}</tspan>`).join(``);return`<text${Object.entries(o).map(([e,t])=>` ${e}="${t}"`).join(``)}>${m?`<title>${n}</title>`:``}${g}</text>`},e._getScrollableTreeListNodeInTouchEnabledDevice=function(t){if(!t||!t.isTreeListItem||!e._isTouchDevice())return null;var n=e.getRootOf(t).stParent,{thumbHeight:r,thumbPosition:i,scrollBarDisplay:a}=e._treeListGetTumbPositionFromScrollTop(n);return a==`none`?null:n},e._convertImagesToBase64=async function(t){let n=new DOMParser;return await Promise.all(t.map(async t=>{let r=n.parseFromString(t,`image/svg+xml`),i=r.querySelectorAll(`image`);for(let t of i){let n=t.getAttribute(`href`)||t.getAttribute(`xlink:href`);if(n&&!n.startsWith(`data:`))try{let r=parseFloat(t.getAttribute(`width`))||0,i=parseFloat(t.getAttribute(`height`))||0;if(r>0&&i>0){let a=await e._resizeAndConvert(n,r,i);t.setAttribute(`href`,a),t.removeAttributeNS(`http://www.w3.org/1999/xlink`,`href`)}}catch(e){console.error(`Failed to process image:`,n,e)}}return new XMLSerializer().serializeToString(r)}))},e._resizeAndConvert=function(e,t,n){return new Promise((r,i)=>{let a=new Image;a.crossOrigin=`anonymous`,a.onload=()=>{let e=document.createElement(`canvas`),i=e.getContext(`2d`),o=Math.min(t/a.width,n/a.height),s=a.width*o,c=a.height*o;e.width=s,e.height=c,i.drawImage(a,0,0,s,c),r(e.toDataURL(`image/png`))},a.onerror=i,a.src=e})},e._reorderNodeBinding=function(e){if(!e.nodeBinding)return;let t={};Object.keys(e.nodeBinding).filter(e=>!e.startsWith(`img`)).forEach(n=>{t[n]=e.nodeBinding[n]}),Object.keys(e.nodeBinding).filter(e=>e.startsWith(`img`)).forEach(n=>{t[n]=e.nodeBinding[n]}),e.nodeBinding=t},e._moveNodesToVisibleAreaAfterExpand=function(t,n,r,i){if(t.config.orientation!=e.orientation.top){console.error(`_moveNodesToVisibleAreaAfterExpand works only for OrgChart.orientation.top, not implemented for others!`);return}var a=t.getSvg(),o=t.getViewBox(),s=o[0],c=o[1],l=o[2],u=o[3],d=s,f=c,p=t.getNode(n);if(t.getNode(r[0]).y>p.y){for(var m of r){var h=t.getNode(m),g=h.y-u+h.h+t.config.padding;g>f&&(f=g)}f>p.y-t.config.padding&&(f=p.y-t.config.padding)}else{for(var m of r){var h=t.getNode(m),g=h.y-t.config.padding;g<f&&(f=g)}f<p.y+p.h-u+t.config.padding&&(f=p.y+p.h-u+t.config.padding)}if(f!=c||d!=s){var _=[d,f,l,u];e.animate(a,{viewBox:o},{viewBox:_},t.config.anim.duration,t.config.anim.func,function(){t.draw(e.action.update,void 0,i)})}},e.xScrollUI=function(t,n,r,i,a){this.element=t,this.requestParams=r,this.config=n,this.onSetViewBoxCallback=i,this.onDrawCallback=a,this.position=0,this.bar=null,this._event_id=e._guid()},e.xScrollUI.prototype.addListener=function(t){var n=this;if(this.config.mouseScrool!=e.action.xScroll&&this.config.mouseScrool!=e.action.scroll||!this.bar)return;var r=navigator.userAgent.indexOf(`Mac OS`)!==-1;function i(t,i,a){var o=!1;t.addEventListener(`wheel`,s,{passive:!1});function s(t){if(t.preventDefault(),!t.ctrlKey){var a=0;if(n.config.mouseScrool==e.action.xScroll)a=t.deltaX||t.wheelDeltaX,a||=t.deltaY||t.wheelDeltaY;else if(n.config.mouseScrool==e.action.scroll&&(a=r||!t.shiftKey?t.deltaX||t.wheelDeltaX:t.deltaY||t.wheelDeltaY,!a))return;a=-a,a=Math.max(-1,Math.min(1,a)),n.position+=-a*i;var s=parseFloat(n.innerBar.clientWidth)-parseFloat(n.bar.clientWidth);n.position<0&&(n.position=0),n.position>s&&(n.position=s),o||c()}}function c(){o=!0;var e=(n.position-n.bar.scrollLeft)/a;if(e>0)e++;else if(e==0){o=!1;return}else e--;Math.ceil(n.bar.scrollLeft)==Math.ceil(n.position)?o=!1:(n.bar.scrollLeft+=e,l(c))}var l=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e){setTimeout(e,20)}}()}var a=e._getScrollSensitivity();i(t,a.speed,a.smooth)},e.xScrollUI.prototype.create=function(t){if(!(this.config.showXScroll!==!0&&this.config.mouseScrool!==e.action.scroll&&this.config.mouseScrool!==e.action.xScroll)){var n=this;this.bar&&this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.bar=document.createElement(`div`),this.innerBar=document.createElement(`div`),this.requestParams(),this.innerBar.innerHTML=` `,Object.assign(this.bar.style,{position:`absolute`,left:0,bottom:0,width:t+`px`,"overflow-x":`scroll`,height:`20px`}),this.element.appendChild(this.bar),this.bar.appendChild(this.innerBar),this.bar.addEventListener(`scroll`,function(){if(this.ignore){this.ignore=!1;return}var e=n.requestParams(),t=(parseFloat(n.innerBar.clientWidth)-parseFloat(n.bar.clientWidth))/100,r=this.scrollLeft/t,i=(e.boundary.right-e.boundary.left)/100;e.viewBox[0]=r*i+e.boundary.left,n.onSetViewBoxCallback(e.viewBox),clearTimeout(this._timeout),this._timeout=setTimeout(function(){n.onDrawCallback()},500)})}},e.xScrollUI.prototype.setPosition=function(){if(this.bar){var t=this.requestParams(),n=(Math.abs(t.boundary.maxX-t.boundary.minX)+this.config.padding*2)*t.scale;switch(this.config.orientation){case e.orientation.right:case e.orientation.right_top:n=Math.abs(t.boundary.minX*t.scale);break}this.innerBar.style.width=n+`px`;var r=(t.boundary.right-t.boundary.left)/100,i=(t.viewBox[0]-t.boundary.left)/r;i<0?i=0:i>100&&(i=100);var a=(parseFloat(this.innerBar.clientWidth)-parseFloat(this.bar.clientWidth))/100,o=i*a;this.bar.ignore=!0,this.bar.scrollLeft=o,this.position=this.bar.scrollLeft,a<=0?this.bar.style.visibility=`hidden`:this.bar.style.visibility=``,this.config.showXScroll!==!0&&(this.bar.style.visibility=`hidden`),e.events.publish(`change`,[this,{isScrollBarVisible:this.bar.style.visibility!=`hidden`}])}},e.xScrollUI.prototype.on=function(t,n){return e.events.on(t,n,this._event_id),this},e.yScrollUI=function(t,n,r,i,a){this.element=t,this.requestParams=r,this.config=n,this.onSetViewBoxCallback=i,this.onDrawCallback=a,this.position=0,this.bar=null,this._event_id=e._guid()},e.yScrollUI.prototype.addListener=function(t){var n=this;if(this.config.mouseScrool!=e.action.yScroll&&this.config.mouseScrool!=e.action.scroll||!this.bar)return;var r=navigator.userAgent.indexOf(`Mac OS`)!==-1;function i(t,i,a){var o=!1;t.addEventListener(`wheel`,s,{passive:!1});function s(t){if(t.preventDefault(),!t.ctrlKey){var a=0;if(n.config.mouseScrool==e.action.yScroll)a=t.deltaY||t.wheelDeltaY,a||=t.deltaX||t.wheelDeltaX;else if(n.config.mouseScrool==e.action.scroll&&(a=r||!t.shiftKey?t.deltaY||t.wheelDeltaY:t.deltaX||t.wheelDeltaX,!a))return;a=-a,a=Math.max(-1,Math.min(1,a)),n.position+=-a*i;var s=parseFloat(n.innerBar.clientHeight)-parseFloat(n.bar.clientHeight);n.position<0&&(n.position=0),n.position>s&&(n.position=s),o||c()}}function c(){o=!0;var e=(n.position-n.bar.scrollTop)/a;if(e>0)e++;else if(e==0){o=!1;return}else e--;Math.ceil(n.bar.scrollTop)==Math.ceil(n.position)?o=!1:(n.bar.scrollTop+=e,l(c))}var l=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e){setTimeout(e,20)}}()}var a=e._getScrollSensitivity();i(t,a.speed,a.smooth)},e.yScrollUI.prototype.create=function(t){if(!(this.config.showYScroll!==!0&&this.config.mouseScrool!==e.action.scroll&&this.config.mouseScrool!==e.action.yScroll)){var n=this;this.bar&&this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.bar=document.createElement(`div`),this.innerBar=document.createElement(`div`),this.innerBar.innerHTML=` `,Object.assign(this.bar.style,{position:`absolute`,right:0,bottom:0,height:t+`px`,"overflow-y":`scroll`,width:`20px`}),this.element.appendChild(this.bar),this.bar.appendChild(this.innerBar),this.bar.addEventListener(`scroll`,function(){if(this.ignore){this.ignore=!1;return}var e=n.requestParams(),t=(parseFloat(n.innerBar.clientHeight)-parseFloat(n.bar.clientHeight))/100,r=this.scrollTop/t,i=(e.boundary.bottom-e.boundary.top)/100;e.viewBox[1]=r*i+e.boundary.top,n.onSetViewBoxCallback(e.viewBox),clearTimeout(this._timeout),this._timeout=setTimeout(function(){n.onDrawCallback()},500)})}},e.yScrollUI.prototype.setPosition=function(){if(this.bar){var t=this.requestParams(),n=(Math.abs(t.boundary.maxY-t.boundary.minY)+this.config.padding*2)*t.scale;switch(this.config.orientation){case e.orientation.bottom:case e.orientation.bottom_left:n=Math.abs(t.boundary.minY*t.scale);break}this.innerBar.style.height=n+`px`;var r=(t.boundary.bottom-t.boundary.top)/100,i=(t.viewBox[1]-t.boundary.top)/Math.abs(r);i<0?i=0:i>100&&(i=100);var a=(parseFloat(this.innerBar.clientHeight)-parseFloat(this.bar.clientHeight))/100,o=i*a;this.bar.ignore=!0,this.bar.scrollTop=o,this.position=this.bar.scrollTop,a<=0?this.bar.style.visibility=`hidden`:this.bar.style.visibility=``,this.config.showYScroll!==!0&&(this.bar.style.visibility=`hidden`),e.events.publish(`change`,[this,{isScrollBarVisible:this.bar.style.visibility!=`hidden`}])}},e.yScrollUI.prototype.on=function(t,n){return e.events.on(t,n,this._event_id),this},e.prototype.zoom=function(t,n,r,i){var a=this.getViewBox().slice(0),o=a,s=a[2],c=a[3];t===!0?(a[2]/=e.SCALE_FACTOR,a[3]/=e.SCALE_FACTOR):t===!1?(a[2]*=e.SCALE_FACTOR,a[3]*=e.SCALE_FACTOR):(a[2]/=t,a[3]/=t),n||=[50,50],a[0]=o[0]-(a[2]-s)/(100/n[0]),a[1]=o[1]-(a[3]-c)/(100/n[1]);var l=this.getScale(a);if(a[2]=this.width()/l,a[3]=this.height()/l,t===!0&&l<this.config.scaleMax||t===!1&&l>this.config.scaleMin||t!=0&&t!=1&&l<this.config.scaleMax&&l>this.config.scaleMin){this._hideBeforeAnimation();var u=this;r?(clearTimeout(u._timeout),e.animate(this.getSvg(),{viewbox:this.getViewBox()},{viewbox:a},this.config.anim.duration,this.config.anim.func,function(){clearTimeout(u._timeout),u._timeout=setTimeout(function(){u._draw(!0,e.action.zoom,null,i)},500)})):(this.setViewBox(a),clearTimeout(u._timeout),u._timeout=setTimeout(function(){u._draw(!0,e.action.zoom,null,i)},500))}},e.loading={},e.loading.show=function(e){var t=`<style>@-webkit-keyframes dot-keyframes {0% { opacity: .4; -webkit-transform: scale(1, 1);transform: scale(1, 1);}50% {opacity: 1;-webkit-transform: scale(1.2, 1.2);transform: scale(1.2, 1.2);}100% {opacity: .4;-webkit-transform: scale(1, 1);transform: scale(1, 1);}}@keyframes dot-keyframes {0% {opacity: .4;-webkit-transform: scale(1, 1);transform: scale(1, 1);}50% {opacity: 1;-webkit-transform: scale(1.2, 1.2);transform: scale(1.2, 1.2);}100% {opacity: .4;-webkit-transform: scale(1, 1);transform: scale(1, 1);}}.boc-loading-dots div {margin: 10px;} .boc-dot-1 {background-color: #039BE5;}.boc-dot-2 {background-color: #F57C00;}.boc-dot-3 {background-color: #FFCA28;} .boc-loading-dots {text-align: center;width: 100%; position: absolute; top: 0;}.boc-loading-dots--dot {-webkit-animation: dot-keyframes 1.5s infinite ease-in-out;animation: dot-keyframes 1.5s infinite ease-in-out; border-radius: 10px;display: inline-block;height: 10px;width: 10px;}.boc-loading-dots--dot:nth-child(2) {-webkit-animation-delay: .5s;animation-delay: .5s;}.boc-loading-dots--dot:nth-child(3) {-webkit-animation-delay: 1s;animation-delay: 1s;}</style><div class="boc-loading-dots"><div class="boc-loading-dots--dot boc-dot-1"></div><div class="boc-loading-dots--dot boc-dot-2"></div><div class="boc-loading-dots--dot boc-dot-3"></div></div>`,n=document.createElement(`div`);n.id=`boc-loading`,n.innerHTML=t,e.element.appendChild(n)},e.loading.hide=function(e){var t=e.element.querySelector(`#boc-loading`);t&&t.parentNode.removeChild(t)},e.pdfPrevUI={},e.pdfPrevUI.show=function(e,t){console.warn(`OrgChart.pdfPrevUI.show is obsolete; use chart.pdfPreviewUI.show instead.`)},e.pdfPrevUI.hide=function(){console.warn(`OrgChart.pdfPrevUI.hide is obsolete; use chart.pdfPreviewUI.hide instead.`)},e===void 0&&(e={}),e.events.on(`renderdefs`,function(t,n){for(var r=0;r<t.config.clinks.length;r++){var i=t.config.clinks[r].template;i||=`orange`;var a=e.clinkTemplates[i];n.defs+=a.defs}}),e.events.on(`prerender`,function(t,n){e.RENDER_CLINKS_BEFORE_NODES&&t._clink(t,n)}),e.events.on(`render`,function(t,n){e.RENDER_CLINKS_BEFORE_NODES||t._clink(t,n)}),e.events.on(`drag`,function(t,n,r,i){if(t instanceof e&&t.config.movable&&i)for(var a=0;a<i.length;a++){for(var o=i[a],s=t.element.querySelectorAll(`[data-c-l-from="${o}"]`),c=t.element.querySelectorAll(`[data-c-l-to="${o}"]`),l=0;l<s.length;l++)s[l].parentNode.removeChild(s[l]);for(var l=0;l<c.length;l++)c[l].parentNode.removeChild(c[l])}}),e.prototype._clink=function(t,n){for(var r=``,i=0;i<this.config.clinks.length;i++){var a=this.config.clinks[i],o=t.getNode(a.from),s=t.getNode(a.to);if(!o||n.res.visibleNodeIds.indexOf(o.id)==-1||!s||n.res.visibleNodeIds.indexOf(s.id)==-1)continue;var c=o.x,l=o.y,u=s.x,d=s.y,f={},p={},m=c+o.w/2,h=u+s.w/2,g=l+o.h/2,_=d+s.h/2,v=1;switch(this.config.orientation){case e.orientation.top:case e.orientation.top_left:m<=h?(v=1,f.x=m+o.w/10,p.x=h-s.w/10):(v=-1,f.x=m-o.w/10,p.x=h+s.w/10),l==d?(v=1,f.y=l,p.y=d):l>d?(f.y=l,p.y=d+s.h):(f.y=l+o.h,p.y=d);break;case e.orientation.bottom:case e.orientation.bottom_left:m<=h?(v=-1,f.x=m+o.w/10,p.x=h+s.w/10):(v=1,f.x=m-o.w/10,p.x=h+s.w/10),l==d?(v=-1,f.y=l+o.h,p.y=d+s.h):l>d?(f.y=l,p.y=d+s.h):(f.y=l+o.h,p.y=d);break;case e.orientation.left:case e.orientation.left_top:g<=_?(v=-1,f.y=g+o.h/5,p.y=_+s.h/5):(v=1,f.y=g-o.h/5,p.y=_+s.h/5),c==u?(v=-1,f.x=c,p.x=u):c>u?(f.x=c,p.x=u+s.w):(f.x=c+o.w,p.x=u);break;case e.orientation.right:case e.orientation.right_top:g<=_?(v=1,f.y=g+o.h/5,p.y=_+s.h/5):(v=-1,f.y=g-o.h/5,p.y=_+s.h/5),c==u?(v=1,f.x=c+o.w,p.x=u+s.w):c>u?(f.x=c,p.x=u+s.w):(f.x=c+o.w,p.x=u);break}function w(t,n,r){r??=1;var i=n.x-t.x,o=n.y-t.y,s=Math.sqrt((n.x-t.x)**2+(n.y-t.y)**2)/3;return s=s/(Math.sqrt(i*i+o*o)*r)*e.clinkCurve(a),{x:t.x+i/2-o*s,y:t.y+o/2+i*s}}var y=w(f,p,v),b=a.template;b||=`orange`;var x=e.clinkTemplates[b];if(a.label){var S=e.clinkLabelPosition(a,f,p,y);r+=x.label.replace(`{x}`,S.x).replace(`{y}`,S.y).replace(`{val}`,a.label)}var C=`M`+f.x+`,`+f.y+`C`+f.x+`,`+f.y+` `+y.x+`,`+y.y+` `+p.x+`,`+p.y;r+=(`<g `+e.attr.c_link_from+`="{from}" `+e.attr.c_link_to+`="{to}">`).replace(`{from}`,o.id).replace(`{to}`,s.id)+x.link.replaceAll(`{d}`,C)+`<path stroke="transparent" stroke-width="15" fill="none" d="`+C+`" />`,r+=e.grCloseTag}n.content+=r},e.clinkLabelPosition=function(e,t,n,r){var i=(n.x-t.x)/2+t.x,a=(n.y-t.y)/2+t.y;return{x:(i-r.x)/2+r.x,y:(a-r.y)/2+r.y}},e.clinkCurve=function(t){return e.CLINK_CURVE},e.prototype.addClink=function(t,n,r,i){this._putInUndoStack(),this.clearRedo();for(var a=this.config.clinks.length-1;a>=0;a--){var o=this.config.clinks[a];o.from==t&&o.to==n&&this.config.clinks.splice(a,1)}return this.config.clinks.push({from:t,to:n,label:r,template:i}),this._ai.setContext(),e.events.publish(`updated`,[this]),this},e.prototype.removeClink=function(t,n){this._putInUndoStack(),this.clearRedo();for(var r=this.config.clinks.length-1;r>=0;r--){var i=this.config.clinks[r];i.from==t&&i.to==n&&this.config.clinks.splice(r,1)}return this._ai.setContext(),e.events.publish(`updated`,[this]),this},e.clinkTemplates={},e.clinkTemplates.orange={defs:`<marker id="arrowOrange" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse"><path fill="#F57C00" d="M 0 0 L 10 5 L 0 10 z" /></marker><marker id="dotOrange" viewBox="0 0 10 10" refX="5" refY="5" markerWidth="5" markerHeight="5"> <circle cx="5" cy="5" r="5" fill="#F57C00" /></marker>`,link:`<path marker-start="url(#dotOrange)" marker-end="url(#arrowOrange)" stroke="#F57C00" stroke-width="2" fill="none" d="{d}" />`,label:`<text fill="#F57C00" text-anchor="middle" x="{x}" y="{y}">{val}</text>`},e.clinkTemplates.blue={defs:`<marker id="arrowBlue" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse"><path fill="#039BE5" d="M 0 0 L 10 5 L 0 10 z" /></marker><marker id="dotBlue" viewBox="0 0 10 10" refX="5" refY="5" markerWidth="5" markerHeight="5"> <circle cx="5" cy="5" r="5" fill="#039BE5" /></marker>`,link:`<path marker-start="url(#dotBlue)" marker-end="url(#arrowBlue)" stroke="#039BE5" stroke-width="2" fill="none" d="{d}" />`,label:`<text fill="#039BE5" text-anchor="middle" x="{x}" y="{y}">{val}</text>`},e.clinkTemplates.yellow={defs:`<marker id="arrowYellow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse"><path fill="#FFCA28" d="M 0 0 L 10 5 L 0 10 z" /></marker><marker id="dotYellow" viewBox="0 0 10 10" refX="5" refY="5" markerWidth="5" markerHeight="5"> <circle cx="5" cy="5" r="5" fill="#FFCA28" /></marker>`,link:`<path marker-start="url(#dotYellow)" marker-end="url(#arrowYellow)" stroke="#FFCA28" stroke-width="2" fill="none" d="{d}" />`,label:`<text fill="#FFCA28" text-anchor="middle" x="{x}" y="{y}">{val}</text>`},e===void 0&&(e={}),e.events.on(`renderdefs`,function(t,n){for(var r=0;r<t.config.slinks.length;r++){var i=t.config.slinks[r].template;i||=`orange`;var a=e.slinkTemplates[i];n.defs+=a.defs}}),e.events.on(`render`,function(e,t){e._slinks(e,t)}),e.events.on(`drag`,function(t,n,r,i){if(t instanceof e&&t.config.movable&&i)for(var a=0;a<i.length;a++){for(var o=i[a],s=t.element.querySelectorAll(`[data-s-l-from="${o}"]`),c=t.element.querySelectorAll(`[data-s-l-to="${o}"]`),l=0;l<s.length;l++)s[l].parentNode.removeChild(s[l]);for(var l=0;l<c.length;l++)c[l].parentNode.removeChild(c[l])}}),e.prototype._slinks=function(t,n){var r=``,i=this.getScale(),a=n.res.boundary;function o(e,t){return{x:(e[0]+t[0])/2,y:(e[1]+t[1])/2}}function s(n,r,o,s,c){var l=[],u=null,d=e.t(n.templateName,n.min,i),f=s.levelSeparation;n.parent&&n.parent.layout&&(f=s.mixedHierarchyNodesSeparation);var p;switch(s.orientation){case e.orientation.top:case e.orientation.top_left:p={p:n.x+n.w/2,q:n.y,r:n.x+n.w/2,s:a.minY+f};break;case e.orientation.bottom:case e.orientation.bottom_left:p={p:n.x+n.w/2,q:n.y+n.h,r:n.x+n.w/2,s:a.maxY};break;case e.orientation.left:case e.orientation.left_top:p={p:n.x,q:n.y+n.h/2,r:a.minX+f,s:n.y+n.h/2};break;case e.orientation.right:case e.orientation.right_top:p={p:n.x+n.w,q:n.y+n.h/2,r:a.maxX,s:n.y+n.h/2};break}if(n.sl==r.sl)switch(u=r,s.orientation){case e.orientation.top:case e.orientation.top_left:l.push([p.p,p.q]),l.push([p.p,p.q-e.SLINK_GAP*2]),d=e.t(u.templateName,u.min,i),l.push([u.x+u.w/2,l[l.length-1][1]]),l.push([l[l.length-1][0],u.y]);break;case e.orientation.bottom:case e.orientation.bottom_left:l.push([p.p,p.q]),l.push([p.p,p.q+e.SLINK_GAP*2]),d=e.t(u.templateName,u.min,i),l.push([u.x+u.w/2,l[l.length-1][1]]),l.push([l[l.length-1][0],u.y+u.h]);break;case e.orientation.left:case e.orientation.left_top:l.push([p.p,p.q]),l.push([p.p-e.SLINK_GAP*2,p.q]),d=e.t(u.templateName,u.min,i),l.push([l[l.length-1][0],u.y+u.h/2]),l.push([u.x,l[l.length-1][1]]);break;case e.orientation.right:case e.orientation.right_top:l.push([p.p,p.q]),l.push([p.p+e.SLINK_GAP*2,p.q]),d=e.t(u.templateName,u.min,i),l.push([l[l.length-1][0],u.y+u.h/2]),l.push([u.x+u.w,l[l.length-1][1]]);break}else{switch(s.orientation){case e.orientation.top:case e.orientation.top_left:l.push([p.p,p.q]),l.push([p.r,n.y-e.SLINK_GAP*2]);break;case e.orientation.bottom:case e.orientation.bottom_left:l.push([p.p,p.q]),l.push([p.r,n.y+n.h+e.SLINK_GAP*2]);break;case e.orientation.left:case e.orientation.left_top:l.push([p.p,p.q]),l.push([n.x-e.SLINK_GAP*2,p.s]);break;case e.orientation.right:case e.orientation.right_top:l.push([p.p,p.q]),l.push([n.x+n.w+e.SLINK_GAP*2,p.s]);break}for(var m=n,h=n;h.parent;)h=h.parent;for(;u==null;){var g=!1,_=m.parent,v=_.leftNeighbor,y=_.rightNeighbor;if(_.id==r.id?u=_:e._intersects(_,p,s)&&(p=e._addPoint(_,l,s,p,c),g=!0),_.id!=r.id){for(;v;){if(v.id==r.id){u=v;break}e._intersects(v,p,s)&&(p=e._addPoint(v,l,s,p,c),g=!0),v=v.leftNeighbor}for(;y;){if(y.id==r.id){u=y;break}e._intersects(y,p,s)&&(p=e._addPoint(y,l,s,p,c),g=!0),y=y.rightNeighbor}}if(!g){var b=0,x=0;if(_.parent){f=s.levelSeparation,_.parent.layout&&(f=s.mixedHierarchyNodesSeparation);var S=t.manager.bordersByRootIdAndLevel[h.id][_.parent.sl];switch(s.orientation){case e.orientation.top:case e.orientation.top_left:b=l[l.length-1][0],x=S.maxY+f-e.SLINK_GAP;break;case e.orientation.bottom:case e.orientation.bottom_left:b=l[l.length-1][0],x=S.minY-f+e.SLINK_GAP;break;case e.orientation.left:case e.orientation.left_top:b=S.maxX+f-e.SLINK_GAP,x=l[l.length-1][1];break;case e.orientation.right:case e.orientation.right_top:b=S.minX-f+e.SLINK_GAP,x=l[l.length-1][1];break}}l.push([b,x])}m=_}switch(d=e.t(u.templateName,u.min,i),l.splice(l.length-1,1),s.orientation){case e.orientation.top:case e.orientation.top_left:var C=d.expandCollapseSize;c==`left`&&(C*=-1),l.push([u.x+u.w/2+C,l[l.length-1][1]]),l.push([l[l.length-1][0],u.y+u.h]);break;case e.orientation.bottom:case e.orientation.bottom_left:var C=d.expandCollapseSize;c==`left`&&(C*=-1),l.push([u.x+u.w/2+C,l[l.length-1][1]]),l.push([l[l.length-1][0],u.y]);break;case e.orientation.left:case e.orientation.left_top:var C=d.expandCollapseSize;c==`top`&&(C*=-1),l.push([l[l.length-1][0],u.y+u.h/2+C]),l.push([u.x+u.w,l[l.length-1][1]]);break;case e.orientation.right:case e.orientation.right_top:var C=d.expandCollapseSize;c==`top`&&(C*=-1),l.push([l[l.length-1][0],u.y+u.h/2+C]),l.push([u.x,l[l.length-1][1]]);break}}return o&&(l=l.reverse()),l}for(var c=[],l=[],u=[],d=[],f=[],p=0;p<this.config.slinks.length;p++){var m=this.config.slinks[p],h=t.getNode(m.from),g=t.getNode(m.to);if(h&&g&&n.res.visibleNodeIds.indexOf(g.id)!=-1&&n.res.visibleNodeIds.indexOf(h.id)!=-1){var _=h.lcn?h.lcn:`base`,v=t._layoutConfigs[_],y=h.sl<g.sl,b=`left`;switch(v.orientation){case e.orientation.top:case e.orientation.top_left:case e.orientation.bottom:case e.orientation.bottom_left:g.x>=h.x&&(b=`right`);break;case e.orientation.left:case e.orientation.left_top:case e.orientation.right:case e.orientation.right_top:b=`top`,g.y>h.y&&(b=`bottom`);break}var x=y?s(g,h,y,v,b):s(h,g,y,v,b);c.push(x),l.push(m),d.push(b),u.push(v),f.push({from:h,to:g})}}for(var p=0;p<c.length;p++){var x=c[p],m=l[p],b=d[p];switch(e._slinkRemoveUnusedPoints(x),v.orientation){case e.orientation.top:case e.orientation.top_left:case e.orientation.bottom:case e.orientation.bottom_left:e._slinkAvoidOverlaping(t._connectorLines,x,b,v.orientation);break;case e.orientation.left:case e.orientation.left_top:case e.orientation.right:case e.orientation.right_top:e._slinkAvoidOverlaping2(t._connectorLines,x,b,v.orientation);break}}for(var p=c.length-1;p>=0;p--){var x=c[p],m=l[p];switch(v.orientation){case e.orientation.top:case e.orientation.top_left:case e.orientation.bottom:case e.orientation.bottom_left:e._slinkAvoidOverlapingSecond(t._connectorLines,x,v.orientation);break;case e.orientation.left:case e.orientation.left_top:case e.orientation.right:case e.orientation.right_top:e._slinkAvoidOverlapingSecond2(t._connectorLines,x,v.orientation);break}}for(var p=0;p<c.length;p++){var x=c[p],m=l[p],v=u[p],h=f[p].from,g=f[p].to,S=m.template;S||=`orange`;var C=e.slinkTemplates[S],w=null;switch(C.labelPosition){case`start`:w={x:x[1][0],y:x[1][1]};break;case`middle`:var T=Math.ceil(x.length/2);w=o(x[T],x[T-1]);break;case`end`:w={x:x[x.length-2][0],y:x[x.length-2][1]};break}var E=structuredClone(x);E[0].unshift(`M`);for(var D=1;D<x.length;D++)E[D].unshift(`L`);var O=e.roundPathCorners(E,e.LINK_ROUNDED_CORNERS,!1);if(m.label){var k=C.label.replace(`{x}`,w.x).replace(`{y}`,w.y).replace(`{val}`,m.label),A=e._getLabelSize(k),j=-(A.height/2);switch(v.orientation){case e.orientation.bottom:case e.orientation.bottom_left:j=A.height;break}r+=C.label.replace(`{x}`,w.x).replace(`{y}`,w.y+j).replace(`{val}`,m.label)}var M=h.id,N=g.id;y&&(M=g.id,N=h.id),r+=(`<g `+e.attr.s_link_from+`="{from}" `+e.attr.s_link_to+`="{to}">`).replace(`{from}`,M).replace(`{to}`,N)+C.link.replaceAll(`{d}`,O)+`<path stroke="transparent" stroke-width="15" fill="none" d="`+O+`" />`,r+=e.grCloseTag}n.content+=r},e.prototype.addSlink=function(t,n,r,i){this._putInUndoStack(),this.clearRedo();for(var a=this.config.slinks.length-1;a>=0;a--){var o=this.config.slinks[a];o.from==t&&o.to==n&&this.config.slinks.splice(a,1)}return this.config.slinks.push({from:t,to:n,label:r,template:i}),this._ai.setContext(),e.events.publish(`updated`,[this]),this},e.prototype.removeSlink=function(t,n){this._putInUndoStack(),this.clearRedo();for(var r=this.config.slinks.length-1;r>=0;r--){var i=this.config.slinks[r];i.from==t&&i.to==n&&this.config.slinks.splice(r,1)}return this._ai.setContext(),e.events.publish(`updated`,[this]),this},e.slinkTemplates={},e.slinkTemplates.orange={defs:`<marker id="arrowSlinkOrange" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse"><path fill="#F57C00" d="M 0 0 L 10 5 L 0 10 z" /></marker><marker id="dotSlinkOrange" viewBox="0 0 10 10" refX="5" refY="5" markerWidth="5" markerHeight="5"> <circle cx="5" cy="5" r="5" fill="#F57C00" /></marker>`,link:`<path stroke-dasharray="4, 2" marker-start="url(#dotSlinkOrange)" marker-end="url(#arrowSlinkOrange)" stroke-linejoin="round" stroke="#F57C00" stroke-width="2" fill="none" d="{d}" />`,label:`<text dominant-baseline="middle" fill="#F57C00" alignment-baseline="middle" text-anchor="middle" x="{x}" y="{y}">{val}</text>`,labelPosition:`middle`},e.slinkTemplates.blue={defs:`<marker id="arrowSlinkBlue" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse"><path fill="#039BE5" d="M 0 0 L 10 5 L 0 10 z" /></marker><marker id="dotSlinkBlue" viewBox="0 0 10 10" refX="5" refY="5" markerWidth="5" markerHeight="5"> <circle cx="5" cy="5" r="5" fill="#039BE5" /></marker>`,link:`<path stroke-dasharray="4, 2" marker-start="url(#dotSlinkBlue)" marker-end="url(#arrowSlinkBlue)" stroke-linejoin="round" stroke="#039BE5" stroke-width="2" fill="none" d="{d}" />`,label:`<text fill="#039BE5" text-anchor="middle" x="{x}" y="{y}">{val}</text>`,labelPosition:`middle`},e.slinkTemplates.yellow={defs:`<marker id="arrowSlinkYellow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse"><path fill="#FFCA28" d="M 0 0 L 10 5 L 0 10 z" /></marker><marker id="dotSlinkYellow" viewBox="0 0 10 10" refX="5" refY="5" markerWidth="5" markerHeight="5"> <circle cx="5" cy="5" r="5" fill="#FFCA28" /></marker>`,link:`<path stroke-dasharray="4, 2" marker-start="url(#dotSlinkYellow)" marker-end="url(#arrowSlinkYellow)" stroke-linejoin="round" stroke="#FFCA28" stroke-width="2" fill="none" d="{d}" />`,label:`<text fill="#FFCA28" text-anchor="middle" x="{x}" y="{y}">{val}</text>`,labelPosition:`middle`},e._ai=function(e){this.instance=e,this.sessionId=null},e._ai.prototype.prompt=function(e,t){var n=this;e=e.trim(),e&&(this.sessionId?n._prompt([{Role:`user`,Text:e}],t):this.setContext(function(){n._prompt([{Role:`user`,Text:e}],t)}))},e._ai.prototype._prompt=function(t,n){var r=this,i=[];for(var a of e.AI_SYSTEM_MESSAGES)i.push({Role:`system`,Text:a});var o=this.instance.config.serverUrl+`/OrgChartJSAI/Prompt?client_messages=${encodeURIComponent(JSON.stringify(t))}&system_messages=${encodeURIComponent(JSON.stringify(i))}&sessionId=${this.sessionId}`;let s=new EventSource(o);s.onmessage=function(e){var t=JSON.parse(e.data),i=``;t.kind==`end`&&s.close(),t.kind==`text`&&(i+=t.text,n&&n(t.text)),t.kind==`assistant-message-with-tools`?r.toolCalls(t.message,n):t.kind==`error`&&console.error(t.text)},s.onerror=function(e){console.error(e),s.close()}},e._ai.prototype.setContext=function(e){if(this.instance&&this.instance.config.enableAI&&this.instance.aiUI.canSetContext){this.sessionId=this.instance._event_id;var t=this.instance.config.serverUrl+`/OrgChartJSAI/SetContext`,n=this.instance.config.aiChatTools.slice();for(var r of n)r.functionParameters??=null,r.functionParameters=JSON.stringify(r.functionParameters);fetch(t,{method:`post`,headers:{"Content-Type":`application/json`,"x-request-type":`ajax`},body:JSON.stringify({context:this.instance.config.nodes,sessionId:this.sessionId,chatTools:n})}).then(function(){e&&e()}).catch(function(e){console.error(e)})}},e._ai.prototype.toolCalls=function(t,n){var r=this,i={toolCalls:t.ToolCalls};e.events.publish(`ai-tool-calls`,[this.instance,i]);var a=[],o=[],s=[],c=[],l=[],u=null,d=null,f=null,p=null,m=null;for(var h of i.toolCalls)h.FunctionResult??(h.FunctionName==`removeNode`?a.push(h):h.FunctionName==`addNode`?o.push(h):h.FunctionName==`updateNode`?s.push(h):h.FunctionName==`select`?c.push(h):h.FunctionName==`deselect`?l.push(h):h.FunctionName==`exportToPDF`?u=h:h.FunctionName==`changeTemplate`?d=h:h.FunctionName==`addSlink`?f=h:h.FunctionName==`removeSlink`?p=h:h.FunctionName==`fit`&&(m=h));var g=!1;if(d&&(g=!0,h.FunctionResult=`ok`,this.instance.config.template=h.FunctionArguments.templateName),f){var _=this.instance.getNode(h.FunctionArguments.employeeId1),v=this.instance.getNode(h.FunctionArguments.employeeId2);!_||!v||_==v?h.FunctionResult=`Cannot add link between ${h.FunctionArguments.employeeId1} and ${h.FunctionArguments.employeeId2}`:(g=!0,this.instance.addSlink(_.id,v.id),h.FunctionResult=`ok`)}if(p){var _=this.instance.getNode(h.FunctionArguments.employeeId1),v=this.instance.getNode(h.FunctionArguments.employeeId2);!_||!v||_==v?h.FunctionResult=`Cannot remove link between ${h.FunctionArguments.employeeId1} and ${h.FunctionArguments.employeeId2}`:(g=!0,this.instance.removeSlink(_.id,v.id),h.FunctionResult=`ok`)}m&&(this.instance.fit(),g=!1);for(var h of a)g=!0,h.FunctionResult=`ok`,this.instance.remove(h.FunctionArguments.id);for(var h of o){g=!0,h.FunctionResult=`ok`;var y=JSON.parse(JSON.stringify(h.FunctionArguments));y.isAssistant&&(y.tags=[`assistant`]),delete y.isAssistant,e.isNEU(y.id)&&(y.id=this.instance.generateId()),this.instance.add(y)}for(var h of s){g=!0,h.FunctionResult=`ok`;var y=this.instance.get(h.FunctionArguments.id);for(var b in h.FunctionArguments)b!=`id`&&h.FunctionArguments[b]!=null&&(y[b]=h.FunctionArguments[b]);this.instance.update(y)}for(var h of c){h.FunctionResult=`ok`;for(var x of h.FunctionArguments.ids){var S=h.FunctionArguments.color;S||=`#FFCA28`;var C=this.instance.getNodeElement(x).firstChild;C&&(C.style.stroke=h.FunctionArguments.color,C.style.strokeWidth=5)}}var w=function(){for(var e of l)if(e.FunctionResult=`ok`,e.FunctionArguments.ids)for(var t of e.FunctionArguments.ids){var n=r.instance.getNodeElement(t).firstChild;n&&(n.style.stroke=`#aeaeae`,n.style.strokeWidth=1)}else g=!0};g?(this.setContext(),this.instance.draw(e.action.update,void 0,w)):w();var T=function(){var e=[];for(var t of i.toolCalls)e.push({Role:`tool`,Text:t.FunctionResult,Id:t.Id});r._prompt(e,n)};u?this.chartInstance.exportToPDF({},function(){h.FunctionResult=`ok`,e._downloadFile(`application/pdf`,response,`OrgChart.pdf`,!1,`pdf`),T()}):T()},e.aiUI=function(){this.instance=null,this.interval=null,this.canSetContext=!1,this.element=null,this.inputElement=null,this.btnSendElement=null,this.messagesElement=null,Object.defineProperty(this,`width`,{get(){return this.isVisible()?this.element.offsetWidth:0}})},e.aiUI.title=`AI for OrgChart JS`,e.aiUI.prototype.init=function(e){this.instance=e;var t=this,n=this.instance.element.querySelector(`[data-boc-ai-button]`);n&&n.addEventListener(`click`,function(e){t.show()})},e.aiUI.prototype.isVisible=function(){return!(!this.element||this.element.style.display==`none`)},e.aiUI.prototype.show=function(t,n){this.instance.pdfPreviewUI.hide(),this.instance.svgPreviewUI.hide(),this.instance.pngPreviewUI.hide(),this.instance.powerPointPreviewUI.hide(),this.instance.aiUI.hide(),this.instance.orgScribeUI.hide(),this._create(),this.element.style.display=``,this.canSetContext||(this.canSetContext=!0,this.instance._ai.setContext());var r=this;n||(this.timeout&&clearInterval(this.interval),this.interval=e.animate(this.element,{opacity:0},{opacity:1},300,e.anim.outSin,function(){t||r.inputElement.focus()}))},e.aiUI.prototype._create=function(){if(!this.element){var t=this,n=`inp_`+this.instance.generateId();this.element=document.createElement(`div`),this.element.setAttribute(`data-boc-ai-form`,``),this.element.style.opacity=0,this.element.classList.add(`boc-ai-form`),this.element.classList.add(this.instance.config.mode),this.element.innerHTML=`<div class="boc-ai-container">
|
|
385
385
|
<div data-boc-ai-close class="boc-ai-close">${e.icon.x(20,20,`#aeaeae`)}</div>
|
|
386
386
|
<div class="boc-ai-middle boc-ai-start">
|
|
387
387
|
<div data-boc-ai-messages class="boc-ai-messages">
|
package/orgchart.mjs
CHANGED
|
@@ -197,9 +197,9 @@ e.prototype.init = function(t, n) {
|
|
|
197
197
|
a.ripple(r.options.rippleId), A ||= (i && i.call(a), e.events.publish("redraw", [a]), a._showAfterAnimation(), !0);
|
|
198
198
|
}, function() {
|
|
199
199
|
a.xScrollUI.setPosition(), a.yScrollUI.setPosition();
|
|
200
|
-
}) : 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) ? e.animate(a.getSvg(), { viewbox: l }, { viewbox: a.response.viewBox }, a.config.anim.duration * 2, a.config.anim.func, function() {
|
|
200
|
+
}) : 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() {
|
|
201
201
|
a.xScrollUI.setPosition(), a.yScrollUI.setPosition(), A ||= (i && i.call(a), e.events.publish("redraw", [a]), !0);
|
|
202
|
-
}) : 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);
|
|
202
|
+
}) : a.setViewBox(a.response.viewBox) : 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);
|
|
203
203
|
}
|
|
204
204
|
}, function(t) {
|
|
205
205
|
e.events.publish("ready", [a, t]);
|
|
@@ -355,6 +355,8 @@ e.prototype.init = function(t, n) {
|
|
|
355
355
|
var e = "_" + ("0000" + (Math.random() * 36 ** 4 | 0).toString(36)).slice(-4);
|
|
356
356
|
if (this.nodes == null || !this.nodes.hasOwnProperty(e)) return e;
|
|
357
357
|
}
|
|
358
|
+
}, e.prototype.moveNodesToVisibleAreaAfterExpand = function(t, n, r) {
|
|
359
|
+
e._moveNodesToVisibleAreaAfterExpand(this, t, n, r);
|
|
358
360
|
}, e.prototype.moveNodesToVisibleArea = function(t, n) {
|
|
359
361
|
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++) {
|
|
360
362
|
var f = this.nodes[t[d]];
|
|
@@ -606,7 +608,9 @@ e.prototype.init = function(t, n) {
|
|
|
606
608
|
if (Array.isArray(n)) {
|
|
607
609
|
var i = this, a = [];
|
|
608
610
|
for (var o of n) this.add(o), a.push(o.id);
|
|
609
|
-
this._ai.setContext(), e.events.publish("updated", [this]), this.filterUI.update()
|
|
611
|
+
this._ai.setContext(), e.events.publish("updated", [this]), this.filterUI.update();
|
|
612
|
+
var s = { id: t };
|
|
613
|
+
i._draw(!1, e.action.update, s, function() {
|
|
610
614
|
r && r();
|
|
611
615
|
});
|
|
612
616
|
}
|
|
@@ -856,7 +860,7 @@ e.prototype.init = function(t, n) {
|
|
|
856
860
|
n._menuClickHandler.apply(n, [this, e]);
|
|
857
861
|
});
|
|
858
862
|
}
|
|
859
|
-
}, e === void 0 && (e = {}), e.VERSION = "9.3.
|
|
863
|
+
}, e === void 0 && (e = {}), e.VERSION = "9.3.11", 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 = {
|
|
860
864
|
top_right: "top_right",
|
|
861
865
|
right_top: "right_top",
|
|
862
866
|
bottom_right: "bottom_right",
|
|
@@ -4584,7 +4588,7 @@ e.prototype.init = function(t, n) {
|
|
|
4584
4588
|
plus: function(e, t, n, r, i) {
|
|
4585
4589
|
var a = r.mode == "dark" ? "#1E1E1E" : "#ffffff";
|
|
4586
4590
|
return `<g transform="matrix(1,0,0,1,${i.x - 15},${i.y - 15})"><circle cx="15" cy="15" r="15" fill="${a}" stroke="#aeaeae" stroke-width="1"></circle>
|
|
4587
|
-
<text text-anchor="middle" style="font-size: 14px;cursor:pointer;" fill="#aeaeae" x="15" y="21">${e.
|
|
4591
|
+
<text text-anchor="middle" style="font-size: 14px;cursor:pointer;" fill="#aeaeae" x="15" y="21">${e.collapsedChildrenIds.length}</text></g>`;
|
|
4588
4592
|
},
|
|
4589
4593
|
minus: function(e, t, n, r, i) {
|
|
4590
4594
|
var a = r.mode == "dark" ? "#1E1E1E" : "#ffffff";
|
|
@@ -4620,7 +4624,7 @@ e.prototype.init = function(t, n) {
|
|
|
4620
4624
|
plus: function(e, t, n, r, i) {
|
|
4621
4625
|
var a = r.mode == "dark" ? "#1E1E1E" : "#ffffff";
|
|
4622
4626
|
return `<g transform="matrix(1,0,0,1,${i.x - 15},${i.y - 15})"><circle class="boc-hoverable" cx="15" cy="15" r="15" fill="${a}" stroke="#aeaeae" stroke-width="1"></circle>
|
|
4623
|
-
<text text-anchor="middle" style="font-size: 14px;cursor:pointer;" fill="#aeaeae" x="15" y="21">${e.
|
|
4627
|
+
<text text-anchor="middle" style="font-size: 14px;cursor:pointer;" fill="#aeaeae" x="15" y="21">${e.collapsedChildrenIds.length}</text></g>`;
|
|
4624
4628
|
},
|
|
4625
4629
|
minus: function(e, t, n, r, i) {
|
|
4626
4630
|
var a = r.mode == "dark" ? "#1E1E1E" : "#ffffff";
|
|
@@ -4659,7 +4663,7 @@ e.prototype.init = function(t, n) {
|
|
|
4659
4663
|
], e.templates.emily.link = "<path class=\"boc-emily-stroke\" stroke-linejoin=\"round\" stroke=\"#aeaeae\" stroke-width=\"1px\" fill=\"none\" d=\"{rounded}\" />", e.templates.emily.plus = function(e, t, n, r, i) {
|
|
4660
4664
|
var a = r.mode == "dark" ? "#1E1E1E" : "#ffffff";
|
|
4661
4665
|
return `<g transform="matrix(1,0,0,1,${i.x - 15},${i.y - 15})"><circle class="boc-emily-stroke" cx="15" cy="15" r="15" fill="${a}" stroke="#aeaeae" stroke-width="1"></circle>
|
|
4662
|
-
<text text-anchor="middle" style="font-size: 14px;cursor:pointer;" fill="#aeaeae" x="15" y="21">${e.
|
|
4666
|
+
<text text-anchor="middle" style="font-size: 14px;cursor:pointer;" fill="#aeaeae" x="15" y="21">${e.collapsedChildrenIds.length}</text></g>`;
|
|
4663
4667
|
}, e.templates.emily.minus = function(e, t, n, r, i) {
|
|
4664
4668
|
var a = r.mode == "dark" ? "#1E1E1E" : "#ffffff";
|
|
4665
4669
|
return `<g transform="matrix(1,0,0,1,${i.x - 15},${i.y - 15})"><circle class="boc-emily-stroke" cx="15" cy="15" r="15" fill="${a}" stroke="#aeaeae" stroke-width="1"></circle>
|
|
@@ -4951,7 +4955,7 @@ e.prototype.init = function(t, n) {
|
|
|
4951
4955
|
var i = n.expandCollapseSize / 2 + e.level * n.expandCollapseSize, a = e.h / 2;
|
|
4952
4956
|
a -= n.expandCollapseSize / 2;
|
|
4953
4957
|
var o = r.mode == "dark" ? "#ccc" : "#757575";
|
|
4954
|
-
return `<g transform="matrix(1,0,0,1,${i},${a})"><text x="6" style="font-size: 10px;" fill="${o}" y="15.5" text-anchor="end">${e.
|
|
4958
|
+
return `<g transform="matrix(1,0,0,1,${i},${a})"><text x="6" style="font-size: 10px;" fill="${o}" y="15.5" text-anchor="end">${e.collapsedChildrenIds.length}</text><path fill="${o}" d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z" /><rect style="opacity: 0" x="-3" y="-3" width="30" height="30"></rect></g>`;
|
|
4955
4959
|
}, e.templates.treeListItem.minus = function(e, t, n, r) {
|
|
4956
4960
|
var i = n.expandCollapseSize / 2 + e.level * n.expandCollapseSize, a = e.h / 2;
|
|
4957
4961
|
a -= n.expandCollapseSize / 2;
|
|
@@ -6752,6 +6756,36 @@ e.prototype.init = function(t, n) {
|
|
|
6752
6756
|
}), Object.keys(e.nodeBinding).filter((e) => e.startsWith("img")).forEach((n) => {
|
|
6753
6757
|
t[n] = e.nodeBinding[n];
|
|
6754
6758
|
}), e.nodeBinding = t;
|
|
6759
|
+
}, e._moveNodesToVisibleAreaAfterExpand = function(t, n, r, i) {
|
|
6760
|
+
if (t.config.orientation != e.orientation.top) {
|
|
6761
|
+
console.error("_moveNodesToVisibleAreaAfterExpand works only for OrgChart.orientation.top, not implemented for others!");
|
|
6762
|
+
return;
|
|
6763
|
+
}
|
|
6764
|
+
var a = t.getSvg(), o = t.getViewBox(), s = o[0], c = o[1], l = o[2], u = o[3], d = s, f = c, p = t.getNode(n);
|
|
6765
|
+
if (t.getNode(r[0]).y > p.y) {
|
|
6766
|
+
for (var m of r) {
|
|
6767
|
+
var h = t.getNode(m), g = h.y - u + h.h + t.config.padding;
|
|
6768
|
+
g > f && (f = g);
|
|
6769
|
+
}
|
|
6770
|
+
f > p.y - t.config.padding && (f = p.y - t.config.padding);
|
|
6771
|
+
} else {
|
|
6772
|
+
for (var m of r) {
|
|
6773
|
+
var h = t.getNode(m), g = h.y - t.config.padding;
|
|
6774
|
+
g < f && (f = g);
|
|
6775
|
+
}
|
|
6776
|
+
f < p.y + p.h - u + t.config.padding && (f = p.y + p.h - u + t.config.padding);
|
|
6777
|
+
}
|
|
6778
|
+
if (f != c || d != s) {
|
|
6779
|
+
var _ = [
|
|
6780
|
+
d,
|
|
6781
|
+
f,
|
|
6782
|
+
l,
|
|
6783
|
+
u
|
|
6784
|
+
];
|
|
6785
|
+
e.animate(a, { viewBox: o }, { viewBox: _ }, t.config.anim.duration, t.config.anim.func, function() {
|
|
6786
|
+
t.draw(e.action.update, void 0, i);
|
|
6787
|
+
});
|
|
6788
|
+
}
|
|
6755
6789
|
}, e.xScrollUI = function(t, n, r, i, a) {
|
|
6756
6790
|
this.element = t, this.requestParams = r, this.config = n, this.onSetViewBoxCallback = i, this.onDrawCallback = a, this.position = 0, this.bar = null, this._event_id = e._guid();
|
|
6757
6791
|
}, e.xScrollUI.prototype.addListener = function(t) {
|
package/package.json
CHANGED