{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-function-completion/src/babylonian-programming-editor/annotations/example.js"],"names":["InputAnnotation","ExampleWidget","Example","constructor","editor","location","changeCallback","deleteCallback","stateCallback","defaultIsOn","instances","customInstances","newStateCallback","newState","_widget","kind","_changeCallback","_deleteCallback","id","_id","name","color","_color","isOn","_isOn","keys","error","serializeForWorker","Object","assign","values","valuesArray","instanceId","prescript","postscript","serializeForSave","load","serialized"],"mappings":";;;;;;AAAOA,qB;;AACAC,mB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGQ,YAAMC,OAAN,SAAsBF,eAAtB,CAAsC;AACnDG,oBAAYC,MAAZ,EAAoBC,QAApB,EAA8BC,cAA9B,EAA8CC,cAA9C,EAA8DC,aAA9D,EAA6EC,WAA7E,EAA0FC,SAA1F,EAAqGC,eAArG,EAAsH;AACpH,gBAAMP,MAAN,EAAcC,QAAd,EAAwBC,cAAxB,EAAwCC,cAAxC;AACA,cAAIK,mBAAoBC,QAAD,IAAc;AACnCL,0BAAc,IAAd,EAAoBK,QAApB;AACD,WAFD;AAGA,eAAKC,OAAL,GAAe,IAAIb,aAAJ,CAAkBG,MAAlB,EAA0BC,QAA1B,EAAoC,KAAKU,IAAzC,EAA+C,KAAKC,eAApD,EAAqE,KAAKC,eAA1E,EAA2FL,gBAA3F,EAA6GH,WAA7G,EAA0HC,SAA1H,EAAqIC,eAArI,CAAf;AACD;;AAED,YAAIO,EAAJ,GAAS;AACP,iBAAO,KAAKJ,OAAL,CAAaK,GAApB;AACD;;AAED,YAAIC,IAAJ,GAAW;AACT,iBAAO,KAAKN,OAAL,CAAaM,IAApB;AACD;;AAED,YAAIC,KAAJ,GAAY;AACV,iBAAO,KAAKP,OAAL,CAAaQ,MAApB;AACD;;AAED,YAAIC,IAAJ,GAAW;AACT,iBAAO,KAAKT,OAAL,CAAaU,KAApB;AACD;;AAED,YAAIC,IAAJ,CAASA,IAAT,EAAe;AACb,eAAKX,OAAL,CAAaW,IAAb,GAAoBA,IAApB;AACD;;AAED,YAAIC,KAAJ,CAAUA,KAAV,EAAiB;AACf,eAAKZ,OAAL,CAAaY,KAAb,GAAqBA,KAArB;AACD;;AAEDC,6BAAqB;AACnB,iBAAOC,OAAOC,MAAP,CAAc,MAAMF,kBAAN,EAAd,EAA0C;AAC/CT,gBAAI,KAAKA,EADsC;AAE/CE,kBAAM,KAAKA,IAFoC;AAG/CC,mBAAO,KAAKP,OAAL,CAAaO,KAH2B;AAI/CS,oBAAQ,KAAKhB,OAAL,CAAaiB,WAJ0B;AAK/CC,wBAAY,KAAKlB,OAAL,CAAakB,UALsB;AAM/CC,uBAAW,KAAKnB,OAAL,CAAamB,SANuB;AAO/CC,wBAAY,KAAKpB,OAAL,CAAaoB;AAPsB,WAA1C,CAAP;AASD;;AAEDC,2BAAmB;AACjB,iBAAOP,OAAOC,MAAP,CAAc,MAAMM,gBAAN,EAAd,EAAwC;AAC7CjB,gBAAI,KAAKA,EADoC;AAE7CE,kBAAM,KAAKA,IAFkC;AAG7CC,mBAAO,KAAKP,OAAL,CAAaO,KAHyB;AAI7CS,oBAAQ,KAAKhB,OAAL,CAAagB,MAJwB;AAK7CE,wBAAY,KAAKlB,OAAL,CAAakB,UALoB;AAM7CC,uBAAW,KAAKnB,OAAL,CAAamB,SANqB;AAO7CC,wBAAY,KAAKpB,OAAL,CAAaoB;AAPoB,WAAxC,CAAP;AASD;;AAEDE,aAAKC,UAAL,EAAiB;AACf,eAAKvB,OAAL,CAAaI,EAAb,GAAkBmB,WAAWnB,EAA7B;AACA,eAAKJ,OAAL,CAAagB,MAAb,GAAsBO,WAAWP,MAAjC;AACA,eAAKhB,OAAL,CAAaM,IAAb,GAAoBiB,WAAWjB,IAA/B;AACA,eAAKN,OAAL,CAAaO,KAAb,GAAqBgB,WAAWhB,KAAhC;AACA,eAAKP,OAAL,CAAakB,UAAb,GAA0BK,WAAWL,UAArC;AACA,eAAKlB,OAAL,CAAamB,SAAb,GAAyBI,WAAWJ,SAApC;AACA,eAAKnB,OAAL,CAAaoB,UAAb,GAA0BG,WAAWH,UAArC;AACD;AAjEkD;;yBAAhChC,O","file":"example.js","sourcesContent":["import InputAnnotation from \"./input-annotation.js\";\nimport ExampleWidget from \"../ui/example-widget.js\";\n\n\nexport default class Example extends InputAnnotation {\n  constructor(editor, location, changeCallback, deleteCallback, stateCallback, defaultIsOn, instances, customInstances) {\n    super(editor, location, changeCallback, deleteCallback);\n    let newStateCallback = (newState) => {\n      stateCallback(this, newState);\n    }\n    this._widget = new ExampleWidget(editor, location, this.kind, this._changeCallback, this._deleteCallback, newStateCallback, defaultIsOn, instances, customInstances);\n  }\n  \n  get id() {\n    return this._widget._id;\n  }\n  \n  get name() {\n    return this._widget.name;\n  }\n  \n  get color() {\n    return this._widget._color;\n  }\n  \n  get isOn() {\n    return this._widget._isOn;\n  }\n  \n  set keys(keys) {\n    this._widget.keys = keys;\n  }\n  \n  set error(error) {\n    this._widget.error = error;\n  }\n  \n  serializeForWorker() {\n    return Object.assign(super.serializeForWorker(), {\n      id: this.id,\n      name: this.name,\n      color: this._widget.color,\n      values: this._widget.valuesArray,\n      instanceId: this._widget.instanceId,\n      prescript: this._widget.prescript,\n      postscript: this._widget.postscript,\n    });\n  }\n  \n  serializeForSave() {\n    return Object.assign(super.serializeForSave(), {\n      id: this.id,\n      name: this.name,\n      color: this._widget.color,\n      values: this._widget.values,\n      instanceId: this._widget.instanceId,\n      prescript: this._widget.prescript,\n      postscript: this._widget.postscript,\n    });\n  }\n  \n  load(serialized) {\n    this._widget.id = serialized.id;\n    this._widget.values = serialized.values;\n    this._widget.name = serialized.name;\n    this._widget.color = serialized.color;\n    this._widget.instanceId = serialized.instanceId;\n    this._widget.prescript = serialized.prescript;\n    this._widget.postscript = serialized.postscript;\n  }\n}"]}