{"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/listings/components/_TabItem.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/listings/events/eventsTabs.js","webpack:///./source-files/app/listings/events/events.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/listings/components/_ListingCard.js","webpack:///./source-files/app/boot/boot.events.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","46","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","_reactRedux","_navigation","Actions","connect","dispatch","toggleTabList","_ref","_toUrl","currentSearch","type","selected","isActive","searchType","eventType","toLowerCase","url","_react2","className","onClick","preventDefault","stopPropagation","aria-selected","Op","equalTo","includeInSearch","or","and","exists","cswipContentType","contains","twiinContentType","genericSearchContentType","baseUri","microsite","in","searchTerm","term","freeText","weightedSearchTerm","addRange","containsSearch","authorSearch","author","searchAll","searchWeldasearch","weldasearch","not","searchTabTypes","charAt","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","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","SEARCH_ENTRIES_COMPLETE","params","searchEntries","TOGGLE_SEARCH_COMPLETE","GET_COOKIE_DATA_COMPLETE","cookieData","_selectors","EventTabs","filterKeys","currentTarget","classList","getElementsByClassName","xlinkHref","_TabItem2","t","propTypes","PropTypes","Events","_ref2$items","totalCount","_ListingCard2","_Pager2","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","_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","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","pageCount","entriesPageIndex","currentPage","showPrev","showNext","showLast","pages","counter","prevPages","prevCounter","aria-label","scrollTop","xmlns","pagerClass","_React$createElement2","active","label","_React$createElement3","_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","title1","renderCardContent","renderEvents","mg","micrositeRender","showcase","_store2","start","ReactDOM","render","EventsApp","getElementById","renderEventsTab","EventsTabApp","_reactRouter","Provider","RouterProvider","_events2","_eventsTabs2"],"mappings":"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","file":"events.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\t46: 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([807,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 React from 'react';\nimport { connect } from 'react-redux';\nimport { toUrl } from '../../common/services/navigation';\nimport * as Actions from '../../common/services/actions';\n\nfunction TabItem({ currentSearch, search, type, children, toggleTabList, settings }) {\n\t\n\tlet selected = null;\n\tlet isActive = false;\n\tlet c = \"events-listing-filter__item\";\n\tif (currentSearch.searchType === search || \n\t\tcurrentSearch.eventType === search || \n\t\t(!currentSearch.searchType && !currentSearch.eventType && search.toLowerCase() === 'all')) {\n\t\tselected = 'true';\n\t\tisActive = true;\n\t\tc=\"events-listing-filter__item active\"\n\t}\n\n\tconst url = toUrl(currentSearch, { [type]: search.toLowerCase() != 'all' ? search : '', pageIndex: 0 }, settings);\n\n\tconst toggleTabListClick = (e) => {\n\t\tif (isActive) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\ttoggleTabList();\n\t\t}\n\t};\n\treturn (\n\t\t
  • \n\t\t\t{children}\n\t\t
  • \n\t);\n}\n\n\nconst mapDispatchToProps = dispatch => ({\n\ttoggleTabList: () => {\n\t\tdispatch(Actions.toggleTabList());\n\t}\n});\n\nexport default connect(null, mapDispatchToProps)(TabItem);\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 React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport { getEntries, getSearch, getFilters, getSettings } from '../../common/services/selectors';\nimport TabItem from '../components/_TabItem';\n\nfunction EventTabs({ search, filters, settings }) {\n let filterKeys = ['0/44/45/47/50','0/44/45/47/48','0/44/45/47/49'];\n\n\tconst toggle = (e) => {\n e.currentTarget.classList.toggle('active');\n let list = document.getElementsByClassName('events-listing-filter__list');\n list[0].classList.toggle('collapsed');\n };\n \n return (\n \n\t);\n}\nEventTabs.propTypes = {\n entries: PropTypes.object,\n search: PropTypes.object, \n filters: PropTypes.object, \n settings: PropTypes.object\n};\n\nconst mapStateToProps = state => ({ entries: getEntries(state), search: getSearch(state), filters: getFilters(state), settings: getSettings(state) });\n\nexport default connect(mapStateToProps)(EventTabs);","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport { getEntries, getSearch, getFilters, getSettings } from '../../common/services/selectors';\nimport ListingCard from '../components/_ListingCard';\nimport Pager from '../../common/components/_Pager';\n\nfunction Events({ entries, search, settings }) { \n const { items = [] } = entries || {};\n\treturn (\n
    \n
    \n
    \n {entries.totalCount === 0 &&

    Nothing Found

    }\n {entries.totalCount > 0 && \n items.map((entry, index) => ) }\n
    \n
    \n {entries.totalCount > 10 && }\n
    \n\t);\n}\n\n\nEvents.propTypes = {\n entries: PropTypes.object,\n search: PropTypes.object, \n filters: PropTypes.object, \n settings: PropTypes.object\n};\n\n\n\nconst mapStateToProps = state => ({ entries: getEntries(state), search: getSearch(state), filters: getFilters(state), settings: getSettings(state) });\n\nexport default connect(mapStateToProps)(Events);","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 { getDescText, getPublishDate, getEventDate, cacheFunc } from '../../common/services/builders';\nimport { PropTypes } from 'prop-types';\n\n\nfunction ListingCard({ entry, settings }) {\n return (\n
    \n
    \n
    \n
    \n
    \n {renderTag(settings, entry)}\n {renderCardContent(entry)}\n
    \n
    \n );\n \n}\n\nfunction renderImage(settings, entry){\n let styles = {};\n\n var twiglobal = RegExp(\"twi-global.com\");\n var preview = RegExp(\"preview-twi(.*).cloud.contensis.com\");\n\n var currentUrl = window.location.href;\n\n var defaultImage = \"/site-elements/images/hero/hero-slider-1.jpg\";\n\n // if (settings.appId !== 'OurPeopleAppId' )\n // {\n\n if (entry.thumbnailImage != undefined)\n {\n var thmUrlAsset = entry.thumbnailImage.asset;\n var thmUrl = thmUrlAsset != null ? thmUrlAsset.sys.uri : defaultImage; \n\n // thmUrl = thmUrl.split(\"?\")[0];\n\n var isAbsoluteUrlRequired = !twiglobal.test(currentUrl) && !preview.test(currentUrl) && !thmUrl.includes(\"microsites\");\n thmUrl = isAbsoluteUrlRequired ? thmUrl = \"https://live-twi.cloud.contensis.com\" + thmUrl : thmUrl;\n\n styles = {backgroundImage: `url(${thmUrl})`};\n\n }\n else if( entry.heroImage != undefined ){\n styles = {backgroundImage: `url(/CachedImage.axd?ImageName=${entry.heroImage.asset.sys.uri}&Imagewidth=266&Imageheight=240)`};\n }\n else {\n styles = {backgroundImage: `url(/CachedImage.axd?ImageName=${defaultImage}&Imagewidth=266&Imageheight=240)`};\n }\n\n\n // }\n\n // if(entry.thumbnailImage != null && entry.thumbnailImage != ''){\n // styles = {backgroundImage: `url(${thmUrl})`};\n // }\n // // else if(entry.heroImage != null && entry.heroImage != ''){\n // // styles = {backgroundImage: `url(/CachedImage.axd?ImageName=${entry.heroImage.asset.sys.uri}&ImageHeight=300&ImageWidth=500)`};\n // // }\n // else {\n // styles = {backgroundImage: `url(/CachedImage.axd?ImageName=/site-elements/images/hero/hero-slider-1.jpg&ImageHeight=300&ImageWidth=500)`};\n // }\n\n\n\n if (settings.appId == \"OurPeopleAppId\" && entry.mainImage != undefined) \n {\n var mainImageAsset = entry.mainImage;\n var mainImageUrl = mainImageAsset != null ? entry.mainImage.asset.sys.uri : \"\";\n isAbsoluteUrlRequired = !twiglobal.test(currentUrl) && !preview.test(currentUrl) && !mainImageUrl.includes(\"microsites\");\n var mainImage = mainImageUrl != null && isAbsoluteUrlRequired ? mainImage = \"https://live-twi.cloud.contensis.com\" + mainImageUrl : mainImageUrl;\n styles = {backgroundImage: `url(${mainImage}?w=500)`};\n }\n\n // if (settings.appId == \"GenericShowcaseAppId\" && entry.heroImage != undefined) \n // {\n\n // var imageAsset = entry.heroImage.asset;\n // var imageUrl = imageAsset != null ? imageAsset.sys.uri : \"\";\n // isAbsoluteUrlRequired = !twiglobal.test(currentUrl) && !preview.test(currentUrl) && !imageUrl.includes(\"microsites\");\n // var image = imageUrl != null && isAbsoluteUrlRequired ? image = \"https://live-twi.cloud.contensis.com\" + imageUrl : imageUrl;\n // styles = {backgroundImage: `url(/CachedImage.axd?ImageName=${image}&Imagewidth=266&Imageheight=240)`};\n\n // }\n\n\n return styles;\n}\nfunction renderTag(settings, entry) {\n switch (settings.appId) {\n case 'GenericPressReleasesAppId':\n case 'news':\n return
    Press Release
    ;\n case 'events':\n if (entry.privateEvent != null && entry.privateEvent.length > 0)\n {\n return
    {entry.eventTag}
    ;\n\n }else\n {\n return
    Event
    ;\n\n }\n \n case 'blogs':\n return
    Blogs
    ;\n case 'NSIRCStudentProfilesAppId' :\n return
    PhD Student Profile
    ;\n case 'NSIRCNewsAppId' :\n return
    Press Release
    ;\n case 'NSIRCPublicationsAppId' :\n return
    PhD Publication
    ;\n case 'NSIRCThesesAppId' :\n return
    PhD Theses
    ;\n case 'NSIRCDissertationsAppId' :\n return
    MSc Dissertations
    ;\n case 'NSIRCInsightsAppId' :\n return
    Insight
    ;\n case 'OurPeopleAppId' :\n return
    {entry.title}
    ;\n case 'GenericShowcaseAppId' :\n if (entry.collection != null && entry.collection.length > 0)\n {\n return
    {entry.collection}
    ;\n\n }else\n {\n return;\n\n }\n\n }\n}\n\n//{entry.noindexNofollow && entry.noindexNofollow == true ? \"nofollow\" : \"\"}\n\nfunction pressReleaseLink (entry) {\n\n var link = cacheFunc.getCachedUrl(entry);\n var rel= entry.noindexNofollow;\n var linkText = entry.title && entry.title.length < 90 ? entry.title : entry.title.substr(0, 90).trim() + '...';\n var headerLink=\"\";\n\n if (rel)\n {\n headerLink = {linkText};\n }\n else\n {\n headerLink = {linkText};\n }\n\n return headerLink;\n \n}\n\nfunction renderCardContent(entry){\n //if(entry.sys.dataFormat === 'entry'){\n switch (entry.sys.contentTypeId){\n case 'pressReleases':\n case 'genericContentWebpage':\n return
    \n

    \n {pressReleaseLink(entry)}\n

    \n

    {getDescText(entry)}

    \n {getPublishDate(entry)}\n
    ;\n case 'events':\n return
    \n {entry.eventType.length > 0 && {entry.eventType[0].name}}\n {getEventDate(entry)}\n

    {entry.title && entry.title.length < 97 ? entry.title : entry.title.substr(0, 97).trim() + '...'}

    \n
    ;\n case 'staffProfiles':\n return
    \n

    {entry.title1 && entry.title1.length < 90 ? entry.title1 : entry.title1.substr(0, 90).trim() + '...'}

    \n

    {getDescText(entry)}

    \n
    ;\n case 'showcase':\n return
    \n

    {entry.title && entry.title.length < 90 ? entry.title : entry.title.substr(0, 90).trim() + '...'}

    \n

    {getDescText(entry)}

    \n
    ;\n }\n //}\n}\n\nListingCard.propTypes = {\n entry: PropTypes.object,\n settings: PropTypes.object\n};\n\n\nexport default ListingCard;","import ReactDOM from 'react-dom';\nimport React from 'react';\nimport { Provider } from 'react-redux';\nimport { RouterProvider } from 'react-router5';\nimport * as Actions from '../common/services/actions';\nimport configureStore from '../common/services/store';\nimport router from '../common/routes/router';\nimport Events from '../listings/events/events';\nimport EventsTabs from '../listings/events/eventsTabs';\n\nlet store;\n\nfunction EventsApp() {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nfunction EventsTabApp() {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport function renderEvents(id, mg, auth, micrositeRender, showcase, companyName) {\n\tif (!store) {\n\t\tstore = configureStore(router);\n\t}\n\tstore.dispatch(Actions.initialiseSettings('events', '', '', micrositeRender, '', companyName));\n\trouter.start(() => {\n\t\tReactDOM.render(, document.getElementById(id));\n\t});\n}\n\nexport function renderEventsTab(id) {\n\tif (!store) {\n\t\tstore = configureStore(router);\n\t}\n\tstore.dispatch(Actions.initialiseSettings('events'));\n\trouter.start(() => {\n\t\tReactDOM.render(, document.getElementById(id));\n\t});\n}"],"sourceRoot":""}