@k-int/stripes-kint-components 5.6.1 → 5.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/es/lib/ActionList/ActionListFieldArray.js +32 -37
  3. package/es/lib/ComboButton/ComboButton.js +5 -6
  4. package/es/lib/CustomProperties/Config/CustomPropertiesLookup.js +4 -7
  5. package/es/lib/CustomProperties/Config/CustomPropertiesSettings.js +29 -32
  6. package/es/lib/CustomProperties/Config/CustomPropertyForm.js +58 -58
  7. package/es/lib/CustomProperties/Config/CustomPropertyForm.test.js +2 -2
  8. package/es/lib/CustomProperties/Config/CustomPropertyView.js +32 -33
  9. package/es/lib/CustomProperties/Config/CustomPropertyView.test.js +1 -1
  10. package/es/lib/CustomProperties/Edit/CustomPropertiesEdit.js +1 -1
  11. package/es/lib/CustomProperties/Edit/CustomPropertiesEditCtx.js +3 -3
  12. package/es/lib/CustomProperties/Edit/CustomPropertiesListField.js +5 -10
  13. package/es/lib/CustomProperties/Edit/CustomPropertyField.js +18 -25
  14. package/es/lib/CustomProperties/Edit/CustomPropertyField.test.js +5 -5
  15. package/es/lib/CustomProperties/Edit/CustomPropertyFormCard.js +2 -2
  16. package/es/lib/CustomProperties/Edit/CustomPropertyFormCard.test.js +1 -1
  17. package/es/lib/CustomProperties/Edit/testResources.js +11 -12
  18. package/es/lib/CustomProperties/Filter/CustomPropertiesFilter.js +6 -11
  19. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterField.js +20 -28
  20. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterField.test.js +1 -1
  21. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterFieldArray.js +6 -6
  22. package/es/lib/CustomProperties/Filter/CustomPropertiesRule.js +8 -8
  23. package/es/lib/CustomProperties/Filter/testResources.js +1 -2
  24. package/es/lib/CustomProperties/Filter/useParseActiveFilterStrings.js +1 -2
  25. package/es/lib/CustomProperties/View/CustomPropertiesView.js +1 -1
  26. package/es/lib/CustomProperties/View/CustomPropertiesViewCtx.js +18 -26
  27. package/es/lib/CustomProperties/View/CustomPropertyCard.js +7 -11
  28. package/es/lib/CycleButton/CycleButton.js +1 -1
  29. package/es/lib/EditableRefdataCategoryList/EditableRefdataCategoryList.js +26 -38
  30. package/es/lib/EditableRefdataList/EditableRefdataList.js +26 -33
  31. package/es/lib/EditableSettingsList/EditableSettingsListFieldArray.js +1 -1
  32. package/es/lib/EditableSettingsList/SettingField/EditSettingValue.js +5 -5
  33. package/es/lib/EditableSettingsList/SettingField/RenderSettingValue.js +10 -12
  34. package/es/lib/EditableSettingsList/SettingField/SettingField.js +4 -4
  35. package/es/lib/FormattedKintMessage/FormattedKintMessage.js +4 -7
  36. package/es/lib/IconSelect/IconSelect.js +5 -9
  37. package/es/lib/NoResultsMessage/NoResultsMessage.js +4 -4
  38. package/es/lib/RefdataButtons/RefdataButtons.js +3 -3
  39. package/es/lib/RefdataCategoriesSettings/RefdataCategoriesSettings.js +13 -17
  40. package/es/lib/ResponsiveButtonGroup/ResponsiveButtonGroup.js +21 -28
  41. package/es/lib/ResponsiveButtonGroup/useResponsiveButtonGroupSizing.js +5 -6
  42. package/es/lib/RichSelect/RichSelect.js +14 -19
  43. package/es/lib/RichSelect/useSelectedOption.js +1 -2
  44. package/es/lib/SASQLookupComponent/SASQLookupComponent.js +14 -17
  45. package/es/lib/SASQLookupComponent/TableBody/TableBody.js +6 -8
  46. package/es/lib/SASQRoute/SASQRoute.js +2 -2
  47. package/es/lib/SASQViewComponent/SASQViewComponent.js +5 -9
  48. package/es/lib/SettingPage/SettingPagePane.js +2 -2
  49. package/es/lib/SettingsFormContainer/SettingsFormContainer.js +2 -2
  50. package/es/lib/Typedown/Typedown.js +34 -32
  51. package/es/lib/hooks/typedownHooks/useTypedown.js +2 -2
  52. package/es/lib/hooks/typedownHooks/useTypedownToggle.js +2 -2
  53. package/es/lib/hooks/useActionListRef.js +1 -1
  54. package/es/lib/hooks/useActiveElement.js +1 -1
  55. package/es/lib/hooks/useCustomProperties.js +2 -2
  56. package/es/lib/hooks/useHelperApp.js +6 -6
  57. package/es/lib/hooks/useIntlKeyStore.js +4 -7
  58. package/es/lib/hooks/useKintIntl.js +5 -11
  59. package/es/lib/hooks/useKiwtSASQuery.js +1 -1
  60. package/es/lib/hooks/useModConfigEntries.js +2 -2
  61. package/es/lib/hooks/useMutateCustomProperties.js +8 -8
  62. package/es/lib/hooks/useMutateModConfigEntry.js +2 -2
  63. package/es/lib/hooks/useMutateRefdataCategory.js +4 -4
  64. package/es/lib/hooks/useMutateRefdataValue.js +6 -6
  65. package/es/lib/hooks/useQIndex.js +5 -5
  66. package/es/lib/hooks/useRefdata.js +3 -3
  67. package/es/lib/hooks/useTemplates.js +4 -4
  68. package/es/lib/settingsHooks/useAppSettings.js +7 -11
  69. package/es/lib/settingsHooks/useSettingSection.js +2 -2
  70. package/es/lib/settingsHooks/useSettings.js +3 -3
  71. package/es/lib/utils/buildUrl.js +2 -3
  72. package/es/lib/utils/filterParsers/deparseKiwtQueryFilters.js +5 -5
  73. package/es/lib/utils/filterParsers/parseKiwtQueryFilters.js +2 -2
  74. package/es/lib/utils/filterParsers/parseKiwtQueryGroups.js +4 -5
  75. package/es/lib/utils/filterParsers/parseKiwtQueryString.js +1 -1
  76. package/es/lib/utils/generateKiwtQueryParams.js +28 -37
  77. package/es/lib/utils/groupCustomPropertiesByCtx.js +2 -3
  78. package/es/lib/utils/matchString.js +5 -7
  79. package/es/lib/utils/parseErrorResponse.js +2 -3
  80. package/es/lib/utils/selectorSafe.js +2 -3
  81. package/es/lib/utils/sortByLabel.js +2 -3
  82. package/es/lib/validators/validators.js +3 -3
  83. package/package.json +2 -4
  84. package/src/lib/Typedown/Typedown.js +12 -5
  85. package/styles/TypeDown.css +6 -1
@@ -32,12 +32,11 @@ const CustomPropertyField = _ref => {
32
32
  const kintIntl = (0, _hooks.useKintIntl)(passedIntlKey, passedIntlNS);
33
33
  // Set up the validator for the customProperty
34
34
  const customPropertyValidator = (fieldValue, allValues) => {
35
- var _allValues$customProp, _allValues$customProp2;
36
35
  const {
37
36
  note,
38
37
  publicNote,
39
38
  value: currentValue
40
- } = (_allValues$customProp = allValues === null || allValues === void 0 || (_allValues$customProp2 = allValues.customProperties) === null || _allValues$customProp2 === void 0 || (_allValues$customProp2 = _allValues$customProp2[customProperty === null || customProperty === void 0 ? void 0 : customProperty.value]) === null || _allValues$customProp2 === void 0 ? void 0 : _allValues$customProp2[0]) !== null && _allValues$customProp !== void 0 ? _allValues$customProp : {};
39
+ } = allValues?.customProperties?.[customProperty?.value]?.[0] ?? {};
41
40
  if (note && !currentValue || publicNote && !currentValue) {
42
41
  if (customProperty.type === CUSTOM_PROPERTY_TYPES.DECIMAL_CLASS_NAME || customProperty.type === CUSTOM_PROPERTY_TYPES.INTEGER_CLASS_NAME) {
43
42
  return kintIntl.formatKintMessage({
@@ -80,9 +79,7 @@ const CustomPropertyField = _ref => {
80
79
  return availableCustomProperties.find(cp => cp.value === customPropertyValue);
81
80
  };
82
81
  const renderCustomPropertyName = () => {
83
- var _customPropertyValue$;
84
82
  const unsetCustomProperties = availableCustomProperties.filter(t => {
85
- var _custPropValue$;
86
83
  // Only optional properties can be set
87
84
  if (t.primary) return false;
88
85
  const custPropValue = value[t.value];
@@ -91,16 +88,16 @@ const CustomPropertyField = _ref => {
91
88
  if (custPropValue === undefined) return true;
92
89
 
93
90
  // The customProperty is set but is marked for deletion. Allow reuse.
94
- if ((_custPropValue$ = custPropValue[0]) !== null && _custPropValue$ !== void 0 && _custPropValue$._delete) return true;
91
+ if (custPropValue[0]?._delete) return true;
95
92
  return false;
96
93
  });
97
94
  const customPropertyValue = value[customProperty.value];
98
- const id = customPropertyValue === null || customPropertyValue === void 0 || (_customPropertyValue$ = customPropertyValue[0]) === null || _customPropertyValue$ === void 0 ? void 0 : _customPropertyValue$.id;
95
+ const id = customPropertyValue?.[0]?.id;
99
96
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Select, {
100
97
  autoFocus: !id,
101
98
  dataOptions: [customProperty, ...unsetCustomProperties] // The selected customProperty, and the available unset customProperties
102
99
  ,
103
- id: "edit-customproperty-".concat(index, "-name"),
100
+ id: `edit-customproperty-${index}-name`,
104
101
  label: kintIntl.formatKintMessage({
105
102
  id: 'customProperties.name',
106
103
  overrideValue: labelOverrides.name
@@ -132,7 +129,6 @@ const CustomPropertyField = _ref => {
132
129
  });
133
130
  };
134
131
  const renderCustomPropertyValue = () => {
135
- var _customProperty$optio;
136
132
  const currentValue = value[customProperty.value] ? value[customProperty.value][0] : {};
137
133
  const min = Number.MIN_SAFE_INTEGER;
138
134
  const max = Number.MAX_SAFE_INTEGER;
@@ -157,14 +153,14 @@ const CustomPropertyField = _ref => {
157
153
  component: _components.Select,
158
154
  // don't order dataOptions here, notSet should always be first in list
159
155
  dataOptions: customProperty.options,
160
- format: v => v === null || v === void 0 ? void 0 : v.value
156
+ format: v => v?.value
161
157
  };
162
158
  break;
163
159
  case CUSTOM_PROPERTY_TYPES.MULTI_REFDATA_CLASS_NAME:
164
160
  fieldProps = {
165
161
  component: _components.MultiSelection,
166
162
  // The "not set" value is not relevant for a multi select
167
- dataOptions: (0, _orderBy.default)((_customProperty$optio = customProperty.options) === null || _customProperty$optio === void 0 ? void 0 : _customProperty$optio.filter(opt => !!(opt !== null && opt !== void 0 && opt.value)), 'label'),
163
+ dataOptions: (0, _orderBy.default)(customProperty.options?.filter(opt => !!opt?.value), 'label'),
168
164
  renderToOverlay: true
169
165
  };
170
166
  // MultiSelection passes the changed array as a value not an event
@@ -173,7 +169,7 @@ const CustomPropertyField = _ref => {
173
169
  ...value,
174
170
  [customProperty.value]: [{
175
171
  ...currentValue,
176
- _delete: (refdataArray === null || refdataArray === void 0 ? void 0 : refdataArray.length) === 0 ? true : undefined,
172
+ _delete: refdataArray?.length === 0 ? true : undefined,
177
173
  // Delete customProperty if removing all values.
178
174
  value: refdataArray
179
175
  }]
@@ -223,12 +219,12 @@ const CustomPropertyField = _ref => {
223
219
  }
224
220
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFinalForm.Field, {
225
221
  "data-test-customproperty-value": true,
226
- id: "edit-customproperty-".concat(index, "-value"),
222
+ id: `edit-customproperty-${index}-value`,
227
223
  label: kintIntl.formatKintMessage({
228
224
  id: 'customProperties.value',
229
225
  overrideValue: labelOverrides.value
230
226
  }),
231
- name: "".concat(name, ".").concat(customProperty.value, "[0].value"),
227
+ name: `${name}.${customProperty.value}[0].value`,
232
228
  onChange: handleChange,
233
229
  required: !customProperty.primary,
234
230
  validate: (fieldValue, allValues) => customPropertyValidator(fieldValue, allValues),
@@ -236,8 +232,7 @@ const CustomPropertyField = _ref => {
236
232
  });
237
233
  };
238
234
  const renderCustomPropertyVisibility = () => {
239
- var _value$customProperty, _value$customProperty2, _customPropertyObject;
240
- const customPropertyObject = (_value$customProperty = (_value$customProperty2 = value[customProperty.value]) === null || _value$customProperty2 === void 0 ? void 0 : _value$customProperty2[0]) !== null && _value$customProperty !== void 0 ? _value$customProperty : {};
235
+ const customPropertyObject = value[customProperty.value]?.[0] ?? {};
241
236
  const handleChange = e => {
242
237
  onChange({
243
238
  ...value,
@@ -262,18 +257,17 @@ const CustomPropertyField = _ref => {
262
257
  overrideValue: labelOverrides.internalFalse
263
258
  })
264
259
  }],
265
- id: "edit-customproperty-".concat(index, "-visibility"),
260
+ id: `edit-customproperty-${index}-visibility`,
266
261
  label: kintIntl.formatKintMessage({
267
262
  id: 'customProperties.visibility',
268
263
  overrideValue: labelOverrides.visibility
269
264
  }),
270
265
  onChange: handleChange,
271
- value: (_customPropertyObject = customPropertyObject === null || customPropertyObject === void 0 ? void 0 : customPropertyObject.internal) !== null && _customPropertyObject !== void 0 ? _customPropertyObject : customProperty.defaultInternal
266
+ value: customPropertyObject?.internal ?? customProperty.defaultInternal
272
267
  });
273
268
  };
274
269
  const renderCustomPropertyNoteInternal = () => {
275
- var _value$customProperty3, _value$customProperty4;
276
- const customPropertyObject = (_value$customProperty3 = (_value$customProperty4 = value[customProperty.value]) === null || _value$customProperty4 === void 0 ? void 0 : _value$customProperty4[0]) !== null && _value$customProperty3 !== void 0 ? _value$customProperty3 : {};
270
+ const customPropertyObject = value[customProperty.value]?.[0] ?? {};
277
271
  const handleChange = e => {
278
272
  onChange({
279
273
  ...value,
@@ -285,18 +279,17 @@ const CustomPropertyField = _ref => {
285
279
  };
286
280
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextArea, {
287
281
  "data-test-customproperty-note": true,
288
- id: "edit-customproperty-".concat(index, "-internal-note"),
282
+ id: `edit-customproperty-${index}-internal-note`,
289
283
  label: kintIntl.formatKintMessage({
290
284
  id: 'customProperties.internalNote',
291
285
  overrideValue: labelOverrides.internalNote
292
286
  }),
293
287
  onChange: handleChange,
294
- value: customPropertyObject === null || customPropertyObject === void 0 ? void 0 : customPropertyObject.note
288
+ value: customPropertyObject?.note
295
289
  });
296
290
  };
297
291
  const renderCustomPropertyNotePublic = () => {
298
- var _value$customProperty5, _value$customProperty6;
299
- const customPropertyObject = (_value$customProperty5 = (_value$customProperty6 = value[customProperty.value]) === null || _value$customProperty6 === void 0 ? void 0 : _value$customProperty6[0]) !== null && _value$customProperty5 !== void 0 ? _value$customProperty5 : {};
292
+ const customPropertyObject = value[customProperty.value]?.[0] ?? {};
300
293
  const handleChange = e => {
301
294
  onChange({
302
295
  ...value,
@@ -308,13 +301,13 @@ const CustomPropertyField = _ref => {
308
301
  };
309
302
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextArea, {
310
303
  "data-test-customproperty-public-note": true,
311
- id: "edit-customproperty-".concat(index, "-public-note"),
304
+ id: `edit-customproperty-${index}-public-note`,
312
305
  label: kintIntl.formatKintMessage({
313
306
  id: 'customProperties.publicNote',
314
307
  overrideValue: labelOverrides.publicNote
315
308
  }),
316
309
  onChange: handleChange,
317
- value: customPropertyObject === null || customPropertyObject === void 0 ? void 0 : customPropertyObject.publicNote
310
+ value: customPropertyObject?.publicNote
318
311
  });
319
312
  };
320
313
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
@@ -11,11 +11,11 @@ const onSubmit = jest.fn();
11
11
  jest.mock('../../hooks');
12
12
  const onChange = () => {};
13
13
  const setCustomProperties = () => {};
14
- const authIdentCustom = _jest.availableCustomProperties === null || _jest.availableCustomProperties === void 0 ? void 0 : _jest.availableCustomProperties.find(cp => cp.value === 'AuthorIdentification');
15
- const decimalCustProp = _jest.availableCustomProperties === null || _jest.availableCustomProperties === void 0 ? void 0 : _jest.availableCustomProperties.find(cp => cp.value === 'decimal');
16
- const integerCustProp = _jest.availableCustomProperties === null || _jest.availableCustomProperties === void 0 ? void 0 : _jest.availableCustomProperties.find(cp => cp.value === 'integer');
17
- const dateCustProp = _jest.availableCustomProperties === null || _jest.availableCustomProperties === void 0 ? void 0 : _jest.availableCustomProperties.find(cp => cp.value === 'date');
18
- const multiRefdataCustProp = _jest.availableCustomProperties === null || _jest.availableCustomProperties === void 0 ? void 0 : _jest.availableCustomProperties.find(cp => cp.value === 'MultiRefdata');
14
+ const authIdentCustom = _jest.availableCustomProperties?.find(cp => cp.value === 'AuthorIdentification');
15
+ const decimalCustProp = _jest.availableCustomProperties?.find(cp => cp.value === 'decimal');
16
+ const integerCustProp = _jest.availableCustomProperties?.find(cp => cp.value === 'integer');
17
+ const dateCustProp = _jest.availableCustomProperties?.find(cp => cp.value === 'date');
18
+ const multiRefdataCustProp = _jest.availableCustomProperties?.find(cp => cp.value === 'MultiRefdata');
19
19
  const defaultProps = {
20
20
  availableCustomProperties: _jest.availableCustomProperties,
21
21
  customProperties: _jest.customProperties,
@@ -57,7 +57,7 @@ const CustomPropertyFormCard = _ref => {
57
57
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Card, {
58
58
  "data-testid": "custom-property-form-card",
59
59
  headerEnd: customPropertyType === 'optional' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Tooltip, {
60
- id: "customProperty-".concat(customProperty.value, "-").concat(index),
60
+ id: `customProperty-${customProperty.value}-${index}`,
61
61
  text: getTooltipText(),
62
62
  children: _ref2 => {
63
63
  let {
@@ -68,7 +68,7 @@ const CustomPropertyFormCard = _ref => {
68
68
  ref: ref,
69
69
  "aria-labelledby": ariaIds.text,
70
70
  icon: "trash",
71
- id: "edit-customproperty-".concat(index, "-delete"),
71
+ id: `edit-customproperty-${index}-delete`,
72
72
  onClick: () => handleDeleteCustomProperty(customProperty, index)
73
73
  });
74
74
  }
@@ -12,7 +12,7 @@ jest.mock('../../hooks');
12
12
  jest.mock('./CustomPropertyField', () => () => /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
13
13
  children: "CustomPropertyField"
14
14
  }));
15
- const customProperty = _customProperties.availableCustomProperties === null || _customProperties.availableCustomProperties === void 0 ? void 0 : _customProperties.availableCustomProperties.find(cp => cp.value === 'AuthorIdentification');
15
+ const customProperty = _customProperties.availableCustomProperties?.find(cp => cp.value === 'AuthorIdentification');
16
16
  const onChange = jest.fn();
17
17
  const setCustomProperties = jest.fn();
18
18
  describe('CustomPropertyFormCard', () => {
@@ -5,23 +5,22 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.value = exports.initialValues = void 0;
7
7
  var _jest = require("../../../../test/jest");
8
- var _agreementStatusRefda, _agreementStatusRefda2, _licenseAmendmentStat;
9
- const agreementStatusRefdata = _jest.refdata === null || _jest.refdata === void 0 ? void 0 : _jest.refdata.find(rdc => rdc.desc === 'SubscriptionAgreement.AgreementStatus');
10
- const licenseAmendmentStatusRefdata = _jest.refdata === null || _jest.refdata === void 0 ? void 0 : _jest.refdata.find(rdc => rdc.desc === 'LicenseAmendmentStatus.Status');
8
+ const agreementStatusRefdata = _jest.refdata?.find(rdc => rdc.desc === 'SubscriptionAgreement.AgreementStatus');
9
+ const licenseAmendmentStatusRefdata = _jest.refdata?.find(rdc => rdc.desc === 'LicenseAmendmentStatus.Status');
11
10
  const value = exports.value = {
12
11
  AuthorIdentification: [{
13
12
  id: 2,
14
13
  internal: true,
15
14
  publicNote: 'this is a public note',
16
15
  note: 'this is an internal note',
17
- value: agreementStatusRefdata === null || agreementStatusRefdata === void 0 || (_agreementStatusRefda = agreementStatusRefdata.values) === null || _agreementStatusRefda === void 0 ? void 0 : _agreementStatusRefda.find(rdv => rdv.value === 'active'),
18
- type: _jest.customProperties === null || _jest.customProperties === void 0 ? void 0 : _jest.customProperties.find(cp => cp.name === 'AuthorIdentification')
16
+ value: agreementStatusRefdata?.values?.find(rdv => rdv.value === 'active'),
17
+ type: _jest.customProperties?.find(cp => cp.name === 'AuthorIdentification')
19
18
  }],
20
19
  Test: [{
21
20
  id: 4,
22
21
  internal: true,
23
- value: agreementStatusRefdata === null || agreementStatusRefdata === void 0 || (_agreementStatusRefda2 = agreementStatusRefdata.values) === null || _agreementStatusRefda2 === void 0 ? void 0 : _agreementStatusRefda2.find(rdv => rdv.value === 'active'),
24
- type: _jest.customProperties === null || _jest.customProperties === void 0 ? void 0 : _jest.customProperties.find(cp => cp.name === 'Test')
22
+ value: agreementStatusRefdata?.values?.find(rdv => rdv.value === 'active'),
23
+ type: _jest.customProperties?.find(cp => cp.name === 'Test')
25
24
  }],
26
25
  decimal: [{
27
26
  id: 8,
@@ -29,7 +28,7 @@ const value = exports.value = {
29
28
  note: 'decimal',
30
29
  internal: true,
31
30
  value: 1,
32
- type: _jest.customProperties === null || _jest.customProperties === void 0 ? void 0 : _jest.customProperties.find(cp => cp.name === 'decimal')
31
+ type: _jest.customProperties?.find(cp => cp.name === 'decimal')
33
32
  }],
34
33
  integer: [{
35
34
  id: 6,
@@ -37,7 +36,7 @@ const value = exports.value = {
37
36
  note: 'Integer',
38
37
  internal: true,
39
38
  value: 1,
40
- type: _jest.customProperties === null || _jest.customProperties === void 0 ? void 0 : _jest.customProperties.find(cp => cp.name === 'integer')
39
+ type: _jest.customProperties?.find(cp => cp.name === 'integer')
41
40
  }],
42
41
  text: [{
43
42
  id: 7,
@@ -45,15 +44,15 @@ const value = exports.value = {
45
44
  note: 'text',
46
45
  internal: true,
47
46
  value: 'text',
48
- type: _jest.customProperties === null || _jest.customProperties === void 0 ? void 0 : _jest.customProperties.find(cp => cp.name === 'text')
47
+ type: _jest.customProperties?.find(cp => cp.name === 'text')
49
48
  }],
50
49
  Refdata: [{
51
50
  id: 5,
52
51
  publicNote: 'refdata',
53
52
  note: 'refdata',
54
53
  internal: true,
55
- value: licenseAmendmentStatusRefdata === null || licenseAmendmentStatusRefdata === void 0 || (_licenseAmendmentStat = licenseAmendmentStatusRefdata.values) === null || _licenseAmendmentStat === void 0 ? void 0 : _licenseAmendmentStat.find(rdv => rdv.value === 'current'),
56
- type: _jest.customProperties === null || _jest.customProperties === void 0 ? void 0 : _jest.customProperties.find(cp => cp.name === 'Refdata')
54
+ value: licenseAmendmentStatusRefdata?.values?.find(rdv => rdv.value === 'current'),
55
+ type: _jest.customProperties?.find(cp => cp.name === 'Refdata')
57
56
  }]
58
57
  };
59
58
  const initialValues = exports.initialValues = {
@@ -14,7 +14,6 @@ var _customProperties = require("../../constants/customProperties");
14
14
  var _jsxRuntime = require("react/jsx-runtime");
15
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
16
  const CustomPropertiesFilter = _ref => {
17
- var _parsedFilterData$num, _parsedFilterData$num2;
18
17
  let {
19
18
  activeFilters: {
20
19
  customProperties: custPropFilters,
@@ -74,13 +73,9 @@ const CustomPropertiesFilter = _ref => {
74
73
  filters = []
75
74
  } = values;
76
75
  const filterStrings = filters.filter(filter => filter.rules).map(filter => {
77
- var _custprops$filter$, _custprops$filter;
78
- const relevantCustomProperty = (_custprops$filter$ = custprops === null || custprops === void 0 || (_custprops$filter = custprops.filter(cp => cp.name === filter.customProperty)) === null || _custprops$filter === void 0 ? void 0 : _custprops$filter[0]) !== null && _custprops$filter$ !== void 0 ? _custprops$filter$ : {};
79
- const filterByValueId = (relevantCustomProperty === null || relevantCustomProperty === void 0 ? void 0 : relevantCustomProperty.type) === _customProperties.MULTI_REFDATA_CLASS_NAME || (relevantCustomProperty === null || relevantCustomProperty === void 0 ? void 0 : relevantCustomProperty.type) === _customProperties.REFDATA_CLASS_NAME;
80
- return filter.rules.map(rule => {
81
- var _rule$value;
82
- return "customProperties.".concat(filter.customProperty, ".value").concat(filterByValueId ? '.id' : '').concat(rule.operator).concat((_rule$value = rule.value) !== null && _rule$value !== void 0 ? _rule$value : '');
83
- }).join('||');
76
+ const relevantCustomProperty = custprops?.filter(cp => cp.name === filter.customProperty)?.[0] ?? {};
77
+ const filterByValueId = relevantCustomProperty?.type === _customProperties.MULTI_REFDATA_CLASS_NAME || relevantCustomProperty?.type === _customProperties.REFDATA_CLASS_NAME;
78
+ return filter.rules.map(rule => `customProperties.${filter.customProperty}.value${filterByValueId ? '.id' : ''}${rule.operator}${rule.value ?? ''}`).join('||');
84
79
  });
85
80
  filterHandlers.state({
86
81
  ...restOfFilters,
@@ -91,7 +86,7 @@ const CustomPropertiesFilter = _ref => {
91
86
  };
92
87
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.Accordion, {
93
88
  closedByDefault: true,
94
- displayClearButton: ((_parsedFilterData$num = parsedFilterData === null || parsedFilterData === void 0 ? void 0 : parsedFilterData.numberOfFilters) !== null && _parsedFilterData$num !== void 0 ? _parsedFilterData$num : 0) > 0,
89
+ displayClearButton: (parsedFilterData?.numberOfFilters ?? 0) > 0,
95
90
  header: _components.FilterAccordionHeader,
96
91
  id: "clickable-custprop-filter",
97
92
  label: kintIntl.formatKintMessage({
@@ -109,12 +104,12 @@ const CustomPropertiesFilter = _ref => {
109
104
  id: 'customProperty.filtersApplied',
110
105
  overrideValue: labelOverrides.filtersApplied
111
106
  }, {
112
- count: (_parsedFilterData$num2 = parsedFilterData === null || parsedFilterData === void 0 ? void 0 : parsedFilterData.numberOfFilters) !== null && _parsedFilterData$num2 !== void 0 ? _parsedFilterData$num2 : 0
107
+ count: parsedFilterData?.numberOfFilters ?? 0
113
108
  })
114
109
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_CustomPropertiesFilterForm.default, {
115
110
  customProperties: custprops,
116
111
  editingFilters: editingFilters,
117
- filters: parsedFilterData === null || parsedFilterData === void 0 ? void 0 : parsedFilterData.filters,
112
+ filters: parsedFilterData?.filters,
118
113
  handlers: {
119
114
  closeEditModal,
120
115
  openEditModal
@@ -15,7 +15,6 @@ var _hooks = require("../../hooks");
15
15
  var _jsxRuntime = require("react/jsx-runtime");
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
  const CustomPropertiesFilterField = _ref => {
18
- var _customProperties$fin, _customProperties$fin2, _fields$value$index2;
19
18
  let {
20
19
  customProperties = [],
21
20
  fields,
@@ -38,16 +37,15 @@ const CustomPropertiesFilterField = _ref => {
38
37
  const kintIntl = (0, _hooks.useKintIntl)(passedIntlKey, passedIntlNS);
39
38
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
40
39
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFinalForm.Field, {
41
- id: "input-custprop-".concat(index),
40
+ id: `input-custprop-${index}`,
42
41
  label: kintIntl.formatKintMessage({
43
42
  id: 'customProperty',
44
43
  overrideValue: labelOverrides.customProperty
45
44
  }),
46
- name: "".concat(name, ".customProperty"),
45
+ name: `${name}.customProperty`,
47
46
  placeholder: " ",
48
47
  render: fieldProps => {
49
- var _Object$entries;
50
- const sortedGroupedCustProps = (_Object$entries = Object.entries(groupedCustomProperties)) === null || _Object$entries === void 0 ? void 0 : _Object$entries.sort((a, b) => {
48
+ const sortedGroupedCustProps = Object.entries(groupedCustomProperties)?.sort((a, b) => {
51
49
  if (a[0] === 'isNull') return -1; // Make sure noContext is at top
52
50
 
53
51
  if (a[0].toLowerCase() < b[0].toLowerCase()) return -1;
@@ -76,22 +74,19 @@ const CustomPropertiesFilterField = _ref => {
76
74
  }) : v.label
77
75
  }, v.id);
78
76
  })
79
- }, "custom-property-optgroup-".concat(key));
77
+ }, `custom-property-optgroup-${key}`);
80
78
  })]
81
79
  });
82
80
  },
83
81
  required: true,
84
82
  validate: _validators.required
85
83
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
86
- "data-testid": "selected-custprop-name-".concat(index),
87
- id: "selected-custprop-name-".concat(index),
84
+ "data-testid": `selected-custprop-name-${index}`,
85
+ id: `selected-custprop-name-${index}`,
88
86
  style: {
89
87
  display: 'none'
90
88
  },
91
- children: (_customProperties$fin = (_customProperties$fin2 = customProperties.find(t => {
92
- var _fields$value$index;
93
- return t.name === ((_fields$value$index = fields.value[index]) === null || _fields$value$index === void 0 ? void 0 : _fields$value$index.customProperty);
94
- })) === null || _customProperties$fin2 === void 0 ? void 0 : _customProperties$fin2.label) !== null && _customProperties$fin !== void 0 ? _customProperties$fin : ''
89
+ children: customProperties.find(t => t.name === fields.value[index]?.customProperty)?.label ?? ''
95
90
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.Row, {
96
91
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Col, {
97
92
  xs: 2
@@ -119,29 +114,26 @@ const CustomPropertiesFilterField = _ref => {
119
114
  xs: 2
120
115
  })]
121
116
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFinalFormArrays.FieldArray, {
122
- name: "".concat(name, ".rules"),
117
+ name: `${name}.rules`,
123
118
  children: _ref3 => {
124
119
  let {
125
120
  fields: ruleFields
126
121
  } = _ref3;
127
- return ruleFields.map((ruleFieldName, ruleFieldIndex) => {
128
- var _values$filters$index;
129
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_CustomPropertiesRule.default, {
130
- ariaLabelledby: "selected-custprop-name-".concat(index),
131
- clearRuleValue: () => change("filters[".concat(index, "].rules[").concat(ruleFieldIndex, "].value"), ''),
132
- custPropDefinition: customProperties.find(t => t.name === fields.value[index].customProperty),
133
- index: ruleFieldIndex,
134
- labelOverrides: labelOverrides,
135
- name: ruleFieldName,
136
- onDelete: () => ruleFields.remove(ruleFieldIndex),
137
- value: (_values$filters$index = values.filters[index]) === null || _values$filters$index === void 0 ? void 0 : _values$filters$index.rules[ruleFieldIndex]
138
- }, ruleFieldName);
139
- });
122
+ return ruleFields.map((ruleFieldName, ruleFieldIndex) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_CustomPropertiesRule.default, {
123
+ ariaLabelledby: `selected-custprop-name-${index}`,
124
+ clearRuleValue: () => change(`filters[${index}].rules[${ruleFieldIndex}].value`, ''),
125
+ custPropDefinition: customProperties.find(t => t.name === fields.value[index].customProperty),
126
+ index: ruleFieldIndex,
127
+ labelOverrides: labelOverrides,
128
+ name: ruleFieldName,
129
+ onDelete: () => ruleFields.remove(ruleFieldIndex),
130
+ value: values.filters[index]?.rules[ruleFieldIndex]
131
+ }, ruleFieldName));
140
132
  }
141
133
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
142
134
  "data-test-add-rule-btn": true,
143
- disabled: !((_fields$value$index2 = fields.value[index]) !== null && _fields$value$index2 !== void 0 && _fields$value$index2.customProperty),
144
- onClick: () => push("".concat(name, ".rules")),
135
+ disabled: !fields.value[index]?.customProperty,
136
+ onClick: () => push(`${name}.rules`),
145
137
  children: kintIntl.formatKintMessage({
146
138
  id: 'addRule',
147
139
  overrideValue: labelOverrides.addRule
@@ -31,7 +31,7 @@ describe('CustomPropertiesFilterField', () => {
31
31
  fields: fields,
32
32
  index: index,
33
33
  name: name
34
- }, "custom-property-filter-field-".concat(name, "[").concat(index, "]")));
34
+ }, `custom-property-filter-field-${name}[${index}]`));
35
35
  }
36
36
  })
37
37
  })
@@ -36,7 +36,7 @@ const CustomPropertiesFilterFieldArray = _ref => {
36
36
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
37
37
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Card, {
38
38
  headerEnd: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Tooltip, {
39
- id: "custom-property-filter-card-delete-[".concat(index, "]-tooltip"),
39
+ id: `custom-property-filter-card-delete-[${index}]-tooltip`,
40
40
  text: kintIntl.formatKintMessage({
41
41
  id: 'customProperty.removeFilter',
42
42
  overrideValue: labelOverrides.removeFilter
@@ -52,7 +52,7 @@ const CustomPropertiesFilterFieldArray = _ref => {
52
52
  ref: ref,
53
53
  "aria-labelledby": ariaIds.text,
54
54
  icon: "trash",
55
- id: "custom-property-filter-card-delete-[".concat(index, "]"),
55
+ id: `custom-property-filter-card-delete-[${index}]`,
56
56
  onClick: () => fields.remove(index)
57
57
  });
58
58
  }
@@ -72,15 +72,15 @@ const CustomPropertiesFilterFieldArray = _ref => {
72
72
  index: index,
73
73
  labelOverrides: labelOverrides,
74
74
  name: name
75
- }, "custom-property-filter-field-".concat(name, "[").concat(index, "]"))
76
- }, "custom-property-filter-card[".concat(index, "]")), index < fields.value.length - 1 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Layout, {
75
+ }, `custom-property-filter-field-${name}[${index}]`)
76
+ }, `custom-property-filter-card[${index}]`), index < fields.value.length - 1 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Layout, {
77
77
  className: "textCentered",
78
78
  children: kintIntl.formatKintMessage({
79
79
  id: 'AND',
80
80
  overrideValue: labelOverrides.AND
81
81
  })
82
- }, "custom-property-filter[".concat(index, "]-AND"))]
83
- }, "custom-property-filter-card[".concat(index, "]-container"));
82
+ }, `custom-property-filter[${index}]-AND`)]
83
+ }, `custom-property-filter-card[${index}]-container`);
84
84
  });
85
85
  }
86
86
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
@@ -51,7 +51,7 @@ const CustomPropertiesRule = _ref => {
51
51
  const operators = (0, _useOperators.default)(custPropDefinition.type, passedIntlKey, passedIntlNS, labelOverrides);
52
52
  const valueProps = (0, _useValueProps.default)(custPropDefinition, passedIntlKey, passedIntlNS, labelOverrides);
53
53
  const kintIntl = (0, _hooks.useKintIntl)(passedIntlKey, passedIntlNS);
54
- const selectedOperator = operators.find(o => o.value === (value === null || value === void 0 ? void 0 : value.operator));
54
+ const selectedOperator = operators.find(o => o.value === value?.operator);
55
55
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.Row, {
56
56
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Col, {
57
57
  xs: 2,
@@ -65,7 +65,7 @@ const CustomPropertiesRule = _ref => {
65
65
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Col, {
66
66
  xs: 4,
67
67
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFinalForm.Field, {
68
- name: "".concat(name, ".operator"),
68
+ name: `${name}.operator`,
69
69
  validate: _validators.required,
70
70
  children: _ref2 => {
71
71
  let {
@@ -74,13 +74,13 @@ const CustomPropertiesRule = _ref => {
74
74
  } = _ref2;
75
75
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Select, {
76
76
  ...input,
77
- "aria-labelledby": "".concat(ariaLabelledby, "-rule-column-header-comparator"),
77
+ "aria-labelledby": `${ariaLabelledby}-rule-column-header-comparator`,
78
78
  dataOptions: operators,
79
- error: (meta === null || meta === void 0 ? void 0 : meta.touched) && (meta === null || meta === void 0 ? void 0 : meta.error),
79
+ error: meta?.touched && meta?.error,
80
80
  onChange: e => {
81
81
  input.onChange(e);
82
82
  const newlySelectedOperator = operators.find(o => o.value === e.target.value);
83
- if (newlySelectedOperator !== null && newlySelectedOperator !== void 0 && newlySelectedOperator.noValueAllowed) {
83
+ if (newlySelectedOperator?.noValueAllowed) {
84
84
  clearRuleValue();
85
85
  }
86
86
  },
@@ -91,9 +91,9 @@ const CustomPropertiesRule = _ref => {
91
91
  })
92
92
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Col, {
93
93
  xs: 4,
94
- children: selectedOperator !== null && selectedOperator !== void 0 && selectedOperator.noValueAllowed ? null : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFinalForm.Field, {
95
- "aria-labelledby": "".concat(ariaLabelledby, "-rule-column-header-value"),
96
- name: "".concat(name, ".value"),
94
+ children: selectedOperator?.noValueAllowed ? null : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFinalForm.Field, {
95
+ "aria-labelledby": `${ariaLabelledby}-rule-column-header-value`,
96
+ name: `${name}.value`,
97
97
  required: true,
98
98
  validate: _validators.required,
99
99
  ...valueProps
@@ -5,9 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.filterHandlers = exports.data = exports.activeFilters = void 0;
7
7
  var _jest = require("../../../../test/jest");
8
- var _refdata$find;
9
8
  const activeFilters = exports.activeFilters = {
10
- 'customProperties': ["customProperties.AuthorIdentification.value==".concat(_jest.refdata === null || _jest.refdata === void 0 || (_refdata$find = _jest.refdata.find(rdc => rdc.desc === 'AuthIdent')) === null || _refdata$find === void 0 || (_refdata$find = _refdata$find.values) === null || _refdata$find === void 0 || (_refdata$find = _refdata$find.find(rdv => rdv.value === 'email_domain')) === null || _refdata$find === void 0 ? void 0 : _refdata$find.id)]
9
+ 'customProperties': [`customProperties.AuthorIdentification.value==${_jest.refdata?.find(rdc => rdc.desc === 'AuthIdent')?.values?.find(rdv => rdv.value === 'email_domain')?.id}`]
11
10
  };
12
11
  const filterHandlers = exports.filterHandlers = {
13
12
  'state': () => ({}),
@@ -13,14 +13,13 @@ const useParseActiveFilterStrings = function (filterStrings, passedIntlKey, pass
13
13
  const filters = filterStrings.map(filter => {
14
14
  let customProperty;
15
15
  const rules = filter.split('||').map(ruleString => {
16
- var _operators$find;
17
16
  // ruleString is constructed in this.handleSubmit passed to CustomPropertyFiltersForm
18
17
  // and has shape "customProperties.foo.value!=42"
19
18
  // OR customProperties.foo.value.id==1234, so make sure to disregard the .id
20
19
  const [customPropertyPath, rule] = ruleString.split('.value');
21
20
  const idSafeRule = rule.replace('.id', '');
22
21
  customProperty = customPropertyPath.replace('customProperties.', '');
23
- const operator = (_operators$find = operators.find(o => idSafeRule.startsWith(o))) !== null && _operators$find !== void 0 ? _operators$find : '';
22
+ const operator = operators.find(o => idSafeRule.startsWith(o)) ?? '';
24
23
  const value = idSafeRule.substring(operator.length);
25
24
  numberOfFilters += 1;
26
25
  return {
@@ -26,7 +26,7 @@ const CustomPropertiesView = _ref => {
26
26
  intlKey: passedIntlKey,
27
27
  intlNS: passedIntlNS,
28
28
  labelOverrides
29
- }, "customPropertiesView-".concat(ctx)));
29
+ }, `customPropertiesView-${ctx}`));
30
30
  };
31
31
  CustomPropertiesView.propTypes = {
32
32
  contexts: _propTypes.default.arrayOf(_propTypes.default.string),