{"version":3,"names":["HaloVivideAddOutportItem","nodes","events","pt","HaloItem","Preferences","Snapping","Grid","getTempKeyFor","asDragImageFor","HaloService","default","initialize","style","setAttribute","addEventListener","evt","startMyDrag","lively","warn","hideHalos","_view","stopPropagation","addDragInfoTo","x","y","clientX","clientY","subPt","getClientPosition","updateTarget","view"],"sources":["lively-halo-vivide-add-outport-item.js"],"sourcesContent":["import * 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 { getTempKeyFor, asDragImageFor } from 'utils';\n\nimport {default as HaloService} from \"src/components/halo/lively-halo.js\"\n\nexport default class HaloVivideAddOutportItem extends HaloItem {\n\n  initialize() {\n    this.style['user-select'] = 'none';\n    this.setAttribute('draggable', \"true\");\n    this.style['user-drag'] = 'element';\n    this.addEventListener('dragstart', evt => this.startMyDrag(evt));\n    this.addEventListener('drag', evt => {\n      lively.warn('drag');\n    });\n    this.addEventListener('dragend', evt => {\n      HaloService.hideHalos();\n    });\n  }\n  \n  startMyDrag(evt) {\n    if(!this._view) {\n      lively.warn('No view given to add a connection.')\n      return;\n    }\n    evt.stopPropagation();\n    // preventDefault is harmful here: it prevents drag data and images\n    \n    this._view.addDragInfoTo(evt);\n    const { x, y } = pt(evt.clientX, evt.clientY).subPt(lively.getClientPosition(this));\n    this::asDragImageFor(evt, x, y);\n  }\n\n//   // Drag API\n//   start(evt) {\n//     return lively.warn('start')\n//     this.dragTarget = window.that;\n//     if (this.dragTarget) {\n//       this.dragStartNodePosition = lively.getPosition(this.dragTarget);\n//       this.dragStartEventPosition = events.globalPosition(evt);\n//       evt.preventDefault();\n    \n//       this.snapping = new Snapping(this.dragTarget) \n//       this.halo.info =  lively.showInfoBox(this.dragTarget)\n     \n//       if (this.dragTarget.haloDragStart) {\n//         this.dragTarget.haloDragStart(this.dragStartEventPosition)\n//       }\n//     }\n//   }\n  \n//   move(evt) {\n//     return lively.warn('move')\n//     if (this.dragTarget && !this.isDragging && \n//       events.noticableDistanceTo(evt, this.dragStartEventPosition)) {\n//       // this.dragTarget.style.position = 'absolute';\n//       this.isDragging = true;\n//     }\n//     if (this.isDragging) {\n//       this.dragTo(evt);\n//     }\n//   }\n   \n//   stop(evt) {\n//     return lively.warn('stop')\n//     this.halo.info.stop()\n//     //  STOP DRAGGING\n//     if (this.isDragging) {    \n//       this.isDragging = false;\n//       evt.preventDefault();\n//     }\n//     this.dragTarget = null;\n//     this.dragStartEventPosition = null;\n//     this.dragStartNodePosition = null;\n//     this.snapping.clearHelpers()\n//     this.snapping = null\n//   }\n\n//   dragTo(evt) {\n//     return lively.warn('dragTo')\n//     if (this.dragTarget.haloDragTo) {\n//       this.dragTarget.haloDragTo(events.globalPosition(evt), this.dragStartEventPosition)\n//     } else {\n//       var eventPos = events.globalPosition(evt);\n//       var newPosition = eventPos.subPt(this.dragStartEventPosition).\n//         addPt(this.dragStartNodePosition)\n        \n//       newPosition = newPosition.rounded()\n//       if (this.dragTarget.style.position == \"absolute\") {\n//         lively.setPosition(this.dragTarget, Grid.optSnapPosition(newPosition, evt));\n//         if(!evt.altKey) {\n//           this.snapping.snap()\n//         }\n//       } else {\n//          lively.setPosition(this.dragTarget, newPosition, \"relative\");\n//       }\n//       this.halo.info.innerHTML = \"drag \" + lively.getPosition(this.dragTarget)\n//     }\n//     evt.preventDefault();\n//   }\n  \n  updateTarget(view) {\n    this._view = view;\n  }\n}"],"mappings":"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"}