{"version":3,"names":["HaloVivideInportConnectionItem","lively","nodes","events","pt","HaloItem","Preferences","Snapping","Grid","VivideView","svg","cancelEvent","path","get","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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"}