{"version":3,"file":"component---src-templates-all-posts-jsx-6badf417ab67088bda84.js","mappings":"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","sources":["webpack://gatsby-source-plugin-workshop/./src/components/ArchiveList.jsx","webpack://gatsby-source-plugin-workshop/./src/components/EbookWidget.jsx","webpack://gatsby-source-plugin-workshop/./src/components/SidebarSearch.jsx","webpack://gatsby-source-plugin-workshop/./src/templates/all-posts.jsx","webpack://gatsby-source-plugin-workshop/./src/assets/img/icon-ebook.svg"],"sourcesContent":["import React, {useEffect, useState} from 'react';\r\nimport { Link } from 'gatsby';\r\n\r\nconst Archivelist = ({props}) => {\r\n\r\n const [archives, setArchives] = useState([]);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [archivesPerPage, setArchivesPerPage] = useState(10);\r\n let pageNumbers = [];\r\n\r\n useEffect(() => {\r\n setArchives(props.allPosts);\r\n setArchivesPerPage(archivesPerPage);\r\n setStartPage();\r\n }, []);\r\n\r\n const indexOfLastArchive = currentPage * archivesPerPage;\r\n const indexOfFirstArchive = indexOfLastArchive - archivesPerPage;\r\n const currentArchives = archives.slice(indexOfFirstArchive, indexOfLastArchive);\r\n\r\n for (let i=1; i<=Math.ceil(archives.length / archivesPerPage); i++) {\r\n pageNumbers.push(i);\r\n }\r\n const paginate = (event, pageNumber) => {\r\n event.preventDefault()\r\n event.stopPropagation()\r\n setCurrentPage(pageNumber);\r\n }\r\n const setStartPage = () => {\r\n if (props.postId) {\r\n var archivePages = props.allPosts.reduce((pageArray, item, index) => { \r\n const chunkIndex = Math.floor(index/archivesPerPage)\r\n\r\n if(!pageArray[chunkIndex]) {\r\n pageArray[chunkIndex] = [] // start a new chunk\r\n }\r\n\r\n pageArray[chunkIndex].push(item)\r\n\r\n return pageArray\r\n }, [])\r\n let startPage = 1;\r\n let iterator = 0;\r\n archivePages.map((chunk) => {\r\n let chunkNum = chunk.findIndex(item => parseInt(item.id) === props.postId);\r\n if (chunkNum > -1) {\r\n startPage = (iterator + 1);\r\n }\r\n iterator++;\r\n });\r\n setCurrentPage(startPage);\r\n }\r\n }\r\n \r\n\r\n const renderPostLink = (post) => {\r\n let link = <>;\r\n switch (post.postType) {\r\n case \"curated\":\r\n const linkRx = /]*?\\s+)?href=([\"'])(.*?)\\1/;\r\n const linkUrl = (post.content.match(linkRx)[2]);\r\n link = {post.title}\r\n break;\r\n default:\r\n {(() => {\r\n switch (post.id) {\r\n case props.postId:\r\n link = {post.title}\r\n break;\r\n default:\r\n link = {post.title}\r\n break;\r\n }\r\n })()}\r\n \r\n }\r\n return link;\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n {currentArchives.map(post => (\r\n
  1. \r\n {post.date}\r\n
    {renderPostLink(post)}\r\n
  2. \r\n ))}\r\n
\r\n \r\n \r\n\r\n );\r\n}\r\n\r\nexport default Archivelist;\r\n","import React from 'react';\r\nimport { Link } from 'gatsby';\r\nimport IconEbook from \"../assets/img/icon-ebook.svg\";\r\n\r\nconst Ebookwidget = (props) => {\r\n return (\r\n
\r\n
\r\n \"eBook\"\r\n
eBook: Cloud Computing
\r\n

Download Now! Plan for now, prepare for tomorrow with the latest insights on Cloud Computing in our rapidly changing digital world.

\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default Ebookwidget;\r\n","import React, {useEffect, useState} from 'react';\r\nimport { searchUtils } from '../assets/js/searchUtils';\r\nimport { Link, navigate } from 'gatsby';\r\nimport { useDispatch } from 'react-redux';\r\nimport { setSearchState } from '../state/searchState';\r\n\r\nconst SidebarSearch = ({props}) => {\r\n\r\n\tconst [keywordArray, setKeywordArray] = useState([]);\r\n\tconst [filteredKeywords, setFilteredKeywords] = useState([]);\r\n\tconst [searchTerm, setSearchTerm] = useState(\"\");\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst navigateToSearch = () => {\r\n navigate(\"/knowledge-exchange/search\")\r\n }\r\n\r\n\tconst selectKeyword = (event, keyword) => {\r\n\t\tevent.preventDefault()\r\n\t\t//event.stopPropagation()\r\n\t\tlet searchCriteria = 'any';\r\n\t\t// if keyword is multiple words set criteria to 'all words'\r\n\t\tif (keyword.split(\" \").length > 1) {\r\n\t\t\tsearchCriteria = 'all';\r\n\t\t} else {\r\n\t\t\tsearchCriteria = checkforAIterm(keyword);\r\n\t\t}\r\n\t\tsetSearchTerm(keyword);\r\n\t\tdispatch(setSearchState({searchTerm: keyword, searchCriteria: searchCriteria}));\r\n\t\tnavigateToSearch();\r\n }\r\n\r\n\tconst checkforAIterm = (term) => {\r\n\t\tlet srcCrit = \"any\";\r\n\t\tif (term.trim().toLowerCase() === \"ai\" ) {\r\n\t\t\tsrcCrit = \"phrase\";\r\n\t\t}\r\n\t\treturn srcCrit;\r\n\t}\r\n\r\n\tconst filterKeywords = (searchVal) => {\r\n\t\tlet filtered = [];\r\n\t\tsearchVal = searchVal.replace(/ +/g, ' ');\r\n\t\tsetSearchTerm(searchVal);\r\n\t\tlet searchValArray = searchVal.trim().split(\" \");\r\n\t\tlet term = \"\";\r\n\t\tlet myRE = new RegExp();\r\n\t\tlet allConfirmation = true;\r\n\t\tlet matchAllResult = {};\r\n\t\tlet matchResults = [];\r\n\r\n\t\tfor (let i=0; i < keywordArray.length; i++) {\r\n\t\t\tallConfirmation = true;\r\n\t\t\tfor (let j=0; j < searchValArray.length; j++) {\r\n\t\t\t\tterm = searchUtils.sanitizeInput(searchValArray[j]);\r\n\t\t\t\tmyRE = new RegExp(term, \"gi\");\r\n\t\t\t\tmatchAllResult = keywordArray[i].matchAll(myRE);\r\n\t\t\t\tmatchResults = Array.from(matchAllResult);\r\n\t\t\t\tif (matchResults?.length > 0) {\r\n\t\t\t\t\t// console.log(keywordArray[i] + \" contains :\" + term)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tallConfirmation = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (allConfirmation) {\r\n\t\t\t\tfiltered.push(keywordArray[i]);\r\n\t\t\t}\r\n\t\t}\r\n\t\tsetFilteredKeywords(filtered);\r\n };\r\n\r\n const handleKeyPress = (e) => {\r\n\tif (e.key === 'Enter') {\r\n\t\tif (searchTerm !== '') {\r\n\t\t\tlet searchCrit = checkforAIterm(searchTerm);\r\n\t\t\tdispatch(setSearchState({searchTerm: searchTerm, searchCriteria: searchCrit}));\r\n\t\t\tnavigateToSearch();\r\n\t\t}\r\n\t}\r\n };\r\n\r\n const handleClickSearchBut = (e) => {\r\n\tif (searchTerm !== '') {\r\n\t\tlet searchCrit = checkforAIterm(searchTerm);\r\n\t\tdispatch(setSearchState({searchTerm: searchTerm, searchCriteria: searchCrit}));\r\n\t\tnavigateToSearch();\r\n\t}\r\n };\r\n\r\n useEffect(() => {\r\n\r\n\t\t\tlet allKeywords = [];\r\n\t\t\tlet postKeyWords = \"\";\r\n\t\t\tlet thisPostKeyword = \"\";\r\n\t\t\tlet postKeywordArray = [];\r\n\t\t\t\r\n\t\t\tprops.allPosts.forEach((post, index) => {\r\n\t\t\t\tif (post.keywords) {\r\n\t\t\t\t\tpostKeyWords = post.keywords;\r\n\t\t\t\t\tpostKeywordArray = postKeyWords.split(\",\");\r\n\t\t\t\t\tpostKeywordArray.forEach((keywd, index) => {\r\n\t\t\t\t\t\tthisPostKeyword = keywd.toLowerCase().trim();\r\n\t\t\t\t\t\tif (thisPostKeyword !== '') {\r\n\t\t\t\t\t\t\tallKeywords.push(thisPostKeyword);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tallKeywords.sort();\r\n\t\t\tlet uniqueKeywords = new Set(allKeywords);\r\n\t\t\tlet autoCompleteArray = [];\r\n\t\t\tuniqueKeywords.forEach((kwd, index) => {\r\n\t\t\t\tautoCompleteArray.push(kwd)\r\n\t\t\t});\r\n\t\t\tsetKeywordArray(autoCompleteArray);\r\n\t\t\t\r\n\r\n }, []);\r\n\r\n return (\r\n <>\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t filterKeywords(event?.target?.value)} value={searchTerm} />\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    0 ? 'visible' : 'hidden' }}>\r\n\t\t\t\t\t\t\t\t{filteredKeywords.map((kwd, idx) => (\r\n\t\t\t\t\t\t\t\t\t
  • selectKeyword(e, kwd)}>{kwd}
  • \r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\r\n \r\n );\r\n}\r\n\r\nexport default SidebarSearch;\r\n","import React, {useEffect} from 'react';\r\nimport { Link } from 'gatsby';\r\nimport Head from '../components/Head';\r\nimport Layout from \"../components/Layout\";\r\nimport Archivelist from '../components/ArchiveList';\r\nimport Ebookwidget from '../components/EbookWidget';\r\nimport SidebarSearch from '../components/SidebarSearch';\r\nimport '../assets/css/blog.css';\r\n\r\nconst AllPosts = ({ pageContext: { allPosts } }) => {\r\n\r\n //console.log(\"allPosts from AllPosts:\" + JSON.stringify(allPosts));\r\n\r\n const leadStory = allPosts[0];\r\n let followingTwoStories = [];\r\n let fireHosePosts = [];\r\n if (allPosts.length >= 3) {\r\n followingTwoStories.push(allPosts[1]);\r\n followingTwoStories.push(allPosts[2])\r\n }\r\n if (allPosts.length >= 4) {\r\n const remainingStories = allPosts.length - 3;\r\n fireHosePosts = allPosts.slice(-remainingStories);\r\n }\r\n\r\n //renderPostLink\r\n const renderPostLink = (linkParams) => {\r\n let link = <>;\r\n switch (linkParams.post.postType) {\r\n case \"curated\":\r\n const linkRx = /]*?\\s+)?href=([\"'])(.*?)\\1/;\r\n const linkUrl = (linkParams.post.content.match(linkRx)[2]);\r\n link = Go to article...\r\n break;\r\n default:\r\n link = Continue reading...\r\n }\r\n return link;\r\n }\r\n\r\n const formatDate = (post) => {\r\n const dateOptions = { year: 'numeric', month: 'short', day: 'numeric' };\r\n let postDate = new Date(post.date);\r\n return(postDate.toLocaleDateString(\"en-US\", dateOptions));\r\n }\r\n\r\n // the two 'following stories' in cards\r\n const renderFollowingTwoStories = (stories) => {\r\n return (\r\n
\r\n {stories.map((story, index) => (\r\n
\r\n
\r\n
 
\r\n
\r\n

{story.title}

\r\n
{story.author}, {formatDate(story)}
\r\n { }\r\n
\r\n {renderPostLink(\r\n {\r\n post: story,\r\n class: \"align-items-end stretched-link\"\r\n }\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n ))}\r\n\r\n
\r\n )\r\n\r\n }\r\n\r\n\r\n return (\r\n \r\n \r\n