{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./app/asset_bundles/packs/controllers/resource_centre.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","RESEARCHAREAS","TYPES","document","addEventListener","resourceCenter","querySelector","searchIndex","index","filters","domain","hitsPerPage","tplEngine","define","str","locale","options","year","month","day","Date","parseInt","toLocaleDateString","breadCrumb","breadCrumbBk","breadCrumbSlash","breadCrumbTitle","contextEle","searchInput","typeFilter","sectionFilter","tabsgroup","tagClick","e","preventDefault","tagVal","target","dataset","toLowerCase","includes","show","filter","indexOf","setTimeout","_","scrollIntoView","orderChange","replicaIndex","detail","attachResultListeners","context","Array","from","querySelectorAll","forEach","tag","removeEventListener","item","facet","removeFilters","removeFilter","filterVal","orderChangeSelect","query","reset","resultEle","rhsFilters","sectionBtn","sectionDd","sectionClear","stopPropagation","length","sectionTitle","join","innerHTML","style","display","visibility","typeTitle","placeholderStr","placeholder","setPrimaryFilters","split","tagName"],"mappings":"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","file":"js/controllers/resource_centre-1b8c116674ca62eb759d.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 = \"/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 11);\n","import '../../src/app/scss/resource_centre.scss'\n\nconst RESEARCHAREAS = ['微生物', '环境', '植物', '微生物组', '动物', '人类遗传学', '临床研究', '癌症', '群体遗传学', 'covid-19/sars-cov-2'];\nconst TYPES = ['视频', '研究案例', '文献手册', '白皮书', '科研海报'];\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n const resourceCenter = document.querySelector('.resource-centre');\n resourceCenter.searchIndex = {\n index: 'cws_chinese_resources_zh-hans',\n filters: ['type', 'channel', 'tags', 'authors'],\n domain: 'nanoporetech.com',\n hitsPerPage: 20\n };\n resourceCenter.filters = ['NOT tags:\\'No video\\''];\n resourceCenter.addEventListener('nanoDidLoad', () => { \n resourceCenter\n .tplEngine\n .filters\n .define(\"intlDate\",\n function( str, locale, options ) {\n if (!str) { return; }\n \n locale = locale || 'en-gb';\n options = options || { year: 'numeric', month: 'long', day: 'numeric' };\n \n let date = new Date(parseInt(str) * 1000);\n str = date.toLocaleDateString(locale, options);\n return str;\n }\n );\n });\n // breadcrumb\n const breadCrumb = document.querySelector('.breadcrumb');\n const breadCrumbBk = document.querySelector('.breadcrumb-bk');\n const breadCrumbSlash = document.querySelector('.breadcrumbs-slash');\n const breadCrumbTitle = document.querySelector('.breadcrumb-title');\n // search meta / context\n const contextEle = document.querySelector('.context-type');\n const searchInput = document.querySelector('.search-input');\n // filters\n const typeFilter = document.querySelector('.type-filter');\n const sectionFilter = document.querySelector('.section-filter');\n const tabsgroup = document.querySelector('.tabsgroup');\n\n breadCrumbBk.addEventListener('click', () => {\n sectionFilter.value = '';\n });\n\n const tagClick = (e) => {\n e.preventDefault();\n let tagVal = e.target.dataset.value;\n switch (tagVal) {\n case 'publication':\n tagVal = '发表文献'\n break;\n case 'video':\n tagVal = '视频'\n break;\n case 'white_paper':\n tagVal = '白皮书'\n break;\n case 'case_study':\n tagVal = '研究案例'\n break;\n case 'literature':\n tagVal = '文献手册'\n break;\n case 'poster':\n tagVal = '科研海报'\n break;\n case 'guide':\n tagVal = '指南'\n break;\n case 'flexible':\n tagVal = '资源库'\n break;\n default:\n tagVal = tagVal\n }\n tagVal = tagVal.toLowerCase()\n\n if (RESEARCHAREAS.includes(tagVal)) {\n sectionFilter.value = tagVal;\n } else if (TYPES.includes(tagVal)) {\n tabsgroup.show(tagVal);\n } else {\n const filter = document.querySelector('.resource-centre__filters nano-algolia-filter[filter-name=\"tags\"]');\n if (filter.value.indexOf(tagVal) === -1) {\n filter.value = filter.value ? [...filter.value, tagVal] : [tagVal];\n }\n }\n setTimeout(_ => resourceCenter.scrollIntoView(true), 500);\n }\n\n const orderChange = (e) => {\n resourceCenter.replicaIndex = e.detail.value;\n }\n\n const removeFilter = (facet, filter) => {\n resourceCenter.removeFilters(facet, filter);\n }\n\n const attachResultListeners = (e) => {\n let context = resourceCenter;\n if (e) context = e.target;\n\n const tags = Array.from(\n context.querySelectorAll('.resource-centre__tags-tag')\n );\n\n tags.forEach(tag => {\n tag.removeEventListener('click', tagClick);\n tag.addEventListener('click', tagClick);\n });\n\n context.querySelectorAll('.resource-centre__remove-filter').forEach(item => {\n item.addEventListener('click', (e) => {\n let filter = e.target;\n removeFilter(filter.dataset.filter, filter.dataset.filterVal);\n })\n });\n\n const orderChangeSelect = context.querySelector('.order-change');\n if (orderChangeSelect) {\n try { orderChangeSelect.removeEventListener('nanoChange', orderChange); }\n catch(e) {}\n orderChangeSelect.addEventListener('nanoChange', orderChange);\n }\n\n context.querySelectorAll('.resource-centre__search-bk').forEach(item => {\n item.addEventListener('click', () => {\n resourceCenter.query = '';\n document.querySelector('.resource-centre__search-input').value = '';\n })\n })\n };\n\n const attachDynListeners = () => {\n const reset = document.querySelector('.resource-centre__filters-reset');\n const filters = Array.from(\n document.querySelectorAll('.resource-centre__filters nano-algolia-filter')\n );\n\n const resultsEles = Array.from(\n resourceCenter.querySelectorAll('nano-algolia-results')\n );\n\n resultsEles.forEach(resultEle => {\n resultEle.removeEventListener('nanoTplUpdated', attachResultListeners);\n resultEle.addEventListener('nanoTplUpdated', attachResultListeners);\n });\n attachResultListeners();\n\n reset.addEventListener('click', (e) => {\n filters.forEach((filter) => (filter.value = ''));\n });\n };\n\n resourceCenter.addEventListener('nanoResultsShown', (e) => {\n attachDynListeners();\n });\n\n resourceCenter.addEventListener('nanoFilterChanged', (e) => {\n const rhsFilters = document.querySelector('.resource-centre__filters');\n const sectionBtn = document.querySelector('nano-dropdown span .sections__title');\n const sectionDd = document.querySelector('nano-dropdown nano-icon.sections__btn--dd');\n const sectionClear = document.querySelector('.sections__btn--clear');\n\n if (sectionClear) {\n sectionClear.addEventListener('click', (e) => {\n e.stopPropagation();\n sectionFilter.value = '';\n })\n\n };\n\n if (sectionFilter.value.length) {\n let sectionTitle;\n try { sectionTitle = sectionFilter.value.join(' / '); }\n catch(e) { sectionTitle = sectionFilter.value }\n\n sectionBtn.innerHTML = sectionBtn ? sectionTitle : null;\n sectionClear.style.display = sectionClear ? 'block' : 'none';\n sectionDd.style.display = sectionDd ? 'none' : 'block';\n\n breadCrumbTitle.innerHTML = sectionTitle;\n breadCrumb.style.visibility = 'visible';\n breadCrumbSlash.innerHTML = ' /';\n breadCrumbBk.style.visibility = 'visible';\n } else {\n sectionBtn.innerHTML = sectionBtn ? '选择研究领域' : null;\n sectionClear.style.display = sectionClear ? 'none' : 'block';\n sectionDd.style.display = sectionDd ? 'block' : 'none';\n\n breadCrumbTitle.innerHTML = '资源中心';\n breadCrumb.style.visibility = 'hidden';\n breadCrumbSlash.innerHTML = '';\n breadCrumbBk.style.visibility = 'hidden';\n }\n\n if (typeFilter.value.length) {\n let typeTitle;\n try { typeTitle = typeFilter.value.join(' / '); }\n catch(e) { typeTitle = typeFilter.value }\n contextEle.innerHTML = typeTitle;\n if (typeFilter.value.includes('brochures') && !!rhsFilters) {\n rhsFilters.style.display = 'none';\n } else if (!!rhsFilters) rhsFilters.style.display = 'block';\n } else {\n contextEle.innerHTML = '搜索';\n if (!!rhsFilters) rhsFilters.style.display = 'block';\n }\n\n let placeholderStr = sectionFilter.value.length ? sectionFilter.value.join(' / ') : (typeFilter.value.length ? '' : '整个资源中心');\n\n placeholderStr += typeFilter.value.length ? '' + typeFilter.value.join(' / ') : '';\n searchInput.placeholder = '搜索' + placeholderStr;\n\n });\n\n const setPrimaryFilters = (filters) => {\n typeFilter.value = filters;\n };\n\n tabsgroup.addEventListener('nanoTabShow', (e) => {\n if (e.detail.name === 'all') setPrimaryFilters('');\n else setPrimaryFilters(e.detail.name.split('_').join(' '));\n });\n\n tabsgroup.addEventListener('click', (e) => {\n let target = e.target;\n if (target.tagName.toLowerCase() !== 'button') return;\n e.preventDefault();\n if (target.dataset && target.dataset.filter) {\n setPrimaryFilters(target.dataset.filter);\n }\n });\n});\n"],"sourceRoot":""}