@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 +9 -1
- package/es/index.js +26 -0
- package/es/lib/NoResultsMessage/NoResultsMessage.js +89 -0
- package/es/lib/NoResultsMessage/index.js +15 -0
- package/es/lib/SASQLookupComponent/SASQLookupComponent.js +17 -0
- package/es/lib/hooks/index.js +8 -0
- package/es/lib/hooks/useHelperApp.js +7 -1
- package/es/lib/hooks/useKiwtSASQuery.js +22 -1
- package/es/lib/hooks/useQIndex.js +75 -0
- package/es/lib/hooks/useRefdata.js +23 -6
- package/es/lib/utils/generateKiwtQuery.js +3 -109
- package/es/lib/utils/generateKiwtQueryParams.js +125 -0
- package/es/lib/utils/index.js +16 -0
- package/package.json +1 -1
- package/src/index.js +7 -1
- package/src/lib/NoResultsMessage/NoResultsMessage.js +78 -0
- package/src/lib/NoResultsMessage/index.js +1 -0
- package/src/lib/SASQLookupComponent/SASQLookupComponent.js +30 -8
- package/src/lib/SASQRoute/README.md +1 -1
- package/src/lib/TypeDown/README.md +1 -115
- package/src/lib/hooks/README.md +34 -0
- package/src/lib/hooks/index.js +2 -0
- package/src/lib/hooks/useHelperApp.js +5 -1
- package/src/lib/hooks/useKiwtSASQuery.js +9 -1
- package/src/lib/hooks/useQIndex.js +41 -0
- package/src/lib/hooks/useRefdata.js +23 -6
- package/src/lib/utils/README.md +39 -1
- package/src/lib/utils/generateKiwtQuery.js +3 -62
- package/src/lib/utils/generateKiwtQueryParams.js +67 -0
- package/src/lib/utils/index.js +3 -0
- package/styles/NoResultsMessage.css +38 -0
- package/translations/stripes-kint-components/en.json +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
## 1.
|
|
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
|
|
package/es/lib/hooks/index.js
CHANGED
|
@@ -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
|
|
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.
|
|
30
|
-
|
|
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
|
-
|
|
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
|
-
|
|
8
|
+
var _generateKiwtQueryParams = _interopRequireDefault(require("./generateKiwtQueryParams"));
|
|
10
9
|
|
|
11
|
-
function
|
|
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
|
|
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('&') : '';
|