{"version":3,"sources":["https://lively-kernel.org/lively4/BP2019RH1/components/bp2019-group-chaining-control-widget.js"],"names":["Morph","assertActionWidgetInterface","assertCanvasWidgetInterface","GroupChainingControlWidget","initialize","listeners","setDataProcessor","dataProcessor","initializeAfterDataFetch","_initializeWidgets","applyAction","action","forEach","listener","addListener","push","valueByAttribute","getValuesByAttribute","attributes","getAllAttributes","_initializeWidgetWithData","widgetName","dataForWidget","widget","get","initializeWithData"],"mappings":";;;;;;AAAOA,W;;AACEC,iC,qDAAAA,2B;AAA6BC,iC,qDAAAA,2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEvB,YAAMC,0BAAN,SAAyCH,KAAzC,CAA+C;AAC5D,cAAMI,UAAN,GAAmB;AACjB,eAAKC,SAAL,GAAiB,EAAjB;AACD;;AAED;AACA;AACA;;AAEAC,yBAAiBC,aAAjB,EAAgC;AAC9B,eAAKA,aAAL,GAAqBA,aAArB;AACD;;AAED,cAAMC,wBAAN,GAAiC;AAC/B,eAAKC,kBAAL;AACD;;AAEDC,oBAAYC,MAAZ,EAAoB;AAClB,eAAKN,SAAL,CAAeO,OAAf,CAAyBC,QAAD,IAAc;AACpCA,qBAASH,WAAT,CAAqBC,MAArB;AACD,WAFD;AAGD;;AAEDG,oBAAYD,QAAZ,EAAsB;AACpB,eAAKR,SAAL,CAAeU,IAAf,CAAoBF,QAApB;AACAX,sCAA4BW,QAA5B;AACD;;AAED;AACA;AACA;;AAEAJ,6BAAoB;AAClB,cAAIO,mBAAmB,KAAKT,aAAL,CAAmBU,oBAAnB,EAAvB;AACA,cAAIC,aAAa,KAAKX,aAAL,CAAmBY,gBAAnB,EAAjB;;AAEA,eAAKC,yBAAL,CAA+B,gBAA/B,EAAiDJ,gBAAjD;AACA,eAAKI,yBAAL,CAA+B,eAA/B,EAAgDF,UAAhD;AACA,eAAKE,yBAAL,CAA+B,eAA/B,EAAgDF,UAAhD;AACD;;AAEDE,kCAA0BC,UAA1B,EAAsCC,aAAtC,EAAoD;AAClD,cAAIC,SAAS,KAAKC,GAAL,CAASH,UAAT,CAAb;AACApB,sCAA4BsB,MAA5B;AACAA,iBAAOT,WAAP,CAAmB,IAAnB;AACAS,iBAAOE,kBAAP,CAA0BH,aAA1B;AACD;AA9C2D;;yBAAzCnB,0B","file":"bp2019-group-chaining-control-widget.js","sourcesContent":["import Morph from 'src/components/widgets/lively-morph.js'\nimport { assertActionWidgetInterface, assertCanvasWidgetInterface } from '../src/internal/individuals-as-points/common/interfaces.js';\n\nexport default class GroupChainingControlWidget extends Morph {\n  async initialize() {\n    this.listeners = [];\n  }\n  \n  // ------------------------------------------\n  // Public Methods\n  // ------------------------------------------\n  \n  setDataProcessor(dataProcessor) {\n    this.dataProcessor = dataProcessor\n  }\n  \n  async initializeAfterDataFetch() {\n    this._initializeWidgets();\n  }\n  \n  applyAction(action) {\n    this.listeners.forEach( (listener) => {\n      listener.applyAction(action);\n    })\n  }\n  \n  addListener(listener) {\n    this.listeners.push(listener);\n    assertCanvasWidgetInterface(listener);\n  }\n  \n  // ------------------------------------------\n  // Private Methods\n  // ------------------------------------------\n  \n  _initializeWidgets(){\n    let valueByAttribute = this.dataProcessor.getValuesByAttribute();\n    let attributes = this.dataProcessor.getAllAttributes();\n    \n    this._initializeWidgetWithData(\"#filter-widget\", valueByAttribute);\n    this._initializeWidgetWithData(\"#color-widget\", attributes);\n    this._initializeWidgetWithData(\"#group-widget\", attributes);\n  }\n  \n  _initializeWidgetWithData(widgetName, dataForWidget){\n    let widget = this.get(widgetName);\n    assertActionWidgetInterface(widget);\n    widget.addListener(this);\n    widget.initializeWithData(dataForWidget);\n  }\n}\n"]}