@abi-software/map-side-bar 1.1.2 → 1.1.3-fix-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/map-side-bar.common.js +112 -79
- package/dist/map-side-bar.common.js.map +1 -1
- package/dist/map-side-bar.css +1 -1
- package/dist/map-side-bar.umd.js +112 -79
- package/dist/map-side-bar.umd.js.map +1 -1
- package/dist/map-side-bar.umd.min.js +1 -1
- package/dist/map-side-bar.umd.min.js.map +1 -1
- package/package-lock.json +258 -162
- package/package.json +2 -2
- package/src/App.vue +8 -1
- package/src/components/SearchFilters.vue +30 -11
- package/src/components/SidebarContent.vue +5 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://map-side-bar/webpack/bootstrap","webpack://map-side-bar/external \"element-ui/lib/pagination\"","webpack://map-side-bar/external \"core-js/modules/es.symbol.iterator\"","webpack://map-side-bar/external \"element-ui/lib/theme-chalk/pagination.css\"","webpack://map-side-bar/external \"core-js/modules/es.parse-int\"","webpack://map-side-bar/external \"element-ui/lib/select\"","webpack://map-side-bar/external \"element-ui/lib/theme-chalk/select.css\"","webpack://map-side-bar/external \"core-js/modules/es.array.for-each\"","webpack://map-side-bar/./src/components/SearchFilters.vue?92a9","webpack://map-side-bar/./src/components/Tabs.vue?c191","webpack://map-side-bar/external \"core-js/modules/es.array.concat\"","webpack://map-side-bar/external \"core-js/modules/web.dom-collections.iterator\"","webpack://map-side-bar/external \"core-js/modules/es.object.keys\"","webpack://map-side-bar/external \"element-ui/lib/theme-chalk/link.css\"","webpack://map-side-bar/./src/components/DatasetCard.vue?d5ca","webpack://map-side-bar/external \"element-ui/lib/theme-chalk/button.css\"","webpack://map-side-bar/external \"core-js/modules/web.url\"","webpack://map-side-bar/external \"element-ui/lib/theme-chalk/loading.css\"","webpack://map-side-bar/./src/components/ContextCard.vue?40bb","webpack://map-side-bar/./src/components/SidebarContent.vue?3a7c","webpack://map-side-bar/./src/components/ContextCard.vue?c61d","webpack://map-side-bar/external \"element-ui/lib/drawer\"","webpack://map-side-bar/external \"@abi-software/svg-sprite\"","webpack://map-side-bar/external \"core-js/modules/es.object.get-own-property-descriptors\"","webpack://map-side-bar/external \"core-js/modules/es.string.split\"","webpack://map-side-bar/external \"core-js/modules/es.set\"","webpack://map-side-bar/external \"core-js/modules/es.array.filter\"","webpack://map-side-bar/external \"element-ui/lib/theme-chalk/card.css\"","webpack://map-side-bar/external \"element-ui/lib/theme-chalk/drawer.css\"","webpack://map-side-bar/external \"core-js/modules/es.symbol.description\"","webpack://map-side-bar/external \"core-js/modules/es.regexp.exec\"","webpack://map-side-bar/external \"element-ui/lib/button\"","webpack://map-side-bar/external \"core-js/modules/es.regexp.to-string\"","webpack://map-side-bar/external \"core-js/modules/es.symbol\"","webpack://map-side-bar/./src/components/SideBar.vue?4648","webpack://map-side-bar/external \"core-js/modules/es.array.slice\"","webpack://map-side-bar/external \"core-js/modules/es.object.get-own-property-descriptor\"","webpack://map-side-bar/external \"element-ui/lib/cascader\"","webpack://map-side-bar/external \"element-ui/lib/locale/lang/en\"","webpack://map-side-bar/./src/components/Tabs.vue?bd49","webpack://map-side-bar/external \"element-ui/lib/theme-chalk/cascader.css\"","webpack://map-side-bar/./src/components/SearchFilters.vue?0e2d","webpack://map-side-bar/external \"core-js/modules/es.number.constructor\"","webpack://map-side-bar/external \"regenerator-runtime/runtime\"","webpack://map-side-bar/external \"core-js/modules/es.array.splice\"","webpack://map-side-bar/external \"element-ui/lib/link\"","webpack://map-side-bar/external \"element-ui/lib/locale\"","webpack://map-side-bar/external \"element-ui/lib/theme-chalk/option.css\"","webpack://map-side-bar/external \"core-js/modules/es.promise\"","webpack://map-side-bar/external \"core-js/modules/es.object.to-string\"","webpack://map-side-bar/external \"vue\"","webpack://map-side-bar/external \"core-js/modules/es.array.iterator\"","webpack://map-side-bar/external \"element-ui/lib/theme-chalk/icon.css\"","webpack://map-side-bar/external \"core-js/modules/es.string.iterator\"","webpack://map-side-bar/external \"element-ui/lib/theme-chalk/base.css\"","webpack://map-side-bar/./assets/missing-image.svg","webpack://map-side-bar/./src/components/SideBar.vue?2d57","webpack://map-side-bar/external \"element-ui/lib/theme-chalk/input.css\"","webpack://map-side-bar/external \"core-js/modules/es.array.includes\"","webpack://map-side-bar/external \"element-ui/lib/loading\"","webpack://map-side-bar/external \"element-ui/lib/card\"","webpack://map-side-bar/external \"element-ui/lib/icon\"","webpack://map-side-bar/external \"core-js/modules/es.function.name\"","webpack://map-side-bar/external \"core-js/modules/web.dom-collections.for-each\"","webpack://map-side-bar/external \"core-js/modules/es.string.replace\"","webpack://map-side-bar/external \"element-ui/lib/option\"","webpack://map-side-bar/./src/components/SidebarContent.vue?c4e6","webpack://map-side-bar/external \"current-script-polyfill\"","webpack://map-side-bar/./src/components/DatasetCard.vue?e435","webpack://map-side-bar/external \"core-js/modules/es.array.from\"","webpack://map-side-bar/external \"element-ui/lib/input\"","webpack://map-side-bar/external \"core-js/modules/es.object.entries\"","webpack://map-side-bar/external \"core-js/modules/es.array.map\"","webpack://map-side-bar/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://map-side-bar/./src/components/SideBar.vue?af28","webpack://map-side-bar/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://map-side-bar/./src/components/SidebarContent.vue?d00e","webpack://map-side-bar/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://map-side-bar/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://map-side-bar/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://map-side-bar/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://map-side-bar/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://map-side-bar/./src/components/SearchFilters.vue?8ff4","webpack://map-side-bar/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://map-side-bar/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://map-side-bar/./node_modules/@babel/runtime/helpers/esm/toArray.js","webpack://map-side-bar/src/components/Cascader.vue","webpack://map-side-bar/./src/components/Cascader.vue?9729","webpack://map-side-bar/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://map-side-bar/./src/components/Cascader.vue","webpack://map-side-bar/./src/components/species-map.js","webpack://map-side-bar/src/components/SearchFilters.vue","webpack://map-side-bar/./src/components/SearchFilters.vue?8079","webpack://map-side-bar/./src/components/SearchFilters.vue","webpack://map-side-bar/./src/components/DatasetCard.vue?5110","webpack://map-side-bar/./src/components/EventBus.js","webpack://map-side-bar/./src/components/scaffold-meta-map.js","webpack://map-side-bar/src/components/DatasetCard.vue","webpack://map-side-bar/./src/components/DatasetCard.vue?d021","webpack://map-side-bar/./src/components/DatasetCard.vue","webpack://map-side-bar/./src/components/ContextCard.vue?1ea0","webpack://map-side-bar/src/components/ContextCard.vue","webpack://map-side-bar/./src/components/ContextCard.vue?667e","webpack://map-side-bar/./src/components/ContextCard.vue","webpack://map-side-bar/src/components/SidebarContent.vue","webpack://map-side-bar/./src/components/SidebarContent.vue?7e01","webpack://map-side-bar/./src/components/SidebarContent.vue","webpack://map-side-bar/./src/components/Tabs.vue?9368","webpack://map-side-bar/src/components/Tabs.vue","webpack://map-side-bar/./src/components/Tabs.vue?3d38","webpack://map-side-bar/./src/components/Tabs.vue","webpack://map-side-bar/src/components/SideBar.vue","webpack://map-side-bar/./src/components/SideBar.vue?b259","webpack://map-side-bar/./src/components/SideBar.vue","webpack://map-side-bar/./src/components/index.js","webpack://map-side-bar/./node_modules/@vue/cli-service/lib/commands/build/entry-lib-no-default.js","webpack://map-side-bar/external \"core-js/modules/es.string.includes\""],"names":["_defineProperty","obj","key","value","Object","defineProperty","enumerable","configurable","writable","_arrayWithoutHoles","arr","Array","isArray","i","arr2","length","_iterableToArray","iter","Symbol","iterator","prototype","toString","call","from","_nonIterableSpread","TypeError","_toConsumableArray","arrayWithoutHoles","iterableToArray","nonIterableSpread","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_arrayWithHoles","_nonIterableRest","_toArray","arrayWithHoles","nonIterableRest","EventBus","Vue","version","meta_file","contextCard","title","description","bannerImage","keys","image","text"],"mappings":"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AA,YACA,IADA;;AAEA;AACA;;AACA;AACA;AACA;AACA,qBADA;AAEA,0CAFA;AAGA;AAHA;AAKA,WANA,MAMA;AACA;AAAA;AAAA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AArCA;AAHA,G;;ACJkU,CAAgB,gHAAG,EAAC,C;;ACAtV;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AC5FA,IAAI,eAAM,EAAE,wBAAe;AACiC;AACL;;;AAGvD;AAC0F;AAC1F,gBAAgB,kBAAU;AAC1B,EAAE,2CAAM;AACR,EAAE,eAAM;AACR,EAAE,wBAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,8D;;AClBA;AACX,kBAAgB,OADL;AAEX,uBAAqB,KAFV;AAGX,kBAAgB,OAHL;AAIX,2BAAyB,KAJd;AAKX,gBAAc,MALH;AAMX,iBAAe;AANJ,CAAf,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACuCA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAFA;;AAIA;AACA;;AACA;AACA;AACA,GAFA,MAEA;AACA;AACA;AACA,CAPA;;AASA;AACA,uBADA;AAEA;AACA,4BADA;AAEA;AAFA,GAFA;AAMA;AACA;;;;AAIA,iBALA;AAMA;AACA,kBADA;AAEA;AAFA;AANA,GANA;AAiBA;AACA;AACA,4BADA;AAEA;AACA,sBADA;AAEA,qBAFA;AAGA,oBAHA;AAIA;AAJA,OAFA;AAQA,uBARA;AASA,2BATA;AAUA,yBAVA;AAWA,qBAXA;AAYA,iBAZA;AAaA,wDAbA;AAcA,6CAdA;AAeA;AAAA;AAAA,OAfA;AAgBA,gBACA;AACA,wBADA;AAEA,wBAFA;AAGA;AAHA,OADA;AAhBA;AAwBA,GA1CA;AA2CA;AACA;AACA;AACA;AAHA,GA3CA;AAgDA;AACA;AACA,gDACA;AACA,KAJA;AAKA;AAAA;;AACA;AACA;AACA;;AAFA,mCAGA,CAHA;AAIA;AACA,iDACA,6BADA,EAEA,SAFA,CADA;AAKA,6FALA;AAMA;AANA;;AAQA,2BACA;AACA;AACA;AACA;AACA,qDACA,6BADA,EAEA,uBAFA,CADA;AAKA,2FALA,CAKA;;AALA;AAOA;AACA,WAXA,CADA;AAZA;;AAGA;AAAA;AAuBA;;AACA;AACA;AACA,SAFA;AAGA,OA9BA;AA+BA,KArCA;AAsCA;AAAA;;AACA;AACA;AACA;AACA;AACA;AACA,SAFA;AAGA;;AACA;AACA,kCADA,CACA;;AACA;;AACA,mFACA;AACA;AACA,wCADA,CACA;AACA,WAFA;AAGA,uDAJA,CAIA;AACA,SANA;AAQA,OAXA;AAYA,KA1DA;AA2DA;AACA;AACA;AACA,KA9DA;AA+DA;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;AACA,KArEA;AAsEA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,gCAjBA,CAiBA;;AACA;AACA,KAzFA;AA0FA;AACA;AACA,6BACA,GADA,CACA;AAAA;AAAA,OADA,EAEA,QAFA,CAEA,IAFA,EAFA,CAKA;;AACA;AACA;AACA,2BAFA,CAGA;;AACA;AACA;AACA;AACA,SAPA,CASA;;;AACA;AACA,kCADA,CAEA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA,+CACA,8EADA,KAEA;A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CA;;AACA;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA;AACA;;AACA;AACA,KAhCA;AAiCA;AACA;AACA,KAnCA;AAoCA;AACA;AACA;AAtCA,GAtBA;AA8DA;AACA;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;AACA,KAPA;AAQA;AACA;AACA,wEADA;AAEA,2GAFA;AAGA,iCAHA;AAIA,wBAJA;AAKA,mCALA;AAMA;AANA;AAQA;AACA,KAlBA;AAmBA;AACA;AACA,wEADA;AAEA,0GAFA;AAGA,0BAHA;AAIA,oBAJA;AAKA;AALA;AAOA;AACA,KA5BA;AA6BA;AACA;AACA,KA/BA;AAgCA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA,WAXA;;AAYA;AAAA;AAAA;AACA;AACA,OAnBA;AAoBA,KAtDA;AAuDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAHA,MAGA;AACA;AACA;AACA,OAPA;AAQA;AACA,wBADA;AAEA,0BAFA;AAGA,kCAHA;AAIA,kCAJA;AAKA,gCALA;AAMA,6BANA;AAOA,2CAPA;AAQA;AARA;AAUA;AACA,KA7EA;AA8EA;AACA;AACA;AACA;AACA,KAlFA;AAmFA;AACA;AACA,KArFA;AAsFA;AACA;AACA,KAxFA;AAyFA;AACA;AACA,KA3FA;AA4FA;AACA;AACA,KA9FA;AA+FA;AAAA;;AACA;AACA,kGACA,IADA,CACA;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA;AACA,OAPA,EAQA,IARA,CAQA;AACA;AACA;AACA;AACA;AACA,OAbA,EAcA,KAdA,CAcA;AACA;AACA;AACA;AACA,OAlBA;AAmBA,KApHA;AAqHA;AACA;AACA;AAvHA,GA9DA;AAuLA;AACA;AACA;AACA,GA1LA;AA2LA,+BACA,CA5LA;AA6LA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AANA;AA7LA,G;;ACvDqU,CAAgB,sHAAG,EAAC,C;;;;;ACAnP;AACvC;AACL;AACqC;;;AAG/F;AAC0F;AAC1F,IAAI,qBAAS,GAAG,kBAAU;AAC1B,EAAE,8CAAM;AACR,EAAE,2DAAM;AACR,EAAE,oEAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,qEAAS,Q;;ACnBxB,IAAI,2DAAM,gBAAgB,aAAa,0BAA0B,wBAAwB,iBAAiB,qDAAqD,YAAY,aAAa,8EAA8E,yBAAyB,yBAAyB,qCAAqC,qCAAqC,+BAA+B,cAAc,aAAa,gFAAgF,yBAAyB,yBAAyB,qCAAqC,qCAAqC,iCAAiC,kBAAkB,aAAa,8EAA8E,yCAAyC,cAAc,gFAAgF,YAAY,6CAA6C,6BAA6B,YAAY,yBAAyB,YAAY,oBAAoB,4HAA4H,iBAAiB,aAAa,aAAa,iBAAiB,YAAY,aAAa,gBAAgB,QAAQ,iBAAiB,kCAAkC;AACp1C,IAAI,oEAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACmBnB;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA,qBADA;AAEA;AACA;;;;AAIA;AALA,GAFA;AASA;AACA;AACA;AADA;AAGA,GAbA;AAcA,cAdA;AAiBA;AAjBA,G;;ACpCqU,CAAgB,sHAAG,EAAC,C;;;;;ACAnP;AACvC;AACL;AACqC;;;AAG/F;AAC0F;AAC1F,IAAI,qBAAS,GAAG,kBAAU;AAC1B,EAAE,8CAAM;AACR,EAAE,2DAAM;AACR,EAAE,oEAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,qEAAS,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC4BxB;AACA;AAUA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iD,CAEA;AACA;;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBACA,WADA;AAAA;AAAA;AAAA;;AAAA;AAAA,mBAEA,eAFA;;AAAA;AAEA,iBAFA;;AAAA,iBAGA,KAHA;AAAA;AAAA;AAAA;;AAAA,kBAIA,wBAJA;;AAAA;AAAA,kBAMA,mBANA;;AAAA;AAAA,6CASA,QATA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAYA;AACA,iBADA;AAEA,gBAFA;AAGA,aAHA;AAIA,iBAJA;AAKA,YALA;AAMA,yBANA;AAOA,qBAPA;AAQA,mBARA;AASA,SATA;AAUA,cAVA;AAWA,UAXA;AAYA,oBAZA;AAaA;AAbA;AAgBA;AACA;AAAA;AAAA;AAAA;AAAA,GADA;AAEA,wBAFA;AAGA;AACA;AACA,mBADA;AAEA;AAFA,KADA;AAKA;AACA,mBADA;AAEA;AAFA,KALA;AASA;AACA,kBADA;AAEA;AAAA;AAAA;AAFA,KATA;AAaA;AACA,kBADA;AAEA;AAFA,KAbA;AAiBA;AACA,kBADA;AAEA;AAFA,KAjBA;AAqBA;AACA,kBADA;AAEA;AAFA;AArBA,GAHA;AA6BA;AACA,6BACA,UADA;AAEA;AACA,wBADA;AAEA,6BAFA;AAGA;AAHA;AAFA;AAQA,GAtCA;AAuCA;AACA;AACA;AACA;AACA,uCADA;AAEA;AAFA;AAIA;AAPA,GAvCA;AAgDA;AACA,4CACA;AAAA,UADA,MACA,uEADA,SACA;AAAA;AAAA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA,KAVA;AAWA;AACA;AACA;AACA;AACA,KAfA;AAgBA;AAAA;;AACA;AACA;AACA;AACA;AACA,KArBA;AAsBA;AACA;AACA;AACA;AACA;AACA,0BADA;AAEA;AAFA;AAIA,KA9BA;AA+BA;AACA;AACA;AACA,KAlCA;AAmCA;AACA;AACA;AACA,KAtCA;AAuCA,sDACA;AAAA;;AAAA,UADA,MACA,uEADA,SACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA,mBACA;AACA;AAAA;AAAA;AAAA;AACA,2EACA,IADA,CACA;AACA;AACA;AACA;;AACA;;AACA;AACA;AACA,OARA,EASA,KATA,CASA;AACA;AACA;AACA;AACA;AACA,OAdA;AAeA,KA/DA;AAgEA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA,KArEA;AAsEA;AACA;A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","file":"map-side-bar.common.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fae3\");\n","module.exports = require(\"element-ui/lib/pagination\");","module.exports = require(\"core-js/modules/es.symbol.iterator\");","module.exports = require(\"element-ui/lib/theme-chalk/pagination.css\");","module.exports = require(\"core-js/modules/es.parse-int\");","module.exports = require(\"element-ui/lib/select\");","module.exports = require(\"element-ui/lib/theme-chalk/select.css\");","module.exports = require(\"core-js/modules/es.array.for-each\");","// extracted by mini-css-extract-plugin","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tabs.vue?vue&type=style&index=0&id=5d1b9484&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tabs.vue?vue&type=style&index=0&id=5d1b9484&scoped=true&lang=css&\"","module.exports = require(\"core-js/modules/es.array.concat\");","module.exports = require(\"core-js/modules/web.dom-collections.iterator\");","module.exports = require(\"core-js/modules/es.object.keys\");","module.exports = require(\"element-ui/lib/theme-chalk/link.css\");","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatasetCard.vue?vue&type=style&index=0&id=0b100df4&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatasetCard.vue?vue&type=style&index=0&id=0b100df4&scoped=true&lang=css&\"","module.exports = require(\"element-ui/lib/theme-chalk/button.css\");","module.exports = require(\"core-js/modules/web.url\");","module.exports = require(\"element-ui/lib/theme-chalk/loading.css\");","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContextCard.vue?vue&type=style&index=0&id=17e861eb&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContextCard.vue?vue&type=style&index=0&id=17e861eb&scoped=true&lang=css&\"","module.exports = require(\"element-ui/lib/drawer\");","module.exports = require(\"@abi-software/svg-sprite\");","module.exports = require(\"core-js/modules/es.object.get-own-property-descriptors\");","module.exports = require(\"core-js/modules/es.string.split\");","module.exports = require(\"core-js/modules/es.set\");","module.exports = require(\"core-js/modules/es.array.filter\");","module.exports = require(\"element-ui/lib/theme-chalk/card.css\");","module.exports = require(\"element-ui/lib/theme-chalk/drawer.css\");","module.exports = require(\"core-js/modules/es.symbol.description\");","module.exports = require(\"core-js/modules/es.regexp.exec\");","module.exports = require(\"element-ui/lib/button\");","module.exports = require(\"core-js/modules/es.regexp.to-string\");","module.exports = require(\"core-js/modules/es.symbol\");","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SideBar.vue?vue&type=style&index=0&id=a53cebae&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SideBar.vue?vue&type=style&index=0&id=a53cebae&scoped=true&lang=css&\"","module.exports = require(\"core-js/modules/es.array.slice\");","module.exports = require(\"core-js/modules/es.object.get-own-property-descriptor\");","module.exports = require(\"element-ui/lib/cascader\");","module.exports = require(\"element-ui/lib/locale/lang/en\");","// extracted by mini-css-extract-plugin","module.exports = require(\"element-ui/lib/theme-chalk/cascader.css\");","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchFilters.vue?vue&type=style&index=0&id=260d83f6&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchFilters.vue?vue&type=style&index=0&id=260d83f6&scoped=true&lang=css&\"","module.exports = require(\"core-js/modules/es.number.constructor\");","module.exports = require(\"regenerator-runtime/runtime\");","module.exports = require(\"core-js/modules/es.array.splice\");","module.exports = require(\"element-ui/lib/link\");","module.exports = require(\"element-ui/lib/locale\");","module.exports = require(\"element-ui/lib/theme-chalk/option.css\");","module.exports = require(\"core-js/modules/es.promise\");","module.exports = require(\"core-js/modules/es.object.to-string\");","module.exports = require(\"vue\");","module.exports = require(\"core-js/modules/es.array.iterator\");","module.exports = require(\"element-ui/lib/theme-chalk/icon.css\");","module.exports = require(\"core-js/modules/es.string.iterator\");","module.exports = require(\"element-ui/lib/theme-chalk/base.css\");","module.exports = __webpack_public_path__ + \"img/missing-image.1878d8b8.svg\";","// extracted by mini-css-extract-plugin","module.exports = require(\"element-ui/lib/theme-chalk/input.css\");","module.exports = require(\"core-js/modules/es.array.includes\");","module.exports = require(\"element-ui/lib/loading\");","module.exports = require(\"element-ui/lib/card\");","module.exports = require(\"element-ui/lib/icon\");","module.exports = require(\"core-js/modules/es.function.name\");","module.exports = require(\"core-js/modules/web.dom-collections.for-each\");","module.exports = require(\"core-js/modules/es.string.replace\");","module.exports = require(\"element-ui/lib/option\");","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarContent.vue?vue&type=style&index=0&id=638ba01f&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarContent.vue?vue&type=style&index=0&id=638ba01f&scoped=true&lang=css&\"","module.exports = require(\"current-script-polyfill\");","// extracted by mini-css-extract-plugin","module.exports = require(\"core-js/modules/es.array.from\");","module.exports = require(\"element-ui/lib/input\");","module.exports = require(\"core-js/modules/es.object.entries\");","module.exports = require(\"core-js/modules/es.array.map\");","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n require('current-script-polyfill')\n }\n\n var i\n if ((i = window.document.currentScript) && (i = i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_public_path__ = i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"container\"},[(!_vm.drawerOpen)?_c('div',{staticClass:\"open-tab\",on:{\"click\":_vm.toggleDrawer}},[_c('i',{staticClass:\"el-icon-arrow-left\"})]):_vm._e(),_c('el-drawer',{staticClass:\"side-bar\",attrs:{\"custom-class\":\"my-drawer\",\"visible\":_vm.drawerOpen,\"appendToBody\":false,\"modal-append-to-body\":false,\"size\":\"550\",\"with-header\":false,\"wrapperClosable\":false,\"modal\":false},on:{\"update:visible\":function($event){_vm.drawerOpen=$event}}},[_c('div',{staticClass:\"box-card\"},[(_vm.drawerOpen)?_c('div',{staticClass:\"close-tab\",on:{\"click\":_vm.close}},[_c('i',{staticClass:\"el-icon-arrow-right\"})]):_vm._e(),_c('div',{staticClass:\"sidebar-container\"},[(_vm.tabs.length > 1)?_c('tabs',{attrs:{\"tabTitles\":_vm.tabs,\"activeId\":_vm.activeId},on:{\"titleClicked\":_vm.tabClicked}}):_vm._e(),_vm._l((_vm.tabs),function(tab){return [_c('sidebar-content',{directives:[{name:\"show\",rawName:\"v-show\",value:(tab.id===_vm.activeId),expression:\"tab.id===activeId\"}],key:tab.id,ref:tab.id,refInFor:true,staticClass:\"sidebar-content-container\",attrs:{\"contextCardEntry\":tab.contextCard,\"firstSearch\":tab.title,\"apiLocation\":_vm.apiLocation},on:{\"search-changed\":function($event){return _vm.searchChanged(tab.id, $event)}}})]})],2)])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-card',{staticClass:\"content-card\",attrs:{\"body-style\":_vm.bodyStyle}},[_c('div',{staticClass:\"header\",attrs:{\"slot\":\"header\"},slot:\"header\"},[(_vm.contextCardEntry)?_c('context-card',{attrs:{\"entry\":_vm.contextCardEntry}}):_vm._e(),_c('el-input',{staticClass:\"search-input\",attrs:{\"placeholder\":\"Search\",\"clearable\":\"\"},on:{\"clear\":_vm.clearSearchClicked},nativeOn:{\"keyup\":function($event){return _vm.searchEvent($event)}},model:{value:(_vm.searchInput),callback:function ($$v) {_vm.searchInput=$$v},expression:\"searchInput\"}}),_c('el-button',{staticClass:\"button\",on:{\"click\":_vm.searchEvent}},[_vm._v(\"Search\")])],1),_c('SearchFilters',{ref:\"filtersRef\",staticClass:\"filters\",attrs:{\"entry\":_vm.filterEntry,\"apiLocation\":_vm.apiLocation},on:{\"filterResults\":_vm.filterUpdate,\"numberPerPage\":_vm.numberPerPageUpdate}}),_c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loadingCards),expression:\"loadingCards\"}],ref:\"content\",staticClass:\"content scrollbar\"},[(_vm.results.length === 0 && !_vm.loadingCards && !_vm.sciCrunchError)?_c('div',{staticClass:\"error-feedback\"},[_vm._v(\"No results found - Please change your search / filter criteria.\")]):_vm._e(),(_vm.sciCrunchError)?_c('div',{staticClass:\"error-feedback\"},[_vm._v(_vm._s(_vm.sciCrunchError))]):_vm._e(),_vm._l((_vm.results),function(o){return _c('div',{key:o.id,staticClass:\"step-item\"},[_c('DatasetCard',{attrs:{\"entry\":o,\"apiLocation\":_vm.apiLocation}})],1)}),_c('el-pagination',{staticClass:\"pagination\",attrs:{\"current-page\":_vm.page,\"hide-on-single-page\":\"\",\"large\":\"\",\"layout\":\"prev, pager, next\",\"page-size\":_vm.numberPerPage,\"total\":_vm.numberOfHits},on:{\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"current-change\":_vm.pageChange}})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}","export default function _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles\";\nimport iterableToArray from \"./iterableToArray\";\nimport nonIterableSpread from \"./nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread();\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"filters\"},[_c('SvgSpriteColor'),_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"}},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showFilters),expression:\"showFilters\"}],staticClass:\"search-filters transition-box\"},[_c('custom-cascader',{ref:\"cascader\",staticClass:\"cascader\",attrs:{\"placeholder\":\"\",\"collapse-tags\":true,\"options\":_vm.options,\"props\":_vm.props,\"show-all-levels\":false,\"append-to-body\":false},on:{\"change\":function($event){return _vm.cascadeEvent($event)},\"expand-change\":_vm.cascadeExpandChange,\"tags-changed\":_vm.tagsChangedCallback},model:{value:(_vm.cascadeSelected),callback:function ($$v) {_vm.cascadeSelected=$$v},expression:\"cascadeSelected\"}}),(_vm.showFiltersText)?_c('div',{staticClass:\"filter-default-value\"},[_c('svg-icon',{staticClass:\"filter-icon-inside\",attrs:{\"icon\":\"noun-filter\"}}),_vm._v(\"Apply Filters \")],1):_vm._e()],1)]),_c('el-select',{staticClass:\"number-shown-select\",attrs:{\"placeholder\":\"10\"},on:{\"change\":function($event){return _vm.numberShownChanged($event)}},model:{value:(_vm.numberShown),callback:function ($$v) {_vm.numberShown=$$v},expression:\"numberShown\"}},_vm._l((_vm.numberDatasetsShown),function(item){return _c('el-option',{key:item,attrs:{\"label\":item,\"value\":item}})}),1),_c('span',{staticClass:\"dataset-results-feedback\"},[_vm._v(_vm._s(this.numberOfResultsText))])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArray from \"./iterableToArray\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || nonIterableRest();\n}","<script>\n/* eslint-disable no-alert, no-console */\nimport { Cascader } from \"element-ui\";\n\nexport default {\n name: 'CustomCascader',\n extends: Cascader,\n methods:{\n //Modify this internal function to disable Show all tags\n computePresentTags() {\n const { isDisabled, leafOnly, showAllLevels, separator, collapseTags } = this;\n const checkedNodes = this.getCheckedNodes(leafOnly);\n const tags = [];\n const genTag = node => ({\n node,\n key: node.uid,\n text: node.getText(showAllLevels, separator),\n hitState: false,\n closable: !isDisabled && !node.isDisabled\n });\n let customNodes = checkedNodes.filter(node =>\n {\n return !(node.getText(showAllLevels, separator).includes(\"Show all\"));\n }\n );\n if (customNodes.length) {\n const [first, ...rest] = customNodes;\n const restCount = rest.length;\n tags.push(genTag(first));\n if (restCount) {\n if (collapseTags) {\n tags.push({\n key: -1,\n text: `+ ${restCount}`,\n closable: false\n });\n } else {\n rest.forEach(node => tags.push(genTag(node)));\n }\n }\n }\n this.checkedNodes = checkedNodes;\n this.presentTags = tags;\n this.$emit(\"tags-changed\", this.presentTags);\n }\n }\n}\n\n</script>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Cascader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Cascader.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","var render, staticRenderFns\nimport script from \"./Cascader.vue?vue&type=script&lang=js&\"\nexport * from \"./Cascader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default {\n 'homo sapiens': 'Human',\n 'rattus norvegicus': 'Rat',\n 'mus musculus': 'Mouse',\n 'sus scrofa domesticus': 'Pig',\n 'sus scrofa': 'Boar',\n 'felis catus': 'Cat'\n}\n","<template>\n <div class=\"filters\">\n <SvgSpriteColor />\n <transition name=\"el-zoom-in-top\">\n <span v-show=\"showFilters\" class=\"search-filters transition-box\">\n <custom-cascader\n class=\"cascader\"\n ref=\"cascader\"\n v-model=\"cascadeSelected\"\n placeholder\n :collapse-tags=\"true\"\n :options=\"options\"\n :props=\"props\"\n @change=\"cascadeEvent($event)\"\n @expand-change=\"cascadeExpandChange\"\n :show-all-levels=\"false\"\n :append-to-body=\"false\"\n @tags-changed=\"tagsChangedCallback\"\n ></custom-cascader>\n <div v-if=\"showFiltersText\" class=\"filter-default-value\">\n <svg-icon icon=\"noun-filter\" class=\"filter-icon-inside\" />Apply Filters\n </div>\n </span>\n </transition>\n\n <el-select\n class=\"number-shown-select\"\n v-model=\"numberShown\"\n placeholder=\"10\"\n @change=\"numberShownChanged($event)\"\n >\n <el-option v-for=\"item in numberDatasetsShown\" :key=\"item\" :label=\"item\" :value=\"item\"></el-option>\n </el-select>\n <span class=\"dataset-results-feedback\">{{this.numberOfResultsText}}</span>\n </div>\n</template>\n\n\n<script>\n/* eslint-disable no-alert, no-console */\nimport Vue from \"vue\";\nimport { Option, Select } from \"element-ui\";\nimport CustomCascader from \"./Cascader\";\nimport lang from \"element-ui/lib/locale/lang/en\";\nimport locale from \"element-ui/lib/locale\";\nimport speciesMap from \"./species-map\";\nimport { SvgIcon, SvgSpriteColor } from \"@abi-software/svg-sprite\";\n\nVue.component(\"svg-icon\", SvgIcon);\n\nlocale.use(lang);\nVue.use(Option);\nVue.use(Select);\n\nconst capitalise = function(txt) {\n return txt.charAt(0).toUpperCase() + txt.slice(1);\n};\n\nconst convertReadableLabel = function(original) {\n const name = original.toLowerCase();\n if (speciesMap[name]){\n return capitalise(speciesMap[name]);\n } else {\n return capitalise(name);\n }\n}\n\nexport default {\n name: \"SearchFilters\",\n components: {\n CustomCascader,\n SvgSpriteColor\n },\n props: {\n /**\n * Object containing information for\n * the required viewing.\n */\n entry: Object,\n apiLocation: {\n type: String,\n default: \"\"\n }\n },\n data: function() {\n return {\n cascaderIsReady: false,\n previousShowAllChecked: {\n species: false,\n gender: false,\n organ: false,\n datasets: false\n },\n showFilters: true,\n showFiltersText: true,\n cascadeSelected: [],\n numberShown: 10,\n filters: [],\n facets: [\"Species\", \"Gender\", \"Organ\", \"Datasets\"],\n numberDatasetsShown: [\"10\", \"20\", \"50\"],\n props: { multiple: true },\n options: [\n {\n value: \"Species\",\n label: \"Species\",\n children: [{}]\n }\n ]\n };\n },\n computed: {\n numberOfResultsText: function() {\n return `${this.entry.numberOfHits} results | Showing`;\n }\n },\n methods: {\n createCascaderItemValue: function(term, facet) {\n if (facet) return term + \"/\" + facet;\n else return term;\n },\n populateCascader: function() {\n return new Promise(resolve => {\n this.options = [];\n let promiseList = [];\n for (let i in this.facets) {\n this.options.push({\n value: this.createCascaderItemValue(\n this.facets[i].toLowerCase(),\n undefined\n ),\n label: convertReadableLabel(this.facets[i]),\n children: []\n });\n promiseList.push(\n this.getFacet(this.facets[i]).then(labels => {\n // Populate children of each facet with scicrunch's facets\n for (let j in labels) {\n this.options[i].children.push({\n value: this.createCascaderItemValue(\n this.facets[i].toLowerCase(),\n labels[j].toLowerCase()\n ),\n label: convertReadableLabel(labels[j]) // Capitalisation is to match design specs\n });\n }\n })\n );\n }\n Promise.allSettled(promiseList).then(() => {\n resolve();\n });\n });\n },\n getFacet: function(facetLabel) {\n if (facetLabel === \"Datasets\") {\n // The datasets facet doesn't exist on SciCrunch yet, so manually set it\n // for now.\n return new Promise(resolve => {\n resolve([...new Set([\"Show all\", \"Scaffolds\", \"Simulations\"])]);\n });\n }\n return new Promise(resolve => {\n let facets = [\"Show all\"]; // Set 'Show all' as our first label\n let facet = facetLabel.toLowerCase();\n this.callSciCrunch(this.apiLocation, this.facetEndpoint, facet).then(\n facet_terms => {\n facet_terms.forEach(element => {\n facets.push(element[\"key\"]); // add facets that scicrunch includes\n });\n resolve([...new Set(facets)]); // return no duplicates\n }\n );\n });\n },\n // switchTermToRequest is used to remove the count for sending a request to scicrunch\n switchTermToRequest: function(term) {\n return term.split(\" \")[0].toLowerCase();\n },\n tagsChangedCallback: function(presentTags) {\n if (presentTags.length > 0) {\n this.showFiltersText = false;\n } else {\n this.showFiltersText = true;\n }\n },\n cascadeEvent: function(event) {\n let filters = [];\n if (event) {\n // Check for show all in selected cascade options\n event = this.showAllEventModifier(event);\n for (let i in event) {\n if (event[i] !== undefined) {\n let value = event[i][1];\n let data = value.split(\"/\");\n let output = {};\n output.term = this.switchTermToRequest(data[0]);\n output.facet = data[1];\n filters.push(output);\n }\n }\n }\n this.$emit(\"filterResults\", filters);\n this.setCascader(filters); //update our cascader v-model if we modified the event\n this.makeCascadeLabelsClickable();\n },\n showAllEventModifier: function(event) {\n // check if show all is in the cascader checked option list\n let hasShowAll = event\n .map(ev => (ev ? ev[1].toLowerCase().includes(\"show all\") : false))\n .includes(true);\n // remove all selected options below the show all if checked\n if (hasShowAll) {\n let modifiedEvent = [];\n let facetMaps = {};\n //catagorised different facet items\n for (const i in event) {\n if (facetMaps[event[i][0]] === undefined) facetMaps[event[i][0]] = [];\n facetMaps[event[i][0]].push(event[i]);\n }\n\n // go through each facets\n for (const facet in facetMaps) {\n let showAll = undefined;\n // Find the show all item if any\n for (let i = facetMaps[facet].length - 1; i >= 0; i--) {\n if (facetMaps[facet][i][1].toLowerCase().includes(\"show all\")) {\n //seperate the showAll item and the rest\n showAll = facetMaps[facet].splice(i, 1)[0];\n break;\n }\n }\n if (showAll) {\n if (this.previousShowAllChecked[facet]) {\n //Unset the show all if it was present previously\n //and there are other items\n if (facetMaps[facet].length > 0)\n modifiedEvent.push(...facetMaps[facet]);\n else modifiedEvent.push(showAll);\n } else {\n //showAll is turned on\n modifiedEvent.push(showAll);\n }\n } else {\n modifiedEvent.push(...facetMaps[facet]);\n }\n }\n return modifiedEvent;\n }\n return event;\n },\n cascadeExpandChange: function() {\n this.makeCascadeLabelsClickable();\n },\n numberShownChanged: function(event) {\n this.$emit(\"numberPerPage\", parseInt(event));\n },\n callSciCrunch: function(apiLocation, endpoint, term) {\n return new Promise(resolve => {\n fetch(apiLocation + endpoint + term)\n .then(response => response.json())\n .then(data => {\n resolve(data);\n });\n });\n },\n updatePreviousShowAllChecked: function(options) {\n //Reset the states\n for (const facet in this.previousShowAllChecked) {\n this.previousShowAllChecked[facet] = false;\n }\n options.forEach(element => {\n if (element[1].toLowerCase().includes(\"show all\"))\n this.previousShowAllChecked[element[0]] = true;\n });\n },\n setCascader: function(filterFacets) {\n //Do not set the value unless it is ready\n if (this.cascaderIsReady) {\n this.cascadeSelected = [];\n filterFacets.forEach(e => {\n this.cascadeSelected.push([\n e.term.toLowerCase(),\n this.createCascaderItemValue(\n e.term.toLowerCase(),\n e.facet.toLowerCase()\n )\n ]);\n });\n this.updatePreviousShowAllChecked(this.cascadeSelected);\n }\n },\n makeCascadeLabelsClickable: function() {\n // Next tick allows the cascader menu to change\n this.$nextTick(() => {\n this.$refs.cascader.$el\n .querySelectorAll(\".el-cascader-node__label\")\n .forEach(el => {\n // step through each cascade label\n el.onclick = function() {\n const checkbox = this.previousElementSibling;\n if (checkbox) {\n if (!checkbox.parentElement.attributes[\"aria-owns\"]) {\n // check if we are at the lowest level of cascader\n this.previousElementSibling.click(); // Click the checkbox\n }\n }\n };\n });\n });\n }\n },\n created: function() {\n //Create non-reactive local variables\n this.facetEndpoint = \"get-facets/\";\n },\n mounted: function() {\n this.populateCascader().then(() => {\n this.cascaderIsReady = true;\n this.setCascader(this.entry.filterFacets);\n this.makeCascadeLabelsClickable();\n });\n }\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped>\n.filter-default-value {\n pointer-events: none;\n position: absolute;\n top: 0;\n left: 0;\n padding-top: 10px;\n padding-left: 16px;\n}\n\n.filter-icon-inside {\n width: 12px !important;\n height: 12px !important;\n color: #292b66;\n transform: scale(2) !important;\n margin-bottom: 0px !important;\n}\n\n.cascader {\n font-family: Asap;\n font-size: 14px;\n font-weight: 500;\n font-stretch: normal;\n font-style: normal;\n line-height: normal;\n letter-spacing: normal;\n color: #292b66;\n text-align: center;\n padding-bottom: 6px;\n}\n\n.cascader >>> .el-scrollbar__wrap {\n overflow-x: hidden;\n margin-bottom: 2px !important;\n}\n\n.cascader >>> li[aria-owns*=\"cascader\"] > .el-checkbox {\n display: none;\n}\n\n.dataset-results-feedback {\n float: right;\n text-align: right;\n color: rgb(48, 49, 51);\n font-family: Asap;\n font-size: 18px;\n font-weight: 500;\n padding-top: 8px;\n}\n\n.search-filters {\n position: relative;\n float: left;\n padding-right: 15px;\n padding-bottom: 12px;\n}\n\n.number-shown-select {\n float: right;\n}\n\n.number-shown-select >>> .el-input__inner {\n width: 68px;\n height: 40px;\n color: rgb(48, 49, 51);\n}\n\n.search-filters >>> .el-cascader-node.is-active {\n color: #8300bf;\n}\n\n.search-filters >>> .el-cascader-node.in-active-path {\n color: #8300bf;\n}\n\n.search-filters >>> .el-checkbox__input.is-checked > .el-checkbox__inner {\n background-color: #8300bf;\n border-color: #8300bf;\n}\n\n.cascader >>> .el-cascader-menu:nth-child(2) .el-cascader-node:first-child {\n border-bottom: 1px solid #e4e7ed;\n}\n\n.cascader >>> .el-cascader-node__label {\n text-align: left;\n}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchFilters.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchFilters.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SearchFilters.vue?vue&type=template&id=260d83f6&scoped=true&\"\nimport script from \"./SearchFilters.vue?vue&type=script&lang=js&\"\nexport * from \"./SearchFilters.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SearchFilters.vue?vue&type=style&index=0&id=260d83f6&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"260d83f6\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"container\",staticClass:\"dataset-card-container\"},[_c('div',{ref:\"card\",class:_vm.expanded ? 'dataset-card-expanded' : 'dataset-card'},[(_vm.entry.id !== 0)?_c('div',{staticClass:\"seperator-path\"}):_vm._e(),_c('div',{staticClass:\"card\"},[_c('span',{staticClass:\"card-left\"},[_c('img',{staticClass:\"banner-img\",attrs:{\"svg-inline\":\"\",\"src\":_vm.thumbnail},on:{\"click\":_vm.openDataset}})]),_c('div',{staticClass:\"card-right\"},[_c('div',{staticClass:\"title\",on:{\"click\":_vm.cardClicked}},[_vm._v(_vm._s(_vm.entry.name))]),_c('div',{staticClass:\"details\"},[_vm._v(_vm._s(_vm.contributors)+\" \"+_vm._s(_vm.entry.publishDate ? (\"(\" + _vm.publishYear + \")\") : ''))]),_c('div',{staticClass:\"details\"},[_vm._v(_vm._s(_vm.samples))]),_c('div',{staticClass:\"details\"},[_vm._v(\"id: \"+_vm._s(_vm.discoverId))]),_c('div',[(!_vm.entry.simulation)?_c('el-button',{staticClass:\"button\",attrs:{\"size\":\"mini\",\"icon\":\"el-icon-coin\"},on:{\"click\":_vm.openDataset}},[_vm._v(\"View dataset\")]):_vm._e()],1),_c('div',[(_vm.entry.scaffolds)?_c('el-button',{staticClass:\"button\",attrs:{\"size\":\"mini\",\"icon\":\"el-icon-view\"},on:{\"click\":_vm.openScaffold}},[_vm._v(\"View scaffold\")]):_vm._e()],1),_c('div',[(_vm.hasCSVFile)?_c('el-button',{staticClass:\"button\",attrs:{\"size\":\"mini\",\"icon\":\"el-icon-view\"},on:{\"click\":_vm.openPlot}},[_vm._v(\"View plot\")]):_vm._e()],1),_c('div',[(_vm.entry.simulation)?_c('el-button',{staticClass:\"button\",attrs:{\"size\":\"mini\",\"icon\":\"el-icon-view\"},on:{\"click\":_vm.openRepository}},[_vm._v(\"View repository\")]):_vm._e()],1),_c('div',[(_vm.entry.simulation)?_c('el-button',{staticClass:\"button\",attrs:{\"size\":\"mini\",\"icon\":\"el-icon-view\"},on:{\"click\":_vm.openSimulation}},[_vm._v(\"View simulation\")]):_vm._e()],1)])]),((_vm.cardOverflow && !_vm.expanded))?_c('p',{staticClass:\"read-more\"},[_c('el-button',{staticClass:\"read-more-button\",on:{\"click\":_vm.expand}},[_vm._v(\"Read more...\")])],1):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue';\nconst EventBus = new Vue();\nexport default EventBus;\n","export default {\n 77: {\n version: 2, meta_file: 'integrated_metadata.json', contextCard: {\n title: \"ICN fitted Scaffold\",\n description: \"Points are mapped to their positions on a 3d heart that is mapped to the data.\",\n bannerImage: 'https://raw.githubusercontent.com/Tehsurfer/map-sidebar/tabs/assets/temp-pics/icn.png',\n keys: [{\n image: \"https://raw.githubusercontent.com/Tehsurfer/map-sidebar/tabs/assets/temp-pics/orange.png\",\n text: \"ICN Subject 54-8\"\n }, {\n image: \"https://raw.githubusercontent.com/Tehsurfer/map-sidebar/tabs/assets/temp-pics/teal.png\",\n text: \"ICN Subject 54-5\"\n }\n ]\n },\n },\n 76: { version: 2, meta_file: 'mouseColon_metadata.json' },\n 32: {\n version: 3, meta_file: 'mouse-heart-071020_metadata.json', contextCard: {\n title: \"Neural paths mapped to a heart scaffold\",\n description: \"Points are mapped to their positions on a 3d heart that is mapped to the data.\",\n bannerImage: 'https://raw.githubusercontent.com/Tehsurfer/map-sidebar/tabs/assets/temp-pics/aNIksBFARaKwlKhpnDCKbA.png',\n keys: [{\n image: \"https://raw.githubusercontent.com/Tehsurfer/map-sidebar/tabs/assets/temp-pics/VqNcZ8fSQJu5TJEf9ahwvA.png\",\n text: \"Neural path\"\n }],\n }\n }\n }\n","<template>\n <div class=\"dataset-card-container\" ref=\"container\">\n <div v-bind:class=\" expanded ? 'dataset-card-expanded' : 'dataset-card'\" ref=\"card\">\n <div v-if=\"entry.id !== 0\" class=\"seperator-path\"></div>\n <div class=\"card\" >\n <span class=\"card-left\">\n <img svg-inline class=\"banner-img\" :src=\"thumbnail\" @click=\"openDataset\"/>\n </span>\n <div class=\"card-right\" >\n <div class=\"title\" @click=\"cardClicked\">{{entry.name}}</div>\n <div class=\"details\">{{contributors}} {{entry.publishDate ? `(${publishYear})` : ''}}</div>\n <div class=\"details\">{{samples}}</div>\n <div class=\"details\">id: {{discoverId}}</div>\n <div>\n <el-button v-if=\"!entry.simulation\" @click=\"openDataset\" size=\"mini\" class=\"button\" icon=\"el-icon-coin\">View dataset</el-button>\n </div>\n <div>\n <el-button v-if=\"entry.scaffolds\" @click=\"openScaffold\" size=\"mini\" class=\"button\" icon=\"el-icon-view\">View scaffold</el-button>\n </div>\n <div>\n <el-button v-if=\"hasCSVFile\" @click=\"openPlot\" size=\"mini\" class=\"button\" icon=\"el-icon-view\">View plot</el-button>\n </div>\n <div>\n <el-button v-if=\"entry.simulation\" @click=\"openRepository\" size=\"mini\" class=\"button\" icon=\"el-icon-view\">View repository</el-button>\n </div>\n <div>\n <el-button v-if=\"entry.simulation\" @click=\"openSimulation\" size=\"mini\" class=\"button\" icon=\"el-icon-view\">View simulation</el-button>\n </div>\n </div>\n\n </div>\n <p v-if=\"(cardOverflow && !expanded)\" class=\"read-more\"><el-button @click=\"expand\" class=\"read-more-button\">Read more...</el-button></p>\n </div>\n </div>\n</template>\n\n\n<script>\n/* eslint-disable no-alert, no-console */\nimport Vue from \"vue\";\nimport { Button, Icon } from \"element-ui\";\nimport lang from \"element-ui/lib/locale/lang/en\";\nimport locale from \"element-ui/lib/locale\";\nimport EventBus from \"./EventBus\"\nimport scaffoldMetaMap from './scaffold-meta-map';\nimport speciesMap from \"./species-map\";\n\nlocale.use(lang);\nVue.use(Button);\nVue.use(Icon);\n\nconst capitalise = function(string){\n return string.replace(/\\b\\w/g, v => v.toUpperCase());\n}\n\nexport default {\n name: \"DatasetCard\",\n props: {\n /**\n * Object containing information for\n * the required viewing.\n */\n entry: Object,\n apiLocation: {\n type: String,\n default: \"\"\n },\n },\n data: function () {\n return {\n thumbnail: require('@/../assets/missing-image.svg'),\n dataLocation: this.entry.doi,\n discoverId: undefined,\n cardOverflow: false,\n expanded: false\n };\n },\n computed: {\n hasCSVFile: function(){\n return ( this.entry.csvFiles && this.entry.csvFiles.length !== 0 )\n },\n contributors: function() {\n let text = \"\";\n if (this.entry.contributors) {\n if (this.entry.contributors.length === 1) {\n text = this.lastName(this.entry.contributors[0].name);\n } else if (this.entry.contributors.length === 2) {\n text = this.lastName(this.entry.contributors[0].name) + \" & \" + this.lastName(this.entry.contributors[1].name);\n } else if (this.entry.contributors.length > 2) {\n text = this.lastName(this.entry.contributors[0].name) + \" et al.\";\n }\n }\n return text;\n },\n samples: function() {\n let text = \"\";\n if (this.entry.numberSamples === 1) {\n text = this.entry.numberSamples + \" sample\";\n } else if (this.entry.numberSamples > 1) {\n text = this.entry.numberSamples + \" samples\";\n }\n if (this.entry.species) {\n if (speciesMap[this.entry.species[0].toLowerCase()]){\n text += ` (${speciesMap[this.entry.species[0].toLowerCase()]})`\n } else {\n text += ` (${this.entry.species})`\n }\n }\n return text;\n },\n label: function(){\n return this.entry.organs ? this.entry.organs[0] : this.entry.name\n },\n publishYear: function() {\n return this.entry.publishDate.split('-')[0]\n }\n },\n methods: {\n cardClicked: function(){\n if(this.entry.scaffolds){\n this.openScaffold()\n }else{\n this.openDataset()\n }\n },\n openScaffold: function(){\n let action = {\n label: capitalise(this.label),\n resource: this.getScaffoldPath(this.discoverId, this.version, this.entry.scaffolds[0].dataset.path),\n title: \"View 3D scaffold\",\n type: \"Scaffold\",\n discoverId: this.discoverId,\n contextCard: scaffoldMetaMap[this.discoverId] ? scaffoldMetaMap[this.discoverId].contextCard : undefined\n }\n EventBus.$emit(\"PopoverActionClick\", action)\n },\n openPlot: function(){\n let action = {\n label: capitalise(this.label),\n resource: this.getFileFromPath(this.discoverId, this.version, this.entry.csvFiles[0].dataset.path),\n title: \"View plot\",\n type: \"Plot\",\n discoverId: this.discoverId,\n }\n EventBus.$emit(\"PopoverActionClick\", action)\n },\n openDataset: function(){\n window.open(this.dataLocation,'_blank');\n },\n openRepository: function() {\n let apiLocation = this.apiLocation;\n this.entry.additionalLinks.forEach(function(el) {\n if (el.description == \"Repository\") {\n let xmlhttp = new XMLHttpRequest();\n xmlhttp.open(\"POST\", apiLocation + \"/pmr_latest_exposure\", true);\n xmlhttp.setRequestHeader(\"Content-type\", \"application/json\");\n xmlhttp.onreadystatechange = () => {\n if (xmlhttp.readyState === 4) {\n let url = \"\";\n if (xmlhttp.status === 200) {\n url = JSON.parse(xmlhttp.responseText)[\"url\"];\n }\n if (url === \"\") {\n url = el.uri;\n }\n window.open(url,'_blank');\n }\n };\n xmlhttp.send(JSON.stringify({workspace_url: el.uri}));\n }\n });\n },\n openSimulation: function() {\n let isSedmlResource = false;\n let resource = undefined;\n this.entry.additionalLinks.forEach(function(el) {\n if (el.description == \"SED-ML file\") {\n isSedmlResource = true;\n resource = el.uri;\n } else if (!isSedmlResource && (el.description == \"CellML file\")) {\n resource = el.uri;\n }\n });\n let action = {\n label: undefined,\n resource: resource,\n dataset: this.dataLocation,\n datasetId: this.discoverId,\n title: \"View simulation\",\n name: this.entry.name,\n description: this.entry.description,\n type: \"Simulation\"\n }\n EventBus.$emit(\"PopoverActionClick\", action)\n },\n getScaffoldPath: function(discoverId, version, scaffoldPath){\n let id = discoverId\n let path = `${this.apiLocation}s3-resource/${id}/${version}/files/${scaffoldPath}`\n return path\n },\n getFileFromPath: function(discoverId, version, path){\n return `${this.apiLocation}s3-resource/${discoverId}/${version}/files/${path}`\n },\n isOverflown: function(el){\n return el.clientHeight < el.scrollHeight\n },\n expand: function() {\n this.expanded = true\n },\n splitDOI: function(doi){\n return [doi.split('/')[doi.split('/').length-2], doi.split('/')[doi.split('/').length-1]]\n },\n getBanner: function () {\n let doi = this.splitDOI(this.entry.doi)\n fetch(`https://api.pennsieve.io/discover/datasets/doi/${doi[0]}/${doi[1]}`)\n .then((response) =>{\n if (!response.ok){\n throw Error(response.statusText)\n } else {\n return response.json()\n }\n })\n .then((data) => {\n this.thumbnail = data.banner\n this.discoverId = data.id\n this.version = data.version\n this.dataLocation = `https://sparc.science/datasets/${data.id}?type=dataset`\n })\n .catch(() => {\n //set defaults if we hit an error\n this.thumbnail = require('@/../assets/missing-image.svg')\n this.discoverId = undefined\n });\n },\n lastName: function(fullName){\n return fullName.split(',')[0]\n },\n },\n mounted: function(){\n this.getBanner()\n this.cardOverflow = this.isOverflown(this.$refs.card)\n },\n updated: function () {\n },\n watch: {\n 'entry.description': function() { // watch it\n this.cardOverflow = false\n this.expanded = false\n this.cardOverflow = this.isOverflown(this.$refs.card)\n this.getBanner()\n }\n },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped>\n.dataset-card {\n padding-left: 16px;\n position: relative;\n}\n.seperator-path {\n width: 486px;\n height: 0px;\n border: solid 1px #e4e7ed;\n background-color: #e4e7ed;\n}\n.title {\n padding-bottom: 5px;\n font-family: Asap;\n font-size: 14px;\n font-weight: bold;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.5;\n letter-spacing: 1.05px;\n color: #484848;\n cursor: pointer;\n}\n.card {\n padding-top: 18px;\n position: relative;\n display: flex;\n}\n\n.card-left{\n flex: 1\n}\n\n.card-right {\n flex: 1.3;\n padding-left: 6px;\n}\n\n.dataset-card .read-more {\n position: absolute;\n z-index: 9;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 20px;\n margin: 0; padding: 20px 66px;\n /* \"transparent\" only works here because == rgba(0,0,0,0) */\n background-image: linear-gradient(to bottom, transparent, white);\n pointer-events: none;\n}\n\n.read-more-button{\n width: 85px;\n height: 20px;\n font-family: Asap;\n font-size: 14px;\n font-weight: normal;\n font-stretch: normal;\n font-style: normal;\n line-height: normal;\n letter-spacing: normal;\n color: #8300bf;\n padding: 0px;\n pointer-events: all;\n cursor: pointer;\n}\n\n.button{\n z-index: 10;\n font-family: Asap;\n font-size: 14px;\n font-weight: normal;\n font-stretch: normal;\n font-style: normal;\n line-height: normal;\n letter-spacing: normal;\n background-color: #8300bf;\n border: #8300bf;\n color: white;\n cursor: pointer;\n margin-top: 8px;\n}\n\n.button:hover {\n background-color: #8300bf;\n color: white;\n}\n\n.banner-img {\n width: 128px;\n height: 128px;\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25);\n background-color: #ffffff;\n cursor: pointer;\n}\n.details{\n font-family: Asap;\n font-size: 14px;\n font-weight: normal;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.5;\n letter-spacing: 1.05px;\n color: #484848;\n}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatasetCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatasetCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DatasetCard.vue?vue&type=template&id=0b100df4&scoped=true&\"\nimport script from \"./DatasetCard.vue?vue&type=script&lang=js&\"\nexport * from \"./DatasetCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DatasetCard.vue?vue&type=style&index=0&id=0b100df4&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0b100df4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"container\",staticClass:\"context-card-container\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showDetails),expression:\"showDetails\"}],staticClass:\"hide\",on:{\"click\":function($event){_vm.showDetails = !_vm.showDetails}}},[_vm._v(\"Hide information\"),_c('i',{staticClass:\"el-icon-arrow-up\"})]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showDetails),expression:\"!showDetails\"}],staticClass:\"hide\",on:{\"click\":function($event){_vm.showDetails = !_vm.showDetails}}},[_vm._v(\"Show information\"),_c('i',{staticClass:\"el-icon-arrow-down\"})]),_c('el-card',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showDetails),expression:\"showDetails\"}],staticClass:\"context-card card\",attrs:{\"body-style\":{ padding: '0px', 'background-color': 'white', display: 'flex', width: '516px'}}},[_c('img',{staticClass:\"context-image card-left\",attrs:{\"src\":_vm.entry.bannerImage}}),_c('div',{staticClass:\"card-right\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.entry.title))]),_c('div',[_vm._v(_vm._s(_vm.entry.description))]),_vm._l((_vm.entry.keys),function(key){return [_c('br',{key:key.text}),_c('span',{key:key.text + 1},[_c('img',{staticStyle:{\"height\":\"20px\"},attrs:{\"src\":key.image}}),_vm._v(\" \"+_vm._s(key.text))])]})],2)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"context-card-container\" ref=\"container\">\n <div v-show=\"showDetails\" class=\"hide\" @click=\"showDetails = !showDetails\">Hide information<i class=\"el-icon-arrow-up\"></i></div>\n <div v-show=\"!showDetails\" class=\"hide\" @click=\"showDetails = !showDetails\">Show information<i class=\"el-icon-arrow-down\"></i></div>\n <el-card v-show=\"showDetails\" class=\"context-card card\" :body-style=\"{ padding: '0px', 'background-color': 'white', display: 'flex', width: '516px'}\">\n <img :src=\"entry.bannerImage\" class=\"context-image card-left\">\n <div class=\"card-right\">\n <div class=\"title\">{{entry.title}}</div>\n <div>{{entry.description}}</div>\n <template v-for=\"key in entry.keys\">\n <br v-bind:key=\"key.text\"/>\n <span v-bind:key=\"key.text + 1\"><img :src=\"key.image\" style=\"height: 20px;\"> {{key.text}}</span>\n </template>\n </div>\n </el-card>\n </div>\n</template>\n\n\n<script>\n/* eslint-disable no-alert, no-console */\nimport Vue from \"vue\";\nimport { Link, Icon, Card, Button, Select, Input } from \"element-ui\";\nimport lang from \"element-ui/lib/locale/lang/en\";\nimport locale from \"element-ui/lib/locale\";\n\nlocale.use(lang);\nVue.use(Link);\nVue.use(Icon);\nVue.use(Card);\nVue.use(Button);\nVue.use(Select);\nVue.use(Input);\n\n\n\nexport default {\n name: \"contextCard\",\n props: {\n /**\n * Object containing information for\n * the required viewing.\n */\n entry: Object,\n },\n data: function () {\n return {\n showDetails: true\n };\n },\n computed: {\n\n },\n methods: {\n },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped>\n\n.hide{\n color: #e4e7ed;\n cursor: pointer;\n}\n\n.context-card{\n background-color: white;\n}\n\n.context-image{\n width: 250px\n}\n\n.card {\n padding-top: 18px;\n margin-bottom: 18px;\n position: relative;\n border: solid 1px #e4e7ed;\n display: flex;\n}\n\n.card-left{\n flex: 1\n}\n\n.card-right {\n flex: 1.3;\n padding-left: 6px;\n}\n\n.title{\n font-weight: bold;\n}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContextCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContextCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ContextCard.vue?vue&type=template&id=17e861eb&scoped=true&\"\nimport script from \"./ContextCard.vue?vue&type=script&lang=js&\"\nexport * from \"./ContextCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ContextCard.vue?vue&type=style&index=0&id=17e861eb&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"17e861eb\",\n null\n \n)\n\nexport default component.exports","<template>\n <el-card :body-style=\"bodyStyle\" class=\"content-card\">\n <div slot=\"header\" class=\"header\">\n <context-card v-if=\"contextCardEntry\" :entry=\"contextCardEntry\" />\n <el-input\n class=\"search-input\"\n placeholder=\"Search\"\n v-model=\"searchInput\"\n @keyup.native=\"searchEvent\"\n clearable\n @clear=\"clearSearchClicked\"\n ></el-input>\n <el-button class=\"button\" @click=\"searchEvent\">Search</el-button>\n </div>\n <SearchFilters\n class=\"filters\"\n ref=\"filtersRef\"\n :entry=\"filterEntry\"\n :apiLocation=\"apiLocation\"\n @filterResults=\"filterUpdate\"\n @numberPerPage=\"numberPerPageUpdate\"\n ></SearchFilters>\n <div class=\"content scrollbar\" v-loading=\"loadingCards\" ref=\"content\">\n <div\n class=\"error-feedback\"\n v-if=\"results.length === 0 && !loadingCards && !sciCrunchError\"\n >No results found - Please change your search / filter criteria.</div>\n <div class=\"error-feedback\" v-if=\"sciCrunchError\">{{sciCrunchError}}</div>\n <div v-for=\"o in results\" :key=\"o.id\" class=\"step-item\">\n <DatasetCard :entry=\"o\" :apiLocation=\"apiLocation\"></DatasetCard>\n </div>\n <el-pagination\n class=\"pagination\"\n :current-page.sync=\"page\"\n hide-on-single-page\n large\n layout=\"prev, pager, next\"\n :page-size=\"numberPerPage\"\n :total=\"numberOfHits\"\n @current-change=\"pageChange\"\n ></el-pagination>\n </div>\n </el-card>\n</template>\n\n\n<script>\n/* eslint-disable no-alert, no-console */\nimport Vue from \"vue\";\nimport {\n Button,\n Card,\n Drawer,\n Icon,\n Input,\n Loading,\n Pagination\n} from \"element-ui\";\nimport lang from \"element-ui/lib/locale/lang/en\";\nimport locale from \"element-ui/lib/locale\";\nimport SearchFilters from \"./SearchFilters\";\nimport DatasetCard from \"./DatasetCard\";\nimport ContextCard from \"./ContextCard.vue\";\n\nlocale.use(lang);\nVue.use(Button);\nVue.use(Card);\nVue.use(Drawer);\nVue.use(Icon);\nVue.use(Input);\nVue.use(Loading);\nVue.use(Pagination);\n\n// handleErrors: A custom fetch error handler to recieve messages from the server\n// even when an error is found\nvar handleErrors = async function(response) {\n if (!response.ok) {\n let parse = await response.json();\n if (parse) {\n throw new Error(parse.message);\n } else {\n throw new Error(response);\n }\n }\n return response;\n};\n\nvar initial_state = {\n searchInput: \"\",\n lastSearch: \"\",\n results: [],\n numberOfHits: 0,\n filter: [],\n filterFacets: undefined,\n loadingCards: false,\n numberPerPage: 10,\n page: 1,\n pageModel: 1,\n start: 0,\n hasSearched: false,\n sciCrunchError: false\n};\n\nexport default {\n components: { SearchFilters, DatasetCard, ContextCard },\n name: \"SideBarContent\",\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n isDrawer: {\n type: Boolean,\n default: true\n },\n entry: {\n type: Object,\n default: () => initial_state\n },\n contextCardEntry: {\n type: Object,\n default: undefined\n },\n apiLocation: {\n type: String,\n default: \"\"\n },\n firstSearch: {\n type: String,\n default: \"\"\n }\n },\n data: function() {\n return {\n ...this.entry,\n bodyStyle: {\n flex: \"1 1 auto\",\n \"flex-flow\": \"column\",\n display: \"flex\"\n }\n };\n },\n computed: {\n // This computed property populates filter data's entry object with $data from this sidebar\n filterEntry: function() {\n return {\n numberOfHits: this.numberOfHits,\n filterFacets: this.filterFacets\n };\n }\n },\n methods: {\n openSearch: function(search, filter = undefined,\n endpoint = undefined, params = undefined) {\n this.searchInput = search;\n this.resetPageNavigation();\n this.searchSciCrunch(search, filter, endpoint, params);\n if (filter) {\n this.filterFacets = [...filter];\n this.$refs.filtersRef.setCascader(this.filterFacets);\n }\n },\n clearSearchClicked: function() {\n this.searchInput = \"\";\n this.resetPageNavigation();\n this.searchSciCrunch(this.searchInput);\n },\n searchEvent: function(event = false) {\n if (event.keyCode === 13 || event instanceof MouseEvent) {\n this.resetPageNavigation();\n this.searchSciCrunch(this.searchInput);\n }\n },\n filterUpdate: function(filter) {\n this.resetPageNavigation();\n this.searchSciCrunch(this.searchInput, filter);\n this.filter = [...filter];\n this.$emit(\"search-changed\", {\n value: this.filter,\n type: \"filter-update\"\n });\n },\n numberPerPageUpdate: function(val) {\n this.numberPerPage = val;\n this.pageChange(1);\n },\n pageChange: function(page) {\n this.start = (page - 1) * this.numberPerPage;\n this.searchSciCrunch(this.searchInput);\n },\n searchSciCrunch: function(search, filter = undefined,\n searchEndpoint = undefined, params = undefined) {\n this.loadingCards = true;\n this.results = [];\n this.disableCards();\n if (!searchEndpoint) searchEndpoint = this.searchEndpoint;\n if (!params)\n params = this.createParams(filter, this.start, this.numberPerPage);\n this.$emit(\"search-changed\", { value: search, type: \"query-update\" });\n this.callSciCrunch(this.apiLocation, searchEndpoint, search, params)\n .then(result => {\n //Only process if the search term is the same as the last search term.\n //This avoid old search being displayed.\n this.sciCrunchError = false;\n this.resultsProcessing(result);\n this.$refs.content.style[\"overflow-y\"] = \"scroll\";\n this.loadingCards = false;\n })\n .catch(result => {\n if (result.name !== 'AbortError') {\n this.loadingCards = false;\n this.sciCrunchError = result.message;\n }\n })\n },\n disableCards: function() {\n if (this.$refs.content) {\n this.$refs.content.scroll({ top: 0, behavior: \"smooth\" });\n this.$refs.content.style[\"overflow-y\"] = \"hidden\";\n }\n },\n resetPageNavigation: function() {\n this.start = 0;\n this.page = 1;\n },\n createParams: function(filter, start, size) {\n //Deconstruct list of fitlers to list of term\n //and facet.\n let params = {};\n let term = [];\n let facet = [];\n let f = undefined;\n if (filter !== undefined) {\n f = filter;\n } else {\n f = this.filter;\n }\n if (f)\n f.forEach(e => {\n //Do not ask for any \"show all\" request\n if (e.facet !== \"show all\") {\n term.push(e.term);\n facet.push(e.facet);\n }\n });\n params.term = term;\n params.facet = facet;\n params.start = start;\n params.size = size;\n return params;\n },\n resultsProcessing: function(data) {\n this.lastSearch = this.searchInput;\n this.results = [];\n let id = 0;\n this.numberOfHits = data.numberOfHits;\n if (data.results.length === 0) {\n return;\n }\n data.results.forEach(element => {\n // this.results.push(element) below should be once backend is ready\n this.results.push({\n name: element.name,\n description: element.description,\n contributors: element.contributors,\n numberSamples: Array.isArray(element.samples)\n ? element.samples.length\n : 1,\n updated: element.updated[0].timestamp.split(\"T\")[0],\n url: element.uri[0],\n datasetId: element.identifier,\n organs: (element.organs && element.organs.length > 0)\n ? [...new Set(element.organs.map(v => v.name))]\n : undefined,\n species: element.organisms \n ? element.organisms[0].species\n ? [...new Set(element.organisms.map((v) =>v.species ? v.species.name : null))]\n : undefined\n : undefined, // This processing only includes each gender once into 'sexes'\n csvFiles: element.csvFiles,\n id: id,\n doi: element.doi,\n publishDate: element.publishDate,\n scaffolds: element['abi-scaffold-metadata-file'] ? element['abi-scaffold-metadata-file'] : undefined,\n additionalLinks: element.additionalLinks,\n simulation: element.additionalLinks\n ? element.additionalLinks[0].description == 'Repository'\n : false,\n s3uri: element.s3uri\n });\n id++;\n });\n },\n createfilterParams: function(params) {\n let p = new URLSearchParams();\n //Check if field is array or value\n for (const key in params) {\n if (Array.isArray(params[key])) {\n params[key].forEach(e => {\n p.append(key, e);\n });\n } else {\n p.append(key, params[key]);\n }\n }\n return p.toString();\n },\n callSciCrunch: function(apiLocation, searchEndpoint, search, params = {}) {\n return new Promise((resolve, reject) => {\n // the following controller will abort current search\n // if a new one has been started\n if (this._controller) this._controller.abort();\n this._controller = new AbortController();\n let signal = this._controller.signal;\n var endpoint = apiLocation + searchEndpoint;\n // Add parameters if we are sent them\n if (search !== \"\" && Object.entries(params).length !== 0) {\n endpoint = endpoint + search + \"/?\" + this.createfilterParams(params);\n } else {\n endpoint = endpoint + \"?\" + this.createfilterParams(params);\n }\n fetch(endpoint, { signal })\n .then(handleErrors)\n .then(response => response.json())\n .then(data => resolve(data))\n .catch(data => reject(data));\n });\n }\n },\n mounted: function() {\n // temporarily disable flatmap search since there are no datasets\n if (this.firstSearch === \"Flatmap\" || this.firstSearch === \"flatmap\") {\n this.openSearch('', [\n {facet: \"show all\", term:'organ'},\n {facet: \"show all\", term:'species'},\n {facet: \"show all\", term:'gender'},\n {facet: \"show all\", term:'datasets'}]);\n } else {\n this.openSearch(this.firstSearch, [\n {facet: \"show all\", term:'organ'},\n {facet: \"show all\", term:'species'},\n {facet: \"show all\", term:'gender'},\n {facet: \"show all\", term:'datasets'}]);\n }\n },\n created: function() {\n //Create non-reactive local variables\n this.searchEndpoint = \"filter-search/\";\n }\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped>\n.content-card {\n height: 100%;\n flex-flow: column;\n display: flex;\n}\n\n.button {\n background-color: #8300bf;\n border: #8300bf;\n color: white;\n}\n\n.step-item {\n font-size: 14px;\n margin-bottom: 18px;\n text-align: left;\n}\n\n.search-input {\n width: 298px !important;\n height: 40px;\n padding-right: 14px;\n align-items: left;\n}\n\n.header {\n border: solid 1px #292b66;\n background-color: #292b66;\n text-align: left;\n}\n\n.pagination {\n padding-bottom: 16px;\n background-color: white;\n text-align: center;\n}\n\n.pagination >>> button {\n background-color: white !important;\n}\n.pagination >>> li {\n background-color: white !important;\n}\n.pagination >>> li.active {\n color: #8300bf;\n}\n\n.error-feedback {\n font-family: Asap;\n font-size: 14px;\n font-style: italic;\n padding-top: 15px;\n}\n\n.content-card >>> .el-card__header {\n background-color: #292b66;\n border: solid 1px #292b66;\n}\n\n.content-card >>> .el-card__body {\n background-color: #f7faff;\n overflow-y: hidden;\n}\n\n.content {\n width: 518px;\n flex: 1 1 auto;\n box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.06);\n border: solid 1px #e4e7ed;\n background-color: #ffffff;\n overflow-y: scroll;\n scrollbar-width: thin;\n}\n\n.scrollbar::-webkit-scrollbar-track {\n border-radius: 10px;\n background-color: #f5f5f5;\n}\n\n.scrollbar::-webkit-scrollbar {\n width: 12px;\n right: -12px;\n background-color: #f5f5f5;\n}\n\n.scrollbar::-webkit-scrollbar-thumb {\n border-radius: 4px;\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.06);\n background-color: #979797;\n}\n\n>>> .el-input__suffix {\n padding-right: 10px;\n}\n\n>>> .my-drawer {\n background: rgba(0, 0, 0, 0);\n box-shadow: none;\n}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SidebarContent.vue?vue&type=template&id=638ba01f&scoped=true&\"\nimport script from \"./SidebarContent.vue?vue&type=script&lang=js&\"\nexport * from \"./SidebarContent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SidebarContent.vue?vue&type=style&index=0&id=638ba01f&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"638ba01f\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tab-container\"},_vm._l((_vm.tabTitles),function(title){return _c('div',{key:title.id,staticClass:\"title\"},[_c('div',{staticClass:\"title-text-table\",class:{ highlightText : (title.id==_vm.activeId) },on:{\"click\":function($event){return _vm.titleClicked(title.id)}}},[_c('div',{staticClass:\"title-text\"},[_vm._v(\" \"+_vm._s(title.title)+\" \")])])])}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"tab-container\">\n <div class=\"title\" v-for=\"title in tabTitles\" :key=\"title.id\">\n <div class=\"title-text-table\" v-bind:class=\"{ highlightText : (title.id==activeId) }\" v-on:click=\"titleClicked(title.id)\">\n <div class=\"title-text\">\n {{title.title}}\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\n/* eslint-disable no-alert, no-console */\n\nexport default {\n name: \"Tabs\",\n props: {\n tabTitles: {\n type: Array,\n default: () => []\n },\n activeId: {\n type: Number,\n default: 1\n }\n },\n methods: {\n titleClicked: function(id) {\n this.$emit(\"titleClicked\", id);\n },\n }\n\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped>\n\n.tab-container{\n height: 28px;\n}\n\n.title {\n width: 101px;\n height: 28px;\n border: solid 1px #dcdfe6;\n border-bottom: none;\n background-color: white;\n display:inline-block;\n}\n\n.title:hover {\n cursor: pointer;\n}\n\n.title-text {\n text-align:center;\n display: table-cell;\n vertical-align: middle;\n font-size: 14px;\n}\n\n.title-text-table {\n display:table;\n height: 100%;\n width: 100%;\n}\n\n.parent-dialog:hover .title-text {\n color:#8300bf;\n}\n\n.highlightText {\n color:#8300bf;\n}\n\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tabs.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tabs.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Tabs.vue?vue&type=template&id=5d1b9484&scoped=true&\"\nimport script from \"./Tabs.vue?vue&type=script&lang=js&\"\nexport * from \"./Tabs.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Tabs.vue?vue&type=style&index=0&id=5d1b9484&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5d1b9484\",\n null\n \n)\n\nexport default component.exports","<template>\n <div ref=\"container\">\n <div v-if=\"!drawerOpen\" @click=\"toggleDrawer\" class=\"open-tab\">\n <i class=\"el-icon-arrow-left\"></i>\n </div>\n <el-drawer\n custom-class=\"my-drawer\"\n class=\"side-bar\"\n :visible.sync=\"drawerOpen\"\n :appendToBody=\"false\"\n :modal-append-to-body=\"false\"\n size=550\n :with-header=\"false\"\n :wrapperClosable=\"false\"\n :modal=\"false\"\n >\n <div class=\"box-card\">\n <div v-if=\"drawerOpen\" @click=\"close\" class=\"close-tab\">\n <i class=\"el-icon-arrow-right\"></i>\n </div>\n <div class=\"sidebar-container\">\n <tabs v-if=\"tabs.length > 1\" :tabTitles=\"tabs\" :activeId=\"activeId\"\n @titleClicked=\"tabClicked\"/>\n <template v-for=\"tab in tabs\">\n <sidebar-content class=\"sidebar-content-container\"\n v-show=\"tab.id===activeId\" :contextCardEntry=\"tab.contextCard\"\n :firstSearch=\"tab.title\" :apiLocation=\"apiLocation\"\n v-bind:key=\"tab.id\" :ref=\"tab.id\"\n @search-changed=\"searchChanged(tab.id, $event)\"/>\n </template>\n </div>\n </div>\n </el-drawer>\n </div>\n</template>\n\n\n<script>\n/* eslint-disable no-alert, no-console */\nimport Vue from \"vue\";\nimport {\n Drawer,\n Icon,\n} from \"element-ui\";\nimport lang from \"element-ui/lib/locale/lang/en\";\nimport locale from \"element-ui/lib/locale\";\nimport SidebarContent from './SidebarContent.vue';\nimport EventBus from './EventBus';\nimport Tabs from './Tabs'\n\nlocale.use(lang);\nVue.use(Drawer);\nVue.use(Icon);\n\nvar initial_state = {\n searchInput: \"\",\n lastSearch: \"\",\n results: [],\n drawerOpen: false,\n numberOfHits: 0,\n filter:{},\n filterFacet: undefined,\n loadingCards: false,\n numberPerPage: 10,\n page: 1,\n pageModel: 1,\n start: 0,\n hasSearched: false,\n sciCrunchError: false\n}\n\nexport default {\n components: {SidebarContent, Tabs },\n name: \"SideBar\",\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n entry: {\n type: Object,\n default: () => (initial_state)\n },\n apiLocation: {\n type: String,\n default: \"\"\n },\n tabs: {\n type: Array,\n default: () => [{title:'flatmap', id:1}]\n },\n activeId: {\n type: Number,\n default: 1\n },\n openAtStart: {\n type: Boolean,\n default: false\n }\n },\n data: function () {\n return {\n ...this.entry,\n }\n },\n methods: {\n searchChanged: function (id, data) {\n this.$emit(\"search-changed\", {...data, id: id});\n },\n close: function () {\n this.drawerOpen = false;\n },\n toggleDrawer: function () {\n this.drawerOpen = !this.drawerOpen;\n },\n openSearch: function(term, facets){\n this.drawerOpen = true;\n // Because refs are in v-for, nextTick is needed here\n Vue.nextTick(()=>{this.$refs[this.activeId][0].openSearch(term, facets)})\n },\n openNeuronSearch: function(neuron){\n this.drawerOpen = true;\n // Because refs are in v-for, nextTick is needed here\n Vue.nextTick(()=>{this.$refs[this.activeId][0].openSearch('', undefined, 'scicrunch-query-string/', {'field': '*organ.curie', 'curie':neuron})})\n },\n tabClicked: function(id) {\n this.$emit(\"tabClicked\", id);\n },\n },\n created:function() {\n this.drawerOpen = this.openAtStart;\n },\n mounted: function(){\n EventBus.$on(\"PopoverActionClick\", (payLoad) => {\n this.$emit(\"actionClick\", payLoad);\n })\n }\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped>\n\n.box-card {\n flex: 3;\n height: 100%;\n overflow: hidden;\n pointer-events: auto;\n}\n\n.side-bar{\n position: relative;\n height: 100%;\n pointer-events: none;\n}\n\n.side-bar >>> .el-drawer:focus{\n outline:none;\n}\n\n.sidebar-container {\n height: 100%;\n flex-flow: column;\n display: flex;\n}\n\n.open-tab{\n width: 20px;\n height: 40px;\n z-index: 8;\n position: absolute;\n top: calc(50vh - 80px);\n right: 0px;\n box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.06);\n border: solid 1px #e4e7ed;\n background-color: #F7FAFF;\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n pointer-events: auto;\n}\n\n.el-icon-arrow-left{\n font-size: 20px;\n padding-top: 8px;\n color: #292b66;\n}\n\n.el-icon-arrow-right{\n font-size: 20px;\n padding-top: 8px;\n color: #292b66;\n cursor: pointer;\n pointer-events: auto;\n}\n\n.close-tab{\n float: left;\n flex: 1;\n width: 20px;\n height: 40px;\n z-index: 8;\n margin-top: calc(50vh - 80px);\n box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.06);\n border: solid 1px #e4e7ed;\n border-right: 0;\n background-color: #F7FAFF;\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n pointer-events: auto;\n}\n\n.box-card {\n flex: 3;\n height: 100%;\n overflow: hidden;\n pointer-events: auto;\n}\n\n>>> .my-drawer {\n background: rgba(0,0,0,0);\n box-shadow: none;\n}\n\n>>> .my-drawer .el-drawer__body {\n height: 100%;\n}\n\n.sidebar-content-container {\n flex: 1 1 auto;\n}\n\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SideBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SideBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SideBar.vue?vue&type=template&id=a53cebae&scoped=true&\"\nimport script from \"./SideBar.vue?vue&type=script&lang=js&\"\nexport * from \"./SideBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SideBar.vue?vue&type=style&index=0&id=a53cebae&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a53cebae\",\n null\n \n)\n\nexport default component.exports","import SideBar from \"./SideBar.vue\"\n\nexport {\n SideBar\n};\n\n\n\n","import './setPublicPath'\nexport * from '~entry'\n","module.exports = require(\"core-js/modules/es.string.includes\");"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack://map-side-bar/webpack/bootstrap","webpack://map-side-bar/external \"element-ui/lib/pagination\"","webpack://map-side-bar/external \"core-js/modules/es.symbol.iterator\"","webpack://map-side-bar/external \"element-ui/lib/theme-chalk/pagination.css\"","webpack://map-side-bar/external \"core-js/modules/es.parse-int\"","webpack://map-side-bar/external \"element-ui/lib/select\"","webpack://map-side-bar/external \"element-ui/lib/theme-chalk/select.css\"","webpack://map-side-bar/external \"core-js/modules/es.array.for-each\"","webpack://map-side-bar/./src/components/Tabs.vue?c191","webpack://map-side-bar/external \"core-js/modules/es.array.concat\"","webpack://map-side-bar/./src/components/SearchFilters.vue?d98c","webpack://map-side-bar/external \"core-js/modules/web.dom-collections.iterator\"","webpack://map-side-bar/external \"core-js/modules/es.object.keys\"","webpack://map-side-bar/external \"element-ui/lib/theme-chalk/link.css\"","webpack://map-side-bar/./src/components/DatasetCard.vue?d5ca","webpack://map-side-bar/external \"element-ui/lib/theme-chalk/button.css\"","webpack://map-side-bar/external \"core-js/modules/web.url\"","webpack://map-side-bar/external \"element-ui/lib/theme-chalk/loading.css\"","webpack://map-side-bar/./src/components/ContextCard.vue?40bb","webpack://map-side-bar/./src/components/ContextCard.vue?c61d","webpack://map-side-bar/external \"element-ui/lib/drawer\"","webpack://map-side-bar/external \"@abi-software/svg-sprite\"","webpack://map-side-bar/external \"core-js/modules/es.object.get-own-property-descriptors\"","webpack://map-side-bar/external \"core-js/modules/es.string.split\"","webpack://map-side-bar/external \"core-js/modules/es.set\"","webpack://map-side-bar/external \"core-js/modules/es.array.filter\"","webpack://map-side-bar/external \"element-ui/lib/theme-chalk/card.css\"","webpack://map-side-bar/external \"element-ui/lib/theme-chalk/drawer.css\"","webpack://map-side-bar/external \"core-js/modules/es.symbol.description\"","webpack://map-side-bar/external \"core-js/modules/es.regexp.exec\"","webpack://map-side-bar/external \"element-ui/lib/button\"","webpack://map-side-bar/external \"core-js/modules/es.regexp.to-string\"","webpack://map-side-bar/external \"core-js/modules/es.symbol\"","webpack://map-side-bar/./src/components/SideBar.vue?4648","webpack://map-side-bar/external \"core-js/modules/es.array.slice\"","webpack://map-side-bar/external \"core-js/modules/es.object.get-own-property-descriptor\"","webpack://map-side-bar/external \"element-ui/lib/cascader\"","webpack://map-side-bar/external \"element-ui/lib/locale/lang/en\"","webpack://map-side-bar/./src/components/Tabs.vue?bd49","webpack://map-side-bar/external \"element-ui/lib/theme-chalk/cascader.css\"","webpack://map-side-bar/external \"core-js/modules/es.array.sort\"","webpack://map-side-bar/external \"core-js/modules/es.number.constructor\"","webpack://map-side-bar/external \"regenerator-runtime/runtime\"","webpack://map-side-bar/external \"core-js/modules/es.array.splice\"","webpack://map-side-bar/external \"element-ui/lib/link\"","webpack://map-side-bar/external \"element-ui/lib/locale\"","webpack://map-side-bar/external \"element-ui/lib/theme-chalk/option.css\"","webpack://map-side-bar/external \"core-js/modules/es.promise\"","webpack://map-side-bar/external \"core-js/modules/es.object.to-string\"","webpack://map-side-bar/external \"vue\"","webpack://map-side-bar/external \"core-js/modules/es.array.iterator\"","webpack://map-side-bar/external \"element-ui/lib/theme-chalk/icon.css\"","webpack://map-side-bar/external \"core-js/modules/es.string.iterator\"","webpack://map-side-bar/external \"element-ui/lib/theme-chalk/base.css\"","webpack://map-side-bar/./assets/missing-image.svg","webpack://map-side-bar/./src/components/SideBar.vue?2d57","webpack://map-side-bar/external \"element-ui/lib/theme-chalk/input.css\"","webpack://map-side-bar/external \"core-js/modules/es.array.includes\"","webpack://map-side-bar/external \"element-ui/lib/loading\"","webpack://map-side-bar/external \"element-ui/lib/card\"","webpack://map-side-bar/external \"element-ui/lib/icon\"","webpack://map-side-bar/./src/components/SearchFilters.vue?d33a","webpack://map-side-bar/./src/components/SidebarContent.vue?abfa","webpack://map-side-bar/external \"core-js/modules/es.function.name\"","webpack://map-side-bar/external \"core-js/modules/web.dom-collections.for-each\"","webpack://map-side-bar/external \"core-js/modules/es.string.replace\"","webpack://map-side-bar/external \"element-ui/lib/option\"","webpack://map-side-bar/external \"current-script-polyfill\"","webpack://map-side-bar/./src/components/DatasetCard.vue?e435","webpack://map-side-bar/external \"core-js/modules/es.array.from\"","webpack://map-side-bar/external \"element-ui/lib/input\"","webpack://map-side-bar/external \"core-js/modules/es.object.entries\"","webpack://map-side-bar/./src/components/SidebarContent.vue?56e1","webpack://map-side-bar/external \"core-js/modules/es.array.map\"","webpack://map-side-bar/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://map-side-bar/./src/components/SideBar.vue?691f","webpack://map-side-bar/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://map-side-bar/./src/components/SidebarContent.vue?a0ab","webpack://map-side-bar/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://map-side-bar/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://map-side-bar/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://map-side-bar/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://map-side-bar/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://map-side-bar/./src/components/SearchFilters.vue?418a","webpack://map-side-bar/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://map-side-bar/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://map-side-bar/./node_modules/@babel/runtime/helpers/esm/toArray.js","webpack://map-side-bar/src/components/Cascader.vue","webpack://map-side-bar/./src/components/Cascader.vue?9729","webpack://map-side-bar/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://map-side-bar/./src/components/Cascader.vue","webpack://map-side-bar/./src/components/species-map.js","webpack://map-side-bar/src/components/SearchFilters.vue","webpack://map-side-bar/./src/components/SearchFilters.vue?8079","webpack://map-side-bar/./src/components/SearchFilters.vue","webpack://map-side-bar/./src/components/DatasetCard.vue?3746","webpack://map-side-bar/./src/components/EventBus.js","webpack://map-side-bar/./src/components/scaffold-meta-map.js","webpack://map-side-bar/src/components/DatasetCard.vue","webpack://map-side-bar/./src/components/DatasetCard.vue?d021","webpack://map-side-bar/./src/components/DatasetCard.vue","webpack://map-side-bar/./src/components/ContextCard.vue?1b21","webpack://map-side-bar/src/components/ContextCard.vue","webpack://map-side-bar/./src/components/ContextCard.vue?667e","webpack://map-side-bar/./src/components/ContextCard.vue","webpack://map-side-bar/src/components/SidebarContent.vue","webpack://map-side-bar/./src/components/SidebarContent.vue?7e01","webpack://map-side-bar/./src/components/SidebarContent.vue","webpack://map-side-bar/./src/components/Tabs.vue?6f6b","webpack://map-side-bar/src/components/Tabs.vue","webpack://map-side-bar/./src/components/Tabs.vue?3d38","webpack://map-side-bar/./src/components/Tabs.vue","webpack://map-side-bar/src/components/SideBar.vue","webpack://map-side-bar/./src/components/SideBar.vue?b259","webpack://map-side-bar/./src/components/SideBar.vue","webpack://map-side-bar/./src/components/index.js","webpack://map-side-bar/./node_modules/@vue/cli-service/lib/commands/build/entry-lib-no-default.js","webpack://map-side-bar/external \"core-js/modules/es.string.includes\""],"names":["_defineProperty","obj","key","value","Object","defineProperty","enumerable","configurable","writable","_arrayWithoutHoles","arr","Array","isArray","i","arr2","length","_iterableToArray","iter","Symbol","iterator","prototype","toString","call","from","_nonIterableSpread","TypeError","_toConsumableArray","arrayWithoutHoles","iterableToArray","nonIterableSpread","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_arrayWithHoles","_nonIterableRest","_toArray","arrayWithHoles","nonIterableRest","EventBus","Vue","version","meta_file","contextCard","title","description","bannerImage","keys","image","text"],"mappings":"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AAAA,YACA,KADA;AAAA,YACA,IADA;;AAEA;AACA;;AACA;AACA;AACA;AACA,qBADA;AAEA,0CAFA;AAGA;AAHA;AAKA,WANA,MAMA;AACA;AAAA;AAAA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AArCA;AAHA,G;;ACJkU,CAAgB,gHAAG,EAAC,C;;ACAtV;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AC5FA,IAAI,eAAM,EAAE,wBAAe;AACiC;AACL;;;AAGvD;AAC0F;AAC1F,gBAAgB,kBAAU;AAC1B,EAAE,2CAAM;AACR,EAAE,eAAM;AACR,EAAE,wBAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,8D;;AClBA;AACX,kBAAgB,OADL;AAEX,uBAAqB,KAFV;AAGX,kBAAgB,OAHL;AAIX,2BAAyB,KAJd;AAKX,gBAAc,MALH;AAMX,iBAAe;AANJ,CAAf,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACuCA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAFA;;AAIA;AACA;;AACA;AACA;AACA,GAFA,MAEA;AACA;AACA;AACA,CAPA;;AASA;AACA,uBADA;AAEA;AACA,4BADA;AAEA,yCAFA;AAGA;AAHA,GAFA;AAOA;AACA;;;;AAIA,iBALA;AAMA;AACA,kBADA;AAEA;AAFA;AANA,GAPA;AAkBA;AACA;AACA,4BADA;AAEA;AACA,sBADA;AAEA,qBAFA;AAGA,oBAHA;AAIA;AAJA,OAFA;AAQA,uBARA;AASA,2BATA;AAUA,yBAVA;AAWA,qBAXA;AAYA,iBAZA;AAaA,wDAbA;AAcA,6CAdA;AAeA;AAAA;AAAA,OAfA;AAgBA,gBACA;AACA,wBADA;AAEA,wBAFA;AAGA;AAHA,OADA;AAhBA;AAwBA,GA3CA;AA4CA;AACA;AACA;AACA;AAHA,GA5CA;AAiDA;AACA;AACA,gDACA;AACA,KAJA;AAKA;AAAA;;AACA;AACA;AACA;;AAFA,mCAGA,CAHA;AAIA;AACA,iDACA,6BADA,EAEA,SAFA,CADA;AAKA,6FALA;AAMA;AANA;;AAQA,2BACA;AACA;AACA;AACA;AACA,qDACA,6BADA,EAEA,uBAFA,CADA;AAIA,2FAJA,CAIA;;AAJA;AAMA;AACA,WAVA,CADA;AAZA;;AAGA;AAAA;AAsBA;;AACA;AACA;AACA,SAFA;AAGA,OA7BA;AA8BA,KApCA;AAqCA;AAAA;;AACA;AACA;AACA;AACA;AACA;AACA,SAFA;AAGA;;AACA;AACA,kCADA,CACA;;AACA;;AACA,mFACA;AACA;AACA,wCADA,CACA;AACA,WAFA;AAGA,uDAJA,CAIA;AACA,SANA;AAQA,OAXA;AAYA,KAzDA;AA0DA;AACA;AACA;AACA,KA7DA;AA8DA;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;AACA,KApEA;AAqEA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,gCAjBA,CAiBA;;AACA;AACA,KAxFA;AAyFA;AAAA;;AACA;AACA,6BACA,GADA,CACA;AAAA;AAAA,OADA,EAEA,QAFA,CAEA,IAFA,EAFA,CAKA;;AACA;AACA;AACA,2BAFA,CAGA;;AACA;AACA;AACA;AACA,SAPA,CAQA;;;AACA;AACA,kCADA,CAEA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AAC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,2BAHA;AAIA,yBAJA;AAKA;AALA;AAOA,GArBA;AAsBA;AACA;AACA;AACA,KAHA;AAIA;AACA;;AACA;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA,SAFA,MAEA;AACA;AACA;AACA;;AACA;AACA,KAhBA;AAiBA;AACA;;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;;AACA;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA;AACA;;AACA;AACA,KAhCA;AAiCA;AACA;AACA,KAnCA;AAoCA;AACA;AACA;AAtCA,GAtBA;AA8DA;AACA;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;AACA,KAPA;AAQA;AACA;AACA,wEADA;AAEA,2GAFA;AAGA,iCAHA;AAIA,wBAJA;AAKA,mCALA;AAMA;AANA;AAQA;AACA,KAlBA;AAmBA;AACA;AACA,wEADA;AAEA,0GAFA;AAGA,0BAHA;AAIA,oBAJA;AAKA;AALA;AAOA;AACA,KA5BA;AA6BA;AACA;AACA,KA/BA;AAgCA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA,WAXA;;AAYA;AAAA;AAAA;AACA;AACA,OAnBA;AAoBA,KAtDA;AAuDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAHA,MAGA;AACA;AACA;AACA,OAPA;AAQA;AACA,wBADA;AAEA,0BAFA;AAGA,kCAHA;AAIA,kCAJA;AAKA,gCALA;AAMA,6BANA;AAOA,2CAPA;AAQA;AARA;AAUA;AACA,KA7EA;AA8EA;AACA;AACA;AACA;AACA,KAlFA;AAmFA;AACA;AACA,KArFA;AAsFA;AACA;AACA,KAxFA;AAyFA;AACA;AACA,KA3FA;AA4FA;AACA;AACA,KA9FA;AA+FA;AAAA;;AACA;AACA,kGACA,IADA,CACA;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA;AACA,OAPA,EAQA,IARA,CAQA;AACA;AACA;AACA;AACA;AACA,OAbA,EAcA,KAdA,CAcA;AACA;AACA;AACA;AACA,OAlBA;AAmBA,KApHA;AAq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A;AAAA;AACA,2EACA,IADA,CACA;AACA;AACA;AACA;;AACA;;AACA;AACA;AACA,OARA,EASA,KATA,CASA;AACA;AACA;AACA;AACA;AACA,OAdA;AAeA,KA/DA;AAgEA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA,KArEA;AAsEA;AACA;AACA;AACA,KAzEA;AA0EA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;;AACA,aACA;AACA;AACA;AACA;AACA;AACA;AACA,OANA;AAOA;AACA;AACA;AACA;AACA;AACA,KAnGA;AAoGA;AAAA;;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;AACA,4BADA;AAEA,0CAFA;AAGA,4CAHA;AAIA,0DACA,sBADA,GAEA,CANA;AAOA,6DAPA;AAQA,6BARA;AASA,uCATA;AAUA,mFACA;AAAA;AAAA,aADA,IAEA,SAZA;AAaA,uCACA,kDACA;AAAA;AAAA,aADA,IAEA,SAHA,GAIA,SAjBA;AAiBA;AACA,oCAlBA;AAmBA,gBAnBA;AAoBA,0BApBA;AAqBA,0CArBA;AAsBA,8GAtBA;AAuBA,kDAvBA;AAwBA,gDACA,sDADA,GAEA,KA1BA;AA2BA;AA3BA;;AA6BA;AACA,OAhCA;AAiCA,KA7IA;AA8IA;AACA,oCADA,CAEA;;AAFA,iCAGA,GAHA;AAIA;AACA;AACA;AACA,WAFA;AAGA,SAJA,MAIA;AACA;AACA;AAVA;;AAGA;AAAA;AAQA;;AACA;AACA,KA3JA;AA4JA;AAAA;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDANA,CAOA;;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA;;AACA;AAAA;AAAA,WACA,IADA,CACA,YADA,EAEA,IAFA,CAEA;AAAA;AAAA,SAFA,EAGA,IAHA,CAGA;AAAA;AAAA,SAHA,EAIA,KAJA,CAIA;AAAA;AAAA,SAJA;AAKA,OAlBA;AAmBA;AAhLA,GAhDA;AAkOA;AACA;AACA;AACA,2BACA;AAAA;AAAA;AAAA,OADA,EAEA;AAAA;AAAA;AAAA,OAFA,EAGA;AAAA;AAAA;AAAA,OAHA,EAIA;AAAA;AAAA;AAAA,OAJA;AAKA,KANA,MAMA;AACA,yCACA;AAAA;AAAA;AAAA,OADA,EAEA;AAAA;AAAA;AAAA,OAFA,EAGA;AAAA;AAAA;AAAA,OAHA,EAIA;AAAA;AAAA;AAAA,OAJA;AAKA;AACA,GAjPA;AAkPA;AACA;AACA;AACA;AArPA,G;;ACtGwU,CAAgB,4HAAG,EAAC,C;;;;;ACAnP;AACvC;AACL;AACqC;;;AAGlG;AAC0F;AAC1F,IAAI,wBAAS,GAAG,kBAAU;AAC1B,EAAE,iDAAM;AACR,EAAE,8DAAM;AACR,EAAE,uEAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,2EAAS,Q;;ACnBxB,IAAI,oDAAM,gBAAgB,aAAa,0BAA0B,wBAAwB,iBAAiB,4BAA4B,wCAAwC,iBAAiB,iCAAiC,YAAY,sCAAsC,2CAA2C,KAAK,yBAAyB,oCAAoC,YAAY,yBAAyB,4CAA4C;AAChd,IAAI,6DAAe;;;;;;;;;;;;;;;;;;;;ACYnB;AAEA;AACA,cADA;AAEA;AACA;AACA,iBADA;AAEA;AAAA;AAAA;AAFA,KADA;AAKA;AACA,kBADA;AAEA;AAFA;AALA,GAFA;AAYA;AACA;AACA;AACA;AAHA;AAZA,G;;ACf8T,CAAgB,wGAAG,EAAC,C;;;;;ACAnP;AACvC;AACL;AACqC;;;AAGxF;AAC0F;AAC1F,IAAI,cAAS,GAAG,kBAAU;AAC1B,EAAE,uCAAM;AACR,EAAE,oDAAM;AACR,EAAE,6DAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,uDAAS,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACmBxB;AACA;AAKA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA,iBADA;AAEA,gBAFA;AAGA,aAHA;AAIA,mBAJA;AAKA,iBALA;AAMA,YANA;AAOA,wBAPA;AAQA,qBARA;AASA,mBATA;AAUA,SAVA;AAWA,cAXA;AAYA,UAZA;AAaA,oBAbA;AAcA;AAdA;AAiBA;AACA;AAAA;AAAA;AAAA,GADA;AAEA,iBAFA;AAGA;AACA;AACA,mBADA;AAEA;AAFA,KADA;AAKA;AACA,kBADA;AAEA;AAAA;AAAA;AAFA,KALA;AASA;AACA,kBADA;AAEA;AAFA,KATA;AAaA;AACA,iBADA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAFA,KAbA;AAiBA;AACA,kBADA;AAEA;AAFA,KAjBA;AAqBA;AACA,mBADA;AAEA;AAFA;AArBA,GAHA;AA6BA;AACA,WAAW,gDACX,UADA;AAGA,GAjCA;AAkCA;AACA;AACA;AAAA;AAAA;AACA,KAHA;AAIA;AACA;AACA,KANA;AAOA;AACA;AACA,KATA;AAUA;AAAA;;AACA,6BADA,CAEA;;AACA;AAAA;AAAA;AACA,KAdA;AAeA;AAAA;;AACA,6BADA,CAEA;;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,KAnBA;AAoBA;AACA;AACA;AAtBA,GAlCA;AA0DA;AACA;AACA,GA5DA;AA6DA;AAAA;;AACA;AACA;AACA,KAFA;AAGA;AAjEA,G;;ACvEiU,CAAgB,8GAAG,EAAC,C;;;;;ACAnP;AACvC;AACL;AACqC;;;AAG3F;AAC0F;AAC1F,IAAI,iBAAS,GAAG,kBAAU;AAC1B,EAAE,0CAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,6DAAS,Q;;ACnBxB;;;ACAwB;AACF;;;;;;;;ACDtB,+D","file":"map-side-bar.common.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fae3\");\n","module.exports = require(\"element-ui/lib/pagination\");","module.exports = require(\"core-js/modules/es.symbol.iterator\");","module.exports = require(\"element-ui/lib/theme-chalk/pagination.css\");","module.exports = require(\"core-js/modules/es.parse-int\");","module.exports = require(\"element-ui/lib/select\");","module.exports = require(\"element-ui/lib/theme-chalk/select.css\");","module.exports = require(\"core-js/modules/es.array.for-each\");","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tabs.vue?vue&type=style&index=0&id=5d1b9484&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tabs.vue?vue&type=style&index=0&id=5d1b9484&scoped=true&lang=css&\"","module.exports = require(\"core-js/modules/es.array.concat\");","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchFilters.vue?vue&type=style&index=0&id=1f8b9674&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchFilters.vue?vue&type=style&index=0&id=1f8b9674&scoped=true&lang=css&\"","module.exports = require(\"core-js/modules/web.dom-collections.iterator\");","module.exports = require(\"core-js/modules/es.object.keys\");","module.exports = require(\"element-ui/lib/theme-chalk/link.css\");","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatasetCard.vue?vue&type=style&index=0&id=0b100df4&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatasetCard.vue?vue&type=style&index=0&id=0b100df4&scoped=true&lang=css&\"","module.exports = require(\"element-ui/lib/theme-chalk/button.css\");","module.exports = require(\"core-js/modules/web.url\");","module.exports = require(\"element-ui/lib/theme-chalk/loading.css\");","// extracted by mini-css-extract-plugin","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContextCard.vue?vue&type=style&index=0&id=17e861eb&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContextCard.vue?vue&type=style&index=0&id=17e861eb&scoped=true&lang=css&\"","module.exports = require(\"element-ui/lib/drawer\");","module.exports = require(\"@abi-software/svg-sprite\");","module.exports = require(\"core-js/modules/es.object.get-own-property-descriptors\");","module.exports = require(\"core-js/modules/es.string.split\");","module.exports = require(\"core-js/modules/es.set\");","module.exports = require(\"core-js/modules/es.array.filter\");","module.exports = require(\"element-ui/lib/theme-chalk/card.css\");","module.exports = require(\"element-ui/lib/theme-chalk/drawer.css\");","module.exports = require(\"core-js/modules/es.symbol.description\");","module.exports = require(\"core-js/modules/es.regexp.exec\");","module.exports = require(\"element-ui/lib/button\");","module.exports = require(\"core-js/modules/es.regexp.to-string\");","module.exports = require(\"core-js/modules/es.symbol\");","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SideBar.vue?vue&type=style&index=0&id=a53cebae&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SideBar.vue?vue&type=style&index=0&id=a53cebae&scoped=true&lang=css&\"","module.exports = require(\"core-js/modules/es.array.slice\");","module.exports = require(\"core-js/modules/es.object.get-own-property-descriptor\");","module.exports = require(\"element-ui/lib/cascader\");","module.exports = require(\"element-ui/lib/locale/lang/en\");","// extracted by mini-css-extract-plugin","module.exports = require(\"element-ui/lib/theme-chalk/cascader.css\");","module.exports = require(\"core-js/modules/es.array.sort\");","module.exports = require(\"core-js/modules/es.number.constructor\");","module.exports = require(\"regenerator-runtime/runtime\");","module.exports = require(\"core-js/modules/es.array.splice\");","module.exports = require(\"element-ui/lib/link\");","module.exports = require(\"element-ui/lib/locale\");","module.exports = require(\"element-ui/lib/theme-chalk/option.css\");","module.exports = require(\"core-js/modules/es.promise\");","module.exports = require(\"core-js/modules/es.object.to-string\");","module.exports = require(\"vue\");","module.exports = require(\"core-js/modules/es.array.iterator\");","module.exports = require(\"element-ui/lib/theme-chalk/icon.css\");","module.exports = require(\"core-js/modules/es.string.iterator\");","module.exports = require(\"element-ui/lib/theme-chalk/base.css\");","module.exports = __webpack_public_path__ + \"img/missing-image.1878d8b8.svg\";","// extracted by mini-css-extract-plugin","module.exports = require(\"element-ui/lib/theme-chalk/input.css\");","module.exports = require(\"core-js/modules/es.array.includes\");","module.exports = require(\"element-ui/lib/loading\");","module.exports = require(\"element-ui/lib/card\");","module.exports = require(\"element-ui/lib/icon\");","// extracted by mini-css-extract-plugin","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarContent.vue?vue&type=style&index=0&id=6214d109&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarContent.vue?vue&type=style&index=0&id=6214d109&scoped=true&lang=css&\"","module.exports = require(\"core-js/modules/es.function.name\");","module.exports = require(\"core-js/modules/web.dom-collections.for-each\");","module.exports = require(\"core-js/modules/es.string.replace\");","module.exports = require(\"element-ui/lib/option\");","module.exports = require(\"current-script-polyfill\");","// extracted by mini-css-extract-plugin","module.exports = require(\"core-js/modules/es.array.from\");","module.exports = require(\"element-ui/lib/input\");","module.exports = require(\"core-js/modules/es.object.entries\");","// extracted by mini-css-extract-plugin","module.exports = require(\"core-js/modules/es.array.map\");","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n require('current-script-polyfill')\n }\n\n var i\n if ((i = window.document.currentScript) && (i = i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_public_path__ = i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"container\"},[(!_vm.drawerOpen)?_c('div',{staticClass:\"open-tab\",on:{\"click\":_vm.toggleDrawer}},[_c('i',{staticClass:\"el-icon-arrow-left\"})]):_vm._e(),_c('el-drawer',{staticClass:\"side-bar\",attrs:{\"custom-class\":\"my-drawer\",\"visible\":_vm.drawerOpen,\"appendToBody\":false,\"modal-append-to-body\":false,\"size\":\"550\",\"with-header\":false,\"wrapperClosable\":false,\"modal\":false},on:{\"update:visible\":function($event){_vm.drawerOpen=$event}}},[_c('div',{staticClass:\"box-card\"},[(_vm.drawerOpen)?_c('div',{staticClass:\"close-tab\",on:{\"click\":_vm.close}},[_c('i',{staticClass:\"el-icon-arrow-right\"})]):_vm._e(),_c('div',{staticClass:\"sidebar-container\"},[(_vm.tabs.length > 1)?_c('tabs',{attrs:{\"tabTitles\":_vm.tabs,\"activeId\":_vm.activeId},on:{\"titleClicked\":_vm.tabClicked}}):_vm._e(),_vm._l((_vm.tabs),function(tab){return [_c('sidebar-content',{directives:[{name:\"show\",rawName:\"v-show\",value:(tab.id===_vm.activeId),expression:\"tab.id===activeId\"}],key:tab.id,ref:tab.id,refInFor:true,staticClass:\"sidebar-content-container\",attrs:{\"contextCardEntry\":tab.contextCard,\"firstSearch\":tab.title,\"apiLocation\":_vm.apiLocation},on:{\"search-changed\":function($event){return _vm.searchChanged(tab.id, $event)}}})]})],2)])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-card',{staticClass:\"content-card\",attrs:{\"body-style\":_vm.bodyStyle}},[_c('div',{staticClass:\"header\",attrs:{\"slot\":\"header\"},slot:\"header\"},[(_vm.contextCardEntry)?_c('context-card',{attrs:{\"entry\":_vm.contextCardEntry}}):_vm._e(),_c('el-input',{staticClass:\"search-input\",attrs:{\"placeholder\":\"Search\",\"clearable\":\"\"},on:{\"clear\":_vm.clearSearchClicked},nativeOn:{\"keyup\":function($event){return _vm.searchEvent($event)}},model:{value:(_vm.searchInput),callback:function ($$v) {_vm.searchInput=$$v},expression:\"searchInput\"}}),_c('el-button',{staticClass:\"button\",on:{\"click\":_vm.searchEvent}},[_vm._v(\"Search\")])],1),_c('SearchFilters',{ref:\"filtersRef\",staticClass:\"filters\",attrs:{\"entry\":_vm.filterEntry,\"apiLocation\":_vm.apiLocation},on:{\"filterResults\":_vm.filterUpdate,\"numberPerPage\":_vm.numberPerPageUpdate}}),_c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loadingCards),expression:\"loadingCards\"}],ref:\"content\",staticClass:\"content scrollbar\"},[(_vm.results.length === 0 && !_vm.loadingCards && !_vm.sciCrunchError)?_c('div',{staticClass:\"error-feedback\"},[_vm._v(\"No results found - Please change your search / filter criteria.\")]):_vm._e(),(_vm.sciCrunchError)?_c('div',{staticClass:\"error-feedback\"},[_vm._v(_vm._s(_vm.sciCrunchError))]):_vm._e(),_vm._l((_vm.results),function(o){return _c('div',{key:o.id,staticClass:\"step-item\"},[_c('DatasetCard',{attrs:{\"entry\":o,\"apiLocation\":_vm.apiLocation}})],1)}),_c('el-pagination',{staticClass:\"pagination\",attrs:{\"current-page\":_vm.page,\"hide-on-single-page\":\"\",\"large\":\"\",\"layout\":\"prev, pager, next\",\"page-size\":_vm.numberPerPage,\"total\":_vm.numberOfHits},on:{\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"current-change\":_vm.pageChange}})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}","export default function _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles\";\nimport iterableToArray from \"./iterableToArray\";\nimport nonIterableSpread from \"./nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread();\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"filters\"},[_c('map-svg-sprite-color'),_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"}},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showFilters),expression:\"showFilters\"}],staticClass:\"search-filters transition-box\"},[_c('custom-cascader',{ref:\"cascader\",staticClass:\"cascader\",attrs:{\"placeholder\":\"\",\"collapse-tags\":true,\"options\":_vm.options,\"props\":_vm.props,\"show-all-levels\":false,\"append-to-body\":false},on:{\"change\":function($event){return _vm.cascadeEvent($event)},\"expand-change\":_vm.cascadeExpandChange,\"tags-changed\":_vm.tagsChangedCallback},model:{value:(_vm.cascadeSelected),callback:function ($$v) {_vm.cascadeSelected=$$v},expression:\"cascadeSelected\"}}),(_vm.showFiltersText)?_c('div',{staticClass:\"filter-default-value\"},[_c('map-svg-icon',{staticClass:\"filter-icon-inside\",attrs:{\"icon\":\"noun-filter\"}}),_vm._v(\"Apply Filters \")],1):_vm._e()],1)]),_c('el-select',{staticClass:\"number-shown-select\",attrs:{\"placeholder\":\"10\"},on:{\"change\":function($event){return _vm.numberShownChanged($event)}},model:{value:(_vm.numberShown),callback:function ($$v) {_vm.numberShown=$$v},expression:\"numberShown\"}},_vm._l((_vm.numberDatasetsShown),function(item){return _c('el-option',{key:item,attrs:{\"label\":item,\"value\":item}})}),1),_c('span',{staticClass:\"dataset-results-feedback\"},[_vm._v(_vm._s(this.numberOfResultsText))])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArray from \"./iterableToArray\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || nonIterableRest();\n}","<script>\n/* eslint-disable no-alert, no-console */\nimport { Cascader } from \"element-ui\";\n\nexport default {\n name: 'CustomCascader',\n extends: Cascader,\n methods:{\n //Modify this internal function to disable Show all tags\n computePresentTags() {\n const { isDisabled, leafOnly, showAllLevels, separator, collapseTags } = this;\n const checkedNodes = this.getCheckedNodes(leafOnly);\n const tags = [];\n const genTag = node => ({\n node,\n key: node.uid,\n text: node.getText(showAllLevels, separator),\n hitState: false,\n closable: !isDisabled && !node.isDisabled\n });\n let customNodes = checkedNodes.filter(node =>\n {\n return !(node.getText(showAllLevels, separator).includes(\"Show all\"));\n }\n );\n if (customNodes.length) {\n const [first, ...rest] = customNodes;\n const restCount = rest.length;\n tags.push(genTag(first));\n if (restCount) {\n if (collapseTags) {\n tags.push({\n key: -1,\n text: `+ ${restCount}`,\n closable: false\n });\n } else {\n rest.forEach(node => tags.push(genTag(node)));\n }\n }\n }\n this.checkedNodes = checkedNodes;\n this.presentTags = tags;\n this.$emit(\"tags-changed\", this.presentTags);\n }\n }\n}\n\n</script>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Cascader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Cascader.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","var render, staticRenderFns\nimport script from \"./Cascader.vue?vue&type=script&lang=js&\"\nexport * from \"./Cascader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default {\n 'homo sapiens': 'Human',\n 'rattus norvegicus': 'Rat',\n 'mus musculus': 'Mouse',\n 'sus scrofa domesticus': 'Pig',\n 'sus scrofa': 'Boar',\n 'felis catus': 'Cat'\n}\n","<template>\n <div class=\"filters\">\n <map-svg-sprite-color />\n <transition name=\"el-zoom-in-top\">\n <span v-show=\"showFilters\" class=\"search-filters transition-box\">\n <custom-cascader\n class=\"cascader\"\n ref=\"cascader\"\n v-model=\"cascadeSelected\"\n placeholder\n :collapse-tags=\"true\"\n :options=\"options\"\n :props=\"props\"\n @change=\"cascadeEvent($event)\"\n @expand-change=\"cascadeExpandChange\"\n :show-all-levels=\"false\"\n :append-to-body=\"false\"\n @tags-changed=\"tagsChangedCallback\"\n ></custom-cascader>\n <div v-if=\"showFiltersText\" class=\"filter-default-value\">\n <map-svg-icon icon=\"noun-filter\" class=\"filter-icon-inside\" />Apply Filters\n </div>\n </span>\n </transition>\n\n <el-select\n class=\"number-shown-select\"\n v-model=\"numberShown\"\n placeholder=\"10\"\n @change=\"numberShownChanged($event)\"\n >\n <el-option v-for=\"item in numberDatasetsShown\" :key=\"item\" :label=\"item\" :value=\"item\"></el-option>\n </el-select>\n <span class=\"dataset-results-feedback\">{{this.numberOfResultsText}}</span>\n </div>\n</template>\n\n\n<script>\n/* eslint-disable no-alert, no-console */\nimport Vue from \"vue\";\nimport { Option, Select } from \"element-ui\";\nimport CustomCascader from \"./Cascader\";\nimport lang from \"element-ui/lib/locale/lang/en\";\nimport locale from \"element-ui/lib/locale\";\nimport speciesMap from \"./species-map\";\nimport { MapSvgIcon, MapSvgSpriteColor } from \"@abi-software/svg-sprite\";\n\nlocale.use(lang);\nVue.use(Option);\nVue.use(Select);\n\nconst capitalise = function(txt) {\n return txt.charAt(0).toUpperCase() + txt.slice(1);\n};\n\nconst convertReadableLabel = function(original) {\n const name = original.toLowerCase();\n if (speciesMap[name]){\n return capitalise(speciesMap[name]);\n } else {\n return capitalise(name);\n }\n}\n\nexport default {\n name: \"SearchFilters\",\n components: {\n CustomCascader,\n MapSvgIcon,\n MapSvgSpriteColor\n },\n props: {\n /**\n * Object containing information for\n * the required viewing.\n */\n entry: Object,\n apiLocation: {\n type: String,\n default: \"\"\n }\n },\n data: function() {\n return {\n cascaderIsReady: false,\n previousShowAllChecked: {\n species: false,\n gender: false,\n organ: false,\n datasets: false\n },\n showFilters: true,\n showFiltersText: true,\n cascadeSelected: [],\n numberShown: 10,\n filters: [],\n facets: [\"Species\", \"Gender\", \"Organ\", \"Datasets\"],\n numberDatasetsShown: [\"10\", \"20\", \"50\"],\n props: { multiple: true },\n options: [\n {\n value: \"Species\",\n label: \"Species\",\n children: [{}]\n }\n ]\n };\n },\n computed: {\n numberOfResultsText: function() {\n return `${this.entry.numberOfHits} results | Showing`;\n }\n },\n methods: {\n createCascaderItemValue: function(term, facet) {\n if (facet) return term + \"/\" + facet;\n else return term;\n },\n populateCascader: function() {\n return new Promise(resolve => {\n this.options = [];\n let promiseList = [];\n for (let i in this.facets) {\n this.options.push({\n value: this.createCascaderItemValue(\n this.facets[i].toLowerCase(),\n undefined\n ),\n label: convertReadableLabel(this.facets[i]),\n children: []\n });\n promiseList.push(\n this.getFacet(this.facets[i]).then(labels => {\n // Populate children of each facet with scicrunch's facets\n for (let j in labels) {\n this.options[i].children.push({\n value: this.createCascaderItemValue(\n this.facets[i].toLowerCase(),\n labels[j].toLowerCase()),\n label: convertReadableLabel(labels[j]) // Capitalisation is to match design specs\n });\n }\n })\n );\n }\n Promise.allSettled(promiseList).then(() => {\n resolve();\n });\n });\n },\n getFacet: function(facetLabel) {\n if (facetLabel === \"Datasets\") {\n // The datasets facet doesn't exist on SciCrunch yet, so manually set it\n // for now.\n return new Promise(resolve => {\n resolve([...new Set([\"Show all\", \"Scaffolds\", \"Simulations\"])]);\n });\n }\n return new Promise(resolve => {\n let facets = [\"Show all\"]; // Set 'Show all' as our first label\n let facet = facetLabel.toLowerCase();\n this.callSciCrunch(this.apiLocation, this.facetEndpoint, facet).then(\n facet_terms => {\n facet_terms.forEach(element => {\n facets.push(element[\"key\"]); // add facets that scicrunch includes\n });\n resolve([...new Set(facets)]); // return no duplicates\n }\n );\n });\n },\n // switchTermToRequest is used to remove the count for sending a request to scicrunch\n switchTermToRequest: function(term) {\n return term.split(\" \")[0].toLowerCase();\n },\n tagsChangedCallback: function(presentTags) {\n if (presentTags.length > 0) {\n this.showFiltersText = false;\n } else {\n this.showFiltersText = true;\n }\n },\n cascadeEvent: function(event) {\n let filters = [];\n if (event) {\n // Check for show all in selected cascade options\n event = this.showAllEventModifier(event);\n for (let i in event) {\n if (event[i] !== undefined) {\n let value = event[i][1];\n let data = value.split(\"/\");\n let output = {};\n output.term = this.switchTermToRequest(data[0]);\n output.facet = data[1];\n filters.push(output);\n }\n }\n }\n this.$emit(\"filterResults\", filters);\n this.setCascader(filters); //update our cascader v-model if we modified the event\n this.makeCascadeLabelsClickable();\n },\n showAllEventModifier: function(event) {\n // check if show all is in the cascader checked option list\n let hasShowAll = event\n .map(ev => (ev ? ev[1].toLowerCase().includes(\"show all\") : false))\n .includes(true);\n // remove all selected options below the show all if checked\n if (hasShowAll) {\n let modifiedEvent = [];\n let facetMaps = {};\n //catagorised different facet items\n for (const i in event) {\n if (facetMaps[event[i][0]] === undefined) facetMaps[event[i][0]] = [];\n facetMaps[event[i][0]].push(event[i]);\n }\n // go through each facets\n for (const facet in facetMaps) {\n let showAll = undefined;\n // Find the show all item if any\n for (let i = facetMaps[facet].length - 1; i >= 0; i--) {\n if (facetMaps[facet][i][1].toLowerCase().includes(\"show all\")) {\n //seperate the showAll item and the rest\n showAll = facetMaps[facet].splice(i, 1)[0];\n break;\n }\n }\n if (showAll) {\n if (this.previousShowAllChecked[facet]) {\n //Unset the show all if it was present previously\n //and there are other items\n if (facetMaps[facet].length > 0)\n modifiedEvent.push(...facetMaps[facet]);\n else modifiedEvent.push(showAll);\n } else {\n //showAll is turned on\n modifiedEvent.push(showAll);\n }\n } else {\n modifiedEvent.push(...facetMaps[facet]);\n }\n }\n //Make sure the expanded item are sorted first.\n return modifiedEvent.sort((a, b) => {\n if (this.__expandItem__) {\n if (a[0] == this.__expandItem__) {\n if (b[0] == this.__expandItem__) {\n return 0;\n } else {\n return -1;\n }\n } else if (b[0] == this.__expandItem__) {\n if (a[0] == this.__expandItem__) {\n return 0;\n } else {\n return 1;\n }\n } else {\n return 0;\n }\n } else\n return 0;\n });\n }\n return event;\n },\n cascadeExpandChange: function(event) {\n //work around as the expand item may change on modifying the cascade props\n this.__expandItem__ = event;\n this.makeCascadeLabelsClickable();\n },\n numberShownChanged: function(event) {\n this.$emit(\"numberPerPage\", parseInt(event));\n },\n callSciCrunch: function(apiLocation, endpoint, term) {\n return new Promise(resolve => {\n fetch(apiLocation + endpoint + term)\n .then(response => response.json())\n .then(data => {\n resolve(data);\n });\n });\n },\n updatePreviousShowAllChecked: function(options) {\n //Reset the states\n for (const facet in this.previousShowAllChecked) {\n this.previousShowAllChecked[facet] = false;\n }\n options.forEach(element => {\n if (element[1].toLowerCase().includes(\"show all\"))\n this.previousShowAllChecked[element[0]] = true;\n });\n },\n setCascader: function(filterFacets) {\n //Do not set the value unless it is ready\n if (this.cascaderIsReady) {\n this.cascadeSelected = [];\n filterFacets.forEach(e => {\n this.cascadeSelected.push([\n e.term.toLowerCase(),\n this.createCascaderItemValue(\n e.term.toLowerCase(),\n e.facet.toLowerCase()\n )\n ]);\n });\n this.updatePreviousShowAllChecked(this.cascadeSelected);\n }\n },\n makeCascadeLabelsClickable: function() {\n // Next tick allows the cascader menu to change\n this.$nextTick(() => {\n this.$refs.cascader.$el\n .querySelectorAll(\".el-cascader-node__label\")\n .forEach(el => {\n // step through each cascade label\n el.onclick = function() {\n const checkbox = this.previousElementSibling;\n if (checkbox) {\n if (!checkbox.parentElement.attributes[\"aria-owns\"]) {\n // check if we are at the lowest level of cascader\n this.previousElementSibling.click(); // Click the checkbox\n }\n }\n };\n });\n });\n }\n },\n created: function() {\n //Create non-reactive local variables\n this.facetEndpoint = \"get-facets/\";\n },\n mounted: function() {\n this.populateCascader().then(() => {\n this.cascaderIsReady = true;\n this.setCascader(this.entry.filterFacets);\n this.makeCascadeLabelsClickable();\n });\n }\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped>\n.filter-default-value {\n pointer-events: none;\n position: absolute;\n top: 0;\n left: 0;\n padding-top: 10px;\n padding-left: 16px;\n}\n\n.filter-icon-inside {\n width: 12px !important;\n height: 12px !important;\n color: #292b66;\n transform: scale(2) !important;\n margin-bottom: 0px !important;\n}\n\n.cascader {\n font-family: Asap;\n font-size: 14px;\n font-weight: 500;\n font-stretch: normal;\n font-style: normal;\n line-height: normal;\n letter-spacing: normal;\n color: #292b66;\n text-align: center;\n padding-bottom: 6px;\n}\n\n.cascader >>> .el-scrollbar__wrap {\n overflow-x: hidden;\n margin-bottom: 2px !important;\n}\n\n.cascader >>> li[aria-owns*=\"cascader\"] > .el-checkbox {\n display: none;\n}\n\n.dataset-results-feedback {\n float: right;\n text-align: right;\n color: rgb(48, 49, 51);\n font-family: Asap;\n font-size: 18px;\n font-weight: 500;\n padding-top: 8px;\n}\n\n.search-filters {\n position: relative;\n float: left;\n padding-right: 15px;\n padding-bottom: 12px;\n}\n\n.number-shown-select {\n float: right;\n}\n\n.number-shown-select >>> .el-input__inner {\n width: 68px;\n height: 40px;\n color: rgb(48, 49, 51);\n}\n\n.search-filters >>> .el-cascader-node.is-active {\n color: #8300bf;\n}\n\n.search-filters >>> .el-cascader-node.in-active-path {\n color: #8300bf;\n}\n\n.search-filters >>> .el-checkbox__input.is-checked > .el-checkbox__inner {\n background-color: #8300bf;\n border-color: #8300bf;\n}\n\n.cascader >>> .el-cascader-menu:nth-child(2) .el-cascader-node:first-child {\n border-bottom: 1px solid #e4e7ed;\n}\n\n.cascader >>> .el-cascader-node__label {\n text-align: left;\n}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchFilters.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchFilters.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SearchFilters.vue?vue&type=template&id=1f8b9674&scoped=true&\"\nimport script from \"./SearchFilters.vue?vue&type=script&lang=js&\"\nexport * from \"./SearchFilters.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SearchFilters.vue?vue&type=style&index=0&id=1f8b9674&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1f8b9674\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"container\",staticClass:\"dataset-card-container\"},[_c('div',{ref:\"card\",class:_vm.expanded ? 'dataset-card-expanded' : 'dataset-card'},[(_vm.entry.id !== 0)?_c('div',{staticClass:\"seperator-path\"}):_vm._e(),_c('div',{staticClass:\"card\"},[_c('span',{staticClass:\"card-left\"},[_c('img',{staticClass:\"banner-img\",attrs:{\"svg-inline\":\"\",\"src\":_vm.thumbnail},on:{\"click\":_vm.openDataset}})]),_c('div',{staticClass:\"card-right\"},[_c('div',{staticClass:\"title\",on:{\"click\":_vm.cardClicked}},[_vm._v(_vm._s(_vm.entry.name))]),_c('div',{staticClass:\"details\"},[_vm._v(_vm._s(_vm.contributors)+\" \"+_vm._s(_vm.entry.publishDate ? (\"(\" + _vm.publishYear + \")\") : ''))]),_c('div',{staticClass:\"details\"},[_vm._v(_vm._s(_vm.samples))]),_c('div',{staticClass:\"details\"},[_vm._v(\"id: \"+_vm._s(_vm.discoverId))]),_c('div',[(!_vm.entry.simulation)?_c('el-button',{staticClass:\"button\",attrs:{\"size\":\"mini\",\"icon\":\"el-icon-coin\"},on:{\"click\":_vm.openDataset}},[_vm._v(\"View dataset\")]):_vm._e()],1),_c('div',[(_vm.entry.scaffolds)?_c('el-button',{staticClass:\"button\",attrs:{\"size\":\"mini\",\"icon\":\"el-icon-view\"},on:{\"click\":_vm.openScaffold}},[_vm._v(\"View scaffold\")]):_vm._e()],1),_c('div',[(_vm.hasCSVFile)?_c('el-button',{staticClass:\"button\",attrs:{\"size\":\"mini\",\"icon\":\"el-icon-view\"},on:{\"click\":_vm.openPlot}},[_vm._v(\"View plot\")]):_vm._e()],1),_c('div',[(_vm.entry.simulation)?_c('el-button',{staticClass:\"button\",attrs:{\"size\":\"mini\",\"icon\":\"el-icon-view\"},on:{\"click\":_vm.openRepository}},[_vm._v(\"View repository\")]):_vm._e()],1),_c('div',[(_vm.entry.simulation)?_c('el-button',{staticClass:\"button\",attrs:{\"size\":\"mini\",\"icon\":\"el-icon-view\"},on:{\"click\":_vm.openSimulation}},[_vm._v(\"View simulation\")]):_vm._e()],1)])]),((_vm.cardOverflow && !_vm.expanded))?_c('p',{staticClass:\"read-more\"},[_c('el-button',{staticClass:\"read-more-button\",on:{\"click\":_vm.expand}},[_vm._v(\"Read more...\")])],1):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue';\nconst EventBus = new Vue();\nexport default EventBus;\n","export default {\n 77: {\n version: 2, meta_file: 'integrated_metadata.json', contextCard: {\n title: \"ICN fitted Scaffold\",\n description: \"Points are mapped to their positions on a 3d heart that is mapped to the data.\",\n bannerImage: 'https://raw.githubusercontent.com/Tehsurfer/map-sidebar/tabs/assets/temp-pics/icn.png',\n keys: [{\n image: \"https://raw.githubusercontent.com/Tehsurfer/map-sidebar/tabs/assets/temp-pics/orange.png\",\n text: \"ICN Subject 54-8\"\n }, {\n image: \"https://raw.githubusercontent.com/Tehsurfer/map-sidebar/tabs/assets/temp-pics/teal.png\",\n text: \"ICN Subject 54-5\"\n }\n ]\n },\n },\n 76: { version: 2, meta_file: 'mouseColon_metadata.json' },\n 32: {\n version: 3, meta_file: 'mouse-heart-071020_metadata.json', contextCard: {\n title: \"Neural paths mapped to a heart scaffold\",\n description: \"Points are mapped to their positions on a 3d heart that is mapped to the data.\",\n bannerImage: 'https://raw.githubusercontent.com/Tehsurfer/map-sidebar/tabs/assets/temp-pics/aNIksBFARaKwlKhpnDCKbA.png',\n keys: [{\n image: \"https://raw.githubusercontent.com/Tehsurfer/map-sidebar/tabs/assets/temp-pics/VqNcZ8fSQJu5TJEf9ahwvA.png\",\n text: \"Neural path\"\n }],\n }\n }\n }\n","<template>\n <div class=\"dataset-card-container\" ref=\"container\">\n <div v-bind:class=\" expanded ? 'dataset-card-expanded' : 'dataset-card'\" ref=\"card\">\n <div v-if=\"entry.id !== 0\" class=\"seperator-path\"></div>\n <div class=\"card\" >\n <span class=\"card-left\">\n <img svg-inline class=\"banner-img\" :src=\"thumbnail\" @click=\"openDataset\"/>\n </span>\n <div class=\"card-right\" >\n <div class=\"title\" @click=\"cardClicked\">{{entry.name}}</div>\n <div class=\"details\">{{contributors}} {{entry.publishDate ? `(${publishYear})` : ''}}</div>\n <div class=\"details\">{{samples}}</div>\n <div class=\"details\">id: {{discoverId}}</div>\n <div>\n <el-button v-if=\"!entry.simulation\" @click=\"openDataset\" size=\"mini\" class=\"button\" icon=\"el-icon-coin\">View dataset</el-button>\n </div>\n <div>\n <el-button v-if=\"entry.scaffolds\" @click=\"openScaffold\" size=\"mini\" class=\"button\" icon=\"el-icon-view\">View scaffold</el-button>\n </div>\n <div>\n <el-button v-if=\"hasCSVFile\" @click=\"openPlot\" size=\"mini\" class=\"button\" icon=\"el-icon-view\">View plot</el-button>\n </div>\n <div>\n <el-button v-if=\"entry.simulation\" @click=\"openRepository\" size=\"mini\" class=\"button\" icon=\"el-icon-view\">View repository</el-button>\n </div>\n <div>\n <el-button v-if=\"entry.simulation\" @click=\"openSimulation\" size=\"mini\" class=\"button\" icon=\"el-icon-view\">View simulation</el-button>\n </div>\n </div>\n\n </div>\n <p v-if=\"(cardOverflow && !expanded)\" class=\"read-more\"><el-button @click=\"expand\" class=\"read-more-button\">Read more...</el-button></p>\n </div>\n </div>\n</template>\n\n\n<script>\n/* eslint-disable no-alert, no-console */\nimport Vue from \"vue\";\nimport { Button, Icon } from \"element-ui\";\nimport lang from \"element-ui/lib/locale/lang/en\";\nimport locale from \"element-ui/lib/locale\";\nimport EventBus from \"./EventBus\"\nimport scaffoldMetaMap from './scaffold-meta-map';\nimport speciesMap from \"./species-map\";\n\nlocale.use(lang);\nVue.use(Button);\nVue.use(Icon);\n\nconst capitalise = function(string){\n return string.replace(/\\b\\w/g, v => v.toUpperCase());\n}\n\nexport default {\n name: \"DatasetCard\",\n props: {\n /**\n * Object containing information for\n * the required viewing.\n */\n entry: Object,\n apiLocation: {\n type: String,\n default: \"\"\n },\n },\n data: function () {\n return {\n thumbnail: require('@/../assets/missing-image.svg'),\n dataLocation: this.entry.doi,\n discoverId: undefined,\n cardOverflow: false,\n expanded: false\n };\n },\n computed: {\n hasCSVFile: function(){\n return ( this.entry.csvFiles && this.entry.csvFiles.length !== 0 )\n },\n contributors: function() {\n let text = \"\";\n if (this.entry.contributors) {\n if (this.entry.contributors.length === 1) {\n text = this.lastName(this.entry.contributors[0].name);\n } else if (this.entry.contributors.length === 2) {\n text = this.lastName(this.entry.contributors[0].name) + \" & \" + this.lastName(this.entry.contributors[1].name);\n } else if (this.entry.contributors.length > 2) {\n text = this.lastName(this.entry.contributors[0].name) + \" et al.\";\n }\n }\n return text;\n },\n samples: function() {\n let text = \"\";\n if (this.entry.numberSamples === 1) {\n text = this.entry.numberSamples + \" sample\";\n } else if (this.entry.numberSamples > 1) {\n text = this.entry.numberSamples + \" samples\";\n }\n if (this.entry.species) {\n if (speciesMap[this.entry.species[0].toLowerCase()]){\n text += ` (${speciesMap[this.entry.species[0].toLowerCase()]})`\n } else {\n text += ` (${this.entry.species})`\n }\n }\n return text;\n },\n label: function(){\n return this.entry.organs ? this.entry.organs[0] : this.entry.name\n },\n publishYear: function() {\n return this.entry.publishDate.split('-')[0]\n }\n },\n methods: {\n cardClicked: function(){\n if(this.entry.scaffolds){\n this.openScaffold()\n }else{\n this.openDataset()\n }\n },\n openScaffold: function(){\n let action = {\n label: capitalise(this.label),\n resource: this.getScaffoldPath(this.discoverId, this.version, this.entry.scaffolds[0].dataset.path),\n title: \"View 3D scaffold\",\n type: \"Scaffold\",\n discoverId: this.discoverId,\n contextCard: scaffoldMetaMap[this.discoverId] ? scaffoldMetaMap[this.discoverId].contextCard : undefined\n }\n EventBus.$emit(\"PopoverActionClick\", action)\n },\n openPlot: function(){\n let action = {\n label: capitalise(this.label),\n resource: this.getFileFromPath(this.discoverId, this.version, this.entry.csvFiles[0].dataset.path),\n title: \"View plot\",\n type: \"Plot\",\n discoverId: this.discoverId,\n }\n EventBus.$emit(\"PopoverActionClick\", action)\n },\n openDataset: function(){\n window.open(this.dataLocation,'_blank');\n },\n openRepository: function() {\n let apiLocation = this.apiLocation;\n this.entry.additionalLinks.forEach(function(el) {\n if (el.description == \"Repository\") {\n let xmlhttp = new XMLHttpRequest();\n xmlhttp.open(\"POST\", apiLocation + \"/pmr_latest_exposure\", true);\n xmlhttp.setRequestHeader(\"Content-type\", \"application/json\");\n xmlhttp.onreadystatechange = () => {\n if (xmlhttp.readyState === 4) {\n let url = \"\";\n if (xmlhttp.status === 200) {\n url = JSON.parse(xmlhttp.responseText)[\"url\"];\n }\n if (url === \"\") {\n url = el.uri;\n }\n window.open(url,'_blank');\n }\n };\n xmlhttp.send(JSON.stringify({workspace_url: el.uri}));\n }\n });\n },\n openSimulation: function() {\n let isSedmlResource = false;\n let resource = undefined;\n this.entry.additionalLinks.forEach(function(el) {\n if (el.description == \"SED-ML file\") {\n isSedmlResource = true;\n resource = el.uri;\n } else if (!isSedmlResource && (el.description == \"CellML file\")) {\n resource = el.uri;\n }\n });\n let action = {\n label: undefined,\n resource: resource,\n dataset: this.dataLocation,\n datasetId: this.discoverId,\n title: \"View simulation\",\n name: this.entry.name,\n description: this.entry.description,\n type: \"Simulation\"\n }\n EventBus.$emit(\"PopoverActionClick\", action)\n },\n getScaffoldPath: function(discoverId, version, scaffoldPath){\n let id = discoverId\n let path = `${this.apiLocation}s3-resource/${id}/${version}/files/${scaffoldPath}`\n return path\n },\n getFileFromPath: function(discoverId, version, path){\n return `${this.apiLocation}s3-resource/${discoverId}/${version}/files/${path}`\n },\n isOverflown: function(el){\n return el.clientHeight < el.scrollHeight\n },\n expand: function() {\n this.expanded = true\n },\n splitDOI: function(doi){\n return [doi.split('/')[doi.split('/').length-2], doi.split('/')[doi.split('/').length-1]]\n },\n getBanner: function () {\n let doi = this.splitDOI(this.entry.doi)\n fetch(`https://api.pennsieve.io/discover/datasets/doi/${doi[0]}/${doi[1]}`)\n .then((response) =>{\n if (!response.ok){\n throw Error(response.statusText)\n } else {\n return response.json()\n }\n })\n .then((data) => {\n this.thumbnail = data.banner\n this.discoverId = data.id\n this.version = data.version\n this.dataLocation = `https://sparc.science/datasets/${data.id}?type=dataset`\n })\n .catch(() => {\n //set defaults if we hit an error\n this.thumbnail = require('@/../assets/missing-image.svg')\n this.discoverId = undefined\n });\n },\n lastName: function(fullName){\n return fullName.split(',')[0]\n },\n },\n mounted: function(){\n this.getBanner()\n this.cardOverflow = this.isOverflown(this.$refs.card)\n },\n updated: function () {\n },\n watch: {\n 'entry.description': function() { // watch it\n this.cardOverflow = false\n this.expanded = false\n this.cardOverflow = this.isOverflown(this.$refs.card)\n this.getBanner()\n }\n },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped>\n.dataset-card {\n padding-left: 16px;\n position: relative;\n}\n.seperator-path {\n width: 486px;\n height: 0px;\n border: solid 1px #e4e7ed;\n background-color: #e4e7ed;\n}\n.title {\n padding-bottom: 5px;\n font-family: Asap;\n font-size: 14px;\n font-weight: bold;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.5;\n letter-spacing: 1.05px;\n color: #484848;\n cursor: pointer;\n}\n.card {\n padding-top: 18px;\n position: relative;\n display: flex;\n}\n\n.card-left{\n flex: 1\n}\n\n.card-right {\n flex: 1.3;\n padding-left: 6px;\n}\n\n.dataset-card .read-more {\n position: absolute;\n z-index: 9;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 20px;\n margin: 0; padding: 20px 66px;\n /* \"transparent\" only works here because == rgba(0,0,0,0) */\n background-image: linear-gradient(to bottom, transparent, white);\n pointer-events: none;\n}\n\n.read-more-button{\n width: 85px;\n height: 20px;\n font-family: Asap;\n font-size: 14px;\n font-weight: normal;\n font-stretch: normal;\n font-style: normal;\n line-height: normal;\n letter-spacing: normal;\n color: #8300bf;\n padding: 0px;\n pointer-events: all;\n cursor: pointer;\n}\n\n.button{\n z-index: 10;\n font-family: Asap;\n font-size: 14px;\n font-weight: normal;\n font-stretch: normal;\n font-style: normal;\n line-height: normal;\n letter-spacing: normal;\n background-color: #8300bf;\n border: #8300bf;\n color: white;\n cursor: pointer;\n margin-top: 8px;\n}\n\n.button:hover {\n background-color: #8300bf;\n color: white;\n}\n\n.banner-img {\n width: 128px;\n height: 128px;\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25);\n background-color: #ffffff;\n cursor: pointer;\n}\n.details{\n font-family: Asap;\n font-size: 14px;\n font-weight: normal;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.5;\n letter-spacing: 1.05px;\n color: #484848;\n}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatasetCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatasetCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DatasetCard.vue?vue&type=template&id=0b100df4&scoped=true&\"\nimport script from \"./DatasetCard.vue?vue&type=script&lang=js&\"\nexport * from \"./DatasetCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DatasetCard.vue?vue&type=style&index=0&id=0b100df4&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0b100df4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"container\",staticClass:\"context-card-container\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showDetails),expression:\"showDetails\"}],staticClass:\"hide\",on:{\"click\":function($event){_vm.showDetails = !_vm.showDetails}}},[_vm._v(\"Hide information\"),_c('i',{staticClass:\"el-icon-arrow-up\"})]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showDetails),expression:\"!showDetails\"}],staticClass:\"hide\",on:{\"click\":function($event){_vm.showDetails = !_vm.showDetails}}},[_vm._v(\"Show information\"),_c('i',{staticClass:\"el-icon-arrow-down\"})]),_c('el-card',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showDetails),expression:\"showDetails\"}],staticClass:\"context-card card\",attrs:{\"body-style\":{ padding: '0px', 'background-color': 'white', display: 'flex', width: '516px'}}},[_c('img',{staticClass:\"context-image card-left\",attrs:{\"src\":_vm.entry.bannerImage}}),_c('div',{staticClass:\"card-right\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.entry.title))]),_c('div',[_vm._v(_vm._s(_vm.entry.description))]),_vm._l((_vm.entry.keys),function(key){return [_c('br',{key:key.text}),_c('span',{key:key.text + 1},[_c('img',{staticStyle:{\"height\":\"20px\"},attrs:{\"src\":key.image}}),_vm._v(\" \"+_vm._s(key.text))])]})],2)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"context-card-container\" ref=\"container\">\n <div v-show=\"showDetails\" class=\"hide\" @click=\"showDetails = !showDetails\">Hide information<i class=\"el-icon-arrow-up\"></i></div>\n <div v-show=\"!showDetails\" class=\"hide\" @click=\"showDetails = !showDetails\">Show information<i class=\"el-icon-arrow-down\"></i></div>\n <el-card v-show=\"showDetails\" class=\"context-card card\" :body-style=\"{ padding: '0px', 'background-color': 'white', display: 'flex', width: '516px'}\">\n <img :src=\"entry.bannerImage\" class=\"context-image card-left\">\n <div class=\"card-right\">\n <div class=\"title\">{{entry.title}}</div>\n <div>{{entry.description}}</div>\n <template v-for=\"key in entry.keys\">\n <br v-bind:key=\"key.text\"/>\n <span v-bind:key=\"key.text + 1\"><img :src=\"key.image\" style=\"height: 20px;\"> {{key.text}}</span>\n </template>\n </div>\n </el-card>\n </div>\n</template>\n\n\n<script>\n/* eslint-disable no-alert, no-console */\nimport Vue from \"vue\";\nimport { Link, Icon, Card, Button, Select, Input } from \"element-ui\";\nimport lang from \"element-ui/lib/locale/lang/en\";\nimport locale from \"element-ui/lib/locale\";\n\nlocale.use(lang);\nVue.use(Link);\nVue.use(Icon);\nVue.use(Card);\nVue.use(Button);\nVue.use(Select);\nVue.use(Input);\n\n\n\nexport default {\n name: \"contextCard\",\n props: {\n /**\n * Object containing information for\n * the required viewing.\n */\n entry: Object,\n },\n data: function () {\n return {\n showDetails: true\n };\n },\n computed: {\n\n },\n methods: {\n },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped>\n\n.hide{\n color: #e4e7ed;\n cursor: pointer;\n}\n\n.context-card{\n background-color: white;\n}\n\n.context-image{\n width: 250px\n}\n\n.card {\n padding-top: 18px;\n margin-bottom: 18px;\n position: relative;\n border: solid 1px #e4e7ed;\n display: flex;\n}\n\n.card-left{\n flex: 1\n}\n\n.card-right {\n flex: 1.3;\n padding-left: 6px;\n}\n\n.title{\n font-weight: bold;\n}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContextCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContextCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ContextCard.vue?vue&type=template&id=17e861eb&scoped=true&\"\nimport script from \"./ContextCard.vue?vue&type=script&lang=js&\"\nexport * from \"./ContextCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ContextCard.vue?vue&type=style&index=0&id=17e861eb&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"17e861eb\",\n null\n \n)\n\nexport default component.exports","<template>\n <el-card :body-style=\"bodyStyle\" class=\"content-card\">\n <div slot=\"header\" class=\"header\">\n <context-card v-if=\"contextCardEntry\" :entry=\"contextCardEntry\" />\n <el-input\n class=\"search-input\"\n placeholder=\"Search\"\n v-model=\"searchInput\"\n @keyup.native=\"searchEvent\"\n clearable\n @clear=\"clearSearchClicked\"\n ></el-input>\n <el-button class=\"button\" @click=\"searchEvent\">Search</el-button>\n </div>\n <SearchFilters\n class=\"filters\"\n ref=\"filtersRef\"\n :entry=\"filterEntry\"\n :apiLocation=\"apiLocation\"\n @filterResults=\"filterUpdate\"\n @numberPerPage=\"numberPerPageUpdate\"\n ></SearchFilters>\n <div class=\"content scrollbar\" v-loading=\"loadingCards\" ref=\"content\">\n <div\n class=\"error-feedback\"\n v-if=\"results.length === 0 && !loadingCards && !sciCrunchError\"\n >No results found - Please change your search / filter criteria.</div>\n <div class=\"error-feedback\" v-if=\"sciCrunchError\">{{sciCrunchError}}</div>\n <div v-for=\"o in results\" :key=\"o.id\" class=\"step-item\">\n <DatasetCard :entry=\"o\" :apiLocation=\"apiLocation\"></DatasetCard>\n </div>\n <el-pagination\n class=\"pagination\"\n :current-page.sync=\"page\"\n hide-on-single-page\n large\n layout=\"prev, pager, next\"\n :page-size=\"numberPerPage\"\n :total=\"numberOfHits\"\n @current-change=\"pageChange\"\n ></el-pagination>\n </div>\n </el-card>\n</template>\n\n\n<script>\n/* eslint-disable no-alert, no-console */\nimport Vue from \"vue\";\nimport {\n Button,\n Card,\n Drawer,\n Icon,\n Input,\n Loading,\n Pagination\n} from \"element-ui\";\nimport lang from \"element-ui/lib/locale/lang/en\";\nimport locale from \"element-ui/lib/locale\";\nimport SearchFilters from \"./SearchFilters\";\nimport DatasetCard from \"./DatasetCard\";\nimport ContextCard from \"./ContextCard.vue\";\n\nlocale.use(lang);\nVue.use(Button);\nVue.use(Card);\nVue.use(Drawer);\nVue.use(Icon);\nVue.use(Input);\nVue.use(Loading);\nVue.use(Pagination);\n\n// handleErrors: A custom fetch error handler to recieve messages from the server\n// even when an error is found\nvar handleErrors = async function(response) {\n if (!response.ok) {\n let parse = await response.json();\n if (parse) {\n throw new Error(parse.message);\n } else {\n throw new Error(response);\n }\n }\n return response;\n};\n\nvar initial_state = {\n searchInput: \"\",\n lastSearch: \"\",\n results: [],\n numberOfHits: 0,\n filter: [],\n loadingCards: false,\n numberPerPage: 10,\n page: 1,\n pageModel: 1,\n start: 0,\n hasSearched: false,\n sciCrunchError: false\n};\n\nexport default {\n components: { SearchFilters, DatasetCard, ContextCard },\n name: \"SideBarContent\",\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n isDrawer: {\n type: Boolean,\n default: true\n },\n entry: {\n type: Object,\n default: () => initial_state\n },\n contextCardEntry: {\n type: Object,\n default: undefined\n },\n apiLocation: {\n type: String,\n default: \"\"\n },\n firstSearch: {\n type: String,\n default: \"\"\n }\n },\n data: function() {\n return {\n ...this.entry,\n bodyStyle: {\n flex: \"1 1 auto\",\n \"flex-flow\": \"column\",\n display: \"flex\"\n }\n };\n },\n computed: {\n // This computed property populates filter data's entry object with $data from this sidebar\n filterEntry: function() {\n return {\n numberOfHits: this.numberOfHits,\n filterFacets: this.filter\n };\n }\n },\n methods: {\n openSearch: function(search, filter = undefined,\n endpoint = undefined, params = undefined) {\n this.searchInput = search;\n this.resetPageNavigation();\n this.searchSciCrunch(search, filter, endpoint, params);\n if (filter) {\n this.filter = [...filter];\n this.$refs.filtersRef.setCascader(this.filter);\n }\n },\n clearSearchClicked: function() {\n this.searchInput = \"\";\n this.resetPageNavigation();\n this.searchSciCrunch(this.searchInput);\n },\n searchEvent: function(event = false) {\n if (event.keyCode === 13 || event instanceof MouseEvent) {\n this.resetPageNavigation();\n this.searchSciCrunch(this.searchInput);\n }\n },\n filterUpdate: function(filter) {\n this.resetPageNavigation();\n this.searchSciCrunch(this.searchInput, filter);\n this.filter = [...filter];\n this.$emit(\"search-changed\", {\n value: this.filter,\n type: \"filter-update\"\n });\n },\n numberPerPageUpdate: function(val) {\n this.numberPerPage = val;\n this.pageChange(1);\n },\n pageChange: function(page) {\n this.start = (page - 1) * this.numberPerPage;\n this.searchSciCrunch(this.searchInput);\n },\n searchSciCrunch: function(search, filter = undefined,\n searchEndpoint = undefined, params = undefined) {\n this.loadingCards = true;\n this.results = [];\n this.disableCards();\n if (!searchEndpoint) searchEndpoint = this.searchEndpoint;\n if (!params)\n params = this.createParams(filter, this.start, this.numberPerPage);\n this.$emit(\"search-changed\", { value: search, type: \"query-update\" });\n this.callSciCrunch(this.apiLocation, searchEndpoint, search, params)\n .then(result => {\n //Only process if the search term is the same as the last search term.\n //This avoid old search being displayed.\n this.sciCrunchError = false;\n this.resultsProcessing(result);\n this.$refs.content.style[\"overflow-y\"] = \"scroll\";\n this.loadingCards = false;\n })\n .catch(result => {\n if (result.name !== 'AbortError') {\n this.loadingCards = false;\n this.sciCrunchError = result.message;\n }\n })\n },\n disableCards: function() {\n if (this.$refs.content) {\n this.$refs.content.scroll({ top: 0, behavior: \"smooth\" });\n this.$refs.content.style[\"overflow-y\"] = \"hidden\";\n }\n },\n resetPageNavigation: function() {\n this.start = 0;\n this.page = 1;\n },\n createParams: function(filter, start, size) {\n //Deconstruct list of fitlers to list of term\n //and facet.\n let params = {};\n let term = [];\n let facet = [];\n let f = undefined;\n if (filter !== undefined) {\n f = filter;\n } else {\n f = this.filter;\n }\n if (f)\n f.forEach(e => {\n //Do not ask for any \"show all\" request\n if (e.facet !== \"show all\") {\n term.push(e.term);\n facet.push(e.facet);\n }\n });\n params.term = term;\n params.facet = facet;\n params.start = start;\n params.size = size;\n return params;\n },\n resultsProcessing: function(data) {\n this.lastSearch = this.searchInput;\n this.results = [];\n let id = 0;\n this.numberOfHits = data.numberOfHits;\n if (data.results.length === 0) {\n return;\n }\n data.results.forEach(element => {\n // this.results.push(element) below should be once backend is ready\n this.results.push({\n name: element.name,\n description: element.description,\n contributors: element.contributors,\n numberSamples: Array.isArray(element.samples)\n ? element.samples.length\n : 1,\n updated: element.updated[0].timestamp.split(\"T\")[0],\n url: element.uri[0],\n datasetId: element.identifier,\n organs: (element.organs && element.organs.length > 0)\n ? [...new Set(element.organs.map(v => v.name))]\n : undefined,\n species: element.organisms \n ? element.organisms[0].species\n ? [...new Set(element.organisms.map((v) =>v.species ? v.species.name : null))]\n : undefined\n : undefined, // This processing only includes each gender once into 'sexes'\n csvFiles: element.csvFiles,\n id: id,\n doi: element.doi,\n publishDate: element.publishDate,\n scaffolds: element['abi-scaffold-metadata-file'] ? element['abi-scaffold-metadata-file'] : undefined,\n additionalLinks: element.additionalLinks,\n simulation: element.additionalLinks\n ? element.additionalLinks[0].description == 'Repository'\n : false,\n s3uri: element.s3uri\n });\n id++;\n });\n },\n createfilterParams: function(params) {\n let p = new URLSearchParams();\n //Check if field is array or value\n for (const key in params) {\n if (Array.isArray(params[key])) {\n params[key].forEach(e => {\n p.append(key, e);\n });\n } else {\n p.append(key, params[key]);\n }\n }\n return p.toString();\n },\n callSciCrunch: function(apiLocation, searchEndpoint, search, params = {}) {\n return new Promise((resolve, reject) => {\n // the following controller will abort current search\n // if a new one has been started\n if (this._controller) this._controller.abort();\n this._controller = new AbortController();\n let signal = this._controller.signal;\n var endpoint = apiLocation + searchEndpoint;\n // Add parameters if we are sent them\n if (search !== \"\" && Object.entries(params).length !== 0) {\n endpoint = endpoint + search + \"/?\" + this.createfilterParams(params);\n } else {\n endpoint = endpoint + \"?\" + this.createfilterParams(params);\n }\n fetch(endpoint, { signal })\n .then(handleErrors)\n .then(response => response.json())\n .then(data => resolve(data))\n .catch(data => reject(data));\n });\n }\n },\n mounted: function() {\n // temporarily disable flatmap search since there are no datasets\n if (this.firstSearch === \"Flatmap\" || this.firstSearch === \"flatmap\") {\n this.openSearch('', [\n {facet: \"show all\", term:'species'},\n {facet: \"show all\", term:'gender'},\n {facet: \"show all\", term:'organ'},\n {facet: \"show all\", term:'datasets'}]);\n } else {\n this.openSearch(this.firstSearch, [\n {facet: \"show all\", term:'species'},\n {facet: \"show all\", term:'gender'},\n {facet: \"show all\", term:'organ'},\n {facet: \"show all\", term:'datasets'}]);\n }\n },\n created: function() {\n //Create non-reactive local variables\n this.searchEndpoint = \"filter-search/\";\n }\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped>\n.content-card {\n height: 100%;\n flex-flow: column;\n display: flex;\n}\n\n.button {\n background-color: #8300bf;\n border: #8300bf;\n color: white;\n}\n\n.step-item {\n font-size: 14px;\n margin-bottom: 18px;\n text-align: left;\n}\n\n.search-input {\n width: 298px !important;\n height: 40px;\n padding-right: 14px;\n align-items: left;\n}\n\n.header {\n border: solid 1px #292b66;\n background-color: #292b66;\n text-align: left;\n}\n\n.pagination {\n padding-bottom: 16px;\n background-color: white;\n text-align: center;\n}\n\n.pagination >>> button {\n background-color: white !important;\n}\n.pagination >>> li {\n background-color: white !important;\n}\n.pagination >>> li.active {\n color: #8300bf;\n}\n\n.error-feedback {\n font-family: Asap;\n font-size: 14px;\n font-style: italic;\n padding-top: 15px;\n}\n\n.content-card >>> .el-card__header {\n background-color: #292b66;\n border: solid 1px #292b66;\n}\n\n.content-card >>> .el-card__body {\n background-color: #f7faff;\n overflow-y: hidden;\n}\n\n.content {\n width: 518px;\n flex: 1 1 auto;\n box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.06);\n border: solid 1px #e4e7ed;\n background-color: #ffffff;\n overflow-y: scroll;\n scrollbar-width: thin;\n}\n\n.scrollbar::-webkit-scrollbar-track {\n border-radius: 10px;\n background-color: #f5f5f5;\n}\n\n.scrollbar::-webkit-scrollbar {\n width: 12px;\n right: -12px;\n background-color: #f5f5f5;\n}\n\n.scrollbar::-webkit-scrollbar-thumb {\n border-radius: 4px;\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.06);\n background-color: #979797;\n}\n\n>>> .el-input__suffix {\n padding-right: 10px;\n}\n\n>>> .my-drawer {\n background: rgba(0, 0, 0, 0);\n box-shadow: none;\n}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SidebarContent.vue?vue&type=template&id=6214d109&scoped=true&\"\nimport script from \"./SidebarContent.vue?vue&type=script&lang=js&\"\nexport * from \"./SidebarContent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SidebarContent.vue?vue&type=style&index=0&id=6214d109&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6214d109\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tab-container\"},_vm._l((_vm.tabTitles),function(title){return _c('div',{key:title.id,staticClass:\"title\"},[_c('div',{staticClass:\"title-text-table\",class:{ highlightText : (title.id==_vm.activeId) },on:{\"click\":function($event){return _vm.titleClicked(title.id)}}},[_c('div',{staticClass:\"title-text\"},[_vm._v(\" \"+_vm._s(title.title)+\" \")])])])}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"tab-container\">\n <div class=\"title\" v-for=\"title in tabTitles\" :key=\"title.id\">\n <div class=\"title-text-table\" v-bind:class=\"{ highlightText : (title.id==activeId) }\" v-on:click=\"titleClicked(title.id)\">\n <div class=\"title-text\">\n {{title.title}}\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\n/* eslint-disable no-alert, no-console */\n\nexport default {\n name: \"Tabs\",\n props: {\n tabTitles: {\n type: Array,\n default: () => []\n },\n activeId: {\n type: Number,\n default: 1\n }\n },\n methods: {\n titleClicked: function(id) {\n this.$emit(\"titleClicked\", id);\n },\n }\n\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped>\n\n.tab-container{\n height: 28px;\n}\n\n.title {\n width: 101px;\n height: 28px;\n border: solid 1px #dcdfe6;\n border-bottom: none;\n background-color: white;\n display:inline-block;\n}\n\n.title:hover {\n cursor: pointer;\n}\n\n.title-text {\n text-align:center;\n display: table-cell;\n vertical-align: middle;\n font-size: 14px;\n}\n\n.title-text-table {\n display:table;\n height: 100%;\n width: 100%;\n}\n\n.parent-dialog:hover .title-text {\n color:#8300bf;\n}\n\n.highlightText {\n color:#8300bf;\n}\n\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tabs.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tabs.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Tabs.vue?vue&type=template&id=5d1b9484&scoped=true&\"\nimport script from \"./Tabs.vue?vue&type=script&lang=js&\"\nexport * from \"./Tabs.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Tabs.vue?vue&type=style&index=0&id=5d1b9484&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5d1b9484\",\n null\n \n)\n\nexport default component.exports","<template>\n <div ref=\"container\">\n <div v-if=\"!drawerOpen\" @click=\"toggleDrawer\" class=\"open-tab\">\n <i class=\"el-icon-arrow-left\"></i>\n </div>\n <el-drawer\n custom-class=\"my-drawer\"\n class=\"side-bar\"\n :visible.sync=\"drawerOpen\"\n :appendToBody=\"false\"\n :modal-append-to-body=\"false\"\n size=550\n :with-header=\"false\"\n :wrapperClosable=\"false\"\n :modal=\"false\"\n >\n <div class=\"box-card\">\n <div v-if=\"drawerOpen\" @click=\"close\" class=\"close-tab\">\n <i class=\"el-icon-arrow-right\"></i>\n </div>\n <div class=\"sidebar-container\">\n <tabs v-if=\"tabs.length > 1\" :tabTitles=\"tabs\" :activeId=\"activeId\"\n @titleClicked=\"tabClicked\"/>\n <template v-for=\"tab in tabs\">\n <sidebar-content class=\"sidebar-content-container\"\n v-show=\"tab.id===activeId\" :contextCardEntry=\"tab.contextCard\"\n :firstSearch=\"tab.title\" :apiLocation=\"apiLocation\"\n v-bind:key=\"tab.id\" :ref=\"tab.id\"\n @search-changed=\"searchChanged(tab.id, $event)\"/>\n </template>\n </div>\n </div>\n </el-drawer>\n </div>\n</template>\n\n\n<script>\n/* eslint-disable no-alert, no-console */\nimport Vue from \"vue\";\nimport {\n Drawer,\n Icon,\n} from \"element-ui\";\nimport lang from \"element-ui/lib/locale/lang/en\";\nimport locale from \"element-ui/lib/locale\";\nimport SidebarContent from './SidebarContent.vue';\nimport EventBus from './EventBus';\nimport Tabs from './Tabs'\n\nlocale.use(lang);\nVue.use(Drawer);\nVue.use(Icon);\n\nvar initial_state = {\n searchInput: \"\",\n lastSearch: \"\",\n results: [],\n drawerOpen: false,\n numberOfHits: 0,\n filter:{},\n filterFacet: undefined,\n loadingCards: false,\n numberPerPage: 10,\n page: 1,\n pageModel: 1,\n start: 0,\n hasSearched: false,\n sciCrunchError: false\n}\n\nexport default {\n components: {SidebarContent, Tabs },\n name: \"SideBar\",\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n entry: {\n type: Object,\n default: () => (initial_state)\n },\n apiLocation: {\n type: String,\n default: \"\"\n },\n tabs: {\n type: Array,\n default: () => [{title:'flatmap', id:1}]\n },\n activeId: {\n type: Number,\n default: 1\n },\n openAtStart: {\n type: Boolean,\n default: false\n }\n },\n data: function () {\n return {\n ...this.entry,\n }\n },\n methods: {\n searchChanged: function (id, data) {\n this.$emit(\"search-changed\", {...data, id: id});\n },\n close: function () {\n this.drawerOpen = false;\n },\n toggleDrawer: function () {\n this.drawerOpen = !this.drawerOpen;\n },\n openSearch: function(term, facets){\n this.drawerOpen = true;\n // Because refs are in v-for, nextTick is needed here\n Vue.nextTick(()=>{this.$refs[this.activeId][0].openSearch(term, facets)})\n },\n openNeuronSearch: function(neuron){\n this.drawerOpen = true;\n // Because refs are in v-for, nextTick is needed here\n Vue.nextTick(()=>{this.$refs[this.activeId][0].openSearch('', undefined, 'scicrunch-query-string/', {'field': '*organ.curie', 'curie':neuron})})\n },\n tabClicked: function(id) {\n this.$emit(\"tabClicked\", id);\n },\n },\n created:function() {\n this.drawerOpen = this.openAtStart;\n },\n mounted: function(){\n EventBus.$on(\"PopoverActionClick\", (payLoad) => {\n this.$emit(\"actionClick\", payLoad);\n })\n }\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped>\n\n.box-card {\n flex: 3;\n height: 100%;\n overflow: hidden;\n pointer-events: auto;\n}\n\n.side-bar{\n position: relative;\n height: 100%;\n pointer-events: none;\n}\n\n.side-bar >>> .el-drawer:focus{\n outline:none;\n}\n\n.sidebar-container {\n height: 100%;\n flex-flow: column;\n display: flex;\n}\n\n.open-tab{\n width: 20px;\n height: 40px;\n z-index: 8;\n position: absolute;\n top: calc(50vh - 80px);\n right: 0px;\n box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.06);\n border: solid 1px #e4e7ed;\n background-color: #F7FAFF;\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n pointer-events: auto;\n}\n\n.el-icon-arrow-left{\n font-size: 20px;\n padding-top: 8px;\n color: #292b66;\n}\n\n.el-icon-arrow-right{\n font-size: 20px;\n padding-top: 8px;\n color: #292b66;\n cursor: pointer;\n pointer-events: auto;\n}\n\n.close-tab{\n float: left;\n flex: 1;\n width: 20px;\n height: 40px;\n z-index: 8;\n margin-top: calc(50vh - 80px);\n box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.06);\n border: solid 1px #e4e7ed;\n border-right: 0;\n background-color: #F7FAFF;\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n pointer-events: auto;\n}\n\n.box-card {\n flex: 3;\n height: 100%;\n overflow: hidden;\n pointer-events: auto;\n}\n\n>>> .my-drawer {\n background: rgba(0,0,0,0);\n box-shadow: none;\n}\n\n>>> .my-drawer .el-drawer__body {\n height: 100%;\n}\n\n.sidebar-content-container {\n flex: 1 1 auto;\n}\n\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SideBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SideBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SideBar.vue?vue&type=template&id=a53cebae&scoped=true&\"\nimport script from \"./SideBar.vue?vue&type=script&lang=js&\"\nexport * from \"./SideBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SideBar.vue?vue&type=style&index=0&id=a53cebae&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a53cebae\",\n null\n \n)\n\nexport default component.exports","import SideBar from \"./SideBar.vue\"\n\nexport {\n SideBar\n};\n\n\n\n","import './setPublicPath'\nexport * from '~entry'\n","module.exports = require(\"core-js/modules/es.string.includes\");"],"sourceRoot":""}
|