{"version":3,"sources":["https://lively-kernel.org/lively4/BP2019RH-stable/components/bp2019-inspect-human.js"],"names":["Morph","InspectAction","InspectHuman","initialize","dataProcessor","undefined","demographicContainer","get","applyInspectAction","action","individual","selection","isSelected","_showIndividual","_showIndividualInformation","_deleteSelf","setDataProcessor","selectedIndividual","_resetCSSSettings","_showFigureForGender","_registerEventListeners","individualIsMale","_displayMaleFigure","individualIsFemale","_displayFemaleFigure","_displayFigureForNoGender","style","display","parentNode","removeChild","demographicString","_buildDemographicString","innerHTML","string","demographicKeys","getDemographicKeysForCurrentDataSet","forEach","key","_getRelevantDemographicKeys","allKeys","Object","keys"],"mappings":";;;;;;AAAOA,W;;AACEC,mB,kDAAAA,a;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGM,YAAMC,YAAN,SAA2BF,KAA3B,CAAiC;;AAE9C,cAAMG,UAAN,GAAmB;AACjB,eAAKC,aAAL,GAAqBC,SAArB;AACA,eAAKC,oBAAL,GAA4B,KAAKC,GAAL,CAAS,6BAAT,CAA5B;AACD;;AAED;AACA;AACA;;AAEAC,2BAAmBC,MAAnB,EAA2B;AACzB,cAAIC,aAAaD,OAAOE,SAAxB;AACA,cAAGD,UAAH,EAAe;AACb,gBAAGA,WAAWE,UAAd,EACA,KAAKC,eAAL,CAAqBH,UAArB;AACA,iBAAKI,0BAAL,CAAgCJ,UAAhC;AACD,WAJD,MAIO;AACL,iBAAKK,WAAL;AACD;AACF;;AAEDC,yBAAiBZ,aAAjB,EAAgC;AAC9B,eAAKA,aAAL,GAAqBA,aAArB;AACD;;AAED;AACA;AACA;;AAEAS,wBAAgBI,kBAAhB,EAAoC;AAClC,eAAKC,iBAAL;AACA,eAAKC,oBAAL,CAA0BF,kBAA1B;AACA,eAAKG,uBAAL;AACD;;AAEDD,6BAAqBT,UAArB,EAAiC;AAC/B,kBAAQ,IAAR;AACE,iBAAK,KAAKN,aAAL,CAAmBiB,gBAAnB,CAAoCX,UAApC,CAAL;AACE,mBAAKY,kBAAL;AACA;AACF,iBAAK,KAAKlB,aAAL,CAAmBmB,kBAAnB,CAAsCb,UAAtC,CAAL;AACE,mBAAKc,oBAAL;AACA;AACF;AACE,mBAAKC,yBAAL;AACA;AATJ;AAWD;;AAEDP,4BAAoB;AAClB,eAAKX,GAAL,CAAS,qBAAT,EAAgCmB,KAAhC,CAAsCC,OAAtC,GAAgD,MAAhD;AACA,eAAKpB,GAAL,CAAS,uBAAT,EAAkCmB,KAAlC,CAAwCC,OAAxC,GAAkD,MAAlD;AACA,eAAKpB,GAAL,CAAS,0BAAT,EAAqCmB,KAArC,CAA2CC,OAA3C,GAAqD,MAArD;AACD;;AAEDL,6BAAqB;AACnB,eAAKf,GAAL,CAAS,qBAAT,EAAgCmB,KAAhC,CAAsCC,OAAtC,GAAgD,QAAhD;AACD;;AAEDH,+BAAuB;AACrB,eAAKjB,GAAL,CAAS,uBAAT,EAAkCmB,KAAlC,CAAwCC,OAAxC,GAAkD,QAAlD;AACD;;AAEDF,oCAA4B;AAC1B,eAAKlB,GAAL,CAAS,0BAAT,EAAqCmB,KAArC,CAA2CC,OAA3C,GAAqD,QAArD;AACD;;AAEDZ,sBAAc;AACZ,eAAKa,UAAL,CAAgBC,WAAhB,CAA4B,IAA5B;AACD;;AAEDf,mCAA2BJ,UAA3B,EAAuC;AACrC,cAAIoB,oBAAoB,KAAKC,uBAAL,CAA6BrB,UAA7B,CAAxB;AACA,eAAKJ,oBAAL,CAA0B0B,SAA1B,GAAsCF,iBAAtC;AACD;;AAEDC,gCAAwBrB,UAAxB,EAAoC;AAClC,cAAIuB,SAAS,EAAb;AACA,cAAIC,kBAAkB,KAAK9B,aAAL,CAAmB+B,mCAAnB,EAAtB;AACAD,0BAAgBE,OAAhB,CAAwBC,OAAO;AAC7BJ,sBAAUI,MAAM,IAAN,GAAa3B,WAAW2B,GAAX,CAAb,GAA+B,OAAzC;AACD,WAFD;;AAIA,iBAAOJ,MAAP;AACD;;AAEDK,oCAA4B5B,UAA5B,EAAwC;AACtC,cAAI6B,UAAUC,OAAOC,IAAP,CAAY/B,UAAZ,CAAd;;AAGA,iBAAO6B,OAAP;AACD;;AAEDnB,kCAA0B,CAEzB;AAhG6C;;yBAA3BlB,Y","file":"bp2019-inspect-human.js","sourcesContent":["import Morph from 'src/components/widgets/lively-morph.js'\nimport { InspectAction } from '../src/internal/individuals-as-points/common/actions.js'\n\n\nexport default class InspectHuman extends Morph {\n  \n  async initialize() {\n    this.dataProcessor = undefined\n    this.demographicContainer = this.get('#demographic-data-container');\n  }\n  \n  // ------------------------------------------\n  // Public Methods\n  // ------------------------------------------\n  \n  applyInspectAction(action) {\n    let individual = action.selection\n    if(individual) {\n      if(individual.isSelected)\n      this._showIndividual(individual)\n      this._showIndividualInformation(individual)\n    } else {\n      this._deleteSelf()\n    }\n  }\n  \n  setDataProcessor(dataProcessor) {\n    this.dataProcessor = dataProcessor\n  }\n\n  // ------------------------------------------\n  // Private Methods\n  // ------------------------------------------\n \n  _showIndividual(selectedIndividual) {\n    this._resetCSSSettings()\n    this._showFigureForGender(selectedIndividual)\n    this._registerEventListeners()\n  }\n  \n  _showFigureForGender(individual) {\n    switch (true) {\n      case this.dataProcessor.individualIsMale(individual):\n        this._displayMaleFigure();\n        break;\n      case this.dataProcessor.individualIsFemale(individual):\n        this._displayFemaleFigure()\n        break;\n      default:\n        this._displayFigureForNoGender()\n        break;\n      }\n  }\n  \n  _resetCSSSettings() {\n    this.get(\"#inspect-human-male\").style.display = \"none\"\n    this.get(\"#inspect-human-female\").style.display = \"none\"\n    this.get(\"#inspect-human-no-gender\").style.display = \"none\"\n  }\n  \n  _displayMaleFigure() {\n    this.get(\"#inspect-human-male\").style.display = \"inline\"\n  }\n  \n  _displayFemaleFigure() {\n    this.get(\"#inspect-human-female\").style.display = \"inline\"\n  }\n  \n  _displayFigureForNoGender() {\n    this.get(\"#inspect-human-no-gender\").style.display = \"inline\"\n  }\n  \n  _deleteSelf() {\n    this.parentNode.removeChild(this)\n  }\n  \n  _showIndividualInformation(individual) {\n    let demographicString = this._buildDemographicString(individual)\n    this.demographicContainer.innerHTML = demographicString\n  }\n  \n  _buildDemographicString(individual) {\n    let string = \"\"\n    let demographicKeys = this.dataProcessor.getDemographicKeysForCurrentDataSet()\n    demographicKeys.forEach(key => {\n      string += key + \": \" + individual[key] + \"</br>\"\n    })\n    \n    return string;\n  }\n  \n  _getRelevantDemographicKeys(individual) {\n    let allKeys = Object.keys(individual)\n    \n    \n    return allKeys;\n  }\n  \n  _registerEventListeners() {\n    \n  }\n}"]}