balkan-orgchart-js-community 9.2.34 → 9.2.36
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 +6 -0
- package/orgchart.d.ts +6 -0
- package/orgchart.js +2 -2
- package/orgchart.mjs +1 -17
- package/package.json +1 -1
package/orgchart.d.mts
CHANGED
|
@@ -5746,6 +5746,12 @@ declare namespace OrgChart {
|
|
|
5746
5746
|
* ```
|
|
5747
5747
|
*/
|
|
5748
5748
|
scaleMax?: number,
|
|
5749
|
+
|
|
5750
|
+
|
|
5751
|
+
highlightOnHover?: 'parents' | 'children' | 'none' | 'sameLevel' | 'childrenAndParents',
|
|
5752
|
+
|
|
5753
|
+
|
|
5754
|
+
|
|
5749
5755
|
/**
|
|
5750
5756
|
* The orderBy option is used to sort the nodes in ascending order by specified field. The default order is by nodes order in the nodes array. Default value - *null*
|
|
5751
5757
|
* ```typescript
|
package/orgchart.d.ts
CHANGED
|
@@ -5746,6 +5746,12 @@ declare namespace OrgChart {
|
|
|
5746
5746
|
* ```
|
|
5747
5747
|
*/
|
|
5748
5748
|
scaleMax?: number,
|
|
5749
|
+
|
|
5750
|
+
|
|
5751
|
+
highlightOnHover?: 'parents' | 'children' | 'none' | 'sameLevel' | 'childrenAndParents',
|
|
5752
|
+
|
|
5753
|
+
|
|
5754
|
+
|
|
5749
5755
|
/**
|
|
5750
5756
|
* The orderBy option is used to sort the nodes in ascending order by specified field. The default order is by nodes order in the nodes array. Default value - *null*
|
|
5751
5757
|
* ```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)&&this.getNode(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.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.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.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.2.34`,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_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.prototype.getSvg=function(){return this.element.querySelector(`svg`)},e.prototype.getPointerElement=function(){return this.element.querySelector(`g[data-pointer]`)},e.prototype.getNodeElement=function(t){return this.element.querySelector(`[`+e.attr.node_id+`='`+t+`']`)},e.prototype.getMenuButton=function(){return this.element.querySelector(`[`+e.attr.control_export_menu+`]`)},e.notifierUI=function(){},e.notifierUI.prototype.init=function(e){this.obj=e},e.notifierUI.prototype.show=function(t,n){if(t==null)return!1;t==1&&(t=e.MAX_NODES_MESS,n=`#FFCA28`),t==2&&(t=e.OFFLINE_MESS,n=`#FFCA28`);var r=document.createElement(`div`);r.innerHTML=t,Object.assign(r.style,{position:`absolute`,"background-color":n,color:`#ffffff`,padding:`15px`,"border-radius":`40px`,opacity:0,overflow:`hidden`,"white-space":`nowrap`,"text-align":`center`}),this.obj.element.appendChild(r);var i=this.obj.width()/2-r.offsetWidth/2,a=this.obj.height()/2-r.offsetHeight/2;r.style.left=i+`px`,r.style.top=a+`px`;var o=r.offsetWidth;return r.style.width=`20px`,e.animate(r,{opacity:0,width:10},{opacity:1,width:o},this.obj.config.anim.duration,this.obj.config.anim.func),!0},e===void 0&&(e={}),e.icon={},e.icon.png_export=e.icon.png_preview=e.icon.pngpreview=e.icon.png=function(e,t,n,r,i){return r??=0,i??=0,`<svg width="${e}" height="${t}" viewBox="0 0 550.801 550.801" x="${r}" y="${i}">
|
|
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)&&this.getNode(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.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.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.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.2.36`,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_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.prototype.getSvg=function(){return this.element.querySelector(`svg`)},e.prototype.getPointerElement=function(){return this.element.querySelector(`g[data-pointer]`)},e.prototype.getNodeElement=function(t){return this.element.querySelector(`[`+e.attr.node_id+`='`+t+`']`)},e.prototype.getMenuButton=function(){return this.element.querySelector(`[`+e.attr.control_export_menu+`]`)},e.notifierUI=function(){},e.notifierUI.prototype.init=function(e){this.obj=e},e.notifierUI.prototype.show=function(t,n){if(t==null)return!1;t==1&&(t=e.MAX_NODES_MESS,n=`#FFCA28`),t==2&&(t=e.OFFLINE_MESS,n=`#FFCA28`);var r=document.createElement(`div`);r.innerHTML=t,Object.assign(r.style,{position:`absolute`,"background-color":n,color:`#ffffff`,padding:`15px`,"border-radius":`40px`,opacity:0,overflow:`hidden`,"white-space":`nowrap`,"text-align":`center`}),this.obj.element.appendChild(r);var i=this.obj.width()/2-r.offsetWidth/2,a=this.obj.height()/2-r.offsetHeight/2;r.style.left=i+`px`,r.style.top=a+`px`;var o=r.offsetWidth;return r.style.width=`20px`,e.animate(r,{opacity:0,width:10},{opacity:1,width:o},this.obj.config.anim.duration,this.obj.config.anim.func),!0},e===void 0&&(e={}),e.icon={},e.icon.png_export=e.icon.png_preview=e.icon.pngpreview=e.icon.png=function(e,t,n,r,i){return r??=0,i??=0,`<svg width="${e}" height="${t}" viewBox="0 0 550.801 550.801" x="${r}" y="${i}">
|
|
25
25
|
<path fill="${n}" d="M146.747,276.708c0-13.998-9.711-22.352-26.887-22.352c-6.99,0-11.726,0.675-14.204,1.355v44.927 c2.932,0.676,6.539,0.896,11.52,0.896C135.449,301.546,146.747,292.28,146.747,276.708z"/>
|
|
26
26
|
<path fill="${n}" d="M488.426,197.019H475.2v-63.816c0-0.398-0.063-0.799-0.116-1.202c-0.021-2.534-0.827-5.023-2.562-6.995L366.325,3.694 c-0.032-0.031-0.063-0.042-0.085-0.076c-0.633-0.707-1.371-1.295-2.151-1.804c-0.231-0.155-0.464-0.285-0.706-0.419 c-0.676-0.369-1.393-0.675-2.131-0.896c-0.2-0.056-0.38-0.138-0.58-0.19C359.87,0.119,359.037,0,358.193,0H97.2 c-11.918,0-21.6,9.693-21.6,21.601v175.413H62.377c-17.049,0-30.873,13.818-30.873,30.873v160.545 c0,17.043,13.824,30.87,30.873,30.87h13.224V529.2c0,11.907,9.682,21.601,21.6,21.601h356.4c11.907,0,21.6-9.693,21.6-21.601 V419.302h13.226c17.044,0,30.871-13.827,30.871-30.87v-160.54C519.297,210.838,505.47,197.019,488.426,197.019z M97.2,21.605 h250.193v110.513c0,5.967,4.841,10.8,10.8,10.8h95.407v54.108H97.2V21.605z M234.344,335.86v45.831h-31.601V229.524h40.184 l31.611,55.759c9.025,16.031,18.064,34.983,24.825,52.154h0.675c-2.257-20.103-2.933-40.643-2.933-63.44v-44.473h31.614v152.167 h-36.117l-32.516-58.703c-9.049-16.253-18.971-35.892-26.438-53.727l-0.665,0.222C233.906,289.58,234.344,311.027,234.344,335.86z M71.556,381.691V231.56c10.613-1.804,25.516-3.159,46.506-3.159c21.215,0,36.353,4.061,46.509,12.192 c9.698,7.673,16.255,20.313,16.255,35.219c0,14.897-4.959,27.549-13.999,36.123c-11.738,11.063-29.123,16.031-49.441,16.031 c-4.522,0-8.593-0.231-11.736-0.675v54.411H71.556V381.691z M453.601,523.353H97.2V419.302h356.4V523.353z M485.652,374.688 c-10.61,3.607-30.713,8.585-50.805,8.585c-27.759,0-47.872-7.003-61.857-20.545c-13.995-13.1-21.684-32.97-21.452-55.318 c0.222-50.569,37.03-79.463,86.917-79.463c19.644,0,34.783,3.829,42.219,7.446l-7.214,27.543c-8.369-3.617-18.752-6.55-35.458-6.55 c-28.656,0-50.341,16.256-50.341,49.22c0,31.382,19.649,49.892,47.872,49.892c7.895,0,14.218-0.901,16.934-2.257v-31.835h-23.493 v-26.869h56.679V374.688z"/>
|
|
27
27
|
</svg>`},e.icon.pdf_export=e.icon.pdf_preview=e.icon.pdfpreview=e.icon.pdf=function(e,t,n,r,i){return r??=0,i??=0,`<svg width="${e}" height="${t}" viewBox="0 0 550.801 550.801" x="${r}" y="${i}">
|
|
@@ -263,7 +263,7 @@ var e=function(e,t){var n=this;Object.defineProperty(this,`element`,{get(){retur
|
|
|
263
263
|
<path stroke-width="${r}" fill="none" stroke="url(#${e}_linearColors6)" d="${a(n,n,n,300,1)}"/>
|
|
264
264
|
</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+=`
|
|
265
265
|
`;for(let t of Object.keys(e))[`id`,`pid`,`name`,`children`,`tags`].includes(t)||(a+=r+`[`+t+`]`+e[t]+`
|
|
266
|
-
`);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===`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._addSelectedStyle=function(t,n,r){var i=t.getNodeElement(n.id);if(i&&i.classList.add(`boc-selected`),n.parent){var a=t.element.querySelector(`[data-l-id="[${n.parent.id}][${n.id}]"]`);a&&a.classList.add(`boc-selected`)}if(r!=n.id){var o=t.element.querySelector(`[data-ctrl-ec-id="${n.id}"]`);o&&o.classList.add(`boc-selected`)}n.rightNeighbor&&n.rightNeighbor.isSplit&&n.rightNeighbor.pid==n.pid&&e._addSelectedStyle(t,n.rightNeighbor,r),n.leftNeighbor&&n.leftNeighbor.isSplit&&n.leftNeighbor.pid==n.pid&&e._addSelectedStyle(t,n.leftNeighbor,r),n.parent&&n.parent.isSplit&&e._addSelectedStyle(t,n.parent,r);var s=t.getNode(n.pid);n.parent&&e._addSelectedStyle(t,s,r)},e._removeSelectedStyle=function(e){let t=e.element.querySelectorAll(`.boc-selected`);for(let e=0;e<t.length;e++)t[e].classList.remove(`boc-selected`)},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._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">
|
|
266
|
+
`);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===`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.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._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">
|
|
267
267
|
<div data-boc-ai-close class="boc-ai-close">${e.icon.x(20,20,`#aeaeae`)}</div>
|
|
268
268
|
<div class="boc-ai-middle boc-ai-start">
|
|
269
269
|
<div data-boc-ai-messages class="boc-ai-messages">
|
package/orgchart.mjs
CHANGED
|
@@ -694,7 +694,7 @@ e.prototype.init = function(t, n) {
|
|
|
694
694
|
n._menuClickHandler.apply(n, [this, e]);
|
|
695
695
|
});
|
|
696
696
|
}
|
|
697
|
-
}, e === void 0 && (e = {}), e.VERSION = "9.2.
|
|
697
|
+
}, e === void 0 && (e = {}), e.VERSION = "9.2.36", 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 = {
|
|
698
698
|
top_right: "top_right",
|
|
699
699
|
right_top: "right_top",
|
|
700
700
|
bottom_right: "bottom_right",
|
|
@@ -4984,22 +4984,6 @@ e.prototype.init = function(t, n) {
|
|
|
4984
4984
|
e.width = s, e.height = c, i.drawImage(a, 0, 0, s, c), r(e.toDataURL("image/png"));
|
|
4985
4985
|
}, a.onerror = i, a.src = e;
|
|
4986
4986
|
});
|
|
4987
|
-
}, e._addSelectedStyle = function(t, n, r) {
|
|
4988
|
-
var i = t.getNodeElement(n.id);
|
|
4989
|
-
if (i && i.classList.add("boc-selected"), n.parent) {
|
|
4990
|
-
var a = t.element.querySelector(`[data-l-id="[${n.parent.id}][${n.id}]"]`);
|
|
4991
|
-
a && a.classList.add("boc-selected");
|
|
4992
|
-
}
|
|
4993
|
-
if (r != n.id) {
|
|
4994
|
-
var o = t.element.querySelector(`[data-ctrl-ec-id="${n.id}"]`);
|
|
4995
|
-
o && o.classList.add("boc-selected");
|
|
4996
|
-
}
|
|
4997
|
-
n.rightNeighbor && n.rightNeighbor.isSplit && n.rightNeighbor.pid == n.pid && e._addSelectedStyle(t, n.rightNeighbor, r), n.leftNeighbor && n.leftNeighbor.isSplit && n.leftNeighbor.pid == n.pid && e._addSelectedStyle(t, n.leftNeighbor, r), n.parent && n.parent.isSplit && e._addSelectedStyle(t, n.parent, r);
|
|
4998
|
-
var s = t.getNode(n.pid);
|
|
4999
|
-
n.parent && e._addSelectedStyle(t, s, r);
|
|
5000
|
-
}, e._removeSelectedStyle = function(e) {
|
|
5001
|
-
let t = e.element.querySelectorAll(".boc-selected");
|
|
5002
|
-
for (let e = 0; e < t.length; e++) t[e].classList.remove("boc-selected");
|
|
5003
4987
|
}, e.prototype.zoom = function(t, n, r, i) {
|
|
5004
4988
|
var a = this.getViewBox().slice(0), o = a, s = a[2], c = a[3];
|
|
5005
4989
|
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]);
|
package/package.json
CHANGED