{"version":3,"sources":["https://lively-kernel.org/lively4/BP2019RH-stable/setup.js"],"names":["setup","scriptElement","self","repositoryURL","container","lively","query","livelyServerUrl","bp2019name","getURL","toString","replace","components","persistentCustomTemplatePaths","addPersistentCustomTemplatePath","bp2019url","componentNameSets","notify","level","componentNames","originalComponentNumber","length","filter","componentName","templates","currentComponentNumber","console","log","Promise","all","map","create"],"mappings":";;;;;;;;;;;;;yBAEe,eAAeA,KAAf,CAAqBC,aAArB,EAAoC;AACjD,YAAI,CAACC,KAAKC,aAAV,EAAyB;AACvB;AACA,cAAIC,YAAYC,OAAOC,KAAP,CAAaL,aAAb,EAA4B,kBAA5B,CAAhB;AACA;;AAEA,cAAIM,kBAAkB,oCAAtB;AACA,gBAAMC,aAAaJ,UAAUK,MAAV,GAAmBC,QAAnB,GAA8BC,OAA9B,CAAsCJ,eAAtC,EAAuD,EAAvD,EAA2DI,OAA3D,CAAmE,MAAnE,EAA2E,EAA3E,CAAnB;AACA,cAAIR,gBAAgBI,kBAAkBC,UAAtC;AACA;AACAH,iBAAOO,UAAP,CAAkBC,6BAAlB,GAAkD,EAAlD;AACAR,iBAAOO,UAAP,CAAkBE,+BAAlB,CAAkDX,gBAAgB,cAAlE;AACAD,eAAKa,SAAL,GAAiBZ,aAAjB;AACD;;AAED,YAAIa,oBAAoB;AACtB,6BACA;AACE;AACA,uCAFF,EAGE,4BAHF,EAIE,mBAJF;AAKE;AACA,mCANF,EAOE,sBAPF,EAQE,yBARF,EASE,qBATF,EAUE,sBAVF,EAWE,qCAXF,EAYE,6BAZF,CAFsB;AAgBtB,2BAAiB;AACjB,WACE,qBADF,EAEE,sBAFF,EAGE,4BAHF,EAIE,2BAJF,CAjBsB;AAuBtB,2BAAiB;AACjB,WACE,8BADF;AAEE;AACA;AACA,qCAJF,EAKE,4BALF,EAME,8BANF,CAxBsB;AAgCtB,2BAAiB;AACjB;AACE;AACA;AACA,6BAHF,EAIE,oBAJF,EAKE,sBALF,CAjCsB;AAwCtB,kCAAwB;AACxB,WACE,aADF;AAzCsB,SAAxB;;AA+CAX,eAAOY,MAAP,CAAc,2BAAd;;AAEA,aAAK,IAAIC,KAAT,IAAkBF,iBAAlB,EAAqC;AACnC,cAAIG,iBAAiBH,kBAAkBE,KAAlB,CAArB;;AAEA,cAAIE,0BAA0BD,eAAeE,MAA7C;;AAEAF,2BAAiBA,eAAeG,MAAf,CAAsBC,iBAAiB;AACtD,mBAAO,CAAClB,OAAOO,UAAP,CAAkBY,SAAlB,CAA4BD,aAA5B,CAAR;AACD,WAFgB,CAAjB;;AAIA,cAAIE,yBAAyBN,eAAeE,MAA5C;AACAK,kBAAQC,GAAR,CAAY,SAAZ,EAAuBT,KAAvB,EAA8B,aAA9B,EAA6CO,sBAA7C,EAAqE,MAArE,EAA6EL,uBAA7E;;AAEA,gBAAMQ,QAAQC,GAAR,CAAYV,eAAeW,GAAf,CAAmBP,oCAAiBlB,OAAO0B,MAAP,CAAcR,aAAd,CAAjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAnB,CAAZ,CAAN;AACAG,kBAAQC,GAAR,CAAY,MAAZ;AACD;;AAEDtB,eAAOY,MAAP,CAAc,4BAAd;AACD,O","file":"setup.js","sourcesContent":["// goal: analogous to lively4url, we need a bp2019url, which is \"https://lively-kernel.org/lively4/BP2019RH1\" or \"https://lively-kernel.org/lively4/BP2019RH1-stable\"\n\nexport default async function setup(scriptElement) {\n  if (!self.repositoryURL) {\n    // go through container!\n    var container = lively.query(scriptElement, \"lively-container\");\n    // https://lively-kernel.org/lively4/BP2019RH1\n    \n    var livelyServerUrl = \"https://lively-kernel.org/lively4/\";\n    const bp2019name = container.getURL().toString().replace(livelyServerUrl, \"\").replace(/\\/.*/, \"\");\n    var repositoryURL = livelyServerUrl + bp2019name;\n    // resets custom template paths\n    lively.components.persistentCustomTemplatePaths = []\n    lively.components.addPersistentCustomTemplatePath(repositoryURL + \"/components/\");\n    self.bp2019url = repositoryURL;\n  }\n  \n  let componentNameSets = {\n    \"Base components\":\n    [\n      // \"bp2019-activate-deactivate-list-widget\",\n      \"bp2019-color-selection-item\",\n      \"bp2019-filter-list-element\",\n      \"bp2019-tab-widget\",\n      // \"bp2019-fullscreen-button\",\n      \"bp2019-statistic-widget\",\n      \"bp2019-legend-widget\",\n      \"bp2019-inspector-widget\",\n      \"bp2019-group-widget\",\n      \"bp2019-select-widget\",\n      \"bp2019-theme-group-list-item-widget\",\n      \"bp2019-control-panel-widget\",\n    ], \n    \"L1 components\": // -> depend on a base component\n    [\n      \"bp2019-color-widget\",\n      \"bp2019-filter-widget\",\n      \"bp2019-y-axis-group-widget\",\n      \"bp2019-theme-group-widget\",\n    ], \n    \"L2 components\": // -> should depend on a L1 component, but some control panels don't. I just liked to keep the control panels together\n    [\n      \"bp2019-global-control-widget\",\n      // \"bp2019-group-chaining-control-widget\",\n      // \"bp2019-individual-center-control-widget\",\n      \"bp2019-map-control-widget\",\n      \"bp2019-venn-control-widget\",\n      \"bp2019-y-axis-control-widget\",\n    ], \n    \"L3 components\": // -> depend on L2 components\n    [\n      // \"bp2019-group-chaining-widget\",\n      // \"bp2019-individual-center-widget\",\n      \"bp2019-map-widget\",\n      \"bp2019-venn-widget\",\n      \"bp2019-y-axis-widget\",\n    ], \n    \"Top level components\": // -> depend on L3 components\n    [\n      \"bp2019-pane\",\n      //\"bp2019-individual-visualization\",\n    ]    \n  }\n  \n  lively.notify(\"Component loading started\")\n  \n  for (let level in componentNameSets) {\n    let componentNames = componentNameSets[level]\n    \n    let originalComponentNumber = componentNames.length\n    \n    componentNames = componentNames.filter(componentName => {\n      return !lively.components.templates[componentName]\n    })\n\n    let currentComponentNumber = componentNames.length\n    console.log(\"Loading\", level, \"remaining: \", currentComponentNumber, \" of \", originalComponentNumber)\n    \n    await Promise.all(componentNames.map(componentName => lively.create(componentName)))\n    console.log(\"done\")\n  }\n  \n  lively.notify(\"Component loading finished\")\n}"]}