{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-petrinet/src/components/demo/lively-petrinet-node.js"],"names":["Morph","ContextMenu","pt","LivelyPetrinetNode","initialize","windowTitle","registerButtons","addEventListener","evt","onContextMenu","attachedCallback","detachedCallback","onAddButton","addBall","shiftKey","stopPropagation","preventDefault","menu","addDot","deleteDot","openIn","document","body","dot","x","Math","random","y","lively","setPosition","appendChild","dots","remove","Array","from","querySelectorAll"],"mappings":";;;;;;;;;;;AAAOA,W;;AACAC,iB;;AACCC,Q,wBAAAA,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,YAAMC,kBAAN,SAAiCH,KAAjC,CAAuC;;AAEpDI,qBAAa;AACX,eAAKC,WAAL,GAAmB,oBAAnB;AACA,eAAKC,eAAL;AACA,eAAKC,gBAAL,CAAsB,aAAtB,EAAsCC,OAAO,KAAKC,aAAL,CAAmBD,GAAnB,CAA7C,EAAsE,KAAtE;AACA;AACA;AAED;;AAEDE,2BAAmB,CAClB;;AAEDC,2BAAmB,CAClB;;AAGDC,sBAAc;AACZ,eAAKC,OAAL;AACD;;AAGDJ,sBAAcD,GAAd,EAAmB;AACjB,cAAI,CAACA,IAAIM,QAAT,EAAmB;AAChBN,gBAAIO,eAAJ;AACDP,gBAAIQ,cAAJ;;AAEC,gBAAIC,OAAO,IAAIhB,WAAJ,CAAgB,IAAhB,EAAsB,CAC9B,CAAC,SAAD,EAAY,MAAM,KAAKiB,MAAL,EAAlB,CAD8B,EAE9B,CAAC,YAAD,EAAe,MAAM,KAAKC,SAAL,EAArB,CAF8B,CAAtB,CAAX;AAIAF,iBAAKG,MAAL,CAAYC,SAASC,IAArB,EAA2Bd,GAA3B,EAAgC,IAAhC;AACC,mBAAO,IAAP;AACD;AACJ;;AAEG,cAAMU,MAAN,GAAe;;AAEf;AACA,cAAIK,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAV;AACA;AACA,cAAIC,IAAIC,KAAKC,MAAL,KAAgB,EAAhB,GAAqB,EAA7B;AACA,cAAIC,IAAIF,KAAKC,MAAL,KAAgB,EAAhB,GAAqB,EAA7B;AACAE,iBAAOC,WAAP,CAAmBN,GAAnB,EAAwBrB,GAAGsB,CAAH,EAAKG,CAAL,CAAxB;;AAEA;AACA,eAAKG,WAAL,CAAiBP,GAAjB;AACH;;AAGD,cAAMJ,SAAN,GAAiB;AACb,eAAKY,IAAL,CAAU,CAAV,EAAaC,MAAb;AACH;;AAED,YAAID,IAAJ,GAAW;AACT,iBAAOE,MAAMC,IAAN,CAAW,KAAKC,gBAAL,CAAsB,qBAAtB,CAAX,CAAP;AACD;;AAzDmD;;yBAAjChC,kB","file":"lively-petrinet-node.js","sourcesContent":["import Morph from \"src/components/widgets/lively-morph.js\"\nimport ContextMenu from 'src/client/contextmenu.js';\nimport {pt} from 'src/client/graphics.js';\n\n\n\nexport default class LivelyPetrinetNode extends Morph {\n\n  initialize() {\n    this.windowTitle = \"LivelyPetrinetNode\";\n    this.registerButtons();\n    this.addEventListener('contextmenu',  evt => this.onContextMenu(evt), false);\n    //this.addEventListener(\"add dot\", this, \"click\", () => this.onClick());\n    //this.removeEventListener(\"add dot\", this, \"click\");\n    \n  }\n  \n  attachedCallback() {\n  }\n  \n  detachedCallback() {\n  }\n  \n  \n  onAddButton() {\n    this.addBall()\n  }\n  \n  \n  onContextMenu(evt) {\n    if (!evt.shiftKey) {\n       evt.stopPropagation();\n      evt.preventDefault();\n\n       var menu = new ContextMenu(this, [\n          [\"add dot\", () => this.addDot()],\n          [\"delete dot\", () => this.deleteDot()],\n            ]);\n       menu.openIn(document.body, evt, this);\n        return true;\n      }\n  }\n\n      async addDot() {\n      \n      //for(var i=0; i<1;i++){\n      var dot = await (<lively-petrinet-dot></lively-petrinet-dot>);\n      //lively.setExtent(dot, pt(50, 50));\n      var x = Math.random() * 50 + 25;\n      var y = Math.random() * 50 + 25;\n      lively.setPosition(dot, pt(x,y));\n        \n      //lively.setPosition(dot, pt(10, 10));\n      this.appendChild(dot); \n  }\n  \n  \n  async deleteDot(){\n      this.dots[0].remove()\n  }\n   \n  get dots() {\n    return Array.from(this.querySelectorAll(\"lively-petrinet-dot\"));\n  }\n  \n  \n}"]}