@blaze-cms/plugin-search-ui 0.110.0-alpha.1

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 (111) hide show
  1. package/CHANGELOG.md +345 -0
  2. package/LICENSE +674 -0
  3. package/README.md +45 -0
  4. package/babel.config.js +3 -0
  5. package/jest.config.js +5 -0
  6. package/lib/application/query/index.js +32 -0
  7. package/lib/application/query/index.js.map +1 -0
  8. package/lib/components/SearchAdmin/RecentSearches/RecentSearches.js +62 -0
  9. package/lib/components/SearchAdmin/RecentSearches/RecentSearches.js.map +1 -0
  10. package/lib/components/SearchAdmin/RecentSearches/index.js +16 -0
  11. package/lib/components/SearchAdmin/RecentSearches/index.js.map +1 -0
  12. package/lib/components/SearchAdmin/SearchAdmin.js +191 -0
  13. package/lib/components/SearchAdmin/SearchAdmin.js.map +1 -0
  14. package/lib/components/SearchAdmin/SearchBar/SearchBar.js +72 -0
  15. package/lib/components/SearchAdmin/SearchBar/SearchBar.js.map +1 -0
  16. package/lib/components/SearchAdmin/SearchBar/index.js +16 -0
  17. package/lib/components/SearchAdmin/SearchBar/index.js.map +1 -0
  18. package/lib/components/SearchAdmin/SearchResults/SearchResults.js +200 -0
  19. package/lib/components/SearchAdmin/SearchResults/SearchResults.js.map +1 -0
  20. package/lib/components/SearchAdmin/SearchResults/index.js +16 -0
  21. package/lib/components/SearchAdmin/SearchResults/index.js.map +1 -0
  22. package/lib/components/SearchAdmin/TriggerModal/TriggerModal.js +30 -0
  23. package/lib/components/SearchAdmin/TriggerModal/TriggerModal.js.map +1 -0
  24. package/lib/components/SearchAdmin/TriggerModal/index.js +16 -0
  25. package/lib/components/SearchAdmin/TriggerModal/index.js.map +1 -0
  26. package/lib/components/SearchAdmin/index.js +16 -0
  27. package/lib/components/SearchAdmin/index.js.map +1 -0
  28. package/lib/components/SearchPublishedContent/SearchPublishedContent.js +216 -0
  29. package/lib/components/SearchPublishedContent/SearchPublishedContent.js.map +1 -0
  30. package/lib/components/SearchPublishedContent/index.js +16 -0
  31. package/lib/components/SearchPublishedContent/index.js.map +1 -0
  32. package/lib/components/useLocalStorage/index.js +16 -0
  33. package/lib/components/useLocalStorage/index.js.map +1 -0
  34. package/lib/components/useLocalStorage/useLocalStorage.js +36 -0
  35. package/lib/components/useLocalStorage/useLocalStorage.js.map +1 -0
  36. package/lib/components/useSearch/index.js +16 -0
  37. package/lib/components/useSearch/index.js.map +1 -0
  38. package/lib/components/useSearch/useSearch.js +154 -0
  39. package/lib/components/useSearch/useSearch.js.map +1 -0
  40. package/lib/components/useSearchResults/index.js +16 -0
  41. package/lib/components/useSearchResults/index.js.map +1 -0
  42. package/lib/components/useSearchResults/useSearchResults.js +102 -0
  43. package/lib/components/useSearchResults/useSearchResults.js.map +1 -0
  44. package/lib/constants.js +25 -0
  45. package/lib/constants.js.map +1 -0
  46. package/lib/index.js +34 -0
  47. package/lib/index.js.map +1 -0
  48. package/lib-es/application/query/index.js +34 -0
  49. package/lib-es/application/query/index.js.map +1 -0
  50. package/lib-es/components/SearchAdmin/RecentSearches/RecentSearches.js +40 -0
  51. package/lib-es/components/SearchAdmin/RecentSearches/RecentSearches.js.map +1 -0
  52. package/lib-es/components/SearchAdmin/RecentSearches/index.js +3 -0
  53. package/lib-es/components/SearchAdmin/RecentSearches/index.js.map +1 -0
  54. package/lib-es/components/SearchAdmin/SearchAdmin.js +126 -0
  55. package/lib-es/components/SearchAdmin/SearchAdmin.js.map +1 -0
  56. package/lib-es/components/SearchAdmin/SearchBar/SearchBar.js +54 -0
  57. package/lib-es/components/SearchAdmin/SearchBar/SearchBar.js.map +1 -0
  58. package/lib-es/components/SearchAdmin/SearchBar/index.js +3 -0
  59. package/lib-es/components/SearchAdmin/SearchBar/index.js.map +1 -0
  60. package/lib-es/components/SearchAdmin/SearchResults/SearchResults.js +120 -0
  61. package/lib-es/components/SearchAdmin/SearchResults/SearchResults.js.map +1 -0
  62. package/lib-es/components/SearchAdmin/SearchResults/index.js +3 -0
  63. package/lib-es/components/SearchAdmin/SearchResults/index.js.map +1 -0
  64. package/lib-es/components/SearchAdmin/TriggerModal/TriggerModal.js +16 -0
  65. package/lib-es/components/SearchAdmin/TriggerModal/TriggerModal.js.map +1 -0
  66. package/lib-es/components/SearchAdmin/TriggerModal/index.js +3 -0
  67. package/lib-es/components/SearchAdmin/TriggerModal/index.js.map +1 -0
  68. package/lib-es/components/SearchAdmin/index.js +3 -0
  69. package/lib-es/components/SearchAdmin/index.js.map +1 -0
  70. package/lib-es/components/SearchPublishedContent/SearchPublishedContent.js +157 -0
  71. package/lib-es/components/SearchPublishedContent/SearchPublishedContent.js.map +1 -0
  72. package/lib-es/components/SearchPublishedContent/index.js +3 -0
  73. package/lib-es/components/SearchPublishedContent/index.js.map +1 -0
  74. package/lib-es/components/useLocalStorage/index.js +3 -0
  75. package/lib-es/components/useLocalStorage/index.js.map +1 -0
  76. package/lib-es/components/useLocalStorage/useLocalStorage.js +19 -0
  77. package/lib-es/components/useLocalStorage/useLocalStorage.js.map +1 -0
  78. package/lib-es/components/useSearch/index.js +3 -0
  79. package/lib-es/components/useSearch/index.js.map +1 -0
  80. package/lib-es/components/useSearch/useSearch.js +100 -0
  81. package/lib-es/components/useSearch/useSearch.js.map +1 -0
  82. package/lib-es/components/useSearchResults/index.js +3 -0
  83. package/lib-es/components/useSearchResults/index.js.map +1 -0
  84. package/lib-es/components/useSearchResults/useSearchResults.js +57 -0
  85. package/lib-es/components/useSearchResults/useSearchResults.js.map +1 -0
  86. package/lib-es/constants.js +10 -0
  87. package/lib-es/constants.js.map +1 -0
  88. package/lib-es/index.js +5 -0
  89. package/lib-es/index.js.map +1 -0
  90. package/package.json +56 -0
  91. package/src/application/query/index.js +28 -0
  92. package/src/components/SearchAdmin/RecentSearches/RecentSearches.js +33 -0
  93. package/src/components/SearchAdmin/RecentSearches/index.js +3 -0
  94. package/src/components/SearchAdmin/SearchAdmin.js +129 -0
  95. package/src/components/SearchAdmin/SearchBar/SearchBar.js +58 -0
  96. package/src/components/SearchAdmin/SearchBar/index.js +3 -0
  97. package/src/components/SearchAdmin/SearchResults/SearchResults.js +112 -0
  98. package/src/components/SearchAdmin/SearchResults/index.js +3 -0
  99. package/src/components/SearchAdmin/TriggerModal/TriggerModal.js +17 -0
  100. package/src/components/SearchAdmin/TriggerModal/index.js +3 -0
  101. package/src/components/SearchAdmin/index.js +3 -0
  102. package/src/components/SearchPublishedContent/SearchPublishedContent.js +157 -0
  103. package/src/components/SearchPublishedContent/index.js +3 -0
  104. package/src/components/useLocalStorage/index.js +3 -0
  105. package/src/components/useLocalStorage/useLocalStorage.js +18 -0
  106. package/src/components/useSearch/index.js +3 -0
  107. package/src/components/useSearch/useSearch.js +85 -0
  108. package/src/components/useSearchResults/index.js +3 -0
  109. package/src/components/useSearchResults/useSearchResults.js +38 -0
  110. package/src/constants.js +19 -0
  111. package/src/index.js +5 -0
package/README.md ADDED
@@ -0,0 +1,45 @@
1
+ # Base search plugin ui
2
+
3
+ This plugin is creating a modal interface for blaze admin and also a searchbar (for client-side) boat are consuming an ELK (Elastic search) API to be able to find any field in the content already created.
4
+
5
+ ## Query
6
+
7
+ To do that we are passing to the SearchAdmin query an speciall variable rawQuery (same with search published content query). This raw query is an ELK query composed by the following fields:
8
+
9
+ - query: Returns documents based on a provided query string, using a parser with a strict syntax.
10
+ - fields: Allow you to find in multiple fields. In our case there are not anyone set.
11
+ - minimum_should_match: That matches documents with at least two of the terms that are set in query. Imagine that you have set in query 'this, that or thus' then will match if there are at least of two of this words.
12
+ - type: 'cross_fields': The cross_fields type is particularly useful with structured documents where multiple fields should match. For instance, when querying the first_name and last_name fields for “Will Smith”, the best match is likely to have “Will” in one field and “Smith” in the other.
13
+
14
+ Also at the end of te query value we added a wildcard in order to do a partial matches. For example if I would like to search all the names that contains da, the results could be adam, david because is matching partially with those names.
15
+
16
+ ```js
17
+ rawQuery: {
18
+ query_string: {
19
+ query: <value>*,
20
+ fields: [],
21
+ minimum_should_match: 2,
22
+ type: 'cross_fields'
23
+ }
24
+ }
25
+ ```
26
+
27
+ ### Filter
28
+
29
+ We have added a filter in order to be able to filter among which entities (pages, articles...) would you like to focus your search. To do that we are accepting the filter variable into te query which has the following format:
30
+
31
+ ```js
32
+ {
33
+ filter: [
34
+ {
35
+ terms: {
36
+ docType: filter
37
+ }
38
+ }
39
+ ];
40
+ }
41
+ ```
42
+
43
+ ## Advanced seaches
44
+
45
+ Imagine that you know in which field is the value that you would like to search. For example in a metakeyword field. Then you could add to the query the following value: `metakeyword:myKeyword` just to search in every field `metakeyword` the value `myKeyword`.
@@ -0,0 +1,3 @@
1
+ const babelConfig = require('@blaze-cms/setup-ui/babel/babel.config');
2
+
3
+ module.exports = babelConfig;
package/jest.config.js ADDED
@@ -0,0 +1,5 @@
1
+ const buildConfig = require('@blaze-cms/tools/jest/react-build-config');
2
+
3
+ const jestConfig = buildConfig(__dirname);
4
+
5
+ module.exports = jestConfig;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
15
+
16
+ var _templateObject, _templateObject2;
17
+
18
+ var SEARCH_ADMIN = function SEARCH_ADMIN() {
19
+ return (0, _graphqlTag["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n query searchAdmin($limit: Int, $offset: Int, $sort: String, $rawQuery: JSON!) {\n search: searchAdmin(limit: $limit, offset: $offset, sort: $sort, rawQuery: $rawQuery) {\n jsonResults\n total\n }\n }\n"])));
20
+ };
21
+
22
+ var SEARCH_PUBLISHED = function SEARCH_PUBLISHED(_ref) {
23
+ var resultKeys = _ref.resultKeys;
24
+ return (0, _graphqlTag["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n query searchPublishedContent($limit: Int, $offset: Int, $sort: String, $rawQuery: JSON!) {\n search: searchPublishedContent(\n limit: $limit\n offset: $offset\n sort: $sort\n rawQuery: $rawQuery\n ) {\n results {\n ", "\n }\n total\n }\n }\n"])), resultKeys);
25
+ };
26
+
27
+ var _default = {
28
+ SEARCH_ADMIN: SEARCH_ADMIN,
29
+ SEARCH_PUBLISHED: SEARCH_PUBLISHED
30
+ };
31
+ exports["default"] = _default;
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/application/query/index.js"],"names":["SEARCH_ADMIN","gql","SEARCH_PUBLISHED","resultKeys"],"mappings":";;;;;;;;;;;;;AAAA;;;;AAEA,IAAMA,YAAY,GAAG,SAAfA,YAAe;AAAA,aAAMC,sBAAN;AAAA,CAArB;;AASA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB;AAAA,MAAGC,UAAH,QAAGA,UAAH;AAAA,aAAoBF,sBAApB,mYASfE,UATe;AAAA,CAAzB;;eAgBe;AAAEH,EAAAA,YAAY,EAAZA,YAAF;AAAgBE,EAAAA,gBAAgB,EAAhBA;AAAhB,C","sourcesContent":["import gql from 'graphql-tag';\n\nconst SEARCH_ADMIN = () => gql`\n query searchAdmin($limit: Int, $offset: Int, $sort: String, $rawQuery: JSON!) {\n search: searchAdmin(limit: $limit, offset: $offset, sort: $sort, rawQuery: $rawQuery) {\n jsonResults\n total\n }\n }\n`;\n\nconst SEARCH_PUBLISHED = ({ resultKeys }) => gql`\n query searchPublishedContent($limit: Int, $offset: Int, $sort: String, $rawQuery: JSON!) {\n search: searchPublishedContent(\n limit: $limit\n offset: $offset\n sort: $sort\n rawQuery: $rawQuery\n ) {\n results {\n ${resultKeys}\n }\n total\n }\n }\n`;\n\nexport default { SEARCH_ADMIN, SEARCH_PUBLISHED };\n"],"file":"index.js"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ require("core-js/modules/es.regexp.exec.js");
13
+
14
+ require("core-js/modules/es.string.search.js");
15
+
16
+ require("core-js/modules/es.array.map.js");
17
+
18
+ var _react = _interopRequireDefault(require("react"));
19
+
20
+ var _propTypes = _interopRequireDefault(require("prop-types"));
21
+
22
+ var RecentSearches = function RecentSearches(_ref) {
23
+ var recentSearches = _ref.recentSearches,
24
+ handleSearchTerm = _ref.handleSearchTerm,
25
+ search = _ref.search;
26
+ return /*#__PURE__*/_react["default"].createElement("div", {
27
+ className: "list list--search"
28
+ }, /*#__PURE__*/_react["default"].createElement("div", {
29
+ className: "header header--list"
30
+ }, /*#__PURE__*/_react["default"].createElement("h2", null, "Recent searches")), recentSearches.map(function (searchedTerm) {
31
+ return /*#__PURE__*/_react["default"].createElement("div", {
32
+ key: searchedTerm,
33
+ role: "button",
34
+ className: "list__item list__item--search",
35
+ onClick: function onClick() {
36
+ handleSearchTerm({
37
+ target: {
38
+ value: searchedTerm
39
+ }
40
+ });
41
+ search({
42
+ value: searchedTerm
43
+ });
44
+ }
45
+ }, /*#__PURE__*/_react["default"].createElement("div", {
46
+ className: "list__item-row list__item-row--search"
47
+ }, /*#__PURE__*/_react["default"].createElement("i", {
48
+ className: "material-icons"
49
+ }, "search"), /*#__PURE__*/_react["default"].createElement("div", {
50
+ className: "list__item-text list__item-text--search"
51
+ }, searchedTerm)));
52
+ }));
53
+ };
54
+
55
+ RecentSearches.propTypes = {
56
+ recentSearches: _propTypes["default"].array.isRequired,
57
+ handleSearchTerm: _propTypes["default"].func.isRequired,
58
+ search: _propTypes["default"].func.isRequired
59
+ };
60
+ var _default = RecentSearches;
61
+ exports["default"] = _default;
62
+ //# sourceMappingURL=RecentSearches.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/SearchAdmin/RecentSearches/RecentSearches.js"],"names":["RecentSearches","recentSearches","handleSearchTerm","search","map","searchedTerm","target","value","propTypes","PropTypes","array","isRequired","func"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB;AAAA,MAAGC,cAAH,QAAGA,cAAH;AAAA,MAAmBC,gBAAnB,QAAmBA,gBAAnB;AAAA,MAAqCC,MAArC,QAAqCA,MAArC;AAAA,sBACrB;AAAK,IAAA,SAAS,EAAC;AAAf,kBACE;AAAK,IAAA,SAAS,EAAC;AAAf,kBACE,8DADF,CADF,EAIGF,cAAc,CAACG,GAAf,CAAmB,UAAAC,YAAY;AAAA,wBAC9B;AACE,MAAA,GAAG,EAAEA,YADP;AAEE,MAAA,IAAI,EAAC,QAFP;AAGE,MAAA,SAAS,EAAC,+BAHZ;AAIE,MAAA,OAAO,EAAE,mBAAM;AACbH,QAAAA,gBAAgB,CAAC;AAAEI,UAAAA,MAAM,EAAE;AAAEC,YAAAA,KAAK,EAAEF;AAAT;AAAV,SAAD,CAAhB;AACAF,QAAAA,MAAM,CAAC;AAAEI,UAAAA,KAAK,EAAEF;AAAT,SAAD,CAAN;AACD;AAPH,oBAQE;AAAK,MAAA,SAAS,EAAC;AAAf,oBACE;AAAG,MAAA,SAAS,EAAC;AAAb,gBADF,eAEE;AAAK,MAAA,SAAS,EAAC;AAAf,OAA0DA,YAA1D,CAFF,CARF,CAD8B;AAAA,GAA/B,CAJH,CADqB;AAAA,CAAvB;;AAuBAL,cAAc,CAACQ,SAAf,GAA2B;AACzBP,EAAAA,cAAc,EAAEQ,sBAAUC,KAAV,CAAgBC,UADP;AAEzBT,EAAAA,gBAAgB,EAAEO,sBAAUG,IAAV,CAAeD,UAFR;AAGzBR,EAAAA,MAAM,EAAEM,sBAAUG,IAAV,CAAeD;AAHE,CAA3B;eAMeX,c","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst RecentSearches = ({ recentSearches, handleSearchTerm, search }) => (\n <div className=\"list list--search\">\n <div className=\"header header--list\">\n <h2>Recent searches</h2>\n </div>\n {recentSearches.map(searchedTerm => (\n <div\n key={searchedTerm}\n role=\"button\"\n className=\"list__item list__item--search\"\n onClick={() => {\n handleSearchTerm({ target: { value: searchedTerm } });\n search({ value: searchedTerm });\n }}>\n <div className=\"list__item-row list__item-row--search\">\n <i className=\"material-icons\">search</i>\n <div className=\"list__item-text list__item-text--search\">{searchedTerm}</div>\n </div>\n </div>\n ))}\n </div>\n);\n\nRecentSearches.propTypes = {\n recentSearches: PropTypes.array.isRequired,\n handleSearchTerm: PropTypes.func.isRequired,\n search: PropTypes.func.isRequired\n};\n\nexport default RecentSearches;\n"],"file":"RecentSearches.js"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _RecentSearches = _interopRequireDefault(require("./RecentSearches"));
13
+
14
+ var _default = _RecentSearches["default"];
15
+ exports["default"] = _default;
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/SearchAdmin/RecentSearches/index.js"],"names":["RecentSearches"],"mappings":";;;;;;;;;;;AAAA;;eAEeA,0B","sourcesContent":["import RecentSearches from './RecentSearches';\n\nexport default RecentSearches;\n"],"file":"index.js"}
@@ -0,0 +1,191 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.array.iterator.js");
4
+
5
+ require("core-js/modules/es.object.to-string.js");
6
+
7
+ require("core-js/modules/es.string.iterator.js");
8
+
9
+ require("core-js/modules/es.weak-map.js");
10
+
11
+ require("core-js/modules/web.dom-collections.iterator.js");
12
+
13
+ require("core-js/modules/es.object.define-property.js");
14
+
15
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
16
+
17
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
18
+
19
+ var _typeof = require("@babel/runtime/helpers/typeof");
20
+
21
+ Object.defineProperty(exports, "__esModule", {
22
+ value: true
23
+ });
24
+ exports["default"] = void 0;
25
+
26
+ require("core-js/modules/es.array.slice.js");
27
+
28
+ require("core-js/modules/es.array.includes.js");
29
+
30
+ require("core-js/modules/es.string.includes.js");
31
+
32
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
33
+
34
+ var _react = _interopRequireWildcard(require("react"));
35
+
36
+ var _classnames = _interopRequireDefault(require("classnames"));
37
+
38
+ var _useLocalStorage3 = _interopRequireDefault(require("../useLocalStorage"));
39
+
40
+ var _SearchBar = _interopRequireDefault(require("./SearchBar"));
41
+
42
+ var _RecentSearches = _interopRequireDefault(require("./RecentSearches"));
43
+
44
+ var _SearchResults = _interopRequireDefault(require("./SearchResults"));
45
+
46
+ var _TriggerModal = _interopRequireDefault(require("./TriggerModal"));
47
+
48
+ var _useSearchResults3 = _interopRequireDefault(require("../useSearchResults"));
49
+
50
+ var _constants = require("../../constants");
51
+
52
+ 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); }
53
+
54
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
55
+
56
+ var SearchAdmin = function SearchAdmin() {
57
+ var _useState = (0, _react.useState)(''),
58
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
59
+ searchTerm = _useState2[0],
60
+ setSearchTerm = _useState2[1];
61
+
62
+ var _useLocalStorage = (0, _useLocalStorage3["default"])('recentSearches', []),
63
+ _useLocalStorage2 = (0, _slicedToArray2["default"])(_useLocalStorage, 2),
64
+ recentSearches = _useLocalStorage2[0],
65
+ setRecentSearches = _useLocalStorage2[1];
66
+
67
+ var _useState3 = (0, _react.useState)(false),
68
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
69
+ displaySearchModalFrame = _useState4[0],
70
+ setDisplaySearchModalFrame = _useState4[1];
71
+
72
+ var _useState5 = (0, _react.useState)(true),
73
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
74
+ enableResults = _useState6[0],
75
+ setEnableResults = _useState6[1];
76
+
77
+ var searchInputRef = (0, _react.useRef)(null);
78
+
79
+ var _useSearchResults = (0, _useSearchResults3["default"])({
80
+ queryKey: _constants.SEARCH_ADMIN
81
+ }),
82
+ _useSearchResults2 = (0, _slicedToArray2["default"])(_useSearchResults, 2),
83
+ _useSearchResults2$ = _useSearchResults2[0],
84
+ loading = _useSearchResults2$.loading,
85
+ results = _useSearchResults2$.results,
86
+ total = _useSearchResults2$.total,
87
+ setQueryParams = _useSearchResults2[1];
88
+
89
+ (0, _react.useEffect)(function () {
90
+ if (searchInputRef && searchInputRef.current) {
91
+ searchInputRef.current.focus();
92
+ }
93
+ }, [displaySearchModalFrame]);
94
+
95
+ var handleSearchTerm = function handleSearchTerm(_ref) {
96
+ var value = _ref.target.value;
97
+ setSearchTerm(value);
98
+ };
99
+
100
+ var toggleSearchModal = function toggleSearchModal() {
101
+ setSearchTerm(null);
102
+ setEnableResults(false);
103
+ setDisplaySearchModalFrame(!displaySearchModalFrame);
104
+ };
105
+
106
+ var _search = function search(_ref2) {
107
+ var value = _ref2.value;
108
+ if (!value) return;
109
+ !enableResults && setEnableResults(true);
110
+ var MAX_RECENT_SEARCHES = 5;
111
+ var recentSearchesCopy = recentSearches.slice();
112
+
113
+ if (!recentSearchesCopy.includes(value)) {
114
+ recentSearchesCopy.push(value);
115
+
116
+ if (recentSearchesCopy.length > MAX_RECENT_SEARCHES) {
117
+ recentSearchesCopy.shift();
118
+ }
119
+ }
120
+
121
+ setRecentSearches(recentSearchesCopy);
122
+ setQueryParams({
123
+ value: value
124
+ });
125
+ };
126
+
127
+ var handleKeyDown = function handleKeyDown(_ref3) {
128
+ var key = _ref3.key;
129
+
130
+ if (key === 'Enter') {
131
+ if (!searchTerm) return clear();
132
+
133
+ _search({
134
+ value: searchTerm
135
+ });
136
+ }
137
+ };
138
+
139
+ var clear = function clear() {
140
+ setSearchTerm('');
141
+ setEnableResults(false);
142
+ };
143
+
144
+ var searchModalResultsClassName = (0, _classnames["default"])('modal modal--full-screen modal--search', {
145
+ 'modal--show': displaySearchModalFrame
146
+ });
147
+ var isEmptySearchTermAndData = !searchTerm && !results.length;
148
+ var isEmptySearchTermnAndDisabledResults = !searchTerm && !enableResults;
149
+ var shouldDisplayRecentSearches = isEmptySearchTermAndData || isEmptySearchTermnAndDisabledResults;
150
+ var showResults = enableResults && results.length;
151
+ return /*#__PURE__*/_react["default"].createElement("div", {
152
+ className: "search search--header"
153
+ }, /*#__PURE__*/_react["default"].createElement(_TriggerModal["default"], {
154
+ toggleSearchModal: toggleSearchModal
155
+ }), /*#__PURE__*/_react["default"].createElement("div", {
156
+ className: searchModalResultsClassName
157
+ }, displaySearchModalFrame && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
158
+ className: "modal__header modal__header--search"
159
+ }, /*#__PURE__*/_react["default"].createElement(_SearchBar["default"], {
160
+ toggleSearchModal: toggleSearchModal,
161
+ handleKeyDown: handleKeyDown,
162
+ searchInputRef: searchInputRef,
163
+ handleSearchTerm: handleSearchTerm,
164
+ searchTerm: searchTerm,
165
+ search: function search() {
166
+ return _search({
167
+ value: searchTerm
168
+ });
169
+ }
170
+ })), shouldDisplayRecentSearches ? /*#__PURE__*/_react["default"].createElement(_RecentSearches["default"], {
171
+ recentSearches: recentSearches,
172
+ handleSearchTerm: handleSearchTerm,
173
+ search: _search
174
+ }) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, !showResults && /*#__PURE__*/_react["default"].createElement("div", {
175
+ className: "list list--search"
176
+ }, /*#__PURE__*/_react["default"].createElement("div", {
177
+ className: "header header--list"
178
+ }, /*#__PURE__*/_react["default"].createElement("h2", null, "No Results")))), showResults && /*#__PURE__*/_react["default"].createElement(_SearchResults["default"], {
179
+ currentValue: searchTerm,
180
+ searchTerm: searchTerm,
181
+ loading: loading,
182
+ results: results,
183
+ total: total,
184
+ setQueryParams: setQueryParams,
185
+ closeModal: toggleSearchModal
186
+ }))));
187
+ };
188
+
189
+ var _default = SearchAdmin;
190
+ exports["default"] = _default;
191
+ //# sourceMappingURL=SearchAdmin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/SearchAdmin/SearchAdmin.js"],"names":["SearchAdmin","searchTerm","setSearchTerm","recentSearches","setRecentSearches","displaySearchModalFrame","setDisplaySearchModalFrame","enableResults","setEnableResults","searchInputRef","queryKey","SEARCH_ADMIN","loading","results","total","setQueryParams","current","focus","handleSearchTerm","value","target","toggleSearchModal","search","MAX_RECENT_SEARCHES","recentSearchesCopy","slice","includes","push","length","shift","handleKeyDown","key","clear","searchModalResultsClassName","isEmptySearchTermAndData","isEmptySearchTermnAndDisabledResults","shouldDisplayRecentSearches","showResults"],"mappings":"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","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"],"file":"SearchAdmin.js"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ require("core-js/modules/es.regexp.exec.js");
13
+
14
+ require("core-js/modules/es.string.search.js");
15
+
16
+ var _react = _interopRequireDefault(require("react"));
17
+
18
+ var _propTypes = _interopRequireDefault(require("prop-types"));
19
+
20
+ var SearchBar = function SearchBar(_ref) {
21
+ var handleKeyDown = _ref.handleKeyDown,
22
+ searchInputRef = _ref.searchInputRef,
23
+ handleSearchTerm = _ref.handleSearchTerm,
24
+ searchTerm = _ref.searchTerm,
25
+ toggleSearchModal = _ref.toggleSearchModal,
26
+ close = _ref.close,
27
+ search = _ref.search,
28
+ placeholder = _ref.placeholder;
29
+ return /*#__PURE__*/_react["default"].createElement("div", {
30
+ className: "search__wrapper"
31
+ }, /*#__PURE__*/_react["default"].createElement("input", {
32
+ onKeyDown: handleKeyDown,
33
+ ref: searchInputRef,
34
+ placeholder: placeholder,
35
+ type: "text",
36
+ onChange: handleSearchTerm,
37
+ value: searchTerm
38
+ }), /*#__PURE__*/_react["default"].createElement("span", {
39
+ onClick: search,
40
+ role: "button",
41
+ className: "icon-button icon-button--search icon-button--toggle"
42
+ }, /*#__PURE__*/_react["default"].createElement("i", {
43
+ className: "material-icons"
44
+ }, "search")), close && /*#__PURE__*/_react["default"].createElement("div", {
45
+ className: "modal__close"
46
+ }, /*#__PURE__*/_react["default"].createElement("i", {
47
+ className: "material-icons",
48
+ onClick: toggleSearchModal,
49
+ role: "button"
50
+ }, "close")));
51
+ };
52
+
53
+ SearchBar.propTypes = {
54
+ close: _propTypes["default"].bool,
55
+ handleKeyDown: _propTypes["default"].func.isRequired,
56
+ searchInputRef: _propTypes["default"].object,
57
+ handleSearchTerm: _propTypes["default"].func.isRequired,
58
+ searchTerm: _propTypes["default"].string,
59
+ toggleSearchModal: _propTypes["default"].func,
60
+ search: _propTypes["default"].func.isRequired,
61
+ placeholder: _propTypes["default"].string
62
+ };
63
+ SearchBar.defaultProps = {
64
+ searchTerm: '',
65
+ close: true,
66
+ placeholder: 'Search...',
67
+ toggleSearchModal: null,
68
+ searchInputRef: null
69
+ };
70
+ var _default = SearchBar;
71
+ exports["default"] = _default;
72
+ //# sourceMappingURL=SearchBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/SearchAdmin/SearchBar/SearchBar.js"],"names":["SearchBar","handleKeyDown","searchInputRef","handleSearchTerm","searchTerm","toggleSearchModal","close","search","placeholder","propTypes","PropTypes","bool","func","isRequired","object","string","defaultProps"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,SAAS,GAAG,SAAZA,SAAY;AAAA,MAChBC,aADgB,QAChBA,aADgB;AAAA,MAEhBC,cAFgB,QAEhBA,cAFgB;AAAA,MAGhBC,gBAHgB,QAGhBA,gBAHgB;AAAA,MAIhBC,UAJgB,QAIhBA,UAJgB;AAAA,MAKhBC,iBALgB,QAKhBA,iBALgB;AAAA,MAMhBC,KANgB,QAMhBA,KANgB;AAAA,MAOhBC,MAPgB,QAOhBA,MAPgB;AAAA,MAQhBC,WARgB,QAQhBA,WARgB;AAAA,sBAUhB;AAAK,IAAA,SAAS,EAAC;AAAf,kBACE;AACE,IAAA,SAAS,EAAEP,aADb;AAEE,IAAA,GAAG,EAAEC,cAFP;AAGE,IAAA,WAAW,EAAEM,WAHf;AAIE,IAAA,IAAI,EAAC,MAJP;AAKE,IAAA,QAAQ,EAAEL,gBALZ;AAME,IAAA,KAAK,EAAEC;AANT,IADF,eASE;AACE,IAAA,OAAO,EAAEG,MADX;AAEE,IAAA,IAAI,EAAC,QAFP;AAGE,IAAA,SAAS,EAAC;AAHZ,kBAIE;AAAG,IAAA,SAAS,EAAC;AAAb,cAJF,CATF,EAeGD,KAAK,iBACJ;AAAK,IAAA,SAAS,EAAC;AAAf,kBACE;AAAG,IAAA,SAAS,EAAC,gBAAb;AAA8B,IAAA,OAAO,EAAED,iBAAvC;AAA0D,IAAA,IAAI,EAAC;AAA/D,aADF,CAhBJ,CAVgB;AAAA,CAAlB;;AAmCAL,SAAS,CAACS,SAAV,GAAsB;AACpBH,EAAAA,KAAK,EAAEI,sBAAUC,IADG;AAEpBV,EAAAA,aAAa,EAAES,sBAAUE,IAAV,CAAeC,UAFV;AAGpBX,EAAAA,cAAc,EAAEQ,sBAAUI,MAHN;AAIpBX,EAAAA,gBAAgB,EAAEO,sBAAUE,IAAV,CAAeC,UAJb;AAKpBT,EAAAA,UAAU,EAAEM,sBAAUK,MALF;AAMpBV,EAAAA,iBAAiB,EAAEK,sBAAUE,IANT;AAOpBL,EAAAA,MAAM,EAAEG,sBAAUE,IAAV,CAAeC,UAPH;AAQpBL,EAAAA,WAAW,EAAEE,sBAAUK;AARH,CAAtB;AAWAf,SAAS,CAACgB,YAAV,GAAyB;AACvBZ,EAAAA,UAAU,EAAE,EADW;AAEvBE,EAAAA,KAAK,EAAE,IAFgB;AAGvBE,EAAAA,WAAW,EAAE,WAHU;AAIvBH,EAAAA,iBAAiB,EAAE,IAJI;AAKvBH,EAAAA,cAAc,EAAE;AALO,CAAzB;eAQeF,S","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst SearchBar = ({\n handleKeyDown,\n searchInputRef,\n handleSearchTerm,\n searchTerm,\n toggleSearchModal,\n close,\n search,\n placeholder\n}) => (\n <div className=\"search__wrapper\">\n <input\n onKeyDown={handleKeyDown}\n ref={searchInputRef}\n placeholder={placeholder}\n type=\"text\"\n onChange={handleSearchTerm}\n value={searchTerm}\n />\n <span\n onClick={search}\n role=\"button\"\n className=\"icon-button icon-button--search icon-button--toggle\">\n <i className=\"material-icons\">search</i>\n </span>\n {close && (\n <div className=\"modal__close\">\n <i className=\"material-icons\" onClick={toggleSearchModal} role=\"button\">\n close\n </i>\n </div>\n )}\n </div>\n);\n\nSearchBar.propTypes = {\n close: PropTypes.bool,\n handleKeyDown: PropTypes.func.isRequired,\n searchInputRef: PropTypes.object,\n handleSearchTerm: PropTypes.func.isRequired,\n searchTerm: PropTypes.string,\n toggleSearchModal: PropTypes.func,\n search: PropTypes.func.isRequired,\n placeholder: PropTypes.string\n};\n\nSearchBar.defaultProps = {\n searchTerm: '',\n close: true,\n placeholder: 'Search...',\n toggleSearchModal: null,\n searchInputRef: null\n};\n\nexport default SearchBar;\n"],"file":"SearchBar.js"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _SearchBar = _interopRequireDefault(require("./SearchBar"));
13
+
14
+ var _default = _SearchBar["default"];
15
+ exports["default"] = _default;
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/SearchAdmin/SearchBar/index.js"],"names":["SearchBar"],"mappings":";;;;;;;;;;;AAAA;;eAEeA,qB","sourcesContent":["import SearchBar from './SearchBar';\n\nexport default SearchBar;\n"],"file":"index.js"}