{"version":3,"names":["HaloVivideOutportConnectionItem","lively","nodes","events","pt","HaloItem","Preferences","Snapping","Grid","VivideView","svg","cancelEvent","path","get","overlay","initialize","addEventListener","evt","removeConnection","setTarget","target","_target","updateTarget","view","_view","classList","add","offset","getClientPosition","startPoint","getClientBounds","rightCenter","subPt","startOffsetPoint","addPt","targetCenterPoint","getClientCenter","setPathVertices","c","x1","x","y1","y","setClientPosition","setExtent","extent","removeConnectionTo","haloService","showHalos","window","that"],"sources":["lively-halo-vivide-outport-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 HaloVivideOutportConnectionItem 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\n  setTarget(target) {\n    this._target = target;\n  }\n\n  updateTarget(view) {\n    this._view = view;\n    if(!this._target) {\n      this.classList.add('broken');\n      return;\n    }\n\n    let offset = lively.getClientPosition(this.get('svg'));\n    let startPoint = lively.getClientBounds(this).rightCenter().subPt(offset);\n    let startOffsetPoint = startPoint.addPt(pt(20, 0));\n    let targetCenterPoint = lively.getClientCenter(this._target).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: targetCenterPoint.y},\n      { c: 'L', x1: targetCenterPoint.x, y1: targetCenterPoint.y},\n    ]);\n\n    lively.setClientPosition(this.overlay, lively.getClientPosition(this._target));\n    lively.setExtent(this.overlay, lively.getClientBounds(this._target).extent());\n  }\n  \n  removeConnection(evt) {\n    if(this._view && this._target) {\n      this._view.removeConnectionTo(this._target);\n      lively.haloService.showHalos(window.that);\n      cancelEvent(evt);\n    }\n  }\n}\n"],"mappings":"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"}