@elyra/canvas 12.37.0 → 12.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{common-canvas-c728f092.js → common-canvas-9be06eb4.js} +2 -2
- package/dist/{common-canvas-c728f092.js.map → common-canvas-9be06eb4.js.map} +1 -1
- package/dist/{common-canvas-339584b8.js → common-canvas-e201c174.js} +2 -2
- package/dist/{common-canvas-339584b8.js.map → common-canvas-e201c174.js.map} +1 -1
- package/dist/common-canvas.es.js +1 -1
- package/dist/common-canvas.js +1 -1
- package/dist/{common-properties-99d34523.js → common-properties-7ad71160.js} +2 -2
- package/dist/{common-properties-99d34523.js.map → common-properties-7ad71160.js.map} +1 -1
- package/dist/{common-properties-009d29d6.js → common-properties-f1c69af7.js} +2 -2
- package/dist/{common-properties-009d29d6.js.map → common-properties-f1c69af7.js.map} +1 -1
- package/dist/lib/canvas.es.js +1 -1
- package/dist/lib/canvas.js +1 -1
- package/dist/lib/properties.es.js +1 -1
- package/dist/lib/properties.js +1 -1
- package/dist/styles/common-canvas.min.css +1 -1
- package/dist/styles/common-canvas.min.css.map +1 -1
- package/locales/common-canvas/locales/de.json +1 -0
- package/locales/common-canvas/locales/es.json +1 -0
- package/locales/common-canvas/locales/fr.json +1 -0
- package/locales/common-canvas/locales/it.json +1 -0
- package/locales/common-canvas/locales/ja.json +1 -0
- package/locales/common-canvas/locales/ko.json +1 -0
- package/locales/common-canvas/locales/pt-br.json +1 -0
- package/locales/common-canvas/locales/sv.json +1 -0
- package/locales/common-canvas/locales/zh-CN.json +1 -0
- package/locales/common-canvas/locales/zh-TW.json +1 -0
- package/package.json +1 -1
- package/src/common-properties/properties-controller.js +5 -0
- package/src/notification-panel/notification-panel.jsx +15 -20
- package/src/notification-panel/notification-panel.scss +12 -13
- package/stats.html +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{_ as e,a as t,b as n}from"./createClass-ffbbe837.js";import{_ as i,a as o,b as r,c as a}from"./getPrototypeOf-012c454b.js";import s from"react";import{connect as l,Provider as c}from"react-redux";import{injectIntl as u}from"react-intl";import{h as d,g as h,N as p,E as g,c as f,u as v,a3 as y}from"./isArrayLikeObject-9104c690.js";import{I as m}from"./icon-5e06bfe1.js";import b from"react-inlinesvg";import{M as k,N as C,U as x,O as P,h as L,P as w,Q as S,R as N,V as T,X as D,Y as E,Z as I,$ as O,E as _,W as A,a0 as M,a1 as z,a2 as H,a3 as j,a4 as R,a5 as U,a6 as B,a7 as F,a8 as G,a9 as Y,aa as W,ab as X,ac as Z,ad as V,ae as K,af as q,ag as $,ah as J,ai as Q,aj as ee,ak as te,al as ne,am as ie,an as oe,ao as re,ap as ae,aq as se,ar as le,c as ce,as as ue,at as de,au as he,_ as pe,av as ge,aw as fe,ax as ve,ay as ye,az as me,aA as be,aB as ke,aC as Ce,aD as xe,T as Pe,aE as Le,aF as we,aG as Se,S as Ne,I as Te,aH as De}from"./canvas-constants-f4219d26.js";import{a as Ee,t as Ie,T as Oe}from"./toolbar-85e1e463.js";import{c as _e}from"./datarecord-metadata-v3-schema-c2ad8862.js";import{AccordionItem as Ae,InlineLoading as Me,Search as ze,Accordion as He,Button as je}from"carbon-components-react";import{L as Re}from"./canvas-logger-fec87cd1.js";import Ue from"./lib/tooltip.es.js";import Be from"react-resize-detector";import{a as Fe,d as Ge,_ as Ye,b as We}from"./canvas-controller-62b66fc8.js";import{C as Xe,a as Ze}from"./context-menu-wrapper-ab018d6e.js";import{_ as Ve,y as Ke}from"./_baseIteratee-84bbd39d.js";import{TextScale32 as qe,TextBold32 as $e,TextItalic32 as Je,TextStrikethrough32 as Qe,Code32 as et,Link32 as tt,TextIndentMore32 as nt,ListNumbered32 as it,ListBulleted32 as ot,Locked16 as rt,EditOff16 as at,FlowData16 as st,ArrowLeft16 as lt,Close16 as ct}from"@carbon/icons-react";import ut from"react-dom";var dt="Find palette nodes",ht="No results found.",pt="Try adjusting your search to find what you're looking for.",gt="Results restricted to 10 nodes. Try refining your search.",ft="Show more",vt="Show less",yt="Flyout Palette",mt="Dialog Palette";function bt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var kt=function(n){i(r,n);var o=bt(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).state={hover:!1},n.iconClicked=n.iconClicked.bind(a(n)),n.mouseEnter=n.mouseEnter.bind(a(n)),n.mouseLeave=n.mouseLeave.bind(a(n)),n.mouseDown=n.mouseDown.bind(a(n)),n}return t(r,[{key:"iconClicked",value:function(){this.props.iconClickedMethod()}},{key:"mouseEnter",value:function(){this.setState({hover:!0})}},{key:"mouseLeave",value:function(){this.setState({hover:!1})}},{key:"mouseDown",value:function(e){e.stopPropagation()}},{key:"render",value:function(){var e=this.props.selectedIconName;return this.props.isSelected||(e=this.state.hover?this.props.hoverIconName:this.props.deselectedIconName),s.createElement("div",{draggable:"false",className:"palette-three-way-icon-div"},s.createElement("img",{src:e,draggable:"false",onClick:this.iconClicked,onMouseEnter:this.mouseEnter,onMouseLeave:this.mouseLeave,onMouseDown:this.mouseDown}))}}]),r}(s.Component);function Ct(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var xt=function(n){i(r,n);var o=Ct(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).state={},n.mouseDown=n.mouseDown.bind(a(n)),n.doubleClick=n.doubleClick.bind(a(n)),n.close=n.close.bind(a(n)),n.gridViewSelected=n.gridViewSelected.bind(a(n)),n.listViewSelected=n.listViewSelected.bind(a(n)),n}return t(r,[{key:"mouseDown",value:function(e){this.props.mouseDownMethod(e)}},{key:"doubleClick",value:function(e){this.props.windowMaximizeMethod(e)}},{key:"close",value:function(e){this.props.canvasController.closePalette(e)}},{key:"gridViewSelected",value:function(){this.props.showGridMethod(!0)}},{key:"listViewSelected",value:function(){this.props.showGridMethod(!1)}},{key:"render",value:function(){return s.createElement("div",{className:"palette-dialog-topbar",onMouseDown:this.mouseDown,onDoubleClick:this.doubleClick},s.createElement("span",{className:"left-navbar"},s.createElement(kt,{iconClickedMethod:this.gridViewSelected,isSelected:this.props.showGrid,selectedIconName:"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%20enable-background%3D%22new%200%200%2016%2016%22%3E%3Cg%20fill%3D%22%233D70B2%22%3E%3Cpath%20d%3D%22m9.8%200h6.2v6.2h-6.2z%22%2F%3E%3Cpath%20d%3D%22M8.6%2C0H7.4H0v7.4v1.2V16h7.4h1.2H16V8.6V7.4H8.6V0z%20M7.4%2C14.8H1.2V8.6h6.2V14.8z%20M14.8%2C8.6v6.2H8.6V8.6%20%20H14.8z%20M1.2%2C7.4V1.2h6.2v6.2H1.2z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E",hoverIconName:"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%20enable-background%3D%22new%200%200%2016%2016%22%3E%3Cg%20fill%3D%22%235596e6%22%3E%3Cpath%20d%3D%22m9.8%200h6.2v6.2h-6.2z%22%2F%3E%3Cpath%20d%3D%22M8.6%2C0H7.4H0v7.4v1.2V16h7.4h1.2H16V8.6V7.4H8.6V0z%20M7.4%2C14.8H1.2V8.6h6.2V14.8z%20M14.8%2C8.6v6.2H8.6V8.6%20%20H14.8z%20M1.2%2C7.4V1.2h6.2v6.2H1.2z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E",deselectedIconName:"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%20enable-background%3D%22new%200%200%2016%2016%22%3E%3Cg%20fill%3D%22%23C7C7C7%22%3E%3Cpath%20d%3D%22m9.8%200h6.2v6.2h-6.2z%22%2F%3E%3Cpath%20d%3D%22M8.6%2C0H7.4H0v7.4v1.2V16h7.4h1.2H16V8.6V7.4H8.6V0z%20M7.4%2C14.8H1.2V8.6h6.2V14.8z%20M14.8%2C8.6v6.2H8.6V8.6%20%20H14.8z%20M1.2%2C7.4V1.2h6.2v6.2H1.2z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"}),s.createElement(kt,{iconClickedMethod:this.listViewSelected,isSelected:!this.props.showGrid,selectedIconName:"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%20enable-background%3D%22new%200%200%2016%2016%22%3E%3Cg%20fill%3D%22%233D70B2%22%3E%3Cpath%20d%3D%22m0%2014.5h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%2014.5h12.7v1.5h-12.7z%22%2F%3E%3Cpath%20d%3D%22m0%209.7h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%209.7h12.7v1.5h-12.7z%22%2F%3E%3Cpath%20d%3D%22m0%204.8h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%204.8h12.7v1.5h-12.7z%22%2F%3E%3Cpath%20d%3D%22m0%200h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%200h12.7v1.5h-12.7z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E",hoverIconName:"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%20enable-background%3D%22new%200%200%2016%2016%22%3E%3Cg%20fill%3D%22%235596e6%22%3E%3Cpath%20d%3D%22m0%2014.5h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%2014.5h12.7v1.5h-12.7z%22%2F%3E%3Cpath%20d%3D%22m0%209.7h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%209.7h12.7v1.5h-12.7z%22%2F%3E%3Cpath%20d%3D%22m0%204.8h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%204.8h12.7v1.5h-12.7z%22%2F%3E%3Cpath%20d%3D%22m0%200h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%200h12.7v1.5h-12.7z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E",deselectedIconName:"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%20enable-background%3D%22new%200%200%2016%2016%22%3E%3Cg%20fill%3D%22%23C7C7C7%22%3E%3Cpath%20d%3D%22m0%2014.5h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%2014.5h12.7v1.5h-12.7z%22%2F%3E%3Cpath%20d%3D%22m0%209.7h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%209.7h12.7v1.5h-12.7z%22%2F%3E%3Cpath%20d%3D%22m0%204.8h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%204.8h12.7v1.5h-12.7z%22%2F%3E%3Cpath%20d%3D%22m0%200h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%200h12.7v1.5h-12.7z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"})),s.createElement("span",{className:"right-navbar"},s.createElement("a",{className:"secondary-action",onClick:this.close},s.createElement("img",{src:"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20style%3D%22fill%3A%233D70B2%22%20d%3D%22M20.293%2010.293L16%2014.586l-4.293-4.293-1.414%201.414L14.586%2016l-4.293%204.293%201.414%201.414L16%2017.414l4.293%204.293%201.414-1.414L17.414%2016l4.293-4.293z%22%2F%3E%3Cpath%20style%3D%22fill%3A%233D70B2%22%20d%3D%22M16%202C8.269%202%202%208.269%202%2016s6.269%2014%2014%2014%2014-6.269%2014-14S23.731%202%2016%202zm0%2026C9.383%2028%204%2022.617%204%2016S9.383%204%2016%204s12%205.383%2012%2012-5.383%2012-12%2012z%22%2F%3E%3C%2Fsvg%3E",draggable:"false",className:"close-icon"}))))}}]),r}(s.Component);function Pt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var Lt=function(n){i(r,n);var o=Pt(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).state={},n.categorySelected=n.categorySelected.bind(a(n)),n}return t(r,[{key:"categorySelected",value:function(e){this.props.categorySelectedMethod(e)}},{key:"render",value:function(){var e="palette-dialog-category";return this.props.selectedCategory===this.props.category.label&&(e="palette-dialog-category-selected"),s.createElement("div",{"data-id":this.props.category.id,className:e,onClick:this.categorySelected},this.props.category.label)}}]),r}(s.Component);function wt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var St=function(n){i(r,n);var o=wt(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).state={},n}return t(r,[{key:"render",value:function(){for(var e=[],t=0;t<this.props.categories.length;t++)e.push(s.createElement(Lt,{key:this.props.categories[t].label,category:this.props.categories[t],selectedCategory:this.props.selectedCategory,categorySelectedMethod:this.props.categorySelectedMethod}));return s.createElement("div",{className:"palette-dialog-categories palette-scroll"},e)}}]),r}(s.Component),Nt="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2060%22%3E%20%3Cpath%20d%3D%22M32%2C42a1.61%2C1.61%2C0%2C0%2C1-.8-.2L9.28%2C30.15l1.6-2.94L32%2C38.47%2C53.12%2C27.21l1.6%2C2.94L32.8%2C41.84A1.71%2C1.71%2C0%2C0%2C1%2C32%2C42Z%22%2F%3E%20%3Cpath%20d%3D%22M32%2C52.05a1.72%2C1.72%2C0%2C0%2C1-.8-.2L9.28%2C40.17l1.6-2.94L32%2C48.48%2C53.12%2C37.23l1.6%2C2.94L32.8%2C51.85A1.72%2C1.72%2C0%2C0%2C1%2C32%2C52.05Z%22%2F%3E%20%3Cpath%20d%3D%22M32%2C32a1.72%2C1.72%2C0%2C0%2C1-.8-.2L9.28%2C20.14a1.66%2C1.66%2C0%2C0%2C1%2C0-2.94L31.2%2C5.52a1.68%2C1.68%2C0%2C0%2C1%2C1.6%2C0L54.72%2C17.2a1.66%2C1.66%2C0%2C0%2C1%2C.69%2C2.26%2C1.74%2C1.74%2C0%2C0%2C1-.69.68L32.8%2C31.82A1.72%2C1.72%2C0%2C0%2C1%2C32%2C32ZM13.64%2C18.67%2C32%2C28.46l18.36-9.79L32%2C8.88Z%22%2F%3E%20%3Crect%20x%3D%225.02%22%20y%3D%221.98%22%20width%3D%2253.96%22%20height%3D%2253.41%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E",Tt="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2060%22%3E%20%3Cpolygon%20points%3D%2217.28%204.63%2026.88%2014.07%2024.74%2015.87%2018.94%2010.35%2018.94%2026.29%2015.78%2026.29%2015.78%2010.35%209.97%2016.12%207.91%2014.04%2017.28%204.63%22%2F%3E%20%3Cpath%20d%3D%22M32.39%2C6.36l.2.1%2C20.35%2C11a2.7%2C2.7%2C0%2C0%2C1%2C1.11%2C1.11%2C2.74%2C2.74%2C0%2C0%2C1-.89%2C3.59l-.22.13L33%2C33a2.66%2C2.66%2C0%2C0%2C1-2.51%2C0l-6-3.13a1.83%2C1.83%2C0%2C1%2C1%2C1.69-3.25l5.57%2C2.89%2C18-9.69L30.85%2C9.68A1.83%2C1.83%2C0%2C0%2C1%2C30%2C7.39l.09-.19A1.83%2C1.83%2C0%2C0%2C1%2C32.39%2C6.36Z%22%2F%3E%20%3Cpath%20d%3D%22M53%2C28.53l1.62%2C3L32.52%2C43.43a1.59%2C1.59%2C0%2C0%2C1-.8.21%2C1.66%2C1.66%2C0%2C0%2C1-.81-.21L8.8%2C31.53l1.61-3L31.72%2C40Z%22%2F%3E%20%3Cpath%20d%3D%22M53%2C38.74l1.62%2C3L32.52%2C53.64a1.69%2C1.69%2C0%2C0%2C1-.8.2%2C1.76%2C1.76%2C0%2C0%2C1-.81-.2L8.8%2C41.73l1.61-3L31.72%2C50.21Z%22%2F%3E%3C%2Fsvg%3E";function Dt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var Et=function(n){i(r,n);var o=Dt(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).state={},n.ghostData=null,n.onDragStart=n.onDragStart.bind(a(n)),n.onDragEnd=n.onDragEnd.bind(a(n)),n.onDoubleClick=n.onDoubleClick.bind(a(n)),n.onMouseOver=n.onMouseOver.bind(a(n)),n.onMouseLeave=n.onMouseLeave.bind(a(n)),n.onMouseDown=n.onMouseDown.bind(a(n)),n}return t(r,[{key:"onMouseDown",value:function(){this.props.canvasController.closeTip(),this.ghostData=this.props.canvasController.getGhostNode(this.props.nodeTemplate)}},{key:"onDragStart",value:function(e){this.props.canvasController.nodeTemplateDragStart(this.ghostData.nodeTemplate),e.dataTransfer.setData(k,""),this.ghostData&&e.dataTransfer.setDragImage(this.ghostData.element,this.ghostData.centerX,this.ghostData.centerY)}},{key:"onDragEnd",value:function(){this.props.canvasController.nodeTemplateDragEnd()}},{key:"onDoubleClick",value:function(){if(this.props.canvasController.createAutoNode){var e=this.props.canvasController.convertNodeTemplate(this.props.nodeTemplate);this.props.canvasController.createAutoNode(e)}}},{key:"onMouseOver",value:function(e){if(0===e.buttons){var t=this.props.category.empty_text?{app_data:{ui_data:{label:this.props.category.empty_text}}}:this.props.nodeTemplate;this.props.canvasController.openTip({id:"paletteTip_"+this.props.nodeTemplate.op,type:C,targetObj:e.currentTarget,nodeTemplate:t,category:this.props.category})}}},{key:"onMouseLeave",value:function(){this.props.canvasController.closeTip()}},{key:"render",value:function(){var e="";d(this.props.nodeTemplate,"app_data.ui_data.label")&&(e=this.props.nodeTemplate.app_data.ui_data.label);var t=s.createElement("div",{className:"node-icon"});if(d(this.props.nodeTemplate,"app_data.ui_data.image")){var n=this.props.nodeTemplate.app_data.ui_data.image;n===x?n=Nt:n===P&&(n=Tt),t=n.endsWith(".svg")?s.createElement(b,{src:n,className:"node-icon",alt:e}):s.createElement("img",{src:n,className:"node-icon",alt:e})}var i=this.props.isEditingEnabled?"true":"false",o="palette-dialog-grid-node-text";return this.props.category&&0===this.props.category.node_types.length&&this.props.category.empty_text&&(e=this.props.category.empty_text,i="false",o="palette-dialog-grid-node-text-warning",t=s.createElement(m,{type:L.WARNING_UNFILLED,className:"palette-dialog-grid-node-icon-warning",draggable:"false"})),s.createElement("div",{id:this.props.nodeTemplate.id,"data-id":this.props.nodeTemplate.op,draggable:i,onMouseOver:this.onMouseOver,onMouseLeave:this.onMouseLeave,onMouseDown:this.props.isEditingEnabled?this.onMouseDown:null,onDragStart:this.props.isEditingEnabled?this.onDragStart:null,onDragEnd:this.props.isEditingEnabled?this.onDragEnd:null,onDoubleClick:this.props.isEditingEnabled?this.onDoubleClick:null,className:"palette-dialog-grid-node-outer"},s.createElement("div",{className:"palette-dialog-grid-node-inner"},s.createElement("div",{className:"palette-dialog-grid-node-icon"},t),s.createElement("div",{className:o},e)))}}]),r}(s.Component),It=Et;function Ot(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var _t=function(n){i(r,n);var o=Ot(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).state={},n}return t(r,[{key:"render",value:function(){var e=[];if(this.props.category&&this.props.category.node_types&&0===this.props.category.node_types.length&&this.props.category.empty_text)e.push(s.createElement(It,{key:"pal_grid_node_empty",category:this.props.category,nodeTemplate:{},canvasController:this.props.canvasController,isEditingEnabled:this.props.isEditingEnabled}));else for(var t=0;t<this.props.nodeTypes.length;t++)e.push(s.createElement(It,{key:"pal_grid_node_"+t,category:this.props.category,nodeTemplate:this.props.nodeTypes[t],canvasController:this.props.canvasController,isEditingEnabled:this.props.isEditingEnabled}));return s.createElement("div",{width:"100%",className:"palette-scroll"},e)}}]),r}(s.Component);function At(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var Mt=function(n){i(r,n);var o=At(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).state={showFullDescription:!1},n.ghostData=null,n.showFullDescription=n.showFullDescription.bind(a(n)),n.showShortDescription=n.showShortDescription.bind(a(n)),n.onDragStart=n.onDragStart.bind(a(n)),n.onDragEnd=n.onDragEnd.bind(a(n)),n.onDoubleClick=n.onDoubleClick.bind(a(n)),n.onMouseOver=n.onMouseOver.bind(a(n)),n.onMouseLeave=n.onMouseLeave.bind(a(n)),n.onMouseDown=n.onMouseDown.bind(a(n)),n.onKeyPress=n.onKeyPress.bind(a(n)),n}return t(r,[{key:"onMouseDown",value:function(){this.props.canvasController.closeTip(),this.ghostData=this.props.canvasController.getGhostNode(this.props.nodeTypeInfo.nodeType)}},{key:"onDragStart",value:function(e){this.props.canvasController.nodeTemplateDragStart(this.ghostData.nodeTemplate),e.dataTransfer.setData(k,""),this.ghostData&&e.dataTransfer.setDragImage(this.ghostData.element,this.ghostData.centerX,this.ghostData.centerY)}},{key:"onKeyPress",value:function(e){" "!==e.key&&"Space"!==e.code&&32!==e.keyCode||this.onDoubleClick()}},{key:"onDragEnd",value:function(){this.props.canvasController.nodeTemplateDragEnd()}},{key:"onDoubleClick",value:function(){if(this.props.canvasController.createAutoNode&&!this.isItemDisabled()){var e=this.props.canvasController.convertNodeTemplate(this.props.nodeTypeInfo.nodeType);this.props.canvasController.createAutoNode(e)}}},{key:"onMouseOver",value:function(e){if(!this.props.isDisplaySearchResult&&0===e.buttons){var t=this.props.nodeTypeInfo.category.empty_text?{app_data:{ui_data:{label:this.props.nodeTypeInfo.category.empty_text}}}:this.props.nodeTypeInfo.nodeType;this.props.canvasController.openTip({id:"paletteTip_"+this.props.nodeTypeInfo.nodeType.op,type:C,targetObj:e.currentTarget,nodeTemplate:t,category:this.props.nodeTypeInfo.category})}}},{key:"onMouseLeave",value:function(){this.props.canvasController.closeTip()}},{key:"getHighlightedCategoryLabel",value:function(){return this.getHighlightedText(this.props.nodeTypeInfo.category.label,this.props.nodeTypeInfo.occurrenceInfo.catLabelOccurrences)}},{key:"getHighlightedLabel",value:function(e){return this.getHighlightedText(e,this.props.nodeTypeInfo.occurrenceInfo.nodeLabelOccurrences)}},{key:"getHighlightedDesc",value:function(){var e=this.props.nodeTypeInfo.nodeType.app_data.ui_data.description,t=this.props.nodeTypeInfo.occurrenceInfo.nodeDescOccurrences,n=!1;if(e.length>150&&(n=!0,!this.state.showFullDescription)){var i=this.getAbbreviatedDescription(e,t,150);e=i.abbrDesc,t=i.occurrences}var o=this.getHighlightedText(e,t);if(n)if(this.state.showFullDescription){var r=this.props.intl.formatMessage({id:"palette.flyout.search.less",defaultMessage:vt});o.push(s.createElement("div",{key:"l_btn",className:"palette-list-item-desc-button",onClick:this.showShortDescription},r))}else{var a=this.props.intl.formatMessage({id:"palette.flyout.search.more",defaultMessage:ft});o.push(s.createElement("div",{key:"m_btn",className:"palette-list-item-desc-button",onClick:this.showFullDescription},a))}return o}},{key:"getAbbreviatedDescription",value:function(e,t,n){if(0===t.length)return{abbrDesc:e.substring(0,n)+" ...",occurrences:t};var i=t[0].start,o=e.length-i,r="",a=0;return i<n?(a=0,r=e.substring(a,n)+" ..."):o>n?(a=i,r="... "+e.substring(a,i+n)+" ...",a-=4):(a=e.length-n,r="... "+e.substring(a,e.length),a-=4),{abbrDesc:r,occurrences:t.map((function(e){return{start:e.start-a,end:e.end-a}}))}}},{key:"getHighlightedText",value:function(e,t){if(!t||0===t.length)return[s.createElement("span",{key:"o"},e)];var n=[],i=0,o="";return t.forEach((function(r,a){o=e.substring(i,r.start),n.push(s.createElement("span",{key:"s"+a},o)),o=e.substring(r.start,r.end),n.push(s.createElement("mark",{key:"m"+a},o)),i=r.end,a===t.length-1&&r.end<e.length&&(o=e.substring(r.end),n.push(s.createElement("span",{key:"f"+a},o)))})),n}},{key:"getMainDivClass",value:function(){var e,t,n,i,o=null===(e=this.props.nodeTypeInfo)||void 0===e||null===(t=e.nodeType)||void 0===t||null===(n=t.app_data)||void 0===n||null===(i=n.ui_data)||void 0===i?void 0:i.palette_class_name,r=this.props.isDisplaySearchResult?"palette-list-item search-result":"palette-list-item";return r+=o?" "+o:""}},{key:"showFullDescription",value:function(){this.setState({showFullDescription:!0})}},{key:"showShortDescription",value:function(){this.setState({showFullDescription:!1})}},{key:"isItemDisabled",value:function(){var e,t,n,i=null===(e=this.props.nodeTypeInfo.nodeType)||void 0===e||null===(t=e.app_data)||void 0===t||null===(n=t.ui_data)||void 0===n?void 0:n.palette_disabled;return!this.props.isEditingEnabled||i}},{key:"render",value:function(){var e=null,t=h(this.props,"nodeTypeInfo.nodeType.app_data.ui_data.label",""),n=this.isItemDisabled()?"false":"true",i=null;if(d(this.props.nodeTypeInfo.nodeType,"app_data.ui_data.image")){var o=this.props.nodeTypeInfo.nodeType.app_data.ui_data.palette_image?this.props.nodeTypeInfo.nodeType.app_data.ui_data.palette_image:this.props.nodeTypeInfo.nodeType.app_data.ui_data.image;o===x?o=Nt:o===P&&(o=Tt),i=o.endsWith(".svg")?s.createElement(b,{src:o,className:"palette-list-item-icon",draggable:"false"}):s.createElement("img",{src:o,className:"palette-list-item-icon",draggable:"false",alt:""})}!t||!this.props.isPaletteOpen&&i||(e=this.props.isDisplaySearchResult?this.getHighlightedLabel(t):s.createElement("span",null,t));var r=this.props.isShowRanking&&this.props.isDisplaySearchResult&&d(this.props.nodeTypeInfo,"occurrenceInfo.ranking")?s.createElement("span",null,this.props.nodeTypeInfo.occurrenceInfo.ranking):null;0===this.props.nodeTypeInfo.category.node_types.length&&this.props.nodeTypeInfo.category.empty_text&&(t=this.props.nodeTypeInfo.category.empty_text,this.props.isPaletteOpen&&(e=s.createElement("span",null,t)),n="false",i=s.createElement(m,{type:L.WARNING_UNFILLED,className:"palette-list-item-icon-warning",draggable:"false"}));var a=this.getMainDivClass(),l=this.props.isDisplaySearchResult?s.createElement("div",{className:"palette-list-item-category-label"},this.getHighlightedCategoryLabel()):null,c=this.props.isDisplaySearchResult&&d(this.props.nodeTypeInfo.nodeType,"app_data.ui_data.description")&&this.props.nodeTypeInfo.nodeType.app_data.ui_data.description?s.createElement("div",{className:"palette-list-item-description"},this.getHighlightedDesc()):null,u=e?s.createElement("div",{className:"palette-list-item-text-div",tabIndex:"-1"},e):null;return s.createElement("div",{"data-id":this.props.nodeTypeInfo.nodeType.op,tabIndex:0,role:"button","aria-label":t,draggable:n,className:a,onMouseOver:this.onMouseOver,onMouseLeave:this.onMouseLeave,onKeyPress:this.props.isEditingEnabled?this.onKeyPress:null,onMouseDown:this.props.isEditingEnabled?this.onMouseDown:null,onDragStart:this.props.isEditingEnabled?this.onDragStart:null,onDragEnd:this.props.isEditingEnabled?this.onDragEnd:null,onDoubleClick:this.props.isEditingEnabled?this.onDoubleClick:null},l,s.createElement("div",{className:"palette-list-item-icon-and-text",tabIndex:"-1"},i,u,r),c)}}]),r}(s.Component),zt=u(Mt);function Ht(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var jt=function(n){i(r,n);var o=Ht(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).state={},n}return t(r,[{key:"render",value:function(){var e=[];if(this.props.category&&this.props.category.node_types&&0===this.props.category.node_types.length&&this.props.category.empty_text)e.push(s.createElement("div",{key:"item_empty"},s.createElement(zt,{nodeTypeInfo:{nodeType:{},category:this.props.category},isDisplaySearchResult:!1,canvasController:this.props.canvasController,isPaletteOpen:this.props.isPaletteOpen,isEditingEnabled:this.props.isEditingEnabled})));else for(var t=0;t<this.props.nodeTypeInfos.length;t++){var n="item_"+t;e.push(s.createElement(zt,{key:n,nodeTypeInfo:this.props.nodeTypeInfos[t],isDisplaySearchResult:!1,canvasController:this.props.canvasController,isPaletteOpen:this.props.isPaletteOpen,isEditingEnabled:this.props.isEditingEnabled}))}return s.createElement("div",{width:"100%",draggable:"false",className:"palette-content-list palette-scroll"},e)}}]),r}(s.Component);function Rt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var Ut=function(n){i(r,n);var o=Rt(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).state={selectedCategory:""},n.categorySelected=n.categorySelected.bind(a(n)),n.getUniqueCategories=n.getUniqueCategories.bind(a(n)),n.getSelectedCategory=n.getSelectedCategory.bind(a(n)),n}return t(r,[{key:"getUniqueCategories",value:function(e){var t=[];if(e)for(var n=0;n<e.length;n++)-1===t.indexOf(e[n].label)&&t.push(e[n]);return t}},{key:"getSelectedCategory",value:function(e){var t={};if(e)for(var n=0;n<e.length;n++)e[n].label===this.state.selectedCategory&&(t=e[n]);return t}},{key:"categorySelected",value:function(e){this.setState({selectedCategory:e.target.firstChild.data})}},{key:"render",value:function(){var e=this.getUniqueCategories(this.props.paletteJSON.categories),t=this.getSelectedCategory(this.props.paletteJSON.categories),n=t&&t.node_types?t.node_types:[],i=n.map((function(e){return{nodeType:e,category:t}})),o=this.props.showGrid?s.createElement(_t,{category:t,nodeTypes:n,canvasController:this.props.canvasController,isEditingEnabled:this.props.isEditingEnabled}):s.createElement(jt,{category:t,nodeTypeInfos:i,canvasController:this.props.canvasController,isPaletteOpen:!0,isEditingEnabled:this.props.isEditingEnabled});return s.createElement("div",{className:"palette-dialog-content",ref:"palettecontent"},s.createElement(St,{categories:e,selectedCategory:this.state.selectedCategory,categorySelectedMethod:this.categorySelected}),o)}}],[{key:"getDerivedStateFromProps",value:function(e,t){return e.paletteJSON&&e.paletteJSON.categories&&e.paletteJSON.categories.length>0&&""===t.selectedCategory?{selectedCategory:e.paletteJSON.categories[0].label}:{}}}]),r}(s.Component);function Bt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var Ft=u(function(n){i(r,n);var o=Bt(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).state={xPos:100,yPos:100,showGrid:!0},n.showGrid=n.showGrid.bind(a(n)),n.mouseDownOnTopBar=n.mouseDownOnTopBar.bind(a(n)),n.mouseDownOnPalette=n.mouseDownOnPalette.bind(a(n)),n.mouseMove=n.mouseMove.bind(a(n)),n.mouseUp=n.mouseUp.bind(a(n)),n.windowResize=n.windowResize.bind(a(n)),n.windowMaximize=n.windowMaximize.bind(a(n)),n.getPaletteDiv=n.getPaletteDiv.bind(a(n)),n.resizePalette=n.resizePalette.bind(a(n)),n.movePalette=n.movePalette.bind(a(n)),n.setResizingCursors=n.setResizingCursors.bind(a(n)),n.setSizingHoverEdge=n.setSizingHoverEdge.bind(a(n)),n.snapToWidth=n.snapToWidth.bind(a(n)),n.snapToHeight=n.snapToHeight.bind(a(n)),n.removePx=n.removePx.bind(a(n)),n.dragging=!1,n.dragOffsetY=0,n.dragOffsetX=0,n.verticalSizingAction="",n.verticalSizingHover="",n.horizontalSizingAction="",n.hoizontalSizingHover="",n.savedWidth=0,n.savedLeft=0,n.savedHeight=0,n.savedTop=0,n.hoverZoneSize=3,n.totalHoverZoneSize=2*n.hoverZoneSize,n.adjustedWidth=137,n.adjustedHeight=51,n.adjustedScrollBarWidth=15,n.isMaximized=!1,n.paletteNodes=[],n.hackPaletteOffset=46,n.hackPaletteTopOffset=n.hackPaletteOffset+4,window.addEventListener("mousemove",n.mouseMove,!1),window.addEventListener("mouseup",n.mouseUp,!1),window.addEventListener("resize",n.windowResize,!1),n}return t(r,[{key:"componentDidUpdate",value:function(){this.windowResize()}},{key:"componentWillUnmount",value:function(){window.removeEventListener("mousemove",this.mouseMove),window.removeEventListener("mouseup",this.mouseUp),window.removeEventListener("resize",this.windowResize)}},{key:"getAdjustedMousePositionBottom",value:function(e,t){var n=e.clientY;return n>t.offsetTop+t.offsetHeight-this.hoverZoneSize&&(n=t.offsetTop+t.offsetHeight-this.hoverZoneSize),n}},{key:"getAdjustedMousePositionLeft",value:function(e,t){var n=e.clientX;return n<t.offsetLeft+this.hoverZoneSize&&(n=t.offsetLeft+this.hoverZoneSize),n}},{key:"getAdjustedMousePositionRight",value:function(e,t){var n=e.clientX;return n>t.offsetLeft+t.offsetWidth-this.hoverZoneSize&&(n=t.offsetLeft+t.offsetWidth-this.hoverZoneSize),n}},{key:"getAdjustedMousePositionTop",value:function(e,t){var n=e.clientY;return n<t.offsetTop+this.hoverZoneSize&&(n=t.offsetTop+this.hoverZoneSize),n}},{key:"getPaletteDiv",value:function(){return this.refs.palette}},{key:"getStyleProperty",value:function(e,t){var n=e.charAt(0),i=e.substring(1),o="#"===n?document.getElementById(i):document.getElementsByClassName(i)[0];return window.getComputedStyle(o,null).getPropertyValue(t)}},{key:"setResizingCursors",value:function(e){var t=this.getPaletteDiv();this.setSizingHoverEdge(e,t),"top"===this.verticalSizingHover?"left"===this.horizontalSizingHover?t.style.cursor="nwse-resize":"right"===this.horizontalSizingHover?t.style.cursor="nesw-resize":t.style.cursor="ns-resize":"bottom"===this.verticalSizingHover?"left"===this.horizontalSizingHover?t.style.cursor="nesw-resize":"right"===this.horizontalSizingHover?t.style.cursor="nwse-resize":t.style.cursor="ns-resize":"left"===this.horizontalSizingHover||"right"===this.horizontalSizingHover?t.style.cursor="ew-resize":t.style.cursor="default"}},{key:"setContentDivHeight",value:function(e,t){var n=t-this.removePx(this.getStyleProperty(".palette-dialog-topbar","height"))-this.totalHoverZoneSize+"px",i=e.childNodes[1];i.style.height=n,i.childNodes[0].style.height=n,i.childNodes[1].style.height=n,i.childNodes[2].style.height=n}},{key:"setSizingHoverEdge",value:function(e,t){e.clientX>t.offsetLeft&&e.clientX<t.offsetLeft+this.totalHoverZoneSize?this.horizontalSizingHover="left":e.clientX<t.offsetLeft+t.offsetWidth&&e.clientX>t.offsetLeft+t.offsetWidth-this.totalHoverZoneSize?this.horizontalSizingHover="right":(this.horizontalSizingHover="",this.horizontalSizingAction=""),e.clientY>t.offsetTop+this.hackPaletteTopOffset&&e.clientY<t.offsetTop+this.hackPaletteTopOffset+this.totalHoverZoneSize?this.verticalSizingHover="top":e.clientY<t.offsetTop+t.offsetHeight+this.hackPaletteOffset&&e.clientY>t.offsetTop+t.offsetHeight+this.hackPaletteOffset-this.totalHoverZoneSize?this.verticalSizingHover="bottom":(this.verticalSizingHover="",this.verticalSizingAction="")}},{key:"mouseDownOnTopBar",value:function(e){this.dragging=!0;var t=this.getPaletteDiv();this.dragOffsetX=e.clientX-t.offsetLeft,this.dragOffsetY=e.clientY-t.offsetTop}},{key:"mouseDownOnPalette",value:function(e){var t=this.getPaletteDiv();""===this.verticalSizingHover&&""===this.horizontalSizingHover||(this.verticalSizingAction=this.verticalSizingHover,this.horizontalSizingAction=this.horizontalSizingHover,this.savedWidth=t.offsetWidth,this.savedLeft=t.offsetLeft,this.savedHeight=t.offsetHeight,this.savedTop=t.offsetTop)}},{key:"mouseMove",value:function(e){""!==this.verticalSizingAction||""!==this.horizontalSizingAction?this.resizePalette(e):!0===this.dragging?this.movePalette(e):this.setResizingCursors(e)}},{key:"mouseUp",value:function(){var e=this.getPaletteDiv();if(this.state.showGrid&&""!==this.horizontalSizingAction){var t=this.removePx(e.style.width);""!==t&&(t=this.snapToWidth(t)),e.style.width=t+"px";var n=e.childNodes[1].childNodes[1];n.clientHeight<n.scrollHeight&&(e.style.width=t+this.adjustedScrollBarWidth+"px")}if(""!==this.verticalSizingAction){var i=this.removePx(e.style.height);if(""!==i){var o=this.snapToHeight(i);e.style.height=o+"px",this.setContentDivHeight(e,o)}}this.dragging=!1,this.verticalSizingAction="",this.horizontalSizingAction="",this.verticalSizingHover="",this.horizontalSizingHover=""}},{key:"movePalette",value:function(e){var t=this.getPaletteDiv(),n=document.getElementById(this.props.parentDivId),i=e.clientX-this.dragOffsetX,o=e.clientY-this.dragOffsetY;i<n.offsetLeft+this.hoverZoneSize&&(i=n.offsetLeft+this.hoverZoneSize),o<n.offsetTop+this.hoverZoneSize&&(o=n.offsetTop+this.hoverZoneSize),i+t.offsetWidth>n.offsetLeft+n.offsetWidth&&(i=n.offsetLeft+n.offsetWidth-t.offsetWidth-this.hoverZoneSize),o+t.offsetHeight>n.offsetTop+n.offsetHeight&&(o=n.offsetTop+n.offsetHeight-t.offsetHeight-this.hoverZoneSize),t.style.left=i+"px",t.style.top=o+"px"}},{key:"removePx",value:function(e){return parseInt(e.substring(0,e.indexOf("px")),10)}},{key:"resizePalette",value:function(e){var t=this.getPaletteDiv(),n=document.getElementById(this.props.parentDivId);this.isMaximized=!1;var i=this.removePx(this.getStyleProperty(".palette-dialog-grid-node-outer","width"))+this.removePx(this.getStyleProperty(".palette-dialog-categories","min-width"))+2*this.hoverZoneSize,o=this.removePx(this.getStyleProperty(".palette-dialog-grid-node-outer","height"))+this.removePx(this.getStyleProperty(".palette-dialog-topbar","height"))+2*this.hoverZoneSize;if("left"===this.horizontalSizingAction){var r=this.getAdjustedMousePositionLeft(e,n),a=this.savedWidth-(r-this.savedLeft);a<=i?t.style.width=i+"px":(t.style.width=a+"px",t.style.left=r+"px")}if("right"===this.horizontalSizingAction){var s=this.getAdjustedMousePositionRight(e,n)-this.savedLeft;s<=i&&(s=i),t.style.width=s+"px"}if("top"===this.verticalSizingAction){var l=this.getAdjustedMousePositionTop(e,n),c=this.savedHeight-(l-this.savedTop);c<=o?(t.style.height=o+"px",this.setContentDivHeight(t,this.minHeight)):(t.style.height=c+"px",t.style.top=l-this.dragOffsetY+"px",this.setContentDivHeight(t,c))}if("bottom"===this.verticalSizingAction){var u=this.getAdjustedMousePositionBottom(e,n)-this.savedTop-this.hackPaletteOffset;u<=o&&(u=o),t.style.height=u+"px",this.setContentDivHeight(t,u)}}},{key:"snapToWidth",value:function(e){var t=this.removePx(this.getStyleProperty(".palette-dialog-grid-node-outer","width"));return Math.round((e-this.adjustedWidth)/t)*t+this.adjustedWidth}},{key:"snapToHeight",value:function(e){var t=this.state.showGrid?this.removePx(this.getStyleProperty(".palette-dialog-grid-node-outer","height")):this.removePx(this.getStyleProperty(".palette-list-item","height"));return Math.round((e-this.adjustedHeight)/t)*t+this.adjustedHeight}},{key:"windowResize",value:function(){var e=this.getPaletteDiv(),t=document.getElementById(this.props.parentDivId);if(t)if(this.isMaximized){var n=t.offsetLeft+this.hoverZoneSize;e.style.left=n+"px";var i=t.offsetWidth-this.totalHoverZoneSize;e.style.width=i+"px";var o=t.offsetTop+this.hoverZoneSize;e.style.top=o+"px";var r=t.offsetHeight-this.totalHoverZoneSize;e.style.height=r+"px",this.setContentDivHeight(e,r)}else{if(e.offsetLeft+e.offsetWidth+this.hoverZoneSize>t.offsetLeft+t.offsetWidth){var a=t.offsetLeft+t.offsetWidth-e.offsetWidth-this.hoverZoneSize;e.style.left=a+"px"}var s=t.offsetWidth-this.totalHoverZoneSize;if(s<e.offsetWidth&&(e.style.width=s+"px",e.style.left=t.offsetLeft+t.offsetWidth-e.offsetWidth-this.hoverZoneSize+"px"),e.offsetTop+e.offsetHeight+this.hoverZoneSize>t.offsetTop+t.offsetHeight){var l=t.offsetTop+t.offsetHeight-e.offsetHeight-this.hoverZoneSize;e.style.top=l+"px"}var c=t.offsetHeight-this.totalHoverZoneSize;c<e.offsetHeight&&(e.style.height=c+"px",e.style.top=t.offsetTop+t.offsetHeight-e.offsetHeight-this.hoverZoneSize+"px",this.setContentDivHeight(e,c))}}},{key:"windowMaximize",value:function(){var e=this.getPaletteDiv(),t=document.getElementById(this.props.parentDivId);if(t)if(this.isMaximized)e.style.width=this.savedWidth+"px",e.style.left=this.savedLeft+"px",e.style.height=this.savedHeight+"px",e.style.top=this.savedTop+"px",this.setContentDivHeight(e,this.savedHeight),this.isMaximized=!1,this.windowResize();else{this.savedWidth=e.offsetWidth,this.savedLeft=e.offsetLeft,this.savedHeight=e.offsetHeight,this.savedTop=e.offsetTop;var n=t.offsetWidth-this.totalHoverZoneSize+1;e.style.width=n+"px",e.style.left=t.offsetLeft+this.hoverZoneSize+"px";var i=t.offsetHeight-this.totalHoverZoneSize+1;e.style.height=i+"px",e.style.top=t.offsetTop+this.hoverZoneSize+"px",this.setContentDivHeight(e,i),this.isMaximized=!0}}},{key:"showGrid",value:function(e){this.setState({showGrid:e})}},{key:"render",value:function(){var e=this.props.showPalette?"block":"none";return s.createElement("nav",{"aria-label":this.props.intl.formatMessage({id:"palette.dialog.label",defaultMessage:mt}),role:"navigation"},s.createElement("div",{className:"palette-dialog-div",ref:"palette",onMouseDown:this.mouseDownOnPalette,style:{display:e}},s.createElement(xt,{mouseDownMethod:this.mouseDownOnTopBar,showGridMethod:this.showGrid,windowMaximizeMethod:this.windowMaximize,showGrid:this.state.showGrid,canvasController:this.props.canvasController}),s.createElement(Ut,{paletteJSON:this.props.paletteJSON,showGrid:this.state.showGrid,canvasController:this.props.canvasController,isEditingEnabled:this.props.isEditingEnabled})))}}]),r}(s.Component)),Gt=p,Yt=g,Wt=function(){return Gt.Date.now()},Xt=Ee,Zt=Math.max,Vt=Math.min;var Kt=function(e,t,n){var i,o,r,a,s,l,c=0,u=!1,d=!1,h=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function p(t){var n=i,r=o;return i=o=void 0,c=t,a=e.apply(r,n)}function g(e){var n=e-l;return void 0===l||n>=t||n<0||d&&e-c>=r}function f(){var e=Wt();if(g(e))return v(e);s=setTimeout(f,function(e){var n=t-(e-l);return d?Vt(n,r-(e-c)):n}(e))}function v(e){return s=void 0,h&&i?p(e):(i=o=void 0,a)}function y(){var e=Wt(),n=g(e);if(i=arguments,o=this,l=e,n){if(void 0===s)return function(e){return c=e,s=setTimeout(f,t),u?p(e):a}(l);if(d)return clearTimeout(s),s=setTimeout(f,t),p(l)}return void 0===s&&(s=setTimeout(f,t)),a}return t=Xt(t)||0,Yt(n)&&(u=!!n.leading,r=(d="maxWait"in n)?Zt(Xt(n.maxWait)||0,t):r,h="trailing"in n?!!n.trailing:h),y.cancel=function(){void 0!==s&&clearTimeout(s),c=0,i=l=o=s=void 0},y.flush=function(){return void 0===s?a:v(Wt())},y};function qt(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return $t(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return $t(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0,o=function(){};return{s:o,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,r=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw r}}}}function $t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function Jt(e,t){var n=[];if(e.node_types){var i,o=qt(e.node_types);try{for(o.s();!(i=o.n()).done;){var r=i.value,a=Qt(r,e,t);a&&n.push({nodeType:r,category:e,occurrenceInfo:a})}}catch(e){o.e(e)}finally{o.f()}}return n}function Qt(e,t,n){if(n.length>0){var i=function(e,t){var n=d(e,"label")&&e.label?e.label.toLowerCase():"",i=en(n,t),o=i.occurrences,r=i.hitCounts;return{catLabelOccurrences:o,catLabelHitCounts:r}}(t,n),o=i.catLabelOccurrences,r=i.catLabelHitCounts,a=function(e,t){var n=d(e,"app_data.ui_data.label")&&e.app_data.ui_data.label?e.app_data.ui_data.label.toLowerCase():"",i=en(n,t),o=i.occurrences,r=i.hitCounts;return{nodeLabelOccurrences:o,nodeLabelHitCounts:r}}(e,n),s=a.nodeLabelOccurrences,l=a.nodeLabelHitCounts,c=function(e,t){var n=d(e,"app_data.ui_data.description")&&e.app_data.ui_data.description?e.app_data.ui_data.description.toLowerCase():"",i=en(n,t),o=i.occurrences,r=i.hitCounts;return{nodeDescOccurrences:o,nodeDescHitCounts:r}}(e,n),u=c.nodeDescOccurrences,h=c.nodeDescHitCounts;if(o.length>0||s.length>0||u.length>0){var p=function(e,t,n,i){for(var o=0,r=0,a=0;a<i;a++)o+=e[a]+10*t[a]+n[a],e[a]+t[a]+n[a]>0&&r++;return o+50*r}(r,l,h,n.length);return{catLabelOccurrences:o,nodeLabelOccurrences:s,nodeDescOccurrences:u,ranking:p}}}return null}function en(e,t){var n=[],i=[];return t.forEach((function(t){if(t){var o=function(e,t){var n=[],i=0,o=0,r=0;for(;o>-1&&r<20;)(o=e.indexOf(t,i))>-1&&(n.push({start:o,end:o+t.length}),i=o+t.length,r++);return n}(e,t);n=function(e,t){if(0===e.length)return t;if(0===t.length)return e;var n=[];t.forEach((function(t){var i=!1;e.forEach((function(e){t.start<=e.start&&t.end>=e.end?(e.start=t.start,e.end=t.end,i=!0):t.start>=e.start&&t.start<e.end?(t.end>=e.end&&(e.end=t.end),i=!0):t.end>e.start&&t.end<=e.end&&(t.start<e.start&&(e.start=t.start),i=!0)})),i||n.push(t)}));var i=e.concat(n);return i=i.sort((function(e,t){return e.start<t.start?-1:1}))}(n,o),i.push(o.length>0?1:0)}})),{occurrences:n,hitCounts:i}}function tn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var nn=function(n){i(r,n);var o=tn(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).onMouseOver=n.onMouseOver.bind(a(n)),n.onMouseLeave=n.onMouseLeave.bind(a(n)),n.categoryClicked=n.categoryClicked.bind(a(n)),n}return t(r,[{key:"onMouseOver",value:function(e){this.props.canvasController.openTip({id:"paletteTip_"+this.props.category.id,type:w,targetObj:e.currentTarget,category:this.props.category})}},{key:"onMouseLeave",value:function(){this.props.canvasController.closeTip()}},{key:"getDisplayLabel",value:function(){return!0===this.props.isPaletteOpen?this.props.category.label:!this.props.category.image&&this.props.category.label&&this.props.category.label.length>0?this.props.category.label.substr(0,3):null}},{key:"getInlineLoadingRenderCategory",value:function(){var e="";this.props.isPaletteOpen&&(e=this.props.category.loading_text);var t=s.createElement("div",{className:"palette-flyout-category"},s.createElement("div",{className:"palette-flyout-category-item-loading"},s.createElement(Me,{description:e,onSuccess:function(){return null},status:"active",successDelay:1500})));return s.createElement(Ae,{className:"palette-loading-category",title:t})}},{key:"getRenderCategory",value:function(){var e=this.getTitleObj(),t=this.getContent();return s.createElement(Ae,{title:e,open:this.props.category.is_open},t)}},{key:"getTitleObj",value:function(){var e=this.getItemImage(),t=this.getItemText();return s.createElement("div",{className:"palette-flyout-category","data-id":h(this.props.category,"id",""),onClick:this.categoryClicked,value:this.props.category.label,onMouseOver:this.onMouseOver,onMouseLeave:this.onMouseLeave},s.createElement("div",{className:"palette-flyout-category-item"},e,t))}},{key:"getItemText",value:function(){var e=null,t=this.getDisplayLabel();if(!0===this.props.isPaletteOpen){var n=this.props.category.image?"palette-flyout-category-text":"palette-flyout-category-text-no-image";e=s.createElement("span",{className:n},t)}else!this.props.category.image&&this.props.category.label&&this.props.category.label.length>0&&(e=s.createElement("span",{className:"palette-flyout-category-text-abbr"},t));return e}},{key:"getItemImage",value:function(){var e=null;return this.props.category.image&&""!==this.props.category.image&&(e=this.props.category.image.endsWith(".svg")?s.createElement("div",null,s.createElement(b,{src:this.props.category.image,className:"palette-flyout-category-item-icon",draggable:"false"})):s.createElement("div",null,s.createElement("img",{src:this.props.category.image,className:"palette-flyout-category-item-icon",draggable:"false",alt:this.props.category.label}))),e}},{key:"getContent",value:function(){var e=this;if(this.props.category.is_open){var t=this.props.category.node_types.map((function(t){return{nodeType:t,category:e.props.category}}));return s.createElement(jt,{key:this.props.category.id+"-nodes",category:this.props.category,nodeTypeInfos:t,canvasController:this.props.canvasController,isPaletteOpen:this.props.isPaletteOpen,isEditingEnabled:this.props.isEditingEnabled})}return null}},{key:"categoryClicked",value:function(e){e.stopPropagation(),this.props.category.is_open?this.props.canvasController.closePaletteCategory(this.props.category.id):this.props.canvasController.openPaletteCategory(this.props.category.id)}},{key:"render",value:function(){return this.props.category.loading_text?this.getInlineLoadingRenderCategory():this.getRenderCategory()}}]),r}(s.Component);function on(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var rn=u(function(n){i(r,n);var o=on(r);function r(){var t;return e(this,r),(t=o.call(this)).state={searchString:""},t.searchOnClick=t.searchOnClick.bind(a(t)),t.handleSearchStringChange=t.handleSearchStringChange.bind(a(t)),t}return t(r,[{key:"handleSearchStringChange",value:function(e){var t=this,n=e.target.value||"";this.setState({searchString:n},(function(){return t.props.handleSearchStringChange(n)}))}},{key:"searchOnClick",value:function(){this.props.isPaletteOpen||this.props.canvasController.openPalette()}},{key:"render",value:function(){var e=this.props.intl.formatMessage({id:"palette.flyout.search.placeholder",defaultMessage:dt});return s.createElement("div",{className:"palette-flyout-search-container",id:"palette-flyout-search"},s.createElement(ze,{key:"palette-flyout-search",className:"palette-flyout-search",placeholder:e,onChange:this.handleSearchStringChange,size:"sm",value:this.state.searchString,labelText:e,onClick:this.searchOnClick}))}}]),r}(s.Component));function an(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var sn=u(function(n){i(r,n);var o=an(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).state={},n}return t(r,[{key:"getNoResultsDiv",value:function(){var e=this.props.intl.formatMessage({id:"palette.flyout.search.noresults",defaultMessage:ht}),t=this.props.intl.formatMessage({id:"palette.flyout.search.adjustsearch",defaultMessage:pt});return s.createElement("div",null,s.createElement("div",{className:"palette-no-results-title"},e),s.createElement("br",null),s.createElement("div",{className:"palette-no-results-desc"},t))}},{key:"getContentListDiv",value:function(){for(var e=[],t=0;t<this.props.nodeTypeInfos.length;t++){var n="item_"+t;e.push(s.createElement("div",{key:n},s.createElement(zt,{nodeTypeInfo:this.props.nodeTypeInfos[t],isDisplaySearchResult:!0,isShowRanking:this.props.isShowRanking,canvasController:this.props.canvasController,isPaletteOpen:this.props.isPaletteOpen,isEditingEnabled:this.props.isEditingEnabled})))}if(this.props.isNodeTypeInfosArrayTruncated){var i=this.props.intl.formatMessage({id:"palette.flyout.search.resultsrestricted",defaultMessage:gt});e.push(s.createElement("div",{key:"restrict-item",className:"palette-flyout-restrict-item"},i))}return s.createElement("div",{width:"100%",draggable:"false",className:"palette-scroll"},e)}},{key:"render",value:function(){return 0===this.props.nodeTypeInfos.length?this.getNoResultsDiv():this.getContentListDiv()}}]),r}(s.Component));function ln(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return cn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return cn(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0,o=function(){};return{s:o,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,r=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw r}}}}function cn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function un(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var dn=new Re("PaletteFlyoutContent"),hn=function(n){i(r,n);var o=un(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).state={searchString:""},n.categories=[],n.getUniqueCategories=n.getUniqueCategories.bind(a(n)),n.setSearchString=n.setSearchString.bind(a(n)),n.handleSearchStringChange=n.handleSearchStringChange.bind(a(n)),n.setSearchStringThrottled=Kt(n.setSearchString,200),n}return t(r,[{key:"getUniqueCategories",value:function(e){var t=[];if(e){var n,i=ln(e);try{for(i.s();!(n=i.n()).done;){var o=n.value;-1===t.indexOf(o.label)&&t.push(o)}}catch(e){i.e(e)}finally{i.f()}}return t}},{key:"getContentDivs",value:function(e){for(var t=[],n=0;n<e.length;n++){var i=e[n];t.push(s.createElement("div",{key:i.label+"-container"},s.createElement(nn,{key:i.id,category:i,canvasController:this.props.canvasController,isPaletteOpen:this.props.isPaletteOpen,isEditingEnabled:this.props.isEditingEnabled})))}return s.createElement(He,null,t)}},{key:"getFilteredContentDivs",value:function(e){dn.logStartTimer("getFilteredNodeTypeInfos");var t=function(e,t){for(var n=[],i=t.toLowerCase().split(" ").filter((function(e){return""!==e})),o=0;o<e.length;o++)n.push.apply(n,_e(Jt(e[o],i)));return n.sort((function(e,t){return e.occurrenceInfo.ranking<=t.occurrenceInfo.ranking?1:-1}))}(this.categories,this.state.searchString);dn.logEndTimer("getFilteredNodeTypeInfos");var n=!1;return t.length>10&&(t=t.slice(0,10),n=!0),[s.createElement(sn,{key:"filtered-nodes",nodeTypeInfos:t,canvasController:this.props.canvasController,isPaletteOpen:this.props.isPaletteOpen,isEditingEnabled:this.props.isEditingEnabled,isNodeTypeInfosArrayTruncated:n})]}},{key:"setSearchString",value:function(){this.setState({searchString:this.ss})}},{key:"handleSearchStringChange",value:function(e){this.ss=e,this.setSearchStringThrottled()}},{key:"render",value:function(){this.categories=this.getUniqueCategories(this.props.paletteJSON.categories);var e=this.props.isPaletteOpen&&this.state.searchString?this.getFilteredContentDivs(this.categories):this.getContentDivs(this.categories),t=s.createElement("div",{className:"palette-flyout-categories"},e),n=s.createElement(rn,{handleSearchStringChange:this.handleSearchStringChange,isPaletteOpen:this.props.isPaletteOpen,canvasController:this.props.canvasController});return s.createElement("div",{className:"palette-flyout-content"},n,t)}}]),r}(s.Component);function pn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var gn=u(function(n){i(r,n);var o=pn(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).paletteNodes=[],n}return t(r,[{key:"render",value:function(){var e="palette-flyout-div";return this.props.showPalette?e+=" palette-flyout-div-open":(e+=" palette-flyout-div-closed",this.props.enableNarrowPalette&&(e+=" palette-flyout-div-narrow")),s.createElement("nav",{"aria-label":this.props.intl.formatMessage({id:"palette.flyout.label",defaultMessage:yt}),role:"navigation"},s.createElement("div",{className:e},s.createElement(hn,{paletteJSON:this.props.paletteJSON,canvasController:this.props.canvasController,isPaletteOpen:this.props.showPalette,isEditingEnabled:this.props.isEditingEnabled})))}}]),r}(s.Component));function fn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var vn=function(n){i(r,n);var o=fn(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).logger=new Re("Palette"),n}return t(r,[{key:"render",value:function(){this.logger.log("render");var e=null;return this.props.enablePaletteLayout===S?e=s.createElement(gn,{enableNarrowPalette:this.props.enableNarrowPalette,paletteJSON:this.props.paletteJSON,showPalette:this.props.showPalette,canvasController:this.props.canvasController,isEditingEnabled:this.props.isEditingEnabled}):this.props.enablePaletteLayout===N&&(e=s.createElement(Ft,{paletteJSON:this.props.paletteJSON,showPalette:this.props.showPalette,parentDivId:this.props.containingDivId,canvasController:this.props.canvasController,isEditingEnabled:this.props.isEditingEnabled})),e}}]),r}(s.Component),yn=l((function(e,t){return{enablePaletteLayout:e.canvasconfig.enablePaletteLayout,enableNarrowPalette:e.canvasconfig.enableNarrowPalette,isEditingEnabled:e.canvasconfig.enableEditingActions,paletteJSON:e.palette.content,showPalette:void 0!==e.palette.isOpen&&e.palette.isOpen}}))(vn);function mn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var bn=function(n){i(r,n);var o=mn(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).state={},n.handleClick=n.handleClick.bind(a(n)),n}return t(r,[{key:"componentDidMount",value:function(){document.addEventListener("mousedown",this.handleClick,!0)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("mousedown",this.handleClick,!0)}},{key:"handleClick",value:function(e){this.props.canvasController.closeTip()}},{key:"render",value:function(){var e=null,t=null;switch(this.props.type){case C:case w:t="right";break;default:t="bottom"}if(this.props.customContent)e=this.props.customContent;else switch(this.props.type){case C:e=s.createElement("div",{className:"tip-palette-item"},s.createElement("div",{className:"tip-palette-category"},this.props.category.label),s.createElement("div",{className:"tip-palette-label"},this.props.nodeTemplate.app_data.ui_data.label),this.props.nodeTemplate.app_data.ui_data.description?s.createElement("div",{className:"tip-palette-desc"},this.props.nodeTemplate.app_data.ui_data.description):"");break;case w:e=s.createElement("div",{className:"tip-palette-item"},s.createElement("div",{className:"tip-palette-label"},this.props.category.label),this.props.category.description?s.createElement("div",{className:"tip-palette-desc"},this.props.category.description):"");break;case O:var n=null;this.props.canvasController.getObjectModel().hasErrorMessage(this.props.node)?n=s.createElement(m,{type:_,className:"tip-node-status error"}):this.props.canvasController.getObjectModel().hasWarningMessage(this.props.node)&&(n=s.createElement(m,{type:A,className:"tip-node-status warning"}));var i=this.props.canvasController.getObjectModel().getPaletteNode(this.props.node.op),o=this.props.node.label,r=i&&i.app_data&&i.app_data.ui_data?i.app_data.ui_data.label:o;if(o!==r&&(o+=" (".concat(r,")")),!(n||o||r||this.props.node.description))return null;e=s.createElement("div",{className:"tip-node"},n,s.createElement("div",{className:"tip-node-label"},o),this.props.node.description?s.createElement("div",{className:"tip-node-desc"},this.props.node.description):"");break;case I:e=f(this.props.port.label)?null:s.createElement("div",{className:"tip-port"},this.props.port.label);break;case E:e=f(this.props.decoration.tooltip)?null:s.createElement("div",{className:"tip-decoration"},this.props.decoration.tooltip);break;case D:break;case T:e=f(this.props.stateTagText)?null:s.createElement("div",{className:"tip-state-tag"},this.props.stateTagText);break;default:e=null}return null!==e?s.createElement(Ue,{tip:e,direction:t,id:this.props.id,targetObj:this.props.targetObj,mousePos:this.props.mousePos,className:[O,I,E,D].includes(this.props.type)?"definition-tooltip":null}):null}}]),r}(s.Component),kn=l((function(e,t){return{id:e.tooltip.id,type:e.tooltip.type,targetObj:e.tooltip.targetObj,mousePos:e.tooltip.mousePos,customContent:e.tooltip.customContent,node:e.tooltip.node,port:e.tooltip.port,decoration:e.tooltip.decoration,nodeTemplate:e.tooltip.nodeTemplate,category:e.tooltip.category,stateTagText:e.tooltip.stateTagText}}))(bn);function Cn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var xn=function(n){i(r,n);var o=Cn(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).logger=new Re("CC-Context-Menu"),n}return t(r,[{key:"render",value:function(){this.logger.log("render");var e=null;return this.props.showContextMenu&&(e=s.createElement(Xe,{containingDivId:this.props.containingDivId,contextMenuDef:this.props.contextMenuDef,contextMenuActionHandler:this.props.canvasController.contextMenuActionHandler,contextMenuPos:this.props.contextMenuPos,closeContextMenu:this.props.canvasController.closeContextMenu,stopPropagation:!0})),e}}]),r}(s.Component),Pn=l((function(e,t){return{contextMenuDef:e.contextmenu.menuDef,contextMenuPos:e.contextmenu.source.cmPos||{x:0,y:0},showContextMenu:e.contextmenu.isOpen}}))(xn),Ln=v,wn=Ve,Sn=Ie,Nn=Math.max,Tn=Math.min;var Dn=function(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var o=i-1;return void 0!==n&&(o=Sn(n),o=n<0?Nn(i+o,0):Tn(o,i-1)),Ln(e,wn(t),o,!0)};function En(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var In=function(o){i(l,o);var r=En(l);function l(t){var n;return e(this,l),(n=r.call(this,t)).logger=new Re("CC-Context-Toolbar"),n.onMouseEnter=n.onMouseEnter.bind(a(n)),n.onMouseLeave=n.onMouseLeave.bind(a(n)),n.toolbarActionHandler=n.toolbarActionHandler.bind(a(n)),n.colorClicked=n.colorClicked.bind(a(n)),n}return t(l,[{key:"onMouseLeave",value:function(e){var t=this;this.props.canvasController.setMouseInContextToolbar(!1),setTimeout((function(){return t.props.canvasController.closeContextToolbar()}),200)}},{key:"onMouseEnter",value:function(e){this.props.canvasController.setMouseInContextToolbar(!0)}},{key:"getToolbarConfig",value:function(e){var t=this,n=e.toolbarItems,i=e.overflowMenuItems,o=[];return n.forEach((function(e){return o.push(t.getMenuItem(e))})),i.forEach((function(e){return o.push(t.getMenuItem(e))})),{leftBar:o,rightBar:[]}}},{key:"getMenuItem",value:function(e){if(e.divider)return{divider:!0};var t=this.getSubPanel(e),n=!t&&e.menu?this.getSubMenu(e):null;return{action:e.action,label:e.label,subMenu:n,subPanel:t,enable:this.getEnable(e),iconEnabled:e.icon}}},{key:"getSubPanel",value:function(e){return"colorBackground"===e.action?this.buildColorPicker():null}},{key:"getSubMenu",value:function(e){var t=this;return"object"===n(e.menu)?e.menu.map((function(e){return e.divider?{divider:!0}:{action:e.action,label:e.label,enable:t.getEnable(e),iconEnabled:e.icon}})):null}},{key:"getEnable",value:function(e){return void 0===e.enable||e.enable}},{key:"getContextToolbarWidth",value:function(e,t){var n=t.length>0?1:0;return 34*(e.length+n)-(t.length>0?5:0)}},{key:"removeUnnecessaryDividers",value:function(e){var t=e.findIndex((function(e){return!e.divider})),n=Dn(e,(function(e){return!e.divider})),i=e.slice(t,n+1),o=[],r=!1;return i.forEach((function(e){e.divider?(r||o.push(e),r=!0):(o.push(e),r=!1)})),o}},{key:"toolbarActionHandler",value:function(e,t){this.props.canvasController.setMouseInContextToolbar(!1),this.props.canvasController.closeContextToolbar(),this.props.canvasController.contextMenuActionHandler(e,t)}},{key:"colorClicked",value:function(e){this.toolbarActionHandler("colorSelectedObjects",{color:e})}},{key:"buildColorPicker",value:function(){return s.createElement(Ze,{clickActionHandler:this.colorClicked})}},{key:"shouldCenterJustifyToolbar",value:function(){var e=this.props.contextSource.type;return"link"===e||"canvas"===e||"node"===e&&"topCenter"===this.props.contextSource.targetObject.layout.contextToolbarPosition&&!this.props.contextSource.targetObject.is_expanded}},{key:"render",value:function(){this.logger.log("render");var e=null;if(this.props.showContextMenu){var t=this.props.contextMenuDef.filter((function(e){return e.toolbarItem&&!e.divider})),n=this.props.contextMenuDef.filter((function(e){return!e.toolbarItem}));n=this.removeUnnecessaryDividers(n);var i=this.getToolbarConfig({toolbarItems:t,overflowMenuItems:n}),o=this.getContextToolbarWidth(t,n),r=this.props.contextSource.cmPos||{x:0,y:0},a=this.shouldCenterJustifyToolbar()?r.x-o/2:r.x-o,l=r.y-32-4;e=s.createElement("div",{className:"context-toolbar",style:{left:a,top:l,width:o},onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave},s.createElement(Oe,{config:i,instanceId:this.props.canvasController.getInstanceId(),containingDivId:this.props.containingDivId,toolbarActionHandler:this.toolbarActionHandler,tooltipDirection:"top",size:"sm"}))}return e}}]),l}(s.Component),On=l((function(e,t){return{contextMenuDef:e.contextmenu.menuDef,contextSource:e.contextmenu.source,showContextMenu:e.contextmenu.isOpen}}))(In),_n={"toolbar.palette":"Palette","toolbar.zoomIn":"Zoom in","toolbar.zoomOut":"Zoom out","toolbar.zoomToFit":"Zoom to fit","toolbar.overflowMenu":"Overflow menu","toolbar.label":"Canvas toolbar"};function An(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var Mn=function(n){i(r,n);var o=An(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).getLabel=n.getLabel.bind(a(n)),n.logger=new Re("CC-Text-Toolbar"),n}return t(r,[{key:"getLabel",value:function(e,t){var n=Ge[e]?Ge[e]:_n[e];return this.props.intl.formatMessage({id:e,defaultMessage:n},t)}},{key:"getJsxLabel",value:function(e,t,n){var i=Fe.isMacintosh()?"⌘":"Ctrl",o=t?i+" + "+t:null,r=n?i+" + "+n:null;return s.createElement("div",null,this.getLabel(e),s.createElement("br",null),o,s.createElement("br",null),r)}},{key:"getTextToolbar",value:function(){var e=this.getJsxLabel("texttoolbar.headerAction",">","<"),t=this.getJsxLabel("texttoolbar.boldAction","b"),n=this.getJsxLabel("texttoolbar.italicsAction","i"),i=this.getJsxLabel("texttoolbar.strikethroughAction","shift + x"),o=this.getJsxLabel("texttoolbar.codeAction","e"),r=this.getJsxLabel("texttoolbar.linkAction","k"),a=this.getJsxLabel("texttoolbar.quoteAction","shift + >"),l=this.getJsxLabel("texttoolbar.numberedListAction","shift + 7"),c=this.getJsxLabel("texttoolbar.bulletedListAction","shift + 8");return{leftBar:[{action:"headerStyle",tooltip:e,enable:!0,subMenu:[{action:"title",label:this.getLabel("texttoolbar.titleAction"),enable:!0},{action:"header",label:this.getLabel("texttoolbar.headerAction"),enable:!0},{action:"subheader",label:this.getLabel("texttoolbar.subheaderAction"),enable:!0},{action:"body",label:this.getLabel("texttoolbar.bodyAction"),enable:!0}],closeSubAreaOnClick:!0,iconEnabled:s.createElement(qe,null)},{divider:!0},{action:"bold",label:t,enable:!0,iconEnabled:s.createElement($e,null)},{action:"italics",label:n,enable:!0,iconEnabled:s.createElement(Je,null)},{action:"strikethrough",label:i,enable:!0,iconEnabled:s.createElement(Qe,null)},{divider:!0},{action:"code",label:o,enable:!0,iconEnabled:s.createElement(et,null)},{divider:!0},{action:"link",label:r,enable:!0,iconEnabled:s.createElement(tt,null)},{divider:!0},{action:"quote",label:a,enable:!0,iconEnabled:s.createElement(nt,null)},{divider:!0},{action:"numberedList",label:l,enable:!0,iconEnabled:s.createElement(it,null)},{action:"bulletedList",label:c,enable:!0,iconEnabled:s.createElement(ot,null)}]}}},{key:"render",value:function(){this.logger.log("render");var e=null;return this.props.isOpen&&(e=s.createElement("div",{className:"text-toolbar",style:{left:this.props.pos_x,top:this.props.pos_y},onBlur:this.props.blurHandler},s.createElement(Oe,{config:this.getTextToolbar(),instanceId:this.props.canvasController.getInstanceId(),toolbarActionHandler:this.props.actionHandler,tooltipDirection:"top",size:"sm"}))),e}}]),r}(s.Component),zn=l((function(e,t){return{isOpen:e.texttoolbar.isOpen,pos_x:e.texttoolbar.pos_x,pos_y:e.texttoolbar.pos_y,actionHandler:e.texttoolbar.actionHandler,blurHandler:e.texttoolbar.blurHandler}}))(u(Mn));function Hn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var jn=u(function(n){i(r,n);var o=Hn(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).logger=new Re("CC-StateTag"),n.onMouseOver=n.onMouseOver.bind(a(n)),n.onMouseLeave=n.onMouseLeave.bind(a(n)),n}return t(r,[{key:"onMouseOver",value:function(e){var t;this.props.stateTagType===M?t=this.getLabel("canvas.stateTagTipLocked"):this.props.stateTagType===z&&(t=this.getLabel("canvas.stateTagTipReadOnly")),this.props.canvasController.openTip({id:"stateTagTip",type:T,stateTagType:this.props.stateTagType,stateTagText:t,targetObj:e.currentTarget})}},{key:"onMouseLeave",value:function(){this.props.canvasController.closeTip()}},{key:"getLabel",value:function(e){return this.props.intl.formatMessage({id:e,defaultMessage:Ge[e]})}},{key:"getStateTag",value:function(e,t){return s.createElement("div",{className:"state-tag",onMouseOver:this.onMouseOver,onMouseLeave:this.onMouseLeave},t,s.createElement("span",null,e))}},{key:"render",value:function(){this.logger.log("render");var e=null;if(this.props.stateTagType===M){var t=this.getLabel("canvas.stateTagLocked");e=this.getStateTag(t,s.createElement(rt,null))}else if(this.props.stateTagType===z){var n=this.getLabel("canvas.stateTagReadOnly");e=this.getStateTag(n,s.createElement(at,null))}return e}}]),r}(s.Component)),Rn="http://www.w3.org/1999/xhtml",Un={svg:"http://www.w3.org/2000/svg",xhtml:Rn,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Bn(e){var t=e+="",n=t.indexOf(":");return n>=0&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),Un.hasOwnProperty(t)?{space:Un[t],local:e}:e}function Fn(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===Rn&&t.documentElement.namespaceURI===Rn?t.createElement(e):t.createElementNS(n,e)}}function Gn(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Yn(e){var t=Bn(e);return(t.local?Gn:Fn)(t)}function Wn(){}function Xn(e){return null==e?Wn:function(){return this.querySelector(e)}}function Zn(e){return null==e?[]:Array.isArray(e)?e:Array.from(e)}function Vn(){return[]}function Kn(e){return null==e?Vn:function(){return this.querySelectorAll(e)}}function qn(e){return function(){return this.matches(e)}}function $n(e){return function(t){return t.matches(e)}}var Jn=Array.prototype.find;function Qn(){return this.firstElementChild}var ei=Array.prototype.filter;function ti(){return Array.from(this.children)}function ni(e){return new Array(e.length)}function ii(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}function oi(e,t,n,i,o,r){for(var a,s=0,l=t.length,c=r.length;s<c;++s)(a=t[s])?(a.__data__=r[s],i[s]=a):n[s]=new ii(e,r[s]);for(;s<l;++s)(a=t[s])&&(o[s]=a)}function ri(e,t,n,i,o,r,a){var s,l,c,u=new Map,d=t.length,h=r.length,p=new Array(d);for(s=0;s<d;++s)(l=t[s])&&(p[s]=c=a.call(l,l.__data__,s,t)+"",u.has(c)?o[s]=l:u.set(c,l));for(s=0;s<h;++s)c=a.call(e,r[s],s,r)+"",(l=u.get(c))?(i[s]=l,l.__data__=r[s],u.delete(c)):n[s]=new ii(e,r[s]);for(s=0;s<d;++s)(l=t[s])&&u.get(p[s])===l&&(o[s]=l)}function ai(e){return e.__data__}function si(e){return"object"==typeof e&&"length"in e?e:Array.from(e)}function li(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function ci(e){return function(){this.removeAttribute(e)}}function ui(e){return function(){this.removeAttributeNS(e.space,e.local)}}function di(e,t){return function(){this.setAttribute(e,t)}}function hi(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function pi(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}function gi(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function fi(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function vi(e){return function(){this.style.removeProperty(e)}}function yi(e,t,n){return function(){this.style.setProperty(e,t,n)}}function mi(e,t,n){return function(){var i=t.apply(this,arguments);null==i?this.style.removeProperty(e):this.style.setProperty(e,i,n)}}function bi(e,t){return e.style.getPropertyValue(t)||fi(e).getComputedStyle(e,null).getPropertyValue(t)}function ki(e){return function(){delete this[e]}}function Ci(e,t){return function(){this[e]=t}}function xi(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}function Pi(e){return e.trim().split(/^|\s+/)}function Li(e){return e.classList||new wi(e)}function wi(e){this._node=e,this._names=Pi(e.getAttribute("class")||"")}function Si(e,t){for(var n=Li(e),i=-1,o=t.length;++i<o;)n.add(t[i])}function Ni(e,t){for(var n=Li(e),i=-1,o=t.length;++i<o;)n.remove(t[i])}function Ti(e){return function(){Si(this,e)}}function Di(e){return function(){Ni(this,e)}}function Ei(e,t){return function(){(t.apply(this,arguments)?Si:Ni)(this,e)}}function Ii(){this.textContent=""}function Oi(e){return function(){this.textContent=e}}function _i(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?"":t}}function Ai(){this.innerHTML=""}function Mi(e){return function(){this.innerHTML=e}}function zi(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?"":t}}function Hi(){this.nextSibling&&this.parentNode.appendChild(this)}function ji(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Ri(){return null}function Ui(){var e=this.parentNode;e&&e.removeChild(this)}function Bi(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Fi(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Gi(e){return function(){var t=this.__on;if(t){for(var n,i=0,o=-1,r=t.length;i<r;++i)n=t[i],e.type&&n.type!==e.type||n.name!==e.name?t[++o]=n:this.removeEventListener(n.type,n.listener,n.options);++o?t.length=o:delete this.__on}}}function Yi(e,t,n){return function(){var i,o=this.__on,r=function(e){return function(t){e.call(this,t,this.__data__)}}(t);if(o)for(var a=0,s=o.length;a<s;++a)if((i=o[a]).type===e.type&&i.name===e.name)return this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=r,i.options=n),void(i.value=t);this.addEventListener(e.type,r,n),i={type:e.type,name:e.name,value:t,listener:r,options:n},o?o.push(i):this.__on=[i]}}function Wi(e,t,n){var i=fi(e),o=i.CustomEvent;"function"==typeof o?o=new o(t,n):(o=i.document.createEvent("Event"),n?(o.initEvent(t,n.bubbles,n.cancelable),o.detail=n.detail):o.initEvent(t,!1,!1)),e.dispatchEvent(o)}function Xi(e,t){return function(){return Wi(this,e,t)}}function Zi(e,t){return function(){return Wi(this,e,t.apply(this,arguments))}}ii.prototype={constructor:ii,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}},wi.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};var Vi=[null];function Ki(e,t){this._groups=e,this._parents=t}function qi(){return new Ki([[document.documentElement]],Vi)}function $i(e){return"string"==typeof e?new Ki([[document.querySelector(e)]],[document.documentElement]):new Ki([[e]],Vi)}Ki.prototype=qi.prototype={constructor:Ki,select:function(e){"function"!=typeof e&&(e=Xn(e));for(var t=this._groups,n=t.length,i=new Array(n),o=0;o<n;++o)for(var r,a,s=t[o],l=s.length,c=i[o]=new Array(l),u=0;u<l;++u)(r=s[u])&&(a=e.call(r,r.__data__,u,s))&&("__data__"in r&&(a.__data__=r.__data__),c[u]=a);return new Ki(i,this._parents)},selectAll:function(e){e="function"==typeof e?function(e){return function(){return Zn(e.apply(this,arguments))}}(e):Kn(e);for(var t=this._groups,n=t.length,i=[],o=[],r=0;r<n;++r)for(var a,s=t[r],l=s.length,c=0;c<l;++c)(a=s[c])&&(i.push(e.call(a,a.__data__,c,s)),o.push(a));return new Ki(i,o)},selectChild:function(e){return this.select(null==e?Qn:function(e){return function(){return Jn.call(this.children,e)}}("function"==typeof e?e:$n(e)))},selectChildren:function(e){return this.selectAll(null==e?ti:function(e){return function(){return ei.call(this.children,e)}}("function"==typeof e?e:$n(e)))},filter:function(e){"function"!=typeof e&&(e=qn(e));for(var t=this._groups,n=t.length,i=new Array(n),o=0;o<n;++o)for(var r,a=t[o],s=a.length,l=i[o]=[],c=0;c<s;++c)(r=a[c])&&e.call(r,r.__data__,c,a)&&l.push(r);return new Ki(i,this._parents)},data:function(e,t){if(!arguments.length)return Array.from(this,ai);var n,i=t?ri:oi,o=this._parents,r=this._groups;"function"!=typeof e&&(n=e,e=function(){return n});for(var a=r.length,s=new Array(a),l=new Array(a),c=new Array(a),u=0;u<a;++u){var d=o[u],h=r[u],p=h.length,g=si(e.call(d,d&&d.__data__,u,o)),f=g.length,v=l[u]=new Array(f),y=s[u]=new Array(f);i(d,h,v,y,c[u]=new Array(p),g,t);for(var m,b,k=0,C=0;k<f;++k)if(m=v[k]){for(k>=C&&(C=k+1);!(b=y[C])&&++C<f;);m._next=b||null}}return(s=new Ki(s,o))._enter=l,s._exit=c,s},enter:function(){return new Ki(this._enter||this._groups.map(ni),this._parents)},exit:function(){return new Ki(this._exit||this._groups.map(ni),this._parents)},join:function(e,t,n){var i=this.enter(),o=this,r=this.exit();return"function"==typeof e?(i=e(i))&&(i=i.selection()):i=i.append(e+""),null!=t&&(o=t(o))&&(o=o.selection()),null==n?r.remove():n(r),i&&o?i.merge(o).order():o},merge:function(e){for(var t=e.selection?e.selection():e,n=this._groups,i=t._groups,o=n.length,r=i.length,a=Math.min(o,r),s=new Array(o),l=0;l<a;++l)for(var c,u=n[l],d=i[l],h=u.length,p=s[l]=new Array(h),g=0;g<h;++g)(c=u[g]||d[g])&&(p[g]=c);for(;l<o;++l)s[l]=n[l];return new Ki(s,this._parents)},selection:function(){return this},order:function(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var i,o=e[t],r=o.length-1,a=o[r];--r>=0;)(i=o[r])&&(a&&4^i.compareDocumentPosition(a)&&a.parentNode.insertBefore(i,a),a=i);return this},sort:function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=li);for(var n=this._groups,i=n.length,o=new Array(i),r=0;r<i;++r){for(var a,s=n[r],l=s.length,c=o[r]=new Array(l),u=0;u<l;++u)(a=s[u])&&(c[u]=a);c.sort(t)}return new Ki(o,this._parents).order()},call:function(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var i=e[t],o=0,r=i.length;o<r;++o){var a=i[o];if(a)return a}return null},size:function(){let e=0;for(const t of this)++e;return e},empty:function(){return!this.node()},each:function(e){for(var t=this._groups,n=0,i=t.length;n<i;++n)for(var o,r=t[n],a=0,s=r.length;a<s;++a)(o=r[a])&&e.call(o,o.__data__,a,r);return this},attr:function(e,t){var n=Bn(e);if(arguments.length<2){var i=this.node();return n.local?i.getAttributeNS(n.space,n.local):i.getAttribute(n)}return this.each((null==t?n.local?ui:ci:"function"==typeof t?n.local?gi:pi:n.local?hi:di)(n,t))},style:function(e,t,n){return arguments.length>1?this.each((null==t?vi:"function"==typeof t?mi:yi)(e,t,null==n?"":n)):bi(this.node(),e)},property:function(e,t){return arguments.length>1?this.each((null==t?ki:"function"==typeof t?xi:Ci)(e,t)):this.node()[e]},classed:function(e,t){var n=Pi(e+"");if(arguments.length<2){for(var i=Li(this.node()),o=-1,r=n.length;++o<r;)if(!i.contains(n[o]))return!1;return!0}return this.each(("function"==typeof t?Ei:t?Ti:Di)(n,t))},text:function(e){return arguments.length?this.each(null==e?Ii:("function"==typeof e?_i:Oi)(e)):this.node().textContent},html:function(e){return arguments.length?this.each(null==e?Ai:("function"==typeof e?zi:Mi)(e)):this.node().innerHTML},raise:function(){return this.each(Hi)},lower:function(){return this.each(ji)},append:function(e){var t="function"==typeof e?e:Yn(e);return this.select((function(){return this.appendChild(t.apply(this,arguments))}))},insert:function(e,t){var n="function"==typeof e?e:Yn(e),i=null==t?Ri:"function"==typeof t?t:Xn(t);return this.select((function(){return this.insertBefore(n.apply(this,arguments),i.apply(this,arguments)||null)}))},remove:function(){return this.each(Ui)},clone:function(e){return this.select(e?Fi:Bi)},datum:function(e){return arguments.length?this.property("__data__",e):this.node().__data__},on:function(e,t,n){var i,o,r=function(e){return e.trim().split(/^|\s+/).map((function(e){var t="",n=e.indexOf(".");return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}}))}(e+""),a=r.length;if(!(arguments.length<2)){for(s=t?Yi:Gi,i=0;i<a;++i)this.each(s(r[i],t,n));return this}var s=this.node().__on;if(s)for(var l,c=0,u=s.length;c<u;++c)for(i=0,l=s[c];i<a;++i)if((o=r[i]).type===l.type&&o.name===l.name)return l.value},dispatch:function(e,t){return this.each(("function"==typeof t?Zi:Xi)(e,t))},[Symbol.iterator]:function*(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var i,o=e[t],r=0,a=o.length;r<a;++r)(i=o[r])&&(yield i)}};var Ji=0;function Qi(){return new eo}function eo(){this._="@"+(++Ji).toString(36)}function to(e){let t;for(;t=e.sourceEvent;)e=t;return e}function no(e,t){if(e=to(e),void 0===t&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var i=n.createSVGPoint();return i.x=e.clientX,i.y=e.clientY,[(i=i.matrixTransform(t.getScreenCTM().inverse())).x,i.y]}if(t.getBoundingClientRect){var o=t.getBoundingClientRect();return[e.clientX-o.left-t.clientLeft,e.clientY-o.top-t.clientTop]}}return[e.pageX,e.pageY]}eo.prototype=Qi.prototype={constructor:eo,get:function(e){for(var t=this._;!(t in e);)if(!(e=e.parentNode))return;return e[t]},set:function(e,t){return e[this._]=t},remove:function(e){return this._ in e&&delete e[this._]},toString:function(){return this._}};var io=Object.freeze({__proto__:null,create:function(e){return $i(Yn(e).call(document.documentElement))},creator:Yn,local:Qi,matcher:qn,namespace:Bn,namespaces:Un,pointer:no,pointers:function(e,t){return e.target&&(e=to(e),void 0===t&&(t=e.currentTarget),e=e.touches||[e]),Array.from(e,(e=>no(e,t)))},select:$i,selectAll:function(e){return"string"==typeof e?new Ki([document.querySelectorAll(e)],[document.documentElement]):new Ki([Zn(e)],Vi)},selection:qi,selector:Xn,selectorAll:Kn,style:bi,window:fi}),oo=Ke,ro=Ye;var ao=function(e,t){return e&&oo(e,ro(t))};var so=function(e){return function(t){return null==e?void 0:e[t]}},lo=so({"&":"&","<":"<",">":">",'"':""","'":"'"}),co=y,uo=/[&<>"']/g,ho=RegExp(uo.source);var po=function(e){return(e=co(e))&&ho.test(e)?e.replace(uo,lo):e};function go(e){if(!e.ok)throw new Error(e.status+" "+e.statusText);return e.blob()}function fo(e){if(!e.ok)throw new Error(e.status+" "+e.statusText);return e.arrayBuffer()}var vo={},yo={},mo=34,bo=10,ko=13;function Co(e){return new Function("d","return {"+e.map((function(e,t){return JSON.stringify(e)+": d["+t+'] || ""'})).join(",")+"}")}function xo(e){var t=Object.create(null),n=[];return e.forEach((function(e){for(var i in e)i in t||n.push(t[i]=i)})),n}function Po(e,t){var n=e+"",i=n.length;return i<t?new Array(t-i+1).join(0)+n:n}function Lo(e){var t,n=e.getUTCHours(),i=e.getUTCMinutes(),o=e.getUTCSeconds(),r=e.getUTCMilliseconds();return isNaN(e)?"Invalid Date":((t=e.getUTCFullYear())<0?"-"+Po(-t,6):t>9999?"+"+Po(t,6):Po(t,4))+"-"+Po(e.getUTCMonth()+1,2)+"-"+Po(e.getUTCDate(),2)+(r?"T"+Po(n,2)+":"+Po(i,2)+":"+Po(o,2)+"."+Po(r,3)+"Z":o?"T"+Po(n,2)+":"+Po(i,2)+":"+Po(o,2)+"Z":i||n?"T"+Po(n,2)+":"+Po(i,2)+"Z":"")}function wo(e){var t=new RegExp('["'+e+"\n\r]"),n=e.charCodeAt(0);function i(e,t){var i,o=[],r=e.length,a=0,s=0,l=r<=0,c=!1;function u(){if(l)return yo;if(c)return c=!1,vo;var t,i,o=a;if(e.charCodeAt(o)===mo){for(;a++<r&&e.charCodeAt(a)!==mo||e.charCodeAt(++a)===mo;);return(t=a)>=r?l=!0:(i=e.charCodeAt(a++))===bo?c=!0:i===ko&&(c=!0,e.charCodeAt(a)===bo&&++a),e.slice(o+1,t-1).replace(/""/g,'"')}for(;a<r;){if((i=e.charCodeAt(t=a++))===bo)c=!0;else if(i===ko)c=!0,e.charCodeAt(a)===bo&&++a;else if(i!==n)continue;return e.slice(o,t)}return l=!0,e.slice(o,r)}for(e.charCodeAt(r-1)===bo&&--r,e.charCodeAt(r-1)===ko&&--r;(i=u())!==yo;){for(var d=[];i!==vo&&i!==yo;)d.push(i),i=u();t&&null==(d=t(d,s++))||o.push(d)}return o}function o(t,n){return t.map((function(t){return n.map((function(e){return a(t[e])})).join(e)}))}function r(t){return t.map(a).join(e)}function a(e){return null==e?"":e instanceof Date?Lo(e):t.test(e+="")?'"'+e.replace(/"/g,'""')+'"':e}return{parse:function(e,t){var n,o,r=i(e,(function(e,i){if(n)return n(e,i-1);o=e,n=t?function(e,t){var n=Co(e);return function(i,o){return t(n(i),o,e)}}(e,t):Co(e)}));return r.columns=o||[],r},parseRows:i,format:function(t,n){return null==n&&(n=xo(t)),[n.map(a).join(e)].concat(o(t,n)).join("\n")},formatBody:function(e,t){return null==t&&(t=xo(e)),o(e,t).join("\n")},formatRows:function(e){return e.map(r).join("\n")},formatRow:r,formatValue:a}}var So=wo(",").parse,No=wo("\t").parse;function To(e){if(!e.ok)throw new Error(e.status+" "+e.statusText);return e.text()}function Do(e,t){return fetch(e,t).then(To)}function Eo(e){return function(t,n,i){return 2===arguments.length&&"function"==typeof n&&(i=n,n=void 0),Do(t,n).then((function(t){return e(t,i)}))}}var Io=Eo(So),Oo=Eo(No);function _o(e){if(!e.ok)throw new Error(e.status+" "+e.statusText);if(204!==e.status&&205!==e.status)return e.json()}function Ao(e){return(t,n)=>Do(t,n).then((t=>(new DOMParser).parseFromString(t,e)))}var Mo=Ao("application/xml"),zo=Ao("text/html"),Ho=Ao("image/svg+xml"),jo=Object.freeze({__proto__:null,blob:function(e,t){return fetch(e,t).then(go)},buffer:function(e,t){return fetch(e,t).then(fo)},dsv:function(e,t,n,i){3===arguments.length&&"function"==typeof n&&(i=n,n=void 0);var o=wo(e);return Do(t,n).then((function(e){return o.parse(e,i)}))},csv:Io,tsv:Oo,image:function(e,t){return new Promise((function(n,i){var o=new Image;for(var r in t)o[r]=t[r];o.onerror=i,o.onload=function(){n(o)},o.src=e}))},json:function(e,t){return fetch(e,t).then(_o)},text:Do,xml:Mo,html:zo,svg:Ho}),Ro=function(){function n(t,i,o,r){e(this,n),this.canvasController=t,this.isSubflow=i,this.pipelineId=o,this.breadcrumbs=r}return t(n,[{key:"isDisplayingCurrentPipeline",value:function(){return this.breadcrumbs[this.breadcrumbs.length-1].pipelineId===this.pipelineId}},{key:"setDisplayState",value:function(){this.breadcrumbs.length>1&&this.isDisplayingCurrentPipeline()?this.displayState="sub-flow-full-page":this.isSubflow?this.displayState="sub-flow-in-place":this.displayState="primary-flow-full-page"}},{key:"getDisplayStateMsg",value:function(){return"Display state set to "+this.displayState}},{key:"isDisplayingPrimaryFlowFullPage",value:function(){return"primary-flow-full-page"===this.displayState}},{key:"isDisplayingSubFlow",value:function(){return"sub-flow-in-place"===this.displayState||"sub-flow-full-page"===this.displayState}},{key:"isDisplayingSubFlowInPlace",value:function(){return"sub-flow-in-place"===this.displayState}},{key:"isDisplayingSubFlowFullPage",value:function(){return"sub-flow-full-page"===this.displayState}},{key:"isDisplayingFullPage",value:function(){return"primary-flow-full-page"===this.displayState||"sub-flow-full-page"===this.displayState}}]),n}();function Uo(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Bo(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Bo(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0,o=function(){};return{s:o,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,r=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw r}}}}function Bo(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var Fo=function(){function n(t){e(this,n),this.canvasLayout=t}return t(n,[{key:"isPointInNodeBoundary",value:function(e,t){return e.x>=t.x_pos&&e.x<=t.x_pos+t.width&&e.y>=t.y_pos&&e.y<=t.y_pos+t.height}},{key:"getNodeLabelClass",value:function(e){if(Fe.isExpandedSupernode(e))return"d3-node-label d3-label-single-line "+this.getMessageLabelClass(e.messages);var t=e.layout.labelSingleLine?" d3-label-single-line":" d3-label-multi-line",n="center"===e.layout.labelAlign?" d3-label-center":"";return"d3-node-label "+this.getMessageLabelClass(e.messages)+t+n}},{key:"getNodeLabelTextAreaClass",value:function(e){return Fe.isExpandedSupernode(e)?"d3-node-label-entry d3-label-single-line":"d3-node-label-entry"+(e.layout.labelSingleLine?" d3-label-single-line":" d3-label-multi-line")+("center"===e.layout.labelAlign?" d3-label-center":"")}},{key:"getErrorMarkerIcon",value:function(e){var t="";switch(this.getMessageLevel(e.messages)){case _:t=R;break;case A:t=j}return t}},{key:"getMessageLevel",value:function(e){var t="";if(e&&e.length>0){var n,i=Uo(e);try{for(i.s();!(n=i.n()).done;){var o=n.value;if(o.type===_)return o.type;o.type===A&&(t=o.type)}}catch(e){i.e(e)}finally{i.f()}}return t}},{key:"getMessageLabelClass",value:function(e){var t="";switch(this.getMessageLevel(e)){case _:t="d3-node-error-label";break;case A:t="d3-node-warning-label"}return t}},{key:"getErrorMarkerClass",value:function(e){var t="d3-error-circle-off";switch(this.getMessageLevel(e)){case _:t="d3-error-circle";break;case A:t="d3-warning-circle"}return t}},{key:"getNodeCenterPosX",value:function(e){return e.x_pos+e.width/2}},{key:"getNodeCenterPosY",value:function(e){return e.y_pos+e.height/2}},{key:"getNodeImageCenterPosX",value:function(e){return Fe.isExpandedSupernode(e)?e.x_pos+this.canvasLayout.supernodeImagePosX+this.canvasLayout.supernodeImageWidth/2:e.x_pos+this.getElementPosX(e.width,e.layout.imagePosX,e.layout.imagePosition)+e.layout.imageWidth/2}},{key:"getNodeImageCenterPosY",value:function(e){return Fe.isExpandedSupernode(e)?e.y_pos+this.canvasLayout.supernodeImagePosY+this.canvasLayout.supernodeImageHeight/2:e.y_pos+this.getElementPosY(e.height,e.layout.imagePosY,e.layout.imagePosition)+e.layout.imageHeight/2}},{key:"getNodeImagePosX",value:function(e){return Fe.isExpandedSupernode(e)?this.canvasLayout.supernodeImagePosX:this.getElementPosX(e.width,e.layout.imagePosX,e.layout.imagePosition)}},{key:"getNodeImagePosY",value:function(e){return Fe.isExpandedSupernode(e)?this.canvasLayout.supernodeImagePosY:this.getElementPosY(e.height,e.layout.imagePosY,e.layout.imagePosition)}},{key:"getNodeImageWidth",value:function(e){return Fe.isExpandedSupernode(e)?this.canvasLayout.supernodeImageWidth:e.layout.imageWidth}},{key:"getNodeImageHeight",value:function(e){return Fe.isExpandedSupernode(e)?this.canvasLayout.supernodeImageHeight:e.layout.imageHeight}},{key:"getNodeLabelPosX",value:function(e){if(Fe.isExpandedSupernode(e))return this.canvasLayout.supernodeLabelPosX;var t=this.getElementPosX(e.width,e.layout.labelPosX,e.layout.labelPosition);return"center"===e.layout.labelAlign?t-e.layout.labelWidth/2:t}},{key:"getNodeLabelPosY",value:function(e){return Fe.isExpandedSupernode(e)?this.canvasLayout.supernodeLabelPosY:this.getElementPosY(e.height,e.layout.labelPosY,e.layout.labelPosition)}},{key:"getNodeLabelWidth",value:function(e){return Fe.isExpandedSupernode(e)?e.width-this.canvasLayout.supernodeLabelPosX+this.canvasLayout.supernodeErrorPosX:e.layout.labelWidth}},{key:"getNodeLabelHeight",value:function(e){return Fe.isExpandedSupernode(e)?this.canvasLayout.supernodeLabelHeight:e.layout.labelHeight}},{key:"getNodeLabelEditIconTranslate",value:function(e,t,n,i){return"translate(".concat(this.getNodeLabelEditIconPosX(e,t,n,i),", ").concat(this.getNodeLabelEditIconPosY(e),")")}},{key:"getNodeLabelEditIconPosX",value:function(e,t,n,i){var o=i?this.getNodeLabelHoverWidth(e):this.getNodeLabelWidth(e),r=i?this.getNodeLabelHoverPosX(e):this.getNodeLabelPosX(e),a=t.getBoundingClientRect().width;if("center"===e.layout.labelAlign&&!Fe.isExpandedSupernode(e)){var s=o/2;return r+s+Math.min(s,a/n/2)}var l=Math.min(o,a/n);return this.getNodeLabelPosX(e)+l}},{key:"getNodeLabelEditIconPosY",value:function(e){return this.getNodeLabelPosY(e)}},{key:"getNodeLabelHoverPosX",value:function(e){return e.layout.labelSingleLine&&"center"===e.layout.labelAlign?this.getNodeLabelPosX(e)-250:this.getNodeLabelPosX(e)}},{key:"getNodeLabelHoverWidth",value:function(e){return e.layout.labelSingleLine?"center"===e.layout.labelAlign?e.layout.labelWidth+500:e.layout.labelWidth+40:e.layout.labelWidth}},{key:"getNodeLabelHoverHeight",value:function(e,t,n){if(e.layout.labelSingleLine)return e.layout.labelHeight;var i=t.getBoundingClientRect().height/n;return Math.max(i,e.layout.labelHeight)}},{key:"getNodeLabelTextAreaWidth",value:function(e){return this.getNodeLabelWidth(e)+2*H}},{key:"getNodeLabelTextAreaHeight",value:function(e){return this.getNodeLabelHeight(e)+2*H}},{key:"getNodeLabelTextAreaPosX",value:function(e){return this.getNodeLabelPosX(e)-H}},{key:"getNodeLabelTextAreaPosY",value:function(e){return this.getNodeLabelPosY(e)-H}},{key:"getNodeEllipsisTranslate",value:function(e){return"translate(".concat(this.getNodeEllipsisPosX(e),", ").concat(this.getNodeEllipsisPosY(e),")")}},{key:"getNodeEllipsisWidth",value:function(e){return Fe.isExpandedSupernode(e)?this.canvasLayout.supernodeEllipsisWidth:e.layout.ellipsisWidth}},{key:"getNodeEllipsisHeight",value:function(e){return Fe.isExpandedSupernode(e)?this.canvasLayout.supernodeEllipsisHeight:e.layout.ellipsisHeight}},{key:"getNodeEllipsisIconWidth",value:function(e){return this.getNodeEllipsisWidth(e)-2*e.layout.ellipsisHoverAreaPadding}},{key:"getNodeEllipsisIconHeight",value:function(e){return this.getNodeEllipsisHeight(e)-2*e.layout.ellipsisHoverAreaPadding}},{key:"getNodeEllipsisPosX",value:function(e){return Fe.isExpandedSupernode(e)?e.width+this.canvasLayout.supernodeEllipsisPosX:this.getElementPosX(e.width,e.layout.ellipsisPosX,e.layout.ellipsisPosition)}},{key:"getNodeEllipsisPosY",value:function(e){return Fe.isExpandedSupernode(e)?this.canvasLayout.supernodeEllipsisPosY:this.getElementPosY(e.height,e.layout.ellipsisPosY,e.layout.ellipsisPosition)}},{key:"getNodeExpansionIconTranslate",value:function(e){var t=e.width+this.canvasLayout.supernodeExpansionIconPosX;return"translate(".concat(t,", ").concat(this.canvasLayout.supernodeExpansionIconPosY,")")}},{key:"getNodeErrorPosX",value:function(e){return Fe.isExpandedSupernode(e)?e.width+this.canvasLayout.supernodeErrorPosX:this.getElementPosX(e.width,e.layout.errorXPos,e.layout.errorPosition)}},{key:"getNodeErrorPosY",value:function(e){return Fe.isExpandedSupernode(e)?this.canvasLayout.supernodeErrorPosY:this.getElementPosY(e.height,e.layout.errorYPos,e.layout.errorPosition)}},{key:"getNodeErrorWidth",value:function(e){return Fe.isExpandedSupernode(e)?this.canvasLayout.supernodeErrorWidth:e.layout.errorWidth}},{key:"getNodeErrorHeight",value:function(e){return Fe.isExpandedSupernode(e)?this.canvasLayout.supernodeErrorHeight:e.layout.errorHeight}},{key:"getNodeInputPortLeftPosX",value:function(e){return this.getElementPosX(e.width,e.layout.inputPortLeftPosX,e.layout.inputPortLeftPosition)}},{key:"getNodeInputPortLeftPosY",value:function(e){return this.getElementPosY(e.height,e.layout.inputPortLeftPosY,e.layout.inputPortLeftPosition)}},{key:"getNodeOutputPortRightPosX",value:function(e){return this.getElementPosX(e.width,e.layout.outputPortRightPosX,e.layout.outputPortRightPosition)}},{key:"getNodeOutputPortRightPosY",value:function(e){return this.getElementPosY(e.height,e.layout.outputPortRightPosY,e.layout.outputPortRightPosition)}},{key:"getElementPosX",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"topLeft",i=0;return n.endsWith("Center")?i+=e/2:n.endsWith("Right")&&(i+=e),i+Number(t)}},{key:"getElementPosY",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"topLeft",i=0;return n.startsWith("middle")?i+=e/2:n.startsWith("bottom")&&(i+=e),i+Number(t)}},{key:"getSupernodePortXOffset",value:function(e,t){return t?t.find((function(t){return t.subflow_node_ref===e})).cx-this.canvasLayout.supernodeSVGAreaPadding:0}},{key:"getSupernodePortYOffset",value:function(e,t){return t?t.find((function(t){return t.subflow_node_ref===e})).cy:0}}]),n}(),Go=function(){function n(){e(this,n)}return t(n,[{key:"getCommentCenterPosX",value:function(e){return e.x_pos+e.width/2}},{key:"getCommentCenterPosY",value:function(e){return e.y_pos+e.height/2}}]),n}(),Yo=!1,Wo=!0,Xo=Math.PI,Zo=function(){function n(t,i,o,r){e(this,n),this.canvasLayout=i,this.config=t,this.nodeUtils=o,this.commentUtils=r}return t(n,[{key:"getNewStraightCommentLinkStartPos",value:function(e,t){return Fe.getOuterCoord(e.x_pos,e.y_pos,e.width,e.height,this.canvasLayout.linkGap,this.commentUtils.getCommentCenterPosX(e),this.commentUtils.getCommentCenterPosY(e),t.x,t.y)}},{key:"getNewStraightNodeLinkStartPos",value:function(e,t,n){var i,o;if("image_center"!==e.layout.drawNodeLinkLineFromTo||Fe.isExpanded(e))if(n){var r=this.getCenterOffset(e,n);i=r.x,o=r.y}else i=this.nodeUtils.getNodeCenterPosX(e),o=this.nodeUtils.getNodeCenterPosY(e);else i=this.nodeUtils.getNodeImageCenterPosX(e),o=this.nodeUtils.getNodeImageCenterPosY(e);return Fe.getOuterCoord(e.x_pos,e.y_pos,e.width,e.height,this.canvasLayout.linkGap,i,o,t.x,t.y)}},{key:"addConnectionPaths",value:function(e){var t=this;return e.forEach((function(e){e.coordsUpdated&&(e.pathInfo=t.getConnectorPathInfo(e))})),e}},{key:"getConnectorPathInfo",value:function(e,t){var n=this.getMinInitialLine(e,t);if(Math.abs(e.x1-e.x2)<20&&Math.abs(e.y1-e.y2)<20)return this.getStraightPath(e);if(e.type===U){if(this.canvasLayout.linkType===B||this.canvasLayout.linkType===F)return this.getPortLinkPath(e,n)}else if(e.type===G&&this.config.enableAssocLinkType===Y)return this.getAssociationCurvePath(e,n);return this.getStraightPath(e)}},{key:"getMinInitialLine",value:function(e,t){return e.type===W?0:e.minInitialLineForElbow?e.minInitialLineForElbow:e.srcObj&&e.srcObj.layout?e.srcObj.layout.minInitialLine:t||10}},{key:"getLinkCoords",value:function(e,t,n,i,o,r){return e.type===U?this.canvasLayout.linkType===X?this.getNodeLinkCoordsForStraightLine(t,i,e):this.getNodeLinkCoordsForPorts(t,n,i,o):e.type===G?this.config.enableAssocLinkType===Y?this.getAssociationCurveLinkCoords(t,i,r):this.getNodeLinkCoordsForStraightLine(t,i):this.getCommentLinkCoords(t,i)}},{key:"getNodeLinkCoordsForStraightLine",value:function(e,t,n){var i,o,r,a;if("image_center"!==e.layout.drawNodeLinkLineFromTo||Fe.isExpanded(e))if(n&&n.srcOriginInfo){var s=this.getCenterOffset(e,n.srcOriginInfo);i=s.x,o=s.y}else i=this.nodeUtils.getNodeCenterPosX(e),o=this.nodeUtils.getNodeCenterPosY(e);else i=this.nodeUtils.getNodeImageCenterPosX(e),o=this.nodeUtils.getNodeImageCenterPosY(e);if("image_center"!==t.layout.drawNodeLinkLineFromTo||Fe.isExpanded(t))if(n&&n.trgOriginInfo){var l=this.getCenterOffset(t,n.trgOriginInfo);r=l.x,a=l.y}else r=this.nodeUtils.getNodeCenterPosX(t),a=this.nodeUtils.getNodeCenterPosY(t);else r=this.nodeUtils.getNodeImageCenterPosX(t),a=this.nodeUtils.getNodeImageCenterPosY(t);var c=Fe.getOuterCoord(e.x_pos,e.y_pos,e.width,e.height,this.canvasLayout.linkGap,i,o,r,a),u=Fe.getOuterCoord(t.x_pos,t.y_pos,t.width,t.height,this.canvasLayout.linkGap,r,a,i,o);return{originX:c.originX,originY:c.originY,x1:c.x,y1:c.y,x2:u.x,y2:u.y}}},{key:"getCenterOffset",value:function(e,t){var n=t.len+1,i=t.idx+1,o=0,r=0;return t.dir===Z||t.dir===V?(o=e.x_pos+e.width/n*i,r=this.nodeUtils.getNodeCenterPosY(e)):t.dir!==K&&t.dir!==q||(o=this.nodeUtils.getNodeCenterPosX(e),r=e.y_pos+e.height/n*i),{x:o,y:r}}},{key:"getNodeLinkCoordsForPorts",value:function(e,t,n,i){var o=e.width+e.layout.outputPortRightPosX,r=e.layout.outputPortRightPosY,a=n.layout.inputPortLeftPosX,s=n.layout.inputPortLeftPosY;if(this.canvasLayout.linkDirection===$?(o=e.layout.outputPortBottomPosX,r=e.height+e.layout.outputPortBottomPosY,a=n.layout.inputPortTopPosX,s=n.layout.inputPortTopPosY):this.canvasLayout.linkDirection===J&&(o=e.layout.outputPortBottomPosX,r=e.layout.outputPortBottomPosY,a=n.layout.inputPortTopPosX,s=n.height+n.layout.inputPortTopPosY),e.outputs&&e.outputs.length>0){var l=e.outputs.find((function(e){return e.id===t}));o=l?l.cx:o,r=l?l.cy:r}if(n.inputs&&n.inputs.length>0){var c=n.inputs.find((function(e){return e.id===i}));a=c?c.cx:a,s=c?c.cy:s}return{x1:e.x_pos+o,y1:e.y_pos+r,x2:n.x_pos+a,y2:n.y_pos+s}}},{key:"getAssociationCurveLinkCoords",value:function(e,t,n){var i=0,o=0;return n===Q?(i=e.x_pos+e.width,o=t.x_pos):n===ee?(i=e.x_pos,o=t.x_pos+t.width):n===te?(i=e.x_pos,o=t.x_pos):(i=e.x_pos+e.width,o=t.x_pos+t.width),{x1:i,y1:e.y_pos+e.layout.outputPortRightPosY,x2:o,y2:t.y_pos+t.layout.inputPortLeftPosY}}},{key:"getCommentLinkCoords",value:function(e,t){var n,i,o=this.commentUtils.getCommentCenterPosX(e),r=this.commentUtils.getCommentCenterPosY(e);"image_center"===t.layout.drawCommentLinkLineTo?(n=this.nodeUtils.getNodeImageCenterPosX(t),i=this.nodeUtils.getNodeImageCenterPosY(t)):(n=this.nodeUtils.getNodeCenterPosX(t),i=this.nodeUtils.getNodeCenterPosY(t));var a=Fe.getOuterCoord(e.x_pos,e.y_pos,e.width,e.height,this.canvasLayout.linkGap,o,r,n,i),s=Fe.getOuterCoord(t.x_pos,t.y_pos,t.width,t.height,this.canvasLayout.linkGap,n,i,o,r);return{x1:a.x,y1:a.y,x2:s.x,y2:s.y}}},{key:"getPortLinkPath",value:function(e,t){var n,i,o,r;e.srcObj&&e.trgNode?this.canvasLayout.linkDirection===$?(n=-(e.srcObj.x_pos+e.srcObj.width),o=-e.srcObj.x_pos,i=-(e.trgNode.x_pos+e.trgNode.width),r=-e.trgNode.x_pos):this.canvasLayout.linkDirection===J?(n=e.srcObj.x_pos,o=e.srcObj.x_pos+e.srcObj.width,i=e.trgNode.x_pos,r=e.trgNode.x_pos+e.trgNode.width):(n=e.srcObj.y_pos,o=e.srcObj.y_pos+e.srcObj.height,i=e.trgNode.y_pos,r=e.trgNode.y_pos+e.trgNode.height):this.canvasLayout.linkDirection===$?(n=-e.x1,i=-e.x2,o=-e.x1,r=-e.x2):this.canvasLayout.linkDirection===J?(n=e.x1,i=e.x2,o=e.x1,r=e.x2):(n=e.y1,i=e.y2,o=e.y1,r=e.y2);var a=e;this.canvasLayout.linkDirection===$?a=this.rotateData90Degrees(a,Wo):this.canvasLayout.linkDirection===J&&(a=this.rotateData90Degrees(a,Yo));var s=this.canvasLayout.linkType===F?this.getElbowPathInfo(a,t,n,i,o,r):this.getCurvePathInfo(a,t,n,i,o,r);return this.canvasLayout.linkDirection===$?(s.elements=this.rotateElements90Degrees(s.elements,Yo),s.centerPoint=this.rotatePoint90Degrees(s.centerPoint.x,s.centerPoint.y,Yo)):this.canvasLayout.linkDirection===J&&(s.elements=this.rotateElements90Degrees(s.elements,Wo),s.centerPoint=this.rotatePoint90Degrees(s.centerPoint.x,s.centerPoint.y,Wo)),s.path=this.createPath(s.elements),s}},{key:"getCurvePathInfo",value:function(e,t,n,i,o,r){var a={x:0,y:0},s=e.x2-e.x1,l=[];if(l.push({p:"M",x:e.x1,y:e.y1}),s>=t||r>n-this.canvasLayout.wrapAroundNodePadding&&i<o+this.canvasLayout.wrapAroundNodePadding&&e.x2>e.x1){var c=e.x1+(e.x2-e.x1)/2,u=e.y1,d=c,h=e.y2;l.push({p:"C",x:c,y:u,x2:d,y2:h,x3:e.x2,y3:e.y2}),a.x=c,a.y=u+(h-u)/2}else{var p=e.y2-e.y1,g=this.calculateMidY(e,n,o,i,r),f=Math.min(Math.abs(p)/2,-(s-t/2)),v=t-Math.max(s/2,0),y=e.x1+v,m=e.y1,b=y,k=e.y1+(g-e.y1)/2,C=e.x1+(e.x2-e.x1)/2,x=g,P=e.x1-f,L=g,w=e.x2+f,S=g,N=e.x2-v,T=g,D=N,E=g+(e.y2-g)/2;P>w?(l.push({p:"Q",x:y,y:m,x2:b,y2:k},{p:"T",x:P,y:L},{p:"L",x:w,y:S},{p:"Q",x:N,y:T,x2:D,y2:E},{p:"T",x:e.x2,y:e.y2}),a.x=P+(w-P)/2,a.y=L):(l.push({p:"Q",x:y,y:m,x2:b,y2:k},{p:"T",x:C,y:x},{p:"Q",x:N,y:T,x2:D,y2:E},{p:"T",x:e.x2,y:e.y2}),a.x=C,a.y=x)}return{elements:l,centerPoint:a}}},{key:"getElbowPathInfo",value:function(e,t,n,i,o,r){var a,s=e.trgNode?e.trgNode.layout.minFinalLine:30,l={x:0,y:0},c=e.x1+t,u=e.y1,d=c,h=e.y2,p=e.x2-e.x1,g=e.y2-e.y1;a=p>0&&g<4*this.canvasLayout.elbowSize&&g>-4*this.canvasLayout.elbowSize?p<t+s?g/4:g/2:g>=0?this.canvasLayout.elbowSize:-this.canvasLayout.elbowSize;var f=this.canvasLayout.elbowSize,v=!1;p<t+s&&(v=!0,d=e.x2-s,f=Math.min(this.canvasLayout.elbowSize,-(p-(t+s))/2));var y=[];if(y.push({p:"M",x:e.x1,y:e.y1},{p:"L",x:c-this.canvasLayout.elbowSize,y:u}),!1===v)y.push({p:"Q",x:c,y:u,x2:c,y2:u+a},{p:"L",x:d,y:h-a}),l.x=d,l.y=h;else{var m,b,k=p<0?this.calculateMidY(e,n,o,i,r):h-(h-u)/2;p<0&&(a=k>=o?this.canvasLayout.elbowSize:-this.canvasLayout.elbowSize),k<i&&k<n||k>r&&k>o?(m=k-a,b=h+a):(m=k+a,b=h-a),y.push({p:"Q",x:c,y:u,x2:c,y2:u+a},{p:"L",x:c,y:k-a},{p:"Q",x:c,y:k,x2:c-f,y2:k},{p:"L",x:d+f,y:k},{p:"Q",x:d,y:k,x2:d,y2:m},{p:"L",x:d,y:b}),l.x=c,l.y=k}return y.push({p:"Q",x:d,y:h,x2:d+this.canvasLayout.elbowSize,y2:h},{p:"L",x:e.x2,y:e.y2}),{elements:y,centerPoint:l}}},{key:"calculateMidY",value:function(e,t,n,i,o){var r;if(i>=n+this.canvasLayout.wrapAroundNodePadding)r=n+(i-n)/2;else if(o<=t-this.canvasLayout.wrapAroundNodePadding)r=o+(t-o)/2;else{var a=Math.max(n,o),s=a-e.y1,l=a-e.y2,c=Math.min(t,i);r=s+l>e.y1-c+(e.y2-c)?c-this.canvasLayout.wrapAroundSpacing:a+this.canvasLayout.wrapAroundSpacing}return r}},{key:"rotateData90Degrees",value:function(e,t){var n=this.rotatePoint90Degrees(e.x1,e.y1,t),i=this.rotatePoint90Degrees(e.x2,e.y2,t);return{x1:n.x,y1:n.y,x2:i.x,y2:i.y}}},{key:"rotateElements90Degrees",value:function(e,t){var n,i=this;return e.forEach((function(e){n=i.rotatePoint90Degrees(e.x,e.y,t),e.x=n.x,e.y=n.y,"Q"!==e.p&&"C"!==e.p||(n=i.rotatePoint90Degrees(e.x2,e.y2,t),e.x2=n.x,e.y2=n.y,"C"===e.p&&(n=i.rotatePoint90Degrees(e.x3,e.y3,t),e.x3=n.x,e.y3=n.y))})),e}},{key:"rotatePoint90Degrees",value:function(e,t,n){return n?{x:t,y:-e}:{x:-t,y:e}}},{key:"createPath",value:function(e){var t=e.length-1,n="";return e.forEach((function(e,i){"M"===e.p?n+="M "+e.x+" "+e.y:"L"===e.p?n+="L "+e.x+" "+e.y:"T"===e.p?n+="T "+e.x+" "+e.y:"Q"===e.p?n+="Q "+e.x+" "+e.y+" "+e.x2+" "+e.y2:"C"===e.p&&(n+="C "+e.x+" "+e.y+" "+e.x2+" "+e.y2+" "+e.x3+" "+e.y3),i<t&&(n+=" ")})),n}},{key:"getStraightPath",value:function(e){var t="M "+e.x1+" "+e.y1+" L "+e.x2+" "+e.y2,n=e.x2-e.x1,i=e.y2-e.y1,o={x:e.x1+n/2,y:e.y1+i/2},r=Math.atan(i/n);return n<0&&(r=Xo+r),{path:t,centerPoint:o,angle:r}}},{key:"getAssociationCurvePath",value:function(e,t){return e.assocLinkVariation===ee?this.getCurveLeftPath(e,t):e.assocLinkVariation===te?this.getDoubleBackLeft(e,t):e.assocLinkVariation===ne?this.getDoubleBackRight(e,t):this.getCurveRightPath(e,t)}},{key:"getCurveLeftPath",value:function(e,t){var n=e.x1-(e.x1-e.x2)/2;return this.getCurveOutPath(e,t,n)}},{key:"getCurveRightPath",value:function(e,t){var n=e.x1+(e.x2-e.x1)/2;return this.getCurveOutPath(e,t,n)}},{key:"getCurveOutPath",value:function(e,t,n){var i=e.y1,o=n,r=e.y2;return{path:"M "+e.x1+" "+e.y1+" C "+n+" "+i+" "+o+" "+r+" "+e.x2+" "+e.y2,centerPoint:{x:n,y:i+(r-i)/2}}}},{key:"getDoubleBackLeft",value:function(e,t){var n=Math.min(e.x1,e.x2)-t-100;return this.getDoubleBack(e,t,n)}},{key:"getDoubleBackRight",value:function(e,t){var n=Math.max(e.x1,e.x2)+t+100;return this.getDoubleBack(e,t,n)}},{key:"getDoubleBack",value:function(e,t,n){var i=e.y1,o=n,r=e.y2;return{path:"M "+e.x1+" "+e.y1+" C "+n+" "+i+" "+o+" "+r+" "+e.x2+" "+e.y2,centerPoint:{x:this.calcCenterPoint(e.x1,n,o,e.x2),y:this.calcCenterPoint(e.y1,i,r,e.y2)}}}},{key:"calcCenterPoint",value:function(e,t,n,i){var o=.5;return Math.pow(.5,3)*e+3*Math.pow(.5,2)*o*t+3*Math.pow(.5,2)*o*n+Math.pow(o,3)*i}}]),n}(),Vo=function(){function n(t){e(this,n),this.canvasLayout=t}return t(n,[{key:"getDec",value:function(e,t){return t?t.find((function(t){return t.id===e})):null}},{key:"getDecLabelClass",value:function(e,t){var n=e.label_single_line?" d3-label-single-line":" d3-label-multi-line",i="center"===e.label_align?" d3-label-center":"";return this.getDecClass(e,"d3-".concat(t,"-dec-label"))+n+i}},{key:"getDecLabelTextAreaClass",value:function(e){return"d3-dec-label-entry"+(e.label_single_line?" d3-label-single-line":" d3-label-multi-line-entry")+("center"===e.label_align?" d3-label-center":"")}},{key:"getDecTransform",value:function(e,t,n){return"translate(".concat(this.getDecPosX(e,t,n),", ").concat(this.getDecPosY(e,t,n),")")}},{key:"getDecPosX",value:function(e,t,n){return n===ie?this.getLinkDecPosX(e,t,n):this.getNodeDecPosX(e,t)}},{key:"getNodeDecPosX",value:function(e,t){var n=e.position||"topLeft",i=0;return"topLeft"===n||"middleLeft"===n||"bottomLeft"===n?i=void 0!==e.x_pos?Number(e.x_pos):t.layout.decoratorLeftX:"topCenter"===n||"middleCenter"===n||"bottomCenter"===n?i=t.width/2+(void 0!==e.x_pos?Number(e.x_pos):t.layout.decoratorCenterX):"topRight"!==n&&"middleRight"!==n&&"bottomRight"!==n||(i=t.width+(void 0!==e.x_pos?Number(e.x_pos):t.layout.decoratorRightX)),i}},{key:"getLinkDecPosX",value:function(e,t,n){var i=e.position||"middle",o=0;return"middle"===i?o=t.pathInfo.centerPoint?t.pathInfo.centerPoint.x:t.x1+(t.x2-t.x1)/2:"source"===i?o=t.pathInfo.sourcePoint?t.pathInfo.sourcePoint.x:t.x1:"target"===i&&(o=t.pathInfo.targetPoint?t.pathInfo.targetPoint.x:t.x2),o=void 0!==e.x_pos?o+Number(e.x_pos):o,e.distance&&d(t,"pathInfo.angle")&&(o+=Math.cos(t.pathInfo.angle)*e.distance),"center"===e.label_align&&(o-=this.getDecWidth(e,t,n)/2),o}},{key:"getDecPosY",value:function(e,t,n){return n===ie?this.getLinkDecPosY(e,t):this.getNodeDecPosY(e,t)}},{key:"getNodeDecPosY",value:function(e,t){var n=e.position||"topLeft",i=0;return"topLeft"===n||"topCenter"===n||"topRight"===n?i=void 0!==e.y_pos?Number(e.y_pos):t.layout.decoratorTopY:"middleLeft"===n||"middleCenter"===n||"middleRight"===n?i=t.height/2+(void 0!==e.y_pos?Number(e.y_pos):t.layout.decoratorMiddleY):"bottomLeft"!==n&&"bottomCenter"!==n&&"bottomRight"!==n||(i=t.height+(void 0!==e.y_pos?Number(e.y_pos):t.layout.decoratorBottomY)),i}},{key:"getLinkDecPosY",value:function(e,t){var n=e.position||"middle",i=0;return"middle"===n?i=t.pathInfo.centerPoint?t.pathInfo.centerPoint.y:t.y1+(t.y2-t.y1)/2:"source"===n?i=t.pathInfo.sourcePoint?t.pathInfo.sourcePoint.y:t.y1:"target"===n&&(i=t.pathInfo.targetPoint?t.pathInfo.targetPoint.y:t.y2),i=void 0!==e.y_pos?i+Number(e.y_pos):i,e.distance&&d(t,"pathInfo.angle")&&(i+=Math.sin(t.pathInfo.angle)*e.distance),i}},{key:"getDecPadding",value:function(e,t,n){return!1===e.outline?0:n===ie?this.canvasLayout.linkDecoratorPadding:t.layout.decoratorPadding}},{key:"getDecWidth",value:function(e,t,n){return void 0!==e.width?Number(e.width):n===ie?this.canvasLayout.linkDecoratorWidth:t.layout.decoratorWidth}},{key:"getDecHeight",value:function(e,t,n){return void 0!==e.height?Number(e.height):n===ie?this.canvasLayout.linkDecoratorHeight:t.layout.decoratorHeight}},{key:"getDecClass",value:function(e,t){var n=t;return e&&e.class_name&&(n+=" "+e.class_name),n}},{key:"getDecImage",value:function(e){return e?e.image:""}},{key:"getDecLabelEditIconTranslate",value:function(e,t,n,i,o){return"translate(".concat(this.getDecLabelEditIconPosX(e,t,n,i,o),", ").concat(this.getDecLabelEditIconPosY(e),")")}},{key:"getDecLabelEditIconPosX",value:function(e,t,n,i,o){var r=Math.min(i.getBoundingClientRect().width,this.getDecLabelWidth(e,t,n));return"center"===e.label_align?this.getDecLabelWidth(e,t,n)/2+r/2/o:r/o}},{key:"getDecLabelEditIconPosY",value:function(e){return 0}},{key:"getDecLabelWidth",value:function(e,t,n){return void 0!==e.width?Number(e.width):n===ie?this.canvasLayout.linkDecoratorLabelWidth:t.layout.decoratorLabelWidth}},{key:"getDecLabelHeight",value:function(e,t,n){return void 0!==e.height?Number(e.height):n===ie?this.canvasLayout.linkDecoratorLabelHeight:t.layout.decoratorLabelHeight}},{key:"getDecLabelTextAreaWidth",value:function(e,t,n){return this.getDecLabelWidth(e,t,n)+2*H}},{key:"getDecLabelTextAreaHeight",value:function(e,t,n){return this.getDecLabelHeight(e,t,n)+2*H}},{key:"getDecLabelTextAreaPosX",value:function(){return-H}},{key:"getDecLabelTextAreaPosY",value:function(){return-(H-1)}}]),n}(),Ko=function(){function n(t){e(this,n),this.logger=new Re("SVGCanvasExternal"),this.ren=t}return t(n,[{key:"addNodeExternalObject",value:function(e,t,n){ut.render(s.createElement(e.layout.nodeExternalObject,{nodeData:e,canvasController:this.ren.canvasController,externalUtils:this}),n[t])}},{key:"addDecExternalObject",value:function(e,t,n){ut.render(e.jsx,n[t])}},{key:"removeExternalObject",value:function(e,t,n){ut.unmountComponentAtNode(n[t])}},{key:"getActiveNodes",value:function(){return this.ren.activePipeline.getNodes()}},{key:"getActiveNode",value:function(e){return this.ren.activePipeline.getNode(e)}},{key:"setPortPositions",value:function(e){var t=this.ren.activePipeline.getNode(e.nodeId),n=this.ren.zoomUtils.getZoomScale();e.inputPositions&&e.inputPositions.forEach((function(e){var i=t.inputs.find((function(t){return t.id===e.id}));i.cx=e.cx/n,i.cy=e.cy/n})),e.outputPositions&&e.outputPositions.forEach((function(e){var i=t.outputs.find((function(t){return t.id===e.id}));i.cx=e.cx/n,i.cy=e.cy/n})),this.ren.displayLinks()}},{key:"setNodesProperties",value:function(e){var t=this;e&&(e.forEach((function(e){var n=t.ren.activePipeline.getNode(e.id);e.height&&(n.height=e.height),e.width&&(n.width=e.width),e.x_pos&&(n.x_pos=e.x_pos),e.y_pos&&(n.y_pos=e.y_pos)})),this.ren.displayNodes())}},{key:"raiseNodeToTopById",value:function(e){this.ren.raiseNodeToTopById(e)}}]),n}(),qo=so({"&":"&","<":"<",">":">",""":'"',"'":"'"}),$o=y,Jo=qo,Qo=/&(?:amp|lt|gt|quot|#39);/g,er=RegExp(Qo.source);var tr=function(e){return(e=$o(e))&&er.test(e)?e.replace(Qo,Jo):e},nr=function(){function n(){e(this,n)}return t(n,null,[{key:"processMarkdownAction",value:function(e,t,n,i){var o=n,r=i,a=null;switch(o===r?(o=this.findFirstSpace(t,o),r=this.findLastSpace(t,r)):this.allWhiteSpace(t,o,r)?o=r:(o=this.findFirstNonSpace(t,o,r),r=this.findLastNonSpace(t,o,r)),e){case"title":case"header":case"subheader":case"body":case"increaseHashes":case"decreaseHashes":a=this.processHeaderCommand(t,o,r,e);break;case"bold":a=this.processWrapCommand(t,o,r,"**");break;case"italics":a=this.processWrapCommand(t,o,r,"_");break;case"strikethrough":a=this.processWrapCommand(t,o,r,"~~");break;case"code":a=this.processCodeCommand(t,o,r);break;case"link":a=this.processLinkCommand(t,o,r);break;case"quote":case"numberedList":case"bulletedList":a=this.processMultiLineCommand(t,o,r,e);break;case"return":a=this.processReturnCommand(t,o,r,n,i)}return a}},{key:"findFirstSpace",value:function(e,t){var n=e.lastIndexOf(" ",t-1)+1,i=e.lastIndexOf("\n",t-1)+1;return Math.max(n,i,0)}},{key:"findLastSpace",value:function(e,t){var n=e.indexOf(" ",t),i=e.indexOf("\n",t);return n=-1===n?e.length:n,i=-1===i?e.length:i,Math.min(n,i,e.length)}},{key:"allWhiteSpace",value:function(e,t,n){return 0===e.slice(t,n).trim().length}},{key:"findFirstNonSpace",value:function(e,t,n){for(var i=t;(" "===e[i]||"\n"===e[i])&&i<=n;)i++;return i}},{key:"findLastNonSpace",value:function(e,t,n){for(var i=n;(" "===e[i-1]||"\n"===e[i-1])&&i>=t;)i--;return i}},{key:"processHeaderCommand",value:function(e,t,n,i){var o=this.findPrecedingNewLine(e,t),r=this.findSuceedingNewLine(e,n),a=e.slice(0,o),s=e.slice(o,r),l=e.slice(r),c=o,u=r,d="",h=s,p=this.getHashCount(s);if(p>0){var g=s.indexOf(" ");d=a+(h=s.slice(g+1))+l,u-=g+1}var f=this.getHeaderSyntax(i,p);return f&&(d=a+f+h+l,c+=f.length,u+=f.length),{newText:d,newStart:c,newEnd:u}}},{key:"getHeaderSyntax",value:function(e,t){switch(e){case"title":return"# ";case"header":return"## ";case"subheader":return"### ";case"body":return!1;case"increaseHashes":return 0===t?"# ":1===t?"## ":2===t&&"### ";case"decreaseHashes":return 0===t?"### ":1!==t&&(2===t?"# ":3===t?"## ":"### ")}return!1}},{key:"getHashCount",value:function(e){return e.startsWith("# ")?1:e.startsWith("## ")?2:e.startsWith("### ")?3:e.startsWith("#### ")?4:e.startsWith("##### ")?5:e.startsWith("###### ")?6:0}},{key:"processWrapCommand",value:function(e,t,n,i){var o="",r=t,a=n,s=e.slice(0,t),l=e.slice(t,n),c=e.slice(n),u=i.length;return s.endsWith(i)&&c.startsWith(i)?(o=s.slice(0,s.length-u)+l+c.slice(u),r=t-u,a=n-u):l.startsWith(i)&&l.endsWith(i)?(o=s+l.slice(0,l.length-u).slice(u)+c,r=t,a=n-2*u):(o=s+i+l+i+c,r=t+u,a=n+u),{newText:o,newStart:r,newEnd:a}}},{key:"processCodeCommand",value:function(e,t,n){return e.slice(t,n).indexOf("\n")>-1?this.processTripleBackTicks(e,t,n):this.processWrapCommand(e,t,n,"`")}},{key:"processTripleBackTicks",value:function(e,t,n){var i=this.findPrecedingNewLine(e,t),o=this.findSuceedingNewLine(e,n),r=e.slice(0,i),a=e.slice(i,o),s=e.slice(o),l=i,c=o,u="";return r.endsWith("```\n")&&s.startsWith("\n```")?(u=r.slice(0,i-4)+a+s.slice(4),l-=4,c-=4):(u=r+"```\n"+a+"\n```"+s,l+=4,c+=4),{newText:u,newStart:l,newEnd:c}}},{key:"processLinkCommand",value:function(e,t,n){var i="",o=t,r=n,a=e.slice(0,t),s=e.slice(t,n),l=e.slice(n);return a.endsWith("[")&&l.startsWith("](url)")?(i=a.slice(0,a.length-1)+s+l.slice(6),o=t-1,r=n-1):"[](url)"===s?(i=a+l,r=o=t):t===n?(i=a+"[](url)"+l,o=t+1,r=t+1):(i=a+"["+s+"](url)"+l,o=t+1,r=n+1),{newText:i,newStart:o,newEnd:r}}},{key:"processMultiLineCommand",value:function(e,t,n,i){return this.isMultiLineMarkdown(e,t,n,i)?this.removeMultiLineMarkdown(e,t,n,i):this.addMultiLineMarkdown(e,t,n,i)}},{key:"isMultiLineMarkdown",value:function(e,t,n,i){var o=this,r=this.findPrecedingNewLine(e,t),a=this.findSuceedingNewLine(e,n);return e.slice(r,a).split("\n").every((function(e){return o.isMultiLineItem(e,i)}))}},{key:"isMultiLineItem",value:function(e,t){switch(t){case"quote":return e.startsWith("> ");case"bulletedList":return e.startsWith("* ");case"numberedList":var n=this.getPrefixNumber(e);return!isNaN(n)&&n>0}return!1}},{key:"getPrefixNumber",value:function(e){var t=e.indexOf(". "),n=e.slice(0,t);return Number(n)}},{key:"removeMultiLineMarkdown",value:function(e,t,n,i){var o=this,r=this.findPrecedingNewLine(e,t),a=this.findSuceedingNewLine(e,n),s=e.slice(0,r),l=e.slice(r,a),c=e.slice(a),u=r,d=a,h=s,p=l.split("\n");return p.forEach((function(e,t){var n=o.removeListPrefix(e,i);d-=e.length-n.length,h+=n,t<p.length-1&&(h+="\n")})),{newText:h+=c,newStart:u,newEnd:d}}},{key:"removeListPrefix",value:function(e,t){switch(t){case"quote":case"bulletedList":return e.slice(2);case"numberedList":var n=e.indexOf(". ");return e.slice(n+2)}return""}},{key:"addMultiLineMarkdown",value:function(e,t,n,i){var o=this,r=this.findPrecedingNewLine(e,t),a=this.findSuceedingNewLine(e,n),s=e.slice(0,r),l=e.slice(r,a),c=e.slice(a),u=r,d=a,h=s;if(""===l){var p=this.getListPrefix(i,1);h=s+p+c,u=r+p.length,d=u}else{var g=l.split("\n");g.forEach((function(t,n){var r=o.getListPrefix(i,n+1,t);d+=r.length-t.length,h+=r,n===g.length-1&&"\n"===e[a]&&"\n"===e[a+1]||(h+="\n")})),h+=c}return{newText:h,newStart:u,newEnd:d}}},{key:"getListPrefix",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";switch(e){case"quote":return"> "+n;case"bulletedList":return"* "+n;case"numberedList":return t+". "+n}return null}},{key:"findPrecedingNewLine",value:function(e,t){for(var n=t;n>0&&"\n"!==e[n-1];)n--;return n}},{key:"findSuceedingNewLine",value:function(e,t){for(var n=t;n<e.length&&"\n"!==e[n];)n++;return n}},{key:"processReturnCommand",value:function(e,t,n,i,o){var r=this.findPrecedingNewLine(e,t),a=this.findSuceedingNewLine(e,n),s=e.slice(0,r),l=e.slice(r,a),c=e.slice(a);if(!this.isCursorAtBeginningOfLine(r,i,o)){if(this.isMultiLineItem(l,"quote"))return this.insertMultiLineItem(">",s,l,c,a);if(this.isMultiLineItem(l,"bulletedList"))return this.insertMultiLineItem("*",s,l,c,a);if(this.isMultiLineItem(l,"numberedList")){var u=this.getPrefixNumber(l)+1,d=this.renumberEndText(c,u);return this.insertMultiLineItem(u+".",s,l,d,a)}}return null}},{key:"isCursorAtBeginningOfLine",value:function(e,t,n){return t===n&&t===e}},{key:"insertMultiLineItem",value:function(e,t,n,i,o){var r=t+n+"\n"+e+" "+i,a=o+2+e.length;return{newText:r,newStart:a,newEnd:a}}},{key:"renumberEndText",value:function(e,t){var n=this,i=e.split("\n"),o="",r=!1;return i.forEach((function(e,i){n.isMultiLineItem(e,"numberedList")&&!1===r?o+=n.renumberLine(e,t+i):(o+=e,i>0&&(r=!0))})),o}},{key:"renumberLine",value:function(e,t){var n=e.indexOf(". ");return t+". "+e.slice(n+2)}}]),n}(),ir=Object.assign({},io),or=function(){function n(t,i,o,r,a,s,l,c,u,d){e(this,n),this.config=t,this.dispUtils=i,this.nodeUtils=o,this.decUtils=r,this.canvasController=a,this.canvasDiv=s,this.activePipeline=l,this.displayCommentsCallback=c,this.displayLinksCallback=u,this.getCommentToolbarPosCallback=d,this.logger=new Re("SvgCanvasTextArea"),this.editingText=!1,this.editingTextId="",this.addingTextToTextArea=!1,this.textAreaHeight=null}return t(n,[{key:"isEditingText",value:function(){return this.editingText}},{key:"getEditingTextId",value:function(){return this.editingTextId}},{key:"displayCommentTextArea",value:function(e,t){if(this.editingTextData={id:e.id,text:e.content,singleLine:!1,maxCharacters:null,allowReturnKey:!0,textCanBeEmpty:!0,xPos:0,yPos:0,width:e.width,height:e.height,className:"d3-comment-entry",parentDomObj:t,keyboardInputCallback:this.config.enableMarkdownInComments?this.commentKeyboardHandler.bind(this):null,autoSizeCallback:this.autoSizeComment.bind(this),saveTextChangesCallback:this.saveCommentChanges.bind(this),closeTextAreaCallback:this.closeCommentTextArea.bind(this)},this.displayTextArea(this.editingTextData),this.config.enableMarkdownInComments&&this.dispUtils.isDisplayingFullPage()){var n=this.getCommentToolbarPosCallback(e);this.canvasController.openTextToolbar(n.x,n.y,this.markdownActionHandler.bind(this),this.blurInTextToolbar.bind(this))}}},{key:"commentKeyboardHandler",value:function(e){var t=this.getMarkdownAction(e);t&&("return"!==t&&Fe.stopPropagationAndPreventDefault(e),this.markdownActionHandler(t,e))}},{key:"blurInTextToolbar",value:function(e){this.addingTextToTextArea||e.relatedTarget&&(Fe.getParentElementWithClass(e.relatedTarget,"d3-comment-entry")||Fe.getParentElementWithClass(e.relatedTarget,"text-toolbar")||Fe.getParentElementWithClass(e.relatedTarget,"bx--overflow-menu-options__btn"))||this.completeEditing(e)}},{key:"getMarkdownAction",value:function(e){if(Fe.isCmndCtrlPressed(e))switch(e.keyCode){case 66:return"bold";case 73:return"italics";case 88:return e.shiftKey?"strikethrough":null;case 55:return e.shiftKey?"numberedList":null;case 56:return e.shiftKey?"bulletedList":null;case 69:return"code";case 75:return"link";case 188:return"decreaseHashes";case 190:return e.shiftKey?"quote":"increaseHashes"}else if(13===e.keyCode)return"return";return null}},{key:"markdownActionHandler",value:function(e,t){this.logger.log("markdownActionHandler - action = "+e);var n=this.canvasDiv.selectAll(".d3-comment-entry").node(),i=n.selectionStart,o=n.selectionEnd,r=n.value,a=nr.processMarkdownAction(e,r,i,o);a&&(t.preventDefault(),this.addTextToTextArea(a,n))}},{key:"addTextToTextArea",value:function(e,t){this.addingTextToTextArea=!0;var n=tr(e.newText);t.focus(),t.select(),document.execCommand("insertText",!1,n),t.setSelectionRange(e.newStart,e.newEnd),this.addingTextToTextArea=!1}},{key:"autoSizeComment",value:function(e,t){this.logger.log("autoSizeComment - textAreaHt = "+this.textAreaHeight+" scroll ht = "+e.scrollHeight);var n=e.scrollHeight+12;this.textAreaHeight<n&&(this.textAreaHeight=n,this.foreignObject.style("height",this.textAreaHeight+"px"),this.activePipeline.getComment(t.id).height=this.textAreaHeight,this.displayCommentsCallback(),this.displayLinksCallback())}},{key:"saveCommentChanges",value:function(e,t,n){var i=this.activePipeline.getComment(e),o={editType:"editComment",editSource:"canvas",id:i.id,content:t,width:i.width,height:n,x_pos:i.x_pos,y_pos:i.y_pos,pipelineId:this.activePipeline.id};this.canvasController.editActionHandler(o)}},{key:"closeCommentTextArea",value:function(){this.canvasController.closeTextToolbar()}},{key:"displayNodeLabelTextArea",value:function(e,t){this.displayDiv=ir.select(t).selectAll(".d3-foreign-object-node-label div"),this.displayDivStyle=this.displayDiv.attr("style"),this.displayDiv.attr("style","display:none;"),this.editingTextData={id:e.id,text:e.label,singleLine:e.layout.labelSingleLine,maxCharacters:e.layout.labelMaxCharacters,allowReturnKey:e.layout.labelAllowReturnKey,textCanBeEmpty:!1,xPos:this.nodeUtils.getNodeLabelTextAreaPosX(e),yPos:this.nodeUtils.getNodeLabelTextAreaPosY(e),width:this.nodeUtils.getNodeLabelTextAreaWidth(e),height:this.nodeUtils.getNodeLabelTextAreaHeight(e),className:this.nodeUtils.getNodeLabelTextAreaClass(e),parentDomObj:t,autoSizeCallback:this.autoSizeMultiLineLabel.bind(this),saveTextChangesCallback:this.saveNodeLabelChanges.bind(this),closeTextAreaCallback:this.closeEntryTextArea.bind(this)},this.displayTextArea(this.editingTextData)}},{key:"autoSizeMultiLineLabel",value:function(e,t){this.logger.log("autoSizeNodeLabel - textAreaHt = "+this.textAreaHeight+" scroll ht = "+e.scrollHeight),t.maxCharacters&&e.value.length>t.maxCharacters&&(e.value=e.value.substring(0,t.maxCharacters)),this.foreignObject.style("height",0);var n=e.scrollHeight+12;this.textAreaHeight=n,this.foreignObject.style("height",this.textAreaHeight+"px")}},{key:"saveNodeLabelChanges",value:function(e,t,n,i){var o={editType:"setNodeLabel",editSource:"canvas",nodeId:e,label:t,pipelineId:this.activePipeline.id};this.canvasController.editActionHandler(o)}},{key:"closeEntryTextArea",value:function(){this.displayDiv.attr("style",this.displayDivStyle)}},{key:"displayDecLabelTextArea",value:function(e,t,n,i){this.displayDiv=ir.select(i).selectAll(".d3-foreign-object-dec-label div"),this.displayDivStyle=this.displayDiv.attr("style"),this.displayDiv.attr("style","display:none;"),this.editingTextData={id:e.id,text:e.label,singleLine:e.label_single_line||!1,maxCharacters:e.label_max_characters||null,allowReturnKey:e.label_allow_return_key||!1,textCanBeEmpty:!1,xPos:this.decUtils.getDecLabelTextAreaPosX(),yPos:this.decUtils.getDecLabelTextAreaPosY(),width:this.decUtils.getDecLabelTextAreaWidth(e,t,n),height:this.decUtils.getDecLabelTextAreaHeight(e,t,n),className:this.decUtils.getDecLabelTextAreaClass(e),parentDomObj:i,objId:t.id,objType:n,autoSizeCallback:this.autoSizeMultiLineLabel.bind(this),saveTextChangesCallback:this.saveDecLabelChanges.bind(this),closeTextAreaCallback:this.closeEntryTextArea.bind(this)},this.displayTextArea(this.editingTextData)}},{key:"saveDecLabelChanges",value:function(e,t,n,i){var o={editType:"editDecorationLabel",editSource:"canvas",decId:e,objId:i.objId,objType:i.objType,label:t,pipelineId:this.activePipeline.id};this.canvasController.editActionHandler(o)}},{key:"displayTextArea",value:function(e){var t=this;this.textAreaHeight=e.height,this.editingText=!0,this.editingTextId=e.id,this.foreignObject=ir.select(e.parentDomObj).append("foreignObject").attr("class","d3-foreign-object-text-entry").attr("width",e.width).attr("height",e.height).attr("x",e.xPos).attr("y",e.yPos);var n=this.foreignObject.append("xhtml:textarea").attr("class",e.className).text(tr(e.text)).on("keydown",(function(n){if(13===n.keyCode){if("save"===e.allowReturnKey)return t.textContentSaved=!0,void t.saveAndCloseTextArea(e,n.target.value,n);!e.singleLine&&e.allowReturnKey||Fe.stopPropagationAndPreventDefault(n)}27===n.keyCode&&(Fe.stopPropagationAndPreventDefault(n),t.textAreaEscKeyPressed=!0,t.closeTextArea(e)),e.maxCharacters&&n.target.value.length>=e.maxCharacters&&!t.textAreaAllowedKeys(n)&&Fe.stopPropagationAndPreventDefault(n),e.keyboardInputCallback&&e.keyboardInputCallback(n)})).on("keyup",(function(t){e.autoSizeCallback(t.target,e)})).on("paste",(function(n){t.logger.log("Text area - Paste - Scroll Ht = "+n.target.scrollHeight),setTimeout(e.autoSizeCallback,500,n.target,e)})).on("blur",(function(n,i){t.logger.log("Text area - blur"),t.textAreaEscKeyPressed?t.textAreaEscKeyPressed=!1:t.textContentSaved?t.textContentSaved=!1:n.relatedTarget&&Fe.getParentElementWithClass(n.relatedTarget,"text-toolbar")||t.saveAndCloseTextArea(e,n.target.value,n)})).on("focus",(function(n,i){t.logger.log("Text area - focus"),e.autoSizeCallback(n.target,e)})).on("mousedown click dblclick contextmenu",(function(e,t){e.stopPropagation()}));n.node().focus(),n.node().setSelectionRange(e.text.length,e.text.length)}},{key:"completeEditing",value:function(e){var t=this.foreignObject.selectAll("textarea").node();this.textContentSaved=!0,this.saveAndCloseTextArea(this.editingTextData,t.value,e)}},{key:"saveAndCloseTextArea",value:function(e,t,n){if(!t&&!e.textCanBeEmpty)return this.closeTextArea(e),void Fe.stopPropagationAndPreventDefault(n);var i=t;this.closeTextArea(e),e.text===i&&this.textAreaHeight===e.height||e.saveTextChangesCallback(e.id,i,this.textAreaHeight,e)}},{key:"closeTextArea",value:function(e){e.closeTextAreaCallback&&e.closeTextAreaCallback(e.id),this.foreignObject.remove(),this.editingText=!1,this.editingTextId=""}},{key:"textAreaAllowedKeys",value:function(e){return 46===e.keyCode||8===e.keyCode||37===e.keyCode||39===e.keyCode||38===e.keyCode||40===e.keyCode||65===e.keyCode&&Fe.isCmndCtrlPressed(e)}}]),n}(),rr={value:()=>{}};function ar(){for(var e,t=0,n=arguments.length,i={};t<n;++t){if(!(e=arguments[t]+"")||e in i||/[\s.]/.test(e))throw new Error("illegal type: "+e);i[e]=[]}return new sr(i)}function sr(e){this._=e}function lr(e,t){for(var n,i=0,o=e.length;i<o;++i)if((n=e[i]).name===t)return n.value}function cr(e,t,n){for(var i=0,o=e.length;i<o;++i)if(e[i].name===t){e[i]=rr,e=e.slice(0,i).concat(e.slice(i+1));break}return null!=n&&e.push({name:t,value:n}),e}sr.prototype=ar.prototype={constructor:sr,on:function(e,t){var n,i,o=this._,r=(i=o,(e+"").trim().split(/^|\s+/).map((function(e){var t="",n=e.indexOf(".");if(n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),e&&!i.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:t}}))),a=-1,s=r.length;if(!(arguments.length<2)){if(null!=t&&"function"!=typeof t)throw new Error("invalid callback: "+t);for(;++a<s;)if(n=(e=r[a]).type)o[n]=cr(o[n],e.name,t);else if(null==t)for(n in o)o[n]=cr(o[n],e.name,null);return this}for(;++a<s;)if((n=(e=r[a]).type)&&(n=lr(o[n],e.name)))return n},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new sr(e)},call:function(e,t){if((n=arguments.length-2)>0)for(var n,i,o=new Array(n),r=0;r<n;++r)o[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(r=0,n=(i=this._[e]).length;r<n;++r)i[r].value.apply(t,o)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var i=this._[e],o=0,r=i.length;o<r;++o)i[o].value.apply(t,n)}};const ur={passive:!1},dr={capture:!0,passive:!1};function hr(e){e.stopImmediatePropagation()}function pr(e){e.preventDefault(),e.stopImmediatePropagation()}function gr(e){var t=e.document.documentElement,n=$i(e).on("dragstart.drag",pr,dr);"onselectstart"in t?n.on("selectstart.drag",pr,dr):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function fr(e,t){var n=e.document.documentElement,i=$i(e).on("dragstart.drag",null);t&&(i.on("click.drag",pr,dr),setTimeout((function(){i.on("click.drag",null)}),0)),"onselectstart"in n?i.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}var vr=e=>()=>e;function yr(e,{sourceEvent:t,subject:n,target:i,identifier:o,active:r,x:a,y:s,dx:l,dy:c,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:r,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:u}})}function mr(e){return!e.ctrlKey&&!e.button}function br(){return this.parentNode}function kr(e,t){return null==t?{x:e.x,y:e.y}:t}function Cr(){return navigator.maxTouchPoints||"ontouchstart"in this}yr.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};var xr=Object.freeze({__proto__:null,drag:function(){var e,t,n,i,o=mr,r=br,a=kr,s=Cr,l={},c=ar("start","drag","end"),u=0,d=0;function h(e){e.on("mousedown.drag",p).filter(s).on("touchstart.drag",v).on("touchmove.drag",y,ur).on("touchend.drag touchcancel.drag",m).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(a,s){if(!i&&o.call(this,a,s)){var l=b(this,r.call(this,a,s),a,s,"mouse");l&&($i(a.view).on("mousemove.drag",g,dr).on("mouseup.drag",f,dr),gr(a.view),hr(a),n=!1,e=a.clientX,t=a.clientY,l("start",a))}}function g(i){if(pr(i),!n){var o=i.clientX-e,r=i.clientY-t;n=o*o+r*r>d}l.mouse("drag",i)}function f(e){$i(e.view).on("mousemove.drag mouseup.drag",null),fr(e.view,n),pr(e),l.mouse("end",e)}function v(e,t){if(o.call(this,e,t)){var n,i,a=e.changedTouches,s=r.call(this,e,t),l=a.length;for(n=0;n<l;++n)(i=b(this,s,e,t,a[n].identifier,a[n]))&&(hr(e),i("start",e,a[n]))}}function y(e){var t,n,i=e.changedTouches,o=i.length;for(t=0;t<o;++t)(n=l[i[t].identifier])&&(pr(e),n("drag",e,i[t]))}function m(e){var t,n,o=e.changedTouches,r=o.length;for(i&&clearTimeout(i),i=setTimeout((function(){i=null}),500),t=0;t<r;++t)(n=l[o[t].identifier])&&(hr(e),n("end",e,o[t]))}function b(e,t,n,i,o,r){var s,d,p,g=c.copy(),f=no(r||n,t);if(null!=(p=a.call(e,new yr("beforestart",{sourceEvent:n,target:h,identifier:o,active:u,x:f[0],y:f[1],dx:0,dy:0,dispatch:g}),i)))return s=p.x-f[0]||0,d=p.y-f[1]||0,function n(r,a,c){var v,y=f;switch(r){case"start":l[o]=n,v=u++;break;case"end":delete l[o],--u;case"drag":f=no(c||a,t),v=u}g.call(r,e,new yr(r,{sourceEvent:a,subject:p,target:h,identifier:o,active:v,x:f[0]+s,y:f[1]+d,dx:f[0]-y[0],dy:f[1]-y[1],dispatch:g}),i)}}return h.filter=function(e){return arguments.length?(o="function"==typeof e?e:vr(!!e),h):o},h.container=function(e){return arguments.length?(r="function"==typeof e?e:vr(e),h):r},h.subject=function(e){return arguments.length?(a="function"==typeof e?e:vr(e),h):a},h.touchable=function(e){return arguments.length?(s="function"==typeof e?e:vr(!!e),h):s},h.on=function(){var e=c.on.apply(c,arguments);return e===c?h:e},h.clickDistance=function(e){return arguments.length?(d=(e=+e)*e,h):Math.sqrt(d)},h},dragDisable:gr,dragEnable:fr}),Pr=Object.assign({},xr,io),Lr=function(){function n(t){e(this,n),this.ren=t,this.logger=new Re("SVGCanvasUtilsDragObjects"),this.resizeObjInitialInfo=null,this.commentSizing=!1,this.commentSizingDirection=null,this.commentSizingCursor="",this.nodeSizing=!1,this.nodeSizingDirection=null,this.nodeSizingCursor="",this.nodeSizingObjectsInfo={},this.nodeSizingDetLinksInfo={},this.notSnappedXPos=0,this.notSnappedYPos=0,this.notSnappedWidth=0,this.notSnappedHeight=0,this.draggingObjectData=null,this.existingNodeInsertableIntoLink=!1,this.existingNodeAttachableToDetachedLinks=!1,this.dragObjectHandler=Pr.drag().on("start",this.dragStartObject.bind(this)).on("drag",this.dragObject.bind(this)).on("end",this.dragEndObject.bind(this))}return t(n,[{key:"getDragObjectHandler",value:function(){return this.dragObjectHandler}},{key:"isSizing",value:function(){return this.nodeSizing||this.commentSizing}},{key:"isMoving",value:function(){return this.draggingObjectData}},{key:"mouseEnterNodeSizingArea",value:function(e,t){if(this.ren.config.enableEditingActions&&this.isNodeResizable(t)&&!this.ren.isRegionSelectOrSizingInProgress()){var n="default";this.isPointerCloseToBodyEdge(e,t)||(this.nodeSizingDirection=this.getSizingDirection(e,t,t.layout.nodeCornerResizeArea),this.nodeSizingCursor=this.getCursorBasedOnDirection(this.nodeSizingDirection),n=this.nodeSizingCursor),Pr.select(e.currentTarget).style("cursor",n)}}},{key:"mouseDownNodeSizingArea",value:function(e){this.isNodeResizable(e)&&(this.nodeSizing=!0,this.ren.addTempCursorOverlay(this.nodeSizingCursor))}},{key:"mouseLeaveNodeSizingArea",value:function(e){Pr.select(e.currentTarget).style("cursor","default")}},{key:"mouseEnterCommentSizingArea",value:function(e,t){if(this.ren.config.enableEditingActions&&!this.ren.isRegionSelectOrSizingInProgress()){var n="default";this.isPointerCloseToBodyEdge(e,t)||(this.commentSizingDirection=this.getSizingDirection(e,t,this.ren.canvasLayout.commentCornerResizeArea),this.commentSizingCursor=this.getCursorBasedOnDirection(this.commentSizingDirection),n=this.commentSizingCursor),Pr.select(e.currentTarget).style("cursor",n)}}},{key:"mouseDownCommentSizingArea",value:function(){this.commentSizing=!0,this.ren.addTempCursorOverlay(this.commentSizingCursor)}},{key:"mouseLeaveCommentSizingArea",value:function(e){Pr.select(e.currentTarget).style("cursor","default")}},{key:"dragStartObject",value:function(e,t){this.logger.logStartTimer("dragStartObject"),this.ren.closeContextMenuIfOpen(),this.commentSizing||this.nodeSizing?this.initializeResizeVariables(t):this.dragObjectsStart(e,t),this.logger.logEndTimer("dragStartObject",!0)}},{key:"dragObject",value:function(e,t){this.logger.logStartTimer("dragObject"),this.commentSizing?this.resizeComment(e,t):this.nodeSizing?this.resizeNode(e,t):this.dragObjectsAction(e),this.logger.logEndTimer("dragObject",!0)}},{key:"dragEndObject",value:function(e,t){this.logger.logStartTimer("dragEndObject"),this.ren.removeTempCursorOverlay(),this.commentSizing?(this.endCommentSizing(t),this.commentSizing=!1):this.nodeSizing?(this.endNodeSizing(t),this.nodeSizing=!1):this.dragObjectsEnd(e,t),this.logger.logEndTimer("dragEndObject",!0)}},{key:"initializeResizeVariables",value:function(e){this.resizeObjInitialInfo={x_pos:e.x_pos,y_pos:e.y_pos,width:e.width,height:e.height},this.notSnappedXPos=e.x_pos,this.notSnappedYPos=e.y_pos,this.notSnappedWidth=e.width,this.notSnappedHeight=e.height}},{key:"isPointerCloseToBodyEdge",value:function(e,t){var n=this.ren.getTransformedMousePos(e),i=t.x_pos+t.width,o=t.y_pos+t.height,r=n.x>=i&&n.x<=i+1&&n.y>=0&&n.y<=o,a=n.y>=o&&n.y<=o+1&&n.x>=0&&n.x<=i;return r||a}},{key:"getSizingDirection",value:function(e,t,n){var i="",o="",r=this.ren.getTransformedMousePos(e);return r.x<t.x_pos+n?i="w":r.x>t.x_pos+t.width-n&&(i="e"),r.y<t.y_pos+n?o="n":r.y>t.y_pos+t.height-n&&(o="s"),o+i}},{key:"getCursorBasedOnDirection",value:function(e){var t;switch(e){case"n":case"s":t="ns-resize";break;case"e":case"w":t="ew-resize";break;case"nw":case"se":t="nwse-resize";break;case"ne":case"sw":t="nesw-resize";break;default:t=""}return t}},{key:"isNodeResizable",value:function(e){return!(!this.ren.config.enableEditingActions||Fe.isSuperBindingNode(e)||Fe.isCollapsedSupernode(e)||!this.ren.config.enableResizableNodes&&!Fe.isExpandedSupernode(e))}},{key:"resizeNode",value:function(e,t){var n=Object.assign({},t),i=this.getMinHeight(t),o=this.getMinWidth(t),r=this.resizeObject(e,t,this.nodeSizingDirection,o,i);if(r&&(0!==r.x_pos||0!==r.y_pos||0!==r.width||0!==r.height)){if(Fe.isSupernode(t)&&this.ren.config.enableMoveNodesOnSupernodeResize){var a=Fe.moveSurroundingObjects(n,this.ren.activePipeline.getNodesAndComments(),this.nodeSizingDirection,t.width,t.height,!0),s=Fe.moveSurroundingDetachedLinks(n,this.ren.activePipeline.links,this.nodeSizingDirection,t.width,t.height,!0);this.nodeSizingObjectsInfo=Object.assign(this.nodeSizingObjectsInfo,a),this.nodeSizingDetLinksInfo=Object.assign(this.nodeSizingDetLinksInfo,s)}this.logger.logStartTimer("displayObjects"),this.ren.displayMovedComments(),this.ren.displayMovedNodes(),this.ren.displaySingleNode(t),this.ren.displayMovedLinks(),this.ren.displayCanvasAccoutrements(),Fe.isSupernode(t)&&(this.ren.dispUtils.isDisplayingSubFlow()&&this.ren.displayBindingNodesToFitSVG(),this.ren.superRenderers.forEach((function(e){return e.displaySVGToFitSupernode()}))),this.logger.logEndTimer("displayObjects")}}},{key:"resizeComment",value:function(e,t){this.resizeObject(e,t,this.commentSizingDirection,20,20),this.ren.displaySingleComment(t),this.ren.displayMovedLinks(),this.ren.displayCanvasAccoutrements()}},{key:"resizeObject",value:function(e,t,n,i,o){var r=0,a=0,s=0,l=0;n.indexOf("e")>-1&&(s+=e.dx),n.indexOf("s")>-1&&(l+=e.dy),n.indexOf("n")>-1&&(a+=e.dy,l-=e.dy),n.indexOf("w")>-1&&(r+=e.dx,s-=e.dx);var c=0,u=0,d=0,h=0;if(this.ren.config.enableSnapToGridType===oe?(this.notSnappedXPos+=r,this.notSnappedYPos+=a,this.notSnappedWidth+=s,this.notSnappedHeight+=l,c=Fe.snapToGrid(this.notSnappedXPos,this.ren.canvasLayout.snapToGridXPx),u=Fe.snapToGrid(this.notSnappedYPos,this.ren.canvasLayout.snapToGridYPx),d=Fe.snapToGrid(this.notSnappedWidth,this.ren.canvasLayout.snapToGridXPx),h=Fe.snapToGrid(this.notSnappedHeight,this.ren.canvasLayout.snapToGridYPx),d=Math.max(d,i),h=Math.max(h,o)):(c=t.x_pos+r,u=t.y_pos+a,d=t.width+s,h=t.height+l),d<i||h<o)return null;var p={width:d-t.width,height:h-t.height,x_pos:c-t.x_pos,y_pos:u-t.y_pos};return t.x_pos=c,t.y_pos=u,t.width=d,t.height=h,p}},{key:"endNodeSizing",value:function(e){var t=e;this.ren.config.enableSnapToGridType===re&&(t=this.snapToGridObject(t),t=this.restrictNodeSizingToMinimums(t)),this.resizeObjInitialInfo.x_pos===t.x_pos&&this.resizeObjInitialInfo.y_pos===t.y_pos&&this.resizeObjInitialInfo.width===t.width&&this.resizeObjInitialInfo.height===t.height||(this.nodeSizingObjectsInfo[t.id]={width:t.width,height:t.height,x_pos:t.x_pos,y_pos:t.y_pos},(t.height>t.layout.defaultNodeHeight+2||t.width>t.layout.defaultNodeWidth+2)&&(this.nodeSizingObjectsInfo[t.id].isResized=!0,this.nodeSizingObjectsInfo[t.id].resizeWidth=t.width,this.nodeSizingObjectsInfo[t.id].resizeHeight=t.height),this.ren.canvasController.editActionHandler({editType:"resizeObjects",editSource:"canvas",objectsInfo:this.nodeSizingObjectsInfo,detachedLinksInfo:this.nodeSizingDetLinksInfo,pipelineId:this.ren.activePipeline.id}))}},{key:"endCommentSizing",value:function(e){var t=e;if(this.ren.config.enableSnapToGridType===re&&(t=this.snapToGridObject(t)),this.resizeObjInitialInfo.x_pos!==t.x_pos||this.resizeObjInitialInfo.y_pos!==t.y_pos||this.resizeObjInitialInfo.width!==t.width||this.resizeObjInitialInfo.height!==t.height){var n=[];n[t.id]={width:t.width,height:t.height,x_pos:t.x_pos,y_pos:t.y_pos};var i={editType:"resizeObjects",editSource:"canvas",objectsInfo:n,detachedLinksInfo:{},pipelineId:this.ren.activePipeline.id};this.ren.canvasController.editActionHandler(i)}}},{key:"restrictNodeSizingToMinimums",value:function(e){var t=this.getMinHeight(e),n=this.getMinWidth(e);return e.width=Math.max(e.width,n),e.height=Math.max(e.height,t),e}},{key:"getMinHeight",value:function(e){if(Fe.isSupernode(e)){var t=Math.max(e.inputPortsHeight,e.outputPortsHeight)+this.ren.canvasLayout.supernodeTopAreaHeight+this.ren.canvasLayout.supernodeSVGAreaPadding;return Math.max(this.ren.canvasLayout.supernodeMinHeight,t)}return e.layout.defaultNodeHeight}},{key:"getMinWidth",value:function(e){return Fe.isSupernode(e)?this.ren.canvasLayout.supernodeMinWidth:e.layout.defaultNodeWidth}},{key:"dragObjectsStart",value:function(e,t){var n,i=this;this.existingNodeInsertableIntoLink=!1,this.existingNodeAttachableToDetachedLinks=!1,this.draggingObjectData={dragOffsetX:0,dragOffsetY:0,dragRunningX:0,dragRunningY:0,dragObjects:this.getDragObjects(t)},(null===(n=this.draggingObjectData.dragObjects)||void 0===n?void 0:n.length)>0&&(this.draggingObjectData.dragStartX=this.draggingObjectData.dragObjects[0].x_pos,this.draggingObjectData.dragStartY=this.draggingObjectData.dragObjects[0].y_pos),this.isExistingNodeInsertableIntoLink()&&(this.startNodeInsertingInLink=setTimeout((function(){i.existingNodeInsertableIntoLink=!0,i.setNodeTranslucentState(i.draggingObjectData.dragObjects[0].id,!0),i.ren.setDataLinkSelectionAreaWider(!0)}),200)),this.isExistingNodeAttachableToDetachedLinks()&&(this.startNodeAttachingToDetachedLinks=setTimeout((function(){i.existingNodeAttachableToDetachedLinks=!0,i.setNodeTranslucentState(i.draggingObjectData.dragObjects[0].id,!0)}),200))}},{key:"dragObjectsAction",value:function(e){if(this.draggingObjectData.dragOffsetX+=e.dx,this.draggingObjectData.dragOffsetY+=e.dy,this.ren.dispUtils.isDisplayingSubFlowInPlace()&&(this.draggingObjectData.dragOffsetX>1e3||this.draggingObjectData.dragOffsetX<-1e3||this.draggingObjectData.dragOffsetY>1e3||this.draggingObjectData.dragOffsetY<-1e3))this.draggingObjectData.dragOffsetX-=e.dx,this.draggingObjectData.dragOffsetY-=e.dy;else{var t={x:0,y:0};if(this.ren.config.enableSnapToGridType===oe){var n=this.snapToGridDraggedNode(this.draggingObjectData);t={x:n.x-this.draggingObjectData.dragObjects[0].x_pos,y:n.y-this.draggingObjectData.dragObjects[0].y_pos}}else t={x:e.dx,y:e.dy};this.draggingObjectData.dragRunningX+=t.x,this.draggingObjectData.dragRunningY+=t.y,this.draggingObjectData.dragObjects.forEach((function(e){e.x_pos+=t.x,e.y_pos+=t.y})),this.ren.config.enableLinkSelection===ae&&this.ren.activePipeline.getSelectedLinks().forEach((function(e){e.srcPos&&(e.srcPos.x_pos+=t.x,e.srcPos.y_pos+=t.y),e.trgPos&&(e.trgPos.x_pos+=t.x,e.trgPos.y_pos+=t.y)}))}if(this.ren.displayMovedComments(),this.ren.displayMovedNodes(),this.ren.displayMovedLinks(),this.ren.displayCanvasAccoutrements(),this.ren.dispUtils.isDisplayingSubFlowInPlace()&&this.ren.displaySVGToFitSupernode(),this.existingNodeInsertableIntoLink){var i=this.ren.getLinkAtMousePos(e.sourceEvent.clientX,e.sourceEvent.clientY);(!i||this.ren.isLinkFullyAttached(i)&&this.draggingObjectData.dragObjects[0].id!==i.srcNodeId&&this.draggingObjectData.dragObjects[0].id!==i.trgNodeId)&&this.ren.setInsertNodeIntoLinkHighlighting(i)}if(this.existingNodeAttachableToDetachedLinks){var o=this.draggingObjectData.dragObjects[0],r={x1:o.x_pos,y1:o.y_pos,x2:o.x_pos+o.width,y2:o.y_pos+o.height},a=this.ren.getAttachableLinksForNodeAtPos(o,r);this.ren.setDetachedLinkHighlighting(a)}}},{key:"dragObjectsEnd",value:function(e,t){var n=this.draggingObjectData;if(this.draggingObjectData=null,clearTimeout(this.startNodeInsertingInLink),clearTimeout(this.startNodeAttachingToDetachedLinks),0===n.dragOffsetX&&0===n.dragOffsetY&&this.ren.config.enableDragWithoutSelect)this.ren.selectObjectSourceEvent(e,t);else if(0!==n.dragRunningX||0!==n.dragRunningY){var i=null;if(this.ren.config.enableSnapToGridType===re){var o=this.snapToGridDraggedNode(n);i={x:o.x-n.dragStartX,y:o.y-n.dragStartY}}else i={x:n.dragRunningX,y:n.dragRunningY};this.existingNodeInsertableIntoLink&&this.ren.dragOverLink?this.ren.canvasController.editActionHandler({editType:"insertNodeIntoLink",editSource:"canvas",node:n.dragObjects[0],link:this.ren.dragOverLink,offsetX:i.x,offsetY:i.y,pipelineId:this.ren.activePipeline.id}):this.existingNodeAttachableToDetachedLinks&&this.ren.dragOverDetachedLinks.length>0?this.ren.canvasController.editActionHandler({editType:"attachNodeToLinks",editSource:"canvas",node:n.dragObjects[0],detachedLinks:this.ren.dragOverDetachedLinks,offsetX:i.x,offsetY:i.y,pipelineId:this.ren.activePipeline.id}):this.ren.canvasController.editActionHandler({editType:"moveObjects",editSource:"canvas",nodes:n.dragObjects.map((function(e){return e.id})),links:this.ren.activePipeline.getSelectedDetachedLinks(),offsetX:i.x,offsetY:i.y,pipelineId:this.ren.activePipeline.id})}this.ren.setDataLinkSelectionAreaWider(!1),this.unsetNodeTranslucentState(n.dragObjects),this.ren.unsetInsertNodeIntoLinkHighlighting(),this.ren.unsetDetachedLinkHighlighting()}},{key:"getDragObjects",value:function(e){var t=this.ren.activePipeline.getSelectedNodesAndComments();return this.ren.config.enableDragWithoutSelect&&-1===t.findIndex((function(t){return t.id===e.id}))?[e]:t}},{key:"isExistingNodeInsertableIntoLink",value:function(){return this.ren.config.enableInsertNodeDroppedOnLink&&1===this.draggingObjectData.dragObjects.length&&Fe.isNode(this.draggingObjectData.dragObjects[0])&&Fe.hasInputAndOutputPorts(this.draggingObjectData.dragObjects[0])&&!Fe.isNodeDefaultPortsCardinalityAtMax(this.draggingObjectData.dragObjects[0],this.ren.activePipeline.links)}},{key:"isExistingNodeAttachableToDetachedLinks",value:function(){return this.ren.config.enableLinkSelection===ae&&1===this.draggingObjectData.dragObjects.length&&Fe.isNode(this.draggingObjectData.dragObjects[0])}},{key:"setNodeTranslucentState",value:function(e,t){this.ren.getNodeGroupSelectionById(e).classed("d3-node-group-translucent",t)}},{key:"unsetNodeTranslucentState",value:function(e){(null==e?void 0:e.length)>0&&this.setNodeTranslucentState(e[0].id,!1)}},{key:"snapToGridDraggedNode",value:function(e){var t=e.dragStartX+e.dragOffsetX,n=e.dragStartY+e.dragOffsetY;return this.ren.snapToGridPosition({x:t,y:n})}},{key:"snapToGridObject",value:function(e){var t=e;return t.x_pos=Fe.snapToGrid(t.x_pos,this.ren.canvasLayout.snapToGridXPx),t.y_pos=Fe.snapToGrid(t.y_pos,this.ren.canvasLayout.snapToGridYPx),t.width=Fe.snapToGrid(t.width,this.ren.canvasLayout.snapToGridXPx),t.height=Fe.snapToGrid(t.height,this.ren.canvasLayout.snapToGridYPx),t}}]),n}();function wr(e){return((e*=2)<=1?e*e:--e*(2-e)+1)/2}function Sr(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Nr=function e(t){function n(e){return Math.pow(e,t)}return t=+t,n.exponent=e,n}(3),Tr=function e(t){function n(e){return 1-Math.pow(1-e,t)}return t=+t,n.exponent=e,n}(3),Dr=function e(t){function n(e){return((e*=2)<=1?Math.pow(e,t):2-Math.pow(2-e,t))/2}return t=+t,n.exponent=e,n}(3),Er=Math.PI,Ir=Er/2;function Or(e){return(1-Math.cos(Er*e))/2}function _r(e){return 1.0009775171065494*(Math.pow(2,-10*e)-.0009765625)}function Ar(e){return((e*=2)<=1?_r(1-e):2-_r(e-1))/2}function Mr(e){return((e*=2)<=1?1-Math.sqrt(1-e*e):Math.sqrt(1-(e-=2)*e)+1)/2}var zr=4/11,Hr=6/11,jr=8/11,Rr=3/4,Ur=9/11,Br=10/11,Fr=15/16,Gr=21/22,Yr=63/64,Wr=1/zr/zr;function Xr(e){return(e=+e)<zr?Wr*e*e:e<jr?Wr*(e-=Hr)*e+Rr:e<Br?Wr*(e-=Ur)*e+Fr:Wr*(e-=Gr)*e+Yr}var Zr=1.70158,Vr=function e(t){function n(e){return(e=+e)*e*(t*(e-1)+e)}return t=+t,n.overshoot=e,n}(Zr),Kr=function e(t){function n(e){return--e*e*((e+1)*t+e)+1}return t=+t,n.overshoot=e,n}(Zr),qr=function e(t){function n(e){return((e*=2)<1?e*e*((t+1)*e-t):(e-=2)*e*((t+1)*e+t)+2)/2}return t=+t,n.overshoot=e,n}(Zr),$r=2*Math.PI,Jr=function e(t,n){var i=Math.asin(1/(t=Math.max(1,t)))*(n/=$r);function o(e){return t*_r(- --e)*Math.sin((i-e)/n)}return o.amplitude=function(t){return e(t,n*$r)},o.period=function(n){return e(t,n)},o}(1,.3),Qr=function e(t,n){var i=Math.asin(1/(t=Math.max(1,t)))*(n/=$r);function o(e){return 1-t*_r(e=+e)*Math.sin((e+i)/n)}return o.amplitude=function(t){return e(t,n*$r)},o.period=function(n){return e(t,n)},o}(1,.3),ea=function e(t,n){var i=Math.asin(1/(t=Math.max(1,t)))*(n/=$r);function o(e){return((e=2*e-1)<0?t*_r(-e)*Math.sin((i-e)/n):2-t*_r(e)*Math.sin((i+e)/n))/2}return o.amplitude=function(t){return e(t,n*$r)},o.period=function(n){return e(t,n)},o}(1,.3),ta=Object.freeze({__proto__:null,easeLinear:e=>+e,easeQuad:wr,easeQuadIn:function(e){return e*e},easeQuadOut:function(e){return e*(2-e)},easeQuadInOut:wr,easeCubic:Sr,easeCubicIn:function(e){return e*e*e},easeCubicOut:function(e){return--e*e*e+1},easeCubicInOut:Sr,easePoly:Dr,easePolyIn:Nr,easePolyOut:Tr,easePolyInOut:Dr,easeSin:Or,easeSinIn:function(e){return 1==+e?1:1-Math.cos(e*Ir)},easeSinOut:function(e){return Math.sin(e*Ir)},easeSinInOut:Or,easeExp:Ar,easeExpIn:function(e){return _r(1-+e)},easeExpOut:function(e){return 1-_r(e)},easeExpInOut:Ar,easeCircle:Mr,easeCircleIn:function(e){return 1-Math.sqrt(1-e*e)},easeCircleOut:function(e){return Math.sqrt(1- --e*e)},easeCircleInOut:Mr,easeBounce:Xr,easeBounceIn:function(e){return 1-Xr(1-e)},easeBounceOut:Xr,easeBounceInOut:function(e){return((e*=2)<=1?1-Xr(1-e):Xr(e-1)+1)/2},easeBack:qr,easeBackIn:Vr,easeBackOut:Kr,easeBackInOut:qr,easeElastic:Qr,easeElasticIn:Jr,easeElasticOut:Qr,easeElasticInOut:ea}),na=Object.assign({},xr,ta,io),ia=function(){function n(t){e(this,n),this.ren=t,this.logger=new Re("SVGCanvasUtilsDragNewLink"),this.drawingNewLinkData=null,this.dragNewLinkHandler=na.drag().on("start",this.dragStartNewLink.bind(this)).on("drag",this.dragMoveNewLink.bind(this)).on("end",this.dragEndNewLink.bind(this))}return t(n,[{key:"getDragNewLinkHandler",value:function(){return this.dragNewLinkHandler}},{key:"isDragging",value:function(){return this.drawingNewLinkData}},{key:"dragStartNewLink",value:function(e,t){if(this.isEventForOutputPort(e)){var n=this.getNodeForPort(e);this.startOutputPortNewLink(t,n)}else if(this.isEventForInputPort(e)){var i=this.getNodeForPort(e);this.startInputPortNewLink(t,i)}else"comment"===this.ren.activePipeline.getObjectTypeName(t)&&this.startCommentNewLink(t)}},{key:"dragMoveNewLink",value:function(e){this.drawNewLink(e)}},{key:"dragEndNewLink",value:function(e){this.completeNewLink(e)}},{key:"isEventForInputPort",value:function(e){return this.targetContainsClass(e,"d3-node-port-input")||this.targetContainsClass(e,"d3-node-port-input-assoc")}},{key:"isEventForOutputPort",value:function(e){return this.targetContainsClass(e,"d3-node-port-output")||this.targetContainsClass(e,"d3-node-port-output-assoc")}},{key:"targetContainsClass",value:function(e,t){var n,i,o;return null===(n=e.sourceEvent)||void 0===n||null===(i=n.currentTarget)||void 0===i||null===(o=i.classList)||void 0===o?void 0:o.contains(t)}},{key:"getNodeForPort",value:function(e){var t,n;return na.select(null===(t=e.sourceEvent)||void 0===t||null===(n=t.currentTarget)||void 0===n?void 0:n.parentNode).datum()}},{key:"startCommentNewLink",value:function(e){this.drawingNewLinkData={srcObjId:e.id,action:W,startPos:{x:e.x_pos-this.ren.canvasLayout.commentHighlightGap,y:e.y_pos-this.ren.canvasLayout.commentHighlightGap},linkArray:[]}}},{key:"startInputPortNewLink",value:function(e,t){if(this.ren.config.enableAssocLinkCreation){var n=this.ren.activePipeline.getNode(t.id);this.drawingNewLinkData={srcObjId:t.id,srcPortId:e.id,action:this.ren.config.enableAssocLinkCreation?G:U,srcNode:n,startPos:{x:n.x_pos+e.cx,y:n.y_pos+e.cy},portType:"input",portObject:t.layout.inputPortObject,portImage:t.layout.inputPortImage,portWidth:t.layout.inputPortWidth,portHeight:t.layout.inputPortHeight,portRadius:this.ren.getPortRadius(n),minInitialLine:n.layout.minInitialLine,guideObject:t.layout.inputPortGuideObject,guideImage:t.layout.inputPortGuideImage,linkArray:[]}}}},{key:"startOutputPortNewLink",value:function(e,t){var n=this.ren.activePipeline.getNode(t.id);Fe.isSrcCardinalityAtMax(e.id,n,this.ren.activePipeline.links)||(this.drawingNewLinkData={srcObjId:t.id,srcPortId:e.id,action:this.ren.config.enableAssocLinkCreation?G:U,srcNode:n,startPos:{x:n.x_pos+e.cx,y:n.y_pos+e.cy},portType:"output",portObject:t.layout.outputPortObject,portImage:t.layout.outputPortImage,portWidth:t.layout.outputPortWidth,portHeight:t.layout.outputPortHeight,portRadius:this.ren.getPortRadius(n),minInitialLine:n.layout.minInitialLine,guideObject:t.layout.outputPortGuideObject,guideImage:t.layout.outputPortGuideImage,linkArray:[]},this.ren.config.enableHighlightUnavailableNodes&&this.ren.setUnavailableTargetNodesHighlighting(n,e.id,this.ren.activePipeline.links))}},{key:"drawNewLink",value:function(e){if(!1!==this.ren.config.enableEditingActions&&this.drawingNewLinkData){this.ren.closeContextMenuIfOpen();var t=this.ren.getTransformedMousePos(e);this.drawingNewLinkData.action===W?this.drawNewCommentLinkForPorts(t):this.drawNewNodeLinkForPorts(t),this.ren.config.enableHighlightNodeOnNewLinkDrag&&this.setNewLinkOverNode(e)}}},{key:"drawNewCommentLinkForPorts",value:function(e){var t=this,n=this.ren.activePipeline.getComment(this.drawingNewLinkData.srcObjId),i=this.ren.linkUtils.getNewStraightCommentLinkStartPos(n,e),o=W;this.drawingNewLinkData.linkArray=[{x1:i.x,y1:i.y,x2:e.x,y2:e.y,type:o}];var r=this.ren.nodesLinksGrp.selectAll(".d3-new-connection-line"),a=this.ren.nodesLinksGrp.selectAll(".d3-new-connection-guide");if(r.data(this.drawingNewLinkData.linkArray).enter().append("path").attr("class","d3-new-connection-line").attr("linkType",o).merge(r).attr("d",(function(e){return t.ren.linkUtils.getConnectorPathInfo(e).path})),a.data(this.drawingNewLinkData.linkArray).enter().append("circle").attr("class","d3-new-connection-guide").attr("linkType",o).merge(a).attr("cx",(function(e){return e.x2})).attr("cy",(function(e){return e.y2})).attr("r",this.ren.canvasLayout.commentPortRadius),this.ren.canvasLayout.commentLinkArrowHead){var s=this.ren.nodesLinksGrp.selectAll(".d3-new-connection-arrow");s.data(this.drawingNewLinkData.linkArray).enter().append("path").attr("class","d3-new-connection-arrow").attr("linkType",o).merge(s).attr("d",(function(e){return t.ren.getArrowHead(e)})).attr("transform",(function(e){return t.ren.getArrowHeadTransform(e)}))}}},{key:"drawNewNodeLinkForPorts",value:function(e){var t,n=this,i=this.ren.config.enableAssocLinkCreation?G:U;t=this.ren.canvasLayout.linkType===X?this.ren.linkUtils.getNewStraightNodeLinkStartPos(this.drawingNewLinkData.srcNode,e):{x:this.drawingNewLinkData.startPos.x,y:this.drawingNewLinkData.startPos.y},this.drawingNewLinkData.linkArray=[{x1:t.x,y1:t.y,x2:e.x,y2:e.y,originX:t.originX,originY:t.originY,type:i}],this.ren.config.enableAssocLinkCreation&&(this.drawingNewLinkData.linkArray[0].assocLinkVariation=this.ren.getNewLinkAssocVariation(this.drawingNewLinkData.linkArray[0].x1,this.drawingNewLinkData.linkArray[0].x2,this.drawingNewLinkData.portType));var o=this.ren.linkUtils.getConnectorPathInfo(this.drawingNewLinkData.linkArray[0],this.drawingNewLinkData.minInitialLine),r=this.ren.nodesLinksGrp.selectAll(".d3-new-connection-line"),a=this.ren.nodesLinksGrp.selectAll(".d3-new-connection-start"),s=this.ren.nodesLinksGrp.selectAll(".d3-new-connection-guide");i===U&&this.ren.canvasLayout.linkType===X&&this.ren.nodeUtils.isPointInNodeBoundary(e,this.drawingNewLinkData.srcNode)?this.removeNewLinkLine():r.data(this.drawingNewLinkData.linkArray).enter().append("path").attr("class","d3-new-connection-line").attr("linkType",i).merge(r).attr("d",o.path).attr("transform",o.transform),this.ren.canvasLayout.linkType!==X&&a.data(this.drawingNewLinkData.linkArray).enter().append(this.drawingNewLinkData.portObject).attr("class","d3-new-connection-start").attr("linkType",i).merge(a).each((function(e,t,i){n.drawingNewLinkData.portObject===se&&na.select(i[t]).attr("cx",e.x1).attr("cy",e.y1).attr("r",n.drawingNewLinkData.portRadius)})),s.data(this.drawingNewLinkData.linkArray).enter().append(this.drawingNewLinkData.guideObject).attr("class","d3-new-connection-guide").attr("linkType",i).merge(s).each((function(e,t,i){n.drawingNewLinkData.guideObject===le?na.select(i[t]).attr("xlink:href",n.drawingNewLinkData.guideImage).attr("x",e.x2-n.drawingNewLinkData.portWidth/2).attr("y",e.y2-n.drawingNewLinkData.portHeight/2).attr("width",n.drawingNewLinkData.portWidth).attr("height",n.drawingNewLinkData.portHeight).attr("transform",n.ren.getLinkImageTransform(e)):na.select(i[t]).attr("cx",e.x2).attr("cy",e.y2).attr("r",n.drawingNewLinkData.portRadius)}))}},{key:"removeNewLinkLine",value:function(){this.ren.nodesLinksGrp.selectAll(".d3-new-connection-line").remove()}},{key:"completeNewLink",value:function(e){if(!1!==this.ren.config.enableEditingActions&&this.drawingNewLinkData){var t=this.drawingNewLinkData;this.drawingNewLinkData=null,this.ren.config.enableHighlightUnavailableNodes&&this.ren.unsetUnavailableNodesHighlighting();var n=this.ren.getNodeAtMousePos(e);null!==n?this.completeNewLinkOnNode(e,n,t):this.ren.config.enableLinkSelection!==ae||t.action!==U||this.ren.config.enableAssocLinkCreation?this.stopDrawingNewLink(t):this.completeNewDetachedLink(e,t)}}},{key:"completeNewLinkOnNode",value:function(e,t,n){if(this.removeNewLink(),this.ren.config.enableHighlightNodeOnNewLinkDrag&&this.ren.setLinkOverNodeCancel(),null!==t){var i=n.action;if(i===U){var o=this.ren.activePipeline.getNode(n.srcObjId),r=n.srcPortId,a=this.ren.getInputNodePortId(e,t);if(Fe.isDataConnectionAllowed(r,a,o,t,this.ren.activePipeline.links))this.ren.canvasController.editActionHandler({editType:"linkNodes",editSource:"canvas",nodes:[{id:n.srcObjId,portId:n.srcPortId}],targetNodes:[{id:t.id,portId:a}],type:i,linkType:"data",pipelineId:this.ren.activePipeline.id});else if(this.ren.config.enableLinkReplaceOnNewConnection&&Fe.isDataLinkReplacementAllowed(r,a,o,t,this.ren.activePipeline.links)){var s=Fe.getDataLinksConnectedTo(a,t,this.ren.activePipeline.links);1===s.length&&this.ren.canvasController.editActionHandler({editType:"linkNodesAndReplace",editSource:"canvas",nodes:[{id:n.srcObjId,portId:n.srcPortId}],targetNodes:[{id:t.id,portId:a}],type:i,pipelineId:this.pipelineId,replaceLink:s[0]})}}else if(i===G){var l=this.ren.activePipeline.getNode(n.srcObjId);Fe.isAssocConnectionAllowed(l,t,this.ren.activePipeline.links)&&this.ren.canvasController.editActionHandler({editType:"linkNodes",editSource:"canvas",nodes:[{id:n.srcObjId}],targetNodes:[{id:t.id}],type:i,pipelineId:this.ren.activePipeline.id})}else Fe.isCommentLinkConnectionAllowed(n.srcObjId,t.id,this.ren.activePipeline.links)&&this.ren.canvasController.editActionHandler({editType:"linkComment",editSource:"canvas",nodes:[n.srcObjId],targetNodes:[t.id],type:W,linkType:"comment",pipelineId:this.ren.activePipeline.id})}}},{key:"completeNewDetachedLink",value:function(e,t){this.removeNewLink(),this.ren.config.enableHighlightNodeOnNewLinkDrag&&this.ren.setLinkOverNodeß();var n=this.ren.getTransformedMousePos(e);this.ren.canvasController.editActionHandler({editType:"createDetachedLink",editSource:"canvas",srcNodeId:t.srcObjId,srcNodePortId:t.srcPortId,trgPos:n,type:U,pipelineId:this.ren.activePipeline.id})}},{key:"stopDrawingNewLink",value:function(e){this.ren.config.enableHighlightNodeOnNewLinkDrag&&this.ren.setLinkOverNodeCancel(),this.stopDrawingNewLinkForPorts(e)}},{key:"stopDrawingNewLinkForPorts",value:function(e){var t=this,n=e.linkArray[0].x1,i=e.linkArray[0].y1,o=e.linkArray[0].x2,r=e.linkArray[0].y2,a=Object.assign({},e),s="",l=350;this.ren.canvasLayout.linkType===B?s="M "+n+" "+i+"C "+o+" "+r+" "+o+" "+r+" "+o+" "+r:this.ren.canvasLayout.linkType===X?(n<o&&(l=0),s="M "+n+" "+i+"L "+o+" "+r+" "+o+" "+r+" "+o+" "+r):s="M "+n+" "+i+"L "+o+" "+r+"Q "+o+" "+r+" "+o+" "+r+"L "+o+" "+r+"Q "+o+" "+r+" "+o+" "+r+"L "+o+" "+r+"Q "+o+" "+r+" "+o+" "+r+"L "+o+" "+r+"Q "+o+" "+r+" "+o+" "+r+"L "+o+" "+r,this.ren.nodesLinksGrp.selectAll(".d3-new-connection-line").transition().duration(l).attr("d",s).on("end",(function(){t.ren.nodesLinksGrp.selectAll(".d3-new-connection-arrow").remove(),t.ren.nodesLinksGrp.selectAll(".d3-new-connection-guide").transition().duration(1e3).ease(na.easeElastic).attr("x",n-a.portWidth/2).attr("y",i-a.portHeight/2).attr("cx",n).attr("cy",i).attr("transform",null),t.ren.nodesLinksGrp.selectAll(".d3-new-connection-line").transition().duration(1e3).ease(na.easeElastic).attr("d","M "+n+" "+i+"L "+n+" "+i).on("end",t.removeNewLink.bind(t))}))}},{key:"removeNewLink",value:function(){this.ren.nodesLinksGrp.selectAll(".d3-new-connection-line").remove(),this.ren.nodesLinksGrp.selectAll(".d3-new-connection-start").remove(),this.ren.nodesLinksGrp.selectAll(".d3-new-connection-guide").remove(),this.ren.nodesLinksGrp.selectAll(".d3-new-connection-arrow").remove()}},{key:"setNewLinkOverNode",value:function(e){var t=this.ren.getNodeNearMousePos(e,this.ren.canvasLayout.nodeProximity),n=t&&this.isNewLinkAllowedToNode(t);this.ren.setHighlightingOverNode(n,t)}},{key:"isNewLinkAllowedToNode",value:function(e){if(this.drawingNewLinkData){if(this.drawingNewLinkData.action===U){var t=this.drawingNewLinkData.srcNode,n=e,i=this.drawingNewLinkData.srcPortId,o=Fe.getDefaultInputPortId(n);return Fe.isDataConnectionAllowed(i,o,t,n,this.ren.activePipeline.links)}if(this.drawingNewLinkData.action===G){var r=this.drawingNewLinkData.srcNode,a=e;return Fe.isAssocConnectionAllowed(r,a,this.ren.activePipeline.links)}if(this.drawingNewLinkData.action===W){var s=this.drawingNewLinkData.srcObjId,l=e.id;return Fe.isCommentLinkConnectionAllowed(s,l,this.ren.activePipeline.links)}}return!1}}]),n}(),oa=Object.assign({},xr,io),ra="output_type",aa=function(){function n(t){e(this,n),this.ren=t,this.logger=new Re("SVGCanvasUtilsDragDetLink"),this.draggingLinkData=null,this.dragDetLinkHandler=oa.drag().on("start",this.dragStartDetLinkHandle.bind(this)).on("drag",this.dragMoveDetLinkHandle.bind(this)).on("end",this.dragEndDetLinkHandle.bind(this))}return t(n,[{key:"getDragDetachedLinkHandler",value:function(){return this.dragDetLinkHandler}},{key:"isDragging",value:function(){return this.draggingLinkData}},{key:"isLinkBeingDragged",value:function(e){return this.draggingLinkData&&this.draggingLinkData.link.id===e.id}},{key:"dragStartDetLinkHandle",value:function(e,t){this.logger.logStartTimer("dragStartDetLinkHandle"),this.ren.closeContextMenuIfOpen();var n=oa.select(e.sourceEvent.currentTarget),i=this.ren.activePipeline.getLink(t.id),o=ce(i),r=this.ren.getLinkGroupSelectionById(t.id);if(this.draggingLinkData={lineInfo:t,link:i,oldLink:o,linkGrpSelection:oa.select(r)},n.attr("class").includes("d3-link-handle-end")?this.draggingLinkData.endBeingDragged="end":n.attr("class").includes("d3-link-handle-start")&&(this.draggingLinkData.endBeingDragged="start"),this.ren.config.enableHighlightUnavailableNodes)if("end"===this.draggingLinkData.endBeingDragged){var a=this.ren.activePipeline.links.filter((function(e){return e.id!==i.id}));this.ren.setUnavailableTargetNodesHighlighting(this.ren.activePipeline.getNode(this.draggingLinkData.link.srcNodeId),this.draggingLinkData.link.srcNodePortId,a)}else if("start"===this.draggingLinkData.endBeingDragged){var s=this.ren.activePipeline.links.filter((function(e){return e.id!==i.id}));this.ren.setUnavailableSourceNodesHighlighting(this.ren.activePipeline.getNode(this.draggingLinkData.oldLink.trgNodeId),this.draggingLinkData.link.trgNodePortId,s)}this.dragLinkHandle(e),this.logger.logEndTimer("dragStartDetLinkHandle",!0)}},{key:"dragMoveDetLinkHandle",value:function(e){this.logger.logStartTimer("dragMoveDetLinkHandle"),this.dragLinkHandle(e),this.logger.logEndTimer("dragMoveDetLinkHandle",!0)}},{key:"dragEndDetLinkHandle",value:function(e){this.logger.logStartTimer("dragEndLinkHandle"),this.completeDraggedDetLink(e),this.logger.logEndTimer("dragEndLinkHandle",!0)}},{key:"dragLinkHandle",value:function(e){var t=this.ren.getTransformedMousePos(e),n=this.draggingLinkData.link;"start"===this.draggingLinkData.endBeingDragged?(n.srcPos={x_pos:t.x,y_pos:t.y},delete n.srcNodeId,delete n.srcNodePortId,delete n.srcObj):(n.trgPos={x_pos:t.x,y_pos:t.y},delete n.trgNodeId,delete n.trgNodePortId,delete n.trgNode),this.ren.displayLinks(),this.ren.config.enableHighlightNodeOnNewLinkDrag&&this.setDetachedLinkOverNode(e)}},{key:"completeDraggedDetLink",value:function(e){var t=this.getNewLinkOnDrag(e),n=this.draggingLinkData;if(this.draggingLinkData=null,t){var i=this.getLinkEditSubType(n.oldLink,t);i?this.ren.canvasController.editActionHandler({editType:"updateLink",editSubType:i,editSource:"canvas",newLink:t,pipelineId:this.ren.activePipeline.id}):this.snapBackOldLink(n.oldLink)}else this.snapBackOldLink(n.oldLink);this.ren.config.enableHighlightNodeOnNewLinkDrag&&this.ren.setLinkOverNodeCancel(),this.ren.unsetUnavailableNodesHighlighting()}},{key:"getLinkEditSubType",value:function(e,t){return e.srcNodeId&&!t.srcNodeId?"detachFromSrcNode":e.trgNodeId&&!t.trgNodeId?"detachFromTrgNode":!e.srcNodeId&&t.srcNodeId?"attachToSrcNode":!e.trgNodeId&&t.trgNodeId?"attachToTrgNode":e.srcNodeId||t.srcNodeId||e.srcPos.x_pos===t.srcPos.x_pos&&e.srcPos.y_pos===t.srcPos.y_pos?e.trgNodeId||t.trgNodeId||e.trgPos.x_pos===t.trgPos.x_pos&&e.trgPos.y_pos===t.trgPos.y_pos?e.srcNodeId&&t.srcNodeId&&e.srcNodeId!==t.srcNodeId?"switchSrcNode":e.trgNodeId&&t.trgNodeId&&e.trgNodeId!==t.trgNodeId?"switchTrgNode":e.srcNodeId&&t.srcNodeId&&e.srcNodeId===t.srcNodeId&&e.srcNodePortId!==t.srcNodePortId?"switchSrcNodePort":e.trgNodeId&&t.trgNodeId&&e.trgNodeId===t.trgNodeId&&e.trgNodePortId!==t.trgNodePortId?"switchTrgNodePort":null:"moveTrgPosition":"moveSrcPosition"}},{key:"snapBackOldLink",value:function(e){this.ren.activePipeline.replaceLink(e),this.ren.displayLinks()}},{key:"setDetachedLinkOverNode",value:function(e){var t=this.ren.getNodeNearMousePos(e,this.ren.canvasLayout.nodeProximity),n=t&&this.isDetLinkConnectionAllowedToNearbyNode(e);this.ren.setHighlightingOverNode(n,t)}},{key:"isDetLinkConnectionAllowedToNearbyNode",value:function(e){if(this.draggingLinkData&&this.getNewLinkOnDrag(e,this.ren.canvasLayout.nodeProximity))return!0;return!1}},{key:"getNewLinkOnDrag",value:function(e,t){var n=this.draggingLinkData.oldLink,i=ce(n);if("start"===this.draggingLinkData.endBeingDragged){delete i.srcObj,delete i.srcNodeId,delete i.srcNodePortId,delete i.srcPos;var o=t?this.ren.getNodeNearMousePos(e,t):this.ren.getNodeAtMousePos(e);o?(i.srcNodeId=o.id,i.srcObj=this.ren.activePipeline.getNode(o.id),i.srcNodePortId=t?this.getNodePortIdNearMousePos(e,ra,o):this.ren.getOutputNodePortId(e,o)):i.srcPos=this.draggingLinkData.link.srcPos}else{delete i.trgNode,delete i.trgNodeId,delete i.trgNodePortId,delete i.trgPos;var r=t?this.ren.getNodeNearMousePos(e,t):this.ren.getNodeAtMousePos(e);r?(i.trgNodeId=r.id,i.trgNode=this.ren.activePipeline.getNode(r.id),i.trgNodePortId=t?this.getNodePortIdNearMousePos(e,"input_type",r):this.ren.getInputNodePortId(e,r)):i.trgPos=this.draggingLinkData.link.trgPos}return this.ren.config.enableLinkSelection!==ae&&(i.srcPos||i.trgPos)?null:this.canExecuteUpdateLinkCommand(i,n)?i:null}},{key:"getNodePortIdNearMousePos",value:function(e,t,n){var i=this.ren.getTransformedMousePos(e),o=null,r=null;if(n)if(t===ra){var a=this.ren.getAllNodeGroupsSelection().selectChildren("."+this.ren.getNodeOutputPortClassName()).selectChildren(".d3-node-port-output-main");o=this.searchForPortNearMouse(n,i,a,n.layout.outputPortObject,n.width),r=Fe.getDefaultOutputPortId(n)}else{var s=this.ren.getAllNodeGroupsSelection().selectChildren("."+this.ren.getNodeInputPortClassName()).selectChildren(".d3-node-port-input-main");o=this.searchForPortNearMouse(n,i,s,n.layout.inputPortObject,0),r=Fe.getDefaultInputPortId(n)}return o||(o=r),o}},{key:"searchForPortNearMouse",value:function(e,t,n,i,o){var r=null;return n.each((function(n,a,s){var l=oa.select(s[a]);if(i===le){var c=e.x_pos+Number(l.attr("x")),u=e.y_pos+Number(l.attr("y")),d=Number(l.attr("width")),h=Number(l.attr("height"));t.x>=c&&t.x<=c+o+d&&t.y>=u&&t.y<=u+h&&(r=s[a].getAttribute("data-port-id"))}else{var p=e.x_pos+Number(l.attr("cx")),g=e.y_pos+Number(l.attr("cy"));t.x>=p-e.layout.portRadius&&t.x<=p+e.layout.portRadius&&t.y>=g-e.layout.portRadius&&t.y<=g+e.layout.portRadius&&(r=s[a].getAttribute("data-port-id"))}})),r}},{key:"canExecuteUpdateLinkCommand",value:function(e,t){var n=this.ren.activePipeline.getNode(e.srcNodeId),i=this.ren.activePipeline.getNode(e.trgNodeId),o=this.hasLinkSrcChanged(e,t),r=this.hasLinkTrgChanged(e,t),a=this.ren.activePipeline.links,s=!0;return o&&n&&!Fe.isSrcConnectionAllowedWithDetachedLinks(e.srcNodePortId,n,a)&&(s=!1),r&&i&&!Fe.isTrgConnectionAllowedWithDetachedLinks(e.trgNodePortId,i,a)&&(s=!1),n&&i&&!Fe.isConnectionAllowedWithDetachedLinks(e.srcNodePortId,e.trgNodePortId,n,i,a)&&(s=!1),s}},{key:"hasLinkSrcChanged",value:function(e,t){var n=!1;return e.srcNodeId?(e.srcNodeId!==t.srcNodeId&&(n=!0),e.srcNodePortId!==t.srcNodePortId&&(n=!0)):t.srcPos&&e.srcPos.x_pos===t.srcPos.x_pos&&e.srcPos.y_pos===t.srcPos.y_pos||(n=!0),n}},{key:"hasLinkTrgChanged",value:function(e,t){var n=!1;return e.trgNodeId?(e.trgNodeId!==t.trgNodeId&&(n=!0),e.trgNodePortId!==t.trgNodePortId&&(n=!0)):t.trgPos&&e.trgPos.x_pos===t.trgPos.x_pos&&e.trgPos.y_pos===t.trgPos.y_pos||(n=!0),n}}]),n}();function sa(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function la(e,t){var n=Object.create(e.prototype);for(var i in t)n[i]=t[i];return n}function ca(){}var ua=.7,da=1/ua,ha="\\s*([+-]?\\d+)\\s*",pa="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",ga="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",fa=/^#([0-9a-f]{3,8})$/,va=new RegExp(`^rgb\\(${ha},${ha},${ha}\\)$`),ya=new RegExp(`^rgb\\(${ga},${ga},${ga}\\)$`),ma=new RegExp(`^rgba\\(${ha},${ha},${ha},${pa}\\)$`),ba=new RegExp(`^rgba\\(${ga},${ga},${ga},${pa}\\)$`),ka=new RegExp(`^hsl\\(${pa},${ga},${ga}\\)$`),Ca=new RegExp(`^hsla\\(${pa},${ga},${ga},${pa}\\)$`),xa={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function Pa(){return this.rgb().formatHex()}function La(){return this.rgb().formatRgb()}function wa(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=fa.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?Sa(t):3===n?new Da(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?Na(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?Na(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=va.exec(e))?new Da(t[1],t[2],t[3],1):(t=ya.exec(e))?new Da(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=ma.exec(e))?Na(t[1],t[2],t[3],t[4]):(t=ba.exec(e))?Na(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=ka.exec(e))?Ma(t[1],t[2]/100,t[3]/100,1):(t=Ca.exec(e))?Ma(t[1],t[2]/100,t[3]/100,t[4]):xa.hasOwnProperty(e)?Sa(xa[e]):"transparent"===e?new Da(NaN,NaN,NaN,0):null}function Sa(e){return new Da(e>>16&255,e>>8&255,255&e,1)}function Na(e,t,n,i){return i<=0&&(e=t=n=NaN),new Da(e,t,n,i)}function Ta(e,t,n,i){return 1===arguments.length?((o=e)instanceof ca||(o=wa(o)),o?new Da((o=o.rgb()).r,o.g,o.b,o.opacity):new Da):new Da(e,t,n,null==i?1:i);var o}function Da(e,t,n,i){this.r=+e,this.g=+t,this.b=+n,this.opacity=+i}function Ea(){return`#${Aa(this.r)}${Aa(this.g)}${Aa(this.b)}`}function Ia(){const e=Oa(this.opacity);return`${1===e?"rgb(":"rgba("}${_a(this.r)}, ${_a(this.g)}, ${_a(this.b)}${1===e?")":`, ${e})`}`}function Oa(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function _a(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Aa(e){return((e=_a(e))<16?"0":"")+e.toString(16)}function Ma(e,t,n,i){return i<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Ha(e,t,n,i)}function za(e){if(e instanceof Ha)return new Ha(e.h,e.s,e.l,e.opacity);if(e instanceof ca||(e=wa(e)),!e)return new Ha;if(e instanceof Ha)return e;var t=(e=e.rgb()).r/255,n=e.g/255,i=e.b/255,o=Math.min(t,n,i),r=Math.max(t,n,i),a=NaN,s=r-o,l=(r+o)/2;return s?(a=t===r?(n-i)/s+6*(n<i):n===r?(i-t)/s+2:(t-n)/s+4,s/=l<.5?r+o:2-r-o,a*=60):s=l>0&&l<1?0:a,new Ha(a,s,l,e.opacity)}function Ha(e,t,n,i){this.h=+e,this.s=+t,this.l=+n,this.opacity=+i}function ja(e){return(e=(e||0)%360)<0?e+360:e}function Ra(e){return Math.max(0,Math.min(1,e||0))}function Ua(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}sa(ca,wa,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Pa,formatHex:Pa,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return za(this).formatHsl()},formatRgb:La,toString:La}),sa(Da,Ta,la(ca,{brighter(e){return e=null==e?da:Math.pow(da,e),new Da(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?ua:Math.pow(ua,e),new Da(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Da(_a(this.r),_a(this.g),_a(this.b),Oa(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Ea,formatHex:Ea,formatHex8:function(){return`#${Aa(this.r)}${Aa(this.g)}${Aa(this.b)}${Aa(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:Ia,toString:Ia})),sa(Ha,(function(e,t,n,i){return 1===arguments.length?za(e):new Ha(e,t,n,null==i?1:i)}),la(ca,{brighter(e){return e=null==e?da:Math.pow(da,e),new Ha(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?ua:Math.pow(ua,e),new Ha(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,i=n+(n<.5?n:1-n)*t,o=2*n-i;return new Da(Ua(e>=240?e-240:e+120,o,i),Ua(e,o,i),Ua(e<120?e+240:e-120,o,i),this.opacity)},clamp(){return new Ha(ja(this.h),Ra(this.s),Ra(this.l),Oa(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Oa(this.opacity);return`${1===e?"hsl(":"hsla("}${ja(this.h)}, ${100*Ra(this.s)}%, ${100*Ra(this.l)}%${1===e?")":`, ${e})`}`}}));var Ba=e=>()=>e;function Fa(e){return 1==(e=+e)?Ga:function(t,n){return n-t?function(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(i){return Math.pow(e+i*t,n)}}(t,n,e):Ba(isNaN(t)?n:t)}}function Ga(e,t){var n=t-e;return n?function(e,t){return function(n){return e+n*t}}(e,n):Ba(isNaN(e)?t:e)}var Ya=function e(t){var n=Fa(t);function i(e,t){var i=n((e=Ta(e)).r,(t=Ta(t)).r),o=n(e.g,t.g),r=n(e.b,t.b),a=Ga(e.opacity,t.opacity);return function(t){return e.r=i(t),e.g=o(t),e.b=r(t),e.opacity=a(t),e+""}}return i.gamma=e,i}(1);function Wa(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var Xa=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Za=new RegExp(Xa.source,"g");function Va(e,t){var n,i,o,r=Xa.lastIndex=Za.lastIndex=0,a=-1,s=[],l=[];for(e+="",t+="";(n=Xa.exec(e))&&(i=Za.exec(t));)(o=i.index)>r&&(o=t.slice(r,o),s[a]?s[a]+=o:s[++a]=o),(n=n[0])===(i=i[0])?s[a]?s[a]+=i:s[++a]=i:(s[++a]=null,l.push({i:a,x:Wa(n,i)})),r=Za.lastIndex;return r<t.length&&(o=t.slice(r),s[a]?s[a]+=o:s[++a]=o),s.length<2?l[0]?function(e){return function(t){return e(t)+""}}(l[0].x):function(e){return function(){return e}}(t):(t=l.length,function(e){for(var n,i=0;i<t;++i)s[(n=l[i]).i]=n.x(e);return s.join("")})}var Ka,qa=180/Math.PI,$a={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Ja(e,t,n,i,o,r){var a,s,l;return(a=Math.sqrt(e*e+t*t))&&(e/=a,t/=a),(l=e*n+t*i)&&(n-=e*l,i-=t*l),(s=Math.sqrt(n*n+i*i))&&(n/=s,i/=s,l/=s),e*i<t*n&&(e=-e,t=-t,l=-l,a=-a),{translateX:o,translateY:r,rotate:Math.atan2(t,e)*qa,skewX:Math.atan(l)*qa,scaleX:a,scaleY:s}}function Qa(e,t,n,i){function o(e){return e.length?e.pop()+" ":""}return function(r,a){var s=[],l=[];return r=e(r),a=e(a),function(e,i,o,r,a,s){if(e!==o||i!==r){var l=a.push("translate(",null,t,null,n);s.push({i:l-4,x:Wa(e,o)},{i:l-2,x:Wa(i,r)})}else(o||r)&&a.push("translate("+o+t+r+n)}(r.translateX,r.translateY,a.translateX,a.translateY,s,l),function(e,t,n,r){e!==t?(e-t>180?t+=360:t-e>180&&(e+=360),r.push({i:n.push(o(n)+"rotate(",null,i)-2,x:Wa(e,t)})):t&&n.push(o(n)+"rotate("+t+i)}(r.rotate,a.rotate,s,l),function(e,t,n,r){e!==t?r.push({i:n.push(o(n)+"skewX(",null,i)-2,x:Wa(e,t)}):t&&n.push(o(n)+"skewX("+t+i)}(r.skewX,a.skewX,s,l),function(e,t,n,i,r,a){if(e!==n||t!==i){var s=r.push(o(r)+"scale(",null,",",null,")");a.push({i:s-4,x:Wa(e,n)},{i:s-2,x:Wa(t,i)})}else 1===n&&1===i||r.push(o(r)+"scale("+n+","+i+")")}(r.scaleX,r.scaleY,a.scaleX,a.scaleY,s,l),r=a=null,function(e){for(var t,n=-1,i=l.length;++n<i;)s[(t=l[n]).i]=t.x(e);return s.join("")}}}var es=Qa((function(e){const t=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?$a:Ja(t.a,t.b,t.c,t.d,t.e,t.f)}),"px, ","px)","deg)"),ts=Qa((function(e){return null==e?$a:(Ka||(Ka=document.createElementNS("http://www.w3.org/2000/svg","g")),Ka.setAttribute("transform",e),(e=Ka.transform.baseVal.consolidate())?Ja((e=e.matrix).a,e.b,e.c,e.d,e.e,e.f):$a)}),", ",")",")");function ns(e){return((e=Math.exp(e))+1/e)/2}var is,os,rs=function e(t,n,i){function o(e,o){var r,a,s=e[0],l=e[1],c=e[2],u=o[0],d=o[1],h=o[2],p=u-s,g=d-l,f=p*p+g*g;if(f<1e-12)a=Math.log(h/c)/t,r=function(e){return[s+e*p,l+e*g,c*Math.exp(t*e*a)]};else{var v=Math.sqrt(f),y=(h*h-c*c+i*f)/(2*c*n*v),m=(h*h-c*c-i*f)/(2*h*n*v),b=Math.log(Math.sqrt(y*y+1)-y),k=Math.log(Math.sqrt(m*m+1)-m);a=(k-b)/t,r=function(e){var i,o=e*a,r=ns(b),u=c/(n*v)*(r*(i=t*o+b,((i=Math.exp(2*i))-1)/(i+1))-function(e){return((e=Math.exp(e))-1/e)/2}(b));return[s+u*p,l+u*g,c*r/ns(t*o+b)]}}return r.duration=1e3*a*t/Math.SQRT2,r}return o.rho=function(t){var n=Math.max(.001,+t),i=n*n;return e(n,i,i*i)},o}(Math.SQRT2,2,4),as=0,ss=0,ls=0,cs=1e3,us=0,ds=0,hs=0,ps="object"==typeof performance&&performance.now?performance:Date,gs="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function fs(){return ds||(gs(vs),ds=ps.now()+hs)}function vs(){ds=0}function ys(){this._call=this._time=this._next=null}function ms(e,t,n){var i=new ys;return i.restart(e,t,n),i}function bs(){ds=(us=ps.now())+hs,as=ss=0;try{!function(){fs(),++as;for(var e,t=is;t;)(e=ds-t._time)>=0&&t._call.call(void 0,e),t=t._next;--as}()}finally{as=0,function(){var e,t,n=is,i=1/0;for(;n;)n._call?(i>n._time&&(i=n._time),e=n,n=n._next):(t=n._next,n._next=null,n=e?e._next=t:is=t);os=e,Cs(i)}(),ds=0}}function ks(){var e=ps.now(),t=e-us;t>cs&&(hs-=t,us=e)}function Cs(e){as||(ss&&(ss=clearTimeout(ss)),e-ds>24?(e<1/0&&(ss=setTimeout(bs,e-ps.now()-hs)),ls&&(ls=clearInterval(ls))):(ls||(us=ps.now(),ls=setInterval(ks,cs)),as=1,gs(bs)))}function xs(e,t,n){var i=new ys;return t=null==t?0:+t,i.restart((n=>{i.stop(),e(n+t)}),t,n),i}ys.prototype=ms.prototype={constructor:ys,restart:function(e,t,n){if("function"!=typeof e)throw new TypeError("callback is not a function");n=(null==n?fs():+n)+(null==t?0:+t),this._next||os===this||(os?os._next=this:is=this,os=this),this._call=e,this._time=n,Cs()},stop:function(){this._call&&(this._call=null,this._time=1/0,Cs())}};var Ps=ar("start","end","cancel","interrupt"),Ls=[],ws=0,Ss=1,Ns=2,Ts=3,Ds=4,Es=5,Is=6;function Os(e,t,n,i,o,r){var a=e.__transition;if(a){if(n in a)return}else e.__transition={};!function(e,t,n){var i,o=e.__transition;function r(e){n.state=Ss,n.timer.restart(a,n.delay,n.time),n.delay<=e&&a(e-n.delay)}function a(r){var c,u,d,h;if(n.state!==Ss)return l();for(c in o)if((h=o[c]).name===n.name){if(h.state===Ts)return xs(a);h.state===Ds?(h.state=Is,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete o[c]):+c<t&&(h.state=Is,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete o[c])}if(xs((function(){n.state===Ts&&(n.state=Ds,n.timer.restart(s,n.delay,n.time),s(r))})),n.state=Ns,n.on.call("start",e,e.__data__,n.index,n.group),n.state===Ns){for(n.state=Ts,i=new Array(d=n.tween.length),c=0,u=-1;c<d;++c)(h=n.tween[c].value.call(e,e.__data__,n.index,n.group))&&(i[++u]=h);i.length=u+1}}function s(t){for(var o=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(l),n.state=Es,1),r=-1,a=i.length;++r<a;)i[r].call(e,o);n.state===Es&&(n.on.call("end",e,e.__data__,n.index,n.group),l())}function l(){for(var i in n.state=Is,n.timer.stop(),delete o[t],o)return;delete e.__transition}o[t]=n,n.timer=ms(r,0,n.time)}(e,n,{name:t,index:i,group:o,on:Ps,tween:Ls,time:r.time,delay:r.delay,duration:r.duration,ease:r.ease,timer:null,state:ws})}function _s(e,t){var n=Ms(e,t);if(n.state>ws)throw new Error("too late; already scheduled");return n}function As(e,t){var n=Ms(e,t);if(n.state>Ts)throw new Error("too late; already running");return n}function Ms(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function zs(e,t){var n,i,o,r=e.__transition,a=!0;if(r){for(o in t=null==t?null:t+"",r)(n=r[o]).name===t?(i=n.state>Ns&&n.state<Es,n.state=Is,n.timer.stop(),n.on.call(i?"interrupt":"cancel",e,e.__data__,n.index,n.group),delete r[o]):a=!1;a&&delete e.__transition}}function Hs(e,t){var n,i;return function(){var o=As(this,e),r=o.tween;if(r!==n)for(var a=0,s=(i=n=r).length;a<s;++a)if(i[a].name===t){(i=i.slice()).splice(a,1);break}o.tween=i}}function js(e,t,n){var i,o;if("function"!=typeof n)throw new Error;return function(){var r=As(this,e),a=r.tween;if(a!==i){o=(i=a).slice();for(var s={name:t,value:n},l=0,c=o.length;l<c;++l)if(o[l].name===t){o[l]=s;break}l===c&&o.push(s)}r.tween=o}}function Rs(e,t,n){var i=e._id;return e.each((function(){var e=As(this,i);(e.value||(e.value={}))[t]=n.apply(this,arguments)})),function(e){return Ms(e,i).value[t]}}function Us(e,t){var n;return("number"==typeof t?Wa:t instanceof wa?Ya:(n=wa(t))?(t=n,Ya):Va)(e,t)}function Bs(e){return function(){this.removeAttribute(e)}}function Fs(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Gs(e,t,n){var i,o,r=n+"";return function(){var a=this.getAttribute(e);return a===r?null:a===i?o:o=t(i=a,n)}}function Ys(e,t,n){var i,o,r=n+"";return function(){var a=this.getAttributeNS(e.space,e.local);return a===r?null:a===i?o:o=t(i=a,n)}}function Ws(e,t,n){var i,o,r;return function(){var a,s,l=n(this);if(null!=l)return(a=this.getAttribute(e))===(s=l+"")?null:a===i&&s===o?r:(o=s,r=t(i=a,l));this.removeAttribute(e)}}function Xs(e,t,n){var i,o,r;return function(){var a,s,l=n(this);if(null!=l)return(a=this.getAttributeNS(e.space,e.local))===(s=l+"")?null:a===i&&s===o?r:(o=s,r=t(i=a,l));this.removeAttributeNS(e.space,e.local)}}function Zs(e,t){var n,i;function o(){var o=t.apply(this,arguments);return o!==i&&(n=(i=o)&&function(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}(e,o)),n}return o._value=t,o}function Vs(e,t){var n,i;function o(){var o=t.apply(this,arguments);return o!==i&&(n=(i=o)&&function(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}(e,o)),n}return o._value=t,o}function Ks(e,t){return function(){_s(this,e).delay=+t.apply(this,arguments)}}function qs(e,t){return t=+t,function(){_s(this,e).delay=t}}function $s(e,t){return function(){As(this,e).duration=+t.apply(this,arguments)}}function Js(e,t){return t=+t,function(){As(this,e).duration=t}}var Qs=qi.prototype.constructor;function el(e){return function(){this.style.removeProperty(e)}}var tl=0;function nl(e,t,n,i){this._groups=e,this._parents=t,this._name=n,this._id=i}function il(){return++tl}var ol=qi.prototype;nl.prototype={constructor:nl,select:function(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=Xn(e));for(var i=this._groups,o=i.length,r=new Array(o),a=0;a<o;++a)for(var s,l,c=i[a],u=c.length,d=r[a]=new Array(u),h=0;h<u;++h)(s=c[h])&&(l=e.call(s,s.__data__,h,c))&&("__data__"in s&&(l.__data__=s.__data__),d[h]=l,Os(d[h],t,n,h,d,Ms(s,n)));return new nl(r,this._parents,t,n)},selectAll:function(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=Kn(e));for(var i=this._groups,o=i.length,r=[],a=[],s=0;s<o;++s)for(var l,c=i[s],u=c.length,d=0;d<u;++d)if(l=c[d]){for(var h,p=e.call(l,l.__data__,d,c),g=Ms(l,n),f=0,v=p.length;f<v;++f)(h=p[f])&&Os(h,t,n,f,p,g);r.push(p),a.push(l)}return new nl(r,a,t,n)},selectChild:ol.selectChild,selectChildren:ol.selectChildren,filter:function(e){"function"!=typeof e&&(e=qn(e));for(var t=this._groups,n=t.length,i=new Array(n),o=0;o<n;++o)for(var r,a=t[o],s=a.length,l=i[o]=[],c=0;c<s;++c)(r=a[c])&&e.call(r,r.__data__,c,a)&&l.push(r);return new nl(i,this._parents,this._name,this._id)},merge:function(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,i=t.length,o=n.length,r=Math.min(i,o),a=new Array(i),s=0;s<r;++s)for(var l,c=t[s],u=n[s],d=c.length,h=a[s]=new Array(d),p=0;p<d;++p)(l=c[p]||u[p])&&(h[p]=l);for(;s<i;++s)a[s]=t[s];return new nl(a,this._parents,this._name,this._id)},selection:function(){return new Qs(this._groups,this._parents)},transition:function(){for(var e=this._name,t=this._id,n=il(),i=this._groups,o=i.length,r=0;r<o;++r)for(var a,s=i[r],l=s.length,c=0;c<l;++c)if(a=s[c]){var u=Ms(a,t);Os(a,e,n,c,s,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new nl(i,this._parents,e,n)},call:ol.call,nodes:ol.nodes,node:ol.node,size:ol.size,empty:ol.empty,each:ol.each,on:function(e,t){var n=this._id;return arguments.length<2?Ms(this.node(),n).on.on(e):this.each(function(e,t,n){var i,o,r=function(e){return(e+"").trim().split(/^|\s+/).every((function(e){var t=e.indexOf(".");return t>=0&&(e=e.slice(0,t)),!e||"start"===e}))}(t)?_s:As;return function(){var a=r(this,e),s=a.on;s!==i&&(o=(i=s).copy()).on(t,n),a.on=o}}(n,e,t))},attr:function(e,t){var n=Bn(e),i="transform"===n?ts:Us;return this.attrTween(e,"function"==typeof t?(n.local?Xs:Ws)(n,i,Rs(this,"attr."+e,t)):null==t?(n.local?Fs:Bs)(n):(n.local?Ys:Gs)(n,i,t))},attrTween:function(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!=typeof t)throw new Error;var i=Bn(e);return this.tween(n,(i.local?Zs:Vs)(i,t))},style:function(e,t,n){var i="transform"==(e+="")?es:Us;return null==t?this.styleTween(e,function(e,t){var n,i,o;return function(){var r=bi(this,e),a=(this.style.removeProperty(e),bi(this,e));return r===a?null:r===n&&a===i?o:o=t(n=r,i=a)}}(e,i)).on("end.style."+e,el(e)):"function"==typeof t?this.styleTween(e,function(e,t,n){var i,o,r;return function(){var a=bi(this,e),s=n(this),l=s+"";return null==s&&(this.style.removeProperty(e),l=s=bi(this,e)),a===l?null:a===i&&l===o?r:(o=l,r=t(i=a,s))}}(e,i,Rs(this,"style."+e,t))).each(function(e,t){var n,i,o,r,a="style."+t,s="end."+a;return function(){var l=As(this,e),c=l.on,u=null==l.value[a]?r||(r=el(t)):void 0;c===n&&o===u||(i=(n=c).copy()).on(s,o=u),l.on=i}}(this._id,e)):this.styleTween(e,function(e,t,n){var i,o,r=n+"";return function(){var a=bi(this,e);return a===r?null:a===i?o:o=t(i=a,n)}}(e,i,t),n).on("end.style."+e,null)},styleTween:function(e,t,n){var i="style."+(e+="");if(arguments.length<2)return(i=this.tween(i))&&i._value;if(null==t)return this.tween(i,null);if("function"!=typeof t)throw new Error;return this.tween(i,function(e,t,n){var i,o;function r(){var r=t.apply(this,arguments);return r!==o&&(i=(o=r)&&function(e,t,n){return function(i){this.style.setProperty(e,t.call(this,i),n)}}(e,r,n)),i}return r._value=t,r}(e,t,null==n?"":n))},text:function(e){return this.tween("text","function"==typeof e?function(e){return function(){var t=e(this);this.textContent=null==t?"":t}}(Rs(this,"text",e)):function(e){return function(){this.textContent=e}}(null==e?"":e+""))},textTween:function(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(null==e)return this.tween(t,null);if("function"!=typeof e)throw new Error;return this.tween(t,function(e){var t,n;function i(){var i=e.apply(this,arguments);return i!==n&&(t=(n=i)&&function(e){return function(t){this.textContent=e.call(this,t)}}(i)),t}return i._value=e,i}(e))},remove:function(){return this.on("end.remove",function(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}(this._id))},tween:function(e,t){var n=this._id;if(e+="",arguments.length<2){for(var i,o=Ms(this.node(),n).tween,r=0,a=o.length;r<a;++r)if((i=o[r]).name===e)return i.value;return null}return this.each((null==t?Hs:js)(n,e,t))},delay:function(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?Ks:qs)(t,e)):Ms(this.node(),t).delay},duration:function(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?$s:Js)(t,e)):Ms(this.node(),t).duration},ease:function(e){var t=this._id;return arguments.length?this.each(function(e,t){if("function"!=typeof t)throw new Error;return function(){As(this,e).ease=t}}(t,e)):Ms(this.node(),t).ease},easeVarying:function(e){if("function"!=typeof e)throw new Error;return this.each(function(e,t){return function(){var n=t.apply(this,arguments);if("function"!=typeof n)throw new Error;As(this,e).ease=n}}(this._id,e))},end:function(){var e,t,n=this,i=n._id,o=n.size();return new Promise((function(r,a){var s={value:a},l={value:function(){0==--o&&r()}};n.each((function(){var n=As(this,i),o=n.on;o!==e&&((t=(e=o).copy())._.cancel.push(s),t._.interrupt.push(s),t._.end.push(l)),n.on=t})),0===o&&r()}))},[Symbol.iterator]:ol[Symbol.iterator]};var rl={time:null,delay:0,duration:250,ease:Sr};function al(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}qi.prototype.interrupt=function(e){return this.each((function(){zs(this,e)}))},qi.prototype.transition=function(e){var t,n;e instanceof nl?(t=e._id,e=e._name):(t=il(),(n=rl).time=fs(),e=null==e?null:e+"");for(var i=this._groups,o=i.length,r=0;r<o;++r)for(var a,s=i[r],l=s.length,c=0;c<l;++c)(a=s[c])&&Os(a,e,t,c,s,n||al(a,t));return new nl(i,this._parents,e,t)};var sl=function(e){return function(){return e}};function ll(e,t){var n=t.sourceEvent,i=t.target,o=t.transform,r=t.dispatch;Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:r}})}function cl(e,t,n){this.k=e,this.x=t,this.y=n}cl.prototype={constructor:cl,scale:function(e){return 1===e?this:new cl(this.k*e,this.x,this.y)},translate:function(e,t){return 0===e&0===t?this:new cl(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var ul=new cl(1,0,0);function dl(e){for(;!e.__zoom;)if(!(e=e.parentNode))return ul;return e.__zoom}function hl(e){e.stopImmediatePropagation()}function pl(e){e.preventDefault(),e.stopImmediatePropagation()}function gl(e){return!(e.ctrlKey&&"wheel"!==e.type||e.button)}function fl(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e).hasAttribute("viewBox")?[[(e=e.viewBox.baseVal).x,e.y],[e.x+e.width,e.y+e.height]]:[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]:[[0,0],[e.clientWidth,e.clientHeight]]}function vl(){return this.__zoom||ul}function yl(e){return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function ml(){return navigator.maxTouchPoints||"ontouchstart"in this}function bl(e,t,n){var i=e.invertX(t[0][0])-n[0][0],o=e.invertX(t[1][0])-n[1][0],r=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(o>i?(i+o)/2:Math.min(0,i)||Math.max(0,o),a>r?(r+a)/2:Math.min(0,r)||Math.max(0,a))}dl.prototype=cl.prototype;var kl=Object.freeze({__proto__:null,zoom:function(){var e,t,n,i=gl,o=fl,r=bl,a=yl,s=ml,l=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],u=250,d=rs,h=ar("start","zoom","end"),p=500,g=150,f=0,v=10,y=!1,m=!1;function b(e){e.property("__zoom",vl).on("wheel.zoom",S).on("mousedown.zoom",E).on("dblclick.zoom",I).on("gesturestart",N).on("gesturechange",T).on("gestureend",D).filter(s).on("touchstart.zoom",O).on("touchmove.zoom",_).on("touchend.zoom touchcancel.zoom",A).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function k(e,t){return(t=Math.max(l[0],Math.min(l[1],t)))===e.k?e:new cl(t,e.x,e.y)}function C(e,t,n){var i=t[0]-n[0]*e.k,o=t[1]-n[1]*e.k;return i===e.x&&o===e.y?e:new cl(e.k,i,o)}function x(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function P(e,t,n,i){e.on("start.zoom",(function(){L(this,arguments).event(i).start()})).on("interrupt.zoom end.zoom",(function(){L(this,arguments).event(i).end()})).tween("zoom",(function(){var e=this,r=arguments,a=L(e,r).event(i),s=o.apply(e,r),l=null==n?x(s):"function"==typeof n?n.apply(e,r):n,c=Math.max(s[1][0]-s[0][0],s[1][1]-s[0][1]),u=e.__zoom,h="function"==typeof t?t.apply(e,r):t,p=d(u.invert(l).concat(c/u.k),h.invert(l).concat(c/h.k));return function(e){if(1===e)e=h;else{var t=p(e),n=c/t[2];e=new cl(n,l[0]-t[0]*n,l[1]-t[1]*n)}a.zoom(null,e)}}))}function L(e,t,n){return!n&&e.__zooming||new w(e,t)}function w(e,t){this.that=e,this.args=t,this.active=0,this.sourceEvent=null,this.extent=o.apply(e,t),this.taps=0}function S(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];if(m&&pl(e),i.apply(this,arguments)){var s=L(this,n).event(e),u=this.__zoom,d=Math.max(l[0],Math.min(l[1],u.k*Math.pow(2,a.apply(this,arguments)))),h=no(e);if(s.wheel)s.mouse[0][0]===h[0]&&s.mouse[0][1]===h[1]||(s.mouse[1]=u.invert(s.mouse[0]=h)),clearTimeout(s.wheel);else{if(u.k===d)return;!y||e.ctrlKey||e.safariPinchZoom||(s.wheelTransX=-u.x,s.wheelTransY=-u.y),s.mouse=[h,u.invert(h)],zs(this),s.start()}if(pl(e),s.wheel=setTimeout((function(){s.wheel=null,s.end()}),g),!y||e.ctrlKey||e.safariPinchZoom)s.zoom("mouse",r(C(k(u,d),s.mouse[0],s.mouse[1]),s.extent,c));else{s.wheelTransX+=e.deltaX,s.wheelTransY+=e.deltaY;var p=[u.x,u.y],f=[u.x+s.wheelTransX,u.y+s.wheelTransY];s.zoom("mouse",r(C(u,p,f),s.extent,c))}}}function N(e){pl(e),this.scale=e.scale}function T(e){pl(e),this.__zoom&&(e.deltaY=100*(this.scale-e.scale),this.scale=e.scale),e.safariPinchZoom=!0,S.apply(this,[e].concat(Array.prototype.slice.call(arguments)))}function D(e){pl(e)}function E(e){for(var t=arguments.length,o=new Array(t>1?t-1:0),a=1;a<t;a++)o[a-1]=arguments[a];if(!n&&i.apply(this,arguments)){var s=L(this,o,!0).event(e),l=$i(e.view).on("mousemove.zoom",(function(e){if(pl(e),!s.moved){var t=e.clientX-h,n=e.clientY-p;s.moved=t*t+n*n>f}s.event(e).zoom("mouse",r(C(s.that.__zoom,s.mouse[0]=no(e,d),s.mouse[1]),s.extent,c))}),!0).on("mouseup.zoom",(function(e){l.on("mousemove.zoom mouseup.zoom",null),fr(e.view,s.moved),pl(e),s.event(e).end()}),!0),u=no(e,d),d=e.currentTarget,h=e.clientX,p=e.clientY;gr(e.view),hl(e),s.mouse=[u,this.__zoom.invert(u)],zs(this),s.start()}}function I(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];if(i.apply(this,arguments)){var s=this.__zoom,l=no(e.changedTouches?e.changedTouches[0]:e,this),d=s.invert(l),h=s.k*(e.shiftKey?.5:2),p=r(C(k(s,h),l,d),o.apply(this,n),c);pl(e),u>0?$i(this).transition().duration(u).call(P,p,l,e):$i(this).call(b.transform,p,l,e)}}function O(n){for(var o=arguments.length,r=new Array(o>1?o-1:0),a=1;a<o;a++)r[a-1]=arguments[a];if(i.apply(this,arguments)){var s,l,c,u,d=n.touches,h=d.length,g=L(this,r,n.changedTouches.length===h).event(n);for(hl(n),l=0;l<h;++l)u=[u=no(c=d[l],this),this.__zoom.invert(u),c.identifier],g.touch0?g.touch1||g.touch0[2]===u[2]||(g.touch1=u,g.taps=0):(g.touch0=u,s=!0,g.taps=1+!!e);e&&(e=clearTimeout(e)),s&&(g.taps<2&&(t=u[0],e=setTimeout((function(){e=null}),p)),zs(this),g.start())}}function _(e){if(this.__zooming){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];var o,a,s,l,u=L(this,n).event(e),d=e.changedTouches,h=d.length;for(pl(e),o=0;o<h;++o)s=no(a=d[o],this),u.touch0&&u.touch0[2]===a.identifier?u.touch0[0]=s:u.touch1&&u.touch1[2]===a.identifier&&(u.touch1[0]=s);if(a=u.that.__zoom,u.touch1){var p=u.touch0[0],g=u.touch0[1],f=u.touch1[0],v=u.touch1[1],y=(y=f[0]-p[0])*y+(y=f[1]-p[1])*y,m=(m=v[0]-g[0])*m+(m=v[1]-g[1])*m;a=k(a,Math.sqrt(y/m)),s=[(p[0]+f[0])/2,(p[1]+f[1])/2],l=[(g[0]+v[0])/2,(g[1]+v[1])/2]}else{if(!u.touch0)return;s=u.touch0[0],l=u.touch0[1]}u.zoom("touch",r(C(a,s,l),u.extent,c))}}function A(e){for(var i=arguments.length,o=new Array(i>1?i-1:0),r=1;r<i;r++)o[r-1]=arguments[r];if(this.__zooming){var a,s,l=L(this,o).event(e),c=e.changedTouches,u=c.length;for(hl(e),n&&clearTimeout(n),n=setTimeout((function(){n=null}),p),a=0;a<u;++a)s=c[a],l.touch0&&l.touch0[2]===s.identifier?delete l.touch0:l.touch1&&l.touch1[2]===s.identifier&&delete l.touch1;if(l.touch1&&!l.touch0&&(l.touch0=l.touch1,delete l.touch1),l.touch0)l.touch0[1]=this.__zoom.invert(l.touch0[0]);else if(l.end(),2===l.taps&&(s=no(s,this),Math.hypot(t[0]-s[0],t[1]-s[1])<v)){var d=$i(this).on("dblclick.zoom");d&&d.apply(this,arguments)}}}return b.transform=function(e,t,n,i){var o=e.selection?e.selection():e;o.property("__zoom",vl),e!==o?P(e,t,n,i):o.interrupt().each((function(){L(this,arguments).event(i).start().zoom(null,"function"==typeof t?t.apply(this,arguments):t).end()}))},b.scaleBy=function(e,t,n,i){b.scaleTo(e,(function(){return this.__zoom.k*("function"==typeof t?t.apply(this,arguments):t)}),n,i)},b.scaleTo=function(e,t,n,i){b.transform(e,(function(){var e=o.apply(this,arguments),i=this.__zoom,a=null==n?x(e):"function"==typeof n?n.apply(this,arguments):n,s=i.invert(a),l="function"==typeof t?t.apply(this,arguments):t;return r(C(k(i,l),a,s),e,c)}),n,i)},b.translateBy=function(e,t,n,i){b.transform(e,(function(){return r(this.__zoom.translate("function"==typeof t?t.apply(this,arguments):t,"function"==typeof n?n.apply(this,arguments):n),o.apply(this,arguments),c)}),null,i)},b.translateTo=function(e,t,n,i,a){b.transform(e,(function(){var e=o.apply(this,arguments),a=this.__zoom,s=null==i?x(e):"function"==typeof i?i.apply(this,arguments):i;return r(ul.translate(s[0],s[1]).scale(a.k).translate("function"==typeof t?-t.apply(this,arguments):-t,"function"==typeof n?-n.apply(this,arguments):-n),e,c)}),i,a)},w.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(e,t){return this.mouse&&"mouse"!==e&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&"touch"!==e&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&"touch"!==e&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(e){var t=$i(this.that).datum();h.call(e,this.that,new ll(e,{sourceEvent:this.sourceEvent,target:b,type:e,transform:this.that.__zoom,dispatch:h}),t)}},b.wheelDelta=function(e){return arguments.length?(a="function"==typeof e?e:sl(+e),b):a},b.filter=function(e){return arguments.length?(i="function"==typeof e?e:sl(!!e),b):i},b.touchable=function(e){return arguments.length?(s="function"==typeof e?e:sl(!!e),b):s},b.extent=function(e){return arguments.length?(o="function"==typeof e?e:sl([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),b):o},b.scaleExtent=function(e){return arguments.length?(l[0]=+e[0],l[1]=+e[1],b):[l[0],l[1]]},b.translateExtent=function(e){return arguments.length?(c[0][0]=+e[0][0],c[1][0]=+e[1][0],c[0][1]=+e[0][1],c[1][1]=+e[1][1],b):[[c[0][0],c[0][1]],[c[1][0],c[1][1]]]},b.constrain=function(e){return arguments.length?(r=e,b):r},b.trackpad=function(e){return arguments.length?(y=e,b):y},b.preventBackGesture=function(e){return arguments.length?(m=e,b):m},b.duration=function(e){return arguments.length?(u=+e,b):u},b.interpolate=function(e){return arguments.length?(d=e,b):d},b.on=function(){var e=h.on.apply(h,arguments);return e===h?b:e},b.clickDistance=function(e){return arguments.length?(f=(e=+e)*e,b):Math.sqrt(f)},b.tapDistance=function(e){return arguments.length?(v=+e,b):v},b},zoomTransform:dl,zoomIdentity:ul});function Cl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function xl(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Cl(Object(n),!0).forEach((function(t){pe(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Cl(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Pl=Object.assign({},io,kl),Ll=function(){function n(t){var i=this;e(this,n),this.ren=t,this.logger=new Re("SVGCanvasUtilsZoom"),this.minScaleExtent=.2,this.maxScaleExtent=1.8,this.contextMenuClosedOnZoom=!1,this.textEditingClosedOnZoom=!1,this.regionSelect=!1,this.zoomStartPoint={x:0,y:0,k:0,startX:0,startY:0},this.previousD3Event={},this.zoomCanvasDimensions={},this.regionStartTransformX=0,this.regionStartTransformY=0,this.zoomTransform=Pl.zoomIdentity.translate(0,0).scale(1),this.zooming=!1,this.zoomingAction=!1,this.spaceKeyPressed=!1,this.zoomHandler=Pl.zoom().trackpad(this.ren.config.enableInteractionType===he).preventBackGesture(!0).wheelDelta((function(e){return-e.deltaY*(i.ren.config.enableInteractionType===he?.02:.002)})).scaleExtent([this.minScaleExtent,this.maxScaleExtent]).on("start",this.zoomStart.bind(this)).on("zoom",this.zoomAction.bind(this)).on("end",this.zoomEnd.bind(this))}return t(n,[{key:"setSpaceKeyPressed",value:function(e){this.spaceKeyPressed=e}},{key:"isSpaceKeyPressed",value:function(){return this.spaceKeyPressed}},{key:"getZoomHandler",value:function(){return this.zoomHandler}},{key:"getZoomTransform",value:function(){return this.zoomTransform}},{key:"getZoom",value:function(){return xl({},this.zoomTransform)}},{key:"getZoomScale",value:function(){return this.zoomTransform.k}},{key:"resetZoomTransform",value:function(){this.zoomTransform=Pl.zoomIdentity.translate(0,0).scale(1)}},{key:"zoomTo",value:function(e){this.zoomCanvasInvokeZoomBehavior(e,500)}},{key:"translateBy",value:function(e,t,n){var i=this.getZoomTransform(),o=Pl.zoomIdentity.translate(i.x+e,i.y+t).scale(i.k);this.zoomCanvasInvokeZoomBehavior(o,n)}},{key:"zoomIn",value:function(){if(this.zoomTransform.k<this.maxScaleExtent){var e=Math.min(1.1*this.zoomTransform.k,this.maxScaleExtent);this.ren.canvasSVG.call(this.zoomHandler.scaleTo,e)}}},{key:"zoomOut",value:function(){if(this.zoomTransform.k>this.minScaleExtent){var e=Math.max(this.zoomTransform.k/1.1,this.minScaleExtent);this.ren.canvasSVG.call(this.zoomHandler.scaleTo,e)}}},{key:"isZoomedToMax",value:function(){return!!this.zoomTransform&&this.zoomTransform.k===this.maxScaleExtent}},{key:"isZoomedToMin",value:function(){return!!this.zoomTransform&&this.zoomTransform.k===this.minScaleExtent}},{key:"setMaxZoomExtent",value:function(e){if(!this.zooming){var t=this.maxScaleExtent*e;this.zoomHandler=this.zoomHandler.scaleExtent([this.minScaleExtent,t]),this.ren.resetCanvasSVGBehaviors()}}},{key:"transformPos",value:function(e){return{x:(e.x-this.zoomTransform.x)/this.zoomTransform.k,y:(e.y-this.zoomTransform.y)/this.zoomTransform.k}}},{key:"unTransformPos",value:function(e){return{x:e.x*this.zoomTransform.k+this.zoomTransform.x,y:e.y*this.zoomTransform.k+this.zoomTransform.y}}},{key:"getTransformedRect",value:function(e,t){var n=t/this.zoomTransform.k;return{x:-this.zoomTransform.x/this.zoomTransform.k+n,y:-this.zoomTransform.y/this.zoomTransform.k+n,height:e.height/this.zoomTransform.k-2*n,width:e.width/this.zoomTransform.k-2*n}}},{key:"zoomStart",value:function(e){var t=this;this.logger.log("zoomStart - "+JSON.stringify(e.transform)),this.ren.canvasController.closeTip(),this.zooming=!0,this.ren.canvasController.isContextMenuDisplayed()&&!this.ren.dispUtils.isDisplayingSubFlowInPlace()&&(this.ren.canvasController.closeContextMenu(),this.contextMenuClosedOnZoom=!0),this.ren.svgCanvasTextArea.isEditingText()&&(this.textEditingClosedOnZoom=!0),this.regionSelect=this.isRegionSelectActivated(e),this.regionSelect?(this.addingCursorOverlay=setTimeout((function(){return t.ren.addTempCursorOverlay("crosshair")}),200),this.regionStartTransformX=e.transform.x,this.regionStartTransformY=e.transform.y):this.isDragActivated(e)?this.addingCursorOverlay=setTimeout((function(){return t.ren.addTempCursorOverlay("grabbing")}),200):this.addingCursorOverlay=setTimeout((function(){return t.ren.addTempCursorOverlay("default")}),200);var n=this.ren.getTransformedMousePos(e);this.zoomStartPoint={x:e.transform.x,y:e.transform.y,k:e.transform.k,startX:n.x,startY:n.y},this.previousD3Event=xl({},e.transform),this.zoomCanvasDimensions=this.getCanvasDimensions()}},{key:"zoomAction",value:function(e){this.logger.log("zoomAction - "+JSON.stringify(e.transform)),e.transform.k===this.zoomStartPoint.k?this.regionSelect?this.drawRegionSelector(e):this.zoomCanvasBackground(e):(this.ren.addTempCursorOverlay("default"),this.zoomCanvasBackground(e),this.ren.repositionCommentToolbar())}},{key:"zoomEnd",value:function(e){this.logger.log("zoomEnd - "+JSON.stringify(e.transform)),clearTimeout(this.addingCursorOverlay);var t=this.ren.getTransformedMousePos(e);t.x!==this.zoomStartPoint.startX||t.y!==this.zoomStartPoint.startY||this.zoomChanged()?this.regionSelect?this.zoomEndRegionSelect(e):this.ren.dispUtils.isDisplayingFullPage()&&this.zoomChanged()&&this.zoomSave():this.zoomClick(e),this.ren.resetCanvasCursor(e),this.ren.removeTempCursorOverlay(),this.contextMenuClosedOnZoom=!1,this.textEditingClosedOnZoom=!1,this.regionSelect=!1,this.zooming=!1}},{key:"zoomChanged",value:function(){return this.zoomTransform.k!==this.zoomStartPoint.k||this.zoomTransform.x!==this.zoomStartPoint.x||this.zoomTransform.y!==this.zoomStartPoint.y}},{key:"isDragActivated",value:function(e){return this.ren.config.enableInteractionType===ue?this.isSpaceKeyPressed():e&&e.sourceEvent&&!e.sourceEvent.shiftKey}},{key:"isRegionSelectActivated",value:function(e){return!this.zoomingAction&&(!!(this.ren.config.enableInteractionType===de&&e&&e.sourceEvent&&e.sourceEvent.shiftKey)||(this.ren.config.enableInteractionType===ue&&!this.isSpaceKeyPressed()||!(this.ren.config.enableInteractionType!==he||!e.sourceEvent||1!==e.sourceEvent.buttons||this.isSpaceKeyPressed())))}},{key:"drawRegionSelector",value:function(e){this.removeRegionSelector();var t=this.getRegionDimensions(e),n=t.x,i=t.y,o=t.width,r=t.height;this.ren.canvasGrp.append("rect").attr("width",o).attr("height",r).attr("x",n).attr("y",i).attr("class","d3-region-selector")}},{key:"zoomEndRegionSelect",value:function(e){this.removeRegionSelector(),e.transform.x=this.regionStartTransformX,e.transform.y=this.regionStartTransformY,this.ren.selectObjsInRegion(this.getRegionDimensions(e))}},{key:"removeRegionSelector",value:function(){this.ren.canvasGrp.selectAll(".d3-region-selector").remove()}},{key:"getRegionDimensions",value:function(e){var t=this.ren.getTransformedMousePos(e),n=this.zoomStartPoint.startX,i=this.zoomStartPoint.startY,o=t.x-n,r=t.y-i;return o<0&&(n-=o=Math.abs(o)),r<0&&(i-=r=Math.abs(r)),{x:n,y:i,width:o,height:r}}},{key:"zoomCanvasBackground",value:function(e){if(this.regionSelect=!1,this.ren.dispUtils.isDisplayingPrimaryFlowFullPage()){var t=this.getTransformIncrement(e);this.zoomTransform=this.zoomConstrainRegular(t,this.getViewportDimensions(),this.zoomCanvasDimensions)}else this.zoomTransform=Pl.zoomIdentity.translate(e.transform.x,e.transform.y).scale(e.transform.k);this.ren.canvasGrp.attr("transform",this.zoomTransform),this.ren.displayCanvasAccoutrements()}},{key:"zoomClick",value:function(e){var t,n,i;this.ren.dispUtils.isDisplayingCurrentPipeline()&&!this.contextMenuClosedOnZoom&&!this.textEditingClosedOnZoom&&(this.ren.config.enableEditingActions||null!==(t=e.sourceEvent)&&void 0!==t&&null!==(n=t.target)&&void 0!==n&&null!==(i=n.classList)&&void 0!==i&&i.contains("d3-svg-background"))&&this.ren.canvasController.clearSelections()}},{key:"zoomSave",value:function(){this.ren.canvasSVG.property("__zoom",this.zoomTransform);var e={editType:"setZoom",editSource:"canvas",zoom:this.zoomTransform,pipelineId:this.ren.activePipeline.id};this.ren.canvasController.editActionHandler(e)}},{key:"getTransformIncrement",value:function(e){var t=e.transform.x-this.previousD3Event.x,n=e.transform.y-this.previousD3Event.y,i={x:this.zoomTransform.x+t,y:this.zoomTransform.y+n,k:e.transform.k};return this.previousD3Event=xl({},e.transform),i}},{key:"zoomConstrainRegular",value:function(e,t,n){if(!n)return this.zoomTransform;var i=e.k,o=e.x,r=e.y,a=this.convertRectAdjustedForScaleWithPadding(n,i,this.getZoomToFitPadding()),s=t.width-Math.min(.25*t.width,.25*a.width),l=-Math.max(a.width-.25*t.width,.75*a.width),c=t.height-Math.min(.25*t.height,.25*a.height),u=-Math.max(a.height-.25*t.height,.75*a.height);return o>-a.left+s?o=-a.left+s:o<-a.left+l&&(o=-a.left+l),r>-a.top+c?r=-a.top+c:r<-a.top+u&&(r=-a.top+u),Pl.zoomIdentity.translate(o,r).scale(i)}},{key:"restoreZoom",value:function(){var e=this.ren.canvasController.getSavedZoom(this.ren.activePipeline.id);if(!e&&this.ren.config.enablePanIntoViewOnOpen){var t=this.getCanvasDimensionsWithPadding();t&&(e={x:-t.left,y:-t.top,k:1})}!e&&this.ren.canvasLayout.initialPanX&&this.ren.canvasLayout.initialPanY&&(e={x:this.ren.canvasLayout.initialPanX,y:this.ren.canvasLayout.initialPanY,k:1}),!e||e.k===this.zoomTransform.k&&e.x===this.zoomTransform.x&&e.y===this.zoomTransform.y||this.zoomCanvasInvokeZoomBehavior(e)}},{key:"zoomCanvasInvokeZoomBehavior",value:function(e,t){if(isFinite(e.x)&&isFinite(e.y)&&isFinite(e.k)&&this.zoomHasChanged(e)){this.zoomingAction=!0;var n=Pl.zoomIdentity.translate(e.x,e.y).scale(e.k);t?this.ren.canvasSVG.call(this.zoomHandler).transition().duration(t).call(this.zoomHandler.transform,n):this.ren.canvasSVG.call(this.zoomHandler.transform,n),this.zoomingAction=!1}}},{key:"zoomHasChanged",value:function(e){return e.k!==this.zoomTransform.k||e.x!==this.zoomTransform.x||e.y!==this.zoomTransform.y}},{key:"zoomToFit",value:function(){var e=this.getCanvasDimensionsWithPadding(),t=this.getViewportDimensions();if(e){var n=t.width/e.width,i=t.height/e.height,o=Math.min(n,i,1),r=(t.width-e.width*o)/2,a=(t.height-e.height*o)/2;r-=o*e.left,a-=o*e.top,this.zoomCanvasInvokeZoomBehavior({x:r,y:a,k:o})}}},{key:"getZoomToReveal",value:function(e,t,n){var i=this.getTransformedViewportDimensions(),o=this.ren.activePipeline.getNodes(e),r=this.ren.activePipeline.getComments(e),a=this.ren.activePipeline.getLinks(e);if(o.length>0||r.length>0||a.length>0){var s,l,c=Fe.getCanvasDimensions(o,r,a,0,0,!0),u=this.convertRectAdjustedForScaleWithPadding(c,1,10),d=parseInt(t,10),h=void 0===n?d:parseInt(n,10);if(u)if(Number.isNaN(d)||Number.isNaN(h)?(u.right>i.x+i.width&&(s=i.x+i.width-u.right),u.left<i.x&&(s=i.x-u.left),u.bottom>i.y+i.height&&(l=i.y+i.height-u.bottom),u.top<i.y&&(l=i.y-u.top)):(s=i.x+i.width*(d/100)-(u.left+u.width/2),l=i.y+i.height*(h/100)-(u.top+u.height/2)),void 0!==s||void 0!==l)return{x:this.zoomTransform.x+(s||0)*this.zoomTransform.k||0,y:this.zoomTransform.y+(l||0)*this.zoomTransform.k||0,k:this.zoomTransform.k}}return null}},{key:"getMaxZoomToFitPaddingForConnections",value:function(){var e=this.getMaxPaddingForConnectionsFromInputBindingNodes(),t=this.getMaxPaddingForConnectionsToOutputBindingNodes();return Math.max(e,t)}},{key:"getMaxPaddingForConnectionsFromInputBindingNodes",value:function(){var e=this,t=0;return this.ren.activePipeline.nodes.filter((function(e){return e.isSupernodeInputBinding})).forEach((function(n){var i=Fe.getNodePaddingToTargetNodes(n,e.ren.activePipeline.nodes,e.ren.activePipeline.links,e.ren.canvasLayout.linkType);t=Math.max(t,i)})),t}},{key:"getMaxPaddingForConnectionsToOutputBindingNodes",value:function(){var e=this,t=0,n=this.ren.activePipeline.nodes.filter((function(e){return e.isSupernodeOutputBinding}));return this.ren.activePipeline.nodes.forEach((function(i){var o=Fe.getNodePaddingToTargetNodes(i,n,e.ren.activePipeline.links,e.ren.canvasLayout.linkType);t=Math.max(t,o)})),t}},{key:"getTransformedViewportDimensions",value:function(){var e=this.getViewportDimensions();return this.getTransformedRect(e,0)}},{key:"getViewportDimensions",value:function(){var e={};if(this.ren.dispUtils.isDisplayingSubFlowInPlace()){var t=this.ren.getParentSupernodeSVGDimensions();e.width=t.width,e.height=t.height}else e=this.ren.canvasSVG&&this.ren.canvasSVG.node()?this.ren.canvasSVG.node().getBoundingClientRect():{x:0,y:0,width:1100,height:640};return e}},{key:"getCanvasDimensionsWithPadding",value:function(){return this.getCanvasDimensions(this.getZoomToFitPadding())}},{key:"getCanvasDimensions",value:function(e){var t=this.ren.canvasLayout.commentHighlightGap,n=this.ren.activePipeline.getCanvasDimensions(t);return this.convertRectAdjustedForScaleWithPadding(n,1,e)}},{key:"convertRectAdjustedForScaleWithPadding",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return e?{left:e.left*t-n,top:e.top*t-n,right:e.right*t+n,bottom:e.bottom*t+n,width:e.width*t+2*n,height:e.height*t+2*n}:null}},{key:"getZoomToFitPadding",value:function(){var e=this.ren.canvasLayout.zoomToFitPadding;if(this.ren.dispUtils.isDisplayingSubFlow()){var t=this.getMaxZoomToFitPaddingForConnections()+2*this.ren.canvasLayout.supernodeBindingPortRadius;e=Math.max(e,t)}return e}}]),n}(),wl=function(){function n(t,i,o){e(this,n),this.logger=new Re("SVGCanvasActivePipeline"),this.logger.log("constructor - start"),this.initialize(t,i,o),this.logger.log("constructor - end")}return t(n,[{key:"initialize",value:function(e,t,n){this.logger.logStartTimer("initialize"),this.canvasInfo=t,this.selections=n.pipelineId===e?n.selections:[],this.pipeline=this.getPipeline(e,t),this.id=this.pipeline.id,this.zoom=this.pipeline.zoom,this.nodes=this.pipeline.nodes,this.comments=this.pipeline.comments,this.links=this.pipeline.links,this.mappedNodes=this.getMappedArray(this.pipeline.nodes),this.mappedComments=this.getMappedArray(this.pipeline.comments),this.mappedLinks=this.getMappedArray(this.pipeline.links),this.pipeline=this.preProcessPipeline(this.pipeline),this.logger.logEndTimer("initialize")}},{key:"getCanvasDimensions",value:function(e){return Fe.getCanvasDimensions(this.pipeline.nodes,this.pipeline.comments,this.pipeline.links,e)}},{key:"getObjectTypeName",value:function(e){return this.getComment(e.id)?"comment":this.getNode(e.id)?"node":"link"}},{key:"getNode",value:function(e){var t=this.mappedNodes[e];return void 0===t?null:t}},{key:"getNodes",value:function(e){var t=this;if(!e)return this.pipeline.nodes;var n=[];return e.forEach((function(e){var i=t.getNode(e);i&&n.push(i)})),n}},{key:"getSupernodes",value:function(){return this.pipeline.nodes.filter((function(e){return Fe.isSupernode(e)}))}},{key:"isEmptyOrBindingsOnly",value:function(){return(f(this.pipeline.nodes)||this.containsOnlyBindingNodes())&&f(this.pipeline.comments)}},{key:"containsOnlyBindingNodes",value:function(){return!this.pipeline.nodes.find((function(e){return!Fe.isSuperBindingNode(e)}))}},{key:"getComment",value:function(e){var t=this.mappedComments[e];return void 0===t?null:t}},{key:"getComments",value:function(e){var t=this,n=[];return e.forEach((function(e){var i=t.getComment(e);i&&n.push(i)})),n}},{key:"getNodesAndComments",value:function(){return this.pipeline.nodes.concat(this.pipeline.comments)}},{key:"getNodeOrComment",value:function(e){var t=this.getNode(e);return null===t&&(t=this.getComment(e)),t}},{key:"getLink",value:function(e){var t=this.mappedLinks[e];return void 0===t?null:t}},{key:"getLinks",value:function(e){var t=this,n=[];return e.forEach((function(e){var i=t.getLink(e);i&&n.push(i)})),n}},{key:"replaceLink",value:function(e){var t=this.pipeline.links.findIndex((function(t){return t.id===e.id}));this.pipeline.links.splice(t,1,e),this.mappedLinks=this.getMappedArray(this.pipeline.links)}},{key:"getPipeline",value:function(e,t){var n=t.pipelines.find((function(t){return t.id===e}));return n||{id:e,nodes:[],comments:[],links:[]}}},{key:"preProcessPipeline",value:function(e){var t=this;return this.setAllPortsDisconnected(e),e.links.forEach((function(e){e.type===W?(e.srcObj=t.getComment(e.srcNodeId),e.trgNode=t.getNode(e.trgNodeId)):(e.srcObj=t.getNode(e.srcNodeId),e.trgNode=t.getNode(e.trgNodeId),e.type===U&&(e.srcObj&&t.setOutputPortConnected(e.srcObj,e.srcNodePortId),e.trgNode&&t.setInputPortConnected(e.trgNode,e.trgNodePortId)))})),e}},{key:"setAllPortsDisconnected",value:function(e){e.nodes.forEach((function(e){e.inputs&&e.inputs.forEach((function(e){return e.isConnected=!1})),e.outputs&&e.outputs.forEach((function(e){return e.isConnected=!1}))}))}},{key:"setInputPortConnected",value:function(e,t){var n=t||Fe.getDefaultInputPortId(e);e.inputs&&e.inputs.forEach((function(e){e.id===n&&(e.isConnected=!0)}))}},{key:"setOutputPortConnected",value:function(e,t){var n=t||Fe.getDefaultOutputPortId(e);e.outputs&&e.outputs.forEach((function(e){e.id===n&&(e.isConnected=!0)}))}},{key:"getMappedArray",value:function(e){return e.reduce((function(e,t){return e[t.id]=t,e}),{})}},{key:"getSelectedObjectIds",value:function(){return this.selections}},{key:"getSelectedNodesAndComments",value:function(){var e=this,t=this.getSelectedNodes();return this.comments.forEach((function(n){e.getSelectedObjectIds().includes(n.id)&&t.push(n)})),t}},{key:"getSelectedNodes",value:function(){var e=this,t=[];return this.nodes.forEach((function(n){e.getSelectedObjectIds().includes(n.id)&&t.push(n)})),t}},{key:"getSelectedNodeIds",value:function(){return this.getSelectedNodes().map((function(e){return e.id}))}},{key:"getSelectedLinks",value:function(){var e=this,t=[];return this.links.forEach((function(n){e.getSelectedObjectIds().includes(n.id)&&t.push(n)})),t}},{key:"getSelectedDetachedLinks",value:function(){return this.getSelectedLinks().filter((function(e){return e.srcPos||e.trgPos}))}},{key:"getSelectedLinksCount",value:function(){return this.getSelectedLinks().length}},{key:"isSelected",value:function(e){return this.getSelectedObjectIds().indexOf(e)>=0}}]),n}(),Sl=Object.assign({},io,jo),Nl=require("markdown-it")({html:!1,linkify:!1,typographer:!0}),Tl=function(){function n(t,i,o,r,a,s,l,c,u){var d=arguments.length>9&&void 0!==arguments[9]?arguments[9]:{};e(this,n),this.logger=new Re(["SVGCanvasRenderer","PipeId",t]),this.logger.logStartTimer("constructor"+t.substring(0,5)),this.pipelineId=t,this.supernodeInfo=d,this.canvasDiv=i,this.canvasInfo=r,this.selectionInfo=a,this.breadcrumbs=s,this.nodeLayout=l,this.canvasLayout=c,this.config=u,this.canvasController=o,this.activePipeline=new wl(t,r,a),this.superRenderers=[],this.instanceId=this.canvasController.getInstanceId(),this.dispUtils=new Ro(this.canvasController,this.supernodeInfo.d3Selection,this.pipelineId,s),this.nodeUtils=new Fo(this.canvasLayout),this.commentUtils=new Go,this.linkUtils=new Zo(this.config,this.canvasLayout,this.nodeUtils,this.commentUtils),this.decUtils=new Vo(this.canvasLayout),this.dragObjectUtils=new Lr(this),this.dragNewLinkUtils=new ia(this),this.dragDetLinkUtils=new aa(this),this.zoomUtils=new Ll(this),this.externalUtils=new Ko(this),this.svgCanvasTextArea=new or(this.config,this.dispUtils,this.nodeUtils,this.decUtils,this.canvasController,this.canvasDiv,this.activePipeline,this.displayComments.bind(this),this.displayLinks.bind(this),this.getCommentToolbarPos.bind(this)),this.dispUtils.setDisplayState(),this.logger.log(this.dispUtils.getDisplayStateMsg()),this.dragOverLink=null,this.dragOverDetachedLinks=[],this.dragPointerOffsetInNode=null,this.dragNewLinkOverNode=null,this.initializeGhostDiv(),this.canvasSVG=this.createCanvasSVG(),this.canvasDefs=this.canvasSVG.selectChildren("defs"),this.canvasGrp=this.createCanvasGroup(this.canvasSVG,"d3-canvas-group"),this.canvasUnderlay=this.createCanvasUnderlay(this.canvasGrp,"d3-canvas-underlay"),this.commentsGrp=this.createCanvasGroup(this.canvasGrp,"d3-comments-group"),this.nodesLinksGrp=this.createCanvasGroup(this.canvasGrp,"d3-nodes-links-group"),this.boundingRectsGrp=this.createBoundingRectanglesGrp(this.canvasGrp,"d3-bounding-rect-group"),this.resetCanvasSVGBehaviors(),this.displayCanvas(),this.dispUtils.isDisplayingFullPage()&&this.zoomUtils.restoreZoom(),this.dispUtils.isDisplayingSubFlowFullPage()&&!this.canvasController.getSavedZoom(this.pipelineId)&&this.zoomToFit(),this.dispUtils.isDisplayingSubFlowInPlace()&&(this.supernodeInfo.d3Selection.selectAll(".d3-node-port-input").raise(),this.supernodeInfo.d3Selection.selectAll(".d3-node-port-output").raise()),this.logger.logEndTimer("constructor"+t.substring(0,5))}return t(n,[{key:"setSpaceKeyPressed",value:function(e){this.zoomUtils.setSpaceKeyPressed(e),this.resetCanvasCursor()}},{key:"isSpaceKeyPressed",value:function(){return this.zoomUtils.isSpaceKeyPressed()}},{key:"zoomTo",value:function(e){this.zoomUtils.zoomTo(e)}},{key:"translateBy",value:function(e,t,n){this.zoomUtils.translateBy(e,t,n)}},{key:"zoomIn",value:function(){this.zoomUtils.zoomIn()}},{key:"zoomOut",value:function(){this.zoomUtils.zoomOut()}},{key:"zoomToFit",value:function(){this.zoomUtils.zoomToFit()}},{key:"isZoomedToMax",value:function(){return this.zoomUtils.isZoomedToMax()}},{key:"isZoomedToMin",value:function(){return this.zoomUtils.isZoomedToMin()}},{key:"getZoomToReveal",value:function(e,t,n){return this.zoomUtils.getZoomToReveal(e,t,n)}},{key:"getZoom",value:function(){return this.zoomUtils.getZoom()}},{key:"getTransformedViewportDimensions",value:function(){return this.zoomUtils.getTransformedViewportDimensions()}},{key:"getParentSupernodeDatum",value:function(){var e=this,t=null;return this.canvasInfo.pipelines.forEach((function(n){n.id===e.supernodeInfo.pipelineId&&(t||(t=n.nodes.find((function(t){return Fe.isSupernode(t)&&t.id===e.supernodeInfo.id}))))})),t}},{key:"setCanvasInfoRenderer",value:function(e,t,n,i,o,r){this.logger.logStartTimer("setCanvasInfoRenderer"+this.pipelineId.substring(0,5)),this.config=r,this.canvasInfo=e,this.selectionInfo=t,this.breadcrumbs=n,this.nodeLayout=i,this.canvasLayout=o,this.activePipeline.initialize(this.pipelineId,e,t),this.linkUtils=new Zo(this.config,this.canvasLayout,this.nodeUtils,this.commentUtils),this.svgCanvasTextArea=new or(this.config,this.dispUtils,this.nodeUtils,this.decUtils,this.canvasController,this.canvasDiv,this.activePipeline,this.displayComments.bind(this),this.displayLinks.bind(this),this.getCommentToolbarPos.bind(this)),this.dispUtils.setDisplayState(),this.logger.log(this.dispUtils.getDisplayStateMsg()),this.resetCanvasSVGBehaviors(),this.superRenderers=this.cleanUpSuperRenderers(),this.displayCanvas(),this.logger.logEndTimer("setCanvasInfoRenderer"+this.pipelineId.substring(0,5))}},{key:"setSelectionInfo",value:function(e){this.selectionInfo=e,this.activePipeline.initialize(this.pipelineId,this.canvasInfo,e),this.displayCommentsSelectionStatus(),this.displayNodesSelectionStatus(),this.displayLinksSelectionStatus(),this.superRenderers.forEach((function(t){t.setSelectionInfo(e)}))}},{key:"cleanUpSuperRenderers",value:function(){var e=this,t=[];return this.activePipeline.getSupernodes().forEach((function(n){var i=e.getRendererForSupernode(n);i&&t.push(i),e.getDiscardedRenderersForSupernode(n).forEach((function(e){return e.canvasSVG.remove()}))})),t}},{key:"clearCanvas",value:function(){this.zoomUtils.resetZoomTransform(),this.canvasSVG.remove()}},{key:"refreshOnSizeChange",value:function(){if(this.logger.log("refreshOnSizeChange"),this.dispUtils.isDisplayingSubFlowFullPage()&&this.displayBindingNodesToFitSVG(),this.config.enableBoundingRectangles&&this.displayBoundingRectangles(),this.config.enablePositionNodeOnRightFlyoutOpen&&this.canvasController.isRightFlyoutOpen()){var e="boolean"==typeof this.config.enablePositionNodeOnRightFlyoutOpen?{x:50,y:50}:this.config.enablePositionNodeOnRightFlyoutOpen,t=e.x?e.x:50,n=e.y?e.y:50,i=this.activePipeline.getSelectedNodeIds(),o=this.getZoomToReveal(i,t,n);this.zoomTo(o)}}},{key:"hideCanvas",value:function(){this.canvasSVG.style("display","none")}},{key:"displayCanvas",value:function(){this.logger.logStartTimer("displayCanvas"),this.canvasSVG.style("display","inherit"),this.displayComments(),this.displayNodes(),this.displayLinks(),this.dispUtils.isDisplayingSubFlowInPlace()&&this.displaySVGToFitSupernode(),this.displayCanvasAccoutrements(),this.logger.logEndTimer("displayCanvas")}},{key:"displayCanvasAccoutrements",value:function(){this.config.enableBoundingRectangles&&this.displayBoundingRectangles(),"None"!==this.config.enableCanvasUnderlay&&this.dispUtils.isDisplayingPrimaryFlowFullPage()&&this.setCanvasUnderlaySize(),this.dispUtils.isDisplayingSubFlowFullPage()&&this.displayPortsForSubFlowFullPage()}},{key:"displayPortsForSubFlowFullPage",value:function(){this.setPortPositionsForNode(this.getParentSupernodeDatum()),this.displayBindingNodesToFitSVG()}},{key:"displaySVGToFitSupernode",value:function(){this.logger.log("displaySVGToFitSupernode - start");var e=this.getParentSupernodeSVGDimensions();this.canvasSVG.attr("width",e.width),this.canvasSVG.attr("height",e.height),this.canvasSVG.attr("x",e.x),this.canvasSVG.attr("y",e.y);var t=this.canvasSVG.selectChildren(".d3-svg-background");t.attr("width",e.width),t.attr("height",e.height),this.zoomToFit(),this.displayBindingNodesToFitSVG(),this.logger.log("displaySVGToFitSupernode - end")}},{key:"displayBindingNodesToFitSVG",value:function(){this.logger.log("displayBindingNodesToFitSVG - start"),this.setPortPositionsAllNodes(),this.moveSuperBindingNodes(),this.displayMovedNodes(),this.displayMovedLinks(),this.logger.log("displayBindingNodesToFitSVG - end")}},{key:"getParentSupernodeSVGDimensions",value:function(){var e=this.getParentSupernodeDatum();return{width:e.width-2*this.canvasLayout.supernodeSVGAreaPadding,height:e.height-this.canvasLayout.supernodeTopAreaHeight-this.canvasLayout.supernodeSVGAreaPadding,x:this.canvasLayout.supernodeSVGAreaPadding,y:this.canvasLayout.supernodeTopAreaHeight,x_pos:e.x_pos+this.canvasLayout.supernodeSVGAreaPadding,y_pos:e.y_pos+this.canvasLayout.supernodeTopAreaHeight}}},{key:"moveSuperBindingNodes",value:function(){var e=this,t=this.zoomUtils.getTransformedViewportDimensions(),n=this.getParentSupernodeDatum();if(this.canvasLayout.linkDirection===$||this.canvasLayout.linkDirection===J){var i=n.width-2*this.canvasLayout.supernodeSVGAreaPadding;this.activePipeline.nodes.forEach((function(o){if(o.isSupernodeInputBinding){var r=e.nodeUtils.getSupernodePortXOffset(o.id,n.inputs);o.x_pos=t.width*(r/i)+t.x-o.outputs[0].cx,o.y_pos=e.canvasLayout.linkDirection===$?t.y-o.height:t.y+t.height}if(o.isSupernodeOutputBinding){var a=e.nodeUtils.getSupernodePortXOffset(o.id,n.outputs);o.x_pos=t.width*(a/i)+t.x-o.inputs[0].cx,o.y_pos=e.canvasLayout.linkDirection===$?o.y_pos=t.y+t.height:o.y_pos=t.y-o.height}}))}else{var o,r;Fe.isExpanded(n)?(o=this.canvasLayout.supernodeTopAreaHeight,r=n.height-(this.canvasLayout.supernodeTopAreaHeight+this.canvasLayout.supernodeSVGAreaPadding)):(o=0,r=n.height),this.activePipeline.nodes.forEach((function(i){if(i.isSupernodeInputBinding){i.x_pos=t.x-i.width;var a=e.nodeUtils.getSupernodePortYOffset(i.id,n.inputs)-o;i.y_pos=t.height*(a/r)+t.y-i.outputs[0].cy}if(i.isSupernodeOutputBinding){i.x_pos=t.x+t.width;var s=e.nodeUtils.getSupernodePortYOffset(i.id,n.outputs)-o;i.y_pos=t.height*(s/r)+t.y-i.inputs[0].cy}}))}}},{key:"displayBoundingRectangles",value:function(){if(this.activePipeline){var e=this.zoomUtils.getViewportDimensions(),t=this.zoomUtils.getTransformedRect(e,1),n=this.zoomUtils.getCanvasDimensions(),i=this.zoomUtils.getCanvasDimensionsWithPadding();this.boundingRectsGrp.selectChildren(".d3-bounding").remove();var o=this.boundingRectsGrp.append("g").attr("class","d3-bounding");o.append("rect").attr("height",e.height).attr("width",e.width).attr("x",0).attr("y",0).style("fill","none").style("stroke","darkorange"),o.append("rect").attr("height",t.height).attr("width",t.width-2).attr("x",t.x).attr("y",t.y).style("fill","none").style("stroke","red"),n&&o.append("rect").attr("height",n.height).attr("width",n.width).attr("x",n.left).attr("y",n.top).style("fill","none").style("stroke","blue"),i&&o.append("rect").attr("height",i.height).attr("width",i.width).attr("x",i.left).attr("y",i.top).style("fill","none").style("stroke","green"),this.config.enableBoundingRectangles&&this.superRenderers.length>0&&this.superRenderers.forEach((function(e){return e.displayBoundingRectangles()}))}}},{key:"selectObjsInRegion",value:function(e){var t=Fe.selectInRegion(e,this.activePipeline,this.config.enableLinkSelection!==ge,this.config.enableLinkType,this.config.enableAssocLinkType);this.canvasController.setSelections(t,this.activePipeline.id)}},{key:"isEditingText",value:function(){if(this.svgCanvasTextArea.isEditingText())return!0;var e=!1;return this.superRenderers.forEach((function(t){e||(e=t.isEditingText())})),e}},{key:"isDragging",value:function(){return this.dragObjectUtils.isMoving()||this.dragNewLinkUtils.isDragging()||this.dragDetLinkUtils.isDragging()}},{key:"isSizing",value:function(){this.dragObjectUtils.isSizing()}},{key:"isMoving",value:function(){this.dragObjectUtils.isMoving()}},{key:"shouldDisplayNodeSizingArea",value:function(e){return!Fe.isSuperBindingNode(e)&&(Fe.isSupernode(e)||this.config.enableResizableNodes)}},{key:"getAllNodeGroupsSelection",value:function(){return this.nodesLinksGrp.selectChildren(".d3-node-group")}},{key:"getAllLinkGroupsSelection",value:function(){return this.nodesLinksGrp.selectChildren(".d3-link-group")}},{key:"getAllCommentGroupsSelection",value:function(){return this.commentsGrp.selectChildren(".d3-comment-group")}},{key:"getNodeGroupSelectionById",value:function(e){var t=this.getSelectorForId("node_grp",e);return this.nodesLinksGrp.selectChildren(t)}},{key:"getLinkGroupSelectionById",value:function(e){var t=this.getSelectorForId("link_grp",e);return this.nodesLinksGrp.selectChildren(t)}},{key:"getCommentGroupSelectionById",value:function(e){var t=this.getSelectorForId("comment_grp",e);return this.commentsGrp.selectChildren(t)}},{key:"getNodeDecSelectionById",value:function(e,t){var n=this.getNodeGroupSelectionById(t),i=this.getSelectorForId("node_dec_group",e);return n.selectAll(i)}},{key:"getLinkDecSelectionById",value:function(e,t){var n=this.getLinkGroupSelectionById(t),i=this.getSelectorForId("link_dec_group",e);return n.selectAll(i)}},{key:"getSelectorForId",value:function(e,t,n){return"[data-id='".concat(this.getId(e,t,n),"']")}},{key:"getId",value:function(e,t,n){var i="".concat(e,"_").concat(this.instanceId);return t&&(i+="_".concat(t)),n&&(i+="_".concat(n)),i}},{key:"getMousePosSnapToGrid",value:function(e){var t=e;return this.config.enableSnapToGridType!==oe&&this.config.enableSnapToGridType!==re||(t=this.snapToGridPosition(t)),t}},{key:"getTransformedMousePos",value:function(e){return this.zoomUtils.transformPos(this.getMousePos(e,this.canvasSVG))}},{key:"getMousePos",value:function(e,t){if(e.sourceEvent||e.pageX){var n=Sl.pointer(e,t.node());return{x:n[0],y:n[1]}}return{x:0,y:0}}},{key:"convertPageCoordsToSnappedCanvasCoords",value:function(e){var t=this.convertPageCoordsToCanvasCoords(e.x,e.y);return t=this.getMousePosSnapToGrid(t)}},{key:"convertPageCoordsToCanvasCoords",value:function(e,t){var n=this.canvasSVG.node().getBoundingClientRect();return this.zoomUtils.transformPos({x:e-Math.round(n.left),y:t-Math.round(n.top)})}},{key:"initializeGhostDiv",value:function(){this.dispUtils.isDisplayingFullPage()&&this.getGhostDivSel().empty()&&this.canvasDiv.append("div").attr("class","d3-ghost-div")}},{key:"getGhostDivSel",value:function(){return this.canvasDiv.selectAll(".d3-ghost-div")}},{key:"getGhostNode",value:function(e){var t=this,n=this.getGhostDivSel(),i=this.zoomUtils.getZoomScale(),o=Math.max(this.nodeLayout.labelWidth,e.width),r=0;n.selectAll(".d3-ghost-svg").remove();var a=n.append("svg").attr("width",o*i).attr("height",(50+e.height)*i).attr("x",0).attr("y",0).attr("class","d3-ghost-svg").append("g").attr("class","d3-node-group");if(a.append("rect").attr("class","d3-ghost-node").attr("x",0).attr("y",0).attr("width",e.width).attr("height",e.height),!this.nodeLayout.nodeExternalObject){var s=this.getNodeImage(e),l=this.getImageType(s);a.append(l).attr("class","d3-node-image").each((function(){t.setNodeImageContent(this,e)})).attr("x",this.nodeUtils.getNodeImagePosX(e)).attr("y",this.nodeUtils.getNodeImagePosY(e)).attr("width",this.nodeUtils.getNodeImageWidth(e)).attr("height",this.nodeUtils.getNodeImageHeight(e));var c=a.append("foreignObject").attr("x",this.nodeUtils.getNodeLabelPosX(e)).attr("y",this.nodeUtils.getNodeLabelPosY(e)).attr("width",this.nodeUtils.getNodeLabelWidth(e)).attr("height",this.nodeUtils.getNodeLabelHeight(e)).attr("class","d3-foreign-object-ghost-label"),u=c.append("xhtml:div").attr("class",this.nodeUtils.getNodeLabelClass(e)),d=u.append("xhtml:span").html(e.label).node().getBoundingClientRect().width+4,h=this.nodeUtils.getNodeLabelWidth(e),p=Math.min(h,d);if(r=Math.max(0,(p-e.width)/2)*i,"center"===e.layout.labelAlign){var g=Math.max(0,(h-p)/2);c.attr("width",p).attr("x",this.nodeUtils.getNodeLabelPosX(e)+g),u.attr("width",p)}}a.attr("transform","translate(".concat(r,", 0) scale(").concat(i,")"));var f=this.getBrowserZoom(),v=(r+e.width/2*i)*f,y=e.height/2*i*f;return{element:n.node(),centerX:v,centerY:y,nodeTemplate:e}}},{key:"getBrowserZoom",value:function(){var e=window.devicePixelRatio;return navigator.userAgent.includes("Chrome")?e=1:navigator.userAgent.includes("Safari")?e=(window.outerWidth-8)/window.innerWidth:navigator.userAgent.includes("Firefox")&&(e=1),e}},{key:"nodeTemplateDragStart",value:function(e){this.isNodeTemplateInsertableIntoLink(e)&&this.setDataLinkSelectionAreaWider(!0)}},{key:"nodeTemplateDragEnd",value:function(e){this.isNodeTemplateInsertableIntoLink(e)&&this.setDataLinkSelectionAreaWider(!1)}},{key:"nodeTemplateDragOver",value:function(e,t,n){if(this.isNodeTemplateInsertableIntoLink(e)){var i=this.getLinkAtMousePos(t,n);i&&!this.isLinkFullyAttached(i)||this.setInsertNodeIntoLinkHighlighting(i)}if(this.isNodeTemplateAttachableToDetachedLinks(e)){var o=this.convertPageCoordsToCanvasCoords(t,n),r={x1:o.x-e.width/2,y1:o.y-e.height/2,x2:o.x+e.width/2,y2:o.y+e.height/2},a=this.canvasController.convertNodeTemplate(e),s=this.getAttachableLinksForNodeAtPos(a,r);this.setDetachedLinkHighlighting(s)}"None"!==this.config.enableCanvasUnderlay&&this.dispUtils.isDisplayingPrimaryFlowFullPage()&&this.setCanvasUnderlaySize(t,n)}},{key:"setInsertNodeIntoLinkHighlighting",value:function(e){e?this.dragOverLink?e.id!==this.dragOverLink.id&&(this.unsetInsertNodeIntoLinkHighlighting(),this.dragOverLink=e,this.setNodeDragOverLinkHighlighting(this.dragOverLink,!0)):(this.dragOverLink=e,this.setNodeDragOverLinkHighlighting(this.dragOverLink,!0)):this.unsetInsertNodeIntoLinkHighlighting()}},{key:"unsetInsertNodeIntoLinkHighlighting",value:function(e){this.dragOverLink&&(this.setNodeDragOverLinkHighlighting(this.dragOverLink,!1),this.dragOverLink=null)}},{key:"setDetachedLinkHighlighting",value:function(e){var t=this;e&&e.length>0?(this.unsetDetachedLinkHighlighting(),this.dragOverDetachedLinks=e,this.dragOverDetachedLinks.forEach((function(e){return t.setNodeDragOverLinkHighlighting(e,!0)}))):this.dragOverDetachedLinks.length>0&&this.unsetDetachedLinkHighlighting()}},{key:"unsetDetachedLinkHighlighting",value:function(){var e=this;this.dragOverDetachedLinks.forEach((function(t){return e.setNodeDragOverLinkHighlighting(t,!1)})),this.dragOverDetachedLinks=[]}},{key:"setNodeDragOverLinkHighlighting",value:function(e,t){this.getLinkGroupSelectionById(e.id).attr("data-drag-node-over",!!t||null)}},{key:"setHighlightingOverNode",value:function(e,t){e?this.dragNewLinkOverNode?t.id!==this.dragNewLinkOverNode.id&&(this.setLinkOverNode(this.dragNewLinkOverNode,!1),this.dragNewLinkOverNode=t,this.setLinkOverNode(this.dragNewLinkOverNode,!0)):(this.dragNewLinkOverNode=t,this.setLinkOverNode(this.dragNewLinkOverNode,!0)):this.dragNewLinkOverNode&&(this.setLinkOverNode(this.dragNewLinkOverNode,!1),this.dragNewLinkOverNode=null)}},{key:"setLinkOverNode",value:function(e,t){e&&this.getNodeGroupSelectionById(e.id).attr("data-new-link-over",t?"yes":"no")}},{key:"setLinkOverNodeCancel",value:function(){this.setLinkOverNode(this.dragNewLinkOverNode,!1),this.dragNewLinkOverNode=null}},{key:"nodeTemplateDropped",value:function(e,t,n){if(null!==e){var i=this.transformMousePosForNode(t,n,e);this.dragOverLink?(this.canvasController.createNodeFromTemplateOnLinkAt(e,this.dragOverLink,i,this.pipelineId),this.unsetInsertNodeIntoLinkHighlighting()):this.dragOverDetachedLinks.length>0?(this.canvasController.createNodeFromTemplateAttachLinks(e,this.dragOverDetachedLinks,i,this.pipelineId),this.unsetDetachedLinkHighlighting()):this.canvasController.createNodeFromTemplateAt(e,i,this.pipelineId)}}},{key:"externalObjectDropped",value:function(e,t,n){if(null!==e){var i=this.transformMousePosForNode(t,n);this.canvasController.createDroppedExternalObject(e,i,this.pipelineId)}}},{key:"transformMousePosForNode",value:function(e,t,n){var i=this.convertPageCoordsToCanvasCoords(e,t);return n&&n.width&&n.height?(i.x-=n.width/2,i.y-=n.height/2):(i.x-=this.nodeLayout.defaultNodeWidth/2,i.y-=this.nodeLayout.defaultNodeHeight/2),this.getMousePosSnapToGrid(i)}},{key:"isNodeTemplateInsertableIntoLink",value:function(e){return this.config.enableInsertNodeDroppedOnLink&&Fe.hasInputAndOutputPorts(e)&&!this.isPortMaxCardinalityZero(e.inputs[0])&&!this.isPortMaxCardinalityZero(e.outputs[0])}},{key:"isNodeTemplateAttachableToDetachedLinks",value:function(e){return this.config.enableLinkSelection===ae}},{key:"getAttachableLinksForNodeAtPos",value:function(e,t){var n=this,i=e.inputs&&e.inputs.length>0,o=e.outputs&&e.outputs.length>0,r=this.activePipeline.links.filter((function(e){return e.srcPos&&o&&Fe.isPosInArea(e.srcPos,t,n.canvasLayout.ghostAreaPadding)?(e.nodeOverSrcPos=!0,!0):e.trgPos&&i&&Fe.isPosInArea(e.trgPos,t,n.canvasLayout.ghostAreaPadding)?(e.nodeOverTrgPos=!0,!0):(e.nodeOverSrcPos=!1,e.nodeOverTrgPos=!1,!1)}));r.length>0&&(r=Fe.getDetachedLinksToUpdate(e,r,this.activePipeline.links).oldLinks);return r}},{key:"isLinkFullyAttached",value:function(e){return!!e&&(void 0!==e.srcNodeId&&void 0!==e.trgNodeId)}},{key:"setMaxZoomExtent",value:function(e){if(this.dispUtils.isDisplayingFullPage())this.zoomUtils.setMaxZoomExtent(e);else{var t=1*Number(e)/this.zoomUtils.getZoomScale();this.supernodeInfo.renderer.setMaxZoomExtent(t)}}},{key:"createCanvasSVG",value:function(){var e=this;this.logger.log("Create Canvas SVG.");var t=this.canvasDiv,n={width:"100%",height:"100%",x:0,y:0};this.dispUtils.isDisplayingSubFlowInPlace()&&(t=this.supernodeInfo.d3Selection,n=this.getParentSupernodeSVGDimensions());var i=t.append("svg").attr("class","svg-area").attr("data-pipeline-id",this.activePipeline.id).attr("width",n.width).attr("height",n.height).attr("x",n.x).attr("y",n.y).on("mouseenter",(function(t,n){e.supernodeInfo.renderer&&e.config.enableZoomIntoSubFlows&&e.supernodeInfo.renderer.setMaxZoomExtent(1/e.zoomUtils.getZoomScale())})).on("mouseleave",(function(t,n){e.supernodeInfo.renderer&&e.config.enableZoomIntoSubFlows&&e.supernodeInfo.renderer.setMaxZoomExtent(1)}));if(i.append("rect").attr("x",0).attr("y",0).attr("width",n.width).attr("height",n.height).attr("data-pipeline-id",this.activePipeline.id).attr("class","d3-svg-background").attr("pointer-events","all").style("cursor","default"),this.dispUtils.isDisplayingFullPage()){var o=i.append("defs");this.createDropShadow(o)}return i}},{key:"resetCanvasSVGBehaviors",value:function(){var e=this;this.canvasSVG.on(".zoom",null),!this.activePipeline.isEmptyOrBindingsOnly()&&this.dispUtils.isDisplayingFullPage()&&this.canvasSVG.call(this.zoomUtils.getZoomHandler()),this.canvasSVG.on("mousedown",(function(t){e.logger.log("Canvas - mousedown"),e.dispUtils.isDisplayingSubFlowInPlace()&&t.button===fe&&t.stopPropagation()})).on("click.zoom",(function(t){e.logger.log("Canvas - click-zoom"),e.canvasController.clickActionHandler({clickType:"contextmenu"===t.type?"SINGLE_CLICK_CONTEXTMENU":"SINGLE_CLICK",objectType:"canvas",selectedObjectIds:e.activePipeline.getSelectedObjectIds()})})).on("dblclick.zoom",(function(){e.logger.log("Zoom - double click"),e.canvasController.clickActionHandler({clickType:"DOUBLE_CLICK",objectType:"canvas",selectedObjectIds:e.activePipeline.getSelectedObjectIds()})})).on("contextmenu.zoom",(function(t,n){e.logger.log("Zoom - context menu"),e.openContextMenu(t,"canvas")}))}},{key:"resetCanvasCursor",value:function(){var e=".d3-svg-background[data-pipeline-id='"+this.activePipeline.id+"']";this.canvasSVG.select(e).style("cursor",this.zoomUtils.isDragActivated()&&this.dispUtils.isDisplayingFullPage()?"grab":"default")}},{key:"createCanvasGroup",value:function(e,t){return e.append("g").attr("class",t)}},{key:"createCanvasUnderlay",value:function(e,t){return"None"!==this.config.enableCanvasUnderlay&&this.dispUtils.isDisplayingPrimaryFlowFullPage()?e.append("rect").attr("class",t):null}},{key:"createBoundingRectanglesGrp",value:function(e,t){return this.config.enableBoundingRectangles?e.append("g").attr("class",t):null}},{key:"setCanvasUnderlaySize",value:function(){var e=this.zoomUtils.getCanvasDimensionsWithPadding();e&&this.canvasUnderlay.attr("x",e.left-50).attr("y",e.top-50).attr("width",e.width+100).attr("height",e.height+100)}},{key:"createDropShadow",value:function(e){var t=e.append("filter").attr("id",this.getId("node_drop_shadow")).attr("x","-20%").attr("y","-20%").attr("width","200%").attr("height","200%");t.append("feOffset").attr("in","SourceAlpha").attr("dx",1).attr("dy",1).attr("result","offOut"),t.append("feGaussianBlur").attr("in","offOut").attr("stdDeviation","3").attr("result","blurOut"),t.append("feBlend").attr("in","SourceGraphic").attr("in2","blurOut").attr("mode","normal"),t.append("feComponentTransfer").append("feFuncA").attr("type","linear").attr("slope","0.2");var n=t.append("feMerge");n.append("feMergeNode"),n.append("feMergeNode").attr("in","SourceGraphic")}},{key:"setCommentEditingMode",value:function(e,t){if(this.pipelineId===t){var n=this.activePipeline.getComment(e);if(n&&this.config.enableEditingActions){var i=this.getCommentGroupSelectionById(e).node();this.displayCommentTextArea(n,i)}}else this.superRenderers.forEach((function(n){n.setCommentEditingMode(e,t)}))}},{key:"setNodeLabelEditingMode",value:function(e,t){if(this.pipelineId===t){var n=this.activePipeline.getNode(e);if(n&&n.layout.labelEditable&&this.config.enableEditingActions){var i=this.getNodeGroupSelectionById(e).node();this.displayNodeLabelTextArea(n,i)}}else this.superRenderers.forEach((function(n){n.setNodeLabelEditingMode(e,t)}))}},{key:"setNodeDecorationLabelEditingMode",value:function(e,t,n){if(this.pipelineId===n){var i=this.activePipeline.getNode(t);if(i&&i.decorations){var o=i.decorations.find((function(t){return t.id===e}));if(o&&void 0!==o.label&&o.label_editable&&this.config.enableEditingActions){var r=this.getNodeDecSelectionById(e,t).node();this.displayDecLabelTextArea(o,i,"node",r)}}}else this.superRenderers.forEach((function(i){i.setLinkDecorationLabelEditingMode(e,t,n)}))}},{key:"setLinkDecorationLabelEditingMode",value:function(e,t,n){if(this.pipelineId===n){var i=this.activePipeline.getLink(t);if(i&&i.decorations){var o=i.decorations.find((function(t){return t.id===e}));if(o&&void 0!==o.label&&o.label_editable&&this.config.enableEditingActions){var r=this.getLinkDecSelectionById(e,t).node();this.displayDecLabelTextArea(o,i,"link",r)}}}else this.superRenderers.forEach((function(i){i.setLinkDecorationLabelEditingMode(e,t,n)}))}},{key:"repositionCommentToolbar",value:function(){if(this.config.enableMarkdownInComments&&this.dispUtils.isDisplayingFullPage()&&this.svgCanvasTextArea.isEditingText()){var e=this.activePipeline.getComment(this.svgCanvasTextArea.getEditingTextId());if(e){var t=this.getCommentToolbarPos(e);this.canvasController.moveTextToolbar(t.x,t.y)}}}},{key:"getCommentToolbarPos",value:function(e){var t=this.zoomUtils.unTransformPos({x:e.x_pos,y:e.y_pos});return{x:t.x+this.canvasLayout.commentToolbarPosX,y:t.y+this.canvasLayout.commentToolbarPosY}}},{key:"snapToGridPosition",value:function(e){return{x:Fe.snapToGrid(e.x,this.canvasLayout.snapToGridXPx),y:Fe.snapToGrid(e.y,this.canvasLayout.snapToGridYPx)}}},{key:"displayNodes",value:function(){this.logger.logStartTimer("displayNodes "+this.getFlags()),this.setPortPositionsAllNodes();var e=this.getAllNodeGroupsSelection();this.displayNodesSubset(e,this.activePipeline.nodes),this.logger.logEndTimer("displayNodes "+this.getFlags())}},{key:"displayMovedNodes",value:function(){var e=this;this.logger.logStartTimer("displayMovedNodes");var t=this.getAllNodeGroupsSelection();t.datum((function(t){return e.activePipeline.getNode(t.id)})).attr("transform",(function(e){return"translate(".concat(e.x_pos,", ").concat(e.y_pos,")")})),this.dispUtils.isDisplayingSubFlow()&&t.each((function(t,n,i){t.isSupernodeInputBinding&&e.updatePortRadiusAndPos(i[n],t,"d3-node-port-output-main"),t.isSupernodeOutputBinding&&(e.updatePortRadiusAndPos(i[n],t,"d3-node-port-input-main"),e.updatePortArrowPath(i[n],"d3-node-port-input-arrow"))})),this.logger.logEndTimer("displayMovedNodes")}},{key:"displayNodesSelectionStatus",value:function(e){var t=this;this.logger.logStartTimer("displayNodesSelectionStatus"),this.getAllNodeGroupsSelection().selectChildren(".d3-node-selection-highlight").attr("data-selected",(function(e){return t.activePipeline.isSelected(e.id)?"yes":"no"})),this.logger.logEndTimer("displayNodesSelectionStatus")}},{key:"displaySingleNode",value:function(e){this.logger.logStartTimer("displaySingleNode "+this.getFlags()),this.setPortPositionsForNode(e);var t=this.getNodeGroupSelectionById(e.id);this.displayNodesSubset(t,[e]),this.logger.logEndTimer("displaySingleNode "+this.getFlags())}},{key:"displayNodesSubset",value:function(e,t){var n=this;e.data(t,(function(e){return e.id})).join((function(e){return n.createNodes(e)}),null,(function(e){return n.removeNodes(e)})).attr("transform",(function(e){return"translate(".concat(e.x_pos,", ").concat(e.y_pos,")")})).attr("class",(function(e){return n.getNodeGroupClass(e)})).attr("style",(function(e){return n.getNodeGrpStyle(e)})).call((function(e){return n.updateNodes(e,t)}))}},{key:"createNodes",value:function(e){var t=this;this.logger.logStartTimer("createNodes");var n=e.append("g").attr("data-id",(function(e){return t.getId("node_grp",e.id)})).call(this.attachNodeGroupListeners.bind(this));return this.logger.logEndTimer("createNodes"),n}},{key:"updateNodes",value:function(e,t){var n=this;this.logger.logStartTimer("updateNodes");var i=e.filter((function(e){return!Fe.isSuperBindingNode(e)}));if(i.selectChildren(".d3-node-sizing").data((function(e){return n.shouldDisplayNodeSizingArea(e)?[e]:[]}),(function(e){return e.id})).join((function(e){return e.append("path").attr("class","d3-node-sizing").call(n.attachNodeSizingListeners.bind(n))})).datum((function(e){return n.activePipeline.getNode(e.id)})).attr("d",(function(e){return n.getNodeShapePathSizing(e)})),i.selectChildren(".d3-node-selection-highlight").data((function(e){return[e]}),(function(e){return e.id})).join((function(e){return e.append("path").attr("class","d3-node-selection-highlight")})).datum((function(e){return n.activePipeline.getNode(e.id)})).attr("d",(function(e){return n.getNodeSelectionOutline(e)})).attr("data-selected",(function(e){return n.activePipeline.isSelected(e.id)?"yes":"no"})).attr("style",(function(e){return n.getNodeSelectionOutlineStyle(e,"default")})),i.selectChildren(".d3-node-body-outline").data((function(e){return e.layout.nodeShapeDisplay?[e]:[]}),(function(e){return e.id})).join((function(e){return e.append("path").attr("class","d3-node-body-outline")})).datum((function(e){return n.activePipeline.getNode(e.id)})).attr("d",(function(e){return n.getNodeShapePath(e)})).attr("style",(function(e){return n.getNodeBodyStyle(e,"default")})),i.selectChildren(".d3-foreign-object-external-node").data((function(e){return e.layout.nodeExternalObject?[e]:[]}),(function(e){return e.id})).join((function(e){return e.append("foreignObject").attr("class","d3-foreign-object-external-node")}),null,(function(e){e.each((function(e,t,i){return n.externalUtils.removeExternalObject(e,t,i)})),e.remove()})).datum((function(e){return n.activePipeline.getNode(e.id)})).attr("width",(function(e){return e.width})).attr("height",(function(e){return e.height})).attr("x",0).attr("y",0).each((function(e,t,i){return n.externalUtils.addNodeExternalObject(e,t,i)})),i.selectChildren(".d3-node-image").data((function(e){return e.layout.imageDisplay?[e]:[]}),(function(e){return e.id})).join((function(e){return e.append((function(e){return n.getImageElement(e)})).attr("class","d3-node-image")})).datum((function(e){return n.activePipeline.getNode(e.id)})).each((function(e,t,i){return n.setNodeImageContent(i[t],e)})).attr("x",(function(e){return n.nodeUtils.getNodeImagePosX(e)})).attr("y",(function(e){return n.nodeUtils.getNodeImagePosY(e)})).attr("width",(function(e){return n.nodeUtils.getNodeImageWidth(e)})).attr("height",(function(e){return n.nodeUtils.getNodeImageHeight(e)})).attr("style",(function(e){return n.getNodeImageStyle(e,"default")})),i.selectChildren(".d3-foreign-object-node-label").data((function(e){return e.layout.labelDisplay?[e]:[]}),(function(e){return e.id})).join((function(e){var t=e.append("foreignObject").attr("class","d3-foreign-object-node-label").call(n.attachNodeLabelListeners.bind(n));return t.append("xhtml:div").append("xhtml:span").call(n.attachNodeLabelSpanListeners.bind(n)),t})).datum((function(e){return n.activePipeline.getNode(e.id)})).attr("x",(function(e){return n.nodeUtils.getNodeLabelPosX(e)})).attr("y",(function(e){return n.nodeUtils.getNodeLabelPosY(e)})).attr("width",(function(e){return n.nodeUtils.getNodeLabelWidth(e)})).attr("height",(function(e){return n.nodeUtils.getNodeLabelHeight(e)})).select("div").attr("class",(function(e){return n.nodeUtils.getNodeLabelClass(e)})).attr("style",(function(e){return n.getNodeLabelStyle(e,"default")})).select("span").html((function(e){return po(e.label)})),i.selectChildren(".d3-node-ellipsis-group").attr("transform",(function(e){return n.nodeUtils.getNodeEllipsisTranslate(e)})),i.selectChildren(".d3-node-super-expand-icon-group").attr("transform",(function(e){return n.nodeUtils.getNodeExpansionIconTranslate(e)})),e.each((function(e,t,i){var o=Sl.select(i[t]);if(n.displayPorts(o,e),Fe.isSupernode(e)&&n.displaySupernodeContents(e,Sl.select(i[t])),!Fe.isSuperBindingNode(e)){n.addErrorMarker(e,o);var r=Fe.getCombinedDecorations(e.layout.decorations,e.decorations);n.displayDecorations(e,ve,o,r)}})),this.config.enableEditingActions){var o=this.dragObjectUtils.getDragObjectHandler();i.call(o)}else i.on(".drag",null);this.logger.logEndTimer("updateNodes")}},{key:"removeNodes",value:function(e){var t=this;e.selectChildren(".d3-foreign-object-external-node").each((function(e,n,i){return t.externalUtils.removeExternalObject(e,n,i)})),e.remove()}},{key:"displaySupernodeContents",value:function(e,t){var n=this.getRendererForSupernode(e);Fe.isExpanded(e)?n?n.setCanvasInfoRenderer(this.canvasInfo,this.selectionInfo,this.breadcrumbs,this.nodeLayout,this.canvasLayout,this.config):(n=this.createSupernodeRenderer(e,t),this.superRenderers.push(n)):n&&n.hideCanvas(e)}},{key:"displayPorts",value:function(e,t){this.displayInputPorts(e,t),this.displayOutputPorts(e,t)}},{key:"displayInputPorts",value:function(e,t){var n=this,i="."+this.getNodeInputPortClassName(),o=t.inputs||[];o=t.layout.inputPortDisplay?o:[],e.selectChildren(i).data(o,(function(e){return e.id})).join((function(e){return n.createInputPorts(e,t)})).attr("connected",(function(e){return e.isConnected?"yes":"no"})).attr("class",(function(e){return n.getNodeInputPortClassName()+(e.class_name?" "+e.class_name:"")})).call((function(e){return n.updateInputPorts(e,t)}))}},{key:"createInputPorts",value:function(e,t){var n=e.append("g").attr("data-port-id",(function(e){return e.id})).attr("isSupernodeBinding",Fe.isSuperBindingNode(t)?"yes":"no").call(this.attachInputPortListeners.bind(this),t);return n.append(t.layout.inputPortObject).attr("class","d3-node-port-input-main"),this.config.enableAssocLinkCreation||"circle"!==t.layout.inputPortObject||Fe.isSuperBindingNode(t)||n.append("path").attr("class","d3-node-port-input-arrow"),n}},{key:"updateInputPorts",value:function(e,t){var n=this;if(e.selectChildren(".d3-node-port-input-main").datum((function(e){return t.inputs.find((function(t){return e.id===t.id}))})).each((function(e,i,o){var r=Sl.select(o[i]);t.layout.inputPortObject===le?r.attr("xlink:href",t.layout.inputPortImage).attr("x",e.cx-t.layout.inputPortWidth/2).attr("y",e.cy-t.layout.inputPortHeight/2).attr("width",t.layout.inputPortWidth).attr("height",t.layout.inputPortHeight):r.attr("r",n.getPortRadius(t)).attr("cx",e.cx).attr("cy",e.cy)})),e.selectChildren(".d3-node-port-input-arrow").datum((function(e){return t.inputs.find((function(t){return e.id===t.id}))})).each((function(e,i,o){var r=Sl.select(o[i]);t.layout.inputPortObject!==le&&r.attr("d",n.getPortArrowPath(e)).attr("transform",n.getPortArrowPathTransform(e))})),this.config.enableEditingActions){var i=this.dragNewLinkUtils.getDragNewLinkHandler();e.call(i)}else e.on(".drag",null)}},{key:"displayOutputPorts",value:function(e,t){var n=this,i="."+this.getNodeOutputPortClassName(),o=t.outputs||[];o=t.layout.outputPortDisplay?o:[],o=this.config.enableSingleOutputPortDisplay&&o.length>1?[o[o.length-1]]:o,e.selectChildren(i).data(o,(function(e){return e.id})).join((function(e){return n.createOutputPorts(e,t)})).attr("connected",(function(e){return e.isConnected?"yes":"no"})).attr("class",(function(e){return n.getNodeOutputPortClassName()+(e.class_name?" "+e.class_name:"")})).call((function(e){return n.updateOutputPorts(e,t)}))}},{key:"createOutputPorts",value:function(e,t){var n=e.append("g").attr("data-port-id",(function(e){return e.id})).attr("isSupernodeBinding",Fe.isSuperBindingNode(t)?"yes":"no").call(this.attachOutputPortListeners.bind(this),t);return n.append(t.layout.outputPortObject).attr("class","d3-node-port-output-main"),n}},{key:"updateOutputPorts",value:function(e,t){var n=this;if(e.selectChildren(".d3-node-port-output-main").datum((function(e){return t.outputs.find((function(t){return e.id===t.id}))})).each((function(e,i,o){var r=Sl.select(o[i]);t.layout.outputPortObject===le?r.attr("xlink:href",t.layout.outputPortImage).attr("x",e.cx-t.layout.outputPortWidth/2).attr("y",e.cy-t.layout.outputPortHeight/2).attr("width",t.layout.outputPortWidth).attr("height",t.layout.outputPortHeight):r.attr("r",n.getPortRadius(t)).attr("cx",e.cx).attr("cy",e.cy)})),this.config.enableEditingActions){var i=this.dragNewLinkUtils.getDragNewLinkHandler();e.call(i)}else e.on(".drag",null)}},{key:"attachNodeGroupListeners",value:function(e){var t=this;e.on("mouseenter",(function(e,n){if(!t.isDragging()){var i=Sl.select(e.currentTarget);t.raiseNodeToTop(i),t.setNodeStyles(n,"hover",i),t.config.enableContextToolbar?t.addContextToolbar(e,n,"node"):t.addDynamicNodeIcons(e,n,i),t.canOpenTip(O)&&(t.canvasController.closeTip(),t.canvasController.openTip({id:t.getId("node_tip",n.id),type:O,targetObj:e.currentTarget,pipelineId:t.activePipeline.id,node:n}))}})).on("mouseleave",(function(e,n){var i=Sl.select(e.currentTarget);t.setNodeStyles(n,"default",i),t.config.enableContextToolbar?t.removeContextToolbar():t.removeDynamicNodeIcons(e,n,i),t.canvasController.closeTip()})).on("mousedown",(function(e,n){t.logger.logStartTimer("Node Group - mouse down"),e.stopPropagation(),t.svgCanvasTextArea.isEditingText()&&t.svgCanvasTextArea.completeEditing(),t.config.enableDragWithoutSelect||t.selectObjectD3Event(e,n,"node"),t.logger.logEndTimer("Node Group - mouse down")})).on("mousemove",(function(e,t){})).on("click",(function(e,n){t.logger.log("Node Group - click"),e.stopPropagation()})).on("dblclick",(function(e,n){t.logger.log("Node Group - double click"),Fe.stopPropagationAndPreventDefault(e),t.canvasController.clickActionHandler({clickType:"DOUBLE_CLICK",objectType:"node",id:n.id,selectedObjectIds:t.activePipeline.getSelectedObjectIds(),pipelineId:t.activePipeline.id})})).on("contextmenu",(function(e,n){t.logger.log("Node Group - context menu"),Fe.stopPropagationAndPreventDefault(e),Fe.isSuperBindingNode(n)||(t.config.enableDragWithoutSelect&&t.selectObjectD3Event(e,n,"node"),t.openContextMenu(e,"node",n))}))}},{key:"attachNodeSizingListeners",value:function(e){var t=this;e.on("mousedown",(function(e,n){t.dragObjectUtils.mouseDownNodeSizingArea(n)})).on("mousemove mouseenter",(function(e,n){t.dragObjectUtils.mouseEnterNodeSizingArea(e,n)})).on("mouseleave",(function(e,n){t.dragObjectUtils.mouseLeaveNodeSizingArea(e,n)}))}},{key:"attachNodeLabelListeners",value:function(e){var t=this;e.on("mouseenter",(function(e,n){var i=Sl.select(e.currentTarget);if(t.config.enableDisplayFullLabelOnHover&&!Fe.isExpandedSupernode(n)){var o=i.selectAll("span");i.attr("x",t.nodeUtils.getNodeLabelHoverPosX(n)).attr("width",t.nodeUtils.getNodeLabelHoverWidth(n)).attr("height",t.nodeUtils.getNodeLabelHoverHeight(n,o.node(),t.zoomUtils.getZoomScale())),o.classed("d3-label-full",!0)}})).on("mouseleave",(function(e,n){var i=Sl.select(e.currentTarget);t.config.enableDisplayFullLabelOnHover&&!Fe.isExpandedSupernode(n)&&(i.attr("x",t.nodeUtils.getNodeLabelPosX(n)).attr("width",t.nodeUtils.getNodeLabelWidth(n)).attr("height",t.nodeUtils.getNodeLabelHeight(n)),i.selectAll("span").classed("d3-label-full",!1))})).on("dblclick",(function(e,n){t.logger.log("Node Label - double click"),n.layout.labelEditable&&t.config.enableEditingActions&&(Fe.stopPropagationAndPreventDefault(e),t.displayNodeLabelTextArea(n,e.currentTarget.parentNode))}))}},{key:"attachNodeLabelSpanListeners",value:function(e){var t=this;e.on("mouseenter",(function(e,n){n.layout.labelEditable&&t.config.enableEditingActions&&t.displayNodeLabelEditIcon(e.currentTarget,n)})).on("mouseleave",(function(e,n){n.layout.labelEditable&&t.config.enableEditingActions&&(t.hideEditIconPending=setTimeout(t.hideEditIcon.bind(t),500,e.currentTarget,n))}))}},{key:"attachInputPortListeners",value:function(e,t){var n=this;e.on("mouseenter",(function(e,i){Fe.stopPropagationAndPreventDefault(e),n.canOpenTip(I)&&(n.canvasController.closeTip(),n.canvasController.openTip({id:n.getId("node_port_tip",i.id),type:I,targetObj:e.currentTarget,pipelineId:n.activePipeline.id,node:t,port:i}))})).on("mouseleave",(function(){n.canvasController.closeTip()})).on("contextmenu",(function(e,i){n.logger.log("Input Port Circle - context menu"),Fe.stopPropagationAndPreventDefault(e),n.config.enableDragWithoutSelect&&n.selectObjectD3Event(e,t,"node"),n.openContextMenu(e,"input_port",t,i)}))}},{key:"attachOutputPortListeners",value:function(e,t){var n=this;e.on("mouseenter",(function(e,i){Fe.stopPropagationAndPreventDefault(e),n.canOpenTip(I)&&(n.canvasController.closeTip(),n.canvasController.openTip({id:n.getId("node_port_tip",i.id),type:I,targetObj:e.currentTarget,pipelineId:n.activePipeline.id,node:t,port:i}))})).on("mouseleave",(function(){n.canvasController.closeTip()})).on("contextmenu",(function(e,i){n.logger.log("Output Port Circle - context menu"),Fe.stopPropagationAndPreventDefault(e),n.config.enableDragWithoutSelect&&n.selectObjectD3Event(e,t,"node"),n.openContextMenu(e,"output_port",t,i)}))}},{key:"setUnavailableTargetNodesHighlighting",value:function(e,t,n){this.getAllNodeGroupsSelection().filter((function(i){return!Fe.isTrgNodeAvailable(i,e,t,n)})).classed("d3-node-unavailable",!0)}},{key:"setUnavailableSourceNodesHighlighting",value:function(e,t,n){this.getAllNodeGroupsSelection().filter((function(i){return!Fe.isSrcNodeAvailable(i,e,t,n)})).classed("d3-node-unavailable",!0)}},{key:"unsetUnavailableNodesHighlighting",value:function(){this.getAllNodeGroupsSelection().classed("d3-node-unavailable",!1)}},{key:"displayNodeLabelEditIcon",value:function(e,t){var n=this,i=e.parentElement.parentElement.parentElement,o=Sl.select(i),r=this.nodeUtils.getNodeLabelEditIconTranslate(t,e,this.zoomUtils.getZoomScale(),this.config.enableDisplayFullLabelOnHover);this.displayEditIcon(e,o,r,(function(e,t){return n.displayNodeLabelTextArea(t,e.currentTarget.parentNode)}))}},{key:"displayDecLabelEditIcon",value:function(e,t,n,i){var o=this,r=e.parentElement.parentElement.parentElement,a=Sl.select(r),s=this.decUtils.getDecLabelEditIconTranslate(t,n,i,e,this.zoomUtils.getZoomScale());this.displayEditIcon(e,a,s,(function(e,r){return o.displayDecLabelTextArea(t,n,i,e.currentTarget.parentNode)}))}},{key:"displayEditIcon",value:function(e,t,n,i){var o=this,r=t.append("g").attr("class","d3-label-edit-icon-group").attr("transform",n).on("mouseenter",(function(e,t){o.mouseOverLabelEditIcon=!0})).on("mouseleave",(function(e,t){o.mouseOverLabelEditIcon=!1,o.hideEditIcon(this)})).on("click",(function(e,t){i(e,t),o.mouseOverLabelEditIcon=!1,o.hideEditIcon(this)}));r.append("rect").attr("class","d3-label-edit-icon-background1").attr("width",29).attr("height",24).attr("x",0).attr("y",-4),r.append("rect").attr("class","d3-label-edit-icon-background2").attr("width",24).attr("height",24).attr("x",5).attr("y",-4),r.append("svg").attr("class","d3-node-edit-label-icon").html(ye).attr("width",16).attr("height",16).attr("x",9).attr("y",0)}},{key:"hideEditIcon",value:function(e){if(!this.mouseOverLabelEditIcon){var t=e.parentElement.parentElement.parentElement;Sl.select(t).selectAll(".d3-label-edit-icon-group").remove()}}},{key:"selectObjectD3Event",value:function(e,t,n){this.selectObject(t,e.type,e.shiftKey,Fe.isCmndCtrlPressed(e)),this.recreateContextToolbar(e,t,n)}},{key:"selectObjectSourceEvent",value:function(e,t){this.selectObject(t,e.type,e.sourceEvent.shiftKey,Fe.isCmndCtrlPressed(e.sourceEvent))}},{key:"selectObject",value:function(e,t,n,i){this.canvasController.selectObject(e.id,n,i,this.activePipeline.id);var o=this.activePipeline.getObjectTypeName(e);"node"!==o&&"link"!==o||(this.canvasController.clickActionHandler({clickType:"contextmenu"===t||this.ellipsisClicked?"SINGLE_CLICK_CONTEXTMENU":"SINGLE_CLICK",objectType:o,id:e.id,selectedObjectIds:this.activePipeline.getSelectedObjectIds(),pipelineId:this.activePipeline.id}),this.ellipsisClicked=!1)}},{key:"displayDecorations",value:function(e,t,n,i){var o=this,r=this,a=i||[],s="d3-".concat(t,"-dec-group"),l="."+s;n.selectChildren(l).data(a,(function(e){return e.id})).join((function(e){return o.createDecorations(e,t,s)})).attr("transform",(function(n){return o.decUtils.getDecTransform(n,e,t)})).on("mousedown",(function(t,n){return n.hotspot&&0===t.button?r.callDecoratorCallback(t,e,n):null})).each((function(n,i,r){return o.updateDecoration(n,Sl.select(r[i]),t,e)}))}},{key:"createDecorations",value:function(e,t,n){var i=this;return e.append("g").attr("data-id",(function(e){return i.getId("".concat(t,"_dec_group"),e.id)})).attr("class",n).call(this.attachDecGroupListeners.bind(this))}},{key:"updateDecoration",value:function(e,t,n,i){this.updateDecOutlines(e,t,n,i),this.updateDecPaths(e,t,n),this.updateDecImages(e,t,n,i),this.updateDecLabels(e,t,n,i),this.updateDecJsxObjs(e,t,n,i)}},{key:"updateDecOutlines",value:function(e,t,n,i){var o=t.selectChild("rect");e.label||e.path||e.jsx||!1===e.outline?o.remove():(o=o.empty()?t.append("rect"):o).attr("class",this.decUtils.getDecClass(e,"d3-".concat(n,"-dec-outline"))).attr("x",0).attr("y",0).attr("width",this.decUtils.getDecWidth(e,i,n)).attr("height",this.decUtils.getDecHeight(e,i,n)).lower()}},{key:"updateDecPaths",value:function(e,t,n){var i=t.selectChild("path");e.path?(i=i.empty()?t.append("path"):i).attr("class",this.decUtils.getDecClass(e,"d3-".concat(n,"-dec-path"))).attr("x",0).attr("y",0).attr("d",e.path):i.remove()}},{key:"updateDecImages",value:function(e,t,n,i){var o=this,r=t.selectChild("g");if(e.image){var a=this.getImageType(e.image);(r=r.empty()?t.append("g").append(a):r.select(a)).attr("class",this.decUtils.getDecClass(e,"d3-".concat(n,"-dec-image"))).attr("x",this.decUtils.getDecPadding(e,i,n)).attr("y",this.decUtils.getDecPadding(e,i,n)).attr("width",this.decUtils.getDecWidth(e,i,n)-2*this.decUtils.getDecPadding(e,i,n)).attr("height",this.decUtils.getDecHeight(e,i,n)-2*this.decUtils.getDecPadding(e,i,n)).each((function(){return o.setImageContent(r,e.image)}))}else r.remove()}},{key:"updateDecLabels",value:function(e,t,n,i){var o=t.selectChild(".d3-foreign-object-dec-label");e.label?(o.empty()&&(o=t.append("foreignObject").attr("class","d3-foreign-object-dec-label").attr("x",0).attr("y",0).call(this.attachDecLabelListeners.bind(this,i,n))).append("xhtml:div").append("xhtml:span").call(this.attachDecLabelSpanListeners.bind(this,i,n)),o.attr("width",this.decUtils.getDecLabelWidth(e,i,n)).attr("height",this.decUtils.getDecLabelHeight(e,i,n)).select("div").attr("class",this.decUtils.getDecLabelClass(e,n)).select("span").html(po(e.label))):o.remove()}},{key:"updateDecJsxObjs",value:function(e,t,n,i){var o=this,r=t.selectChild(".d3-foreign-object-dec-jsx");e.jsx?(r.empty()&&(r=t.append("foreignObject").attr("class","d3-foreign-object-dec-jsx").attr("tabindex",-1).attr("x",0).attr("y",0).call(this.attachDecLabelListeners.bind(this,i,n))),r.attr("width",this.decUtils.getDecWidth(e,i,n)).attr("height",this.decUtils.getDecHeight(e,i,n)).each((function(e,t,n){return o.externalUtils.addDecExternalObject(e,t,n)}))):(r.each((function(e,t,n){return o.externalUtils.removeExternalObject(e,t,n)})),r.remove())}},{key:"attachDecLabelListeners",value:function(e,t,n){var i=this;n.on("dblclick",(function(n,o){i.logger.log("Decoration Label - double click"),o.label_editable&&i.config.enableEditingActions&&(Fe.stopPropagationAndPreventDefault(n),i.displayDecLabelTextArea(o,e,t,n.currentTarget.parentNode))}))}},{key:"attachDecLabelSpanListeners",value:function(e,t,n){var i=this;n.on("mouseenter",(function(n,o){o.label_editable&&i.config.enableEditingActions&&i.displayDecLabelEditIcon(n.currentTarget,o,e,t)})).on("mouseleave",(function(e,t){t.label_editable&&i.config.enableEditingActions&&(i.hideEditIconPending=setTimeout(i.hideEditIcon.bind(i),500,e.currentTarget,t))}))}},{key:"attachDecGroupListeners",value:function(e){var t=this;e.on("mouseenter",(function(e,n){t.canOpenTip(E)&&(t.canvasController.closeTip(),t.canvasController.openTip({id:t.getId("dec_tip",n.id),type:E,targetObj:e.currentTarget,pipelineId:t.activePipeline.id,decoration:n}))})).on("mouseleave",(function(e,n){t.canvasController.closeTip()}))}},{key:"addErrorMarker",value:function(e,t){var n=this,i=t.selectChildren(".node-error-marker");e.messages&&e.messages.length>0?(i.empty()&&t.append("svg").attr("class","node-error-marker"),t.selectChildren(".node-error-marker").attr("class",(function(){return"node-error-marker "+n.nodeUtils.getErrorMarkerClass(e.messages)})).html(this.nodeUtils.getErrorMarkerIcon(e)).attr("width",this.nodeUtils.getNodeErrorWidth(e)).attr("height",this.nodeUtils.getNodeErrorHeight(e)).attr("x",this.nodeUtils.getNodeErrorPosX(e)).attr("y",this.nodeUtils.getNodeErrorPosY(e))):i.empty()||i.remove()}},{key:"getNodeInputPortClassName",value:function(){return this.config.enableAssocLinkCreation?"d3-node-port-input-assoc":"d3-node-port-input"}},{key:"getNodeOutputPortClassName",value:function(){return this.config.enableAssocLinkCreation?"d3-node-port-output-assoc":"d3-node-port-output"}},{key:"setNodeImageContent",value:function(e,t){var n=this.getNodeImage(t),i=Sl.select(e);this.setImageContent(i,n)}},{key:"setImageContent",value:function(e,t){if(t!==e.attr("data-image")){var n=this.getImageType(t);e.attr("data-image",t),"svg"===n?"LoadSVGToDefs"===this.config.enableImageDisplay?this.loadSVGToDefs(e,t):(e.selectChild("svg").remove(),Sl.svg(t,{cache:"force-cache"}).then((function(t){e.node().append(t.documentElement)}))):e.attr("xlink:href",t)}}},{key:"loadSVGToDefs",value:function(e,t){var n=this,i="img"+t.replaceAll(/[/.]/g,"-"),o="#"+i;this.canvasDefs.selectChildren(o).empty()&&(this.canvasDefs.append("symbol").attr("id",i),Sl.svg(t,{cache:"force-cache"}).then((function(e){n.canvasDefs.selectChildren(o).node().append(e.documentElement)}))),e.selectChild("use").remove(),e.append("use").attr("href",o)}},{key:"getNodeImage",value:function(e){if(!e.image)return null;if(e.image===x){if(Fe.isSupernode(e))return Nt}else if(e.image===P&&Fe.isSupernode(e))return Tt;return e.image}},{key:"getImageType",value:function(e){return e&&e.endsWith(".svg")&&"SVGAsImage"!==this.config.enableImageDisplay?"svg":"image"}},{key:"getImageElement",value:function(e){var t=this.getNodeImage(e);return"image"===this.getImageType(t)?Sl.create("svg:image").node():Sl.create("svg").node()}},{key:"setNodeStyles",value:function(e,t,n){this.setNodeBodyStyles(e,t,n),this.setNodeSelectionOutlineStyles(e,t,n),this.setNodeImageStyles(e,t,n),this.setNodeLabelStyles(e,t,n)}},{key:"setNodeBodyStyles",value:function(e,t,n){var i=this.getNodeBodyStyle(e,t);n.selectChildren(".d3-node-body-outline").attr("style",i)}},{key:"setNodeSelectionOutlineStyles",value:function(e,t,n){var i=this.getNodeSelectionOutlineStyle(e,t);n.selectChildren(".d3-node-selection-highlight").attr("style",i)}},{key:"setNodeImageStyles",value:function(e,t,n){var i=this.getNodeImageStyle(e,t);n.selectChildren(".d3-node-image").attr("style",i)}},{key:"setNodeLabelStyles",value:function(e,t,n){var i=this.getNodeLabelStyle(e,t);n.selectChildren(".d3-node-label").attr("style",i)}},{key:"getNodeBodyStyle",value:function(e,t){var n=Fe.getObjectStyle(e,"body",t);return null===n&&e.layout.dropShadow&&(n="filter:url(".concat(this.getId("#node_drop_shadow"),")")),n}},{key:"getNodeSelectionOutlineStyle",value:function(e,t){return Fe.getObjectStyle(e,"selection_outline",t)}},{key:"getNodeImageStyle",value:function(e,t){return Fe.getObjectStyle(e,"image",t)}},{key:"getNodeLabelStyle",value:function(e,t){return Fe.getObjectStyle(e,"label",t)}},{key:"getNodeGrpStyle",value:function(e){return e.style_temp||e.style||!this.canvasInfo.subdueStyle||this.doesExpandedSupernodeHaveStyledNodes(e)?null:this.canvasInfo.subdueStyle}},{key:"getLinkGrpStyle",value:function(e){return e.style_temp||e.style||!this.canvasInfo.subdueStyle?null:this.canvasInfo.subdueStyle}},{key:"doesExpandedSupernodeHaveStyledNodes",value:function(e){var t=this,n=!1;Fe.isExpandedSupernode(e)&&e.subflow_ref&&e.subflow_ref.pipeline_id_ref&&new wl(e.subflow_ref.pipeline_id_ref,this.canvasInfo).nodes.forEach((function(e){e.style||e.style_temp?n=!0:!n&&Fe.isExpandedSupernode(e)&&(n=t.doesExpandedSupernodeHaveStyledNodes(e))}));return n}},{key:"getPortRadius",value:function(e){return Fe.isSuperBindingNode(e)?this.getBindingPortRadius():e.layout.portRadius}},{key:"getBindingPortRadius",value:function(){return this.canvasLayout.supernodeBindingPortRadius/this.zoomUtils.getZoomScale()}},{key:"addDynamicNodeIcons",value:function(e,t,n){this.isSizing()||Fe.isSuperBindingNode(t)||(t.layout.ellipsisDisplay&&this.addEllipsisIcon(t,n),Fe.isExpandedSupernode(t)&&this.addSuperNodeFullPageIcon(n))}},{key:"getContextToolbarPos",value:function(e,t){return"link"===e?t.pathInfo.centerPoint:"node"!==e||"topCenter"!==t.layout.contextToolbarPosition||t.is_expanded?{x:t.x_pos+t.width,y:t.y_pos}:{x:t.x_pos+t.width/2,y:t.y_pos}}},{key:"addContextToolbar",value:function(e,t,n){if(!(this.isSizing()||this.isDragging()||this.svgCanvasTextArea.isEditingText()||Fe.isSuperBindingNode(t))){this.canvasController.setMouseInObject(!0);var i=this.getContextToolbarPos(n,t);i=this.zoomUtils.unTransformPos(i),this.openContextMenu(e,n,t,null,i)}}},{key:"removeContextToolbar",value:function(){var e=this;this.canvasController.setMouseInObject(!1),this.canvasController.isContextMenuDisplayed()&&setTimeout((function(){return e.canvasController.closeContextToolbar()}),200)}},{key:"recreateContextToolbar",value:function(e,t,n){this.config.enableContextToolbar&&(this.removeContextToolbar(),this.addContextToolbar(e,t,n))}},{key:"addEllipsisIcon",value:function(e,t){var n=this,i=t.append("g").attr("class","d3-node-ellipsis-group").attr("transform",(function(e){return n.nodeUtils.getNodeEllipsisTranslate(e)})).on("mousedown",(function(t){if(Fe.stopPropagationAndPreventDefault(t),n.ellipsisClicked=!0,n.selectObjectD3Event(t,e,"node"),n.canvasController.isContextMenuDisplayed())n.canvasController.closeContextMenu();else{var o=i.node().getBoundingClientRect(),r=n.canvasSVG.node().getBoundingClientRect(),a={x:o.left-r.left,y:o.bottom-r.top};n.openContextMenu(t,"node",e,null,a)}}));i.append("rect").attr("class","d3-node-ellipsis-background").attr("width",(function(e){return n.nodeUtils.getNodeEllipsisWidth(e)})).attr("height",(function(e){return n.nodeUtils.getNodeEllipsisHeight(e)})).attr("x",0).attr("y",0),i.append("svg").attr("class","d3-node-ellipsis").html(me).attr("width",(function(e){return n.nodeUtils.getNodeEllipsisIconWidth(e)})).attr("height",(function(e){return n.nodeUtils.getNodeEllipsisIconHeight(e)})).attr("x",(function(e){return e.layout.ellipsisHoverAreaPadding})).attr("y",(function(e){return e.layout.ellipsisHoverAreaPadding}))}},{key:"addSuperNodeFullPageIcon",value:function(e){var t=this,n=e.append("g").attr("transform",(function(e){return t.nodeUtils.getNodeExpansionIconTranslate(e)})).attr("class","d3-node-super-expand-icon-group").on("mousedown",(function(e){Fe.stopPropagationAndPreventDefault(e);var n=t.getSupernodeBreadcrumbs(e.currentTarget);t.canvasController.displaySubPipelineForBreadcrumbs(n)})).on("mouseenter",(function(){Sl.select(this).attr("data-pointer-hover","yes")})).on("mouseleave",(function(){Sl.select(this).attr("data-pointer-hover","no")}));n.append("rect").attr("class","d3-node-super-expand-icon-background").attr("width",this.canvasLayout.supernodeExpansionIconWidth).attr("height",this.canvasLayout.supernodeExpansionIconHeight).attr("x",0).attr("y",0),n.append("svg").attr("class","d3-node-super-expand-icon").html(be).attr("width",this.canvasLayout.supernodeExpansionIconWidth-2*this.canvasLayout.supernodeExpansionIconHoverAreaPadding).attr("height",this.canvasLayout.supernodeExpansionIconHeight-2*this.canvasLayout.supernodeExpansionIconHoverAreaPadding).attr("x",this.canvasLayout.supernodeExpansionIconHoverAreaPadding).attr("y",this.canvasLayout.supernodeExpansionIconHoverAreaPadding)}},{key:"getSupernodeBreadcrumbs",value:function(e){for(var t=[],n=e.closest(".d3-node-group");n;){var i=n.closest(".svg-area"),o=this.getD3DatumFromDomEl(n),r=i.getAttribute("data-pipeline-id");t.push(this.canvasController.createBreadcrumb(o,r)),n=i.closest(".d3-node-group")}return t.reverse()}},{key:"getD3DatumFromDomEl",value:function(e){var t=Sl.select(e);return t?t.datum():null}},{key:"updatePortRadiusAndPos",value:function(e,t,n){var i=this;Sl.select(e).selectAll("."+n).attr("r",(function(){return i.getPortRadius(t)})).attr("cx",(function(e){return e.cx})).attr("cy",(function(e){return e.cy}))}},{key:"updatePortArrowPath",value:function(e,t){var n=this;Sl.select(e).selectAll("."+t).attr("d",(function(e){return n.getPortArrowPath(e)})).attr("transform",(function(e){return n.getPortArrowPathTransform(e)}))}},{key:"isPortMaxCardinalityZero",value:function(e){return 0===h(e,"app_data.ui_data.cardinality.max",1)}},{key:"isMouseOverContextToolbar",value:function(e){return this.getElementWithClassAtMousePos(e,"context-toolbar")}},{key:"removeDynamicNodeIcons",value:function(e,t,n){t.layout.ellipsisDisplay&&n.selectChildren(".d3-node-ellipsis-group").remove(),n.selectChildren(".d3-node-super-expand-icon-group").remove()}},{key:"createSupernodeRenderer",value:function(e,t){return e.subflow_ref&&e.subflow_ref.pipeline_id_ref?new n(e.subflow_ref.pipeline_id_ref,this.canvasDiv,this.canvasController,this.canvasInfo,this.selectionInfo,this.breadcrumbs,this.nodeLayout,this.canvasLayout,this.config,{id:e.id,pipelineId:this.activePipeline.id,renderer:this,d3Selection:t}):null}},{key:"getRendererForSupernode",value:function(e){return this.superRenderers.find((function(t){return t.supernodeInfo.id===e.id&&t.activePipeline.id===e.subflow_ref.pipeline_id_ref}))}},{key:"getDiscardedRenderersForSupernode",value:function(e){return this.superRenderers.filter((function(t){return t.supernodeInfo.id===e.id&&t.activePipeline.id!==e.subflow_ref.pipeline_id_ref}))}},{key:"openContextMenu",value:function(e,t,n,i,o){Fe.stopPropagationAndPreventDefault(e),this.canvasController.contextMenuHandler({type:t,targetObject:"canvas"===t?null:n,id:"canvas"===t?null:n.id,pipelineId:this.activePipeline.id,cmPos:o||this.getMousePos(e,this.canvasDiv.selectAll("svg")),mousePos:this.getMousePosSnapToGrid(this.getTransformedMousePos(e)),selectedObjectIds:this.canvasController.getSelectedObjectIds(),addBreadcrumbs:n&&n.type===ke?this.getSupernodeBreadcrumbs(e.currentTarget):null,port:i,zoom:this.zoomUtils.getZoomScale()})}},{key:"closeContextMenuIfOpen",value:function(){this.canvasController.isContextMenuDisplayed()&&this.canvasController.closeContextMenu(),this.config.enableContextToolbar&&this.removeContextToolbar()}},{key:"callDecoratorCallback",value:function(e,t,n){e.stopPropagation(),this.canvasController.decorationActionHandler&&this.canvasController.decorationActionHandler(t,n.id,this.activePipeline.id)}},{key:"getLinkImageTransform",value:function(e){var t=0;if(this.canvasLayout.linkType===X){var n=e.x2-(e.originX||e.x1),i=e.y2-(e.originY||e.y1);return 0===n&&0===i?t=0:(t=Math.atan(i/n)*(180/Math.PI),t=n>=0?t:t+180,this.canvasLayout.linkDirection===$?t-=90:this.canvasLayout.linkDirection===J&&(t+=90)),"rotate(".concat(t,",").concat(e.x2,",").concat(e.y2,")")}return null}},{key:"getLinkAtMousePos",value:function(e,t){var n=this.getElementWithClassAtPosition(e,t,"d3-data-link");return this.getNodeLinkForElement(n)}},{key:"getNodeLinkForElement",value:function(e){if(e){var t=Sl.select(e).datum();if(t){var n=this.activePipeline.getLink(t.id);if(n&&n.type===U)return n}}return null}},{key:"setDataLinkSelectionAreaWider",value:function(e){this.nodesLinksGrp.selectAll(".d3-data-link-selection-area").classed("d3-extra-width",e)}},{key:"getNodeAtMousePos",value:function(e){var t=this.getElementWithClassAtMousePos(e,"d3-node-group");return this.getNodeForElement(t)}},{key:"getInputNodePortId",value:function(e,t){var n=this.getInputNodePortIdAtMousePos(e);return n||(n=Fe.getDefaultInputPortId(t)),n}},{key:"getInputNodePortIdAtMousePos",value:function(e){var t=this.getElementWithClassAtMousePos(e,this.getNodeInputPortClassName());return this.getNodePortIdForElement(t)}},{key:"getOutputNodePortId",value:function(e,t){var n=this.getOutputNodePortIdAtMousePos(e);return n||(n=Fe.getDefaultOutputPortId(t)),n}},{key:"getOutputNodePortIdAtMousePos",value:function(e){var t=this.getElementWithClassAtMousePos(e,this.getNodeOutputPortClassName());return this.getNodePortIdForElement(t)}},{key:"getElementWithClassAtMousePos",value:function(e,t){var n=e.clientX?e.clientX:e.sourceEvent.clientX,i=e.clientY?e.clientY:e.sourceEvent.clientY;return this.getElementWithClassAtPosition(n,i,t)}},{key:"getElementWithClassAtPosition",value:function(e,t,n){for(var i=document.elementsFromPoint(e,t),o=null,r=0;!o&&r<i.length;)o=Fe.getParentElementWithClass(i[r],n),r++;return o}},{key:"getNodeForElement",value:function(e){if(e&&"g"===e.nodeName){var t=Sl.select(e).datum();if(t)return this.activePipeline.getNode(t.id)}return null}},{key:"getNodePortIdForElement",value:function(e){return e?Sl.select(e).attr("data-port-id"):null}},{key:"getNodeNearMousePos",value:function(e,t){var n=this,i=this.getTransformedMousePos(e),o=null,r=t||0;return this.getAllNodeGroupsSelection().each((function(e){var t=e.layout.portRadius;Fe.isSuperBindingNode(e)&&(t=n.canvasLayout.supernodeBindingPortRadius/n.zoomUtils.getZoomScale()),i.x>=e.x_pos-t-r&&i.x<=e.x_pos+e.width+t+r&&i.y>=e.y_pos-r&&i.y<=e.y_pos+e.height+r&&(o=e)})),o}},{key:"getNodeShapePathSizing",value:function(e){return this.getRectangleNodeShapePath(e,e.layout.nodeSizingArea)}},{key:"getNodeSelectionOutline",value:function(e){return e.layout.selectionPath&&!Fe.isExpanded(e)?"function"==typeof e.layout.selectionPath?e.layout.selectionPath(e):e.layout.selectionPath:"port-arcs"===e.layout.nodeShape?this.getPortArcsNodeShapePath(e):this.getRectangleNodeShapePath(e,e.layout.nodeHighlightGap)}},{key:"getNodeShapePath",value:function(e){return e.layout.bodyPath&&!Fe.isExpanded(e)?"function"==typeof e.layout.bodyPath?e.layout.bodyPath(e):e.layout.bodyPath:"port-arcs"===e.layout.nodeShape?this.getPortArcsNodeShapePath(e):this.getRectangleNodeShapePath(e)}},{key:"getRectangleNodeShapePath",value:function(e,t){var n=t||0,i=0-n,o=0-n,r=e.width+n,a=e.height+n,s="M "+i+" "+o+" L "+r+" "+o;return s+=" L "+r+" "+a,s+=" L "+i+" "+a,s+=" Z"}},{key:"getPortArcsNodeShapePath",value:function(e){return this.canvasLayout.linkDirection===$?this.getPortArcsNodeShapePathVertical(e,e.inputs,e.inputPortsWidth,e.outputs,e.outputPortsWidth):this.canvasLayout.linkDirection===J?this.getPortArcsNodeShapePathVertical(e,e.outputs,e.outputPortsWidth,e.inputs,e.inputPortsWidth):this.getPortArcsNodeShapePathLeftRight(e)}},{key:"getPortArcsNodeShapePathLeftRight",value:function(e){var t="M 0 0 L "+e.width+" 0 ";if(e.outputs&&e.outputs.length>0){var n=e.layout.portArcOffset;e.outputPortsHeight<e.height&&(n=e.outputs[0].cy-e.layout.portArcRadius),t+=" L "+e.width+" "+n,e.outputs.forEach((function(i,o){n+=2*e.layout.portArcRadius,t+=" A "+e.layout.portArcRadius+" "+e.layout.portArcRadius+" 180 0 1 "+e.width+" "+n,o<e.outputs.length-1&&(n+=e.layout.portArcSpacing,t+=" L "+e.width+" "+n)})),t+=" L "+e.width+" "+e.height}else t+=" L "+e.width+" "+e.height;if(t+=" L 0 "+e.height,e.inputs&&e.inputs.length>0){var i=e.height-e.layout.portArcOffset;e.inputPortsHeight<e.height&&(i=e.inputs[e.inputs.length-1].cy+e.layout.portArcRadius),t+=" L 0 "+i,e.inputs.forEach((function(n,o){i-=2*e.layout.portArcRadius,t+=" A "+e.layout.portArcRadius+" "+e.layout.portArcRadius+" 180 0 1 0 "+i,o<e.inputs.length-1&&(i-=e.layout.portArcSpacing,t+=" L 0 "+i)})),t+=" Z"}else t+=" Z";return t}},{key:"getPortArcsNodeShapePathVertical",value:function(e,t,n,i,o){var r="M 0 0 L 0 "+e.height;if(i&&i.length>0){var a=e.layout.portArcOffset;o<e.width&&(a=i[0].cx-e.layout.portArcRadius),r+=" L "+a+" "+e.height,i.forEach((function(t,n){a+=2*e.layout.portArcRadius,r+=" A "+e.layout.portArcRadius+" "+e.layout.portArcRadius+" 180 0 0 "+a+" "+e.height,n<i.length-1&&(a+=e.layout.portArcSpacing,r+=" L "+a+" "+e.height)})),r+=" L "+e.width+" "+e.height}else r+=" L "+e.width+" "+e.height;if(r+=" L "+e.width+" 0 ",t&&t.length>0){var s=e.width-e.layout.portArcOffset;n<e.width&&(s=t[t.length-1].cx+e.layout.portArcRadius),r+=" L "+s+" 0 ",t.forEach((function(n,i){s-=2*e.layout.portArcRadius,r+=" A "+e.layout.portArcRadius+" "+e.layout.portArcRadius+" 180 0 0 "+s+" 0 ",i<t.length-1&&(s-=e.layout.portArcSpacing,r+=" L "+s+" 0 ")})),r+=" Z"}else r+=" Z";return r}},{key:"setPortPositionsAllNodes",value:function(){var e=this;this.activePipeline.nodes.forEach((function(t){e.setPortPositionsForNode(t)}))}},{key:"setPortPositionsForNode",value:function(e){this.canvasLayout.linkDirection===$?(this.setPortPositionsVertical(e,e.inputs,e.inputPortsWidth,e.layout.inputPortTopPosX,e.layout.inputPortTopPosY),this.setPortPositionsVertical(e,e.outputs,e.outputPortsWidth,e.layout.outputPortBottomPosX,this.getOutputPortBottomPosY(e))):this.canvasLayout.linkDirection===J?(this.setPortPositionsVertical(e,e.inputs,e.inputPortsWidth,e.layout.inputPortBottomPosX,this.getInputPortBottomPosY(e)),this.setPortPositionsVertical(e,e.outputs,e.outputPortsWidth,e.layout.outputPortTopPosX,e.layout.outputPortTopPosY)):(this.setPortPositionsLeftRight(e,e.inputs,e.inputPortsHeight,e.layout.inputPortLeftPosX,e.layout.inputPortLeftPosY),this.setPortPositionsLeftRight(e,e.outputs,e.outputPortsHeight,this.nodeUtils.getNodeOutputPortRightPosX(e),this.nodeUtils.getNodeOutputPortRightPosY(e),this.config.enableSingleOutputPortDisplay))}},{key:"getOutputPortBottomPosY",value:function(e){return e.height+e.layout.outputPortBottomPosY}},{key:"getInputPortBottomPosY",value:function(e){return e.height+e.layout.inputPortBottomPosY}},{key:"setPortPositionsVertical",value:function(e,t,n,i,o){if(t&&t.length>0)if(e.width<=e.layout.defaultNodeWidth&&1===t.length)t[0].cx=i,t[0].cy=o;else{var r=0;if(Fe.isExpandedSupernode(e)){var a=e.width-2*this.canvasLayout.supernodeSVGAreaPadding-n;r=2*this.canvasLayout.supernodeSVGAreaPadding+a/2}else n<e.width&&(r=(e.width-n)/2);r+=e.layout.portArcOffset;var s=1;Fe.isSuperBindingNode(e)&&(s=1/this.zoomUtils.getZoomScale()),t.forEach((function(t){r+=e.layout.portArcRadius*s,t.cx=r,t.cy=o,r+=(e.layout.portArcRadius+e.layout.portArcSpacing)*s}))}}},{key:"setPortPositionsLeftRight",value:function(e,t,n,i,o){var r=arguments.length>5&&void 0!==arguments[5]&&arguments[5];t&&t.length>0&&(e.height<=e.layout.defaultNodeHeight&&1===t.length?(t[0].cx=i,t[0].cy=o):r?this.setPortPositionsLeftRightSinglePort(e,t,i,o):this.setPortPositionsLeftRightAllPorts(e,t,n,i,o))}},{key:"setPortPositionsLeftRightAllPorts",value:function(e,t,n,i,o){var r=0;if(Fe.isExpandedSupernode(e)){var a=e.height-this.canvasLayout.supernodeTopAreaHeight-this.canvasLayout.supernodeSVGAreaPadding-n;r=this.canvasLayout.supernodeTopAreaHeight+this.canvasLayout.supernodeSVGAreaPadding+a/2}else n<e.height&&(r=(e.height-n)/2);r+=e.layout.portArcOffset;var s=1;Fe.isSuperBindingNode(e)&&(s=1/this.zoomUtils.getZoomScale()),t.forEach((function(t){r+=e.layout.portArcRadius*s,t.cx=i,t.cy=r,r+=(e.layout.portArcRadius+e.layout.portArcSpacing)*s}))}},{key:"setPortPositionsLeftRightSinglePort",value:function(e,t,n,i){var o=0;if(Fe.isExpandedSupernode(e)){var r=e.height-this.canvasLayout.supernodeTopAreaHeight-this.canvasLayout.supernodeSVGAreaPadding;o=this.canvasLayout.supernodeTopAreaHeight+r/2}else o=i;t.forEach((function(e){e.cx=n,e.cy=o}))}},{key:"displayComments",value:function(){this.logger.logStartTimer("displayComments "+this.getFlags());var e=this.getAllCommentGroupsSelection();this.displayCommentsSubset(e,this.activePipeline.comments),this.logger.logEndTimer("displayComments "+this.getFlags())}},{key:"displayMovedComments",value:function(){var e=this;this.logger.logStartTimer("displayMovedComments"),this.getAllCommentGroupsSelection().attr("transform",(function(e){return"translate(".concat(e.x_pos,", ").concat(e.y_pos,")")})).datum((function(t){return e.activePipeline.getComment(t.id)})),this.logger.logEndTimer("displayMovedComments")}},{key:"displayCommentsSelectionStatus",value:function(){var e=this;this.logger.logStartTimer("displayCommentsSelectionStatus"),this.getAllCommentGroupsSelection().selectChildren(".d3-comment-selection-highlight").attr("data-selected",(function(t){return e.activePipeline.isSelected(t.id)?"yes":"no"})),this.logger.logEndTimer("displayCommentsSelectionStatus")}},{key:"displaySingleComment",value:function(e){var t=this.getCommentGroupSelectionById(e.id);this.displayCommentsSubset(t,[e])}},{key:"displayCommentsSubset",value:function(e,t){var n=this,i=this.canvasInfo.hideComments?[]:t;e.data(i,(function(e){return e.id})).join((function(e){return n.createComments(e)})).attr("transform",(function(e){return"translate(".concat(e.x_pos,", ").concat(e.y_pos,")")})).attr("class",(function(e){return n.getCommentGroupClass(e)})).call((function(e){return n.updateComments(e)}))}},{key:"createComments",value:function(e){var t=this,n=e.append("g").attr("data-id",(function(e){return t.getId("comment_grp",e.id)})).call(this.attachCommentGroupListeners.bind(this));return n.append("rect").attr("class","d3-comment-sizing").call(this.attachCommentSizingListeners.bind(this)),n.append("rect").attr("class","d3-comment-selection-highlight"),n.append("rect").attr("width",(function(e){return e.width})).attr("height",(function(e){return e.height})).attr("x",0).attr("y",0).attr("class","d3-comment-rect"),n.append("foreignObject").attr("class","d3-foreign-object-comment-text").attr("x",0).attr("y",0).append("xhtml:div").attr("class","d3-comment-text"),n}},{key:"updateComments",value:function(e){var t=this;if(e.attr("transform",(function(e){return"translate(".concat(e.x_pos,", ").concat(e.y_pos,")")})).attr("class",(function(e){return t.getCommentGroupClass(e)})),e.selectChildren(".d3-comment-sizing").datum((function(e){return t.activePipeline.getComment(e.id)})).attr("x",-this.canvasLayout.commentSizingArea).attr("y",-this.canvasLayout.commentSizingArea).attr("height",(function(e){return e.height+2*t.canvasLayout.commentSizingArea})).attr("width",(function(e){return e.width+2*t.canvasLayout.commentSizingArea})).attr("class","d3-comment-sizing"),e.selectChildren(".d3-comment-selection-highlight").datum((function(e){return t.activePipeline.getComment(e.id)})).attr("x",-this.canvasLayout.commentHighlightGap).attr("y",-this.canvasLayout.commentHighlightGap).attr("height",(function(e){return e.height+2*t.canvasLayout.commentHighlightGap})).attr("width",(function(e){return e.width+2*t.canvasLayout.commentHighlightGap})).attr("data-selected",(function(e){return t.activePipeline.isSelected(e.id)?"yes":"no"})).attr("style",(function(e){return t.getNodeSelectionOutlineStyle(e,"default")})),e.selectChildren(".d3-comment-rect").datum((function(e){return t.activePipeline.getComment(e.id)})).attr("height",(function(e){return e.height})).attr("width",(function(e){return e.width})).attr("class","d3-comment-rect").attr("style",(function(e){return t.getCommentBodyStyle(e,"default")})),e.selectChildren(".d3-foreign-object-comment-text").datum((function(e){return t.activePipeline.getComment(e.id)})).attr("width",(function(e){return e.width})).attr("height",(function(e){return e.height})).select("div").attr("style",(function(e){return t.getNodeLabelStyle(e,"default")})).html((function(e){return t.config.enableMarkdownInComments?Nl.render(e.content):po(e.content)})),this.config.enableEditingActions){var n=this.dragObjectUtils.getDragObjectHandler();e.call(n)}else e.on(".drag",null)}},{key:"attachCommentGroupListeners",value:function(e){var t=this;e.on("mouseenter",(function(e,n){t.isDragging()||(t.setCommentStyles(n,"hover",Sl.select(e.currentTarget)),t.config.enableEditingActions&&n.id!==t.svgCanvasTextArea.getEditingTextId()&&t.createCommentPort(e.currentTarget,n),t.config.enableContextToolbar&&t.addContextToolbar(e,n,"comment"))})).on("mouseleave",(function(e,n){t.setCommentStyles(n,"default",Sl.select(e.currentTarget)),t.config.enableContextToolbar&&t.removeContextToolbar(),t.config.enableEditingActions&&t.deleteCommentPort(e.currentTarget)})).on("mousedown",(function(e,n){t.logger.logStartTimer("Comment Group - mouse down"),e.stopPropagation(),t.svgCanvasTextArea.isEditingText()&&t.svgCanvasTextArea.completeEditing(),t.config.enableDragWithoutSelect||t.selectObjectD3Event(e,n,"comment"),t.logger.logEndTimer("Comment Group - mouse down")})).on("click",(function(e,n){t.logger.log("Comment Group - click"),e.stopPropagation()})).on("dblclick",(function(e,n){t.logger.log("Comment Group - double click"),t.config.enableEditingActions&&(Fe.stopPropagationAndPreventDefault(e),t.deleteCommentPort(e.currentTarget),t.displayCommentTextArea(n,e.currentTarget),t.canvasController.clickActionHandler({clickType:"DOUBLE_CLICK",objectType:"comment",id:n.id,selectedObjectIds:t.activePipeline.getSelectedObjectIds(),pipelineId:t.activePipeline.id}))})).on("contextmenu",(function(e,n){t.logger.log("Comment Group - context menu"),t.config.enableDragWithoutSelect&&t.selectObjectD3Event(e,n,"comment"),t.openContextMenu(e,"comment",n)}))}},{key:"attachCommentSizingListeners",value:function(e){var t=this;e.on("mousedown",(function(e,n){t.dragObjectUtils.mouseDownCommentSizingArea()})).on("mousemove mouseenter",(function(e,n){t.dragObjectUtils.mouseEnterCommentSizingArea(e,n)})).on("mouseleave",(function(e,n){t.dragObjectUtils.mouseLeaveCommentSizingArea(e,n)}))}},{key:"createCommentPort",value:function(e,t){var n=this,i=Sl.select(e).append("circle").attr("cx",(function(e){return e.width/2})).attr("cy",(function(e){return e.height+n.canvasLayout.commentHighlightGap})).attr("r",this.canvasLayout.commentPortRadius).attr("class","d3-comment-port-circle");if(this.config.enableEditingActions){var o=this.dragNewLinkUtils.getDragNewLinkHandler();i.call(o)}else i.on(".drag",null)}},{key:"deleteCommentPort",value:function(e){Sl.select(e).selectChildren(".d3-comment-port-circle").remove()}},{key:"setCommentStyles",value:function(e,t,n){this.setCommentSelectionOutlineStyles(e,t,n),this.setCommentBodyStyles(e,t,n),this.setCommentTextStyles(e,t,n)}},{key:"setCommentSelectionOutlineStyles",value:function(e,t,n){var i=this.getCommentSelectionOutlineStyle(e,t);n.selectChildren(".d3-comment-selection-highlight").attr("style",i)}},{key:"setCommentBodyStyles",value:function(e,t,n){var i=this.getCommentBodyStyle(e,t);n.selectChildren(".d3-comment-rect").attr("style",i)}},{key:"setCommentTextStyles",value:function(e,t,n){var i=this.getCommentTextStyle(e,t);n.selectChildren(".d3-foreign-object-comment-text").select("div").attr("style",i)}},{key:"getCommentSelectionOutlineStyle",value:function(e,t){return Fe.getObjectStyle(e,"selection_outline",t)}},{key:"getCommentBodyStyle",value:function(e,t){return Fe.getObjectStyle(e,"body",t)}},{key:"getCommentTextStyle",value:function(e,t){return Fe.getObjectStyle(e,"text",t)}},{key:"displayCommentTextArea",value:function(e,t){this.svgCanvasTextArea.displayCommentTextArea(e,t)}},{key:"displayNodeLabelTextArea",value:function(e,t){this.svgCanvasTextArea.displayNodeLabelTextArea(e,t)}},{key:"displayDecLabelTextArea",value:function(e,t,n,i){this.svgCanvasTextArea.displayDecLabelTextArea(e,t,n,i)}},{key:"addTempCursorOverlay",value:function(e){this.dispUtils.isDisplayingFullPage()&&(this.canvasDiv.selectAll(".d3-temp-cursor-overlay").size()>0&&this.removeTempCursorOverlay(),this.canvasSVG.append("rect").attr("x",0).attr("y",0).attr("width","100%").attr("height","100%").attr("data-pipeline-id",this.activePipeline.id).attr("class","d3-temp-cursor-overlay").attr("pointer-events","all").style("cursor",e))}},{key:"removeTempCursorOverlay",value:function(){this.dispUtils.isDisplayingFullPage()&&this.canvasDiv.selectAll(".d3-temp-cursor-overlay").remove()}},{key:"isRegionSelectOrSizingInProgress",value:function(){return!(!this.regionSelect&&!this.isSizing())||!(!this.supernodeInfo.renderer||!this.supernodeInfo.renderer.isRegionSelectOrSizingInProgress())}},{key:"displayLinks",value:function(){this.logger.logStartTimer("displayLinks");var e=this.buildLinksArray(),t=this.getAllLinkGroupsSelection();this.displayLinksSubset(t,e),this.logger.logEndTimer("displayLinks")}},{key:"displayLinksSelectionStatus",value:function(){var e=this;this.logger.logStartTimer("displayLinksSelectionStatus"),this.config.enableLinkSelection!==ge&&this.getAllLinkGroupsSelection().attr("data-selected",(function(t){return!!e.activePipeline.isSelected(t.id)||null})),this.logger.logEndTimer("displayLinksSelectionStatus")}},{key:"displayMovedLinks",value:function(){var e=this;this.logger.logStartTimer("displayMovedLinks"),this.buildLinksArray().filter((function(e){return e.coordsUpdated})).forEach((function(t){e.displaySingleLink(t)})),this.logger.logEndTimer("displayMovedLinks")}},{key:"displaySingleLink",value:function(e){var t=this.getLinkGroupSelectionById(e.id);this.displayLinksSubset(t,[e])}},{key:"displayLinksSubset",value:function(e,t){var n=this;e.data(t,(function(e){return e.id})).join((function(e){return n.createLinks(e)})).attr("class",(function(e){return n.getLinkGroupClass(e)})).attr("style",(function(e){return n.getLinkGrpStyle(e)})).attr("data-selected",(function(e){return!!n.activePipeline.isSelected(e.id)||null})).call((function(e){n.updateLinks(e,t)}))}},{key:"createLinks",value:function(e){var t=this;this.logger.logStartTimer("createLinks");var n=e.append("g").attr("data-id",(function(e){return t.getId("link_grp",e.id)})).call(this.attachLinkGroupListeners.bind(this));return n.append("path").attr("class",(function(e){return t.getLinkSelectionAreaClass(e)})),n.append("path").attr("class","d3-link-line"),n.filter((function(e){return e.type===U&&t.canvasLayout.dataLinkArrowHead||e.type===W&&t.canvasLayout.commentLinkArrowHead||e.type===U&&t.canvasLayout.linkType===X})).append("path").attr("class","d3-link-line-arrow-head"),n.append("g").attr("class","d3-link-decorations-group"),this.config.enableLinkSelection!==Ce&&this.config.enableLinkSelection!==ae||n.append("g").attr("class","d3-link-handles-group").each((function(e,n,i){e.type===U&&t.createNewHandles(Sl.select(i[n]))})),this.logger.logEndTimer("createLinks"),n}},{key:"updateLinks",value:function(e,t){var n=this;this.logger.logStartTimer("updateLinks"),e.selectAll(".d3-link-selection-area").datum((function(e){return n.activePipeline.getLink(e.id)})).attr("d",(function(e){return e.pathInfo.path})),e.selectAll(".d3-link-line").datum((function(e){return n.activePipeline.getLink(e.id)})).attr("d",(function(e){return e.pathInfo.path})).attr("class","d3-link-line").attr("style",(function(e){return Fe.getObjectStyle(e,"line","default")})),e.filter((function(e){return e.type===U&&n.canvasLayout.dataLinkArrowHead||e.type===W&&n.canvasLayout.commentLinkArrowHead||e.type===U&&n.canvasLayout.linkType===X})).selectAll(".d3-link-line-arrow-head").datum((function(e){return n.activePipeline.getLink(e.id)})).attr("d",(function(e){return n.getArrowHead(e)})).attr("transform",(function(e){return n.getArrowHeadTransform(e)})).attr("class","d3-link-line-arrow-head").attr("style",(function(e){return Fe.getObjectStyle(e,"line","default")})),e.each((function(e,t,i){if(e.type===U||e.type===G){var o=Sl.select(i[t]).selectAll(".d3-link-decorations-group");n.displayDecorations(e,ie,o,e.decorations)}})),this.config.enableLinkSelection!==Ce&&this.config.enableLinkSelection!==ae||e.each((function(e,i,o){e.type===U&&n.updateHandles(Sl.select(o[i]).selectAll(".d3-link-handles-group"),t)})),this.isMoving()||this.isSizing()||this.setDisplayOrder(e),this.logger.logEndTimer("updateLinks")}},{key:"attachLinkGroupListeners",value:function(e){var t=this;e.on("mousedown",(function(e,n,i,o){t.logger.log("Link Group - mouse down"),t.svgCanvasTextArea.isEditingText()&&t.svgCanvasTextArea.completeEditing(),t.config.enableLinkSelection!==ge&&t.selectObjectD3Event(e,n,"link"),e.stopPropagation()})).on("mouseup",(function(){t.logger.log("Link Group - mouse up")})).on("click",(function(e,n){t.logger.log("Link Group - click"),e.stopPropagation()})).on("contextmenu",(function(e,n){t.logger.log("Link Group - context menu"),t.config.enableLinkSelection!==ge&&t.selectObjectD3Event(e,n,"link"),t.openContextMenu(e,"link",n)})).on("mouseenter",(function(e,n){if(!t.isDragging()){var i=e.currentTarget;t.config.enableLinkSelection!==Ce&&t.config.enableLinkSelection!==ae||t.raiseLinkToTop(i),t.setLinkLineStyles(i,n,"hover"),t.config.enableContextToolbar&&t.addContextToolbar(e,n,"link"),t.canOpenTip(D)&&(t.canvasController.closeTip(),t.canvasController.openTip({id:t.getId("link_tip",n.id),type:D,targetObj:i,mousePos:{x:e.clientX,y:e.clientY},pipelineId:t.activePipeline.id,link:n}))}})).on("mouseleave",(function(e,n){var i=e.currentTarget;i.getAttribute("data-selected")||t.lowerLinkToBottom(i),t.setLinkLineStyles(i,n,"default"),t.canvasController.closeTip(),t.config.enableContextToolbar&&t.removeContextToolbar()}))}},{key:"createNewHandles",value:function(e){e.append(this.canvasLayout.linkStartHandleObject).attr("class",(function(e){return"d3-link-handle-start"})).call(this.attachStartHandleListeners.bind(this)),e.append(this.canvasLayout.linkEndHandleObject).attr("class",(function(e){return"d3-link-handle-end"})).call(this.attachEndHandleListeners.bind(this))}},{key:"updateHandles",value:function(e,t){var n=this,i=e.selectAll(".d3-link-handle-start").datum((function(e){return n.activePipeline.getLink(e.id)})).each((function(e,t,i){var o=Sl.select(i[t]);"image"===n.canvasLayout.linkStartHandleObject?o.attr("xlink:href",n.canvasLayout.linkStartHandleImage).attr("x",(function(e){return e.x1-n.canvasLayout.linkStartHandleWidth/2})).attr("y",(function(e){return e.y1-n.canvasLayout.linkStartHandleHeight/2})).attr("width",n.canvasLayout.linkStartHandleWidth).attr("height",n.canvasLayout.linkStartHandleHeight):"circle"===n.canvasLayout.linkStartHandleObject&&o.attr("r",n.canvasLayout.linkStartHandleRadius).attr("cx",(function(e){return e.x1})).attr("cy",(function(e){return e.y1}))}));if(this.config.enableEditingActions){var o=this.dragDetLinkUtils.getDragDetachedLinkHandler();i.call(o)}else i.on(".drag",null);var r=e.selectAll(".d3-link-handle-end").datum((function(e){return n.activePipeline.getLink(e.id)})).each((function(e,t,i){var o=Sl.select(i[t]);"image"===n.canvasLayout.linkEndHandleObject?o.attr("xlink:href",n.canvasLayout.linkEndHandleImage).attr("x",(function(e){return e.x2-n.canvasLayout.linkEndHandleWidth/2})).attr("y",(function(e){return e.y2-n.canvasLayout.linkEndHandleHeight/2})).attr("width",n.canvasLayout.linkEndHandleWidth).attr("height",n.canvasLayout.linkEndHandleHeight).attr("transform",(function(e){return n.getLinkImageTransform(e)})):"circle"===n.canvasLayout.linkEndHandleObject&&o.attr("r",n.canvasLayout.linkEndHandleRadius).attr("cx",(function(e){return e.x2})).attr("cy",(function(e){return e.y2}))}));if(this.config.enableEditingActions){var a=this.dragDetLinkUtils.getDragDetachedLinkHandler();r.call(a)}else r.on(".drag",null)}},{key:"attachStartHandleListeners",value:function(e){var t=this;e.on("mousedown",(function(e,n){t.logger.log("Link start handle - mouse down"),t.config.enableDragWithoutSelect||t.selectObjectD3Event(e,n,"link"),t.logger.log("Link end handle - finished mouse down")}))}},{key:"attachEndHandleListeners",value:function(e){var t=this;e.on("mousedown",(function(e,n){t.logger.log("Link end handle - mouse down"),t.config.enableDragWithoutSelect||t.selectObjectD3Event(e,n,"link"),t.logger.log("Link end handle - finished mouse down")}))}},{key:"setLinkLineStyles",value:function(e,t,n){var i=Fe.getObjectStyle(t,"line",n),o=Sl.select(e);o.select(".d3-link-line").attr("style",i),o.select(".d3-link-line-arrow-head").attr("style",i)}},{key:"getLinkSelectionAreaClass",value:function(e){return"d3-link-selection-area "+(e.type===G?"d3-association-link-selection-area":e.type===W?"d3-comment-link-selection-area":"d3-data-link-selection-area")}},{key:"getLinkGroupClass",value:function(e){return"d3-link-group "+this.getLinkTypeClass(e)+" "+this.getLinkCustomClass(e)}},{key:"getLinkCustomClass",value:function(e){return e.class_name&&"canvas-data-link"!==e.class_name&&"canvas-object-link"!==e.class_name&&"canvas-comment-link"!==e.class_name&&"d3-data-link"!==e.class_name&&"d3-association-link"!==e.class_name&&"d3-object-link"!==e.class_name&&"d3-comment-link"!==e.class_name?e.class_name:""}},{key:"getLinkTypeClass",value:function(e){return e.type===G?this.config.enableAssocLinkType===Y?"d3-association-link":"d3-object-link":e.type===W?"d3-comment-link":"d3-data-link"}},{key:"getCommentGroupClass",value:function(e){var t="";return e.class_name&&"canvas-comment"!==e.class_name&&"d3-comment-rect"!==e.class_name&&(t=" "+e.class_name),"d3-comment-group"+(this.config.enableEditingActions?" d3-draggable":" d3-non-draggable")+t}},{key:"getNodeGroupClass",value:function(e){var t=" "+e.layout.className||"";e.class_name&&"canvas-node"!==e.class_name&&"d3-node-body"!==e.class_name&&"d3-node-body-outline"!==e.class_name&&(t=" "+e.class_name);var n=Fe.isExpandedSupernode(e)?" d3-node-supernode-expanded":"",i=this.config.enableEditingActions?" d3-draggable":" d3-non-draggable";return"d3-node-group"+n+(e.isResized?" d3-resized":"")+i+t}},{key:"setDisplayOrder",value:function(e){var t=this;e.filter((function(e){return t.hasOneDecorationOrMore(e)})).lower(),e.filter((function(e){return!t.hasOneDecorationOrMore(e)})).lower(),this.config.enableLinkSelection!==Ce&&this.config.enableLinkSelection!==ae||this.raiseSelectedLinksToTop()}},{key:"raiseNodeToTopById",value:function(e){this.getNodeGroupSelectionById(e).raise()}},{key:"raiseNodeToTop",value:function(e){!this.config.enableRaiseNodesToTopOnHover||this.isDragging()||0!==this.activePipeline.getSelectedLinksCount()||this.isEditingText()||e.raise()}},{key:"raiseSelectedLinksToTop",value:function(){this.nodesLinksGrp.selectAll(".d3-link-group[data-selected]").raise()}},{key:"raiseLinkToTop",value:function(e){Sl.select(e).raise()}},{key:"lowerLinkToBottom",value:function(e){Sl.select(e).lower()}},{key:"hasOneDecorationOrMore",value:function(e){return e.decorations&&e.decorations.length>0}},{key:"buildLinksArray",value:function(){var e=this;this.logger.logStartTimer("buildLinksArray");var t=[];return this.canvasLayout.linkType===X&&this.updateLinksForNodes(),this.activePipeline.links.forEach((function(n){var i=null;(i=!(e.config.enableLinkSelection===Ce&&e.dragDetLinkUtils.isLinkBeingDragged(n)||e.config.enableLinkSelection===ae)||n.srcObj&&n.trgNode?e.getAttachedLineObj(n):e.getDetachedLineObj(n))&&t.push(i)})),this.canvasLayout.linkType===F&&(t=this.addMinInitialLineForElbow(t)),t=this.linkUtils.addConnectionPaths(t),this.logger.logEndTimer("buildLinksArray"),t}},{key:"getAttachedLineObj",value:function(e){var t=e.srcObj,n=e.trgNode;if(t||this.logger.error("Common Canvas error trying to draw a link. A link was specified for source ID '"+e.srcNodeId+"' in the Canvas data that does not have a valid source node/comment."),n||this.logger.error("Common Canvas error trying to draw a link. A link was specified for target ID '"+e.trgNodeId+"' in the Canvas data that does not have a valid target node."),t&&n&&this.shouldDisplayLink(t,n,e.type)){var i=this.getSourcePortId(e,t),o=this.getTargetPortId(e,n),r=e.type===G&&this.config.enableAssocLinkType===Y?this.getAssocLinkVariation(t,n):null,a=this.linkUtils.getLinkCoords(e,t,i,n,o,r);return e.coordsUpdated=e.x1!==a.x1||e.y1!==a.y1||e.x2!==a.x2||e.y2!==a.y2,e.assocLinkVariation=r,e.x1=a.x1,e.y1=a.y1,e.x2=a.x2,e.y2=a.y2,e.originX=a.originX,e.originY=a.originY,e}return null}},{key:"getDetachedLineObj",value:function(e){var t=e.srcObj,n=e.trgNode,i=null,o=null,r={};if(t)if(this.canvasLayout.linkType===X){var a={x:e.trgPos.x_pos,y:e.trgPos.y_pos},s=this.linkUtils.getNewStraightNodeLinkStartPos(t,a,e.srcOriginInfo);r.x1=s.x,r.y1=s.y,r.originX=s.originX,r.originY=s.originY}else{i=this.getSourcePortId(e,t);var l=this.getOutputPort(t,i);l&&(r.x1=t.x_pos+l.cx,r.y1=t.y_pos+l.cy)}else r.x1=e.srcPos.x_pos,r.y1=e.srcPos.y_pos;if(n)if(this.canvasLayout.linkType===X){var c={x:e.srcPos.x_pos,y:e.srcPos.y_pos},u=this.linkUtils.getNewStraightNodeLinkStartPos(n,c,e.trgOriginInfo);r.x2=u.x,r.y2=u.y}else{o=this.getTargetPortId(e,n);var d=this.getInputPort(n,o);d&&(r.x2=n.x_pos+d.cx,r.y2=n.y_pos+d.cy)}else r.x2=e.trgPos.x_pos,r.y2=e.trgPos.y_pos;return e.coordsUpdated=e.x1!==r.x1||e.y1!==r.y1||e.x2!==r.x2||e.y2!==r.y2,e.x1=r.x1,e.y1=r.y1,e.x2=r.x2,e.y2=r.y2,e.originX=r.originX,e.originY=r.originY,e}},{key:"getOutputPort",value:function(e,t){return e&&e.outputs?e.outputs.find((function(e){return e.id===t})):null}},{key:"getInputPort",value:function(e,t){return e&&e.inputs?e.inputs.find((function(e){return e.id===t})):null}},{key:"getSourcePortId",value:function(e,t){return e.srcNodePortId?e.srcNodePortId:t.outputs&&t.outputs.length>0?t.outputs[0].id:null}},{key:"getTargetPortId",value:function(e,t){return e.trgNodePortId?e.trgNodePortId:t.inputs&&t.inputs.length>0?t.inputs[0].id:null}},{key:"shouldDisplayLink",value:function(e,t,n){return(n!==W||!this.canvasInfo.hideComments)&&(!1!==this.canvasLayout.displayLinkOnOverlap||!this.areLinkedObjectsOverlapping(e,t,n))}},{key:"areLinkedObjectsOverlapping",value:function(e,t,n){var i=n===W?this.canvasLayout.commentHighlightGap:e.layout.nodeHighlightGap,o=t.layout.nodeHighlightGap,r=e.x_pos-i,a=e.x_pos+e.width+i,s=t.x_pos-o,l=t.x_pos+t.width+o,c=e.y_pos-i,u=e.y_pos+e.height+i,d=t.y_pos-o,h=t.y_pos+t.height+o;return a>=s&&l>=r&&u>=d&&h>=c}},{key:"addMinInitialLineForElbow",value:function(e){var t=this;return this.activePipeline.nodes.forEach((function(n){if(n.outputs&&n.outputs.length>1){var i=t.getNodeOutputLinks(n,e),o=t.sortNodeOutputLinks(i);t.applyMinInitialLine(n,o)}})),e}},{key:"getNodeOutputLinks",value:function(e,t){var n=[];return t.forEach((function(t){t.srcObj&&t.srcObj.id===e.id&&n.push(t)})),n}},{key:"sortNodeOutputLinks",value:function(e){var t=this;return e.sort((function(e,n){var i,o;return t.canvasLayout.linkDirection===xe?(i=Math.abs(e.y1-e.y2),o=Math.abs(n.y1-n.y2)):(i=Math.abs(e.x1-e.x2),o=Math.abs(n.x1-n.x2)),i===o?t.canvasLayout.linkDirection===xe?e.y1<e.y2?1:-1:e.x1<e.x2?1:-1:i<o?1:-1}))}},{key:"applyMinInitialLine",value:function(e,t){var n=e.layout.minInitialLine;t.forEach((function(e){e.minInitialLineForElbow=n,n+=e.srcObj.layout.minInitialLineIncrement}))}},{key:"updateLinksForNodes",value:function(){var e=this;this.activePipeline.nodes.forEach((function(t){return e.updateLinksForNode(t)}))}},{key:"updateLinksForNode",value:function(e){var t=this,n={n:[],s:[],e:[],w:[]};this.activePipeline.links.forEach((function(i){if(i.type===U)if(i.trgNode&&i.trgNode.id===e.id){if(i.srcObj){var o=t.getDirAdjusted(i.trgNode,i.srcObj);n[o].push({type:"in",endNode:i.srcObj,link:i})}else if(i.srcPos){var r=t.getDirToEndPos(i.trgNode,i.srcPos.x_pos,i.srcPos.y_pos);n[r].push({type:"in",x:i.srcPos.x_pos,y:i.srcPos.y_pos,link:i})}}else if(i.srcObj&&i.srcObj.id===e.id)if(i.trgNode){var a=t.getDirAdjusted(i.srcObj,i.trgNode);n[a].push({type:"out",endNode:i.trgNode,link:i})}else if(i.trgPos){var s=t.getDirToEndPos(i.srcObj,i.trgPos.x_pos,i.trgPos.y_pos);n[s].push({type:"out",x:i.trgPos.x_pos,y:i.trgPos.y_pos,link:i})}})),n.n=this.sortLinksInfo(n.n,Z),n.s=this.sortLinksInfo(n.s,V),n.e=this.sortLinksInfo(n.e,K),n.w=this.sortLinksInfo(n.w,q),this.updateLinksInfo(n.n,Z),this.updateLinksInfo(n.s,V),this.updateLinksInfo(n.e,K),this.updateLinksInfo(n.w,q)}},{key:"getDirAdjusted",value:function(e,t){var n=this.getDirToNode(e,t);if(n===V)this.getDirToNode(t,e)===q&&(n=K);else if(n===Z){this.getDirToNode(t,e)===K&&(n=q)}return n}},{key:"getDirToNode",value:function(e,t){var n=this.nodeUtils.getNodeCenterPosX(t),i=this.nodeUtils.getNodeCenterPosY(t);return this.getDirToEndPos(e,n,i)}},{key:"getDirToEndPos",value:function(e,t,n){var i=this.nodeUtils.getNodeCenterPosX(e),o=this.nodeUtils.getNodeCenterPosY(e),r=e.x_pos,a=e.y_pos,s=e.width,l=e.height;return Fe.getDir(r,a,s,l,i,o,t,n)}},{key:"sortLinksInfo",value:function(e,t){var n=this,i=e;if(i.length>1){var o=this.getLinkInfoGroups(i);ao(o,(function(e){e.forEach((function(i,o){var r=i.endNode,a=e.length+1;t===Z||t===V?(i.x=r.x_pos+r.width/a*(o+1),i.y=n.nodeUtils.getNodeCenterPosY(r)):(i.x=n.nodeUtils.getNodeCenterPosX(r),i.y=r.y_pos+r.height/a*(o+1))}))})),i=t===Z||t===V?i.sort((function(e,t){return e.x>t.x?1:-1})):i.sort((function(e,t){return e.y>t.y?1:-1}))}return i}},{key:"getLinkInfoGroups",value:function(e){var t={};return e.forEach((function(e){e.endNode&&(t[e.endNode.id]||(t[e.endNode.id]=[]),t[e.endNode.id].push(e))})),t}},{key:"updateLinksInfo",value:function(e,t){e.forEach((function(n,i){"out"===n.type?n.link.srcOriginInfo={dir:t,idx:i,len:e.length}:n.link.trgOriginInfo={dir:t,idx:i,len:e.length}}))}},{key:"getNewLinkAssocVariation",value:function(e,t,n){return"input"===n&&e>t?ee:"output"===n&&e<t?Q:ne}},{key:"getAssocLinkVariation",value:function(e,t){var n=e.layout.minInitialLine;return t.x_pos>=e.x_pos+e.width+n?Q:e.x_pos>=t.x_pos+t.width+n?ee:ne}},{key:"getPortArrowPath",value:function(e){return"M -2 3 L 2 0 -2 -3"}},{key:"getPortArrowPathTransform",value:function(e){var t=this.getAngleBasedOnLinkDirection();return"translate(".concat(e.cx,", ").concat(e.cy,") rotate(").concat(t,")")}},{key:"getArrowHead",value:function(e){return e.type===W?"string"==typeof this.canvasLayout.commentLinkArrowHead?this.canvasLayout.commentLinkArrowHead:"M -8 3 L 0 0 -8 -3":"string"==typeof this.canvasLayout.dataLinkArrowHead?this.canvasLayout.dataLinkArrowHead:"M -6 6 L 0 0 -6 -6"}},{key:"getArrowHeadTransform",value:function(e){var t=this.canvasLayout.linkType===F||this.canvasLayout.linkType===B?this.getAngleBasedOnLinkDirection():Math.atan2(e.y2-e.y1,e.x2-e.x1)*(180/Math.PI);return"translate(".concat(e.x2,", ").concat(e.y2,") rotate(").concat(t,")")}},{key:"getAngleBasedOnLinkDirection",value:function(){return this.canvasLayout.linkDirection===$?90:this.canvasLayout.linkDirection===J?-90:0}},{key:"canOpenTip",value:function(e){return this.canvasController.isTipEnabled(e)&&!this.regionSelect&&!this.isDragging()&&!this.isSizing()}},{key:"getDefaultCommentOffset",value:function(){var e=this.canvasLayout.addCommentOffsetX,t=this.canvasLayout.addCommentOffsetY,n=this.zoomUtils.getZoomTransform();if(n){var i=n.x/n.k,o=n.y/n.k;e=-i+this.canvasLayout.addCommentOffsetX,t=-o+this.canvasLayout.addCommentOffsetY}return this.config.enableSnapToGridType===oe||this.config.enableSnapToGridType===re?this.snapToGridPosition({x:e,y:t}):{x:e,y:t}}},{key:"getFlags",value:function(){var e="Flags:";return this.isDragging()&&(e+=" dragging = true"),this.isSizing()&&(e+=" sizing = true"),this.regionSelect&&(e+=" regionSelect = true"),"Flags:"===e&&(e+=" None"),e}}]),n}(),Dl=function(){function n(t,i,o){e(this,n),this.logger=new Re(["SVGCanvasD3","FlowId",t]),this.logger.logStartTimer("constructor"),this.canvasController=o,this.canvasDiv=$i(i),this.logger.logEndTimer("constructor",!0)}return t(n,[{key:"setCanvasInfo",value:function(e,t,n,i,o,r){if(this.logger=new Re(["SVGCanvasD3","FlowId",e.id]),this.config&&this.renderer&&this.canvasInfo&&e.id===this.canvasInfo.id&&(!this.renderer||this.renderer.pipelineId===this.canvasController.getCurrentBreadcrumb().pipelineId)&&We.compareCanvasConfigsOmitFields(this.config,r))this.logger.logStartTimer("set canvas info"),this.canvasInfo=this.cloneCanvasInfo(e),this.config=this.cloneConfig(r),this.renderer.setCanvasInfoRenderer(this.canvasInfo,t,n,i,o,this.config),this.logger.logEndTimer("set canvas info",!0);else{this.logger.logStartTimer("initializing"),this.canvasInfo=this.cloneCanvasInfo(e),this.config=this.cloneConfig(r),this.renderer&&(this.renderer.clearCanvas(),this.renderer=null);var a=this.canvasController.getCurrentBreadcrumb();this.renderer=new Tl(a.pipelineId,this.canvasDiv,this.canvasController,this.canvasInfo,t,n,i,o,r,{id:a.supernodeId,pipelineId:a.supernodeParentPipelineId}),this.logger.logEndTimer("initializing",!0)}}},{key:"setSelectionInfo",value:function(e){this.renderer&&this.renderer.setSelectionInfo(e)}},{key:"cloneConfig",value:function(e){return Object.assign({},e)}},{key:"cloneCanvasInfo",value:function(e){return ce(e)}},{key:"isEditingText",value:function(){return this.renderer.isEditingText()}},{key:"isDragging",value:function(){return this.renderer.isDragging()}},{key:"convertPageCoordsToSnappedCanvasCoords",value:function(e){return this.renderer.convertPageCoordsToSnappedCanvasCoords(e)}},{key:"nodeTemplateDragStart",value:function(e){this.renderer.nodeTemplateDragStart(e)}},{key:"nodeTemplateDragOver",value:function(e,t,n){this.renderer.nodeTemplateDragOver(e,t,n)}},{key:"nodeTemplateDragEnd",value:function(e){this.renderer.nodeTemplateDragEnd(e)}},{key:"nodeTemplateDropped",value:function(e,t,n){this.renderer.nodeTemplateDropped(e,t,n)}},{key:"externalObjectDropped",value:function(e,t,n){this.renderer.externalObjectDropped(e,t,n)}},{key:"zoomTo",value:function(e){this.renderer.zoomTo(e)}},{key:"translateBy",value:function(e,t,n){this.renderer.translateBy(e,t,n)}},{key:"zoomIn",value:function(){this.renderer.zoomIn()}},{key:"zoomOut",value:function(){this.renderer.zoomOut()}},{key:"zoomToFit",value:function(){this.renderer.zoomToFit()}},{key:"isZoomedToMax",value:function(){return!!this.renderer&&this.renderer.isZoomedToMax()}},{key:"isZoomedToMin",value:function(){return!!this.renderer&&this.renderer.isZoomedToMin()}},{key:"getZoomToReveal",value:function(e,t,n){return this.renderer?this.renderer.getZoomToReveal(e,t,n):null}},{key:"getZoom",value:function(){return this.renderer?this.renderer.getZoom():null}},{key:"setCommentEditingMode",value:function(e,t){this.renderer.setCommentEditingMode(e,t)}},{key:"setNodeLabelEditingMode",value:function(e,t){this.renderer.setNodeLabelEditingMode(e,t)}},{key:"setNodeDecorationLabelEditingMode",value:function(e,t,n){this.renderer.setNodeDecorationLabelEditingMode(e,t,n)}},{key:"setLinkDecorationLabelEditingMode",value:function(e,t,n){this.renderer.setLinkDecorationLabelEditingMode(e,t,n)}},{key:"refreshOnSizeChange",value:function(){this.renderer&&this.renderer.refreshOnSizeChange()}},{key:"getDefaultCommentOffset",value:function(){return this.renderer.getDefaultCommentOffset()}},{key:"getTransformedViewportDimensions",value:function(){return this.renderer.getTransformedViewportDimensions()}},{key:"getGhostNode",value:function(e){return this.renderer.getGhostNode(e)}},{key:"setSpaceKeyPressed",value:function(e){this.renderer.setSpaceKeyPressed(e)}},{key:"isSpaceKeyPressed",value:function(){return this.renderer.isSpaceKeyPressed()}}]),n}();function El(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var Il=function(n){i(r,n);var o=El(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).state={isDropZoneDisplayed:!1},n.logger=new Re("CC-Contents"),n.mainCanvasDivId="canvas-div-"+n.props.canvasController.getInstanceId(),n.svgCanvasDivId="d3-svg-canvas-div-"+n.props.canvasController.getInstanceId(),n.svgCanvasDivSelector="#"+n.svgCanvasDivId,n.dragX=null,n.dragY=null,n.eventListenersAdded=!1,n.mousePos={x:0,y:0},n.drop=n.drop.bind(a(n)),n.focusOnCanvas=n.focusOnCanvas.bind(a(n)),n.setIsDropZoneDisplayed=n.setIsDropZoneDisplayed.bind(a(n)),n.dragOver=n.dragOver.bind(a(n)),n.dragEnter=n.dragEnter.bind(a(n)),n.dragLeave=n.dragLeave.bind(a(n)),n.refreshOnSizeChange=n.refreshOnSizeChange.bind(a(n)),n.getLabel=n.getLabel.bind(a(n)),n.onCut=n.onCut.bind(a(n)),n.onCopy=n.onCopy.bind(a(n)),n.onPaste=n.onPaste.bind(a(n)),n.onKeyDown=n.onKeyDown.bind(a(n)),n.onKeyUp=n.onKeyUp.bind(a(n)),n.onMouseMove=n.onMouseMove.bind(a(n)),n.onClickReturnToPrevious=n.onClickReturnToPrevious.bind(a(n)),n.first=!1,n.second=!1,n.afterUpdateCallbacks=[],t.canvasController.setCanvasContents(a(n)),n}return t(r,[{key:"componentDidMount",value:function(){this.logger.log("componentDidMount"),this.svgCanvasD3=new Dl(this.props.canvasInfo.id,this.svgCanvasDivSelector,this.props.canvasController),this.setCanvasInfo(),this.props.canvasConfig.enableBrowserEditMenu&&this.addEventListeners(),this.focusOnCanvas()}},{key:"componentDidUpdate",value:function(e){this.logger.log("componentDidUpdate"),this.svgCanvasD3&&!this.isDropZoneDisplayed()&&(e.canvasInfo!==this.props.canvasInfo||e.canvasConfig!==this.props.canvasConfig||e.breadcrumbs!==this.props.breadcrumbs?(this.setCanvasInfo(),this.afterUpdate()):e.selectionInfo!==this.props.selectionInfo&&this.svgCanvasD3.setSelectionInfo(this.props.selectionInfo)),this.props.canvasConfig.enableBrowserEditMenu?this.addEventListeners():this.removeEventListeners()}},{key:"componentWillUnmount",value:function(){this.removeEventListeners()}},{key:"onCut",value:function(e){e.currentTarget.activeElement.id===this.svgCanvasDivId&&this.props.canvasConfig.enableEditingActions&&(e.preventDefault(),this.props.canvasController.cutToClipboard())}},{key:"onCopy",value:function(e){e.currentTarget.activeElement.id===this.svgCanvasDivId&&this.props.canvasConfig.enableEditingActions&&(e.preventDefault(),this.props.canvasController.copyToClipboard())}},{key:"onPaste",value:function(e){e.currentTarget.activeElement.id===this.svgCanvasDivId&&this.props.canvasConfig.enableEditingActions&&(e.preventDefault(),this.props.canvasController.pasteFromClipboard())}},{key:"onKeyDown",value:function(e){this.props.canvasController.closeTip();var t=this.props.canvasController.getKeyboardConfig().actions;if(!this.svgCanvasD3.isEditingText()&&!this.svgCanvasD3.isDragging()){if(this.props.canvasConfig.enableEditingActions)if(8!==e.keyCode&&46!==e.keyCode||!t.delete){if(Fe.isCmndCtrlPressed(e)&&!e.shiftKey&&90===e.keyCode&&t.undo)Fe.stopPropagationAndPreventDefault(e),this.props.canvasController.canUndo()&&this.props.canvasController.keyboardActionHandler("undo");else if(Fe.isCmndCtrlPressed(e)&&(e.shiftKey&&90===e.keyCode||89===e.keyCode&&t.redo))Fe.stopPropagationAndPreventDefault(e),this.props.canvasController.canRedo()&&this.props.canvasController.keyboardActionHandler("redo");else if(Fe.isCmndCtrlPressed(e)&&67===e.keyCode&&t.copyToClipboard)Fe.stopPropagationAndPreventDefault(e),this.props.canvasController.keyboardActionHandler("copy");else if(Fe.isCmndCtrlPressed(e)&&88===e.keyCode&&t.cutToClipboard)Fe.stopPropagationAndPreventDefault(e),this.props.canvasController.keyboardActionHandler("cut");else if(Fe.isCmndCtrlPressed(e)&&86===e.keyCode&&t.pasteFromClipboard)if(Fe.stopPropagationAndPreventDefault(e),this.mousePos){var n=this.svgCanvasD3.convertPageCoordsToSnappedCanvasCoords(this.mousePos);this.props.canvasController.keyboardActionHandler("paste",n)}else this.props.canvasController.keyboardActionHandler("paste")}else Fe.stopPropagationAndPreventDefault(e),this.props.canvasController.keyboardActionHandler("deleteSelectedObjects");Fe.isCmndCtrlPressed(e)&&65===e.keyCode&&t.selectAll?(Fe.stopPropagationAndPreventDefault(e),this.props.canvasController.keyboardActionHandler("selectAll")):32===e.keyCode?this.svgCanvasD3.isSpaceKeyPressed()||(Fe.stopPropagationAndPreventDefault(e),this.svgCanvasD3.setSpaceKeyPressed(!0)):Fe.isCmndCtrlPressed(e)&&e.shiftKey&&e.altKey&&80===e.keyCode&&(Fe.stopPropagationAndPreventDefault(e),Re.switchLoggingState())}}},{key:"onKeyUp",value:function(){this.svgCanvasD3.setSpaceKeyPressed(!1)}},{key:"onMouseMove",value:function(e){e.target&&e.target.className&&("svg-area"===e.target.className.baseVal||"d3-svg-background"===e.target.className.baseVal)?this.mousePos={x:e.clientX,y:e.clientY}:this.mousePos=null}},{key:"onClickReturnToPrevious",value:function(e){e.stopPropagation(),e.preventDefault(),this.props.canvasController.displayPreviousPipeline()}},{key:"setCanvasInfo",value:function(){var e=this.props.canvasController.objectModel.getNodeLayout(),t=this.props.canvasController.objectModel.getCanvasLayout();this.svgCanvasD3.setCanvasInfo(this.props.canvasInfo,this.props.selectionInfo,this.props.breadcrumbs,e,t,this.props.canvasConfig)}},{key:"getLabel",value:function(e){return this.props.intl.formatMessage({id:e,defaultMessage:Ge[e]})}},{key:"getDNDJson",value:function(e){try{return JSON.parse(e.dataTransfer.getData(k))}catch(e){return this.logger.warn("The dragged object's data does not conform to the expected internal format: "+e),null}}},{key:"getSVGCanvasD3",value:function(){return this.svgCanvasD3}},{key:"getStateTag",value:function(){var e=null;return this.props.canvasConfig.enableStateTag!==z&&this.props.canvasConfig.enableStateTag!==M||(e=s.createElement(jn,{stateTagType:this.props.canvasConfig.enableStateTag,canvasController:this.props.canvasController})),e}},{key:"getEmptyCanvas",value:function(){var e=null;return this.props.canvasController.isPrimaryPipelineEmpty()&&(e=this.props.canvasConfig.emptyCanvasContent?s.createElement("div",{className:"empty-canvas"},this.props.canvasConfig.emptyCanvasContent):s.createElement("div",{className:"empty-canvas"},s.createElement("div",{className:"empty-canvas-image"},s.createElement(st,null)),s.createElement("span",{className:"empty-canvas-text1"},this.getLabel("canvas.flowIsEmpty")),s.createElement("span",{className:"empty-canvas-text2"},this.getLabel("canvas.addNodeToStart")))),e}},{key:"getReturnToPreviousBtn",value:function(){var e,t,n=null;if(!this.props.canvasController.isPrimaryPipelineEmpty()&&(this.props.canvasController.isDisplayingFullPageSubFlow()||null!==(e=this.props.canvasConfig)&&void 0!==e&&null!==(t=e.enableCanvasLayout)&&void 0!==t&&t.alwaysDisplayBackToParentFlow)){var i=this.getLabel("canvas.returnToPrevious");n=s.createElement("div",{className:"return-to-previous"},s.createElement(je,{kind:"tertiary",onClick:this.onClickReturnToPrevious,"aria-label":i,size:"md"},s.createElement("div",{className:"return-to-previous-content"},s.createElement(lt,null),s.createElement("span",null,i))))}return n}},{key:"getContextMenu",value:function(){return this.props.canvasConfig.enableContextToolbar?s.createElement(On,{canvasController:this.props.canvasController,containingDivId:this.mainCanvasDivId}):s.createElement(Pn,{canvasController:this.props.canvasController,containingDivId:this.mainCanvasDivId})}},{key:"getTextToolbar",value:function(){return s.createElement(zn,{canvasController:this.props.canvasController})}},{key:"getDropZone",value:function(){var e=null;return this.isDropZoneDisplayed()&&(e=this.props.canvasConfig.dropZoneCanvasContent?this.props.canvasConfig.dropZoneCanvasContent:s.createElement("div",null,s.createElement("div",{className:"dropzone-canvas"}),s.createElement("div",{className:"dropzone-canvas-rect"}))),e}},{key:"getSVGCanvasDiv",value:function(){return s.createElement("div",{tabIndex:"-1",className:"d3-svg-canvas-div",id:this.svgCanvasDivId,onKeyDown:this.onKeyDown,onKeyUp:this.onKeyUp})}},{key:"setIsDropZoneDisplayed",value:function(e){e!==this.state.isDropZoneDisplayed&&this.setState({isDropZoneDisplayed:e})}},{key:"isDropZoneDisplayed",value:function(){return this.props.canvasConfig.enableDropZoneOnExternalDrag&&this.state.isDropZoneDisplayed}},{key:"isDataTypeBeingDraggedFile",value:function(e){return!(!e.dataTransfer||!Array.isArray(e.dataTransfer.types))&&e.dataTransfer.types.includes("Files")}},{key:"afterUpdate",value:function(){this.afterUpdateCallbacks.forEach((function(e){return e()}))}},{key:"addAfterUpdateCallback",value:function(e){-1===this.afterUpdateCallbacks.findIndex((function(t){return t===e}))&&this.afterUpdateCallbacks.push(e)}},{key:"removeAfterUpdateCallback",value:function(e){var t=this.afterUpdateCallbacks.findIndex((function(t){return t===e}));t>-1&&this.afterUpdateCallbacks.splice(t,1)}},{key:"addEventListeners",value:function(){this.eventListenersAdded||(document.addEventListener("cut",this.onCut,!0),document.addEventListener("copy",this.onCopy,!0),document.addEventListener("paste",this.onPaste,!0),document.addEventListener("mousemove",this.onMouseMove,!0),this.eventListenersAdded=!0)}},{key:"removeEventListeners",value:function(){this.eventListenersAdded&&(document.removeEventListener("cut",this.onCut,!0),document.removeEventListener("copy",this.onCopy,!0),document.removeEventListener("paste",this.onPaste,!0),document.removeEventListener("mousemove",this.onMouseMove,!0),this.eventListenersAdded=!1)}},{key:"drop",value:function(e){if(e.preventDefault(),this.setIsDropZoneDisplayed(!1),this.first=!1,this.second=!1,this.props.canvasConfig.enableEditingActions){var t=this.props.canvasController.getDragNodeTemplate();if(t)this.svgCanvasD3.nodeTemplateDropped(t,e.clientX,e.clientY),this.props.canvasController.nodeTemplateDragEnd();else{var n=this.getDNDJson(e);n||(n={operation:"addToCanvas",data:{dataTransfer:e.dataTransfer,editType:"createFromExternalObject"}}),this.svgCanvasD3.externalObjectDropped(n,e.clientX,e.clientY)}}}},{key:"dragOver",value:function(e){if(Math.abs(this.dragX-e.clientX)>5||Math.abs(this.dragY-e.clientY)>5){this.dragX=e.clientX,this.dragY=e.clientY;var t=this.props.canvasController.getDragNodeTemplate();t&&this.svgCanvasD3.nodeTemplateDragOver(t,e.clientX,e.clientY)}}},{key:"dragEnter",value:function(e){this.dragX=null,this.dragY=null,this.isDataTypeBeingDraggedFile(e)&&(this.first?this.second=!0:(this.first=!0,this.setIsDropZoneDisplayed(!0))),e.preventDefault()}},{key:"dragLeave",value:function(e){this.isDataTypeBeingDraggedFile(e)&&(this.second?this.second=!1:this.first&&(this.first=!1),this.first||this.second||this.setIsDropZoneDisplayed(!1)),e.preventDefault()}},{key:"focusOnCanvas",value:function(){document.getElementById(this.svgCanvasDivId)&&document.getElementById(this.svgCanvasDivId).focus()}},{key:"refreshOnSizeChange",value:function(){this.svgCanvasD3&&this.svgCanvasD3.refreshOnSizeChange()}},{key:"render",value:function(){this.logger.log("render");var e=this.getStateTag(),t=this.getEmptyCanvas(),n=this.getReturnToPreviousBtn(),i=this.getContextMenu(),o=this.getTextToolbar(),r=this.getDropZone(),a=this.getSVGCanvasDiv();return s.createElement("main",{"aria-label":this.getLabel("canvas.label"),role:"main"},s.createElement(Be,{handleWidth:!0,handleHeight:!0,onResize:this.refreshOnSizeChange},s.createElement("div",{id:this.mainCanvasDivId,className:"common-canvas-drop-div",onDrop:this.drop,onDragOver:this.dragOver,onDragEnter:this.dragEnter,onDragLeave:this.dragLeave},a,t,n,e,i,o,r)))}}]),r}(s.Component),Ol=l((function(e,t){return{canvasInfo:e.canvasinfo,canvasConfig:e.canvasconfig,bottomPanelIsOpen:e.bottompanel.isOpen,selectionInfo:e.selectioninfo,breadcrumbs:e.breadcrumbs}}))(u(Il));function _l(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var Al=function(n){i(r,n);var o=_l(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).logger=new Re("CC-Toolbar"),n.getLabel=n.getLabel.bind(a(n)),n.toolbarActionHandler=n.toolbarActionHandler.bind(a(n)),n}return t(r,[{key:"getLabel",value:function(e,t){var n=Ge[e]?Ge[e]:_n[e];return this.props.intl.formatMessage({id:e,defaultMessage:n},t)}},{key:"getDefaultToolbar",value:function(){return{leftBar:[{action:"undo",label:this.getLabel("canvas.undo"),enable:!0},{action:"redo",label:this.getLabel("canvas.redo"),enable:!0},{action:"cut",label:this.getLabel("edit.cutSelection"),enable:!0},{action:"copy",label:this.getLabel("edit.copySelection"),enable:!0},{action:"paste",label:this.getLabel("edit.pasteSelection"),enable:!0},{action:"createAutoComment",label:this.getLabel("canvas.addComment"),enable:!0},{action:"deleteSelectedObjects",label:this.getLabel("canvas.deleteObject"),enable:!0}],rightBar:[{action:"zoomIn",label:this.getLabel("toolbar.zoomIn"),enable:!0},{action:"zoomOut",label:this.getLabel("toolbar.zoomOut"),enable:!0},{action:"zoomToFit",label:this.getLabel("toolbar.zoomToFit"),enable:!0}]}}},{key:"getConvertedLegacyToolbar",value:function(e){return{leftBar:e,rightBar:this.getDefaultRightBar()}}},{key:"getDefaultRightBar",value:function(){return[{action:"zoomIn",label:this.getLabel("toolbar.zoomIn"),enable:!0},{action:"zoomOut",label:this.getLabel("toolbar.zoomOut"),enable:!0},{action:"zoomToFit",label:this.getLabel("toolbar.zoomToFit"),enable:!0}]}},{key:"getNotificationClassName",value:function(){var e=this.props.canvasController.getNotificationMessagesMaxType(),t=Se;return e===_?t+=" error":e===A?t+=" warning":e===Ne?t+=" success":e===Te&&(t+=" info"),t}},{key:"generateToolbarConfig",value:function(){var e=this.copyConfig();return e?Array.isArray(e)?e=this.getConvertedLegacyToolbar(e):void 0===e.rightBar&&(e.rightBar=this.getDefaultRightBar()):e=this.getDefaultToolbar(),e=Object.assign({},e,{leftBar:this.optionallyAddPaletteTool(e.leftBar||[])},{rightBar:this.optionallyAddNotificationTool(e.rightBar||[])})}},{key:"copyConfig",value:function(){if(!this.props.config)return null;if(Array.isArray(this.props.config))return _e(this.props.config);var e={};return this.props.config.overrideAutoEnableDisable&&(e.overrideAutoEnableDisable=!0),this.props.config&&this.props.config.leftBar&&(e.leftBar=_e(this.props.config.leftBar)),this.props.config&&this.props.config.rightBar&&(e.rightBar=_e(this.props.config.rightBar)),e}},{key:"toolbarActionHandler",value:function(e){this.props.canvasController.toolbarActionHandler(e)}},{key:"optionallyAddPaletteTool",value:function(e){var t=this.getLabel("toolbar.palette"),n=e;return e&&e.length>0&&"palette"===e[0].action&&(t=e[0].label?e[0].label:t,n=e.slice(1),e.length>1&&e[1].divider&&(n=e.slice(2))),this.props.isPaletteEnabled?[this.props.isPaletteOpen?{action:"paletteClose",label:t,enable:!0}:{action:"paletteOpen",label:t,enable:!0},{divider:!0}].concat(n):n}},{key:"optionallyAddNotificationTool",value:function(e){if(this.props.notificationConfig&&void 0!==this.props.notificationConfig.action&&void 0!==this.props.notificationConfig.enable){var t=this.props.notificationMessages.length,n=[{divider:!0},{action:Pe,label:this.props.notificationConfig.label,enable:this.props.notificationConfig.enable,isSelected:this.props.isNotificationOpen,className:this.getNotificationClassName(),textContent:t>9?"9+":t.toString()}];return e.concat(n)}return e}},{key:"configureToolbarButtonsState",value:function(e){if(!this.props.enableInternalObjectModel||e.overrideAutoEnableDisable)return e;if(void 0!==e){var t=this.props.enableEditingActions;this.applyToolState("undo",e,t&&this.props.canUndo),this.applyToolState("redo",e,t&&this.props.canRedo),this.applyToolState("cut",e,t&&this.props.canCutCopy),this.applyToolState("copy",e,t&&this.props.canCutCopy),this.applyToolState("paste",e,t&&this.props.canPaste),this.applyToolState("deleteSelectedObjects",e,t&&this.props.canDelete),this.applyToolState("createAutoComment",e,t),this.applyToolState("arrangeHorizontally",e,t),this.applyToolState("arrangeVertically",e,t),this.applyToolState("zoomIn",e,this.props.canZoomIn),this.applyToolState("zoomOut",e,this.props.canZoomOut),this.applyToolState("zoomToFit",e,this.props.canZoomToFit)}return e}},{key:"addUndoRedoCommandLabels",value:function(e){var t=this.props.undoLabel,n=this.props.redoLabel;if(t){var i=this.findTool("undo",e);i&&(i.label=this.getLabel("canvas.undoCommand",{undo_command:t}))}if(n){var o=this.findTool("redo",e);o&&(o.label=this.getLabel("canvas.redoCommand",{redo_command:n}))}return e}},{key:"applyToolState",value:function(e,t,n){var i=this.findTool(e,t);i?i.enable=n:this.logger.log("Toolbar tool "+e+" could not be found to set state to "+n)}},{key:"findTool",value:function(e,t){var n={};return t.leftBar&&(n=t.leftBar.find((function(t){return t.action===e}))),!n&&t.rightBar&&(n=t.rightBar.find((function(t){return t.action===e}))),n}},{key:"render",value:function(){this.logger.log("render");var e=this.generateToolbarConfig();e=this.configureToolbarButtonsState(e),e=this.addUndoRedoCommandLabels(e);var t=null;return this.props.enableToolbarLayout===Le&&(t=s.createElement("div",{"aria-label":this.getLabel("toolbar.label"),role:"navigation",className:"common-canvas-toolbar"},s.createElement(Oe,{config:e,instanceId:this.props.canvasController.getInstanceId(),toolbarActionHandler:this.toolbarActionHandler,additionalText:{overflowMenuLabel:this.getLabel("toolbar.overflowMenu")}}))),t}}]),r}(s.Component),Ml=l((function(e,t){return{enableToolbarLayout:e.canvasconfig.enableToolbarLayout,config:e.canvastoolbar.config,isPaletteEnabled:e.canvasconfig.enablePaletteLayout!==we,isPaletteOpen:e.palette.isOpen,isNotificationOpen:e.notificationpanel.isOpen,notificationConfig:e.notificationpanel.config,notificationMessages:e.notifications,enableInternalObjectModel:e.canvasconfig.enableInternalObjectModel,enableEditingActions:e.canvasconfig.enableEditingActions,canUndo:t.canvasController.canUndo(),canRedo:t.canvasController.canRedo(),canCutCopy:t.canvasController.canCutCopy(),canPaste:t.canvasController.canPaste(),canDelete:t.canvasController.canDelete(),canZoomIn:t.canvasController.canZoomIn(),canZoomOut:t.canvasController.canZoomOut(),canZoomToFit:t.canvasController.canZoomToFit(),undoLabel:t.canvasController.getUndoLabel(),redoLabel:t.canvasController.getRedoLabel()}}))(u(Al));function zl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var Hl=function(n){i(r,n);var o=zl(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).logger=new Re("CC-RightFlyout"),n}return t(r,[{key:"render",value:function(){this.logger.log("render");var e=null;if(this.props.content&&this.props.isOpen){var t=this.props.enableRightFlyoutUnderToolbar?"right-flyout-panel under-toolbar":"right-flyout-panel";e=s.createElement("div",{className:t},this.props.content)}return e}}]),r}(s.Component),jl=l((function(e,t){return{isOpen:e.rightflyout.isOpen,content:e.rightflyout.content,enableRightFlyoutUnderToolbar:e.canvasconfig.enableRightFlyoutUnderToolbar}}))(Hl);function Rl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var Ul=function(n){i(r,n);var o=Rl(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).logger=new Re("CC-Bottom-Panel"),n.onMouseUp=n.onMouseUp.bind(a(n)),n.onMouseDown=n.onMouseDown.bind(a(n)),n.onMouseMoveY=n.onMouseMoveY.bind(a(n)),n}return t(r,[{key:"onMouseDown",value:function(e){0===e.button&&(document.addEventListener("mousemove",this.onMouseMoveY,!0),document.addEventListener("mouseup",this.onMouseUp,!0),this.posY=e.clientY,e.preventDefault())}},{key:"onMouseUp",value:function(e){document.removeEventListener("mousemove",this.onMouseMoveY,!0),document.removeEventListener("mouseup",this.onMouseUp,!0)}},{key:"onMouseMoveY",value:function(e){if(e.clientY){var t=e.clientY-this.posY,n=this.props.panelHeight-t;this.props.canvasController.setBottomPanelHeight(this.limitHeight(n)),this.posY=e.clientY}}},{key:"limitHeight",value:function(e){var t=document.getElementById(this.props.containingDivId),n=e;if(t){var i=t.getBoundingClientRect().height-100;n=Math.min(Math.max(n,75),i)}return n}},{key:"render",value:function(){this.logger.log("render");var e=null;if(this.props.bottomPanelIsOpen){var t=this.limitHeight(this.props.panelHeight)+"px";e=s.createElement("div",{className:"bottom-panel",style:{height:t}},s.createElement("div",{className:"bottom-panel-drag",onMouseDown:this.onMouseDown}),s.createElement("div",{className:"bottom-panel-contents"},this.props.bottomPanelContent))}return e}}]),r}(s.Component),Bl=l((function(e,t){return{bottomPanelIsOpen:e.bottompanel.isOpen,bottomPanelContent:e.bottompanel.content,panelHeight:e.bottompanel.panelHeight}}))(Ul);function Fl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var Gl=function(n){i(r,n);var o=Fl(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).logger=new Re("CC-Top-Panel"),n}return t(r,[{key:"render",value:function(){this.logger.log("render");var e=null,t="top-panel";return this.props.toolbarIsOpen&&(t+=" common-canvas-toolbar-none"),this.props.topPanelIsOpen&&(e=s.createElement("div",{className:t},this.props.topPanelContent)),e}}]),r}(s.Component),Yl=l((function(e,t){return{topPanelIsOpen:e.toppanel.isOpen,topPanelContent:e.toppanel.content,toolbarIsOpen:"None"===e.canvasconfig.enableToolbarLayout}}))(Gl),Wl="Close";function Xl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var Zl=function(n){i(r,n);var o=Xl(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).state={},n.firstTime=!0,n.logger=new Re("NotificationPanel"),n.handleNotificationPanelClickOutside=n.handleNotificationPanelClickOutside.bind(a(n)),n.closeNotificationPanel=n.closeNotificationPanel.bind(a(n)),n}return t(r,[{key:"componentDidMount",value:function(){document.addEventListener("click",this.handleNotificationPanelClickOutside,!0)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("click",this.handleNotificationPanelClickOutside,!0)}},{key:"getNotifications",value:function(){var e=[];if(!this.props.messages)return e;for(var t=0;t<this.props.messages.length;t++){var n=this.props.messages[t],i=n.callback?" clickable ":"",o=n.type,r=s.createElement("div",{className:"notification-message-type"},s.createElement(m,{type:o,className:"notification-message-icon-".concat(o)})),a=n.title?s.createElement("div",{className:"notification-message-title"},n.title):null,l=n.subtitle?s.createElement("div",{className:"notification-message-subtitle"},n.subtitle,s.createElement("hr",null)):null,c=n.closeMessage?s.createElement("div",{className:"notification-message-close",onClick:this.deleteNotification.bind(this,n.id)},n.closeMessage):null,u=n.timestamp?s.createElement("div",{className:"notification-message-timestamp"},s.createElement("div",{className:"notification-message-timestamp-icon"},s.createElement(m,{type:"time"})),s.createElement("div",{className:"notification-message-string"},n.timestamp)):null;e.push(s.createElement("div",{className:"notifications-button-container",key:t+"-"+n.id},s.createElement("div",{className:"notifications "+i+n.type,onClick:this.notificationCallback.bind(this,n.id,n.callback)},r,s.createElement("div",{className:"notification-message-details"},a,l,s.createElement("div",{className:"notification-message-content"},n.content),u,c))))}return e}},{key:"handleNotificationPanelClickOutside",value:function(e){if(this.props.isNotificationOpen&&this.props.notificationConfig&&!this.props.notificationConfig.keepOpen){var t=document.getElementsByClassName(Se)[0],n=document.getElementsByClassName("notification-panel-header")[0],i=document.getElementsByClassName("notification-panel-messages-container")[0];t&&!t.contains(e.target)&&n&&!n.contains(e.target)&&i&&!i.contains(e.target)&&(this.props.canvasController.toolbarActionHandler("closeNotificationPanel"),e.stopPropagation())}}},{key:"notificationCallback",value:function(e,t){t&&t(e)}},{key:"deleteNotification",value:function(e){this.props.canvasController.deleteNotificationMessages(e)}},{key:"clearNotificationMessages",value:function(){this.props.canvasController.clearNotificationMessages(),"function"==typeof this.props.notificationConfig.clearAllCallback&&this.props.notificationConfig.clearAllCallback()}},{key:"closeNotificationPanel",value:function(){this.props.canvasController.toolbarActionHandler("closeNotificationPanel")}},{key:"render",value:function(){if(this.logger.log("render"),!this.props.notificationConfig)return null;var e=this.props.isNotificationOpen?"":"panel-hidden";e+=this.firstTime?"":" panel-transition",this.firstTime=!1;var t=this.props.notificationConfig&&this.props.notificationConfig.notificationHeader?this.props.notificationConfig.notificationHeader:De,n=this.props.notificationConfig&&this.props.notificationConfig.notificationSubtitle?s.createElement("div",{className:"notification-panel-subtitle"},this.props.notificationConfig.notificationSubtitle):null,i=this.props.messages.length>0?this.getNotifications():s.createElement("div",{className:"notification-panel-empty-message-container"},s.createElement("div",{className:"notification-panel-empty-message"},this.props.notificationConfig&&this.props.notificationConfig.emptyMessage?this.props.notificationConfig.emptyMessage:null)),o=this.props.notificationConfig&&this.props.notificationConfig.clearAllMessage?s.createElement("div",{className:"notification-panel-clear-all-container"},s.createElement(je,{className:"notification-panel-clear-all",onClick:this.clearNotificationMessages.bind(this),kind:"ghost",size:"small",disabled:0===this.props.messages.length},this.props.notificationConfig.clearAllMessage)):null,r=this.props.notificationConfig&&this.props.notificationConfig.secondaryButtonLabel&&this.props.notificationConfig.secondaryButtonCallback?s.createElement("div",{className:"notification-panel-secondary-button-container"},s.createElement(je,{className:"notification-panel-secondary-button",onClick:this.props.notificationConfig.secondaryButtonCallback.bind(this),kind:"ghost",size:"small",disabled:this.props.secondaryButtonDisabled},this.props.notificationConfig.secondaryButtonLabel)):null;return s.createElement("div",{className:"notification-panel-container "+e},s.createElement("div",{className:"notification-panel"},s.createElement("div",{className:"notification-panel-header-container"},s.createElement("div",{className:"notification-panel-header"},t,s.createElement(je,{className:"notification-panel-close-button",size:"sm",kind:"ghost",renderIcon:ct,hasIconOnly:!0,iconDescription:this.props.intl.formatMessage({id:"notification.panel.close.button.description",defaultMessage:Wl}),onClick:this.closeNotificationPanel,tooltipAlignment:"end",tooltipPosition:"bottom"})),n),s.createElement("div",{className:"notification-panel-messages-container"},s.createElement("div",{className:"notification-panel-messages"},i),s.createElement("div",{className:"notification-panel-button-container"},o,r))))}}],[{key:"getDerivedStateFromProps",value:function(e,t){return e.messages!==t.messages?{messages:e.messages}:{}}}]),r}(s.Component),Vl=l((function(e,t){return{notificationConfig:e.notificationpanel.config,secondaryButtonDisabled:!!e.notificationpanel.config&&e.notificationpanel.config.secondaryButtonDisabled,isNotificationOpen:e.notificationpanel.isOpen,messages:e.notifications}}))(u(Zl));function Kl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var ql=function(n){i(r,n);var o=Kl(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).logger=new Re("CC-CentralItems"),n}return t(r,[{key:"onDragOver",value:function(e){e.preventDefault()}},{key:"onDrop",value:function(e){e.preventDefault()}},{key:"generateClass",value:function(){var e="common-canvas";return e+=this.props.enableEditingActions?"":" config-editing-actions-false",e+=this.props.enableParentClass?" "+this.props.enableParentClass:""}},{key:"render",value:function(){this.logger.log("render");var e=s.createElement(kn,{canvasController:this.props.canvasController}),t=s.createElement(yn,{canvasController:this.props.canvasController,containingDivId:this.props.containingDivId}),n=s.createElement(jl,null),i=s.createElement(Ml,{canvasController:this.props.canvasController}),o=s.createElement(Ol,{canvasController:this.props.canvasController}),r=s.createElement(Bl,{canvasController:this.props.canvasController,containingDivId:this.props.containingDivId}),a=s.createElement(Yl,{canvasController:this.props.canvasController,containingDivId:this.props.containingDivId}),l=s.createElement(Vl,{canvasController:this.props.canvasController}),c=null;if(this.props.enableRightFlyoutUnderToolbar){var u=this.props.toolbarIsOpen?"auto 1fr":"1fr",d=this.props.rightFlyoutIsOpen?"1fr auto":"1fr",h=this.props.topPanelIsOpen?"auto 1fr":"1fr";h+=this.props.bottomPanelIsOpen?" auto":"",c=s.createElement("div",{className:"common-canvas-right-side-items-under-toolbar",style:{gridTemplateRows:u}},i,s.createElement("div",{id:this.props.containingDivId,className:"common-canvas-items-container-under-toolbar",style:{gridTemplateColumns:d}},s.createElement("div",{className:"common-canvas-with-top-and-bottom-panel",style:{gridTemplateRows:h}},a,o,r),n),l)}else{var p="";p+=this.props.toolbarIsOpen?"auto":"",p+=this.props.topPanelIsOpen?" auto":"",p+=" 1fr",p+=this.props.bottomPanelIsOpen?" auto":"",c=s.createElement("div",{className:"common-canvas-right-side-items"},s.createElement("div",{id:this.props.containingDivId,className:"common-canvas-items-container",style:{gridTemplateRows:p}},i,a,o,r,l),n)}var g=this.generateClass();return s.createElement("div",{className:g,onDragOver:this.onDragOver,onDrop:this.onDrop},t,c,e)}}]),r}(s.Component),$l=l((function(e,t){return{enableParentClass:e.canvasconfig.enableParentClass,enableEditingActions:e.canvasconfig.enableEditingActions,enableRightFlyoutUnderToolbar:e.canvasconfig.enableRightFlyoutUnderToolbar,toolbarIsOpen:"None"!==e.canvasconfig.enableToolbarLayout,topPanelIsOpen:e.toppanel.isOpen,bottomPanelIsOpen:e.bottompanel.isOpen,rightFlyoutIsOpen:e.rightflyout.isOpen}}))(ql);function Jl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var Ql=u(function(n){i(r,n);var o=Jl(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).logger=new Re(["CommonCanvas"]),n.logger.log("constructor"),n.initializeController=n.initializeController.bind(a(n)),n.containingDivId="common-canvas-items-container-"+t.canvasController.getInstanceId(),t.canvasController.setIntl(t.intl),n.initializeController(t),n}return t(r,[{key:"componentDidUpdate",value:function(){this.logger.log("componentDidUpdate"),this.initializeController(this.props)}},{key:"initializeController",value:function(e){this.logger.logStartTimer("initializeController"),e.canvasController.setCanvasConfig(e.config),e.canvasController.setContextMenuConfig(e.contextMenuConfig),e.canvasController.setKeyboardConfig(e.keyboardConfig),e.canvasController.setToolbarConfig(e.toolbarConfig),e.canvasController.setNotificationPanelConfig(e.notificationConfig),e.canvasController.setRightFlyoutConfig({content:e.rightFlyoutContent,isOpen:e.showRightFlyout}),e.canvasController.setBottomPanelConfig({content:e.bottomPanelContent,isOpen:e.showBottomPanel}),e.canvasController.setTopPanelConfig({content:e.topPanelContent,isOpen:e.showTopPanel}),e.canvasController.setHandlers({contextMenuHandler:e.contextMenuHandler,beforeEditActionHandler:e.beforeEditActionHandler,editActionHandler:e.editActionHandler,clickActionHandler:e.clickActionHandler,decorationActionHandler:e.decorationActionHandler,tipHandler:e.tipHandler,layoutHandler:e.layoutHandler,idGeneratorHandler:e.idGeneratorHandler,selectionChangeHandler:e.selectionChangeHandler,actionLabelHandler:e.actionLabelHandler}),this.logger.logEndTimer("initializeController")}},{key:"render",value:function(){return this.logger.log("render"),s.createElement(c,{store:this.props.canvasController.getStore()},s.createElement($l,{canvasController:this.props.canvasController,containingDivId:this.containingDivId}))}}]),r}(s.Component));export{Ql as c};
|
|
2
|
-
//# sourceMappingURL=common-canvas-
|
|
1
|
+
import{_ as e,a as t,b as n}from"./createClass-ffbbe837.js";import{_ as i,a as o,b as r,c as a}from"./getPrototypeOf-012c454b.js";import s from"react";import{connect as l,Provider as c}from"react-redux";import{injectIntl as u}from"react-intl";import{h as d,g as h,N as p,E as g,c as f,u as v,a3 as y}from"./isArrayLikeObject-9104c690.js";import{I as m}from"./icon-5e06bfe1.js";import b from"react-inlinesvg";import{M as k,N as C,U as x,O as P,h as L,P as w,Q as S,R as N,V as T,X as D,Y as E,Z as I,$ as O,E as _,W as A,a0 as M,a1 as z,a2 as H,a3 as j,a4 as R,a5 as U,a6 as B,a7 as F,a8 as G,a9 as Y,aa as W,ab as X,ac as Z,ad as V,ae as K,af as q,ag as $,ah as J,ai as Q,aj as ee,ak as te,al as ne,am as ie,an as oe,ao as re,ap as ae,aq as se,ar as le,c as ce,as as ue,at as de,au as he,_ as pe,av as ge,aw as fe,ax as ve,ay as ye,az as me,aA as be,aB as ke,aC as Ce,aD as xe,T as Pe,aE as Le,aF as we,aG as Se,S as Ne,I as Te,aH as De}from"./canvas-constants-f4219d26.js";import{a as Ee,t as Ie,T as Oe}from"./toolbar-85e1e463.js";import{c as _e}from"./datarecord-metadata-v3-schema-c2ad8862.js";import{AccordionItem as Ae,InlineLoading as Me,Search as ze,Accordion as He,Button as je}from"carbon-components-react";import{L as Re}from"./canvas-logger-fec87cd1.js";import Ue from"./lib/tooltip.es.js";import Be from"react-resize-detector";import{a as Fe,d as Ge,_ as Ye,b as We}from"./canvas-controller-62b66fc8.js";import{C as Xe,a as Ze}from"./context-menu-wrapper-ab018d6e.js";import{_ as Ve,y as Ke}from"./_baseIteratee-84bbd39d.js";import{TextScale32 as qe,TextBold32 as $e,TextItalic32 as Je,TextStrikethrough32 as Qe,Code32 as et,Link32 as tt,TextIndentMore32 as nt,ListNumbered32 as it,ListBulleted32 as ot,Locked16 as rt,EditOff16 as at,FlowData16 as st,ArrowLeft16 as lt,Close16 as ct}from"@carbon/icons-react";import ut from"react-dom";var dt="Find palette nodes",ht="No results found.",pt="Try adjusting your search to find what you're looking for.",gt="Results restricted to 10 nodes. Try refining your search.",ft="Show more",vt="Show less",yt="Flyout Palette",mt="Dialog Palette";function bt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var kt=function(n){i(r,n);var o=bt(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).state={hover:!1},n.iconClicked=n.iconClicked.bind(a(n)),n.mouseEnter=n.mouseEnter.bind(a(n)),n.mouseLeave=n.mouseLeave.bind(a(n)),n.mouseDown=n.mouseDown.bind(a(n)),n}return t(r,[{key:"iconClicked",value:function(){this.props.iconClickedMethod()}},{key:"mouseEnter",value:function(){this.setState({hover:!0})}},{key:"mouseLeave",value:function(){this.setState({hover:!1})}},{key:"mouseDown",value:function(e){e.stopPropagation()}},{key:"render",value:function(){var e=this.props.selectedIconName;return this.props.isSelected||(e=this.state.hover?this.props.hoverIconName:this.props.deselectedIconName),s.createElement("div",{draggable:"false",className:"palette-three-way-icon-div"},s.createElement("img",{src:e,draggable:"false",onClick:this.iconClicked,onMouseEnter:this.mouseEnter,onMouseLeave:this.mouseLeave,onMouseDown:this.mouseDown}))}}]),r}(s.Component);function Ct(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var xt=function(n){i(r,n);var o=Ct(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).state={},n.mouseDown=n.mouseDown.bind(a(n)),n.doubleClick=n.doubleClick.bind(a(n)),n.close=n.close.bind(a(n)),n.gridViewSelected=n.gridViewSelected.bind(a(n)),n.listViewSelected=n.listViewSelected.bind(a(n)),n}return t(r,[{key:"mouseDown",value:function(e){this.props.mouseDownMethod(e)}},{key:"doubleClick",value:function(e){this.props.windowMaximizeMethod(e)}},{key:"close",value:function(e){this.props.canvasController.closePalette(e)}},{key:"gridViewSelected",value:function(){this.props.showGridMethod(!0)}},{key:"listViewSelected",value:function(){this.props.showGridMethod(!1)}},{key:"render",value:function(){return s.createElement("div",{className:"palette-dialog-topbar",onMouseDown:this.mouseDown,onDoubleClick:this.doubleClick},s.createElement("span",{className:"left-navbar"},s.createElement(kt,{iconClickedMethod:this.gridViewSelected,isSelected:this.props.showGrid,selectedIconName:"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%20enable-background%3D%22new%200%200%2016%2016%22%3E%3Cg%20fill%3D%22%233D70B2%22%3E%3Cpath%20d%3D%22m9.8%200h6.2v6.2h-6.2z%22%2F%3E%3Cpath%20d%3D%22M8.6%2C0H7.4H0v7.4v1.2V16h7.4h1.2H16V8.6V7.4H8.6V0z%20M7.4%2C14.8H1.2V8.6h6.2V14.8z%20M14.8%2C8.6v6.2H8.6V8.6%20%20H14.8z%20M1.2%2C7.4V1.2h6.2v6.2H1.2z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E",hoverIconName:"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%20enable-background%3D%22new%200%200%2016%2016%22%3E%3Cg%20fill%3D%22%235596e6%22%3E%3Cpath%20d%3D%22m9.8%200h6.2v6.2h-6.2z%22%2F%3E%3Cpath%20d%3D%22M8.6%2C0H7.4H0v7.4v1.2V16h7.4h1.2H16V8.6V7.4H8.6V0z%20M7.4%2C14.8H1.2V8.6h6.2V14.8z%20M14.8%2C8.6v6.2H8.6V8.6%20%20H14.8z%20M1.2%2C7.4V1.2h6.2v6.2H1.2z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E",deselectedIconName:"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%20enable-background%3D%22new%200%200%2016%2016%22%3E%3Cg%20fill%3D%22%23C7C7C7%22%3E%3Cpath%20d%3D%22m9.8%200h6.2v6.2h-6.2z%22%2F%3E%3Cpath%20d%3D%22M8.6%2C0H7.4H0v7.4v1.2V16h7.4h1.2H16V8.6V7.4H8.6V0z%20M7.4%2C14.8H1.2V8.6h6.2V14.8z%20M14.8%2C8.6v6.2H8.6V8.6%20%20H14.8z%20M1.2%2C7.4V1.2h6.2v6.2H1.2z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"}),s.createElement(kt,{iconClickedMethod:this.listViewSelected,isSelected:!this.props.showGrid,selectedIconName:"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%20enable-background%3D%22new%200%200%2016%2016%22%3E%3Cg%20fill%3D%22%233D70B2%22%3E%3Cpath%20d%3D%22m0%2014.5h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%2014.5h12.7v1.5h-12.7z%22%2F%3E%3Cpath%20d%3D%22m0%209.7h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%209.7h12.7v1.5h-12.7z%22%2F%3E%3Cpath%20d%3D%22m0%204.8h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%204.8h12.7v1.5h-12.7z%22%2F%3E%3Cpath%20d%3D%22m0%200h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%200h12.7v1.5h-12.7z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E",hoverIconName:"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%20enable-background%3D%22new%200%200%2016%2016%22%3E%3Cg%20fill%3D%22%235596e6%22%3E%3Cpath%20d%3D%22m0%2014.5h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%2014.5h12.7v1.5h-12.7z%22%2F%3E%3Cpath%20d%3D%22m0%209.7h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%209.7h12.7v1.5h-12.7z%22%2F%3E%3Cpath%20d%3D%22m0%204.8h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%204.8h12.7v1.5h-12.7z%22%2F%3E%3Cpath%20d%3D%22m0%200h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%200h12.7v1.5h-12.7z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E",deselectedIconName:"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%20enable-background%3D%22new%200%200%2016%2016%22%3E%3Cg%20fill%3D%22%23C7C7C7%22%3E%3Cpath%20d%3D%22m0%2014.5h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%2014.5h12.7v1.5h-12.7z%22%2F%3E%3Cpath%20d%3D%22m0%209.7h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%209.7h12.7v1.5h-12.7z%22%2F%3E%3Cpath%20d%3D%22m0%204.8h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%204.8h12.7v1.5h-12.7z%22%2F%3E%3Cpath%20d%3D%22m0%200h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%200h12.7v1.5h-12.7z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"})),s.createElement("span",{className:"right-navbar"},s.createElement("a",{className:"secondary-action",onClick:this.close},s.createElement("img",{src:"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20style%3D%22fill%3A%233D70B2%22%20d%3D%22M20.293%2010.293L16%2014.586l-4.293-4.293-1.414%201.414L14.586%2016l-4.293%204.293%201.414%201.414L16%2017.414l4.293%204.293%201.414-1.414L17.414%2016l4.293-4.293z%22%2F%3E%3Cpath%20style%3D%22fill%3A%233D70B2%22%20d%3D%22M16%202C8.269%202%202%208.269%202%2016s6.269%2014%2014%2014%2014-6.269%2014-14S23.731%202%2016%202zm0%2026C9.383%2028%204%2022.617%204%2016S9.383%204%2016%204s12%205.383%2012%2012-5.383%2012-12%2012z%22%2F%3E%3C%2Fsvg%3E",draggable:"false",className:"close-icon"}))))}}]),r}(s.Component);function Pt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var Lt=function(n){i(r,n);var o=Pt(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).state={},n.categorySelected=n.categorySelected.bind(a(n)),n}return t(r,[{key:"categorySelected",value:function(e){this.props.categorySelectedMethod(e)}},{key:"render",value:function(){var e="palette-dialog-category";return this.props.selectedCategory===this.props.category.label&&(e="palette-dialog-category-selected"),s.createElement("div",{"data-id":this.props.category.id,className:e,onClick:this.categorySelected},this.props.category.label)}}]),r}(s.Component);function wt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var St=function(n){i(r,n);var o=wt(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).state={},n}return t(r,[{key:"render",value:function(){for(var e=[],t=0;t<this.props.categories.length;t++)e.push(s.createElement(Lt,{key:this.props.categories[t].label,category:this.props.categories[t],selectedCategory:this.props.selectedCategory,categorySelectedMethod:this.props.categorySelectedMethod}));return s.createElement("div",{className:"palette-dialog-categories palette-scroll"},e)}}]),r}(s.Component),Nt="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2060%22%3E%20%3Cpath%20d%3D%22M32%2C42a1.61%2C1.61%2C0%2C0%2C1-.8-.2L9.28%2C30.15l1.6-2.94L32%2C38.47%2C53.12%2C27.21l1.6%2C2.94L32.8%2C41.84A1.71%2C1.71%2C0%2C0%2C1%2C32%2C42Z%22%2F%3E%20%3Cpath%20d%3D%22M32%2C52.05a1.72%2C1.72%2C0%2C0%2C1-.8-.2L9.28%2C40.17l1.6-2.94L32%2C48.48%2C53.12%2C37.23l1.6%2C2.94L32.8%2C51.85A1.72%2C1.72%2C0%2C0%2C1%2C32%2C52.05Z%22%2F%3E%20%3Cpath%20d%3D%22M32%2C32a1.72%2C1.72%2C0%2C0%2C1-.8-.2L9.28%2C20.14a1.66%2C1.66%2C0%2C0%2C1%2C0-2.94L31.2%2C5.52a1.68%2C1.68%2C0%2C0%2C1%2C1.6%2C0L54.72%2C17.2a1.66%2C1.66%2C0%2C0%2C1%2C.69%2C2.26%2C1.74%2C1.74%2C0%2C0%2C1-.69.68L32.8%2C31.82A1.72%2C1.72%2C0%2C0%2C1%2C32%2C32ZM13.64%2C18.67%2C32%2C28.46l18.36-9.79L32%2C8.88Z%22%2F%3E%20%3Crect%20x%3D%225.02%22%20y%3D%221.98%22%20width%3D%2253.96%22%20height%3D%2253.41%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E",Tt="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2060%22%3E%20%3Cpolygon%20points%3D%2217.28%204.63%2026.88%2014.07%2024.74%2015.87%2018.94%2010.35%2018.94%2026.29%2015.78%2026.29%2015.78%2010.35%209.97%2016.12%207.91%2014.04%2017.28%204.63%22%2F%3E%20%3Cpath%20d%3D%22M32.39%2C6.36l.2.1%2C20.35%2C11a2.7%2C2.7%2C0%2C0%2C1%2C1.11%2C1.11%2C2.74%2C2.74%2C0%2C0%2C1-.89%2C3.59l-.22.13L33%2C33a2.66%2C2.66%2C0%2C0%2C1-2.51%2C0l-6-3.13a1.83%2C1.83%2C0%2C1%2C1%2C1.69-3.25l5.57%2C2.89%2C18-9.69L30.85%2C9.68A1.83%2C1.83%2C0%2C0%2C1%2C30%2C7.39l.09-.19A1.83%2C1.83%2C0%2C0%2C1%2C32.39%2C6.36Z%22%2F%3E%20%3Cpath%20d%3D%22M53%2C28.53l1.62%2C3L32.52%2C43.43a1.59%2C1.59%2C0%2C0%2C1-.8.21%2C1.66%2C1.66%2C0%2C0%2C1-.81-.21L8.8%2C31.53l1.61-3L31.72%2C40Z%22%2F%3E%20%3Cpath%20d%3D%22M53%2C38.74l1.62%2C3L32.52%2C53.64a1.69%2C1.69%2C0%2C0%2C1-.8.2%2C1.76%2C1.76%2C0%2C0%2C1-.81-.2L8.8%2C41.73l1.61-3L31.72%2C50.21Z%22%2F%3E%3C%2Fsvg%3E";function Dt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var Et=function(n){i(r,n);var o=Dt(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).state={},n.ghostData=null,n.onDragStart=n.onDragStart.bind(a(n)),n.onDragEnd=n.onDragEnd.bind(a(n)),n.onDoubleClick=n.onDoubleClick.bind(a(n)),n.onMouseOver=n.onMouseOver.bind(a(n)),n.onMouseLeave=n.onMouseLeave.bind(a(n)),n.onMouseDown=n.onMouseDown.bind(a(n)),n}return t(r,[{key:"onMouseDown",value:function(){this.props.canvasController.closeTip(),this.ghostData=this.props.canvasController.getGhostNode(this.props.nodeTemplate)}},{key:"onDragStart",value:function(e){this.props.canvasController.nodeTemplateDragStart(this.ghostData.nodeTemplate),e.dataTransfer.setData(k,""),this.ghostData&&e.dataTransfer.setDragImage(this.ghostData.element,this.ghostData.centerX,this.ghostData.centerY)}},{key:"onDragEnd",value:function(){this.props.canvasController.nodeTemplateDragEnd()}},{key:"onDoubleClick",value:function(){if(this.props.canvasController.createAutoNode){var e=this.props.canvasController.convertNodeTemplate(this.props.nodeTemplate);this.props.canvasController.createAutoNode(e)}}},{key:"onMouseOver",value:function(e){if(0===e.buttons){var t=this.props.category.empty_text?{app_data:{ui_data:{label:this.props.category.empty_text}}}:this.props.nodeTemplate;this.props.canvasController.openTip({id:"paletteTip_"+this.props.nodeTemplate.op,type:C,targetObj:e.currentTarget,nodeTemplate:t,category:this.props.category})}}},{key:"onMouseLeave",value:function(){this.props.canvasController.closeTip()}},{key:"render",value:function(){var e="";d(this.props.nodeTemplate,"app_data.ui_data.label")&&(e=this.props.nodeTemplate.app_data.ui_data.label);var t=s.createElement("div",{className:"node-icon"});if(d(this.props.nodeTemplate,"app_data.ui_data.image")){var n=this.props.nodeTemplate.app_data.ui_data.image;n===x?n=Nt:n===P&&(n=Tt),t=n.endsWith(".svg")?s.createElement(b,{src:n,className:"node-icon",alt:e}):s.createElement("img",{src:n,className:"node-icon",alt:e})}var i=this.props.isEditingEnabled?"true":"false",o="palette-dialog-grid-node-text";return this.props.category&&0===this.props.category.node_types.length&&this.props.category.empty_text&&(e=this.props.category.empty_text,i="false",o="palette-dialog-grid-node-text-warning",t=s.createElement(m,{type:L.WARNING_UNFILLED,className:"palette-dialog-grid-node-icon-warning",draggable:"false"})),s.createElement("div",{id:this.props.nodeTemplate.id,"data-id":this.props.nodeTemplate.op,draggable:i,onMouseOver:this.onMouseOver,onMouseLeave:this.onMouseLeave,onMouseDown:this.props.isEditingEnabled?this.onMouseDown:null,onDragStart:this.props.isEditingEnabled?this.onDragStart:null,onDragEnd:this.props.isEditingEnabled?this.onDragEnd:null,onDoubleClick:this.props.isEditingEnabled?this.onDoubleClick:null,className:"palette-dialog-grid-node-outer"},s.createElement("div",{className:"palette-dialog-grid-node-inner"},s.createElement("div",{className:"palette-dialog-grid-node-icon"},t),s.createElement("div",{className:o},e)))}}]),r}(s.Component),It=Et;function Ot(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var _t=function(n){i(r,n);var o=Ot(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).state={},n}return t(r,[{key:"render",value:function(){var e=[];if(this.props.category&&this.props.category.node_types&&0===this.props.category.node_types.length&&this.props.category.empty_text)e.push(s.createElement(It,{key:"pal_grid_node_empty",category:this.props.category,nodeTemplate:{},canvasController:this.props.canvasController,isEditingEnabled:this.props.isEditingEnabled}));else for(var t=0;t<this.props.nodeTypes.length;t++)e.push(s.createElement(It,{key:"pal_grid_node_"+t,category:this.props.category,nodeTemplate:this.props.nodeTypes[t],canvasController:this.props.canvasController,isEditingEnabled:this.props.isEditingEnabled}));return s.createElement("div",{width:"100%",className:"palette-scroll"},e)}}]),r}(s.Component);function At(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var Mt=function(n){i(r,n);var o=At(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).state={showFullDescription:!1},n.ghostData=null,n.showFullDescription=n.showFullDescription.bind(a(n)),n.showShortDescription=n.showShortDescription.bind(a(n)),n.onDragStart=n.onDragStart.bind(a(n)),n.onDragEnd=n.onDragEnd.bind(a(n)),n.onDoubleClick=n.onDoubleClick.bind(a(n)),n.onMouseOver=n.onMouseOver.bind(a(n)),n.onMouseLeave=n.onMouseLeave.bind(a(n)),n.onMouseDown=n.onMouseDown.bind(a(n)),n.onKeyPress=n.onKeyPress.bind(a(n)),n}return t(r,[{key:"onMouseDown",value:function(){this.props.canvasController.closeTip(),this.ghostData=this.props.canvasController.getGhostNode(this.props.nodeTypeInfo.nodeType)}},{key:"onDragStart",value:function(e){this.props.canvasController.nodeTemplateDragStart(this.ghostData.nodeTemplate),e.dataTransfer.setData(k,""),this.ghostData&&e.dataTransfer.setDragImage(this.ghostData.element,this.ghostData.centerX,this.ghostData.centerY)}},{key:"onKeyPress",value:function(e){" "!==e.key&&"Space"!==e.code&&32!==e.keyCode||this.onDoubleClick()}},{key:"onDragEnd",value:function(){this.props.canvasController.nodeTemplateDragEnd()}},{key:"onDoubleClick",value:function(){if(this.props.canvasController.createAutoNode&&!this.isItemDisabled()){var e=this.props.canvasController.convertNodeTemplate(this.props.nodeTypeInfo.nodeType);this.props.canvasController.createAutoNode(e)}}},{key:"onMouseOver",value:function(e){if(!this.props.isDisplaySearchResult&&0===e.buttons){var t=this.props.nodeTypeInfo.category.empty_text?{app_data:{ui_data:{label:this.props.nodeTypeInfo.category.empty_text}}}:this.props.nodeTypeInfo.nodeType;this.props.canvasController.openTip({id:"paletteTip_"+this.props.nodeTypeInfo.nodeType.op,type:C,targetObj:e.currentTarget,nodeTemplate:t,category:this.props.nodeTypeInfo.category})}}},{key:"onMouseLeave",value:function(){this.props.canvasController.closeTip()}},{key:"getHighlightedCategoryLabel",value:function(){return this.getHighlightedText(this.props.nodeTypeInfo.category.label,this.props.nodeTypeInfo.occurrenceInfo.catLabelOccurrences)}},{key:"getHighlightedLabel",value:function(e){return this.getHighlightedText(e,this.props.nodeTypeInfo.occurrenceInfo.nodeLabelOccurrences)}},{key:"getHighlightedDesc",value:function(){var e=this.props.nodeTypeInfo.nodeType.app_data.ui_data.description,t=this.props.nodeTypeInfo.occurrenceInfo.nodeDescOccurrences,n=!1;if(e.length>150&&(n=!0,!this.state.showFullDescription)){var i=this.getAbbreviatedDescription(e,t,150);e=i.abbrDesc,t=i.occurrences}var o=this.getHighlightedText(e,t);if(n)if(this.state.showFullDescription){var r=this.props.intl.formatMessage({id:"palette.flyout.search.less",defaultMessage:vt});o.push(s.createElement("div",{key:"l_btn",className:"palette-list-item-desc-button",onClick:this.showShortDescription},r))}else{var a=this.props.intl.formatMessage({id:"palette.flyout.search.more",defaultMessage:ft});o.push(s.createElement("div",{key:"m_btn",className:"palette-list-item-desc-button",onClick:this.showFullDescription},a))}return o}},{key:"getAbbreviatedDescription",value:function(e,t,n){if(0===t.length)return{abbrDesc:e.substring(0,n)+" ...",occurrences:t};var i=t[0].start,o=e.length-i,r="",a=0;return i<n?(a=0,r=e.substring(a,n)+" ..."):o>n?(a=i,r="... "+e.substring(a,i+n)+" ...",a-=4):(a=e.length-n,r="... "+e.substring(a,e.length),a-=4),{abbrDesc:r,occurrences:t.map((function(e){return{start:e.start-a,end:e.end-a}}))}}},{key:"getHighlightedText",value:function(e,t){if(!t||0===t.length)return[s.createElement("span",{key:"o"},e)];var n=[],i=0,o="";return t.forEach((function(r,a){o=e.substring(i,r.start),n.push(s.createElement("span",{key:"s"+a},o)),o=e.substring(r.start,r.end),n.push(s.createElement("mark",{key:"m"+a},o)),i=r.end,a===t.length-1&&r.end<e.length&&(o=e.substring(r.end),n.push(s.createElement("span",{key:"f"+a},o)))})),n}},{key:"getMainDivClass",value:function(){var e,t,n,i,o=null===(e=this.props.nodeTypeInfo)||void 0===e||null===(t=e.nodeType)||void 0===t||null===(n=t.app_data)||void 0===n||null===(i=n.ui_data)||void 0===i?void 0:i.palette_class_name,r=this.props.isDisplaySearchResult?"palette-list-item search-result":"palette-list-item";return r+=o?" "+o:""}},{key:"showFullDescription",value:function(){this.setState({showFullDescription:!0})}},{key:"showShortDescription",value:function(){this.setState({showFullDescription:!1})}},{key:"isItemDisabled",value:function(){var e,t,n,i=null===(e=this.props.nodeTypeInfo.nodeType)||void 0===e||null===(t=e.app_data)||void 0===t||null===(n=t.ui_data)||void 0===n?void 0:n.palette_disabled;return!this.props.isEditingEnabled||i}},{key:"render",value:function(){var e=null,t=h(this.props,"nodeTypeInfo.nodeType.app_data.ui_data.label",""),n=this.isItemDisabled()?"false":"true",i=null;if(d(this.props.nodeTypeInfo.nodeType,"app_data.ui_data.image")){var o=this.props.nodeTypeInfo.nodeType.app_data.ui_data.palette_image?this.props.nodeTypeInfo.nodeType.app_data.ui_data.palette_image:this.props.nodeTypeInfo.nodeType.app_data.ui_data.image;o===x?o=Nt:o===P&&(o=Tt),i=o.endsWith(".svg")?s.createElement(b,{src:o,className:"palette-list-item-icon",draggable:"false"}):s.createElement("img",{src:o,className:"palette-list-item-icon",draggable:"false",alt:""})}!t||!this.props.isPaletteOpen&&i||(e=this.props.isDisplaySearchResult?this.getHighlightedLabel(t):s.createElement("span",null,t));var r=this.props.isShowRanking&&this.props.isDisplaySearchResult&&d(this.props.nodeTypeInfo,"occurrenceInfo.ranking")?s.createElement("span",null,this.props.nodeTypeInfo.occurrenceInfo.ranking):null;0===this.props.nodeTypeInfo.category.node_types.length&&this.props.nodeTypeInfo.category.empty_text&&(t=this.props.nodeTypeInfo.category.empty_text,this.props.isPaletteOpen&&(e=s.createElement("span",null,t)),n="false",i=s.createElement(m,{type:L.WARNING_UNFILLED,className:"palette-list-item-icon-warning",draggable:"false"}));var a=this.getMainDivClass(),l=this.props.isDisplaySearchResult?s.createElement("div",{className:"palette-list-item-category-label"},this.getHighlightedCategoryLabel()):null,c=this.props.isDisplaySearchResult&&d(this.props.nodeTypeInfo.nodeType,"app_data.ui_data.description")&&this.props.nodeTypeInfo.nodeType.app_data.ui_data.description?s.createElement("div",{className:"palette-list-item-description"},this.getHighlightedDesc()):null,u=e?s.createElement("div",{className:"palette-list-item-text-div",tabIndex:"-1"},e):null;return s.createElement("div",{"data-id":this.props.nodeTypeInfo.nodeType.op,tabIndex:0,role:"button","aria-label":t,draggable:n,className:a,onMouseOver:this.onMouseOver,onMouseLeave:this.onMouseLeave,onKeyPress:this.props.isEditingEnabled?this.onKeyPress:null,onMouseDown:this.props.isEditingEnabled?this.onMouseDown:null,onDragStart:this.props.isEditingEnabled?this.onDragStart:null,onDragEnd:this.props.isEditingEnabled?this.onDragEnd:null,onDoubleClick:this.props.isEditingEnabled?this.onDoubleClick:null},l,s.createElement("div",{className:"palette-list-item-icon-and-text",tabIndex:"-1"},i,u,r),c)}}]),r}(s.Component),zt=u(Mt);function Ht(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var jt=function(n){i(r,n);var o=Ht(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).state={},n}return t(r,[{key:"render",value:function(){var e=[];if(this.props.category&&this.props.category.node_types&&0===this.props.category.node_types.length&&this.props.category.empty_text)e.push(s.createElement("div",{key:"item_empty"},s.createElement(zt,{nodeTypeInfo:{nodeType:{},category:this.props.category},isDisplaySearchResult:!1,canvasController:this.props.canvasController,isPaletteOpen:this.props.isPaletteOpen,isEditingEnabled:this.props.isEditingEnabled})));else for(var t=0;t<this.props.nodeTypeInfos.length;t++){var n="item_"+t;e.push(s.createElement(zt,{key:n,nodeTypeInfo:this.props.nodeTypeInfos[t],isDisplaySearchResult:!1,canvasController:this.props.canvasController,isPaletteOpen:this.props.isPaletteOpen,isEditingEnabled:this.props.isEditingEnabled}))}return s.createElement("div",{width:"100%",draggable:"false",className:"palette-content-list palette-scroll"},e)}}]),r}(s.Component);function Rt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var Ut=function(n){i(r,n);var o=Rt(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).state={selectedCategory:""},n.categorySelected=n.categorySelected.bind(a(n)),n.getUniqueCategories=n.getUniqueCategories.bind(a(n)),n.getSelectedCategory=n.getSelectedCategory.bind(a(n)),n}return t(r,[{key:"getUniqueCategories",value:function(e){var t=[];if(e)for(var n=0;n<e.length;n++)-1===t.indexOf(e[n].label)&&t.push(e[n]);return t}},{key:"getSelectedCategory",value:function(e){var t={};if(e)for(var n=0;n<e.length;n++)e[n].label===this.state.selectedCategory&&(t=e[n]);return t}},{key:"categorySelected",value:function(e){this.setState({selectedCategory:e.target.firstChild.data})}},{key:"render",value:function(){var e=this.getUniqueCategories(this.props.paletteJSON.categories),t=this.getSelectedCategory(this.props.paletteJSON.categories),n=t&&t.node_types?t.node_types:[],i=n.map((function(e){return{nodeType:e,category:t}})),o=this.props.showGrid?s.createElement(_t,{category:t,nodeTypes:n,canvasController:this.props.canvasController,isEditingEnabled:this.props.isEditingEnabled}):s.createElement(jt,{category:t,nodeTypeInfos:i,canvasController:this.props.canvasController,isPaletteOpen:!0,isEditingEnabled:this.props.isEditingEnabled});return s.createElement("div",{className:"palette-dialog-content",ref:"palettecontent"},s.createElement(St,{categories:e,selectedCategory:this.state.selectedCategory,categorySelectedMethod:this.categorySelected}),o)}}],[{key:"getDerivedStateFromProps",value:function(e,t){return e.paletteJSON&&e.paletteJSON.categories&&e.paletteJSON.categories.length>0&&""===t.selectedCategory?{selectedCategory:e.paletteJSON.categories[0].label}:{}}}]),r}(s.Component);function Bt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var Ft=u(function(n){i(r,n);var o=Bt(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).state={xPos:100,yPos:100,showGrid:!0},n.showGrid=n.showGrid.bind(a(n)),n.mouseDownOnTopBar=n.mouseDownOnTopBar.bind(a(n)),n.mouseDownOnPalette=n.mouseDownOnPalette.bind(a(n)),n.mouseMove=n.mouseMove.bind(a(n)),n.mouseUp=n.mouseUp.bind(a(n)),n.windowResize=n.windowResize.bind(a(n)),n.windowMaximize=n.windowMaximize.bind(a(n)),n.getPaletteDiv=n.getPaletteDiv.bind(a(n)),n.resizePalette=n.resizePalette.bind(a(n)),n.movePalette=n.movePalette.bind(a(n)),n.setResizingCursors=n.setResizingCursors.bind(a(n)),n.setSizingHoverEdge=n.setSizingHoverEdge.bind(a(n)),n.snapToWidth=n.snapToWidth.bind(a(n)),n.snapToHeight=n.snapToHeight.bind(a(n)),n.removePx=n.removePx.bind(a(n)),n.dragging=!1,n.dragOffsetY=0,n.dragOffsetX=0,n.verticalSizingAction="",n.verticalSizingHover="",n.horizontalSizingAction="",n.hoizontalSizingHover="",n.savedWidth=0,n.savedLeft=0,n.savedHeight=0,n.savedTop=0,n.hoverZoneSize=3,n.totalHoverZoneSize=2*n.hoverZoneSize,n.adjustedWidth=137,n.adjustedHeight=51,n.adjustedScrollBarWidth=15,n.isMaximized=!1,n.paletteNodes=[],n.hackPaletteOffset=46,n.hackPaletteTopOffset=n.hackPaletteOffset+4,window.addEventListener("mousemove",n.mouseMove,!1),window.addEventListener("mouseup",n.mouseUp,!1),window.addEventListener("resize",n.windowResize,!1),n}return t(r,[{key:"componentDidUpdate",value:function(){this.windowResize()}},{key:"componentWillUnmount",value:function(){window.removeEventListener("mousemove",this.mouseMove),window.removeEventListener("mouseup",this.mouseUp),window.removeEventListener("resize",this.windowResize)}},{key:"getAdjustedMousePositionBottom",value:function(e,t){var n=e.clientY;return n>t.offsetTop+t.offsetHeight-this.hoverZoneSize&&(n=t.offsetTop+t.offsetHeight-this.hoverZoneSize),n}},{key:"getAdjustedMousePositionLeft",value:function(e,t){var n=e.clientX;return n<t.offsetLeft+this.hoverZoneSize&&(n=t.offsetLeft+this.hoverZoneSize),n}},{key:"getAdjustedMousePositionRight",value:function(e,t){var n=e.clientX;return n>t.offsetLeft+t.offsetWidth-this.hoverZoneSize&&(n=t.offsetLeft+t.offsetWidth-this.hoverZoneSize),n}},{key:"getAdjustedMousePositionTop",value:function(e,t){var n=e.clientY;return n<t.offsetTop+this.hoverZoneSize&&(n=t.offsetTop+this.hoverZoneSize),n}},{key:"getPaletteDiv",value:function(){return this.refs.palette}},{key:"getStyleProperty",value:function(e,t){var n=e.charAt(0),i=e.substring(1),o="#"===n?document.getElementById(i):document.getElementsByClassName(i)[0];return window.getComputedStyle(o,null).getPropertyValue(t)}},{key:"setResizingCursors",value:function(e){var t=this.getPaletteDiv();this.setSizingHoverEdge(e,t),"top"===this.verticalSizingHover?"left"===this.horizontalSizingHover?t.style.cursor="nwse-resize":"right"===this.horizontalSizingHover?t.style.cursor="nesw-resize":t.style.cursor="ns-resize":"bottom"===this.verticalSizingHover?"left"===this.horizontalSizingHover?t.style.cursor="nesw-resize":"right"===this.horizontalSizingHover?t.style.cursor="nwse-resize":t.style.cursor="ns-resize":"left"===this.horizontalSizingHover||"right"===this.horizontalSizingHover?t.style.cursor="ew-resize":t.style.cursor="default"}},{key:"setContentDivHeight",value:function(e,t){var n=t-this.removePx(this.getStyleProperty(".palette-dialog-topbar","height"))-this.totalHoverZoneSize+"px",i=e.childNodes[1];i.style.height=n,i.childNodes[0].style.height=n,i.childNodes[1].style.height=n,i.childNodes[2].style.height=n}},{key:"setSizingHoverEdge",value:function(e,t){e.clientX>t.offsetLeft&&e.clientX<t.offsetLeft+this.totalHoverZoneSize?this.horizontalSizingHover="left":e.clientX<t.offsetLeft+t.offsetWidth&&e.clientX>t.offsetLeft+t.offsetWidth-this.totalHoverZoneSize?this.horizontalSizingHover="right":(this.horizontalSizingHover="",this.horizontalSizingAction=""),e.clientY>t.offsetTop+this.hackPaletteTopOffset&&e.clientY<t.offsetTop+this.hackPaletteTopOffset+this.totalHoverZoneSize?this.verticalSizingHover="top":e.clientY<t.offsetTop+t.offsetHeight+this.hackPaletteOffset&&e.clientY>t.offsetTop+t.offsetHeight+this.hackPaletteOffset-this.totalHoverZoneSize?this.verticalSizingHover="bottom":(this.verticalSizingHover="",this.verticalSizingAction="")}},{key:"mouseDownOnTopBar",value:function(e){this.dragging=!0;var t=this.getPaletteDiv();this.dragOffsetX=e.clientX-t.offsetLeft,this.dragOffsetY=e.clientY-t.offsetTop}},{key:"mouseDownOnPalette",value:function(e){var t=this.getPaletteDiv();""===this.verticalSizingHover&&""===this.horizontalSizingHover||(this.verticalSizingAction=this.verticalSizingHover,this.horizontalSizingAction=this.horizontalSizingHover,this.savedWidth=t.offsetWidth,this.savedLeft=t.offsetLeft,this.savedHeight=t.offsetHeight,this.savedTop=t.offsetTop)}},{key:"mouseMove",value:function(e){""!==this.verticalSizingAction||""!==this.horizontalSizingAction?this.resizePalette(e):!0===this.dragging?this.movePalette(e):this.setResizingCursors(e)}},{key:"mouseUp",value:function(){var e=this.getPaletteDiv();if(this.state.showGrid&&""!==this.horizontalSizingAction){var t=this.removePx(e.style.width);""!==t&&(t=this.snapToWidth(t)),e.style.width=t+"px";var n=e.childNodes[1].childNodes[1];n.clientHeight<n.scrollHeight&&(e.style.width=t+this.adjustedScrollBarWidth+"px")}if(""!==this.verticalSizingAction){var i=this.removePx(e.style.height);if(""!==i){var o=this.snapToHeight(i);e.style.height=o+"px",this.setContentDivHeight(e,o)}}this.dragging=!1,this.verticalSizingAction="",this.horizontalSizingAction="",this.verticalSizingHover="",this.horizontalSizingHover=""}},{key:"movePalette",value:function(e){var t=this.getPaletteDiv(),n=document.getElementById(this.props.parentDivId),i=e.clientX-this.dragOffsetX,o=e.clientY-this.dragOffsetY;i<n.offsetLeft+this.hoverZoneSize&&(i=n.offsetLeft+this.hoverZoneSize),o<n.offsetTop+this.hoverZoneSize&&(o=n.offsetTop+this.hoverZoneSize),i+t.offsetWidth>n.offsetLeft+n.offsetWidth&&(i=n.offsetLeft+n.offsetWidth-t.offsetWidth-this.hoverZoneSize),o+t.offsetHeight>n.offsetTop+n.offsetHeight&&(o=n.offsetTop+n.offsetHeight-t.offsetHeight-this.hoverZoneSize),t.style.left=i+"px",t.style.top=o+"px"}},{key:"removePx",value:function(e){return parseInt(e.substring(0,e.indexOf("px")),10)}},{key:"resizePalette",value:function(e){var t=this.getPaletteDiv(),n=document.getElementById(this.props.parentDivId);this.isMaximized=!1;var i=this.removePx(this.getStyleProperty(".palette-dialog-grid-node-outer","width"))+this.removePx(this.getStyleProperty(".palette-dialog-categories","min-width"))+2*this.hoverZoneSize,o=this.removePx(this.getStyleProperty(".palette-dialog-grid-node-outer","height"))+this.removePx(this.getStyleProperty(".palette-dialog-topbar","height"))+2*this.hoverZoneSize;if("left"===this.horizontalSizingAction){var r=this.getAdjustedMousePositionLeft(e,n),a=this.savedWidth-(r-this.savedLeft);a<=i?t.style.width=i+"px":(t.style.width=a+"px",t.style.left=r+"px")}if("right"===this.horizontalSizingAction){var s=this.getAdjustedMousePositionRight(e,n)-this.savedLeft;s<=i&&(s=i),t.style.width=s+"px"}if("top"===this.verticalSizingAction){var l=this.getAdjustedMousePositionTop(e,n),c=this.savedHeight-(l-this.savedTop);c<=o?(t.style.height=o+"px",this.setContentDivHeight(t,this.minHeight)):(t.style.height=c+"px",t.style.top=l-this.dragOffsetY+"px",this.setContentDivHeight(t,c))}if("bottom"===this.verticalSizingAction){var u=this.getAdjustedMousePositionBottom(e,n)-this.savedTop-this.hackPaletteOffset;u<=o&&(u=o),t.style.height=u+"px",this.setContentDivHeight(t,u)}}},{key:"snapToWidth",value:function(e){var t=this.removePx(this.getStyleProperty(".palette-dialog-grid-node-outer","width"));return Math.round((e-this.adjustedWidth)/t)*t+this.adjustedWidth}},{key:"snapToHeight",value:function(e){var t=this.state.showGrid?this.removePx(this.getStyleProperty(".palette-dialog-grid-node-outer","height")):this.removePx(this.getStyleProperty(".palette-list-item","height"));return Math.round((e-this.adjustedHeight)/t)*t+this.adjustedHeight}},{key:"windowResize",value:function(){var e=this.getPaletteDiv(),t=document.getElementById(this.props.parentDivId);if(t)if(this.isMaximized){var n=t.offsetLeft+this.hoverZoneSize;e.style.left=n+"px";var i=t.offsetWidth-this.totalHoverZoneSize;e.style.width=i+"px";var o=t.offsetTop+this.hoverZoneSize;e.style.top=o+"px";var r=t.offsetHeight-this.totalHoverZoneSize;e.style.height=r+"px",this.setContentDivHeight(e,r)}else{if(e.offsetLeft+e.offsetWidth+this.hoverZoneSize>t.offsetLeft+t.offsetWidth){var a=t.offsetLeft+t.offsetWidth-e.offsetWidth-this.hoverZoneSize;e.style.left=a+"px"}var s=t.offsetWidth-this.totalHoverZoneSize;if(s<e.offsetWidth&&(e.style.width=s+"px",e.style.left=t.offsetLeft+t.offsetWidth-e.offsetWidth-this.hoverZoneSize+"px"),e.offsetTop+e.offsetHeight+this.hoverZoneSize>t.offsetTop+t.offsetHeight){var l=t.offsetTop+t.offsetHeight-e.offsetHeight-this.hoverZoneSize;e.style.top=l+"px"}var c=t.offsetHeight-this.totalHoverZoneSize;c<e.offsetHeight&&(e.style.height=c+"px",e.style.top=t.offsetTop+t.offsetHeight-e.offsetHeight-this.hoverZoneSize+"px",this.setContentDivHeight(e,c))}}},{key:"windowMaximize",value:function(){var e=this.getPaletteDiv(),t=document.getElementById(this.props.parentDivId);if(t)if(this.isMaximized)e.style.width=this.savedWidth+"px",e.style.left=this.savedLeft+"px",e.style.height=this.savedHeight+"px",e.style.top=this.savedTop+"px",this.setContentDivHeight(e,this.savedHeight),this.isMaximized=!1,this.windowResize();else{this.savedWidth=e.offsetWidth,this.savedLeft=e.offsetLeft,this.savedHeight=e.offsetHeight,this.savedTop=e.offsetTop;var n=t.offsetWidth-this.totalHoverZoneSize+1;e.style.width=n+"px",e.style.left=t.offsetLeft+this.hoverZoneSize+"px";var i=t.offsetHeight-this.totalHoverZoneSize+1;e.style.height=i+"px",e.style.top=t.offsetTop+this.hoverZoneSize+"px",this.setContentDivHeight(e,i),this.isMaximized=!0}}},{key:"showGrid",value:function(e){this.setState({showGrid:e})}},{key:"render",value:function(){var e=this.props.showPalette?"block":"none";return s.createElement("nav",{"aria-label":this.props.intl.formatMessage({id:"palette.dialog.label",defaultMessage:mt}),role:"navigation"},s.createElement("div",{className:"palette-dialog-div",ref:"palette",onMouseDown:this.mouseDownOnPalette,style:{display:e}},s.createElement(xt,{mouseDownMethod:this.mouseDownOnTopBar,showGridMethod:this.showGrid,windowMaximizeMethod:this.windowMaximize,showGrid:this.state.showGrid,canvasController:this.props.canvasController}),s.createElement(Ut,{paletteJSON:this.props.paletteJSON,showGrid:this.state.showGrid,canvasController:this.props.canvasController,isEditingEnabled:this.props.isEditingEnabled})))}}]),r}(s.Component)),Gt=p,Yt=g,Wt=function(){return Gt.Date.now()},Xt=Ee,Zt=Math.max,Vt=Math.min;var Kt=function(e,t,n){var i,o,r,a,s,l,c=0,u=!1,d=!1,h=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function p(t){var n=i,r=o;return i=o=void 0,c=t,a=e.apply(r,n)}function g(e){var n=e-l;return void 0===l||n>=t||n<0||d&&e-c>=r}function f(){var e=Wt();if(g(e))return v(e);s=setTimeout(f,function(e){var n=t-(e-l);return d?Vt(n,r-(e-c)):n}(e))}function v(e){return s=void 0,h&&i?p(e):(i=o=void 0,a)}function y(){var e=Wt(),n=g(e);if(i=arguments,o=this,l=e,n){if(void 0===s)return function(e){return c=e,s=setTimeout(f,t),u?p(e):a}(l);if(d)return clearTimeout(s),s=setTimeout(f,t),p(l)}return void 0===s&&(s=setTimeout(f,t)),a}return t=Xt(t)||0,Yt(n)&&(u=!!n.leading,r=(d="maxWait"in n)?Zt(Xt(n.maxWait)||0,t):r,h="trailing"in n?!!n.trailing:h),y.cancel=function(){void 0!==s&&clearTimeout(s),c=0,i=l=o=s=void 0},y.flush=function(){return void 0===s?a:v(Wt())},y};function qt(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return $t(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return $t(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0,o=function(){};return{s:o,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,r=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw r}}}}function $t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function Jt(e,t){var n=[];if(e.node_types){var i,o=qt(e.node_types);try{for(o.s();!(i=o.n()).done;){var r=i.value,a=Qt(r,e,t);a&&n.push({nodeType:r,category:e,occurrenceInfo:a})}}catch(e){o.e(e)}finally{o.f()}}return n}function Qt(e,t,n){if(n.length>0){var i=function(e,t){var n=d(e,"label")&&e.label?e.label.toLowerCase():"",i=en(n,t),o=i.occurrences,r=i.hitCounts;return{catLabelOccurrences:o,catLabelHitCounts:r}}(t,n),o=i.catLabelOccurrences,r=i.catLabelHitCounts,a=function(e,t){var n=d(e,"app_data.ui_data.label")&&e.app_data.ui_data.label?e.app_data.ui_data.label.toLowerCase():"",i=en(n,t),o=i.occurrences,r=i.hitCounts;return{nodeLabelOccurrences:o,nodeLabelHitCounts:r}}(e,n),s=a.nodeLabelOccurrences,l=a.nodeLabelHitCounts,c=function(e,t){var n=d(e,"app_data.ui_data.description")&&e.app_data.ui_data.description?e.app_data.ui_data.description.toLowerCase():"",i=en(n,t),o=i.occurrences,r=i.hitCounts;return{nodeDescOccurrences:o,nodeDescHitCounts:r}}(e,n),u=c.nodeDescOccurrences,h=c.nodeDescHitCounts;if(o.length>0||s.length>0||u.length>0){var p=function(e,t,n,i){for(var o=0,r=0,a=0;a<i;a++)o+=e[a]+10*t[a]+n[a],e[a]+t[a]+n[a]>0&&r++;return o+50*r}(r,l,h,n.length);return{catLabelOccurrences:o,nodeLabelOccurrences:s,nodeDescOccurrences:u,ranking:p}}}return null}function en(e,t){var n=[],i=[];return t.forEach((function(t){if(t){var o=function(e,t){var n=[],i=0,o=0,r=0;for(;o>-1&&r<20;)(o=e.indexOf(t,i))>-1&&(n.push({start:o,end:o+t.length}),i=o+t.length,r++);return n}(e,t);n=function(e,t){if(0===e.length)return t;if(0===t.length)return e;var n=[];t.forEach((function(t){var i=!1;e.forEach((function(e){t.start<=e.start&&t.end>=e.end?(e.start=t.start,e.end=t.end,i=!0):t.start>=e.start&&t.start<e.end?(t.end>=e.end&&(e.end=t.end),i=!0):t.end>e.start&&t.end<=e.end&&(t.start<e.start&&(e.start=t.start),i=!0)})),i||n.push(t)}));var i=e.concat(n);return i=i.sort((function(e,t){return e.start<t.start?-1:1}))}(n,o),i.push(o.length>0?1:0)}})),{occurrences:n,hitCounts:i}}function tn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var nn=function(n){i(r,n);var o=tn(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).onMouseOver=n.onMouseOver.bind(a(n)),n.onMouseLeave=n.onMouseLeave.bind(a(n)),n.categoryClicked=n.categoryClicked.bind(a(n)),n}return t(r,[{key:"onMouseOver",value:function(e){this.props.canvasController.openTip({id:"paletteTip_"+this.props.category.id,type:w,targetObj:e.currentTarget,category:this.props.category})}},{key:"onMouseLeave",value:function(){this.props.canvasController.closeTip()}},{key:"getDisplayLabel",value:function(){return!0===this.props.isPaletteOpen?this.props.category.label:!this.props.category.image&&this.props.category.label&&this.props.category.label.length>0?this.props.category.label.substr(0,3):null}},{key:"getInlineLoadingRenderCategory",value:function(){var e="";this.props.isPaletteOpen&&(e=this.props.category.loading_text);var t=s.createElement("div",{className:"palette-flyout-category"},s.createElement("div",{className:"palette-flyout-category-item-loading"},s.createElement(Me,{description:e,onSuccess:function(){return null},status:"active",successDelay:1500})));return s.createElement(Ae,{className:"palette-loading-category",title:t})}},{key:"getRenderCategory",value:function(){var e=this.getTitleObj(),t=this.getContent();return s.createElement(Ae,{title:e,open:this.props.category.is_open},t)}},{key:"getTitleObj",value:function(){var e=this.getItemImage(),t=this.getItemText();return s.createElement("div",{className:"palette-flyout-category","data-id":h(this.props.category,"id",""),onClick:this.categoryClicked,value:this.props.category.label,onMouseOver:this.onMouseOver,onMouseLeave:this.onMouseLeave},s.createElement("div",{className:"palette-flyout-category-item"},e,t))}},{key:"getItemText",value:function(){var e=null,t=this.getDisplayLabel();if(!0===this.props.isPaletteOpen){var n=this.props.category.image?"palette-flyout-category-text":"palette-flyout-category-text-no-image";e=s.createElement("span",{className:n},t)}else!this.props.category.image&&this.props.category.label&&this.props.category.label.length>0&&(e=s.createElement("span",{className:"palette-flyout-category-text-abbr"},t));return e}},{key:"getItemImage",value:function(){var e=null;return this.props.category.image&&""!==this.props.category.image&&(e=this.props.category.image.endsWith(".svg")?s.createElement("div",null,s.createElement(b,{src:this.props.category.image,className:"palette-flyout-category-item-icon",draggable:"false"})):s.createElement("div",null,s.createElement("img",{src:this.props.category.image,className:"palette-flyout-category-item-icon",draggable:"false",alt:this.props.category.label}))),e}},{key:"getContent",value:function(){var e=this;if(this.props.category.is_open){var t=this.props.category.node_types.map((function(t){return{nodeType:t,category:e.props.category}}));return s.createElement(jt,{key:this.props.category.id+"-nodes",category:this.props.category,nodeTypeInfos:t,canvasController:this.props.canvasController,isPaletteOpen:this.props.isPaletteOpen,isEditingEnabled:this.props.isEditingEnabled})}return null}},{key:"categoryClicked",value:function(e){e.stopPropagation(),this.props.category.is_open?this.props.canvasController.closePaletteCategory(this.props.category.id):this.props.canvasController.openPaletteCategory(this.props.category.id)}},{key:"render",value:function(){return this.props.category.loading_text?this.getInlineLoadingRenderCategory():this.getRenderCategory()}}]),r}(s.Component);function on(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var rn=u(function(n){i(r,n);var o=on(r);function r(){var t;return e(this,r),(t=o.call(this)).state={searchString:""},t.searchOnClick=t.searchOnClick.bind(a(t)),t.handleSearchStringChange=t.handleSearchStringChange.bind(a(t)),t}return t(r,[{key:"handleSearchStringChange",value:function(e){var t=this,n=e.target.value||"";this.setState({searchString:n},(function(){return t.props.handleSearchStringChange(n)}))}},{key:"searchOnClick",value:function(){this.props.isPaletteOpen||this.props.canvasController.openPalette()}},{key:"render",value:function(){var e=this.props.intl.formatMessage({id:"palette.flyout.search.placeholder",defaultMessage:dt});return s.createElement("div",{className:"palette-flyout-search-container",id:"palette-flyout-search"},s.createElement(ze,{key:"palette-flyout-search",className:"palette-flyout-search",placeholder:e,onChange:this.handleSearchStringChange,size:"sm",value:this.state.searchString,labelText:e,onClick:this.searchOnClick}))}}]),r}(s.Component));function an(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var sn=u(function(n){i(r,n);var o=an(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).state={},n}return t(r,[{key:"getNoResultsDiv",value:function(){var e=this.props.intl.formatMessage({id:"palette.flyout.search.noresults",defaultMessage:ht}),t=this.props.intl.formatMessage({id:"palette.flyout.search.adjustsearch",defaultMessage:pt});return s.createElement("div",null,s.createElement("div",{className:"palette-no-results-title"},e),s.createElement("br",null),s.createElement("div",{className:"palette-no-results-desc"},t))}},{key:"getContentListDiv",value:function(){for(var e=[],t=0;t<this.props.nodeTypeInfos.length;t++){var n="item_"+t;e.push(s.createElement("div",{key:n},s.createElement(zt,{nodeTypeInfo:this.props.nodeTypeInfos[t],isDisplaySearchResult:!0,isShowRanking:this.props.isShowRanking,canvasController:this.props.canvasController,isPaletteOpen:this.props.isPaletteOpen,isEditingEnabled:this.props.isEditingEnabled})))}if(this.props.isNodeTypeInfosArrayTruncated){var i=this.props.intl.formatMessage({id:"palette.flyout.search.resultsrestricted",defaultMessage:gt});e.push(s.createElement("div",{key:"restrict-item",className:"palette-flyout-restrict-item"},i))}return s.createElement("div",{width:"100%",draggable:"false",className:"palette-scroll"},e)}},{key:"render",value:function(){return 0===this.props.nodeTypeInfos.length?this.getNoResultsDiv():this.getContentListDiv()}}]),r}(s.Component));function ln(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return cn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return cn(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0,o=function(){};return{s:o,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,r=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw r}}}}function cn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function un(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var dn=new Re("PaletteFlyoutContent"),hn=function(n){i(r,n);var o=un(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).state={searchString:""},n.categories=[],n.getUniqueCategories=n.getUniqueCategories.bind(a(n)),n.setSearchString=n.setSearchString.bind(a(n)),n.handleSearchStringChange=n.handleSearchStringChange.bind(a(n)),n.setSearchStringThrottled=Kt(n.setSearchString,200),n}return t(r,[{key:"getUniqueCategories",value:function(e){var t=[];if(e){var n,i=ln(e);try{for(i.s();!(n=i.n()).done;){var o=n.value;-1===t.indexOf(o.label)&&t.push(o)}}catch(e){i.e(e)}finally{i.f()}}return t}},{key:"getContentDivs",value:function(e){for(var t=[],n=0;n<e.length;n++){var i=e[n];t.push(s.createElement("div",{key:i.label+"-container"},s.createElement(nn,{key:i.id,category:i,canvasController:this.props.canvasController,isPaletteOpen:this.props.isPaletteOpen,isEditingEnabled:this.props.isEditingEnabled})))}return s.createElement(He,null,t)}},{key:"getFilteredContentDivs",value:function(e){dn.logStartTimer("getFilteredNodeTypeInfos");var t=function(e,t){for(var n=[],i=t.toLowerCase().split(" ").filter((function(e){return""!==e})),o=0;o<e.length;o++)n.push.apply(n,_e(Jt(e[o],i)));return n.sort((function(e,t){return e.occurrenceInfo.ranking<=t.occurrenceInfo.ranking?1:-1}))}(this.categories,this.state.searchString);dn.logEndTimer("getFilteredNodeTypeInfos");var n=!1;return t.length>10&&(t=t.slice(0,10),n=!0),[s.createElement(sn,{key:"filtered-nodes",nodeTypeInfos:t,canvasController:this.props.canvasController,isPaletteOpen:this.props.isPaletteOpen,isEditingEnabled:this.props.isEditingEnabled,isNodeTypeInfosArrayTruncated:n})]}},{key:"setSearchString",value:function(){this.setState({searchString:this.ss})}},{key:"handleSearchStringChange",value:function(e){this.ss=e,this.setSearchStringThrottled()}},{key:"render",value:function(){this.categories=this.getUniqueCategories(this.props.paletteJSON.categories);var e=this.props.isPaletteOpen&&this.state.searchString?this.getFilteredContentDivs(this.categories):this.getContentDivs(this.categories),t=s.createElement("div",{className:"palette-flyout-categories"},e),n=s.createElement(rn,{handleSearchStringChange:this.handleSearchStringChange,isPaletteOpen:this.props.isPaletteOpen,canvasController:this.props.canvasController});return s.createElement("div",{className:"palette-flyout-content"},n,t)}}]),r}(s.Component);function pn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var gn=u(function(n){i(r,n);var o=pn(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).paletteNodes=[],n}return t(r,[{key:"render",value:function(){var e="palette-flyout-div";return this.props.showPalette?e+=" palette-flyout-div-open":(e+=" palette-flyout-div-closed",this.props.enableNarrowPalette&&(e+=" palette-flyout-div-narrow")),s.createElement("nav",{"aria-label":this.props.intl.formatMessage({id:"palette.flyout.label",defaultMessage:yt}),role:"navigation"},s.createElement("div",{className:e},s.createElement(hn,{paletteJSON:this.props.paletteJSON,canvasController:this.props.canvasController,isPaletteOpen:this.props.showPalette,isEditingEnabled:this.props.isEditingEnabled})))}}]),r}(s.Component));function fn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var vn=function(n){i(r,n);var o=fn(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).logger=new Re("Palette"),n}return t(r,[{key:"render",value:function(){this.logger.log("render");var e=null;return this.props.enablePaletteLayout===S?e=s.createElement(gn,{enableNarrowPalette:this.props.enableNarrowPalette,paletteJSON:this.props.paletteJSON,showPalette:this.props.showPalette,canvasController:this.props.canvasController,isEditingEnabled:this.props.isEditingEnabled}):this.props.enablePaletteLayout===N&&(e=s.createElement(Ft,{paletteJSON:this.props.paletteJSON,showPalette:this.props.showPalette,parentDivId:this.props.containingDivId,canvasController:this.props.canvasController,isEditingEnabled:this.props.isEditingEnabled})),e}}]),r}(s.Component),yn=l((function(e,t){return{enablePaletteLayout:e.canvasconfig.enablePaletteLayout,enableNarrowPalette:e.canvasconfig.enableNarrowPalette,isEditingEnabled:e.canvasconfig.enableEditingActions,paletteJSON:e.palette.content,showPalette:void 0!==e.palette.isOpen&&e.palette.isOpen}}))(vn);function mn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var bn=function(n){i(r,n);var o=mn(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).state={},n.handleClick=n.handleClick.bind(a(n)),n}return t(r,[{key:"componentDidMount",value:function(){document.addEventListener("mousedown",this.handleClick,!0)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("mousedown",this.handleClick,!0)}},{key:"handleClick",value:function(e){this.props.canvasController.closeTip()}},{key:"render",value:function(){var e=null,t=null;switch(this.props.type){case C:case w:t="right";break;default:t="bottom"}if(this.props.customContent)e=this.props.customContent;else switch(this.props.type){case C:e=s.createElement("div",{className:"tip-palette-item"},s.createElement("div",{className:"tip-palette-category"},this.props.category.label),s.createElement("div",{className:"tip-palette-label"},this.props.nodeTemplate.app_data.ui_data.label),this.props.nodeTemplate.app_data.ui_data.description?s.createElement("div",{className:"tip-palette-desc"},this.props.nodeTemplate.app_data.ui_data.description):"");break;case w:e=s.createElement("div",{className:"tip-palette-item"},s.createElement("div",{className:"tip-palette-label"},this.props.category.label),this.props.category.description?s.createElement("div",{className:"tip-palette-desc"},this.props.category.description):"");break;case O:var n=null;this.props.canvasController.getObjectModel().hasErrorMessage(this.props.node)?n=s.createElement(m,{type:_,className:"tip-node-status error"}):this.props.canvasController.getObjectModel().hasWarningMessage(this.props.node)&&(n=s.createElement(m,{type:A,className:"tip-node-status warning"}));var i=this.props.canvasController.getObjectModel().getPaletteNode(this.props.node.op),o=this.props.node.label,r=i&&i.app_data&&i.app_data.ui_data?i.app_data.ui_data.label:o;if(o!==r&&(o+=" (".concat(r,")")),!(n||o||r||this.props.node.description))return null;e=s.createElement("div",{className:"tip-node"},n,s.createElement("div",{className:"tip-node-label"},o),this.props.node.description?s.createElement("div",{className:"tip-node-desc"},this.props.node.description):"");break;case I:e=f(this.props.port.label)?null:s.createElement("div",{className:"tip-port"},this.props.port.label);break;case E:e=f(this.props.decoration.tooltip)?null:s.createElement("div",{className:"tip-decoration"},this.props.decoration.tooltip);break;case D:break;case T:e=f(this.props.stateTagText)?null:s.createElement("div",{className:"tip-state-tag"},this.props.stateTagText);break;default:e=null}return null!==e?s.createElement(Ue,{tip:e,direction:t,id:this.props.id,targetObj:this.props.targetObj,mousePos:this.props.mousePos,className:[O,I,E,D].includes(this.props.type)?"definition-tooltip":null}):null}}]),r}(s.Component),kn=l((function(e,t){return{id:e.tooltip.id,type:e.tooltip.type,targetObj:e.tooltip.targetObj,mousePos:e.tooltip.mousePos,customContent:e.tooltip.customContent,node:e.tooltip.node,port:e.tooltip.port,decoration:e.tooltip.decoration,nodeTemplate:e.tooltip.nodeTemplate,category:e.tooltip.category,stateTagText:e.tooltip.stateTagText}}))(bn);function Cn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var xn=function(n){i(r,n);var o=Cn(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).logger=new Re("CC-Context-Menu"),n}return t(r,[{key:"render",value:function(){this.logger.log("render");var e=null;return this.props.showContextMenu&&(e=s.createElement(Xe,{containingDivId:this.props.containingDivId,contextMenuDef:this.props.contextMenuDef,contextMenuActionHandler:this.props.canvasController.contextMenuActionHandler,contextMenuPos:this.props.contextMenuPos,closeContextMenu:this.props.canvasController.closeContextMenu,stopPropagation:!0})),e}}]),r}(s.Component),Pn=l((function(e,t){return{contextMenuDef:e.contextmenu.menuDef,contextMenuPos:e.contextmenu.source.cmPos||{x:0,y:0},showContextMenu:e.contextmenu.isOpen}}))(xn),Ln=v,wn=Ve,Sn=Ie,Nn=Math.max,Tn=Math.min;var Dn=function(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var o=i-1;return void 0!==n&&(o=Sn(n),o=n<0?Nn(i+o,0):Tn(o,i-1)),Ln(e,wn(t),o,!0)};function En(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var In=function(o){i(l,o);var r=En(l);function l(t){var n;return e(this,l),(n=r.call(this,t)).logger=new Re("CC-Context-Toolbar"),n.onMouseEnter=n.onMouseEnter.bind(a(n)),n.onMouseLeave=n.onMouseLeave.bind(a(n)),n.toolbarActionHandler=n.toolbarActionHandler.bind(a(n)),n.colorClicked=n.colorClicked.bind(a(n)),n}return t(l,[{key:"onMouseLeave",value:function(e){var t=this;this.props.canvasController.setMouseInContextToolbar(!1),setTimeout((function(){return t.props.canvasController.closeContextToolbar()}),200)}},{key:"onMouseEnter",value:function(e){this.props.canvasController.setMouseInContextToolbar(!0)}},{key:"getToolbarConfig",value:function(e){var t=this,n=e.toolbarItems,i=e.overflowMenuItems,o=[];return n.forEach((function(e){return o.push(t.getMenuItem(e))})),i.forEach((function(e){return o.push(t.getMenuItem(e))})),{leftBar:o,rightBar:[]}}},{key:"getMenuItem",value:function(e){if(e.divider)return{divider:!0};var t=this.getSubPanel(e),n=!t&&e.menu?this.getSubMenu(e):null;return{action:e.action,label:e.label,subMenu:n,subPanel:t,enable:this.getEnable(e),iconEnabled:e.icon}}},{key:"getSubPanel",value:function(e){return"colorBackground"===e.action?this.buildColorPicker():null}},{key:"getSubMenu",value:function(e){var t=this;return"object"===n(e.menu)?e.menu.map((function(e){return e.divider?{divider:!0}:{action:e.action,label:e.label,enable:t.getEnable(e),iconEnabled:e.icon}})):null}},{key:"getEnable",value:function(e){return void 0===e.enable||e.enable}},{key:"getContextToolbarWidth",value:function(e,t){var n=t.length>0?1:0;return 34*(e.length+n)-(t.length>0?5:0)}},{key:"removeUnnecessaryDividers",value:function(e){var t=e.findIndex((function(e){return!e.divider})),n=Dn(e,(function(e){return!e.divider})),i=e.slice(t,n+1),o=[],r=!1;return i.forEach((function(e){e.divider?(r||o.push(e),r=!0):(o.push(e),r=!1)})),o}},{key:"toolbarActionHandler",value:function(e,t){this.props.canvasController.setMouseInContextToolbar(!1),this.props.canvasController.closeContextToolbar(),this.props.canvasController.contextMenuActionHandler(e,t)}},{key:"colorClicked",value:function(e){this.toolbarActionHandler("colorSelectedObjects",{color:e})}},{key:"buildColorPicker",value:function(){return s.createElement(Ze,{clickActionHandler:this.colorClicked})}},{key:"shouldCenterJustifyToolbar",value:function(){var e=this.props.contextSource.type;return"link"===e||"canvas"===e||"node"===e&&"topCenter"===this.props.contextSource.targetObject.layout.contextToolbarPosition&&!this.props.contextSource.targetObject.is_expanded}},{key:"render",value:function(){this.logger.log("render");var e=null;if(this.props.showContextMenu){var t=this.props.contextMenuDef.filter((function(e){return e.toolbarItem&&!e.divider})),n=this.props.contextMenuDef.filter((function(e){return!e.toolbarItem}));n=this.removeUnnecessaryDividers(n);var i=this.getToolbarConfig({toolbarItems:t,overflowMenuItems:n}),o=this.getContextToolbarWidth(t,n),r=this.props.contextSource.cmPos||{x:0,y:0},a=this.shouldCenterJustifyToolbar()?r.x-o/2:r.x-o,l=r.y-32-4;e=s.createElement("div",{className:"context-toolbar",style:{left:a,top:l,width:o},onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave},s.createElement(Oe,{config:i,instanceId:this.props.canvasController.getInstanceId(),containingDivId:this.props.containingDivId,toolbarActionHandler:this.toolbarActionHandler,tooltipDirection:"top",size:"sm"}))}return e}}]),l}(s.Component),On=l((function(e,t){return{contextMenuDef:e.contextmenu.menuDef,contextSource:e.contextmenu.source,showContextMenu:e.contextmenu.isOpen}}))(In),_n={"toolbar.palette":"Palette","toolbar.zoomIn":"Zoom in","toolbar.zoomOut":"Zoom out","toolbar.zoomToFit":"Zoom to fit","toolbar.overflowMenu":"Overflow menu","toolbar.label":"Canvas toolbar"};function An(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var Mn=function(n){i(r,n);var o=An(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).getLabel=n.getLabel.bind(a(n)),n.logger=new Re("CC-Text-Toolbar"),n}return t(r,[{key:"getLabel",value:function(e,t){var n=Ge[e]?Ge[e]:_n[e];return this.props.intl.formatMessage({id:e,defaultMessage:n},t)}},{key:"getJsxLabel",value:function(e,t,n){var i=Fe.isMacintosh()?"⌘":"Ctrl",o=t?i+" + "+t:null,r=n?i+" + "+n:null;return s.createElement("div",null,this.getLabel(e),s.createElement("br",null),o,s.createElement("br",null),r)}},{key:"getTextToolbar",value:function(){var e=this.getJsxLabel("texttoolbar.headerAction",">","<"),t=this.getJsxLabel("texttoolbar.boldAction","b"),n=this.getJsxLabel("texttoolbar.italicsAction","i"),i=this.getJsxLabel("texttoolbar.strikethroughAction","shift + x"),o=this.getJsxLabel("texttoolbar.codeAction","e"),r=this.getJsxLabel("texttoolbar.linkAction","k"),a=this.getJsxLabel("texttoolbar.quoteAction","shift + >"),l=this.getJsxLabel("texttoolbar.numberedListAction","shift + 7"),c=this.getJsxLabel("texttoolbar.bulletedListAction","shift + 8");return{leftBar:[{action:"headerStyle",tooltip:e,enable:!0,subMenu:[{action:"title",label:this.getLabel("texttoolbar.titleAction"),enable:!0},{action:"header",label:this.getLabel("texttoolbar.headerAction"),enable:!0},{action:"subheader",label:this.getLabel("texttoolbar.subheaderAction"),enable:!0},{action:"body",label:this.getLabel("texttoolbar.bodyAction"),enable:!0}],closeSubAreaOnClick:!0,iconEnabled:s.createElement(qe,null)},{divider:!0},{action:"bold",label:t,enable:!0,iconEnabled:s.createElement($e,null)},{action:"italics",label:n,enable:!0,iconEnabled:s.createElement(Je,null)},{action:"strikethrough",label:i,enable:!0,iconEnabled:s.createElement(Qe,null)},{divider:!0},{action:"code",label:o,enable:!0,iconEnabled:s.createElement(et,null)},{divider:!0},{action:"link",label:r,enable:!0,iconEnabled:s.createElement(tt,null)},{divider:!0},{action:"quote",label:a,enable:!0,iconEnabled:s.createElement(nt,null)},{divider:!0},{action:"numberedList",label:l,enable:!0,iconEnabled:s.createElement(it,null)},{action:"bulletedList",label:c,enable:!0,iconEnabled:s.createElement(ot,null)}]}}},{key:"render",value:function(){this.logger.log("render");var e=null;return this.props.isOpen&&(e=s.createElement("div",{className:"text-toolbar",style:{left:this.props.pos_x,top:this.props.pos_y},onBlur:this.props.blurHandler},s.createElement(Oe,{config:this.getTextToolbar(),instanceId:this.props.canvasController.getInstanceId(),toolbarActionHandler:this.props.actionHandler,tooltipDirection:"top",size:"sm"}))),e}}]),r}(s.Component),zn=l((function(e,t){return{isOpen:e.texttoolbar.isOpen,pos_x:e.texttoolbar.pos_x,pos_y:e.texttoolbar.pos_y,actionHandler:e.texttoolbar.actionHandler,blurHandler:e.texttoolbar.blurHandler}}))(u(Mn));function Hn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var jn=u(function(n){i(r,n);var o=Hn(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).logger=new Re("CC-StateTag"),n.onMouseOver=n.onMouseOver.bind(a(n)),n.onMouseLeave=n.onMouseLeave.bind(a(n)),n}return t(r,[{key:"onMouseOver",value:function(e){var t;this.props.stateTagType===M?t=this.getLabel("canvas.stateTagTipLocked"):this.props.stateTagType===z&&(t=this.getLabel("canvas.stateTagTipReadOnly")),this.props.canvasController.openTip({id:"stateTagTip",type:T,stateTagType:this.props.stateTagType,stateTagText:t,targetObj:e.currentTarget})}},{key:"onMouseLeave",value:function(){this.props.canvasController.closeTip()}},{key:"getLabel",value:function(e){return this.props.intl.formatMessage({id:e,defaultMessage:Ge[e]})}},{key:"getStateTag",value:function(e,t){return s.createElement("div",{className:"state-tag",onMouseOver:this.onMouseOver,onMouseLeave:this.onMouseLeave},t,s.createElement("span",null,e))}},{key:"render",value:function(){this.logger.log("render");var e=null;if(this.props.stateTagType===M){var t=this.getLabel("canvas.stateTagLocked");e=this.getStateTag(t,s.createElement(rt,null))}else if(this.props.stateTagType===z){var n=this.getLabel("canvas.stateTagReadOnly");e=this.getStateTag(n,s.createElement(at,null))}return e}}]),r}(s.Component)),Rn="http://www.w3.org/1999/xhtml",Un={svg:"http://www.w3.org/2000/svg",xhtml:Rn,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Bn(e){var t=e+="",n=t.indexOf(":");return n>=0&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),Un.hasOwnProperty(t)?{space:Un[t],local:e}:e}function Fn(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===Rn&&t.documentElement.namespaceURI===Rn?t.createElement(e):t.createElementNS(n,e)}}function Gn(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Yn(e){var t=Bn(e);return(t.local?Gn:Fn)(t)}function Wn(){}function Xn(e){return null==e?Wn:function(){return this.querySelector(e)}}function Zn(e){return null==e?[]:Array.isArray(e)?e:Array.from(e)}function Vn(){return[]}function Kn(e){return null==e?Vn:function(){return this.querySelectorAll(e)}}function qn(e){return function(){return this.matches(e)}}function $n(e){return function(t){return t.matches(e)}}var Jn=Array.prototype.find;function Qn(){return this.firstElementChild}var ei=Array.prototype.filter;function ti(){return Array.from(this.children)}function ni(e){return new Array(e.length)}function ii(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}function oi(e,t,n,i,o,r){for(var a,s=0,l=t.length,c=r.length;s<c;++s)(a=t[s])?(a.__data__=r[s],i[s]=a):n[s]=new ii(e,r[s]);for(;s<l;++s)(a=t[s])&&(o[s]=a)}function ri(e,t,n,i,o,r,a){var s,l,c,u=new Map,d=t.length,h=r.length,p=new Array(d);for(s=0;s<d;++s)(l=t[s])&&(p[s]=c=a.call(l,l.__data__,s,t)+"",u.has(c)?o[s]=l:u.set(c,l));for(s=0;s<h;++s)c=a.call(e,r[s],s,r)+"",(l=u.get(c))?(i[s]=l,l.__data__=r[s],u.delete(c)):n[s]=new ii(e,r[s]);for(s=0;s<d;++s)(l=t[s])&&u.get(p[s])===l&&(o[s]=l)}function ai(e){return e.__data__}function si(e){return"object"==typeof e&&"length"in e?e:Array.from(e)}function li(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function ci(e){return function(){this.removeAttribute(e)}}function ui(e){return function(){this.removeAttributeNS(e.space,e.local)}}function di(e,t){return function(){this.setAttribute(e,t)}}function hi(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function pi(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}function gi(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function fi(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function vi(e){return function(){this.style.removeProperty(e)}}function yi(e,t,n){return function(){this.style.setProperty(e,t,n)}}function mi(e,t,n){return function(){var i=t.apply(this,arguments);null==i?this.style.removeProperty(e):this.style.setProperty(e,i,n)}}function bi(e,t){return e.style.getPropertyValue(t)||fi(e).getComputedStyle(e,null).getPropertyValue(t)}function ki(e){return function(){delete this[e]}}function Ci(e,t){return function(){this[e]=t}}function xi(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}function Pi(e){return e.trim().split(/^|\s+/)}function Li(e){return e.classList||new wi(e)}function wi(e){this._node=e,this._names=Pi(e.getAttribute("class")||"")}function Si(e,t){for(var n=Li(e),i=-1,o=t.length;++i<o;)n.add(t[i])}function Ni(e,t){for(var n=Li(e),i=-1,o=t.length;++i<o;)n.remove(t[i])}function Ti(e){return function(){Si(this,e)}}function Di(e){return function(){Ni(this,e)}}function Ei(e,t){return function(){(t.apply(this,arguments)?Si:Ni)(this,e)}}function Ii(){this.textContent=""}function Oi(e){return function(){this.textContent=e}}function _i(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?"":t}}function Ai(){this.innerHTML=""}function Mi(e){return function(){this.innerHTML=e}}function zi(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?"":t}}function Hi(){this.nextSibling&&this.parentNode.appendChild(this)}function ji(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Ri(){return null}function Ui(){var e=this.parentNode;e&&e.removeChild(this)}function Bi(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Fi(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Gi(e){return function(){var t=this.__on;if(t){for(var n,i=0,o=-1,r=t.length;i<r;++i)n=t[i],e.type&&n.type!==e.type||n.name!==e.name?t[++o]=n:this.removeEventListener(n.type,n.listener,n.options);++o?t.length=o:delete this.__on}}}function Yi(e,t,n){return function(){var i,o=this.__on,r=function(e){return function(t){e.call(this,t,this.__data__)}}(t);if(o)for(var a=0,s=o.length;a<s;++a)if((i=o[a]).type===e.type&&i.name===e.name)return this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=r,i.options=n),void(i.value=t);this.addEventListener(e.type,r,n),i={type:e.type,name:e.name,value:t,listener:r,options:n},o?o.push(i):this.__on=[i]}}function Wi(e,t,n){var i=fi(e),o=i.CustomEvent;"function"==typeof o?o=new o(t,n):(o=i.document.createEvent("Event"),n?(o.initEvent(t,n.bubbles,n.cancelable),o.detail=n.detail):o.initEvent(t,!1,!1)),e.dispatchEvent(o)}function Xi(e,t){return function(){return Wi(this,e,t)}}function Zi(e,t){return function(){return Wi(this,e,t.apply(this,arguments))}}ii.prototype={constructor:ii,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}},wi.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};var Vi=[null];function Ki(e,t){this._groups=e,this._parents=t}function qi(){return new Ki([[document.documentElement]],Vi)}function $i(e){return"string"==typeof e?new Ki([[document.querySelector(e)]],[document.documentElement]):new Ki([[e]],Vi)}Ki.prototype=qi.prototype={constructor:Ki,select:function(e){"function"!=typeof e&&(e=Xn(e));for(var t=this._groups,n=t.length,i=new Array(n),o=0;o<n;++o)for(var r,a,s=t[o],l=s.length,c=i[o]=new Array(l),u=0;u<l;++u)(r=s[u])&&(a=e.call(r,r.__data__,u,s))&&("__data__"in r&&(a.__data__=r.__data__),c[u]=a);return new Ki(i,this._parents)},selectAll:function(e){e="function"==typeof e?function(e){return function(){return Zn(e.apply(this,arguments))}}(e):Kn(e);for(var t=this._groups,n=t.length,i=[],o=[],r=0;r<n;++r)for(var a,s=t[r],l=s.length,c=0;c<l;++c)(a=s[c])&&(i.push(e.call(a,a.__data__,c,s)),o.push(a));return new Ki(i,o)},selectChild:function(e){return this.select(null==e?Qn:function(e){return function(){return Jn.call(this.children,e)}}("function"==typeof e?e:$n(e)))},selectChildren:function(e){return this.selectAll(null==e?ti:function(e){return function(){return ei.call(this.children,e)}}("function"==typeof e?e:$n(e)))},filter:function(e){"function"!=typeof e&&(e=qn(e));for(var t=this._groups,n=t.length,i=new Array(n),o=0;o<n;++o)for(var r,a=t[o],s=a.length,l=i[o]=[],c=0;c<s;++c)(r=a[c])&&e.call(r,r.__data__,c,a)&&l.push(r);return new Ki(i,this._parents)},data:function(e,t){if(!arguments.length)return Array.from(this,ai);var n,i=t?ri:oi,o=this._parents,r=this._groups;"function"!=typeof e&&(n=e,e=function(){return n});for(var a=r.length,s=new Array(a),l=new Array(a),c=new Array(a),u=0;u<a;++u){var d=o[u],h=r[u],p=h.length,g=si(e.call(d,d&&d.__data__,u,o)),f=g.length,v=l[u]=new Array(f),y=s[u]=new Array(f);i(d,h,v,y,c[u]=new Array(p),g,t);for(var m,b,k=0,C=0;k<f;++k)if(m=v[k]){for(k>=C&&(C=k+1);!(b=y[C])&&++C<f;);m._next=b||null}}return(s=new Ki(s,o))._enter=l,s._exit=c,s},enter:function(){return new Ki(this._enter||this._groups.map(ni),this._parents)},exit:function(){return new Ki(this._exit||this._groups.map(ni),this._parents)},join:function(e,t,n){var i=this.enter(),o=this,r=this.exit();return"function"==typeof e?(i=e(i))&&(i=i.selection()):i=i.append(e+""),null!=t&&(o=t(o))&&(o=o.selection()),null==n?r.remove():n(r),i&&o?i.merge(o).order():o},merge:function(e){for(var t=e.selection?e.selection():e,n=this._groups,i=t._groups,o=n.length,r=i.length,a=Math.min(o,r),s=new Array(o),l=0;l<a;++l)for(var c,u=n[l],d=i[l],h=u.length,p=s[l]=new Array(h),g=0;g<h;++g)(c=u[g]||d[g])&&(p[g]=c);for(;l<o;++l)s[l]=n[l];return new Ki(s,this._parents)},selection:function(){return this},order:function(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var i,o=e[t],r=o.length-1,a=o[r];--r>=0;)(i=o[r])&&(a&&4^i.compareDocumentPosition(a)&&a.parentNode.insertBefore(i,a),a=i);return this},sort:function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=li);for(var n=this._groups,i=n.length,o=new Array(i),r=0;r<i;++r){for(var a,s=n[r],l=s.length,c=o[r]=new Array(l),u=0;u<l;++u)(a=s[u])&&(c[u]=a);c.sort(t)}return new Ki(o,this._parents).order()},call:function(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var i=e[t],o=0,r=i.length;o<r;++o){var a=i[o];if(a)return a}return null},size:function(){let e=0;for(const t of this)++e;return e},empty:function(){return!this.node()},each:function(e){for(var t=this._groups,n=0,i=t.length;n<i;++n)for(var o,r=t[n],a=0,s=r.length;a<s;++a)(o=r[a])&&e.call(o,o.__data__,a,r);return this},attr:function(e,t){var n=Bn(e);if(arguments.length<2){var i=this.node();return n.local?i.getAttributeNS(n.space,n.local):i.getAttribute(n)}return this.each((null==t?n.local?ui:ci:"function"==typeof t?n.local?gi:pi:n.local?hi:di)(n,t))},style:function(e,t,n){return arguments.length>1?this.each((null==t?vi:"function"==typeof t?mi:yi)(e,t,null==n?"":n)):bi(this.node(),e)},property:function(e,t){return arguments.length>1?this.each((null==t?ki:"function"==typeof t?xi:Ci)(e,t)):this.node()[e]},classed:function(e,t){var n=Pi(e+"");if(arguments.length<2){for(var i=Li(this.node()),o=-1,r=n.length;++o<r;)if(!i.contains(n[o]))return!1;return!0}return this.each(("function"==typeof t?Ei:t?Ti:Di)(n,t))},text:function(e){return arguments.length?this.each(null==e?Ii:("function"==typeof e?_i:Oi)(e)):this.node().textContent},html:function(e){return arguments.length?this.each(null==e?Ai:("function"==typeof e?zi:Mi)(e)):this.node().innerHTML},raise:function(){return this.each(Hi)},lower:function(){return this.each(ji)},append:function(e){var t="function"==typeof e?e:Yn(e);return this.select((function(){return this.appendChild(t.apply(this,arguments))}))},insert:function(e,t){var n="function"==typeof e?e:Yn(e),i=null==t?Ri:"function"==typeof t?t:Xn(t);return this.select((function(){return this.insertBefore(n.apply(this,arguments),i.apply(this,arguments)||null)}))},remove:function(){return this.each(Ui)},clone:function(e){return this.select(e?Fi:Bi)},datum:function(e){return arguments.length?this.property("__data__",e):this.node().__data__},on:function(e,t,n){var i,o,r=function(e){return e.trim().split(/^|\s+/).map((function(e){var t="",n=e.indexOf(".");return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}}))}(e+""),a=r.length;if(!(arguments.length<2)){for(s=t?Yi:Gi,i=0;i<a;++i)this.each(s(r[i],t,n));return this}var s=this.node().__on;if(s)for(var l,c=0,u=s.length;c<u;++c)for(i=0,l=s[c];i<a;++i)if((o=r[i]).type===l.type&&o.name===l.name)return l.value},dispatch:function(e,t){return this.each(("function"==typeof t?Zi:Xi)(e,t))},[Symbol.iterator]:function*(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var i,o=e[t],r=0,a=o.length;r<a;++r)(i=o[r])&&(yield i)}};var Ji=0;function Qi(){return new eo}function eo(){this._="@"+(++Ji).toString(36)}function to(e){let t;for(;t=e.sourceEvent;)e=t;return e}function no(e,t){if(e=to(e),void 0===t&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var i=n.createSVGPoint();return i.x=e.clientX,i.y=e.clientY,[(i=i.matrixTransform(t.getScreenCTM().inverse())).x,i.y]}if(t.getBoundingClientRect){var o=t.getBoundingClientRect();return[e.clientX-o.left-t.clientLeft,e.clientY-o.top-t.clientTop]}}return[e.pageX,e.pageY]}eo.prototype=Qi.prototype={constructor:eo,get:function(e){for(var t=this._;!(t in e);)if(!(e=e.parentNode))return;return e[t]},set:function(e,t){return e[this._]=t},remove:function(e){return this._ in e&&delete e[this._]},toString:function(){return this._}};var io=Object.freeze({__proto__:null,create:function(e){return $i(Yn(e).call(document.documentElement))},creator:Yn,local:Qi,matcher:qn,namespace:Bn,namespaces:Un,pointer:no,pointers:function(e,t){return e.target&&(e=to(e),void 0===t&&(t=e.currentTarget),e=e.touches||[e]),Array.from(e,(e=>no(e,t)))},select:$i,selectAll:function(e){return"string"==typeof e?new Ki([document.querySelectorAll(e)],[document.documentElement]):new Ki([Zn(e)],Vi)},selection:qi,selector:Xn,selectorAll:Kn,style:bi,window:fi}),oo=Ke,ro=Ye;var ao=function(e,t){return e&&oo(e,ro(t))};var so=function(e){return function(t){return null==e?void 0:e[t]}},lo=so({"&":"&","<":"<",">":">",'"':""","'":"'"}),co=y,uo=/[&<>"']/g,ho=RegExp(uo.source);var po=function(e){return(e=co(e))&&ho.test(e)?e.replace(uo,lo):e};function go(e){if(!e.ok)throw new Error(e.status+" "+e.statusText);return e.blob()}function fo(e){if(!e.ok)throw new Error(e.status+" "+e.statusText);return e.arrayBuffer()}var vo={},yo={},mo=34,bo=10,ko=13;function Co(e){return new Function("d","return {"+e.map((function(e,t){return JSON.stringify(e)+": d["+t+'] || ""'})).join(",")+"}")}function xo(e){var t=Object.create(null),n=[];return e.forEach((function(e){for(var i in e)i in t||n.push(t[i]=i)})),n}function Po(e,t){var n=e+"",i=n.length;return i<t?new Array(t-i+1).join(0)+n:n}function Lo(e){var t,n=e.getUTCHours(),i=e.getUTCMinutes(),o=e.getUTCSeconds(),r=e.getUTCMilliseconds();return isNaN(e)?"Invalid Date":((t=e.getUTCFullYear())<0?"-"+Po(-t,6):t>9999?"+"+Po(t,6):Po(t,4))+"-"+Po(e.getUTCMonth()+1,2)+"-"+Po(e.getUTCDate(),2)+(r?"T"+Po(n,2)+":"+Po(i,2)+":"+Po(o,2)+"."+Po(r,3)+"Z":o?"T"+Po(n,2)+":"+Po(i,2)+":"+Po(o,2)+"Z":i||n?"T"+Po(n,2)+":"+Po(i,2)+"Z":"")}function wo(e){var t=new RegExp('["'+e+"\n\r]"),n=e.charCodeAt(0);function i(e,t){var i,o=[],r=e.length,a=0,s=0,l=r<=0,c=!1;function u(){if(l)return yo;if(c)return c=!1,vo;var t,i,o=a;if(e.charCodeAt(o)===mo){for(;a++<r&&e.charCodeAt(a)!==mo||e.charCodeAt(++a)===mo;);return(t=a)>=r?l=!0:(i=e.charCodeAt(a++))===bo?c=!0:i===ko&&(c=!0,e.charCodeAt(a)===bo&&++a),e.slice(o+1,t-1).replace(/""/g,'"')}for(;a<r;){if((i=e.charCodeAt(t=a++))===bo)c=!0;else if(i===ko)c=!0,e.charCodeAt(a)===bo&&++a;else if(i!==n)continue;return e.slice(o,t)}return l=!0,e.slice(o,r)}for(e.charCodeAt(r-1)===bo&&--r,e.charCodeAt(r-1)===ko&&--r;(i=u())!==yo;){for(var d=[];i!==vo&&i!==yo;)d.push(i),i=u();t&&null==(d=t(d,s++))||o.push(d)}return o}function o(t,n){return t.map((function(t){return n.map((function(e){return a(t[e])})).join(e)}))}function r(t){return t.map(a).join(e)}function a(e){return null==e?"":e instanceof Date?Lo(e):t.test(e+="")?'"'+e.replace(/"/g,'""')+'"':e}return{parse:function(e,t){var n,o,r=i(e,(function(e,i){if(n)return n(e,i-1);o=e,n=t?function(e,t){var n=Co(e);return function(i,o){return t(n(i),o,e)}}(e,t):Co(e)}));return r.columns=o||[],r},parseRows:i,format:function(t,n){return null==n&&(n=xo(t)),[n.map(a).join(e)].concat(o(t,n)).join("\n")},formatBody:function(e,t){return null==t&&(t=xo(e)),o(e,t).join("\n")},formatRows:function(e){return e.map(r).join("\n")},formatRow:r,formatValue:a}}var So=wo(",").parse,No=wo("\t").parse;function To(e){if(!e.ok)throw new Error(e.status+" "+e.statusText);return e.text()}function Do(e,t){return fetch(e,t).then(To)}function Eo(e){return function(t,n,i){return 2===arguments.length&&"function"==typeof n&&(i=n,n=void 0),Do(t,n).then((function(t){return e(t,i)}))}}var Io=Eo(So),Oo=Eo(No);function _o(e){if(!e.ok)throw new Error(e.status+" "+e.statusText);if(204!==e.status&&205!==e.status)return e.json()}function Ao(e){return(t,n)=>Do(t,n).then((t=>(new DOMParser).parseFromString(t,e)))}var Mo=Ao("application/xml"),zo=Ao("text/html"),Ho=Ao("image/svg+xml"),jo=Object.freeze({__proto__:null,blob:function(e,t){return fetch(e,t).then(go)},buffer:function(e,t){return fetch(e,t).then(fo)},dsv:function(e,t,n,i){3===arguments.length&&"function"==typeof n&&(i=n,n=void 0);var o=wo(e);return Do(t,n).then((function(e){return o.parse(e,i)}))},csv:Io,tsv:Oo,image:function(e,t){return new Promise((function(n,i){var o=new Image;for(var r in t)o[r]=t[r];o.onerror=i,o.onload=function(){n(o)},o.src=e}))},json:function(e,t){return fetch(e,t).then(_o)},text:Do,xml:Mo,html:zo,svg:Ho}),Ro=function(){function n(t,i,o,r){e(this,n),this.canvasController=t,this.isSubflow=i,this.pipelineId=o,this.breadcrumbs=r}return t(n,[{key:"isDisplayingCurrentPipeline",value:function(){return this.breadcrumbs[this.breadcrumbs.length-1].pipelineId===this.pipelineId}},{key:"setDisplayState",value:function(){this.breadcrumbs.length>1&&this.isDisplayingCurrentPipeline()?this.displayState="sub-flow-full-page":this.isSubflow?this.displayState="sub-flow-in-place":this.displayState="primary-flow-full-page"}},{key:"getDisplayStateMsg",value:function(){return"Display state set to "+this.displayState}},{key:"isDisplayingPrimaryFlowFullPage",value:function(){return"primary-flow-full-page"===this.displayState}},{key:"isDisplayingSubFlow",value:function(){return"sub-flow-in-place"===this.displayState||"sub-flow-full-page"===this.displayState}},{key:"isDisplayingSubFlowInPlace",value:function(){return"sub-flow-in-place"===this.displayState}},{key:"isDisplayingSubFlowFullPage",value:function(){return"sub-flow-full-page"===this.displayState}},{key:"isDisplayingFullPage",value:function(){return"primary-flow-full-page"===this.displayState||"sub-flow-full-page"===this.displayState}}]),n}();function Uo(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Bo(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Bo(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0,o=function(){};return{s:o,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,r=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw r}}}}function Bo(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var Fo=function(){function n(t){e(this,n),this.canvasLayout=t}return t(n,[{key:"isPointInNodeBoundary",value:function(e,t){return e.x>=t.x_pos&&e.x<=t.x_pos+t.width&&e.y>=t.y_pos&&e.y<=t.y_pos+t.height}},{key:"getNodeLabelClass",value:function(e){if(Fe.isExpandedSupernode(e))return"d3-node-label d3-label-single-line "+this.getMessageLabelClass(e.messages);var t=e.layout.labelSingleLine?" d3-label-single-line":" d3-label-multi-line",n="center"===e.layout.labelAlign?" d3-label-center":"";return"d3-node-label "+this.getMessageLabelClass(e.messages)+t+n}},{key:"getNodeLabelTextAreaClass",value:function(e){return Fe.isExpandedSupernode(e)?"d3-node-label-entry d3-label-single-line":"d3-node-label-entry"+(e.layout.labelSingleLine?" d3-label-single-line":" d3-label-multi-line")+("center"===e.layout.labelAlign?" d3-label-center":"")}},{key:"getErrorMarkerIcon",value:function(e){var t="";switch(this.getMessageLevel(e.messages)){case _:t=R;break;case A:t=j}return t}},{key:"getMessageLevel",value:function(e){var t="";if(e&&e.length>0){var n,i=Uo(e);try{for(i.s();!(n=i.n()).done;){var o=n.value;if(o.type===_)return o.type;o.type===A&&(t=o.type)}}catch(e){i.e(e)}finally{i.f()}}return t}},{key:"getMessageLabelClass",value:function(e){var t="";switch(this.getMessageLevel(e)){case _:t="d3-node-error-label";break;case A:t="d3-node-warning-label"}return t}},{key:"getErrorMarkerClass",value:function(e){var t="d3-error-circle-off";switch(this.getMessageLevel(e)){case _:t="d3-error-circle";break;case A:t="d3-warning-circle"}return t}},{key:"getNodeCenterPosX",value:function(e){return e.x_pos+e.width/2}},{key:"getNodeCenterPosY",value:function(e){return e.y_pos+e.height/2}},{key:"getNodeImageCenterPosX",value:function(e){return Fe.isExpandedSupernode(e)?e.x_pos+this.canvasLayout.supernodeImagePosX+this.canvasLayout.supernodeImageWidth/2:e.x_pos+this.getElementPosX(e.width,e.layout.imagePosX,e.layout.imagePosition)+e.layout.imageWidth/2}},{key:"getNodeImageCenterPosY",value:function(e){return Fe.isExpandedSupernode(e)?e.y_pos+this.canvasLayout.supernodeImagePosY+this.canvasLayout.supernodeImageHeight/2:e.y_pos+this.getElementPosY(e.height,e.layout.imagePosY,e.layout.imagePosition)+e.layout.imageHeight/2}},{key:"getNodeImagePosX",value:function(e){return Fe.isExpandedSupernode(e)?this.canvasLayout.supernodeImagePosX:this.getElementPosX(e.width,e.layout.imagePosX,e.layout.imagePosition)}},{key:"getNodeImagePosY",value:function(e){return Fe.isExpandedSupernode(e)?this.canvasLayout.supernodeImagePosY:this.getElementPosY(e.height,e.layout.imagePosY,e.layout.imagePosition)}},{key:"getNodeImageWidth",value:function(e){return Fe.isExpandedSupernode(e)?this.canvasLayout.supernodeImageWidth:e.layout.imageWidth}},{key:"getNodeImageHeight",value:function(e){return Fe.isExpandedSupernode(e)?this.canvasLayout.supernodeImageHeight:e.layout.imageHeight}},{key:"getNodeLabelPosX",value:function(e){if(Fe.isExpandedSupernode(e))return this.canvasLayout.supernodeLabelPosX;var t=this.getElementPosX(e.width,e.layout.labelPosX,e.layout.labelPosition);return"center"===e.layout.labelAlign?t-e.layout.labelWidth/2:t}},{key:"getNodeLabelPosY",value:function(e){return Fe.isExpandedSupernode(e)?this.canvasLayout.supernodeLabelPosY:this.getElementPosY(e.height,e.layout.labelPosY,e.layout.labelPosition)}},{key:"getNodeLabelWidth",value:function(e){return Fe.isExpandedSupernode(e)?e.width-this.canvasLayout.supernodeLabelPosX+this.canvasLayout.supernodeErrorPosX:e.layout.labelWidth}},{key:"getNodeLabelHeight",value:function(e){return Fe.isExpandedSupernode(e)?this.canvasLayout.supernodeLabelHeight:e.layout.labelHeight}},{key:"getNodeLabelEditIconTranslate",value:function(e,t,n,i){return"translate(".concat(this.getNodeLabelEditIconPosX(e,t,n,i),", ").concat(this.getNodeLabelEditIconPosY(e),")")}},{key:"getNodeLabelEditIconPosX",value:function(e,t,n,i){var o=i?this.getNodeLabelHoverWidth(e):this.getNodeLabelWidth(e),r=i?this.getNodeLabelHoverPosX(e):this.getNodeLabelPosX(e),a=t.getBoundingClientRect().width;if("center"===e.layout.labelAlign&&!Fe.isExpandedSupernode(e)){var s=o/2;return r+s+Math.min(s,a/n/2)}var l=Math.min(o,a/n);return this.getNodeLabelPosX(e)+l}},{key:"getNodeLabelEditIconPosY",value:function(e){return this.getNodeLabelPosY(e)}},{key:"getNodeLabelHoverPosX",value:function(e){return e.layout.labelSingleLine&&"center"===e.layout.labelAlign?this.getNodeLabelPosX(e)-250:this.getNodeLabelPosX(e)}},{key:"getNodeLabelHoverWidth",value:function(e){return e.layout.labelSingleLine?"center"===e.layout.labelAlign?e.layout.labelWidth+500:e.layout.labelWidth+40:e.layout.labelWidth}},{key:"getNodeLabelHoverHeight",value:function(e,t,n){if(e.layout.labelSingleLine)return e.layout.labelHeight;var i=t.getBoundingClientRect().height/n;return Math.max(i,e.layout.labelHeight)}},{key:"getNodeLabelTextAreaWidth",value:function(e){return this.getNodeLabelWidth(e)+2*H}},{key:"getNodeLabelTextAreaHeight",value:function(e){return this.getNodeLabelHeight(e)+2*H}},{key:"getNodeLabelTextAreaPosX",value:function(e){return this.getNodeLabelPosX(e)-H}},{key:"getNodeLabelTextAreaPosY",value:function(e){return this.getNodeLabelPosY(e)-H}},{key:"getNodeEllipsisTranslate",value:function(e){return"translate(".concat(this.getNodeEllipsisPosX(e),", ").concat(this.getNodeEllipsisPosY(e),")")}},{key:"getNodeEllipsisWidth",value:function(e){return Fe.isExpandedSupernode(e)?this.canvasLayout.supernodeEllipsisWidth:e.layout.ellipsisWidth}},{key:"getNodeEllipsisHeight",value:function(e){return Fe.isExpandedSupernode(e)?this.canvasLayout.supernodeEllipsisHeight:e.layout.ellipsisHeight}},{key:"getNodeEllipsisIconWidth",value:function(e){return this.getNodeEllipsisWidth(e)-2*e.layout.ellipsisHoverAreaPadding}},{key:"getNodeEllipsisIconHeight",value:function(e){return this.getNodeEllipsisHeight(e)-2*e.layout.ellipsisHoverAreaPadding}},{key:"getNodeEllipsisPosX",value:function(e){return Fe.isExpandedSupernode(e)?e.width+this.canvasLayout.supernodeEllipsisPosX:this.getElementPosX(e.width,e.layout.ellipsisPosX,e.layout.ellipsisPosition)}},{key:"getNodeEllipsisPosY",value:function(e){return Fe.isExpandedSupernode(e)?this.canvasLayout.supernodeEllipsisPosY:this.getElementPosY(e.height,e.layout.ellipsisPosY,e.layout.ellipsisPosition)}},{key:"getNodeExpansionIconTranslate",value:function(e){var t=e.width+this.canvasLayout.supernodeExpansionIconPosX;return"translate(".concat(t,", ").concat(this.canvasLayout.supernodeExpansionIconPosY,")")}},{key:"getNodeErrorPosX",value:function(e){return Fe.isExpandedSupernode(e)?e.width+this.canvasLayout.supernodeErrorPosX:this.getElementPosX(e.width,e.layout.errorXPos,e.layout.errorPosition)}},{key:"getNodeErrorPosY",value:function(e){return Fe.isExpandedSupernode(e)?this.canvasLayout.supernodeErrorPosY:this.getElementPosY(e.height,e.layout.errorYPos,e.layout.errorPosition)}},{key:"getNodeErrorWidth",value:function(e){return Fe.isExpandedSupernode(e)?this.canvasLayout.supernodeErrorWidth:e.layout.errorWidth}},{key:"getNodeErrorHeight",value:function(e){return Fe.isExpandedSupernode(e)?this.canvasLayout.supernodeErrorHeight:e.layout.errorHeight}},{key:"getNodeInputPortLeftPosX",value:function(e){return this.getElementPosX(e.width,e.layout.inputPortLeftPosX,e.layout.inputPortLeftPosition)}},{key:"getNodeInputPortLeftPosY",value:function(e){return this.getElementPosY(e.height,e.layout.inputPortLeftPosY,e.layout.inputPortLeftPosition)}},{key:"getNodeOutputPortRightPosX",value:function(e){return this.getElementPosX(e.width,e.layout.outputPortRightPosX,e.layout.outputPortRightPosition)}},{key:"getNodeOutputPortRightPosY",value:function(e){return this.getElementPosY(e.height,e.layout.outputPortRightPosY,e.layout.outputPortRightPosition)}},{key:"getElementPosX",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"topLeft",i=0;return n.endsWith("Center")?i+=e/2:n.endsWith("Right")&&(i+=e),i+Number(t)}},{key:"getElementPosY",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"topLeft",i=0;return n.startsWith("middle")?i+=e/2:n.startsWith("bottom")&&(i+=e),i+Number(t)}},{key:"getSupernodePortXOffset",value:function(e,t){return t?t.find((function(t){return t.subflow_node_ref===e})).cx-this.canvasLayout.supernodeSVGAreaPadding:0}},{key:"getSupernodePortYOffset",value:function(e,t){return t?t.find((function(t){return t.subflow_node_ref===e})).cy:0}}]),n}(),Go=function(){function n(){e(this,n)}return t(n,[{key:"getCommentCenterPosX",value:function(e){return e.x_pos+e.width/2}},{key:"getCommentCenterPosY",value:function(e){return e.y_pos+e.height/2}}]),n}(),Yo=!1,Wo=!0,Xo=Math.PI,Zo=function(){function n(t,i,o,r){e(this,n),this.canvasLayout=i,this.config=t,this.nodeUtils=o,this.commentUtils=r}return t(n,[{key:"getNewStraightCommentLinkStartPos",value:function(e,t){return Fe.getOuterCoord(e.x_pos,e.y_pos,e.width,e.height,this.canvasLayout.linkGap,this.commentUtils.getCommentCenterPosX(e),this.commentUtils.getCommentCenterPosY(e),t.x,t.y)}},{key:"getNewStraightNodeLinkStartPos",value:function(e,t,n){var i,o;if("image_center"!==e.layout.drawNodeLinkLineFromTo||Fe.isExpanded(e))if(n){var r=this.getCenterOffset(e,n);i=r.x,o=r.y}else i=this.nodeUtils.getNodeCenterPosX(e),o=this.nodeUtils.getNodeCenterPosY(e);else i=this.nodeUtils.getNodeImageCenterPosX(e),o=this.nodeUtils.getNodeImageCenterPosY(e);return Fe.getOuterCoord(e.x_pos,e.y_pos,e.width,e.height,this.canvasLayout.linkGap,i,o,t.x,t.y)}},{key:"addConnectionPaths",value:function(e){var t=this;return e.forEach((function(e){e.coordsUpdated&&(e.pathInfo=t.getConnectorPathInfo(e))})),e}},{key:"getConnectorPathInfo",value:function(e,t){var n=this.getMinInitialLine(e,t);if(Math.abs(e.x1-e.x2)<20&&Math.abs(e.y1-e.y2)<20)return this.getStraightPath(e);if(e.type===U){if(this.canvasLayout.linkType===B||this.canvasLayout.linkType===F)return this.getPortLinkPath(e,n)}else if(e.type===G&&this.config.enableAssocLinkType===Y)return this.getAssociationCurvePath(e,n);return this.getStraightPath(e)}},{key:"getMinInitialLine",value:function(e,t){return e.type===W?0:e.minInitialLineForElbow?e.minInitialLineForElbow:e.srcObj&&e.srcObj.layout?e.srcObj.layout.minInitialLine:t||10}},{key:"getLinkCoords",value:function(e,t,n,i,o,r){return e.type===U?this.canvasLayout.linkType===X?this.getNodeLinkCoordsForStraightLine(t,i,e):this.getNodeLinkCoordsForPorts(t,n,i,o):e.type===G?this.config.enableAssocLinkType===Y?this.getAssociationCurveLinkCoords(t,i,r):this.getNodeLinkCoordsForStraightLine(t,i):this.getCommentLinkCoords(t,i)}},{key:"getNodeLinkCoordsForStraightLine",value:function(e,t,n){var i,o,r,a;if("image_center"!==e.layout.drawNodeLinkLineFromTo||Fe.isExpanded(e))if(n&&n.srcOriginInfo){var s=this.getCenterOffset(e,n.srcOriginInfo);i=s.x,o=s.y}else i=this.nodeUtils.getNodeCenterPosX(e),o=this.nodeUtils.getNodeCenterPosY(e);else i=this.nodeUtils.getNodeImageCenterPosX(e),o=this.nodeUtils.getNodeImageCenterPosY(e);if("image_center"!==t.layout.drawNodeLinkLineFromTo||Fe.isExpanded(t))if(n&&n.trgOriginInfo){var l=this.getCenterOffset(t,n.trgOriginInfo);r=l.x,a=l.y}else r=this.nodeUtils.getNodeCenterPosX(t),a=this.nodeUtils.getNodeCenterPosY(t);else r=this.nodeUtils.getNodeImageCenterPosX(t),a=this.nodeUtils.getNodeImageCenterPosY(t);var c=Fe.getOuterCoord(e.x_pos,e.y_pos,e.width,e.height,this.canvasLayout.linkGap,i,o,r,a),u=Fe.getOuterCoord(t.x_pos,t.y_pos,t.width,t.height,this.canvasLayout.linkGap,r,a,i,o);return{originX:c.originX,originY:c.originY,x1:c.x,y1:c.y,x2:u.x,y2:u.y}}},{key:"getCenterOffset",value:function(e,t){var n=t.len+1,i=t.idx+1,o=0,r=0;return t.dir===Z||t.dir===V?(o=e.x_pos+e.width/n*i,r=this.nodeUtils.getNodeCenterPosY(e)):t.dir!==K&&t.dir!==q||(o=this.nodeUtils.getNodeCenterPosX(e),r=e.y_pos+e.height/n*i),{x:o,y:r}}},{key:"getNodeLinkCoordsForPorts",value:function(e,t,n,i){var o=e.width+e.layout.outputPortRightPosX,r=e.layout.outputPortRightPosY,a=n.layout.inputPortLeftPosX,s=n.layout.inputPortLeftPosY;if(this.canvasLayout.linkDirection===$?(o=e.layout.outputPortBottomPosX,r=e.height+e.layout.outputPortBottomPosY,a=n.layout.inputPortTopPosX,s=n.layout.inputPortTopPosY):this.canvasLayout.linkDirection===J&&(o=e.layout.outputPortBottomPosX,r=e.layout.outputPortBottomPosY,a=n.layout.inputPortTopPosX,s=n.height+n.layout.inputPortTopPosY),e.outputs&&e.outputs.length>0){var l=e.outputs.find((function(e){return e.id===t}));o=l?l.cx:o,r=l?l.cy:r}if(n.inputs&&n.inputs.length>0){var c=n.inputs.find((function(e){return e.id===i}));a=c?c.cx:a,s=c?c.cy:s}return{x1:e.x_pos+o,y1:e.y_pos+r,x2:n.x_pos+a,y2:n.y_pos+s}}},{key:"getAssociationCurveLinkCoords",value:function(e,t,n){var i=0,o=0;return n===Q?(i=e.x_pos+e.width,o=t.x_pos):n===ee?(i=e.x_pos,o=t.x_pos+t.width):n===te?(i=e.x_pos,o=t.x_pos):(i=e.x_pos+e.width,o=t.x_pos+t.width),{x1:i,y1:e.y_pos+e.layout.outputPortRightPosY,x2:o,y2:t.y_pos+t.layout.inputPortLeftPosY}}},{key:"getCommentLinkCoords",value:function(e,t){var n,i,o=this.commentUtils.getCommentCenterPosX(e),r=this.commentUtils.getCommentCenterPosY(e);"image_center"===t.layout.drawCommentLinkLineTo?(n=this.nodeUtils.getNodeImageCenterPosX(t),i=this.nodeUtils.getNodeImageCenterPosY(t)):(n=this.nodeUtils.getNodeCenterPosX(t),i=this.nodeUtils.getNodeCenterPosY(t));var a=Fe.getOuterCoord(e.x_pos,e.y_pos,e.width,e.height,this.canvasLayout.linkGap,o,r,n,i),s=Fe.getOuterCoord(t.x_pos,t.y_pos,t.width,t.height,this.canvasLayout.linkGap,n,i,o,r);return{x1:a.x,y1:a.y,x2:s.x,y2:s.y}}},{key:"getPortLinkPath",value:function(e,t){var n,i,o,r;e.srcObj&&e.trgNode?this.canvasLayout.linkDirection===$?(n=-(e.srcObj.x_pos+e.srcObj.width),o=-e.srcObj.x_pos,i=-(e.trgNode.x_pos+e.trgNode.width),r=-e.trgNode.x_pos):this.canvasLayout.linkDirection===J?(n=e.srcObj.x_pos,o=e.srcObj.x_pos+e.srcObj.width,i=e.trgNode.x_pos,r=e.trgNode.x_pos+e.trgNode.width):(n=e.srcObj.y_pos,o=e.srcObj.y_pos+e.srcObj.height,i=e.trgNode.y_pos,r=e.trgNode.y_pos+e.trgNode.height):this.canvasLayout.linkDirection===$?(n=-e.x1,i=-e.x2,o=-e.x1,r=-e.x2):this.canvasLayout.linkDirection===J?(n=e.x1,i=e.x2,o=e.x1,r=e.x2):(n=e.y1,i=e.y2,o=e.y1,r=e.y2);var a=e;this.canvasLayout.linkDirection===$?a=this.rotateData90Degrees(a,Wo):this.canvasLayout.linkDirection===J&&(a=this.rotateData90Degrees(a,Yo));var s=this.canvasLayout.linkType===F?this.getElbowPathInfo(a,t,n,i,o,r):this.getCurvePathInfo(a,t,n,i,o,r);return this.canvasLayout.linkDirection===$?(s.elements=this.rotateElements90Degrees(s.elements,Yo),s.centerPoint=this.rotatePoint90Degrees(s.centerPoint.x,s.centerPoint.y,Yo)):this.canvasLayout.linkDirection===J&&(s.elements=this.rotateElements90Degrees(s.elements,Wo),s.centerPoint=this.rotatePoint90Degrees(s.centerPoint.x,s.centerPoint.y,Wo)),s.path=this.createPath(s.elements),s}},{key:"getCurvePathInfo",value:function(e,t,n,i,o,r){var a={x:0,y:0},s=e.x2-e.x1,l=[];if(l.push({p:"M",x:e.x1,y:e.y1}),s>=t||r>n-this.canvasLayout.wrapAroundNodePadding&&i<o+this.canvasLayout.wrapAroundNodePadding&&e.x2>e.x1){var c=e.x1+(e.x2-e.x1)/2,u=e.y1,d=c,h=e.y2;l.push({p:"C",x:c,y:u,x2:d,y2:h,x3:e.x2,y3:e.y2}),a.x=c,a.y=u+(h-u)/2}else{var p=e.y2-e.y1,g=this.calculateMidY(e,n,o,i,r),f=Math.min(Math.abs(p)/2,-(s-t/2)),v=t-Math.max(s/2,0),y=e.x1+v,m=e.y1,b=y,k=e.y1+(g-e.y1)/2,C=e.x1+(e.x2-e.x1)/2,x=g,P=e.x1-f,L=g,w=e.x2+f,S=g,N=e.x2-v,T=g,D=N,E=g+(e.y2-g)/2;P>w?(l.push({p:"Q",x:y,y:m,x2:b,y2:k},{p:"T",x:P,y:L},{p:"L",x:w,y:S},{p:"Q",x:N,y:T,x2:D,y2:E},{p:"T",x:e.x2,y:e.y2}),a.x=P+(w-P)/2,a.y=L):(l.push({p:"Q",x:y,y:m,x2:b,y2:k},{p:"T",x:C,y:x},{p:"Q",x:N,y:T,x2:D,y2:E},{p:"T",x:e.x2,y:e.y2}),a.x=C,a.y=x)}return{elements:l,centerPoint:a}}},{key:"getElbowPathInfo",value:function(e,t,n,i,o,r){var a,s=e.trgNode?e.trgNode.layout.minFinalLine:30,l={x:0,y:0},c=e.x1+t,u=e.y1,d=c,h=e.y2,p=e.x2-e.x1,g=e.y2-e.y1;a=p>0&&g<4*this.canvasLayout.elbowSize&&g>-4*this.canvasLayout.elbowSize?p<t+s?g/4:g/2:g>=0?this.canvasLayout.elbowSize:-this.canvasLayout.elbowSize;var f=this.canvasLayout.elbowSize,v=!1;p<t+s&&(v=!0,d=e.x2-s,f=Math.min(this.canvasLayout.elbowSize,-(p-(t+s))/2));var y=[];if(y.push({p:"M",x:e.x1,y:e.y1},{p:"L",x:c-this.canvasLayout.elbowSize,y:u}),!1===v)y.push({p:"Q",x:c,y:u,x2:c,y2:u+a},{p:"L",x:d,y:h-a}),l.x=d,l.y=h;else{var m,b,k=p<0?this.calculateMidY(e,n,o,i,r):h-(h-u)/2;p<0&&(a=k>=o?this.canvasLayout.elbowSize:-this.canvasLayout.elbowSize),k<i&&k<n||k>r&&k>o?(m=k-a,b=h+a):(m=k+a,b=h-a),y.push({p:"Q",x:c,y:u,x2:c,y2:u+a},{p:"L",x:c,y:k-a},{p:"Q",x:c,y:k,x2:c-f,y2:k},{p:"L",x:d+f,y:k},{p:"Q",x:d,y:k,x2:d,y2:m},{p:"L",x:d,y:b}),l.x=c,l.y=k}return y.push({p:"Q",x:d,y:h,x2:d+this.canvasLayout.elbowSize,y2:h},{p:"L",x:e.x2,y:e.y2}),{elements:y,centerPoint:l}}},{key:"calculateMidY",value:function(e,t,n,i,o){var r;if(i>=n+this.canvasLayout.wrapAroundNodePadding)r=n+(i-n)/2;else if(o<=t-this.canvasLayout.wrapAroundNodePadding)r=o+(t-o)/2;else{var a=Math.max(n,o),s=a-e.y1,l=a-e.y2,c=Math.min(t,i);r=s+l>e.y1-c+(e.y2-c)?c-this.canvasLayout.wrapAroundSpacing:a+this.canvasLayout.wrapAroundSpacing}return r}},{key:"rotateData90Degrees",value:function(e,t){var n=this.rotatePoint90Degrees(e.x1,e.y1,t),i=this.rotatePoint90Degrees(e.x2,e.y2,t);return{x1:n.x,y1:n.y,x2:i.x,y2:i.y}}},{key:"rotateElements90Degrees",value:function(e,t){var n,i=this;return e.forEach((function(e){n=i.rotatePoint90Degrees(e.x,e.y,t),e.x=n.x,e.y=n.y,"Q"!==e.p&&"C"!==e.p||(n=i.rotatePoint90Degrees(e.x2,e.y2,t),e.x2=n.x,e.y2=n.y,"C"===e.p&&(n=i.rotatePoint90Degrees(e.x3,e.y3,t),e.x3=n.x,e.y3=n.y))})),e}},{key:"rotatePoint90Degrees",value:function(e,t,n){return n?{x:t,y:-e}:{x:-t,y:e}}},{key:"createPath",value:function(e){var t=e.length-1,n="";return e.forEach((function(e,i){"M"===e.p?n+="M "+e.x+" "+e.y:"L"===e.p?n+="L "+e.x+" "+e.y:"T"===e.p?n+="T "+e.x+" "+e.y:"Q"===e.p?n+="Q "+e.x+" "+e.y+" "+e.x2+" "+e.y2:"C"===e.p&&(n+="C "+e.x+" "+e.y+" "+e.x2+" "+e.y2+" "+e.x3+" "+e.y3),i<t&&(n+=" ")})),n}},{key:"getStraightPath",value:function(e){var t="M "+e.x1+" "+e.y1+" L "+e.x2+" "+e.y2,n=e.x2-e.x1,i=e.y2-e.y1,o={x:e.x1+n/2,y:e.y1+i/2},r=Math.atan(i/n);return n<0&&(r=Xo+r),{path:t,centerPoint:o,angle:r}}},{key:"getAssociationCurvePath",value:function(e,t){return e.assocLinkVariation===ee?this.getCurveLeftPath(e,t):e.assocLinkVariation===te?this.getDoubleBackLeft(e,t):e.assocLinkVariation===ne?this.getDoubleBackRight(e,t):this.getCurveRightPath(e,t)}},{key:"getCurveLeftPath",value:function(e,t){var n=e.x1-(e.x1-e.x2)/2;return this.getCurveOutPath(e,t,n)}},{key:"getCurveRightPath",value:function(e,t){var n=e.x1+(e.x2-e.x1)/2;return this.getCurveOutPath(e,t,n)}},{key:"getCurveOutPath",value:function(e,t,n){var i=e.y1,o=n,r=e.y2;return{path:"M "+e.x1+" "+e.y1+" C "+n+" "+i+" "+o+" "+r+" "+e.x2+" "+e.y2,centerPoint:{x:n,y:i+(r-i)/2}}}},{key:"getDoubleBackLeft",value:function(e,t){var n=Math.min(e.x1,e.x2)-t-100;return this.getDoubleBack(e,t,n)}},{key:"getDoubleBackRight",value:function(e,t){var n=Math.max(e.x1,e.x2)+t+100;return this.getDoubleBack(e,t,n)}},{key:"getDoubleBack",value:function(e,t,n){var i=e.y1,o=n,r=e.y2;return{path:"M "+e.x1+" "+e.y1+" C "+n+" "+i+" "+o+" "+r+" "+e.x2+" "+e.y2,centerPoint:{x:this.calcCenterPoint(e.x1,n,o,e.x2),y:this.calcCenterPoint(e.y1,i,r,e.y2)}}}},{key:"calcCenterPoint",value:function(e,t,n,i){var o=.5;return Math.pow(.5,3)*e+3*Math.pow(.5,2)*o*t+3*Math.pow(.5,2)*o*n+Math.pow(o,3)*i}}]),n}(),Vo=function(){function n(t){e(this,n),this.canvasLayout=t}return t(n,[{key:"getDec",value:function(e,t){return t?t.find((function(t){return t.id===e})):null}},{key:"getDecLabelClass",value:function(e,t){var n=e.label_single_line?" d3-label-single-line":" d3-label-multi-line",i="center"===e.label_align?" d3-label-center":"";return this.getDecClass(e,"d3-".concat(t,"-dec-label"))+n+i}},{key:"getDecLabelTextAreaClass",value:function(e){return"d3-dec-label-entry"+(e.label_single_line?" d3-label-single-line":" d3-label-multi-line-entry")+("center"===e.label_align?" d3-label-center":"")}},{key:"getDecTransform",value:function(e,t,n){return"translate(".concat(this.getDecPosX(e,t,n),", ").concat(this.getDecPosY(e,t,n),")")}},{key:"getDecPosX",value:function(e,t,n){return n===ie?this.getLinkDecPosX(e,t,n):this.getNodeDecPosX(e,t)}},{key:"getNodeDecPosX",value:function(e,t){var n=e.position||"topLeft",i=0;return"topLeft"===n||"middleLeft"===n||"bottomLeft"===n?i=void 0!==e.x_pos?Number(e.x_pos):t.layout.decoratorLeftX:"topCenter"===n||"middleCenter"===n||"bottomCenter"===n?i=t.width/2+(void 0!==e.x_pos?Number(e.x_pos):t.layout.decoratorCenterX):"topRight"!==n&&"middleRight"!==n&&"bottomRight"!==n||(i=t.width+(void 0!==e.x_pos?Number(e.x_pos):t.layout.decoratorRightX)),i}},{key:"getLinkDecPosX",value:function(e,t,n){var i=e.position||"middle",o=0;return"middle"===i?o=t.pathInfo.centerPoint?t.pathInfo.centerPoint.x:t.x1+(t.x2-t.x1)/2:"source"===i?o=t.pathInfo.sourcePoint?t.pathInfo.sourcePoint.x:t.x1:"target"===i&&(o=t.pathInfo.targetPoint?t.pathInfo.targetPoint.x:t.x2),o=void 0!==e.x_pos?o+Number(e.x_pos):o,e.distance&&d(t,"pathInfo.angle")&&(o+=Math.cos(t.pathInfo.angle)*e.distance),"center"===e.label_align&&(o-=this.getDecWidth(e,t,n)/2),o}},{key:"getDecPosY",value:function(e,t,n){return n===ie?this.getLinkDecPosY(e,t):this.getNodeDecPosY(e,t)}},{key:"getNodeDecPosY",value:function(e,t){var n=e.position||"topLeft",i=0;return"topLeft"===n||"topCenter"===n||"topRight"===n?i=void 0!==e.y_pos?Number(e.y_pos):t.layout.decoratorTopY:"middleLeft"===n||"middleCenter"===n||"middleRight"===n?i=t.height/2+(void 0!==e.y_pos?Number(e.y_pos):t.layout.decoratorMiddleY):"bottomLeft"!==n&&"bottomCenter"!==n&&"bottomRight"!==n||(i=t.height+(void 0!==e.y_pos?Number(e.y_pos):t.layout.decoratorBottomY)),i}},{key:"getLinkDecPosY",value:function(e,t){var n=e.position||"middle",i=0;return"middle"===n?i=t.pathInfo.centerPoint?t.pathInfo.centerPoint.y:t.y1+(t.y2-t.y1)/2:"source"===n?i=t.pathInfo.sourcePoint?t.pathInfo.sourcePoint.y:t.y1:"target"===n&&(i=t.pathInfo.targetPoint?t.pathInfo.targetPoint.y:t.y2),i=void 0!==e.y_pos?i+Number(e.y_pos):i,e.distance&&d(t,"pathInfo.angle")&&(i+=Math.sin(t.pathInfo.angle)*e.distance),i}},{key:"getDecPadding",value:function(e,t,n){return!1===e.outline?0:n===ie?this.canvasLayout.linkDecoratorPadding:t.layout.decoratorPadding}},{key:"getDecWidth",value:function(e,t,n){return void 0!==e.width?Number(e.width):n===ie?this.canvasLayout.linkDecoratorWidth:t.layout.decoratorWidth}},{key:"getDecHeight",value:function(e,t,n){return void 0!==e.height?Number(e.height):n===ie?this.canvasLayout.linkDecoratorHeight:t.layout.decoratorHeight}},{key:"getDecClass",value:function(e,t){var n=t;return e&&e.class_name&&(n+=" "+e.class_name),n}},{key:"getDecImage",value:function(e){return e?e.image:""}},{key:"getDecLabelEditIconTranslate",value:function(e,t,n,i,o){return"translate(".concat(this.getDecLabelEditIconPosX(e,t,n,i,o),", ").concat(this.getDecLabelEditIconPosY(e),")")}},{key:"getDecLabelEditIconPosX",value:function(e,t,n,i,o){var r=Math.min(i.getBoundingClientRect().width,this.getDecLabelWidth(e,t,n));return"center"===e.label_align?this.getDecLabelWidth(e,t,n)/2+r/2/o:r/o}},{key:"getDecLabelEditIconPosY",value:function(e){return 0}},{key:"getDecLabelWidth",value:function(e,t,n){return void 0!==e.width?Number(e.width):n===ie?this.canvasLayout.linkDecoratorLabelWidth:t.layout.decoratorLabelWidth}},{key:"getDecLabelHeight",value:function(e,t,n){return void 0!==e.height?Number(e.height):n===ie?this.canvasLayout.linkDecoratorLabelHeight:t.layout.decoratorLabelHeight}},{key:"getDecLabelTextAreaWidth",value:function(e,t,n){return this.getDecLabelWidth(e,t,n)+2*H}},{key:"getDecLabelTextAreaHeight",value:function(e,t,n){return this.getDecLabelHeight(e,t,n)+2*H}},{key:"getDecLabelTextAreaPosX",value:function(){return-H}},{key:"getDecLabelTextAreaPosY",value:function(){return-(H-1)}}]),n}(),Ko=function(){function n(t){e(this,n),this.logger=new Re("SVGCanvasExternal"),this.ren=t}return t(n,[{key:"addNodeExternalObject",value:function(e,t,n){ut.render(s.createElement(e.layout.nodeExternalObject,{nodeData:e,canvasController:this.ren.canvasController,externalUtils:this}),n[t])}},{key:"addDecExternalObject",value:function(e,t,n){ut.render(e.jsx,n[t])}},{key:"removeExternalObject",value:function(e,t,n){ut.unmountComponentAtNode(n[t])}},{key:"getActiveNodes",value:function(){return this.ren.activePipeline.getNodes()}},{key:"getActiveNode",value:function(e){return this.ren.activePipeline.getNode(e)}},{key:"setPortPositions",value:function(e){var t=this.ren.activePipeline.getNode(e.nodeId),n=this.ren.zoomUtils.getZoomScale();e.inputPositions&&e.inputPositions.forEach((function(e){var i=t.inputs.find((function(t){return t.id===e.id}));i.cx=e.cx/n,i.cy=e.cy/n})),e.outputPositions&&e.outputPositions.forEach((function(e){var i=t.outputs.find((function(t){return t.id===e.id}));i.cx=e.cx/n,i.cy=e.cy/n})),this.ren.displayLinks()}},{key:"setNodesProperties",value:function(e){var t=this;e&&(e.forEach((function(e){var n=t.ren.activePipeline.getNode(e.id);e.height&&(n.height=e.height),e.width&&(n.width=e.width),e.x_pos&&(n.x_pos=e.x_pos),e.y_pos&&(n.y_pos=e.y_pos)})),this.ren.displayNodes())}},{key:"raiseNodeToTopById",value:function(e){this.ren.raiseNodeToTopById(e)}}]),n}(),qo=so({"&":"&","<":"<",">":">",""":'"',"'":"'"}),$o=y,Jo=qo,Qo=/&(?:amp|lt|gt|quot|#39);/g,er=RegExp(Qo.source);var tr=function(e){return(e=$o(e))&&er.test(e)?e.replace(Qo,Jo):e},nr=function(){function n(){e(this,n)}return t(n,null,[{key:"processMarkdownAction",value:function(e,t,n,i){var o=n,r=i,a=null;switch(o===r?(o=this.findFirstSpace(t,o),r=this.findLastSpace(t,r)):this.allWhiteSpace(t,o,r)?o=r:(o=this.findFirstNonSpace(t,o,r),r=this.findLastNonSpace(t,o,r)),e){case"title":case"header":case"subheader":case"body":case"increaseHashes":case"decreaseHashes":a=this.processHeaderCommand(t,o,r,e);break;case"bold":a=this.processWrapCommand(t,o,r,"**");break;case"italics":a=this.processWrapCommand(t,o,r,"_");break;case"strikethrough":a=this.processWrapCommand(t,o,r,"~~");break;case"code":a=this.processCodeCommand(t,o,r);break;case"link":a=this.processLinkCommand(t,o,r);break;case"quote":case"numberedList":case"bulletedList":a=this.processMultiLineCommand(t,o,r,e);break;case"return":a=this.processReturnCommand(t,o,r,n,i)}return a}},{key:"findFirstSpace",value:function(e,t){var n=e.lastIndexOf(" ",t-1)+1,i=e.lastIndexOf("\n",t-1)+1;return Math.max(n,i,0)}},{key:"findLastSpace",value:function(e,t){var n=e.indexOf(" ",t),i=e.indexOf("\n",t);return n=-1===n?e.length:n,i=-1===i?e.length:i,Math.min(n,i,e.length)}},{key:"allWhiteSpace",value:function(e,t,n){return 0===e.slice(t,n).trim().length}},{key:"findFirstNonSpace",value:function(e,t,n){for(var i=t;(" "===e[i]||"\n"===e[i])&&i<=n;)i++;return i}},{key:"findLastNonSpace",value:function(e,t,n){for(var i=n;(" "===e[i-1]||"\n"===e[i-1])&&i>=t;)i--;return i}},{key:"processHeaderCommand",value:function(e,t,n,i){var o=this.findPrecedingNewLine(e,t),r=this.findSuceedingNewLine(e,n),a=e.slice(0,o),s=e.slice(o,r),l=e.slice(r),c=o,u=r,d="",h=s,p=this.getHashCount(s);if(p>0){var g=s.indexOf(" ");d=a+(h=s.slice(g+1))+l,u-=g+1}var f=this.getHeaderSyntax(i,p);return f&&(d=a+f+h+l,c+=f.length,u+=f.length),{newText:d,newStart:c,newEnd:u}}},{key:"getHeaderSyntax",value:function(e,t){switch(e){case"title":return"# ";case"header":return"## ";case"subheader":return"### ";case"body":return!1;case"increaseHashes":return 0===t?"# ":1===t?"## ":2===t&&"### ";case"decreaseHashes":return 0===t?"### ":1!==t&&(2===t?"# ":3===t?"## ":"### ")}return!1}},{key:"getHashCount",value:function(e){return e.startsWith("# ")?1:e.startsWith("## ")?2:e.startsWith("### ")?3:e.startsWith("#### ")?4:e.startsWith("##### ")?5:e.startsWith("###### ")?6:0}},{key:"processWrapCommand",value:function(e,t,n,i){var o="",r=t,a=n,s=e.slice(0,t),l=e.slice(t,n),c=e.slice(n),u=i.length;return s.endsWith(i)&&c.startsWith(i)?(o=s.slice(0,s.length-u)+l+c.slice(u),r=t-u,a=n-u):l.startsWith(i)&&l.endsWith(i)?(o=s+l.slice(0,l.length-u).slice(u)+c,r=t,a=n-2*u):(o=s+i+l+i+c,r=t+u,a=n+u),{newText:o,newStart:r,newEnd:a}}},{key:"processCodeCommand",value:function(e,t,n){return e.slice(t,n).indexOf("\n")>-1?this.processTripleBackTicks(e,t,n):this.processWrapCommand(e,t,n,"`")}},{key:"processTripleBackTicks",value:function(e,t,n){var i=this.findPrecedingNewLine(e,t),o=this.findSuceedingNewLine(e,n),r=e.slice(0,i),a=e.slice(i,o),s=e.slice(o),l=i,c=o,u="";return r.endsWith("```\n")&&s.startsWith("\n```")?(u=r.slice(0,i-4)+a+s.slice(4),l-=4,c-=4):(u=r+"```\n"+a+"\n```"+s,l+=4,c+=4),{newText:u,newStart:l,newEnd:c}}},{key:"processLinkCommand",value:function(e,t,n){var i="",o=t,r=n,a=e.slice(0,t),s=e.slice(t,n),l=e.slice(n);return a.endsWith("[")&&l.startsWith("](url)")?(i=a.slice(0,a.length-1)+s+l.slice(6),o=t-1,r=n-1):"[](url)"===s?(i=a+l,r=o=t):t===n?(i=a+"[](url)"+l,o=t+1,r=t+1):(i=a+"["+s+"](url)"+l,o=t+1,r=n+1),{newText:i,newStart:o,newEnd:r}}},{key:"processMultiLineCommand",value:function(e,t,n,i){return this.isMultiLineMarkdown(e,t,n,i)?this.removeMultiLineMarkdown(e,t,n,i):this.addMultiLineMarkdown(e,t,n,i)}},{key:"isMultiLineMarkdown",value:function(e,t,n,i){var o=this,r=this.findPrecedingNewLine(e,t),a=this.findSuceedingNewLine(e,n);return e.slice(r,a).split("\n").every((function(e){return o.isMultiLineItem(e,i)}))}},{key:"isMultiLineItem",value:function(e,t){switch(t){case"quote":return e.startsWith("> ");case"bulletedList":return e.startsWith("* ");case"numberedList":var n=this.getPrefixNumber(e);return!isNaN(n)&&n>0}return!1}},{key:"getPrefixNumber",value:function(e){var t=e.indexOf(". "),n=e.slice(0,t);return Number(n)}},{key:"removeMultiLineMarkdown",value:function(e,t,n,i){var o=this,r=this.findPrecedingNewLine(e,t),a=this.findSuceedingNewLine(e,n),s=e.slice(0,r),l=e.slice(r,a),c=e.slice(a),u=r,d=a,h=s,p=l.split("\n");return p.forEach((function(e,t){var n=o.removeListPrefix(e,i);d-=e.length-n.length,h+=n,t<p.length-1&&(h+="\n")})),{newText:h+=c,newStart:u,newEnd:d}}},{key:"removeListPrefix",value:function(e,t){switch(t){case"quote":case"bulletedList":return e.slice(2);case"numberedList":var n=e.indexOf(". ");return e.slice(n+2)}return""}},{key:"addMultiLineMarkdown",value:function(e,t,n,i){var o=this,r=this.findPrecedingNewLine(e,t),a=this.findSuceedingNewLine(e,n),s=e.slice(0,r),l=e.slice(r,a),c=e.slice(a),u=r,d=a,h=s;if(""===l){var p=this.getListPrefix(i,1);h=s+p+c,u=r+p.length,d=u}else{var g=l.split("\n");g.forEach((function(t,n){var r=o.getListPrefix(i,n+1,t);d+=r.length-t.length,h+=r,n===g.length-1&&"\n"===e[a]&&"\n"===e[a+1]||(h+="\n")})),h+=c}return{newText:h,newStart:u,newEnd:d}}},{key:"getListPrefix",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";switch(e){case"quote":return"> "+n;case"bulletedList":return"* "+n;case"numberedList":return t+". "+n}return null}},{key:"findPrecedingNewLine",value:function(e,t){for(var n=t;n>0&&"\n"!==e[n-1];)n--;return n}},{key:"findSuceedingNewLine",value:function(e,t){for(var n=t;n<e.length&&"\n"!==e[n];)n++;return n}},{key:"processReturnCommand",value:function(e,t,n,i,o){var r=this.findPrecedingNewLine(e,t),a=this.findSuceedingNewLine(e,n),s=e.slice(0,r),l=e.slice(r,a),c=e.slice(a);if(!this.isCursorAtBeginningOfLine(r,i,o)){if(this.isMultiLineItem(l,"quote"))return this.insertMultiLineItem(">",s,l,c,a);if(this.isMultiLineItem(l,"bulletedList"))return this.insertMultiLineItem("*",s,l,c,a);if(this.isMultiLineItem(l,"numberedList")){var u=this.getPrefixNumber(l)+1,d=this.renumberEndText(c,u);return this.insertMultiLineItem(u+".",s,l,d,a)}}return null}},{key:"isCursorAtBeginningOfLine",value:function(e,t,n){return t===n&&t===e}},{key:"insertMultiLineItem",value:function(e,t,n,i,o){var r=t+n+"\n"+e+" "+i,a=o+2+e.length;return{newText:r,newStart:a,newEnd:a}}},{key:"renumberEndText",value:function(e,t){var n=this,i=e.split("\n"),o="",r=!1;return i.forEach((function(e,i){n.isMultiLineItem(e,"numberedList")&&!1===r?o+=n.renumberLine(e,t+i):(o+=e,i>0&&(r=!0))})),o}},{key:"renumberLine",value:function(e,t){var n=e.indexOf(". ");return t+". "+e.slice(n+2)}}]),n}(),ir=Object.assign({},io),or=function(){function n(t,i,o,r,a,s,l,c,u,d){e(this,n),this.config=t,this.dispUtils=i,this.nodeUtils=o,this.decUtils=r,this.canvasController=a,this.canvasDiv=s,this.activePipeline=l,this.displayCommentsCallback=c,this.displayLinksCallback=u,this.getCommentToolbarPosCallback=d,this.logger=new Re("SvgCanvasTextArea"),this.editingText=!1,this.editingTextId="",this.addingTextToTextArea=!1,this.textAreaHeight=null}return t(n,[{key:"isEditingText",value:function(){return this.editingText}},{key:"getEditingTextId",value:function(){return this.editingTextId}},{key:"displayCommentTextArea",value:function(e,t){if(this.editingTextData={id:e.id,text:e.content,singleLine:!1,maxCharacters:null,allowReturnKey:!0,textCanBeEmpty:!0,xPos:0,yPos:0,width:e.width,height:e.height,className:"d3-comment-entry",parentDomObj:t,keyboardInputCallback:this.config.enableMarkdownInComments?this.commentKeyboardHandler.bind(this):null,autoSizeCallback:this.autoSizeComment.bind(this),saveTextChangesCallback:this.saveCommentChanges.bind(this),closeTextAreaCallback:this.closeCommentTextArea.bind(this)},this.displayTextArea(this.editingTextData),this.config.enableMarkdownInComments&&this.dispUtils.isDisplayingFullPage()){var n=this.getCommentToolbarPosCallback(e);this.canvasController.openTextToolbar(n.x,n.y,this.markdownActionHandler.bind(this),this.blurInTextToolbar.bind(this))}}},{key:"commentKeyboardHandler",value:function(e){var t=this.getMarkdownAction(e);t&&("return"!==t&&Fe.stopPropagationAndPreventDefault(e),this.markdownActionHandler(t,e))}},{key:"blurInTextToolbar",value:function(e){this.addingTextToTextArea||e.relatedTarget&&(Fe.getParentElementWithClass(e.relatedTarget,"d3-comment-entry")||Fe.getParentElementWithClass(e.relatedTarget,"text-toolbar")||Fe.getParentElementWithClass(e.relatedTarget,"bx--overflow-menu-options__btn"))||this.completeEditing(e)}},{key:"getMarkdownAction",value:function(e){if(Fe.isCmndCtrlPressed(e))switch(e.keyCode){case 66:return"bold";case 73:return"italics";case 88:return e.shiftKey?"strikethrough":null;case 55:return e.shiftKey?"numberedList":null;case 56:return e.shiftKey?"bulletedList":null;case 69:return"code";case 75:return"link";case 188:return"decreaseHashes";case 190:return e.shiftKey?"quote":"increaseHashes"}else if(13===e.keyCode)return"return";return null}},{key:"markdownActionHandler",value:function(e,t){this.logger.log("markdownActionHandler - action = "+e);var n=this.canvasDiv.selectAll(".d3-comment-entry").node(),i=n.selectionStart,o=n.selectionEnd,r=n.value,a=nr.processMarkdownAction(e,r,i,o);a&&(t.preventDefault(),this.addTextToTextArea(a,n))}},{key:"addTextToTextArea",value:function(e,t){this.addingTextToTextArea=!0;var n=tr(e.newText);t.focus(),t.select(),document.execCommand("insertText",!1,n),t.setSelectionRange(e.newStart,e.newEnd),this.addingTextToTextArea=!1}},{key:"autoSizeComment",value:function(e,t){this.logger.log("autoSizeComment - textAreaHt = "+this.textAreaHeight+" scroll ht = "+e.scrollHeight);var n=e.scrollHeight+12;this.textAreaHeight<n&&(this.textAreaHeight=n,this.foreignObject.style("height",this.textAreaHeight+"px"),this.activePipeline.getComment(t.id).height=this.textAreaHeight,this.displayCommentsCallback(),this.displayLinksCallback())}},{key:"saveCommentChanges",value:function(e,t,n){var i=this.activePipeline.getComment(e),o={editType:"editComment",editSource:"canvas",id:i.id,content:t,width:i.width,height:n,x_pos:i.x_pos,y_pos:i.y_pos,pipelineId:this.activePipeline.id};this.canvasController.editActionHandler(o)}},{key:"closeCommentTextArea",value:function(){this.canvasController.closeTextToolbar()}},{key:"displayNodeLabelTextArea",value:function(e,t){this.displayDiv=ir.select(t).selectAll(".d3-foreign-object-node-label div"),this.displayDivStyle=this.displayDiv.attr("style"),this.displayDiv.attr("style","display:none;"),this.editingTextData={id:e.id,text:e.label,singleLine:e.layout.labelSingleLine,maxCharacters:e.layout.labelMaxCharacters,allowReturnKey:e.layout.labelAllowReturnKey,textCanBeEmpty:!1,xPos:this.nodeUtils.getNodeLabelTextAreaPosX(e),yPos:this.nodeUtils.getNodeLabelTextAreaPosY(e),width:this.nodeUtils.getNodeLabelTextAreaWidth(e),height:this.nodeUtils.getNodeLabelTextAreaHeight(e),className:this.nodeUtils.getNodeLabelTextAreaClass(e),parentDomObj:t,autoSizeCallback:this.autoSizeMultiLineLabel.bind(this),saveTextChangesCallback:this.saveNodeLabelChanges.bind(this),closeTextAreaCallback:this.closeEntryTextArea.bind(this)},this.displayTextArea(this.editingTextData)}},{key:"autoSizeMultiLineLabel",value:function(e,t){this.logger.log("autoSizeNodeLabel - textAreaHt = "+this.textAreaHeight+" scroll ht = "+e.scrollHeight),t.maxCharacters&&e.value.length>t.maxCharacters&&(e.value=e.value.substring(0,t.maxCharacters)),this.foreignObject.style("height",0);var n=e.scrollHeight+12;this.textAreaHeight=n,this.foreignObject.style("height",this.textAreaHeight+"px")}},{key:"saveNodeLabelChanges",value:function(e,t,n,i){var o={editType:"setNodeLabel",editSource:"canvas",nodeId:e,label:t,pipelineId:this.activePipeline.id};this.canvasController.editActionHandler(o)}},{key:"closeEntryTextArea",value:function(){this.displayDiv.attr("style",this.displayDivStyle)}},{key:"displayDecLabelTextArea",value:function(e,t,n,i){this.displayDiv=ir.select(i).selectAll(".d3-foreign-object-dec-label div"),this.displayDivStyle=this.displayDiv.attr("style"),this.displayDiv.attr("style","display:none;"),this.editingTextData={id:e.id,text:e.label,singleLine:e.label_single_line||!1,maxCharacters:e.label_max_characters||null,allowReturnKey:e.label_allow_return_key||!1,textCanBeEmpty:!1,xPos:this.decUtils.getDecLabelTextAreaPosX(),yPos:this.decUtils.getDecLabelTextAreaPosY(),width:this.decUtils.getDecLabelTextAreaWidth(e,t,n),height:this.decUtils.getDecLabelTextAreaHeight(e,t,n),className:this.decUtils.getDecLabelTextAreaClass(e),parentDomObj:i,objId:t.id,objType:n,autoSizeCallback:this.autoSizeMultiLineLabel.bind(this),saveTextChangesCallback:this.saveDecLabelChanges.bind(this),closeTextAreaCallback:this.closeEntryTextArea.bind(this)},this.displayTextArea(this.editingTextData)}},{key:"saveDecLabelChanges",value:function(e,t,n,i){var o={editType:"editDecorationLabel",editSource:"canvas",decId:e,objId:i.objId,objType:i.objType,label:t,pipelineId:this.activePipeline.id};this.canvasController.editActionHandler(o)}},{key:"displayTextArea",value:function(e){var t=this;this.textAreaHeight=e.height,this.editingText=!0,this.editingTextId=e.id,this.foreignObject=ir.select(e.parentDomObj).append("foreignObject").attr("class","d3-foreign-object-text-entry").attr("width",e.width).attr("height",e.height).attr("x",e.xPos).attr("y",e.yPos);var n=this.foreignObject.append("xhtml:textarea").attr("class",e.className).text(tr(e.text)).on("keydown",(function(n){if(13===n.keyCode){if("save"===e.allowReturnKey)return t.textContentSaved=!0,void t.saveAndCloseTextArea(e,n.target.value,n);!e.singleLine&&e.allowReturnKey||Fe.stopPropagationAndPreventDefault(n)}27===n.keyCode&&(Fe.stopPropagationAndPreventDefault(n),t.textAreaEscKeyPressed=!0,t.closeTextArea(e)),e.maxCharacters&&n.target.value.length>=e.maxCharacters&&!t.textAreaAllowedKeys(n)&&Fe.stopPropagationAndPreventDefault(n),e.keyboardInputCallback&&e.keyboardInputCallback(n)})).on("keyup",(function(t){e.autoSizeCallback(t.target,e)})).on("paste",(function(n){t.logger.log("Text area - Paste - Scroll Ht = "+n.target.scrollHeight),setTimeout(e.autoSizeCallback,500,n.target,e)})).on("blur",(function(n,i){t.logger.log("Text area - blur"),t.textAreaEscKeyPressed?t.textAreaEscKeyPressed=!1:t.textContentSaved?t.textContentSaved=!1:n.relatedTarget&&Fe.getParentElementWithClass(n.relatedTarget,"text-toolbar")||t.saveAndCloseTextArea(e,n.target.value,n)})).on("focus",(function(n,i){t.logger.log("Text area - focus"),e.autoSizeCallback(n.target,e)})).on("mousedown click dblclick contextmenu",(function(e,t){e.stopPropagation()}));n.node().focus(),n.node().setSelectionRange(e.text.length,e.text.length)}},{key:"completeEditing",value:function(e){var t=this.foreignObject.selectAll("textarea").node();this.textContentSaved=!0,this.saveAndCloseTextArea(this.editingTextData,t.value,e)}},{key:"saveAndCloseTextArea",value:function(e,t,n){if(!t&&!e.textCanBeEmpty)return this.closeTextArea(e),void Fe.stopPropagationAndPreventDefault(n);var i=t;this.closeTextArea(e),e.text===i&&this.textAreaHeight===e.height||e.saveTextChangesCallback(e.id,i,this.textAreaHeight,e)}},{key:"closeTextArea",value:function(e){e.closeTextAreaCallback&&e.closeTextAreaCallback(e.id),this.foreignObject.remove(),this.editingText=!1,this.editingTextId=""}},{key:"textAreaAllowedKeys",value:function(e){return 46===e.keyCode||8===e.keyCode||37===e.keyCode||39===e.keyCode||38===e.keyCode||40===e.keyCode||65===e.keyCode&&Fe.isCmndCtrlPressed(e)}}]),n}(),rr={value:()=>{}};function ar(){for(var e,t=0,n=arguments.length,i={};t<n;++t){if(!(e=arguments[t]+"")||e in i||/[\s.]/.test(e))throw new Error("illegal type: "+e);i[e]=[]}return new sr(i)}function sr(e){this._=e}function lr(e,t){for(var n,i=0,o=e.length;i<o;++i)if((n=e[i]).name===t)return n.value}function cr(e,t,n){for(var i=0,o=e.length;i<o;++i)if(e[i].name===t){e[i]=rr,e=e.slice(0,i).concat(e.slice(i+1));break}return null!=n&&e.push({name:t,value:n}),e}sr.prototype=ar.prototype={constructor:sr,on:function(e,t){var n,i,o=this._,r=(i=o,(e+"").trim().split(/^|\s+/).map((function(e){var t="",n=e.indexOf(".");if(n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),e&&!i.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:t}}))),a=-1,s=r.length;if(!(arguments.length<2)){if(null!=t&&"function"!=typeof t)throw new Error("invalid callback: "+t);for(;++a<s;)if(n=(e=r[a]).type)o[n]=cr(o[n],e.name,t);else if(null==t)for(n in o)o[n]=cr(o[n],e.name,null);return this}for(;++a<s;)if((n=(e=r[a]).type)&&(n=lr(o[n],e.name)))return n},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new sr(e)},call:function(e,t){if((n=arguments.length-2)>0)for(var n,i,o=new Array(n),r=0;r<n;++r)o[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(r=0,n=(i=this._[e]).length;r<n;++r)i[r].value.apply(t,o)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var i=this._[e],o=0,r=i.length;o<r;++o)i[o].value.apply(t,n)}};const ur={passive:!1},dr={capture:!0,passive:!1};function hr(e){e.stopImmediatePropagation()}function pr(e){e.preventDefault(),e.stopImmediatePropagation()}function gr(e){var t=e.document.documentElement,n=$i(e).on("dragstart.drag",pr,dr);"onselectstart"in t?n.on("selectstart.drag",pr,dr):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function fr(e,t){var n=e.document.documentElement,i=$i(e).on("dragstart.drag",null);t&&(i.on("click.drag",pr,dr),setTimeout((function(){i.on("click.drag",null)}),0)),"onselectstart"in n?i.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}var vr=e=>()=>e;function yr(e,{sourceEvent:t,subject:n,target:i,identifier:o,active:r,x:a,y:s,dx:l,dy:c,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:r,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:u}})}function mr(e){return!e.ctrlKey&&!e.button}function br(){return this.parentNode}function kr(e,t){return null==t?{x:e.x,y:e.y}:t}function Cr(){return navigator.maxTouchPoints||"ontouchstart"in this}yr.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};var xr=Object.freeze({__proto__:null,drag:function(){var e,t,n,i,o=mr,r=br,a=kr,s=Cr,l={},c=ar("start","drag","end"),u=0,d=0;function h(e){e.on("mousedown.drag",p).filter(s).on("touchstart.drag",v).on("touchmove.drag",y,ur).on("touchend.drag touchcancel.drag",m).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(a,s){if(!i&&o.call(this,a,s)){var l=b(this,r.call(this,a,s),a,s,"mouse");l&&($i(a.view).on("mousemove.drag",g,dr).on("mouseup.drag",f,dr),gr(a.view),hr(a),n=!1,e=a.clientX,t=a.clientY,l("start",a))}}function g(i){if(pr(i),!n){var o=i.clientX-e,r=i.clientY-t;n=o*o+r*r>d}l.mouse("drag",i)}function f(e){$i(e.view).on("mousemove.drag mouseup.drag",null),fr(e.view,n),pr(e),l.mouse("end",e)}function v(e,t){if(o.call(this,e,t)){var n,i,a=e.changedTouches,s=r.call(this,e,t),l=a.length;for(n=0;n<l;++n)(i=b(this,s,e,t,a[n].identifier,a[n]))&&(hr(e),i("start",e,a[n]))}}function y(e){var t,n,i=e.changedTouches,o=i.length;for(t=0;t<o;++t)(n=l[i[t].identifier])&&(pr(e),n("drag",e,i[t]))}function m(e){var t,n,o=e.changedTouches,r=o.length;for(i&&clearTimeout(i),i=setTimeout((function(){i=null}),500),t=0;t<r;++t)(n=l[o[t].identifier])&&(hr(e),n("end",e,o[t]))}function b(e,t,n,i,o,r){var s,d,p,g=c.copy(),f=no(r||n,t);if(null!=(p=a.call(e,new yr("beforestart",{sourceEvent:n,target:h,identifier:o,active:u,x:f[0],y:f[1],dx:0,dy:0,dispatch:g}),i)))return s=p.x-f[0]||0,d=p.y-f[1]||0,function n(r,a,c){var v,y=f;switch(r){case"start":l[o]=n,v=u++;break;case"end":delete l[o],--u;case"drag":f=no(c||a,t),v=u}g.call(r,e,new yr(r,{sourceEvent:a,subject:p,target:h,identifier:o,active:v,x:f[0]+s,y:f[1]+d,dx:f[0]-y[0],dy:f[1]-y[1],dispatch:g}),i)}}return h.filter=function(e){return arguments.length?(o="function"==typeof e?e:vr(!!e),h):o},h.container=function(e){return arguments.length?(r="function"==typeof e?e:vr(e),h):r},h.subject=function(e){return arguments.length?(a="function"==typeof e?e:vr(e),h):a},h.touchable=function(e){return arguments.length?(s="function"==typeof e?e:vr(!!e),h):s},h.on=function(){var e=c.on.apply(c,arguments);return e===c?h:e},h.clickDistance=function(e){return arguments.length?(d=(e=+e)*e,h):Math.sqrt(d)},h},dragDisable:gr,dragEnable:fr}),Pr=Object.assign({},xr,io),Lr=function(){function n(t){e(this,n),this.ren=t,this.logger=new Re("SVGCanvasUtilsDragObjects"),this.resizeObjInitialInfo=null,this.commentSizing=!1,this.commentSizingDirection=null,this.commentSizingCursor="",this.nodeSizing=!1,this.nodeSizingDirection=null,this.nodeSizingCursor="",this.nodeSizingObjectsInfo={},this.nodeSizingDetLinksInfo={},this.notSnappedXPos=0,this.notSnappedYPos=0,this.notSnappedWidth=0,this.notSnappedHeight=0,this.draggingObjectData=null,this.existingNodeInsertableIntoLink=!1,this.existingNodeAttachableToDetachedLinks=!1,this.dragObjectHandler=Pr.drag().on("start",this.dragStartObject.bind(this)).on("drag",this.dragObject.bind(this)).on("end",this.dragEndObject.bind(this))}return t(n,[{key:"getDragObjectHandler",value:function(){return this.dragObjectHandler}},{key:"isSizing",value:function(){return this.nodeSizing||this.commentSizing}},{key:"isMoving",value:function(){return this.draggingObjectData}},{key:"mouseEnterNodeSizingArea",value:function(e,t){if(this.ren.config.enableEditingActions&&this.isNodeResizable(t)&&!this.ren.isRegionSelectOrSizingInProgress()){var n="default";this.isPointerCloseToBodyEdge(e,t)||(this.nodeSizingDirection=this.getSizingDirection(e,t,t.layout.nodeCornerResizeArea),this.nodeSizingCursor=this.getCursorBasedOnDirection(this.nodeSizingDirection),n=this.nodeSizingCursor),Pr.select(e.currentTarget).style("cursor",n)}}},{key:"mouseDownNodeSizingArea",value:function(e){this.isNodeResizable(e)&&(this.nodeSizing=!0,this.ren.addTempCursorOverlay(this.nodeSizingCursor))}},{key:"mouseLeaveNodeSizingArea",value:function(e){Pr.select(e.currentTarget).style("cursor","default")}},{key:"mouseEnterCommentSizingArea",value:function(e,t){if(this.ren.config.enableEditingActions&&!this.ren.isRegionSelectOrSizingInProgress()){var n="default";this.isPointerCloseToBodyEdge(e,t)||(this.commentSizingDirection=this.getSizingDirection(e,t,this.ren.canvasLayout.commentCornerResizeArea),this.commentSizingCursor=this.getCursorBasedOnDirection(this.commentSizingDirection),n=this.commentSizingCursor),Pr.select(e.currentTarget).style("cursor",n)}}},{key:"mouseDownCommentSizingArea",value:function(){this.commentSizing=!0,this.ren.addTempCursorOverlay(this.commentSizingCursor)}},{key:"mouseLeaveCommentSizingArea",value:function(e){Pr.select(e.currentTarget).style("cursor","default")}},{key:"dragStartObject",value:function(e,t){this.logger.logStartTimer("dragStartObject"),this.ren.closeContextMenuIfOpen(),this.commentSizing||this.nodeSizing?this.initializeResizeVariables(t):this.dragObjectsStart(e,t),this.logger.logEndTimer("dragStartObject",!0)}},{key:"dragObject",value:function(e,t){this.logger.logStartTimer("dragObject"),this.commentSizing?this.resizeComment(e,t):this.nodeSizing?this.resizeNode(e,t):this.dragObjectsAction(e),this.logger.logEndTimer("dragObject",!0)}},{key:"dragEndObject",value:function(e,t){this.logger.logStartTimer("dragEndObject"),this.ren.removeTempCursorOverlay(),this.commentSizing?(this.endCommentSizing(t),this.commentSizing=!1):this.nodeSizing?(this.endNodeSizing(t),this.nodeSizing=!1):this.dragObjectsEnd(e,t),this.logger.logEndTimer("dragEndObject",!0)}},{key:"initializeResizeVariables",value:function(e){this.resizeObjInitialInfo={x_pos:e.x_pos,y_pos:e.y_pos,width:e.width,height:e.height},this.notSnappedXPos=e.x_pos,this.notSnappedYPos=e.y_pos,this.notSnappedWidth=e.width,this.notSnappedHeight=e.height}},{key:"isPointerCloseToBodyEdge",value:function(e,t){var n=this.ren.getTransformedMousePos(e),i=t.x_pos+t.width,o=t.y_pos+t.height,r=n.x>=i&&n.x<=i+1&&n.y>=0&&n.y<=o,a=n.y>=o&&n.y<=o+1&&n.x>=0&&n.x<=i;return r||a}},{key:"getSizingDirection",value:function(e,t,n){var i="",o="",r=this.ren.getTransformedMousePos(e);return r.x<t.x_pos+n?i="w":r.x>t.x_pos+t.width-n&&(i="e"),r.y<t.y_pos+n?o="n":r.y>t.y_pos+t.height-n&&(o="s"),o+i}},{key:"getCursorBasedOnDirection",value:function(e){var t;switch(e){case"n":case"s":t="ns-resize";break;case"e":case"w":t="ew-resize";break;case"nw":case"se":t="nwse-resize";break;case"ne":case"sw":t="nesw-resize";break;default:t=""}return t}},{key:"isNodeResizable",value:function(e){return!(!this.ren.config.enableEditingActions||Fe.isSuperBindingNode(e)||Fe.isCollapsedSupernode(e)||!this.ren.config.enableResizableNodes&&!Fe.isExpandedSupernode(e))}},{key:"resizeNode",value:function(e,t){var n=Object.assign({},t),i=this.getMinHeight(t),o=this.getMinWidth(t),r=this.resizeObject(e,t,this.nodeSizingDirection,o,i);if(r&&(0!==r.x_pos||0!==r.y_pos||0!==r.width||0!==r.height)){if(Fe.isSupernode(t)&&this.ren.config.enableMoveNodesOnSupernodeResize){var a=Fe.moveSurroundingObjects(n,this.ren.activePipeline.getNodesAndComments(),this.nodeSizingDirection,t.width,t.height,!0),s=Fe.moveSurroundingDetachedLinks(n,this.ren.activePipeline.links,this.nodeSizingDirection,t.width,t.height,!0);this.nodeSizingObjectsInfo=Object.assign(this.nodeSizingObjectsInfo,a),this.nodeSizingDetLinksInfo=Object.assign(this.nodeSizingDetLinksInfo,s)}this.logger.logStartTimer("displayObjects"),this.ren.displayMovedComments(),this.ren.displayMovedNodes(),this.ren.displaySingleNode(t),this.ren.displayMovedLinks(),this.ren.displayCanvasAccoutrements(),Fe.isSupernode(t)&&(this.ren.dispUtils.isDisplayingSubFlow()&&this.ren.displayBindingNodesToFitSVG(),this.ren.superRenderers.forEach((function(e){return e.displaySVGToFitSupernode()}))),this.logger.logEndTimer("displayObjects")}}},{key:"resizeComment",value:function(e,t){this.resizeObject(e,t,this.commentSizingDirection,20,20),this.ren.displaySingleComment(t),this.ren.displayMovedLinks(),this.ren.displayCanvasAccoutrements()}},{key:"resizeObject",value:function(e,t,n,i,o){var r=0,a=0,s=0,l=0;n.indexOf("e")>-1&&(s+=e.dx),n.indexOf("s")>-1&&(l+=e.dy),n.indexOf("n")>-1&&(a+=e.dy,l-=e.dy),n.indexOf("w")>-1&&(r+=e.dx,s-=e.dx);var c=0,u=0,d=0,h=0;if(this.ren.config.enableSnapToGridType===oe?(this.notSnappedXPos+=r,this.notSnappedYPos+=a,this.notSnappedWidth+=s,this.notSnappedHeight+=l,c=Fe.snapToGrid(this.notSnappedXPos,this.ren.canvasLayout.snapToGridXPx),u=Fe.snapToGrid(this.notSnappedYPos,this.ren.canvasLayout.snapToGridYPx),d=Fe.snapToGrid(this.notSnappedWidth,this.ren.canvasLayout.snapToGridXPx),h=Fe.snapToGrid(this.notSnappedHeight,this.ren.canvasLayout.snapToGridYPx),d=Math.max(d,i),h=Math.max(h,o)):(c=t.x_pos+r,u=t.y_pos+a,d=t.width+s,h=t.height+l),d<i||h<o)return null;var p={width:d-t.width,height:h-t.height,x_pos:c-t.x_pos,y_pos:u-t.y_pos};return t.x_pos=c,t.y_pos=u,t.width=d,t.height=h,p}},{key:"endNodeSizing",value:function(e){var t=e;this.ren.config.enableSnapToGridType===re&&(t=this.snapToGridObject(t),t=this.restrictNodeSizingToMinimums(t)),this.resizeObjInitialInfo.x_pos===t.x_pos&&this.resizeObjInitialInfo.y_pos===t.y_pos&&this.resizeObjInitialInfo.width===t.width&&this.resizeObjInitialInfo.height===t.height||(this.nodeSizingObjectsInfo[t.id]={width:t.width,height:t.height,x_pos:t.x_pos,y_pos:t.y_pos},(t.height>t.layout.defaultNodeHeight+2||t.width>t.layout.defaultNodeWidth+2)&&(this.nodeSizingObjectsInfo[t.id].isResized=!0,this.nodeSizingObjectsInfo[t.id].resizeWidth=t.width,this.nodeSizingObjectsInfo[t.id].resizeHeight=t.height),this.ren.canvasController.editActionHandler({editType:"resizeObjects",editSource:"canvas",objectsInfo:this.nodeSizingObjectsInfo,detachedLinksInfo:this.nodeSizingDetLinksInfo,pipelineId:this.ren.activePipeline.id}))}},{key:"endCommentSizing",value:function(e){var t=e;if(this.ren.config.enableSnapToGridType===re&&(t=this.snapToGridObject(t)),this.resizeObjInitialInfo.x_pos!==t.x_pos||this.resizeObjInitialInfo.y_pos!==t.y_pos||this.resizeObjInitialInfo.width!==t.width||this.resizeObjInitialInfo.height!==t.height){var n=[];n[t.id]={width:t.width,height:t.height,x_pos:t.x_pos,y_pos:t.y_pos};var i={editType:"resizeObjects",editSource:"canvas",objectsInfo:n,detachedLinksInfo:{},pipelineId:this.ren.activePipeline.id};this.ren.canvasController.editActionHandler(i)}}},{key:"restrictNodeSizingToMinimums",value:function(e){var t=this.getMinHeight(e),n=this.getMinWidth(e);return e.width=Math.max(e.width,n),e.height=Math.max(e.height,t),e}},{key:"getMinHeight",value:function(e){if(Fe.isSupernode(e)){var t=Math.max(e.inputPortsHeight,e.outputPortsHeight)+this.ren.canvasLayout.supernodeTopAreaHeight+this.ren.canvasLayout.supernodeSVGAreaPadding;return Math.max(this.ren.canvasLayout.supernodeMinHeight,t)}return e.layout.defaultNodeHeight}},{key:"getMinWidth",value:function(e){return Fe.isSupernode(e)?this.ren.canvasLayout.supernodeMinWidth:e.layout.defaultNodeWidth}},{key:"dragObjectsStart",value:function(e,t){var n,i=this;this.existingNodeInsertableIntoLink=!1,this.existingNodeAttachableToDetachedLinks=!1,this.draggingObjectData={dragOffsetX:0,dragOffsetY:0,dragRunningX:0,dragRunningY:0,dragObjects:this.getDragObjects(t)},(null===(n=this.draggingObjectData.dragObjects)||void 0===n?void 0:n.length)>0&&(this.draggingObjectData.dragStartX=this.draggingObjectData.dragObjects[0].x_pos,this.draggingObjectData.dragStartY=this.draggingObjectData.dragObjects[0].y_pos),this.isExistingNodeInsertableIntoLink()&&(this.startNodeInsertingInLink=setTimeout((function(){i.existingNodeInsertableIntoLink=!0,i.setNodeTranslucentState(i.draggingObjectData.dragObjects[0].id,!0),i.ren.setDataLinkSelectionAreaWider(!0)}),200)),this.isExistingNodeAttachableToDetachedLinks()&&(this.startNodeAttachingToDetachedLinks=setTimeout((function(){i.existingNodeAttachableToDetachedLinks=!0,i.setNodeTranslucentState(i.draggingObjectData.dragObjects[0].id,!0)}),200))}},{key:"dragObjectsAction",value:function(e){if(this.draggingObjectData.dragOffsetX+=e.dx,this.draggingObjectData.dragOffsetY+=e.dy,this.ren.dispUtils.isDisplayingSubFlowInPlace()&&(this.draggingObjectData.dragOffsetX>1e3||this.draggingObjectData.dragOffsetX<-1e3||this.draggingObjectData.dragOffsetY>1e3||this.draggingObjectData.dragOffsetY<-1e3))this.draggingObjectData.dragOffsetX-=e.dx,this.draggingObjectData.dragOffsetY-=e.dy;else{var t={x:0,y:0};if(this.ren.config.enableSnapToGridType===oe){var n=this.snapToGridDraggedNode(this.draggingObjectData);t={x:n.x-this.draggingObjectData.dragObjects[0].x_pos,y:n.y-this.draggingObjectData.dragObjects[0].y_pos}}else t={x:e.dx,y:e.dy};this.draggingObjectData.dragRunningX+=t.x,this.draggingObjectData.dragRunningY+=t.y,this.draggingObjectData.dragObjects.forEach((function(e){e.x_pos+=t.x,e.y_pos+=t.y})),this.ren.config.enableLinkSelection===ae&&this.ren.activePipeline.getSelectedLinks().forEach((function(e){e.srcPos&&(e.srcPos.x_pos+=t.x,e.srcPos.y_pos+=t.y),e.trgPos&&(e.trgPos.x_pos+=t.x,e.trgPos.y_pos+=t.y)}))}if(this.ren.displayMovedComments(),this.ren.displayMovedNodes(),this.ren.displayMovedLinks(),this.ren.displayCanvasAccoutrements(),this.ren.dispUtils.isDisplayingSubFlowInPlace()&&this.ren.displaySVGToFitSupernode(),this.existingNodeInsertableIntoLink){var i=this.ren.getLinkAtMousePos(e.sourceEvent.clientX,e.sourceEvent.clientY);(!i||this.ren.isLinkFullyAttached(i)&&this.draggingObjectData.dragObjects[0].id!==i.srcNodeId&&this.draggingObjectData.dragObjects[0].id!==i.trgNodeId)&&this.ren.setInsertNodeIntoLinkHighlighting(i)}if(this.existingNodeAttachableToDetachedLinks){var o=this.draggingObjectData.dragObjects[0],r={x1:o.x_pos,y1:o.y_pos,x2:o.x_pos+o.width,y2:o.y_pos+o.height},a=this.ren.getAttachableLinksForNodeAtPos(o,r);this.ren.setDetachedLinkHighlighting(a)}}},{key:"dragObjectsEnd",value:function(e,t){var n=this.draggingObjectData;if(this.draggingObjectData=null,clearTimeout(this.startNodeInsertingInLink),clearTimeout(this.startNodeAttachingToDetachedLinks),0===n.dragOffsetX&&0===n.dragOffsetY&&this.ren.config.enableDragWithoutSelect)this.ren.selectObjectSourceEvent(e,t);else if(0!==n.dragRunningX||0!==n.dragRunningY){var i=null;if(this.ren.config.enableSnapToGridType===re){var o=this.snapToGridDraggedNode(n);i={x:o.x-n.dragStartX,y:o.y-n.dragStartY}}else i={x:n.dragRunningX,y:n.dragRunningY};this.existingNodeInsertableIntoLink&&this.ren.dragOverLink?this.ren.canvasController.editActionHandler({editType:"insertNodeIntoLink",editSource:"canvas",node:n.dragObjects[0],link:this.ren.dragOverLink,offsetX:i.x,offsetY:i.y,pipelineId:this.ren.activePipeline.id}):this.existingNodeAttachableToDetachedLinks&&this.ren.dragOverDetachedLinks.length>0?this.ren.canvasController.editActionHandler({editType:"attachNodeToLinks",editSource:"canvas",node:n.dragObjects[0],detachedLinks:this.ren.dragOverDetachedLinks,offsetX:i.x,offsetY:i.y,pipelineId:this.ren.activePipeline.id}):this.ren.canvasController.editActionHandler({editType:"moveObjects",editSource:"canvas",nodes:n.dragObjects.map((function(e){return e.id})),links:this.ren.activePipeline.getSelectedDetachedLinks(),offsetX:i.x,offsetY:i.y,pipelineId:this.ren.activePipeline.id})}this.ren.setDataLinkSelectionAreaWider(!1),this.unsetNodeTranslucentState(n.dragObjects),this.ren.unsetInsertNodeIntoLinkHighlighting(),this.ren.unsetDetachedLinkHighlighting()}},{key:"getDragObjects",value:function(e){var t=this.ren.activePipeline.getSelectedNodesAndComments();return this.ren.config.enableDragWithoutSelect&&-1===t.findIndex((function(t){return t.id===e.id}))?[e]:t}},{key:"isExistingNodeInsertableIntoLink",value:function(){return this.ren.config.enableInsertNodeDroppedOnLink&&1===this.draggingObjectData.dragObjects.length&&Fe.isNode(this.draggingObjectData.dragObjects[0])&&Fe.hasInputAndOutputPorts(this.draggingObjectData.dragObjects[0])&&!Fe.isNodeDefaultPortsCardinalityAtMax(this.draggingObjectData.dragObjects[0],this.ren.activePipeline.links)}},{key:"isExistingNodeAttachableToDetachedLinks",value:function(){return this.ren.config.enableLinkSelection===ae&&1===this.draggingObjectData.dragObjects.length&&Fe.isNode(this.draggingObjectData.dragObjects[0])}},{key:"setNodeTranslucentState",value:function(e,t){this.ren.getNodeGroupSelectionById(e).classed("d3-node-group-translucent",t)}},{key:"unsetNodeTranslucentState",value:function(e){(null==e?void 0:e.length)>0&&this.setNodeTranslucentState(e[0].id,!1)}},{key:"snapToGridDraggedNode",value:function(e){var t=e.dragStartX+e.dragOffsetX,n=e.dragStartY+e.dragOffsetY;return this.ren.snapToGridPosition({x:t,y:n})}},{key:"snapToGridObject",value:function(e){var t=e;return t.x_pos=Fe.snapToGrid(t.x_pos,this.ren.canvasLayout.snapToGridXPx),t.y_pos=Fe.snapToGrid(t.y_pos,this.ren.canvasLayout.snapToGridYPx),t.width=Fe.snapToGrid(t.width,this.ren.canvasLayout.snapToGridXPx),t.height=Fe.snapToGrid(t.height,this.ren.canvasLayout.snapToGridYPx),t}}]),n}();function wr(e){return((e*=2)<=1?e*e:--e*(2-e)+1)/2}function Sr(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Nr=function e(t){function n(e){return Math.pow(e,t)}return t=+t,n.exponent=e,n}(3),Tr=function e(t){function n(e){return 1-Math.pow(1-e,t)}return t=+t,n.exponent=e,n}(3),Dr=function e(t){function n(e){return((e*=2)<=1?Math.pow(e,t):2-Math.pow(2-e,t))/2}return t=+t,n.exponent=e,n}(3),Er=Math.PI,Ir=Er/2;function Or(e){return(1-Math.cos(Er*e))/2}function _r(e){return 1.0009775171065494*(Math.pow(2,-10*e)-.0009765625)}function Ar(e){return((e*=2)<=1?_r(1-e):2-_r(e-1))/2}function Mr(e){return((e*=2)<=1?1-Math.sqrt(1-e*e):Math.sqrt(1-(e-=2)*e)+1)/2}var zr=4/11,Hr=6/11,jr=8/11,Rr=3/4,Ur=9/11,Br=10/11,Fr=15/16,Gr=21/22,Yr=63/64,Wr=1/zr/zr;function Xr(e){return(e=+e)<zr?Wr*e*e:e<jr?Wr*(e-=Hr)*e+Rr:e<Br?Wr*(e-=Ur)*e+Fr:Wr*(e-=Gr)*e+Yr}var Zr=1.70158,Vr=function e(t){function n(e){return(e=+e)*e*(t*(e-1)+e)}return t=+t,n.overshoot=e,n}(Zr),Kr=function e(t){function n(e){return--e*e*((e+1)*t+e)+1}return t=+t,n.overshoot=e,n}(Zr),qr=function e(t){function n(e){return((e*=2)<1?e*e*((t+1)*e-t):(e-=2)*e*((t+1)*e+t)+2)/2}return t=+t,n.overshoot=e,n}(Zr),$r=2*Math.PI,Jr=function e(t,n){var i=Math.asin(1/(t=Math.max(1,t)))*(n/=$r);function o(e){return t*_r(- --e)*Math.sin((i-e)/n)}return o.amplitude=function(t){return e(t,n*$r)},o.period=function(n){return e(t,n)},o}(1,.3),Qr=function e(t,n){var i=Math.asin(1/(t=Math.max(1,t)))*(n/=$r);function o(e){return 1-t*_r(e=+e)*Math.sin((e+i)/n)}return o.amplitude=function(t){return e(t,n*$r)},o.period=function(n){return e(t,n)},o}(1,.3),ea=function e(t,n){var i=Math.asin(1/(t=Math.max(1,t)))*(n/=$r);function o(e){return((e=2*e-1)<0?t*_r(-e)*Math.sin((i-e)/n):2-t*_r(e)*Math.sin((i+e)/n))/2}return o.amplitude=function(t){return e(t,n*$r)},o.period=function(n){return e(t,n)},o}(1,.3),ta=Object.freeze({__proto__:null,easeLinear:e=>+e,easeQuad:wr,easeQuadIn:function(e){return e*e},easeQuadOut:function(e){return e*(2-e)},easeQuadInOut:wr,easeCubic:Sr,easeCubicIn:function(e){return e*e*e},easeCubicOut:function(e){return--e*e*e+1},easeCubicInOut:Sr,easePoly:Dr,easePolyIn:Nr,easePolyOut:Tr,easePolyInOut:Dr,easeSin:Or,easeSinIn:function(e){return 1==+e?1:1-Math.cos(e*Ir)},easeSinOut:function(e){return Math.sin(e*Ir)},easeSinInOut:Or,easeExp:Ar,easeExpIn:function(e){return _r(1-+e)},easeExpOut:function(e){return 1-_r(e)},easeExpInOut:Ar,easeCircle:Mr,easeCircleIn:function(e){return 1-Math.sqrt(1-e*e)},easeCircleOut:function(e){return Math.sqrt(1- --e*e)},easeCircleInOut:Mr,easeBounce:Xr,easeBounceIn:function(e){return 1-Xr(1-e)},easeBounceOut:Xr,easeBounceInOut:function(e){return((e*=2)<=1?1-Xr(1-e):Xr(e-1)+1)/2},easeBack:qr,easeBackIn:Vr,easeBackOut:Kr,easeBackInOut:qr,easeElastic:Qr,easeElasticIn:Jr,easeElasticOut:Qr,easeElasticInOut:ea}),na=Object.assign({},xr,ta,io),ia=function(){function n(t){e(this,n),this.ren=t,this.logger=new Re("SVGCanvasUtilsDragNewLink"),this.drawingNewLinkData=null,this.dragNewLinkHandler=na.drag().on("start",this.dragStartNewLink.bind(this)).on("drag",this.dragMoveNewLink.bind(this)).on("end",this.dragEndNewLink.bind(this))}return t(n,[{key:"getDragNewLinkHandler",value:function(){return this.dragNewLinkHandler}},{key:"isDragging",value:function(){return this.drawingNewLinkData}},{key:"dragStartNewLink",value:function(e,t){if(this.isEventForOutputPort(e)){var n=this.getNodeForPort(e);this.startOutputPortNewLink(t,n)}else if(this.isEventForInputPort(e)){var i=this.getNodeForPort(e);this.startInputPortNewLink(t,i)}else"comment"===this.ren.activePipeline.getObjectTypeName(t)&&this.startCommentNewLink(t)}},{key:"dragMoveNewLink",value:function(e){this.drawNewLink(e)}},{key:"dragEndNewLink",value:function(e){this.completeNewLink(e)}},{key:"isEventForInputPort",value:function(e){return this.targetContainsClass(e,"d3-node-port-input")||this.targetContainsClass(e,"d3-node-port-input-assoc")}},{key:"isEventForOutputPort",value:function(e){return this.targetContainsClass(e,"d3-node-port-output")||this.targetContainsClass(e,"d3-node-port-output-assoc")}},{key:"targetContainsClass",value:function(e,t){var n,i,o;return null===(n=e.sourceEvent)||void 0===n||null===(i=n.currentTarget)||void 0===i||null===(o=i.classList)||void 0===o?void 0:o.contains(t)}},{key:"getNodeForPort",value:function(e){var t,n;return na.select(null===(t=e.sourceEvent)||void 0===t||null===(n=t.currentTarget)||void 0===n?void 0:n.parentNode).datum()}},{key:"startCommentNewLink",value:function(e){this.drawingNewLinkData={srcObjId:e.id,action:W,startPos:{x:e.x_pos-this.ren.canvasLayout.commentHighlightGap,y:e.y_pos-this.ren.canvasLayout.commentHighlightGap},linkArray:[]}}},{key:"startInputPortNewLink",value:function(e,t){if(this.ren.config.enableAssocLinkCreation){var n=this.ren.activePipeline.getNode(t.id);this.drawingNewLinkData={srcObjId:t.id,srcPortId:e.id,action:this.ren.config.enableAssocLinkCreation?G:U,srcNode:n,startPos:{x:n.x_pos+e.cx,y:n.y_pos+e.cy},portType:"input",portObject:t.layout.inputPortObject,portImage:t.layout.inputPortImage,portWidth:t.layout.inputPortWidth,portHeight:t.layout.inputPortHeight,portRadius:this.ren.getPortRadius(n),minInitialLine:n.layout.minInitialLine,guideObject:t.layout.inputPortGuideObject,guideImage:t.layout.inputPortGuideImage,linkArray:[]}}}},{key:"startOutputPortNewLink",value:function(e,t){var n=this.ren.activePipeline.getNode(t.id);Fe.isSrcCardinalityAtMax(e.id,n,this.ren.activePipeline.links)||(this.drawingNewLinkData={srcObjId:t.id,srcPortId:e.id,action:this.ren.config.enableAssocLinkCreation?G:U,srcNode:n,startPos:{x:n.x_pos+e.cx,y:n.y_pos+e.cy},portType:"output",portObject:t.layout.outputPortObject,portImage:t.layout.outputPortImage,portWidth:t.layout.outputPortWidth,portHeight:t.layout.outputPortHeight,portRadius:this.ren.getPortRadius(n),minInitialLine:n.layout.minInitialLine,guideObject:t.layout.outputPortGuideObject,guideImage:t.layout.outputPortGuideImage,linkArray:[]},this.ren.config.enableHighlightUnavailableNodes&&this.ren.setUnavailableTargetNodesHighlighting(n,e.id,this.ren.activePipeline.links))}},{key:"drawNewLink",value:function(e){if(!1!==this.ren.config.enableEditingActions&&this.drawingNewLinkData){this.ren.closeContextMenuIfOpen();var t=this.ren.getTransformedMousePos(e);this.drawingNewLinkData.action===W?this.drawNewCommentLinkForPorts(t):this.drawNewNodeLinkForPorts(t),this.ren.config.enableHighlightNodeOnNewLinkDrag&&this.setNewLinkOverNode(e)}}},{key:"drawNewCommentLinkForPorts",value:function(e){var t=this,n=this.ren.activePipeline.getComment(this.drawingNewLinkData.srcObjId),i=this.ren.linkUtils.getNewStraightCommentLinkStartPos(n,e),o=W;this.drawingNewLinkData.linkArray=[{x1:i.x,y1:i.y,x2:e.x,y2:e.y,type:o}];var r=this.ren.nodesLinksGrp.selectAll(".d3-new-connection-line"),a=this.ren.nodesLinksGrp.selectAll(".d3-new-connection-guide");if(r.data(this.drawingNewLinkData.linkArray).enter().append("path").attr("class","d3-new-connection-line").attr("linkType",o).merge(r).attr("d",(function(e){return t.ren.linkUtils.getConnectorPathInfo(e).path})),a.data(this.drawingNewLinkData.linkArray).enter().append("circle").attr("class","d3-new-connection-guide").attr("linkType",o).merge(a).attr("cx",(function(e){return e.x2})).attr("cy",(function(e){return e.y2})).attr("r",this.ren.canvasLayout.commentPortRadius),this.ren.canvasLayout.commentLinkArrowHead){var s=this.ren.nodesLinksGrp.selectAll(".d3-new-connection-arrow");s.data(this.drawingNewLinkData.linkArray).enter().append("path").attr("class","d3-new-connection-arrow").attr("linkType",o).merge(s).attr("d",(function(e){return t.ren.getArrowHead(e)})).attr("transform",(function(e){return t.ren.getArrowHeadTransform(e)}))}}},{key:"drawNewNodeLinkForPorts",value:function(e){var t,n=this,i=this.ren.config.enableAssocLinkCreation?G:U;t=this.ren.canvasLayout.linkType===X?this.ren.linkUtils.getNewStraightNodeLinkStartPos(this.drawingNewLinkData.srcNode,e):{x:this.drawingNewLinkData.startPos.x,y:this.drawingNewLinkData.startPos.y},this.drawingNewLinkData.linkArray=[{x1:t.x,y1:t.y,x2:e.x,y2:e.y,originX:t.originX,originY:t.originY,type:i}],this.ren.config.enableAssocLinkCreation&&(this.drawingNewLinkData.linkArray[0].assocLinkVariation=this.ren.getNewLinkAssocVariation(this.drawingNewLinkData.linkArray[0].x1,this.drawingNewLinkData.linkArray[0].x2,this.drawingNewLinkData.portType));var o=this.ren.linkUtils.getConnectorPathInfo(this.drawingNewLinkData.linkArray[0],this.drawingNewLinkData.minInitialLine),r=this.ren.nodesLinksGrp.selectAll(".d3-new-connection-line"),a=this.ren.nodesLinksGrp.selectAll(".d3-new-connection-start"),s=this.ren.nodesLinksGrp.selectAll(".d3-new-connection-guide");i===U&&this.ren.canvasLayout.linkType===X&&this.ren.nodeUtils.isPointInNodeBoundary(e,this.drawingNewLinkData.srcNode)?this.removeNewLinkLine():r.data(this.drawingNewLinkData.linkArray).enter().append("path").attr("class","d3-new-connection-line").attr("linkType",i).merge(r).attr("d",o.path).attr("transform",o.transform),this.ren.canvasLayout.linkType!==X&&a.data(this.drawingNewLinkData.linkArray).enter().append(this.drawingNewLinkData.portObject).attr("class","d3-new-connection-start").attr("linkType",i).merge(a).each((function(e,t,i){n.drawingNewLinkData.portObject===se&&na.select(i[t]).attr("cx",e.x1).attr("cy",e.y1).attr("r",n.drawingNewLinkData.portRadius)})),s.data(this.drawingNewLinkData.linkArray).enter().append(this.drawingNewLinkData.guideObject).attr("class","d3-new-connection-guide").attr("linkType",i).merge(s).each((function(e,t,i){n.drawingNewLinkData.guideObject===le?na.select(i[t]).attr("xlink:href",n.drawingNewLinkData.guideImage).attr("x",e.x2-n.drawingNewLinkData.portWidth/2).attr("y",e.y2-n.drawingNewLinkData.portHeight/2).attr("width",n.drawingNewLinkData.portWidth).attr("height",n.drawingNewLinkData.portHeight).attr("transform",n.ren.getLinkImageTransform(e)):na.select(i[t]).attr("cx",e.x2).attr("cy",e.y2).attr("r",n.drawingNewLinkData.portRadius)}))}},{key:"removeNewLinkLine",value:function(){this.ren.nodesLinksGrp.selectAll(".d3-new-connection-line").remove()}},{key:"completeNewLink",value:function(e){if(!1!==this.ren.config.enableEditingActions&&this.drawingNewLinkData){var t=this.drawingNewLinkData;this.drawingNewLinkData=null,this.ren.config.enableHighlightUnavailableNodes&&this.ren.unsetUnavailableNodesHighlighting();var n=this.ren.getNodeAtMousePos(e);null!==n?this.completeNewLinkOnNode(e,n,t):this.ren.config.enableLinkSelection!==ae||t.action!==U||this.ren.config.enableAssocLinkCreation?this.stopDrawingNewLink(t):this.completeNewDetachedLink(e,t)}}},{key:"completeNewLinkOnNode",value:function(e,t,n){if(this.removeNewLink(),this.ren.config.enableHighlightNodeOnNewLinkDrag&&this.ren.setLinkOverNodeCancel(),null!==t){var i=n.action;if(i===U){var o=this.ren.activePipeline.getNode(n.srcObjId),r=n.srcPortId,a=this.ren.getInputNodePortId(e,t);if(Fe.isDataConnectionAllowed(r,a,o,t,this.ren.activePipeline.links))this.ren.canvasController.editActionHandler({editType:"linkNodes",editSource:"canvas",nodes:[{id:n.srcObjId,portId:n.srcPortId}],targetNodes:[{id:t.id,portId:a}],type:i,linkType:"data",pipelineId:this.ren.activePipeline.id});else if(this.ren.config.enableLinkReplaceOnNewConnection&&Fe.isDataLinkReplacementAllowed(r,a,o,t,this.ren.activePipeline.links)){var s=Fe.getDataLinksConnectedTo(a,t,this.ren.activePipeline.links);1===s.length&&this.ren.canvasController.editActionHandler({editType:"linkNodesAndReplace",editSource:"canvas",nodes:[{id:n.srcObjId,portId:n.srcPortId}],targetNodes:[{id:t.id,portId:a}],type:i,pipelineId:this.pipelineId,replaceLink:s[0]})}}else if(i===G){var l=this.ren.activePipeline.getNode(n.srcObjId);Fe.isAssocConnectionAllowed(l,t,this.ren.activePipeline.links)&&this.ren.canvasController.editActionHandler({editType:"linkNodes",editSource:"canvas",nodes:[{id:n.srcObjId}],targetNodes:[{id:t.id}],type:i,pipelineId:this.ren.activePipeline.id})}else Fe.isCommentLinkConnectionAllowed(n.srcObjId,t.id,this.ren.activePipeline.links)&&this.ren.canvasController.editActionHandler({editType:"linkComment",editSource:"canvas",nodes:[n.srcObjId],targetNodes:[t.id],type:W,linkType:"comment",pipelineId:this.ren.activePipeline.id})}}},{key:"completeNewDetachedLink",value:function(e,t){this.removeNewLink(),this.ren.config.enableHighlightNodeOnNewLinkDrag&&this.ren.setLinkOverNodeß();var n=this.ren.getTransformedMousePos(e);this.ren.canvasController.editActionHandler({editType:"createDetachedLink",editSource:"canvas",srcNodeId:t.srcObjId,srcNodePortId:t.srcPortId,trgPos:n,type:U,pipelineId:this.ren.activePipeline.id})}},{key:"stopDrawingNewLink",value:function(e){this.ren.config.enableHighlightNodeOnNewLinkDrag&&this.ren.setLinkOverNodeCancel(),this.stopDrawingNewLinkForPorts(e)}},{key:"stopDrawingNewLinkForPorts",value:function(e){var t=this,n=e.linkArray[0].x1,i=e.linkArray[0].y1,o=e.linkArray[0].x2,r=e.linkArray[0].y2,a=Object.assign({},e),s="",l=350;this.ren.canvasLayout.linkType===B?s="M "+n+" "+i+"C "+o+" "+r+" "+o+" "+r+" "+o+" "+r:this.ren.canvasLayout.linkType===X?(n<o&&(l=0),s="M "+n+" "+i+"L "+o+" "+r+" "+o+" "+r+" "+o+" "+r):s="M "+n+" "+i+"L "+o+" "+r+"Q "+o+" "+r+" "+o+" "+r+"L "+o+" "+r+"Q "+o+" "+r+" "+o+" "+r+"L "+o+" "+r+"Q "+o+" "+r+" "+o+" "+r+"L "+o+" "+r+"Q "+o+" "+r+" "+o+" "+r+"L "+o+" "+r,this.ren.nodesLinksGrp.selectAll(".d3-new-connection-line").transition().duration(l).attr("d",s).on("end",(function(){t.ren.nodesLinksGrp.selectAll(".d3-new-connection-arrow").remove(),t.ren.nodesLinksGrp.selectAll(".d3-new-connection-guide").transition().duration(1e3).ease(na.easeElastic).attr("x",n-a.portWidth/2).attr("y",i-a.portHeight/2).attr("cx",n).attr("cy",i).attr("transform",null),t.ren.nodesLinksGrp.selectAll(".d3-new-connection-line").transition().duration(1e3).ease(na.easeElastic).attr("d","M "+n+" "+i+"L "+n+" "+i).on("end",t.removeNewLink.bind(t))}))}},{key:"removeNewLink",value:function(){this.ren.nodesLinksGrp.selectAll(".d3-new-connection-line").remove(),this.ren.nodesLinksGrp.selectAll(".d3-new-connection-start").remove(),this.ren.nodesLinksGrp.selectAll(".d3-new-connection-guide").remove(),this.ren.nodesLinksGrp.selectAll(".d3-new-connection-arrow").remove()}},{key:"setNewLinkOverNode",value:function(e){var t=this.ren.getNodeNearMousePos(e,this.ren.canvasLayout.nodeProximity),n=t&&this.isNewLinkAllowedToNode(t);this.ren.setHighlightingOverNode(n,t)}},{key:"isNewLinkAllowedToNode",value:function(e){if(this.drawingNewLinkData){if(this.drawingNewLinkData.action===U){var t=this.drawingNewLinkData.srcNode,n=e,i=this.drawingNewLinkData.srcPortId,o=Fe.getDefaultInputPortId(n);return Fe.isDataConnectionAllowed(i,o,t,n,this.ren.activePipeline.links)}if(this.drawingNewLinkData.action===G){var r=this.drawingNewLinkData.srcNode,a=e;return Fe.isAssocConnectionAllowed(r,a,this.ren.activePipeline.links)}if(this.drawingNewLinkData.action===W){var s=this.drawingNewLinkData.srcObjId,l=e.id;return Fe.isCommentLinkConnectionAllowed(s,l,this.ren.activePipeline.links)}}return!1}}]),n}(),oa=Object.assign({},xr,io),ra="output_type",aa=function(){function n(t){e(this,n),this.ren=t,this.logger=new Re("SVGCanvasUtilsDragDetLink"),this.draggingLinkData=null,this.dragDetLinkHandler=oa.drag().on("start",this.dragStartDetLinkHandle.bind(this)).on("drag",this.dragMoveDetLinkHandle.bind(this)).on("end",this.dragEndDetLinkHandle.bind(this))}return t(n,[{key:"getDragDetachedLinkHandler",value:function(){return this.dragDetLinkHandler}},{key:"isDragging",value:function(){return this.draggingLinkData}},{key:"isLinkBeingDragged",value:function(e){return this.draggingLinkData&&this.draggingLinkData.link.id===e.id}},{key:"dragStartDetLinkHandle",value:function(e,t){this.logger.logStartTimer("dragStartDetLinkHandle"),this.ren.closeContextMenuIfOpen();var n=oa.select(e.sourceEvent.currentTarget),i=this.ren.activePipeline.getLink(t.id),o=ce(i),r=this.ren.getLinkGroupSelectionById(t.id);if(this.draggingLinkData={lineInfo:t,link:i,oldLink:o,linkGrpSelection:oa.select(r)},n.attr("class").includes("d3-link-handle-end")?this.draggingLinkData.endBeingDragged="end":n.attr("class").includes("d3-link-handle-start")&&(this.draggingLinkData.endBeingDragged="start"),this.ren.config.enableHighlightUnavailableNodes)if("end"===this.draggingLinkData.endBeingDragged){var a=this.ren.activePipeline.links.filter((function(e){return e.id!==i.id}));this.ren.setUnavailableTargetNodesHighlighting(this.ren.activePipeline.getNode(this.draggingLinkData.link.srcNodeId),this.draggingLinkData.link.srcNodePortId,a)}else if("start"===this.draggingLinkData.endBeingDragged){var s=this.ren.activePipeline.links.filter((function(e){return e.id!==i.id}));this.ren.setUnavailableSourceNodesHighlighting(this.ren.activePipeline.getNode(this.draggingLinkData.oldLink.trgNodeId),this.draggingLinkData.link.trgNodePortId,s)}this.dragLinkHandle(e),this.logger.logEndTimer("dragStartDetLinkHandle",!0)}},{key:"dragMoveDetLinkHandle",value:function(e){this.logger.logStartTimer("dragMoveDetLinkHandle"),this.dragLinkHandle(e),this.logger.logEndTimer("dragMoveDetLinkHandle",!0)}},{key:"dragEndDetLinkHandle",value:function(e){this.logger.logStartTimer("dragEndLinkHandle"),this.completeDraggedDetLink(e),this.logger.logEndTimer("dragEndLinkHandle",!0)}},{key:"dragLinkHandle",value:function(e){var t=this.ren.getTransformedMousePos(e),n=this.draggingLinkData.link;"start"===this.draggingLinkData.endBeingDragged?(n.srcPos={x_pos:t.x,y_pos:t.y},delete n.srcNodeId,delete n.srcNodePortId,delete n.srcObj):(n.trgPos={x_pos:t.x,y_pos:t.y},delete n.trgNodeId,delete n.trgNodePortId,delete n.trgNode),this.ren.displayLinks(),this.ren.config.enableHighlightNodeOnNewLinkDrag&&this.setDetachedLinkOverNode(e)}},{key:"completeDraggedDetLink",value:function(e){var t=this.getNewLinkOnDrag(e),n=this.draggingLinkData;if(this.draggingLinkData=null,t){var i=this.getLinkEditSubType(n.oldLink,t);i?this.ren.canvasController.editActionHandler({editType:"updateLink",editSubType:i,editSource:"canvas",newLink:t,pipelineId:this.ren.activePipeline.id}):this.snapBackOldLink(n.oldLink)}else this.snapBackOldLink(n.oldLink);this.ren.config.enableHighlightNodeOnNewLinkDrag&&this.ren.setLinkOverNodeCancel(),this.ren.unsetUnavailableNodesHighlighting()}},{key:"getLinkEditSubType",value:function(e,t){return e.srcNodeId&&!t.srcNodeId?"detachFromSrcNode":e.trgNodeId&&!t.trgNodeId?"detachFromTrgNode":!e.srcNodeId&&t.srcNodeId?"attachToSrcNode":!e.trgNodeId&&t.trgNodeId?"attachToTrgNode":e.srcNodeId||t.srcNodeId||e.srcPos.x_pos===t.srcPos.x_pos&&e.srcPos.y_pos===t.srcPos.y_pos?e.trgNodeId||t.trgNodeId||e.trgPos.x_pos===t.trgPos.x_pos&&e.trgPos.y_pos===t.trgPos.y_pos?e.srcNodeId&&t.srcNodeId&&e.srcNodeId!==t.srcNodeId?"switchSrcNode":e.trgNodeId&&t.trgNodeId&&e.trgNodeId!==t.trgNodeId?"switchTrgNode":e.srcNodeId&&t.srcNodeId&&e.srcNodeId===t.srcNodeId&&e.srcNodePortId!==t.srcNodePortId?"switchSrcNodePort":e.trgNodeId&&t.trgNodeId&&e.trgNodeId===t.trgNodeId&&e.trgNodePortId!==t.trgNodePortId?"switchTrgNodePort":null:"moveTrgPosition":"moveSrcPosition"}},{key:"snapBackOldLink",value:function(e){this.ren.activePipeline.replaceLink(e),this.ren.displayLinks()}},{key:"setDetachedLinkOverNode",value:function(e){var t=this.ren.getNodeNearMousePos(e,this.ren.canvasLayout.nodeProximity),n=t&&this.isDetLinkConnectionAllowedToNearbyNode(e);this.ren.setHighlightingOverNode(n,t)}},{key:"isDetLinkConnectionAllowedToNearbyNode",value:function(e){if(this.draggingLinkData&&this.getNewLinkOnDrag(e,this.ren.canvasLayout.nodeProximity))return!0;return!1}},{key:"getNewLinkOnDrag",value:function(e,t){var n=this.draggingLinkData.oldLink,i=ce(n);if("start"===this.draggingLinkData.endBeingDragged){delete i.srcObj,delete i.srcNodeId,delete i.srcNodePortId,delete i.srcPos;var o=t?this.ren.getNodeNearMousePos(e,t):this.ren.getNodeAtMousePos(e);o?(i.srcNodeId=o.id,i.srcObj=this.ren.activePipeline.getNode(o.id),i.srcNodePortId=t?this.getNodePortIdNearMousePos(e,ra,o):this.ren.getOutputNodePortId(e,o)):i.srcPos=this.draggingLinkData.link.srcPos}else{delete i.trgNode,delete i.trgNodeId,delete i.trgNodePortId,delete i.trgPos;var r=t?this.ren.getNodeNearMousePos(e,t):this.ren.getNodeAtMousePos(e);r?(i.trgNodeId=r.id,i.trgNode=this.ren.activePipeline.getNode(r.id),i.trgNodePortId=t?this.getNodePortIdNearMousePos(e,"input_type",r):this.ren.getInputNodePortId(e,r)):i.trgPos=this.draggingLinkData.link.trgPos}return this.ren.config.enableLinkSelection!==ae&&(i.srcPos||i.trgPos)?null:this.canExecuteUpdateLinkCommand(i,n)?i:null}},{key:"getNodePortIdNearMousePos",value:function(e,t,n){var i=this.ren.getTransformedMousePos(e),o=null,r=null;if(n)if(t===ra){var a=this.ren.getAllNodeGroupsSelection().selectChildren("."+this.ren.getNodeOutputPortClassName()).selectChildren(".d3-node-port-output-main");o=this.searchForPortNearMouse(n,i,a,n.layout.outputPortObject,n.width),r=Fe.getDefaultOutputPortId(n)}else{var s=this.ren.getAllNodeGroupsSelection().selectChildren("."+this.ren.getNodeInputPortClassName()).selectChildren(".d3-node-port-input-main");o=this.searchForPortNearMouse(n,i,s,n.layout.inputPortObject,0),r=Fe.getDefaultInputPortId(n)}return o||(o=r),o}},{key:"searchForPortNearMouse",value:function(e,t,n,i,o){var r=null;return n.each((function(n,a,s){var l=oa.select(s[a]);if(i===le){var c=e.x_pos+Number(l.attr("x")),u=e.y_pos+Number(l.attr("y")),d=Number(l.attr("width")),h=Number(l.attr("height"));t.x>=c&&t.x<=c+o+d&&t.y>=u&&t.y<=u+h&&(r=s[a].getAttribute("data-port-id"))}else{var p=e.x_pos+Number(l.attr("cx")),g=e.y_pos+Number(l.attr("cy"));t.x>=p-e.layout.portRadius&&t.x<=p+e.layout.portRadius&&t.y>=g-e.layout.portRadius&&t.y<=g+e.layout.portRadius&&(r=s[a].getAttribute("data-port-id"))}})),r}},{key:"canExecuteUpdateLinkCommand",value:function(e,t){var n=this.ren.activePipeline.getNode(e.srcNodeId),i=this.ren.activePipeline.getNode(e.trgNodeId),o=this.hasLinkSrcChanged(e,t),r=this.hasLinkTrgChanged(e,t),a=this.ren.activePipeline.links,s=!0;return o&&n&&!Fe.isSrcConnectionAllowedWithDetachedLinks(e.srcNodePortId,n,a)&&(s=!1),r&&i&&!Fe.isTrgConnectionAllowedWithDetachedLinks(e.trgNodePortId,i,a)&&(s=!1),n&&i&&!Fe.isConnectionAllowedWithDetachedLinks(e.srcNodePortId,e.trgNodePortId,n,i,a)&&(s=!1),s}},{key:"hasLinkSrcChanged",value:function(e,t){var n=!1;return e.srcNodeId?(e.srcNodeId!==t.srcNodeId&&(n=!0),e.srcNodePortId!==t.srcNodePortId&&(n=!0)):t.srcPos&&e.srcPos.x_pos===t.srcPos.x_pos&&e.srcPos.y_pos===t.srcPos.y_pos||(n=!0),n}},{key:"hasLinkTrgChanged",value:function(e,t){var n=!1;return e.trgNodeId?(e.trgNodeId!==t.trgNodeId&&(n=!0),e.trgNodePortId!==t.trgNodePortId&&(n=!0)):t.trgPos&&e.trgPos.x_pos===t.trgPos.x_pos&&e.trgPos.y_pos===t.trgPos.y_pos||(n=!0),n}}]),n}();function sa(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function la(e,t){var n=Object.create(e.prototype);for(var i in t)n[i]=t[i];return n}function ca(){}var ua=.7,da=1/ua,ha="\\s*([+-]?\\d+)\\s*",pa="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",ga="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",fa=/^#([0-9a-f]{3,8})$/,va=new RegExp(`^rgb\\(${ha},${ha},${ha}\\)$`),ya=new RegExp(`^rgb\\(${ga},${ga},${ga}\\)$`),ma=new RegExp(`^rgba\\(${ha},${ha},${ha},${pa}\\)$`),ba=new RegExp(`^rgba\\(${ga},${ga},${ga},${pa}\\)$`),ka=new RegExp(`^hsl\\(${pa},${ga},${ga}\\)$`),Ca=new RegExp(`^hsla\\(${pa},${ga},${ga},${pa}\\)$`),xa={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function Pa(){return this.rgb().formatHex()}function La(){return this.rgb().formatRgb()}function wa(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=fa.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?Sa(t):3===n?new Da(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?Na(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?Na(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=va.exec(e))?new Da(t[1],t[2],t[3],1):(t=ya.exec(e))?new Da(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=ma.exec(e))?Na(t[1],t[2],t[3],t[4]):(t=ba.exec(e))?Na(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=ka.exec(e))?Ma(t[1],t[2]/100,t[3]/100,1):(t=Ca.exec(e))?Ma(t[1],t[2]/100,t[3]/100,t[4]):xa.hasOwnProperty(e)?Sa(xa[e]):"transparent"===e?new Da(NaN,NaN,NaN,0):null}function Sa(e){return new Da(e>>16&255,e>>8&255,255&e,1)}function Na(e,t,n,i){return i<=0&&(e=t=n=NaN),new Da(e,t,n,i)}function Ta(e,t,n,i){return 1===arguments.length?((o=e)instanceof ca||(o=wa(o)),o?new Da((o=o.rgb()).r,o.g,o.b,o.opacity):new Da):new Da(e,t,n,null==i?1:i);var o}function Da(e,t,n,i){this.r=+e,this.g=+t,this.b=+n,this.opacity=+i}function Ea(){return`#${Aa(this.r)}${Aa(this.g)}${Aa(this.b)}`}function Ia(){const e=Oa(this.opacity);return`${1===e?"rgb(":"rgba("}${_a(this.r)}, ${_a(this.g)}, ${_a(this.b)}${1===e?")":`, ${e})`}`}function Oa(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function _a(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Aa(e){return((e=_a(e))<16?"0":"")+e.toString(16)}function Ma(e,t,n,i){return i<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Ha(e,t,n,i)}function za(e){if(e instanceof Ha)return new Ha(e.h,e.s,e.l,e.opacity);if(e instanceof ca||(e=wa(e)),!e)return new Ha;if(e instanceof Ha)return e;var t=(e=e.rgb()).r/255,n=e.g/255,i=e.b/255,o=Math.min(t,n,i),r=Math.max(t,n,i),a=NaN,s=r-o,l=(r+o)/2;return s?(a=t===r?(n-i)/s+6*(n<i):n===r?(i-t)/s+2:(t-n)/s+4,s/=l<.5?r+o:2-r-o,a*=60):s=l>0&&l<1?0:a,new Ha(a,s,l,e.opacity)}function Ha(e,t,n,i){this.h=+e,this.s=+t,this.l=+n,this.opacity=+i}function ja(e){return(e=(e||0)%360)<0?e+360:e}function Ra(e){return Math.max(0,Math.min(1,e||0))}function Ua(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}sa(ca,wa,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Pa,formatHex:Pa,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return za(this).formatHsl()},formatRgb:La,toString:La}),sa(Da,Ta,la(ca,{brighter(e){return e=null==e?da:Math.pow(da,e),new Da(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?ua:Math.pow(ua,e),new Da(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Da(_a(this.r),_a(this.g),_a(this.b),Oa(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Ea,formatHex:Ea,formatHex8:function(){return`#${Aa(this.r)}${Aa(this.g)}${Aa(this.b)}${Aa(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:Ia,toString:Ia})),sa(Ha,(function(e,t,n,i){return 1===arguments.length?za(e):new Ha(e,t,n,null==i?1:i)}),la(ca,{brighter(e){return e=null==e?da:Math.pow(da,e),new Ha(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?ua:Math.pow(ua,e),new Ha(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,i=n+(n<.5?n:1-n)*t,o=2*n-i;return new Da(Ua(e>=240?e-240:e+120,o,i),Ua(e,o,i),Ua(e<120?e+240:e-120,o,i),this.opacity)},clamp(){return new Ha(ja(this.h),Ra(this.s),Ra(this.l),Oa(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Oa(this.opacity);return`${1===e?"hsl(":"hsla("}${ja(this.h)}, ${100*Ra(this.s)}%, ${100*Ra(this.l)}%${1===e?")":`, ${e})`}`}}));var Ba=e=>()=>e;function Fa(e){return 1==(e=+e)?Ga:function(t,n){return n-t?function(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(i){return Math.pow(e+i*t,n)}}(t,n,e):Ba(isNaN(t)?n:t)}}function Ga(e,t){var n=t-e;return n?function(e,t){return function(n){return e+n*t}}(e,n):Ba(isNaN(e)?t:e)}var Ya=function e(t){var n=Fa(t);function i(e,t){var i=n((e=Ta(e)).r,(t=Ta(t)).r),o=n(e.g,t.g),r=n(e.b,t.b),a=Ga(e.opacity,t.opacity);return function(t){return e.r=i(t),e.g=o(t),e.b=r(t),e.opacity=a(t),e+""}}return i.gamma=e,i}(1);function Wa(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var Xa=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Za=new RegExp(Xa.source,"g");function Va(e,t){var n,i,o,r=Xa.lastIndex=Za.lastIndex=0,a=-1,s=[],l=[];for(e+="",t+="";(n=Xa.exec(e))&&(i=Za.exec(t));)(o=i.index)>r&&(o=t.slice(r,o),s[a]?s[a]+=o:s[++a]=o),(n=n[0])===(i=i[0])?s[a]?s[a]+=i:s[++a]=i:(s[++a]=null,l.push({i:a,x:Wa(n,i)})),r=Za.lastIndex;return r<t.length&&(o=t.slice(r),s[a]?s[a]+=o:s[++a]=o),s.length<2?l[0]?function(e){return function(t){return e(t)+""}}(l[0].x):function(e){return function(){return e}}(t):(t=l.length,function(e){for(var n,i=0;i<t;++i)s[(n=l[i]).i]=n.x(e);return s.join("")})}var Ka,qa=180/Math.PI,$a={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Ja(e,t,n,i,o,r){var a,s,l;return(a=Math.sqrt(e*e+t*t))&&(e/=a,t/=a),(l=e*n+t*i)&&(n-=e*l,i-=t*l),(s=Math.sqrt(n*n+i*i))&&(n/=s,i/=s,l/=s),e*i<t*n&&(e=-e,t=-t,l=-l,a=-a),{translateX:o,translateY:r,rotate:Math.atan2(t,e)*qa,skewX:Math.atan(l)*qa,scaleX:a,scaleY:s}}function Qa(e,t,n,i){function o(e){return e.length?e.pop()+" ":""}return function(r,a){var s=[],l=[];return r=e(r),a=e(a),function(e,i,o,r,a,s){if(e!==o||i!==r){var l=a.push("translate(",null,t,null,n);s.push({i:l-4,x:Wa(e,o)},{i:l-2,x:Wa(i,r)})}else(o||r)&&a.push("translate("+o+t+r+n)}(r.translateX,r.translateY,a.translateX,a.translateY,s,l),function(e,t,n,r){e!==t?(e-t>180?t+=360:t-e>180&&(e+=360),r.push({i:n.push(o(n)+"rotate(",null,i)-2,x:Wa(e,t)})):t&&n.push(o(n)+"rotate("+t+i)}(r.rotate,a.rotate,s,l),function(e,t,n,r){e!==t?r.push({i:n.push(o(n)+"skewX(",null,i)-2,x:Wa(e,t)}):t&&n.push(o(n)+"skewX("+t+i)}(r.skewX,a.skewX,s,l),function(e,t,n,i,r,a){if(e!==n||t!==i){var s=r.push(o(r)+"scale(",null,",",null,")");a.push({i:s-4,x:Wa(e,n)},{i:s-2,x:Wa(t,i)})}else 1===n&&1===i||r.push(o(r)+"scale("+n+","+i+")")}(r.scaleX,r.scaleY,a.scaleX,a.scaleY,s,l),r=a=null,function(e){for(var t,n=-1,i=l.length;++n<i;)s[(t=l[n]).i]=t.x(e);return s.join("")}}}var es=Qa((function(e){const t=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?$a:Ja(t.a,t.b,t.c,t.d,t.e,t.f)}),"px, ","px)","deg)"),ts=Qa((function(e){return null==e?$a:(Ka||(Ka=document.createElementNS("http://www.w3.org/2000/svg","g")),Ka.setAttribute("transform",e),(e=Ka.transform.baseVal.consolidate())?Ja((e=e.matrix).a,e.b,e.c,e.d,e.e,e.f):$a)}),", ",")",")");function ns(e){return((e=Math.exp(e))+1/e)/2}var is,os,rs=function e(t,n,i){function o(e,o){var r,a,s=e[0],l=e[1],c=e[2],u=o[0],d=o[1],h=o[2],p=u-s,g=d-l,f=p*p+g*g;if(f<1e-12)a=Math.log(h/c)/t,r=function(e){return[s+e*p,l+e*g,c*Math.exp(t*e*a)]};else{var v=Math.sqrt(f),y=(h*h-c*c+i*f)/(2*c*n*v),m=(h*h-c*c-i*f)/(2*h*n*v),b=Math.log(Math.sqrt(y*y+1)-y),k=Math.log(Math.sqrt(m*m+1)-m);a=(k-b)/t,r=function(e){var i,o=e*a,r=ns(b),u=c/(n*v)*(r*(i=t*o+b,((i=Math.exp(2*i))-1)/(i+1))-function(e){return((e=Math.exp(e))-1/e)/2}(b));return[s+u*p,l+u*g,c*r/ns(t*o+b)]}}return r.duration=1e3*a*t/Math.SQRT2,r}return o.rho=function(t){var n=Math.max(.001,+t),i=n*n;return e(n,i,i*i)},o}(Math.SQRT2,2,4),as=0,ss=0,ls=0,cs=1e3,us=0,ds=0,hs=0,ps="object"==typeof performance&&performance.now?performance:Date,gs="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function fs(){return ds||(gs(vs),ds=ps.now()+hs)}function vs(){ds=0}function ys(){this._call=this._time=this._next=null}function ms(e,t,n){var i=new ys;return i.restart(e,t,n),i}function bs(){ds=(us=ps.now())+hs,as=ss=0;try{!function(){fs(),++as;for(var e,t=is;t;)(e=ds-t._time)>=0&&t._call.call(void 0,e),t=t._next;--as}()}finally{as=0,function(){var e,t,n=is,i=1/0;for(;n;)n._call?(i>n._time&&(i=n._time),e=n,n=n._next):(t=n._next,n._next=null,n=e?e._next=t:is=t);os=e,Cs(i)}(),ds=0}}function ks(){var e=ps.now(),t=e-us;t>cs&&(hs-=t,us=e)}function Cs(e){as||(ss&&(ss=clearTimeout(ss)),e-ds>24?(e<1/0&&(ss=setTimeout(bs,e-ps.now()-hs)),ls&&(ls=clearInterval(ls))):(ls||(us=ps.now(),ls=setInterval(ks,cs)),as=1,gs(bs)))}function xs(e,t,n){var i=new ys;return t=null==t?0:+t,i.restart((n=>{i.stop(),e(n+t)}),t,n),i}ys.prototype=ms.prototype={constructor:ys,restart:function(e,t,n){if("function"!=typeof e)throw new TypeError("callback is not a function");n=(null==n?fs():+n)+(null==t?0:+t),this._next||os===this||(os?os._next=this:is=this,os=this),this._call=e,this._time=n,Cs()},stop:function(){this._call&&(this._call=null,this._time=1/0,Cs())}};var Ps=ar("start","end","cancel","interrupt"),Ls=[],ws=0,Ss=1,Ns=2,Ts=3,Ds=4,Es=5,Is=6;function Os(e,t,n,i,o,r){var a=e.__transition;if(a){if(n in a)return}else e.__transition={};!function(e,t,n){var i,o=e.__transition;function r(e){n.state=Ss,n.timer.restart(a,n.delay,n.time),n.delay<=e&&a(e-n.delay)}function a(r){var c,u,d,h;if(n.state!==Ss)return l();for(c in o)if((h=o[c]).name===n.name){if(h.state===Ts)return xs(a);h.state===Ds?(h.state=Is,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete o[c]):+c<t&&(h.state=Is,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete o[c])}if(xs((function(){n.state===Ts&&(n.state=Ds,n.timer.restart(s,n.delay,n.time),s(r))})),n.state=Ns,n.on.call("start",e,e.__data__,n.index,n.group),n.state===Ns){for(n.state=Ts,i=new Array(d=n.tween.length),c=0,u=-1;c<d;++c)(h=n.tween[c].value.call(e,e.__data__,n.index,n.group))&&(i[++u]=h);i.length=u+1}}function s(t){for(var o=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(l),n.state=Es,1),r=-1,a=i.length;++r<a;)i[r].call(e,o);n.state===Es&&(n.on.call("end",e,e.__data__,n.index,n.group),l())}function l(){for(var i in n.state=Is,n.timer.stop(),delete o[t],o)return;delete e.__transition}o[t]=n,n.timer=ms(r,0,n.time)}(e,n,{name:t,index:i,group:o,on:Ps,tween:Ls,time:r.time,delay:r.delay,duration:r.duration,ease:r.ease,timer:null,state:ws})}function _s(e,t){var n=Ms(e,t);if(n.state>ws)throw new Error("too late; already scheduled");return n}function As(e,t){var n=Ms(e,t);if(n.state>Ts)throw new Error("too late; already running");return n}function Ms(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function zs(e,t){var n,i,o,r=e.__transition,a=!0;if(r){for(o in t=null==t?null:t+"",r)(n=r[o]).name===t?(i=n.state>Ns&&n.state<Es,n.state=Is,n.timer.stop(),n.on.call(i?"interrupt":"cancel",e,e.__data__,n.index,n.group),delete r[o]):a=!1;a&&delete e.__transition}}function Hs(e,t){var n,i;return function(){var o=As(this,e),r=o.tween;if(r!==n)for(var a=0,s=(i=n=r).length;a<s;++a)if(i[a].name===t){(i=i.slice()).splice(a,1);break}o.tween=i}}function js(e,t,n){var i,o;if("function"!=typeof n)throw new Error;return function(){var r=As(this,e),a=r.tween;if(a!==i){o=(i=a).slice();for(var s={name:t,value:n},l=0,c=o.length;l<c;++l)if(o[l].name===t){o[l]=s;break}l===c&&o.push(s)}r.tween=o}}function Rs(e,t,n){var i=e._id;return e.each((function(){var e=As(this,i);(e.value||(e.value={}))[t]=n.apply(this,arguments)})),function(e){return Ms(e,i).value[t]}}function Us(e,t){var n;return("number"==typeof t?Wa:t instanceof wa?Ya:(n=wa(t))?(t=n,Ya):Va)(e,t)}function Bs(e){return function(){this.removeAttribute(e)}}function Fs(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Gs(e,t,n){var i,o,r=n+"";return function(){var a=this.getAttribute(e);return a===r?null:a===i?o:o=t(i=a,n)}}function Ys(e,t,n){var i,o,r=n+"";return function(){var a=this.getAttributeNS(e.space,e.local);return a===r?null:a===i?o:o=t(i=a,n)}}function Ws(e,t,n){var i,o,r;return function(){var a,s,l=n(this);if(null!=l)return(a=this.getAttribute(e))===(s=l+"")?null:a===i&&s===o?r:(o=s,r=t(i=a,l));this.removeAttribute(e)}}function Xs(e,t,n){var i,o,r;return function(){var a,s,l=n(this);if(null!=l)return(a=this.getAttributeNS(e.space,e.local))===(s=l+"")?null:a===i&&s===o?r:(o=s,r=t(i=a,l));this.removeAttributeNS(e.space,e.local)}}function Zs(e,t){var n,i;function o(){var o=t.apply(this,arguments);return o!==i&&(n=(i=o)&&function(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}(e,o)),n}return o._value=t,o}function Vs(e,t){var n,i;function o(){var o=t.apply(this,arguments);return o!==i&&(n=(i=o)&&function(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}(e,o)),n}return o._value=t,o}function Ks(e,t){return function(){_s(this,e).delay=+t.apply(this,arguments)}}function qs(e,t){return t=+t,function(){_s(this,e).delay=t}}function $s(e,t){return function(){As(this,e).duration=+t.apply(this,arguments)}}function Js(e,t){return t=+t,function(){As(this,e).duration=t}}var Qs=qi.prototype.constructor;function el(e){return function(){this.style.removeProperty(e)}}var tl=0;function nl(e,t,n,i){this._groups=e,this._parents=t,this._name=n,this._id=i}function il(){return++tl}var ol=qi.prototype;nl.prototype={constructor:nl,select:function(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=Xn(e));for(var i=this._groups,o=i.length,r=new Array(o),a=0;a<o;++a)for(var s,l,c=i[a],u=c.length,d=r[a]=new Array(u),h=0;h<u;++h)(s=c[h])&&(l=e.call(s,s.__data__,h,c))&&("__data__"in s&&(l.__data__=s.__data__),d[h]=l,Os(d[h],t,n,h,d,Ms(s,n)));return new nl(r,this._parents,t,n)},selectAll:function(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=Kn(e));for(var i=this._groups,o=i.length,r=[],a=[],s=0;s<o;++s)for(var l,c=i[s],u=c.length,d=0;d<u;++d)if(l=c[d]){for(var h,p=e.call(l,l.__data__,d,c),g=Ms(l,n),f=0,v=p.length;f<v;++f)(h=p[f])&&Os(h,t,n,f,p,g);r.push(p),a.push(l)}return new nl(r,a,t,n)},selectChild:ol.selectChild,selectChildren:ol.selectChildren,filter:function(e){"function"!=typeof e&&(e=qn(e));for(var t=this._groups,n=t.length,i=new Array(n),o=0;o<n;++o)for(var r,a=t[o],s=a.length,l=i[o]=[],c=0;c<s;++c)(r=a[c])&&e.call(r,r.__data__,c,a)&&l.push(r);return new nl(i,this._parents,this._name,this._id)},merge:function(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,i=t.length,o=n.length,r=Math.min(i,o),a=new Array(i),s=0;s<r;++s)for(var l,c=t[s],u=n[s],d=c.length,h=a[s]=new Array(d),p=0;p<d;++p)(l=c[p]||u[p])&&(h[p]=l);for(;s<i;++s)a[s]=t[s];return new nl(a,this._parents,this._name,this._id)},selection:function(){return new Qs(this._groups,this._parents)},transition:function(){for(var e=this._name,t=this._id,n=il(),i=this._groups,o=i.length,r=0;r<o;++r)for(var a,s=i[r],l=s.length,c=0;c<l;++c)if(a=s[c]){var u=Ms(a,t);Os(a,e,n,c,s,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new nl(i,this._parents,e,n)},call:ol.call,nodes:ol.nodes,node:ol.node,size:ol.size,empty:ol.empty,each:ol.each,on:function(e,t){var n=this._id;return arguments.length<2?Ms(this.node(),n).on.on(e):this.each(function(e,t,n){var i,o,r=function(e){return(e+"").trim().split(/^|\s+/).every((function(e){var t=e.indexOf(".");return t>=0&&(e=e.slice(0,t)),!e||"start"===e}))}(t)?_s:As;return function(){var a=r(this,e),s=a.on;s!==i&&(o=(i=s).copy()).on(t,n),a.on=o}}(n,e,t))},attr:function(e,t){var n=Bn(e),i="transform"===n?ts:Us;return this.attrTween(e,"function"==typeof t?(n.local?Xs:Ws)(n,i,Rs(this,"attr."+e,t)):null==t?(n.local?Fs:Bs)(n):(n.local?Ys:Gs)(n,i,t))},attrTween:function(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!=typeof t)throw new Error;var i=Bn(e);return this.tween(n,(i.local?Zs:Vs)(i,t))},style:function(e,t,n){var i="transform"==(e+="")?es:Us;return null==t?this.styleTween(e,function(e,t){var n,i,o;return function(){var r=bi(this,e),a=(this.style.removeProperty(e),bi(this,e));return r===a?null:r===n&&a===i?o:o=t(n=r,i=a)}}(e,i)).on("end.style."+e,el(e)):"function"==typeof t?this.styleTween(e,function(e,t,n){var i,o,r;return function(){var a=bi(this,e),s=n(this),l=s+"";return null==s&&(this.style.removeProperty(e),l=s=bi(this,e)),a===l?null:a===i&&l===o?r:(o=l,r=t(i=a,s))}}(e,i,Rs(this,"style."+e,t))).each(function(e,t){var n,i,o,r,a="style."+t,s="end."+a;return function(){var l=As(this,e),c=l.on,u=null==l.value[a]?r||(r=el(t)):void 0;c===n&&o===u||(i=(n=c).copy()).on(s,o=u),l.on=i}}(this._id,e)):this.styleTween(e,function(e,t,n){var i,o,r=n+"";return function(){var a=bi(this,e);return a===r?null:a===i?o:o=t(i=a,n)}}(e,i,t),n).on("end.style."+e,null)},styleTween:function(e,t,n){var i="style."+(e+="");if(arguments.length<2)return(i=this.tween(i))&&i._value;if(null==t)return this.tween(i,null);if("function"!=typeof t)throw new Error;return this.tween(i,function(e,t,n){var i,o;function r(){var r=t.apply(this,arguments);return r!==o&&(i=(o=r)&&function(e,t,n){return function(i){this.style.setProperty(e,t.call(this,i),n)}}(e,r,n)),i}return r._value=t,r}(e,t,null==n?"":n))},text:function(e){return this.tween("text","function"==typeof e?function(e){return function(){var t=e(this);this.textContent=null==t?"":t}}(Rs(this,"text",e)):function(e){return function(){this.textContent=e}}(null==e?"":e+""))},textTween:function(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(null==e)return this.tween(t,null);if("function"!=typeof e)throw new Error;return this.tween(t,function(e){var t,n;function i(){var i=e.apply(this,arguments);return i!==n&&(t=(n=i)&&function(e){return function(t){this.textContent=e.call(this,t)}}(i)),t}return i._value=e,i}(e))},remove:function(){return this.on("end.remove",function(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}(this._id))},tween:function(e,t){var n=this._id;if(e+="",arguments.length<2){for(var i,o=Ms(this.node(),n).tween,r=0,a=o.length;r<a;++r)if((i=o[r]).name===e)return i.value;return null}return this.each((null==t?Hs:js)(n,e,t))},delay:function(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?Ks:qs)(t,e)):Ms(this.node(),t).delay},duration:function(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?$s:Js)(t,e)):Ms(this.node(),t).duration},ease:function(e){var t=this._id;return arguments.length?this.each(function(e,t){if("function"!=typeof t)throw new Error;return function(){As(this,e).ease=t}}(t,e)):Ms(this.node(),t).ease},easeVarying:function(e){if("function"!=typeof e)throw new Error;return this.each(function(e,t){return function(){var n=t.apply(this,arguments);if("function"!=typeof n)throw new Error;As(this,e).ease=n}}(this._id,e))},end:function(){var e,t,n=this,i=n._id,o=n.size();return new Promise((function(r,a){var s={value:a},l={value:function(){0==--o&&r()}};n.each((function(){var n=As(this,i),o=n.on;o!==e&&((t=(e=o).copy())._.cancel.push(s),t._.interrupt.push(s),t._.end.push(l)),n.on=t})),0===o&&r()}))},[Symbol.iterator]:ol[Symbol.iterator]};var rl={time:null,delay:0,duration:250,ease:Sr};function al(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}qi.prototype.interrupt=function(e){return this.each((function(){zs(this,e)}))},qi.prototype.transition=function(e){var t,n;e instanceof nl?(t=e._id,e=e._name):(t=il(),(n=rl).time=fs(),e=null==e?null:e+"");for(var i=this._groups,o=i.length,r=0;r<o;++r)for(var a,s=i[r],l=s.length,c=0;c<l;++c)(a=s[c])&&Os(a,e,t,c,s,n||al(a,t));return new nl(i,this._parents,e,t)};var sl=function(e){return function(){return e}};function ll(e,t){var n=t.sourceEvent,i=t.target,o=t.transform,r=t.dispatch;Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:r}})}function cl(e,t,n){this.k=e,this.x=t,this.y=n}cl.prototype={constructor:cl,scale:function(e){return 1===e?this:new cl(this.k*e,this.x,this.y)},translate:function(e,t){return 0===e&0===t?this:new cl(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var ul=new cl(1,0,0);function dl(e){for(;!e.__zoom;)if(!(e=e.parentNode))return ul;return e.__zoom}function hl(e){e.stopImmediatePropagation()}function pl(e){e.preventDefault(),e.stopImmediatePropagation()}function gl(e){return!(e.ctrlKey&&"wheel"!==e.type||e.button)}function fl(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e).hasAttribute("viewBox")?[[(e=e.viewBox.baseVal).x,e.y],[e.x+e.width,e.y+e.height]]:[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]:[[0,0],[e.clientWidth,e.clientHeight]]}function vl(){return this.__zoom||ul}function yl(e){return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function ml(){return navigator.maxTouchPoints||"ontouchstart"in this}function bl(e,t,n){var i=e.invertX(t[0][0])-n[0][0],o=e.invertX(t[1][0])-n[1][0],r=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(o>i?(i+o)/2:Math.min(0,i)||Math.max(0,o),a>r?(r+a)/2:Math.min(0,r)||Math.max(0,a))}dl.prototype=cl.prototype;var kl=Object.freeze({__proto__:null,zoom:function(){var e,t,n,i=gl,o=fl,r=bl,a=yl,s=ml,l=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],u=250,d=rs,h=ar("start","zoom","end"),p=500,g=150,f=0,v=10,y=!1,m=!1;function b(e){e.property("__zoom",vl).on("wheel.zoom",S).on("mousedown.zoom",E).on("dblclick.zoom",I).on("gesturestart",N).on("gesturechange",T).on("gestureend",D).filter(s).on("touchstart.zoom",O).on("touchmove.zoom",_).on("touchend.zoom touchcancel.zoom",A).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function k(e,t){return(t=Math.max(l[0],Math.min(l[1],t)))===e.k?e:new cl(t,e.x,e.y)}function C(e,t,n){var i=t[0]-n[0]*e.k,o=t[1]-n[1]*e.k;return i===e.x&&o===e.y?e:new cl(e.k,i,o)}function x(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function P(e,t,n,i){e.on("start.zoom",(function(){L(this,arguments).event(i).start()})).on("interrupt.zoom end.zoom",(function(){L(this,arguments).event(i).end()})).tween("zoom",(function(){var e=this,r=arguments,a=L(e,r).event(i),s=o.apply(e,r),l=null==n?x(s):"function"==typeof n?n.apply(e,r):n,c=Math.max(s[1][0]-s[0][0],s[1][1]-s[0][1]),u=e.__zoom,h="function"==typeof t?t.apply(e,r):t,p=d(u.invert(l).concat(c/u.k),h.invert(l).concat(c/h.k));return function(e){if(1===e)e=h;else{var t=p(e),n=c/t[2];e=new cl(n,l[0]-t[0]*n,l[1]-t[1]*n)}a.zoom(null,e)}}))}function L(e,t,n){return!n&&e.__zooming||new w(e,t)}function w(e,t){this.that=e,this.args=t,this.active=0,this.sourceEvent=null,this.extent=o.apply(e,t),this.taps=0}function S(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];if(m&&pl(e),i.apply(this,arguments)){var s=L(this,n).event(e),u=this.__zoom,d=Math.max(l[0],Math.min(l[1],u.k*Math.pow(2,a.apply(this,arguments)))),h=no(e);if(s.wheel)s.mouse[0][0]===h[0]&&s.mouse[0][1]===h[1]||(s.mouse[1]=u.invert(s.mouse[0]=h)),clearTimeout(s.wheel);else{if(u.k===d)return;!y||e.ctrlKey||e.safariPinchZoom||(s.wheelTransX=-u.x,s.wheelTransY=-u.y),s.mouse=[h,u.invert(h)],zs(this),s.start()}if(pl(e),s.wheel=setTimeout((function(){s.wheel=null,s.end()}),g),!y||e.ctrlKey||e.safariPinchZoom)s.zoom("mouse",r(C(k(u,d),s.mouse[0],s.mouse[1]),s.extent,c));else{s.wheelTransX+=e.deltaX,s.wheelTransY+=e.deltaY;var p=[u.x,u.y],f=[u.x+s.wheelTransX,u.y+s.wheelTransY];s.zoom("mouse",r(C(u,p,f),s.extent,c))}}}function N(e){pl(e),this.scale=e.scale}function T(e){pl(e),this.__zoom&&(e.deltaY=100*(this.scale-e.scale),this.scale=e.scale),e.safariPinchZoom=!0,S.apply(this,[e].concat(Array.prototype.slice.call(arguments)))}function D(e){pl(e)}function E(e){for(var t=arguments.length,o=new Array(t>1?t-1:0),a=1;a<t;a++)o[a-1]=arguments[a];if(!n&&i.apply(this,arguments)){var s=L(this,o,!0).event(e),l=$i(e.view).on("mousemove.zoom",(function(e){if(pl(e),!s.moved){var t=e.clientX-h,n=e.clientY-p;s.moved=t*t+n*n>f}s.event(e).zoom("mouse",r(C(s.that.__zoom,s.mouse[0]=no(e,d),s.mouse[1]),s.extent,c))}),!0).on("mouseup.zoom",(function(e){l.on("mousemove.zoom mouseup.zoom",null),fr(e.view,s.moved),pl(e),s.event(e).end()}),!0),u=no(e,d),d=e.currentTarget,h=e.clientX,p=e.clientY;gr(e.view),hl(e),s.mouse=[u,this.__zoom.invert(u)],zs(this),s.start()}}function I(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];if(i.apply(this,arguments)){var s=this.__zoom,l=no(e.changedTouches?e.changedTouches[0]:e,this),d=s.invert(l),h=s.k*(e.shiftKey?.5:2),p=r(C(k(s,h),l,d),o.apply(this,n),c);pl(e),u>0?$i(this).transition().duration(u).call(P,p,l,e):$i(this).call(b.transform,p,l,e)}}function O(n){for(var o=arguments.length,r=new Array(o>1?o-1:0),a=1;a<o;a++)r[a-1]=arguments[a];if(i.apply(this,arguments)){var s,l,c,u,d=n.touches,h=d.length,g=L(this,r,n.changedTouches.length===h).event(n);for(hl(n),l=0;l<h;++l)u=[u=no(c=d[l],this),this.__zoom.invert(u),c.identifier],g.touch0?g.touch1||g.touch0[2]===u[2]||(g.touch1=u,g.taps=0):(g.touch0=u,s=!0,g.taps=1+!!e);e&&(e=clearTimeout(e)),s&&(g.taps<2&&(t=u[0],e=setTimeout((function(){e=null}),p)),zs(this),g.start())}}function _(e){if(this.__zooming){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];var o,a,s,l,u=L(this,n).event(e),d=e.changedTouches,h=d.length;for(pl(e),o=0;o<h;++o)s=no(a=d[o],this),u.touch0&&u.touch0[2]===a.identifier?u.touch0[0]=s:u.touch1&&u.touch1[2]===a.identifier&&(u.touch1[0]=s);if(a=u.that.__zoom,u.touch1){var p=u.touch0[0],g=u.touch0[1],f=u.touch1[0],v=u.touch1[1],y=(y=f[0]-p[0])*y+(y=f[1]-p[1])*y,m=(m=v[0]-g[0])*m+(m=v[1]-g[1])*m;a=k(a,Math.sqrt(y/m)),s=[(p[0]+f[0])/2,(p[1]+f[1])/2],l=[(g[0]+v[0])/2,(g[1]+v[1])/2]}else{if(!u.touch0)return;s=u.touch0[0],l=u.touch0[1]}u.zoom("touch",r(C(a,s,l),u.extent,c))}}function A(e){for(var i=arguments.length,o=new Array(i>1?i-1:0),r=1;r<i;r++)o[r-1]=arguments[r];if(this.__zooming){var a,s,l=L(this,o).event(e),c=e.changedTouches,u=c.length;for(hl(e),n&&clearTimeout(n),n=setTimeout((function(){n=null}),p),a=0;a<u;++a)s=c[a],l.touch0&&l.touch0[2]===s.identifier?delete l.touch0:l.touch1&&l.touch1[2]===s.identifier&&delete l.touch1;if(l.touch1&&!l.touch0&&(l.touch0=l.touch1,delete l.touch1),l.touch0)l.touch0[1]=this.__zoom.invert(l.touch0[0]);else if(l.end(),2===l.taps&&(s=no(s,this),Math.hypot(t[0]-s[0],t[1]-s[1])<v)){var d=$i(this).on("dblclick.zoom");d&&d.apply(this,arguments)}}}return b.transform=function(e,t,n,i){var o=e.selection?e.selection():e;o.property("__zoom",vl),e!==o?P(e,t,n,i):o.interrupt().each((function(){L(this,arguments).event(i).start().zoom(null,"function"==typeof t?t.apply(this,arguments):t).end()}))},b.scaleBy=function(e,t,n,i){b.scaleTo(e,(function(){return this.__zoom.k*("function"==typeof t?t.apply(this,arguments):t)}),n,i)},b.scaleTo=function(e,t,n,i){b.transform(e,(function(){var e=o.apply(this,arguments),i=this.__zoom,a=null==n?x(e):"function"==typeof n?n.apply(this,arguments):n,s=i.invert(a),l="function"==typeof t?t.apply(this,arguments):t;return r(C(k(i,l),a,s),e,c)}),n,i)},b.translateBy=function(e,t,n,i){b.transform(e,(function(){return r(this.__zoom.translate("function"==typeof t?t.apply(this,arguments):t,"function"==typeof n?n.apply(this,arguments):n),o.apply(this,arguments),c)}),null,i)},b.translateTo=function(e,t,n,i,a){b.transform(e,(function(){var e=o.apply(this,arguments),a=this.__zoom,s=null==i?x(e):"function"==typeof i?i.apply(this,arguments):i;return r(ul.translate(s[0],s[1]).scale(a.k).translate("function"==typeof t?-t.apply(this,arguments):-t,"function"==typeof n?-n.apply(this,arguments):-n),e,c)}),i,a)},w.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(e,t){return this.mouse&&"mouse"!==e&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&"touch"!==e&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&"touch"!==e&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(e){var t=$i(this.that).datum();h.call(e,this.that,new ll(e,{sourceEvent:this.sourceEvent,target:b,type:e,transform:this.that.__zoom,dispatch:h}),t)}},b.wheelDelta=function(e){return arguments.length?(a="function"==typeof e?e:sl(+e),b):a},b.filter=function(e){return arguments.length?(i="function"==typeof e?e:sl(!!e),b):i},b.touchable=function(e){return arguments.length?(s="function"==typeof e?e:sl(!!e),b):s},b.extent=function(e){return arguments.length?(o="function"==typeof e?e:sl([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),b):o},b.scaleExtent=function(e){return arguments.length?(l[0]=+e[0],l[1]=+e[1],b):[l[0],l[1]]},b.translateExtent=function(e){return arguments.length?(c[0][0]=+e[0][0],c[1][0]=+e[1][0],c[0][1]=+e[0][1],c[1][1]=+e[1][1],b):[[c[0][0],c[0][1]],[c[1][0],c[1][1]]]},b.constrain=function(e){return arguments.length?(r=e,b):r},b.trackpad=function(e){return arguments.length?(y=e,b):y},b.preventBackGesture=function(e){return arguments.length?(m=e,b):m},b.duration=function(e){return arguments.length?(u=+e,b):u},b.interpolate=function(e){return arguments.length?(d=e,b):d},b.on=function(){var e=h.on.apply(h,arguments);return e===h?b:e},b.clickDistance=function(e){return arguments.length?(f=(e=+e)*e,b):Math.sqrt(f)},b.tapDistance=function(e){return arguments.length?(v=+e,b):v},b},zoomTransform:dl,zoomIdentity:ul});function Cl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function xl(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Cl(Object(n),!0).forEach((function(t){pe(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Cl(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Pl=Object.assign({},io,kl),Ll=function(){function n(t){var i=this;e(this,n),this.ren=t,this.logger=new Re("SVGCanvasUtilsZoom"),this.minScaleExtent=.2,this.maxScaleExtent=1.8,this.contextMenuClosedOnZoom=!1,this.textEditingClosedOnZoom=!1,this.regionSelect=!1,this.zoomStartPoint={x:0,y:0,k:0,startX:0,startY:0},this.previousD3Event={},this.zoomCanvasDimensions={},this.regionStartTransformX=0,this.regionStartTransformY=0,this.zoomTransform=Pl.zoomIdentity.translate(0,0).scale(1),this.zooming=!1,this.zoomingAction=!1,this.spaceKeyPressed=!1,this.zoomHandler=Pl.zoom().trackpad(this.ren.config.enableInteractionType===he).preventBackGesture(!0).wheelDelta((function(e){return-e.deltaY*(i.ren.config.enableInteractionType===he?.02:.002)})).scaleExtent([this.minScaleExtent,this.maxScaleExtent]).on("start",this.zoomStart.bind(this)).on("zoom",this.zoomAction.bind(this)).on("end",this.zoomEnd.bind(this))}return t(n,[{key:"setSpaceKeyPressed",value:function(e){this.spaceKeyPressed=e}},{key:"isSpaceKeyPressed",value:function(){return this.spaceKeyPressed}},{key:"getZoomHandler",value:function(){return this.zoomHandler}},{key:"getZoomTransform",value:function(){return this.zoomTransform}},{key:"getZoom",value:function(){return xl({},this.zoomTransform)}},{key:"getZoomScale",value:function(){return this.zoomTransform.k}},{key:"resetZoomTransform",value:function(){this.zoomTransform=Pl.zoomIdentity.translate(0,0).scale(1)}},{key:"zoomTo",value:function(e){this.zoomCanvasInvokeZoomBehavior(e,500)}},{key:"translateBy",value:function(e,t,n){var i=this.getZoomTransform(),o=Pl.zoomIdentity.translate(i.x+e,i.y+t).scale(i.k);this.zoomCanvasInvokeZoomBehavior(o,n)}},{key:"zoomIn",value:function(){if(this.zoomTransform.k<this.maxScaleExtent){var e=Math.min(1.1*this.zoomTransform.k,this.maxScaleExtent);this.ren.canvasSVG.call(this.zoomHandler.scaleTo,e)}}},{key:"zoomOut",value:function(){if(this.zoomTransform.k>this.minScaleExtent){var e=Math.max(this.zoomTransform.k/1.1,this.minScaleExtent);this.ren.canvasSVG.call(this.zoomHandler.scaleTo,e)}}},{key:"isZoomedToMax",value:function(){return!!this.zoomTransform&&this.zoomTransform.k===this.maxScaleExtent}},{key:"isZoomedToMin",value:function(){return!!this.zoomTransform&&this.zoomTransform.k===this.minScaleExtent}},{key:"setMaxZoomExtent",value:function(e){if(!this.zooming){var t=this.maxScaleExtent*e;this.zoomHandler=this.zoomHandler.scaleExtent([this.minScaleExtent,t]),this.ren.resetCanvasSVGBehaviors()}}},{key:"transformPos",value:function(e){return{x:(e.x-this.zoomTransform.x)/this.zoomTransform.k,y:(e.y-this.zoomTransform.y)/this.zoomTransform.k}}},{key:"unTransformPos",value:function(e){return{x:e.x*this.zoomTransform.k+this.zoomTransform.x,y:e.y*this.zoomTransform.k+this.zoomTransform.y}}},{key:"getTransformedRect",value:function(e,t){var n=t/this.zoomTransform.k;return{x:-this.zoomTransform.x/this.zoomTransform.k+n,y:-this.zoomTransform.y/this.zoomTransform.k+n,height:e.height/this.zoomTransform.k-2*n,width:e.width/this.zoomTransform.k-2*n}}},{key:"zoomStart",value:function(e){var t=this;this.logger.log("zoomStart - "+JSON.stringify(e.transform)),this.ren.canvasController.closeTip(),this.zooming=!0,this.ren.canvasController.isContextMenuDisplayed()&&!this.ren.dispUtils.isDisplayingSubFlowInPlace()&&(this.ren.canvasController.closeContextMenu(),this.contextMenuClosedOnZoom=!0),this.ren.svgCanvasTextArea.isEditingText()&&(this.textEditingClosedOnZoom=!0),this.regionSelect=this.isRegionSelectActivated(e),this.regionSelect?(this.addingCursorOverlay=setTimeout((function(){return t.ren.addTempCursorOverlay("crosshair")}),200),this.regionStartTransformX=e.transform.x,this.regionStartTransformY=e.transform.y):this.isDragActivated(e)?this.addingCursorOverlay=setTimeout((function(){return t.ren.addTempCursorOverlay("grabbing")}),200):this.addingCursorOverlay=setTimeout((function(){return t.ren.addTempCursorOverlay("default")}),200);var n=this.ren.getTransformedMousePos(e);this.zoomStartPoint={x:e.transform.x,y:e.transform.y,k:e.transform.k,startX:n.x,startY:n.y},this.previousD3Event=xl({},e.transform),this.zoomCanvasDimensions=this.getCanvasDimensions()}},{key:"zoomAction",value:function(e){this.logger.log("zoomAction - "+JSON.stringify(e.transform)),e.transform.k===this.zoomStartPoint.k?this.regionSelect?this.drawRegionSelector(e):this.zoomCanvasBackground(e):(this.ren.addTempCursorOverlay("default"),this.zoomCanvasBackground(e),this.ren.repositionCommentToolbar())}},{key:"zoomEnd",value:function(e){this.logger.log("zoomEnd - "+JSON.stringify(e.transform)),clearTimeout(this.addingCursorOverlay);var t=this.ren.getTransformedMousePos(e);t.x!==this.zoomStartPoint.startX||t.y!==this.zoomStartPoint.startY||this.zoomChanged()?this.regionSelect?this.zoomEndRegionSelect(e):this.ren.dispUtils.isDisplayingFullPage()&&this.zoomChanged()&&this.zoomSave():this.zoomClick(e),this.ren.resetCanvasCursor(e),this.ren.removeTempCursorOverlay(),this.contextMenuClosedOnZoom=!1,this.textEditingClosedOnZoom=!1,this.regionSelect=!1,this.zooming=!1}},{key:"zoomChanged",value:function(){return this.zoomTransform.k!==this.zoomStartPoint.k||this.zoomTransform.x!==this.zoomStartPoint.x||this.zoomTransform.y!==this.zoomStartPoint.y}},{key:"isDragActivated",value:function(e){return this.ren.config.enableInteractionType===ue?this.isSpaceKeyPressed():e&&e.sourceEvent&&!e.sourceEvent.shiftKey}},{key:"isRegionSelectActivated",value:function(e){return!this.zoomingAction&&(!!(this.ren.config.enableInteractionType===de&&e&&e.sourceEvent&&e.sourceEvent.shiftKey)||(this.ren.config.enableInteractionType===ue&&!this.isSpaceKeyPressed()||!(this.ren.config.enableInteractionType!==he||!e.sourceEvent||1!==e.sourceEvent.buttons||this.isSpaceKeyPressed())))}},{key:"drawRegionSelector",value:function(e){this.removeRegionSelector();var t=this.getRegionDimensions(e),n=t.x,i=t.y,o=t.width,r=t.height;this.ren.canvasGrp.append("rect").attr("width",o).attr("height",r).attr("x",n).attr("y",i).attr("class","d3-region-selector")}},{key:"zoomEndRegionSelect",value:function(e){this.removeRegionSelector(),e.transform.x=this.regionStartTransformX,e.transform.y=this.regionStartTransformY,this.ren.selectObjsInRegion(this.getRegionDimensions(e))}},{key:"removeRegionSelector",value:function(){this.ren.canvasGrp.selectAll(".d3-region-selector").remove()}},{key:"getRegionDimensions",value:function(e){var t=this.ren.getTransformedMousePos(e),n=this.zoomStartPoint.startX,i=this.zoomStartPoint.startY,o=t.x-n,r=t.y-i;return o<0&&(n-=o=Math.abs(o)),r<0&&(i-=r=Math.abs(r)),{x:n,y:i,width:o,height:r}}},{key:"zoomCanvasBackground",value:function(e){if(this.regionSelect=!1,this.ren.dispUtils.isDisplayingPrimaryFlowFullPage()){var t=this.getTransformIncrement(e);this.zoomTransform=this.zoomConstrainRegular(t,this.getViewportDimensions(),this.zoomCanvasDimensions)}else this.zoomTransform=Pl.zoomIdentity.translate(e.transform.x,e.transform.y).scale(e.transform.k);this.ren.canvasGrp.attr("transform",this.zoomTransform),this.ren.displayCanvasAccoutrements()}},{key:"zoomClick",value:function(e){var t,n,i;this.ren.dispUtils.isDisplayingCurrentPipeline()&&!this.contextMenuClosedOnZoom&&!this.textEditingClosedOnZoom&&(this.ren.config.enableEditingActions||null!==(t=e.sourceEvent)&&void 0!==t&&null!==(n=t.target)&&void 0!==n&&null!==(i=n.classList)&&void 0!==i&&i.contains("d3-svg-background"))&&this.ren.canvasController.clearSelections()}},{key:"zoomSave",value:function(){this.ren.canvasSVG.property("__zoom",this.zoomTransform);var e={editType:"setZoom",editSource:"canvas",zoom:this.zoomTransform,pipelineId:this.ren.activePipeline.id};this.ren.canvasController.editActionHandler(e)}},{key:"getTransformIncrement",value:function(e){var t=e.transform.x-this.previousD3Event.x,n=e.transform.y-this.previousD3Event.y,i={x:this.zoomTransform.x+t,y:this.zoomTransform.y+n,k:e.transform.k};return this.previousD3Event=xl({},e.transform),i}},{key:"zoomConstrainRegular",value:function(e,t,n){if(!n)return this.zoomTransform;var i=e.k,o=e.x,r=e.y,a=this.convertRectAdjustedForScaleWithPadding(n,i,this.getZoomToFitPadding()),s=t.width-Math.min(.25*t.width,.25*a.width),l=-Math.max(a.width-.25*t.width,.75*a.width),c=t.height-Math.min(.25*t.height,.25*a.height),u=-Math.max(a.height-.25*t.height,.75*a.height);return o>-a.left+s?o=-a.left+s:o<-a.left+l&&(o=-a.left+l),r>-a.top+c?r=-a.top+c:r<-a.top+u&&(r=-a.top+u),Pl.zoomIdentity.translate(o,r).scale(i)}},{key:"restoreZoom",value:function(){var e=this.ren.canvasController.getSavedZoom(this.ren.activePipeline.id);if(!e&&this.ren.config.enablePanIntoViewOnOpen){var t=this.getCanvasDimensionsWithPadding();t&&(e={x:-t.left,y:-t.top,k:1})}!e&&this.ren.canvasLayout.initialPanX&&this.ren.canvasLayout.initialPanY&&(e={x:this.ren.canvasLayout.initialPanX,y:this.ren.canvasLayout.initialPanY,k:1}),!e||e.k===this.zoomTransform.k&&e.x===this.zoomTransform.x&&e.y===this.zoomTransform.y||this.zoomCanvasInvokeZoomBehavior(e)}},{key:"zoomCanvasInvokeZoomBehavior",value:function(e,t){if(isFinite(e.x)&&isFinite(e.y)&&isFinite(e.k)&&this.zoomHasChanged(e)){this.zoomingAction=!0;var n=Pl.zoomIdentity.translate(e.x,e.y).scale(e.k);t?this.ren.canvasSVG.call(this.zoomHandler).transition().duration(t).call(this.zoomHandler.transform,n):this.ren.canvasSVG.call(this.zoomHandler.transform,n),this.zoomingAction=!1}}},{key:"zoomHasChanged",value:function(e){return e.k!==this.zoomTransform.k||e.x!==this.zoomTransform.x||e.y!==this.zoomTransform.y}},{key:"zoomToFit",value:function(){var e=this.getCanvasDimensionsWithPadding(),t=this.getViewportDimensions();if(e){var n=t.width/e.width,i=t.height/e.height,o=Math.min(n,i,1),r=(t.width-e.width*o)/2,a=(t.height-e.height*o)/2;r-=o*e.left,a-=o*e.top,this.zoomCanvasInvokeZoomBehavior({x:r,y:a,k:o})}}},{key:"getZoomToReveal",value:function(e,t,n){var i=this.getTransformedViewportDimensions(),o=this.ren.activePipeline.getNodes(e),r=this.ren.activePipeline.getComments(e),a=this.ren.activePipeline.getLinks(e);if(o.length>0||r.length>0||a.length>0){var s,l,c=Fe.getCanvasDimensions(o,r,a,0,0,!0),u=this.convertRectAdjustedForScaleWithPadding(c,1,10),d=parseInt(t,10),h=void 0===n?d:parseInt(n,10);if(u)if(Number.isNaN(d)||Number.isNaN(h)?(u.right>i.x+i.width&&(s=i.x+i.width-u.right),u.left<i.x&&(s=i.x-u.left),u.bottom>i.y+i.height&&(l=i.y+i.height-u.bottom),u.top<i.y&&(l=i.y-u.top)):(s=i.x+i.width*(d/100)-(u.left+u.width/2),l=i.y+i.height*(h/100)-(u.top+u.height/2)),void 0!==s||void 0!==l)return{x:this.zoomTransform.x+(s||0)*this.zoomTransform.k||0,y:this.zoomTransform.y+(l||0)*this.zoomTransform.k||0,k:this.zoomTransform.k}}return null}},{key:"getMaxZoomToFitPaddingForConnections",value:function(){var e=this.getMaxPaddingForConnectionsFromInputBindingNodes(),t=this.getMaxPaddingForConnectionsToOutputBindingNodes();return Math.max(e,t)}},{key:"getMaxPaddingForConnectionsFromInputBindingNodes",value:function(){var e=this,t=0;return this.ren.activePipeline.nodes.filter((function(e){return e.isSupernodeInputBinding})).forEach((function(n){var i=Fe.getNodePaddingToTargetNodes(n,e.ren.activePipeline.nodes,e.ren.activePipeline.links,e.ren.canvasLayout.linkType);t=Math.max(t,i)})),t}},{key:"getMaxPaddingForConnectionsToOutputBindingNodes",value:function(){var e=this,t=0,n=this.ren.activePipeline.nodes.filter((function(e){return e.isSupernodeOutputBinding}));return this.ren.activePipeline.nodes.forEach((function(i){var o=Fe.getNodePaddingToTargetNodes(i,n,e.ren.activePipeline.links,e.ren.canvasLayout.linkType);t=Math.max(t,o)})),t}},{key:"getTransformedViewportDimensions",value:function(){var e=this.getViewportDimensions();return this.getTransformedRect(e,0)}},{key:"getViewportDimensions",value:function(){var e={};if(this.ren.dispUtils.isDisplayingSubFlowInPlace()){var t=this.ren.getParentSupernodeSVGDimensions();e.width=t.width,e.height=t.height}else e=this.ren.canvasSVG&&this.ren.canvasSVG.node()?this.ren.canvasSVG.node().getBoundingClientRect():{x:0,y:0,width:1100,height:640};return e}},{key:"getCanvasDimensionsWithPadding",value:function(){return this.getCanvasDimensions(this.getZoomToFitPadding())}},{key:"getCanvasDimensions",value:function(e){var t=this.ren.canvasLayout.commentHighlightGap,n=this.ren.activePipeline.getCanvasDimensions(t);return this.convertRectAdjustedForScaleWithPadding(n,1,e)}},{key:"convertRectAdjustedForScaleWithPadding",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return e?{left:e.left*t-n,top:e.top*t-n,right:e.right*t+n,bottom:e.bottom*t+n,width:e.width*t+2*n,height:e.height*t+2*n}:null}},{key:"getZoomToFitPadding",value:function(){var e=this.ren.canvasLayout.zoomToFitPadding;if(this.ren.dispUtils.isDisplayingSubFlow()){var t=this.getMaxZoomToFitPaddingForConnections()+2*this.ren.canvasLayout.supernodeBindingPortRadius;e=Math.max(e,t)}return e}}]),n}(),wl=function(){function n(t,i,o){e(this,n),this.logger=new Re("SVGCanvasActivePipeline"),this.logger.log("constructor - start"),this.initialize(t,i,o),this.logger.log("constructor - end")}return t(n,[{key:"initialize",value:function(e,t,n){this.logger.logStartTimer("initialize"),this.canvasInfo=t,this.selections=n.pipelineId===e?n.selections:[],this.pipeline=this.getPipeline(e,t),this.id=this.pipeline.id,this.zoom=this.pipeline.zoom,this.nodes=this.pipeline.nodes,this.comments=this.pipeline.comments,this.links=this.pipeline.links,this.mappedNodes=this.getMappedArray(this.pipeline.nodes),this.mappedComments=this.getMappedArray(this.pipeline.comments),this.mappedLinks=this.getMappedArray(this.pipeline.links),this.pipeline=this.preProcessPipeline(this.pipeline),this.logger.logEndTimer("initialize")}},{key:"getCanvasDimensions",value:function(e){return Fe.getCanvasDimensions(this.pipeline.nodes,this.pipeline.comments,this.pipeline.links,e)}},{key:"getObjectTypeName",value:function(e){return this.getComment(e.id)?"comment":this.getNode(e.id)?"node":"link"}},{key:"getNode",value:function(e){var t=this.mappedNodes[e];return void 0===t?null:t}},{key:"getNodes",value:function(e){var t=this;if(!e)return this.pipeline.nodes;var n=[];return e.forEach((function(e){var i=t.getNode(e);i&&n.push(i)})),n}},{key:"getSupernodes",value:function(){return this.pipeline.nodes.filter((function(e){return Fe.isSupernode(e)}))}},{key:"isEmptyOrBindingsOnly",value:function(){return(f(this.pipeline.nodes)||this.containsOnlyBindingNodes())&&f(this.pipeline.comments)}},{key:"containsOnlyBindingNodes",value:function(){return!this.pipeline.nodes.find((function(e){return!Fe.isSuperBindingNode(e)}))}},{key:"getComment",value:function(e){var t=this.mappedComments[e];return void 0===t?null:t}},{key:"getComments",value:function(e){var t=this,n=[];return e.forEach((function(e){var i=t.getComment(e);i&&n.push(i)})),n}},{key:"getNodesAndComments",value:function(){return this.pipeline.nodes.concat(this.pipeline.comments)}},{key:"getNodeOrComment",value:function(e){var t=this.getNode(e);return null===t&&(t=this.getComment(e)),t}},{key:"getLink",value:function(e){var t=this.mappedLinks[e];return void 0===t?null:t}},{key:"getLinks",value:function(e){var t=this,n=[];return e.forEach((function(e){var i=t.getLink(e);i&&n.push(i)})),n}},{key:"replaceLink",value:function(e){var t=this.pipeline.links.findIndex((function(t){return t.id===e.id}));this.pipeline.links.splice(t,1,e),this.mappedLinks=this.getMappedArray(this.pipeline.links)}},{key:"getPipeline",value:function(e,t){var n=t.pipelines.find((function(t){return t.id===e}));return n||{id:e,nodes:[],comments:[],links:[]}}},{key:"preProcessPipeline",value:function(e){var t=this;return this.setAllPortsDisconnected(e),e.links.forEach((function(e){e.type===W?(e.srcObj=t.getComment(e.srcNodeId),e.trgNode=t.getNode(e.trgNodeId)):(e.srcObj=t.getNode(e.srcNodeId),e.trgNode=t.getNode(e.trgNodeId),e.type===U&&(e.srcObj&&t.setOutputPortConnected(e.srcObj,e.srcNodePortId),e.trgNode&&t.setInputPortConnected(e.trgNode,e.trgNodePortId)))})),e}},{key:"setAllPortsDisconnected",value:function(e){e.nodes.forEach((function(e){e.inputs&&e.inputs.forEach((function(e){return e.isConnected=!1})),e.outputs&&e.outputs.forEach((function(e){return e.isConnected=!1}))}))}},{key:"setInputPortConnected",value:function(e,t){var n=t||Fe.getDefaultInputPortId(e);e.inputs&&e.inputs.forEach((function(e){e.id===n&&(e.isConnected=!0)}))}},{key:"setOutputPortConnected",value:function(e,t){var n=t||Fe.getDefaultOutputPortId(e);e.outputs&&e.outputs.forEach((function(e){e.id===n&&(e.isConnected=!0)}))}},{key:"getMappedArray",value:function(e){return e.reduce((function(e,t){return e[t.id]=t,e}),{})}},{key:"getSelectedObjectIds",value:function(){return this.selections}},{key:"getSelectedNodesAndComments",value:function(){var e=this,t=this.getSelectedNodes();return this.comments.forEach((function(n){e.getSelectedObjectIds().includes(n.id)&&t.push(n)})),t}},{key:"getSelectedNodes",value:function(){var e=this,t=[];return this.nodes.forEach((function(n){e.getSelectedObjectIds().includes(n.id)&&t.push(n)})),t}},{key:"getSelectedNodeIds",value:function(){return this.getSelectedNodes().map((function(e){return e.id}))}},{key:"getSelectedLinks",value:function(){var e=this,t=[];return this.links.forEach((function(n){e.getSelectedObjectIds().includes(n.id)&&t.push(n)})),t}},{key:"getSelectedDetachedLinks",value:function(){return this.getSelectedLinks().filter((function(e){return e.srcPos||e.trgPos}))}},{key:"getSelectedLinksCount",value:function(){return this.getSelectedLinks().length}},{key:"isSelected",value:function(e){return this.getSelectedObjectIds().indexOf(e)>=0}}]),n}(),Sl=Object.assign({},io,jo),Nl=require("markdown-it")({html:!1,linkify:!1,typographer:!0}),Tl=function(){function n(t,i,o,r,a,s,l,c,u){var d=arguments.length>9&&void 0!==arguments[9]?arguments[9]:{};e(this,n),this.logger=new Re(["SVGCanvasRenderer","PipeId",t]),this.logger.logStartTimer("constructor"+t.substring(0,5)),this.pipelineId=t,this.supernodeInfo=d,this.canvasDiv=i,this.canvasInfo=r,this.selectionInfo=a,this.breadcrumbs=s,this.nodeLayout=l,this.canvasLayout=c,this.config=u,this.canvasController=o,this.activePipeline=new wl(t,r,a),this.superRenderers=[],this.instanceId=this.canvasController.getInstanceId(),this.dispUtils=new Ro(this.canvasController,this.supernodeInfo.d3Selection,this.pipelineId,s),this.nodeUtils=new Fo(this.canvasLayout),this.commentUtils=new Go,this.linkUtils=new Zo(this.config,this.canvasLayout,this.nodeUtils,this.commentUtils),this.decUtils=new Vo(this.canvasLayout),this.dragObjectUtils=new Lr(this),this.dragNewLinkUtils=new ia(this),this.dragDetLinkUtils=new aa(this),this.zoomUtils=new Ll(this),this.externalUtils=new Ko(this),this.svgCanvasTextArea=new or(this.config,this.dispUtils,this.nodeUtils,this.decUtils,this.canvasController,this.canvasDiv,this.activePipeline,this.displayComments.bind(this),this.displayLinks.bind(this),this.getCommentToolbarPos.bind(this)),this.dispUtils.setDisplayState(),this.logger.log(this.dispUtils.getDisplayStateMsg()),this.dragOverLink=null,this.dragOverDetachedLinks=[],this.dragPointerOffsetInNode=null,this.dragNewLinkOverNode=null,this.initializeGhostDiv(),this.canvasSVG=this.createCanvasSVG(),this.canvasDefs=this.canvasSVG.selectChildren("defs"),this.canvasGrp=this.createCanvasGroup(this.canvasSVG,"d3-canvas-group"),this.canvasUnderlay=this.createCanvasUnderlay(this.canvasGrp,"d3-canvas-underlay"),this.commentsGrp=this.createCanvasGroup(this.canvasGrp,"d3-comments-group"),this.nodesLinksGrp=this.createCanvasGroup(this.canvasGrp,"d3-nodes-links-group"),this.boundingRectsGrp=this.createBoundingRectanglesGrp(this.canvasGrp,"d3-bounding-rect-group"),this.resetCanvasSVGBehaviors(),this.displayCanvas(),this.dispUtils.isDisplayingFullPage()&&this.zoomUtils.restoreZoom(),this.dispUtils.isDisplayingSubFlowFullPage()&&!this.canvasController.getSavedZoom(this.pipelineId)&&this.zoomToFit(),this.dispUtils.isDisplayingSubFlowInPlace()&&(this.supernodeInfo.d3Selection.selectAll(".d3-node-port-input").raise(),this.supernodeInfo.d3Selection.selectAll(".d3-node-port-output").raise()),this.logger.logEndTimer("constructor"+t.substring(0,5))}return t(n,[{key:"setSpaceKeyPressed",value:function(e){this.zoomUtils.setSpaceKeyPressed(e),this.resetCanvasCursor()}},{key:"isSpaceKeyPressed",value:function(){return this.zoomUtils.isSpaceKeyPressed()}},{key:"zoomTo",value:function(e){this.zoomUtils.zoomTo(e)}},{key:"translateBy",value:function(e,t,n){this.zoomUtils.translateBy(e,t,n)}},{key:"zoomIn",value:function(){this.zoomUtils.zoomIn()}},{key:"zoomOut",value:function(){this.zoomUtils.zoomOut()}},{key:"zoomToFit",value:function(){this.zoomUtils.zoomToFit()}},{key:"isZoomedToMax",value:function(){return this.zoomUtils.isZoomedToMax()}},{key:"isZoomedToMin",value:function(){return this.zoomUtils.isZoomedToMin()}},{key:"getZoomToReveal",value:function(e,t,n){return this.zoomUtils.getZoomToReveal(e,t,n)}},{key:"getZoom",value:function(){return this.zoomUtils.getZoom()}},{key:"getTransformedViewportDimensions",value:function(){return this.zoomUtils.getTransformedViewportDimensions()}},{key:"getParentSupernodeDatum",value:function(){var e=this,t=null;return this.canvasInfo.pipelines.forEach((function(n){n.id===e.supernodeInfo.pipelineId&&(t||(t=n.nodes.find((function(t){return Fe.isSupernode(t)&&t.id===e.supernodeInfo.id}))))})),t}},{key:"setCanvasInfoRenderer",value:function(e,t,n,i,o,r){this.logger.logStartTimer("setCanvasInfoRenderer"+this.pipelineId.substring(0,5)),this.config=r,this.canvasInfo=e,this.selectionInfo=t,this.breadcrumbs=n,this.nodeLayout=i,this.canvasLayout=o,this.activePipeline.initialize(this.pipelineId,e,t),this.linkUtils=new Zo(this.config,this.canvasLayout,this.nodeUtils,this.commentUtils),this.svgCanvasTextArea=new or(this.config,this.dispUtils,this.nodeUtils,this.decUtils,this.canvasController,this.canvasDiv,this.activePipeline,this.displayComments.bind(this),this.displayLinks.bind(this),this.getCommentToolbarPos.bind(this)),this.dispUtils.setDisplayState(),this.logger.log(this.dispUtils.getDisplayStateMsg()),this.resetCanvasSVGBehaviors(),this.superRenderers=this.cleanUpSuperRenderers(),this.displayCanvas(),this.logger.logEndTimer("setCanvasInfoRenderer"+this.pipelineId.substring(0,5))}},{key:"setSelectionInfo",value:function(e){this.selectionInfo=e,this.activePipeline.initialize(this.pipelineId,this.canvasInfo,e),this.displayCommentsSelectionStatus(),this.displayNodesSelectionStatus(),this.displayLinksSelectionStatus(),this.superRenderers.forEach((function(t){t.setSelectionInfo(e)}))}},{key:"cleanUpSuperRenderers",value:function(){var e=this,t=[];return this.activePipeline.getSupernodes().forEach((function(n){var i=e.getRendererForSupernode(n);i&&t.push(i),e.getDiscardedRenderersForSupernode(n).forEach((function(e){return e.canvasSVG.remove()}))})),t}},{key:"clearCanvas",value:function(){this.zoomUtils.resetZoomTransform(),this.canvasSVG.remove()}},{key:"refreshOnSizeChange",value:function(){if(this.logger.log("refreshOnSizeChange"),this.dispUtils.isDisplayingSubFlowFullPage()&&this.displayBindingNodesToFitSVG(),this.config.enableBoundingRectangles&&this.displayBoundingRectangles(),this.config.enablePositionNodeOnRightFlyoutOpen&&this.canvasController.isRightFlyoutOpen()){var e="boolean"==typeof this.config.enablePositionNodeOnRightFlyoutOpen?{x:50,y:50}:this.config.enablePositionNodeOnRightFlyoutOpen,t=e.x?e.x:50,n=e.y?e.y:50,i=this.activePipeline.getSelectedNodeIds(),o=this.getZoomToReveal(i,t,n);this.zoomTo(o)}}},{key:"hideCanvas",value:function(){this.canvasSVG.style("display","none")}},{key:"displayCanvas",value:function(){this.logger.logStartTimer("displayCanvas"),this.canvasSVG.style("display","inherit"),this.displayComments(),this.displayNodes(),this.displayLinks(),this.dispUtils.isDisplayingSubFlowInPlace()&&this.displaySVGToFitSupernode(),this.displayCanvasAccoutrements(),this.logger.logEndTimer("displayCanvas")}},{key:"displayCanvasAccoutrements",value:function(){this.config.enableBoundingRectangles&&this.displayBoundingRectangles(),"None"!==this.config.enableCanvasUnderlay&&this.dispUtils.isDisplayingPrimaryFlowFullPage()&&this.setCanvasUnderlaySize(),this.dispUtils.isDisplayingSubFlowFullPage()&&this.displayPortsForSubFlowFullPage()}},{key:"displayPortsForSubFlowFullPage",value:function(){this.setPortPositionsForNode(this.getParentSupernodeDatum()),this.displayBindingNodesToFitSVG()}},{key:"displaySVGToFitSupernode",value:function(){this.logger.log("displaySVGToFitSupernode - start");var e=this.getParentSupernodeSVGDimensions();this.canvasSVG.attr("width",e.width),this.canvasSVG.attr("height",e.height),this.canvasSVG.attr("x",e.x),this.canvasSVG.attr("y",e.y);var t=this.canvasSVG.selectChildren(".d3-svg-background");t.attr("width",e.width),t.attr("height",e.height),this.zoomToFit(),this.displayBindingNodesToFitSVG(),this.logger.log("displaySVGToFitSupernode - end")}},{key:"displayBindingNodesToFitSVG",value:function(){this.logger.log("displayBindingNodesToFitSVG - start"),this.setPortPositionsAllNodes(),this.moveSuperBindingNodes(),this.displayMovedNodes(),this.displayMovedLinks(),this.logger.log("displayBindingNodesToFitSVG - end")}},{key:"getParentSupernodeSVGDimensions",value:function(){var e=this.getParentSupernodeDatum();return{width:e.width-2*this.canvasLayout.supernodeSVGAreaPadding,height:e.height-this.canvasLayout.supernodeTopAreaHeight-this.canvasLayout.supernodeSVGAreaPadding,x:this.canvasLayout.supernodeSVGAreaPadding,y:this.canvasLayout.supernodeTopAreaHeight,x_pos:e.x_pos+this.canvasLayout.supernodeSVGAreaPadding,y_pos:e.y_pos+this.canvasLayout.supernodeTopAreaHeight}}},{key:"moveSuperBindingNodes",value:function(){var e=this,t=this.zoomUtils.getTransformedViewportDimensions(),n=this.getParentSupernodeDatum();if(this.canvasLayout.linkDirection===$||this.canvasLayout.linkDirection===J){var i=n.width-2*this.canvasLayout.supernodeSVGAreaPadding;this.activePipeline.nodes.forEach((function(o){if(o.isSupernodeInputBinding){var r=e.nodeUtils.getSupernodePortXOffset(o.id,n.inputs);o.x_pos=t.width*(r/i)+t.x-o.outputs[0].cx,o.y_pos=e.canvasLayout.linkDirection===$?t.y-o.height:t.y+t.height}if(o.isSupernodeOutputBinding){var a=e.nodeUtils.getSupernodePortXOffset(o.id,n.outputs);o.x_pos=t.width*(a/i)+t.x-o.inputs[0].cx,o.y_pos=e.canvasLayout.linkDirection===$?o.y_pos=t.y+t.height:o.y_pos=t.y-o.height}}))}else{var o,r;Fe.isExpanded(n)?(o=this.canvasLayout.supernodeTopAreaHeight,r=n.height-(this.canvasLayout.supernodeTopAreaHeight+this.canvasLayout.supernodeSVGAreaPadding)):(o=0,r=n.height),this.activePipeline.nodes.forEach((function(i){if(i.isSupernodeInputBinding){i.x_pos=t.x-i.width;var a=e.nodeUtils.getSupernodePortYOffset(i.id,n.inputs)-o;i.y_pos=t.height*(a/r)+t.y-i.outputs[0].cy}if(i.isSupernodeOutputBinding){i.x_pos=t.x+t.width;var s=e.nodeUtils.getSupernodePortYOffset(i.id,n.outputs)-o;i.y_pos=t.height*(s/r)+t.y-i.inputs[0].cy}}))}}},{key:"displayBoundingRectangles",value:function(){if(this.activePipeline){var e=this.zoomUtils.getViewportDimensions(),t=this.zoomUtils.getTransformedRect(e,1),n=this.zoomUtils.getCanvasDimensions(),i=this.zoomUtils.getCanvasDimensionsWithPadding();this.boundingRectsGrp.selectChildren(".d3-bounding").remove();var o=this.boundingRectsGrp.append("g").attr("class","d3-bounding");o.append("rect").attr("height",e.height).attr("width",e.width).attr("x",0).attr("y",0).style("fill","none").style("stroke","darkorange"),o.append("rect").attr("height",t.height).attr("width",t.width-2).attr("x",t.x).attr("y",t.y).style("fill","none").style("stroke","red"),n&&o.append("rect").attr("height",n.height).attr("width",n.width).attr("x",n.left).attr("y",n.top).style("fill","none").style("stroke","blue"),i&&o.append("rect").attr("height",i.height).attr("width",i.width).attr("x",i.left).attr("y",i.top).style("fill","none").style("stroke","green"),this.config.enableBoundingRectangles&&this.superRenderers.length>0&&this.superRenderers.forEach((function(e){return e.displayBoundingRectangles()}))}}},{key:"selectObjsInRegion",value:function(e){var t=Fe.selectInRegion(e,this.activePipeline,this.config.enableLinkSelection!==ge,this.config.enableLinkType,this.config.enableAssocLinkType);this.canvasController.setSelections(t,this.activePipeline.id)}},{key:"isEditingText",value:function(){if(this.svgCanvasTextArea.isEditingText())return!0;var e=!1;return this.superRenderers.forEach((function(t){e||(e=t.isEditingText())})),e}},{key:"isDragging",value:function(){return this.dragObjectUtils.isMoving()||this.dragNewLinkUtils.isDragging()||this.dragDetLinkUtils.isDragging()}},{key:"isSizing",value:function(){this.dragObjectUtils.isSizing()}},{key:"isMoving",value:function(){this.dragObjectUtils.isMoving()}},{key:"shouldDisplayNodeSizingArea",value:function(e){return!Fe.isSuperBindingNode(e)&&(Fe.isSupernode(e)||this.config.enableResizableNodes)}},{key:"getAllNodeGroupsSelection",value:function(){return this.nodesLinksGrp.selectChildren(".d3-node-group")}},{key:"getAllLinkGroupsSelection",value:function(){return this.nodesLinksGrp.selectChildren(".d3-link-group")}},{key:"getAllCommentGroupsSelection",value:function(){return this.commentsGrp.selectChildren(".d3-comment-group")}},{key:"getNodeGroupSelectionById",value:function(e){var t=this.getSelectorForId("node_grp",e);return this.nodesLinksGrp.selectChildren(t)}},{key:"getLinkGroupSelectionById",value:function(e){var t=this.getSelectorForId("link_grp",e);return this.nodesLinksGrp.selectChildren(t)}},{key:"getCommentGroupSelectionById",value:function(e){var t=this.getSelectorForId("comment_grp",e);return this.commentsGrp.selectChildren(t)}},{key:"getNodeDecSelectionById",value:function(e,t){var n=this.getNodeGroupSelectionById(t),i=this.getSelectorForId("node_dec_group",e);return n.selectAll(i)}},{key:"getLinkDecSelectionById",value:function(e,t){var n=this.getLinkGroupSelectionById(t),i=this.getSelectorForId("link_dec_group",e);return n.selectAll(i)}},{key:"getSelectorForId",value:function(e,t,n){return"[data-id='".concat(this.getId(e,t,n),"']")}},{key:"getId",value:function(e,t,n){var i="".concat(e,"_").concat(this.instanceId);return t&&(i+="_".concat(t)),n&&(i+="_".concat(n)),i}},{key:"getMousePosSnapToGrid",value:function(e){var t=e;return this.config.enableSnapToGridType!==oe&&this.config.enableSnapToGridType!==re||(t=this.snapToGridPosition(t)),t}},{key:"getTransformedMousePos",value:function(e){return this.zoomUtils.transformPos(this.getMousePos(e,this.canvasSVG))}},{key:"getMousePos",value:function(e,t){if(e.sourceEvent||e.pageX){var n=Sl.pointer(e,t.node());return{x:n[0],y:n[1]}}return{x:0,y:0}}},{key:"convertPageCoordsToSnappedCanvasCoords",value:function(e){var t=this.convertPageCoordsToCanvasCoords(e.x,e.y);return t=this.getMousePosSnapToGrid(t)}},{key:"convertPageCoordsToCanvasCoords",value:function(e,t){var n=this.canvasSVG.node().getBoundingClientRect();return this.zoomUtils.transformPos({x:e-Math.round(n.left),y:t-Math.round(n.top)})}},{key:"initializeGhostDiv",value:function(){this.dispUtils.isDisplayingFullPage()&&this.getGhostDivSel().empty()&&this.canvasDiv.append("div").attr("class","d3-ghost-div")}},{key:"getGhostDivSel",value:function(){return this.canvasDiv.selectAll(".d3-ghost-div")}},{key:"getGhostNode",value:function(e){var t=this,n=this.getGhostDivSel(),i=this.zoomUtils.getZoomScale(),o=Math.max(this.nodeLayout.labelWidth,e.width),r=0;n.selectAll(".d3-ghost-svg").remove();var a=n.append("svg").attr("width",o*i).attr("height",(50+e.height)*i).attr("x",0).attr("y",0).attr("class","d3-ghost-svg").append("g").attr("class","d3-node-group");if(a.append("rect").attr("class","d3-ghost-node").attr("x",0).attr("y",0).attr("width",e.width).attr("height",e.height),!this.nodeLayout.nodeExternalObject){var s=this.getNodeImage(e),l=this.getImageType(s);a.append(l).attr("class","d3-node-image").each((function(){t.setNodeImageContent(this,e)})).attr("x",this.nodeUtils.getNodeImagePosX(e)).attr("y",this.nodeUtils.getNodeImagePosY(e)).attr("width",this.nodeUtils.getNodeImageWidth(e)).attr("height",this.nodeUtils.getNodeImageHeight(e));var c=a.append("foreignObject").attr("x",this.nodeUtils.getNodeLabelPosX(e)).attr("y",this.nodeUtils.getNodeLabelPosY(e)).attr("width",this.nodeUtils.getNodeLabelWidth(e)).attr("height",this.nodeUtils.getNodeLabelHeight(e)).attr("class","d3-foreign-object-ghost-label"),u=c.append("xhtml:div").attr("class",this.nodeUtils.getNodeLabelClass(e)),d=u.append("xhtml:span").html(e.label).node().getBoundingClientRect().width+4,h=this.nodeUtils.getNodeLabelWidth(e),p=Math.min(h,d);if(r=Math.max(0,(p-e.width)/2)*i,"center"===e.layout.labelAlign){var g=Math.max(0,(h-p)/2);c.attr("width",p).attr("x",this.nodeUtils.getNodeLabelPosX(e)+g),u.attr("width",p)}}a.attr("transform","translate(".concat(r,", 0) scale(").concat(i,")"));var f=this.getBrowserZoom(),v=(r+e.width/2*i)*f,y=e.height/2*i*f;return{element:n.node(),centerX:v,centerY:y,nodeTemplate:e}}},{key:"getBrowserZoom",value:function(){var e=window.devicePixelRatio;return navigator.userAgent.includes("Chrome")?e=1:navigator.userAgent.includes("Safari")?e=(window.outerWidth-8)/window.innerWidth:navigator.userAgent.includes("Firefox")&&(e=1),e}},{key:"nodeTemplateDragStart",value:function(e){this.isNodeTemplateInsertableIntoLink(e)&&this.setDataLinkSelectionAreaWider(!0)}},{key:"nodeTemplateDragEnd",value:function(e){this.isNodeTemplateInsertableIntoLink(e)&&this.setDataLinkSelectionAreaWider(!1)}},{key:"nodeTemplateDragOver",value:function(e,t,n){if(this.isNodeTemplateInsertableIntoLink(e)){var i=this.getLinkAtMousePos(t,n);i&&!this.isLinkFullyAttached(i)||this.setInsertNodeIntoLinkHighlighting(i)}if(this.isNodeTemplateAttachableToDetachedLinks(e)){var o=this.convertPageCoordsToCanvasCoords(t,n),r={x1:o.x-e.width/2,y1:o.y-e.height/2,x2:o.x+e.width/2,y2:o.y+e.height/2},a=this.canvasController.convertNodeTemplate(e),s=this.getAttachableLinksForNodeAtPos(a,r);this.setDetachedLinkHighlighting(s)}"None"!==this.config.enableCanvasUnderlay&&this.dispUtils.isDisplayingPrimaryFlowFullPage()&&this.setCanvasUnderlaySize(t,n)}},{key:"setInsertNodeIntoLinkHighlighting",value:function(e){e?this.dragOverLink?e.id!==this.dragOverLink.id&&(this.unsetInsertNodeIntoLinkHighlighting(),this.dragOverLink=e,this.setNodeDragOverLinkHighlighting(this.dragOverLink,!0)):(this.dragOverLink=e,this.setNodeDragOverLinkHighlighting(this.dragOverLink,!0)):this.unsetInsertNodeIntoLinkHighlighting()}},{key:"unsetInsertNodeIntoLinkHighlighting",value:function(e){this.dragOverLink&&(this.setNodeDragOverLinkHighlighting(this.dragOverLink,!1),this.dragOverLink=null)}},{key:"setDetachedLinkHighlighting",value:function(e){var t=this;e&&e.length>0?(this.unsetDetachedLinkHighlighting(),this.dragOverDetachedLinks=e,this.dragOverDetachedLinks.forEach((function(e){return t.setNodeDragOverLinkHighlighting(e,!0)}))):this.dragOverDetachedLinks.length>0&&this.unsetDetachedLinkHighlighting()}},{key:"unsetDetachedLinkHighlighting",value:function(){var e=this;this.dragOverDetachedLinks.forEach((function(t){return e.setNodeDragOverLinkHighlighting(t,!1)})),this.dragOverDetachedLinks=[]}},{key:"setNodeDragOverLinkHighlighting",value:function(e,t){this.getLinkGroupSelectionById(e.id).attr("data-drag-node-over",!!t||null)}},{key:"setHighlightingOverNode",value:function(e,t){e?this.dragNewLinkOverNode?t.id!==this.dragNewLinkOverNode.id&&(this.setLinkOverNode(this.dragNewLinkOverNode,!1),this.dragNewLinkOverNode=t,this.setLinkOverNode(this.dragNewLinkOverNode,!0)):(this.dragNewLinkOverNode=t,this.setLinkOverNode(this.dragNewLinkOverNode,!0)):this.dragNewLinkOverNode&&(this.setLinkOverNode(this.dragNewLinkOverNode,!1),this.dragNewLinkOverNode=null)}},{key:"setLinkOverNode",value:function(e,t){e&&this.getNodeGroupSelectionById(e.id).attr("data-new-link-over",t?"yes":"no")}},{key:"setLinkOverNodeCancel",value:function(){this.setLinkOverNode(this.dragNewLinkOverNode,!1),this.dragNewLinkOverNode=null}},{key:"nodeTemplateDropped",value:function(e,t,n){if(null!==e){var i=this.transformMousePosForNode(t,n,e);this.dragOverLink?(this.canvasController.createNodeFromTemplateOnLinkAt(e,this.dragOverLink,i,this.pipelineId),this.unsetInsertNodeIntoLinkHighlighting()):this.dragOverDetachedLinks.length>0?(this.canvasController.createNodeFromTemplateAttachLinks(e,this.dragOverDetachedLinks,i,this.pipelineId),this.unsetDetachedLinkHighlighting()):this.canvasController.createNodeFromTemplateAt(e,i,this.pipelineId)}}},{key:"externalObjectDropped",value:function(e,t,n){if(null!==e){var i=this.transformMousePosForNode(t,n);this.canvasController.createDroppedExternalObject(e,i,this.pipelineId)}}},{key:"transformMousePosForNode",value:function(e,t,n){var i=this.convertPageCoordsToCanvasCoords(e,t);return n&&n.width&&n.height?(i.x-=n.width/2,i.y-=n.height/2):(i.x-=this.nodeLayout.defaultNodeWidth/2,i.y-=this.nodeLayout.defaultNodeHeight/2),this.getMousePosSnapToGrid(i)}},{key:"isNodeTemplateInsertableIntoLink",value:function(e){return this.config.enableInsertNodeDroppedOnLink&&Fe.hasInputAndOutputPorts(e)&&!this.isPortMaxCardinalityZero(e.inputs[0])&&!this.isPortMaxCardinalityZero(e.outputs[0])}},{key:"isNodeTemplateAttachableToDetachedLinks",value:function(e){return this.config.enableLinkSelection===ae}},{key:"getAttachableLinksForNodeAtPos",value:function(e,t){var n=this,i=e.inputs&&e.inputs.length>0,o=e.outputs&&e.outputs.length>0,r=this.activePipeline.links.filter((function(e){return e.srcPos&&o&&Fe.isPosInArea(e.srcPos,t,n.canvasLayout.ghostAreaPadding)?(e.nodeOverSrcPos=!0,!0):e.trgPos&&i&&Fe.isPosInArea(e.trgPos,t,n.canvasLayout.ghostAreaPadding)?(e.nodeOverTrgPos=!0,!0):(e.nodeOverSrcPos=!1,e.nodeOverTrgPos=!1,!1)}));r.length>0&&(r=Fe.getDetachedLinksToUpdate(e,r,this.activePipeline.links).oldLinks);return r}},{key:"isLinkFullyAttached",value:function(e){return!!e&&(void 0!==e.srcNodeId&&void 0!==e.trgNodeId)}},{key:"setMaxZoomExtent",value:function(e){if(this.dispUtils.isDisplayingFullPage())this.zoomUtils.setMaxZoomExtent(e);else{var t=1*Number(e)/this.zoomUtils.getZoomScale();this.supernodeInfo.renderer.setMaxZoomExtent(t)}}},{key:"createCanvasSVG",value:function(){var e=this;this.logger.log("Create Canvas SVG.");var t=this.canvasDiv,n={width:"100%",height:"100%",x:0,y:0};this.dispUtils.isDisplayingSubFlowInPlace()&&(t=this.supernodeInfo.d3Selection,n=this.getParentSupernodeSVGDimensions());var i=t.append("svg").attr("class","svg-area").attr("data-pipeline-id",this.activePipeline.id).attr("width",n.width).attr("height",n.height).attr("x",n.x).attr("y",n.y).on("mouseenter",(function(t,n){e.supernodeInfo.renderer&&e.config.enableZoomIntoSubFlows&&e.supernodeInfo.renderer.setMaxZoomExtent(1/e.zoomUtils.getZoomScale())})).on("mouseleave",(function(t,n){e.supernodeInfo.renderer&&e.config.enableZoomIntoSubFlows&&e.supernodeInfo.renderer.setMaxZoomExtent(1)}));if(i.append("rect").attr("x",0).attr("y",0).attr("width",n.width).attr("height",n.height).attr("data-pipeline-id",this.activePipeline.id).attr("class","d3-svg-background").attr("pointer-events","all").style("cursor","default"),this.dispUtils.isDisplayingFullPage()){var o=i.append("defs");this.createDropShadow(o)}return i}},{key:"resetCanvasSVGBehaviors",value:function(){var e=this;this.canvasSVG.on(".zoom",null),!this.activePipeline.isEmptyOrBindingsOnly()&&this.dispUtils.isDisplayingFullPage()&&this.canvasSVG.call(this.zoomUtils.getZoomHandler()),this.canvasSVG.on("mousedown",(function(t){e.logger.log("Canvas - mousedown"),e.dispUtils.isDisplayingSubFlowInPlace()&&t.button===fe&&t.stopPropagation()})).on("click.zoom",(function(t){e.logger.log("Canvas - click-zoom"),e.canvasController.clickActionHandler({clickType:"contextmenu"===t.type?"SINGLE_CLICK_CONTEXTMENU":"SINGLE_CLICK",objectType:"canvas",selectedObjectIds:e.activePipeline.getSelectedObjectIds()})})).on("dblclick.zoom",(function(){e.logger.log("Zoom - double click"),e.canvasController.clickActionHandler({clickType:"DOUBLE_CLICK",objectType:"canvas",selectedObjectIds:e.activePipeline.getSelectedObjectIds()})})).on("contextmenu.zoom",(function(t,n){e.logger.log("Zoom - context menu"),e.openContextMenu(t,"canvas")}))}},{key:"resetCanvasCursor",value:function(){var e=".d3-svg-background[data-pipeline-id='"+this.activePipeline.id+"']";this.canvasSVG.select(e).style("cursor",this.zoomUtils.isDragActivated()&&this.dispUtils.isDisplayingFullPage()?"grab":"default")}},{key:"createCanvasGroup",value:function(e,t){return e.append("g").attr("class",t)}},{key:"createCanvasUnderlay",value:function(e,t){return"None"!==this.config.enableCanvasUnderlay&&this.dispUtils.isDisplayingPrimaryFlowFullPage()?e.append("rect").attr("class",t):null}},{key:"createBoundingRectanglesGrp",value:function(e,t){return this.config.enableBoundingRectangles?e.append("g").attr("class",t):null}},{key:"setCanvasUnderlaySize",value:function(){var e=this.zoomUtils.getCanvasDimensionsWithPadding();e&&this.canvasUnderlay.attr("x",e.left-50).attr("y",e.top-50).attr("width",e.width+100).attr("height",e.height+100)}},{key:"createDropShadow",value:function(e){var t=e.append("filter").attr("id",this.getId("node_drop_shadow")).attr("x","-20%").attr("y","-20%").attr("width","200%").attr("height","200%");t.append("feOffset").attr("in","SourceAlpha").attr("dx",1).attr("dy",1).attr("result","offOut"),t.append("feGaussianBlur").attr("in","offOut").attr("stdDeviation","3").attr("result","blurOut"),t.append("feBlend").attr("in","SourceGraphic").attr("in2","blurOut").attr("mode","normal"),t.append("feComponentTransfer").append("feFuncA").attr("type","linear").attr("slope","0.2");var n=t.append("feMerge");n.append("feMergeNode"),n.append("feMergeNode").attr("in","SourceGraphic")}},{key:"setCommentEditingMode",value:function(e,t){if(this.pipelineId===t){var n=this.activePipeline.getComment(e);if(n&&this.config.enableEditingActions){var i=this.getCommentGroupSelectionById(e).node();this.displayCommentTextArea(n,i)}}else this.superRenderers.forEach((function(n){n.setCommentEditingMode(e,t)}))}},{key:"setNodeLabelEditingMode",value:function(e,t){if(this.pipelineId===t){var n=this.activePipeline.getNode(e);if(n&&n.layout.labelEditable&&this.config.enableEditingActions){var i=this.getNodeGroupSelectionById(e).node();this.displayNodeLabelTextArea(n,i)}}else this.superRenderers.forEach((function(n){n.setNodeLabelEditingMode(e,t)}))}},{key:"setNodeDecorationLabelEditingMode",value:function(e,t,n){if(this.pipelineId===n){var i=this.activePipeline.getNode(t);if(i&&i.decorations){var o=i.decorations.find((function(t){return t.id===e}));if(o&&void 0!==o.label&&o.label_editable&&this.config.enableEditingActions){var r=this.getNodeDecSelectionById(e,t).node();this.displayDecLabelTextArea(o,i,"node",r)}}}else this.superRenderers.forEach((function(i){i.setLinkDecorationLabelEditingMode(e,t,n)}))}},{key:"setLinkDecorationLabelEditingMode",value:function(e,t,n){if(this.pipelineId===n){var i=this.activePipeline.getLink(t);if(i&&i.decorations){var o=i.decorations.find((function(t){return t.id===e}));if(o&&void 0!==o.label&&o.label_editable&&this.config.enableEditingActions){var r=this.getLinkDecSelectionById(e,t).node();this.displayDecLabelTextArea(o,i,"link",r)}}}else this.superRenderers.forEach((function(i){i.setLinkDecorationLabelEditingMode(e,t,n)}))}},{key:"repositionCommentToolbar",value:function(){if(this.config.enableMarkdownInComments&&this.dispUtils.isDisplayingFullPage()&&this.svgCanvasTextArea.isEditingText()){var e=this.activePipeline.getComment(this.svgCanvasTextArea.getEditingTextId());if(e){var t=this.getCommentToolbarPos(e);this.canvasController.moveTextToolbar(t.x,t.y)}}}},{key:"getCommentToolbarPos",value:function(e){var t=this.zoomUtils.unTransformPos({x:e.x_pos,y:e.y_pos});return{x:t.x+this.canvasLayout.commentToolbarPosX,y:t.y+this.canvasLayout.commentToolbarPosY}}},{key:"snapToGridPosition",value:function(e){return{x:Fe.snapToGrid(e.x,this.canvasLayout.snapToGridXPx),y:Fe.snapToGrid(e.y,this.canvasLayout.snapToGridYPx)}}},{key:"displayNodes",value:function(){this.logger.logStartTimer("displayNodes "+this.getFlags()),this.setPortPositionsAllNodes();var e=this.getAllNodeGroupsSelection();this.displayNodesSubset(e,this.activePipeline.nodes),this.logger.logEndTimer("displayNodes "+this.getFlags())}},{key:"displayMovedNodes",value:function(){var e=this;this.logger.logStartTimer("displayMovedNodes");var t=this.getAllNodeGroupsSelection();t.datum((function(t){return e.activePipeline.getNode(t.id)})).attr("transform",(function(e){return"translate(".concat(e.x_pos,", ").concat(e.y_pos,")")})),this.dispUtils.isDisplayingSubFlow()&&t.each((function(t,n,i){t.isSupernodeInputBinding&&e.updatePortRadiusAndPos(i[n],t,"d3-node-port-output-main"),t.isSupernodeOutputBinding&&(e.updatePortRadiusAndPos(i[n],t,"d3-node-port-input-main"),e.updatePortArrowPath(i[n],"d3-node-port-input-arrow"))})),this.logger.logEndTimer("displayMovedNodes")}},{key:"displayNodesSelectionStatus",value:function(e){var t=this;this.logger.logStartTimer("displayNodesSelectionStatus"),this.getAllNodeGroupsSelection().selectChildren(".d3-node-selection-highlight").attr("data-selected",(function(e){return t.activePipeline.isSelected(e.id)?"yes":"no"})),this.logger.logEndTimer("displayNodesSelectionStatus")}},{key:"displaySingleNode",value:function(e){this.logger.logStartTimer("displaySingleNode "+this.getFlags()),this.setPortPositionsForNode(e);var t=this.getNodeGroupSelectionById(e.id);this.displayNodesSubset(t,[e]),this.logger.logEndTimer("displaySingleNode "+this.getFlags())}},{key:"displayNodesSubset",value:function(e,t){var n=this;e.data(t,(function(e){return e.id})).join((function(e){return n.createNodes(e)}),null,(function(e){return n.removeNodes(e)})).attr("transform",(function(e){return"translate(".concat(e.x_pos,", ").concat(e.y_pos,")")})).attr("class",(function(e){return n.getNodeGroupClass(e)})).attr("style",(function(e){return n.getNodeGrpStyle(e)})).call((function(e){return n.updateNodes(e,t)}))}},{key:"createNodes",value:function(e){var t=this;this.logger.logStartTimer("createNodes");var n=e.append("g").attr("data-id",(function(e){return t.getId("node_grp",e.id)})).call(this.attachNodeGroupListeners.bind(this));return this.logger.logEndTimer("createNodes"),n}},{key:"updateNodes",value:function(e,t){var n=this;this.logger.logStartTimer("updateNodes");var i=e.filter((function(e){return!Fe.isSuperBindingNode(e)}));if(i.selectChildren(".d3-node-sizing").data((function(e){return n.shouldDisplayNodeSizingArea(e)?[e]:[]}),(function(e){return e.id})).join((function(e){return e.append("path").attr("class","d3-node-sizing").call(n.attachNodeSizingListeners.bind(n))})).datum((function(e){return n.activePipeline.getNode(e.id)})).attr("d",(function(e){return n.getNodeShapePathSizing(e)})),i.selectChildren(".d3-node-selection-highlight").data((function(e){return[e]}),(function(e){return e.id})).join((function(e){return e.append("path").attr("class","d3-node-selection-highlight")})).datum((function(e){return n.activePipeline.getNode(e.id)})).attr("d",(function(e){return n.getNodeSelectionOutline(e)})).attr("data-selected",(function(e){return n.activePipeline.isSelected(e.id)?"yes":"no"})).attr("style",(function(e){return n.getNodeSelectionOutlineStyle(e,"default")})),i.selectChildren(".d3-node-body-outline").data((function(e){return e.layout.nodeShapeDisplay?[e]:[]}),(function(e){return e.id})).join((function(e){return e.append("path").attr("class","d3-node-body-outline")})).datum((function(e){return n.activePipeline.getNode(e.id)})).attr("d",(function(e){return n.getNodeShapePath(e)})).attr("style",(function(e){return n.getNodeBodyStyle(e,"default")})),i.selectChildren(".d3-foreign-object-external-node").data((function(e){return e.layout.nodeExternalObject?[e]:[]}),(function(e){return e.id})).join((function(e){return e.append("foreignObject").attr("class","d3-foreign-object-external-node")}),null,(function(e){e.each((function(e,t,i){return n.externalUtils.removeExternalObject(e,t,i)})),e.remove()})).datum((function(e){return n.activePipeline.getNode(e.id)})).attr("width",(function(e){return e.width})).attr("height",(function(e){return e.height})).attr("x",0).attr("y",0).each((function(e,t,i){return n.externalUtils.addNodeExternalObject(e,t,i)})),i.selectChildren(".d3-node-image").data((function(e){return e.layout.imageDisplay?[e]:[]}),(function(e){return e.id})).join((function(e){return e.append((function(e){return n.getImageElement(e)})).attr("class","d3-node-image")})).datum((function(e){return n.activePipeline.getNode(e.id)})).each((function(e,t,i){return n.setNodeImageContent(i[t],e)})).attr("x",(function(e){return n.nodeUtils.getNodeImagePosX(e)})).attr("y",(function(e){return n.nodeUtils.getNodeImagePosY(e)})).attr("width",(function(e){return n.nodeUtils.getNodeImageWidth(e)})).attr("height",(function(e){return n.nodeUtils.getNodeImageHeight(e)})).attr("style",(function(e){return n.getNodeImageStyle(e,"default")})),i.selectChildren(".d3-foreign-object-node-label").data((function(e){return e.layout.labelDisplay?[e]:[]}),(function(e){return e.id})).join((function(e){var t=e.append("foreignObject").attr("class","d3-foreign-object-node-label").call(n.attachNodeLabelListeners.bind(n));return t.append("xhtml:div").append("xhtml:span").call(n.attachNodeLabelSpanListeners.bind(n)),t})).datum((function(e){return n.activePipeline.getNode(e.id)})).attr("x",(function(e){return n.nodeUtils.getNodeLabelPosX(e)})).attr("y",(function(e){return n.nodeUtils.getNodeLabelPosY(e)})).attr("width",(function(e){return n.nodeUtils.getNodeLabelWidth(e)})).attr("height",(function(e){return n.nodeUtils.getNodeLabelHeight(e)})).select("div").attr("class",(function(e){return n.nodeUtils.getNodeLabelClass(e)})).attr("style",(function(e){return n.getNodeLabelStyle(e,"default")})).select("span").html((function(e){return po(e.label)})),i.selectChildren(".d3-node-ellipsis-group").attr("transform",(function(e){return n.nodeUtils.getNodeEllipsisTranslate(e)})),i.selectChildren(".d3-node-super-expand-icon-group").attr("transform",(function(e){return n.nodeUtils.getNodeExpansionIconTranslate(e)})),e.each((function(e,t,i){var o=Sl.select(i[t]);if(n.displayPorts(o,e),Fe.isSupernode(e)&&n.displaySupernodeContents(e,Sl.select(i[t])),!Fe.isSuperBindingNode(e)){n.addErrorMarker(e,o);var r=Fe.getCombinedDecorations(e.layout.decorations,e.decorations);n.displayDecorations(e,ve,o,r)}})),this.config.enableEditingActions){var o=this.dragObjectUtils.getDragObjectHandler();i.call(o)}else i.on(".drag",null);this.logger.logEndTimer("updateNodes")}},{key:"removeNodes",value:function(e){var t=this;e.selectChildren(".d3-foreign-object-external-node").each((function(e,n,i){return t.externalUtils.removeExternalObject(e,n,i)})),e.remove()}},{key:"displaySupernodeContents",value:function(e,t){var n=this.getRendererForSupernode(e);Fe.isExpanded(e)?n?n.setCanvasInfoRenderer(this.canvasInfo,this.selectionInfo,this.breadcrumbs,this.nodeLayout,this.canvasLayout,this.config):(n=this.createSupernodeRenderer(e,t),this.superRenderers.push(n)):n&&n.hideCanvas(e)}},{key:"displayPorts",value:function(e,t){this.displayInputPorts(e,t),this.displayOutputPorts(e,t)}},{key:"displayInputPorts",value:function(e,t){var n=this,i="."+this.getNodeInputPortClassName(),o=t.inputs||[];o=t.layout.inputPortDisplay?o:[],e.selectChildren(i).data(o,(function(e){return e.id})).join((function(e){return n.createInputPorts(e,t)})).attr("connected",(function(e){return e.isConnected?"yes":"no"})).attr("class",(function(e){return n.getNodeInputPortClassName()+(e.class_name?" "+e.class_name:"")})).call((function(e){return n.updateInputPorts(e,t)}))}},{key:"createInputPorts",value:function(e,t){var n=e.append("g").attr("data-port-id",(function(e){return e.id})).attr("isSupernodeBinding",Fe.isSuperBindingNode(t)?"yes":"no").call(this.attachInputPortListeners.bind(this),t);return n.append(t.layout.inputPortObject).attr("class","d3-node-port-input-main"),this.config.enableAssocLinkCreation||"circle"!==t.layout.inputPortObject||Fe.isSuperBindingNode(t)||n.append("path").attr("class","d3-node-port-input-arrow"),n}},{key:"updateInputPorts",value:function(e,t){var n=this;if(e.selectChildren(".d3-node-port-input-main").datum((function(e){return t.inputs.find((function(t){return e.id===t.id}))})).each((function(e,i,o){var r=Sl.select(o[i]);t.layout.inputPortObject===le?r.attr("xlink:href",t.layout.inputPortImage).attr("x",e.cx-t.layout.inputPortWidth/2).attr("y",e.cy-t.layout.inputPortHeight/2).attr("width",t.layout.inputPortWidth).attr("height",t.layout.inputPortHeight):r.attr("r",n.getPortRadius(t)).attr("cx",e.cx).attr("cy",e.cy)})),e.selectChildren(".d3-node-port-input-arrow").datum((function(e){return t.inputs.find((function(t){return e.id===t.id}))})).each((function(e,i,o){var r=Sl.select(o[i]);t.layout.inputPortObject!==le&&r.attr("d",n.getPortArrowPath(e)).attr("transform",n.getPortArrowPathTransform(e))})),this.config.enableEditingActions){var i=this.dragNewLinkUtils.getDragNewLinkHandler();e.call(i)}else e.on(".drag",null)}},{key:"displayOutputPorts",value:function(e,t){var n=this,i="."+this.getNodeOutputPortClassName(),o=t.outputs||[];o=t.layout.outputPortDisplay?o:[],o=this.config.enableSingleOutputPortDisplay&&o.length>1?[o[o.length-1]]:o,e.selectChildren(i).data(o,(function(e){return e.id})).join((function(e){return n.createOutputPorts(e,t)})).attr("connected",(function(e){return e.isConnected?"yes":"no"})).attr("class",(function(e){return n.getNodeOutputPortClassName()+(e.class_name?" "+e.class_name:"")})).call((function(e){return n.updateOutputPorts(e,t)}))}},{key:"createOutputPorts",value:function(e,t){var n=e.append("g").attr("data-port-id",(function(e){return e.id})).attr("isSupernodeBinding",Fe.isSuperBindingNode(t)?"yes":"no").call(this.attachOutputPortListeners.bind(this),t);return n.append(t.layout.outputPortObject).attr("class","d3-node-port-output-main"),n}},{key:"updateOutputPorts",value:function(e,t){var n=this;if(e.selectChildren(".d3-node-port-output-main").datum((function(e){return t.outputs.find((function(t){return e.id===t.id}))})).each((function(e,i,o){var r=Sl.select(o[i]);t.layout.outputPortObject===le?r.attr("xlink:href",t.layout.outputPortImage).attr("x",e.cx-t.layout.outputPortWidth/2).attr("y",e.cy-t.layout.outputPortHeight/2).attr("width",t.layout.outputPortWidth).attr("height",t.layout.outputPortHeight):r.attr("r",n.getPortRadius(t)).attr("cx",e.cx).attr("cy",e.cy)})),this.config.enableEditingActions){var i=this.dragNewLinkUtils.getDragNewLinkHandler();e.call(i)}else e.on(".drag",null)}},{key:"attachNodeGroupListeners",value:function(e){var t=this;e.on("mouseenter",(function(e,n){if(!t.isDragging()){var i=Sl.select(e.currentTarget);t.raiseNodeToTop(i),t.setNodeStyles(n,"hover",i),t.config.enableContextToolbar?t.addContextToolbar(e,n,"node"):t.addDynamicNodeIcons(e,n,i),t.canOpenTip(O)&&(t.canvasController.closeTip(),t.canvasController.openTip({id:t.getId("node_tip",n.id),type:O,targetObj:e.currentTarget,pipelineId:t.activePipeline.id,node:n}))}})).on("mouseleave",(function(e,n){var i=Sl.select(e.currentTarget);t.setNodeStyles(n,"default",i),t.config.enableContextToolbar?t.removeContextToolbar():t.removeDynamicNodeIcons(e,n,i),t.canvasController.closeTip()})).on("mousedown",(function(e,n){t.logger.logStartTimer("Node Group - mouse down"),e.stopPropagation(),t.svgCanvasTextArea.isEditingText()&&t.svgCanvasTextArea.completeEditing(),t.config.enableDragWithoutSelect||t.selectObjectD3Event(e,n,"node"),t.logger.logEndTimer("Node Group - mouse down")})).on("mousemove",(function(e,t){})).on("click",(function(e,n){t.logger.log("Node Group - click"),e.stopPropagation()})).on("dblclick",(function(e,n){t.logger.log("Node Group - double click"),Fe.stopPropagationAndPreventDefault(e),t.canvasController.clickActionHandler({clickType:"DOUBLE_CLICK",objectType:"node",id:n.id,selectedObjectIds:t.activePipeline.getSelectedObjectIds(),pipelineId:t.activePipeline.id})})).on("contextmenu",(function(e,n){t.logger.log("Node Group - context menu"),Fe.stopPropagationAndPreventDefault(e),Fe.isSuperBindingNode(n)||(t.config.enableDragWithoutSelect&&t.selectObjectD3Event(e,n,"node"),t.openContextMenu(e,"node",n))}))}},{key:"attachNodeSizingListeners",value:function(e){var t=this;e.on("mousedown",(function(e,n){t.dragObjectUtils.mouseDownNodeSizingArea(n)})).on("mousemove mouseenter",(function(e,n){t.dragObjectUtils.mouseEnterNodeSizingArea(e,n)})).on("mouseleave",(function(e,n){t.dragObjectUtils.mouseLeaveNodeSizingArea(e,n)}))}},{key:"attachNodeLabelListeners",value:function(e){var t=this;e.on("mouseenter",(function(e,n){var i=Sl.select(e.currentTarget);if(t.config.enableDisplayFullLabelOnHover&&!Fe.isExpandedSupernode(n)){var o=i.selectAll("span");i.attr("x",t.nodeUtils.getNodeLabelHoverPosX(n)).attr("width",t.nodeUtils.getNodeLabelHoverWidth(n)).attr("height",t.nodeUtils.getNodeLabelHoverHeight(n,o.node(),t.zoomUtils.getZoomScale())),o.classed("d3-label-full",!0)}})).on("mouseleave",(function(e,n){var i=Sl.select(e.currentTarget);t.config.enableDisplayFullLabelOnHover&&!Fe.isExpandedSupernode(n)&&(i.attr("x",t.nodeUtils.getNodeLabelPosX(n)).attr("width",t.nodeUtils.getNodeLabelWidth(n)).attr("height",t.nodeUtils.getNodeLabelHeight(n)),i.selectAll("span").classed("d3-label-full",!1))})).on("dblclick",(function(e,n){t.logger.log("Node Label - double click"),n.layout.labelEditable&&t.config.enableEditingActions&&(Fe.stopPropagationAndPreventDefault(e),t.displayNodeLabelTextArea(n,e.currentTarget.parentNode))}))}},{key:"attachNodeLabelSpanListeners",value:function(e){var t=this;e.on("mouseenter",(function(e,n){n.layout.labelEditable&&t.config.enableEditingActions&&t.displayNodeLabelEditIcon(e.currentTarget,n)})).on("mouseleave",(function(e,n){n.layout.labelEditable&&t.config.enableEditingActions&&(t.hideEditIconPending=setTimeout(t.hideEditIcon.bind(t),500,e.currentTarget,n))}))}},{key:"attachInputPortListeners",value:function(e,t){var n=this;e.on("mouseenter",(function(e,i){Fe.stopPropagationAndPreventDefault(e),n.canOpenTip(I)&&(n.canvasController.closeTip(),n.canvasController.openTip({id:n.getId("node_port_tip",i.id),type:I,targetObj:e.currentTarget,pipelineId:n.activePipeline.id,node:t,port:i}))})).on("mouseleave",(function(){n.canvasController.closeTip()})).on("contextmenu",(function(e,i){n.logger.log("Input Port Circle - context menu"),Fe.stopPropagationAndPreventDefault(e),n.config.enableDragWithoutSelect&&n.selectObjectD3Event(e,t,"node"),n.openContextMenu(e,"input_port",t,i)}))}},{key:"attachOutputPortListeners",value:function(e,t){var n=this;e.on("mouseenter",(function(e,i){Fe.stopPropagationAndPreventDefault(e),n.canOpenTip(I)&&(n.canvasController.closeTip(),n.canvasController.openTip({id:n.getId("node_port_tip",i.id),type:I,targetObj:e.currentTarget,pipelineId:n.activePipeline.id,node:t,port:i}))})).on("mouseleave",(function(){n.canvasController.closeTip()})).on("contextmenu",(function(e,i){n.logger.log("Output Port Circle - context menu"),Fe.stopPropagationAndPreventDefault(e),n.config.enableDragWithoutSelect&&n.selectObjectD3Event(e,t,"node"),n.openContextMenu(e,"output_port",t,i)}))}},{key:"setUnavailableTargetNodesHighlighting",value:function(e,t,n){this.getAllNodeGroupsSelection().filter((function(i){return!Fe.isTrgNodeAvailable(i,e,t,n)})).classed("d3-node-unavailable",!0)}},{key:"setUnavailableSourceNodesHighlighting",value:function(e,t,n){this.getAllNodeGroupsSelection().filter((function(i){return!Fe.isSrcNodeAvailable(i,e,t,n)})).classed("d3-node-unavailable",!0)}},{key:"unsetUnavailableNodesHighlighting",value:function(){this.getAllNodeGroupsSelection().classed("d3-node-unavailable",!1)}},{key:"displayNodeLabelEditIcon",value:function(e,t){var n=this,i=e.parentElement.parentElement.parentElement,o=Sl.select(i),r=this.nodeUtils.getNodeLabelEditIconTranslate(t,e,this.zoomUtils.getZoomScale(),this.config.enableDisplayFullLabelOnHover);this.displayEditIcon(e,o,r,(function(e,t){return n.displayNodeLabelTextArea(t,e.currentTarget.parentNode)}))}},{key:"displayDecLabelEditIcon",value:function(e,t,n,i){var o=this,r=e.parentElement.parentElement.parentElement,a=Sl.select(r),s=this.decUtils.getDecLabelEditIconTranslate(t,n,i,e,this.zoomUtils.getZoomScale());this.displayEditIcon(e,a,s,(function(e,r){return o.displayDecLabelTextArea(t,n,i,e.currentTarget.parentNode)}))}},{key:"displayEditIcon",value:function(e,t,n,i){var o=this,r=t.append("g").attr("class","d3-label-edit-icon-group").attr("transform",n).on("mouseenter",(function(e,t){o.mouseOverLabelEditIcon=!0})).on("mouseleave",(function(e,t){o.mouseOverLabelEditIcon=!1,o.hideEditIcon(this)})).on("click",(function(e,t){i(e,t),o.mouseOverLabelEditIcon=!1,o.hideEditIcon(this)}));r.append("rect").attr("class","d3-label-edit-icon-background1").attr("width",29).attr("height",24).attr("x",0).attr("y",-4),r.append("rect").attr("class","d3-label-edit-icon-background2").attr("width",24).attr("height",24).attr("x",5).attr("y",-4),r.append("svg").attr("class","d3-node-edit-label-icon").html(ye).attr("width",16).attr("height",16).attr("x",9).attr("y",0)}},{key:"hideEditIcon",value:function(e){if(!this.mouseOverLabelEditIcon){var t=e.parentElement.parentElement.parentElement;Sl.select(t).selectAll(".d3-label-edit-icon-group").remove()}}},{key:"selectObjectD3Event",value:function(e,t,n){this.selectObject(t,e.type,e.shiftKey,Fe.isCmndCtrlPressed(e)),this.recreateContextToolbar(e,t,n)}},{key:"selectObjectSourceEvent",value:function(e,t){this.selectObject(t,e.type,e.sourceEvent.shiftKey,Fe.isCmndCtrlPressed(e.sourceEvent))}},{key:"selectObject",value:function(e,t,n,i){this.canvasController.selectObject(e.id,n,i,this.activePipeline.id);var o=this.activePipeline.getObjectTypeName(e);"node"!==o&&"link"!==o||(this.canvasController.clickActionHandler({clickType:"contextmenu"===t||this.ellipsisClicked?"SINGLE_CLICK_CONTEXTMENU":"SINGLE_CLICK",objectType:o,id:e.id,selectedObjectIds:this.activePipeline.getSelectedObjectIds(),pipelineId:this.activePipeline.id}),this.ellipsisClicked=!1)}},{key:"displayDecorations",value:function(e,t,n,i){var o=this,r=this,a=i||[],s="d3-".concat(t,"-dec-group"),l="."+s;n.selectChildren(l).data(a,(function(e){return e.id})).join((function(e){return o.createDecorations(e,t,s)})).attr("transform",(function(n){return o.decUtils.getDecTransform(n,e,t)})).on("mousedown",(function(t,n){return n.hotspot&&0===t.button?r.callDecoratorCallback(t,e,n):null})).each((function(n,i,r){return o.updateDecoration(n,Sl.select(r[i]),t,e)}))}},{key:"createDecorations",value:function(e,t,n){var i=this;return e.append("g").attr("data-id",(function(e){return i.getId("".concat(t,"_dec_group"),e.id)})).attr("class",n).call(this.attachDecGroupListeners.bind(this))}},{key:"updateDecoration",value:function(e,t,n,i){this.updateDecOutlines(e,t,n,i),this.updateDecPaths(e,t,n),this.updateDecImages(e,t,n,i),this.updateDecLabels(e,t,n,i),this.updateDecJsxObjs(e,t,n,i)}},{key:"updateDecOutlines",value:function(e,t,n,i){var o=t.selectChild("rect");e.label||e.path||e.jsx||!1===e.outline?o.remove():(o=o.empty()?t.append("rect"):o).attr("class",this.decUtils.getDecClass(e,"d3-".concat(n,"-dec-outline"))).attr("x",0).attr("y",0).attr("width",this.decUtils.getDecWidth(e,i,n)).attr("height",this.decUtils.getDecHeight(e,i,n)).lower()}},{key:"updateDecPaths",value:function(e,t,n){var i=t.selectChild("path");e.path?(i=i.empty()?t.append("path"):i).attr("class",this.decUtils.getDecClass(e,"d3-".concat(n,"-dec-path"))).attr("x",0).attr("y",0).attr("d",e.path):i.remove()}},{key:"updateDecImages",value:function(e,t,n,i){var o=this,r=t.selectChild("g");if(e.image){var a=this.getImageType(e.image);(r=r.empty()?t.append("g").append(a):r.select(a)).attr("class",this.decUtils.getDecClass(e,"d3-".concat(n,"-dec-image"))).attr("x",this.decUtils.getDecPadding(e,i,n)).attr("y",this.decUtils.getDecPadding(e,i,n)).attr("width",this.decUtils.getDecWidth(e,i,n)-2*this.decUtils.getDecPadding(e,i,n)).attr("height",this.decUtils.getDecHeight(e,i,n)-2*this.decUtils.getDecPadding(e,i,n)).each((function(){return o.setImageContent(r,e.image)}))}else r.remove()}},{key:"updateDecLabels",value:function(e,t,n,i){var o=t.selectChild(".d3-foreign-object-dec-label");e.label?(o.empty()&&(o=t.append("foreignObject").attr("class","d3-foreign-object-dec-label").attr("x",0).attr("y",0).call(this.attachDecLabelListeners.bind(this,i,n))).append("xhtml:div").append("xhtml:span").call(this.attachDecLabelSpanListeners.bind(this,i,n)),o.attr("width",this.decUtils.getDecLabelWidth(e,i,n)).attr("height",this.decUtils.getDecLabelHeight(e,i,n)).select("div").attr("class",this.decUtils.getDecLabelClass(e,n)).select("span").html(po(e.label))):o.remove()}},{key:"updateDecJsxObjs",value:function(e,t,n,i){var o=this,r=t.selectChild(".d3-foreign-object-dec-jsx");e.jsx?(r.empty()&&(r=t.append("foreignObject").attr("class","d3-foreign-object-dec-jsx").attr("tabindex",-1).attr("x",0).attr("y",0).call(this.attachDecLabelListeners.bind(this,i,n))),r.attr("width",this.decUtils.getDecWidth(e,i,n)).attr("height",this.decUtils.getDecHeight(e,i,n)).each((function(e,t,n){return o.externalUtils.addDecExternalObject(e,t,n)}))):(r.each((function(e,t,n){return o.externalUtils.removeExternalObject(e,t,n)})),r.remove())}},{key:"attachDecLabelListeners",value:function(e,t,n){var i=this;n.on("dblclick",(function(n,o){i.logger.log("Decoration Label - double click"),o.label_editable&&i.config.enableEditingActions&&(Fe.stopPropagationAndPreventDefault(n),i.displayDecLabelTextArea(o,e,t,n.currentTarget.parentNode))}))}},{key:"attachDecLabelSpanListeners",value:function(e,t,n){var i=this;n.on("mouseenter",(function(n,o){o.label_editable&&i.config.enableEditingActions&&i.displayDecLabelEditIcon(n.currentTarget,o,e,t)})).on("mouseleave",(function(e,t){t.label_editable&&i.config.enableEditingActions&&(i.hideEditIconPending=setTimeout(i.hideEditIcon.bind(i),500,e.currentTarget,t))}))}},{key:"attachDecGroupListeners",value:function(e){var t=this;e.on("mouseenter",(function(e,n){t.canOpenTip(E)&&(t.canvasController.closeTip(),t.canvasController.openTip({id:t.getId("dec_tip",n.id),type:E,targetObj:e.currentTarget,pipelineId:t.activePipeline.id,decoration:n}))})).on("mouseleave",(function(e,n){t.canvasController.closeTip()}))}},{key:"addErrorMarker",value:function(e,t){var n=this,i=t.selectChildren(".node-error-marker");e.messages&&e.messages.length>0?(i.empty()&&t.append("svg").attr("class","node-error-marker"),t.selectChildren(".node-error-marker").attr("class",(function(){return"node-error-marker "+n.nodeUtils.getErrorMarkerClass(e.messages)})).html(this.nodeUtils.getErrorMarkerIcon(e)).attr("width",this.nodeUtils.getNodeErrorWidth(e)).attr("height",this.nodeUtils.getNodeErrorHeight(e)).attr("x",this.nodeUtils.getNodeErrorPosX(e)).attr("y",this.nodeUtils.getNodeErrorPosY(e))):i.empty()||i.remove()}},{key:"getNodeInputPortClassName",value:function(){return this.config.enableAssocLinkCreation?"d3-node-port-input-assoc":"d3-node-port-input"}},{key:"getNodeOutputPortClassName",value:function(){return this.config.enableAssocLinkCreation?"d3-node-port-output-assoc":"d3-node-port-output"}},{key:"setNodeImageContent",value:function(e,t){var n=this.getNodeImage(t),i=Sl.select(e);this.setImageContent(i,n)}},{key:"setImageContent",value:function(e,t){if(t!==e.attr("data-image")){var n=this.getImageType(t);e.attr("data-image",t),"svg"===n?"LoadSVGToDefs"===this.config.enableImageDisplay?this.loadSVGToDefs(e,t):(e.selectChild("svg").remove(),Sl.svg(t,{cache:"force-cache"}).then((function(t){e.node().append(t.documentElement)}))):e.attr("xlink:href",t)}}},{key:"loadSVGToDefs",value:function(e,t){var n=this,i="img"+t.replaceAll(/[/.]/g,"-"),o="#"+i;this.canvasDefs.selectChildren(o).empty()&&(this.canvasDefs.append("symbol").attr("id",i),Sl.svg(t,{cache:"force-cache"}).then((function(e){n.canvasDefs.selectChildren(o).node().append(e.documentElement)}))),e.selectChild("use").remove(),e.append("use").attr("href",o)}},{key:"getNodeImage",value:function(e){if(!e.image)return null;if(e.image===x){if(Fe.isSupernode(e))return Nt}else if(e.image===P&&Fe.isSupernode(e))return Tt;return e.image}},{key:"getImageType",value:function(e){return e&&e.endsWith(".svg")&&"SVGAsImage"!==this.config.enableImageDisplay?"svg":"image"}},{key:"getImageElement",value:function(e){var t=this.getNodeImage(e);return"image"===this.getImageType(t)?Sl.create("svg:image").node():Sl.create("svg").node()}},{key:"setNodeStyles",value:function(e,t,n){this.setNodeBodyStyles(e,t,n),this.setNodeSelectionOutlineStyles(e,t,n),this.setNodeImageStyles(e,t,n),this.setNodeLabelStyles(e,t,n)}},{key:"setNodeBodyStyles",value:function(e,t,n){var i=this.getNodeBodyStyle(e,t);n.selectChildren(".d3-node-body-outline").attr("style",i)}},{key:"setNodeSelectionOutlineStyles",value:function(e,t,n){var i=this.getNodeSelectionOutlineStyle(e,t);n.selectChildren(".d3-node-selection-highlight").attr("style",i)}},{key:"setNodeImageStyles",value:function(e,t,n){var i=this.getNodeImageStyle(e,t);n.selectChildren(".d3-node-image").attr("style",i)}},{key:"setNodeLabelStyles",value:function(e,t,n){var i=this.getNodeLabelStyle(e,t);n.selectChildren(".d3-node-label").attr("style",i)}},{key:"getNodeBodyStyle",value:function(e,t){var n=Fe.getObjectStyle(e,"body",t);return null===n&&e.layout.dropShadow&&(n="filter:url(".concat(this.getId("#node_drop_shadow"),")")),n}},{key:"getNodeSelectionOutlineStyle",value:function(e,t){return Fe.getObjectStyle(e,"selection_outline",t)}},{key:"getNodeImageStyle",value:function(e,t){return Fe.getObjectStyle(e,"image",t)}},{key:"getNodeLabelStyle",value:function(e,t){return Fe.getObjectStyle(e,"label",t)}},{key:"getNodeGrpStyle",value:function(e){return e.style_temp||e.style||!this.canvasInfo.subdueStyle||this.doesExpandedSupernodeHaveStyledNodes(e)?null:this.canvasInfo.subdueStyle}},{key:"getLinkGrpStyle",value:function(e){return e.style_temp||e.style||!this.canvasInfo.subdueStyle?null:this.canvasInfo.subdueStyle}},{key:"doesExpandedSupernodeHaveStyledNodes",value:function(e){var t=this,n=!1;Fe.isExpandedSupernode(e)&&e.subflow_ref&&e.subflow_ref.pipeline_id_ref&&new wl(e.subflow_ref.pipeline_id_ref,this.canvasInfo).nodes.forEach((function(e){e.style||e.style_temp?n=!0:!n&&Fe.isExpandedSupernode(e)&&(n=t.doesExpandedSupernodeHaveStyledNodes(e))}));return n}},{key:"getPortRadius",value:function(e){return Fe.isSuperBindingNode(e)?this.getBindingPortRadius():e.layout.portRadius}},{key:"getBindingPortRadius",value:function(){return this.canvasLayout.supernodeBindingPortRadius/this.zoomUtils.getZoomScale()}},{key:"addDynamicNodeIcons",value:function(e,t,n){this.isSizing()||Fe.isSuperBindingNode(t)||(t.layout.ellipsisDisplay&&this.addEllipsisIcon(t,n),Fe.isExpandedSupernode(t)&&this.addSuperNodeFullPageIcon(n))}},{key:"getContextToolbarPos",value:function(e,t){return"link"===e?t.pathInfo.centerPoint:"node"!==e||"topCenter"!==t.layout.contextToolbarPosition||t.is_expanded?{x:t.x_pos+t.width,y:t.y_pos}:{x:t.x_pos+t.width/2,y:t.y_pos}}},{key:"addContextToolbar",value:function(e,t,n){if(!(this.isSizing()||this.isDragging()||this.svgCanvasTextArea.isEditingText()||Fe.isSuperBindingNode(t))){this.canvasController.setMouseInObject(!0);var i=this.getContextToolbarPos(n,t);i=this.zoomUtils.unTransformPos(i),this.openContextMenu(e,n,t,null,i)}}},{key:"removeContextToolbar",value:function(){var e=this;this.canvasController.setMouseInObject(!1),this.canvasController.isContextMenuDisplayed()&&setTimeout((function(){return e.canvasController.closeContextToolbar()}),200)}},{key:"recreateContextToolbar",value:function(e,t,n){this.config.enableContextToolbar&&(this.removeContextToolbar(),this.addContextToolbar(e,t,n))}},{key:"addEllipsisIcon",value:function(e,t){var n=this,i=t.append("g").attr("class","d3-node-ellipsis-group").attr("transform",(function(e){return n.nodeUtils.getNodeEllipsisTranslate(e)})).on("mousedown",(function(t){if(Fe.stopPropagationAndPreventDefault(t),n.ellipsisClicked=!0,n.selectObjectD3Event(t,e,"node"),n.canvasController.isContextMenuDisplayed())n.canvasController.closeContextMenu();else{var o=i.node().getBoundingClientRect(),r=n.canvasSVG.node().getBoundingClientRect(),a={x:o.left-r.left,y:o.bottom-r.top};n.openContextMenu(t,"node",e,null,a)}}));i.append("rect").attr("class","d3-node-ellipsis-background").attr("width",(function(e){return n.nodeUtils.getNodeEllipsisWidth(e)})).attr("height",(function(e){return n.nodeUtils.getNodeEllipsisHeight(e)})).attr("x",0).attr("y",0),i.append("svg").attr("class","d3-node-ellipsis").html(me).attr("width",(function(e){return n.nodeUtils.getNodeEllipsisIconWidth(e)})).attr("height",(function(e){return n.nodeUtils.getNodeEllipsisIconHeight(e)})).attr("x",(function(e){return e.layout.ellipsisHoverAreaPadding})).attr("y",(function(e){return e.layout.ellipsisHoverAreaPadding}))}},{key:"addSuperNodeFullPageIcon",value:function(e){var t=this,n=e.append("g").attr("transform",(function(e){return t.nodeUtils.getNodeExpansionIconTranslate(e)})).attr("class","d3-node-super-expand-icon-group").on("mousedown",(function(e){Fe.stopPropagationAndPreventDefault(e);var n=t.getSupernodeBreadcrumbs(e.currentTarget);t.canvasController.displaySubPipelineForBreadcrumbs(n)})).on("mouseenter",(function(){Sl.select(this).attr("data-pointer-hover","yes")})).on("mouseleave",(function(){Sl.select(this).attr("data-pointer-hover","no")}));n.append("rect").attr("class","d3-node-super-expand-icon-background").attr("width",this.canvasLayout.supernodeExpansionIconWidth).attr("height",this.canvasLayout.supernodeExpansionIconHeight).attr("x",0).attr("y",0),n.append("svg").attr("class","d3-node-super-expand-icon").html(be).attr("width",this.canvasLayout.supernodeExpansionIconWidth-2*this.canvasLayout.supernodeExpansionIconHoverAreaPadding).attr("height",this.canvasLayout.supernodeExpansionIconHeight-2*this.canvasLayout.supernodeExpansionIconHoverAreaPadding).attr("x",this.canvasLayout.supernodeExpansionIconHoverAreaPadding).attr("y",this.canvasLayout.supernodeExpansionIconHoverAreaPadding)}},{key:"getSupernodeBreadcrumbs",value:function(e){for(var t=[],n=e.closest(".d3-node-group");n;){var i=n.closest(".svg-area"),o=this.getD3DatumFromDomEl(n),r=i.getAttribute("data-pipeline-id");t.push(this.canvasController.createBreadcrumb(o,r)),n=i.closest(".d3-node-group")}return t.reverse()}},{key:"getD3DatumFromDomEl",value:function(e){var t=Sl.select(e);return t?t.datum():null}},{key:"updatePortRadiusAndPos",value:function(e,t,n){var i=this;Sl.select(e).selectAll("."+n).attr("r",(function(){return i.getPortRadius(t)})).attr("cx",(function(e){return e.cx})).attr("cy",(function(e){return e.cy}))}},{key:"updatePortArrowPath",value:function(e,t){var n=this;Sl.select(e).selectAll("."+t).attr("d",(function(e){return n.getPortArrowPath(e)})).attr("transform",(function(e){return n.getPortArrowPathTransform(e)}))}},{key:"isPortMaxCardinalityZero",value:function(e){return 0===h(e,"app_data.ui_data.cardinality.max",1)}},{key:"isMouseOverContextToolbar",value:function(e){return this.getElementWithClassAtMousePos(e,"context-toolbar")}},{key:"removeDynamicNodeIcons",value:function(e,t,n){t.layout.ellipsisDisplay&&n.selectChildren(".d3-node-ellipsis-group").remove(),n.selectChildren(".d3-node-super-expand-icon-group").remove()}},{key:"createSupernodeRenderer",value:function(e,t){return e.subflow_ref&&e.subflow_ref.pipeline_id_ref?new n(e.subflow_ref.pipeline_id_ref,this.canvasDiv,this.canvasController,this.canvasInfo,this.selectionInfo,this.breadcrumbs,this.nodeLayout,this.canvasLayout,this.config,{id:e.id,pipelineId:this.activePipeline.id,renderer:this,d3Selection:t}):null}},{key:"getRendererForSupernode",value:function(e){return this.superRenderers.find((function(t){return t.supernodeInfo.id===e.id&&t.activePipeline.id===e.subflow_ref.pipeline_id_ref}))}},{key:"getDiscardedRenderersForSupernode",value:function(e){return this.superRenderers.filter((function(t){return t.supernodeInfo.id===e.id&&t.activePipeline.id!==e.subflow_ref.pipeline_id_ref}))}},{key:"openContextMenu",value:function(e,t,n,i,o){Fe.stopPropagationAndPreventDefault(e),this.canvasController.contextMenuHandler({type:t,targetObject:"canvas"===t?null:n,id:"canvas"===t?null:n.id,pipelineId:this.activePipeline.id,cmPos:o||this.getMousePos(e,this.canvasDiv.selectAll("svg")),mousePos:this.getMousePosSnapToGrid(this.getTransformedMousePos(e)),selectedObjectIds:this.canvasController.getSelectedObjectIds(),addBreadcrumbs:n&&n.type===ke?this.getSupernodeBreadcrumbs(e.currentTarget):null,port:i,zoom:this.zoomUtils.getZoomScale()})}},{key:"closeContextMenuIfOpen",value:function(){this.canvasController.isContextMenuDisplayed()&&this.canvasController.closeContextMenu(),this.config.enableContextToolbar&&this.removeContextToolbar()}},{key:"callDecoratorCallback",value:function(e,t,n){e.stopPropagation(),this.canvasController.decorationActionHandler&&this.canvasController.decorationActionHandler(t,n.id,this.activePipeline.id)}},{key:"getLinkImageTransform",value:function(e){var t=0;if(this.canvasLayout.linkType===X){var n=e.x2-(e.originX||e.x1),i=e.y2-(e.originY||e.y1);return 0===n&&0===i?t=0:(t=Math.atan(i/n)*(180/Math.PI),t=n>=0?t:t+180,this.canvasLayout.linkDirection===$?t-=90:this.canvasLayout.linkDirection===J&&(t+=90)),"rotate(".concat(t,",").concat(e.x2,",").concat(e.y2,")")}return null}},{key:"getLinkAtMousePos",value:function(e,t){var n=this.getElementWithClassAtPosition(e,t,"d3-data-link");return this.getNodeLinkForElement(n)}},{key:"getNodeLinkForElement",value:function(e){if(e){var t=Sl.select(e).datum();if(t){var n=this.activePipeline.getLink(t.id);if(n&&n.type===U)return n}}return null}},{key:"setDataLinkSelectionAreaWider",value:function(e){this.nodesLinksGrp.selectAll(".d3-data-link-selection-area").classed("d3-extra-width",e)}},{key:"getNodeAtMousePos",value:function(e){var t=this.getElementWithClassAtMousePos(e,"d3-node-group");return this.getNodeForElement(t)}},{key:"getInputNodePortId",value:function(e,t){var n=this.getInputNodePortIdAtMousePos(e);return n||(n=Fe.getDefaultInputPortId(t)),n}},{key:"getInputNodePortIdAtMousePos",value:function(e){var t=this.getElementWithClassAtMousePos(e,this.getNodeInputPortClassName());return this.getNodePortIdForElement(t)}},{key:"getOutputNodePortId",value:function(e,t){var n=this.getOutputNodePortIdAtMousePos(e);return n||(n=Fe.getDefaultOutputPortId(t)),n}},{key:"getOutputNodePortIdAtMousePos",value:function(e){var t=this.getElementWithClassAtMousePos(e,this.getNodeOutputPortClassName());return this.getNodePortIdForElement(t)}},{key:"getElementWithClassAtMousePos",value:function(e,t){var n=e.clientX?e.clientX:e.sourceEvent.clientX,i=e.clientY?e.clientY:e.sourceEvent.clientY;return this.getElementWithClassAtPosition(n,i,t)}},{key:"getElementWithClassAtPosition",value:function(e,t,n){for(var i=document.elementsFromPoint(e,t),o=null,r=0;!o&&r<i.length;)o=Fe.getParentElementWithClass(i[r],n),r++;return o}},{key:"getNodeForElement",value:function(e){if(e&&"g"===e.nodeName){var t=Sl.select(e).datum();if(t)return this.activePipeline.getNode(t.id)}return null}},{key:"getNodePortIdForElement",value:function(e){return e?Sl.select(e).attr("data-port-id"):null}},{key:"getNodeNearMousePos",value:function(e,t){var n=this,i=this.getTransformedMousePos(e),o=null,r=t||0;return this.getAllNodeGroupsSelection().each((function(e){var t=e.layout.portRadius;Fe.isSuperBindingNode(e)&&(t=n.canvasLayout.supernodeBindingPortRadius/n.zoomUtils.getZoomScale()),i.x>=e.x_pos-t-r&&i.x<=e.x_pos+e.width+t+r&&i.y>=e.y_pos-r&&i.y<=e.y_pos+e.height+r&&(o=e)})),o}},{key:"getNodeShapePathSizing",value:function(e){return this.getRectangleNodeShapePath(e,e.layout.nodeSizingArea)}},{key:"getNodeSelectionOutline",value:function(e){return e.layout.selectionPath&&!Fe.isExpanded(e)?"function"==typeof e.layout.selectionPath?e.layout.selectionPath(e):e.layout.selectionPath:"port-arcs"===e.layout.nodeShape?this.getPortArcsNodeShapePath(e):this.getRectangleNodeShapePath(e,e.layout.nodeHighlightGap)}},{key:"getNodeShapePath",value:function(e){return e.layout.bodyPath&&!Fe.isExpanded(e)?"function"==typeof e.layout.bodyPath?e.layout.bodyPath(e):e.layout.bodyPath:"port-arcs"===e.layout.nodeShape?this.getPortArcsNodeShapePath(e):this.getRectangleNodeShapePath(e)}},{key:"getRectangleNodeShapePath",value:function(e,t){var n=t||0,i=0-n,o=0-n,r=e.width+n,a=e.height+n,s="M "+i+" "+o+" L "+r+" "+o;return s+=" L "+r+" "+a,s+=" L "+i+" "+a,s+=" Z"}},{key:"getPortArcsNodeShapePath",value:function(e){return this.canvasLayout.linkDirection===$?this.getPortArcsNodeShapePathVertical(e,e.inputs,e.inputPortsWidth,e.outputs,e.outputPortsWidth):this.canvasLayout.linkDirection===J?this.getPortArcsNodeShapePathVertical(e,e.outputs,e.outputPortsWidth,e.inputs,e.inputPortsWidth):this.getPortArcsNodeShapePathLeftRight(e)}},{key:"getPortArcsNodeShapePathLeftRight",value:function(e){var t="M 0 0 L "+e.width+" 0 ";if(e.outputs&&e.outputs.length>0){var n=e.layout.portArcOffset;e.outputPortsHeight<e.height&&(n=e.outputs[0].cy-e.layout.portArcRadius),t+=" L "+e.width+" "+n,e.outputs.forEach((function(i,o){n+=2*e.layout.portArcRadius,t+=" A "+e.layout.portArcRadius+" "+e.layout.portArcRadius+" 180 0 1 "+e.width+" "+n,o<e.outputs.length-1&&(n+=e.layout.portArcSpacing,t+=" L "+e.width+" "+n)})),t+=" L "+e.width+" "+e.height}else t+=" L "+e.width+" "+e.height;if(t+=" L 0 "+e.height,e.inputs&&e.inputs.length>0){var i=e.height-e.layout.portArcOffset;e.inputPortsHeight<e.height&&(i=e.inputs[e.inputs.length-1].cy+e.layout.portArcRadius),t+=" L 0 "+i,e.inputs.forEach((function(n,o){i-=2*e.layout.portArcRadius,t+=" A "+e.layout.portArcRadius+" "+e.layout.portArcRadius+" 180 0 1 0 "+i,o<e.inputs.length-1&&(i-=e.layout.portArcSpacing,t+=" L 0 "+i)})),t+=" Z"}else t+=" Z";return t}},{key:"getPortArcsNodeShapePathVertical",value:function(e,t,n,i,o){var r="M 0 0 L 0 "+e.height;if(i&&i.length>0){var a=e.layout.portArcOffset;o<e.width&&(a=i[0].cx-e.layout.portArcRadius),r+=" L "+a+" "+e.height,i.forEach((function(t,n){a+=2*e.layout.portArcRadius,r+=" A "+e.layout.portArcRadius+" "+e.layout.portArcRadius+" 180 0 0 "+a+" "+e.height,n<i.length-1&&(a+=e.layout.portArcSpacing,r+=" L "+a+" "+e.height)})),r+=" L "+e.width+" "+e.height}else r+=" L "+e.width+" "+e.height;if(r+=" L "+e.width+" 0 ",t&&t.length>0){var s=e.width-e.layout.portArcOffset;n<e.width&&(s=t[t.length-1].cx+e.layout.portArcRadius),r+=" L "+s+" 0 ",t.forEach((function(n,i){s-=2*e.layout.portArcRadius,r+=" A "+e.layout.portArcRadius+" "+e.layout.portArcRadius+" 180 0 0 "+s+" 0 ",i<t.length-1&&(s-=e.layout.portArcSpacing,r+=" L "+s+" 0 ")})),r+=" Z"}else r+=" Z";return r}},{key:"setPortPositionsAllNodes",value:function(){var e=this;this.activePipeline.nodes.forEach((function(t){e.setPortPositionsForNode(t)}))}},{key:"setPortPositionsForNode",value:function(e){this.canvasLayout.linkDirection===$?(this.setPortPositionsVertical(e,e.inputs,e.inputPortsWidth,e.layout.inputPortTopPosX,e.layout.inputPortTopPosY),this.setPortPositionsVertical(e,e.outputs,e.outputPortsWidth,e.layout.outputPortBottomPosX,this.getOutputPortBottomPosY(e))):this.canvasLayout.linkDirection===J?(this.setPortPositionsVertical(e,e.inputs,e.inputPortsWidth,e.layout.inputPortBottomPosX,this.getInputPortBottomPosY(e)),this.setPortPositionsVertical(e,e.outputs,e.outputPortsWidth,e.layout.outputPortTopPosX,e.layout.outputPortTopPosY)):(this.setPortPositionsLeftRight(e,e.inputs,e.inputPortsHeight,e.layout.inputPortLeftPosX,e.layout.inputPortLeftPosY),this.setPortPositionsLeftRight(e,e.outputs,e.outputPortsHeight,this.nodeUtils.getNodeOutputPortRightPosX(e),this.nodeUtils.getNodeOutputPortRightPosY(e),this.config.enableSingleOutputPortDisplay))}},{key:"getOutputPortBottomPosY",value:function(e){return e.height+e.layout.outputPortBottomPosY}},{key:"getInputPortBottomPosY",value:function(e){return e.height+e.layout.inputPortBottomPosY}},{key:"setPortPositionsVertical",value:function(e,t,n,i,o){if(t&&t.length>0)if(e.width<=e.layout.defaultNodeWidth&&1===t.length)t[0].cx=i,t[0].cy=o;else{var r=0;if(Fe.isExpandedSupernode(e)){var a=e.width-2*this.canvasLayout.supernodeSVGAreaPadding-n;r=2*this.canvasLayout.supernodeSVGAreaPadding+a/2}else n<e.width&&(r=(e.width-n)/2);r+=e.layout.portArcOffset;var s=1;Fe.isSuperBindingNode(e)&&(s=1/this.zoomUtils.getZoomScale()),t.forEach((function(t){r+=e.layout.portArcRadius*s,t.cx=r,t.cy=o,r+=(e.layout.portArcRadius+e.layout.portArcSpacing)*s}))}}},{key:"setPortPositionsLeftRight",value:function(e,t,n,i,o){var r=arguments.length>5&&void 0!==arguments[5]&&arguments[5];t&&t.length>0&&(e.height<=e.layout.defaultNodeHeight&&1===t.length?(t[0].cx=i,t[0].cy=o):r?this.setPortPositionsLeftRightSinglePort(e,t,i,o):this.setPortPositionsLeftRightAllPorts(e,t,n,i,o))}},{key:"setPortPositionsLeftRightAllPorts",value:function(e,t,n,i,o){var r=0;if(Fe.isExpandedSupernode(e)){var a=e.height-this.canvasLayout.supernodeTopAreaHeight-this.canvasLayout.supernodeSVGAreaPadding-n;r=this.canvasLayout.supernodeTopAreaHeight+this.canvasLayout.supernodeSVGAreaPadding+a/2}else n<e.height&&(r=(e.height-n)/2);r+=e.layout.portArcOffset;var s=1;Fe.isSuperBindingNode(e)&&(s=1/this.zoomUtils.getZoomScale()),t.forEach((function(t){r+=e.layout.portArcRadius*s,t.cx=i,t.cy=r,r+=(e.layout.portArcRadius+e.layout.portArcSpacing)*s}))}},{key:"setPortPositionsLeftRightSinglePort",value:function(e,t,n,i){var o=0;if(Fe.isExpandedSupernode(e)){var r=e.height-this.canvasLayout.supernodeTopAreaHeight-this.canvasLayout.supernodeSVGAreaPadding;o=this.canvasLayout.supernodeTopAreaHeight+r/2}else o=i;t.forEach((function(e){e.cx=n,e.cy=o}))}},{key:"displayComments",value:function(){this.logger.logStartTimer("displayComments "+this.getFlags());var e=this.getAllCommentGroupsSelection();this.displayCommentsSubset(e,this.activePipeline.comments),this.logger.logEndTimer("displayComments "+this.getFlags())}},{key:"displayMovedComments",value:function(){var e=this;this.logger.logStartTimer("displayMovedComments"),this.getAllCommentGroupsSelection().attr("transform",(function(e){return"translate(".concat(e.x_pos,", ").concat(e.y_pos,")")})).datum((function(t){return e.activePipeline.getComment(t.id)})),this.logger.logEndTimer("displayMovedComments")}},{key:"displayCommentsSelectionStatus",value:function(){var e=this;this.logger.logStartTimer("displayCommentsSelectionStatus"),this.getAllCommentGroupsSelection().selectChildren(".d3-comment-selection-highlight").attr("data-selected",(function(t){return e.activePipeline.isSelected(t.id)?"yes":"no"})),this.logger.logEndTimer("displayCommentsSelectionStatus")}},{key:"displaySingleComment",value:function(e){var t=this.getCommentGroupSelectionById(e.id);this.displayCommentsSubset(t,[e])}},{key:"displayCommentsSubset",value:function(e,t){var n=this,i=this.canvasInfo.hideComments?[]:t;e.data(i,(function(e){return e.id})).join((function(e){return n.createComments(e)})).attr("transform",(function(e){return"translate(".concat(e.x_pos,", ").concat(e.y_pos,")")})).attr("class",(function(e){return n.getCommentGroupClass(e)})).call((function(e){return n.updateComments(e)}))}},{key:"createComments",value:function(e){var t=this,n=e.append("g").attr("data-id",(function(e){return t.getId("comment_grp",e.id)})).call(this.attachCommentGroupListeners.bind(this));return n.append("rect").attr("class","d3-comment-sizing").call(this.attachCommentSizingListeners.bind(this)),n.append("rect").attr("class","d3-comment-selection-highlight"),n.append("rect").attr("width",(function(e){return e.width})).attr("height",(function(e){return e.height})).attr("x",0).attr("y",0).attr("class","d3-comment-rect"),n.append("foreignObject").attr("class","d3-foreign-object-comment-text").attr("x",0).attr("y",0).append("xhtml:div").attr("class","d3-comment-text"),n}},{key:"updateComments",value:function(e){var t=this;if(e.attr("transform",(function(e){return"translate(".concat(e.x_pos,", ").concat(e.y_pos,")")})).attr("class",(function(e){return t.getCommentGroupClass(e)})),e.selectChildren(".d3-comment-sizing").datum((function(e){return t.activePipeline.getComment(e.id)})).attr("x",-this.canvasLayout.commentSizingArea).attr("y",-this.canvasLayout.commentSizingArea).attr("height",(function(e){return e.height+2*t.canvasLayout.commentSizingArea})).attr("width",(function(e){return e.width+2*t.canvasLayout.commentSizingArea})).attr("class","d3-comment-sizing"),e.selectChildren(".d3-comment-selection-highlight").datum((function(e){return t.activePipeline.getComment(e.id)})).attr("x",-this.canvasLayout.commentHighlightGap).attr("y",-this.canvasLayout.commentHighlightGap).attr("height",(function(e){return e.height+2*t.canvasLayout.commentHighlightGap})).attr("width",(function(e){return e.width+2*t.canvasLayout.commentHighlightGap})).attr("data-selected",(function(e){return t.activePipeline.isSelected(e.id)?"yes":"no"})).attr("style",(function(e){return t.getNodeSelectionOutlineStyle(e,"default")})),e.selectChildren(".d3-comment-rect").datum((function(e){return t.activePipeline.getComment(e.id)})).attr("height",(function(e){return e.height})).attr("width",(function(e){return e.width})).attr("class","d3-comment-rect").attr("style",(function(e){return t.getCommentBodyStyle(e,"default")})),e.selectChildren(".d3-foreign-object-comment-text").datum((function(e){return t.activePipeline.getComment(e.id)})).attr("width",(function(e){return e.width})).attr("height",(function(e){return e.height})).select("div").attr("style",(function(e){return t.getNodeLabelStyle(e,"default")})).html((function(e){return t.config.enableMarkdownInComments?Nl.render(e.content):po(e.content)})),this.config.enableEditingActions){var n=this.dragObjectUtils.getDragObjectHandler();e.call(n)}else e.on(".drag",null)}},{key:"attachCommentGroupListeners",value:function(e){var t=this;e.on("mouseenter",(function(e,n){t.isDragging()||(t.setCommentStyles(n,"hover",Sl.select(e.currentTarget)),t.config.enableEditingActions&&n.id!==t.svgCanvasTextArea.getEditingTextId()&&t.createCommentPort(e.currentTarget,n),t.config.enableContextToolbar&&t.addContextToolbar(e,n,"comment"))})).on("mouseleave",(function(e,n){t.setCommentStyles(n,"default",Sl.select(e.currentTarget)),t.config.enableContextToolbar&&t.removeContextToolbar(),t.config.enableEditingActions&&t.deleteCommentPort(e.currentTarget)})).on("mousedown",(function(e,n){t.logger.logStartTimer("Comment Group - mouse down"),e.stopPropagation(),t.svgCanvasTextArea.isEditingText()&&t.svgCanvasTextArea.completeEditing(),t.config.enableDragWithoutSelect||t.selectObjectD3Event(e,n,"comment"),t.logger.logEndTimer("Comment Group - mouse down")})).on("click",(function(e,n){t.logger.log("Comment Group - click"),e.stopPropagation()})).on("dblclick",(function(e,n){t.logger.log("Comment Group - double click"),t.config.enableEditingActions&&(Fe.stopPropagationAndPreventDefault(e),t.deleteCommentPort(e.currentTarget),t.displayCommentTextArea(n,e.currentTarget),t.canvasController.clickActionHandler({clickType:"DOUBLE_CLICK",objectType:"comment",id:n.id,selectedObjectIds:t.activePipeline.getSelectedObjectIds(),pipelineId:t.activePipeline.id}))})).on("contextmenu",(function(e,n){t.logger.log("Comment Group - context menu"),t.config.enableDragWithoutSelect&&t.selectObjectD3Event(e,n,"comment"),t.openContextMenu(e,"comment",n)}))}},{key:"attachCommentSizingListeners",value:function(e){var t=this;e.on("mousedown",(function(e,n){t.dragObjectUtils.mouseDownCommentSizingArea()})).on("mousemove mouseenter",(function(e,n){t.dragObjectUtils.mouseEnterCommentSizingArea(e,n)})).on("mouseleave",(function(e,n){t.dragObjectUtils.mouseLeaveCommentSizingArea(e,n)}))}},{key:"createCommentPort",value:function(e,t){var n=this,i=Sl.select(e).append("circle").attr("cx",(function(e){return e.width/2})).attr("cy",(function(e){return e.height+n.canvasLayout.commentHighlightGap})).attr("r",this.canvasLayout.commentPortRadius).attr("class","d3-comment-port-circle");if(this.config.enableEditingActions){var o=this.dragNewLinkUtils.getDragNewLinkHandler();i.call(o)}else i.on(".drag",null)}},{key:"deleteCommentPort",value:function(e){Sl.select(e).selectChildren(".d3-comment-port-circle").remove()}},{key:"setCommentStyles",value:function(e,t,n){this.setCommentSelectionOutlineStyles(e,t,n),this.setCommentBodyStyles(e,t,n),this.setCommentTextStyles(e,t,n)}},{key:"setCommentSelectionOutlineStyles",value:function(e,t,n){var i=this.getCommentSelectionOutlineStyle(e,t);n.selectChildren(".d3-comment-selection-highlight").attr("style",i)}},{key:"setCommentBodyStyles",value:function(e,t,n){var i=this.getCommentBodyStyle(e,t);n.selectChildren(".d3-comment-rect").attr("style",i)}},{key:"setCommentTextStyles",value:function(e,t,n){var i=this.getCommentTextStyle(e,t);n.selectChildren(".d3-foreign-object-comment-text").select("div").attr("style",i)}},{key:"getCommentSelectionOutlineStyle",value:function(e,t){return Fe.getObjectStyle(e,"selection_outline",t)}},{key:"getCommentBodyStyle",value:function(e,t){return Fe.getObjectStyle(e,"body",t)}},{key:"getCommentTextStyle",value:function(e,t){return Fe.getObjectStyle(e,"text",t)}},{key:"displayCommentTextArea",value:function(e,t){this.svgCanvasTextArea.displayCommentTextArea(e,t)}},{key:"displayNodeLabelTextArea",value:function(e,t){this.svgCanvasTextArea.displayNodeLabelTextArea(e,t)}},{key:"displayDecLabelTextArea",value:function(e,t,n,i){this.svgCanvasTextArea.displayDecLabelTextArea(e,t,n,i)}},{key:"addTempCursorOverlay",value:function(e){this.dispUtils.isDisplayingFullPage()&&(this.canvasDiv.selectAll(".d3-temp-cursor-overlay").size()>0&&this.removeTempCursorOverlay(),this.canvasSVG.append("rect").attr("x",0).attr("y",0).attr("width","100%").attr("height","100%").attr("data-pipeline-id",this.activePipeline.id).attr("class","d3-temp-cursor-overlay").attr("pointer-events","all").style("cursor",e))}},{key:"removeTempCursorOverlay",value:function(){this.dispUtils.isDisplayingFullPage()&&this.canvasDiv.selectAll(".d3-temp-cursor-overlay").remove()}},{key:"isRegionSelectOrSizingInProgress",value:function(){return!(!this.regionSelect&&!this.isSizing())||!(!this.supernodeInfo.renderer||!this.supernodeInfo.renderer.isRegionSelectOrSizingInProgress())}},{key:"displayLinks",value:function(){this.logger.logStartTimer("displayLinks");var e=this.buildLinksArray(),t=this.getAllLinkGroupsSelection();this.displayLinksSubset(t,e),this.logger.logEndTimer("displayLinks")}},{key:"displayLinksSelectionStatus",value:function(){var e=this;this.logger.logStartTimer("displayLinksSelectionStatus"),this.config.enableLinkSelection!==ge&&this.getAllLinkGroupsSelection().attr("data-selected",(function(t){return!!e.activePipeline.isSelected(t.id)||null})),this.logger.logEndTimer("displayLinksSelectionStatus")}},{key:"displayMovedLinks",value:function(){var e=this;this.logger.logStartTimer("displayMovedLinks"),this.buildLinksArray().filter((function(e){return e.coordsUpdated})).forEach((function(t){e.displaySingleLink(t)})),this.logger.logEndTimer("displayMovedLinks")}},{key:"displaySingleLink",value:function(e){var t=this.getLinkGroupSelectionById(e.id);this.displayLinksSubset(t,[e])}},{key:"displayLinksSubset",value:function(e,t){var n=this;e.data(t,(function(e){return e.id})).join((function(e){return n.createLinks(e)})).attr("class",(function(e){return n.getLinkGroupClass(e)})).attr("style",(function(e){return n.getLinkGrpStyle(e)})).attr("data-selected",(function(e){return!!n.activePipeline.isSelected(e.id)||null})).call((function(e){n.updateLinks(e,t)}))}},{key:"createLinks",value:function(e){var t=this;this.logger.logStartTimer("createLinks");var n=e.append("g").attr("data-id",(function(e){return t.getId("link_grp",e.id)})).call(this.attachLinkGroupListeners.bind(this));return n.append("path").attr("class",(function(e){return t.getLinkSelectionAreaClass(e)})),n.append("path").attr("class","d3-link-line"),n.filter((function(e){return e.type===U&&t.canvasLayout.dataLinkArrowHead||e.type===W&&t.canvasLayout.commentLinkArrowHead||e.type===U&&t.canvasLayout.linkType===X})).append("path").attr("class","d3-link-line-arrow-head"),n.append("g").attr("class","d3-link-decorations-group"),this.config.enableLinkSelection!==Ce&&this.config.enableLinkSelection!==ae||n.append("g").attr("class","d3-link-handles-group").each((function(e,n,i){e.type===U&&t.createNewHandles(Sl.select(i[n]))})),this.logger.logEndTimer("createLinks"),n}},{key:"updateLinks",value:function(e,t){var n=this;this.logger.logStartTimer("updateLinks"),e.selectAll(".d3-link-selection-area").datum((function(e){return n.activePipeline.getLink(e.id)})).attr("d",(function(e){return e.pathInfo.path})),e.selectAll(".d3-link-line").datum((function(e){return n.activePipeline.getLink(e.id)})).attr("d",(function(e){return e.pathInfo.path})).attr("class","d3-link-line").attr("style",(function(e){return Fe.getObjectStyle(e,"line","default")})),e.filter((function(e){return e.type===U&&n.canvasLayout.dataLinkArrowHead||e.type===W&&n.canvasLayout.commentLinkArrowHead||e.type===U&&n.canvasLayout.linkType===X})).selectAll(".d3-link-line-arrow-head").datum((function(e){return n.activePipeline.getLink(e.id)})).attr("d",(function(e){return n.getArrowHead(e)})).attr("transform",(function(e){return n.getArrowHeadTransform(e)})).attr("class","d3-link-line-arrow-head").attr("style",(function(e){return Fe.getObjectStyle(e,"line","default")})),e.each((function(e,t,i){if(e.type===U||e.type===G){var o=Sl.select(i[t]).selectAll(".d3-link-decorations-group");n.displayDecorations(e,ie,o,e.decorations)}})),this.config.enableLinkSelection!==Ce&&this.config.enableLinkSelection!==ae||e.each((function(e,i,o){e.type===U&&n.updateHandles(Sl.select(o[i]).selectAll(".d3-link-handles-group"),t)})),this.isMoving()||this.isSizing()||this.setDisplayOrder(e),this.logger.logEndTimer("updateLinks")}},{key:"attachLinkGroupListeners",value:function(e){var t=this;e.on("mousedown",(function(e,n,i,o){t.logger.log("Link Group - mouse down"),t.svgCanvasTextArea.isEditingText()&&t.svgCanvasTextArea.completeEditing(),t.config.enableLinkSelection!==ge&&t.selectObjectD3Event(e,n,"link"),e.stopPropagation()})).on("mouseup",(function(){t.logger.log("Link Group - mouse up")})).on("click",(function(e,n){t.logger.log("Link Group - click"),e.stopPropagation()})).on("contextmenu",(function(e,n){t.logger.log("Link Group - context menu"),t.config.enableLinkSelection!==ge&&t.selectObjectD3Event(e,n,"link"),t.openContextMenu(e,"link",n)})).on("mouseenter",(function(e,n){if(!t.isDragging()){var i=e.currentTarget;t.config.enableLinkSelection!==Ce&&t.config.enableLinkSelection!==ae||t.raiseLinkToTop(i),t.setLinkLineStyles(i,n,"hover"),t.config.enableContextToolbar&&t.addContextToolbar(e,n,"link"),t.canOpenTip(D)&&(t.canvasController.closeTip(),t.canvasController.openTip({id:t.getId("link_tip",n.id),type:D,targetObj:i,mousePos:{x:e.clientX,y:e.clientY},pipelineId:t.activePipeline.id,link:n}))}})).on("mouseleave",(function(e,n){var i=e.currentTarget;i.getAttribute("data-selected")||t.lowerLinkToBottom(i),t.setLinkLineStyles(i,n,"default"),t.canvasController.closeTip(),t.config.enableContextToolbar&&t.removeContextToolbar()}))}},{key:"createNewHandles",value:function(e){e.append(this.canvasLayout.linkStartHandleObject).attr("class",(function(e){return"d3-link-handle-start"})).call(this.attachStartHandleListeners.bind(this)),e.append(this.canvasLayout.linkEndHandleObject).attr("class",(function(e){return"d3-link-handle-end"})).call(this.attachEndHandleListeners.bind(this))}},{key:"updateHandles",value:function(e,t){var n=this,i=e.selectAll(".d3-link-handle-start").datum((function(e){return n.activePipeline.getLink(e.id)})).each((function(e,t,i){var o=Sl.select(i[t]);"image"===n.canvasLayout.linkStartHandleObject?o.attr("xlink:href",n.canvasLayout.linkStartHandleImage).attr("x",(function(e){return e.x1-n.canvasLayout.linkStartHandleWidth/2})).attr("y",(function(e){return e.y1-n.canvasLayout.linkStartHandleHeight/2})).attr("width",n.canvasLayout.linkStartHandleWidth).attr("height",n.canvasLayout.linkStartHandleHeight):"circle"===n.canvasLayout.linkStartHandleObject&&o.attr("r",n.canvasLayout.linkStartHandleRadius).attr("cx",(function(e){return e.x1})).attr("cy",(function(e){return e.y1}))}));if(this.config.enableEditingActions){var o=this.dragDetLinkUtils.getDragDetachedLinkHandler();i.call(o)}else i.on(".drag",null);var r=e.selectAll(".d3-link-handle-end").datum((function(e){return n.activePipeline.getLink(e.id)})).each((function(e,t,i){var o=Sl.select(i[t]);"image"===n.canvasLayout.linkEndHandleObject?o.attr("xlink:href",n.canvasLayout.linkEndHandleImage).attr("x",(function(e){return e.x2-n.canvasLayout.linkEndHandleWidth/2})).attr("y",(function(e){return e.y2-n.canvasLayout.linkEndHandleHeight/2})).attr("width",n.canvasLayout.linkEndHandleWidth).attr("height",n.canvasLayout.linkEndHandleHeight).attr("transform",(function(e){return n.getLinkImageTransform(e)})):"circle"===n.canvasLayout.linkEndHandleObject&&o.attr("r",n.canvasLayout.linkEndHandleRadius).attr("cx",(function(e){return e.x2})).attr("cy",(function(e){return e.y2}))}));if(this.config.enableEditingActions){var a=this.dragDetLinkUtils.getDragDetachedLinkHandler();r.call(a)}else r.on(".drag",null)}},{key:"attachStartHandleListeners",value:function(e){var t=this;e.on("mousedown",(function(e,n){t.logger.log("Link start handle - mouse down"),t.config.enableDragWithoutSelect||t.selectObjectD3Event(e,n,"link"),t.logger.log("Link end handle - finished mouse down")}))}},{key:"attachEndHandleListeners",value:function(e){var t=this;e.on("mousedown",(function(e,n){t.logger.log("Link end handle - mouse down"),t.config.enableDragWithoutSelect||t.selectObjectD3Event(e,n,"link"),t.logger.log("Link end handle - finished mouse down")}))}},{key:"setLinkLineStyles",value:function(e,t,n){var i=Fe.getObjectStyle(t,"line",n),o=Sl.select(e);o.select(".d3-link-line").attr("style",i),o.select(".d3-link-line-arrow-head").attr("style",i)}},{key:"getLinkSelectionAreaClass",value:function(e){return"d3-link-selection-area "+(e.type===G?"d3-association-link-selection-area":e.type===W?"d3-comment-link-selection-area":"d3-data-link-selection-area")}},{key:"getLinkGroupClass",value:function(e){return"d3-link-group "+this.getLinkTypeClass(e)+" "+this.getLinkCustomClass(e)}},{key:"getLinkCustomClass",value:function(e){return e.class_name&&"canvas-data-link"!==e.class_name&&"canvas-object-link"!==e.class_name&&"canvas-comment-link"!==e.class_name&&"d3-data-link"!==e.class_name&&"d3-association-link"!==e.class_name&&"d3-object-link"!==e.class_name&&"d3-comment-link"!==e.class_name?e.class_name:""}},{key:"getLinkTypeClass",value:function(e){return e.type===G?this.config.enableAssocLinkType===Y?"d3-association-link":"d3-object-link":e.type===W?"d3-comment-link":"d3-data-link"}},{key:"getCommentGroupClass",value:function(e){var t="";return e.class_name&&"canvas-comment"!==e.class_name&&"d3-comment-rect"!==e.class_name&&(t=" "+e.class_name),"d3-comment-group"+(this.config.enableEditingActions?" d3-draggable":" d3-non-draggable")+t}},{key:"getNodeGroupClass",value:function(e){var t=" "+e.layout.className||"";e.class_name&&"canvas-node"!==e.class_name&&"d3-node-body"!==e.class_name&&"d3-node-body-outline"!==e.class_name&&(t=" "+e.class_name);var n=Fe.isExpandedSupernode(e)?" d3-node-supernode-expanded":"",i=this.config.enableEditingActions?" d3-draggable":" d3-non-draggable";return"d3-node-group"+n+(e.isResized?" d3-resized":"")+i+t}},{key:"setDisplayOrder",value:function(e){var t=this;e.filter((function(e){return t.hasOneDecorationOrMore(e)})).lower(),e.filter((function(e){return!t.hasOneDecorationOrMore(e)})).lower(),this.config.enableLinkSelection!==Ce&&this.config.enableLinkSelection!==ae||this.raiseSelectedLinksToTop()}},{key:"raiseNodeToTopById",value:function(e){this.getNodeGroupSelectionById(e).raise()}},{key:"raiseNodeToTop",value:function(e){!this.config.enableRaiseNodesToTopOnHover||this.isDragging()||0!==this.activePipeline.getSelectedLinksCount()||this.isEditingText()||e.raise()}},{key:"raiseSelectedLinksToTop",value:function(){this.nodesLinksGrp.selectAll(".d3-link-group[data-selected]").raise()}},{key:"raiseLinkToTop",value:function(e){Sl.select(e).raise()}},{key:"lowerLinkToBottom",value:function(e){Sl.select(e).lower()}},{key:"hasOneDecorationOrMore",value:function(e){return e.decorations&&e.decorations.length>0}},{key:"buildLinksArray",value:function(){var e=this;this.logger.logStartTimer("buildLinksArray");var t=[];return this.canvasLayout.linkType===X&&this.updateLinksForNodes(),this.activePipeline.links.forEach((function(n){var i=null;(i=!(e.config.enableLinkSelection===Ce&&e.dragDetLinkUtils.isLinkBeingDragged(n)||e.config.enableLinkSelection===ae)||n.srcObj&&n.trgNode?e.getAttachedLineObj(n):e.getDetachedLineObj(n))&&t.push(i)})),this.canvasLayout.linkType===F&&(t=this.addMinInitialLineForElbow(t)),t=this.linkUtils.addConnectionPaths(t),this.logger.logEndTimer("buildLinksArray"),t}},{key:"getAttachedLineObj",value:function(e){var t=e.srcObj,n=e.trgNode;if(t||this.logger.error("Common Canvas error trying to draw a link. A link was specified for source ID '"+e.srcNodeId+"' in the Canvas data that does not have a valid source node/comment."),n||this.logger.error("Common Canvas error trying to draw a link. A link was specified for target ID '"+e.trgNodeId+"' in the Canvas data that does not have a valid target node."),t&&n&&this.shouldDisplayLink(t,n,e.type)){var i=this.getSourcePortId(e,t),o=this.getTargetPortId(e,n),r=e.type===G&&this.config.enableAssocLinkType===Y?this.getAssocLinkVariation(t,n):null,a=this.linkUtils.getLinkCoords(e,t,i,n,o,r);return e.coordsUpdated=e.x1!==a.x1||e.y1!==a.y1||e.x2!==a.x2||e.y2!==a.y2,e.assocLinkVariation=r,e.x1=a.x1,e.y1=a.y1,e.x2=a.x2,e.y2=a.y2,e.originX=a.originX,e.originY=a.originY,e}return null}},{key:"getDetachedLineObj",value:function(e){var t=e.srcObj,n=e.trgNode,i=null,o=null,r={};if(t)if(this.canvasLayout.linkType===X){var a={x:e.trgPos.x_pos,y:e.trgPos.y_pos},s=this.linkUtils.getNewStraightNodeLinkStartPos(t,a,e.srcOriginInfo);r.x1=s.x,r.y1=s.y,r.originX=s.originX,r.originY=s.originY}else{i=this.getSourcePortId(e,t);var l=this.getOutputPort(t,i);l&&(r.x1=t.x_pos+l.cx,r.y1=t.y_pos+l.cy)}else r.x1=e.srcPos.x_pos,r.y1=e.srcPos.y_pos;if(n)if(this.canvasLayout.linkType===X){var c={x:e.srcPos.x_pos,y:e.srcPos.y_pos},u=this.linkUtils.getNewStraightNodeLinkStartPos(n,c,e.trgOriginInfo);r.x2=u.x,r.y2=u.y}else{o=this.getTargetPortId(e,n);var d=this.getInputPort(n,o);d&&(r.x2=n.x_pos+d.cx,r.y2=n.y_pos+d.cy)}else r.x2=e.trgPos.x_pos,r.y2=e.trgPos.y_pos;return e.coordsUpdated=e.x1!==r.x1||e.y1!==r.y1||e.x2!==r.x2||e.y2!==r.y2,e.x1=r.x1,e.y1=r.y1,e.x2=r.x2,e.y2=r.y2,e.originX=r.originX,e.originY=r.originY,e}},{key:"getOutputPort",value:function(e,t){return e&&e.outputs?e.outputs.find((function(e){return e.id===t})):null}},{key:"getInputPort",value:function(e,t){return e&&e.inputs?e.inputs.find((function(e){return e.id===t})):null}},{key:"getSourcePortId",value:function(e,t){return e.srcNodePortId?e.srcNodePortId:t.outputs&&t.outputs.length>0?t.outputs[0].id:null}},{key:"getTargetPortId",value:function(e,t){return e.trgNodePortId?e.trgNodePortId:t.inputs&&t.inputs.length>0?t.inputs[0].id:null}},{key:"shouldDisplayLink",value:function(e,t,n){return(n!==W||!this.canvasInfo.hideComments)&&(!1!==this.canvasLayout.displayLinkOnOverlap||!this.areLinkedObjectsOverlapping(e,t,n))}},{key:"areLinkedObjectsOverlapping",value:function(e,t,n){var i=n===W?this.canvasLayout.commentHighlightGap:e.layout.nodeHighlightGap,o=t.layout.nodeHighlightGap,r=e.x_pos-i,a=e.x_pos+e.width+i,s=t.x_pos-o,l=t.x_pos+t.width+o,c=e.y_pos-i,u=e.y_pos+e.height+i,d=t.y_pos-o,h=t.y_pos+t.height+o;return a>=s&&l>=r&&u>=d&&h>=c}},{key:"addMinInitialLineForElbow",value:function(e){var t=this;return this.activePipeline.nodes.forEach((function(n){if(n.outputs&&n.outputs.length>1){var i=t.getNodeOutputLinks(n,e),o=t.sortNodeOutputLinks(i);t.applyMinInitialLine(n,o)}})),e}},{key:"getNodeOutputLinks",value:function(e,t){var n=[];return t.forEach((function(t){t.srcObj&&t.srcObj.id===e.id&&n.push(t)})),n}},{key:"sortNodeOutputLinks",value:function(e){var t=this;return e.sort((function(e,n){var i,o;return t.canvasLayout.linkDirection===xe?(i=Math.abs(e.y1-e.y2),o=Math.abs(n.y1-n.y2)):(i=Math.abs(e.x1-e.x2),o=Math.abs(n.x1-n.x2)),i===o?t.canvasLayout.linkDirection===xe?e.y1<e.y2?1:-1:e.x1<e.x2?1:-1:i<o?1:-1}))}},{key:"applyMinInitialLine",value:function(e,t){var n=e.layout.minInitialLine;t.forEach((function(e){e.minInitialLineForElbow=n,n+=e.srcObj.layout.minInitialLineIncrement}))}},{key:"updateLinksForNodes",value:function(){var e=this;this.activePipeline.nodes.forEach((function(t){return e.updateLinksForNode(t)}))}},{key:"updateLinksForNode",value:function(e){var t=this,n={n:[],s:[],e:[],w:[]};this.activePipeline.links.forEach((function(i){if(i.type===U)if(i.trgNode&&i.trgNode.id===e.id){if(i.srcObj){var o=t.getDirAdjusted(i.trgNode,i.srcObj);n[o].push({type:"in",endNode:i.srcObj,link:i})}else if(i.srcPos){var r=t.getDirToEndPos(i.trgNode,i.srcPos.x_pos,i.srcPos.y_pos);n[r].push({type:"in",x:i.srcPos.x_pos,y:i.srcPos.y_pos,link:i})}}else if(i.srcObj&&i.srcObj.id===e.id)if(i.trgNode){var a=t.getDirAdjusted(i.srcObj,i.trgNode);n[a].push({type:"out",endNode:i.trgNode,link:i})}else if(i.trgPos){var s=t.getDirToEndPos(i.srcObj,i.trgPos.x_pos,i.trgPos.y_pos);n[s].push({type:"out",x:i.trgPos.x_pos,y:i.trgPos.y_pos,link:i})}})),n.n=this.sortLinksInfo(n.n,Z),n.s=this.sortLinksInfo(n.s,V),n.e=this.sortLinksInfo(n.e,K),n.w=this.sortLinksInfo(n.w,q),this.updateLinksInfo(n.n,Z),this.updateLinksInfo(n.s,V),this.updateLinksInfo(n.e,K),this.updateLinksInfo(n.w,q)}},{key:"getDirAdjusted",value:function(e,t){var n=this.getDirToNode(e,t);if(n===V)this.getDirToNode(t,e)===q&&(n=K);else if(n===Z){this.getDirToNode(t,e)===K&&(n=q)}return n}},{key:"getDirToNode",value:function(e,t){var n=this.nodeUtils.getNodeCenterPosX(t),i=this.nodeUtils.getNodeCenterPosY(t);return this.getDirToEndPos(e,n,i)}},{key:"getDirToEndPos",value:function(e,t,n){var i=this.nodeUtils.getNodeCenterPosX(e),o=this.nodeUtils.getNodeCenterPosY(e),r=e.x_pos,a=e.y_pos,s=e.width,l=e.height;return Fe.getDir(r,a,s,l,i,o,t,n)}},{key:"sortLinksInfo",value:function(e,t){var n=this,i=e;if(i.length>1){var o=this.getLinkInfoGroups(i);ao(o,(function(e){e.forEach((function(i,o){var r=i.endNode,a=e.length+1;t===Z||t===V?(i.x=r.x_pos+r.width/a*(o+1),i.y=n.nodeUtils.getNodeCenterPosY(r)):(i.x=n.nodeUtils.getNodeCenterPosX(r),i.y=r.y_pos+r.height/a*(o+1))}))})),i=t===Z||t===V?i.sort((function(e,t){return e.x>t.x?1:-1})):i.sort((function(e,t){return e.y>t.y?1:-1}))}return i}},{key:"getLinkInfoGroups",value:function(e){var t={};return e.forEach((function(e){e.endNode&&(t[e.endNode.id]||(t[e.endNode.id]=[]),t[e.endNode.id].push(e))})),t}},{key:"updateLinksInfo",value:function(e,t){e.forEach((function(n,i){"out"===n.type?n.link.srcOriginInfo={dir:t,idx:i,len:e.length}:n.link.trgOriginInfo={dir:t,idx:i,len:e.length}}))}},{key:"getNewLinkAssocVariation",value:function(e,t,n){return"input"===n&&e>t?ee:"output"===n&&e<t?Q:ne}},{key:"getAssocLinkVariation",value:function(e,t){var n=e.layout.minInitialLine;return t.x_pos>=e.x_pos+e.width+n?Q:e.x_pos>=t.x_pos+t.width+n?ee:ne}},{key:"getPortArrowPath",value:function(e){return"M -2 3 L 2 0 -2 -3"}},{key:"getPortArrowPathTransform",value:function(e){var t=this.getAngleBasedOnLinkDirection();return"translate(".concat(e.cx,", ").concat(e.cy,") rotate(").concat(t,")")}},{key:"getArrowHead",value:function(e){return e.type===W?"string"==typeof this.canvasLayout.commentLinkArrowHead?this.canvasLayout.commentLinkArrowHead:"M -8 3 L 0 0 -8 -3":"string"==typeof this.canvasLayout.dataLinkArrowHead?this.canvasLayout.dataLinkArrowHead:"M -6 6 L 0 0 -6 -6"}},{key:"getArrowHeadTransform",value:function(e){var t=this.canvasLayout.linkType===F||this.canvasLayout.linkType===B?this.getAngleBasedOnLinkDirection():Math.atan2(e.y2-e.y1,e.x2-e.x1)*(180/Math.PI);return"translate(".concat(e.x2,", ").concat(e.y2,") rotate(").concat(t,")")}},{key:"getAngleBasedOnLinkDirection",value:function(){return this.canvasLayout.linkDirection===$?90:this.canvasLayout.linkDirection===J?-90:0}},{key:"canOpenTip",value:function(e){return this.canvasController.isTipEnabled(e)&&!this.regionSelect&&!this.isDragging()&&!this.isSizing()}},{key:"getDefaultCommentOffset",value:function(){var e=this.canvasLayout.addCommentOffsetX,t=this.canvasLayout.addCommentOffsetY,n=this.zoomUtils.getZoomTransform();if(n){var i=n.x/n.k,o=n.y/n.k;e=-i+this.canvasLayout.addCommentOffsetX,t=-o+this.canvasLayout.addCommentOffsetY}return this.config.enableSnapToGridType===oe||this.config.enableSnapToGridType===re?this.snapToGridPosition({x:e,y:t}):{x:e,y:t}}},{key:"getFlags",value:function(){var e="Flags:";return this.isDragging()&&(e+=" dragging = true"),this.isSizing()&&(e+=" sizing = true"),this.regionSelect&&(e+=" regionSelect = true"),"Flags:"===e&&(e+=" None"),e}}]),n}(),Dl=function(){function n(t,i,o){e(this,n),this.logger=new Re(["SVGCanvasD3","FlowId",t]),this.logger.logStartTimer("constructor"),this.canvasController=o,this.canvasDiv=$i(i),this.logger.logEndTimer("constructor",!0)}return t(n,[{key:"setCanvasInfo",value:function(e,t,n,i,o,r){if(this.logger=new Re(["SVGCanvasD3","FlowId",e.id]),this.config&&this.renderer&&this.canvasInfo&&e.id===this.canvasInfo.id&&(!this.renderer||this.renderer.pipelineId===this.canvasController.getCurrentBreadcrumb().pipelineId)&&We.compareCanvasConfigsOmitFields(this.config,r))this.logger.logStartTimer("set canvas info"),this.canvasInfo=this.cloneCanvasInfo(e),this.config=this.cloneConfig(r),this.renderer.setCanvasInfoRenderer(this.canvasInfo,t,n,i,o,this.config),this.logger.logEndTimer("set canvas info",!0);else{this.logger.logStartTimer("initializing"),this.canvasInfo=this.cloneCanvasInfo(e),this.config=this.cloneConfig(r),this.renderer&&(this.renderer.clearCanvas(),this.renderer=null);var a=this.canvasController.getCurrentBreadcrumb();this.renderer=new Tl(a.pipelineId,this.canvasDiv,this.canvasController,this.canvasInfo,t,n,i,o,r,{id:a.supernodeId,pipelineId:a.supernodeParentPipelineId}),this.logger.logEndTimer("initializing",!0)}}},{key:"setSelectionInfo",value:function(e){this.renderer&&this.renderer.setSelectionInfo(e)}},{key:"cloneConfig",value:function(e){return Object.assign({},e)}},{key:"cloneCanvasInfo",value:function(e){return ce(e)}},{key:"isEditingText",value:function(){return this.renderer.isEditingText()}},{key:"isDragging",value:function(){return this.renderer.isDragging()}},{key:"convertPageCoordsToSnappedCanvasCoords",value:function(e){return this.renderer.convertPageCoordsToSnappedCanvasCoords(e)}},{key:"nodeTemplateDragStart",value:function(e){this.renderer.nodeTemplateDragStart(e)}},{key:"nodeTemplateDragOver",value:function(e,t,n){this.renderer.nodeTemplateDragOver(e,t,n)}},{key:"nodeTemplateDragEnd",value:function(e){this.renderer.nodeTemplateDragEnd(e)}},{key:"nodeTemplateDropped",value:function(e,t,n){this.renderer.nodeTemplateDropped(e,t,n)}},{key:"externalObjectDropped",value:function(e,t,n){this.renderer.externalObjectDropped(e,t,n)}},{key:"zoomTo",value:function(e){this.renderer.zoomTo(e)}},{key:"translateBy",value:function(e,t,n){this.renderer.translateBy(e,t,n)}},{key:"zoomIn",value:function(){this.renderer.zoomIn()}},{key:"zoomOut",value:function(){this.renderer.zoomOut()}},{key:"zoomToFit",value:function(){this.renderer.zoomToFit()}},{key:"isZoomedToMax",value:function(){return!!this.renderer&&this.renderer.isZoomedToMax()}},{key:"isZoomedToMin",value:function(){return!!this.renderer&&this.renderer.isZoomedToMin()}},{key:"getZoomToReveal",value:function(e,t,n){return this.renderer?this.renderer.getZoomToReveal(e,t,n):null}},{key:"getZoom",value:function(){return this.renderer?this.renderer.getZoom():null}},{key:"setCommentEditingMode",value:function(e,t){this.renderer.setCommentEditingMode(e,t)}},{key:"setNodeLabelEditingMode",value:function(e,t){this.renderer.setNodeLabelEditingMode(e,t)}},{key:"setNodeDecorationLabelEditingMode",value:function(e,t,n){this.renderer.setNodeDecorationLabelEditingMode(e,t,n)}},{key:"setLinkDecorationLabelEditingMode",value:function(e,t,n){this.renderer.setLinkDecorationLabelEditingMode(e,t,n)}},{key:"refreshOnSizeChange",value:function(){this.renderer&&this.renderer.refreshOnSizeChange()}},{key:"getDefaultCommentOffset",value:function(){return this.renderer.getDefaultCommentOffset()}},{key:"getTransformedViewportDimensions",value:function(){return this.renderer.getTransformedViewportDimensions()}},{key:"getGhostNode",value:function(e){return this.renderer.getGhostNode(e)}},{key:"setSpaceKeyPressed",value:function(e){this.renderer.setSpaceKeyPressed(e)}},{key:"isSpaceKeyPressed",value:function(){return this.renderer.isSpaceKeyPressed()}}]),n}();function El(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var Il=function(n){i(r,n);var o=El(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).state={isDropZoneDisplayed:!1},n.logger=new Re("CC-Contents"),n.mainCanvasDivId="canvas-div-"+n.props.canvasController.getInstanceId(),n.svgCanvasDivId="d3-svg-canvas-div-"+n.props.canvasController.getInstanceId(),n.svgCanvasDivSelector="#"+n.svgCanvasDivId,n.dragX=null,n.dragY=null,n.eventListenersAdded=!1,n.mousePos={x:0,y:0},n.drop=n.drop.bind(a(n)),n.focusOnCanvas=n.focusOnCanvas.bind(a(n)),n.setIsDropZoneDisplayed=n.setIsDropZoneDisplayed.bind(a(n)),n.dragOver=n.dragOver.bind(a(n)),n.dragEnter=n.dragEnter.bind(a(n)),n.dragLeave=n.dragLeave.bind(a(n)),n.refreshOnSizeChange=n.refreshOnSizeChange.bind(a(n)),n.getLabel=n.getLabel.bind(a(n)),n.onCut=n.onCut.bind(a(n)),n.onCopy=n.onCopy.bind(a(n)),n.onPaste=n.onPaste.bind(a(n)),n.onKeyDown=n.onKeyDown.bind(a(n)),n.onKeyUp=n.onKeyUp.bind(a(n)),n.onMouseMove=n.onMouseMove.bind(a(n)),n.onClickReturnToPrevious=n.onClickReturnToPrevious.bind(a(n)),n.first=!1,n.second=!1,n.afterUpdateCallbacks=[],t.canvasController.setCanvasContents(a(n)),n}return t(r,[{key:"componentDidMount",value:function(){this.logger.log("componentDidMount"),this.svgCanvasD3=new Dl(this.props.canvasInfo.id,this.svgCanvasDivSelector,this.props.canvasController),this.setCanvasInfo(),this.props.canvasConfig.enableBrowserEditMenu&&this.addEventListeners(),this.focusOnCanvas()}},{key:"componentDidUpdate",value:function(e){this.logger.log("componentDidUpdate"),this.svgCanvasD3&&!this.isDropZoneDisplayed()&&(e.canvasInfo!==this.props.canvasInfo||e.canvasConfig!==this.props.canvasConfig||e.breadcrumbs!==this.props.breadcrumbs?(this.setCanvasInfo(),this.afterUpdate()):e.selectionInfo!==this.props.selectionInfo&&this.svgCanvasD3.setSelectionInfo(this.props.selectionInfo)),this.props.canvasConfig.enableBrowserEditMenu?this.addEventListeners():this.removeEventListeners()}},{key:"componentWillUnmount",value:function(){this.removeEventListeners()}},{key:"onCut",value:function(e){e.currentTarget.activeElement.id===this.svgCanvasDivId&&this.props.canvasConfig.enableEditingActions&&(e.preventDefault(),this.props.canvasController.cutToClipboard())}},{key:"onCopy",value:function(e){e.currentTarget.activeElement.id===this.svgCanvasDivId&&this.props.canvasConfig.enableEditingActions&&(e.preventDefault(),this.props.canvasController.copyToClipboard())}},{key:"onPaste",value:function(e){e.currentTarget.activeElement.id===this.svgCanvasDivId&&this.props.canvasConfig.enableEditingActions&&(e.preventDefault(),this.props.canvasController.pasteFromClipboard())}},{key:"onKeyDown",value:function(e){this.props.canvasController.closeTip();var t=this.props.canvasController.getKeyboardConfig().actions;if(!this.svgCanvasD3.isEditingText()&&!this.svgCanvasD3.isDragging()){if(this.props.canvasConfig.enableEditingActions)if(8!==e.keyCode&&46!==e.keyCode||!t.delete){if(Fe.isCmndCtrlPressed(e)&&!e.shiftKey&&90===e.keyCode&&t.undo)Fe.stopPropagationAndPreventDefault(e),this.props.canvasController.canUndo()&&this.props.canvasController.keyboardActionHandler("undo");else if(Fe.isCmndCtrlPressed(e)&&(e.shiftKey&&90===e.keyCode||89===e.keyCode&&t.redo))Fe.stopPropagationAndPreventDefault(e),this.props.canvasController.canRedo()&&this.props.canvasController.keyboardActionHandler("redo");else if(Fe.isCmndCtrlPressed(e)&&67===e.keyCode&&t.copyToClipboard)Fe.stopPropagationAndPreventDefault(e),this.props.canvasController.keyboardActionHandler("copy");else if(Fe.isCmndCtrlPressed(e)&&88===e.keyCode&&t.cutToClipboard)Fe.stopPropagationAndPreventDefault(e),this.props.canvasController.keyboardActionHandler("cut");else if(Fe.isCmndCtrlPressed(e)&&86===e.keyCode&&t.pasteFromClipboard)if(Fe.stopPropagationAndPreventDefault(e),this.mousePos){var n=this.svgCanvasD3.convertPageCoordsToSnappedCanvasCoords(this.mousePos);this.props.canvasController.keyboardActionHandler("paste",n)}else this.props.canvasController.keyboardActionHandler("paste")}else Fe.stopPropagationAndPreventDefault(e),this.props.canvasController.keyboardActionHandler("deleteSelectedObjects");Fe.isCmndCtrlPressed(e)&&65===e.keyCode&&t.selectAll?(Fe.stopPropagationAndPreventDefault(e),this.props.canvasController.keyboardActionHandler("selectAll")):32===e.keyCode?this.svgCanvasD3.isSpaceKeyPressed()||(Fe.stopPropagationAndPreventDefault(e),this.svgCanvasD3.setSpaceKeyPressed(!0)):Fe.isCmndCtrlPressed(e)&&e.shiftKey&&e.altKey&&80===e.keyCode&&(Fe.stopPropagationAndPreventDefault(e),Re.switchLoggingState())}}},{key:"onKeyUp",value:function(){this.svgCanvasD3.setSpaceKeyPressed(!1)}},{key:"onMouseMove",value:function(e){e.target&&e.target.className&&("svg-area"===e.target.className.baseVal||"d3-svg-background"===e.target.className.baseVal)?this.mousePos={x:e.clientX,y:e.clientY}:this.mousePos=null}},{key:"onClickReturnToPrevious",value:function(e){e.stopPropagation(),e.preventDefault(),this.props.canvasController.displayPreviousPipeline()}},{key:"setCanvasInfo",value:function(){var e=this.props.canvasController.objectModel.getNodeLayout(),t=this.props.canvasController.objectModel.getCanvasLayout();this.svgCanvasD3.setCanvasInfo(this.props.canvasInfo,this.props.selectionInfo,this.props.breadcrumbs,e,t,this.props.canvasConfig)}},{key:"getLabel",value:function(e){return this.props.intl.formatMessage({id:e,defaultMessage:Ge[e]})}},{key:"getDNDJson",value:function(e){try{return JSON.parse(e.dataTransfer.getData(k))}catch(e){return this.logger.warn("The dragged object's data does not conform to the expected internal format: "+e),null}}},{key:"getSVGCanvasD3",value:function(){return this.svgCanvasD3}},{key:"getStateTag",value:function(){var e=null;return this.props.canvasConfig.enableStateTag!==z&&this.props.canvasConfig.enableStateTag!==M||(e=s.createElement(jn,{stateTagType:this.props.canvasConfig.enableStateTag,canvasController:this.props.canvasController})),e}},{key:"getEmptyCanvas",value:function(){var e=null;return this.props.canvasController.isPrimaryPipelineEmpty()&&(e=this.props.canvasConfig.emptyCanvasContent?s.createElement("div",{className:"empty-canvas"},this.props.canvasConfig.emptyCanvasContent):s.createElement("div",{className:"empty-canvas"},s.createElement("div",{className:"empty-canvas-image"},s.createElement(st,null)),s.createElement("span",{className:"empty-canvas-text1"},this.getLabel("canvas.flowIsEmpty")),s.createElement("span",{className:"empty-canvas-text2"},this.getLabel("canvas.addNodeToStart")))),e}},{key:"getReturnToPreviousBtn",value:function(){var e,t,n=null;if(!this.props.canvasController.isPrimaryPipelineEmpty()&&(this.props.canvasController.isDisplayingFullPageSubFlow()||null!==(e=this.props.canvasConfig)&&void 0!==e&&null!==(t=e.enableCanvasLayout)&&void 0!==t&&t.alwaysDisplayBackToParentFlow)){var i=this.getLabel("canvas.returnToPrevious");n=s.createElement("div",{className:"return-to-previous"},s.createElement(je,{kind:"tertiary",onClick:this.onClickReturnToPrevious,"aria-label":i,size:"md"},s.createElement("div",{className:"return-to-previous-content"},s.createElement(lt,null),s.createElement("span",null,i))))}return n}},{key:"getContextMenu",value:function(){return this.props.canvasConfig.enableContextToolbar?s.createElement(On,{canvasController:this.props.canvasController,containingDivId:this.mainCanvasDivId}):s.createElement(Pn,{canvasController:this.props.canvasController,containingDivId:this.mainCanvasDivId})}},{key:"getTextToolbar",value:function(){return s.createElement(zn,{canvasController:this.props.canvasController})}},{key:"getDropZone",value:function(){var e=null;return this.isDropZoneDisplayed()&&(e=this.props.canvasConfig.dropZoneCanvasContent?this.props.canvasConfig.dropZoneCanvasContent:s.createElement("div",null,s.createElement("div",{className:"dropzone-canvas"}),s.createElement("div",{className:"dropzone-canvas-rect"}))),e}},{key:"getSVGCanvasDiv",value:function(){return s.createElement("div",{tabIndex:"-1",className:"d3-svg-canvas-div",id:this.svgCanvasDivId,onKeyDown:this.onKeyDown,onKeyUp:this.onKeyUp})}},{key:"setIsDropZoneDisplayed",value:function(e){e!==this.state.isDropZoneDisplayed&&this.setState({isDropZoneDisplayed:e})}},{key:"isDropZoneDisplayed",value:function(){return this.props.canvasConfig.enableDropZoneOnExternalDrag&&this.state.isDropZoneDisplayed}},{key:"isDataTypeBeingDraggedFile",value:function(e){return!(!e.dataTransfer||!Array.isArray(e.dataTransfer.types))&&e.dataTransfer.types.includes("Files")}},{key:"afterUpdate",value:function(){this.afterUpdateCallbacks.forEach((function(e){return e()}))}},{key:"addAfterUpdateCallback",value:function(e){-1===this.afterUpdateCallbacks.findIndex((function(t){return t===e}))&&this.afterUpdateCallbacks.push(e)}},{key:"removeAfterUpdateCallback",value:function(e){var t=this.afterUpdateCallbacks.findIndex((function(t){return t===e}));t>-1&&this.afterUpdateCallbacks.splice(t,1)}},{key:"addEventListeners",value:function(){this.eventListenersAdded||(document.addEventListener("cut",this.onCut,!0),document.addEventListener("copy",this.onCopy,!0),document.addEventListener("paste",this.onPaste,!0),document.addEventListener("mousemove",this.onMouseMove,!0),this.eventListenersAdded=!0)}},{key:"removeEventListeners",value:function(){this.eventListenersAdded&&(document.removeEventListener("cut",this.onCut,!0),document.removeEventListener("copy",this.onCopy,!0),document.removeEventListener("paste",this.onPaste,!0),document.removeEventListener("mousemove",this.onMouseMove,!0),this.eventListenersAdded=!1)}},{key:"drop",value:function(e){if(e.preventDefault(),this.setIsDropZoneDisplayed(!1),this.first=!1,this.second=!1,this.props.canvasConfig.enableEditingActions){var t=this.props.canvasController.getDragNodeTemplate();if(t)this.svgCanvasD3.nodeTemplateDropped(t,e.clientX,e.clientY),this.props.canvasController.nodeTemplateDragEnd();else{var n=this.getDNDJson(e);n||(n={operation:"addToCanvas",data:{dataTransfer:e.dataTransfer,editType:"createFromExternalObject"}}),this.svgCanvasD3.externalObjectDropped(n,e.clientX,e.clientY)}}}},{key:"dragOver",value:function(e){if(Math.abs(this.dragX-e.clientX)>5||Math.abs(this.dragY-e.clientY)>5){this.dragX=e.clientX,this.dragY=e.clientY;var t=this.props.canvasController.getDragNodeTemplate();t&&this.svgCanvasD3.nodeTemplateDragOver(t,e.clientX,e.clientY)}}},{key:"dragEnter",value:function(e){this.dragX=null,this.dragY=null,this.isDataTypeBeingDraggedFile(e)&&(this.first?this.second=!0:(this.first=!0,this.setIsDropZoneDisplayed(!0))),e.preventDefault()}},{key:"dragLeave",value:function(e){this.isDataTypeBeingDraggedFile(e)&&(this.second?this.second=!1:this.first&&(this.first=!1),this.first||this.second||this.setIsDropZoneDisplayed(!1)),e.preventDefault()}},{key:"focusOnCanvas",value:function(){document.getElementById(this.svgCanvasDivId)&&document.getElementById(this.svgCanvasDivId).focus()}},{key:"refreshOnSizeChange",value:function(){this.svgCanvasD3&&this.svgCanvasD3.refreshOnSizeChange()}},{key:"render",value:function(){this.logger.log("render");var e=this.getStateTag(),t=this.getEmptyCanvas(),n=this.getReturnToPreviousBtn(),i=this.getContextMenu(),o=this.getTextToolbar(),r=this.getDropZone(),a=this.getSVGCanvasDiv();return s.createElement("main",{"aria-label":this.getLabel("canvas.label"),role:"main"},s.createElement(Be,{handleWidth:!0,handleHeight:!0,onResize:this.refreshOnSizeChange},s.createElement("div",{id:this.mainCanvasDivId,className:"common-canvas-drop-div",onDrop:this.drop,onDragOver:this.dragOver,onDragEnter:this.dragEnter,onDragLeave:this.dragLeave},a,t,n,e,i,o,r)))}}]),r}(s.Component),Ol=l((function(e,t){return{canvasInfo:e.canvasinfo,canvasConfig:e.canvasconfig,bottomPanelIsOpen:e.bottompanel.isOpen,selectionInfo:e.selectioninfo,breadcrumbs:e.breadcrumbs}}))(u(Il));function _l(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var Al=function(n){i(r,n);var o=_l(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).logger=new Re("CC-Toolbar"),n.getLabel=n.getLabel.bind(a(n)),n.toolbarActionHandler=n.toolbarActionHandler.bind(a(n)),n}return t(r,[{key:"getLabel",value:function(e,t){var n=Ge[e]?Ge[e]:_n[e];return this.props.intl.formatMessage({id:e,defaultMessage:n},t)}},{key:"getDefaultToolbar",value:function(){return{leftBar:[{action:"undo",label:this.getLabel("canvas.undo"),enable:!0},{action:"redo",label:this.getLabel("canvas.redo"),enable:!0},{action:"cut",label:this.getLabel("edit.cutSelection"),enable:!0},{action:"copy",label:this.getLabel("edit.copySelection"),enable:!0},{action:"paste",label:this.getLabel("edit.pasteSelection"),enable:!0},{action:"createAutoComment",label:this.getLabel("canvas.addComment"),enable:!0},{action:"deleteSelectedObjects",label:this.getLabel("canvas.deleteObject"),enable:!0}],rightBar:[{action:"zoomIn",label:this.getLabel("toolbar.zoomIn"),enable:!0},{action:"zoomOut",label:this.getLabel("toolbar.zoomOut"),enable:!0},{action:"zoomToFit",label:this.getLabel("toolbar.zoomToFit"),enable:!0}]}}},{key:"getConvertedLegacyToolbar",value:function(e){return{leftBar:e,rightBar:this.getDefaultRightBar()}}},{key:"getDefaultRightBar",value:function(){return[{action:"zoomIn",label:this.getLabel("toolbar.zoomIn"),enable:!0},{action:"zoomOut",label:this.getLabel("toolbar.zoomOut"),enable:!0},{action:"zoomToFit",label:this.getLabel("toolbar.zoomToFit"),enable:!0}]}},{key:"getNotificationClassName",value:function(){var e=this.props.canvasController.getNotificationMessagesMaxType(),t=Se;return e===_?t+=" error":e===A?t+=" warning":e===Ne?t+=" success":e===Te&&(t+=" info"),t}},{key:"generateToolbarConfig",value:function(){var e=this.copyConfig();return e?Array.isArray(e)?e=this.getConvertedLegacyToolbar(e):void 0===e.rightBar&&(e.rightBar=this.getDefaultRightBar()):e=this.getDefaultToolbar(),e=Object.assign({},e,{leftBar:this.optionallyAddPaletteTool(e.leftBar||[])},{rightBar:this.optionallyAddNotificationTool(e.rightBar||[])})}},{key:"copyConfig",value:function(){if(!this.props.config)return null;if(Array.isArray(this.props.config))return _e(this.props.config);var e={};return this.props.config.overrideAutoEnableDisable&&(e.overrideAutoEnableDisable=!0),this.props.config&&this.props.config.leftBar&&(e.leftBar=_e(this.props.config.leftBar)),this.props.config&&this.props.config.rightBar&&(e.rightBar=_e(this.props.config.rightBar)),e}},{key:"toolbarActionHandler",value:function(e){this.props.canvasController.toolbarActionHandler(e)}},{key:"optionallyAddPaletteTool",value:function(e){var t=this.getLabel("toolbar.palette"),n=e;return e&&e.length>0&&"palette"===e[0].action&&(t=e[0].label?e[0].label:t,n=e.slice(1),e.length>1&&e[1].divider&&(n=e.slice(2))),this.props.isPaletteEnabled?[this.props.isPaletteOpen?{action:"paletteClose",label:t,enable:!0}:{action:"paletteOpen",label:t,enable:!0},{divider:!0}].concat(n):n}},{key:"optionallyAddNotificationTool",value:function(e){if(this.props.notificationConfig&&void 0!==this.props.notificationConfig.action&&void 0!==this.props.notificationConfig.enable){var t=this.props.notificationMessages.length,n=[{divider:!0},{action:Pe,label:this.props.notificationConfig.label,enable:this.props.notificationConfig.enable,isSelected:this.props.isNotificationOpen,className:this.getNotificationClassName(),textContent:t>9?"9+":t.toString()}];return e.concat(n)}return e}},{key:"configureToolbarButtonsState",value:function(e){if(!this.props.enableInternalObjectModel||e.overrideAutoEnableDisable)return e;if(void 0!==e){var t=this.props.enableEditingActions;this.applyToolState("undo",e,t&&this.props.canUndo),this.applyToolState("redo",e,t&&this.props.canRedo),this.applyToolState("cut",e,t&&this.props.canCutCopy),this.applyToolState("copy",e,t&&this.props.canCutCopy),this.applyToolState("paste",e,t&&this.props.canPaste),this.applyToolState("deleteSelectedObjects",e,t&&this.props.canDelete),this.applyToolState("createAutoComment",e,t),this.applyToolState("arrangeHorizontally",e,t),this.applyToolState("arrangeVertically",e,t),this.applyToolState("zoomIn",e,this.props.canZoomIn),this.applyToolState("zoomOut",e,this.props.canZoomOut),this.applyToolState("zoomToFit",e,this.props.canZoomToFit)}return e}},{key:"addUndoRedoCommandLabels",value:function(e){var t=this.props.undoLabel,n=this.props.redoLabel;if(t){var i=this.findTool("undo",e);i&&(i.label=this.getLabel("canvas.undoCommand",{undo_command:t}))}if(n){var o=this.findTool("redo",e);o&&(o.label=this.getLabel("canvas.redoCommand",{redo_command:n}))}return e}},{key:"applyToolState",value:function(e,t,n){var i=this.findTool(e,t);i?i.enable=n:this.logger.log("Toolbar tool "+e+" could not be found to set state to "+n)}},{key:"findTool",value:function(e,t){var n={};return t.leftBar&&(n=t.leftBar.find((function(t){return t.action===e}))),!n&&t.rightBar&&(n=t.rightBar.find((function(t){return t.action===e}))),n}},{key:"render",value:function(){this.logger.log("render");var e=this.generateToolbarConfig();e=this.configureToolbarButtonsState(e),e=this.addUndoRedoCommandLabels(e);var t=null;return this.props.enableToolbarLayout===Le&&(t=s.createElement("div",{"aria-label":this.getLabel("toolbar.label"),role:"navigation",className:"common-canvas-toolbar"},s.createElement(Oe,{config:e,instanceId:this.props.canvasController.getInstanceId(),toolbarActionHandler:this.toolbarActionHandler,additionalText:{overflowMenuLabel:this.getLabel("toolbar.overflowMenu")}}))),t}}]),r}(s.Component),Ml=l((function(e,t){return{enableToolbarLayout:e.canvasconfig.enableToolbarLayout,config:e.canvastoolbar.config,isPaletteEnabled:e.canvasconfig.enablePaletteLayout!==we,isPaletteOpen:e.palette.isOpen,isNotificationOpen:e.notificationpanel.isOpen,notificationConfig:e.notificationpanel.config,notificationMessages:e.notifications,enableInternalObjectModel:e.canvasconfig.enableInternalObjectModel,enableEditingActions:e.canvasconfig.enableEditingActions,canUndo:t.canvasController.canUndo(),canRedo:t.canvasController.canRedo(),canCutCopy:t.canvasController.canCutCopy(),canPaste:t.canvasController.canPaste(),canDelete:t.canvasController.canDelete(),canZoomIn:t.canvasController.canZoomIn(),canZoomOut:t.canvasController.canZoomOut(),canZoomToFit:t.canvasController.canZoomToFit(),undoLabel:t.canvasController.getUndoLabel(),redoLabel:t.canvasController.getRedoLabel()}}))(u(Al));function zl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var Hl=function(n){i(r,n);var o=zl(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).logger=new Re("CC-RightFlyout"),n}return t(r,[{key:"render",value:function(){this.logger.log("render");var e=null;if(this.props.content&&this.props.isOpen){var t=this.props.enableRightFlyoutUnderToolbar?"right-flyout-panel under-toolbar":"right-flyout-panel";e=s.createElement("div",{className:t},this.props.content)}return e}}]),r}(s.Component),jl=l((function(e,t){return{isOpen:e.rightflyout.isOpen,content:e.rightflyout.content,enableRightFlyoutUnderToolbar:e.canvasconfig.enableRightFlyoutUnderToolbar}}))(Hl);function Rl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var Ul=function(n){i(r,n);var o=Rl(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).logger=new Re("CC-Bottom-Panel"),n.onMouseUp=n.onMouseUp.bind(a(n)),n.onMouseDown=n.onMouseDown.bind(a(n)),n.onMouseMoveY=n.onMouseMoveY.bind(a(n)),n}return t(r,[{key:"onMouseDown",value:function(e){0===e.button&&(document.addEventListener("mousemove",this.onMouseMoveY,!0),document.addEventListener("mouseup",this.onMouseUp,!0),this.posY=e.clientY,e.preventDefault())}},{key:"onMouseUp",value:function(e){document.removeEventListener("mousemove",this.onMouseMoveY,!0),document.removeEventListener("mouseup",this.onMouseUp,!0)}},{key:"onMouseMoveY",value:function(e){if(e.clientY){var t=e.clientY-this.posY,n=this.props.panelHeight-t;this.props.canvasController.setBottomPanelHeight(this.limitHeight(n)),this.posY=e.clientY}}},{key:"limitHeight",value:function(e){var t=document.getElementById(this.props.containingDivId),n=e;if(t){var i=t.getBoundingClientRect().height-100;n=Math.min(Math.max(n,75),i)}return n}},{key:"render",value:function(){this.logger.log("render");var e=null;if(this.props.bottomPanelIsOpen){var t=this.limitHeight(this.props.panelHeight)+"px";e=s.createElement("div",{className:"bottom-panel",style:{height:t}},s.createElement("div",{className:"bottom-panel-drag",onMouseDown:this.onMouseDown}),s.createElement("div",{className:"bottom-panel-contents"},this.props.bottomPanelContent))}return e}}]),r}(s.Component),Bl=l((function(e,t){return{bottomPanelIsOpen:e.bottompanel.isOpen,bottomPanelContent:e.bottompanel.content,panelHeight:e.bottompanel.panelHeight}}))(Ul);function Fl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var Gl=function(n){i(r,n);var o=Fl(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).logger=new Re("CC-Top-Panel"),n}return t(r,[{key:"render",value:function(){this.logger.log("render");var e=null,t="top-panel";return this.props.toolbarIsOpen&&(t+=" common-canvas-toolbar-none"),this.props.topPanelIsOpen&&(e=s.createElement("div",{className:t},this.props.topPanelContent)),e}}]),r}(s.Component),Yl=l((function(e,t){return{topPanelIsOpen:e.toppanel.isOpen,topPanelContent:e.toppanel.content,toolbarIsOpen:"None"===e.canvasconfig.enableToolbarLayout}}))(Gl),Wl="Close";function Xl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var Zl=function(n){i(r,n);var o=Xl(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).state={},n.firstTime=!0,n.logger=new Re("NotificationPanel"),n.handleNotificationPanelClickOutside=n.handleNotificationPanelClickOutside.bind(a(n)),n.closeNotificationPanel=n.closeNotificationPanel.bind(a(n)),n}return t(r,[{key:"componentDidMount",value:function(){document.addEventListener("click",this.handleNotificationPanelClickOutside,!0)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("click",this.handleNotificationPanelClickOutside,!0)}},{key:"getNotifications",value:function(){var e=[];if(!this.props.messages)return e;for(var t=0;t<this.props.messages.length;t++){var n=this.props.messages[t],i=n.callback?" clickable ":"",o=n.type,r=s.createElement("div",{className:"notification-message-type"},s.createElement(m,{type:o,className:"notification-message-icon-".concat(o)})),a=n.title?s.createElement("div",{className:"notification-message-title"},n.title):null,l=n.subtitle?s.createElement("div",{className:"notification-message-subtitle"},n.subtitle,s.createElement("hr",null)):null,c=n.closeMessage?s.createElement("div",{className:"notification-message-close",onClick:this.deleteNotification.bind(this,n.id)},n.closeMessage):null,u=n.timestamp?s.createElement("div",{className:"notification-message-timestamp"},s.createElement("div",{className:"notification-message-timestamp-icon"},s.createElement(m,{type:"time"})),s.createElement("div",{className:"notification-message-string"},n.timestamp)):null;e.push(s.createElement("div",{className:"notifications-button-container",key:t+"-"+n.id},s.createElement("div",{className:"notifications "+i+n.type,onClick:this.notificationCallback.bind(this,n.id,n.callback)},r,s.createElement("div",{className:"notification-message-details"},a,l,s.createElement("div",{className:"notification-message-content"},n.content),u,c))))}return e}},{key:"handleNotificationPanelClickOutside",value:function(e){this.props.isNotificationOpen&&this.props.notificationConfig&&!this.props.notificationConfig.keepOpen&&this.isClickOutsideNotificationPanel(e)&&(this.props.canvasController.toolbarActionHandler("closeNotificationPanel"),e.stopPropagation())}},{key:"isClickOutsideNotificationPanel",value:function(e){return!e.target.closest(".notification-panel")}},{key:"notificationCallback",value:function(e,t){t&&t(e)}},{key:"deleteNotification",value:function(e){this.props.canvasController.deleteNotificationMessages(e)}},{key:"clearNotificationMessages",value:function(){this.props.canvasController.clearNotificationMessages(),"function"==typeof this.props.notificationConfig.clearAllCallback&&this.props.notificationConfig.clearAllCallback()}},{key:"closeNotificationPanel",value:function(){this.props.canvasController.toolbarActionHandler("closeNotificationPanel")}},{key:"render",value:function(){if(this.logger.log("render"),!this.props.notificationConfig)return null;var e=this.props.isNotificationOpen?"":"panel-hidden";e+=this.firstTime?"":" panel-transition",this.firstTime=!1;var t=this.props.notificationConfig&&this.props.notificationConfig.notificationHeader?this.props.notificationConfig.notificationHeader:De,n=this.props.notificationConfig&&this.props.notificationConfig.notificationSubtitle?s.createElement("div",{className:"notification-panel-subtitle"},this.props.notificationConfig.notificationSubtitle):null,i=this.props.messages.length>0?this.getNotifications():s.createElement("div",{className:"notification-panel-empty-message-container"},s.createElement("div",{className:"notification-panel-empty-message"},this.props.notificationConfig&&this.props.notificationConfig.emptyMessage?this.props.notificationConfig.emptyMessage:null)),o=this.props.notificationConfig&&this.props.notificationConfig.clearAllMessage?s.createElement("div",{className:"notification-panel-clear-all-container"},s.createElement(je,{className:"notification-panel-clear-all",onClick:this.clearNotificationMessages.bind(this),kind:"ghost",size:"small",disabled:0===this.props.messages.length},this.props.notificationConfig.clearAllMessage)):null,r=this.props.notificationConfig&&this.props.notificationConfig.secondaryButtonLabel&&this.props.notificationConfig.secondaryButtonCallback?s.createElement("div",{className:"notification-panel-secondary-button-container"},s.createElement(je,{className:"notification-panel-secondary-button",onClick:this.props.notificationConfig.secondaryButtonCallback.bind(this),kind:"ghost",size:"small",disabled:this.props.secondaryButtonDisabled},this.props.notificationConfig.secondaryButtonLabel)):null;return s.createElement("div",{className:"notification-panel-container "+e},s.createElement("div",{className:"notification-panel"},s.createElement("div",{className:"notification-panel-header-container"},s.createElement("div",{className:"notification-panel-header"},t,s.createElement(je,{className:"notification-panel-close-button",size:"sm",kind:"ghost",renderIcon:ct,hasIconOnly:!0,iconDescription:this.props.intl.formatMessage({id:"notification.panel.close.button.description",defaultMessage:Wl}),onClick:this.closeNotificationPanel,tooltipAlignment:"end",tooltipPosition:"bottom"})),n),s.createElement("div",{className:"notification-panel-messages"},i),s.createElement("div",{className:"notification-panel-button-container"},o,r)))}}],[{key:"getDerivedStateFromProps",value:function(e,t){return e.messages!==t.messages?{messages:e.messages}:{}}}]),r}(s.Component),Vl=l((function(e,t){return{notificationConfig:e.notificationpanel.config,secondaryButtonDisabled:!!e.notificationpanel.config&&e.notificationpanel.config.secondaryButtonDisabled,isNotificationOpen:e.notificationpanel.isOpen,messages:e.notifications}}))(u(Zl));function Kl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var ql=function(n){i(r,n);var o=Kl(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).logger=new Re("CC-CentralItems"),n}return t(r,[{key:"onDragOver",value:function(e){e.preventDefault()}},{key:"onDrop",value:function(e){e.preventDefault()}},{key:"generateClass",value:function(){var e="common-canvas";return e+=this.props.enableEditingActions?"":" config-editing-actions-false",e+=this.props.enableParentClass?" "+this.props.enableParentClass:""}},{key:"render",value:function(){this.logger.log("render");var e=s.createElement(kn,{canvasController:this.props.canvasController}),t=s.createElement(yn,{canvasController:this.props.canvasController,containingDivId:this.props.containingDivId}),n=s.createElement(jl,null),i=s.createElement(Ml,{canvasController:this.props.canvasController}),o=s.createElement(Ol,{canvasController:this.props.canvasController}),r=s.createElement(Bl,{canvasController:this.props.canvasController,containingDivId:this.props.containingDivId}),a=s.createElement(Yl,{canvasController:this.props.canvasController,containingDivId:this.props.containingDivId}),l=s.createElement(Vl,{canvasController:this.props.canvasController}),c=null;if(this.props.enableRightFlyoutUnderToolbar){var u=this.props.toolbarIsOpen?"auto 1fr":"1fr",d=this.props.rightFlyoutIsOpen?"1fr auto":"1fr",h=this.props.topPanelIsOpen?"auto 1fr":"1fr";h+=this.props.bottomPanelIsOpen?" auto":"",c=s.createElement("div",{className:"common-canvas-right-side-items-under-toolbar",style:{gridTemplateRows:u}},i,s.createElement("div",{id:this.props.containingDivId,className:"common-canvas-items-container-under-toolbar",style:{gridTemplateColumns:d}},s.createElement("div",{className:"common-canvas-with-top-and-bottom-panel",style:{gridTemplateRows:h}},a,o,r),n),l)}else{var p="";p+=this.props.toolbarIsOpen?"auto":"",p+=this.props.topPanelIsOpen?" auto":"",p+=" 1fr",p+=this.props.bottomPanelIsOpen?" auto":"",c=s.createElement("div",{className:"common-canvas-right-side-items"},s.createElement("div",{id:this.props.containingDivId,className:"common-canvas-items-container",style:{gridTemplateRows:p}},i,a,o,r,l),n)}var g=this.generateClass();return s.createElement("div",{className:g,onDragOver:this.onDragOver,onDrop:this.onDrop},t,c,e)}}]),r}(s.Component),$l=l((function(e,t){return{enableParentClass:e.canvasconfig.enableParentClass,enableEditingActions:e.canvasconfig.enableEditingActions,enableRightFlyoutUnderToolbar:e.canvasconfig.enableRightFlyoutUnderToolbar,toolbarIsOpen:"None"!==e.canvasconfig.enableToolbarLayout,topPanelIsOpen:e.toppanel.isOpen,bottomPanelIsOpen:e.bottompanel.isOpen,rightFlyoutIsOpen:e.rightflyout.isOpen}}))(ql);function Jl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return r(this,n)}}var Ql=u(function(n){i(r,n);var o=Jl(r);function r(t){var n;return e(this,r),(n=o.call(this,t)).logger=new Re(["CommonCanvas"]),n.logger.log("constructor"),n.initializeController=n.initializeController.bind(a(n)),n.containingDivId="common-canvas-items-container-"+t.canvasController.getInstanceId(),t.canvasController.setIntl(t.intl),n.initializeController(t),n}return t(r,[{key:"componentDidUpdate",value:function(){this.logger.log("componentDidUpdate"),this.initializeController(this.props)}},{key:"initializeController",value:function(e){this.logger.logStartTimer("initializeController"),e.canvasController.setCanvasConfig(e.config),e.canvasController.setContextMenuConfig(e.contextMenuConfig),e.canvasController.setKeyboardConfig(e.keyboardConfig),e.canvasController.setToolbarConfig(e.toolbarConfig),e.canvasController.setNotificationPanelConfig(e.notificationConfig),e.canvasController.setRightFlyoutConfig({content:e.rightFlyoutContent,isOpen:e.showRightFlyout}),e.canvasController.setBottomPanelConfig({content:e.bottomPanelContent,isOpen:e.showBottomPanel}),e.canvasController.setTopPanelConfig({content:e.topPanelContent,isOpen:e.showTopPanel}),e.canvasController.setHandlers({contextMenuHandler:e.contextMenuHandler,beforeEditActionHandler:e.beforeEditActionHandler,editActionHandler:e.editActionHandler,clickActionHandler:e.clickActionHandler,decorationActionHandler:e.decorationActionHandler,tipHandler:e.tipHandler,layoutHandler:e.layoutHandler,idGeneratorHandler:e.idGeneratorHandler,selectionChangeHandler:e.selectionChangeHandler,actionLabelHandler:e.actionLabelHandler}),this.logger.logEndTimer("initializeController")}},{key:"render",value:function(){return this.logger.log("render"),s.createElement(c,{store:this.props.canvasController.getStore()},s.createElement($l,{canvasController:this.props.canvasController,containingDivId:this.containingDivId}))}}]),r}(s.Component));export{Ql as c};
|
|
2
|
+
//# sourceMappingURL=common-canvas-9be06eb4.js.map
|