{"version":3,"file":"static/chunks/pages/research-papers-c8211f3e70672510.js","mappings":"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","sources":["webpack://_N_E/./utils/searchMediaLibrary.js","webpack://_N_E/./src/shared/hooks/useMediaLibraryListSearch.js","webpack://_N_E/./pages/research-papers/index.js","webpack://_N_E/?8fd4"],"sourcesContent":["import request from './axios';\n\n/**\n * @typedef {object} Result\n * @property {object} AttachmentResourceGroups\n */\n\n/**\n * Request for content page with ported query params from old urls.\n * Use single = true for one result, otherwise an array or results is returned.\n *\n * @param {object} options - see typedef\n * @param {object} options.attachmentResourceGroups -\n * @param {string} options.sortField - viable values: [pagetitle, owner, and status]. Otherwise ignored.\n * @param {boolean} [options.single=true] -\n * @param {number|string} [cat1Id=null] - Publications -> 9996, Meetings -> 9997, News Releases -> 9998\n * @returns {Result|Array} - Result(s) -- See typedef\n */\nexport default async function fetchContent(options, axiosConfig = {}) {\n const fetchOptionsKeys = Object.keys(options);\n const onlyFetchOptions =\n fetchOptionsKeys.length === 1 && fetchOptionsKeys[0] === 'fieldOptionsToReturn';\n\n const { single = false, fieldOptionsToReturn = [] } = options;\n\n const body = generatePostData(options);\n\n try {\n let searchResponse = { data: { Results: [] } };\n if (!onlyFetchOptions) {\n searchResponse = await request({\n url: `cms/whitepaperslibraryattachments`,\n method: 'POST',\n data: body,\n cache: true,\n cacheTime: 15,\n ...axiosConfig,\n });\n }\n const { MediaLibraryAttachmentsResults, Count } = searchResponse.data;\n\n const searchOptions = {};\n if (fieldOptionsToReturn.length) {\n const optionsResponse = await request('cms/whitepapersattachmentsoptions', {\n cache: true,\n cacheTime: 60 * 24,\n ...axiosConfig,\n });\n const { FieldOptions } = optionsResponse.data;\n for (let i = 0; i < fieldOptionsToReturn.length; i += 1) {\n const foKey = fieldOptionsToReturn[i];\n searchOptions[foKey] = FieldOptions[foKey];\n }\n }\n\n if (onlyFetchOptions) return { options: searchOptions };\n\n if (\n !MediaLibraryAttachmentsResults ||\n (Array.isArray(MediaLibraryAttachmentsResults) && !MediaLibraryAttachmentsResults.length)\n ) {\n throw new Error(\n `Page Data not found with options: ${Object.entries(options)\n .map(([key, val]) => `${key}: ${val}`)\n .join(' | ')}`\n );\n }\n\n return {\n results: single ? MediaLibraryAttachmentsResults[0] : MediaLibraryAttachmentsResults,\n options: searchOptions,\n cached: searchResponse.cached,\n count: Count,\n };\n } catch (error) {\n throw new Error(\n `Catch: Page Data not found with options: ${Object.entries(options)\n .map(([key, val]) => `${key}: ${val}`)\n .join(' | ')}`\n );\n }\n}\n\nexport function generatePostData(options) {\n const {\n attachmentResourceGroups,\n sortField, // pagetitle, owner, and status (otherwise it defaults to publish date)\n sortOrder = null,\n pageSize = null,\n page = null,\n } = options;\n\n return JSON.stringify({\n FieldOptions: {\n AttachmentResourceGroups: attachmentResourceGroups,\n Page: page,\n PageSize: pageSize,\n SortOrder: sortOrder,\n SortField: sortField,\n },\n });\n}\n","import { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\n\nimport searchMediaContent, { generatePostData } from '@/utils/searchMediaLibrary';\nimport { getPathWithParams } from '@/utils/utils';\n\n/**\n *\n * @param {object} searchOptions searchMediaContent options. See utils/searchMediaContent\n * @returns {[boolean, Array]} Search Results\n */\nexport default function useMediaListSearch(searchOptions) {\n const searchPayload = {\n ...searchOptions,\n };\n const pathWithData = getPathWithParams({\n baseURL: process.env.NEW_API_URL,\n url: 'cms/whitepaperslibraryattachments',\n data: generatePostData(searchPayload),\n method: 'post',\n });\n const cache = useSelector(\n state => JSON.parse(state?.pageLoad?.pageCaches?.[pathWithData]?.data || '{}')?.Results || []\n );\n const [results, setResults] = useState([]);\n const [loading, setLoading] = useState(false);\n const [cached, setCached] = useState(false);\n\n useEffect(() => {\n if (cache && cache.length) {\n setCached(true);\n return;\n }\n (async function mounted() {\n try {\n setLoading(true);\n const response = await searchMediaContent(searchPayload);\n setResults(response.results);\n setCached(response.cached);\n setLoading(false);\n } catch (error) {\n setResults([]);\n setLoading(false);\n }\n })();\n }, []);\n\n useEffect(() => {\n if (cached) {\n (async function reMounted() {\n try {\n const response = await searchMediaContent(searchPayload, {\n triggerLoad: false,\n serveFromCache: false,\n });\n if (JSON.stringify(response.results) !== JSON.stringify(results)) {\n // diff detected\n setResults(response.results);\n } else {\n // results are the same\n }\n setCached(false);\n } catch (error) {\n // noop\n }\n })();\n }\n }, [cached]);\n\n return [loading, results.length ? results : cache];\n}\n","import React from 'react';\n\nimport ContentPage from '@/src/cms/components/CMSPage/Content';\nimport useMediaListSearch from '@/src/shared/hooks/useMediaLibraryListSearch';\n\nconst ResearchPapers = props => {\n const [loading, results, cacheKey] = useMediaListSearch({\n attachmentResourceGroups: [{ Value: 1 }],\n });\n const whitepapers = { MediaLoading: loading, MediaResults: results, CachedKey: cacheKey };\n return ;\n};\n\nexport async function getStaticProps() {\n return {\n props: {\n sitepageid: 72451,\n },\n };\n}\n\nexport default ResearchPapers;\n","\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/research-papers\",\n function () {\n return require(\"private-next-pages/research-papers/index.js\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/research-papers\"])\n });\n }\n "],"names":["fetchContent","options","axiosConfig","fetchOptionsKeys","Object","keys","onlyFetchOptions","length","single","fieldOptionsToReturn","body","generatePostData","searchResponse","data","Results","request","url","method","cache","cacheTime","MediaLibraryAttachmentsResults","Count","searchOptions","optionsResponse","FieldOptions","i","foKey","Array","isArray","Error","entries","map","key","val","join","results","cached","count","attachmentResourceGroups","sortField","sortOrder","pageSize","page","JSON","stringify","AttachmentResourceGroups","Page","PageSize","SortOrder","SortField","useMediaListSearch","searchPayload","pathWithData","getPathWithParams","baseURL","process","useSelector","state","parse","pageLoad","pageCaches","useState","setResults","loading","setLoading","setCached","useEffect","searchMediaContent","response","triggerLoad","serveFromCache","props","Value","whitepapers","MediaLoading","MediaResults","CachedKey","Content","specialContentDataNoAuth","window","__NEXT_P","push"],"sourceRoot":""}