{"version":3,"names":["HaloVivideInportConnectionItem","__SystemJSRewritingHack","_export","setters","_srcClientLivelyJs","lively","default","_srcClientMorphicNodeHelpersJs","nodes","_srcClientMorphicEventHelpersJs","events","_srcClientGraphicsJs","pt","_srcComponentsHaloLivelyHaloItemJs","HaloItem","_srcClientPreferencesJs","Preferences","_srcClientMorphicSnappingJs","Snapping","Grid","_srcClientVivideComponentsVivideViewJs","VivideView","_srcClientSvgJs","svg","_utils","cancelEvent","execute","_recorder_","_src_components_halo_lively_halo_vivide_inport_connection_item_js","Object","defineProperty","get","set","thisIsVererySecretVariableName","enumerable","configurable","path","overlay","initialize","addEventListener","evt","removeConnection","setSource","source","_source","updateTarget","view","_view","classList","add","offset","getClientPosition","startPoint","getClientBounds","leftCenter","subPt","startOffsetPoint","addPt","sourceCenterPoint","getClientCenter","setPathVertices","c","x1","x","y1","y","setClientPosition","setExtent","extent","notify","target","removeOutportTarget","haloService","showHalos","window","that"],"sources":["lively-halo-vivide-inport-connection-item.js"],"sourcesContent":["import lively from 'src/client/lively.js'\nimport * as nodes from 'src/client/morphic/node-helpers.js';\nimport * as events from 'src/client/morphic/event-helpers.js';\nimport {pt} from 'src/client/graphics.js'\nimport HaloItem from 'src/components/halo/lively-halo-item.js';\nimport Preferences from 'src/client/preferences.js'; \nimport Snapping from \"src/client/morphic/snapping.js\"\nimport {Grid} from 'src/client/morphic/snapping.js';\nimport VivideView from 'src/client/vivide/components/vivide-view.js';\nimport svg from \"src/client/svg.js\"\nimport { cancelEvent } from 'utils';\n\nexport default class HaloVivideInportConnectionItem extends HaloItem {\n\n  get path() { return this.get('#path-to-target'); }\n  get overlay() { return this.get('#overlay-target'); }\n\n  initialize() {\n    this.addEventListener('click', evt => this.removeConnection(evt));\n    this.path.addEventListener('click', cancelEvent);\n    this.overlay.addEventListener('click', cancelEvent);\n  }\n  setSource(source) {\n    this._source = source;\n  }\n\n  updateTarget(view) {\n    this._view = view;\n    if(!this._source) {\n      this.classList.add('broken');\n      return;\n    }\n\n    let offset = lively.getClientPosition(this.get('svg'));\n    let startPoint = lively.getClientBounds(this).leftCenter().subPt(offset);\n    let startOffsetPoint = startPoint.addPt(pt(-20, 0));\n    let sourceCenterPoint = lively.getClientCenter(this._source).subPt(offset);\n\n    svg.setPathVertices(this.path, [\n      { c: 'M', x1: startPoint.x, y1: startPoint.y},\n      { c: 'L', x1: startOffsetPoint.x, y1: startOffsetPoint.y},\n      { c: 'L', x1: startOffsetPoint.x, y1: sourceCenterPoint.y},\n      { c: 'L', x1: sourceCenterPoint.x, y1: sourceCenterPoint.y},\n    ]);\n\n    lively.setClientPosition(this.overlay, lively.getClientPosition(this._source));\n    lively.setExtent(this.overlay, lively.getClientBounds(this._source).extent());\n  }\n  \n  removeConnection(evt) {\n    lively.notify('target', evt.target);\n    if(this._view && this._source) {\n      this._source.removeOutportTarget(this._view);\n      lively.haloService.showHalos(window.that);\n      cancelEvent(evt);\n    }\n  }\n}\n"],"mappings":"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"}