{"version":3,"sources":["assets/media/loading.gif","components/question.js","components/questions.js","components/headers.js","assets/scripts/apis.js","components/lastdate.js","components/alphaheaders.js","components/featuredquestions.js","assets/scripts/utilities.js","components/subjectareas.js","App.js","serviceWorker.js","index.js"],"names":["module","exports","Question","props","content","anchor","hash","i","toggleOnePanel","toggler","sticker","date","Date","Modified_Date","today","interval","parseInt","Sticker_Days","Number","isNaN","Sticker","Math","round","abs","console","log","useEffect","el","document","getElementById","parentElement","setTimeout","classList","add","offset","elY","getBoundingClientRect","top","scollTo","documentElement","style","window","scrollTo","behavior","scrollToTargetAdjusted","remove","Panel","key","ID","className","onToggle","expanded","Heading","Toggle","componentClass","id","QuestionID","href","Collapse","Body","dangerouslySetInnerHTML","__html","Answer","Questions","questions","hasAnchor","useState","setToggleOnePanel","toggleAllPanels","setToggleAllPanels","exec","location","handlePanelToggler","value","panelsAndStates","onClick","title","map","item","Headers","headers","abc","toggleAll","Header_Name","icon","API","fetchSubjectArea","catID","a","axios","get","result","data","message","fetchFeaturedQuestions","fetchFAQ","areaID","LastDate","subjectArea","area","AlphaHeader","match","subjectAreaId","setSubjectArea","romans","length","AlphaHeaderText","display","paddingRight","src","loader","alt","FeaturedQuestion","featuredFAQs","setFeaturedFAQs","Title","toggle","e","buttons","querySelectorAll","click","SubjectArea","subjAID","relatedInfo","setRelatedInfo","categoryID","find","Grid","fluid","Row","Col","xs","md","lg","Site_Display_Name","Alert","bsStyle","related_link","textAlign","marginBottom","preventDefault","print","replace","library","faChevronUp","faChevronDown","faSearch","App","Boolean","hostname","ReactDOM","render","navigator","serviceWorker","ready","then","registration","unregister"],"mappings":"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","file":"static/js/main.41db55c3.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/loading.5e607c8d.gif\";","// Core\nimport React, { useEffect } from \"react\";\n\n// Components - Contrib Libraries\nimport { Panel } from \"react-bootstrap\";\n\nfunction Question(props) {\n const { content, anchor, hash, i, toggleOnePanel, toggler } = props;\n\n let sticker = false;\n\n var date = new Date(content.Modified_Date);\n var today = new Date();\n var day = 24 * 60 * 60 * 1000;\n var interval = parseInt(content.Sticker_Days);\n\n if (!Number.isNaN(date) && content.Sticker !== \"None\") {\n sticker = Math.round(Math.abs((today - date) / day)) <= interval ? true : false;\n }\n\n //if (content.ID == \"55848\") console.log(content);\n console.log(anchor);\n\n useEffect(() => {\n if (anchor) {\n var el = document.getElementById(anchor).parentElement.parentElement;\n setTimeout(function () {\n el.classList.add(\"found\");\n scrollToTargetAdjusted(el, 40);\n }, 400);\n setTimeout(function () {\n el.classList.remove(\"found\");\n }, 4000);\n }\n }, []);\n\n function scrollToTargetAdjusted(el, offset) {\n var elY = el.getBoundingClientRect().top;\n var scollTo = elY - offset;\n\n const supportsNativeSmoothScroll = \"scrollBehavior\" in document.documentElement.style;\n if (supportsNativeSmoothScroll) {\n window.scrollTo({\n top: scollTo,\n behavior: \"smooth\",\n });\n } else {\n window.scrollTo(0, elY);\n }\n }\n\n return (\n {\n toggler({\n ...toggleOnePanel,\n [content.ID]: !toggleOnePanel[content.ID],\n });\n }}\n expanded={toggleOnePanel[content.ID]}\n >\n \n \n \n {i + 1}. {content.Question} {sticker && {content.Sticker}}\n \n \n \n \n \n \n );\n}\n\nexport default Question;\n","// Core\nimport React, { useState, useEffect } from \"react\";\n\n// Components - Custom\nimport Question from \"../components/question\";\n\nfunction Questions(props) {\n const { questions, hash, hasAnchor } = props;\n const [toggleOnePanel, setToggleOnePanel] = useState();\n const [toggleAllPanels, setToggleAllPanels] = useState(hasAnchor);\n\n if (hasAnchor) {\n var anchor = /\\?anchor=(.[^&]*)/gm.exec(window.location.href)[1];\n }\n\n useEffect(() => {\n var panelsAndStates = {};\n for (var item of questions) {\n panelsAndStates[item.ID] = hasAnchor;\n }\n setToggleOnePanel(panelsAndStates);\n }, [questions, hasAnchor]);\n\n function toggleAll() {\n var panelsAndStates = {};\n for (var item of questions) {\n panelsAndStates[item.ID] = !toggleAllPanels;\n setToggleAllPanels(!toggleAllPanels);\n }\n setToggleOnePanel(panelsAndStates);\n }\n\n function handlePanelToggler(value) {\n setToggleOnePanel(value);\n }\n\n if (!toggleOnePanel) return null;\n\n return (\n
\n
\n \n
\n {questions.map((item, i) => (\n \n ))}\n
\n );\n}\n\nexport default Questions;\n","// Core\nimport React, { useState, useEffect } from \"react\";\n\n// Components - Contrib Libraries\nimport { Panel } from \"react-bootstrap\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\n\n// Components - Custom\nimport Questions from \"../components/questions\";\n\nfunction Headers(props) {\n const { headers, hash, hasAnchor } = props;\n const [toggleOnePanel, setToggleOnePanel] = useState();\n const [toggleAllPanels, setToggleAllPanels] = useState(hasAnchor);\n const abc = [\"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\n useEffect(() => {\n var panelsAndStates = {};\n for (var item of headers) {\n panelsAndStates[item.ID] = hasAnchor;\n }\n setToggleOnePanel(panelsAndStates);\n }, [headers, hasAnchor]);\n\n function scrollToTargetAdjusted(el, offset) {\n var elY = el.getBoundingClientRect().top;\n var scollTo = elY - offset;\n\n const supportsNativeSmoothScroll = \"scrollBehavior\" in document.documentElement.style;\n if (supportsNativeSmoothScroll) {\n window.scrollTo({\n top: scollTo,\n behavior: \"smooth\",\n });\n } else {\n window.scrollTo(0, elY);\n }\n }\n\n function toggleAll() {\n var panelsAndStates = {};\n for (var item of headers) {\n panelsAndStates[item.ID] = !toggleAllPanels;\n setToggleAllPanels(!toggleAllPanels);\n }\n setToggleOnePanel(panelsAndStates);\n }\n\n if (!toggleOnePanel) return null;\n\n return (\n
\n {headers.map((item, i) => {\n if (item.Header_Name === \"\" || !item.Header_Name) {\n return ;\n } else {\n return (\n
\n {i === 0 && (\n
\n \n
\n )}\n {\n console.log('toggle')\n setToggleOnePanel({\n ...toggleOnePanel,\n [item.ID]: !toggleOnePanel[item.ID],\n });\n }}\n expanded={toggleOnePanel[item.ID]}\n >\n \n \n \n \n \n {abc[i]}. {item.Header_Name} \n \n \n \n \n \n \n \n \n \n
\n );\n }\n })}\n
\n );\n}\n\nexport default Headers;\n","import axios from \"axios\";\n\nvar API = \"https://search.grants.nih.gov/faq/api/\";\n\n// Loads all the information about a Category\nexport async function fetchCategory(catID) {\n //await setapi();\n const result = await axios.get(API + \"category/\" + catID);\n return result.data.message;\n}\n\n// Loads all the possible Subject Areas to produce a TOC\nexport async function fetchTOC() {\n //await setapi();\n const result = await axios.get(API + \"summary_subjects\");\n const cleanResult = result.data.message.filter((item) => {\n if (item.subjects.length) return true;\n else return false;\n });\n return cleanResult;\n}\n\n// Loads all the routes (links to a specific FAQ)\nexport async function fetchRoutes() {\n //await setapi();\n const result = await axios.get(API + \"summary_subjects_url\");\n const cleanResult = result.data.message\n .filter((item) => {\n try {\n new URL(item.URL);\n return item.URL;\n } catch (_) {\n return false;\n }\n })\n .filter((item) => {\n var url = new URL(item.URL);\n if (url.host === \"nih-extramural-intranet.od.nih.gov\") {\n item.URL = url.pathname;\n return true;\n }\n return false;\n });\n return cleanResult;\n}\n\n// Used in the subjectareas.js to load the content of a FAQ\nexport async function fetchSubjectArea(catID) {\n //await setapi();\n const result = await axios.get(API + \"subjects_in_category/\" + catID);\n return result.data.message;\n}\n\n// Loads the featured questions for a particular subject area\nexport async function fetchFeaturedQuestions(catID) {\n //await setapi();\n const { data } = await axios.get(API + \"featured_questions/\" + catID);\n return data;\n}\n\n// Loads the featured topics to be displayed on TOC page\nexport async function fetchFeaturedFAQTopics() {\n //await setapi();\n const result = await axios.get(API + \"featured_faqs\");\n return result.data.success;\n}\n\n// Loads a particular FAQ\nexport async function fetchFAQ(areaID) {\n //await setapi();\n const { data } = await axios.get(API + \"faq/\" + areaID);\n return data;\n}\n\n// Loads the questions and answers and related data. Used for search purposes.\nexport async function searchFAQcontent(query) {\n //await setapi();\n const { data } = await axios.get(API + \"search/question/\" + query);\n return data;\n}\n\n// Loads all the categories - Used to retrieve last updated date.\nexport async function lastUpdatedOn() {\n //await setapi();\n const { data } = await axios.get(API + \"categories/all\");\n return data;\n}\n","// Core\nimport React, { useState, useEffect } from \"react\";\n\n// Components - Custom\nimport { lastUpdatedOn } from \"../assets/scripts/apis\";\n\nfunction LastDate(props) {\n const subjectArea = props.data;\n\n for (var area of subjectArea) {\n for (var header of area.headers) {\n /*new Date(\n Math.max.apply(\n null,\n header.question.map(function (e) {\n return new Date(e.Modified_Date);\n })\n )\n );\n }*/\n }\n }\n\n return
;\n}\n\nexport default LastDate;\n","// Core\nimport React, { useState, useEffect } from \"react\";\n\n// Components - Contrib Libraries\nimport { Panel } from \"react-bootstrap\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\n\n// Components - Custom\nimport Header from \"../components/headers\";\nimport { fetchFAQ } from \"../assets/scripts/apis\";\nimport loader from \"../assets/media/loading.gif\";\nimport LastDate from \"../components/lastdate\";\n\nfunction AlphaHeader(props) {\n const hasAnchor = window.location.href.match(/\\?anchor=(.[^&]*)/gm) ? true : false;\n const { subjectAreaId, hash } = props;\n const [subjectArea, setSubjectArea] = useState();\n const [toggleOnePanel, setToggleOnePanel] = useState({});\n const [toggleAllPanels, setToggleAllPanels] = useState(hasAnchor);\n const romans = [\"I\", \"II\", \"III\", \"IV\", \"V\", \"VI\", \"VII\", \"VIII\", \"IX\", \"X\", \"XI\", \"XII\", \"XIII\", \"XIV\", \"XV\", \"XVI\", \"XVII\", \"XVIII\", \"XIX\", \"XX\"];\n\n useEffect(() => {\n (async () => {\n var data = await fetchFAQ(subjectAreaId);\n var panelsAndStates = {};\n for (var item of data.data) {\n panelsAndStates[item.ID] = hasAnchor;\n }\n setToggleOnePanel(panelsAndStates);\n setSubjectArea(data);\n })();\n }, [subjectAreaId, hasAnchor]);\n\n function toggleAll() {\n var panelsAndStates = {};\n for (var item of subjectArea.data) {\n panelsAndStates[item.ID] = !toggleAllPanels;\n setToggleAllPanels(!toggleAllPanels);\n }\n setToggleOnePanel(panelsAndStates);\n }\n\n if (!subjectArea || !subjectArea.data.length) {\n return (\n
\n \"loader\"\n
\n );\n }\n\n return (\n
\n {subjectArea.data.map((item, i) => {\n if (!item.AlphaHeaderText || item.AlphaHeaderText === \"\") {\n return
;\n } else {\n return (\n
\n
\n \n
\n {\n setToggleOnePanel({\n ...toggleOnePanel,\n [item.ID]: !toggleOnePanel[item.ID],\n });\n }}\n expanded={toggleOnePanel[item.ID]}\n >\n \n \n \n \n \n {romans[i]}. {item.AlphaHeaderText}\n \n \n \n \n \n
\n \n \n \n
\n );\n }\n })}\n \n
\n );\n}\n\nexport default AlphaHeader;\n","// Core\nimport React, { useState, useEffect } from \"react\";\n\n// Components - Contrib Libraries\nimport { Panel } from \"react-bootstrap\";\n\n// Components - Custom\nimport { fetchFeaturedQuestions } from \"../assets/scripts/apis\";\nimport loader from \"../assets/media/loading.gif\";\n\nfunction FeaturedQuestion(props) {\n const [featuredFAQs, setFeaturedFAQs] = useState();\n\n useEffect(() => {\n (async () => {\n var data = await fetchFeaturedQuestions(props.subjectAreaId);\n setFeaturedFAQs(data);\n })();\n }, [props.subjectAreaId]);\n\n if (!featuredFAQs) {\n return (\n
\n \"loader\"\n
\n );\n }\n\n if (featuredFAQs.length > 0) {\n return (\n
\n

Featured Questions

\n {featuredFAQs.map((item) => (\n \n \n \n
Q: {item.Question}
\n
\n
\n \n \n \n
\n ))}\n
\n );\n }\n return null;\n}\n\nexport default FeaturedQuestion;\n","export function excerptHighlight(text, textToHighlight, trim) {\n if (!text) return \"\";\n var regex = new RegExp(textToHighlight, \"gi\");\n if (text.search(regex)) {\n if (trim) {\n let strPos = text.indexOf(textToHighlight);\n var shortText = text.slice(Math.max(0, strPos - 80), strPos + textToHighlight.length + 80);\n return shortText.replace(regex, (match) => `${match}`);\n }\n return text.replace(regex, (match) => `${match}`);\n }\n return text;\n}\n\n/* Not used but can become useful\nexport function check4anchor() {\n if (window.location.href.match(/\\?anchor=(.[^&]*)/gm)) {\n return /\\?anchor=(.[^&]*)/gm.exec(window.location.href)[1];\n }\n}\n*/\n\nexport function toggleAll(e) {\n var buttons = document.querySelectorAll(\".allToggler button\");\n for (var button of buttons) button.click();\n}\n\n/* Unsed package.json configuration */\n// \"buildembed\": \"node src/assets/scripts/build-non-split.js && npm run buildembed:move\",\n// \"buildembed:move\": \"rm build/static/*/*.map && npm run buildembed:clean\",\n// \"buildembed:clean\": \"\",\n","// Core\nimport React, { useState, useEffect } from \"react\";\n\n// Components - Contrib\nimport { Grid, Row, Col, Alert } from \"react-bootstrap\";\n\n// Components - Custom\nimport AlphaHeader from \"./alphaheaders\";\nimport FeaturedQuestion from \"../components/featuredquestions\";\nimport { fetchSubjectArea } from \"../assets/scripts/apis\";\nimport { toggleAll } from \"../assets/scripts/utilities\";\n\nfunction SubjectArea(props) {\n const subjAID = parseInt(props.subjectAreaId);\n const [relatedInfo, setRelatedInfo] = useState({});\n\n useEffect(() => {\n (async () => {\n var data = await fetchSubjectArea(props.categoryID);\n var relatedInfo = data.find((item) => item.ID === subjAID);\n setRelatedInfo(relatedInfo);\n })();\n }, [props.categoryID]);\n\n function printPage(e) {\n if (e) e.preventDefault();\n window.print();\n }\n\n return (\n \n \n \n

{relatedInfo.Site_Display_Name}

\n Got Questions? We've Got Answers! The NIH and its individual\n Institutes/Centers offer an array of Frequently Asked Questions (and\n Answers) in response to inquiries on policies and programs affecting\n the grants process. Bookmark this page for future reference and watch\n for updates.\n \n \n \n \n
\n \n [Expand/Collapse Subject Area]\n \n \n [Print Page]\n \n
\n \n \n
\n
\n );\n}\n\nexport default SubjectArea;\n","// Core\nimport React, { useState, useEffect } from \"react\";\nimport \"./App.css\";\n\n// Components - Contrib Libraries\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\nimport { faChevronUp, faChevronDown, faSearch } from \"@fortawesome/free-solid-svg-icons\";\n\n// Components - Custom\nimport SubjectArea from \"./components/subjectareas\";\n\n/* ============================================================================ */\n/* CURRENT FAQ STRUCTURE \n/* ---------------------------------------------------------------------------- \n\n use the above page as reference\n https://grants.nih.gov/grants/frequent_questions.htm\n \n Top Categories (Main categorization criteria)\n |__ Subject Areas (Nested categorization criteria)\n |__ Alpha Header (Nested categorization criteria)\n |__ Headers (Nested categorization criteria)\n |__ Questions (The actual Frequently Asked Question) \n\n/* ============================================================================ */\n\nlibrary.add(faChevronUp, faChevronDown, faSearch);\n\nfunction App() {\n\n return (\n <>\n

Frequently Asked Questions (FAQs)

\n \n \n \n );\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === \"localhost\" ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === \"[::1]\" ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === \"production\" && \"serviceWorker\" in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener(\"load\", () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\"This web app is being served cache-first by a service worker. To learn more, visit https://bit.ly/CRA-PWA\");\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then((registration) => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === \"installed\") {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\"New content is available and will be used when all tabs for this page are closed. See https://bit.ly/CRA-PWA.\");\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log(\"Content is cached for offline use.\");\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch((error) => {\n console.error(\"Error during service worker registration:\", error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { \"Service-Worker\": \"script\" },\n })\n .then((response) => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get(\"content-type\");\n if (response.status === 404 || (contentType != null && contentType.indexOf(\"javascript\") === -1)) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then((registration) => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\"No internet connection found. App is running in offline mode.\");\n });\n}\n\nexport function unregister() {\n if (\"serviceWorker\" in navigator) {\n navigator.serviceWorker.ready.then((registration) => {\n registration.unregister();\n });\n }\n}\n","import \"react-app-polyfill/ie11\";\nimport \"react-app-polyfill/stable\";\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport \"./index.css\";\nimport App from \"./App\";\nimport * as serviceWorker from \"./serviceWorker\";\n\nReactDOM.render(, document.getElementById(\"root\"));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""}