@k-int/stripes-kint-components 1.2.4 → 1.5.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 (62) hide show
  1. package/CHANGELOG.md +18 -8
  2. package/es/index.js +78 -0
  3. package/es/lib/NoResultsMessage/NoResultsMessage.js +89 -0
  4. package/es/lib/NoResultsMessage/index.js +15 -0
  5. package/es/lib/QueryTypedown/QueryTypedown.js +71 -0
  6. package/es/lib/QueryTypedown/index.js +15 -0
  7. package/es/lib/SASQLookupComponent/SASQLookupComponent.js +295 -0
  8. package/es/lib/SASQLookupComponent/index.js +15 -0
  9. package/es/lib/SASQRoute/SASQRoute.js +70 -0
  10. package/es/lib/SASQRoute/index.js +15 -0
  11. package/es/lib/SASQViewComponent/SASQViewComponent.js +71 -0
  12. package/es/lib/SASQViewComponent/index.js +15 -0
  13. package/es/lib/TypeDown/TypeDown.js +24 -6
  14. package/es/lib/Typedown/Typedown.js +225 -0
  15. package/es/lib/Typedown/index.js +15 -0
  16. package/es/lib/hooks/index.js +24 -0
  17. package/es/lib/hooks/typedownHooks/useTypedown.js +5 -1
  18. package/es/lib/hooks/useHelperApp.js +7 -1
  19. package/es/lib/hooks/useKiwtFieldArray.js +109 -0
  20. package/es/lib/hooks/useKiwtSASQuery.js +22 -1
  21. package/es/lib/hooks/useLocalStorageState.js +49 -0
  22. package/es/lib/hooks/useQIndex.js +75 -0
  23. package/es/lib/hooks/useRefdata.js +23 -6
  24. package/es/lib/utils/generateKiwtQuery.js +3 -93
  25. package/es/lib/utils/generateKiwtQueryParams.js +125 -0
  26. package/es/lib/utils/index.js +16 -0
  27. package/es/lib/utils/selectorSafe.js +1 -1
  28. package/package.json +1 -1
  29. package/src/index.js +32 -1
  30. package/src/lib/EditableRefdataList/README.md +1 -1
  31. package/src/lib/NoResultsMessage/NoResultsMessage.js +78 -0
  32. package/src/lib/NoResultsMessage/index.js +1 -0
  33. package/src/lib/QueryTypedown/QueryTypedown.js +33 -0
  34. package/src/lib/QueryTypedown/index.js +1 -0
  35. package/src/lib/SASQLookupComponent/SASQLookupComponent.js +282 -0
  36. package/src/lib/SASQLookupComponent/index.js +1 -0
  37. package/src/lib/SASQRoute/README.md +55 -0
  38. package/src/lib/SASQRoute/SASQRoute.js +63 -0
  39. package/src/lib/SASQRoute/index.js +1 -0
  40. package/src/lib/SASQViewComponent/SASQViewComponent.js +55 -0
  41. package/src/lib/SASQViewComponent/index.js +1 -0
  42. package/src/lib/TypeDown/README.md +1 -0
  43. package/src/lib/TypeDown/TypeDown.js +23 -4
  44. package/src/lib/Typedown/README.md +115 -0
  45. package/src/lib/Typedown/Typedown.js +234 -0
  46. package/src/lib/Typedown/index.js +1 -0
  47. package/src/lib/hooks/README.md +109 -2
  48. package/src/lib/hooks/index.js +3 -0
  49. package/src/lib/hooks/typedownHooks/useTypedown.js +3 -1
  50. package/src/lib/hooks/useHelperApp.js +5 -1
  51. package/src/lib/hooks/useKiwtFieldArray.js +63 -0
  52. package/src/lib/hooks/useKiwtSASQuery.js +9 -1
  53. package/src/lib/hooks/useLocalStorageState.js +17 -0
  54. package/src/lib/hooks/useQIndex.js +41 -0
  55. package/src/lib/hooks/useRefdata.js +23 -6
  56. package/src/lib/utils/README.md +39 -1
  57. package/src/lib/utils/generateKiwtQuery.js +3 -57
  58. package/src/lib/utils/generateKiwtQueryParams.js +67 -0
  59. package/src/lib/utils/index.js +3 -0
  60. package/src/lib/utils/selectorSafe.js +1 -1
  61. package/styles/NoResultsMessage.css +38 -0
  62. package/translations/stripes-kint-components/en.json +5 -1
package/CHANGELOG.md CHANGED
@@ -1,12 +1,22 @@
1
- ## 1.2.4 Released 28th Oct 2021
2
- * fix: typedown selector regex
3
- * properly spread meta onto SearchField in TypeDown
4
- ## 1.2.3 Released 28th Oct 2021
5
- * fix: typedowns can now open independently of each other (selector safe)
6
- ## 1.2.2 Released 28th Oct 2021
7
- * fix: typedowns can now open independently of each other
8
- ## 1.2.1 Released 22nd Oct 2021
1
+ ## 1.5.0 Released 9th December 2021
2
+ * useKiwtFieldArray hook
3
+
4
+ ## 1.4.0 Released 26th Nov 2021
5
+ * useHelperApp now exposes an `isOpen` function to check if current helper is open or not.
6
+ * useQIndex hook exposed to allow setting and parsing of qindex from url. QIndex now used in useKiwtSASQuery.
7
+ * useRefdata now accepts options, and defaults to 100 returns.
8
+ * GenerateKiwtQueryParams now exposed as well as the full generateKiwtQuery
9
+ * selectorSafe function exported
10
+ * NoResultsMessage component, used in SASQLookupComponent
11
+
12
+ ## 1.3.0 Released 9th Nov 2021
13
+ * Added SASQRoute, SASQLookupComponent and SASQViewComponent
14
+ * Deprecated TypeDown
15
+ * Split TypeDown into two components, Typedown and QueryTypedown
9
16
  * Added resize-detector to dependency list
17
+ * fix: typedowns can now open independently of each other
18
+ * fix: meta now spread correctly onto SearchField in Typedown
19
+ * feat: TypeDown now accepts an "onChange" handler (which takes the changed value instead of an event)
10
20
  ## 1.2.0 Released 22nd Oct 2021
11
21
  * generateKiwtQuery utility function
12
22
  * useHelperApp, useActiveElement and useKiwtSASQuery hooks
package/es/index.js CHANGED
@@ -15,6 +15,36 @@ Object.defineProperty(exports, "EditableRefdataList", {
15
15
  return _EditableRefdataList.EditableRefdataList;
16
16
  }
17
17
  });
18
+ Object.defineProperty(exports, "NoResultsMessage", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _NoResultsMessage.NoResultsMessage;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "QueryTypedown", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _QueryTypedown["default"];
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "SASQLookupComponent", {
31
+ enumerable: true,
32
+ get: function get() {
33
+ return _SASQLookupComponent["default"];
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "SASQRoute", {
37
+ enumerable: true,
38
+ get: function get() {
39
+ return _SASQRoute["default"];
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "SASQViewComponent", {
43
+ enumerable: true,
44
+ get: function get() {
45
+ return _SASQViewComponent["default"];
46
+ }
47
+ });
18
48
  Object.defineProperty(exports, "SearchField", {
19
49
  enumerable: true,
20
50
  get: function get() {
@@ -45,12 +75,30 @@ Object.defineProperty(exports, "TypeDown", {
45
75
  return _TypeDown["default"];
46
76
  }
47
77
  });
78
+ Object.defineProperty(exports, "Typedown", {
79
+ enumerable: true,
80
+ get: function get() {
81
+ return _Typedown["default"];
82
+ }
83
+ });
48
84
  Object.defineProperty(exports, "generateKiwtQuery", {
49
85
  enumerable: true,
50
86
  get: function get() {
51
87
  return _utils.generateKiwtQuery;
52
88
  }
53
89
  });
90
+ Object.defineProperty(exports, "generateKiwtQueryParams", {
91
+ enumerable: true,
92
+ get: function get() {
93
+ return _utils.generateKiwtQueryParams;
94
+ }
95
+ });
96
+ Object.defineProperty(exports, "selectorSafe", {
97
+ enumerable: true,
98
+ get: function get() {
99
+ return _utils.selectorSafe;
100
+ }
101
+ });
54
102
  Object.defineProperty(exports, "useActiveElement", {
55
103
  enumerable: true,
56
104
  get: function get() {
@@ -63,18 +111,36 @@ Object.defineProperty(exports, "useHelperApp", {
63
111
  return _hooks.useHelperApp;
64
112
  }
65
113
  });
114
+ Object.defineProperty(exports, "useKiwtFieldArray", {
115
+ enumerable: true,
116
+ get: function get() {
117
+ return _hooks.useKiwtFieldArray;
118
+ }
119
+ });
66
120
  Object.defineProperty(exports, "useKiwtSASQuery", {
67
121
  enumerable: true,
68
122
  get: function get() {
69
123
  return _hooks.useKiwtSASQuery;
70
124
  }
71
125
  });
126
+ Object.defineProperty(exports, "useLocalStorageState", {
127
+ enumerable: true,
128
+ get: function get() {
129
+ return _hooks.useLocalStorageState;
130
+ }
131
+ });
72
132
  Object.defineProperty(exports, "useMutateRefdataValue", {
73
133
  enumerable: true,
74
134
  get: function get() {
75
135
  return _hooks.useMutateRefdataValue;
76
136
  }
77
137
  });
138
+ Object.defineProperty(exports, "useQIndex", {
139
+ enumerable: true,
140
+ get: function get() {
141
+ return _hooks.useQIndex;
142
+ }
143
+ });
78
144
  Object.defineProperty(exports, "useRefdata", {
79
145
  enumerable: true,
80
146
  get: function get() {
@@ -106,6 +172,18 @@ var _EditableRefdataList = require("./lib/EditableRefdataList");
106
172
 
107
173
  var _TypeDown = _interopRequireDefault(require("./lib/TypeDown"));
108
174
 
175
+ var _Typedown = _interopRequireDefault(require("./lib/Typedown"));
176
+
177
+ var _QueryTypedown = _interopRequireDefault(require("./lib/QueryTypedown"));
178
+
109
179
  var _SearchField = _interopRequireDefault(require("./lib/SearchField"));
110
180
 
181
+ var _SASQRoute = _interopRequireDefault(require("./lib/SASQRoute"));
182
+
183
+ var _SASQLookupComponent = _interopRequireDefault(require("./lib/SASQLookupComponent"));
184
+
185
+ var _SASQViewComponent = _interopRequireDefault(require("./lib/SASQViewComponent"));
186
+
187
+ var _NoResultsMessage = require("./lib/NoResultsMessage");
188
+
111
189
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _reactIntl = require("react-intl");
13
+
14
+ var _components = require("@folio/stripes/components");
15
+
16
+ var _NoResultsMessage = _interopRequireDefault(require("../../../styles/NoResultsMessage.css"));
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
+
20
+ var NoResultsMessage = function NoResultsMessage(_ref) {
21
+ var userIcon = _ref.icon,
22
+ isLoading = _ref.isLoading,
23
+ isError = _ref.isError,
24
+ error = _ref.error,
25
+ filterPaneIsVisible = _ref.filterPaneIsVisible,
26
+ userLabel = _ref.label,
27
+ searchTerm = _ref.searchTerm,
28
+ toggleFilterPane = _ref.toggleFilterPane;
29
+ var icon = 'search';
30
+
31
+ var label = /*#__PURE__*/_react["default"].createElement(_reactIntl.FormattedMessage, {
32
+ id: "stripes-smart-components.sas.noResults.default",
33
+ values: {
34
+ searchTerm: searchTerm
35
+ }
36
+ }); // No search term but no results
37
+
38
+
39
+ if (!searchTerm) {
40
+ icon = 'search';
41
+ label = /*#__PURE__*/_react["default"].createElement(_reactIntl.FormattedMessage, {
42
+ id: "stripes-smart-components.sas.noResults.noResults"
43
+ });
44
+ } // Loading results
45
+
46
+
47
+ if (isLoading) {
48
+ icon = 'spinner-ellipsis';
49
+ label = /*#__PURE__*/_react["default"].createElement(_reactIntl.FormattedMessage, {
50
+ id: "stripes-smart-components.sas.noResults.loading"
51
+ });
52
+ } // Request failure
53
+
54
+
55
+ if (isError) {
56
+ icon = 'exclamation-circle';
57
+ label = error === null || error === void 0 ? void 0 : error.message;
58
+ }
59
+
60
+ return /*#__PURE__*/_react["default"].createElement("div", {
61
+ className: _NoResultsMessage["default"].noResultsMessage
62
+ }, /*#__PURE__*/_react["default"].createElement("div", {
63
+ className: _NoResultsMessage["default"].noResultsMessageLabelWrap
64
+ }, (icon || userIcon) && /*#__PURE__*/_react["default"].createElement(_components.Icon, {
65
+ icon: userIcon !== null && userIcon !== void 0 ? userIcon : icon,
66
+ iconRootClass: _NoResultsMessage["default"].noResultsMessageIcon
67
+ }), /*#__PURE__*/_react["default"].createElement("span", {
68
+ className: _NoResultsMessage["default"].noResultsMessageLabel
69
+ }, userLabel !== null && userLabel !== void 0 ? userLabel : label)), !filterPaneIsVisible && /*#__PURE__*/_react["default"].createElement(_components.Button, {
70
+ buttonClass: _NoResultsMessage["default"].noResultsMessageButton,
71
+ marginBottom0: true,
72
+ onClick: toggleFilterPane
73
+ }, /*#__PURE__*/_react["default"].createElement(_reactIntl.FormattedMessage, {
74
+ id: "stripes-kint-components.noResultsMessage.showFilters"
75
+ })));
76
+ };
77
+
78
+ NoResultsMessage.propTypes = {
79
+ error: _propTypes["default"].object,
80
+ filterPaneIsVisible: _propTypes["default"].bool.isRequired,
81
+ icon: _propTypes["default"].string,
82
+ isLoading: _propTypes["default"].bool,
83
+ isError: _propTypes["default"].bool,
84
+ label: _propTypes["default"].oneOfType(_propTypes["default"].string, _propTypes["default"].node, _propTypes["default"].func),
85
+ searchTerm: _propTypes["default"].string.isRequired,
86
+ toggleFilterPane: _propTypes["default"].func.isRequired
87
+ };
88
+ var _default = NoResultsMessage;
89
+ exports["default"] = _default;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "NoResultsMessage", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _NoResultsMessage["default"];
10
+ }
11
+ });
12
+
13
+ var _NoResultsMessage = _interopRequireDefault(require("./NoResultsMessage"));
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var _Typedown = _interopRequireDefault(require("../Typedown"));
15
+
16
+ var _typedownHooks = require("../hooks/typedownHooks");
17
+
18
+ var _excluded = ["path", "pathMutator"];
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
+
22
+ 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); }
23
+
24
+ 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; }
25
+
26
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
27
+
28
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
29
+
30
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
31
+
32
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
33
+
34
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
35
+
36
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
37
+
38
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
39
+
40
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
41
+
42
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
43
+
44
+ var QueryTypedown = function QueryTypedown(_ref) {
45
+ var path = _ref.path,
46
+ pathMutator = _ref.pathMutator,
47
+ rest = _objectWithoutProperties(_ref, _excluded);
48
+
49
+ var _useState = (0, _react.useState)(pathMutator(null, path)),
50
+ _useState2 = _slicedToArray(_useState, 2),
51
+ callPath = _useState2[0],
52
+ setCallPath = _useState2[1];
53
+
54
+ var data = (0, _typedownHooks.useTypedownData)(callPath);
55
+
56
+ var onType = function onType(e) {
57
+ setCallPath(pathMutator(e.target.value, path));
58
+ };
59
+
60
+ return /*#__PURE__*/_react["default"].createElement(_Typedown["default"], _extends({}, rest, {
61
+ dataOptions: data,
62
+ onType: onType
63
+ }));
64
+ };
65
+
66
+ QueryTypedown.propTypes = {
67
+ path: _propTypes["default"].string,
68
+ pathMutator: _propTypes["default"].func
69
+ };
70
+ var _default = QueryTypedown;
71
+ exports["default"] = _default;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _QueryTypedown["default"];
10
+ }
11
+ });
12
+
13
+ var _QueryTypedown = _interopRequireDefault(require("./QueryTypedown"));
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -0,0 +1,295 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _reactIntl = require("react-intl");
13
+
14
+ var _reactQuery = require("react-query");
15
+
16
+ var _core = require("@folio/stripes/core");
17
+
18
+ var _smartComponents = require("@folio/stripes/smart-components");
19
+
20
+ var _components = require("@folio/stripes/components");
21
+
22
+ var _NoResultsMessage = require("../NoResultsMessage");
23
+
24
+ var _utils = require("../utils");
25
+
26
+ var _hooks = require("../hooks");
27
+
28
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
29
+
30
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
31
+
32
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
33
+
34
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
35
+
36
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
37
+
38
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
39
+
40
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
41
+
42
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
43
+
44
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
45
+
46
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
47
+
48
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
49
+
50
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
51
+
52
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
53
+
54
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
55
+
56
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
57
+
58
+ var SASQLookupComponent = function SASQLookupComponent(_ref) {
59
+ var _totalData$pages$redu, _totalData$pages;
60
+
61
+ var children = _ref.children,
62
+ _ref$fetchParameters = _ref.fetchParameters,
63
+ fetchParameters = _ref$fetchParameters === void 0 ? {} : _ref$fetchParameters,
64
+ _ref$FilterComponent = _ref.FilterComponent,
65
+ FilterComponent = _ref$FilterComponent === void 0 ? function () {
66
+ return null;
67
+ } : _ref$FilterComponent,
68
+ history = _ref.history,
69
+ id = _ref.id,
70
+ location = _ref.location,
71
+ mainPaneProps = _ref.mainPaneProps,
72
+ match = _ref.match,
73
+ mclProps = _ref.mclProps,
74
+ noSearchField = _ref.noSearchField,
75
+ path = _ref.path,
76
+ _ref$resultColumns = _ref.resultColumns,
77
+ resultColumns = _ref$resultColumns === void 0 ? [] : _ref$resultColumns,
78
+ RenderBody = _ref.RenderBody,
79
+ sasqProps = _ref.sasqProps;
80
+
81
+ var _useKiwtSASQuery = (0, _hooks.useKiwtSASQuery)(),
82
+ query = _useKiwtSASQuery.query,
83
+ queryGetter = _useKiwtSASQuery.queryGetter,
84
+ querySetter = _useKiwtSASQuery.querySetter;
85
+
86
+ var _useNamespace = (0, _core.useNamespace)(),
87
+ namespace = _useNamespace[0];
88
+
89
+ var ky = (0, _core.useOkapiKy)();
90
+ var filterPaneVisibileKey = "".concat(namespace, "-").concat(id, "-filterPaneVisibility");
91
+
92
+ var fetchPageData = function fetchPageData(_ref2) {
93
+ var _ref2$pageParam = _ref2.pageParam,
94
+ pageParam = _ref2$pageParam === void 0 ? 0 : _ref2$pageParam;
95
+ var queryMap = fetchParameters.SASQ_MAP;
96
+ queryMap.offset = pageParam;
97
+ return ky("".concat(fetchParameters.endpoint).concat((0, _utils.generateKiwtQuery)(queryMap, query))).json();
98
+ };
99
+
100
+ var _useLocalStorageState = (0, _hooks.useLocalStorageState)(filterPaneVisibileKey, true),
101
+ _useLocalStorageState2 = _slicedToArray(_useLocalStorageState, 2),
102
+ filterPaneVisible = _useLocalStorageState2[0],
103
+ setFilterPaneVisible = _useLocalStorageState2[1];
104
+
105
+ var toggleFilterPane = function toggleFilterPane() {
106
+ return setFilterPaneVisible(!filterPaneVisible);
107
+ };
108
+
109
+ var _useInfiniteQuery = (0, _reactQuery.useInfiniteQuery)([namespace, id, 'data', query], fetchPageData),
110
+ _useInfiniteQuery$dat = _useInfiniteQuery.data,
111
+ totalData = _useInfiniteQuery$dat === void 0 ? {} : _useInfiniteQuery$dat,
112
+ error = _useInfiniteQuery.error,
113
+ isError = _useInfiniteQuery.isError,
114
+ isLoading = _useInfiniteQuery.isLoading,
115
+ fetchNextPage = _useInfiniteQuery.fetchNextPage;
116
+
117
+ var data = (_totalData$pages$redu = (_totalData$pages = totalData.pages) === null || _totalData$pages === void 0 ? void 0 : _totalData$pages.reduce(function (acc, curr) {
118
+ var _acc$results, _curr$results;
119
+
120
+ var newAcc = _objectSpread({}, acc);
121
+
122
+ for (var _i2 = 0, _Object$entries = Object.entries(curr); _i2 < _Object$entries.length; _i2++) {
123
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i2], 2),
124
+ key = _Object$entries$_i[0],
125
+ value = _Object$entries$_i[1];
126
+
127
+ if (key !== 'page' && key !== 'result' && acc[key] !== value) {
128
+ newAcc[key] = value;
129
+ }
130
+ }
131
+
132
+ var newResults = _toConsumableArray((_acc$results = acc.results) !== null && _acc$results !== void 0 ? _acc$results : []);
133
+
134
+ newResults.push.apply(newResults, _toConsumableArray((_curr$results = curr.results) !== null && _curr$results !== void 0 ? _curr$results : []));
135
+ newAcc.results = newResults;
136
+ return newAcc;
137
+ }, {})) !== null && _totalData$pages$redu !== void 0 ? _totalData$pages$redu : {}; // TODO focus handling to stop redraw movin to top
138
+
139
+ var onNeedMoreData = function onNeedMoreData(_askAmount, index) {
140
+ fetchNextPage({
141
+ pageParam: index
142
+ });
143
+ }; // Build the map of column definitions
144
+
145
+
146
+ var columnMapping = Object.fromEntries(resultColumns.map(function (e) {
147
+ return [e.propertyPath, e.label];
148
+ })); // Build the list of visible columns
149
+
150
+ var visibleColumns = resultColumns.map(function (e) {
151
+ return e.propertyPath;
152
+ });
153
+ return /*#__PURE__*/_react["default"].createElement(_smartComponents.SearchAndSortQuery, _extends({
154
+ initialSearchState: {
155
+ query: ''
156
+ },
157
+ queryGetter: queryGetter,
158
+ querySetter: querySetter
159
+ }, sasqProps), function (_ref3) {
160
+ var _query$sort;
161
+
162
+ var activeFilters = _ref3.activeFilters,
163
+ filterChanged = _ref3.filterChanged,
164
+ getFilterHandlers = _ref3.getFilterHandlers,
165
+ getSearchHandlers = _ref3.getSearchHandlers,
166
+ onSort = _ref3.onSort,
167
+ onSubmitSearch = _ref3.onSubmitSearch,
168
+ resetAll = _ref3.resetAll,
169
+ searchChanged = _ref3.searchChanged,
170
+ searchValue = _ref3.searchValue;
171
+ var searchHandlers = getSearchHandlers();
172
+ var sortOrder = (_query$sort = query.sort) !== null && _query$sort !== void 0 ? _query$sort : '';
173
+ var disableReset = !filterChanged && !searchChanged;
174
+ var filterCount = activeFilters.string ? activeFilters.string.split(',').length : 0;
175
+
176
+ var TableBody = function TableBody() {
177
+ return /*#__PURE__*/_react["default"].createElement(_components.MultiColumnList, _extends({
178
+ autosize: true,
179
+ columnMapping: columnMapping,
180
+ contentData: data === null || data === void 0 ? void 0 : data.results,
181
+ isEmptyMessage: /*#__PURE__*/_react["default"].createElement(_NoResultsMessage.NoResultsMessage, {
182
+ error: error,
183
+ isError: isError,
184
+ isLoading: isLoading,
185
+ filterPaneIsVisible: filterPaneVisible,
186
+ searchTerm: query.query,
187
+ toggleFilterPane: toggleFilterPane
188
+ }),
189
+ isSelected: function isSelected(_ref4) {
190
+ var _match$params;
191
+
192
+ var item = _ref4.item;
193
+ return item.id === (match === null || match === void 0 ? void 0 : (_match$params = match.params) === null || _match$params === void 0 ? void 0 : _match$params.id);
194
+ },
195
+ onHeaderClick: onSort,
196
+ onNeedMoreData: onNeedMoreData,
197
+ onRowClick: function onRowClick(_e, rowData) {
198
+ history.push("".concat(path, "/").concat(rowData === null || rowData === void 0 ? void 0 : rowData.id).concat(location === null || location === void 0 ? void 0 : location.search));
199
+ },
200
+ pagingType: "click",
201
+ sortDirection: sortOrder.startsWith('-') ? 'descending' : 'ascending',
202
+ sortOrder: sortOrder.replace(/^-/, '').replace(/,.*/, ''),
203
+ totalCount: data.totalRecords,
204
+ virtualize: true,
205
+ visibleColumns: visibleColumns
206
+ }, mclProps));
207
+ };
208
+
209
+ var Body = RenderBody !== null && RenderBody !== void 0 ? RenderBody : TableBody;
210
+ return /*#__PURE__*/_react["default"].createElement(_smartComponents.PersistedPaneset, {
211
+ appId: namespace,
212
+ id: "".concat(id, "-paneset")
213
+ }, filterPaneVisible && /*#__PURE__*/_react["default"].createElement(_components.Pane, {
214
+ defaultWidth: "20%",
215
+ lastMenu: /*#__PURE__*/_react["default"].createElement(_components.PaneMenu, null, /*#__PURE__*/_react["default"].createElement(_components.IconButton, {
216
+ icon: "caret-left",
217
+ onClick: function onClick() {
218
+ return setFilterPaneVisible(false);
219
+ }
220
+ })),
221
+ paneTitle: /*#__PURE__*/_react["default"].createElement(_reactIntl.FormattedMessage, {
222
+ id: "stripes-smart-components.searchAndFilter"
223
+ })
224
+ }, /*#__PURE__*/_react["default"].createElement("form", {
225
+ onSubmit: onSubmitSearch
226
+ }, !noSearchField && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_components.SearchField, {
227
+ autoFocus: true,
228
+ name: "query",
229
+ onChange: searchHandlers.query,
230
+ onClear: searchHandlers.reset,
231
+ value: searchValue.query
232
+ }), /*#__PURE__*/_react["default"].createElement(_components.Button, {
233
+ buttonStyle: "primary",
234
+ disabled: !searchValue.query,
235
+ fullWidth: true,
236
+ type: "submit"
237
+ }, /*#__PURE__*/_react["default"].createElement(_reactIntl.FormattedMessage, {
238
+ id: "stripes-smart-components.search"
239
+ })), /*#__PURE__*/_react["default"].createElement(_components.Button, {
240
+ buttonStyle: "none",
241
+ disabled: disableReset,
242
+ id: "clickable-reset-all",
243
+ onClick: resetAll
244
+ }, /*#__PURE__*/_react["default"].createElement(_components.Icon, {
245
+ icon: "times-circle-solid"
246
+ }, /*#__PURE__*/_react["default"].createElement(_reactIntl.FormattedMessage, {
247
+ id: "stripes-smart-components.resetAll"
248
+ })))), /*#__PURE__*/_react["default"].createElement(FilterComponent, {
249
+ activeFilters: activeFilters.state,
250
+ filterChanged: filterChanged,
251
+ filterHandlers: getFilterHandlers(),
252
+ resetAll: resetAll,
253
+ searchChanged: searchChanged,
254
+ searchHandlers: getSearchHandlers(),
255
+ searchValue: searchValue
256
+ }))), /*#__PURE__*/_react["default"].createElement(_components.Pane, _extends({
257
+ defaultWidth: "fill",
258
+ firstMenu: !filterPaneVisible ? /*#__PURE__*/_react["default"].createElement(_components.PaneMenu, null, /*#__PURE__*/_react["default"].createElement(_components.IconButton, {
259
+ badgeCount: filterCount,
260
+ icon: "caret-right",
261
+ onClick: function onClick() {
262
+ return setFilterPaneVisible(true);
263
+ }
264
+ })) : null,
265
+ paneSub: /*#__PURE__*/_react["default"].createElement(_reactIntl.FormattedMessage, {
266
+ id: "stripes-kint-components.sasqLookupComponent.mainPane.found",
267
+ values: {
268
+ total: data === null || data === void 0 ? void 0 : data.total
269
+ }
270
+ })
271
+ }, mainPaneProps), /*#__PURE__*/_react["default"].createElement(Body, {
272
+ data: data
273
+ })), children);
274
+ });
275
+ };
276
+
277
+ SASQLookupComponent.propTypes = {
278
+ children: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].node]),
279
+ fetchParameters: _propTypes["default"].object,
280
+ FilterComponent: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].node]),
281
+ history: _propTypes["default"].object,
282
+ id: _propTypes["default"].string.isRequired,
283
+ location: _propTypes["default"].object,
284
+ mainPaneProps: _propTypes["default"].object,
285
+ match: _propTypes["default"].object,
286
+ mclProps: _propTypes["default"].object,
287
+ noSearchField: _propTypes["default"].bool,
288
+ path: _propTypes["default"].string.isRequired,
289
+ RenderBody: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].node]),
290
+ resource: _propTypes["default"].object,
291
+ resultColumns: _propTypes["default"].arrayOf(_propTypes["default"].object),
292
+ sasqProps: _propTypes["default"].object
293
+ };
294
+ var _default = SASQLookupComponent;
295
+ exports["default"] = _default;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _SASQLookupComponent["default"];
10
+ }
11
+ });
12
+
13
+ var _SASQLookupComponent = _interopRequireDefault(require("./SASQLookupComponent"));
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }