{"version":3,"sources":["https://lively-kernel.org/lively4/BP2019RH1/all-in-one-product/individual-visualization.js"],"names":["Morph","IndividualVisualization","initialize","windowTitle","menu","get","filterWidget","generateActionWidget","groupWidget","addNewWidget","name","actionWidget","createActionWidget","addListener","setData","getTestData","actionWidgetName","lively","create","assertActionWidgetInterface","setIdForActionWidget","id","applyAction","action","notify","Error"],"mappings":";;;;;;;;;AAAOA,W;;;;;;;;;;;;;;;;;;AAGQ,YAAMC,uBAAN,SAAsCD,KAAtC,CAA4C;;AAEzD,cAAME,UAAN,GAAmB;AACjB,eAAKC,WAAL,GAAmB,2BAAnB;;AAEA,cAAIC,OAAO,KAAKC,GAAL,CAAS,cAAT,CAAX;;AAEA;AACA,cAAIC,eAAe,MAAM,KAAKC,oBAAL,CAA0B,eAA1B,CAAzB;AACA,cAAIC,cAAc,MAAM,KAAKD,oBAAL,CAA0B,cAA1B,CAAxB;;AAEA;AACAH,eAAKK,YAAL,CAAkBH,YAAlB;AACAF,eAAKK,YAAL,CAAkBD,WAAlB;AACD;;AAGD,cAAMD,oBAAN,CAA2BG,IAA3B,EAAiC;AAC/B,cAAIC,eAAe,MAAM,KAAKC,kBAAL,CAAwBF,IAAxB,CAAzB;AACAC,uBAAaE,WAAb,CAAyB,IAAzB;AACAF,uBAAaG,OAAb,CAAqB,KAAKC,WAAL,EAArB;AACA,iBAAOJ,YAAP;AACD;;AAED,cAAMC,kBAAN,CAAyBI,gBAAzB,EAA2C;AACzC,cAAIL,eAAe,yBAAMM,OAAOC,MAAP,CAAcF,gBAAd,CAAN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAnB;AACA,eAAKG,2BAAL,CAAiCR,YAAjC;AACA,eAAKS,oBAAL,CAA0BT,YAA1B;AACA,iBAAOA,YAAP;AACD;;AAEDS,6BAAqBT,YAArB,EAAmC;AACjCA,uBAAaU,EAAb,GAAkBV,aAAaD,IAA/B;AACD;;AAEDY,oBAAYC,MAAZ,EAAoB;AAClBN,iBAAOO,MAAP,CAAc,0BAAd;AACD;;AAEDL,oCAA4BR,YAA5B,EAA0C;AACxC,cAAK,OAAOA,aAAaD,IAArB,KAA+B,WAAnC,EAAgD;AAC9C,kBAAM,IAAIe,KAAJ,CAAU,kCAAV,CAAN;AACD;AACD,cAAK,OAAOd,aAAaE,WAArB,KAAsC,WAA1C,EAAuD;AACrD,kBAAM,IAAIY,KAAJ,CAAU,4CAAV,CAAN;AACD;AACD,cAAK,OAAOd,aAAaG,OAArB,KAAkC,WAAtC,EAAmD;AACjD,kBAAM,IAAIW,KAAJ,CAAU,wCAAV,CAAN;AACD;AACF;;AAEDV,sBAAc;AACZ,iBAAO;AACL,iBAAK,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,CADA;AAEL,iBAAK,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,CAFA;AAGL,iBAAK,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX;AAHA,WAAP;AAKD;AAzDwD;;yBAAtCd,uB","file":"individual-visualization.js","sourcesContent":["import Morph from 'src/components/widgets/lively-morph.js';\n\n\nexport default class IndividualVisualization extends Morph {\n  \n  async initialize() {\n    this.windowTitle = \"Individual visualizations\"\n    \n    let menu = this.get(\"#menu-widget\");\n\n    // Create actions\n    let filterWidget = await this.generateActionWidget('filter-widget');\n    let groupWidget = await this.generateActionWidget('group-widget');\n    \n    // Add actions to menu\n    menu.addNewWidget(filterWidget);\n    menu.addNewWidget(groupWidget);\n  }\n  \n  \n  async generateActionWidget(name) {\n    let actionWidget = await this.createActionWidget(name);\n    actionWidget.addListener(this);\n    actionWidget.setData(this.getTestData())\n    return actionWidget;\n  }\n  \n  async createActionWidget(actionWidgetName) {\n    let actionWidget = await lively.create(actionWidgetName);\n    this.assertActionWidgetInterface(actionWidget);\n    this.setIdForActionWidget(actionWidget);\n    return actionWidget;\n  }\n  \n  setIdForActionWidget(actionWidget) {\n    actionWidget.id = actionWidget.name\n  }\n  \n  applyAction(action) {\n    lively.notify(\"Listener received action\");\n  }\n  \n  assertActionWidgetInterface(actionWidget) {\n    if ((typeof actionWidget.name) === \"undefined\") {\n      throw new Error('An ActionWidget must have a name');\n    }\n    if ((typeof actionWidget.addListener) === \"undefined\") {\n      throw new Error('An ActionWidget must implement addListener');\n    }\n    if ((typeof actionWidget.setData) === \"undefined\") {\n      throw new Error('An ActionWidget must implement setData');\n    }\n  }\n  \n  getTestData() {\n    return {\n      \"a\": [\"1\", \"2\", \"4\"],\n      \"b\": [\"3\", \"6\", \"9\"],\n      \"c\": [\"5\", \"7\", \"8\"]\n    };\n  }\n}"]}