{"version":3,"sources":["https://lively-kernel.org/lively4/BP2019RH1/components/bp2019-map-control-widget.js"],"names":["DataProcessor","assertActionWidgetInterface","assertCanvasWidgetInterface","Morph","Bp2019MapControlWidget","initialize","listeners","districtTooltipDiv","get","individualTooltipDiv","menu","getDistrictTooltip","getIndividualTooltip","getMenu","initializeAfterDataFetch","_initializeWidgets","applyAction","action","lively","notify","forEach","listener","addListener","push","valueByAttribute","getValuesByAttribute","attributes","getAllAttributes","attributesSupportingColoring","attribute","currentAttributes","value_type","_initializeWidgetWithData","widgetName","dataForWidget","widget","initializeWithData"],"mappings":";;;;;;AAAOA,mB;;AACEC,iC,qDAAAA,2B;AAA6BC,iC,qDAAAA,2B;;AAE/BC,W;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEQ,YAAMC,sBAAN,SAAqCD,KAArC,CAA2C;AACxD,cAAME,UAAN,GAAmB;AACjB,eAAKC,SAAL,GAAiB,EAAjB;;AAEA,eAAKC,kBAAL,GAA0B,KAAKC,GAAL,CAAS,iDAAT,CAA1B;AACA,eAAKC,oBAAL,GAA4B,KAAKD,GAAL,CAAS,mDAAT,CAA5B;AACA,eAAKE,IAAL,GAAY,KAAKF,GAAL,CAAS,2CAAT,CAAZ;AACD;;AAED;AACA;AACA;;AAEAG,6BAAqB;AACnB,iBAAO,KAAKJ,kBAAZ;AACD;;AAEDK,+BAAuB;AACrB,iBAAO,KAAKH,oBAAZ;AACD;;AAEDI,kBAAU;AACR,iBAAO,KAAKH,IAAZ;AACD;;AAED,cAAMI,wBAAN,GAAiC;AAC/B,eAAKC,kBAAL;AACD;;AAEDC,oBAAYC,MAAZ,EAAoB;AAClBC,iBAAOC,MAAP,CAAc,2BAAd;AACA,eAAKb,SAAL,CAAec,OAAf,CAAyBC,QAAD,IAAc;AACpCA,qBAASL,WAAT,CAAqBC,MAArB;AACD,WAFD;AAGD;;AAEDK,oBAAYD,QAAZ,EAAsB;AACpB,eAAKf,SAAL,CAAeiB,IAAf,CAAoBF,QAApB;AACAnB,sCAA4BmB,QAA5B;AACD;;AAED;AACA;AACA;;AAEAN,6BAAoB;AAClB,cAAIS,mBAAmBxB,cAAcyB,oBAAd,EAAvB;AACA,cAAIC,aAAa1B,cAAc2B,gBAAd,EAAjB;;AAEA,cAAIC,+BAA+B,EAAnC;AACAF,qBAAWN,OAAX,CAAmBS,aAAa;AAC9B,gBAAI,EAAE7B,cAAc8B,iBAAd,CAAgCD,SAAhC,EAA2CE,UAA3C,KAA0D,QAA5D,CAAJ,EAA2E;AACzEH,2CAA6BL,IAA7B,CAAkCM,SAAlC;AACD;AACF,WAJD;;AAMA,eAAKG,yBAAL,CAA+B,gBAA/B,EAAiDR,gBAAjD;AACA,eAAKQ,yBAAL,CAA+B,eAA/B,EAAgDJ,4BAAhD;AACD;;AAEDI,kCAA0BC,UAA1B,EAAsCC,aAAtC,EAAoD;AAClD,cAAIC,SAAS,KAAK3B,GAAL,CAASyB,UAAT,CAAb;AACAhC,sCAA4BkC,MAA5B;AACAA,iBAAOb,WAAP,CAAmB,IAAnB;AACAa,iBAAOC,kBAAP,CAA0BF,aAA1B;AACD;AAjEuD;;yBAArC9B,sB","file":"bp2019-map-control-widget.js","sourcesContent":["import DataProcessor from \"../src/internal/individuals-as-points/common/data-processor.js\"\nimport { assertActionWidgetInterface, assertCanvasWidgetInterface } from \"../src/internal/individuals-as-points/common/interfaces.js\";\n\nimport Morph from \"src/components/widgets/lively-morph.js\";\n\nexport default class Bp2019MapControlWidget extends Morph {\n  async initialize() {\n    this.listeners = []\n    \n    this.districtTooltipDiv = this.get(\"#bp2019-map-control-widget-district-tooltip-div\")\n    this.individualTooltipDiv = this.get(\"#bp2019-map-control-widget-individual-tooltip-div\")\n    this.menu = this.get(\"#bp2019-map-control-widget-root-container\")\n  }\n  \n  // ------------------------------------------\n  // Public Methods\n  // ------------------------------------------\n  \n  getDistrictTooltip() {\n    return this.districtTooltipDiv\n  }\n  \n  getIndividualTooltip() {\n    return this.individualTooltipDiv\n  }\n  \n  getMenu() {\n    return this.menu\n  }\n  \n  async initializeAfterDataFetch() {\n    this._initializeWidgets()\n  }\n  \n  applyAction(action) {\n    lively.notify(\"MapWidget 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    let attributesSupportingColoring = []\n    attributes.forEach(attribute => {\n      if (!(DataProcessor.currentAttributes[attribute].value_type === \"object\")) {\n        attributesSupportingColoring.push(attribute)\n      }\n    })    \n    \n    this._initializeWidgetWithData(\"#filter-widget\", valueByAttribute)\n    this._initializeWidgetWithData(\"#color-widget\", attributesSupportingColoring)\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}"]}