@blaze-cms/plugin-search-ui 0.125.0-admin-updates.1 → 0.125.0-core-styles.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/CHANGELOG.md +1 -23
  2. package/lib/components/SearchAdmin/SearchAdmin.js +13 -70
  3. package/lib/components/SearchAdmin/SearchAdmin.js.map +1 -1
  4. package/lib/components/SearchAdmin/SearchResults/SearchResults.js +6 -18
  5. package/lib/components/SearchAdmin/SearchResults/SearchResults.js.map +1 -1
  6. package/lib/components/useSearch/useSearch.js +5 -12
  7. package/lib/components/useSearch/useSearch.js.map +1 -1
  8. package/lib/components/useSearchResults/useSearchResults.js +25 -1
  9. package/lib/components/useSearchResults/useSearchResults.js.map +1 -1
  10. package/lib-es/components/SearchAdmin/SearchAdmin.js +3 -34
  11. package/lib-es/components/SearchAdmin/SearchAdmin.js.map +1 -1
  12. package/lib-es/components/SearchAdmin/SearchResults/SearchResults.js +6 -18
  13. package/lib-es/components/SearchAdmin/SearchResults/SearchResults.js.map +1 -1
  14. package/lib-es/components/useSearch/useSearch.js +2 -5
  15. package/lib-es/components/useSearch/useSearch.js.map +1 -1
  16. package/lib-es/components/useSearchResults/useSearchResults.js +11 -1
  17. package/lib-es/components/useSearchResults/useSearchResults.js.map +1 -1
  18. package/package.json +3 -3
  19. package/src/components/SearchAdmin/SearchAdmin.js +40 -70
  20. package/src/components/SearchAdmin/SearchResults/SearchResults.js +6 -42
  21. package/src/components/useSearch/useSearch.js +2 -8
  22. package/src/components/useSearchResults/useSearchResults.js +15 -1
  23. package/lib/components/SearchAdmin/SearchAdminSideBar/SearchAdminSideBar.js +0 -143
  24. package/lib/components/SearchAdmin/SearchAdminSideBar/SearchAdminSideBar.js.map +0 -1
  25. package/lib/components/SearchAdmin/SearchAdminSideBar/index.js +0 -16
  26. package/lib/components/SearchAdmin/SearchAdminSideBar/index.js.map +0 -1
  27. package/lib-es/components/SearchAdmin/SearchAdminSideBar/SearchAdminSideBar.js +0 -79
  28. package/lib-es/components/SearchAdmin/SearchAdminSideBar/SearchAdminSideBar.js.map +0 -1
  29. package/lib-es/components/SearchAdmin/SearchAdminSideBar/index.js +0 -3
  30. package/lib-es/components/SearchAdmin/SearchAdminSideBar/index.js.map +0 -1
  31. package/src/components/SearchAdmin/SearchAdminSideBar/SearchAdminSideBar.js +0 -88
  32. package/src/components/SearchAdmin/SearchAdminSideBar/index.js +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"SearchAdmin.js","names":["React","useState","useRef","useEffect","classnames","useDebounce","useLocalStorage","SearchBar","RecentSearches","SearchResults","TriggerModal","SearchAdminSideBar","useSearchResults","SEARCH_ADMIN","SearchAdmin","searchTerm","setSearchTerm","openSearchSideBar","setOpenSearchSideBar","entityValues","setEntityValues","recentSearches","setRecentSearches","displaySearchModalFrame","setDisplaySearchModalFrame","enableResults","setEnableResults","searchInputRef","debouncedEntityValues","loading","results","total","setQueryParams","queryKey","entities","map","e","id","current","focus","handleSearchTerm","target","value","toggleSearchModal","search","MAX_RECENT_SEARCHES","recentSearchesCopy","slice","includes","push","length","shift","handleKeyDown","key","clear","searchModalResultsClassName","searchModalSideBarClassName","isEmptySearchTermAndData","isEmptySearchTermnAndDisabledResults","shouldDisplayRecentSearches","showResults","handleSetEntityValues","newEntity","entityExists","some","entity","filter"],"sources":["../../../src/components/SearchAdmin/SearchAdmin.js"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react';\nimport classnames from 'classnames';\nimport { useDebounce } from '@blaze-react/utils/lib/customHooks';\nimport useLocalStorage from '../useLocalStorage';\nimport SearchBar from './SearchBar';\nimport RecentSearches from './RecentSearches';\nimport SearchResults from './SearchResults';\nimport TriggerModal from './TriggerModal';\nimport SearchAdminSideBar from './SearchAdminSideBar';\nimport useSearchResults from '../useSearchResults';\nimport { SEARCH_ADMIN } from '../../constants';\n\nconst SearchAdmin = () => {\n const [searchTerm, setSearchTerm] = useState('');\n const [openSearchSideBar, setOpenSearchSideBar] = useState(true);\n const [entityValues, setEntityValues] = useState([]);\n\n const [recentSearches, setRecentSearches] = useLocalStorage('recentSearches', []);\n const [displaySearchModalFrame, setDisplaySearchModalFrame] = useState(false);\n const [enableResults, setEnableResults] = useState(true);\n const searchInputRef = useRef(null);\n const debouncedEntityValues = useDebounce(entityValues, 500);\n const [{ loading, results, total }, setQueryParams] = useSearchResults({\n queryKey: SEARCH_ADMIN,\n entities: debouncedEntityValues.map(e => e.id)\n });\n\n useEffect(\n () => {\n if (searchInputRef && searchInputRef.current) {\n searchInputRef.current.focus();\n }\n },\n [displaySearchModalFrame]\n );\n\n const handleSearchTerm = ({ target: { value } }) => {\n setSearchTerm(value);\n };\n const toggleSearchModal = () => {\n setSearchTerm(null);\n setEnableResults(false);\n setDisplaySearchModalFrame(!displaySearchModalFrame);\n };\n const search = ({ value }) => {\n if (!value) return;\n !enableResults && setEnableResults(true);\n const MAX_RECENT_SEARCHES = 5;\n const recentSearchesCopy = recentSearches.slice();\n\n if (!recentSearchesCopy.includes(value)) {\n recentSearchesCopy.push(value);\n if (recentSearchesCopy.length > MAX_RECENT_SEARCHES) {\n recentSearchesCopy.shift();\n }\n }\n\n setRecentSearches(recentSearchesCopy);\n setQueryParams({ value });\n };\n\n const handleKeyDown = ({ key }) => {\n if (key === 'Enter') {\n if (!searchTerm) return clear();\n search({ value: searchTerm });\n }\n };\n\n const clear = () => {\n setSearchTerm('');\n setEnableResults(false);\n };\n\n const searchModalResultsClassName = classnames('modal modal--full-screen modal--search', {\n 'modal--show': displaySearchModalFrame\n });\n\n const searchModalSideBarClassName = classnames('modal__search__sidebar', {\n 'modal__search__sidebar--close': !openSearchSideBar\n });\n\n const isEmptySearchTermAndData = !searchTerm && !results.length;\n const isEmptySearchTermnAndDisabledResults = !searchTerm && !enableResults;\n const shouldDisplayRecentSearches =\n isEmptySearchTermAndData || isEmptySearchTermnAndDisabledResults;\n\n const showResults = enableResults && results.length;\n\n const handleSetEntityValues = newEntity => {\n const entityExists = entityValues.some(entity => entity.id === newEntity.id);\n if (entityExists) {\n setEntityValues(entityValues.filter(entity => entity.id !== newEntity.id));\n } else {\n setEntityValues([...entityValues, newEntity]);\n }\n };\n\n return (\n <div className=\"search search--header\">\n <TriggerModal toggleSearchModal={toggleSearchModal} />\n <div className={searchModalResultsClassName}>\n {displaySearchModalFrame && (\n <div className=\"modal__search\">\n <SearchAdminSideBar\n searchModalSideBarClassName={searchModalSideBarClassName}\n openSearchSideBar={openSearchSideBar}\n setOpenSearchSideBar={setOpenSearchSideBar}\n handleSetEntityValues={handleSetEntityValues}\n entityValues={entityValues}\n setEntityValues={setEntityValues}\n />\n <div className=\"modal__search__content\">\n <div className=\"modal__header modal__header--search\">\n <SearchBar\n toggleSearchModal={toggleSearchModal}\n handleKeyDown={handleKeyDown}\n searchInputRef={searchInputRef}\n handleSearchTerm={handleSearchTerm}\n searchTerm={searchTerm}\n search={() => search({ value: searchTerm })}\n />\n </div>\n {shouldDisplayRecentSearches ? (\n <RecentSearches\n recentSearches={recentSearches}\n handleSearchTerm={handleSearchTerm}\n search={search}\n />\n ) : (\n <>\n {!showResults && (\n <div className=\"list list--search\">\n <div className=\"header header--list\">\n <h2>No Results</h2>\n </div>\n </div>\n )}\n </>\n )}\n {showResults && (\n <SearchResults\n currentValue={searchTerm}\n searchTerm={searchTerm}\n loading={loading}\n results={results}\n total={total}\n setQueryParams={setQueryParams}\n closeModal={toggleSearchModal}\n />\n )}\n </div>\n </div>\n )}\n </div>\n </div>\n );\n};\n\nexport default SearchAdmin;\n"],"mappings":"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"}
1
+ {"version":3,"file":"SearchAdmin.js","names":["React","useState","useRef","useEffect","classnames","useLocalStorage","SearchBar","RecentSearches","SearchResults","TriggerModal","useSearchResults","SEARCH_ADMIN","SearchAdmin","searchTerm","setSearchTerm","recentSearches","setRecentSearches","displaySearchModalFrame","setDisplaySearchModalFrame","enableResults","setEnableResults","searchInputRef","loading","results","total","setQueryParams","queryKey","current","focus","handleSearchTerm","target","value","toggleSearchModal","search","MAX_RECENT_SEARCHES","recentSearchesCopy","slice","includes","push","length","shift","handleKeyDown","key","clear","searchModalResultsClassName","isEmptySearchTermAndData","isEmptySearchTermnAndDisabledResults","shouldDisplayRecentSearches","showResults"],"sources":["../../../src/components/SearchAdmin/SearchAdmin.js"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react';\nimport classnames from 'classnames';\nimport useLocalStorage from '../useLocalStorage';\nimport SearchBar from './SearchBar';\nimport RecentSearches from './RecentSearches';\nimport SearchResults from './SearchResults';\nimport TriggerModal from './TriggerModal';\nimport useSearchResults from '../useSearchResults';\nimport { SEARCH_ADMIN } from '../../constants';\n\nconst SearchAdmin = () => {\n const [searchTerm, setSearchTerm] = useState('');\n const [recentSearches, setRecentSearches] = useLocalStorage('recentSearches', []);\n const [displaySearchModalFrame, setDisplaySearchModalFrame] = useState(false);\n const [enableResults, setEnableResults] = useState(true);\n const searchInputRef = useRef(null);\n const [{ loading, results, total }, setQueryParams] = useSearchResults({\n queryKey: SEARCH_ADMIN\n });\n\n useEffect(\n () => {\n if (searchInputRef && searchInputRef.current) {\n searchInputRef.current.focus();\n }\n },\n [displaySearchModalFrame]\n );\n\n const handleSearchTerm = ({ target: { value } }) => {\n setSearchTerm(value);\n };\n const toggleSearchModal = () => {\n setSearchTerm(null);\n setEnableResults(false);\n setDisplaySearchModalFrame(!displaySearchModalFrame);\n };\n const search = ({ value }) => {\n if (!value) return;\n !enableResults && setEnableResults(true);\n const MAX_RECENT_SEARCHES = 5;\n const recentSearchesCopy = recentSearches.slice();\n\n if (!recentSearchesCopy.includes(value)) {\n recentSearchesCopy.push(value);\n if (recentSearchesCopy.length > MAX_RECENT_SEARCHES) {\n recentSearchesCopy.shift();\n }\n }\n\n setRecentSearches(recentSearchesCopy);\n setQueryParams({ value });\n };\n\n const handleKeyDown = ({ key }) => {\n if (key === 'Enter') {\n if (!searchTerm) return clear();\n search({ value: searchTerm });\n }\n };\n\n const clear = () => {\n setSearchTerm('');\n setEnableResults(false);\n };\n\n const searchModalResultsClassName = classnames('modal modal--full-screen modal--search', {\n 'modal--show': displaySearchModalFrame\n });\n\n const isEmptySearchTermAndData = !searchTerm && !results.length;\n const isEmptySearchTermnAndDisabledResults = !searchTerm && !enableResults;\n const shouldDisplayRecentSearches =\n isEmptySearchTermAndData || isEmptySearchTermnAndDisabledResults;\n\n const showResults = enableResults && results.length;\n\n return (\n <div className=\"search search--header\">\n <TriggerModal toggleSearchModal={toggleSearchModal} />\n <div className={searchModalResultsClassName}>\n {displaySearchModalFrame && (\n <>\n <div className=\"modal__header modal__header--search\">\n <SearchBar\n toggleSearchModal={toggleSearchModal}\n handleKeyDown={handleKeyDown}\n searchInputRef={searchInputRef}\n handleSearchTerm={handleSearchTerm}\n searchTerm={searchTerm}\n search={() => search({ value: searchTerm })}\n />\n </div>\n {shouldDisplayRecentSearches ? (\n <RecentSearches\n recentSearches={recentSearches}\n handleSearchTerm={handleSearchTerm}\n search={search}\n />\n ) : (\n <>\n {!showResults && (\n <div className=\"list list--search\">\n <div className=\"header header--list\">\n <h2>No Results</h2>\n </div>\n </div>\n )}\n </>\n )}\n {showResults && (\n <SearchResults\n currentValue={searchTerm}\n searchTerm={searchTerm}\n loading={loading}\n results={results}\n total={total}\n setQueryParams={setQueryParams}\n closeModal={toggleSearchModal}\n />\n )}\n </>\n )}\n </div>\n </div>\n );\n};\n\nexport default SearchAdmin;\n"],"mappings":"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"}
@@ -63,9 +63,7 @@ const SearchResults = ({
63
63
  className: "modal__content modal__content--search"
64
64
  }, /*#__PURE__*/React.createElement("div", {
65
65
  className: "header header--list"
66
- }, /*#__PURE__*/React.createElement("h2", {
67
- className: "header--list--results"
68
- }, "About ", /*#__PURE__*/React.createElement("b", null, total), " search keywords results")), /*#__PURE__*/React.createElement(VirtualList, {
66
+ }, /*#__PURE__*/React.createElement("h2", null, total, " results")), /*#__PURE__*/React.createElement(VirtualList, {
69
67
  width: "100%",
70
68
  height: window.innerHeight - SEARCH_RESULTS_ELEMETS_HEIGHT_ABOVE_LIST,
71
69
  itemCount: results.length,
@@ -81,15 +79,9 @@ const SearchResults = ({
81
79
  id,
82
80
  docType,
83
81
  updated,
84
- name,
85
- entityIdentifier,
86
- published,
87
- created,
88
- status
82
+ name
89
83
  } = results[index];
90
84
  const updatedDate = updated ? getDateFormat(updated) : null;
91
- const createdDate = created ? getDateFormat(created) : null;
92
- const publishedDate = published ? getDateFormat(published) : null;
93
85
  return /*#__PURE__*/React.createElement("div", {
94
86
  key: index,
95
87
  style: style,
@@ -99,8 +91,8 @@ const SearchResults = ({
99
91
  }, /*#__PURE__*/React.createElement("div", {
100
92
  className: "list__item-row list__item-row--result"
101
93
  }, /*#__PURE__*/React.createElement("span", {
102
- className: "list__item-identifier"
103
- }, entityIdentifier), /*#__PURE__*/React.createElement("a", {
94
+ className: "badge badge--primary"
95
+ }, docType, " ", updatedDate), /*#__PURE__*/React.createElement("a", {
104
96
  href: getNavigationRoute({
105
97
  id,
106
98
  docType
@@ -109,12 +101,8 @@ const SearchResults = ({
109
101
  id,
110
102
  docType
111
103
  }),
112
- className: "list__item-link"
113
- }, name), /*#__PURE__*/React.createElement("div", {
114
- className: "list__item-dates"
115
- }, publishedDate && /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement("b", null, "Published: "), publishedDate), /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement("b", null, "Created: "), createdDate), /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement("b", null, "Updated: "), updatedDate)), /*#__PURE__*/React.createElement("div", {
116
- className: "list__item-status"
117
- }, status && /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement("b", null, "Status: "), status)))));
104
+ className: "list__item-text list__item-text--result"
105
+ }, name))));
118
106
  }
119
107
  })));
120
108
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SearchResults.js","names":["React","useState","PropTypes","VirtualList","withRouter","SEARCH_RESULTS_OVER_SCAN_BUFFER","SEARCH_RESULTS_ELEMETS_HEIGHT_ABOVE_LIST","SEARCH_RESULTS_ITEM_SIZE","FILE","SearchResults","currentValue","loading","results","total","setQueryParams","closeModal","history","verifiedRanges","setVerifiedRanges","currentIndex","setCurrentIndex","handleRenderedItems","startIndex","rowsLength","length","loadIndex","Math","floor","includes","value","offset","getNavigationRoute","id","docType","navigate","push","getDateFormat","date","newDate","Date","day","getDate","slice","month","getMonth","year","String","getYear","window","innerHeight","index","style","updated","name","entityIdentifier","published","created","status","updatedDate","createdDate","publishedDate","propTypes","bool","isRequired","array","number","func","object","string"],"sources":["../../../../src/components/SearchAdmin/SearchResults/SearchResults.js"],"sourcesContent":["/* eslint-disable jsx-a11y/anchor-is-valid */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\nimport React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport VirtualList from 'react-tiny-virtual-list';\nimport { withRouter } from 'react-router-dom';\nimport {\n SEARCH_RESULTS_OVER_SCAN_BUFFER,\n SEARCH_RESULTS_ELEMETS_HEIGHT_ABOVE_LIST,\n SEARCH_RESULTS_ITEM_SIZE,\n FILE\n} from '../../../constants';\n\nconst SearchResults = ({\n currentValue,\n loading,\n results,\n total,\n setQueryParams,\n closeModal,\n history\n}) => {\n const [verifiedRanges, setVerifiedRanges] = useState([]);\n const [currentIndex, setCurrentIndex] = useState(0);\n\n const handleRenderedItems = async ({ startIndex }) => {\n const rowsLength = results.length;\n const loadIndex = Math.floor(rowsLength / 2) - SEARCH_RESULTS_OVER_SCAN_BUFFER;\n if (loadIndex > 0 && loadIndex < startIndex && !verifiedRanges.includes(loadIndex)) {\n setQueryParams({ value: currentValue, offset: results.length });\n setVerifiedRanges([...verifiedRanges, loadIndex]);\n setCurrentIndex(startIndex + SEARCH_RESULTS_OVER_SCAN_BUFFER);\n }\n };\n\n const getNavigationRoute = ({ id, docType }) =>\n docType === FILE ? `/media/edit/${id}` : `/data-listing/${docType}/update/${id}`;\n\n const navigate = ({ id, docType }) => {\n history.push(getNavigationRoute({ id, docType }));\n closeModal();\n };\n\n const getDateFormat = date => {\n const newDate = new Date(date);\n const day = `0${newDate.getDate()}`.slice(-2);\n const month = `0${newDate.getMonth() + 1}`.slice(-2);\n const year = String(newDate.getYear()).slice(-2);\n return `${day}.${month}.${year}`;\n };\n\n return (\n <>\n {loading && <span>Loading...</span>}\n <div className=\"modal__content modal__content--search\">\n <div className=\"header header--list\">\n <h2 className=\"header--list--results\">\n About <b>{total}</b> search keywords results\n </h2>\n </div>\n <VirtualList\n width=\"100%\"\n height={window.innerHeight - SEARCH_RESULTS_ELEMETS_HEIGHT_ABOVE_LIST}\n itemCount={results.length}\n itemSize={SEARCH_RESULTS_ITEM_SIZE}\n overscanCount={SEARCH_RESULTS_OVER_SCAN_BUFFER}\n scrollToIndex={currentIndex}\n onItemsRendered={handleRenderedItems}\n renderItem={({ index, style }) => {\n const {\n id,\n docType,\n updated,\n name,\n entityIdentifier,\n published,\n created,\n status\n } = results[index];\n const updatedDate = updated ? getDateFormat(updated) : null;\n const createdDate = created ? getDateFormat(created) : null;\n const publishedDate = published ? getDateFormat(published) : null;\n return (\n <div key={index} style={style} className=\"list__item--resultWrapper\">\n <div className=\"list__item list__item--result\">\n <div className=\"list__item-row list__item-row--result\">\n <span className=\"list__item-identifier\">{entityIdentifier}</span>\n <a\n href={getNavigationRoute({\n id,\n docType\n })}\n onClick={() =>\n navigate({\n id,\n docType\n })\n }\n className=\"list__item-link\">\n {name}\n </a>\n\n <div className=\"list__item-dates\">\n {publishedDate && (\n <span>\n <b>Published: </b>\n {publishedDate}\n </span>\n )}\n <span>\n <b>Created: </b>\n {createdDate}\n </span>\n <span>\n <b>Updated: </b>\n {updatedDate}\n </span>\n </div>\n <div className=\"list__item-status\">\n {status && (\n <span>\n <b>Status: </b>\n {status}\n </span>\n )}\n </div>\n </div>\n </div>\n </div>\n );\n }}\n />\n </div>\n </>\n );\n};\n\nSearchResults.propTypes = {\n loading: PropTypes.bool.isRequired,\n results: PropTypes.array.isRequired,\n total: PropTypes.number.isRequired,\n setQueryParams: PropTypes.func.isRequired,\n closeModal: PropTypes.func.isRequired,\n history: PropTypes.object.isRequired,\n currentValue: PropTypes.string.isRequired\n};\n\nexport default withRouter(SearchResults);\n"],"mappings":"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"}
1
+ {"version":3,"file":"SearchResults.js","names":["React","useState","PropTypes","VirtualList","withRouter","SEARCH_RESULTS_OVER_SCAN_BUFFER","SEARCH_RESULTS_ELEMETS_HEIGHT_ABOVE_LIST","SEARCH_RESULTS_ITEM_SIZE","FILE","SearchResults","currentValue","loading","results","total","setQueryParams","closeModal","history","verifiedRanges","setVerifiedRanges","currentIndex","setCurrentIndex","handleRenderedItems","startIndex","rowsLength","length","loadIndex","Math","floor","includes","value","offset","getNavigationRoute","id","docType","navigate","push","getDateFormat","date","newDate","Date","day","getDate","slice","month","getMonth","year","String","getYear","window","innerHeight","index","style","updated","name","updatedDate","propTypes","bool","isRequired","array","number","func","object","string"],"sources":["../../../../src/components/SearchAdmin/SearchResults/SearchResults.js"],"sourcesContent":["/* eslint-disable jsx-a11y/anchor-is-valid */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\nimport React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport VirtualList from 'react-tiny-virtual-list';\nimport { withRouter } from 'react-router-dom';\nimport {\n SEARCH_RESULTS_OVER_SCAN_BUFFER,\n SEARCH_RESULTS_ELEMETS_HEIGHT_ABOVE_LIST,\n SEARCH_RESULTS_ITEM_SIZE,\n FILE\n} from '../../../constants';\n\nconst SearchResults = ({\n currentValue,\n loading,\n results,\n total,\n setQueryParams,\n closeModal,\n history\n}) => {\n const [verifiedRanges, setVerifiedRanges] = useState([]);\n const [currentIndex, setCurrentIndex] = useState(0);\n\n const handleRenderedItems = async ({ startIndex }) => {\n const rowsLength = results.length;\n const loadIndex = Math.floor(rowsLength / 2) - SEARCH_RESULTS_OVER_SCAN_BUFFER;\n if (loadIndex > 0 && loadIndex < startIndex && !verifiedRanges.includes(loadIndex)) {\n setQueryParams({ value: currentValue, offset: results.length });\n setVerifiedRanges([...verifiedRanges, loadIndex]);\n setCurrentIndex(startIndex + SEARCH_RESULTS_OVER_SCAN_BUFFER);\n }\n };\n\n const getNavigationRoute = ({ id, docType }) =>\n docType === FILE ? `/media/edit/${id}` : `/data-listing/${docType}/update/${id}`;\n\n const navigate = ({ id, docType }) => {\n history.push(getNavigationRoute({ id, docType }));\n closeModal();\n };\n\n const getDateFormat = date => {\n const newDate = new Date(date);\n const day = `0${newDate.getDate()}`.slice(-2);\n const month = `0${newDate.getMonth() + 1}`.slice(-2);\n const year = String(newDate.getYear()).slice(-2);\n return `${day}.${month}.${year}`;\n };\n\n return (\n <>\n {loading && <span>Loading...</span>}\n <div className=\"modal__content modal__content--search\">\n <div className=\"header header--list\">\n <h2>{total} results</h2>\n </div>\n <VirtualList\n width=\"100%\"\n height={window.innerHeight - SEARCH_RESULTS_ELEMETS_HEIGHT_ABOVE_LIST}\n itemCount={results.length}\n itemSize={SEARCH_RESULTS_ITEM_SIZE}\n overscanCount={SEARCH_RESULTS_OVER_SCAN_BUFFER}\n scrollToIndex={currentIndex}\n onItemsRendered={handleRenderedItems}\n renderItem={({ index, style }) => {\n const { id, docType, updated, name } = results[index];\n const updatedDate = updated ? getDateFormat(updated) : null;\n return (\n <div key={index} style={style} className=\"list__item--resultWrapper\">\n <div className=\"list__item list__item--result\">\n <div className=\"list__item-row list__item-row--result\">\n <span className=\"badge badge--primary\">\n {docType} {updatedDate}\n </span>\n <a\n href={getNavigationRoute({\n id,\n docType\n })}\n onClick={() =>\n navigate({\n id,\n docType\n })\n }\n className=\"list__item-text list__item-text--result\">\n {name}\n </a>\n </div>\n </div>\n </div>\n );\n }}\n />\n </div>\n </>\n );\n};\n\nSearchResults.propTypes = {\n loading: PropTypes.bool.isRequired,\n results: PropTypes.array.isRequired,\n total: PropTypes.number.isRequired,\n setQueryParams: PropTypes.func.isRequired,\n closeModal: PropTypes.func.isRequired,\n history: PropTypes.object.isRequired,\n currentValue: PropTypes.string.isRequired\n};\n\nexport default withRouter(SearchResults);\n"],"mappings":"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"}
@@ -20,7 +20,6 @@ function useSearch({
20
20
  value: ''
21
21
  });
22
22
  const [searchedValue, setSearchedValue] = useState(null);
23
- const [en, setEn] = useState([]);
24
23
  const [previousOffset, setPreviousOffset] = useState(null);
25
24
  const buildSearchQuery = searchQueries[queryKey];
26
25
  const [getSearchResults, {
@@ -56,14 +55,13 @@ function useSearch({
56
55
  } = queryParams;
57
56
  const isNewValueSet = value && value !== searchedValue;
58
57
  const isNewOffsetSet = previousOffset !== null && offset !== previousOffset;
59
- const notSameLength = en.length !== entities.length;
60
58
  const parsedEntities = entities.length ? entities.map(entity => ({
61
59
  match: {
62
60
  docType: entity
63
61
  }
64
62
  })) : [];
65
63
 
66
- if (isNewValueSet || isNewOffsetSet || notSameLength) {
64
+ if (isNewValueSet || isNewOffsetSet) {
67
65
  getSearchResults({
68
66
  variables: {
69
67
  limit,
@@ -90,9 +88,8 @@ function useSearch({
90
88
  });
91
89
  setSearchedValue(value);
92
90
  setPreviousOffset(offset);
93
- setEn(entities);
94
91
  }
95
- }, [queryParams, queryParams.limit, queryParams.value, queryParams.offset, searchedValue, previousOffset, getSearchResults, entities, fields, entities.length, en.length]);
92
+ }, [queryParams, queryParams.limit, queryParams.value, queryParams.offset, searchedValue, previousOffset, getSearchResults, entities, fields]);
96
93
  return [{
97
94
  searchedValue: queryParams.value,
98
95
  loading,
@@ -1 +1 @@
1
- {"version":3,"file":"useSearch.js","names":["useState","useEffect","useLazyQuery","searchQueries","useSearch","queryKey","resultKeys","entities","fields","queryParams","setParams","limit","offset","value","searchedValue","setSearchedValue","en","setEn","previousOffset","setPreviousOffset","buildSearchQuery","getSearchResults","loading","data","search","results","jsonResults","total","ssr","handleQueryParams","newQueryParams","isNewValueSet","isNewOffsetSet","notSameLength","length","parsedEntities","map","entity","match","docType","variables","rawQuery","query","bool","must","query_string","type","default_operator","should"],"sources":["../../../src/components/useSearch/useSearch.js"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport { useLazyQuery } from '@apollo/client';\nimport searchQueries from '../../application/query';\n\nfunction useSearch({ queryKey, resultKeys, entities = [], fields }) {\n const [queryParams, setParams] = useState({ limit: 20, offset: 0, value: '' });\n const [searchedValue, setSearchedValue] = useState(null);\n const [en, setEn] = useState([]);\n const [previousOffset, setPreviousOffset] = useState(null);\n\n const buildSearchQuery = searchQueries[queryKey];\n const [\n getSearchResults,\n {\n loading,\n data: { search: { results, jsonResults, total } } = {\n search: { results: [], total: 0 }\n }\n }\n ] = useLazyQuery(buildSearchQuery({ resultKeys }), { ssr: false });\n // todo: remove ssr: false once this bug is resolved https://github.com/apollographql/apollo-client/issues/9108\n // without ssr: false clients can hang in ssr.\n\n const handleQueryParams = newQueryParams => {\n setParams({ ...queryParams, ...newQueryParams });\n };\n\n useEffect(\n () => {\n const { limit, offset, value } = queryParams;\n const isNewValueSet = value && value !== searchedValue;\n const isNewOffsetSet = previousOffset !== null && offset !== previousOffset;\n const notSameLength = en.length !== entities.length;\n const parsedEntities = entities.length\n ? entities.map(entity => ({\n match: { docType: entity }\n }))\n : [];\n\n if (isNewValueSet || isNewOffsetSet || notSameLength) {\n getSearchResults({\n variables: {\n limit,\n offset,\n rawQuery: {\n query: {\n bool: {\n must: [\n {\n query_string: {\n query: value,\n fields,\n type: 'most_fields',\n default_operator: 'AND'\n }\n },\n {\n bool: {\n should: parsedEntities\n }\n }\n ]\n }\n }\n }\n }\n });\n setSearchedValue(value);\n setPreviousOffset(offset);\n setEn(entities);\n }\n },\n [\n queryParams,\n queryParams.limit,\n queryParams.value,\n queryParams.offset,\n searchedValue,\n previousOffset,\n getSearchResults,\n entities,\n fields,\n entities.length,\n en.length\n ]\n );\n\n return [\n { searchedValue: queryParams.value, loading, data: { results: results || jsonResults, total } },\n handleQueryParams\n ];\n}\n\nexport default useSearch;\n"],"mappings":"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"}
1
+ {"version":3,"file":"useSearch.js","names":["useState","useEffect","useLazyQuery","searchQueries","useSearch","queryKey","resultKeys","entities","fields","queryParams","setParams","limit","offset","value","searchedValue","setSearchedValue","previousOffset","setPreviousOffset","buildSearchQuery","getSearchResults","loading","data","search","results","jsonResults","total","ssr","handleQueryParams","newQueryParams","isNewValueSet","isNewOffsetSet","parsedEntities","length","map","entity","match","docType","variables","rawQuery","query","bool","must","query_string","type","default_operator","should"],"sources":["../../../src/components/useSearch/useSearch.js"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport { useLazyQuery } from '@apollo/client';\nimport searchQueries from '../../application/query';\n\nfunction useSearch({ queryKey, resultKeys, entities = [], fields }) {\n const [queryParams, setParams] = useState({ limit: 20, offset: 0, value: '' });\n const [searchedValue, setSearchedValue] = useState(null);\n const [previousOffset, setPreviousOffset] = useState(null);\n const buildSearchQuery = searchQueries[queryKey];\n const [\n getSearchResults,\n {\n loading,\n data: { search: { results, jsonResults, total } } = {\n search: { results: [], total: 0 }\n }\n }\n ] = useLazyQuery(buildSearchQuery({ resultKeys }), { ssr: false });\n // todo: remove ssr: false once this bug is resolved https://github.com/apollographql/apollo-client/issues/9108\n // without ssr: false clients can hang in ssr.\n\n const handleQueryParams = newQueryParams => {\n setParams({ ...queryParams, ...newQueryParams });\n };\n\n useEffect(\n () => {\n const { limit, offset, value } = queryParams;\n const isNewValueSet = value && value !== searchedValue;\n const isNewOffsetSet = previousOffset !== null && offset !== previousOffset;\n const parsedEntities = entities.length\n ? entities.map(entity => ({\n match: { docType: entity }\n }))\n : [];\n\n if (isNewValueSet || isNewOffsetSet) {\n getSearchResults({\n variables: {\n limit,\n offset,\n rawQuery: {\n query: {\n bool: {\n must: [\n {\n query_string: {\n query: value,\n fields,\n type: 'most_fields',\n default_operator: 'AND'\n }\n },\n {\n bool: {\n should: parsedEntities\n }\n }\n ]\n }\n }\n }\n }\n });\n setSearchedValue(value);\n setPreviousOffset(offset);\n }\n },\n [\n queryParams,\n queryParams.limit,\n queryParams.value,\n queryParams.offset,\n searchedValue,\n previousOffset,\n getSearchResults,\n entities,\n fields\n ]\n );\n\n return [\n { searchedValue: queryParams.value, loading, data: { results: results || jsonResults, total } },\n handleQueryParams\n ];\n}\n\nexport default useSearch;\n"],"mappings":"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"}
@@ -4,6 +4,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
4
4
 
5
5
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
6
 
7
+ import { useState, useEffect } from 'react';
7
8
  import useSearch from '../useSearch';
8
9
 
9
10
  function useSearchResults({
@@ -25,8 +26,17 @@ function useSearchResults({
25
26
  entities,
26
27
  fields
27
28
  });
29
+ const [currentResults, setCurrentResults] = useState([]);
30
+ const [allResults, setAllResults] = useState([]);
31
+ useEffect(() => {
32
+ if (currentResults.length !== results.length) {
33
+ setAllResults([...allResults, ...results]);
34
+ setCurrentResults(results);
35
+ }
36
+ }, [allResults, currentResults, currentResults.length, results]);
28
37
 
29
38
  const clearList = params => {
39
+ setAllResults([]);
30
40
  setParams(_objectSpread(_objectSpread({}, params), {}, {
31
41
  offset: 0
32
42
  }));
@@ -38,7 +48,7 @@ function useSearchResults({
38
48
 
39
49
  return [{
40
50
  loading,
41
- results,
51
+ results: allResults,
42
52
  total
43
53
  }, setQueryParams];
44
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useSearchResults.js","names":["useSearch","useSearchResults","queryKey","resultKeys","entities","fields","searchedValue","loading","data","results","total","setParams","clearList","params","offset","setQueryParams","value"],"sources":["../../../src/components/useSearchResults/useSearchResults.js"],"sourcesContent":["import useSearch from '../useSearch';\n\nfunction useSearchResults({ queryKey, resultKeys, entities, fields }) {\n const [\n {\n searchedValue,\n loading,\n data: { results, total }\n },\n setParams\n ] = useSearch({ queryKey, resultKeys, entities, fields });\n\n const clearList = params => {\n setParams({ ...params, offset: 0 });\n };\n\n const setQueryParams = params => {\n params.value !== searchedValue ? clearList(params) : setParams(params);\n };\n\n return [{ loading, results, total }, setQueryParams];\n}\n\nexport default useSearchResults;\n"],"mappings":";;;;;;AAAA,OAAOA,SAAP,MAAsB,cAAtB;;AAEA,SAASC,gBAAT,CAA0B;EAAEC,QAAF;EAAYC,UAAZ;EAAwBC,QAAxB;EAAkCC;AAAlC,CAA1B,EAAsE;EACpE,MAAM,CACJ;IACEC,aADF;IAEEC,OAFF;IAGEC,IAAI,EAAE;MAAEC,OAAF;MAAWC;IAAX;EAHR,CADI,EAMJC,SANI,IAOFX,SAAS,CAAC;IAAEE,QAAF;IAAYC,UAAZ;IAAwBC,QAAxB;IAAkCC;EAAlC,CAAD,CAPb;;EASA,MAAMO,SAAS,GAAGC,MAAM,IAAI;IAC1BF,SAAS,iCAAME,MAAN;MAAcC,MAAM,EAAE;IAAtB,GAAT;EACD,CAFD;;EAIA,MAAMC,cAAc,GAAGF,MAAM,IAAI;IAC/BA,MAAM,CAACG,KAAP,KAAiBV,aAAjB,GAAiCM,SAAS,CAACC,MAAD,CAA1C,GAAqDF,SAAS,CAACE,MAAD,CAA9D;EACD,CAFD;;EAIA,OAAO,CAAC;IAAEN,OAAF;IAAWE,OAAX;IAAoBC;EAApB,CAAD,EAA8BK,cAA9B,CAAP;AACD;;AAED,eAAed,gBAAf"}
1
+ {"version":3,"file":"useSearchResults.js","names":["useState","useEffect","useSearch","useSearchResults","queryKey","resultKeys","entities","fields","searchedValue","loading","data","results","total","setParams","currentResults","setCurrentResults","allResults","setAllResults","length","clearList","params","offset","setQueryParams","value"],"sources":["../../../src/components/useSearchResults/useSearchResults.js"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport useSearch from '../useSearch';\n\nfunction useSearchResults({ queryKey, resultKeys, entities, fields }) {\n const [\n {\n searchedValue,\n loading,\n data: { results, total }\n },\n setParams\n ] = useSearch({ queryKey, resultKeys, entities, fields });\n const [currentResults, setCurrentResults] = useState([]);\n const [allResults, setAllResults] = useState([]);\n\n useEffect(\n () => {\n if (currentResults.length !== results.length) {\n setAllResults([...allResults, ...results]);\n setCurrentResults(results);\n }\n },\n [allResults, currentResults, currentResults.length, results]\n );\n\n const clearList = params => {\n setAllResults([]);\n setParams({ ...params, offset: 0 });\n };\n\n const setQueryParams = params => {\n params.value !== searchedValue ? clearList(params) : setParams(params);\n };\n\n return [{ loading, results: allResults, total }, setQueryParams];\n}\n\nexport default useSearchResults;\n"],"mappings":";;;;;;AAAA,SAASA,QAAT,EAAmBC,SAAnB,QAAoC,OAApC;AACA,OAAOC,SAAP,MAAsB,cAAtB;;AAEA,SAASC,gBAAT,CAA0B;EAAEC,QAAF;EAAYC,UAAZ;EAAwBC,QAAxB;EAAkCC;AAAlC,CAA1B,EAAsE;EACpE,MAAM,CACJ;IACEC,aADF;IAEEC,OAFF;IAGEC,IAAI,EAAE;MAAEC,OAAF;MAAWC;IAAX;EAHR,CADI,EAMJC,SANI,IAOFX,SAAS,CAAC;IAAEE,QAAF;IAAYC,UAAZ;IAAwBC,QAAxB;IAAkCC;EAAlC,CAAD,CAPb;EAQA,MAAM,CAACO,cAAD,EAAiBC,iBAAjB,IAAsCf,QAAQ,CAAC,EAAD,CAApD;EACA,MAAM,CAACgB,UAAD,EAAaC,aAAb,IAA8BjB,QAAQ,CAAC,EAAD,CAA5C;EAEAC,SAAS,CACP,MAAM;IACJ,IAAIa,cAAc,CAACI,MAAf,KAA0BP,OAAO,CAACO,MAAtC,EAA8C;MAC5CD,aAAa,CAAC,CAAC,GAAGD,UAAJ,EAAgB,GAAGL,OAAnB,CAAD,CAAb;MACAI,iBAAiB,CAACJ,OAAD,CAAjB;IACD;EACF,CANM,EAOP,CAACK,UAAD,EAAaF,cAAb,EAA6BA,cAAc,CAACI,MAA5C,EAAoDP,OAApD,CAPO,CAAT;;EAUA,MAAMQ,SAAS,GAAGC,MAAM,IAAI;IAC1BH,aAAa,CAAC,EAAD,CAAb;IACAJ,SAAS,iCAAMO,MAAN;MAAcC,MAAM,EAAE;IAAtB,GAAT;EACD,CAHD;;EAKA,MAAMC,cAAc,GAAGF,MAAM,IAAI;IAC/BA,MAAM,CAACG,KAAP,KAAiBf,aAAjB,GAAiCW,SAAS,CAACC,MAAD,CAA1C,GAAqDP,SAAS,CAACO,MAAD,CAA9D;EACD,CAFD;;EAIA,OAAO,CAAC;IAAEX,OAAF;IAAWE,OAAO,EAAEK,UAApB;IAAgCJ;EAAhC,CAAD,EAA0CU,cAA1C,CAAP;AACD;;AAED,eAAenB,gBAAf"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/plugin-search-ui",
3
- "version": "0.125.0-admin-updates.1",
3
+ "version": "0.125.0-core-styles.0",
4
4
  "description": "Blaze plugin search ui",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -27,7 +27,7 @@
27
27
  },
28
28
  "license": "GPL-3.0",
29
29
  "dependencies": {
30
- "@blaze-cms/admin-ui-utils": "0.125.0-admin-updates.0",
30
+ "@blaze-cms/admin-ui-utils": "^0.124.0",
31
31
  "@blaze-cms/core-errors": "^0.118.0",
32
32
  "@blaze-cms/setup-ui": "^0.92.0",
33
33
  "@blaze-react/button": "0.5.19",
@@ -52,5 +52,5 @@
52
52
  "lib/*",
53
53
  "lib-es/*"
54
54
  ],
55
- "gitHead": "18db5a6c5174241db2c760418930b7b73b9e82dd"
55
+ "gitHead": "14973185e5f2ade1d5258477ea188dbc3c6756d2"
56
56
  }
@@ -1,28 +1,21 @@
1
1
  import React, { useState, useRef, useEffect } from 'react';
2
2
  import classnames from 'classnames';
3
- import { useDebounce } from '@blaze-react/utils/lib/customHooks';
4
3
  import useLocalStorage from '../useLocalStorage';
5
4
  import SearchBar from './SearchBar';
6
5
  import RecentSearches from './RecentSearches';
7
6
  import SearchResults from './SearchResults';
8
7
  import TriggerModal from './TriggerModal';
9
- import SearchAdminSideBar from './SearchAdminSideBar';
10
8
  import useSearchResults from '../useSearchResults';
11
9
  import { SEARCH_ADMIN } from '../../constants';
12
10
 
13
11
  const SearchAdmin = () => {
14
12
  const [searchTerm, setSearchTerm] = useState('');
15
- const [openSearchSideBar, setOpenSearchSideBar] = useState(true);
16
- const [entityValues, setEntityValues] = useState([]);
17
-
18
13
  const [recentSearches, setRecentSearches] = useLocalStorage('recentSearches', []);
19
14
  const [displaySearchModalFrame, setDisplaySearchModalFrame] = useState(false);
20
15
  const [enableResults, setEnableResults] = useState(true);
21
16
  const searchInputRef = useRef(null);
22
- const debouncedEntityValues = useDebounce(entityValues, 500);
23
17
  const [{ loading, results, total }, setQueryParams] = useSearchResults({
24
- queryKey: SEARCH_ADMIN,
25
- entities: debouncedEntityValues.map(e => e.id)
18
+ queryKey: SEARCH_ADMIN
26
19
  });
27
20
 
28
21
  useEffect(
@@ -75,10 +68,6 @@ const SearchAdmin = () => {
75
68
  'modal--show': displaySearchModalFrame
76
69
  });
77
70
 
78
- const searchModalSideBarClassName = classnames('modal__search__sidebar', {
79
- 'modal__search__sidebar--close': !openSearchSideBar
80
- });
81
-
82
71
  const isEmptySearchTermAndData = !searchTerm && !results.length;
83
72
  const isEmptySearchTermnAndDisabledResults = !searchTerm && !enableResults;
84
73
  const shouldDisplayRecentSearches =
@@ -86,70 +75,51 @@ const SearchAdmin = () => {
86
75
 
87
76
  const showResults = enableResults && results.length;
88
77
 
89
- const handleSetEntityValues = newEntity => {
90
- const entityExists = entityValues.some(entity => entity.id === newEntity.id);
91
- if (entityExists) {
92
- setEntityValues(entityValues.filter(entity => entity.id !== newEntity.id));
93
- } else {
94
- setEntityValues([...entityValues, newEntity]);
95
- }
96
- };
97
-
98
78
  return (
99
79
  <div className="search search--header">
100
80
  <TriggerModal toggleSearchModal={toggleSearchModal} />
101
81
  <div className={searchModalResultsClassName}>
102
82
  {displaySearchModalFrame && (
103
- <div className="modal__search">
104
- <SearchAdminSideBar
105
- searchModalSideBarClassName={searchModalSideBarClassName}
106
- openSearchSideBar={openSearchSideBar}
107
- setOpenSearchSideBar={setOpenSearchSideBar}
108
- handleSetEntityValues={handleSetEntityValues}
109
- entityValues={entityValues}
110
- setEntityValues={setEntityValues}
111
- />
112
- <div className="modal__search__content">
113
- <div className="modal__header modal__header--search">
114
- <SearchBar
115
- toggleSearchModal={toggleSearchModal}
116
- handleKeyDown={handleKeyDown}
117
- searchInputRef={searchInputRef}
118
- handleSearchTerm={handleSearchTerm}
119
- searchTerm={searchTerm}
120
- search={() => search({ value: searchTerm })}
121
- />
122
- </div>
123
- {shouldDisplayRecentSearches ? (
124
- <RecentSearches
125
- recentSearches={recentSearches}
126
- handleSearchTerm={handleSearchTerm}
127
- search={search}
128
- />
129
- ) : (
130
- <>
131
- {!showResults && (
132
- <div className="list list--search">
133
- <div className="header header--list">
134
- <h2>No Results</h2>
135
- </div>
136
- </div>
137
- )}
138
- </>
139
- )}
140
- {showResults && (
141
- <SearchResults
142
- currentValue={searchTerm}
143
- searchTerm={searchTerm}
144
- loading={loading}
145
- results={results}
146
- total={total}
147
- setQueryParams={setQueryParams}
148
- closeModal={toggleSearchModal}
149
- />
150
- )}
83
+ <>
84
+ <div className="modal__header modal__header--search">
85
+ <SearchBar
86
+ toggleSearchModal={toggleSearchModal}
87
+ handleKeyDown={handleKeyDown}
88
+ searchInputRef={searchInputRef}
89
+ handleSearchTerm={handleSearchTerm}
90
+ searchTerm={searchTerm}
91
+ search={() => search({ value: searchTerm })}
92
+ />
151
93
  </div>
152
- </div>
94
+ {shouldDisplayRecentSearches ? (
95
+ <RecentSearches
96
+ recentSearches={recentSearches}
97
+ handleSearchTerm={handleSearchTerm}
98
+ search={search}
99
+ />
100
+ ) : (
101
+ <>
102
+ {!showResults && (
103
+ <div className="list list--search">
104
+ <div className="header header--list">
105
+ <h2>No Results</h2>
106
+ </div>
107
+ </div>
108
+ )}
109
+ </>
110
+ )}
111
+ {showResults && (
112
+ <SearchResults
113
+ currentValue={searchTerm}
114
+ searchTerm={searchTerm}
115
+ loading={loading}
116
+ results={results}
117
+ total={total}
118
+ setQueryParams={setQueryParams}
119
+ closeModal={toggleSearchModal}
120
+ />
121
+ )}
122
+ </>
153
123
  )}
154
124
  </div>
155
125
  </div>
@@ -54,9 +54,7 @@ const SearchResults = ({
54
54
  {loading && <span>Loading...</span>}
55
55
  <div className="modal__content modal__content--search">
56
56
  <div className="header header--list">
57
- <h2 className="header--list--results">
58
- About <b>{total}</b> search keywords results
59
- </h2>
57
+ <h2>{total} results</h2>
60
58
  </div>
61
59
  <VirtualList
62
60
  width="100%"
@@ -67,24 +65,15 @@ const SearchResults = ({
67
65
  scrollToIndex={currentIndex}
68
66
  onItemsRendered={handleRenderedItems}
69
67
  renderItem={({ index, style }) => {
70
- const {
71
- id,
72
- docType,
73
- updated,
74
- name,
75
- entityIdentifier,
76
- published,
77
- created,
78
- status
79
- } = results[index];
68
+ const { id, docType, updated, name } = results[index];
80
69
  const updatedDate = updated ? getDateFormat(updated) : null;
81
- const createdDate = created ? getDateFormat(created) : null;
82
- const publishedDate = published ? getDateFormat(published) : null;
83
70
  return (
84
71
  <div key={index} style={style} className="list__item--resultWrapper">
85
72
  <div className="list__item list__item--result">
86
73
  <div className="list__item-row list__item-row--result">
87
- <span className="list__item-identifier">{entityIdentifier}</span>
74
+ <span className="badge badge--primary">
75
+ {docType} {updatedDate}
76
+ </span>
88
77
  <a
89
78
  href={getNavigationRoute({
90
79
  id,
@@ -96,34 +85,9 @@ const SearchResults = ({
96
85
  docType
97
86
  })
98
87
  }
99
- className="list__item-link">
88
+ className="list__item-text list__item-text--result">
100
89
  {name}
101
90
  </a>
102
-
103
- <div className="list__item-dates">
104
- {publishedDate && (
105
- <span>
106
- <b>Published: </b>
107
- {publishedDate}
108
- </span>
109
- )}
110
- <span>
111
- <b>Created: </b>
112
- {createdDate}
113
- </span>
114
- <span>
115
- <b>Updated: </b>
116
- {updatedDate}
117
- </span>
118
- </div>
119
- <div className="list__item-status">
120
- {status && (
121
- <span>
122
- <b>Status: </b>
123
- {status}
124
- </span>
125
- )}
126
- </div>
127
91
  </div>
128
92
  </div>
129
93
  </div>
@@ -5,9 +5,7 @@ import searchQueries from '../../application/query';
5
5
  function useSearch({ queryKey, resultKeys, entities = [], fields }) {
6
6
  const [queryParams, setParams] = useState({ limit: 20, offset: 0, value: '' });
7
7
  const [searchedValue, setSearchedValue] = useState(null);
8
- const [en, setEn] = useState([]);
9
8
  const [previousOffset, setPreviousOffset] = useState(null);
10
-
11
9
  const buildSearchQuery = searchQueries[queryKey];
12
10
  const [
13
11
  getSearchResults,
@@ -30,14 +28,13 @@ function useSearch({ queryKey, resultKeys, entities = [], fields }) {
30
28
  const { limit, offset, value } = queryParams;
31
29
  const isNewValueSet = value && value !== searchedValue;
32
30
  const isNewOffsetSet = previousOffset !== null && offset !== previousOffset;
33
- const notSameLength = en.length !== entities.length;
34
31
  const parsedEntities = entities.length
35
32
  ? entities.map(entity => ({
36
33
  match: { docType: entity }
37
34
  }))
38
35
  : [];
39
36
 
40
- if (isNewValueSet || isNewOffsetSet || notSameLength) {
37
+ if (isNewValueSet || isNewOffsetSet) {
41
38
  getSearchResults({
42
39
  variables: {
43
40
  limit,
@@ -67,7 +64,6 @@ function useSearch({ queryKey, resultKeys, entities = [], fields }) {
67
64
  });
68
65
  setSearchedValue(value);
69
66
  setPreviousOffset(offset);
70
- setEn(entities);
71
67
  }
72
68
  },
73
69
  [
@@ -79,9 +75,7 @@ function useSearch({ queryKey, resultKeys, entities = [], fields }) {
79
75
  previousOffset,
80
76
  getSearchResults,
81
77
  entities,
82
- fields,
83
- entities.length,
84
- en.length
78
+ fields
85
79
  ]
86
80
  );
87
81
 
@@ -1,3 +1,4 @@
1
+ import { useState, useEffect } from 'react';
1
2
  import useSearch from '../useSearch';
2
3
 
3
4
  function useSearchResults({ queryKey, resultKeys, entities, fields }) {
@@ -9,8 +10,21 @@ function useSearchResults({ queryKey, resultKeys, entities, fields }) {
9
10
  },
10
11
  setParams
11
12
  ] = useSearch({ queryKey, resultKeys, entities, fields });
13
+ const [currentResults, setCurrentResults] = useState([]);
14
+ const [allResults, setAllResults] = useState([]);
15
+
16
+ useEffect(
17
+ () => {
18
+ if (currentResults.length !== results.length) {
19
+ setAllResults([...allResults, ...results]);
20
+ setCurrentResults(results);
21
+ }
22
+ },
23
+ [allResults, currentResults, currentResults.length, results]
24
+ );
12
25
 
13
26
  const clearList = params => {
27
+ setAllResults([]);
14
28
  setParams({ ...params, offset: 0 });
15
29
  };
16
30
 
@@ -18,7 +32,7 @@ function useSearchResults({ queryKey, resultKeys, entities, fields }) {
18
32
  params.value !== searchedValue ? clearList(params) : setParams(params);
19
33
  };
20
34
 
21
- return [{ loading, results, total }, setQueryParams];
35
+ return [{ loading, results: allResults, total }, setQueryParams];
22
36
  }
23
37
 
24
38
  export default useSearchResults;