@elyra/canvas 12.10.2 → 12.11.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/canvas-constants-7f93e705.js +2 -0
- package/dist/canvas-constants-7f93e705.js.map +1 -0
- package/dist/canvas-constants-ac5daafb.js +2 -0
- package/dist/canvas-constants-ac5daafb.js.map +1 -0
- package/dist/canvas-controller-190542a6.js +2 -0
- package/dist/canvas-controller-190542a6.js.map +1 -0
- package/dist/canvas-controller-cbee8dd7.js +2 -0
- package/dist/canvas-controller-cbee8dd7.js.map +1 -0
- package/dist/canvas-logger-815781bb.js +2 -0
- package/dist/canvas-logger-815781bb.js.map +1 -0
- package/dist/canvas-logger-a0f1beaa.js +2 -0
- package/dist/canvas-logger-a0f1beaa.js.map +1 -0
- package/dist/common-canvas-8d2ddc6b.js +2 -0
- package/dist/common-canvas-8d2ddc6b.js.map +1 -0
- package/dist/common-canvas-e0a57cdb.js +2 -0
- package/dist/common-canvas-e0a57cdb.js.map +1 -0
- package/dist/common-canvas.es.js +1 -1
- package/dist/common-canvas.es.js.map +1 -1
- package/dist/common-canvas.js +1 -1
- package/dist/common-canvas.js.map +1 -1
- package/dist/common-properties-09ec10eb.js +2 -0
- package/dist/common-properties-09ec10eb.js.map +1 -0
- package/dist/common-properties-f1b96e0f.js +2 -0
- package/dist/common-properties-f1b96e0f.js.map +1 -0
- package/dist/datarecord-metadata-v3-schema-bda88f2e.js +2 -0
- package/dist/datarecord-metadata-v3-schema-bda88f2e.js.map +1 -0
- package/dist/datarecord-metadata-v3-schema-d7ad05cd.js +2 -0
- package/dist/datarecord-metadata-v3-schema-d7ad05cd.js.map +1 -0
- package/dist/en-2ed89528.js +2 -0
- package/dist/en-2ed89528.js.map +1 -0
- package/dist/en-e93855cc.js +2 -0
- package/dist/en-e93855cc.js.map +1 -0
- package/dist/extends-39f57612.js +7 -0
- package/dist/extends-39f57612.js.map +1 -0
- package/dist/extends-51d9ddcc.js +7 -0
- package/dist/extends-51d9ddcc.js.map +1 -0
- package/dist/flexible-table-154a3359.js +2 -0
- package/dist/flexible-table-154a3359.js.map +1 -0
- package/dist/flexible-table-5e4a1e6d.js +2 -0
- package/dist/flexible-table-5e4a1e6d.js.map +1 -0
- package/dist/icon-811ffddd.js +2 -0
- package/dist/icon-811ffddd.js.map +1 -0
- package/dist/icon-d6909a68.js +2 -0
- package/dist/icon-d6909a68.js.map +1 -0
- package/dist/index-4fd90a14.js +2 -0
- package/dist/index-4fd90a14.js.map +1 -0
- package/dist/index-6d138021.js +2 -0
- package/dist/index-6d138021.js.map +1 -0
- package/dist/isArrayLikeObject-31e5e646.js +2 -0
- package/dist/isArrayLikeObject-31e5e646.js.map +1 -0
- package/dist/isArrayLikeObject-7c33c7fd.js +2 -0
- package/dist/isArrayLikeObject-7c33c7fd.js.map +1 -0
- package/dist/lib/canvas-controller.es.js +1 -1
- package/dist/lib/canvas-controller.js +1 -1
- package/dist/lib/canvas.es.js +1 -1
- package/dist/lib/canvas.js +1 -1
- package/dist/lib/context-menu.es.js +1 -1
- package/dist/lib/context-menu.es.js.map +1 -1
- package/dist/lib/context-menu.js +1 -1
- package/dist/lib/context-menu.js.map +1 -1
- package/dist/lib/properties/field-picker.es.js +1 -1
- package/dist/lib/properties/field-picker.js +1 -1
- package/dist/lib/properties/flexible-table.es.js +1 -1
- package/dist/lib/properties/flexible-table.js +1 -1
- package/dist/lib/properties.es.js +1 -1
- package/dist/lib/properties.js +1 -1
- package/dist/lib/tooltip.es.js +1 -1
- package/dist/lib/tooltip.es.js.map +1 -1
- package/dist/lib/tooltip.js +1 -1
- package/dist/lib/tooltip.js.map +1 -1
- package/dist/styles/common-canvas.min.css +1 -1
- package/dist/styles/common-canvas.min.css.map +1 -1
- package/dist/toolbar-335252dd.js +2 -0
- package/dist/toolbar-335252dd.js.map +1 -0
- package/dist/toolbar-85e6c77b.js +2 -0
- package/dist/toolbar-85e6c77b.js.map +1 -0
- package/locales/command-actions/locales/en.json +7 -1
- package/locales/command-actions/locales/eo.json +7 -1
- package/locales/command-actions/locales/index.js +3 -1
- package/locales/command-actions/locales/ko.json +9 -0
- package/locales/common-canvas/locales/en.json +3 -0
- package/locales/common-canvas/locales/eo.json +3 -0
- package/locales/common-canvas/locales/index.js +3 -1
- package/locales/common-canvas/locales/ko.json +32 -0
- package/locales/common-properties/locales/index.js +3 -1
- package/locales/common-properties/locales/ko.json +93 -0
- package/locales/palette/locales/index.js +3 -1
- package/locales/palette/locales/ko.json +10 -0
- package/locales/toolbar/locales/index.js +3 -1
- package/locales/toolbar/locales/ko.json +8 -0
- package/package.json +2 -1
- package/src/color-picker/color-picker-panel.jsx +61 -0
- package/src/color-picker/color-picker.jsx +37 -0
- package/src/color-picker/color-picker.scss +46 -0
- package/src/command-actions/colorSelectedObjectsAction.js +72 -0
- package/src/command-actions/deleteObjectsAction.js +16 -11
- package/src/command-actions/pasteAction.js +50 -21
- package/src/common-canvas/canvas-controller.js +32 -5
- package/src/common-canvas/cc-bottom-panel.jsx +15 -9
- package/src/common-canvas/cc-contents.jsx +115 -8
- package/src/common-canvas/cc-toolbar.jsx +7 -6
- package/src/common-canvas/common-canvas-utils.js +73 -90
- package/src/common-canvas/common-canvas.scss +5 -5
- package/src/common-canvas/constants/canvas-constants.js +17 -16
- package/src/common-canvas/label-util.js +1 -1
- package/src/common-canvas/svg-canvas-d3.js +20 -107
- package/src/common-canvas/svg-canvas-d3.scss +66 -4
- package/src/common-canvas/svg-canvas-pipeline.js +201 -0
- package/src/common-canvas/svg-canvas-renderer.js +325 -339
- package/src/common-canvas/svg-canvas-utils-links.js +3 -3
- package/src/common-canvas/svg-canvas-utils-nodes.js +22 -44
- package/src/common-properties/actions.js +4 -0
- package/src/common-properties/components/field-picker/field-picker.jsx +33 -36
- package/src/common-properties/components/field-picker/field-picker.scss +20 -23
- package/src/common-properties/components/flexible-table/flexible-table.jsx +46 -31
- package/src/common-properties/components/flexible-table/flexible-table.scss +14 -17
- package/src/common-properties/components/properties-buttons/properties-buttons.jsx +28 -21
- package/src/common-properties/components/table-buttons/table-buttons.jsx +3 -1
- package/src/common-properties/components/table-buttons/table-buttons.scss +8 -8
- package/src/common-properties/components/title-editor/title-editor.jsx +31 -4
- package/src/common-properties/components/title-editor/title-editor.scss +30 -5
- package/src/common-properties/components/virtualized-table/virtualized-table.jsx +119 -27
- package/src/common-properties/components/virtualized-table/virtualized-table.scss +72 -8
- package/src/common-properties/constants/constants.js +5 -1
- package/src/common-properties/constants/form-constants.js +1 -0
- package/src/common-properties/controls/abstract-table.jsx +12 -11
- package/src/common-properties/controls/abstract-table.scss +6 -2
- package/src/common-properties/controls/dropdown/dropdown.scss +4 -0
- package/src/common-properties/controls/expression/expression-builder/expression-select-field-function.jsx +2 -2
- package/src/common-properties/controls/expression/expression.scss +1 -1
- package/src/common-properties/controls/passwordfield/passwordfield.jsx +2 -2
- package/src/common-properties/controls/readonlytable/readonlytable.jsx +4 -2
- package/src/common-properties/controls/selectcolumns/selectcolumns.scss +0 -19
- package/src/common-properties/controls/someofselect/someofselect.scss +2 -2
- package/src/common-properties/form/ControlInfo.js +8 -0
- package/src/common-properties/form/EditorForm.js +4 -0
- package/src/common-properties/form/ParameterInfo.js +4 -0
- package/src/common-properties/panels/sub-panel/cell.jsx +18 -23
- package/src/common-properties/panels/sub-panel/sub-panel.scss +5 -22
- package/src/common-properties/properties-controller.js +18 -0
- package/src/common-properties/properties-main/properties-main.jsx +15 -9
- package/src/common-properties/properties-main/properties-main.scss +9 -2
- package/src/common-properties/properties-store.js +27 -1
- package/src/common-properties/reducers/properties-settings.js +17 -1
- package/src/context-menu/common-context-menu.jsx +74 -29
- package/src/context-menu/context-menu-wrapper.jsx +2 -2
- package/src/icons/icon.jsx +5 -46
- package/src/index.scss +1 -0
- package/src/object-model/api-pipeline.js +18 -7
- package/src/object-model/object-model.js +27 -3
- package/src/object-model/redux/reducers/canvasinfo.js +36 -0
- package/src/object-model/redux/reducers/comments.js +58 -10
- package/src/object-model/redux/reducers/externalpipelineflows.js +1 -0
- package/src/object-model/redux/reducers/links.js +9 -7
- package/src/object-model/redux/reducers/selectioninfo.js +2 -1
- package/src/palette/palette-content-list-item.jsx +8 -1
- package/src/palette/palette-dialog-content-grid-node.jsx +8 -1
- package/src/toolbar/toolbar-action-item.jsx +75 -11
- package/src/toolbar/toolbar-overflow-item.jsx +2 -3
- package/src/tooltip/tooltip.jsx +4 -1
- package/stats.html +1 -1
- package/dist/canvas-constants-af93267a.js +0 -2
- package/dist/canvas-constants-af93267a.js.map +0 -1
- package/dist/canvas-constants-ffce3b78.js +0 -2
- package/dist/canvas-constants-ffce3b78.js.map +0 -1
- package/dist/canvas-controller-3f67c4fb.js +0 -2
- package/dist/canvas-controller-3f67c4fb.js.map +0 -1
- package/dist/canvas-controller-cee447d2.js +0 -2
- package/dist/canvas-controller-cee447d2.js.map +0 -1
- package/dist/common-canvas-e212a9c1.js +0 -2
- package/dist/common-canvas-e212a9c1.js.map +0 -1
- package/dist/common-canvas-e98191b3.js +0 -2
- package/dist/common-canvas-e98191b3.js.map +0 -1
- package/dist/common-properties-653e50e3.js +0 -2
- package/dist/common-properties-653e50e3.js.map +0 -1
- package/dist/common-properties-e2c6def7.js +0 -2
- package/dist/common-properties-e2c6def7.js.map +0 -1
- package/dist/datarecord-metadata-v3-schema-10ddafaf.js +0 -2
- package/dist/datarecord-metadata-v3-schema-10ddafaf.js.map +0 -1
- package/dist/datarecord-metadata-v3-schema-1504c843.js +0 -2
- package/dist/datarecord-metadata-v3-schema-1504c843.js.map +0 -1
- package/dist/en-517f38fc.js +0 -2
- package/dist/en-517f38fc.js.map +0 -1
- package/dist/en-dc6f2e9f.js +0 -2
- package/dist/en-dc6f2e9f.js.map +0 -1
- package/dist/extends-5a45f92e.js +0 -7
- package/dist/extends-5a45f92e.js.map +0 -1
- package/dist/extends-a52336ca.js +0 -8
- package/dist/extends-a52336ca.js.map +0 -1
- package/dist/flexible-table-e6ccbe58.js +0 -2
- package/dist/flexible-table-e6ccbe58.js.map +0 -1
- package/dist/flexible-table-f60c1680.js +0 -2
- package/dist/flexible-table-f60c1680.js.map +0 -1
- package/dist/index-567978da.js +0 -2
- package/dist/index-567978da.js.map +0 -1
- package/dist/index-59486e9a.js +0 -2
- package/dist/index-59486e9a.js.map +0 -1
- package/dist/isEmpty-def8f509.js +0 -2
- package/dist/isEmpty-def8f509.js.map +0 -1
- package/dist/isEmpty-e171b734.js +0 -2
- package/dist/isEmpty-e171b734.js.map +0 -1
- package/dist/toolbar-404bf690.js +0 -2
- package/dist/toolbar-404bf690.js.map +0 -1
- package/dist/toolbar-611d8ab9.js +0 -2
- package/dist/toolbar-611d8ab9.js.map +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var t=require("./createClass-6db89a23.js"),e=require("./getPrototypeOf-0bf77a9e.js"),n=require("react"),i=require("react-redux"),o=require("react-intl"),a=require("./isEmpty-e171b734.js"),r=require("./extends-a52336ca.js"),s=require("react-inlinesvg"),l=require("./canvas-constants-ffce3b78.js"),c=require("./toolbar-611d8ab9.js"),u=require("./datarecord-metadata-v3-schema-10ddafaf.js"),d=require("./en-517f38fc.js"),h=require("carbon-components-react"),p=require("./canvas-controller-3f67c4fb.js"),g=require("./lib/tooltip.js"),f=require("react-resize-detector"),v=require("./lib/context-menu.js"),y=require("@carbon/icons-react");function m(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var C=m(n),k=m(s),b=m(f),_="Find palette nodes",P="No results found.",L="Try adjusting your search to find what you're looking for.",N="Results restricted to 10 nodes. Try refining your search.",T="Show more",S="Show less",w="Flyout Palette",E="Dialog Palette";function x(t){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=e._getPrototypeOf(t);if(n){var a=e._getPrototypeOf(this).constructor;i=Reflect.construct(o,arguments,a)}else i=o.apply(this,arguments);return e._possibleConstructorReturn(this,i)}}var I=function(n){e._inherits(o,n);var i=x(o);function o(n){var a;return t._classCallCheck(this,o),(a=i.call(this,n)).state={hover:!1},a.iconClicked=a.iconClicked.bind(e._assertThisInitialized(a)),a.mouseEnter=a.mouseEnter.bind(e._assertThisInitialized(a)),a.mouseLeave=a.mouseLeave.bind(e._assertThisInitialized(a)),a.mouseDown=a.mouseDown.bind(e._assertThisInitialized(a)),a}return t._createClass(o,[{key:"iconClicked",value:function(){this.props.iconClickedMethod()}},{key:"mouseEnter",value:function(){this.setState({hover:!0})}},{key:"mouseLeave",value:function(){this.setState({hover:!1})}},{key:"mouseDown",value:function(t){t.stopPropagation()}},{key:"render",value:function(){var t=this.props.selectedIconName;return this.props.isSelected||(t=this.state.hover?this.props.hoverIconName:this.props.deselectedIconName),C.default.createElement("div",{draggable:"false",className:"palette-three-way-icon-div"},C.default.createElement("img",{src:t,draggable:"false",onClick:this.iconClicked,onMouseEnter:this.mouseEnter,onMouseLeave:this.mouseLeave,onMouseDown:this.mouseDown}))}}]),o}(C.default.Component);function D(t){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=e._getPrototypeOf(t);if(n){var a=e._getPrototypeOf(this).constructor;i=Reflect.construct(o,arguments,a)}else i=o.apply(this,arguments);return e._possibleConstructorReturn(this,i)}}var O=function(n){e._inherits(o,n);var i=D(o);function o(n){var a;return t._classCallCheck(this,o),(a=i.call(this,n)).state={},a.mouseDown=a.mouseDown.bind(e._assertThisInitialized(a)),a.doubleClick=a.doubleClick.bind(e._assertThisInitialized(a)),a.close=a.close.bind(e._assertThisInitialized(a)),a.gridViewSelected=a.gridViewSelected.bind(e._assertThisInitialized(a)),a.listViewSelected=a.listViewSelected.bind(e._assertThisInitialized(a)),a}return t._createClass(o,[{key:"mouseDown",value:function(t){this.props.mouseDownMethod(t)}},{key:"doubleClick",value:function(t){this.props.windowMaximizeMethod(t)}},{key:"close",value:function(t){this.props.canvasController.closePalette(t)}},{key:"gridViewSelected",value:function(){this.props.showGridMethod(!0)}},{key:"listViewSelected",value:function(){this.props.showGridMethod(!1)}},{key:"render",value:function(){return C.default.createElement("div",{className:"palette-dialog-topbar",onMouseDown:this.mouseDown,onDoubleClick:this.doubleClick},C.default.createElement("span",{className:"left-navbar"},C.default.createElement(I,{iconClickedMethod:this.gridViewSelected,isSelected:this.props.showGrid,selectedIconName:"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%20enable-background%3D%22new%200%200%2016%2016%22%3E%3Cg%20fill%3D%22%233D70B2%22%3E%3Cpath%20d%3D%22m9.8%200h6.2v6.2h-6.2z%22%2F%3E%3Cpath%20d%3D%22M8.6%2C0H7.4H0v7.4v1.2V16h7.4h1.2H16V8.6V7.4H8.6V0z%20M7.4%2C14.8H1.2V8.6h6.2V14.8z%20M14.8%2C8.6v6.2H8.6V8.6%20%20H14.8z%20M1.2%2C7.4V1.2h6.2v6.2H1.2z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E",hoverIconName:"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%20enable-background%3D%22new%200%200%2016%2016%22%3E%3Cg%20fill%3D%22%235596e6%22%3E%3Cpath%20d%3D%22m9.8%200h6.2v6.2h-6.2z%22%2F%3E%3Cpath%20d%3D%22M8.6%2C0H7.4H0v7.4v1.2V16h7.4h1.2H16V8.6V7.4H8.6V0z%20M7.4%2C14.8H1.2V8.6h6.2V14.8z%20M14.8%2C8.6v6.2H8.6V8.6%20%20H14.8z%20M1.2%2C7.4V1.2h6.2v6.2H1.2z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E",deselectedIconName:"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%20enable-background%3D%22new%200%200%2016%2016%22%3E%3Cg%20fill%3D%22%23C7C7C7%22%3E%3Cpath%20d%3D%22m9.8%200h6.2v6.2h-6.2z%22%2F%3E%3Cpath%20d%3D%22M8.6%2C0H7.4H0v7.4v1.2V16h7.4h1.2H16V8.6V7.4H8.6V0z%20M7.4%2C14.8H1.2V8.6h6.2V14.8z%20M14.8%2C8.6v6.2H8.6V8.6%20%20H14.8z%20M1.2%2C7.4V1.2h6.2v6.2H1.2z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"}),C.default.createElement(I,{iconClickedMethod:this.listViewSelected,isSelected:!this.props.showGrid,selectedIconName:"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%20enable-background%3D%22new%200%200%2016%2016%22%3E%3Cg%20fill%3D%22%233D70B2%22%3E%3Cpath%20d%3D%22m0%2014.5h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%2014.5h12.7v1.5h-12.7z%22%2F%3E%3Cpath%20d%3D%22m0%209.7h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%209.7h12.7v1.5h-12.7z%22%2F%3E%3Cpath%20d%3D%22m0%204.8h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%204.8h12.7v1.5h-12.7z%22%2F%3E%3Cpath%20d%3D%22m0%200h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%200h12.7v1.5h-12.7z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E",hoverIconName:"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%20enable-background%3D%22new%200%200%2016%2016%22%3E%3Cg%20fill%3D%22%235596e6%22%3E%3Cpath%20d%3D%22m0%2014.5h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%2014.5h12.7v1.5h-12.7z%22%2F%3E%3Cpath%20d%3D%22m0%209.7h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%209.7h12.7v1.5h-12.7z%22%2F%3E%3Cpath%20d%3D%22m0%204.8h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%204.8h12.7v1.5h-12.7z%22%2F%3E%3Cpath%20d%3D%22m0%200h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%200h12.7v1.5h-12.7z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E",deselectedIconName:"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%20enable-background%3D%22new%200%200%2016%2016%22%3E%3Cg%20fill%3D%22%23C7C7C7%22%3E%3Cpath%20d%3D%22m0%2014.5h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%2014.5h12.7v1.5h-12.7z%22%2F%3E%3Cpath%20d%3D%22m0%209.7h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%209.7h12.7v1.5h-12.7z%22%2F%3E%3Cpath%20d%3D%22m0%204.8h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%204.8h12.7v1.5h-12.7z%22%2F%3E%3Cpath%20d%3D%22m0%200h1.5v1.5h-1.5z%22%2F%3E%3Cpath%20d%3D%22m3.3%200h12.7v1.5h-12.7z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"})),C.default.createElement("span",{className:"right-navbar"},C.default.createElement("a",{className:"secondary-action",onClick:this.close},C.default.createElement("img",{src:"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20style%3D%22fill%3A%233D70B2%22%20d%3D%22M20.293%2010.293L16%2014.586l-4.293-4.293-1.414%201.414L14.586%2016l-4.293%204.293%201.414%201.414L16%2017.414l4.293%204.293%201.414-1.414L17.414%2016l4.293-4.293z%22%2F%3E%3Cpath%20style%3D%22fill%3A%233D70B2%22%20d%3D%22M16%202C8.269%202%202%208.269%202%2016s6.269%2014%2014%2014%2014-6.269%2014-14S23.731%202%2016%202zm0%2026C9.383%2028%204%2022.617%204%2016S9.383%204%2016%204s12%205.383%2012%2012-5.383%2012-12%2012z%22%2F%3E%3C%2Fsvg%3E",draggable:"false",className:"close-icon"}))))}}]),o}(C.default.Component);function A(t){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=e._getPrototypeOf(t);if(n){var a=e._getPrototypeOf(this).constructor;i=Reflect.construct(o,arguments,a)}else i=o.apply(this,arguments);return e._possibleConstructorReturn(this,i)}}var z=function(n){e._inherits(o,n);var i=A(o);function o(n){var a;return t._classCallCheck(this,o),(a=i.call(this,n)).state={},a.categorySelected=a.categorySelected.bind(e._assertThisInitialized(a)),a}return t._createClass(o,[{key:"categorySelected",value:function(t){this.props.categorySelectedMethod(t)}},{key:"render",value:function(){var t="palette-dialog-category";return this.props.selectedCategory===this.props.category.label&&(t="palette-dialog-category-selected"),C.default.createElement("div",{"data-id":this.props.category.id,className:t,onClick:this.categorySelected},this.props.category.label)}}]),o}(C.default.Component);function M(t){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=e._getPrototypeOf(t);if(n){var a=e._getPrototypeOf(this).constructor;i=Reflect.construct(o,arguments,a)}else i=o.apply(this,arguments);return e._possibleConstructorReturn(this,i)}}var R=function(n){e._inherits(o,n);var i=M(o);function o(e){var n;return t._classCallCheck(this,o),(n=i.call(this,e)).state={},n}return t._createClass(o,[{key:"render",value:function(){for(var t=[],e=0;e<this.props.categories.length;e++)t.push(C.default.createElement(z,{key:this.props.categories[e].label,category:this.props.categories[e],selectedCategory:this.props.selectedCategory,categorySelectedMethod:this.props.categorySelectedMethod}));return C.default.createElement("div",{className:"palette-dialog-categories palette-scroll"},t)}}]),o}(C.default.Component),H="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",U="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%3Cdefs%3E%20%20%3CclipPath%20id%3D%22a%22%3E%20%20%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%20%3C%2FclipPath%3E%20%20%3CclipPath%20id%3D%22b%22%3E%20%20%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%20%20%20clip-path%3D%22url%28%23a%29%22%2F%3E%20%20%3C%2FclipPath%3E%20%3C%2Fdefs%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 j(t){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=e._getPrototypeOf(t);if(n){var a=e._getPrototypeOf(this).constructor;i=Reflect.construct(o,arguments,a)}else i=o.apply(this,arguments);return e._possibleConstructorReturn(this,i)}}var B=function(n){e._inherits(o,n);var i=j(o);function o(n){var a;return t._classCallCheck(this,o),(a=i.call(this,n)).state={},a.ghostData=null,a.onDragStart=a.onDragStart.bind(e._assertThisInitialized(a)),a.onDoubleClick=a.onDoubleClick.bind(e._assertThisInitialized(a)),a.onMouseOver=a.onMouseOver.bind(e._assertThisInitialized(a)),a.onMouseLeave=a.onMouseLeave.bind(e._assertThisInitialized(a)),a.onMouseDown=a.onMouseDown.bind(e._assertThisInitialized(a)),a}return t._createClass(o,[{key:"onMouseDown",value:function(){this.props.canvasController.closeTip(),this.ghostData=this.props.canvasController.getGhostNode(this.props.nodeTemplate)}},{key:"onDragStart",value:function(t){this.props.canvasController.setDragNodeTemplate(this.props.nodeTemplate),t.dataTransfer.setData(l.DND_DATA_TEXT,""),this.ghostData&&t.dataTransfer.setDragImage(this.ghostData.element,this.ghostData.centerX,this.ghostData.centerY)}},{key:"onDoubleClick",value:function(){this.props.canvasController.createAutoNode&&this.props.canvasController.createAutoNode(this.props.nodeTemplate)}},{key:"onMouseOver",value:function(t){if(0===t.buttons){var e=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:l.TIP_TYPE_PALETTE_ITEM,targetObj:t.currentTarget,nodeTemplate:e,category:this.props.category})}}},{key:"onMouseLeave",value:function(){this.props.canvasController.closeTip()}},{key:"render",value:function(){var t="";a.has_1(this.props.nodeTemplate,"app_data.ui_data.label")&&(t=this.props.nodeTemplate.app_data.ui_data.label);var e=C.default.createElement("div",{className:"node-icon"});if(a.has_1(this.props.nodeTemplate,"app_data.ui_data.image")){var n=this.props.nodeTemplate.app_data.ui_data.image;n===l.USE_DEFAULT_ICON?n=H:n===l.USE_DEFAULT_EXT_ICON&&(n=U),e=n.endsWith(".svg")?C.default.createElement(k.default,{src:n,className:"node-icon",alt:t}):C.default.createElement("img",{src:n,className:"node-icon",alt:t})}var i=this.props.isEditingEnabled?"true":"false",o="palette-dialog-grid-node-text";return this.props.category&&0===this.props.category.node_types.length&&this.props.category.empty_text&&(t=this.props.category.empty_text,i="false",o="palette-dialog-grid-node-text-warning",e=C.default.createElement(r.Icon,{type:l.CANVAS_CARBON_ICONS.WARNING_UNFILLED,className:"palette-dialog-grid-node-icon-warning",draggable:"false"})),C.default.createElement("div",{id:this.props.nodeTemplate.id,"data-id":this.props.nodeTemplate.op,draggable:i,onMouseOver:this.onMouseOver,onMouseLeave:this.onMouseLeave,onMouseDown:this.props.isEditingEnabled?this.onMouseDown:null,onDragStart:this.props.isEditingEnabled?this.onDragStart:null,onDoubleClick:this.props.isEditingEnabled?this.onDoubleClick:null,className:"palette-dialog-grid-node-outer"},C.default.createElement("div",{className:"palette-dialog-grid-node-inner"},C.default.createElement("div",{className:"palette-dialog-grid-node-icon"},e),C.default.createElement("div",{className:o},t)))}}]),o}(C.default.Component),F=B;function G(t){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=e._getPrototypeOf(t);if(n){var a=e._getPrototypeOf(this).constructor;i=Reflect.construct(o,arguments,a)}else i=o.apply(this,arguments);return e._possibleConstructorReturn(this,i)}}var Y=function(n){e._inherits(o,n);var i=G(o);function o(e){var n;return t._classCallCheck(this,o),(n=i.call(this,e)).state={},n}return t._createClass(o,[{key:"render",value:function(){var t=[];if(this.props.category&&this.props.category.node_types&&0===this.props.category.node_types.length&&this.props.category.empty_text)t.push(C.default.createElement(F,{key:"pal_grid_node_empty",category:this.props.category,nodeTemplate:{},canvasController:this.props.canvasController,isEditingEnabled:this.props.isEditingEnabled}));else for(var e=0;e<this.props.nodeTypes.length;e++)t.push(C.default.createElement(F,{key:"pal_grid_node_"+e,category:this.props.category,nodeTemplate:this.props.nodeTypes[e],canvasController:this.props.canvasController,isEditingEnabled:this.props.isEditingEnabled}));var n=this.props.show?"block":"none";return C.default.createElement("div",{width:"100%",className:"palette-scroll",style:{display:n}},t)}}]),o}(C.default.Component);function X(t){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=e._getPrototypeOf(t);if(n){var a=e._getPrototypeOf(this).constructor;i=Reflect.construct(o,arguments,a)}else i=o.apply(this,arguments);return e._possibleConstructorReturn(this,i)}}var V=function(n){e._inherits(o,n);var i=X(o);function o(n){var a;return t._classCallCheck(this,o),(a=i.call(this,n)).state={showFullDescription:!1},a.ghostData=null,a.showFullDescription=a.showFullDescription.bind(e._assertThisInitialized(a)),a.showShortDescription=a.showShortDescription.bind(e._assertThisInitialized(a)),a.onDragStart=a.onDragStart.bind(e._assertThisInitialized(a)),a.onDoubleClick=a.onDoubleClick.bind(e._assertThisInitialized(a)),a.onMouseOver=a.onMouseOver.bind(e._assertThisInitialized(a)),a.onMouseLeave=a.onMouseLeave.bind(e._assertThisInitialized(a)),a.onMouseDown=a.onMouseDown.bind(e._assertThisInitialized(a)),a}return t._createClass(o,[{key:"onMouseDown",value:function(){this.props.canvasController.closeTip(),this.ghostData=this.props.canvasController.getGhostNode(this.props.nodeTypeInfo.nodeType)}},{key:"onDragStart",value:function(t){this.props.canvasController.setDragNodeTemplate(this.props.nodeTypeInfo.nodeType),t.dataTransfer.setData(l.DND_DATA_TEXT,""),this.ghostData&&t.dataTransfer.setDragImage(this.ghostData.element,this.ghostData.centerX,this.ghostData.centerY)}},{key:"onDoubleClick",value:function(){this.props.canvasController.createAutoNode&&this.props.canvasController.createAutoNode(this.props.nodeTypeInfo.nodeType)}},{key:"onMouseOver",value:function(t){if(!this.props.isDisplaySearchResult&&0===t.buttons){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:l.TIP_TYPE_PALETTE_ITEM,targetObj:t.currentTarget,nodeTemplate:e,category:this.props.nodeTypeInfo.category})}}},{key:"onMouseLeave",value:function(){this.props.canvasController.closeTip()}},{key:"getHighlightedCategoryLabel",value:function(){return this.getHighlightedText(this.props.nodeTypeInfo.category.label,this.props.nodeTypeInfo.occurrenceInfo.catLabelOccurrences)}},{key:"getHighlightedLabel",value:function(){return this.getHighlightedText(this.props.nodeTypeInfo.nodeType.app_data.ui_data.label,this.props.nodeTypeInfo.occurrenceInfo.nodeLabelOccurrences)}},{key:"getHighlightedDesc",value:function(){var t=this.props.nodeTypeInfo.nodeType.app_data.ui_data.description,e=this.props.nodeTypeInfo.occurrenceInfo.nodeDescOccurrences,n=!1;if(t.length>150&&(n=!0,!this.state.showFullDescription)){var i=this.getAbbreviatedDescription(t,e,150);t=i.abbrDesc,e=i.occurrences}var o=this.getHighlightedText(t,e);if(n)if(this.state.showFullDescription){var a=this.props.intl.formatMessage({id:"palette.flyout.search.less",defaultMessage:S});o.push(C.default.createElement("div",{key:"l_btn",className:"palette-list-item-desc-button",onClick:this.showShortDescription},a))}else{var r=this.props.intl.formatMessage({id:"palette.flyout.search.more",defaultMessage:T});o.push(C.default.createElement("div",{key:"m_btn",className:"palette-list-item-desc-button",onClick:this.showFullDescription},r))}return o}},{key:"getAbbreviatedDescription",value:function(t,e,n){if(0===e.length)return{abbrDesc:t.substring(0,n)+" ...",occurrences:e};var i=e[0].start,o=t.length-i,a="",r=0;return i<n?(r=0,a=t.substring(r,n)+" ..."):o>n?(r=i,a="... "+t.substring(r,i+n)+" ...",r-=4):(r=t.length-n,a="... "+t.substring(r,t.length),r-=4),{abbrDesc:a,occurrences:e.map((function(t){return{start:t.start-r,end:t.end-r}}))}}},{key:"getHighlightedText",value:function(t,e){if(!e||0===e.length)return[C.default.createElement("span",{key:"o"},t)];var n=[],i=0,o="";return e.forEach((function(a,r){o=t.substring(i,a.start),n.push(C.default.createElement("span",{key:"s"+r},o)),o=t.substring(a.start,a.end),n.push(C.default.createElement("mark",{key:"m"+r},o)),i=a.end,r===e.length-1&&a.end<t.length&&(o=t.substring(a.end),n.push(C.default.createElement("span",{key:"f"+r},o)))})),n}},{key:"showFullDescription",value:function(){this.setState({showFullDescription:!0})}},{key:"showShortDescription",value:function(){this.setState({showFullDescription:!1})}},{key:"imageDrag",value:function(){return!1}},{key:"render",value:function(){var t=null,e=this.props.isEditingEnabled?"true":"false",n=null;if(a.has_1(this.props.nodeTypeInfo.nodeType,"app_data.ui_data.image")){var i=this.props.nodeTypeInfo.nodeType.app_data.ui_data.image;i===l.USE_DEFAULT_ICON?i=H:i===l.USE_DEFAULT_EXT_ICON&&(i=U),n=i.endsWith(".svg")?C.default.createElement(k.default,{src:i,className:"palette-list-item-icon",draggable:"false"}):C.default.createElement("img",{src:i,className:"palette-list-item-icon",draggable:"false"})}!a.has_1(this.props.nodeTypeInfo.nodeType,"app_data.ui_data.label")||!this.props.isPaletteOpen&&n||(t=this.props.isDisplaySearchResult?this.getHighlightedLabel():C.default.createElement("span",null,this.props.nodeTypeInfo.nodeType.app_data.ui_data.label));var o=this.props.isShowRanking&&this.props.isDisplaySearchResult&&a.has_1(this.props.nodeTypeInfo,"occurrenceInfo.ranking")?C.default.createElement("span",null,this.props.nodeTypeInfo.occurrenceInfo.ranking):null;0===this.props.nodeTypeInfo.category.node_types.length&&this.props.nodeTypeInfo.category.empty_text&&(this.props.isPaletteOpen&&(t=this.props.nodeTypeInfo.category.empty_text),e="false",n=C.default.createElement(r.Icon,{type:l.CANVAS_CARBON_ICONS.WARNING_UNFILLED,className:"palette-list-item-icon-warning",draggable:"false"}));var s=this.props.isDisplaySearchResult?"palette-list-item search-result":"palette-list-item",c=this.props.isDisplaySearchResult?C.default.createElement("div",{className:"palette-list-item-category-label"},this.getHighlightedCategoryLabel()):null,u=this.props.isDisplaySearchResult&&a.has_1(this.props.nodeTypeInfo.nodeType,"app_data.ui_data.description")&&this.props.nodeTypeInfo.nodeType.app_data.ui_data.description?C.default.createElement("div",{className:"palette-list-item-description"},this.getHighlightedDesc()):null,d=t?C.default.createElement("div",{className:"palette-list-item-text-div"},t):null;return C.default.createElement("div",{id:this.props.nodeTypeInfo.nodeType.id,"data-id":this.props.nodeTypeInfo.nodeType.op,draggable:e,className:s,onMouseOver:this.onMouseOver,onMouseLeave:this.onMouseLeave,onMouseDown:this.props.isEditingEnabled?this.onMouseDown:null,onDragStart:this.props.isEditingEnabled?this.onDragStart:null,onDoubleClick:this.props.isEditingEnabled?this.onDoubleClick:null},c,C.default.createElement("div",{className:"palette-list-item-icon-and-text"},n,d,o),u)}}]),o}(C.default.Component),W=o.injectIntl(V);function K(t){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=e._getPrototypeOf(t);if(n){var a=e._getPrototypeOf(this).constructor;i=Reflect.construct(o,arguments,a)}else i=o.apply(this,arguments);return e._possibleConstructorReturn(this,i)}}var Z=function(n){e._inherits(o,n);var i=K(o);function o(e){var n;return t._classCallCheck(this,o),(n=i.call(this,e)).state={},n}return t._createClass(o,[{key:"render",value:function(){var t=[];if(this.props.category&&this.props.category.node_types&&0===this.props.category.node_types.length&&this.props.category.empty_text)t.push(C.default.createElement("div",{key:"item_empty"},C.default.createElement(W,{nodeTypeInfo:{nodeType:{},category:this.props.category},isDisplaySearchResult:!1,canvasController:this.props.canvasController,isPaletteOpen:this.props.isPaletteOpen})));else for(var e=0;e<this.props.nodeTypeInfos.length;e++){var n="item_"+e;t.push(C.default.createElement("div",{key:n},C.default.createElement(W,{nodeTypeInfo:this.props.nodeTypeInfos[e],isDisplaySearchResult:!1,canvasController:this.props.canvasController,isPaletteOpen:this.props.isPaletteOpen,isEditingEnabled:this.props.isEditingEnabled})))}var i={};return i.borderBottom=this.props.isLastCategory?"none":null,i.display=this.props.show?"block":"none",C.default.createElement("div",{width:"100%",draggable:"false",className:"palette-content-list palette-scroll",style:i},t)}}]),o}(C.default.Component);function q(t){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=e._getPrototypeOf(t);if(n){var a=e._getPrototypeOf(this).constructor;i=Reflect.construct(o,arguments,a)}else i=o.apply(this,arguments);return e._possibleConstructorReturn(this,i)}}var J=function(n){e._inherits(o,n);var i=q(o);function o(n){var a;return t._classCallCheck(this,o),(a=i.call(this,n)).state={selectedCategory:""},a.categorySelected=a.categorySelected.bind(e._assertThisInitialized(a)),a.getUniqueCategories=a.getUniqueCategories.bind(e._assertThisInitialized(a)),a.getSelectedCategory=a.getSelectedCategory.bind(e._assertThisInitialized(a)),a}return t._createClass(o,[{key:"getUniqueCategories",value:function(t){var e=[];if(t)for(var n=0;n<t.length;n++)-1===e.indexOf(t[n].label)&&e.push(t[n]);return e}},{key:"getSelectedCategory",value:function(t){var e={};if(t)for(var n=0;n<t.length;n++)t[n].label===this.state.selectedCategory&&(e=t[n]);return e}},{key:"categorySelected",value:function(t){this.setState({selectedCategory:t.target.firstChild.data})}},{key:"render",value:function(){var t=this.getUniqueCategories(this.props.paletteJSON.categories),e=this.getSelectedCategory(this.props.paletteJSON.categories),n=e&&e.node_types?e.node_types:[],i=n.map((function(t){return{nodeType:t,category:e}}));return C.default.createElement("div",{className:"palette-dialog-content",ref:"palettecontent"},C.default.createElement(R,{categories:t,selectedCategory:this.state.selectedCategory,categorySelectedMethod:this.categorySelected}),C.default.createElement(Y,{show:this.props.showGrid,category:e,nodeTypes:n,canvasController:this.props.canvasController,isEditingEnabled:this.props.isEditingEnabled}),C.default.createElement(Z,{show:!this.props.showGrid,category:e,nodeTypeInfos:i,canvasController:this.props.canvasController,isPaletteOpen:!0,isLastCategory:!1,isEditingEnabled:this.props.isEditingEnabled}))}}],[{key:"getDerivedStateFromProps",value:function(t,e){return t.paletteJSON&&t.paletteJSON.categories&&t.paletteJSON.categories.length>0&&""===e.selectedCategory?{selectedCategory:t.paletteJSON.categories[0].label}:{}}}]),o}(C.default.Component);function Q(t){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=e._getPrototypeOf(t);if(n){var a=e._getPrototypeOf(this).constructor;i=Reflect.construct(o,arguments,a)}else i=o.apply(this,arguments);return e._possibleConstructorReturn(this,i)}}var $=function(n){e._inherits(o,n);var i=Q(o);function o(n){var a;return t._classCallCheck(this,o),(a=i.call(this,n)).state={xPos:100,yPos:100,showGrid:!0},a.showGrid=a.showGrid.bind(e._assertThisInitialized(a)),a.mouseDownOnTopBar=a.mouseDownOnTopBar.bind(e._assertThisInitialized(a)),a.mouseDownOnPalette=a.mouseDownOnPalette.bind(e._assertThisInitialized(a)),a.mouseMove=a.mouseMove.bind(e._assertThisInitialized(a)),a.mouseUp=a.mouseUp.bind(e._assertThisInitialized(a)),a.windowResize=a.windowResize.bind(e._assertThisInitialized(a)),a.windowMaximize=a.windowMaximize.bind(e._assertThisInitialized(a)),a.getPaletteDiv=a.getPaletteDiv.bind(e._assertThisInitialized(a)),a.resizePalette=a.resizePalette.bind(e._assertThisInitialized(a)),a.movePalette=a.movePalette.bind(e._assertThisInitialized(a)),a.setResizingCursors=a.setResizingCursors.bind(e._assertThisInitialized(a)),a.setSizingHoverEdge=a.setSizingHoverEdge.bind(e._assertThisInitialized(a)),a.snapToWidth=a.snapToWidth.bind(e._assertThisInitialized(a)),a.snapToHeight=a.snapToHeight.bind(e._assertThisInitialized(a)),a.removePx=a.removePx.bind(e._assertThisInitialized(a)),a.dragging=!1,a.dragOffsetY=0,a.dragOffsetX=0,a.verticalSizingAction="",a.verticalSizingHover="",a.horizontalSizingAction="",a.hoizontalSizingHover="",a.savedWidth=0,a.savedLeft=0,a.savedHeight=0,a.savedTop=0,a.hoverZoneSize=3,a.totalHoverZoneSize=2*a.hoverZoneSize,a.adjustedWidth=137,a.adjustedHeight=51,a.adjustedScrollBarWidth=15,a.isMaximized=!1,a.paletteNodes=[],a.hackPaletteOffset=46,a.hackPaletteTopOffset=a.hackPaletteOffset+4,window.addEventListener("mousemove",a.mouseMove,!1),window.addEventListener("mouseup",a.mouseUp,!1),window.addEventListener("resize",a.windowResize,!1),a}return t._createClass(o,[{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(t,e){var n=t.clientY;return n>e.offsetTop+e.offsetHeight-this.hoverZoneSize&&(n=e.offsetTop+e.offsetHeight-this.hoverZoneSize),n}},{key:"getAdjustedMousePositionLeft",value:function(t,e){var n=t.clientX;return n<e.offsetLeft+this.hoverZoneSize&&(n=e.offsetLeft+this.hoverZoneSize),n}},{key:"getAdjustedMousePositionRight",value:function(t,e){var n=t.clientX;return n>e.offsetLeft+e.offsetWidth-this.hoverZoneSize&&(n=e.offsetLeft+e.offsetWidth-this.hoverZoneSize),n}},{key:"getAdjustedMousePositionTop",value:function(t,e){var n=t.clientY;return n<e.offsetTop+this.hoverZoneSize&&(n=e.offsetTop+this.hoverZoneSize),n}},{key:"getPaletteDiv",value:function(){return this.refs.palette}},{key:"getStyleProperty",value:function(t,e){var n=t.charAt(0),i=t.substring(1),o="#"===n?document.getElementById(i):document.getElementsByClassName(i)[0];return window.getComputedStyle(o,null).getPropertyValue(e)}},{key:"setResizingCursors",value:function(t){var e=this.getPaletteDiv();this.setSizingHoverEdge(t,e),"top"===this.verticalSizingHover?"left"===this.horizontalSizingHover?e.style.cursor="nwse-resize":"right"===this.horizontalSizingHover?e.style.cursor="nesw-resize":e.style.cursor="ns-resize":"bottom"===this.verticalSizingHover?"left"===this.horizontalSizingHover?e.style.cursor="nesw-resize":"right"===this.horizontalSizingHover?e.style.cursor="nwse-resize":e.style.cursor="ns-resize":"left"===this.horizontalSizingHover||"right"===this.horizontalSizingHover?e.style.cursor="ew-resize":e.style.cursor="default"}},{key:"setContentDivHeight",value:function(t,e){var n=e-this.removePx(this.getStyleProperty(".palette-dialog-topbar","height"))-this.totalHoverZoneSize+"px",i=t.childNodes[1];i.style.height=n,i.childNodes[0].style.height=n,i.childNodes[1].style.height=n,i.childNodes[2].style.height=n}},{key:"setSizingHoverEdge",value:function(t,e){t.clientX>e.offsetLeft&&t.clientX<e.offsetLeft+this.totalHoverZoneSize?this.horizontalSizingHover="left":t.clientX<e.offsetLeft+e.offsetWidth&&t.clientX>e.offsetLeft+e.offsetWidth-this.totalHoverZoneSize?this.horizontalSizingHover="right":(this.horizontalSizingHover="",this.horizontalSizingAction=""),t.clientY>e.offsetTop+this.hackPaletteTopOffset&&t.clientY<e.offsetTop+this.hackPaletteTopOffset+this.totalHoverZoneSize?this.verticalSizingHover="top":t.clientY<e.offsetTop+e.offsetHeight+this.hackPaletteOffset&&t.clientY>e.offsetTop+e.offsetHeight+this.hackPaletteOffset-this.totalHoverZoneSize?this.verticalSizingHover="bottom":(this.verticalSizingHover="",this.verticalSizingAction="")}},{key:"mouseDownOnTopBar",value:function(t){this.dragging=!0;var e=this.getPaletteDiv();this.dragOffsetX=t.clientX-e.offsetLeft,this.dragOffsetY=t.clientY-e.offsetTop}},{key:"mouseDownOnPalette",value:function(t){var e=this.getPaletteDiv();""===this.verticalSizingHover&&""===this.horizontalSizingHover||(this.verticalSizingAction=this.verticalSizingHover,this.horizontalSizingAction=this.horizontalSizingHover,this.savedWidth=e.offsetWidth,this.savedLeft=e.offsetLeft,this.savedHeight=e.offsetHeight,this.savedTop=e.offsetTop)}},{key:"mouseMove",value:function(t){""!==this.verticalSizingAction||""!==this.horizontalSizingAction?this.resizePalette(t):!0===this.dragging?this.movePalette(t):this.setResizingCursors(t)}},{key:"mouseUp",value:function(){var t=this.getPaletteDiv();if(this.state.showGrid&&""!==this.horizontalSizingAction){var e=this.removePx(t.style.width);""!==e&&(e=this.snapToWidth(e)),t.style.width=e+"px";var n=t.childNodes[1].childNodes[1];n.clientHeight<n.scrollHeight&&(t.style.width=e+this.adjustedScrollBarWidth+"px")}if(""!==this.verticalSizingAction){var i=this.removePx(t.style.height);if(""!==i){var o=this.snapToHeight(i);t.style.height=o+"px",this.setContentDivHeight(t,o)}}this.dragging=!1,this.verticalSizingAction="",this.horizontalSizingAction="",this.verticalSizingHover="",this.horizontalSizingHover=""}},{key:"movePalette",value:function(t){var e=this.getPaletteDiv(),n=document.getElementById(this.props.parentDivId),i=t.clientX-this.dragOffsetX,o=t.clientY-this.dragOffsetY;i<n.offsetLeft+this.hoverZoneSize&&(i=n.offsetLeft+this.hoverZoneSize),o<n.offsetTop+this.hoverZoneSize&&(o=n.offsetTop+this.hoverZoneSize),i+e.offsetWidth>n.offsetLeft+n.offsetWidth&&(i=n.offsetLeft+n.offsetWidth-e.offsetWidth-this.hoverZoneSize),o+e.offsetHeight>n.offsetTop+n.offsetHeight&&(o=n.offsetTop+n.offsetHeight-e.offsetHeight-this.hoverZoneSize),e.style.left=i+"px",e.style.top=o+"px"}},{key:"removePx",value:function(t){return parseInt(t.substring(0,t.indexOf("px")),10)}},{key:"resizePalette",value:function(t){var e=this.getPaletteDiv(),n=document.getElementById(this.props.parentDivId);this.isMaximized=!1;var i=this.removePx(this.getStyleProperty(".palette-dialog-grid-node-outer","width"))+this.removePx(this.getStyleProperty(".palette-dialog-categories","min-width"))+2*this.hoverZoneSize,o=this.removePx(this.getStyleProperty(".palette-dialog-grid-node-outer","height"))+this.removePx(this.getStyleProperty(".palette-dialog-topbar","height"))+2*this.hoverZoneSize;if("left"===this.horizontalSizingAction){var a=this.getAdjustedMousePositionLeft(t,n),r=this.savedWidth-(a-this.savedLeft);r<=i?e.style.width=i+"px":(e.style.width=r+"px",e.style.left=a+"px")}if("right"===this.horizontalSizingAction){var s=this.getAdjustedMousePositionRight(t,n)-this.savedLeft;s<=i&&(s=i),e.style.width=s+"px"}if("top"===this.verticalSizingAction){var l=this.getAdjustedMousePositionTop(t,n),c=this.savedHeight-(l-this.savedTop);c<=o?(e.style.height=o+"px",this.setContentDivHeight(e,this.minHeight)):(e.style.height=c+"px",e.style.top=l-this.dragOffsetY+"px",this.setContentDivHeight(e,c))}if("bottom"===this.verticalSizingAction){var u=this.getAdjustedMousePositionBottom(t,n)-this.savedTop-this.hackPaletteOffset;u<=o&&(u=o),e.style.height=u+"px",this.setContentDivHeight(e,u)}}},{key:"snapToWidth",value:function(t){var e=this.removePx(this.getStyleProperty(".palette-dialog-grid-node-outer","width"));return Math.round((t-this.adjustedWidth)/e)*e+this.adjustedWidth}},{key:"snapToHeight",value:function(t){var e=this.state.showGrid?this.removePx(this.getStyleProperty(".palette-dialog-grid-node-outer","height")):this.removePx(this.getStyleProperty(".palette-list-item","height"));return Math.round((t-this.adjustedHeight)/e)*e+this.adjustedHeight}},{key:"windowResize",value:function(){var t=this.getPaletteDiv(),e=document.getElementById(this.props.parentDivId);if(e)if(this.isMaximized){var n=e.offsetLeft+this.hoverZoneSize;t.style.left=n+"px";var i=e.offsetWidth-this.totalHoverZoneSize;t.style.width=i+"px";var o=e.offsetTop+this.hoverZoneSize;t.style.top=o+"px";var a=e.offsetHeight-this.totalHoverZoneSize;t.style.height=a+"px",this.setContentDivHeight(t,a)}else{if(t.offsetLeft+t.offsetWidth+this.hoverZoneSize>e.offsetLeft+e.offsetWidth){var r=e.offsetLeft+e.offsetWidth-t.offsetWidth-this.hoverZoneSize;t.style.left=r+"px"}var s=e.offsetWidth-this.totalHoverZoneSize;if(s<t.offsetWidth&&(t.style.width=s+"px",t.style.left=e.offsetLeft+e.offsetWidth-t.offsetWidth-this.hoverZoneSize+"px"),t.offsetTop+t.offsetHeight+this.hoverZoneSize>e.offsetTop+e.offsetHeight){var l=e.offsetTop+e.offsetHeight-t.offsetHeight-this.hoverZoneSize;t.style.top=l+"px"}var c=e.offsetHeight-this.totalHoverZoneSize;c<t.offsetHeight&&(t.style.height=c+"px",t.style.top=e.offsetTop+e.offsetHeight-t.offsetHeight-this.hoverZoneSize+"px",this.setContentDivHeight(t,c))}}},{key:"windowMaximize",value:function(){var t=this.getPaletteDiv(),e=document.getElementById(this.props.parentDivId);if(e)if(this.isMaximized)t.style.width=this.savedWidth+"px",t.style.left=this.savedLeft+"px",t.style.height=this.savedHeight+"px",t.style.top=this.savedTop+"px",this.setContentDivHeight(t,this.savedHeight),this.isMaximized=!1,this.windowResize();else{this.savedWidth=t.offsetWidth,this.savedLeft=t.offsetLeft,this.savedHeight=t.offsetHeight,this.savedTop=t.offsetTop;var n=e.offsetWidth-this.totalHoverZoneSize+1;t.style.width=n+"px",t.style.left=e.offsetLeft+this.hoverZoneSize+"px";var i=e.offsetHeight-this.totalHoverZoneSize+1;t.style.height=i+"px",t.style.top=e.offsetTop+this.hoverZoneSize+"px",this.setContentDivHeight(t,i),this.isMaximized=!0}}},{key:"showGrid",value:function(t){this.setState({showGrid:t})}},{key:"render",value:function(){var t=this.props.showPalette?"block":"none";return C.default.createElement("nav",{"aria-label":this.props.intl.formatMessage({id:"palette.dialog.label",defaultMessage:E}),role:"navigation"},C.default.createElement("div",{className:"palette-dialog-div",ref:"palette",onMouseDown:this.mouseDownOnPalette,style:{display:t}},C.default.createElement(O,{mouseDownMethod:this.mouseDownOnTopBar,showGridMethod:this.showGrid,windowMaximizeMethod:this.windowMaximize,showGrid:this.state.showGrid,canvasController:this.props.canvasController}),C.default.createElement(J,{paletteJSON:this.props.paletteJSON,showGrid:this.state.showGrid,canvasController:this.props.canvasController,isEditingEnabled:this.props.isEditingEnabled})))}}]),o}(C.default.Component),tt=o.injectIntl($),et=a._root,nt=function(){return et.Date.now()},it=a.isObject_1,ot=nt,at=c.toNumber_1,rt=Math.max,st=Math.min;var lt=function(t,e,n){var i,o,a,r,s,l,c=0,u=!1,d=!1,h=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function p(e){var n=i,a=o;return i=o=void 0,c=e,r=t.apply(a,n)}function g(t){return c=t,s=setTimeout(v,e),u?p(t):r}function f(t){var n=t-l;return void 0===l||n>=e||n<0||d&&t-c>=a}function v(){var t=ot();if(f(t))return y(t);s=setTimeout(v,function(t){var n=e-(t-l);return d?st(n,a-(t-c)):n}(t))}function y(t){return s=void 0,h&&i?p(t):(i=o=void 0,r)}function m(){var t=ot(),n=f(t);if(i=arguments,o=this,l=t,n){if(void 0===s)return g(l);if(d)return clearTimeout(s),s=setTimeout(v,e),p(l)}return void 0===s&&(s=setTimeout(v,e)),r}return e=at(e)||0,it(n)&&(u=!!n.leading,a=(d="maxWait"in n)?rt(at(n.maxWait)||0,e):a,h="trailing"in n?!!n.trailing:h),m.cancel=function(){void 0!==s&&clearTimeout(s),c=0,i=l=o=s=void 0},m.flush=function(){return void 0===s?r:y(ot())},m};function ct(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return ut(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ut(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,o=function(){};return{s:o,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},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(t)},n:function(){var t=n.next();return r=t.done,t},e:function(t){s=!0,a=t},f:function(){try{r||null==n.return||n.return()}finally{if(s)throw a}}}}function ut(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}function dt(t,e){var n=[];if(t.node_types){var i,o=ct(t.node_types);try{for(o.s();!(i=o.n()).done;){var a=i.value,r=ht(a,t,e);r&&n.push({nodeType:a,category:t,occurrenceInfo:r})}}catch(t){o.e(t)}finally{o.f()}}return n}function ht(t,e,n){if(n.length>0){var i=function(t,e){var n=pt(a.has_1(t,"label")&&t.label?t.label.toLowerCase():"",e),i=n.occurrences,o=n.hitCounts;return{catLabelOccurrences:i,catLabelHitCounts:o}}(e,n),o=i.catLabelOccurrences,r=i.catLabelHitCounts,s=function(t,e){var n=pt(a.has_1(t,"app_data.ui_data.label")&&t.app_data.ui_data.label?t.app_data.ui_data.label.toLowerCase():"",e),i=n.occurrences,o=n.hitCounts;return{nodeLabelOccurrences:i,nodeLabelHitCounts:o}}(t,n),l=s.nodeLabelOccurrences,c=s.nodeLabelHitCounts,u=function(t,e){var n=pt(a.has_1(t,"app_data.ui_data.description")&&t.app_data.ui_data.description?t.app_data.ui_data.description.toLowerCase():"",e),i=n.occurrences,o=n.hitCounts;return{nodeDescOccurrences:i,nodeDescHitCounts:o}}(t,n),d=u.nodeDescOccurrences,h=u.nodeDescHitCounts;if(o.length>0||l.length>0||d.length>0){var p=function(t,e,n,i){for(var o=0,a=0,r=0;r<i;r++)o+=t[r]+10*e[r]+n[r],t[r]+e[r]+n[r]>0&&a++;return o+50*a}(r,c,h,n.length);return{catLabelOccurrences:o,nodeLabelOccurrences:l,nodeDescOccurrences:d,ranking:p}}}return null}function pt(t,e){var n=[],i=[];return e.forEach((function(e){if(e){var o=function(t,e){var n=[],i=0,o=0,a=0;for(;o>-1&&a<20;)(o=t.indexOf(e,i))>-1&&(n.push({start:o,end:o+e.length}),i=o+e.length,a++);return n}(t,e);n=function(t,e){if(0===t.length)return e;if(0===e.length)return t;var n=[];e.forEach((function(e){var i=!1;t.forEach((function(t){e.start<=t.start&&e.end>=t.end?(t.start=e.start,t.end=e.end,i=!0):e.start>=t.start&&e.start<t.end?(e.end>=t.end&&(t.end=e.end),i=!0):e.end>t.start&&e.end<=t.end&&(e.start<t.start&&(t.start=e.start),i=!0)})),i||n.push(e)}));var i=t.concat(n);return i=i.sort((function(t,e){return t.start<e.start?-1:1}))}(n,o),i.push(o.length>0?1:0)}})),{occurrences:n,hitCounts:i}}function gt(t){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=e._getPrototypeOf(t);if(n){var a=e._getPrototypeOf(this).constructor;i=Reflect.construct(o,arguments,a)}else i=o.apply(this,arguments);return e._possibleConstructorReturn(this,i)}}var ft=function(n){e._inherits(o,n);var i=gt(o);function o(n){var a;return t._classCallCheck(this,o),(a=i.call(this,n)).onMouseOver=a.onMouseOver.bind(e._assertThisInitialized(a)),a.onMouseLeave=a.onMouseLeave.bind(e._assertThisInitialized(a)),a.categorySelected=a.categorySelected.bind(e._assertThisInitialized(a)),a}return t._createClass(o,[{key:"onMouseOver",value:function(t){this.props.canvasController.openTip({id:"paletteTip_"+this.props.category.id,type:l.TIP_TYPE_PALETTE_CATEGORY,targetObj:t.currentTarget,category:this.props.category})}},{key:"onMouseLeave",value:function(){this.props.canvasController.closeTip()}},{key:"getDisplayLabel",value:function(){return!0===this.props.isPaletteOpen?this.props.category.label:!this.props.category.image&&this.props.category.label&&this.props.category.label.length>0?this.props.category.label.substr(0,3):null}},{key:"getInlineLoadingRenderCategory",value:function(){var t="";return this.props.isPaletteOpen&&(t=this.props.category.loading_text),C.default.createElement("div",{className:"palette-flyout-category"},C.default.createElement("div",{className:"palette-flyout-category-item-loading"},C.default.createElement(h.InlineLoading,{description:t,iconDescription:t,onSuccess:function(){return null},status:"active",successDelay:1500})))}},{key:"getRenderCategory",value:function(){var t="palette-flyout-category-caret";this.props.isPaletteOpen||(t+=" palette-flyout-category-caret-closed");var e=null;(this.props.itemCount>0||this.props.category.empty_text)&&(e=this.props.isCategorySelected?C.default.createElement(r.Icon,{type:l.CANVAS_CARBON_ICONS.CHEVRONARROWS.UP,className:t}):C.default.createElement(r.Icon,{type:l.CANVAS_CARBON_ICONS.CHEVRONARROWS.DOWN,className:t}));var n=null;this.props.category.image&&""!==this.props.category.image&&(n=this.props.category.image.endsWith(".svg")?C.default.createElement("div",null,C.default.createElement(k.default,{src:this.props.category.image,className:"palette-flyout-category-item-icon",draggable:"false"})):C.default.createElement("div",null,C.default.createElement("img",{src:this.props.category.image,className:"palette-flyout-category-item-icon",draggable:"false"})));var i=null,o=this.getDisplayLabel();if(!0===this.props.isPaletteOpen){var a=this.props.category.image?"palette-flyout-category-text":"palette-flyout-category-text-no-image";i=C.default.createElement("span",{className:a},o)}else!this.props.category.image&&this.props.category.label&&this.props.category.label.length>0&&(i=C.default.createElement("span",{className:"palette-flyout-category-text-abbr"},o));return C.default.createElement("div",{className:"palette-flyout-category","data-id":d.get_1(this.props.category,"id",""),onClick:this.categorySelected,value:this.props.category.label,onMouseOver:this.onMouseOver,onMouseLeave:this.onMouseLeave},C.default.createElement("div",{className:"palette-flyout-category-item"},n,i),e)}},{key:"categorySelected",value:function(){this.props.categorySelectedMethod(this.props.category.id)}},{key:"render",value:function(){return this.props.category.loading_text?this.getInlineLoadingRenderCategory():this.getRenderCategory()}}]),o}(C.default.Component);function vt(t){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=e._getPrototypeOf(t);if(n){var a=e._getPrototypeOf(this).constructor;i=Reflect.construct(o,arguments,a)}else i=o.apply(this,arguments);return e._possibleConstructorReturn(this,i)}}var yt=function(n){e._inherits(o,n);var i=vt(o);function o(){var n;return t._classCallCheck(this,o),(n=i.call(this)).state={searchString:""},n.searchOnClick=n.searchOnClick.bind(e._assertThisInitialized(n)),n.handleSearchStringChange=n.handleSearchStringChange.bind(e._assertThisInitialized(n)),n}return t._createClass(o,[{key:"handleSearchStringChange",value:function(t){var e=this,n=t.target.value||"";this.setState({searchString:n},(function(){return e.props.handleSearchStringChange(n)}))}},{key:"searchOnClick",value:function(){this.props.isPaletteOpen||this.props.canvasController.openPalette()}},{key:"render",value:function(){var t=this.props.intl.formatMessage({id:"palette.flyout.search.placeholder",defaultMessage:_});return C.default.createElement("div",{className:"palette-flyout-search-container",id:"palette-flyout-search"},C.default.createElement(h.Search,{key:"palette-flyout-search",className:"palette-flyout-search",placeholder:t,onChange:this.handleSearchStringChange,size:"sm",value:this.state.searchString,labelText:t,onClick:this.searchOnClick}))}}]),o}(C.default.Component),mt=o.injectIntl(yt);function Ct(t){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=e._getPrototypeOf(t);if(n){var a=e._getPrototypeOf(this).constructor;i=Reflect.construct(o,arguments,a)}else i=o.apply(this,arguments);return e._possibleConstructorReturn(this,i)}}var kt=function(n){e._inherits(o,n);var i=Ct(o);function o(e){var n;return t._classCallCheck(this,o),(n=i.call(this,e)).state={},n}return t._createClass(o,[{key:"getNoResultsDiv",value:function(){var t=this.props.intl.formatMessage({id:"palette.flyout.search.noresults",defaultMessage:P}),e=this.props.intl.formatMessage({id:"palette.flyout.search.adjustsearch",defaultMessage:L});return C.default.createElement("div",null,C.default.createElement("div",{className:"palette-no-results-title"},t),C.default.createElement("br",null),C.default.createElement("div",{className:"palette-no-results-desc"},e))}},{key:"getContentListDiv",value:function(){for(var t=[],e=0;e<this.props.nodeTypeInfos.length;e++){var n="item_"+e;t.push(C.default.createElement("div",{key:n},C.default.createElement(W,{nodeTypeInfo:this.props.nodeTypeInfos[e],isDisplaySearchResult:!0,isShowRanking:this.props.isShowRanking,canvasController:this.props.canvasController,isPaletteOpen:this.props.isPaletteOpen,isEditingEnabled:this.props.isEditingEnabled})))}if(this.props.isNodeTypeInfosArrayTruncated){var i=this.props.intl.formatMessage({id:"palette.flyout.search.resultsrestricted",defaultMessage:N});t.push(C.default.createElement("div",{key:"restrict-item",className:"palette-flyout-restrict-item"},i))}return C.default.createElement("div",{width:"100%",draggable:"false",className:"palette-scroll"},t)}},{key:"render",value:function(){return 0===this.props.nodeTypeInfos.length?this.getNoResultsDiv():this.getContentListDiv()}}]),o}(C.default.Component),bt=o.injectIntl(kt);function _t(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return Pt(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Pt(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,o=function(){};return{s:o,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},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(t)},n:function(){var t=n.next();return r=t.done,t},e:function(t){s=!0,a=t},f:function(){try{r||null==n.return||n.return()}finally{if(s)throw a}}}}function Pt(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}function Lt(t){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=e._getPrototypeOf(t);if(n){var a=e._getPrototypeOf(this).constructor;i=Reflect.construct(o,arguments,a)}else i=o.apply(this,arguments);return e._possibleConstructorReturn(this,i)}}var Nt=new p.Logger("PaletteFlyoutContent"),Tt=function(n){e._inherits(o,n);var i=Lt(o);function o(n){var a;return t._classCallCheck(this,o),(a=i.call(this,n)).state={selectedCategoryIds:[],searchString:""},a.categories=[],a.categorySelected=a.categorySelected.bind(e._assertThisInitialized(a)),a.getUniqueCategories=a.getUniqueCategories.bind(e._assertThisInitialized(a)),a.setSearchString=a.setSearchString.bind(e._assertThisInitialized(a)),a.handleSearchStringChange=a.handleSearchStringChange.bind(e._assertThisInitialized(a)),a.setSearchStringThrottled=lt(a.setSearchString,200),a}return t._createClass(o,[{key:"getUniqueCategories",value:function(t){var e=[];if(t){var n,i=_t(t);try{for(i.s();!(n=i.n()).done;){var o=n.value;-1===e.indexOf(o.label)&&e.push(o)}}catch(t){i.e(t)}finally{i.f()}}return e}},{key:"getContentDivs",value:function(t){for(var e=this,n=[],i=function(i){var o=t[i],a=i===t.length-1,r=o.node_types.map((function(t){return{nodeType:t,category:o}})),s=e.isCategorySelected(o.id),l=null;s&&(l=C.default.createElement(Z,{key:o.label+"-nodes",show:!0,category:o,nodeTypeInfos:r,canvasController:e.props.canvasController,isPaletteOpen:e.props.isPaletteOpen,isLastCategory:a,isEditingEnabled:e.props.isEditingEnabled})),n.push(C.default.createElement("div",{key:o.label+"-container"},C.default.createElement(ft,{key:o.id,category:o,isCategorySelected:s,categorySelectedMethod:e.categorySelected,itemCount:r.length,canvasController:e.props.canvasController,isPaletteOpen:e.props.isPaletteOpen}),l))},o=0;o<t.length;o++)i(o);return n}},{key:"getFilteredContentDivs",value:function(t){Nt.logStartTimer("getFilteredNodeTypeInfos");var e=function(t,e){for(var n=[],i=e.toLowerCase().split(" ").filter((function(t){return""!==t})),o=0;o<t.length;o++)n.push.apply(n,u._toConsumableArray(dt(t[o],i)));return n.sort((function(t,e){return t.occurrenceInfo.ranking<=e.occurrenceInfo.ranking?1:-1}))}(this.categories,this.state.searchString);Nt.logEndTimer("getFilteredNodeTypeInfos");var n=!1;return e.length>10&&(e=e.slice(0,10),n=!0),[C.default.createElement(bt,{key:"filtered-nodes",nodeTypeInfos:e,canvasController:this.props.canvasController,isPaletteOpen:this.props.isPaletteOpen,isEditingEnabled:this.props.isEditingEnabled,isNodeTypeInfosArrayTruncated:n})]}},{key:"setSearchString",value:function(){this.setState({searchString:this.ss})}},{key:"handleSearchStringChange",value:function(t){this.ss=t,this.setSearchStringThrottled()}},{key:"categorySelected",value:function(t){var e=this.isCategorySelected(t)?this.state.selectedCategoryIds.filter((function(e){return e!==t})):this.state.selectedCategoryIds.concat(t);this.setState({selectedCategoryIds:e})}},{key:"isCategorySelected",value:function(t){return this.state.selectedCategoryIds.some((function(e){return e===t}))}},{key:"render",value:function(){this.categories=this.getUniqueCategories(this.props.paletteJSON.categories);var t=this.props.isPaletteOpen&&this.state.searchString?this.getFilteredContentDivs(this.categories):this.getContentDivs(this.categories),e=C.default.createElement("div",{className:"palette-flyout-categories"},t),n=C.default.createElement(mt,{handleSearchStringChange:this.handleSearchStringChange,isPaletteOpen:this.props.isPaletteOpen,canvasController:this.props.canvasController});return C.default.createElement("div",{className:"palette-flyout-content"},n,e)}}]),o}(C.default.Component);function St(t){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=e._getPrototypeOf(t);if(n){var a=e._getPrototypeOf(this).constructor;i=Reflect.construct(o,arguments,a)}else i=o.apply(this,arguments);return e._possibleConstructorReturn(this,i)}}var wt=function(n){e._inherits(o,n);var i=St(o);function o(e){var n;return t._classCallCheck(this,o),(n=i.call(this,e)).paletteNodes=[],n}return t._createClass(o,[{key:"render",value:function(){var t="palette-flyout-div";return this.props.showPalette?t+=" palette-flyout-div-open":(t+=" palette-flyout-div-closed",this.props.enableNarrowPalette&&(t+=" palette-flyout-div-narrow")),C.default.createElement("nav",{"aria-label":this.props.intl.formatMessage({id:"palette.flyout.label",defaultMessage:w}),role:"navigation"},C.default.createElement("div",{className:t},C.default.createElement(Tt,{paletteJSON:this.props.paletteJSON,canvasController:this.props.canvasController,isPaletteOpen:this.props.showPalette,isEditingEnabled:this.props.isEditingEnabled})))}}]),o}(C.default.Component),Et=o.injectIntl(wt);function xt(t){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=e._getPrototypeOf(t);if(n){var a=e._getPrototypeOf(this).constructor;i=Reflect.construct(o,arguments,a)}else i=o.apply(this,arguments);return e._possibleConstructorReturn(this,i)}}var It=function(n){e._inherits(o,n);var i=xt(o);function o(e){var n;return t._classCallCheck(this,o),(n=i.call(this,e)).logger=new p.Logger("Palette"),n}return t._createClass(o,[{key:"render",value:function(){this.logger.log("render");var t=null;return this.props.enablePaletteLayout===l.PALETTE_LAYOUT_FLYOUT?t=C.default.createElement(Et,{enableNarrowPalette:this.props.enableNarrowPalette,paletteJSON:this.props.paletteJSON,showPalette:this.props.showPalette,canvasController:this.props.canvasController,isEditingEnabled:this.props.isEditingEnabled}):this.props.enablePaletteLayout===l.PALETTE_LAYOUT_MODAL&&(t=C.default.createElement(tt,{paletteJSON:this.props.paletteJSON,showPalette:this.props.showPalette,parentDivId:this.props.containingDivId,canvasController:this.props.canvasController,isEditingEnabled:this.props.isEditingEnabled})),t}}]),o}(C.default.Component),Dt=i.connect((function(t,e){return{enablePaletteLayout:t.canvasconfig.enablePaletteLayout,enableNarrowPalette:t.canvasconfig.enableNarrowPalette,isEditingEnabled:t.canvasconfig.enableEditingActions,paletteJSON:t.palette.content,showPalette:void 0!==t.palette.isOpen&&t.palette.isOpen}}))(It);function Ot(t){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=e._getPrototypeOf(t);if(n){var a=e._getPrototypeOf(this).constructor;i=Reflect.construct(o,arguments,a)}else i=o.apply(this,arguments);return e._possibleConstructorReturn(this,i)}}var At=function(n){e._inherits(o,n);var i=Ot(o);function o(n){var a;return t._classCallCheck(this,o),(a=i.call(this,n)).state={},a.handleClick=a.handleClick.bind(e._assertThisInitialized(a)),a}return t._createClass(o,[{key:"componentDidMount",value:function(){document.addEventListener("mousedown",this.handleClick,!0)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("mousedown",this.handleClick,!0)}},{key:"handleClick",value:function(t){this.props.canvasController.closeTip()}},{key:"render",value:function(){var t=null,e=null;switch(this.props.type){case l.TIP_TYPE_PALETTE_ITEM:case l.TIP_TYPE_PALETTE_CATEGORY:e="right";break;case l.TIP_TYPE_NODE:case l.TIP_TYPE_PORT:case l.TIP_TYPE_DEC:case l.TIP_TYPE_LINK:case l.TIP_TYPE_STATE_TAG:default:e="bottom"}if(this.props.customContent)t=this.props.customContent;else switch(this.props.type){case l.TIP_TYPE_PALETTE_ITEM:t=C.default.createElement("div",{className:"tip-palette-item"},C.default.createElement("div",{className:"tip-palette-category"},this.props.category.label),C.default.createElement("div",{className:"tip-palette-label"},this.props.nodeTemplate.app_data.ui_data.label),this.props.nodeTemplate.app_data.ui_data.description?C.default.createElement("div",{className:"tip-palette-desc"},this.props.nodeTemplate.app_data.ui_data.description):"");break;case l.TIP_TYPE_PALETTE_CATEGORY:t=C.default.createElement("div",{className:"tip-palette-item"},C.default.createElement("div",{className:"tip-palette-label"},this.props.category.label),this.props.category.description?C.default.createElement("div",{className:"tip-palette-desc"},this.props.category.description):"");break;case l.TIP_TYPE_NODE:var n=null;this.props.canvasController.getObjectModel().hasErrorMessage(this.props.node)?n=C.default.createElement(r.Icon,{type:l.ERROR,className:"tip-node-status error"}):this.props.canvasController.getObjectModel().hasWarningMessage(this.props.node)&&(n=C.default.createElement(r.Icon,{type:l.WARNING,className:"tip-node-status warning"}));var i=this.props.canvasController.getObjectModel().getPaletteNode(this.props.node.op),o=this.props.node.label,s=i&&i.app_data&&i.app_data.ui_data?i.app_data.ui_data.label:o;if(o!==s&&(o+=" (".concat(s,")")),!(n||o||s||this.props.node.description))return null;t=C.default.createElement("div",{className:"tip-node"},n,C.default.createElement("div",{className:"tip-node-label"},o),this.props.node.description?C.default.createElement("div",{className:"tip-node-desc"},this.props.node.description):"");break;case l.TIP_TYPE_PORT:t=a.isEmpty_1(this.props.port.label)?null:C.default.createElement("div",{className:"tip-port"},this.props.port.label);break;case l.TIP_TYPE_DEC:t=a.isEmpty_1(this.props.decoration.tooltip)?null:C.default.createElement("div",{className:"tip-decoration"},this.props.decoration.tooltip);break;case l.TIP_TYPE_LINK:break;case l.TIP_TYPE_STATE_TAG:t=a.isEmpty_1(this.props.stateTagText)?null:C.default.createElement("div",{className:"tip-state-tag"},this.props.stateTagText);break;default:t=null}return null!==t?C.default.createElement(g,{tip:t,direction:e,id:this.props.id,targetObj:this.props.targetObj,mousePos:this.props.mousePos,className:[l.TIP_TYPE_NODE,l.TIP_TYPE_PORT,l.TIP_TYPE_DEC,l.TIP_TYPE_LINK].includes(this.props.type)?"definition-tooltip":null}):null}}]),o}(C.default.Component),zt=i.connect((function(t,e){return{id:t.tooltip.id,type:t.tooltip.type,targetObj:t.tooltip.targetObj,mousePos:t.tooltip.mousePos,customContent:t.tooltip.customContent,node:t.tooltip.node,port:t.tooltip.port,decoration:t.tooltip.decoration,nodeTemplate:t.tooltip.nodeTemplate,category:t.tooltip.category,stateTagText:t.tooltip.stateTagText}}))(At);function Mt(t){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=e._getPrototypeOf(t);if(n){var a=e._getPrototypeOf(this).constructor;i=Reflect.construct(o,arguments,a)}else i=o.apply(this,arguments);return e._possibleConstructorReturn(this,i)}}var Rt=function(n){e._inherits(o,n);var i=Mt(o);function o(e){var n;return t._classCallCheck(this,o),(n=i.call(this,e)).logger=new p.Logger("CC-ContextMenu"),n}return t._createClass(o,[{key:"render",value:function(){this.logger.log("render");var t=null;return a.isEmpty_1(this.props.contextMenuDef)||(t=C.default.createElement(v,{containingDivId:this.props.containingDivId,contextMenuDef:this.props.contextMenuDef,contextMenuActionHandler:this.props.canvasController.contextMenuActionHandler,contextMenuPos:this.props.canvasController.getContextMenuPos(),closeContextMenu:this.props.canvasController.closeContextMenu,stopPropagation:!0})),t}}]),o}(C.default.Component),Ht=i.connect((function(t,e){return{contextMenuDef:t.contextmenu.menuDef}}))(Rt);function Ut(t){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=e._getPrototypeOf(t);if(n){var a=e._getPrototypeOf(this).constructor;i=Reflect.construct(o,arguments,a)}else i=o.apply(this,arguments);return e._possibleConstructorReturn(this,i)}}var jt=function(n){e._inherits(o,n);var i=Ut(o);function o(n){var a;return t._classCallCheck(this,o),(a=i.call(this,n)).logger=new p.Logger("CC-StateTag"),a.onMouseOver=a.onMouseOver.bind(e._assertThisInitialized(a)),a.onMouseLeave=a.onMouseLeave.bind(e._assertThisInitialized(a)),a}return t._createClass(o,[{key:"onMouseOver",value:function(t){var e;this.props.stateTagType===l.STATE_TAG_LOCKED?e=this.getLabel("canvas.stateTagTipLocked"):this.props.stateTagType===l.STATE_TAG_READ_ONLY&&(e=this.getLabel("canvas.stateTagTipReadOnly")),this.props.canvasController.openTip({id:"stateTagTip",type:l.TIP_TYPE_STATE_TAG,stateTagType:this.props.stateTagType,stateTagText:e,targetObj:t.currentTarget})}},{key:"onMouseLeave",value:function(){this.props.canvasController.closeTip()}},{key:"getLabel",value:function(t){return this.props.intl.formatMessage({id:t,defaultMessage:p.defaultMessages1[t]})}},{key:"getStateTag",value:function(t,e){return C.default.createElement("div",{className:"state-tag",onMouseOver:this.onMouseOver,onMouseLeave:this.onMouseLeave},e,C.default.createElement("span",null,t))}},{key:"render",value:function(){this.logger.log("render");var t=null;if(this.props.stateTagType===l.STATE_TAG_LOCKED){var e=this.getLabel("canvas.stateTagLocked");t=this.getStateTag(e,C.default.createElement(y.Locked16,null))}else if(this.props.stateTagType===l.STATE_TAG_READ_ONLY){var n=this.getLabel("canvas.stateTagReadOnly");t=this.getStateTag(n,C.default.createElement(y.EditOff16,null))}return t}}]),o}(C.default.Component),Bt=o.injectIntl(jt),Ft="http://www.w3.org/1999/xhtml",Gt={svg:"http://www.w3.org/2000/svg",xhtml:Ft,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Yt(t){var e=t+="",n=e.indexOf(":");return n>=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),Gt.hasOwnProperty(e)?{space:Gt[e],local:t}:t}function Xt(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===Ft&&e.documentElement.namespaceURI===Ft?e.createElement(t):e.createElementNS(n,t)}}function Vt(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Wt(t){var e=Yt(t);return(e.local?Vt:Xt)(e)}function Kt(){}function Zt(t){return null==t?Kt:function(){return this.querySelector(t)}}function qt(t){return null==t?[]:Array.isArray(t)?t:Array.from(t)}function Jt(){return[]}function Qt(t){return null==t?Jt:function(){return this.querySelectorAll(t)}}function $t(t){return function(){return this.matches(t)}}function te(t){return function(e){return e.matches(t)}}var ee=Array.prototype.find;function ne(){return this.firstElementChild}var ie=Array.prototype.filter;function oe(){return Array.from(this.children)}function ae(t){return new Array(t.length)}function re(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}function se(t){return function(){return t}}function le(t,e,n,i,o,a){for(var r,s=0,l=e.length,c=a.length;s<c;++s)(r=e[s])?(r.__data__=a[s],i[s]=r):n[s]=new re(t,a[s]);for(;s<l;++s)(r=e[s])&&(o[s]=r)}function ce(t,e,n,i,o,a,r){var s,l,c,u=new Map,d=e.length,h=a.length,p=new Array(d);for(s=0;s<d;++s)(l=e[s])&&(p[s]=c=r.call(l,l.__data__,s,e)+"",u.has(c)?o[s]=l:u.set(c,l));for(s=0;s<h;++s)c=r.call(t,a[s],s,a)+"",(l=u.get(c))?(i[s]=l,l.__data__=a[s],u.delete(c)):n[s]=new re(t,a[s]);for(s=0;s<d;++s)(l=e[s])&&u.get(p[s])===l&&(o[s]=l)}function ue(t){return t.__data__}function de(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function he(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function pe(t){return function(){this.removeAttribute(t)}}function ge(t){return function(){this.removeAttributeNS(t.space,t.local)}}function fe(t,e){return function(){this.setAttribute(t,e)}}function ve(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function ye(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}}function me(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}function Ce(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function ke(t){return function(){this.style.removeProperty(t)}}function be(t,e,n){return function(){this.style.setProperty(t,e,n)}}function _e(t,e,n){return function(){var i=e.apply(this,arguments);null==i?this.style.removeProperty(t):this.style.setProperty(t,i,n)}}function Pe(t,e){return t.style.getPropertyValue(e)||Ce(t).getComputedStyle(t,null).getPropertyValue(e)}function Le(t){return function(){delete this[t]}}function Ne(t,e){return function(){this[t]=e}}function Te(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}function Se(t){return t.trim().split(/^|\s+/)}function we(t){return t.classList||new Ee(t)}function Ee(t){this._node=t,this._names=Se(t.getAttribute("class")||"")}function xe(t,e){for(var n=we(t),i=-1,o=e.length;++i<o;)n.add(e[i])}function Ie(t,e){for(var n=we(t),i=-1,o=e.length;++i<o;)n.remove(e[i])}function De(t){return function(){xe(this,t)}}function Oe(t){return function(){Ie(this,t)}}function Ae(t,e){return function(){(e.apply(this,arguments)?xe:Ie)(this,t)}}function ze(){this.textContent=""}function Me(t){return function(){this.textContent=t}}function Re(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}}function He(){this.innerHTML=""}function Ue(t){return function(){this.innerHTML=t}}function je(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}}function Be(){this.nextSibling&&this.parentNode.appendChild(this)}function Fe(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Ge(){return null}function Ye(){var t=this.parentNode;t&&t.removeChild(this)}function Xe(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function Ve(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function We(t){return t.trim().split(/^|\s+/).map((function(t){var e="",n=t.indexOf(".");return n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}}))}function Ke(t){return function(){var e=this.__on;if(e){for(var n,i=0,o=-1,a=e.length;i<a;++i)n=e[i],t.type&&n.type!==t.type||n.name!==t.name?e[++o]=n:this.removeEventListener(n.type,n.listener,n.options);++o?e.length=o:delete this.__on}}}function Ze(t,e,n){return function(){var i,o=this.__on,a=function(t){return function(e){t.call(this,e,this.__data__)}}(e);if(o)for(var r=0,s=o.length;r<s;++r)if((i=o[r]).type===t.type&&i.name===t.name)return this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=n),void(i.value=e);this.addEventListener(t.type,a,n),i={type:t.type,name:t.name,value:e,listener:a,options:n},o?o.push(i):this.__on=[i]}}function qe(t,e,n){var i=Ce(t),o=i.CustomEvent;"function"==typeof o?o=new o(e,n):(o=i.document.createEvent("Event"),n?(o.initEvent(e,n.bubbles,n.cancelable),o.detail=n.detail):o.initEvent(e,!1,!1)),t.dispatchEvent(o)}function Je(t,e){return function(){return qe(this,t,e)}}function Qe(t,e){return function(){return qe(this,t,e.apply(this,arguments))}}re.prototype={constructor:re,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}},Ee.prototype={add:function(t){this._names.indexOf(t)<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var $e=[null];function tn(t,e){this._groups=t,this._parents=e}function en(){return new tn([[document.documentElement]],$e)}function nn(t){return"string"==typeof t?new tn([[document.querySelector(t)]],[document.documentElement]):new tn([[t]],$e)}tn.prototype=en.prototype={constructor:tn,select:function(t){"function"!=typeof t&&(t=Zt(t));for(var e=this._groups,n=e.length,i=new Array(n),o=0;o<n;++o)for(var a,r,s=e[o],l=s.length,c=i[o]=new Array(l),u=0;u<l;++u)(a=s[u])&&(r=t.call(a,a.__data__,u,s))&&("__data__"in a&&(r.__data__=a.__data__),c[u]=r);return new tn(i,this._parents)},selectAll:function(t){t="function"==typeof t?function(t){return function(){return qt(t.apply(this,arguments))}}(t):Qt(t);for(var e=this._groups,n=e.length,i=[],o=[],a=0;a<n;++a)for(var r,s=e[a],l=s.length,c=0;c<l;++c)(r=s[c])&&(i.push(t.call(r,r.__data__,c,s)),o.push(r));return new tn(i,o)},selectChild:function(t){return this.select(null==t?ne:function(t){return function(){return ee.call(this.children,t)}}("function"==typeof t?t:te(t)))},selectChildren:function(t){return this.selectAll(null==t?oe:function(t){return function(){return ie.call(this.children,t)}}("function"==typeof t?t:te(t)))},filter:function(t){"function"!=typeof t&&(t=$t(t));for(var e=this._groups,n=e.length,i=new Array(n),o=0;o<n;++o)for(var a,r=e[o],s=r.length,l=i[o]=[],c=0;c<s;++c)(a=r[c])&&t.call(a,a.__data__,c,r)&&l.push(a);return new tn(i,this._parents)},data:function(t,e){if(!arguments.length)return Array.from(this,ue);var n=e?ce:le,i=this._parents,o=this._groups;"function"!=typeof t&&(t=se(t));for(var a=o.length,r=new Array(a),s=new Array(a),l=new Array(a),c=0;c<a;++c){var u=i[c],d=o[c],h=d.length,p=de(t.call(u,u&&u.__data__,c,i)),g=p.length,f=s[c]=new Array(g),v=r[c]=new Array(g),y=l[c]=new Array(h);n(u,d,f,v,y,p,e);for(var m,C,k=0,b=0;k<g;++k)if(m=f[k]){for(k>=b&&(b=k+1);!(C=v[b])&&++b<g;);m._next=C||null}}return(r=new tn(r,i))._enter=s,r._exit=l,r},enter:function(){return new tn(this._enter||this._groups.map(ae),this._parents)},exit:function(){return new tn(this._exit||this._groups.map(ae),this._parents)},join:function(t,e,n){var i=this.enter(),o=this,a=this.exit();return"function"==typeof t?(i=t(i))&&(i=i.selection()):i=i.append(t+""),null!=e&&(o=e(o))&&(o=o.selection()),null==n?a.remove():n(a),i&&o?i.merge(o).order():o},merge:function(t){for(var e=t.selection?t.selection():t,n=this._groups,i=e._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,p=s[l]=new Array(h),g=0;g<h;++g)(c=u[g]||d[g])&&(p[g]=c);for(;l<o;++l)s[l]=n[l];return new tn(s,this._parents)},selection:function(){return this},order:function(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var i,o=t[e],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(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=he);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(e)}return new tn(o,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var i=t[e],o=0,a=i.length;o<a;++o){var r=i[o];if(r)return r}return null},size:function(){let t=0;for(const e of this)++t;return t},empty:function(){return!this.node()},each:function(t){for(var e=this._groups,n=0,i=e.length;n<i;++n)for(var o,a=e[n],r=0,s=a.length;r<s;++r)(o=a[r])&&t.call(o,o.__data__,r,a);return this},attr:function(t,e){var n=Yt(t);if(arguments.length<2){var i=this.node();return n.local?i.getAttributeNS(n.space,n.local):i.getAttribute(n)}return this.each((null==e?n.local?ge:pe:"function"==typeof e?n.local?me:ye:n.local?ve:fe)(n,e))},style:function(t,e,n){return arguments.length>1?this.each((null==e?ke:"function"==typeof e?_e:be)(t,e,null==n?"":n)):Pe(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?Le:"function"==typeof e?Te:Ne)(t,e)):this.node()[t]},classed:function(t,e){var n=Se(t+"");if(arguments.length<2){for(var i=we(this.node()),o=-1,a=n.length;++o<a;)if(!i.contains(n[o]))return!1;return!0}return this.each(("function"==typeof e?Ae:e?De:Oe)(n,e))},text:function(t){return arguments.length?this.each(null==t?ze:("function"==typeof t?Re:Me)(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?He:("function"==typeof t?je:Ue)(t)):this.node().innerHTML},raise:function(){return this.each(Be)},lower:function(){return this.each(Fe)},append:function(t){var e="function"==typeof t?t:Wt(t);return this.select((function(){return this.appendChild(e.apply(this,arguments))}))},insert:function(t,e){var n="function"==typeof t?t:Wt(t),i=null==e?Ge:"function"==typeof e?e:Zt(e);return this.select((function(){return this.insertBefore(n.apply(this,arguments),i.apply(this,arguments)||null)}))},remove:function(){return this.each(Ye)},clone:function(t){return this.select(t?Ve:Xe)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,e,n){var i,o,a=We(t+""),r=a.length;if(!(arguments.length<2)){for(s=e?Ze:Ke,i=0;i<r;++i)this.each(s(a[i],e,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(t,e){return this.each(("function"==typeof e?Qe:Je)(t,e))},[Symbol.iterator]:function*(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var i,o=t[e],a=0,r=o.length;a<r;++a)(i=o[a])&&(yield i)}};var on=0;function an(){return new rn}function rn(){this._="@"+(++on).toString(36)}function sn(t){let e;for(;e=t.sourceEvent;)t=e;return t}function ln(t,e){if(t=sn(t),void 0===e&&(e=t.currentTarget),e){var n=e.ownerSVGElement||e;if(n.createSVGPoint){var i=n.createSVGPoint();return i.x=t.clientX,i.y=t.clientY,[(i=i.matrixTransform(e.getScreenCTM().inverse())).x,i.y]}if(e.getBoundingClientRect){var o=e.getBoundingClientRect();return[t.clientX-o.left-e.clientLeft,t.clientY-o.top-e.clientTop]}}return[t.pageX,t.pageY]}rn.prototype=an.prototype={constructor:rn,get:function(t){for(var e=this._;!(e in t);)if(!(t=t.parentNode))return;return t[e]},set:function(t,e){return t[this._]=e},remove:function(t){return this._ in t&&delete t[this._]},toString:function(){return this._}};var cn=Object.freeze({__proto__:null,create:function(t){return nn(Wt(t).call(document.documentElement))},creator:Wt,local:an,matcher:$t,namespace:Yt,namespaces:Gt,pointer:ln,pointers:function(t,e){return t.target&&(t=sn(t),void 0===e&&(e=t.currentTarget),t=t.touches||[t]),Array.from(t,(t=>ln(t,e)))},select:nn,selectAll:function(t){return"string"==typeof t?new tn([document.querySelectorAll(t)],[document.documentElement]):new tn([qt(t)],$e)},selection:en,selector:Zt,selectorAll:Qt,style:Pe,window:Ce});var un=function(t){return function(e){return null==t?void 0:t[e]}},dn=un({"&":"&","<":"<",">":">",""":'"',"'":"'"}),hn=a.toString_1,pn=dn,gn=/&(?:amp|lt|gt|quot|#39);/g,fn=RegExp(gn.source);var vn=function(t){return(t=hn(t))&&fn.test(t)?t.replace(gn,pn):t},yn=un({"&":"&","<":"<",">":">",'"':""","'":"'"}),mn=a.toString_1,Cn=/[&<>"']/g,kn=RegExp(Cn.source);var bn=function(t){return(t=mn(t))&&kn.test(t)?t.replace(Cn,yn):t},_n={value:()=>{}};function Pn(){for(var t,e=0,n=arguments.length,i={};e<n;++e){if(!(t=arguments[e]+"")||t in i||/[\s.]/.test(t))throw new Error("illegal type: "+t);i[t]=[]}return new Ln(i)}function Ln(t){this._=t}function Nn(t,e){return t.trim().split(/^|\s+/).map((function(t){var n="",i=t.indexOf(".");if(i>=0&&(n=t.slice(i+1),t=t.slice(0,i)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:n}}))}function Tn(t,e){for(var n,i=0,o=t.length;i<o;++i)if((n=t[i]).name===e)return n.value}function Sn(t,e,n){for(var i=0,o=t.length;i<o;++i)if(t[i].name===e){t[i]=_n,t=t.slice(0,i).concat(t.slice(i+1));break}return null!=n&&t.push({name:e,value:n}),t}Ln.prototype=Pn.prototype={constructor:Ln,on:function(t,e){var n,i=this._,o=Nn(t+"",i),a=-1,r=o.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++a<r;)if(n=(t=o[a]).type)i[n]=Sn(i[n],t.name,e);else if(null==e)for(n in i)i[n]=Sn(i[n],t.name,null);return this}for(;++a<r;)if((n=(t=o[a]).type)&&(n=Tn(i[n],t.name)))return n},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new Ln(t)},call:function(t,e){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(t))throw new Error("unknown type: "+t);for(a=0,n=(i=this._[t]).length;a<n;++a)i[a].value.apply(e,o)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var i=this._[t],o=0,a=i.length;o<a;++o)i[o].value.apply(e,n)}};const wn={passive:!1},En={capture:!0,passive:!1};function xn(t){t.stopImmediatePropagation()}function In(t){t.preventDefault(),t.stopImmediatePropagation()}function Dn(t){var e=t.document.documentElement,n=nn(t).on("dragstart.drag",In,En);"onselectstart"in e?n.on("selectstart.drag",In,En):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function On(t,e){var n=t.document.documentElement,i=nn(t).on("dragstart.drag",null);e&&(i.on("click.drag",In,En),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 An=t=>()=>t;function zn(t,{sourceEvent:e,subject:n,target:i,identifier:o,active:a,x:r,y:s,dx:l,dy:c,dispatch:u}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,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 Mn(t){return!t.ctrlKey&&!t.button}function Rn(){return this.parentNode}function Hn(t,e){return null==e?{x:t.x,y:t.y}:e}function Un(){return navigator.maxTouchPoints||"ontouchstart"in this}zn.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};var jn=Object.freeze({__proto__:null,drag:function(){var t,e,n,i,o=Mn,a=Rn,r=Hn,s=Un,l={},c=Pn("start","drag","end"),u=0,d=0;function h(t){t.on("mousedown.drag",p).filter(s).on("touchstart.drag",v).on("touchmove.drag",y,wn).on("touchend.drag touchcancel.drag",m).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(r,s){if(!i&&o.call(this,r,s)){var l=C(this,a.call(this,r,s),r,s,"mouse");l&&(nn(r.view).on("mousemove.drag",g,En).on("mouseup.drag",f,En),Dn(r.view),xn(r),n=!1,t=r.clientX,e=r.clientY,l("start",r))}}function g(i){if(In(i),!n){var o=i.clientX-t,a=i.clientY-e;n=o*o+a*a>d}l.mouse("drag",i)}function f(t){nn(t.view).on("mousemove.drag mouseup.drag",null),On(t.view,n),In(t),l.mouse("end",t)}function v(t,e){if(o.call(this,t,e)){var n,i,r=t.changedTouches,s=a.call(this,t,e),l=r.length;for(n=0;n<l;++n)(i=C(this,s,t,e,r[n].identifier,r[n]))&&(xn(t),i("start",t,r[n]))}}function y(t){var e,n,i=t.changedTouches,o=i.length;for(e=0;e<o;++e)(n=l[i[e].identifier])&&(In(t),n("drag",t,i[e]))}function m(t){var e,n,o=t.changedTouches,a=o.length;for(i&&clearTimeout(i),i=setTimeout((function(){i=null}),500),e=0;e<a;++e)(n=l[o[e].identifier])&&(xn(t),n("end",t,o[e]))}function C(t,e,n,i,o,a){var s,d,p,g=c.copy(),f=ln(a||n,e);if(null!=(p=r.call(t,new zn("beforestart",{sourceEvent:n,target:h,identifier:o,active:u,x:f[0],y:f[1],dx:0,dy:0,dispatch:g}),i)))return s=p.x-f[0]||0,d=p.y-f[1]||0,function n(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=ln(c||r,e),v=u}g.call(a,t,new zn(a,{sourceEvent:r,subject:p,target:h,identifier:o,active:v,x:f[0]+s,y:f[1]+d,dx:f[0]-y[0],dy:f[1]-y[1],dispatch:g}),i)}}return h.filter=function(t){return arguments.length?(o="function"==typeof t?t:An(!!t),h):o},h.container=function(t){return arguments.length?(a="function"==typeof t?t:An(t),h):a},h.subject=function(t){return arguments.length?(r="function"==typeof t?t:An(t),h):r},h.touchable=function(t){return arguments.length?(s="function"==typeof t?t:An(!!t),h):s},h.on=function(){var t=c.on.apply(c,arguments);return t===c?h:t},h.clickDistance=function(t){return arguments.length?(d=(t=+t)*t,h):Math.sqrt(d)},h},dragDisable:Dn,dragEnable:On});function Bn(t){return((t*=2)<=1?t*t:--t*(2-t)+1)/2}function Fn(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var Gn=function t(e){function n(t){return Math.pow(t,e)}return e=+e,n.exponent=t,n}(3),Yn=function t(e){function n(t){return 1-Math.pow(1-t,e)}return e=+e,n.exponent=t,n}(3),Xn=function t(e){function n(t){return((t*=2)<=1?Math.pow(t,e):2-Math.pow(2-t,e))/2}return e=+e,n.exponent=t,n}(3),Vn=Math.PI,Wn=Vn/2;function Kn(t){return(1-Math.cos(Vn*t))/2}function Zn(t){return 1.0009775171065494*(Math.pow(2,-10*t)-.0009765625)}function qn(t){return((t*=2)<=1?Zn(1-t):2-Zn(t-1))/2}function Jn(t){return((t*=2)<=1?1-Math.sqrt(1-t*t):Math.sqrt(1-(t-=2)*t)+1)/2}var Qn=4/11,$n=7.5625;function ti(t){return(t=+t)<Qn?$n*t*t:t<.7272727272727273?$n*(t-=.5454545454545454)*t+.75:t<.9090909090909091?$n*(t-=.8181818181818182)*t+.9375:$n*(t-=.9545454545454546)*t+.984375}var ei=function t(e){function n(t){return(t=+t)*t*(e*(t-1)+t)}return e=+e,n.overshoot=t,n}(1.70158),ni=function t(e){function n(t){return--t*t*((t+1)*e+t)+1}return e=+e,n.overshoot=t,n}(1.70158),ii=function t(e){function n(t){return((t*=2)<1?t*t*((e+1)*t-e):(t-=2)*t*((e+1)*t+e)+2)/2}return e=+e,n.overshoot=t,n}(1.70158),oi=2*Math.PI,ai=function t(e,n){var i=Math.asin(1/(e=Math.max(1,e)))*(n/=oi);function o(t){return e*Zn(- --t)*Math.sin((i-t)/n)}return o.amplitude=function(e){return t(e,n*oi)},o.period=function(n){return t(e,n)},o}(1,.3),ri=function t(e,n){var i=Math.asin(1/(e=Math.max(1,e)))*(n/=oi);function o(t){return 1-e*Zn(t=+t)*Math.sin((t+i)/n)}return o.amplitude=function(e){return t(e,n*oi)},o.period=function(n){return t(e,n)},o}(1,.3),si=function t(e,n){var i=Math.asin(1/(e=Math.max(1,e)))*(n/=oi);function o(t){return((t=2*t-1)<0?e*Zn(-t)*Math.sin((i-t)/n):2-e*Zn(t)*Math.sin((i+t)/n))/2}return o.amplitude=function(e){return t(e,n*oi)},o.period=function(n){return t(e,n)},o}(1,.3),li=Object.freeze({__proto__:null,easeLinear:t=>+t,easeQuad:Bn,easeQuadIn:function(t){return t*t},easeQuadOut:function(t){return t*(2-t)},easeQuadInOut:Bn,easeCubic:Fn,easeCubicIn:function(t){return t*t*t},easeCubicOut:function(t){return--t*t*t+1},easeCubicInOut:Fn,easePoly:Xn,easePolyIn:Gn,easePolyOut:Yn,easePolyInOut:Xn,easeSin:Kn,easeSinIn:function(t){return 1==+t?1:1-Math.cos(t*Wn)},easeSinOut:function(t){return Math.sin(t*Wn)},easeSinInOut:Kn,easeExp:qn,easeExpIn:function(t){return Zn(1-+t)},easeExpOut:function(t){return 1-Zn(t)},easeExpInOut:qn,easeCircle:Jn,easeCircleIn:function(t){return 1-Math.sqrt(1-t*t)},easeCircleOut:function(t){return Math.sqrt(1- --t*t)},easeCircleInOut:Jn,easeBounce:ti,easeBounceIn:function(t){return 1-ti(1-t)},easeBounceOut:ti,easeBounceInOut:function(t){return((t*=2)<=1?1-ti(1-t):ti(t-1)+1)/2},easeBack:ii,easeBackIn:ei,easeBackOut:ni,easeBackInOut:ii,easeElastic:ri,easeElasticIn:ai,easeElasticOut:ri,easeElasticInOut:si});function ci(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.blob()}function ui(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.arrayBuffer()}var di={},hi={};function pi(t){return new Function("d","return {"+t.map((function(t,e){return JSON.stringify(t)+": d["+e+'] || ""'})).join(",")+"}")}function gi(t){var e=Object.create(null),n=[];return t.forEach((function(t){for(var i in t)i in e||n.push(e[i]=i)})),n}function fi(t,e){var n=t+"",i=n.length;return i<e?new Array(e-i+1).join(0)+n:n}function vi(t){var e,n=t.getUTCHours(),i=t.getUTCMinutes(),o=t.getUTCSeconds(),a=t.getUTCMilliseconds();return isNaN(t)?"Invalid Date":((e=t.getUTCFullYear())<0?"-"+fi(-e,6):e>9999?"+"+fi(e,6):fi(e,4))+"-"+fi(t.getUTCMonth()+1,2)+"-"+fi(t.getUTCDate(),2)+(a?"T"+fi(n,2)+":"+fi(i,2)+":"+fi(o,2)+"."+fi(a,3)+"Z":o?"T"+fi(n,2)+":"+fi(i,2)+":"+fi(o,2)+"Z":i||n?"T"+fi(n,2)+":"+fi(i,2)+"Z":"")}function yi(t){var e=new RegExp('["'+t+"\n\r]"),n=t.charCodeAt(0);function i(t,e){var i,o=[],a=t.length,r=0,s=0,l=a<=0,c=!1;function u(){if(l)return hi;if(c)return c=!1,di;var e,i,o=r;if(34===t.charCodeAt(o)){for(;r++<a&&34!==t.charCodeAt(r)||34===t.charCodeAt(++r););return(e=r)>=a?l=!0:10===(i=t.charCodeAt(r++))?c=!0:13===i&&(c=!0,10===t.charCodeAt(r)&&++r),t.slice(o+1,e-1).replace(/""/g,'"')}for(;r<a;){if(10===(i=t.charCodeAt(e=r++)))c=!0;else if(13===i)c=!0,10===t.charCodeAt(r)&&++r;else if(i!==n)continue;return t.slice(o,e)}return l=!0,t.slice(o,a)}for(10===t.charCodeAt(a-1)&&--a,13===t.charCodeAt(a-1)&&--a;(i=u())!==hi;){for(var d=[];i!==di&&i!==hi;)d.push(i),i=u();e&&null==(d=e(d,s++))||o.push(d)}return o}function o(e,n){return e.map((function(e){return n.map((function(t){return r(e[t])})).join(t)}))}function a(e){return e.map(r).join(t)}function r(t){return null==t?"":t instanceof Date?vi(t):e.test(t+="")?'"'+t.replace(/"/g,'""')+'"':t}return{parse:function(t,e){var n,o,a=i(t,(function(t,i){if(n)return n(t,i-1);o=t,n=e?function(t,e){var n=pi(t);return function(i,o){return e(n(i),o,t)}}(t,e):pi(t)}));return a.columns=o||[],a},parseRows:i,format:function(e,n){return null==n&&(n=gi(e)),[n.map(r).join(t)].concat(o(e,n)).join("\n")},formatBody:function(t,e){return null==e&&(e=gi(t)),o(t,e).join("\n")},formatRows:function(t){return t.map(a).join("\n")},formatRow:a,formatValue:r}}var mi=yi(",").parse,Ci=yi("\t").parse;function ki(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.text()}function bi(t,e){return fetch(t,e).then(ki)}function _i(t){return function(e,n,i){return 2===arguments.length&&"function"==typeof n&&(i=n,n=void 0),bi(e,n).then((function(e){return t(e,i)}))}}var Pi=_i(mi),Li=_i(Ci);function Ni(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);if(204!==t.status&&205!==t.status)return t.json()}function Ti(t){return(e,n)=>bi(e,n).then((e=>(new DOMParser).parseFromString(e,t)))}var Si=Ti("application/xml"),wi=Ti("text/html"),Ei=Ti("image/svg+xml"),xi=Object.freeze({__proto__:null,blob:function(t,e){return fetch(t,e).then(ci)},buffer:function(t,e){return fetch(t,e).then(ui)},dsv:function(t,e,n,i){3===arguments.length&&"function"==typeof n&&(i=n,n=void 0);var o=yi(t);return bi(e,n).then((function(t){return o.parse(t,i)}))},csv:Pi,tsv:Li,image:function(t,e){return new Promise((function(n,i){var o=new Image;for(var a in e)o[a]=e[a];o.onerror=i,o.onload=function(){n(o)},o.src=t}))},json:function(t,e){return fetch(t,e).then(Ni)},text:bi,xml:Si,html:wi,svg:Ei});function Ii(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function Di(t,e){var n=Object.create(t.prototype);for(var i in e)n[i]=e[i];return n}function Oi(){}var Ai=1/.7,zi="\\s*([+-]?\\d+)\\s*",Mi="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ri="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Hi=/^#([0-9a-f]{3,8})$/,Ui=new RegExp("^rgb\\("+[zi,zi,zi]+"\\)$"),ji=new RegExp("^rgb\\("+[Ri,Ri,Ri]+"\\)$"),Bi=new RegExp("^rgba\\("+[zi,zi,zi,Mi]+"\\)$"),Fi=new RegExp("^rgba\\("+[Ri,Ri,Ri,Mi]+"\\)$"),Gi=new RegExp("^hsl\\("+[Mi,Ri,Ri]+"\\)$"),Yi=new RegExp("^hsla\\("+[Mi,Ri,Ri,Mi]+"\\)$"),Xi={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 Vi(){return this.rgb().formatHex()}function Wi(){return this.rgb().formatRgb()}function Ki(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=Hi.exec(t))?(n=e[1].length,e=parseInt(e[1],16),6===n?Zi(e):3===n?new $i(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?qi(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?qi(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=Ui.exec(t))?new $i(e[1],e[2],e[3],1):(e=ji.exec(t))?new $i(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=Bi.exec(t))?qi(e[1],e[2],e[3],e[4]):(e=Fi.exec(t))?qi(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=Gi.exec(t))?io(e[1],e[2]/100,e[3]/100,1):(e=Yi.exec(t))?io(e[1],e[2]/100,e[3]/100,e[4]):Xi.hasOwnProperty(t)?Zi(Xi[t]):"transparent"===t?new $i(NaN,NaN,NaN,0):null}function Zi(t){return new $i(t>>16&255,t>>8&255,255&t,1)}function qi(t,e,n,i){return i<=0&&(t=e=n=NaN),new $i(t,e,n,i)}function Ji(t){return t instanceof Oi||(t=Ki(t)),t?new $i((t=t.rgb()).r,t.g,t.b,t.opacity):new $i}function Qi(t,e,n,i){return 1===arguments.length?Ji(t):new $i(t,e,n,null==i?1:i)}function $i(t,e,n,i){this.r=+t,this.g=+e,this.b=+n,this.opacity=+i}function to(){return"#"+no(this.r)+no(this.g)+no(this.b)}function eo(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}function no(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function io(t,e,n,i){return i<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new ao(t,e,n,i)}function oo(t){if(t instanceof ao)return new ao(t.h,t.s,t.l,t.opacity);if(t instanceof Oi||(t=Ki(t)),!t)return new ao;if(t instanceof ao)return t;var e=(t=t.rgb()).r/255,n=t.g/255,i=t.b/255,o=Math.min(e,n,i),a=Math.max(e,n,i),r=NaN,s=a-o,l=(a+o)/2;return s?(r=e===a?(n-i)/s+6*(n<i):n===a?(i-e)/s+2:(e-n)/s+4,s/=l<.5?a+o:2-a-o,r*=60):s=l>0&&l<1?0:r,new ao(r,s,l,t.opacity)}function ao(t,e,n,i){this.h=+t,this.s=+e,this.l=+n,this.opacity=+i}function ro(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}Ii(Oi,Ki,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:Vi,formatHex:Vi,formatHsl:function(){return oo(this).formatHsl()},formatRgb:Wi,toString:Wi}),Ii($i,Qi,Di(Oi,{brighter:function(t){return t=null==t?Ai:Math.pow(Ai,t),new $i(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new $i(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){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:to,formatHex:to,formatRgb:eo,toString:eo})),Ii(ao,(function(t,e,n,i){return 1===arguments.length?oo(t):new ao(t,e,n,null==i?1:i)}),Di(Oi,{brighter:function(t){return t=null==t?Ai:Math.pow(Ai,t),new ao(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new ao(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,i=n+(n<.5?n:1-n)*e,o=2*n-i;return new $i(ro(t>=240?t-240:t+120,o,i),ro(t,o,i),ro(t<120?t+240:t-120,o,i),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===t?")":", "+t+")")}}));var so=t=>()=>t;function lo(t){return 1==(t=+t)?co:function(e,n){return n-e?function(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(i){return Math.pow(t+i*e,n)}}(e,n,t):so(isNaN(e)?n:e)}}function co(t,e){var n=e-t;return n?function(t,e){return function(n){return t+n*e}}(t,n):so(isNaN(t)?e:t)}var uo=function t(e){var n=lo(e);function i(t,e){var i=n((t=Qi(t)).r,(e=Qi(e)).r),o=n(t.g,e.g),a=n(t.b,e.b),r=co(t.opacity,e.opacity);return function(e){return t.r=i(e),t.g=o(e),t.b=a(e),t.opacity=r(e),t+""}}return i.gamma=t,i}(1);function ho(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}var po=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,go=new RegExp(po.source,"g");function fo(t,e){var n,i,o,a=po.lastIndex=go.lastIndex=0,r=-1,s=[],l=[];for(t+="",e+="";(n=po.exec(t))&&(i=go.exec(e));)(o=i.index)>a&&(o=e.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:ho(n,i)})),a=go.lastIndex;return a<e.length&&(o=e.slice(a),s[r]?s[r]+=o:s[++r]=o),s.length<2?l[0]?function(t){return function(e){return t(e)+""}}(l[0].x):function(t){return function(){return t}}(e):(e=l.length,function(t){for(var n,i=0;i<e;++i)s[(n=l[i]).i]=n.x(t);return s.join("")})}var vo,yo=180/Math.PI,mo={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Co(t,e,n,i,o,a){var r,s,l;return(r=Math.sqrt(t*t+e*e))&&(t/=r,e/=r),(l=t*n+e*i)&&(n-=t*l,i-=e*l),(s=Math.sqrt(n*n+i*i))&&(n/=s,i/=s,l/=s),t*i<e*n&&(t=-t,e=-e,l=-l,r=-r),{translateX:o,translateY:a,rotate:Math.atan2(e,t)*yo,skewX:Math.atan(l)*yo,scaleX:r,scaleY:s}}function ko(t,e,n,i){function o(t){return t.length?t.pop()+" ":""}return function(a,r){var s=[],l=[];return a=t(a),r=t(r),function(t,i,o,a,r,s){if(t!==o||i!==a){var l=r.push("translate(",null,e,null,n);s.push({i:l-4,x:ho(t,o)},{i:l-2,x:ho(i,a)})}else(o||a)&&r.push("translate("+o+e+a+n)}(a.translateX,a.translateY,r.translateX,r.translateY,s,l),function(t,e,n,a){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),a.push({i:n.push(o(n)+"rotate(",null,i)-2,x:ho(t,e)})):e&&n.push(o(n)+"rotate("+e+i)}(a.rotate,r.rotate,s,l),function(t,e,n,a){t!==e?a.push({i:n.push(o(n)+"skewX(",null,i)-2,x:ho(t,e)}):e&&n.push(o(n)+"skewX("+e+i)}(a.skewX,r.skewX,s,l),function(t,e,n,i,a,r){if(t!==n||e!==i){var s=a.push(o(a)+"scale(",null,",",null,")");r.push({i:s-4,x:ho(t,n)},{i:s-2,x:ho(e,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(t){for(var e,n=-1,i=l.length;++n<i;)s[(e=l[n]).i]=e.x(t);return s.join("")}}}var bo=ko((function(t){const e=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?mo:Co(e.a,e.b,e.c,e.d,e.e,e.f)}),"px, ","px)","deg)"),_o=ko((function(t){return null==t?mo:(vo||(vo=document.createElementNS("http://www.w3.org/2000/svg","g")),vo.setAttribute("transform",t),(t=vo.transform.baseVal.consolidate())?Co((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):mo)}),", ",")",")");function Po(t){return((t=Math.exp(t))+1/t)/2}var Lo,No,To=function t(e,n,i){function o(t,o){var a,r,s=t[0],l=t[1],c=t[2],u=o[0],d=o[1],h=o[2],p=u-s,g=d-l,f=p*p+g*g;if(f<1e-12)r=Math.log(h/c)/e,a=function(t){return[s+t*p,l+t*g,c*Math.exp(e*t*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),C=Math.log(Math.sqrt(y*y+1)-y),k=Math.log(Math.sqrt(m*m+1)-m);r=(k-C)/e,a=function(t){var i,o=t*r,a=Po(C),u=c/(n*v)*(a*(i=e*o+C,((i=Math.exp(2*i))-1)/(i+1))-function(t){return((t=Math.exp(t))-1/t)/2}(C));return[s+u*p,l+u*g,c*a/Po(e*o+C)]}}return a.duration=1e3*r*e/Math.SQRT2,a}return o.rho=function(e){var n=Math.max(.001,+e),i=n*n;return t(n,i,i*i)},o}(Math.SQRT2,2,4),So=0,wo=0,Eo=0,xo=0,Io=0,Do=0,Oo="object"==typeof performance&&performance.now?performance:Date,Ao="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function zo(){return Io||(Ao(Mo),Io=Oo.now()+Do)}function Mo(){Io=0}function Ro(){this._call=this._time=this._next=null}function Ho(t,e,n){var i=new Ro;return i.restart(t,e,n),i}function Uo(){Io=(xo=Oo.now())+Do,So=wo=0;try{!function(){zo(),++So;for(var t,e=Lo;e;)(t=Io-e._time)>=0&&e._call.call(void 0,t),e=e._next;--So}()}finally{So=0,function(){var t,e,n=Lo,i=1/0;for(;n;)n._call?(i>n._time&&(i=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:Lo=e);No=t,Bo(i)}(),Io=0}}function jo(){var t=Oo.now(),e=t-xo;e>1e3&&(Do-=e,xo=t)}function Bo(t){So||(wo&&(wo=clearTimeout(wo)),t-Io>24?(t<1/0&&(wo=setTimeout(Uo,t-Oo.now()-Do)),Eo&&(Eo=clearInterval(Eo))):(Eo||(xo=Oo.now(),Eo=setInterval(jo,1e3)),So=1,Ao(Uo)))}function Fo(t,e,n){var i=new Ro;return e=null==e?0:+e,i.restart((n=>{i.stop(),t(n+e)}),e,n),i}Ro.prototype=Ho.prototype={constructor:Ro,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?zo():+n)+(null==e?0:+e),this._next||No===this||(No?No._next=this:Lo=this,No=this),this._call=t,this._time=n,Bo()},stop:function(){this._call&&(this._call=null,this._time=1/0,Bo())}};var Go=Pn("start","end","cancel","interrupt"),Yo=[];function Xo(t,e,n,i,o,a){var r=t.__transition;if(r){if(n in r)return}else t.__transition={};!function(t,e,n){var i,o=t.__transition;function a(t){n.state=1,n.timer.restart(r,n.delay,n.time),n.delay<=t&&r(t-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 Fo(r);4===h.state?(h.state=6,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete o[c]):+c<e&&(h.state=6,h.timer.stop(),h.on.call("cancel",t,t.__data__,h.index,h.group),delete o[c])}if(Fo((function(){3===n.state&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(a))})),n.state=2,n.on.call("start",t,t.__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(t,t.__data__,n.index,n.group))&&(i[++u]=h);i.length=u+1}}function s(e){for(var o=e<n.duration?n.ease.call(null,e/n.duration):(n.timer.restart(l),n.state=5,1),a=-1,r=i.length;++a<r;)i[a].call(t,o);5===n.state&&(n.on.call("end",t,t.__data__,n.index,n.group),l())}function l(){for(var i in n.state=6,n.timer.stop(),delete o[e],o)return;delete t.__transition}o[e]=n,n.timer=Ho(a,0,n.time)}(t,n,{name:e,index:i,group:o,on:Go,tween:Yo,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function Vo(t,e){var n=Ko(t,e);if(n.state>0)throw new Error("too late; already scheduled");return n}function Wo(t,e){var n=Ko(t,e);if(n.state>3)throw new Error("too late; already running");return n}function Ko(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function Zo(t,e){var n,i,o,a=t.__transition,r=!0;if(a){for(o in e=null==e?null:e+"",a)(n=a[o]).name===e?(i=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(i?"interrupt":"cancel",t,t.__data__,n.index,n.group),delete a[o]):r=!1;r&&delete t.__transition}}function qo(t,e){var n,i;return function(){var o=Wo(this,t),a=o.tween;if(a!==n)for(var r=0,s=(i=n=a).length;r<s;++r)if(i[r].name===e){(i=i.slice()).splice(r,1);break}o.tween=i}}function Jo(t,e,n){var i,o;if("function"!=typeof n)throw new Error;return function(){var a=Wo(this,t),r=a.tween;if(r!==i){o=(i=r).slice();for(var s={name:e,value:n},l=0,c=o.length;l<c;++l)if(o[l].name===e){o[l]=s;break}l===c&&o.push(s)}a.tween=o}}function Qo(t,e,n){var i=t._id;return t.each((function(){var t=Wo(this,i);(t.value||(t.value={}))[e]=n.apply(this,arguments)})),function(t){return Ko(t,i).value[e]}}function $o(t,e){var n;return("number"==typeof e?ho:e instanceof Ki?uo:(n=Ki(e))?(e=n,uo):fo)(t,e)}function ta(t){return function(){this.removeAttribute(t)}}function ea(t){return function(){this.removeAttributeNS(t.space,t.local)}}function na(t,e,n){var i,o,a=n+"";return function(){var r=this.getAttribute(t);return r===a?null:r===i?o:o=e(i=r,n)}}function ia(t,e,n){var i,o,a=n+"";return function(){var r=this.getAttributeNS(t.space,t.local);return r===a?null:r===i?o:o=e(i=r,n)}}function oa(t,e,n){var i,o,a;return function(){var r,s,l=n(this);if(null!=l)return(r=this.getAttribute(t))===(s=l+"")?null:r===i&&s===o?a:(o=s,a=e(i=r,l));this.removeAttribute(t)}}function aa(t,e,n){var i,o,a;return function(){var r,s,l=n(this);if(null!=l)return(r=this.getAttributeNS(t.space,t.local))===(s=l+"")?null:r===i&&s===o?a:(o=s,a=e(i=r,l));this.removeAttributeNS(t.space,t.local)}}function ra(t,e){return function(n){this.setAttribute(t,e.call(this,n))}}function sa(t,e){return function(n){this.setAttributeNS(t.space,t.local,e.call(this,n))}}function la(t,e){var n,i;function o(){var o=e.apply(this,arguments);return o!==i&&(n=(i=o)&&sa(t,o)),n}return o._value=e,o}function ca(t,e){var n,i;function o(){var o=e.apply(this,arguments);return o!==i&&(n=(i=o)&&ra(t,o)),n}return o._value=e,o}function ua(t,e){return function(){Vo(this,t).delay=+e.apply(this,arguments)}}function da(t,e){return e=+e,function(){Vo(this,t).delay=e}}function ha(t,e){return function(){Wo(this,t).duration=+e.apply(this,arguments)}}function pa(t,e){return e=+e,function(){Wo(this,t).duration=e}}function ga(t,e){if("function"!=typeof e)throw new Error;return function(){Wo(this,t).ease=e}}function fa(t,e,n){var i,o,a=function(t){return(t+"").trim().split(/^|\s+/).every((function(t){var e=t.indexOf(".");return e>=0&&(t=t.slice(0,e)),!t||"start"===t}))}(e)?Vo:Wo;return function(){var r=a(this,t),s=r.on;s!==i&&(o=(i=s).copy()).on(e,n),r.on=o}}var va=en.prototype.constructor;function ya(t){return function(){this.style.removeProperty(t)}}function ma(t,e,n){return function(i){this.style.setProperty(t,e.call(this,i),n)}}function Ca(t,e,n){var i,o;function a(){var a=e.apply(this,arguments);return a!==o&&(i=(o=a)&&ma(t,a,n)),i}return a._value=e,a}function ka(t){return function(e){this.textContent=t.call(this,e)}}function ba(t){var e,n;function i(){var i=t.apply(this,arguments);return i!==n&&(e=(n=i)&&ka(i)),e}return i._value=t,i}var _a=0;function Pa(t,e,n,i){this._groups=t,this._parents=e,this._name=n,this._id=i}function La(){return++_a}var Na=en.prototype;Pa.prototype={constructor:Pa,select:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=Zt(t));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=t.call(s,s.__data__,h,c))&&("__data__"in s&&(l.__data__=s.__data__),d[h]=l,Xo(d[h],e,n,h,d,Ko(s,n)));return new Pa(a,this._parents,e,n)},selectAll:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=Qt(t));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,p=t.call(l,l.__data__,d,c),g=Ko(l,n),f=0,v=p.length;f<v;++f)(h=p[f])&&Xo(h,e,n,f,p,g);a.push(p),r.push(l)}return new Pa(a,r,e,n)},selectChild:Na.selectChild,selectChildren:Na.selectChildren,filter:function(t){"function"!=typeof t&&(t=$t(t));for(var e=this._groups,n=e.length,i=new Array(n),o=0;o<n;++o)for(var a,r=e[o],s=r.length,l=i[o]=[],c=0;c<s;++c)(a=r[c])&&t.call(a,a.__data__,c,r)&&l.push(a);return new Pa(i,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,i=e.length,o=n.length,a=Math.min(i,o),r=new Array(i),s=0;s<a;++s)for(var l,c=e[s],u=n[s],d=c.length,h=r[s]=new Array(d),p=0;p<d;++p)(l=c[p]||u[p])&&(h[p]=l);for(;s<i;++s)r[s]=e[s];return new Pa(r,this._parents,this._name,this._id)},selection:function(){return new va(this._groups,this._parents)},transition:function(){for(var t=this._name,e=this._id,n=La(),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=Ko(r,e);Xo(r,t,n,c,s,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new Pa(i,this._parents,t,n)},call:Na.call,nodes:Na.nodes,node:Na.node,size:Na.size,empty:Na.empty,each:Na.each,on:function(t,e){var n=this._id;return arguments.length<2?Ko(this.node(),n).on.on(t):this.each(fa(n,t,e))},attr:function(t,e){var n=Yt(t),i="transform"===n?_o:$o;return this.attrTween(t,"function"==typeof e?(n.local?aa:oa)(n,i,Qo(this,"attr."+t,e)):null==e?(n.local?ea:ta)(n):(n.local?ia:na)(n,i,e))},attrTween:function(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==e)return this.tween(n,null);if("function"!=typeof e)throw new Error;var i=Yt(t);return this.tween(n,(i.local?la:ca)(i,e))},style:function(t,e,n){var i="transform"==(t+="")?bo:$o;return null==e?this.styleTween(t,function(t,e){var n,i,o;return function(){var a=Pe(this,t),r=(this.style.removeProperty(t),Pe(this,t));return a===r?null:a===n&&r===i?o:o=e(n=a,i=r)}}(t,i)).on("end.style."+t,ya(t)):"function"==typeof e?this.styleTween(t,function(t,e,n){var i,o,a;return function(){var r=Pe(this,t),s=n(this),l=s+"";return null==s&&(this.style.removeProperty(t),l=s=Pe(this,t)),r===l?null:r===i&&l===o?a:(o=l,a=e(i=r,s))}}(t,i,Qo(this,"style."+t,e))).each(function(t,e){var n,i,o,a,r="style."+e,s="end."+r;return function(){var l=Wo(this,t),c=l.on,u=null==l.value[r]?a||(a=ya(e)):void 0;c===n&&o===u||(i=(n=c).copy()).on(s,o=u),l.on=i}}(this._id,t)):this.styleTween(t,function(t,e,n){var i,o,a=n+"";return function(){var r=Pe(this,t);return r===a?null:r===i?o:o=e(i=r,n)}}(t,i,e),n).on("end.style."+t,null)},styleTween:function(t,e,n){var i="style."+(t+="");if(arguments.length<2)return(i=this.tween(i))&&i._value;if(null==e)return this.tween(i,null);if("function"!=typeof e)throw new Error;return this.tween(i,Ca(t,e,null==n?"":n))},text:function(t){return this.tween("text","function"==typeof t?function(t){return function(){var e=t(this);this.textContent=null==e?"":e}}(Qo(this,"text",t)):function(t){return function(){this.textContent=t}}(null==t?"":t+""))},textTween:function(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(null==t)return this.tween(e,null);if("function"!=typeof t)throw new Error;return this.tween(e,ba(t))},remove:function(){return this.on("end.remove",function(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}(this._id))},tween:function(t,e){var n=this._id;if(t+="",arguments.length<2){for(var i,o=Ko(this.node(),n).tween,a=0,r=o.length;a<r;++a)if((i=o[a]).name===t)return i.value;return null}return this.each((null==e?qo:Jo)(n,t,e))},delay:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?ua:da)(e,t)):Ko(this.node(),e).delay},duration:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?ha:pa)(e,t)):Ko(this.node(),e).duration},ease:function(t){var e=this._id;return arguments.length?this.each(ga(e,t)):Ko(this.node(),e).ease},easeVarying:function(t){if("function"!=typeof t)throw new Error;return this.each(function(t,e){return function(){var n=e.apply(this,arguments);if("function"!=typeof n)throw new Error;Wo(this,t).ease=n}}(this._id,t))},end:function(){var t,e,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=Wo(this,i),o=n.on;o!==t&&((e=(t=o).copy())._.cancel.push(s),e._.interrupt.push(s),e._.end.push(l)),n.on=e})),0===o&&a()}))},[Symbol.iterator]:Na[Symbol.iterator]};var Ta={time:null,delay:0,duration:250,ease:Fn};function Sa(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return n}en.prototype.interrupt=function(t){return this.each((function(){Zo(this,t)}))},en.prototype.transition=function(t){var e,n;t instanceof Pa?(e=t._id,t=t._name):(e=La(),(n=Ta).time=zo(),t=null==t?null:t+"");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])&&Xo(r,t,e,c,s,n||Sa(r,e));return new Pa(i,this._parents,t,e)};var wa=function(t){return function(){return t}};function Ea(t,e){var n=e.sourceEvent,i=e.target,o=e.transform,a=e.dispatch;Object.defineProperties(this,{type:{value:t,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 xa(t,e,n){this.k=t,this.x=e,this.y=n}xa.prototype={constructor:xa,scale:function(t){return 1===t?this:new xa(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new xa(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Ia=new xa(1,0,0);function Da(t){for(;!t.__zoom;)if(!(t=t.parentNode))return Ia;return t.__zoom}function Oa(t){t.stopImmediatePropagation()}function Aa(t){t.preventDefault(),t.stopImmediatePropagation()}function za(t){return!(t.ctrlKey&&"wheel"!==t.type||t.button)}function Ma(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t).hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]:[[0,0],[t.clientWidth,t.clientHeight]]}function Ra(){return this.__zoom||Ia}function Ha(t){return-t.deltaY*(1===t.deltaMode?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function Ua(){return navigator.maxTouchPoints||"ontouchstart"in this}function ja(t,e,n){var i=t.invertX(e[0][0])-n[0][0],o=t.invertX(e[1][0])-n[1][0],a=t.invertY(e[0][1])-n[0][1],r=t.invertY(e[1][1])-n[1][1];return t.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))}Da.prototype=xa.prototype;var Ba=Object.freeze({__proto__:null,zoom:function(){var t,e,n,i=za,o=Ma,a=ja,r=Ha,s=Ua,l=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],u=250,d=To,h=Pn("start","zoom","end"),p=500,g=0,f=10,v=!1,y=!1;function m(t){t.property("__zoom",Ra).on("wheel.zoom",N).on("mousedown.zoom",E).on("dblclick.zoom",x).on("gesturestart",T).on("gesturechange",S).on("gestureend",w).filter(s).on("touchstart.zoom",I).on("touchmove.zoom",D).on("touchend.zoom touchcancel.zoom",O).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function C(t,e){return(e=Math.max(l[0],Math.min(l[1],e)))===t.k?t:new xa(e,t.x,t.y)}function k(t,e,n){var i=e[0]-n[0]*t.k,o=e[1]-n[1]*t.k;return i===t.x&&o===t.y?t:new xa(t.k,i,o)}function b(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function _(t,e,n,i){t.on("start.zoom",(function(){P(this,arguments).event(i).start()})).on("interrupt.zoom end.zoom",(function(){P(this,arguments).event(i).end()})).tween("zoom",(function(){var t=this,a=arguments,r=P(t,a).event(i),s=o.apply(t,a),l=null==n?b(s):"function"==typeof n?n.apply(t,a):n,c=Math.max(s[1][0]-s[0][0],s[1][1]-s[0][1]),u=t.__zoom,h="function"==typeof e?e.apply(t,a):e,p=d(u.invert(l).concat(c/u.k),h.invert(l).concat(c/h.k));return function(t){if(1===t)t=h;else{var e=p(t),n=c/e[2];t=new xa(n,l[0]-e[0]*n,l[1]-e[1]*n)}r.zoom(null,t)}}))}function P(t,e,n){return!n&&t.__zooming||new L(t,e)}function L(t,e){this.that=t,this.args=e,this.active=0,this.sourceEvent=null,this.extent=o.apply(t,e),this.taps=0}function N(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),o=1;o<e;o++)n[o-1]=arguments[o];if(y&&Aa(t),i.apply(this,arguments)){var s=P(this,n).event(t),u=this.__zoom,d=Math.max(l[0],Math.min(l[1],u.k*Math.pow(2,r.apply(this,arguments)))),h=ln(t);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;!v||t.ctrlKey||t.safariPinchZoom||(s.wheelTransX=-u.x,s.wheelTransY=-u.y),s.mouse=[h,u.invert(h)],Zo(this),s.start()}if(Aa(t),s.wheel=setTimeout(f,150),!v||t.ctrlKey||t.safariPinchZoom)s.zoom("mouse",a(k(C(u,d),s.mouse[0],s.mouse[1]),s.extent,c));else{s.wheelTransX+=t.deltaX,s.wheelTransY+=t.deltaY;var p=[u.x,u.y],g=[u.x+s.wheelTransX,u.y+s.wheelTransY];s.zoom("mouse",a(k(u,p,g),s.extent,c))}}function f(){s.wheel=null,s.end()}}function T(t){Aa(t),this.scale=t.scale}function S(t){Aa(t),this.__zoom&&(t.deltaY=100*(this.scale-t.scale),this.scale=t.scale),t.safariPinchZoom=!0,N.apply(this,[t].concat(Array.prototype.slice.call(arguments)))}function w(t){Aa(t)}function E(t){for(var e=arguments.length,o=new Array(e>1?e-1:0),r=1;r<e;r++)o[r-1]=arguments[r];if(!n&&i.apply(this,arguments)){var s=P(this,o,!0).event(t),l=nn(t.view).on("mousemove.zoom",f,!0).on("mouseup.zoom",v,!0),u=ln(t,d),d=t.currentTarget,h=t.clientX,p=t.clientY;Dn(t.view),Oa(t),s.mouse=[u,this.__zoom.invert(u)],Zo(this),s.start()}function f(t){if(Aa(t),!s.moved){var e=t.clientX-h,n=t.clientY-p;s.moved=e*e+n*n>g}s.event(t).zoom("mouse",a(k(s.that.__zoom,s.mouse[0]=ln(t,d),s.mouse[1]),s.extent,c))}function v(t){l.on("mousemove.zoom mouseup.zoom",null),On(t.view,s.moved),Aa(t),s.event(t).end()}}function x(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];if(i.apply(this,arguments)){var s=this.__zoom,l=ln(t.changedTouches?t.changedTouches[0]:t,this),d=s.invert(l),h=s.k*(t.shiftKey?.5:2),p=a(k(C(s,h),l,d),o.apply(this,n),c);Aa(t),u>0?nn(this).transition().duration(u).call(_,p,l,t):nn(this).call(m.transform,p,l,t)}}function I(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=P(this,a,n.changedTouches.length===h).event(n);for(Oa(n),l=0;l<h;++l)u=[u=ln(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+!!t);t&&(t=clearTimeout(t)),s&&(g.taps<2&&(e=u[0],t=setTimeout((function(){t=null}),p)),Zo(this),g.start())}}function D(t){if(this.__zooming){for(var e=arguments.length,n=new Array(e>1?e-1:0),i=1;i<e;i++)n[i-1]=arguments[i];var o,r,s,l,u=P(this,n).event(t),d=t.changedTouches,h=d.length;for(Aa(t),o=0;o<h;++o)s=ln(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 p=u.touch0[0],g=u.touch0[1],f=u.touch1[0],v=u.touch1[1],y=(y=f[0]-p[0])*y+(y=f[1]-p[1])*y,m=(m=v[0]-g[0])*m+(m=v[1]-g[1])*m;r=C(r,Math.sqrt(y/m)),s=[(p[0]+f[0])/2,(p[1]+f[1])/2],l=[(g[0]+v[0])/2,(g[1]+v[1])/2]}else{if(!u.touch0)return;s=u.touch0[0],l=u.touch0[1]}u.zoom("touch",a(k(r,s,l),u.extent,c))}}function O(t){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=P(this,o).event(t),c=t.changedTouches,u=c.length;for(Oa(t),n&&clearTimeout(n),n=setTimeout((function(){n=null}),p),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=ln(s,this),Math.hypot(e[0]-s[0],e[1]-s[1])<f)){var d=nn(this).on("dblclick.zoom");d&&d.apply(this,arguments)}}}return m.transform=function(t,e,n,i){var o=t.selection?t.selection():t;o.property("__zoom",Ra),t!==o?_(t,e,n,i):o.interrupt().each((function(){P(this,arguments).event(i).start().zoom(null,"function"==typeof e?e.apply(this,arguments):e).end()}))},m.scaleBy=function(t,e,n,i){m.scaleTo(t,(function(){var t=this.__zoom.k,n="function"==typeof e?e.apply(this,arguments):e;return t*n}),n,i)},m.scaleTo=function(t,e,n,i){m.transform(t,(function(){var t=o.apply(this,arguments),i=this.__zoom,r=null==n?b(t):"function"==typeof n?n.apply(this,arguments):n,s=i.invert(r),l="function"==typeof e?e.apply(this,arguments):e;return a(k(C(i,l),r,s),t,c)}),n,i)},m.translateBy=function(t,e,n,i){m.transform(t,(function(){return a(this.__zoom.translate("function"==typeof e?e.apply(this,arguments):e,"function"==typeof n?n.apply(this,arguments):n),o.apply(this,arguments),c)}),null,i)},m.translateTo=function(t,e,n,i,r){m.transform(t,(function(){var t=o.apply(this,arguments),r=this.__zoom,s=null==i?b(t):"function"==typeof i?i.apply(this,arguments):i;return a(Ia.translate(s[0],s[1]).scale(r.k).translate("function"==typeof e?-e.apply(this,arguments):-e,"function"==typeof n?-n.apply(this,arguments):-n),t,c)}),i,r)},L.prototype={event:function(t){return t&&(this.sourceEvent=t),this},start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(t,e){return this.mouse&&"mouse"!==t&&(this.mouse[1]=e.invert(this.mouse[0])),this.touch0&&"touch"!==t&&(this.touch0[1]=e.invert(this.touch0[0])),this.touch1&&"touch"!==t&&(this.touch1[1]=e.invert(this.touch1[0])),this.that.__zoom=e,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(t){var e=nn(this.that).datum();h.call(t,this.that,new Ea(t,{sourceEvent:this.sourceEvent,target:m,type:t,transform:this.that.__zoom,dispatch:h}),e)}},m.wheelDelta=function(t){return arguments.length?(r="function"==typeof t?t:wa(+t),m):r},m.filter=function(t){return arguments.length?(i="function"==typeof t?t:wa(!!t),m):i},m.touchable=function(t){return arguments.length?(s="function"==typeof t?t:wa(!!t),m):s},m.extent=function(t){return arguments.length?(o="function"==typeof t?t:wa([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),m):o},m.scaleExtent=function(t){return arguments.length?(l[0]=+t[0],l[1]=+t[1],m):[l[0],l[1]]},m.translateExtent=function(t){return arguments.length?(c[0][0]=+t[0][0],c[1][0]=+t[1][0],c[0][1]=+t[0][1],c[1][1]=+t[1][1],m):[[c[0][0],c[0][1]],[c[1][0],c[1][1]]]},m.constrain=function(t){return arguments.length?(a=t,m):a},m.trackpad=function(t){return arguments.length?(v=t,m):v},m.preventBackGesture=function(t){return arguments.length?(y=t,m):y},m.duration=function(t){return arguments.length?(u=+t,m):u},m.interpolate=function(t){return arguments.length?(d=t,m):d},m.on=function(){var t=h.on.apply(h,arguments);return t===h?m:t},m.clickDistance=function(t){return arguments.length?(g=(t=+t)*t,m):Math.sqrt(g)},m.tapDistance=function(t){return arguments.length?(f=+t,m):f},m},zoomTransform:Da,zoomIdentity:Ia}),Fa=function(){function e(n,i,o){t._classCallCheck(this,e),this.canvasController=n,this.isSubflow=i,this.pipelineId=o}return t._createClass(e,[{key:"isDisplayingCurrentPipeline",value:function(){return this.canvasController.getCurrentBreadcrumb().pipelineId===this.pipelineId}},{key:"setDisplayState",value:function(){this.canvasController.getBreadcrumbs().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}}]),e}();function Ga(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return Ya(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ya(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,o=function(){};return{s:o,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},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(t)},n:function(){var t=n.next();return r=t.done,t},e:function(t){s=!0,a=t},f:function(){try{r||null==n.return||n.return()}finally{if(s)throw a}}}}function Ya(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}var Xa=function(){function e(n){t._classCallCheck(this,e),this.canvasLayout=n}return t._createClass(e,[{key:"getNodeImageClass",value:function(t){return"d3-node-image"}},{key:"getNodeLabelForeignClass",value:function(t){return"d3-foreign-object"+(t.layout.labelOutline?" d3-node-label-outline":"")}},{key:"getNodeLabelClass",value:function(t){if(this.isExpandedSupernode(t))return"d3-node-label d3-label-single-line "+this.getMessageLabelClass(t.messages);var e=t.layout.labelSingleLine?" d3-label-single-line":" d3-label-multi-line",n="center"===t.layout.labelAlign?" d3-label-center":"";return"d3-node-label "+this.getMessageLabelClass(t.messages)+e+n}},{key:"getNodeLabelTextAreaClass",value:function(t){return this.isExpandedSupernode(t)?"d3-node-label-entry d3-label-single-line":"d3-node-label-entry"+(t.layout.labelSingleLine?" d3-label-single-line":" d3-label-multi-line")+("center"===t.layout.labelAlign?" d3-label-center":"")}},{key:"getErrorMarkerIcon",value:function(t){var e="";switch(this.getMessageLevel(t.messages)){case l.ERROR:e=l.NODE_ERROR_ICON;break;case l.WARNING:e=l.NODE_WARNING_ICON}return e}},{key:"getMessageLevel",value:function(t){var e="";if(t&&t.length>0){var n,i=Ga(t);try{for(i.s();!(n=i.n()).done;){var o=n.value;if(o.type===l.ERROR)return o.type;o.type===l.WARNING&&(e=o.type)}}catch(t){i.e(t)}finally{i.f()}}return e}},{key:"getMessageLabelClass",value:function(t){var e="";switch(this.getMessageLevel(t)){case l.ERROR:e="d3-node-error-label";break;case l.WARNING:e="d3-node-warning-label"}return e}},{key:"getErrorMarkerClass",value:function(t){var e="d3-error-circle-off";switch(this.getMessageLevel(t)){case l.ERROR:e="d3-error-circle";break;case l.WARNING:e="d3-warning-circle"}return e}},{key:"getNodeCenterPosX",value:function(t){return t.x_pos+t.width/2}},{key:"getNodeCenterPosY",value:function(t){return t.y_pos+t.height/2}},{key:"getNodeImageCenterPosX",value:function(t){return this.isExpandedSupernode(t)?t.x_pos+this.canvasLayout.supernodeImagePosX+this.canvasLayout.supernodeImageWidth/2:t.x_pos+this.getElementPosX(t.width,t.layout.imagePosX,t.layout.imagePosition)+t.layout.imageWidth/2}},{key:"getNodeImageCenterPosY",value:function(t){return this.isExpandedSupernode(t)?t.y_pos+this.canvasLayout.supernodeImagePosY+this.canvasLayout.supernodeImageHeight/2:t.y_pos+this.getElementPosY(t.height,t.layout.imagePosY,t.layout.imagePosition)+t.layout.imageHeight/2}},{key:"getNodeImagePosX",value:function(t){return this.isExpandedSupernode(t)?this.canvasLayout.supernodeImagePosX:this.getElementPosX(t.width,t.layout.imagePosX,t.layout.imagePosition)}},{key:"getNodeImagePosY",value:function(t){return this.isExpandedSupernode(t)?this.canvasLayout.supernodeImagePosY:this.getElementPosY(t.height,t.layout.imagePosY,t.layout.imagePosition)}},{key:"getNodeImageWidth",value:function(t){return this.isExpandedSupernode(t)?this.canvasLayout.supernodeImageWidth:t.layout.imageWidth}},{key:"getNodeImageHeight",value:function(t){return this.isExpandedSupernode(t)?this.canvasLayout.supernodeImageHeight:t.layout.imageHeight}},{key:"getNodeLabelPosX",value:function(t){if(this.isExpandedSupernode(t))return this.canvasLayout.supernodeLabelPosX;var e=this.getElementPosX(t.width,t.layout.labelPosX,t.layout.labelPosition);return"center"===t.layout.labelAlign?e-t.layout.labelWidth/2:e}},{key:"getNodeLabelPosY",value:function(t){return this.isExpandedSupernode(t)?this.canvasLayout.supernodeLabelPosY:this.getElementPosY(t.height,t.layout.labelPosY,t.layout.labelPosition)}},{key:"getNodeLabelWidth",value:function(t){return this.isExpandedSupernode(t)?t.width-this.canvasLayout.supernodeLabelPosX+this.canvasLayout.supernodeErrorPosX:t.layout.labelWidth}},{key:"getNodeLabelHeight",value:function(t){return this.isExpandedSupernode(t)?this.canvasLayout.supernodeLabelHeight:t.layout.labelHeight}},{key:"getNodeLabelEditIconTranslate",value:function(t,e,n,i){return"translate(".concat(this.getNodeLabelEditIconPosX(t,e,n,i),", ").concat(this.getNodeLabelEditIconPosY(t),")")}},{key:"getNodeLabelEditIconPosX",value:function(t,e,n,i){var o=i?this.getNodeLabelHoverWidth(t):this.getNodeLabelWidth(t),a=i?this.getNodeLabelHoverPosX(t):this.getNodeLabelPosX(t),r=e.getBoundingClientRect().width;if("center"===t.layout.labelAlign&&!this.isExpandedSupernode(t)){var s=o/2;return a+s+Math.min(s,r/n/2)}var l=Math.min(o,r/n);return this.getNodeLabelPosX(t)+l}},{key:"getNodeLabelEditIconPosY",value:function(t){return this.getNodeLabelPosY(t)}},{key:"getNodeLabelHoverPosX",value:function(t){return t.layout.labelSingleLine&&"center"===t.layout.labelAlign?this.getNodeLabelPosX(t)-250:this.getNodeLabelPosX(t)}},{key:"getNodeLabelHoverWidth",value:function(t){return t.layout.labelSingleLine?"center"===t.layout.labelAlign?t.layout.labelWidth+500:t.layout.labelWidth+40:t.layout.labelWidth}},{key:"getNodeLabelHoverHeight",value:function(t,e,n){if(t.layout.labelSingleLine)return t.layout.labelHeight;var i=e.getBoundingClientRect().height/n;return Math.max(i,t.layout.labelHeight)}},{key:"getNodeLabelTextAreaWidth",value:function(t){return this.getNodeLabelWidth(t)+2*l.TEXT_AREA_BORDER_ADJUSTMENT}},{key:"getNodeLabelTextAreaHeight",value:function(t){return this.getNodeLabelHeight(t)+2*l.TEXT_AREA_BORDER_ADJUSTMENT}},{key:"getNodeLabelTextAreaPosX",value:function(t){return this.getNodeLabelPosX(t)-l.TEXT_AREA_BORDER_ADJUSTMENT}},{key:"getNodeLabelTextAreaPosY",value:function(t){return this.getNodeLabelPosY(t)-l.TEXT_AREA_BORDER_ADJUSTMENT}},{key:"getNodeEllipsisTranslate",value:function(t){return"translate(".concat(this.getNodeEllipsisPosX(t),", ").concat(this.getNodeEllipsisPosY(t),")")}},{key:"getNodeEllipsisWidth",value:function(t){return this.isExpandedSupernode(t)?this.canvasLayout.supernodeEllipsisWidth:t.layout.ellipsisWidth}},{key:"getNodeEllipsisHeight",value:function(t){return this.isExpandedSupernode(t)?this.canvasLayout.supernodeEllipsisHeight:t.layout.ellipsisHeight}},{key:"getNodeEllipsisIconWidth",value:function(t){return this.getNodeEllipsisWidth(t)-2*t.layout.ellipsisHoverAreaPadding}},{key:"getNodeEllipsisIconHeight",value:function(t){return this.getNodeEllipsisHeight(t)-2*t.layout.ellipsisHoverAreaPadding}},{key:"getNodeEllipsisPosX",value:function(t){return this.isExpandedSupernode(t)?t.width+this.canvasLayout.supernodeEllipsisPosX:this.getElementPosX(t.width,t.layout.ellipsisPosX,t.layout.ellipsisPosition)}},{key:"getNodeEllipsisPosY",value:function(t){return this.isExpandedSupernode(t)?this.canvasLayout.supernodeEllipsisPosY:this.getElementPosY(t.height,t.layout.ellipsisPosY,t.layout.ellipsisPosition)}},{key:"getNodeExpansionIconTranslate",value:function(t){var e=t.width+this.canvasLayout.supernodeExpansionIconPosX;return"translate(".concat(e,", ").concat(this.canvasLayout.supernodeExpansionIconPosY,")")}},{key:"getNodeErrorPosX",value:function(t){return this.isExpandedSupernode(t)?t.width+this.canvasLayout.supernodeErrorPosX:this.getElementPosX(t.width,t.layout.errorXPos,t.layout.errorPosition)}},{key:"getNodeErrorPosY",value:function(t){return this.isExpandedSupernode(t)?this.canvasLayout.supernodeErrorPosY:this.getElementPosY(t.height,t.layout.errorYPos,t.layout.errorPosition)}},{key:"getNodeErrorWidth",value:function(t){return this.isExpandedSupernode(t)?this.canvasLayout.supernodeErrorWidth:t.layout.errorWidth}},{key:"getNodeErrorHeight",value:function(t){return this.isExpandedSupernode(t)?this.canvasLayout.supernodeErrorHeight:t.layout.errorHeight}},{key:"getElementPosX",value:function(t){var e=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+=t/2:n.endsWith("Right")&&(i+=t),i+Number(e)}},{key:"getElementPosY",value:function(t){var e=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+=t/2:n.startsWith("bottom")&&(i+=t),i+Number(e)}},{key:"isExpandedSupernode",value:function(t){return this.isSupernode(t)&&this.isExpanded(t)}},{key:"isExpanded",value:function(t){return!0===t.is_expanded}},{key:"isSupernode",value:function(t){return t.type===l.SUPER_NODE}},{key:"isNodeDefaultPortsCardinalityAtMax",value:function(t,e){var n=p.CanvasUtils.getDefaultInputPortId(t),i=p.CanvasUtils.getDefaultOutputPortId(t);return p.CanvasUtils.isSrcCardinalityAtMax(i,t,e)||p.CanvasUtils.isTrgCardinalityAtMax(n,t,e)}},{key:"getSupernodePortXOffset",value:function(t,e){return e?e.find((function(e){return e.subflow_node_ref===t})).cx-this.canvasLayout.supernodeSVGAreaPadding:0}},{key:"getSupernodePortYOffset",value:function(t,e){return e?e.find((function(e){return e.subflow_node_ref===t})).cy:0}}]),e}(),Va=function(){function e(){t._classCallCheck(this,e)}return t._createClass(e,[{key:"getCommentCenterPosX",value:function(t){return t.x_pos+t.width/2}},{key:"getCommentCenterPosY",value:function(t){return t.y_pos+t.height/2}}]),e}(),Wa=Math.PI,Ka=function(){function e(n,i,o,a){t._classCallCheck(this,e),this.canvasLayout=i,this.config=n,this.nodeUtils=o,this.commentUtils=a}return t._createClass(e,[{key:"getNewStraightCommentLinkStartPos",value:function(t,e){return p.CanvasUtils.getOuterCoord(t.x_pos,t.y_pos,t.width,t.height,this.canvasLayout.linkGap,this.commentUtils.getCommentCenterPosX(t),this.commentUtils.getCommentCenterPosY(t),e.x,e.y)}},{key:"getNewStraightNodeLinkStartPos",value:function(t,e){var n,i;return"image_center"!==t.layout.drawNodeLinkLineFromTo||this.nodeUtils.isExpanded(t)?(n=this.nodeUtils.getNodeCenterPosX(t),i=this.nodeUtils.getNodeCenterPosY(t)):(n=this.nodeUtils.getNodeImageCenterPosX(t),i=this.nodeUtils.getNodeImageCenterPosY(t)),p.CanvasUtils.getOuterCoord(t.x_pos,t.y_pos,t.width,t.height,this.canvasLayout.linkGap,n,i,e.x,e.y)}},{key:"addConnectionPaths",value:function(t){var e=this;return t.forEach((function(t){t.pathInfo=e.getConnectorPathInfo(t)})),t}},{key:"getConnectorPathInfo",value:function(t,e){var n=this.getMinInitialLine(t,e);if(Math.abs(t.x1-t.x2)<20&&Math.abs(t.y1-t.y2)<20)return this.getStraightPath(t);if(t.type===l.NODE_LINK){if(this.canvasLayout.linkType===l.LINK_TYPE_CURVE||this.canvasLayout.linkType===l.LINK_TYPE_ELBOW)return this.getPortLinkPath(t,n)}else if(t.type===l.ASSOCIATION_LINK&&this.config.enableAssocLinkType===l.ASSOC_RIGHT_SIDE_CURVE)return this.getAssociationCurvePath(t,n);return this.getStraightPath(t)}},{key:"getMinInitialLine",value:function(t,e){return t.type===l.COMMENT_LINK?0:t.minInitialLineForElbow?t.minInitialLineForElbow:t.srcObj&&t.srcObj.layout?t.srcObj.layout.minInitialLine:e||10}},{key:"getLinkCoords",value:function(t,e,n,i,o,a){return t===l.NODE_LINK?this.canvasLayout.linkType===l.LINK_TYPE_STRAIGHT?this.getNodeLinkCoordsForStraightLine(e,i):this.getNodeLinkCoordsForPorts(e,n,i,o):t===l.ASSOCIATION_LINK?this.config.enableAssocLinkType===l.ASSOC_RIGHT_SIDE_CURVE?this.getAssociationCurveLinkCoords(e,i,a):this.getNodeLinkCoordsForStraightLine(e,i):this.getCommentLinkCoords(e,i)}},{key:"getNodeLinkCoordsForStraightLine",value:function(t,e){var n,i,o,a;"image_center"!==t.layout.drawNodeLinkLineFromTo||this.nodeUtils.isExpanded(t)?(n=this.nodeUtils.getNodeCenterPosX(t),i=this.nodeUtils.getNodeCenterPosY(t)):(n=this.nodeUtils.getNodeImageCenterPosX(t),i=this.nodeUtils.getNodeImageCenterPosY(t)),"image_center"!==e.layout.drawNodeLinkLineFromTo||this.nodeUtils.isExpanded(e)?(o=this.nodeUtils.getNodeCenterPosX(e),a=this.nodeUtils.getNodeCenterPosY(e)):(o=this.nodeUtils.getNodeImageCenterPosX(e),a=this.nodeUtils.getNodeImageCenterPosY(e));var r=p.CanvasUtils.getOuterCoord(t.x_pos,t.y_pos,t.width,t.height,this.canvasLayout.linkGap,n,i,o,a),s=p.CanvasUtils.getOuterCoord(e.x_pos,e.y_pos,e.width,e.height,this.canvasLayout.linkGap,o,a,n,i);return{x1:r.x,y1:r.y,x2:s.x,y2:s.y}}},{key:"getNodeLinkCoordsForPorts",value:function(t,e,n,i){var o=t.width+t.layout.outputPortRightPosX,a=t.layout.outputPortRightPosY,r=n.layout.inputPortLeftPosX,s=n.layout.inputPortLeftPosY;if(this.canvasLayout.linkDirection===l.LINK_DIR_TOP_BOTTOM?(o=t.layout.outputPortBottomPosX,a=t.height+t.layout.outputPortBottomPosY,r=n.layout.inputPortTopPosX,s=n.layout.inputPortTopPosY):this.canvasLayout.linkDirection===l.LINK_DIR_BOTTOM_TOP&&(o=t.layout.outputPortBottomPosX,a=t.layout.outputPortBottomPosY,r=n.layout.inputPortTopPosX,s=n.height+n.layout.inputPortTopPosY),t.outputs&&t.outputs.length>0){var c=t.outputs.find((function(t){return t.id===e}));o=c?c.cx:o,a=c?c.cy:a}if(n.inputs&&n.inputs.length>0){var u=n.inputs.find((function(t){return t.id===i}));r=u?u.cx:r,s=u?u.cy:s}return{x1:t.x_pos+o,y1:t.y_pos+a,x2:n.x_pos+r,y2:n.y_pos+s}}},{key:"getAssociationCurveLinkCoords",value:function(t,e,n){var i=0,o=0;return n===l.ASSOC_VAR_CURVE_RIGHT?(i=t.x_pos+t.width,o=e.x_pos):n===l.ASSOC_VAR_CURVE_LEFT?(i=t.x_pos,o=e.x_pos+e.width):n===l.ASSOC_VAR_DOUBLE_BACK_LEFT?(i=t.x_pos,o=e.x_pos):(i=t.x_pos+t.width,o=e.x_pos+e.width),{x1:i,y1:t.y_pos+t.layout.outputPortRightPosY,x2:o,y2:e.y_pos+e.layout.inputPortLeftPosY}}},{key:"getCommentLinkCoords",value:function(t,e){var n,i,o=this.commentUtils.getCommentCenterPosX(t),a=this.commentUtils.getCommentCenterPosY(t);"image_center"===e.layout.drawCommentLinkLineTo?(n=this.nodeUtils.getNodeImageCenterPosX(e),i=this.nodeUtils.getNodeImageCenterPosY(e)):(n=this.nodeUtils.getNodeCenterPosX(e),i=this.nodeUtils.getNodeCenterPosY(e));var r=p.CanvasUtils.getOuterCoord(t.x_pos,t.y_pos,t.width,t.height,this.canvasLayout.linkGap,o,a,n,i),s=p.CanvasUtils.getOuterCoord(e.x_pos,e.y_pos,e.width,e.height,this.canvasLayout.linkGap,n,i,o,a);return{x1:r.x,y1:r.y,x2:s.x,y2:s.y}}},{key:"getPortLinkPath",value:function(t,e){var n,i,o,a;t.srcObj&&t.trgNode?this.canvasLayout.linkDirection===l.LINK_DIR_TOP_BOTTOM?(n=-(t.srcObj.x_pos+t.srcObj.width),o=-t.srcObj.x_pos,i=-(t.trgNode.x_pos+t.trgNode.width),a=-t.trgNode.x_pos):this.canvasLayout.linkDirection===l.LINK_DIR_BOTTOM_TOP?(n=t.srcObj.x_pos,o=t.srcObj.x_pos+t.srcObj.width,i=t.trgNode.x_pos,a=t.trgNode.x_pos+t.trgNode.width):(n=t.srcObj.y_pos,o=t.srcObj.y_pos+t.srcObj.height,i=t.trgNode.y_pos,a=t.trgNode.y_pos+t.trgNode.height):this.canvasLayout.linkDirection===l.LINK_DIR_TOP_BOTTOM?(n=-t.x1,i=-t.x2,o=-t.x1,a=-t.x2):this.canvasLayout.linkDirection===l.LINK_DIR_BOTTOM_TOP?(n=t.x1,i=t.x2,o=t.x1,a=t.x2):(n=t.y1,i=t.y2,o=t.y1,a=t.y2);var r=t;this.canvasLayout.linkDirection===l.LINK_DIR_TOP_BOTTOM?r=this.rotateData90Degrees(r,true):this.canvasLayout.linkDirection===l.LINK_DIR_BOTTOM_TOP&&(r=this.rotateData90Degrees(r,false));var s=this.canvasLayout.linkType===l.LINK_TYPE_ELBOW?this.getElbowPathInfo(r,e,n,i,o,a):this.getCurvePathInfo(r,e,n,i,o,a);return this.canvasLayout.linkDirection===l.LINK_DIR_TOP_BOTTOM?(s.elements=this.rotateElements90Degrees(s.elements,false),s.centerPoint=this.rotatePoint90Degrees(s.centerPoint.x,s.centerPoint.y,false)):this.canvasLayout.linkDirection===l.LINK_DIR_BOTTOM_TOP&&(s.elements=this.rotateElements90Degrees(s.elements,true),s.centerPoint=this.rotatePoint90Degrees(s.centerPoint.x,s.centerPoint.y,true)),s.path=this.createPath(s.elements),s}},{key:"getCurvePathInfo",value:function(t,e,n,i,o,a){var r={x:0,y:0},s=t.x2-t.x1,l=[];if(l.push({p:"M",x:t.x1,y:t.y1}),s>=e||a>n-this.canvasLayout.wrapAroundNodePadding&&i<o+this.canvasLayout.wrapAroundNodePadding&&t.x2>t.x1){var c=t.x1+(t.x2-t.x1)/2,u=t.y1,d=c,h=t.y2;l.push({p:"C",x:c,y:u,x2:d,y2:h,x3:t.x2,y3:t.y2}),r.x=c,r.y=u+(h-u)/2}else{var p=t.y2-t.y1,g=this.calculateMidY(t,n,o,i,a),f=Math.min(Math.abs(p)/2,-(s-e/2)),v=e-Math.max(s/2,0),y=t.x1+v,m=t.y1,C=y,k=t.y1+(g-t.y1)/2,b=t.x1+(t.x2-t.x1)/2,_=g,P=t.x1-f,L=g,N=t.x2+f,T=g,S=t.x2-v,w=g,E=S,x=g+(t.y2-g)/2;P>N?(l.push({p:"Q",x:y,y:m,x2:C,y2:k},{p:"T",x:P,y:L},{p:"L",x:N,y:T},{p:"Q",x:S,y:w,x2:E,y2:x},{p:"T",x:t.x2,y:t.y2}),r.x=P+(N-P)/2,r.y=L):(l.push({p:"Q",x:y,y:m,x2:C,y2:k},{p:"T",x:b,y:_},{p:"Q",x:S,y:w,x2:E,y2:x},{p:"T",x:t.x2,y:t.y2}),r.x=b,r.y=_)}return{elements:l,centerPoint:r}}},{key:"getElbowPathInfo",value:function(t,e,n,i,o,a){var r,s=t.trgNode?t.trgNode.layout.minFinalLine:30,l={x:0,y:0},c=t.x1+e,u=t.y1,d=c,h=t.y2,p=t.x2-t.x1,g=t.y2-t.y1;r=p>0&&g<4*this.canvasLayout.elbowSize&&g>-4*this.canvasLayout.elbowSize?p<e+s?g/4:g/2:g>=0?this.canvasLayout.elbowSize:-this.canvasLayout.elbowSize;var f=this.canvasLayout.elbowSize,v=!1;p<e+s&&(v=!0,d=t.x2-s,f=Math.min(this.canvasLayout.elbowSize,-(p-(e+s))/2));var y=[];if(y.push({p:"M",x:t.x1,y:t.y1},{p:"L",x:c-this.canvasLayout.elbowSize,y:u},{p:"Q",x:c,y:u,x2:c,y2:u+r}),!1===v)y.push({p:"L",x:d,y:h-r}),l.x=d,l.y=h;else{var m,C,k=p<0?this.calculateMidY(t,n,o,i,a):h-(h-u)/2;k<i&&k<n||k>a&&k>o?(m=k-r,C=h+r):(m=k+r,C=h-r),y.push({p:"L",x:c,y:k-r},{p:"Q",x:c,y:k,x2:c-f,y2:k},{p:"L",x:d+f,y:k},{p:"Q",x:d,y:k,x2:d,y2:m},{p:"L",x:d,y:C}),l.x=c,l.y=k}return y.push({p:"Q",x:d,y:h,x2:d+this.canvasLayout.elbowSize,y2:h},{p:"L",x:t.x2,y:t.y2}),{elements:y,centerPoint:l}}},{key:"calculateMidY",value:function(t,e,n,i,o){return i>=n+this.canvasLayout.wrapAroundNodePadding?n+(i-n)/2:o<=e-this.canvasLayout.wrapAroundNodePadding?o+(e-o)/2:t.y1>t.y2?Math.min(e,i)-this.canvasLayout.wrapAroundSpacing:Math.max(n,o)+this.canvasLayout.wrapAroundSpacing}},{key:"rotateData90Degrees",value:function(t,e){var n=this.rotatePoint90Degrees(t.x1,t.y1,e),i=this.rotatePoint90Degrees(t.x2,t.y2,e);return{x1:n.x,y1:n.y,x2:i.x,y2:i.y}}},{key:"rotateElements90Degrees",value:function(t,e){var n,i=this;return t.forEach((function(t){n=i.rotatePoint90Degrees(t.x,t.y,e),t.x=n.x,t.y=n.y,"Q"!==t.p&&"C"!==t.p||(n=i.rotatePoint90Degrees(t.x2,t.y2,e),t.x2=n.x,t.y2=n.y,"C"===t.p&&(n=i.rotatePoint90Degrees(t.x3,t.y3,e),t.x3=n.x,t.y3=n.y))})),t}},{key:"rotatePoint90Degrees",value:function(t,e,n){return n?{x:e,y:-t}:{x:-e,y:t}}},{key:"createPath",value:function(t){var e=t.length-1,n="";return t.forEach((function(t,i){"M"===t.p?n+="M "+t.x+" "+t.y:"L"===t.p?n+="L "+t.x+" "+t.y:"T"===t.p?n+="T "+t.x+" "+t.y:"Q"===t.p?n+="Q "+t.x+" "+t.y+" "+t.x2+" "+t.y2:"C"===t.p&&(n+="C "+t.x+" "+t.y+" "+t.x2+" "+t.y2+" "+t.x3+" "+t.y3),i<e&&(n+=" ")})),n}},{key:"getStraightPath",value:function(t){var e="M "+t.x1+" "+t.y1+" L "+t.x2+" "+t.y2,n=t.x2-t.x1,i=t.y2-t.y1,o={x:t.x1+n/2,y:t.y1+i/2},a=Math.atan(i/n);return n<0&&(a=Wa+a),{path:e,centerPoint:o,angle:a}}},{key:"getAssociationCurvePath",value:function(t,e){return t.assocLinkVariation===l.ASSOC_VAR_CURVE_LEFT?this.getCurveLeftPath(t,e):t.assocLinkVariation===l.ASSOC_VAR_DOUBLE_BACK_LEFT?this.getDoubleBackLeft(t,e):t.assocLinkVariation===l.ASSOC_VAR_DOUBLE_BACK_RIGHT?this.getDoubleBackRight(t,e):this.getCurveRightPath(t,e)}},{key:"getCurveLeftPath",value:function(t,e){var n=t.x1-(t.x1-t.x2)/2;return this.getCurveOutPath(t,e,n)}},{key:"getCurveRightPath",value:function(t,e){var n=t.x1+(t.x2-t.x1)/2;return this.getCurveOutPath(t,e,n)}},{key:"getCurveOutPath",value:function(t,e,n){var i=t.y1,o=n,a=t.y2;return{path:"M "+t.x1+" "+t.y1+" C "+n+" "+i+" "+o+" "+a+" "+t.x2+" "+t.y2,centerPoint:{x:n,y:i+(a-i)/2}}}},{key:"getDoubleBackLeft",value:function(t,e){var n=Math.min(t.x1,t.x2)-e-100;return this.getDoubleBack(t,e,n)}},{key:"getDoubleBackRight",value:function(t,e){var n=Math.max(t.x1,t.x2)+e+100;return this.getDoubleBack(t,e,n)}},{key:"getDoubleBack",value:function(t,e,n){var i=t.y1,o=n,a=t.y2;return{path:"M "+t.x1+" "+t.y1+" C "+n+" "+i+" "+o+" "+a+" "+t.x2+" "+t.y2,centerPoint:{x:this.calcCenterPoint(t.x1,n,o,t.x2),y:this.calcCenterPoint(t.y1,i,a,t.y2)}}}},{key:"calcCenterPoint",value:function(t,e,n,i){var o=.5;return Math.pow(.5,3)*t+3*Math.pow(.5,2)*o*e+3*Math.pow(.5,2)*o*n+Math.pow(o,3)*i}}]),e}(),Za=function(){function e(n){t._classCallCheck(this,e),this.canvasLayout=n}return t._createClass(e,[{key:"getDec",value:function(t,e){return e?e.find((function(e){return e.id===t})):null}},{key:"getDecLabelForeignClass",value:function(t){return"d3-foreign-object"+(t.label_outline?" d3-node-label-outline":"")}},{key:"getDecLabelClass",value:function(t,e){var n=t.label_single_line?" d3-label-single-line":" d3-label-multi-line",i="center"===t.label_align?" d3-label-center":"";return this.getDecClass(t,"d3-".concat(e,"-dec-label"))+n+i}},{key:"getDecLabelTextAreaClass",value:function(t){return"d3-dec-label-entry"+(t.label_single_line?" d3-label-single-line":" d3-label-multi-line")+("center"===t.label_align?" d3-label-center":"")}},{key:"getDecTransform",value:function(t,e,n){return"translate(".concat(this.getDecPosX(t,e,n),", ").concat(this.getDecPosY(t,e,n),")")}},{key:"getDecPosX",value:function(t,e,n){return n===l.DEC_LINK?this.getLinkDecPosX(t,e,n):this.getNodeDecPosX(t,e)}},{key:"getNodeDecPosX",value:function(t,e){var n=t.position||"topLeft",i=0;return"topLeft"===n||"middleLeft"===n||"bottomLeft"===n?i=void 0!==t.x_pos?Number(t.x_pos):e.layout.decoratorLeftX:"topCenter"===n||"middleCenter"===n||"bottomCenter"===n?i=e.width/2+(void 0!==t.x_pos?Number(t.x_pos):e.layout.decoratorCenterX):"topRight"!==n&&"middleRight"!==n&&"bottomRight"!==n||(i=e.width+(void 0!==t.x_pos?Number(t.x_pos):e.layout.decoratorRightX)),i}},{key:"getLinkDecPosX",value:function(t,e,n){var i=t.position||"middle",o=0;return"middle"===i?o=e.pathInfo.centerPoint?e.pathInfo.centerPoint.x:e.x1+(e.x2-e.x1)/2:"source"===i?o=e.pathInfo.sourcePoint?e.pathInfo.sourcePoint.x:e.x1:"target"===i&&(o=e.pathInfo.targetPoint?e.pathInfo.targetPoint.x:e.x2),o=void 0!==t.x_pos?o+Number(t.x_pos):o,t.distance&&a.has_1(e,"pathInfo.angle")&&(o+=Math.cos(e.pathInfo.angle)*t.distance),"center"===t.label_align&&(o-=this.getDecWidth(t,e,n)/2),o}},{key:"getDecPosY",value:function(t,e,n){return n===l.DEC_LINK?this.getLinkDecPosY(t,e):this.getNodeDecPosY(t,e)}},{key:"getNodeDecPosY",value:function(t,e){var n=t.position||"topLeft",i=0;return"topLeft"===n||"topCenter"===n||"topRight"===n?i=void 0!==t.y_pos?Number(t.y_pos):e.layout.decoratorTopY:"middleLeft"===n||"middleCenter"===n||"middleRight"===n?i=e.height/2+(void 0!==t.y_pos?Number(t.y_pos):e.layout.decoratorMiddleY):"bottomLeft"!==n&&"bottomCenter"!==n&&"bottomRight"!==n||(i=e.height+(void 0!==t.y_pos?Number(t.y_pos):e.layout.decoratorBottomY)),i}},{key:"getLinkDecPosY",value:function(t,e){var n=t.position||"middle",i=0;return"middle"===n?i=e.pathInfo.centerPoint?e.pathInfo.centerPoint.y:e.y1+(e.y2-e.y1)/2:"source"===n?i=e.pathInfo.sourcePoint?e.pathInfo.sourcePoint.y:e.y1:"target"===n&&(i=e.pathInfo.targetPoint?e.pathInfo.targetPoint.y:e.y2),i=void 0!==t.y_pos?i+Number(t.y_pos):i,t.distance&&a.has_1(e,"pathInfo.angle")&&(i+=Math.sin(e.pathInfo.angle)*t.distance),i}},{key:"getDecPadding",value:function(t,e,n){return!1===t.outline?0:n===l.DEC_LINK?this.canvasLayout.linkDecoratorPadding:e.layout.decoratorPadding}},{key:"getDecWidth",value:function(t,e,n){return void 0!==t.width?Number(t.width):n===l.DEC_LINK?this.canvasLayout.linkDecoratorWidth:e.layout.decoratorWidth}},{key:"getDecHeight",value:function(t,e,n){return void 0!==t.height?Number(t.height):n===l.DEC_LINK?this.canvasLayout.linkDecoratorHeight:e.layout.decoratorHeight}},{key:"getDecClass",value:function(t,e){var n=e;return t&&t.class_name&&(n+=" "+t.class_name),n}},{key:"getDecImage",value:function(t){return t?t.image:""}},{key:"getDecLabelEditIconTranslate",value:function(t,e,n,i,o){return"translate(".concat(this.getDecLabelEditIconPosX(t,e,n,i,o),", ").concat(this.getDecLabelEditIconPosY(t),")")}},{key:"getDecLabelEditIconPosX",value:function(t,e,n,i,o){return"center"===t.label_align?this.getDecLabelWidth(t,e,n)/2+i.getBoundingClientRect().width/2/o:i.getBoundingClientRect().width/o}},{key:"getDecLabelEditIconPosY",value:function(t){return 0}},{key:"getDecLabelWidth",value:function(t,e,n){return void 0!==t.width?Number(t.width):n===l.DEC_LINK?this.canvasLayout.linkDecoratorLabelWidth:e.layout.decoratorLabelWidth}},{key:"getDecLabelHeight",value:function(t,e,n){return void 0!==t.height?Number(t.height):n===l.DEC_LINK?this.canvasLayout.linkDecoratorLabelHeight:e.layout.decoratorLabelHeight}},{key:"getDecLabelTextAreaWidth",value:function(t,e,n){return this.getDecLabelWidth(t,e,n)+2*l.TEXT_AREA_BORDER_ADJUSTMENT}},{key:"getDecLabelTextAreaHeight",value:function(t,e,n){return this.getDecLabelHeight(t,e,n)+2*l.TEXT_AREA_BORDER_ADJUSTMENT}},{key:"getDecLabelTextAreaPosX",value:function(){return-l.TEXT_AREA_BORDER_ADJUSTMENT}},{key:"getDecLabelTextAreaPosY",value:function(){return-(l.TEXT_AREA_BORDER_ADJUSTMENT-1)}}]),e}(),qa=Object.assign({},jn,li,cn,xi,Ba),Ja=function(){function e(n,i,o,a,r){var s=this,c=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};t._classCallCheck(this,e),this.logger=new p.Logger(["SVGCanvasRenderer","PipeId",n]),this.logger.logStartTimer("constructor"+n.substring(0,5)),this.pipelineId=n,this.supernodeInfo=c,this.canvasDiv=i,this.canvasInfo=a,this.config=r,this.canvasController=o,this.objectModel=this.canvasController.getObjectModel(),this.activePipeline=this.getActivePipeline(n),this.activePipeline=p.CanvasUtils.preProcessPipeline(this.activePipeline),this.superRenderers=[],this.instanceId=this.canvasController.getInstanceId(),this.canvasLayout=this.objectModel.getCanvasLayout(),this.dispUtils=new Fa(this.canvasController,this.supernodeInfo.d3Selection,this.pipelineId),this.nodeUtils=new Xa(this.canvasLayout),this.commentUtils=new Va,this.linkUtils=new Ka(this.config,this.canvasLayout,this.nodeUtils,this.commentUtils),this.decUtils=new Za(this.canvasLayout),this.dispUtils.setDisplayState(),this.logger.log(this.dispUtils.getDisplayStateMsg()),this.initializeZoomVariables(),this.minScaleExtent=.2,this.maxScaleExtent=1.8,this.resizeObj=null,this.resizeObjInitialInfo=null,this.commentSizing=!1,this.commentSizingDirection="",this.nodeSizing=!1,this.nodeSizingDirection="",this.nodeSizingObjectsInfo=[],this.nodeSizingLinksInfo=[],this.notSnappedXPos=0,this.notSnappedYPos=0,this.notSnappedWidth=0,this.notSnappedHeight=0,this.editingText=!1,this.editingTextId="",this.dragging=!1,this.dragOffsetX=0,this.dragOffsetY=0,this.dragRunningX=0,this.dragRunningY=0,this.dragObjects=[],this.dragStartX=0,this.dragStartY=0,this.dragOverLink=null,this.dragOverDetachedLinks=[],this.dragPointerOffsetInNode=null,this.dragNewLinkOverNode=null,this.selecting=!1,this.movingBindingNodes=!1,this.contextMenuClosedOnZoom=!1,this.regionSelect=!1,this.region={startX:0,startY:0,width:0,height:0},this.regionStartTransformX=0,this.regionStartTransformY=0,this.drawingNewLinkData=null,this.drag=qa.drag().on("start",this.dragStart.bind(this)).on("drag",this.dragMove.bind(this)).on("end",this.dragEnd.bind(this)),this.draggingLinkData=null,this.dragSelectionHandle=qa.drag().on("start",this.dragStartLinkHandle.bind(this)).on("drag",this.dragMoveLinkHandle.bind(this)).on("end",this.dragEndLinkHandle.bind(this)),this.zoom=qa.zoom().trackpad(this.config.enableInteractionType===l.INTERACTION_TRACKPAD).preventBackGesture(!0).wheelDelta((function(t){return-t.deltaY*(s.config.enableInteractionType===l.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)),this.initializeGhostDiv(),this.canvasSVG=this.createCanvasSVG(),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.restoreZoom(),(this.dispUtils.isDisplayingSubFlowFullPage()||this.canvasLayout.alwaysDisplayBackToParentFlow)&&this.addBackToParentFlowArrow(this.canvasSVG),this.dispUtils.isDisplayingSubFlowFullPage()&&(!this.config.enableSaveZoom||"None"===this.config.enableSaveZoom||"LocalStorage"===this.config.enableSaveZoom&&!this.getSavedZoom()||"Pipelineflow"===this.config.enableSaveZoom&&!this.activePipeline.zoom)&&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 t._createClass(e,[{key:"isCanvasEmptyOrBindingsOnly",value:function(){return(a.isEmpty_1(this.activePipeline.nodes)||this.containsOnlyBindingNodes(this.activePipeline))&&a.isEmpty_1(this.activePipeline.comments)}},{key:"containsOnlyBindingNodes",value:function(t){return!t.nodes.find((function(t){return!p.CanvasUtils.isSuperBindingNode(t)}))}},{key:"getParentSupernodeDatum",value:function(){var t=this,e=null;return this.canvasInfo.pipelines.forEach((function(n){n.id===t.supernodeInfo.pipelineId&&(e||(e=n.nodes.find((function(e){return t.nodeUtils.isSupernode(e)&&e.id===t.supernodeInfo.id}))))})),e}},{key:"getSupernodes",value:function(t){var e=this;return t.nodes.filter((function(t){return e.nodeUtils.isSupernode(t)}))}},{key:"getZoomTransform",value:function(){return this.zoomTransform}},{key:"initializeZoomVariables",value:function(){this.zoomTransform=qa.zoomIdentity.translate(0,0).scale(1),this.zoomStartPoint={x:0,y:0,k:0}}},{key:"getActivePipeline",value:function(t){var e=this.canvasInfo.pipelines.find((function(e){return e.id===t}));return e||{id:t,nodes:[],comments:[],links:[]}}},{key:"setCanvasInfoRenderer",value:function(t){this.logger.logStartTimer("setCanvasInfoRenderer"+this.pipelineId.substring(0,5)),this.canvasInfo=t,this.activePipeline=this.getActivePipeline(this.pipelineId),this.activePipeline=p.CanvasUtils.preProcessPipeline(this.activePipeline),this.canvasLayout=this.objectModel.getCanvasLayout(),this.dispUtils.setDisplayState(),this.logger.log(this.dispUtils.getDisplayStateMsg()),this.resetCanvasSVGBehaviors(),this.resetCanvasCursor(),this.superRenderers=this.cleanUpSuperRenderers(),this.displayCanvas(),this.logger.logEndTimer("setCanvasInfoRenderer"+this.pipelineId.substring(0,5))}},{key:"cleanUpSuperRenderers",value:function(){var t=this,e=[];return this.getSupernodes(this.activePipeline).forEach((function(n){var i=t.getRendererForSupernode(n);i&&e.push(i),t.getDiscardedRenderersForSupernode(n).forEach((function(t){return t.canvasSVG.remove()}))})),e}},{key:"clearCanvas",value:function(){this.initializeZoomVariables(),this.canvasSVG.remove()}},{key:"refreshOnSizeChange",value:function(){if(this.logger.log("refreshOnSizeChange"),this.dispUtils.isDisplayingSubFlowFullPage()&&this.displayBindingNodesToFitSVG(),this.config.enableBoundingRectangles&&this.displayBoundingRectangles(),this.config.enablePositionNodeOnRightFlyoutOpen&&this.canvasController.isRightFlyoutOpen()){var t=this.config.enablePositionNodeOnRightFlyoutOpen,e=t.x?t.x:50,n=t.y?t.y:50,i=this.canvasController.getSelectedNodes().map((function(t){return t.id})),o=this.getZoomToReveal(i,e,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.dispUtils.isDisplayingSubFlowFullPage()&&this.displayPortsForSubFlowFullPage(),this.config.enableBoundingRectangles&&this.displayBoundingRectangles(),"None"!==this.config.enableCanvasUnderlay&&this.dispUtils.isDisplayingPrimaryFlowFullPage()&&this.setCanvasUnderlaySize(),this.logger.logEndTimer("displayCanvas")}},{key:"displayPortsForSubFlowFullPage",value:function(){this.setPortPositionsForNode(this.getParentSupernodeDatum()),this.displayBindingNodesToFitSVG()}},{key:"displaySVGToFitSupernode",value:function(){this.logger.log("displaySVGToFitSupernode - start");var t=this.getParentSupernodeSVGDimensions();this.canvasSVG.attr("width",t.width),this.canvasSVG.attr("height",t.height),this.canvasSVG.attr("x",t.x),this.canvasSVG.attr("y",t.y);var e=this.canvasSVG.selectChildren(".d3-svg-background");e.attr("width",t.width),e.attr("height",t.height),this.zoomToFit(),this.displayBindingNodesToFitSVG(),this.logger.log("displaySVGToFitSupernode - end")}},{key:"displayBindingNodesToFitSVG",value:function(){this.logger.log("displayBindingNodesToFitSVG - start"),this.setPortPositionsAllNodes(),this.moveSuperBindingNodes(),this.movingBindingNodes=!0,this.displayNodes(),this.displayLinks(),this.movingBindingNodes=!1,this.logger.log("displayBindingNodesToFitSVG - end")}},{key:"getParentSupernodeSVGDimensions",value:function(){var t=this.getParentSupernodeDatum();return{width:t.width-2*this.canvasLayout.supernodeSVGAreaPadding,height:t.height-this.canvasLayout.supernodeTopAreaHeight-this.canvasLayout.supernodeSVGAreaPadding,x:this.canvasLayout.supernodeSVGAreaPadding,y:this.canvasLayout.supernodeTopAreaHeight,x_pos:t.x_pos+this.canvasLayout.supernodeSVGAreaPadding,y_pos:t.y_pos+this.canvasLayout.supernodeTopAreaHeight}}},{key:"moveSuperBindingNodes",value:function(){var t=this,e=this.getTransformedViewportDimensions(),n=this.getParentSupernodeDatum();if(this.canvasLayout.linkDirection===l.LINK_DIR_TOP_BOTTOM||this.canvasLayout.linkDirection===l.LINK_DIR_BOTTOM_TOP){var i=n.width-2*this.canvasLayout.supernodeSVGAreaPadding;this.activePipeline.nodes.forEach((function(o){if(o.isSupernodeInputBinding){var a=t.nodeUtils.getSupernodePortXOffset(o.id,n.inputs);o.x_pos=e.width*(a/i)+e.x-o.outputs[0].cx,o.y_pos=t.canvasLayout.linkDirection===l.LINK_DIR_TOP_BOTTOM?e.y-o.height:e.y+e.height}if(o.isSupernodeOutputBinding){var r=t.nodeUtils.getSupernodePortXOffset(o.id,n.outputs);o.x_pos=e.width*(r/i)+e.x-o.inputs[0].cx,o.y_pos=t.canvasLayout.linkDirection===l.LINK_DIR_TOP_BOTTOM?o.y_pos=e.y+e.height:o.y_pos=e.y-o.height}}))}else{var o,a;this.nodeUtils.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.x-i.width;var r=t.nodeUtils.getSupernodePortYOffset(i.id,n.inputs)-o;i.y_pos=e.height*(r/a)+e.y-i.outputs[0].cy}if(i.isSupernodeOutputBinding){i.x_pos=e.x+e.width;var s=t.nodeUtils.getSupernodePortYOffset(i.id,n.outputs)-o;i.y_pos=e.height*(s/a)+e.y-i.inputs[0].cy}}))}}},{key:"displayBoundingRectangles",value:function(){if(this.activePipeline){var t=this.getViewportDimensions(),e=this.getTransformedRect(t,1),n=this.getCanvasDimensionsAdjustedForScale(1),i=this.getCanvasDimensionsAdjustedForScale(1,this.getZoomToFitPadding());this.boundingRectsGrp.selectChildren(".d3-bounding").remove();var o=this.boundingRectsGrp.append("g").attr("class","d3-bounding");o.append("rect").attr("height",t.height).attr("width",t.width).attr("x",0).attr("y",0).style("fill","none").style("stroke","darkorange"),o.append("rect").attr("height",e.height).attr("width",e.width-2).attr("x",e.x).attr("y",e.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(t){return t.displayBoundingRectangles()}))}}},{key:"isEditingText",value:function(){if(this.editingText)return!0;var t=!1;return this.superRenderers.forEach((function(e){t||(t=e.isEditingText())})),t}},{key:"isDragging",value:function(){return this.dragging}},{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(t){var e=this.getSelectorForId("node_grp",t);return this.nodesLinksGrp.selectChildren(e)}},{key:"getLinkGroupSelectionById",value:function(t){var e=this.getSelectorForId("link_grp",t);return this.nodesLinksGrp.selectChildren(e)}},{key:"getSelectorForId",value:function(t,e,n){return"[data-id='".concat(this.getId(t,e,n),"']")}},{key:"getId",value:function(t,e,n){var i="".concat(t,"_").concat(this.instanceId);return e&&(i+="_".concat(e)),n&&(i+="_".concat(n)),i}},{key:"getMousePosSnapToGrid",value:function(t){var e=t;return this.config.enableSnapToGridType!==l.SNAP_TO_GRID_DURING&&this.config.enableSnapToGridType!==l.SNAP_TO_GRID_AFTER||(e=this.snapToGridPosition(e)),e}},{key:"snapToGridObject",value:function(t){var e=t;return e.x_pos=p.CanvasUtils.snapToGrid(e.x_pos,this.canvasLayout.snapToGridXPx),e.y_pos=p.CanvasUtils.snapToGrid(e.y_pos,this.canvasLayout.snapToGridYPx),e.width=p.CanvasUtils.snapToGrid(e.width,this.canvasLayout.snapToGridXPx),e.height=p.CanvasUtils.snapToGrid(e.height,this.canvasLayout.snapToGridYPx),e}},{key:"getTransformedMousePos",value:function(t){return this.transformPos(this.getMousePos(t,this.canvasSVG))}},{key:"getMousePos",value:function(t,e){var n=qa.pointer(t,e.node());return{x:n[0],y:n[1]}}},{key:"convertPageCoordsToCanvasCoords",value:function(t,e){var n=this.canvasSVG.node().getBoundingClientRect();return this.transformPos({x:t-Math.round(n.left),y:e-Math.round(n.top)})}},{key:"transformPos",value:function(t){return{x:(t.x-this.zoomTransform.x)/this.zoomTransform.k,y:(t.y-this.zoomTransform.y)/this.zoomTransform.k}}},{key:"getTransformedRect",value:function(t,e){var n=e/this.zoomTransform.k;return{x:-this.zoomTransform.x/this.zoomTransform.k+n,y:-this.zoomTransform.y/this.zoomTransform.k+n,height:t.height/this.zoomTransform.k-2*n,width:t.width/this.zoomTransform.k-2*n}}},{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(t){var e=this,n=this.getGhostDimensions(),i=this.canvasController.convertNodeTemplate(t);i.layout=this.canvasController.getObjectModel().getNodeLayout(),i.width=i.is_expanded?i.expanded_width:n.width,i.height=i.is_expanded?i.expanded_height:n.height;var o=this.getNodeImage(i),a=this.getImageType(o),r=this.getGhostDivSel(),s=this.objectModel.getNodeLayout(),l=Math.max(s.labelWidth,i.width);r.selectAll(".d3-ghost-svg").remove();var c=r.append("svg").attr("width",l*this.zoomTransform.k).attr("height",(50+i.height)*this.zoomTransform.k).attr("x",0).attr("y",0).attr("class","d3-ghost-svg").append("g").attr("class","d3-node-group");c.append("rect").attr("class","d3-ghost-node").attr("x",0).attr("y",0).attr("width",i.width).attr("height",i.height),c.append(a).attr("class","d3-node-image").each((function(){e.setNodeImageContent(this,i)})).attr("x",this.nodeUtils.getNodeImagePosX(i)).attr("y",this.nodeUtils.getNodeImagePosY(i)).attr("width",this.nodeUtils.getNodeImageWidth(i)).attr("height",this.nodeUtils.getNodeImageHeight(i));var u=c.append("foreignObject").attr("x",this.nodeUtils.getNodeLabelPosX(i)).attr("y",this.nodeUtils.getNodeLabelPosY(i)).attr("width",this.nodeUtils.getNodeLabelWidth(i)).attr("height",this.nodeUtils.getNodeLabelHeight(i)).attr("class",this.nodeUtils.getNodeLabelForeignClass(i)),d=u.append("xhtml:div").attr("class",this.nodeUtils.getNodeLabelClass(i)),h=d.append("xhtml:span").html(i.label).node().getBoundingClientRect().width+4,p=this.nodeUtils.getNodeLabelWidth(i),g=Math.min(p,h),f=Math.max(0,(g-n.width)/2)*this.zoomTransform.k;if(c.attr("transform","translate(".concat(f,", 0) scale(").concat(this.zoomTransform.k,")")),"center"===i.layout.labelAlign){var v=Math.max(0,(p-g)/2);u.attr("width",g).attr("x",this.nodeUtils.getNodeLabelPosX(i)+v),d.attr("width",g)}var y=window.devicePixelRatio/2,m=(f+n.width/2*this.zoomTransform.k)*y,C=n.height/2*this.zoomTransform.k*y;return{element:r.node(),centerX:m,centerY:C}}},{key:"getGhostDimensions",value:function(){var t=this.objectModel.getNodeLayout();return{width:t.defaultNodeWidth,height:t.defaultNodeHeight}}},{key:"nodeTemplateDraggedOver",value:function(t,e,n){if(this.isNodeTemplateInsertableIntoLink(t)){var i=this.getLinkAtMousePos(e,n);i&&!this.isLinkFullyAttached(i)||this.setInsertNodeIntoLinkHighlighting(i)}if(this.isNodeTemplateAttachableToDetachedLinks(t)){var o=this.convertPageCoordsToCanvasCoords(e,n),a=this.getGhostDimensions(),r={x1:o.x-a.width/2,y1:o.y-a.height/2,x2:o.x+a.width/2,y2:o.y+a.height/2},s=this.canvasController.convertNodeTemplate(t),l=this.getAttachableLinksForNodeAtPos(s,r);this.setDetachedLinkHighlighting(l)}"None"!==this.config.enableCanvasUnderlay&&this.dispUtils.isDisplayingPrimaryFlowFullPage()&&this.setCanvasUnderlaySize(e,n)}},{key:"setInsertNodeIntoLinkHighlighting",value:function(t){t?this.dragOverLink?t.id!==this.dragOverLink.id&&(this.unsetInsertNodeIntoLinkHighlighting(),this.dragOverLink=t,this.setNodeDragOverLinkHighlighting(this.dragOverLink,!0)):(this.dragOverLink=t,this.setNodeDragOverLinkHighlighting(this.dragOverLink,!0)):this.unsetInsertNodeIntoLinkHighlighting()}},{key:"unsetInsertNodeIntoLinkHighlighting",value:function(t){this.dragOverLink&&(this.setNodeDragOverLinkHighlighting(this.dragOverLink,!1),this.dragOverLink=null)}},{key:"setDetachedLinkHighlighting",value:function(t){var e=this;t&&t.length>0?(this.unsetDetachedLinkHighlighting(),this.dragOverDetachedLinks=t,this.dragOverDetachedLinks.forEach((function(t){return e.setNodeDragOverLinkHighlighting(t,!0)}))):this.dragOverDetachedLinks.length>0&&this.unsetDetachedLinkHighlighting()}},{key:"unsetDetachedLinkHighlighting",value:function(){var t=this;this.dragOverDetachedLinks.forEach((function(e){return t.setNodeDragOverLinkHighlighting(e,!1)})),this.dragOverDetachedLinks=[]}},{key:"setNodeDragOverLinkHighlighting",value:function(t,e){this.getLinkGroupSelectionById(t.id).attr("data-drag-node-over",!!e||null)}},{key:"setNewLinkOverNode",value:function(t){var e=this.getNodeNearMousePos(t,this.canvasLayout.nodeProximity);e&&this.isConnectionAllowedToNearbyNode(t,e)?this.dragNewLinkOverNode?e.id!==this.dragNewLinkOverNode.id&&(this.setNewLinkOverNodeHighlighting(this.dragNewLinkOverNode,!1),this.dragNewLinkOverNode=e,this.setNewLinkOverNodeHighlighting(this.dragNewLinkOverNode,!0)):(this.dragNewLinkOverNode=e,this.setNewLinkOverNodeHighlighting(this.dragNewLinkOverNode,!0)):this.dragNewLinkOverNode&&(this.setNewLinkOverNodeHighlighting(this.dragNewLinkOverNode,!1),this.dragNewLinkOverNode=null)}},{key:"isConnectionAllowedToNearbyNode",value:function(t,e){if(this.drawingNewLinkData){if(this.drawingNewLinkData.action===l.NODE_LINK){var n=this.drawingNewLinkData.srcNode,i=e,o=this.drawingNewLinkData.srcNodePortId,a=p.CanvasUtils.getDefaultInputPortId(i);return p.CanvasUtils.isDataConnectionAllowed(o,a,n,i,this.activePipeline.links)}if(this.drawingNewLinkData.action===l.ASSOCIATION_LINK){var r=this.drawingNewLinkData.srcNode,s=e;return p.CanvasUtils.isAssocConnectionAllowed(r,s,this.activePipeline.links)}if(this.drawingNewLinkData.action===l.COMMENT_LINK){var c=this.drawingNewLinkData.srcObjId,u=e.id;return p.CanvasUtils.isCommentLinkConnectionAllowed(c,u,this.activePipeline.links)}}else if(this.draggingLinkData){if(this.getNewLinkOnDrag(t,this.canvasLayout.nodeProximity))return!0}return!1}},{key:"setNewLinkOverNodeHighlighting",value:function(t,e){t&&this.getNodeGroupSelectionById(t.id).attr("data-new-link-over",e?"yes":"no")}},{key:"setNewLinkOverNodeCancel",value:function(){this.setNewLinkOverNodeHighlighting(this.dragNewLinkOverNode,!1),this.dragNewLinkOverNode=null}},{key:"nodeTemplateDropped",value:function(t,e,n){if(null!==t){var i=this.transformMousePosForNode(e,n);this.dragOverLink?(this.canvasController.createNodeFromTemplateOnLinkAt(t,this.dragOverLink,i,this.pipelineId),this.unsetInsertNodeIntoLinkHighlighting()):this.dragOverDetachedLinks.length>0?(this.canvasController.createNodeFromTemplateAttachLinks(t,this.dragOverDetachedLinks,i,this.pipelineId),this.unsetDetachedLinkHighlighting()):this.canvasController.createNodeFromTemplateAt(t,i,this.pipelineId)}}},{key:"externalObjectDropped",value:function(t,e,n){if(null!==t){var i=this.transformMousePosForNode(e,n);this.canvasController.createDroppedExternalObject(t,i,this.pipelineId)}}},{key:"transformMousePosForNode",value:function(t,e){var n=this.convertPageCoordsToCanvasCoords(t,e),i=this.getGhostDimensions();return n.x-=i.width/2,n.y-=i.height/2,this.getMousePosSnapToGrid(n)}},{key:"isNodeTemplateInsertableIntoLink",value:function(t){return this.config.enableInsertNodeDroppedOnLink&&this.isNonBindingNode(t)&&!this.isPortMaxCardinalityZero(t.inputs[0])&&!this.isPortMaxCardinalityZero(t.outputs[0])}},{key:"isExistingNodeInsertableIntoLink",value:function(){return this.config.enableInsertNodeDroppedOnLink&&1===this.dragObjects.length&&this.isNode(this.dragObjects[0])&&this.isNonBindingNode(this.dragObjects[0])&&!this.nodeUtils.isNodeDefaultPortsCardinalityAtMax(this.dragObjects[0],this.activePipeline.links)}},{key:"isExistingNodeAttachableToDetachedLinks",value:function(){return this.config.enableLinkSelection===l.LINK_SELECTION_DETACHABLE&&1===this.dragObjects.length&&this.isNode(this.dragObjects[0])}},{key:"isNodeTemplateAttachableToDetachedLinks",value:function(t){return this.config.enableLinkSelection===l.LINK_SELECTION_DETACHABLE}},{key:"getAttachableLinksForNodeAtPos",value:function(t,e){var n=this,i=t.inputs&&t.inputs.length>0,o=t.outputs&&t.outputs.length>0,a=this.activePipeline.links.filter((function(t){return t.srcPos&&o&&p.CanvasUtils.isPosInArea(t.srcPos,e,n.canvasLayout.ghostAreaPadding)?(t.nodeOverSrcPos=!0,!0):t.trgPos&&i&&p.CanvasUtils.isPosInArea(t.trgPos,e,n.canvasLayout.ghostAreaPadding)?(t.nodeOverTrgPos=!0,!0):(t.nodeOverSrcPos=!1,t.nodeOverTrgPos=!1,!1)}));a.length>0&&(a=p.CanvasUtils.getDetachedLinksToUpdate(t,a,this.activePipeline.links).oldLinks);return a}},{key:"isLinkFullyAttached",value:function(t){return!!t&&(void 0!==t.srcNodeId&&void 0!==t.trgNodeId)}},{key:"getLink",value:function(t){var e=this.activePipeline.links.find((function(e){return e.id===t}));return void 0===e?null:e}},{key:"isNode",value:function(t){return t.type}},{key:"getNode",value:function(t){var e=this.activePipeline.nodes.find((function(e){return e.id===t}));return void 0===e?null:e}},{key:"getNodes",value:function(t){var e=this,n=[];return t.forEach((function(t){var i=e.getNode(t);i&&n.push(i)})),n}},{key:"getNodePort",value:function(t,e,n){var i=this.activePipeline.nodes.find((function(e){return e.id===t}));if(i){var o=("input"===n?i.inputs:i.outputs).find((function(t){return t.id===e}));return void 0===o?null:o}return null}},{key:"getComment",value:function(t){var e=this.activePipeline.comments.find((function(e){return e.id===t}));return void 0===e?null:e}},{key:"getNodeOrComment",value:function(t){var e=this.getNode(t);return null===e&&(e=this.getComment(t)),e}},{key:"setMaxZoomExtent",value:function(t){if(this.dispUtils.isDisplayingFullPage()){var e=this.maxScaleExtent*t;this.zoom.scaleExtent([this.minScaleExtent,e])}else{var n=1*Number(t)/this.zoomTransform.k;this.supernodeInfo.renderer.setMaxZoomExtent(n)}}},{key:"createCanvasSVG",value:function(){var t=this;this.logger.log("Create Canvas SVG.");var e=this.canvasDiv,n={width:"100%",height:"100%",x:0,y:0};this.dispUtils.isDisplayingSubFlowInPlace()&&(e=this.supernodeInfo.d3Selection,n=this.getParentSupernodeSVGDimensions());var i=e.append("svg").attr("class","svg-area").attr("data-pipeline-id",this.activePipeline.id).attr("width",n.width).attr("height",n.height).attr("x",n.x).attr("y",n.y).on("mouseenter",(function(e,n){t.supernodeInfo.renderer&&t.config.enableZoomIntoSubFlows&&t.supernodeInfo.renderer.setMaxZoomExtent(1/t.zoomTransform.k)})).on("mouseleave",(function(e,n){t.supernodeInfo.renderer&&t.config.enableZoomIntoSubFlows&&t.supernodeInfo.renderer.setMaxZoomExtent(1)}));if(i.append("rect").attr("x",0).attr("y",0).attr("width",n.width).attr("height",n.height).attr("data-pipeline-id",this.activePipeline.id).attr("class","d3-svg-background").attr("pointer-events","all").style("cursor",this.getCanvasCursor()),this.dispUtils.isDisplayingFullPage()){var o=i.append("defs");this.createDropShadow(o)}return i}},{key:"resetCanvasSVGBehaviors",value:function(){var t=this;this.canvasSVG.on(".zoom",null),!this.isCanvasEmptyOrBindingsOnly()&&this.dispUtils.isDisplayingFullPage()&&this.canvasSVG.call(this.zoom),this.canvasSVG.on("mousemove.zoom",(function(e){t.drawingNewLinkData&&t.drawNewLink(e),t.draggingLinkData&&t.dragLinkHandle(e)})).on("mousedown",(function(e){t.logger.log("Canvas - mousedown"),t.dispUtils.isDisplayingSubFlowInPlace()&&e.button===l.CONTEXT_MENU_BUTTON&&e.stopPropagation()})).on("mouseup.zoom",(function(e){t.logger.log("Canvas - mouseup-zoom"),t.drawingNewLinkData&&t.completeNewLink(e),t.draggingLinkData&&t.completeDraggedLink(e)})).on("click.zoom",(function(e){t.logger.log("Canvas - click-zoom"),t.selecting=!0,t.dispUtils.isDisplayingCurrentPipeline()&&!t.contextMenuClosedOnZoom&&t.canvasController.clearSelections(),t.contextMenuClosedOnZoom=!1,t.selecting=!1,t.canvasController.clickActionHandler({clickType:"contextmenu"===e.type?"SINGLE_CLICK_CONTEXTMENU":"SINGLE_CLICK",objectType:"canvas",selectedObjectIds:t.objectModel.getSelectedObjectIds()})})).on("dblclick.zoom",(function(){t.logger.log("Zoom - double click"),t.canvasController.clickActionHandler({clickType:"DOUBLE_CLICK",objectType:"canvas",selectedObjectIds:t.objectModel.getSelectedObjectIds()})})).on("contextmenu.zoom",(function(e,n){t.logger.log("Zoom - context menu"),t.openContextMenu(e,"canvas")}))}},{key:"resetCanvasCursor",value:function(){var t=".d3-svg-background[data-pipeline-id='"+this.activePipeline.id+"']";this.canvasSVG.select(t).style("cursor",this.getCanvasCursor())}},{key:"getCanvasCursor",value:function(){return this.dispUtils.isDisplayingFullPage()?this.config.enableInteractionType===l.INTERACTION_TRACKPAD||this.isCanvasEmptyOrBindingsOnly()?"default":"grab":"pointer"}},{key:"createCanvasGroup",value:function(t,e){return t.append("g").attr("class",e)}},{key:"createCanvasUnderlay",value:function(t,e){return"None"!==this.config.enableCanvasUnderlay&&this.dispUtils.isDisplayingPrimaryFlowFullPage()?t.append("rect").attr("class",e):null}},{key:"createBoundingRectanglesGrp",value:function(t,e){return this.config.enableBoundingRectangles?t.append("g").attr("class",e):null}},{key:"setCanvasUnderlaySize",value:function(){var t=this.getCanvasDimensionsAdjustedForScale(1,this.getZoomToFitPadding());t&&this.canvasUnderlay.attr("x",t.left-50).attr("y",t.top-50).attr("width",t.width+100).attr("height",t.height+100)}},{key:"addBackToParentFlowArrow",value:function(t){var e=this,n=t.append("g").attr("transform","translate(15, 15)").on("mouseenter",(function(t,e){qa.select(this).select("rect").attr("data-pointer-hover","yes")})).on("mouseleave",(function(t,e){qa.select(this).select("rect").attr("data-pointer-hover","no")})).on("click",(function(t){p.CanvasUtils.stopPropagationAndPreventDefault(t),e.canvasController.displayPreviousPipeline()}));n.append("rect").attr("x",0).attr("y",0).attr("width",210).attr("height",40).attr("class","d3-back-to-previous-flow-box"),n.append("svg").attr("x",16).attr("y",11).attr("width",16).attr("height",16).html(l.LEFT_ARROW_ICON).attr("class","d3-back-to-previous-flow-text"),n.append("text").attr("x",40).attr("y",24).attr("class","d3-back-to-previous-flow-text").text("Return to previous flow")}},{key:"createDropShadow",value:function(t){var e=t.append("filter").attr("id",this.getId("node_drop_shadow")).attr("x","-20%").attr("y","-20%").attr("width","200%").attr("height","200%");e.append("feOffset").attr("in","SourceAlpha").attr("dx",1).attr("dy",1).attr("result","offOut"),e.append("feGaussianBlur").attr("in","offOut").attr("stdDeviation","3").attr("result","blurOut"),e.append("feBlend").attr("in","SourceGraphic").attr("in2","blurOut").attr("mode","normal"),e.append("feComponentTransfer").append("feFuncA").attr("type","linear").attr("slope","0.2");var n=e.append("feMerge");n.append("feMergeNode"),n.append("feMergeNode").attr("in","SourceGraphic")}},{key:"restoreZoom",value:function(){var t=null;if("Pipelineflow"===this.config.enableSaveZoom&&this.activePipeline.zoom)t=this.activePipeline.zoom;else if("LocalStorage"===this.config.enableSaveZoom){var e=this.getSavedZoom();e&&(t=e)}if(!t&&this.config.enablePanIntoViewOnOpen){var n=this.getCanvasDimensionsAdjustedForScale(1,this.getZoomToFitPadding());n&&(t={x:-n.left,y:-n.top,k:1})}!t&&this.canvasLayout.initialPanX&&this.canvasLayout.initialPanY&&(t={x:this.canvasLayout.initialPanX,y:this.canvasLayout.initialPanY,k:1}),!t||t.k===this.zoomTransform.k&&t.x===this.zoomTransform.x&&t.y===this.zoomTransform.y||this.zoomCanvasInvokeZoomBehavior(t)}},{key:"zoomCanvasInvokeZoomBehavior",value:function(t,e){if(isFinite(t.x)&&isFinite(t.y)&&isFinite(t.k)){var n=qa.zoomIdentity.translate(t.x,t.y).scale(t.k);e?this.canvasSVG.call(this.zoom).transition().duration(e).call(this.zoom.transform,n):this.canvasSVG.call(this.zoom.transform,n)}}},{key:"setSavedZoom",value:function(t){var e=p.LocalStorage.get("canvasSavedZoomValues"),n=e?JSON.parse(e):{};u.set_1(n,[this.canvasInfo.id,this.pipelineId],t),p.LocalStorage.set("canvasSavedZoomValues",JSON.stringify(n))}},{key:"getSavedZoom",value:function(){var t=p.LocalStorage.get("canvasSavedZoomValues");if(t){var e=JSON.parse(t);return d.get_1(e,[this.canvasInfo.id,this.pipelineId])}return null}},{key:"zoomToFit",value:function(){var t=this.getZoomToFitPadding(),e=this.getCanvasDimensionsAdjustedForScale(1,t),n=this.getViewportDimensions();if(e){var i=n.width/e.width,o=n.height/e.height,a=Math.min(i,o,1),r=(n.width-e.width*a)/2,s=(n.height-e.height*a)/2;r-=a*e.left,s-=a*e.top,this.zoomingToFit=!0,this.zoomCanvasInvokeZoomBehavior({x:r,y:s,k:a}),this.zoomingToFit=!1}}},{key:"getZoomToFitPadding",value:function(){var t=this.canvasLayout.zoomToFitPadding;if(this.dispUtils.isDisplayingSubFlow()){var e=this.getMaxZoomToFitPaddingForConnections()+2*this.canvasLayout.supernodeBindingPortRadius;t=Math.max(t,e)}return t}},{key:"zoomTo",value:function(t){this.zoomCanvasInvokeZoomBehavior(t,500)}},{key:"getZoom",value:function(){return{x:this.zoomTransform.x,y:this.zoomTransform.y,k:this.zoomTransform.k}}},{key:"translateBy",value:function(t,e,n){var i=this.getZoomTransform(),o=qa.zoomIdentity.translate(i.x+t,i.y+e).scale(i.k);this.zoomCanvasInvokeZoomBehavior(o,n)}},{key:"zoomIn",value:function(){if(this.zoomTransform.k<this.maxScaleExtent){var t=Math.min(1.1*this.zoomTransform.k,this.maxScaleExtent);this.canvasSVG.call(this.zoom.scaleTo,t)}}},{key:"zoomOut",value:function(){if(this.zoomTransform.k>this.minScaleExtent){var t=Math.max(this.zoomTransform.k/1.1,this.minScaleExtent);this.canvasSVG.call(this.zoom.scaleTo,t)}}},{key:"getZoomToReveal",value:function(t,e,n){var i,o,a=this.getTransformedViewportDimensions(),r=this.getNodes(t),s=p.CanvasUtils.getCanvasDimensions(r,[],[],0),l=this.convertCanvasDimensionsAdjustedForScaleWithPadding(s,1,10),c=parseInt(e,10),u=void 0===n?c:parseInt(n,10);if(l&&(Number.isNaN(c)||Number.isNaN(u)?(l.right>a.x+a.width&&(i=a.x+a.width-l.right),l.left<a.x&&(i=a.x-l.left),l.bottom>a.y+a.height&&(o=a.y+a.height-l.bottom),l.top<a.y&&(o=a.y-l.top)):(i=a.x+a.width*(c/100)-(l.left+l.width/2),o=a.y+a.height*(u/100)-(l.top+l.height/2)),void 0!==i||void 0!==o))return{x:this.zoomTransform.x+(i||0)*this.zoomTransform.k||0,y:this.zoomTransform.y+(o||0)*this.zoomTransform.k||0,k:this.zoomTransform.k};return null}},{key:"getTransformedViewportDimensions",value:function(){var t=this.getViewportDimensions();return this.getTransformedRect(t,0)}},{key:"getViewportDimensions",value:function(){var t={};if(this.dispUtils.isDisplayingSubFlowInPlace()){var e=this.getParentSupernodeSVGDimensions();t.width=e.width,t.height=e.height}else t=this.canvasSVG&&this.canvasSVG.node()?this.canvasSVG.node().getBoundingClientRect():{x:0,y:0,width:1100,height:640};return t}},{key:"zoomStart",value:function(t){if(this.logger.log("zoomStart - "+JSON.stringify(t.transform)),this.canvasController.closeTip(),this.canvasController.isContextMenuDisplayed()&&!this.dispUtils.isDisplayingSubFlowInPlace()&&(this.canvasController.closeContextMenu(),this.contextMenuClosedOnZoom=!0),this.zoomingToFit?this.regionSelect=!1:this.config.enableInteractionType===l.INTERACTION_TRACKPAD&&t.sourceEvent&&1===t.sourceEvent.buttons||this.config.enableInteractionType===l.INTERACTION_MOUSE&&t.sourceEvent&&t.sourceEvent.shiftKey?this.regionSelect=!0:this.regionSelect=!1,this.regionSelect){this.regionStartTransformX=t.transform.x,this.regionStartTransformY=t.transform.y;var e=this.getTransformedMousePos(t);this.region={startX:e.x,startY:e.y,width:0,height:0}}var n=".d3-svg-background[data-pipeline-id='"+this.activePipeline.id+"']";this.regionSelect?this.canvasSVG.select(n).style("cursor","crosshair"):this.canvasSVG.select(n).style("cursor","grabbing"),this.zoomStartPoint={x:t.transform.x,y:t.transform.y,k:t.transform.k},this.previousD3Event={x:t.transform.x,y:t.transform.y,k:t.transform.k},this.zoomCanvasDimensions=p.CanvasUtils.getCanvasDimensions(this.activePipeline.nodes,this.activePipeline.comments,this.activePipeline.links,this.canvasLayout.commentHighlightGap)}},{key:"zoomAction",value:function(t){this.logger.log("zoomAction - "+JSON.stringify(t.transform)),t.transform.k===this.zoomStartPoint.k?this.regionSelect?(this.addTempCursorOverlay("crosshair"),this.drawRegionSelector(t)):(this.addTempCursorOverlay("grabbing"),this.zoomCanvasBackground(t)):this.zoomCanvasBackground(t)}},{key:"zoomEnd",value:function(t){if(this.logger.log("zoomEnd - "+JSON.stringify(t.transform)),this.drawingNewLinkData&&(this.stopDrawingNewLink(),this.drawingNewLinkData=null),this.draggingLinkData&&(this.stopDraggingLink(),this.draggingLinkData=null),t.transform.k===this.zoomStartPoint.k&&!0===this.regionSelect){this.removeRegionSelector(),t.transform.x=this.regionStartTransformX,t.transform.y=this.regionStartTransformY;var e=this.getRegionDimensions(),n=e.startX,i=e.startY,o=e.width,a=e.height;this.isSelecting=!0,this.buildLinksArray();var r={x1:n,y1:i,x2:n+o,y2:i+a},s=p.CanvasUtils.selectInRegion(r,this.activePipeline,this.config.enableLinkSelection!==l.LINK_SELECTION_NONE,this.config.enableLinkType,this.config.enableAssocLinkType);this.canvasController.setSelections(s,this.activePipeline.id),this.regionSelect=!1}else if(this.dispUtils.isDisplayingFullPage())if(this.canvasSVG.property("__zoom",this.zoomTransform),"Pipelineflow"===this.config.enableSaveZoom){var c={editType:"setPipelineZoom",editSource:"canvas",zoom:this.zoomTransform,pipelineId:this.activePipeline.id};this.canvasController.editActionHandler(c)}else"LocalStorage"===this.config.enableSaveZoom&&this.setSavedZoom(this.zoomTransform);this.resetCanvasCursor(),this.removeTempCursorOverlay()}},{key:"zoomCanvasBackground",value:function(t){if(this.regionSelect=!1,this.dispUtils.isDisplayingPrimaryFlowFullPage()){var e=this.getTransformIncrement(t);this.zoomTransform=this.zoomConstrainRegular(e,this.getViewportDimensions(),this.zoomCanvasDimensions)}else this.zoomTransform=qa.zoomIdentity.translate(t.transform.x,t.transform.y).scale(t.transform.k);this.canvasGrp.attr("transform",this.zoomTransform),this.config.enableBoundingRectangles&&this.displayBoundingRectangles(),"None"!==this.config.enableCanvasUnderlay&&this.dispUtils.isDisplayingPrimaryFlowFullPage()&&this.setCanvasUnderlaySize(),this.dispUtils.isDisplayingSubFlowFullPage()&&this.displayPortsForSubFlowFullPage()}},{key:"getTransformIncrement",value:function(t){var e=t.transform.x-this.previousD3Event.x,n=t.transform.y-this.previousD3Event.y,i={x:this.zoomTransform.x+e,y:this.zoomTransform.y+n,k:t.transform.k};return this.previousD3Event={x:t.transform.x,y:t.transform.y,k:t.transform.k},i}},{key:"zoomConstrainRegular",value:function(t,e,n){if(!n)return this.zoomTransform;var i=t.k,o=t.x,a=t.y,r=this.convertCanvasDimensionsAdjustedForScaleWithPadding(n,i,this.getZoomToFitPadding()),s=e.width-Math.min(.25*e.width,.25*r.width),l=-Math.max(r.width-.25*e.width,.75*r.width),c=e.height-Math.min(.25*e.height,.25*r.height),u=-Math.max(r.height-.25*e.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),qa.zoomIdentity.translate(o,a).scale(i)}},{key:"getCanvasDimensionsAdjustedForScale",value:function(t,e){var n=p.CanvasUtils.getCanvasDimensions(this.activePipeline.nodes,this.activePipeline.comments,this.activePipeline.links,this.canvasLayout.commentHighlightGap);return this.convertCanvasDimensionsAdjustedForScaleWithPadding(n,t,e)}},{key:"convertCanvasDimensionsAdjustedForScaleWithPadding",value:function(t,e,n){var i=n||0;return t?{left:t.left*e-i,top:t.top*e-i,right:t.right*e+i,bottom:t.bottom*e+i,width:t.width*e+2*i,height:t.height*e+2*i}:null}},{key:"drawRegionSelector",value:function(t){var e=this.getTransformedMousePos(t);this.region.width=e.x-this.region.startX,this.region.height=e.y-this.region.startY,this.removeRegionSelector();var n=this.getRegionDimensions(),i=n.startX,o=n.startY,a=n.width,r=n.height;this.canvasGrp.append("rect").attr("width",a).attr("height",r).attr("x",i).attr("y",o).attr("class","d3-region-selector")}},{key:"removeRegionSelector",value:function(){this.canvasGrp.selectAll(".d3-region-selector").remove()}},{key:"getRegionDimensions",value:function(){var t=this.region.startX,e=this.region.startY,n=this.region.width,i=this.region.height;return n<0&&(n=Math.abs(n),t=this.region.startX-n),i<0&&(i=Math.abs(i),e=this.region.startY-i),{startX:t,startY:e,width:n,height:i}}},{key:"initializeResizeVariables",value:function(t){this.resizeObjInitialInfo={x_pos:t.x_pos,y_pos:t.y_pos,width:t.width,height:t.height},this.notSnappedXPos=t.x_pos,this.notSnappedYPos=t.y_pos,this.notSnappedWidth=t.width,this.notSnappedHeight=t.height}},{key:"getDragObjects",value:function(t){var e=this.getSelectedNodesAndComments();return this.config.enableDragWithoutSelect&&-1===e.findIndex((function(e){return e.id===t.id}))?[t]:e}},{key:"dragStart",value:function(t,e){if(this.logger.logStartTimer("dragStart"),this.closeContextMenuIfOpen(),this.commentSizing)this.resizeObj=this.getComment(e.id),this.initializeResizeVariables(this.resizeObj);else if(this.nodeSizing)this.resizeObj=this.getNode(e.id),this.initializeResizeVariables(this.resizeObj);else if(this.dragging=!0,this.dragOffsetX=0,this.dragOffsetY=0,this.dragRunningX=0,this.dragRunningY=0,this.dragObjects=this.getDragObjects(e),this.dragObjects&&this.dragObjects.length>0&&(this.dragStartX=this.dragObjects[0].x_pos,this.dragStartY=this.dragObjects[0].y_pos),this.isExistingNodeInsertableIntoLink()&&this.setNodeTranslucentState(this.dragObjects[0].id,!0),this.isExistingNodeAttachableToDetachedLinks()){var n=this.getTransformedMousePos(t);this.dragPointerOffsetInNode={x:n.x-this.dragObjects[0].x_pos,y:n.y-this.dragObjects[0].y_pos},this.setNodeTranslucentState(this.dragObjects[0].id,!0)}this.logger.logEndTimer("dragStart",!0)}},{key:"dragMove",value:function(t){if(this.logger.logStartTimer("dragMove"),this.commentSizing)this.resizeComment(t);else if(this.nodeSizing)this.resizeNode(t);else{if(this.dragOffsetX+=t.dx,this.dragOffsetY+=t.dy,this.dispUtils.isDisplayingSubFlowInPlace()&&(this.dragOffsetX>1e3||this.dragOffsetX<-1e3||this.dragOffsetY>1e3||this.dragOffsetY<-1e3))this.dragOffsetX-=t.dx,this.dragOffsetY-=t.dy;else{var e={x:0,y:0};if(this.config.enableSnapToGridType===l.SNAP_TO_GRID_DURING){var n=this.snapToGridDraggedNode();e={x:n.x-this.dragObjects[0].x_pos,y:n.y-this.dragObjects[0].y_pos}}else e={x:t.dx,y:t.dy};this.dragRunningX+=e.x,this.dragRunningY+=e.y,this.dragObjects.forEach((function(t){t.x_pos+=e.x,t.y_pos+=e.y})),this.config.enableLinkSelection===l.LINK_SELECTION_DETACHABLE&&this.getSelectedLinks().forEach((function(t){t.srcPos&&(t.srcPos.x_pos+=e.x,t.srcPos.y_pos+=e.y),t.trgPos&&(t.trgPos.x_pos+=e.x,t.trgPos.y_pos+=e.y)}))}if(this.displayCanvas(),this.isExistingNodeInsertableIntoLink()){var i=this.getLinkAtMousePos(t.sourceEvent.clientX,t.sourceEvent.clientY);(!i||this.isLinkFullyAttached(i)&&this.dragObjects[0].id!==i.srcNodeId&&this.dragObjects[0].id!==i.trgNodeId)&&this.setInsertNodeIntoLinkHighlighting(i)}if(this.isExistingNodeAttachableToDetachedLinks()){var o=this.getTransformedMousePos(t),a=this.dragObjects[0],r={x1:o.x-this.dragPointerOffsetInNode.x,y1:o.y-this.dragPointerOffsetInNode.y,x2:o.x-this.dragPointerOffsetInNode.x+a.width,y2:o.y-this.dragPointerOffsetInNode.y+a.height},s=this.getAttachableLinksForNodeAtPos(a,r);this.setDetachedLinkHighlighting(s)}}this.logger.logEndTimer("dragMove",!0)}},{key:"dragEnd",value:function(t,e){if(this.logger.logStartTimer("dragEnd"),this.removeTempCursorOverlay(),this.commentSizing)this.endCommentSizing();else if(this.nodeSizing)this.endNodeSizing();else if(this.dragging){if(this.dragging=!1,0===this.dragOffsetX&&0===this.dragOffsetY&&this.config.enableDragWithoutSelect)this.selectObjectSourceEvent(t,e);else if(0!==this.dragRunningX||0!==this.dragRunningY){var n=null;if(this.config.enableSnapToGridType===l.SNAP_TO_GRID_AFTER){var i=this.snapToGridDraggedNode();n={x:i.x-this.dragStartX,y:i.y-this.dragStartY}}else n={x:this.dragRunningX,y:this.dragRunningY};this.isExistingNodeInsertableIntoLink()&&this.dragOverLink?this.canvasController.editActionHandler({editType:"insertNodeIntoLink",editSource:"canvas",node:this.dragObjects[0],link:this.dragOverLink,offsetX:n.x,offsetY:n.y,pipelineId:this.activePipeline.id}):this.isExistingNodeAttachableToDetachedLinks()&&this.dragOverDetachedLinks.length>0?this.canvasController.editActionHandler({editType:"attachNodeToLinks",editSource:"canvas",node:this.dragObjects[0],detachedLinks:this.dragOverDetachedLinks,offsetX:n.x,offsetY:n.y,pipelineId:this.activePipeline.id}):this.canvasController.editActionHandler({editType:"moveObjects",editSource:"canvas",nodes:this.dragObjects.map((function(t){return t.id})),links:this.getSelectedLinks().filter((function(t){return t.srcPos||t.trgPos})),offsetX:n.x,offsetY:n.y,pipelineId:this.activePipeline.id})}this.unsetNodeTranslucentState(),this.unsetInsertNodeIntoLinkHighlighting(),this.unsetDetachedLinkHighlighting()}this.logger.logEndTimer("dragEnd",!0)}},{key:"dragStartLinkHandle",value:function(t,e){this.logger.logStartTimer("dragStartLinkHandle"),this.closeContextMenuIfOpen(),this.draggingLinkHandle=!0;var n=qa.select(t.sourceEvent.currentTarget),i=this.getLink(e.id),o=d.cloneDeep_1(i),a=this.getLinkGroupSelectionById(e.id);if(this.draggingLinkData={lineInfo:e,link:i,oldLink:o,linkGrpSelection:qa.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.config.enableHighlightUnavailableNodes)if("end"===this.draggingLinkData.endBeingDragged){var r=this.activePipeline.links.filter((function(t){return t.id!==i.id}));this.setUnavailableTargetNodesHighlighting(this.getNode(this.draggingLinkData.link.srcNodeId),this.draggingLinkData.link.srcNodePortId,r)}else if("start"===this.draggingLinkData.endBeingDragged){var s=this.activePipeline.links.filter((function(t){return t.id!==i.id}));this.setUnavailableSourceNodesHighlighting(this.getNode(this.draggingLinkData.oldLink.trgNodeId),this.draggingLinkData.link.trgNodePortId,s)}this.dragLinkHandle(t),this.logger.logEndTimer("dragStartLinkHandle",!0)}},{key:"dragMoveLinkHandle",value:function(t){this.logger.logStartTimer("dragMoveLinkHandle"),this.dragLinkHandle(t),this.logger.logEndTimer("dragMoveLinkHandle",!0)}},{key:"dragEndLinkHandle",value:function(t){this.logger.logStartTimer("dragEndLinkHandle"),this.completeDraggedLink(t),this.draggingLinkHandle=!1,this.logger.logEndTimer("dragEndLinkHandle",!0)}},{key:"setNodeTranslucentState",value:function(t,e){this.getNodeGroupSelectionById(t).classed("d3-node-group-translucent",e)}},{key:"unsetNodeTranslucentState",value:function(){this.dragObjects&&this.dragObjects.length>0&&this.setNodeTranslucentState(this.dragObjects[0].id,!1)}},{key:"snapToGridDraggedNode",value:function(){var t=this.dragStartX+this.dragOffsetX,e=this.dragStartY+this.dragOffsetY;return this.snapToGridPosition({x:t,y:e})}},{key:"snapToGridPosition",value:function(t){return{x:p.CanvasUtils.snapToGrid(t.x,this.canvasLayout.snapToGridXPx),y:p.CanvasUtils.snapToGrid(t.y,this.canvasLayout.snapToGridYPx)}}},{key:"displayNodes",value:function(){this.logger.logStartTimer("displayNodes "+this.getFlags()),this.setPortPositionsAllNodes(),this.commentSizing||(this.dragging&&!this.nodeSizing&&!this.commentSizing||this.movingBindingNodes?this.displayMovedNodes():this.selecting||this.regionSelect?this.displayNodesSelectionStatus():this.displayAllNodes()),this.logger.logEndTimer("displayNodes "+this.getFlags())}},{key:"displayMovedNodes",value:function(){var t=this,e=this.getAllNodeGroupsSelection();e.datum((function(e){return t.getNode(e.id)})).attr("transform",(function(t){return"translate(".concat(t.x_pos,", ").concat(t.y_pos,")")})),this.dispUtils.isDisplayingSubFlow()&&e.each((function(e,n,i){e.isSupernodeInputBinding&&t.updatePortRadiusAndPos(i[n],e,"d3-node-port-output-main"),e.isSupernodeOutputBinding&&(t.updatePortRadiusAndPos(i[n],e,"d3-node-port-input-main"),t.updatePortArrowPath(i[n],"d3-node-port-input-arrow"))}))}},{key:"displayNodesSelectionStatus",value:function(t){var e=this;this.getAllNodeGroupsSelection().selectChildren(".d3-node-selection-highlight").attr("data-selected",(function(t){return e.objectModel.isSelected(t.id,e.activePipeline.id)?"yes":"no"})),this.superRenderers.forEach((function(t){t.selecting=!0,t.displayNodes(),t.selecting=!1}))}},{key:"displayAllNodes",value:function(){var t=this;this.getAllNodeGroupsSelection().data(this.activePipeline.nodes,(function(t){return t.id})).join((function(e){return t.createNodes(e)})).attr("transform",(function(t){return"translate(".concat(t.x_pos,", ").concat(t.y_pos,")")})).attr("class",(function(e){return t.getNodeGroupClass(e)})).attr("style",(function(e){return t.getNodeGrpStyle(e)})).call((function(e){return t.updateNodes(e)}))}},{key:"createNodes",value:function(t){var e=this,n=t.append("g").attr("data-id",(function(t){return e.getId("node_grp",t.id)})).call(this.attachNodeGroupListeners.bind(this));return this.config.enableEditingActions&&n.call(this.drag),n.filter((function(t){return e.nodeUtils.isSupernode(t)})).append("path").attr("class","d3-node-sizing").call(this.attachNodeSizingListeners.bind(this)),n.filter((function(t){return!p.CanvasUtils.isSuperBindingNode(t)})).append("path").attr("class","d3-node-selection-highlight"),n.filter((function(t){return!p.CanvasUtils.isSuperBindingNode(t)})).append("path").attr("class","d3-node-body-outline"),n.filter((function(t){return!p.CanvasUtils.isSuperBindingNode(t)&&t.layout.imageDisplay})).each((function(t,n,i){var o=e.getNodeImage(t),a=e.getImageType(o);qa.select(i[n]).append(a).attr("class",(function(t){return e.nodeUtils.getNodeImageClass(t)}))})),n.filter((function(t){return!p.CanvasUtils.isSuperBindingNode(t)})).append("foreignObject").attr("class","d3-foreign-object").call(this.attachNodeLabelListeners.bind(this)).append("xhtml:div").append("xhtml:span").call(this.attachNodeLabelSpanListeners.bind(this)),n}},{key:"updateNodes",value:function(t){var e=this;t.selectChildren(".d3-node-sizing").datum((function(t){return e.getNode(t.id)})).attr("d",(function(t){return e.getNodeShapePathSizing(t)})),t.selectChildren(".d3-node-selection-highlight").datum((function(t){return e.getNode(t.id)})).attr("d",(function(t){return e.getNodeSelectionOutline(t)})).attr("data-selected",(function(t){return e.objectModel.isSelected(t.id,e.activePipeline.id)?"yes":"no"})).attr("style",(function(t){return e.getNodeSelectionOutlineStyle(t,"default")})),t.selectChildren(".d3-node-body-outline").datum((function(t){return e.getNode(t.id)})).attr("d",(function(t){return e.getNodeShapePath(t)})).attr("style",(function(t){return e.getNodeBodyStyle(t,"default")})),t.selectChildren(".d3-node-image").datum((function(t){return e.getNode(t.id)})).each((function(t,n,i){return e.setNodeImageContent(i[n],t)})).attr("x",(function(t){return e.nodeUtils.getNodeImagePosX(t)})).attr("y",(function(t){return e.nodeUtils.getNodeImagePosY(t)})).attr("width",(function(t){return e.nodeUtils.getNodeImageWidth(t)})).attr("height",(function(t){return e.nodeUtils.getNodeImageHeight(t)})).attr("style",(function(t){return e.getNodeImageStyle(t,"default")})),t.selectChildren(".d3-foreign-object").datum((function(t){return e.getNode(t.id)})).attr("x",(function(t){return e.nodeUtils.getNodeLabelPosX(t)})).attr("y",(function(t){return e.nodeUtils.getNodeLabelPosY(t)})).attr("width",(function(t){return e.nodeUtils.getNodeLabelWidth(t)})).attr("height",(function(t){return e.nodeUtils.getNodeLabelHeight(t)})).attr("class",(function(t){return e.nodeUtils.getNodeLabelForeignClass(t)})).select("div").attr("class",(function(t){return e.nodeUtils.getNodeLabelClass(t)})).attr("style",(function(t){return e.getNodeLabelStyle(t,"default")})).select("span").html((function(t){return bn(t.label)})),t.selectChildren(".d3-node-ellipsis-group").attr("transform",(function(t){return e.nodeUtils.getNodeEllipsisTranslate(t)})),t.selectChildren(".d3-node-super-expand-icon-group").attr("transform",(function(t){return e.nodeUtils.getNodeExpansionIconTranslate(t)})),t.each((function(t,n,i){var o=qa.select(i[n]);if(e.displayPorts(o,t),e.nodeUtils.isSupernode(t)&&e.displaySupernodeContents(t,qa.select(i[n])),!p.CanvasUtils.isSuperBindingNode(t)){e.addErrorMarker(t,o);var a=p.CanvasUtils.getCombinedDecorations(t.layout.decorations,t.decorations);e.displayDecorations(t,l.DEC_NODE,o,a)}}))}},{key:"displaySupernodeContents",value:function(t,e){var n=this.getRendererForSupernode(t);this.nodeUtils.isExpanded(t)?n?n.setCanvasInfoRenderer(this.canvasInfo):(n=this.createSupernodeRenderer(t,e),this.superRenderers.push(n)):n&&n.hideCanvas(t)}},{key:"displayPorts",value:function(t,e){e.layout.inputPortDisplay&&Array.isArray(e.inputs)&&this.displayInputPorts(t,e),e.layout.outputPortDisplay&&Array.isArray(e.outputs)&&this.displayOutputPorts(t,e)}},{key:"displayInputPorts",value:function(t,e){var n=this,i="."+this.getNodeInputPortClassName();t.selectChildren(i).data(e.inputs,(function(t){return t.id})).join((function(t){return n.createInputPorts(t,e)})).attr("connected",(function(t){return t.isConnected?"yes":"no"})).attr("class",(function(t){return n.getNodeInputPortClassName()+(t.class_name?" "+t.class_name:"")})).call((function(t){return n.updateInputPorts(t,e)}))}},{key:"createInputPorts",value:function(t,e){var n=t.append("g").attr("data-port-id",(function(t){return t.id})).attr("isSupernodeBinding",p.CanvasUtils.isSuperBindingNode(e)?"yes":"no").call(this.attachInputPortListeners.bind(this),e);return n.append(e.layout.inputPortObject).attr("class","d3-node-port-input-main"),this.config.enableAssocLinkCreation||"circle"!==e.layout.inputPortObject||p.CanvasUtils.isSuperBindingNode(e)||n.append("path").attr("class","d3-node-port-input-arrow"),n}},{key:"updateInputPorts",value:function(t,e){var n=this;t.selectChildren(".d3-node-port-input-main").datum((function(t){return e.inputs.find((function(e){return t.id===e.id}))})).each((function(t,i,o){var a=qa.select(o[i]);e.layout.inputPortObject===l.PORT_OBJECT_IMAGE?a.attr("xlink:href",e.layout.inputPortImage).attr("x",t.cx-e.layout.inputPortWidth/2).attr("y",t.cy-e.layout.inputPortHeight/2).attr("width",e.layout.inputPortWidth).attr("height",e.layout.inputPortHeight):a.attr("r",n.getPortRadius(e)).attr("cx",t.cx).attr("cy",t.cy)})),t.selectChildren(".d3-node-port-input-arrow").datum((function(t){return e.inputs.find((function(e){return t.id===e.id}))})).each((function(t,i,o){var a=qa.select(o[i]);e.layout.inputPortObject!==l.PORT_OBJECT_IMAGE&&a.attr("d",n.getPortArrowPath(t)).attr("transform",n.getPortArrowPathTransform(t))}))}},{key:"displayOutputPorts",value:function(t,e){var n=this,i="."+this.getNodeOutputPortClassName(),o=this.config.enableSingleOutputPortDisplay&&e.outputs.length>1?[e.outputs[e.outputs.length-1]]:e.outputs;t.selectChildren(i).data(o,(function(t){return t.id})).join((function(t){return n.createOutputPorts(t,e)})).attr("connected",(function(t){return t.isConnected?"yes":"no"})).attr("class",(function(t){return n.getNodeOutputPortClassName()+(t.class_name?" "+t.class_name:"")})).call((function(t){return n.updateOutputPorts(t,e)}))}},{key:"createOutputPorts",value:function(t,e){var n=t.append("g").attr("data-port-id",(function(t){return t.id})).attr("isSupernodeBinding",p.CanvasUtils.isSuperBindingNode(e)?"yes":"no").call(this.attachOutputPortListeners.bind(this),e);return n.append(e.layout.outputPortObject).attr("class","d3-node-port-output-main"),n}},{key:"updateOutputPorts",value:function(t,e){var n=this;t.selectChildren(".d3-node-port-output-main").datum((function(t){return e.outputs.find((function(e){return t.id===e.id}))})).each((function(t,i,o){var a=qa.select(o[i]);e.layout.outputPortObject===l.PORT_OBJECT_IMAGE?a.attr("xlink:href",e.layout.outputPortImage).attr("x",t.cx-e.layout.outputPortWidth/2).attr("y",t.cy-e.layout.outputPortHeight/2).attr("width",e.layout.outputPortWidth).attr("height",e.layout.outputPortHeight):a.attr("r",n.getPortRadius(e)).attr("cx",t.cx).attr("cy",t.cy)}))}},{key:"attachNodeGroupListeners",value:function(t){var e=this;t.on("mouseenter",(function(t,n){var i=qa.select(t.currentTarget);e.raiseNodeToTop(i),e.setNodeStyles(n,"hover",i),e.addDynamicNodeIcons(n,i),e.canOpenTip(l.TIP_TYPE_NODE)&&(e.canvasController.closeTip(),e.canvasController.openTip({id:e.getId("node_tip",n.id),type:l.TIP_TYPE_NODE,targetObj:t.currentTarget,pipelineId:e.activePipeline.id,node:n}))})).on("mouseleave",(function(t,n){var i=qa.select(t.currentTarget);e.setNodeStyles(n,"default",i),e.removeDynamicNodeIcons(n,i),e.canvasController.closeTip()})).on("mousedown",(function(t,n){e.logger.log("Node Group - mouse down"),e.config.enableDragWithoutSelect||e.selectObjectD3Event(t,n),e.logger.log("Node Group - finished mouse down")})).on("mousemove",(function(t,e){})).on("mouseup",(function(t,n){t.stopPropagation(),e.logger.log("Node Group - mouse up"),e.drawingNewLinkData&&e.completeNewLink(t),e.draggingLinkData&&e.completeDraggedLink(t,n)})).on("click",(function(t,n){e.logger.log("Node Group - click"),t.stopPropagation()})).on("dblclick",(function(t,n){e.logger.log("Node Group - double click"),p.CanvasUtils.stopPropagationAndPreventDefault(t);var i=e.objectModel.getSelectedObjectIds();e.canvasController.clickActionHandler({clickType:"DOUBLE_CLICK",objectType:"node",id:n.id,selectedObjectIds:i,pipelineId:e.activePipeline.id})})).on("contextmenu",(function(t,n){e.logger.log("Node Group - context menu"),p.CanvasUtils.stopPropagationAndPreventDefault(t),p.CanvasUtils.isSuperBindingNode(n)||(e.config.enableDragWithoutSelect&&e.selectObjectD3Event(t,n),e.openContextMenu(t,"node",n))}))}},{key:"attachNodeSizingListeners",value:function(t){var e=this;t.on("mousedown",(function(t,n){e.nodeUtils.isExpandedSupernode(n)&&(e.nodeSizing=!0,e.addTempCursorOverlay(e.nodeSizingCursor))})).on("mousemove mouseenter",(function(t,n){if(e.config.enableEditingActions&&e.nodeUtils.isExpandedSupernode(n)&&!e.isRegionSelectOrSizingInProgress()){var i="pointer";e.isPointerCloseToBodyEdge(t,n)||(e.nodeSizingDirection=e.getSizingDirection(t,n,n.layout.nodeCornerResizeArea),e.nodeSizingCursor=e.getCursorBasedOnDirection(e.nodeSizingDirection),i=e.nodeSizingCursor),qa.select(t.currentTarget).style("cursor",i)}}))}},{key:"attachNodeLabelListeners",value:function(t){var e=this;t.on("mouseenter",(function(t,n){var i=qa.select(t.currentTarget);if(e.config.enableDisplayFullLabelOnHover&&!e.nodeUtils.isExpandedSupernode(n)){var o=i.selectAll("span");i.attr("x",e.nodeUtils.getNodeLabelHoverPosX(n)).attr("width",e.nodeUtils.getNodeLabelHoverWidth(n)).attr("height",e.nodeUtils.getNodeLabelHoverHeight(n,o.node(),e.zoomTransform.k)),o.classed("d3-label-full",!0)}})).on("mouseleave",(function(t,n){var i=qa.select(t.currentTarget);e.config.enableDisplayFullLabelOnHover&&!e.nodeUtils.isExpandedSupernode(n)&&(i.attr("x",e.nodeUtils.getNodeLabelPosX(n)).attr("width",e.nodeUtils.getNodeLabelWidth(n)).attr("height",e.nodeUtils.getNodeLabelHeight(n)),i.selectAll("span").classed("d3-label-full",!1))})).on("dblclick",(function(t,n){e.logger.log("Node Label - double click"),n.layout.labelEditable&&e.config.enableEditingActions&&(p.CanvasUtils.stopPropagationAndPreventDefault(t),e.displayNodeLabelTextArea(n,t.currentTarget.parentNode))}))}},{key:"attachNodeLabelSpanListeners",value:function(t){var e=this;t.on("mouseenter",(function(t,n){n.layout.labelEditable&&e.config.enableEditingActions&&e.displayNodeLabelEditIcon(t.currentTarget,n)})).on("mouseleave",(function(t,n){n.layout.labelEditable&&e.config.enableEditingActions&&(e.hideEditIconPending=setTimeout(e.hideEditIcon.bind(e),500,t.currentTarget,n))}))}},{key:"attachInputPortListeners",value:function(t,e){var n=this;t.on("mousedown",(function(t,i){if(n.config.enableAssocLinkCreation&&0===t.button){p.CanvasUtils.stopPropagationAndPreventDefault(t);var o=n.getNode(e.id);n.drawingNewLinkData={srcObjId:e.id,srcPortId:i.id,action:n.config.enableAssocLinkCreation?l.ASSOCIATION_LINK:l.NODE_LINK,srcNode:o,startPos:{x:o.x_pos+i.cx,y:o.y_pos+i.cy},portType:"input",portObject:e.layout.inputPortObject,portImage:e.layout.inputPortImage,portWidth:e.layout.inputPortWidth,portHeight:e.layout.inputPortHeight,portRadius:n.getPortRadius(o),minInitialLine:o.layout.minInitialLine,guideObject:e.layout.inputPortGuideObject,guideImage:e.layout.inputPortGuideImage,linkArray:[]},n.drawNewLink(t)}})).on("mouseenter",(function(t,i){p.CanvasUtils.stopPropagationAndPreventDefault(t),n.canOpenTip(l.TIP_TYPE_PORT)&&(n.canvasController.closeTip(),n.canvasController.openTip({id:n.getId("node_port_tip",i.id),type:l.TIP_TYPE_PORT,targetObj:t.currentTarget,pipelineId:n.activePipeline.id,node:e,port:i}))})).on("mouseleave",(function(){n.canvasController.closeTip()})).on("contextmenu",(function(t,i){n.logger.log("Input Port Circle - context menu"),p.CanvasUtils.stopPropagationAndPreventDefault(t),n.config.enableDragWithoutSelect&&n.selectObjectD3Event(t,e),n.openContextMenu(t,"input_port",e,i)}))}},{key:"attachOutputPortListeners",value:function(t,e){var n=this;t.on("mousedown",(function(t,i){if(0===t.button){p.CanvasUtils.stopPropagationAndPreventDefault(t);var o=n.getNode(e.id);p.CanvasUtils.isSrcCardinalityAtMax(i.id,o,n.activePipeline.links)||(n.drawingNewLinkData={srcObjId:e.id,srcPortId:i.id,action:n.config.enableAssocLinkCreation?l.ASSOCIATION_LINK:l.NODE_LINK,srcNode:o,startPos:{x:o.x_pos+i.cx,y:o.y_pos+i.cy},portType:"output",portObject:e.layout.outputPortObject,portImage:e.layout.outputPortImage,portWidth:e.layout.outputPortWidth,portHeight:e.layout.outputPortHeight,portRadius:n.getPortRadius(o),minInitialLine:o.layout.minInitialLine,guideObject:e.layout.outputPortGuideObject,guideImage:e.layout.outputPortGuideImage,linkArray:[]},n.config.enableHighlightUnavailableNodes&&n.setUnavailableTargetNodesHighlighting(o,i.id,n.activePipeline.links),n.drawNewLink(t))}})).on("mouseenter",(function(t,i){p.CanvasUtils.stopPropagationAndPreventDefault(t),n.canOpenTip(l.TIP_TYPE_PORT)&&(n.canvasController.closeTip(),n.canvasController.openTip({id:n.getId("node_port_tip",i.id),type:l.TIP_TYPE_PORT,targetObj:t.currentTarget,pipelineId:n.activePipeline.id,node:e,port:i}))})).on("mouseleave",(function(){n.canvasController.closeTip()})).on("contextmenu",(function(t,i){n.logger.log("Output Port Circle - context menu"),p.CanvasUtils.stopPropagationAndPreventDefault(t),n.config.enableDragWithoutSelect&&n.selectObjectD3Event(t,e),n.openContextMenu(t,"output_port",e,i)}))}},{key:"setUnavailableTargetNodesHighlighting",value:function(t,e,n){this.getAllNodeGroupsSelection().filter((function(i){return!p.CanvasUtils.isTrgNodeAvailable(i,t,e,n)})).classed("d3-node-unavailable",!0)}},{key:"setUnavailableSourceNodesHighlighting",value:function(t,e,n){this.getAllNodeGroupsSelection().filter((function(i){return!p.CanvasUtils.isSrcNodeAvailable(i,t,e,n)})).classed("d3-node-unavailable",!0)}},{key:"unsetUnavailableNodesHighlighting",value:function(){this.getAllNodeGroupsSelection().classed("d3-node-unavailable",!1)}},{key:"displayNodeLabelEditIcon",value:function(t,e){var n=this,i=t.parentElement.parentElement.parentElement,o=qa.select(i),a=this.nodeUtils.getNodeLabelEditIconTranslate(e,t,this.zoomTransform.k,this.config.enableDisplayFullLabelOnHover);this.displayEditIcon(t,o,a,(function(t,e){return n.displayNodeLabelTextArea(e,t.currentTarget.parentNode)}))}},{key:"displayDecLabelEditIcon",value:function(t,e,n,i){var o=this,a=t.parentElement.parentElement.parentElement,r=qa.select(a),s=this.decUtils.getDecLabelEditIconTranslate(e,n,i,t,this.zoomTransform.k);this.displayEditIcon(t,r,s,(function(t,a){return o.displayDecLabelTextArea(e,n,i,t.currentTarget.parentNode)}))}},{key:"displayEditIcon",value:function(t,e,n,i){var o=this,a=e.append("g").attr("class","d3-label-edit-icon-group").attr("transform",n).on("mouseenter",(function(t,e){o.mouseOverLabelEditIcon=!0})).on("mouseleave",(function(t,e){o.mouseOverLabelEditIcon=!1,o.hideEditIcon(this)})).on("click",(function(t,e){i(t,e),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(l.EDIT_ICON).attr("width",16).attr("height",16).attr("x",9).attr("y",0)}},{key:"hideEditIcon",value:function(t){if(!this.mouseOverLabelEditIcon){var e=t.parentElement.parentElement.parentElement;qa.select(e).selectAll(".d3-label-edit-icon-group").remove()}}},{key:"selectObjectD3Event",value:function(t,e){this.selectObject(e,t.type,t.shiftKey,p.CanvasUtils.isCmndCtrlPressed(t))}},{key:"selectObjectSourceEvent",value:function(t,e){this.selectObject(e,t.type,t.sourceEvent.shiftKey,p.CanvasUtils.isCmndCtrlPressed(t.sourceEvent))}},{key:"selectObject",value:function(t,e,n,i){this.selecting=!0,this.objectModel.isSelected(t.id,this.activePipeline.id)?i&&this.objectModel.toggleSelection(t.id,i,this.activePipeline.id):n?this.objectModel.selectSubGraph(t.id,this.activePipeline.id):this.objectModel.toggleSelection(t.id,i,this.activePipeline.id),this.selecting=!1;var o=this.getObjectTypeName(t);"node"!==o&&"link"!==o||(this.canvasController.clickActionHandler({clickType:"contextmenu"===e||this.ellipsisClicked?"SINGLE_CLICK_CONTEXTMENU":"SINGLE_CLICK",objectType:o,id:t.id,selectedObjectIds:this.objectModel.getSelectedObjectIds(),pipelineId:this.activePipeline.id}),this.ellipsisClicked=!1)}},{key:"getObjectTypeName",value:function(t){return this.getComment(t.id)?"comment":this.getNode(t.id)?"node":"link"}},{key:"displayDecorations",value:function(t,e,n,i){var o=this,a=this,r=i||[],s="d3-".concat(e,"-dec-group"),l="."+s;n.selectChildren(l).data(r,(function(t){return t.id})).join((function(t){return o.createDecorations(t,e,s)})).attr("transform",(function(n){return o.decUtils.getDecTransform(n,t,e)})).on("mousedown",(function(e,n){return n.hotspot?a.callDecoratorCallback(e,t,n):null})).each((function(n,i,a){return o.updateDecoration(n,qa.select(a[i]),e,t)}))}},{key:"createDecorations",value:function(t,e,n){var i=this;return t.append("g").attr("data-id",(function(t){return i.getId("".concat(e,"_dec_group"),t.id)})).attr("class",n).call(this.attachDecGroupListeners.bind(this))}},{key:"updateDecoration",value:function(t,e,n,i){this.updateDecOutlines(t,e,n,i),this.updateDecPaths(t,e,n),this.updateDecImages(t,e,n,i),this.updateDecLabels(t,e,n,i)}},{key:"updateDecOutlines",value:function(t,e,n,i){var o=e.selectChild("rect");t.label||t.path||!1===t.outline?o.remove():(o=o.empty()?e.append("rect"):o).attr("class",this.decUtils.getDecClass(t,"d3-".concat(n,"-dec-outline"))).attr("x",0).attr("y",0).attr("width",this.decUtils.getDecWidth(t,i,n)).attr("height",this.decUtils.getDecHeight(t,i,n)).lower()}},{key:"updateDecPaths",value:function(t,e,n){var i=e.selectChild("path");t.path?(i=i.empty()?e.append("path"):i).attr("class",this.decUtils.getDecClass(t,"d3-".concat(n,"-dec-path"))).attr("x",0).attr("y",0).attr("d",t.path):i.remove()}},{key:"updateDecImages",value:function(t,e,n,i){var o=this,a=e.selectChild("g");if(t.image){var r=this.getImageType(t.image);(a=a.empty()?e.append("g").append(r):a.select(r)).attr("class",this.decUtils.getDecClass(t,"d3-".concat(n,"-dec-image"))).attr("x",this.decUtils.getDecPadding(t,i,n)).attr("y",this.decUtils.getDecPadding(t,i,n)).attr("width",this.decUtils.getDecWidth(t,i,n)-2*this.decUtils.getDecPadding(t,i,n)).attr("height",this.decUtils.getDecHeight(t,i,n)-2*this.decUtils.getDecPadding(t,i,n)).each((function(){return o.setImageContent(a,t.image)}))}else a.remove()}},{key:"updateDecLabels",value:function(t,e,n,i){var o=e.selectChild("foreignObject");t.label?(o.empty()&&(o=e.append("foreignObject").attr("class",this.decUtils.getDecLabelForeignClass(t)).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(t,i,n)).attr("height",this.decUtils.getDecLabelHeight(t,i,n)).select("div").attr("class",this.decUtils.getDecLabelClass(t,n)).select("span").html(bn(t.label))):o.remove()}},{key:"attachDecLabelListeners",value:function(t,e,n){var i=this;n.on("dblclick",(function(n,o){i.logger.log("Decoration Label - double click"),o.label_editable&&i.config.enableEditingActions&&(p.CanvasUtils.stopPropagationAndPreventDefault(n),i.displayDecLabelTextArea(o,t,e,n.currentTarget.parentNode))}))}},{key:"attachDecLabelSpanListeners",value:function(t,e,n){var i=this;n.on("mouseenter",(function(n,o){o.label_editable&&i.config.enableEditingActions&&i.displayDecLabelEditIcon(n.currentTarget,o,t,e)})).on("mouseleave",(function(t,e){e.label_editable&&i.config.enableEditingActions&&(i.hideEditIconPending=setTimeout(i.hideEditIcon.bind(i),500,t.currentTarget,e))}))}},{key:"attachDecGroupListeners",value:function(t){var e=this;t.on("mouseenter",(function(t,n){e.canOpenTip(l.TIP_TYPE_DEC)&&(e.canvasController.closeTip(),e.canvasController.openTip({id:e.getId("dec_tip",n.id),type:l.TIP_TYPE_DEC,targetObj:t.currentTarget,pipelineId:e.activePipeline.id,decoration:n}))})).on("mouseleave",(function(t,n){e.canvasController.closeTip()}))}},{key:"addErrorMarker",value:function(t,e){var n=this,i=e.selectChildren(".node-error-marker");t.messages&&t.messages.length>0?(i.empty()&&e.append("svg").attr("class","node-error-marker"),e.selectChildren(".node-error-marker").attr("class",(function(){return"node-error-marker "+n.nodeUtils.getErrorMarkerClass(t.messages)})).html(this.nodeUtils.getErrorMarkerIcon(t)).attr("width",this.nodeUtils.getNodeErrorWidth(t)).attr("height",this.nodeUtils.getNodeErrorHeight(t)).attr("x",this.nodeUtils.getNodeErrorPosX(t)).attr("y",this.nodeUtils.getNodeErrorPosY(t))):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(t,e){var n=this.getNodeImage(e),i=qa.select(t);this.setImageContent(i,n)}},{key:"setImageContent",value:function(t,e){if(e!==t.attr("data-image")){var n=this.getImageType(e);t.attr("data-image",e),"svg"===n?(t.selectChild("svg").remove(),qa.svg(e,{cache:"force-cache"}).then((function(e){t.node().append(e.documentElement)}))):t.attr("xlink:href",e)}}},{key:"getNodeImage",value:function(t){if(!t.image)return null;if(t.image===l.USE_DEFAULT_ICON){if(this.nodeUtils.isSupernode(t))return H}else if(t.image===l.USE_DEFAULT_EXT_ICON&&this.nodeUtils.isSupernode(t))return U;return t.image}},{key:"getImageType",value:function(t){return t&&t.endsWith(".svg")?"svg":"image"}},{key:"setNodeStyles",value:function(t,e,n){this.setNodeBodyStyles(t,e,n),this.setNodeSelectionOutlineStyles(t,e,n),this.setNodeImageStyles(t,e,n),this.setNodeLabelStyles(t,e,n)}},{key:"setNodeBodyStyles",value:function(t,e,n){var i=this.getNodeBodyStyle(t,e);n.selectChildren(".d3-node-body-outline").attr("style",i)}},{key:"setNodeSelectionOutlineStyles",value:function(t,e,n){var i=this.getNodeSelectionOutlineStyle(t,e);n.selectChildren(".d3-node-selection-highlight").attr("style",i)}},{key:"setNodeImageStyles",value:function(t,e,n){var i=this.getNodeImageStyle(t,e);n.selectChildren(".d3-node-image").attr("style",i)}},{key:"setNodeLabelStyles",value:function(t,e,n){var i=this.getNodeLabelStyle(t,e);n.selectChildren(".d3-node-label").attr("style",i)}},{key:"getNodeBodyStyle",value:function(t,e){var n=p.CanvasUtils.getObjectStyle(t,"body",e);return null===n&&t.layout.dropShadow&&(n="filter:url(".concat(this.getId("#node_drop_shadow"),")")),n}},{key:"getNodeSelectionOutlineStyle",value:function(t,e){return p.CanvasUtils.getObjectStyle(t,"selection_outline",e)}},{key:"getNodeImageStyle",value:function(t,e){return p.CanvasUtils.getObjectStyle(t,"image",e)}},{key:"getNodeLabelStyle",value:function(t,e){return p.CanvasUtils.getObjectStyle(t,"label",e)}},{key:"getNodeGrpStyle",value:function(t){return t.style_temp||t.style||!this.canvasInfo.subdueStyle||this.doesExpandedSupernodeHaveStyledNodes(t)?null:this.canvasInfo.subdueStyle}},{key:"getLinkGrpStyle",value:function(t){return t.style_temp||t.style||!this.canvasInfo.subdueStyle?null:this.canvasInfo.subdueStyle}},{key:"doesExpandedSupernodeHaveStyledNodes",value:function(t){var e=this,n=!1;this.nodeUtils.isExpandedSupernode(t)&&t.subflow_ref&&t.subflow_ref.pipeline_id_ref&&this.getActivePipeline(t.subflow_ref.pipeline_id_ref).nodes.forEach((function(t){t.style||t.style_temp?n=!0:!n&&e.nodeUtils.isExpandedSupernode(t)&&(n=e.doesExpandedSupernodeHaveStyledNodes(t))}));return n}},{key:"getMaxZoomToFitPaddingForConnections",value:function(){var t=this.getMaxPaddingForConnectionsFromInputBindingNodes(),e=this.getMaxPaddingForConnectionsToOutputBindingNodes();return Math.max(t,e)}},{key:"getMaxPaddingForConnectionsFromInputBindingNodes",value:function(){var t=this,e=0;return this.activePipeline.nodes.filter((function(t){return t.isSupernodeInputBinding})).forEach((function(n){var i=p.CanvasUtils.getNodePaddingToTargetNodes(n,t.activePipeline.nodes,t.activePipeline.links,t.canvasLayout.linkType);e=Math.max(e,i)})),e}},{key:"getMaxPaddingForConnectionsToOutputBindingNodes",value:function(){var t=this,e=0,n=this.activePipeline.nodes.filter((function(t){return t.isSupernodeOutputBinding}));return this.activePipeline.nodes.forEach((function(i){var o=p.CanvasUtils.getNodePaddingToTargetNodes(i,n,t.activePipeline.links,t.canvasLayout.linkType);e=Math.max(e,o)})),e}},{key:"getPortRadius",value:function(t){return p.CanvasUtils.isSuperBindingNode(t)?this.getBindingPortRadius():t.layout.portRadius}},{key:"getBindingPortRadius",value:function(){return this.canvasLayout.supernodeBindingPortRadius/this.zoomTransform.k}},{key:"addDynamicNodeIcons",value:function(t,e){var n=this;if(!this.nodeSizing&&!p.CanvasUtils.isSuperBindingNode(t)){var i=e.append("g").filter((function(){return t.layout.ellipsisDisplay})).attr("class","d3-node-ellipsis-group").attr("transform",(function(t){return n.nodeUtils.getNodeEllipsisTranslate(t)})).on("mousedown",(function(e){p.CanvasUtils.stopPropagationAndPreventDefault(e),n.ellipsisClicked=!0,n.config.enableDragWithoutSelect||n.selectObjectD3Event(e,t),n.openContextMenu(e,"node",t)}));if(i.append("rect").attr("class","d3-node-ellipsis-background").attr("width",(function(t){return n.nodeUtils.getNodeEllipsisWidth(t)})).attr("height",(function(t){return n.nodeUtils.getNodeEllipsisHeight(t)})).attr("x",0).attr("y",0),i.append("svg").attr("class","d3-node-ellipsis").html(l.NODE_MENU_ICON).attr("width",(function(t){return n.nodeUtils.getNodeEllipsisIconWidth(t)})).attr("height",(function(t){return n.nodeUtils.getNodeEllipsisIconHeight(t)})).attr("x",(function(t){return t.layout.ellipsisHoverAreaPadding})).attr("y",(function(t){return t.layout.ellipsisHoverAreaPadding})),this.nodeUtils.isExpandedSupernode(t)){var o=e.append("g").attr("transform",(function(t){return n.nodeUtils.getNodeExpansionIconTranslate(t)})).attr("class","d3-node-super-expand-icon-group").on("mousedown",(function(t){p.CanvasUtils.stopPropagationAndPreventDefault(t);var e=n.getSupernodeBreadcrumbs(t.currentTarget);n.canvasController.displaySubPipelineForBreadcrumbs(e)})).on("mouseenter",(function(){qa.select(this).attr("data-pointer-hover","yes")})).on("mouseleave",(function(){qa.select(this).attr("data-pointer-hover","no")}));o.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),o.append("svg").attr("class","d3-node-super-expand-icon").html(l.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(t){for(var e=[],n=t.closest(".d3-node-group");n;){var i=n.closest(".svg-area"),o=this.getD3DatumFromDomEl(n),a=i.getAttribute("data-pipeline-id");e.push(this.canvasController.getObjectModel().createBreadcrumb(o,a)),n=i.closest(".d3-node-group")}return e.reverse()}},{key:"getD3DatumFromDomEl",value:function(t){var e=qa.select(t);return e?e.datum():null}},{key:"updatePortRadiusAndPos",value:function(t,e,n){var i=this;qa.select(t).selectAll("."+n).attr("r",(function(){return i.getPortRadius(e)})).attr("cx",(function(t){return t.cx})).attr("cy",(function(t){return t.cy}))}},{key:"updatePortArrowPath",value:function(t,e){var n=this;qa.select(t).selectAll("."+e).attr("d",(function(t){return n.getPortArrowPath(t)})).attr("transform",(function(t){return n.getPortArrowPathTransform(t)}))}},{key:"isNonBindingNode",value:function(t){return this.isNode(t)&&"binding"!==t.type}},{key:"isPortMaxCardinalityZero",value:function(t){return 0===d.get_1(t,"app_data.ui_data.cardinality.max",1)}},{key:"removeDynamicNodeIcons",value:function(t,e){t.layout.ellipsisDisplay&&e.selectChildren(".d3-node-ellipsis-group").remove(),e.selectChildren(".d3-node-super-expand-icon-group").remove()}},{key:"createSupernodeRenderer",value:function(t,n){return t.subflow_ref&&t.subflow_ref.pipeline_id_ref?new e(t.subflow_ref.pipeline_id_ref,this.canvasDiv,this.canvasController,this.canvasInfo,this.config,{id:t.id,pipelineId:this.activePipeline.id,renderer:this,d3Selection:n}):null}},{key:"getRendererForSupernode",value:function(t){return this.superRenderers.find((function(e){return e.supernodeInfo.id===t.id&&e.activePipeline.id===t.subflow_ref.pipeline_id_ref}))}},{key:"getDiscardedRenderersForSupernode",value:function(t){return this.superRenderers.filter((function(e){return e.supernodeInfo.id===t.id&&e.activePipeline.id!==t.subflow_ref.pipeline_id_ref}))}},{key:"openContextMenu",value:function(t,e,n,i){p.CanvasUtils.stopPropagationAndPreventDefault(t),this.canvasController.contextMenuHandler({type:e,targetObject:"canvas"===e?null:n,id:"canvas"===e?null:n.id,pipelineId:this.activePipeline.id,cmPos:this.getMousePos(t,this.canvasDiv.selectAll("svg")),mousePos:this.getMousePosSnapToGrid(this.getTransformedMousePos(t)),selectedObjectIds:this.objectModel.getSelectedObjectIds(),addBreadcrumbs:n&&n.type===l.SUPER_NODE?this.getSupernodeBreadcrumbs(t.currentTarget):null,port:i,zoom:this.zoomTransform.k})}},{key:"closeContextMenuIfOpen",value:function(){this.canvasController.isContextMenuDisplayed()&&this.canvasController.closeContextMenu()}},{key:"callDecoratorCallback",value:function(t,e,n){t.stopPropagation(),this.canvasController.decorationActionHandler&&this.canvasController.decorationActionHandler(e,n.id,this.activePipeline.id)}},{key:"drawNewLink",value:function(t){if(!1!==this.config.enableEditingActions){this.closeContextMenuIfOpen();var e=this.getTransformedMousePos(t);this.drawingNewLinkData.action===l.COMMENT_LINK?this.drawNewCommentLinkForPorts(e):this.drawNewNodeLinkForPorts(e),this.config.enableHighlightNodeOnNewLinkDrag&&this.setNewLinkOverNode(t)}}},{key:"drawNewNodeLinkForPorts",value:function(t){var e,n=this,i=this,o=this.config.enableAssocLinkCreation?l.ASSOCIATION_LINK:l.NODE_LINK;e=this.canvasLayout.linkType===l.LINK_TYPE_STRAIGHT?this.linkUtils.getNewStraightNodeLinkStartPos(this.drawingNewLinkData.srcNode,t):{x:this.drawingNewLinkData.startPos.x,y:this.drawingNewLinkData.startPos.y},this.drawingNewLinkData.linkArray=[{x1:e.x,y1:e.y,x2:t.x,y2:t.y,type:o}],this.config.enableAssocLinkCreation&&(this.drawingNewLinkData.linkArray[0].assocLinkVariation=this.getNewLinkAssocVariation(this.drawingNewLinkData.linkArray[0].x1,this.drawingNewLinkData.linkArray[0].x2,this.drawingNewLinkData.portType));var a=this.linkUtils.getConnectorPathInfo(this.drawingNewLinkData.linkArray[0],this.drawingNewLinkData.minInitialLine),r=this.nodesLinksGrp.selectAll(".d3-new-connection-line"),s=this.nodesLinksGrp.selectAll(".d3-new-connection-start"),c=this.nodesLinksGrp.selectAll(".d3-new-connection-guide");r.data(this.drawingNewLinkData.linkArray).enter().append("path").attr("class","d3-new-connection-line").attr("linkType",o).merge(r).attr("d",a.path).attr("transform",a.transform),this.canvasLayout.linkType!==l.LINK_TYPE_STRAIGHT&&s.data(this.drawingNewLinkData.linkArray).enter().append(this.drawingNewLinkData.portObject).attr("class","d3-new-connection-start").attr("linkType",o).merge(s).each((function(t){i.drawingNewLinkData.portObject===l.PORT_OBJECT_CIRCLE&&qa.select(this).attr("cx",t.x1).attr("cy",t.y1).attr("r",i.drawingNewLinkData.portRadius)})),c.data(this.drawingNewLinkData.linkArray).enter().append(this.drawingNewLinkData.guideObject).attr("class","d3-new-connection-guide").attr("linkType",o).on("mouseup",(function(t){p.CanvasUtils.stopPropagationAndPreventDefault(t),n.completeNewLink(t)})).merge(c).each((function(t){i.drawingNewLinkData.guideObject===l.PORT_OBJECT_IMAGE?qa.select(this).attr("xlink:href",i.drawingNewLinkData.guideImage).attr("x",t.x2-i.drawingNewLinkData.portWidth/2).attr("y",t.y2-i.drawingNewLinkData.portHeight/2).attr("width",i.drawingNewLinkData.portWidth).attr("height",i.drawingNewLinkData.portHeight).attr("transform",i.getLinkImageTransform(t)):qa.select(this).attr("cx",t.x2).attr("cy",t.y2).attr("r",i.drawingNewLinkData.portRadius)}))}},{key:"getLinkImageTransform",value:function(t){var e=0;if(this.canvasLayout.linkType===l.LINK_TYPE_STRAIGHT){var n=t.x2-t.x1,i=t.y2-t.y1;return 0===n&&0===i?e=0:(e=Math.atan(i/n)*(180/Math.PI),e=n>=0?e:e+180,this.canvasLayout.linkDirection===l.LINK_DIR_TOP_BOTTOM?e-=90:this.canvasLayout.linkDirection===l.LINK_DIR_BOTTOM_TOP&&(e+=90)),"rotate(".concat(e,",").concat(t.x2,",").concat(t.y2,")")}return null}},{key:"drawNewCommentLinkForPorts",value:function(t){var e=this,n=this,i=this.getComment(this.drawingNewLinkData.srcObjId),o=this.linkUtils.getNewStraightCommentLinkStartPos(i,t),a=l.COMMENT_LINK;this.drawingNewLinkData.linkArray=[{x1:o.x,y1:o.y,x2:t.x,y2:t.y,type:a}];var r=this.nodesLinksGrp.selectAll(".d3-new-connection-line"),s=this.nodesLinksGrp.selectAll(".d3-new-connection-guide");if(r.data(this.drawingNewLinkData.linkArray).enter().append("path").attr("class","d3-new-connection-line").attr("linkType",a).merge(r).attr("d",(function(t){return n.linkUtils.getConnectorPathInfo(t).path})),s.data(this.drawingNewLinkData.linkArray).enter().append("circle").attr("class","d3-new-connection-guide").attr("linkType",a).on("mouseup",(function(t){p.CanvasUtils.stopPropagationAndPreventDefault(t),e.completeNewLink(t)})).merge(s).attr("cx",(function(t){return t.x2})).attr("cy",(function(t){return t.y2})).attr("r",this.canvasLayout.commentPortRadius),this.canvasLayout.commentLinkArrowHead){var c=this.nodesLinksGrp.selectAll(".d3-new-connection-arrow");c.data(this.drawingNewLinkData.linkArray).enter().append("path").attr("class","d3-new-connection-arrow").attr("linkType",a).on("mouseup",(function(t){p.CanvasUtils.stopPropagationAndPreventDefault(t),e.completeNewLink(t)})).merge(c).attr("d",(function(t){return e.getArrowHead(t)})).attr("transform",(function(t){return e.getArrowHeadTransform(t)}))}}},{key:"completeNewLink",value:function(t){if(!1!==this.config.enableEditingActions){this.config.enableHighlightUnavailableNodes&&this.unsetUnavailableNodesHighlighting();var e=this.getNodeAtMousePos(t);null!==e?this.completeNewLinkOnNode(t,e):this.config.enableLinkSelection!==l.LINK_SELECTION_DETACHABLE||this.drawingNewLinkData.action!==l.NODE_LINK||this.config.enableAssocLinkCreation?this.stopDrawingNewLink():this.completeNewDetachedLink(t)}}},{key:"completeNewLinkOnNode",value:function(t,e){if(this.removeNewLink(),this.config.enableHighlightNodeOnNewLinkDrag&&this.setNewLinkOverNodeCancel(),null!==e){var n=this.drawingNewLinkData.action;if(n===l.NODE_LINK){var i=this.getNode(this.drawingNewLinkData.srcObjId),o=this.drawingNewLinkData.srcPortId,a=this.getInputNodePortId(t,e);if(p.CanvasUtils.isDataConnectionAllowed(o,a,i,e,this.activePipeline.links))this.canvasController.editActionHandler({editType:"linkNodes",editSource:"canvas",nodes:[{id:this.drawingNewLinkData.srcObjId,portId:this.drawingNewLinkData.srcPortId}],targetNodes:[{id:e.id,portId:a}],type:n,linkType:"data",pipelineId:this.pipelineId});else if(this.config.enableLinkReplaceOnNewConnection&&p.CanvasUtils.isDataLinkReplacementAllowed(o,a,i,e,this.activePipeline.links)){var r=p.CanvasUtils.getDataLinksConnectedTo(a,e,this.activePipeline.links);1===r.length&&this.canvasController.editActionHandler({editType:"linkNodesAndReplace",editSource:"canvas",nodes:[{id:this.drawingNewLinkData.srcObjId,portId:this.drawingNewLinkData.srcPortId}],targetNodes:[{id:e.id,portId:a}],type:n,pipelineId:this.pipelineId,replaceLink:r[0]})}}else if(n===l.ASSOCIATION_LINK){var s=this.getNode(this.drawingNewLinkData.srcObjId);p.CanvasUtils.isAssocConnectionAllowed(s,e,this.activePipeline.links)&&this.canvasController.editActionHandler({editType:"linkNodes",editSource:"canvas",nodes:[{id:this.drawingNewLinkData.srcObjId}],targetNodes:[{id:e.id}],type:n,pipelineId:this.pipelineId})}else p.CanvasUtils.isCommentLinkConnectionAllowed(this.drawingNewLinkData.srcObjId,e.id,this.activePipeline.links)&&this.canvasController.editActionHandler({editType:"linkComment",editSource:"canvas",nodes:[this.drawingNewLinkData.srcObjId],targetNodes:[e.id],type:l.COMMENT_LINK,linkType:"comment",pipelineId:this.pipelineId})}this.drawingNewLinkData=null}},{key:"completeNewDetachedLink",value:function(t){this.removeNewLink(),this.config.enableHighlightNodeOnNewLinkDrag&&this.setNewLinkOverNodeCancel();var e=this.getTransformedMousePos(t);this.canvasController.editActionHandler({editType:"createDetachedLink",editSource:"canvas",srcNodeId:this.drawingNewLinkData.srcObjId,srcNodePortId:this.drawingNewLinkData.srcPortId,trgPos:e,type:l.NODE_LINK,pipelineId:this.pipelineId}),this.drawingNewLinkData=null}},{key:"stopDrawingNewLink",value:function(){this.config.enableHighlightNodeOnNewLinkDrag&&this.setNewLinkOverNodeCancel(),this.stopDrawingNewLinkForPorts()}},{key:"stopDrawingNewLinkForPorts",value:function(){var t=this,e=this.drawingNewLinkData.linkArray[0].x1,n=this.drawingNewLinkData.linkArray[0].y1,i=this.drawingNewLinkData.linkArray[0].x2,o=this.drawingNewLinkData.linkArray[0].y2,a=Object.assign({},this.drawingNewLinkData);this.drawingNewLinkData=null;var r="",s=350;this.canvasLayout.linkType===l.LINK_TYPE_CURVE?r="M "+e+" "+n+"C "+i+" "+o+" "+i+" "+o+" "+i+" "+o:this.canvasLayout.linkType===l.LINK_TYPE_STRAIGHT?(e<i&&(s=0),r="M "+e+" "+n+"L "+i+" "+o+" "+i+" "+o+" "+i+" "+o):r="M "+e+" "+n+"L "+i+" "+o+"Q "+i+" "+o+" "+i+" "+o+"L "+i+" "+o+"Q "+i+" "+o+" "+i+" "+o+"L "+i+" "+o+"Q "+i+" "+o+" "+i+" "+o+"L "+i+" "+o+"Q "+i+" "+o+" "+i+" "+o+"L "+i+" "+o,this.nodesLinksGrp.selectAll(".d3-new-connection-line").transition().duration(s).attr("d",r).on("end",(function(){t.nodesLinksGrp.selectAll(".d3-new-connection-arrow").remove(),t.nodesLinksGrp.selectAll(".d3-new-connection-guide").transition().duration(1e3).ease(qa.easeElastic).attr("x",e-a.portWidth/2).attr("y",n-a.portHeight/2).attr("cx",e).attr("cy",n).attr("transform",null),t.nodesLinksGrp.selectAll(".d3-new-connection-line").transition().duration(1e3).ease(qa.easeElastic).attr("d","M "+e+" "+n+"L "+e+" "+n).on("end",t.removeNewLink.bind(t))}))}},{key:"removeNewLink",value:function(){this.nodesLinksGrp.selectAll(".d3-new-connection-line").remove(),this.nodesLinksGrp.selectAll(".d3-new-connection-start").remove(),this.nodesLinksGrp.selectAll(".d3-new-connection-guide").remove(),this.nodesLinksGrp.selectAll(".d3-new-connection-arrow").remove()}},{key:"dragLinkHandle",value:function(t){var e=this.getTransformedMousePos(t),n=this.draggingLinkData.link;"start"===this.draggingLinkData.endBeingDragged?(n.srcPos={x_pos:e.x,y_pos:e.y},delete n.srcNodeId,delete n.srcNodePortId,delete n.srcObj):(n.trgPos={x_pos:e.x,y_pos:e.y},delete n.trgNodeId,delete n.trgNodePortId,delete n.trgNode),this.displayLinks(),this.config.enableHighlightNodeOnNewLinkDrag&&this.setNewLinkOverNode(t)}},{key:"completeDraggedLink",value:function(t){var e=this.getNewLinkOnDrag(t);e?this.canvasController.editActionHandler({editType:"updateLink",editSource:"canvas",newLink:e,pipelineId:this.pipelineId}):(this.restoreLink(this.draggingLinkData.oldLink),this.displayLinks()),this.config.enableHighlightNodeOnNewLinkDrag&&this.setNewLinkOverNodeCancel(),this.unsetUnavailableNodesHighlighting(),this.stopDraggingLink()}},{key:"getNewLinkOnDrag",value:function(t,e){var n=this.draggingLinkData.oldLink,i=d.cloneDeep_1(n);if("start"===this.draggingLinkData.endBeingDragged){delete i.srcNodeId,delete i.srcNodePortId,delete i.srcPos;var o=e?this.getNodeNearMousePos(t,e):this.getNodeAtMousePos(t);o?(i.srcNodeId=o.id,i.srcNodePortId=e?this.getNodePortIdNearMousePos(t,"output_type",o):this.getOutputNodePortId(t,o)):i.srcPos=this.draggingLinkData.link.srcPos}else{delete i.trgNodeId,delete i.trgNodePortId,delete i.trgPos;var a=e?this.getNodeNearMousePos(t,e):this.getNodeAtMousePos(t);a?(i.trgNodeId=a.id,i.trgNodePortId=e?this.getNodePortIdNearMousePos(t,"input_type",a):this.getInputNodePortId(t,a)):i.trgPos=this.draggingLinkData.link.trgPos}return this.config.enableLinkSelection!==l.LINK_SELECTION_DETACHABLE&&(i.srcPos||i.trgPos)?null:this.canExecuteUpdateLinkCommand(i,n)?i:null}},{key:"restoreLink",value:function(t){var e=this.activePipeline.links.findIndex((function(e){return e.id===t.id}));this.activePipeline.links.splice(e,1,t)}},{key:"canExecuteUpdateLinkCommand",value:function(t,e){var n=this.getNode(t.srcNodeId),i=this.getNode(t.trgNodeId),o=this.hasLinkSrcChanged(t,e),a=this.hasLinkTrgChanged(t,e),r=this.activePipeline.links,s=!0;return o&&n&&!p.CanvasUtils.isSrcConnectionAllowedWithDetachedLinks(t.srcNodePortId,n,r)&&(s=!1),a&&i&&!p.CanvasUtils.isTrgConnectionAllowedWithDetachedLinks(t.trgNodePortId,i,r)&&(s=!1),n&&i&&!p.CanvasUtils.isConnectionAllowedWithDetachedLinks(t.srcNodePortId,t.trgNodePortId,n,i,r)&&(s=!1),s}},{key:"hasLinkSrcChanged",value:function(t,e){var n=!1;return t.srcNodeId?(t.srcNodeId!==e.srcNodeId&&(n=!0),t.srcNodePortId!==e.srcNodePortId&&(n=!0)):e.srcPos&&t.srcPos.x_pos===e.srcPos.x_pos&&t.srcPos.y_pos===e.srcPos.y_pos||(n=!0),n}},{key:"hasLinkTrgChanged",value:function(t,e){var n=!1;return t.trgNodeId?(t.trgNodeId!==e.trgNodeId&&(n=!0),t.trgNodePortId!==e.trgNodePortId&&(n=!0)):e.trgPos&&t.trgPos.x_pos===e.trgPos.x_pos&&t.trgPos.y_pos===e.trgPos.y_pos||(n=!0),n}},{key:"stopDraggingLink",value:function(){this.draggingLinkData=null}},{key:"getLinkAtMousePos",value:function(t,e){var n=this.getLinkElementAtMousePos(t,e);return this.getNodeLinkForElement(n)}},{key:"getLinkElementAtMousePos",value:function(t,e){this.setDataLinkSelectionAreaWider(!0);var n=this.getElementWithClassAtPosition(t,e,"d3-data-link");return this.setDataLinkSelectionAreaWider(!1),n}},{key:"getNodeLinkForElement",value:function(t){if(t){var e=qa.select(t).datum();if(e){var n=this.getLink(e.id,this.pipelineId);if(n&&n.type===l.NODE_LINK)return n}}return null}},{key:"setDataLinkSelectionAreaWider",value:function(t){this.canvasSVG.selectAll(".d3-data-link-selection-area").classed("d3-extra-width",t)}},{key:"getNodeAtMousePos",value:function(t){var e=this.getElementWithClassAtMousePos(t,"d3-node-group");return this.getNodeForElement(e)}},{key:"getInputNodePortId",value:function(t,e){var n=this.getInputNodePortIdAtMousePos(t);return n||(n=p.CanvasUtils.getDefaultInputPortId(e)),n}},{key:"getInputNodePortIdAtMousePos",value:function(t){var e=this.getElementWithClassAtMousePos(t,this.getNodeInputPortClassName());return this.getNodePortIdForElement(e)}},{key:"getOutputNodePortId",value:function(t,e){var n=this.getOutputNodePortIdAtMousePos(t);return n||(n=p.CanvasUtils.getDefaultOutputPortId(e)),n}},{key:"getOutputNodePortIdAtMousePos",value:function(t){var e=this.getElementWithClassAtMousePos(t,this.getNodeOutputPortClassName());return this.getNodePortIdForElement(e)}},{key:"getElementAtPoint",value:function(t,e,n){var i=this;return document.elementsFromPoint(t,e).find((function(t){return i.isClassNameIncluded(t,n)}))}},{key:"getElementWithClassAtMousePos",value:function(t,e){var n=t.clientX?t.clientX:t.sourceEvent.clientX,i=t.clientY?t.clientY:t.sourceEvent.clientY;return this.getElementWithClassAtPosition(n,i,e)}},{key:"getElementWithClassAtPosition",value:function(t,e,n){for(var i=document.elementsFromPoint(t,e),o=null,a=0;!o&&a<i.length;)o=this.getParentElementWithClass(i[a],n),a++;return o}},{key:"getParentElementWithClass",value:function(t,e){for(var n=t,i=null;n;)this.isClassNameIncluded(n,"d3-new-connection-guide")||this.isClassNameIncluded(n,"svg-area")?n=null:this.isClassNameIncluded(n,e)?(i=n,n=null):n=n.parentNode;return i}},{key:"isClassNameIncluded",value:function(t,e){return t.classList&&t.classList.contains(e)}},{key:"getNodeForElement",value:function(t){if(t&&"g"===t.nodeName){var e=qa.select(t).datum();if(e)return this.getNode(e.id)}return null}},{key:"getNodePortIdForElement",value:function(t){return t?qa.select(t).attr("data-port-id"):null}},{key:"getNodeNearMousePos",value:function(t,e){var n=this,i=this.getTransformedMousePos(t),o=null,a=e||0;return this.getAllNodeGroupsSelection().each((function(t){var e=t.layout.portRadius;p.CanvasUtils.isSuperBindingNode(t)&&(e=n.canvasLayout.supernodeBindingPortRadius/n.zoomTransform.k),i.x>=t.x_pos-e-a&&i.x<=t.x_pos+t.width+e+a&&i.y>=t.y_pos-a&&i.y<=t.y_pos+t.height+a&&(o=t)})),o}},{key:"getNodePortIdNearMousePos",value:function(t,e,n){var i=this.getTransformedMousePos(t),o=null,a=null;if(n)if("output_type"===e){var r=this.getAllNodeGroupsSelection().selectChildren("."+this.getNodeOutputPortClassName()).selectChildren(".d3-node-port-output-main");o=this.searchForPortNearMouse(n,i,r,n.layout.outputPortObject,n.width),a=p.CanvasUtils.getDefaultOutputPortId(n)}else{var s=this.getAllNodeGroupsSelection().selectChildren("."+this.getNodeInputPortClassName()).selectChildren(".d3-node-port-input-main");o=this.searchForPortNearMouse(n,i,s,n.layout.inputPortObject,0),a=p.CanvasUtils.getDefaultInputPortId(n)}return o||(o=a),o}},{key:"searchForPortNearMouse",value:function(t,e,n,i,o){var a=null;return n.each((function(n,r,s){var c=qa.select(s[r]);if(i===l.PORT_OBJECT_IMAGE){var u=t.x_pos+Number(c.attr("x")),d=t.y_pos+Number(c.attr("y")),h=Number(c.attr("width")),p=Number(c.attr("height"));e.x>=u&&e.x<=u+o+h&&e.y>=d&&e.y<=d+p&&(a=s[r].getAttribute("data-port-id"))}else{var g=t.x_pos+Number(c.attr("cx")),f=t.y_pos+Number(c.attr("cy"));e.x>=g-t.layout.portRadius&&e.x<=g+t.layout.portRadius&&e.y>=f-t.layout.portRadius&&e.y<=f+t.layout.portRadius&&(a=s[r].getAttribute("data-port-id"))}})),a}},{key:"getNodeShapePathSizing",value:function(t){return this.getRectangleNodeShapePath(t,t.layout.nodeSizingArea)}},{key:"getNodeSelectionOutline",value:function(t){return t.layout.selectionPath&&!this.nodeUtils.isExpanded(t)?t.layout.selectionPath:"port-arcs"===t.layout.nodeShape?this.getPortArcsNodeShapePath(t):this.getRectangleNodeShapePath(t,t.layout.nodeHighlightGap)}},{key:"getNodeShapePath",value:function(t){return t.layout.bodyPath&&!this.nodeUtils.isExpanded(t)?t.layout.bodyPath:"port-arcs"===t.layout.nodeShape?this.getPortArcsNodeShapePath(t):this.getRectangleNodeShapePath(t)}},{key:"getRectangleNodeShapePath",value:function(t,e){var n=e||0,i=0-n,o=0-n,a=t.width+n,r=t.height+n,s="M "+i+" "+o+" L "+a+" "+o;return s+=" L "+a+" "+r,s+=" L "+i+" "+r,s+=" Z"}},{key:"getPortArcsNodeShapePath",value:function(t){return this.canvasLayout.linkDirection===l.LINK_DIR_TOP_BOTTOM?this.getPortArcsNodeShapePathVertical(t,t.inputs,t.inputPortsWidth,t.outputs,t.outputPortsWidth):this.canvasLayout.linkDirection===l.LINK_DIR_BOTTOM_TOP?this.getPortArcsNodeShapePathVertical(t,t.outputs,t.outputPortsWidth,t.inputs,t.inputPortsWidth):this.getPortArcsNodeShapePathLeftRight(t)}},{key:"getPortArcsNodeShapePathLeftRight",value:function(t){var e="M 0 0 L "+t.width+" 0 ";if(t.outputs&&t.outputs.length>0){var n=t.layout.portArcOffset;t.outputPortsHeight<t.height&&(n=t.outputs[0].cy-t.layout.portArcRadius),e+=" L "+t.width+" "+n,t.outputs.forEach((function(i,o){n+=2*t.layout.portArcRadius,e+=" A "+t.layout.portArcRadius+" "+t.layout.portArcRadius+" 180 0 1 "+t.width+" "+n,o<t.outputs.length-1&&(n+=t.layout.portArcSpacing,e+=" L "+t.width+" "+n)})),e+=" L "+t.width+" "+t.height}else e+=" L "+t.width+" "+t.height;if(e+=" L 0 "+t.height,t.inputs&&t.inputs.length>0){var i=t.height-t.layout.portArcOffset;t.inputPortsHeight<t.height&&(i=t.inputs[t.inputs.length-1].cy+t.layout.portArcRadius),e+=" L 0 "+i,t.inputs.forEach((function(n,o){i-=2*t.layout.portArcRadius,e+=" A "+t.layout.portArcRadius+" "+t.layout.portArcRadius+" 180 0 1 0 "+i,o<t.inputs.length-1&&(i-=t.layout.portArcSpacing,e+=" L 0 "+i)})),e+=" Z"}else e+=" Z";return e}},{key:"getPortArcsNodeShapePathVertical",value:function(t,e,n,i,o){var a="M 0 0 L 0 "+t.height;if(i&&i.length>0){var r=t.layout.portArcOffset;o<t.width&&(r=i[0].cx-t.layout.portArcRadius),a+=" L "+r+" "+t.height,i.forEach((function(e,n){r+=2*t.layout.portArcRadius,a+=" A "+t.layout.portArcRadius+" "+t.layout.portArcRadius+" 180 0 0 "+r+" "+t.height,n<i.length-1&&(r+=t.layout.portArcSpacing,a+=" L "+r+" "+t.height)})),a+=" L "+t.width+" "+t.height}else a+=" L "+t.width+" "+t.height;if(a+=" L "+t.width+" 0 ",e&&e.length>0){var s=t.width-t.layout.portArcOffset;n<t.width&&(s=e[e.length-1].cx+t.layout.portArcRadius),a+=" L "+s+" 0 ",e.forEach((function(n,i){s-=2*t.layout.portArcRadius,a+=" A "+t.layout.portArcRadius+" "+t.layout.portArcRadius+" 180 0 0 "+s+" 0 ",i<e.length-1&&(s-=t.layout.portArcSpacing,a+=" L "+s+" 0 ")})),a+=" Z"}else a+=" Z";return a}},{key:"setPortPositionsAllNodes",value:function(){var t=this;this.activePipeline.nodes.forEach((function(e){t.setPortPositionsForNode(e)}))}},{key:"setPortPositionsForNode",value:function(t){this.canvasLayout.linkDirection===l.LINK_DIR_TOP_BOTTOM?(this.setPortPositionsVertical(t,t.inputs,t.inputPortsWidth,t.layout.inputPortTopPosX,t.layout.inputPortTopPosY),this.setPortPositionsVertical(t,t.outputs,t.outputPortsWidth,t.layout.outputPortBottomPosX,this.getOutputPortBottomPosY(t))):this.canvasLayout.linkDirection===l.LINK_DIR_BOTTOM_TOP?(this.setPortPositionsVertical(t,t.inputs,t.inputPortsWidth,t.layout.inputPortBottomPosX,this.getInputPortBottomPosY(t)),this.setPortPositionsVertical(t,t.outputs,t.outputPortsWidth,t.layout.outputPortTopPosX,t.layout.outputPortTopPosY)):(this.setPortPositionsLeftRight(t,t.inputs,t.inputPortsHeight,t.layout.inputPortLeftPosX,t.layout.inputPortLeftPosY),this.setPortPositionsLeftRight(t,t.outputs,t.outputPortsHeight,this.getOutputPortRightPosX(t),t.layout.outputPortRightPosY,this.config.enableSingleOutputPortDisplay))}},{key:"getOutputPortRightPosX",value:function(t){return t.width+t.layout.outputPortRightPosX}},{key:"getOutputPortBottomPosY",value:function(t){return t.height+t.layout.outputPortBottomPosY}},{key:"getInputPortBottomPosY",value:function(t){return t.height+t.layout.inputPortBottomPosY}},{key:"setPortPositionsVertical",value:function(t,e,n,i,o){if(e&&e.length>0)if(t.width<=t.layout.defaultNodeWidth&&1===e.length)e[0].cx=i,e[0].cy=o;else{var a=0;if(this.nodeUtils.isExpandedSupernode(t)){var r=t.width-2*this.canvasLayout.supernodeSVGAreaPadding-n;a=2*this.canvasLayout.supernodeSVGAreaPadding+r/2}else n<t.width&&(a=(t.width-n)/2);a+=t.layout.portArcOffset;var s=1;p.CanvasUtils.isSuperBindingNode(t)&&(s=1/this.zoomTransform.k),e.forEach((function(e){a+=t.layout.portArcRadius*s,e.cx=a,e.cy=o,a+=(t.layout.portArcRadius+t.layout.portArcSpacing)*s}))}}},{key:"setPortPositionsLeftRight",value:function(t,e,n,i,o){var a=arguments.length>5&&void 0!==arguments[5]&&arguments[5];e&&e.length>0&&(t.height<=t.layout.defaultNodeHeight&&1===e.length?(e[0].cx=i,e[0].cy=o):a?this.setPortPositionsLeftRightSinglePort(t,e,i,o):this.setPortPositionsLeftRightAllPorts(t,e,n,i,o))}},{key:"setPortPositionsLeftRightAllPorts",value:function(t,e,n,i,o){var a=0;if(this.nodeUtils.isExpandedSupernode(t)){var r=t.height-this.canvasLayout.supernodeTopAreaHeight-this.canvasLayout.supernodeSVGAreaPadding-n;a=this.canvasLayout.supernodeTopAreaHeight+this.canvasLayout.supernodeSVGAreaPadding+r/2}else n<t.height&&(a=(t.height-n)/2);a+=t.layout.portArcOffset;var s=1;p.CanvasUtils.isSuperBindingNode(t)&&(s=1/this.zoomTransform.k),e.forEach((function(e){a+=t.layout.portArcRadius*s,e.cx=i,e.cy=a,a+=(t.layout.portArcRadius+t.layout.portArcSpacing)*s}))}},{key:"setPortPositionsLeftRightSinglePort",value:function(t,e,n,i){var o=0;if(this.nodeUtils.isExpandedSupernode(t)){var a=t.height-this.canvasLayout.supernodeTopAreaHeight-this.canvasLayout.supernodeSVGAreaPadding;o=this.canvasLayout.supernodeTopAreaHeight+a/2}else o=i;e.forEach((function(t){t.cx=n,t.cy=o}))}},{key:"displayComments",value:function(){this.logger.logStartTimer("displayComments "+this.getFlags()),!this.dragging||this.commentSizing||this.nodeSizing||this.isCommentBeingUpdated?this.selecting||this.regionSelect?this.displayCommentsSelectionStatus():this.displayAllComments():this.displayMovedComments(),this.logger.logEndTimer("displayComments "+this.getFlags())}},{key:"displayMovedComments",value:function(){var t=this;this.getAllCommentGroupsSelection().attr("transform",(function(t){return"translate(".concat(t.x_pos,", ").concat(t.y_pos,")")})).datum((function(e){return t.getComment(e.id)}))}},{key:"displayCommentsSelectionStatus",value:function(){var t=this;this.getAllCommentGroupsSelection().selectChildren(".d3-comment-selection-highlight").attr("data-selected",(function(e){return t.objectModel.isSelected(e.id,t.activePipeline.id)?"yes":"no"})),this.superRenderers.forEach((function(t){t.selecting=!0,t.displayComments(),t.selecting=!1}))}},{key:"displayAllComments",value:function(){var t=this;this.getAllCommentGroupsSelection().data(this.activePipeline.comments,(function(t){return t.id})).join((function(e){return t.createComments(e)})).attr("transform",(function(t){return"translate(".concat(t.x_pos,", ").concat(t.y_pos,")")})).attr("class",(function(e){return t.getCommentGroupClass(e)})).call((function(e){return t.updateComments(e)}))}},{key:"createComments",value:function(t){var e=this,n=t.append("g").attr("data-id",(function(t){return e.getId("comment_grp",t.id)})).call(this.attachCommentGroupListeners.bind(this));return this.config.enableEditingActions&&n.call(this.drag),n.append("rect").attr("class","d3-comment-sizing").call(this.attachCommentSizingListeners.bind(this)),n.append("rect").attr("class","d3-comment-selection-highlight"),n.append("rect").attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})).attr("x",0).attr("y",0).attr("class","d3-comment-rect"),n.append("foreignObject").attr("class","d3-foreign-object").attr("x",0).attr("y",0).append("xhtml:div").attr("class","d3-comment-text"),n}},{key:"updateComments",value:function(t){var e=this;t.attr("transform",(function(t){return"translate(".concat(t.x_pos,", ").concat(t.y_pos,")")})).attr("class",(function(t){return e.getCommentGroupClass(t)})),t.selectChildren(".d3-comment-sizing").datum((function(t){return e.getComment(t.id)})).attr("x",-this.canvasLayout.commentSizingArea).attr("y",-this.canvasLayout.commentSizingArea).attr("height",(function(t){return t.height+2*e.canvasLayout.commentSizingArea})).attr("width",(function(t){return t.width+2*e.canvasLayout.commentSizingArea})).attr("class","d3-comment-sizing"),t.selectChildren(".d3-comment-selection-highlight").datum((function(t){return e.getComment(t.id)})).attr("x",-this.canvasLayout.commentHighlightGap).attr("y",-this.canvasLayout.commentHighlightGap).attr("height",(function(t){return t.height+2*e.canvasLayout.commentHighlightGap})).attr("width",(function(t){return t.width+2*e.canvasLayout.commentHighlightGap})).attr("data-selected",(function(t){return e.objectModel.isSelected(t.id,e.activePipeline.id)?"yes":"no"})).attr("style",(function(t){return e.getNodeSelectionOutlineStyle(t,"default")})),t.selectChildren(".d3-comment-rect").datum((function(t){return e.getComment(t.id)})).attr("height",(function(t){return t.height})).attr("width",(function(t){return t.width})).attr("class","d3-comment-rect").attr("style",(function(t){return e.getCommentBodyStyle(t,"default")})),t.selectChildren(".d3-foreign-object").datum((function(t){return e.getComment(t.id)})).attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})).select("div").attr("style",(function(t){return e.getNodeLabelStyle(t,"default")})).html((function(t){return bn(t.content)}))}},{key:"attachCommentGroupListeners",value:function(t){var e=this;t.on("mouseenter",(function(t,n){e.setCommentStyles(n,"hover",qa.select(t.currentTarget)),e.config.enableEditingActions&&e.createCommentPort(t.currentTarget,n)})).on("mouseleave",(function(t,n){e.setCommentStyles(n,"default",qa.select(t.currentTarget)),e.config.enableEditingActions&&e.deleteCommentPort(t.currentTarget)})).on("mousedown",(function(t,n){e.logger.log("Comment Group - mouse down"),e.config.enableDragWithoutSelect||e.selectObjectD3Event(t,n),e.logger.log("Comment Group - finished mouse down")})).on("click",(function(t,n){e.logger.log("Comment Group - click"),t.stopPropagation()})).on("dblclick",(function(t,n){e.logger.log("Comment Group - double click"),e.config.enableEditingActions&&(p.CanvasUtils.stopPropagationAndPreventDefault(t),e.displayCommentTextArea(n,t.currentTarget),e.canvasController.clickActionHandler({clickType:"DOUBLE_CLICK",objectType:"comment",id:n.id,selectedObjectIds:e.objectModel.getSelectedObjectIds(),pipelineId:e.activePipeline.id}))})).on("contextmenu",(function(t,n){e.logger.log("Comment Group - context menu"),e.config.enableDragWithoutSelect&&e.selectObjectD3Event(t,n),e.openContextMenu(t,"comment",n)}))}},{key:"attachCommentSizingListeners",value:function(t){var e=this;t.on("mousedown",(function(t,n){e.commentSizing=!0,e.addTempCursorOverlay(e.commentSizingCursor)})).on("mousemove mouseenter",(function(t,n){if(e.config.enableEditingActions&&!e.isRegionSelectOrSizingInProgress()){var i="pointer";e.isPointerCloseToBodyEdge(t,n)||(e.commentSizingDirection=e.getSizingDirection(t,n,e.canvasLayout.commentCornerResizeArea),e.commentSizingCursor=e.getCursorBasedOnDirection(e.commentSizingDirection),i=e.commentSizingCursor),qa.select(t.currentTarget).style("cursor",i)}}))}},{key:"createCommentPort",value:function(t,e){var n=this;qa.select(t).append("circle").attr("cx",0-this.canvasLayout.commentHighlightGap).attr("cy",0-this.canvasLayout.commentHighlightGap).attr("r",this.canvasLayout.commentPortRadius).attr("class","d3-comment-port-circle").on("mousedown",(function(t,i){p.CanvasUtils.stopPropagationAndPreventDefault(t),n.drawingNewLinkData={srcObjId:e.id,action:l.COMMENT_LINK,startPos:{x:e.x_pos-n.canvasLayout.commentHighlightGap,y:e.y_pos-n.canvasLayout.commentHighlightGap},linkArray:[]},n.drawNewLink(t)}))}},{key:"deleteCommentPort",value:function(t){qa.select(t).selectChildren(".d3-comment-port-circle").remove()}},{key:"setCommentStyles",value:function(t,e,n){this.setCommentSelectionOutlineStyles(t,e,n),this.setCommentBodyStyles(t,e,n),this.setCommentTextStyles(t,e,n)}},{key:"setCommentSelectionOutlineStyles",value:function(t,e,n){var i=this.getCommentSelectionOutlineStyle(t,e);n.selectChildren(".d3-comment-selection-highlight").attr("style",i)}},{key:"setCommentBodyStyles",value:function(t,e,n){var i=this.getCommentBodyStyle(t,e);n.selectChildren(".d3-comment-rect").attr("style",i)}},{key:"setCommentTextStyles",value:function(t,e,n){var i=this.getCommentTextStyle(t,e);n.selectChildren(".d3-foreign-object").select("div").attr("style",i)}},{key:"getCommentSelectionOutlineStyle",value:function(t,e){return p.CanvasUtils.getObjectStyle(t,"selection_outline",e)}},{key:"getCommentBodyStyle",value:function(t,e){return p.CanvasUtils.getObjectStyle(t,"body",e)}},{key:"getCommentTextStyle",value:function(t,e){return p.CanvasUtils.getObjectStyle(t,"text",e)}},{key:"displayCommentTextArea",value:function(t,e){this.displayTextArea({id:t.id,text:t.content,singleLine:!1,maxCharacters:null,allowReturnKey:!0,textCanBeEmpty:!0,xPos:0,yPos:0,width:t.width,height:t.height,className:"d3-comment-entry",parentDomObj:e,autoSizeCallback:this.autoSizeComment.bind(this),saveTextChangesCallback:this.saveCommentChanges.bind(this),closeTextAreaCallback:null})}},{key:"autoSizeComment",value:function(t,e,n){this.logger.log("autoSizeComment - textAreaHt = "+this.textAreaHeight+" scroll ht = "+t.scrollHeight);var i=t.scrollHeight+12;this.textAreaHeight<i&&(this.textAreaHeight=i,e.style("height",this.textAreaHeight+"px"),this.getComment(n.id).height=this.textAreaHeight,this.displayComments(),this.displayLinks())}},{key:"saveCommentChanges",value:function(t,e,n){var i=this.getComment(t),o={editType:"editComment",editSource:"canvas",id:i.id,content:e,width:i.width,height:n,x_pos:i.x_pos,y_pos:i.y_pos,pipelineId:this.activePipeline.id};this.canvasController.editActionHandler(o)}},{key:"displayNodeLabelTextArea",value:function(t,e){qa.select(e).selectAll("div").attr("style","display:none;"),this.displayTextArea({id:t.id,text:t.label,singleLine:t.layout.labelSingleLine,maxCharacters:t.layout.labelMaxCharacters,allowReturnKey:t.layout.labelAllowReturnKey,textCanBeEmpty:!1,xPos:this.nodeUtils.getNodeLabelTextAreaPosX(t),yPos:this.nodeUtils.getNodeLabelTextAreaPosY(t),width:this.nodeUtils.getNodeLabelTextAreaWidth(t),height:this.nodeUtils.getNodeLabelTextAreaHeight(t),className:this.nodeUtils.getNodeLabelTextAreaClass(t),parentDomObj:e,autoSizeCallback:this.autoSizeMultiLineLabel.bind(this),saveTextChangesCallback:this.saveNodeLabelChanges.bind(this),closeTextAreaCallback:this.closeNodeLabelTextArea.bind(this)})}},{key:"autoSizeMultiLineLabel",value:function(t,e,n){this.logger.log("autoSizeNodeLabel - textAreaHt = "+this.textAreaHeight+" scroll ht = "+t.scrollHeight),n.maxCharacters&&t.value.length>n.maxCharacters&&(t.value=t.value.substring(0,n.maxCharacters)),e.style("height",0);var i=t.scrollHeight+12;this.textAreaHeight=i,e.style("height",this.textAreaHeight+"px")}},{key:"saveNodeLabelChanges",value:function(t,e,n,i){var o={editType:"setNodeLabel",editSource:"canvas",nodeId:t,label:e,pipelineId:this.activePipeline.id};this.canvasController.editActionHandler(o)}},{key:"closeNodeLabelTextArea",value:function(t){this.getNodeGroupSelectionById(t).selectAll("div").attr("style",null)}},{key:"displayDecLabelTextArea",value:function(t,e,n,i){this.displayTextArea({id:t.id,text:t.label,singleLine:t.label_single_line||!0,maxCharacters:t.label_max_characters||null,allowReturnKey:t.label_allow_return_key||!1,textCanBeEmpty:!1,xPos:this.decUtils.getDecLabelTextAreaPosX(),yPos:this.decUtils.getDecLabelTextAreaPosY(),width:this.decUtils.getDecLabelTextAreaWidth(t,e,n),height:this.decUtils.getDecLabelTextAreaHeight(t,e,n),className:this.decUtils.getDecLabelTextAreaClass(t),parentDomObj:i,objId:e.id,objType:n,autoSizeCallback:this.autoSizeMultiLineLabel.bind(this),saveTextChangesCallback:this.saveDecLabelChanges.bind(this),closeTextAreaCallback:null})}},{key:"saveDecLabelChanges",value:function(t,e,n,i){var o={editType:"editDecorationLabel",editSource:"canvas",decId:t,objId:i.objId,objType:i.objType,label:e,pipelineId:this.activePipeline.id};this.canvasController.editActionHandler(o)}},{key:"displayTextArea",value:function(t){var e=this;this.textAreaHeight=t.height,this.editingText=!0,this.editingTextId=t.id;var n=qa.select(t.parentDomObj).append("foreignObject").attr("class","d3-foreign-object").attr("width",t.width).attr("height",t.height).attr("x",t.xPos).attr("y",t.yPos),i=n.append("xhtml:textarea").attr("class",t.className).text(vn(t.text)).on("keydown",(function(i){!t.singleLine&&t.allowReturnKey||13!==i.keyCode||p.CanvasUtils.stopPropagationAndPreventDefault(i),27===i.keyCode&&(p.CanvasUtils.stopPropagationAndPreventDefault(i),e.textAreaEscKeyPressed=!0,e.closeTextArea(n,t)),t.maxCharacters&&this.value.length>=t.maxCharacters&&!e.textAreaAllowedKeys(i)&&p.CanvasUtils.stopPropagationAndPreventDefault(i)})).on("keyup",(function(e){t.autoSizeCallback(this,n,t)})).on("paste",(function(){e.logger.log("Text area - Paste - Scroll Ht = "+this.scrollHeight),setTimeout(t.autoSizeCallback,500,this,n,t)})).on("blur",(function(i,o){if(e.logger.log("Text area - blur"),e.textAreaEscKeyPressed)e.textAreaEscKeyPressed=!1;else{if(!this.value&&!t.textCanBeEmpty)return p.CanvasUtils.stopPropagationAndPreventDefault(i),void e.closeTextArea(n,t);var a=this.value;e.closeTextArea(n,t),t.text!==a&&(e.isCommentBeingUpdated=!0,t.saveTextChangesCallback(t.id,a,e.textAreaHeight,t),e.isCommentBeingUpdatd=!1)}})).on("focus",(function(i,o){e.logger.log("Text area - focus"),t.autoSizeCallback(this,n,t)})).on("mousedown click dblclick contextmenu",(function(t,e){t.stopPropagation()}));i.node().focus(),i.node().setSelectionRange(t.text.length,t.text.length)}},{key:"closeTextArea",value:function(t,e){e.closeTextAreaCallback&&e.closeTextAreaCallback(e.id),t.remove(),this.editingText=!1,this.editingTextId=""}},{key:"textAreaAllowedKeys",value:function(t){return 46===t.keyCode||8===t.keyCode||37===t.keyCode||39===t.keyCode||38===t.keyCode||40===t.keyCode||65===t.keyCode&&p.CanvasUtils.isCmndCtrlPressed(t)}},{key:"addTempCursorOverlay",value:function(t){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",t))}},{key:"removeTempCursorOverlay",value:function(){this.dispUtils.isDisplayingFullPage()&&this.canvasDiv.selectAll(".d3-temp-cursor-overlay").remove()}},{key:"isRegionSelectOrSizingInProgress",value:function(){return!!(this.regionSelect||this.nodeSizing||this.commentSizing)||!(!this.supernodeInfo.renderer||!this.supernodeInfo.renderer.isRegionSelectOrSizingInProgress())}},{key:"isPointerCloseToBodyEdge",value:function(t,e){var n=this.getTransformedMousePos(t),i=e.x_pos+e.width,o=e.y_pos+e.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(t,e,n){var i="",o="",a=this.getTransformedMousePos(t);return a.x<e.x_pos+n?i="w":a.x>e.x_pos+e.width-n&&(i="e"),a.y<e.y_pos+n?o="n":a.y>e.y_pos+e.height-n&&(o="s"),o+i}},{key:"getCursorBasedOnDirection",value:function(t){var e;switch(t){case"n":case"s":e="ns-resize";break;case"e":case"w":e="ew-resize";break;case"nw":case"se":e="nwse-resize";break;case"ne":case"sw":e="nesw-resize";break;default:e=""}return e}},{key:"resizeNode",value:function(t){var e=Object.assign({},this.resizeObj),n=Math.max(this.resizeObj.inputPortsHeight,this.resizeObj.outputPortsHeight)+this.canvasLayout.supernodeTopAreaHeight+this.canvasLayout.supernodeSVGAreaPadding,i=this.resizeObject(t,this.resizeObj,this.nodeSizingDirection,this.canvasLayout.supernodeMinWidth,Math.max(this.canvasLayout.supernodeMinHeight,n));if(i&&(0!==i.x_pos||0!==i.y_pos||0!==i.width||0!==i.height)){if(this.config.enableMoveNodesOnSupernodeResize){var o=p.CanvasUtils.moveSurroundingObjects(e,this.activePipeline.nodes.concat(this.activePipeline.comments),this.nodeSizingDirection,this.resizeObj.width,this.resizeObj.height,!0),a=p.CanvasUtils.moveSurroundingDetachedLinks(e,this.activePipeline.links,this.nodeSizingDirection,this.resizeObj.width,this.resizeObj.height,!0);this.nodeSizingObjectsInfo=Object.assign(this.nodeSizingObjectsInfo,o),this.nodeSizingLinksInfo=Object.assign(this.nodeSizingLinksInfo,a)}this.displayComments(),this.displayNodes(),this.displayLinks(),this.dispUtils.isDisplayingSubFlow()&&this.displayBindingNodesToFitSVG(),this.superRenderers.forEach((function(t){return t.displaySVGToFitSupernode()}))}}},{key:"resizeComment",value:function(t){this.resizeObject(t,this.resizeObj,this.commentSizingDirection,20,20),this.displayComments(),this.displayLinks()}},{key:"resizeObject",value:function(t,e,n,i,o){var a=0,r=0,s=0,c=0;n.indexOf("e")>-1&&(s+=t.dx),n.indexOf("s")>-1&&(c+=t.dy),n.indexOf("n")>-1&&(r+=t.dy,c-=t.dy),n.indexOf("w")>-1&&(a+=t.dx,s-=t.dx);var u=0,d=0,h=0,g=0;if(this.config.enableSnapToGridType===l.SNAP_TO_GRID_DURING?(this.notSnappedXPos+=a,this.notSnappedYPos+=r,this.notSnappedWidth+=s,this.notSnappedHeight+=c,u=p.CanvasUtils.snapToGrid(this.notSnappedXPos,this.canvasLayout.snapToGridXPx),d=p.CanvasUtils.snapToGrid(this.notSnappedYPos,this.canvasLayout.snapToGridYPx),h=p.CanvasUtils.snapToGrid(this.notSnappedWidth,this.canvasLayout.snapToGridXPx),g=p.CanvasUtils.snapToGrid(this.notSnappedHeight,this.canvasLayout.snapToGridYPx)):(u=e.x_pos+a,d=e.y_pos+r,h=e.width+s,g=e.height+c),h<i||g<o)return null;var f={width:h-e.width,height:g-e.height,x_pos:u-e.x_pos,y_pos:d-e.y_pos};return e.x_pos=u,e.y_pos=d,e.width=h,e.height=g,f}},{key:"endNodeSizing",value:function(){this.config.enableSnapToGridType===l.SNAP_TO_GRID_AFTER&&(this.resizeObj=this.snapToGridObject(this.resizeObj)),this.resizeObjInitialInfo.x_pos===this.resizeObj.x_pos&&this.resizeObjInitialInfo.y_pos===this.resizeObj.y_pos&&this.resizeObjInitialInfo.width===this.resizeObj.width&&this.resizeObjInitialInfo.height===this.resizeObj.height||(this.nodeSizingObjectsInfo[this.resizeObj.id]={width:this.resizeObj.width,height:this.resizeObj.height,x_pos:this.resizeObj.x_pos,y_pos:this.resizeObj.y_pos},this.canvasController.editActionHandler({editType:"resizeObjects",editSource:"canvas",objectsInfo:this.nodeSizingObjectsInfo,linksInfo:this.nodeSizingLinksInfo,pipelineId:this.pipelineId})),this.resizeObj=null,this.nodeSizing=!1,this.nodeSizingObjectsInfo=[],this.nodeSizingLinksInfo=[]}},{key:"endCommentSizing",value:function(){if(this.config.enableSnapToGridType===l.SNAP_TO_GRID_AFTER&&(this.resizeObj=this.snapToGridObject(this.resizeObj)),this.resizeObjInitialInfo.x_pos!==this.resizeObj.x_pos||this.resizeObjInitialInfo.y_pos!==this.resizeObj.y_pos||this.resizeObjInitialInfo.width!==this.resizeObj.width||this.resizeObjInitialInfo.height!==this.resizeObj.height){var t={editType:"editComment",editSource:"canvas",id:this.resizeObj.id,content:this.resizeObj.content,width:this.resizeObj.width,height:this.resizeObj.height,x_pos:this.resizeObj.x_pos,y_pos:this.resizeObj.y_pos,pipelineId:this.pipelineId};this.canvasController.editActionHandler(t)}this.commentSizing=!1}},{key:"displayLinks",value:function(){this.logger.logStartTimer("displayLinks "+this.getFlags()),this.selecting||this.regionSelect?this.displayLinksSelectionStatus():this.displayAllLinks(),this.logger.logEndTimer("displayLinks "+this.getFlags())}},{key:"displayLinksSelectionStatus",value:function(){var t=this;this.config.enableLinkSelection!==l.LINK_SELECTION_NONE&&(this.getAllLinkGroupsSelection().attr("data-selected",(function(e){return!!t.objectModel.isSelected(e.id,t.activePipeline.id)||null})),this.superRenderers.forEach((function(t){t.selecting=!0,t.displayLinks(),t.selecting=!1})))}},{key:"displayAllLinks",value:function(){var t=this,e=this.buildLinksArray();this.getAllLinkGroupsSelection().data(e,(function(t){return t.id})).join((function(e){return t.createLinks(e)})).attr("class",(function(e){return t.getLinkGroupClass(e)})).attr("style",(function(e){return t.getLinkGrpStyle(e)})).attr("data-selected",(function(e){return!!t.objectModel.isSelected(e.id,t.activePipeline.id)||null})).call((function(n){t.updateLinks(n,e)}))}},{key:"createLinks",value:function(t){var e=this,n=t.append("g").attr("data-id",(function(t){return e.getId("link_grp",t.id)})).call(this.attachLinkGroupListeners.bind(this));return n.append("path").attr("class",(function(t){return e.getLinkSelectionAreaClass(t)})),n.append("path").attr("class","d3-link-line"),n.filter((function(t){return t.type===l.NODE_LINK&&e.canvasLayout.dataLinkArrowHead||t.type===l.COMMENT_LINK&&e.canvasLayout.commentLinkArrowHead||t.type===l.NODE_LINK&&e.canvasLayout.linkType===l.LINK_TYPE_STRAIGHT})).append("path").attr("class","d3-link-line-arrow-head"),n.append("g").attr("class","d3-link-decorations-group"),this.config.enableLinkSelection!==l.LINK_SELECTION_HANDLES&&this.config.enableLinkSelection!==l.LINK_SELECTION_DETACHABLE||n.append("g").attr("class","d3-link-handles-group").each((function(t,n,i){t.type===l.NODE_LINK&&e.createNewHandles(qa.select(i[n]))})),n}},{key:"updateLinks",value:function(t,e){var n=this;t.selectAll(".d3-link-selection-area").datum((function(t){return n.getLink(t.id)})).attr("d",(function(t){return t.pathInfo.path})),t.selectAll(".d3-link-line").datum((function(t){return n.getLink(t.id)})).attr("d",(function(t){return t.pathInfo.path})).attr("class","d3-link-line").attr("style",(function(t){return p.CanvasUtils.getObjectStyle(t,"line","default")})),t.filter((function(t){return t.type===l.NODE_LINK&&n.canvasLayout.dataLinkArrowHead||t.type===l.COMMENT_LINK&&n.canvasLayout.commentLinkArrowHead||t.type===l.NODE_LINK&&n.canvasLayout.linkType===l.LINK_TYPE_STRAIGHT})).selectAll(".d3-link-line-arrow-head").datum((function(t){return n.getLink(t.id)})).attr("d",(function(t){return n.getArrowHead(t)})).attr("transform",(function(t){return n.getArrowHeadTransform(t)})).attr("class","d3-link-line-arrow-head").attr("style",(function(t){return p.CanvasUtils.getObjectStyle(t,"line","default")})),t.each((function(t,e,i){t.type!==l.NODE_LINK&&t.type!==l.ASSOCIATION_LINK||n.displayDecorations(t,l.DEC_LINK,qa.select(i[e]).selectAll(".d3-link-decorations-group"),t.decorations)})),this.config.enableLinkSelection!==l.LINK_SELECTION_HANDLES&&this.config.enableLinkSelection!==l.LINK_SELECTION_DETACHABLE||t.each((function(t,i,o){t.type===l.NODE_LINK&&n.updateHandles(qa.select(o[i]).selectAll(".d3-link-handles-group"),e)})),this.dragging||this.setDisplayOrder(t)}},{key:"attachLinkGroupListeners",value:function(t){var e=this;t.on("mousedown",(function(t,n,i,o){e.logger.log("Link Group - mouse down"),e.config.enableLinkSelection!==l.LINK_SELECTION_NONE&&e.selectObjectD3Event(t,n),t.stopPropagation()})).on("mouseup",(function(){e.logger.log("Link Group - mouse up")})).on("click",(function(t,n){e.logger.log("Link Group - click"),t.stopPropagation()})).on("contextmenu",(function(t,n){e.logger.log("Link Group - context menu"),e.config.enableLinkSelection!==l.LINK_SELECTION_NONE&&e.selectObjectD3Event(t,n),e.openContextMenu(t,"link",n)})).on("mouseenter",(function(t,n){var i=t.currentTarget;e.config.enableLinkSelection!==l.LINK_SELECTION_HANDLES&&e.config.enableLinkSelection!==l.LINK_SELECTION_DETACHABLE||e.raiseLinkToTop(i),e.setLinkLineStyles(i,n,"hover"),e.canOpenTip(l.TIP_TYPE_LINK)&&!e.draggingLinkData&&e.canvasController.openTip({id:e.getId("link_tip",n.id),type:l.TIP_TYPE_LINK,targetObj:i,mousePos:{x:t.clientX,y:t.clientY},pipelineId:e.activePipeline.id,link:n})})).on("mouseleave",(function(t,n){var i=t.currentTarget;i.getAttribute("data-selected")||e.lowerLinkToBottom(i),e.setLinkLineStyles(i,n,"default"),e.canvasController.closeTip()}))}},{key:"createNewHandles",value:function(t){var e=this,n=t.append(this.canvasLayout.linkStartHandleObject).attr("class",(function(t){return"d3-link-handle-start"})).on("mousedown",(function(t,n){e.logger.log("Link start handle - mouse down"),e.config.enableDragWithoutSelect||e.selectObjectD3Event(t,n),e.logger.log("Link end handle - finished mouse down")}));this.config.enableEditingActions&&n.call(this.dragSelectionHandle);var i=t.append(this.canvasLayout.linkEndHandleObject).attr("class",(function(t){return"d3-link-handle-end"})).on("mousedown",(function(t,n){e.logger.log("Link end handle - mouse down"),e.config.enableDragWithoutSelect||e.selectObjectD3Event(t,n),e.logger.log("Link end handle - finished mouse down")}));this.config.enableEditingActions&&i.call(this.dragSelectionHandle)}},{key:"updateHandles",value:function(t,e){var n=this;t.selectAll(".d3-link-handle-start").datum((function(t){return n.getLink(t.id)})).each((function(t,e,i){var o=qa.select(i[e]);"image"===n.canvasLayout.linkStartHandleObject?o.attr("xlink:href",n.canvasLayout.linkStartHandleImage).attr("x",(function(t){return t.x1-n.canvasLayout.linkStartHandleWidth/2})).attr("y",(function(t){return t.y1-n.canvasLayout.linkStartHandleHeight/2})).attr("width",n.canvasLayout.linkStartHandleWidth).attr("height",n.canvasLayout.linkStartHandleHeight):"circle"===n.canvasLayout.linkStartHandleObject&&o.attr("r",n.canvasLayout.linkStartHandleRadius).attr("cx",(function(t){return t.x1})).attr("cy",(function(t){return t.y1}))})),t.selectAll(".d3-link-handle-end").datum((function(t){return n.getLink(t.id)})).each((function(t,e,i){var o=qa.select(i[e]);"image"===n.canvasLayout.linkEndHandleObject?o.attr("xlink:href",n.canvasLayout.linkEndHandleImage).attr("x",(function(t){return t.x2-n.canvasLayout.linkEndHandleWidth/2})).attr("y",(function(t){return t.y2-n.canvasLayout.linkEndHandleHeight/2})).attr("width",n.canvasLayout.linkEndHandleWidth).attr("height",n.canvasLayout.linkEndHandleHeight).attr("transform",(function(t){return n.getLinkImageTransform(t)})):"circle"===n.canvasLayout.linkEndHandleObject&&o.attr("r",n.canvasLayout.linkEndHandleRadius).attr("cx",(function(t){return t.x2})).attr("cy",(function(t){return t.y2}))}))}},{key:"setLinkLineStyles",value:function(t,e,n){var i=p.CanvasUtils.getObjectStyle(e,"line",n),o=qa.select(t);o.select(".d3-link-line").attr("style",i),o.select(".d3-link-line-arrow-head").attr("style",i)}},{key:"getLinkSelectionAreaClass",value:function(t){return"d3-link-selection-area "+(t.type===l.ASSOCIATION_LINK?"d3-association-link-selection-area":t.type===l.COMMENT_LINK?"d3-comment-link-selection-area":"d3-data-link-selection-area")}},{key:"getLinkGroupClass",value:function(t){return"d3-link-group "+this.getLinkTypeClass(t)+" "+this.getLinkCustomClass(t)}},{key:"getLinkCustomClass",value:function(t){return t.class_name&&"canvas-data-link"!==t.class_name&&"canvas-object-link"!==t.class_name&&"canvas-comment-link"!==t.class_name&&"d3-data-link"!==t.class_name&&"d3-association-link"!==t.class_name&&"d3-object-link"!==t.class_name&&"d3-comment-link"!==t.class_name?t.class_name:""}},{key:"getLinkTypeClass",value:function(t){return t.type===l.ASSOCIATION_LINK?this.config.enableAssocLinkType===l.ASSOC_RIGHT_SIDE_CURVE?"d3-association-link":"d3-object-link":t.type===l.COMMENT_LINK?"d3-comment-link":"d3-data-link"}},{key:"getCommentGroupClass",value:function(t){var e="";return t.class_name&&"canvas-comment"!==t.class_name&&"d3-comment-rect"!==t.class_name&&(e=" "+t.class_name),"d3-comment-group"+(this.config.enableEditingActions?" d3-draggable":" d3-non-draggable")+e}},{key:"getNodeGroupClass",value:function(t){var e="";return t.class_name&&"canvas-node"!==t.class_name&&"d3-node-body"!==t.class_name&&"d3-node-body-outline"!==t.class_name&&(e=" "+t.class_name),"d3-node-group"+(this.nodeUtils.isSupernode(t)&&this.nodeUtils.isExpanded(t)?" d3-node-supernode-expanded":"")+(this.config.enableEditingActions?" d3-draggable":" d3-non-draggable")+e}},{key:"setDisplayOrder",value:function(t){var e=this;t.filter((function(t){return e.hasOneDecorationOrMore(t)})).lower(),t.filter((function(t){return!e.hasOneDecorationOrMore(t)})).lower(),this.config.enableLinkSelection!==l.LINK_SELECTION_HANDLES&&this.config.enableLinkSelection!==l.LINK_SELECTION_DETACHABLE||this.raiseSelectedLinksToTop()}},{key:"raiseNodeToTop",value:function(t){null!==this.drawingNewLinkData||this.dragging||0!==this.getSelectedLinks().length||t.raise()}},{key:"raiseSelectedLinksToTop",value:function(){this.nodesLinksGrp.selectAll(".d3-link-group[data-selected]").raise()}},{key:"raiseLinkToTop",value:function(t){qa.select(t).raise()}},{key:"lowerLinkToBottom",value:function(t){qa.select(t).lower()}},{key:"hasOneDecorationOrMore",value:function(t){return t.decorations&&t.decorations.length>0}},{key:"isLinkBeingDragged",value:function(t){return this.draggingLinkData&&this.draggingLinkData.link.id===t.id}},{key:"buildLinksArray",value:function(){var t=this,e=[];return this.activePipeline.links.forEach((function(n){var i=null;(i=!(t.config.enableLinkSelection===l.LINK_SELECTION_HANDLES&&t.isLinkBeingDragged(n)||t.config.enableLinkSelection===l.LINK_SELECTION_DETACHABLE)||n.srcObj&&n.trgNode?t.getAttachedLineObj(n):t.getDetachedLineObj(n))&&e.push(i)})),this.canvasLayout.linkType===l.LINK_TYPE_ELBOW&&(e=this.addMinInitialLineForElbow(e)),e=this.linkUtils.addConnectionPaths(e)}},{key:"getAttachedLineObj",value:function(t){var e=t.srcObj,n=t.trgNode;if(e||this.logger.error("Common Canvas error trying to draw a link. A link was specified for source ID '"+t.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 '"+t.trgNodeId+"' in the Canvas data that does not have a valid target node."),e&&n&&this.shouldDisplayLink(e,n,t.type)){var i=this.getSourcePortId(t,e),o=this.getTargetPortId(t,n),a=t.type===l.ASSOCIATION_LINK&&this.config.enableAssocLinkType===l.ASSOC_RIGHT_SIDE_CURVE?this.getAssocLinkVariation(e,n):null,r=this.linkUtils.getLinkCoords(t.type,e,i,n,o,a);return t.assocLinkVariation=a,t.srcPortId=i,t.trgPortId=o,t.x1=r.x1,t.y1=r.y1,t.x2=r.x2,t.y2=r.y2,t}return null}},{key:"getDetachedLineObj",value:function(t){var e=t.srcObj,n=t.trgNode,i=null,o=null,a={};if(e)if(this.canvasLayout.linkType===l.LINK_TYPE_STRAIGHT){var r={x:t.trgPos.x_pos,y:t.trgPos.y_pos},s=this.linkUtils.getNewStraightNodeLinkStartPos(e,r);a.x1=s.x,a.y1=s.y}else{i=this.getSourcePortId(t,e);var c=this.getOutputPort(e,i);c&&(a.x1=e.x_pos+c.cx,a.y1=e.y_pos+c.cy)}else a.x1=t.srcPos.x_pos,a.y1=t.srcPos.y_pos;if(n)if(this.canvasLayout.linkType===l.LINK_TYPE_STRAIGHT){var u={x:t.srcPos.x_pos,y:t.srcPos.y_pos},d=this.linkUtils.getNewStraightNodeLinkStartPos(n,u);a.x2=d.x,a.y2=d.y}else{o=this.getTargetPortId(t,n);var h=this.getInputPort(n,o);h&&(a.x2=n.x_pos+h.cx,a.y2=n.y_pos+h.cy)}else a.x2=t.trgPos.x_pos,a.y2=t.trgPos.y_pos;return t.srcPortId=i,t.trgPortId=o,t.x1=a.x1,t.y1=a.y1,t.x2=a.x2,t.y2=a.y2,t}},{key:"getOutputPort",value:function(t,e){return t&&t.outputs?t.outputs.find((function(t){return t.id===e})):null}},{key:"getInputPort",value:function(t,e){return t&&t.inputs?t.inputs.find((function(t){return t.id===e})):null}},{key:"getSourcePortId",value:function(t,e){return t.srcNodePortId?t.srcNodePortId:e.outputs&&e.outputs.length>0?e.outputs[0].id:null}},{key:"getTargetPortId",value:function(t,e){return t.trgNodePortId?t.trgNodePortId:e.inputs&&e.inputs.length>0?e.inputs[0].id:null}},{key:"shouldDisplayLink",value:function(t,e,n){return!1!==this.canvasLayout.displayLinkOnOverlap||!this.areLinkedObjectsOverlapping(t,e,n)}},{key:"areLinkedObjectsOverlapping",value:function(t,e,n){var i=n===l.COMMENT_LINK?this.canvasLayout.commentHighlightGap:t.layout.nodeHighlightGap,o=e.layout.nodeHighlightGap,a=t.x_pos-i,r=t.x_pos+t.width+i,s=e.x_pos-o,c=e.x_pos+e.width+o,u=t.y_pos-i,d=t.y_pos+t.height+i,h=e.y_pos-o,p=e.y_pos+e.height+o;return r>=s&&c>=a&&d>=h&&p>=u}},{key:"addMinInitialLineForElbow",value:function(t){var e=this;return this.activePipeline.nodes.forEach((function(n){if(n.outputs&&n.outputs.length>1){var i=e.getNodeOutputLinks(n,t),o=e.sortNodeOutputLinks(i);e.applyMinInitialLine(n,o)}})),t}},{key:"getNodeOutputLinks",value:function(t,e){var n=[];return e.forEach((function(e){e.srcObj&&e.srcObj.id===t.id&&n.push(e)})),n}},{key:"sortNodeOutputLinks",value:function(t){var e=this;return t.sort((function(t,n){var i,o;return e.canvasLayout.linkDirection===l.LINK_DIR_LEFT_RIGHT?(i=Math.abs(t.y1-t.y2),o=Math.abs(n.y1-n.y2)):(i=Math.abs(t.x1-t.x2),o=Math.abs(n.x1-n.x2)),i===o?e.canvasLayout.linkDirection===l.LINK_DIR_LEFT_RIGHT?t.y1<t.y2?1:-1:t.x1<t.x2?1:-1:i<o?1:-1}))}},{key:"applyMinInitialLine",value:function(t,e){var n=t.layout.minInitialLine;e.forEach((function(t){t.minInitialLineForElbow=n,n+=t.srcObj.layout.minInitialLineIncrement}))}},{key:"getNewLinkAssocVariation",value:function(t,e,n){return"input"===n&&t>e?l.ASSOC_VAR_CURVE_LEFT:"output"===n&&t<e?l.ASSOC_VAR_CURVE_RIGHT:l.ASSOC_VAR_DOUBLE_BACK_RIGHT}},{key:"getAssocLinkVariation",value:function(t,e){var n=t.layout.minInitialLine;return e.x_pos>=t.x_pos+t.width+n?l.ASSOC_VAR_CURVE_RIGHT:t.x_pos>=e.x_pos+e.width+n?l.ASSOC_VAR_CURVE_LEFT:l.ASSOC_VAR_DOUBLE_BACK_RIGHT}},{key:"getPortArrowPath",value:function(t){return"M -2 3 L 2 0 -2 -3"}},{key:"getPortArrowPathTransform",value:function(t){var e=this.getAngleBasedOnLinkDirection();return"translate(".concat(t.cx,", ").concat(t.cy,") rotate(").concat(e,")")}},{key:"getArrowHead",value:function(t){return t.type===l.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(t){var e=this.canvasLayout.linkType===l.LINK_TYPE_ELBOW?this.getAngleBasedOnLinkDirection():Math.atan2(t.y2-t.y1,t.x2-t.x1)*(180/Math.PI);return"translate(".concat(t.x2,", ").concat(t.y2,") rotate(").concat(e,")")}},{key:"getAngleBasedOnLinkDirection",value:function(){return this.canvasLayout.linkDirection===l.LINK_DIR_TOP_BOTTOM?90:this.canvasLayout.linkDirection===l.LINK_DIR_BOTTOM_TOP?-90:0}},{key:"getSelectedNodesAndComments",value:function(){var t=this,e=[];return this.activePipeline.nodes.forEach((function(n){t.objectModel.getSelectedObjectIds().includes(n.id)&&e.push(n)})),this.activePipeline.comments.forEach((function(n){t.objectModel.getSelectedObjectIds().includes(n.id)&&e.push(n)})),e}},{key:"getSelectedLinks",value:function(){var t=this,e=[];return this.activePipeline.links.forEach((function(n){t.objectModel.getSelectedObjectIds().includes(n.id)&&e.push(n)})),e}},{key:"canOpenTip",value:function(t){return this.canvasController.isTipEnabled(t)&&!this.selecting&&!this.regionSelect&&!this.dragging&&!this.commentSizing&&!this.nodeSizing&&!this.drawingNewLinkData}},{key:"getSvgViewportOffset",value:function(){var t=this.canvasLayout.addCommentOffset,e=this.canvasLayout.addCommentOffset;return this.zoomTransform&&(t=this.zoomTransform.x/this.zoomTransform.k,e=this.zoomTransform.y/this.zoomTransform.k,t=-t+this.canvasLayout.addCommentOffset,e=-e+this.canvasLayout.addCommentOffset),{x_pos:t,y_pos:e}}},{key:"getFlags",value:function(){var t="Flags:";return this.dragging&&(t+=" dragging = true"),this.nodeSizing&&(t+=" nodeSizing = true"),this.commentSizing&&(t+=" commentSizing = true"),this.movingBindingNodes&&(t+=" movingBindingNodes = true"),this.selecting&&(t+=" selecting = true"),this.regionSelect&&(t+=" regionSelect = true"),"Flags:"===t&&(t+=" None set to true"),t}}]),e}(),Qa=function(){function e(n,i,o,a){t._classCallCheck(this,e),this.logger=new p.Logger(["SVGCanvasD3","FlowId",n.id]),this.logger.logStartTimer("constructor"),this.mousePos={x:0,y:0},this.canvasController=a,this.canvasDiv=this.initializeCanvasDiv(i),this.logger.logEndTimer("constructor",!0),document.addEventListener("mousemove",this.onMouseUpdate.bind(this),!0)}return t._createClass(e,[{key:"close",value:function(){document.removeEventListener("mousemove",this.onMouseUpdate,!0)}},{key:"setCanvasInfo",value:function(t,e){if(this.logger=new p.Logger(["SVGCanvasD3","FlowId",t.id]),this.config&&this.renderer&&this.canvasInfo&&t.id===this.canvasInfo.id&&(!this.renderer||this.renderer.pipelineId===this.canvasController.getCurrentBreadcrumb().pipelineId)&&p.CanvasUtils$1.compareCanvasConfigs(this.config,e))this.logger.logStartTimer("set canvas info"),this.canvasInfo=this.cloneCanvasInfo(t),this.renderer.setCanvasInfoRenderer(this.canvasInfo),this.logger.logEndTimer("set canvas info",!0);else{this.logger.logStartTimer("initializing"),this.canvasInfo=this.cloneCanvasInfo(t),this.config=this.cloneConfig(e),this.renderer&&(this.renderer.clearCanvas(),this.renderer=null);var n=this.canvasController.getCurrentBreadcrumb();this.renderer=new Ja(n.pipelineId,this.canvasDiv,this.canvasController,this.canvasInfo,e,{id:n.supernodeId,pipelineId:n.supernodeParentPipelineId}),this.logger.logEndTimer("initializing",!0)}}},{key:"cloneConfig",value:function(t){return Object.assign({},t)}},{key:"cloneCanvasInfo",value:function(t){return d.cloneDeep_1(t)}},{key:"onMouseUpdate",value:function(t){"svg-area"===t.target.className.baseVal||"d3-svg-background"===t.target.className.baseVal?this.mousePos={x:t.clientX,y:t.clientY}:this.mousePos=null}},{key:"initializeCanvasDiv",value:function(t){var e=this;return nn(t).on("keydown",(function(t){e.canvasController.closeTip();var n=e.canvasController.getKeyboardConfig().actions;e.renderer.isEditingText()||e.renderer.isDragging()||(e.config.enableEditingActions&&(8!==t.keyCode&&46!==t.keyCode||!n.delete?p.CanvasUtils.isCmndCtrlPressed(t)&&!t.shiftKey&&90===t.keyCode&&n.undo?(p.CanvasUtils.stopPropagationAndPreventDefault(t),e.canvasController.keyboardActionHandler("undo")):p.CanvasUtils.isCmndCtrlPressed(t)&&(t.shiftKey&&90===t.keyCode||89===t.keyCode&&n.redo)?(p.CanvasUtils.stopPropagationAndPreventDefault(t),e.canvasController.keyboardActionHandler("redo")):p.CanvasUtils.isCmndCtrlPressed(t)&&67===t.keyCode&&n.copyToClipboard?(p.CanvasUtils.stopPropagationAndPreventDefault(t),e.canvasController.keyboardActionHandler("copy")):p.CanvasUtils.isCmndCtrlPressed(t)&&88===t.keyCode&&n.cutToClipboard?(p.CanvasUtils.stopPropagationAndPreventDefault(t),e.canvasController.keyboardActionHandler("cut")):p.CanvasUtils.isCmndCtrlPressed(t)&&86===t.keyCode&&n.pasteFromClipboard&&(p.CanvasUtils.stopPropagationAndPreventDefault(t),e.mousePos?(e.mousePos=e.renderer.convertPageCoordsToCanvasCoords(e.mousePos.x,e.mousePos.y),e.mousePos=e.renderer.getMousePosSnapToGrid(e.mousePos),e.canvasController.keyboardActionHandler("paste",e.mousePos)):e.canvasController.keyboardActionHandler("paste")):(p.CanvasUtils.stopPropagationAndPreventDefault(t),e.canvasController.keyboardActionHandler("deleteSelectedObjects"))),p.CanvasUtils.isCmndCtrlPressed(t)&&65===t.keyCode&&n.selectAll?(p.CanvasUtils.stopPropagationAndPreventDefault(t),e.canvasController.keyboardActionHandler("selectAll")):p.CanvasUtils.isCmndCtrlPressed(t)&&t.shiftKey&&t.altKey&&80===t.keyCode&&(p.CanvasUtils.stopPropagationAndPreventDefault(t),p.Logger.switchLoggingState()))}))}},{key:"nodeTemplateDraggedOver",value:function(t,e,n){this.renderer.nodeTemplateDraggedOver(t,e,n)}},{key:"nodeTemplateDropped",value:function(t,e,n){this.renderer.nodeTemplateDropped(t,e,n)}},{key:"externalObjectDropped",value:function(t,e,n){this.renderer.externalObjectDropped(t,e,n)}},{key:"zoomTo",value:function(t){this.renderer.zoomTo(t)}},{key:"translateBy",value:function(t,e,n){this.renderer.translateBy(t,e,n)}},{key:"zoomIn",value:function(){this.renderer.zoomIn()}},{key:"zoomOut",value:function(){this.renderer.zoomOut()}},{key:"zoomToFit",value:function(){this.renderer.zoomToFit()}},{key:"getZoomToReveal",value:function(t,e,n){return this.renderer?this.renderer.getZoomToReveal(t,e,n):null}},{key:"getZoom",value:function(){return this.renderer?this.renderer.getZoom():null}},{key:"refreshOnSizeChange",value:function(){this.renderer&&this.renderer.refreshOnSizeChange()}},{key:"getSvgViewportOffset",value:function(){return this.renderer.getSvgViewportOffset()}},{key:"getTransformedViewportDimensions",value:function(){return this.renderer.getTransformedViewportDimensions()}},{key:"getGhostNode",value:function(t){return this.renderer.getGhostNode(t)}}]),e}();function $a(t){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=e._getPrototypeOf(t);if(n){var a=e._getPrototypeOf(this).constructor;i=Reflect.construct(o,arguments,a)}else i=o.apply(this,arguments);return e._possibleConstructorReturn(this,i)}}var tr=function(n){e._inherits(o,n);var i=$a(o);function o(n){var a;return t._classCallCheck(this,o),(a=i.call(this,n)).state={isDropZoneDisplayed:!1},a.logger=new p.Logger("CC-Contents"),a.mainCanvasDivId="canvas-div-"+a.props.canvasController.getInstanceId(),a.svgCanvasDivId="d3-svg-canvas-div-"+a.props.canvasController.getInstanceId(),a.svgCanvasDivSelector="#"+a.svgCanvasDivId,a.dragX=null,a.dragY=null,a.eventListenersAdded=!1,a.drop=a.drop.bind(e._assertThisInitialized(a)),a.focusOnCanvas=a.focusOnCanvas.bind(e._assertThisInitialized(a)),a.setIsDropZoneDisplayed=a.setIsDropZoneDisplayed.bind(e._assertThisInitialized(a)),a.dragOver=a.dragOver.bind(e._assertThisInitialized(a)),a.dragEnter=a.dragEnter.bind(e._assertThisInitialized(a)),a.dragLeave=a.dragLeave.bind(e._assertThisInitialized(a)),a.refreshOnSizeChange=a.refreshOnSizeChange.bind(e._assertThisInitialized(a)),a.getLabel=a.getLabel.bind(e._assertThisInitialized(a)),a.onCut=a.onCut.bind(e._assertThisInitialized(a)),a.onCopy=a.onCopy.bind(e._assertThisInitialized(a)),a.onPaste=a.onPaste.bind(e._assertThisInitialized(a)),a.first=!1,a.second=!1,a.afterUpdateCallbacks=[],n.canvasController.setCanvasContents(e._assertThisInitialized(a)),a}return t._createClass(o,[{key:"componentDidMount",value:function(){this.logger.log("componentDidMount"),this.svgCanvasD3=new Qa(this.props.canvasInfo,this.svgCanvasDivSelector,this.props.canvasConfig,this.props.canvasController),this.svgCanvasD3.setCanvasInfo(this.props.canvasInfo,this.props.canvasConfig),this.props.canvasConfig.enableBrowserEditMenu&&this.addEventListeners(),this.focusOnCanvas()}},{key:"componentDidUpdate",value:function(){this.logger.log("componentDidUpdate"),this.svgCanvasD3&&!this.isDropZoneDisplayed()&&(this.svgCanvasD3.setCanvasInfo(this.props.canvasInfo,this.props.canvasConfig),this.afterUpdate()),this.props.canvasConfig.enableBrowserEditMenu?this.addEventListeners():this.removeEventListeners()}},{key:"componentWillUnmount",value:function(){this.removeEventListeners(),this.svgCanvasD3.close()}},{key:"onCut",value:function(t){t.currentTarget.activeElement.id===this.svgCanvasDivId&&this.props.canvasConfig.enableEditingActions&&(t.preventDefault(),this.props.canvasController.cutToClipboard())}},{key:"onCopy",value:function(t){t.currentTarget.activeElement.id===this.svgCanvasDivId&&this.props.canvasConfig.enableEditingActions&&(t.preventDefault(),this.props.canvasController.copyToClipboard())}},{key:"onPaste",value:function(t){t.currentTarget.activeElement.id===this.svgCanvasDivId&&this.props.canvasConfig.enableEditingActions&&(t.preventDefault(),this.props.canvasController.pasteFromClipboard())}},{key:"getLabel",value:function(t){return this.props.intl.formatMessage({id:t,defaultMessage:p.defaultMessages1[t]})}},{key:"getDNDJson",value:function(t){try{return JSON.parse(t.dataTransfer.getData(l.DND_DATA_TEXT))}catch(t){return this.logger.warn("The dragged object's data does not conform to the expected internal format: "+t),null}}},{key:"getSVGCanvasD3",value:function(){return this.svgCanvasD3}},{key:"getStateTag",value:function(){var t=null;return this.props.canvasConfig.enableStateTag!==l.STATE_TAG_READ_ONLY&&this.props.canvasConfig.enableStateTag!==l.STATE_TAG_LOCKED||(t=C.default.createElement(Bt,{stateTagType:this.props.canvasConfig.enableStateTag,canvasController:this.props.canvasController})),t}},{key:"getEmptyCanvas",value:function(){var t=null;return this.props.canvasController.isPrimaryPipelineEmpty()&&(t=this.props.canvasConfig.emptyCanvasContent?C.default.createElement("div",{className:"empty-canvas"},this.props.canvasConfig.emptyCanvasContent):C.default.createElement("div",{className:"empty-canvas"},C.default.createElement("div",{className:"empty-canvas-image"},C.default.createElement(y.FlowData16,null)),C.default.createElement("span",{className:"empty-canvas-text1"},this.getLabel("canvas.flowIsEmpty")),C.default.createElement("span",{className:"empty-canvas-text2"},this.getLabel("canvas.addNodeToStart")))),t}},{key:"getContextMenu",value:function(){return C.default.createElement(Ht,{canvasController:this.props.canvasController,containingDivId:this.mainCanvasDivId})}},{key:"getDropZone",value:function(){var t=null;return this.isDropZoneDisplayed()&&(t=this.props.canvasConfig.dropZoneCanvasContent?this.props.canvasConfig.dropZoneCanvasContent:C.default.createElement("div",null,C.default.createElement("div",{className:"dropzone-canvas"}),C.default.createElement("div",{className:"dropzone-canvas-rect"}))),t}},{key:"getSVGCanvasDiv",value:function(){return C.default.createElement("div",{tabIndex:"-1",className:"d3-svg-canvas-div",id:this.svgCanvasDivId})}},{key:"setIsDropZoneDisplayed",value:function(t){t!==this.state.isDropZoneDisplayed&&this.setState({isDropZoneDisplayed:t})}},{key:"isDropZoneDisplayed",value:function(){return this.props.canvasConfig.enableDropZoneOnExternalDrag&&this.state.isDropZoneDisplayed}},{key:"isDataTypeBeingDraggedFile",value:function(t){return!(!t.dataTransfer||!Array.isArray(t.dataTransfer.types))&&t.dataTransfer.types.includes("Files")}},{key:"afterUpdate",value:function(){this.afterUpdateCallbacks.forEach((function(t){return t()}))}},{key:"addAfterUpdateCallback",value:function(t){-1===this.afterUpdateCallbacks.findIndex((function(e){return e===t}))&&this.afterUpdateCallbacks.push(t)}},{key:"removeAfterUpdateCallback",value:function(t){var e=this.afterUpdateCallbacks.findIndex((function(e){return e===t}));e>-1&&this.afterUpdateCallbacks.splice(e,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),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),this.eventListenersAdded=!1)}},{key:"drop",value:function(t){if(t.preventDefault(),this.setIsDropZoneDisplayed(!1),this.first=!1,this.second=!1,this.props.canvasConfig.enableEditingActions){var e=this.props.canvasController.getDragNodeTemplate();if(e)this.svgCanvasD3.nodeTemplateDropped(e,t.clientX,t.clientY);else{var n=this.getDNDJson(t);n||(n={operation:"addToCanvas",data:{dataTransfer:t.dataTransfer,editType:"createFromExternalObject"}}),this.svgCanvasD3.externalObjectDropped(n,t.clientX,t.clientY)}this.props.canvasController.setDragNodeTemplate(null),t.dataTransfer.clearData()}}},{key:"dragOver",value:function(t){var e=this.props.canvasController.getDragNodeTemplate();!e||this.dragX===t.clientX&&this.dragY===t.clientY||(this.dragX=t.clientX,this.dragY=t.clientY,this.svgCanvasD3.nodeTemplateDraggedOver(e,t.clientX,t.clientY))}},{key:"dragEnter",value:function(t){this.dragX=null,this.dragY=null,this.isDataTypeBeingDraggedFile(t)&&(this.first?this.second=!0:(this.first=!0,this.setIsDropZoneDisplayed(!0))),t.preventDefault()}},{key:"dragLeave",value:function(t){this.isDataTypeBeingDraggedFile(t)&&(this.second?this.second=!1:this.first&&(this.first=!1),this.first||this.second||this.setIsDropZoneDisplayed(!1)),t.preventDefault()}},{key:"focusOnCanvas",value:function(){document.getElementById(this.svgCanvasDivId)&&document.getElementById(this.svgCanvasDivId).focus()}},{key:"refreshOnSizeChange",value:function(){this.svgCanvasD3&&this.svgCanvasD3.refreshOnSizeChange()}},{key:"render",value:function(){this.logger.log("render");var t=this.getStateTag(),e=this.getEmptyCanvas(),n=this.getContextMenu(),i=this.getDropZone(),o=this.getSVGCanvasDiv(),a=this.props.canvasConfig.enableRightFlyoutUnderToolbar?"common-canvas-main":null,r=this.props.canvasConfig.enableRightFlyoutUnderToolbar?"common-canvas-drop-div-under-toolbar":"common-canvas-drop-div";return r="None"===this.props.canvasConfig.enableToolbarLayout?r+" common-canvas-toolbar-none":r,r=this.props.bottomPanelIsOpen?r+" common-canvas-bottom-panel-is-open":r,C.default.createElement("main",{"aria-label":this.getLabel("canvas.label"),role:"main",className:a},C.default.createElement(b.default,{handleWidth:!0,handleHeight:!0,onResize:this.refreshOnSizeChange},C.default.createElement("div",{id:this.mainCanvasDivId,className:r,onDrop:this.drop,onDragOver:this.dragOver,onDragEnter:this.dragEnter,onDragLeave:this.dragLeave},e,o,n,i,t)))}}]),o}(C.default.Component),er=i.connect((function(t,e){return{canvasInfo:t.canvasinfo,canvasConfig:t.canvasconfig,bottomPanelIsOpen:t.bottompanel.isOpen,selectionInfo:t.selectioninfo,breadcrumbs:t.breadcrumbs}}))(o.injectIntl(tr));function nr(t){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=e._getPrototypeOf(t);if(n){var a=e._getPrototypeOf(this).constructor;i=Reflect.construct(o,arguments,a)}else i=o.apply(this,arguments);return e._possibleConstructorReturn(this,i)}}var ir=function(n){e._inherits(o,n);var i=nr(o);function o(n){var a;return t._classCallCheck(this,o),(a=i.call(this,n)).getLabel=a.getLabel.bind(e._assertThisInitialized(a)),a.toolbarActionHandler=a.toolbarActionHandler.bind(e._assertThisInitialized(a)),a.logger=new p.Logger("CC-Toolbar"),a}return t._createClass(o,[{key:"getLabel",value:function(t){var e=p.defaultMessages1[t]?p.defaultMessages1[t]:c.defaultToolbarMessages[t];return this.props.intl.formatMessage({id:t,defaultMessage:e})}},{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(t){return{leftBar:t,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 t=this.props.canvasController.getNotificationMessagesMaxType(),e=l.NOTIFICATION_ICON_CLASS;return t===l.ERROR?e+=" error":t===l.WARNING?e+=" warning":t===l.SUCCESS?e+=" success":t===l.INFO&&(e+=" info"),e}},{key:"generateToolbarConfig",value:function(){var t=this.copyConfig();return t?Array.isArray(t)?t=this.getConvertedLegacyToolbar(t):void 0===t.rightBar&&(t.rightBar=this.getDefaultRightBar()):t=this.getDefaultToolbar(),t=Object.assign({},t,{leftBar:this.optionallyAddPaletteTool(t.leftBar||[])},{rightBar:this.optionallyAddNotificationTool(t.rightBar||[])})}},{key:"copyConfig",value:function(){if(!this.props.config)return null;if(Array.isArray(this.props.config))return u._toConsumableArray(this.props.config);var t={};return this.props.config.overrideAutoEnableDisable&&(t.overrideAutoEnableDisable=!0),this.props.config&&this.props.config.leftBar&&(t.leftBar=u._toConsumableArray(this.props.config.leftBar)),this.props.config&&this.props.config.rightBar&&(t.rightBar=u._toConsumableArray(this.props.config.rightBar)),t}},{key:"toolbarActionHandler",value:function(t){this.props.canvasController.toolbarActionHandler(t)}},{key:"optionallyAddPaletteTool",value:function(t){var e=this.getLabel("toolbar.palette"),n=t;return t&&t.length>0&&"palette"===t[0].action&&(e=t[0].label?t[0].label:e,n=t.slice(1),t.length>1&&t[1].divider&&(n=t.slice(2))),this.props.isPaletteEnabled?[{action:"togglePalette",label:e,enable:!0,iconTypeOverride:this.props.isPaletteOpen?"paletteClose":"paletteOpen"},{divider:!0}].concat(n):n}},{key:"optionallyAddNotificationTool",value:function(t){if(this.props.notificationConfig&&void 0!==this.props.notificationConfig.action&&void 0!==this.props.notificationConfig.enable){var e=this.props.notificationMessages.length,n=[{divider:!0},{action:l.TOOLBAR_ACTIONS.TOOLBAR_TOGGLE_NOTIFICATION_PANEL,label:this.props.notificationConfig.label,enable:!0,isSelected:this.props.isNotificationOpen,className:this.getNotificationClassName(),textContent:e>9?"9+":e.toString()}];return t.concat(n)}return t}},{key:"configureToolbarButtonsState",value:function(t){if(!this.props.enableInternalObjectModel||t.overrideAutoEnableDisable)return t;if(void 0!==t){var e=this.props.enableEditingActions;this.applyToolState("undo",t,e&&this.props.canUndo),this.applyToolState("redo",t,e&&this.props.canRedo),this.applyToolState("cut",t,e&&this.props.canCutCopy),this.applyToolState("copy",t,e&&this.props.canCutCopy),this.applyToolState("paste",t,e&&this.props.canPaste),this.applyToolState("deleteSelectedObjects",t,e&&this.props.canDelete),this.applyToolState("createAutoComment",t,e),this.applyToolState("arrangeHorizontally",t,e),this.applyToolState("arrangeVertically",t,e)}return t}},{key:"addUndoRedoCommandLabels",value:function(t){var e=this.props.undoLabel,n=this.props.redoLabel;if(e){var i=this.findTool("undo",t);i&&(i.label+=": "+e)}if(n){var o=this.findTool("redo",t);o&&(o.label+=": "+n)}return t}},{key:"applyToolState",value:function(t,e,n){var i=this.findTool(t,e);i?i.enable=n:this.logger.log("Toolbar tool "+t+" could not be found to set state to "+n)}},{key:"findTool",value:function(t,e){var n={};return e.leftBar&&(n=e.leftBar.find((function(e){return e.action===t}))),!n&&e.rightBar&&(n=e.rightBar.find((function(e){return e.action===t}))),n}},{key:"render",value:function(){this.logger.log("render");var t=this.generateToolbarConfig();t=this.configureToolbarButtonsState(t),t=this.addUndoRedoCommandLabels(t);var e=null;return this.props.enableToolbarLayout===l.TOOLBAR_LAYOUT_TOP&&(e=C.default.createElement(c.Toolbar,{config:t,instanceId:this.props.canvasController.getInstanceId(),toolbarActionHandler:this.toolbarActionHandler,additionalText:{overflowMenuLabel:this.getLabel("toolbar.overflowMenu")}})),e}}]),o}(C.default.Component),or=i.connect((function(t,e){return{enableToolbarLayout:t.canvasconfig.enableToolbarLayout,config:t.canvastoolbar.config,isPaletteEnabled:t.canvasconfig.enablePaletteLayout!==l.PALETTE_LAYOUT_NONE,isPaletteOpen:t.palette.isOpen,isNotificationOpen:t.notificationpanel.isOpen,notificationConfig:t.notificationpanel.config,notificationMessages:t.notifications,enableInternalObjectModel:t.canvasconfig.enableInternalObjectModel,enableEditingActions:t.canvasconfig.enableEditingActions,canUndo:e.canvasController.canUndo(),canRedo:e.canvasController.canRedo(),canCutCopy:e.canvasController.canCutCopy(),canPaste:e.canvasController.canPaste(),canDelete:e.canvasController.canDelete(),undoLabel:e.canvasController.getUndoLabel(),redoLabel:e.canvasController.getRedoLabel()}}))(o.injectIntl(ir));function ar(t){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=e._getPrototypeOf(t);if(n){var a=e._getPrototypeOf(this).constructor;i=Reflect.construct(o,arguments,a)}else i=o.apply(this,arguments);return e._possibleConstructorReturn(this,i)}}var rr=function(n){e._inherits(o,n);var i=ar(o);function o(e){var n;return t._classCallCheck(this,o),(n=i.call(this,e)).logger=new p.Logger("CC-RightFlyout"),n}return t._createClass(o,[{key:"render",value:function(){this.logger.log("render");var t=C.default.createElement("div",{className:"right-flyout-panel"});if(this.props.content&&this.props.isOpen){var e=this.props.enableRightFlyoutUnderToolbar?"right-flyout-panel under-toolbar":"right-flyout-panel";t=C.default.createElement("div",{className:e},this.props.content)}return t}}]),o}(C.default.Component),sr=i.connect((function(t,e){return{isOpen:t.rightflyout.isOpen,content:t.rightflyout.content,enableRightFlyoutUnderToolbar:t.canvasconfig.enableRightFlyoutUnderToolbar}}))(rr);function lr(t){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=e._getPrototypeOf(t);if(n){var a=e._getPrototypeOf(this).constructor;i=Reflect.construct(o,arguments,a)}else i=o.apply(this,arguments);return e._possibleConstructorReturn(this,i)}}var cr=function(n){e._inherits(o,n);var i=lr(o);function o(n){var a;return t._classCallCheck(this,o),(a=i.call(this,n)).state={panelHeight:393},a.logger=new p.Logger("CC-Bottom-Panel"),a.onMouseUp=a.onMouseUp.bind(e._assertThisInitialized(a)),a.onMouseDown=a.onMouseDown.bind(e._assertThisInitialized(a)),a.onMouseMoveY=a.onMouseMoveY.bind(e._assertThisInitialized(a)),a}return t._createClass(o,[{key:"onMouseDown",value:function(t){0===t.button&&(document.addEventListener("mousemove",this.onMouseMoveY),this.poseY=t.clientY)}},{key:"onMouseUp",value:function(t){document.removeEventListener("mousemove",this.onMouseMoveY)}},{key:"onMouseMoveY",value:function(t){if(t.clientY){var e=t.clientY-this.poseY;this.setState({panelHeight:this.state.panelHeight-e}),this.poseY=t.clientY}}},{key:"render",value:function(){this.logger.log("render");var t=null;if(this.props.bottomPanelIsOpen){var e={height:this.state.panelHeight};t=C.default.createElement("div",{className:"bottom-panel",style:e},C.default.createElement("div",{className:"bottom-panel-drag",onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp}),C.default.createElement("div",{className:"bottom-panel-contents"},this.props.bottomPanelContent))}return t}}]),o}(C.default.Component),ur=i.connect((function(t,e){return{bottomPanelIsOpen:t.bottompanel.isOpen,bottomPanelContent:t.bottompanel.content}}))(cr);function dr(t){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=e._getPrototypeOf(t);if(n){var a=e._getPrototypeOf(this).constructor;i=Reflect.construct(o,arguments,a)}else i=o.apply(this,arguments);return e._possibleConstructorReturn(this,i)}}var hr=function(n){e._inherits(o,n);var i=dr(o);function o(n){var a;return t._classCallCheck(this,o),(a=i.call(this,n)).state={},a.logger=new p.Logger("NotificationPanel"),a.handleNotificationPanelClickOutside=a.handleNotificationPanelClickOutside.bind(e._assertThisInitialized(a)),a.closeNotificationPanel=a.closeNotificationPanel.bind(e._assertThisInitialized(a)),a}return t._createClass(o,[{key:"componentDidMount",value:function(){document.addEventListener("click",this.handleNotificationPanelClickOutside,!0)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("click",this.handleNotificationPanelClickOutside,!0)}},{key:"getNotifications",value:function(){var t=[];if(!this.props.messages)return t;for(var e=0;e<this.props.messages.length;e++){var n=this.props.messages[e],i=n.callback?" clickable ":"",o=n.type,a=C.default.createElement("div",{className:"notification-message-type"},C.default.createElement(r.Icon,{type:o,className:"notification-message-icon-".concat(o)})),s=n.title?C.default.createElement("div",{className:"notification-message-title"},n.title):null,l=n.subtitle?C.default.createElement("div",{className:"notification-message-subtitle"},n.subtitle,C.default.createElement("hr",null)):null,c=n.closeMessage?C.default.createElement("div",{className:"notification-message-close",onClick:this.deleteNotification.bind(this,n.id)},n.closeMessage):null,u=n.timestamp?C.default.createElement("div",{className:"notification-message-timestamp"},C.default.createElement("div",{className:"notification-message-timestamp-icon"},C.default.createElement(r.Icon,{type:"time"})),C.default.createElement("div",{className:"notification-message-string"},n.timestamp)):null;t.push(C.default.createElement("div",{className:"notifications-button-container",key:e+"-"+n.id},C.default.createElement("div",{className:"notifications "+i+n.type,onClick:this.notificationCallback.bind(this,n.id,n.callback)},a,C.default.createElement("div",{className:"notification-message-details"},s,l,C.default.createElement("div",{className:"notification-message-content"},n.content),u,c))))}return t}},{key:"handleNotificationPanelClickOutside",value:function(t){if(this.props.isNotificationOpen&&this.props.notificationConfig&&!this.props.notificationConfig.keepOpen){var e=document.getElementsByClassName(l.NOTIFICATION_ICON_CLASS)[0],n=document.getElementsByClassName("notification-panel-header")[0],i=document.getElementsByClassName("notification-panel-messages-container")[0];e&&!e.contains(t.target)&&n&&!n.contains(t.target)&&i&&!i.contains(t.target)&&(this.props.canvasController.toolbarActionHandler("closeNotificationPanel"),t.stopPropagation())}}},{key:"notificationCallback",value:function(t,e){e&&e(t)}},{key:"deleteNotification",value:function(t){this.props.canvasController.deleteNotificationMessages(t)}},{key:"clearNotificationMessages",value:function(){this.props.canvasController.clearNotificationMessages(),"function"==typeof this.props.notificationConfig.clearAllCallback&&this.props.notificationConfig.clearAllCallback()}},{key:"closeNotificationPanel",value:function(){this.props.canvasController.toolbarActionHandler("closeNotificationPanel")}},{key:"render",value:function(){if(this.logger.log("render"),!this.props.notificationConfig)return null;var t=this.props.isNotificationOpen?"":"panel-hidden",e=this.props.notificationConfig&&this.props.notificationConfig.notificationHeader?this.props.notificationConfig.notificationHeader:l.DEFAULT_NOTIFICATION_HEADER,n=this.props.notificationConfig&&this.props.notificationConfig.notificationSubtitle?C.default.createElement("div",{className:"notification-panel-subtitle"},this.props.notificationConfig.notificationSubtitle):null,i=this.props.messages.length>0?this.getNotifications():C.default.createElement("div",{className:"notification-panel-empty-message-container"},C.default.createElement("div",{className:"notification-panel-empty-message"},this.props.notificationConfig&&this.props.notificationConfig.emptyMessage?this.props.notificationConfig.emptyMessage:null)),o=this.props.notificationConfig&&this.props.notificationConfig.clearAllMessage?C.default.createElement("div",{className:"notification-panel-clear-all-container"},C.default.createElement(h.Button,{className:"notification-panel-clear-all",onClick:this.clearNotificationMessages.bind(this),kind:"ghost",size:"small",disabled:0===this.props.messages.length},this.props.notificationConfig.clearAllMessage)):null;return C.default.createElement("div",{className:"notification-panel-container "+t},C.default.createElement("div",{className:"notification-panel"},C.default.createElement("div",{className:"notification-panel-header-container"},C.default.createElement("div",{className:"notification-panel-header"},e,C.default.createElement(y.Close16,{className:"notification-panel-close-icon",onClick:this.closeNotificationPanel})),n),C.default.createElement("div",{className:"notification-panel-messages-container"},C.default.createElement("div",{className:"notification-panel-messages"},i),o)))}}],[{key:"getDerivedStateFromProps",value:function(t,e){return t.messages!==e.messages?{messages:t.messages}:{}}}]),o}(C.default.Component),pr=i.connect((function(t,e){return{notificationConfig:t.notificationpanel.config,isNotificationOpen:t.notificationpanel.isOpen,messages:t.notifications}}))(hr);function gr(t){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=e._getPrototypeOf(t);if(n){var a=e._getPrototypeOf(this).constructor;i=Reflect.construct(o,arguments,a)}else i=o.apply(this,arguments);return e._possibleConstructorReturn(this,i)}}var fr=function(n){e._inherits(o,n);var i=gr(o);function o(e){var n;return t._classCallCheck(this,o),(n=i.call(this,e)).logger=new p.Logger("CC-CentralItems"),n}return t._createClass(o,[{key:"render",value:function(){this.logger.log("render");var t=C.default.createElement(sr,null),e=C.default.createElement(or,{canvasController:this.props.canvasController}),n=C.default.createElement(pr,{canvasController:this.props.canvasController}),i=C.default.createElement(er,{canvasController:this.props.canvasController}),o=C.default.createElement(ur,{canvasController:this.props.canvasController});return this.props.enableRightFlyoutUnderToolbar?C.default.createElement("div",{className:"common-canvas-right-side-items-under-toolbar"},e,C.default.createElement("div",{id:this.props.containingDivId,className:"common-canvas-items-container-under-toolbar"},C.default.createElement("div",{className:"common-canvas-with-bottom-panel"},i,o),C.default.createElement("div",null,t),n)):C.default.createElement("div",{className:"common-canvas-right-side-items"},C.default.createElement("div",{id:this.props.containingDivId,className:"common-canvas-items-container"},e,i,o,n),t)}}]),o}(C.default.Component),vr=i.connect((function(t,e){return{enableRightFlyoutUnderToolbar:t.canvasconfig.enableRightFlyoutUnderToolbar}}))(fr);function yr(t){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=e._getPrototypeOf(t);if(n){var a=e._getPrototypeOf(this).constructor;i=Reflect.construct(o,arguments,a)}else i=o.apply(this,arguments);return e._possibleConstructorReturn(this,i)}}var mr=function(n){e._inherits(a,n);var o=yr(a);function a(n){var i;return t._classCallCheck(this,a),(i=o.call(this,n)).logger=new p.Logger(["CommonCanvas"]),i.logger.log("constructor"),i.initializeController=i.initializeController.bind(e._assertThisInitialized(i)),i.containingDivId="common-canvas-items-container-"+n.canvasController.getInstanceId(),n.canvasController.setIntl(n.intl),i.initializeController(n),i}return t._createClass(a,[{key:"componentDidUpdate",value:function(){this.logger.log("componentDidUpdate"),this.initializeController(this.props)}},{key:"onDragOver",value:function(t){t.preventDefault()}},{key:"onDrop",value:function(t){t.preventDefault()}},{key:"initializeController",value:function(t){this.logger.logStartTimer("initializeController"),t.canvasController.setCanvasConfig(t.config),t.canvasController.setContextMenuConfig(t.contextMenuConfig),t.canvasController.setKeyboardConfig(t.keyboardConfig),t.canvasController.setToolbarConfig(t.toolbarConfig),t.canvasController.setNotificationPanelConfig(t.notificationConfig),t.canvasController.setRightFlyoutConfig({content:t.rightFlyoutContent,isOpen:t.showRightFlyout}),t.canvasController.setBottomPanelConfig({content:t.bottomPanelContent,isOpen:t.showBottomPanel}),t.canvasController.setHandlers({contextMenuHandler:t.contextMenuHandler,beforeEditActionHandler:t.beforeEditActionHandler,editActionHandler:t.editActionHandler,clickActionHandler:t.clickActionHandler,decorationActionHandler:t.decorationActionHandler,tipHandler:t.tipHandler,layoutHandler:t.layoutHandler,idGeneratorHandler:t.idGeneratorHandler,selectionChangeHandler:t.selectionChangeHandler,actionLabelHandler:t.actionLabelHandler}),this.logger.logEndTimer("initializeController")}},{key:"generateClass",value:function(){var t="common-canvas";return t+=this.isEditingAllowed()?"":" config-editing-actions-false",t+=this.props.config&&this.props.config.enableParentClass?" "+this.props.config.enableParentClass:""}},{key:"isEditingAllowed",value:function(){return this.props.config&&(void 0===this.props.config.enableEditingActions||!0===this.props.config.enableEditingActions)}},{key:"render",value:function(){this.logger.log("render");var t=C.default.createElement(zt,{canvasController:this.props.canvasController}),e=C.default.createElement(Dt,{canvasController:this.props.canvasController,containingDivId:this.containingDivId}),n=C.default.createElement(vr,{canvasController:this.props.canvasController,containingDivId:this.containingDivId}),o=this.generateClass();return C.default.createElement(i.Provider,{store:this.props.canvasController.getStore()},C.default.createElement("div",{className:o,onDragOver:this.onDragOver,onDrop:this.onDrop},e,n,t))}}]),a}(C.default.Component),Cr=o.injectIntl(mr);exports.commonCanvas=Cr;
|
|
2
|
-
//# sourceMappingURL=common-canvas-e212a9c1.js.map
|