@blaze-cms/plugin-search-ui 0.125.0-f-admin-updates.3 → 0.125.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 +9 -15
  2. package/lib/components/SearchAdmin/SearchAdmin.js +12 -57
  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 -11
  7. package/lib/components/useSearch/useSearch.js.map +1 -1
  8. package/lib/components/useSearchResults/useSearchResults.js +19 -1
  9. package/lib/components/useSearchResults/useSearchResults.js.map +1 -1
  10. package/lib-es/components/SearchAdmin/SearchAdmin.js +3 -31
  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 +4 -4
  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 -113
  24. package/lib/components/SearchAdmin/SearchAdminSideBar/SearchAdminSideBar.js.map +0 -1
  25. package/lib/components/SearchAdmin/SearchAdminSideBar/index.js +0 -12
  26. package/lib/components/SearchAdmin/SearchAdminSideBar/index.js.map +0 -1
  27. package/lib-es/components/SearchAdmin/SearchAdminSideBar/SearchAdminSideBar.js +0 -76
  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
package/CHANGELOG.md CHANGED
@@ -3,7 +3,7 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- # [0.125.0-f-admin-updates.3](https://github.com/thebyte9/blaze/compare/v0.125.0-f-admin-updates.2...v0.125.0-f-admin-updates.3) (2022-11-10)
6
+ # [0.125.0](https://github.com/thebyte9/blaze/compare/v0.125.0-alpha.18...v0.125.0) (2022-11-30)
7
7
 
8
8
  **Note:** Version bump only for package @blaze-cms/plugin-search-ui
9
9
 
@@ -11,26 +11,20 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
11
11
 
12
12
 
13
13
 
14
- # [0.125.0-f-admin-updates.0](https://github.com/thebyte9/blaze/compare/v0.124.1...v0.125.0-f-admin-updates.0) (2022-10-06)
14
+ # [0.125.0-alpha.18](https://github.com/thebyte9/blaze/compare/v0.125.0-alpha.17...v0.125.0-alpha.18) (2022-11-28)
15
15
 
16
+ **Note:** Version bump only for package @blaze-cms/plugin-search-ui
16
17
 
17
- ### Bug Fixes
18
18
 
19
- * add updated searchAdmin test ([4db3178](https://github.com/thebyte9/blaze/commit/4db3178f8c95182d107a1d151a793a0987c8d7b8))
20
- * improve autocomplete search results ([#3596](https://github.com/thebyte9/blaze/issues/3596)) ([d667764](https://github.com/thebyte9/blaze/commit/d6677641019abca34bae640aa4c857696c11ae4e))
21
- * update tests ([f86218f](https://github.com/thebyte9/blaze/commit/f86218f88a7348f68a07685a8f49ba459aac1b1b))
22
- * update tests ([8fd2675](https://github.com/thebyte9/blaze/commit/8fd2675624126e5a23ecc0af3202d08c46667441))
23
19
 
24
20
 
25
- ### Features
26
21
 
27
- * add admin global search styles update first iteration ([7623917](https://github.com/thebyte9/blaze/commit/7623917e64b670f7d1fc12688af6ed39735da89e))
28
- * add admin syle feedback ([56c01fd](https://github.com/thebyte9/blaze/commit/56c01fdf825a570143d4bc0c54fbcd970adc28ae))
29
- * add search admin sidebar testsuite ([ca043fa](https://github.com/thebyte9/blaze/commit/ca043fa43835bd07cf50bae41af3d11e7be089b6))
30
- * add search sidebar filter by entity ([e8b5423](https://github.com/thebyte9/blaze/commit/e8b542354ce47143635411da07bb640b91bf7fdf))
31
- * add updated snapshots ([a0444bd](https://github.com/thebyte9/blaze/commit/a0444bd0d4e2f78753ac069067d39f3f6e741832))
32
- * amend PR and fix scroll loop issue ([8583497](https://github.com/thebyte9/blaze/commit/85834974cafb45bb87f00f14a99b3fae3a818cfb))
33
- * remove duplicated search results and add usedebounce to improve search performance ([9aad827](https://github.com/thebyte9/blaze/commit/9aad827e7e5aaf3be84d34343d79e6b1ecbead2c))
22
+ # [0.125.0-alpha.1](https://github.com/thebyte9/blaze/compare/v0.125.0-alpha.0...v0.125.0-alpha.1) (2022-09-15)
23
+
24
+
25
+ ### Bug Fixes
26
+
27
+ * improve autocomplete search results ([#3596](https://github.com/thebyte9/blaze/issues/3596)) ([d667764](https://github.com/thebyte9/blaze/commit/d6677641019abca34bae640aa4c857696c11ae4e))
34
28
 
35
29
 
36
30
 
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  require("core-js/modules/es.array.iterator.js");
4
+ require("core-js/modules/es.object.to-string.js");
4
5
  require("core-js/modules/es.string.iterator.js");
5
6
  require("core-js/modules/es.weak-map.js");
6
7
  require("core-js/modules/web.dom-collections.iterator.js");
@@ -12,25 +13,17 @@ Object.defineProperty(exports, "__esModule", {
12
13
  value: true
13
14
  });
14
15
  exports["default"] = void 0;
15
- require("core-js/modules/es.array.map.js");
16
16
  require("core-js/modules/es.array.slice.js");
17
17
  require("core-js/modules/es.array.includes.js");
18
18
  require("core-js/modules/es.string.includes.js");
19
- require("core-js/modules/es.array.some.js");
20
- require("core-js/modules/es.object.to-string.js");
21
- require("core-js/modules/es.array.filter.js");
22
- require("core-js/modules/es.array.concat.js");
23
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
24
19
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
25
20
  var _react = _interopRequireWildcard(require("react"));
26
21
  var _classnames = _interopRequireDefault(require("classnames"));
27
- var _customHooks = require("@blaze-react/utils/lib/customHooks");
28
22
  var _useLocalStorage3 = _interopRequireDefault(require("../useLocalStorage"));
29
23
  var _SearchBar = _interopRequireDefault(require("./SearchBar"));
30
24
  var _RecentSearches = _interopRequireDefault(require("./RecentSearches"));
31
25
  var _SearchResults = _interopRequireDefault(require("./SearchResults"));
32
26
  var _TriggerModal = _interopRequireDefault(require("./TriggerModal"));
33
- var _SearchAdminSideBar = _interopRequireDefault(require("./SearchAdminSideBar"));
34
27
  var _useSearchResults3 = _interopRequireDefault(require("../useSearchResults"));
35
28
  var _constants = require("../../constants");
36
29
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -40,33 +33,21 @@ var SearchAdmin = function SearchAdmin() {
40
33
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
41
34
  searchTerm = _useState2[0],
42
35
  setSearchTerm = _useState2[1];
43
- var _useState3 = (0, _react.useState)(true),
44
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
45
- openSearchSideBar = _useState4[0],
46
- setOpenSearchSideBar = _useState4[1];
47
- var _useState5 = (0, _react.useState)([]),
48
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
49
- entityValues = _useState6[0],
50
- setEntityValues = _useState6[1];
51
36
  var _useLocalStorage = (0, _useLocalStorage3["default"])('recentSearches', []),
52
37
  _useLocalStorage2 = (0, _slicedToArray2["default"])(_useLocalStorage, 2),
53
38
  recentSearches = _useLocalStorage2[0],
54
39
  setRecentSearches = _useLocalStorage2[1];
55
- var _useState7 = (0, _react.useState)(false),
56
- _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
57
- displaySearchModalFrame = _useState8[0],
58
- setDisplaySearchModalFrame = _useState8[1];
59
- var _useState9 = (0, _react.useState)(true),
60
- _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
61
- enableResults = _useState10[0],
62
- setEnableResults = _useState10[1];
40
+ var _useState3 = (0, _react.useState)(false),
41
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
42
+ displaySearchModalFrame = _useState4[0],
43
+ setDisplaySearchModalFrame = _useState4[1];
44
+ var _useState5 = (0, _react.useState)(true),
45
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
46
+ enableResults = _useState6[0],
47
+ setEnableResults = _useState6[1];
63
48
  var searchInputRef = (0, _react.useRef)(null);
64
- var debouncedEntityValues = (0, _customHooks.useDebounce)(entityValues, 500);
65
49
  var _useSearchResults = (0, _useSearchResults3["default"])({
66
- queryKey: _constants.SEARCH_ADMIN,
67
- entities: debouncedEntityValues.map(function (e) {
68
- return e.id;
69
- })
50
+ queryKey: _constants.SEARCH_ADMIN
70
51
  }),
71
52
  _useSearchResults2 = (0, _slicedToArray2["default"])(_useSearchResults, 2),
72
53
  _useSearchResults2$ = _useSearchResults2[0],
@@ -121,43 +102,17 @@ var SearchAdmin = function SearchAdmin() {
121
102
  var searchModalResultsClassName = (0, _classnames["default"])('modal modal--full-screen modal--search', {
122
103
  'modal--show': displaySearchModalFrame
123
104
  });
124
- var searchModalSideBarClassName = (0, _classnames["default"])('modal__search__sidebar', {
125
- 'modal__search__sidebar--close': !openSearchSideBar
126
- });
127
105
  var isEmptySearchTermAndData = !searchTerm && !results.length;
128
106
  var isEmptySearchTermnAndDisabledResults = !searchTerm && !enableResults;
129
107
  var shouldDisplayRecentSearches = isEmptySearchTermAndData || isEmptySearchTermnAndDisabledResults;
130
108
  var showResults = enableResults && results.length;
131
- var handleSetEntityValues = function handleSetEntityValues(newEntity) {
132
- var entityExists = entityValues.some(function (entity) {
133
- return entity.id === newEntity.id;
134
- });
135
- if (entityExists) {
136
- setEntityValues(entityValues.filter(function (entity) {
137
- return entity.id !== newEntity.id;
138
- }));
139
- } else {
140
- setEntityValues([].concat((0, _toConsumableArray2["default"])(entityValues), [newEntity]));
141
- }
142
- };
143
109
  return /*#__PURE__*/_react["default"].createElement("div", {
144
110
  className: "search search--header"
145
111
  }, /*#__PURE__*/_react["default"].createElement(_TriggerModal["default"], {
146
112
  toggleSearchModal: toggleSearchModal
147
113
  }), /*#__PURE__*/_react["default"].createElement("div", {
148
114
  className: searchModalResultsClassName
149
- }, displaySearchModalFrame && /*#__PURE__*/_react["default"].createElement("div", {
150
- className: "modal__search"
151
- }, /*#__PURE__*/_react["default"].createElement(_SearchAdminSideBar["default"], {
152
- searchModalSideBarClassName: searchModalSideBarClassName,
153
- openSearchSideBar: openSearchSideBar,
154
- setOpenSearchSideBar: setOpenSearchSideBar,
155
- handleSetEntityValues: handleSetEntityValues,
156
- entityValues: entityValues,
157
- setEntityValues: setEntityValues
158
- }), /*#__PURE__*/_react["default"].createElement("div", {
159
- className: "modal__search__content"
160
- }, /*#__PURE__*/_react["default"].createElement("div", {
115
+ }, displaySearchModalFrame && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
161
116
  className: "modal__header modal__header--search"
162
117
  }, /*#__PURE__*/_react["default"].createElement(_SearchBar["default"], {
163
118
  toggleSearchModal: toggleSearchModal,
@@ -186,7 +141,7 @@ var SearchAdmin = function SearchAdmin() {
186
141
  total: total,
187
142
  setQueryParams: setQueryParams,
188
143
  closeModal: toggleSearchModal
189
- })))));
144
+ }))));
190
145
  };
191
146
  var _default = SearchAdmin;
192
147
  exports["default"] = _default;
@@ -1 +1 @@
1
- {"version":3,"file":"SearchAdmin.js","names":["SearchAdmin","useState","searchTerm","setSearchTerm","openSearchSideBar","setOpenSearchSideBar","entityValues","setEntityValues","useLocalStorage","recentSearches","setRecentSearches","displaySearchModalFrame","setDisplaySearchModalFrame","enableResults","setEnableResults","searchInputRef","useRef","debouncedEntityValues","useDebounce","useSearchResults","queryKey","SEARCH_ADMIN","entities","map","e","id","loading","results","total","setQueryParams","useEffect","current","focus","handleSearchTerm","value","target","toggleSearchModal","search","MAX_RECENT_SEARCHES","recentSearchesCopy","slice","includes","push","length","shift","handleKeyDown","key","clear","searchModalResultsClassName","classnames","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":["SearchAdmin","useState","searchTerm","setSearchTerm","useLocalStorage","recentSearches","setRecentSearches","displaySearchModalFrame","setDisplaySearchModalFrame","enableResults","setEnableResults","searchInputRef","useRef","useSearchResults","queryKey","SEARCH_ADMIN","loading","results","total","setQueryParams","useEffect","current","focus","handleSearchTerm","value","target","toggleSearchModal","search","MAX_RECENT_SEARCHES","recentSearchesCopy","slice","includes","push","length","shift","handleKeyDown","key","clear","searchModalResultsClassName","classnames","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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"}
@@ -103,9 +103,7 @@ var SearchResults = function SearchResults(_ref) {
103
103
  className: "modal__content modal__content--search"
104
104
  }, /*#__PURE__*/_react["default"].createElement("div", {
105
105
  className: "header header--list"
106
- }, /*#__PURE__*/_react["default"].createElement("h2", {
107
- className: "header--list--results"
108
- }, "About ", /*#__PURE__*/_react["default"].createElement("b", null, total), " search keywords results")), /*#__PURE__*/_react["default"].createElement(_reactTinyVirtualList["default"], {
106
+ }, /*#__PURE__*/_react["default"].createElement("h2", null, total, " results")), /*#__PURE__*/_react["default"].createElement(_reactTinyVirtualList["default"], {
109
107
  width: "100%",
110
108
  height: window.innerHeight - _constants.SEARCH_RESULTS_ELEMETS_HEIGHT_ABOVE_LIST,
111
109
  itemCount: results.length,
@@ -120,14 +118,8 @@ var SearchResults = function SearchResults(_ref) {
120
118
  id = _results$index.id,
121
119
  docType = _results$index.docType,
122
120
  updated = _results$index.updated,
123
- name = _results$index.name,
124
- entityIdentifier = _results$index.entityIdentifier,
125
- published = _results$index.published,
126
- created = _results$index.created,
127
- status = _results$index.status;
121
+ name = _results$index.name;
128
122
  var updatedDate = updated ? getDateFormat(updated) : null;
129
- var createdDate = created ? getDateFormat(created) : null;
130
- var publishedDate = published ? getDateFormat(published) : null;
131
123
  return /*#__PURE__*/_react["default"].createElement("div", {
132
124
  key: index,
133
125
  style: style,
@@ -137,8 +129,8 @@ var SearchResults = function SearchResults(_ref) {
137
129
  }, /*#__PURE__*/_react["default"].createElement("div", {
138
130
  className: "list__item-row list__item-row--result"
139
131
  }, /*#__PURE__*/_react["default"].createElement("span", {
140
- className: "list__item-identifier"
141
- }, entityIdentifier), /*#__PURE__*/_react["default"].createElement("a", {
132
+ className: "badge badge--primary"
133
+ }, docType, " ", updatedDate), /*#__PURE__*/_react["default"].createElement("a", {
142
134
  href: getNavigationRoute({
143
135
  id: id,
144
136
  docType: docType
@@ -149,12 +141,8 @@ var SearchResults = function SearchResults(_ref) {
149
141
  docType: docType
150
142
  });
151
143
  },
152
- className: "list__item-link"
153
- }, name), /*#__PURE__*/_react["default"].createElement("div", {
154
- className: "list__item-dates"
155
- }, publishedDate && /*#__PURE__*/_react["default"].createElement("span", null, /*#__PURE__*/_react["default"].createElement("b", null, "Published: "), publishedDate), /*#__PURE__*/_react["default"].createElement("span", null, /*#__PURE__*/_react["default"].createElement("b", null, "Created: "), createdDate), /*#__PURE__*/_react["default"].createElement("span", null, /*#__PURE__*/_react["default"].createElement("b", null, "Updated: "), updatedDate)), /*#__PURE__*/_react["default"].createElement("div", {
156
- className: "list__item-status"
157
- }, status && /*#__PURE__*/_react["default"].createElement("span", null, /*#__PURE__*/_react["default"].createElement("b", null, "Status: "), status)))));
144
+ className: "list__item-text list__item-text--result"
145
+ }, name))));
158
146
  }
159
147
  })));
160
148
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SearchResults.js","names":["SearchResults","currentValue","loading","results","total","setQueryParams","closeModal","history","useState","verifiedRanges","setVerifiedRanges","currentIndex","setCurrentIndex","handleRenderedItems","startIndex","rowsLength","length","loadIndex","Math","floor","SEARCH_RESULTS_OVER_SCAN_BUFFER","includes","value","offset","getNavigationRoute","id","docType","FILE","navigate","push","getDateFormat","date","newDate","Date","day","getDate","slice","month","getMonth","year","String","getYear","window","innerHeight","SEARCH_RESULTS_ELEMETS_HEIGHT_ABOVE_LIST","SEARCH_RESULTS_ITEM_SIZE","index","style","updated","name","entityIdentifier","published","created","status","updatedDate","createdDate","publishedDate","propTypes","PropTypes","bool","isRequired","array","number","func","object","string","withRouter"],"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":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AAK4B;AAAA;AAX5B;AACA;;AAYA,IAAMA,aAAa,GAAG,SAAhBA,aAAa,OAQb;EAAA,IAPJC,YAAY,QAAZA,YAAY;IACZC,OAAO,QAAPA,OAAO;IACPC,OAAO,QAAPA,OAAO;IACPC,KAAK,QAALA,KAAK;IACLC,cAAc,QAAdA,cAAc;IACdC,UAAU,QAAVA,UAAU;IACVC,OAAO,QAAPA,OAAO;EAEP,gBAA4C,IAAAC,eAAQ,EAAC,EAAE,CAAC;IAAA;IAAjDC,cAAc;IAAEC,iBAAiB;EACxC,iBAAwC,IAAAF,eAAQ,EAAC,CAAC,CAAC;IAAA;IAA5CG,YAAY;IAAEC,eAAe;EAEpC,IAAMC,mBAAmB;IAAA,0FAAG;MAAA;MAAA;QAAA;UAAA;YAAA;cAASC,UAAU,SAAVA,UAAU;cACvCC,UAAU,GAAGZ,OAAO,CAACa,MAAM;cAC3BC,SAAS,GAAGC,IAAI,CAACC,KAAK,CAACJ,UAAU,GAAG,CAAC,CAAC,GAAGK,0CAA+B;cAC9E,IAAIH,SAAS,GAAG,CAAC,IAAIA,SAAS,GAAGH,UAAU,IAAI,CAACL,cAAc,CAACY,QAAQ,CAACJ,SAAS,CAAC,EAAE;gBAClFZ,cAAc,CAAC;kBAAEiB,KAAK,EAAErB,YAAY;kBAAEsB,MAAM,EAAEpB,OAAO,CAACa;gBAAO,CAAC,CAAC;gBAC/DN,iBAAiB,+CAAKD,cAAc,IAAEQ,SAAS,GAAE;gBACjDL,eAAe,CAACE,UAAU,GAAGM,0CAA+B,CAAC;cAC/D;YAAC;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA,CACF;IAAA,gBARKP,mBAAmB;MAAA;IAAA;EAAA,GAQxB;EAED,IAAMW,kBAAkB,GAAG,SAArBA,kBAAkB;IAAA,IAAMC,EAAE,SAAFA,EAAE;MAAEC,OAAO,SAAPA,OAAO;IAAA,OACvCA,OAAO,KAAKC,eAAI,yBAAkBF,EAAE,4BAAsBC,OAAO,qBAAWD,EAAE,CAAE;EAAA;EAElF,IAAMG,QAAQ,GAAG,SAAXA,QAAQ,QAAwB;IAAA,IAAlBH,EAAE,SAAFA,EAAE;MAAEC,OAAO,SAAPA,OAAO;IAC7BnB,OAAO,CAACsB,IAAI,CAACL,kBAAkB,CAAC;MAAEC,EAAE,EAAFA,EAAE;MAAEC,OAAO,EAAPA;IAAQ,CAAC,CAAC,CAAC;IACjDpB,UAAU,EAAE;EACd,CAAC;EAED,IAAMwB,aAAa,GAAG,SAAhBA,aAAa,CAAGC,IAAI,EAAI;IAC5B,IAAMC,OAAO,GAAG,IAAIC,IAAI,CAACF,IAAI,CAAC;IAC9B,IAAMG,GAAG,GAAG,WAAIF,OAAO,CAACG,OAAO,EAAE,EAAGC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAMC,KAAK,GAAG,WAAIL,OAAO,CAACM,QAAQ,EAAE,GAAG,CAAC,EAAGF,KAAK,CAAC,CAAC,CAAC,CAAC;IACpD,IAAMG,IAAI,GAAGC,MAAM,CAACR,OAAO,CAACS,OAAO,EAAE,CAAC,CAACL,KAAK,CAAC,CAAC,CAAC,CAAC;IAChD,iBAAUF,GAAG,cAAIG,KAAK,cAAIE,IAAI;EAChC,CAAC;EAED,oBACE,kEACGrC,OAAO,iBAAI,2DAAuB,eACnC;IAAK,SAAS,EAAC;EAAuC,gBACpD;IAAK,SAAS,EAAC;EAAqB,gBAClC;IAAI,SAAS,EAAC;EAAuB,0BAC7B,2CAAIE,KAAK,CAAK,6BACjB,CACD,eACN,gCAAC,gCAAW;IACV,KAAK,EAAC,MAAM;IACZ,MAAM,EAAEsC,MAAM,CAACC,WAAW,GAAGC,mDAAyC;IACtE,SAAS,EAAEzC,OAAO,CAACa,MAAO;IAC1B,QAAQ,EAAE6B,mCAAyB;IACnC,aAAa,EAAEzB,0CAAgC;IAC/C,aAAa,EAAET,YAAa;IAC5B,eAAe,EAAEE,mBAAoB;IACrC,UAAU,EAAE,2BAAsB;MAAA,IAAnBiC,KAAK,SAALA,KAAK;QAAEC,KAAK,SAALA,KAAK;MACzB,qBASI5C,OAAO,CAAC2C,KAAK,CAAC;QARhBrB,EAAE,kBAAFA,EAAE;QACFC,OAAO,kBAAPA,OAAO;QACPsB,OAAO,kBAAPA,OAAO;QACPC,IAAI,kBAAJA,IAAI;QACJC,gBAAgB,kBAAhBA,gBAAgB;QAChBC,SAAS,kBAATA,SAAS;QACTC,OAAO,kBAAPA,OAAO;QACPC,MAAM,kBAANA,MAAM;MAER,IAAMC,WAAW,GAAGN,OAAO,GAAGlB,aAAa,CAACkB,OAAO,CAAC,GAAG,IAAI;MAC3D,IAAMO,WAAW,GAAGH,OAAO,GAAGtB,aAAa,CAACsB,OAAO,CAAC,GAAG,IAAI;MAC3D,IAAMI,aAAa,GAAGL,SAAS,GAAGrB,aAAa,CAACqB,SAAS,CAAC,GAAG,IAAI;MACjE,oBACE;QAAK,GAAG,EAAEL,KAAM;QAAC,KAAK,EAAEC,KAAM;QAAC,SAAS,EAAC;MAA2B,gBAClE;QAAK,SAAS,EAAC;MAA+B,gBAC5C;QAAK,SAAS,EAAC;MAAuC,gBACpD;QAAM,SAAS,EAAC;MAAuB,GAAEG,gBAAgB,CAAQ,eACjE;QACE,IAAI,EAAE1B,kBAAkB,CAAC;UACvBC,EAAE,EAAFA,EAAE;UACFC,OAAO,EAAPA;QACF,CAAC,CAAE;QACH,OAAO,EAAE;UAAA,OACPE,QAAQ,CAAC;YACPH,EAAE,EAAFA,EAAE;YACFC,OAAO,EAAPA;UACF,CAAC,CAAC;QAAA,CACH;QACD,SAAS,EAAC;MAAiB,GAC1BuB,IAAI,CACH,eAEJ;QAAK,SAAS,EAAC;MAAkB,GAC9BO,aAAa,iBACZ,2DACE,yDAAkB,EACjBA,aAAa,CAEjB,eACD,2DACE,uDAAgB,EACfD,WAAW,CACP,eACP,2DACE,uDAAgB,EACfD,WAAW,CACP,CACH,eACN;QAAK,SAAS,EAAC;MAAmB,GAC/BD,MAAM,iBACL,2DACE,sDAAe,EACdA,MAAM,CAEV,CACG,CACF,CACF,CACF;IAEV;EAAE,EACF,CACE,CACL;AAEP,CAAC;AAEDrD,aAAa,CAACyD,SAAS,GAAG;EACxBvD,OAAO,EAAEwD,qBAAS,CAACC,IAAI,CAACC,UAAU;EAClCzD,OAAO,EAAEuD,qBAAS,CAACG,KAAK,CAACD,UAAU;EACnCxD,KAAK,EAAEsD,qBAAS,CAACI,MAAM,CAACF,UAAU;EAClCvD,cAAc,EAAEqD,qBAAS,CAACK,IAAI,CAACH,UAAU;EACzCtD,UAAU,EAAEoD,qBAAS,CAACK,IAAI,CAACH,UAAU;EACrCrD,OAAO,EAAEmD,qBAAS,CAACM,MAAM,CAACJ,UAAU;EACpC3D,YAAY,EAAEyD,qBAAS,CAACO,MAAM,CAACL;AACjC,CAAC;AAAC,eAEa,IAAAM,0BAAU,EAAClE,aAAa,CAAC;AAAA"}
1
+ {"version":3,"file":"SearchResults.js","names":["SearchResults","currentValue","loading","results","total","setQueryParams","closeModal","history","useState","verifiedRanges","setVerifiedRanges","currentIndex","setCurrentIndex","handleRenderedItems","startIndex","rowsLength","length","loadIndex","Math","floor","SEARCH_RESULTS_OVER_SCAN_BUFFER","includes","value","offset","getNavigationRoute","id","docType","FILE","navigate","push","getDateFormat","date","newDate","Date","day","getDate","slice","month","getMonth","year","String","getYear","window","innerHeight","SEARCH_RESULTS_ELEMETS_HEIGHT_ABOVE_LIST","SEARCH_RESULTS_ITEM_SIZE","index","style","updated","name","updatedDate","propTypes","PropTypes","bool","isRequired","array","number","func","object","string","withRouter"],"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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"}
@@ -43,14 +43,10 @@ function useSearch(_ref) {
43
43
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
44
44
  searchedValue = _useState4[0],
45
45
  setSearchedValue = _useState4[1];
46
- var _useState5 = (0, _react.useState)([]),
46
+ var _useState5 = (0, _react.useState)(null),
47
47
  _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
48
- en = _useState6[0],
49
- setEn = _useState6[1];
50
- var _useState7 = (0, _react.useState)(null),
51
- _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
52
- previousOffset = _useState8[0],
53
- setPreviousOffset = _useState8[1];
48
+ previousOffset = _useState6[0],
49
+ setPreviousOffset = _useState6[1];
54
50
  var buildSearchQuery = _query["default"][queryKey];
55
51
  var _useLazyQuery = (0, _client.useLazyQuery)(buildSearchQuery({
56
52
  resultKeys: resultKeys
@@ -84,7 +80,6 @@ function useSearch(_ref) {
84
80
  value = queryParams.value;
85
81
  var isNewValueSet = value && value !== searchedValue;
86
82
  var isNewOffsetSet = previousOffset !== null && offset !== previousOffset;
87
- var notSameLength = en.length !== entities.length;
88
83
  var parsedEntities = entities.length ? entities.map(function (entity) {
89
84
  return {
90
85
  match: {
@@ -92,7 +87,7 @@ function useSearch(_ref) {
92
87
  }
93
88
  };
94
89
  }) : [];
95
- if (isNewValueSet || isNewOffsetSet || notSameLength) {
90
+ if (isNewValueSet || isNewOffsetSet) {
96
91
  getSearchResults({
97
92
  variables: {
98
93
  limit: limit,
@@ -119,9 +114,8 @@ function useSearch(_ref) {
119
114
  });
120
115
  setSearchedValue(value);
121
116
  setPreviousOffset(offset);
122
- setEn(entities);
123
117
  }
124
- }, [queryParams, queryParams.limit, queryParams.value, queryParams.offset, searchedValue, previousOffset, getSearchResults, entities, fields, entities.length, en.length]);
118
+ }, [queryParams, queryParams.limit, queryParams.value, queryParams.offset, searchedValue, previousOffset, getSearchResults, entities, fields]);
125
119
  return [{
126
120
  searchedValue: queryParams.value,
127
121
  loading: loading,
@@ -1 +1 @@
1
- {"version":3,"file":"useSearch.js","names":["useSearch","queryKey","resultKeys","entities","fields","useState","limit","offset","value","queryParams","setParams","searchedValue","setSearchedValue","en","setEn","previousOffset","setPreviousOffset","buildSearchQuery","searchQueries","useLazyQuery","ssr","getSearchResults","loading","data","search","results","total","jsonResults","handleQueryParams","newQueryParams","useEffect","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":["useSearch","queryKey","resultKeys","entities","fields","useState","limit","offset","value","queryParams","setParams","searchedValue","setSearchedValue","previousOffset","setPreviousOffset","buildSearchQuery","searchQueries","useLazyQuery","ssr","getSearchResults","loading","data","search","results","total","jsonResults","handleQueryParams","newQueryParams","useEffect","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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"}
@@ -15,8 +15,11 @@ Object.defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
17
  exports["default"] = void 0;
18
+ require("core-js/modules/es.array.concat.js");
18
19
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
20
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
19
21
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
22
+ var _react = require("react");
20
23
  var _useSearch3 = _interopRequireDefault(require("../useSearch"));
21
24
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
22
25
  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) { (0, _defineProperty2["default"])(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; }
@@ -39,7 +42,22 @@ function useSearchResults(_ref) {
39
42
  results = _useSearch2$$data.results,
40
43
  total = _useSearch2$$data.total,
41
44
  setParams = _useSearch2[1];
45
+ var _useState = (0, _react.useState)([]),
46
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
47
+ currentResults = _useState2[0],
48
+ setCurrentResults = _useState2[1];
49
+ var _useState3 = (0, _react.useState)([]),
50
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
51
+ allResults = _useState4[0],
52
+ setAllResults = _useState4[1];
53
+ (0, _react.useEffect)(function () {
54
+ if (currentResults.length !== results.length) {
55
+ setAllResults([].concat((0, _toConsumableArray2["default"])(allResults), (0, _toConsumableArray2["default"])(results)));
56
+ setCurrentResults(results);
57
+ }
58
+ }, [allResults, currentResults, currentResults.length, results]);
42
59
  var clearList = function clearList(params) {
60
+ setAllResults([]);
43
61
  setParams(_objectSpread(_objectSpread({}, params), {}, {
44
62
  offset: 0
45
63
  }));
@@ -49,7 +67,7 @@ function useSearchResults(_ref) {
49
67
  };
50
68
  return [{
51
69
  loading: loading,
52
- results: results,
70
+ results: allResults,
53
71
  total: total
54
72
  }, setQueryParams];
55
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useSearchResults.js","names":["useSearchResults","queryKey","resultKeys","entities","fields","useSearch","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;AAAqC;AAAA;AAErC,SAASA,gBAAgB,OAA6C;EAAA,IAA1CC,QAAQ,QAARA,QAAQ;IAAEC,UAAU,QAAVA,UAAU;IAAEC,QAAQ,QAARA,QAAQ;IAAEC,MAAM,QAANA,MAAM;EAChE,iBAOI,IAAAC,sBAAS,EAAC;MAAEJ,QAAQ,EAARA,QAAQ;MAAEC,UAAU,EAAVA,UAAU;MAAEC,QAAQ,EAARA,QAAQ;MAAEC,MAAM,EAANA;IAAO,CAAC,CAAC;IAAA;IAAA;IALrDE,aAAa,gBAAbA,aAAa;IACbC,OAAO,gBAAPA,OAAO;IAAA,iCACPC,IAAI;IAAIC,OAAO,qBAAPA,OAAO;IAAEC,KAAK,qBAALA,KAAK;IAExBC,SAAS;EAGX,IAAMC,SAAS,GAAG,SAAZA,SAAS,CAAGC,MAAM,EAAI;IAC1BF,SAAS,iCAAME,MAAM;MAAEC,MAAM,EAAE;IAAC,GAAG;EACrC,CAAC;EAED,IAAMC,cAAc,GAAG,SAAjBA,cAAc,CAAGF,MAAM,EAAI;IAC/BA,MAAM,CAACG,KAAK,KAAKV,aAAa,GAAGM,SAAS,CAACC,MAAM,CAAC,GAAGF,SAAS,CAACE,MAAM,CAAC;EACxE,CAAC;EAED,OAAO,CAAC;IAAEN,OAAO,EAAPA,OAAO;IAAEE,OAAO,EAAPA,OAAO;IAAEC,KAAK,EAALA;EAAM,CAAC,EAAEK,cAAc,CAAC;AACtD;AAAC,eAEcf,gBAAgB;AAAA"}
1
+ {"version":3,"file":"useSearchResults.js","names":["useSearchResults","queryKey","resultKeys","entities","fields","useSearch","searchedValue","loading","data","results","total","setParams","useState","currentResults","setCurrentResults","allResults","setAllResults","useEffect","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;AACA;AAAqC;AAAA;AAErC,SAASA,gBAAgB,OAA6C;EAAA,IAA1CC,QAAQ,QAARA,QAAQ;IAAEC,UAAU,QAAVA,UAAU;IAAEC,QAAQ,QAARA,QAAQ;IAAEC,MAAM,QAANA,MAAM;EAChE,iBAOI,IAAAC,sBAAS,EAAC;MAAEJ,QAAQ,EAARA,QAAQ;MAAEC,UAAU,EAAVA,UAAU;MAAEC,QAAQ,EAARA,QAAQ;MAAEC,MAAM,EAANA;IAAO,CAAC,CAAC;IAAA;IAAA;IALrDE,aAAa,gBAAbA,aAAa;IACbC,OAAO,gBAAPA,OAAO;IAAA,iCACPC,IAAI;IAAIC,OAAO,qBAAPA,OAAO;IAAEC,KAAK,qBAALA,KAAK;IAExBC,SAAS;EAEX,gBAA4C,IAAAC,eAAQ,EAAC,EAAE,CAAC;IAAA;IAAjDC,cAAc;IAAEC,iBAAiB;EACxC,iBAAoC,IAAAF,eAAQ,EAAC,EAAE,CAAC;IAAA;IAAzCG,UAAU;IAAEC,aAAa;EAEhC,IAAAC,gBAAS,EACP,YAAM;IACJ,IAAIJ,cAAc,CAACK,MAAM,KAAKT,OAAO,CAACS,MAAM,EAAE;MAC5CF,aAAa,+CAAKD,UAAU,uCAAKN,OAAO,GAAE;MAC1CK,iBAAiB,CAACL,OAAO,CAAC;IAC5B;EACF,CAAC,EACD,CAACM,UAAU,EAAEF,cAAc,EAAEA,cAAc,CAACK,MAAM,EAAET,OAAO,CAAC,CAC7D;EAED,IAAMU,SAAS,GAAG,SAAZA,SAAS,CAAGC,MAAM,EAAI;IAC1BJ,aAAa,CAAC,EAAE,CAAC;IACjBL,SAAS,iCAAMS,MAAM;MAAEC,MAAM,EAAE;IAAC,GAAG;EACrC,CAAC;EAED,IAAMC,cAAc,GAAG,SAAjBA,cAAc,CAAGF,MAAM,EAAI;IAC/BA,MAAM,CAACG,KAAK,KAAKjB,aAAa,GAAGa,SAAS,CAACC,MAAM,CAAC,GAAGT,SAAS,CAACS,MAAM,CAAC;EACxE,CAAC;EAED,OAAO,CAAC;IAAEb,OAAO,EAAPA,OAAO;IAAEE,OAAO,EAAEM,UAAU;IAAEL,KAAK,EAALA;EAAM,CAAC,EAAEY,cAAc,CAAC;AAClE;AAAC,eAEctB,gBAAgB;AAAA"}
@@ -1,30 +1,24 @@
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
  const SearchAdmin = () => {
13
11
  const [searchTerm, setSearchTerm] = useState('');
14
- const [openSearchSideBar, setOpenSearchSideBar] = useState(true);
15
- const [entityValues, setEntityValues] = useState([]);
16
12
  const [recentSearches, setRecentSearches] = useLocalStorage('recentSearches', []);
17
13
  const [displaySearchModalFrame, setDisplaySearchModalFrame] = useState(false);
18
14
  const [enableResults, setEnableResults] = useState(true);
19
15
  const searchInputRef = useRef(null);
20
- const debouncedEntityValues = useDebounce(entityValues, 500);
21
16
  const [{
22
17
  loading,
23
18
  results,
24
19
  total
25
20
  }, setQueryParams] = useSearchResults({
26
- queryKey: SEARCH_ADMIN,
27
- entities: debouncedEntityValues.map(e => e.id)
21
+ queryKey: SEARCH_ADMIN
28
22
  });
29
23
  useEffect(() => {
30
24
  if (searchInputRef && searchInputRef.current) {
@@ -78,39 +72,17 @@ const SearchAdmin = () => {
78
72
  const searchModalResultsClassName = classnames('modal modal--full-screen modal--search', {
79
73
  'modal--show': displaySearchModalFrame
80
74
  });
81
- const searchModalSideBarClassName = classnames('modal__search__sidebar', {
82
- 'modal__search__sidebar--close': !openSearchSideBar
83
- });
84
75
  const isEmptySearchTermAndData = !searchTerm && !results.length;
85
76
  const isEmptySearchTermnAndDisabledResults = !searchTerm && !enableResults;
86
77
  const shouldDisplayRecentSearches = isEmptySearchTermAndData || isEmptySearchTermnAndDisabledResults;
87
78
  const showResults = enableResults && results.length;
88
- const handleSetEntityValues = newEntity => {
89
- const entityExists = entityValues.some(entity => entity.id === newEntity.id);
90
- if (entityExists) {
91
- setEntityValues(entityValues.filter(entity => entity.id !== newEntity.id));
92
- } else {
93
- setEntityValues([...entityValues, newEntity]);
94
- }
95
- };
96
79
  return /*#__PURE__*/React.createElement("div", {
97
80
  className: "search search--header"
98
81
  }, /*#__PURE__*/React.createElement(TriggerModal, {
99
82
  toggleSearchModal: toggleSearchModal
100
83
  }), /*#__PURE__*/React.createElement("div", {
101
84
  className: searchModalResultsClassName
102
- }, displaySearchModalFrame && /*#__PURE__*/React.createElement("div", {
103
- className: "modal__search"
104
- }, /*#__PURE__*/React.createElement(SearchAdminSideBar, {
105
- searchModalSideBarClassName: searchModalSideBarClassName,
106
- openSearchSideBar: openSearchSideBar,
107
- setOpenSearchSideBar: setOpenSearchSideBar,
108
- handleSetEntityValues: handleSetEntityValues,
109
- entityValues: entityValues,
110
- setEntityValues: setEntityValues
111
- }), /*#__PURE__*/React.createElement("div", {
112
- className: "modal__search__content"
113
- }, /*#__PURE__*/React.createElement("div", {
85
+ }, displaySearchModalFrame && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
114
86
  className: "modal__header modal__header--search"
115
87
  }, /*#__PURE__*/React.createElement(SearchBar, {
116
88
  toggleSearchModal: toggleSearchModal,
@@ -137,7 +109,7 @@ const SearchAdmin = () => {
137
109
  total: total,
138
110
  setQueryParams: setQueryParams,
139
111
  closeModal: toggleSearchModal
140
- })))));
112
+ }))));
141
113
  };
142
114
  export default SearchAdmin;
143
115
  //# sourceMappingURL=SearchAdmin.js.map
@@ -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":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,MAAM,EAAEC,SAAS,QAAQ,OAAO;AAC1D,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,eAAe,MAAM,oBAAoB;AAChD,OAAOC,SAAS,MAAM,aAAa;AACnC,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,OAAOC,YAAY,MAAM,gBAAgB;AACzC,OAAOC,gBAAgB,MAAM,qBAAqB;AAClD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,WAAW,GAAG,MAAM;EACxB,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGb,QAAQ,CAAC,EAAE,CAAC;EAChD,MAAM,CAACc,cAAc,EAAEC,iBAAiB,CAAC,GAAGX,eAAe,CAAC,gBAAgB,EAAE,EAAE,CAAC;EACjF,MAAM,CAACY,uBAAuB,EAAEC,0BAA0B,CAAC,GAAGjB,QAAQ,CAAC,KAAK,CAAC;EAC7E,MAAM,CAACkB,aAAa,EAAEC,gBAAgB,CAAC,GAAGnB,QAAQ,CAAC,IAAI,CAAC;EACxD,MAAMoB,cAAc,GAAGnB,MAAM,CAAC,IAAI,CAAC;EACnC,MAAM,CAAC;IAAEoB,OAAO;IAAEC,OAAO;IAAEC;EAAM,CAAC,EAAEC,cAAc,CAAC,GAAGf,gBAAgB,CAAC;IACrEgB,QAAQ,EAAEf;EACZ,CAAC,CAAC;EAEFR,SAAS,CACP,MAAM;IACJ,IAAIkB,cAAc,IAAIA,cAAc,CAACM,OAAO,EAAE;MAC5CN,cAAc,CAACM,OAAO,CAACC,KAAK,EAAE;IAChC;EACF,CAAC,EACD,CAACX,uBAAuB,CAAC,CAC1B;EAED,MAAMY,gBAAgB,GAAG,CAAC;IAAEC,MAAM,EAAE;MAAEC;IAAM;EAAE,CAAC,KAAK;IAClDjB,aAAa,CAACiB,KAAK,CAAC;EACtB,CAAC;EACD,MAAMC,iBAAiB,GAAG,MAAM;IAC9BlB,aAAa,CAAC,IAAI,CAAC;IACnBM,gBAAgB,CAAC,KAAK,CAAC;IACvBF,0BAA0B,CAAC,CAACD,uBAAuB,CAAC;EACtD,CAAC;EACD,MAAMgB,MAAM,GAAG,CAAC;IAAEF;EAAM,CAAC,KAAK;IAC5B,IAAI,CAACA,KAAK,EAAE;IACZ,CAACZ,aAAa,IAAIC,gBAAgB,CAAC,IAAI,CAAC;IACxC,MAAMc,mBAAmB,GAAG,CAAC;IAC7B,MAAMC,kBAAkB,GAAGpB,cAAc,CAACqB,KAAK,EAAE;IAEjD,IAAI,CAACD,kBAAkB,CAACE,QAAQ,CAACN,KAAK,CAAC,EAAE;MACvCI,kBAAkB,CAACG,IAAI,CAACP,KAAK,CAAC;MAC9B,IAAII,kBAAkB,CAACI,MAAM,GAAGL,mBAAmB,EAAE;QACnDC,kBAAkB,CAACK,KAAK,EAAE;MAC5B;IACF;IAEAxB,iBAAiB,CAACmB,kBAAkB,CAAC;IACrCV,cAAc,CAAC;MAAEM;IAAM,CAAC,CAAC;EAC3B,CAAC;EAED,MAAMU,aAAa,GAAG,CAAC;IAAEC;EAAI,CAAC,KAAK;IACjC,IAAIA,GAAG,KAAK,OAAO,EAAE;MACnB,IAAI,CAAC7B,UAAU,EAAE,OAAO8B,KAAK,EAAE;MAC/BV,MAAM,CAAC;QAAEF,KAAK,EAAElB;MAAW,CAAC,CAAC;IAC/B;EACF,CAAC;EAED,MAAM8B,KAAK,GAAG,MAAM;IAClB7B,aAAa,CAAC,EAAE,CAAC;IACjBM,gBAAgB,CAAC,KAAK,CAAC;EACzB,CAAC;EAED,MAAMwB,2BAA2B,GAAGxC,UAAU,CAAC,wCAAwC,EAAE;IACvF,aAAa,EAAEa;EACjB,CAAC,CAAC;EAEF,MAAM4B,wBAAwB,GAAG,CAAChC,UAAU,IAAI,CAACU,OAAO,CAACgB,MAAM;EAC/D,MAAMO,oCAAoC,GAAG,CAACjC,UAAU,IAAI,CAACM,aAAa;EAC1E,MAAM4B,2BAA2B,GAC/BF,wBAAwB,IAAIC,oCAAoC;EAElE,MAAME,WAAW,GAAG7B,aAAa,IAAII,OAAO,CAACgB,MAAM;EAEnD,oBACE;IAAK,SAAS,EAAC;EAAuB,gBACpC,oBAAC,YAAY;IAAC,iBAAiB,EAAEP;EAAkB,EAAG,eACtD;IAAK,SAAS,EAAEY;EAA4B,GACzC3B,uBAAuB,iBACtB,uDACE;IAAK,SAAS,EAAC;EAAqC,gBAClD,oBAAC,SAAS;IACR,iBAAiB,EAAEe,iBAAkB;IACrC,aAAa,EAAES,aAAc;IAC7B,cAAc,EAAEpB,cAAe;IAC/B,gBAAgB,EAAEQ,gBAAiB;IACnC,UAAU,EAAEhB,UAAW;IACvB,MAAM,EAAE,MAAMoB,MAAM,CAAC;MAAEF,KAAK,EAAElB;IAAW,CAAC;EAAE,EAC5C,CACE,EACLkC,2BAA2B,gBAC1B,oBAAC,cAAc;IACb,cAAc,EAAEhC,cAAe;IAC/B,gBAAgB,EAAEc,gBAAiB;IACnC,MAAM,EAAEI;EAAO,EACf,gBAEF,0CACG,CAACe,WAAW,iBACX;IAAK,SAAS,EAAC;EAAmB,gBAChC;IAAK,SAAS,EAAC;EAAqB,gBAClC,6CAAmB,CACf,CAET,CAEJ,EACAA,WAAW,iBACV,oBAAC,aAAa;IACZ,YAAY,EAAEnC,UAAW;IACzB,UAAU,EAAEA,UAAW;IACvB,OAAO,EAAES,OAAQ;IACjB,OAAO,EAAEC,OAAQ;IACjB,KAAK,EAAEC,KAAM;IACb,cAAc,EAAEC,cAAe;IAC/B,UAAU,EAAEO;EAAkB,EAEjC,CAEJ,CACG,CACF;AAEV,CAAC;AAED,eAAepB,WAAW"}