{"version":3,"file":"884.main.js","mappings":"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","sources":["webpack://Oakville.web/./wwwroot/scripts/src/redux/actions/searchActions.js","webpack://Oakville.web/./wwwroot/scripts/src/search/autoSuggester.js","webpack://Oakville.web/./wwwroot/scripts/src/search/getNavigationDetails.js","webpack://Oakville.web/./wwwroot/scripts/src/search/searchMobile.js"],"sourcesContent":["import * as types from \"./actionTypes\";\r\n\r\nexport function setSearchLabel(searchLabel) {\r\n return { type: types.SET_SEARCH_LABEL, searchLabel };\r\n}\r\n\r\nexport function setIsLoading(isLoading, isVisiblePagination = false) {\r\n return { type: types.SET_IS_LOADING, isLoading, isVisiblePagination };\r\n}\r\n\r\nexport function setInitialData(initialData) {\r\n return { type: types.SET_INITIAL_DATA, initialData };\r\n}\r\n\r\nexport function setDropdownType(selectedValue) {\r\n return { type: types.SET_DROPDOWN_TYPE, selectedValue };\r\n}\r\n\r\nexport function setCategoriesData(categoriesData) {\r\n return { type: types.SET_CATEGORIES_DATA, categoriesData };\r\n}\r\n\r\nexport function setCategory(category) {\r\n return { type: types.SET_CATEGORY, category };\r\n}\r\n\r\nexport function setSitenameLabel(sitenameLabel) {\r\n return { type: types.SET_SITENAME_LABEL, sitenameLabel };\r\n}\r\n\r\nexport function setSitename(sitename) {\r\n return { type: types.SET_SITENAME, sitename };\r\n}\r\n\r\nexport function setSelectedCategory(selectedCategory) {\r\n return { type: types.SET_SELECTED_CATEGORY, selectedCategory };\r\n}\r\n\r\nexport function setNavigationDetails(numberOfPages, selectedPage, navigation) {\r\n return { type: types.SET_NAVIGATION_DETAILS, numberOfPages, selectedPage, navigation };\r\n}\r\n\r\nexport function setHidePromoted(hidePromoted) {\r\n return { type: types.HIDE_PROMOTED, hidePromoted };\r\n}\r\n\r\nexport function setShowSitesFilter(showSitesFilter) {\r\n return { type: types.SET_SHOWSITESFILER, showSitesFilter };\r\n}\r\n","function getSuggestionValue(suggestion) {\r\n if (suggestion) {\r\n var div = document.createElement(\"div\");\r\n div.innerHTML = suggestion;\r\n return div.innerText;\r\n }\r\n \r\n return \"\";\r\n}\r\n\r\nfunction renderSuggestion(suggestion) {\r\n return (\r\n \r\n );\r\n}\r\n\r\nimport React from \"react\";\r\nimport _ from 'lodash';\r\nimport axios from 'axios';\r\nimport Autosuggest from \"./ReactAutosuggest/Autosuggest\";\r\n\r\nexport default class AutoSuggester extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n value: this.props.searchLabel,\r\n suggestions: [],\r\n isLoading: false\r\n };\r\n\r\n this.lastRequestId = null;\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({\r\n value: this.props.searchLabel,\r\n });\r\n }\r\n\r\n loadSuggestions(value) {\r\n // Cancel the previous request\r\n if (this.lastRequestId !== null) {\r\n clearTimeout(this.lastRequestId);\r\n }\r\n\r\n this.setState({\r\n isLoading: true\r\n });\r\n\r\n axios({\r\n method: 'post',\r\n url: \"/api/azurecognitivesuggest/\",\r\n data: {\r\n term: value,\r\n siteName: this.props.siteName\r\n }\r\n }).then((res) => {\r\n if (res.data && res.data.length > 0) {\r\n this.setState({\r\n isLoading: false,\r\n suggestions: res.data\r\n });\r\n }\r\n else {\r\n this.setState({\r\n isLoading: false,\r\n suggestions: []\r\n });\r\n }\r\n }).catch((err) => {\r\n this.setState({\r\n isLoading: false,\r\n suggestions: []\r\n });\r\n });\r\n }\r\n\r\n onChange = (event, { newValue, method }) => {\r\n this.setState({\r\n value: newValue\r\n }, function () {\r\n this.props.onChange(newValue, method);\r\n });\r\n };\r\n\r\n onKeyPress = (event) => {\r\n this.props.onKeyPress(event);\r\n };\r\n\r\n onSuggestionsFetchRequested = ({ value }) => {\r\n this.loadSuggestions(value);\r\n };\r\n\r\n onSuggestionsClearRequested = () => {\r\n this.setState({\r\n suggestions: []\r\n });\r\n };\r\n\r\n shouldRenderSuggestions(value, reason) {\r\n return value.trim().length > 2;\r\n }\r\n\r\n renderInputComponent = inputProps => (\r\n \r\n );\r\n\r\n render() {\r\n const { value, suggestions, isLoading } = this.state;\r\n const { searchLabel, idSuggester, labelId, searchPlaceHolder } = this.props;\r\n const inputProps = {\r\n placeholder: searchPlaceHolder ,\r\n name: \"o\" + labelId + \"search\",\r\n value: this.props.searchLabel,\r\n onChange: this.onChange,\r\n onKeyPress: this.onKeyPress,\r\n id: \"o\" + labelId + \"search\",\r\n };\r\n\r\n return (\r\n \r\n \r\n {!isLoading && !this.props.quickSearchLoading &&\r\n \r\n }\r\n {(isLoading || this.props.quickSearchLoading) &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n );\r\n }\r\n}","export default function getNavigationDetails(selectedPage, numberOfPages) {\r\n\r\n let navigation = {};\r\n navigation.selectedPage = selectedPage;\r\n\r\n let previous = {};\r\n previous.label = \"Previous\";\r\n previous.isVisible = selectedPage > 1 ? true : false;\r\n navigation.previous = previous;\r\n\r\n let next = {};\r\n next.label = \"Next\";\r\n next.isVisible = numberOfPages > selectedPage ? true : false;\r\n navigation.next = next;\r\n\r\n let visiblePages = [];\r\n\r\n visiblePages.push(selectedPage);\r\n let previousPage = selectedPage - 1;\r\n for (var i = 0; i < 5; i++) {\r\n if (previousPage > 0) {\r\n visiblePages.push(previousPage);\r\n }\r\n previousPage = previousPage - 1;\r\n }\r\n\r\n let currentNumberOfPages = 10 - visiblePages.length;\r\n let nextPage = selectedPage + 1;\r\n for (var i = 0; i < currentNumberOfPages; i++) {\r\n if (nextPage <= numberOfPages) {\r\n visiblePages.push(nextPage);\r\n }\r\n nextPage = nextPage + 1;\r\n }\r\n\r\n if (visiblePages.length < 10) {\r\n const minVal = Math.min(...visiblePages);\r\n let minValue = minVal - 1;\r\n let needPages = 10 - visiblePages.length;\r\n\r\n for (var i = 0; i < needPages; i++) {\r\n if (minValue > 0) {\r\n visiblePages.push(minValue);\r\n }\r\n minValue = minValue - 1;\r\n }\r\n }\r\n\r\n navigation.visiblePages = visiblePages.sort(compareNumbers);\r\n\r\n return navigation;\r\n}\r\n\r\nfunction compareNumbers(a, b) {\r\n return a - b;\r\n}","import React, { Component } from \"react\";\r\nimport axios from 'axios';\r\nimport _ from 'lodash';\r\nimport AutoSuggester from './autoSuggester';\r\nimport { connect } from \"react-redux\";\r\nimport * as searchActions from \"../redux/actions/searchActions\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport getNavigationDetails from \"./getNavigationDetails\";\r\n\r\nclass SearchMobile extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n isVisibleButtonSearch: true,\r\n isVisibleNoResult: false,\r\n isLoading: false,\r\n isVisibleClassButtonSearch: false,\r\n //searchLabel: '',\r\n searchResults: [],\r\n showSearchModal: false,\r\n setActiveButtonSearch: true,\r\n }\r\n this.wrapperRef = React.createRef();\r\n this.handleClickOutside = this.handleClickOutside.bind(this);\r\n this.handleSearchText = _.debounce(this.onSearchText, 10);\r\n }\r\n\r\n componentDidMount() {\r\n document.addEventListener(\"mousedown\", this.handleClickOutside);\r\n let iconRemove = document.getElementById(\"removed-search-icon\");\r\n if (iconRemove != null) {\r\n iconRemove.remove();\r\n }\r\n let iconRemoveMobile = document.getElementById(\"removed-search-icon-mobile\");\r\n if (iconRemoveMobile != null) {\r\n iconRemoveMobile.remove();\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n document.removeEventListener(\"mousedown\", this.handleClickOutside);\r\n };\r\n\r\n handleClickOutside(event) {\r\n //if (this.wrapperRef && !this.wrapperRef.current.contains(event.target)) {\r\n // this.setState({\r\n // showSearchModal: false\r\n // });\r\n //}\r\n\r\n this.setState({\r\n showSearchModal: false\r\n });\r\n }\r\n\r\n handleChange = (query, method) => {\r\n this.setState({\r\n showSearchModal: false,\r\n setActiveButtonSearch: true,\r\n isVisibleNoResult: false\r\n }, function () {\r\n if (method === \"click\" || method === \"enter\") {\r\n this.onSearchNoModal();\r\n }\r\n });\r\n this.props.actions.setSearchLabel(query);\r\n }\r\n\r\n onSearchText = (data) => {\r\n this.setState({ isLoading: true });\r\n axios({\r\n method: 'post',\r\n url: '/api/quicksearch/',\r\n data: data,\r\n })\r\n .then((res) => {\r\n this.setState({\r\n searchResults: res.data,\r\n isVisibleNoResult: true, \r\n isLoading: false\r\n });\r\n })\r\n .catch((err) => { throw err });\r\n };\r\n\r\n\r\n setVisibilityInput = () => {\r\n var navbar = document.getElementById(\"navbarNavMob\");\r\n if (navbar.classList.contains(\"show\")) {\r\n document.querySelector('.navbar-toggler').click();\r\n }\r\n const { isVisibleButtonSearch, isVisibleClassButtonSearch } = this.state;\r\n this.setState({\r\n isVisibleButtonSearch: !isVisibleButtonSearch,\r\n isVisibleClassButtonSearch: !isVisibleClassButtonSearch\r\n });\r\n }\r\n\r\n onSearch = () => {\r\n const { setActiveButtonSearch } = this.state;\r\n const { isHomePage, searchPage, searchLabel, searchSiteName } = this.props;\r\n const { setIsLoading, setInitialData, setCategoriesData } = this.props.actions;\r\n\r\n if (searchLabel.length <= 2) {\r\n return;\r\n }\r\n\r\n if (setActiveButtonSearch) {\r\n this.setState({\r\n searchResults: []\r\n });\r\n }\r\n\r\n let locationHref = window.location.href;\r\n let isSearchPage = false;\r\n if (locationHref.includes('search/?search=')) {\r\n isSearchPage = true;\r\n };\r\n\r\n if (searchLabel && (isHomePage || !isSearchPage)) {\r\n this.setState({\r\n showSearchModal: true,\r\n });\r\n }\r\n\r\n const data = {\r\n query: searchLabel\r\n };\r\n\r\n if (isHomePage || !isSearchPage) {\r\n if (setActiveButtonSearch && searchLabel) {\r\n this.handleSearchText(data);\r\n }\r\n else {\r\n this.setState({ showSearchModal: true });\r\n }\r\n }\r\n else {\r\n let data = {\r\n category: '',\r\n query: searchLabel,\r\n pageCount: 10,\r\n pageIndex: 1,\r\n siteName: searchSiteName\r\n }\r\n\r\n setIsLoading(true);\r\n let categoriesData = [];\r\n\r\n axios({\r\n method: 'post',\r\n url: '/api/azurecognitivesearch/',\r\n data: data,\r\n })\r\n .then((res) => {\r\n let allData = { guid: \"all\", items: res.data.items, total: res.data.total, pageIndex: 1 };\r\n categoriesData.push(allData);\r\n setTimeout(() => {\r\n setCategoriesData(categoriesData);\r\n setInitialData(res.data);\r\n setIsLoading(false);\r\n }, 200);\r\n })\r\n .catch((err) => { throw err });\r\n let encodeSearchLabel = encodeURIComponent(searchLabel)\r\n let newUrl = searchPage.toLowerCase() + \"/?search=\" + encodeSearchLabel\r\n window.history.pushState(null, null, newUrl);\r\n }\r\n\r\n this.setState({ setActiveButtonSearch: false });\r\n }\r\n\r\n onSearchNoModal = () => {\r\n const { setActiveButtonSearch } = this.state;\r\n const { searchLabel, isHomePage, searchPage, selectType, categorySet, searchSiteName } = this.props;\r\n const { setIsLoading, setInitialData, setCategoriesData, setDropdownType, setCategory, setSelectedCategory, setNavigationDetails, setHidePromoted, setSitename, setSitenameLabel } = this.props.actions;\r\n\r\n if (searchLabel.length <= 2) {\r\n return;\r\n }\r\n\r\n if (setActiveButtonSearch) {\r\n this.setState({\r\n searchResults: []\r\n });\r\n }\r\n\r\n let locationHref = window.location.href;\r\n let isSearchPage = false;\r\n if (locationHref.includes('search/?search=')) {\r\n isSearchPage = true;\r\n };\r\n\r\n if (isHomePage || !isSearchPage) {\r\n let encodeSearchLabel = encodeURIComponent(searchLabel)\r\n let newUrl = searchPage.toLowerCase() + \"/?search=\" + encodeSearchLabel\r\n window.history.pushState(null, null, newUrl);\r\n window.location.reload();\r\n }\r\n else {\r\n let category = '';\r\n\r\n let selectedValue = {\r\n name: \"All Results Type\",\r\n type: \"\"\r\n };\r\n\r\n let data = {\r\n category: '',\r\n query: searchLabel,\r\n pageCount: 10,\r\n pageIndex: 1,\r\n type: '',\r\n siteName: searchSiteName && searchSiteName.length > 0 ? searchSiteName : ''\r\n }\r\n\r\n setIsLoading(true, false);\r\n setHidePromoted(true);\r\n let categoriesData = [];\r\n\r\n this.setState({ setActiveButtonSearch: true });\r\n\r\n axios({\r\n method: 'post',\r\n url: '/api/azurecognitivesearch/',\r\n data: data,\r\n })\r\n .then((res) => {\r\n let allData = { guid: \"all\", items: res.data.items, total: res.data.total, pageIndex: 1, promotedItems: res.data.promotedItems };\r\n categoriesData.push(allData);\r\n\r\n let numberOfPages = Math.ceil(res.data.total / data.pageCount);\r\n let navigation = getNavigationDetails(1, numberOfPages);\r\n setNavigationDetails(numberOfPages, 1, navigation);\r\n\r\n setTimeout(() => {\r\n setDropdownType(selectedValue);\r\n setSitename(\"\");\r\n setSitenameLabel(\"All Sites\");\r\n setHidePromoted(false);\r\n setSelectedCategory(allData);\r\n setCategory('all');\r\n setCategoriesData(categoriesData);\r\n setInitialData(res.data);\r\n setIsLoading(false, true);\r\n }, 200);\r\n })\r\n .catch((err) => { throw err });\r\n let encodeSearchLabel = encodeURIComponent(searchLabel)\r\n let newUrl = searchPage.toLowerCase() + \"/?search=\" + encodeSearchLabel\r\n window.history.pushState(null, null, newUrl);\r\n }\r\n\r\n this.setState({ setActiveButtonSearch: false });\r\n }\r\n\r\n handleKeyPress = (event) => {\r\n if (event.key === 'Enter'\r\n && event.target.className.indexOf(\"react-autosuggest__input\") !== -1) {\r\n this.onSearchNoModal();\r\n }\r\n }\r\n\r\n closeSearchModal() {\r\n this.setState({ showSearchModal: false });\r\n }\r\n\r\n render() {\r\n const { searchPage, isHomePage, searchLabel, labelId, searchSiteName, searchPlaceHolder } = this.props;\r\n const { isVisibleButtonSearch, searchResults, isVisibleNoResult, isLoading, isVisibleClassButtonSearch, showSearchModal } = this.state;\r\n let encodeSearchLabel = encodeURIComponent(searchLabel);\r\n let idSuggester = \"search-mobile\" + labelId;\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {false &&\r\n
\r\n {showSearchModal && !isLoading &&\r\n
\r\n
\r\n {searchResults && searchResults.length > 0 &&\r\n
\r\n }\r\n {searchResults && searchResults.length > 0 && searchResults.map((item, index) => {\r\n return (\r\n \r\n );\r\n })}\r\n {searchResults && searchResults.length > 0 &&\r\n \r\n }\r\n {searchResults && searchResults.length == 0 && searchLabel.length > 2 && isVisibleNoResult &&\r\n \r\n
\r\n
\r\n No Results Found for \"{searchLabel}\". Try searching for something else.\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\r\nfunction mapStateToProps(state) {\r\n return {\r\n searchLabel: state.searchResult.searchLabelStore ? state.searchResult.searchLabelStore : \"\",\r\n categoriesData: state.searchResult.categoriesData\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: {\r\n setSearchLabel: bindActionCreators(searchActions.setSearchLabel, dispatch),\r\n setIsLoading: bindActionCreators(searchActions.setIsLoading, dispatch),\r\n setInitialData: bindActionCreators(searchActions.setInitialData, dispatch),\r\n setCategoriesData: bindActionCreators(searchActions.setCategoriesData, dispatch),\r\n setDropdownType: bindActionCreators(searchActions.setDropdownType, dispatch),\r\n setCategory: bindActionCreators(searchActions.setCategory, dispatch),\r\n setSelectedCategory: bindActionCreators(searchActions.setSelectedCategory, dispatch),\r\n setNavigationDetails: bindActionCreators(searchActions.setNavigationDetails, dispatch),\r\n setHidePromoted: bindActionCreators(searchActions.setHidePromoted, dispatch),\r\n setSitename: bindActionCreators(searchActions.setSitename, dispatch),\r\n setSitenameLabel: bindActionCreators(searchActions.setSitenameLabel, dispatch),\r\n }\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SearchMobile);"],"names":["setSearchLabel","searchLabel","type","types","setIsLoading","isLoading","isVisiblePagination","setInitialData","initialData","setDropdownType","selectedValue","setCategoriesData","categoriesData","setCategory","category","setSitenameLabel","sitenameLabel","setSitename","sitename","setSelectedCategory","selectedCategory","setNavigationDetails","numberOfPages","selectedPage","navigation","setHidePromoted","hidePromoted","setShowSitesFilter","showSitesFilter","getSuggestionValue","suggestion","div","document","createElement","innerHTML","innerText","renderSuggestion","dangerouslySetInnerHTML","__html","AutoSuggester","props","event","newValue","method","setState","value","this","onChange","onKeyPress","loadSuggestions","suggestions","inputProps","className","htmlFor","labelId","state","lastRequestId","clearTimeout","axios","url","data","term","siteName","then","res","length","catch","err","reason","trim","idSuggester","placeholder","searchPlaceHolder","name","id","onSuggestionsFetchRequested","onSuggestionsClearRequested","shouldRenderSuggestions","renderInputComponent","quickSearchLoading","onClick","onSearch","React","getNavigationDetails","previous","isVisible","next","visiblePages","push","previousPage","i","currentNumberOfPages","nextPage","minValue","Math","min","needPages","sort","compareNumbers","a","b","SearchMobile","query","showSearchModal","setActiveButtonSearch","isVisibleNoResult","onSearchNoModal","actions","searchResults","getElementById","classList","contains","querySelector","click","isVisibleButtonSearch","isVisibleClassButtonSearch","isHomePage","searchPage","searchSiteName","isSearchPage","window","location","href","includes","handleSearchText","pageCount","pageIndex","allData","guid","items","total","setTimeout","encodeSearchLabel","encodeURIComponent","newUrl","toLowerCase","history","pushState","selectType","categorySet","reload","promotedItems","ceil","key","target","indexOf","wrapperRef","handleClickOutside","bind","_","onSearchText","addEventListener","iconRemove","remove","iconRemoveMobile","removeEventListener","setVisibilityInput","handleChange","handleKeyPress","connect","searchResult","searchLabelStore","dispatch","bindActionCreators","searchActions"],"sourceRoot":""}