{"version":3,"names":["HaloResizeItem","__SystemJSRewritingHack","_export","setters","_srcComponentsHaloLivelyHaloItemJs","HaloItem","default","_srcClientMorphicNodeHelpersJs","nodes","_srcClientMorphicEventHelpersJs","events","_srcClientGraphicsJs","pt","_srcClientPreferencesJs","Preferences","_srcClientMorphicSnappingJs","Snapping","Grid","_srcComponentsHaloLivelyHaloJs","HaloService","execute","_recorder_","_src_components_halo_lively_halo_resize_item_js","Object","defineProperty","get","set","thisIsVererySecretVariableName","enumerable","configurable","initialize","lively","addEventListener","e","onMouseDown","evt","start","document","body","parentElement","move","onPointerUp","removeEventListener","stop","preventDefault","target","window","that","snapping","halo","console","error","info","showInfoBox","update","haloResizeStart","initialExtent","getExtent","eventOffset","globalPosition","removeRestrictions","haloResizeMove","delta","clientX","clientY","subPt","newextent","addPt","rounded","setExtent","optSnapPosition","altKey","style","position","snapBounds","innerHTML","x","y","showHalos","haloResizeStop","node","minWidth","minHeight","maxWidth","maxHeight"],"sources":["lively-halo-resize-item.js"],"sourcesContent":["import HaloItem from 'src/components/halo/lively-halo-item.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 Preferences from 'src/client/preferences.js';\nimport Snapping from \"src/client/morphic/snapping.js\"\nimport {Grid} from 'src/client/morphic/snapping.js';\nimport {default as HaloService} from \"src/components/halo/lively-halo.js\"\n\n/*globals that */\n\nexport default class HaloResizeItem extends HaloItem {\n  initialize() {\n    lively.addEventListener(\"Morphic\", this, 'mousedown',  e => this.onMouseDown(e));\n  }\n\n  onMouseDown(evt) {\n    this.start(evt);\n\n    // attach mousemove handler to body only after mousedown occured\n    lively.addEventListener(\"HaloResize\", document.body.parentElement, 'pointermove', (evt) => {\n      this.move(evt);\n    });\n    // and capture the following mouse up anywere \n    lively.addEventListener(\"HaloResize\", document.body.parentElement, 'pointerup',  e => this.onPointerUp(e));\n  }\n\n  onPointerUp(evt) {\n    lively.removeEventListener(\"HaloResize\", document.body.parentElement, 'pointerup');\n    lively.removeEventListener(\"HaloResize\", document.body.parentElement, 'pointermove');\n\n    this.stop(evt);\n  }\n\n  start(evt) {\n    evt.preventDefault();\n    this.target = window.that\n    this.snapping = new Snapping(this.target) \n    \n    if (!this.halo) {\n      console.error(\"this.halo dont defined....\")\n      return\n    }\n    \n    \n    if(this.halo.info)\n      this.halo.info.stop();\n    this.halo.info = lively.showInfoBox(this.target)\n    this.halo.info.update()\n\n    if (this.target.haloResizeStart) {\n      this.target.haloResizeStart(evt, this)\n    } else {\n      this.initialExtent  = lively.getExtent(this.target)\n      this.eventOffset  = events.globalPosition(evt)\n      this.removeRestrictions(this.target)\n    }\n  }\n\n  move(evt) {\n    \n    evt.preventDefault();\n    if (this.target.haloResizeMove) {\n      this.target.haloResizeMove(evt, this)\n    } else {\n      var delta = pt(evt.clientX, evt.clientY).subPt(this.eventOffset)\n      // console.log(\"this.initialExtent \" + this.initialExtent)\n\n      var newextent =  this.initialExtent.addPt(delta);\n      newextent = newextent.rounded()\n\n      lively.setExtent(this.target, Grid.optSnapPosition(newextent, evt)) \n      if(!evt.altKey && that.style.position == \"absolute\") {\n        this.snapping.snapBounds(\"bottomRight\")\n      }\n      newextent = lively.getExtent(this.target)\n      this.halo.info.innerHTML = \"resize w=\" + newextent.x + \" h=\" + newextent.y \n\n      HaloService.showHalos(window.that);\n    }\n  }\n\n  stop(evt) {\n    this.halo.info.stop()\n    evt.preventDefault();\n    if (this.target.haloResizeStop) {\n      this.target.haloResizeStop(evt, this)\n    } else {\n      // do nothing... anymore\n    }\n  }\n\n  removeRestrictions(node) {\n    node.style.minWidth = null;\n    node.style.minHeight = null;\n    node.style.maxWidth = null;\n    node.style.maxHeight = null;\n  }\n    \n}"],"mappings":"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"}