{"version":3,"sources":["https://lively-kernel.org/lively4/BP2019RH-stable/components/bp2019-map-control-widget.js"],"names":["assertCanvasWidgetInterface","Bp2019ControlPanelWidget","Bp2019MapControlWidget","initialize","listeners","districtTooltipDiv","get","individualTooltipDiv","menu","controlPanelToggleButton","interactionMode","interactionModeToggleButton","textContent","addEventListener","_toggleInteractionMode","setDataProcessor","dataProcessor","getDistrictTooltip","getIndividualTooltip","getMenu","setExtent","extent","lively","width","x","getExtent","style","toString","initializeAfterDataFetch","addListener","listener","push","forEach","setInteractionMode"],"mappings":";;;;;;AAASA,iC,qDAAAA,2B;;AAEFC,8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEQ,YAAMC,sBAAN,SAAqCD,wBAArC,CAA8D;AAC3E,cAAME,UAAN,GAAmB;AACjB,gBAAMA,UAAN;;AAEA,eAAKC,SAAL,GAAiB,EAAjB;AACA,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;AACA,eAAKG,wBAAL,GAAgC,KAAKH,GAAL,CAAS,8BAAT,CAAhC;AACA,eAAKI,eAAL,GAAuB,YAAvB;AACA,eAAKC,2BAAL,GAAmC,KAAKL,GAAL,CAAS,iCAAT,CAAnC;AACA,eAAKK,2BAAL,CAAiCC,WAAjC,GAA+C,0BAA/C;AACA,eAAKD,2BAAL,CAAiCE,gBAAjC,CAAkD,OAAlD,EAA2D,MAAM;AAAC,iBAAKC,sBAAL;AAA8B,WAAhG;AACD;;AAED;AACA;AACA;;AAEAC,yBAAiBC,aAAjB,EAAgC;AAC9B,eAAKA,aAAL,GAAqBA,aAArB;AACD;;AAEDC,6BAAqB;AACnB,iBAAO,KAAKZ,kBAAZ;AACD;;AAEDa,+BAAuB;AACrB,iBAAO,KAAKX,oBAAZ;AACD;;AAEDY,kBAAU;AACR,iBAAO,KAAKX,IAAZ;AACD;;AAEDY,kBAAUC,MAAV,EAAkB;AAChBC,iBAAOF,SAAP,CAAiB,KAAKZ,IAAtB,EAA4Ba,MAA5B;AACA,cAAIE,QAAQF,OAAOG,CAAP,GAAWF,OAAOG,SAAP,CAAiB,KAAKhB,wBAAtB,EAAgDe,CAA3D,GAA+D,EAA3E;AACA,eAAKnB,kBAAL,CAAwBqB,KAAxB,CAA8BH,KAA9B,GAAsCA,MAAMI,QAAN,KAAmB,IAAzD;AACA,eAAKpB,oBAAL,CAA0BmB,KAA1B,CAAgCH,KAAhC,GAAwCA,MAAMI,QAAN,KAAmB,IAA3D;AACD;;AAED,cAAMC,wBAAN,GAAiC,CAChC;;AAEDC,oBAAYC,QAAZ,EAAsB;AACpB,eAAK1B,SAAL,CAAe2B,IAAf,CAAoBD,QAApB;AACA9B,sCAA4B8B,QAA5B;AACD;;AAEDhB,iCAAyB;AACvB,cAAI,KAAKJ,eAAL,KAAyB,YAA7B,EAA2C;AACzC,iBAAKA,eAAL,GAAuB,WAAvB;AACA,iBAAKC,2BAAL,CAAiCC,WAAjC,GAA+C,2BAA/C;AACD,WAHD,MAGO,IAAI,KAAKF,eAAL,KAAyB,WAA7B,EAA0C;AAC/C,iBAAKA,eAAL,GAAuB,YAAvB;AACA,iBAAKC,2BAAL,CAAiCC,WAAjC,GAA+C,0BAA/C;AACD;AACD,eAAKR,SAAL,CAAe4B,OAAf,CAAyBF,QAAD,IAAc;AACpCA,qBAASG,kBAAT,CAA4B,KAAKvB,eAAjC;AACD,WAFD;AAGD;AA7D0E;;yBAAxDR,sB","file":"bp2019-map-control-widget.js","sourcesContent":["import { assertCanvasWidgetInterface } from \"../src/internal/individuals-as-points/common/interfaces.js\"\n\nimport Bp2019ControlPanelWidget from \"./bp2019-control-panel-widget.js\"\n\nexport default class Bp2019MapControlWidget extends Bp2019ControlPanelWidget {\n  async initialize() {\n    super.initialize()\n    \n    this.listeners = []\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    this.controlPanelToggleButton = this.get(\"#control-panel-toggle-button\")\n    this.interactionMode = \"navigation\"\n    this.interactionModeToggleButton = this.get(\"#interaction-mode-toggle-button\")\n    this.interactionModeToggleButton.textContent = \"Switch to selection mode\"\n    this.interactionModeToggleButton.addEventListener(\"click\", () => {this._toggleInteractionMode()})\n  }\n  \n  // ------------------------------------------\n  // Public Methods\n  // ------------------------------------------\n  \n  setDataProcessor(dataProcessor) {\n    this.dataProcessor = dataProcessor\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  setExtent(extent) {\n    lively.setExtent(this.menu, extent)\n    let width = extent.x - lively.getExtent(this.controlPanelToggleButton).x - 30\n    this.districtTooltipDiv.style.width = width.toString() + \"px\"\n    this.individualTooltipDiv.style.width = width.toString() + \"px\"\n  }\n  \n  async initializeAfterDataFetch() {\n  }\n  \n  addListener(listener) {\n    this.listeners.push(listener)\n    assertCanvasWidgetInterface(listener)\n  }\n  \n  _toggleInteractionMode() {\n    if (this.interactionMode === \"navigation\") {\n      this.interactionMode = \"selection\"\n      this.interactionModeToggleButton.textContent = \"Switch to navigation mode\"\n    } else if (this.interactionMode === \"selection\") {\n      this.interactionMode = \"navigation\"\n      this.interactionModeToggleButton.textContent = \"Switch to selection mode\"\n    }\n    this.listeners.forEach( (listener) => {\n      listener.setInteractionMode(this.interactionMode)\n    })\n  }\n}"]}