{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./source-files/app/common/services/builders.js","webpack:///./source-files/app/common/services/navigation.js","webpack:///./source-files/app/common/services/selectors.js","webpack:///./source-files/app/config.js","webpack:///./source-files/app/common/services/client.js","webpack:///./source-files/app/common/services/api.js","webpack:///./source-files/app/common/services/queries.js","webpack:///./source-files/app/common/services/actions/index.js","webpack:///./source-files/app/common/services/lru-cache.js","webpack:///./source-files/app/common/routes/router.js","webpack:///./source-files/app/common/services/reducers/entries.js","webpack:///./source-files/app/common/routes/routes.js","webpack:///./source-files/app/common/services/reducers/toggle.js","webpack:///./source-files/app/common/services/reducers/cookieData.js","webpack:///./source-files/app/common/services/reducers/initialise-settings.js","webpack:///./source-files/app/common/services/reducers/filters.js","webpack:///./source-files/app/common/services/reducers/search.js","webpack:///./source-files/app/common/services/reducers/index.js","webpack:///./source-files/app/common/services/store.js","webpack:///./source-files/app/common/services/actions/toggle.js","webpack:///./source-files/app/common/services/actions/initialise-settings.js","webpack:///./source-files/app/common/services/actions/search-entries.js","webpack:///./source-files/app/expressions.js","webpack:///./source-files/app/common/services/actions/filters.js","webpack:///./source-files/app/common/components/_Pager.js","webpack:///./source-files/app/common/components/_SearchBox.js","webpack:///./source-files/app/listings/GenericPressReleasesListing/GenericPressReleasesListingFilterJsFile.js","webpack:///./source-files/app/listings/GenericPressReleasesListing/GenericPressReleasesListingJsFile.js","webpack:///./source-files/app/boot/boot.GenericPressReleases.js","webpack:///./source-files/app/common/components/_DateFilterDropdownItem.js","webpack:///./source-files/app/common/components/_DateFilterDropdown.js","webpack:///./source-files/app/common/components/_DropdownItem.js","webpack:///./source-files/app/listings/components/_ListingCard.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fullfilled","j","depId","splice","__webpack_require__","s","installedModules","9","exports","module","l","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","r","value","n","__esModule","object","property","p","jsonpArray","window","oldJsonpFunction","bind","slice","addWeightedField","fieldName","weight","addOrderByField","direction","formatDate","date","entryDate","Date","getDate","getMonth","getFullYear","formatDateFriendly","formatMonth","monthName","formatMonthThreeLetters","nth","range","low","hi","rangeRec","vals","createRowsArray","theArray","numItemsPerRow","rows","Array","Math","ceil","map","row","idx","chunks","arr","size","isArray","TypeError","getEventDate","entry","eventDate","startDate","from","endDate","to","getUrl","getPublishDate","sys","contentTypeId","year","publishDate","metadata","pageDate","version","published","modified","getDescText","descText","searchContent","summary","description","toString","profile","videoDescription","schemeDescription","replace","entityToChar","sLength","substring","trim","getCSWIPTitle","title","schemeName","getPageYear","schemePublishedDate","getPageDateShort","getUTCMonth","y","getUTCFullYear","getDateAnnouncedShort","dateAnnounced","_lruCache","day","mL","mS","getDay","monthNo","isShort","isSearchResultsPage","RegExp","currentUrl","location","href","slug","preString","pathname","includes","lastIndexOf","endsWith","isNSIRCSearchResultsPage","isCSWIPSearchResultsPage","isTWIINSearchResultsPage","test","whichWebsiteToDisplayOn","buildNewsEventsUrl","list","uri","startsWith","str","textarea","document","createElement","innerHTML","Cache","cache","LruCache","this","request","id","key","execute","promise","set","cacheFunc","navigate","navigateFacet","newSearch","search","router","toUrl","lastSearch","settings","buildUrl","addFilter","filterName","checked","_navigate","currentFilter","index","split","indexOf","filter","v","_defineProperty3","default","toggleFilter","_navigate2","changeDateFilter","_navigate3","currentDate","month","changeFilter","removeAdvancedFilters","filterNames","keys","changeSchemesFilter","changeFilters","filters","_extends3","pageIndex","_navigate4","getEntries","state","entries","getSearch","getLoadingEntries","loadingEntries","getSelectedEntry","selectedEntry","getLoadingSelectedEntry","loadingSelectedEntry","getFilters","getSettings","toggleSearch","toggle","_builders","cswipSchemesContentType","allFields","path","faqListerContentType","SETTINGS","appId","pageSize","weightedFields","taxonomyFilterPaths","news","taxonomyFilters","orderBy","events","TWIInnovationNetworkEventsAppId","careers","ourstories","insights","GenericInsightsAppId","atoz","IMReportsListerAppId","IMReportsGridAppId","JIPLister","PublishedPapersLister","CSWIPSchemesAppId","CSWIPSearchAppId","CSWIPNewsAppId","CSWIPInsightsAppId","TWIInnovationNetworkNewsAppId","TWIInnovationNetworkSearchAppId","memberListAppId","PublicFundedProjectsListerAppId","CoreResearchProgrammeListerAppId","FAQListerAppId","CTLFAQListerAppId","TWIDEInsightsAppId","JobKnowledgeListerAppId","NSIRCNewsAppId","NSIRCPublicationsAppId","NSIRCThesesAppId","NSIRCDissertationsAppId","NSIRCStudentProfilesAppId","NSIRCInsightsAppId","NSIRCCareersAppId","NSIRCSearchAppId","OurPeopleAppId","GenericPressReleasesAppId","GenericShowcaseAppId","TWICLCompaniesAppId","TWICLCertificationsAppId","GenericSearchAppId","GenericWebpageListerAppId","DigitalProductFinderAppId","TWIJobsAppId","TWIJobsDescriptionAppId","TWIInnovationNetworkTAPsAppId","GenericVideosAppId","GenericVideoDisplayAppId","VirtualAcademyAppId","isProd","process","apiPrefix","SYNONYMS","Configuration","rootUrl","accessToken","versionStatus","projectId","_contensisDeliveryApi","forEach","_config","client","Client","create","CachedSearch","clientConfig","taxonomyLookup","query","JSON","stringify","contentTypes","_this","taxonomy","resolveChildren","childDepth","then","node","extendTaxonomyNode","order","_this2","getNodeByPath","_this3","catch","remove","_this4","getTaxonomyId","children","parts","cachedSearch","_callee","arguments","undefined","_regenerator2","wrap","_context","prev","next","Function","Query","concat","_toConsumableArray3","_expressions","buildExpressions","addOrderByQueries","sent","sort","queries","sortOrder","abrupt","stop","_callee2","orderBySettings","orderQuery","_context2","_","_callee3","items","entryData","response","json","paths","_context3","pageName","commonEntryFields","language","fetch","method","headers","Accept","Content-Type","body","dataFormat","_callee4","startIndex","endIndex","_context4","parseInt","_callee5","contentType","_context5","getContentType","getTaxonomyFilters","t0","t1","getCheckboxes","checkBoxFilters","t2","getTextFilters","textFilters","getTaxonomyFiltersByPath","t3","getListItems","listFilters","t4","taxonomyPathFilters","_callee6","taxonomyFields","taxonomyPromises","_context6","fields","field","taxonomyKey","validations","taxonomyRoot","getTaxonomyNode","Promise","all","reduce","_callee7","taxonomyPaths","_context7","getTaxonomyNodeByPath","_callee8","taxonomyField","_context8","CONTENT_TYPE_ID","find","_callee9","_context9","e","console","log","FilterCollection","_client","a","allowedValues","values","Op","equalTo","includeInSearch","or","and","exists","cswipContentType","contains","twiinContentType","genericSearchContentType","baseUri","microsite","in","searchTerm","term","freeText","weightedSearchTerm","addRange","containsSearch","authorSearch","searchType","author","searchAll","searchWeldasearch","weldasearch","not","searchTabTypes","charAt","toLowerCase","substr","MediaQueryBuilder","contentCategory","filterUserGroupContent","isAuth","groups","listSearchType","filterQueries","taxonomyfilters","filterType","categoryPickerTaxonomy","checkboxFilters","tf","x","Name","fq","newsDateFilters","between","standardDateFilters","publishDateFilters","section","dateRangeFilter","lessThanOrEqualTo","greaterThanOrEqualTo","startOfDay","isPublished","asc","OrderBy","desc","minKey","maxKey","startWith","letter","rangeSingle","pathStartsWith","filterBySection","sections","filterSectionByPage","SectionToContentTypeMap","filterSectionByContentType","pageDateFilter","pageDateYearFilter","dateAnnouncedFilter","projectStatus","status","excludeHomePage","hideFromListingPage","orPathEndsWith","getMicrositeNews","siteName","getGenericInsights","showEventOnCorporate","microSiteName","getMicrositeEvents","getPrivateEvents","companyName","getShowcase","showcaseCollection","getMicrositeInsights","hideFromCorporate","notNSIRCVacancies","NSIRCVacancies","ourPeopleFilter","nsircSearch","cswipSearch","FAQQuery","certificationFilter","type","sitename","certifiedCompanyFilter","Type","twiJobsFilters","_search","jobType","workingHours","distance","lon","lat","today","future","setFullYear","distanceWithin","datePostedFilter","searchDatePosted","toISOString","excludeFromSearch","TAPsFilter","Topics","Industries","getVideos","getVirtualAcademy","_filters","_searchEntries","_initialiseSettings","_toggle","CacheNode","_classCallCheck3","limit","head","tail","setHead","_router2","routes","defaultRoute","autoCleanUp","usePlugin","_listeners2","_browser2","useHash","navigateToState","dependencies","toState","fromState","toRoute","onActivate","resolve","store","useMiddleware","onhashchange","setTimeout","hash","matchPath","currentState","getState","getDependencies","action","Actions","SEARCH_ENTRIES_COMPLETE","params","dispatch","searchEntries","TOGGLE_SEARCH_COMPLETE","GET_COOKIE_DATA_COMPLETE","cookieData","INITIALISE_SETTINGS_COMPLETE","LOAD_SYNONYMS_COMPLETE","synonyms","LOAD_FILTERS_COMPLETE","RESET_SEARCH","SET_SEARCH_TERM","_redux","combineReducers","entriesReducer","searchReducer","filtersReducer","intialiseSettingsReducer","router5Reducer","cookieDataReducer","toggleReducer","_reduxRouter","initialState","enhancers","applyMiddleware","thunkMiddleware","router5Middleware","composeEnhancers","compose","createStore","_reducers2","setDependency","_ref","_asyncToGenerator3","mark","toggleSearchComplete","toggleSearchError","_x","_x2","TOGGLE_SEARCH_ERROR","error","initialiseSettings","auth","jobListingPageUrl","freeTrialExpired","popularSearches","pressReleasesBaseUri","eventsBaseUri","insightsBaseUri","errorMessage","initialiseSettingsComplete","initialiseFilters","initialiseSettingsError","loadSynonyms","_ref2","_api","GetSynonyms","loadSynonymsComplete","loadSynonymsError","INITIALISE_SETTINGS_ERROR","LOAD_SYNONYMS_ERROR","oldSearch","SEARCH_ENTRIES","searchEntriesComplete","searchEntriesError","setSearchTerm","_selectors","SEARCH_ENTRIES_ERROR","buildSearchExpressions","_ref7","buildEventsExpressions","_ref6","buildNewsExpressions","_ref3","buildOurStoriesExpressions","_ref4","buildInsightsExpressions","_ref5","buildCareersExpressions","_ref8","buildAtoZExpressions","_ref10","buildIMReportsListerExpressions","_ref11","buildJIPListerExpressions","_ref12","buildPublishedPapersContentTypeExpressions","_ref13","schemetype","buildCSWIPSchemesContentTypeExpressions","_ref14","buildCSWIPSearchExpressions","_ref15","buildCSWIPNewsExpressions","_ref16","buildCSWIPInsightsExpressions","_ref17","buildTWIInnovationNetworkNewsExpressions","_ref18","buildMemberListExpressions","_ref19","buildTWIInnovationNetworkEventsExpressions","_ref20","buildTWIInnovationNetworkSearchExpressions","_ref21","buildPublicFundedProjectsListerExpressions","_ref22","buildCoreResearchProgrammeListerExpressions","_ref23","buildFAQListerExpressions","_ref25","buildTWIDEInsightsExpressions","_ref26","buildJobKnowledgeListerExpressions","_ref27","buildNSIRCNewsExpressions","_ref28","buildNSIRCPublicationsExpressions","_ref29","buildNSIRCThesesExpressions","_ref30","buildNSIRCDissertationsExpressions","_ref31","buildNSIRCStudentProfilesExpressions","_ref32","buildNSIRCInsightsExpressions","_ref33","buildNSIRCCareersExpressions","_ref34","buildNSIRCSearchExpressions","_ref35","buildOurPeopleExpressions","_ref36","buildGenericPressReleasesExpressions","_ref37","buildGenericShowcaseExpressions","_ref38","buildTWICLCertificationsExpressions","_ref39","certificationtype","buildTWICLCompaniesExpressions","_ref24","buildCTLFAQListerExpressions","_ref40","buildGenericInsightsExpressions","_ref41","buildGenericSearchExpressions","_ref42","buildGenericWebpageListerExpressions","_ref43","buildDigitalProductFinderExpressions","_ref44","datePosted","buildTWIJobsExpressions","_ref45","buildTWIInnovationNetworkTAPsExpressions","_ref46","buildGenericVideosExpressions","_ref47","buildVirtualAcademyExpressions","_ref9","buildDefaultExpressions","loadFiltersComplete","loadFiltersError","LOAD_FILTERS_ERROR","_navigation","pageCount","totalCount","entriesPageIndex","currentPage","showPrev","showNext","showLast","pages","counter","prevPages","prevCounter","_react2","aria-label","className","onClick","scrollTop","xmlns","xlinkHref","pagerClass","_React$createElement2","active","label","_React$createElement3","_reactRedux","connect","searchInput","htmlFor","aria-hidden","onKeyDown","keyCode","preventDefault","stopPropagation","onKeyUp","placeholder","ref","input","GenericPressReleasesFilter","_SearchBox2","_DateFilterDropdown2","isYear","propTypes","PropTypes","GenericPressReleasesFunction","_ref2$items","_GenericPressReleasesListingFilterJsFile2","_ListingCard2","_Pager2","renderGenericPressReleases","mg","micrositeRender","_store2","start","ReactDOM","render","GenericPressReleasesApp","getElementById","_reactRouter","Provider","RouterProvider","_GenericPressReleasesListingJsFile2","DateFilterDropdownItem","options","onChange","target","array","string","dateSpan","years","fill","dropdown","clsName","_DateFilterDropdownItem2","translate","DropdownItem","istaxonomy","change","languageDropdown","defaultLanguage","el","bool","_propTypes","ListingCard","style","minHeight","styles","twiglobal","preview","defaultImage","thumbnailImage","thmUrlAsset","asset","thmUrl","isAbsoluteUrlRequired","backgroundImage","heroImage","mainImage","mainImageAsset","mainImageUrl","renderImage","privateEvent","eventTag","collection","renderTag","link","getCachedUrl","rel","noindexNofollow","linkText","headerLink","pressReleaseLink","eventType","title1","renderCardContent"],"mappings":"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","file":"GenericPressReleasesEntry.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1]\n \t\tvar executeModules = data[2];\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fullfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fullfilled = false;\n \t\t\t}\n \t\t\tif(fullfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t9: 0\n \t};\n\n \tvar deferredModules = [];\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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\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 \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([483,0]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { LruCache } from './lru-cache';\n//import entriesReducer from './reducers/entries';\n\nlet day = ['Sun', 'Mon', 'Tues', 'Wed', 'Thurs', 'Fri', 'Sat'];\nlet mL = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\nlet mS = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\nlet sLength = 100;\n\n\nexport function addWeightedField(fieldName, weight)\n{\t\n\tlet weightedField = {\n\t\tfieldName,\n\t\tweight\n\t};\n\treturn weightedField;\n}\n\nexport function addOrderByField(name, direction)\n{\n\tlet orderByField = {\n\t\tname,\n\t\tdirection\n\t};\n\treturn orderByField;\n}\n\nexport function formatDate(date) {\n\tlet entryDate = new Date(date);\n\treturn `${entryDate.getDate()}/${entryDate.getMonth() + 1}/${entryDate.getFullYear()}`; \n}\n\nexport function formatDateFriendly(date) {\n\tlet entryDate = new Date(date);\n\treturn `${day[entryDate.getDay()]}, ${entryDate.getDate()} ${monthName(entryDate.getMonth(), true)} ${entryDate.getFullYear()}`; \n}\n\n// function formatMonthPrepend0(n){\n// return n > 9 ? \"\" + n: \"0\" + n;\n// }\n\n\nexport function formatMonth(date) {\n\tlet entryDate = new Date(date);\n\treturn monthName(entryDate.getMonth(), false); \n}\n\nexport function formatMonthThreeLetters(date) {\n\tlet entryDate = new Date(date);\n\treturn monthName(entryDate.getMonth(), true); \n}\n\nexport function nth(d) {\n\tif(d>3 && d<21) return 'th';\n\tswitch (d % 10) {\n\t\tcase 1: return \"st\";\n\t\tcase 2: return \"nd\";\n\t\tcase 3: return \"rd\";\n\t\tdefault: return \"th\";\n\t}\n } \t\n\nfunction monthName(monthNo, isShort){\n\tif(isShort){\n\t\treturn mS[monthNo];\n\t}\n\telse{\n\t\treturn mL[monthNo];\n\t}\n}\n\nexport function range(low,hi){\n\tfunction rangeRec(low, hi, vals) {\n\t\tif(low > hi) return vals;\n\t\tvals.push(low);\n\t\treturn rangeRec(low+1,hi,vals);\n\t}\n\treturn rangeRec(low,hi,[]);\n}\n\nexport function createRowsArray(theArray, numItemsPerRow) {\n\tconst rows = [...Array( Math.ceil(theArray.length / numItemsPerRow) )];\n\treturn rows.map( (row, idx) => theArray.slice(idx * numItemsPerRow, idx * numItemsPerRow + numItemsPerRow) );\n}\n\nexport function chunks(arr, size) {\n\tif (!Array.isArray(arr)) {\n\t\tthrow new TypeError('Input should be Array');\n\t}\n \n\tif (typeof size !== 'number') {\n\t\tthrow new TypeError('Size should be a Number');\n\t}\n \n\tvar result = [];\n\tfor (var i = 0; i < arr.length; i += size) {\n\t\tresult.push(arr.slice(i, size + i));\n\t}\n \n\treturn result;\n} \n\nexport function getEventDate(entry){\n\tif(entry.eventDate != null){\n\t\tlet startDate = new Date(entry.eventDate.from);\n\t\tlet endDate = new Date(entry.eventDate.to);\n\t\tif(startDate.getDate() == endDate.getDate()){\n\t\t\treturn `${endDate.getDate()} ${monthName(endDate.getMonth(), true)}`;\n\t\t}\n\t\telse{\n\t\t\treturn `${startDate.getDate()} - ${endDate.getDate()} ${monthName(endDate.getMonth(), true)}`;\n\t\t}\n\t}\n\treturn '';\n}\nexport function getUrl(entry) {\n\n\tvar isSearchResultsPage = RegExp(\"/search-results(.*)|/search.html(.*)|/(.*)SearchPageHTMLFile(.*)\", \"i\");\n\n\t//var currentUrl = \"https://www.non-metallic.com/insights#/\";\n\tvar currentUrl = window.location.href;\n\n\n\tif(entry && entry.sys && entry.sys.slug){\n\t\tif(entry.sys.contentTypeId === 'pressReleases' || entry.sys.contentTypeId === 'events'){\n\t\t\treturn buildNewsEventsUrl(entry);\n\t\t}\n\t\tif(entry.sys.contentTypeId === 'insights'){\n\t\t\tif (entry.whichWebsiteToDisplayOn && entry.whichWebsiteToDisplayOn.includes(\"CSWIP\") )\n\t\t\t{\n\t\t\t\t\treturn `${'/microsites/cswip/insights/'}${entry.sys.slug}`;\n\t\t\t}\t\n\t\t\tif (entry.whichWebsiteToDisplayOn && entry.whichWebsiteToDisplayOn.includes(\"TWIDeutschland\") )\n\t\t\t{\n\t\t\t\t\treturn `${'/locations/deutschland/medien-und-events/einblicke/'}${entry.sys.slug}`;\n\t\t\t}\n\n\t\t\tif (entry.whichWebsiteToDisplayOn && entry.whichWebsiteToDisplayOn.includes(\"non-metallic\") && (isSearchResultsPage.test(currentUrl)))\n\t\t\t{\n\n\t\t\t\treturn `${'https://www.non-metallic.com/insights/'}${entry.sys.slug}`;\t\n\t\t\t}\n\t\t\t\n\t\t\tif (entry.whichWebsiteToDisplayOn && entry.whichWebsiteToDisplayOn.includes(\"non-metallic\") && (!isSearchResultsPage.test(currentUrl)))\n\t\t\t{\n\t\t\t\treturn `${'/microsites/non-metallic/insights/'}${entry.sys.slug}`;\n\t\t\t}\n\n\n\t\t\tif (entry.whichWebsiteToDisplayOn && entry.whichWebsiteToDisplayOn.includes(\"TWIInnovationNetwork\") )\n\t\t\t{\n\t\t\t\t\treturn `${'/innovation-network/media-and-events/insights/'}${entry.sys.slug}`;\n\t\t\t}\n\t\t\t\n\t\t\t\n\n\t\t\treturn `${'/media-and-events/insights/'}${entry.sys.slug}`;\n\t\t}\n\t\tif(entry.sys.contentTypeId === 'ourStories'){\n\t\t\treturn `${'/media-and-events/our-stories/'}${entry.sys.slug}`;\n\t\t}\n\t\tif(entry.sys.contentTypeId === 'weldasearch'){\n\t\t\treturn `${'/technical-knowledge/weldasearch/'}${entry.sys.slug}`;\n\t\t}\n\t\tif(entry.sys.contentTypeId === 'publishedPapers')\n\t\t{\n\t\t\treturn `${'/technical-knowledge/published-papers/'}${entry.sys.slug}`;\n\t\t}\n\t\tif(entry.sys.contentTypeId === 'jips')\n\t\t{\n\t\t\treturn `${'/what-we-do/research-and-technology/research-programmes/joint-industry-projects/'}${entry.sys.slug}`;\n\t\t}\n\t\tif(entry.sys.contentTypeId === 'cswipSchemes' && entry.whichWebsiteToDisplayOn.list.includes('CSWIP'))\n\t\t{\n\t\t\treturn `${'/microsites/cswip/certification/'}${entry.sys.slug}`;\n\t\t}\n\n\t\tif(entry.sys.contentTypeId === 'cswipSchemes' && entry.whichWebsiteToDisplayOn.list.includes('TWICertification'))\n\t\t{\n\t\t\treturn `${'/microsites/twi-certification/certifications/'}${entry.sys.slug}`;\n\t\t}\n\n\n\t\tif(entry.sys.contentTypeId === 'publicFundedProjects')\n\t\t{\n\t\t\treturn `${'/what-we-do/research-and-technology/research-programmes/public-funded-projects/'}${entry.sys.slug}`;\n\t\t}\n\n\t\tif (entry && entry.sys && entry.sys.uri && entry.sys.uri.startsWith('/what-we-do/research-and-technology/research-programmes/'))\n\t\t{\n\t\t\treturn `${entry.sys.uri}`;\n\t\t}\n\n\t\tif(entry.sys.contentTypeId === 'staffProfiles')\n\t\t{\n\t\t\treturn `${'/careers/our-people/'}${entry.sys.slug}`;\n\t\t}\n\n\t\t// if(entry.sys.contentTypeId === 'videos')\n\t\t// {\n\t\t// \treturn `${'/what-we-do/innovation-network/showcase/'}${entry.sys.slug}`;\n\t\t// }\n\n\t\t//var preString = \"microsites/non-metallic/insights.aspx\";\n\n\t\tvar preString = window.location.pathname;\n\n\t\tpreString = preString.replace(\"/home.aspx\", \"\");\n\t\n\t\tif (preString.includes(\".aspx\"))\n\t\t{\n\t\t\tpreString = preString.substring(0, preString.lastIndexOf(\".aspx\"));\n\t\t}\n\t\n\t\t//preString += \"/\";\n\n\t\treturn `${preString}/${entry.sys.slug}`;\n\t}\n\n\tif(entry && entry.sys && entry.sys.uri){\n\t\treturn entry.sys.uri;\n\t}\n\treturn '';\n}\n\n\nfunction buildNewsEventsUrl(entry){\n\tlet date = entry.eventDate ? entry.eventDate.from : entry.publishDate;\n\tlet entryDate = new Date(date);\n\n\n\tvar preString = window.location.pathname; \n\n\t//preString = \"media-and-events/events-diary/all-events#/\";\n\t//preString = \"media-and-events/events-diary/all-events.aspx#/\";\n\t//preString = \"media-and-events/events-diary/all-events.aspx\";\n\n\t//preString = \"/media-and-events/press-releases#/\";\n\t//preString = \t\"/media-and-events/press-releases/home.aspx#/\";\n\t//preString = \t\"/media-and-events/press-releases/home.aspx\";\n\n\t//preString = \t\"/portal/events/bae.aspx#/\";\n\t//preString = \t\"/portal/events/bae#/\";\n\t//preString = \t\"/portal/events/bae.aspx\";\n\n\t//preString = preString.replace(/\\/?(all-events|home)?(.aspx)?#\\/?/, \"\");\n\n\n\tpreString = preString.replace(\"/home.aspx\", \"\");\n\n\tif (preString.includes(\".aspx\"))\n\t{\n\t\tpreString = preString.substring(0, preString.lastIndexOf(\".aspx\"));\n\t}\n\n\tif (preString.endsWith('#/'))\n\t{\n\t\tpreString = preString.replace(\"#/\", \"\");\n\t}\n\n\tpreString = preString.replace(\"/all-events\", \"\");\n\n\n\n\tvar isSearchResultsPage = RegExp(\"/search-results(.*)|/search.html(.*)|/(.*)SearchPageHTMLFile(.*)\", \"i\");\n\tvar isNSIRCSearchResultsPage = RegExp(\"/nsirc/search-results(.*)|/NSIRCSearchPageHTMLFile.html(.*)\", \"i\");\n\tvar isCSWIPSearchResultsPage = RegExp(\"/cswip/search-results(.*)|/CSWIPSearchPageHTMLFile.html(.*)\", \"i\");\n\tvar isTWIINSearchResultsPage = RegExp(\"/innovation-network/search-results(.*)|/TWIInnovationNetworkSearchPageHTMLFile(.*)\", \"i\");\n\n\tvar currentUrl = window.location.href;\n\n\n\t//window.location.href = https://www.twi-global.com/media-and-events/press-releases#/\n\n\t//https://www.twi-global.com/media-and-events/press-releases#/\n\n\n\n\t//var currentUrl = \t\"https://www.twi-global.com/media-and-events/press-releases#/\";\n\t//var currentUrl = \t\"https://www.twi-global.com/media-and-events/media-and-events/events-diary/all-events#/\";\n\t\n\n\t//var currentUrl = \"https://preview-twi.cloud.contensis.com/nsirc/search-results.aspx#/?term=phd\";\n\n\t//tests\n\t//var currentUrl = \"https://www.twi-global.com.com/media-and-events/events-diary/all-events#/\";\n\n\t//var currentUrl = \"https://www.twi-innovation-network.com/media-and-events/events-diary/all-events#/\";\n\n\t//var currentUrl = \"https://preview-twi.cloud.contensis.com/microsites/twi-innovation-network/media-and-events/events-diary/all-events.aspx#/\";\n\n\t//var currentUrl = \"https://preview-twi.cloud.contensis.com/media-and-events/events-diary/all-events.aspx#/\";\n\n\t//var currentUrl = \"https://preview-twi-dev.cloud.contensis.com/media-and-events/events-diary/all-events.aspx#/\";\n\n\t//var currentUrl = \"https://preview-twi.cloud.contensis.com/microsites/cswip/press-releases.aspx#/\";\n\n\t//var currentUrl = \"https://www.cswip.com/press-releases.aspx#/\";\n\n\t// currentUrl = \"https://preview-twi.cloud.contensis.com/microsites/NSIRC/our-research/phd-theses.aspx#/\";\n\n\n\n\tif(entry.sys.contentTypeId == 'pressReleases' && isSearchResultsPage.test(currentUrl)) {\n\n\t\tpreString = '/media-and-events/press-releases/';\n\n\t\tif(entry.whichWebsiteToDisplayOn != null) {\n\n\t\t\tif (isNSIRCSearchResultsPage.test(currentUrl)) {\n\n\t\t\t\tif(entry.whichWebsiteToDisplayOn.includes(\"NSIRC_news\"))\n\t\t\t\t{\n\t\t\t\t\tpreString = '/nsirc/news/';\n\t\t\t\t}\n\t\t\n\t\t\t\tif(entry.whichWebsiteToDisplayOn.includes(\"NSIRC_publications\"))\n\t\t\t\t{\n\t\t\t\t\tpreString = '/nsirc/our-research/phd-publications/';\n\t\t\t\t}\n\t\t\n\t\t\t\tif(entry.whichWebsiteToDisplayOn.includes(\"NSIRC_theses\"))\n\t\t\t\t{\n\t\t\t\t\tpreString = '/nsirc/our-research/phd-theses/';\n\t\t\t\t}\n\t\t\n\t\t\t\tif(entry.whichWebsiteToDisplayOn.includes(\"NSIRC_dissertations\"))\n\t\t\t\t{\n\t\t\t\t\tpreString = '/nsirc/our-research/msc-dissertations/';\n\t\t\t\t}\n\t\t\n\t\t\t\tif(entry.whichWebsiteToDisplayOn.includes(\"NSIRC_students\"))\n\t\t\t\t{\n\t\t\t\t\tpreString = '/nsirc/our-research/student-profiles/';\n\t\t\t\t}\n\t\t\n\t\t\t\tif(entry.whichWebsiteToDisplayOn.includes(\"NSIRC_insights\"))\n\t\t\t\t{\n\t\t\t\t\tpreString = '/nsirc/media-and-events/insights/';\n\t\t\t\t}\n\n\n\t\t\t}\n\n\t\t\tif(isCSWIPSearchResultsPage.test(currentUrl) && entry.whichWebsiteToDisplayOn.includes(\"CSWIP\"))\n\t\t\t{\n\t\t\t\tpreString = '/microsites/cswip/press-releases/';\n\t\t\t}\n\n\t\t\tif(isTWIINSearchResultsPage.test(currentUrl) && entry.whichWebsiteToDisplayOn.includes(\"TWIInnovationNetwork\"))\n\t\t\t{\n\t\t\t\tpreString = '/innovation-network/media-and-events/press-releases/';\n\t\t\t}\n\n\t\t\t\n\n\t\t}\n\n\n\n\n\t\treturn `${preString}${entryDate.getFullYear()}/${entry.sys.slug}`;\n\n\n\t} \n\n\tif (entry.sys.contentTypeId == 'events')\n\t{\n\t\t// no date for events\n\t\treturn `${preString}/${entry.sys.slug}`;\n\t}\n\n\n\t//for press releases\n\treturn `${preString}/${entryDate.getFullYear()}/${entry.sys.slug}`;\n}\n\n\nexport function getPublishDate(entry) {\n\tif (entry && entry.sys && entry.sys.contentTypeId == 'weldasearch'){\n\t\treturn entry.year;\n\t}\n\n\tif (entry && entry.publishDate) {\n\t\treturn formatDateFriendly(entry.publishDate);\n\t}\n\n\tif (entry && entry.sys && entry.sys.metadata && entry.sys.metadata.pageDate && entry.sys.metadata.pageDate != '1900-01-01T12:00:00Z') {\n\t\treturn formatDateFriendly(entry.sys.metadata.pageDate);\n\t}\n\n\tif (entry && entry.sys && entry.sys.version && entry.sys.version.published) {\n\t\treturn formatDateFriendly(entry.sys.version.published);\n\t}\n\tif (entry && entry.sys && entry.sys.version && entry.sys.version.modified) {\n\t\treturn formatDateFriendly(entry.sys.version.modified);\n\t}\n\treturn null;\n}\n\nconst entityToChar = str => { \n\tconst textarea = document.createElement('textarea'); \n\ttextarea.innerHTML = str; \n\treturn textarea.value; \n };\n\nexport function getDescText(entry){\n\tvar descText = \"\";\n\tif(entry && entry.searchContent){\n\t\tdescText = entry.searchContent;\n\t}\n\tif(entry && entry.summary){\n\t\tdescText = entry.summary;\n\t}\n\tif(entry && entry.description != null){\n\t\tdescText = entry.description && !Array.isArray(entry.description) ? entry.description : entry.description[0].toString() ;\n\t}\n\n\tif(entry.sys.contentTypeId == \"staffProfiles\" && entry.profile != null){\n\t\tdescText = entry.profile;\n\t}\n\n\tif(entry.sys.contentTypeId == \"showcase\" && entry.videoDescription != null){\n\t\tdescText = entry.videoDescription;\n\t}\n\n\tif(entry.sys.contentTypeId == \"cswipSchemes\" && entry.schemeDescription != null)\n\t{\n\t\tdescText = entry.schemeDescription;\n\t}\n\n\t//remove html tags\n\tdescText = descText.replace(/<[^>]+>/g, '');\n\n\t//remove double spaces\n\tdescText = descText.replace(/\\s\\s+/g, ' ');\n\n\tdescText = entityToChar(descText);\n\n\n\n\treturn descText = descText && descText.length > sLength ? descText.substring(0, sLength).trim() + '...' : descText;\n\n}\n\nexport function getCSWIPTitle(entry) {\n\tvar title = \"no title\";\n\n\tif (entry.sys.contentTypeId == \"cswipSchemes\" && entry.schemeName != null)\n\t{\n\t\ttitle = entry.schemeName;\n\t}\n\n\tif (entry.title != null)\n\t{\n\t\ttitle = entry.title;\n\t}\n\n\treturn title;\n\n\t\n\t\n}\n\n\nclass Cache {\n\n\tcache = new LruCache();\n\n\tgetCachedUrl(entry) {\n\n\n\t\treturn this.request(`[URL] ${entry.sys.id}`, getUrl(entry));\n\t}\n\n\trequest(key, execute) {\n\t\tif (!this.cache.get(key)) {\n\t\t\tlet promise = execute;\n\t\t\tthis.cache.set(key, promise);\n\t\t}\n\t\treturn this.cache.get(key);\n\t}\n}\n\nexport const cacheFunc = new Cache();\n\n\n/* sw */\n\n//published papers dates\n// export function getPageDateShort(entry) \n// {\n// \treturn formatDateFriendly(entry.pageDate);\n// }\n\nexport function getPageYear(entry){\n\tlet entryDate = new Date(entry.sys.metadata.pageDate);\n\n\tif (entry.sys.contentTypeId == 'publishedPapers')\n\t{\n\t\tentryDate = new Date(entry.pageDate);\n\t}\n\n\tif (entry.sys.contentTypeId == 'cswipSchemes')\n\t{\n\t\tentryDate = new Date(entry.schemePublishedDate);\n\t}\n\n\treturn `${entryDate.getFullYear()}`; \n}\n\nexport function getPageDateShort(entry) {\n\n\n\n\tlet entryDate = entry.sys.metadata.pageDate != null ? new Date(entry.sys.metadata.pageDate) : \"\";\n\n\tif (entry.sys.contentTypeId == 'publishedPapers')\n\t{\n\t\tentryDate = new Date(entry.pageDate);\n\t}\n\n\tentryDate = entryDate == \"\" ? entryDate = new Date(entry.sys.version.published) : entryDate;\n\n\tvar m = entryDate.getUTCMonth();\n\tvar y = entryDate.getUTCFullYear();\n\n\treturn `${monthName(m, true)} ${y}`; \n}\n\nexport function getDateAnnouncedShort(entry) {\n\n\tlet dateAnnounced = new Date(entry.dateAnnounced);\n\n\t\n\treturn `${monthName(dateAnnounced.getMonth(), true)} ${dateAnnounced.getFullYear()}`; \n}","import router from '../routes/router';\nimport { getNewsUrl } from './builders';\nimport { getSettings } from './selectors';\n\nexport function navigate(lastSearch, newSearch) {\n\tconst search = { ...lastSearch, ...newSearch };\n\trouter.navigate('list', search);\n}\n\nexport function navigateFacet( newSearch) {\n\tconst search = { ...newSearch };\n\trouter.navigate('list', search);\n}\n\nexport function toUrl(lastSearch, newSearch, settings) {\n\tconst search = { ...lastSearch, ...newSearch };\n\t\treturn router.buildUrl('list', search);\n}\n\nexport function addFilter(lastSearch, filterName, value, checked) {\n\tlet currentFilter = (lastSearch || {})[filterName];\n\tcurrentFilter = !!currentFilter ? currentFilter.toString().split(',') : [];\n\tlet index = currentFilter.indexOf(value);\t\t\n\tif (!checked && (index >= 0)) {\n\t\tcurrentFilter = currentFilter.filter(v => v !== value);\n\t}\n\tif (checked && (index < 0)) {\n\t\tcurrentFilter = [...currentFilter, value];\t\n\t}\n\tnavigate(lastSearch, { [filterName]: currentFilter.toString(), pageIndex: 0 });\n}\n\nexport function toggleFilter(lastSearch, filterName, value){\n\tlastSearch[filterName] = value;\n\tnavigate(lastSearch, { [filterName]: value, pageIndex: 0 });\n}\n\nexport function changeDateFilter(lastSearch, filterName, value) {\t\n\tconst currentDate = new Date();\n\tif (!!value && filterName == 'Year' && new Date(value, lastSearch.month - 1) >= currentDate) {\n\t\tnavigate(lastSearch, { month: currentDate.getMonth() + 1, [filterName]: value, pageIndex: 0 });\n\t}\n\telse {\n\t\tchangeFilter(lastSearch, filterName, value);\n\t}\n}\n\nexport function removeAdvancedFilters(lastSearch, filterNames){\n\tlet value = null\n\tif(filterNames){\n\t\tlet newSearch = Object.keys(lastSearch).filter(key => filterNames.indexOf(key) > -1 && lastSearch[key])\n\t\t.map(key => {delete lastSearch[key]});\n\t\tnavigate(lastSearch, newSearch)\n\t}\n}\n\nexport function changeFilter(lastSearch, filterName, value) {\n\tnavigate(lastSearch, { [filterName]: value, pageIndex: 0 });\n}\n\n\nexport function changeSchemesFilter(lastSearch, filterName, value) {\t\n\n\tchangeFilter(lastSearch, filterName, value);\n\n}\n\nexport function changeFilters(lastSearch, filters) {\n navigate(lastSearch, { ...filters, pageIndex: 0 });\n}\n","\nexport const getEntries = state => state.entries;\n\nexport const getSearch = state => state.search;\n\nexport const getLoadingEntries = state => state.loadingEntries;\n\nexport const getSelectedEntry = state => state.selectedEntry;\n\nexport const getLoadingSelectedEntry = state => state.loadingSelectedEntry;\n\nexport const getFilters = state => state.filters;\n\nexport const getSettings = state => state.settings;\n\nexport const toggleSearch = state => state.toggle;\n","import { addWeightedField, addOrderByField } from './common/services/builders';\n\n\nconst ORDERBY_DESC = 'desc';\nconst ORDERBY_ASC = 'asc';\n\n\nlet cswipSchemesContentType = [\n\taddWeightedField('schemeName', 1000),\n\taddWeightedField('thumbnailDescription', 1000),\n\taddWeightedField('schemeDescription', 1000),\n\taddWeightedField('cswipSchemeRequirements[].markup', 1000),\n\taddWeightedField('cswipSchemeRequirements[].accordionTitle', 1000),\n\taddWeightedField('cswipSchemeRequirements[].cswipPDFAccordion[].title', 1000),\n\taddWeightedField('cswipSchemeRequirements[].cswipPDFAccordion[].description', 1000),\n\taddWeightedField('cswipSchemeRequirements[].cswipPDFAccordion[].description2', 1000)\n];\n\n// let insightsContentType = [\n// \taddWeightedField('title', 1000),\n// \taddWeightedField('summary', 1000),\n// \taddWeightedField('heroImage.altText', 1000),\n// \taddWeightedField('heroImage.caption', 1000),\n// \taddWeightedField('overview', 1000),\n// \taddWeightedField('videoPoster.altText', 1000),\n// \taddWeightedField('videoPoster.caption', 1000),\n// \taddWeightedField('university', 1000),\n// \taddWeightedField('heroImage.altText', 1000),\n// \taddWeightedField('caption', 1000),\n// \taddWeightedField('entryTitle', 1000),\n// \taddWeightedField('profileImage', 1000),\n// \taddWeightedField('profileImage.altText', 1000),\n// \taddWeightedField('profileImage.caption', 1000),\n// \taddWeightedField('objectivesTitle', 1000),\n// \taddWeightedField('objectives', 1000),\n// \taddWeightedField('objectivesImage[].altText', 1000),\n// \taddWeightedField('objectivesImage[].caption', 1000),\t\n// \taddWeightedField('composer[].markup', 1000),\n// \taddWeightedField('composer[].image.image.altText', 1000),\n// \taddWeightedField('composer[].markupImage2Columns.markup', 1000),\n// \taddWeightedField('composer[].markupImage2Columns.image.caption', 1000),\n// \taddWeightedField('composer[].markupImage2Columns.image.altText', 1000),\n// \taddWeightedField('solutionTitle', 1000),\n// \taddWeightedField('solution', 1000),\n// \taddWeightedField('solutionImage.altText', 1000),\n// \taddWeightedField('solutionImage.caption', 1000),\n// \taddWeightedField('conclusionTitle', 1000),\n// \taddWeightedField('conclusion', 1000),\n// \taddWeightedField('conclusionImage[].altText', 1000),\n// \taddWeightedField('conclusionImage[].caption', 1000),\n// \taddWeightedField('profile.entryTitle', 1000),\n// \taddWeightedField('profileImage.altText', 1000),\n// \taddWeightedField('profileImage.caption', 1000),\n// \t//addWeightedField('meetTheExperts', 1000),\n// \t//addWeightedField('inThisSection', 1000),\n// \taddWeightedField('relatedInsightsTitle', 1000),\n// \t//addWeightedField('relatedInsights', 1000),\n// \taddWeightedField('industry', 1000),// taxonomy\n// \taddWeightedField('keywords1', 1000),// taxonomy\n// \taddWeightedField('contentCategory', 1000),// taxonomy\n// \taddWeightedField('sectionType', 1000),// taxonomy\n// \taddWeightedField('university', 1000),// taxonomy NSIRC\n// \taddWeightedField('sponsor', 1000),// taxonomy NSIRC\n\n// ];\n\nlet allFields = [\n\taddWeightedField('entryTitle', 1000),\n\taddWeightedField('entryDescription', 1000),\n\taddWeightedField('searchContent', 1000),\n\taddWeightedField('_searchContent', 1000),\n\taddWeightedField('sys.uri', 1000),\n\taddWeightedField('*', 1000)\n\n];\n\n\nvar path = window.location.pathname;\n//tests\n//path = \"/technical-knowledge/faqs#/\";\n//var path = \t\"/technical-knowledge/faqs/home.aspx#/\";\n//var path = \t\"/locations/south-east-asia/faqs/home.aspx#/\";\n\n\n\n\nlet faqListerContentType = [\n\taddWeightedField('title', 1000),\n\taddWeightedField('heroImage.caption', 1000),\n\taddWeightedField('faqComposer[].markup', 1000),\n\taddWeightedField('faqComposer[].leadTextBlueBold', 1000),\n\taddWeightedField('faqComposer[].markupImage2Columns.markup', 1000),\n\taddWeightedField('faqComposer[].markupImage2Columns.image.caption', 1000),\n\taddWeightedField('faqComposer[].markupImage2Columns.image.altText', 1000),\n\taddWeightedField('faqComposer[].h2Anchor', 1000),\n];\n\nif (path.includes(\"/technical-knowledge/faqs\"))\n{\n\tfaqListerContentType = [\n\t\taddWeightedField('title', 1000),\n\t\taddWeightedField('heroImage.caption', 1000),\n\t\taddWeightedField('searchContent', 1000),\n\t];\n\n}\n\n\n\nexport const SETTINGS = {\n\tsearch:\n\t{\n\t\tappId: 'search',\n\t\tcontentTypeId: 'search',\n\t\tpageSize: 12,\n\t\tweightedFields: allFields,\t\n\t\t\t// [\n\t\t\t// addWeightedField('entryTitle', 1500),\n\t\t\t// addWeightedField('entryDescription', 1500),\n\t\t\t// addWeightedField('description', 1500),\n\t\t\t// addWeightedField('sys.metadata.description', 1500),\n\t\t\t// addWeightedField('sys.metadata.keywords', 1500),\n\t\t\t// addWeightedField('sys.metadata.importedKeywords', 1500),\n\t\t\t// addWeightedField('sys.metadata.author', 1500),\n\t\t\t// addWeightedField('summary', 1500),\n\t\t\t// addWeightedField('keywords', 1500),\n\t\t\t// addWeightedField('title', 1500),\t //weldasearch title\n\t\t\t// addWeightedField('abstract', 1500),\n\t\t\t// addWeightedField('subjectHeading', 1500),\n\t\t\t// addWeightedField('searchContent', 1500),\n\t\t\t// addWeightedField('overview', 1500),\n\t\t\t// addWeightedField('conclusion', 1500)\n\t\t\t// ],\n\t\ttaxonomyFilterPaths: [\n\t\t\t'Search/Media',\n\t\t\t'ContentCategory'\n\t\t]\n\t},\n\tnews:\n\t{\n\t\tappId: 'news',\n\t\tcontentTypeId: 'pressReleases',\n\t\tpageSize: 12,\n\t\tweightedFields: [\n\t\t\taddWeightedField('title', 1000)\t\n\t\t],\n\t\ttaxonomyFilters: [\n\t\t\t'categories',\n\t\t\t'industries'\n\t\t],\n\t\torderBy: [\n\t\t\taddOrderByField('publishDate', ORDERBY_DESC),\n\t\t\taddOrderByField('sys.metadata.pageDate', ORDERBY_DESC)\n\t\t]\n\t},\n\tevents:\n\t{\n\t\tappId: 'events',\n\t\tcontentTypeId: 'events',\n\t\tpageSize: 12,\n\t\tweightedFields: [\n\t\t\taddWeightedField('title', 100)\t\n\t\t],\n\t\ttaxonomyFilters:[\n\t\t\t'eventType'\n\t\t],\n\t\torderBy: [\n\t\t\taddOrderByField('eventDate.from', ORDERBY_ASC),\n\t\t\taddOrderByField('eventDate.to', ORDERBY_DESC),\n\t\t\taddOrderByField('title', ORDERBY_ASC)\n\t\t]\n\t},\n\tTWIInnovationNetworkEventsAppId:\n\t{\n\t\tappId: 'TWIInnovationNetworkEventsAppId',\n\t\tcontentTypeId: 'events',\n\t\tpageSize: 12,\n\t\tweightedFields: [\n\t\t\taddWeightedField('title', 100)\t\n\t\t],\n\t\ttaxonomyFilters:[\n\t\t\t'eventType'\n\t\t],\n\t\torderBy: [\n\t\t\taddOrderByField('eventDate.from', ORDERBY_ASC),\n\t\t\taddOrderByField('eventDate.to', ORDERBY_DESC),\n\t\t\taddOrderByField('title', ORDERBY_ASC)\n\t\t]\n\t},\n\tcareers:\n\t{\n\t\tappId: 'careers',\n\t\tcontentTypeId: 'ciphrVacancies',\n\t\tpageSize: 12,\n\t\tweightedFields: [\n\t\t\taddWeightedField('title', 1000),\n\t\t\taddWeightedField('contractType', 1000),\n\t\t\taddWeightedField('location',1000),\n\t\t\taddWeightedField('employmentType',1000),\n\t\t\taddWeightedField('textDescription',1000)\t\t\t\n\t\t\t// addWeightedField('reference', 800),\n\t\t\t// addWeightedField('department', 600)\t\n\t\t],\n\t\ttaxonomyFilters: [\n\t\t\t// 'locationDivision',\n\t\t\t// 'contractType'\n\t\t],\n\t},\n\tourstories:\n\t{\n\t\tappId: 'ourstories',\n\t\tcontentTypeId: 'ourStories',\n\t\tpageSize: 12,\n\t\tweightedFields: [\n\t\t\taddWeightedField('title', 1000),\n\t\t\taddWeightedField('keywords', 600)\t\n\t\t],\n\t\ttaxonomyFilters: [\n\t\t\t'industry'\n\t\t],\n\t},\n\tinsights:\n\t{\n\t\tappId: 'insights',\n\t\tcontentTypeId: 'insights',\n\t\tpageSize: 12,\n\t\tweightedFields: allFields,\n\t\ttaxonomyFilters: [\n\t\t\t'keywords1',\n\t\t\t'industry'\n\t\t],\n\t\torderBy: [\n\t\t\taddOrderByField('publishDate', ORDERBY_DESC),\n\t\t\taddOrderByField('sys.version.published', ORDERBY_DESC),\n\t\t],\n\t},\n\n\tGenericInsightsAppId:\n\t{\n\t\tappId: 'GenericInsightsAppId',\n\t\tcontentTypeId: 'insights',\n\t\tpageSize: 12,\n\t\tweightedFields: allFields,\n\t\ttaxonomyFilters: [\n\t\t\t'keywords1',\n\t\t\t'industry',\n\t\t\t'innovationNetworkTopics',\n\t\t\t'innovationNetworkIndustry'\n\t\t],\n\t\torderBy: [\n\t\t\taddOrderByField('publishDate', ORDERBY_DESC),\n\t\t\taddOrderByField('sys.version.published', ORDERBY_DESC),\n\t\t],\n\t},\n\n\tatoz:\n\t{\n\t\tappId: 'atoz',\n\t\tcontentTypeId: 'atoz',\n\t\tpageSize: 12,\n\t\torderBy: [\n\t\t\taddOrderByField('title', ORDERBY_ASC)\n\t\t]\n\t},\n\tIMReportsListerAppId:\n\t{\n\t\tappId: 'IMReportsListerAppId',\n\t\tcontentTypeId: 'genericContentWebpage',\n\t\tpageSize: 12,\n\t\tweightedFields: [\n\t\t\taddWeightedField('title'),\n\t\t\taddWeightedField('description'),\n\t\t\taddWeightedField('sys.metadata.author'),\n\t\t\taddWeightedField('sys.metadata.pagedate'),\n\t\t\taddWeightedField('searchContent'),\n\t\t\taddWeightedField('sys.metadata.importedKeywords'),\n\t\t\taddWeightedField('sys.uri'),\n\t\t],\n\t\torderBy: [\n\t\t\taddOrderByField('sys.metadata.pageDate', ORDERBY_DESC),\n\t\t]\n\t},\n\tIMReportsGridAppId:// appId\n\t{\n\t\tappId: 'IMReportsGridAppId',\n\t\tcontentTypeId: 'genericContentWebpage',\n\t\tpageSize: 9999,\n\t\tweightedFields: [\n\t\t\taddWeightedField('title'),\n\t\t\taddWeightedField('description'),\n\t\t\taddWeightedField('sys.metadata.author'),\n\t\t\taddWeightedField('sys.metadata.pagedate'),\n\t\t\taddWeightedField('searchContent'),\n\t\t\taddWeightedField('sys.metadata.importedKeywords'),\n\t\t\taddWeightedField('sys.uri'),\n\t\t],\n\t\torderBy: [\n\t\t\taddOrderByField('sys.metadata.pageDate', ORDERBY_DESC),\n\t\t]\n\t},\n\tJIPLister: // appId\n\t{\n\t\tappId: 'JIPLister',\n\t\tcontentTypeId: 'jips',\n\t\tpageSize: 12,\n\t\tweightedFields: [\n\t\t\taddWeightedField('projectTitle'),\n\t\t\taddWeightedField('reference'),\n\t\t\taddWeightedField('status'),\n\t\t\taddWeightedField('description'),\n\t\t\taddWeightedField('pdfDownload')\n\t\t],\n\t\ttaxonomyFilters: [\n\t\t\t'industries'\n\t\t],\n\t\torderBy: [\n\t\t\taddOrderByField('dateAnnounced', ORDERBY_DESC),\n\t\t]\n\t},\n\tPublishedPapersLister: // appId\n\t{\n\t\tappId: 'PublishedPapersLister',\n\t\tcontentTypeId: 'publishedPapers',\n\t\tpageSize: 12,\n\t\tweightedFields: [\n\t\t\t//contentType\n\t\t\taddWeightedField('title', 1000),\n\t\t\taddWeightedField('authors', 800),\n\t\t\taddWeightedField('conference', 800),\n\t\t\taddWeightedField('journal', 800),\n\t\t\taddWeightedField('book', 800),\n\t\t\taddWeightedField('externalLink', 800),\n\t\t\t//addWeightedField('pdf', 800),\n\t\t\t//addWeightedField('pageDate', 800),\n\t\t\taddWeightedField('publishedPaperAbstract[]', 1000),\n\t\t\taddWeightedField('fixedKeywordList', 800),\n\t\t\taddWeightedField('FixedKeywordList', 800),\n\t\t\t//webpage\n\t\t\taddWeightedField('sys.metadata.author', 800),\n\t\t\taddWeightedField('searchContent', 900)\n\n\t\t],\n\t\torderBy: [\n\t\t\taddOrderByField('pageDate', ORDERBY_DESC),\n\t\t\taddOrderByField('sys.metadata.pageDate', ORDERBY_DESC)\n\t\t]\n\t},\n\n\n\n\tCSWIPSchemesAppId:\n\t{\n\t\tappId: 'CSWIPSchemesAppId',\n\t\tcontentTypeId: 'cswipSchemes',\n\t\tpageSize: 12,\n\t\tweightedFields: cswipSchemesContentType,\n\t\torderBy: [\n\t\t\taddOrderByField('displayOrder', ORDERBY_ASC)\n\t\t]\n\t},\n\n\tCSWIPSearchAppId:\n\t{\n\t\tappId: 'CSWIPSearchAppId',\n\t\tcontentTypeId: 'cswipSearch',\n\t\tpageSize: 12,\n\t\tweightedFields: [\n\t\t\taddWeightedField('schemeName', 5000),\n\t\t\taddWeightedField('schemeDescription', 5000),\n\t\t\taddWeightedField('schemeType', 5000),\n\t\t\t// addWeightedField('cswipSchemeRequirements[].markup', 5000),\n\t\t\t// addWeightedField('cswipSchemeRequirements[].accordionTitle', 5000),\n\t\t\t// addWeightedField('article[].markup', 5000),\n\t\t\t// addWeightedField('article[].quote', 5000),\n\t\t\taddWeightedField('heroImage.caption', 5000),\n\t\t\taddWeightedField('heroImage.altText', 5000),\n\t\t\taddWeightedField('heroVideo.description', 5000),\n\t\t\taddWeightedField('summary', 5000),\n\t\t\taddWeightedField('thumbnailImage.caption', 5000),\n\t\t\taddWeightedField('thumbnailImage.altText', 5000),\n\t\t\taddWeightedField('title', 5000),\n\t\t\taddWeightedField('sys.metadata.description', 5000),\t\n\t\t\taddWeightedField('searchContent', 5000),\n\t\t\taddWeightedField('sys.metadata.author',5000),\n\t\t\taddWeightedField('sys.metadata.importedCategories',5000),\n\t\t\taddWeightedField('sys.metadata.importedKeywords',5000),\n\t\t\taddWeightedField('sys.slug',5000),\n\t\t\taddWeightedField('sys.uri',5000),\n\t\t]\n\t},\n\tCSWIPNewsAppId:\n\t{\n\t\tappId: 'CSWIPNewsAppId',\n\t\tcontentTypeId: 'pressReleases',\n\t\tpageSize: 12,\n\t\tweightedFields: [\n\t\t\taddWeightedField('title', 1000),\n\t\t\taddWeightedField('searchContent', 1000)\n\t\t],\n\t\ttaxonomyFilters: [\n\t\t\t'categories',\n\t\t\t'industries'\n\t\t],\n\t\torderBy: [\n\t\t\taddOrderByField('publishDate', ORDERBY_DESC),\n\t\t\taddOrderByField('sys.metadata.pageDate', ORDERBY_DESC)\n\t\t]\n\t},\n\tCSWIPInsightsAppId:\n\t{\n\t\tappId: 'CSWIPInsightsAppId',\n\t\tcontentTypeId: 'insights',\n\t\tpageSize: 12,\n\t\tweightedFields: [\n\t\t\taddWeightedField('title', 1000),\n\t\t\taddWeightedField('keywords', 600),\t\n\t\t\taddWeightedField('searchContent', 1000)\n\t\t],\n\t\ttaxonomyFilters: [\n\t\t\t'keywords1',\n\t\t\t'industry' // api name of the Content Type component\n\t\t],\n\t\torderBy: [\n\t\t\taddOrderByField('sys.version.published', ORDERBY_DESC),\n\t\t],\n\t},\n\tTWIInnovationNetworkNewsAppId:\n\t{\n\t\tappId: 'TWIInnovationNetworkNewsAppId',\n\t\tcontentTypeId: 'pressReleases',\n\t\tpageSize: 12,\n\t\tweightedFields: [\n\t\t\taddWeightedField('title', 1000),\n\t\t\taddWeightedField('searchContent', 1000)\n\t\t],\n\t\ttaxonomyFilters: [\n\t\t\t'categories',\n\t\t\t'industries'\n\t\t],\n\t\torderBy: [\n\t\t\taddOrderByField('publishDate', ORDERBY_DESC),\n\t\t\taddOrderByField('sys.metadata.pageDate', ORDERBY_DESC)\n\t\t]\n\t},\n\tTWIInnovationNetworkSearchAppId:\n\t{\n\t\tappId: 'TWIInnovationNetworkSearchAppId',\n\t\tcontentTypeId: 'twiinSearch',\n\t\tpageSize: 12,\n\t\tweightedFields: [\n\t\t\taddWeightedField('heroImage.caption', 5000),\n\t\t\taddWeightedField('heroImage.altText', 5000),\n\t\t\taddWeightedField('heroVideo.description', 5000),\n\t\t\taddWeightedField('summary', 5000),\n\t\t\taddWeightedField('thumbnailImage.caption', 5000),\n\t\t\taddWeightedField('thumbnailImage.altText', 5000),\n\t\t\taddWeightedField('title', 5000),\n\t\t\taddWeightedField('sys.metadata.description', 5000),\t\n\t\t\taddWeightedField('searchContent', 5000),\n\t\t\taddWeightedField('sys.metadata.author',5000),\n\t\t\taddWeightedField('sys.metadata.importedCategories',5000),\n\t\t\taddWeightedField('sys.metadata.importedKeywords',5000),\n\t\t\taddWeightedField('sys.slug',5000),\n\t\t\taddWeightedField('sys.uri',5000),\n\t\t]\n\t},\n\tmemberListAppId:\n\t{\n\t\tappId: 'memberListAppId',\n\t\tcontentTypeId: 'members',\n\t\tpageSize: 12,\n\t\tweightedFields: [\n\t\t\taddWeightedField('displayName', 1000),\n\t\t\taddWeightedField('memberOrg', 1000),\n\t\t\taddWeightedField('sortCol', 1000),\n\t\t\taddWeightedField('country', 1000),\n\t\t\taddWeightedField('industrySector', 1000),\n\t\t\taddWeightedField('industryGroup', 1000),\t\t\t\n\t\t\taddWeightedField('searchContent', 1000)\n\t\t],\n\t\ttaxonomyFilters: [\n\t\t\t'industries'\n\t\t],\n\t\torderBy: [\n\t\t\taddOrderByField('sortCol', ORDERBY_ASC)\n\t\t]\n\t},\n\tPublicFundedProjectsListerAppId: // appId\n\t{\n\t\tappId: 'PublicFundedProjectsListerAppId',\n\t\tcontentTypeId: 'publicFundedProjects',\n\t\tpageSize: 12,\n\t\tweightedFields: allFields,\n\t\t// [\n\t\t// \taddWeightedField('acronym'),\n\t\t// \taddWeightedField('projectTitle'),\n\t\t// \taddWeightedField('status'),\n\t\t// \taddWeightedField('description'),\n\t\t// \taddWeightedField('website'),\n\t\t// \taddWeightedField('fundingBody'),\n\t\t// \taddWeightedField('industries'),\n\t\t// \taddWeightedField('pdfDownloads'),\n\t\t// \taddWeightedField('publication'),\n\t\t// \taddWeightedField('keywords')\n\n\t\t// ],\n\t\ttaxonomyFilters: [\n\t\t\t'industries'\n\t\t],\n\t\torderBy: [\n\t\t\taddOrderByField('dateAddedToWebsite', ORDERBY_DESC),\n\t\t]\n\t},\n\tCoreResearchProgrammeListerAppId: // appId\n\t{\n\t\tappId: 'CoreResearchProgrammeListerAppId',\n\t\tcontentTypeId: 'genericContentWebpage',\n\t\tpageSize: 12,\n\t\tweightedFields: [\n\t\t\t//webpage\n\t\t\taddWeightedField('title'),\n\t\t\taddWeightedField('description'),\n\t\t\taddWeightedField('searchContent')\n\n\t\t],\n\t\torderBy: [\n\t\t\taddOrderByField('sys.metadata.pageDate', ORDERBY_DESC)\n\t\t]\n\t},\n\n\tFAQListerAppId: // appId\n\t{\n\t\tappId: 'FAQListerAppId',\n\t\tcontentTypeId: 'faqs',\n\t\tpageSize: 12,\n\t\tweightedFields: faqListerContentType,\n\t\ttaxonomyFilters: [\n\t\t\t'language' //id of taxonomy field in Content Type\n\t\t],\t\t\n\t\torderBy: [\n\t\t\taddOrderByField('sys.metadata.pageDate', ORDERBY_DESC)\n\t\t]\n\n\t},\n\n\tCTLFAQListerAppId: // appId\n\t{\n\t\tappId: 'CTLFAQListerAppId',\n\t\tcontentTypeId: 'faqs',\n\t\tpageSize: 12,\n\t\tweightedFields: faqListerContentType,\n\t\ttaxonomyFilters: [\n\t\t\t'certifications'\n\t\t],\t\t\n\t\torderBy: [\n\t\t\taddOrderByField('sys.metadata.pageDate', ORDERBY_DESC)\n\t\t]\n\n\t},\n\n\t\n\n\tTWIDEInsightsAppId:\n\t{\n\t\tappId: 'TWIDEInsightsAppId',\n\t\tcontentTypeId: 'insights',\n\t\tpageSize: 12,\n\t\tweightedFields: [\n\t\t\taddWeightedField('title', 1000),\n\t\t\taddWeightedField('summary', 1000),\n\t\t\taddWeightedField('overview', 1000),\n\t\t\taddWeightedField('objectivesTitle', 1000),\n\t\t\taddWeightedField('objectives', 1000),\n\t\t\taddWeightedField('solutionTitle', 1000),\n\t\t\taddWeightedField('solution', 1000),\n\t\t\taddWeightedField('conclusionTitle', 1000),\n\t\t\taddWeightedField('conclusion', 1000),\n\t\t\taddWeightedField('profile', 1000),\n\t\t\taddWeightedField('industry', 1000),\n\t\t\taddWeightedField('keywords1', 600),\n\t\t\taddWeightedField('contentCategory', 600),\n\t\t\taddWeightedField('sectionType', 600),\n\t\t],\n\t\ttaxonomyFilters: [\n\t\t\t'keywords1',\n\t\t\t'industry'\n\t\t],\n\t\torderBy: [\n\t\t\taddOrderByField('sys.version.published', ORDERBY_DESC),\n\t\t],\n\t},\n\tJobKnowledgeListerAppId: // appId\n\t{\n\t\tappId: 'JobKnowledgeListerAppId',\n\t\tcontentTypeId: 'genericContentWebpage',\n\t\tpageSize: 12,\n\t\tweightedFields: [\n\t\t\t//webpage\n\t\t\taddWeightedField('title'),\n\t\t\taddWeightedField('description'),\n\t\t\taddWeightedField('searchContent'),\n\t\t\t// addWeightedField('sys.metadata.importedKeywords'),\n\t\t\t// addWeightedField('sys.metadata.author'),\n\t\t\t// addWeightedField('sys.metadata.pageDate'),\t\t\t\t\n\n\t\t],\n\t\torderBy: [\n\t\t\taddOrderByField('sys.metadata.pageDate', ORDERBY_DESC)\n\t\t]\n\t},\n\tNSIRCNewsAppId:\n\t{\n\t\tappId: 'NSIRCNewsAppId',\n\t\tcontentTypeId: 'pressReleases',\n\t\tpageSize: 12,\n\t\tweightedFields: [\n\t\t\taddWeightedField('title', 1000),\n\t\t\taddWeightedField('searchContent', 1000)\n\t\t],\n\t\ttaxonomyFilters: [\n\t\t\t'sponsors',\n\t\t\t'university'\n\t\t],\n\t\torderBy: [\n\t\t\taddOrderByField('publishDate', ORDERBY_DESC),\n\t\t\taddOrderByField('sys.metadata.pageDate', ORDERBY_DESC)\n\t\t]\n\t},\n\tNSIRCPublicationsAppId:\n\t{\n\t\tappId: 'NSIRCPublicationsAppId',\n\t\tcontentTypeId: 'pressReleases',\n\t\tpageSize: 12,\n\t\tweightedFields: [\n\t\t\taddWeightedField('title', 1000)\t\n\t\t],\n\t\ttaxonomyFilters: [\n\t\t\t'sponsors',\n\t\t\t'university'\n\t\t],\n\t\torderBy: [\n\t\t\taddOrderByField('publishDate', ORDERBY_DESC),\n\t\t\taddOrderByField('sys.metadata.pageDate', ORDERBY_DESC)\n\t\t]\n\t},\n\tNSIRCThesesAppId:\n\t{\n\t\tappId: 'NSIRCThesesAppId',\n\t\tcontentTypeId: 'pressReleases',\n\t\tpageSize: 12,\n\t\tweightedFields: [\n\t\t\taddWeightedField('title', 1000)\t\n\t\t],\n\t\ttaxonomyFilters: [\n\t\t\t'sponsors',\n\t\t\t'university'\n\t\t],\n\t\torderBy: [\n\t\t\taddOrderByField('publishDate', ORDERBY_DESC),\n\t\t\taddOrderByField('sys.metadata.pageDate', ORDERBY_DESC)\n\t\t]\n\t},\n\tNSIRCDissertationsAppId:\n\t{\n\t\tappId: 'NSIRCDissertationsAppId',\n\t\tcontentTypeId: 'pressReleases',\n\t\tpageSize: 12,\n\t\tweightedFields: [\n\t\t\taddWeightedField('title', 1000)\t\n\t\t],\n\t\ttaxonomyFilters: [\n\t\t\t'sponsors',\n\t\t\t'university'\n\t\t],\n\t\torderBy: [\n\t\t\taddOrderByField('publishDate', ORDERBY_DESC),\n\t\t\taddOrderByField('sys.metadata.pageDate', ORDERBY_DESC)\n\t\t]\n\t},\n\tNSIRCStudentProfilesAppId:\n\t{\n\t\tappId: 'NSIRCStudentProfilesAppId',\n\t\tcontentTypeId: 'pressReleases',\n\t\tpageSize: 12,\n\t\tweightedFields: [\n\t\t\taddWeightedField('title', 1000)\t\n\t\t],\n\t\ttaxonomyFilters: [\n\t\t\t'sponsors',\n\t\t\t'university'\n\t\t],\n\t\torderBy: [\n\t\t\taddOrderByField('publishDate', ORDERBY_DESC),\n\t\t\taddOrderByField('sys.metadata.pageDate', ORDERBY_DESC)\n\t\t]\n\t},\n\tNSIRCInsightsAppId:\n\t{\n\t\tappId: 'NSIRCInsightsAppId',\n\t\tcontentTypeId: 'pressReleases',\n\t\tpageSize: 12,\n\t\tweightedFields: [\n\t\t\taddWeightedField('title', 1000)\t\n\t\t],\n\t\ttaxonomyFilters: [\n\t\t\t'sponsors',\n\t\t\t'university'\n\t\t],\n\t\torderBy: [\n\t\t\taddOrderByField('publishDate', ORDERBY_DESC),\n\t\t\taddOrderByField('sys.metadata.pageDate', ORDERBY_DESC)\n\t\t]\n\t},\n\tNSIRCCareersAppId:\n\t{\n\t\tappId: 'NSIRCCareersAppId',\n\t\tcontentTypeId: 'ciphrVacancies',\n\t\tpageSize: 12,\n\t\tweightedFields: [\n\t\t\taddWeightedField('title', 1000),\n\t\t\taddWeightedField('contractType', 1000),\n\t\t\taddWeightedField('location',1000),\n\t\t\taddWeightedField('employmentType',1000),\n\t\t\taddWeightedField('textDescription',1000)\t\t\t\n\t\t],\n\t\ttaxonomyFilters: [\n\t\t\t// 'locationDivision',\n\t\t\t// 'contractType'\n\t\t],\n\t\t// taxonomyFilters: [\n\t\t// \t'locationDivision',\n\t\t// \t'university',\n\t\t// \t'contractType'\n\t\t// ],\n\t},\n\tNSIRCSearchAppId:\n\t{\n\t\tappId: 'NSIRCSearchAppId',\n\t\tcontentTypeId: 'search',\n\t\tpageSize: 12,\n\t\tweightedFields: [\n\t\t\taddWeightedField('entryTitle', 1500),\n\t\t\taddWeightedField('entryDescription', 800),\n\t\t\taddWeightedField('description', 800),\n\t\t\taddWeightedField('sys.metadata.description', 800),\n\t\t\taddWeightedField('summary', 800),\t\n\t\t\taddWeightedField('keywords', 800),\t\n\t\t\taddWeightedField('title', 900),\t //weldasearch title\n\t\t\taddWeightedField('abstract', 800),\t\n\t\t\taddWeightedField('subjectHeading', 800),\t\n\t\t\taddWeightedField('searchContent', 600),\n\t\t\taddWeightedField('overview', 800),\n\t\t\taddWeightedField('conclusion', 800)\n\t\t]\n\t},\n\tOurPeopleAppId:\n\t{\n\t\tappId: 'OurPeopleAppId',\n\t\tcontentTypeId: 'staffProfiles',\n\t\tpageSize: 12,\n\t\tweightedFields: [\n\t\t\taddWeightedField('title', 1000),\n\t\t\taddWeightedField('title1', 1000),\n\t\t\taddWeightedField('company', 1000),\n\t\t\taddWeightedField('shortProfile', 1000),\n\t\t\taddWeightedField('profile', 1000),\n\t\t\taddWeightedField('email', 1000),\n\t\t\taddWeightedField('telephone', 1000),\n\t\t\taddWeightedField('linkedIn', 1000),\n\t\t\taddWeightedField('twitter', 1000)\n\t\t],\n\t\t// taxonomyFilters: [\n\t\t// \t'sponsors',\n\t\t// \t'university'\n\t\t// ],\n\t\torderBy: [\n\t\t\taddOrderByField('publishDate', ORDERBY_DESC),\n\t\t\taddOrderByField('sys.metadata.pageDate', ORDERBY_DESC)\n\t\t]\n\t},\n\tGenericPressReleasesAppId:\n\t{\n\t\tappId: 'GenericPressReleasesAppId',\n\t\tcontentTypeId: 'pressReleases',\n\t\tpageSize: 12,\n\t\tweightedFields: [\n\t\t\taddWeightedField('title', 1000),\n\t\t\taddWeightedField('searchContent', 1000)\n\t\t],\n\t\t// taxonomyFilters: [\n\t\t// \t'categories',\n\t\t// \t'industries'\n\t\t// ],\n\t\torderBy: [\n\t\t\taddOrderByField('publishDate', ORDERBY_DESC),\n\t\t\taddOrderByField('sys.metadata.pageDate', ORDERBY_DESC)\n\t\t]\n\t},\n\n\tGenericShowcaseAppId:\n\t{\n\t\tappId: 'GenericShowcaseAppId',\n\t\tcontentTypeId: 'showcase',\n\t\tpageSize: 12,\n\t\tweightedFields: [\n\t\t\taddWeightedField('title', 1000),\n\t\t\taddWeightedField('videoDescripton', 1000),\n\t\t\taddWeightedField('searchContent', 1000)\n\t\t],\n\t\t// taxonomyFilters: [\n\t\t// \t'categories',\n\t\t// \t'industries'\n\t\t// ],\n\t\torderBy: [\n\t\t\taddOrderByField('publishDate', ORDERBY_DESC),\n\t\t\taddOrderByField('sys.metadata.pageDate', ORDERBY_DESC)\n\t\t]\n\t},\n\n\tTWICLCompaniesAppId: // appId\n\t{\n\t\tappId: 'TWICLCompaniesAppId',\n\t\tcontentTypeId: 'registerOfCompanies',\n\t\tpageSize: 12,\n\t\tweightedFields: [\n\t\t\taddWeightedField('companyName'),\n\t\t],\t\t\n\t\torderBy: [\n\t\t\taddOrderByField('companyName', ORDERBY_DESC)\n\t\t]\n\n\t},\n\n\tTWICLCertificationsAppId:\n\t{\n\t\tappId: 'TWICLCertificationsAppId',\n\t\tcontentTypeId: 'cswipSchemes',\n\t\tpageSize: 12,\n\t\tweightedFields: cswipSchemesContentType,\n\t\torderBy: [\n\t\t\taddOrderByField('displayOrder', ORDERBY_ASC)\n\t\t]\n\t},\n\n\tGenericSearchAppId:\n\t{\n\t\tappId: 'GenericSearchAppId',\n\t\tcontentTypeId: 'search',\n\t\tpageSize: 12,\n\t\tweightedFields: allFields,\n\t\torderBy: [\n\t\t\taddOrderByField('publishDate', ORDERBY_DESC),\n\t\t\taddOrderByField('sys.metadata.pageDate', ORDERBY_DESC)\n\t\t]\t\n\t},\n\n\tGenericWebpageListerAppId: // appId\n\t{\n\t\tappId: 'GenericWebpageListerAppId',\n\t\tcontentTypeId: 'genericContentWebpage',\n\t\tpageSize: 12,\n\t\tweightedFields: [\n\t\t\t//webpage\n\t\t\taddWeightedField('title'),\n\t\t\taddWeightedField('description'),\n\t\t\taddWeightedField('searchContent')\n\n\t\t],\n\t\torderBy: [\n\t\t\taddOrderByField('sys.metadata.pageDate', ORDERBY_DESC)\n\t\t]\n\t},\n\n\tDigitalProductFinderAppId: // appId\n\t{\n\t\tappId: 'DigitalProductFinderAppId',\n\t\tcontentTypeId: 'DigitalProductFinder',\n\t\tpageSize: 12,\n\t\tweightedFields: allFields,\n\t\t// taxonomyFilters: [\n\t\t// \t'language' //id of taxonomy field in Content Type\n\t\t// ],\t\t\n\t\torderBy: [\n\t\t\taddOrderByField('skill', ORDERBY_DESC)\n\t\t]\n\n\t},\n\n\tTWIJobsAppId: // appId\n\t{\n\t\tappId: 'TWIJobsAppId',\n\t\tcontentTypeId: 'twiJobs',\n\t\tpageSize: 12,\n\t\tweightedFields: allFields,\n\t\t// taxonomyFilters: [\n\t\t// \t'language' //id of taxonomy field in Content Type\n\t\t// ],\t\t\n\t\t// orderBy: [\n\t\t// \taddOrderByField('skill', ORDERBY_DESC)\n\t\t// ]\n\n\t},\n\n\tTWIJobsDescriptionAppId: // appId\n\t{\n\t\tappId: 'TWIJobsDescriptionAppId',\n\t\tcontentTypeId: 'twiJobs',\n\t\tpageSize: 1,\n\t\tweightedFields: allFields,\n\t\t// taxonomyFilters: [\n\t\t// \t'language' //id of taxonomy field in Content Type\n\t\t// ],\t\t\n\t\t// orderBy: [\n\t\t// \taddOrderByField('skill', ORDERBY_DESC)\n\t\t// ]\n\n\t},\n\n\tTWIInnovationNetworkTAPsAppId: // appId\n\t{\n\t\tappId: 'TWIInnovationNetworkTAPsAppId',\n\t\tcontentTypeId: 'taps',\n\t\tpageSize: 12,\n\t\tweightedFields: allFields,\n\t\t// taxonomyFilters: [\n\t\t// \t'language' //id of taxonomy field in Content Type\n\t\t// ],\t\t\n\t\t// orderBy: [\n\t\t// \taddOrderByField('skill', ORDERBY_DESC)\n\t\t// ]\n\n\t},\n\n\tGenericVideosAppId: // appId\n\t{\n\t\tappId: 'GenericVideosAppId',\n\t\tcontentTypeId: 'videos',\n\t\tpageSize: 12,\n\t\tweightedFields: allFields,\n\t\torderBy: [\n\t\t\taddOrderByField('publishDate', ORDERBY_DESC)\n\t\t]\n\t},\n\n\tGenericVideoDisplayAppId: // appId\n\t{\n\t\tappId: 'GenericVideoDisplayAppId',\n\t\tcontentTypeId: 'videos',\n\t\tpageSize: 12,\n\t\tweightedFields: allFields,\n\t\t// orderBy: [\n\t\t// \taddOrderByField('publishDate', ORDERBY_DESC)\n\t\t// ]\n\t},\n\n\tVirtualAcademyAppId: // appId\n\t{\n\t\tappId: 'VirtualAcademyAppId',\n\t\tcontentTypeId: 'VirtualAcademy',\n\t\tpageSize: 12,\n\t\tweightedFields: allFields,\n\t\t// orderBy: [\n\t\t// \taddOrderByField('publishDate', ORDERBY_DESC)\n\t\t// ]\n\t},\n\n};\n/* End App Config */\n\n/* Start Is Local or Prod */\nexport const isProd = process.env.NODE_ENV === 'production';\nexport const apiPrefix = !isProd ? 'https://preview-twi.cloud.contensis.com' : 'https://live-twi.cloud.contensis.com';\n//export const apiPrefix = !isProd ? 'https://preview-twi-dev.cloud.contensis.com' : 'https://live-twi-dev.cloud.contensis.com';\n\n/* End Is Local or Prod */\n\nexport const SYNONYMS = !isProd ? '/source-files/app/Synonyms.json' : '/site-elements/synonyms/Synonyms.json';\n\n/* Start CMS Config */\nexport const Configuration = {\n\trootUrl: 'https://cms-twi.cloud.contensis.com',\n\t//rootUrl: 'https://cms-twi-dev.cloud.contensis.com',\n\taccessToken: 'D8wMky9p2x41vFHrR8MVV3bOWg7UCpolPYQTVMzoySnGJTx5',\n\tversionStatus: !isProd ? 'latest' : 'published',\n\tprojectId: 'website',\n};\n/* End CMS Config */","import { Client } from 'contensis-delivery-api';\nimport { Configuration, isProd } from '../../config';\nimport { LruCache } from './lru-cache';\n\nexport const client = process.env.NODE_ENV !== 'production' ? Client.create(Configuration) : Client.create(Configuration);\nexport * from 'contensis-delivery-api';\n\nexport const versionStatus = client.clientConfig.versionStatus === 'latest' ? 'latest' : 'published';\n\nclass CachedSearch {\n\n\tcache = new LruCache();\n\ttaxonomyLookup = {};\t\n\n\tsearch(query) {\n\t\treturn this.request(JSON.stringify(query), () => client.entries.search(query, 1));\n\t}\n\t\n\tgetContentType(id) {\n\t\treturn this.request(`[CONTENT TYPE] ${id}`, () => client.contentTypes.get(id));\n\t}\n\n\tgetTaxonomyNode(key) {\n\t\treturn this.request(`[TAXONOMY NODE] ${key}`, \n\t\t\t() => client.taxonomy.resolveChildren({key: key, childDepth: 2})\n\t\t\t\t\t.then(node => this.extendTaxonomyNode(node))\n\t\t);\n\t}\n\n\tgetTaxonomyNodeByPath(path, order) {\n\t\t//console.log(order)\n\t\treturn this.request(`[TAXONOMY NODE] ${path}`, \n\t\t\t() => client.taxonomy.getNodeByPath(path, order)\n\t\t\t\t.then(node => client.taxonomy.resolveChildren(node.key))\n\t\t\t\t.then(node => this.extendTaxonomyNode(node))\n\t\t);\n\t}\n\n\trequest(key, execute) {\n\t\tif (!this.cache.get(key)) {\n\t\t\tlet promise = execute();\n\t\t\tthis.cache.set(key, promise);\n\t\t\tpromise.catch(() => {\n\t\t\t\tthis.cache.remove(key);\n\t\t\t});\n\t\t}\n\t\treturn this.cache.get(key);\n\t}\n\n\textendTaxonomyNode(node) {\n\t\tlet id = this.getTaxonomyId(node);\n\t\tthis.taxonomyLookup[id] = node.key;\n\t\treturn {\n\t\t\t...node,\n\t\t\tid,\n\t\t\tchildren: (node.children) ? node.children.map(n => this.extendTaxonomyNode(n)) : null\n\t\t};\n\t}\n\n\tgetTaxonomyId(node) {\n\t\tif (node.key) {\n\t\t\tlet parts = node.key.split('/');\n\t\t\treturn parts[parts.length - 1];\n\t\t}\n\t\treturn '';\n\t}\n\n\tgetTaxonomyKey(id) {\n\t\treturn this.taxonomyLookup[id];\n\t}\n}\n\nexport const cachedSearch = new CachedSearch();","import { SETTINGS, CONTENT_TYPE_ID, TAXONOMY_FILTERS, ORDERBY_FIELDS, CHECKBOX_FILTERS, apiPrefix, SYNONYMS } from '../../config';\nimport { client, cachedSearch, Query, Op, versionStatus, OrderBy } from './client';\nimport * as queries from './queries';\nimport { buildExpressions } from '../../expressions';\n\n\nexport async function getEntries(search = {}, settings) {\n\tlet query = new Query(...buildExpressions({ search, settings }));\n\tquery.pageIndex = search.pageIndex || 0;\n\tquery.pageSize = search.pageSize || settings.pageSize;\n\tif (settings.orderBy) {\n\t\tquery = await addOrderByQueries(settings.orderBy, query);\n\t}\n\tif(search.sort){\n\t\tquery.orderBy = await queries.sortOrder(search);\n\t}\n\tlet entries = await cachedSearch.search(query);\n\t//entries.pageItems = await resolveEntryPaths(entries.pageItems);\n\treturn entries;\n}\n\nasync function addOrderByQueries(orderBySettings, query) {\n\tlet orderQuery;\n\tlet orderByQueries = Object.keys(orderBySettings)\n\t.map((_, index) => orderQuery = queries.orderBy(orderBySettings[index].name, orderBySettings[index].direction, orderQuery));\n\tif (orderQuery) {\n\t\tquery.orderBy = orderQuery;\n\t}\t\n\treturn query;\n}\n\nasync function resolveEntryPaths(items) {\n\tlet entryData = items.map((entry) => { return { pageName: entry.pageName ? entry.pageName : entry.commonEntryFields.pageName, contentTypeId: entry.sys.contentTypeId, language: entry.sys.language }; });\n\tlet response = await fetch(`${'/api/custom/routing/resolvepaths/'}`, {\n\t\tmethod: 'POST',\n\t\theaders: {\n\t\t\t'Accept': 'application/json',\n\t\t\t'Content-Type': 'application/json'\n\t\t},\n\t\tbody: JSON.stringify({entries: entryData})\n\t});\n\tlet json = await response.json();\n\tlet paths = await json.paths;\n\treturn items.map((entry, index) => { \n\t\t\tif (entry.sys.dataFormat == \"entry\") {\n\t\t\t\tentry.sys.uri = paths[index]\n\t\t\t}\n\t\t\treturn entry;\n\t\t});\n}\n\nfunction OrderQuery(query) {\n\tlet orderQuery;\n\tlet orderByQueries = Object.keys(ORDERBY_FIELDS)\n\t.map((_, index) => orderQuery = queries.orderBy(ORDERBY_FIELDS[index].name, ORDERBY_FIELDS[index].direction, orderQuery));\n\treturn orderQuery;\n}\n\nexport async function FilterCollectionAsync(items, pageIndex) {\n\tlet startIndex = parseInt(pageIndex) * 10;\n\tlet endIndex = parseInt(startIndex) + 10;\n\treturn items.filter((_, index) => index >= startIndex && index < endIndex);\n}\n\nexport function FilterCollection(items, pageIndex) {\n\tpageIndex = pageIndex == null ? 0 : pageIndex;\n\tlet startIndex = pageIndex * 10;\n\tlet endIndex = startIndex + 10;\n\treturn items.filter((_, index) => index >= startIndex && index < endIndex);\n}\n\nexport async function getFilters(settings) {\n\tlet contentType = await cachedSearch.getContentType(settings.contentTypeId);\n\treturn { taxonomyFilters: await getTaxonomyFilters(contentType, settings.taxonomyFilters), checkBoxFilters: getCheckboxes(contentType, settings.checkBoxFilters), textFilters: getTextFilters(contentType, settings.textFilters), taxonomyPathFilters: await getTaxonomyFiltersByPath(settings.taxonomyFilterPaths), listFilters: await getListItems(contentType, settings.listFilters) };\n}\n\nasync function getTaxonomyFilters(contentType, taxonomyFilters) {\n\tif (taxonomyFilters) {\n\t\tlet taxonomyFields = contentType.fields.filter(function (field) {\n\t\t\t\treturn taxonomyFilters.indexOf(field.id) > -1;\n\t\t\t});\n\t\t// Handle fetching multiple taxonomy filters from categoryPicker component\n\t\ttaxonomyFields = taxonomyFields[0].id === 'categoryPicker' ? taxonomyFields[0].fields : taxonomyFields;\n\n\t\tlet taxonomyPromises = taxonomyFields.map(field => {\n\t\t\tlet taxonomyKey = (field && field.validations && field.validations.taxonomyRoot && field.validations.taxonomyRoot.key);\n\t\t\treturn !!taxonomyKey ?\n\t\t\t\tcachedSearch.getTaxonomyNode(taxonomyKey).then(node => ({\n\t\t\t\t\t[field.id]: node\n\t\t\t\t})) :\n\t\t\t\tnull;\n\t\t});\n\t\tlet filters = await Promise.all(taxonomyPromises);\n\t\treturn filters.reduce((result, filter) => ({ ...result, ...filter}), {});\n\t}\n\n\treturn null;\n}\n\nasync function getTaxonomyFiltersByPath(taxonomyPaths) {\n\tif (taxonomyPaths) {\n\t\tlet taxonomyPromises = taxonomyPaths.map(path => cachedSearch.getTaxonomyNodeByPath(path, 'alphabetical').then(node => ({ [node.name]: node})));\n\t\tlet filters = await Promise.all(taxonomyPromises);\n\t\treturn filters.reduce((result, filter) => ({ ...result,\n\t\t\t...filter\n\t\t}), {});\n\t}\n}\n\nfunction getCheckboxes(contentType, checkBoxFilters) {\n\tif (checkBoxFilters) {\n\t\treturn contentType.fields.filter(field => checkBoxFilters.indexOf(field.id) > -1).map(function(a) { return { id: a.id, name: a.name['en-GB'], value: true }; });\n\t}\t\n}\n\nfunction getListItems(contentType, listFilters) {\n\tif (listFilters) { \n\t\treturn contentType.fields.filter(field => listFilters.indexOf(field.id) > -1).map(function(m){ \n\t\t\treturn { id: m.id, children:\n\t\t\tm.validations.allowedValues.values.map(function(a) { \n\t\t\t\treturn { id: a['en-GB'].replace(/\\s/g,''), name: a['en-GB'], value: true }; \n\t\t\t}\n\t\t)\n\t\t};\n\t}\n\t);\n\t}\t\n}\n\nfunction getTextFilters(contentType, textFilters) {\n\tif (textFilters) {\n\t\treturn textFilters;\n\t}\t\n}\n\nexport async function getTaxonomyByFieldName(fieldName)\n{\t\n\tlet contentType = await cachedSearch.getContentType(CONTENT_TYPE_ID);\n\tlet taxonomyField = contentType.fields.find(field => field.id === fieldName);\n\tlet taxonomyKey = (taxonomyField && taxonomyField.validations && taxonomyField.validations.taxonomyRoot && taxonomyField.validations.taxonomyRoot.key);\n\treturn !!taxonomyKey ?\n\t\t\tcachedSearch.getTaxonomyNode(taxonomyKey).then(node => ({\n\t\t\t\t[taxonomyField.id]: node,\n\t\t\t})) :\n\t\t\tnull;\n}\n\nexport async function GetSynonyms(){\n\treturn fetch(SYNONYMS).then(r => r.json())\n\t.then(data => data)\n\t.catch(e => console.log(\"Cant load JSON file\"))\n}","import { Op, OrderBy } from './client';\n\nexport function versionStatus(versionStatus) {\n\treturn [\n\t\tOp.equalTo('sys.versionStatus', versionStatus)\n\t];\n}\n\nexport function includeInSearch() {\n\treturn [\n\t\tOp.or(\n\t\t\tOp.and(\n\t\t\t\tOp.exists('sys.metadata.includeInSearch', true), \n\t\t\t\tOp.equalTo('sys.metadata.includeInSearch', true)\n\t\t\t\t),\n\t\t\tOp.exists('sys.metadata.includeInSearch', false)\n\t\t)\n\t];\n}\n\nexport function cswipContentType() {\n\treturn [\n\t\tOp.or(\n\t\t\tOp.and(\n\t\t\t\tOp.equalTo('sys.contentTypeId', 'cswipPageTemplateWebpage'),\n\t\t\t\tOp.equalTo('sys.metadata.includeInSearch', true),\n\t\t\t),\n\t\t\tOp.and(\n\t\t\t\tOp.equalTo('sys.contentTypeId', 'pressReleases'),\n\t\t\t\tOp.contains('whichWebsiteToDisplayOn', 'CSWIP')\n\t\t\t),\n\t\t\tOp.equalTo('sys.contentTypeId', 'cswipSchemes'),\n\t\t\tOp.and(\n\t\t\t\tOp.or(\n\t\t\t\t\tOp.equalTo('sys.contentTypeId', 'pdf'),\n\t\t\t\t\tOp.equalTo('sys.contentTypeId', 'word'),\n\t\t\t\t\tOp.equalTo('sys.contentTypeId', 'excel')\n\t\t\t\t),\n\t\t\t\tOp.contains('sys.uri', '/microsites/cswip/')\n\t\t\t)\n\t\t\t)\n\t];\n}\n\nexport function twiinContentType() {\n\treturn [\n\t\tOp.or(\n\t\t\tOp.and(\n\t\t\t\tOp.equalTo('sys.contentTypeId', 'twiInnovationNetworkPageTemplateWebpage'),\n\t\t\t\tOp.equalTo('sys.metadata.includeInSearch', true),\n\t\t\t),\n\t\t\tOp.and(\n\t\t\t\tOp.equalTo('sys.contentTypeId', 'pressReleases'),\n\t\t\t\tOp.contains('whichWebsiteToDisplayOn', 'TWIInnovationNetwork')\n\t\t\t),\n\t\t\tOp.and(\n\t\t\t\tOp.or(\n\t\t\t\t\tOp.equalTo('sys.contentTypeId', 'pdf'),\n\t\t\t\t\tOp.equalTo('sys.contentTypeId', 'word'),\n\t\t\t\t\tOp.equalTo('sys.contentTypeId', 'excel')\n\t\t\t\t),\n\t\t\t\tOp.contains('sys.uri', '/innovation-network/')\n\t\t\t)\n\t\t\t)\n\t];\n}\n\nexport function genericSearchContentType(settings) {\n\treturn [\n\t\tOp.or(\n\t\t\tOp.and(\n\t\t\t\tOp.or(\n\t\t\t\t\tOp.equalTo('sys.dataFormat', 'webpage'),\n\t\t\t\t\tOp.equalTo('sys.contentTypeId', 'pdf')\n\t\t\t\t),\n\t\t\t\tOp.startsWith('sys.uri', settings.baseUri),\n\t\t\t\tOp.equalTo('sys.metadata.includeInSearch', 'true'),\n\t\t\t),\n\t\t\tOp.and(\n\t\t\t\tOp.equalTo('sys.contentTypeId', 'pressReleases'),\n\t\t\t\tOp.contains('whichWebsiteToDisplayOn', settings.microsite)\n\t\t\t),\n\t\t\tOp.and(\n\t\t\t\tOp.equalTo('sys.contentTypeId', 'events'),\n\t\t\t\tOp.contains('whichWebsiteToDisplayOn', settings.microsite)\n\t\t\t),\n\t\t\tOp.and(\n\t\t\t\tOp.equalTo('sys.contentTypeId', 'insights'),\n\t\t\t\tOp.contains('whichWebsiteToDisplayOn', settings.microsite)\t\n\t\t\t),\n\n\t\t)\n\n\t];\n}\n\n\nexport function contentType(contentTypeId) {\n\tif(contentTypeId){\n\t\tif(contentTypeId === 'search'){\n\t\t\t//console.log(\"SEARCH - 21\");\n\t\t\treturn [\n\t\t\t\tOp.or(\n\t\t\t\t\tOp.equalTo('sys.dataFormat', 'webpage').weight(5000),\n\t\t\t\t\tOp.equalTo('sys.contentTypeId', 'pressReleases').weight(5000),\n\t\t\t\t\tOp.equalTo('sys.contentTypeId', 'publishedPapers').weight(5000),\n\t\t\t\t\tOp.equalTo('sys.contentTypeId', 'events').weight(5000),\n\t\t\t\t\tOp.equalTo('sys.contentTypeId', 'insights').weight(5000),\n\t\t\t\t\t// Op.equalTo('sys.contentTypeId', 'staffProfiles').weight(5000),\n\t\t\t\t\tOp.equalTo('sys.contentTypeId', 'pdf').weight(5000),\n\t\t\t\t\tOp.equalTo('sys.contentTypeId', 'word').weight(5000),\n\t\t\t\t\tOp.equalTo('sys.contentTypeId', 'excel').weight(5000),\n\t\t\t\t\t//TWI Research, TWI Knowledge, Non-TWI research, Non-TWI knowledge\n\t\t\t\t\tOp.in('sys.metadata.contentCategory', ...['0/403/440','0/403/439','0/403/409','0/403/408']),\n\t\t\t\t\tOp.and(\n\t\t\t\t\t\tOp.equalTo('sys.contentTypeId', 'weldasearch').weight(500),\n\t\t\t\t\t\tOp.in('contentType', ...['0/403/440','0/403/439','0/403/409','0/403/408'])\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t];\n\t\t}\n\n\t\telse if(contentTypeId === 'pressReleases'){\n\t\t\treturn [\n\t\t\t\tOp.or(\n\t\t\t\t\tOp.and(\n\t\t\t\t\t\tOp.equalTo('sys.dataFormat', 'webpage').weight(5000),\n\t\t\t\t\t\tOp.in('sys.metadata.categories', '0/56/64')\n\t\t\t\t\t),\n\t\t\t\tOp.equalTo('sys.contentTypeId', 'pressReleases').weight(5000),\n\t\t\t\t)\n\t\t\t];\n\t\t}\n\t\telse if(contentTypeId === 'events'){\n\t\t\treturn [\n\t\t\t\t// Op.and(\n\t\t\t\t\tOp.equalTo('sys.contentTypeId', 'events').weight(5000),\n\t\t\t\t\t// Op.in('eventType', ...['0/44/45/47/50','0/44/45/47/48','0/44/45/47/49'])\n\t\t\t\t// )\n\t\t\t];\n\t\t}\n\t\telse if(contentTypeId === 'publishedPapers'){\n\t\t\treturn [\n\t\t\t\t\tOp.or(\n\t\t\t\t\t\tOp.equalTo('sys.contentTypeId', 'publishedPapers'),\n\t\t\t\t\t\tOp.startsWith('sys.uri', '/technical-knowledge/published-papers/')\n\t\t\t\t\t\t)\t\t\t\t\t\n\t\t\t];\n\t\t}\n\t\t// else if(contentTypeId === 'faqs'){\n\t\t// \treturn [\n\n\t\t// \t\t\tOp.or(\n\t\t// \t\t\t\tOp.and(\n\t\t// \t\t\t\t\tsearchCurrentDir(),\n\t\t// \t\t\t\t\texcludeHomePage()\n\t\t// \t\t\t\t\t),\n\n\t\t// \t\t\t\tOp.and(\n\t\t// \t\t\t\t\tOp.in('sys.contentTypeId', 'faqs'),\n\t\t// \t\t\t\t\tOp.contains('whichWebsiteToDisplayOn.list', 'TWIMiddleEast')\n\t\t// \t\t\t\t\t)\n\t\t// \t\t\t\t),\n\n\t\t\t\t\t\t\t\t\t\t\n\t\t// \t];\n\t\t// }\n\n\n\t\telse if(Array.isArray(contentTypeId)){\n\t\t\treturn [\n\t\t\t\tOp.in('sys.contentTypeId', ...contentTypeId)\n\t\t\t];\n\t\t}else{\n\t\t\treturn [\n\t\t\t\tOp.equalTo('sys.contentTypeId', contentTypeId)\n\t\t\t];\n\t\t}\n\t}\n\treturn [];\n}\n\nexport function searchTerm(term) {\n\tif (term) {\n\t\treturn [Op.freeText('title', term)];\n\t}\n\treturn [];\n}\n\nexport function weightedSearchTerm(term, weightedFields) {\n\tif (term) {\n\t\treturn [Op.or().addRange(\t\t\t\n\t\t\tObject.keys(weightedFields).map((index) => (Op.freeText(weightedFields[index].fieldName, term, true, \"and\").weight(weightedFields[index].weight)))\n\t\t)];\t\t\n\t}\n\treturn [];\n}\n\nexport function containsSearch(term, weightedFields) {\n\tif (term) {\n\t\treturn [Op.or().addRange(\t\t\t\n\t\t\tObject.keys(weightedFields).map((index) => (Op.contains(weightedFields[index].fieldName, term).weight(weightedFields[index].weight)))\n\t\t)];\t\t\n\t}\n\treturn [];\n}\n\n\n\nexport function authorSearch(search){\n\tif(search.searchType && search.author && search.searchType == 'technical'){\n\t\treturn [\n\t\t\tOp.or(\n\t\t\t\tOp.freeText('author', search.author).weight(1000),\n\t\t\t\tOp.freeText('sys.metadata.author', search.author).weight(1000),\n\t\t\t\tOp.contains('author', search.author).weight(1000),\n\t\t\t\tOp.contains('sys.metadata.author', search.author).weight(1000)\n\t\t\t)\n\t\t];\n\t}\n\treturn [];\n}\n\nexport function searchAll() {\n var ret =\n [\n Op.or(\n Op.equalTo('sys.dataFormat', 'webpage'),\n Op.equalTo('sys.contentTypeId', 'weldasearch'),\n Op.equalTo('sys.contentTypeId', 'pressReleases'),\n\t\t\t\tOp.equalTo('sys.contentTypeId', 'publishedPapers'),\n\t\t\t\tOp.equalTo('sys.contentTypeId', 'publicFundedProjects'),\n\t\t\t\tOp.equalTo('sys.contentTypeId', 'ourStories'),\n Op.equalTo('sys.contentTypeId', 'events'),\n Op.equalTo('sys.contentTypeId', 'insights'),\n Op.equalTo('sys.contentTypeId', 'pdf'),\n Op.equalTo('sys.contentTypeId', 'word'),\n Op.equalTo('sys.contentTypeId', 'excel'),\n //TWI Research, TWI Knowledge, Non-TWI research, Non-TWI knowledge\n\t\t\t\tOp.in('sys.metadata.contentCategory', ('0/403/440', '0/403/439', '0/403/409', '0/403/408')),\n\t\t\t)\n ];\n\treturn ret;\n}\n\nexport function searchWeldasearch(search)\n{\n if (!search.weldasearch || search.weldasearch == \"false\") {\n return [Op.not(Op.equalTo('sys.contentTypeId', 'weldasearch'))];\n }\n return [];\n}\nexport function searchTabTypes(search) {\n if (search.searchType) {\n if (search.searchType === 'search') {\n\t\t\t//console.log(\"SEARCH - 114\");\n return [\n Op.or(\n\t\t\t\t\t\tOp.equalTo('sys.dataFormat', 'webpage').weight(5000),\n\t\t\t\t\t\tOp.equalTo('sys.contentTypeId', 'pressReleases').weight(5000),\n\t\t\t\t\t\tOp.equalTo('sys.contentTypeId', 'publishedPapers').weight(5000),\n\t\t\t\t\t\tOp.equalTo('sys.contentTypeId', 'events').weight(5000),\n\t\t\t\t\t\tOp.equalTo('sys.contentTypeId', 'insights').weight(5000),\n\t\t\t\t\t\t// Op.equalTo('sys.contentTypeId', 'staffProfiles').weight(5000),\n\t\t\t\t\t\tOp.equalTo('sys.contentTypeId', 'pdf').weight(5000),\n\t\t\t\t\t\tOp.equalTo('sys.contentTypeId', 'word').weight(4000),\n\t\t\t\t\t\tOp.equalTo('sys.contentTypeId', 'excel').weight(1000),\n\t\t\t\t\t\t//TWI Research, TWI Knowledge, Non-TWI research, Non-TWI knowledge\n\t\t\t\t\t\tOp.in('sys.metadata.contentCategory', ...['0/403/440','0/403/439','0/403/409','0/403/408']),\n\t\t\t\t\t\tOp.and(\n\t\t\t\t\t\t\tOp.equalTo('sys.contentTypeId', 'weldasearch').weight(500),\n\t\t\t\t\t\t\tOp.in('contentType', ...['0/403/440', '0/403/439', '0/403/409', '0/403/408'])\n\t\t\t\t\t\t)\n )\n ];\n }\n else if (search.searchType === 'media') {\n if (search.contentType) {\n return [Op.or().addRange([...MediaQueryBuilder(search.contentType)])];\n }\n else {\n return [\n Op.or(\n Op.equalTo('sys.contentTypeId', 'pressReleases'),\n Op.equalTo('sys.contentTypeId', 'events'),\n Op.equalTo('sys.contentTypeId', 'insights'),\n Op.equalTo('sys.contentTypeId', 'ourStories'),\n Op.equalTo('sys.contentTypeId', 'image'),\n Op.startsWith('sys.uri', '/media-and-events/')\n )\n ];\n }\n }\n else if (search.searchType === 'technical') {\n if (search.contentCategory) {\n //console.log(\"SEARCH - 154\");\n return [\n Op.or(\n Op.and(\n Op.equalTo('sys.contentTypeId', 'weldasearch').weight(500),\n Op.in('contentType', ...search.contentCategory.split(','))\n ),\n Op.in('sys.metadata.contentCategory', ...search.contentCategory.split(','))\n )\n ];\n }\n else {\n //console.log(\"SEARCH - 166\");\n return [\n Op.or(\n Op.and(\n Op.equalTo('sys.contentTypeId', 'weldasearch').weight(500),\n Op.in('contentType', ...['0/403/440', '0/403/439', '0/403/409', '0/403/408'])\n ),\n Op.or(\n Op.equalTo('sys.contentTypeId', 'pdf'),\n Op.equalTo('sys.contentTypeId', 'word'),\n Op.equalTo('sys.contentTypeId', 'excel'),\n //TWI Research, TWI Knowledge, Non-TWI research, Non-TWI knowledge\n Op.in('sys.metadata.contentCategory', ...['0/403/440', '0/403/439', '0/403/409', '0/403/408']),\n )\n )\n ];\n }\n }\n }\n\t//console.log(\"SEARCH - 183\");\n\treturn [\n Op.or(\n Op.equalTo('sys.dataFormat', 'webpage').weight(5000),\n Op.equalTo('sys.contentTypeId', 'weldasearch').weight(500),\n Op.equalTo('sys.contentTypeId', 'pressReleases').weight(5000),\n Op.equalTo('sys.contentTypeId', 'publishedPapers').weight(5000),\n Op.equalTo('sys.contentTypeId', 'events').weight(5000),\n Op.equalTo('sys.contentTypeId', 'insights').weight(5000),\n\t\t// Op.equalTo('sys.contentTypeId', 'staffProfiles').weight(5000),\n Op.equalTo('sys.contentTypeId', 'pdf').weight(5000),\n Op.equalTo('sys.contentTypeId', 'word').weight(5000),\n Op.equalTo('sys.contentTypeId', 'excel').weight(5000),\n //TWI Research, TWI Knowledge, Non-TWI research, Non-TWI knowledge\n Op.in('sys.metadata.contentCategory', ('0/403/440', '0/403/439', '0/403/409', '0/403/408')).weight(5000)\n )\n\t];\n }\n\n\nexport function filterUserGroupContent(settings) {\n\tif(settings.isAuth && settings.groups){\n\t\tif (settings.groups.includes(\"@Industrial Member\")) {\n\t\t\treturn[\n\t\t\t\tOp.or(\n\t\t\t\t\tOp.and(\n\t\t\t\t\t\tOp.equalTo(\"sys.metadata.permission\", \"OPEN\"),\n\t\t\t\t\t\tOp.not(Op.equalTo(\"sys.metadata.linkedTo\", \"IM\")),\n\t\t\t\t\t\tOp.not(Op.equalTo(\"sys.metadata.linkedTo\", \"0/441/442\")),\n\t\t\t\t\t\tOp.not(Op.equalTo(\"sys.metadata.linkedTo\", \"BOTH\")),\n\t\t\t\t\t\tOp.not(Op.equalTo(\"sys.metadata.linkedTo\", \"0/441/444\"))\n\t\t\t\t\t),\n\t\t\t\t\tOp.and(\n\t\t\t\t\tOp.equalTo(\"sys.metadata.permission\", \"PRO\"),\n\t\t\t\t\t\tOp.not(Op.equalTo(\"sys.metadata.linkedTo\", \"IM\")),\n\t\t\t\t\t\tOp.not(Op.equalTo(\"sys.metadata.linkedTo\", \"0/441/442\")),\n\t\t\t\t\t\tOp.not(Op.equalTo(\"sys.metadata.linkedTo\", \"BOTH\")),\n\t\t\t\t\t\tOp.not(Op.equalTo(\"sys.metadata.linkedTo\", \"0/441/444\"))\n\t\t\t\t\t),\n\t\t\t\t\tOp.equalTo(\"sys.metadata.permission\", \"IM\"),\n\t\t\t\t\tOp.exists(\"sys.metadata.permission\", false),\n\t\t\t\t)\n\t\t\t\t];\n\t\t\t} else if (settings.groups.includes(\"@Professional Member\")) {\n\t\t\treturn[\n\t\t\t\tOp.or(\n\t\t\t\t\tOp.and(\n\t\t\t\t\t\tOp.equalTo(\"sys.metadata.permission\", \"OPEN\"),\n\t\t\t\t\t\tOp.not(Op.equalTo(\"sys.metadata.linkedTo\", \"IM\")),\n\t\t\t\t\t\tOp.not(Op.equalTo(\"sys.metadata.linkedTo\", \"0/441/442\")),\n\t\t\t\t\t\tOp.not(Op.equalTo(\"sys.metadata.linkedTo\", \"BOTH\")),\n\t\t\t\t\t\tOp.not(Op.equalTo(\"sys.metadata.linkedTo\", \"0/441/444\"))\n\t\t\t\t\t),\n\t\t\t\t\tOp.equalTo(\"sys.metadata.permission\", \"PRO\"),\n\t\t\t\t\tOp.exists(\"sys.metadata.permission\", false),\n\t\t\t\t)\n\t\t\t\t];\n\t\t} else {\n\t\t\treturn [Op.or(\n\t\t\t\tOp.equalTo(\"sys.metadata.permission\", \"OPEN\"),\n\t\t\t\tOp.exists(\"sys.metadata.permission\", false)\n\t\t\t)];\n\t\t}\n\t}\n\telse{\n\t\treturn [Op.or(\n\t\t\tOp.equalTo(\"sys.metadata.permission\", \"OPEN\"),\n\t\t\tOp.exists(\"sys.metadata.permission\", false)\n\t\t)];\n\t}\n}\nexport function listSearchType(search, listFilters) {\n\tif (listFilters) {\n\t\tlet filterQueries = Object.keys(search)\n\t\t.filter(key => listFilters.indexOf(key) > -1 && search[key])\n\t\t.map(function(key, index) { \n\t\t\tlet query = Op.in(key); \n\t\t\tquery.values = search[key].split(',').map(id => id);\n\t\t\tif(search[key].toLowerCase() === 'all'){\n\t\t\t\treturn [];\n\t\t\t} \n\t\t\treturn Op.or(Op.exists(key, false), query);\n\t\t});\n\t\treturn filterQueries;\n\t}\n}\n\nexport function taxonomyfilters(search, taxonomyFilters) {\n\tif (taxonomyFilters) {\n\t\tlet filterQueries = Object.keys(search)\n\t\t.filter(key => taxonomyFilters.indexOf(key) > -1 && search[key])\n\t\t.map(function(key, index) { \n\t\t\tlet query = Op.in(key); \n\t\t\tquery.values = search[key].split(',').map(id => id);\n\t\t\treturn query;\n\t\t});\n\t\treturn filterQueries;\n\t}\n}\nexport function filters(search, filters, filterType, categoryPickerTaxonomy) {\n\tif (filters) {\n\t\tlet filterQueries = Object.keys(search)\n\t\t.filter(key => filters.indexOf(key) > -1 && search[key])\n\t\t.map(function(key, index) { \n\t\t\tlet query = Op.in(key); \n\t\t\tquery.values = search[key].split(',').map(id => id); \n\t\t\treturn query;\n\t\t});\n\t\treturn filterQueries;\n\t}\n}\n\nexport function checkboxFilters(search, checkboxFilters) {\n\tif (checkboxFilters) {\n\t\tlet filterQueries = Object.keys(search)\n\t\t.filter(key => checkboxFilters.indexOf(key) > -1 && search[key])\n\t\t.map(key => Op.equalTo(key, true));\n\t\treturn filterQueries;\n\t}\n\treturn [];\n}\n\nexport function textFilters(search, textFilters) {\n\tif (textFilters) {\n\t\tlet tf = textFilters.map(x => x.Name);\n\t\tlet fq = Object.keys(search).filter(key => tf.indexOf(key) > -1 && search[key])\n\t\t.map(key => Op.equalTo(key, search[key]));\n\t\treturn fq;\n\t}\n\treturn [];\n}\n\nexport function newsDateFilters(year, month) {\n\tif (year) {\n\t\tlet startDate, endDate;\t\t\t\n\t\tif (month) {\n\t\t\tstartDate = new Date(year, month - 1);\n\t\t\tendDate = new Date(year, month);\n\t\t}\n\t\telse {\n\t\t\tstartDate = new Date(year, 0);\n\t\t\tendDate = new Date(year, 11, 31);\n\t\t}\n\t\treturn [Op.between('publishDate', startDate, endDate)];\t\t\n\t}\n\treturn [];\n}\n\nexport function standardDateFilters(year, month) {\n\tif (year) {\n\t\tlet startDate, endDate;\t\t\t\n\t\tif (month) {\n\t\t\tstartDate = new Date(year, month - 1);\n\t\t\tendDate = new Date(year, month);\n\t\t}\n\t\telse {\n\t\t\tstartDate = new Date(year, 0);\n\t\t\tendDate = new Date(year, 11, 31);\n\t\t}\n\t\treturn [Op.between('sys.version.published', startDate, endDate)];\t\t\n\t}\n\treturn [];\n}\n\nexport function publishDateFilters(year, month) {\n\tif (year) {\n\t\tlet startDate, endDate;\t\t\t\n\t\tif (month) {\n\t\t\tstartDate = new Date(year, month - 1);\n\t\t\tendDate = new Date(year, month);\n\t\t}\n\t\telse {\n\t\t\tstartDate = new Date(year, 0);\n\t\t\tendDate = new Date(year, 11, 31);\n\t\t}\n\t\treturn [Op.between('publishDate', startDate, endDate)];\t\t\n\t}\n\treturn [];\n}\n\nexport function pageName(pageName) {\n\treturn [Op.equalTo('pageName', pageName)];\n}\n\nexport function section(section) {\t\n\treturn [Op.equalTo('section', section)];\n}\n\n\nexport function dateRangeFilter(from, to)\n{\t\n\tif (from && to) {\n\t\treturn [Op.or(Op.lessThanOrEqualTo('eventDate.from', new Date(from)), Op.greaterThanOrEqualTo('eventDate.to', new Date(to)),\n\t\t\t\t\tOp.lessThanOrEqualTo('eventDate.from', new Date(to)), Op.greaterThanOrEqualTo('eventDate.from', new Date(from)))];\n\t}\n\telse if (from) {\t\t\n\t\treturn [Op.or(Op.lessThanOrEqualTo('eventDate.from', new Date(from)), Op.greaterThanOrEqualTo('eventDate.to', new Date(from)))];\t\t\n\t}\n\telse if (to) {\n\t\treturn [Op.lessThanOrEqualTo('eventDate.from', new Date(to)), Op.greaterThanOrEqualTo('eventDate.to', new Date(to))];\n\t}\n\tlet currentDate = new Date();\n\tlet startOfDay = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate());\n\treturn [Op.or(\n\t\t\t\tOp.and(\n\t\t\t\t\tOp.lessThanOrEqualTo('eventDate.from', startOfDay), \n\t\t\t\t\tOp.greaterThanOrEqualTo('eventDate.to', startOfDay)\n\t\t\t\t), \n\t\t\t\tOp.greaterThanOrEqualTo('eventDate.from', startOfDay)\n\t\t\t)];\n}\n\nexport function isPublished() {\n\tlet currentDate = new Date();\n\treturn [Op.lessThanOrEqualTo('publishDate', new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate(), 23, 59, 59, 59))];\n}\n\nexport function orderBy(name, direction, orderQuery) {\n\tswitch (direction) {\n\t\tcase 'asc':\n\t\t\treturn orderQuery ? orderQuery.asc(name) : OrderBy.asc(name);\n\t\tdefault:\n\t\t\treturn orderQuery ? orderQuery.desc(name) : OrderBy.desc(name);\n\t}\n}\n\nexport function sortOrder(search){\n\tif (search.sort){\n\t\tswitch (search.sort){\n\t\t\tcase 'date':\n\t\t\t\treturn OrderBy.desc('publishDate').desc('pageDate').desc('sys.metadata.pageDate').desc('sys.version.published');\n\t\t\tcase 'dateAsc':\n\t\t\t\treturn OrderBy.asc('publishDate').asc('pageDate').asc('sys.metadata.pageDate').asc('sys.version.published');\n\t\t\tcase 'dateAnnounce':\n\t\t\t\treturn OrderBy.desc('dateAnnounced');\n\t\t\tcase 'dateAnnounceAsc':\n\t\t\t\treturn OrderBy.asc('dateAnnounced');\n\t\t\tcase 'sortNameDesc':\n\t\t\t\treturn OrderBy.desc('sortCol');\n\t\t\tcase 'sortNameAsc':\n\t\t\t\treturn OrderBy.asc('sortCol');\n\t\t\tdefault:\n\t\t\treturn [];\n\t\t}\n\t}\n\treturn [];\n}\n\nexport function range(value, minKey, maxKey) {\n\tif (value) {\n\t\treturn([Op.lessThanOrEqualTo(minKey, value), Op.greaterThanOrEqualTo(maxKey, value)]);\n\t}\n\treturn [];\n}\n\nexport function startWith(value) {\n\tif (value) {\n\t\tif (value == '0-9') {\n\t\t\treturn [Op.and().addRange([...aToZLetters()])]; // to do\n\t\t}\n\t\telse {\n\t\t\treturn [Op.startsWith('title', value)];\n\t\t}\t\t\n\t}\n\treturn [];\n}\n\nfunction aToZLetters(){\n\tlet letArr = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];\n\treturn letArr.map(letter => Op.not(Op.startsWith('title', letter)));\n}\nexport function rangeSingle(key, value) {\n\tif (value) {\n\t\treturn([Op.lessThanOrEqualTo(key, value)]);\n\t}\n\treturn [];\n}\n\nexport function pathStartsWith(path){\n\treturn [Op.startsWith('sys.uri', path)];\n\t\n}\n\n\nexport function filterBySection(sections) {\n\treturn [Op.or().addRange([...filterSectionByPage(sections), ...filterSectionByContentType(sections)])];\n}\n\nfunction filterSectionByPage(sections) {\n\tif (sections) {\t\t\n\t\treturn sections.split(',').map(section => Op.startsWith('sys.uri', section));\n\t}\n\treturn [];\n}\n\nfunction filterSectionByContentType(sections) {\n\tif (sections) {\n\t\treturn sections.split(',').filter(section => SectionToContentTypeMap[section])\n\t\t.map(section => Op.equalTo('sys.contentTypeId', SectionToContentTypeMap[section]));\n\t}\n\treturn [];\n}\n\nfunction MediaQueryBuilder(contentTypes){\n\treturn contentTypes.split(',').map(\n\t\t(c) => {\n\t\t\tswitch(c){\n\t\t\t\tcase 'Images':\n\t\t\t\treturn Op.equalTo('sys.dataFormat', 'image');\n\t\t\t\tcase 'Videos':\n\t\t\t\treturn Op.equalTo('sys.datFormat', 'video');\n\t\t\t\tdefault:\n\t\t\t\treturn Op.equalTo('sys.contentTypeId', c.charAt(0).toLowerCase() + c.substr(1).replace(/\\s/g,''));\n\t\t\t}\n\t\t\t}\n\t\t);\n}\n\n/* sw */\n\nexport function pageDateFilter(year, month)\n{\n\t\tif (year) {\n\t\tlet startDate, endDate;\t\t\t\n\t\tif (month) {\n\t\t\tstartDate = new Date(year, month - 1);\n\t\t\tendDate = new Date(year, month);\n\t\t}\n\t\telse {\n\t\t\tstartDate = new Date(year, 0);\n\t\t\tendDate = new Date(year, 11, 31);\n\t\t}\n\t\treturn [\n\t\t\tOp.or(\n\t\t\t\tOp.between('sys.metadata.pageDate', startDate, endDate),\n\t\t\t\tOp.between('pageDate', startDate, endDate)\n\t\t\t)\n\t\t\t\n\t\t];\t\t\n\t}\n\treturn [];\n\n}\n\nexport function pageDateYearFilter(year)\n{\n\t\tif (year) {\n\t\t\treturn [\n\t\t\t\tOp.between('sys.metadata.pageDate', year, year)\n\t\t\t\t];\n\t\t}\n\t\treturn [];\n}\n\nexport function dateAnnouncedFilter(year, month)\n{\n\t\tif (year) {\n\t\tlet startDate, endDate;\t\t\t\n\t\tif (month) {\n\t\t\tstartDate = new Date(year, month - 1);\n\t\t\tendDate = new Date(year, month);\n\t\t}\n\t\telse {\n\t\t\tstartDate = new Date(year, 0);\n\t\t\tendDate = new Date(year, 11, 31);\n\t\t}\n\t\treturn [\n\t\t\tOp.between('dateAnnounced', startDate, endDate)\n\t\t];\t\t\n\t}\n\treturn [];\n\n}\n\nexport function projectStatus(status) {\n\tif (status != null)\n\t{\n\t\treturn [\n\t\t\tOp.equalTo('status', status)\n\n\t\t];\n\n\t\t\n\t} else {\n\t\treturn [];\n\t}\n\n\n}\n\nexport function excludeHomePage() {\n\treturn [\n\t\tOp.not(\n\t\t\tOp.endsWith('sys.uri', 'home.aspx')\n\t\t\t)\n\t];\n\n\n}\n\nexport function hideFromListingPage() {\n\treturn [\n\t\tOp.not(\n\t\t\tOp.equalTo('sys.metadata.hideFromListingPage', 'true')\n\t\t\t)\n\t\t];\n}\n\n\n\n\nexport function orPathEndsWith(path){\n\treturn [\n\t\tOp.or(\n\t\t\tOp.endsWith('sys.uri', path),\n\t\t\tOp.equalTo('contentTypeId', 'publishedPapers')\n\t\t\t)\n\t\t];\n}\n\n\nexport function getMicrositeNews(siteName) {\n\treturn [\n\t\tOp.and(\n\t\t\tOp.equalTo('sys.contentTypeId', 'pressReleases'),\n\t\t\tOp.contains('whichWebsiteToDisplayOn', siteName),\n\t\t\t)\n\t];\n}\n\nexport function getGenericInsights(siteName) {\n\treturn [\n\t\tOp.and(\n\t\t\tOp.equalTo('sys.contentTypeId', 'Insights'),\n\t\t\tOp.contains('whichWebsiteToDisplayOn', siteName),\n\t\t\t)\n\t];\n}\n\n//Events switch\nexport function showEventOnCorporate(microSiteName) {\n\tif (microSiteName != null && microSiteName != '') {\n\t\treturn [\n\t\t\tOp.and(\n\t\t\t\tOp.equalTo('sys.contentTypeId', 'events'),\n\t\t\t\tOp.contains('whichWebsiteToDisplayOn', microSiteName),\n\t\t\t\t)\n\t\t];\n\n\t} else\n\treturn [\n\t\t\tOp.equalTo('boolean', 'true')\n\t\t];\n\n\n\t// if (microSiteName == null && microSiteName == '')\n\t// {\n\t// \treturn [\n\t// \t\tOp.equalTo('boolean', 'true')\n\t\n\t// \t];\n\t// }\n\n}\n\nexport function getMicrositeEvents(microSiteName) {\n\tif (microSiteName != null && microSiteName != '') {\n\t\treturn [\n\t\t\tOp.and(\n\t\t\t\tOp.equalTo('sys.contentTypeId', 'events'),\n\t\t\t\tOp.contains('whichWebsiteToDisplayOn', microSiteName),\n\t\t\t\t)\n\t\t];\n\n\t} else\n\n\treturn [];\n\n}\n\nexport function getPrivateEvents(companyName) {\n\tif (companyName != null && companyName != '') {\n\t\treturn [\n\t\t\tOp.or(\n\t\t\t\tOp.exists('privateEvent', 'false'),\n\t\t\t\tOp.contains('privateEvent', companyName),\n\t\t\t\t)\n\t\t];\n\n\t} else {\n\t\treturn [\n\t\t\tOp.exists('privateEvent', 'false')\n\t\t];\n\t}\n\n}\n\nexport function getShowcase(showcaseCollection) {\n\treturn [\n\t\tOp.and(\n\t\t\tOp.equalTo('sys.contentTypeId', 'showcase'),\n\t\t\tOp.contains('collection', showcaseCollection),\n\t\t\t)\n\t];\n}\n\nexport function getMicrositeInsights(siteName) {\n\treturn [\n\t\tOp.and(\n\t\t\tOp.equalTo('sys.contentTypeId', 'insights'),\n\t\t\tOp.contains('whichWebsiteToDisplayOn', siteName),\n\t\t\t)\n\t];\n}\n\n\n//Press Releases switch\nexport function hideFromCorporate() {\n\treturn [\n\t\tOp.or(\n\t\t\tOp.equalTo('hideFromCorporate', \"false\"),\n\t\t\tOp.exists('hideFromCorporate', \"false\")\n\n\t\t)\n\n\t];\n}\n\n\n\n\n\n\n\nexport function notNSIRCVacancies() {\n\treturn [\n\t\tOp.not(\n\t\t\tOp.contains('reference', \"NSIRC\")\n\t\t)\n\n\t];\n}\n\n\nexport function NSIRCVacancies() {\n\treturn [\n\t\tOp.contains('reference', \"NSIRC\")\n\t];\n}\n\n\nexport function ourPeopleFilter() {\n\treturn [\n\t\tOp.contains('collection', \"Our People\")\n\t];\n}\n\n\nexport function nsircSearch(){\n\treturn [\n\t\tOp.or(\n\t\t\tOp.and(\n\t\t\t\tOp.equalTo('sys.contentTypeId', 'nsircPageTemplateWebpage'),\n\t\t\t\tOp.equalTo('sys.metadata.includeInSearch', true),\n\t\t\t),\n\t\t\tOp.and(\n\t\t\t\tOp.equalTo('sys.contentTypeId', 'pressReleases'),\n\t\t\t\tOp.in('whichWebsiteToDisplayOn', ...[\"NSIRC_insights\",\"NSIRC_students\", \"NSIRC_dissertations\", \"NSIRC_theses\", \"NSIRC_publications\", \"NSIRC_news\"]))\n\n\t\t),\n\n\t\t\n\t];\n\n}\n\nexport function cswipSearch(){\n\treturn [\n\t\tOp.or(\n\t\t\tOp.and(\n\t\t\t\tOp.equalTo('sys.contentTypeId', 'cswipPageTemplateWebpage'),\n\t\t\t\tOp.equalTo('sys.metadata.includeInSearch', true),\n\t\t\t),\n\t\t\tOp.and(\n\t\t\t\tOp.equalTo('sys.contentTypeId', 'pressReleases'),\n\t\t\t\tOp.contains('whichWebsiteToDisplayOn', 'CSWIP'))\n\n\t\t),\n\n\t\t\n\t];\n\n}\n\nexport function FAQQuery(searchTerm, siteName)\n{\n\t\t//tests\n\t\t//var path = \"/technical-knowledge/faqs#/\";\n\t\t//var path = \t\"/technical-knowledge/faqs/home.aspx#/\";\n\t\t//var path = \t\"/locations/south-east-asia/faqs/home.aspx#/\";\n\n\t\tvar path = window.location.pathname;\n\n\t\tif (path.includes(\"FAQListerPageHTMLFile.html\") && siteName == '')\n\t\t{\n\t\t\tpath = \"/technical-knowledge/faqs#/\";\n\t\t}\n\n\t\tpath = path.replace(\"/home.aspx\", \"\");\n\n\t\tpath = path.includes(\".aspx\") ? path = path.substring(0, path.lastIndexOf(\".aspx\")) : path;\n\n\t\tpath = path.endsWith('#/') ? path = path.replace(\"#/\", \"\") : path;\n\n\t\tif (siteName != '')\n\t\t{\n\t\t\treturn [\n\n\t\t\t\tOp.and(\t\t\t\t\n\t\t\t\t\tOp.equalTo('sys.contentTypeId', 'faqs'),\n\t\t\t\t\tOp.contains('whichWebsiteToDisplayOn.list', siteName)\n\t\t\t\t\t)\t\t\t\t\n\t\t];\n\t\t}\n\n\t\treturn [\n\n\t\t\tOp.or(\n\t\t\t\tOp.and(\n\t\t\t\t\tOp.startsWith('sys.uri', path),\n\t\t\t\t\tOp.equalTo('sys.dataFormat', 'webpage'),\n\t\t\t\t\tOp.not(\n\t\t\t\t\t\tOp.equalTo('sys.properties.filename', 'home.aspx'),\n\t\t\t\t\t\tOp.equalTo('sys.properties.filename', 'faqs.aspx')\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t];\n\n\n\n\n\n}\n\n\n\nexport function certificationFilter(type, sitename, certificationFilter) {\n\tif (type == null && sitename != null && certificationFilter == 'showSearch' ) {\n\t\treturn [\n\t\t\tOp.contains('whichWebsiteToDisplayOn.list', sitename)\n\t\t];\n\t}\n\n\n\tif (type != null && sitename != null && certificationFilter == 'showSearch')\t\n\t{\n\t\treturn [\n\n\t\t\tOp.and(\t\t\t\t\n\t\t\t\tOp.contains('certificationType.name', type),\n\t\t\t\tOp.contains('whichWebsiteToDisplayOn.list', sitename)\n\t\t\t\t)\t\n\t\t];\n\n\t}\n\t\n\tif (sitename != null && certificationFilter != 'showSearch')\n\t{\n\t\treturn [\n\n\t\t\tOp.and(\t\t\t\t\n\t\t\t\tOp.contains('whichWebsiteToDisplayOn.list', sitename),\n\t\t\t\tOp.contains('certificationType.name', certificationFilter)\n\t\t\t\t)\t\n\t\t];\n\t}\n\n\t\n\treturn [];\n}\n\n\nexport function certifiedCompanyFilter(Type) {\n\n\tif (Type != null)\t\n\t{\n\t\treturn [\n\t\t\tOp.contains('companyCertificate.list', Type),\n\n\t\t];\n\n\t}\t\n\t\n\treturn [];\n}\n\n\nexport function twiJobsFilters(_search) {\n\tif (_search != null)\n\t{\n\t\tvar { jobType, workingHours, companyName, distance, lon, lat } = _search;\n\t\tconst today = new Date();\n\t\tconst future = new Date();\n\t\tfuture.setFullYear(future.getFullYear() + 100);\n\n\t\t// console.log(\"distance: \" + distance);\n\t\t// console.log(\"lat: \" + lat);\n\t\t// console.log(\"lon: \" + lon);\n\n\t\tif (distance == undefined) {\n\t\t\tdistance = 1;\n\n\t\t}\n\n\n\t\tconst filters = [\n\t\t\tOp.equalTo('jobType', jobType || []),\n\t\t\tOp.equalTo('workingHours', workingHours || []),\n\t\t\tOp.equalTo('companyName1.entryTitle', companyName || []),\n\t\t\tOp.between('closingDate', today, future),\n\t\t];\n\n\t\tif (lat && lon) {\n\t\t\tfilters.push(\n\t\t\t\tOp.distanceWithin(\"location\", lat, lon, distance)\n\t\t\t);\n\t\t}\n\n\t\t// console.log(\"filters: \", filters);\n\n\t\treturn filters;\n\t}\n\telse return [];\n}\n\nexport function datePostedFilter(searchDatePosted)\n{\n\tvar today = new Date().toISOString();\n\n\tif (searchDatePosted != \"\" & searchDatePosted !== undefined)\n\t{\n\t\treturn [\n\t\t\tOp.between('datePosted', searchDatePosted, today)\n\t\t]\n\n\t}\n\telse return [];\n\n\n}\n\nexport function excludeFromSearch() {\n\treturn [\n\t\tOp.not(\n\t\t\tOp.startsWith('sys.uri', '/microsites/twi-certification/pdf/company-certificates')\n\t\t\t),\n\t\tOp.not(\n\t\t\tOp.startsWith('sys.uri', '/test-pages/')\n\t\t\t)\n\t];\n}\n\n\nexport function TAPsFilter(_search) {\n\tif (_search != null)\n\t{\n\t\tvar { Topics, Industries } = _search;\n\n\n\t\tvar industriesField = \"multipleChoice\";\n\t\tvar topicsField = \"multipleChoice1\";\n\n\n\t\tconst filters = [\n\t\t\tOp.equalTo(industriesField, Industries || []),\n\t\t\tOp.equalTo(topicsField, Topics || []),\n\t\t];\n\t\treturn filters;\n\t\t}\n\treturn [];\n\n\n}\n\n\nexport function getVideos(siteName) {\n\treturn [\n\t\tOp.and(\n\t\t\tOp.equalTo('sys.contentTypeId', 'videos'),\n\t\t\tOp.contains('whichWebsiteToDisplayOn', siteName),\n\t\t\t)\n\t];\n}\n\n\nexport function getVirtualAcademy() {\n\treturn [\n\t\tOp.and(\n\t\t\tOp.equalTo('sys.contentTypeId', 'VirtualAcademy'),\n\t\t\t)\n\t];\n}\n\n\n\n\n","export * from './filters';\nexport * from './search-entries';\nexport * from './initialise-settings';\nexport * from './toggle';","export class CacheNode {\n\tconstructor(key, value) {\n\t\tthis.key = key;\n\t\tthis.value = value;\n\t\tthis.next = null;\n\t\tthis.prev = null;\n\t}\n}\n\nexport class LruCache {\n\n\tconstructor(limit = 100) {\n\t\tthis.map = {};\n\t\tthis.head = null;\n\t\tthis.tail = null;\n\t\tthis.limit = limit || 100;\n\t\tthis.size = 0;\n\t}\n\n\tget(key) {\n\t\tif (this.map[key]) {\n\t\t\tlet value = this.map[key].value;\n\t\t\tlet node = new CacheNode(key, value);\n\t\t\tthis.remove(key);\n\t\t\tthis.setHead(node);\n\t\t\treturn value;\n\t\t}\n\t}\n\n\tset(key, value) {\n\t\tlet node = new CacheNode(key, value);\n\t\tif (this.map[key]) {\n\t\t\tthis.remove(key);\n\t\t} else {\n\t\t\tif (this.size >= this.limit) {\n\t\t\t\tdelete this.map[this.tail.key];\n\t\t\t\tthis.size--;\n\t\t\t\tthis.tail = this.tail.prev;\n\t\t\t\tthis.tail.next = null;\n\t\t\t}\n\t\t}\n\t\tthis.setHead(node);\n\t}\n\n\tsetHead(node) {\n\t\tnode.next = this.head;\n\t\tnode.prev = null;\n\t\tif (this.head) {\n\t\t\tthis.head.prev = node;\n\t\t}\n\t\tthis.head = node;\n\t\tif (!this.tail) {\n\t\t\tthis.tail = node;\n\t\t}\n\t\tthis.size++;\n\t\tthis.map[node.key] = node;\n\t}\n\n\tremove(key) {\n\t\tlet node = this.map[key];\n\t\tif (node.prev) {\n\t\t\tnode.prev.next = node.next;\n\t\t} else {\n\t\t\tthis.head = node.next;\n\t\t}\n\t\tif (node.next) {\n\t\t\tnode.next.prev = node.prev;\n\t\t} else {\n\t\t\tthis.tail = node.prev;\n\t\t}\n\t\tdelete this.map[key];\n\t\tthis.size--;\n\t}\n}","import createRouter from 'router5';\nimport listenersPlugin from 'router5/plugins/listeners';\nimport browserPlugin from 'router5/plugins/browser';\nimport routes from './routes';\n\nconst router = createRouter(routes, {\n\t\tdefaultRoute: 'list',\n\t\tautoCleanUp: true\n\t})\n\t.usePlugin(listenersPlugin())\n\t.usePlugin(browserPlugin({\n\t\tuseHash: true\n\t}));\n\nlet nextState = null;\n\n\nfunction navigateToState(dependencies, toState, fromState) {\n\tnextState = toState;\n\tconst toRoute = routes.find(r => r.name === toState.name);\n\tif (!toRoute || !toRoute.onActivate) {\n\t\treturn Promise.resolve({ ...toState\n\t\t});\n\t}\t\t\t\n\treturn Promise.resolve({})\n\t\t.then(() => toRoute.onActivate(dependencies.store, toState, fromState))\n\t\t.then(() => ({ ...toState\n\t\t}));\n}\n\nfunction OnActivateMiddlewareFactory(routes) {\n\treturn (router, dependencies) => {\n\t\treturn (toState, fromState) => {\n\t\t\treturn navigateToState(dependencies, toState, fromState);\n\t\t};\n\t};\n}\n\nrouter.useMiddleware(OnActivateMiddlewareFactory(routes));\n\n// Hack to fix IE\nwindow.onhashchange = function () {\n\tsetTimeout(function () {\n\t\tlet hash = window.location.hash;\n\t\thash = hash.replace(new RegExp('^#'), '');\n\t\tlet state = router.matchPath(hash);\n\t\tlet currentState = router.getState();\n\t\t//if (state && currentState && nextState && (state.path !== currentState.path) && (state.path !== nextState.path)) {\n\t\t\tnavigateToState(router.getDependencies(), state, currentState);\n\t\t//}\n\t}, 10);\n}\n\nexport default router;","import * as Actions from '../actions';\n\nexport default function entriesReducer(state = {}, action) {\n\tswitch (action.type) {\n\t\tcase Actions.SEARCH_ENTRIES_COMPLETE:\n\t\t\treturn action.entries;\n\t\tdefault: \n\t\t\treturn state;\n\t}\n}\n","import * as Actions from '../services/actions';\n\nfunction onActivate(store, toState, fromState) {\n\tconst search = { ...toState.params };\t\n\tconst settings = store.getState().settings;\n\tif (Object.keys(settings).length > 0) {\n\t\treturn store.dispatch(Actions.searchEntries(search));\n\t}\n}\n\nexport default [\n\t{\n\t\tname: 'list',\n\t\tpath: '/',\n\t\tonActivate\n\t},\n];","import * as Actions from '../actions';\n\nexport default function toggleReducer(state = false, action) {\n\tswitch (action.type) {\n\t\tcase Actions.TOGGLE_SEARCH_COMPLETE:\n\t\t\treturn action.toggle;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}","import * as Actions from '../actions';\n\nexport default function cookieDataReducer(state = {}, action) {\n\tswitch (action.type) {\n\t\tcase Actions.GET_COOKIE_DATA_COMPLETE:\n\t\t\treturn action.cookieData;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n\n","import * as Actions from '../actions';\n\nexport default function initialiseSettingsReducer(state = {}, action) {\n\tswitch (action.type) {\t\t\n\t\tcase Actions.INITIALISE_SETTINGS_COMPLETE:\n\t\t\treturn { ...action.settings };\n\t\tcase Actions.LOAD_SYNONYMS_COMPLETE:\n\t\t\treturn { ...state, ...{ synonyms: action.synonyms } };\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n","import * as Actions from '../actions';\n\nexport default function filtersReducer(state = {}, action) {\n\tswitch (action.type) {\n\t\tcase Actions.LOAD_FILTERS_COMPLETE:\n\t\t\treturn { ...action.filters };\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}","import * as Actions from '../actions';\n\nexport default function searchReducer(state = {}, action) {\n\tswitch (action.type) {\n\t\tcase Actions.RESET_SEARCH:\n\t\t\treturn { ...action.search };\n\t\tcase Actions.SET_SEARCH_TERM:\n\t\t\treturn { ...state, term: action.term };\n\t\tdefault:\n\t\t\treturn state;\n\t}\n\treturn state;\n}","import { combineReducers } from 'redux';\nimport { router5Reducer } from 'redux-router5'\nimport entriesReducer from './entries';\nimport searchReducer from './search';\nimport filtersReducer from './filters';\nimport intialiseSettingsReducer from './initialise-settings';\nimport cookieDataReducer from './cookieData';\nimport toggleReducer from './toggle';\n\n\nexport default function createReducer() {\n\treturn combineReducers({\n\t\tentries: entriesReducer,\n\t\tsearch: searchReducer,\n\t\tfilters: filtersReducer,\n\t\tsettings: intialiseSettingsReducer,\n\t\trouter: router5Reducer,\n\t\tcookieData: cookieDataReducer,\n\t\ttoggle: toggleReducer\n\t});\n}\n","import { createStore, applyMiddleware, compose } from 'redux';\nimport { router5Middleware } from 'redux-router5';\nimport thunkMiddleware from 'redux-thunk';\nimport createReducer from './reducers';\n\n\nexport default function configureStore(router, initialState) {\t\n\tconst enhancers = [applyMiddleware(thunkMiddleware, router5Middleware(router))];\n\tconst composeEnhancers =\n \tprocess.env.NODE_ENV !== 'production' &&\n \ttypeof window === 'object' &&\n \twindow.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\n \t? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({\n \tshouldHotReload: false,\n \t})\n\t \t: compose;\n\t \n\tconst store = createStore(\n\t\tcreateReducer(),\n\t\tcomposeEnhancers(...enhancers)\n\t);\n\n\trouter.setDependency('store', store);\n\treturn store;\n}\n","export const TOGGLE_SEARCH_COMPLETE = 'TOGGLE_SEARCH_COMPLETE';\nexport const TOGGLE_SEARCH_ERROR = 'TOGGLE_SEARCH_ERROR';\n\nexport function toggleSearch(toggle) {\n\treturn async (dispatch, getState) => {\n try {\n\t\t\tdispatch(toggleSearchComplete(toggle));\n\t\t} catch (e) {\n\t\t\tconsole.log(e);\n\t\t\tdispatch(toggleSearchError(e));\n\t\t}\n\t};\n}\n\nexport function toggleSearchComplete(toggle) {\n\treturn {\n\t\ttype: TOGGLE_SEARCH_COMPLETE,\n\t\ttoggle\n\t};\n}\n\nexport function toggleSearchError(error) {\n\treturn {\n\t\ttype: TOGGLE_SEARCH_ERROR,\n\t\terror,\n\t};\n}","export const INITIALISE_SETTINGS_COMPLETE = 'INITIALISE_SETTINGS_COMPLETE';\nexport const INITIALISE_SETTINGS_ERROR = 'INITIALISE_SETTINGS_ERROR';\n\nexport const LOAD_SYNONYMS_COMPLETE = 'LOAD_SYNONYMS_COMPLETE';\nexport const LOAD_SYNONYMS_ERROR = 'LOAD_SYNONYMS_ERROR';\n\nimport { SETTINGS } from '../../../config';\nimport { initialiseFilters } from '.';\nimport { GetSynonyms } from '../api';\n\nexport function initialiseSettings(\n\tappId, groups, auth, microsite, showcaseCollection, \n\tcompanyName, certificationFilter, baseUri, jobListingPageUrl, \n\tfreeTrialExpired, popularSearches, pressReleasesBaseUri, eventsBaseUri, insightsBaseUri ) \n\t{\n\treturn async(dispatch) => {\n\t\tlet settings = SETTINGS[appId];\t\n\t\tif (settings) {\n\t\t\tif (groups && auth) {\n\t\t\t\tsettings.groups = groups;\n\t\t\t\tsettings.isAuth = auth;\n\t\t\t}\n\n\t\t\t// settings.microsite = microsite || \"\";\n\t\t\t// settings.showcaseCollection = showcaseCollection || \"\";\n\t\t\t// settings.companyName = companyName || \"\";\n\t\t\t// settings.certificationFilter = certificationFilter || \"\";\n\t\t\t// settings.baseUri = baseUri || \"\";\n\t\t\t// settings.jobListingPageUrl = jobListingPageUrl || \"\";\n\t\t\t// settings.freeTrialExpired = freeTrialExpired || false;\n\t\t\t// settings.popularSearches = popularSearches || \"\";\n\t\t\t// settings.pressReleasesBaseUri = pressReleasesBaseUri || \"\";\n\t\t\t// settings.eventsBaseUri = eventsBaseUri || \"\";\n\t\t\t// settings.insightsBaseUri = insightsBaseUri || \"\";\n\n\t\t\tsettings.microsite = \"\";\n\n\t\t\tif (microsite)\n\t\t\t{\n\t\t\t\tsettings.microsite = microsite;\n\t\t\t}\n\n\t\t\tif (showcaseCollection)\n\t\t\t{\n\t\t\t\tsettings.showcaseCollection = showcaseCollection;\n\t\t\t}\n\n\t\t\tif (companyName)\n\t\t\t{\n\t\t\t\tsettings.companyName = companyName;\n\t\t\t}\n\n\t\t\tif (certificationFilter)\n\t\t\t{\n\t\t\t\tsettings.certificationFilter = certificationFilter;\n\t\t\t}\n\n\t\t\tif (baseUri)\n\t\t\t{\n\t\t\t\tsettings.baseUri = baseUri;\n\t\t\t}\n\n\t\t\tif(jobListingPageUrl)\n\t\t\t{\n\t\t\t\tsettings.jobListingPageUrl = jobListingPageUrl;\n\t\t\t}\n\n\t\t\tif(freeTrialExpired)\n\t\t\t{\n\t\t\t\tsettings.freeTrialExpired = freeTrialExpired;\n\t\t\t}\n\n\t\t\tif(popularSearches)\n\t\t\t{\n\t\t\t\tsettings.popularSearches = popularSearches;\n\t\t\t}\n\t\t\t\n\t\t\tif(pressReleasesBaseUri)\n\t\t\t{\n\t\t\t\tsettings.pressReleasesBaseUri = pressReleasesBaseUri;\n\t\t\t}\n\n\t\t\tif(eventsBaseUri)\n\t\t\t{\n\t\t\t\tsettings.eventsBaseUri = eventsBaseUri;\n\t\t\t}\n\n\t\t\tif(insightsBaseUri)\n\t\t\t{\n\t\t\t\tsettings.insightsBaseUri = insightsBaseUri;\n\t\t\t}\n\n\n\t\t\tdispatch(initialiseSettingsComplete(settings));\n\t\t\tdispatch(initialiseFilters(settings));\n\t\t}\n\t\telse {\n\t\t\tlet errorMessage = 'Settings not found';\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.log(errorMessage);\n\t\t\tdispatch(initialiseSettingsError(errorMessage));\n\t\t}\t\n\t};\n}\n\nexport function initialiseSettingsComplete(settings) {\n\treturn {\n\t\ttype: INITIALISE_SETTINGS_COMPLETE,\n\t\tsettings\n\t};\n}\n\nexport function initialiseSettingsError(error) {\n\treturn {\n\t\ttype: INITIALISE_SETTINGS_ERROR,\n\t\terror\n\t};\n}\n\n\nexport function loadSynonyms() {\n\treturn async(dispatch) => {\n\t\tlet synonyms = await GetSynonyms();\n\t\tif (synonyms) {\n\t\t\tdispatch(loadSynonymsComplete(synonyms));\n\t\t}\t\n\t\telse {\n\t\t\tlet errorMessage = 'Synonyms not found';\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.log(errorMessage);\n\t\t\tdispatch(loadSynonymsError(errorMessage));\n\t\t}\t\n\t};\n}\nexport function loadSynonymsComplete(synonyms) {\n\treturn {\n\t\ttype: LOAD_SYNONYMS_COMPLETE,\n\t\tsynonyms\n\t};\n}\n\nexport function loadSynonymsError(error) {\n\treturn {\n\t\ttype: LOAD_SYNONYMS_ERROR,\n\t\terror\n\t};\n}\n\n","import { getEntries } from '../api';\nimport { getSearch } from '../selectors';\n\nexport const RESET_SEARCH = 'RESET_SEARCH';\nexport const SET_SEARCH_TERM = 'SET_SEARCH_TERM';\nexport const SEARCH_ENTRIES = 'SEARCH_ENTRIES';\nexport const SEARCH_ENTRIES_COMPLETE = 'SEARCH_ENTRIES_COMPLETE';\nexport const SEARCH_ENTRIES_ERROR = 'SEARCH_ENTRIES_ERROR';\n\nexport function searchEntries(search) {\n\treturn async(dispatch, getState) => {\n\t\tdispatch({\n\t\t\ttype: SEARCH_ENTRIES\n\t\t});\n\t\tlet oldSearch = getState(getSearch);\n\t\ttry {\n\t\t\tlet entries;\n\t\t\tlet settings = getState().settings;\t\n\t\t\tdispatch({\n\t\t\t\ttype: RESET_SEARCH,\n\t\t\t\tsearch\n\t\t\t});\n\t\t\tentries = await getEntries(search, settings);\n\t\t\tdispatch(searchEntriesComplete(entries));\t\t\t\n\t\t} catch (e) {\n\t\t\tconsole.log(e);\n\t\t\tdispatch({\n\t\t\t\ttype: RESET_SEARCH,\n\t\t\t\tsearch: oldSearch\n\t\t\t});\n\t\t\tdispatch(searchEntriesError(e));\n\t\t}\t\t\n\t};\n}\n\nexport function searchEntriesComplete(entries) {\n\treturn {\n\t\ttype: SEARCH_ENTRIES_COMPLETE,\n\t\tentries\n\t};\n}\n\nexport function searchEntriesError(error) {\n\treturn {\n\t\ttype: SEARCH_ENTRIES_ERROR,\n\t\terror\n\t};\n}\n\nexport function setSearchTerm(term) {\n\treturn {\n\t\ttype: SET_SEARCH_TERM,\n\t\tterm,\n\t};\n}","import * as queries from './common/services/queries';\nimport { versionStatus } from './common/services/client';\n\n\n\n\nexport function buildExpressions({ search, settings }) {\n\tswitch (settings.appId) {\n\t\tcase 'search':\n\t\t\treturn buildSearchExpressions({ search, settings });\n\t\tcase 'events':\n\t\t\treturn buildEventsExpressions({search, settings});\n\t\tcase 'news':\n\t\t\treturn buildNewsExpressions({search, settings});\n\t\tcase 'ourstories':\n\t\t\treturn buildOurStoriesExpressions({search, settings});\n\t\tcase 'insights':\n\t\t\treturn buildInsightsExpressions({search, settings});\n\t\tcase 'careers':\n\t\t\treturn buildCareersExpressions({search, settings});\n\t\tcase 'atoz':\n\t\t\treturn buildAtoZExpressions({search, settings});\n\t\tcase 'IMReportsGridAppId':\n\t\tcase 'IMReportsListerAppId':\n\t\t\treturn buildIMReportsListerExpressions({search, settings});\n\t\tcase 'JIPLister':\n\t\t\treturn buildJIPListerExpressions({search, settings});\n\t\tcase 'PublishedPapersLister':\n\t\t\treturn buildPublishedPapersContentTypeExpressions({search, settings});\n\t\tcase 'CSWIPSchemesAppId':\n\t\t\treturn buildCSWIPSchemesContentTypeExpressions({search, settings});\n\t\tcase 'CSWIPSearchAppId':\n\t\t\treturn buildCSWIPSearchExpressions({ search, settings });\n\t\tcase 'CSWIPNewsAppId':\n\t\t\treturn buildCSWIPNewsExpressions({search, settings});\n\t\tcase 'CSWIPInsightsAppId':\n\t\t\treturn buildCSWIPInsightsExpressions({search, settings});\n\t\tcase 'TWIInnovationNetworkNewsAppId':\n\t\t\treturn buildTWIInnovationNetworkNewsExpressions({search, settings});\n\t\tcase 'memberListAppId':\n\t\t\treturn buildMemberListExpressions({search, settings});\n\t\tcase 'TWIInnovationNetworkEventsAppId':\n\t\t\treturn buildTWIInnovationNetworkEventsExpressions({search, settings});\n\t\tcase 'TWIInnovationNetworkSearchAppId':\n\t\t\treturn buildTWIInnovationNetworkSearchExpressions({ search, settings });\n\t\tcase 'PublicFundedProjectsListerAppId':\n\t\t\treturn buildPublicFundedProjectsListerExpressions({search, settings});\n\t\tcase 'CoreResearchProgrammeListerAppId':\n\t\t\t\treturn buildCoreResearchProgrammeListerExpressions({search, settings});\n\t\tcase 'FAQListerAppId':\n\t\t\t\treturn buildFAQListerExpressions({search, settings});\n\t\tcase 'TWIDEInsightsAppId':\n\t\t\t\treturn buildTWIDEInsightsExpressions({search, settings});\n\t\tcase 'JobKnowledgeListerAppId':\n\t\t\t\treturn buildJobKnowledgeListerExpressions({search, settings});\n\t\tcase 'NSIRCNewsAppId':\n\t\t\treturn buildNSIRCNewsExpressions({search, settings});\n\t\tcase 'NSIRCPublicationsAppId':\n\t\t\treturn buildNSIRCPublicationsExpressions({search, settings});\n\t\tcase 'NSIRCThesesAppId':\n\t\t\treturn buildNSIRCThesesExpressions({search, settings});\n\t\tcase 'NSIRCDissertationsAppId':\n\t\t\treturn buildNSIRCDissertationsExpressions({search, settings});\n\t\tcase 'NSIRCStudentProfilesAppId':\n\t\t\treturn buildNSIRCStudentProfilesExpressions({search, settings});\n\t\tcase 'NSIRCInsightsAppId':\n\t\t\treturn buildNSIRCInsightsExpressions({search, settings});\n\t\tcase 'NSIRCCareersAppId':\n\t\t\treturn buildNSIRCCareersExpressions({search, settings});\n\t\tcase 'NSIRCSearchAppId':\n\t\t\treturn buildNSIRCSearchExpressions({search, settings});\t\n\t\tcase 'OurPeopleAppId':\n\t\t\treturn buildOurPeopleExpressions({search, settings});\t\n\t\tcase 'GenericPressReleasesAppId':\n\t\t\treturn buildGenericPressReleasesExpressions({search, settings});\n\t\tcase 'GenericShowcaseAppId':\n\t\t\treturn buildGenericShowcaseExpressions({search, settings});\n\t\tcase 'TWICLCertificationsAppId':\n\t\t\treturn buildTWICLCertificationsExpressions({search, settings});\n\t\tcase 'TWICLCompaniesAppId':\n\t\t\treturn buildTWICLCompaniesExpressions({search, settings});\n\t\tcase 'CTLFAQListerAppId':\n\t\t\treturn buildCTLFAQListerExpressions({search, settings});\n\t\tcase 'GenericInsightsAppId':\n\t\t\treturn buildGenericInsightsExpressions({search, settings});\n\t\tcase 'GenericSearchAppId':\n\t\t\treturn buildGenericSearchExpressions({ search, settings });\n\t\tcase 'GenericWebpageListerAppId':\n\t\t\treturn buildGenericWebpageListerExpressions({ search, settings });\n\t\tcase 'DigitalProductFinderAppId':\n\t\t\treturn buildDigitalProductFinderExpressions({ search, settings });\n\t\tcase 'TWIJobsAppId':\n\t\t\treturn buildTWIJobsExpressions({ search, settings });\n\t\tcase 'TWIInnovationNetworkTAPsAppId':\n\t\t\treturn buildTWIInnovationNetworkTAPsExpressions({ search, settings });\n\t\tcase 'GenericVideosAppId':\n\t\t\treturn buildGenericVideosExpressions({ search, settings });\n\t\tcase 'VirtualAcademyAppId':\n\t\t\treturn buildVirtualAcademyExpressions({search, settings});\n\t\tdefault:\t\n\t\t\treturn buildDefaultExpressions({ search, settings });\n\t\t\n\t}\n}\n\nfunction buildSearchExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.searchAll(),\n\t\t...queries.authorSearch(search),\n\t\t...queries.sortOrder(search),\n\t\t...queries.filterUserGroupContent(settings),\n\t\t...queries.includeInSearch(),\n\t\t...queries.searchWeldasearch(search),\n\t\t...queries.excludeFromSearch()\n\t];\n}\nfunction buildOurStoriesExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.filters(search, settings.taxonomyFilters),\n\t\t...queries.standardDateFilters(search.date)\n\t];\n}\nfunction buildInsightsExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.filters(search, settings.taxonomyFilters),\n\t\t...queries.publishDateFilters(search.date),\n\t\t...queries.hideFromCorporate()\n\t];\n}\n\n\n\n\nfunction buildCareersExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.filters(search, settings.taxonomyFilters),\n\t\t...queries.notNSIRCVacancies()\n\t];\n}\nfunction buildNewsExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.filters(search, settings.taxonomyFilters),\n\t\t...queries.hideFromCorporate(),\n\t\t...queries.newsDateFilters(search.date)\n\t];\n}\nfunction buildEventsExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.filters(search, settings.taxonomyFilters),\n\t\t...queries.showEventOnCorporate(settings.microsite),\n\t\t...queries.getPrivateEvents(settings.companyName),\n\t\t// ...queries.getMicrositeEvents(settings.microsite),\n\t\t...queries.orderBy()\n\t];\n}\nfunction buildAtoZExpressions({ search}) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.pathStartsWith('/what-we-do/research-and-technology/technologies/'),\n\t\t...queries.startWith(search.startWith)\n\t];\n}\nfunction buildDefaultExpressions({ settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.includeInSearch()\n\t];\n}\nfunction buildIMReportsListerExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t// ...queries.pathStartsWith('/what-we-do/research-and-technology/research-reports/industrial-member-reports/'),\n\t\t...queries.pathStartsWith('/what-we-do/research-and-technology/research-programmes/core-research-programme/report-abstracts/'),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.pageDateYearFilter(search.date),\n\t\t...queries.excludeHomePage(),\n\n\t];\n}\nfunction buildJIPListerExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t// ...queries.dateAnnouncedFilter(search.date),\n\t\t// ...queries.sortOrder(search),\n\t\t...queries.filters(search, settings.taxonomyFilters),\n\t\t...queries.projectStatus(search.status)\n\t];\n\n}\nfunction buildPublishedPapersContentTypeExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.excludeHomePage(),\n\t\t...queries.pageDateFilter(search.date)\n\t\t//...queries.orPathEndsWith('/technical-knowledge/published-papers/')\n\t\t//,...queries[Op.or([{'field': 'uri', 'startsWith': '/technical-knowledge/published-papers/'}])]\n\t];\n}\nfunction buildCSWIPSchemesContentTypeExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.pageDateFilter(search.date),\n\t\t...queries.certificationFilter(search.schemetype, settings.microsite, settings.certificationFilter)\n\t\t//...queries.orPathEndsWith('/technical-knowledge/published-papers/')\n\t\t//,...queries[Op.or([{'field': 'uri', 'startsWith': '/technical-knowledge/published-papers/'}])]\n\t];\n}\nfunction buildCSWIPSearchExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.cswipContentType(),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.pageDateFilter(search.date),\n\t\t// ...queries.cswipSearch()\n\t\t//...queries.pathStartsWith('/microsites/cswip/'),\n\t\t//...queries.orPathEndsWith('/technical-knowledge/published-papers/')\n\t\t//,...queries[Op.or([{'field': 'uri', 'startsWith': '/technical-knowledge/published-papers/'}])]\n\t];\n}\nfunction buildCSWIPNewsExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.filters(search, settings.taxonomyFilters),\n\t\t...queries.getMicrositeNews(\"CSWIP\"),\n\t\t...queries.newsDateFilters(search.date)\n\t];\n}\nfunction buildCSWIPInsightsExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.filters(search, settings.taxonomyFilters),\n\t\t...queries.getMicrositeInsights(\"CSWIP\"),\n\t\t...queries.newsDateFilters(search.date)\n\t];\n}\nfunction buildTWIInnovationNetworkNewsExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.filters(search, settings.taxonomyFilters),\n\t\t...queries.getMicrositeNews(\"TWIInnovationNetwork\"),\n\t\t...queries.newsDateFilters(search.date)\n\t];\n}\nfunction buildMemberListExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.filters(search, settings.taxonomyFilters),\n\t];\n}\nfunction buildTWIInnovationNetworkEventsExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.filters(search, settings.taxonomyFilters),\n\t\t...queries.getMicrositeEvents(\"TWIInnovationNetwork\"),\n\t\t...queries.orderBy()\n\t];\n}\nfunction buildTWIInnovationNetworkSearchExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.twiinContentType(),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.pageDateFilter(search.date),\n\t\t//...queries.pathStartsWith('/microsites/twi-innovation-network/'),\n\t\t//...queries.orPathEndsWith('/technical-knowledge/published-papers/')\n\t\t//,...queries[Op.or([{'field': 'uri', 'startsWith': '/technical-knowledge/published-papers/'}])]\n\t];\n}\nfunction buildPublicFundedProjectsListerExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.dateAnnouncedFilter(search.date),\n\t\t...queries.sortOrder(search),\n\t\t...queries.filters(search, settings.taxonomyFilters),\n\t\t...queries.hideFromCorporate()\n\t];\n}\nfunction buildCoreResearchProgrammeListerExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.excludeHomePage(),\n\t\t...queries.pageDateYearFilter(search.date),\n\t\t...queries.pathStartsWith('/what-we-do/research-and-technology/research-programmes/core-research-programme/executive-summaries/')\n\t\t//...queries.pathStartsWith('/what-we-do/research-and-technology/current-research-programmes/twi-core-research')\n\t\t//...queries.orPathEndsWith('/technical-knowledge/published-papers/')\n\t\t//,...queries[Op.or([{'field': 'uri', 'startsWith': '/technical-knowledge/published-papers/'}])] \t\n\n\t];\n}\n\nfunction buildFAQListerExpressions({ search, settings }) {\t\n\treturn [\n\n\t\t\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.filters(search, settings.taxonomyFilters),\n\t\t...queries.FAQQuery(search.term,settings.microsite)\n\n\n\t\t// // ...queries.excludeHomePage(),\n\t\t// ...queries.pageDateFilter(search.date),\n\t\t// // ...queries.searchCurrentDir(),\n\t\t// ...queries.hideFromListingPage()\n\t\t//...queries.orPathEndsWith('/technical-knowledge/published-papers/')\n\t\t//,...queries[Op.or([{'field': 'uri', 'startsWith': '/technical-knowledge/published-papers/'}])]\n\t];\n}\n\nfunction buildCTLFAQListerExpressions({ search, settings }) {\t\n\treturn [\n\n\t\t\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.filters(search, settings.taxonomyFilters),\n\t\t...queries.FAQQuery(search.term,settings.microsite)\n\n\n\t\t// // ...queries.excludeHomePage(),\n\t\t// ...queries.pageDateFilter(search.date),\n\t\t// // ...queries.searchCurrentDir(),\n\t\t// ...queries.hideFromListingPage()\n\t\t//...queries.orPathEndsWith('/technical-knowledge/published-papers/')\n\t\t//,...queries[Op.or([{'field': 'uri', 'startsWith': '/technical-knowledge/published-papers/'}])]\n\t];\n}\n\n\nfunction buildTWIDEInsightsExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.filters(search, settings.taxonomyFilters),\n\t\t...queries.getMicrositeInsights(\"TWIDeutschland\"),\n\t\t...queries.newsDateFilters(search.date)\n\t];\n}\nfunction buildJobKnowledgeListerExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.excludeHomePage(),\n\t\t...queries.pageDateFilter(search.date),\n\t\t...queries.pathStartsWith('/technical-knowledge/job-knowledge')\n\t\t//...queries.orPathEndsWith('/technical-knowledge/published-papers/')\n\t\t//,...queries[Op.or([{'field': 'uri', 'startsWith': '/technical-knowledge/published-papers/'}])]\n\t];\n\n}\n\nfunction buildNSIRCNewsExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.filters(search, settings.taxonomyFilters),\n\t\t...queries.getMicrositeNews(\"NSIRC_news\"),\n\t\t...queries.newsDateFilters(search.date)\n\t];\n}\n\nfunction buildNSIRCPublicationsExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.filters(search, settings.taxonomyFilters),\n\t\t...queries.getMicrositeNews(\"NSIRC_publications\"),\n\t\t...queries.newsDateFilters(search.date)\n\t];\n}\n\nfunction buildNSIRCThesesExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.filters(search, settings.taxonomyFilters),\n\t\t...queries.getMicrositeNews(\"NSIRC_theses\"),\n\t\t...queries.newsDateFilters(search.date)\n\t];\n}\n\nfunction buildNSIRCDissertationsExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.filters(search, settings.taxonomyFilters),\n\t\t...queries.getMicrositeNews(\"NSIRC_dissertations\"),\n\t\t...queries.newsDateFilters(search.date)\n\t];\n}\n\nfunction buildNSIRCStudentProfilesExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.filters(search, settings.taxonomyFilters),\n\t\t...queries.getMicrositeNews(\"NSIRC_students\"),\n\t\t...queries.newsDateFilters(search.date)\n\t];\n}\nfunction buildNSIRCInsightsExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.filters(search, settings.taxonomyFilters),\n\t\t...queries.getMicrositeNews(\"NSIRC_insights\"),\n\t\t...queries.newsDateFilters(search.date)\n\t];\n}\nfunction buildNSIRCCareersExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.filters(search, settings.taxonomyFilters),\n\t\t...queries.NSIRCVacancies()\n\t];\n}\nfunction buildNSIRCSearchExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.pageDateFilter(search.date),\n\t\t...queries.nsircSearch()\n\t\t//...queries.orPathEndsWith('/technical-knowledge/published-papers/')\n\t\t//,...queries[Op.or([{'field': 'uri', 'startsWith': '/technical-knowledge/published-papers/'}])]\n\t];\n}\nfunction buildOurPeopleExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.ourPeopleFilter(),\n\t\t// ...queries.filters(search, settings.taxonomyFilters),\n\t\t// ...queries.newsDateFilters(search.date)\n\t];\n}\nfunction buildGenericPressReleasesExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t// ...queries.filters(search, settings.taxonomyFilters),\n\t\t...queries.getMicrositeNews(settings.microsite),\n\t\t...queries.newsDateFilters(search.date)\n\t];\n}\nfunction buildGenericShowcaseExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t// ...queries.filters(search, settings.taxonomyFilters),\n\t\t...queries.getShowcase(settings.showcaseCollection),\n\t\t...queries.newsDateFilters(search.date)\n\t];\n}\n\nfunction buildTWICLCertificationsExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.pageDateFilter(search.date),\n\t\t...queries.certificationFilter(search.schemetype, settings.microsite, settings.certificationFilter)\n\t\t//...queries.orPathEndsWith('/technical-knowledge/published-papers/')\n\t\t//,...queries[Op.or([{'field': 'uri', 'startsWith': '/technical-knowledge/published-papers/'}])]\n\t];\n}\n\nfunction buildTWICLCompaniesExpressions({ search, settings }) {\t\n\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t//...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.certifiedCompanyFilter(search.certificationtype),\n\t\t//...queries.orderBy('companyName')\n\t\t//...queries.orPathEndsWith('/technical-knowledge/published-papers/')\n\t\t//,...queries[Op.or([{'field': 'uri', 'startsWith': '/technical-knowledge/published-papers/'}])]\n\t];\n\n\n\n\t// if (Object.keys(search) > 0 ) {\n\t// \treturn [\n\t// \t\t...queries.versionStatus(versionStatus),\n\t// \t\t...queries.contentType(settings.contentTypeId),\n\t// \t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t// \t\t...queries.pageDateFilter(search.date),\n\t// \t\t...queries.companyCertificationFilter(search.certificationtype)\n\t// \t\t//...queries.orPathEndsWith('/technical-knowledge/published-papers/')\n\t// \t\t//,...queries[Op.or([{'field': 'uri', 'startsWith': '/technical-knowledge/published-papers/'}])]\n\t// \t];\n\t// } \n\n\t// return [];\n\n}\n\n\nfunction buildGenericInsightsExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.filters(search, settings.taxonomyFilters),\n\t\t...queries.publishDateFilters(search.date),\n\t\t...queries.getGenericInsights(settings.microsite),\n\t//\t...queries.hideFromCorporate()\n\t];\n}\n\nfunction buildGenericSearchExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.genericSearchContentType(settings),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t//...queries.pageDateFilter(search.date),\n\t\t//...queries.includeInSearch() - pages are created with includeInSearch as false by default\n\t\t// ...queries.cswipSearch()\n\t\t//...queries.pathStartsWith('/microsites/cswip/'),\n\t\t//...queries.orPathEndsWith('/technical-knowledge/published-papers/')\n\t\t//,...queries[Op.or([{'field': 'uri', 'startsWith': '/technical-knowledge/published-papers/'}])]\n\t];\n}\n\nfunction buildGenericWebpageListerExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.excludeHomePage(),\n\t\t...queries.pageDateYearFilter(search.date),\n\t\t...queries.pathStartsWith(settings.baseUri)\n\t\t//...queries.orPathEndsWith('/technical-knowledge/published-papers/')\n\t\t//,...queries[Op.or([{'field': 'uri', 'startsWith': '/technical-knowledge/published-papers/'}])]\n\t];\n}\n\n\nfunction buildDigitalProductFinderExpressions({ search, settings }) {\t\n\treturn [\n\n\t\t\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t\n\t\t// ...queries.filters(search, settings.taxonomyFilters),\n\t\t// ...queries.FAQQuery(search.term,settings.microsite)\n\n\n\t\t// ...queries.excludeHomePage(),\n\t\t// ...queries.pageDateFilter(search.date),\n\t\t// ...queries.searchCurrentDir(),\n\t\t// ...queries.hideFromListingPage(),\n\t\t// ...queries.orPathEndsWith('/technical-knowledge/published-papers/'),\n\t\t// ...queries[Op.or([{'field': 'uri', 'startsWith': '/technical-knowledge/published-papers/'}])]\n\t];\n}\n\n\n\nfunction buildTWIJobsExpressions({ search, settings }) {\n\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.twiJobsFilters(search),\n\t\t...queries.datePostedFilter(search.datePosted),\n\n\t];\n}\n\n\nfunction buildTWIInnovationNetworkTAPsExpressions({ search, settings }) {\n\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.TAPsFilter(search),\n\t\t//...queries.datePostedFilter(search.datePosted),\n\t\n\t\t// ...queries.orPathEndsWith('/technical-knowledge/published-papers/'),\n\t\t// ...queries[Op.or([{'field': 'uri', 'startsWith': '/technical-knowledge/published-papers/'}])]\n\t];\n}\n\n\nfunction buildGenericVideosExpressions({ search, settings }) {\n\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.getVideos(settings.microsite),\n\t];\n}\n\n\nfunction buildVirtualAcademyExpressions({ search, settings }) {\t\n\treturn [\n\t\t...queries.versionStatus(versionStatus),\n\t\t...queries.contentType(settings.contentTypeId),\n\t\t...queries.weightedSearchTerm(search.term, settings.weightedFields),\n\t\t...queries.getVirtualAcademy(),\n\n\t];\n}\n\n\t","import {\n\tgetFilters\n} from '../api';\n\nexport const LOAD_FILTERS_COMPLETE = 'LOAD_FILTERS_COMPLETE';\nexport const LOAD_FILTERS_ERROR = 'LOAD_FILTERS_ERROR';\n\nexport function initialiseFilters() {\n\treturn async (dispatch, getState) => {\n try {\n\t\t\tconst settings = getState().settings;\n\t\t\tlet filters = { ...await getFilters(settings)};\n\t\t\tdispatch(loadFiltersComplete(filters));\n\t\t} catch (e) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.log(e);\n\t\t\tdispatch(loadFiltersError(e));\n\t\t}\n\t};\n}\n\nexport function loadFiltersComplete(filters) {\n\treturn {\n\t\ttype: LOAD_FILTERS_COMPLETE,\n\t\tfilters\n\t};\n}\n\nexport function loadFiltersError(error) {\n\treturn {\n\t\ttype: LOAD_FILTERS_ERROR,\n\t\terror,\n\t};\n}","import React from 'react';\nimport { toUrl } from '../services/navigation';\nimport { translate } from '../services/builders';\n\nfunction Pager({ entries, search, settings }) {\n\tconst pageCount = Math.ceil(parseInt(entries.totalCount) / parseInt(entries.pageSize));\t\n\tconst entriesPageIndex = parseInt(entries.pageIndex);\n\tconst entriesPageSize = parseInt(entries.pageSize);\n\n\tconst currentPage = entriesPageIndex + 1;\n\tconst showPrev = (entriesPageIndex > 0);\n\n\n\tconst showNext = (currentPage < pageCount);\n\tconst showLast = (currentPage < pageCount - 2);\n\t\n\tconst pages = [];\n\tlet counter = 0;\n\n\twhile (counter < 3 && counter + currentPage <= pageCount) {\n\t\tpages[counter] = counter;\n\t\tcounter += 1;\n\t}\n\n\tvar prevPages = [];\n\tlet prevCounter = currentPage;\n\tlet i = currentPage == 3 ? currentPage -1 : currentPage -2;\n\twhile (prevCounter > i && currentPage >= 3) {\n\t\tprevPages[prevCounter] = prevCounter;\n\t\tprevCounter--;\n\t}\n\n\tfunction scrollTop(){\n\t\t//window.scrollTo(0, 0);\n\t}\n\n\t//
Showing {parseInt(entries.pageSize) * entriesPageIndex + 1} to {showNext ? parseInt(entries.pageSize) * (entriesPageIndex + 1) : parseInt(entries.totalCount)} of {parseInt(entries.totalCount)}
\n\t\n\treturn (\n\t\t\n\t);\n}\n\n\n\nexport default Pager;","import React from 'react';\nimport { connect } from 'react-redux';\nimport * as Actions from '../services/actions';\nimport { navigate } from '../services/navigation';\n\nfunction SearchBox({ search, settings, setSearchTerm }) {\n\tconst s = settings;\n\tlet searchInput = null;\n\n\tconst click = e => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\tnavigate(search, { term: searchInput.value, pageIndex: 0 });\n\t};\n\n\tconst keyDown = e => {\n\t\tif (e.keyCode === 13) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t}\n\t};\n\n\tconst keyUp = e => {\n\t\tif (e.keyCode === 13) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tnavigate(search, { term: searchInput.value, pageIndex: 0 });\n\t\t}\n\t};\n\n\tconst setSearchInput = input => {\n\t\tsearchInput = input;\n\t\tif (input && search && search.term) {\n\t\t\tinput.value = search.term;\n\t\t}\n\t\telse if (input && search) {\n\t\t\tinput.value = '';\n\t\t}\n\t};\n\n\treturn (\n\t\tNothing Found
}\n {entries.totalCount > 0 && \n items.map((entry, index) =>{getDescText(entry)}
\n {getPublishDate(entry)}\n{getDescText(entry)}
\n{getDescText(entry)}
\n