@elyra/canvas 13.41.2 → 13.42.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.
Files changed (39) hide show
  1. package/dist/canvas-controller-40365e79.js +2 -0
  2. package/dist/canvas-controller-40365e79.js.map +1 -0
  3. package/dist/canvas-controller-6e8175f3.js +2 -0
  4. package/dist/canvas-controller-6e8175f3.js.map +1 -0
  5. package/dist/{common-canvas-f6aa2d68.js → common-canvas-60e6c495.js} +2 -2
  6. package/dist/common-canvas-60e6c495.js.map +1 -0
  7. package/dist/{common-canvas-76637856.js → common-canvas-c6a5094d.js} +2 -2
  8. package/dist/common-canvas-c6a5094d.js.map +1 -0
  9. package/dist/common-canvas.es.js +1 -1
  10. package/dist/common-canvas.js +1 -1
  11. package/dist/common-properties-2010da23.js +2 -0
  12. package/dist/common-properties-2010da23.js.map +1 -0
  13. package/dist/common-properties-abcfd713.js +2 -0
  14. package/dist/common-properties-abcfd713.js.map +1 -0
  15. package/dist/lib/canvas-controller.es.js +1 -1
  16. package/dist/lib/canvas-controller.js +1 -1
  17. package/dist/lib/canvas.es.js +1 -1
  18. package/dist/lib/canvas.js +1 -1
  19. package/dist/lib/properties.es.js +1 -1
  20. package/dist/lib/properties.js +1 -1
  21. package/package.json +2 -2
  22. package/src/command-actions/arrangeLayoutAction.js +4 -0
  23. package/src/common-canvas/svg-canvas-renderer.js +38 -1
  24. package/src/common-properties/components/wide-flyout/wide-flyout.jsx +10 -6
  25. package/src/object-model/api-pipeline.js +4 -0
  26. package/src/object-model/redux/reducers/canvasinfo.js +1 -0
  27. package/src/object-model/redux/reducers/comments.js +4 -0
  28. package/stats.html +1 -1
  29. package/types/common-properties.d.ts +1 -1
  30. package/dist/canvas-controller-73f1a168.js +0 -2
  31. package/dist/canvas-controller-73f1a168.js.map +0 -1
  32. package/dist/canvas-controller-8093b1c5.js +0 -2
  33. package/dist/canvas-controller-8093b1c5.js.map +0 -1
  34. package/dist/common-canvas-76637856.js.map +0 -1
  35. package/dist/common-canvas-f6aa2d68.js.map +0 -1
  36. package/dist/common-properties-2c1ae93f.js +0 -2
  37. package/dist/common-properties-2c1ae93f.js.map +0 -1
  38. package/dist/common-properties-44874063.js +0 -2
  39. package/dist/common-properties-44874063.js.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("./createClass-df7b07d6.js"),t=require("./inherits-74e481d1.js"),n=require("react"),i=require("react-redux"),o=require("react-intl"),a=require("./toolbar-f49f9bc4.js"),r=require("./datarecord-metadata-v3-schema-e8c37ecf.js"),s=require("./common-canvas-utils-0422db0b.js"),l=require("@carbon/react"),c=require("react-inlinesvg"),u=require("./keyboard-utils-36a4cde5.js"),d=require("./icon-cd9138da.js"),h=require("./canvas-logger-8c01664d.js"),g=require("./bucket-3-ce4b6e95.js"),p=require("./isArrayLikeObject-9f61d956.js"),f=require("./lib/tooltip.js"),v=require("./canvas-controller-73f1a168.js"),y=require("./context-menu-wrapper-0aba15be.js"),m=require("./toInteger-59f8800a.js"),b=require("./en-412ab08a.js"),C=require("./defineProperty-d68f985b.js"),k=require("markdown-it"),L=require("react-dom");function x(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var T=x(n),P=x(c),N=x(k),S=x(L),O={"palette.flyout.search.placeholder":"Find palette nodes","palette.flyout.search.noresults":"No results found.","palette.flyout.search.adjustsearch":"Try adjusting your search to find what you're looking for.","palette.flyout.search.resultsrestricted":"Results restricted to 10 nodes. Try refining your search.","palette.flyout.search.more":"Show more","palette.flyout.search.less":"Show less","palette.flyout.label":"Flyout Palette","palette.dialog.label":"Dialog Palette","palette.dialog.grid":"Grid view","palette.dialog.list":"List view","palette.dialog.close":"Close palette"};function E(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return _(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_(e,t):void 0}}(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 a,r=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return r=e.done,e},e:function(e){s=!0,a=e},f:function(){try{r||null==n.return||n.return()}finally{if(s)throw a}}}}function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function I(e,t){var n=[];if(e.node_types){var i,o=E(e.node_types);try{for(o.s();!(i=o.n()).done;){var a=i.value,r=D(a,e,t);r&&n.push({nodeType:a,category:e,occurrenceInfo:r})}}catch(e){o.e(e)}finally{o.f()}}return n}function D(e,t,n){if(n.length>0){var i=function(e,t){var n=s.has_1(e,"label")&&e.label?e.label.toLowerCase():"",i=A(n,t),o=i.occurrences,a=i.hitCounts;return{catLabelOccurrences:o,catLabelHitCounts:a}}(t,n),o=i.catLabelOccurrences,a=i.catLabelHitCounts,r=function(e,t){var n=s.has_1(e,"app_data.ui_data.label")&&e.app_data.ui_data.label?e.app_data.ui_data.label.toLowerCase():"",i=A(n,t),o=i.occurrences,a=i.hitCounts;return{nodeLabelOccurrences:o,nodeLabelHitCounts:a}}(e,n),l=r.nodeLabelOccurrences,c=r.nodeLabelHitCounts,u=function(e,t){var n=s.has_1(e,"app_data.ui_data.description")&&e.app_data.ui_data.description?e.app_data.ui_data.description.toLowerCase():"",i=A(n,t),o=i.occurrences,a=i.hitCounts;return{nodeDescOccurrences:o,nodeDescHitCounts:a}}(e,n),d=u.nodeDescOccurrences,h=u.nodeDescHitCounts;if(o.length>0||l.length>0||d.length>0){var g=function(e,t,n,i){for(var o=0,a=0,r=0;r<i;r++)o+=e[r]+10*t[r]+n[r],e[r]+t[r]+n[r]>0&&a++;return o+50*a}(a,c,h,n.length);return{catLabelOccurrences:o,nodeLabelOccurrences:l,nodeDescOccurrences:d,ranking:g}}}return null}function A(e,t){var n=[],i=[];return t.forEach(function(t){if(t){var o=function(e,t){var n=[],i=0,o=0,a=0;for(;o>-1&&a<20;)(o=e.indexOf(t,i))>-1&&(n.push({start:o,end:o+t.length}),i=o+t.length,a++);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 w(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(w=function(){return!!e})()}var U=function(n){function i(){return e._classCallCheck(this,i),n=this,o=i,a=arguments,o=t._getPrototypeOf(o),t._possibleConstructorReturn(n,w()?Reflect.construct(o,a||[],t._getPrototypeOf(n).constructor):o.apply(n,a));var n,o,a}return t._inherits(i,n),e._createClass(i,[{key:"render",value:function(){var e=this.props.intl.formatMessage({id:this.props.id,defaultMessage:O[this.props.id]});return T.default.createElement("div",{key:"l_btn",className:"palette-list-item-desc-button",onClick:this.props.onClick},e)}}])}(T.default.Component),j=o.injectIntl(U),M="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",R="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 z(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(z=function(){return!!e})()}var F=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,z()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).state={showFullDescription:!1},o.ghostData=null,o.showFullDescription=o.showFullDescription.bind(o),o.showShortDescription=o.showShortDescription.bind(o),o.onDragStart=o.onDragStart.bind(o),o.onDragEnd=o.onDragEnd.bind(o),o.onClick=o.onClick.bind(o),o.onDoubleClick=o.onDoubleClick.bind(o),o.onMouseOver=o.onMouseOver.bind(o),o.onMouseLeave=o.onMouseLeave.bind(o),o.onMouseDown=o.onMouseDown.bind(o),o.onKeyDown=o.onKeyDown.bind(o),o}return t._inherits(i,n),e._createClass(i,[{key:"onMouseDown",value:function(){this.props.canvasController.closeTip(),this.props.setFocusIndex&&this.props.setFocusIndex(),this.ghostData=this.props.canvasController.getGhostNode(this.props.nodeTypeInfo.nodeType)}},{key:"onDragStart",value:function(e){this.props.canvasController.closeTip(),this.props.canvasController.nodeTemplateDragStart(this.ghostData.nodeTemplate),e.dataTransfer.setData(s.DND_DATA_TEXT,""),this.ghostData&&e.dataTransfer.setDragImage(this.ghostData.element,this.ghostData.centerX,this.ghostData.centerY)}},{key:"onKeyDown",value:function(e){u.KeyboardUtils.createAutoNode(e)?(this.createAutoNode(!0),e.stopPropagation()):u.KeyboardUtils.createAutoNodeNoLink(e)?this.createAutoNode(!1):u.KeyboardUtils.nextNodeInCategory(e)&&this.props.nextNodeInCategory?this.props.nextNodeInCategory(e):u.KeyboardUtils.previousNodeInCategory(e)&&this.props.previousNodeInCategory?this.props.previousNodeInCategory(e):u.KeyboardUtils.tabFocusOutOfPalette(e)&&this.props.tabOut&&this.props.tabOut(e)}},{key:"onDragEnd",value:function(){this.props.canvasController.nodeTemplateDragEnd()}},{key:"onDoubleClick",value:function(){this.props.allowClickToAdd||this.createAutoNode(!0)}},{key:"onClick",value:function(e){this.props.allowClickToAdd&&this.createAutoNode(!0),e.stopPropagation()}},{key:"onMouseOver",value:function(e){this.props.isDisplaySearchResult||0!==e.buttons||this.displayTip()}},{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);return n&&(this.state.showFullDescription?o.push(T.default.createElement(j,{id:"palette.flyout.search.less",onClick:this.showShortDescription})):o.push(T.default.createElement(j,{id:"palette.flyout.search.more",onClick:this.showFullDescription}))),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,a="",r=0;return i<n?(r=0,a=e.substring(r,n)+" ..."):o>n?(r=i,a="... "+e.substring(r,i+n)+" ...",r-=4):(r=e.length-n,a="... "+e.substring(r,e.length),r-=4),{abbrDesc:a,occurrences:t.map(function(e){return{start:e.start-r,end:e.end-r}})}}},{key:"getHighlightedText",value:function(e,t){if(!t||0===t.length)return[T.default.createElement("span",{key:"o"},e)];var n=[],i=0,o="";return t.forEach(function(a,r){o=e.substring(i,a.start),n.push(T.default.createElement("span",{key:"s"+r},o)),o=e.substring(a.start,a.end),n.push(T.default.createElement("mark",{key:"m"+r},o)),i=a.end,r===t.length-1&&a.end<e.length&&(o=e.substring(a.end),n.push(T.default.createElement("span",{key:"f"+r},o)))}),n}},{key:"getMainDivClass",value:function(){var e,t=null===(e=this.props.nodeTypeInfo)||void 0===e||null===(e=e.nodeType)||void 0===e||null===(e=e.app_data)||void 0===e||null===(e=e.ui_data)||void 0===e?void 0:e.palette_class_name,n=this.props.isDisplaySearchResult?"palette-list-item search-result":"palette-list-item";return n+=t?" "+t:"",n+=this.props.isPaletteWide?"":" palette-narrow"}},{key:"showFullDescription",value:function(){this.setState({showFullDescription:!0})}},{key:"showShortDescription",value:function(){this.setState({showFullDescription:!1})}},{key:"focus",value:function(){this.itemRef.current.focus(),this.displayTip()}},{key:"displayTip",value:function(){this.props.canvasController.closeTip();var e=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:s.TIP_TYPE_PALETTE_ITEM,targetObj:this.itemRef.current,nodeTemplate:e,category:this.props.nodeTypeInfo.category})}},{key:"isItemDisabled",value:function(){var e,t=null===(e=this.props.nodeTypeInfo.nodeType)||void 0===e||null===(e=e.app_data)||void 0===e||null===(e=e.ui_data)||void 0===e?void 0:e.palette_disabled;return!this.props.isEditingEnabled||t}},{key:"createAutoNode",value:function(e){this.props.createAutoNode&&!this.isItemDisabled()&&this.props.createAutoNode(this.props.nodeTypeInfo.nodeType,e)}},{key:"render",value:function(){var t,n=null,i=s.get_1(this.props,"nodeTypeInfo.nodeType.app_data.ui_data.label",""),o=this.isItemDisabled()?"false":"true",a=null,r=this.isItemDisabled();if(s.has_1(this.props.nodeTypeInfo.nodeType,"app_data.ui_data.image")){var l=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;l===s.USE_DEFAULT_ICON?l=M:l===s.USE_DEFAULT_EXT_ICON&&(l=R),"object"===e._typeof(l)&&T.default.isValidElement(l)?a=l:"string"==typeof l&&(a=l.endsWith(".svg")?T.default.createElement(P.default,{src:l,className:"palette-list-item-icon",draggable:"false","aria-hidden":"true"}):T.default.createElement("img",{src:l,className:"palette-list-item-icon",draggable:"false",alt:""}))}i&&(this.props.isPaletteWide||!a?n=this.props.isDisplaySearchResult?this.getHighlightedLabel(i):T.default.createElement("span",null,i):this.props.isPaletteWide||(n=T.default.createElement("span",null,i)));var c=this.props.isShowRanking&&this.props.isDisplaySearchResult&&s.has_1(this.props.nodeTypeInfo,"occurrenceInfo.ranking")?T.default.createElement("span",null,this.props.nodeTypeInfo.occurrenceInfo.ranking):null;0===this.props.nodeTypeInfo.category.node_types.length&&this.props.nodeTypeInfo.category.empty_text&&(i=this.props.nodeTypeInfo.category.empty_text,this.props.isPaletteWide&&(n=T.default.createElement("span",null,i)),o="false",a=T.default.createElement(d.Icon,{type:s.CANVAS_CARBON_ICONS.WARNING_UNFILLED,className:"palette-list-item-icon-warning",draggable:"false"}));var u=this.getMainDivClass(),h=this.props.isDisplaySearchResult?T.default.createElement("div",{className:"palette-list-item-category-label"},this.getHighlightedCategoryLabel()):null,g=this.props.isDisplaySearchResult&&null!==(t=this.props)&&void 0!==t&&null!==(t=t.nodeTypeInfo)&&void 0!==t&&null!==(t=t.nodeType)&&void 0!==t&&null!==(t=t.app_data)&&void 0!==t&&null!==(t=t.ui_data)&&void 0!==t&&t.description?T.default.createElement("div",{className:"palette-list-item-description"},this.getHighlightedDesc()):null,p=n?T.default.createElement("div",{className:"palette-list-item-text-div"},n):null;return this.itemRef=T.default.createRef(),T.default.createElement("div",{ref:this.itemRef,"data-id":this.props.nodeTypeInfo.nodeType.op,tabIndex:this.props.tabIndex,role:"button","aria-disabled":r,draggable:o,className:u,onMouseOver:this.onMouseOver,onMouseLeave:this.onMouseLeave,onKeyDown:this.props.isEditingEnabled?this.onKeyDown:null,onMouseDown:this.props.isEditingEnabled?this.onMouseDown:null,onDragStart:this.props.isEditingEnabled?this.onDragStart:null,onDragEnd:this.props.isEditingEnabled?this.onDragEnd:null,onClick:this.props.isEditingEnabled?this.onClick:null,onDoubleClick:this.props.isEditingEnabled?this.onDoubleClick:null},h,T.default.createElement("div",{className:"palette-list-item-icon-and-text"},a,p,c),g)}}])}(T.default.Component),H=F;function G(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(G=function(){return!!e})()}var B=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,G()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).currentFocusIndex=0,o.contentItemRefs=[],o.nextNodeInCategory=o.nextNodeInCategory.bind(o),o.previousNodeInCategory=o.previousNodeInCategory.bind(o),o}return t._inherits(i,n),e._createClass(i,[{key:"setFirstNode",value:function(){this.currentFocusIndex=0,this.contentItemRefs[this.currentFocusIndex].current.focus()}},{key:"setFocusIndex",value:function(e){this.currentFocusIndex=e}},{key:"nextNodeInCategory",value:function(e){this.currentFocusIndex++,this.currentFocusIndex>this.contentItemRefs.length-1&&(this.currentFocusIndex=0),this.contentItemRefs[this.currentFocusIndex].current.focus(),s.CanvasUtils.stopPropagationAndPreventDefault(e)}},{key:"previousNodeInCategory",value:function(e){this.currentFocusIndex--,this.currentFocusIndex<0&&(this.currentFocusIndex=this.contentItemRefs.length-1),this.contentItemRefs[this.currentFocusIndex].current.focus(),s.CanvasUtils.stopPropagationAndPreventDefault(e)}},{key:"render",value:function(){var e=[];if(this.contentItemRefs=[],this.props.category&&this.props.category.node_types&&0===this.props.category.node_types.length&&this.props.category.empty_text)e.push(T.default.createElement("div",{key:"item_empty"},T.default.createElement(H,{tabIndex:0,nodeTypeInfo:{nodeType:{},category:this.props.category},isDisplaySearchResult:!1,canvasController:this.props.canvasController,allowClickToAdd:this.props.allowClickToAdd,isPaletteWide:this.props.isPaletteWide,isEditingEnabled:this.props.isEditingEnabled})));else for(var t=0;t<this.props.nodeTypeInfos.length;t++){var n="item_"+t,i=T.default.createRef();this.contentItemRefs.push(i),e.push(T.default.createElement(H,{ref:i,key:n,tabIndex:-1,nodeTypeInfo:this.props.nodeTypeInfos[t],isDisplaySearchResult:!1,canvasController:this.props.canvasController,isPaletteWide:this.props.isPaletteWide,isEditingEnabled:this.props.isEditingEnabled,nextNodeInCategory:this.nextNodeInCategory,previousNodeInCategory:this.previousNodeInCategory,setFocusIndex:this.setFocusIndex.bind(this,t),allowClickToAdd:this.props.allowClickToAdd,createAutoNode:this.props.createAutoNode}))}return T.default.createElement("div",{width:"100%",draggable:"false",className:"palette-content-list palette-scroll"},e)}}])}(T.default.Component);function K(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(K=function(){return!!e})()}var W=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,K()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).onMouseOver=o.onMouseOver.bind(o),o.onMouseLeave=o.onMouseLeave.bind(o),o.onFocus=o.onFocus.bind(o),o.onKeyDownCategory=o.onKeyDownCategory.bind(o),o.onHeadingClick=o.onHeadingClick.bind(o),o.getTitleObj=o.getTitleObj.bind(o),o}return t._inherits(i,n),e._createClass(i,[{key:"onMouseOver",value:function(e){this.displayTip(e)}},{key:"onMouseLeave",value:function(){this.props.canvasController.closeTip()}},{key:"onFocus",value:function(e){this.displayTip(e)}},{key:"onKeyDownCategory",value:function(e){u.KeyboardUtils.openCategory(e)?(this.onHeadingClick(),s.CanvasUtils.stopPropagationAndPreventDefault(e)):this.props.category.is_open&&u.KeyboardUtils.fromCategoryToFirstNode(e)?(this.pclRef.current.setFirstNode(),s.CanvasUtils.stopPropagationAndPreventDefault(e)):u.KeyboardUtils.tabFocusOutOfPalette(e)&&this.props.tabOut&&this.props.tabOut(e)}},{key:"onHeadingClick",value:function(){this.props.category.is_open?this.props.canvasController.closePaletteCategory(this.props.category.id):this.props.canvasController.openPaletteCategory(this.props.category.id)}},{key:"getInlineLoadingRenderCategory",value:function(){var e="";this.props.isPaletteWide&&(e=this.props.category.loading_text);var t=T.default.createElement("div",{className:"palette-flyout-category"},T.default.createElement("div",{className:"palette-flyout-category-item-loading"},T.default.createElement(l.InlineLoading,{description:e,onSuccess:function(){return null},status:"active",successDelay:1500})));return T.default.createElement(l.AccordionItem,{className:"palette-loading-category",title:t})}},{key:"getRenderCategory",value:function(){var e=this.getTitleObj(),t=this.getContent();return T.default.createElement(l.AccordionItem,{title:e,open:this.props.category.is_open,onKeyDown:this.onKeyDownCategory,onFocus:this.onFocus,onHeadingClick:this.onHeadingClick},t)}},{key:"getTitleObj",value:function(){var e=this.getItemImage(),t=this.getItemText();return this.catRef=T.default.createRef(),T.default.createElement("div",{className:"palette-flyout-category",ref:this.catRef,"data-id":s.get_1(this.props.category,"id",""),value:this.props.category.label,onMouseOver:this.onMouseOver,onMouseLeave:this.onMouseLeave},T.default.createElement("div",{className:"palette-flyout-category-item",tabIndex:-1},e,t))}},{key:"getItemText",value:function(){var e=null;if(this.props.isPaletteWide){var t=this.props.category.image?"palette-flyout-category-text":"palette-flyout-category-text-no-image";e=T.default.createElement("span",{className:t},this.props.category.label)}else e=!this.props.category.image&&this.props.category.label&&this.props.category.label.length>0?T.default.createElement("span",{className:"palette-flyout-category-text-abbr"},this.props.category.label.substr(0,3)):T.default.createElement("span",{className:"palette-flyout-category-text-zero-size"},this.props.category.label);return e}},{key:"getItemImage",value:function(){var t=null;return this.props.category.image&&""!==this.props.category.image&&(t="object"===e._typeof(this.props.category.image)&&T.default.isValidElement(this.props.category.image)?this.props.category.image:this.props.category.image.endsWith(".svg")?T.default.createElement("div",null,T.default.createElement(P.default,{src:this.props.category.image,className:"palette-flyout-category-item-icon",draggable:"false","aria-hidden":"true"})):T.default.createElement("div",null,T.default.createElement("img",{src:this.props.category.image,className:"palette-flyout-category-item-icon",draggable:"false",alt:this.props.category.label}))),t}},{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 this.pclRef=T.default.createRef(),T.default.createElement(B,{ref:this.pclRef,key:this.props.category.id+"-nodes",category:this.props.category,nodeTypeInfos:t,canvasController:this.props.canvasController,allowClickToAdd:this.props.allowClickToAdd,isPaletteWide:this.props.isPaletteWide,isEditingEnabled:this.props.isEditingEnabled,createAutoNode:this.props.createAutoNode})}return null}},{key:"displayTip",value:function(){this.props.canvasController.closeTip(),this.props.canvasController.openTip({id:"paletteTip_"+this.props.category.id,type:s.TIP_TYPE_PALETTE_CATEGORY,targetObj:this.catRef.current,category:this.props.category})}},{key:"render",value:function(){return this.props.category.loading_text?this.getInlineLoadingRenderCategory():this.getRenderCategory()}}])}(T.default.Component);function Y(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Y=function(){return!!e})()}var X=function(n){function i(){var n,o,a,r;return e._classCallCheck(this,i),o=this,a=i,a=t._getPrototypeOf(a),(n=t._possibleConstructorReturn(o,Y()?Reflect.construct(a,r||[],t._getPrototypeOf(o).constructor):a.apply(o,r))).state={searchString:""},n.searchOnClick=n.searchOnClick.bind(n),n.handleSearchStringChange=n.handleSearchStringChange.bind(n),n}return t._inherits(i,n),e._createClass(i,[{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.isPaletteWide||this.props.canvasController.openPalette()}},{key:"render",value:function(){var e=this.props.intl.formatMessage({id:"palette.flyout.search.placeholder",defaultMessage:O["palette.flyout.search.placeholder"]});return T.default.createElement("div",{className:"palette-flyout-search-container",id:"palette-flyout-search"},T.default.createElement(l.Search,{className:"palette-flyout-search",placeholder:e,onChange:this.handleSearchStringChange,size:"sm",value:this.state.searchString,labelText:e,onClick:this.searchOnClick}))}}])}(T.default.Component),V=o.injectIntl(X);function Z(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Z=function(){return!!e})()}var q=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,Z()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).state={},o.onKeyDownResults=o.onKeyDownResults.bind(o),o}return t._inherits(i,n),e._createClass(i,[{key:"onKeyDownResults",value:function(e){u.KeyboardUtils.tabFocusOutOfPalette(e)&&this.props.tabOutOfOfPalette(e)}},{key:"getNoResultsDiv",value:function(){var e=this.props.intl.formatMessage({id:"palette.flyout.search.noresults",defaultMessage:O["palette.flyout.search.noresults"]}),t=this.props.intl.formatMessage({id:"palette.flyout.search.adjustsearch",defaultMessage:O["palette.flyout.search.adjustsearch"]});return T.default.createElement("div",{tabIndex:0,onKeyDown:this.onKeyDownResults},T.default.createElement("div",{className:"palette-no-results-title"},e),T.default.createElement("br",null),T.default.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,i=t===this.props.nodeTypeInfos.length-1,o=!this.props.isNodeTypeInfosArrayTruncated;e.push(T.default.createElement("div",{key:n},T.default.createElement(H,{tabIndex:0,nodeTypeInfo:this.props.nodeTypeInfos[t],isDisplaySearchResult:!0,isShowRanking:this.props.isShowRanking,canvasController:this.props.canvasController,isPaletteWide:this.props.isPaletteWide,isEditingEnabled:this.props.isEditingEnabled,allowClickToAdd:this.props.allowClickToAdd,createAutoNode:this.props.createAutoNode,tabOut:i&&o?this.props.tabOutOfOfPalette:null})))}if(this.props.isNodeTypeInfosArrayTruncated){var a=this.props.intl.formatMessage({id:"palette.flyout.search.resultsrestricted",defaultMessage:O["palette.flyout.search.resultsrestricted"]});e.push(T.default.createElement("div",{key:"restrict-item",className:"palette-flyout-restrict-item",tabIndex:0,onKeyDown:this.onKeyDownResults},a))}return T.default.createElement("div",{width:"100%",draggable:"false",className:"palette-scroll"},e)}},{key:"render",value:function(){return 0===this.props.nodeTypeInfos.length?this.getNoResultsDiv():this.getContentListDiv()}}])}(T.default.Component),$=o.injectIntl(q);function J(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Q(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Q(e,t):void 0}}(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 a,r=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return r=e.done,e},e:function(e){s=!0,a=e},f:function(){try{r||null==n.return||n.return()}finally{if(s)throw a}}}}function Q(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function ee(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ee=function(){return!!e})()}var te=new h.Logger("PaletteFlyoutContent"),ne=function(n){function i(n){var o,r,s,l;return e._classCallCheck(this,i),r=this,s=i,l=[n],s=t._getPrototypeOf(s),(o=t._possibleConstructorReturn(r,ee()?Reflect.construct(s,l||[],t._getPrototypeOf(r).constructor):s.apply(r,l))).state={searchString:""},o.categories=[],o.getUniqueCategories=o.getUniqueCategories.bind(o),o.setSearchString=o.setSearchString.bind(o),o.handleSearchStringChange=o.handleSearchStringChange.bind(o),o.setSearchStringThrottled=a.debounce_1(o.setSearchString,200),o}return t._inherits(i,n),e._createClass(i,[{key:"getUniqueCategories",value:function(e){var t=[];if(e){var n,i=J(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(T.default.createElement("div",{key:i.label+"-container"},T.default.createElement(W,{key:i.id,category:i,canvasController:this.props.canvasController,allowClickToAdd:this.props.allowClickToAdd,isPaletteWide:this.props.isPaletteWide,isEditingEnabled:this.props.isEditingEnabled,createAutoNode:this.props.createAutoNode,tabOut:n===e.length-1?this.props.tabOutOfOfPalette:null})))}return T.default.createElement(l.Accordion,null,t)}},{key:"getFilteredContentDivs",value:function(e){te.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,r._toConsumableArray(I(e[o],i)));return n.sort(function(e,t){return e.occurrenceInfo.ranking<=t.occurrenceInfo.ranking?1:-1})}(this.categories,this.state.searchString);te.logEndTimer("getFilteredNodeTypeInfos");var n=!1;return t.length>10&&(t=t.slice(0,10),n=!0),[T.default.createElement($,{key:"filtered-nodes",nodeTypeInfos:t,canvasController:this.props.canvasController,allowClickToAdd:this.props.allowClickToAdd,isPaletteWide:this.props.isPaletteWide,isEditingEnabled:this.props.isEditingEnabled,isNodeTypeInfosArrayTruncated:n,createAutoNode:this.props.createAutoNode,tabOutOfOfPalette:this.props.tabOutOfOfPalette})]}},{key:"setSearchString",value:function(){this.setState({searchString:this.ss})}},{key:"handleSearchStringChange",value:function(e){this.ss=e,this.setSearchStringThrottled(),this.props.isPaletteWide||this.props.canvasController.openPalette()}},{key:"render",value:function(){this.categories=this.getUniqueCategories(this.props.paletteJSON.categories);var e=this.props.isPaletteWide&&this.state.searchString?this.getFilteredContentDivs(this.categories):this.getContentDivs(this.categories),t=T.default.createElement("div",{className:"palette-flyout-categories",tabIndex:"-1"},e),n=T.default.createElement(V,{canvasController:this.props.canvasController,handleSearchStringChange:this.handleSearchStringChange,isPaletteWide:this.props.isPaletteWide}),i=this.props.paletteHeader&&!this.state.searchString&&this.props.isPaletteWide?this.props.paletteHeader:null,o="palette-flyout-content";return o+=i?" with-palette-header":"",T.default.createElement("div",{className:o},n,i,t)}}])}(T.default.Component);function ie(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ie=function(){return!!e})()}var oe=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,ie()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).paletteNodes=[],o}return t._inherits(i,n),e._createClass(i,[{key:"render",value:function(){var e="palette-flyout-div";this.props.isPaletteWide?e+=" palette-flyout-div-open":e+=" palette-flyout-div-narrow";var t=this.props.intl.formatMessage({id:"palette.flyout.label",defaultMessage:O["palette.flyout.label"]});return T.default.createElement("div",{role:"region","aria-label":t,className:"palette-nav"},T.default.createElement("div",{className:e},T.default.createElement(ne,{canvasController:this.props.canvasController,paletteJSON:this.props.paletteJSON,paletteHeader:this.props.paletteHeader,allowClickToAdd:this.props.allowClickToAdd,isEditingEnabled:this.props.isEditingEnabled,isPaletteWide:this.props.isPaletteWide,createAutoNode:this.props.createAutoNode,tabOutOfOfPalette:this.props.tabOutOfOfPalette})))}}])}(T.default.Component),ae=o.injectIntl(oe);function re(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(re=function(){return!!e})()}var se=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,re()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).logger=new h.Logger("Palette"),o.createAutoNode=o.createAutoNode.bind(o),o}return t._inherits(i,n),e._createClass(i,[{key:"createAutoNode",value:function(e,t){var n=this.props.canvasController.convertNodeTemplate(e);this.props.createAutoNode?this.props.createAutoNode(n,t):this.props.canvasController.createAutoNode&&this.props.canvasController.createAutoNode(n,t)}},{key:"render",value:function(){return this.logger.log("render"),T.default.createElement(ae,{canvasController:this.props.canvasController,paletteJSON:this.props.paletteJSON,paletteHeader:this.props.paletteHeader,allowClickToAdd:this.props.allowClickToAdd,isEditingEnabled:this.props.isEditingEnabled,isPaletteWide:this.props.isPaletteWide,createAutoNode:this.createAutoNode,tabOutOfOfPalette:this.props.tabOutOfOfPalette})}}])}(T.default.Component),le=i.connect(function(e,t){return{paletteJSON:e.palette.content,isEditingEnabled:e.canvasconfig.enableEditingActions,paletteHeader:e.canvasconfig.enablePaletteHeader,allowClickToAdd:e.canvasconfig.enableSingleClickAddFromPalette,isPaletteWide:e.canvasconfig.enablePaletteLayout===s.PALETTE_LAYOUT_NONE||e.canvasconfig.enablePaletteLayout===s.PALETTE_LAYOUT_FLYOUT&&e.palette.isOpen}})(se);function ce(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ce=function(){return!!e})()}var ue=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,ce()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).state={},o.mouseDown=o.mouseDown.bind(o),o.doubleClick=o.doubleClick.bind(o),o.toolbarActionHandler=o.toolbarActionHandler.bind(o),o}return t._inherits(i,n),e._createClass(i,[{key:"mouseDown",value:function(e){this.props.mouseDownMethod(e)}},{key:"doubleClick",value:function(e){this.props.windowMaximizeMethod(e)}},{key:"toolbarActionHandler",value:function(e){"close"===e?this.props.canvasController.closePalette():"grid"===e?this.props.showGridMethod(!0):"list"===e&&this.props.showGridMethod(!1)}},{key:"render",value:function(){var e,t=this.props.canvasController.labelUtil,n=t.getLabel("palette.dialog.grid"),i=t.getLabel("palette.dialog.list"),o=t.getLabel("palette.dialog.close"),r={leftBar:[{action:"grid",label:n,iconEnabled:T.default.createElement(a.Grid,null),enable:!0,isSelected:this.props.showGrid},{action:"list",label:i,iconEnabled:T.default.createElement(d.List,null),enable:!0,isSelected:!this.props.showGrid},{divider:!0}],rightBar:[{divider:!0},{action:"close",label:o,iconEnabled:T.default.createElement(g.CloseOutline,null),enable:!0}]};return T.default.createElement("div",{className:"palette-dialog-topbar",onMouseDown:this.mouseDown,onDoubleClick:this.doubleClick},T.default.createElement(a.Toolbar,{instanceId:0,config:r,toolbarActionHandler:this.toolbarActionHandler,additionalText:{overflowMenuLabel:this.props.canvasController.labelUtil.getLabel("toolbar.overflowMenu"),ariaLabel:null===(e=this.props.canvasController.labelUtil)||void 0===e?void 0:e.getLabel("toolbar.paletteDialogToolbarLabel")}}))}}])}(T.default.Component);function de(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(de=function(){return!!e})()}var he=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,de()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).state={},o.categorySelected=o.categorySelected.bind(o),o}return t._inherits(i,n),e._createClass(i,[{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"),T.default.createElement("div",{"data-id":this.props.category.id,className:e,onClick:this.categorySelected},this.props.category.label)}}])}(T.default.Component);function ge(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ge=function(){return!!e})()}var pe=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,ge()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).state={},o}return t._inherits(i,n),e._createClass(i,[{key:"render",value:function(){for(var e=[],t=0;t<this.props.categories.length;t++)e.push(T.default.createElement(he,{key:this.props.categories[t].label,category:this.props.categories[t],selectedCategory:this.props.selectedCategory,categorySelectedMethod:this.props.categorySelectedMethod}));return T.default.createElement("div",{className:"palette-dialog-categories palette-scroll"},e)}}])}(T.default.Component);function fe(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(fe=function(){return!!e})()}var ve=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,fe()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).state={},o.ghostData=null,o.onDragStart=o.onDragStart.bind(o),o.onDragEnd=o.onDragEnd.bind(o),o.onClick=o.onClick.bind(o),o.onDoubleClick=o.onDoubleClick.bind(o),o.onMouseOver=o.onMouseOver.bind(o),o.onMouseLeave=o.onMouseLeave.bind(o),o.onMouseDown=o.onMouseDown.bind(o),o}return t._inherits(i,n),e._createClass(i,[{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(s.DND_DATA_TEXT,""),this.ghostData&&e.dataTransfer.setDragImage(this.ghostData.element,this.ghostData.centerX,this.ghostData.centerY)}},{key:"onDragEnd",value:function(){this.props.canvasController.nodeTemplateDragEnd()}},{key:"onClick",value:function(){this.props.allowClickToAdd&&this.createAutoNode()}},{key:"onDoubleClick",value:function(){this.createAutoNode()}},{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:s.TIP_TYPE_PALETTE_ITEM,targetObj:e.currentTarget,nodeTemplate:t,category:this.props.category})}}},{key:"onMouseLeave",value:function(){this.props.canvasController.closeTip()}},{key:"createAutoNode",value:function(){if(this.props.canvasController.createAutoNode){var e=this.props.canvasController.convertNodeTemplate(this.props.nodeTemplate);this.props.canvasController.createAutoNode(e)}}},{key:"render",value:function(){var t="";s.has_1(this.props.nodeTemplate,"app_data.ui_data.label")&&(t=this.props.nodeTemplate.app_data.ui_data.label);var n=T.default.createElement("div",{className:"node-icon"});if(s.has_1(this.props.nodeTemplate,"app_data.ui_data.image")){var i=this.props.nodeTemplate.app_data.ui_data.image;i===s.USE_DEFAULT_ICON?i=M:i===s.USE_DEFAULT_EXT_ICON&&(i=R),"object"===e._typeof(i)&&T.default.isValidElement(i)?n=i:"string"==typeof i&&(n=i.endsWith(".svg")?T.default.createElement(P.default,{src:i,className:"node-icon","aria-label":t}):T.default.createElement("img",{src:i,className:"node-icon",alt:t}))}var o=this.props.isEditingEnabled?"true":"false",a="palette-dialog-grid-node-text";return this.props.category&&0===this.props.category.node_types.length&&this.props.category.empty_text&&(t=this.props.category.empty_text,o="false",a="palette-dialog-grid-node-text-warning",n=T.default.createElement(d.Icon,{type:s.CANVAS_CARBON_ICONS.WARNING_UNFILLED,className:"palette-dialog-grid-node-icon-warning",draggable:"false"})),T.default.createElement("div",{id:this.props.nodeTemplate.id,"data-id":this.props.nodeTemplate.op,draggable:o,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,onClick:this.props.isEditingEnabled?this.onClick:null,onDoubleClick:this.props.isEditingEnabled?this.onDoubleClick:null,className:"palette-dialog-grid-node-outer"},T.default.createElement("div",{className:"palette-dialog-grid-node-inner"},T.default.createElement("div",{className:"palette-dialog-grid-node-icon"},n),T.default.createElement("div",{className:a},t)))}}])}(T.default.Component),ye=ve;function me(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(me=function(){return!!e})()}var be=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,me()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).state={},o}return t._inherits(i,n),e._createClass(i,[{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(T.default.createElement(ye,{key:"pal_grid_node_empty",category:this.props.category,nodeTemplate:{},canvasController:this.props.canvasController,isEditingEnabled:this.props.isEditingEnabled,allowClickToAdd:this.props.allowClickToAdd}));else for(var t=0;t<this.props.nodeTypes.length;t++)e.push(T.default.createElement(ye,{key:"pal_grid_node_"+t,category:this.props.category,nodeTemplate:this.props.nodeTypes[t],canvasController:this.props.canvasController,isEditingEnabled:this.props.isEditingEnabled,allowClickToAdd:this.props.allowClickToAdd}));return T.default.createElement("div",{width:"100%",className:"palette-scroll"},e)}}])}(T.default.Component);function Ce(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Ce=function(){return!!e})()}var ke=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,Ce()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).state={selectedCategory:""},o.categorySelected=o.categorySelected.bind(o),o.getUniqueCategories=o.getUniqueCategories.bind(o),o.getSelectedCategory=o.getSelectedCategory.bind(o),o}return t._inherits(i,n),e._createClass(i,[{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?T.default.createElement(be,{category:t,nodeTypes:n,canvasController:this.props.canvasController,isEditingEnabled:this.props.isEditingEnabled,allowClickToAdd:this.props.allowClickToAdd}):T.default.createElement(B,{category:t,nodeTypeInfos:i,canvasController:this.props.canvasController,isPaletteWide:!0,isEditingEnabled:this.props.isEditingEnabled,allowClickToAdd:this.props.allowClickToAdd});return T.default.createElement("div",{className:"palette-dialog-content"},T.default.createElement(pe,{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}:{}}}])}(T.default.Component);function Le(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Le=function(){return!!e})()}var xe=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,Le()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).state={xPos:100,yPos:100,showGrid:!0},o.showGrid=o.showGrid.bind(o),o.mouseDownOnTopBar=o.mouseDownOnTopBar.bind(o),o.mouseDownOnPalette=o.mouseDownOnPalette.bind(o),o.mouseMove=o.mouseMove.bind(o),o.mouseUp=o.mouseUp.bind(o),o.windowResize=o.windowResize.bind(o),o.windowMaximize=o.windowMaximize.bind(o),o.getPaletteDiv=o.getPaletteDiv.bind(o),o.resizePalette=o.resizePalette.bind(o),o.movePalette=o.movePalette.bind(o),o.setResizingCursors=o.setResizingCursors.bind(o),o.setSizingHoverEdge=o.setSizingHoverEdge.bind(o),o.snapToWidth=o.snapToWidth.bind(o),o.snapToHeight=o.snapToHeight.bind(o),o.removePx=o.removePx.bind(o),o.dragging=!1,o.dragOffsetY=0,o.dragOffsetX=0,o.verticalSizingAction="",o.verticalSizingHover="",o.horizontalSizingAction="",o.horizontalSizingHover="",o.savedWidth=0,o.savedLeft=0,o.savedHeight=0,o.savedTop=0,o.hoverZoneSize=3,o.totalHoverZoneSize=2*o.hoverZoneSize,o.adjustedWidth=137,o.adjustedHeight=51,o.adjustedScrollBarWidth=15,o.isMaximized=!1,o.paletteNodes=[],o.dialogPaletteDivRef=T.default.createRef(),o.hackPaletteOffset=46,o.hackPaletteTopOffset=o.hackPaletteOffset+4,window.addEventListener("mousemove",o.mouseMove,!1),window.addEventListener("mouseup",o.mouseUp,!1),window.addEventListener("resize",o.windowResize,!1),o}return t._inherits(i,n),e._createClass(i,[{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(){var e;return null===(e=this.dialogPaletteDivRef)||void 0===e?void 0:e.current}},{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}},{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.containingDivId),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.containingDivId);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 a=this.getAdjustedMousePositionLeft(e,n),r=this.savedWidth-(a-this.savedLeft);r<=i?t.style.width=i+"px":(t.style.width=r+"px",t.style.left=a+"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.containingDivId);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 a=t.offsetHeight-this.totalHoverZoneSize;e.style.height=a+"px",this.setContentDivHeight(e,a)}else{if(e.offsetLeft+e.offsetWidth+this.hoverZoneSize>t.offsetLeft+t.offsetWidth){var r=t.offsetLeft+t.offsetWidth-e.offsetWidth-this.hoverZoneSize;e.style.left=r+"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.containingDivId);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.intl.formatMessage({id:"palette.dialog.label",defaultMessage:O["palette.dialog.label"]});return T.default.createElement("div",{role:"region","aria-label":e},T.default.createElement("div",{ref:this.dialogPaletteDivRef,className:"palette-dialog-div",onMouseDown:this.mouseDownOnPalette},T.default.createElement(ue,{mouseDownMethod:this.mouseDownOnTopBar,showGridMethod:this.showGrid,windowMaximizeMethod:this.windowMaximize,showGrid:this.state.showGrid,canvasController:this.props.canvasController}),T.default.createElement(ke,{paletteJSON:this.props.paletteJSON,showGrid:this.state.showGrid,canvasController:this.props.canvasController,isEditingEnabled:this.props.isEditingEnabled,allowClickToAdd:this.props.allowClickToAdd})))}}])}(T.default.Component),Te=o.injectIntl(xe);function Pe(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Pe=function(){return!!e})()}var Ne=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,Pe()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).logger=new h.Logger("PaletteDialog"),o}return t._inherits(i,n),e._createClass(i,[{key:"render",value:function(){return this.logger.log("render"),T.default.createElement(Te,{canvasController:this.props.canvasController,paletteJSON:this.props.paletteJSON,containingDivId:this.props.containingDivId,allowClickToAdd:this.props.allowClickToAdd,isEditingEnabled:this.props.isEditingEnabled})}}])}(T.default.Component),Se=i.connect(function(e,t){return{paletteJSON:e.palette.content,allowClickToAdd:e.canvasconfig.enableSingleClickAddFromPalette,isEditingEnabled:e.canvasconfig.enableEditingActions}})(o.injectIntl(Ne));function Oe(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Oe=function(){return!!e})()}var Ee=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,Oe()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).state={},o.handleClick=o.handleClick.bind(o),o}return t._inherits(i,n),e._createClass(i,[{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 s.TIP_TYPE_PALETTE_ITEM:case s.TIP_TYPE_PALETTE_CATEGORY:t="right";break;case s.TIP_TYPE_NODE:case s.TIP_TYPE_PORT:case s.TIP_TYPE_DEC:case s.TIP_TYPE_LINK:case s.TIP_TYPE_STATE_TAG:default:t="bottom"}if(this.props.customContent)e=this.props.customContent;else switch(this.props.type){case s.TIP_TYPE_PALETTE_ITEM:e=T.default.createElement("div",{className:"tip-palette-item"},T.default.createElement("div",{className:"tip-palette-category"},this.props.category.label),T.default.createElement("div",{className:"tip-palette-label"},this.props.nodeTemplate.app_data.ui_data.label),this.props.nodeTemplate.app_data.ui_data.description?T.default.createElement("div",{className:"tip-palette-desc"},this.props.nodeTemplate.app_data.ui_data.description):"");break;case s.TIP_TYPE_PALETTE_CATEGORY:e=T.default.createElement("div",{className:"tip-palette-item"},T.default.createElement("div",{className:"tip-palette-label"},this.props.category.label),this.props.category.description?T.default.createElement("div",{className:"tip-palette-desc"},this.props.category.description):"");break;case s.TIP_TYPE_NODE:var n=null;this.props.canvasController.getObjectModel().hasErrorMessage(this.props.node)?n=T.default.createElement(d.Icon,{type:s.ERROR,className:"tip-node-status error"}):this.props.canvasController.getObjectModel().hasWarningMessage(this.props.node)&&(n=T.default.createElement(d.Icon,{type:s.WARNING,className:"tip-node-status warning"}));var i=this.props.canvasController.getObjectModel().getPaletteNode(this.props.node.op),o=this.props.node.label,a=i&&i.app_data&&i.app_data.ui_data?i.app_data.ui_data.label:o;if(o!==a&&(o+=" (".concat(a,")")),!(n||o||a||this.props.node.description))return null;e=T.default.createElement("div",{className:"tip-node"},n,T.default.createElement("div",{className:"tip-node-label"},o),this.props.node.description?T.default.createElement("div",{className:"tip-node-desc"},this.props.node.description):"");break;case s.TIP_TYPE_PORT:e=p.isEmpty_1(this.props.port.label)?null:T.default.createElement("div",{className:"tip-port"},this.props.port.label);break;case s.TIP_TYPE_DEC:e=p.isEmpty_1(this.props.decoration.tooltip)?null:T.default.createElement("div",{className:"tip-decoration"},this.props.decoration.tooltip);break;case s.TIP_TYPE_LINK:break;case s.TIP_TYPE_STATE_TAG:e=p.isEmpty_1(this.props.stateTagText)?null:T.default.createElement("div",{className:"tip-state-tag"},this.props.stateTagText);break;default:e=null}return null!==e?T.default.createElement(f,{tip:e,direction:t,id:this.props.id,targetObj:this.props.targetObj,mousePos:this.props.mousePos,className:[s.TIP_TYPE_NODE,s.TIP_TYPE_PORT,s.TIP_TYPE_DEC,s.TIP_TYPE_LINK].includes(this.props.type)?"definition-tooltip":null}):null}}])}(T.default.Component),_e=i.connect(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}})(Ee);function Ie(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Ie=function(){return!!e})()}var De=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,Ie()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).logger=new h.Logger("CC-Context-Menu"),o}return t._inherits(i,n),e._createClass(i,[{key:"render",value:function(){this.logger.log("render");var e=null;return this.props.showContextMenu&&(e=T.default.createElement(y.ContextMenuWrapper,{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}}])}(T.default.Component),Ae=i.connect(function(e,t){return{contextMenuDef:e.contextmenu.menuDef,contextMenuPos:e.contextmenu.source.cmPos||{x:0,y:0},showContextMenu:e.contextmenu.isOpen}})(De),we=p._baseFindIndex,Ue=m._baseIteratee,je=m.toInteger_1,Me=Math.max,Re=Math.min;var ze=function(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var o=i-1;return void 0!==n&&(o=je(n),o=n<0?Me(i+o,0):Re(o,i-1)),we(e,Ue(t),o,!0)};function Fe(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Fe=function(){return!!e})()}var He=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,Fe()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).logger=new h.Logger("CC-Context-Toolbar"),o.onMouseEnter=o.onMouseEnter.bind(o),o.onMouseLeave=o.onMouseLeave.bind(o),o.toolbarActionHandler=o.toolbarActionHandler.bind(o),o.colorClicked=o.colorClicked.bind(o),o.closeContextToolbar=o.closeContextToolbar.bind(o),o}return t._inherits(i,n),e._createClass(i,[{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.getSubPanelInfo(e),n=!t.subPanel&&e.menu?this.getSubMenu(e):null;return{action:e.action,label:e.label,subMenu:n,subPanel:t.subPanel,subPanelData:t.subPanelData,enable:this.getEnable(e),iconEnabled:e.icon}}},{key:"getSubPanelInfo",value:function(e){var t=this;return"colorBackground"===e.action?{subPanel:y.ColorPicker,subPanelData:{clickActionHandler:function(e,n){return t.colorClicked(e,n)}}}:{}}},{key:"getSubMenu",value:function(t){var n=this;return"object"===e._typeof(t.menu)?t.menu.map(function(e){return e.divider?{divider:!0}:{action:e.action,label:e.label,enable:n.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=e.filter(function(e){return e.divider}),i=n.length,o=1*i,a=t.length>0?1:0;return 34*(e.length+a-i)+o-(t.length>0?5:0)}},{key:"removeUnnecessaryDividers",value:function(e){var t=e.findIndex(function(e){return!e.divider}),n=ze(e,function(e){return!e.divider}),i=e.slice(t,n+1),o=[],a=!1;return i.forEach(function(e){e.divider?(a||o.push(e),a=!0):(o.push(e),a=!1)}),o}},{key:"toolbarActionHandler",value:function(e,t,n){this.closeContextToolbar(),this.props.canvasController.contextMenuActionHandler(e,t,n)}},{key:"closeContextToolbar",value:function(){this.props.canvasController.setMouseInContextToolbar(!1),this.props.canvasController.setMouseInObject(null),this.props.canvasController.closeContextToolbar(s.CAUSE_KEYBOARD)}},{key:"colorClicked",value:function(e,t){this.toolbarActionHandler("colorSelectedObjects",t,{color:e})}},{key:"shouldCenterJustifyToolbar",value:function(){var e=this.props.contextSource.type;return"link"===e||"canvas"===e||"input_port"===e||"output_port"===e||"node"===e&&"topCenter"===this.props.contextSource.targetObject.layout.contextToolbarPosition&&!this.props.contextSource.targetObject.is_expanded}},{key:"adjustPosToFit",value:function(e,t,n,i){var o=document.getElementById(this.props.containingDivId),a=o?o.getBoundingClientRect():{top:-1e3,bottom:1e3,left:-1e3,right:1e3},r=0,s=0,l=e,c=t,u=e+n-(a.right-a.left),d=r-e,h=t+i-(a.bottom-a.top),g=s-t;return u>0?l-=u+2:d>0&&(l+=d+2),h>0?c-=h+2:g>0&&(c+=g+2),{x:l,y:c}}},{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}),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},l=this.shouldCenterJustifyToolbar()?r.x-o/2:r.x-o,c=r.y-34,u=this.adjustPosToFit(l,c,o,34);l=u.x,c=u.y;var d=this.props.contextSource.cause===s.CAUSE_KEYBOARD;e=T.default.createElement("div",{className:"context-toolbar floating-toolbar",style:{left:l,top:c,width:o},onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave},T.default.createElement(a.Toolbar,{config:i,instanceId:this.props.canvasController.getInstanceId(),containingDivId:this.props.containingDivId,toolbarActionHandler:this.toolbarActionHandler,tooltipDirection:"top",setInitialFocus:d,closeToolbarOnEsc:!0,closeToolbar:this.closeContextToolbar,size:"sm",additionalText:{overflowMenuLabel:this.props.canvasController.labelUtil.getLabel("toolbar.overflowMenu"),ariaLabel:this.props.canvasController.labelUtil.getLabel("toolbar.contextToolbarLabel")}}))}return e}}])}(T.default.Component),Ge=i.connect(function(e,t){return{contextMenuDef:e.contextmenu.menuDef,contextSource:e.contextmenu.source,showContextMenu:e.contextmenu.isOpen}})(He),Be={"toolbar.palette":"Palette","toolbar.zoomIn":"Zoom in","toolbar.zoomOut":"Zoom out","toolbar.zoomToFit":"Zoom to fit","toolbar.overflowMenu":"Overflow menu","toolbar.flowEditorToolbarLabel":"Flow editor","toolbar.textToolbarLabel":"Text","toolbar.contextToolbarLabel":"Context","toolbar.paletteDialogToolbarLabel":"Palette dialog"};function Ke(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Ke=function(){return!!e})()}var We=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,Ke()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).getLabel=o.getLabel.bind(o),o.onKeyDown=o.onKeyDown.bind(o),o.logger=new h.Logger("CC-Text-Toolbar"),o}return t._inherits(i,n),e._createClass(i,[{key:"onKeyDown",value:function(e){u.KeyboardUtils.returnToTextEditing(e)&&(this.props.canvasController.focusOnTextEntryElement(e),e.stopPropagation(),e.preventDefault())}},{key:"getLabel",value:function(e,t){var n=v.defaultMessages1[e]?v.defaultMessages1[e]:Be[e];return this.props.intl.formatMessage({id:e,defaultMessage:n},t)}},{key:"getJsxLabel",value:function(e,t,n){var i=s.CanvasUtils.isMacintosh()?"⌘":"Ctrl",o=t?i+" + "+t:null,a=n?i+" + "+n:null;return T.default.createElement("div",null,this.getLabel(e),T.default.createElement("br",null),o,T.default.createElement("br",null),a)}},{key:"getMarkdownToolbar",value:function(){var e=this.getJsxLabel("texttoolbar.boldAction","b"),t=this.getJsxLabel("texttoolbar.italicsAction","i"),n=this.getJsxLabel("texttoolbar.strikethroughAction","shift + x"),i=this.getJsxLabel("texttoolbar.headerAction","1","2"),o=this.getJsxLabel("texttoolbar.codeAction","e"),a=this.getJsxLabel("texttoolbar.linkAction","k"),r=this.getJsxLabel("texttoolbar.quoteAction","shift + I"),s=this.getJsxLabel("texttoolbar.numberedListAction","shift + 7"),l=this.getJsxLabel("texttoolbar.bulletedListAction","shift + 8");return{leftBar:[{action:"headerStyle",tooltip:i,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:T.default.createElement(d.TextScale,{size:32})},{divider:!0},{action:"bold",label:e,enable:!0,iconEnabled:T.default.createElement(d.TextBold,{size:32})},{action:"italics",label:t,enable:!0,iconEnabled:T.default.createElement(d.TextItalic,{size:32})},{action:"strikethrough",label:n,enable:!0,iconEnabled:T.default.createElement(d.TextStrikethrough,{size:32})},{divider:!0},{action:"code",label:o,enable:!0,iconEnabled:T.default.createElement(g.Code,{size:32})},{divider:!0},{action:"link",label:a,enable:!0,iconEnabled:T.default.createElement(d.Link,{size:32})},{divider:!0},{action:"quote",label:r,enable:!0,iconEnabled:T.default.createElement(d.TextIndentMore,{size:32})},{divider:!0},{action:"numberedList",label:s,enable:!0,iconEnabled:T.default.createElement(d.ListNumbered,{size:32})},{action:"bulletedList",label:l,enable:!0,iconEnabled:T.default.createElement(d.ListBulleted,{size:32})}]}}},{key:"getWysiwygToolbar",value:function(){var e=this,t=this.getLabel("texttoolbar.boldAction"),n=this.getLabel("texttoolbar.italicsAction"),i=this.getLabel("texttoolbar.underline"),o=this.getLabel("texttoolbar.strikethroughAction"),r=[{action:"font-ibm-plex-sans",label:this.getLabel("texttoolbar.fontIBMPlexSans"),enable:!0,isSelected:!0},{action:"font-ibm-plex-serif",label:this.getLabel("texttoolbar.fontIBMPlexSerif"),enable:!0},{action:"font-ibm-plex-sans-condensed",label:this.getLabel("texttoolbar.fontIBMPlexSansCon"),enable:!0},{action:"font-ibm-plex-mono",label:this.getLabel("texttoolbar.fontIBMPlexMono"),enable:!0},{action:"font-arial",label:this.getLabel("texttoolbar.fontArial"),enable:!0},{action:"font-comic-sans-ms",label:this.getLabel("texttoolbar.fontComicSansMS"),enable:!0},{action:"font-gill-sans",label:this.getLabel("texttoolbar.fontGillSans"),enable:!0},{action:"font-helvetica-neue",label:this.getLabel("texttoolbar.fontHelveticaNeue"),enable:!0},{action:"font-times-new-roman",label:this.getLabel("texttoolbar.fontTimesNewRoman"),enable:!0},{action:"font-verdana",label:this.getLabel("texttoolbar.fontVerdana"),enable:!0}],l=[{action:"text-size-10",label:"10",enable:!0},{action:"text-size-11",label:"11",enable:!0},{action:"text-size-12",label:"12",enable:!0,isSelected:!0},{action:"text-size-14",label:"14",enable:!0},{action:"text-size-18",label:"18",enable:!0},{action:"text-size-24",label:"24",enable:!0},{action:"text-size-30",label:"30",enable:!0},{action:"text-size-36",label:"36",enable:!0},{action:"text-size-48",label:"48",enable:!0},{action:"text-size-60",label:"60",enable:!0},{action:"text-size-72",label:"72",enable:!0},{action:"text-size-96",label:"96",enable:!0}],c=[{action:"align-left",label:this.getLabel("texttoolbar.alignHorizLeft"),enable:!0,iconEnabled:T.default.createElement(d.TextAlignLeft,{size:32}),isSelected:!0},{action:"align-center",label:this.getLabel("texttoolbar.alignHorizCenter"),enable:!0,iconEnabled:T.default.createElement(d.TextAlignCenter,{size:32})},{action:"align-right",label:this.getLabel("texttoolbar.alignHorizRight"),enable:!0,iconEnabled:T.default.createElement(d.TextAlignRight,{size:32})}],u=[{action:"align-top",label:this.getLabel("texttoolbar.alignVertTop"),enable:!0,iconEnabled:T.default.createElement(d.AlignBoxTopCenter,{size:32}),isSelected:!0},{action:"align-middle",label:this.getLabel("texttoolbar.alignVertMiddle"),enable:!0,iconEnabled:T.default.createElement(d.AlignBoxMiddleCenter,{size:32})},{action:"align-bottom",label:this.getLabel("texttoolbar.alignVertBottom"),enable:!0,iconEnabled:T.default.createElement(d.AlignBoxBottomCenter,{size:32})}],h=[{action:"outline-none",label:this.getLabel("texttoolbar.outlineNone"),enable:!0},{action:"outline-solid",label:this.getLabel("texttoolbar.outlineSolid"),enable:!0,isSelected:!0}];this.setSelectedMenuElement("fontType",this.props.formats,r),this.setSelectedMenuElement("textSize",this.props.formats,l),this.setSelectedMenuElement("alignHorizontally",this.props.formats,c),this.setSelectedMenuElement("alignVertically",this.props.formats,u),this.setSelectedMenuElement("outlineStyle",this.props.formats,h);var g=this.getFormatValue("textColor",this.props.formats)||"#000000",p=this.getFormatValue("backgroundColor",this.props.formats)||"#FFFFFF",f=Boolean(this.getFormatType("bold",this.props.formats)),v=Boolean(this.getFormatType("italics",this.props.formats)),m=this.getFormatValue("textDecoration",this.props.formats),b=null==m?void 0:m.includes("underline"),C=null==m?void 0:m.includes("strikethrough");return{leftBar:[{action:"submenu-font",label:this.getLabel("texttoolbar.fontAction"),iconEnabled:T.default.createElement(d.TextFont,{size:32}),enable:!0,subMenu:r,closeSubAreaOnClick:!0},{action:"submenu-text-size",label:this.getLabel("texttoolbar.textSize"),iconEnabled:T.default.createElement(d.TextScale,{size:32}),enable:!0,subMenu:l,closeSubAreaOnClick:!0},{action:"bold",label:t,enable:!0,iconEnabled:T.default.createElement(d.TextBold,{size:32}),isSelected:f},{action:"italics",label:n,enable:!0,iconEnabled:T.default.createElement(d.TextItalic,{size:32}),isSelected:v},{action:"underline",label:i,enable:!0,iconEnabled:T.default.createElement(d.TextUnderline,{size:32}),isSelected:b},{action:"strikethrough",label:o,enable:!0,iconEnabled:T.default.createElement(d.TextStrikethrough,{size:32}),isSelected:C},{divider:!0},{action:"submenu-text-color",label:this.getLabel("texttoolbar.colorText"),iconEnabled:T.default.createElement(d.TextColor,{size:32}),enable:!0,subPanel:y.ColorPicker,subPanelData:{type:s.WYSIWYG,selectedColor:g,clickActionHandler:function(t,n){return e.props.actionHandler("text-color",n,t)}},closeSubAreaOnClick:!0},{action:"submenu-align-horiz",label:this.getLabel("texttoolbar.alignHoriz"),iconEnabled:T.default.createElement(d.TextAlignCenter,{size:32}),enable:!0,subMenu:c,closeSubAreaOnClick:!0},{action:"submenu-align-vert",label:this.getLabel("texttoolbar.alignVert"),iconEnabled:T.default.createElement(d.AlignBoxMiddleCenter,{size:32}),enable:!0,subMenu:u,closeSubAreaOnClick:!0},{action:"submenu-background-color",label:this.getLabel("texttoolbar.colorBackground"),iconEnabled:T.default.createElement(a.ColorPalette,{size:32}),enable:!0,subPanel:y.ColorPicker,subPanelData:{type:s.WYSIWYG,selectedColor:p,clickActionHandler:function(t,n){return e.props.actionHandler("background-color",n,t)}},closeSubAreaOnClick:!0},{action:"sub-menu-outline",label:this.getLabel("texttoolbar.outline"),iconEnabled:T.default.createElement(a.SquareOutline,{size:32}),enable:!0,subMenu:h,closeSubAreaOnClick:!0}]}}},{key:"setSelectedMenuElement",value:function(e,t,n){var i=this.getFormatValue(e,t);i&&n.forEach(function(e){return e.isSelected=e.action===i})}},{key:"getFormatValue",value:function(e,t){var n=this.getFormatType(e,t);return null==n?void 0:n.value}},{key:"getFormatType",value:function(e,t){return t?t.find(function(t){return t.type===e}):null}},{key:"getTextToolbarConfig",value:function(){return this.props.contentType===s.MARKDOWN?this.getMarkdownToolbar():this.props.contentType===s.WYSIWYG?this.getWysiwygToolbar():{leftBar:[]}}},{key:"render",value:function(){this.logger.log("render");var e=null;return this.props.isOpen&&(e=T.default.createElement("div",{className:"text-toolbar floating-toolbar",style:{left:this.props.pos_x,top:this.props.pos_y},onBlur:this.props.blurHandler,onKeyDown:this.onKeyDown},T.default.createElement(a.Toolbar,{config:this.getTextToolbarConfig(),instanceId:this.props.canvasController.getInstanceId(),containingDivId:this.props.containingDivId,toolbarActionHandler:this.props.actionHandler,tooltipDirection:"top",size:"sm",additionalText:{overflowMenuLabel:this.getLabel("toolbar.overflowMenu"),ariaLabel:this.getLabel("toolbar.textToolbarLabel")}}))),e}}])}(T.default.Component),Ye=i.connect(function(e,t){return{isOpen:e.texttoolbar.isOpen,pos_x:e.texttoolbar.pos_x,pos_y:e.texttoolbar.pos_y,formats:e.texttoolbar.formats,contentType:e.texttoolbar.contentType,actionHandler:e.texttoolbar.actionHandler,blurHandler:e.texttoolbar.blurHandler}})(o.injectIntl(We));function Xe(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Xe=function(){return!!e})()}var Ve=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,Xe()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).logger=new h.Logger("CC-StateTag"),o.onMouseOver=o.onMouseOver.bind(o),o.onMouseLeave=o.onMouseLeave.bind(o),o}return t._inherits(i,n),e._createClass(i,[{key:"onMouseOver",value:function(e){var t;this.props.stateTagType===s.STATE_TAG_LOCKED?t=this.getLabel("canvas.stateTagTipLocked"):this.props.stateTagType===s.STATE_TAG_READ_ONLY&&(t=this.getLabel("canvas.stateTagTipReadOnly")),this.props.canvasController.openTip({id:"stateTagTip",type:s.TIP_TYPE_STATE_TAG,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:v.defaultMessages1[e]})}},{key:"getStateTag",value:function(e,t){return T.default.createElement("div",{className:"state-tag",onMouseOver:this.onMouseOver,onMouseLeave:this.onMouseLeave},t,T.default.createElement("span",null,e))}},{key:"render",value:function(){this.logger.log("render");var e=null;if(this.props.stateTagType===s.STATE_TAG_LOCKED){var t=this.getLabel("canvas.stateTagLocked");e=this.getStateTag(t,T.default.createElement(d.Locked,null))}else if(this.props.stateTagType===s.STATE_TAG_READ_ONLY){var n=this.getLabel("canvas.stateTagReadOnly");e=this.getStateTag(n,T.default.createElement(d.EditOff,null))}return e}}])}(T.default.Component),Ze=o.injectIntl(Ve),qe="http://www.w3.org/1999/xhtml",$e={svg:"http://www.w3.org/2000/svg",xhtml:qe,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Je(e){var t=e+="",n=t.indexOf(":");return n>=0&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),$e.hasOwnProperty(t)?{space:$e[t],local:e}:e}function Qe(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===qe&&t.documentElement.namespaceURI===qe?t.createElement(e):t.createElementNS(n,e)}}function et(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function tt(e){var t=Je(e);return(t.local?et:Qe)(t)}function nt(){}function it(e){return null==e?nt:function(){return this.querySelector(e)}}function ot(e){return null==e?[]:Array.isArray(e)?e:Array.from(e)}function at(){return[]}function rt(e){return null==e?at:function(){return this.querySelectorAll(e)}}function st(e){return function(){return this.matches(e)}}function lt(e){return function(t){return t.matches(e)}}var ct=Array.prototype.find;function ut(){return this.firstElementChild}var dt=Array.prototype.filter;function ht(){return Array.from(this.children)}function gt(e){return new Array(e.length)}function pt(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}function ft(e,t,n,i,o,a){for(var r,s=0,l=t.length,c=a.length;s<c;++s)(r=t[s])?(r.__data__=a[s],i[s]=r):n[s]=new pt(e,a[s]);for(;s<l;++s)(r=t[s])&&(o[s]=r)}function vt(e,t,n,i,o,a,r){var s,l,c,u=new Map,d=t.length,h=a.length,g=new Array(d);for(s=0;s<d;++s)(l=t[s])&&(g[s]=c=r.call(l,l.__data__,s,t)+"",u.has(c)?o[s]=l:u.set(c,l));for(s=0;s<h;++s)c=r.call(e,a[s],s,a)+"",(l=u.get(c))?(i[s]=l,l.__data__=a[s],u.delete(c)):n[s]=new pt(e,a[s]);for(s=0;s<d;++s)(l=t[s])&&u.get(g[s])===l&&(o[s]=l)}function yt(e){return e.__data__}function mt(e){return"object"==typeof e&&"length"in e?e:Array.from(e)}function bt(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function Ct(e){return function(){this.removeAttribute(e)}}function kt(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Lt(e,t){return function(){this.setAttribute(e,t)}}function xt(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function Tt(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}function Pt(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 Nt(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function St(e){return function(){this.style.removeProperty(e)}}function Ot(e,t,n){return function(){this.style.setProperty(e,t,n)}}function Et(e,t,n){return function(){var i=t.apply(this,arguments);null==i?this.style.removeProperty(e):this.style.setProperty(e,i,n)}}function _t(e,t){return e.style.getPropertyValue(t)||Nt(e).getComputedStyle(e,null).getPropertyValue(t)}function It(e){return function(){delete this[e]}}function Dt(e,t){return function(){this[e]=t}}function At(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}function wt(e){return e.trim().split(/^|\s+/)}function Ut(e){return e.classList||new jt(e)}function jt(e){this._node=e,this._names=wt(e.getAttribute("class")||"")}function Mt(e,t){for(var n=Ut(e),i=-1,o=t.length;++i<o;)n.add(t[i])}function Rt(e,t){for(var n=Ut(e),i=-1,o=t.length;++i<o;)n.remove(t[i])}function zt(e){return function(){Mt(this,e)}}function Ft(e){return function(){Rt(this,e)}}function Ht(e,t){return function(){(t.apply(this,arguments)?Mt:Rt)(this,e)}}function Gt(){this.textContent=""}function Bt(e){return function(){this.textContent=e}}function Kt(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?"":t}}function Wt(){this.innerHTML=""}function Yt(e){return function(){this.innerHTML=e}}function Xt(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?"":t}}function Vt(){this.nextSibling&&this.parentNode.appendChild(this)}function Zt(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function qt(){return null}function $t(){var e=this.parentNode;e&&e.removeChild(this)}function Jt(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Qt(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function en(e){return function(){var t=this.__on;if(t){for(var n,i=0,o=-1,a=t.length;i<a;++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 tn(e,t,n){return function(){var i,o=this.__on,a=function(e){return function(t){e.call(this,t,this.__data__)}}(t);if(o)for(var r=0,s=o.length;r<s;++r)if((i=o[r]).type===e.type&&i.name===e.name)return this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=n),void(i.value=t);this.addEventListener(e.type,a,n),i={type:e.type,name:e.name,value:t,listener:a,options:n},o?o.push(i):this.__on=[i]}}function nn(e,t,n){var i=Nt(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 on(e,t){return function(){return nn(this,e,t)}}function an(e,t){return function(){return nn(this,e,t.apply(this,arguments))}}pt.prototype={constructor:pt,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)}},jt.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 rn=[null];function sn(e,t){this._groups=e,this._parents=t}function ln(){return new sn([[document.documentElement]],rn)}function cn(e){return"string"==typeof e?new sn([[document.querySelector(e)]],[document.documentElement]):new sn([[e]],rn)}sn.prototype=ln.prototype={constructor:sn,select:function(e){"function"!=typeof e&&(e=it(e));for(var t=this._groups,n=t.length,i=new Array(n),o=0;o<n;++o)for(var a,r,s=t[o],l=s.length,c=i[o]=new Array(l),u=0;u<l;++u)(a=s[u])&&(r=e.call(a,a.__data__,u,s))&&("__data__"in a&&(r.__data__=a.__data__),c[u]=r);return new sn(i,this._parents)},selectAll:function(e){e="function"==typeof e?function(e){return function(){return ot(e.apply(this,arguments))}}(e):rt(e);for(var t=this._groups,n=t.length,i=[],o=[],a=0;a<n;++a)for(var r,s=t[a],l=s.length,c=0;c<l;++c)(r=s[c])&&(i.push(e.call(r,r.__data__,c,s)),o.push(r));return new sn(i,o)},selectChild:function(e){return this.select(null==e?ut:function(e){return function(){return ct.call(this.children,e)}}("function"==typeof e?e:lt(e)))},selectChildren:function(e){return this.selectAll(null==e?ht:function(e){return function(){return dt.call(this.children,e)}}("function"==typeof e?e:lt(e)))},filter:function(e){"function"!=typeof e&&(e=st(e));for(var t=this._groups,n=t.length,i=new Array(n),o=0;o<n;++o)for(var a,r=t[o],s=r.length,l=i[o]=[],c=0;c<s;++c)(a=r[c])&&e.call(a,a.__data__,c,r)&&l.push(a);return new sn(i,this._parents)},data:function(e,t){if(!arguments.length)return Array.from(this,yt);var n,i=t?vt:ft,o=this._parents,a=this._groups;"function"!=typeof e&&(n=e,e=function(){return n});for(var r=a.length,s=new Array(r),l=new Array(r),c=new Array(r),u=0;u<r;++u){var d=o[u],h=a[u],g=h.length,p=mt(e.call(d,d&&d.__data__,u,o)),f=p.length,v=l[u]=new Array(f),y=s[u]=new Array(f);i(d,h,v,y,c[u]=new Array(g),p,t);for(var m,b,C=0,k=0;C<f;++C)if(m=v[C]){for(C>=k&&(k=C+1);!(b=y[k])&&++k<f;);m._next=b||null}}return(s=new sn(s,o))._enter=l,s._exit=c,s},enter:function(){return new sn(this._enter||this._groups.map(gt),this._parents)},exit:function(){return new sn(this._exit||this._groups.map(gt),this._parents)},join:function(e,t,n){var i=this.enter(),o=this,a=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?a.remove():n(a),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,a=i.length,r=Math.min(o,a),s=new Array(o),l=0;l<r;++l)for(var c,u=n[l],d=i[l],h=u.length,g=s[l]=new Array(h),p=0;p<h;++p)(c=u[p]||d[p])&&(g[p]=c);for(;l<o;++l)s[l]=n[l];return new sn(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],a=o.length-1,r=o[a];--a>=0;)(i=o[a])&&(r&&4^i.compareDocumentPosition(r)&&r.parentNode.insertBefore(i,r),r=i);return this},sort:function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=bt);for(var n=this._groups,i=n.length,o=new Array(i),a=0;a<i;++a){for(var r,s=n[a],l=s.length,c=o[a]=new Array(l),u=0;u<l;++u)(r=s[u])&&(c[u]=r);c.sort(t)}return new sn(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,a=i.length;o<a;++o){var r=i[o];if(r)return r}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,a=t[n],r=0,s=a.length;r<s;++r)(o=a[r])&&e.call(o,o.__data__,r,a);return this},attr:function(e,t){var n=Je(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?kt:Ct:"function"==typeof t?n.local?Pt:Tt:n.local?xt:Lt)(n,t))},style:function(e,t,n){return arguments.length>1?this.each((null==t?St:"function"==typeof t?Et:Ot)(e,t,null==n?"":n)):_t(this.node(),e)},property:function(e,t){return arguments.length>1?this.each((null==t?It:"function"==typeof t?At:Dt)(e,t)):this.node()[e]},classed:function(e,t){var n=wt(e+"");if(arguments.length<2){for(var i=Ut(this.node()),o=-1,a=n.length;++o<a;)if(!i.contains(n[o]))return!1;return!0}return this.each(("function"==typeof t?Ht:t?zt:Ft)(n,t))},text:function(e){return arguments.length?this.each(null==e?Gt:("function"==typeof e?Kt:Bt)(e)):this.node().textContent},html:function(e){return arguments.length?this.each(null==e?Wt:("function"==typeof e?Xt:Yt)(e)):this.node().innerHTML},raise:function(){return this.each(Vt)},lower:function(){return this.each(Zt)},append:function(e){var t="function"==typeof e?e:tt(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})},insert:function(e,t){var n="function"==typeof e?e:tt(e),i=null==t?qt:"function"==typeof t?t:it(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),i.apply(this,arguments)||null)})},remove:function(){return this.each($t)},clone:function(e){return this.select(e?Qt:Jt)},datum:function(e){return arguments.length?this.property("__data__",e):this.node().__data__},on:function(e,t,n){var i,o,a=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+""),r=a.length;if(!(arguments.length<2)){for(s=t?tn:en,i=0;i<r;++i)this.each(s(a[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<r;++i)if((o=a[i]).type===l.type&&o.name===l.name)return l.value},dispatch:function(e,t){return this.each(("function"==typeof t?an:on)(e,t))},[Symbol.iterator]:function*(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var i,o=e[t],a=0,r=o.length;a<r;++a)(i=o[a])&&(yield i)}};var un=0;function dn(){return new hn}function hn(){this._="@"+(++un).toString(36)}function gn(e){let t;for(;t=e.sourceEvent;)e=t;return e}function pn(e,t){if(e=gn(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]}hn.prototype=dn.prototype={constructor:hn,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 fn=Object.freeze({__proto__:null,create:function(e){return cn(tt(e).call(document.documentElement))},creator:tt,local:dn,matcher:st,namespace:Je,namespaces:$e,pointer:pn,pointers:function(e,t){return e.target&&(e=gn(e),void 0===t&&(t=e.currentTarget),e=e.touches||[e]),Array.from(e,e=>pn(e,t))},select:cn,selectAll:function(e){return"string"==typeof e?new sn([document.querySelectorAll(e)],[document.documentElement]):new sn([ot(e)],rn)},selection:ln,selector:it,selectorAll:rt,style:_t,window:Nt}),vn=m._baseForOwn,yn=v._castFunction;var mn=function(e,t){return e&&vn(e,yn(t))};var bn=function(e){return function(t){return null==e?void 0:e[t]}},Cn=bn({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}),kn=s.toString_1,Ln=/[&<>"']/g,xn=RegExp(Ln.source);var Tn=function(e){return(e=kn(e))&&xn.test(e)?e.replace(Ln,Cn):e};function Pn(e){if(!e.ok)throw new Error(e.status+" "+e.statusText);return e.blob()}function Nn(e){if(!e.ok)throw new Error(e.status+" "+e.statusText);return e.arrayBuffer()}var Sn={},On={};function En(e){return new Function("d","return {"+e.map(function(e,t){return JSON.stringify(e)+": d["+t+'] || ""'}).join(",")+"}")}function _n(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 In(e,t){var n=e+"",i=n.length;return i<t?new Array(t-i+1).join(0)+n:n}function Dn(e){var t,n=e.getUTCHours(),i=e.getUTCMinutes(),o=e.getUTCSeconds(),a=e.getUTCMilliseconds();return isNaN(e)?"Invalid Date":((t=e.getUTCFullYear())<0?"-"+In(-t,6):t>9999?"+"+In(t,6):In(t,4))+"-"+In(e.getUTCMonth()+1,2)+"-"+In(e.getUTCDate(),2)+(a?"T"+In(n,2)+":"+In(i,2)+":"+In(o,2)+"."+In(a,3)+"Z":o?"T"+In(n,2)+":"+In(i,2)+":"+In(o,2)+"Z":i||n?"T"+In(n,2)+":"+In(i,2)+"Z":"")}function An(e){var t=new RegExp('["'+e+"\n\r]"),n=e.charCodeAt(0);function i(e,t){var i,o=[],a=e.length,r=0,s=0,l=a<=0,c=!1;function u(){if(l)return On;if(c)return c=!1,Sn;var t,i,o=r;if(34===e.charCodeAt(o)){for(;r++<a&&34!==e.charCodeAt(r)||34===e.charCodeAt(++r););return(t=r)>=a?l=!0:10===(i=e.charCodeAt(r++))?c=!0:13===i&&(c=!0,10===e.charCodeAt(r)&&++r),e.slice(o+1,t-1).replace(/""/g,'"')}for(;r<a;){if(10===(i=e.charCodeAt(t=r++)))c=!0;else if(13===i)c=!0,10===e.charCodeAt(r)&&++r;else if(i!==n)continue;return e.slice(o,t)}return l=!0,e.slice(o,a)}for(10===e.charCodeAt(a-1)&&--a,13===e.charCodeAt(a-1)&&--a;(i=u())!==On;){for(var d=[];i!==Sn&&i!==On;)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 r(t[e])}).join(e)})}function a(t){return t.map(r).join(e)}function r(e){return null==e?"":e instanceof Date?Dn(e):t.test(e+="")?'"'+e.replace(/"/g,'""')+'"':e}return{parse:function(e,t){var n,o,a=i(e,function(e,i){if(n)return n(e,i-1);o=e,n=t?function(e,t){var n=En(e);return function(i,o){return t(n(i),o,e)}}(e,t):En(e)});return a.columns=o||[],a},parseRows:i,format:function(t,n){return null==n&&(n=_n(t)),[n.map(r).join(e)].concat(o(t,n)).join("\n")},formatBody:function(e,t){return null==t&&(t=_n(e)),o(e,t).join("\n")},formatRows:function(e){return e.map(a).join("\n")},formatRow:a,formatValue:r}}var wn=An(",").parse,Un=An("\t").parse;function jn(e){if(!e.ok)throw new Error(e.status+" "+e.statusText);return e.text()}function Mn(e,t){return fetch(e,t).then(jn)}function Rn(e){return function(t,n,i){return 2===arguments.length&&"function"==typeof n&&(i=n,n=void 0),Mn(t,n).then(function(t){return e(t,i)})}}var zn=Rn(wn),Fn=Rn(Un);function Hn(e){if(!e.ok)throw new Error(e.status+" "+e.statusText);if(204!==e.status&&205!==e.status)return e.json()}function Gn(e){return(t,n)=>Mn(t,n).then(t=>(new DOMParser).parseFromString(t,e))}var Bn=Gn("application/xml"),Kn=Gn("text/html"),Wn=Gn("image/svg+xml"),Yn=Object.freeze({__proto__:null,blob:function(e,t){return fetch(e,t).then(Pn)},buffer:function(e,t){return fetch(e,t).then(Nn)},dsv:function(e,t,n,i){3===arguments.length&&"function"==typeof n&&(i=n,n=void 0);var o=An(e);return Mn(t,n).then(function(e){return o.parse(e,i)})},csv:zn,tsv:Fn,image:function(e,t){return new Promise(function(n,i){var o=new Image;for(var a in t)o[a]=t[a];o.onerror=i,o.onload=function(){n(o)},o.src=e})},json:function(e,t){return fetch(e,t).then(Hn)},text:Mn,xml:Bn,html:Kn,svg:Wn}),Xn=function(){return e._createClass(function t(n,i,o,a){e._classCallCheck(this,t),this.canvasController=n,this.isSubflow=i,this.pipelineId=o,this.breadcrumbs=a},[{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}}])}();function Vn(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Zn(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Zn(e,t):void 0}}(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 a,r=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return r=e.done,e},e:function(e){s=!0,a=e},f:function(){try{r||null==n.return||n.return()}finally{if(s)throw a}}}}function Zn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}var qn=new Map([["d3-focus-path",1],["d3-node-sizing",2],["d3-node-selection-highlight",3],["d3-node-body-outline",4],["d3-foreign-object-external-node",5],["d3-node-image",6],["d3-foreign-object-node-label",7],["d3-node-ellipsis-group",8],["d3-node-super-expand-icon-group",9],["d3-node-port-input",10],["d3-node-port-output",10],["d3-svg-canvas-underlay",11],["d3-node-error-marker",12],["d3-node-dec-group",13]]),$n=function(){return e._createClass(function t(n){e._classCallCheck(this,t),this.canvasLayout=n},[{key:"getBeforeElement",value:function(e,t){var n;if(null==e||!e.children)return null;var i=null!==(n=qn.get(t))&&void 0!==n?n:999;return this.getNextChildElement(e,i)}},{key:"getNextChildElement",value:function(e,t){var n=this,i=Array.from(e.children).find(function(e){return n.shouldChildComeAfter(e,t)});return null!=i?i:null}},{key:"shouldChildComeAfter",value:function(e,t){var n,i=Vn(e.classList);try{for(i.s();!(n=i.n()).done;){var o=n.value,a=qn.get(o);if(void 0!==a&&a>t)return!0}}catch(e){i.e(e)}finally{i.f()}return!1}},{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(s.CanvasUtils.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 s.CanvasUtils.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 s.ERROR:t=s.NODE_ERROR_ICON;break;case s.WARNING:t=s.NODE_WARNING_ICON}return t}},{key:"getMessageLevel",value:function(e){var t="";if(e&&e.length>0){var n,i=Vn(e);try{for(i.s();!(n=i.n()).done;){var o=n.value;if(o.type===s.ERROR)return o.type;o.type===s.WARNING&&(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 s.ERROR:t="d3-node-error-label";break;case s.WARNING:t="d3-node-warning-label"}return t}},{key:"getErrorMarkerClass",value:function(e){var t="d3-error-circle-off";switch(this.getMessageLevel(e)){case s.ERROR:t="d3-error-circle";break;case s.WARNING: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 s.CanvasUtils.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 s.CanvasUtils.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 s.CanvasUtils.isExpandedSupernode(e)?this.canvasLayout.supernodeImagePosX:this.getElementPosX(e.width,e.layout.imagePosX,e.layout.imagePosition)}},{key:"getNodeImagePosY",value:function(e){return s.CanvasUtils.isExpandedSupernode(e)?this.canvasLayout.supernodeImagePosY:this.getElementPosY(e.height,e.layout.imagePosY,e.layout.imagePosition)}},{key:"getNodeImageWidth",value:function(e){return s.CanvasUtils.isExpandedSupernode(e)?this.canvasLayout.supernodeImageWidth:e.layout.imageWidth}},{key:"getNodeImageHeight",value:function(e){return s.CanvasUtils.isExpandedSupernode(e)?this.canvasLayout.supernodeImageHeight:e.layout.imageHeight}},{key:"getNodeLabelPosX",value:function(e){if(s.CanvasUtils.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 s.CanvasUtils.isExpandedSupernode(e)?this.canvasLayout.supernodeLabelPosY:this.getElementPosY(e.height,e.layout.labelPosY,e.layout.labelPosition)}},{key:"getNodeLabelWidth",value:function(e){return s.CanvasUtils.isExpandedSupernode(e)?e.width-this.canvasLayout.supernodeLabelPosX+this.canvasLayout.supernodeErrorPosX:e.layout.labelWidth}},{key:"getNodeLabelHeight",value:function(e){return s.CanvasUtils.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),a=i?this.getNodeLabelHoverPosX(e):this.getNodeLabelPosX(e),r=t.getBoundingClientRect().width;if("center"===e.layout.labelAlign&&!s.CanvasUtils.isExpandedSupernode(e)){var l=o/2;return a+l+Math.min(l,r/n/2)}var c=Math.min(o,r/n);return this.getNodeLabelPosX(e)+c}},{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*s.TEXT_AREA_BORDER_ADJUSTMENT}},{key:"getNodeLabelTextAreaHeight",value:function(e){return this.getNodeLabelHeight(e)+2*s.TEXT_AREA_BORDER_ADJUSTMENT}},{key:"getNodeLabelTextAreaPosX",value:function(e){return this.getNodeLabelPosX(e)-s.TEXT_AREA_BORDER_ADJUSTMENT}},{key:"getNodeLabelTextAreaPosY",value:function(e){return this.getNodeLabelPosY(e)-s.TEXT_AREA_BORDER_ADJUSTMENT}},{key:"getNodeEllipsisTranslate",value:function(e){return"translate(".concat(this.getNodeEllipsisPosX(e),", ").concat(this.getNodeEllipsisPosY(e),")")}},{key:"getNodeEllipsisWidth",value:function(e){return s.CanvasUtils.isExpandedSupernode(e)?this.canvasLayout.supernodeEllipsisWidth:e.layout.ellipsisWidth}},{key:"getNodeEllipsisHeight",value:function(e){return s.CanvasUtils.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 s.CanvasUtils.isExpandedSupernode(e)?e.width+this.canvasLayout.supernodeEllipsisPosX:this.getElementPosX(e.width,e.layout.ellipsisPosX,e.layout.ellipsisPosition)}},{key:"getNodeEllipsisPosY",value:function(e){return s.CanvasUtils.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 s.CanvasUtils.isExpandedSupernode(e)?e.width+this.canvasLayout.supernodeErrorPosX:this.getElementPosX(e.width,e.layout.errorXPos,e.layout.errorPosition)}},{key:"getNodeErrorPosY",value:function(e){return s.CanvasUtils.isExpandedSupernode(e)?this.canvasLayout.supernodeErrorPosY:this.getElementPosY(e.height,e.layout.errorYPos,e.layout.errorPosition)}},{key:"getNodeErrorWidth",value:function(e){return s.CanvasUtils.isExpandedSupernode(e)?this.canvasLayout.supernodeErrorWidth:e.layout.errorWidth}},{key:"getNodeErrorHeight",value:function(e){return s.CanvasUtils.isExpandedSupernode(e)?this.canvasLayout.supernodeErrorHeight:e.layout.errorHeight}},{key:"getNodePortPosX",value:function(e,t){return this.getElementPosX(t.width,e.x_pos,e.pos)}},{key:"getNodePortPosY",value:function(e,t){return this.getElementPosY(t.height,e.y_pos,e.pos)}},{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}}])}();function Jn(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Qn(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Qn(e,t):void 0}}(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 a,r=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return r=e.done,e},e:function(e){s=!0,a=e},f:function(){try{r||null==n.return||n.return()}finally{if(s)throw a}}}}function Qn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}var ei=function(){return e._createClass(function t(){e._classCallCheck(this,t)},[{key:"getCommentCenterPosX",value:function(e){return e.x_pos+e.width/2}},{key:"getCommentCenterPosY",value:function(e){return e.y_pos+e.height/2}},{key:"insertCommentHighlight",value:function(e,t){var n=(new DOMParser).parseFromString(e,"text/html").getElementsByTagName("body")[0],i=(null==n?void 0:n.innerText)||"",o=new RegExp(t,"gi"),a=i.matchAll(o);if(a){var r,s=Jn(a);try{for(s.s();!(r=s.n()).done;){var l=r.value,c=[];this.searchForElementInfos(n,l.index,l.index+t.length,0,c),this.insertMarkElements(c)}}catch(e){s.e(e)}finally{s.f()}return n.outerHTML}return e}},{key:"searchForElementInfos",value:function(e,t,n,i,o){var a,r=i,s=i,l=Jn(e.childNodes);try{for(l.s();!(a=l.n()).done;){var c=a.value;if(c.nodeType===Node.TEXT_NODE){var u,d=null==c||null===(u=c.textContent)||void 0===u?void 0:u.length;if(s=r+d,r<n&&s>t){var h=t>r?t-r:0,g=n<s?n-r:d;o.push({splitStart:h,splitEnd:g,node:c})}}else c.nodeType===Node.ELEMENT_NODE&&(s=r=this.searchForElementInfos(c,t,n,s,o))}}catch(e){l.e(e)}finally{l.f()}return s}},{key:"insertMarkElements",value:function(e){for(var t=0;t<e.length;t++){var n=e[t],i=n.node,o=i.parentElement,a=i.textContent,r=document.createElement("mark");if(0===n.splitStart&&n.splitEnd===a.length){var s=document.createTextNode(a.slice(0,n.splitEnd));r.appendChild(s),o.replaceChild(r,i)}else if(n.splitStart>0&&n.splitEnd===a.length){var l=document.createTextNode(a.slice(0,n.splitStart)),c=document.createTextNode(a.slice(n.splitStart));r.appendChild(c),o.insertBefore(l,i),o.replaceChild(r,i)}else if(0===n.splitStart&&n.splitEnd<a.length){var u=document.createTextNode(a.slice(0,n.splitEnd)),d=document.createTextNode(a.slice(n.splitEnd));r.appendChild(u),o.insertBefore(r,i),o.replaceChild(d,i)}else{var h=document.createTextNode(a.slice(0,n.splitStart)),g=document.createTextNode(a.slice(n.splitStart,n.splitEnd)),p=document.createTextNode(a.slice(n.splitEnd));r.appendChild(g),o.insertBefore(h,i),o.insertBefore(r,i),o.replaceChild(p,i)}}}}])}();function ti(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 ni(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ti(Object(n),!0).forEach(function(t){C._defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ti(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var ii,oi=!1,ai=!0,ri=function(){return e._createClass(function t(n,i,o,a){e._classCallCheck(this,t),this.canvasLayout=i,this.config=n,this.nodeUtils=o,this.commentUtils=a},[{key:"getNewStraightCommentLinkStartPos",value:function(e,t){return s.CanvasUtils.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:"getNewFreeformNodeLinkStartPos",value:function(e,t,n){var i,o;if("image_center"!==e.layout.drawNodeLinkLineFromTo||s.CanvasUtils.isExpanded(e))if(n){var a=this.getCenterOffset(e,n,!1);i=a.x,o=a.y}else i=this.nodeUtils.getNodeCenterPosX(e),o=this.nodeUtils.getNodeCenterPosY(e);else i=this.nodeUtils.getNodeImageCenterPosX(e),o=this.nodeUtils.getNodeImageCenterPosY(e);return s.CanvasUtils.getOuterCoord(e.x_pos,e.y_pos,e.width,e.height,this.canvasLayout.linkGap,i,o,t.x,t.y)}},{key:"getLinkCoords",value:function(e,t,n,i,o,a){return e.type===s.NODE_LINK?this.canvasLayout.linkMethod===s.LINK_METHOD_FREEFORM?this.getNodeLinkCoordsForFreeform(t,i,e):this.getNodeLinkCoordsForPortsConnection(t,n,i,o):e.type===s.ASSOCIATION_LINK?this.config.enableAssocLinkType===s.ASSOC_RIGHT_SIDE_CURVE?this.getAssociationCurveLinkCoords(t,i,a):this.getAssociationLinkCoords(t,i):this.getCommentLinkCoords(t,i)}},{key:"getNodeLinkCoordsForFreeform",value:function(e,t,n){var i,o,a,r,l,c,u,d,h=e.id===t.id;if("image_center"!==e.layout.drawNodeLinkLineFromTo||this.canvasLayout.linkType!==s.LINK_TYPE_STRAIGHT||s.CanvasUtils.isExpanded(e))if(n&&n.srcFreeformInfo){var g=this.getCenterOffset(e,n.srcFreeformInfo,h);i=g.x,o=g.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||this.canvasLayout.linkType!==s.LINK_TYPE_STRAIGHT||s.CanvasUtils.isExpanded(t))if(n&&n.trgFreeformInfo){var p=this.getCenterOffset(t,n.trgFreeformInfo,h);a=p.x,r=p.y}else a=this.nodeUtils.getNodeCenterPosX(t),r=this.nodeUtils.getNodeCenterPosY(t);else a=this.nodeUtils.getNodeImageCenterPosX(t),r=this.nodeUtils.getNodeImageCenterPosY(t);if(this.canvasLayout.linkType!==s.LINK_TYPE_STRAIGHT||h)return n.srcFreeformInfo.dir===s.EAST?(l=i+this.canvasLayout.linkGap,c=o):n.srcFreeformInfo.dir===s.WEST?(l=i-this.canvasLayout.linkGap,c=o):n.srcFreeformInfo.dir===s.SOUTH?(l=i,c=o+this.canvasLayout.linkGap):n.srcFreeformInfo.dir===s.NORTH&&(l=i,c=o-this.canvasLayout.linkGap),n.trgFreeformInfo.dir===s.EAST?(u=a+this.canvasLayout.linkGap,d=r):n.trgFreeformInfo.dir===s.WEST?(u=a-this.canvasLayout.linkGap,d=r):n.trgFreeformInfo.dir===s.SOUTH?(u=a,d=r+this.canvasLayout.linkGap):n.trgFreeformInfo.dir===s.NORTH&&(u=a,d=r-this.canvasLayout.linkGap),{originX:0,originY:0,x1:l,y1:c,x2:u,y2:d,srcDir:n.srcFreeformInfo.dir,trgDir:n.trgFreeformInfo.dir};var f=s.CanvasUtils.getOuterCoord(e.x_pos,e.y_pos,e.width,e.height,this.canvasLayout.linkGap,i,o,a,r),v=s.CanvasUtils.getOuterCoord(t.x_pos,t.y_pos,t.width,t.height,this.canvasLayout.linkGap,a,r,i,o);return{originX:f.originX,originY:f.originY,x1:f.x,y1:f.y,x2:v.x,y2:v.y,srcDir:f.dir,trgDir:v.dir}}},{key:"getCenterOffset",value:function(e,t,n){var i=t.len+1,o=t.idx+1,a=0,r=0;return t.dir===s.NORTH||t.dir===s.SOUTH?(a=e.x_pos+e.width/i*o,r=this.getYPosForCenterOffset(e,t.dir,n)):t.dir!==s.EAST&&t.dir!==s.WEST||(a=this.getXPosForCenterOffset(e,t.dir,n),r=e.y_pos+e.height/i*o),{x:a,y:r}}},{key:"getYPosForCenterOffset",value:function(e,t,n){return this.canvasLayout.linkType!==s.LINK_TYPE_STRAIGHT||n?t===s.SOUTH?e.y_pos+e.height:e.y_pos:this.nodeUtils.getNodeCenterPosY(e)}},{key:"getXPosForCenterOffset",value:function(e,t,n){return this.canvasLayout.linkType!==s.LINK_TYPE_STRAIGHT||n?t===s.EAST?e.x_pos+e.width:e.x_pos:this.nodeUtils.getNodeCenterPosX(e)}},{key:"getNodeLinkCoordsForPortsConnection",value:function(e,t,n,i){var o,a,r,l,c,u;if(e.outputs&&e.outputs.length>0){var d=e.outputs.find(function(e){return e.id===t});o=d.cx,a=d.cy,c=d.dir}else o=this.nodeUtils.getNodePortPosX(e.layout.outputPortPositions[0],e),a=this.nodeUtils.getNodePortPosY(e.layout.outputPortPositions[0],e),c=s.CanvasUtils.getPortDir(o,a,e);if(n.inputs&&n.inputs.length>0){var h=n.inputs.find(function(e){return e.id===i});r=h.cx,l=h.cy,u=h.dir}else r=this.nodeUtils.getNodePortPosX(n.layout.inputPortPositions[0],n),l=this.nodeUtils.getNodePortPosY(n.layout.inputPortPositions[0],n),u=s.CanvasUtils.getPortDir(o,a,e);return{x1:e.x_pos+o,y1:e.y_pos+a,x2:n.x_pos+r,y2:n.y_pos+l,srcDir:c,trgDir:u}}},{key:"getAssociationCurveLinkCoords",value:function(e,t,n){var i=0,o=0;return n===s.ASSOC_VAR_CURVE_RIGHT?(i=e.width,o=0):n===s.ASSOC_VAR_CURVE_LEFT?(i=0,o=t.width):n===s.ASSOC_VAR_DOUBLE_BACK_LEFT?(i=0,o=0):(i=e.width,o=t.width),{x1:e.x_pos+i,y1:e.y_pos+this.nodeUtils.getNodePortPosY(e.layout.outputPortPositions[0],e),x2:t.x_pos+o,y2:t.y_pos+this.nodeUtils.getNodePortPosY(t.layout.inputPortPositions[0],t)}}},{key:"getCommentLinkCoords",value:function(e,t){var n,i,o=this.commentUtils.getCommentCenterPosX(e),a=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 r=s.CanvasUtils.getOuterCoord(e.x_pos,e.y_pos,e.width,e.height,this.canvasLayout.linkGap,o,a,n,i),l=s.CanvasUtils.getOuterCoord(t.x_pos,t.y_pos,t.width,t.height,this.canvasLayout.linkGap,n,i,o,a);return{x1:r.x,y1:r.y,x2:l.x,y2:l.y}}},{key:"getAssociationLinkCoords",value:function(e,t){var n=this.nodeUtils.getNodeCenterPosX(e),i=this.nodeUtils.getNodeCenterPosY(e),o=this.nodeUtils.getNodeCenterPosX(t),a=this.nodeUtils.getNodeCenterPosY(t),r=s.CanvasUtils.getOuterCoord(e.x_pos,e.y_pos,e.width,e.height,this.canvasLayout.linkGap,n,i,o,a),l=s.CanvasUtils.getOuterCoord(t.x_pos,t.y_pos,t.width,t.height,this.canvasLayout.linkGap,o,a,n,i);return{originX:r.originX,originY:r.originY,x1:r.x,y1:r.y,x2:l.x,y2:l.y,srcDir:r.dir,trgDir:l.dir}}},{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);return e.type===s.NODE_LINK?this.canvasLayout.linkMethod===s.LINK_METHOD_FREEFORM&&this.canvasLayout.linkType===s.LINK_TYPE_STRAIGHT?this.getStraightPath(e,n):this.getNodeLinkPathInfo(e,n):e.type===s.ASSOCIATION_LINK&&this.config.enableAssocLinkType===s.ASSOC_RIGHT_SIDE_CURVE?this.getAssociationCurvePath(e,n):this.getStraightPath(e,n)}},{key:"getMinInitialLine",value:function(e,t){return e.type===s.COMMENT_LINK?0:e.minInitialLineForElbow?e.minInitialLineForElbow:e.srcObj&&e.srcObj.layout?e.srcObj.layout.minInitialLine:t||30}},{key:"getNodeLinkPathInfo",value:function(e,t){var n,i,o,a,r=e;r.srcObj&&r.trgNode?r.srcDir===s.SOUTH?(n=-(r.srcObj.x_pos+r.srcObj.width),o=-r.srcObj.x_pos,i=-(r.trgNode.x_pos+r.trgNode.width),a=-r.trgNode.x_pos):r.srcDir===s.NORTH?(n=r.srcObj.x_pos,o=r.srcObj.x_pos+r.srcObj.width,i=r.trgNode.x_pos,a=r.trgNode.x_pos+r.trgNode.width):r.srcDir===s.WEST?(n=-(r.srcObj.y_pos+r.srcObj.height),o=-r.srcObj.y_pos,i=-(r.trgNode.y_pos+r.trgNode.height),a=-r.trgNode.y_pos):(n=r.srcObj.y_pos,o=r.srcObj.y_pos+r.srcObj.height,i=r.trgNode.y_pos,a=r.trgNode.y_pos+r.trgNode.height):r.srcDir===s.SOUTH?(n=-r.x1,i=-r.x2,o=-r.x1,a=-r.x2):r.srcDir===s.NORTH?(n=r.x1,i=r.x2,o=r.x1,a=r.x2):r.srcDir===s.WEST?(n=-r.y1,i=-r.y2,o=-r.y1,a=-r.y2):(n=r.y1,i=r.y2,o=r.y1,a=r.y2),r.srcDir===s.SOUTH?r=this.rotateData90Degrees(r,ai):r.srcDir===s.NORTH?r=this.rotateData90Degrees(r,oi):r.srcDir===s.WEST&&(r=this.rotateData90Degrees(r,oi),r=this.rotateData90Degrees(r,oi)),r.trgDir=this.getRotatedTrgDir(r);var l=r.srcDir;r.srcDir=s.EAST;var c=this.getPathInfo({link:r,minInitialLine:t,topSrc:n,topTrg:i,bottomSrc:o,bottomTrg:a});return r.srcDir=l,r.srcDir===s.SOUTH?(c.elements=this.rotateElements90Degrees(c.elements,oi),c.centerPoint=this.rotatePoint90Degrees(c.centerPoint.x,c.centerPoint.y,oi)):r.srcDir===s.NORTH?(c.elements=this.rotateElements90Degrees(c.elements,ai),c.centerPoint=this.rotatePoint90Degrees(c.centerPoint.x,c.centerPoint.y,ai)):r.srcDir===s.WEST&&(c.elements=this.rotateElements90Degrees(c.elements,ai),c.elements=this.rotateElements90Degrees(c.elements,ai),c.centerPoint=this.rotatePoint90Degrees(c.centerPoint.x,c.centerPoint.y,ai),c.centerPoint=this.rotatePoint90Degrees(c.centerPoint.x,c.centerPoint.y,ai)),c.path=this.createPath(c.elements),c}},{key:"rotateData90Degrees",value:function(e,t){var n=this.rotatePoint90Degrees(e.x1,e.y1,t),i=this.rotatePoint90Degrees(e.x2,e.y2,t);return ni(ni({},e),{},{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:"getRotatedTrgDir",value:function(e){if(e.srcDir===s.SOUTH)switch(e.trgDir){case s.SOUTH:return s.EAST;case s.NORTH:return s.WEST;case s.WEST:return s.SOUTH;default:case s.EAST:return s.NORTH}else if(e.srcDir===s.NORTH)switch(e.trgDir){case s.SOUTH:return s.WEST;case s.NORTH:return s.EAST;case s.WEST:return s.NORTH;default:case s.EAST:return s.SOUTH}else if(e.srcDir===s.WEST)switch(e.trgDir){case s.SOUTH:return s.NORTH;case s.NORTH:return s.SOUTH;case s.WEST:return s.EAST;default:case s.EAST:return s.WEST}return e.trgDir}},{key:"getStraightPath",value:function(e,t){if(e.srcNodeId&&e.trgNodeId&&e.srcNodeId===e.trgNodeId)return this.selfRefLinkPath(e,t);if(e.centerDragPos&&"revertLink"!==e.centerDragPos)return this.getStraightPathForCenterDrag(e);var n="M "+e.x1+" "+e.y1+" L "+e.x2+" "+e.y2,i=e.x2-e.x1,o=e.y2-e.y1;return{path:n,centerPoint:{x:e.x1+i/2,y:e.y1+o/2},angle:s.CanvasUtils.calculateAngle(e.x1,e.y1,e.x2,e.y2)}}},{key:"getStraightPathForCenterDrag",value:function(e){return{path:"M "+e.x1+" "+e.y1+" L "+e.centerDragPos.x+" "+e.centerDragPos.y+" "+e.x2+" "+e.y2,centerPoint:{x:e.centerDragPos.x,y:e.centerDragPos.y},angle:s.CanvasUtils.calculateAngle(e.centerDragPos.x,e.centerDragPos.y,e.x2,e.y2)}}},{key:"selfRefLinkPath",value:function(e,t){var n=e.y2-t,i=e.x1+t;return{path:"M "+e.x1+" "+e.y1+" L "+i+" "+e.y1+" "+i+" "+n+" "+e.x2+" "+n+" "+e.x2+" "+e.y2,centerPoint:{x:e.x2+(i-e.x2)/2,y:n},angle:180}}},{key:"getAssociationCurvePath",value:function(e,t){return e.assocLinkVariation===s.ASSOC_VAR_CURVE_LEFT?this.getCurveLeftPath(e,t):e.assocLinkVariation===s.ASSOC_VAR_DOUBLE_BACK_LEFT?this.getDoubleBackLeft(e,t):e.assocLinkVariation===s.ASSOC_VAR_DOUBLE_BACK_RIGHT?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,a=e.y2;return{path:"M "+e.x1+" "+e.y1+" C "+n+" "+i+" "+o+" "+a+" "+e.x2+" "+e.y2,centerPoint:{x:n,y:i+(a-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,a=e.y2;return{path:"M "+e.x1+" "+e.y1+" C "+n+" "+i+" "+o+" "+a+" "+e.x2+" "+e.y2,centerPoint:{x:s.CanvasUtils.getCenterPointCubicBezier(e.x1,n,o,e.x2),y:s.CanvasUtils.getCenterPointCubicBezier(e.y1,i,a,e.y2)}}}},{key:"getPathInfo",value:function(e){switch(e.minFinalLine=e.link.trgNode?e.link.trgNode.layout.minFinalLine:30,e.link.trgDir){case s.NORTH:return this.getPathInfoEN(e);case s.SOUTH:return this.getPathInfoES(e);case s.EAST:return this.getPathInfoEE(e);case s.WEST:default:return this.getPathInfoEW(e)}}},{key:"getPathInfoEW",value:function(e){var t=this.canvasLayout.wrapAroundNodePadding,n=e.link.x2-e.link.x1;if(n>e.minInitialLine+e.minFinalLine||n>0&&e.topSrc-t<e.bottomTrg&&e.bottomSrc+t>e.topTrg){var i={},o={};if(i.x=e.link.x1+e.minInitialLine,i.y=e.link.y1,o.x=i.x,o.y=e.link.y2,n>0){var a=2*e.minInitialLine-n;a>0&&(i.x=e.link.x1+e.minInitialLine-a/2,o.x=i.x)}return this.get3PartLink(e,i,o)}var r={},s={},l={},c={},u=this.calculateMidY(e.link,e.topSrc,e.bottomSrc,e.topTrg,e.bottomTrg);return r.x=e.link.x1+e.minInitialLine,r.y=e.link.y1,s.x=r.x,s.y=u,l.x=e.link.x2-e.minFinalLine,l.y=s.y,c.x=l.x,c.y=e.link.y2,this.get5PartLink(e,r,s,l,c)}},{key:"getPathInfoEE",value:function(e){var t=this.canvasLayout.wrapAroundNodePadding;if(e.topTrg-t<e.link.y1&&e.bottomTrg+t>e.link.y1){var n={},i={},o={},a={};return n.x=e.link.x1+e.minInitialLine,n.y=e.link.y1,i.x=n.x,i.y=e.link.x1>=e.link.x2?e.link.y1+(e.link.y2-e.link.y1)/2:e.topTrg-t,o.x=e.link.x2+e.minFinalLine,o.y=i.y,a.x=o.x,a.y=e.link.y2,e.link.x2<e.link.x1&&(i.y=e.topSrc-t,o.y=i.y),this.get5PartLink(e,n,i,o,a)}var r={},s={};return r.x=Math.max(e.link.x1+e.minInitialLine,e.link.x2+e.minFinalLine),r.y=e.link.y1,s.x=r.x,s.y=e.link.y2,this.get3PartLink(e,r,s)}},{key:"getPathInfoEN",value:function(e){if(e.link.y2>e.link.y1+e.minFinalLine&&e.link.x2>e.link.x1+e.minInitialLine){var t={};return t.x=e.link.x2,t.y=e.link.y1,this.get2PartLink(e,t)}var n={},i={},o={},a=e.link.y2-e.minFinalLine;return e.link.x2<e.link.x1&&(e.topTrg>e.bottomSrc+e.minFinalLine+this.canvasLayout.wrapAroundNodePadding?a=e.topTrg-e.minFinalLine:e.topTrg>e.topSrc&&(a=e.topSrc-this.canvasLayout.wrapAroundNodePadding)),n.x=e.link.x1+e.minInitialLine,n.y=e.link.y1,i.x=n.x,i.y=a,o.x=e.link.x2,o.y=i.y,this.get4PartLink(e,n,i,o)}},{key:"getPathInfoES",value:function(e){if(e.link.y1>e.link.y2+e.minFinalLine&&e.link.x2>e.link.x1){var t={};return t.x=e.link.x2,t.y=e.link.y1,this.get2PartLink(e,t)}var n={},i={},o={},a=e.link.y2+e.minFinalLine;return e.link.x2<e.link.x1&&(e.bottomTrg<e.topSrc-e.minFinalLine-this.canvasLayout.wrapAroundNodePadding?a=e.bottomTrg+e.minFinalLine:e.bottomTrg<e.bottomSrc&&(a=e.bottomSrc+this.canvasLayout.wrapAroundNodePadding)),n.x=e.link.x1+e.minInitialLine,n.y=e.link.y1,i.x=n.x,i.y=a,o.x=e.link.x2,o.y=i.y,this.get4PartLink(e,n,i,o)}},{key:"calculateMidY",value:function(e,t,n,i,o){var a;if(i>=n+this.canvasLayout.wrapAroundNodePadding)a=n+(i-n)/2;else if(o<=t-this.canvasLayout.wrapAroundNodePadding)a=o+(t-o)/2;else{var r=Math.max(n,o),s=r-e.y1,l=r-e.y2,c=Math.min(t,i);a=s+l>e.y1-c+(e.y2-c)?c-this.canvasLayout.wrapAroundSpacing:r+this.canvasLayout.wrapAroundSpacing}return a}},{key:"get2PartLink",value:function(e,t){switch(this.canvasLayout.linkType){case s.LINK_TYPE_ELBOW:return this.get2PartElbow(e,t);case s.LINK_TYPE_STRAIGHT:return this.get2PartStraight(e,t);case s.LINK_TYPE_PARALLAX:return this.get2PartParallax(e,t);default:return this.get2PartCurve(e,t)}}},{key:"get3PartLink",value:function(e,t,n){switch(this.canvasLayout.linkType){case s.LINK_TYPE_ELBOW:return this.get3PartElbow(e,t,n);case s.LINK_TYPE_STRAIGHT:return this.get3PartStraight(e,t,n);case s.LINK_TYPE_PARALLAX:return this.get3PartParallax(e,t,n);default:return this.get3PartCurve(e,t,n)}}},{key:"get4PartLink",value:function(e,t,n,i){switch(this.canvasLayout.linkType){case s.LINK_TYPE_ELBOW:return this.get4PartElbow(e,t,n,i);case s.LINK_TYPE_STRAIGHT:return this.get4PartStraight(e,t,n,i);case s.LINK_TYPE_PARALLAX:return this.get4PartParallax(e,t,n,i);default:return this.get4PartCurve(e,t,n,i)}}},{key:"get5PartLink",value:function(e,t,n,i,o){switch(this.canvasLayout.linkType){case s.LINK_TYPE_ELBOW:return this.get5PartElbow(e,t,n,i,o);case s.LINK_TYPE_STRAIGHT:return this.get5PartStraight(e,t,n,i,o);case s.LINK_TYPE_PARALLAX:return this.get5PartParallax(e,t,n,i,o);default:return this.get5PartCurve(e,t,n,i,o)}}},{key:"get2PartElbow",value:function(e,t){var n=e.link.y2<t.y?-this.canvasLayout.elbowSize:this.canvasLayout.elbowSize;return{elements:[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:t.x-this.canvasLayout.elbowSize,y:t.y},{p:"Q",x:t.x,y:t.y,x2:t.x,y2:t.y+n},{p:"L",x:e.link.x2,y:e.link.y2}],centerPoint:{x:e.link.x1+(e.link.x2-e.link.x1)/2,y:e.link.y1}}}},{key:"get3PartElbow",value:function(e,t,n){var i=this.canvasLayout.elbowSize,o=this.adjustElbowSize(n.y,t.y),a=e.link.x2>n.x?this.canvasLayout.elbowSize:-this.canvasLayout.elbowSize;return{elements:[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:t.x-i,y:t.y},{p:"Q",x:t.x,y:t.y,x2:t.x,y2:t.y+o},{p:"L",x:n.x,y:n.y-o},{p:"Q",x:n.x,y:n.y,x2:n.x+a,y2:n.y},{p:"L",x:e.link.x2,y:e.link.y2}],centerPoint:{x:t.x,y:e.link.y1+(e.link.y2-e.link.y1)/2}}}},{key:"get4PartElbow",value:function(e,t,n,i){var o=this.canvasLayout.elbowSize,a=this.adjustElbowSize(n.y,t.y),r=this.adjustElbowSize(t.x,i.x),s=i.y>e.link.y2?this.canvasLayout.elbowSize:-this.canvasLayout.elbowSize;return{elements:[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:t.x-o,y:t.y},{p:"Q",x:t.x,y:t.y,x2:t.x,y2:t.y+a},{p:"L",x:n.x,y:n.y-a},{p:"Q",x:n.x,y:n.y,x2:n.x-r,y2:n.y},{p:"L",x:i.x+r,y:i.y},{p:"Q",x:i.x,y:i.y,x2:i.x,y2:i.y-s},{p:"L",x:e.link.x2,y:e.link.y2}],centerPoint:{x:n.x+(i.x-n.x)/2,y:n.y}}}},{key:"get5PartElbow",value:function(e,t,n,i,o){var a=this.canvasLayout.elbowSize,r=this.adjustElbowSize(n.y,t.y),s=this.adjustElbowSize(t.x,i.x),l=this.adjustElbowSize(i.y,o.y),c=e.link.x2<o.x?-this.canvasLayout.elbowSize:this.canvasLayout.elbowSize;return{elements:[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:t.x-a,y:t.y},{p:"Q",x:t.x,y:t.y,x2:t.x,y2:t.y+r},{p:"L",x:n.x,y:n.y-r},{p:"Q",x:n.x,y:n.y,x2:n.x-s,y2:n.y},{p:"L",x:i.x+s,y:i.y},{p:"Q",x:i.x,y:i.y,x2:i.x,y2:i.y-l},{p:"L",x:o.x,y:o.y+l},{p:"Q",x:o.x,y:o.y,x2:o.x+c,y2:o.y},{p:"L",x:e.link.x2,y:e.link.y2}],centerPoint:{x:n.x+(i.x-n.x)/2,y:n.y}}}},{key:"adjustElbowSize",value:function(e,t){var n=this.canvasLayout.elbowSize,i=t-e;return i<2*this.canvasLayout.elbowSize&&i>-2*this.canvasLayout.elbowSize&&(n=Math.abs(i)/2),n=i>0?-n:n}},{key:"get2PartParallax",value:function(e,t){var n=e.link.y2>e.link.y1?-e.minFinalLine:e.minFinalLine,i={},o={};return i.x=e.link.x1+e.minInitialLine,i.y=t.y,o.x=t.x,o.y=e.link.y2+n,{elements:[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:i.x,y:t.y},{p:"L",x:o.x,y:o.y},{p:"L",x:e.link.x2,y:e.link.y2}],centerPoint:{x:i.x+(t.x-i.x)/2,y:i.y+(o.y-i.y)/2}}}},{key:"get3PartParallax",value:function(e,t,n){var i,o={x:0,y:0};if(e.link.x2>n.x){var a={};a.x=e.link.x2-Math.min(e.minFinalLine,e.link.x2-t.x),a.y=e.link.y2,i=[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:t.x,y:t.y},{p:"L",x:a.x,y:a.y},{p:"L",x:e.link.x2,y:e.link.y2}],o={x:t.x+(a.x-t.x)/2,y:t.y+(a.y-t.y)/2}}else e.link.x2<e.link.x1+e.minInitialLine?(i=[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:t.x,y:t.y},{p:"L",x:Math.max(n.x,e.link.x2),y:e.link.y2},{p:"L",x:e.link.x2,y:e.link.y2}],o={x:e.link.x2+(n.x-e.link.x2)/2,y:n.y}):(i=[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:t.x,y:t.y},{p:"L",x:e.link.x2+e.minFinalLine,y:e.link.y2},{p:"L",x:e.link.x2,y:e.link.y2}],o={x:t.x,y:t.y+(e.link.y2-t.y)/2});return{elements:i,centerPoint:o}}},{key:"get4PartParallax",value:function(e,t,n,i){return{elements:[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:t.x,y:t.y},{p:"L",x:n.x,y:n.y},{p:"L",x:i.x,y:i.y},{p:"L",x:e.link.x2,y:e.link.y2}],centerPoint:{x:i.x+(n.x-i.x)/2,y:n.y}}}},{key:"get5PartParallax",value:function(e,t,n,i,o){return{elements:[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:t.x,y:t.y},{p:"L",x:n.x,y:n.y},{p:"L",x:i.x,y:i.y},{p:"L",x:o.x,y:o.y},{p:"L",x:e.link.x2,y:e.link.y2}],centerPoint:{x:i.x+(n.x-i.x)/2,y:n.y}}}},{key:"get2PartStraight",value:function(e,t){return{elements:[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:e.link.x2,y:e.link.y2}],centerPoint:{x:e.link.x1+(e.link.x2-e.link.x1)/2,y:e.link.y1+(e.link.y2-e.link.y1)/2}}}},{key:"get3PartStraight",value:function(e,t,n){var i,o={x:0,y:0};return n.x<e.link.x2?(i=[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:e.link.x2,y:e.link.y2}],o={x:e.link.x1+(e.link.x2-e.link.x1)/2,y:e.link.y1+(e.link.y2-e.link.y1)/2}):e.link.x2<e.link.x1?(i=[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:t.x,y:n.y},{p:"L",x:e.link.x2,y:e.link.y2}],o={x:e.link.x2+(n.x-e.link.x2)/2,y:n.y}):(i=[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:t.x+e.minFinalLine,y:t.y},{p:"L",x:e.link.x2,y:e.link.y2}],o={x:e.link.x1+(t.x-e.link.x1)/2,y:e.link.y1}),{elements:i,centerPoint:o}}},{key:"get4PartStraight",value:function(e,t,n,i){return{elements:[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:e.link.x1+e.minInitialLine,y:n.y},{p:"L",x:e.link.x2,y:n.y},{p:"L",x:e.link.x2,y:e.link.y2}],centerPoint:{x:i.x+(n.x-i.x)/2,y:n.y}}}},{key:"get5PartStraight",value:function(e,t,n,i,o){var a=o.x>e.link.x2?e.minFinalLine:-e.minFinalLine;return{elements:[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:t.x,y:n.y},{p:"L",x:e.link.x2+a,y:n.y},{p:"L",x:e.link.x2+a,y:e.link.y2},{p:"L",x:e.link.x2,y:e.link.y2}],centerPoint:{x:i.x+(n.x-i.x)/2,y:n.y}}}},{key:"get2PartCurve",value:function(e,t){return{elements:[{p:"M",x:e.link.x1,y:e.link.y1},{p:"Q",x:t.x,y:t.y,x2:e.link.x2,y2:e.link.y2}],centerPoint:{x:s.CanvasUtils.getCenterPointQuadBezier(e.link.x1,t.x,e.link.x2),y:s.CanvasUtils.getCenterPointQuadBezier(e.link.y1,t.y,e.link.y2)}}}},{key:"get3PartCurve",value:function(e,t,n){var i,o;if(t.x>e.link.x2)i=[{p:"M",x:e.link.x1,y:e.link.y1},{p:"C",x:t.x+80,y:t.y,x2:n.x+20,y2:n.y,x3:e.link.x2,y3:e.link.y2}],o={x:s.CanvasUtils.getCenterPointCubicBezier(e.link.x1,t.x+80,n.x,e.link.x2),y:s.CanvasUtils.getCenterPointCubicBezier(e.link.y1,t.y,n.y,e.link.y2)};else{var a={};a.x=e.link.x1+(e.link.x2-e.link.x1)/2,i=[{p:"M",x:e.link.x1,y:e.link.y1},{p:"C",x:a.x,y:t.y,x2:a.x,y2:n.y,x3:e.link.x2,y3:e.link.y2}],o={x:a.x,y:t.y+(n.y-t.y)/2}}return{elements:i,centerPoint:o}}},{key:"get4PartCurve",value:function(e,t,n,i){var o=e.link.x2-t.x,a=Math.min(200,Math.abs(o)),r=o>0?-a/2:a/2,s={},l={},c={};return s.x=t.x,s.y=t.y+(n.y-t.y)/2,l.x=n.x-r,l.y=n.y,c.x=i.x+r,c.y=n.y,{elements:[{p:"M",x:e.link.x1,y:e.link.y1},{p:"Q",x:t.x,y:t.y,x2:s.x,y2:s.y},{p:"Q",x:n.x,y:n.y,x2:l.x,y2:l.y},{p:"L",x:c.x,y:c.y},{p:"Q",x:i.x,y:i.y,x2:e.link.x2,y2:e.link.y2}],centerPoint:l}}},{key:"get5PartCurve",value:function(e,t,n,i,o){var a=o.x-t.x,r=Math.min(200,Math.abs(a)),s=a>0?-r/2:r/2,l={},c={},u={},d={};return l.x=t.x,l.y=t.y+(n.y-t.y)/2,c.x=n.x-s,c.y=n.y,u.x=i.x+s,u.y=n.y,d.x=i.x,d.y=e.link.y2-(e.link.y2-i.y)/2,{elements:[{p:"M",x:e.link.x1,y:e.link.y1},{p:"Q",x:t.x,y:t.y,x2:l.x,y2:l.y},{p:"Q",x:n.x,y:n.y,x2:c.x,y2:c.y},{p:"L",x:u.x,y:u.y},{p:"Q",x:i.x,y:i.y,x2:d.x,y2:d.y},{p:"Q",x:o.x,y:o.y,x2:e.link.x2,y2:e.link.y2}],centerPoint:c}}},{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}}])}(),si=function(){return e._createClass(function t(n){e._classCallCheck(this,t),this.canvasLayout=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){var i=this.getDecRotateTransform(e,t,n);return"translate(".concat(this.getDecPosX(e,t,n),", ").concat(this.getDecPosY(e,t,n),")")+i}},{key:"getDecRotateTransform",value:function(e,t,n){if("link"===n&&e.rotate){var i="source"===e.position?s.CanvasUtils.getLinkEndAngle(t,s.FLOW_OUT,this.canvasLayout):s.CanvasUtils.getLinkEndAngle(t,s.FLOW_IN,this.canvasLayout);return" rotate(".concat(i,")")}return""}},{key:"getDecPosX",value:function(e,t,n){return n===s.DEC_LINK?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;if("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&&s.has_1(t,"pathInfo.angle")){var a=t.pathInfo.angle*(Math.PI/180);o+=Math.cos(a)*e.distance}return"center"===e.label_align&&(o-=this.getDecWidth(e,t,n)/2),o}},{key:"getDecPosY",value:function(e,t,n){return n===s.DEC_LINK?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;if("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&&s.has_1(t,"pathInfo.angle")){var o=t.pathInfo.angle*(Math.PI/180);i+=Math.sin(o)*e.distance}return i}},{key:"getDecPadding",value:function(e,t,n){return!1===e.outline?0:n===s.DEC_LINK?this.canvasLayout.linkDecoratorPadding:t.layout.decoratorPadding}},{key:"getDecWidth",value:function(e,t,n){return void 0!==e.width?Number(e.width):n===s.DEC_LINK?this.canvasLayout.linkDecoratorWidth:t.layout.decoratorWidth}},{key:"getDecHeight",value:function(e,t,n){return void 0!==e.height?Number(e.height):n===s.DEC_LINK?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 a=Math.min(i.getBoundingClientRect().width,this.getDecLabelWidth(e,t,n));return"center"===e.label_align?this.getDecLabelWidth(e,t,n)/2+a/2/o:a/o}},{key:"getDecLabelEditIconPosY",value:function(e){return 0}},{key:"getDecLabelWidth",value:function(e,t,n){return void 0!==e.width?Number(e.width):n===s.DEC_LINK?this.canvasLayout.linkDecoratorLabelWidth:t.layout.decoratorLabelWidth}},{key:"getDecLabelHeight",value:function(e,t,n){return void 0!==e.height?Number(e.height):n===s.DEC_LINK?this.canvasLayout.linkDecoratorLabelHeight:t.layout.decoratorLabelHeight}},{key:"getDecLabelTextAreaWidth",value:function(e,t,n){return this.getDecLabelWidth(e,t,n)+2*s.TEXT_AREA_BORDER_ADJUSTMENT}},{key:"getDecLabelTextAreaHeight",value:function(e,t,n){return this.getDecLabelHeight(e,t,n)+2*s.TEXT_AREA_BORDER_ADJUSTMENT}},{key:"getDecLabelTextAreaPosX",value:function(){return-s.TEXT_AREA_BORDER_ADJUSTMENT}},{key:"getDecLabelTextAreaPosY",value:function(){return-(s.TEXT_AREA_BORDER_ADJUSTMENT-1)}}])}(),li=S.default;if("production"===process.env.NODE_ENV)ii=li.createRoot,li.hydrateRoot;else{var ci=li.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;ii=function(e,t){ci.usingClientEntryPoint=!0;try{return li.createRoot(e,t)}finally{ci.usingClientEntryPoint=!1}}}var ui=function(){return e._createClass(function t(n){e._classCallCheck(this,t),this.logger=new h.Logger("SVGCanvasExternal"),this.ren=n},[{key:"isValidJsxElement",value:function(e){return T.default.isValidElement(e)}},{key:"isReact18OrHigher",value:function(){return Number(T.default.version.split(".")[0])>=18}},{key:"addNodeExternalObject",value:function(e,t,n,i){var o=T.default.createElement(e.layout.nodeExternalObject,{nodeData:e,pipelineData:i,canvasController:this.ren.canvasController,externalUtils:this});this.renderExternalObject(o,n[t])}},{key:"addNodeImageExternalObject",value:function(e,t,n){this.renderExternalObject(e,n[t])}},{key:"addDecExternalObject",value:function(e,t,n){this.renderExternalObject(e.jsx,n[t])}},{key:"addJsxExternalObject",value:function(e,t,n){this.renderExternalObject(e,n[t])}},{key:"renderExternalObject",value:function(e,t){this.isReact18OrHigher()?(t.ccExtRoot||(t.ccExtRoot=ii(t)),t.ccExtRoot.render(e)):S.default.render(e,t)}},{key:"removeExternalObject",value:function(e,t,n){if(this.isReact18OrHigher()){var i=n[t];i.ccExtRoot||(i.ccExtRoot=ii(i)),setTimeout(function(){i.ccExtRoot.unmount(),i.ccExtRoot=null})}else S.default.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,i.dir=s.CanvasUtils.getPortDir(i.cx,i.cy,t)}),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,i.dir=s.CanvasUtils.getPortDir(i.cx,i.cy,t)}),this.ren.displayMovedLinks()}},{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)}}])}(),di=bn({"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"}),hi=s.toString_1,gi=di,pi=/&(?:amp|lt|gt|quot|#39);/g,fi=RegExp(pi.source);var vi=function(e){return(e=hi(e))&&fi.test(e)?e.replace(pi,gi):e},yi=function(){return e._createClass(function t(){e._classCallCheck(this,t)},null,[{key:"processMarkdownAction",value:function(e,t,n,i){var o=n,a=i,r=null;switch(o===a?(o=this.findFirstSpace(t,o),a=this.findLastSpace(t,a)):this.allWhiteSpace(t,o,a)?o=a:(o=this.findFirstNonSpace(t,o,a),a=this.findLastNonSpace(t,o,a)),e){case"title":case"header":case"subheader":case"body":case"increaseHashes":case"decreaseHashes":r=this.processHeaderCommand(t,o,a,e);break;case"bold":r=this.processWrapCommand(t,o,a,"**");break;case"italics":r=this.processWrapCommand(t,o,a,"_");break;case"strikethrough":r=this.processWrapCommand(t,o,a,"~~");break;case"code":r=this.processCodeCommand(t,o,a);break;case"link":r=this.processLinkCommand(t,o,a);break;case"quote":case"numberedList":case"bulletedList":r=this.processMultiLineCommand(t,o,a,e);break;case"return":r=this.processReturnCommand(t,o,a,n,i)}return r}},{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),a=this.findSucceedingNewLine(e,n),r=e.slice(0,o),s=e.slice(o,a),l=e.slice(a),c=o,u=a,d="",h=s,g=this.getHashCount(s);if(g>0){var p=s.indexOf(" ");d=r+(h=s.slice(p+1))+l,u-=p+1}var f=this.getHeaderSyntax(i,g);return f&&(d=r+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="",a=t,r=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),a=t-u,r=n-u):l.startsWith(i)&&l.endsWith(i)?(o=s+l.slice(0,l.length-u).slice(u)+c,a=t,r=n-2*u):(o=s+i+l+i+c,a=t+u,r=n+u),{newText:o,newStart:a,newEnd:r}}},{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.findSucceedingNewLine(e,n),a=e.slice(0,i),r=e.slice(i,o),s=e.slice(o),l=i,c=o,u="";return a.endsWith("```\n")&&s.startsWith("\n```")?(u=a.slice(0,i-4)+r+s.slice(4),l-=4,c-=4):(u=a+"```\n"+r+"\n```"+s,l+=4,c+=4),{newText:u,newStart:l,newEnd:c}}},{key:"processLinkCommand",value:function(e,t,n){var i="",o=t,a=n,r=e.slice(0,t),s=e.slice(t,n),l=e.slice(n);return r.endsWith("[")&&l.startsWith("](url)")?(i=r.slice(0,r.length-1)+s+l.slice(6),o=t-1,a=n-1):"[](url)"===s?(i=r+l,a=o=t):t===n?(i=r+"[](url)"+l,o=t+1,a=t+1):(i=r+"["+s+"](url)"+l,o=t+1,a=n+1),{newText:i,newStart:o,newEnd:a}}},{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,a=this.findPrecedingNewLine(e,t),r=this.findSucceedingNewLine(e,n);return e.slice(a,r).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,a=this.findPrecedingNewLine(e,t),r=this.findSucceedingNewLine(e,n),s=e.slice(0,a),l=e.slice(a,r),c=e.slice(r),u=a,d=r,h=s,g=l.split("\n");return g.forEach(function(e,t){var n=o.removeListPrefix(e,i);d-=e.length-n.length,h+=n,t<g.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,a=this.findPrecedingNewLine(e,t),r=this.findSucceedingNewLine(e,n),s=e.slice(0,a),l=e.slice(a,r),c=e.slice(r),u=a,d=r,h=s;if(""===l){var g=this.getListPrefix(i,1);h=s+g+c,u=a+g.length,d=u}else{var p=l.split("\n");p.forEach(function(e,t){var n=o.getListPrefix(i,t+1,e);d+=n.length-e.length,h+=n,t===p.length-1&&(h.endsWith("\n")||!c||c.startsWith("\n\n"))||(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:"findSucceedingNewLine",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 a=this.findPrecedingNewLine(e,t),r=this.findSucceedingNewLine(e,n),s=e.slice(0,a),l=e.slice(a,r),c=e.slice(r);if(!this.isCursorAtBeginningOfLine(a,i,o)){if(this.isMultiLineItem(l,"quote"))return this.insertMultiLineItem(">",s,l,c,r);if(this.isMultiLineItem(l,"bulletedList"))return this.insertMultiLineItem("*",s,l,c,r);if(this.isMultiLineItem(l,"numberedList")){var u=this.getPrefixNumber(l)+1,d=this.renumberEndText(c,u);return this.insertMultiLineItem(u+".",s,l,d,r)}}return null}},{key:"isCursorAtBeginningOfLine",value:function(e,t,n){return t===n&&t===e}},{key:"insertMultiLineItem",value:function(e,t,n,i,o){var a=t+n+"\n"+e+" "+i,r=o+2+e.length;return{newText:a,newStart:r,newEnd:r}}},{key:"renumberEndText",value:function(e,t){var n=this,i=e.split("\n"),o="",a=!1;return i.forEach(function(e,i){n.isMultiLineItem(e,"numberedList")&&!1===a?o+=n.renumberLine(e,t+i):(o+=e,i>0&&(a=!0))}),o}},{key:"renumberLine",value:function(e,t){var n=e.indexOf(". ");return t+". "+e.slice(n+2)}}])}(),mi=Object.assign({},fn),bi="#FFFFFF",Ci="#000000",ki=function(){return e._createClass(function t(n,i,o,a,r,s,l,c,u,d,g,p,f){e._classCallCheck(this,t),this.config=n,this.dispUtils=i,this.nodeUtils=o,this.decUtils=a,this.canvasController=r,this.canvasDiv=s,this.activePipeline=l,this.removeTempCursorOverlay=c,this.displayCommentsCallback=u,this.displayLinksCallback=d,this.getCommentToolbarPosCallback=g,this.addCanvasZoomBehavior=p,this.removeCanvasZoomBehavior=f,this.logger=new h.Logger("SvgCanvasTextArea"),this.editingText=!1,this.editingTextId="",this.addingTextToTextArea=!1,this.textAreaHeight=null},[{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,autoSize:e.autoSize,contentType:e.contentType,formats:e.formats,newFormats:b.cloneDeep_1(e.formats),parentDomObj:t,keyboardInputCallback:e.contentType!==s.WYSIWYG&&this.config.enableMarkdownInComments?this.commentKeyboardHandler.bind(this):null,autoSizeCallback:this.autoSizeComment.bind(this),saveTextChangesCallback:this.saveCommentChanges.bind(this),closeTextAreaCallback:this.closeCommentTextArea.bind(this)},this.displayEditableComment(this.editingTextData),this.dispUtils.isDisplayingFullPage()){var n=this.getCommentToolbarPosCallback(e);e.contentType===s.WYSIWYG?this.canvasController.openTextToolbar(n.x,n.y,this.editingTextData.newFormats,s.WYSIWYG,this.wysiwygActionHandler.bind(this),this.blurInTextToolbar.bind(this)):this.config.enableMarkdownInComments&&this.canvasController.openTextToolbar(n.x,n.y,null,s.MARKDOWN,this.markdownActionHandler.bind(this),this.blurInTextToolbar.bind(this))}}},{key:"commentKeyboardHandler",value:function(e){var t=this.getMarkdownAction(e);t&&("return"!==t&&s.CanvasUtils.stopPropagationAndPreventDefault(e),this.markdownActionHandler(t,e))}},{key:"blurInTextToolbar",value:function(e){this.addingTextToTextArea||e.relatedTarget&&(s.CanvasUtils.getParentElementWithClass(e.relatedTarget,"d3-comment-text-entry")||s.CanvasUtils.getParentElementWithClass(e.relatedTarget,"text-toolbar")||s.CanvasUtils.getParentElementWithClass(e.relatedTarget,"cds--overflow-menu-options__btn"))||this.completeEditing(e)}},{key:"getMarkdownAction",value:function(e){return u.KeyboardUtils.boldCommand(e)?"bold":u.KeyboardUtils.italicsCommand(e)?"italics":u.KeyboardUtils.strikethroughCommand(e)?"strikethrough":u.KeyboardUtils.numberedListCommand(e)?"numberedList":u.KeyboardUtils.bulletedListCommand(e)?"bulletedList":u.KeyboardUtils.codeCommand(e)?"code":u.KeyboardUtils.linkCommand(e)?"link":u.KeyboardUtils.quoteCommand(e)?"quote":u.KeyboardUtils.incHashesCommand(e)?"increaseHashes":u.KeyboardUtils.decHashesCommand(e)?"decreaseHashes":u.KeyboardUtils.returnCommand(e)?"return":null}},{key:"markdownActionHandler",value:function(e,t){this.logger.log("markdownActionHandler - action = "+e);var n=this.canvasDiv.selectAll(".d3-comment-text-entry").node(),i=s.CanvasUtils.getSelectionPositions(n),o=n.innerText;if(o.endsWith("\n")&&(o=o.slice(0,o.length-1)),o){var a=yi.processMarkdownAction(e,o,i.start,i.end);a&&(t.preventDefault(),this.addTextToTextArea(a,n))}}},{key:"wysiwygActionHandler",value:function(e,t,n){this.logger.log("wysiwygActionHandler - action = "+e+" editParam = "+n),this.editingTextData.newFormats||(this.editingTextData.newFormats=[]),"align-left"===e||"align-center"===e||"align-right"===e?this.addReplaceFormat("alignHorizontally",e):"align-top"===e||"align-middle"===e||"align-bottom"===e?this.addReplaceFormat("alignVertically",e):"underline"===e||"strikethrough"===e?this.addAdditionalFormat("textDecoration",e):"text-color"===e?this.addReplaceFormat("textColor",n):"background-color"===e?(this.addReplaceFormat("backgroundColor",n),this.setTextColorAppropriately(n)):e.startsWith("text-size")?this.addReplaceFormat("textSize",e):e.startsWith("font")?this.addReplaceFormat("fontType",e):e.startsWith("outline")?this.addReplaceFormat("outlineStyle",e):"bold"!==e&&"italics"!==e||this.toggleFormat(e),this.canvasController.updateTextToolbarFormats(this.editingTextData.newFormats)}},{key:"setTextColorAppropriately",value:function(e){var t=this.hasFormat("textColor");if(!t||t.value===bi||t.value===Ci){var n=s.CanvasUtils.isDarkColor(e);this.addReplaceFormat("textColor",n?bi:Ci)}}},{key:"toggleFormat",value:function(e){this.hasFormat(e)?this.removeFormat(e):this.addFormat(e)}},{key:"hasFormat",value:function(e){var t;return null===(t=this.editingTextData.newFormats)||void 0===t?void 0:t.find(function(t){return t.type===e})}},{key:"addReplaceFormat",value:function(e,t){var n=this.hasFormat(e);n?n.value=t:(n={type:e,value:t},this.editingTextData.newFormats.push(n));var i=s.CanvasUtils.convertFormat(n),o=i.field,a=i.value;o&&a&&this.setWysiwygStyle(o,a)}},{key:"addAdditionalFormat",value:function(e,t){var n=this.hasFormat(e);if(n)if(n.value.includes(t)){if(n.value=n.value.replace(t,"").trim(),!n.value)return void this.removeFormat(e)}else n.value+=" "+t;else n={type:e,value:t},this.editingTextData.newFormats.push(n);var i=s.CanvasUtils.convertFormat(n),o=i.field,a=i.value;o&&a&&this.setWysiwygStyle(o,a)}},{key:"addFormat",value:function(e){var t={type:e};this.editingTextData.newFormats.push(t);var n=s.CanvasUtils.convertFormat(t),i=n.field,o=n.value;i&&o&&this.setWysiwygStyle(i,o)}},{key:"removeFormat",value:function(e){var t;this.editingTextData.newFormats=null===(t=this.editingTextData.newFormats)||void 0===t?void 0:t.filter(function(t){return t.type!==e});var n=s.CanvasUtils.convertFormat({type:e}).field;n&&this.setWysiwygStyle(n,null)}},{key:"setWysiwygStyle",value:function(e,t){"background-color"===e&&"transparent"===t&&mi.select(this.editingTextData.parentDomObj).selectAll(".d3-comment-text").style("background-color","transparent");var n=this.foreignObjectComment.selectAll(".d3-comment-text-entry");n.style(e,t),n.node().focus()}},{key:"focusOnTextEntryElement",value:function(e){this.foreignObjectComment.selectAll(".d3-comment-text-entry").node().focus()}},{key:"addTextToTextArea",value:function(e,t){this.addingTextToTextArea=!0;var n=vi(e.newText);t.focus(),s.CanvasUtils.selectNodeContents(t),document.execCommand("insertText",!1,n),s.CanvasUtils.selectNodeRange(t,e.newStart,e.newEnd),this.addingTextToTextArea=!1}},{key:"autoSizeComment",value:function(e,t){if(this.logger.log("autoSizeComment - textAreaHt = "+this.textAreaHeight+" scroll ht = "+e.scrollHeight),t.autoSize){var n=this.foreignObjectLabel?12:2,i=e.scrollHeight+n;this.textAreaHeight<i&&(this.textAreaHeight=i,this.foreignObjectLabel?this.foreignObjectLabel.style("height",this.textAreaHeight+"px"):this.foreignObjectComment&&this.foreignObjectComment.style("height",this.textAreaHeight+"px"),this.activePipeline.getComment(t.id).height=this.textAreaHeight,this.displayCommentsCallback(),this.displayLinksCallback())}else this.commentHasScrollableText(t.parentDomObj)?this.removeCanvasZoomBehavior():this.addCanvasZoomBehavior()}},{key:"commentHasScrollableText",value:function(e){var t=e.getElementsByClassName("d3-comment-text-entry-scroll");return t[0].clientHeight<t[0].scrollHeight}},{key:"saveCommentChanges",value:function(e,t,n){var i=this.activePipeline.getComment(e.id),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,contentType:e.contentType,formats:e.newFormats,pipelineId:this.activePipeline.id};this.canvasController.editActionHandler(o)}},{key:"closeCommentTextArea",value:function(){this.canvasController.closeTextToolbar()}},{key:"displayNodeLabelTextArea",value:function(e,t){this.displayDiv=mi.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),autoSize:!0,className:this.nodeUtils.getNodeLabelTextAreaClass(e),parentDomObj:t,autoSizeCallback:this.autoSizeMultiLineLabel.bind(this),saveTextChangesCallback:this.saveNodeLabelChanges.bind(this),closeTextAreaCallback:this.closeEntryTextArea.bind(this)},this.displayEditableLabel(this.editingTextData)}},{key:"autoSizeMultiLineLabel",value:function(e,t){if(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.foreignObjectLabel){this.foreignObjectLabel.style("height",0);var n=e.scrollHeight+12;this.textAreaHeight=n,this.foreignObjectLabel.style("height",this.textAreaHeight+"px")}}},{key:"saveNodeLabelChanges",value:function(e,t){var n={editType:"setNodeLabel",editSource:"canvas",nodeId:e.id,label:t,pipelineId:this.activePipeline.id};this.canvasController.editActionHandler(n)}},{key:"closeEntryTextArea",value:function(){this.displayDiv.attr("style",this.displayDivStyle)}},{key:"displayDecLabelTextArea",value:function(e,t,n,i){this.displayDiv=mi.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),autoSize:!0,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.displayEditableLabel(this.editingTextData)}},{key:"saveDecLabelChanges",value:function(e,t){var n={editType:"editDecorationLabel",editSource:"canvas",decId:e.id,objId:e.objId,objType:e.objType,label:t,pipelineId:this.activePipeline.id};this.canvasController.editActionHandler(n)}},{key:"displayEditableLabel",value:function(e){this.textAreaHeight=e.height,this.editingText=!0,this.editingTextId=e.id,this.foreignObjectLabel=mi.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 t=this.foreignObjectLabel.append("xhtml:textarea").attr("class",e.className).text(vi(e.text)).call(this.attachTextEntryListeners.bind(this));t.node().focus(),t.node().setSelectionRange(e.text.length,e.text.length)}},{key:"completeEditing",value:function(e){if(this.removeTempCursorOverlay(),this.foreignObjectLabel){var t=this.foreignObjectLabel.selectAll("textarea").node();this.textContentSaved=!0,this.saveAndCloseTextArea(this.editingTextData,t,e)}else if(this.foreignObjectComment){var n=this.foreignObjectComment.selectAll(".d3-comment-text-entry").node();this.textContentSaved=!0,this.saveAndCloseTextArea(this.editingTextData,n,e)}}},{key:"saveAndCloseTextArea",value:function(e,t,n){var i=this.foreignObjectComment?t.innerText:t.value;if(!i&&!e.textCanBeEmpty)return this.closeTextArea(e),void s.CanvasUtils.stopPropagationAndPreventDefault(n);var o=i;this.closeTextArea(e),e.text===o&&this.textAreaHeight===e.height&&this.areFormatsTheSame(e.formats,e.newFormats)?(mi.select(e.parentDomObj).selectAll(".d3-comment-text").style("display","table-cell"),this.canvasController.restoreFocus()):e.saveTextChangesCallback(e,o,this.textAreaHeight)}},{key:"areFormatsTheSame",value:function(e,t){var n=this;return!e&&!t||!(e&&!t||!e&&t)&&(e.length===t.length&&e.filter(function(e){return n.formatArrayIncludes(e,t)}).length===e.length)}},{key:"formatArrayIncludes",value:function(e,t){return t.find(function(t){return v.isMatch_1(e,t)&&v.isMatch_1(e,e)})}},{key:"resetHeightOfTextDisplay",value:function(e){var t=this.activePipeline.getComment(e.id);t&&(t.height=e.height,this.displayCommentsCallback(),this.displayLinksCallback())}},{key:"closeTextArea",value:function(e){e.closeTextAreaCallback&&e.closeTextAreaCallback(e.id),this.foreignObjectLabel?(this.foreignObjectLabel.remove(),this.foreignObjectLabel=null):this.foreignObjectComment&&(mi.select(this.editingTextData.parentDomObj).selectAll(".d3-foreign-object-comment-text").style("display",null),this.foreignObjectComment.remove(),this.foreignObjectComment=null),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&&u.KeyboardUtils.isMetaKey(e)}},{key:"displayEditableComment",value:function(e){this.textAreaHeight=e.height,this.editingText=!0,this.editingTextId=e.id,mi.select(e.parentDomObj).selectAll(".d3-foreign-object-comment-text").style("display","none"),this.foreignObjectComment=mi.select(e.parentDomObj).append("foreignObject").attr("class","d3-foreign-object-comment-text-entry").attr("width",e.width).attr("height",e.height).attr("x",e.xPos).attr("y",e.yPos),this.foreignObjectComment.append("xhtml:div").attr("class","d3-comment-text-entry-scroll").on("mousedown",function(e){s.CanvasUtils.stopPropagationAndPreventDefault(e)}).each(function(e,t,n){var i=mi.select(n[t]);s.CanvasUtils.applyOutlineStyle(i,e.formats)}).append("xhtml:div").attr("class","d3-comment-text-entry-outer").append("xhtml:div").attr("class","d3-comment-text-entry").attr("contentEditable",this.getContentEditableValue()).each(function(e,t,n){var i=mi.select(n[t]);s.CanvasUtils.applyNonOutlineStyle(i,e.formats)}).text(vi(e.text)).call(this.attachTextEntryListeners.bind(this));var t,n=this.canvasDiv.selectAll(".d3-comment-text-entry").node();(n.focus(),n.childNodes.length>0)&&this.setCursor(n.childNodes[0],(null===(t=e.text)||void 0===t?void 0:t.length)||0);n.scrollIntoView({behavior:"instant",block:"end"})}},{key:"getContentEditableValue",value:function(){return!!navigator.userAgent.includes("Firefox")||"plaintext-only"}},{key:"setCursor",value:function(e,t,n){var i=document.createRange(),o=window.getSelection();i.setStart(e,t),n?i.setEnd(e,n):i.collapse(!0),o.removeAllRanges(),o.addRange(i)}},{key:"attachTextEntryListeners",value:function(e){var t=this,n=this.editingTextData;e.on("keydown",function(e){if(u.KeyboardUtils.returnCommand(e)){if("save"===n.allowReturnKey||u.KeyboardUtils.completeTextEntry(e))return t.textContentSaved=!0,void t.saveAndCloseTextArea(n,e.target,e);!n.singleLine&&n.allowReturnKey||s.CanvasUtils.stopPropagationAndPreventDefault(e)}u.KeyboardUtils.cancelTextEntry(e)&&(s.CanvasUtils.stopPropagationAndPreventDefault(e),t.textAreaEscKeyPressed=!0,t.closeTextArea(n),t.resetHeightOfTextDisplay(n),t.canvasController.restoreFocus()),n.maxCharacters&&e.target.value.length>=n.maxCharacters&&!t.textAreaAllowedKeys(e)&&s.CanvasUtils.stopPropagationAndPreventDefault(e),n.keyboardInputCallback&&n.keyboardInputCallback(e),e.stopPropagation()}).on("keyup",function(e){n.autoSizeCallback(e.target,n)}).on("paste",function(e){t.logger.log("Text area - Paste - Scroll Ht = "+e.target.scrollHeight),setTimeout(n.autoSizeCallback,500,e.target,n)}).on("blur",function(e,i){t.logger.log("Text area - blur"),t.textAreaEscKeyPressed?t.textAreaEscKeyPressed=!1:t.textContentSaved?t.textContentSaved=!1:e.relatedTarget&&s.CanvasUtils.getParentElementWithClass(e.relatedTarget,"text-toolbar")||t.saveAndCloseTextArea(n,e.target,e)}).on("focus",function(e,i){t.logger.log("Text area - focus"),n.autoSizeCallback(e.target,n),n.height=t.textAreaHeight}).on("mousedown mouseenter mouseleave click dblclick contextmenu",function(e,t){e.stopPropagation()})}}])}(),Li={value:()=>{}};function xi(){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 Ti(i)}function Ti(e){this._=e}function Pi(e,t){for(var n,i=0,o=e.length;i<o;++i)if((n=e[i]).name===t)return n.value}function Ni(e,t,n){for(var i=0,o=e.length;i<o;++i)if(e[i].name===t){e[i]=Li,e=e.slice(0,i).concat(e.slice(i+1));break}return null!=n&&e.push({name:t,value:n}),e}Ti.prototype=xi.prototype={constructor:Ti,on:function(e,t){var n,i,o=this._,a=(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}})),r=-1,s=a.length;if(!(arguments.length<2)){if(null!=t&&"function"!=typeof t)throw new Error("invalid callback: "+t);for(;++r<s;)if(n=(e=a[r]).type)o[n]=Ni(o[n],e.name,t);else if(null==t)for(n in o)o[n]=Ni(o[n],e.name,null);return this}for(;++r<s;)if((n=(e=a[r]).type)&&(n=Pi(o[n],e.name)))return n},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new Ti(e)},call:function(e,t){if((n=arguments.length-2)>0)for(var n,i,o=new Array(n),a=0;a<n;++a)o[a]=arguments[a+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(a=0,n=(i=this._[e]).length;a<n;++a)i[a].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,a=i.length;o<a;++o)i[o].value.apply(t,n)}};const Si={passive:!1},Oi={capture:!0,passive:!1};function Ei(e){e.stopImmediatePropagation()}function _i(e){e.preventDefault(),e.stopImmediatePropagation()}function Ii(e){var t=e.document.documentElement,n=cn(e).on("dragstart.drag",_i,Oi);"onselectstart"in t?n.on("selectstart.drag",_i,Oi):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function Di(e,t){var n=e.document.documentElement,i=cn(e).on("dragstart.drag",null);t&&(i.on("click.drag",_i,Oi),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 Ai=e=>()=>e;function wi(e,{sourceEvent:t,subject:n,target:i,identifier:o,active:a,x:r,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:a,enumerable:!0,configurable:!0},x:{value:r,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 Ui(e){return!e.ctrlKey&&!e.button}function ji(){return this.parentNode}function Mi(e,t){return null==t?{x:e.x,y:e.y}:t}function Ri(){return navigator.maxTouchPoints||"ontouchstart"in this}wi.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};var zi=Object.freeze({__proto__:null,drag:function(){var e,t,n,i,o=Ui,a=ji,r=Mi,s=Ri,l={},c=xi("start","drag","end"),u=0,d=0;function h(e){e.on("mousedown.drag",g).filter(s).on("touchstart.drag",v).on("touchmove.drag",y,Si).on("touchend.drag touchcancel.drag",m).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(r,s){if(!i&&o.call(this,r,s)){var l=b(this,a.call(this,r,s),r,s,"mouse");l&&(cn(r.view).on("mousemove.drag",p,Oi).on("mouseup.drag",f,Oi),Ii(r.view),Ei(r),n=!1,e=r.clientX,t=r.clientY,l("start",r))}}function p(i){if(_i(i),!n){var o=i.clientX-e,a=i.clientY-t;n=o*o+a*a>d}l.mouse("drag",i)}function f(e){cn(e.view).on("mousemove.drag mouseup.drag",null),Di(e.view,n),_i(e),l.mouse("end",e)}function v(e,t){if(o.call(this,e,t)){var n,i,r=e.changedTouches,s=a.call(this,e,t),l=r.length;for(n=0;n<l;++n)(i=b(this,s,e,t,r[n].identifier,r[n]))&&(Ei(e),i("start",e,r[n]))}}function y(e){var t,n,i=e.changedTouches,o=i.length;for(t=0;t<o;++t)(n=l[i[t].identifier])&&(_i(e),n("drag",e,i[t]))}function m(e){var t,n,o=e.changedTouches,a=o.length;for(i&&clearTimeout(i),i=setTimeout(function(){i=null},500),t=0;t<a;++t)(n=l[o[t].identifier])&&(Ei(e),n("end",e,o[t]))}function b(e,t,n,i,o,a){var s,d,g,p=c.copy(),f=pn(a||n,t);if(null!=(g=r.call(e,new wi("beforestart",{sourceEvent:n,target:h,identifier:o,active:u,x:f[0],y:f[1],dx:0,dy:0,dispatch:p}),i)))return s=g.x-f[0]||0,d=g.y-f[1]||0,function n(a,r,c){var v,y=f;switch(a){case"start":l[o]=n,v=u++;break;case"end":delete l[o],--u;case"drag":f=pn(c||r,t),v=u}p.call(a,e,new wi(a,{sourceEvent:r,subject:g,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:p}),i)}}return h.filter=function(e){return arguments.length?(o="function"==typeof e?e:Ai(!!e),h):o},h.container=function(e){return arguments.length?(a="function"==typeof e?e:Ai(e),h):a},h.subject=function(e){return arguments.length?(r="function"==typeof e?e:Ai(e),h):r},h.touchable=function(e){return arguments.length?(s="function"==typeof e?e:Ai(!!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:Ii,dragEnable:Di}),Fi=Object.assign({},zi,fn),Hi=function(){return e._createClass(function t(n){e._classCallCheck(this,t),this.ren=n,this.logger=new h.Logger("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.movingObjectData=null,this.existingNodeInsertableIntoLink=!1,this.existingNodeAttachableToDetachedLinks=!1,this.dragObjectHandler=Fi.drag().on("start",this.dragStartObject.bind(this)).on("drag",this.dragObject.bind(this)).on("end",this.dragEndObject.bind(this))},[{key:"getDragObjectHandler",value:function(){return this.dragObjectHandler}},{key:"isSizing",value:function(){return this.nodeSizing||this.commentSizing}},{key:"isMoving",value:function(){return this.movingObjectData}},{key:"mouseEnterNodeSizingArea",value:function(e,t){if(s.CanvasUtils.isNodeResizable(t,this.ren.config)&&!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),Fi.select(e.currentTarget).style("cursor",n)}}},{key:"mouseDownNodeSizingArea",value:function(e){s.CanvasUtils.isNodeResizable(e,this.ren.config)&&(this.nodeSizing=!0,this.ren.addTempCursorOverlay(this.nodeSizingCursor))}},{key:"mouseLeaveNodeSizingArea",value:function(e){Fi.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),Fi.select(e.currentTarget).style("cursor",n)}}},{key:"mouseDownCommentSizingArea",value:function(){this.commentSizing=!0,this.ren.addTempCursorOverlay(this.commentSizingCursor)}},{key:"mouseLeaveCommentSizingArea",value:function(e){Fi.select(e.currentTarget).style("cursor","default")}},{key:"moveObject",value:function(e,t){var n,i,o=this,a=this.getMoveIncrements(t);n=a.xInc,i=a.yInc,this.endMove&&(clearTimeout(this.endMove),this.endMove=null),this.isMoving()||this.startObjectsMoving(e);var r=e.x_pos+e.width/2,s=e.y_pos+e.height/2,l=this.ren.convertCanvasCoordsToPageCoords(r,s);this.moveObjects(n,i,l.x,l.y),this.endMove=setTimeout(function(){o.endObjectsMoving(e,!1,!1)},500)}},{key:"sizeObject",value:function(e,t){var n,i,o=this,a=t,r=this.getMoveIncrements(a);(n=r.xInc,i=r.yInc,a===s.NORTH?a=s.SOUTH:a===s.WEST&&(a=s.EAST),this.endSize&&(clearTimeout(this.endSize),this.endSize=null),this.isSizing())||("node"===s.CanvasUtils.getObjectTypeName(e)?this.nodeSizing=!0:this.commentSizing=!0,this.initializeResizeVariables(e));this.nodeSizing?this.resizeNode(n,i,e,a):this.commentSizing&&this.resizeComment(n,i,e,a),this.endSize=setTimeout(function(){o.nodeSizing?(o.endNodeSizing(e),o.nodeSizing=!1):o.commentSizing&&(o.endCommentSizing(e),o.commentSizing=!1)},500)}},{key:"dragStartObject",value:function(e,t){this.logger.logStartTimer("dragStartObject"),this.ren.closeContextMenuIfOpen(),this.commentSizing||this.nodeSizing?this.initializeResizeVariables(t):this.startObjectsMoving(t),this.logger.logEndTimer("dragStartObject",!0)}},{key:"dragObject",value:function(e,t){this.logger.logStartTimer("dragObject"),this.commentSizing?this.resizeComment(e.dx,e.dy,t,this.commentSizingDirection):this.nodeSizing?this.resizeNode(e.dx,e.dy,t,this.nodeSizingDirection):this.moveObjects(e.dx,e.dy,e.sourceEvent.clientX,e.sourceEvent.clientY),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.endObjectsMoving(t,e.sourceEvent.shiftKey,u.KeyboardUtils.isMetaKey(e.sourceEvent)),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,a=n.x>=i&&n.x<=i+1&&n.y>=0&&n.y<=o,r=n.y>=o&&n.y<=o+1&&n.x>=0&&n.x<=i;return a||r}},{key:"getSizingDirection",value:function(e,t,n){var i="",o="",a=this.ren.getTransformedMousePos(e);return a.x<t.x_pos+n?i="w":a.x>t.x_pos+t.width-n&&(i="e"),a.y<t.y_pos+n?o="n":a.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:"resizeNode",value:function(e,t,n,i){var o=Object.assign({},n),a=this.getMinHeight(n),r=this.getMinWidth(n),l=this.resizeObject(e,t,n,i,r,a);if(l&&(0!==l.x_pos||0!==l.y_pos||0!==l.width||0!==l.height)){if(s.CanvasUtils.isExpandedSupernode(n)&&this.ren.config.enableMoveNodesOnSupernodeResize){var c=s.CanvasUtils.moveSurroundingObjects(o,this.ren.activePipeline.getNodesAndComments(),i,n.width,n.height,!0),u=s.CanvasUtils.moveSurroundingDetachedLinks(o,this.ren.activePipeline.links,i,n.width,n.height,!0);this.nodeSizingObjectsInfo=Object.assign(this.nodeSizingObjectsInfo,c),this.nodeSizingDetLinksInfo=Object.assign(this.nodeSizingDetLinksInfo,u)}this.logger.logStartTimer("displayObjects"),this.ren.displayMovedComments(),this.ren.displayMovedNodes(),this.ren.displaySingleNode(n),this.ren.displayMovedLinks(),this.ren.displayCanvasAccoutrements(),s.CanvasUtils.isExpandedSupernode(n)&&(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,n,i){this.resizeObject(e,t,n,i,20,20),this.ren.displaySingleComment(n),this.ren.displayMovedLinks(),this.ren.displayCanvasAccoutrements()}},{key:"resizeObject",value:function(e,t,n,i,o,a){var r=0,l=0,c=0,u=0;i.indexOf("e")>-1&&(c+=e),i.indexOf("s")>-1&&(u+=t),i.indexOf("n")>-1&&(l+=t,u-=t),i.indexOf("w")>-1&&(r+=e,c-=e);var d=0,h=0,g=0,p=0;if(this.ren.config.enableSnapToGridType===s.SNAP_TO_GRID_DURING?(this.notSnappedXPos+=r,this.notSnappedYPos+=l,this.notSnappedWidth+=c,this.notSnappedHeight+=u,d=s.CanvasUtils.snapToGrid(this.notSnappedXPos,this.ren.canvasLayout.snapToGridXPx),h=s.CanvasUtils.snapToGrid(this.notSnappedYPos,this.ren.canvasLayout.snapToGridYPx),g=s.CanvasUtils.snapToGrid(this.notSnappedWidth,this.ren.canvasLayout.snapToGridXPx),p=s.CanvasUtils.snapToGrid(this.notSnappedHeight,this.ren.canvasLayout.snapToGridYPx),g=Math.max(g,o),p=Math.max(p,a)):(d=n.x_pos+r,h=n.y_pos+l,g=n.width+c,p=n.height+u),g<o||p<a)return null;var f={width:g-n.width,height:p-n.height,x_pos:d-n.x_pos,y_pos:h-n.y_pos};return n.x_pos=d,n.y_pos=h,n.width=g,n.height=p,f}},{key:"endNodeSizing",value:function(e){var t=e;this.ren.config.enableSnapToGridType===s.SNAP_TO_GRID_AFTER&&(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}),this.nodeSizingObjectsInfo={})}},{key:"endCommentSizing",value:function(e){var t=e;if(this.ren.config.enableSnapToGridType===s.SNAP_TO_GRID_AFTER&&(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(s.CanvasUtils.isExpandedSupernode(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 s.CanvasUtils.isExpandedSupernode(e)?this.ren.canvasLayout.supernodeMinWidth:e.layout.defaultNodeWidth}},{key:"startObjectsMoving",value:function(e){var t,n=this;this.existingNodeInsertableIntoLink=!1,this.existingNodeAttachableToDetachedLinks=!1,this.movingObjectData={offsetX:0,offsetY:0,runningX:0,runningY:0,objects:this.getMoveObjects(e).filter(function(e){return s.CanvasUtils.isObjectMovable(e)})},(null===(t=this.movingObjectData.objects)||void 0===t?void 0:t.length)>0&&(this.movingObjectData.startX=this.movingObjectData.objects[0].x_pos,this.movingObjectData.startY=this.movingObjectData.objects[0].y_pos,this.switchIsMovingClass(this.movingObjectData.objects,!0)),this.isExistingNodeInsertableIntoLink()&&(this.startNodeInsertingInLink=setTimeout(function(){n.existingNodeInsertableIntoLink=!0,n.setNodeTranslucentState(n.movingObjectData.objects[0].id,!0),n.ren.setDataLinkSelectionAreaWider(!0)},200)),this.isExistingNodeAttachableToDetachedLinks()&&(this.startNodeAttachingToDetachedLinks=setTimeout(function(){n.existingNodeAttachableToDetachedLinks=!0,n.setNodeTranslucentState(n.movingObjectData.objects[0].id,!0)},200))}},{key:"moveObjects",value:function(e,t,n,i){if(this.movingObjectData.offsetX+=e,this.movingObjectData.offsetY+=t,this.ren.dispUtils.isDisplayingSubFlowInPlace()&&(this.movingObjectData.offsetX>1e3||this.movingObjectData.offsetX<-1e3||this.movingObjectData.offsetY>1e3||this.movingObjectData.offsetY<-1e3))this.movingObjectData.offsetX-=e,this.movingObjectData.offsetY-=t;else{var o={x:0,y:0};if(this.ren.config.enableSnapToGridType===s.SNAP_TO_GRID_DURING){var a=this.snapToGridMovedNode(this.movingObjectData);o={x:a.x-this.movingObjectData.objects[0].x_pos,y:a.y-this.movingObjectData.objects[0].y_pos}}else o={x:e,y:t};this.movingObjectData.runningX+=o.x,this.movingObjectData.runningY+=o.y,this.movingObjectData.objects.forEach(function(e){e.x_pos+=o.x,e.y_pos+=o.y}),this.ren.config.enableLinkSelection===s.LINK_SELECTION_DETACHABLE&&this.ren.activePipeline.getSelectedLinks().forEach(function(e){e.srcPos&&(e.srcPos.x_pos+=o.x,e.srcPos.y_pos+=o.y),e.trgPos&&(e.trgPos.x_pos+=o.x,e.trgPos.y_pos+=o.y)})}if(!this.ren.config.enableDragWithoutSelect||!s.CanvasUtils.isTinyMovement({x:0,y:0},{x:this.movingObjectData.offsetX,y:this.movingObjectData.offsetY})){if(this.ren.displayMovedComments(),this.ren.displayMovedNodes(),this.ren.displayMovedLinks(),this.ren.displayCanvasAccoutrements(),this.ren.dispUtils.isDisplayingSubFlowInPlace()&&this.ren.displaySVGToFitSupernode(),this.existingNodeInsertableIntoLink){var r=this.ren.getLinkAtMousePos(n,i);(!r||this.ren.isLinkFullyAttached(r)&&this.movingObjectData.objects[0].id!==r.srcNodeId&&this.movingObjectData.objects[0].id!==r.trgNodeId)&&this.ren.setInsertNodeIntoLinkHighlighting(r)}if(this.existingNodeAttachableToDetachedLinks){var l=this.movingObjectData.objects[0],c={x1:l.x_pos,y1:l.y_pos,x2:l.x_pos+l.width,y2:l.y_pos+l.height},u=this.ren.getAttachableLinksForNodeAtPos(l,c);this.ren.setDetachedLinkHighlighting(u)}}}},{key:"endObjectsMoving",value:function(e,t,n){var i=this.movingObjectData;if(this.movingObjectData=null,clearTimeout(this.startNodeInsertingInLink),clearTimeout(this.startNodeAttachingToDetachedLinks),this.switchIsMovingClass(i.objects,!1),this.ren.config.enableDragWithoutSelect&&s.CanvasUtils.isTinyMovement({x:0,y:0},{x:i.offsetX,y:i.offsetY}))this.ren.selectObject(e,s.SINGLE_CLICK,t,n);else if(0!==i.runningX||0!==i.runningY){var o=null;if(this.ren.config.enableSnapToGridType===s.SNAP_TO_GRID_AFTER){var a=this.snapToGridMovedNode(i);o={x:a.x-i.startX,y:a.y-i.startY}}else o={x:i.runningX,y:i.runningY};this.existingNodeInsertableIntoLink&&this.ren.dragOverLink?this.ren.canvasController.editActionHandler({editType:"insertNodeIntoLink",editSource:"canvas",node:i.objects[0],link:this.ren.dragOverLink,offsetX:o.x,offsetY:o.y,pipelineId:this.ren.activePipeline.id}):this.existingNodeAttachableToDetachedLinks&&this.ren.dragOverDetachedLinks.length>0?this.ren.canvasController.editActionHandler({editType:"attachNodeToLinks",editSource:"canvas",node:i.objects[0],detachedLinks:this.ren.dragOverDetachedLinks,offsetX:o.x,offsetY:o.y,pipelineId:this.ren.activePipeline.id}):this.ren.canvasController.editActionHandler({editType:"moveObjects",editSource:"canvas",nodes:i.objects.map(function(e){return e.id}),links:this.ren.activePipeline.getSelectedDetachedLinks(),offsetX:o.x,offsetY:o.y,pipelineId:this.ren.activePipeline.id})}this.ren.setDataLinkSelectionAreaWider(!1),this.unsetNodeTranslucentState(i.objects),this.ren.unsetInsertNodeIntoLinkHighlighting(),this.ren.unsetDetachedLinkHighlighting()}},{key:"getMoveObjects",value:function(e){var t=this.ren.activePipeline.getSelectedNodesAndComments();if(this.ren.config.enableDragWithoutSelect&&-1===t.findIndex(function(t){return t.id===e.id}))return[e];if(this.ren.config.enableMoveNodesInComment&&s.CanvasUtils.isComment(e)){var n=this.objsInComment(e,this.ren.activePipeline.nodes);t=s.CanvasUtils.concatUniqueBasedOnId(n,t)}return t}},{key:"objsInComment",value:function(e,t){return t.filter(function(t){return t.x_pos>e.x_pos&&t.y_pos>e.y_pos&&t.x_pos+t.width<e.x_pos+e.width&&t.y_pos+t.height<e.y_pos+e.height})}},{key:"switchIsMovingClass",value:function(e,t){var n=this;e.forEach(function(e){s.CanvasUtils.isNode(e)?n.ren.getNodeGroupSelectionById(e.id).classed("d3-is-moving",t):n.ren.getCommentGroupSelectionById(e.id).classed("d3-is-moving",t)})}},{key:"isExistingNodeInsertableIntoLink",value:function(){return this.ren.config.enableInsertNodeDroppedOnLink&&1===this.movingObjectData.objects.length&&s.CanvasUtils.isNode(this.movingObjectData.objects[0])&&s.CanvasUtils.hasInputAndOutputPorts(this.movingObjectData.objects[0])&&!s.CanvasUtils.isNodeDefaultPortsCardinalityAtMax(this.movingObjectData.objects[0],this.ren.activePipeline.links)}},{key:"isExistingNodeAttachableToDetachedLinks",value:function(){return this.ren.config.enableLinkSelection===s.LINK_SELECTION_DETACHABLE&&1===this.movingObjectData.objects.length&&s.CanvasUtils.isNode(this.movingObjectData.objects[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:"snapToGridMovedNode",value:function(e){var t=e.startX+e.offsetX,n=e.startY+e.offsetY;return this.ren.snapToGridPosition({x:t,y:n})}},{key:"snapToGridObject",value:function(e){var t=e;return t.x_pos=s.CanvasUtils.snapToGrid(t.x_pos,this.ren.canvasLayout.snapToGridXPx),t.y_pos=s.CanvasUtils.snapToGrid(t.y_pos,this.ren.canvasLayout.snapToGridYPx),t.width=s.CanvasUtils.snapToGrid(t.width,this.ren.canvasLayout.snapToGridXPx),t.height=s.CanvasUtils.snapToGrid(t.height,this.ren.canvasLayout.snapToGridYPx),t}},{key:"getMoveIncrements",value:function(e){var t=10,n=10;this.ren.config.enableSnapToGridType!==s.SNAP_TO_GRID_DURING&&this.ren.config.enableSnapToGridType!==s.SNAP_TO_GRID_AFTER||(t=this.ren.canvasLayout.snapToGridXPx,n=this.ren.canvasLayout.snapToGridYPx);var i=0,o=0;switch(e){case s.NORTH:i=0,o=-n;break;case s.SOUTH:i=0,o=n;break;case s.EAST:i=t,o=0;break;default:case s.WEST:i=-t,o=0}return{xInc:i,yInc:o}}}])}(),Gi=Object.assign({},zi,fn),Bi=function(){return e._createClass(function t(n){e._classCallCheck(this,t),this.ren=n,this.logger=new h.Logger("SVGCanvasUtilsDragLink"),this.isDraggingLink=!1,this.dragLinkHandler=Gi.drag().on("start",this.dragLinkStart.bind(this)).on("drag",this.dragLink.bind(this)).on("end",this.dragLinkEnd.bind(this))},[{key:"getDragLinkHandler",value:function(){return this.dragLinkHandler}},{key:"isDragging",value:function(){return this.isDraggingLink}},{key:"dragLinkStart",value:function(e,t){this.logger.logStartTimer("dragLinkStart"),this.ren.closeContextMenuIfOpen(),this.isDraggingLink=!0,this.dragLink=this.ren.activePipeline.getLink(t.id),this.logger.logEndTimer("dragLinkStart",!0)}},{key:"dragLink",value:function(e){this.logger.logStartTimer("dragLink"),this.dragLink.centerDragPos=this.ren.getTransformedMousePos(e),this.ren.displayLinks(),this.ren.raiseLinkToTopById(this.dragLink.id);var t=this.ren.getNodeNearMousePos(e,this.ren.canvasLayout.nodeProximity),n=this.ren.activePipeline.links,i=this.dragLink.srcObj,o=this.dragLink.trgNode;this.targetNode=t&&s.CanvasUtils.isNodeAttachableToDefaultPorts(t,n)&&!s.CanvasUtils.linkAlreadyExists(i.outputs[0].id,t.inputs[0].id,i,t,n)&&!s.CanvasUtils.linkAlreadyExists(t.outputs[0].id,o.inputs[0].id,t,o,n)?t:null;var a=!!this.targetNode;this.ren.setHighlightingOverNode(a,this.targetNode),this.logger.logEndTimer("dragLink",!0)}},{key:"dragLinkEnd",value:function(){this.logger.logStartTimer("dragLinkEnd"),this.ren.removeTempCursorOverlay(),this.isDraggingLink=!1,this.targetNode?(delete this.dragLink.centerDragPos,this.ren.setLinkOverNodeCancel(),this.ren.canvasController.editActionHandler({editType:"insertNodeIntoLink",editSource:"canvas",node:this.targetNode,srcPort:this.targetNode.outputs[0],trgPort:this.targetNode.inputs[0],link:this.dragLink,offsetX:0,offsetY:0,pipelineId:this.ren.activePipeline.id})):(this.dragLink.centerDragPos="revertLink",this.ren.displayLinks()),this.logger.logEndTimer("dragLinkEnd",!0)}}])}();function Ki(e){return((e*=2)<=1?e*e:--e*(2-e)+1)/2}function Wi(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Yi=function e(t){function n(e){return Math.pow(e,t)}return t=+t,n.exponent=e,n}(3),Xi=function e(t){function n(e){return 1-Math.pow(1-e,t)}return t=+t,n.exponent=e,n}(3),Vi=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),Zi=Math.PI,qi=Zi/2;function $i(e){return(1-Math.cos(Zi*e))/2}function Ji(e){return 1.0009775171065494*(Math.pow(2,-10*e)-.0009765625)}function Qi(e){return((e*=2)<=1?Ji(1-e):2-Ji(e-1))/2}function eo(e){return((e*=2)<=1?1-Math.sqrt(1-e*e):Math.sqrt(1-(e-=2)*e)+1)/2}var to=4/11,no=6/11,io=8/11,oo=9/11,ao=10/11,ro=21/22,so=7.5625;function lo(e){return(e=+e)<to?so*e*e:e<io?so*(e-=no)*e+.75:e<ao?so*(e-=oo)*e+.9375:so*(e-=ro)*e+.984375}var co=1.70158,uo=function e(t){function n(e){return(e=+e)*e*(t*(e-1)+e)}return t=+t,n.overshoot=e,n}(co),ho=function e(t){function n(e){return--e*e*((e+1)*t+e)+1}return t=+t,n.overshoot=e,n}(co),go=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}(co),po=2*Math.PI,fo=function e(t,n){var i=Math.asin(1/(t=Math.max(1,t)))*(n/=po);function o(e){return t*Ji(- --e)*Math.sin((i-e)/n)}return o.amplitude=function(t){return e(t,n*po)},o.period=function(n){return e(t,n)},o}(1,.3),vo=function e(t,n){var i=Math.asin(1/(t=Math.max(1,t)))*(n/=po);function o(e){return 1-t*Ji(e=+e)*Math.sin((e+i)/n)}return o.amplitude=function(t){return e(t,n*po)},o.period=function(n){return e(t,n)},o}(1,.3),yo=function e(t,n){var i=Math.asin(1/(t=Math.max(1,t)))*(n/=po);function o(e){return((e=2*e-1)<0?t*Ji(-e)*Math.sin((i-e)/n):2-t*Ji(e)*Math.sin((i+e)/n))/2}return o.amplitude=function(t){return e(t,n*po)},o.period=function(n){return e(t,n)},o}(1,.3),mo=Object.freeze({__proto__:null,easeLinear:e=>+e,easeQuad:Ki,easeQuadIn:function(e){return e*e},easeQuadOut:function(e){return e*(2-e)},easeQuadInOut:Ki,easeCubic:Wi,easeCubicIn:function(e){return e*e*e},easeCubicOut:function(e){return--e*e*e+1},easeCubicInOut:Wi,easePoly:Vi,easePolyIn:Yi,easePolyOut:Xi,easePolyInOut:Vi,easeSin:$i,easeSinIn:function(e){return 1===+e?1:1-Math.cos(e*qi)},easeSinOut:function(e){return Math.sin(e*qi)},easeSinInOut:$i,easeExp:Qi,easeExpIn:function(e){return Ji(1-+e)},easeExpOut:function(e){return 1-Ji(e)},easeExpInOut:Qi,easeCircle:eo,easeCircleIn:function(e){return 1-Math.sqrt(1-e*e)},easeCircleOut:function(e){return Math.sqrt(1- --e*e)},easeCircleInOut:eo,easeBounce:lo,easeBounceIn:function(e){return 1-lo(1-e)},easeBounceOut:lo,easeBounceInOut:function(e){return((e*=2)<=1?1-lo(1-e):lo(e-1)+1)/2},easeBack:go,easeBackIn:uo,easeBackOut:ho,easeBackInOut:go,easeElastic:vo,easeElasticIn:fo,easeElasticOut:vo,easeElasticInOut:yo}),bo=Object.assign({},zi,mo,fn),Co=function(){return e._createClass(function t(n){e._classCallCheck(this,t),this.ren=n,this.logger=new h.Logger("SVGCanvasUtilsDragNewLink"),this.drawingNewLinkData=null,this.dragNewLinkHandler=bo.drag().on("start",this.dragStartNewLink.bind(this)).on("drag",this.dragMoveNewLink.bind(this)).on("end",this.dragEndNewLink.bind(this))},[{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(e,t,n)}else if(this.isEventForInputPort(e)){var i=this.getNodeForPort(e);this.startInputPortNewLink(e,t,i)}else"comment"===this.ren.activePipeline.getObjectTypeName(t)&&this.startCommentNewLink(e,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;return null===(n=e.sourceEvent)||void 0===n||null===(n=n.currentTarget)||void 0===n||null===(n=n.classList)||void 0===n?void 0:n.contains(t)}},{key:"getNodeForPort",value:function(e){var t;return bo.select(null===(t=e.sourceEvent)||void 0===t||null===(t=t.currentTarget)||void 0===t?void 0:t.parentNode).datum()}},{key:"startCommentNewLink",value:function(e,t){var n=this.ren.activePipeline.getComment(t.id);this.drawingNewLinkData={srcObj:n,action:s.COMMENT_LINK,startPos:{x:t.x_pos-this.ren.canvasLayout.commentHighlightGap,y:t.y_pos-this.ren.canvasLayout.commentHighlightGap},mousePos:{x:e.x,y:e.y},linkArray:[]}}},{key:"startInputPortNewLink",value:function(e,t,n){if(this.ren.config.enableAssocLinkCreation){var i=this.ren.activePipeline.getNode(n.id),o=s.CanvasUtils.getPortIndex(n.inputs,t.id);this.drawingNewLinkData={srcObj:i,srcPort:t,action:this.ren.config.enableAssocLinkCreation?s.ASSOCIATION_LINK:s.NODE_LINK,mousePos:{x:e.x,y:e.y},startPos:{x:i.x_pos+t.cx,y:i.y_pos+t.cy},portFlow:s.FLOW_IN,portDisplayInfo:this.ren.getPortDisplayInfo(i.layout.inputPortDisplayObjects,o),portGuideInfo:this.ren.getPortDisplayInfo(i.layout.inputPortGuideObjects,o),portRadius:this.ren.getPortRadius(i),minInitialLine:i.layout.minInitialLine,linkArray:[]}}}},{key:"startOutputPortNewLink",value:function(e,t,n){var i=this.ren.activePipeline.getNode(n.id);if(!s.CanvasUtils.isSrcCardinalityAtMax(t.id,i,this.ren.activePipeline.links)){var o=s.CanvasUtils.getPortIndex(n.outputs,t.id);this.drawingNewLinkData={srcObj:i,srcPort:t,action:this.ren.config.enableAssocLinkCreation?s.ASSOCIATION_LINK:s.NODE_LINK,mousePos:{x:e.x,y:e.y},startPos:{x:i.x_pos+t.cx,y:i.y_pos+t.cy},portFlow:s.FLOW_OUT,portDisplayInfo:this.ren.getPortDisplayInfo(i.layout.outputPortDisplayObjects,o),portGuideInfo:this.ren.getPortDisplayInfo(i.layout.outputPortGuideObjects,o),portRadius:this.ren.getPortRadius(i),minInitialLine:i.layout.minInitialLine,linkArray:[]},this.ren.config.enableHighlightUnavailableNodes&&this.ren.setUnavailableTargetNodesHighlighting(i,t.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===s.COMMENT_LINK?this.drawNewCommentLink(t):this.drawNewNodeLink(t),this.ren.config.enableHighlightNodeOnNewLinkDrag&&this.setNewLinkOverNode(e)}}},{key:"drawNewCommentLink",value:function(e){var t=this,n=this.ren.activePipeline.getComment(this.drawingNewLinkData.srcObj.id),i=this.ren.linkUtils.getNewStraightCommentLinkStartPos(n,e),o=s.COMMENT_LINK;this.drawingNewLinkData.linkArray=[{x1:i.x,y1:i.y,x2:e.x,y2:e.y,type:o}];var a=this.ren.nodesLinksGrp.selectAll(".d3-new-connection-line"),r=this.ren.nodesLinksGrp.selectAll(".d3-new-connection-guide");if(a.data(this.drawingNewLinkData.linkArray).enter().append("path").attr("class","d3-new-connection-line").attr("linkType",o).merge(a).attr("d",function(e){return t.ren.linkUtils.getConnectorPathInfo(e).path}),r.data(this.drawingNewLinkData.linkArray).enter().append("circle").attr("class","d3-new-connection-guide").attr("linkType",o).merge(r).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 l=this.ren.nodesLinksGrp.selectAll(".d3-new-connection-arrow");l.data(this.drawingNewLinkData.linkArray).enter().append("path").attr("class","d3-new-connection-arrow").attr("linkType",o).merge(l).attr("d",function(e){return t.ren.getArrowHead(e)}).attr("transform",function(e){return t.ren.getArrowHeadTransform(e)})}}},{key:"drawNewNodeLink",value:function(e){var t=this,n=this.ren.config.enableAssocLinkCreation?s.ASSOCIATION_LINK:s.NODE_LINK,i={type:n,srcObj:this.drawingNewLinkData.srcObj,srcNodeId:this.drawingNewLinkData.srcObj.id,srcNodePortId:this.drawingNewLinkData.srcPort.id,trgPos:{x_pos:e.x,y_pos:e.y}},o=this.ren.getDetachedLinkObj(i);this.drawingNewLinkData.linkArray=this.ren.linkUtils.addConnectionPaths([o]),this.ren.config.enableAssocLinkCreation&&(this.drawingNewLinkData.linkArray[0].assocLinkVariation=this.ren.getNewLinkAssocVariation(this.drawingNewLinkData.linkArray[0].x1,this.drawingNewLinkData.linkArray[0].x2,this.drawingNewLinkData.portFlow));var a=this.ren.linkUtils.getConnectorPathInfo(this.drawingNewLinkData.linkArray[0],this.drawingNewLinkData.minInitialLine),r=this.ren.nodesLinksGrp.selectAll(".d3-new-connection-line"),l=this.ren.nodesLinksGrp.selectAll(".d3-new-connection-start"),c=this.ren.nodesLinksGrp.selectAll(".d3-new-connection-guide");n===s.NODE_LINK&&this.ren.canvasLayout.linkType===s.LINK_TYPE_STRAIGHT&&this.ren.nodeUtils.isPointInNodeBoundary(e,this.drawingNewLinkData.srcObj)?this.removeNewLinkLine():r.data(this.drawingNewLinkData.linkArray).enter().append("path").attr("class","d3-new-connection-line").attr("linkType",n).merge(r).attr("d",a.path).attr("transform",a.transform),this.ren.canvasLayout.linkMethod===s.LINK_METHOD_PORTS&&this.drawingNewLinkData.portDisplayInfo.tag===s.PORT_DISPLAY_CIRCLE&&l.data(this.drawingNewLinkData.linkArray).enter().append("circle").attr("class","d3-new-connection-start").attr("linkType",n).merge(l).each(function(e,n,i){bo.select(i[n]).attr("cx",e.x1).attr("cy",e.y1).attr("r",t.drawingNewLinkData.portRadius)}),c.data(this.drawingNewLinkData.linkArray).enter().append(this.drawingNewLinkData.portGuideInfo.tag).attr("class","d3-new-connection-guide").attr("linkType",n).merge(c).each(function(e,n,i){var o=bo.select(i[n]),a=t.ren.getLinkImageTransform(e);t.ren.updatePort(o,t.drawingNewLinkData.portGuideInfo,t.drawingNewLinkData.srcObj,e.x2,e.y2,a)})}},{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;if(this.drawingNewLinkData=null,s.CanvasUtils.isTinyMovement(t.mousePos,{x:e.x,y:e.y}))return this.removeNewLink(),void this.ren.canvasController.clickActionHandler({clickType:s.SINGLE_CLICK,objectType:"port",id:t.srcPort.id,nodeId:t.srcObj.id,selectedObjectIds:this.ren.activePipeline.getSelectedObjectIds(),pipelineId:this.ren.activePipeline.id});this.ren.config.enableHighlightUnavailableNodes&&this.ren.unsetUnavailableNodesHighlighting();var n=this.ren.getMousePosFromEvent(e),i=this.ren.getNodeAtPos(n);null!==i?this.createNewLinkFromDragData(e,i,t):this.ren.config.enableLinkSelection!==s.LINK_SELECTION_DETACHABLE||t.action!==s.NODE_LINK||this.ren.config.enableAssocLinkCreation?this.stopDrawingNewLink(t):this.completeNewDetachedLink(e,t)}}},{key:"createNewLinkFromDragData",value:function(e,t,n){this.removeNewLink(),this.ren.config.enableHighlightNodeOnNewLinkDrag&&this.ren.setLinkOverNodeCancel();var i=n.action;if(null!==t)if(i===s.NODE_LINK){var o=n.srcObj,a=n.srcPort.id,r=this.ren.getMousePosFromEvent(e),l=this.ren.getInputNodePortId(r,t);this.createNewNodeLink(o,a,t,l)}else if(i===s.ASSOCIATION_LINK){var c=n.srcObj;this.createNewAssocLink(c,t)}else if(i===s.COMMENT_LINK){var u=n.srcObj;this.createNewCommentLink(u,t)}}},{key:"createNewLinkFromSelections",value:function(){var e=this.ren.activePipeline.getSelectedNodes(),t=this.ren.activePipeline.getSelectedComments();if(e.length+t.length===2)if(1===e.length&&1===t.length)this.createNewCommentLink(t[0],e[0]);else if(2===e.length)if(this.ren.config.enableAssocLinkCreation)this.createNewAssocLink(e[0],e[1]);else{var n=s.CanvasUtils.getDefaultOutputPortId(e[0]),i=s.CanvasUtils.getDefaultInputPortId(e[1]);this.createNewNodeLink(e[0],n,e[1],i),this.ren.canvasController.setSelections([e[1].id])}}},{key:"createNewNodeLink",value:function(e,t,n,i){if(s.CanvasUtils.isDataConnectionAllowed(t,i,e,n,this.ren.activePipeline.links,this.ren.config.enableSelfRefLinks))this.ren.canvasController.editActionHandler({editType:"linkNodes",editSource:"canvas",nodes:[{id:e.id,portId:t}],targetNodes:[{id:n.id,portId:i}],type:s.NODE_LINK,linkType:"data",pipelineId:this.ren.activePipeline.id}),this.ren.canvasController.clearConnectFromStatus(this.ren.activePipeline.id);else if(this.ren.config.enableLinkReplaceOnNewConnection&&s.CanvasUtils.isDataLinkReplacementAllowed(t,i,e,n,this.ren.activePipeline.links,this.ren.config.enableSelfRefLinks)){var o=s.CanvasUtils.getDataLinksConnectedTo(i,n,this.ren.activePipeline.links);1===o.length&&(this.ren.canvasController.editActionHandler({editType:"linkNodesAndReplace",editSource:"canvas",nodes:[{id:e.id,portId:t}],targetNodes:[{id:n.id,portId:i}],type:s.NODE_LINK,pipelineId:this.pipelineId,replaceLink:o[0]}),this.ren.canvasController.clearConnectFromStatus(this.ren.activePipeline.id))}}},{key:"createNewAssocLink",value:function(e,t){s.CanvasUtils.isAssocConnectionAllowed(e,t,this.ren.activePipeline.links)&&this.ren.canvasController.editActionHandler({editType:"linkNodes",editSource:"canvas",nodes:[{id:e.id}],targetNodes:[{id:t.id}],type:s.ASSOCIATION_LINK,pipelineId:this.ren.activePipeline.id})}},{key:"createNewCommentLink",value:function(e,t){s.CanvasUtils.isCommentLinkConnectionAllowed(e.id,t.id,this.ren.activePipeline.links)&&this.ren.canvasController.editActionHandler({editType:"linkComment",editSource:"canvas",nodes:[e.id],targetNodes:[t.id],type:s.COMMENT_LINK,linkType:"comment",pipelineId:this.ren.activePipeline.id})}},{key:"completeNewDetachedLink",value:function(e,t){this.removeNewLink(),this.ren.config.enableHighlightNodeOnNewLinkDrag&&this.ren.setLinkOverNodeCancel();var n=this.ren.getTransformedMousePos(e);this.ren.canvasController.editActionHandler({editType:"createDetachedLink",editSource:"canvas",srcNodeId:t.srcObj.id,srcNodePortId:t.srcPort.id,trgPos:n,type:s.NODE_LINK,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,n=this;if(0!==(null===(t=e.linkArray)||void 0===t?void 0:t.length)){var i=e.linkArray[0].x1,o=e.linkArray[0].y1,a=e.linkArray[0].x2,r=e.linkArray[0].y2,l=Object.assign({},e),c="",u=350;this.ren.canvasLayout.linkType===s.LINK_TYPE_CURVE?c="M "+i+" "+o+"C "+a+" "+r+" "+a+" "+r+" "+a+" "+r:this.ren.canvasLayout.linkType===s.LINK_TYPE_STRAIGHT?(i<a&&(u=0),c="M "+i+" "+o+"L "+a+" "+r+" "+a+" "+r+" "+a+" "+r):c="M "+i+" "+o+"L "+a+" "+r+"Q "+a+" "+r+" "+a+" "+r+"L "+a+" "+r+"Q "+a+" "+r+" "+a+" "+r+"L "+a+" "+r+"Q "+a+" "+r+" "+a+" "+r+"L "+a+" "+r+"Q "+a+" "+r+" "+a+" "+r+"L "+a+" "+r,this.ren.nodesLinksGrp.selectAll(".d3-new-connection-line").transition().duration(u).attr("d",c).on("end",function(){var e,t;n.ren.nodesLinksGrp.selectAll(".d3-new-connection-arrow").remove(),n.ren.nodesLinksGrp.selectAll(".d3-new-connection-guide").transition().duration(1e3).ease(bo.easeElastic).attr("x",i-(null===(e=l.portGuideInfo)||void 0===e?void 0:e.width)/2).attr("y",o-(null===(t=l.portGuideInfo)||void 0===t?void 0:t.height)/2).attr("cx",i).attr("cy",o).attr("transform",null),n.ren.nodesLinksGrp.selectAll(".d3-new-connection-line").transition().duration(1e3).ease(bo.easeElastic).attr("d","M "+i+" "+o+"L "+i+" "+o).on("end",n.removeNewLink.bind(n))})}}},{key:"removeNewLink",value:function(){var e=this;this.ren.nodesLinksGrp.selectAll("foreignObject.d3-new-connection-guide").each(function(t,n,i){return e.ren.externalUtils.removeExternalObject(t,n,i)}),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(e,t);this.ren.setHighlightingOverNode(n,t)}},{key:"isNewLinkAllowedToNode",value:function(e,t){if(this.drawingNewLinkData){if(this.drawingNewLinkData.action===s.NODE_LINK){var n=this.drawingNewLinkData.srcObj,i=t,o=this.drawingNewLinkData.srcPort.id,a=this.ren.getMousePosFromEvent(e),r=this.ren.getInputNodePortId(a,i);return s.CanvasUtils.isDataConnectionAllowed(o,r,n,i,this.ren.activePipeline.links,this.ren.config.enableSelfRefLinks)}if(this.drawingNewLinkData.action===s.ASSOCIATION_LINK){var l=this.drawingNewLinkData.srcObj,c=t;return s.CanvasUtils.isAssocConnectionAllowed(l,c,this.ren.activePipeline.links)}if(this.drawingNewLinkData.action===s.COMMENT_LINK){var u=this.drawingNewLinkData.srcObj.id,d=t.id;return s.CanvasUtils.isCommentLinkConnectionAllowed(u,d,this.ren.activePipeline.links)}}return!1}}])}();function ko(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 Lo(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ko(Object(n),!0).forEach(function(t){C._defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ko(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var xo=Object.assign({},zi,fn),To=function(){return e._createClass(function t(n){e._classCallCheck(this,t),this.ren=n,this.logger=new h.Logger("SVGCanvasUtilsDragDetLink"),this.draggingLinkData=null,this.dragDetLinkHandler=xo.drag().on("start",this.dragStartDetLinkHandle.bind(this)).on("drag",this.dragMoveDetLinkHandle.bind(this)).on("end",this.dragEndDetLinkHandle.bind(this))},[{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.startHandleMoving(t,e.sourceEvent.currentTarget),this.logger.logEndTimer("dragStartDetLinkHandle",!0)}},{key:"dragMoveDetLinkHandle",value:function(e){this.logger.logStartTimer("dragMoveDetLinkHandle");var t=this.ren.getTransformedMousePos(e);this.moveHandle(t),this.logger.logEndTimer("dragMoveDetLinkHandle",!0)}},{key:"dragEndDetLinkHandle",value:function(e){this.logger.logStartTimer("dragEndLinkHandle");var t=this.ren.getMousePosFromEvent(e);this.completeDraggedDetLink(t),this.logger.logEndTimer("dragEndLinkHandle",!0)}},{key:"startHandleMoving",value:function(e,t){this.ren.closeContextMenuIfOpen();var n=xo.select(t),i=this.ren.activePipeline.getLink(e.id),o=Lo({},i),a=this.ren.getLinkGroupSelectionById(e.id);if(this.draggingLinkData={lineInfo:e,link:i,oldLink:o,linkGrpSelection:xo.select(a)},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 r=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,r)}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)}}},{key:"moveLinkHandle",value:function(e,t,n){var i,o,a=this,r=this.getMoveIncrements(t);i=r.xInc,o=r.yInc,this.endMove&&(clearTimeout(this.endMove),this.endMove=null),this.isDragging()||this.startHandleMoving(e,n.currentTarget);var s="start"===this.draggingLinkData.endBeingDragged?this.draggingLinkData.link.x1:this.draggingLinkData.link.x2,l="start"===this.draggingLinkData.endBeingDragged?this.draggingLinkData.link.y1:this.draggingLinkData.link.y2,c={x:s+=i,y:l+=o};this.moveHandle(c),this.ren.restoreFocusToSubObject(),this.endMove=setTimeout(function(){var e=a.ren.convertCanvasCoordsToPageCoords(c.x,c.y);a.completeDraggedDetLink(e)},500)}},{key:"moveHandle",value:function(e){var t=this.draggingLinkData.link;"start"===this.draggingLinkData.endBeingDragged?(t.srcPos={x_pos:e.x,y_pos:e.y},delete t.srcNodeId,delete t.srcNodePortId,delete t.srcObj):(t.trgPos={x_pos:e.x,y_pos:e.y},delete t.trgNodeId,delete t.trgNodePortId,delete t.trgNode),this.ren.displayMovedLinks(),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);if(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)}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.getNodeNearPos(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=Lo({},n);if("start"===this.draggingLinkData.endBeingDragged){delete i.srcObj,delete i.srcNodeId,delete i.srcNodePortId,delete i.srcPos;var o=t?this.ren.getNodeNearPos(e,t):this.ren.getNodeAtPos(e);o?(i.srcNodeId=o.id,i.srcObj=this.ren.activePipeline.getNode(o.id),i.srcNodePortId=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 a=t?this.ren.getNodeNearPos(e,t):this.ren.getNodeAtPos(e);a?(i.trgNodeId=a.id,i.trgNode=this.ren.activePipeline.getNode(a.id),i.trgNodePortId=this.ren.getInputNodePortId(e,a)):i.trgPos=this.draggingLinkData.link.trgPos}return this.ren.config.enableLinkSelection!==s.LINK_SELECTION_DETACHABLE&&(i.srcPos||i.trgPos)?null:this.canUpdateLink(i,n)?i:null}},{key:"getMoveIncrements",value:function(e){var t=0,n=0;switch(e){case s.NORTH:t=0,n=-10;break;case s.SOUTH:t=0,n=10;break;case s.EAST:t=10,n=0;break;default:case s.WEST:t=-10,n=0}return{xInc:t,yInc:n}}},{key:"canUpdateLink",value:function(e,t){var n=this.ren.activePipeline.getNode(e.srcNodeId),i=this.ren.activePipeline.getNode(e.trgNodeId),o=this.hasLinkSrcChanged(e,t),a=this.hasLinkTrgChanged(e,t),r=this.ren.activePipeline.links,l=!0;return o&&n&&!s.CanvasUtils.isSrcConnectionAllowedWithDetachedLinks(e.srcNodePortId,n,r)&&(l=!1),a&&i&&!s.CanvasUtils.isTrgConnectionAllowedWithDetachedLinks(e.trgNodePortId,i,r)&&(l=!1),n&&i&&!s.CanvasUtils.isConnectionAllowedWithDetachedLinks(e.srcNodePortId,e.trgNodePortId,n,i,r,this.ren.config.enableSelfRefLinks)&&(l=!1),l}},{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}}])}();function Po(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function No(e,t){var n=Object.create(e.prototype);for(var i in t)n[i]=t[i];return n}function So(){}var Oo=.7,Eo=1/Oo,_o="\\s*([+-]?\\d+)\\s*",Io="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Do="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Ao=/^#([0-9a-f]{3,8})$/,wo=new RegExp(`^rgb\\(${_o},${_o},${_o}\\)$`),Uo=new RegExp(`^rgb\\(${Do},${Do},${Do}\\)$`),jo=new RegExp(`^rgba\\(${_o},${_o},${_o},${Io}\\)$`),Mo=new RegExp(`^rgba\\(${Do},${Do},${Do},${Io}\\)$`),Ro=new RegExp(`^hsl\\(${Io},${Do},${Do}\\)$`),zo=new RegExp(`^hsla\\(${Io},${Do},${Do},${Io}\\)$`),Fo={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 Ho(){return this.rgb().formatHex()}function Go(){return this.rgb().formatRgb()}function Bo(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=Ao.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?Ko(t):3===n?new Xo(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?Wo(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?Wo(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=wo.exec(e))?new Xo(t[1],t[2],t[3],1):(t=Uo.exec(e))?new Xo(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=jo.exec(e))?Wo(t[1],t[2],t[3],t[4]):(t=Mo.exec(e))?Wo(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=Ro.exec(e))?Qo(t[1],t[2]/100,t[3]/100,1):(t=zo.exec(e))?Qo(t[1],t[2]/100,t[3]/100,t[4]):Fo.hasOwnProperty(e)?Ko(Fo[e]):"transparent"===e?new Xo(NaN,NaN,NaN,0):null}function Ko(e){return new Xo(e>>16&255,e>>8&255,255&e,1)}function Wo(e,t,n,i){return i<=0&&(e=t=n=NaN),new Xo(e,t,n,i)}function Yo(e,t,n,i){return 1===arguments.length?((o=e)instanceof So||(o=Bo(o)),o?new Xo((o=o.rgb()).r,o.g,o.b,o.opacity):new Xo):new Xo(e,t,n,null==i?1:i);var o}function Xo(e,t,n,i){this.r=+e,this.g=+t,this.b=+n,this.opacity=+i}function Vo(){return`#${Jo(this.r)}${Jo(this.g)}${Jo(this.b)}`}function Zo(){const e=qo(this.opacity);return`${1===e?"rgb(":"rgba("}${$o(this.r)}, ${$o(this.g)}, ${$o(this.b)}${1===e?")":`, ${e})`}`}function qo(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function $o(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Jo(e){return((e=$o(e))<16?"0":"")+e.toString(16)}function Qo(e,t,n,i){return i<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new ta(e,t,n,i)}function ea(e){if(e instanceof ta)return new ta(e.h,e.s,e.l,e.opacity);if(e instanceof So||(e=Bo(e)),!e)return new ta;if(e instanceof ta)return e;var t=(e=e.rgb()).r/255,n=e.g/255,i=e.b/255,o=Math.min(t,n,i),a=Math.max(t,n,i),r=NaN,s=a-o,l=(a+o)/2;return s?(r=t===a?(n-i)/s+6*(n<i):n===a?(i-t)/s+2:(t-n)/s+4,s/=l<.5?a+o:2-a-o,r*=60):s=l>0&&l<1?0:r,new ta(r,s,l,e.opacity)}function ta(e,t,n,i){this.h=+e,this.s=+t,this.l=+n,this.opacity=+i}function na(e){return(e=(e||0)%360)<0?e+360:e}function ia(e){return Math.max(0,Math.min(1,e||0))}function oa(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}Po(So,Bo,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Ho,formatHex:Ho,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return ea(this).formatHsl()},formatRgb:Go,toString:Go}),Po(Xo,Yo,No(So,{brighter(e){return e=null==e?Eo:Math.pow(Eo,e),new Xo(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?Oo:Math.pow(Oo,e),new Xo(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Xo($o(this.r),$o(this.g),$o(this.b),qo(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:Vo,formatHex:Vo,formatHex8:function(){return`#${Jo(this.r)}${Jo(this.g)}${Jo(this.b)}${Jo(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:Zo,toString:Zo})),Po(ta,function(e,t,n,i){return 1===arguments.length?ea(e):new ta(e,t,n,null==i?1:i)},No(So,{brighter(e){return e=null==e?Eo:Math.pow(Eo,e),new ta(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?Oo:Math.pow(Oo,e),new ta(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 Xo(oa(e>=240?e-240:e+120,o,i),oa(e,o,i),oa(e<120?e+240:e-120,o,i),this.opacity)},clamp(){return new ta(na(this.h),ia(this.s),ia(this.l),qo(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=qo(this.opacity);return`${1===e?"hsl(":"hsla("}${na(this.h)}, ${100*ia(this.s)}%, ${100*ia(this.l)}%${1===e?")":`, ${e})`}`}}));var aa=e=>()=>e;function ra(e){return 1===(e=+e)?sa: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):aa(isNaN(t)?n:t)}}function sa(e,t){var n=t-e;return n?function(e,t){return function(n){return e+n*t}}(e,n):aa(isNaN(e)?t:e)}var la=function e(t){var n=ra(t);function i(e,t){var i=n((e=Yo(e)).r,(t=Yo(t)).r),o=n(e.g,t.g),a=n(e.b,t.b),r=sa(e.opacity,t.opacity);return function(t){return e.r=i(t),e.g=o(t),e.b=a(t),e.opacity=r(t),e+""}}return i.gamma=e,i}(1);function ca(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var ua=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,da=new RegExp(ua.source,"g");function ha(e,t){var n,i,o,a=ua.lastIndex=da.lastIndex=0,r=-1,s=[],l=[];for(e+="",t+="";(n=ua.exec(e))&&(i=da.exec(t));)(o=i.index)>a&&(o=t.slice(a,o),s[r]?s[r]+=o:s[++r]=o),(n=n[0])===(i=i[0])?s[r]?s[r]+=i:s[++r]=i:(s[++r]=null,l.push({i:r,x:ca(n,i)})),a=da.lastIndex;return a<t.length&&(o=t.slice(a),s[r]?s[r]+=o:s[++r]=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 ga,pa=180/Math.PI,fa={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function va(e,t,n,i,o,a){var r,s,l;return(r=Math.sqrt(e*e+t*t))&&(e/=r,t/=r),(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,r=-r),{translateX:o,translateY:a,rotate:Math.atan2(t,e)*pa,skewX:Math.atan(l)*pa,scaleX:r,scaleY:s}}function ya(e,t,n,i){function o(e){return e.length?e.pop()+" ":""}return function(a,r){var s=[],l=[];return a=e(a),r=e(r),function(e,i,o,a,r,s){if(e!==o||i!==a){var l=r.push("translate(",null,t,null,n);s.push({i:l-4,x:ca(e,o)},{i:l-2,x:ca(i,a)})}else(o||a)&&r.push("translate("+o+t+a+n)}(a.translateX,a.translateY,r.translateX,r.translateY,s,l),function(e,t,n,a){e!==t?(e-t>180?t+=360:t-e>180&&(e+=360),a.push({i:n.push(o(n)+"rotate(",null,i)-2,x:ca(e,t)})):t&&n.push(o(n)+"rotate("+t+i)}(a.rotate,r.rotate,s,l),function(e,t,n,a){e!==t?a.push({i:n.push(o(n)+"skewX(",null,i)-2,x:ca(e,t)}):t&&n.push(o(n)+"skewX("+t+i)}(a.skewX,r.skewX,s,l),function(e,t,n,i,a,r){if(e!==n||t!==i){var s=a.push(o(a)+"scale(",null,",",null,")");r.push({i:s-4,x:ca(e,n)},{i:s-2,x:ca(t,i)})}else 1===n&&1===i||a.push(o(a)+"scale("+n+","+i+")")}(a.scaleX,a.scaleY,r.scaleX,r.scaleY,s,l),a=r=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 ma=ya(function(e){const t=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?fa:va(t.a,t.b,t.c,t.d,t.e,t.f)},"px, ","px)","deg)"),ba=ya(function(e){return null==e?fa:(ga||(ga=document.createElementNS("http://www.w3.org/2000/svg","g")),ga.setAttribute("transform",e),(e=ga.transform.baseVal.consolidate())?va((e=e.matrix).a,e.b,e.c,e.d,e.e,e.f):fa)},", ",")",")");function Ca(e){return((e=Math.exp(e))+1/e)/2}var ka,La,xa=function e(t,n,i){function o(e,o){var a,r,s=e[0],l=e[1],c=e[2],u=o[0],d=o[1],h=o[2],g=u-s,p=d-l,f=g*g+p*p;if(f<1e-12)r=Math.log(h/c)/t,a=function(e){return[s+e*g,l+e*p,c*Math.exp(t*e*r)]};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),C=Math.log(Math.sqrt(m*m+1)-m);r=(C-b)/t,a=function(e){var i,o=e*r,a=Ca(b),u=c/(n*v)*(a*(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*g,l+u*p,c*a/Ca(t*o+b)]}}return a.duration=1e3*r*t/Math.SQRT2,a}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),Ta=0,Pa=0,Na=0,Sa=0,Oa=0,Ea=0,_a="object"==typeof performance&&performance.now?performance:Date,Ia="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Da(){return Oa||(Ia(Aa),Oa=_a.now()+Ea)}function Aa(){Oa=0}function wa(){this._call=this._time=this._next=null}function Ua(e,t,n){var i=new wa;return i.restart(e,t,n),i}function ja(){Oa=(Sa=_a.now())+Ea,Ta=Pa=0;try{!function(){Da(),++Ta;for(var e,t=ka;t;)(e=Oa-t._time)>=0&&t._call.call(void 0,e),t=t._next;--Ta}()}finally{Ta=0,function(){var e,t,n=ka,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:ka=t);La=e,Ra(i)}(),Oa=0}}function Ma(){var e=_a.now(),t=e-Sa;t>1e3&&(Ea-=t,Sa=e)}function Ra(e){Ta||(Pa&&(Pa=clearTimeout(Pa)),e-Oa>24?(e<1/0&&(Pa=setTimeout(ja,e-_a.now()-Ea)),Na&&(Na=clearInterval(Na))):(Na||(Sa=_a.now(),Na=setInterval(Ma,1e3)),Ta=1,Ia(ja)))}function za(e,t,n){var i=new wa;return t=null==t?0:+t,i.restart(n=>{i.stop(),e(n+t)},t,n),i}wa.prototype=Ua.prototype={constructor:wa,restart:function(e,t,n){if("function"!=typeof e)throw new TypeError("callback is not a function");n=(null==n?Da():+n)+(null==t?0:+t),this._next||La===this||(La?La._next=this:ka=this,La=this),this._call=e,this._time=n,Ra()},stop:function(){this._call&&(this._call=null,this._time=1/0,Ra())}};var Fa=xi("start","end","cancel","interrupt"),Ha=[];function Ga(e,t,n,i,o,a){var r=e.__transition;if(r){if(n in r)return}else e.__transition={};!function(e,t,n){var i,o=e.__transition;function a(e){n.state=1,n.timer.restart(r,n.delay,n.time),n.delay<=e&&r(e-n.delay)}function r(a){var c,u,d,h;if(1!==n.state)return l();for(c in o)if((h=o[c]).name===n.name){if(3===h.state)return za(r);4===h.state?(h.state=6,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete o[c]):+c<t&&(h.state=6,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete o[c])}if(za(function(){3===n.state&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(a))}),n.state=2,n.on.call("start",e,e.__data__,n.index,n.group),2===n.state){for(n.state=3,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=5,1),a=-1,r=i.length;++a<r;)i[a].call(e,o);5===n.state&&(n.on.call("end",e,e.__data__,n.index,n.group),l())}function l(){for(var i in n.state=6,n.timer.stop(),delete o[t],o)return;delete e.__transition}o[t]=n,n.timer=Ua(a,0,n.time)}(e,n,{name:t,index:i,group:o,on:Fa,tween:Ha,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function Ba(e,t){var n=Wa(e,t);if(n.state>0)throw new Error("too late; already scheduled");return n}function Ka(e,t){var n=Wa(e,t);if(n.state>3)throw new Error("too late; already running");return n}function Wa(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function Ya(e,t){var n,i,o,a=e.__transition,r=!0;if(a){for(o in t=null==t?null:t+"",a)(n=a[o]).name===t?(i=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(i?"interrupt":"cancel",e,e.__data__,n.index,n.group),delete a[o]):r=!1;r&&delete e.__transition}}function Xa(e,t){var n,i;return function(){var o=Ka(this,e),a=o.tween;if(a!==n)for(var r=0,s=(i=n=a).length;r<s;++r)if(i[r].name===t){(i=i.slice()).splice(r,1);break}o.tween=i}}function Va(e,t,n){var i,o;if("function"!=typeof n)throw new Error;return function(){var a=Ka(this,e),r=a.tween;if(r!==i){o=(i=r).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)}a.tween=o}}function Za(e,t,n){var i=e._id;return e.each(function(){var e=Ka(this,i);(e.value||(e.value={}))[t]=n.apply(this,arguments)}),function(e){return Wa(e,i).value[t]}}function qa(e,t){var n;return("number"==typeof t?ca:t instanceof Bo?la:(n=Bo(t))?(t=n,la):ha)(e,t)}function $a(e){return function(){this.removeAttribute(e)}}function Ja(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Qa(e,t,n){var i,o,a=n+"";return function(){var r=this.getAttribute(e);return r===a?null:r===i?o:o=t(i=r,n)}}function er(e,t,n){var i,o,a=n+"";return function(){var r=this.getAttributeNS(e.space,e.local);return r===a?null:r===i?o:o=t(i=r,n)}}function tr(e,t,n){var i,o,a;return function(){var r,s,l=n(this);if(null!=l)return(r=this.getAttribute(e))===(s=l+"")?null:r===i&&s===o?a:(o=s,a=t(i=r,l));this.removeAttribute(e)}}function nr(e,t,n){var i,o,a;return function(){var r,s,l=n(this);if(null!=l)return(r=this.getAttributeNS(e.space,e.local))===(s=l+"")?null:r===i&&s===o?a:(o=s,a=t(i=r,l));this.removeAttributeNS(e.space,e.local)}}function ir(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 or(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 ar(e,t){return function(){Ba(this,e).delay=+t.apply(this,arguments)}}function rr(e,t){return t=+t,function(){Ba(this,e).delay=t}}function sr(e,t){return function(){Ka(this,e).duration=+t.apply(this,arguments)}}function lr(e,t){return t=+t,function(){Ka(this,e).duration=t}}var cr=ln.prototype.constructor;function ur(e){return function(){this.style.removeProperty(e)}}var dr=0;function hr(e,t,n,i){this._groups=e,this._parents=t,this._name=n,this._id=i}function gr(){return++dr}var pr=ln.prototype;hr.prototype={constructor:hr,select:function(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=it(e));for(var i=this._groups,o=i.length,a=new Array(o),r=0;r<o;++r)for(var s,l,c=i[r],u=c.length,d=a[r]=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,Ga(d[h],t,n,h,d,Wa(s,n)));return new hr(a,this._parents,t,n)},selectAll:function(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=rt(e));for(var i=this._groups,o=i.length,a=[],r=[],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,g=e.call(l,l.__data__,d,c),p=Wa(l,n),f=0,v=g.length;f<v;++f)(h=g[f])&&Ga(h,t,n,f,g,p);a.push(g),r.push(l)}return new hr(a,r,t,n)},selectChild:pr.selectChild,selectChildren:pr.selectChildren,filter:function(e){"function"!=typeof e&&(e=st(e));for(var t=this._groups,n=t.length,i=new Array(n),o=0;o<n;++o)for(var a,r=t[o],s=r.length,l=i[o]=[],c=0;c<s;++c)(a=r[c])&&e.call(a,a.__data__,c,r)&&l.push(a);return new hr(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,a=Math.min(i,o),r=new Array(i),s=0;s<a;++s)for(var l,c=t[s],u=n[s],d=c.length,h=r[s]=new Array(d),g=0;g<d;++g)(l=c[g]||u[g])&&(h[g]=l);for(;s<i;++s)r[s]=t[s];return new hr(r,this._parents,this._name,this._id)},selection:function(){return new cr(this._groups,this._parents)},transition:function(){for(var e=this._name,t=this._id,n=gr(),i=this._groups,o=i.length,a=0;a<o;++a)for(var r,s=i[a],l=s.length,c=0;c<l;++c)if(r=s[c]){var u=Wa(r,t);Ga(r,e,n,c,s,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new hr(i,this._parents,e,n)},call:pr.call,nodes:pr.nodes,node:pr.node,size:pr.size,empty:pr.empty,each:pr.each,on:function(e,t){var n=this._id;return arguments.length<2?Wa(this.node(),n).on.on(e):this.each(function(e,t,n){var i,o,a=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)?Ba:Ka;return function(){var r=a(this,e),s=r.on;s!==i&&(o=(i=s).copy()).on(t,n),r.on=o}}(n,e,t))},attr:function(e,t){var n=Je(e),i="transform"===n?ba:qa;return this.attrTween(e,"function"==typeof t?(n.local?nr:tr)(n,i,Za(this,"attr."+e,t)):null==t?(n.local?Ja:$a)(n):(n.local?er:Qa)(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=Je(e);return this.tween(n,(i.local?ir:or)(i,t))},style:function(e,t,n){var i="transform"==(e+="")?ma:qa;return null==t?this.styleTween(e,function(e,t){var n,i,o;return function(){var a=_t(this,e),r=(this.style.removeProperty(e),_t(this,e));return a===r?null:a===n&&r===i?o:o=t(n=a,i=r)}}(e,i)).on("end.style."+e,ur(e)):"function"==typeof t?this.styleTween(e,function(e,t,n){var i,o,a;return function(){var r=_t(this,e),s=n(this),l=s+"";return null==s&&(this.style.removeProperty(e),l=s=_t(this,e)),r===l?null:r===i&&l===o?a:(o=l,a=t(i=r,s))}}(e,i,Za(this,"style."+e,t))).each(function(e,t){var n,i,o,a,r="style."+t,s="end."+r;return function(){var l=Ka(this,e),c=l.on,u=null==l.value[r]?a||(a=ur(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,a=n+"";return function(){var r=_t(this,e);return r===a?null:r===i?o:o=t(i=r,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 a(){var a=t.apply(this,arguments);return a!==o&&(i=(o=a)&&function(e,t,n){return function(i){this.style.setProperty(e,t.call(this,i),n)}}(e,a,n)),i}return a._value=t,a}(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}}(Za(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=Wa(this.node(),n).tween,a=0,r=o.length;a<r;++a)if((i=o[a]).name===e)return i.value;return null}return this.each((null==t?Xa:Va)(n,e,t))},delay:function(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?ar:rr)(t,e)):Wa(this.node(),t).delay},duration:function(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?sr:lr)(t,e)):Wa(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(){Ka(this,e).ease=t}}(t,e)):Wa(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;Ka(this,e).ease=n}}(this._id,e))},end:function(){var e,t,n=this,i=n._id,o=n.size();return new Promise(function(a,r){var s={value:r},l={value:function(){0===--o&&a()}};n.each(function(){var n=Ka(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&&a()})},[Symbol.iterator]:pr[Symbol.iterator]};var fr={time:null,delay:0,duration:250,ease:Wi};function vr(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}ln.prototype.interrupt=function(e){return this.each(function(){Ya(this,e)})},ln.prototype.transition=function(e){var t,n;e instanceof hr?(t=e._id,e=e._name):(t=gr(),(n=fr).time=Da(),e=null==e?null:e+"");for(var i=this._groups,o=i.length,a=0;a<o;++a)for(var r,s=i[a],l=s.length,c=0;c<l;++c)(r=s[c])&&Ga(r,e,t,c,s,n||vr(r,t));return new hr(i,this._parents,e,t)};var yr=function(e){return function(){return e}};function mr(e,t){var n=t.sourceEvent,i=t.target,o=t.transform,a=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:a}})}function br(e,t,n){this.k=e,this.x=t,this.y=n}br.prototype={constructor:br,scale:function(e){return 1===e?this:new br(this.k*e,this.x,this.y)},translate:function(e,t){return 0===e&0===t?this:new br(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 Cr=new br(1,0,0);function kr(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Cr;return e.__zoom}function Lr(e){e.stopImmediatePropagation()}function xr(e){e.preventDefault(),e.stopImmediatePropagation()}function Tr(e){return!(e.ctrlKey&&"wheel"!==e.type||e.button)}function Pr(){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 Nr(){return this.__zoom||Cr}function Sr(e){return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Or(){return navigator.maxTouchPoints||"ontouchstart"in this}function Er(e,t,n){var i=e.invertX(t[0][0])-n[0][0],o=e.invertX(t[1][0])-n[1][0],a=e.invertY(t[0][1])-n[0][1],r=e.invertY(t[1][1])-n[1][1];return e.translate(o>i?(i+o)/2:Math.min(0,i)||Math.max(0,o),r>a?(a+r)/2:Math.min(0,a)||Math.max(0,r))}kr.prototype=br.prototype;var _r=Object.freeze({__proto__:null,zoom:function(){var e,t,n,i=Tr,o=Pr,a=Er,r=Sr,s=Or,l=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],u=250,d=xa,h=xi("start","zoom","end"),g=0,p=10,f=!1,v=!1;function y(e){e.property("__zoom",Nr).on("wheel.zoom",T,{passive:!1}).on("mousedown.zoom",O).on("dblclick.zoom",E).on("gesturestart",P).on("gesturechange",N).on("gestureend",S).filter(s).on("touchstart.zoom",_).on("touchmove.zoom",I).on("touchend.zoom touchcancel.zoom",D).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(e,t){return(t=Math.max(l[0],Math.min(l[1],t)))===e.k?e:new br(t,e.x,e.y)}function b(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 br(e.k,i,o)}function C(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function k(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,a=arguments,r=L(e,a).event(i),s=o.apply(e,a),l=null==n?C(s):"function"==typeof n?n.apply(e,a):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,a):t,g=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=g(e),n=c/t[2];e=new br(n,l[0]-t[0]*n,l[1]-t[1]*n)}r.zoom(null,e)}})}function L(e,t,n){return!n&&e.__zooming||new x(e,t)}function x(e,t){this.that=e,this.args=t,this.active=0,this.sourceEvent=null,this.extent=o.apply(e,t),this.taps=0}function T(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(v&&xr(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,r.apply(this,arguments)))),h=pn(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;!f||e.ctrlKey||e.safariPinchZoom||(s.wheelTransX=-u.x,s.wheelTransY=-u.y),s.mouse=[h,u.invert(h)],Ya(this),s.start()}if(xr(e),s.wheel=setTimeout(function(){s.wheel=null,s.end()},150),!f||e.ctrlKey||e.safariPinchZoom)s.zoom("mouse",a(b(m(u,d),s.mouse[0],s.mouse[1]),s.extent,c));else{s.wheelTransX+=e.deltaX,s.wheelTransY+=e.deltaY;var g=[u.x,u.y],p=[u.x+s.wheelTransX,u.y+s.wheelTransY];s.zoom("mouse",a(b(u,g,p),s.extent,c))}}}function P(e){xr(e),this.scale=e.scale}function N(e){xr(e),this.__zoom&&(e.deltaY=100*(this.scale-e.scale),this.scale=e.scale),e.safariPinchZoom=!0,T.apply(this,[e].concat(Array.prototype.slice.call(arguments)))}function S(e){xr(e)}function O(e){for(var t=arguments.length,o=new Array(t>1?t-1:0),r=1;r<t;r++)o[r-1]=arguments[r];if(!n&&i.apply(this,arguments)){var s=e.currentTarget,l=L(this,o,!0).event(e),u=cn(e.view).on("mousemove.zoom",function(e){if(xr(e),!l.moved){var t=e.clientX-h,n=e.clientY-p;l.moved=t*t+n*n>g}l.event(e).zoom("mouse",a(b(l.that.__zoom,l.mouse[0]=pn(e,s),l.mouse[1]),l.extent,c))},!0).on("mouseup.zoom",function(e){u.on("mousemove.zoom mouseup.zoom",null),Di(e.view,l.moved),xr(e),l.event(e).end()},!0),d=pn(e,s),h=e.clientX,p=e.clientY;Ii(e.view),Lr(e),l.mouse=[d,this.__zoom.invert(d)],Ya(this),l.start()}}function E(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];if(i.apply(this,arguments)){var s=this.__zoom,l=pn(e.changedTouches?e.changedTouches[0]:e,this),d=s.invert(l),h=s.k*(e.shiftKey?.5:2),g=a(b(m(s,h),l,d),o.apply(this,n),c);xr(e),u>0?cn(this).transition().duration(u).call(k,g,l,e):cn(this).call(y.transform,g,l,e)}}function _(n){for(var o=arguments.length,a=new Array(o>1?o-1:0),r=1;r<o;r++)a[r-1]=arguments[r];if(i.apply(this,arguments)){var s,l,c,u,d=n.touches,h=d.length,g=L(this,a,n.changedTouches.length===h).event(n);for(Lr(n),l=0;l<h;++l)u=[u=pn(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},500)),Ya(this),g.start())}}function I(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,r,s,l,u=L(this,n).event(e),d=e.changedTouches,h=d.length;for(xr(e),o=0;o<h;++o)s=pn(r=d[o],this),u.touch0&&u.touch0[2]===r.identifier?u.touch0[0]=s:u.touch1&&u.touch1[2]===r.identifier&&(u.touch1[0]=s);if(r=u.that.__zoom,u.touch1){var g=u.touch0[0],p=u.touch0[1],f=u.touch1[0],v=u.touch1[1],y=(y=f[0]-g[0])*y+(y=f[1]-g[1])*y,C=(C=v[0]-p[0])*C+(C=v[1]-p[1])*C;r=m(r,Math.sqrt(y/C)),s=[(g[0]+f[0])/2,(g[1]+f[1])/2],l=[(p[0]+v[0])/2,(p[1]+v[1])/2]}else{if(!u.touch0)return;s=u.touch0[0],l=u.touch0[1]}u.zoom("touch",a(b(r,s,l),u.extent,c))}}function D(e){for(var i=arguments.length,o=new Array(i>1?i-1:0),a=1;a<i;a++)o[a-1]=arguments[a];if(this.__zooming){var r,s,l=L(this,o).event(e),c=e.changedTouches,u=c.length;for(Lr(e),n&&clearTimeout(n),n=setTimeout(function(){n=null},500),r=0;r<u;++r)s=c[r],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=pn(s,this),Math.hypot(t[0]-s[0],t[1]-s[1])<p)){var d=cn(this).on("dblclick.zoom");d&&d.apply(this,arguments)}}}return y.transform=function(e,t,n,i){var o=e.selection?e.selection():e;o.property("__zoom",Nr),e!==o?k(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()})},y.scaleBy=function(e,t,n,i){y.scaleTo(e,function(){return this.__zoom.k*("function"==typeof t?t.apply(this,arguments):t)},n,i)},y.scaleTo=function(e,t,n,i){y.transform(e,function(){var e=o.apply(this,arguments),i=this.__zoom,r=null==n?C(e):"function"==typeof n?n.apply(this,arguments):n,s=i.invert(r),l="function"==typeof t?t.apply(this,arguments):t;return a(b(m(i,l),r,s),e,c)},n,i)},y.translateBy=function(e,t,n,i){y.transform(e,function(){return a(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)},y.translateTo=function(e,t,n,i,r){y.transform(e,function(){var e=o.apply(this,arguments),r=this.__zoom,s=null==i?C(e):"function"==typeof i?i.apply(this,arguments):i;return a(Cr.translate(s[0],s[1]).scale(r.k).translate("function"==typeof t?-t.apply(this,arguments):-t,"function"==typeof n?-n.apply(this,arguments):-n),e,c)},i,r)},x.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=cn(this.that).datum();h.call(e,this.that,new mr(e,{sourceEvent:this.sourceEvent,target:y,type:e,transform:this.that.__zoom,dispatch:h}),t)}},y.wheelDelta=function(e){return arguments.length?(r="function"==typeof e?e:yr(+e),y):r},y.filter=function(e){return arguments.length?(i="function"==typeof e?e:yr(!!e),y):i},y.touchable=function(e){return arguments.length?(s="function"==typeof e?e:yr(!!e),y):s},y.extent=function(e){return arguments.length?(o="function"==typeof e?e:yr([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),y):o},y.scaleExtent=function(e){return arguments.length?(l[0]=+e[0],l[1]=+e[1],y):[l[0],l[1]]},y.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],y):[[c[0][0],c[0][1]],[c[1][0],c[1][1]]]},y.constrain=function(e){return arguments.length?(a=e,y):a},y.trackpad=function(e){return arguments.length?(f=e,y):f},y.preventBackGesture=function(e){return arguments.length?(v=e,y):v},y.duration=function(e){return arguments.length?(u=+e,y):u},y.interpolate=function(e){return arguments.length?(d=e,y):d},y.on=function(){var e=h.on.apply(h,arguments);return e===h?y:e},y.clickDistance=function(e){return arguments.length?(g=(e=+e)*e,y):Math.sqrt(g)},y.tapDistance=function(e){return arguments.length?(p=+e,y):p},y},zoomTransform:kr,zoomIdentity:Cr,ZoomTransform:br});function Ir(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 Dr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ir(Object(n),!0).forEach(function(t){C._defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ir(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Ar=Object.assign({},fn,_r),wr=function(){return e._createClass(function t(n){var i=this;e._classCallCheck(this,t),this.ren=n,this.logger=new h.Logger("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=Ar.zoomIdentity.translate(0,0).scale(1),this.zooming=!1,this.zoomingAction=!1,this.spaceKeyPressed=!1,this.zoomHandler=Ar.zoom().trackpad(this.ren.config.enableInteractionType===s.INTERACTION_TRACKPAD).preventBackGesture(!0).wheelDelta(function(e){return-e.deltaY*(i.ren.config.enableInteractionType===s.INTERACTION_TRACKPAD?.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))},[{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 Dr({},this.zoomTransform)}},{key:"getZoomScale",value:function(){return this.zoomTransform.k}},{key:"resetZoomTransform",value:function(){this.zoomTransform=Ar.zoomIdentity.translate(0,0).scale(1)}},{key:"zoomTo",value:function(e,t){var n=void 0===t?500:t;this.zoomCanvasInvokeZoomBehavior(e,n)}},{key:"translateBy",value:function(e,t,n){var i=this.getZoomTransform(),o=Ar.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:this.transformPosX(e.x),y:this.transformPosY(e.y)}}},{key:"transformPosX",value:function(e){return(e-this.zoomTransform.x)/this.zoomTransform.k}},{key:"transformPosY",value:function(e){return(e-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:"getTransformedElementRect",value:function(e){var t=this.ren.canvasSVG.node().getBoundingClientRect();if(!e)return null;var n=e.getBoundingClientRect(),i={x:n.x-t.x,y:n.y-t.y,left:n.left-t.x,right:n.right-t.x,top:n.top-t.y,bottom:n.bottom-t.y,width:n.width,height:n.height};return i.x=this.transformPosX(i.x),i.y=this.transformPosY(i.y),i.left=this.transformPosX(i.left),i.right=this.transformPosX(i.right),i.top=this.transformPosY(i.top),i.bottom=this.transformPosY(i.bottom),i.width/=this.zoomTransform.k,i.height/=this.zoomTransform.k,i}},{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=Dr({},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===s.INTERACTION_CARBON?this.isSpaceKeyPressed():e&&e.sourceEvent&&!e.sourceEvent.shiftKey}},{key:"isRegionSelectActivated",value:function(e){return!this.zoomingAction&&(!!(this.ren.config.enableInteractionType===s.INTERACTION_MOUSE&&e&&e.sourceEvent&&e.sourceEvent.shiftKey)||(this.ren.config.enableInteractionType===s.INTERACTION_CARBON&&!this.isSpaceKeyPressed()||!(this.ren.config.enableInteractionType!==s.INTERACTION_TRACKPAD||!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,a=t.height,r=this.getObjectsInRegion({x:n,y:i,width:o,height:a});this.ren.setSelectionInfo({selections:r,pipelineId:this.ren.activePipeline.id}),this.ren.canvasGrp.append("rect").attr("width",o).attr("height",a).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;var t=this.getRegionDimensions(e),n=this.getObjectsInRegion(t);this.ren.canvasController.setSelections(n,this.ren.activePipeline.id)}},{key:"removeRegionSelector",value:function(){this.ren.canvasGrp.selectAll(".d3-region-selector").remove()}},{key:"getObjectsInRegion",value:function(e){return s.CanvasUtils.getObjectsInRegion(e,this.ren.activePipeline,this.ren.config.enableLinkSelection!==s.LINK_SELECTION_NONE,this.ren.canvasLayout.linkType,this.ren.canvasLayout.linkMethod,this.ren.config.enableAssocLinkType)}},{key:"getRegionDimensions",value:function(e){var t=this.ren.getTransformedMousePos(e),n=this.zoomStartPoint.startX,i=this.zoomStartPoint.startY,o=t.x-n,a=t.y-i;return o<0&&(n-=o=Math.abs(o)),a<0&&(i-=a=Math.abs(a)),{x:n,y:i,width:o,height:a}}},{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=Ar.zoomIdentity.translate(e.transform.x,e.transform.y).scale(e.transform.k);this.ren.canvasGrp.attr("transform",this.zoomTransform),this.ren.canvasBackground.attr("transform",this.zoomTransform),this.ren.displayCanvasAccoutrements()}},{key:"zoomClick",value:function(e){var t;this.ren.dispUtils.isDisplayingCurrentPipeline()&&!this.contextMenuClosedOnZoom&&!this.textEditingClosedOnZoom&&(this.ren.config.enableEditingActions||null!==(t=e.sourceEvent)&&void 0!==t&&null!==(t=t.target)&&void 0!==t&&null!==(t=t.classList)&&void 0!==t&&t.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=Dr({},e.transform),i}},{key:"zoomConstrainRegular",value:function(e,t,n){if(!n)return this.zoomTransform;var i=e.k,o=e.x,a=e.y,r=this.convertRectAdjustedForScaleWithPadding(n,i,this.getZoomToFitPadding()),s=t.width-Math.min(.25*t.width,.25*r.width),l=-Math.max(r.width-.25*t.width,.75*r.width),c=t.height-Math.min(.25*t.height,.25*r.height),u=-Math.max(r.height-.25*t.height,.75*r.height);return o>-r.left+s?o=-r.left+s:o<-r.left+l&&(o=-r.left+l),a>-r.top+c?a=-r.top+c:a<-r.top+u&&(a=-r.top+u),Ar.zoomIdentity.translate(o,a).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(e&&isFinite(e.x)&&isFinite(e.y)&&isFinite(e.k)&&this.zoomHasChanged(e)){this.zoomingAction=!0;var n=Ar.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(e){var t=this.getCanvasDimensionsWithPadding(),n=this.getZoomToFit(t);n&&this.zoomCanvasInvokeZoomBehavior(n,e)}},{key:"getZoomToFit",value:function(e){var t=this.getViewportDimensions();if(e){var n=t.width/e.width,i=t.height/e.height,o=Math.min(n,i,1),a=(t.width-e.width*o)/2,r=(t.height-e.height*o)/2;return{x:a-=o*e.left,y:r-=o*e.top,k:o}}return null}},{key:"getZoomToReveal",value:function(e,t,n){var i=this.getTransformedViewportDimensions(),o=this.ren.activePipeline.getNodes(e),a=this.ren.activePipeline.getComments(e),r=this.ren.activePipeline.getLinks(e);if(o.length>0||a.length>0||r.length>0){var l=s.CanvasUtils.getCanvasDimensions(o,a,r,0,0,!0),c=this.convertRectAdjustedForScaleWithPadding(l,1,30);if(c){if(c.width>i.width||c.height>i.height)return this.getZoomToFit(c);var u,d,h=parseInt(t,10),g=void 0===n?h:parseInt(n,10);if(Number.isNaN(h)||Number.isNaN(g)?(c.right>i.x+i.width&&(u=i.x+i.width-c.right),c.left<i.x&&(u=i.x-c.left),c.bottom>i.y+i.height&&(d=i.y+i.height-c.bottom),c.top<i.y&&(d=i.y-c.top)):(u=i.x+i.width*(h/100)-(c.left+c.width/2),d=i.y+i.height*(g/100)-(c.top+c.height/2)),void 0!==u||void 0!==d)return{x:this.zoomTransform.x+(u||0)*this.zoomTransform.k||0,y:this.zoomTransform.y+(d||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=s.CanvasUtils.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=s.CanvasUtils.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}}])}(),Ur=function(){return e._createClass(function t(n){e._classCallCheck(this,t),this.logger=new h.Logger("SVGCanvasUtilsAccessibility"),this.logger.log("constructor - start"),this.ap=n,this.initialize(),this.logger.log("constructor - end")},[{key:"initialize",value:function(){this.logger.logStartTimer("initialize"),this.tabObjects=this.createTabObjectsArray(),this.logger.logEndTimer("initialize")}},{key:"createTabObjectsArray",value:function(){this.removeGrpProperties();var e=this.getObjectGroups(),t=this.getEntryComments(),n=this.getEntryLinks(),i=this.getEntryNodes(),o=this.getEntryNodesForLoops(e),a=[].concat(r._toConsumableArray(t),r._toConsumableArray(i),r._toConsumableArray(n),r._toConsumableArray(o));return a=a.sort(this.sortTabGroups.bind(this))}},{key:"removeGrpProperties",value:function(){this.ap.pipeline.nodes.forEach(function(e){return delete e.grp}),this.ap.pipeline.links.forEach(function(e){return delete e.grp}),this.ap.pipeline.comments.forEach(function(e){return delete e.grp})}},{key:"getEntryComments",value:function(){var e=this;if(this.ap.canvasInfo.hideComments)return[];var t=this.ap.pipeline.comments.filter(function(t){return!e.commentHasLinks(t)});return t=t.map(function(e){return{type:"comment",obj:e}})}},{key:"getEntryLinks",value:function(){var e=this.ap.pipeline.links.filter(function(e){return e.srcPos&&e.trgPos});return e=e.map(function(e){return{type:"link",obj:e}})}},{key:"getEntryNodes",value:function(){var e=this,t=this.ap.pipeline.nodes.filter(function(t){return!e.nodeHasInputLinks(t)&&!e.nodeHasAssocLinks(t)});return t=t.map(function(e){return{type:"node",obj:e}}),t}},{key:"getEntryNodesForLoops",value:function(e){var t=this,n=[];return e.forEach(function(e){if(0===e.filter(function(e){return!t.nodeHasInputLinks(e)&&!t.nodeHasAssocLinks(e)}).length){var i=t.getLoopEntryNode(e);n.push(i)}}),n}},{key:"getLoopEntryNode",value:function(e){var t=null,n=1/0;return e.forEach(function(e){e.x_pos<n&&(t=e,n=e.x_pos)}),{type:"node",obj:t}}},{key:"getObjectGroups",value:function(){var e=this,t=[],n=-1;return this.ap.pipeline.nodes.forEach(function(i){if(void 0===i.grp){var o=[];n++,e.getNodesInGroup(i,o,n),t.push(o)}}),this.ap.pipeline.comments.forEach(function(e){void 0===e.grp&&(n++,e.grp=n)}),this.ap.pipeline.links.forEach(function(e){void 0===e.grp&&(n++,e.grp=n)}),t}},{key:"getNodesInGroup",value:function(e,t,n){var i=this;if(void 0===e.grp){e.grp=n,t.push(e);var o=this.getInputDataLinks(e);o=o.map(function(e){return e.grp=n,e});var a=this.getOutputDataLinks(e);a=a.map(function(e){return e.grp=n,e});var r=this.getAssociationLinks(e);r=r.map(function(e){return e.grp=n,e});var s=this.getCommentLinks(e);s=s.map(function(e){return e.grp=n,e});var l=this.getSrcNodes(o),c=this.getTrgNodes(a),u=this.getAssocNodes(r,e),d=this.getConnectedComments(s);l.forEach(function(e){void 0===e.grp&&i.getNodesInGroup(e,t,n)}),c.forEach(function(e){void 0===e.grp&&i.getNodesInGroup(e,t,n)}),u.forEach(function(e){void 0===e.grp&&i.getNodesInGroup(e,t,n)}),d.forEach(function(e){void 0===e.grp&&(e.grp=n)})}}},{key:"getSrcNodes",value:function(e){var t=this,n=[];return e.forEach(function(e){var i=t.ap.getNode(e.srcNodeId);i&&n.push(i)}),n}},{key:"getTrgNodes",value:function(e){var t=this,n=[];return e.forEach(function(e){var i=t.ap.getNode(e.trgNodeId);i&&n.push(i)}),n}},{key:"getAssocNodes",value:function(e,t){var n=this,i=[];return e.forEach(function(e){var o=e.srcNodeId===t.id?e.trgNodeId:e.srcNodeId,a=n.ap.getNode(o);a&&i.push(a)}),i}},{key:"getConnectedComments",value:function(e){var t=this,n=[];return e.forEach(function(e){var i=t.ap.getComment(e.srcNodeId);i&&n.push(i)}),n}},{key:"sortTabGroups",value:function(e,t){var n=this.getTagGroupYCoord(e),i=this.getTagGroupYCoord(t);return n>i||n===i&&this.getTagGroupXCoord(e)>this.getTagGroupXCoord(t)?1:-1}},{key:"getTagGroupYCoord",value:function(e){return"link"===e.type?e.obj.srcPos.y_pos:e.obj.y_pos}},{key:"getTagGroupXCoord",value:function(e){return"link"===e.type?e.obj.srcPos.x_pos:e.obj.x_pos}},{key:"getInputDataLinks",value:function(e){return this.ap.pipeline.links.filter(function(t){return t.type===s.NODE_LINK&&t.trgNodeId===e.id})}},{key:"getOutputDataLinks",value:function(e){return this.ap.pipeline.links.filter(function(t){return t.type===s.NODE_LINK&&t.srcNodeId===e.id})}},{key:"getAssociationLinks",value:function(e){return this.ap.pipeline.links.filter(function(t){return t.type===s.ASSOCIATION_LINK&&(t.srcNodeId===e.id||t.trgNodeId===e.id)})}},{key:"getCommentLinks",value:function(e){return this.ap.pipeline.links.filter(function(t){return t.type===s.COMMENT_LINK&&t.trgNodeId===e.id})}},{key:"nodeHasInputLinks",value:function(e){return!!(e.inputs&&e.inputs.length>0)&&this.getLinksToNode(e,s.NODE_LINK).length>0}},{key:"nodeHasAssocLinks",value:function(e){return this.getAssocLinksForNode(e).length>0}},{key:"commentHasLinks",value:function(e){return this.getLinksFromComment(e).length>0}},{key:"getNextTabGroupStartObject",value:function(e){if(0===this.tabObjects.length)return null;if(!e||e===s.CANVAS_FOCUS)return this.tabObjects[0].obj;var t=this.getLocalObject(e),n=this.tabObjects.findIndex(function(e){return e.obj.grp===(null==t?void 0:t.grp)&&e.obj.id===(null==t?void 0:t.id)});return-1===n&&(n=this.tabObjects.findIndex(function(e){return e.obj.grp===(null==t?void 0:t.grp)})),n===this.tabObjects.length-1?null:this.tabObjects[n+1].obj}},{key:"getPreviousTabGroupStartObject",value:function(e){if(0===this.tabObjects.length)return null;if(!e||e===s.CANVAS_FOCUS)return this.tabObjects[this.tabObjects.length-1].obj;var t=this.getLocalObject(e),n=this.tabObjects.findIndex(function(e){return e.obj.grp===(null==t?void 0:t.grp)&&e.obj.id===(null==t?void 0:t.id)});return-1===n&&(n=this.tabObjects.findLastIndex(function(e){return e.obj.grp===(null==t?void 0:t.grp)})),n<1?null:this.tabObjects[n-1].obj}},{key:"getLocalObject",value:function(e){return this.ap.pipeline.nodes.find(function(t){return t.id===e.id})||this.ap.pipeline.links.find(function(t){return t.id===e.id})||this.ap.pipeline.comments.find(function(t){return t.id===e.id})}},{key:"getAllLinksForNode",value:function(e){var t=this,n=[];return this.getLinksFromNode(e,s.NODE_LINK).forEach(function(e){n.push({link:e,type:"node",obj:e.srcObj})}),this.getLinksToNode(e,s.NODE_LINK).forEach(function(e){n.push({link:e,type:"node",obj:e.trgNode})}),this.getLinksFromNode(e,s.ASSOCIATION_LINK).forEach(function(e){n.push({link:e,type:"node",obj:e.srcObj})}),this.getLinksToNode(e,s.ASSOCIATION_LINK).forEach(function(e){n.push({link:e,type:"node",obj:e.trgNode})}),this.getLinksToNode(e,s.COMMENT_LINK).forEach(function(e){n.push({link:e,type:"comment",obj:t.ap.getComment(e.srcNodeId)})}),n}},{key:"getNextLinksFromNode",value:function(e){var t=this,n=[];return this.getLinksFromNode(e,s.NODE_LINK).forEach(function(e){n.push({link:e,type:"node",obj:t.ap.getNode(e.trgNodeId)})}),this.getLinksFromNode(e,s.ASSOCIATION_LINK).forEach(function(i){n.push({link:i,type:"node",obj:t.ap.getNode(e.id===i.srcNodeId?i.trgNodeId:i.srcNodeId)})}),this.getLinksToNode(e,s.ASSOCIATION_LINK).forEach(function(e){n.push({link:e,type:"node",obj:e.trgNode})}),this.getLinksToNode(e,s.COMMENT_LINK).forEach(function(e){n.push({link:e,type:"comment",obj:t.ap.getComment(e.srcNodeId)})}),n}},{key:"getNextLinksFromComment",value:function(e){var t=this,n=[];return this.getLinksFromComment(e).forEach(function(e){n.push({link:e,type:"node",obj:t.ap.getNode(e.trgNodeId)})}),n}},{key:"getNextSiblingLink",value:function(e){if(e.srcPos&&e.trgPos)return null;var t=e.navObject?e.navObject:e.srcObj,n=s.CanvasUtils.isNode(t)?this.getAllLinksForNode(t):this.getNextLinksFromComment(t),i=n.findIndex(function(t){return t.link.id===e.id});return i>-1?i===n.length-1?n[0].link:n[i+1].link:null}},{key:"getPreviousSiblingLink",value:function(e){if(e.srcPos&&e.trgPos)return null;var t=e.navObject?e.navObject:e.srcObj,n=s.CanvasUtils.isNode(t)?this.getAllLinksForNode(t):this.getNextLinksFromComment(t),i=n.findIndex(function(t){return t.link.id===e.id});return i>-1?0===i?n[n.length-1].link:n[i-1].link:null}},{key:"getNextNodeFromDataLink",value:function(e){return this.ap.getNode(e.trgNodeId)}},{key:"getNextNodeFromAssocLink",value:function(e){var t;return e.srcNodeId===(null===(t=e.navObject)||void 0===t?void 0:t.id)?e.trgNode:e.srcObj}},{key:"getNextObjectFromCommentLink",value:function(e){var t;return e.srcNodeId===(null===(t=e.navObject)||void 0===t?void 0:t.id)?e.trgNode:e.srcObj}},{key:"getPreviousLinksToNode",value:function(e){var t=this,n=[];return this.getLinksToNode(e,s.NODE_LINK).forEach(function(e){n.push({link:e,type:"node",obj:t.ap.getNode(e.trgNodeId)})}),n}},{key:"getPreviousNodeFromDataLink",value:function(e){return e.srcObj}},{key:"getPreviousNodeFromAssocLink",value:function(e){return e.srcObjId===e.navObject.id?e.srcObj:e.trgNode}},{key:"getPreviousObjectFromCommentLink",value:function(e){return e.srcObjId===e.navObject.id?e.srcObj:e.trgNode}},{key:"getLinksToNode",value:function(e,t){return this.ap.pipeline.links.filter(function(n){return n.type===t&&n.trgNodeId===e.id})}},{key:"getLinksFromNode",value:function(e,t){return this.ap.pipeline.links.filter(function(n){return n.type===t&&n.srcNodeId===e.id})}},{key:"getAssocLinksForNode",value:function(e){return this.ap.pipeline.links.filter(function(t){return t.type===s.ASSOCIATION_LINK&&(t.srcNodeId===e.id||t.trgNodeId===e.id)})}},{key:"getLinksFromComment",value:function(e){return this.ap.pipeline.links.filter(function(t){return t.srcNodeId===e.id})}},{key:"getNextSubObject",value:function(e,t){var n=this.getFocusableSubObjects(e);if(!t)return n[0];var i=n.findIndex(function(e){return e.type===t.type&&e.obj.id===t.obj.id});return++i>n.length-1&&(i=0),n[i]}},{key:"getPreviousSubObject",value:function(e,t){var n=this.getFocusableSubObjects(e);if(!t)return n[n.length-1];var i=n.findIndex(function(e){return e.type===t.type&&e.obj.id===t.obj.id});return--i<0&&(i=n.length-1),n[i]}},{key:"getFocusableSubObjects",value:function(e){var t=[],n=s.CanvasUtils.getObjectTypeName(e);return"node"===n&&(e.inputs&&e.layout.inputPortDisplay&&e.layout.inputPortFocusable&&e.inputs.forEach(function(e){t.push({type:"inputPort",obj:e})}),e.outputs&&e.layout.outputPortDisplay&&e.layout.outputPortFocusable&&e.outputs.forEach(function(e){t.push({type:"outputPort",obj:e})}),e.focusFunction&&t.push({type:"reactObject",obj:e})),"link"!==n||e.type!==s.NODE_LINK||this.ap.config.enableLinkSelection!==s.LINK_SELECTION_HANDLES&&this.ap.config.enableLinkSelection!==s.LINK_SELECTION_DETACHABLE||t.push({type:"linkStart",obj:e}),e.decorations&&e.decorations.forEach(function(e){e.focusable&&t.push({type:"decoration",obj:e})}),"link"!==n||e.type!==s.NODE_LINK||this.ap.config.enableLinkSelection!==s.LINK_SELECTION_HANDLES&&this.ap.config.enableLinkSelection!==s.LINK_SELECTION_DETACHABLE||t.push({type:"linkEnd",obj:e}),t}}])}(),jr=function(){return e._createClass(function t(n,i,o,a){e._classCallCheck(this,t),this.logger=new h.Logger("SVGCanvasActivePipeline"),this.logger.log("constructor - start"),this.initialize(n,i,o,a),this.logger.log("constructor - end")},[{key:"initialize",value:function(e,t,n,i){this.logger.logStartTimer("initialize"),this.config=t,this.canvasInfo=n,this.selections=i.pipelineId===e?i.selections:[],this.pipeline=this.getPipeline(e,n),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.accessibility=null,this.logger.logEndTimer("initialize")}},{key:"getAccessibility",value:function(){return this.accessibility||(this.accessibility=new Ur(this)),this.accessibility}},{key:"getAllLinksForNode",value:function(e){return this.getAccessibility().getAllLinksForNode(e)}},{key:"getNextLinksFromNode",value:function(e){return this.getAccessibility().getNextLinksFromNode(e)}},{key:"getPreviousLinksToNode",value:function(e){return this.getAccessibility().getPreviousLinksToNode(e)}},{key:"getPreviousNodeFromDataLink",value:function(e){return this.getAccessibility().getPreviousNodeFromDataLink(e)}},{key:"getPreviousNodeFromAssocLink",value:function(e){return this.getAccessibility().getPreviousNodeFromAssocLink(e)}},{key:"getPreviousObjectFromCommentLink",value:function(e){return this.getAccessibility().getPreviousObjectFromCommentLink(e)}},{key:"getNextLinksFromComment",value:function(e){return this.getAccessibility().getNextLinksFromComment(e)}},{key:"getNextNodeFromDataLink",value:function(e){return this.getAccessibility().getNextNodeFromDataLink(e)}},{key:"getNextNodeFromAssocLink",value:function(e){return this.getAccessibility().getNextNodeFromAssocLink(e)}},{key:"getNextObjectFromCommentLink",value:function(e){return this.getAccessibility().getNextObjectFromCommentLink(e)}},{key:"getNextSiblingLink",value:function(e){return this.getAccessibility().getNextSiblingLink(e)}},{key:"getPreviousSiblingLink",value:function(e){return this.getAccessibility().getPreviousSiblingLink(e)}},{key:"getNextTabGroupStartObject",value:function(e){return this.getAccessibility().getNextTabGroupStartObject(e)}},{key:"getPreviousTabGroupStartObject",value:function(e){return this.getAccessibility().getPreviousTabGroupStartObject(e)}},{key:"getCanvasDimensions",value:function(e){return s.CanvasUtils.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 s.CanvasUtils.isSupernode(e)})}},{key:"isEmptyOrBindingsOnly",value:function(){return(p.isEmpty_1(this.pipeline.nodes)||this.containsOnlyBindingNodes())&&p.isEmpty_1(this.pipeline.comments)&&p.isEmpty_1(this.pipeline.links)}},{key:"containsOnlyBindingNodes",value:function(){return!this.pipeline.nodes.find(function(e){return!s.CanvasUtils.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===s.COMMENT_LINK?(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===s.NODE_LINK&&(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||s.CanvasUtils.getDefaultInputPortId(e);e.inputs&&e.inputs.forEach(function(e){e.id===n&&(e.isConnected=!0)})}},{key:"setOutputPortConnected",value:function(e,t){var n=t||s.CanvasUtils.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.getSelectedObjectIds().forEach(function(n){var i=e.getNode(n);i&&t.push(i)}),t}},{key:"getSelectedComments",value:function(){var e=this,t=[];return this.getSelectedObjectIds().forEach(function(n){var i=e.getComment(n);i&&t.push(i)}),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}},{key:"getNextSubObject",value:function(e,t){return this.getAccessibility().getNextSubObject(e,t)}},{key:"getPreviousSubObject",value:function(e,t){return this.getAccessibility().getPreviousSubObject(e,t)}},{key:"getFocusableSubObjects",value:function(e){return this.getAccessibility().getFocusableSubObjects(e)}}])}();function Mr(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 Rr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Mr(Object(n),!0).forEach(function(t){C._defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Mr(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var zr=Object.assign({},fn,Yn),Fr=function(){function t(n,i,o,a,r,s,l,c,u){var d=arguments.length>9&&void 0!==arguments[9]?arguments[9]:{};e._classCallCheck(this,t),this.logger=new h.Logger(["SVGCanvasRenderer","PipeId",n]),this.logger.logStartTimer("constructor - "+n.substring(0,5)),this.pipelineId=n,this.supernodeInfo=d,this.canvasDiv=i,this.canvasInfo=a,this.selectionInfo=r,this.breadcrumbs=s,this.nodeLayout=l,this.canvasLayout=c,this.config=u,this.canvasController=o,this.activePipeline=new jr(n,u,a,r),this.superRenderers=[],this.instanceId=this.canvasController.getInstanceId(),this.dispUtils=new Xn(this.canvasController,this.supernodeInfo.d3Selection,this.pipelineId,s),this.nodeUtils=new $n(this.canvasLayout),this.commentUtils=new ei,this.linkUtils=new ri(this.config,this.canvasLayout,this.nodeUtils,this.commentUtils),this.decUtils=new si(this.canvasLayout),this.dragObjectUtils=new Hi(this),this.dragLinkUtils=new Bi(this),this.dragNewLinkUtils=new Co(this),this.dragDetLinkUtils=new To(this),this.zoomUtils=new wr(this),this.externalUtils=new ui(this),this.svgCanvasTextArea=new ki(this.config,this.dispUtils,this.nodeUtils,this.decUtils,this.canvasController,this.canvasDiv,this.activePipeline,this.removeTempCursorOverlay.bind(this),this.displayComments.bind(this),this.displayLinks.bind(this),this.getCommentToolbarPos.bind(this),this.addCanvasZoomBehavior.bind(this),this.removeCanvasZoomBehavior.bind(this)),this.dispUtils.setDisplayState(),this.logger.log(this.dispUtils.getDisplayStateMsg()),this.dragOverLink=null,this.dragOverDetachedLinks=[],this.dragNewLinkOverNode=null,this.subObject=null,this.subObjectParentObj=null,this.initializeGhostDiv(),this.canvasSVG=this.createCanvasSVG(),this.canvasDefs=this.createDefs(this.canvasSVG,this.canvasLayout),this.canvasBackground=this.createCanvasBackground(this.canvasSVG),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 - "+n.substring(0,5))}return e._createClass(t,[{key:"setSpaceKeyPressed",value:function(e){this.zoomUtils.setSpaceKeyPressed(e),this.resetCanvasCursor()}},{key:"isSpaceKeyPressed",value:function(){return this.zoomUtils.isSpaceKeyPressed()}},{key:"zoomTo",value:function(e,t){this.zoomUtils.zoomTo(e,t)}},{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(e){this.zoomUtils.zoomToFit(e)}},{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:"getCanvasDimensionsWithPadding",value:function(){return this.zoomUtils.getCanvasDimensionsWithPadding()}},{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 s.CanvasUtils.isSupernode(t)&&t.id===e.supernodeInfo.id})))}),t}},{key:"setCanvasInfoRenderer",value:function(e,t,n,i,o,a){this.logger.logStartTimer("setCanvasInfoRenderer"+this.pipelineId.substring(0,5)),this.config=a,this.canvasInfo=e,this.selectionInfo=t,this.breadcrumbs=n,this.nodeLayout=i,this.canvasLayout=o,this.activePipeline.initialize(this.pipelineId,a,e,t),this.linkUtils=new ri(this.config,this.canvasLayout,this.nodeUtils,this.commentUtils),this.svgCanvasTextArea=new ki(this.config,this.dispUtils,this.nodeUtils,this.decUtils,this.canvasController,this.canvasDiv,this.activePipeline,this.removeTempCursorOverlay.bind(this),this.displayComments.bind(this),this.displayLinks.bind(this),this.getCommentToolbarPos.bind(this),this.addCanvasZoomBehavior.bind(this),this.removeCanvasZoomBehavior.bind(this)),this.dispUtils.setDisplayState(),this.logger.log(this.dispUtils.getDisplayStateMsg()),this.resetCanvasSVGBehaviors(),this.superRenderers=this.cleanUpSuperRenderers(),this.displayCanvas(),this.config.enableKeyboardNavigation&&(this.logger.log("setCanvasInfoRenderer - Restoring focus"),this.restoreFocus()),this.logger.logEndTimer("setCanvasInfoRenderer"+this.pipelineId.substring(0,5))}},{key:"setSelectionInfo",value:function(e){this.selectionInfo=e,this.activePipeline.initialize(this.pipelineId,this.config,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.setCanvasBackgroundSize(),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.setCanvasBackgroundSize(),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===s.LINK_DIR_TOP_BOTTOM||this.canvasLayout.linkDirection===s.LINK_DIR_BOTTOM_TOP){var i=n.width-2*this.canvasLayout.supernodeSVGAreaPadding;this.activePipeline.nodes.forEach(function(o){if(o.isSupernodeInputBinding){var a=e.nodeUtils.getSupernodePortXOffset(o.id,n.inputs);o.x_pos=t.width*(a/i)+t.x-o.outputs[0].cx,o.y_pos=e.canvasLayout.linkDirection===s.LINK_DIR_TOP_BOTTOM?t.y-o.height:t.y+t.height}if(o.isSupernodeOutputBinding){var r=e.nodeUtils.getSupernodePortXOffset(o.id,n.outputs);o.x_pos=t.width*(r/i)+t.x-o.inputs[0].cx,o.y_pos=e.canvasLayout.linkDirection===s.LINK_DIR_TOP_BOTTOM?o.y_pos=t.y+t.height:o.y_pos=t.y-o.height}})}else{var o,a;s.CanvasUtils.isExpanded(n)?(o=this.canvasLayout.supernodeTopAreaHeight,a=n.height-(this.canvasLayout.supernodeTopAreaHeight+this.canvasLayout.supernodeSVGAreaPadding)):(o=0,a=n.height),this.activePipeline.nodes.forEach(function(i){if(i.isSupernodeInputBinding){i.x_pos=e.canvasLayout.linkDirection===s.LINK_DIR_LEFT_RIGHT?t.x-i.width:t.x+t.width;var r=e.nodeUtils.getSupernodePortYOffset(i.id,n.inputs)-o;i.y_pos=t.height*(r/a)+t.y-i.outputs[0].cy}if(i.isSupernodeOutputBinding){i.x_pos=e.canvasLayout.linkDirection===s.LINK_DIR_LEFT_RIGHT?t.x+t.width:t.x-i.width;var l=e.nodeUtils.getSupernodePortYOffset(i.id,n.outputs)-o;i.y_pos=t.height*(l/a)+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:"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()||this.dragLinkUtils.isDragging()}},{key:"isSizing",value:function(){this.dragObjectUtils.isSizing()}},{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:"getNodeLabelSelectionById",value:function(e){var t=this.getNodeGroupSelectionById(e),n=this.getSelectorForNodeLabelId();return t.selectAll(n)}},{key:"getNodeInputPortSelectionById",value:function(e,t){var n=this.getNodeGroupSelectionById(t),i=this.getSelectorForInputPortId(e);return n.selectAll(i)}},{key:"getNodeOutputPortSelectionById",value:function(e,t){var n=this.getNodeGroupSelectionById(t),i=this.getSelectorForOutputPortId(e);return n.selectAll(i)}},{key:"getNodeDecSelectionById",value:function(e,t){var n=this.getNodeGroupSelectionById(t),i=this.getSelectorForId("node_dec_group",e);return n.selectAll(i)}},{key:"getLinkStartHandleGrpSelectionById",value:function(e){return this.getLinkGroupSelectionById(e).selectAll(".d3-link-handle-start-group")}},{key:"getLinkEndHandleGrpSelectionById",value:function(e){return this.getLinkGroupSelectionById(e).selectAll(".d3-link-handle-end-group")}},{key:"getLinkDecSelectionById",value:function(e,t){var n=this.getLinkGroupSelectionById(t),i=this.getSelectorForId("link_dec_group",e);return n.selectAll(i)}},{key:"getSelectorForNodeLabelId",value:function(){return".d3-foreign-object-node-label"}},{key:"getSelectorForInputPortId",value:function(e){return"[data-port-id='".concat(e,"'].d3-node-port-input")}},{key:"getSelectorForOutputPortId",value:function(e){return"[data-port-id='".concat(e,"'].d3-node-port-output")}},{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!==s.SNAP_TO_GRID_DURING&&this.config.enableSnapToGridType!==s.SNAP_TO_GRID_AFTER||(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=zr.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:"convertCanvasCoordsToPageCoords",value:function(e,t){var n=this.canvasSVG.node().getBoundingClientRect(),i=this.zoomUtils.unTransformPos({x:e,y:t});return{x:i.x+Math.round(n.left),y:i.y+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),a=0;n.selectAll(".d3-ghost-svg").remove();var r=n.append("svg").attr("width",o*i).attr("height",(50+e.height)*i).attr("x",0).attr("y",0).attr("aria-hidden",!0).attr("class","d3-ghost-svg").append("g").attr("class","d3-node-group");if(r.append("rect").attr("class","d3-ghost-node").attr("x",0).attr("y",0).attr("width",e.width).attr("height",e.height),!this.nodeLayout.nodeExternalObject){r.append(function(){return t.getImageElement(e)}).each(function(n,i,o){return t.setNodeImageContent(e,i,o)}).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 s=r.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"),l=s.append("xhtml:div").attr("class",this.nodeUtils.getNodeLabelClass(e)),c=l.append("xhtml:span").html(e.label).node().getBoundingClientRect().width+4,u=this.nodeUtils.getNodeLabelWidth(e),d=Math.min(u,c);if(a=Math.max(0,(d-e.width)/2)*i,"center"===e.layout.labelAlign){var h=Math.max(0,(u-d)/2);s.attr("width",d).attr("x",this.nodeUtils.getNodeLabelPosX(e)+h),l.attr("width",d)}}r.attr("transform","translate(".concat(a,", 0) scale(").concat(i,")"));var g=this.getBrowserZoom(),p=(a+e.width/2*i)*g,f=e.height/2*i*g;return{element:n.node(),centerX:p,centerY:f,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),a={x1:o.x-e.width/2,y1:o.y-e.height/2,x2:o.x+e.width/2,y2:o.y+e.height/2},r=this.canvasController.convertNodeTemplate(e),s=this.getAttachableLinksForNodeAtPos(r,a);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&&s.CanvasUtils.hasInputAndOutputPorts(e)&&!this.isPortMaxCardinalityZero(e.inputs[0])&&!this.isPortMaxCardinalityZero(e.outputs[0])}},{key:"isNodeTemplateAttachableToDetachedLinks",value:function(e){return this.config.enableLinkSelection===s.LINK_SELECTION_DETACHABLE}},{key:"getAttachableLinksForNodeAtPos",value:function(e,t){var n=this,i=e.inputs&&e.inputs.length>0,o=e.outputs&&e.outputs.length>0,a=this.activePipeline.links.filter(function(e){return e.srcPos&&o&&s.CanvasUtils.isPosInArea(e.srcPos,t,n.canvasLayout.ghostAreaPadding)?(e.nodeOverSrcPos=!0,!0):e.trgPos&&i&&s.CanvasUtils.isPosInArea(e.trgPos,t,n.canvasLayout.ghostAreaPadding)?(e.nodeOverTrgPos=!0,!0):(e.nodeOverSrcPos=!1,e.nodeOverTrgPos=!1,!1)});a.length>0&&(a=s.CanvasUtils.getDetachedLinksToUpdate(e,a,this.activePipeline.links).oldLinks);return a}},{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.dispUtils.isDisplayingSubFlowInPlace()?this.getParentSupernodeSVGDimensions():{width:"100%",height:"100%",x:0,y:0};return(this.dispUtils.isDisplayingSubFlowInPlace()?this.supernodeInfo.d3Selection:this.canvasDiv).append("svg").attr("class","svg-area").attr("data-pipeline-id",this.activePipeline.id).attr("aria-label",this.canvasController.labelUtil.getLabel("canvas.contents")).attr("width",t.width).attr("height",t.height).attr("x",t.x).attr("y",t.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)})}},{key:"createDefs",value:function(e,t){if(this.dispUtils.isDisplayingFullPage()){var n=e.append("defs");return this.createDropShadow(n),this.createGrid(n,t),e.selectChildren("defs")}return null}},{key:"createCanvasBackground",value:function(e){var t=this,n=this.zoomUtils.getTransformedViewportDimensions(),i=e.append("rect").attr("x",0).attr("y",0).attr("width",n.width).attr("height",n.height).attr("data-pipeline-id",this.activePipeline.id).attr("pointer-events","all").style("cursor","default").on("mousedown",function(){t.svgCanvasTextArea.isEditingText()||t.canvasController.setFocusOnCanvas()}),o=this.getGridId();return o?(i.attr("class","d3-svg-background-grid"),i.attr("fill","url(#".concat(o,")"))):i.attr("class","d3-svg-background"),i}},{key:"resetCanvasSVGBehaviors",value:function(){var e=this;this.removeCanvasZoomBehavior(),!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===s.CONTEXT_MENU_BUTTON&&t.stopPropagation()}).on("click.zoom",function(t){e.logger.log("Canvas - click-zoom"),e.canvasController.clickActionHandler({clickType:"contextmenu"===t.type?s.SINGLE_CLICK_CONTEXTMENU:s.SINGLE_CLICK,objectType:"canvas",selectedObjectIds:e.activePipeline.getSelectedObjectIds()})}).on("dblclick.zoom",function(){e.logger.log("Zoom - double click"),e.canvasController.clickActionHandler({clickType:s.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:"addCanvasZoomBehavior",value:function(){this.resetCanvasSVGBehaviors()}},{key:"removeCanvasZoomBehavior",value:function(){this.canvasSVG.on(".zoom",null)}},{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:"setCanvasBackgroundSize",value:function(){var e=this.zoomUtils.getTransformedViewportDimensions();this.canvasBackground.attr("x",e.x).attr("y",e.y).attr("width",e.width).attr("height",e.height)}},{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:"createGrid",value:function(e,t){var n=t.displayGridMajorPx,i=t.displayGridMajorPy,o=t.displayGridMinorPx,a=t.displayGridMinorPy,r=this.getGridId();if(t.displayGridType===s.DISPLAY_GRID_DOTS)this.addDotsPattern(e,r,o,a);else if(t.displayGridType===s.DISPLAY_GRID_BOXES)this.addBoxesPattern(e,r,o,a);else if(t.displayGridType===s.DISPLAY_GRID_BOXES_AND_LINES){this.addBoxesPattern(e,"smallGrid",o,a);var l=e.append("pattern").attr("id",r).attr("width",n).attr("height",i).attr("x",0).attr("y",0).attr("patternUnits","userSpaceOnUse");l.append("rect").attr("width",n).attr("height",i).attr("stroke","none").attr("fill","url(#smallGrid)"),l.append("path").attr("d","M ".concat(n," 0 L 0 0 0 ").concat(i)).attr("class","d3-grid-lines")}else if(t.displayGridType===s.DISPLAY_GRID_DOTS_AND_LINES){this.addDotsPattern(e,"smallGrid",o,a);var c=e.append("pattern").attr("id",r).attr("width",n).attr("height",i).attr("x",0).attr("y",0).attr("patternUnits","userSpaceOnUse");c.append("rect").attr("width",n-o).attr("height",i-a).attr("x",.5*o).attr("y",.5*a).attr("stroke","none").attr("fill","url(#smallGrid)"),c.append("path").attr("d","M ".concat(n," 0 L 0 0 0 ").concat(i)).attr("class","d3-grid-lines")}}},{key:"getGridId",value:function(){return this.canvasLayout.displayGridType===s.DISPLAY_GRID_DOTS?"d3_grid_dots_pattern_"+this.instanceId:this.canvasLayout.displayGridType===s.DISPLAY_GRID_BOXES?"d3_grid_boxes_pattern_"+this.instanceId:this.canvasLayout.displayGridType===s.DISPLAY_GRID_DOTS_AND_LINES?"d3_grid_dots_lines_pattern_"+this.instanceId:this.canvasLayout.displayGridType===s.DISPLAY_GRID_BOXES_AND_LINES?"d3_grid_boxes_lines_pattern_"+this.instanceId:null}},{key:"addDotsPattern",value:function(e,t,n,i){var o=e.append("pattern").attr("id",t).attr("width",n).attr("height",i).attr("x",.5*n).attr("y",.5*i).attr("patternUnits","userSpaceOnUse");return o.append("circle").attr("cx",.5*n).attr("cy",.5*i).attr("class","d3-grid-dot"),o}},{key:"addBoxesPattern",value:function(e,t,n,i){e.append("pattern").attr("id",t).attr("width",n).attr("height",i).attr("x",0).attr("y",0).attr("patternUnits","userSpaceOnUse").append("path").attr("d","M ".concat(n," 0 L 0 0 0 ").concat(i)).attr("class","d3-grid-boxes")}},{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 a=this.getNodeDecSelectionById(e,t).node();this.displayDecLabelTextArea(o,i,"node",a)}}}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 a=this.getLinkDecSelectionById(e,t).node();this.displayDecLabelTextArea(o,i,"link",a)}}}else this.superRenderers.forEach(function(i){i.setLinkDecorationLabelEditingMode(e,t,n)})}},{key:"repositionCommentToolbar",value:function(){if(this.dispUtils.isDisplayingFullPage()&&this.svgCanvasTextArea.isEditingText()){var e=this.activePipeline.getComment(this.svgCanvasTextArea.getEditingTextId());if(e&&(e.contentType===s.WYSIWYG||this.config.enableMarkdownInComments)){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:s.CanvasUtils.snapToGrid(e.x,this.canvasLayout.snapToGridXPx),y:s.CanvasUtils.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"),e.updateOutputPortArrowPath(i[n],"d3-node-port-output-arrow")),t.isSupernodeOutputBinding&&(e.updatePortRadiusAndPos(i[n],t,"d3-node-port-input-main"),e.updateInputPortArrowPath(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;this.preserveFocus(function(){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)}).attr("tabindex",function(e){return n.config.enableKeyboardNavigation?-1:null}).attr("aria-label",function(e){return e.label}).attr("aria-roledescription",n.canvasController.labelUtil.getLabel("node.ariaRoleDescription")).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!s.CanvasUtils.isSuperBindingNode(e)});i.selectChildren(".d3-focus-path").data(function(e){return[e]},function(e){return e.id}).join(function(e){return null}).attr("d",function(e){return n.getNodeShapePathSizing(e)}),i.selectChildren(".d3-node-sizing").data(function(e){return s.CanvasUtils.isNodeResizable(e,n.config)?[e]:[]},function(e){return e.id}).join(function(e){return e.insert("path",function(e,t,i){return n.nodeUtils.getBeforeElement(i[t]._parent,"d3-node-sizing")}).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.insert("path",function(e,t,i){return n.nodeUtils.getBeforeElement(i[t]._parent,"d3-node-selection-highlight")}).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.insert("path",function(e,t,i){return n.nodeUtils.getBeforeElement(i[t]._parent,"d3-node-body-outline")}).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.insert("foreignObject",function(e,t,i){return n.nodeUtils.getBeforeElement(i[t]._parent,"d3-foreign-object-external-node")}).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("tabindex",-1).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,n.activePipeline.pipeline)}),i.selectChildren(".d3-node-image").data(function(e){return e.layout.imageDisplay?[e]:[]},function(e){return e.id}).join(function(e){return e.insert(function(e){return n.getImageElement(e)},function(e,t,i){return n.nodeUtils.getBeforeElement(i[t]._parent,"d3-node-image")})}).datum(function(e){return n.activePipeline.getNode(e.id)}).each(function(e,t,i){return n.setNodeImageContent(e,t,i)}).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.insert("foreignObject",function(e,t,i){return n.nodeUtils.getBeforeElement(i[t]._parent,"d3-foreign-object-node-label")}).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 Tn(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=zr.select(i[t]);if(n.displayPorts(o,e),s.CanvasUtils.isSupernode(e)&&n.displaySupernodeContents(e,zr.select(i[t])),!s.CanvasUtils.isSuperBindingNode(e)){n.addErrorMarker(e,o);var a=s.CanvasUtils.getCombinedDecorations(e.layout.decorations,e.decorations);n.displayDecorations(e,s.DEC_NODE,o,a)}});var o=this.dragObjectUtils.getDragObjectHandler();i.filter(function(e){return n.shouldAddDragHandlerToNode(e)}).call(o),i.filter(function(e){return!n.shouldAddDragHandlerToNode(e)}).on(".drag",null),this.logger.logEndTimer("updateNodes")}},{key:"shouldAddDragHandlerToNode",value:function(e){return s.CanvasUtils.isObjectMovable(e)&&this.config.enableEditingActions}},{key:"removeNodes",value:function(e){var t=this;e.selectAll(".d3-foreign-object-node-image").each(function(e,n,i){return t.externalUtils.removeExternalObject(e,n,i)}),e.selectAll(".d3-foreign-object-dec-jsx").each(function(e,n,i){return t.externalUtils.removeExternalObject(e,n,i)}),e.selectChildren(".d3-foreign-object-port-jsx").each(function(e,n,i){return t.externalUtils.removeExternalObject(e,n,i)}),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);s.CanvasUtils.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)},null,function(e){return n.removePorts(e)}).attr("connected",function(e){return e.isConnected?"yes":"no"}).attr("class",function(e){return n.getNodeInputPortClassName()+(e.class_name?" "+e.class_name:"")}).attr("tabindex",-1).attr("role","button").attr("aria-label",function(e){return e.label||e.id}).attr("aria-roledescription",this.canvasController.labelUtil.getLabel("port.ariaRoleDescription")).call(function(e){return n.updateInputPorts(e,t)})}},{key:"createInputPorts",value:function(e,t){var n=this,i=e.append("g").attr("data-port-id",function(e){return e.id}).attr("isSupernodeBinding",s.CanvasUtils.isSuperBindingNode(t)?"yes":"no").each(function(e,i,o){var a=s.CanvasUtils.getPortIndex(t.inputs,e.id),r=n.getPortDisplayInfo(t.layout.inputPortDisplayObjects,a),l=zr.select(o[i]);l.append(r.tag).attr("tabindex",-1).attr("class","d3-node-port-input-main"+("foreignObject"===r.tag?" d3-foreign-object-port-jsx":"")),l.filter(function(){return!n.config.enableAssocLinkCreation&&r.type===s.PORT_DISPLAY_CIRCLE_WITH_ARROW&&!s.CanvasUtils.isSuperBindingNode(t)}).append("path").attr("class","d3-node-port-input-arrow")}).call(this.attachInputPortListeners.bind(this),t);return i}},{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 a=zr.select(o[i]),r=s.CanvasUtils.getPortIndex(t.inputs,e.id),l=n.getPortDisplayInfo(t.layout.inputPortDisplayObjects,r),c=n.getPortImageTransform(e,s.FLOW_IN);n.updatePort(a,l,t,e.cx,e.cy,c)}),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 a=zr.select(o[i]),r=s.CanvasUtils.getPortIndex(t.inputs,e.id);n.getPortDisplayInfo(t.layout.inputPortDisplayObjects,r).type===s.PORT_DISPLAY_CIRCLE_WITH_ARROW&&a.attr("d",n.getPortArrowPath()).attr("transform",n.getInputPortArrowPathTransform(e))}),this.config.enableEditingActions){var i=this.dragNewLinkUtils.getDragNewLinkHandler();e.call(i)}else e.on(".drag",null)}},{key:"removePorts",value:function(e){var t=this;e.selectChildren(".d3-foreign-object-port-jsx").each(function(e,n,i){return t.externalUtils.removeExternalObject(e,n,i)}),e.remove()}},{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)},null,function(e){return n.removePorts(e)}).attr("connected",function(e){return e.isConnected?"yes":"no"}).attr("class",function(e){return n.getNodeOutputPortClassName()+(e.class_name?" "+e.class_name:"")}).attr("tabindex",-1).attr("role","button").attr("aria-label",function(e){var t=e.label||e.id;return e.connectFrom?n.canvasController.labelUtil.getLabel("port.markedForOutput",{label:t}):t}).attr("aria-roledescription",this.canvasController.labelUtil.getLabel("port.ariaRoleDescription")).call(function(e){return n.updateOutputPorts(e,t)})}},{key:"createOutputPorts",value:function(e,t){var n=this,i=e.append("g").attr("data-port-id",function(e){return e.id}).attr("isSupernodeBinding",s.CanvasUtils.isSuperBindingNode(t)?"yes":"no").each(function(e,i,o){var a=s.CanvasUtils.getPortIndex(t.outputs,e.id),r=n.getPortDisplayInfo(t.layout.outputPortDisplayObjects,a),l=zr.select(o[i]);l.append(r.tag).attr("tabindex",-1).attr("class","d3-node-port-output-main"+("foreignObject"===r.tag?" d3-foreign-object-port-jsx":"")),l.filter(function(){return!n.config.enableAssocLinkCreation&&r.type===s.PORT_DISPLAY_CIRCLE_WITH_ARROW&&!s.CanvasUtils.isSuperBindingNode(t)}).append("path").attr("class","d3-node-port-output-arrow")}).call(this.attachOutputPortListeners.bind(this),t);return i}},{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 a=zr.select(o[i]),r=s.CanvasUtils.getPortIndex(t.outputs,e.id),l=n.getPortDisplayInfo(t.layout.outputPortDisplayObjects,r),c=n.getPortImageTransform(e,s.FLOW_OUT);n.updatePort(a,l,t,e.cx,e.cy,c)}),e.selectChildren(".d3-node-port-output-arrow").datum(function(e){return t.outputs.find(function(t){return e.id===t.id})}).each(function(e,i,o){var a=zr.select(o[i]),r=s.CanvasUtils.getPortIndex(t.outputs,e.id);n.getPortDisplayInfo(t.layout.outputPortDisplayObjects,r).type===s.PORT_DISPLAY_CIRCLE_WITH_ARROW&&a.attr("d",n.getPortArrowPath()).attr("transform",n.getOutputPortArrowPathTransform(e))}),e.each(function(e,i,o){var a=zr.select(o[i]),r=a.select(".d3-node-port-output-connect-from-arrow");if(e.connectFrom){r.empty()&&a.append("path").attr("class","d3-node-port-output-connect-from-arrow");var s=n.getConnectFromArrowInfo(e,t);a.select(".d3-node-port-output-connect-from-arrow").attr("d",s.path).attr("transform",s.transform)}else r.empty()||r.remove()}),this.config.enableEditingActions){var i=this.dragNewLinkUtils.getDragNewLinkHandler();e.call(i)}else e.on(".drag",null)}},{key:"updatePort",value:function(e,t,n,i,o,a){var r=this;t.type===s.PORT_DISPLAY_JSX||t.type===s.PORT_DISPLAY_IMAGE?(t.type===s.PORT_DISPLAY_JSX?e.each(function(e,n,i){return r.externalUtils.addJsxExternalObject(t.src,n,i)}):e.attr("xlink:href",t.src),e.attr("x",i-t.width/2).attr("y",o-t.height/2).attr("width",t.width).attr("height",t.height).attr("transform",a)):e.attr("r",this.getPortRadius(n)).attr("cx",i).attr("cy",o)}},{key:"getPortDisplayInfo",value:function(e,t){var n=Rr({},e[t<e.length?t:e.length-1]);return n.tag="jsx"===n.type?"foreignObject":n.type,n.tag="circleWithArrow"===n.type?"circle":n.tag,n.width=n.width||s.PORT_WIDTH_DEFAULT,n.width=n.height||s.PORT_HEIGHT_DEFAULT,n}},{key:"attachNodeGroupListeners",value:function(e){var t=this;e.on("keydown",function(e,n){if(t.config.enableKeyboardNavigation)if(u.KeyboardUtils.nextObjectInGroup(e)){var i=t.activePipeline.getNextLinksFromNode(n);if(i.length>0)t.activePipeline.getAllLinksForNode(n).forEach(function(e){return e.link.navObject=n}),t.setFocusObject(i[0].link,e)}else if(u.KeyboardUtils.previousObjectInGroup(e)){var o=t.activePipeline.getPreviousLinksToNode(n);if(o.length>0)t.activePipeline.getAllLinksForNode(n).forEach(function(e){return e.link.navObject=n}),t.setFocusObject(o[0].link,e)}else if(u.KeyboardUtils.focusSubObject(e))s.CanvasUtils.stopPropagationAndPreventDefault(e),t.clearSubObject(),t.setFocusNextSubObject(n,e);else if(u.KeyboardUtils.cancelFocusOnSubObject(e))t.canvasController.restoreFocus();else if(u.KeyboardUtils.moveObjectUp(e))t.config.enableEditingActions&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.moveObject(n,s.NORTH)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.moveObjectDown(e))t.config.enableEditingActions&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.moveObject(n,s.SOUTH)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.moveObjectRight(e))t.config.enableEditingActions&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.moveObject(n,s.EAST)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.moveObjectLeft(e))t.config.enableEditingActions&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.moveObject(n,s.WEST)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.selectObject(e)){s.CanvasUtils.stopPropagationAndPreventDefault(e);var a=t.canvasController.isSelected(n.id,t.activePipeline.id)?s.DOUBLE_CLICK:s.SINGLE_CLICK;t.selectObject(n,a)}else if(u.KeyboardUtils.selectObjectAugment(e))s.CanvasUtils.stopPropagationAndPreventDefault(e),t.selectObject(n,s.SINGLE_CLICK,!1,!0);else if(u.KeyboardUtils.selectObjectRange(e))s.CanvasUtils.stopPropagationAndPreventDefault(e),t.selectObject(n,s.SINGLE_CLICK,!0,!1);else if(u.KeyboardUtils.sizeObjectUp(e))s.CanvasUtils.isNodeResizable(n,t.config)&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.sizeObject(n,s.NORTH)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.sizeObjectDown(e))s.CanvasUtils.isNodeResizable(n,t.config)&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.sizeObject(n,s.SOUTH)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.sizeObjectRight(e))s.CanvasUtils.isNodeResizable(n,t.config)&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.sizeObject(n,s.EAST)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.sizeObjectLeft(e))s.CanvasUtils.isNodeResizable(n,t.config)&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.sizeObject(n,s.WEST)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.createLink(e))t.config.enableEditingActions&&t.canvasController.autoSelectFocusObj(function(){return t.dragNewLinkUtils.createNewLinkFromSelections()},!0,!0),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.displayContextOptions(e)&&(e.stopPropagation(),!s.CanvasUtils.isSuperBindingNode(n)))if(t.selectObject(n,s.SINGLE_CLICK_CONTEXTMENU),t.config.enableContextToolbar)t.addContextToolbar(e,n,"node",s.CAUSE_KEYBOARD);else{var r=t.getObjectCenterPosition(e.currentTarget);t.openContextMenu(e,"node",n,null,r)}}).on("mouseenter",function(e,n){if(!t.isDragging()&&!t.svgCanvasTextArea.isEditingText()){var i=zr.select(e.currentTarget);t.raiseNodeToTop(i),t.setNodeStyles(n,"hover",i),t.config.enableContextToolbar?t.addContextToolbar(e,n,"node",s.CAUSE_MOUSE):t.addDynamicNodeIcons(e,n,i)}}).on("mouseover",function(e,n){if(e.stopPropagation(),t.canOpenTip(s.TIP_TYPE_NODE)){var i=t.canvasController.getTipId(),o=t.getId("node_tip",n.id);null!==i&&i===o||(t.canvasController.closeTip(),t.canvasController.openTip({id:o,type:s.TIP_TYPE_NODE,targetObj:e.currentTarget,pipelineId:t.activePipeline.id,node:n}))}}).on("mouseleave",function(e,n){var i=zr.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){if(t.logger.logStartTimer("Node Group - mouse down"),e.stopPropagation(),t.svgCanvasTextArea.isEditingText()&&t.svgCanvasTextArea.completeEditing(e),t.config.enableKeyboardNavigation&&t.setFocusObject(n,e,n.layout.onFocusAllowDefaultAction,!0),!t.config.enableDragWithoutSelect){var i=2===e.button?s.SINGLE_CLICK_CONTEXTMENU:s.SINGLE_CLICK;t.selectObjectD3Event(e,n,i)}t.logger.logEndTimer("Node Group - mouse down")}).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"),s.CanvasUtils.stopPropagationAndPreventDefault(e),t.canvasController.clickActionHandler({clickType:s.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"),s.CanvasUtils.stopPropagationAndPreventDefault(e),s.CanvasUtils.isSuperBindingNode(n)||(t.config.enableDragWithoutSelect&&t.selectObjectD3Event(e,n,s.SINGLE_CLICK_CONTEXTMENU),t.setFocusObject(n,e,!1,!0),t.config.enableContextToolbar||t.openContextMenu(e,"node",n))})}},{key:"getObjectCenterPosition",value:function(e){var t=e.getBoundingClientRect(),n=this.canvasSVG.node().getBoundingClientRect();return{x:t.left-n.left+t.width/2,y:t.top-n.top+t.height/2}}},{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=zr.select(e.currentTarget);if(t.config.enableDisplayFullLabelOnHover&&!s.CanvasUtils.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=zr.select(e.currentTarget);t.config.enableDisplayFullLabelOnHover&&!s.CanvasUtils.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&&(s.CanvasUtils.stopPropagationAndPreventDefault(e),t.canvasController.textActionHandler("setNodeLabelEditingMode","textdoubleclick",{id:n.id,pipelineId:t.activePipeline.id}))})}},{key:"attachNodeLabelSpanListeners",value:function(e){var t=this;e.on("mouseenter",function(e,n){n.layout.labelEditable&&t.config.enableEditingActions&&(clearTimeout(t.hideEditIconPending),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("keydown",function(e,i){if(n.config.enableKeyboardNavigation)if(u.KeyboardUtils.nextSubObject(e)){var o=n.activePipeline.getNode(t.id);n.setFocusNextSubObject(o,e)}else if(u.KeyboardUtils.previousSubObject(e)){var a=n.activePipeline.getNode(t.id);n.setFocusPreviousSubObject(a,e)}else if(u.KeyboardUtils.cancelFocusOnSubObject(e))n.canvasController.restoreFocus();else if(u.KeyboardUtils.clickSubObject(e))s.CanvasUtils.stopPropagationAndPreventDefault(e),n.canvasController.clickActionHandler({clickType:s.SINGLE_CLICK,objectType:"port",id:i.id,nodeId:t.id,selectedObjectIds:n.activePipeline.getSelectedObjectIds(),pipelineId:n.activePipeline.id});else if(u.KeyboardUtils.createLinkFromConnectFrom(e)){s.CanvasUtils.stopPropagationAndPreventDefault(e);var r=n.canvasController.getConnectFromInfo(n.activePipeline.id);r&&n.dragNewLinkUtils.createNewNodeLink(r.node,r.portId,t,i.id)}else if(u.KeyboardUtils.displayContextOptions(e))if(e.stopPropagation(),n.selectObject(t,s.SINGLE_CLICK_CONTEXTMENU),n.config.enableContextToolbar)n.addContextToolbar(e,t,"input_port",s.CAUSE_KEYBOARD,null,null,i);else{var l=n.getObjectCenterPosition(e.currentTarget);n.openContextMenu(e,"input_port",t,i,l)}}).on("mouseenter",function(e,i){s.CanvasUtils.stopPropagationAndPreventDefault(e),n.canOpenTip(s.TIP_TYPE_PORT)&&(n.canvasController.closeTip(),n.canvasController.openTip({id:n.getId("node_port_tip",i.id),type:s.TIP_TYPE_PORT,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"),s.CanvasUtils.stopPropagationAndPreventDefault(e),n.config.enableDragWithoutSelect&&n.selectObjectD3Event(e,t,s.SINGLE_CLICK_CONTEXTMENU),n.openContextMenu(e,"input_port",t,i)})}},{key:"attachOutputPortListeners",value:function(e,t){var n=this;e.on("keydown",function(e,i){if(n.config.enableKeyboardNavigation)if(u.KeyboardUtils.nextSubObject(e)){var o=n.activePipeline.getNode(t.id);n.setFocusNextSubObject(o,e)}else if(u.KeyboardUtils.previousSubObject(e)){var a=n.activePipeline.getNode(t.id);n.setFocusPreviousSubObject(a,e)}else if(u.KeyboardUtils.cancelFocusOnSubObject(e))n.canvasController.restoreFocus();else if(u.KeyboardUtils.clickSubObject(e))s.CanvasUtils.stopPropagationAndPreventDefault(e),n.canvasController.clickActionHandler({clickType:s.SINGLE_CLICK,objectType:"port",id:i.id,nodeId:t.id,selectedObjectIds:n.activePipeline.getSelectedObjectIds(),pipelineId:n.activePipeline.id});else if(u.KeyboardUtils.addConnectFromStatus(e))s.CanvasUtils.stopPropagationAndPreventDefault(e),n.canvasController.setPortConnectFrom(t.id,i.id,n.activePipeline.id);else if(u.KeyboardUtils.displayContextOptions(e))if(e.stopPropagation(),n.selectObject(t,s.SINGLE_CLICK_CONTEXTMENU),n.config.enableContextToolbar)n.addContextToolbar(e,t,"output_port",s.CAUSE_KEYBOARD,null,null,i);else{var r=n.getObjectCenterPosition(e.currentTarget);n.openContextMenu(e,"output_port",t,i,r)}}).on("mouseenter",function(e,i){s.CanvasUtils.stopPropagationAndPreventDefault(e),n.canOpenTip(s.TIP_TYPE_PORT)&&(n.canvasController.closeTip(),n.canvasController.openTip({id:n.getId("node_port_tip",i.id),type:s.TIP_TYPE_PORT,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"),s.CanvasUtils.stopPropagationAndPreventDefault(e),n.config.enableDragWithoutSelect&&n.selectObjectD3Event(e,t,s.SINGLE_CLICK_CONTEXTMENU),n.openContextMenu(e,"output_port",t,i)})}},{key:"setUnavailableTargetNodesHighlighting",value:function(e,t,n){this.getAllNodeGroupsSelection().filter(function(i){return!s.CanvasUtils.isTrgNodeAvailable(i,e,t,n)}).classed("d3-node-unavailable",!0)}},{key:"setUnavailableSourceNodesHighlighting",value:function(e,t,n){this.getAllNodeGroupsSelection().filter(function(i){return!s.CanvasUtils.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=zr.select(i),a=this.nodeUtils.getNodeLabelEditIconTranslate(t,e,this.zoomUtils.getZoomScale(),this.config.enableDisplayFullLabelOnHover);this.displayEditIcon(e,o,a,function(e,t){return n.canvasController.textActionHandler("setNodeLabelEditingMode","editicon",{id:t.id,pipelineId:n.activePipeline.id})})}},{key:"displayDecLabelEditIcon",value:function(e,t,n,i){var o=this,a=e.parentElement.parentElement.parentElement,r=zr.select(a),s=this.decUtils.getDecLabelEditIconTranslate(t,n,i,e,this.zoomUtils.getZoomScale()),l=this.getDecorationLabelEditType(i);this.displayEditIcon(e,r,s,function(e,a){return o.canvasController.textActionHandler(l,"editicon",{id:n.id,decId:t.id,objType:i,pipelineId:o.activePipeline.id})})}},{key:"getDecorationLabelEditType",value:function(e){return e===s.DEC_NODE?"setNodeDecorationLabelEditingMode":"setLinkDecorationLabelEditingMode"}},{key:"displayEditIcon",value:function(e,t,n,i){var o=this,a=t.append("g").attr("class","d3-label-edit-icon-group").attr("transform",n).on("mouseenter",function(e,t){clearTimeout(this.hideEditIconPending),o.mouseOverLabelEditIcon=!0}).on("mouseleave",function(e,t){o.mouseOverLabelEditIcon=!1,o.hideEditIcon(this)}).on("mousedown",function(){}).on("click",function(e,t){s.CanvasUtils.stopPropagationAndPreventDefault(e),i(e,t),o.mouseOverLabelEditIcon=!1,o.hideEditIcon(this)});a.append("rect").attr("class","d3-label-edit-icon-background1").attr("width",29).attr("height",24).attr("x",0).attr("y",-4),a.append("rect").attr("class","d3-label-edit-icon-background2").attr("width",24).attr("height",24).attr("x",5).attr("y",-4),a.append("svg").attr("class","d3-node-edit-label-icon").html(s.EDIT_ICON).attr("width",16).attr("height",16).attr("aria-label","Node edit label icon").attr("x",9).attr("y",0)}},{key:"hideEditIcon",value:function(e){if(!this.mouseOverLabelEditIcon){var t=e.parentElement;if(t){var n=t.parentElement.parentElement;zr.select(n).selectAll(".d3-label-edit-icon-group").remove()}}}},{key:"selectObjectD3Event",value:function(e,t,n){this.selectObject(t,n,e.shiftKey,u.KeyboardUtils.isMetaKey(e))}},{key:"selectObject",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];this.canvasController.selectObjectWithClick(e,t,this.activePipeline.id,n,i)}},{key:"displayDecorations",value:function(e,t,n,i){var o=this,a=this,r=i||[],s="d3-".concat(t,"-dec-group"),l="."+s;n.selectChildren(l).data(r,function(e){return e.id}).join(function(n){return o.createDecorations(n,e,t,s)}).attr("tabindex",function(e){return e.focusable?-1:null}).attr("aria-roledescription",this.canvasController.labelUtil.getLabel("decoration.ariaRoleDescription")).attr("transform",function(n){return o.decUtils.getDecTransform(n,e,t)}).on("mousedown",function(t,n){return n.hotspot&&0===t.button?a.callDecoratorCallback(t,e,n):null}).each(function(n,i,a){return o.updateDecoration(n,zr.select(a[i]),t,e)})}},{key:"createDecorations",value:function(e,t,n,i){var o=this;return e.append("g").attr("data-id",function(e){return o.getId("".concat(n,"_dec_group"),e.id)}).attr("class",i).call(this.attachDecGroupListeners.bind(this,t,n))}},{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).attr("aria-label",e.tooltip?e.tooltip:this.canvasController.labelUtil.getLabel("decoration.shapeDecoration")):i.remove()}},{key:"updateDecImages",value:function(e,t,n,i){var o=this,a=t.selectChild("g");if(e.image){var r=this.getImageType(e.image);(a=a.empty()?t.append("g").append(r):a.select(r)).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)).attr("aria-label",e.tooltip?e.tooltip:this.canvasController.labelUtil.getLabel("decoration.imageDecoration")).each(function(){return o.setDecImageContent(a,e.image)})}else a.remove()}},{key:"updateDecLabels",value:function(e,t,n,i){var o=t.selectChild(".d3-foreign-object-dec-label");void 0!==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)).attr("aria-label",Tn(e.label)).select("div").attr("class",this.decUtils.getDecLabelClass(e,n)).select("span").html(Tn(e.label))):o.remove()}},{key:"updateDecJsxObjs",value:function(e,t,n,i){var o=this,a=t.selectChild(".d3-foreign-object-dec-jsx");e.jsx?(a.empty()&&(a=t.append("foreignObject").attr("class","d3-foreign-object-dec-jsx").attr("tabindex",-1).attr("x",0).attr("y",0).attr("aria-label",e.tooltip?e.tooltip:this.canvasController.labelUtil.getLabel("decoration.jsxDecoration"))),a.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)})):(a.each(function(e,t,n){return o.externalUtils.removeExternalObject(e,t,n)}),a.remove())}},{key:"attachDecLabelListeners",value:function(e,t,n){var i=this;n.on("dblclick",function(n,o){if(i.logger.log("Decoration Label - double click"),o.label_editable&&i.config.enableEditingActions){s.CanvasUtils.stopPropagationAndPreventDefault(n);var a=i.getDecorationLabelEditType(t);i.canvasController.textActionHandler(a,"textdoubleclick",{id:e.id,decId:o.id,pipelineId:i.activePipeline.id})}})}},{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,t,n){var i=this;n.on("keydown",function(t,n){if(i.config.enableKeyboardNavigation)if(u.KeyboardUtils.nextSubObject(t)){var o="node"===s.CanvasUtils.getObjectTypeName(e)?i.activePipeline.getNode(e.id):i.activePipeline.getLink(e.id);i.setFocusNextSubObject(o,t)}else if(u.KeyboardUtils.previousSubObject(t)){var a="node"===s.CanvasUtils.getObjectTypeName(e)?i.activePipeline.getNode(e.id):i.activePipeline.getLink(e.id);i.setFocusPreviousSubObject(a,t)}else u.KeyboardUtils.cancelFocusOnSubObject(t)?i.canvasController.restoreFocus():u.KeyboardUtils.clickSubObject(t)&&n.hotspot&&(s.CanvasUtils.stopPropagationAndPreventDefault(t),i.callDecoratorCallback(t,e,n))}).on("focus",function(e,t){i.canOpenTip(s.TIP_TYPE_DEC)&&t.tooltip&&(i.canvasController.closeTip(),i.canvasController.openTip({id:i.getId("dec_tip",t.id),type:s.TIP_TYPE_DEC,targetObj:e.currentTarget,pipelineId:i.activePipeline.id,decoration:t}))}).on("blur",function(e,t){i.canOpenTip(s.TIP_TYPE_DEC)&&t.tooltip&&i.canvasController.closeTip()}).on("mouseenter",function(e,t){i.canOpenTip(s.TIP_TYPE_DEC)&&t.tooltip&&(i.canvasController.closeTip(),i.canvasController.openTip({id:i.getId("dec_tip",t.id),type:s.TIP_TYPE_DEC,targetObj:e.currentTarget,pipelineId:i.activePipeline.id,decoration:t}))}).on("mouseleave",function(e,t){i.canOpenTip(s.TIP_TYPE_DEC)&&t.tooltip&&i.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,n){var i=this.getNodeImage(e),o=this.getImageType(i);if("jsx"===o)this.externalUtils.addNodeImageExternalObject(i,t,n);else{var a=zr.select(n[t]);this.setImageContent(a,i,o)}}},{key:"setDecImageContent",value:function(e,t){var n=this.getImageType(t);this.setImageContent(e,t,n)}},{key:"setImageContent",value:function(e,t,n){t!==e.attr("data-image")&&(e.attr("data-image",t),"svg"===n?"LoadSVGToDefs"===this.config.enableImageDisplay?this.loadSVGToDefs(e,t):(e.selectChild("svg").remove(),zr.svg(t,{cache:"force-cache"}).then(function(t){var n=t.documentElement;n.setAttribute("aria-label","Node Image"),e.node().append(n)})):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),zr.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===s.USE_DEFAULT_ICON){if(s.CanvasUtils.isSupernode(e))return M}else if(e.image===s.USE_DEFAULT_EXT_ICON&&s.CanvasUtils.isSupernode(e))return R;return e.image}},{key:"getImageType",value:function(t){if(t)if("object"===e._typeof(t)){if(this.externalUtils.isValidJsxElement(t))return"jsx"}else if("string"==typeof t)return t.endsWith(".svg")&&"SVGAsImage"!==this.config.enableImageDisplay?"svg":"image";return null}},{key:"getImageElement",value:function(e){var t=this.getNodeImage(e),n=this.getImageType(t),i=null==e?void 0:e.label;return"jsx"===n?zr.create("svg:foreignObject").attr("tabindex",-1).attr("class","d3-foreign-object-node-image d3-node-image").attr("aria-label",i).node():"svg"===n?zr.create("svg").attr("class","d3-node-image").attr("aria-label",i).node():zr.create("svg:image").attr("class","d3-node-image").attr("aria-label",i).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=s.CanvasUtils.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 s.CanvasUtils.getObjectStyle(e,"selection_outline",t)}},{key:"getNodeImageStyle",value:function(e,t){return s.CanvasUtils.getObjectStyle(e,"image",t)}},{key:"getNodeLabelStyle",value:function(e,t){return s.CanvasUtils.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;s.CanvasUtils.isExpandedSupernode(e)&&e.subflow_ref&&e.subflow_ref.pipeline_id_ref&&new jr(e.subflow_ref.pipeline_id_ref,this.config,this.canvasInfo).nodes.forEach(function(e){e.style||e.style_temp?n=!0:!n&&s.CanvasUtils.isExpandedSupernode(e)&&(n=t.doesExpandedSupernodeHaveStyledNodes(e))});return n}},{key:"getPortRadius",value:function(e){return s.CanvasUtils.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()||s.CanvasUtils.isSuperBindingNode(t)||(t.layout.ellipsisDisplay&&this.addEllipsisIcon(t,n),s.CanvasUtils.isExpandedSupernode(t)&&this.addSuperNodeFullPageIcon(n))}},{key:"getDefaultContextToolbarPos",value:function(e,t,n){return"link"===e?Rr({},t.pathInfo.centerPoint):"input_port"===e||"output_port"===e?{x:t.x_pos+n.cx,y:t.y_pos+n.cy}:"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,i,o,a,r){if(!(this.isSizing()||this.isDragging()||this.svgCanvasTextArea.isEditingText()||s.CanvasUtils.isSuperBindingNode(t))){i===s.CAUSE_MOUSE&&this.canvasController.setMouseInObject(t.id);var l=this.getDefaultContextToolbarPos(n,t,r);l.x=o?l.x+o:l.x,l.y=a?l.y+a:l.y,l=this.zoomUtils.unTransformPos(l),this.openContextMenu(e,n,t,r,l,i)}}},{key:"removeContextToolbar",value:function(){var e=this;this.canvasController.setMouseInObject(null),this.canvasController.isContextMenuDisplayed()&&setTimeout(function(){return e.canvasController.closeContextToolbar()},200)}},{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(s.CanvasUtils.stopPropagationAndPreventDefault(t),n.selectObjectD3Event(t,e,s.SINGLE_CLICK_CONTEXTMENU),n.canvasController.isContextMenuDisplayed())n.canvasController.closeContextMenu();else{var o=i.node().getBoundingClientRect(),a=n.canvasSVG.node().getBoundingClientRect(),r={x:o.left-a.left,y:o.bottom-a.top};n.setFocusObject(e,t),n.openContextMenu(t,"node",e,null,r)}});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(s.NODE_MENU_ICON).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){s.CanvasUtils.stopPropagationAndPreventDefault(e);var n=t.getSupernodeBreadcrumbs(e.currentTarget);t.canvasController.displaySubPipelineForBreadcrumbs(n)}).on("mouseenter",function(){zr.select(this).attr("data-pointer-hover","yes")}).on("mouseleave",function(){zr.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(s.SUPER_NODE_EXPAND_ICON).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),a=i.getAttribute("data-pipeline-id");t.push(this.canvasController.createBreadcrumb(o,a)),n=i.closest(".d3-node-group")}return t.reverse()}},{key:"getD3DatumFromDomEl",value:function(e){var t=zr.select(e);return t?t.datum():null}},{key:"updatePortRadiusAndPos",value:function(e,t,n){var i=this;zr.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:"updateInputPortArrowPath",value:function(e,t){var n=this;zr.select(e).selectAll("."+t).attr("d",this.getPortArrowPath()).attr("transform",function(e){return n.getInputPortArrowPathTransform(e)})}},{key:"updateOutputPortArrowPath",value:function(e,t){var n=this;zr.select(e).selectAll("."+t).attr("d",this.getPortArrowPath()).attr("transform",function(e){return n.getOutputPortArrowPathTransform(e)})}},{key:"isPortMaxCardinalityZero",value:function(e){return 0===s.get_1(e,"app_data.ui_data.cardinality.max",1)}},{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,n){return e.subflow_ref&&e.subflow_ref.pipeline_id_ref?new t(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:n}):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:"openCanvasContextOptions",value:function(e){this.openContextMenu(e,"canvas",null,null,{x:100,y:100},s.CAUSE_KEYBOARD)}},{key:"openContextMenu",value:function(e,t,n,i,o,a){s.CanvasUtils.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===s.SUPER_NODE?this.getSupernodeBreadcrumbs(e.currentTarget):null,port:i,zoom:this.zoomUtils.getZoomScale(),cause:a})}},{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:"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=zr.select(e).datum();if(t){var n=this.activePipeline.getLink(t.id);if(n&&n.type===s.NODE_LINK)return n}}return null}},{key:"setDataLinkSelectionAreaWider",value:function(e){this.nodesLinksGrp.selectAll(".d3-data-link-selection-area").classed("d3-extra-width",e)}},{key:"getNodeAtPos",value:function(e){var t=this.getElementWithClassAtPosition(e.x,e.y,"d3-node-group");return this.getNodeForElement(t)}},{key:"getInputNodePortId",value:function(e,t){var n=this.getElementWithClassAtPosition(e.x,e.y,this.getNodeInputPortClassName());return this.getNodePortIdForElement(n)||s.CanvasUtils.getDefaultInputPortId(t)}},{key:"getOutputNodePortId",value:function(e,t){var n=this.getElementWithClassAtPosition(e.x,e.y,this.getNodeOutputPortClassName());return this.getNodePortIdForElement(n)||s.CanvasUtils.getDefaultOutputPortId(t)}},{key:"getMousePosFromEvent",value:function(e){return{x:e.clientX?e.clientX:e.sourceEvent.clientX,y:e.clientY?e.clientY:e.sourceEvent.clientY}}},{key:"getElementWithClassAtPosition",value:function(e,t,n){for(var i=document.elementsFromPoint(e,t),o=null,a=0;!o&&a<i.length;)o=s.CanvasUtils.getParentElementWithClass(i[a],n),a++;return o}},{key:"getNodeForElement",value:function(e){if(e&&"g"===e.nodeName){var t=zr.select(e).datum();if(t)return this.activePipeline.getNode(t.id)}return null}},{key:"getNodePortIdForElement",value:function(e){return e?zr.select(e).attr("data-port-id"):null}},{key:"getNodeNearMousePos",value:function(e,t){var n=this.getTransformedMousePos(e);return this.getNodeNearPos(n,t)}},{key:"getNodeNearPos",value:function(e,t){var n=null,i=t||0;return this.getAllNodeGroupsSelection().each(function(t){e.x>=t.x_pos-i&&e.x<=t.x_pos+t.width+i&&e.y>=t.y_pos-i&&e.y<=t.y_pos+t.height+i&&(n=t)}),n}},{key:"getNodeShapePathSizing",value:function(e){return this.getRectangleNodeShapePath(e,e.layout.nodeSizingArea)}},{key:"getNodeSelectionOutline",value:function(e){return e.layout.selectionPath&&!s.CanvasUtils.isExpanded(e)?"function"==typeof e.layout.selectionPath?e.layout.selectionPath(e):e.layout.selectionPath:e.layout.nodeShape===s.SHAPE_PORT_ARCS?this.getPortArcsNodeShapePath(e):e.layout.nodeShape===s.SHAPE_RECTANGLE_ROUNDED_CORNERS?this.getRectRoundCornersShapePath(e,e.layout.nodeHighlightGap):this.getRectangleNodeShapePath(e,e.layout.nodeHighlightGap)}},{key:"getNodeShapePath",value:function(e){return e.layout.bodyPath&&!s.CanvasUtils.isExpanded(e)?"function"==typeof e.layout.bodyPath?e.layout.bodyPath(e):e.layout.bodyPath:e.layout.nodeShape===s.SHAPE_PORT_ARCS?this.getPortArcsNodeShapePath(e):e.layout.nodeShape===s.SHAPE_RECTANGLE_ROUNDED_CORNERS?this.getRectRoundCornersShapePath(e):this.getRectangleNodeShapePath(e)}},{key:"getRectangleNodeShapePath",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i="object"===e._typeof(n)?n:{leftGap:n,rightGap:n,topGap:n,bottomGap:n},o=0-i.leftGap,a=0-i.topGap,r=t.width+i.rightGap,s=t.height+i.bottomGap;return"M "+o+" "+a+" L "+r+" "+a+" "+r+" "+s+" "+o+" "+s+" Z"}},{key:"getRectRoundCornersShapePath",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=0-t,i=0-t,o=e.width+t,a=e.height+t,r=n+10,s=o-10,l=i+10,c=a-10;return"M "+r+" "+i+" L "+s+" "+i+" Q "+o+" "+i+" "+o+" "+l+" L "+o+" "+c+" Q "+o+" "+a+" "+s+" "+a+" L "+r+" "+a+" Q "+n+" "+a+" "+n+" "+c+" L "+n+" "+l+" Q "+n+" "+i+" "+r+" "+i+" Z"}},{key:"getPortArcsNodeShapePath",value:function(e){return this.canvasLayout.linkDirection===s.LINK_DIR_TOP_BOTTOM?this.getPortArcsNodeShapePathVertical(e,e.inputs,e.inputPortsWidth,e.outputs,e.outputPortsWidth):this.canvasLayout.linkDirection===s.LINK_DIR_BOTTOM_TOP?this.getPortArcsNodeShapePathVertical(e,e.outputs,e.outputPortsWidth,e.inputs,e.inputPortsWidth):this.canvasLayout.linkDirection===s.LINK_DIR_RIGHT_LEFT?this.getPortArcsNodeShapePathHoriz(e,e.outputs,e.outputPortsHeight,e.inputs,e.inputPortsHeight):this.getPortArcsNodeShapePathHoriz(e,e.inputs,e.inputPortsHeight,e.outputs,e.outputPortsHeight)}},{key:"getPortArcsNodeShapePathHoriz",value:function(e,t,n,i,o){var a="M 0 0 L "+e.width+" 0 ";if(i&&i.length>0){var r=e.layout.portArcOffset;o<e.height&&(r=i[0].cy-e.layout.portArcRadius),a+=" L "+e.width+" "+r,i.forEach(function(t,n){r+=2*e.layout.portArcRadius,a+=" A "+e.layout.portArcRadius+" "+e.layout.portArcRadius+" 180 0 1 "+e.width+" "+r,n<i.length-1&&(r+=e.layout.portArcSpacing,a+=" L "+e.width+" "+r)}),a+=" L "+e.width+" "+e.height}else a+=" L "+e.width+" "+e.height;if(a+=" L 0 "+e.height,t&&t.length>0){var s=e.height-e.layout.portArcOffset;n<e.height&&(s=t[t.length-1].cy+e.layout.portArcRadius),a+=" L 0 "+s,t.forEach(function(n,i){s-=2*e.layout.portArcRadius,a+=" A "+e.layout.portArcRadius+" "+e.layout.portArcRadius+" 180 0 1 0 "+s,i<t.length-1&&(s-=e.layout.portArcSpacing,a+=" L 0 "+s)}),a+=" Z"}else a+=" Z";return a}},{key:"getPortArcsNodeShapePathVertical",value:function(e,t,n,i,o){var a="M 0 0 L 0 "+e.height;if(i&&i.length>0){var r=e.layout.portArcOffset;o<e.width&&(r=i[0].cx-e.layout.portArcRadius),a+=" L "+r+" "+e.height,i.forEach(function(t,n){r+=2*e.layout.portArcRadius,a+=" A "+e.layout.portArcRadius+" "+e.layout.portArcRadius+" 180 0 0 "+r+" "+e.height,n<i.length-1&&(r+=e.layout.portArcSpacing,a+=" L "+r+" "+e.height)}),a+=" L "+e.width+" "+e.height}else a+=" L "+e.width+" "+e.height;if(a+=" 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),a+=" L "+s+" 0 ",t.forEach(function(n,i){s-=2*e.layout.portArcRadius,a+=" A "+e.layout.portArcRadius+" "+e.layout.portArcRadius+" 180 0 0 "+s+" 0 ",i<t.length-1&&(s-=e.layout.portArcSpacing,a+=" L "+s+" 0 ")}),a+=" Z"}else a+=" Z";return a}},{key:"setPortPositionsAllNodes",value:function(){var e=this;this.activePipeline.nodes.forEach(function(t){e.setPortPositionsForNode(t)})}},{key:"setPortPositionsForNode",value:function(e){this.canvasLayout.linkDirection===s.LINK_DIR_TOP_BOTTOM||this.canvasLayout.linkDirection===s.LINK_DIR_BOTTOM_TOP?(this.setPortPositionsVertical(e,e.inputs,e.inputPortsWidth,e.layout.inputPortPositions,e.layout.inputPortAutoPosition),this.setPortPositionsVertical(e,e.outputs,e.outputPortsWidth,e.layout.outputPortPositions,e.layout.outputPortAutoPosition,this.config.enableSingleOutputPortDisplay)):(this.setPortPositionsHoriz(e,e.inputs,e.inputPortsHeight,e.layout.inputPortPositions,e.layout.inputPortAutoPosition),this.setPortPositionsHoriz(e,e.outputs,e.outputPortsHeight,e.layout.outputPortPositions,e.layout.outputPortAutoPosition,this.config.enableSingleOutputPortDisplay))}},{key:"setPortPositionsVertical",value:function(e,t,n,i,o){var a=arguments.length>5&&void 0!==arguments[5]&&arguments[5];if(t&&t.length>0){var r=this.nodeUtils.getNodePortPosX(i[0],e),l=this.nodeUtils.getNodePortPosY(i[0],e);e.width<=e.layout.defaultNodeWidth&&1===t.length?(t[0].cx=r,t[0].cy=l,t[0].dir=s.CanvasUtils.getPortDir(t[0].cx,t[0].cy,e)):a?this.setPortPositionsVerticalDisplaySingle(e,t,r,l):o||s.CanvasUtils.isExpandedSupernode(e)?this.setPortPositionsVerticalAuto(e,t,n,l):this.setPortPositionsCustom(t,i,e,r,l)}}},{key:"setPortPositionsVerticalDisplaySingle",value:function(e,t,n,i){var o=0;if(s.CanvasUtils.isExpandedSupernode(e)){var a=e.width-2*this.canvasLayout.supernodeSVGAreaPadding;o=a/2}else o=n;t.forEach(function(t){t.cx=o,t.cy=i,t.dir=s.CanvasUtils.getPortDir(t.cx,t.cy,e)})}},{key:"setPortPositionsVerticalAuto",value:function(e,t,n,i){var o=0;if(s.CanvasUtils.isExpandedSupernode(e)){var a=e.width-2*this.canvasLayout.supernodeSVGAreaPadding-n;o=this.canvasLayout.supernodeSVGAreaPadding+a/2}else n<e.width&&(o=(e.width-n)/2);o+=e.layout.portArcOffset;var r=1;s.CanvasUtils.isSuperBindingNode(e)&&(r=1/this.zoomUtils.getZoomScale()),t.forEach(function(t){o+=e.layout.portArcRadius*r,t.cx=o,t.cy=i,t.dir=s.CanvasUtils.getPortDir(t.cx,t.cy,e),o+=(e.layout.portArcRadius+e.layout.portArcSpacing)*r})}},{key:"setPortPositionsHoriz",value:function(e,t,n,i,o){var a=arguments.length>5&&void 0!==arguments[5]&&arguments[5];if(t&&t.length>0){var r=this.nodeUtils.getNodePortPosX(i[0],e),l=this.nodeUtils.getNodePortPosY(i[0],e);e.height<=e.layout.defaultNodeHeight&&1===t.length?(t[0].cx=r,t[0].cy=l,t[0].dir=s.CanvasUtils.getPortDir(t[0].cx,t[0].cy,e)):a?this.setPortPositionsHorizDisplaySingle(e,t,r,l):o||s.CanvasUtils.isExpandedSupernode(e)?this.setPortPositionsHorizAuto(e,t,n,r):this.setPortPositionsCustom(t,i,e,r,l)}}},{key:"setPortPositionsHorizDisplaySingle",value:function(e,t,n,i){var o=0;if(s.CanvasUtils.isExpandedSupernode(e)){var a=e.height-this.canvasLayout.supernodeTopAreaHeight-this.canvasLayout.supernodeSVGAreaPadding;o=this.canvasLayout.supernodeTopAreaHeight+a/2}else o=i;t.forEach(function(t){t.cx=n,t.cy=o,t.dir=s.CanvasUtils.getPortDir(t.cx,t.cy,e)})}},{key:"setPortPositionsHorizAuto",value:function(e,t,n,i){var o=0;if(s.CanvasUtils.isExpandedSupernode(e)){var a=e.height-this.canvasLayout.supernodeTopAreaHeight-this.canvasLayout.supernodeSVGAreaPadding-n;o=this.canvasLayout.supernodeTopAreaHeight+a/2}else n<e.height&&(o=(e.height-n)/2);o+=e.layout.portArcOffset;var r=1;s.CanvasUtils.isSuperBindingNode(e)&&(r=1/this.zoomUtils.getZoomScale()),t.forEach(function(t){o+=e.layout.portArcRadius*r,t.cx=i,t.cy=o,t.dir=s.CanvasUtils.getPortDir(t.cx,t.cy,e),o+=(e.layout.portArcRadius+e.layout.portArcSpacing)*r})}},{key:"setPortPositionsCustom",value:function(e,t,n,i,o){var a=this,r=i,l=o;e.forEach(function(e,i){i>0&&i<t.length&&(r=a.nodeUtils.getNodePortPosX(t[i],n),l=a.nodeUtils.getNodePortPosY(t[i],n)),e.cx=r,e.cy=l,e.dir=s.CanvasUtils.getPortDir(e.cx,e.cy,n)})}},{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("tabindex",function(e){return n.config.enableKeyboardNavigation?-1:null}).attr("class",function(e){return n.getCommentGroupClass(e)}).attr("aria-roledescription",this.canvasController.labelUtil.getLabel("comment.ariaRoleDescription")).attr("aria-label",function(e){return n.canvasController.labelUtil.getLabel("comment.ariaLabel",{content:e.content})}).call(function(e){return n.updateComments(e)})}},{key:"createComments",value:function(e){var t=this;this.logger.logStartTimer("createComments");var n=e.append("g").attr("data-id",function(e){return t.getId("comment_grp",e.id)}).call(this.attachCommentGroupListeners.bind(this));return this.logger.logEndTimer("createComments"),n}},{key:"updateComments",value:function(e){var t=this;if(this.logger.logStartTimer("updateComments"),e.selectChildren(".d3-focus-path").data(function(e){return[e]},function(e){return e.id}).join(function(e){return null}).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}),e.selectChildren(".d3-comment-sizing").data(function(e){return[e]},function(e){return e.id}).join(function(e){return e.append("rect").attr("class","d3-comment-sizing").call(t.attachCommentSizingListeners.bind(t))}).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").data(function(e){return[e]},function(e){return e.id}).join(function(e){return e.append("rect").attr("class","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-foreign-object-comment-text").data(function(e){return[e]},function(e){return e.id}).join(function(e){var t=e.append("foreignObject").attr("class",function(e){return"d3-foreign-object-comment-text"}).attr("x",0).attr("y",0);return t.append("xhtml:div").attr("class","d3-comment-text-scroll").append("xhtml:div").attr("class","d3-comment-text-outer").append("xhtml:div").attr("class",function(e){return"d3-comment-text"+(e.contentType!==s.WYSIWYG?" markdown":"")}),t}).datum(function(e){return t.activePipeline.getComment(e.id)}).attr("width",function(e){return e.width}).attr("height",function(e){return e.height}).select(".d3-comment-text-scroll").attr("tabindex","-1").each(function(e,t,n){var i=zr.select(n[t]);s.CanvasUtils.applyOutlineStyle(i,e.formats)}).select(".d3-comment-text-outer").select(".d3-comment-text").attr("style",null).each(function(e,t,n){var i=zr.select(n[t]);s.CanvasUtils.applyNonOutlineStyle(i,e.formats)}).html(function(e){return t.getCommentHTMLStr(e)}),this.config.enableEditingActions){var n=this.dragObjectUtils.getDragObjectHandler();e.call(n)}else e.on(".drag",null);this.logger.logEndTimer("updateComments")}},{key:"getCommentHTMLStr",value:function(e){var t=e.contentType!==s.WYSIWYG&&this.config.enableMarkdownInComments?this.getCommentAsMarkdownHTML(e.content):Tn(e.content);return e.highlightText?this.commentUtils.insertCommentHighlight(t,e.highlightText):t}},{key:"getCommentAsMarkdownHTML",value:function(e){return this.markdownIt||(this.markdownIt=N.default({html:this.config.enableMarkdownHTML})),this.markdownIt.render(e)}},{key:"attachCommentGroupListeners",value:function(e){var t=this;e.on("keydown",function(e,n){if(t.config.enableKeyboardNavigation){if(t.svgCanvasTextArea.isEditingText())return;if(u.KeyboardUtils.nextObjectInGroup(e)){var i=t.activePipeline.getNextLinksFromComment(n);i.length>0&&(i.forEach(function(e){return e.link.navObject=n}),t.setFocusObject(i[0].link,e))}else if(u.KeyboardUtils.moveObjectUp(e))t.config.enableEditingActions&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.moveObject(n,s.NORTH)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.moveObjectDown(e))t.config.enableEditingActions&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.moveObject(n,s.SOUTH)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.moveObjectRight(e))t.config.enableEditingActions&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.moveObject(n,s.EAST)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.moveObjectLeft(e))t.config.enableEditingActions&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.moveObject(n,s.WEST)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.sizeObjectUp(e))t.config.enableEditingActions&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.sizeObject(n,s.NORTH)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.sizeObjectDown(e))t.config.enableEditingActions&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.sizeObject(n,s.SOUTH)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.sizeObjectRight(e))t.config.enableEditingActions&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.sizeObject(n,s.EAST)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.sizeObjectLeft(e))t.config.enableEditingActions&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.sizeObject(n,s.WEST)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.scrollTextUp(e))t.scrollComment(e,10),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.scrollTextDown(e))t.scrollComment(e,-10),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.selectObject(e)){s.CanvasUtils.stopPropagationAndPreventDefault(e);var o=t.canvasController.isSelected(n.id,t.activePipeline.id)?s.DOUBLE_CLICK:s.SINGLE_CLICK;t.selectObject(n,o)}else if(u.KeyboardUtils.selectObjectAugment(e))s.CanvasUtils.stopPropagationAndPreventDefault(e),t.selectObject(n,s.SINGLE_CLICK,!1,!0);else if(u.KeyboardUtils.displayContextOptions(e))if(e.stopPropagation(),t.selectObject(n,s.SINGLE_CLICK_CONTEXTMENU),t.config.enableContextToolbar)t.addContextToolbar(e,n,"comment",s.CAUSE_KEYBOARD);else{var a=t.getObjectCenterPosition(e.currentTarget);t.openContextMenu(e,"comment",n,null,a)}}}).on("mouseenter",function(e,n){t.isDragging()||(t.config.enableEditingActions&&n.id!==t.svgCanvasTextArea.getEditingTextId()&&t.createCommentPort(e.currentTarget,n),t.config.enableContextToolbar&&t.addContextToolbar(e,n,"comment",s.CAUSE_MOUSE),t.commentHasScrollableText(e.currentTarget)&&t.removeCanvasZoomBehavior())}).on("mouseleave",function(e,n){t.config.enableContextToolbar&&t.removeContextToolbar(),t.config.enableEditingActions&&t.deleteCommentPort(e.currentTarget),t.addCanvasZoomBehavior()}).on("mousedown",function(e,n){if(t.logger.logStartTimer("Comment Group - mouse down"),e.stopPropagation(),t.svgCanvasTextArea.isEditingText()&&t.svgCanvasTextArea.completeEditing(e),!t.config.enableDragWithoutSelect){t.config.enableKeyboardNavigation&&t.setFocusObject(n,e,!1,!0);var i=2===e.button?s.SINGLE_CLICK_CONTEXTMENU:s.SINGLE_CLICK;t.selectObjectD3Event(e,n,i)}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&&(s.CanvasUtils.stopPropagationAndPreventDefault(e),t.deleteCommentPort(e.currentTarget),t.canvasController.textActionHandler("setCommentEditingMode","textdoubleclick",{id:n.id,pipelineId:t.activePipeline.id}),t.canvasController.clickActionHandler({clickType:s.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"),s.CanvasUtils.stopPropagationAndPreventDefault(e),t.config.enableDragWithoutSelect&&t.selectObjectD3Event(e,n,s.SINGLE_CLICK_CONTEXTMENU),t.setFocusObject(n,e,!1,!0),t.config.enableContextToolbar||t.openContextMenu(e,"comment",n)})}},{key:"commentHasScrollableText",value:function(e){var t=e.getElementsByClassName("d3-comment-text-entry-scroll");return t[0]||(t=e.getElementsByClassName("d3-comment-text-scroll")),t[0].clientHeight<t[0].scrollHeight}},{key:"scrollComment",value:function(e,t){this.commentHasScrollableText(e.currentTarget)&&e.currentTarget.getElementsByClassName("d3-comment-text-scroll")[0].scrollBy(0,t)}},{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=zr.select(e).append(s.PORT_DISPLAY_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){zr.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-text").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 s.CanvasUtils.getObjectStyle(e,"selection_outline",t)}},{key:"getCommentBodyStyle",value:function(e,t){return s.CanvasUtils.getObjectStyle(e,"body",t)}},{key:"getCommentTextStyle",value:function(e,t){return s.CanvasUtils.getObjectStyle(e,"text",t)}},{key:"displayCommentTextArea",value:function(e,t){e.autoSize=this.canvasLayout.commentAutoSize,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!==s.LINK_SELECTION_NONE&&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("tabindex",function(e){return n.config.enableKeyboardNavigation?-1:null}).attr("style",function(e){return n.getLinkGrpStyle(e)}).attr("data-selected",function(e){return!!n.activePipeline.isSelected(e.id)||null}).attr("aria-label",function(e){return s.CanvasUtils.getLinkAriaLabel(e,n.canvasController.labelUtil)}).attr("aria-roledescription",this.canvasController.labelUtil.getLabel("link.ariaRoleDescription")).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===s.NODE_LINK&&t.canvasLayout.dataLinkArrowHead||e.type===s.COMMENT_LINK&&t.canvasLayout.commentLinkArrowHead}).append("path").attr("class","d3-link-line-arrow-head"),n.filter(function(e){return e.type===s.NODE_LINK||e.type===s.ASSOCIATION_LINK}).append("g").attr("class","d3-link-decorations-group"),n.filter(function(e){return e.type===s.NODE_LINK&&(t.config.enableLinkSelection===s.LINK_SELECTION_HANDLES||t.config.enableLinkSelection===s.LINK_SELECTION_DETACHABLE)}).append("g").attr("class","d3-link-handle-start-group"),n.filter(function(e){return e.type===s.NODE_LINK&&(t.config.enableLinkSelection===s.LINK_SELECTION_HANDLES||t.config.enableLinkSelection===s.LINK_SELECTION_DETACHABLE)}).append("g").attr("class","d3-link-handle-end-group"),this.logger.logEndTimer("createLinks"),n}},{key:"updateLinks",value:function(e,t){var n=this;if(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 s.CanvasUtils.getObjectStyle(e,"line","default")}),e.filter(function(e){return e.type===s.NODE_LINK&&n.canvasLayout.dataLinkArrowHead||e.type===s.COMMENT_LINK&&n.canvasLayout.commentLinkArrowHead}).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 s.CanvasUtils.getObjectStyle(e,"line","default")}),e.each(function(e,t,i){if(e.type===s.NODE_LINK||e.type===s.ASSOCIATION_LINK){var o=zr.select(i[t]).selectAll(".d3-link-decorations-group"),a=n.shouldDisplayAltDecorations(e)?n.canvasLayout.linkAltDecorations:e.decorations;n.displayDecorations(e,s.DEC_LINK,o,a)}}),e.each(function(e,t,i){n.updateStartHandles(e,i[t]),n.updateEndHandles(e,i[t])}),this.config.enableEditingActions&&this.config.enableSplitLinkDroppedOnNode&&this.config.enableLinkMethod===s.LINK_METHOD_FREEFORM&&this.config.enableLinkType===s.LINK_TYPE_STRAIGHT){var i=this.dragLinkUtils.getDragLinkHandler();e.call(i)}else e.on(".drag",null);this.isDragging()||this.isSizing()||this.config.enableLinksOverNodes||this.setDisplayOrder(e),this.logger.logEndTimer("updateLinks")}},{key:"attachLinkGroupListeners",value:function(e){var t=this;e.on("keydown",function(e,n){if(t.config.enableKeyboardNavigation)if(u.KeyboardUtils.nextObjectInGroup(e)){if(n.type===s.NODE_LINK){var i=t.activePipeline.getNextNodeFromDataLink(n);t.setFocusObject(i,e)}else if(n.type===s.ASSOCIATION_LINK){var o=t.activePipeline.getNextNodeFromAssocLink(n);t.setFocusObject(o,e)}else if(n.type===s.COMMENT_LINK){var a=t.activePipeline.getNextObjectFromCommentLink(n);t.setFocusObject(a,e)}}else if(u.KeyboardUtils.previousObjectInGroup(e)){if(n.type===s.NODE_LINK){var r=t.activePipeline.getPreviousNodeFromDataLink(n);t.setFocusObject(r,e)}else if(n.type===s.ASSOCIATION_LINK){var l=t.activePipeline.getPreviousNodeFromAssocLink(n);t.setFocusObject(l,e)}else if(n.type===s.COMMENT_LINK){var c=t.activePipeline.getPreviousObjectFromCommentLink(n);t.setFocusObject(c,e)}}else if(u.KeyboardUtils.nextSiblingLink(e)){var d=t.activePipeline.getNextSiblingLink(n);t.setFocusObject(d,e)}else if(u.KeyboardUtils.previousSiblingLink(e)){var h=t.activePipeline.getPreviousSiblingLink(n);t.setFocusObject(h,e)}else if(u.KeyboardUtils.focusSubObject(e))s.CanvasUtils.stopPropagationAndPreventDefault(e),t.clearSubObject(),t.setFocusNextSubObject(n,e);else if(u.KeyboardUtils.cancelFocusOnSubObject(e))t.canvasController.restoreFocus();else if(u.KeyboardUtils.moveObjectLeft(e))s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.selectObject(e)&&t.config.enableLinkSelection!==s.LINK_SELECTION_NONE){s.CanvasUtils.stopPropagationAndPreventDefault(e);var g=t.canvasController.isSelected(n.id,t.activePipeline.id)?s.DOUBLE_CLICK:s.SINGLE_CLICK;t.selectObject(n,g)}else if(u.KeyboardUtils.selectObjectAugment(e)&&t.config.enableLinkSelection!==s.LINK_SELECTION_NONE)s.CanvasUtils.stopPropagationAndPreventDefault(e),t.selectObject(n,s.SINGLE_CLICK,!1,!0);else if(u.KeyboardUtils.displayContextOptions(e))if(e.stopPropagation(),t.config.enableLinkSelection!==s.LINK_SELECTION_NONE&&t.selectObject(n,s.SINGLE_CLICK_CONTEXTMENU),t.config.enableContextToolbar)t.addContextToolbar(e,n,"link",s.CAUSE_KEYBOARD,t.canvasLayout.linkContextToolbarPosX,t.canvasLayout.linkContextToolbarPosY);else{var p=t.getObjectCenterPosition(e.currentTarget);t.openContextMenu(e,"link",n,null,p)}}).on("mouseenter",function(e,n){if(!t.isDragging()){var i=e.currentTarget;t.config.enableLinkSelection!==s.LINK_SELECTION_HANDLES&&t.config.enableLinkSelection!==s.LINK_SELECTION_DETACHABLE&&!t.config.enableRaiseLinksToTopOnHover||n.type!==s.NODE_LINK||(t.isEditingText()||t.raiseLinkToTop(i),s.CanvasUtils.stopPropagationAndPreventDefault(e)),t.setLinkLineStyles(i,n,"hover"),t.config.enableContextToolbar&&t.addContextToolbar(e,n,"link",s.CAUSE_MOUSE,t.canvasLayout.linkContextToolbarPosX,t.canvasLayout.linkContextToolbarPosY)}}).on("mouseover",function(e,n){if(e.stopPropagation(),t.canOpenTip(s.TIP_TYPE_LINK)){var i=t.canvasController.getTipId(),o=t.getId("link_tip",n.id);null!==i&&i===o||(t.canvasController.closeTip(),t.canvasController.openTip({id:o,type:s.TIP_TYPE_LINK,targetObj:e.currentTarget,mousePos:{x:e.clientX,y:e.clientY},pipelineId:t.activePipeline.id,link:n}))}}).on("mouseleave",function(e,n){var i=e.currentTarget;n.type!==s.NODE_LINK||t.config.enableLinksOverNodes||t.isEditingText()||t.isDragging()||(t.lowerLinkToBottom(i),s.CanvasUtils.stopPropagationAndPreventDefault(e)),t.setLinkLineStyles(i,n,"default"),t.canvasController.closeTip(),t.config.enableContextToolbar&&t.removeContextToolbar()}).on("mousedown",function(e,n,i,o){if(t.logger.log("Link Group - mouse down"),t.svgCanvasTextArea.isEditingText()&&t.svgCanvasTextArea.completeEditing(e),t.config.enableKeyboardNavigation&&t.setFocusObject(n,e,!1,!0),t.config.enableLinkSelection!==s.LINK_SELECTION_NONE&&!t.config.enableDragWithoutSelect){var a=2===e.button?s.SINGLE_CLICK_CONTEXTMENU:s.SINGLE_CLICK;t.selectObjectD3Event(e,n,a)}e.stopPropagation()}).on("click",function(e,n){t.logger.log("Link Group - click"),e.stopPropagation()}).on("dblclick",function(e,n){t.logger.log("Link Group - double click"),s.CanvasUtils.stopPropagationAndPreventDefault(e),t.config.enableLinkSelection!==s.LINK_SELECTION_NONE&&t.canvasController.clickActionHandler({clickType:s.DOUBLE_CLICK,objectType:"link",id:n.id,selectedObjectIds:t.activePipeline.getSelectedObjectIds(),pipelineId:t.activePipeline.id})}).on("contextmenu",function(e,n){t.logger.log("Link Group - context menu"),s.CanvasUtils.stopPropagationAndPreventDefault(e),t.config.enableLinkSelection!==s.LINK_SELECTION_NONE&&t.config.enableDragWithoutSelect&&t.selectObjectD3Event(e,n,s.SINGLE_CLICK_CONTEXTMENU),t.setFocusObject(n,e,!1,!0),t.config.enableContextToolbar||t.openContextMenu(e,"link",n)})}},{key:"shouldDisplayAltDecorations",value:function(e){return this.canvasLayout.linkAltDecorations&&s.CanvasUtils.getLinkDistance(e)<this.canvasLayout.linkDistanceForAltDecorations}},{key:"updateStartHandles",value:function(e,t){var n=this,i=zr.select(t).selectAll(".d3-link-handle-start-group").attr("tabindex",function(){return!n.config.enableKeyboardNavigation||n.config.enableLinkSelection!==s.LINK_SELECTION_HANDLES&&n.config.enableLinkSelection!==s.LINK_SELECTION_DETACHABLE?null:-1}).call(this.attachLinkHandleListeners.bind(this,"start")),o=e.type!==s.NODE_LINK||this.config.enableLinkSelection!==s.LINK_SELECTION_HANDLES&&this.config.enableLinkSelection!==s.LINK_SELECTION_DETACHABLE?[]:[{id:this.canvasLayout.linkStartHandleObject}];if(i.selectChildren(".d3-link-handle-start").data(o,function(e){return e.id}).join(function(t){return n.createStartHandle(t,e)}).datum(this.activePipeline.getLink(e.id)).attr("class","d3-link-handle-start"),this.config.enableEditingActions){var a=this.dragDetLinkUtils.getDragDetachedLinkHandler();i.call(a)}else i.on(".drag",null)}},{key:"createStartHandle",value:function(e,t){var n=null,i=this.canvasController.labelUtil.getLabel("link.sourceHandle");return this.canvasLayout.linkStartHandleObject===s.PORT_DISPLAY_IMAGE?n=e.append("image").attr("xlink:href",this.canvasLayout.linkStartHandleImage).attr("x",t.x1-this.canvasLayout.linkStartHandleWidth/2).attr("y",t.y1-this.canvasLayout.linkStartHandleHeight/2).attr("width",this.canvasLayout.linkStartHandleWidth).attr("height",this.canvasLayout.linkStartHandleHeight).attr("aria-label",i):this.canvasLayout.linkStartHandleObject===s.PORT_DISPLAY_CIRCLE&&(n=e.append("circle").attr("r",this.canvasLayout.linkStartHandleRadius).attr("cx",t.x1).attr("cy",t.y1).attr("aria-label",i)),n}},{key:"updateEndHandles",value:function(e,t){var n=this,i=zr.select(t).selectAll(".d3-link-handle-end-group").attr("tabindex",function(){return!n.config.enableKeyboardNavigation||n.config.enableLinkSelection!==s.LINK_SELECTION_HANDLES&&n.config.enableLinkSelection!==s.LINK_SELECTION_DETACHABLE?null:-1}).call(this.attachLinkHandleListeners.bind(this,"end")),o=e.type!==s.NODE_LINK||this.config.enableLinkSelection!==s.LINK_SELECTION_HANDLES&&this.config.enableLinkSelection!==s.LINK_SELECTION_DETACHABLE?[]:[{id:this.canvasLayout.linkEndHandleObject}];if(i.selectChildren(".d3-link-handle-end").data(o,function(e){return e.id}).join(function(t){return n.createEndHandle(t,e)}).datum(this.activePipeline.getLink(e.id)).attr("class","d3-link-handle-end"),this.config.enableEditingActions){var a=this.dragDetLinkUtils.getDragDetachedLinkHandler();i.call(a)}else i.on(".drag",null)}},{key:"createEndHandle",value:function(e,t){var n=null,i=this.canvasController.labelUtil.getLabel("link.targetHandle");return this.canvasLayout.linkEndHandleObject===s.PORT_DISPLAY_IMAGE?n=e.append("image").attr("xlink:href",this.canvasLayout.linkEndHandleImage).attr("x",t.x2-this.canvasLayout.linkEndHandleWidth/2).attr("y",t.y2-this.canvasLayout.linkEndHandleHeight/2).attr("width",this.canvasLayout.linkEndHandleWidth).attr("height",this.canvasLayout.linkEndHandleHeight).attr("transform",this.getLinkImageTransform(t)).attr("aria-label",i):this.canvasLayout.linkStartHandleObject===s.PORT_DISPLAY_CIRCLE&&(n=e.append("circle").attr("r",this.canvasLayout.linkEndHandleRadius).attr("cx",t.x2).attr("cy",t.y2).attr("aria-label",i)),n}},{key:"attachLinkHandleListeners",value:function(e,t){var n=this;t.on("keydown",function(e,t){n.config.enableKeyboardNavigation&&(u.KeyboardUtils.nextSubObject(e)?n.setFocusNextSubObject(t,e):u.KeyboardUtils.previousSubObject(e)?n.setFocusPreviousSubObject(t,e):u.KeyboardUtils.cancelFocusOnSubObject(e)?n.canvasController.restoreFocus():u.KeyboardUtils.moveLinkHandleUp(e)?(n.config.enableEditingActions&&n.dragDetLinkUtils.moveLinkHandle(t,s.NORTH,e),s.CanvasUtils.stopPropagationAndPreventDefault(e)):u.KeyboardUtils.moveLinkHandleDown(e)?(n.config.enableEditingActions&&n.dragDetLinkUtils.moveLinkHandle(t,s.SOUTH,e),s.CanvasUtils.stopPropagationAndPreventDefault(e)):u.KeyboardUtils.moveLinkHandleRight(e)?(n.config.enableEditingActions&&n.dragDetLinkUtils.moveLinkHandle(t,s.EAST,e),s.CanvasUtils.stopPropagationAndPreventDefault(e)):u.KeyboardUtils.moveLinkHandleLeft(e)&&(n.config.enableEditingActions&&n.dragDetLinkUtils.moveLinkHandle(t,s.WEST,e),s.CanvasUtils.stopPropagationAndPreventDefault(e)))}).on("mousedown",function(t,i){if(n.logger.log("Link "+e+" handle - mouse down"),!n.config.enableDragWithoutSelect){n.config.enableKeyboardNavigation&&n.setFocusObject(i,t,!1,!0);var o=2===t.button?s.SINGLE_CLICK_CONTEXTMENU:s.SINGLE_CLICK;n.selectObjectD3Event(t,i,o)}n.logger.log("Link "+e+" handle - finished mouse down")})}},{key:"setLinkLineStyles",value:function(e,t,n){var i=s.CanvasUtils.getObjectStyle(t,"line",n),o=zr.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===s.ASSOCIATION_LINK?"d3-association-link-selection-area":e.type===s.COMMENT_LINK?"d3-comment-link-selection-area":"d3-data-link-selection-area")}},{key:"getLinkGroupClass",value:function(e){return"d3-link-group "+this.getLinkTypeClass(e)+" "+this.getLinkBranchHighlightCLass(e)+" "+this.getLinkCustomClass(e)}},{key:"getLinkBranchHighlightCLass",value:function(e){return e.branchHighlight?"d3-branch-highlight":""}},{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===s.ASSOCIATION_LINK?this.config.enableAssocLinkType===s.ASSOC_RIGHT_SIDE_CURVE?"d3-association-link":"d3-object-link":e.type===s.COMMENT_LINK?"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=s.CanvasUtils.isExpandedSupernode(e)?" d3-node-supernode-expanded":"",i=this.config.enableEditingActions?" d3-draggable":" d3-non-draggable",o=e.isResized?" d3-resized":"",a=this.getNodeShapeClass(e.layout.nodeShape);return"d3-node-group"+n+o+i+(e.branchHighlight?" d3-branch-highlight":"")+a+t}},{key:"getNodeShapeClass",value:function(e){return e===s.SHAPE_PORT_ARCS?" d3-node-shape-port-arcs":e===s.SHAPE_RECTANGLE_ROUNDED_CORNERS?" d3-node-shape-rectangle-rounded-corners":" d3-node-shape-rectangle"}},{key:"setDisplayOrder",value:function(e){var t=this;this.preserveFocus(function(){e.filter(function(e){return t.hasOneDecorationOrMore(e)}).lower(),e.filter(function(e){return!t.hasOneDecorationOrMore(e)}).lower(),t.config.enableLinkSelection!==s.LINK_SELECTION_HANDLES&&t.config.enableLinkSelection!==s.LINK_SELECTION_DETACHABLE||t.nodesLinksGrp.selectAll(".d3-link-group[data-selected]").raise()})}},{key:"raiseNodeToTopById",value:function(e){var t=this;this.preserveFocus(function(){return t.getNodeGroupSelectionById(e).raise()})}},{key:"raiseNodeToTop",value:function(e){!this.config.enableRaiseNodesToTopOnHover||this.isDragging()||0!==this.activePipeline.getSelectedLinksCount()||this.isEditingText()||this.config.enableLinksOverNodes||this.preserveFocus(function(){return e.raise()})}},{key:"raiseLinkToTopById",value:function(e){var t=this;this.preserveFocus(function(){return t.getLinkGroupSelectionById(e).raise()})}},{key:"raiseLinkToTop",value:function(e){this.preserveFocus(function(){return zr.select(e).raise()})}},{key:"lowerLinkToBottom",value:function(e){this.preserveFocus(function(){return zr.select(e).lower()})}},{key:"preserveFocus",value:function(e){var t=this.canvasController.getFocusObject(),n=this.canvasController.isTargetInsideCanvas(document.activeElement);e(),!this.config.enableKeyboardNavigation||this.isEditingText()||this.canvasController.isContextMenuDisplayed()||(this.subObject?this.restoreFocusToSubObject():this.canvasController.setFocusObject(t,null,n))}},{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.linkMethod===s.LINK_METHOD_FREEFORM&&this.updateFreeformLinksForNodes(),this.activePipeline.links.forEach(function(n){var i=null;(i=!(e.config.enableLinkSelection===s.LINK_SELECTION_HANDLES&&e.dragDetLinkUtils.isLinkBeingDragged(n)||e.config.enableLinkSelection===s.LINK_SELECTION_DETACHABLE)||n.srcObj&&n.trgNode?e.getAttachedLinkObj(n):e.getDetachedLinkObj(n))?t.push(i):e.canvasLayout.displayLinkOnOverlap||e.getLinkGroupSelectionById(n.id).remove()}),this.canvasLayout.linkType===s.LINK_TYPE_ELBOW&&(t=this.addMinInitialLineForElbow(t)),t=this.linkUtils.addConnectionPaths(t),this.logger.logEndTimer("buildLinksArray"),t}},{key:"getAttachedLinkObj",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=s.CanvasUtils.getSourcePortId(e,t),o=s.CanvasUtils.getTargetPortId(e,n),a=e.type===s.ASSOCIATION_LINK&&this.config.enableAssocLinkType===s.ASSOC_RIGHT_SIDE_CURVE?this.getAssocLinkVariation(t,n):null,r=this.linkUtils.getLinkCoords(e,t,i,n,o,a);return e.coordsUpdated=e.x1!==r.x1||e.y1!==r.y1||e.x2!==r.x2||e.y2!==r.y2||e.centerDragPos,e.assocLinkVariation=a,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.srcDir=r.srcDir,e.trgDir=r.trgDir,e}return null}},{key:"getDetachedLinkObj",value:function(e){var t=e.srcObj,n=e.trgNode,i=e.x1,o=e.y1,a=e.x2,r=e.y2;if(t||n)if(n){var l=this.getTargetEndInfo(e,n);e.x1=e.srcPos.x_pos,e.y1=e.srcPos.y_pos,e.x2=l.x2,e.y2=l.y2,e.trgDir=l.trgDir,e.originX=0,e.originY=0,e.srcDir=this.getSrcDirForDetachedLink(e,e.x1,e.y1)}else{var c=this.getSourceEndInfo(e,t);e.x1=c.x1,e.y1=c.y1,e.x2=e.trgPos.x_pos,e.y2=e.trgPos.y_pos,e.srcDir=c.srcDir,e.originX=c.originX,e.originY=c.originY,e.trgDir=this.getTrgDirForDetachedLink(e,e.x2,e.y2)}else e.x1=e.srcPos.x_pos,e.y1=e.srcPos.y_pos,e.x2=e.trgPos.x_pos,e.y2=e.trgPos.y_pos,e.originX=0,e.originY=0,this.canvasLayout.linkMethod===s.LINK_METHOD_FREEFORM?(e.srcDir=s.CanvasUtils.getPortDir(e.x2-e.x1,e.y2-e.y1,{width:10,height:10}),e.trgDir=this.reverseDir(e.srcDir)):(e.srcDir=this.getDefaultSrcDirForPorts(),e.trgDir=this.reverseDir(e.srcDir));return e.coordsUpdated=e.x1!==i||e.y1!==o||e.x2!==a||e.y2!==r,e}},{key:"getSourceEndInfo",value:function(e,t){var n={};if(this.canvasLayout.linkMethod===s.LINK_METHOD_FREEFORM){var i={x:e.trgPos.x_pos,y:e.trgPos.y_pos},o=this.linkUtils.getNewFreeformNodeLinkStartPos(t,i,e.srcFreeformInfo);n.x1=o.x,n.y1=o.y,n.originX=o.originX,n.originY=o.originY,n.srcDir=o.dir}else{var a=s.CanvasUtils.getSourcePortId(e,t),r=s.CanvasUtils.getOutputPort(a,t);r||(r=s.CanvasUtils.getInputPort(a,t)),r&&(n.x1=t.x_pos+r.cx,n.y1=t.y_pos+r.cy,n.srcDir=r.dir)}return n}},{key:"getTargetEndInfo",value:function(e,t){var n={};if(this.canvasLayout.linkMethod===s.LINK_METHOD_FREEFORM){var i={x:e.srcPos.x_pos,y:e.srcPos.y_pos},o=this.linkUtils.getNewFreeformNodeLinkStartPos(t,i,e.trgFreeformInfo);n.x2=o.x,n.y2=o.y,n.trgDir=o.dir}else{var a=s.CanvasUtils.getTargetPortId(e,t),r=s.CanvasUtils.getInputPort(a,t);r&&(n.x2=t.x_pos+r.cx,n.y2=t.y_pos+r.cy,n.trgDir=r.dir)}return n}},{key:"getDefaultSrcDirForPorts",value:function(){return this.canvasLayout.linkDirection===s.LINK_DIR_LEFT_RIGHT?s.EAST:this.canvasLayout.linkDirection===s.LINK_DIR_RIGHT_LEFT?s.WEST:this.canvasLayout.linkDirection===s.LINK_DIR_BOTTOM_TOP?s.NORTH:this.canvasLayout.linkDirection===s.LINK_DIR_TOP_BOTTOM?s.SOUTH:s.EAST}},{key:"getSrcDirForDetachedLink",value:function(e,t,n){if(e.trgNode){if(this.canvasLayout.linkMethod===s.LINK_METHOD_PORTS){if(e.trgDir===s.WEST&&this.canvasLayout.linkDirection===s.LINK_DIR_LEFT_RIGHT)return s.EAST;if(e.trgDir===s.EAST&&this.canvasLayout.linkDirection===s.LINK_DIR_RIGHT_LEFT)return s.WEST;if(e.trgDir===s.SOUTH&&this.canvasLayout.linkDirection===s.LINK_DIR_BOTTOM_TOP)return s.NORTH;if(e.trgDir===s.NORTH&&this.canvasLayout.linkDirection===s.LINK_DIR_TOP_BOTTOM)return s.SOUTH}var i=s.CanvasUtils.getPortDir(t-e.trgNode.x_pos,n-e.trgNode.y_pos,e.trgNode);return this.reverseDir(i)}var o=s.CanvasUtils.getPortDir(t-e.trgPos.x_pos,n-e.trgPos.y_pos,{width:10,height:10});return this.reverseDir(o)}},{key:"getTrgDirForDetachedLink",value:function(e,t,n){if(e.srcObj){if(this.canvasLayout.linkMethod===s.LINK_METHOD_PORTS){if(e.srcDir===s.EAST&&this.canvasLayout.linkDirection===s.LINK_DIR_LEFT_RIGHT)return s.WEST;if(e.srcDir===s.WEST&&this.canvasLayout.linkDirection===s.LINK_DIR_RIGHT_LEFT)return s.EAST;if(e.srcDir===s.NORTH&&this.canvasLayout.linkDirection===s.LINK_DIR_BOTTOM_TOP)return s.SOUTH;if(e.srcDir===s.SOUTH&&this.canvasLayout.linkDirection===s.LINK_DIR_TOP_BOTTOM)return s.NORTH}var i=s.CanvasUtils.getPortDir(t-e.srcObj.x_pos,n-e.srcObj.y_pos,e.srcObj);return this.reverseDir(i)}var o=s.CanvasUtils.getPortDir(t-e.srcPos.x_pos,n-e.srcPos.y_pos,{width:10,height:10});return this.reverseDir(o)}},{key:"reverseDir",value:function(e){switch(e){case s.NORTH:return s.SOUTH;case s.SOUTH:return s.NORTH;case s.EAST:return s.WEST;case s.WEST:default:return s.EAST}}},{key:"shouldDisplayLink",value:function(e,t,n){return(n!==s.COMMENT_LINK||!this.canvasInfo.hideComments)&&(!1!==this.canvasLayout.displayLinkOnOverlap||!this.areLinkedObjectsOverlapping(e,t,n))}},{key:"areLinkedObjectsOverlapping",value:function(e,t,n){var i=n===s.COMMENT_LINK?this.canvasLayout.commentHighlightGap:e.layout.nodeHighlightGap,o=t.layout.nodeHighlightGap,a=e.x_pos-i,r=e.x_pos+e.width+i,l=t.x_pos-o,c=t.x_pos+t.width+o,u=e.y_pos-i,d=e.y_pos+e.height+i,h=t.y_pos-o,g=t.y_pos+t.height+o;return r>=l&&c>=a&&d>=h&&g>=u}},{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===s.LINK_DIR_LEFT_RIGHT?(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===s.LINK_DIR_LEFT_RIGHT?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:"updateFreeformLinksForNodes",value:function(){var e=this;this.activePipeline.nodes.forEach(function(t){return e.updateFreeformLinksForNode(t)})}},{key:"updateFreeformLinksForNode",value:function(e){var t=this,n={n:[],s:[],e:[],w:[]};this.activePipeline.links.forEach(function(i){var o,a,r;if(i.type===s.NODE_LINK)if(e.id===(null===(o=i.srcObj)||void 0===o?void 0:o.id)&&(null===(a=i.srcObj)||void 0===a?void 0:a.id)===(null===(r=i.trgNode)||void 0===r?void 0:r.id))n[s.NORTH].push({flow:s.FLOW_IN,startNode:i.srcObj,endNode:i.trgNode,link:i}),n[s.EAST].push({flow:s.FLOW_OUT,startNode:i.srcObj,endNode:i.trgNode,link:i});else if(i.trgNode&&i.trgNode.id===e.id){if(i.srcObj){var l=t.getDirToNode(i.trgNode,i.srcObj);n[l].push({flow:s.FLOW_IN,startNode:i.trgNode,endNode:i.srcObj,link:i})}else if(i.srcPos){var c=t.getDirToEndPos(i.trgNode,i.srcPos.x_pos,i.srcPos.y_pos);n[c].push({flow:s.FLOW_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 u=t.getDirToNode(i.srcObj,i.trgNode);n[u].push({flow:s.FLOW_OUT,startNode:i.srcObj,endNode:i.trgNode,link:i})}else if(i.trgPos){var d=t.getDirToEndPos(i.srcObj,i.trgPos.x_pos,i.trgPos.y_pos);n[d].push({flow:s.FLOW_OUT,x:i.trgPos.x_pos,y:i.trgPos.y_pos,link:i})}});var i={x:e.x_pos+e.width/2,y:e.y_pos+e.height/2};n.n=this.sortLinksInfo(n.n,s.NORTH,i),n.s=this.sortLinksInfo(n.s,s.SOUTH,i),n.e=this.sortLinksInfo(n.e,s.EAST,i),n.w=this.sortLinksInfo(n.w,s.WEST,i),this.updateLinksInfo(n.n,s.NORTH),this.updateLinksInfo(n.s,s.SOUTH),this.updateLinksInfo(n.e,s.EAST),this.updateLinksInfo(n.w,s.WEST)}},{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),a=e.x_pos,r=e.y_pos,l=e.width,c=e.height;return s.CanvasUtils.getDir(a,r,l,c,i,o,t,n)}},{key:"sortLinksInfo",value:function(e,t,n){var i=this,o=e;if(o.length>1){var a=this.getLinkInfoGroups(o);mn(a,function(e){e.forEach(function(n,o){var a=n.endNode,r=e.length+1;(t===s.NORTH||t===s.SOUTH?(n.x=a.x_pos+a.width/r*(o+1),n.y=i.nodeUtils.getNodeCenterPosY(a)):(n.x=i.nodeUtils.getNodeCenterPosX(a),n.y=a.y_pos+a.height/r*(o+1)),t===s.SOUTH)&&(i.getDirToNode(n.endNode,n.startNode)===s.WEST&&(n.x=a.x_pos+a.width/r*(e.length-o)));t===s.NORTH&&(i.getDirToNode(n.endNode,n.startNode)===s.EAST&&(n.x=a.x_pos+a.width/r*(e.length-o)))})}),o.forEach(function(e){e.angle=s.CanvasUtils.calculateAngle(n.x,n.y,e.x,e.y),t===s.EAST&&e.angle>=270&&(e.angle-=360),e.startNode&&e.endNode&&e.startNode===e.endNode&&(t===s.EAST?e.angle=-90:t===s.NORTH&&(e.angle=360))}),o=t===s.NORTH||t===s.EAST?o.sort(function(e,t){return e.angle>t.angle?1:-1}):o.sort(function(e,t){return e.angle<t.angle?1:-1})}return o}},{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){n.flow===s.FLOW_OUT?n.link.srcFreeformInfo={dir:t,idx:i,len:e.length}:n.link.trgFreeformInfo={dir:t,idx:i,len:e.length}})}},{key:"getNewLinkAssocVariation",value:function(e,t,n){return n===s.FLOW_IN&&e>t?s.ASSOC_VAR_CURVE_LEFT:n===s.FLOW_OUT&&e<t?s.ASSOC_VAR_CURVE_RIGHT:s.ASSOC_VAR_DOUBLE_BACK_RIGHT}},{key:"getAssocLinkVariation",value:function(e,t){var n=e.layout.minInitialLine;return t.x_pos>=e.x_pos+e.width+n?s.ASSOC_VAR_CURVE_RIGHT:e.x_pos>=t.x_pos+t.width+n?s.ASSOC_VAR_CURVE_LEFT:s.ASSOC_VAR_DOUBLE_BACK_RIGHT}},{key:"getPortArrowPath",value:function(){return"M -2 3 L 2 0 -2 -3"}},{key:"getInputPortArrowPathTransform",value:function(e){var t=s.CanvasUtils.getAngleForInputPorts(e.dir);return"translate(".concat(e.cx,", ").concat(e.cy,") rotate(").concat(t,")")}},{key:"getOutputPortArrowPathTransform",value:function(e){var t=s.CanvasUtils.getAngleForOutputPorts(e.dir);return"translate(".concat(e.cx,", ").concat(e.cy,") rotate(").concat(t,")")}},{key:"getConnectFromArrowInfo",value:function(e,t){var n=t.layout.portRadius+5,i=e.dir||"e",o={e:0,s:90,w:180,n:270}[i]||0,a=0,r=0;switch(i){case"n":r=-n;break;case"s":r=n;break;case"e":a=n;break;default:a=-n}return{path:"M 0 0 L 12 0 L 9 -3 M 12 0 L 9 3",transform:"translate(".concat(e.cx+a,", ").concat(e.cy+r,") rotate(").concat(o,")")}}},{key:"getArrowHead",value:function(e){return e.type===s.COMMENT_LINK?"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=s.CanvasUtils.getLinkEndAngle(e,s.FLOW_IN,this.canvasLayout);return"translate(".concat(e.x2,", ").concat(e.y2,") rotate(").concat(t,")")}},{key:"getPortImageTransform",value:function(e,t){var n=t===s.FLOW_OUT?s.CanvasUtils.getAngleForOutputPorts(e.dir):s.CanvasUtils.getAngleForInputPorts(e.dir);return"rotate(".concat(n,",").concat(e.cx,",").concat(e.cy,")")}},{key:"getLinkImageTransform",value:function(e){var t=0;return t=this.canvasLayout.linkMethod!==s.LINK_METHOD_FREEFORM||this.canvasLayout.linkType!==s.LINK_TYPE_STRAIGHT&&this.canvasLayout.linkType!==s.LINK_TYPE_CURVE?s.CanvasUtils.getAngleForInputPorts(e.trgDir):s.CanvasUtils.calculateAngle(e.originX||e.x1,e.originY||e.y1,e.x2,e.y2),"rotate(".concat(t,",").concat(e.x2,",").concat(e.y2,")")}},{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===s.SNAP_TO_GRID_DURING||this.config.enableSnapToGridType===s.SNAP_TO_GRID_AFTER?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}},{key:"focusNextTabGroup",value:function(e){var t=this.canvasController.getFocusObject(),n=this.activePipeline.getNextTabGroupStartObject(t);return!!n&&(this.setFocusObject(n,e,!1,!0),!0)}},{key:"focusPreviousTabGroup",value:function(e){var t=this.canvasController.getFocusObject(),n=this.activePipeline.getPreviousTabGroupStartObject(t);return!!n&&(this.setFocusObject(n,e),!0)}},{key:"getActiveCanvasObject",value:function(){var e=this.getActiveCanvasElement();return e?zr.select(e).datum():null}},{key:"getActiveCanvasElement",value:function(){var e=null;return document.activeElement&&((e=document.activeElement.closest(".d3-node-group"))||(e=document.activeElement.closest(".d3-comment-group")),e||(e=document.activeElement.closest(".d3-link-group"))),e}},{key:"setFocusObject",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];this.config.enableKeyboardNavigation&&(n?t.stopPropagation():s.CanvasUtils.stopPropagationAndPreventDefault(t),this.canvasController.setFocusObject(e,t,i))}},{key:"clearSubObject",value:function(){this.subObject=null,this.subObjectParentObj=null}},{key:"restoreFocus",value:function(){this.canvasController.isContextMenuDisplayed()||(this.subObject?this.restoreFocusToSubObject():this.canvasController.getFocusObject()&&this.canvasController.restoreFocus())}},{key:"focusOnTextEntryElement",value:function(e){this.svgCanvasTextArea.focusOnTextEntryElement(e)}},{key:"getNodeFocusIncrements",value:function(e,t){var n=0,i=0,o=0,a=0,r=t.select(".d3-node-label").node(),s=t.select(".d3-node-label").select("span").node();if(r&&s){var l=this.zoomUtils.getTransformedElementRect(r),c=this.zoomUtils.getTransformedElementRect(s),u=Math.min(c.right,l.right),d=Math.min(c.bottom,l.bottom);n=e.x_pos-c.x,i=u-(e.x_pos+e.width),o=e.y_pos-c.y,a=d-(e.y_pos+e.height)}return{leftGap:n=Math.max(e.layout.nodeSizingArea,n+4),rightGap:i=Math.max(e.layout.nodeSizingArea,i+4),topGap:o=Math.max(e.layout.nodeSizingArea,o+4),bottomGap:a=Math.max(e.layout.nodeSizingArea,a+4)}}},{key:"moveFocusTo",value:function(e,t){var n=this;if(this.logger.log("moveFocusTo - "+s.CanvasUtils.getFocusName(e)),e&&e!==s.CANVAS_FOCUS){if(!this.config.enableLinksOverNodes&&(this.config.enableLinkSelection===s.LINK_SELECTION_HANDLES||this.config.enableLinkSelection===s.LINK_SELECTION_DETACHABLE)){var i,o,a=zr.selectAll(".d3-link-group:focus-within").node(),r=null==a||null===(i=a.parentElement)||void 0===i?void 0:i.lastChild;null!=r&&null!==(o=r.classList)&&void 0!==o&&o.contains("d3-link-group")&&zr.select(r).lower()}this.subObject=null,this.subObjectParentObj=null;var l=s.CanvasUtils.getObjectTypeName(e);this.canvasGrp.selectAll(".d3-focus-path").remove();var c=null;if("node"===l){if(!this.activePipeline.getNode(e.id))return void this.logger.log("Node with ID "+e.id+" not found in activePipeline");(c=this.getNodeGroupSelectionById(e.id)).insert("path",":first-child").attr("class","d3-focus-path").attr("d",function(e){return n.getRectangleNodeShapePath(e,n.getNodeFocusIncrements(e,c))})}else if("comment"===l){if(!this.activePipeline.getComment(e.id))return void this.logger.log("Comment with ID "+e.id+" not found in activePipeline");(c=this.getCommentGroupSelectionById(e.id)).insert("rect",":first-child").attr("class","d3-focus-path").attr("x",-this.canvasLayout.commentSizingArea).attr("y",-this.canvasLayout.commentSizingArea).attr("height",function(e){return e.height+2*n.canvasLayout.commentSizingArea}).attr("width",function(e){return e.width+2*n.canvasLayout.commentSizingArea})}else if("link"===l){if(!this.activePipeline.getLink(e.id))return void this.logger.log("Link with ID "+e.id+" not found in activePipeline");c=this.getLinkGroupSelectionById(e.id),e.type!==s.NODE_LINK||this.config.enableLinkSelection!==s.LINK_SELECTION_HANDLES&&this.config.enableLinkSelection!==s.LINK_SELECTION_DETACHABLE||c.raise()}if(c&&!c.empty()){if(s.CanvasUtils.isKeyboardEvent(t)){var u=this.canvasController.getZoomToReveal([e.id]);u&&this.zoomTo(u)}var d=c.node();d&&(this.logger.log("moveFocusTo - set focus on element"),d.focus())}else{var h=e?e.id:"Unknown";this.logger.error("Error applying focus to ".concat(l," object with ID: ").concat(h))}}}},{key:"setFocusNextSubObject",value:function(e,t){s.CanvasUtils.stopPropagationAndPreventDefault(t);var n=this.activePipeline.getNextSubObject(e,this.subObject);this.moveFocusToSubObject(n,e,t)}},{key:"setFocusPreviousSubObject",value:function(e,t){s.CanvasUtils.stopPropagationAndPreventDefault(t);var n=this.activePipeline.getPreviousSubObject(e,this.subObject);this.moveFocusToSubObject(n,e,t)}},{key:"restoreFocusToSubObject",value:function(){this.moveFocusToSubObject(this.subObject,this.subObjectParentObj,null)}},{key:"moveFocusToSubObject",value:function(e,t,n){if(e){this.subObject=e,this.subObjectParentObj=t,this.canvasGrp.selectAll(".d3-focus-path").remove();var i=null;if("reactObject"!==e.type){if("inputPort"===e.type?i=this.getNodeInputPortSelectionById(e.obj.id,t.id):"outputPort"===e.type?i=this.getNodeOutputPortSelectionById(e.obj.id,t.id):"linkStart"===e.type?i=this.getLinkStartHandleGrpSelectionById(e.obj.id):"linkEnd"===e.type?i=this.getLinkEndHandleGrpSelectionById(e.obj.id):"decoration"===e.type&&(i="node"===s.CanvasUtils.getObjectTypeName(t)?this.getNodeDecSelectionById(e.obj.id,t.id):this.getLinkDecSelectionById(e.obj.id,t.id)),i){"link"===s.CanvasUtils.getObjectTypeName(t)&&this.getLinkGroupSelectionById(t.id).raise();var o=i.node();o&&(this.logger.log("moveFocusTo - set focus on element"),this.drawFocusBox(i,o),n&&s.CanvasUtils.stopPropagationAndPreventDefault(n),o.focus())}}else t.focusFunction&&n&&t.focusFunction(n)}}},{key:"drawFocusBox",value:function(e,t){var n=t.getBBox();e.append("rect").attr("class","d3-focus-path").attr("x",n.x-2).attr("y",n.y-2).attr("height",n.height+4).attr("width",n.width+4)}}])}(),Hr=function(){return e._createClass(function t(n,i,o){e._classCallCheck(this,t),this.logger=new h.Logger(["SVGCanvasD3","FlowId",n]),this.logger.logStartTimer("constructor"),this.canvasController=o,this.canvasDiv=cn(i),this.logger.logEndTimer("constructor",!0)},[{key:"setCanvasInfo",value:function(e,t,n,i,o,a){if(this.logger=new h.Logger(["SVGCanvasD3","FlowId",e.id]),this.config&&this.renderer&&this.canvasInfo&&e.id===this.canvasInfo.id&&(!this.renderer||this.renderer.pipelineId===this.canvasController.getCurrentBreadcrumb().pipelineId)&&v.ConfigUtils.compareCanvasConfigsOmitFields(this.config,a))this.logger.logStartTimer("set canvas info"),this.canvasInfo=this.cloneCanvasInfo(e),this.config=this.cloneConfig(a),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(a),this.renderer&&(this.renderer.clearCanvas(),this.renderer=null);var r=this.canvasController.getCurrentBreadcrumb();this.renderer=new Fr(r.pipelineId,this.canvasDiv,this.canvasController,this.canvasInfo,t,n,i,o,a,{id:r.supernodeId,pipelineId:r.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 b.cloneDeep_1(e)}},{key:"isEditingText",value:function(){return!!this.renderer&&this.renderer.isEditingText()}},{key:"isDragging",value:function(){return!!this.renderer&&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,t){this.renderer.zoomTo(e,t)}},{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(e){this.renderer.zoomToFit(e)}},{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:"getCanvasDimensionsWithPadding",value:function(){return this.renderer.getCanvasDimensionsWithPadding()}},{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()}},{key:"focusNextTabGroup",value:function(e){return this.renderer.focusNextTabGroup(e)}},{key:"focusPreviousTabGroup",value:function(e){return this.renderer.focusPreviousTabGroup(e)}},{key:"getActiveCanvasObject",value:function(){return this.renderer.getActiveCanvasObject()}},{key:"moveFocusTo",value:function(e,t){this.renderer&&this.renderer.moveFocusTo(e,t)}},{key:"focusOnTextEntryElement",value:function(e){this.renderer.focusOnTextEntryElement(e)}},{key:"clearSubObject",value:function(){var e;null===(e=this.renderer)||void 0===e||e.clearSubObject()}},{key:"setFocusNextSubObject",value:function(e,t){this.renderer.setFocusNextSubObject(e,t)}},{key:"setFocusPreviousSubObject",value:function(e,t){this.renderer.setFocusPreviousSubObject(e,t)}},{key:"openCanvasContextOptions",value:function(e){this.renderer.openCanvasContextOptions(e)}}])}();function Gr(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Br(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Br(e,t):void 0}}(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 a,r=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return r=e.done,e},e:function(e){s=!0,a=e},f:function(){try{r||null==n.return||n.return()}finally{if(s)throw a}}}}function Br(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function Kr(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Kr=function(){return!!e})()}var Wr=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,Kr()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).state={isDropZoneDisplayed:!1},o.logger=new h.Logger("CC-Contents"),o.mainCanvasDivId="canvas-div-"+o.props.canvasController.getInstanceId(),o.svgCanvasDivId="d3-svg-canvas-div-"+o.props.canvasController.getInstanceId(),o.svgCanvasDivSelector="#"+o.svgCanvasDivId,o.dragX=null,o.dragY=null,o.contentsRef=T.default.createRef(),o.eventListenersAdded=!1,o.mousePos=null,o.tabbingOut=!1,o.drop=o.drop.bind(o),o.focusOnCanvas=o.focusOnCanvas.bind(o),o.setIsDropZoneDisplayed=o.setIsDropZoneDisplayed.bind(o),o.dragOver=o.dragOver.bind(o),o.dragEnter=o.dragEnter.bind(o),o.dragLeave=o.dragLeave.bind(o),o.refreshOnSizeChange=o.refreshOnSizeChange.bind(o),o.getLabel=o.getLabel.bind(o),o.onCut=o.onCut.bind(o),o.onCopy=o.onCopy.bind(o),o.onPaste=o.onPaste.bind(o),o.onKeyDown=o.onKeyDown.bind(o),o.onKeyUp=o.onKeyUp.bind(o),o.onMouseMove=o.onMouseMove.bind(o),o.onClickReturnToPrevious=o.onClickReturnToPrevious.bind(o),o.onMouseLeave=o.onMouseLeave.bind(o),o.onMouseDown=o.onMouseDown.bind(o),o.onFocus=o.onFocus.bind(o),o.first=!1,o.second=!1,o.afterUpdateCallbacks=[],n.canvasController.setCanvasContents(o),o}return t._inherits(i,n),e._createClass(i,[{key:"componentDidMount",value:function(){var e=this;this.logger.log("componentDidMount"),this.svgCanvasD3||(this.svgCanvasD3=new Hr(this.props.canvasInfo.id,this.svgCanvasDivSelector,this.props.canvasController)),this.setCanvasInfo(),this.props.canvasConfig.enableBrowserEditMenu&&this.addEventListeners(),this.props.canvasConfig.enableFocusOnMount&&this.props.canvasController.setFocusOnCanvas(),this.resizeObserver=new ResizeObserver(function(t){var n,i=Gr(t);try{for(i.s();!(n=i.n()).done;){var o=n.value;e.refreshOnSizeChange(o.contentRect)}}catch(e){i.e(e)}finally{i.f()}}),this.contentsRef.current&&this.resizeObserver.observe(this.contentsRef.current)}},{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.afterUpdate())),this.props.canvasConfig.enableBrowserEditMenu?this.addEventListeners():this.removeEventListeners()}},{key:"componentWillUnmount",value:function(){var e;this.removeEventListeners(),null===(e=this.resizeObserver)||void 0===e||e.disconnect()}},{key:"onCut",value:function(e){this.isFocusOnCanvasOrContents(e)&&this.props.canvasConfig.enableEditingActions&&!this.svgCanvasD3.isEditingText()&&(e.preventDefault(),this.props.canvasController.cutToClipboard())}},{key:"onCopy",value:function(e){this.isFocusOnCanvasOrContents(e)&&this.props.canvasConfig.enableEditingActions&&!this.svgCanvasD3.isEditingText()&&(e.preventDefault(),this.props.canvasController.copyToClipboard())}},{key:"onPaste",value:function(e){this.isFocusOnCanvasOrContents(e)&&this.props.canvasConfig.enableEditingActions&&!this.svgCanvasD3.isEditingText()&&(e.preventDefault(),this.props.canvasController.pasteFromClipboard())}},{key:"onKeyDown",value:function(e){var t=this;this.props.canvasController.closeTip();var n=this.props.canvasController.getKeyboardConfig().actions;if(!this.svgCanvasD3.isEditingText()&&!this.svgCanvasD3.isDragging()){if(this.props.canvasConfig.enableEditingActions)if(u.KeyboardUtils.delete(e)&&n.delete)s.CanvasUtils.stopPropagationAndPreventDefault(e),this.props.canvasController.autoSelectFocusObj(function(){return t.props.canvasController.keyboardActionHandler("deleteSelectedObjects")});else if(u.KeyboardUtils.undo(e)&&n.undo)s.CanvasUtils.stopPropagationAndPreventDefault(e),this.props.canvasController.canUndo()&&this.props.canvasController.keyboardActionHandler("undo");else if(u.KeyboardUtils.redo(e)&&n.redo)s.CanvasUtils.stopPropagationAndPreventDefault(e),this.props.canvasController.canRedo()&&this.props.canvasController.keyboardActionHandler("redo");else if(u.KeyboardUtils.copyToClipboard(e)&&n.copyToClipboard)s.CanvasUtils.stopPropagationAndPreventDefault(e),this.props.canvasController.autoSelectFocusObj(function(){return t.props.canvasController.keyboardActionHandler("copy")});else if(u.KeyboardUtils.cutToClipboard(e)&&n.cutToClipboard)s.CanvasUtils.stopPropagationAndPreventDefault(e),this.props.canvasController.autoSelectFocusObj(function(){return t.props.canvasController.keyboardActionHandler("cut")});else if(u.KeyboardUtils.pasteFromClipboard(e)&&n.pasteFromClipboard)if(s.CanvasUtils.stopPropagationAndPreventDefault(e),this.mousePos){var i=this.svgCanvasD3.convertPageCoordsToSnappedCanvasCoords(this.mousePos);this.props.canvasController.keyboardActionHandler("paste",i)}else this.props.canvasController.keyboardActionHandler("paste");u.KeyboardUtils.selectAll(e)&&n.selectAll?(s.CanvasUtils.stopPropagationAndPreventDefault(e),this.props.canvasController.keyboardActionHandler("selectAll")):u.KeyboardUtils.deselectAll(e)&&n.deselectAll?(s.CanvasUtils.stopPropagationAndPreventDefault(e),this.props.canvasController.keyboardActionHandler("deselectAll")):u.KeyboardUtils.spaceKey(e)?this.svgCanvasD3.isSpaceKeyPressed()||(s.CanvasUtils.stopPropagationAndPreventDefault(e),this.svgCanvasD3.setSpaceKeyPressed(!0)):u.KeyboardUtils.toggleLogging(e)?(s.CanvasUtils.stopPropagationAndPreventDefault(e),h.Logger.switchLoggingState()):u.KeyboardUtils.zoomToFit(e)&&this.props.canvasConfig.enableKeyboardNavigation?(s.CanvasUtils.stopPropagationAndPreventDefault(e),this.svgCanvasD3.zoomToFit()):u.KeyboardUtils.zoomIn(e)&&this.props.canvasConfig.enableKeyboardNavigation?(s.CanvasUtils.stopPropagationAndPreventDefault(e),this.svgCanvasD3.zoomIn()):u.KeyboardUtils.zoomOut(e)&&this.props.canvasConfig.enableKeyboardNavigation?(s.CanvasUtils.stopPropagationAndPreventDefault(e),this.svgCanvasD3.zoomOut()):u.KeyboardUtils.panLeft(e)&&this.props.canvasConfig.enableKeyboardNavigation?(s.CanvasUtils.stopPropagationAndPreventDefault(e),this.svgCanvasD3.translateBy(-10,0)):u.KeyboardUtils.panRight(e)&&this.props.canvasConfig.enableKeyboardNavigation?(s.CanvasUtils.stopPropagationAndPreventDefault(e),this.svgCanvasD3.translateBy(10,0)):u.KeyboardUtils.panUp(e)&&this.props.canvasConfig.enableKeyboardNavigation?(s.CanvasUtils.stopPropagationAndPreventDefault(e),this.svgCanvasD3.translateBy(0,-10)):u.KeyboardUtils.panDown(e)&&this.props.canvasConfig.enableKeyboardNavigation?(s.CanvasUtils.stopPropagationAndPreventDefault(e),this.svgCanvasD3.translateBy(0,10)):u.KeyboardUtils.nextGroup(e)&&this.props.canvasConfig.enableKeyboardNavigation?this.moveFocusToNextGroup(e):u.KeyboardUtils.previousGroup(e)&&this.props.canvasConfig.enableKeyboardNavigation?this.moveFocusToPreviousGroup(e):u.KeyboardUtils.displayContextOptions(e)&&this.props.canvasConfig.enableKeyboardNavigation&&this.svgCanvasD3.openCanvasContextOptions(e),e.stopPropagation()}}},{key:"onKeyUp",value:function(){this.svgCanvasD3.setSpaceKeyPressed(!1)}},{key:"onFocus",value:function(e){if(e.target.classList.contains("d3-svg-canvas-div")&&this.props.canvasController.getFocusObject()!==s.CANVAS_FOCUS)this.props.canvasController.setFocusObject(s.CANVAS_FOCUS);else if(!this.props.canvasController.getFocusObject()){var t=this.svgCanvasD3.getActiveCanvasObject();t&&this.props.canvasController.setFocusObject(t)}}},{key:"onMouseMove",value:function(e){var t;null!=e&&null!==(t=e.target)&&void 0!==t&&t.closest(".svg-area")?this.mousePos={x:e.clientX,y:e.clientY}:this.mousePos=null}},{key:"onMouseLeave",value:function(e){this.mousePos=null}},{key:"onMouseDown",value:function(e){this.props.canvasController.setFocusOnCanvas()}},{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:v.defaultMessages1[e]})}},{key:"getDNDJson",value:function(e){try{return JSON.parse(e.dataTransfer.getData(s.DND_DATA_TEXT))}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!==s.STATE_TAG_READ_ONLY&&this.props.canvasConfig.enableStateTag!==s.STATE_TAG_LOCKED||(e=T.default.createElement(Ze,{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?T.default.createElement("div",{className:"empty-canvas"},this.props.canvasConfig.emptyCanvasContent):T.default.createElement("div",{className:"empty-canvas"},T.default.createElement("div",{className:"empty-canvas-image"},T.default.createElement(d.FlowData,null)),T.default.createElement("span",{className:"empty-canvas-text1"},this.getLabel("canvas.flowIsEmpty")),T.default.createElement("span",{className:"empty-canvas-text2"},this.getLabel("canvas.addNodeToStart")))),e}},{key:"getReturnToPreviousBtn",value:function(){var e,t=null;if(!this.props.canvasController.isPrimaryPipelineEmpty()&&(this.props.canvasController.isDisplayingFullPageSubFlow()||null!==(e=this.props.canvasConfig)&&void 0!==e&&null!==(e=e.enableCanvasLayout)&&void 0!==e&&e.alwaysDisplayBackToParentFlow)){var n=this.getLabel("canvas.returnToPrevious");t=T.default.createElement("div",{className:"return-to-previous"},T.default.createElement(l.Button,{kind:"tertiary",onClick:this.onClickReturnToPrevious,"aria-label":n,size:"md"},T.default.createElement("div",{className:"return-to-previous-content"},T.default.createElement(m.ArrowLeft,null),T.default.createElement("span",null,n))))}return t}},{key:"getContextMenu",value:function(){return this.props.canvasConfig.enableContextToolbar?T.default.createElement(Ge,{canvasController:this.props.canvasController,containingDivId:this.mainCanvasDivId}):T.default.createElement(Ae,{canvasController:this.props.canvasController,containingDivId:this.mainCanvasDivId})}},{key:"getTextToolbar",value:function(){return T.default.createElement(Ye,{canvasController:this.props.canvasController,containingDivId:this.mainCanvasDivId})}},{key:"getDropZone",value:function(){var e=null;return this.isDropZoneDisplayed()&&(e=this.props.canvasConfig.dropZoneCanvasContent?this.props.canvasConfig.dropZoneCanvasContent:T.default.createElement("div",null,T.default.createElement("div",{className:"dropzone-canvas"}),T.default.createElement("div",{className:"dropzone-canvas-rect"}))),e}},{key:"getSvgCanvasDivId",value:function(){return this.svgCanvasDivId}},{key:"getSVGCanvasDiv",value:function(){return this.props.canvasConfig.enableKeyboardNavigation?T.default.createElement("div",{role:"application",id:this.svgCanvasDivId,tabIndex:"0",className:"d3-svg-canvas-div keyboard-navigation",onMouseDown:this.onMouseDown,onMouseLeave:this.onMouseLeave,onFocus:this.onFocus,onKeyDown:this.onKeyDown,onKeyUp:this.onKeyUp,"aria-label":this.getLabel("canvas.label")}):T.default.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:"isTargetInsideCanvas",value:function(e){return e&&e.closest(".common-canvas-drop-div")}},{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:"isFocusOnCanvasOrContents",value:function(e){var t;return!(null===(t=e.currentTarget)||void 0===t||!t.activeElement)&&(e.currentTarget.activeElement.closest(this.svgCanvasDivSelector)||e.currentTarget.activeElement.id===this.svgCanvasDivId)}},{key:"isFocusOnCanvas",value:function(){var e;return(null===(e=document.activeElement)||void 0===e?void 0:e.id)===this.getSvgCanvasDivId()}},{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:"moveFocusToNextGroup",value:function(e){this.svgCanvasD3.focusNextTabGroup(e)?s.CanvasUtils.stopPropagationAndPreventDefault(e):(this.tabbingOut=!0,this.props.canvasController.setFocusOnCanvas())}},{key:"moveFocusToPreviousGroup",value:function(e){this.svgCanvasD3.focusPreviousTabGroup(e)?s.CanvasUtils.stopPropagationAndPreventDefault(e):(this.tabbingOut=!0,this.props.canvasController.setFocusOnCanvas())}},{key:"focusOnCanvas",value:function(){document.getElementById(this.svgCanvasDivId)&&(document.getElementById(this.svgCanvasDivId).focus(),this.svgCanvasD3.clearSubObject())}},{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(),a=this.getDropZone(),r=this.getSVGCanvasDiv();return T.default.createElement("div",{id:this.mainCanvasDivId,ref:this.contentsRef,className:"common-canvas-drop-div",onDrop:this.drop,onDragOver:this.dragOver,onDragEnter:this.dragEnter,onDragLeave:this.dragLeave},r,t,n,e,i,o,a)}}])}(T.default.Component),Yr=i.connect(function(e,t){return{canvasInfo:e.canvasinfo,canvasConfig:e.canvasconfig,selectionInfo:e.selectioninfo,breadcrumbs:e.breadcrumbs}})(o.injectIntl(Wr)),Xr="Close";function Vr(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Vr=function(){return!!e})()}var Zr=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,Vr()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).state={},o.logger=new h.Logger("NotificationPanel"),o.keyDownOnPanel=o.keyDownOnPanel.bind(o),o}return t._inherits(i,n),e._createClass(i,[{key:"componentDidMount",value:function(){this.setFocusOnFirstItem()}},{key:"setFocusOnFirstItem",value:function(){this.allRefs.length>0&&this.allRefs[0].focus()}},{key:"getNotifications",value:function(){var e=this,t=[];if(!this.props.messages)return t;for(var n=0;n<this.props.messages.length;n++){var i=this.props.messages[n],o=i.callback?" clickable ":"",a=i.type,r=T.default.createElement("div",{className:"notification-message-type"},T.default.createElement(d.Icon,{type:a,className:"notification-message-icon-".concat(a)})),s=i.title?T.default.createElement("div",{className:"notification-message-title"},i.title):null,l=i.subtitle?T.default.createElement("div",{className:"notification-message-subtitle"},i.subtitle):null,c=i.closeMessage?T.default.createElement("div",{ref:function(t){return!t||e.allRefs.push(t)},className:"notification-message-close",onClick:this.clickOnCloseButton.bind(this,i),onKeyDown:this.keyDownOnCloseButton.bind(this,i),role:"button",tabIndex:0},i.closeMessage):null,u=i.timestamp?T.default.createElement("div",{className:"notification-message-timestamp"},T.default.createElement("div",{className:"notification-message-timestamp-icon"},T.default.createElement(d.Icon,{type:"time"})),T.default.createElement("div",{className:"notification-message-string"},i.timestamp)):null,h=T.default.createElement(T.default.Fragment,null,r,T.default.createElement("div",{className:"notification-message-details"},s,l,T.default.createElement("div",{className:"notification-message-content"},i.content),u,c)),g=i.callback?T.default.createElement("button",{className:"notifications notifications-button "+o+i.type,onClick:this.notificationCallback.bind(this,i.id,i.callback),ref:function(t){return!t||e.allRefs.push(t)},type:"button"},h):T.default.createElement("div",{className:"notifications "+o+i.type,ref:function(t){return!t||e.allRefs.push(t)}},h);t.push(T.default.createElement("div",{className:"notifications-button-container",role:"listitem",key:n+"-"+i.id},g))}return t}},{key:"getAriaHeaderLabel",value:function(e,t,n,i){var o="";return"string"==typeof e&&(o=e,"string"==typeof t&&t&&(o+=" "+t),!i&&"string"==typeof n&&n&&(o+=" "+n)),o}},{key:"notificationCallback",value:function(e,t,n){t&&t(e)}},{key:"clickOnCloseButton",value:function(e){this.deleteNotification(e.id)}},{key:"keyDownOnCloseButton",value:function(e,t){u.KeyboardUtils.activateButton(t)&&this.deleteNotification(e.id)}},{key:"deleteNotification",value:function(e){this.props.subPanelData.canvasController.deleteNotificationMessages(e)}},{key:"clearNotificationMessages",value:function(){this.props.subPanelData.canvasController.clearNotificationMessages(),this.setFocusOnFirstItem(),"function"==typeof this.props.notificationConfig.clearAllCallback&&this.props.notificationConfig.clearAllCallback()}},{key:"keyDownOnPanel",value:function(e){if(u.KeyboardUtils.nextSection(e)){var t=this.allRefs[this.allRefs.length-1];e.target===t&&(e.stopPropagation(),e.preventDefault(),this.allRefs[0].focus())}else if(u.KeyboardUtils.previousSection(e)){var n=this.allRefs[this.allRefs.length-1];e.target===this.allRefs[0]&&(e.stopPropagation(),e.preventDefault(),n.focus())}}},{key:"render",value:function(){var e,t,n,i,o,a,r=this;if(this.logger.log("render"),this.allRefs=[],!this.props.notificationConfig)return null;var c=(null===(e=this.props.notificationConfig)||void 0===e?void 0:e.notificationHeader)||s.DEFAULT_NOTIFICATION_HEADER,u=null!==(t=null===(n=this.props.notificationConfig)||void 0===n?void 0:n.notificationSubtitle)&&void 0!==t?t:"",d=null!==(i=null===(o=this.props.notificationConfig)||void 0===o?void 0:o.emptyMessage)&&void 0!==i?i:"",h=this.getAriaHeaderLabel(c,u,d,this.props.messages.length>0),p=T.default.createElement("div",{className:"notification-panel-header"},c),f=null!==(a=this.props.notificationConfig)&&void 0!==a&&a.notificationSubtitle?T.default.createElement("div",{className:"notification-panel-subtitle"},u):null,v=T.default.createElement("div",{className:"notification-panel-close-button"},T.default.createElement(l.Button,{ref:function(e){return!e||r.allRefs.push(e)},size:"sm",kind:"ghost",renderIcon:g.Close,hasIconOnly:!0,iconDescription:this.props.intl.formatMessage({id:"notification.panel.close.button.description",defaultMessage:Xr}),onClick:this.props.closeSubPanel,tooltipAlignment:"end",tooltipPosition:"bottom"})),y=this.props.messages.length>0?this.getNotifications():T.default.createElement("div",{className:"notification-panel-empty-message-container"},T.default.createElement("div",{className:"notification-panel-empty-message"},d||null)),m=this.props.notificationConfig&&this.props.notificationConfig.clearAllMessage?T.default.createElement("div",{className:"notification-panel-clear-all-container"},T.default.createElement(l.Button,{ref:function(e){return!e||0===r.props.messages.length||r.allRefs.push(e)},className:"notification-panel-clear-all",onClick:this.clearNotificationMessages.bind(this),kind:"ghost",size:"sm",disabled:0===this.props.messages.length},this.props.notificationConfig.clearAllMessage)):null,b=this.props.notificationConfig&&this.props.notificationConfig.secondaryButtonLabel&&this.props.notificationConfig.secondaryButtonCallback?T.default.createElement("div",{className:"notification-panel-secondary-button-container"},T.default.createElement(l.Button,{ref:function(e){return!e||r.props.secondaryButtonDisabled||r.allRefs.push(e)},className:"notification-panel-secondary-button",onClick:this.props.notificationConfig.secondaryButtonCallback.bind(this),kind:"ghost",size:"sm",disabled:this.props.secondaryButtonDisabled},this.props.notificationConfig.secondaryButtonLabel)):null;return T.default.createElement("div",{className:"notification-panel",role:"region","aria-label":h,onKeyDown:this.keyDownOnPanel},T.default.createElement("div",{className:"notification-panel-header-container"},p,f),v,T.default.createElement("div",{className:"notification-panel-messages",role:"list"},y),T.default.createElement("div",{className:"notification-panel-button-container"},m,b))}}],[{key:"getDerivedStateFromProps",value:function(e,t){return e.messages!==t.messages?{messages:e.messages}:{}}}])}(T.default.Component),qr=i.connect(function(e,t){return{notificationConfig:e.notificationpanel.config,secondaryButtonDisabled:!!e.notificationpanel.config&&e.notificationpanel.config.secondaryButtonDisabled,messages:e.notifications}})(o.injectIntl(Zr));function $r(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 Jr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?$r(Object(n),!0).forEach(function(t){C._defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):$r(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Qr(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Qr=function(){return!!e})()}var es=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,Qr()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).logger=new h.Logger("CC-Toolbar"),o.getLabel=o.getLabel.bind(o),o.toolbarActionHandler=o.toolbarActionHandler.bind(o),o}return t._inherits(i,n),e._createClass(i,[{key:"getLabel",value:function(e,t){var n=v.defaultMessages1[e]?v.defaultMessages1[e]:Be[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=s.NOTIFICATION_ICON_CLASS;return e===s.ERROR?t+=" error":e===s.WARNING?t+=" warning":e===s.SUCCESS?t+=" success":e===s.INFO&&(t+=" info"),t}},{key:"getToolIndexByAction",value:function(e,t){return null==t?void 0:t.findIndex(function(t){return t.action===e})}},{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()).size="md",e=this.optionallyAddPaletteTool(e),e=this.optionallyAddNotificationTool(e)}},{key:"copyConfig",value:function(){if(!this.props.config)return null;if(Array.isArray(this.props.config))return r._toConsumableArray(this.props.config);var e={};return this.props.config.overrideAutoEnableDisable&&(e.overrideAutoEnableDisable=!0),this.props.config&&this.props.config.leftBar&&(e.leftBar=r._toConsumableArray(this.props.config.leftBar)),this.props.config&&this.props.config.rightBar&&(e.rightBar=r._toConsumableArray(this.props.config.rightBar)),this.props.config.size&&(e.size=this.props.config.size),e}},{key:"toolbarActionHandler",value:function(e){this.props.canvasController.toolbarActionHandler(e)}},{key:"optionallyAddPaletteTool",value:function(e){var t=e.leftBar||[],n=e.rightBar||[],i=this.getLabel("toolbar.palette"),o=t;if(t&&t.length>0&&"palette"===t[0].action&&(i=t[0].label?t[0].label:i,o=t.slice(1),t.length>1&&t[1].divider&&(o=t.slice(2))),this.props.isPaletteEnabled){var a=this.props.isPaletteOpen?"closePalette-action paletteClose-action":"openPalette-action paletteOpen-action",r=this.props.isPaletteOpen?T.default.createElement(d.SidePanelCloseFilled,null):T.default.createElement(d.SidePanelOpenFilled,null),l={action:s.TOOLBAR_TOGGLE_PALETTE,label:i,enable:!0,iconEnabled:r,isSelected:this.props.isPaletteOpen,className:a},c=this.getToolIndexByAction(s.TOOLBAR_TOGGLE_PALETTE,t),u=this.getToolIndexByAction(s.TOOLBAR_TOGGLE_PALETTE,n);if(c>-1){var h=t[c];e.leftBar[c]=Jr(Jr({},l),{},{label:h.label?h.label:i,iconEnabled:h.iconEnabled?h.iconEnabled:null,incLabelWithIcon:h.incLabelWithIcon?h.incLabelWithIcon:null,tooltip:h.tooltip?h.tooltip:null})}else if(u>-1){var g=n[u];e.rightBar[u]=Jr(Jr({},l),{},{label:g.label?g.label:i,iconEnabled:g.iconEnabled?g.iconEnabled:null,incLabelWithIcon:g.incLabelWithIcon?g.incLabelWithIcon:null,tooltip:g.tooltip?g.tooltip:null})}else{var p=[l,{divider:!0}];e.leftBar=p.concat(o)}}return e}},{key:"optionallyAddNotificationTool",value:function(e){var t=e.leftBar||[],n=e.rightBar||[];if(this.props.notificationConfigExists){var i=this.props.notificationMessages.length,o={action:s.TOOLBAR_TOGGLE_NOTIFICATION_PANEL,label:this.props.notificationConfigLabel,enable:this.props.notificationConfigEnable,extIsSubAreaDisplayed:this.props.isNotificationOpen,setExtIsSubAreaDisplayed:this.callExtIsSubAreaDisplayed.bind(this),className:this.getNotificationClassName(),textContent:i>9?"9+":i.toString(),subPanel:qr,subPanelData:{canvasController:this.props.canvasController},leaveSubAreaOpenOnClickOutside:this.props.notificationConfigKeepOpen},a=this.getToolIndexByAction(s.TOOLBAR_TOGGLE_NOTIFICATION_PANEL,t),r=this.getToolIndexByAction(s.TOOLBAR_TOGGLE_NOTIFICATION_PANEL,n);if(a>-1){var l=t[a];e.leftBar[a]=Jr(Jr({},o),{},{iconEnabled:l.iconEnabled?l.iconEnabled:null,incLabelWithIcon:l.incLabelWithIcon?l.incLabelWithIcon:null,tooltip:l.tooltip?l.tooltip:null,textContent:null})}else if(r>-1){var c=n[r];e.rightBar[r]=Jr(Jr({},o),{},{iconEnabled:c.iconEnabled?c.iconEnabled:null,incLabelWithIcon:c.incLabelWithIcon?c.incLabelWithIcon:null,tooltip:c.tooltip?c.tooltip:null,textContent:null})}else{var u=[{divider:!0},o];e.rightBar=e.rightBar.concat(u)}}return e}},{key:"callExtIsSubAreaDisplayed",value:function(e){e?this.props.canvasController.openNotificationPanel():this.props.canvasController.closeNotificationPanel()}},{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;if(this.props.enableToolbarLayout===s.TOOLBAR_LAYOUT_TOP){var n=e.size||"md";t=T.default.createElement("div",{className:"common-canvas-toolbar"},T.default.createElement(a.Toolbar,{config:e,containingDivId:this.props.containingDivId,instanceId:this.props.canvasController.getInstanceId(),toolbarActionHandler:this.toolbarActionHandler,size:n,additionalText:{overflowMenuLabel:this.getLabel("toolbar.overflowMenu"),ariaLabel:this.getLabel("toolbar.flowEditorToolbarLabel")}}))}return t}}])}(T.default.Component),ts=i.connect(function(e,t){var n,i,o,a;return{enableToolbarLayout:e.canvasconfig.enableToolbarLayout,config:e.canvastoolbar.config,isPaletteEnabled:e.canvasconfig.enablePaletteLayout!==s.PALETTE_LAYOUT_NONE,isPaletteOpen:e.palette.isOpen,isNotificationOpen:e.notificationpanel.isOpen,notificationConfigExists:null===(n=e.notificationpanel)||void 0===n?void 0:n.config,notificationConfigEnable:null===(i=e.notificationpanel)||void 0===i||null===(i=i.config)||void 0===i?void 0:i.enable,notificationConfigLabel:null===(o=e.notificationpanel)||void 0===o||null===(o=o.config)||void 0===o?void 0:o.label,notificationConfigKeepOpen:null===(a=e.notificationpanel)||void 0===a||null===(a=a.config)||void 0===a?void 0:a.keepOpen,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()}})(o.injectIntl(es));function ns(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ns=function(){return!!e})()}var is=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,ns()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).logger=new h.Logger("CC-LeftFlyout"),o}return t._inherits(i,n),e._createClass(i,[{key:"render",value:function(){this.logger.log("render");var e=T.default.createElement("div",null);if(this.props.content&&this.props.isOpen){var t=this.props.enableLeftFlyoutUnderToolbar?"left-flyout-panel under-toolbar":"left-flyout-panel";e=T.default.createElement("div",{className:"left-flyout"},T.default.createElement("div",{className:t},this.props.content))}return e}}])}(T.default.Component),os=i.connect(function(e,t){return{isOpen:e.leftflyout.isOpen,content:e.leftflyout.content,enableLeftFlyoutUnderToolbar:e.canvasconfig.enableLeftFlyoutUnderToolbar}})(is);function as(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(as=function(){return!!e})()}var rs=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,as()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).logger=new h.Logger("CC-RightFlyout"),o.rightFlyoutRef=T.default.createRef(),o.state={isBeingDragging:!1},o.initialMinWidth=null,o.onMouseUp=o.onMouseUp.bind(o),o.onMouseDown=o.onMouseDown.bind(o),o.onMouseMoveX=o.onMouseMoveX.bind(o),o.getCurrentWidth=o.getCurrentWidth.bind(o),o.getRightFlyoutResizeContent=o.getRightFlyoutResizeContent.bind(o),o}return t._inherits(i,n),e._createClass(i,[{key:"componentDidMount",value:function(){void 0!==this.props.panelMinWidth&&null!==this.props.panelMinWidth||(this.initialMinWidth=this.getCurrentWidth())}},{key:"onMouseDown",value:function(e){0===e.button&&(this.setState({isBeingDragging:!0}),document.addEventListener("mousemove",this.onMouseMoveX,!0),document.addEventListener("mouseup",this.onMouseUp,!0),this.posX=e.clientX,e.preventDefault())}},{key:"onMouseUp",value:function(){this.setState({isBeingDragging:!1}),document.removeEventListener("mousemove",this.onMouseMoveX,!0),document.removeEventListener("mouseup",this.onMouseUp,!0)}},{key:"onMouseMoveX",value:function(e){if(e.clientX){var t=(this.isPanelWidthSpecified()?this.props.panelWidth:this.getCurrentWidth())-(e.clientX-this.posX);this.props.canvasController.setRightFlyoutWidth(this.limitWidth(t)),this.posX=e.clientX}}},{key:"getRightFlyoutResizeContent",value:function(){var e=null;if(this.props.enableRightFlyoutDragToResize){var t="right-flyout-drag"+(this.state.isBeingDragging?" is-being-dragged":"");e=T.default.createElement("div",{className:t,onMouseDown:this.onMouseDown})}return e}},{key:"getCurrentWidth",value:function(){var e,t;return null!==(e=this.rightFlyoutRef)&&void 0!==e&&e.current?null===(t=this.rightFlyoutRef)||void 0===t?void 0:t.current.getBoundingClientRect().width:0}},{key:"getMinWidth",value:function(){return void 0===this.props.panelMinWidth||null===this.props.panelMinWidth?null===this.initialMinWidth?0:this.initialMinWidth:this.props.panelMinWidth}},{key:"isPanelWidthSpecified",value:function(){return!(void 0===this.props.panelWidth||null===this.props.panelWidth)}},{key:"limitWidth",value:function(e){var t=.7*(this.props.getCenterPanelWidth()+this.getCurrentWidth()),n=this.getMinWidth();return Math.min(Math.max(e,n),t)}},{key:"render",value:function(){this.logger.log("render");var e=null;if(this.props.content&&this.props.isOpen){var t=this.getRightFlyoutResizeContent(),n=this.isPanelWidthSpecified()?this.limitWidth(this.props.panelWidth)+"px":null,i=this.props.enableRightFlyoutUnderToolbar?"right-flyout-panel under-toolbar":"right-flyout-panel";e=T.default.createElement("div",{className:"right-flyout",style:{width:n}},t,T.default.createElement("div",{className:i,ref:this.rightFlyoutRef},this.props.content))}return e}}])}(T.default.Component),ss=i.connect(function(e,t){return{isOpen:e.rightflyout.isOpen,content:e.rightflyout.content,enableRightFlyoutUnderToolbar:e.canvasconfig.enableRightFlyoutUnderToolbar,enableRightFlyoutDragToResize:e.canvasconfig.enableRightFlyoutDragToResize,panelWidth:e.rightflyout.panelWidth,panelMinWidth:e.rightflyout.panelMinWidth}})(rs);function ls(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ls=function(){return!!e})()}var cs=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,ls()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).logger=new h.Logger("CC-Top-Panel"),o}return t._inherits(i,n),e._createClass(i,[{key:"render",value:function(){this.logger.log("render");var e=null;return this.props.topPanelIsOpen&&(e=T.default.createElement("div",{className:"top-panel"},T.default.createElement("div",{className:"top-panel-contents"},this.props.topPanelContent))),e}}])}(T.default.Component),us=i.connect(function(e,t){return{topPanelIsOpen:e.toppanel.isOpen,topPanelContent:e.toppanel.content}})(cs);function ds(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ds=function(){return!!e})()}var hs=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,ds()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).divRef=T.default.createRef(),o.logger=new h.Logger("CC-Center-Panel"),o}return t._inherits(i,n),e._createClass(i,[{key:"getBoundingRect",value:function(){var e;return null===(e=this.divRef)||void 0===e||null===(e=e.current)||void 0===e?void 0:e.getBoundingClientRect()}},{key:"render",value:function(){return this.logger.log("render"),T.default.createElement("div",{className:"center-panel",ref:this.divRef},this.props.content)}}])}(T.default.Component);function gs(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(gs=function(){return!!e})()}var ps=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,gs()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).logger=new h.Logger("CC-Bottom-Panel"),o.state={isBeingDragging:!1},o.minHeight=0,o.bottomPanelRef=T.default.createRef(),o.onMouseUp=o.onMouseUp.bind(o),o.onMouseDown=o.onMouseDown.bind(o),o.onMouseMoveY=o.onMouseMoveY.bind(o),o}return t._inherits(i,n),e._createClass(i,[{key:"componentDidMount",value:function(){this.minHeight=75}},{key:"onMouseDown",value:function(e){0===e.button&&(this.setState({isBeingDragging:!0}),document.addEventListener("mousemove",this.onMouseMoveY,!0),document.addEventListener("mouseup",this.onMouseUp,!0),this.posY=e.clientY,e.preventDefault())}},{key:"onMouseUp",value:function(e){this.setState({isBeingDragging:!1}),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,n=.8*(this.props.getCenterPanelHeight()+(null!==(t=this.bottomPanelRef)&&void 0!==t&&t.current?this.bottomPanelRef.current.getBoundingClientRect().height:0));return Math.min(Math.max(e,this.minHeight),n)}},{key:"render",value:function(){this.logger.log("render");var e=null;if(this.props.bottomPanelIsOpen){var t=this.limitHeight(this.props.panelHeight)+"px",n="bottom-panel-drag"+(this.state.isBeingDragging?" is-being-dragged":"");e=T.default.createElement("div",{ref:this.bottomPanelRef,className:"bottom-panel",style:{height:t}},T.default.createElement("div",{className:n,onMouseDown:this.onMouseDown}),T.default.createElement("div",{className:"bottom-panel-contents"},this.props.bottomPanelContent))}return e}}])}(T.default.Component),fs=i.connect(function(e,t){return{bottomPanelIsOpen:e.bottompanel.isOpen,bottomPanelContent:e.bottompanel.content,panelHeight:e.bottompanel.panelHeight}})(ps);function vs(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(vs=function(){return!!e})()}var ys=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,vs()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).logger=new h.Logger("CC-Panels"),o.containingDivId="common-canvas-items-container-"+n.canvasController.getInstanceId(),o.centerPanelRef=T.default.createRef(),o.getCenterPanelWidth=o.getCenterPanelWidth.bind(o),o.getCenterPanelHeight=o.getCenterPanelHeight.bind(o),o}return t._inherits(i,n),e._createClass(i,[{key:"onDragOver",value:function(e){e.preventDefault()}},{key:"onDrop",value:function(e){e.preventDefault()}},{key:"getCenterPanelWidth",value:function(){var e,t=null===(e=this.centerPanelRef)||void 0===e||null===(e=e.current)||void 0===e?void 0:e.getBoundingRect();return t?t.width:0}},{key:"getCenterPanelHeight",value:function(){var e,t=null===(e=this.centerPanelRef)||void 0===e||null===(e=e.current)||void 0===e?void 0:e.getBoundingRect();return t?t.height:1e3}},{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:"generateTopCenterBottom",value:function(){var e=T.default.createElement(Yr,{canvasController:this.props.canvasController}),t=T.default.createElement(us,{canvasController:this.props.canvasController,containingDivId:this.containingDivId}),n=T.default.createElement(hs,{ref:this.centerPanelRef,content:e}),i=T.default.createElement(fs,{canvasController:this.props.canvasController,getCenterPanelHeight:this.getCenterPanelHeight}),o=this.props.topPanelIsOpen?"auto 1fr":"1fr";return o+=this.props.bottomPanelIsOpen?" auto":"",T.default.createElement("div",{className:"common-canvas-grid-vertical",style:{gridTemplateRows:o}},t,n,i)}},{key:"isLeftFlyoutOpen",value:function(){return this.props.enablePaletteLayout!==s.PALETTE_LAYOUT_DIALOG&&(!(this.props.enablePaletteLayout!==s.PALETTE_LAYOUT_NONE||!this.props.leftFlyoutIsOpen)||!(this.props.enablePaletteLayout!==s.PALETTE_LAYOUT_FLYOUT||!this.props.paletteIsOpen&&!this.props.enableNarrowPalette))}},{key:"isRightFlyoutOpen",value:function(){return this.props.rightFlyoutIsOpen}},{key:"generateLeftFlyout",value:function(){return this.props.enablePaletteLayout===s.PALETTE_LAYOUT_NONE&&this.props.leftFlyoutIsOpen?T.default.createElement(os,null):this.props.enablePaletteLayout===s.PALETTE_LAYOUT_FLYOUT?T.default.createElement(le,{canvasController:this.props.canvasController}):null}},{key:"generateRightFlyout",value:function(){return T.default.createElement(ss,{getCenterPanelWidth:this.getCenterPanelWidth,canvasController:this.props.canvasController})}},{key:"render",value:function(){this.logger.log("render");var e=T.default.createElement(_e,{canvasController:this.props.canvasController}),t=T.default.createElement(ts,{canvasController:this.props.canvasController,containingDivId:this.containingDivId}),n=this.isRightFlyoutOpen()?this.generateRightFlyout():null,i=this.isLeftFlyoutOpen(),o=i?this.generateLeftFlyout():null,a=this.generateTopCenterBottom(),r=null;if(this.props.enableLeftFlyoutUnderToolbar)if(this.props.enableRightFlyoutUnderToolbar){var l=i&&o?"auto ":"";l+="1fr",l+=this.props.rightFlyoutIsOpen?" auto":"";var c=this.props.toolbarIsOpen?"auto 1fr":"1fr",u=T.default.createElement("div",{id:this.containingDivId,className:"common-canvas-grid-horizontal",style:{gridTemplateColumns:l}},o,a,n);r=T.default.createElement("div",{className:"common-canvas-grid-vertical",style:{gridTemplateRows:c}},t,u)}else{var d=this.props.rightFlyoutIsOpen?"1fr auto":"1fr",h=this.props.toolbarIsOpen?"auto 1fr":"1fr",g=i?"auto 1fr":"1fr",p=T.default.createElement("div",{className:"common-canvas-grid-vertical",style:{gridTemplateRows:h}},t,T.default.createElement("div",{id:this.containingDivId,className:"common-canvas-grid-horizontal",style:{gridTemplateColumns:g}},o,a));r=T.default.createElement("div",{className:"common-canvas-grid-horizontal",style:{gridTemplateColumns:d}},p,n)}else if(this.props.enableRightFlyoutUnderToolbar){var f=i?"auto 1fr":"1fr",v=this.props.toolbarIsOpen?"auto 1fr":"1fr",y=this.props.rightFlyoutIsOpen?"1fr auto":"1fr",m=T.default.createElement("div",{className:"common-canvas-grid-vertical",style:{gridTemplateRows:v}},t,T.default.createElement("div",{id:this.containingDivId,className:"common-canvas-grid-horizontal",style:{gridTemplateColumns:y}},a,n));r=T.default.createElement("div",{className:"common-canvas-grid-horizontal",style:{gridTemplateColumns:f}},o,m)}else{var b="";b+=this.props.toolbarIsOpen?"auto":"",b+=" 1fr";var C=i&&o?"auto ":"";C+="1fr",C+=this.props.rightFlyoutIsOpen?" auto":"";var k=T.default.createElement("div",{className:"common-canvas-grid-vertical",style:{gridTemplateRows:b}},t,T.default.createElement("div",{id:this.containingDivId},a));r=T.default.createElement("div",{className:"common-canvas-grid-horizontal",style:{gridTemplateColumns:C}},o,k,n)}var L=this.props.enablePaletteLayout===s.PALETTE_LAYOUT_DIALOG&&this.props.paletteIsOpen?T.default.createElement(Se,{canvasController:this.props.canvasController,containingDivId:this.containingDivId}):null,x=this.generateClass();return T.default.createElement("div",{className:x,onDragOver:this.onDragOver,onDrop:this.onDrop},r,L,e)}}])}(T.default.Component),ms=i.connect(function(e,t){return{enableParentClass:e.canvasconfig.enableParentClass,enableEditingActions:e.canvasconfig.enableEditingActions,enablePaletteLayout:e.canvasconfig.enablePaletteLayout,enableNarrowPalette:e.canvasconfig.enableNarrowPalette,enableLeftFlyoutUnderToolbar:e.canvasconfig.enableLeftFlyoutUnderToolbar,enableRightFlyoutUnderToolbar:e.canvasconfig.enableRightFlyoutUnderToolbar,enableRightFlyoutDragToResize:e.canvasconfig.enableRightFlyoutDragToResize,toolbarIsOpen:e.canvasconfig.enableToolbarLayout!==s.PALETTE_LAYOUT_NONE,paletteIsOpen:e.palette.isOpen,topPanelIsOpen:e.toppanel.isOpen,bottomPanelIsOpen:e.bottompanel.isOpen,leftFlyoutIsOpen:e.leftflyout.isOpen,rightFlyoutIsOpen:e.rightflyout.isOpen}})(ys);function bs(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(bs=function(){return!!e})()}var Cs=function(n){function o(n){var i,a,r,s;return e._classCallCheck(this,o),a=this,r=o,s=[n],r=t._getPrototypeOf(r),(i=t._possibleConstructorReturn(a,bs()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).logger=new h.Logger(["CommonCanvas"]),i.logger.log("constructor"),i.initializeController=i.initializeController.bind(i),n.canvasController.setIntl(n.intl),i.initializeController(n),i}return t._inherits(o,n),e._createClass(o,[{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.setLeftFlyoutConfig({content:e.leftFlyoutContent,isOpen:e.showLeftFlyout}),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"),T.default.createElement(i.Provider,{store:this.props.canvasController.getStore()},T.default.createElement(ms,{canvasController:this.props.canvasController}))}}])}(T.default.Component),ks=o.injectIntl(Cs);exports.Palette=le,exports.commonCanvas=ks;
2
- //# sourceMappingURL=common-canvas-76637856.js.map
1
+ "use strict";var e=require("./createClass-df7b07d6.js"),t=require("./inherits-74e481d1.js"),n=require("react"),i=require("react-redux"),o=require("react-intl"),a=require("./toolbar-f49f9bc4.js"),r=require("./datarecord-metadata-v3-schema-e8c37ecf.js"),s=require("./common-canvas-utils-0422db0b.js"),l=require("@carbon/react"),c=require("react-inlinesvg"),u=require("./keyboard-utils-36a4cde5.js"),d=require("./icon-cd9138da.js"),h=require("./canvas-logger-8c01664d.js"),g=require("./bucket-3-ce4b6e95.js"),p=require("./isArrayLikeObject-9f61d956.js"),f=require("./lib/tooltip.js"),v=require("./canvas-controller-40365e79.js"),y=require("./context-menu-wrapper-0aba15be.js"),m=require("./toInteger-59f8800a.js"),b=require("./en-412ab08a.js"),C=require("./defineProperty-d68f985b.js"),k=require("markdown-it"),L=require("react-dom");function x(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var T=x(n),P=x(c),N=x(k),S=x(L),O={"palette.flyout.search.placeholder":"Find palette nodes","palette.flyout.search.noresults":"No results found.","palette.flyout.search.adjustsearch":"Try adjusting your search to find what you're looking for.","palette.flyout.search.resultsrestricted":"Results restricted to 10 nodes. Try refining your search.","palette.flyout.search.more":"Show more","palette.flyout.search.less":"Show less","palette.flyout.label":"Flyout Palette","palette.dialog.label":"Dialog Palette","palette.dialog.grid":"Grid view","palette.dialog.list":"List view","palette.dialog.close":"Close palette"};function E(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return _(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_(e,t):void 0}}(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 a,r=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return r=e.done,e},e:function(e){s=!0,a=e},f:function(){try{r||null==n.return||n.return()}finally{if(s)throw a}}}}function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function I(e,t){var n=[];if(e.node_types){var i,o=E(e.node_types);try{for(o.s();!(i=o.n()).done;){var a=i.value,r=D(a,e,t);r&&n.push({nodeType:a,category:e,occurrenceInfo:r})}}catch(e){o.e(e)}finally{o.f()}}return n}function D(e,t,n){if(n.length>0){var i=function(e,t){var n=s.has_1(e,"label")&&e.label?e.label.toLowerCase():"",i=A(n,t),o=i.occurrences,a=i.hitCounts;return{catLabelOccurrences:o,catLabelHitCounts:a}}(t,n),o=i.catLabelOccurrences,a=i.catLabelHitCounts,r=function(e,t){var n=s.has_1(e,"app_data.ui_data.label")&&e.app_data.ui_data.label?e.app_data.ui_data.label.toLowerCase():"",i=A(n,t),o=i.occurrences,a=i.hitCounts;return{nodeLabelOccurrences:o,nodeLabelHitCounts:a}}(e,n),l=r.nodeLabelOccurrences,c=r.nodeLabelHitCounts,u=function(e,t){var n=s.has_1(e,"app_data.ui_data.description")&&e.app_data.ui_data.description?e.app_data.ui_data.description.toLowerCase():"",i=A(n,t),o=i.occurrences,a=i.hitCounts;return{nodeDescOccurrences:o,nodeDescHitCounts:a}}(e,n),d=u.nodeDescOccurrences,h=u.nodeDescHitCounts;if(o.length>0||l.length>0||d.length>0){var g=function(e,t,n,i){for(var o=0,a=0,r=0;r<i;r++)o+=e[r]+10*t[r]+n[r],e[r]+t[r]+n[r]>0&&a++;return o+50*a}(a,c,h,n.length);return{catLabelOccurrences:o,nodeLabelOccurrences:l,nodeDescOccurrences:d,ranking:g}}}return null}function A(e,t){var n=[],i=[];return t.forEach(function(t){if(t){var o=function(e,t){var n=[],i=0,o=0,a=0;for(;o>-1&&a<20;)(o=e.indexOf(t,i))>-1&&(n.push({start:o,end:o+t.length}),i=o+t.length,a++);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 w(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(w=function(){return!!e})()}var U=function(n){function i(){return e._classCallCheck(this,i),n=this,o=i,a=arguments,o=t._getPrototypeOf(o),t._possibleConstructorReturn(n,w()?Reflect.construct(o,a||[],t._getPrototypeOf(n).constructor):o.apply(n,a));var n,o,a}return t._inherits(i,n),e._createClass(i,[{key:"render",value:function(){var e=this.props.intl.formatMessage({id:this.props.id,defaultMessage:O[this.props.id]});return T.default.createElement("div",{key:"l_btn",className:"palette-list-item-desc-button",onClick:this.props.onClick},e)}}])}(T.default.Component),j=o.injectIntl(U),M="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",R="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 z(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(z=function(){return!!e})()}var F=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,z()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).state={showFullDescription:!1},o.ghostData=null,o.showFullDescription=o.showFullDescription.bind(o),o.showShortDescription=o.showShortDescription.bind(o),o.onDragStart=o.onDragStart.bind(o),o.onDragEnd=o.onDragEnd.bind(o),o.onClick=o.onClick.bind(o),o.onDoubleClick=o.onDoubleClick.bind(o),o.onMouseOver=o.onMouseOver.bind(o),o.onMouseLeave=o.onMouseLeave.bind(o),o.onMouseDown=o.onMouseDown.bind(o),o.onKeyDown=o.onKeyDown.bind(o),o}return t._inherits(i,n),e._createClass(i,[{key:"onMouseDown",value:function(){this.props.canvasController.closeTip(),this.props.setFocusIndex&&this.props.setFocusIndex(),this.ghostData=this.props.canvasController.getGhostNode(this.props.nodeTypeInfo.nodeType)}},{key:"onDragStart",value:function(e){this.props.canvasController.closeTip(),this.props.canvasController.nodeTemplateDragStart(this.ghostData.nodeTemplate),e.dataTransfer.setData(s.DND_DATA_TEXT,""),this.ghostData&&e.dataTransfer.setDragImage(this.ghostData.element,this.ghostData.centerX,this.ghostData.centerY)}},{key:"onKeyDown",value:function(e){u.KeyboardUtils.createAutoNode(e)?(this.createAutoNode(!0),e.stopPropagation()):u.KeyboardUtils.createAutoNodeNoLink(e)?this.createAutoNode(!1):u.KeyboardUtils.nextNodeInCategory(e)&&this.props.nextNodeInCategory?this.props.nextNodeInCategory(e):u.KeyboardUtils.previousNodeInCategory(e)&&this.props.previousNodeInCategory?this.props.previousNodeInCategory(e):u.KeyboardUtils.tabFocusOutOfPalette(e)&&this.props.tabOut&&this.props.tabOut(e)}},{key:"onDragEnd",value:function(){this.props.canvasController.nodeTemplateDragEnd()}},{key:"onDoubleClick",value:function(){this.props.allowClickToAdd||this.createAutoNode(!0)}},{key:"onClick",value:function(e){this.props.allowClickToAdd&&this.createAutoNode(!0),e.stopPropagation()}},{key:"onMouseOver",value:function(e){this.props.isDisplaySearchResult||0!==e.buttons||this.displayTip()}},{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);return n&&(this.state.showFullDescription?o.push(T.default.createElement(j,{id:"palette.flyout.search.less",onClick:this.showShortDescription})):o.push(T.default.createElement(j,{id:"palette.flyout.search.more",onClick:this.showFullDescription}))),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,a="",r=0;return i<n?(r=0,a=e.substring(r,n)+" ..."):o>n?(r=i,a="... "+e.substring(r,i+n)+" ...",r-=4):(r=e.length-n,a="... "+e.substring(r,e.length),r-=4),{abbrDesc:a,occurrences:t.map(function(e){return{start:e.start-r,end:e.end-r}})}}},{key:"getHighlightedText",value:function(e,t){if(!t||0===t.length)return[T.default.createElement("span",{key:"o"},e)];var n=[],i=0,o="";return t.forEach(function(a,r){o=e.substring(i,a.start),n.push(T.default.createElement("span",{key:"s"+r},o)),o=e.substring(a.start,a.end),n.push(T.default.createElement("mark",{key:"m"+r},o)),i=a.end,r===t.length-1&&a.end<e.length&&(o=e.substring(a.end),n.push(T.default.createElement("span",{key:"f"+r},o)))}),n}},{key:"getMainDivClass",value:function(){var e,t=null===(e=this.props.nodeTypeInfo)||void 0===e||null===(e=e.nodeType)||void 0===e||null===(e=e.app_data)||void 0===e||null===(e=e.ui_data)||void 0===e?void 0:e.palette_class_name,n=this.props.isDisplaySearchResult?"palette-list-item search-result":"palette-list-item";return n+=t?" "+t:"",n+=this.props.isPaletteWide?"":" palette-narrow"}},{key:"showFullDescription",value:function(){this.setState({showFullDescription:!0})}},{key:"showShortDescription",value:function(){this.setState({showFullDescription:!1})}},{key:"focus",value:function(){this.itemRef.current.focus(),this.displayTip()}},{key:"displayTip",value:function(){this.props.canvasController.closeTip();var e=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:s.TIP_TYPE_PALETTE_ITEM,targetObj:this.itemRef.current,nodeTemplate:e,category:this.props.nodeTypeInfo.category})}},{key:"isItemDisabled",value:function(){var e,t=null===(e=this.props.nodeTypeInfo.nodeType)||void 0===e||null===(e=e.app_data)||void 0===e||null===(e=e.ui_data)||void 0===e?void 0:e.palette_disabled;return!this.props.isEditingEnabled||t}},{key:"createAutoNode",value:function(e){this.props.createAutoNode&&!this.isItemDisabled()&&this.props.createAutoNode(this.props.nodeTypeInfo.nodeType,e)}},{key:"render",value:function(){var t,n=null,i=s.get_1(this.props,"nodeTypeInfo.nodeType.app_data.ui_data.label",""),o=this.isItemDisabled()?"false":"true",a=null,r=this.isItemDisabled();if(s.has_1(this.props.nodeTypeInfo.nodeType,"app_data.ui_data.image")){var l=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;l===s.USE_DEFAULT_ICON?l=M:l===s.USE_DEFAULT_EXT_ICON&&(l=R),"object"===e._typeof(l)&&T.default.isValidElement(l)?a=l:"string"==typeof l&&(a=l.endsWith(".svg")?T.default.createElement(P.default,{src:l,className:"palette-list-item-icon",draggable:"false","aria-hidden":"true"}):T.default.createElement("img",{src:l,className:"palette-list-item-icon",draggable:"false",alt:""}))}i&&(this.props.isPaletteWide||!a?n=this.props.isDisplaySearchResult?this.getHighlightedLabel(i):T.default.createElement("span",null,i):this.props.isPaletteWide||(n=T.default.createElement("span",null,i)));var c=this.props.isShowRanking&&this.props.isDisplaySearchResult&&s.has_1(this.props.nodeTypeInfo,"occurrenceInfo.ranking")?T.default.createElement("span",null,this.props.nodeTypeInfo.occurrenceInfo.ranking):null;0===this.props.nodeTypeInfo.category.node_types.length&&this.props.nodeTypeInfo.category.empty_text&&(i=this.props.nodeTypeInfo.category.empty_text,this.props.isPaletteWide&&(n=T.default.createElement("span",null,i)),o="false",a=T.default.createElement(d.Icon,{type:s.CANVAS_CARBON_ICONS.WARNING_UNFILLED,className:"palette-list-item-icon-warning",draggable:"false"}));var u=this.getMainDivClass(),h=this.props.isDisplaySearchResult?T.default.createElement("div",{className:"palette-list-item-category-label"},this.getHighlightedCategoryLabel()):null,g=this.props.isDisplaySearchResult&&null!==(t=this.props)&&void 0!==t&&null!==(t=t.nodeTypeInfo)&&void 0!==t&&null!==(t=t.nodeType)&&void 0!==t&&null!==(t=t.app_data)&&void 0!==t&&null!==(t=t.ui_data)&&void 0!==t&&t.description?T.default.createElement("div",{className:"palette-list-item-description"},this.getHighlightedDesc()):null,p=n?T.default.createElement("div",{className:"palette-list-item-text-div"},n):null;return this.itemRef=T.default.createRef(),T.default.createElement("div",{ref:this.itemRef,"data-id":this.props.nodeTypeInfo.nodeType.op,tabIndex:this.props.tabIndex,role:"button","aria-disabled":r,draggable:o,className:u,onMouseOver:this.onMouseOver,onMouseLeave:this.onMouseLeave,onKeyDown:this.props.isEditingEnabled?this.onKeyDown:null,onMouseDown:this.props.isEditingEnabled?this.onMouseDown:null,onDragStart:this.props.isEditingEnabled?this.onDragStart:null,onDragEnd:this.props.isEditingEnabled?this.onDragEnd:null,onClick:this.props.isEditingEnabled?this.onClick:null,onDoubleClick:this.props.isEditingEnabled?this.onDoubleClick:null},h,T.default.createElement("div",{className:"palette-list-item-icon-and-text"},a,p,c),g)}}])}(T.default.Component),H=F;function G(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(G=function(){return!!e})()}var B=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,G()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).currentFocusIndex=0,o.contentItemRefs=[],o.nextNodeInCategory=o.nextNodeInCategory.bind(o),o.previousNodeInCategory=o.previousNodeInCategory.bind(o),o}return t._inherits(i,n),e._createClass(i,[{key:"setFirstNode",value:function(){this.currentFocusIndex=0,this.contentItemRefs[this.currentFocusIndex].current.focus()}},{key:"setFocusIndex",value:function(e){this.currentFocusIndex=e}},{key:"nextNodeInCategory",value:function(e){this.currentFocusIndex++,this.currentFocusIndex>this.contentItemRefs.length-1&&(this.currentFocusIndex=0),this.contentItemRefs[this.currentFocusIndex].current.focus(),s.CanvasUtils.stopPropagationAndPreventDefault(e)}},{key:"previousNodeInCategory",value:function(e){this.currentFocusIndex--,this.currentFocusIndex<0&&(this.currentFocusIndex=this.contentItemRefs.length-1),this.contentItemRefs[this.currentFocusIndex].current.focus(),s.CanvasUtils.stopPropagationAndPreventDefault(e)}},{key:"render",value:function(){var e=[];if(this.contentItemRefs=[],this.props.category&&this.props.category.node_types&&0===this.props.category.node_types.length&&this.props.category.empty_text)e.push(T.default.createElement("div",{key:"item_empty"},T.default.createElement(H,{tabIndex:0,nodeTypeInfo:{nodeType:{},category:this.props.category},isDisplaySearchResult:!1,canvasController:this.props.canvasController,allowClickToAdd:this.props.allowClickToAdd,isPaletteWide:this.props.isPaletteWide,isEditingEnabled:this.props.isEditingEnabled})));else for(var t=0;t<this.props.nodeTypeInfos.length;t++){var n="item_"+t,i=T.default.createRef();this.contentItemRefs.push(i),e.push(T.default.createElement(H,{ref:i,key:n,tabIndex:-1,nodeTypeInfo:this.props.nodeTypeInfos[t],isDisplaySearchResult:!1,canvasController:this.props.canvasController,isPaletteWide:this.props.isPaletteWide,isEditingEnabled:this.props.isEditingEnabled,nextNodeInCategory:this.nextNodeInCategory,previousNodeInCategory:this.previousNodeInCategory,setFocusIndex:this.setFocusIndex.bind(this,t),allowClickToAdd:this.props.allowClickToAdd,createAutoNode:this.props.createAutoNode}))}return T.default.createElement("div",{width:"100%",draggable:"false",className:"palette-content-list palette-scroll"},e)}}])}(T.default.Component);function K(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(K=function(){return!!e})()}var W=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,K()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).onMouseOver=o.onMouseOver.bind(o),o.onMouseLeave=o.onMouseLeave.bind(o),o.onFocus=o.onFocus.bind(o),o.onKeyDownCategory=o.onKeyDownCategory.bind(o),o.onHeadingClick=o.onHeadingClick.bind(o),o.getTitleObj=o.getTitleObj.bind(o),o}return t._inherits(i,n),e._createClass(i,[{key:"onMouseOver",value:function(e){this.displayTip(e)}},{key:"onMouseLeave",value:function(){this.props.canvasController.closeTip()}},{key:"onFocus",value:function(e){this.displayTip(e)}},{key:"onKeyDownCategory",value:function(e){u.KeyboardUtils.openCategory(e)?(this.onHeadingClick(),s.CanvasUtils.stopPropagationAndPreventDefault(e)):this.props.category.is_open&&u.KeyboardUtils.fromCategoryToFirstNode(e)?(this.pclRef.current.setFirstNode(),s.CanvasUtils.stopPropagationAndPreventDefault(e)):u.KeyboardUtils.tabFocusOutOfPalette(e)&&this.props.tabOut&&this.props.tabOut(e)}},{key:"onHeadingClick",value:function(){this.props.category.is_open?this.props.canvasController.closePaletteCategory(this.props.category.id):this.props.canvasController.openPaletteCategory(this.props.category.id)}},{key:"getInlineLoadingRenderCategory",value:function(){var e="";this.props.isPaletteWide&&(e=this.props.category.loading_text);var t=T.default.createElement("div",{className:"palette-flyout-category"},T.default.createElement("div",{className:"palette-flyout-category-item-loading"},T.default.createElement(l.InlineLoading,{description:e,onSuccess:function(){return null},status:"active",successDelay:1500})));return T.default.createElement(l.AccordionItem,{className:"palette-loading-category",title:t})}},{key:"getRenderCategory",value:function(){var e=this.getTitleObj(),t=this.getContent();return T.default.createElement(l.AccordionItem,{title:e,open:this.props.category.is_open,onKeyDown:this.onKeyDownCategory,onFocus:this.onFocus,onHeadingClick:this.onHeadingClick},t)}},{key:"getTitleObj",value:function(){var e=this.getItemImage(),t=this.getItemText();return this.catRef=T.default.createRef(),T.default.createElement("div",{className:"palette-flyout-category",ref:this.catRef,"data-id":s.get_1(this.props.category,"id",""),value:this.props.category.label,onMouseOver:this.onMouseOver,onMouseLeave:this.onMouseLeave},T.default.createElement("div",{className:"palette-flyout-category-item",tabIndex:-1},e,t))}},{key:"getItemText",value:function(){var e=null;if(this.props.isPaletteWide){var t=this.props.category.image?"palette-flyout-category-text":"palette-flyout-category-text-no-image";e=T.default.createElement("span",{className:t},this.props.category.label)}else e=!this.props.category.image&&this.props.category.label&&this.props.category.label.length>0?T.default.createElement("span",{className:"palette-flyout-category-text-abbr"},this.props.category.label.substr(0,3)):T.default.createElement("span",{className:"palette-flyout-category-text-zero-size"},this.props.category.label);return e}},{key:"getItemImage",value:function(){var t=null;return this.props.category.image&&""!==this.props.category.image&&(t="object"===e._typeof(this.props.category.image)&&T.default.isValidElement(this.props.category.image)?this.props.category.image:this.props.category.image.endsWith(".svg")?T.default.createElement("div",null,T.default.createElement(P.default,{src:this.props.category.image,className:"palette-flyout-category-item-icon",draggable:"false","aria-hidden":"true"})):T.default.createElement("div",null,T.default.createElement("img",{src:this.props.category.image,className:"palette-flyout-category-item-icon",draggable:"false",alt:this.props.category.label}))),t}},{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 this.pclRef=T.default.createRef(),T.default.createElement(B,{ref:this.pclRef,key:this.props.category.id+"-nodes",category:this.props.category,nodeTypeInfos:t,canvasController:this.props.canvasController,allowClickToAdd:this.props.allowClickToAdd,isPaletteWide:this.props.isPaletteWide,isEditingEnabled:this.props.isEditingEnabled,createAutoNode:this.props.createAutoNode})}return null}},{key:"displayTip",value:function(){this.props.canvasController.closeTip(),this.props.canvasController.openTip({id:"paletteTip_"+this.props.category.id,type:s.TIP_TYPE_PALETTE_CATEGORY,targetObj:this.catRef.current,category:this.props.category})}},{key:"render",value:function(){return this.props.category.loading_text?this.getInlineLoadingRenderCategory():this.getRenderCategory()}}])}(T.default.Component);function Y(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Y=function(){return!!e})()}var X=function(n){function i(){var n,o,a,r;return e._classCallCheck(this,i),o=this,a=i,a=t._getPrototypeOf(a),(n=t._possibleConstructorReturn(o,Y()?Reflect.construct(a,r||[],t._getPrototypeOf(o).constructor):a.apply(o,r))).state={searchString:""},n.searchOnClick=n.searchOnClick.bind(n),n.handleSearchStringChange=n.handleSearchStringChange.bind(n),n}return t._inherits(i,n),e._createClass(i,[{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.isPaletteWide||this.props.canvasController.openPalette()}},{key:"render",value:function(){var e=this.props.intl.formatMessage({id:"palette.flyout.search.placeholder",defaultMessage:O["palette.flyout.search.placeholder"]});return T.default.createElement("div",{className:"palette-flyout-search-container",id:"palette-flyout-search"},T.default.createElement(l.Search,{className:"palette-flyout-search",placeholder:e,onChange:this.handleSearchStringChange,size:"sm",value:this.state.searchString,labelText:e,onClick:this.searchOnClick}))}}])}(T.default.Component),V=o.injectIntl(X);function Z(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Z=function(){return!!e})()}var q=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,Z()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).state={},o.onKeyDownResults=o.onKeyDownResults.bind(o),o}return t._inherits(i,n),e._createClass(i,[{key:"onKeyDownResults",value:function(e){u.KeyboardUtils.tabFocusOutOfPalette(e)&&this.props.tabOutOfOfPalette(e)}},{key:"getNoResultsDiv",value:function(){var e=this.props.intl.formatMessage({id:"palette.flyout.search.noresults",defaultMessage:O["palette.flyout.search.noresults"]}),t=this.props.intl.formatMessage({id:"palette.flyout.search.adjustsearch",defaultMessage:O["palette.flyout.search.adjustsearch"]});return T.default.createElement("div",{tabIndex:0,onKeyDown:this.onKeyDownResults},T.default.createElement("div",{className:"palette-no-results-title"},e),T.default.createElement("br",null),T.default.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,i=t===this.props.nodeTypeInfos.length-1,o=!this.props.isNodeTypeInfosArrayTruncated;e.push(T.default.createElement("div",{key:n},T.default.createElement(H,{tabIndex:0,nodeTypeInfo:this.props.nodeTypeInfos[t],isDisplaySearchResult:!0,isShowRanking:this.props.isShowRanking,canvasController:this.props.canvasController,isPaletteWide:this.props.isPaletteWide,isEditingEnabled:this.props.isEditingEnabled,allowClickToAdd:this.props.allowClickToAdd,createAutoNode:this.props.createAutoNode,tabOut:i&&o?this.props.tabOutOfOfPalette:null})))}if(this.props.isNodeTypeInfosArrayTruncated){var a=this.props.intl.formatMessage({id:"palette.flyout.search.resultsrestricted",defaultMessage:O["palette.flyout.search.resultsrestricted"]});e.push(T.default.createElement("div",{key:"restrict-item",className:"palette-flyout-restrict-item",tabIndex:0,onKeyDown:this.onKeyDownResults},a))}return T.default.createElement("div",{width:"100%",draggable:"false",className:"palette-scroll"},e)}},{key:"render",value:function(){return 0===this.props.nodeTypeInfos.length?this.getNoResultsDiv():this.getContentListDiv()}}])}(T.default.Component),$=o.injectIntl(q);function J(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Q(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Q(e,t):void 0}}(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 a,r=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return r=e.done,e},e:function(e){s=!0,a=e},f:function(){try{r||null==n.return||n.return()}finally{if(s)throw a}}}}function Q(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function ee(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ee=function(){return!!e})()}var te=new h.Logger("PaletteFlyoutContent"),ne=function(n){function i(n){var o,r,s,l;return e._classCallCheck(this,i),r=this,s=i,l=[n],s=t._getPrototypeOf(s),(o=t._possibleConstructorReturn(r,ee()?Reflect.construct(s,l||[],t._getPrototypeOf(r).constructor):s.apply(r,l))).state={searchString:""},o.categories=[],o.getUniqueCategories=o.getUniqueCategories.bind(o),o.setSearchString=o.setSearchString.bind(o),o.handleSearchStringChange=o.handleSearchStringChange.bind(o),o.setSearchStringThrottled=a.debounce_1(o.setSearchString,200),o}return t._inherits(i,n),e._createClass(i,[{key:"getUniqueCategories",value:function(e){var t=[];if(e){var n,i=J(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(T.default.createElement("div",{key:i.label+"-container"},T.default.createElement(W,{key:i.id,category:i,canvasController:this.props.canvasController,allowClickToAdd:this.props.allowClickToAdd,isPaletteWide:this.props.isPaletteWide,isEditingEnabled:this.props.isEditingEnabled,createAutoNode:this.props.createAutoNode,tabOut:n===e.length-1?this.props.tabOutOfOfPalette:null})))}return T.default.createElement(l.Accordion,null,t)}},{key:"getFilteredContentDivs",value:function(e){te.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,r._toConsumableArray(I(e[o],i)));return n.sort(function(e,t){return e.occurrenceInfo.ranking<=t.occurrenceInfo.ranking?1:-1})}(this.categories,this.state.searchString);te.logEndTimer("getFilteredNodeTypeInfos");var n=!1;return t.length>10&&(t=t.slice(0,10),n=!0),[T.default.createElement($,{key:"filtered-nodes",nodeTypeInfos:t,canvasController:this.props.canvasController,allowClickToAdd:this.props.allowClickToAdd,isPaletteWide:this.props.isPaletteWide,isEditingEnabled:this.props.isEditingEnabled,isNodeTypeInfosArrayTruncated:n,createAutoNode:this.props.createAutoNode,tabOutOfOfPalette:this.props.tabOutOfOfPalette})]}},{key:"setSearchString",value:function(){this.setState({searchString:this.ss})}},{key:"handleSearchStringChange",value:function(e){this.ss=e,this.setSearchStringThrottled(),this.props.isPaletteWide||this.props.canvasController.openPalette()}},{key:"render",value:function(){this.categories=this.getUniqueCategories(this.props.paletteJSON.categories);var e=this.props.isPaletteWide&&this.state.searchString?this.getFilteredContentDivs(this.categories):this.getContentDivs(this.categories),t=T.default.createElement("div",{className:"palette-flyout-categories",tabIndex:"-1"},e),n=T.default.createElement(V,{canvasController:this.props.canvasController,handleSearchStringChange:this.handleSearchStringChange,isPaletteWide:this.props.isPaletteWide}),i=this.props.paletteHeader&&!this.state.searchString&&this.props.isPaletteWide?this.props.paletteHeader:null,o="palette-flyout-content";return o+=i?" with-palette-header":"",T.default.createElement("div",{className:o},n,i,t)}}])}(T.default.Component);function ie(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ie=function(){return!!e})()}var oe=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,ie()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).paletteNodes=[],o}return t._inherits(i,n),e._createClass(i,[{key:"render",value:function(){var e="palette-flyout-div";this.props.isPaletteWide?e+=" palette-flyout-div-open":e+=" palette-flyout-div-narrow";var t=this.props.intl.formatMessage({id:"palette.flyout.label",defaultMessage:O["palette.flyout.label"]});return T.default.createElement("div",{role:"region","aria-label":t,className:"palette-nav"},T.default.createElement("div",{className:e},T.default.createElement(ne,{canvasController:this.props.canvasController,paletteJSON:this.props.paletteJSON,paletteHeader:this.props.paletteHeader,allowClickToAdd:this.props.allowClickToAdd,isEditingEnabled:this.props.isEditingEnabled,isPaletteWide:this.props.isPaletteWide,createAutoNode:this.props.createAutoNode,tabOutOfOfPalette:this.props.tabOutOfOfPalette})))}}])}(T.default.Component),ae=o.injectIntl(oe);function re(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(re=function(){return!!e})()}var se=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,re()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).logger=new h.Logger("Palette"),o.createAutoNode=o.createAutoNode.bind(o),o}return t._inherits(i,n),e._createClass(i,[{key:"createAutoNode",value:function(e,t){var n=this.props.canvasController.convertNodeTemplate(e);this.props.createAutoNode?this.props.createAutoNode(n,t):this.props.canvasController.createAutoNode&&this.props.canvasController.createAutoNode(n,t)}},{key:"render",value:function(){return this.logger.log("render"),T.default.createElement(ae,{canvasController:this.props.canvasController,paletteJSON:this.props.paletteJSON,paletteHeader:this.props.paletteHeader,allowClickToAdd:this.props.allowClickToAdd,isEditingEnabled:this.props.isEditingEnabled,isPaletteWide:this.props.isPaletteWide,createAutoNode:this.createAutoNode,tabOutOfOfPalette:this.props.tabOutOfOfPalette})}}])}(T.default.Component),le=i.connect(function(e,t){return{paletteJSON:e.palette.content,isEditingEnabled:e.canvasconfig.enableEditingActions,paletteHeader:e.canvasconfig.enablePaletteHeader,allowClickToAdd:e.canvasconfig.enableSingleClickAddFromPalette,isPaletteWide:e.canvasconfig.enablePaletteLayout===s.PALETTE_LAYOUT_NONE||e.canvasconfig.enablePaletteLayout===s.PALETTE_LAYOUT_FLYOUT&&e.palette.isOpen}})(se);function ce(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ce=function(){return!!e})()}var ue=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,ce()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).state={},o.mouseDown=o.mouseDown.bind(o),o.doubleClick=o.doubleClick.bind(o),o.toolbarActionHandler=o.toolbarActionHandler.bind(o),o}return t._inherits(i,n),e._createClass(i,[{key:"mouseDown",value:function(e){this.props.mouseDownMethod(e)}},{key:"doubleClick",value:function(e){this.props.windowMaximizeMethod(e)}},{key:"toolbarActionHandler",value:function(e){"close"===e?this.props.canvasController.closePalette():"grid"===e?this.props.showGridMethod(!0):"list"===e&&this.props.showGridMethod(!1)}},{key:"render",value:function(){var e,t=this.props.canvasController.labelUtil,n=t.getLabel("palette.dialog.grid"),i=t.getLabel("palette.dialog.list"),o=t.getLabel("palette.dialog.close"),r={leftBar:[{action:"grid",label:n,iconEnabled:T.default.createElement(a.Grid,null),enable:!0,isSelected:this.props.showGrid},{action:"list",label:i,iconEnabled:T.default.createElement(d.List,null),enable:!0,isSelected:!this.props.showGrid},{divider:!0}],rightBar:[{divider:!0},{action:"close",label:o,iconEnabled:T.default.createElement(g.CloseOutline,null),enable:!0}]};return T.default.createElement("div",{className:"palette-dialog-topbar",onMouseDown:this.mouseDown,onDoubleClick:this.doubleClick},T.default.createElement(a.Toolbar,{instanceId:0,config:r,toolbarActionHandler:this.toolbarActionHandler,additionalText:{overflowMenuLabel:this.props.canvasController.labelUtil.getLabel("toolbar.overflowMenu"),ariaLabel:null===(e=this.props.canvasController.labelUtil)||void 0===e?void 0:e.getLabel("toolbar.paletteDialogToolbarLabel")}}))}}])}(T.default.Component);function de(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(de=function(){return!!e})()}var he=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,de()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).state={},o.categorySelected=o.categorySelected.bind(o),o}return t._inherits(i,n),e._createClass(i,[{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"),T.default.createElement("div",{"data-id":this.props.category.id,className:e,onClick:this.categorySelected},this.props.category.label)}}])}(T.default.Component);function ge(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ge=function(){return!!e})()}var pe=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,ge()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).state={},o}return t._inherits(i,n),e._createClass(i,[{key:"render",value:function(){for(var e=[],t=0;t<this.props.categories.length;t++)e.push(T.default.createElement(he,{key:this.props.categories[t].label,category:this.props.categories[t],selectedCategory:this.props.selectedCategory,categorySelectedMethod:this.props.categorySelectedMethod}));return T.default.createElement("div",{className:"palette-dialog-categories palette-scroll"},e)}}])}(T.default.Component);function fe(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(fe=function(){return!!e})()}var ve=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,fe()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).state={},o.ghostData=null,o.onDragStart=o.onDragStart.bind(o),o.onDragEnd=o.onDragEnd.bind(o),o.onClick=o.onClick.bind(o),o.onDoubleClick=o.onDoubleClick.bind(o),o.onMouseOver=o.onMouseOver.bind(o),o.onMouseLeave=o.onMouseLeave.bind(o),o.onMouseDown=o.onMouseDown.bind(o),o}return t._inherits(i,n),e._createClass(i,[{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(s.DND_DATA_TEXT,""),this.ghostData&&e.dataTransfer.setDragImage(this.ghostData.element,this.ghostData.centerX,this.ghostData.centerY)}},{key:"onDragEnd",value:function(){this.props.canvasController.nodeTemplateDragEnd()}},{key:"onClick",value:function(){this.props.allowClickToAdd&&this.createAutoNode()}},{key:"onDoubleClick",value:function(){this.createAutoNode()}},{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:s.TIP_TYPE_PALETTE_ITEM,targetObj:e.currentTarget,nodeTemplate:t,category:this.props.category})}}},{key:"onMouseLeave",value:function(){this.props.canvasController.closeTip()}},{key:"createAutoNode",value:function(){if(this.props.canvasController.createAutoNode){var e=this.props.canvasController.convertNodeTemplate(this.props.nodeTemplate);this.props.canvasController.createAutoNode(e)}}},{key:"render",value:function(){var t="";s.has_1(this.props.nodeTemplate,"app_data.ui_data.label")&&(t=this.props.nodeTemplate.app_data.ui_data.label);var n=T.default.createElement("div",{className:"node-icon"});if(s.has_1(this.props.nodeTemplate,"app_data.ui_data.image")){var i=this.props.nodeTemplate.app_data.ui_data.image;i===s.USE_DEFAULT_ICON?i=M:i===s.USE_DEFAULT_EXT_ICON&&(i=R),"object"===e._typeof(i)&&T.default.isValidElement(i)?n=i:"string"==typeof i&&(n=i.endsWith(".svg")?T.default.createElement(P.default,{src:i,className:"node-icon","aria-label":t}):T.default.createElement("img",{src:i,className:"node-icon",alt:t}))}var o=this.props.isEditingEnabled?"true":"false",a="palette-dialog-grid-node-text";return this.props.category&&0===this.props.category.node_types.length&&this.props.category.empty_text&&(t=this.props.category.empty_text,o="false",a="palette-dialog-grid-node-text-warning",n=T.default.createElement(d.Icon,{type:s.CANVAS_CARBON_ICONS.WARNING_UNFILLED,className:"palette-dialog-grid-node-icon-warning",draggable:"false"})),T.default.createElement("div",{id:this.props.nodeTemplate.id,"data-id":this.props.nodeTemplate.op,draggable:o,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,onClick:this.props.isEditingEnabled?this.onClick:null,onDoubleClick:this.props.isEditingEnabled?this.onDoubleClick:null,className:"palette-dialog-grid-node-outer"},T.default.createElement("div",{className:"palette-dialog-grid-node-inner"},T.default.createElement("div",{className:"palette-dialog-grid-node-icon"},n),T.default.createElement("div",{className:a},t)))}}])}(T.default.Component),ye=ve;function me(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(me=function(){return!!e})()}var be=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,me()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).state={},o}return t._inherits(i,n),e._createClass(i,[{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(T.default.createElement(ye,{key:"pal_grid_node_empty",category:this.props.category,nodeTemplate:{},canvasController:this.props.canvasController,isEditingEnabled:this.props.isEditingEnabled,allowClickToAdd:this.props.allowClickToAdd}));else for(var t=0;t<this.props.nodeTypes.length;t++)e.push(T.default.createElement(ye,{key:"pal_grid_node_"+t,category:this.props.category,nodeTemplate:this.props.nodeTypes[t],canvasController:this.props.canvasController,isEditingEnabled:this.props.isEditingEnabled,allowClickToAdd:this.props.allowClickToAdd}));return T.default.createElement("div",{width:"100%",className:"palette-scroll"},e)}}])}(T.default.Component);function Ce(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Ce=function(){return!!e})()}var ke=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,Ce()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).state={selectedCategory:""},o.categorySelected=o.categorySelected.bind(o),o.getUniqueCategories=o.getUniqueCategories.bind(o),o.getSelectedCategory=o.getSelectedCategory.bind(o),o}return t._inherits(i,n),e._createClass(i,[{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?T.default.createElement(be,{category:t,nodeTypes:n,canvasController:this.props.canvasController,isEditingEnabled:this.props.isEditingEnabled,allowClickToAdd:this.props.allowClickToAdd}):T.default.createElement(B,{category:t,nodeTypeInfos:i,canvasController:this.props.canvasController,isPaletteWide:!0,isEditingEnabled:this.props.isEditingEnabled,allowClickToAdd:this.props.allowClickToAdd});return T.default.createElement("div",{className:"palette-dialog-content"},T.default.createElement(pe,{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}:{}}}])}(T.default.Component);function Le(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Le=function(){return!!e})()}var xe=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,Le()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).state={xPos:100,yPos:100,showGrid:!0},o.showGrid=o.showGrid.bind(o),o.mouseDownOnTopBar=o.mouseDownOnTopBar.bind(o),o.mouseDownOnPalette=o.mouseDownOnPalette.bind(o),o.mouseMove=o.mouseMove.bind(o),o.mouseUp=o.mouseUp.bind(o),o.windowResize=o.windowResize.bind(o),o.windowMaximize=o.windowMaximize.bind(o),o.getPaletteDiv=o.getPaletteDiv.bind(o),o.resizePalette=o.resizePalette.bind(o),o.movePalette=o.movePalette.bind(o),o.setResizingCursors=o.setResizingCursors.bind(o),o.setSizingHoverEdge=o.setSizingHoverEdge.bind(o),o.snapToWidth=o.snapToWidth.bind(o),o.snapToHeight=o.snapToHeight.bind(o),o.removePx=o.removePx.bind(o),o.dragging=!1,o.dragOffsetY=0,o.dragOffsetX=0,o.verticalSizingAction="",o.verticalSizingHover="",o.horizontalSizingAction="",o.horizontalSizingHover="",o.savedWidth=0,o.savedLeft=0,o.savedHeight=0,o.savedTop=0,o.hoverZoneSize=3,o.totalHoverZoneSize=2*o.hoverZoneSize,o.adjustedWidth=137,o.adjustedHeight=51,o.adjustedScrollBarWidth=15,o.isMaximized=!1,o.paletteNodes=[],o.dialogPaletteDivRef=T.default.createRef(),o.hackPaletteOffset=46,o.hackPaletteTopOffset=o.hackPaletteOffset+4,window.addEventListener("mousemove",o.mouseMove,!1),window.addEventListener("mouseup",o.mouseUp,!1),window.addEventListener("resize",o.windowResize,!1),o}return t._inherits(i,n),e._createClass(i,[{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(){var e;return null===(e=this.dialogPaletteDivRef)||void 0===e?void 0:e.current}},{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}},{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.containingDivId),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.containingDivId);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 a=this.getAdjustedMousePositionLeft(e,n),r=this.savedWidth-(a-this.savedLeft);r<=i?t.style.width=i+"px":(t.style.width=r+"px",t.style.left=a+"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.containingDivId);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 a=t.offsetHeight-this.totalHoverZoneSize;e.style.height=a+"px",this.setContentDivHeight(e,a)}else{if(e.offsetLeft+e.offsetWidth+this.hoverZoneSize>t.offsetLeft+t.offsetWidth){var r=t.offsetLeft+t.offsetWidth-e.offsetWidth-this.hoverZoneSize;e.style.left=r+"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.containingDivId);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.intl.formatMessage({id:"palette.dialog.label",defaultMessage:O["palette.dialog.label"]});return T.default.createElement("div",{role:"region","aria-label":e},T.default.createElement("div",{ref:this.dialogPaletteDivRef,className:"palette-dialog-div",onMouseDown:this.mouseDownOnPalette},T.default.createElement(ue,{mouseDownMethod:this.mouseDownOnTopBar,showGridMethod:this.showGrid,windowMaximizeMethod:this.windowMaximize,showGrid:this.state.showGrid,canvasController:this.props.canvasController}),T.default.createElement(ke,{paletteJSON:this.props.paletteJSON,showGrid:this.state.showGrid,canvasController:this.props.canvasController,isEditingEnabled:this.props.isEditingEnabled,allowClickToAdd:this.props.allowClickToAdd})))}}])}(T.default.Component),Te=o.injectIntl(xe);function Pe(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Pe=function(){return!!e})()}var Ne=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,Pe()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).logger=new h.Logger("PaletteDialog"),o}return t._inherits(i,n),e._createClass(i,[{key:"render",value:function(){return this.logger.log("render"),T.default.createElement(Te,{canvasController:this.props.canvasController,paletteJSON:this.props.paletteJSON,containingDivId:this.props.containingDivId,allowClickToAdd:this.props.allowClickToAdd,isEditingEnabled:this.props.isEditingEnabled})}}])}(T.default.Component),Se=i.connect(function(e,t){return{paletteJSON:e.palette.content,allowClickToAdd:e.canvasconfig.enableSingleClickAddFromPalette,isEditingEnabled:e.canvasconfig.enableEditingActions}})(o.injectIntl(Ne));function Oe(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Oe=function(){return!!e})()}var Ee=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,Oe()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).state={},o.handleClick=o.handleClick.bind(o),o}return t._inherits(i,n),e._createClass(i,[{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 s.TIP_TYPE_PALETTE_ITEM:case s.TIP_TYPE_PALETTE_CATEGORY:t="right";break;case s.TIP_TYPE_NODE:case s.TIP_TYPE_PORT:case s.TIP_TYPE_DEC:case s.TIP_TYPE_LINK:case s.TIP_TYPE_STATE_TAG:default:t="bottom"}if(this.props.customContent)e=this.props.customContent;else switch(this.props.type){case s.TIP_TYPE_PALETTE_ITEM:e=T.default.createElement("div",{className:"tip-palette-item"},T.default.createElement("div",{className:"tip-palette-category"},this.props.category.label),T.default.createElement("div",{className:"tip-palette-label"},this.props.nodeTemplate.app_data.ui_data.label),this.props.nodeTemplate.app_data.ui_data.description?T.default.createElement("div",{className:"tip-palette-desc"},this.props.nodeTemplate.app_data.ui_data.description):"");break;case s.TIP_TYPE_PALETTE_CATEGORY:e=T.default.createElement("div",{className:"tip-palette-item"},T.default.createElement("div",{className:"tip-palette-label"},this.props.category.label),this.props.category.description?T.default.createElement("div",{className:"tip-palette-desc"},this.props.category.description):"");break;case s.TIP_TYPE_NODE:var n=null;this.props.canvasController.getObjectModel().hasErrorMessage(this.props.node)?n=T.default.createElement(d.Icon,{type:s.ERROR,className:"tip-node-status error"}):this.props.canvasController.getObjectModel().hasWarningMessage(this.props.node)&&(n=T.default.createElement(d.Icon,{type:s.WARNING,className:"tip-node-status warning"}));var i=this.props.canvasController.getObjectModel().getPaletteNode(this.props.node.op),o=this.props.node.label,a=i&&i.app_data&&i.app_data.ui_data?i.app_data.ui_data.label:o;if(o!==a&&(o+=" (".concat(a,")")),!(n||o||a||this.props.node.description))return null;e=T.default.createElement("div",{className:"tip-node"},n,T.default.createElement("div",{className:"tip-node-label"},o),this.props.node.description?T.default.createElement("div",{className:"tip-node-desc"},this.props.node.description):"");break;case s.TIP_TYPE_PORT:e=p.isEmpty_1(this.props.port.label)?null:T.default.createElement("div",{className:"tip-port"},this.props.port.label);break;case s.TIP_TYPE_DEC:e=p.isEmpty_1(this.props.decoration.tooltip)?null:T.default.createElement("div",{className:"tip-decoration"},this.props.decoration.tooltip);break;case s.TIP_TYPE_LINK:break;case s.TIP_TYPE_STATE_TAG:e=p.isEmpty_1(this.props.stateTagText)?null:T.default.createElement("div",{className:"tip-state-tag"},this.props.stateTagText);break;default:e=null}return null!==e?T.default.createElement(f,{tip:e,direction:t,id:this.props.id,targetObj:this.props.targetObj,mousePos:this.props.mousePos,className:[s.TIP_TYPE_NODE,s.TIP_TYPE_PORT,s.TIP_TYPE_DEC,s.TIP_TYPE_LINK].includes(this.props.type)?"definition-tooltip":null}):null}}])}(T.default.Component),_e=i.connect(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}})(Ee);function Ie(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Ie=function(){return!!e})()}var De=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,Ie()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).logger=new h.Logger("CC-Context-Menu"),o}return t._inherits(i,n),e._createClass(i,[{key:"render",value:function(){this.logger.log("render");var e=null;return this.props.showContextMenu&&(e=T.default.createElement(y.ContextMenuWrapper,{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}}])}(T.default.Component),Ae=i.connect(function(e,t){return{contextMenuDef:e.contextmenu.menuDef,contextMenuPos:e.contextmenu.source.cmPos||{x:0,y:0},showContextMenu:e.contextmenu.isOpen}})(De),we=p._baseFindIndex,Ue=m._baseIteratee,je=m.toInteger_1,Me=Math.max,Re=Math.min;var ze=function(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var o=i-1;return void 0!==n&&(o=je(n),o=n<0?Me(i+o,0):Re(o,i-1)),we(e,Ue(t),o,!0)};function Fe(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Fe=function(){return!!e})()}var He=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,Fe()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).logger=new h.Logger("CC-Context-Toolbar"),o.onMouseEnter=o.onMouseEnter.bind(o),o.onMouseLeave=o.onMouseLeave.bind(o),o.toolbarActionHandler=o.toolbarActionHandler.bind(o),o.colorClicked=o.colorClicked.bind(o),o.closeContextToolbar=o.closeContextToolbar.bind(o),o}return t._inherits(i,n),e._createClass(i,[{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.getSubPanelInfo(e),n=!t.subPanel&&e.menu?this.getSubMenu(e):null;return{action:e.action,label:e.label,subMenu:n,subPanel:t.subPanel,subPanelData:t.subPanelData,enable:this.getEnable(e),iconEnabled:e.icon}}},{key:"getSubPanelInfo",value:function(e){var t=this;return"colorBackground"===e.action?{subPanel:y.ColorPicker,subPanelData:{clickActionHandler:function(e,n){return t.colorClicked(e,n)}}}:{}}},{key:"getSubMenu",value:function(t){var n=this;return"object"===e._typeof(t.menu)?t.menu.map(function(e){return e.divider?{divider:!0}:{action:e.action,label:e.label,enable:n.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=e.filter(function(e){return e.divider}),i=n.length,o=1*i,a=t.length>0?1:0;return 34*(e.length+a-i)+o-(t.length>0?5:0)}},{key:"removeUnnecessaryDividers",value:function(e){var t=e.findIndex(function(e){return!e.divider}),n=ze(e,function(e){return!e.divider}),i=e.slice(t,n+1),o=[],a=!1;return i.forEach(function(e){e.divider?(a||o.push(e),a=!0):(o.push(e),a=!1)}),o}},{key:"toolbarActionHandler",value:function(e,t,n){this.closeContextToolbar(),this.props.canvasController.contextMenuActionHandler(e,t,n)}},{key:"closeContextToolbar",value:function(){this.props.canvasController.setMouseInContextToolbar(!1),this.props.canvasController.setMouseInObject(null),this.props.canvasController.closeContextToolbar(s.CAUSE_KEYBOARD)}},{key:"colorClicked",value:function(e,t){this.toolbarActionHandler("colorSelectedObjects",t,{color:e})}},{key:"shouldCenterJustifyToolbar",value:function(){var e=this.props.contextSource.type;return"link"===e||"canvas"===e||"input_port"===e||"output_port"===e||"node"===e&&"topCenter"===this.props.contextSource.targetObject.layout.contextToolbarPosition&&!this.props.contextSource.targetObject.is_expanded}},{key:"adjustPosToFit",value:function(e,t,n,i){var o=document.getElementById(this.props.containingDivId),a=o?o.getBoundingClientRect():{top:-1e3,bottom:1e3,left:-1e3,right:1e3},r=0,s=0,l=e,c=t,u=e+n-(a.right-a.left),d=r-e,h=t+i-(a.bottom-a.top),g=s-t;return u>0?l-=u+2:d>0&&(l+=d+2),h>0?c-=h+2:g>0&&(c+=g+2),{x:l,y:c}}},{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}),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},l=this.shouldCenterJustifyToolbar()?r.x-o/2:r.x-o,c=r.y-34,u=this.adjustPosToFit(l,c,o,34);l=u.x,c=u.y;var d=this.props.contextSource.cause===s.CAUSE_KEYBOARD;e=T.default.createElement("div",{className:"context-toolbar floating-toolbar",style:{left:l,top:c,width:o},onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave},T.default.createElement(a.Toolbar,{config:i,instanceId:this.props.canvasController.getInstanceId(),containingDivId:this.props.containingDivId,toolbarActionHandler:this.toolbarActionHandler,tooltipDirection:"top",setInitialFocus:d,closeToolbarOnEsc:!0,closeToolbar:this.closeContextToolbar,size:"sm",additionalText:{overflowMenuLabel:this.props.canvasController.labelUtil.getLabel("toolbar.overflowMenu"),ariaLabel:this.props.canvasController.labelUtil.getLabel("toolbar.contextToolbarLabel")}}))}return e}}])}(T.default.Component),Ge=i.connect(function(e,t){return{contextMenuDef:e.contextmenu.menuDef,contextSource:e.contextmenu.source,showContextMenu:e.contextmenu.isOpen}})(He),Be={"toolbar.palette":"Palette","toolbar.zoomIn":"Zoom in","toolbar.zoomOut":"Zoom out","toolbar.zoomToFit":"Zoom to fit","toolbar.overflowMenu":"Overflow menu","toolbar.flowEditorToolbarLabel":"Flow editor","toolbar.textToolbarLabel":"Text","toolbar.contextToolbarLabel":"Context","toolbar.paletteDialogToolbarLabel":"Palette dialog"};function Ke(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Ke=function(){return!!e})()}var We=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,Ke()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).getLabel=o.getLabel.bind(o),o.onKeyDown=o.onKeyDown.bind(o),o.logger=new h.Logger("CC-Text-Toolbar"),o}return t._inherits(i,n),e._createClass(i,[{key:"onKeyDown",value:function(e){u.KeyboardUtils.returnToTextEditing(e)&&(this.props.canvasController.focusOnTextEntryElement(e),e.stopPropagation(),e.preventDefault())}},{key:"getLabel",value:function(e,t){var n=v.defaultMessages1[e]?v.defaultMessages1[e]:Be[e];return this.props.intl.formatMessage({id:e,defaultMessage:n},t)}},{key:"getJsxLabel",value:function(e,t,n){var i=s.CanvasUtils.isMacintosh()?"⌘":"Ctrl",o=t?i+" + "+t:null,a=n?i+" + "+n:null;return T.default.createElement("div",null,this.getLabel(e),T.default.createElement("br",null),o,T.default.createElement("br",null),a)}},{key:"getMarkdownToolbar",value:function(){var e=this.getJsxLabel("texttoolbar.boldAction","b"),t=this.getJsxLabel("texttoolbar.italicsAction","i"),n=this.getJsxLabel("texttoolbar.strikethroughAction","shift + x"),i=this.getJsxLabel("texttoolbar.headerAction","1","2"),o=this.getJsxLabel("texttoolbar.codeAction","e"),a=this.getJsxLabel("texttoolbar.linkAction","k"),r=this.getJsxLabel("texttoolbar.quoteAction","shift + I"),s=this.getJsxLabel("texttoolbar.numberedListAction","shift + 7"),l=this.getJsxLabel("texttoolbar.bulletedListAction","shift + 8");return{leftBar:[{action:"headerStyle",tooltip:i,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:T.default.createElement(d.TextScale,{size:32})},{divider:!0},{action:"bold",label:e,enable:!0,iconEnabled:T.default.createElement(d.TextBold,{size:32})},{action:"italics",label:t,enable:!0,iconEnabled:T.default.createElement(d.TextItalic,{size:32})},{action:"strikethrough",label:n,enable:!0,iconEnabled:T.default.createElement(d.TextStrikethrough,{size:32})},{divider:!0},{action:"code",label:o,enable:!0,iconEnabled:T.default.createElement(g.Code,{size:32})},{divider:!0},{action:"link",label:a,enable:!0,iconEnabled:T.default.createElement(d.Link,{size:32})},{divider:!0},{action:"quote",label:r,enable:!0,iconEnabled:T.default.createElement(d.TextIndentMore,{size:32})},{divider:!0},{action:"numberedList",label:s,enable:!0,iconEnabled:T.default.createElement(d.ListNumbered,{size:32})},{action:"bulletedList",label:l,enable:!0,iconEnabled:T.default.createElement(d.ListBulleted,{size:32})}]}}},{key:"getWysiwygToolbar",value:function(){var e=this,t=this.getLabel("texttoolbar.boldAction"),n=this.getLabel("texttoolbar.italicsAction"),i=this.getLabel("texttoolbar.underline"),o=this.getLabel("texttoolbar.strikethroughAction"),r=[{action:"font-ibm-plex-sans",label:this.getLabel("texttoolbar.fontIBMPlexSans"),enable:!0,isSelected:!0},{action:"font-ibm-plex-serif",label:this.getLabel("texttoolbar.fontIBMPlexSerif"),enable:!0},{action:"font-ibm-plex-sans-condensed",label:this.getLabel("texttoolbar.fontIBMPlexSansCon"),enable:!0},{action:"font-ibm-plex-mono",label:this.getLabel("texttoolbar.fontIBMPlexMono"),enable:!0},{action:"font-arial",label:this.getLabel("texttoolbar.fontArial"),enable:!0},{action:"font-comic-sans-ms",label:this.getLabel("texttoolbar.fontComicSansMS"),enable:!0},{action:"font-gill-sans",label:this.getLabel("texttoolbar.fontGillSans"),enable:!0},{action:"font-helvetica-neue",label:this.getLabel("texttoolbar.fontHelveticaNeue"),enable:!0},{action:"font-times-new-roman",label:this.getLabel("texttoolbar.fontTimesNewRoman"),enable:!0},{action:"font-verdana",label:this.getLabel("texttoolbar.fontVerdana"),enable:!0}],l=[{action:"text-size-10",label:"10",enable:!0},{action:"text-size-11",label:"11",enable:!0},{action:"text-size-12",label:"12",enable:!0,isSelected:!0},{action:"text-size-14",label:"14",enable:!0},{action:"text-size-18",label:"18",enable:!0},{action:"text-size-24",label:"24",enable:!0},{action:"text-size-30",label:"30",enable:!0},{action:"text-size-36",label:"36",enable:!0},{action:"text-size-48",label:"48",enable:!0},{action:"text-size-60",label:"60",enable:!0},{action:"text-size-72",label:"72",enable:!0},{action:"text-size-96",label:"96",enable:!0}],c=[{action:"align-left",label:this.getLabel("texttoolbar.alignHorizLeft"),enable:!0,iconEnabled:T.default.createElement(d.TextAlignLeft,{size:32}),isSelected:!0},{action:"align-center",label:this.getLabel("texttoolbar.alignHorizCenter"),enable:!0,iconEnabled:T.default.createElement(d.TextAlignCenter,{size:32})},{action:"align-right",label:this.getLabel("texttoolbar.alignHorizRight"),enable:!0,iconEnabled:T.default.createElement(d.TextAlignRight,{size:32})}],u=[{action:"align-top",label:this.getLabel("texttoolbar.alignVertTop"),enable:!0,iconEnabled:T.default.createElement(d.AlignBoxTopCenter,{size:32}),isSelected:!0},{action:"align-middle",label:this.getLabel("texttoolbar.alignVertMiddle"),enable:!0,iconEnabled:T.default.createElement(d.AlignBoxMiddleCenter,{size:32})},{action:"align-bottom",label:this.getLabel("texttoolbar.alignVertBottom"),enable:!0,iconEnabled:T.default.createElement(d.AlignBoxBottomCenter,{size:32})}],h=[{action:"outline-none",label:this.getLabel("texttoolbar.outlineNone"),enable:!0},{action:"outline-solid",label:this.getLabel("texttoolbar.outlineSolid"),enable:!0,isSelected:!0}];this.setSelectedMenuElement("fontType",this.props.formats,r),this.setSelectedMenuElement("textSize",this.props.formats,l),this.setSelectedMenuElement("alignHorizontally",this.props.formats,c),this.setSelectedMenuElement("alignVertically",this.props.formats,u),this.setSelectedMenuElement("outlineStyle",this.props.formats,h);var g=this.getFormatValue("textColor",this.props.formats)||"#000000",p=this.getFormatValue("backgroundColor",this.props.formats)||"#FFFFFF",f=Boolean(this.getFormatType("bold",this.props.formats)),v=Boolean(this.getFormatType("italics",this.props.formats)),m=this.getFormatValue("textDecoration",this.props.formats),b=null==m?void 0:m.includes("underline"),C=null==m?void 0:m.includes("strikethrough");return{leftBar:[{action:"submenu-font",label:this.getLabel("texttoolbar.fontAction"),iconEnabled:T.default.createElement(d.TextFont,{size:32}),enable:!0,subMenu:r,closeSubAreaOnClick:!0},{action:"submenu-text-size",label:this.getLabel("texttoolbar.textSize"),iconEnabled:T.default.createElement(d.TextScale,{size:32}),enable:!0,subMenu:l,closeSubAreaOnClick:!0},{action:"bold",label:t,enable:!0,iconEnabled:T.default.createElement(d.TextBold,{size:32}),isSelected:f},{action:"italics",label:n,enable:!0,iconEnabled:T.default.createElement(d.TextItalic,{size:32}),isSelected:v},{action:"underline",label:i,enable:!0,iconEnabled:T.default.createElement(d.TextUnderline,{size:32}),isSelected:b},{action:"strikethrough",label:o,enable:!0,iconEnabled:T.default.createElement(d.TextStrikethrough,{size:32}),isSelected:C},{divider:!0},{action:"submenu-text-color",label:this.getLabel("texttoolbar.colorText"),iconEnabled:T.default.createElement(d.TextColor,{size:32}),enable:!0,subPanel:y.ColorPicker,subPanelData:{type:s.WYSIWYG,selectedColor:g,clickActionHandler:function(t,n){return e.props.actionHandler("text-color",n,t)}},closeSubAreaOnClick:!0},{action:"submenu-align-horiz",label:this.getLabel("texttoolbar.alignHoriz"),iconEnabled:T.default.createElement(d.TextAlignCenter,{size:32}),enable:!0,subMenu:c,closeSubAreaOnClick:!0},{action:"submenu-align-vert",label:this.getLabel("texttoolbar.alignVert"),iconEnabled:T.default.createElement(d.AlignBoxMiddleCenter,{size:32}),enable:!0,subMenu:u,closeSubAreaOnClick:!0},{action:"submenu-background-color",label:this.getLabel("texttoolbar.colorBackground"),iconEnabled:T.default.createElement(a.ColorPalette,{size:32}),enable:!0,subPanel:y.ColorPicker,subPanelData:{type:s.WYSIWYG,selectedColor:p,clickActionHandler:function(t,n){return e.props.actionHandler("background-color",n,t)}},closeSubAreaOnClick:!0},{action:"sub-menu-outline",label:this.getLabel("texttoolbar.outline"),iconEnabled:T.default.createElement(a.SquareOutline,{size:32}),enable:!0,subMenu:h,closeSubAreaOnClick:!0}]}}},{key:"setSelectedMenuElement",value:function(e,t,n){var i=this.getFormatValue(e,t);i&&n.forEach(function(e){return e.isSelected=e.action===i})}},{key:"getFormatValue",value:function(e,t){var n=this.getFormatType(e,t);return null==n?void 0:n.value}},{key:"getFormatType",value:function(e,t){return t?t.find(function(t){return t.type===e}):null}},{key:"getTextToolbarConfig",value:function(){return this.props.contentType===s.MARKDOWN?this.getMarkdownToolbar():this.props.contentType===s.WYSIWYG?this.getWysiwygToolbar():{leftBar:[]}}},{key:"render",value:function(){this.logger.log("render");var e=null;return this.props.isOpen&&(e=T.default.createElement("div",{className:"text-toolbar floating-toolbar",style:{left:this.props.pos_x,top:this.props.pos_y},onBlur:this.props.blurHandler,onKeyDown:this.onKeyDown},T.default.createElement(a.Toolbar,{config:this.getTextToolbarConfig(),instanceId:this.props.canvasController.getInstanceId(),containingDivId:this.props.containingDivId,toolbarActionHandler:this.props.actionHandler,tooltipDirection:"top",size:"sm",additionalText:{overflowMenuLabel:this.getLabel("toolbar.overflowMenu"),ariaLabel:this.getLabel("toolbar.textToolbarLabel")}}))),e}}])}(T.default.Component),Ye=i.connect(function(e,t){return{isOpen:e.texttoolbar.isOpen,pos_x:e.texttoolbar.pos_x,pos_y:e.texttoolbar.pos_y,formats:e.texttoolbar.formats,contentType:e.texttoolbar.contentType,actionHandler:e.texttoolbar.actionHandler,blurHandler:e.texttoolbar.blurHandler}})(o.injectIntl(We));function Xe(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Xe=function(){return!!e})()}var Ve=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,Xe()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).logger=new h.Logger("CC-StateTag"),o.onMouseOver=o.onMouseOver.bind(o),o.onMouseLeave=o.onMouseLeave.bind(o),o}return t._inherits(i,n),e._createClass(i,[{key:"onMouseOver",value:function(e){var t;this.props.stateTagType===s.STATE_TAG_LOCKED?t=this.getLabel("canvas.stateTagTipLocked"):this.props.stateTagType===s.STATE_TAG_READ_ONLY&&(t=this.getLabel("canvas.stateTagTipReadOnly")),this.props.canvasController.openTip({id:"stateTagTip",type:s.TIP_TYPE_STATE_TAG,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:v.defaultMessages1[e]})}},{key:"getStateTag",value:function(e,t){return T.default.createElement("div",{className:"state-tag",onMouseOver:this.onMouseOver,onMouseLeave:this.onMouseLeave},t,T.default.createElement("span",null,e))}},{key:"render",value:function(){this.logger.log("render");var e=null;if(this.props.stateTagType===s.STATE_TAG_LOCKED){var t=this.getLabel("canvas.stateTagLocked");e=this.getStateTag(t,T.default.createElement(d.Locked,null))}else if(this.props.stateTagType===s.STATE_TAG_READ_ONLY){var n=this.getLabel("canvas.stateTagReadOnly");e=this.getStateTag(n,T.default.createElement(d.EditOff,null))}return e}}])}(T.default.Component),Ze=o.injectIntl(Ve),qe="http://www.w3.org/1999/xhtml",$e={svg:"http://www.w3.org/2000/svg",xhtml:qe,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Je(e){var t=e+="",n=t.indexOf(":");return n>=0&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),$e.hasOwnProperty(t)?{space:$e[t],local:e}:e}function Qe(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===qe&&t.documentElement.namespaceURI===qe?t.createElement(e):t.createElementNS(n,e)}}function et(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function tt(e){var t=Je(e);return(t.local?et:Qe)(t)}function nt(){}function it(e){return null==e?nt:function(){return this.querySelector(e)}}function ot(e){return null==e?[]:Array.isArray(e)?e:Array.from(e)}function at(){return[]}function rt(e){return null==e?at:function(){return this.querySelectorAll(e)}}function st(e){return function(){return this.matches(e)}}function lt(e){return function(t){return t.matches(e)}}var ct=Array.prototype.find;function ut(){return this.firstElementChild}var dt=Array.prototype.filter;function ht(){return Array.from(this.children)}function gt(e){return new Array(e.length)}function pt(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}function ft(e,t,n,i,o,a){for(var r,s=0,l=t.length,c=a.length;s<c;++s)(r=t[s])?(r.__data__=a[s],i[s]=r):n[s]=new pt(e,a[s]);for(;s<l;++s)(r=t[s])&&(o[s]=r)}function vt(e,t,n,i,o,a,r){var s,l,c,u=new Map,d=t.length,h=a.length,g=new Array(d);for(s=0;s<d;++s)(l=t[s])&&(g[s]=c=r.call(l,l.__data__,s,t)+"",u.has(c)?o[s]=l:u.set(c,l));for(s=0;s<h;++s)c=r.call(e,a[s],s,a)+"",(l=u.get(c))?(i[s]=l,l.__data__=a[s],u.delete(c)):n[s]=new pt(e,a[s]);for(s=0;s<d;++s)(l=t[s])&&u.get(g[s])===l&&(o[s]=l)}function yt(e){return e.__data__}function mt(e){return"object"==typeof e&&"length"in e?e:Array.from(e)}function bt(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function Ct(e){return function(){this.removeAttribute(e)}}function kt(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Lt(e,t){return function(){this.setAttribute(e,t)}}function xt(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function Tt(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}function Pt(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 Nt(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function St(e){return function(){this.style.removeProperty(e)}}function Ot(e,t,n){return function(){this.style.setProperty(e,t,n)}}function Et(e,t,n){return function(){var i=t.apply(this,arguments);null==i?this.style.removeProperty(e):this.style.setProperty(e,i,n)}}function _t(e,t){return e.style.getPropertyValue(t)||Nt(e).getComputedStyle(e,null).getPropertyValue(t)}function It(e){return function(){delete this[e]}}function Dt(e,t){return function(){this[e]=t}}function At(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}function wt(e){return e.trim().split(/^|\s+/)}function Ut(e){return e.classList||new jt(e)}function jt(e){this._node=e,this._names=wt(e.getAttribute("class")||"")}function Mt(e,t){for(var n=Ut(e),i=-1,o=t.length;++i<o;)n.add(t[i])}function Rt(e,t){for(var n=Ut(e),i=-1,o=t.length;++i<o;)n.remove(t[i])}function zt(e){return function(){Mt(this,e)}}function Ft(e){return function(){Rt(this,e)}}function Ht(e,t){return function(){(t.apply(this,arguments)?Mt:Rt)(this,e)}}function Gt(){this.textContent=""}function Bt(e){return function(){this.textContent=e}}function Kt(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?"":t}}function Wt(){this.innerHTML=""}function Yt(e){return function(){this.innerHTML=e}}function Xt(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?"":t}}function Vt(){this.nextSibling&&this.parentNode.appendChild(this)}function Zt(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function qt(){return null}function $t(){var e=this.parentNode;e&&e.removeChild(this)}function Jt(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Qt(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function en(e){return function(){var t=this.__on;if(t){for(var n,i=0,o=-1,a=t.length;i<a;++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 tn(e,t,n){return function(){var i,o=this.__on,a=function(e){return function(t){e.call(this,t,this.__data__)}}(t);if(o)for(var r=0,s=o.length;r<s;++r)if((i=o[r]).type===e.type&&i.name===e.name)return this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=n),void(i.value=t);this.addEventListener(e.type,a,n),i={type:e.type,name:e.name,value:t,listener:a,options:n},o?o.push(i):this.__on=[i]}}function nn(e,t,n){var i=Nt(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 on(e,t){return function(){return nn(this,e,t)}}function an(e,t){return function(){return nn(this,e,t.apply(this,arguments))}}pt.prototype={constructor:pt,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)}},jt.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 rn=[null];function sn(e,t){this._groups=e,this._parents=t}function ln(){return new sn([[document.documentElement]],rn)}function cn(e){return"string"==typeof e?new sn([[document.querySelector(e)]],[document.documentElement]):new sn([[e]],rn)}sn.prototype=ln.prototype={constructor:sn,select:function(e){"function"!=typeof e&&(e=it(e));for(var t=this._groups,n=t.length,i=new Array(n),o=0;o<n;++o)for(var a,r,s=t[o],l=s.length,c=i[o]=new Array(l),u=0;u<l;++u)(a=s[u])&&(r=e.call(a,a.__data__,u,s))&&("__data__"in a&&(r.__data__=a.__data__),c[u]=r);return new sn(i,this._parents)},selectAll:function(e){e="function"==typeof e?function(e){return function(){return ot(e.apply(this,arguments))}}(e):rt(e);for(var t=this._groups,n=t.length,i=[],o=[],a=0;a<n;++a)for(var r,s=t[a],l=s.length,c=0;c<l;++c)(r=s[c])&&(i.push(e.call(r,r.__data__,c,s)),o.push(r));return new sn(i,o)},selectChild:function(e){return this.select(null==e?ut:function(e){return function(){return ct.call(this.children,e)}}("function"==typeof e?e:lt(e)))},selectChildren:function(e){return this.selectAll(null==e?ht:function(e){return function(){return dt.call(this.children,e)}}("function"==typeof e?e:lt(e)))},filter:function(e){"function"!=typeof e&&(e=st(e));for(var t=this._groups,n=t.length,i=new Array(n),o=0;o<n;++o)for(var a,r=t[o],s=r.length,l=i[o]=[],c=0;c<s;++c)(a=r[c])&&e.call(a,a.__data__,c,r)&&l.push(a);return new sn(i,this._parents)},data:function(e,t){if(!arguments.length)return Array.from(this,yt);var n,i=t?vt:ft,o=this._parents,a=this._groups;"function"!=typeof e&&(n=e,e=function(){return n});for(var r=a.length,s=new Array(r),l=new Array(r),c=new Array(r),u=0;u<r;++u){var d=o[u],h=a[u],g=h.length,p=mt(e.call(d,d&&d.__data__,u,o)),f=p.length,v=l[u]=new Array(f),y=s[u]=new Array(f);i(d,h,v,y,c[u]=new Array(g),p,t);for(var m,b,C=0,k=0;C<f;++C)if(m=v[C]){for(C>=k&&(k=C+1);!(b=y[k])&&++k<f;);m._next=b||null}}return(s=new sn(s,o))._enter=l,s._exit=c,s},enter:function(){return new sn(this._enter||this._groups.map(gt),this._parents)},exit:function(){return new sn(this._exit||this._groups.map(gt),this._parents)},join:function(e,t,n){var i=this.enter(),o=this,a=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?a.remove():n(a),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,a=i.length,r=Math.min(o,a),s=new Array(o),l=0;l<r;++l)for(var c,u=n[l],d=i[l],h=u.length,g=s[l]=new Array(h),p=0;p<h;++p)(c=u[p]||d[p])&&(g[p]=c);for(;l<o;++l)s[l]=n[l];return new sn(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],a=o.length-1,r=o[a];--a>=0;)(i=o[a])&&(r&&4^i.compareDocumentPosition(r)&&r.parentNode.insertBefore(i,r),r=i);return this},sort:function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=bt);for(var n=this._groups,i=n.length,o=new Array(i),a=0;a<i;++a){for(var r,s=n[a],l=s.length,c=o[a]=new Array(l),u=0;u<l;++u)(r=s[u])&&(c[u]=r);c.sort(t)}return new sn(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,a=i.length;o<a;++o){var r=i[o];if(r)return r}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,a=t[n],r=0,s=a.length;r<s;++r)(o=a[r])&&e.call(o,o.__data__,r,a);return this},attr:function(e,t){var n=Je(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?kt:Ct:"function"==typeof t?n.local?Pt:Tt:n.local?xt:Lt)(n,t))},style:function(e,t,n){return arguments.length>1?this.each((null==t?St:"function"==typeof t?Et:Ot)(e,t,null==n?"":n)):_t(this.node(),e)},property:function(e,t){return arguments.length>1?this.each((null==t?It:"function"==typeof t?At:Dt)(e,t)):this.node()[e]},classed:function(e,t){var n=wt(e+"");if(arguments.length<2){for(var i=Ut(this.node()),o=-1,a=n.length;++o<a;)if(!i.contains(n[o]))return!1;return!0}return this.each(("function"==typeof t?Ht:t?zt:Ft)(n,t))},text:function(e){return arguments.length?this.each(null==e?Gt:("function"==typeof e?Kt:Bt)(e)):this.node().textContent},html:function(e){return arguments.length?this.each(null==e?Wt:("function"==typeof e?Xt:Yt)(e)):this.node().innerHTML},raise:function(){return this.each(Vt)},lower:function(){return this.each(Zt)},append:function(e){var t="function"==typeof e?e:tt(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})},insert:function(e,t){var n="function"==typeof e?e:tt(e),i=null==t?qt:"function"==typeof t?t:it(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),i.apply(this,arguments)||null)})},remove:function(){return this.each($t)},clone:function(e){return this.select(e?Qt:Jt)},datum:function(e){return arguments.length?this.property("__data__",e):this.node().__data__},on:function(e,t,n){var i,o,a=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+""),r=a.length;if(!(arguments.length<2)){for(s=t?tn:en,i=0;i<r;++i)this.each(s(a[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<r;++i)if((o=a[i]).type===l.type&&o.name===l.name)return l.value},dispatch:function(e,t){return this.each(("function"==typeof t?an:on)(e,t))},[Symbol.iterator]:function*(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var i,o=e[t],a=0,r=o.length;a<r;++a)(i=o[a])&&(yield i)}};var un=0;function dn(){return new hn}function hn(){this._="@"+(++un).toString(36)}function gn(e){let t;for(;t=e.sourceEvent;)e=t;return e}function pn(e,t){if(e=gn(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]}hn.prototype=dn.prototype={constructor:hn,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 fn=Object.freeze({__proto__:null,create:function(e){return cn(tt(e).call(document.documentElement))},creator:tt,local:dn,matcher:st,namespace:Je,namespaces:$e,pointer:pn,pointers:function(e,t){return e.target&&(e=gn(e),void 0===t&&(t=e.currentTarget),e=e.touches||[e]),Array.from(e,e=>pn(e,t))},select:cn,selectAll:function(e){return"string"==typeof e?new sn([document.querySelectorAll(e)],[document.documentElement]):new sn([ot(e)],rn)},selection:ln,selector:it,selectorAll:rt,style:_t,window:Nt}),vn=m._baseForOwn,yn=v._castFunction;var mn=function(e,t){return e&&vn(e,yn(t))};var bn=function(e){return function(t){return null==e?void 0:e[t]}},Cn=bn({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}),kn=s.toString_1,Ln=/[&<>"']/g,xn=RegExp(Ln.source);var Tn=function(e){return(e=kn(e))&&xn.test(e)?e.replace(Ln,Cn):e};function Pn(e){if(!e.ok)throw new Error(e.status+" "+e.statusText);return e.blob()}function Nn(e){if(!e.ok)throw new Error(e.status+" "+e.statusText);return e.arrayBuffer()}var Sn={},On={};function En(e){return new Function("d","return {"+e.map(function(e,t){return JSON.stringify(e)+": d["+t+'] || ""'}).join(",")+"}")}function _n(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 In(e,t){var n=e+"",i=n.length;return i<t?new Array(t-i+1).join(0)+n:n}function Dn(e){var t,n=e.getUTCHours(),i=e.getUTCMinutes(),o=e.getUTCSeconds(),a=e.getUTCMilliseconds();return isNaN(e)?"Invalid Date":((t=e.getUTCFullYear())<0?"-"+In(-t,6):t>9999?"+"+In(t,6):In(t,4))+"-"+In(e.getUTCMonth()+1,2)+"-"+In(e.getUTCDate(),2)+(a?"T"+In(n,2)+":"+In(i,2)+":"+In(o,2)+"."+In(a,3)+"Z":o?"T"+In(n,2)+":"+In(i,2)+":"+In(o,2)+"Z":i||n?"T"+In(n,2)+":"+In(i,2)+"Z":"")}function An(e){var t=new RegExp('["'+e+"\n\r]"),n=e.charCodeAt(0);function i(e,t){var i,o=[],a=e.length,r=0,s=0,l=a<=0,c=!1;function u(){if(l)return On;if(c)return c=!1,Sn;var t,i,o=r;if(34===e.charCodeAt(o)){for(;r++<a&&34!==e.charCodeAt(r)||34===e.charCodeAt(++r););return(t=r)>=a?l=!0:10===(i=e.charCodeAt(r++))?c=!0:13===i&&(c=!0,10===e.charCodeAt(r)&&++r),e.slice(o+1,t-1).replace(/""/g,'"')}for(;r<a;){if(10===(i=e.charCodeAt(t=r++)))c=!0;else if(13===i)c=!0,10===e.charCodeAt(r)&&++r;else if(i!==n)continue;return e.slice(o,t)}return l=!0,e.slice(o,a)}for(10===e.charCodeAt(a-1)&&--a,13===e.charCodeAt(a-1)&&--a;(i=u())!==On;){for(var d=[];i!==Sn&&i!==On;)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 r(t[e])}).join(e)})}function a(t){return t.map(r).join(e)}function r(e){return null==e?"":e instanceof Date?Dn(e):t.test(e+="")?'"'+e.replace(/"/g,'""')+'"':e}return{parse:function(e,t){var n,o,a=i(e,function(e,i){if(n)return n(e,i-1);o=e,n=t?function(e,t){var n=En(e);return function(i,o){return t(n(i),o,e)}}(e,t):En(e)});return a.columns=o||[],a},parseRows:i,format:function(t,n){return null==n&&(n=_n(t)),[n.map(r).join(e)].concat(o(t,n)).join("\n")},formatBody:function(e,t){return null==t&&(t=_n(e)),o(e,t).join("\n")},formatRows:function(e){return e.map(a).join("\n")},formatRow:a,formatValue:r}}var wn=An(",").parse,Un=An("\t").parse;function jn(e){if(!e.ok)throw new Error(e.status+" "+e.statusText);return e.text()}function Mn(e,t){return fetch(e,t).then(jn)}function Rn(e){return function(t,n,i){return 2===arguments.length&&"function"==typeof n&&(i=n,n=void 0),Mn(t,n).then(function(t){return e(t,i)})}}var zn=Rn(wn),Fn=Rn(Un);function Hn(e){if(!e.ok)throw new Error(e.status+" "+e.statusText);if(204!==e.status&&205!==e.status)return e.json()}function Gn(e){return(t,n)=>Mn(t,n).then(t=>(new DOMParser).parseFromString(t,e))}var Bn=Gn("application/xml"),Kn=Gn("text/html"),Wn=Gn("image/svg+xml"),Yn=Object.freeze({__proto__:null,blob:function(e,t){return fetch(e,t).then(Pn)},buffer:function(e,t){return fetch(e,t).then(Nn)},dsv:function(e,t,n,i){3===arguments.length&&"function"==typeof n&&(i=n,n=void 0);var o=An(e);return Mn(t,n).then(function(e){return o.parse(e,i)})},csv:zn,tsv:Fn,image:function(e,t){return new Promise(function(n,i){var o=new Image;for(var a in t)o[a]=t[a];o.onerror=i,o.onload=function(){n(o)},o.src=e})},json:function(e,t){return fetch(e,t).then(Hn)},text:Mn,xml:Bn,html:Kn,svg:Wn}),Xn=function(){return e._createClass(function t(n,i,o,a){e._classCallCheck(this,t),this.canvasController=n,this.isSubflow=i,this.pipelineId=o,this.breadcrumbs=a},[{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}}])}();function Vn(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Zn(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Zn(e,t):void 0}}(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 a,r=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return r=e.done,e},e:function(e){s=!0,a=e},f:function(){try{r||null==n.return||n.return()}finally{if(s)throw a}}}}function Zn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}var qn=new Map([["d3-focus-path",1],["d3-node-sizing",2],["d3-node-selection-highlight",3],["d3-node-body-outline",4],["d3-foreign-object-external-node",5],["d3-node-image",6],["d3-foreign-object-node-label",7],["d3-node-ellipsis-group",8],["d3-node-super-expand-icon-group",9],["d3-node-port-input",10],["d3-node-port-output",10],["d3-svg-canvas-underlay",11],["d3-node-error-marker",12],["d3-node-dec-group",13]]),$n=function(){return e._createClass(function t(n){e._classCallCheck(this,t),this.canvasLayout=n},[{key:"getBeforeElement",value:function(e,t){var n;if(null==e||!e.children)return null;var i=null!==(n=qn.get(t))&&void 0!==n?n:999;return this.getNextChildElement(e,i)}},{key:"getNextChildElement",value:function(e,t){var n=this,i=Array.from(e.children).find(function(e){return n.shouldChildComeAfter(e,t)});return null!=i?i:null}},{key:"shouldChildComeAfter",value:function(e,t){var n,i=Vn(e.classList);try{for(i.s();!(n=i.n()).done;){var o=n.value,a=qn.get(o);if(void 0!==a&&a>t)return!0}}catch(e){i.e(e)}finally{i.f()}return!1}},{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(s.CanvasUtils.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 s.CanvasUtils.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 s.ERROR:t=s.NODE_ERROR_ICON;break;case s.WARNING:t=s.NODE_WARNING_ICON}return t}},{key:"getMessageLevel",value:function(e){var t="";if(e&&e.length>0){var n,i=Vn(e);try{for(i.s();!(n=i.n()).done;){var o=n.value;if(o.type===s.ERROR)return o.type;o.type===s.WARNING&&(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 s.ERROR:t="d3-node-error-label";break;case s.WARNING:t="d3-node-warning-label"}return t}},{key:"getErrorMarkerClass",value:function(e){var t="d3-error-circle-off";switch(this.getMessageLevel(e)){case s.ERROR:t="d3-error-circle";break;case s.WARNING: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 s.CanvasUtils.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 s.CanvasUtils.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 s.CanvasUtils.isExpandedSupernode(e)?this.canvasLayout.supernodeImagePosX:this.getElementPosX(e.width,e.layout.imagePosX,e.layout.imagePosition)}},{key:"getNodeImagePosY",value:function(e){return s.CanvasUtils.isExpandedSupernode(e)?this.canvasLayout.supernodeImagePosY:this.getElementPosY(e.height,e.layout.imagePosY,e.layout.imagePosition)}},{key:"getNodeImageWidth",value:function(e){return s.CanvasUtils.isExpandedSupernode(e)?this.canvasLayout.supernodeImageWidth:e.layout.imageWidth}},{key:"getNodeImageHeight",value:function(e){return s.CanvasUtils.isExpandedSupernode(e)?this.canvasLayout.supernodeImageHeight:e.layout.imageHeight}},{key:"getNodeLabelPosX",value:function(e){if(s.CanvasUtils.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 s.CanvasUtils.isExpandedSupernode(e)?this.canvasLayout.supernodeLabelPosY:this.getElementPosY(e.height,e.layout.labelPosY,e.layout.labelPosition)}},{key:"getNodeLabelWidth",value:function(e){return s.CanvasUtils.isExpandedSupernode(e)?e.width-this.canvasLayout.supernodeLabelPosX+this.canvasLayout.supernodeErrorPosX:e.layout.labelWidth}},{key:"getNodeLabelHeight",value:function(e){return s.CanvasUtils.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),a=i?this.getNodeLabelHoverPosX(e):this.getNodeLabelPosX(e),r=t.getBoundingClientRect().width;if("center"===e.layout.labelAlign&&!s.CanvasUtils.isExpandedSupernode(e)){var l=o/2;return a+l+Math.min(l,r/n/2)}var c=Math.min(o,r/n);return this.getNodeLabelPosX(e)+c}},{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*s.TEXT_AREA_BORDER_ADJUSTMENT}},{key:"getNodeLabelTextAreaHeight",value:function(e){return this.getNodeLabelHeight(e)+2*s.TEXT_AREA_BORDER_ADJUSTMENT}},{key:"getNodeLabelTextAreaPosX",value:function(e){return this.getNodeLabelPosX(e)-s.TEXT_AREA_BORDER_ADJUSTMENT}},{key:"getNodeLabelTextAreaPosY",value:function(e){return this.getNodeLabelPosY(e)-s.TEXT_AREA_BORDER_ADJUSTMENT}},{key:"getNodeEllipsisTranslate",value:function(e){return"translate(".concat(this.getNodeEllipsisPosX(e),", ").concat(this.getNodeEllipsisPosY(e),")")}},{key:"getNodeEllipsisWidth",value:function(e){return s.CanvasUtils.isExpandedSupernode(e)?this.canvasLayout.supernodeEllipsisWidth:e.layout.ellipsisWidth}},{key:"getNodeEllipsisHeight",value:function(e){return s.CanvasUtils.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 s.CanvasUtils.isExpandedSupernode(e)?e.width+this.canvasLayout.supernodeEllipsisPosX:this.getElementPosX(e.width,e.layout.ellipsisPosX,e.layout.ellipsisPosition)}},{key:"getNodeEllipsisPosY",value:function(e){return s.CanvasUtils.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 s.CanvasUtils.isExpandedSupernode(e)?e.width+this.canvasLayout.supernodeErrorPosX:this.getElementPosX(e.width,e.layout.errorXPos,e.layout.errorPosition)}},{key:"getNodeErrorPosY",value:function(e){return s.CanvasUtils.isExpandedSupernode(e)?this.canvasLayout.supernodeErrorPosY:this.getElementPosY(e.height,e.layout.errorYPos,e.layout.errorPosition)}},{key:"getNodeErrorWidth",value:function(e){return s.CanvasUtils.isExpandedSupernode(e)?this.canvasLayout.supernodeErrorWidth:e.layout.errorWidth}},{key:"getNodeErrorHeight",value:function(e){return s.CanvasUtils.isExpandedSupernode(e)?this.canvasLayout.supernodeErrorHeight:e.layout.errorHeight}},{key:"getNodePortPosX",value:function(e,t){return this.getElementPosX(t.width,e.x_pos,e.pos)}},{key:"getNodePortPosY",value:function(e,t){return this.getElementPosY(t.height,e.y_pos,e.pos)}},{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}}])}();function Jn(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Qn(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Qn(e,t):void 0}}(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 a,r=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return r=e.done,e},e:function(e){s=!0,a=e},f:function(){try{r||null==n.return||n.return()}finally{if(s)throw a}}}}function Qn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}var ei=function(){return e._createClass(function t(){e._classCallCheck(this,t)},[{key:"getCommentCenterPosX",value:function(e){return e.x_pos+e.width/2}},{key:"getCommentCenterPosY",value:function(e){return e.y_pos+e.height/2}},{key:"insertCommentHighlight",value:function(e,t){var n=(new DOMParser).parseFromString(e,"text/html").getElementsByTagName("body")[0],i=(null==n?void 0:n.innerText)||"",o=new RegExp(t,"gi"),a=i.matchAll(o);if(a){var r,s=Jn(a);try{for(s.s();!(r=s.n()).done;){var l=r.value,c=[];this.searchForElementInfos(n,l.index,l.index+t.length,0,c),this.insertMarkElements(c)}}catch(e){s.e(e)}finally{s.f()}return n.outerHTML}return e}},{key:"searchForElementInfos",value:function(e,t,n,i,o){var a,r=i,s=i,l=Jn(e.childNodes);try{for(l.s();!(a=l.n()).done;){var c=a.value;if(c.nodeType===Node.TEXT_NODE){var u,d=null==c||null===(u=c.textContent)||void 0===u?void 0:u.length;if(s=r+d,r<n&&s>t){var h=t>r?t-r:0,g=n<s?n-r:d;o.push({splitStart:h,splitEnd:g,node:c})}}else c.nodeType===Node.ELEMENT_NODE&&(s=r=this.searchForElementInfos(c,t,n,s,o))}}catch(e){l.e(e)}finally{l.f()}return s}},{key:"insertMarkElements",value:function(e){for(var t=0;t<e.length;t++){var n=e[t],i=n.node,o=i.parentElement,a=i.textContent,r=document.createElement("mark");if(0===n.splitStart&&n.splitEnd===a.length){var s=document.createTextNode(a.slice(0,n.splitEnd));r.appendChild(s),o.replaceChild(r,i)}else if(n.splitStart>0&&n.splitEnd===a.length){var l=document.createTextNode(a.slice(0,n.splitStart)),c=document.createTextNode(a.slice(n.splitStart));r.appendChild(c),o.insertBefore(l,i),o.replaceChild(r,i)}else if(0===n.splitStart&&n.splitEnd<a.length){var u=document.createTextNode(a.slice(0,n.splitEnd)),d=document.createTextNode(a.slice(n.splitEnd));r.appendChild(u),o.insertBefore(r,i),o.replaceChild(d,i)}else{var h=document.createTextNode(a.slice(0,n.splitStart)),g=document.createTextNode(a.slice(n.splitStart,n.splitEnd)),p=document.createTextNode(a.slice(n.splitEnd));r.appendChild(g),o.insertBefore(h,i),o.insertBefore(r,i),o.replaceChild(p,i)}}}}])}();function ti(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 ni(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ti(Object(n),!0).forEach(function(t){C._defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ti(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var ii,oi=!1,ai=!0,ri=function(){return e._createClass(function t(n,i,o,a){e._classCallCheck(this,t),this.canvasLayout=i,this.config=n,this.nodeUtils=o,this.commentUtils=a},[{key:"getNewStraightCommentLinkStartPos",value:function(e,t){return s.CanvasUtils.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:"getNewFreeformNodeLinkStartPos",value:function(e,t,n){var i,o;if("image_center"!==e.layout.drawNodeLinkLineFromTo||s.CanvasUtils.isExpanded(e))if(n){var a=this.getCenterOffset(e,n,!1);i=a.x,o=a.y}else i=this.nodeUtils.getNodeCenterPosX(e),o=this.nodeUtils.getNodeCenterPosY(e);else i=this.nodeUtils.getNodeImageCenterPosX(e),o=this.nodeUtils.getNodeImageCenterPosY(e);return s.CanvasUtils.getOuterCoord(e.x_pos,e.y_pos,e.width,e.height,this.canvasLayout.linkGap,i,o,t.x,t.y)}},{key:"getLinkCoords",value:function(e,t,n,i,o,a){return e.type===s.NODE_LINK?this.canvasLayout.linkMethod===s.LINK_METHOD_FREEFORM?this.getNodeLinkCoordsForFreeform(t,i,e):this.getNodeLinkCoordsForPortsConnection(t,n,i,o):e.type===s.ASSOCIATION_LINK?this.config.enableAssocLinkType===s.ASSOC_RIGHT_SIDE_CURVE?this.getAssociationCurveLinkCoords(t,i,a):this.getAssociationLinkCoords(t,i):this.getCommentLinkCoords(t,i)}},{key:"getNodeLinkCoordsForFreeform",value:function(e,t,n){var i,o,a,r,l,c,u,d,h=e.id===t.id;if("image_center"!==e.layout.drawNodeLinkLineFromTo||this.canvasLayout.linkType!==s.LINK_TYPE_STRAIGHT||s.CanvasUtils.isExpanded(e))if(n&&n.srcFreeformInfo){var g=this.getCenterOffset(e,n.srcFreeformInfo,h);i=g.x,o=g.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||this.canvasLayout.linkType!==s.LINK_TYPE_STRAIGHT||s.CanvasUtils.isExpanded(t))if(n&&n.trgFreeformInfo){var p=this.getCenterOffset(t,n.trgFreeformInfo,h);a=p.x,r=p.y}else a=this.nodeUtils.getNodeCenterPosX(t),r=this.nodeUtils.getNodeCenterPosY(t);else a=this.nodeUtils.getNodeImageCenterPosX(t),r=this.nodeUtils.getNodeImageCenterPosY(t);if(this.canvasLayout.linkType!==s.LINK_TYPE_STRAIGHT||h)return n.srcFreeformInfo.dir===s.EAST?(l=i+this.canvasLayout.linkGap,c=o):n.srcFreeformInfo.dir===s.WEST?(l=i-this.canvasLayout.linkGap,c=o):n.srcFreeformInfo.dir===s.SOUTH?(l=i,c=o+this.canvasLayout.linkGap):n.srcFreeformInfo.dir===s.NORTH&&(l=i,c=o-this.canvasLayout.linkGap),n.trgFreeformInfo.dir===s.EAST?(u=a+this.canvasLayout.linkGap,d=r):n.trgFreeformInfo.dir===s.WEST?(u=a-this.canvasLayout.linkGap,d=r):n.trgFreeformInfo.dir===s.SOUTH?(u=a,d=r+this.canvasLayout.linkGap):n.trgFreeformInfo.dir===s.NORTH&&(u=a,d=r-this.canvasLayout.linkGap),{originX:0,originY:0,x1:l,y1:c,x2:u,y2:d,srcDir:n.srcFreeformInfo.dir,trgDir:n.trgFreeformInfo.dir};var f=s.CanvasUtils.getOuterCoord(e.x_pos,e.y_pos,e.width,e.height,this.canvasLayout.linkGap,i,o,a,r),v=s.CanvasUtils.getOuterCoord(t.x_pos,t.y_pos,t.width,t.height,this.canvasLayout.linkGap,a,r,i,o);return{originX:f.originX,originY:f.originY,x1:f.x,y1:f.y,x2:v.x,y2:v.y,srcDir:f.dir,trgDir:v.dir}}},{key:"getCenterOffset",value:function(e,t,n){var i=t.len+1,o=t.idx+1,a=0,r=0;return t.dir===s.NORTH||t.dir===s.SOUTH?(a=e.x_pos+e.width/i*o,r=this.getYPosForCenterOffset(e,t.dir,n)):t.dir!==s.EAST&&t.dir!==s.WEST||(a=this.getXPosForCenterOffset(e,t.dir,n),r=e.y_pos+e.height/i*o),{x:a,y:r}}},{key:"getYPosForCenterOffset",value:function(e,t,n){return this.canvasLayout.linkType!==s.LINK_TYPE_STRAIGHT||n?t===s.SOUTH?e.y_pos+e.height:e.y_pos:this.nodeUtils.getNodeCenterPosY(e)}},{key:"getXPosForCenterOffset",value:function(e,t,n){return this.canvasLayout.linkType!==s.LINK_TYPE_STRAIGHT||n?t===s.EAST?e.x_pos+e.width:e.x_pos:this.nodeUtils.getNodeCenterPosX(e)}},{key:"getNodeLinkCoordsForPortsConnection",value:function(e,t,n,i){var o,a,r,l,c,u;if(e.outputs&&e.outputs.length>0){var d=e.outputs.find(function(e){return e.id===t});o=d.cx,a=d.cy,c=d.dir}else o=this.nodeUtils.getNodePortPosX(e.layout.outputPortPositions[0],e),a=this.nodeUtils.getNodePortPosY(e.layout.outputPortPositions[0],e),c=s.CanvasUtils.getPortDir(o,a,e);if(n.inputs&&n.inputs.length>0){var h=n.inputs.find(function(e){return e.id===i});r=h.cx,l=h.cy,u=h.dir}else r=this.nodeUtils.getNodePortPosX(n.layout.inputPortPositions[0],n),l=this.nodeUtils.getNodePortPosY(n.layout.inputPortPositions[0],n),u=s.CanvasUtils.getPortDir(o,a,e);return{x1:e.x_pos+o,y1:e.y_pos+a,x2:n.x_pos+r,y2:n.y_pos+l,srcDir:c,trgDir:u}}},{key:"getAssociationCurveLinkCoords",value:function(e,t,n){var i=0,o=0;return n===s.ASSOC_VAR_CURVE_RIGHT?(i=e.width,o=0):n===s.ASSOC_VAR_CURVE_LEFT?(i=0,o=t.width):n===s.ASSOC_VAR_DOUBLE_BACK_LEFT?(i=0,o=0):(i=e.width,o=t.width),{x1:e.x_pos+i,y1:e.y_pos+this.nodeUtils.getNodePortPosY(e.layout.outputPortPositions[0],e),x2:t.x_pos+o,y2:t.y_pos+this.nodeUtils.getNodePortPosY(t.layout.inputPortPositions[0],t)}}},{key:"getCommentLinkCoords",value:function(e,t){var n,i,o=this.commentUtils.getCommentCenterPosX(e),a=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 r=s.CanvasUtils.getOuterCoord(e.x_pos,e.y_pos,e.width,e.height,this.canvasLayout.linkGap,o,a,n,i),l=s.CanvasUtils.getOuterCoord(t.x_pos,t.y_pos,t.width,t.height,this.canvasLayout.linkGap,n,i,o,a);return{x1:r.x,y1:r.y,x2:l.x,y2:l.y}}},{key:"getAssociationLinkCoords",value:function(e,t){var n=this.nodeUtils.getNodeCenterPosX(e),i=this.nodeUtils.getNodeCenterPosY(e),o=this.nodeUtils.getNodeCenterPosX(t),a=this.nodeUtils.getNodeCenterPosY(t),r=s.CanvasUtils.getOuterCoord(e.x_pos,e.y_pos,e.width,e.height,this.canvasLayout.linkGap,n,i,o,a),l=s.CanvasUtils.getOuterCoord(t.x_pos,t.y_pos,t.width,t.height,this.canvasLayout.linkGap,o,a,n,i);return{originX:r.originX,originY:r.originY,x1:r.x,y1:r.y,x2:l.x,y2:l.y,srcDir:r.dir,trgDir:l.dir}}},{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);return e.type===s.NODE_LINK?this.canvasLayout.linkMethod===s.LINK_METHOD_FREEFORM&&this.canvasLayout.linkType===s.LINK_TYPE_STRAIGHT?this.getStraightPath(e,n):this.getNodeLinkPathInfo(e,n):e.type===s.ASSOCIATION_LINK&&this.config.enableAssocLinkType===s.ASSOC_RIGHT_SIDE_CURVE?this.getAssociationCurvePath(e,n):this.getStraightPath(e,n)}},{key:"getMinInitialLine",value:function(e,t){return e.type===s.COMMENT_LINK?0:e.minInitialLineForElbow?e.minInitialLineForElbow:e.srcObj&&e.srcObj.layout?e.srcObj.layout.minInitialLine:t||30}},{key:"getNodeLinkPathInfo",value:function(e,t){var n,i,o,a,r=e;r.srcObj&&r.trgNode?r.srcDir===s.SOUTH?(n=-(r.srcObj.x_pos+r.srcObj.width),o=-r.srcObj.x_pos,i=-(r.trgNode.x_pos+r.trgNode.width),a=-r.trgNode.x_pos):r.srcDir===s.NORTH?(n=r.srcObj.x_pos,o=r.srcObj.x_pos+r.srcObj.width,i=r.trgNode.x_pos,a=r.trgNode.x_pos+r.trgNode.width):r.srcDir===s.WEST?(n=-(r.srcObj.y_pos+r.srcObj.height),o=-r.srcObj.y_pos,i=-(r.trgNode.y_pos+r.trgNode.height),a=-r.trgNode.y_pos):(n=r.srcObj.y_pos,o=r.srcObj.y_pos+r.srcObj.height,i=r.trgNode.y_pos,a=r.trgNode.y_pos+r.trgNode.height):r.srcDir===s.SOUTH?(n=-r.x1,i=-r.x2,o=-r.x1,a=-r.x2):r.srcDir===s.NORTH?(n=r.x1,i=r.x2,o=r.x1,a=r.x2):r.srcDir===s.WEST?(n=-r.y1,i=-r.y2,o=-r.y1,a=-r.y2):(n=r.y1,i=r.y2,o=r.y1,a=r.y2),r.srcDir===s.SOUTH?r=this.rotateData90Degrees(r,ai):r.srcDir===s.NORTH?r=this.rotateData90Degrees(r,oi):r.srcDir===s.WEST&&(r=this.rotateData90Degrees(r,oi),r=this.rotateData90Degrees(r,oi)),r.trgDir=this.getRotatedTrgDir(r);var l=r.srcDir;r.srcDir=s.EAST;var c=this.getPathInfo({link:r,minInitialLine:t,topSrc:n,topTrg:i,bottomSrc:o,bottomTrg:a});return r.srcDir=l,r.srcDir===s.SOUTH?(c.elements=this.rotateElements90Degrees(c.elements,oi),c.centerPoint=this.rotatePoint90Degrees(c.centerPoint.x,c.centerPoint.y,oi)):r.srcDir===s.NORTH?(c.elements=this.rotateElements90Degrees(c.elements,ai),c.centerPoint=this.rotatePoint90Degrees(c.centerPoint.x,c.centerPoint.y,ai)):r.srcDir===s.WEST&&(c.elements=this.rotateElements90Degrees(c.elements,ai),c.elements=this.rotateElements90Degrees(c.elements,ai),c.centerPoint=this.rotatePoint90Degrees(c.centerPoint.x,c.centerPoint.y,ai),c.centerPoint=this.rotatePoint90Degrees(c.centerPoint.x,c.centerPoint.y,ai)),c.path=this.createPath(c.elements),c}},{key:"rotateData90Degrees",value:function(e,t){var n=this.rotatePoint90Degrees(e.x1,e.y1,t),i=this.rotatePoint90Degrees(e.x2,e.y2,t);return ni(ni({},e),{},{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:"getRotatedTrgDir",value:function(e){if(e.srcDir===s.SOUTH)switch(e.trgDir){case s.SOUTH:return s.EAST;case s.NORTH:return s.WEST;case s.WEST:return s.SOUTH;default:case s.EAST:return s.NORTH}else if(e.srcDir===s.NORTH)switch(e.trgDir){case s.SOUTH:return s.WEST;case s.NORTH:return s.EAST;case s.WEST:return s.NORTH;default:case s.EAST:return s.SOUTH}else if(e.srcDir===s.WEST)switch(e.trgDir){case s.SOUTH:return s.NORTH;case s.NORTH:return s.SOUTH;case s.WEST:return s.EAST;default:case s.EAST:return s.WEST}return e.trgDir}},{key:"getStraightPath",value:function(e,t){if(e.srcNodeId&&e.trgNodeId&&e.srcNodeId===e.trgNodeId)return this.selfRefLinkPath(e,t);if(e.centerDragPos&&"revertLink"!==e.centerDragPos)return this.getStraightPathForCenterDrag(e);var n="M "+e.x1+" "+e.y1+" L "+e.x2+" "+e.y2,i=e.x2-e.x1,o=e.y2-e.y1;return{path:n,centerPoint:{x:e.x1+i/2,y:e.y1+o/2},angle:s.CanvasUtils.calculateAngle(e.x1,e.y1,e.x2,e.y2)}}},{key:"getStraightPathForCenterDrag",value:function(e){return{path:"M "+e.x1+" "+e.y1+" L "+e.centerDragPos.x+" "+e.centerDragPos.y+" "+e.x2+" "+e.y2,centerPoint:{x:e.centerDragPos.x,y:e.centerDragPos.y},angle:s.CanvasUtils.calculateAngle(e.centerDragPos.x,e.centerDragPos.y,e.x2,e.y2)}}},{key:"selfRefLinkPath",value:function(e,t){var n=e.y2-t,i=e.x1+t;return{path:"M "+e.x1+" "+e.y1+" L "+i+" "+e.y1+" "+i+" "+n+" "+e.x2+" "+n+" "+e.x2+" "+e.y2,centerPoint:{x:e.x2+(i-e.x2)/2,y:n},angle:180}}},{key:"getAssociationCurvePath",value:function(e,t){return e.assocLinkVariation===s.ASSOC_VAR_CURVE_LEFT?this.getCurveLeftPath(e,t):e.assocLinkVariation===s.ASSOC_VAR_DOUBLE_BACK_LEFT?this.getDoubleBackLeft(e,t):e.assocLinkVariation===s.ASSOC_VAR_DOUBLE_BACK_RIGHT?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,a=e.y2;return{path:"M "+e.x1+" "+e.y1+" C "+n+" "+i+" "+o+" "+a+" "+e.x2+" "+e.y2,centerPoint:{x:n,y:i+(a-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,a=e.y2;return{path:"M "+e.x1+" "+e.y1+" C "+n+" "+i+" "+o+" "+a+" "+e.x2+" "+e.y2,centerPoint:{x:s.CanvasUtils.getCenterPointCubicBezier(e.x1,n,o,e.x2),y:s.CanvasUtils.getCenterPointCubicBezier(e.y1,i,a,e.y2)}}}},{key:"getPathInfo",value:function(e){switch(e.minFinalLine=e.link.trgNode?e.link.trgNode.layout.minFinalLine:30,e.link.trgDir){case s.NORTH:return this.getPathInfoEN(e);case s.SOUTH:return this.getPathInfoES(e);case s.EAST:return this.getPathInfoEE(e);case s.WEST:default:return this.getPathInfoEW(e)}}},{key:"getPathInfoEW",value:function(e){var t=this.canvasLayout.wrapAroundNodePadding,n=e.link.x2-e.link.x1;if(n>e.minInitialLine+e.minFinalLine||n>0&&e.topSrc-t<e.bottomTrg&&e.bottomSrc+t>e.topTrg){var i={},o={};if(i.x=e.link.x1+e.minInitialLine,i.y=e.link.y1,o.x=i.x,o.y=e.link.y2,n>0){var a=2*e.minInitialLine-n;a>0&&(i.x=e.link.x1+e.minInitialLine-a/2,o.x=i.x)}return this.get3PartLink(e,i,o)}var r={},s={},l={},c={},u=this.calculateMidY(e.link,e.topSrc,e.bottomSrc,e.topTrg,e.bottomTrg);return r.x=e.link.x1+e.minInitialLine,r.y=e.link.y1,s.x=r.x,s.y=u,l.x=e.link.x2-e.minFinalLine,l.y=s.y,c.x=l.x,c.y=e.link.y2,this.get5PartLink(e,r,s,l,c)}},{key:"getPathInfoEE",value:function(e){var t=this.canvasLayout.wrapAroundNodePadding;if(e.topTrg-t<e.link.y1&&e.bottomTrg+t>e.link.y1){var n={},i={},o={},a={};return n.x=e.link.x1+e.minInitialLine,n.y=e.link.y1,i.x=n.x,i.y=e.link.x1>=e.link.x2?e.link.y1+(e.link.y2-e.link.y1)/2:e.topTrg-t,o.x=e.link.x2+e.minFinalLine,o.y=i.y,a.x=o.x,a.y=e.link.y2,e.link.x2<e.link.x1&&(i.y=e.topSrc-t,o.y=i.y),this.get5PartLink(e,n,i,o,a)}var r={},s={};return r.x=Math.max(e.link.x1+e.minInitialLine,e.link.x2+e.minFinalLine),r.y=e.link.y1,s.x=r.x,s.y=e.link.y2,this.get3PartLink(e,r,s)}},{key:"getPathInfoEN",value:function(e){if(e.link.y2>e.link.y1+e.minFinalLine&&e.link.x2>e.link.x1+e.minInitialLine){var t={};return t.x=e.link.x2,t.y=e.link.y1,this.get2PartLink(e,t)}var n={},i={},o={},a=e.link.y2-e.minFinalLine;return e.link.x2<e.link.x1&&(e.topTrg>e.bottomSrc+e.minFinalLine+this.canvasLayout.wrapAroundNodePadding?a=e.topTrg-e.minFinalLine:e.topTrg>e.topSrc&&(a=e.topSrc-this.canvasLayout.wrapAroundNodePadding)),n.x=e.link.x1+e.minInitialLine,n.y=e.link.y1,i.x=n.x,i.y=a,o.x=e.link.x2,o.y=i.y,this.get4PartLink(e,n,i,o)}},{key:"getPathInfoES",value:function(e){if(e.link.y1>e.link.y2+e.minFinalLine&&e.link.x2>e.link.x1){var t={};return t.x=e.link.x2,t.y=e.link.y1,this.get2PartLink(e,t)}var n={},i={},o={},a=e.link.y2+e.minFinalLine;return e.link.x2<e.link.x1&&(e.bottomTrg<e.topSrc-e.minFinalLine-this.canvasLayout.wrapAroundNodePadding?a=e.bottomTrg+e.minFinalLine:e.bottomTrg<e.bottomSrc&&(a=e.bottomSrc+this.canvasLayout.wrapAroundNodePadding)),n.x=e.link.x1+e.minInitialLine,n.y=e.link.y1,i.x=n.x,i.y=a,o.x=e.link.x2,o.y=i.y,this.get4PartLink(e,n,i,o)}},{key:"calculateMidY",value:function(e,t,n,i,o){var a;if(i>=n+this.canvasLayout.wrapAroundNodePadding)a=n+(i-n)/2;else if(o<=t-this.canvasLayout.wrapAroundNodePadding)a=o+(t-o)/2;else{var r=Math.max(n,o),s=r-e.y1,l=r-e.y2,c=Math.min(t,i);a=s+l>e.y1-c+(e.y2-c)?c-this.canvasLayout.wrapAroundSpacing:r+this.canvasLayout.wrapAroundSpacing}return a}},{key:"get2PartLink",value:function(e,t){switch(this.canvasLayout.linkType){case s.LINK_TYPE_ELBOW:return this.get2PartElbow(e,t);case s.LINK_TYPE_STRAIGHT:return this.get2PartStraight(e,t);case s.LINK_TYPE_PARALLAX:return this.get2PartParallax(e,t);default:return this.get2PartCurve(e,t)}}},{key:"get3PartLink",value:function(e,t,n){switch(this.canvasLayout.linkType){case s.LINK_TYPE_ELBOW:return this.get3PartElbow(e,t,n);case s.LINK_TYPE_STRAIGHT:return this.get3PartStraight(e,t,n);case s.LINK_TYPE_PARALLAX:return this.get3PartParallax(e,t,n);default:return this.get3PartCurve(e,t,n)}}},{key:"get4PartLink",value:function(e,t,n,i){switch(this.canvasLayout.linkType){case s.LINK_TYPE_ELBOW:return this.get4PartElbow(e,t,n,i);case s.LINK_TYPE_STRAIGHT:return this.get4PartStraight(e,t,n,i);case s.LINK_TYPE_PARALLAX:return this.get4PartParallax(e,t,n,i);default:return this.get4PartCurve(e,t,n,i)}}},{key:"get5PartLink",value:function(e,t,n,i,o){switch(this.canvasLayout.linkType){case s.LINK_TYPE_ELBOW:return this.get5PartElbow(e,t,n,i,o);case s.LINK_TYPE_STRAIGHT:return this.get5PartStraight(e,t,n,i,o);case s.LINK_TYPE_PARALLAX:return this.get5PartParallax(e,t,n,i,o);default:return this.get5PartCurve(e,t,n,i,o)}}},{key:"get2PartElbow",value:function(e,t){var n=e.link.y2<t.y?-this.canvasLayout.elbowSize:this.canvasLayout.elbowSize;return{elements:[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:t.x-this.canvasLayout.elbowSize,y:t.y},{p:"Q",x:t.x,y:t.y,x2:t.x,y2:t.y+n},{p:"L",x:e.link.x2,y:e.link.y2}],centerPoint:{x:e.link.x1+(e.link.x2-e.link.x1)/2,y:e.link.y1}}}},{key:"get3PartElbow",value:function(e,t,n){var i=this.canvasLayout.elbowSize,o=this.adjustElbowSize(n.y,t.y),a=e.link.x2>n.x?this.canvasLayout.elbowSize:-this.canvasLayout.elbowSize;return{elements:[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:t.x-i,y:t.y},{p:"Q",x:t.x,y:t.y,x2:t.x,y2:t.y+o},{p:"L",x:n.x,y:n.y-o},{p:"Q",x:n.x,y:n.y,x2:n.x+a,y2:n.y},{p:"L",x:e.link.x2,y:e.link.y2}],centerPoint:{x:t.x,y:e.link.y1+(e.link.y2-e.link.y1)/2}}}},{key:"get4PartElbow",value:function(e,t,n,i){var o=this.canvasLayout.elbowSize,a=this.adjustElbowSize(n.y,t.y),r=this.adjustElbowSize(t.x,i.x),s=i.y>e.link.y2?this.canvasLayout.elbowSize:-this.canvasLayout.elbowSize;return{elements:[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:t.x-o,y:t.y},{p:"Q",x:t.x,y:t.y,x2:t.x,y2:t.y+a},{p:"L",x:n.x,y:n.y-a},{p:"Q",x:n.x,y:n.y,x2:n.x-r,y2:n.y},{p:"L",x:i.x+r,y:i.y},{p:"Q",x:i.x,y:i.y,x2:i.x,y2:i.y-s},{p:"L",x:e.link.x2,y:e.link.y2}],centerPoint:{x:n.x+(i.x-n.x)/2,y:n.y}}}},{key:"get5PartElbow",value:function(e,t,n,i,o){var a=this.canvasLayout.elbowSize,r=this.adjustElbowSize(n.y,t.y),s=this.adjustElbowSize(t.x,i.x),l=this.adjustElbowSize(i.y,o.y),c=e.link.x2<o.x?-this.canvasLayout.elbowSize:this.canvasLayout.elbowSize;return{elements:[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:t.x-a,y:t.y},{p:"Q",x:t.x,y:t.y,x2:t.x,y2:t.y+r},{p:"L",x:n.x,y:n.y-r},{p:"Q",x:n.x,y:n.y,x2:n.x-s,y2:n.y},{p:"L",x:i.x+s,y:i.y},{p:"Q",x:i.x,y:i.y,x2:i.x,y2:i.y-l},{p:"L",x:o.x,y:o.y+l},{p:"Q",x:o.x,y:o.y,x2:o.x+c,y2:o.y},{p:"L",x:e.link.x2,y:e.link.y2}],centerPoint:{x:n.x+(i.x-n.x)/2,y:n.y}}}},{key:"adjustElbowSize",value:function(e,t){var n=this.canvasLayout.elbowSize,i=t-e;return i<2*this.canvasLayout.elbowSize&&i>-2*this.canvasLayout.elbowSize&&(n=Math.abs(i)/2),n=i>0?-n:n}},{key:"get2PartParallax",value:function(e,t){var n=e.link.y2>e.link.y1?-e.minFinalLine:e.minFinalLine,i={},o={};return i.x=e.link.x1+e.minInitialLine,i.y=t.y,o.x=t.x,o.y=e.link.y2+n,{elements:[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:i.x,y:t.y},{p:"L",x:o.x,y:o.y},{p:"L",x:e.link.x2,y:e.link.y2}],centerPoint:{x:i.x+(t.x-i.x)/2,y:i.y+(o.y-i.y)/2}}}},{key:"get3PartParallax",value:function(e,t,n){var i,o={x:0,y:0};if(e.link.x2>n.x){var a={};a.x=e.link.x2-Math.min(e.minFinalLine,e.link.x2-t.x),a.y=e.link.y2,i=[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:t.x,y:t.y},{p:"L",x:a.x,y:a.y},{p:"L",x:e.link.x2,y:e.link.y2}],o={x:t.x+(a.x-t.x)/2,y:t.y+(a.y-t.y)/2}}else e.link.x2<e.link.x1+e.minInitialLine?(i=[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:t.x,y:t.y},{p:"L",x:Math.max(n.x,e.link.x2),y:e.link.y2},{p:"L",x:e.link.x2,y:e.link.y2}],o={x:e.link.x2+(n.x-e.link.x2)/2,y:n.y}):(i=[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:t.x,y:t.y},{p:"L",x:e.link.x2+e.minFinalLine,y:e.link.y2},{p:"L",x:e.link.x2,y:e.link.y2}],o={x:t.x,y:t.y+(e.link.y2-t.y)/2});return{elements:i,centerPoint:o}}},{key:"get4PartParallax",value:function(e,t,n,i){return{elements:[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:t.x,y:t.y},{p:"L",x:n.x,y:n.y},{p:"L",x:i.x,y:i.y},{p:"L",x:e.link.x2,y:e.link.y2}],centerPoint:{x:i.x+(n.x-i.x)/2,y:n.y}}}},{key:"get5PartParallax",value:function(e,t,n,i,o){return{elements:[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:t.x,y:t.y},{p:"L",x:n.x,y:n.y},{p:"L",x:i.x,y:i.y},{p:"L",x:o.x,y:o.y},{p:"L",x:e.link.x2,y:e.link.y2}],centerPoint:{x:i.x+(n.x-i.x)/2,y:n.y}}}},{key:"get2PartStraight",value:function(e,t){return{elements:[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:e.link.x2,y:e.link.y2}],centerPoint:{x:e.link.x1+(e.link.x2-e.link.x1)/2,y:e.link.y1+(e.link.y2-e.link.y1)/2}}}},{key:"get3PartStraight",value:function(e,t,n){var i,o={x:0,y:0};return n.x<e.link.x2?(i=[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:e.link.x2,y:e.link.y2}],o={x:e.link.x1+(e.link.x2-e.link.x1)/2,y:e.link.y1+(e.link.y2-e.link.y1)/2}):e.link.x2<e.link.x1?(i=[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:t.x,y:n.y},{p:"L",x:e.link.x2,y:e.link.y2}],o={x:e.link.x2+(n.x-e.link.x2)/2,y:n.y}):(i=[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:t.x+e.minFinalLine,y:t.y},{p:"L",x:e.link.x2,y:e.link.y2}],o={x:e.link.x1+(t.x-e.link.x1)/2,y:e.link.y1}),{elements:i,centerPoint:o}}},{key:"get4PartStraight",value:function(e,t,n,i){return{elements:[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:e.link.x1+e.minInitialLine,y:n.y},{p:"L",x:e.link.x2,y:n.y},{p:"L",x:e.link.x2,y:e.link.y2}],centerPoint:{x:i.x+(n.x-i.x)/2,y:n.y}}}},{key:"get5PartStraight",value:function(e,t,n,i,o){var a=o.x>e.link.x2?e.minFinalLine:-e.minFinalLine;return{elements:[{p:"M",x:e.link.x1,y:e.link.y1},{p:"L",x:t.x,y:n.y},{p:"L",x:e.link.x2+a,y:n.y},{p:"L",x:e.link.x2+a,y:e.link.y2},{p:"L",x:e.link.x2,y:e.link.y2}],centerPoint:{x:i.x+(n.x-i.x)/2,y:n.y}}}},{key:"get2PartCurve",value:function(e,t){return{elements:[{p:"M",x:e.link.x1,y:e.link.y1},{p:"Q",x:t.x,y:t.y,x2:e.link.x2,y2:e.link.y2}],centerPoint:{x:s.CanvasUtils.getCenterPointQuadBezier(e.link.x1,t.x,e.link.x2),y:s.CanvasUtils.getCenterPointQuadBezier(e.link.y1,t.y,e.link.y2)}}}},{key:"get3PartCurve",value:function(e,t,n){var i,o;if(t.x>e.link.x2)i=[{p:"M",x:e.link.x1,y:e.link.y1},{p:"C",x:t.x+80,y:t.y,x2:n.x+20,y2:n.y,x3:e.link.x2,y3:e.link.y2}],o={x:s.CanvasUtils.getCenterPointCubicBezier(e.link.x1,t.x+80,n.x,e.link.x2),y:s.CanvasUtils.getCenterPointCubicBezier(e.link.y1,t.y,n.y,e.link.y2)};else{var a={};a.x=e.link.x1+(e.link.x2-e.link.x1)/2,i=[{p:"M",x:e.link.x1,y:e.link.y1},{p:"C",x:a.x,y:t.y,x2:a.x,y2:n.y,x3:e.link.x2,y3:e.link.y2}],o={x:a.x,y:t.y+(n.y-t.y)/2}}return{elements:i,centerPoint:o}}},{key:"get4PartCurve",value:function(e,t,n,i){var o=e.link.x2-t.x,a=Math.min(200,Math.abs(o)),r=o>0?-a/2:a/2,s={},l={},c={};return s.x=t.x,s.y=t.y+(n.y-t.y)/2,l.x=n.x-r,l.y=n.y,c.x=i.x+r,c.y=n.y,{elements:[{p:"M",x:e.link.x1,y:e.link.y1},{p:"Q",x:t.x,y:t.y,x2:s.x,y2:s.y},{p:"Q",x:n.x,y:n.y,x2:l.x,y2:l.y},{p:"L",x:c.x,y:c.y},{p:"Q",x:i.x,y:i.y,x2:e.link.x2,y2:e.link.y2}],centerPoint:l}}},{key:"get5PartCurve",value:function(e,t,n,i,o){var a=o.x-t.x,r=Math.min(200,Math.abs(a)),s=a>0?-r/2:r/2,l={},c={},u={},d={};return l.x=t.x,l.y=t.y+(n.y-t.y)/2,c.x=n.x-s,c.y=n.y,u.x=i.x+s,u.y=n.y,d.x=i.x,d.y=e.link.y2-(e.link.y2-i.y)/2,{elements:[{p:"M",x:e.link.x1,y:e.link.y1},{p:"Q",x:t.x,y:t.y,x2:l.x,y2:l.y},{p:"Q",x:n.x,y:n.y,x2:c.x,y2:c.y},{p:"L",x:u.x,y:u.y},{p:"Q",x:i.x,y:i.y,x2:d.x,y2:d.y},{p:"Q",x:o.x,y:o.y,x2:e.link.x2,y2:e.link.y2}],centerPoint:c}}},{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}}])}(),si=function(){return e._createClass(function t(n){e._classCallCheck(this,t),this.canvasLayout=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){var i=this.getDecRotateTransform(e,t,n);return"translate(".concat(this.getDecPosX(e,t,n),", ").concat(this.getDecPosY(e,t,n),")")+i}},{key:"getDecRotateTransform",value:function(e,t,n){if("link"===n&&e.rotate){var i="source"===e.position?s.CanvasUtils.getLinkEndAngle(t,s.FLOW_OUT,this.canvasLayout):s.CanvasUtils.getLinkEndAngle(t,s.FLOW_IN,this.canvasLayout);return" rotate(".concat(i,")")}return""}},{key:"getDecPosX",value:function(e,t,n){return n===s.DEC_LINK?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;if("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&&s.has_1(t,"pathInfo.angle")){var a=t.pathInfo.angle*(Math.PI/180);o+=Math.cos(a)*e.distance}return"center"===e.label_align&&(o-=this.getDecWidth(e,t,n)/2),o}},{key:"getDecPosY",value:function(e,t,n){return n===s.DEC_LINK?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;if("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&&s.has_1(t,"pathInfo.angle")){var o=t.pathInfo.angle*(Math.PI/180);i+=Math.sin(o)*e.distance}return i}},{key:"getDecPadding",value:function(e,t,n){return!1===e.outline?0:n===s.DEC_LINK?this.canvasLayout.linkDecoratorPadding:t.layout.decoratorPadding}},{key:"getDecWidth",value:function(e,t,n){return void 0!==e.width?Number(e.width):n===s.DEC_LINK?this.canvasLayout.linkDecoratorWidth:t.layout.decoratorWidth}},{key:"getDecHeight",value:function(e,t,n){return void 0!==e.height?Number(e.height):n===s.DEC_LINK?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 a=Math.min(i.getBoundingClientRect().width,this.getDecLabelWidth(e,t,n));return"center"===e.label_align?this.getDecLabelWidth(e,t,n)/2+a/2/o:a/o}},{key:"getDecLabelEditIconPosY",value:function(e){return 0}},{key:"getDecLabelWidth",value:function(e,t,n){return void 0!==e.width?Number(e.width):n===s.DEC_LINK?this.canvasLayout.linkDecoratorLabelWidth:t.layout.decoratorLabelWidth}},{key:"getDecLabelHeight",value:function(e,t,n){return void 0!==e.height?Number(e.height):n===s.DEC_LINK?this.canvasLayout.linkDecoratorLabelHeight:t.layout.decoratorLabelHeight}},{key:"getDecLabelTextAreaWidth",value:function(e,t,n){return this.getDecLabelWidth(e,t,n)+2*s.TEXT_AREA_BORDER_ADJUSTMENT}},{key:"getDecLabelTextAreaHeight",value:function(e,t,n){return this.getDecLabelHeight(e,t,n)+2*s.TEXT_AREA_BORDER_ADJUSTMENT}},{key:"getDecLabelTextAreaPosX",value:function(){return-s.TEXT_AREA_BORDER_ADJUSTMENT}},{key:"getDecLabelTextAreaPosY",value:function(){return-(s.TEXT_AREA_BORDER_ADJUSTMENT-1)}}])}(),li=S.default;if("production"===process.env.NODE_ENV)ii=li.createRoot,li.hydrateRoot;else{var ci=li.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;ii=function(e,t){ci.usingClientEntryPoint=!0;try{return li.createRoot(e,t)}finally{ci.usingClientEntryPoint=!1}}}var ui=function(){return e._createClass(function t(n){e._classCallCheck(this,t),this.logger=new h.Logger("SVGCanvasExternal"),this.ren=n},[{key:"isValidJsxElement",value:function(e){return T.default.isValidElement(e)}},{key:"isReact18OrHigher",value:function(){return Number(T.default.version.split(".")[0])>=18}},{key:"addNodeExternalObject",value:function(e,t,n,i){var o=T.default.createElement(e.layout.nodeExternalObject,{nodeData:e,pipelineData:i,canvasController:this.ren.canvasController,externalUtils:this});this.renderExternalObject(o,n[t])}},{key:"addNodeImageExternalObject",value:function(e,t,n){this.renderExternalObject(e,n[t])}},{key:"addDecExternalObject",value:function(e,t,n){this.renderExternalObject(e.jsx,n[t])}},{key:"addJsxExternalObject",value:function(e,t,n){this.renderExternalObject(e,n[t])}},{key:"renderExternalObject",value:function(e,t){this.isReact18OrHigher()?(t.ccExtRoot||(t.ccExtRoot=ii(t)),t.ccExtRoot.render(e)):S.default.render(e,t)}},{key:"removeExternalObject",value:function(e,t,n){if(this.isReact18OrHigher()){var i=n[t];i.ccExtRoot||(i.ccExtRoot=ii(i)),setTimeout(function(){i.ccExtRoot.unmount(),i.ccExtRoot=null})}else S.default.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,i.dir=s.CanvasUtils.getPortDir(i.cx,i.cy,t)}),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,i.dir=s.CanvasUtils.getPortDir(i.cx,i.cy,t)}),this.ren.displayMovedLinks()}},{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)}}])}(),di=bn({"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"}),hi=s.toString_1,gi=di,pi=/&(?:amp|lt|gt|quot|#39);/g,fi=RegExp(pi.source);var vi=function(e){return(e=hi(e))&&fi.test(e)?e.replace(pi,gi):e},yi=function(){return e._createClass(function t(){e._classCallCheck(this,t)},null,[{key:"processMarkdownAction",value:function(e,t,n,i){var o=n,a=i,r=null;switch(o===a?(o=this.findFirstSpace(t,o),a=this.findLastSpace(t,a)):this.allWhiteSpace(t,o,a)?o=a:(o=this.findFirstNonSpace(t,o,a),a=this.findLastNonSpace(t,o,a)),e){case"title":case"header":case"subheader":case"body":case"increaseHashes":case"decreaseHashes":r=this.processHeaderCommand(t,o,a,e);break;case"bold":r=this.processWrapCommand(t,o,a,"**");break;case"italics":r=this.processWrapCommand(t,o,a,"_");break;case"strikethrough":r=this.processWrapCommand(t,o,a,"~~");break;case"code":r=this.processCodeCommand(t,o,a);break;case"link":r=this.processLinkCommand(t,o,a);break;case"quote":case"numberedList":case"bulletedList":r=this.processMultiLineCommand(t,o,a,e);break;case"return":r=this.processReturnCommand(t,o,a,n,i)}return r}},{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),a=this.findSucceedingNewLine(e,n),r=e.slice(0,o),s=e.slice(o,a),l=e.slice(a),c=o,u=a,d="",h=s,g=this.getHashCount(s);if(g>0){var p=s.indexOf(" ");d=r+(h=s.slice(p+1))+l,u-=p+1}var f=this.getHeaderSyntax(i,g);return f&&(d=r+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="",a=t,r=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),a=t-u,r=n-u):l.startsWith(i)&&l.endsWith(i)?(o=s+l.slice(0,l.length-u).slice(u)+c,a=t,r=n-2*u):(o=s+i+l+i+c,a=t+u,r=n+u),{newText:o,newStart:a,newEnd:r}}},{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.findSucceedingNewLine(e,n),a=e.slice(0,i),r=e.slice(i,o),s=e.slice(o),l=i,c=o,u="";return a.endsWith("```\n")&&s.startsWith("\n```")?(u=a.slice(0,i-4)+r+s.slice(4),l-=4,c-=4):(u=a+"```\n"+r+"\n```"+s,l+=4,c+=4),{newText:u,newStart:l,newEnd:c}}},{key:"processLinkCommand",value:function(e,t,n){var i="",o=t,a=n,r=e.slice(0,t),s=e.slice(t,n),l=e.slice(n);return r.endsWith("[")&&l.startsWith("](url)")?(i=r.slice(0,r.length-1)+s+l.slice(6),o=t-1,a=n-1):"[](url)"===s?(i=r+l,a=o=t):t===n?(i=r+"[](url)"+l,o=t+1,a=t+1):(i=r+"["+s+"](url)"+l,o=t+1,a=n+1),{newText:i,newStart:o,newEnd:a}}},{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,a=this.findPrecedingNewLine(e,t),r=this.findSucceedingNewLine(e,n);return e.slice(a,r).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,a=this.findPrecedingNewLine(e,t),r=this.findSucceedingNewLine(e,n),s=e.slice(0,a),l=e.slice(a,r),c=e.slice(r),u=a,d=r,h=s,g=l.split("\n");return g.forEach(function(e,t){var n=o.removeListPrefix(e,i);d-=e.length-n.length,h+=n,t<g.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,a=this.findPrecedingNewLine(e,t),r=this.findSucceedingNewLine(e,n),s=e.slice(0,a),l=e.slice(a,r),c=e.slice(r),u=a,d=r,h=s;if(""===l){var g=this.getListPrefix(i,1);h=s+g+c,u=a+g.length,d=u}else{var p=l.split("\n");p.forEach(function(e,t){var n=o.getListPrefix(i,t+1,e);d+=n.length-e.length,h+=n,t===p.length-1&&(h.endsWith("\n")||!c||c.startsWith("\n\n"))||(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:"findSucceedingNewLine",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 a=this.findPrecedingNewLine(e,t),r=this.findSucceedingNewLine(e,n),s=e.slice(0,a),l=e.slice(a,r),c=e.slice(r);if(!this.isCursorAtBeginningOfLine(a,i,o)){if(this.isMultiLineItem(l,"quote"))return this.insertMultiLineItem(">",s,l,c,r);if(this.isMultiLineItem(l,"bulletedList"))return this.insertMultiLineItem("*",s,l,c,r);if(this.isMultiLineItem(l,"numberedList")){var u=this.getPrefixNumber(l)+1,d=this.renumberEndText(c,u);return this.insertMultiLineItem(u+".",s,l,d,r)}}return null}},{key:"isCursorAtBeginningOfLine",value:function(e,t,n){return t===n&&t===e}},{key:"insertMultiLineItem",value:function(e,t,n,i,o){var a=t+n+"\n"+e+" "+i,r=o+2+e.length;return{newText:a,newStart:r,newEnd:r}}},{key:"renumberEndText",value:function(e,t){var n=this,i=e.split("\n"),o="",a=!1;return i.forEach(function(e,i){n.isMultiLineItem(e,"numberedList")&&!1===a?o+=n.renumberLine(e,t+i):(o+=e,i>0&&(a=!0))}),o}},{key:"renumberLine",value:function(e,t){var n=e.indexOf(". ");return t+". "+e.slice(n+2)}}])}(),mi=Object.assign({},fn),bi="#FFFFFF",Ci="#000000",ki=function(){return e._createClass(function t(n,i,o,a,r,s,l,c,u,d,g,p,f){e._classCallCheck(this,t),this.config=n,this.dispUtils=i,this.nodeUtils=o,this.decUtils=a,this.canvasController=r,this.canvasDiv=s,this.activePipeline=l,this.removeTempCursorOverlay=c,this.displayCommentsCallback=u,this.displayLinksCallback=d,this.getCommentToolbarPosCallback=g,this.addCanvasZoomBehavior=p,this.removeCanvasZoomBehavior=f,this.logger=new h.Logger("SvgCanvasTextArea"),this.editingText=!1,this.editingTextId="",this.addingTextToTextArea=!1,this.textAreaHeight=null},[{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,autoSize:e.autoSize,contentType:e.contentType,formats:e.formats,newFormats:b.cloneDeep_1(e.formats),parentDomObj:t,keyboardInputCallback:e.contentType!==s.WYSIWYG&&this.config.enableMarkdownInComments?this.commentKeyboardHandler.bind(this):null,autoSizeCallback:this.autoSizeComment.bind(this),saveTextChangesCallback:this.saveCommentChanges.bind(this),closeTextAreaCallback:this.closeCommentTextArea.bind(this)},this.displayEditableComment(this.editingTextData),this.dispUtils.isDisplayingFullPage()){var n=this.getCommentToolbarPosCallback(e);e.contentType===s.WYSIWYG?this.canvasController.openTextToolbar(n.x,n.y,this.editingTextData.newFormats,s.WYSIWYG,this.wysiwygActionHandler.bind(this),this.blurInTextToolbar.bind(this)):this.config.enableMarkdownInComments&&this.canvasController.openTextToolbar(n.x,n.y,null,s.MARKDOWN,this.markdownActionHandler.bind(this),this.blurInTextToolbar.bind(this))}}},{key:"commentKeyboardHandler",value:function(e){var t=this.getMarkdownAction(e);t&&("return"!==t&&s.CanvasUtils.stopPropagationAndPreventDefault(e),this.markdownActionHandler(t,e))}},{key:"blurInTextToolbar",value:function(e){this.addingTextToTextArea||e.relatedTarget&&(s.CanvasUtils.getParentElementWithClass(e.relatedTarget,"d3-comment-text-entry")||s.CanvasUtils.getParentElementWithClass(e.relatedTarget,"text-toolbar")||s.CanvasUtils.getParentElementWithClass(e.relatedTarget,"cds--overflow-menu-options__btn"))||this.completeEditing(e)}},{key:"getMarkdownAction",value:function(e){return u.KeyboardUtils.boldCommand(e)?"bold":u.KeyboardUtils.italicsCommand(e)?"italics":u.KeyboardUtils.strikethroughCommand(e)?"strikethrough":u.KeyboardUtils.numberedListCommand(e)?"numberedList":u.KeyboardUtils.bulletedListCommand(e)?"bulletedList":u.KeyboardUtils.codeCommand(e)?"code":u.KeyboardUtils.linkCommand(e)?"link":u.KeyboardUtils.quoteCommand(e)?"quote":u.KeyboardUtils.incHashesCommand(e)?"increaseHashes":u.KeyboardUtils.decHashesCommand(e)?"decreaseHashes":u.KeyboardUtils.returnCommand(e)?"return":null}},{key:"markdownActionHandler",value:function(e,t){this.logger.log("markdownActionHandler - action = "+e);var n=this.canvasDiv.selectAll(".d3-comment-text-entry").node(),i=s.CanvasUtils.getSelectionPositions(n),o=n.innerText;if(o.endsWith("\n")&&(o=o.slice(0,o.length-1)),o){var a=yi.processMarkdownAction(e,o,i.start,i.end);a&&(t.preventDefault(),this.addTextToTextArea(a,n))}}},{key:"wysiwygActionHandler",value:function(e,t,n){this.logger.log("wysiwygActionHandler - action = "+e+" editParam = "+n),this.editingTextData.newFormats||(this.editingTextData.newFormats=[]),"align-left"===e||"align-center"===e||"align-right"===e?this.addReplaceFormat("alignHorizontally",e):"align-top"===e||"align-middle"===e||"align-bottom"===e?this.addReplaceFormat("alignVertically",e):"underline"===e||"strikethrough"===e?this.addAdditionalFormat("textDecoration",e):"text-color"===e?this.addReplaceFormat("textColor",n):"background-color"===e?(this.addReplaceFormat("backgroundColor",n),this.setTextColorAppropriately(n)):e.startsWith("text-size")?this.addReplaceFormat("textSize",e):e.startsWith("font")?this.addReplaceFormat("fontType",e):e.startsWith("outline")?this.addReplaceFormat("outlineStyle",e):"bold"!==e&&"italics"!==e||this.toggleFormat(e),this.canvasController.updateTextToolbarFormats(this.editingTextData.newFormats)}},{key:"setTextColorAppropriately",value:function(e){var t=this.hasFormat("textColor");if(!t||t.value===bi||t.value===Ci){var n=s.CanvasUtils.isDarkColor(e);this.addReplaceFormat("textColor",n?bi:Ci)}}},{key:"toggleFormat",value:function(e){this.hasFormat(e)?this.removeFormat(e):this.addFormat(e)}},{key:"hasFormat",value:function(e){var t;return null===(t=this.editingTextData.newFormats)||void 0===t?void 0:t.find(function(t){return t.type===e})}},{key:"addReplaceFormat",value:function(e,t){var n=this.hasFormat(e);n?n.value=t:(n={type:e,value:t},this.editingTextData.newFormats.push(n));var i=s.CanvasUtils.convertFormat(n),o=i.field,a=i.value;o&&a&&this.setWysiwygStyle(o,a)}},{key:"addAdditionalFormat",value:function(e,t){var n=this.hasFormat(e);if(n)if(n.value.includes(t)){if(n.value=n.value.replace(t,"").trim(),!n.value)return void this.removeFormat(e)}else n.value+=" "+t;else n={type:e,value:t},this.editingTextData.newFormats.push(n);var i=s.CanvasUtils.convertFormat(n),o=i.field,a=i.value;o&&a&&this.setWysiwygStyle(o,a)}},{key:"addFormat",value:function(e){var t={type:e};this.editingTextData.newFormats.push(t);var n=s.CanvasUtils.convertFormat(t),i=n.field,o=n.value;i&&o&&this.setWysiwygStyle(i,o)}},{key:"removeFormat",value:function(e){var t;this.editingTextData.newFormats=null===(t=this.editingTextData.newFormats)||void 0===t?void 0:t.filter(function(t){return t.type!==e});var n=s.CanvasUtils.convertFormat({type:e}).field;n&&this.setWysiwygStyle(n,null)}},{key:"setWysiwygStyle",value:function(e,t){"background-color"===e&&"transparent"===t&&mi.select(this.editingTextData.parentDomObj).selectAll(".d3-comment-text").style("background-color","transparent");var n=this.foreignObjectComment.selectAll(".d3-comment-text-entry");n.style(e,t),n.node().focus()}},{key:"focusOnTextEntryElement",value:function(e){this.foreignObjectComment.selectAll(".d3-comment-text-entry").node().focus()}},{key:"addTextToTextArea",value:function(e,t){this.addingTextToTextArea=!0;var n=vi(e.newText);t.focus(),s.CanvasUtils.selectNodeContents(t),document.execCommand("insertText",!1,n),s.CanvasUtils.selectNodeRange(t,e.newStart,e.newEnd),this.addingTextToTextArea=!1}},{key:"autoSizeComment",value:function(e,t){if(this.logger.log("autoSizeComment - textAreaHt = "+this.textAreaHeight+" scroll ht = "+e.scrollHeight),t.autoSize){var n=this.foreignObjectLabel?12:2,i=e.scrollHeight+n;this.textAreaHeight<i&&(this.textAreaHeight=i,this.foreignObjectLabel?this.foreignObjectLabel.style("height",this.textAreaHeight+"px"):this.foreignObjectComment&&this.foreignObjectComment.style("height",this.textAreaHeight+"px"),this.activePipeline.getComment(t.id).height=this.textAreaHeight,this.displayCommentsCallback(),this.displayLinksCallback())}else this.commentHasScrollableText(t.parentDomObj)?this.removeCanvasZoomBehavior():this.addCanvasZoomBehavior()}},{key:"commentHasScrollableText",value:function(e){var t=e.getElementsByClassName("d3-comment-text-entry-scroll");return t[0].clientHeight<t[0].scrollHeight}},{key:"saveCommentChanges",value:function(e,t,n){var i=this.activePipeline.getComment(e.id),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,contentType:e.contentType,formats:e.newFormats,pipelineId:this.activePipeline.id};this.canvasController.editActionHandler(o)}},{key:"closeCommentTextArea",value:function(){this.canvasController.closeTextToolbar()}},{key:"displayNodeLabelTextArea",value:function(e,t){this.displayDiv=mi.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),autoSize:!0,className:this.nodeUtils.getNodeLabelTextAreaClass(e),parentDomObj:t,autoSizeCallback:this.autoSizeMultiLineLabel.bind(this),saveTextChangesCallback:this.saveNodeLabelChanges.bind(this),closeTextAreaCallback:this.closeEntryTextArea.bind(this)},this.displayEditableLabel(this.editingTextData)}},{key:"autoSizeMultiLineLabel",value:function(e,t){if(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.foreignObjectLabel){this.foreignObjectLabel.style("height",0);var n=e.scrollHeight+12;this.textAreaHeight=n,this.foreignObjectLabel.style("height",this.textAreaHeight+"px")}}},{key:"saveNodeLabelChanges",value:function(e,t){var n={editType:"setNodeLabel",editSource:"canvas",nodeId:e.id,label:t,pipelineId:this.activePipeline.id};this.canvasController.editActionHandler(n)}},{key:"closeEntryTextArea",value:function(){this.displayDiv.attr("style",this.displayDivStyle)}},{key:"displayDecLabelTextArea",value:function(e,t,n,i){this.displayDiv=mi.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),autoSize:!0,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.displayEditableLabel(this.editingTextData)}},{key:"saveDecLabelChanges",value:function(e,t){var n={editType:"editDecorationLabel",editSource:"canvas",decId:e.id,objId:e.objId,objType:e.objType,label:t,pipelineId:this.activePipeline.id};this.canvasController.editActionHandler(n)}},{key:"displayEditableLabel",value:function(e){this.textAreaHeight=e.height,this.editingText=!0,this.editingTextId=e.id,this.foreignObjectLabel=mi.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 t=this.foreignObjectLabel.append("xhtml:textarea").attr("class",e.className).text(vi(e.text)).call(this.attachTextEntryListeners.bind(this));t.node().focus(),t.node().setSelectionRange(e.text.length,e.text.length)}},{key:"completeEditing",value:function(e){if(this.removeTempCursorOverlay(),this.foreignObjectLabel){var t=this.foreignObjectLabel.selectAll("textarea").node();this.textContentSaved=!0,this.saveAndCloseTextArea(this.editingTextData,t,e)}else if(this.foreignObjectComment){var n=this.foreignObjectComment.selectAll(".d3-comment-text-entry").node();this.textContentSaved=!0,this.saveAndCloseTextArea(this.editingTextData,n,e)}}},{key:"saveAndCloseTextArea",value:function(e,t,n){var i=this.foreignObjectComment?t.innerText:t.value;if(!i&&!e.textCanBeEmpty)return this.closeTextArea(e),void s.CanvasUtils.stopPropagationAndPreventDefault(n);var o=i;this.closeTextArea(e),e.text===o&&this.textAreaHeight===e.height&&this.areFormatsTheSame(e.formats,e.newFormats)?(mi.select(e.parentDomObj).selectAll(".d3-comment-text").style("display","table-cell"),this.canvasController.restoreFocus()):e.saveTextChangesCallback(e,o,this.textAreaHeight)}},{key:"areFormatsTheSame",value:function(e,t){var n=this;return!e&&!t||!(e&&!t||!e&&t)&&(e.length===t.length&&e.filter(function(e){return n.formatArrayIncludes(e,t)}).length===e.length)}},{key:"formatArrayIncludes",value:function(e,t){return t.find(function(t){return v.isMatch_1(e,t)&&v.isMatch_1(e,e)})}},{key:"resetHeightOfTextDisplay",value:function(e){var t=this.activePipeline.getComment(e.id);t&&(t.height=e.height,this.displayCommentsCallback(),this.displayLinksCallback())}},{key:"closeTextArea",value:function(e){e.closeTextAreaCallback&&e.closeTextAreaCallback(e.id),this.foreignObjectLabel?(this.foreignObjectLabel.remove(),this.foreignObjectLabel=null):this.foreignObjectComment&&(mi.select(this.editingTextData.parentDomObj).selectAll(".d3-foreign-object-comment-text").style("display",null),this.foreignObjectComment.remove(),this.foreignObjectComment=null),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&&u.KeyboardUtils.isMetaKey(e)}},{key:"displayEditableComment",value:function(e){this.textAreaHeight=e.height,this.editingText=!0,this.editingTextId=e.id,mi.select(e.parentDomObj).selectAll(".d3-foreign-object-comment-text").style("display","none"),this.foreignObjectComment=mi.select(e.parentDomObj).append("foreignObject").attr("class","d3-foreign-object-comment-text-entry").attr("width",e.width).attr("height",e.height).attr("x",e.xPos).attr("y",e.yPos),this.foreignObjectComment.append("xhtml:div").attr("class","d3-comment-text-entry-scroll").on("mousedown",function(e){s.CanvasUtils.stopPropagationAndPreventDefault(e)}).each(function(e,t,n){var i=mi.select(n[t]);s.CanvasUtils.applyOutlineStyle(i,e.formats)}).append("xhtml:div").attr("class","d3-comment-text-entry-outer").append("xhtml:div").attr("class","d3-comment-text-entry").attr("contentEditable",this.getContentEditableValue()).each(function(e,t,n){var i=mi.select(n[t]);s.CanvasUtils.applyNonOutlineStyle(i,e.formats)}).text(vi(e.text)).call(this.attachTextEntryListeners.bind(this));var t,n=this.canvasDiv.selectAll(".d3-comment-text-entry").node();(n.focus(),n.childNodes.length>0)&&this.setCursor(n.childNodes[0],(null===(t=e.text)||void 0===t?void 0:t.length)||0);n.scrollIntoView({behavior:"instant",block:"end"})}},{key:"getContentEditableValue",value:function(){return!!navigator.userAgent.includes("Firefox")||"plaintext-only"}},{key:"setCursor",value:function(e,t,n){var i=document.createRange(),o=window.getSelection();i.setStart(e,t),n?i.setEnd(e,n):i.collapse(!0),o.removeAllRanges(),o.addRange(i)}},{key:"attachTextEntryListeners",value:function(e){var t=this,n=this.editingTextData;e.on("keydown",function(e){if(u.KeyboardUtils.returnCommand(e)){if("save"===n.allowReturnKey||u.KeyboardUtils.completeTextEntry(e))return t.textContentSaved=!0,void t.saveAndCloseTextArea(n,e.target,e);!n.singleLine&&n.allowReturnKey||s.CanvasUtils.stopPropagationAndPreventDefault(e)}u.KeyboardUtils.cancelTextEntry(e)&&(s.CanvasUtils.stopPropagationAndPreventDefault(e),t.textAreaEscKeyPressed=!0,t.closeTextArea(n),t.resetHeightOfTextDisplay(n),t.canvasController.restoreFocus()),n.maxCharacters&&e.target.value.length>=n.maxCharacters&&!t.textAreaAllowedKeys(e)&&s.CanvasUtils.stopPropagationAndPreventDefault(e),n.keyboardInputCallback&&n.keyboardInputCallback(e),e.stopPropagation()}).on("keyup",function(e){n.autoSizeCallback(e.target,n)}).on("paste",function(e){t.logger.log("Text area - Paste - Scroll Ht = "+e.target.scrollHeight),setTimeout(n.autoSizeCallback,500,e.target,n)}).on("blur",function(e,i){t.logger.log("Text area - blur"),t.textAreaEscKeyPressed?t.textAreaEscKeyPressed=!1:t.textContentSaved?t.textContentSaved=!1:e.relatedTarget&&s.CanvasUtils.getParentElementWithClass(e.relatedTarget,"text-toolbar")||t.saveAndCloseTextArea(n,e.target,e)}).on("focus",function(e,i){t.logger.log("Text area - focus"),n.autoSizeCallback(e.target,n),n.height=t.textAreaHeight}).on("mousedown mouseenter mouseleave click dblclick contextmenu",function(e,t){e.stopPropagation()})}}])}(),Li={value:()=>{}};function xi(){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 Ti(i)}function Ti(e){this._=e}function Pi(e,t){for(var n,i=0,o=e.length;i<o;++i)if((n=e[i]).name===t)return n.value}function Ni(e,t,n){for(var i=0,o=e.length;i<o;++i)if(e[i].name===t){e[i]=Li,e=e.slice(0,i).concat(e.slice(i+1));break}return null!=n&&e.push({name:t,value:n}),e}Ti.prototype=xi.prototype={constructor:Ti,on:function(e,t){var n,i,o=this._,a=(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}})),r=-1,s=a.length;if(!(arguments.length<2)){if(null!=t&&"function"!=typeof t)throw new Error("invalid callback: "+t);for(;++r<s;)if(n=(e=a[r]).type)o[n]=Ni(o[n],e.name,t);else if(null==t)for(n in o)o[n]=Ni(o[n],e.name,null);return this}for(;++r<s;)if((n=(e=a[r]).type)&&(n=Pi(o[n],e.name)))return n},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new Ti(e)},call:function(e,t){if((n=arguments.length-2)>0)for(var n,i,o=new Array(n),a=0;a<n;++a)o[a]=arguments[a+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(a=0,n=(i=this._[e]).length;a<n;++a)i[a].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,a=i.length;o<a;++o)i[o].value.apply(t,n)}};const Si={passive:!1},Oi={capture:!0,passive:!1};function Ei(e){e.stopImmediatePropagation()}function _i(e){e.preventDefault(),e.stopImmediatePropagation()}function Ii(e){var t=e.document.documentElement,n=cn(e).on("dragstart.drag",_i,Oi);"onselectstart"in t?n.on("selectstart.drag",_i,Oi):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function Di(e,t){var n=e.document.documentElement,i=cn(e).on("dragstart.drag",null);t&&(i.on("click.drag",_i,Oi),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 Ai=e=>()=>e;function wi(e,{sourceEvent:t,subject:n,target:i,identifier:o,active:a,x:r,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:a,enumerable:!0,configurable:!0},x:{value:r,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 Ui(e){return!e.ctrlKey&&!e.button}function ji(){return this.parentNode}function Mi(e,t){return null==t?{x:e.x,y:e.y}:t}function Ri(){return navigator.maxTouchPoints||"ontouchstart"in this}wi.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};var zi=Object.freeze({__proto__:null,drag:function(){var e,t,n,i,o=Ui,a=ji,r=Mi,s=Ri,l={},c=xi("start","drag","end"),u=0,d=0;function h(e){e.on("mousedown.drag",g).filter(s).on("touchstart.drag",v).on("touchmove.drag",y,Si).on("touchend.drag touchcancel.drag",m).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(r,s){if(!i&&o.call(this,r,s)){var l=b(this,a.call(this,r,s),r,s,"mouse");l&&(cn(r.view).on("mousemove.drag",p,Oi).on("mouseup.drag",f,Oi),Ii(r.view),Ei(r),n=!1,e=r.clientX,t=r.clientY,l("start",r))}}function p(i){if(_i(i),!n){var o=i.clientX-e,a=i.clientY-t;n=o*o+a*a>d}l.mouse("drag",i)}function f(e){cn(e.view).on("mousemove.drag mouseup.drag",null),Di(e.view,n),_i(e),l.mouse("end",e)}function v(e,t){if(o.call(this,e,t)){var n,i,r=e.changedTouches,s=a.call(this,e,t),l=r.length;for(n=0;n<l;++n)(i=b(this,s,e,t,r[n].identifier,r[n]))&&(Ei(e),i("start",e,r[n]))}}function y(e){var t,n,i=e.changedTouches,o=i.length;for(t=0;t<o;++t)(n=l[i[t].identifier])&&(_i(e),n("drag",e,i[t]))}function m(e){var t,n,o=e.changedTouches,a=o.length;for(i&&clearTimeout(i),i=setTimeout(function(){i=null},500),t=0;t<a;++t)(n=l[o[t].identifier])&&(Ei(e),n("end",e,o[t]))}function b(e,t,n,i,o,a){var s,d,g,p=c.copy(),f=pn(a||n,t);if(null!=(g=r.call(e,new wi("beforestart",{sourceEvent:n,target:h,identifier:o,active:u,x:f[0],y:f[1],dx:0,dy:0,dispatch:p}),i)))return s=g.x-f[0]||0,d=g.y-f[1]||0,function n(a,r,c){var v,y=f;switch(a){case"start":l[o]=n,v=u++;break;case"end":delete l[o],--u;case"drag":f=pn(c||r,t),v=u}p.call(a,e,new wi(a,{sourceEvent:r,subject:g,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:p}),i)}}return h.filter=function(e){return arguments.length?(o="function"==typeof e?e:Ai(!!e),h):o},h.container=function(e){return arguments.length?(a="function"==typeof e?e:Ai(e),h):a},h.subject=function(e){return arguments.length?(r="function"==typeof e?e:Ai(e),h):r},h.touchable=function(e){return arguments.length?(s="function"==typeof e?e:Ai(!!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:Ii,dragEnable:Di}),Fi=Object.assign({},zi,fn),Hi=function(){return e._createClass(function t(n){e._classCallCheck(this,t),this.ren=n,this.logger=new h.Logger("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.movingObjectData=null,this.existingNodeInsertableIntoLink=!1,this.existingNodeAttachableToDetachedLinks=!1,this.dragObjectHandler=Fi.drag().on("start",this.dragStartObject.bind(this)).on("drag",this.dragObject.bind(this)).on("end",this.dragEndObject.bind(this))},[{key:"getDragObjectHandler",value:function(){return this.dragObjectHandler}},{key:"isSizing",value:function(){return this.nodeSizing||this.commentSizing}},{key:"isMoving",value:function(){return this.movingObjectData}},{key:"mouseEnterNodeSizingArea",value:function(e,t){if(s.CanvasUtils.isNodeResizable(t,this.ren.config)&&!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),Fi.select(e.currentTarget).style("cursor",n)}}},{key:"mouseDownNodeSizingArea",value:function(e){s.CanvasUtils.isNodeResizable(e,this.ren.config)&&(this.nodeSizing=!0,this.ren.addTempCursorOverlay(this.nodeSizingCursor))}},{key:"mouseLeaveNodeSizingArea",value:function(e){Fi.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),Fi.select(e.currentTarget).style("cursor",n)}}},{key:"mouseDownCommentSizingArea",value:function(){this.commentSizing=!0,this.ren.addTempCursorOverlay(this.commentSizingCursor)}},{key:"mouseLeaveCommentSizingArea",value:function(e){Fi.select(e.currentTarget).style("cursor","default")}},{key:"moveObject",value:function(e,t){var n,i,o=this,a=this.getMoveIncrements(t);n=a.xInc,i=a.yInc,this.endMove&&(clearTimeout(this.endMove),this.endMove=null),this.isMoving()||this.startObjectsMoving(e);var r=e.x_pos+e.width/2,s=e.y_pos+e.height/2,l=this.ren.convertCanvasCoordsToPageCoords(r,s);this.moveObjects(n,i,l.x,l.y),this.endMove=setTimeout(function(){o.endObjectsMoving(e,!1,!1)},500)}},{key:"sizeObject",value:function(e,t){var n,i,o=this,a=t,r=this.getMoveIncrements(a);(n=r.xInc,i=r.yInc,a===s.NORTH?a=s.SOUTH:a===s.WEST&&(a=s.EAST),this.endSize&&(clearTimeout(this.endSize),this.endSize=null),this.isSizing())||("node"===s.CanvasUtils.getObjectTypeName(e)?this.nodeSizing=!0:this.commentSizing=!0,this.initializeResizeVariables(e));this.nodeSizing?this.resizeNode(n,i,e,a):this.commentSizing&&this.resizeComment(n,i,e,a),this.endSize=setTimeout(function(){o.nodeSizing?(o.endNodeSizing(e),o.nodeSizing=!1):o.commentSizing&&(o.endCommentSizing(e),o.commentSizing=!1)},500)}},{key:"dragStartObject",value:function(e,t){this.logger.logStartTimer("dragStartObject"),this.ren.closeContextMenuIfOpen(),this.commentSizing||this.nodeSizing?this.initializeResizeVariables(t):this.startObjectsMoving(t),this.logger.logEndTimer("dragStartObject",!0)}},{key:"dragObject",value:function(e,t){this.logger.logStartTimer("dragObject"),this.commentSizing?this.resizeComment(e.dx,e.dy,t,this.commentSizingDirection):this.nodeSizing?this.resizeNode(e.dx,e.dy,t,this.nodeSizingDirection):this.moveObjects(e.dx,e.dy,e.sourceEvent.clientX,e.sourceEvent.clientY),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.endObjectsMoving(t,e.sourceEvent.shiftKey,u.KeyboardUtils.isMetaKey(e.sourceEvent)),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,a=n.x>=i&&n.x<=i+1&&n.y>=0&&n.y<=o,r=n.y>=o&&n.y<=o+1&&n.x>=0&&n.x<=i;return a||r}},{key:"getSizingDirection",value:function(e,t,n){var i="",o="",a=this.ren.getTransformedMousePos(e);return a.x<t.x_pos+n?i="w":a.x>t.x_pos+t.width-n&&(i="e"),a.y<t.y_pos+n?o="n":a.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:"resizeNode",value:function(e,t,n,i){var o=Object.assign({},n),a=this.getMinHeight(n),r=this.getMinWidth(n),l=this.resizeObject(e,t,n,i,r,a);if(l&&(0!==l.x_pos||0!==l.y_pos||0!==l.width||0!==l.height)){if(s.CanvasUtils.isExpandedSupernode(n)&&this.ren.config.enableMoveNodesOnSupernodeResize){var c=s.CanvasUtils.moveSurroundingObjects(o,this.ren.activePipeline.getNodesAndComments(),i,n.width,n.height,!0),u=s.CanvasUtils.moveSurroundingDetachedLinks(o,this.ren.activePipeline.links,i,n.width,n.height,!0);this.nodeSizingObjectsInfo=Object.assign(this.nodeSizingObjectsInfo,c),this.nodeSizingDetLinksInfo=Object.assign(this.nodeSizingDetLinksInfo,u)}this.logger.logStartTimer("displayObjects"),this.ren.displayMovedComments(),this.ren.displayMovedNodes(),this.ren.displaySingleNode(n),this.ren.displayMovedLinks(),this.ren.displayCanvasAccoutrements(),s.CanvasUtils.isExpandedSupernode(n)&&(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,n,i){this.resizeObject(e,t,n,i,20,20),this.ren.displaySingleComment(n),this.ren.displayMovedLinks(),this.ren.displayCanvasAccoutrements()}},{key:"resizeObject",value:function(e,t,n,i,o,a){var r=0,l=0,c=0,u=0;i.indexOf("e")>-1&&(c+=e),i.indexOf("s")>-1&&(u+=t),i.indexOf("n")>-1&&(l+=t,u-=t),i.indexOf("w")>-1&&(r+=e,c-=e);var d=0,h=0,g=0,p=0;if(this.ren.config.enableSnapToGridType===s.SNAP_TO_GRID_DURING?(this.notSnappedXPos+=r,this.notSnappedYPos+=l,this.notSnappedWidth+=c,this.notSnappedHeight+=u,d=s.CanvasUtils.snapToGrid(this.notSnappedXPos,this.ren.canvasLayout.snapToGridXPx),h=s.CanvasUtils.snapToGrid(this.notSnappedYPos,this.ren.canvasLayout.snapToGridYPx),g=s.CanvasUtils.snapToGrid(this.notSnappedWidth,this.ren.canvasLayout.snapToGridXPx),p=s.CanvasUtils.snapToGrid(this.notSnappedHeight,this.ren.canvasLayout.snapToGridYPx),g=Math.max(g,o),p=Math.max(p,a)):(d=n.x_pos+r,h=n.y_pos+l,g=n.width+c,p=n.height+u),g<o||p<a)return null;var f={width:g-n.width,height:p-n.height,x_pos:d-n.x_pos,y_pos:h-n.y_pos};return n.x_pos=d,n.y_pos=h,n.width=g,n.height=p,f}},{key:"endNodeSizing",value:function(e){var t=e;this.ren.config.enableSnapToGridType===s.SNAP_TO_GRID_AFTER&&(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}),this.nodeSizingObjectsInfo={})}},{key:"endCommentSizing",value:function(e){var t=e;if(this.ren.config.enableSnapToGridType===s.SNAP_TO_GRID_AFTER&&(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(s.CanvasUtils.isExpandedSupernode(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 s.CanvasUtils.isExpandedSupernode(e)?this.ren.canvasLayout.supernodeMinWidth:e.layout.defaultNodeWidth}},{key:"startObjectsMoving",value:function(e){var t,n=this;this.existingNodeInsertableIntoLink=!1,this.existingNodeAttachableToDetachedLinks=!1,this.movingObjectData={offsetX:0,offsetY:0,runningX:0,runningY:0,objects:this.getMoveObjects(e).filter(function(e){return s.CanvasUtils.isObjectMovable(e)})},(null===(t=this.movingObjectData.objects)||void 0===t?void 0:t.length)>0&&(this.movingObjectData.startX=this.movingObjectData.objects[0].x_pos,this.movingObjectData.startY=this.movingObjectData.objects[0].y_pos,this.switchIsMovingClass(this.movingObjectData.objects,!0)),this.isExistingNodeInsertableIntoLink()&&(this.startNodeInsertingInLink=setTimeout(function(){n.existingNodeInsertableIntoLink=!0,n.setNodeTranslucentState(n.movingObjectData.objects[0].id,!0),n.ren.setDataLinkSelectionAreaWider(!0)},200)),this.isExistingNodeAttachableToDetachedLinks()&&(this.startNodeAttachingToDetachedLinks=setTimeout(function(){n.existingNodeAttachableToDetachedLinks=!0,n.setNodeTranslucentState(n.movingObjectData.objects[0].id,!0)},200))}},{key:"moveObjects",value:function(e,t,n,i){if(this.movingObjectData.offsetX+=e,this.movingObjectData.offsetY+=t,this.ren.dispUtils.isDisplayingSubFlowInPlace()&&(this.movingObjectData.offsetX>1e3||this.movingObjectData.offsetX<-1e3||this.movingObjectData.offsetY>1e3||this.movingObjectData.offsetY<-1e3))this.movingObjectData.offsetX-=e,this.movingObjectData.offsetY-=t;else{var o={x:0,y:0};if(this.ren.config.enableSnapToGridType===s.SNAP_TO_GRID_DURING){var a=this.snapToGridMovedNode(this.movingObjectData);o={x:a.x-this.movingObjectData.objects[0].x_pos,y:a.y-this.movingObjectData.objects[0].y_pos}}else o={x:e,y:t};this.movingObjectData.runningX+=o.x,this.movingObjectData.runningY+=o.y,this.movingObjectData.objects.forEach(function(e){e.x_pos+=o.x,e.y_pos+=o.y}),this.ren.config.enableLinkSelection===s.LINK_SELECTION_DETACHABLE&&this.ren.activePipeline.getSelectedLinks().forEach(function(e){e.srcPos&&(e.srcPos.x_pos+=o.x,e.srcPos.y_pos+=o.y),e.trgPos&&(e.trgPos.x_pos+=o.x,e.trgPos.y_pos+=o.y)})}if(!this.ren.config.enableDragWithoutSelect||!s.CanvasUtils.isTinyMovement({x:0,y:0},{x:this.movingObjectData.offsetX,y:this.movingObjectData.offsetY})){if(this.ren.displayMovedComments(),this.ren.displayMovedNodes(),this.ren.displayMovedLinks(),this.ren.displayCanvasAccoutrements(),this.ren.dispUtils.isDisplayingSubFlowInPlace()&&this.ren.displaySVGToFitSupernode(),this.existingNodeInsertableIntoLink){var r=this.ren.getLinkAtMousePos(n,i);(!r||this.ren.isLinkFullyAttached(r)&&this.movingObjectData.objects[0].id!==r.srcNodeId&&this.movingObjectData.objects[0].id!==r.trgNodeId)&&this.ren.setInsertNodeIntoLinkHighlighting(r)}if(this.existingNodeAttachableToDetachedLinks){var l=this.movingObjectData.objects[0],c={x1:l.x_pos,y1:l.y_pos,x2:l.x_pos+l.width,y2:l.y_pos+l.height},u=this.ren.getAttachableLinksForNodeAtPos(l,c);this.ren.setDetachedLinkHighlighting(u)}}}},{key:"endObjectsMoving",value:function(e,t,n){var i=this.movingObjectData;if(this.movingObjectData=null,clearTimeout(this.startNodeInsertingInLink),clearTimeout(this.startNodeAttachingToDetachedLinks),this.switchIsMovingClass(i.objects,!1),this.ren.config.enableDragWithoutSelect&&s.CanvasUtils.isTinyMovement({x:0,y:0},{x:i.offsetX,y:i.offsetY}))this.ren.selectObject(e,s.SINGLE_CLICK,t,n);else if(0!==i.runningX||0!==i.runningY){var o=null;if(this.ren.config.enableSnapToGridType===s.SNAP_TO_GRID_AFTER){var a=this.snapToGridMovedNode(i);o={x:a.x-i.startX,y:a.y-i.startY}}else o={x:i.runningX,y:i.runningY};this.existingNodeInsertableIntoLink&&this.ren.dragOverLink?this.ren.canvasController.editActionHandler({editType:"insertNodeIntoLink",editSource:"canvas",node:i.objects[0],link:this.ren.dragOverLink,offsetX:o.x,offsetY:o.y,pipelineId:this.ren.activePipeline.id}):this.existingNodeAttachableToDetachedLinks&&this.ren.dragOverDetachedLinks.length>0?this.ren.canvasController.editActionHandler({editType:"attachNodeToLinks",editSource:"canvas",node:i.objects[0],detachedLinks:this.ren.dragOverDetachedLinks,offsetX:o.x,offsetY:o.y,pipelineId:this.ren.activePipeline.id}):this.ren.canvasController.editActionHandler({editType:"moveObjects",editSource:"canvas",nodes:i.objects.map(function(e){return e.id}),links:this.ren.activePipeline.getSelectedDetachedLinks(),offsetX:o.x,offsetY:o.y,pipelineId:this.ren.activePipeline.id})}this.ren.setDataLinkSelectionAreaWider(!1),this.unsetNodeTranslucentState(i.objects),this.ren.unsetInsertNodeIntoLinkHighlighting(),this.ren.unsetDetachedLinkHighlighting()}},{key:"getMoveObjects",value:function(e){var t=this.ren.activePipeline.getSelectedNodesAndComments();if(this.ren.config.enableDragWithoutSelect&&-1===t.findIndex(function(t){return t.id===e.id}))return[e];if(this.ren.config.enableMoveNodesInComment&&s.CanvasUtils.isComment(e)){var n=this.objsInComment(e,this.ren.activePipeline.nodes);t=s.CanvasUtils.concatUniqueBasedOnId(n,t)}return t}},{key:"objsInComment",value:function(e,t){return t.filter(function(t){return t.x_pos>e.x_pos&&t.y_pos>e.y_pos&&t.x_pos+t.width<e.x_pos+e.width&&t.y_pos+t.height<e.y_pos+e.height})}},{key:"switchIsMovingClass",value:function(e,t){var n=this;e.forEach(function(e){s.CanvasUtils.isNode(e)?n.ren.getNodeGroupSelectionById(e.id).classed("d3-is-moving",t):n.ren.getCommentGroupSelectionById(e.id).classed("d3-is-moving",t)})}},{key:"isExistingNodeInsertableIntoLink",value:function(){return this.ren.config.enableInsertNodeDroppedOnLink&&1===this.movingObjectData.objects.length&&s.CanvasUtils.isNode(this.movingObjectData.objects[0])&&s.CanvasUtils.hasInputAndOutputPorts(this.movingObjectData.objects[0])&&!s.CanvasUtils.isNodeDefaultPortsCardinalityAtMax(this.movingObjectData.objects[0],this.ren.activePipeline.links)}},{key:"isExistingNodeAttachableToDetachedLinks",value:function(){return this.ren.config.enableLinkSelection===s.LINK_SELECTION_DETACHABLE&&1===this.movingObjectData.objects.length&&s.CanvasUtils.isNode(this.movingObjectData.objects[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:"snapToGridMovedNode",value:function(e){var t=e.startX+e.offsetX,n=e.startY+e.offsetY;return this.ren.snapToGridPosition({x:t,y:n})}},{key:"snapToGridObject",value:function(e){var t=e;return t.x_pos=s.CanvasUtils.snapToGrid(t.x_pos,this.ren.canvasLayout.snapToGridXPx),t.y_pos=s.CanvasUtils.snapToGrid(t.y_pos,this.ren.canvasLayout.snapToGridYPx),t.width=s.CanvasUtils.snapToGrid(t.width,this.ren.canvasLayout.snapToGridXPx),t.height=s.CanvasUtils.snapToGrid(t.height,this.ren.canvasLayout.snapToGridYPx),t}},{key:"getMoveIncrements",value:function(e){var t=10,n=10;this.ren.config.enableSnapToGridType!==s.SNAP_TO_GRID_DURING&&this.ren.config.enableSnapToGridType!==s.SNAP_TO_GRID_AFTER||(t=this.ren.canvasLayout.snapToGridXPx,n=this.ren.canvasLayout.snapToGridYPx);var i=0,o=0;switch(e){case s.NORTH:i=0,o=-n;break;case s.SOUTH:i=0,o=n;break;case s.EAST:i=t,o=0;break;default:case s.WEST:i=-t,o=0}return{xInc:i,yInc:o}}}])}(),Gi=Object.assign({},zi,fn),Bi=function(){return e._createClass(function t(n){e._classCallCheck(this,t),this.ren=n,this.logger=new h.Logger("SVGCanvasUtilsDragLink"),this.isDraggingLink=!1,this.dragLinkHandler=Gi.drag().on("start",this.dragLinkStart.bind(this)).on("drag",this.dragLink.bind(this)).on("end",this.dragLinkEnd.bind(this))},[{key:"getDragLinkHandler",value:function(){return this.dragLinkHandler}},{key:"isDragging",value:function(){return this.isDraggingLink}},{key:"dragLinkStart",value:function(e,t){this.logger.logStartTimer("dragLinkStart"),this.ren.closeContextMenuIfOpen(),this.isDraggingLink=!0,this.dragLink=this.ren.activePipeline.getLink(t.id),this.logger.logEndTimer("dragLinkStart",!0)}},{key:"dragLink",value:function(e){this.logger.logStartTimer("dragLink"),this.dragLink.centerDragPos=this.ren.getTransformedMousePos(e),this.ren.displayLinks(),this.ren.raiseLinkToTopById(this.dragLink.id);var t=this.ren.getNodeNearMousePos(e,this.ren.canvasLayout.nodeProximity),n=this.ren.activePipeline.links,i=this.dragLink.srcObj,o=this.dragLink.trgNode;this.targetNode=t&&s.CanvasUtils.isNodeAttachableToDefaultPorts(t,n)&&!s.CanvasUtils.linkAlreadyExists(i.outputs[0].id,t.inputs[0].id,i,t,n)&&!s.CanvasUtils.linkAlreadyExists(t.outputs[0].id,o.inputs[0].id,t,o,n)?t:null;var a=!!this.targetNode;this.ren.setHighlightingOverNode(a,this.targetNode),this.logger.logEndTimer("dragLink",!0)}},{key:"dragLinkEnd",value:function(){this.logger.logStartTimer("dragLinkEnd"),this.ren.removeTempCursorOverlay(),this.isDraggingLink=!1,this.targetNode?(delete this.dragLink.centerDragPos,this.ren.setLinkOverNodeCancel(),this.ren.canvasController.editActionHandler({editType:"insertNodeIntoLink",editSource:"canvas",node:this.targetNode,srcPort:this.targetNode.outputs[0],trgPort:this.targetNode.inputs[0],link:this.dragLink,offsetX:0,offsetY:0,pipelineId:this.ren.activePipeline.id})):(this.dragLink.centerDragPos="revertLink",this.ren.displayLinks()),this.logger.logEndTimer("dragLinkEnd",!0)}}])}();function Ki(e){return((e*=2)<=1?e*e:--e*(2-e)+1)/2}function Wi(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Yi=function e(t){function n(e){return Math.pow(e,t)}return t=+t,n.exponent=e,n}(3),Xi=function e(t){function n(e){return 1-Math.pow(1-e,t)}return t=+t,n.exponent=e,n}(3),Vi=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),Zi=Math.PI,qi=Zi/2;function $i(e){return(1-Math.cos(Zi*e))/2}function Ji(e){return 1.0009775171065494*(Math.pow(2,-10*e)-.0009765625)}function Qi(e){return((e*=2)<=1?Ji(1-e):2-Ji(e-1))/2}function eo(e){return((e*=2)<=1?1-Math.sqrt(1-e*e):Math.sqrt(1-(e-=2)*e)+1)/2}var to=4/11,no=6/11,io=8/11,oo=9/11,ao=10/11,ro=21/22,so=7.5625;function lo(e){return(e=+e)<to?so*e*e:e<io?so*(e-=no)*e+.75:e<ao?so*(e-=oo)*e+.9375:so*(e-=ro)*e+.984375}var co=1.70158,uo=function e(t){function n(e){return(e=+e)*e*(t*(e-1)+e)}return t=+t,n.overshoot=e,n}(co),ho=function e(t){function n(e){return--e*e*((e+1)*t+e)+1}return t=+t,n.overshoot=e,n}(co),go=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}(co),po=2*Math.PI,fo=function e(t,n){var i=Math.asin(1/(t=Math.max(1,t)))*(n/=po);function o(e){return t*Ji(- --e)*Math.sin((i-e)/n)}return o.amplitude=function(t){return e(t,n*po)},o.period=function(n){return e(t,n)},o}(1,.3),vo=function e(t,n){var i=Math.asin(1/(t=Math.max(1,t)))*(n/=po);function o(e){return 1-t*Ji(e=+e)*Math.sin((e+i)/n)}return o.amplitude=function(t){return e(t,n*po)},o.period=function(n){return e(t,n)},o}(1,.3),yo=function e(t,n){var i=Math.asin(1/(t=Math.max(1,t)))*(n/=po);function o(e){return((e=2*e-1)<0?t*Ji(-e)*Math.sin((i-e)/n):2-t*Ji(e)*Math.sin((i+e)/n))/2}return o.amplitude=function(t){return e(t,n*po)},o.period=function(n){return e(t,n)},o}(1,.3),mo=Object.freeze({__proto__:null,easeLinear:e=>+e,easeQuad:Ki,easeQuadIn:function(e){return e*e},easeQuadOut:function(e){return e*(2-e)},easeQuadInOut:Ki,easeCubic:Wi,easeCubicIn:function(e){return e*e*e},easeCubicOut:function(e){return--e*e*e+1},easeCubicInOut:Wi,easePoly:Vi,easePolyIn:Yi,easePolyOut:Xi,easePolyInOut:Vi,easeSin:$i,easeSinIn:function(e){return 1===+e?1:1-Math.cos(e*qi)},easeSinOut:function(e){return Math.sin(e*qi)},easeSinInOut:$i,easeExp:Qi,easeExpIn:function(e){return Ji(1-+e)},easeExpOut:function(e){return 1-Ji(e)},easeExpInOut:Qi,easeCircle:eo,easeCircleIn:function(e){return 1-Math.sqrt(1-e*e)},easeCircleOut:function(e){return Math.sqrt(1- --e*e)},easeCircleInOut:eo,easeBounce:lo,easeBounceIn:function(e){return 1-lo(1-e)},easeBounceOut:lo,easeBounceInOut:function(e){return((e*=2)<=1?1-lo(1-e):lo(e-1)+1)/2},easeBack:go,easeBackIn:uo,easeBackOut:ho,easeBackInOut:go,easeElastic:vo,easeElasticIn:fo,easeElasticOut:vo,easeElasticInOut:yo}),bo=Object.assign({},zi,mo,fn),Co=function(){return e._createClass(function t(n){e._classCallCheck(this,t),this.ren=n,this.logger=new h.Logger("SVGCanvasUtilsDragNewLink"),this.drawingNewLinkData=null,this.dragNewLinkHandler=bo.drag().on("start",this.dragStartNewLink.bind(this)).on("drag",this.dragMoveNewLink.bind(this)).on("end",this.dragEndNewLink.bind(this))},[{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(e,t,n)}else if(this.isEventForInputPort(e)){var i=this.getNodeForPort(e);this.startInputPortNewLink(e,t,i)}else"comment"===this.ren.activePipeline.getObjectTypeName(t)&&this.startCommentNewLink(e,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;return null===(n=e.sourceEvent)||void 0===n||null===(n=n.currentTarget)||void 0===n||null===(n=n.classList)||void 0===n?void 0:n.contains(t)}},{key:"getNodeForPort",value:function(e){var t;return bo.select(null===(t=e.sourceEvent)||void 0===t||null===(t=t.currentTarget)||void 0===t?void 0:t.parentNode).datum()}},{key:"startCommentNewLink",value:function(e,t){var n=this.ren.activePipeline.getComment(t.id);this.drawingNewLinkData={srcObj:n,action:s.COMMENT_LINK,startPos:{x:t.x_pos-this.ren.canvasLayout.commentHighlightGap,y:t.y_pos-this.ren.canvasLayout.commentHighlightGap},mousePos:{x:e.x,y:e.y},linkArray:[]}}},{key:"startInputPortNewLink",value:function(e,t,n){if(this.ren.config.enableAssocLinkCreation){var i=this.ren.activePipeline.getNode(n.id),o=s.CanvasUtils.getPortIndex(n.inputs,t.id);this.drawingNewLinkData={srcObj:i,srcPort:t,action:this.ren.config.enableAssocLinkCreation?s.ASSOCIATION_LINK:s.NODE_LINK,mousePos:{x:e.x,y:e.y},startPos:{x:i.x_pos+t.cx,y:i.y_pos+t.cy},portFlow:s.FLOW_IN,portDisplayInfo:this.ren.getPortDisplayInfo(i.layout.inputPortDisplayObjects,o),portGuideInfo:this.ren.getPortDisplayInfo(i.layout.inputPortGuideObjects,o),portRadius:this.ren.getPortRadius(i),minInitialLine:i.layout.minInitialLine,linkArray:[]}}}},{key:"startOutputPortNewLink",value:function(e,t,n){var i=this.ren.activePipeline.getNode(n.id);if(!s.CanvasUtils.isSrcCardinalityAtMax(t.id,i,this.ren.activePipeline.links)){var o=s.CanvasUtils.getPortIndex(n.outputs,t.id);this.drawingNewLinkData={srcObj:i,srcPort:t,action:this.ren.config.enableAssocLinkCreation?s.ASSOCIATION_LINK:s.NODE_LINK,mousePos:{x:e.x,y:e.y},startPos:{x:i.x_pos+t.cx,y:i.y_pos+t.cy},portFlow:s.FLOW_OUT,portDisplayInfo:this.ren.getPortDisplayInfo(i.layout.outputPortDisplayObjects,o),portGuideInfo:this.ren.getPortDisplayInfo(i.layout.outputPortGuideObjects,o),portRadius:this.ren.getPortRadius(i),minInitialLine:i.layout.minInitialLine,linkArray:[]},this.ren.config.enableHighlightUnavailableNodes&&this.ren.setUnavailableTargetNodesHighlighting(i,t.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===s.COMMENT_LINK?this.drawNewCommentLink(t):this.drawNewNodeLink(t),this.ren.config.enableHighlightNodeOnNewLinkDrag&&this.setNewLinkOverNode(e)}}},{key:"drawNewCommentLink",value:function(e){var t=this,n=this.ren.activePipeline.getComment(this.drawingNewLinkData.srcObj.id),i=this.ren.linkUtils.getNewStraightCommentLinkStartPos(n,e),o=s.COMMENT_LINK;this.drawingNewLinkData.linkArray=[{x1:i.x,y1:i.y,x2:e.x,y2:e.y,type:o}];var a=this.ren.nodesLinksGrp.selectAll(".d3-new-connection-line"),r=this.ren.nodesLinksGrp.selectAll(".d3-new-connection-guide");if(a.data(this.drawingNewLinkData.linkArray).enter().append("path").attr("class","d3-new-connection-line").attr("linkType",o).merge(a).attr("d",function(e){return t.ren.linkUtils.getConnectorPathInfo(e).path}),r.data(this.drawingNewLinkData.linkArray).enter().append("circle").attr("class","d3-new-connection-guide").attr("linkType",o).merge(r).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 l=this.ren.nodesLinksGrp.selectAll(".d3-new-connection-arrow");l.data(this.drawingNewLinkData.linkArray).enter().append("path").attr("class","d3-new-connection-arrow").attr("linkType",o).merge(l).attr("d",function(e){return t.ren.getArrowHead(e)}).attr("transform",function(e){return t.ren.getArrowHeadTransform(e)})}}},{key:"drawNewNodeLink",value:function(e){var t=this,n=this.ren.config.enableAssocLinkCreation?s.ASSOCIATION_LINK:s.NODE_LINK,i={type:n,srcObj:this.drawingNewLinkData.srcObj,srcNodeId:this.drawingNewLinkData.srcObj.id,srcNodePortId:this.drawingNewLinkData.srcPort.id,trgPos:{x_pos:e.x,y_pos:e.y}},o=this.ren.getDetachedLinkObj(i);this.drawingNewLinkData.linkArray=this.ren.linkUtils.addConnectionPaths([o]),this.ren.config.enableAssocLinkCreation&&(this.drawingNewLinkData.linkArray[0].assocLinkVariation=this.ren.getNewLinkAssocVariation(this.drawingNewLinkData.linkArray[0].x1,this.drawingNewLinkData.linkArray[0].x2,this.drawingNewLinkData.portFlow));var a=this.ren.linkUtils.getConnectorPathInfo(this.drawingNewLinkData.linkArray[0],this.drawingNewLinkData.minInitialLine),r=this.ren.nodesLinksGrp.selectAll(".d3-new-connection-line"),l=this.ren.nodesLinksGrp.selectAll(".d3-new-connection-start"),c=this.ren.nodesLinksGrp.selectAll(".d3-new-connection-guide");n===s.NODE_LINK&&this.ren.canvasLayout.linkType===s.LINK_TYPE_STRAIGHT&&this.ren.nodeUtils.isPointInNodeBoundary(e,this.drawingNewLinkData.srcObj)?this.removeNewLinkLine():r.data(this.drawingNewLinkData.linkArray).enter().append("path").attr("class","d3-new-connection-line").attr("linkType",n).merge(r).attr("d",a.path).attr("transform",a.transform),this.ren.canvasLayout.linkMethod===s.LINK_METHOD_PORTS&&this.drawingNewLinkData.portDisplayInfo.tag===s.PORT_DISPLAY_CIRCLE&&l.data(this.drawingNewLinkData.linkArray).enter().append("circle").attr("class","d3-new-connection-start").attr("linkType",n).merge(l).each(function(e,n,i){bo.select(i[n]).attr("cx",e.x1).attr("cy",e.y1).attr("r",t.drawingNewLinkData.portRadius)}),c.data(this.drawingNewLinkData.linkArray).enter().append(this.drawingNewLinkData.portGuideInfo.tag).attr("class","d3-new-connection-guide").attr("linkType",n).merge(c).each(function(e,n,i){var o=bo.select(i[n]),a=t.ren.getLinkImageTransform(e);t.ren.updatePort(o,t.drawingNewLinkData.portGuideInfo,t.drawingNewLinkData.srcObj,e.x2,e.y2,a)})}},{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;if(this.drawingNewLinkData=null,s.CanvasUtils.isTinyMovement(t.mousePos,{x:e.x,y:e.y}))return this.removeNewLink(),void this.ren.canvasController.clickActionHandler({clickType:s.SINGLE_CLICK,objectType:"port",id:t.srcPort.id,nodeId:t.srcObj.id,selectedObjectIds:this.ren.activePipeline.getSelectedObjectIds(),pipelineId:this.ren.activePipeline.id});this.ren.config.enableHighlightUnavailableNodes&&this.ren.unsetUnavailableNodesHighlighting();var n=this.ren.getMousePosFromEvent(e),i=this.ren.getNodeAtPos(n);null!==i?this.createNewLinkFromDragData(e,i,t):this.ren.config.enableLinkSelection!==s.LINK_SELECTION_DETACHABLE||t.action!==s.NODE_LINK||this.ren.config.enableAssocLinkCreation?this.stopDrawingNewLink(t):this.completeNewDetachedLink(e,t)}}},{key:"createNewLinkFromDragData",value:function(e,t,n){this.removeNewLink(),this.ren.config.enableHighlightNodeOnNewLinkDrag&&this.ren.setLinkOverNodeCancel();var i=n.action;if(null!==t)if(i===s.NODE_LINK){var o=n.srcObj,a=n.srcPort.id,r=this.ren.getMousePosFromEvent(e),l=this.ren.getInputNodePortId(r,t);this.createNewNodeLink(o,a,t,l)}else if(i===s.ASSOCIATION_LINK){var c=n.srcObj;this.createNewAssocLink(c,t)}else if(i===s.COMMENT_LINK){var u=n.srcObj;this.createNewCommentLink(u,t)}}},{key:"createNewLinkFromSelections",value:function(){var e=this.ren.activePipeline.getSelectedNodes(),t=this.ren.activePipeline.getSelectedComments();if(e.length+t.length===2)if(1===e.length&&1===t.length)this.createNewCommentLink(t[0],e[0]);else if(2===e.length)if(this.ren.config.enableAssocLinkCreation)this.createNewAssocLink(e[0],e[1]);else{var n=s.CanvasUtils.getDefaultOutputPortId(e[0]),i=s.CanvasUtils.getDefaultInputPortId(e[1]);this.createNewNodeLink(e[0],n,e[1],i),this.ren.canvasController.setSelections([e[1].id])}}},{key:"createNewNodeLink",value:function(e,t,n,i){if(s.CanvasUtils.isDataConnectionAllowed(t,i,e,n,this.ren.activePipeline.links,this.ren.config.enableSelfRefLinks))this.ren.canvasController.editActionHandler({editType:"linkNodes",editSource:"canvas",nodes:[{id:e.id,portId:t}],targetNodes:[{id:n.id,portId:i}],type:s.NODE_LINK,linkType:"data",pipelineId:this.ren.activePipeline.id}),this.ren.canvasController.clearConnectFromStatus(this.ren.activePipeline.id);else if(this.ren.config.enableLinkReplaceOnNewConnection&&s.CanvasUtils.isDataLinkReplacementAllowed(t,i,e,n,this.ren.activePipeline.links,this.ren.config.enableSelfRefLinks)){var o=s.CanvasUtils.getDataLinksConnectedTo(i,n,this.ren.activePipeline.links);1===o.length&&(this.ren.canvasController.editActionHandler({editType:"linkNodesAndReplace",editSource:"canvas",nodes:[{id:e.id,portId:t}],targetNodes:[{id:n.id,portId:i}],type:s.NODE_LINK,pipelineId:this.pipelineId,replaceLink:o[0]}),this.ren.canvasController.clearConnectFromStatus(this.ren.activePipeline.id))}}},{key:"createNewAssocLink",value:function(e,t){s.CanvasUtils.isAssocConnectionAllowed(e,t,this.ren.activePipeline.links)&&this.ren.canvasController.editActionHandler({editType:"linkNodes",editSource:"canvas",nodes:[{id:e.id}],targetNodes:[{id:t.id}],type:s.ASSOCIATION_LINK,pipelineId:this.ren.activePipeline.id})}},{key:"createNewCommentLink",value:function(e,t){s.CanvasUtils.isCommentLinkConnectionAllowed(e.id,t.id,this.ren.activePipeline.links)&&this.ren.canvasController.editActionHandler({editType:"linkComment",editSource:"canvas",nodes:[e.id],targetNodes:[t.id],type:s.COMMENT_LINK,linkType:"comment",pipelineId:this.ren.activePipeline.id})}},{key:"completeNewDetachedLink",value:function(e,t){this.removeNewLink(),this.ren.config.enableHighlightNodeOnNewLinkDrag&&this.ren.setLinkOverNodeCancel();var n=this.ren.getTransformedMousePos(e);this.ren.canvasController.editActionHandler({editType:"createDetachedLink",editSource:"canvas",srcNodeId:t.srcObj.id,srcNodePortId:t.srcPort.id,trgPos:n,type:s.NODE_LINK,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,n=this;if(0!==(null===(t=e.linkArray)||void 0===t?void 0:t.length)){var i=e.linkArray[0].x1,o=e.linkArray[0].y1,a=e.linkArray[0].x2,r=e.linkArray[0].y2,l=Object.assign({},e),c="",u=350;this.ren.canvasLayout.linkType===s.LINK_TYPE_CURVE?c="M "+i+" "+o+"C "+a+" "+r+" "+a+" "+r+" "+a+" "+r:this.ren.canvasLayout.linkType===s.LINK_TYPE_STRAIGHT?(i<a&&(u=0),c="M "+i+" "+o+"L "+a+" "+r+" "+a+" "+r+" "+a+" "+r):c="M "+i+" "+o+"L "+a+" "+r+"Q "+a+" "+r+" "+a+" "+r+"L "+a+" "+r+"Q "+a+" "+r+" "+a+" "+r+"L "+a+" "+r+"Q "+a+" "+r+" "+a+" "+r+"L "+a+" "+r+"Q "+a+" "+r+" "+a+" "+r+"L "+a+" "+r,this.ren.nodesLinksGrp.selectAll(".d3-new-connection-line").transition().duration(u).attr("d",c).on("end",function(){var e,t;n.ren.nodesLinksGrp.selectAll(".d3-new-connection-arrow").remove(),n.ren.nodesLinksGrp.selectAll(".d3-new-connection-guide").transition().duration(1e3).ease(bo.easeElastic).attr("x",i-(null===(e=l.portGuideInfo)||void 0===e?void 0:e.width)/2).attr("y",o-(null===(t=l.portGuideInfo)||void 0===t?void 0:t.height)/2).attr("cx",i).attr("cy",o).attr("transform",null),n.ren.nodesLinksGrp.selectAll(".d3-new-connection-line").transition().duration(1e3).ease(bo.easeElastic).attr("d","M "+i+" "+o+"L "+i+" "+o).on("end",n.removeNewLink.bind(n))})}}},{key:"removeNewLink",value:function(){var e=this;this.ren.nodesLinksGrp.selectAll("foreignObject.d3-new-connection-guide").each(function(t,n,i){return e.ren.externalUtils.removeExternalObject(t,n,i)}),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(e,t);this.ren.setHighlightingOverNode(n,t)}},{key:"isNewLinkAllowedToNode",value:function(e,t){if(this.drawingNewLinkData){if(this.drawingNewLinkData.action===s.NODE_LINK){var n=this.drawingNewLinkData.srcObj,i=t,o=this.drawingNewLinkData.srcPort.id,a=this.ren.getMousePosFromEvent(e),r=this.ren.getInputNodePortId(a,i);return s.CanvasUtils.isDataConnectionAllowed(o,r,n,i,this.ren.activePipeline.links,this.ren.config.enableSelfRefLinks)}if(this.drawingNewLinkData.action===s.ASSOCIATION_LINK){var l=this.drawingNewLinkData.srcObj,c=t;return s.CanvasUtils.isAssocConnectionAllowed(l,c,this.ren.activePipeline.links)}if(this.drawingNewLinkData.action===s.COMMENT_LINK){var u=this.drawingNewLinkData.srcObj.id,d=t.id;return s.CanvasUtils.isCommentLinkConnectionAllowed(u,d,this.ren.activePipeline.links)}}return!1}}])}();function ko(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 Lo(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ko(Object(n),!0).forEach(function(t){C._defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ko(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var xo=Object.assign({},zi,fn),To=function(){return e._createClass(function t(n){e._classCallCheck(this,t),this.ren=n,this.logger=new h.Logger("SVGCanvasUtilsDragDetLink"),this.draggingLinkData=null,this.dragDetLinkHandler=xo.drag().on("start",this.dragStartDetLinkHandle.bind(this)).on("drag",this.dragMoveDetLinkHandle.bind(this)).on("end",this.dragEndDetLinkHandle.bind(this))},[{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.startHandleMoving(t,e.sourceEvent.currentTarget),this.logger.logEndTimer("dragStartDetLinkHandle",!0)}},{key:"dragMoveDetLinkHandle",value:function(e){this.logger.logStartTimer("dragMoveDetLinkHandle");var t=this.ren.getTransformedMousePos(e);this.moveHandle(t),this.logger.logEndTimer("dragMoveDetLinkHandle",!0)}},{key:"dragEndDetLinkHandle",value:function(e){this.logger.logStartTimer("dragEndLinkHandle");var t=this.ren.getMousePosFromEvent(e);this.completeDraggedDetLink(t),this.logger.logEndTimer("dragEndLinkHandle",!0)}},{key:"startHandleMoving",value:function(e,t){this.ren.closeContextMenuIfOpen();var n=xo.select(t),i=this.ren.activePipeline.getLink(e.id),o=Lo({},i),a=this.ren.getLinkGroupSelectionById(e.id);if(this.draggingLinkData={lineInfo:e,link:i,oldLink:o,linkGrpSelection:xo.select(a)},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 r=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,r)}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)}}},{key:"moveLinkHandle",value:function(e,t,n){var i,o,a=this,r=this.getMoveIncrements(t);i=r.xInc,o=r.yInc,this.endMove&&(clearTimeout(this.endMove),this.endMove=null),this.isDragging()||this.startHandleMoving(e,n.currentTarget);var s="start"===this.draggingLinkData.endBeingDragged?this.draggingLinkData.link.x1:this.draggingLinkData.link.x2,l="start"===this.draggingLinkData.endBeingDragged?this.draggingLinkData.link.y1:this.draggingLinkData.link.y2,c={x:s+=i,y:l+=o};this.moveHandle(c),this.ren.restoreFocusToSubObject(),this.endMove=setTimeout(function(){var e=a.ren.convertCanvasCoordsToPageCoords(c.x,c.y);a.completeDraggedDetLink(e)},500)}},{key:"moveHandle",value:function(e){var t=this.draggingLinkData.link;"start"===this.draggingLinkData.endBeingDragged?(t.srcPos={x_pos:e.x,y_pos:e.y},delete t.srcNodeId,delete t.srcNodePortId,delete t.srcObj):(t.trgPos={x_pos:e.x,y_pos:e.y},delete t.trgNodeId,delete t.trgNodePortId,delete t.trgNode),this.ren.displayMovedLinks(),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);if(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)}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.getNodeNearPos(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=Lo({},n);if("start"===this.draggingLinkData.endBeingDragged){delete i.srcObj,delete i.srcNodeId,delete i.srcNodePortId,delete i.srcPos;var o=t?this.ren.getNodeNearPos(e,t):this.ren.getNodeAtPos(e);o?(i.srcNodeId=o.id,i.srcObj=this.ren.activePipeline.getNode(o.id),i.srcNodePortId=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 a=t?this.ren.getNodeNearPos(e,t):this.ren.getNodeAtPos(e);a?(i.trgNodeId=a.id,i.trgNode=this.ren.activePipeline.getNode(a.id),i.trgNodePortId=this.ren.getInputNodePortId(e,a)):i.trgPos=this.draggingLinkData.link.trgPos}return this.ren.config.enableLinkSelection!==s.LINK_SELECTION_DETACHABLE&&(i.srcPos||i.trgPos)?null:this.canUpdateLink(i,n)?i:null}},{key:"getMoveIncrements",value:function(e){var t=0,n=0;switch(e){case s.NORTH:t=0,n=-10;break;case s.SOUTH:t=0,n=10;break;case s.EAST:t=10,n=0;break;default:case s.WEST:t=-10,n=0}return{xInc:t,yInc:n}}},{key:"canUpdateLink",value:function(e,t){var n=this.ren.activePipeline.getNode(e.srcNodeId),i=this.ren.activePipeline.getNode(e.trgNodeId),o=this.hasLinkSrcChanged(e,t),a=this.hasLinkTrgChanged(e,t),r=this.ren.activePipeline.links,l=!0;return o&&n&&!s.CanvasUtils.isSrcConnectionAllowedWithDetachedLinks(e.srcNodePortId,n,r)&&(l=!1),a&&i&&!s.CanvasUtils.isTrgConnectionAllowedWithDetachedLinks(e.trgNodePortId,i,r)&&(l=!1),n&&i&&!s.CanvasUtils.isConnectionAllowedWithDetachedLinks(e.srcNodePortId,e.trgNodePortId,n,i,r,this.ren.config.enableSelfRefLinks)&&(l=!1),l}},{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}}])}();function Po(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function No(e,t){var n=Object.create(e.prototype);for(var i in t)n[i]=t[i];return n}function So(){}var Oo=.7,Eo=1/Oo,_o="\\s*([+-]?\\d+)\\s*",Io="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Do="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Ao=/^#([0-9a-f]{3,8})$/,wo=new RegExp(`^rgb\\(${_o},${_o},${_o}\\)$`),Uo=new RegExp(`^rgb\\(${Do},${Do},${Do}\\)$`),jo=new RegExp(`^rgba\\(${_o},${_o},${_o},${Io}\\)$`),Mo=new RegExp(`^rgba\\(${Do},${Do},${Do},${Io}\\)$`),Ro=new RegExp(`^hsl\\(${Io},${Do},${Do}\\)$`),zo=new RegExp(`^hsla\\(${Io},${Do},${Do},${Io}\\)$`),Fo={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 Ho(){return this.rgb().formatHex()}function Go(){return this.rgb().formatRgb()}function Bo(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=Ao.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?Ko(t):3===n?new Xo(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?Wo(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?Wo(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=wo.exec(e))?new Xo(t[1],t[2],t[3],1):(t=Uo.exec(e))?new Xo(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=jo.exec(e))?Wo(t[1],t[2],t[3],t[4]):(t=Mo.exec(e))?Wo(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=Ro.exec(e))?Qo(t[1],t[2]/100,t[3]/100,1):(t=zo.exec(e))?Qo(t[1],t[2]/100,t[3]/100,t[4]):Fo.hasOwnProperty(e)?Ko(Fo[e]):"transparent"===e?new Xo(NaN,NaN,NaN,0):null}function Ko(e){return new Xo(e>>16&255,e>>8&255,255&e,1)}function Wo(e,t,n,i){return i<=0&&(e=t=n=NaN),new Xo(e,t,n,i)}function Yo(e,t,n,i){return 1===arguments.length?((o=e)instanceof So||(o=Bo(o)),o?new Xo((o=o.rgb()).r,o.g,o.b,o.opacity):new Xo):new Xo(e,t,n,null==i?1:i);var o}function Xo(e,t,n,i){this.r=+e,this.g=+t,this.b=+n,this.opacity=+i}function Vo(){return`#${Jo(this.r)}${Jo(this.g)}${Jo(this.b)}`}function Zo(){const e=qo(this.opacity);return`${1===e?"rgb(":"rgba("}${$o(this.r)}, ${$o(this.g)}, ${$o(this.b)}${1===e?")":`, ${e})`}`}function qo(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function $o(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Jo(e){return((e=$o(e))<16?"0":"")+e.toString(16)}function Qo(e,t,n,i){return i<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new ta(e,t,n,i)}function ea(e){if(e instanceof ta)return new ta(e.h,e.s,e.l,e.opacity);if(e instanceof So||(e=Bo(e)),!e)return new ta;if(e instanceof ta)return e;var t=(e=e.rgb()).r/255,n=e.g/255,i=e.b/255,o=Math.min(t,n,i),a=Math.max(t,n,i),r=NaN,s=a-o,l=(a+o)/2;return s?(r=t===a?(n-i)/s+6*(n<i):n===a?(i-t)/s+2:(t-n)/s+4,s/=l<.5?a+o:2-a-o,r*=60):s=l>0&&l<1?0:r,new ta(r,s,l,e.opacity)}function ta(e,t,n,i){this.h=+e,this.s=+t,this.l=+n,this.opacity=+i}function na(e){return(e=(e||0)%360)<0?e+360:e}function ia(e){return Math.max(0,Math.min(1,e||0))}function oa(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}Po(So,Bo,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Ho,formatHex:Ho,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return ea(this).formatHsl()},formatRgb:Go,toString:Go}),Po(Xo,Yo,No(So,{brighter(e){return e=null==e?Eo:Math.pow(Eo,e),new Xo(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?Oo:Math.pow(Oo,e),new Xo(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Xo($o(this.r),$o(this.g),$o(this.b),qo(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:Vo,formatHex:Vo,formatHex8:function(){return`#${Jo(this.r)}${Jo(this.g)}${Jo(this.b)}${Jo(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:Zo,toString:Zo})),Po(ta,function(e,t,n,i){return 1===arguments.length?ea(e):new ta(e,t,n,null==i?1:i)},No(So,{brighter(e){return e=null==e?Eo:Math.pow(Eo,e),new ta(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?Oo:Math.pow(Oo,e),new ta(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 Xo(oa(e>=240?e-240:e+120,o,i),oa(e,o,i),oa(e<120?e+240:e-120,o,i),this.opacity)},clamp(){return new ta(na(this.h),ia(this.s),ia(this.l),qo(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=qo(this.opacity);return`${1===e?"hsl(":"hsla("}${na(this.h)}, ${100*ia(this.s)}%, ${100*ia(this.l)}%${1===e?")":`, ${e})`}`}}));var aa=e=>()=>e;function ra(e){return 1===(e=+e)?sa: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):aa(isNaN(t)?n:t)}}function sa(e,t){var n=t-e;return n?function(e,t){return function(n){return e+n*t}}(e,n):aa(isNaN(e)?t:e)}var la=function e(t){var n=ra(t);function i(e,t){var i=n((e=Yo(e)).r,(t=Yo(t)).r),o=n(e.g,t.g),a=n(e.b,t.b),r=sa(e.opacity,t.opacity);return function(t){return e.r=i(t),e.g=o(t),e.b=a(t),e.opacity=r(t),e+""}}return i.gamma=e,i}(1);function ca(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var ua=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,da=new RegExp(ua.source,"g");function ha(e,t){var n,i,o,a=ua.lastIndex=da.lastIndex=0,r=-1,s=[],l=[];for(e+="",t+="";(n=ua.exec(e))&&(i=da.exec(t));)(o=i.index)>a&&(o=t.slice(a,o),s[r]?s[r]+=o:s[++r]=o),(n=n[0])===(i=i[0])?s[r]?s[r]+=i:s[++r]=i:(s[++r]=null,l.push({i:r,x:ca(n,i)})),a=da.lastIndex;return a<t.length&&(o=t.slice(a),s[r]?s[r]+=o:s[++r]=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 ga,pa=180/Math.PI,fa={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function va(e,t,n,i,o,a){var r,s,l;return(r=Math.sqrt(e*e+t*t))&&(e/=r,t/=r),(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,r=-r),{translateX:o,translateY:a,rotate:Math.atan2(t,e)*pa,skewX:Math.atan(l)*pa,scaleX:r,scaleY:s}}function ya(e,t,n,i){function o(e){return e.length?e.pop()+" ":""}return function(a,r){var s=[],l=[];return a=e(a),r=e(r),function(e,i,o,a,r,s){if(e!==o||i!==a){var l=r.push("translate(",null,t,null,n);s.push({i:l-4,x:ca(e,o)},{i:l-2,x:ca(i,a)})}else(o||a)&&r.push("translate("+o+t+a+n)}(a.translateX,a.translateY,r.translateX,r.translateY,s,l),function(e,t,n,a){e!==t?(e-t>180?t+=360:t-e>180&&(e+=360),a.push({i:n.push(o(n)+"rotate(",null,i)-2,x:ca(e,t)})):t&&n.push(o(n)+"rotate("+t+i)}(a.rotate,r.rotate,s,l),function(e,t,n,a){e!==t?a.push({i:n.push(o(n)+"skewX(",null,i)-2,x:ca(e,t)}):t&&n.push(o(n)+"skewX("+t+i)}(a.skewX,r.skewX,s,l),function(e,t,n,i,a,r){if(e!==n||t!==i){var s=a.push(o(a)+"scale(",null,",",null,")");r.push({i:s-4,x:ca(e,n)},{i:s-2,x:ca(t,i)})}else 1===n&&1===i||a.push(o(a)+"scale("+n+","+i+")")}(a.scaleX,a.scaleY,r.scaleX,r.scaleY,s,l),a=r=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 ma=ya(function(e){const t=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?fa:va(t.a,t.b,t.c,t.d,t.e,t.f)},"px, ","px)","deg)"),ba=ya(function(e){return null==e?fa:(ga||(ga=document.createElementNS("http://www.w3.org/2000/svg","g")),ga.setAttribute("transform",e),(e=ga.transform.baseVal.consolidate())?va((e=e.matrix).a,e.b,e.c,e.d,e.e,e.f):fa)},", ",")",")");function Ca(e){return((e=Math.exp(e))+1/e)/2}var ka,La,xa=function e(t,n,i){function o(e,o){var a,r,s=e[0],l=e[1],c=e[2],u=o[0],d=o[1],h=o[2],g=u-s,p=d-l,f=g*g+p*p;if(f<1e-12)r=Math.log(h/c)/t,a=function(e){return[s+e*g,l+e*p,c*Math.exp(t*e*r)]};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),C=Math.log(Math.sqrt(m*m+1)-m);r=(C-b)/t,a=function(e){var i,o=e*r,a=Ca(b),u=c/(n*v)*(a*(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*g,l+u*p,c*a/Ca(t*o+b)]}}return a.duration=1e3*r*t/Math.SQRT2,a}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),Ta=0,Pa=0,Na=0,Sa=0,Oa=0,Ea=0,_a="object"==typeof performance&&performance.now?performance:Date,Ia="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Da(){return Oa||(Ia(Aa),Oa=_a.now()+Ea)}function Aa(){Oa=0}function wa(){this._call=this._time=this._next=null}function Ua(e,t,n){var i=new wa;return i.restart(e,t,n),i}function ja(){Oa=(Sa=_a.now())+Ea,Ta=Pa=0;try{!function(){Da(),++Ta;for(var e,t=ka;t;)(e=Oa-t._time)>=0&&t._call.call(void 0,e),t=t._next;--Ta}()}finally{Ta=0,function(){var e,t,n=ka,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:ka=t);La=e,Ra(i)}(),Oa=0}}function Ma(){var e=_a.now(),t=e-Sa;t>1e3&&(Ea-=t,Sa=e)}function Ra(e){Ta||(Pa&&(Pa=clearTimeout(Pa)),e-Oa>24?(e<1/0&&(Pa=setTimeout(ja,e-_a.now()-Ea)),Na&&(Na=clearInterval(Na))):(Na||(Sa=_a.now(),Na=setInterval(Ma,1e3)),Ta=1,Ia(ja)))}function za(e,t,n){var i=new wa;return t=null==t?0:+t,i.restart(n=>{i.stop(),e(n+t)},t,n),i}wa.prototype=Ua.prototype={constructor:wa,restart:function(e,t,n){if("function"!=typeof e)throw new TypeError("callback is not a function");n=(null==n?Da():+n)+(null==t?0:+t),this._next||La===this||(La?La._next=this:ka=this,La=this),this._call=e,this._time=n,Ra()},stop:function(){this._call&&(this._call=null,this._time=1/0,Ra())}};var Fa=xi("start","end","cancel","interrupt"),Ha=[];function Ga(e,t,n,i,o,a){var r=e.__transition;if(r){if(n in r)return}else e.__transition={};!function(e,t,n){var i,o=e.__transition;function a(e){n.state=1,n.timer.restart(r,n.delay,n.time),n.delay<=e&&r(e-n.delay)}function r(a){var c,u,d,h;if(1!==n.state)return l();for(c in o)if((h=o[c]).name===n.name){if(3===h.state)return za(r);4===h.state?(h.state=6,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete o[c]):+c<t&&(h.state=6,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete o[c])}if(za(function(){3===n.state&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(a))}),n.state=2,n.on.call("start",e,e.__data__,n.index,n.group),2===n.state){for(n.state=3,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=5,1),a=-1,r=i.length;++a<r;)i[a].call(e,o);5===n.state&&(n.on.call("end",e,e.__data__,n.index,n.group),l())}function l(){for(var i in n.state=6,n.timer.stop(),delete o[t],o)return;delete e.__transition}o[t]=n,n.timer=Ua(a,0,n.time)}(e,n,{name:t,index:i,group:o,on:Fa,tween:Ha,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function Ba(e,t){var n=Wa(e,t);if(n.state>0)throw new Error("too late; already scheduled");return n}function Ka(e,t){var n=Wa(e,t);if(n.state>3)throw new Error("too late; already running");return n}function Wa(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function Ya(e,t){var n,i,o,a=e.__transition,r=!0;if(a){for(o in t=null==t?null:t+"",a)(n=a[o]).name===t?(i=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(i?"interrupt":"cancel",e,e.__data__,n.index,n.group),delete a[o]):r=!1;r&&delete e.__transition}}function Xa(e,t){var n,i;return function(){var o=Ka(this,e),a=o.tween;if(a!==n)for(var r=0,s=(i=n=a).length;r<s;++r)if(i[r].name===t){(i=i.slice()).splice(r,1);break}o.tween=i}}function Va(e,t,n){var i,o;if("function"!=typeof n)throw new Error;return function(){var a=Ka(this,e),r=a.tween;if(r!==i){o=(i=r).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)}a.tween=o}}function Za(e,t,n){var i=e._id;return e.each(function(){var e=Ka(this,i);(e.value||(e.value={}))[t]=n.apply(this,arguments)}),function(e){return Wa(e,i).value[t]}}function qa(e,t){var n;return("number"==typeof t?ca:t instanceof Bo?la:(n=Bo(t))?(t=n,la):ha)(e,t)}function $a(e){return function(){this.removeAttribute(e)}}function Ja(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Qa(e,t,n){var i,o,a=n+"";return function(){var r=this.getAttribute(e);return r===a?null:r===i?o:o=t(i=r,n)}}function er(e,t,n){var i,o,a=n+"";return function(){var r=this.getAttributeNS(e.space,e.local);return r===a?null:r===i?o:o=t(i=r,n)}}function tr(e,t,n){var i,o,a;return function(){var r,s,l=n(this);if(null!=l)return(r=this.getAttribute(e))===(s=l+"")?null:r===i&&s===o?a:(o=s,a=t(i=r,l));this.removeAttribute(e)}}function nr(e,t,n){var i,o,a;return function(){var r,s,l=n(this);if(null!=l)return(r=this.getAttributeNS(e.space,e.local))===(s=l+"")?null:r===i&&s===o?a:(o=s,a=t(i=r,l));this.removeAttributeNS(e.space,e.local)}}function ir(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 or(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 ar(e,t){return function(){Ba(this,e).delay=+t.apply(this,arguments)}}function rr(e,t){return t=+t,function(){Ba(this,e).delay=t}}function sr(e,t){return function(){Ka(this,e).duration=+t.apply(this,arguments)}}function lr(e,t){return t=+t,function(){Ka(this,e).duration=t}}var cr=ln.prototype.constructor;function ur(e){return function(){this.style.removeProperty(e)}}var dr=0;function hr(e,t,n,i){this._groups=e,this._parents=t,this._name=n,this._id=i}function gr(){return++dr}var pr=ln.prototype;hr.prototype={constructor:hr,select:function(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=it(e));for(var i=this._groups,o=i.length,a=new Array(o),r=0;r<o;++r)for(var s,l,c=i[r],u=c.length,d=a[r]=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,Ga(d[h],t,n,h,d,Wa(s,n)));return new hr(a,this._parents,t,n)},selectAll:function(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=rt(e));for(var i=this._groups,o=i.length,a=[],r=[],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,g=e.call(l,l.__data__,d,c),p=Wa(l,n),f=0,v=g.length;f<v;++f)(h=g[f])&&Ga(h,t,n,f,g,p);a.push(g),r.push(l)}return new hr(a,r,t,n)},selectChild:pr.selectChild,selectChildren:pr.selectChildren,filter:function(e){"function"!=typeof e&&(e=st(e));for(var t=this._groups,n=t.length,i=new Array(n),o=0;o<n;++o)for(var a,r=t[o],s=r.length,l=i[o]=[],c=0;c<s;++c)(a=r[c])&&e.call(a,a.__data__,c,r)&&l.push(a);return new hr(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,a=Math.min(i,o),r=new Array(i),s=0;s<a;++s)for(var l,c=t[s],u=n[s],d=c.length,h=r[s]=new Array(d),g=0;g<d;++g)(l=c[g]||u[g])&&(h[g]=l);for(;s<i;++s)r[s]=t[s];return new hr(r,this._parents,this._name,this._id)},selection:function(){return new cr(this._groups,this._parents)},transition:function(){for(var e=this._name,t=this._id,n=gr(),i=this._groups,o=i.length,a=0;a<o;++a)for(var r,s=i[a],l=s.length,c=0;c<l;++c)if(r=s[c]){var u=Wa(r,t);Ga(r,e,n,c,s,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new hr(i,this._parents,e,n)},call:pr.call,nodes:pr.nodes,node:pr.node,size:pr.size,empty:pr.empty,each:pr.each,on:function(e,t){var n=this._id;return arguments.length<2?Wa(this.node(),n).on.on(e):this.each(function(e,t,n){var i,o,a=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)?Ba:Ka;return function(){var r=a(this,e),s=r.on;s!==i&&(o=(i=s).copy()).on(t,n),r.on=o}}(n,e,t))},attr:function(e,t){var n=Je(e),i="transform"===n?ba:qa;return this.attrTween(e,"function"==typeof t?(n.local?nr:tr)(n,i,Za(this,"attr."+e,t)):null==t?(n.local?Ja:$a)(n):(n.local?er:Qa)(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=Je(e);return this.tween(n,(i.local?ir:or)(i,t))},style:function(e,t,n){var i="transform"==(e+="")?ma:qa;return null==t?this.styleTween(e,function(e,t){var n,i,o;return function(){var a=_t(this,e),r=(this.style.removeProperty(e),_t(this,e));return a===r?null:a===n&&r===i?o:o=t(n=a,i=r)}}(e,i)).on("end.style."+e,ur(e)):"function"==typeof t?this.styleTween(e,function(e,t,n){var i,o,a;return function(){var r=_t(this,e),s=n(this),l=s+"";return null==s&&(this.style.removeProperty(e),l=s=_t(this,e)),r===l?null:r===i&&l===o?a:(o=l,a=t(i=r,s))}}(e,i,Za(this,"style."+e,t))).each(function(e,t){var n,i,o,a,r="style."+t,s="end."+r;return function(){var l=Ka(this,e),c=l.on,u=null==l.value[r]?a||(a=ur(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,a=n+"";return function(){var r=_t(this,e);return r===a?null:r===i?o:o=t(i=r,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 a(){var a=t.apply(this,arguments);return a!==o&&(i=(o=a)&&function(e,t,n){return function(i){this.style.setProperty(e,t.call(this,i),n)}}(e,a,n)),i}return a._value=t,a}(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}}(Za(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=Wa(this.node(),n).tween,a=0,r=o.length;a<r;++a)if((i=o[a]).name===e)return i.value;return null}return this.each((null==t?Xa:Va)(n,e,t))},delay:function(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?ar:rr)(t,e)):Wa(this.node(),t).delay},duration:function(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?sr:lr)(t,e)):Wa(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(){Ka(this,e).ease=t}}(t,e)):Wa(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;Ka(this,e).ease=n}}(this._id,e))},end:function(){var e,t,n=this,i=n._id,o=n.size();return new Promise(function(a,r){var s={value:r},l={value:function(){0===--o&&a()}};n.each(function(){var n=Ka(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&&a()})},[Symbol.iterator]:pr[Symbol.iterator]};var fr={time:null,delay:0,duration:250,ease:Wi};function vr(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}ln.prototype.interrupt=function(e){return this.each(function(){Ya(this,e)})},ln.prototype.transition=function(e){var t,n;e instanceof hr?(t=e._id,e=e._name):(t=gr(),(n=fr).time=Da(),e=null==e?null:e+"");for(var i=this._groups,o=i.length,a=0;a<o;++a)for(var r,s=i[a],l=s.length,c=0;c<l;++c)(r=s[c])&&Ga(r,e,t,c,s,n||vr(r,t));return new hr(i,this._parents,e,t)};var yr=function(e){return function(){return e}};function mr(e,t){var n=t.sourceEvent,i=t.target,o=t.transform,a=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:a}})}function br(e,t,n){this.k=e,this.x=t,this.y=n}br.prototype={constructor:br,scale:function(e){return 1===e?this:new br(this.k*e,this.x,this.y)},translate:function(e,t){return 0===e&0===t?this:new br(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 Cr=new br(1,0,0);function kr(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Cr;return e.__zoom}function Lr(e){e.stopImmediatePropagation()}function xr(e){e.preventDefault(),e.stopImmediatePropagation()}function Tr(e){return!(e.ctrlKey&&"wheel"!==e.type||e.button)}function Pr(){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 Nr(){return this.__zoom||Cr}function Sr(e){return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Or(){return navigator.maxTouchPoints||"ontouchstart"in this}function Er(e,t,n){var i=e.invertX(t[0][0])-n[0][0],o=e.invertX(t[1][0])-n[1][0],a=e.invertY(t[0][1])-n[0][1],r=e.invertY(t[1][1])-n[1][1];return e.translate(o>i?(i+o)/2:Math.min(0,i)||Math.max(0,o),r>a?(a+r)/2:Math.min(0,a)||Math.max(0,r))}kr.prototype=br.prototype;var _r=Object.freeze({__proto__:null,zoom:function(){var e,t,n,i=Tr,o=Pr,a=Er,r=Sr,s=Or,l=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],u=250,d=xa,h=xi("start","zoom","end"),g=0,p=10,f=!1,v=!1;function y(e){e.property("__zoom",Nr).on("wheel.zoom",T,{passive:!1}).on("mousedown.zoom",O).on("dblclick.zoom",E).on("gesturestart",P).on("gesturechange",N).on("gestureend",S).filter(s).on("touchstart.zoom",_).on("touchmove.zoom",I).on("touchend.zoom touchcancel.zoom",D).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(e,t){return(t=Math.max(l[0],Math.min(l[1],t)))===e.k?e:new br(t,e.x,e.y)}function b(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 br(e.k,i,o)}function C(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function k(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,a=arguments,r=L(e,a).event(i),s=o.apply(e,a),l=null==n?C(s):"function"==typeof n?n.apply(e,a):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,a):t,g=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=g(e),n=c/t[2];e=new br(n,l[0]-t[0]*n,l[1]-t[1]*n)}r.zoom(null,e)}})}function L(e,t,n){return!n&&e.__zooming||new x(e,t)}function x(e,t){this.that=e,this.args=t,this.active=0,this.sourceEvent=null,this.extent=o.apply(e,t),this.taps=0}function T(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(v&&xr(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,r.apply(this,arguments)))),h=pn(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;!f||e.ctrlKey||e.safariPinchZoom||(s.wheelTransX=-u.x,s.wheelTransY=-u.y),s.mouse=[h,u.invert(h)],Ya(this),s.start()}if(xr(e),s.wheel=setTimeout(function(){s.wheel=null,s.end()},150),!f||e.ctrlKey||e.safariPinchZoom)s.zoom("mouse",a(b(m(u,d),s.mouse[0],s.mouse[1]),s.extent,c));else{s.wheelTransX+=e.deltaX,s.wheelTransY+=e.deltaY;var g=[u.x,u.y],p=[u.x+s.wheelTransX,u.y+s.wheelTransY];s.zoom("mouse",a(b(u,g,p),s.extent,c))}}}function P(e){xr(e),this.scale=e.scale}function N(e){xr(e),this.__zoom&&(e.deltaY=100*(this.scale-e.scale),this.scale=e.scale),e.safariPinchZoom=!0,T.apply(this,[e].concat(Array.prototype.slice.call(arguments)))}function S(e){xr(e)}function O(e){for(var t=arguments.length,o=new Array(t>1?t-1:0),r=1;r<t;r++)o[r-1]=arguments[r];if(!n&&i.apply(this,arguments)){var s=e.currentTarget,l=L(this,o,!0).event(e),u=cn(e.view).on("mousemove.zoom",function(e){if(xr(e),!l.moved){var t=e.clientX-h,n=e.clientY-p;l.moved=t*t+n*n>g}l.event(e).zoom("mouse",a(b(l.that.__zoom,l.mouse[0]=pn(e,s),l.mouse[1]),l.extent,c))},!0).on("mouseup.zoom",function(e){u.on("mousemove.zoom mouseup.zoom",null),Di(e.view,l.moved),xr(e),l.event(e).end()},!0),d=pn(e,s),h=e.clientX,p=e.clientY;Ii(e.view),Lr(e),l.mouse=[d,this.__zoom.invert(d)],Ya(this),l.start()}}function E(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];if(i.apply(this,arguments)){var s=this.__zoom,l=pn(e.changedTouches?e.changedTouches[0]:e,this),d=s.invert(l),h=s.k*(e.shiftKey?.5:2),g=a(b(m(s,h),l,d),o.apply(this,n),c);xr(e),u>0?cn(this).transition().duration(u).call(k,g,l,e):cn(this).call(y.transform,g,l,e)}}function _(n){for(var o=arguments.length,a=new Array(o>1?o-1:0),r=1;r<o;r++)a[r-1]=arguments[r];if(i.apply(this,arguments)){var s,l,c,u,d=n.touches,h=d.length,g=L(this,a,n.changedTouches.length===h).event(n);for(Lr(n),l=0;l<h;++l)u=[u=pn(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},500)),Ya(this),g.start())}}function I(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,r,s,l,u=L(this,n).event(e),d=e.changedTouches,h=d.length;for(xr(e),o=0;o<h;++o)s=pn(r=d[o],this),u.touch0&&u.touch0[2]===r.identifier?u.touch0[0]=s:u.touch1&&u.touch1[2]===r.identifier&&(u.touch1[0]=s);if(r=u.that.__zoom,u.touch1){var g=u.touch0[0],p=u.touch0[1],f=u.touch1[0],v=u.touch1[1],y=(y=f[0]-g[0])*y+(y=f[1]-g[1])*y,C=(C=v[0]-p[0])*C+(C=v[1]-p[1])*C;r=m(r,Math.sqrt(y/C)),s=[(g[0]+f[0])/2,(g[1]+f[1])/2],l=[(p[0]+v[0])/2,(p[1]+v[1])/2]}else{if(!u.touch0)return;s=u.touch0[0],l=u.touch0[1]}u.zoom("touch",a(b(r,s,l),u.extent,c))}}function D(e){for(var i=arguments.length,o=new Array(i>1?i-1:0),a=1;a<i;a++)o[a-1]=arguments[a];if(this.__zooming){var r,s,l=L(this,o).event(e),c=e.changedTouches,u=c.length;for(Lr(e),n&&clearTimeout(n),n=setTimeout(function(){n=null},500),r=0;r<u;++r)s=c[r],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=pn(s,this),Math.hypot(t[0]-s[0],t[1]-s[1])<p)){var d=cn(this).on("dblclick.zoom");d&&d.apply(this,arguments)}}}return y.transform=function(e,t,n,i){var o=e.selection?e.selection():e;o.property("__zoom",Nr),e!==o?k(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()})},y.scaleBy=function(e,t,n,i){y.scaleTo(e,function(){return this.__zoom.k*("function"==typeof t?t.apply(this,arguments):t)},n,i)},y.scaleTo=function(e,t,n,i){y.transform(e,function(){var e=o.apply(this,arguments),i=this.__zoom,r=null==n?C(e):"function"==typeof n?n.apply(this,arguments):n,s=i.invert(r),l="function"==typeof t?t.apply(this,arguments):t;return a(b(m(i,l),r,s),e,c)},n,i)},y.translateBy=function(e,t,n,i){y.transform(e,function(){return a(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)},y.translateTo=function(e,t,n,i,r){y.transform(e,function(){var e=o.apply(this,arguments),r=this.__zoom,s=null==i?C(e):"function"==typeof i?i.apply(this,arguments):i;return a(Cr.translate(s[0],s[1]).scale(r.k).translate("function"==typeof t?-t.apply(this,arguments):-t,"function"==typeof n?-n.apply(this,arguments):-n),e,c)},i,r)},x.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=cn(this.that).datum();h.call(e,this.that,new mr(e,{sourceEvent:this.sourceEvent,target:y,type:e,transform:this.that.__zoom,dispatch:h}),t)}},y.wheelDelta=function(e){return arguments.length?(r="function"==typeof e?e:yr(+e),y):r},y.filter=function(e){return arguments.length?(i="function"==typeof e?e:yr(!!e),y):i},y.touchable=function(e){return arguments.length?(s="function"==typeof e?e:yr(!!e),y):s},y.extent=function(e){return arguments.length?(o="function"==typeof e?e:yr([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),y):o},y.scaleExtent=function(e){return arguments.length?(l[0]=+e[0],l[1]=+e[1],y):[l[0],l[1]]},y.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],y):[[c[0][0],c[0][1]],[c[1][0],c[1][1]]]},y.constrain=function(e){return arguments.length?(a=e,y):a},y.trackpad=function(e){return arguments.length?(f=e,y):f},y.preventBackGesture=function(e){return arguments.length?(v=e,y):v},y.duration=function(e){return arguments.length?(u=+e,y):u},y.interpolate=function(e){return arguments.length?(d=e,y):d},y.on=function(){var e=h.on.apply(h,arguments);return e===h?y:e},y.clickDistance=function(e){return arguments.length?(g=(e=+e)*e,y):Math.sqrt(g)},y.tapDistance=function(e){return arguments.length?(p=+e,y):p},y},zoomTransform:kr,zoomIdentity:Cr,ZoomTransform:br});function Ir(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 Dr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ir(Object(n),!0).forEach(function(t){C._defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ir(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Ar=Object.assign({},fn,_r),wr=function(){return e._createClass(function t(n){var i=this;e._classCallCheck(this,t),this.ren=n,this.logger=new h.Logger("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=Ar.zoomIdentity.translate(0,0).scale(1),this.zooming=!1,this.zoomingAction=!1,this.spaceKeyPressed=!1,this.zoomHandler=Ar.zoom().trackpad(this.ren.config.enableInteractionType===s.INTERACTION_TRACKPAD).preventBackGesture(!0).wheelDelta(function(e){return-e.deltaY*(i.ren.config.enableInteractionType===s.INTERACTION_TRACKPAD?.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))},[{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 Dr({},this.zoomTransform)}},{key:"getZoomScale",value:function(){return this.zoomTransform.k}},{key:"resetZoomTransform",value:function(){this.zoomTransform=Ar.zoomIdentity.translate(0,0).scale(1)}},{key:"zoomTo",value:function(e,t){var n=void 0===t?500:t;this.zoomCanvasInvokeZoomBehavior(e,n)}},{key:"translateBy",value:function(e,t,n){var i=this.getZoomTransform(),o=Ar.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:this.transformPosX(e.x),y:this.transformPosY(e.y)}}},{key:"transformPosX",value:function(e){return(e-this.zoomTransform.x)/this.zoomTransform.k}},{key:"transformPosY",value:function(e){return(e-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:"getTransformedElementRect",value:function(e){var t=this.ren.canvasSVG.node().getBoundingClientRect();if(!e)return null;var n=e.getBoundingClientRect(),i={x:n.x-t.x,y:n.y-t.y,left:n.left-t.x,right:n.right-t.x,top:n.top-t.y,bottom:n.bottom-t.y,width:n.width,height:n.height};return i.x=this.transformPosX(i.x),i.y=this.transformPosY(i.y),i.left=this.transformPosX(i.left),i.right=this.transformPosX(i.right),i.top=this.transformPosY(i.top),i.bottom=this.transformPosY(i.bottom),i.width/=this.zoomTransform.k,i.height/=this.zoomTransform.k,i}},{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=Dr({},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===s.INTERACTION_CARBON?this.isSpaceKeyPressed():e&&e.sourceEvent&&!e.sourceEvent.shiftKey}},{key:"isRegionSelectActivated",value:function(e){return!this.zoomingAction&&(!!(this.ren.config.enableInteractionType===s.INTERACTION_MOUSE&&e&&e.sourceEvent&&e.sourceEvent.shiftKey)||(this.ren.config.enableInteractionType===s.INTERACTION_CARBON&&!this.isSpaceKeyPressed()||!(this.ren.config.enableInteractionType!==s.INTERACTION_TRACKPAD||!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,a=t.height,r=this.getObjectsInRegion({x:n,y:i,width:o,height:a});this.ren.setSelectionInfo({selections:r,pipelineId:this.ren.activePipeline.id}),this.ren.canvasGrp.append("rect").attr("width",o).attr("height",a).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;var t=this.getRegionDimensions(e),n=this.getObjectsInRegion(t);this.ren.canvasController.setSelections(n,this.ren.activePipeline.id)}},{key:"removeRegionSelector",value:function(){this.ren.canvasGrp.selectAll(".d3-region-selector").remove()}},{key:"getObjectsInRegion",value:function(e){return s.CanvasUtils.getObjectsInRegion(e,this.ren.activePipeline,this.ren.config.enableLinkSelection!==s.LINK_SELECTION_NONE,this.ren.canvasLayout.linkType,this.ren.canvasLayout.linkMethod,this.ren.config.enableAssocLinkType)}},{key:"getRegionDimensions",value:function(e){var t=this.ren.getTransformedMousePos(e),n=this.zoomStartPoint.startX,i=this.zoomStartPoint.startY,o=t.x-n,a=t.y-i;return o<0&&(n-=o=Math.abs(o)),a<0&&(i-=a=Math.abs(a)),{x:n,y:i,width:o,height:a}}},{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=Ar.zoomIdentity.translate(e.transform.x,e.transform.y).scale(e.transform.k);this.ren.canvasGrp.attr("transform",this.zoomTransform),this.ren.canvasBackground.attr("transform",this.zoomTransform),this.ren.displayCanvasAccoutrements()}},{key:"zoomClick",value:function(e){var t;this.ren.dispUtils.isDisplayingCurrentPipeline()&&!this.contextMenuClosedOnZoom&&!this.textEditingClosedOnZoom&&(this.ren.config.enableEditingActions||null!==(t=e.sourceEvent)&&void 0!==t&&null!==(t=t.target)&&void 0!==t&&null!==(t=t.classList)&&void 0!==t&&t.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=Dr({},e.transform),i}},{key:"zoomConstrainRegular",value:function(e,t,n){if(!n)return this.zoomTransform;var i=e.k,o=e.x,a=e.y,r=this.convertRectAdjustedForScaleWithPadding(n,i,this.getZoomToFitPadding()),s=t.width-Math.min(.25*t.width,.25*r.width),l=-Math.max(r.width-.25*t.width,.75*r.width),c=t.height-Math.min(.25*t.height,.25*r.height),u=-Math.max(r.height-.25*t.height,.75*r.height);return o>-r.left+s?o=-r.left+s:o<-r.left+l&&(o=-r.left+l),a>-r.top+c?a=-r.top+c:a<-r.top+u&&(a=-r.top+u),Ar.zoomIdentity.translate(o,a).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(e&&isFinite(e.x)&&isFinite(e.y)&&isFinite(e.k)&&this.zoomHasChanged(e)){this.zoomingAction=!0;var n=Ar.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(e){var t=this.getCanvasDimensionsWithPadding(),n=this.getZoomToFit(t);n&&this.zoomCanvasInvokeZoomBehavior(n,e)}},{key:"getZoomToFit",value:function(e){var t=this.getViewportDimensions();if(e){var n=t.width/e.width,i=t.height/e.height,o=Math.min(n,i,1),a=(t.width-e.width*o)/2,r=(t.height-e.height*o)/2;return{x:a-=o*e.left,y:r-=o*e.top,k:o}}return null}},{key:"getZoomToReveal",value:function(e,t,n){var i=this.getTransformedViewportDimensions(),o=this.ren.activePipeline.getNodes(e),a=this.ren.activePipeline.getComments(e),r=this.ren.activePipeline.getLinks(e);if(o.length>0||a.length>0||r.length>0){var l=s.CanvasUtils.getCanvasDimensions(o,a,r,0,0,!0),c=this.convertRectAdjustedForScaleWithPadding(l,1,30);if(c){if(c.width>i.width||c.height>i.height)return this.getZoomToFit(c);var u,d,h=parseInt(t,10),g=void 0===n?h:parseInt(n,10);if(Number.isNaN(h)||Number.isNaN(g)?(c.right>i.x+i.width&&(u=i.x+i.width-c.right),c.left<i.x&&(u=i.x-c.left),c.bottom>i.y+i.height&&(d=i.y+i.height-c.bottom),c.top<i.y&&(d=i.y-c.top)):(u=i.x+i.width*(h/100)-(c.left+c.width/2),d=i.y+i.height*(g/100)-(c.top+c.height/2)),void 0!==u||void 0!==d)return{x:this.zoomTransform.x+(u||0)*this.zoomTransform.k||0,y:this.zoomTransform.y+(d||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=s.CanvasUtils.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=s.CanvasUtils.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}}])}(),Ur=function(){return e._createClass(function t(n){e._classCallCheck(this,t),this.logger=new h.Logger("SVGCanvasUtilsAccessibility"),this.logger.log("constructor - start"),this.ap=n,this.initialize(),this.logger.log("constructor - end")},[{key:"initialize",value:function(){this.logger.logStartTimer("initialize"),this.tabObjects=this.createTabObjectsArray(),this.logger.logEndTimer("initialize")}},{key:"createTabObjectsArray",value:function(){this.removeGrpProperties();var e=this.getObjectGroups(),t=this.getEntryComments(),n=this.getEntryLinks(),i=this.getEntryNodes(),o=this.getEntryNodesForLoops(e),a=[].concat(r._toConsumableArray(t),r._toConsumableArray(i),r._toConsumableArray(n),r._toConsumableArray(o));return a=a.sort(this.sortTabGroups.bind(this))}},{key:"removeGrpProperties",value:function(){this.ap.pipeline.nodes.forEach(function(e){return delete e.grp}),this.ap.pipeline.links.forEach(function(e){return delete e.grp}),this.ap.pipeline.comments.forEach(function(e){return delete e.grp})}},{key:"getEntryComments",value:function(){var e=this;if(this.ap.canvasInfo.hideComments)return[];var t=this.ap.pipeline.comments.filter(function(t){return!e.commentHasLinks(t)});return t=t.map(function(e){return{type:"comment",obj:e}})}},{key:"getEntryLinks",value:function(){var e=this.ap.pipeline.links.filter(function(e){return e.srcPos&&e.trgPos});return e=e.map(function(e){return{type:"link",obj:e}})}},{key:"getEntryNodes",value:function(){var e=this,t=this.ap.pipeline.nodes.filter(function(t){return!e.nodeHasInputLinks(t)&&!e.nodeHasAssocLinks(t)});return t=t.map(function(e){return{type:"node",obj:e}}),t}},{key:"getEntryNodesForLoops",value:function(e){var t=this,n=[];return e.forEach(function(e){if(0===e.filter(function(e){return!t.nodeHasInputLinks(e)&&!t.nodeHasAssocLinks(e)}).length){var i=t.getLoopEntryNode(e);n.push(i)}}),n}},{key:"getLoopEntryNode",value:function(e){var t=null,n=1/0;return e.forEach(function(e){e.x_pos<n&&(t=e,n=e.x_pos)}),{type:"node",obj:t}}},{key:"getObjectGroups",value:function(){var e=this,t=[],n=-1;return this.ap.pipeline.nodes.forEach(function(i){if(void 0===i.grp){var o=[];n++,e.getNodesInGroup(i,o,n),t.push(o)}}),this.ap.pipeline.comments.forEach(function(e){void 0===e.grp&&(n++,e.grp=n)}),this.ap.pipeline.links.forEach(function(e){void 0===e.grp&&(n++,e.grp=n)}),t}},{key:"getNodesInGroup",value:function(e,t,n){var i=this;if(void 0===e.grp){e.grp=n,t.push(e);var o=this.getInputDataLinks(e);o=o.map(function(e){return e.grp=n,e});var a=this.getOutputDataLinks(e);a=a.map(function(e){return e.grp=n,e});var r=this.getAssociationLinks(e);r=r.map(function(e){return e.grp=n,e});var s=this.getCommentLinks(e);s=s.map(function(e){return e.grp=n,e});var l=this.getSrcNodes(o),c=this.getTrgNodes(a),u=this.getAssocNodes(r,e),d=this.getConnectedComments(s);l.forEach(function(e){void 0===e.grp&&i.getNodesInGroup(e,t,n)}),c.forEach(function(e){void 0===e.grp&&i.getNodesInGroup(e,t,n)}),u.forEach(function(e){void 0===e.grp&&i.getNodesInGroup(e,t,n)}),d.forEach(function(e){void 0===e.grp&&(e.grp=n)})}}},{key:"getSrcNodes",value:function(e){var t=this,n=[];return e.forEach(function(e){var i=t.ap.getNode(e.srcNodeId);i&&n.push(i)}),n}},{key:"getTrgNodes",value:function(e){var t=this,n=[];return e.forEach(function(e){var i=t.ap.getNode(e.trgNodeId);i&&n.push(i)}),n}},{key:"getAssocNodes",value:function(e,t){var n=this,i=[];return e.forEach(function(e){var o=e.srcNodeId===t.id?e.trgNodeId:e.srcNodeId,a=n.ap.getNode(o);a&&i.push(a)}),i}},{key:"getConnectedComments",value:function(e){var t=this,n=[];return e.forEach(function(e){var i=t.ap.getComment(e.srcNodeId);i&&n.push(i)}),n}},{key:"sortTabGroups",value:function(e,t){var n=this.getTagGroupYCoord(e),i=this.getTagGroupYCoord(t);return n>i||n===i&&this.getTagGroupXCoord(e)>this.getTagGroupXCoord(t)?1:-1}},{key:"getTagGroupYCoord",value:function(e){return"link"===e.type?e.obj.srcPos.y_pos:e.obj.y_pos}},{key:"getTagGroupXCoord",value:function(e){return"link"===e.type?e.obj.srcPos.x_pos:e.obj.x_pos}},{key:"getInputDataLinks",value:function(e){return this.ap.pipeline.links.filter(function(t){return t.type===s.NODE_LINK&&t.trgNodeId===e.id})}},{key:"getOutputDataLinks",value:function(e){return this.ap.pipeline.links.filter(function(t){return t.type===s.NODE_LINK&&t.srcNodeId===e.id})}},{key:"getAssociationLinks",value:function(e){return this.ap.pipeline.links.filter(function(t){return t.type===s.ASSOCIATION_LINK&&(t.srcNodeId===e.id||t.trgNodeId===e.id)})}},{key:"getCommentLinks",value:function(e){return this.ap.pipeline.links.filter(function(t){return t.type===s.COMMENT_LINK&&t.trgNodeId===e.id})}},{key:"nodeHasInputLinks",value:function(e){return!!(e.inputs&&e.inputs.length>0)&&this.getLinksToNode(e,s.NODE_LINK).length>0}},{key:"nodeHasAssocLinks",value:function(e){return this.getAssocLinksForNode(e).length>0}},{key:"commentHasLinks",value:function(e){return this.getLinksFromComment(e).length>0}},{key:"getNextTabGroupStartObject",value:function(e){if(0===this.tabObjects.length)return null;if(!e||e===s.CANVAS_FOCUS)return this.tabObjects[0].obj;var t=this.getLocalObject(e),n=this.tabObjects.findIndex(function(e){return e.obj.grp===(null==t?void 0:t.grp)&&e.obj.id===(null==t?void 0:t.id)});return-1===n&&(n=this.tabObjects.findIndex(function(e){return e.obj.grp===(null==t?void 0:t.grp)})),n===this.tabObjects.length-1?null:this.tabObjects[n+1].obj}},{key:"getPreviousTabGroupStartObject",value:function(e){if(0===this.tabObjects.length)return null;if(!e||e===s.CANVAS_FOCUS)return this.tabObjects[this.tabObjects.length-1].obj;var t=this.getLocalObject(e),n=this.tabObjects.findIndex(function(e){return e.obj.grp===(null==t?void 0:t.grp)&&e.obj.id===(null==t?void 0:t.id)});return-1===n&&(n=this.tabObjects.findLastIndex(function(e){return e.obj.grp===(null==t?void 0:t.grp)})),n<1?null:this.tabObjects[n-1].obj}},{key:"getLocalObject",value:function(e){return this.ap.pipeline.nodes.find(function(t){return t.id===e.id})||this.ap.pipeline.links.find(function(t){return t.id===e.id})||this.ap.pipeline.comments.find(function(t){return t.id===e.id})}},{key:"getAllLinksForNode",value:function(e){var t=this,n=[];return this.getLinksFromNode(e,s.NODE_LINK).forEach(function(e){n.push({link:e,type:"node",obj:e.srcObj})}),this.getLinksToNode(e,s.NODE_LINK).forEach(function(e){n.push({link:e,type:"node",obj:e.trgNode})}),this.getLinksFromNode(e,s.ASSOCIATION_LINK).forEach(function(e){n.push({link:e,type:"node",obj:e.srcObj})}),this.getLinksToNode(e,s.ASSOCIATION_LINK).forEach(function(e){n.push({link:e,type:"node",obj:e.trgNode})}),this.getLinksToNode(e,s.COMMENT_LINK).forEach(function(e){n.push({link:e,type:"comment",obj:t.ap.getComment(e.srcNodeId)})}),n}},{key:"getNextLinksFromNode",value:function(e){var t=this,n=[];return this.getLinksFromNode(e,s.NODE_LINK).forEach(function(e){n.push({link:e,type:"node",obj:t.ap.getNode(e.trgNodeId)})}),this.getLinksFromNode(e,s.ASSOCIATION_LINK).forEach(function(i){n.push({link:i,type:"node",obj:t.ap.getNode(e.id===i.srcNodeId?i.trgNodeId:i.srcNodeId)})}),this.getLinksToNode(e,s.ASSOCIATION_LINK).forEach(function(e){n.push({link:e,type:"node",obj:e.trgNode})}),this.getLinksToNode(e,s.COMMENT_LINK).forEach(function(e){n.push({link:e,type:"comment",obj:t.ap.getComment(e.srcNodeId)})}),n}},{key:"getNextLinksFromComment",value:function(e){var t=this,n=[];return this.getLinksFromComment(e).forEach(function(e){n.push({link:e,type:"node",obj:t.ap.getNode(e.trgNodeId)})}),n}},{key:"getNextSiblingLink",value:function(e){if(e.srcPos&&e.trgPos)return null;var t=e.navObject?e.navObject:e.srcObj,n=s.CanvasUtils.isNode(t)?this.getAllLinksForNode(t):this.getNextLinksFromComment(t),i=n.findIndex(function(t){return t.link.id===e.id});return i>-1?i===n.length-1?n[0].link:n[i+1].link:null}},{key:"getPreviousSiblingLink",value:function(e){if(e.srcPos&&e.trgPos)return null;var t=e.navObject?e.navObject:e.srcObj,n=s.CanvasUtils.isNode(t)?this.getAllLinksForNode(t):this.getNextLinksFromComment(t),i=n.findIndex(function(t){return t.link.id===e.id});return i>-1?0===i?n[n.length-1].link:n[i-1].link:null}},{key:"getNextNodeFromDataLink",value:function(e){return this.ap.getNode(e.trgNodeId)}},{key:"getNextNodeFromAssocLink",value:function(e){var t;return e.srcNodeId===(null===(t=e.navObject)||void 0===t?void 0:t.id)?e.trgNode:e.srcObj}},{key:"getNextObjectFromCommentLink",value:function(e){var t;return e.srcNodeId===(null===(t=e.navObject)||void 0===t?void 0:t.id)?e.trgNode:e.srcObj}},{key:"getPreviousLinksToNode",value:function(e){var t=this,n=[];return this.getLinksToNode(e,s.NODE_LINK).forEach(function(e){n.push({link:e,type:"node",obj:t.ap.getNode(e.trgNodeId)})}),n}},{key:"getPreviousNodeFromDataLink",value:function(e){return e.srcObj}},{key:"getPreviousNodeFromAssocLink",value:function(e){return e.srcObjId===e.navObject.id?e.srcObj:e.trgNode}},{key:"getPreviousObjectFromCommentLink",value:function(e){return e.srcObjId===e.navObject.id?e.srcObj:e.trgNode}},{key:"getLinksToNode",value:function(e,t){return this.ap.pipeline.links.filter(function(n){return n.type===t&&n.trgNodeId===e.id})}},{key:"getLinksFromNode",value:function(e,t){return this.ap.pipeline.links.filter(function(n){return n.type===t&&n.srcNodeId===e.id})}},{key:"getAssocLinksForNode",value:function(e){return this.ap.pipeline.links.filter(function(t){return t.type===s.ASSOCIATION_LINK&&(t.srcNodeId===e.id||t.trgNodeId===e.id)})}},{key:"getLinksFromComment",value:function(e){return this.ap.pipeline.links.filter(function(t){return t.srcNodeId===e.id})}},{key:"getNextSubObject",value:function(e,t){var n=this.getFocusableSubObjects(e);if(!t)return n[0];var i=n.findIndex(function(e){return e.type===t.type&&e.obj.id===t.obj.id});return++i>n.length-1&&(i=0),n[i]}},{key:"getPreviousSubObject",value:function(e,t){var n=this.getFocusableSubObjects(e);if(!t)return n[n.length-1];var i=n.findIndex(function(e){return e.type===t.type&&e.obj.id===t.obj.id});return--i<0&&(i=n.length-1),n[i]}},{key:"getFocusableSubObjects",value:function(e){var t=[],n=s.CanvasUtils.getObjectTypeName(e);return"node"===n&&(e.inputs&&e.layout.inputPortDisplay&&e.layout.inputPortFocusable&&e.inputs.forEach(function(e){t.push({type:"inputPort",obj:e})}),e.outputs&&e.layout.outputPortDisplay&&e.layout.outputPortFocusable&&e.outputs.forEach(function(e){t.push({type:"outputPort",obj:e})}),e.focusFunction&&t.push({type:"reactObject",obj:e})),"link"!==n||e.type!==s.NODE_LINK||this.ap.config.enableLinkSelection!==s.LINK_SELECTION_HANDLES&&this.ap.config.enableLinkSelection!==s.LINK_SELECTION_DETACHABLE||t.push({type:"linkStart",obj:e}),e.decorations&&e.decorations.forEach(function(e){e.focusable&&t.push({type:"decoration",obj:e})}),"link"!==n||e.type!==s.NODE_LINK||this.ap.config.enableLinkSelection!==s.LINK_SELECTION_HANDLES&&this.ap.config.enableLinkSelection!==s.LINK_SELECTION_DETACHABLE||t.push({type:"linkEnd",obj:e}),t}}])}(),jr=function(){return e._createClass(function t(n,i,o,a){e._classCallCheck(this,t),this.logger=new h.Logger("SVGCanvasActivePipeline"),this.logger.log("constructor - start"),this.initialize(n,i,o,a),this.logger.log("constructor - end")},[{key:"initialize",value:function(e,t,n,i){this.logger.logStartTimer("initialize"),this.config=t,this.canvasInfo=n,this.selections=i.pipelineId===e?i.selections:[],this.pipeline=this.getPipeline(e,n),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.accessibility=null,this.logger.logEndTimer("initialize")}},{key:"getAccessibility",value:function(){return this.accessibility||(this.accessibility=new Ur(this)),this.accessibility}},{key:"getAllLinksForNode",value:function(e){return this.getAccessibility().getAllLinksForNode(e)}},{key:"getNextLinksFromNode",value:function(e){return this.getAccessibility().getNextLinksFromNode(e)}},{key:"getPreviousLinksToNode",value:function(e){return this.getAccessibility().getPreviousLinksToNode(e)}},{key:"getPreviousNodeFromDataLink",value:function(e){return this.getAccessibility().getPreviousNodeFromDataLink(e)}},{key:"getPreviousNodeFromAssocLink",value:function(e){return this.getAccessibility().getPreviousNodeFromAssocLink(e)}},{key:"getPreviousObjectFromCommentLink",value:function(e){return this.getAccessibility().getPreviousObjectFromCommentLink(e)}},{key:"getNextLinksFromComment",value:function(e){return this.getAccessibility().getNextLinksFromComment(e)}},{key:"getNextNodeFromDataLink",value:function(e){return this.getAccessibility().getNextNodeFromDataLink(e)}},{key:"getNextNodeFromAssocLink",value:function(e){return this.getAccessibility().getNextNodeFromAssocLink(e)}},{key:"getNextObjectFromCommentLink",value:function(e){return this.getAccessibility().getNextObjectFromCommentLink(e)}},{key:"getNextSiblingLink",value:function(e){return this.getAccessibility().getNextSiblingLink(e)}},{key:"getPreviousSiblingLink",value:function(e){return this.getAccessibility().getPreviousSiblingLink(e)}},{key:"getNextTabGroupStartObject",value:function(e){return this.getAccessibility().getNextTabGroupStartObject(e)}},{key:"getPreviousTabGroupStartObject",value:function(e){return this.getAccessibility().getPreviousTabGroupStartObject(e)}},{key:"getCanvasDimensions",value:function(e){return s.CanvasUtils.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 s.CanvasUtils.isSupernode(e)})}},{key:"isEmptyOrBindingsOnly",value:function(){return(p.isEmpty_1(this.pipeline.nodes)||this.containsOnlyBindingNodes())&&p.isEmpty_1(this.pipeline.comments)&&p.isEmpty_1(this.pipeline.links)}},{key:"containsOnlyBindingNodes",value:function(){return!this.pipeline.nodes.find(function(e){return!s.CanvasUtils.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===s.COMMENT_LINK?(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===s.NODE_LINK&&(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||s.CanvasUtils.getDefaultInputPortId(e);e.inputs&&e.inputs.forEach(function(e){e.id===n&&(e.isConnected=!0)})}},{key:"setOutputPortConnected",value:function(e,t){var n=t||s.CanvasUtils.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.getSelectedObjectIds().forEach(function(n){var i=e.getNode(n);i&&t.push(i)}),t}},{key:"getSelectedComments",value:function(){var e=this,t=[];return this.getSelectedObjectIds().forEach(function(n){var i=e.getComment(n);i&&t.push(i)}),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}},{key:"getNextSubObject",value:function(e,t){return this.getAccessibility().getNextSubObject(e,t)}},{key:"getPreviousSubObject",value:function(e,t){return this.getAccessibility().getPreviousSubObject(e,t)}},{key:"getFocusableSubObjects",value:function(e){return this.getAccessibility().getFocusableSubObjects(e)}}])}();function Mr(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 Rr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Mr(Object(n),!0).forEach(function(t){C._defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Mr(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var zr=Object.assign({},fn,Yn),Fr=function(){function t(n,i,o,a,r,s,l,c,u){var d=arguments.length>9&&void 0!==arguments[9]?arguments[9]:{};e._classCallCheck(this,t),this.logger=new h.Logger(["SVGCanvasRenderer","PipeId",n]),this.logger.logStartTimer("constructor - "+n.substring(0,5)),this.pipelineId=n,this.supernodeInfo=d,this.canvasDiv=i,this.canvasInfo=a,this.selectionInfo=r,this.breadcrumbs=s,this.nodeLayout=l,this.canvasLayout=c,this.config=u,this.canvasController=o,this.activePipeline=new jr(n,u,a,r),this.superRenderers=[],this.instanceId=this.canvasController.getInstanceId(),this.dispUtils=new Xn(this.canvasController,this.supernodeInfo.d3Selection,this.pipelineId,s),this.nodeUtils=new $n(this.canvasLayout),this.commentUtils=new ei,this.linkUtils=new ri(this.config,this.canvasLayout,this.nodeUtils,this.commentUtils),this.decUtils=new si(this.canvasLayout),this.dragObjectUtils=new Hi(this),this.dragLinkUtils=new Bi(this),this.dragNewLinkUtils=new Co(this),this.dragDetLinkUtils=new To(this),this.zoomUtils=new wr(this),this.externalUtils=new ui(this),this.svgCanvasTextArea=new ki(this.config,this.dispUtils,this.nodeUtils,this.decUtils,this.canvasController,this.canvasDiv,this.activePipeline,this.removeTempCursorOverlay.bind(this),this.displayComments.bind(this),this.displayLinks.bind(this),this.getCommentToolbarPos.bind(this),this.addCanvasZoomBehavior.bind(this),this.removeCanvasZoomBehavior.bind(this)),this.dispUtils.setDisplayState(),this.logger.log(this.dispUtils.getDisplayStateMsg()),this.dragOverLink=null,this.dragOverDetachedLinks=[],this.dragNewLinkOverNode=null,this.subObject=null,this.subObjectParentObj=null,this.initializeGhostDiv(),this.canvasSVG=this.createCanvasSVG(),this.canvasDefs=this.createDefs(this.canvasSVG,this.canvasLayout),this.canvasBackground=this.createCanvasBackground(this.canvasSVG),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 - "+n.substring(0,5))}return e._createClass(t,[{key:"setSpaceKeyPressed",value:function(e){this.zoomUtils.setSpaceKeyPressed(e),this.resetCanvasCursor()}},{key:"isSpaceKeyPressed",value:function(){return this.zoomUtils.isSpaceKeyPressed()}},{key:"zoomTo",value:function(e,t){this.zoomUtils.zoomTo(e,t)}},{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(e){this.zoomUtils.zoomToFit(e)}},{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:"getCanvasDimensionsWithPadding",value:function(){return this.zoomUtils.getCanvasDimensionsWithPadding()}},{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 s.CanvasUtils.isSupernode(t)&&t.id===e.supernodeInfo.id})))}),t}},{key:"setCanvasInfoRenderer",value:function(e,t,n,i,o,a){this.logger.logStartTimer("setCanvasInfoRenderer"+this.pipelineId.substring(0,5)),this.config=a,this.canvasInfo=e,this.selectionInfo=t,this.breadcrumbs=n,this.nodeLayout=i,this.canvasLayout=o,this.activePipeline.initialize(this.pipelineId,a,e,t),this.linkUtils=new ri(this.config,this.canvasLayout,this.nodeUtils,this.commentUtils),this.svgCanvasTextArea=new ki(this.config,this.dispUtils,this.nodeUtils,this.decUtils,this.canvasController,this.canvasDiv,this.activePipeline,this.removeTempCursorOverlay.bind(this),this.displayComments.bind(this),this.displayLinks.bind(this),this.getCommentToolbarPos.bind(this),this.addCanvasZoomBehavior.bind(this),this.removeCanvasZoomBehavior.bind(this)),this.dispUtils.setDisplayState(),this.logger.log(this.dispUtils.getDisplayStateMsg()),this.resetCanvasSVGBehaviors(),this.superRenderers=this.cleanUpSuperRenderers(),this.displayCanvas(),this.config.enableKeyboardNavigation&&(this.logger.log("setCanvasInfoRenderer - Restoring focus"),this.restoreFocus()),this.logger.logEndTimer("setCanvasInfoRenderer"+this.pipelineId.substring(0,5))}},{key:"setSelectionInfo",value:function(e){this.selectionInfo=e,this.activePipeline.initialize(this.pipelineId,this.config,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.setCanvasBackgroundSize(),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.setCanvasBackgroundSize(),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===s.LINK_DIR_TOP_BOTTOM||this.canvasLayout.linkDirection===s.LINK_DIR_BOTTOM_TOP){var i=n.width-2*this.canvasLayout.supernodeSVGAreaPadding;this.activePipeline.nodes.forEach(function(o){if(o.isSupernodeInputBinding){var a=e.nodeUtils.getSupernodePortXOffset(o.id,n.inputs);o.x_pos=t.width*(a/i)+t.x-o.outputs[0].cx,o.y_pos=e.canvasLayout.linkDirection===s.LINK_DIR_TOP_BOTTOM?t.y-o.height:t.y+t.height}if(o.isSupernodeOutputBinding){var r=e.nodeUtils.getSupernodePortXOffset(o.id,n.outputs);o.x_pos=t.width*(r/i)+t.x-o.inputs[0].cx,o.y_pos=e.canvasLayout.linkDirection===s.LINK_DIR_TOP_BOTTOM?o.y_pos=t.y+t.height:o.y_pos=t.y-o.height}})}else{var o,a;s.CanvasUtils.isExpanded(n)?(o=this.canvasLayout.supernodeTopAreaHeight,a=n.height-(this.canvasLayout.supernodeTopAreaHeight+this.canvasLayout.supernodeSVGAreaPadding)):(o=0,a=n.height),this.activePipeline.nodes.forEach(function(i){if(i.isSupernodeInputBinding){i.x_pos=e.canvasLayout.linkDirection===s.LINK_DIR_LEFT_RIGHT?t.x-i.width:t.x+t.width;var r=e.nodeUtils.getSupernodePortYOffset(i.id,n.inputs)-o;i.y_pos=t.height*(r/a)+t.y-i.outputs[0].cy}if(i.isSupernodeOutputBinding){i.x_pos=e.canvasLayout.linkDirection===s.LINK_DIR_LEFT_RIGHT?t.x+t.width:t.x-i.width;var l=e.nodeUtils.getSupernodePortYOffset(i.id,n.outputs)-o;i.y_pos=t.height*(l/a)+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:"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()||this.dragLinkUtils.isDragging()}},{key:"isSizing",value:function(){this.dragObjectUtils.isSizing()}},{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:"getNodeLabelSelectionById",value:function(e){var t=this.getNodeGroupSelectionById(e),n=this.getSelectorForNodeLabelId();return t.selectAll(n)}},{key:"getNodeInputPortSelectionById",value:function(e,t){var n=this.getNodeGroupSelectionById(t),i=this.getSelectorForInputPortId(e);return n.selectAll(i)}},{key:"getNodeOutputPortSelectionById",value:function(e,t){var n=this.getNodeGroupSelectionById(t),i=this.getSelectorForOutputPortId(e);return n.selectAll(i)}},{key:"getNodeDecSelectionById",value:function(e,t){var n=this.getNodeGroupSelectionById(t),i=this.getSelectorForId("node_dec_group",e);return n.selectAll(i)}},{key:"getLinkStartHandleGrpSelectionById",value:function(e){return this.getLinkGroupSelectionById(e).selectAll(".d3-link-handle-start-group")}},{key:"getLinkEndHandleGrpSelectionById",value:function(e){return this.getLinkGroupSelectionById(e).selectAll(".d3-link-handle-end-group")}},{key:"getLinkDecSelectionById",value:function(e,t){var n=this.getLinkGroupSelectionById(t),i=this.getSelectorForId("link_dec_group",e);return n.selectAll(i)}},{key:"getSelectorForNodeLabelId",value:function(){return".d3-foreign-object-node-label"}},{key:"getSelectorForInputPortId",value:function(e){return"[data-port-id='".concat(e,"'].d3-node-port-input")}},{key:"getSelectorForOutputPortId",value:function(e){return"[data-port-id='".concat(e,"'].d3-node-port-output")}},{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!==s.SNAP_TO_GRID_DURING&&this.config.enableSnapToGridType!==s.SNAP_TO_GRID_AFTER||(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=zr.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:"convertCanvasCoordsToPageCoords",value:function(e,t){var n=this.canvasSVG.node().getBoundingClientRect(),i=this.zoomUtils.unTransformPos({x:e,y:t});return{x:i.x+Math.round(n.left),y:i.y+Math.round(n.top)}}},{key:"convertCanvasCoordsToScreenCoords",value:function(e){var t=this.zoomUtils.unTransformPos(e);return this.dispUtils.isDisplayingSubFlowInPlace()&&(t=this.addParentSupernodeOffset(t)),t}},{key:"addParentSupernodeOffset",value:function(e){var t=this.getParentSupernodeSVGDimensions(),n={x:e.x+t.x_pos,y:e.y+t.y_pos},i=this.supernodeInfo.renderer.zoomUtils.unTransformPos(n);return this.supernodeInfo.renderer.dispUtils.isDisplayingSubFlowInPlace()?this.supernodeInfo.renderer.addParentSupernodeOffset(i):i}},{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),a=0;n.selectAll(".d3-ghost-svg").remove();var r=n.append("svg").attr("width",o*i).attr("height",(50+e.height)*i).attr("x",0).attr("y",0).attr("aria-hidden",!0).attr("class","d3-ghost-svg").append("g").attr("class","d3-node-group");if(r.append("rect").attr("class","d3-ghost-node").attr("x",0).attr("y",0).attr("width",e.width).attr("height",e.height),!this.nodeLayout.nodeExternalObject){r.append(function(){return t.getImageElement(e)}).each(function(n,i,o){return t.setNodeImageContent(e,i,o)}).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 s=r.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"),l=s.append("xhtml:div").attr("class",this.nodeUtils.getNodeLabelClass(e)),c=l.append("xhtml:span").html(e.label).node().getBoundingClientRect().width+4,u=this.nodeUtils.getNodeLabelWidth(e),d=Math.min(u,c);if(a=Math.max(0,(d-e.width)/2)*i,"center"===e.layout.labelAlign){var h=Math.max(0,(u-d)/2);s.attr("width",d).attr("x",this.nodeUtils.getNodeLabelPosX(e)+h),l.attr("width",d)}}r.attr("transform","translate(".concat(a,", 0) scale(").concat(i,")"));var g=this.getBrowserZoom(),p=(a+e.width/2*i)*g,f=e.height/2*i*g;return{element:n.node(),centerX:p,centerY:f,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),a={x1:o.x-e.width/2,y1:o.y-e.height/2,x2:o.x+e.width/2,y2:o.y+e.height/2},r=this.canvasController.convertNodeTemplate(e),s=this.getAttachableLinksForNodeAtPos(r,a);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&&s.CanvasUtils.hasInputAndOutputPorts(e)&&!this.isPortMaxCardinalityZero(e.inputs[0])&&!this.isPortMaxCardinalityZero(e.outputs[0])}},{key:"isNodeTemplateAttachableToDetachedLinks",value:function(e){return this.config.enableLinkSelection===s.LINK_SELECTION_DETACHABLE}},{key:"getAttachableLinksForNodeAtPos",value:function(e,t){var n=this,i=e.inputs&&e.inputs.length>0,o=e.outputs&&e.outputs.length>0,a=this.activePipeline.links.filter(function(e){return e.srcPos&&o&&s.CanvasUtils.isPosInArea(e.srcPos,t,n.canvasLayout.ghostAreaPadding)?(e.nodeOverSrcPos=!0,!0):e.trgPos&&i&&s.CanvasUtils.isPosInArea(e.trgPos,t,n.canvasLayout.ghostAreaPadding)?(e.nodeOverTrgPos=!0,!0):(e.nodeOverSrcPos=!1,e.nodeOverTrgPos=!1,!1)});a.length>0&&(a=s.CanvasUtils.getDetachedLinksToUpdate(e,a,this.activePipeline.links).oldLinks);return a}},{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.dispUtils.isDisplayingSubFlowInPlace()?this.getParentSupernodeSVGDimensions():{width:"100%",height:"100%",x:0,y:0};return(this.dispUtils.isDisplayingSubFlowInPlace()?this.supernodeInfo.d3Selection:this.canvasDiv).append("svg").attr("class","svg-area").attr("data-pipeline-id",this.activePipeline.id).attr("aria-label",this.canvasController.labelUtil.getLabel("canvas.contents")).attr("width",t.width).attr("height",t.height).attr("x",t.x).attr("y",t.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)})}},{key:"createDefs",value:function(e,t){if(this.dispUtils.isDisplayingFullPage()){var n=e.append("defs");return this.createDropShadow(n),this.createGrid(n,t),e.selectChildren("defs")}return null}},{key:"createCanvasBackground",value:function(e){var t=this,n=this.zoomUtils.getTransformedViewportDimensions(),i=e.append("rect").attr("x",0).attr("y",0).attr("width",n.width).attr("height",n.height).attr("data-pipeline-id",this.activePipeline.id).attr("pointer-events","all").style("cursor","default").on("mousedown",function(){t.svgCanvasTextArea.isEditingText()||t.canvasController.setFocusOnCanvas()}),o=this.getGridId();return o?(i.attr("class","d3-svg-background-grid"),i.attr("fill","url(#".concat(o,")"))):i.attr("class","d3-svg-background"),i}},{key:"resetCanvasSVGBehaviors",value:function(){var e=this;this.removeCanvasZoomBehavior(),!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===s.CONTEXT_MENU_BUTTON&&t.stopPropagation()}).on("click.zoom",function(t){e.logger.log("Canvas - click-zoom"),e.canvasController.clickActionHandler({clickType:"contextmenu"===t.type?s.SINGLE_CLICK_CONTEXTMENU:s.SINGLE_CLICK,objectType:"canvas",selectedObjectIds:e.activePipeline.getSelectedObjectIds()})}).on("dblclick.zoom",function(){e.logger.log("Zoom - double click"),e.canvasController.clickActionHandler({clickType:s.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:"addCanvasZoomBehavior",value:function(){this.resetCanvasSVGBehaviors()}},{key:"removeCanvasZoomBehavior",value:function(){this.canvasSVG.on(".zoom",null)}},{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:"setCanvasBackgroundSize",value:function(){var e=this.zoomUtils.getTransformedViewportDimensions();this.canvasBackground.attr("x",e.x).attr("y",e.y).attr("width",e.width).attr("height",e.height)}},{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:"createGrid",value:function(e,t){var n=t.displayGridMajorPx,i=t.displayGridMajorPy,o=t.displayGridMinorPx,a=t.displayGridMinorPy,r=this.getGridId();if(t.displayGridType===s.DISPLAY_GRID_DOTS)this.addDotsPattern(e,r,o,a);else if(t.displayGridType===s.DISPLAY_GRID_BOXES)this.addBoxesPattern(e,r,o,a);else if(t.displayGridType===s.DISPLAY_GRID_BOXES_AND_LINES){this.addBoxesPattern(e,"smallGrid",o,a);var l=e.append("pattern").attr("id",r).attr("width",n).attr("height",i).attr("x",0).attr("y",0).attr("patternUnits","userSpaceOnUse");l.append("rect").attr("width",n).attr("height",i).attr("stroke","none").attr("fill","url(#smallGrid)"),l.append("path").attr("d","M ".concat(n," 0 L 0 0 0 ").concat(i)).attr("class","d3-grid-lines")}else if(t.displayGridType===s.DISPLAY_GRID_DOTS_AND_LINES){this.addDotsPattern(e,"smallGrid",o,a);var c=e.append("pattern").attr("id",r).attr("width",n).attr("height",i).attr("x",0).attr("y",0).attr("patternUnits","userSpaceOnUse");c.append("rect").attr("width",n-o).attr("height",i-a).attr("x",.5*o).attr("y",.5*a).attr("stroke","none").attr("fill","url(#smallGrid)"),c.append("path").attr("d","M ".concat(n," 0 L 0 0 0 ").concat(i)).attr("class","d3-grid-lines")}}},{key:"getGridId",value:function(){return this.canvasLayout.displayGridType===s.DISPLAY_GRID_DOTS?"d3_grid_dots_pattern_"+this.instanceId:this.canvasLayout.displayGridType===s.DISPLAY_GRID_BOXES?"d3_grid_boxes_pattern_"+this.instanceId:this.canvasLayout.displayGridType===s.DISPLAY_GRID_DOTS_AND_LINES?"d3_grid_dots_lines_pattern_"+this.instanceId:this.canvasLayout.displayGridType===s.DISPLAY_GRID_BOXES_AND_LINES?"d3_grid_boxes_lines_pattern_"+this.instanceId:null}},{key:"addDotsPattern",value:function(e,t,n,i){var o=e.append("pattern").attr("id",t).attr("width",n).attr("height",i).attr("x",.5*n).attr("y",.5*i).attr("patternUnits","userSpaceOnUse");return o.append("circle").attr("cx",.5*n).attr("cy",.5*i).attr("class","d3-grid-dot"),o}},{key:"addBoxesPattern",value:function(e,t,n,i){e.append("pattern").attr("id",t).attr("width",n).attr("height",i).attr("x",0).attr("y",0).attr("patternUnits","userSpaceOnUse").append("path").attr("d","M ".concat(n," 0 L 0 0 0 ").concat(i)).attr("class","d3-grid-boxes")}},{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 a=this.getNodeDecSelectionById(e,t).node();this.displayDecLabelTextArea(o,i,"node",a)}}}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 a=this.getLinkDecSelectionById(e,t).node();this.displayDecLabelTextArea(o,i,"link",a)}}}else this.superRenderers.forEach(function(i){i.setLinkDecorationLabelEditingMode(e,t,n)})}},{key:"repositionCommentToolbar",value:function(){if(this.dispUtils.isDisplayingFullPage()&&this.svgCanvasTextArea.isEditingText()){var e=this.activePipeline.getComment(this.svgCanvasTextArea.getEditingTextId());if(e&&(e.contentType===s.WYSIWYG||this.config.enableMarkdownInComments)){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:s.CanvasUtils.snapToGrid(e.x,this.canvasLayout.snapToGridXPx),y:s.CanvasUtils.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"),e.updateOutputPortArrowPath(i[n],"d3-node-port-output-arrow")),t.isSupernodeOutputBinding&&(e.updatePortRadiusAndPos(i[n],t,"d3-node-port-input-main"),e.updateInputPortArrowPath(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;this.preserveFocus(function(){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)}).attr("tabindex",function(e){return n.config.enableKeyboardNavigation?-1:null}).attr("aria-label",function(e){return e.label}).attr("aria-roledescription",n.canvasController.labelUtil.getLabel("node.ariaRoleDescription")).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!s.CanvasUtils.isSuperBindingNode(e)});i.selectChildren(".d3-focus-path").data(function(e){return[e]},function(e){return e.id}).join(function(e){return null}).attr("d",function(e){return n.getNodeShapePathSizing(e)}),i.selectChildren(".d3-node-sizing").data(function(e){return s.CanvasUtils.isNodeResizable(e,n.config)?[e]:[]},function(e){return e.id}).join(function(e){return e.insert("path",function(e,t,i){return n.nodeUtils.getBeforeElement(i[t]._parent,"d3-node-sizing")}).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.insert("path",function(e,t,i){return n.nodeUtils.getBeforeElement(i[t]._parent,"d3-node-selection-highlight")}).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.insert("path",function(e,t,i){return n.nodeUtils.getBeforeElement(i[t]._parent,"d3-node-body-outline")}).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.insert("foreignObject",function(e,t,i){return n.nodeUtils.getBeforeElement(i[t]._parent,"d3-foreign-object-external-node")}).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("tabindex",-1).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,n.activePipeline.pipeline)}),i.selectChildren(".d3-node-image").data(function(e){return e.layout.imageDisplay?[e]:[]},function(e){return e.id}).join(function(e){return e.insert(function(e){return n.getImageElement(e)},function(e,t,i){return n.nodeUtils.getBeforeElement(i[t]._parent,"d3-node-image")})}).datum(function(e){return n.activePipeline.getNode(e.id)}).each(function(e,t,i){return n.setNodeImageContent(e,t,i)}).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.insert("foreignObject",function(e,t,i){return n.nodeUtils.getBeforeElement(i[t]._parent,"d3-foreign-object-node-label")}).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 Tn(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=zr.select(i[t]);if(n.displayPorts(o,e),s.CanvasUtils.isSupernode(e)&&n.displaySupernodeContents(e,zr.select(i[t])),!s.CanvasUtils.isSuperBindingNode(e)){n.addErrorMarker(e,o);var a=s.CanvasUtils.getCombinedDecorations(e.layout.decorations,e.decorations);n.displayDecorations(e,s.DEC_NODE,o,a)}});var o=this.dragObjectUtils.getDragObjectHandler();i.filter(function(e){return n.shouldAddDragHandlerToNode(e)}).call(o),i.filter(function(e){return!n.shouldAddDragHandlerToNode(e)}).on(".drag",null),this.logger.logEndTimer("updateNodes")}},{key:"shouldAddDragHandlerToNode",value:function(e){return s.CanvasUtils.isObjectMovable(e)&&this.config.enableEditingActions}},{key:"removeNodes",value:function(e){var t=this;e.selectAll(".d3-foreign-object-node-image").each(function(e,n,i){return t.externalUtils.removeExternalObject(e,n,i)}),e.selectAll(".d3-foreign-object-dec-jsx").each(function(e,n,i){return t.externalUtils.removeExternalObject(e,n,i)}),e.selectChildren(".d3-foreign-object-port-jsx").each(function(e,n,i){return t.externalUtils.removeExternalObject(e,n,i)}),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);s.CanvasUtils.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)},null,function(e){return n.removePorts(e)}).attr("connected",function(e){return e.isConnected?"yes":"no"}).attr("class",function(e){return n.getNodeInputPortClassName()+(e.class_name?" "+e.class_name:"")}).attr("tabindex",-1).attr("role","button").attr("aria-label",function(e){return e.label||e.id}).attr("aria-roledescription",this.canvasController.labelUtil.getLabel("port.ariaRoleDescription")).call(function(e){return n.updateInputPorts(e,t)})}},{key:"createInputPorts",value:function(e,t){var n=this,i=e.append("g").attr("data-port-id",function(e){return e.id}).attr("isSupernodeBinding",s.CanvasUtils.isSuperBindingNode(t)?"yes":"no").each(function(e,i,o){var a=s.CanvasUtils.getPortIndex(t.inputs,e.id),r=n.getPortDisplayInfo(t.layout.inputPortDisplayObjects,a),l=zr.select(o[i]);l.append(r.tag).attr("tabindex",-1).attr("class","d3-node-port-input-main"+("foreignObject"===r.tag?" d3-foreign-object-port-jsx":"")),l.filter(function(){return!n.config.enableAssocLinkCreation&&r.type===s.PORT_DISPLAY_CIRCLE_WITH_ARROW&&!s.CanvasUtils.isSuperBindingNode(t)}).append("path").attr("class","d3-node-port-input-arrow")}).call(this.attachInputPortListeners.bind(this),t);return i}},{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 a=zr.select(o[i]),r=s.CanvasUtils.getPortIndex(t.inputs,e.id),l=n.getPortDisplayInfo(t.layout.inputPortDisplayObjects,r),c=n.getPortImageTransform(e,s.FLOW_IN);n.updatePort(a,l,t,e.cx,e.cy,c)}),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 a=zr.select(o[i]),r=s.CanvasUtils.getPortIndex(t.inputs,e.id);n.getPortDisplayInfo(t.layout.inputPortDisplayObjects,r).type===s.PORT_DISPLAY_CIRCLE_WITH_ARROW&&a.attr("d",n.getPortArrowPath()).attr("transform",n.getInputPortArrowPathTransform(e))}),this.config.enableEditingActions){var i=this.dragNewLinkUtils.getDragNewLinkHandler();e.call(i)}else e.on(".drag",null)}},{key:"removePorts",value:function(e){var t=this;e.selectChildren(".d3-foreign-object-port-jsx").each(function(e,n,i){return t.externalUtils.removeExternalObject(e,n,i)}),e.remove()}},{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)},null,function(e){return n.removePorts(e)}).attr("connected",function(e){return e.isConnected?"yes":"no"}).attr("class",function(e){return n.getNodeOutputPortClassName()+(e.class_name?" "+e.class_name:"")}).attr("tabindex",-1).attr("role","button").attr("aria-label",function(e){var t=e.label||e.id;return e.connectFrom?n.canvasController.labelUtil.getLabel("port.markedForOutput",{label:t}):t}).attr("aria-roledescription",this.canvasController.labelUtil.getLabel("port.ariaRoleDescription")).call(function(e){return n.updateOutputPorts(e,t)})}},{key:"createOutputPorts",value:function(e,t){var n=this,i=e.append("g").attr("data-port-id",function(e){return e.id}).attr("isSupernodeBinding",s.CanvasUtils.isSuperBindingNode(t)?"yes":"no").each(function(e,i,o){var a=s.CanvasUtils.getPortIndex(t.outputs,e.id),r=n.getPortDisplayInfo(t.layout.outputPortDisplayObjects,a),l=zr.select(o[i]);l.append(r.tag).attr("tabindex",-1).attr("class","d3-node-port-output-main"+("foreignObject"===r.tag?" d3-foreign-object-port-jsx":"")),l.filter(function(){return!n.config.enableAssocLinkCreation&&r.type===s.PORT_DISPLAY_CIRCLE_WITH_ARROW&&!s.CanvasUtils.isSuperBindingNode(t)}).append("path").attr("class","d3-node-port-output-arrow")}).call(this.attachOutputPortListeners.bind(this),t);return i}},{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 a=zr.select(o[i]),r=s.CanvasUtils.getPortIndex(t.outputs,e.id),l=n.getPortDisplayInfo(t.layout.outputPortDisplayObjects,r),c=n.getPortImageTransform(e,s.FLOW_OUT);n.updatePort(a,l,t,e.cx,e.cy,c)}),e.selectChildren(".d3-node-port-output-arrow").datum(function(e){return t.outputs.find(function(t){return e.id===t.id})}).each(function(e,i,o){var a=zr.select(o[i]),r=s.CanvasUtils.getPortIndex(t.outputs,e.id);n.getPortDisplayInfo(t.layout.outputPortDisplayObjects,r).type===s.PORT_DISPLAY_CIRCLE_WITH_ARROW&&a.attr("d",n.getPortArrowPath()).attr("transform",n.getOutputPortArrowPathTransform(e))}),e.each(function(e,i,o){var a=zr.select(o[i]),r=a.select(".d3-node-port-output-connect-from-arrow");if(e.connectFrom){r.empty()&&a.append("path").attr("class","d3-node-port-output-connect-from-arrow");var s=n.getConnectFromArrowInfo(e,t);a.select(".d3-node-port-output-connect-from-arrow").attr("d",s.path).attr("transform",s.transform)}else r.empty()||r.remove()}),this.config.enableEditingActions){var i=this.dragNewLinkUtils.getDragNewLinkHandler();e.call(i)}else e.on(".drag",null)}},{key:"updatePort",value:function(e,t,n,i,o,a){var r=this;t.type===s.PORT_DISPLAY_JSX||t.type===s.PORT_DISPLAY_IMAGE?(t.type===s.PORT_DISPLAY_JSX?e.each(function(e,n,i){return r.externalUtils.addJsxExternalObject(t.src,n,i)}):e.attr("xlink:href",t.src),e.attr("x",i-t.width/2).attr("y",o-t.height/2).attr("width",t.width).attr("height",t.height).attr("transform",a)):e.attr("r",this.getPortRadius(n)).attr("cx",i).attr("cy",o)}},{key:"getPortDisplayInfo",value:function(e,t){var n=Rr({},e[t<e.length?t:e.length-1]);return n.tag="jsx"===n.type?"foreignObject":n.type,n.tag="circleWithArrow"===n.type?"circle":n.tag,n.width=n.width||s.PORT_WIDTH_DEFAULT,n.width=n.height||s.PORT_HEIGHT_DEFAULT,n}},{key:"attachNodeGroupListeners",value:function(e){var t=this;e.on("keydown",function(e,n){if(t.config.enableKeyboardNavigation)if(u.KeyboardUtils.nextObjectInGroup(e)){var i=t.activePipeline.getNextLinksFromNode(n);if(i.length>0)t.activePipeline.getAllLinksForNode(n).forEach(function(e){return e.link.navObject=n}),t.setFocusObject(i[0].link,e)}else if(u.KeyboardUtils.previousObjectInGroup(e)){var o=t.activePipeline.getPreviousLinksToNode(n);if(o.length>0)t.activePipeline.getAllLinksForNode(n).forEach(function(e){return e.link.navObject=n}),t.setFocusObject(o[0].link,e)}else if(u.KeyboardUtils.focusSubObject(e))s.CanvasUtils.stopPropagationAndPreventDefault(e),t.clearSubObject(),t.setFocusNextSubObject(n,e);else if(u.KeyboardUtils.cancelFocusOnSubObject(e))t.canvasController.restoreFocus();else if(u.KeyboardUtils.moveObjectUp(e))t.config.enableEditingActions&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.moveObject(n,s.NORTH)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.moveObjectDown(e))t.config.enableEditingActions&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.moveObject(n,s.SOUTH)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.moveObjectRight(e))t.config.enableEditingActions&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.moveObject(n,s.EAST)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.moveObjectLeft(e))t.config.enableEditingActions&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.moveObject(n,s.WEST)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.selectObject(e)){s.CanvasUtils.stopPropagationAndPreventDefault(e);var a=t.canvasController.isSelected(n.id,t.activePipeline.id)?s.DOUBLE_CLICK:s.SINGLE_CLICK;t.selectObject(n,a)}else if(u.KeyboardUtils.selectObjectAugment(e))s.CanvasUtils.stopPropagationAndPreventDefault(e),t.selectObject(n,s.SINGLE_CLICK,!1,!0);else if(u.KeyboardUtils.selectObjectRange(e))s.CanvasUtils.stopPropagationAndPreventDefault(e),t.selectObject(n,s.SINGLE_CLICK,!0,!1);else if(u.KeyboardUtils.sizeObjectUp(e))s.CanvasUtils.isNodeResizable(n,t.config)&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.sizeObject(n,s.NORTH)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.sizeObjectDown(e))s.CanvasUtils.isNodeResizable(n,t.config)&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.sizeObject(n,s.SOUTH)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.sizeObjectRight(e))s.CanvasUtils.isNodeResizable(n,t.config)&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.sizeObject(n,s.EAST)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.sizeObjectLeft(e))s.CanvasUtils.isNodeResizable(n,t.config)&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.sizeObject(n,s.WEST)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.createLink(e))t.config.enableEditingActions&&t.canvasController.autoSelectFocusObj(function(){return t.dragNewLinkUtils.createNewLinkFromSelections()},!0,!0),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.displayContextOptions(e)&&(e.stopPropagation(),!s.CanvasUtils.isSuperBindingNode(n)))if(t.selectObject(n,s.SINGLE_CLICK_CONTEXTMENU),t.config.enableContextToolbar)t.addContextToolbar(e,n,"node",s.CAUSE_KEYBOARD);else{var r=t.getObjectCenterPosition(e.currentTarget);t.openContextMenu(e,"node",n,null,r)}}).on("mouseenter",function(e,n){if(!t.isDragging()&&!t.svgCanvasTextArea.isEditingText()){var i=zr.select(e.currentTarget);t.raiseNodeToTop(i),t.setNodeStyles(n,"hover",i),t.config.enableContextToolbar?t.addContextToolbar(e,n,"node",s.CAUSE_MOUSE):t.addDynamicNodeIcons(e,n,i)}}).on("mouseover",function(e,n){if(e.stopPropagation(),t.canOpenTip(s.TIP_TYPE_NODE)){var i=t.canvasController.getTipId(),o=t.getId("node_tip",n.id);null!==i&&i===o||(t.canvasController.closeTip(),t.canvasController.openTip({id:o,type:s.TIP_TYPE_NODE,targetObj:e.currentTarget,pipelineId:t.activePipeline.id,node:n}))}}).on("mouseleave",function(e,n){var i=zr.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){if(t.logger.logStartTimer("Node Group - mouse down"),e.stopPropagation(),t.svgCanvasTextArea.isEditingText()&&t.svgCanvasTextArea.completeEditing(e),t.config.enableKeyboardNavigation&&t.setFocusObject(n,e,n.layout.onFocusAllowDefaultAction,!0),!t.config.enableDragWithoutSelect){var i=2===e.button?s.SINGLE_CLICK_CONTEXTMENU:s.SINGLE_CLICK;t.selectObjectD3Event(e,n,i)}t.logger.logEndTimer("Node Group - mouse down")}).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"),s.CanvasUtils.stopPropagationAndPreventDefault(e),t.canvasController.clickActionHandler({clickType:s.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"),s.CanvasUtils.stopPropagationAndPreventDefault(e),s.CanvasUtils.isSuperBindingNode(n)||(t.config.enableDragWithoutSelect&&t.selectObjectD3Event(e,n,s.SINGLE_CLICK_CONTEXTMENU),t.setFocusObject(n,e,!1,!0),t.config.enableContextToolbar||t.openContextMenu(e,"node",n))})}},{key:"getObjectCenterPosition",value:function(e){var t=e.getBoundingClientRect(),n=this.canvasSVG.node().getBoundingClientRect();return{x:t.left-n.left+t.width/2,y:t.top-n.top+t.height/2}}},{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=zr.select(e.currentTarget);if(t.config.enableDisplayFullLabelOnHover&&!s.CanvasUtils.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=zr.select(e.currentTarget);t.config.enableDisplayFullLabelOnHover&&!s.CanvasUtils.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&&(s.CanvasUtils.stopPropagationAndPreventDefault(e),t.canvasController.textActionHandler("setNodeLabelEditingMode","textdoubleclick",{id:n.id,pipelineId:t.activePipeline.id}))})}},{key:"attachNodeLabelSpanListeners",value:function(e){var t=this;e.on("mouseenter",function(e,n){n.layout.labelEditable&&t.config.enableEditingActions&&(clearTimeout(t.hideEditIconPending),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("keydown",function(e,i){if(n.config.enableKeyboardNavigation)if(u.KeyboardUtils.nextSubObject(e)){var o=n.activePipeline.getNode(t.id);n.setFocusNextSubObject(o,e)}else if(u.KeyboardUtils.previousSubObject(e)){var a=n.activePipeline.getNode(t.id);n.setFocusPreviousSubObject(a,e)}else if(u.KeyboardUtils.cancelFocusOnSubObject(e))n.canvasController.restoreFocus();else if(u.KeyboardUtils.clickSubObject(e))s.CanvasUtils.stopPropagationAndPreventDefault(e),n.canvasController.clickActionHandler({clickType:s.SINGLE_CLICK,objectType:"port",id:i.id,nodeId:t.id,selectedObjectIds:n.activePipeline.getSelectedObjectIds(),pipelineId:n.activePipeline.id});else if(u.KeyboardUtils.createLinkFromConnectFrom(e)){s.CanvasUtils.stopPropagationAndPreventDefault(e);var r=n.canvasController.getConnectFromInfo(n.activePipeline.id);r&&n.dragNewLinkUtils.createNewNodeLink(r.node,r.portId,t,i.id)}else if(u.KeyboardUtils.displayContextOptions(e))if(e.stopPropagation(),n.selectObject(t,s.SINGLE_CLICK_CONTEXTMENU),n.config.enableContextToolbar)n.addContextToolbar(e,t,"input_port",s.CAUSE_KEYBOARD,null,null,i);else{var l=n.getObjectCenterPosition(e.currentTarget);n.openContextMenu(e,"input_port",t,i,l)}}).on("mouseenter",function(e,i){s.CanvasUtils.stopPropagationAndPreventDefault(e),n.canOpenTip(s.TIP_TYPE_PORT)&&(n.canvasController.closeTip(),n.canvasController.openTip({id:n.getId("node_port_tip",i.id),type:s.TIP_TYPE_PORT,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"),s.CanvasUtils.stopPropagationAndPreventDefault(e),n.config.enableDragWithoutSelect&&n.selectObjectD3Event(e,t,s.SINGLE_CLICK_CONTEXTMENU),n.openContextMenu(e,"input_port",t,i)})}},{key:"attachOutputPortListeners",value:function(e,t){var n=this;e.on("keydown",function(e,i){if(n.config.enableKeyboardNavigation)if(u.KeyboardUtils.nextSubObject(e)){var o=n.activePipeline.getNode(t.id);n.setFocusNextSubObject(o,e)}else if(u.KeyboardUtils.previousSubObject(e)){var a=n.activePipeline.getNode(t.id);n.setFocusPreviousSubObject(a,e)}else if(u.KeyboardUtils.cancelFocusOnSubObject(e))n.canvasController.restoreFocus();else if(u.KeyboardUtils.clickSubObject(e))s.CanvasUtils.stopPropagationAndPreventDefault(e),n.canvasController.clickActionHandler({clickType:s.SINGLE_CLICK,objectType:"port",id:i.id,nodeId:t.id,selectedObjectIds:n.activePipeline.getSelectedObjectIds(),pipelineId:n.activePipeline.id});else if(u.KeyboardUtils.addConnectFromStatus(e))s.CanvasUtils.stopPropagationAndPreventDefault(e),n.canvasController.setPortConnectFrom(t.id,i.id,n.activePipeline.id);else if(u.KeyboardUtils.displayContextOptions(e))if(e.stopPropagation(),n.selectObject(t,s.SINGLE_CLICK_CONTEXTMENU),n.config.enableContextToolbar)n.addContextToolbar(e,t,"output_port",s.CAUSE_KEYBOARD,null,null,i);else{var r=n.getObjectCenterPosition(e.currentTarget);n.openContextMenu(e,"output_port",t,i,r)}}).on("mouseenter",function(e,i){s.CanvasUtils.stopPropagationAndPreventDefault(e),n.canOpenTip(s.TIP_TYPE_PORT)&&(n.canvasController.closeTip(),n.canvasController.openTip({id:n.getId("node_port_tip",i.id),type:s.TIP_TYPE_PORT,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"),s.CanvasUtils.stopPropagationAndPreventDefault(e),n.config.enableDragWithoutSelect&&n.selectObjectD3Event(e,t,s.SINGLE_CLICK_CONTEXTMENU),n.openContextMenu(e,"output_port",t,i)})}},{key:"setUnavailableTargetNodesHighlighting",value:function(e,t,n){this.getAllNodeGroupsSelection().filter(function(i){return!s.CanvasUtils.isTrgNodeAvailable(i,e,t,n)}).classed("d3-node-unavailable",!0)}},{key:"setUnavailableSourceNodesHighlighting",value:function(e,t,n){this.getAllNodeGroupsSelection().filter(function(i){return!s.CanvasUtils.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=zr.select(i),a=this.nodeUtils.getNodeLabelEditIconTranslate(t,e,this.zoomUtils.getZoomScale(),this.config.enableDisplayFullLabelOnHover);this.displayEditIcon(e,o,a,function(e,t){return n.canvasController.textActionHandler("setNodeLabelEditingMode","editicon",{id:t.id,pipelineId:n.activePipeline.id})})}},{key:"displayDecLabelEditIcon",value:function(e,t,n,i){var o=this,a=e.parentElement.parentElement.parentElement,r=zr.select(a),s=this.decUtils.getDecLabelEditIconTranslate(t,n,i,e,this.zoomUtils.getZoomScale()),l=this.getDecorationLabelEditType(i);this.displayEditIcon(e,r,s,function(e,a){return o.canvasController.textActionHandler(l,"editicon",{id:n.id,decId:t.id,objType:i,pipelineId:o.activePipeline.id})})}},{key:"getDecorationLabelEditType",value:function(e){return e===s.DEC_NODE?"setNodeDecorationLabelEditingMode":"setLinkDecorationLabelEditingMode"}},{key:"displayEditIcon",value:function(e,t,n,i){var o=this,a=t.append("g").attr("class","d3-label-edit-icon-group").attr("transform",n).on("mouseenter",function(e,t){clearTimeout(this.hideEditIconPending),o.mouseOverLabelEditIcon=!0}).on("mouseleave",function(e,t){o.mouseOverLabelEditIcon=!1,o.hideEditIcon(this)}).on("mousedown",function(){}).on("click",function(e,t){s.CanvasUtils.stopPropagationAndPreventDefault(e),i(e,t),o.mouseOverLabelEditIcon=!1,o.hideEditIcon(this)});a.append("rect").attr("class","d3-label-edit-icon-background1").attr("width",29).attr("height",24).attr("x",0).attr("y",-4),a.append("rect").attr("class","d3-label-edit-icon-background2").attr("width",24).attr("height",24).attr("x",5).attr("y",-4),a.append("svg").attr("class","d3-node-edit-label-icon").html(s.EDIT_ICON).attr("width",16).attr("height",16).attr("aria-label","Node edit label icon").attr("x",9).attr("y",0)}},{key:"hideEditIcon",value:function(e){if(!this.mouseOverLabelEditIcon){var t=e.parentElement;if(t){var n=t.parentElement.parentElement;zr.select(n).selectAll(".d3-label-edit-icon-group").remove()}}}},{key:"selectObjectD3Event",value:function(e,t,n){this.selectObject(t,n,e.shiftKey,u.KeyboardUtils.isMetaKey(e))}},{key:"selectObject",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];this.canvasController.selectObjectWithClick(e,t,this.activePipeline.id,n,i)}},{key:"displayDecorations",value:function(e,t,n,i){var o=this,a=this,r=i||[],s="d3-".concat(t,"-dec-group"),l="."+s;n.selectChildren(l).data(r,function(e){return e.id}).join(function(n){return o.createDecorations(n,e,t,s)}).attr("tabindex",function(e){return e.focusable?-1:null}).attr("aria-roledescription",this.canvasController.labelUtil.getLabel("decoration.ariaRoleDescription")).attr("transform",function(n){return o.decUtils.getDecTransform(n,e,t)}).on("mousedown",function(t,n){return n.hotspot&&0===t.button?a.callDecoratorCallback(t,e,n):null}).each(function(n,i,a){return o.updateDecoration(n,zr.select(a[i]),t,e)})}},{key:"createDecorations",value:function(e,t,n,i){var o=this;return e.append("g").attr("data-id",function(e){return o.getId("".concat(n,"_dec_group"),e.id)}).attr("class",i).call(this.attachDecGroupListeners.bind(this,t,n))}},{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).attr("aria-label",e.tooltip?e.tooltip:this.canvasController.labelUtil.getLabel("decoration.shapeDecoration")):i.remove()}},{key:"updateDecImages",value:function(e,t,n,i){var o=this,a=t.selectChild("g");if(e.image){var r=this.getImageType(e.image);(a=a.empty()?t.append("g").append(r):a.select(r)).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)).attr("aria-label",e.tooltip?e.tooltip:this.canvasController.labelUtil.getLabel("decoration.imageDecoration")).each(function(){return o.setDecImageContent(a,e.image)})}else a.remove()}},{key:"updateDecLabels",value:function(e,t,n,i){var o=t.selectChild(".d3-foreign-object-dec-label");void 0!==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)).attr("aria-label",Tn(e.label)).select("div").attr("class",this.decUtils.getDecLabelClass(e,n)).select("span").html(Tn(e.label))):o.remove()}},{key:"updateDecJsxObjs",value:function(e,t,n,i){var o=this,a=t.selectChild(".d3-foreign-object-dec-jsx");e.jsx?(a.empty()&&(a=t.append("foreignObject").attr("class","d3-foreign-object-dec-jsx").attr("tabindex",-1).attr("x",0).attr("y",0).attr("aria-label",e.tooltip?e.tooltip:this.canvasController.labelUtil.getLabel("decoration.jsxDecoration"))),a.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)})):(a.each(function(e,t,n){return o.externalUtils.removeExternalObject(e,t,n)}),a.remove())}},{key:"attachDecLabelListeners",value:function(e,t,n){var i=this;n.on("dblclick",function(n,o){if(i.logger.log("Decoration Label - double click"),o.label_editable&&i.config.enableEditingActions){s.CanvasUtils.stopPropagationAndPreventDefault(n);var a=i.getDecorationLabelEditType(t);i.canvasController.textActionHandler(a,"textdoubleclick",{id:e.id,decId:o.id,pipelineId:i.activePipeline.id})}})}},{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,t,n){var i=this;n.on("keydown",function(t,n){if(i.config.enableKeyboardNavigation)if(u.KeyboardUtils.nextSubObject(t)){var o="node"===s.CanvasUtils.getObjectTypeName(e)?i.activePipeline.getNode(e.id):i.activePipeline.getLink(e.id);i.setFocusNextSubObject(o,t)}else if(u.KeyboardUtils.previousSubObject(t)){var a="node"===s.CanvasUtils.getObjectTypeName(e)?i.activePipeline.getNode(e.id):i.activePipeline.getLink(e.id);i.setFocusPreviousSubObject(a,t)}else u.KeyboardUtils.cancelFocusOnSubObject(t)?i.canvasController.restoreFocus():u.KeyboardUtils.clickSubObject(t)&&n.hotspot&&(s.CanvasUtils.stopPropagationAndPreventDefault(t),i.callDecoratorCallback(t,e,n))}).on("focus",function(e,t){i.canOpenTip(s.TIP_TYPE_DEC)&&t.tooltip&&(i.canvasController.closeTip(),i.canvasController.openTip({id:i.getId("dec_tip",t.id),type:s.TIP_TYPE_DEC,targetObj:e.currentTarget,pipelineId:i.activePipeline.id,decoration:t}))}).on("blur",function(e,t){i.canOpenTip(s.TIP_TYPE_DEC)&&t.tooltip&&i.canvasController.closeTip()}).on("mouseenter",function(e,t){i.canOpenTip(s.TIP_TYPE_DEC)&&t.tooltip&&(i.canvasController.closeTip(),i.canvasController.openTip({id:i.getId("dec_tip",t.id),type:s.TIP_TYPE_DEC,targetObj:e.currentTarget,pipelineId:i.activePipeline.id,decoration:t}))}).on("mouseleave",function(e,t){i.canOpenTip(s.TIP_TYPE_DEC)&&t.tooltip&&i.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,n){var i=this.getNodeImage(e),o=this.getImageType(i);if("jsx"===o)this.externalUtils.addNodeImageExternalObject(i,t,n);else{var a=zr.select(n[t]);this.setImageContent(a,i,o)}}},{key:"setDecImageContent",value:function(e,t){var n=this.getImageType(t);this.setImageContent(e,t,n)}},{key:"setImageContent",value:function(e,t,n){t!==e.attr("data-image")&&(e.attr("data-image",t),"svg"===n?"LoadSVGToDefs"===this.config.enableImageDisplay?this.loadSVGToDefs(e,t):(e.selectChild("svg").remove(),zr.svg(t,{cache:"force-cache"}).then(function(t){var n=t.documentElement;n.setAttribute("aria-label","Node Image"),e.node().append(n)})):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),zr.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===s.USE_DEFAULT_ICON){if(s.CanvasUtils.isSupernode(e))return M}else if(e.image===s.USE_DEFAULT_EXT_ICON&&s.CanvasUtils.isSupernode(e))return R;return e.image}},{key:"getImageType",value:function(t){if(t)if("object"===e._typeof(t)){if(this.externalUtils.isValidJsxElement(t))return"jsx"}else if("string"==typeof t)return t.endsWith(".svg")&&"SVGAsImage"!==this.config.enableImageDisplay?"svg":"image";return null}},{key:"getImageElement",value:function(e){var t=this.getNodeImage(e),n=this.getImageType(t),i=null==e?void 0:e.label;return"jsx"===n?zr.create("svg:foreignObject").attr("tabindex",-1).attr("class","d3-foreign-object-node-image d3-node-image").attr("aria-label",i).node():"svg"===n?zr.create("svg").attr("class","d3-node-image").attr("aria-label",i).node():zr.create("svg:image").attr("class","d3-node-image").attr("aria-label",i).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=s.CanvasUtils.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 s.CanvasUtils.getObjectStyle(e,"selection_outline",t)}},{key:"getNodeImageStyle",value:function(e,t){return s.CanvasUtils.getObjectStyle(e,"image",t)}},{key:"getNodeLabelStyle",value:function(e,t){return s.CanvasUtils.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;s.CanvasUtils.isExpandedSupernode(e)&&e.subflow_ref&&e.subflow_ref.pipeline_id_ref&&new jr(e.subflow_ref.pipeline_id_ref,this.config,this.canvasInfo).nodes.forEach(function(e){e.style||e.style_temp?n=!0:!n&&s.CanvasUtils.isExpandedSupernode(e)&&(n=t.doesExpandedSupernodeHaveStyledNodes(e))});return n}},{key:"getPortRadius",value:function(e){return s.CanvasUtils.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()||s.CanvasUtils.isSuperBindingNode(t)||(t.layout.ellipsisDisplay&&this.addEllipsisIcon(t,n),s.CanvasUtils.isExpandedSupernode(t)&&this.addSuperNodeFullPageIcon(n))}},{key:"getDefaultContextToolbarPos",value:function(e,t,n){return"link"===e?Rr({},t.pathInfo.centerPoint):"input_port"===e||"output_port"===e?{x:t.x_pos+n.cx,y:t.y_pos+n.cy}:"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,i,o,a,r){if(!(this.isSizing()||this.isDragging()||this.svgCanvasTextArea.isEditingText()||s.CanvasUtils.isSuperBindingNode(t))){i===s.CAUSE_MOUSE&&this.canvasController.setMouseInObject(t.id);var l=this.getDefaultContextToolbarPos(n,t,r);l.x=o?l.x+o:l.x,l.y=a?l.y+a:l.y,l=this.convertCanvasCoordsToScreenCoords(l),this.openContextMenu(e,n,t,r,l,i)}}},{key:"removeContextToolbar",value:function(){var e=this;this.canvasController.setMouseInObject(null),this.canvasController.isContextMenuDisplayed()&&setTimeout(function(){return e.canvasController.closeContextToolbar()},200)}},{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(s.CanvasUtils.stopPropagationAndPreventDefault(t),n.selectObjectD3Event(t,e,s.SINGLE_CLICK_CONTEXTMENU),n.canvasController.isContextMenuDisplayed())n.canvasController.closeContextMenu();else{var o=i.node().getBoundingClientRect(),a=n.canvasSVG.node().getBoundingClientRect(),r={x:o.left-a.left,y:o.bottom-a.top};n.setFocusObject(e,t),n.openContextMenu(t,"node",e,null,r)}});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(s.NODE_MENU_ICON).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){s.CanvasUtils.stopPropagationAndPreventDefault(e);var n=t.getSupernodeBreadcrumbs(e.currentTarget);t.canvasController.displaySubPipelineForBreadcrumbs(n)}).on("mouseenter",function(){zr.select(this).attr("data-pointer-hover","yes")}).on("mouseleave",function(){zr.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(s.SUPER_NODE_EXPAND_ICON).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),a=i.getAttribute("data-pipeline-id");t.push(this.canvasController.createBreadcrumb(o,a)),n=i.closest(".d3-node-group")}return t.reverse()}},{key:"getD3DatumFromDomEl",value:function(e){var t=zr.select(e);return t?t.datum():null}},{key:"updatePortRadiusAndPos",value:function(e,t,n){var i=this;zr.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:"updateInputPortArrowPath",value:function(e,t){var n=this;zr.select(e).selectAll("."+t).attr("d",this.getPortArrowPath()).attr("transform",function(e){return n.getInputPortArrowPathTransform(e)})}},{key:"updateOutputPortArrowPath",value:function(e,t){var n=this;zr.select(e).selectAll("."+t).attr("d",this.getPortArrowPath()).attr("transform",function(e){return n.getOutputPortArrowPathTransform(e)})}},{key:"isPortMaxCardinalityZero",value:function(e){return 0===s.get_1(e,"app_data.ui_data.cardinality.max",1)}},{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,n){return e.subflow_ref&&e.subflow_ref.pipeline_id_ref?new t(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:n}):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:"openCanvasContextOptions",value:function(e){this.openContextMenu(e,"canvas",null,null,{x:100,y:100},s.CAUSE_KEYBOARD)}},{key:"openContextMenu",value:function(e,t,n,i,o,a){s.CanvasUtils.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===s.SUPER_NODE?this.getSupernodeBreadcrumbs(e.currentTarget):null,port:i,zoom:this.zoomUtils.getZoomScale(),cause:a})}},{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:"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=zr.select(e).datum();if(t){var n=this.activePipeline.getLink(t.id);if(n&&n.type===s.NODE_LINK)return n}}return null}},{key:"setDataLinkSelectionAreaWider",value:function(e){this.nodesLinksGrp.selectAll(".d3-data-link-selection-area").classed("d3-extra-width",e)}},{key:"getNodeAtPos",value:function(e){var t=this.getElementWithClassAtPosition(e.x,e.y,"d3-node-group");return this.getNodeForElement(t)}},{key:"getInputNodePortId",value:function(e,t){var n=this.getElementWithClassAtPosition(e.x,e.y,this.getNodeInputPortClassName());return this.getNodePortIdForElement(n)||s.CanvasUtils.getDefaultInputPortId(t)}},{key:"getOutputNodePortId",value:function(e,t){var n=this.getElementWithClassAtPosition(e.x,e.y,this.getNodeOutputPortClassName());return this.getNodePortIdForElement(n)||s.CanvasUtils.getDefaultOutputPortId(t)}},{key:"getMousePosFromEvent",value:function(e){return{x:e.clientX?e.clientX:e.sourceEvent.clientX,y:e.clientY?e.clientY:e.sourceEvent.clientY}}},{key:"getElementWithClassAtPosition",value:function(e,t,n){for(var i=document.elementsFromPoint(e,t),o=null,a=0;!o&&a<i.length;)o=s.CanvasUtils.getParentElementWithClass(i[a],n),a++;return o}},{key:"getNodeForElement",value:function(e){if(e&&"g"===e.nodeName){var t=zr.select(e).datum();if(t)return this.activePipeline.getNode(t.id)}return null}},{key:"getNodePortIdForElement",value:function(e){return e?zr.select(e).attr("data-port-id"):null}},{key:"getNodeNearMousePos",value:function(e,t){var n=this.getTransformedMousePos(e);return this.getNodeNearPos(n,t)}},{key:"getNodeNearPos",value:function(e,t){var n=null,i=t||0;return this.getAllNodeGroupsSelection().each(function(t){e.x>=t.x_pos-i&&e.x<=t.x_pos+t.width+i&&e.y>=t.y_pos-i&&e.y<=t.y_pos+t.height+i&&(n=t)}),n}},{key:"getNodeShapePathSizing",value:function(e){return this.getRectangleNodeShapePath(e,e.layout.nodeSizingArea)}},{key:"getNodeSelectionOutline",value:function(e){return e.layout.selectionPath&&!s.CanvasUtils.isExpanded(e)?"function"==typeof e.layout.selectionPath?e.layout.selectionPath(e):e.layout.selectionPath:e.layout.nodeShape===s.SHAPE_PORT_ARCS?this.getPortArcsNodeShapePath(e):e.layout.nodeShape===s.SHAPE_RECTANGLE_ROUNDED_CORNERS?this.getRectRoundCornersShapePath(e,e.layout.nodeHighlightGap):this.getRectangleNodeShapePath(e,e.layout.nodeHighlightGap)}},{key:"getNodeShapePath",value:function(e){return e.layout.bodyPath&&!s.CanvasUtils.isExpanded(e)?"function"==typeof e.layout.bodyPath?e.layout.bodyPath(e):e.layout.bodyPath:e.layout.nodeShape===s.SHAPE_PORT_ARCS?this.getPortArcsNodeShapePath(e):e.layout.nodeShape===s.SHAPE_RECTANGLE_ROUNDED_CORNERS?this.getRectRoundCornersShapePath(e):this.getRectangleNodeShapePath(e)}},{key:"getRectangleNodeShapePath",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i="object"===e._typeof(n)?n:{leftGap:n,rightGap:n,topGap:n,bottomGap:n},o=0-i.leftGap,a=0-i.topGap,r=t.width+i.rightGap,s=t.height+i.bottomGap;return"M "+o+" "+a+" L "+r+" "+a+" "+r+" "+s+" "+o+" "+s+" Z"}},{key:"getRectRoundCornersShapePath",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=0-t,i=0-t,o=e.width+t,a=e.height+t,r=n+10,s=o-10,l=i+10,c=a-10;return"M "+r+" "+i+" L "+s+" "+i+" Q "+o+" "+i+" "+o+" "+l+" L "+o+" "+c+" Q "+o+" "+a+" "+s+" "+a+" L "+r+" "+a+" Q "+n+" "+a+" "+n+" "+c+" L "+n+" "+l+" Q "+n+" "+i+" "+r+" "+i+" Z"}},{key:"getPortArcsNodeShapePath",value:function(e){return this.canvasLayout.linkDirection===s.LINK_DIR_TOP_BOTTOM?this.getPortArcsNodeShapePathVertical(e,e.inputs,e.inputPortsWidth,e.outputs,e.outputPortsWidth):this.canvasLayout.linkDirection===s.LINK_DIR_BOTTOM_TOP?this.getPortArcsNodeShapePathVertical(e,e.outputs,e.outputPortsWidth,e.inputs,e.inputPortsWidth):this.canvasLayout.linkDirection===s.LINK_DIR_RIGHT_LEFT?this.getPortArcsNodeShapePathHoriz(e,e.outputs,e.outputPortsHeight,e.inputs,e.inputPortsHeight):this.getPortArcsNodeShapePathHoriz(e,e.inputs,e.inputPortsHeight,e.outputs,e.outputPortsHeight)}},{key:"getPortArcsNodeShapePathHoriz",value:function(e,t,n,i,o){var a="M 0 0 L "+e.width+" 0 ";if(i&&i.length>0){var r=e.layout.portArcOffset;o<e.height&&(r=i[0].cy-e.layout.portArcRadius),a+=" L "+e.width+" "+r,i.forEach(function(t,n){r+=2*e.layout.portArcRadius,a+=" A "+e.layout.portArcRadius+" "+e.layout.portArcRadius+" 180 0 1 "+e.width+" "+r,n<i.length-1&&(r+=e.layout.portArcSpacing,a+=" L "+e.width+" "+r)}),a+=" L "+e.width+" "+e.height}else a+=" L "+e.width+" "+e.height;if(a+=" L 0 "+e.height,t&&t.length>0){var s=e.height-e.layout.portArcOffset;n<e.height&&(s=t[t.length-1].cy+e.layout.portArcRadius),a+=" L 0 "+s,t.forEach(function(n,i){s-=2*e.layout.portArcRadius,a+=" A "+e.layout.portArcRadius+" "+e.layout.portArcRadius+" 180 0 1 0 "+s,i<t.length-1&&(s-=e.layout.portArcSpacing,a+=" L 0 "+s)}),a+=" Z"}else a+=" Z";return a}},{key:"getPortArcsNodeShapePathVertical",value:function(e,t,n,i,o){var a="M 0 0 L 0 "+e.height;if(i&&i.length>0){var r=e.layout.portArcOffset;o<e.width&&(r=i[0].cx-e.layout.portArcRadius),a+=" L "+r+" "+e.height,i.forEach(function(t,n){r+=2*e.layout.portArcRadius,a+=" A "+e.layout.portArcRadius+" "+e.layout.portArcRadius+" 180 0 0 "+r+" "+e.height,n<i.length-1&&(r+=e.layout.portArcSpacing,a+=" L "+r+" "+e.height)}),a+=" L "+e.width+" "+e.height}else a+=" L "+e.width+" "+e.height;if(a+=" 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),a+=" L "+s+" 0 ",t.forEach(function(n,i){s-=2*e.layout.portArcRadius,a+=" A "+e.layout.portArcRadius+" "+e.layout.portArcRadius+" 180 0 0 "+s+" 0 ",i<t.length-1&&(s-=e.layout.portArcSpacing,a+=" L "+s+" 0 ")}),a+=" Z"}else a+=" Z";return a}},{key:"setPortPositionsAllNodes",value:function(){var e=this;this.activePipeline.nodes.forEach(function(t){e.setPortPositionsForNode(t)})}},{key:"setPortPositionsForNode",value:function(e){this.canvasLayout.linkDirection===s.LINK_DIR_TOP_BOTTOM||this.canvasLayout.linkDirection===s.LINK_DIR_BOTTOM_TOP?(this.setPortPositionsVertical(e,e.inputs,e.inputPortsWidth,e.layout.inputPortPositions,e.layout.inputPortAutoPosition),this.setPortPositionsVertical(e,e.outputs,e.outputPortsWidth,e.layout.outputPortPositions,e.layout.outputPortAutoPosition,this.config.enableSingleOutputPortDisplay)):(this.setPortPositionsHoriz(e,e.inputs,e.inputPortsHeight,e.layout.inputPortPositions,e.layout.inputPortAutoPosition),this.setPortPositionsHoriz(e,e.outputs,e.outputPortsHeight,e.layout.outputPortPositions,e.layout.outputPortAutoPosition,this.config.enableSingleOutputPortDisplay))}},{key:"setPortPositionsVertical",value:function(e,t,n,i,o){var a=arguments.length>5&&void 0!==arguments[5]&&arguments[5];if(t&&t.length>0){var r=this.nodeUtils.getNodePortPosX(i[0],e),l=this.nodeUtils.getNodePortPosY(i[0],e);e.width<=e.layout.defaultNodeWidth&&1===t.length?(t[0].cx=r,t[0].cy=l,t[0].dir=s.CanvasUtils.getPortDir(t[0].cx,t[0].cy,e)):a?this.setPortPositionsVerticalDisplaySingle(e,t,r,l):o||s.CanvasUtils.isExpandedSupernode(e)?this.setPortPositionsVerticalAuto(e,t,n,l):this.setPortPositionsCustom(t,i,e,r,l)}}},{key:"setPortPositionsVerticalDisplaySingle",value:function(e,t,n,i){var o=0;if(s.CanvasUtils.isExpandedSupernode(e)){var a=e.width-2*this.canvasLayout.supernodeSVGAreaPadding;o=a/2}else o=n;t.forEach(function(t){t.cx=o,t.cy=i,t.dir=s.CanvasUtils.getPortDir(t.cx,t.cy,e)})}},{key:"setPortPositionsVerticalAuto",value:function(e,t,n,i){var o=0;if(s.CanvasUtils.isExpandedSupernode(e)){var a=e.width-2*this.canvasLayout.supernodeSVGAreaPadding-n;o=this.canvasLayout.supernodeSVGAreaPadding+a/2}else n<e.width&&(o=(e.width-n)/2);o+=e.layout.portArcOffset;var r=1;s.CanvasUtils.isSuperBindingNode(e)&&(r=1/this.zoomUtils.getZoomScale()),t.forEach(function(t){o+=e.layout.portArcRadius*r,t.cx=o,t.cy=i,t.dir=s.CanvasUtils.getPortDir(t.cx,t.cy,e),o+=(e.layout.portArcRadius+e.layout.portArcSpacing)*r})}},{key:"setPortPositionsHoriz",value:function(e,t,n,i,o){var a=arguments.length>5&&void 0!==arguments[5]&&arguments[5];if(t&&t.length>0){var r=this.nodeUtils.getNodePortPosX(i[0],e),l=this.nodeUtils.getNodePortPosY(i[0],e);e.height<=e.layout.defaultNodeHeight&&1===t.length?(t[0].cx=r,t[0].cy=l,t[0].dir=s.CanvasUtils.getPortDir(t[0].cx,t[0].cy,e)):a?this.setPortPositionsHorizDisplaySingle(e,t,r,l):o||s.CanvasUtils.isExpandedSupernode(e)?this.setPortPositionsHorizAuto(e,t,n,r):this.setPortPositionsCustom(t,i,e,r,l)}}},{key:"setPortPositionsHorizDisplaySingle",value:function(e,t,n,i){var o=0;if(s.CanvasUtils.isExpandedSupernode(e)){var a=e.height-this.canvasLayout.supernodeTopAreaHeight-this.canvasLayout.supernodeSVGAreaPadding;o=this.canvasLayout.supernodeTopAreaHeight+a/2}else o=i;t.forEach(function(t){t.cx=n,t.cy=o,t.dir=s.CanvasUtils.getPortDir(t.cx,t.cy,e)})}},{key:"setPortPositionsHorizAuto",value:function(e,t,n,i){var o=0;if(s.CanvasUtils.isExpandedSupernode(e)){var a=e.height-this.canvasLayout.supernodeTopAreaHeight-this.canvasLayout.supernodeSVGAreaPadding-n;o=this.canvasLayout.supernodeTopAreaHeight+a/2}else n<e.height&&(o=(e.height-n)/2);o+=e.layout.portArcOffset;var r=1;s.CanvasUtils.isSuperBindingNode(e)&&(r=1/this.zoomUtils.getZoomScale()),t.forEach(function(t){o+=e.layout.portArcRadius*r,t.cx=i,t.cy=o,t.dir=s.CanvasUtils.getPortDir(t.cx,t.cy,e),o+=(e.layout.portArcRadius+e.layout.portArcSpacing)*r})}},{key:"setPortPositionsCustom",value:function(e,t,n,i,o){var a=this,r=i,l=o;e.forEach(function(e,i){i>0&&i<t.length&&(r=a.nodeUtils.getNodePortPosX(t[i],n),l=a.nodeUtils.getNodePortPosY(t[i],n)),e.cx=r,e.cy=l,e.dir=s.CanvasUtils.getPortDir(e.cx,e.cy,n)})}},{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("tabindex",function(e){return n.config.enableKeyboardNavigation?-1:null}).attr("class",function(e){return n.getCommentGroupClass(e)}).attr("aria-roledescription",this.canvasController.labelUtil.getLabel("comment.ariaRoleDescription")).attr("aria-label",function(e){return n.canvasController.labelUtil.getLabel("comment.ariaLabel",{content:e.content})}).call(function(e){return n.updateComments(e)})}},{key:"createComments",value:function(e){var t=this;this.logger.logStartTimer("createComments");var n=e.append("g").attr("data-id",function(e){return t.getId("comment_grp",e.id)}).call(this.attachCommentGroupListeners.bind(this));return this.logger.logEndTimer("createComments"),n}},{key:"updateComments",value:function(e){var t=this;if(this.logger.logStartTimer("updateComments"),e.selectChildren(".d3-focus-path").data(function(e){return[e]},function(e){return e.id}).join(function(e){return null}).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}),e.selectChildren(".d3-comment-sizing").data(function(e){return[e]},function(e){return e.id}).join(function(e){return e.append("rect").attr("class","d3-comment-sizing").call(t.attachCommentSizingListeners.bind(t))}).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").data(function(e){return[e]},function(e){return e.id}).join(function(e){return e.append("rect").attr("class","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-foreign-object-comment-text").data(function(e){return[e]},function(e){return e.id}).join(function(e){var t=e.append("foreignObject").attr("class",function(e){return"d3-foreign-object-comment-text"}).attr("x",0).attr("y",0);return t.append("xhtml:div").attr("class","d3-comment-text-scroll").append("xhtml:div").attr("class","d3-comment-text-outer").append("xhtml:div").attr("class",function(e){return"d3-comment-text"+(e.contentType!==s.WYSIWYG?" markdown":"")}),t}).datum(function(e){return t.activePipeline.getComment(e.id)}).attr("width",function(e){return e.width}).attr("height",function(e){return e.height}).select(".d3-comment-text-scroll").attr("tabindex","-1").each(function(e,t,n){var i=zr.select(n[t]);s.CanvasUtils.applyOutlineStyle(i,e.formats)}).select(".d3-comment-text-outer").select(".d3-comment-text").attr("style",null).each(function(e,t,n){var i=zr.select(n[t]);s.CanvasUtils.applyNonOutlineStyle(i,e.formats)}).html(function(e){return t.getCommentHTMLStr(e)}),this.config.enableEditingActions){var n=this.dragObjectUtils.getDragObjectHandler();e.call(n)}else e.on(".drag",null);this.logger.logEndTimer("updateComments")}},{key:"getCommentHTMLStr",value:function(e){var t=e.contentType!==s.WYSIWYG&&this.config.enableMarkdownInComments?this.getCommentAsMarkdownHTML(e.content):Tn(e.content);return e.highlightText?this.commentUtils.insertCommentHighlight(t,e.highlightText):t}},{key:"getCommentAsMarkdownHTML",value:function(e){return this.markdownIt||(this.markdownIt=N.default({html:this.config.enableMarkdownHTML})),this.markdownIt.render(e)}},{key:"attachCommentGroupListeners",value:function(e){var t=this;e.on("keydown",function(e,n){if(t.config.enableKeyboardNavigation){if(t.svgCanvasTextArea.isEditingText())return;if(u.KeyboardUtils.nextObjectInGroup(e)){var i=t.activePipeline.getNextLinksFromComment(n);i.length>0&&(i.forEach(function(e){return e.link.navObject=n}),t.setFocusObject(i[0].link,e))}else if(u.KeyboardUtils.moveObjectUp(e))t.config.enableEditingActions&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.moveObject(n,s.NORTH)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.moveObjectDown(e))t.config.enableEditingActions&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.moveObject(n,s.SOUTH)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.moveObjectRight(e))t.config.enableEditingActions&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.moveObject(n,s.EAST)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.moveObjectLeft(e))t.config.enableEditingActions&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.moveObject(n,s.WEST)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.sizeObjectUp(e))t.config.enableEditingActions&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.sizeObject(n,s.NORTH)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.sizeObjectDown(e))t.config.enableEditingActions&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.sizeObject(n,s.SOUTH)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.sizeObjectRight(e))t.config.enableEditingActions&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.sizeObject(n,s.EAST)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.sizeObjectLeft(e))t.config.enableEditingActions&&t.canvasController.autoSelectFocusObj(function(){return t.dragObjectUtils.sizeObject(n,s.WEST)}),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.scrollTextUp(e))t.scrollComment(e,10),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.scrollTextDown(e))t.scrollComment(e,-10),s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.selectObject(e)){s.CanvasUtils.stopPropagationAndPreventDefault(e);var o=t.canvasController.isSelected(n.id,t.activePipeline.id)?s.DOUBLE_CLICK:s.SINGLE_CLICK;t.selectObject(n,o)}else if(u.KeyboardUtils.selectObjectAugment(e))s.CanvasUtils.stopPropagationAndPreventDefault(e),t.selectObject(n,s.SINGLE_CLICK,!1,!0);else if(u.KeyboardUtils.displayContextOptions(e))if(e.stopPropagation(),t.selectObject(n,s.SINGLE_CLICK_CONTEXTMENU),t.config.enableContextToolbar)t.addContextToolbar(e,n,"comment",s.CAUSE_KEYBOARD);else{var a=t.getObjectCenterPosition(e.currentTarget);t.openContextMenu(e,"comment",n,null,a)}}}).on("mouseenter",function(e,n){t.isDragging()||(t.config.enableEditingActions&&n.id!==t.svgCanvasTextArea.getEditingTextId()&&t.createCommentPort(e.currentTarget,n),t.config.enableContextToolbar&&t.addContextToolbar(e,n,"comment",s.CAUSE_MOUSE),t.commentHasScrollableText(e.currentTarget)&&t.removeCanvasZoomBehavior())}).on("mouseleave",function(e,n){t.config.enableContextToolbar&&t.removeContextToolbar(),t.config.enableEditingActions&&t.deleteCommentPort(e.currentTarget),t.addCanvasZoomBehavior()}).on("mousedown",function(e,n){if(t.logger.logStartTimer("Comment Group - mouse down"),e.stopPropagation(),t.svgCanvasTextArea.isEditingText()&&t.svgCanvasTextArea.completeEditing(e),!t.config.enableDragWithoutSelect){t.config.enableKeyboardNavigation&&t.setFocusObject(n,e,!1,!0);var i=2===e.button?s.SINGLE_CLICK_CONTEXTMENU:s.SINGLE_CLICK;t.selectObjectD3Event(e,n,i)}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&&(s.CanvasUtils.stopPropagationAndPreventDefault(e),t.deleteCommentPort(e.currentTarget),t.canvasController.textActionHandler("setCommentEditingMode","textdoubleclick",{id:n.id,pipelineId:t.activePipeline.id}),t.canvasController.clickActionHandler({clickType:s.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"),s.CanvasUtils.stopPropagationAndPreventDefault(e),t.config.enableDragWithoutSelect&&t.selectObjectD3Event(e,n,s.SINGLE_CLICK_CONTEXTMENU),t.setFocusObject(n,e,!1,!0),t.config.enableContextToolbar||t.openContextMenu(e,"comment",n)})}},{key:"commentHasScrollableText",value:function(e){var t=e.getElementsByClassName("d3-comment-text-entry-scroll");return t[0]||(t=e.getElementsByClassName("d3-comment-text-scroll")),t[0].clientHeight<t[0].scrollHeight}},{key:"scrollComment",value:function(e,t){this.commentHasScrollableText(e.currentTarget)&&e.currentTarget.getElementsByClassName("d3-comment-text-scroll")[0].scrollBy(0,t)}},{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=zr.select(e).append(s.PORT_DISPLAY_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){zr.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-text").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 s.CanvasUtils.getObjectStyle(e,"selection_outline",t)}},{key:"getCommentBodyStyle",value:function(e,t){return s.CanvasUtils.getObjectStyle(e,"body",t)}},{key:"getCommentTextStyle",value:function(e,t){return s.CanvasUtils.getObjectStyle(e,"text",t)}},{key:"displayCommentTextArea",value:function(e,t){e.autoSize=this.canvasLayout.commentAutoSize,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!==s.LINK_SELECTION_NONE&&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("tabindex",function(e){return n.config.enableKeyboardNavigation?-1:null}).attr("style",function(e){return n.getLinkGrpStyle(e)}).attr("data-selected",function(e){return!!n.activePipeline.isSelected(e.id)||null}).attr("aria-label",function(e){return s.CanvasUtils.getLinkAriaLabel(e,n.canvasController.labelUtil)}).attr("aria-roledescription",this.canvasController.labelUtil.getLabel("link.ariaRoleDescription")).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===s.NODE_LINK&&t.canvasLayout.dataLinkArrowHead||e.type===s.COMMENT_LINK&&t.canvasLayout.commentLinkArrowHead}).append("path").attr("class","d3-link-line-arrow-head"),n.filter(function(e){return e.type===s.NODE_LINK||e.type===s.ASSOCIATION_LINK}).append("g").attr("class","d3-link-decorations-group"),n.filter(function(e){return e.type===s.NODE_LINK&&(t.config.enableLinkSelection===s.LINK_SELECTION_HANDLES||t.config.enableLinkSelection===s.LINK_SELECTION_DETACHABLE)}).append("g").attr("class","d3-link-handle-start-group"),n.filter(function(e){return e.type===s.NODE_LINK&&(t.config.enableLinkSelection===s.LINK_SELECTION_HANDLES||t.config.enableLinkSelection===s.LINK_SELECTION_DETACHABLE)}).append("g").attr("class","d3-link-handle-end-group"),this.logger.logEndTimer("createLinks"),n}},{key:"updateLinks",value:function(e,t){var n=this;if(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 s.CanvasUtils.getObjectStyle(e,"line","default")}),e.filter(function(e){return e.type===s.NODE_LINK&&n.canvasLayout.dataLinkArrowHead||e.type===s.COMMENT_LINK&&n.canvasLayout.commentLinkArrowHead}).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 s.CanvasUtils.getObjectStyle(e,"line","default")}),e.each(function(e,t,i){if(e.type===s.NODE_LINK||e.type===s.ASSOCIATION_LINK){var o=zr.select(i[t]).selectAll(".d3-link-decorations-group"),a=n.shouldDisplayAltDecorations(e)?n.canvasLayout.linkAltDecorations:e.decorations;n.displayDecorations(e,s.DEC_LINK,o,a)}}),e.each(function(e,t,i){n.updateStartHandles(e,i[t]),n.updateEndHandles(e,i[t])}),this.config.enableEditingActions&&this.config.enableSplitLinkDroppedOnNode&&this.config.enableLinkMethod===s.LINK_METHOD_FREEFORM&&this.config.enableLinkType===s.LINK_TYPE_STRAIGHT){var i=this.dragLinkUtils.getDragLinkHandler();e.call(i)}else e.on(".drag",null);this.isDragging()||this.isSizing()||this.config.enableLinksOverNodes||this.setDisplayOrder(e),this.logger.logEndTimer("updateLinks")}},{key:"attachLinkGroupListeners",value:function(e){var t=this;e.on("keydown",function(e,n){if(t.config.enableKeyboardNavigation)if(u.KeyboardUtils.nextObjectInGroup(e)){if(n.type===s.NODE_LINK){var i=t.activePipeline.getNextNodeFromDataLink(n);t.setFocusObject(i,e)}else if(n.type===s.ASSOCIATION_LINK){var o=t.activePipeline.getNextNodeFromAssocLink(n);t.setFocusObject(o,e)}else if(n.type===s.COMMENT_LINK){var a=t.activePipeline.getNextObjectFromCommentLink(n);t.setFocusObject(a,e)}}else if(u.KeyboardUtils.previousObjectInGroup(e)){if(n.type===s.NODE_LINK){var r=t.activePipeline.getPreviousNodeFromDataLink(n);t.setFocusObject(r,e)}else if(n.type===s.ASSOCIATION_LINK){var l=t.activePipeline.getPreviousNodeFromAssocLink(n);t.setFocusObject(l,e)}else if(n.type===s.COMMENT_LINK){var c=t.activePipeline.getPreviousObjectFromCommentLink(n);t.setFocusObject(c,e)}}else if(u.KeyboardUtils.nextSiblingLink(e)){var d=t.activePipeline.getNextSiblingLink(n);t.setFocusObject(d,e)}else if(u.KeyboardUtils.previousSiblingLink(e)){var h=t.activePipeline.getPreviousSiblingLink(n);t.setFocusObject(h,e)}else if(u.KeyboardUtils.focusSubObject(e))s.CanvasUtils.stopPropagationAndPreventDefault(e),t.clearSubObject(),t.setFocusNextSubObject(n,e);else if(u.KeyboardUtils.cancelFocusOnSubObject(e))t.canvasController.restoreFocus();else if(u.KeyboardUtils.moveObjectLeft(e))s.CanvasUtils.stopPropagationAndPreventDefault(e);else if(u.KeyboardUtils.selectObject(e)&&t.config.enableLinkSelection!==s.LINK_SELECTION_NONE){s.CanvasUtils.stopPropagationAndPreventDefault(e);var g=t.canvasController.isSelected(n.id,t.activePipeline.id)?s.DOUBLE_CLICK:s.SINGLE_CLICK;t.selectObject(n,g)}else if(u.KeyboardUtils.selectObjectAugment(e)&&t.config.enableLinkSelection!==s.LINK_SELECTION_NONE)s.CanvasUtils.stopPropagationAndPreventDefault(e),t.selectObject(n,s.SINGLE_CLICK,!1,!0);else if(u.KeyboardUtils.displayContextOptions(e))if(e.stopPropagation(),t.config.enableLinkSelection!==s.LINK_SELECTION_NONE&&t.selectObject(n,s.SINGLE_CLICK_CONTEXTMENU),t.config.enableContextToolbar)t.addContextToolbar(e,n,"link",s.CAUSE_KEYBOARD,t.canvasLayout.linkContextToolbarPosX,t.canvasLayout.linkContextToolbarPosY);else{var p=t.getObjectCenterPosition(e.currentTarget);t.openContextMenu(e,"link",n,null,p)}}).on("mouseenter",function(e,n){if(!t.isDragging()){var i=e.currentTarget;t.config.enableLinkSelection!==s.LINK_SELECTION_HANDLES&&t.config.enableLinkSelection!==s.LINK_SELECTION_DETACHABLE&&!t.config.enableRaiseLinksToTopOnHover||n.type!==s.NODE_LINK||(t.isEditingText()||t.raiseLinkToTop(i),s.CanvasUtils.stopPropagationAndPreventDefault(e)),t.setLinkLineStyles(i,n,"hover"),t.config.enableContextToolbar&&t.addContextToolbar(e,n,"link",s.CAUSE_MOUSE,t.canvasLayout.linkContextToolbarPosX,t.canvasLayout.linkContextToolbarPosY)}}).on("mouseover",function(e,n){if(e.stopPropagation(),t.canOpenTip(s.TIP_TYPE_LINK)){var i=t.canvasController.getTipId(),o=t.getId("link_tip",n.id);null!==i&&i===o||(t.canvasController.closeTip(),t.canvasController.openTip({id:o,type:s.TIP_TYPE_LINK,targetObj:e.currentTarget,mousePos:{x:e.clientX,y:e.clientY},pipelineId:t.activePipeline.id,link:n}))}}).on("mouseleave",function(e,n){var i=e.currentTarget;n.type!==s.NODE_LINK||t.config.enableLinksOverNodes||t.isEditingText()||t.isDragging()||(t.lowerLinkToBottom(i),s.CanvasUtils.stopPropagationAndPreventDefault(e)),t.setLinkLineStyles(i,n,"default"),t.canvasController.closeTip(),t.config.enableContextToolbar&&t.removeContextToolbar()}).on("mousedown",function(e,n,i,o){if(t.logger.log("Link Group - mouse down"),t.svgCanvasTextArea.isEditingText()&&t.svgCanvasTextArea.completeEditing(e),t.config.enableKeyboardNavigation&&t.setFocusObject(n,e,!1,!0),t.config.enableLinkSelection!==s.LINK_SELECTION_NONE&&!t.config.enableDragWithoutSelect){var a=2===e.button?s.SINGLE_CLICK_CONTEXTMENU:s.SINGLE_CLICK;t.selectObjectD3Event(e,n,a)}e.stopPropagation()}).on("click",function(e,n){t.logger.log("Link Group - click"),e.stopPropagation()}).on("dblclick",function(e,n){t.logger.log("Link Group - double click"),s.CanvasUtils.stopPropagationAndPreventDefault(e),t.config.enableLinkSelection!==s.LINK_SELECTION_NONE&&t.canvasController.clickActionHandler({clickType:s.DOUBLE_CLICK,objectType:"link",id:n.id,selectedObjectIds:t.activePipeline.getSelectedObjectIds(),pipelineId:t.activePipeline.id})}).on("contextmenu",function(e,n){t.logger.log("Link Group - context menu"),s.CanvasUtils.stopPropagationAndPreventDefault(e),t.config.enableLinkSelection!==s.LINK_SELECTION_NONE&&t.config.enableDragWithoutSelect&&t.selectObjectD3Event(e,n,s.SINGLE_CLICK_CONTEXTMENU),t.setFocusObject(n,e,!1,!0),t.config.enableContextToolbar||t.openContextMenu(e,"link",n)})}},{key:"shouldDisplayAltDecorations",value:function(e){return this.canvasLayout.linkAltDecorations&&s.CanvasUtils.getLinkDistance(e)<this.canvasLayout.linkDistanceForAltDecorations}},{key:"updateStartHandles",value:function(e,t){var n=this,i=zr.select(t).selectAll(".d3-link-handle-start-group").attr("tabindex",function(){return!n.config.enableKeyboardNavigation||n.config.enableLinkSelection!==s.LINK_SELECTION_HANDLES&&n.config.enableLinkSelection!==s.LINK_SELECTION_DETACHABLE?null:-1}).call(this.attachLinkHandleListeners.bind(this,"start")),o=e.type!==s.NODE_LINK||this.config.enableLinkSelection!==s.LINK_SELECTION_HANDLES&&this.config.enableLinkSelection!==s.LINK_SELECTION_DETACHABLE?[]:[{id:this.canvasLayout.linkStartHandleObject}];if(i.selectChildren(".d3-link-handle-start").data(o,function(e){return e.id}).join(function(t){return n.createStartHandle(t,e)}).datum(this.activePipeline.getLink(e.id)).attr("class","d3-link-handle-start"),this.config.enableEditingActions){var a=this.dragDetLinkUtils.getDragDetachedLinkHandler();i.call(a)}else i.on(".drag",null)}},{key:"createStartHandle",value:function(e,t){var n=null,i=this.canvasController.labelUtil.getLabel("link.sourceHandle");return this.canvasLayout.linkStartHandleObject===s.PORT_DISPLAY_IMAGE?n=e.append("image").attr("xlink:href",this.canvasLayout.linkStartHandleImage).attr("x",t.x1-this.canvasLayout.linkStartHandleWidth/2).attr("y",t.y1-this.canvasLayout.linkStartHandleHeight/2).attr("width",this.canvasLayout.linkStartHandleWidth).attr("height",this.canvasLayout.linkStartHandleHeight).attr("aria-label",i):this.canvasLayout.linkStartHandleObject===s.PORT_DISPLAY_CIRCLE&&(n=e.append("circle").attr("r",this.canvasLayout.linkStartHandleRadius).attr("cx",t.x1).attr("cy",t.y1).attr("aria-label",i)),n}},{key:"updateEndHandles",value:function(e,t){var n=this,i=zr.select(t).selectAll(".d3-link-handle-end-group").attr("tabindex",function(){return!n.config.enableKeyboardNavigation||n.config.enableLinkSelection!==s.LINK_SELECTION_HANDLES&&n.config.enableLinkSelection!==s.LINK_SELECTION_DETACHABLE?null:-1}).call(this.attachLinkHandleListeners.bind(this,"end")),o=e.type!==s.NODE_LINK||this.config.enableLinkSelection!==s.LINK_SELECTION_HANDLES&&this.config.enableLinkSelection!==s.LINK_SELECTION_DETACHABLE?[]:[{id:this.canvasLayout.linkEndHandleObject}];if(i.selectChildren(".d3-link-handle-end").data(o,function(e){return e.id}).join(function(t){return n.createEndHandle(t,e)}).datum(this.activePipeline.getLink(e.id)).attr("class","d3-link-handle-end"),this.config.enableEditingActions){var a=this.dragDetLinkUtils.getDragDetachedLinkHandler();i.call(a)}else i.on(".drag",null)}},{key:"createEndHandle",value:function(e,t){var n=null,i=this.canvasController.labelUtil.getLabel("link.targetHandle");return this.canvasLayout.linkEndHandleObject===s.PORT_DISPLAY_IMAGE?n=e.append("image").attr("xlink:href",this.canvasLayout.linkEndHandleImage).attr("x",t.x2-this.canvasLayout.linkEndHandleWidth/2).attr("y",t.y2-this.canvasLayout.linkEndHandleHeight/2).attr("width",this.canvasLayout.linkEndHandleWidth).attr("height",this.canvasLayout.linkEndHandleHeight).attr("transform",this.getLinkImageTransform(t)).attr("aria-label",i):this.canvasLayout.linkStartHandleObject===s.PORT_DISPLAY_CIRCLE&&(n=e.append("circle").attr("r",this.canvasLayout.linkEndHandleRadius).attr("cx",t.x2).attr("cy",t.y2).attr("aria-label",i)),n}},{key:"attachLinkHandleListeners",value:function(e,t){var n=this;t.on("keydown",function(e,t){n.config.enableKeyboardNavigation&&(u.KeyboardUtils.nextSubObject(e)?n.setFocusNextSubObject(t,e):u.KeyboardUtils.previousSubObject(e)?n.setFocusPreviousSubObject(t,e):u.KeyboardUtils.cancelFocusOnSubObject(e)?n.canvasController.restoreFocus():u.KeyboardUtils.moveLinkHandleUp(e)?(n.config.enableEditingActions&&n.dragDetLinkUtils.moveLinkHandle(t,s.NORTH,e),s.CanvasUtils.stopPropagationAndPreventDefault(e)):u.KeyboardUtils.moveLinkHandleDown(e)?(n.config.enableEditingActions&&n.dragDetLinkUtils.moveLinkHandle(t,s.SOUTH,e),s.CanvasUtils.stopPropagationAndPreventDefault(e)):u.KeyboardUtils.moveLinkHandleRight(e)?(n.config.enableEditingActions&&n.dragDetLinkUtils.moveLinkHandle(t,s.EAST,e),s.CanvasUtils.stopPropagationAndPreventDefault(e)):u.KeyboardUtils.moveLinkHandleLeft(e)&&(n.config.enableEditingActions&&n.dragDetLinkUtils.moveLinkHandle(t,s.WEST,e),s.CanvasUtils.stopPropagationAndPreventDefault(e)))}).on("mousedown",function(t,i){if(n.logger.log("Link "+e+" handle - mouse down"),!n.config.enableDragWithoutSelect){n.config.enableKeyboardNavigation&&n.setFocusObject(i,t,!1,!0);var o=2===t.button?s.SINGLE_CLICK_CONTEXTMENU:s.SINGLE_CLICK;n.selectObjectD3Event(t,i,o)}n.logger.log("Link "+e+" handle - finished mouse down")})}},{key:"setLinkLineStyles",value:function(e,t,n){var i=s.CanvasUtils.getObjectStyle(t,"line",n),o=zr.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===s.ASSOCIATION_LINK?"d3-association-link-selection-area":e.type===s.COMMENT_LINK?"d3-comment-link-selection-area":"d3-data-link-selection-area")}},{key:"getLinkGroupClass",value:function(e){return"d3-link-group "+this.getLinkTypeClass(e)+" "+this.getLinkBranchHighlightCLass(e)+" "+this.getLinkCustomClass(e)}},{key:"getLinkBranchHighlightCLass",value:function(e){return e.branchHighlight?"d3-branch-highlight":""}},{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===s.ASSOCIATION_LINK?this.config.enableAssocLinkType===s.ASSOC_RIGHT_SIDE_CURVE?"d3-association-link":"d3-object-link":e.type===s.COMMENT_LINK?"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=s.CanvasUtils.isExpandedSupernode(e)?" d3-node-supernode-expanded":"",i=this.config.enableEditingActions?" d3-draggable":" d3-non-draggable",o=e.isResized?" d3-resized":"",a=this.getNodeShapeClass(e.layout.nodeShape);return"d3-node-group"+n+o+i+(e.branchHighlight?" d3-branch-highlight":"")+a+t}},{key:"getNodeShapeClass",value:function(e){return e===s.SHAPE_PORT_ARCS?" d3-node-shape-port-arcs":e===s.SHAPE_RECTANGLE_ROUNDED_CORNERS?" d3-node-shape-rectangle-rounded-corners":" d3-node-shape-rectangle"}},{key:"setDisplayOrder",value:function(e){var t=this;this.preserveFocus(function(){e.filter(function(e){return t.hasOneDecorationOrMore(e)}).lower(),e.filter(function(e){return!t.hasOneDecorationOrMore(e)}).lower(),t.config.enableLinkSelection!==s.LINK_SELECTION_HANDLES&&t.config.enableLinkSelection!==s.LINK_SELECTION_DETACHABLE||t.nodesLinksGrp.selectAll(".d3-link-group[data-selected]").raise()})}},{key:"raiseNodeToTopById",value:function(e){var t=this;this.preserveFocus(function(){return t.getNodeGroupSelectionById(e).raise()})}},{key:"raiseNodeToTop",value:function(e){!this.config.enableRaiseNodesToTopOnHover||this.isDragging()||0!==this.activePipeline.getSelectedLinksCount()||this.isEditingText()||this.config.enableLinksOverNodes||this.preserveFocus(function(){return e.raise()})}},{key:"raiseLinkToTopById",value:function(e){var t=this;this.preserveFocus(function(){return t.getLinkGroupSelectionById(e).raise()})}},{key:"raiseLinkToTop",value:function(e){this.preserveFocus(function(){return zr.select(e).raise()})}},{key:"lowerLinkToBottom",value:function(e){this.preserveFocus(function(){return zr.select(e).lower()})}},{key:"preserveFocus",value:function(e){var t=this.canvasController.getFocusObject(),n=this.canvasController.isTargetInsideCanvas(document.activeElement);e(),!this.config.enableKeyboardNavigation||this.isEditingText()||this.canvasController.isContextMenuDisplayed()||(this.subObject?this.restoreFocusToSubObject():this.canvasController.setFocusObject(t,null,n))}},{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.linkMethod===s.LINK_METHOD_FREEFORM&&this.updateFreeformLinksForNodes(),this.activePipeline.links.forEach(function(n){var i=null;(i=!(e.config.enableLinkSelection===s.LINK_SELECTION_HANDLES&&e.dragDetLinkUtils.isLinkBeingDragged(n)||e.config.enableLinkSelection===s.LINK_SELECTION_DETACHABLE)||n.srcObj&&n.trgNode?e.getAttachedLinkObj(n):e.getDetachedLinkObj(n))?t.push(i):e.canvasLayout.displayLinkOnOverlap||e.getLinkGroupSelectionById(n.id).remove()}),this.canvasLayout.linkType===s.LINK_TYPE_ELBOW&&(t=this.addMinInitialLineForElbow(t)),t=this.linkUtils.addConnectionPaths(t),this.logger.logEndTimer("buildLinksArray"),t}},{key:"getAttachedLinkObj",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=s.CanvasUtils.getSourcePortId(e,t),o=s.CanvasUtils.getTargetPortId(e,n),a=e.type===s.ASSOCIATION_LINK&&this.config.enableAssocLinkType===s.ASSOC_RIGHT_SIDE_CURVE?this.getAssocLinkVariation(t,n):null,r=this.linkUtils.getLinkCoords(e,t,i,n,o,a);return e.coordsUpdated=e.x1!==r.x1||e.y1!==r.y1||e.x2!==r.x2||e.y2!==r.y2||e.centerDragPos,e.assocLinkVariation=a,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.srcDir=r.srcDir,e.trgDir=r.trgDir,e}return null}},{key:"getDetachedLinkObj",value:function(e){var t=e.srcObj,n=e.trgNode,i=e.x1,o=e.y1,a=e.x2,r=e.y2;if(t||n)if(n){var l=this.getTargetEndInfo(e,n);e.x1=e.srcPos.x_pos,e.y1=e.srcPos.y_pos,e.x2=l.x2,e.y2=l.y2,e.trgDir=l.trgDir,e.originX=0,e.originY=0,e.srcDir=this.getSrcDirForDetachedLink(e,e.x1,e.y1)}else{var c=this.getSourceEndInfo(e,t);e.x1=c.x1,e.y1=c.y1,e.x2=e.trgPos.x_pos,e.y2=e.trgPos.y_pos,e.srcDir=c.srcDir,e.originX=c.originX,e.originY=c.originY,e.trgDir=this.getTrgDirForDetachedLink(e,e.x2,e.y2)}else e.x1=e.srcPos.x_pos,e.y1=e.srcPos.y_pos,e.x2=e.trgPos.x_pos,e.y2=e.trgPos.y_pos,e.originX=0,e.originY=0,this.canvasLayout.linkMethod===s.LINK_METHOD_FREEFORM?(e.srcDir=s.CanvasUtils.getPortDir(e.x2-e.x1,e.y2-e.y1,{width:10,height:10}),e.trgDir=this.reverseDir(e.srcDir)):(e.srcDir=this.getDefaultSrcDirForPorts(),e.trgDir=this.reverseDir(e.srcDir));return e.coordsUpdated=e.x1!==i||e.y1!==o||e.x2!==a||e.y2!==r,e}},{key:"getSourceEndInfo",value:function(e,t){var n={};if(this.canvasLayout.linkMethod===s.LINK_METHOD_FREEFORM){var i={x:e.trgPos.x_pos,y:e.trgPos.y_pos},o=this.linkUtils.getNewFreeformNodeLinkStartPos(t,i,e.srcFreeformInfo);n.x1=o.x,n.y1=o.y,n.originX=o.originX,n.originY=o.originY,n.srcDir=o.dir}else{var a=s.CanvasUtils.getSourcePortId(e,t),r=s.CanvasUtils.getOutputPort(a,t);r||(r=s.CanvasUtils.getInputPort(a,t)),r&&(n.x1=t.x_pos+r.cx,n.y1=t.y_pos+r.cy,n.srcDir=r.dir)}return n}},{key:"getTargetEndInfo",value:function(e,t){var n={};if(this.canvasLayout.linkMethod===s.LINK_METHOD_FREEFORM){var i={x:e.srcPos.x_pos,y:e.srcPos.y_pos},o=this.linkUtils.getNewFreeformNodeLinkStartPos(t,i,e.trgFreeformInfo);n.x2=o.x,n.y2=o.y,n.trgDir=o.dir}else{var a=s.CanvasUtils.getTargetPortId(e,t),r=s.CanvasUtils.getInputPort(a,t);r&&(n.x2=t.x_pos+r.cx,n.y2=t.y_pos+r.cy,n.trgDir=r.dir)}return n}},{key:"getDefaultSrcDirForPorts",value:function(){return this.canvasLayout.linkDirection===s.LINK_DIR_LEFT_RIGHT?s.EAST:this.canvasLayout.linkDirection===s.LINK_DIR_RIGHT_LEFT?s.WEST:this.canvasLayout.linkDirection===s.LINK_DIR_BOTTOM_TOP?s.NORTH:this.canvasLayout.linkDirection===s.LINK_DIR_TOP_BOTTOM?s.SOUTH:s.EAST}},{key:"getSrcDirForDetachedLink",value:function(e,t,n){if(e.trgNode){if(this.canvasLayout.linkMethod===s.LINK_METHOD_PORTS){if(e.trgDir===s.WEST&&this.canvasLayout.linkDirection===s.LINK_DIR_LEFT_RIGHT)return s.EAST;if(e.trgDir===s.EAST&&this.canvasLayout.linkDirection===s.LINK_DIR_RIGHT_LEFT)return s.WEST;if(e.trgDir===s.SOUTH&&this.canvasLayout.linkDirection===s.LINK_DIR_BOTTOM_TOP)return s.NORTH;if(e.trgDir===s.NORTH&&this.canvasLayout.linkDirection===s.LINK_DIR_TOP_BOTTOM)return s.SOUTH}var i=s.CanvasUtils.getPortDir(t-e.trgNode.x_pos,n-e.trgNode.y_pos,e.trgNode);return this.reverseDir(i)}var o=s.CanvasUtils.getPortDir(t-e.trgPos.x_pos,n-e.trgPos.y_pos,{width:10,height:10});return this.reverseDir(o)}},{key:"getTrgDirForDetachedLink",value:function(e,t,n){if(e.srcObj){if(this.canvasLayout.linkMethod===s.LINK_METHOD_PORTS){if(e.srcDir===s.EAST&&this.canvasLayout.linkDirection===s.LINK_DIR_LEFT_RIGHT)return s.WEST;if(e.srcDir===s.WEST&&this.canvasLayout.linkDirection===s.LINK_DIR_RIGHT_LEFT)return s.EAST;if(e.srcDir===s.NORTH&&this.canvasLayout.linkDirection===s.LINK_DIR_BOTTOM_TOP)return s.SOUTH;if(e.srcDir===s.SOUTH&&this.canvasLayout.linkDirection===s.LINK_DIR_TOP_BOTTOM)return s.NORTH}var i=s.CanvasUtils.getPortDir(t-e.srcObj.x_pos,n-e.srcObj.y_pos,e.srcObj);return this.reverseDir(i)}var o=s.CanvasUtils.getPortDir(t-e.srcPos.x_pos,n-e.srcPos.y_pos,{width:10,height:10});return this.reverseDir(o)}},{key:"reverseDir",value:function(e){switch(e){case s.NORTH:return s.SOUTH;case s.SOUTH:return s.NORTH;case s.EAST:return s.WEST;case s.WEST:default:return s.EAST}}},{key:"shouldDisplayLink",value:function(e,t,n){return(n!==s.COMMENT_LINK||!this.canvasInfo.hideComments)&&(!1!==this.canvasLayout.displayLinkOnOverlap||!this.areLinkedObjectsOverlapping(e,t,n))}},{key:"areLinkedObjectsOverlapping",value:function(e,t,n){var i=n===s.COMMENT_LINK?this.canvasLayout.commentHighlightGap:e.layout.nodeHighlightGap,o=t.layout.nodeHighlightGap,a=e.x_pos-i,r=e.x_pos+e.width+i,l=t.x_pos-o,c=t.x_pos+t.width+o,u=e.y_pos-i,d=e.y_pos+e.height+i,h=t.y_pos-o,g=t.y_pos+t.height+o;return r>=l&&c>=a&&d>=h&&g>=u}},{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===s.LINK_DIR_LEFT_RIGHT?(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===s.LINK_DIR_LEFT_RIGHT?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:"updateFreeformLinksForNodes",value:function(){var e=this;this.activePipeline.nodes.forEach(function(t){return e.updateFreeformLinksForNode(t)})}},{key:"updateFreeformLinksForNode",value:function(e){var t=this,n={n:[],s:[],e:[],w:[]};this.activePipeline.links.forEach(function(i){var o,a,r;if(i.type===s.NODE_LINK)if(e.id===(null===(o=i.srcObj)||void 0===o?void 0:o.id)&&(null===(a=i.srcObj)||void 0===a?void 0:a.id)===(null===(r=i.trgNode)||void 0===r?void 0:r.id))n[s.NORTH].push({flow:s.FLOW_IN,startNode:i.srcObj,endNode:i.trgNode,link:i}),n[s.EAST].push({flow:s.FLOW_OUT,startNode:i.srcObj,endNode:i.trgNode,link:i});else if(i.trgNode&&i.trgNode.id===e.id){if(i.srcObj){var l=t.getDirToNode(i.trgNode,i.srcObj);n[l].push({flow:s.FLOW_IN,startNode:i.trgNode,endNode:i.srcObj,link:i})}else if(i.srcPos){var c=t.getDirToEndPos(i.trgNode,i.srcPos.x_pos,i.srcPos.y_pos);n[c].push({flow:s.FLOW_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 u=t.getDirToNode(i.srcObj,i.trgNode);n[u].push({flow:s.FLOW_OUT,startNode:i.srcObj,endNode:i.trgNode,link:i})}else if(i.trgPos){var d=t.getDirToEndPos(i.srcObj,i.trgPos.x_pos,i.trgPos.y_pos);n[d].push({flow:s.FLOW_OUT,x:i.trgPos.x_pos,y:i.trgPos.y_pos,link:i})}});var i={x:e.x_pos+e.width/2,y:e.y_pos+e.height/2};n.n=this.sortLinksInfo(n.n,s.NORTH,i),n.s=this.sortLinksInfo(n.s,s.SOUTH,i),n.e=this.sortLinksInfo(n.e,s.EAST,i),n.w=this.sortLinksInfo(n.w,s.WEST,i),this.updateLinksInfo(n.n,s.NORTH),this.updateLinksInfo(n.s,s.SOUTH),this.updateLinksInfo(n.e,s.EAST),this.updateLinksInfo(n.w,s.WEST)}},{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),a=e.x_pos,r=e.y_pos,l=e.width,c=e.height;return s.CanvasUtils.getDir(a,r,l,c,i,o,t,n)}},{key:"sortLinksInfo",value:function(e,t,n){var i=this,o=e;if(o.length>1){var a=this.getLinkInfoGroups(o);mn(a,function(e){e.forEach(function(n,o){var a=n.endNode,r=e.length+1;(t===s.NORTH||t===s.SOUTH?(n.x=a.x_pos+a.width/r*(o+1),n.y=i.nodeUtils.getNodeCenterPosY(a)):(n.x=i.nodeUtils.getNodeCenterPosX(a),n.y=a.y_pos+a.height/r*(o+1)),t===s.SOUTH)&&(i.getDirToNode(n.endNode,n.startNode)===s.WEST&&(n.x=a.x_pos+a.width/r*(e.length-o)));t===s.NORTH&&(i.getDirToNode(n.endNode,n.startNode)===s.EAST&&(n.x=a.x_pos+a.width/r*(e.length-o)))})}),o.forEach(function(e){e.angle=s.CanvasUtils.calculateAngle(n.x,n.y,e.x,e.y),t===s.EAST&&e.angle>=270&&(e.angle-=360),e.startNode&&e.endNode&&e.startNode===e.endNode&&(t===s.EAST?e.angle=-90:t===s.NORTH&&(e.angle=360))}),o=t===s.NORTH||t===s.EAST?o.sort(function(e,t){return e.angle>t.angle?1:-1}):o.sort(function(e,t){return e.angle<t.angle?1:-1})}return o}},{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){n.flow===s.FLOW_OUT?n.link.srcFreeformInfo={dir:t,idx:i,len:e.length}:n.link.trgFreeformInfo={dir:t,idx:i,len:e.length}})}},{key:"getNewLinkAssocVariation",value:function(e,t,n){return n===s.FLOW_IN&&e>t?s.ASSOC_VAR_CURVE_LEFT:n===s.FLOW_OUT&&e<t?s.ASSOC_VAR_CURVE_RIGHT:s.ASSOC_VAR_DOUBLE_BACK_RIGHT}},{key:"getAssocLinkVariation",value:function(e,t){var n=e.layout.minInitialLine;return t.x_pos>=e.x_pos+e.width+n?s.ASSOC_VAR_CURVE_RIGHT:e.x_pos>=t.x_pos+t.width+n?s.ASSOC_VAR_CURVE_LEFT:s.ASSOC_VAR_DOUBLE_BACK_RIGHT}},{key:"getPortArrowPath",value:function(){return"M -2 3 L 2 0 -2 -3"}},{key:"getInputPortArrowPathTransform",value:function(e){var t=s.CanvasUtils.getAngleForInputPorts(e.dir);return"translate(".concat(e.cx,", ").concat(e.cy,") rotate(").concat(t,")")}},{key:"getOutputPortArrowPathTransform",value:function(e){var t=s.CanvasUtils.getAngleForOutputPorts(e.dir);return"translate(".concat(e.cx,", ").concat(e.cy,") rotate(").concat(t,")")}},{key:"getConnectFromArrowInfo",value:function(e,t){var n=t.layout.portRadius+5,i=e.dir||"e",o={e:0,s:90,w:180,n:270}[i]||0,a=0,r=0;switch(i){case"n":r=-n;break;case"s":r=n;break;case"e":a=n;break;default:a=-n}return{path:"M 0 0 L 12 0 L 9 -3 M 12 0 L 9 3",transform:"translate(".concat(e.cx+a,", ").concat(e.cy+r,") rotate(").concat(o,")")}}},{key:"getArrowHead",value:function(e){return e.type===s.COMMENT_LINK?"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=s.CanvasUtils.getLinkEndAngle(e,s.FLOW_IN,this.canvasLayout);return"translate(".concat(e.x2,", ").concat(e.y2,") rotate(").concat(t,")")}},{key:"getPortImageTransform",value:function(e,t){var n=t===s.FLOW_OUT?s.CanvasUtils.getAngleForOutputPorts(e.dir):s.CanvasUtils.getAngleForInputPorts(e.dir);return"rotate(".concat(n,",").concat(e.cx,",").concat(e.cy,")")}},{key:"getLinkImageTransform",value:function(e){var t=0;return t=this.canvasLayout.linkMethod!==s.LINK_METHOD_FREEFORM||this.canvasLayout.linkType!==s.LINK_TYPE_STRAIGHT&&this.canvasLayout.linkType!==s.LINK_TYPE_CURVE?s.CanvasUtils.getAngleForInputPorts(e.trgDir):s.CanvasUtils.calculateAngle(e.originX||e.x1,e.originY||e.y1,e.x2,e.y2),"rotate(".concat(t,",").concat(e.x2,",").concat(e.y2,")")}},{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===s.SNAP_TO_GRID_DURING||this.config.enableSnapToGridType===s.SNAP_TO_GRID_AFTER?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}},{key:"focusNextTabGroup",value:function(e){var t=this.canvasController.getFocusObject(),n=this.activePipeline.getNextTabGroupStartObject(t);return!!n&&(this.setFocusObject(n,e,!1,!0),!0)}},{key:"focusPreviousTabGroup",value:function(e){var t=this.canvasController.getFocusObject(),n=this.activePipeline.getPreviousTabGroupStartObject(t);return!!n&&(this.setFocusObject(n,e),!0)}},{key:"getActiveCanvasObject",value:function(){var e=this.getActiveCanvasElement();return e?zr.select(e).datum():null}},{key:"getActiveCanvasElement",value:function(){var e=null;return document.activeElement&&((e=document.activeElement.closest(".d3-node-group"))||(e=document.activeElement.closest(".d3-comment-group")),e||(e=document.activeElement.closest(".d3-link-group"))),e}},{key:"setFocusObject",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];this.config.enableKeyboardNavigation&&(n?t.stopPropagation():s.CanvasUtils.stopPropagationAndPreventDefault(t),this.canvasController.setFocusObject(e,t,i))}},{key:"clearSubObject",value:function(){this.subObject=null,this.subObjectParentObj=null}},{key:"restoreFocus",value:function(){this.canvasController.isContextMenuDisplayed()||(this.subObject?this.restoreFocusToSubObject():this.canvasController.getFocusObject()&&this.canvasController.restoreFocus())}},{key:"focusOnTextEntryElement",value:function(e){this.svgCanvasTextArea.focusOnTextEntryElement(e)}},{key:"getNodeFocusIncrements",value:function(e,t){var n=0,i=0,o=0,a=0,r=t.select(".d3-node-label").node(),s=t.select(".d3-node-label").select("span").node();if(r&&s){var l=this.zoomUtils.getTransformedElementRect(r),c=this.zoomUtils.getTransformedElementRect(s),u=Math.min(c.right,l.right),d=Math.min(c.bottom,l.bottom);n=e.x_pos-c.x,i=u-(e.x_pos+e.width),o=e.y_pos-c.y,a=d-(e.y_pos+e.height)}return{leftGap:n=Math.max(e.layout.nodeSizingArea,n+4),rightGap:i=Math.max(e.layout.nodeSizingArea,i+4),topGap:o=Math.max(e.layout.nodeSizingArea,o+4),bottomGap:a=Math.max(e.layout.nodeSizingArea,a+4)}}},{key:"moveFocusTo",value:function(e,t){var n=this;if(this.logger.log("moveFocusTo - "+s.CanvasUtils.getFocusName(e)),e&&e!==s.CANVAS_FOCUS){if(!this.config.enableLinksOverNodes&&(this.config.enableLinkSelection===s.LINK_SELECTION_HANDLES||this.config.enableLinkSelection===s.LINK_SELECTION_DETACHABLE)){var i,o,a=zr.selectAll(".d3-link-group:focus-within").node(),r=null==a||null===(i=a.parentElement)||void 0===i?void 0:i.lastChild;null!=r&&null!==(o=r.classList)&&void 0!==o&&o.contains("d3-link-group")&&zr.select(r).lower()}this.subObject=null,this.subObjectParentObj=null;var l=s.CanvasUtils.getObjectTypeName(e);this.canvasGrp.selectAll(".d3-focus-path").remove();var c=null;if("node"===l){if(!this.activePipeline.getNode(e.id))return void this.logger.log("Node with ID "+e.id+" not found in activePipeline");(c=this.getNodeGroupSelectionById(e.id)).insert("path",":first-child").attr("class","d3-focus-path").attr("d",function(e){return n.getRectangleNodeShapePath(e,n.getNodeFocusIncrements(e,c))})}else if("comment"===l){if(!this.activePipeline.getComment(e.id))return void this.logger.log("Comment with ID "+e.id+" not found in activePipeline");(c=this.getCommentGroupSelectionById(e.id)).insert("rect",":first-child").attr("class","d3-focus-path").attr("x",-this.canvasLayout.commentSizingArea).attr("y",-this.canvasLayout.commentSizingArea).attr("height",function(e){return e.height+2*n.canvasLayout.commentSizingArea}).attr("width",function(e){return e.width+2*n.canvasLayout.commentSizingArea})}else if("link"===l){if(!this.activePipeline.getLink(e.id))return void this.logger.log("Link with ID "+e.id+" not found in activePipeline");c=this.getLinkGroupSelectionById(e.id),e.type!==s.NODE_LINK||this.config.enableLinkSelection!==s.LINK_SELECTION_HANDLES&&this.config.enableLinkSelection!==s.LINK_SELECTION_DETACHABLE||c.raise()}if(c&&!c.empty()){if(s.CanvasUtils.isKeyboardEvent(t)){var u=this.canvasController.getZoomToReveal([e.id]);u&&this.zoomTo(u)}var d=c.node();d&&(this.logger.log("moveFocusTo - set focus on element"),d.focus())}else{var h=e?e.id:"Unknown";this.logger.error("Error applying focus to ".concat(l," object with ID: ").concat(h))}}}},{key:"setFocusNextSubObject",value:function(e,t){s.CanvasUtils.stopPropagationAndPreventDefault(t);var n=this.activePipeline.getNextSubObject(e,this.subObject);this.moveFocusToSubObject(n,e,t)}},{key:"setFocusPreviousSubObject",value:function(e,t){s.CanvasUtils.stopPropagationAndPreventDefault(t);var n=this.activePipeline.getPreviousSubObject(e,this.subObject);this.moveFocusToSubObject(n,e,t)}},{key:"restoreFocusToSubObject",value:function(){this.moveFocusToSubObject(this.subObject,this.subObjectParentObj,null)}},{key:"moveFocusToSubObject",value:function(e,t,n){if(e){this.subObject=e,this.subObjectParentObj=t,this.canvasGrp.selectAll(".d3-focus-path").remove();var i=null;if("reactObject"!==e.type){if("inputPort"===e.type?i=this.getNodeInputPortSelectionById(e.obj.id,t.id):"outputPort"===e.type?i=this.getNodeOutputPortSelectionById(e.obj.id,t.id):"linkStart"===e.type?i=this.getLinkStartHandleGrpSelectionById(e.obj.id):"linkEnd"===e.type?i=this.getLinkEndHandleGrpSelectionById(e.obj.id):"decoration"===e.type&&(i="node"===s.CanvasUtils.getObjectTypeName(t)?this.getNodeDecSelectionById(e.obj.id,t.id):this.getLinkDecSelectionById(e.obj.id,t.id)),i){"link"===s.CanvasUtils.getObjectTypeName(t)&&this.getLinkGroupSelectionById(t.id).raise();var o=i.node();o&&(this.logger.log("moveFocusTo - set focus on element"),this.drawFocusBox(i,o),n&&s.CanvasUtils.stopPropagationAndPreventDefault(n),o.focus())}}else t.focusFunction&&n&&t.focusFunction(n)}}},{key:"drawFocusBox",value:function(e,t){var n=t.getBBox();e.append("rect").attr("class","d3-focus-path").attr("x",n.x-2).attr("y",n.y-2).attr("height",n.height+4).attr("width",n.width+4)}}])}(),Hr=function(){return e._createClass(function t(n,i,o){e._classCallCheck(this,t),this.logger=new h.Logger(["SVGCanvasD3","FlowId",n]),this.logger.logStartTimer("constructor"),this.canvasController=o,this.canvasDiv=cn(i),this.logger.logEndTimer("constructor",!0)},[{key:"setCanvasInfo",value:function(e,t,n,i,o,a){if(this.logger=new h.Logger(["SVGCanvasD3","FlowId",e.id]),this.config&&this.renderer&&this.canvasInfo&&e.id===this.canvasInfo.id&&(!this.renderer||this.renderer.pipelineId===this.canvasController.getCurrentBreadcrumb().pipelineId)&&v.ConfigUtils.compareCanvasConfigsOmitFields(this.config,a))this.logger.logStartTimer("set canvas info"),this.canvasInfo=this.cloneCanvasInfo(e),this.config=this.cloneConfig(a),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(a),this.renderer&&(this.renderer.clearCanvas(),this.renderer=null);var r=this.canvasController.getCurrentBreadcrumb();this.renderer=new Fr(r.pipelineId,this.canvasDiv,this.canvasController,this.canvasInfo,t,n,i,o,a,{id:r.supernodeId,pipelineId:r.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 b.cloneDeep_1(e)}},{key:"isEditingText",value:function(){return!!this.renderer&&this.renderer.isEditingText()}},{key:"isDragging",value:function(){return!!this.renderer&&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,t){this.renderer.zoomTo(e,t)}},{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(e){this.renderer.zoomToFit(e)}},{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:"getCanvasDimensionsWithPadding",value:function(){return this.renderer.getCanvasDimensionsWithPadding()}},{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()}},{key:"focusNextTabGroup",value:function(e){return this.renderer.focusNextTabGroup(e)}},{key:"focusPreviousTabGroup",value:function(e){return this.renderer.focusPreviousTabGroup(e)}},{key:"getActiveCanvasObject",value:function(){return this.renderer.getActiveCanvasObject()}},{key:"moveFocusTo",value:function(e,t){this.renderer&&this.renderer.moveFocusTo(e,t)}},{key:"focusOnTextEntryElement",value:function(e){this.renderer.focusOnTextEntryElement(e)}},{key:"clearSubObject",value:function(){var e;null===(e=this.renderer)||void 0===e||e.clearSubObject()}},{key:"setFocusNextSubObject",value:function(e,t){this.renderer.setFocusNextSubObject(e,t)}},{key:"setFocusPreviousSubObject",value:function(e,t){this.renderer.setFocusPreviousSubObject(e,t)}},{key:"openCanvasContextOptions",value:function(e){this.renderer.openCanvasContextOptions(e)}}])}();function Gr(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Br(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Br(e,t):void 0}}(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 a,r=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return r=e.done,e},e:function(e){s=!0,a=e},f:function(){try{r||null==n.return||n.return()}finally{if(s)throw a}}}}function Br(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function Kr(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Kr=function(){return!!e})()}var Wr=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,Kr()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).state={isDropZoneDisplayed:!1},o.logger=new h.Logger("CC-Contents"),o.mainCanvasDivId="canvas-div-"+o.props.canvasController.getInstanceId(),o.svgCanvasDivId="d3-svg-canvas-div-"+o.props.canvasController.getInstanceId(),o.svgCanvasDivSelector="#"+o.svgCanvasDivId,o.dragX=null,o.dragY=null,o.contentsRef=T.default.createRef(),o.eventListenersAdded=!1,o.mousePos=null,o.tabbingOut=!1,o.drop=o.drop.bind(o),o.focusOnCanvas=o.focusOnCanvas.bind(o),o.setIsDropZoneDisplayed=o.setIsDropZoneDisplayed.bind(o),o.dragOver=o.dragOver.bind(o),o.dragEnter=o.dragEnter.bind(o),o.dragLeave=o.dragLeave.bind(o),o.refreshOnSizeChange=o.refreshOnSizeChange.bind(o),o.getLabel=o.getLabel.bind(o),o.onCut=o.onCut.bind(o),o.onCopy=o.onCopy.bind(o),o.onPaste=o.onPaste.bind(o),o.onKeyDown=o.onKeyDown.bind(o),o.onKeyUp=o.onKeyUp.bind(o),o.onMouseMove=o.onMouseMove.bind(o),o.onClickReturnToPrevious=o.onClickReturnToPrevious.bind(o),o.onMouseLeave=o.onMouseLeave.bind(o),o.onMouseDown=o.onMouseDown.bind(o),o.onFocus=o.onFocus.bind(o),o.first=!1,o.second=!1,o.afterUpdateCallbacks=[],n.canvasController.setCanvasContents(o),o}return t._inherits(i,n),e._createClass(i,[{key:"componentDidMount",value:function(){var e=this;this.logger.log("componentDidMount"),this.svgCanvasD3||(this.svgCanvasD3=new Hr(this.props.canvasInfo.id,this.svgCanvasDivSelector,this.props.canvasController)),this.setCanvasInfo(),this.props.canvasConfig.enableBrowserEditMenu&&this.addEventListeners(),this.props.canvasConfig.enableFocusOnMount&&this.props.canvasController.setFocusOnCanvas(),this.resizeObserver=new ResizeObserver(function(t){var n,i=Gr(t);try{for(i.s();!(n=i.n()).done;){var o=n.value;e.refreshOnSizeChange(o.contentRect)}}catch(e){i.e(e)}finally{i.f()}}),this.contentsRef.current&&this.resizeObserver.observe(this.contentsRef.current)}},{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.afterUpdate())),this.props.canvasConfig.enableBrowserEditMenu?this.addEventListeners():this.removeEventListeners()}},{key:"componentWillUnmount",value:function(){var e;this.removeEventListeners(),null===(e=this.resizeObserver)||void 0===e||e.disconnect()}},{key:"onCut",value:function(e){this.isFocusOnCanvasOrContents(e)&&this.props.canvasConfig.enableEditingActions&&!this.svgCanvasD3.isEditingText()&&(e.preventDefault(),this.props.canvasController.cutToClipboard())}},{key:"onCopy",value:function(e){this.isFocusOnCanvasOrContents(e)&&this.props.canvasConfig.enableEditingActions&&!this.svgCanvasD3.isEditingText()&&(e.preventDefault(),this.props.canvasController.copyToClipboard())}},{key:"onPaste",value:function(e){this.isFocusOnCanvasOrContents(e)&&this.props.canvasConfig.enableEditingActions&&!this.svgCanvasD3.isEditingText()&&(e.preventDefault(),this.props.canvasController.pasteFromClipboard())}},{key:"onKeyDown",value:function(e){var t=this;this.props.canvasController.closeTip();var n=this.props.canvasController.getKeyboardConfig().actions;if(!this.svgCanvasD3.isEditingText()&&!this.svgCanvasD3.isDragging()){if(this.props.canvasConfig.enableEditingActions)if(u.KeyboardUtils.delete(e)&&n.delete)s.CanvasUtils.stopPropagationAndPreventDefault(e),this.props.canvasController.autoSelectFocusObj(function(){return t.props.canvasController.keyboardActionHandler("deleteSelectedObjects")});else if(u.KeyboardUtils.undo(e)&&n.undo)s.CanvasUtils.stopPropagationAndPreventDefault(e),this.props.canvasController.canUndo()&&this.props.canvasController.keyboardActionHandler("undo");else if(u.KeyboardUtils.redo(e)&&n.redo)s.CanvasUtils.stopPropagationAndPreventDefault(e),this.props.canvasController.canRedo()&&this.props.canvasController.keyboardActionHandler("redo");else if(u.KeyboardUtils.copyToClipboard(e)&&n.copyToClipboard)s.CanvasUtils.stopPropagationAndPreventDefault(e),this.props.canvasController.autoSelectFocusObj(function(){return t.props.canvasController.keyboardActionHandler("copy")});else if(u.KeyboardUtils.cutToClipboard(e)&&n.cutToClipboard)s.CanvasUtils.stopPropagationAndPreventDefault(e),this.props.canvasController.autoSelectFocusObj(function(){return t.props.canvasController.keyboardActionHandler("cut")});else if(u.KeyboardUtils.pasteFromClipboard(e)&&n.pasteFromClipboard)if(s.CanvasUtils.stopPropagationAndPreventDefault(e),this.mousePos){var i=this.svgCanvasD3.convertPageCoordsToSnappedCanvasCoords(this.mousePos);this.props.canvasController.keyboardActionHandler("paste",i)}else this.props.canvasController.keyboardActionHandler("paste");u.KeyboardUtils.selectAll(e)&&n.selectAll?(s.CanvasUtils.stopPropagationAndPreventDefault(e),this.props.canvasController.keyboardActionHandler("selectAll")):u.KeyboardUtils.deselectAll(e)&&n.deselectAll?(s.CanvasUtils.stopPropagationAndPreventDefault(e),this.props.canvasController.keyboardActionHandler("deselectAll")):u.KeyboardUtils.spaceKey(e)?this.svgCanvasD3.isSpaceKeyPressed()||(s.CanvasUtils.stopPropagationAndPreventDefault(e),this.svgCanvasD3.setSpaceKeyPressed(!0)):u.KeyboardUtils.toggleLogging(e)?(s.CanvasUtils.stopPropagationAndPreventDefault(e),h.Logger.switchLoggingState()):u.KeyboardUtils.zoomToFit(e)&&this.props.canvasConfig.enableKeyboardNavigation?(s.CanvasUtils.stopPropagationAndPreventDefault(e),this.svgCanvasD3.zoomToFit()):u.KeyboardUtils.zoomIn(e)&&this.props.canvasConfig.enableKeyboardNavigation?(s.CanvasUtils.stopPropagationAndPreventDefault(e),this.svgCanvasD3.zoomIn()):u.KeyboardUtils.zoomOut(e)&&this.props.canvasConfig.enableKeyboardNavigation?(s.CanvasUtils.stopPropagationAndPreventDefault(e),this.svgCanvasD3.zoomOut()):u.KeyboardUtils.panLeft(e)&&this.props.canvasConfig.enableKeyboardNavigation?(s.CanvasUtils.stopPropagationAndPreventDefault(e),this.svgCanvasD3.translateBy(-10,0)):u.KeyboardUtils.panRight(e)&&this.props.canvasConfig.enableKeyboardNavigation?(s.CanvasUtils.stopPropagationAndPreventDefault(e),this.svgCanvasD3.translateBy(10,0)):u.KeyboardUtils.panUp(e)&&this.props.canvasConfig.enableKeyboardNavigation?(s.CanvasUtils.stopPropagationAndPreventDefault(e),this.svgCanvasD3.translateBy(0,-10)):u.KeyboardUtils.panDown(e)&&this.props.canvasConfig.enableKeyboardNavigation?(s.CanvasUtils.stopPropagationAndPreventDefault(e),this.svgCanvasD3.translateBy(0,10)):u.KeyboardUtils.nextGroup(e)&&this.props.canvasConfig.enableKeyboardNavigation?this.moveFocusToNextGroup(e):u.KeyboardUtils.previousGroup(e)&&this.props.canvasConfig.enableKeyboardNavigation?this.moveFocusToPreviousGroup(e):u.KeyboardUtils.displayContextOptions(e)&&this.props.canvasConfig.enableKeyboardNavigation&&this.svgCanvasD3.openCanvasContextOptions(e),e.stopPropagation()}}},{key:"onKeyUp",value:function(){this.svgCanvasD3.setSpaceKeyPressed(!1)}},{key:"onFocus",value:function(e){if(e.target.classList.contains("d3-svg-canvas-div")&&this.props.canvasController.getFocusObject()!==s.CANVAS_FOCUS)this.props.canvasController.setFocusObject(s.CANVAS_FOCUS);else if(!this.props.canvasController.getFocusObject()){var t=this.svgCanvasD3.getActiveCanvasObject();t&&this.props.canvasController.setFocusObject(t)}}},{key:"onMouseMove",value:function(e){var t;null!=e&&null!==(t=e.target)&&void 0!==t&&t.closest(".svg-area")?this.mousePos={x:e.clientX,y:e.clientY}:this.mousePos=null}},{key:"onMouseLeave",value:function(e){this.mousePos=null}},{key:"onMouseDown",value:function(e){this.props.canvasController.setFocusOnCanvas()}},{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:v.defaultMessages1[e]})}},{key:"getDNDJson",value:function(e){try{return JSON.parse(e.dataTransfer.getData(s.DND_DATA_TEXT))}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!==s.STATE_TAG_READ_ONLY&&this.props.canvasConfig.enableStateTag!==s.STATE_TAG_LOCKED||(e=T.default.createElement(Ze,{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?T.default.createElement("div",{className:"empty-canvas"},this.props.canvasConfig.emptyCanvasContent):T.default.createElement("div",{className:"empty-canvas"},T.default.createElement("div",{className:"empty-canvas-image"},T.default.createElement(d.FlowData,null)),T.default.createElement("span",{className:"empty-canvas-text1"},this.getLabel("canvas.flowIsEmpty")),T.default.createElement("span",{className:"empty-canvas-text2"},this.getLabel("canvas.addNodeToStart")))),e}},{key:"getReturnToPreviousBtn",value:function(){var e,t=null;if(!this.props.canvasController.isPrimaryPipelineEmpty()&&(this.props.canvasController.isDisplayingFullPageSubFlow()||null!==(e=this.props.canvasConfig)&&void 0!==e&&null!==(e=e.enableCanvasLayout)&&void 0!==e&&e.alwaysDisplayBackToParentFlow)){var n=this.getLabel("canvas.returnToPrevious");t=T.default.createElement("div",{className:"return-to-previous"},T.default.createElement(l.Button,{kind:"tertiary",onClick:this.onClickReturnToPrevious,"aria-label":n,size:"md"},T.default.createElement("div",{className:"return-to-previous-content"},T.default.createElement(m.ArrowLeft,null),T.default.createElement("span",null,n))))}return t}},{key:"getContextMenu",value:function(){return this.props.canvasConfig.enableContextToolbar?T.default.createElement(Ge,{canvasController:this.props.canvasController,containingDivId:this.mainCanvasDivId}):T.default.createElement(Ae,{canvasController:this.props.canvasController,containingDivId:this.mainCanvasDivId})}},{key:"getTextToolbar",value:function(){return T.default.createElement(Ye,{canvasController:this.props.canvasController,containingDivId:this.mainCanvasDivId})}},{key:"getDropZone",value:function(){var e=null;return this.isDropZoneDisplayed()&&(e=this.props.canvasConfig.dropZoneCanvasContent?this.props.canvasConfig.dropZoneCanvasContent:T.default.createElement("div",null,T.default.createElement("div",{className:"dropzone-canvas"}),T.default.createElement("div",{className:"dropzone-canvas-rect"}))),e}},{key:"getSvgCanvasDivId",value:function(){return this.svgCanvasDivId}},{key:"getSVGCanvasDiv",value:function(){return this.props.canvasConfig.enableKeyboardNavigation?T.default.createElement("div",{role:"application",id:this.svgCanvasDivId,tabIndex:"0",className:"d3-svg-canvas-div keyboard-navigation",onMouseDown:this.onMouseDown,onMouseLeave:this.onMouseLeave,onFocus:this.onFocus,onKeyDown:this.onKeyDown,onKeyUp:this.onKeyUp,"aria-label":this.getLabel("canvas.label")}):T.default.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:"isTargetInsideCanvas",value:function(e){return e&&e.closest(".common-canvas-drop-div")}},{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:"isFocusOnCanvasOrContents",value:function(e){var t;return!(null===(t=e.currentTarget)||void 0===t||!t.activeElement)&&(e.currentTarget.activeElement.closest(this.svgCanvasDivSelector)||e.currentTarget.activeElement.id===this.svgCanvasDivId)}},{key:"isFocusOnCanvas",value:function(){var e;return(null===(e=document.activeElement)||void 0===e?void 0:e.id)===this.getSvgCanvasDivId()}},{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:"moveFocusToNextGroup",value:function(e){this.svgCanvasD3.focusNextTabGroup(e)?s.CanvasUtils.stopPropagationAndPreventDefault(e):(this.tabbingOut=!0,this.props.canvasController.setFocusOnCanvas())}},{key:"moveFocusToPreviousGroup",value:function(e){this.svgCanvasD3.focusPreviousTabGroup(e)?s.CanvasUtils.stopPropagationAndPreventDefault(e):(this.tabbingOut=!0,this.props.canvasController.setFocusOnCanvas())}},{key:"focusOnCanvas",value:function(){document.getElementById(this.svgCanvasDivId)&&(document.getElementById(this.svgCanvasDivId).focus(),this.svgCanvasD3.clearSubObject())}},{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(),a=this.getDropZone(),r=this.getSVGCanvasDiv();return T.default.createElement("div",{id:this.mainCanvasDivId,ref:this.contentsRef,className:"common-canvas-drop-div",onDrop:this.drop,onDragOver:this.dragOver,onDragEnter:this.dragEnter,onDragLeave:this.dragLeave},r,t,n,e,i,o,a)}}])}(T.default.Component),Yr=i.connect(function(e,t){return{canvasInfo:e.canvasinfo,canvasConfig:e.canvasconfig,selectionInfo:e.selectioninfo,breadcrumbs:e.breadcrumbs}})(o.injectIntl(Wr)),Xr="Close";function Vr(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Vr=function(){return!!e})()}var Zr=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,Vr()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).state={},o.logger=new h.Logger("NotificationPanel"),o.keyDownOnPanel=o.keyDownOnPanel.bind(o),o}return t._inherits(i,n),e._createClass(i,[{key:"componentDidMount",value:function(){this.setFocusOnFirstItem()}},{key:"setFocusOnFirstItem",value:function(){this.allRefs.length>0&&this.allRefs[0].focus()}},{key:"getNotifications",value:function(){var e=this,t=[];if(!this.props.messages)return t;for(var n=0;n<this.props.messages.length;n++){var i=this.props.messages[n],o=i.callback?" clickable ":"",a=i.type,r=T.default.createElement("div",{className:"notification-message-type"},T.default.createElement(d.Icon,{type:a,className:"notification-message-icon-".concat(a)})),s=i.title?T.default.createElement("div",{className:"notification-message-title"},i.title):null,l=i.subtitle?T.default.createElement("div",{className:"notification-message-subtitle"},i.subtitle):null,c=i.closeMessage?T.default.createElement("div",{ref:function(t){return!t||e.allRefs.push(t)},className:"notification-message-close",onClick:this.clickOnCloseButton.bind(this,i),onKeyDown:this.keyDownOnCloseButton.bind(this,i),role:"button",tabIndex:0},i.closeMessage):null,u=i.timestamp?T.default.createElement("div",{className:"notification-message-timestamp"},T.default.createElement("div",{className:"notification-message-timestamp-icon"},T.default.createElement(d.Icon,{type:"time"})),T.default.createElement("div",{className:"notification-message-string"},i.timestamp)):null,h=T.default.createElement(T.default.Fragment,null,r,T.default.createElement("div",{className:"notification-message-details"},s,l,T.default.createElement("div",{className:"notification-message-content"},i.content),u,c)),g=i.callback?T.default.createElement("button",{className:"notifications notifications-button "+o+i.type,onClick:this.notificationCallback.bind(this,i.id,i.callback),ref:function(t){return!t||e.allRefs.push(t)},type:"button"},h):T.default.createElement("div",{className:"notifications "+o+i.type,ref:function(t){return!t||e.allRefs.push(t)}},h);t.push(T.default.createElement("div",{className:"notifications-button-container",role:"listitem",key:n+"-"+i.id},g))}return t}},{key:"getAriaHeaderLabel",value:function(e,t,n,i){var o="";return"string"==typeof e&&(o=e,"string"==typeof t&&t&&(o+=" "+t),!i&&"string"==typeof n&&n&&(o+=" "+n)),o}},{key:"notificationCallback",value:function(e,t,n){t&&t(e)}},{key:"clickOnCloseButton",value:function(e){this.deleteNotification(e.id)}},{key:"keyDownOnCloseButton",value:function(e,t){u.KeyboardUtils.activateButton(t)&&this.deleteNotification(e.id)}},{key:"deleteNotification",value:function(e){this.props.subPanelData.canvasController.deleteNotificationMessages(e)}},{key:"clearNotificationMessages",value:function(){this.props.subPanelData.canvasController.clearNotificationMessages(),this.setFocusOnFirstItem(),"function"==typeof this.props.notificationConfig.clearAllCallback&&this.props.notificationConfig.clearAllCallback()}},{key:"keyDownOnPanel",value:function(e){if(u.KeyboardUtils.nextSection(e)){var t=this.allRefs[this.allRefs.length-1];e.target===t&&(e.stopPropagation(),e.preventDefault(),this.allRefs[0].focus())}else if(u.KeyboardUtils.previousSection(e)){var n=this.allRefs[this.allRefs.length-1];e.target===this.allRefs[0]&&(e.stopPropagation(),e.preventDefault(),n.focus())}}},{key:"render",value:function(){var e,t,n,i,o,a,r=this;if(this.logger.log("render"),this.allRefs=[],!this.props.notificationConfig)return null;var c=(null===(e=this.props.notificationConfig)||void 0===e?void 0:e.notificationHeader)||s.DEFAULT_NOTIFICATION_HEADER,u=null!==(t=null===(n=this.props.notificationConfig)||void 0===n?void 0:n.notificationSubtitle)&&void 0!==t?t:"",d=null!==(i=null===(o=this.props.notificationConfig)||void 0===o?void 0:o.emptyMessage)&&void 0!==i?i:"",h=this.getAriaHeaderLabel(c,u,d,this.props.messages.length>0),p=T.default.createElement("div",{className:"notification-panel-header"},c),f=null!==(a=this.props.notificationConfig)&&void 0!==a&&a.notificationSubtitle?T.default.createElement("div",{className:"notification-panel-subtitle"},u):null,v=T.default.createElement("div",{className:"notification-panel-close-button"},T.default.createElement(l.Button,{ref:function(e){return!e||r.allRefs.push(e)},size:"sm",kind:"ghost",renderIcon:g.Close,hasIconOnly:!0,iconDescription:this.props.intl.formatMessage({id:"notification.panel.close.button.description",defaultMessage:Xr}),onClick:this.props.closeSubPanel,tooltipAlignment:"end",tooltipPosition:"bottom"})),y=this.props.messages.length>0?this.getNotifications():T.default.createElement("div",{className:"notification-panel-empty-message-container"},T.default.createElement("div",{className:"notification-panel-empty-message"},d||null)),m=this.props.notificationConfig&&this.props.notificationConfig.clearAllMessage?T.default.createElement("div",{className:"notification-panel-clear-all-container"},T.default.createElement(l.Button,{ref:function(e){return!e||0===r.props.messages.length||r.allRefs.push(e)},className:"notification-panel-clear-all",onClick:this.clearNotificationMessages.bind(this),kind:"ghost",size:"sm",disabled:0===this.props.messages.length},this.props.notificationConfig.clearAllMessage)):null,b=this.props.notificationConfig&&this.props.notificationConfig.secondaryButtonLabel&&this.props.notificationConfig.secondaryButtonCallback?T.default.createElement("div",{className:"notification-panel-secondary-button-container"},T.default.createElement(l.Button,{ref:function(e){return!e||r.props.secondaryButtonDisabled||r.allRefs.push(e)},className:"notification-panel-secondary-button",onClick:this.props.notificationConfig.secondaryButtonCallback.bind(this),kind:"ghost",size:"sm",disabled:this.props.secondaryButtonDisabled},this.props.notificationConfig.secondaryButtonLabel)):null;return T.default.createElement("div",{className:"notification-panel",role:"region","aria-label":h,onKeyDown:this.keyDownOnPanel},T.default.createElement("div",{className:"notification-panel-header-container"},p,f),v,T.default.createElement("div",{className:"notification-panel-messages",role:"list"},y),T.default.createElement("div",{className:"notification-panel-button-container"},m,b))}}],[{key:"getDerivedStateFromProps",value:function(e,t){return e.messages!==t.messages?{messages:e.messages}:{}}}])}(T.default.Component),qr=i.connect(function(e,t){return{notificationConfig:e.notificationpanel.config,secondaryButtonDisabled:!!e.notificationpanel.config&&e.notificationpanel.config.secondaryButtonDisabled,messages:e.notifications}})(o.injectIntl(Zr));function $r(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 Jr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?$r(Object(n),!0).forEach(function(t){C._defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):$r(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Qr(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Qr=function(){return!!e})()}var es=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,Qr()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).logger=new h.Logger("CC-Toolbar"),o.getLabel=o.getLabel.bind(o),o.toolbarActionHandler=o.toolbarActionHandler.bind(o),o}return t._inherits(i,n),e._createClass(i,[{key:"getLabel",value:function(e,t){var n=v.defaultMessages1[e]?v.defaultMessages1[e]:Be[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=s.NOTIFICATION_ICON_CLASS;return e===s.ERROR?t+=" error":e===s.WARNING?t+=" warning":e===s.SUCCESS?t+=" success":e===s.INFO&&(t+=" info"),t}},{key:"getToolIndexByAction",value:function(e,t){return null==t?void 0:t.findIndex(function(t){return t.action===e})}},{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()).size="md",e=this.optionallyAddPaletteTool(e),e=this.optionallyAddNotificationTool(e)}},{key:"copyConfig",value:function(){if(!this.props.config)return null;if(Array.isArray(this.props.config))return r._toConsumableArray(this.props.config);var e={};return this.props.config.overrideAutoEnableDisable&&(e.overrideAutoEnableDisable=!0),this.props.config&&this.props.config.leftBar&&(e.leftBar=r._toConsumableArray(this.props.config.leftBar)),this.props.config&&this.props.config.rightBar&&(e.rightBar=r._toConsumableArray(this.props.config.rightBar)),this.props.config.size&&(e.size=this.props.config.size),e}},{key:"toolbarActionHandler",value:function(e){this.props.canvasController.toolbarActionHandler(e)}},{key:"optionallyAddPaletteTool",value:function(e){var t=e.leftBar||[],n=e.rightBar||[],i=this.getLabel("toolbar.palette"),o=t;if(t&&t.length>0&&"palette"===t[0].action&&(i=t[0].label?t[0].label:i,o=t.slice(1),t.length>1&&t[1].divider&&(o=t.slice(2))),this.props.isPaletteEnabled){var a=this.props.isPaletteOpen?"closePalette-action paletteClose-action":"openPalette-action paletteOpen-action",r=this.props.isPaletteOpen?T.default.createElement(d.SidePanelCloseFilled,null):T.default.createElement(d.SidePanelOpenFilled,null),l={action:s.TOOLBAR_TOGGLE_PALETTE,label:i,enable:!0,iconEnabled:r,isSelected:this.props.isPaletteOpen,className:a},c=this.getToolIndexByAction(s.TOOLBAR_TOGGLE_PALETTE,t),u=this.getToolIndexByAction(s.TOOLBAR_TOGGLE_PALETTE,n);if(c>-1){var h=t[c];e.leftBar[c]=Jr(Jr({},l),{},{label:h.label?h.label:i,iconEnabled:h.iconEnabled?h.iconEnabled:null,incLabelWithIcon:h.incLabelWithIcon?h.incLabelWithIcon:null,tooltip:h.tooltip?h.tooltip:null})}else if(u>-1){var g=n[u];e.rightBar[u]=Jr(Jr({},l),{},{label:g.label?g.label:i,iconEnabled:g.iconEnabled?g.iconEnabled:null,incLabelWithIcon:g.incLabelWithIcon?g.incLabelWithIcon:null,tooltip:g.tooltip?g.tooltip:null})}else{var p=[l,{divider:!0}];e.leftBar=p.concat(o)}}return e}},{key:"optionallyAddNotificationTool",value:function(e){var t=e.leftBar||[],n=e.rightBar||[];if(this.props.notificationConfigExists){var i=this.props.notificationMessages.length,o={action:s.TOOLBAR_TOGGLE_NOTIFICATION_PANEL,label:this.props.notificationConfigLabel,enable:this.props.notificationConfigEnable,extIsSubAreaDisplayed:this.props.isNotificationOpen,setExtIsSubAreaDisplayed:this.callExtIsSubAreaDisplayed.bind(this),className:this.getNotificationClassName(),textContent:i>9?"9+":i.toString(),subPanel:qr,subPanelData:{canvasController:this.props.canvasController},leaveSubAreaOpenOnClickOutside:this.props.notificationConfigKeepOpen},a=this.getToolIndexByAction(s.TOOLBAR_TOGGLE_NOTIFICATION_PANEL,t),r=this.getToolIndexByAction(s.TOOLBAR_TOGGLE_NOTIFICATION_PANEL,n);if(a>-1){var l=t[a];e.leftBar[a]=Jr(Jr({},o),{},{iconEnabled:l.iconEnabled?l.iconEnabled:null,incLabelWithIcon:l.incLabelWithIcon?l.incLabelWithIcon:null,tooltip:l.tooltip?l.tooltip:null,textContent:null})}else if(r>-1){var c=n[r];e.rightBar[r]=Jr(Jr({},o),{},{iconEnabled:c.iconEnabled?c.iconEnabled:null,incLabelWithIcon:c.incLabelWithIcon?c.incLabelWithIcon:null,tooltip:c.tooltip?c.tooltip:null,textContent:null})}else{var u=[{divider:!0},o];e.rightBar=e.rightBar.concat(u)}}return e}},{key:"callExtIsSubAreaDisplayed",value:function(e){e?this.props.canvasController.openNotificationPanel():this.props.canvasController.closeNotificationPanel()}},{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;if(this.props.enableToolbarLayout===s.TOOLBAR_LAYOUT_TOP){var n=e.size||"md";t=T.default.createElement("div",{className:"common-canvas-toolbar"},T.default.createElement(a.Toolbar,{config:e,containingDivId:this.props.containingDivId,instanceId:this.props.canvasController.getInstanceId(),toolbarActionHandler:this.toolbarActionHandler,size:n,additionalText:{overflowMenuLabel:this.getLabel("toolbar.overflowMenu"),ariaLabel:this.getLabel("toolbar.flowEditorToolbarLabel")}}))}return t}}])}(T.default.Component),ts=i.connect(function(e,t){var n,i,o,a;return{enableToolbarLayout:e.canvasconfig.enableToolbarLayout,config:e.canvastoolbar.config,isPaletteEnabled:e.canvasconfig.enablePaletteLayout!==s.PALETTE_LAYOUT_NONE,isPaletteOpen:e.palette.isOpen,isNotificationOpen:e.notificationpanel.isOpen,notificationConfigExists:null===(n=e.notificationpanel)||void 0===n?void 0:n.config,notificationConfigEnable:null===(i=e.notificationpanel)||void 0===i||null===(i=i.config)||void 0===i?void 0:i.enable,notificationConfigLabel:null===(o=e.notificationpanel)||void 0===o||null===(o=o.config)||void 0===o?void 0:o.label,notificationConfigKeepOpen:null===(a=e.notificationpanel)||void 0===a||null===(a=a.config)||void 0===a?void 0:a.keepOpen,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()}})(o.injectIntl(es));function ns(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ns=function(){return!!e})()}var is=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,ns()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).logger=new h.Logger("CC-LeftFlyout"),o}return t._inherits(i,n),e._createClass(i,[{key:"render",value:function(){this.logger.log("render");var e=T.default.createElement("div",null);if(this.props.content&&this.props.isOpen){var t=this.props.enableLeftFlyoutUnderToolbar?"left-flyout-panel under-toolbar":"left-flyout-panel";e=T.default.createElement("div",{className:"left-flyout"},T.default.createElement("div",{className:t},this.props.content))}return e}}])}(T.default.Component),os=i.connect(function(e,t){return{isOpen:e.leftflyout.isOpen,content:e.leftflyout.content,enableLeftFlyoutUnderToolbar:e.canvasconfig.enableLeftFlyoutUnderToolbar}})(is);function as(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(as=function(){return!!e})()}var rs=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,as()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).logger=new h.Logger("CC-RightFlyout"),o.rightFlyoutRef=T.default.createRef(),o.state={isBeingDragging:!1},o.initialMinWidth=null,o.onMouseUp=o.onMouseUp.bind(o),o.onMouseDown=o.onMouseDown.bind(o),o.onMouseMoveX=o.onMouseMoveX.bind(o),o.getCurrentWidth=o.getCurrentWidth.bind(o),o.getRightFlyoutResizeContent=o.getRightFlyoutResizeContent.bind(o),o}return t._inherits(i,n),e._createClass(i,[{key:"componentDidMount",value:function(){void 0!==this.props.panelMinWidth&&null!==this.props.panelMinWidth||(this.initialMinWidth=this.getCurrentWidth())}},{key:"onMouseDown",value:function(e){0===e.button&&(this.setState({isBeingDragging:!0}),document.addEventListener("mousemove",this.onMouseMoveX,!0),document.addEventListener("mouseup",this.onMouseUp,!0),this.posX=e.clientX,e.preventDefault())}},{key:"onMouseUp",value:function(){this.setState({isBeingDragging:!1}),document.removeEventListener("mousemove",this.onMouseMoveX,!0),document.removeEventListener("mouseup",this.onMouseUp,!0)}},{key:"onMouseMoveX",value:function(e){if(e.clientX){var t=(this.isPanelWidthSpecified()?this.props.panelWidth:this.getCurrentWidth())-(e.clientX-this.posX);this.props.canvasController.setRightFlyoutWidth(this.limitWidth(t)),this.posX=e.clientX}}},{key:"getRightFlyoutResizeContent",value:function(){var e=null;if(this.props.enableRightFlyoutDragToResize){var t="right-flyout-drag"+(this.state.isBeingDragging?" is-being-dragged":"");e=T.default.createElement("div",{className:t,onMouseDown:this.onMouseDown})}return e}},{key:"getCurrentWidth",value:function(){var e,t;return null!==(e=this.rightFlyoutRef)&&void 0!==e&&e.current?null===(t=this.rightFlyoutRef)||void 0===t?void 0:t.current.getBoundingClientRect().width:0}},{key:"getMinWidth",value:function(){return void 0===this.props.panelMinWidth||null===this.props.panelMinWidth?null===this.initialMinWidth?0:this.initialMinWidth:this.props.panelMinWidth}},{key:"isPanelWidthSpecified",value:function(){return!(void 0===this.props.panelWidth||null===this.props.panelWidth)}},{key:"limitWidth",value:function(e){var t=.7*(this.props.getCenterPanelWidth()+this.getCurrentWidth()),n=this.getMinWidth();return Math.min(Math.max(e,n),t)}},{key:"render",value:function(){this.logger.log("render");var e=null;if(this.props.content&&this.props.isOpen){var t=this.getRightFlyoutResizeContent(),n=this.isPanelWidthSpecified()?this.limitWidth(this.props.panelWidth)+"px":null,i=this.props.enableRightFlyoutUnderToolbar?"right-flyout-panel under-toolbar":"right-flyout-panel";e=T.default.createElement("div",{className:"right-flyout",style:{width:n}},t,T.default.createElement("div",{className:i,ref:this.rightFlyoutRef},this.props.content))}return e}}])}(T.default.Component),ss=i.connect(function(e,t){return{isOpen:e.rightflyout.isOpen,content:e.rightflyout.content,enableRightFlyoutUnderToolbar:e.canvasconfig.enableRightFlyoutUnderToolbar,enableRightFlyoutDragToResize:e.canvasconfig.enableRightFlyoutDragToResize,panelWidth:e.rightflyout.panelWidth,panelMinWidth:e.rightflyout.panelMinWidth}})(rs);function ls(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ls=function(){return!!e})()}var cs=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,ls()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).logger=new h.Logger("CC-Top-Panel"),o}return t._inherits(i,n),e._createClass(i,[{key:"render",value:function(){this.logger.log("render");var e=null;return this.props.topPanelIsOpen&&(e=T.default.createElement("div",{className:"top-panel"},T.default.createElement("div",{className:"top-panel-contents"},this.props.topPanelContent))),e}}])}(T.default.Component),us=i.connect(function(e,t){return{topPanelIsOpen:e.toppanel.isOpen,topPanelContent:e.toppanel.content}})(cs);function ds(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ds=function(){return!!e})()}var hs=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,ds()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).divRef=T.default.createRef(),o.logger=new h.Logger("CC-Center-Panel"),o}return t._inherits(i,n),e._createClass(i,[{key:"getBoundingRect",value:function(){var e;return null===(e=this.divRef)||void 0===e||null===(e=e.current)||void 0===e?void 0:e.getBoundingClientRect()}},{key:"render",value:function(){return this.logger.log("render"),T.default.createElement("div",{className:"center-panel",ref:this.divRef},this.props.content)}}])}(T.default.Component);function gs(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(gs=function(){return!!e})()}var ps=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,gs()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).logger=new h.Logger("CC-Bottom-Panel"),o.state={isBeingDragging:!1},o.minHeight=0,o.bottomPanelRef=T.default.createRef(),o.onMouseUp=o.onMouseUp.bind(o),o.onMouseDown=o.onMouseDown.bind(o),o.onMouseMoveY=o.onMouseMoveY.bind(o),o}return t._inherits(i,n),e._createClass(i,[{key:"componentDidMount",value:function(){this.minHeight=75}},{key:"onMouseDown",value:function(e){0===e.button&&(this.setState({isBeingDragging:!0}),document.addEventListener("mousemove",this.onMouseMoveY,!0),document.addEventListener("mouseup",this.onMouseUp,!0),this.posY=e.clientY,e.preventDefault())}},{key:"onMouseUp",value:function(e){this.setState({isBeingDragging:!1}),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,n=.8*(this.props.getCenterPanelHeight()+(null!==(t=this.bottomPanelRef)&&void 0!==t&&t.current?this.bottomPanelRef.current.getBoundingClientRect().height:0));return Math.min(Math.max(e,this.minHeight),n)}},{key:"render",value:function(){this.logger.log("render");var e=null;if(this.props.bottomPanelIsOpen){var t=this.limitHeight(this.props.panelHeight)+"px",n="bottom-panel-drag"+(this.state.isBeingDragging?" is-being-dragged":"");e=T.default.createElement("div",{ref:this.bottomPanelRef,className:"bottom-panel",style:{height:t}},T.default.createElement("div",{className:n,onMouseDown:this.onMouseDown}),T.default.createElement("div",{className:"bottom-panel-contents"},this.props.bottomPanelContent))}return e}}])}(T.default.Component),fs=i.connect(function(e,t){return{bottomPanelIsOpen:e.bottompanel.isOpen,bottomPanelContent:e.bottompanel.content,panelHeight:e.bottompanel.panelHeight}})(ps);function vs(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(vs=function(){return!!e})()}var ys=function(n){function i(n){var o,a,r,s;return e._classCallCheck(this,i),a=this,r=i,s=[n],r=t._getPrototypeOf(r),(o=t._possibleConstructorReturn(a,vs()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).logger=new h.Logger("CC-Panels"),o.containingDivId="common-canvas-items-container-"+n.canvasController.getInstanceId(),o.centerPanelRef=T.default.createRef(),o.getCenterPanelWidth=o.getCenterPanelWidth.bind(o),o.getCenterPanelHeight=o.getCenterPanelHeight.bind(o),o}return t._inherits(i,n),e._createClass(i,[{key:"onDragOver",value:function(e){e.preventDefault()}},{key:"onDrop",value:function(e){e.preventDefault()}},{key:"getCenterPanelWidth",value:function(){var e,t=null===(e=this.centerPanelRef)||void 0===e||null===(e=e.current)||void 0===e?void 0:e.getBoundingRect();return t?t.width:0}},{key:"getCenterPanelHeight",value:function(){var e,t=null===(e=this.centerPanelRef)||void 0===e||null===(e=e.current)||void 0===e?void 0:e.getBoundingRect();return t?t.height:1e3}},{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:"generateTopCenterBottom",value:function(){var e=T.default.createElement(Yr,{canvasController:this.props.canvasController}),t=T.default.createElement(us,{canvasController:this.props.canvasController,containingDivId:this.containingDivId}),n=T.default.createElement(hs,{ref:this.centerPanelRef,content:e}),i=T.default.createElement(fs,{canvasController:this.props.canvasController,getCenterPanelHeight:this.getCenterPanelHeight}),o=this.props.topPanelIsOpen?"auto 1fr":"1fr";return o+=this.props.bottomPanelIsOpen?" auto":"",T.default.createElement("div",{className:"common-canvas-grid-vertical",style:{gridTemplateRows:o}},t,n,i)}},{key:"isLeftFlyoutOpen",value:function(){return this.props.enablePaletteLayout!==s.PALETTE_LAYOUT_DIALOG&&(!(this.props.enablePaletteLayout!==s.PALETTE_LAYOUT_NONE||!this.props.leftFlyoutIsOpen)||!(this.props.enablePaletteLayout!==s.PALETTE_LAYOUT_FLYOUT||!this.props.paletteIsOpen&&!this.props.enableNarrowPalette))}},{key:"isRightFlyoutOpen",value:function(){return this.props.rightFlyoutIsOpen}},{key:"generateLeftFlyout",value:function(){return this.props.enablePaletteLayout===s.PALETTE_LAYOUT_NONE&&this.props.leftFlyoutIsOpen?T.default.createElement(os,null):this.props.enablePaletteLayout===s.PALETTE_LAYOUT_FLYOUT?T.default.createElement(le,{canvasController:this.props.canvasController}):null}},{key:"generateRightFlyout",value:function(){return T.default.createElement(ss,{getCenterPanelWidth:this.getCenterPanelWidth,canvasController:this.props.canvasController})}},{key:"render",value:function(){this.logger.log("render");var e=T.default.createElement(_e,{canvasController:this.props.canvasController}),t=T.default.createElement(ts,{canvasController:this.props.canvasController,containingDivId:this.containingDivId}),n=this.isRightFlyoutOpen()?this.generateRightFlyout():null,i=this.isLeftFlyoutOpen(),o=i?this.generateLeftFlyout():null,a=this.generateTopCenterBottom(),r=null;if(this.props.enableLeftFlyoutUnderToolbar)if(this.props.enableRightFlyoutUnderToolbar){var l=i&&o?"auto ":"";l+="1fr",l+=this.props.rightFlyoutIsOpen?" auto":"";var c=this.props.toolbarIsOpen?"auto 1fr":"1fr",u=T.default.createElement("div",{id:this.containingDivId,className:"common-canvas-grid-horizontal",style:{gridTemplateColumns:l}},o,a,n);r=T.default.createElement("div",{className:"common-canvas-grid-vertical",style:{gridTemplateRows:c}},t,u)}else{var d=this.props.rightFlyoutIsOpen?"1fr auto":"1fr",h=this.props.toolbarIsOpen?"auto 1fr":"1fr",g=i?"auto 1fr":"1fr",p=T.default.createElement("div",{className:"common-canvas-grid-vertical",style:{gridTemplateRows:h}},t,T.default.createElement("div",{id:this.containingDivId,className:"common-canvas-grid-horizontal",style:{gridTemplateColumns:g}},o,a));r=T.default.createElement("div",{className:"common-canvas-grid-horizontal",style:{gridTemplateColumns:d}},p,n)}else if(this.props.enableRightFlyoutUnderToolbar){var f=i?"auto 1fr":"1fr",v=this.props.toolbarIsOpen?"auto 1fr":"1fr",y=this.props.rightFlyoutIsOpen?"1fr auto":"1fr",m=T.default.createElement("div",{className:"common-canvas-grid-vertical",style:{gridTemplateRows:v}},t,T.default.createElement("div",{id:this.containingDivId,className:"common-canvas-grid-horizontal",style:{gridTemplateColumns:y}},a,n));r=T.default.createElement("div",{className:"common-canvas-grid-horizontal",style:{gridTemplateColumns:f}},o,m)}else{var b="";b+=this.props.toolbarIsOpen?"auto":"",b+=" 1fr";var C=i&&o?"auto ":"";C+="1fr",C+=this.props.rightFlyoutIsOpen?" auto":"";var k=T.default.createElement("div",{className:"common-canvas-grid-vertical",style:{gridTemplateRows:b}},t,T.default.createElement("div",{id:this.containingDivId},a));r=T.default.createElement("div",{className:"common-canvas-grid-horizontal",style:{gridTemplateColumns:C}},o,k,n)}var L=this.props.enablePaletteLayout===s.PALETTE_LAYOUT_DIALOG&&this.props.paletteIsOpen?T.default.createElement(Se,{canvasController:this.props.canvasController,containingDivId:this.containingDivId}):null,x=this.generateClass();return T.default.createElement("div",{className:x,onDragOver:this.onDragOver,onDrop:this.onDrop},r,L,e)}}])}(T.default.Component),ms=i.connect(function(e,t){return{enableParentClass:e.canvasconfig.enableParentClass,enableEditingActions:e.canvasconfig.enableEditingActions,enablePaletteLayout:e.canvasconfig.enablePaletteLayout,enableNarrowPalette:e.canvasconfig.enableNarrowPalette,enableLeftFlyoutUnderToolbar:e.canvasconfig.enableLeftFlyoutUnderToolbar,enableRightFlyoutUnderToolbar:e.canvasconfig.enableRightFlyoutUnderToolbar,enableRightFlyoutDragToResize:e.canvasconfig.enableRightFlyoutDragToResize,toolbarIsOpen:e.canvasconfig.enableToolbarLayout!==s.PALETTE_LAYOUT_NONE,paletteIsOpen:e.palette.isOpen,topPanelIsOpen:e.toppanel.isOpen,bottomPanelIsOpen:e.bottompanel.isOpen,leftFlyoutIsOpen:e.leftflyout.isOpen,rightFlyoutIsOpen:e.rightflyout.isOpen}})(ys);function bs(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(bs=function(){return!!e})()}var Cs=function(n){function o(n){var i,a,r,s;return e._classCallCheck(this,o),a=this,r=o,s=[n],r=t._getPrototypeOf(r),(i=t._possibleConstructorReturn(a,bs()?Reflect.construct(r,s||[],t._getPrototypeOf(a).constructor):r.apply(a,s))).logger=new h.Logger(["CommonCanvas"]),i.logger.log("constructor"),i.initializeController=i.initializeController.bind(i),n.canvasController.setIntl(n.intl),i.initializeController(n),i}return t._inherits(o,n),e._createClass(o,[{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.setLeftFlyoutConfig({content:e.leftFlyoutContent,isOpen:e.showLeftFlyout}),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"),T.default.createElement(i.Provider,{store:this.props.canvasController.getStore()},T.default.createElement(ms,{canvasController:this.props.canvasController}))}}])}(T.default.Component),ks=o.injectIntl(Cs);exports.Palette=le,exports.commonCanvas=ks;
2
+ //# sourceMappingURL=common-canvas-c6a5094d.js.map