{"version":3,"sources":["https://lively-kernel.org/lively4/BP2019RH1/components/bp2019-group-chaining-control-widget.js"],"names":["Morph","assertActionWidgetInterface","assertCanvasWidgetInterface","DataProcessor","GroupChainingControlWidget","initialize","listeners","initializeAfterDataFetch","_initializeWidgets","applyAction","action","lively","notify","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;;AAC/BC,mB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGQ,YAAMC,0BAAN,SAAyCJ,KAAzC,CAA+C;AAC5D,cAAMK,UAAN,GAAmB;AACjB,eAAKC,SAAL,GAAiB,EAAjB;AACD;;AAED;AACA;AACA;;AAEA,cAAMC,wBAAN,GAAiC;AAC/B,eAAKC,kBAAL;AACD;;AAEDC,oBAAYC,MAAZ,EAAoB;AAClBC,iBAAOC,MAAP,CAAc,4CAAd;AACA,eAAKN,SAAL,CAAeO,OAAf,CAAyBC,QAAD,IAAc;AACpCA,qBAASL,WAAT,CAAqBC,MAArB;AACD,WAFD;AAGD;;AAEDK,oBAAYD,QAAZ,EAAsB;AACpB,eAAKR,SAAL,CAAeU,IAAf,CAAoBF,QAApB;AACAZ,sCAA4BY,QAA5B;AACD;;AAED;AACA;AACA;;AAEAN,6BAAoB;AAClB,cAAIS,mBAAmBd,cAAce,oBAAd,EAAvB;AACA,cAAIC,aAAahB,cAAciB,gBAAd,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;AACArB,sCAA4BuB,MAA5B;AACAA,iBAAOT,WAAP,CAAmB,IAAnB;AACAS,iBAAOE,kBAAP,CAA0BH,aAA1B;AACD;AA3C2D;;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';\nimport DataProcessor from '../src/internal/individuals-as-points/common/data-processor.js'\n\n\nexport default class GroupChainingControlWidget extends Morph {\n  async initialize() {\n    this.listeners = [];\n  }\n  \n  // ------------------------------------------\n  // Public Methods\n  // ------------------------------------------\n  \n  async initializeAfterDataFetch() {\n    this._initializeWidgets();\n  }\n  \n  applyAction(action) {\n    lively.notify(\"GroupChainingControlWidget received 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 = DataProcessor.getValuesByAttribute();\n    let attributes = 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"]}