{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-function-completion/src/babylonian-programming-editor/ui/instance-list.js"],"names":["InstanceList","constructor","element","instances","selectionCallback","_element","_instances","_activeInstance","_selectionCallback","render","innerHTML","instance","appendChild","_renderInstance","listItem","name","classList","add","addEventListener","activeInstance"],"mappings":";;;;;;;;;;;;;;;AAAe,YAAMA,YAAN,CAAmB;;AAEhCC,oBAAYC,OAAZ,EAAqBC,SAArB,EAAgCC,iBAAhC,EAAmD;AACjD,eAAKC,QAAL,GAAgBH,OAAhB;AACA,eAAKI,UAAL,GAAkBH,SAAlB;AACA,eAAKI,eAAL,GAAuB,IAAvB;AACA,eAAKC,kBAAL,GAA0BJ,iBAA1B;AACA,eAAKK,MAAL;AACD;;AAEDA,iBAAS;AACP,oBAAU,KAAKJ,QAAL,CAAcK,SAAd,CAAuB,MAAvB,GAAgC,EAAhC;AACV,eAAI,IAAIC,QAAR,IAAoB,KAAKL,UAAzB,EAAqC;AACnC,sBAAU,KAAKD,QAAL,CAAa,MAAb,CAAoBO,WAApB,CAAgC,KAAKC,eAAL,CAAqBF,QAArB,CAAhC;AACX;AACF;;AAEDE,wBAAgBF,QAAhB,EAA0B;AACxB,gBAAMG,qEAAgB,UAAUH,SAASI,IAAnC,CAAuC,MAAvC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAN;AACA,cAAGJ,aAAa,KAAKJ,eAArB,EAAsC;AACpCO,qBAASE,SAAT,CAAmBC,GAAnB,CAAuB,QAAvB;AACD;AACDH,mBAASI,gBAAT,CAA0B,OAA1B,EAAmC,MAAM;AACvC,iBAAKV,kBAAL,CAAwBG,QAAxB;AACD,WAFD;AAGA,oBAAU,OAAM,OAAOG;AAAb;AACX;;AAED,YAAIK,cAAJ,CAAmBR,QAAnB,EAA6B;AAC3B,eAAKJ,eAAL,GAAuBI,QAAvB;AACA,eAAKF,MAAL;AACD;;AAED,YAAIN,SAAJ,CAAcA,SAAd,EAAyB;AACvB,eAAKG,UAAL,GAAkBH,SAAlB;AACA,eAAKM,MAAL;AACD;;AApC+B;yBAAbT,Y","file":"instance-list.js","sourcesContent":["export default class InstanceList {\n  \n  constructor(element, instances, selectionCallback) {\n    this._element = element;\n    this._instances = instances;\n    this._activeInstance = null;\n    this._selectionCallback = selectionCallback;\n    this.render();\n  }\n  \n  render() {\n    /*probe:*/this._element.innerHTML/*{}*/ = \"\";\n    for(let instance of this._instances) {\n      /*probe:*/this._element/*{}*/.appendChild(this._renderInstance(instance))\n    }\n  }\n  \n  _renderInstance(instance) {\n    const listItem = <li>{/*probe:*/instance.name/*{}*/}</li>;\n    if(instance === this._activeInstance) {\n      listItem.classList.add(\"active\");\n    }\n    listItem.addEventListener(\"click\", () => {\n      this._selectionCallback(instance);\n    });\n    /*probe:*/return/*{}*/ listItem;\n  }\n  \n  set activeInstance(instance) {\n    this._activeInstance = instance;\n    this.render();\n  }\n  \n  set instances(instances) {\n    this._instances = instances;\n    this.render();\n  }\n  \n}/* Context: {\"context\":{\"prescript\":\"\",\"postscript\":\"\"},\"customInstances\":[]} */"]}