{"version":3,"sources":["components/SelectDate.js","components/ArticleList.js","App.js","reportWebVitals.js","index.js"],"names":["Option","Select","PickerWithType","type","onChange","fbd","console","log","receivedType","picker","SwitchablePicker","props","useState","setType","setPicker","term","setTerm","size","className","value","filterByDate","bordered","showArrow","gutter","span","onSDateChange","moment","format","SDateFormatter","onEDateChange","EDateFormatter","onClick","onClearChange","Search","Input","TabPane","Tabs","message","config","top","duration","maxCount","rtl","apiSearch","today","Date","String","getFullYear","keyType","showInTab","loadingMagn","beginDate","finalDate","newStartingDate","newFinalDate","oldQuery","counts","under_limit","getApiQuery","query","search","getCountApiQuery","authorValidation","article","author","length","author_id","full_name","get_list","articles","loading","map","title","target","href","item","release_date","page","ArrowRightOutlined","tag","x","tag_id","subject","compareTitle","a","b","title1","title2","replace","compareDateOld","compareDateNew","compareAuthor","hasOwnProperty","fname_a","first_name","fname_b","lname_a","last_name","lname_b","getUniqueListBy","arr","key","Map","values","ArticleList","state","found","current_search","from_keyboard","is_temp","cur_page","page_size","cur_articles","last_key","clearListWhenChanged","setState","callback","updateArticleList","onSearch","handleSearchChange","e","this","axios","get","then","res","Array","from","data","catch","prevProps","bDate","new_key","eDate","error","content","style","fontSize","articlesRaw","defaultSort","sort","search_state","num","pagination_change","page_size_change","menu","menuArticles","Item","pageSizeOptions","begin_page","final_page","total","slice","overlay","preventDefault","DownOutlined","current","onShowSizeChange","pageSize","showQuickJumper","showSizeChanger","forEach","i","defaultActiveKey","centered","tab","showSearchResults","showKeyword","mysearch","justify","id","placeholder","enterButton","performSearch","React","Component","Content","Layout","Sider","BisonSearch","handleClearDate","isPopconfirmVisible","handleBeginDate","handleFinalDate","handleChange","selectedOption","document","querySelector","articleListElement","onCollapse","collapsed","handleYesPop","success","handleNoPop","initialState","createRef","breakpoint","collapsedWidth","data-id","theme","mode","defaultSelectedKeys","icon","BarsOutlined","UserOutlined","ReadOutlined","TagOutlined","okText","cancelText","visible","onConfirm","onCancel","margin","ref","ArrowUpOutlined","App","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","StrictMode","getElementById"],"mappings":"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","file":"static/js/main.f0197e1d.chunk.js","sourcesContent":["import React, { useState } from \"react\";\nimport \"antd/dist/antd.css\";\nimport { DownOutlined } from \"@ant-design/icons\";\nimport { DownCircleOutlined } from '@ant-design/icons'\n\nimport { DatePicker, Select, Space, Row, Col, Button } from \"antd\";\n\nconst { Option } = Select;\n\nvar sDate, fDate;\n\nfunction PickerWithType({ type, onChange, fbd }) {\n console.log(\"This is the type of what? Well of this: \");\n console.log(type);\n\n var receivedType = type;\n\n if (fbd) {\n console.log(\"Switching to date from PickerWithType()\");\n type = \"date\";} else type = receivedType;\n\n if (type === \"date\") return ;\n return ;\n}\n\nfunction SDateFormatter(moment, type, fbd) {\n var receivedType = type;\n\n if (fbd) {\n console.log(\"Switching to date from PickerWithType()\");\n type = \"date\";} else type = receivedType;\n\n\n if (moment == null) {\n return \"0000\";\n }\n\n if (type === \"date\") {\n return moment.format(\"YYYY-MM-DD\");\n } else if (type === \"month\") {\n return moment.format(\"YYYY-MM\");\n } else {\n return moment.format(\"YYYY\");\n }\n}\n\nfunction EDateFormatter(moment, type, fbd) {\n var receivedType = type;\n\n if (fbd) {\n console.log(\"Switching to date from PickerWithType()\");\n type = \"date\";} else type = receivedType;\n\n if (moment == null) {\n return \"9999\";\n }\n\n if (type === \"date\") {\n return moment.format(\"YYYY-MM-DD\");\n } else if (type === \"month\") {\n return moment.format(\"YYYY-MM\");\n } else {\n return moment.format(\"YYYY\");\n }\n}\n\nfunction SwitchablePicker(props) {\n const [type, setType] = useState(\"year\");\n const [picker, setPicker] = useState(0);\n const [term, setTerm] = useState(0);\n\n function clearer() {\n setPicker(picker + 1);\n setTerm(0);\n props.onClearChange();\n }\n \n // console.log(\"From SwitchablePicker Component:\");\n // console.log(props.filterByDate);\n // if (props.filterByDate) setType(\"date\");\n\n return (\n
\n \n

Filter By:

\n {\n // var typeTemp = type;\n // if (props.filterByDate) {\n // // props.filterByDate = false;\n // return \"date\";\n // } else {\n // return typeTemp;\n // }\n // }}\n bordered={false}\n onChange={setType}\n // showArrow={true}\n // suffixIcon={}\n // forceShowArrow={true}\n showArrow\n >\n \n \n \n\n {/* \n \n */}\n \n
\n {/* */}\n\n\n \n \n

From:

\n \n \n (\n props.onSDateChange(SDateFormatter(value, type, props.filterByDate)),\n setTerm(term + 1)\n )}\n fbd={props.filterByDate}\n />\n \n
\n\n \n \n

To:

\n \n \n (\n props.onEDateChange(EDateFormatter(value, type, props.filterByDate)),\n setTerm(term + 1)\n )\n }\n fbd={props.filterByDate}\n />\n \n
\n {term !== 0 ? (\n <>\n \n clearer()}\n >\n Clear\n \n \n \n ) : (\n <>\n )}\n\n
\n );\n\n \n}\n\nexport default SwitchablePicker;\n","import React from \"react\";\nimport axios from \"axios\";\nimport {\n Pagination,\n Input,\n Card,\n Tooltip,\n Button,\n Tag,\n Row,\n Col,\n Tabs\n} from \"antd\";\nimport { Menu, Dropdown, message } from \"antd\";\nimport { DownOutlined } from \"@ant-design/icons\";\nimport { ArrowRightOutlined } from \"@ant-design/icons\";\nimport \"antd/dist/antd.css\";\nimport { formatCountdown } from \"antd/lib/statistic/utils\";\n\nconst inputElement = \"ant-input\";\n\nconst { Search } = Input;\nconst { TabPane } = Tabs;\nmessage.config({\n top: 100,\n duration: 1.5,\n maxCount: 1,\n rtl: true,\n // prefixCls: 'my-message',\n});\nvar shouldClear = false;\n// searchRef = React.createRef();\n\n\n// API for Articles with 3 lvl field *.*.*\nconst apiSearch = \"https://digital.harding.edu/BisonsUI/API/\";\n\n// Globals\n\nvar today = new Date();\nvar currentStartingYear = String(today.getFullYear() - 50);\n// var currentStartingYear = '0000';\nvar currentEndingYear = String(today.getFullYear());\n\nvar type = \"article\";\nvar keyType = \"title\";\nvar showInTab = false;\nvar loadingMagn = false;\n// var beginDate = currentStartingYear;\n// var finalDate = currentEndingYear;\nvar beginDate = \"0000\";\nvar finalDate = \"9999\";\n// var newStartingDate = currentStartingYear;\n// var newFinalDate = currentEndingYear;\nvar newStartingDate = \"0000\";\nvar newFinalDate = \"9999\";\nvar oldQuery = \"bison\";\nvar counts = [0, 0, 0];\nvar under_limit = true;\n\nfunction restartBeginDate(){\n beginDate = \"2000\";\n newStartingDate = \"2000\";\n}\n\nfunction getApiQuery(query) {\n console.log(\"type: \" + type);\n\n var search = apiSearch;\n search += \"?type=\" + type;\n search += \"&query=\" + query;\n search += \"&bdate=\" + beginDate;\n search += \"&edate=\" + finalDate;\n console.log(\"The APIQUERY is \" + search);\n return search;\n}\n\nfunction getCountApiQuery(query) {\n console.log(\"type: \" + type);\n\n var search = apiSearch + \"countApi.php/\";\n search += \"?type=\" + type;\n search += \"&query=\" + query;\n search += \"&bdate=\" + beginDate;\n search += \"&edate=\" + finalDate;\n console.log(\"The CountAPIQUERY is \" + search);\n\n return search;\n}\n\nfunction getArticleURL(item) {\n return (\n \"https://digital.harding.edu/thebison/\" +\n item.release_date +\n \".pdf#page=\" +\n item.page\n );\n}\n\nfunction authorValidation(article) {\n // if (article.author === undefined || article.author.length === 0) {\n if (!article.author?.length) {\n return \"unknown\";\n } else {\n var full_name = article.author[0].author_id.full_name;\n return full_name;\n }\n}\n\nfunction get_temp_list() {\n const temp_articles = [1, 2, 3, 4, 5];\n\n return temp_articles.map((article) => (\n \n ));\n}\n\nfunction get_list(articles, query, loading) {\n return articles.map((article) => (\n \n \n \n

{article.title}

\n \n \n \n }\n >\n \n \n \n \n
\n\n

\n In: {article.release_date}, page: {article.page}\n

\n\n

By: {authorValidation(article)}

\n\n
\n {article.tag.map((x) => (\n {x.tag_id.subject}\n ))}\n
\n
\n ));\n}\n\nfunction not_found(query) {\n console.log(query);\n return (\n \n

{'Your search: \"' + query + '\" found no results.'}

\n
\n );\n}\n\nfunction get_search_result_num(num) {\n if (num >= 500) {\n under_limit = false;\n return

Your search found over {num} results.
Please use the Date Limiter to further refine search results.

;\n } else {\n under_limit = true;\n return

Your search found {num} results.

;\n }\n}\n\n// Comparators for Sorting:\nfunction compareTitle(a, b) {\n console.log(\"Comparing by title\");\n console.log(a.title);\n console.log(b.title);\n var title1 = a.title;\n var title2 = b.title;\n\n title1 = title1.replace(/[&\\/\\\\#,+()$~%.'\":*?<>{}]/g, \"\");\n title2 = title2.replace(/[&\\/\\\\#,+()$~%.'\":*?<>{}]/g, \"\");\n\n return title1 > title2 ? 1 : -1;\n}\n\nfunction compareDateOld(a, b) {\n if (a.release_date && b.release_date){\n\n console.log(\"Comparing by date old\");\n return a.release_date > b.release_date ? 1 : -1;\n } else {\n console.log(\"compareDateOld() could not compare\");\n }\n}\n\nfunction compareDateNew(a, b) {\n if (a.release_date && b.release_date){\n console.log(\"Comparing by date new\");\n return a.release_date > b.release_date ? -1 : 1;\n } else {\n console.log(\"compareDateNew() Could not compare!\");\n }\n}\n\nfunction compareAuthor(a, b) {\n console.log(\"Comparing by author\");\n console.log(\"a is\");\n console.log(a);\n console.log(\"b is\");\n console.log(b);\n // if (!a.author || !a.author.length){\n // console.log(\"a.author WAS NULL!\");\n // return 1;\n // } else if (!b.author || !b.author.length) {\n // console.log(\"b.author WAS NULL\");\n // return -1;\n // }\n\n // if (!((!a.author || !a.author.length) && (!b.author || !b.author.length)))\n // if a.author && b.author are truthy, then probably safe to process\n // if ((a.author && a.author.length) && (b.author && b.author.length)) {\n if ((!a.author?.length) && (!b.author?.length)) {\n \n \n // if (!a.author || !a.author.length){\n // return 1;\n // }\n\n // if (!b.author || !b.author.length){\n // return -1;\n // }\n\n if (a.author[0] == null || !a.author[0].hasOwnProperty(\"author_id\")) {\n return 1;\n }\n if (b.author[0] == null || !b.author[0].hasOwnProperty(\"author_id\")) {\n return -1;\n }\n console.log(\"assigning variables\");\n // var fname_a = a.author[0].author_id.first_name;\n // var fname_b = b.author[0].author_id.first_name;\n // var lname_a = a.author[0].author_id.last_name;\n // var lname_b = b.author[0].author_id.last_name;\n var fname_a = a.author[0].author_id.first_name;\n var fname_b = b.author[0].author_id.first_name;\n var lname_a = a.author[0].author_id.last_name;\n var lname_b = b.author[0].author_id.last_name;\n console.log(fname_a);\n console.log(fname_b);\n console.log(lname_a);\n console.log(lname_b);\n \n // Order by Lastname\n if (lname_b > lname_a) {\n // console.log(\"lname_b > lname_a\");\n return -1;\n }\n // Same last name\n else if (lname_b == lname_a) {\n // Order by first name\n // console.log(\"lname_b == lname_a\");\n if (fname_b > fname_a) {\n // console.log(\"fname_b > fname_a\");\n return -1;\n } else {\n // console.log(\"it was not fname_b > fname_a\");\n return 1;\n }\n } else {\n // console.log(\"it was not lname_b == lname_a nor lname_b > lname_a\");\n return 1;\n }\n } \n // else if (!a.author || !a.author.length){\n // return 1;\n // }\n\n // else if (!b.author || !b.author.length){\n // return -1;\n // }\n \n}\n\n// function returnBy(item, key){\n// if (item[key]) {\n// return [item[key], item];\n// }\n// }\n\nfunction getUniqueListBy(arr, key) {\n // arr.reverse();\n // return [...new Map(arr.map((item) => {\n // if (item[key]){\n // return [item[key], item];\n // }\n // })).values()];\n // return [...new Map(arr.map(function (item) { if (item[key]) return [item[key], item]})).values()];\n \n \n //original function\n return [...new Map(arr.map((item) => [item[key], item])).values()];\n\n //added 09/23/21\n // return [...new Map(arr2.map((item) => [item[key], item])).values()];\n}\n\n// Article List Class\nexport default class ArticleList extends React.Component {\n state = {\n articles: [],\n found: false,\n current_search: \"\",\n from_keyboard: \"\",\n loading: true,\n // loading: this.props.searching,\n is_temp: true,\n cur_page: 1,\n page_size: 10,\n cur_articles: null,\n last_key: 0,\n };\n\n //added 9/9/2021\n clearListWhenChanged =()=>{\n this.setState({\n articles: [],\n found: false,\n current_search: \"\",\n from_keyboard: \"\",\n loading: true,\n // loading: this.props.searching,\n // is_temp: true,\n cur_page: 1,\n page_size: 10,\n cur_articles: null,\n last_key: 0,\n });\n\n console.log(\"Heeyy/ clearListWhanChanged was called!!!\");\n // document.getElementsByClassName(inputElement).value = \"\";\n // console.log(\"Getting the input element\");\n // console.log(document.getElementsByClassName(inputElement).value);\n // Search.resetFields();\n // shouldClear = true;\n\n // console.log(\"clearListWhenChanged() was called and the input was \" + Search.value);\n\n // this.setState(this.state);\n\n // return get_temp_list();\n // console.log(\"hey, is it clearing? Seems like it\");\n shouldClear = true;\n };\n\n //just-added ---------------------------------------------------\n // constructor(props) {\n // super(props);\n // iState = {\n // articles: [],\n // found: false,\n // current_search: \"\",\n // loading: true,\n // // loading: this.props.searching,\n // is_temp: true,\n // cur_page: 1,\n // page_size: 10,\n // cur_articles: null,\n // last_key: 0,\n // };\n\n // if(!props.search) {\n // this.state = iState;\n // }\n // }\n\n callback = (key) => {\n console.log(\"The Key is: \" + key);\n if (key == 1) {\n keyType = \"author\";\n this.updateArticleList(this.state.current_search);\n } else if (key == 2) {\n keyType = \"title\";\n this.updateArticleList(this.state.current_search);\n } else {\n keyType = \"tag\";\n this.updateArticleList(this.state.current_search);\n }\n\n };\n\n onSearch = (value) => {\n this.updateArticleList(value);\n };\n\n componentDidMount() {\n this.setState({ loading: true });\n axios.get(getApiQuery(this.props.query)).then((res) => {\n const found = true;\n const articles = Array.from(res.data.data);\n console.log(\"There were \" + articles.length + \" articles (RESULT)\");\n this.setState({ loading: true, found, articles, is_temp: false });\n }).catch(message => {\n console.log(\"Caught an error!\");\n console.log(\"This was called after componentDidMount()\");\n loadingMagn = false;\n this.setState({loading: false})\n console.log(message);\n });\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.bDate !== this.props.bDate) {\n console.log(prevProps);\n beginDate = this.props.bDate;\n\n var new_key = this.state.last_key++;\n this.setState({\n last_key: new_key,\n });\n\n this.updateArticleList(this.state.current_search);\n }\n\n if (prevProps.eDate !== this.props.eDate) {\n console.log(prevProps);\n finalDate = this.props.eDate;\n\n var new_key = this.state.last_key++;\n this.setState({\n last_key: new_key,\n });\n\n this.updateArticleList(this.state.current_search);\n }\n }\n\n updateArticleList(value, filter = \"id\") {\n this.setState({ cur_page: 1 });\n\n if (value === \"\") {\n loadingMagn = true;\n this.setState({ loading: true });\n loadingMagn = false;\n console.log(\"Will not load.\");\n message.error({\n content: \"Please enter search\",\n style: {\n fontSize: '1.1em',\n },\n key: 2\n });\n } else {\n // console.log(\"HEY THIS RIGHT HERE IS THE CURRENT SEARCH\");\n // console.log(value);\n loadingMagn = true;\n //current_search:value below here was added by me on 9/13/21\n this.setState({ loading: true }, () =>\n axios.get(getApiQuery(value)).then((res) => {\n console.log(\"Res was: \");\n console.log(res)\n\n console.log(\"getting articlesRaw\");\n const articlesRaw = Array.from(res.data.data);\n console.log(articlesRaw);\n console.log(\"2\");\n var articles = getUniqueListBy(articlesRaw, \"id\");\n // var articles = getUniqueListBy(articlesRaw, filter);\n console.log(\"Are articlesRaw and articles the same?\");\n // console.log(Object.toJSON(articlesRaw) == Object.toJSON(articles));\n console.log(\"printing articles\");\n console.log(articles);\n articles = this.defaultSort(articles);\n console.log(\"printing articles sorted\");\n console.log(articles);\n console.log(articles.length);\n if (typeof res.data.data !== \"undefined\" && articles.length !== 0) {\n const found = true;\n const current_search = value;\n loadingMagn = false;\n this.setState({ loading: false, found, articles, current_search: current_search });\n } else {\n console.log(\"no results\");\n const found = false;\n const current_search = value;\n loadingMagn = false;\n this.setState({ loading: false, found, current_search: current_search });\n }\n }).catch(message => {\n console.log(\"Caught an error!\");\n console.log(\"The API from getApiQuery() was \" + getApiQuery(value));\n loadingMagn = false;\n this.setState({loading: false})\n console.log(message);\n })\n );\n\n \n\n }\n }\n\n defaultSort(articles) {\n if (type == \"title\") {\n console.log(\"defult article sort\");\n articles.sort(compareAuthor);\n articles.sort(compareDateNew);\n articles.sort(compareTitle);\n } else if (type == \"author\") {\n console.log(\"defult author sort\");\n articles.sort(compareTitle);\n articles.sort(compareDateNew);\n articles.sort(compareAuthor);\n } else if (type == \"tag\") {\n console.log(\"defult tag sort\");\n articles.sort(compareTitle);\n articles.sort(compareAuthor);\n articles.sort(compareDateNew);\n }\n\n return articles;\n }\n\n showSearchResults(search_state) {\n var pagination_change = (page) => {\n var new_key = this.state.last_key + 1;\n\n this.setState({ cur_page: page });\n this.setState({ last_key: new_key });\n this.setState({\n found: search_state.found,\n current_search: search_state.query,\n });\n };\n\n var page_size_change = (page, size) => {\n // if (page != this.state.page_size){\n // this.setState({ page_size: size });\n // }\n this.setState({ page_size: size });\n\n console.log(\"Page size: \" + this.state.page_size);\n };\n\n const onMenuClick = ({ key }) => {\n //message.info(`Sorting by: ${key}`);\n // this.updateArticleList(this.state.current_search, )\n var menuArticles = this.state.articles;\n\n if (key == \"author\") {\n // this.updateArticleList(this.state.current_search, \"author\");\n menuArticles.sort(compareTitle);\n menuArticles.sort(compareDateNew);\n menuArticles.sort(compareAuthor);\n } else if (key == \"dateN\") {\n menuArticles.sort(compareTitle);\n menuArticles.sort(compareAuthor);\n menuArticles.sort(compareDateNew);\n } else if (key == \"dateO\") {\n //change the date back to the oldest one to get the oldest one.\n // this.props.action;\n // beginDate = '2000';\n // restartBeginDate();\n // console.log(beginDate);\n // this.updateArticleList(this.state.current_search);\n // menuArticles = this.state.articles;\n\n menuArticles.sort(compareTitle);\n menuArticles.sort(compareAuthor);\n menuArticles.sort(compareDateOld);\n } else if (key == \"title\") {\n menuArticles.sort(compareAuthor);\n menuArticles.sort(compareDateNew);\n menuArticles.sort(compareTitle);\n }\n\n this.setState({ articles: menuArticles });\n };\n\n const menu = (\n \n Author (A-Z)\n Date (Newest First)\n Date (Oldest First)\n Title (A-Z)\n \n );\n\n // Show temp (loading boxes)\n if (search_state.is_temp || this.state.current_search == \"\") {\n // if (search_state.is_temp && this.props.search) {\n console.log(\"showing temp\");\n // Input.Search.defaultProps=true;\n return get_temp_list();\n\n // Show the not found text\n } else if (!search_state.found) {\n return not_found(search_state.query);\n\n // Show the results\n } else {\n const pageSizeOptions = [10, 20, 50];\n var begin_page = (this.state.cur_page - 1) * 10;\n var final_page = begin_page + this.state.page_size;\n var total = search_state.articles.length;\n\n this.state.cur_articles = search_state.articles.slice(\n begin_page,\n final_page\n );\n\n // If it is loading, show the loading boxes\n if (this.state.loading) {\n console.log(\"Loading inside search results\");\n // console.log(counts);\n // counts = [0, 0, 0];\n // console.log(\"this is the new count: \");\n // console.log(counts);\n return (\n <>{get_list(this.state.cur_articles, search_state.query, true)}\n );\n\n // If it's not loading show the search results\n } else {\n return (\n <>\n {get_search_result_num(total)}\n {console.log(\"was it under limit?\" + under_limit)}\n \n e.preventDefault()}\n >\n {under_limit ? \"Sort By: \" : \"\"}\n {under_limit ? : \"\"}\n \n \n \n\n \n {get_list(this.state.cur_articles, search_state.query, false)}\n {/* {this.performSearch(search_state)} */}\n \n {/* */}\n \n );\n }\n }\n }\n\n showKeyword(search_state) {\n if (search_state.query == \"\") {\n counts = [0, 0, 0];\n }\n\n if (search_state.query != oldQuery) {\n this.setState({ loading: true });\n\n oldQuery = search_state.query;\n var value = search_state.query;\n\n this.setState({ loading: false });\n\n this.setState({ cur_page: 1 });\n\n this.setState({ loading: true });\n\n if (search_state.query != \"\") {\n axios.get(getCountApiQuery(value)).then((res) => {\n console.log(\"The response was the following: \")\n console.log(res);\n counts = Array.from(res.data);\n counts.forEach(function (e, i) {\n if (this[i] >= 500) {\n this[i] = \"500+\";\n under_limit = false;\n } else under_limit = true;\n }, counts);\n console.log(res.data);\n console.log(counts);\n this.setState({ loading: false });\n }).catch(message => {\n console.log(\"Caught an error!\");\n console.log(\"The API from getApiQuery() was \" + getApiQuery(value));\n loadingMagn = false;\n this.setState({loading: false})\n console.log(message);\n })\n }\n }\n\n //@todo document\n if (beginDate != newStartingDate || finalDate != newFinalDate) {\n this.setState({ loading: true });\n var value = search_state.query;\n newStartingDate = beginDate;\n newFinalDate = finalDate;\n\n this.setState({ loading: false });\n\n this.setState({ cur_page: 1 });\n\n this.setState({ loading: true });\n\n axios.get(getCountApiQuery(value)).then((res) => {\n counts = Array.from(res.data);\n counts.forEach(function (e, i) {\n if (this[i] >= 500) {\n this[i] = \"500+\";\n under_limit = false;\n } else under_limit = true;\n }, counts);\n console.log(counts);\n this.setState({ loading: false });\n }).catch(message => {\n console.log(\"Caught an error!\");\n console.log(\"The API from getApiQuery() was \" + getApiQuery(value));\n loadingMagn = false;\n this.setState({loading: false})\n console.log(message);\n });\n\n console.log(\"Date CHAANGED!!! Time to LOOK UP AND UPDATE!\");\n }\n\n return (\n <>\n \n \n {this.showSearchResults(search_state)}\n \n \n {this.showSearchResults(search_state)}\n \n \n {this.showSearchResults(search_state)}\n \n \n \n );\n }\n\n performSearch(search_state) {\n if (showInTab) {\n return this.showKeyword(search_state);\n } else {\n return this.showSearchResults(search_state);\n }\n }\n\n handleSearchChange = (e) => {\n // console.log(\"This is what we're putting into current_search\");\n // console.log(e.target.value)\n this.setState({from_keyboard: e.target.value});\n // if (shouldClear){\n // e.target.value = '';\n // }\n // document.querySelector(\"#search-bar-ID\").value += e.target.value;\n }\n\n render() {\n\n type = this.props.mysearch;\n showInTab = false;\n\n if (type == \"keyword\") {\n type = keyType;\n if (this.state.current_search != \"\")\n showInTab = true;\n }\n\n // if (beginDate > finalDate) message.error(\"Starting date cannot be greater than ending date\");\n\n\n // if (this.props.search){\n // this.setState({state: initialState});\n // }\n\n // this.state.loading = this.props.search\n // this.setState({loading: this.props.search});\n beginDate = this.props.bDate;\n finalDate = this.props.eDate;\n\n var search_state = {\n found: this.state.found,\n articles: this.state.articles,\n query: this.state.current_search,\n is_temp: this.state.is_temp,\n };\n\n // if (this.props.search){\n // console.log(\"Something was click and now is showing from ArticleList.js!\");\n // if (!search_state.is_temp){\n // // console.log(\"Hey, it's not temp. You should make it TEMP!\");\n // return get_temp_list();\n // }\n // }\n console.log(\"Hey! And the sTate is: \");\n console.log(this.state);\n\n\n return (\n \n \n
\n
\n \n {this.performSearch(search_state)}\n
\n
\n \n
\n );\n\n }\n}\n","\nimport React from \"react\";\nimport { Layout, Menu, BackTop, Tooltip, message, Modal, Popconfirm} from \"antd\";\nimport {\n ReadOutlined,\n UserOutlined,\n TagOutlined,\n FileTextOutlined,\n BarsOutlined,\n ArrowUpOutlined\n \n} from \"@ant-design/icons\";\nimport SwitchablePicker from \"./components/SelectDate\";\nimport ArticleList from \"./components/ArticleList\";\nimport \"./App.css\";\nimport \"antd/dist/antd.css\";\nimport { convertLegacyProps } from \"antd/lib/button/button\";\n\nconst { Content, Sider } = Layout;\nmessage.config({\n top: 100,\n duration: 5,\n maxCount: 2,\n rtl: true,\n // prefixCls: 'my-message',\n // style: {\n // color: 'blue',\n // },\n});\nvar today = new Date();\nvar currentStartingYear = String(today.getFullYear() - 50);\n// var currentStartingYear = '0000';\nvar currentEndingYear = String(today.getFullYear());\n// const backTopButtonStyle = {\n// height: 40,\n// width: 40,\n// lineHeight: \"40px\",\n// borderRadius: 50,\n// backgroundColor: \"#eeb113\",\n// color: \"#fff\",\n// textAlign: \"center\"\n// };\n\n\nclass BisonSearch extends React.Component {\n\n constructor(props) {\n super(props);\n\n this.initialState = {\n collapsed: false,\n selectedOption: \"keyword\",\n // beginDate: currentStartingYear,\n // finalDate: currentEndingYear\n beginDate: '0000',\n finalDate: '9999',\n isPopconfirmVisible: false,\n filterByDate: false,\n };\n\n this.state = this.initialState;\n this.articleListElement = React.createRef();\n\n }\n\n handleClearDate = (e) => {\n console.log('date cleared');\n // this.setState({ beginDate: currentStartingYear });\n // this.setState({ finalDate: currentEndingYear });\n this.setState({ beginDate: '0000' });\n this.setState({ finalDate: '9999' });\n this.setState({isPopconfirmVisible: false, filterByDate: false});\n }\n\n handleBeginDate = (e) => {\n console.log(e);\n console.log('in begin date ' + e);\n this.setState({ beginDate: e });\n console.log(this.state.beginDate);\n e == this.state.finalDate ? this.setState({isPopconfirmVisible: true}) : this.setState({isPopconfirmVisible: false});\n }\n\n handleFinalDate = (e) => {\n console.log(e);\n console.log('in end date ' + e);\n this.setState({ finalDate: e });\n console.log(this.state.finalDate);\n this.state.beginDate == e ? this.setState({isPopconfirmVisible: true}) : this.setState({isPopconfirmVisible: false});\n\n }\n\n handleChange = (e) => {\n var selectedOption = e.key;\n this.setState({ selectedOption });\n console.log(\"Searching right now. Young fella\");\n // temping = true;\n // this.setState({state:this.initialState})\n console.log(e);\n // this.state.collapsed=true;\n console.log(this.state);\n console.log(e.key);\n // this.setState({ beginDate: '0000' });\n // this.setState({ finalDate: '9999' });\n console.log(\"Supposed to be changing right now...\");\n // this.setState(this.initialState);\n // ReactDOM.findDOMNode(this.refs.form).value = '';\n // this.articleListElement.current.setState({current_search: ''});\n // this.articleListElement.set\n console.log(document.querySelector(\"#search-bar-ID\"));\n this.articleListElement.current.clearListWhenChanged();\n // if (this.state.beginDate > this.state.finalDate) message.error(\"Starting date cannot be greater than ending date\");\n this.setState({isPopconfirmVisible: false, filterByDate: false});\n\n\n };\n\n onCollapse = (collapsed) => {\n console.log(collapsed);\n this.setState({ collapsed });\n };\n\n handleYesPop = () => {\n // this.setState({selectedOption: 'date'});\n this.setState({isPopconfirmVisible: false, filterByDate: true});\n message.success(\"Filtering by date. Please click on 'Clear' to disable\");\n\n }\n\n handleNoPop =() => {\n this.setState({isPopconfirmVisible: false, filterByDate: false});\n }\n\n render() {\n if (this.state.beginDate > this.state.finalDate) message.error({\n content: \"Starting date cannot be greater than ending date\",\n style: {\n fontSize: '1.1em',\n },\n key: 1\n });\n\n return (\n \n \n\n

Category Search

\n \n }>\n Search by Keyword\n \n }>\n Search by Author\n \n }>\n Search by Title\n \n }>\n Search by Tag\n \n \n {/*}>\n Search by Text\n \n */}\n \n \n\n {/* \n \n */}\n\n {/* {\n (this.state.isModalVisible) ?\n (\n \n \n \n

Date Limiter

\n \n \n ) :\n (\n

Date Limiter

\n )\n } */}\n\n \n

Date Limiter

\n \n \n\n
\n {/* {this.state.sameDate ? \n (\n \n \n {console.log(\"HEY DATES ARE THE SAME!\")}\n \n ) : \n (\n \n )}\n */}\n\n\n\n \n
\n
\n \n \n \n \n \n \n <>\n {/* \n
\n
\n
*/}\n \n \n
\n
\n
\n
\n\n \n
\n );\n }\n}\n\n\n\nfunction App() {\n return (\n
\n \n\n
\n );\n}\n\nexport default App;\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}