@k-int/stripes-kint-components 2.5.1 → 2.6.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 +13 -1
- package/es/artifacts/coverage-jest/lcov-report/block-navigation.js +1 -28
- package/es/artifacts/coverage-jest/lcov-report/prettify.js +0 -4
- package/es/artifacts/coverage-jest/lcov-report/sorter.js +1 -28
- package/es/index.js +7 -5
- package/es/lib/ActionList/ActionList.js +1 -31
- package/es/lib/ActionList/ActionListFieldArray.js +6 -40
- package/es/lib/ActionList/index.js +1 -5
- package/es/lib/CustomProperties/Config/CustomPropertiesLookup.js +55 -46
- package/es/lib/CustomProperties/Config/CustomPropertiesLookup.test.js +53 -0
- package/es/lib/CustomProperties/Config/CustomPropertiesSettings.js +102 -62
- package/es/lib/CustomProperties/Config/CustomPropertiesSettings.test.js +125 -0
- package/es/lib/CustomProperties/Config/CustomPropertyForm.js +131 -138
- package/es/lib/CustomProperties/Config/CustomPropertyForm.test.js +200 -0
- package/es/lib/CustomProperties/Config/CustomPropertyView.js +22 -37
- package/es/lib/CustomProperties/Config/CustomPropertyView.test.js +194 -0
- package/es/lib/CustomProperties/Config/index.js +1 -5
- package/es/lib/CustomProperties/Config/testResources.js +198 -0
- package/es/lib/CustomProperties/Edit/CustomPropertiesEdit.js +1 -30
- package/es/lib/CustomProperties/Edit/CustomPropertiesEdit.test.js +48 -0
- package/es/lib/CustomProperties/Edit/CustomPropertiesEditCtx.js +1 -34
- package/es/lib/CustomProperties/Edit/CustomPropertiesEditCtx.test.js +48 -0
- package/es/lib/CustomProperties/Edit/CustomPropertiesListField.js +1 -37
- package/es/lib/CustomProperties/Edit/CustomPropertiesListField.test.js +113 -0
- package/es/lib/CustomProperties/Edit/CustomPropertyField.js +63 -64
- package/es/lib/CustomProperties/Edit/CustomPropertyField.test.js +283 -0
- package/es/lib/CustomProperties/Edit/CustomPropertyFormCard.js +2 -30
- package/es/lib/CustomProperties/Edit/CustomPropertyFormCard.test.js +65 -0
- package/es/lib/CustomProperties/Edit/index.js +1 -5
- package/es/lib/CustomProperties/Edit/testResources.js +923 -0
- package/es/lib/CustomProperties/Filter/CustomPropertiesFilter.js +10 -35
- package/es/lib/CustomProperties/Filter/CustomPropertiesFilter.test.js +102 -0
- package/es/lib/CustomProperties/Filter/CustomPropertiesFilterField.js +1 -34
- package/es/lib/CustomProperties/Filter/CustomPropertiesFilterField.test.js +41 -0
- package/es/lib/CustomProperties/Filter/CustomPropertiesFilterFieldArray.js +1 -34
- package/es/lib/CustomProperties/Filter/CustomPropertiesFilterFieldArray.test.js +91 -0
- package/es/lib/CustomProperties/Filter/CustomPropertiesFilterForm.js +1 -30
- package/es/lib/CustomProperties/Filter/CustomPropertiesFilterForm.test.js +86 -0
- package/es/lib/CustomProperties/Filter/CustomPropertiesRule.js +1 -35
- package/es/lib/CustomProperties/Filter/CustomPropertiesRule.test.js +321 -0
- package/es/lib/CustomProperties/Filter/index.js +1 -5
- package/es/lib/CustomProperties/Filter/testResources.js +262 -0
- package/es/lib/CustomProperties/Filter/useOperators.js +9 -39
- package/es/lib/CustomProperties/Filter/useParseActiveFilterStrings.js +5 -36
- package/es/lib/CustomProperties/Filter/useValueProps.js +13 -35
- package/es/lib/CustomProperties/View/CustomPropertiesView.js +1 -30
- package/es/lib/CustomProperties/View/CustomPropertiesView.test.js +48 -0
- package/es/lib/CustomProperties/View/CustomPropertiesViewCtx.js +1 -34
- package/es/lib/CustomProperties/View/CustomPropertiesViewCtx.test.js +55 -0
- package/es/lib/CustomProperties/View/CustomPropertyCard.js +13 -32
- package/es/lib/CustomProperties/View/index.js +1 -5
- package/es/lib/CustomProperties/View/testResources.js +144 -0
- package/es/lib/CustomProperties/index.js +1 -5
- package/es/lib/EditableRefdataList/EditableRefdataList.js +163 -64
- package/es/lib/EditableRefdataList/index.js +1 -5
- package/es/lib/EditableSettingsList/EditableSettingsList.js +1 -30
- package/es/lib/EditableSettingsList/EditableSettingsListFieldArray.js +1 -30
- package/es/lib/EditableSettingsList/EditableSettingsListFieldArray.test.js +10 -35
- package/es/lib/EditableSettingsList/SettingField/EditSettingValue.js +1 -34
- package/es/lib/EditableSettingsList/SettingField/EditSettingValue.test.js +1 -34
- package/es/lib/EditableSettingsList/SettingField/RenderSettingValue.js +1 -34
- package/es/lib/EditableSettingsList/SettingField/RenderSettingValue.test.js +28 -64
- package/es/lib/EditableSettingsList/SettingField/SettingField.js +1 -34
- package/es/lib/EditableSettingsList/SettingField/SettingField.test.js +8 -33
- package/es/lib/EditableSettingsList/SettingField/index.js +1 -5
- package/es/lib/EditableSettingsList/index.js +1 -5
- package/es/lib/FormModal/FormModal.js +2 -31
- package/es/lib/FormModal/index.js +1 -5
- package/es/lib/NoResultsMessage/NoResultsMessage.js +1 -30
- package/es/lib/NoResultsMessage/index.js +1 -5
- package/es/lib/QueryTypedown/QueryTypedown.js +1 -34
- package/es/lib/QueryTypedown/index.js +1 -5
- package/es/lib/RefdataButtons/RefdataButtons.js +1 -34
- package/es/lib/RefdataButtons/index.js +1 -5
- package/es/lib/SASQLookupComponent/SASQLookupComponent.js +2 -34
- package/es/lib/SASQLookupComponent/TableBody/TableBody.js +1 -34
- package/es/lib/SASQLookupComponent/TableBody/index.js +1 -5
- package/es/lib/SASQLookupComponent/index.js +1 -5
- package/es/lib/SASQRoute/SASQRoute.js +1 -30
- package/es/lib/SASQRoute/index.js +1 -5
- package/es/lib/SASQViewComponent/SASQViewComponent.js +1 -34
- package/es/lib/SASQViewComponent/index.js +1 -5
- package/es/lib/SearchField/SearchField.js +1 -31
- package/es/lib/SearchField/index.js +1 -5
- package/es/lib/SettingPage/SettingPage.js +1 -34
- package/es/lib/SettingPage/SettingPagePane.js +1 -32
- package/es/lib/SettingPage/index.js +1 -5
- package/es/lib/Typedown/Typedown.js +1 -34
- package/es/lib/Typedown/index.js +1 -5
- package/es/lib/constants/customProperties.js +4 -39
- package/es/lib/constants/eventCodes.js +1 -31
- package/es/lib/contexts/SettingsContext.js +1 -30
- package/es/lib/contexts/index.js +1 -5
- package/es/lib/hooks/index.js +7 -5
- package/es/lib/hooks/settingsHooks/index.js +8 -4
- package/es/lib/hooks/settingsHooks/useAppSettings.js +84 -0
- package/es/lib/hooks/settingsHooks/useSettingSection.js +1 -34
- package/es/lib/hooks/settingsHooks/useSettings.js +1 -36
- package/es/lib/hooks/typedownHooks/index.js +1 -5
- package/es/lib/hooks/typedownHooks/useTypedown.js +1 -34
- package/es/lib/hooks/typedownHooks/useTypedownData.js +1 -34
- package/es/lib/hooks/typedownHooks/useTypedownToggle.js +1 -34
- package/es/lib/hooks/useActiveElement.js +1 -32
- package/es/lib/hooks/useAvailableCustomProperties.js +1 -34
- package/es/lib/hooks/useCustomProperties.js +4 -34
- package/es/lib/hooks/useHelperApp.js +1 -34
- package/es/lib/hooks/useInvalidateRefdata.js +1 -34
- package/es/lib/hooks/useKiwtFieldArray.js +1 -34
- package/es/lib/hooks/useKiwtSASQuery.js +1 -35
- package/es/lib/hooks/useLocalStorageState.js +1 -34
- package/es/lib/hooks/useMutateCustomProperties.js +14 -42
- package/es/lib/hooks/useMutateRefdataValue.js +11 -39
- package/es/lib/hooks/useQIndex.js +1 -34
- package/es/lib/hooks/useRefdata.js +1 -34
- package/es/lib/hooks/useTemplates.js +1 -34
- package/es/lib/utils/buildUrl.js +2 -31
- package/es/lib/utils/generateKiwtQuery.js +1 -30
- package/es/lib/utils/generateKiwtQueryParams.js +1 -30
- package/es/lib/utils/groupCustomPropertiesByCtx.js +1 -30
- package/es/lib/utils/highlightString.js +1 -29
- package/es/lib/utils/index.js +1 -5
- package/es/lib/utils/matchString.js +1 -30
- package/es/lib/utils/refdataOptions.js +1 -30
- package/es/lib/utils/refdataQueryKey.js +1 -30
- package/es/lib/utils/renderHelpText.js +1 -30
- package/es/lib/utils/selectorSafe.js +1 -30
- package/es/lib/utils/sortByLabel.js +1 -30
- package/es/lib/utils/toCamelCase.js +1 -30
- package/es/lib/utils/typedownQueryKey.js +1 -30
- package/es/lib/utils/validators.js +1 -32
- package/junit.xml +731 -38
- package/package.json +4 -4
- package/src/artifacts/coverage-jest/lcov-report/ActionList/ActionList.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/ActionList/ActionListFieldArray.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/ActionList/index.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/ActionList/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertiesLookup.js.html +142 -28
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertiesSettings.js.html +93 -27
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertyForm.js.html +308 -188
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertyView.js.html +92 -32
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/index.html +65 -50
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/testResources.js.html +793 -0
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertiesEdit.js.html +17 -17
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertiesEditCtx.js.html +15 -15
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertiesListField.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertyField.js.html +161 -77
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertyFormCard.js.html +29 -26
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/index.html +61 -46
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/testResources.js.html +892 -0
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilter.js.html +19 -19
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilterField.js.html +42 -42
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilterFieldArray.js.html +23 -23
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilterForm.js.html +19 -19
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesRule.js.html +41 -41
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/index.html +102 -87
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/testResources.js.html +976 -0
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/useOperators.js.html +58 -37
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/useParseActiveFilterStrings.js.html +7 -7
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/useValueProps.js.html +47 -29
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/CustomPropertiesView.js.html +17 -17
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/CustomPropertiesViewCtx.js.html +38 -38
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/CustomPropertyCard.js.html +30 -6
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/index.html +48 -33
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/testResources.js.html +571 -0
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/index.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/EditableRefdataList.js.html +134 -17
- package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/index.html +7 -7
- package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/EditableSettingsList.js.html +27 -12
- package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/EditableSettingsListFieldArray.js.html +3 -3
- package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/EditSettingValue.js.html +3 -3
- package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/RenderSettingValue.js.html +2 -2
- package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/SettingField.js.html +3 -3
- package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/index.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/index.html +13 -13
- package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/FormModal/FormModal.js.html +32 -32
- package/src/artifacts/coverage-jest/lcov-report/FormModal/index.html +21 -21
- package/src/artifacts/coverage-jest/lcov-report/FormModal/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/NoResultsMessage.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/index.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/QueryTypedown.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/index.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/RefdataButtons.js.html +3 -3
- package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/index.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/SASQLookupComponent.js.html +6 -3
- package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/TableBody/TableBody.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/TableBody/index.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/TableBody/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/index.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/SASQRoute/SASQRoute.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/SASQRoute/index.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/SASQRoute/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/SASQViewComponent.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/index.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/SearchField/SearchField.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/SearchField/index.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/SearchField/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/SettingPage/SettingPage.js.html +9 -9
- package/src/artifacts/coverage-jest/lcov-report/SettingPage/SettingPagePane.js.html +10 -10
- package/src/artifacts/coverage-jest/lcov-report/SettingPage/index.html +18 -18
- package/src/artifacts/coverage-jest/lcov-report/SettingPage/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/Typedown/Typedown.js.html +3 -3
- package/src/artifacts/coverage-jest/lcov-report/Typedown/index.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/Typedown/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/constants/customProperties.js.html +32 -26
- package/src/artifacts/coverage-jest/lcov-report/constants/eventCodes.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/constants/index.html +13 -13
- package/src/artifacts/coverage-jest/lcov-report/contexts/SettingsContext.js.html +2 -2
- package/src/artifacts/coverage-jest/lcov-report/contexts/index.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/contexts/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/hooks/index.html +92 -92
- package/src/artifacts/coverage-jest/lcov-report/hooks/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/index.html +17 -17
- package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useAppSettings.js.html +292 -0
- package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useSettingSection.js.html +7 -7
- package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useSettings.js.html +8 -8
- package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/index.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedown.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedownData.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedownToggle.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/hooks/useActiveElement.js.html +7 -7
- package/src/artifacts/coverage-jest/lcov-report/hooks/useAvailableCustomProperties.js.html +7 -7
- package/src/artifacts/coverage-jest/lcov-report/hooks/useCustomProperties.js.html +32 -17
- package/src/artifacts/coverage-jest/lcov-report/hooks/useHelperApp.js.html +7 -7
- package/src/artifacts/coverage-jest/lcov-report/hooks/useInvalidateRefdata.js.html +7 -7
- package/src/artifacts/coverage-jest/lcov-report/hooks/useKiwtFieldArray.js.html +7 -7
- package/src/artifacts/coverage-jest/lcov-report/hooks/useKiwtSASQuery.js.html +29 -11
- package/src/artifacts/coverage-jest/lcov-report/hooks/useLocalStorageState.js.html +7 -7
- package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateCustomProperties.js.html +7 -7
- package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateRefdataValue.js.html +7 -7
- package/src/artifacts/coverage-jest/lcov-report/hooks/useQIndex.js.html +7 -7
- package/src/artifacts/coverage-jest/lcov-report/hooks/useRefdata.js.html +9 -9
- package/src/artifacts/coverage-jest/lcov-report/hooks/useTemplates.js.html +7 -7
- package/src/artifacts/coverage-jest/lcov-report/index.html +109 -109
- package/src/artifacts/coverage-jest/lcov-report/utils/buildUrl.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/utils/generateKiwtQuery.js.html +2 -2
- package/src/artifacts/coverage-jest/lcov-report/utils/generateKiwtQueryParams.js.html +2 -2
- package/src/artifacts/coverage-jest/lcov-report/utils/groupCustomPropertiesByCtx.js.html +22 -22
- package/src/artifacts/coverage-jest/lcov-report/utils/highlightString.js.html +3 -3
- package/src/artifacts/coverage-jest/lcov-report/utils/index.html +31 -31
- package/src/artifacts/coverage-jest/lcov-report/utils/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/utils/matchString.js.html +3 -3
- package/src/artifacts/coverage-jest/lcov-report/utils/refdataOptions.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/utils/refdataQueryKey.js.html +2 -2
- package/src/artifacts/coverage-jest/lcov-report/utils/renderHelpText.js.html +2 -2
- package/src/artifacts/coverage-jest/lcov-report/utils/selectorSafe.js.html +2 -2
- package/src/artifacts/coverage-jest/lcov-report/utils/sortByLabel.js.html +2 -2
- package/src/artifacts/coverage-jest/lcov-report/utils/toCamelCase.js.html +2 -2
- package/src/artifacts/coverage-jest/lcov-report/utils/typedownQueryKey.js.html +2 -2
- package/src/artifacts/coverage-jest/lcov-report/utils/validators.js.html +46 -46
- package/src/artifacts/coverage-jest/lcov.info +1124 -916
- package/src/index.js +2 -1
- package/src/lib/ActionList/ActionListFieldArray.js +3 -2
- package/src/lib/ActionList/README.md +12 -1
- package/src/lib/CustomProperties/Config/CustomPropertiesLookup.js +46 -8
- package/src/lib/CustomProperties/Config/CustomPropertiesLookup.test.js +35 -0
- package/src/lib/CustomProperties/Config/CustomPropertiesSettings.js +63 -20
- package/src/lib/CustomProperties/Config/CustomPropertiesSettings.test.js +51 -0
- package/src/lib/CustomProperties/Config/CustomPropertyForm.js +172 -132
- package/src/lib/CustomProperties/Config/CustomPropertyForm.test.js +126 -0
- package/src/lib/CustomProperties/Config/CustomPropertyView.js +29 -9
- package/src/lib/CustomProperties/Config/CustomPropertyView.test.js +55 -0
- package/src/lib/CustomProperties/Config/testResources.js +236 -0
- package/src/lib/CustomProperties/Edit/CustomPropertiesEdit.test.js +29 -0
- package/src/lib/CustomProperties/Edit/CustomPropertiesEditCtx.test.js +29 -0
- package/src/lib/CustomProperties/Edit/CustomPropertiesListField.test.js +51 -0
- package/src/lib/CustomProperties/Edit/CustomPropertyField.js +56 -24
- package/src/lib/CustomProperties/Edit/CustomPropertyField.test.js +185 -0
- package/src/lib/CustomProperties/Edit/CustomPropertyFormCard.js +1 -0
- package/src/lib/CustomProperties/Edit/CustomPropertyFormCard.test.js +57 -0
- package/src/lib/CustomProperties/Edit/testResources.js +1063 -0
- package/src/lib/CustomProperties/Filter/CustomPropertiesFilter.js +15 -3
- package/src/lib/CustomProperties/Filter/CustomPropertiesFilter.test.js +43 -0
- package/src/lib/CustomProperties/Filter/CustomPropertiesFilterField.test.js +32 -0
- package/src/lib/CustomProperties/Filter/CustomPropertiesFilterFieldArray.test.js +44 -0
- package/src/lib/CustomProperties/Filter/CustomPropertiesFilterForm.test.js +40 -0
- package/src/lib/CustomProperties/Filter/CustomPropertiesRule.test.js +111 -0
- package/src/lib/CustomProperties/Filter/testResources.js +297 -0
- package/src/lib/CustomProperties/Filter/useOperators.js +7 -0
- package/src/lib/CustomProperties/Filter/useParseActiveFilterStrings.js +5 -2
- package/src/lib/CustomProperties/Filter/useValueProps.js +6 -0
- package/src/lib/CustomProperties/View/CustomPropertiesView.test.js +32 -0
- package/src/lib/CustomProperties/View/CustomPropertiesViewCtx.test.js +32 -0
- package/src/lib/CustomProperties/View/CustomPropertyCard.js +8 -0
- package/src/lib/CustomProperties/View/testResources.js +162 -0
- package/src/lib/EditableRefdataList/EditableRefdataList.js +97 -17
- package/src/lib/EditableRefdataList/README.md +3 -0
- package/src/lib/FormModal/FormModal.js +1 -1
- package/src/lib/SASQLookupComponent/SASQLookupComponent.js +1 -0
- package/src/lib/constants/customProperties.js +2 -0
- package/src/lib/hooks/README.md +28 -3
- package/src/lib/hooks/index.js +1 -1
- package/src/lib/hooks/settingsHooks/index.js +1 -0
- package/src/lib/hooks/settingsHooks/useAppSettings.js +69 -0
- package/src/lib/hooks/useCustomProperties.js +5 -0
- package/src/lib/hooks/useMutateCustomProperties.js +7 -3
- package/src/lib/hooks/useMutateRefdataValue.js +5 -2
- package/styles/ActionListFieldArray.css +2 -1
- package/styles/CustomProperties.css +17 -0
- package/translations/stripes-kint-components/ar.json +11 -2
- package/translations/stripes-kint-components/cs_CZ.json +10 -1
- package/translations/stripes-kint-components/de.json +11 -2
- package/translations/stripes-kint-components/en.json +12 -3
- package/translations/stripes-kint-components/es.json +11 -2
- package/translations/stripes-kint-components/fr.json +1 -105
- package/translations/stripes-kint-components/hi_IN.json +1 -105
- package/translations/stripes-kint-components/hu.json +11 -2
- package/translations/stripes-kint-components/it_IT.json +11 -2
- package/translations/stripes-kint-components/ja.json +10 -1
- package/translations/stripes-kint-components/ko.json +11 -2
- package/translations/stripes-kint-components/pl.json +11 -2
- package/translations/stripes-kint-components/pt_PT.json +11 -2
- package/translations/stripes-kint-components/ru.json +11 -2
- package/translations/stripes-kint-components/sv.json +11 -2
- package/translations/stripes-kint-components/zh_CN.json +10 -1
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import '@folio/stripes-erm-components/test/jest/__mock__';
|
|
3
|
+
import { waitFor } from '@testing-library/react';
|
|
4
|
+
import { MemoryRouter } from 'react-router-dom';
|
|
5
|
+
import { renderWithKintHarness } from '../../../../test/jest/helpers';
|
|
6
|
+
|
|
7
|
+
import { contexts, customProperties, labelOverrides } from './testResources';
|
|
8
|
+
import CustomPropertiesView from './CustomPropertiesView';
|
|
9
|
+
|
|
10
|
+
jest.mock('./CustomPropertiesViewCtx', () => () => <div>CustomPropertiesViewCtx</div>);
|
|
11
|
+
|
|
12
|
+
describe('CustomPropertiesView', () => {
|
|
13
|
+
let renderComponent;
|
|
14
|
+
beforeEach(() => {
|
|
15
|
+
renderComponent = renderWithKintHarness(
|
|
16
|
+
<MemoryRouter>
|
|
17
|
+
<CustomPropertiesView
|
|
18
|
+
contexts={contexts}
|
|
19
|
+
customProperties={customProperties}
|
|
20
|
+
customPropertiesEndpoint="erm/custprops"
|
|
21
|
+
id="supplementaryProperties"
|
|
22
|
+
labelOverrides={labelOverrides}
|
|
23
|
+
/>
|
|
24
|
+
</MemoryRouter>
|
|
25
|
+
);
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
it('renders CustomPropertiesViewCtx component ', () => {
|
|
29
|
+
const { getByText } = renderComponent;
|
|
30
|
+
waitFor(() => expect(getByText('CustomPropertiesViewCtx')).toBeInTheDocument());
|
|
31
|
+
});
|
|
32
|
+
});
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import '@folio/stripes-erm-components/test/jest/__mock__';
|
|
3
|
+
import { MemoryRouter } from 'react-router-dom';
|
|
4
|
+
import { waitFor } from '@testing-library/react';
|
|
5
|
+
import { renderWithKintHarness } from '../../../../test/jest/helpers';
|
|
6
|
+
|
|
7
|
+
import { data } from './testResources';
|
|
8
|
+
import CustomPropertiesViewCtx from './CustomPropertiesViewCtx';
|
|
9
|
+
|
|
10
|
+
jest.mock('../../hooks', () => ({
|
|
11
|
+
useCustomProperties: () => [],
|
|
12
|
+
}));
|
|
13
|
+
|
|
14
|
+
jest.mock('./CustomPropertyCard', () => () => <div>CustomPropertyCard</div>);
|
|
15
|
+
|
|
16
|
+
describe('CustomPropertiesViewCtx', () => {
|
|
17
|
+
let renderComponent;
|
|
18
|
+
beforeEach(() => {
|
|
19
|
+
renderComponent = renderWithKintHarness(
|
|
20
|
+
<MemoryRouter>
|
|
21
|
+
<CustomPropertiesViewCtx
|
|
22
|
+
{...data}
|
|
23
|
+
/>
|
|
24
|
+
</MemoryRouter>
|
|
25
|
+
);
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
it('renders CustomPropertyCard component ', () => {
|
|
29
|
+
const { getByText } = renderComponent;
|
|
30
|
+
waitFor(() => expect(getByText('CustomPropertyCard')).toBeInTheDocument());
|
|
31
|
+
});
|
|
32
|
+
});
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
FormattedUTCDate,
|
|
8
8
|
InfoPopover,
|
|
9
9
|
KeyValue,
|
|
10
|
+
List,
|
|
10
11
|
NoValue,
|
|
11
12
|
Row,
|
|
12
13
|
} from '@folio/stripes/components';
|
|
@@ -69,6 +70,13 @@ const CustomPropertyCard = ({
|
|
|
69
70
|
}
|
|
70
71
|
|
|
71
72
|
switch (customPropertyDefinition.type) {
|
|
73
|
+
case CUSTPROP_TYPES.MULTI_REFDATA_CLASS_NAME:
|
|
74
|
+
return (
|
|
75
|
+
<List
|
|
76
|
+
items={customProperty.value?.map((item) => item?.label ?? item?.value)}
|
|
77
|
+
listStyle="bullets"
|
|
78
|
+
/>
|
|
79
|
+
);
|
|
72
80
|
case CUSTPROP_TYPES.REFDATA_CLASS_NAME:
|
|
73
81
|
return customProperty.value?.label ?? customProperty.value?.value;
|
|
74
82
|
case CUSTPROP_TYPES.DECIMAL_CLASS_NAME:
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
const contexts = [
|
|
2
|
+
'isNull',
|
|
3
|
+
'OpenAccess'
|
|
4
|
+
];
|
|
5
|
+
|
|
6
|
+
const customProperties = {
|
|
7
|
+
'AuthorIdentification': [{
|
|
8
|
+
'id': 2,
|
|
9
|
+
'publicNote': 'public note',
|
|
10
|
+
'note': 'internal note',
|
|
11
|
+
'internal': true,
|
|
12
|
+
'value': {
|
|
13
|
+
'id': '2c91809c813e654501813e6c3bc50061',
|
|
14
|
+
'value': 'orcid',
|
|
15
|
+
'label': 'ORCID'
|
|
16
|
+
},
|
|
17
|
+
'type': {
|
|
18
|
+
'id': '2c91809c813e654501813e6c3c6a0066',
|
|
19
|
+
'retired': false,
|
|
20
|
+
'ctx': 'OpenAccess',
|
|
21
|
+
'name': 'AuthorIdentification',
|
|
22
|
+
'primary': true,
|
|
23
|
+
'category': {
|
|
24
|
+
'id': '2c91809c813e654501813e6c3bbb005e',
|
|
25
|
+
'desc': 'AuthIdent',
|
|
26
|
+
'internal': false,
|
|
27
|
+
'values': [{
|
|
28
|
+
'id': '2c91809c813e654501813e6c3bc50061',
|
|
29
|
+
'value': 'orcid',
|
|
30
|
+
'label': 'ORCID'
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
'id': '2c91809c813e654501813e6c3bcf0064',
|
|
34
|
+
'value': 'ringgold_id',
|
|
35
|
+
'label': 'Ringgold ID'
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
'id': '2c91809c813e654501813e6c3bcc0063',
|
|
39
|
+
'value': 'over_ip_range',
|
|
40
|
+
'label': 'Over IP Range'
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
'id': '2c91809c813e654501813e6c3bd20065',
|
|
44
|
+
'value': 'ror_id',
|
|
45
|
+
'label': 'ROR ID'
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
'id': '2c91809c813e654501813e6c3bbd005f',
|
|
49
|
+
'value': 'other',
|
|
50
|
+
'label': 'Other'
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
'id': '2c91809c813e654501813e6c3bc90062',
|
|
54
|
+
'value': 'over_institute',
|
|
55
|
+
'label': 'Over Institute'
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
'id': '2c91809c813e654501813e6c3bc20060',
|
|
59
|
+
'value': 'email_domain',
|
|
60
|
+
'label': 'Email Domain'
|
|
61
|
+
}
|
|
62
|
+
]
|
|
63
|
+
},
|
|
64
|
+
'defaultInternal': true,
|
|
65
|
+
'label': 'Author Identification',
|
|
66
|
+
'description': 'Author Identification',
|
|
67
|
+
'weight': 0,
|
|
68
|
+
'type': 'com.k_int.web.toolkit.custprops.types.CustomPropertyRefdata'
|
|
69
|
+
}
|
|
70
|
+
}]
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
const labelOverrides = {
|
|
75
|
+
'defaultTitle': 'ƒ defaultTitle() {}',
|
|
76
|
+
'noContext': '<Memo />',
|
|
77
|
+
'OpenAccess': '<Memo />',
|
|
78
|
+
'retiredName': 'ƒ retiredName() {}'
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
const data = {
|
|
82
|
+
'ctx': 'isNull',
|
|
83
|
+
'customProperties': {
|
|
84
|
+
'AuthorIdentification': [{
|
|
85
|
+
'id': 2,
|
|
86
|
+
'internal': true,
|
|
87
|
+
'value': {
|
|
88
|
+
'id': '2c91809c815d4e6d01815d55adfd0060',
|
|
89
|
+
'value': 'email_domain',
|
|
90
|
+
'label': 'Email Domain'
|
|
91
|
+
},
|
|
92
|
+
'type': {
|
|
93
|
+
'id': '2c91809c815d4e6d01815d55af070066',
|
|
94
|
+
'retired': false,
|
|
95
|
+
'ctx': 'OpenAccess',
|
|
96
|
+
'name': 'AuthorIdentification',
|
|
97
|
+
'primary': true,
|
|
98
|
+
'category': {
|
|
99
|
+
'id': '2c91809c815d4e6d01815d55adf7005e',
|
|
100
|
+
'desc': 'AuthIdent',
|
|
101
|
+
'internal': false,
|
|
102
|
+
'values': [{
|
|
103
|
+
'id': '2c91809c815d4e6d01815d55adf9005f',
|
|
104
|
+
'value': 'other',
|
|
105
|
+
'label': 'Other'
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
'id': '2c91809c815d4e6d01815d55ae080063',
|
|
109
|
+
'value': 'over_ip_range',
|
|
110
|
+
'label': 'Over IP Range'
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
'id': '2c91809c815d4e6d01815d55ae050062',
|
|
114
|
+
'value': 'over_institute',
|
|
115
|
+
'label': 'Over Institute'
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
'id': '2c91809c815d4e6d01815d55ae010061',
|
|
119
|
+
'value': 'orcid',
|
|
120
|
+
'label': 'ORCID'
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
'id': '2c91809c815d4e6d01815d55ae0c0064',
|
|
124
|
+
'value': 'ringgold_id',
|
|
125
|
+
'label': 'Ringgold ID'
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
'id': '2c91809c815d4e6d01815d55ae0f0065',
|
|
129
|
+
'value': 'ror_id',
|
|
130
|
+
'label': 'ROR ID'
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
'id': '2c91809c815d4e6d01815d55adfd0060',
|
|
134
|
+
'value': 'email_domain',
|
|
135
|
+
'label': 'Email Domain'
|
|
136
|
+
}
|
|
137
|
+
]
|
|
138
|
+
},
|
|
139
|
+
'defaultInternal': true,
|
|
140
|
+
'label': 'Author Identification',
|
|
141
|
+
'description': 'Author Identification',
|
|
142
|
+
'weight': 0,
|
|
143
|
+
'type': 'com.k_int.web.toolkit.custprops.types.CustomPropertyRefdata'
|
|
144
|
+
}
|
|
145
|
+
}]
|
|
146
|
+
},
|
|
147
|
+
'customPropertiesEndpoint': 'erm/custprops',
|
|
148
|
+
'id': 'supplementaryProperties',
|
|
149
|
+
'labelOverrides': {
|
|
150
|
+
'defaultTitle': 'ƒ defaultTitle() {}',
|
|
151
|
+
'noContext': '<Memo />',
|
|
152
|
+
'OpenAccess': '<Memo />',
|
|
153
|
+
'retiredName': 'ƒ retiredName() {}'
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
export {
|
|
158
|
+
contexts,
|
|
159
|
+
customProperties,
|
|
160
|
+
labelOverrides,
|
|
161
|
+
data
|
|
162
|
+
};
|
|
@@ -1,19 +1,34 @@
|
|
|
1
|
-
import React, { useEffect, useState } from 'react';
|
|
1
|
+
import React, { useEffect, useState, useContext } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
import { FormattedMessage } from 'react-intl';
|
|
3
|
+
import { FormattedMessage, useIntl } from 'react-intl';
|
|
4
|
+
|
|
5
|
+
import { ConfirmationModal } from '@folio/stripes/components';
|
|
6
|
+
import { CalloutContext } from '@folio/stripes/core';
|
|
4
7
|
|
|
5
8
|
import { useMutateRefdataValue, useRefdata } from '../hooks';
|
|
6
9
|
|
|
7
10
|
import ActionList from '../ActionList';
|
|
8
11
|
|
|
9
12
|
const propTypes = {
|
|
13
|
+
afterQueryCalls: PropTypes.object,
|
|
14
|
+
catchQueryCalls: PropTypes.object,
|
|
10
15
|
desc: PropTypes.string,
|
|
11
16
|
label: PropTypes.string,
|
|
17
|
+
labelOverrides: PropTypes.object,
|
|
12
18
|
refdataEndpoint: PropTypes.string
|
|
13
19
|
};
|
|
14
20
|
|
|
15
|
-
const EditableRefdataList = ({
|
|
21
|
+
const EditableRefdataList = ({
|
|
22
|
+
afterQueryCalls,
|
|
23
|
+
catchQueryCalls,
|
|
24
|
+
desc,
|
|
25
|
+
label,
|
|
26
|
+
labelOverrides, // An object containing translation alternatives
|
|
27
|
+
refdataEndpoint
|
|
28
|
+
}) => {
|
|
16
29
|
/* A component that allows for editing of refdata values */
|
|
30
|
+
const callout = useContext(CalloutContext);
|
|
31
|
+
const intl = useIntl();
|
|
17
32
|
|
|
18
33
|
// fetch refdata values
|
|
19
34
|
const { data: { 0: refdata } = {}, isLoading: isRefdataLoading } = useRefdata({
|
|
@@ -23,6 +38,11 @@ const EditableRefdataList = ({ desc, label, refdataEndpoint }) => {
|
|
|
23
38
|
});
|
|
24
39
|
|
|
25
40
|
const [contentData, setContentData] = useState([]);
|
|
41
|
+
const [deleteModal, setDeleteModal] = useState({
|
|
42
|
+
visible: false,
|
|
43
|
+
refdata: null,
|
|
44
|
+
});
|
|
45
|
+
|
|
26
46
|
const sortByLabel = (a, b) => (a.label.localeCompare(b.label));
|
|
27
47
|
|
|
28
48
|
useEffect(() => {
|
|
@@ -34,8 +54,38 @@ const EditableRefdataList = ({ desc, label, refdataEndpoint }) => {
|
|
|
34
54
|
// Edit and Create will use the same PUT mutation
|
|
35
55
|
const { delete: deleteRefdataValue, put: editRefdataValue } = useMutateRefdataValue({
|
|
36
56
|
afterQueryCalls: {
|
|
37
|
-
delete: json =>
|
|
38
|
-
|
|
57
|
+
delete: json => {
|
|
58
|
+
setContentData(json?.values?.sort(sortByLabel) ?? []);
|
|
59
|
+
if (afterQueryCalls?.delete) {
|
|
60
|
+
afterQueryCalls.delete(json);
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
put: json => {
|
|
64
|
+
setContentData(json?.values?.sort(sortByLabel) ?? []);
|
|
65
|
+
if (afterQueryCalls?.put) {
|
|
66
|
+
afterQueryCalls.put(json);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
catchQueryCalls: {
|
|
71
|
+
// Default delete behaviour is to fire a callout, either with kint-components default message
|
|
72
|
+
// or one provided in labelOverrides, which is passed the error message and refdata in question
|
|
73
|
+
delete: async (err) => {
|
|
74
|
+
const errorResp = await err.response.json();
|
|
75
|
+
callout.sendCallout({
|
|
76
|
+
message: labelOverrides?.deleteError ? labelOverrides.deleteError(errorResp?.message, deleteModal?.refdata) : (
|
|
77
|
+
<FormattedMessage
|
|
78
|
+
id="stripes-kint-components.editableRefdataList.deleteLabel.errorMessage"
|
|
79
|
+
values={{
|
|
80
|
+
label: deleteModal?.refdata?.label,
|
|
81
|
+
error: errorResp?.message
|
|
82
|
+
}}
|
|
83
|
+
/>
|
|
84
|
+
),
|
|
85
|
+
type: 'error',
|
|
86
|
+
});
|
|
87
|
+
},
|
|
88
|
+
...catchQueryCalls // override defaults here
|
|
39
89
|
},
|
|
40
90
|
endpoint: refdataEndpoint,
|
|
41
91
|
id: refdata?.id,
|
|
@@ -60,7 +110,11 @@ const EditableRefdataList = ({ desc, label, refdataEndpoint }) => {
|
|
|
60
110
|
name: 'edit',
|
|
61
111
|
label: <FormattedMessage id="stripes-kint-components.editableRefdataList.edit" />,
|
|
62
112
|
icon: 'edit',
|
|
63
|
-
callback: (data) => editRefdataValue(data)
|
|
113
|
+
callback: (data) => editRefdataValue(data),
|
|
114
|
+
ariaLabel: (data) => intl.formatMessage(
|
|
115
|
+
{ id: 'stripes-kint-components.editableRefdataList.editAriaLabel' },
|
|
116
|
+
{ label: data?.label }
|
|
117
|
+
),
|
|
64
118
|
}
|
|
65
119
|
];
|
|
66
120
|
|
|
@@ -69,30 +123,56 @@ const EditableRefdataList = ({ desc, label, refdataEndpoint }) => {
|
|
|
69
123
|
name: 'delete',
|
|
70
124
|
label: <FormattedMessage id="stripes-kint-components.editableRefdataList.delete" />,
|
|
71
125
|
icon: 'trash',
|
|
72
|
-
callback: (data) =>
|
|
126
|
+
callback: (data) => setDeleteModal({ visible: true, refdata: data }),
|
|
127
|
+
ariaLabel: (data) => intl.formatMessage(
|
|
128
|
+
{ id: 'stripes-kint-components.editableRefdataList.deleteAriaLabel' },
|
|
129
|
+
{ label: data?.label }
|
|
130
|
+
),
|
|
73
131
|
});
|
|
74
132
|
}
|
|
75
133
|
return actionArray;
|
|
76
134
|
};
|
|
77
135
|
|
|
78
136
|
return (
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
137
|
+
<>
|
|
138
|
+
<ActionList
|
|
139
|
+
actionAssigner={actionAssigner}
|
|
140
|
+
columnMapping={{
|
|
82
141
|
label: <FormattedMessage id="stripes-kint-components.editableRefdataList.label" />,
|
|
83
142
|
value: <FormattedMessage id="stripes-kint-components.editableRefdataList.value" />
|
|
84
143
|
}}
|
|
85
|
-
|
|
86
|
-
|
|
144
|
+
contentData={contentData}
|
|
145
|
+
creatableFields={{
|
|
87
146
|
value: () => false
|
|
88
147
|
}}
|
|
89
|
-
|
|
90
|
-
|
|
148
|
+
createCallback={refdata?.internal ? null : (data) => editRefdataValue(data)}
|
|
149
|
+
editableFields={{
|
|
91
150
|
value: () => false
|
|
92
151
|
}}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
152
|
+
label={label}
|
|
153
|
+
visibleFields={['label', 'value']}
|
|
154
|
+
/>
|
|
155
|
+
<ConfirmationModal
|
|
156
|
+
confirmLabel={
|
|
157
|
+
<FormattedMessage id="stripes-kint-components.editableRefdataList.delete" />
|
|
158
|
+
}
|
|
159
|
+
heading={
|
|
160
|
+
<FormattedMessage id="stripes-kint-components.editableRefdataList.deleteLabel" />
|
|
161
|
+
}
|
|
162
|
+
message={
|
|
163
|
+
<FormattedMessage
|
|
164
|
+
id="stripes-kint-components.editableRefdataList.deleteLabel.confirmMessage"
|
|
165
|
+
values={{ name: deleteModal?.refdata?.label }}
|
|
166
|
+
/>
|
|
167
|
+
}
|
|
168
|
+
onCancel={() => setDeleteModal({ visible: false, refdata: null })}
|
|
169
|
+
onConfirm={() => {
|
|
170
|
+
deleteRefdataValue(deleteModal?.refdata?.id);
|
|
171
|
+
setDeleteModal({ visible: false, refdata: null });
|
|
172
|
+
}}
|
|
173
|
+
open={deleteModal?.visible}
|
|
174
|
+
/>
|
|
175
|
+
</>
|
|
96
176
|
);
|
|
97
177
|
};
|
|
98
178
|
|
|
@@ -17,5 +17,8 @@ import { EditableRefdataList } from '@k-int/stripes-kint-components';
|
|
|
17
17
|
|
|
18
18
|
Name | Type | Description | default | required
|
|
19
19
|
--- | --- | --- | --- | ---
|
|
20
|
+
afterQueryCalls | object | An object of the form `{delete: func1, put: func2}` where `func1`/`func2` are functions to be called after the `delete`/`put`. | | ✕ |
|
|
21
|
+
catchQueryCalls | object | An object of the form `{delete: func1, put: func2}` where `func1`/`func2` are functions to be called with a HTTPError object when the `delete`/`put` calls fail. | `{delete: <Fires a callout of the format "<strong>Error: {label}</strong> was not deleted. {error}">}` | | ✕ |
|
|
22
|
+
labelOverrides | object | An object containing translation overrides. Currently accepts: `deleteError: (err, object) => { ... output a callout message }`. | | ✕ |
|
|
20
23
|
desc | String | A string corresponding to the refdataValue category, usually of the form `DomainClass.Field`. See `useRefdata` for more information. | | ✕ |
|
|
21
24
|
endpoint | String | A string containing the path to the endpoint for refdata | | ✓ |
|
|
@@ -5,6 +5,8 @@ export const CONTAINER_CLASS_NAME = 'com.k_int.web.toolkit.custprops.types.Custo
|
|
|
5
5
|
export const DECIMAL_CLASS_NAME = 'com.k_int.web.toolkit.custprops.types.CustomPropertyDecimal';
|
|
6
6
|
export const INTEGER_CLASS_NAME = 'com.k_int.web.toolkit.custprops.types.CustomPropertyInteger';
|
|
7
7
|
export const REFDATA_CLASS_NAME = 'com.k_int.web.toolkit.custprops.types.CustomPropertyRefdata';
|
|
8
|
+
export const MULTI_REFDATA_CLASS_NAME = 'com.k_int.web.toolkit.custprops.types.CustomPropertyMultiRefdata';
|
|
8
9
|
export const REFDATA_DEFINITION_CLASS_NAME = 'com.k_int.web.toolkit.custprops.types.CustomPropertyRefdataDefinition';
|
|
9
10
|
export const TEXT_CLASS_NAME = 'com.k_int.web.toolkit.custprops.types.CustomPropertyText';
|
|
10
11
|
export const DATE_CLASS_NAME = 'com.k_int.web.toolkit.custprops.types.CustomPropertyLocalDate';
|
|
12
|
+
|
package/src/lib/hooks/README.md
CHANGED
|
@@ -39,8 +39,9 @@ const { delete } = useMutateRefdataValue({
|
|
|
39
39
|
### Props
|
|
40
40
|
Name | Type | Description | default | required
|
|
41
41
|
--- | --- | --- | --- | ---
|
|
42
|
-
afterQueryCalls | object | An object of the form `{delete: func1, put: func2}` where `func1`/`func2` are functions to be called after the `delete`/`put` | | ✓ |
|
|
43
|
-
|
|
42
|
+
afterQueryCalls | object | An object of the form `{delete: func1, put: func2}` where `func1`/`func2` are functions to be called after the `delete`/`put`. This is for ease of use, you can alternatively manually use a `.then()` on the functions returned from this hook. | | ✓ |
|
|
43
|
+
catchQueryCalls | object | An object of the form `{delete: func1, put: func2}` where `func1`/`func2` are functions to be called with a HTTPError object when the `delete`/`put` calls fail. This is for ease of use, you can alternatively manually use a `.catch()` on the functions returned from this hook. | | ✕ |
|
|
44
|
+
endpoint | string | The refdata endpoint | | ✕ |
|
|
44
45
|
id | string | The id of the refdata whose values are to be mutated | | ✕ |
|
|
45
46
|
queryParams | object | An object of the form `{delete: obj1, put: obj2}`, where `obj1`/`obj2` are set of queryParameters to hand to react-query's `useMutation` for the delete/put operations respectively | | ✕ |
|
|
46
47
|
returnQueryObject | object | An object of the form `{delete: bool1, put: bool2}` containing switches to return the entirety of the queryObject from useMutation for `delete` and `put` respectively. If `false`, the mutateAsync function will be destructured, if `true` the return will be the full object returned by react-query's `useMutation` | {put: false, delete: false} | ✕ |
|
|
@@ -287,4 +288,28 @@ export default Test
|
|
|
287
288
|
Name | Type | Description | default | required
|
|
288
289
|
--- | --- | --- | --- | ---
|
|
289
290
|
name | String | The name of the fieldArray, used to hook into the final form state for that field. | | ✓ |
|
|
290
|
-
submitWholeDeletedObject | bool | a boolean flag to ensure that a deleted object is sent whole to the backend, rather than just as an id. | false | ✕ |
|
|
291
|
+
submitWholeDeletedObject | bool | a boolean flag to ensure that a deleted object is sent whole to the backend, rather than just as an id. | false | ✕ |
|
|
292
|
+
|
|
293
|
+
## useAppSettings
|
|
294
|
+
A hook for fetching AppSetting values
|
|
295
|
+
### Basic usage
|
|
296
|
+
```
|
|
297
|
+
import { useAppSettings } from '@k-int/stripes-kint-components'
|
|
298
|
+
...
|
|
299
|
+
const data = useAppSettings({
|
|
300
|
+
endpoint: 'oa/settings/appSettings'
|
|
301
|
+
});
|
|
302
|
+
...
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
This will return a list of AppSettings. If a `keyName` is passed, this will instead return a single AppSetting object.
|
|
306
|
+
|
|
307
|
+
### Props
|
|
308
|
+
Name | Type | Description | default | required
|
|
309
|
+
--- | --- | --- | --- | ---
|
|
310
|
+
endpoint | string | The endpoint to fetch AppSettings from | | ✓ |
|
|
311
|
+
sectionName | string | A string representing a section of AppSettings to filter on | | ✕ |
|
|
312
|
+
keyName | string | A string representing an individual key of an AppSettings to filter on. The presence of this prop will change the output shape from Array to Object. It is not strictly necessary to use `keyName` in conjunction with `sectionName`, but keys are not guaranteed to be unique between sections. In addition it may marginally improve performance to use both, even if a key is unique, so it is recommended. | | ✕ |
|
|
313
|
+
queryParams | object | A set of queryParameters to hand to react-query's `useQuery` | | ✕ |
|
|
314
|
+
returnQueryObject | bool | A switch to return the entirety of the queryObject from useQuery. If `false`, the data will be destructured, if `true` the return will be the full object returned by react-query's `useQuery` | false | ✕ |
|
|
315
|
+
options | object | An object of the shape SASQ_MAP (See generateKiwtQuery) to pass to the generateKiwtQuery inside. The default | `{perPage: 100, stats: false, filters: [{path: 'section', value: sectionName }, {path: 'key', value: keyName }]}` | ✕ |
|
package/src/lib/hooks/index.js
CHANGED
|
@@ -6,7 +6,7 @@ export { default as useKiwtSASQuery } from './useKiwtSASQuery';
|
|
|
6
6
|
export { default as useHelperApp } from './useHelperApp';
|
|
7
7
|
export { default as useLocalStorageState } from './useLocalStorageState';
|
|
8
8
|
export { default as useQIndex } from './useQIndex';
|
|
9
|
-
export { useSettings, useSettingSection } from './settingsHooks';
|
|
9
|
+
export { useSettings, useSettingSection, useAppSettings } from './settingsHooks';
|
|
10
10
|
export { default as useKiwtFieldArray } from './useKiwtFieldArray';
|
|
11
11
|
export { default as useCustomProperties } from './useCustomProperties';
|
|
12
12
|
export { default as useMutateCustomProperties } from './useMutateCustomProperties';
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { useQuery } from 'react-query';
|
|
2
|
+
import { useOkapiKy } from '@folio/stripes/core';
|
|
3
|
+
import { generateKiwtQueryParams } from '../../utils';
|
|
4
|
+
|
|
5
|
+
const useAppSettings = ({
|
|
6
|
+
endpoint,
|
|
7
|
+
keyName,
|
|
8
|
+
options,
|
|
9
|
+
returnQueryObject = false,
|
|
10
|
+
sectionName,
|
|
11
|
+
queryParams
|
|
12
|
+
}) => {
|
|
13
|
+
const ky = useOkapiKy();
|
|
14
|
+
|
|
15
|
+
const defaultQueryParamObject = {
|
|
16
|
+
perPage: 100,
|
|
17
|
+
stats: false,
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
const namespaceArray = [endpoint];
|
|
21
|
+
|
|
22
|
+
if (sectionName) {
|
|
23
|
+
defaultQueryParamObject.filters = [
|
|
24
|
+
...(defaultQueryParamObject.filters ?? []),
|
|
25
|
+
{
|
|
26
|
+
path: 'section',
|
|
27
|
+
value: sectionName
|
|
28
|
+
}
|
|
29
|
+
];
|
|
30
|
+
|
|
31
|
+
namespaceArray.push(sectionName);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
if (keyName) {
|
|
35
|
+
defaultQueryParamObject.filters = [
|
|
36
|
+
...(defaultQueryParamObject.filters ?? []),
|
|
37
|
+
{
|
|
38
|
+
path: 'key',
|
|
39
|
+
value: keyName
|
|
40
|
+
}
|
|
41
|
+
];
|
|
42
|
+
|
|
43
|
+
defaultQueryParamObject.perPage = 1;
|
|
44
|
+
|
|
45
|
+
namespaceArray.push(keyName);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const queryParamArray = generateKiwtQueryParams(options ?? defaultQueryParamObject, {});
|
|
49
|
+
namespaceArray.push(queryParamArray);
|
|
50
|
+
|
|
51
|
+
const queryObject = useQuery(
|
|
52
|
+
namespaceArray,
|
|
53
|
+
() => ky(`${endpoint}?${queryParamArray?.join('&')}`).json(),
|
|
54
|
+
queryParams
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
if (returnQueryObject) {
|
|
59
|
+
return queryObject;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
if ((queryParams ?? defaultQueryParamObject)?.perPage && (queryParams ?? defaultQueryParamObject)?.perPage === 1) {
|
|
63
|
+
return queryObject?.data?.[0] ?? {};
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
return queryObject?.data ?? [];
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
export default useAppSettings;
|
|
@@ -4,6 +4,7 @@ import { useOkapiKy } from '@folio/stripes/core';
|
|
|
4
4
|
|
|
5
5
|
const useMutateCustomProperties = ({
|
|
6
6
|
afterQueryCalls,
|
|
7
|
+
catchQueryCalls,
|
|
7
8
|
endpoint,
|
|
8
9
|
id,
|
|
9
10
|
queryParams,
|
|
@@ -20,21 +21,24 @@ const useMutateCustomProperties = ({
|
|
|
20
21
|
const deleteQueryObject = useMutation(
|
|
21
22
|
['stripes-kint-components', 'useMutateCustomProperties', 'delete', id],
|
|
22
23
|
async () => ky.delete(`${endpoint}/${id}`).json()
|
|
23
|
-
.then(afterQueryCalls?.delete)
|
|
24
|
+
.then(afterQueryCalls?.delete)
|
|
25
|
+
.catch(catchQueryCalls?.delete),
|
|
24
26
|
queryParams?.delete
|
|
25
27
|
);
|
|
26
28
|
|
|
27
29
|
const putQueryObject = useMutation(
|
|
28
30
|
['stripes-kint-components', 'useMutateCustomProperties', 'put', id],
|
|
29
31
|
async (data) => ky.put(`${endpoint}/${id}`, { json: data }).json()
|
|
30
|
-
.then(afterQueryCalls?.put)
|
|
32
|
+
.then(afterQueryCalls?.put)
|
|
33
|
+
.catch(catchQueryCalls?.put),
|
|
31
34
|
queryParams?.put
|
|
32
35
|
);
|
|
33
36
|
|
|
34
37
|
const postQueryObject = useMutation(
|
|
35
38
|
['stripes-kint-components', 'useMutateCustomProperties', 'post'],
|
|
36
39
|
async (data) => ky.post(`${endpoint}`, { json: data }).json()
|
|
37
|
-
.then(afterQueryCalls?.post)
|
|
40
|
+
.then(afterQueryCalls?.post)
|
|
41
|
+
.catch(catchQueryCalls?.post),
|
|
38
42
|
queryParams?.post
|
|
39
43
|
);
|
|
40
44
|
|
|
@@ -6,6 +6,7 @@ import useInvalidateRefdata from './useInvalidateRefdata';
|
|
|
6
6
|
|
|
7
7
|
const useMutateRefdataValue = ({
|
|
8
8
|
afterQueryCalls,
|
|
9
|
+
catchQueryCalls,
|
|
9
10
|
endpoint,
|
|
10
11
|
id,
|
|
11
12
|
queryParams,
|
|
@@ -36,7 +37,8 @@ const useMutateRefdataValue = ({
|
|
|
36
37
|
}
|
|
37
38
|
).json()
|
|
38
39
|
.then(afterQueryCalls?.delete)
|
|
39
|
-
.then(() => invalidateRefdata())
|
|
40
|
+
.then(() => invalidateRefdata())
|
|
41
|
+
.catch(catchQueryCalls?.delete),
|
|
40
42
|
queryParams?.delete
|
|
41
43
|
);
|
|
42
44
|
|
|
@@ -54,7 +56,8 @@ const useMutateRefdataValue = ({
|
|
|
54
56
|
}
|
|
55
57
|
).json()
|
|
56
58
|
.then(afterQueryCalls?.put)
|
|
57
|
-
.then(() => invalidateRefdata())
|
|
59
|
+
.then(() => invalidateRefdata())
|
|
60
|
+
.catch(catchQueryCalls?.put),
|
|
58
61
|
queryParams?.put
|
|
59
62
|
);
|
|
60
63
|
|