{"version":3,"names":["HaloItem","__SystemJSRewritingHack","_export","setters","_srcClientLivelyJs","lively","default","_srcComponentsWidgetsLivelyMorphJs","Morph","_srcComponentsHaloLivelyHaloJs","Halo","HaloService","execute","_recorder_","_src_components_halo_lively_halo_item_js","Object","defineProperty","get","set","thisIsVererySecretVariableName","enumerable","configurable","isHaloItem","isMetaNode","halo","parentElement","v","initialize","registerMouseEvents","hideHalo","hideHalos","registerEvent","eventName","methodName","removeEventListener","addEventListener","e","startCustomDragging","startCustomDrag","evt","isDragging","document","stopCustomDrag","start","body","dragEvt","move","showHalos","window","that","wasDragging","stop","stopPropagation"],"sources":["lively-halo-item.js"],"sourcesContent":["/*\n * Abstract HaloItem class, that is used for elements/buttons in Halo\n */\nimport lively from 'src/client/lively.js'\nimport Morph from 'src/components/widgets/lively-morph.js'\n\nimport Halo from 'src/components/halo/lively-halo.js';\n\nimport {default as HaloService} from \"src/components/halo/lively-halo.js\"\n\n/*\n * HaloItem are buttons layouted in from o halo around the object \n */\n\nexport default class HaloItem extends Morph {\n  \n  get isHaloItem() { return true}\n  \n  get isMetaNode() { return true}\n  \n  get halo() {\n    return this.parentElement\n  }\n  \n  set halo(v) {\n    // nothing to set here any more\n  }\n  \n  \n  initialize() {\n    // super.initialize()\n    this.registerMouseEvents()\n  }\n\n  hideHalo() {\n    Halo.hideHalos()\n  }\n\n  registerMouseEvents() {\n    this.registerEvent('click', 'onClick')\n    this.registerEvent('pointerdown', 'onMouseDown')\n    this.registerEvent('pointerup', 'onMouseUp')\n  }\n  \n  registerEvent(eventName, methodName) {\n    if (this[methodName]) {\n      lively.removeEventListener('Morphic', this, eventName)\n      lively.addEventListener('Morphic', this, eventName, \n        e => this[methodName](e))\n    }  \n  }\n  \n  startCustomDragging() {\n    lively.removeEventListener(\"Drag\", this, 'mousedown');\n    lively.addEventListener(\"Drag\", this, 'mousedown',  e => this.startCustomDrag(e));\n  }\n \n  startCustomDrag(evt) {\n    HaloService.isDragging = true;\n    lively.removeEventListener(\"Drag\", document, 'mouseup');\n    lively.addEventListener(\"Drag\", document, 'mouseup', e => this.stopCustomDrag(e) );\n\n    this.start(evt);\n\n    // attach mousemove handler to body only after mousedown occured\n    lively.removeEventListener(\"Drag\", document.body.parentElement, 'mousemove')\n    lively.addEventListener(\"Drag\", document.body.parentElement, 'mousemove', (dragEvt) => {\n      this.move(dragEvt);\n      // update position of halos on mousemove\n      HaloService.showHalos(window.that);\n    });\n  }\n  \n  stopCustomDrag(evt) {\n    lively.removeEventListener(\"Drag\", document, 'mouseup');\n    // save this as dragging.stop will overwrite the current value\n    var wasDragging = this.isDragging;\n    this.stop(evt);\n    // detach mousemove handler from body\n    lively.removeEventListener(\"Drag\", document.body.parentElement, 'mousemove')\n\n    if (wasDragging) {\n      HaloService.showHalos(window.that);\n      evt.stopPropagation();\n    }\n    HaloService.isDragging  = false \n  }\n\n  \n}\n"],"mappings":"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"}