{"version":3,"names":["HaloCopyItem","__SystemJSRewritingHack","copyBlacklist","_export","setters","_livelyHaloGrabItemJs","HaloGrabItem","default","_srcClientMorphicNodeHelpersJs","nodes","_srcClientMorphicEventHelpersJs","events","_srcClientGraphicsJs","pt","_srcClientScriptManagerJs","scriptManager","_srcClientPersistenceJs","persistence","_srcComponentsHaloLivelyHaloJs","HaloService","execute","_recorder_","_src_components_halo_lively_halo_copy_item_js","Object","defineProperty","get","set","thisIsVererySecretVariableName","enumerable","configurable","isCopyItem","onClick","copiedObject","copyObject","window","that","style","position","setPosition","getPosition","copyTarget","addPt","showHalos","cloneObject","obj","html","lively","clipboard","nodesToHTML","lastClickPos","getClientPosition","result","pasteHTMLDataInto","parentElement","el","haloCopyObject","isAllowedToBeCopied","parentNode","appendChild","notify","element","indexOf","tagName","toLowerCase","prepareGrabTarget","grabTarget"],"sources":["lively-halo-copy-item.js"],"sourcesContent":["import HaloGrabItem from './lively-halo-grab-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 scriptManager from  \"src/client/script-manager.js\";\nimport persistence from  \"src/client/persistence.js\";\n\nvar copyBlacklist = [\"body\", \"html\"];\n\nimport {default as HaloService} from \"src/components/halo/lively-halo.js\"\n\nexport default class HaloCopyItem extends HaloGrabItem {\n \n  get isCopyItem() {\n    return true;\n  }\n  \n  \n  onClick() {\n    if (!this.copiedObject) {\n      this.copyObject(window.that);\n      this.copiedObject.style.position = 'absolute';\n      nodes.setPosition(this.copiedObject, nodes.getPosition(this.copyTarget).addPt(pt(10,10)));\n      window.that = this.copiedObject;\n      HaloService.showHalos(window.that);\n    } \n    this.copiedObject = null;\n  }\n  \n  cloneObject(obj) {\n    var html = lively.clipboard.nodesToHTML([obj])\n    lively.clipboard.lastClickPos = lively.getClientPosition(obj) // used in pasted as offset\n    var result = lively.clipboard.pasteHTMLDataInto(html, obj.parentElement, true)\n    return result[0];\n  }\n  \n  copyObject(el) {\n    this.copyTarget = el;\n    if (el.haloCopyObject) {\n        this.copiedObject = el.haloCopyObject(this); // copy selection etc...\n    } else {\n      if (this.isAllowedToBeCopied(this.copyTarget)) {\n        this.copiedObject = this.cloneObject(this.copyTarget);\n        this.copyTarget.parentNode.appendChild(this.copiedObject);    \n      } else {\n        lively.notify(\"Could not copy \" + this.copyTarget);\n      }\n    }\n    return this.copiedObject;\n  }\n\n  isAllowedToBeCopied(element) {\n    return copyBlacklist.indexOf(element.tagName.toLowerCase()) < 0;\n  }\n\n  // DRAG API\n  prepareGrabTarget() {\n    this.grabTarget = this.copyObject(this.grabTarget);\n    window.that = this.grabTarget;\n    HaloService.showHalos(this.grabTarget);\n    \n    super.prepareGrabTarget();\n  }\n}"],"mappings":"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"}