@k-int/stripes-kint-components 1.3.0 → 1.4.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.
package/CHANGELOG.md CHANGED
@@ -1,4 +1,12 @@
1
- ## 1.3.0 In progress
1
+ ## 1.4.0 Released 26th Nov 2021
2
+ * useHelperApp now exposes an `isOpen` function to check if current helper is open or not.
3
+ * useQIndex hook exposed to allow setting and parsing of qindex from url. QIndex now used in useKiwtSASQuery.
4
+ * useRefdata now accepts options, and defaults to 100 returns.
5
+ * GenerateKiwtQueryParams now exposed as well as the full generateKiwtQuery
6
+ * selectorSafe function exported
7
+ * NoResultsMessage component, used in SASQLookupComponent
8
+
9
+ ## 1.3.0 Released 9th Nov 2021
2
10
  * Added SASQRoute, SASQLookupComponent and SASQViewComponent
3
11
  * Deprecated TypeDown
4
12
  * Split TypeDown into two components, Typedown and QueryTypedown
package/es/index.js CHANGED
@@ -15,6 +15,12 @@ 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
+ });
18
24
  Object.defineProperty(exports, "QueryTypedown", {
19
25
  enumerable: true,
20
26
  get: function get() {
@@ -81,6 +87,18 @@ Object.defineProperty(exports, "generateKiwtQuery", {
81
87
  return _utils.generateKiwtQuery;
82
88
  }
83
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
+ });
84
102
  Object.defineProperty(exports, "useActiveElement", {
85
103
  enumerable: true,
86
104
  get: function get() {
@@ -111,6 +129,12 @@ Object.defineProperty(exports, "useMutateRefdataValue", {
111
129
  return _hooks.useMutateRefdataValue;
112
130
  }
113
131
  });
132
+ Object.defineProperty(exports, "useQIndex", {
133
+ enumerable: true,
134
+ get: function get() {
135
+ return _hooks.useQIndex;
136
+ }
137
+ });
114
138
  Object.defineProperty(exports, "useRefdata", {
115
139
  enumerable: true,
116
140
  get: function get() {
@@ -154,4 +178,6 @@ var _SASQLookupComponent = _interopRequireDefault(require("./lib/SASQLookupCompo
154
178
 
155
179
  var _SASQViewComponent = _interopRequireDefault(require("./lib/SASQViewComponent"));
156
180
 
181
+ var _NoResultsMessage = require("./lib/NoResultsMessage");
182
+
157
183
  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 }; }
@@ -19,6 +19,8 @@ var _smartComponents = require("@folio/stripes/smart-components");
19
19
 
20
20
  var _components = require("@folio/stripes/components");
21
21
 
22
+ var _NoResultsMessage = require("../NoResultsMessage");
23
+
22
24
  var _utils = require("../utils");
23
25
 
24
26
  var _hooks = require("../hooks");
@@ -100,9 +102,16 @@ var SASQLookupComponent = function SASQLookupComponent(_ref) {
100
102
  filterPaneVisible = _useLocalStorageState2[0],
101
103
  setFilterPaneVisible = _useLocalStorageState2[1];
102
104
 
105
+ var toggleFilterPane = function toggleFilterPane() {
106
+ return setFilterPaneVisible(!filterPaneVisible);
107
+ };
108
+
103
109
  var _useInfiniteQuery = (0, _reactQuery.useInfiniteQuery)([namespace, id, 'data', query], fetchPageData),
104
110
  _useInfiniteQuery$dat = _useInfiniteQuery.data,
105
111
  totalData = _useInfiniteQuery$dat === void 0 ? {} : _useInfiniteQuery$dat,
112
+ error = _useInfiniteQuery.error,
113
+ isError = _useInfiniteQuery.isError,
114
+ isLoading = _useInfiniteQuery.isLoading,
106
115
  fetchNextPage = _useInfiniteQuery.fetchNextPage;
107
116
 
108
117
  var data = (_totalData$pages$redu = (_totalData$pages = totalData.pages) === null || _totalData$pages === void 0 ? void 0 : _totalData$pages.reduce(function (acc, curr) {
@@ -169,6 +178,14 @@ var SASQLookupComponent = function SASQLookupComponent(_ref) {
169
178
  autosize: true,
170
179
  columnMapping: columnMapping,
171
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
+ }),
172
189
  isSelected: function isSelected(_ref4) {
173
190
  var _match$params;
174
191
 
@@ -33,6 +33,12 @@ Object.defineProperty(exports, "useMutateRefdataValue", {
33
33
  return _useMutateRefdataValue["default"];
34
34
  }
35
35
  });
36
+ Object.defineProperty(exports, "useQIndex", {
37
+ enumerable: true,
38
+ get: function get() {
39
+ return _useQIndex["default"];
40
+ }
41
+ });
36
42
  Object.defineProperty(exports, "useRefdata", {
37
43
  enumerable: true,
38
44
  get: function get() {
@@ -60,4 +66,6 @@ var _useHelperApp = _interopRequireDefault(require("./useHelperApp"));
60
66
 
61
67
  var _useLocalStorageState = _interopRequireDefault(require("./useLocalStorageState"));
62
68
 
69
+ var _useQIndex = _interopRequireDefault(require("./useQIndex"));
70
+
63
71
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -53,6 +53,11 @@ var useHelperApp = function useHelperApp(helpers) {
53
53
  var handleToggleHelper = (0, _react.useCallback)(function (helper) {
54
54
  setCurrentHelper(helper !== currentHelper ? helper : undefined);
55
55
  }, [currentHelper]);
56
+
57
+ var isOpen = function isOpen(hlp) {
58
+ return currentHelper === hlp;
59
+ };
60
+
56
61
  (0, _react.useEffect)(function () {
57
62
  if (currentHelper !== (query === null || query === void 0 ? void 0 : query.helper)) {
58
63
  var newQuery = _objectSpread(_objectSpread({}, query), {}, {
@@ -88,7 +93,8 @@ var useHelperApp = function useHelperApp(helpers) {
88
93
  });
89
94
  return {
90
95
  HelperComponent: HelperComponent,
91
- helperToggleFunctions: helperToggleFunctions
96
+ helperToggleFunctions: helperToggleFunctions,
97
+ isOpen: isOpen
92
98
  };
93
99
  };
94
100
 
@@ -13,12 +13,20 @@ var _reactRouterDom = require("react-router-dom");
13
13
 
14
14
  var _buildUrl = _interopRequireDefault(require("../utils/buildUrl"));
15
15
 
16
+ var _useQIndex = _interopRequireDefault(require("./useQIndex"));
17
+
16
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
19
 
18
20
  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); }
19
21
 
20
22
  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; }
21
23
 
24
+ 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; }
25
+
26
+ 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; }
27
+
28
+ 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; }
29
+
22
30
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
23
31
 
24
32
  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."); }
@@ -52,9 +60,22 @@ var useKiwtSASQuery = function useKiwtSASQuery() {
52
60
  return query;
53
61
  };
54
62
 
63
+ var _useQindex = (0, _useQIndex["default"])(),
64
+ _useQindex2 = _slicedToArray(_useQindex, 1),
65
+ qindex = _useQindex2[0]; // Ensure we update the query along with the querySetter
66
+
67
+
68
+ if (query.qindex !== qindex) {
69
+ setQuery(_objectSpread(_objectSpread({}, query), {}, {
70
+ qindex: qindex
71
+ }));
72
+ }
73
+
55
74
  var querySetter = function querySetter(_ref2) {
56
75
  var nsValues = _ref2.nsValues;
57
- setQuery(nsValues);
76
+ setQuery(_objectSpread(_objectSpread(_objectSpread({}, query), nsValues), {}, {
77
+ qindex: qindex
78
+ }));
58
79
  locationQuerySetter({
59
80
  location: location,
60
81
  history: history,
@@ -0,0 +1,75 @@
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 _reactRouterDom = require("react-router-dom");
13
+
14
+ var _queryString = _interopRequireDefault(require("query-string"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
+
18
+ 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); }
19
+
20
+ 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; }
21
+
22
+ 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; }
23
+
24
+ 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; }
25
+
26
+ 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; }
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
+ var useQIndex = function useQIndex() {
41
+ var history = (0, _reactRouterDom.useHistory)();
42
+ var location = (0, _reactRouterDom.useLocation)();
43
+
44
+ var query = _queryString["default"].parse(location.search);
45
+
46
+ var _useState = (0, _react.useState)(query === null || query === void 0 ? void 0 : query.qindex),
47
+ _useState2 = _slicedToArray(_useState, 2),
48
+ currentQindex = _useState2[0],
49
+ setCurrentQindex = _useState2[1];
50
+
51
+ var handleQindexChange = function handleQindexChange(newQindex) {
52
+ setCurrentQindex(newQindex);
53
+
54
+ if (newQindex !== (query === null || query === void 0 ? void 0 : query.qindex)) {
55
+ var newQuery = _objectSpread(_objectSpread({}, query), {}, {
56
+ qindex: newQindex
57
+ });
58
+
59
+ history.push({
60
+ pathname: location.pathname,
61
+ search: "?".concat(_queryString["default"].stringify(newQuery))
62
+ });
63
+ }
64
+ };
65
+
66
+ (0, _react.useEffect)(function () {
67
+ if (currentQindex !== (query === null || query === void 0 ? void 0 : query.qindex)) {
68
+ setCurrentQindex(query === null || query === void 0 ? void 0 : query.qindex);
69
+ }
70
+ }, [currentQindex, history, location, query]);
71
+ return [currentQindex, handleQindexChange];
72
+ };
73
+
74
+ var _default = useQIndex;
75
+ exports["default"] = _default;
@@ -13,6 +13,8 @@ var _reactQuery = require("react-query");
13
13
 
14
14
  var _core = require("@folio/stripes/core");
15
15
 
16
+ var _utils = require("../utils");
17
+
16
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
19
 
18
20
  var useRefdata = function useRefdata(_ref) {
@@ -20,20 +22,35 @@ var useRefdata = function useRefdata(_ref) {
20
22
  desc = _ref.desc,
21
23
  queryParams = _ref.queryParams,
22
24
  _ref$returnQueryObjec = _ref.returnQueryObject,
23
- returnQueryObject = _ref$returnQueryObjec === void 0 ? false : _ref$returnQueryObjec;
25
+ returnQueryObject = _ref$returnQueryObjec === void 0 ? false : _ref$returnQueryObjec,
26
+ _ref$options = _ref.options,
27
+ options = _ref$options === void 0 ? {
28
+ filterKeys: {
29
+ DescKey: 'desc'
30
+ },
31
+ stats: false,
32
+ max: 100
33
+ } : _ref$options;
24
34
  var ky = (0, _core.useOkapiKy)();
25
- var path = endpoint;
35
+ var nsValues = {};
36
+ /* Desc will tend to contain a '.', which will throw off generateKiwtQuery.
37
+ * To combat this we can insert another Desc. at the beginning to act as the filtername, so
38
+ * Funder.Name => Desc.desc=Funder.Name. This way "Desc" acts as the filterName, and without a filterKey
39
+ * "desc=Funder.Name" is passed wholesale to the query.
40
+ */
26
41
 
27
42
  if (Array.isArray(desc)) {
28
43
  // If we have an array, append a desc filter for each desc given
29
- desc.forEach(function (d, index) {
30
- path += "".concat(index === 0 ? '?filters=' : '%7C%7C', "desc=").concat(d);
31
- });
44
+ nsValues.filters = desc.map(function (d) {
45
+ return "DescKey.".concat(d);
46
+ }).join(',');
32
47
  } else if (desc) {
33
48
  // If we just have a string, append a single desc filter
34
- path += "?filters=desc=".concat(desc);
49
+ nsValues.filters = "DescKey.".concat(desc);
35
50
  }
36
51
 
52
+ var query = (0, _utils.generateKiwtQuery)(options, nsValues);
53
+ var path = "".concat(endpoint).concat(query);
37
54
  var queryObject = (0, _reactQuery.useQuery)(['stripes-kint-components', 'useRefdata', 'refdata', desc !== null && desc !== void 0 ? desc : ''], function () {
38
55
  return ky(path).json();
39
56
  }, queryParams);
@@ -4,119 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
- var _excluded = ["searchKey", "filterKeys", "sortKeys", "stats"];
8
7
 
9
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
+ var _generateKiwtQueryParams = _interopRequireDefault(require("./generateKiwtQueryParams"));
10
9
 
11
- 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; }
12
-
13
- function _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }
14
-
15
- 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."); }
16
-
17
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
18
-
19
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
20
-
21
- 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."); }
22
-
23
- 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); }
24
-
25
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
26
-
27
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
28
-
29
- 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; }
30
-
31
- 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; }
32
-
33
- 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; }
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
34
11
 
35
12
  var generateKiwtQuery = function generateKiwtQuery(options, nsValues) {
36
- var query = nsValues.query,
37
- filters = nsValues.filters,
38
- sort = nsValues.sort;
39
-
40
- var _options$searchKey = options.searchKey,
41
- searchKey = _options$searchKey === void 0 ? '' : _options$searchKey,
42
- _options$filterKeys = options.filterKeys,
43
- filterKeys = _options$filterKeys === void 0 ? {} : _options$filterKeys,
44
- _options$sortKeys = options.sortKeys,
45
- sortKeys = _options$sortKeys === void 0 ? {} : _options$sortKeys,
46
- _options$stats = options.stats,
47
- stats = _options$stats === void 0 ? true : _options$stats,
48
- rest = _objectWithoutProperties(options, _excluded);
49
-
50
- var paramsArray = [];
51
-
52
- if (query) {
53
- var _searchKey$split;
54
-
55
- paramsArray.push.apply(paramsArray, _toConsumableArray((_searchKey$split = searchKey.split(',')) === null || _searchKey$split === void 0 ? void 0 : _searchKey$split.map(function (m) {
56
- return "match=".concat(m);
57
- })));
58
- paramsArray.push("term=".concat(query));
59
- }
60
-
61
- if (filters) {
62
- var filterMap = {};
63
- filters.split(',').forEach(function (filter) {
64
- var _filter$split = filter.split('.'),
65
- _filter$split2 = _toArray(_filter$split),
66
- filterName = _filter$split2[0],
67
- rest = _filter$split2.slice(1);
68
-
69
- var filterValue = rest.join('.');
70
- if (filterMap[filterName] === undefined) filterMap[filterName] = [];
71
- filterMap[filterName].push(filterValue);
72
- }); // We now have a filterMap of shape { status: ['active', 'cancelled'], type: ['local'] }
73
-
74
- Object.entries(filterMap).forEach(function (_ref) {
75
- var _ref2 = _slicedToArray(_ref, 2),
76
- filterName = _ref2[0],
77
- filterValues = _ref2[1];
78
-
79
- var filterKey = filterKeys[filterName];
80
-
81
- if (!filterKey) {
82
- // These filters have no key mapping so we just pass the values to the backend as-is.
83
- paramsArray.push.apply(paramsArray, _toConsumableArray(filterValues === null || filterValues === void 0 ? void 0 : filterValues.map(function (f) {
84
- return "filters=".concat(f);
85
- })));
86
- } else {
87
- var filterString = filterValues.map(function (v) {
88
- return "".concat(filterKey, "==").concat(v);
89
- }).join('||');
90
- paramsArray.push("filters=".concat(filterString));
91
- }
92
- });
93
- }
94
-
95
- if (sort) {
96
- paramsArray.push.apply(paramsArray, _toConsumableArray(sort.split(',').map(function (sortKey) {
97
- var descending = sortKey.startsWith('-');
98
- var term = sortKey.replace('-', '');
99
-
100
- if (term in sortKeys) {
101
- term = term.replace(term, sortKeys[term]);
102
- }
103
-
104
- return "sort=".concat(term, ";").concat(descending ? 'desc' : 'asc');
105
- })));
106
- }
107
-
108
- if (stats) {
109
- paramsArray.push('stats=true');
110
- }
111
-
112
- for (var _i2 = 0, _Object$entries = Object.entries(rest); _i2 < _Object$entries.length; _i2++) {
113
- var _Object$entries$_i = _slicedToArray(_Object$entries[_i2], 2),
114
- key = _Object$entries$_i[0],
115
- value = _Object$entries$_i[1];
116
-
117
- paramsArray.push("".concat(key, "=").concat(value));
118
- }
119
-
13
+ var paramsArray = (0, _generateKiwtQueryParams["default"])(options, nsValues);
120
14
  return paramsArray.length ? '?' + paramsArray.map(function (p) {
121
15
  return encodeURI(p);
122
16
  }).join('&') : '';