@k-int/stripes-kint-components 5.18.0 → 5.19.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/es/index.js +8 -0
- package/es/lib/SASQLookupComponent/SASQLookupComponent.js +9 -1
- package/es/lib/SearchKeyControl/SearchKeyControl.js +95 -0
- package/es/lib/SearchKeyControl/SearchKeyControl.test.js +177 -0
- package/es/lib/SearchKeyControl/index.js +13 -0
- package/es/lib/hooks/__mocks__/index.js +2 -2
- package/es/lib/hooks/index.js +33 -21
- package/es/lib/hooks/intlHooks/index.js +27 -0
- package/es/lib/hooks/intlHooks/useIntlKey/index.js +13 -0
- package/es/lib/hooks/{useIntlKey.js → intlHooks/useIntlKey/useIntlKey.js} +1 -1
- package/es/lib/hooks/intlHooks/useIntlKeyStore/index.js +13 -0
- package/es/lib/hooks/intlHooks/useKintIntl/index.js +13 -0
- package/es/lib/hooks/{useKintIntl.js → intlHooks/useKintIntl/useKintIntl.js} +1 -1
- package/es/lib/hooks/useInvalidateRefdata/index.js +13 -0
- package/es/lib/hooks/{useInvalidateRefdata.js → useInvalidateRefdata/useInvalidateRefdata.js} +1 -1
- package/es/lib/hooks/useMutateCustomProperties/index.js +13 -0
- package/es/lib/hooks/{useMutateCustomProperties.js → useMutateCustomProperties/useMutateCustomProperties.js} +1 -1
- package/es/lib/hooks/useMutateGeneric/index.js +13 -0
- package/es/lib/hooks/useMutateRefdataCategory/index.js +13 -0
- package/es/lib/hooks/{useMutateRefdataCategory.js → useMutateRefdataCategory/useMutateRefdataCategory.js} +2 -2
- package/es/lib/hooks/useMutateRefdataValue/index.js +13 -0
- package/es/lib/hooks/{useMutateRefdataValue.js → useMutateRefdataValue/useMutateRefdataValue.js} +2 -2
- package/es/lib/utils/refdataQueryKey/index.js +13 -0
- package/package.json +1 -1
- package/src/index.js +4 -0
- package/src/lib/NumberField/README.md +134 -0
- package/src/lib/SASQLookupComponent/README.md +172 -0
- package/src/lib/SASQLookupComponent/SASQLookupComponent.js +10 -1
- package/src/lib/SASQLookupComponent/TableBody/README.md +113 -0
- package/src/lib/SASQRoute/README.md +49 -18
- package/src/lib/SASQViewComponent/README.md +132 -0
- package/src/lib/SearchKeyControl/README.md +70 -0
- package/src/lib/SearchKeyControl/SearchKeyControl.js +98 -0
- package/src/lib/SearchKeyControl/SearchKeyControl.test.js +165 -0
- package/src/lib/SearchKeyControl/index.js +1 -0
- package/src/lib/hooks/README.md +26 -121
- package/src/lib/hooks/__mocks__/index.js +2 -2
- package/src/lib/hooks/index.js +2 -3
- package/src/lib/hooks/intlHooks/README.md +31 -0
- package/src/lib/hooks/intlHooks/index.js +3 -0
- package/src/lib/hooks/intlHooks/useIntlKey/README.md +23 -0
- package/src/lib/hooks/intlHooks/useIntlKey/index.js +1 -0
- package/src/lib/hooks/{useIntlKey.js → intlHooks/useIntlKey/useIntlKey.js} +1 -1
- package/src/lib/hooks/intlHooks/useIntlKeyStore/README.md +32 -0
- package/src/lib/hooks/intlHooks/useIntlKeyStore/index.js +1 -0
- package/src/lib/hooks/intlHooks/useKintIntl/README.md +42 -0
- package/src/lib/hooks/intlHooks/useKintIntl/index.js +1 -0
- package/src/lib/hooks/{useKintIntl.js → intlHooks/useKintIntl/useKintIntl.js} +1 -1
- package/src/lib/hooks/useInvalidateRefdata/README.md +72 -0
- package/src/lib/hooks/useInvalidateRefdata/index.js +1 -0
- package/src/lib/hooks/{useInvalidateRefdata.js → useInvalidateRefdata/useInvalidateRefdata.js} +1 -1
- package/src/lib/hooks/useMutateCustomProperties/README.md +88 -0
- package/src/lib/hooks/useMutateCustomProperties/index.js +1 -0
- package/src/lib/hooks/{useMutateCustomProperties.js → useMutateCustomProperties/useMutateCustomProperties.js} +1 -1
- package/src/lib/hooks/useMutateGeneric/README.md +187 -0
- package/src/lib/hooks/useMutateGeneric/index.js +1 -0
- package/src/lib/hooks/useMutateRefdataCategory/README.md +85 -0
- package/src/lib/hooks/useMutateRefdataCategory/index.js +1 -0
- package/src/lib/hooks/{useMutateRefdataCategory.js → useMutateRefdataCategory/useMutateRefdataCategory.js} +2 -2
- package/src/lib/hooks/useMutateRefdataValue/README.md +154 -0
- package/src/lib/hooks/useMutateRefdataValue/index.js +1 -0
- package/src/lib/hooks/{useMutateRefdataValue.js → useMutateRefdataValue/useMutateRefdataValue.js} +2 -2
- package/src/lib/settingsHooks/useAppSettings/README.md +24 -0
- package/src/lib/utils/refdataQueryKey/README.md +38 -0
- package/src/lib/utils/refdataQueryKey/index.js +1 -0
- package/styles/SearchKeyControl.css +14 -0
- /package/es/lib/hooks/{useIntlKeyStore.js → intlHooks/useIntlKeyStore/useIntlKeyStore.js} +0 -0
- /package/es/lib/hooks/{useMutateGeneric.js → useMutateGeneric/useMutateGeneric.js} +0 -0
- /package/es/lib/utils/{refdataQueryKey.js → refdataQueryKey/refdataQueryKey.js} +0 -0
- /package/src/lib/hooks/{useIntlKeyStore.js → intlHooks/useIntlKeyStore/useIntlKeyStore.js} +0 -0
- /package/src/lib/hooks/{useMutateGeneric.js → useMutateGeneric/useMutateGeneric.js} +0 -0
- /package/src/lib/utils/{refdataQueryKey.js → refdataQueryKey/refdataQueryKey.js} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [5.19.1](https://gitlab.com/knowledge-integration/folio/stripes-kint-components/compare/v5.19.0...v5.19.1) (2025-04-16)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* SearchableIndexes were not null safe ([7107530](https://gitlab.com/knowledge-integration/folio/stripes-kint-components/commit/7107530408fa30d3fd87a5dd87970561afaac134))
|
|
7
|
+
|
|
8
|
+
# [5.19.0](https://gitlab.com/knowledge-integration/folio/stripes-kint-components/compare/v5.18.0...v5.19.0) (2025-04-16)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* SearchKeyControl ([ebc5f7b](https://gitlab.com/knowledge-integration/folio/stripes-kint-components/commit/ebc5f7b597974347ab3bdebd811038e02ebe50e1))
|
|
14
|
+
|
|
1
15
|
# [5.18.0](https://gitlab.com/knowledge-integration/folio/stripes-kint-components/compare/v5.17.0...v5.18.0) (2025-04-04)
|
|
2
16
|
|
|
3
17
|
|
package/es/index.js
CHANGED
|
@@ -13,6 +13,7 @@ var _exportNames = {
|
|
|
13
13
|
Typedown: true,
|
|
14
14
|
QueryTypedown: true,
|
|
15
15
|
SearchField: true,
|
|
16
|
+
SearchKeyControl: true,
|
|
16
17
|
SASQRoute: true,
|
|
17
18
|
SASQLookupComponent: true,
|
|
18
19
|
SASQTableBody: true,
|
|
@@ -268,6 +269,12 @@ Object.defineProperty(exports, "SearchField", {
|
|
|
268
269
|
return _SearchField.default;
|
|
269
270
|
}
|
|
270
271
|
});
|
|
272
|
+
Object.defineProperty(exports, "SearchKeyControl", {
|
|
273
|
+
enumerable: true,
|
|
274
|
+
get: function () {
|
|
275
|
+
return _SearchKeyControl.default;
|
|
276
|
+
}
|
|
277
|
+
});
|
|
271
278
|
Object.defineProperty(exports, "SettingPage", {
|
|
272
279
|
enumerable: true,
|
|
273
280
|
get: function () {
|
|
@@ -391,6 +398,7 @@ var _EditableRefdataCategoryList = _interopRequireDefault(require("./lib/Editabl
|
|
|
391
398
|
var _Typedown = _interopRequireDefault(require("./lib/Typedown"));
|
|
392
399
|
var _QueryTypedown = _interopRequireDefault(require("./lib/QueryTypedown"));
|
|
393
400
|
var _SearchField = _interopRequireDefault(require("./lib/SearchField"));
|
|
401
|
+
var _SearchKeyControl = _interopRequireDefault(require("./lib/SearchKeyControl"));
|
|
394
402
|
var _SASQRoute = _interopRequireDefault(require("./lib/SASQRoute"));
|
|
395
403
|
var _SASQLookupComponent = require("./lib/SASQLookupComponent");
|
|
396
404
|
var _SASQViewComponent = _interopRequireDefault(require("./lib/SASQViewComponent"));
|
|
@@ -14,6 +14,7 @@ var _components = require("@folio/stripes/components");
|
|
|
14
14
|
var _utils = require("../utils");
|
|
15
15
|
var _hooks = require("../hooks");
|
|
16
16
|
var _TableBody = _interopRequireDefault(require("./TableBody"));
|
|
17
|
+
var _SearchKeyControl = _interopRequireDefault(require("../SearchKeyControl"));
|
|
17
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
19
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
20
|
const SASQLookupComponent = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
|
|
@@ -53,8 +54,9 @@ const SASQLookupComponent = /*#__PURE__*/(0, _react.forwardRef)((props, ref) =>
|
|
|
53
54
|
rowNavigation = true,
|
|
54
55
|
// Default navigation onRowClick
|
|
55
56
|
sasqProps,
|
|
57
|
+
searchableIndexes = [],
|
|
56
58
|
searchFieldAriaLabel,
|
|
57
|
-
searchFieldProps
|
|
59
|
+
searchFieldProps = {}
|
|
58
60
|
} = props;
|
|
59
61
|
const kintIntl = (0, _hooks.useKintIntl)(passedIntlKey, passedIntlNS);
|
|
60
62
|
const [count, setCount] = (0, _react.useState)(0);
|
|
@@ -201,6 +203,8 @@ const SASQLookupComponent = /*#__PURE__*/(0, _react.forwardRef)((props, ref) =>
|
|
|
201
203
|
onClear: searchHandlers.reset,
|
|
202
204
|
value: searchValue.query,
|
|
203
205
|
...searchFieldProps
|
|
206
|
+
}), searchableIndexes?.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_SearchKeyControl.default, {
|
|
207
|
+
options: searchableIndexes
|
|
204
208
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
205
209
|
buttonStyle: "primary",
|
|
206
210
|
disabled: !searchValue.query,
|
|
@@ -297,6 +301,10 @@ SASQLookupComponent.propTypes = {
|
|
|
297
301
|
resultColumns: _propTypes.default.arrayOf(_propTypes.default.object),
|
|
298
302
|
rowNavigation: _propTypes.default.bool,
|
|
299
303
|
sasqProps: _propTypes.default.object,
|
|
304
|
+
searchableIndexes: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
305
|
+
key: _propTypes.default.string.isRequired,
|
|
306
|
+
label: _propTypes.default.string
|
|
307
|
+
})),
|
|
300
308
|
searchFieldAriaLabel: _propTypes.default.string,
|
|
301
309
|
searchFieldProps: _propTypes.default.object
|
|
302
310
|
};
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
|
|
10
|
+
var _components = require("@folio/stripes/components");
|
|
11
|
+
var _hooks = require("../hooks");
|
|
12
|
+
var _SearchKeyControl = _interopRequireDefault(require("../../../styles/SearchKeyControl.css"));
|
|
13
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
+
/*
|
|
16
|
+
IMPORTANT -- This component is controlled by the qIndex, rather than the other way around.
|
|
17
|
+
It should inject values in/remove values from the qIndex, but not replace the entire thing.
|
|
18
|
+
*/const SearchKeyControl = _ref => {
|
|
19
|
+
let {
|
|
20
|
+
options = []
|
|
21
|
+
} = _ref;
|
|
22
|
+
// This component expects a qIndex comprising of a comma separated list
|
|
23
|
+
const [qIndex, setQIndex] = (0, _hooks.useQIndex)();
|
|
24
|
+
const qIndexArray = (0, _react.useMemo)(() => qIndex?.split(',')?.map(index => index.trim()) ?? [], [qIndex]);
|
|
25
|
+
|
|
26
|
+
// Memoise this process so keyState changes if and only if options/qIndex change
|
|
27
|
+
const createKeyState = (0, _react.useCallback)(() => options.reduce((acc, curr) => {
|
|
28
|
+
acc[curr.key] = {
|
|
29
|
+
inUse: qIndexArray?.includes(curr.key),
|
|
30
|
+
label: curr.label ?? curr.key
|
|
31
|
+
};
|
|
32
|
+
return acc;
|
|
33
|
+
}, {}), [options, qIndexArray]);
|
|
34
|
+
const [keyState, setKeyState] = (0, _react.useState)(createKeyState());
|
|
35
|
+
|
|
36
|
+
// Keep keyState up to date as options/qIndex change
|
|
37
|
+
(0, _react.useEffect)(() => {
|
|
38
|
+
const newKeyState = createKeyState();
|
|
39
|
+
if (!(0, _isEqual.default)(newKeyState, keyState)) {
|
|
40
|
+
setKeyState(newKeyState);
|
|
41
|
+
}
|
|
42
|
+
}, [createKeyState, keyState]);
|
|
43
|
+
|
|
44
|
+
// Check to see if page param exists, and if it does then changing qIndex should reset it
|
|
45
|
+
const {
|
|
46
|
+
currentPage,
|
|
47
|
+
resetPage
|
|
48
|
+
} = (0, _hooks.usePrevNextPagination)({
|
|
49
|
+
defaultToPageOne: false
|
|
50
|
+
});
|
|
51
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
52
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
53
|
+
className: _SearchKeyControl.default.searchKeyControlContainer,
|
|
54
|
+
children: Object.entries(keyState).map(_ref2 => {
|
|
55
|
+
let [key, value] = _ref2;
|
|
56
|
+
/* At this point we have "key" corresponding to a searchKey option,
|
|
57
|
+
* and "value" an object of the shape
|
|
58
|
+
{
|
|
59
|
+
inUse: a bool determining if it is in use or not,
|
|
60
|
+
label: the label to display on the checkbox
|
|
61
|
+
}
|
|
62
|
+
*/
|
|
63
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Checkbox, {
|
|
64
|
+
checked: value?.inUse,
|
|
65
|
+
className: _SearchKeyControl.default.searchKeyControlElement,
|
|
66
|
+
label: value?.label,
|
|
67
|
+
onChange: e => {
|
|
68
|
+
// If false, we must remove from the qIndex
|
|
69
|
+
if (!e.target.checked) {
|
|
70
|
+
const indexOfKey = qIndexArray.indexOf(key);
|
|
71
|
+
if (indexOfKey > -1) {
|
|
72
|
+
// only splice array when item is found
|
|
73
|
+
qIndexArray.splice(indexOfKey, 1); // 2nd parameter means remove one item only
|
|
74
|
+
}
|
|
75
|
+
} else {
|
|
76
|
+
// If true, we need to add to qIndex
|
|
77
|
+
qIndexArray.push(key);
|
|
78
|
+
}
|
|
79
|
+
setQIndex(qIndexArray?.join(','));
|
|
80
|
+
if (currentPage) {
|
|
81
|
+
resetPage();
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}, `search-key-control-${key}`);
|
|
85
|
+
})
|
|
86
|
+
})
|
|
87
|
+
});
|
|
88
|
+
};
|
|
89
|
+
SearchKeyControl.propTypes = {
|
|
90
|
+
options: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
91
|
+
label: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.node]).isRequired,
|
|
92
|
+
key: _propTypes.default.string.isRequired
|
|
93
|
+
}))
|
|
94
|
+
};
|
|
95
|
+
var _default = exports.default = SearchKeyControl;
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _react = require("react");
|
|
4
|
+
var _react2 = require("@folio/jest-config-stripes/testing-library/react");
|
|
5
|
+
var _stripesErmTesting = require("@folio/stripes-erm-testing");
|
|
6
|
+
var _SearchKeyControl = _interopRequireDefault(require("./SearchKeyControl"));
|
|
7
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
const mockUseQIndex = jest.fn();
|
|
10
|
+
jest.mock('../hooks', () => ({
|
|
11
|
+
...jest.requireActual('../hooks'),
|
|
12
|
+
useQIndex: () => mockUseQIndex()
|
|
13
|
+
}));
|
|
14
|
+
describe('SearchKeyControl', () => {
|
|
15
|
+
describe('without initial qIndex', () => {
|
|
16
|
+
beforeEach(() => {
|
|
17
|
+
mockUseQIndex.mockImplementation(() => {
|
|
18
|
+
return (0, _react.useState)();
|
|
19
|
+
});
|
|
20
|
+
(0, _stripesErmTesting.renderWithIntl)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_SearchKeyControl.default, {
|
|
21
|
+
options: [{
|
|
22
|
+
label: 'Opt 1',
|
|
23
|
+
key: 'opt1'
|
|
24
|
+
}, {
|
|
25
|
+
label: 'Opt 2',
|
|
26
|
+
key: 'opt2'
|
|
27
|
+
}, {
|
|
28
|
+
label: 'Opt 3',
|
|
29
|
+
key: 'opt3'
|
|
30
|
+
}]
|
|
31
|
+
}));
|
|
32
|
+
});
|
|
33
|
+
test('renders all Checkboxes', async () => {
|
|
34
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 1').exists();
|
|
35
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 2').exists();
|
|
36
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 3').exists();
|
|
37
|
+
});
|
|
38
|
+
test('all Checkboxes have expected initial "checked" value', async () => {
|
|
39
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 1').has({
|
|
40
|
+
checked: false
|
|
41
|
+
});
|
|
42
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 2').has({
|
|
43
|
+
checked: false
|
|
44
|
+
});
|
|
45
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 3').has({
|
|
46
|
+
checked: false
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
describe('clicking Opt 2', () => {
|
|
50
|
+
beforeEach(async () => {
|
|
51
|
+
await (0, _react2.waitFor)(async () => {
|
|
52
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 2').click();
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
test('all Checkboxes have expected "checked" value', async () => {
|
|
56
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 1').has({
|
|
57
|
+
checked: false
|
|
58
|
+
});
|
|
59
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 2').has({
|
|
60
|
+
checked: true
|
|
61
|
+
});
|
|
62
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 3').has({
|
|
63
|
+
checked: false
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
describe('clicking Opt 1 and Opt 2', () => {
|
|
68
|
+
beforeEach(async () => {
|
|
69
|
+
await (0, _react2.waitFor)(async () => {
|
|
70
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 1').click();
|
|
71
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 2').click();
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
test('all Checkboxes have expected "checked" value', async () => {
|
|
75
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 1').has({
|
|
76
|
+
checked: true
|
|
77
|
+
});
|
|
78
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 2').has({
|
|
79
|
+
checked: true
|
|
80
|
+
});
|
|
81
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 3').has({
|
|
82
|
+
checked: false
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
describe('with initial qIndex', () => {
|
|
88
|
+
beforeEach(() => {
|
|
89
|
+
mockUseQIndex.mockImplementation(() => {
|
|
90
|
+
return (0, _react.useState)('opt1,opt3');
|
|
91
|
+
});
|
|
92
|
+
(0, _stripesErmTesting.renderWithIntl)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_SearchKeyControl.default, {
|
|
93
|
+
options: [{
|
|
94
|
+
label: 'Opt 1',
|
|
95
|
+
key: 'opt1'
|
|
96
|
+
}, {
|
|
97
|
+
label: 'Opt 2',
|
|
98
|
+
key: 'opt2'
|
|
99
|
+
}, {
|
|
100
|
+
label: 'Opt 3',
|
|
101
|
+
key: 'opt3'
|
|
102
|
+
}]
|
|
103
|
+
}));
|
|
104
|
+
});
|
|
105
|
+
test('renders all Checkboxes', async () => {
|
|
106
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 1').exists();
|
|
107
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 2').exists();
|
|
108
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 3').exists();
|
|
109
|
+
});
|
|
110
|
+
test('all Checkboxes have expected initial "checked" value', async () => {
|
|
111
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 1').has({
|
|
112
|
+
checked: true
|
|
113
|
+
});
|
|
114
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 2').has({
|
|
115
|
+
checked: false
|
|
116
|
+
});
|
|
117
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 3').has({
|
|
118
|
+
checked: true
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
describe('clicking Opt 2', () => {
|
|
122
|
+
beforeEach(async () => {
|
|
123
|
+
await (0, _react2.waitFor)(async () => {
|
|
124
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 2').click();
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
test('all Checkboxes have expected "checked" value', async () => {
|
|
128
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 1').has({
|
|
129
|
+
checked: true
|
|
130
|
+
});
|
|
131
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 2').has({
|
|
132
|
+
checked: true
|
|
133
|
+
});
|
|
134
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 3').has({
|
|
135
|
+
checked: true
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
describe('clicking Opt 1 and Opt 2', () => {
|
|
140
|
+
beforeEach(async () => {
|
|
141
|
+
await (0, _react2.waitFor)(async () => {
|
|
142
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 1').click();
|
|
143
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 2').click();
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
test('all Checkboxes have expected "checked" value', async () => {
|
|
147
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 1').has({
|
|
148
|
+
checked: false
|
|
149
|
+
});
|
|
150
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 2').has({
|
|
151
|
+
checked: true
|
|
152
|
+
});
|
|
153
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 3').has({
|
|
154
|
+
checked: true
|
|
155
|
+
});
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
describe('clicking Opt 3', () => {
|
|
159
|
+
beforeEach(async () => {
|
|
160
|
+
await (0, _react2.waitFor)(async () => {
|
|
161
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 3').click();
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
test('all Checkboxes have expected "checked" value', async () => {
|
|
165
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 1').has({
|
|
166
|
+
checked: true
|
|
167
|
+
});
|
|
168
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 2').has({
|
|
169
|
+
checked: false
|
|
170
|
+
});
|
|
171
|
+
await (0, _stripesErmTesting.Checkbox)('Opt 3').has({
|
|
172
|
+
checked: false
|
|
173
|
+
});
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
});
|
|
177
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "default", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _SearchKeyControl.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _SearchKeyControl = _interopRequireDefault(require("./SearchKeyControl"));
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
var _refdata = _interopRequireDefault(require("../../../../test/jest/refdata"));
|
|
4
4
|
var _customProperties = _interopRequireDefault(require("../../../../test/jest/customProperties"));
|
|
5
|
-
var _useKintIntl = _interopRequireDefault(require("../useKintIntl"));
|
|
5
|
+
var _useKintIntl = _interopRequireDefault(require("../intlHooks/useKintIntl"));
|
|
6
6
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
7
|
/* EXAMPLE Grab actual hooks for anything not mocked here */
|
|
8
8
|
const hooks = jest.requireActual('../index');
|
|
9
9
|
|
|
10
10
|
// We have to do this up here too so that our passed useKintIntl
|
|
11
11
|
// ALSO has a mocked useIntlKeyStore... I think anyway
|
|
12
|
-
jest.mock('../useIntlKeyStore', () => () => () => 'ui-test-implementor');
|
|
12
|
+
jest.mock('../intlHooks/useIntlKeyStore', () => () => () => 'ui-test-implementor');
|
|
13
13
|
module.exports = {
|
|
14
14
|
...hooks,
|
|
15
15
|
useRefdata: () => _refdata.default,
|
package/es/lib/hooks/index.js
CHANGED
|
@@ -3,6 +3,27 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
var _exportNames = {
|
|
7
|
+
useRefdata: true,
|
|
8
|
+
useTemplates: true,
|
|
9
|
+
useActiveElement: true,
|
|
10
|
+
useKiwtSASQuery: true,
|
|
11
|
+
useHelperApp: true,
|
|
12
|
+
useLocalStorageState: true,
|
|
13
|
+
useQIndex: true,
|
|
14
|
+
useKiwtFieldArray: true,
|
|
15
|
+
useCustomProperties: true,
|
|
16
|
+
useInvalidateRefdata: true,
|
|
17
|
+
useSASQQueryMeta: true,
|
|
18
|
+
useModConfigEntries: true,
|
|
19
|
+
useActionListRef: true,
|
|
20
|
+
useMutateGeneric: true,
|
|
21
|
+
useMutateRefdataValue: true,
|
|
22
|
+
useMutateRefdataCategory: true,
|
|
23
|
+
useMutateCustomProperties: true,
|
|
24
|
+
useMutateModConfigEntry: true,
|
|
25
|
+
usePrevNextPagination: true
|
|
26
|
+
};
|
|
6
27
|
Object.defineProperty(exports, "useActionListRef", {
|
|
7
28
|
enumerable: true,
|
|
8
29
|
get: function () {
|
|
@@ -27,30 +48,12 @@ Object.defineProperty(exports, "useHelperApp", {
|
|
|
27
48
|
return _useHelperApp.default;
|
|
28
49
|
}
|
|
29
50
|
});
|
|
30
|
-
Object.defineProperty(exports, "useIntlKey", {
|
|
31
|
-
enumerable: true,
|
|
32
|
-
get: function () {
|
|
33
|
-
return _useIntlKey.default;
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
Object.defineProperty(exports, "useIntlKeyStore", {
|
|
37
|
-
enumerable: true,
|
|
38
|
-
get: function () {
|
|
39
|
-
return _useIntlKeyStore.default;
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
51
|
Object.defineProperty(exports, "useInvalidateRefdata", {
|
|
43
52
|
enumerable: true,
|
|
44
53
|
get: function () {
|
|
45
54
|
return _useInvalidateRefdata.default;
|
|
46
55
|
}
|
|
47
56
|
});
|
|
48
|
-
Object.defineProperty(exports, "useKintIntl", {
|
|
49
|
-
enumerable: true,
|
|
50
|
-
get: function () {
|
|
51
|
-
return _useKintIntl.default;
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
57
|
Object.defineProperty(exports, "useKiwtFieldArray", {
|
|
55
58
|
enumerable: true,
|
|
56
59
|
get: function () {
|
|
@@ -145,9 +148,6 @@ var _useQIndex = _interopRequireDefault(require("./useQIndex"));
|
|
|
145
148
|
var _useKiwtFieldArray = _interopRequireDefault(require("./useKiwtFieldArray"));
|
|
146
149
|
var _useCustomProperties = _interopRequireDefault(require("./useCustomProperties"));
|
|
147
150
|
var _useInvalidateRefdata = _interopRequireDefault(require("./useInvalidateRefdata"));
|
|
148
|
-
var _useKintIntl = _interopRequireDefault(require("./useKintIntl"));
|
|
149
|
-
var _useIntlKeyStore = _interopRequireDefault(require("./useIntlKeyStore"));
|
|
150
|
-
var _useIntlKey = _interopRequireDefault(require("./useIntlKey"));
|
|
151
151
|
var _useSASQQueryMeta = _interopRequireDefault(require("./useSASQQueryMeta"));
|
|
152
152
|
var _useModConfigEntries = _interopRequireDefault(require("./useModConfigEntries"));
|
|
153
153
|
var _useActionListRef = _interopRequireDefault(require("./useActionListRef"));
|
|
@@ -157,4 +157,16 @@ var _useMutateRefdataCategory = _interopRequireDefault(require("./useMutateRefda
|
|
|
157
157
|
var _useMutateCustomProperties = _interopRequireDefault(require("./useMutateCustomProperties"));
|
|
158
158
|
var _useMutateModConfigEntry = _interopRequireDefault(require("./useMutateModConfigEntry"));
|
|
159
159
|
var _usePrevNextPagination = _interopRequireDefault(require("./usePrevNextPagination"));
|
|
160
|
+
var _intlHooks = require("./intlHooks");
|
|
161
|
+
Object.keys(_intlHooks).forEach(function (key) {
|
|
162
|
+
if (key === "default" || key === "__esModule") return;
|
|
163
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
164
|
+
if (key in exports && exports[key] === _intlHooks[key]) return;
|
|
165
|
+
Object.defineProperty(exports, key, {
|
|
166
|
+
enumerable: true,
|
|
167
|
+
get: function () {
|
|
168
|
+
return _intlHooks[key];
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
});
|
|
160
172
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "useIntlKey", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _useIntlKey.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "useIntlKeyStore", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _useIntlKeyStore.default;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "useKintIntl", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _useKintIntl.default;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
var _useIntlKeyStore = _interopRequireDefault(require("./useIntlKeyStore"));
|
|
25
|
+
var _useIntlKey = _interopRequireDefault(require("./useIntlKey"));
|
|
26
|
+
var _useKintIntl = _interopRequireDefault(require("./useKintIntl"));
|
|
27
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "default", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _useIntlKey.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _useIntlKey = _interopRequireDefault(require("./useIntlKey"));
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var _useIntlKeyStore = _interopRequireDefault(require("
|
|
7
|
+
var _useIntlKeyStore = _interopRequireDefault(require("../useIntlKeyStore"));
|
|
8
8
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
9
|
const useIntlKey = (passedIntlKey, passedIntlNS) => {
|
|
10
10
|
const getKey = (0, _useIntlKeyStore.default)(state => state.getKey);
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "default", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _useIntlKeyStore.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _useIntlKeyStore = _interopRequireDefault(require("./useIntlKeyStore"));
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "default", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _useKintIntl.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _useKintIntl = _interopRequireDefault(require("./useKintIntl"));
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _reactIntl = require("react-intl");
|
|
8
|
-
var _useIntlKey = _interopRequireDefault(require("
|
|
8
|
+
var _useIntlKey = _interopRequireDefault(require("../useIntlKey"));
|
|
9
9
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
10
|
/* A hook to enrich the intl object we get from useIntl */
|
|
11
11
|
const useKintIntl = (passedIntlKey, passedIntlNS) => {
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "default", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _useInvalidateRefdata.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _useInvalidateRefdata = _interopRequireDefault(require("./useInvalidateRefdata"));
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
package/es/lib/hooks/{useInvalidateRefdata.js → useInvalidateRefdata/useInvalidateRefdata.js}
RENAMED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _reactQuery = require("react-query");
|
|
8
|
-
var _utils = require("
|
|
8
|
+
var _utils = require("../../utils");
|
|
9
9
|
const useInvalidateRefdata = desc => {
|
|
10
10
|
const queryClient = (0, _reactQuery.useQueryClient)();
|
|
11
11
|
return () => queryClient.invalidateQueries((0, _utils.refdataQueryKey)(desc));
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "default", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _useMutateCustomProperties.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _useMutateCustomProperties = _interopRequireDefault(require("./useMutateCustomProperties"));
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var _useMutateGeneric = _interopRequireDefault(require("
|
|
7
|
+
var _useMutateGeneric = _interopRequireDefault(require("../useMutateGeneric"));
|
|
8
8
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
9
|
const useMutateCustomProperties = _ref => {
|
|
10
10
|
let {
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "default", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _useMutateGeneric.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _useMutateGeneric = _interopRequireDefault(require("./useMutateGeneric"));
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "default", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _useMutateRefdataCategory.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _useMutateRefdataCategory = _interopRequireDefault(require("./useMutateRefdataCategory"));
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _noop = _interopRequireDefault(require("lodash/noop"));
|
|
8
|
-
var _useInvalidateRefdata = _interopRequireDefault(require("
|
|
9
|
-
var _useMutateGeneric = _interopRequireDefault(require("
|
|
8
|
+
var _useInvalidateRefdata = _interopRequireDefault(require("../useInvalidateRefdata"));
|
|
9
|
+
var _useMutateGeneric = _interopRequireDefault(require("../useMutateGeneric"));
|
|
10
10
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
11
|
const useMutateRefdataCategory = _ref => {
|
|
12
12
|
let {
|