@k-int/stripes-kint-components 5.0.0 → 5.1.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/__mocks__/@folio/stripes/components.js +10 -21
- package/es/__mocks__/@folio/stripes/core.js +4 -7
- package/es/__mocks__/@folio/stripes/smart-components.js +4 -7
- package/es/__mocks__/react-query.js +4 -7
- package/es/__mocks__/react-router-dom.js +6 -7
- package/es/artifacts/coverage-jest/lcov-report/prettify.js +2 -2
- package/es/artifacts/coverage-jest/lcov-report/sorter.js +6 -6
- package/es/index.js +56 -49
- package/es/lib/ActionList/ActionList.js +39 -53
- package/es/lib/ActionList/ActionListFieldArray.js +144 -169
- package/es/lib/ActionList/index.js +1 -1
- package/es/lib/ComboButton/ComboButton.js +73 -91
- package/es/lib/ComboButton/index.js +1 -1
- package/es/lib/CustomProperties/Config/CustomPropertiesLookup.js +58 -79
- package/es/lib/CustomProperties/Config/CustomPropertiesLookup.test.js +15 -19
- package/es/lib/CustomProperties/Config/CustomPropertiesSettings.js +112 -162
- package/es/lib/CustomProperties/Config/CustomPropertiesSettings.test.js +30 -67
- package/es/lib/CustomProperties/Config/CustomPropertyForm.js +37 -50
- package/es/lib/CustomProperties/Config/CustomPropertyForm.test.js +83 -121
- package/es/lib/CustomProperties/Config/CustomPropertyView.js +10 -10
- package/es/lib/CustomProperties/Config/CustomPropertyView.test.js +48 -135
- package/es/lib/CustomProperties/Config/index.js +4 -4
- package/es/lib/CustomProperties/Edit/CustomPropertiesEdit.js +20 -23
- package/es/lib/CustomProperties/Edit/CustomPropertiesEdit.test.js +11 -16
- package/es/lib/CustomProperties/Edit/CustomPropertiesEditCtx.js +30 -29
- package/es/lib/CustomProperties/Edit/CustomPropertiesEditCtx.test.js +11 -16
- package/es/lib/CustomProperties/Edit/CustomPropertiesListField.js +87 -105
- package/es/lib/CustomProperties/Edit/CustomPropertiesListField.test.js +26 -63
- package/es/lib/CustomProperties/Edit/CustomPropertyField.js +124 -117
- package/es/lib/CustomProperties/Edit/CustomPropertyField.test.js +101 -179
- package/es/lib/CustomProperties/Edit/CustomPropertyFormCard.js +44 -46
- package/es/lib/CustomProperties/Edit/CustomPropertyFormCard.test.js +23 -27
- package/es/lib/CustomProperties/Edit/index.js +5 -5
- package/es/lib/CustomProperties/Edit/testResources.js +14 -38
- package/es/lib/CustomProperties/Filter/CustomPropertiesFilter.js +61 -83
- package/es/lib/CustomProperties/Filter/CustomPropertiesFilter.test.js +23 -57
- package/es/lib/CustomProperties/Filter/CustomPropertiesFilterField.js +40 -56
- package/es/lib/CustomProperties/Filter/CustomPropertiesFilterField.test.js +17 -16
- package/es/lib/CustomProperties/Filter/CustomPropertiesFilterFieldArray.js +28 -25
- package/es/lib/CustomProperties/Filter/CustomPropertiesFilterFieldArray.test.js +19 -47
- package/es/lib/CustomProperties/Filter/CustomPropertiesFilterForm.js +19 -22
- package/es/lib/CustomProperties/Filter/CustomPropertiesFilterForm.test.js +23 -52
- package/es/lib/CustomProperties/Filter/CustomPropertiesRule.js +38 -43
- package/es/lib/CustomProperties/Filter/CustomPropertiesRule.test.js +94 -226
- package/es/lib/CustomProperties/Filter/index.js +6 -6
- package/es/lib/CustomProperties/Filter/testResources.js +13 -36
- package/es/lib/CustomProperties/Filter/useOperators.js +18 -18
- package/es/lib/CustomProperties/Filter/useParseActiveFilterStrings.js +18 -32
- package/es/lib/CustomProperties/Filter/useValueProps.js +23 -29
- package/es/lib/CustomProperties/View/CustomPropertiesView.js +20 -23
- package/es/lib/CustomProperties/View/CustomPropertiesView.test.js +11 -16
- package/es/lib/CustomProperties/View/CustomPropertiesViewCtx.js +50 -59
- package/es/lib/CustomProperties/View/CustomPropertiesViewCtx.test.js +14 -23
- package/es/lib/CustomProperties/View/CustomPropertyCard.js +18 -20
- package/es/lib/CustomProperties/View/index.js +3 -3
- package/es/lib/CustomProperties/View/testResources.js +5 -9
- package/es/lib/CustomProperties/index.js +18 -18
- package/es/lib/CycleButton/CycleButton.js +18 -34
- package/es/lib/CycleButton/index.js +1 -1
- package/es/lib/EditableRefdataCategoryList/EditableRefdataCategoryList.js +109 -152
- package/es/lib/EditableRefdataCategoryList/index.js +1 -1
- package/es/lib/EditableRefdataList/EditableRefdataList.js +128 -172
- package/es/lib/EditableRefdataList/index.js +1 -1
- package/es/lib/EditableSettingsList/EditableSettingsList.js +17 -15
- package/es/lib/EditableSettingsList/EditableSettingsListFieldArray.js +19 -27
- package/es/lib/EditableSettingsList/EditableSettingsListFieldArray.test.js +61 -90
- package/es/lib/EditableSettingsList/SettingField/EditSettingValue.js +22 -36
- package/es/lib/EditableSettingsList/SettingField/EditSettingValue.test.js +99 -83
- package/es/lib/EditableSettingsList/SettingField/RenderSettingValue.js +18 -21
- package/es/lib/EditableSettingsList/SettingField/RenderSettingValue.test.js +187 -275
- package/es/lib/EditableSettingsList/SettingField/SettingField.js +75 -111
- package/es/lib/EditableSettingsList/SettingField/SettingField.test.js +55 -168
- package/es/lib/EditableSettingsList/SettingField/index.js +3 -3
- package/es/lib/EditableSettingsList/index.js +3 -3
- package/es/lib/FormModal/FormModal.js +44 -48
- package/es/lib/FormModal/index.js +1 -1
- package/es/lib/FormattedKintMessage/FormattedKintMessage.js +25 -29
- package/es/lib/FormattedKintMessage/index.js +1 -1
- package/es/lib/IconSelect/IconSelect.js +50 -70
- package/es/lib/IconSelect/index.js +1 -1
- package/es/lib/NoResultsMessage/NoResultsMessage.js +19 -19
- package/es/lib/NoResultsMessage/index.js +1 -1
- package/es/lib/QueryTypedown/QueryTypedown.js +18 -40
- package/es/lib/QueryTypedown/index.js +1 -1
- package/es/lib/RefdataButtons/RefdataButtons.js +27 -31
- package/es/lib/RefdataButtons/index.js +1 -1
- package/es/lib/ResponsiveButtonGroup/ResponsiveButtonGroup.js +84 -90
- package/es/lib/ResponsiveButtonGroup/index.js +1 -1
- package/es/lib/ResponsiveButtonGroup/useResponsiveButtonGroupSizing.js +28 -42
- package/es/lib/RichSelect/RichSelect.js +71 -88
- package/es/lib/RichSelect/index.js +2 -2
- package/es/lib/RichSelect/useSelectedOption.js +4 -14
- package/es/lib/SASQLookupComponent/SASQLookupComponent.js +116 -139
- package/es/lib/SASQLookupComponent/TableBody/TableBody.js +40 -47
- package/es/lib/SASQLookupComponent/TableBody/index.js +1 -1
- package/es/lib/SASQLookupComponent/index.js +2 -2
- package/es/lib/SASQRoute/SASQRoute.js +32 -39
- package/es/lib/SASQRoute/index.js +1 -1
- package/es/lib/SASQViewComponent/SASQViewComponent.js +39 -47
- package/es/lib/SASQViewComponent/index.js +1 -1
- package/es/lib/SearchField/SearchField.js +12 -18
- package/es/lib/SearchField/index.js +1 -1
- package/es/lib/SettingPage/SettingPage.js +22 -22
- package/es/lib/SettingPage/SettingPagePane.js +9 -8
- package/es/lib/SettingPage/index.js +2 -2
- package/es/lib/SettingsFormContainer/SettingsFormContainer.js +51 -55
- package/es/lib/SettingsFormContainer/index.js +1 -1
- package/es/lib/Typedown/Typedown.js +62 -81
- package/es/lib/Typedown/index.js +1 -1
- package/es/lib/constants/comparators.js +7 -0
- package/es/lib/constants/customProperties.js +11 -22
- package/es/lib/constants/endpoints.js +1 -2
- package/es/lib/constants/eventCodes.js +3 -6
- package/es/lib/contexts/SettingsContext.js +2 -3
- package/es/lib/contexts/index.js +1 -1
- package/es/lib/hooks/__mocks__/index.js +9 -29
- package/es/lib/hooks/index.js +19 -19
- package/es/lib/hooks/typedownHooks/index.js +3 -3
- package/es/lib/hooks/typedownHooks/useTypedown.js +49 -50
- package/es/lib/hooks/typedownHooks/useTypedownData.js +12 -23
- package/es/lib/hooks/typedownHooks/useTypedownToggle.js +13 -22
- package/es/lib/hooks/useActiveElement.js +9 -19
- package/es/lib/hooks/useCustomProperties.js +23 -32
- package/es/lib/hooks/useHelperApp.js +31 -51
- package/es/lib/hooks/useIntlKey.js +4 -7
- package/es/lib/hooks/useIntlKeyStore.js +44 -51
- package/es/lib/hooks/useInvalidateRefdata.js +4 -7
- package/es/lib/hooks/useKintIntl.js +29 -33
- package/es/lib/hooks/useKiwtFieldArray.js +35 -47
- package/es/lib/hooks/useKiwtSASQuery.js +38 -51
- package/es/lib/hooks/useLocalStorageState.js +7 -20
- package/es/lib/hooks/useModConfigEntries.js +27 -27
- package/es/lib/hooks/useMutateCustomProperties.js +20 -64
- package/es/lib/hooks/useMutateModConfigEntry.js +22 -61
- package/es/lib/hooks/useMutateRefdataCategory.js +20 -62
- package/es/lib/hooks/useMutateRefdataValue.js +29 -67
- package/es/lib/hooks/useQIndex.js +13 -28
- package/es/lib/hooks/useRefdata.js +18 -21
- package/es/lib/hooks/useSASQQueryMeta.js +14 -22
- package/es/lib/hooks/useTemplates.js +14 -14
- package/es/lib/settingsHooks/index.js +3 -3
- package/es/lib/settingsHooks/useAppSettings.js +19 -27
- package/es/lib/settingsHooks/useSettingSection.js +17 -19
- package/es/lib/settingsHooks/useSettings.js +59 -74
- package/es/lib/utils/buildUrl.js +6 -8
- package/es/lib/utils/filterParsers/deparseKiwtQueryFilters.js +36 -0
- package/es/lib/utils/filterParsers/index.js +48 -0
- package/es/lib/utils/filterParsers/parseKiwtQueryFilters.js +47 -0
- package/es/lib/utils/{parseKiwtQueryGroups.js → filterParsers/parseKiwtQueryGroups.js} +12 -13
- package/es/lib/utils/{parseKiwtQueryGroups.test.js → filterParsers/parseKiwtQueryGroups.test.js} +15 -15
- package/es/lib/utils/filterParsers/parseKiwtQueryString.js +34 -0
- package/es/lib/utils/generateKiwtQuery.js +4 -5
- package/es/lib/utils/generateKiwtQueryParams.js +93 -99
- package/es/lib/utils/groupCustomPropertiesByCtx.js +9 -20
- package/es/lib/utils/highlightString.js +17 -37
- package/es/lib/utils/index.js +49 -19
- package/es/lib/utils/matchString.js +5 -10
- package/es/lib/utils/modConfigEntriesQueryKey.js +9 -9
- package/es/lib/utils/parseErrorResponse.js +23 -65
- package/es/lib/utils/parseModConfigEntry.js +3 -4
- package/es/lib/utils/refdataOptions.js +2 -3
- package/es/lib/utils/refdataQueryKey.js +3 -4
- package/es/lib/utils/selectorSafe.js +5 -6
- package/es/lib/utils/sortByLabel.js +4 -5
- package/es/lib/utils/toCamelCase.js +8 -14
- package/es/lib/utils/typedownQueryKey.js +3 -4
- package/es/lib/validators/index.js +1 -1
- package/es/lib/validators/validators.js +22 -29
- package/junit.xml +161 -161
- package/package.json +5 -5
- 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/ActionTrigger.js.html +418 -0
- 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/ComboButton/ComboButton.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/ComboButton/index.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/ComboButton/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertiesLookup.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertiesSettings.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertyForm.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertyView.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/index.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertiesEdit.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertiesEditCtx.js.html +1 -1
- 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 +10 -10
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertyFormCard.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/index.html +15 -15
- 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 +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilter.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilterField.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilterFieldArray.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilterForm.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesRule.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/index.html +1 -1
- 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 +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/useOperators.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/useParseActiveFilterStrings.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/useValueProps.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/CustomPropertiesView.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/CustomPropertiesViewCtx.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/CustomPropertyCard.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/index.html +1 -1
- 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 +1 -1
- 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/CycleButton/CycleButton.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CycleButton/index.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/CycleButton/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/EditableRefdataCategoryList/EditableRefdataCategoryList.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/EditableRefdataCategoryList/index.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/EditableRefdataCategoryList/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/EditableRefdataList.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/index.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/EditableSettingsList.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/EditableSettingsListFieldArray.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/EditSettingValue.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/RenderSettingValue.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/SettingField.js.html +1 -1
- 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 +1 -1
- package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/FormModal/FormModal.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/FormModal/index.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/FormModal/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/FormattedKintMessage/FormattedKintMessage.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/FormattedKintMessage/index.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/FormattedKintMessage/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/IconSelect/IconSelect.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/IconSelect/index.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/IconSelect/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 +1 -1
- 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/ResponsiveButtonGroup/ResponsiveButtonGroup.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/ResponsiveButtonGroup/index.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/ResponsiveButtonGroup/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/ResponsiveButtonGroup/useResponsiveButtonGroupSizing.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/RichSelect/RichSelect.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/RichSelect/index.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/RichSelect/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/RichSelect/useSelectedOption.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/SASQLookupComponent.js.html +1 -1
- 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 +1 -1
- package/src/artifacts/coverage-jest/lcov-report/SettingPage/SettingPagePane.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/SettingPage/index.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/SettingPage/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/SettingsActionList/EditSettingValue.js.html +514 -0
- package/src/artifacts/coverage-jest/lcov-report/SettingsActionList/RenderSettingValue.js.html +358 -0
- package/src/artifacts/coverage-jest/lcov-report/SettingsActionList/SettingsActionList.js.html +736 -0
- package/src/artifacts/coverage-jest/lcov-report/SettingsActionList/index.html +161 -0
- package/src/artifacts/coverage-jest/lcov-report/SettingsActionList/index.js.html +88 -0
- package/src/artifacts/coverage-jest/lcov-report/SettingsFormContainer/SettingsFormContainer.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/SettingsFormContainer/index.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/SettingsFormContainer/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/Typedown/Typedown.js.html +1 -1
- 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/comparators.js.html +121 -0
- package/src/artifacts/coverage-jest/lcov-report/constants/customProperties.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/constants/endpoints.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/constants/eventCodes.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/constants/index.html +16 -1
- package/src/artifacts/coverage-jest/lcov-report/contexts/SettingsContext.js.html +1 -1
- 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 +1 -1
- package/src/artifacts/coverage-jest/lcov-report/hooks/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/index.html +161 -0
- package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/index.js.html +94 -0
- 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 +214 -0
- package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useSettings.js.html +463 -0
- 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 +1 -1
- package/src/artifacts/coverage-jest/lcov-report/hooks/useCustomProperties.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/hooks/useHelperApp.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/hooks/useIntlKey.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/hooks/useIntlKeyStore.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/hooks/useInvalidateRefdata.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/hooks/useKintIntl.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/hooks/useKiwtFieldArray.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/hooks/useKiwtSASQuery.js.html +2 -2
- package/src/artifacts/coverage-jest/lcov-report/hooks/useLocalStorageState.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/hooks/useModConfigEntries.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateCustomProperties.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateModConfigEntry.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateRefdataCategory.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateRefdataValue.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/hooks/useQIndex.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/hooks/useRefdata.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/hooks/useSASQQueryMeta.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/hooks/useTemplates.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/index.html +41 -26
- package/src/artifacts/coverage-jest/lcov-report/settingsHooks/index.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/settingsHooks/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/settingsHooks/useAppSettings.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/settingsHooks/useSettingSection.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/settingsHooks/useSettings.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/utils/buildUrl.js.html +6 -18
- package/src/artifacts/coverage-jest/lcov-report/utils/filterParsers/deparseKiwtQueryFilters.js.html +181 -0
- package/src/artifacts/coverage-jest/lcov-report/utils/filterParsers/index.html +176 -0
- package/src/artifacts/coverage-jest/lcov-report/utils/filterParsers/index.js.html +124 -0
- package/src/artifacts/coverage-jest/lcov-report/utils/filterParsers/parseKiwtQueryFilters.js.html +211 -0
- package/src/artifacts/coverage-jest/lcov-report/utils/filterParsers/parseKiwtQueryGroups.js.html +367 -0
- package/src/artifacts/coverage-jest/lcov-report/utils/filterParsers/parseKiwtQueryString.js.html +184 -0
- package/src/artifacts/coverage-jest/lcov-report/utils/generateKiwtQuery.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/utils/generateKiwtQueryParams.js.html +13 -7
- package/src/artifacts/coverage-jest/lcov-report/utils/groupCustomPropertiesByCtx.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/utils/highlightString.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/utils/index.html +13 -28
- package/src/artifacts/coverage-jest/lcov-report/utils/index.js.html +24 -3
- package/src/artifacts/coverage-jest/lcov-report/utils/matchString.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/utils/modConfigEntriesQueryKey.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/utils/parseErrorResponse.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/utils/parseKiwtQueryGroups.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/utils/parseModConfigEntry.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/utils/refdataOptions.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/utils/refdataQueryKey.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/utils/selectorSafe.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/utils/sortByLabel.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/utils/toCamelCase.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/utils/typedownQueryKey.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/utils/validators.js.html +370 -0
- package/src/artifacts/coverage-jest/lcov-report/validators/index.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/validators/index.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov-report/validators/validators.js.html +1 -1
- package/src/artifacts/coverage-jest/lcov.info +352 -228
- package/src/index.js +1 -0
- package/src/lib/CustomProperties/Edit/CustomPropertyField.test.js +9 -5
- package/src/lib/CustomProperties/Filter/CustomPropertiesFilterFieldArray.test.js +1 -4
- package/src/lib/CustomProperties/Filter/CustomPropertiesRule.test.js +26 -10
- package/src/lib/constants/comparators.js +13 -0
- package/src/lib/hooks/useKiwtSASQuery.js +1 -1
- package/src/lib/utils/buildUrl.js +1 -5
- package/src/lib/utils/filterParsers/deparseKiwtQueryFilters.js +32 -0
- package/src/lib/utils/filterParsers/index.js +13 -0
- package/src/lib/utils/filterParsers/parseKiwtQueryFilters.js +42 -0
- package/src/lib/utils/{parseKiwtQueryGroups.js → filterParsers/parseKiwtQueryGroups.js} +3 -1
- package/src/lib/utils/filterParsers/parseKiwtQueryString.js +33 -0
- package/src/lib/utils/generateKiwtQueryParams.js +6 -4
- package/src/lib/utils/index.js +8 -1
- /package/src/lib/utils/{parseKiwtQueryGroups.test.js → filterParsers/parseKiwtQueryGroups.test.js} +0 -0
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
@@ -16,85 +15,69 @@ var _utils = require("../utils");
|
|
|
16
15
|
var _hooks = require("../hooks");
|
|
17
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
refdataEndpoint = _ref.refdataEndpoint,
|
|
40
|
-
settingEndpoint = _ref.settingEndpoint,
|
|
41
|
-
templateEndpoint = _ref.templateEndpoint;
|
|
42
|
-
var ky = (0, _core.useOkapiKy)();
|
|
43
|
-
var kintIntl = (0, _hooks.useKintIntl)(passedIntlKey, passedIntlNS);
|
|
44
|
-
var queryParams = (0, _utils.generateKiwtQueryParams)({
|
|
45
|
-
filters: dynamicPageExclusions === null || dynamicPageExclusions === void 0 ? void 0 : dynamicPageExclusions.map(function (dpe) {
|
|
46
|
-
return {
|
|
47
|
-
path: 'section',
|
|
48
|
-
comparator: '!=',
|
|
49
|
-
value: dpe
|
|
50
|
-
};
|
|
51
|
-
}),
|
|
18
|
+
const useSettings = _ref => {
|
|
19
|
+
let {
|
|
20
|
+
allowGlobalEdit = true,
|
|
21
|
+
dynamicPageExclusions,
|
|
22
|
+
intlKey: passedIntlKey,
|
|
23
|
+
intlNS: passedIntlNS,
|
|
24
|
+
labelOverrides = {},
|
|
25
|
+
persistentPages,
|
|
26
|
+
refdataEndpoint,
|
|
27
|
+
settingEndpoint,
|
|
28
|
+
templateEndpoint
|
|
29
|
+
} = _ref;
|
|
30
|
+
const ky = (0, _core.useOkapiKy)();
|
|
31
|
+
const kintIntl = (0, _hooks.useKintIntl)(passedIntlKey, passedIntlNS);
|
|
32
|
+
const queryParams = (0, _utils.generateKiwtQueryParams)({
|
|
33
|
+
filters: dynamicPageExclusions === null || dynamicPageExclusions === void 0 ? void 0 : dynamicPageExclusions.map(dpe => ({
|
|
34
|
+
path: 'section',
|
|
35
|
+
comparator: '!=',
|
|
36
|
+
value: dpe
|
|
37
|
+
})),
|
|
52
38
|
perPage: 100,
|
|
53
39
|
stats: false
|
|
54
40
|
}, {});
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
var sections = _toConsumableArray(new Set(appSettings.map(function (s) {
|
|
62
|
-
return s.section;
|
|
63
|
-
})));
|
|
64
|
-
var dynamic = sections.map(function (section) {
|
|
41
|
+
const {
|
|
42
|
+
data: appSettings = [],
|
|
43
|
+
isLoading
|
|
44
|
+
} = (0, _reactQuery.useQuery)(['stripes-kint-components', 'useSettings', 'appSettings', settingEndpoint, queryParams], () => ky("".concat(settingEndpoint, "?").concat(queryParams === null || queryParams === void 0 ? void 0 : queryParams.join('&'))).json());
|
|
45
|
+
const sections = [...new Set(appSettings.map(s => s.section))];
|
|
46
|
+
const dynamic = sections.map(section => {
|
|
65
47
|
return {
|
|
66
48
|
route: section,
|
|
67
49
|
label: kintIntl.formatKintMessage({
|
|
68
50
|
id: "settings.settingsSection.".concat((0, _utils.toCamelCase)(section)),
|
|
69
51
|
fallbackMessage: section
|
|
70
52
|
}),
|
|
71
|
-
component:
|
|
72
|
-
|
|
53
|
+
component: props => /*#__PURE__*/(0, _jsxRuntime.jsx)(_SettingPage.SettingPagePane, {
|
|
54
|
+
intlKey: passedIntlKey,
|
|
55
|
+
intlNS: passedIntlNS,
|
|
56
|
+
sectionName: section,
|
|
57
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SettingPage.SettingPage, {
|
|
58
|
+
allowEdit: allowGlobalEdit,
|
|
73
59
|
intlKey: passedIntlKey,
|
|
74
60
|
intlNS: passedIntlNS,
|
|
61
|
+
labelOverrides: labelOverrides,
|
|
75
62
|
sectionName: section,
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
intlNS: passedIntlNS,
|
|
80
|
-
labelOverrides: labelOverrides,
|
|
81
|
-
sectionName: section
|
|
82
|
-
}, props))
|
|
83
|
-
});
|
|
84
|
-
}
|
|
63
|
+
...props
|
|
64
|
+
})
|
|
65
|
+
})
|
|
85
66
|
};
|
|
86
67
|
});
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
68
|
+
const pageList = persistentPages.concat(dynamic).sort(_utils.sortByLabel);
|
|
69
|
+
const intlKey = (0, _hooks.useIntlKey)(passedIntlKey, passedIntlNS);
|
|
70
|
+
const SettingsContextProvider = _ref2 => {
|
|
71
|
+
let {
|
|
72
|
+
children
|
|
73
|
+
} = _ref2;
|
|
91
74
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_contexts.SettingsContext.Provider, {
|
|
92
75
|
value: {
|
|
93
|
-
intlKey
|
|
76
|
+
intlKey,
|
|
94
77
|
// This is only here for backwards compatibility... is now grabbed from useIntlKey instead of what's passed in directly
|
|
95
|
-
refdataEndpoint
|
|
96
|
-
settingEndpoint
|
|
97
|
-
templateEndpoint
|
|
78
|
+
refdataEndpoint,
|
|
79
|
+
settingEndpoint,
|
|
80
|
+
templateEndpoint
|
|
98
81
|
},
|
|
99
82
|
children: children
|
|
100
83
|
});
|
|
@@ -102,25 +85,27 @@ var useSettings = function useSettings(_ref) {
|
|
|
102
85
|
SettingsContextProvider.propTypes = {
|
|
103
86
|
children: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.node])
|
|
104
87
|
};
|
|
105
|
-
|
|
106
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_smartComponents.Settings,
|
|
88
|
+
const SettingsComponent = props => {
|
|
89
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_smartComponents.Settings, {
|
|
107
90
|
pages: pageList,
|
|
108
91
|
paneTitle: kintIntl.formatKintMessage({
|
|
109
92
|
id: 'meta.title'
|
|
110
|
-
})
|
|
111
|
-
|
|
93
|
+
}),
|
|
94
|
+
...props
|
|
95
|
+
});
|
|
112
96
|
};
|
|
113
|
-
|
|
97
|
+
const SettingsComponentWithContext = props => {
|
|
114
98
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(SettingsContextProvider, {
|
|
115
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(SettingsComponent,
|
|
99
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(SettingsComponent, {
|
|
100
|
+
...props
|
|
101
|
+
})
|
|
116
102
|
});
|
|
117
103
|
};
|
|
118
104
|
return {
|
|
119
|
-
isLoading
|
|
120
|
-
pageList
|
|
105
|
+
isLoading,
|
|
106
|
+
pageList,
|
|
121
107
|
SettingsComponent: SettingsComponentWithContext,
|
|
122
|
-
SettingsContextProvider
|
|
108
|
+
SettingsContextProvider
|
|
123
109
|
};
|
|
124
110
|
};
|
|
125
|
-
var _default = useSettings;
|
|
126
|
-
exports.default = _default;
|
|
111
|
+
var _default = exports.default = useSettings;
|
package/es/lib/utils/buildUrl.js
CHANGED
|
@@ -9,20 +9,18 @@ var _lodash = require("lodash");
|
|
|
9
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
10
|
// File copied from https://github.com/folio-org/stripes-smart-components/blob/master/lib/SearchAndSort/buildUrl.js
|
|
11
11
|
|
|
12
|
-
function getLocationQuery(location) {
|
|
13
|
-
return location.query ? location.query : _queryString.default.parse(location.search);
|
|
14
|
-
}
|
|
15
12
|
function removeEmpty(obj) {
|
|
16
|
-
|
|
17
|
-
(0, _lodash.forOwn)(obj,
|
|
13
|
+
const cleanObj = {};
|
|
14
|
+
(0, _lodash.forOwn)(obj, (value, key) => {
|
|
18
15
|
if (value) cleanObj[key] = value;
|
|
19
16
|
});
|
|
20
17
|
return cleanObj;
|
|
21
18
|
}
|
|
22
19
|
function buildUrl(location, values, basePath) {
|
|
23
|
-
var
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
var _location$query;
|
|
21
|
+
const locationQuery = (_location$query = location === null || location === void 0 ? void 0 : location.query) !== null && _location$query !== void 0 ? _location$query : _queryString.default.parse(location.search);
|
|
22
|
+
let url = values._path || basePath || location.pathname;
|
|
23
|
+
const params = removeEmpty(Object.assign(locationQuery, values));
|
|
26
24
|
(0, _lodash.unset)(params, '_path');
|
|
27
25
|
if (!(0, _lodash.isEmpty)(params)) {
|
|
28
26
|
url += "?".concat(_queryString.default.stringify(params));
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.deparseKiwtQueryFiltersObject = exports.default = void 0;
|
|
7
|
+
// Does not validate object... make sure you pass it the right thing
|
|
8
|
+
const deparseKiwtQueryFiltersObject = queryObject => {
|
|
9
|
+
let returnString = "".concat(queryObject.path, " ").concat(queryObject.comparator);
|
|
10
|
+
if (queryObject.value) {
|
|
11
|
+
returnString += " ".concat(queryObject.value);
|
|
12
|
+
}
|
|
13
|
+
return returnString;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
// Takes an Array of the shape defined by parseKiwtQuery and restructures that into an equivalent KIWT queryString
|
|
17
|
+
exports.deparseKiwtQueryFiltersObject = deparseKiwtQueryFiltersObject;
|
|
18
|
+
const deparseKiwtQueryFilters = queryArray => {
|
|
19
|
+
if (Array.isArray(queryArray)) {
|
|
20
|
+
let returnString = '';
|
|
21
|
+
queryArray.forEach(qa => {
|
|
22
|
+
if (Array.isArray(qa)) {
|
|
23
|
+
returnString += " (".concat(deparseKiwtQueryFilters(qa), ")");
|
|
24
|
+
} else if (typeof qa === 'string') {
|
|
25
|
+
returnString += " ".concat(qa);
|
|
26
|
+
} else {
|
|
27
|
+
// Assuming object at this stage
|
|
28
|
+
returnString += " ".concat(deparseKiwtQueryFiltersObject(qa));
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
return returnString.trim();
|
|
32
|
+
} else {
|
|
33
|
+
throw new Error("deparseKiwtQuery expects a parameter of type Array, passed: ".concat(queryArray));
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
var _default = exports.default = deparseKiwtQueryFilters;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "deparseKiwtQueryFilters", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _deparseKiwtQueryFilters.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "deparseKiwtQueryFiltersObject", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _deparseKiwtQueryFilters.deparseKiwtQueryFiltersObject;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "parseKiwtQueryFilters", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _parseKiwtQueryFilters.default;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "parseKiwtQueryFiltersRecursive", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _parseKiwtQueryFilters.parseKiwtQueryFiltersRecursive;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "parseKiwtQueryGroups", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function () {
|
|
33
|
+
return _parseKiwtQueryGroups.default;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "parseKiwtQueryString", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () {
|
|
39
|
+
return _parseKiwtQueryString.default;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
var _parseKiwtQueryGroups = _interopRequireDefault(require("./parseKiwtQueryGroups"));
|
|
43
|
+
var _parseKiwtQueryString = _interopRequireDefault(require("./parseKiwtQueryString"));
|
|
44
|
+
var _parseKiwtQueryFilters = _interopRequireWildcard(require("./parseKiwtQueryFilters"));
|
|
45
|
+
var _deparseKiwtQueryFilters = _interopRequireWildcard(require("./deparseKiwtQueryFilters"));
|
|
46
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
47
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
48
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.parseKiwtQueryFiltersRecursive = exports.default = void 0;
|
|
7
|
+
var _parseKiwtQueryGroups = _interopRequireDefault(require("./parseKiwtQueryGroups"));
|
|
8
|
+
var _parseKiwtQueryString = _interopRequireDefault(require("./parseKiwtQueryString"));
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
+
// This is an amalgam of parseKiwtQueryGroups, which splits up grouped queries
|
|
11
|
+
// and parseKiwtQueryString, which figures out comparator vs attribute, etc
|
|
12
|
+
|
|
13
|
+
// This will handle the nested recursion logic, switching between String and Array
|
|
14
|
+
const parseKiwtQueryFiltersRecursive = query => {
|
|
15
|
+
if (Array.isArray(query)) {
|
|
16
|
+
return query.map(q => parseKiwtQueryFiltersRecursive(q));
|
|
17
|
+
} else if (typeof query === 'string') {
|
|
18
|
+
if (query === '&&' || query === '||') {
|
|
19
|
+
return query;
|
|
20
|
+
} else {
|
|
21
|
+
return (0, _parseKiwtQueryString.default)(query);
|
|
22
|
+
}
|
|
23
|
+
} else {
|
|
24
|
+
throw new Error("Unexpected query type: ".concat(query));
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
// This accepts a STRING only
|
|
29
|
+
exports.parseKiwtQueryFiltersRecursive = parseKiwtQueryFiltersRecursive;
|
|
30
|
+
const parseKiwtQueryFilters = queryString => {
|
|
31
|
+
if (typeof queryString === 'string') {
|
|
32
|
+
// parseKiwtQueryGroups already recurses, so we know is the right shape all the way down
|
|
33
|
+
const queryGroups = (0, _parseKiwtQueryGroups.default)(queryString);
|
|
34
|
+
return parseKiwtQueryFiltersRecursive(queryGroups);
|
|
35
|
+
} else {
|
|
36
|
+
throw new Error("parseKiwtQuery expects a parameter of type String, passed: ".concat(queryString));
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
/* RETURN SHAPE
|
|
41
|
+
* This will return nested arrays of Objects, Strings and Arrays.
|
|
42
|
+
* Each array refers to a bracketed group
|
|
43
|
+
* Each object is a single query value (attribute, comparator and value)
|
|
44
|
+
* Each string should be boolean && or ||
|
|
45
|
+
* To be read from left to right
|
|
46
|
+
*/
|
|
47
|
+
var _default = exports.default = parseKiwtQueryFilters;
|
|
@@ -25,7 +25,7 @@ exports.default = void 0;
|
|
|
25
25
|
* @returns [] tokenized query as a series of nested arrays
|
|
26
26
|
* @throws Error if parens are unmatched
|
|
27
27
|
*/
|
|
28
|
-
|
|
28
|
+
const parseKiwtQueryGroups = query => {
|
|
29
29
|
// Split on tokens, keeping them all in tact in the correct position.
|
|
30
30
|
// This could be handled without the filter, which omits empty-string
|
|
31
31
|
// matches, using a look-behind:
|
|
@@ -33,18 +33,18 @@ var parseKiwtQueryGroups = function parseKiwtQueryGroups(query) {
|
|
|
33
33
|
// but Webkit hasn't implemented look-behind yet so that breaks Safari.
|
|
34
34
|
// https://bugs.webkit.org/show_bug.cgi?id=174931
|
|
35
35
|
// <sigh>
|
|
36
|
-
|
|
36
|
+
const splitString = query.split(/(\|\||&&|\(|\))/).map(ss => ss.trim()).filter(Boolean);
|
|
37
37
|
|
|
38
38
|
// Keep track of what to skip over when we return from each level of nesting
|
|
39
|
-
|
|
39
|
+
let skipCount = [0];
|
|
40
40
|
|
|
41
41
|
// Ensure parens are properly closed
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
let unclosedParens = 0;
|
|
43
|
+
const groupParser = function (parseArray) {
|
|
44
|
+
let nestLevel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
45
|
+
const group = [];
|
|
46
46
|
// Iterate over each element in the array, recursively calling this when hitting parens
|
|
47
|
-
parseArray === null || parseArray === void 0
|
|
47
|
+
parseArray === null || parseArray === void 0 || parseArray.every((element, index) => {
|
|
48
48
|
var _skipCount;
|
|
49
49
|
if (skipCount[nestLevel] > 0) {
|
|
50
50
|
skipCount[nestLevel] -= 1;
|
|
@@ -57,14 +57,14 @@ var parseKiwtQueryGroups = function parseKiwtQueryGroups(query) {
|
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
// At the levels below all of the following will need
|
|
60
|
-
skipCount = (_skipCount = skipCount) === null || _skipCount === void 0 ? void 0 : _skipCount.map(
|
|
60
|
+
skipCount = (_skipCount = skipCount) === null || _skipCount === void 0 ? void 0 : _skipCount.map((n, i) => {
|
|
61
61
|
if (i < nestLevel) {
|
|
62
62
|
return n + 1;
|
|
63
63
|
}
|
|
64
64
|
return n;
|
|
65
65
|
});
|
|
66
66
|
if (element !== '(' && element !== ')') {
|
|
67
|
-
group === null || group === void 0
|
|
67
|
+
group === null || group === void 0 || group.push(element);
|
|
68
68
|
} else if (element === ')') {
|
|
69
69
|
// Remove the corresponding skipCount level because we're going down a nesting level
|
|
70
70
|
skipCount.pop();
|
|
@@ -82,7 +82,7 @@ var parseKiwtQueryGroups = function parseKiwtQueryGroups(query) {
|
|
|
82
82
|
});
|
|
83
83
|
return group;
|
|
84
84
|
};
|
|
85
|
-
|
|
85
|
+
const outputGroups = groupParser(splitString);
|
|
86
86
|
|
|
87
87
|
// abort: dangling open-paren
|
|
88
88
|
if (unclosedParens > 0) {
|
|
@@ -90,5 +90,4 @@ var parseKiwtQueryGroups = function parseKiwtQueryGroups(query) {
|
|
|
90
90
|
}
|
|
91
91
|
return outputGroups;
|
|
92
92
|
};
|
|
93
|
-
var _default = parseKiwtQueryGroups;
|
|
94
|
-
exports.default = _default;
|
|
93
|
+
var _default = exports.default = parseKiwtQueryGroups;
|
package/es/lib/utils/{parseKiwtQueryGroups.test.js → filterParsers/parseKiwtQueryGroups.test.js}
RENAMED
|
@@ -2,49 +2,49 @@
|
|
|
2
2
|
|
|
3
3
|
var _parseKiwtQueryGroups = _interopRequireDefault(require("./parseKiwtQueryGroups"));
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
-
describe('parseKiwtQueryGroups',
|
|
6
|
-
it('handles simple queries without parens',
|
|
7
|
-
|
|
5
|
+
describe('parseKiwtQueryGroups', () => {
|
|
6
|
+
it('handles simple queries without parens', () => {
|
|
7
|
+
const result = (0, _parseKiwtQueryGroups.default)('foo==bar');
|
|
8
8
|
expect(result).toEqual(['foo==bar']);
|
|
9
9
|
});
|
|
10
|
-
it('handles simple queries with parens',
|
|
11
|
-
|
|
10
|
+
it('handles simple queries with parens', () => {
|
|
11
|
+
const result = (0, _parseKiwtQueryGroups.default)('(foo==bar)');
|
|
12
12
|
expect(result).toEqual([['foo==bar']]);
|
|
13
13
|
});
|
|
14
|
-
it('handles conjunctions',
|
|
15
|
-
|
|
14
|
+
it('handles conjunctions', () => {
|
|
15
|
+
const result = (0, _parseKiwtQueryGroups.default)('(foo==bar&&bat==baz)');
|
|
16
16
|
expect(result).toEqual([['foo==bar', '&&', 'bat==baz']]);
|
|
17
17
|
});
|
|
18
|
-
it('handles disjunctions',
|
|
19
|
-
|
|
18
|
+
it('handles disjunctions', () => {
|
|
19
|
+
const result = (0, _parseKiwtQueryGroups.default)('(foo==bar||bat==baz)');
|
|
20
20
|
expect(result).toEqual([['foo==bar', '||', 'bat==baz']]);
|
|
21
21
|
});
|
|
22
|
-
it('handles nested clauses',
|
|
23
|
-
|
|
22
|
+
it('handles nested clauses', () => {
|
|
23
|
+
const result = (0, _parseKiwtQueryGroups.default)('(foo==bar&&(bat==baz||bat==quux))');
|
|
24
24
|
expect(result).toEqual([['foo==bar', '&&', ['bat==baz', '||', 'bat==quux']]]);
|
|
25
25
|
});
|
|
26
|
-
it('throws on dangling (',
|
|
26
|
+
it('throws on dangling (', () => {
|
|
27
27
|
try {
|
|
28
28
|
(0, _parseKiwtQueryGroups.default)('(foo==bar');
|
|
29
29
|
} catch (e) {
|
|
30
30
|
expect(e.message).toMatch('Found unclosed paretheses, stopping parse.');
|
|
31
31
|
}
|
|
32
32
|
});
|
|
33
|
-
it('throws on dangling )',
|
|
33
|
+
it('throws on dangling )', () => {
|
|
34
34
|
try {
|
|
35
35
|
(0, _parseKiwtQueryGroups.default)('bat==quux)');
|
|
36
36
|
} catch (e) {
|
|
37
37
|
expect(e.message).toMatch('Unexpected character \')\' found, stopping parse.');
|
|
38
38
|
}
|
|
39
39
|
});
|
|
40
|
-
it('throws on nested dangling (',
|
|
40
|
+
it('throws on nested dangling (', () => {
|
|
41
41
|
try {
|
|
42
42
|
(0, _parseKiwtQueryGroups.default)('(foo==bar&&(bat==baz||bat==quux)');
|
|
43
43
|
} catch (e) {
|
|
44
44
|
expect(e.message).toMatch('Found unclosed paretheses, stopping parse.');
|
|
45
45
|
}
|
|
46
46
|
});
|
|
47
|
-
it('throws on nested dangling )',
|
|
47
|
+
it('throws on nested dangling )', () => {
|
|
48
48
|
try {
|
|
49
49
|
(0, _parseKiwtQueryGroups.default)('foo==bar&&(bat==baz||bat==quux))&&(monkey==bagel||thunder==chicken)');
|
|
50
50
|
} catch (e) {
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _comparators = _interopRequireDefault(require("../../constants/comparators"));
|
|
8
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
+
/*
|
|
10
|
+
* This is designed to take a SINGLE query string of the form
|
|
11
|
+
* attribute == value, or attribute isEmpty, or attribute ~= value, etc
|
|
12
|
+
*
|
|
13
|
+
* Will return an object: {path: 'attribute', comparator: '==', value: 'value'}
|
|
14
|
+
*/ // No magic numbers sonarlint -.-
|
|
15
|
+
const FIRST = 0;
|
|
16
|
+
const SECOND = 1;
|
|
17
|
+
const THIRD = 2;
|
|
18
|
+
const parseKiwtQueryString = queryString => {
|
|
19
|
+
const comparatorMatch = new RegExp("(".concat(_comparators.default.join('|'), ")"));
|
|
20
|
+
// See parseKiwtQueryGroups for breakdown of why this filter is needed
|
|
21
|
+
const splitString = queryString.split(comparatorMatch).map(ss => ss.trim()).filter(Boolean);
|
|
22
|
+
|
|
23
|
+
/*
|
|
24
|
+
* As far as I can tell, with input of a SINGLE query string at a time,
|
|
25
|
+
* with 2 entries we will have a special case comparator, with 3 we
|
|
26
|
+
* have a comparator, attribute and value.. value can be null in those cases
|
|
27
|
+
*/
|
|
28
|
+
return {
|
|
29
|
+
path: splitString[FIRST],
|
|
30
|
+
comparator: splitString[SECOND],
|
|
31
|
+
value: splitString[THIRD]
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
var _default = exports.default = parseKiwtQueryString;
|
|
@@ -6,10 +6,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _generateKiwtQueryParams = _interopRequireDefault(require("./generateKiwtQueryParams"));
|
|
8
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
const generateKiwtQuery = function (options, nsValues) {
|
|
10
|
+
let encode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
11
|
+
const paramsArray = (0, _generateKiwtQueryParams.default)(options, nsValues, encode);
|
|
12
12
|
return paramsArray.length ? '?' + paramsArray.join('&') : '';
|
|
13
13
|
};
|
|
14
|
-
var _default = generateKiwtQuery;
|
|
15
|
-
exports.default = _default;
|
|
14
|
+
var _default = exports.default = generateKiwtQuery;
|