diff --git a/src/openforms/js/compiled-lang/en.json b/src/openforms/js/compiled-lang/en.json
index f0f116a9aa..56c6b49f27 100644
--- a/src/openforms/js/compiled-lang/en.json
+++ b/src/openforms/js/compiled-lang/en.json
@@ -2517,6 +2517,12 @@
"value": "Add variable"
}
],
+ "LbiXCA": [
+ {
+ "type": 0,
+ "value": "Something went wrong while retrieving the available products defined in the selected case. Please check that the services in the selected API group are configured correctly."
+ }
+ ],
"LeVpdf": [
{
"type": 0,
@@ -5337,12 +5343,6 @@
"value": "Add item"
}
],
- "ln2iyc": [
- {
- "type": 0,
- "value": "Something went wrong while retrieving the available catalogues or products defined in the selected case. Please check that the services in the selected API group are configured correctly."
- }
- ],
"ln72CJ": [
{
"type": 0,
diff --git a/src/openforms/js/compiled-lang/nl.json b/src/openforms/js/compiled-lang/nl.json
index 6e50fb8430..5adf4e2df3 100644
--- a/src/openforms/js/compiled-lang/nl.json
+++ b/src/openforms/js/compiled-lang/nl.json
@@ -2538,6 +2538,12 @@
"value": "Variabele toevoegen"
}
],
+ "LbiXCA": [
+ {
+ "type": 0,
+ "value": "Er ging iets fout bij het ophalen van de beschikbare producten binnen het geselecteerde zaaktype. Controleer of de services in de geselecteerde API-groep goed ingesteld zijn."
+ }
+ ],
"LeVpdf": [
{
"type": 0,
@@ -5109,12 +5115,6 @@
"value": "optie 2: € 15,99"
}
],
- "jtWzSW": [
- {
- "type": 0,
- "value": "optie 2: € 15,99"
- }
- ],
"jy1jTd": [
{
"offset": 0,
@@ -5365,12 +5365,6 @@
"value": "Item toevoegen"
}
],
- "ln2iyc": [
- {
- "type": 0,
- "value": "Er ging iets fout bij het ophalen van de beschikbare catalogi of geselecteerde zaak producten. Controleer of de services in de geselecteerde API-groep goed ingesteld zijn."
- }
- ],
"ln72CJ": [
{
"type": 0,
diff --git a/src/openforms/js/components/admin/form_design/registrations/zgw/BasicOptionsFieldset.js b/src/openforms/js/components/admin/form_design/registrations/zgw/BasicOptionsFieldset.js
index 3744042439..fe15b86074 100644
--- a/src/openforms/js/components/admin/form_design/registrations/zgw/BasicOptionsFieldset.js
+++ b/src/openforms/js/components/admin/form_design/registrations/zgw/BasicOptionsFieldset.js
@@ -1,19 +1,23 @@
import {useFormikContext} from 'formik';
import PropTypes from 'prop-types';
-import {FormattedMessage, useIntl} from 'react-intl';
-import {useAsync, usePrevious, useUpdateEffect} from 'react-use';
+import {FormattedMessage} from 'react-intl';
import useConfirm from 'components/admin/form_design/useConfirm';
import Fieldset from 'components/admin/forms/Fieldset';
-import {getCatalogueOption} from 'components/admin/forms/zgw';
+import {CatalogueSelectOptions} from 'components/admin/forms/zgw';
import ErrorBoundary from 'components/errors/ErrorBoundary';
import {CaseTypeSelect, CatalogueSelect, DocumentTypeSelect, ZGWAPIGroup} from './fields';
-import {getCatalogues} from './utils';
// Components
-const BasicOptionsFieldset = ({apiGroupChoices}) => {
+const BasicOptionsFieldset = ({
+ apiGroupChoices,
+ loadingCatalogues,
+ catalogueOptionGroups = [],
+ cataloguesError = undefined,
+ catalogueUrl = '',
+}) => {
const {
values: {
caseTypeIdentification,
@@ -61,7 +65,10 @@ const BasicOptionsFieldset = ({apiGroupChoices}) => {
/>
}
>
-
+
+
+
+
{
- const {
- values: {
- zgwApiGroup = null,
- catalogue = undefined,
- caseTypeIdentification = '',
- documentTypeDescription = '',
- productUrl = '',
- },
- setFieldValue,
- } = useFormikContext();
-
- const previousCatalogue = usePrevious(catalogue);
- const previousCaseTypeIdentification = usePrevious(caseTypeIdentification);
-
- // fetch available catalogues and re-use the result
- const {
- loading: loadingCatalogues,
- value: catalogueOptionGroups = [],
- error: cataloguesError,
- } = useAsync(async () => {
- if (!zgwApiGroup) return [];
- return await getCatalogues(zgwApiGroup);
- }, [zgwApiGroup]);
- if (cataloguesError) throw cataloguesError;
-
- const catalogueValue = getCatalogueOption(catalogueOptionGroups, catalogue || {});
- const catalogueUrl = catalogueValue?.url;
-
- // Synchronize dependent fields when dependencies change.
- // 1. Clear case type when catalogue changes.
- useUpdateEffect(() => {
- const catalogueChanged = catalogue !== previousCatalogue;
- if (previousCatalogue && catalogueChanged && caseTypeIdentification) {
- setFieldValue('caseTypeIdentification', '');
- }
- }, [setFieldValue, previousCatalogue, catalogue, caseTypeIdentification]);
-
- // 2. Clear document type when case type changes
- useUpdateEffect(() => {
- const caseTypeChanged = caseTypeIdentification !== previousCaseTypeIdentification;
- if (previousCaseTypeIdentification && caseTypeChanged && documentTypeDescription) {
- setFieldValue('documentTypeDescription', '');
- }
- }, [
- setFieldValue,
- previousCaseTypeIdentification,
- caseTypeIdentification,
- documentTypeDescription,
- ]);
-
- // 3. Clear selected product when case type changes
- useUpdateEffect(() => {
- const caseTypeChanged = caseTypeIdentification !== previousCaseTypeIdentification;
- if (previousCaseTypeIdentification && caseTypeChanged && productUrl) {
- setFieldValue('productUrl', '');
- }
- }, [setFieldValue, previousCaseTypeIdentification, caseTypeIdentification, productUrl]);
+/**
+ * Component that only throws an error if it's not undefined, intended to trigger a
+ * parent error boundary.
+ */
+const MaybeThrowError = ({error = undefined}) => {
+ if (error) throw error;
+ return null;
+};
- return (
- <>
-
-
-
- >
- );
+MaybeThrowError.propTypes = {
+ error: PropTypes.any,
};
export default BasicOptionsFieldset;
diff --git a/src/openforms/js/components/admin/form_design/registrations/zgw/LegacyOptionsFieldset.js b/src/openforms/js/components/admin/form_design/registrations/zgw/LegacyOptionsFieldset.js
new file mode 100644
index 0000000000..62d818e748
--- /dev/null
+++ b/src/openforms/js/components/admin/form_design/registrations/zgw/LegacyOptionsFieldset.js
@@ -0,0 +1,35 @@
+import {FormattedMessage} from 'react-intl';
+
+import Fieldset from 'components/admin/forms/Fieldset';
+
+import {LegacyCaseType, LegacyDocumentType} from './fields';
+
+/**
+ * @deprecated
+ */
+const LegacyOptionsFieldset = () => (
+
+ }
+ fieldNames={['zaaktype', 'informatieobjecttype']}
+ collapsible
+ >
+
+
+
+
+
+
+);
+
+export default LegacyOptionsFieldset;
diff --git a/src/openforms/js/components/admin/form_design/registrations/zgw/ObjectsAPIOptionsFieldset.js b/src/openforms/js/components/admin/form_design/registrations/zgw/ObjectsAPIOptionsFieldset.js
new file mode 100644
index 0000000000..0ffab53287
--- /dev/null
+++ b/src/openforms/js/components/admin/form_design/registrations/zgw/ObjectsAPIOptionsFieldset.js
@@ -0,0 +1,62 @@
+import {useFormikContext} from 'formik';
+import PropTypes from 'prop-types';
+import {FormattedMessage} from 'react-intl';
+
+import {ContentJSON} from 'components/admin/form_design/registrations/objectsapi/LegacyConfigFields';
+import Fieldset from 'components/admin/forms/Fieldset';
+import {ObjectsAPIGroup} from 'components/admin/forms/objects_api';
+
+import {ObjectType, ObjectTypeVersion} from './fields';
+
+/**
+ * Callback to invoke when the API group changes - used to reset the dependent fields.
+ */
+const onApiGroupChange = prevValues => ({
+ ...prevValues,
+ objecttype: '',
+ objecttypeVersion: undefined,
+});
+
+/**
+ * Configuration fields related to the Objects API (template based) integration.
+ */
+const ObjectsAPIOptionsFieldset = ({objectsApiGroupChoices}) => {
+ const {
+ values: {objecttype = ''},
+ } = useFormikContext();
+ return (
+
+ }
+ collapsible
+ fieldNames={['objecttype', 'objecttypeVersion', 'contentJson']}
+ >
+
+
+
+
+
+ );
+};
+
+ObjectsAPIOptionsFieldset.propTypes = {
+ objectsApiGroupChoices: PropTypes.arrayOf(
+ PropTypes.arrayOf(
+ PropTypes.oneOfType([
+ PropTypes.number, // value
+ PropTypes.string, // label
+ ])
+ )
+ ),
+};
+
+export default ObjectsAPIOptionsFieldset;
diff --git a/src/openforms/js/components/admin/form_design/registrations/zgw/OptionalOptionsFieldset.js b/src/openforms/js/components/admin/form_design/registrations/zgw/OptionalOptionsFieldset.js
index 708d541ae5..156cd40ecd 100644
--- a/src/openforms/js/components/admin/form_design/registrations/zgw/OptionalOptionsFieldset.js
+++ b/src/openforms/js/components/admin/form_design/registrations/zgw/OptionalOptionsFieldset.js
@@ -1,16 +1,12 @@
-import {useFormikContext} from 'formik';
import PropTypes from 'prop-types';
import {FormattedMessage} from 'react-intl';
-import {useAsync} from 'react-use';
import Fieldset from 'components/admin/forms/Fieldset';
-import {getCatalogueOption} from 'components/admin/forms/zgw';
import ErrorBoundary from 'components/errors/ErrorBoundary';
import {ConfidentialityLevel, MedewerkerRoltype, OrganisationRSIN, ProductSelect} from './fields';
-import {getCatalogues} from './utils';
-const OptionalOptionsFieldset = ({confidentialityLevelChoices}) => {
+const OptionalOptionsFieldset = ({confidentialityLevelChoices, catalogueUrl}) => {
return (
);
};
-const CatalogiApiField = () => {
- const {
- values: {zgwApiGroup = null, catalogue = undefined},
- } = useFormikContext();
-
- // fetch available catalogues and re-use the result
- const {value: catalogueOptionGroups = [], error: cataloguesError} = useAsync(async () => {
- if (!zgwApiGroup) return [];
- return await getCatalogues(zgwApiGroup);
- }, [zgwApiGroup]);
- if (cataloguesError) throw cataloguesError;
-
- const catalogueValue = getCatalogueOption(catalogueOptionGroups, catalogue || {});
- const catalogueUrl = catalogueValue?.url;
- return ;
-};
-
OptionalOptionsFieldset.propTypes = {
confidentialityLevelChoices: PropTypes.arrayOf(
PropTypes.arrayOf(PropTypes.string) // value & label are both string
).isRequired,
+ catalogueUrl: PropTypes.string,
};
export default OptionalOptionsFieldset;
diff --git a/src/openforms/js/components/admin/form_design/registrations/zgw/ZGWOptionsFormFields.js b/src/openforms/js/components/admin/form_design/registrations/zgw/ZGWOptionsFormFields.js
index c43929489a..b4691017f4 100644
--- a/src/openforms/js/components/admin/form_design/registrations/zgw/ZGWOptionsFormFields.js
+++ b/src/openforms/js/components/admin/form_design/registrations/zgw/ZGWOptionsFormFields.js
@@ -5,28 +5,18 @@ import {FormattedMessage} from 'react-intl';
import {TabList, TabPanel, Tabs} from 'react-tabs';
import Tab from 'components/admin/form_design/Tab';
-import {ContentJSON} from 'components/admin/form_design/registrations/objectsapi/LegacyConfigFields';
-import Fieldset from 'components/admin/forms/Fieldset';
import {
ValidationErrorContext,
ValidationErrorsProvider,
filterErrors,
} from 'components/admin/forms/ValidationErrors';
-import {ObjectsAPIGroup} from 'components/admin/forms/objects_api';
import BasicOptionsFieldset from './BasicOptionsFieldset';
+import LegacyOptionsFieldset from './LegacyOptionsFieldset';
import ManageVariableToPropertyMappings from './ManageVariableToPropertyMappings';
+import ObjectsAPIOptionsFieldset from './ObjectsAPIOptionsFieldset';
import OptionalOptionsFieldset from './OptionalOptionsFieldset';
-import {LegacyCaseType, LegacyDocumentType, ObjectType, ObjectTypeVersion} from './fields';
-
-/**
- * Callback to invoke when the API group changes - used to reset the dependent fields.
- */
-const onApiGroupChange = prevValues => ({
- ...prevValues,
- objecttype: '',
- objecttypeVersion: undefined,
-});
+import useCatalogueOptions from './useCatalogueOptions';
const ZGWFormFields = ({
name,
@@ -35,11 +25,15 @@ const ZGWFormFields = ({
confidentialityLevelChoices,
}) => {
const {
- values: {propertyMappings = [], objecttype = ''},
+ values: {propertyMappings = []},
} = useFormikContext();
const validationErrors = useContext(ValidationErrorContext);
const relevantErrors = filterErrors(name, validationErrors);
+ // load the available catalogues
+ const {loadingCatalogues, catalogueOptionGroups, cataloguesError, catalogueUrl} =
+ useCatalogueOptions();
+
const numCasePropertyErrors = filterErrors(`${name}.propertyMappings`, validationErrors).length;
const numBaseErrors = relevantErrors.length - numCasePropertyErrors;
@@ -66,54 +60,19 @@ const ZGWFormFields = ({
{/* Base configuration */}
-
-
- {/* @deprecated */}
-
- }
- fieldNames={['zaaktype', 'informatieobjecttype']}
- collapsible
- >
-
-
-
-
-
-
-
-
-
-
- }
- collapsible
- fieldNames={['objecttype', 'objecttypeVersion', 'contentJson']}
- >
-
-
-
-
-
+
+
+
+
{/* zaakeigenschappen / case properties */}
diff --git a/src/openforms/js/components/admin/form_design/registrations/zgw/ZGWOptionsFormFields.stories.js b/src/openforms/js/components/admin/form_design/registrations/zgw/ZGWOptionsFormFields.stories.js
index 3707b86e93..1f2b49c2da 100644
--- a/src/openforms/js/components/admin/form_design/registrations/zgw/ZGWOptionsFormFields.stories.js
+++ b/src/openforms/js/components/admin/form_design/registrations/zgw/ZGWOptionsFormFields.stories.js
@@ -9,7 +9,13 @@ import {
import {rsSelect} from 'utils/storybookTestHelpers';
import ZGWFormFields from './ZGWOptionsFormFields';
-import {mockCaseTypesGet, mockCataloguesGet, mockDocumenTypesGet, mockProductsGet} from './mocks';
+import {
+ mockCaseTypesGet,
+ mockCataloguesGet,
+ mockCataloguesGetError,
+ mockDocumenTypesGet,
+ mockProductsGet,
+} from './mocks';
const NAME = 'form.registrationBackends.0.options';
@@ -54,7 +60,12 @@ export default {
},
parameters: {
msw: {
- handlers: [mockCataloguesGet(), mockCaseTypesGet(), mockDocumenTypesGet(), mockProductsGet()],
+ handlers: {
+ catalogues: [mockCataloguesGet()],
+ caseTypes: [mockCaseTypesGet()],
+ documentTypes: [mockDocumenTypesGet()],
+ products: [mockProductsGet()],
+ },
},
},
};
@@ -76,11 +87,16 @@ export const ValidationErrorsBaseTab = {
args: {
validationErrors: [
[`${NAME}.zgwApiGroup`, 'Computer says no'],
+ [`${NAME}.catalogue`, 'Computer says no'],
+ [`${NAME}.caseTypeIdentification`, 'Computer says no'],
+ [`${NAME}.documentTypeDescription`, 'Computer says no'],
[`${NAME}.zaaktype`, 'Computer says no'],
[`${NAME}.informatieobjecttype`, 'Computer says no'],
[`${NAME}.organisatieRsin`, 'Computer says no'],
[`${NAME}.zaakVertrouwelijkheidaanduiding`, 'Computer says no'],
[`${NAME}.medewerkerRoltype`, 'Computer says no'],
+ [`${NAME}.productUrl`, 'Computer says no'],
+ [`${NAME}.objectsApiGroup`, 'Computer says no'],
[`${NAME}.objecttype`, 'Computer says no'],
[`${NAME}.objecttypeVersion`, 'Computer says no'],
[`${NAME}.contentJson`, 'Computer says no'],
@@ -132,3 +148,20 @@ export const SelectCaseTypeAndDocumentType = {
await rsSelect(documentTypeSelect, 'Attachment');
},
};
+
+export const CataloguesLoadingFails = {
+ args: {
+ formData: {
+ zgwApiGroup: 1,
+ zaaktype: '',
+ propertyMappings: [],
+ },
+ },
+ parameters: {
+ msw: {
+ handlers: {
+ catalogues: [mockCataloguesGetError()],
+ },
+ },
+ },
+};
diff --git a/src/openforms/js/components/admin/form_design/registrations/zgw/mocks.js b/src/openforms/js/components/admin/form_design/registrations/zgw/mocks.js
index 605ee97ec8..72b5d26331 100644
--- a/src/openforms/js/components/admin/form_design/registrations/zgw/mocks.js
+++ b/src/openforms/js/components/admin/form_design/registrations/zgw/mocks.js
@@ -29,6 +29,11 @@ export const mockCataloguesGet = () =>
HttpResponse.json(CATALOGUES)
);
+export const mockCataloguesGetError = () =>
+ http.get(`${API_BASE_URL}/api/v2/registration/plugins/zgw-api/catalogues`, () =>
+ HttpResponse.json({unexpected: 'error'}, {status: 500})
+ );
+
const CASE_TYPES = {
'https://example.com/catalogi/api/v1/catalogussen/1': [
{
@@ -143,14 +148,14 @@ export const mockDocumenTypesGet = () =>
const PRODUCTS = [
{
- uri: 'https://example.com/product/1234',
+ url: 'https://example.com/product/1234',
},
{
- uri: 'https://example.com/product/4321',
+ url: 'https://example.com/product/4321',
description: undefined,
},
{
- uri: 'https://example.com/product/1423',
+ url: 'https://example.com/product/1423',
description: 'Product 1423',
},
];
diff --git a/src/openforms/js/components/admin/form_design/registrations/zgw/useCatalogueOptions.js b/src/openforms/js/components/admin/form_design/registrations/zgw/useCatalogueOptions.js
new file mode 100644
index 0000000000..e19e271f60
--- /dev/null
+++ b/src/openforms/js/components/admin/form_design/registrations/zgw/useCatalogueOptions.js
@@ -0,0 +1,90 @@
+import {useFormikContext} from 'formik';
+import {useAsync, usePrevious, useUpdateEffect} from 'react-use';
+
+import {getCatalogueOption} from 'components/admin/forms/zgw';
+
+import {getCatalogues} from './utils';
+
+/**
+ * Hook that manages everything related to the ZGW API group available catalogues.
+ *
+ * It's responsible for retrieving the options and the derived catalogueUrl if a
+ * catalogue is selected. It also takes care of resetting dependent form state if the
+ * catalogue changes.
+ */
+const useCatalogueOptions = () => {
+ const {
+ values: {
+ zgwApiGroup = null,
+ catalogue = undefined,
+ caseTypeIdentification = '',
+ documentTypeDescription = '',
+ medewerkerRoltype = '',
+ productUrl = '',
+ },
+ setFieldValue,
+ } = useFormikContext();
+
+ const previousCatalogue = usePrevious(catalogue);
+ const previousCaseTypeIdentification = usePrevious(caseTypeIdentification);
+
+ // fetch available catalogues and re-use the result
+ const {
+ loading: loadingCatalogues,
+ value: catalogueOptionGroups = [],
+ error: cataloguesError,
+ } = useAsync(async () => {
+ if (!zgwApiGroup) return [];
+ return await getCatalogues(zgwApiGroup);
+ }, [zgwApiGroup]);
+
+ const catalogueValue = getCatalogueOption(catalogueOptionGroups, catalogue || {});
+ const catalogueUrl = catalogueValue?.url;
+
+ // Synchronize dependent fields when dependencies change.
+ // 1. Clear case type when catalogue changes.
+ useUpdateEffect(() => {
+ const catalogueChanged = catalogue !== previousCatalogue;
+ if (previousCatalogue && catalogueChanged && caseTypeIdentification) {
+ setFieldValue('caseTypeIdentification', '');
+ }
+ }, [setFieldValue, previousCatalogue, catalogue, caseTypeIdentification]);
+
+ // 2. Clear document type when case type changes
+ useUpdateEffect(() => {
+ const caseTypeChanged = caseTypeIdentification !== previousCaseTypeIdentification;
+ if (previousCaseTypeIdentification && caseTypeChanged && documentTypeDescription) {
+ setFieldValue('documentTypeDescription', '');
+ }
+ }, [
+ setFieldValue,
+ previousCaseTypeIdentification,
+ caseTypeIdentification,
+ documentTypeDescription,
+ ]);
+
+ // 3. Clear selected product when case type changes
+ useUpdateEffect(() => {
+ const caseTypeChanged = caseTypeIdentification !== previousCaseTypeIdentification;
+ if (previousCaseTypeIdentification && caseTypeChanged && productUrl) {
+ setFieldValue('productUrl', '');
+ }
+ }, [setFieldValue, previousCaseTypeIdentification, caseTypeIdentification, productUrl]);
+
+ // 4. Clear medewerker roltype when case type changes
+ useUpdateEffect(() => {
+ const caseTypeChanged = caseTypeIdentification !== previousCaseTypeIdentification;
+ if (previousCaseTypeIdentification && caseTypeChanged && medewerkerRoltype) {
+ setFieldValue('medewerkerRoltype', '');
+ }
+ }, [setFieldValue, previousCaseTypeIdentification, caseTypeIdentification, medewerkerRoltype]);
+
+ return {
+ loadingCatalogues,
+ catalogueOptionGroups,
+ cataloguesError,
+ catalogueUrl,
+ };
+};
+
+export default useCatalogueOptions;
diff --git a/src/openforms/js/components/admin/forms/zgw/CatalogueSelect.js b/src/openforms/js/components/admin/forms/zgw/CatalogueSelect.js
index ff74f63ec8..f811ea7a44 100644
--- a/src/openforms/js/components/admin/forms/zgw/CatalogueSelect.js
+++ b/src/openforms/js/components/admin/forms/zgw/CatalogueSelect.js
@@ -78,22 +78,24 @@ const CatalogueSelect = ({label, isDisabled = false, loading, optionGroups}) =>
);
};
+export const CatalogueSelectOptions = PropTypes.arrayOf(
+ PropTypes.shape({
+ label: PropTypes.string.isRequired,
+ options: PropTypes.arrayOf(
+ PropTypes.shape({
+ rsin: PropTypes.string.isRequired,
+ domain: PropTypes.string.isRequired,
+ label: PropTypes.string.isRequired,
+ })
+ ).isRequired,
+ })
+);
+
CatalogueSelect.propTypes = {
label: PropTypes.node.isRequired,
isDisabled: PropTypes.bool,
loading: PropTypes.bool.isRequired,
- optionGroups: PropTypes.arrayOf(
- PropTypes.shape({
- label: PropTypes.string.isRequired,
- options: PropTypes.arrayOf(
- PropTypes.shape({
- rsin: PropTypes.string.isRequired,
- domain: PropTypes.string.isRequired,
- label: PropTypes.string.isRequired,
- })
- ).isRequired,
- })
- ),
+ optionGroups: CatalogueSelectOptions,
};
export default CatalogueSelect;
diff --git a/src/openforms/js/components/admin/forms/zgw/index.js b/src/openforms/js/components/admin/forms/zgw/index.js
index a227a42ef0..e771ba7cf5 100644
--- a/src/openforms/js/components/admin/forms/zgw/index.js
+++ b/src/openforms/js/components/admin/forms/zgw/index.js
@@ -3,6 +3,7 @@
*/
export {
default as CatalogueSelect,
+ CatalogueSelectOptions,
extractValue as getCatalogueOption,
groupAndSortOptions as groupAndSortCatalogueOptions,
} from './CatalogueSelect';
diff --git a/src/openforms/js/lang/en.json b/src/openforms/js/lang/en.json
index 0c535db7ce..e4b6a7dbf7 100644
--- a/src/openforms/js/lang/en.json
+++ b/src/openforms/js/lang/en.json
@@ -1214,6 +1214,11 @@
"description": "Add process variable button",
"originalDefault": "Add variable"
},
+ "LbiXCA": {
+ "defaultMessage": "Something went wrong while retrieving the available products defined in the selected case. Please check that the services in the selected API group are configured correctly.",
+ "description": "ZGW APIs registrations options: case product error",
+ "originalDefault": "Something went wrong while retrieving the available products defined in the selected case. Please check that the services in the selected API group are configured correctly."
+ },
"LeVpdf": {
"defaultMessage": "Plugin configuration: Email",
"description": "Email registration options modal title",
@@ -2494,11 +2499,6 @@
"description": "Add item to multi-input field",
"originalDefault": "Add item"
},
- "ln2iyc": {
- "defaultMessage": "Something went wrong while retrieving the available catalogues or products defined in the selected case. Please check that the services in the selected API group are configured correctly.",
- "description": "ZGW APIs registrations options: case product error",
- "originalDefault": "Something went wrong while retrieving the available catalogues or products defined in the selected case. Please check that the services in the selected API group are configured correctly."
- },
"ln72CJ": {
"defaultMessage": "URL to the object type in the objecttypes API. If provided, an object will be created and a case object relation will be added to the case.",
"description": "ZGW APIs registration options 'objecttype' help text",
diff --git a/src/openforms/js/lang/nl.json b/src/openforms/js/lang/nl.json
index d078487879..763208f174 100644
--- a/src/openforms/js/lang/nl.json
+++ b/src/openforms/js/lang/nl.json
@@ -1223,6 +1223,11 @@
"description": "Add process variable button",
"originalDefault": "Add variable"
},
+ "LbiXCA": {
+ "defaultMessage": "Er ging iets fout bij het ophalen van de beschikbare producten binnen het geselecteerde zaaktype. Controleer of de services in de geselecteerde API-groep goed ingesteld zijn.",
+ "description": "ZGW APIs registrations options: case product error",
+ "originalDefault": "Something went wrong while retrieving the available products defined in the selected case. Please check that the services in the selected API group are configured correctly."
+ },
"LeVpdf": {
"defaultMessage": "Plugin-insellingen: e-mail",
"description": "Email registration options modal title",
@@ -2515,11 +2520,6 @@
"description": "Add item to multi-input field",
"originalDefault": "Add item"
},
- "ln2iyc": {
- "defaultMessage": "Er ging iets fout bij het ophalen van de beschikbare catalogi of geselecteerde zaak producten. Controleer of de services in de geselecteerde API-groep goed ingesteld zijn.",
- "description": "ZGW APIs registrations options: case product error",
- "originalDefault": "Something went wrong while retrieving the available catalogues or products defined in the selected case. Please check that the services in the selected API group are configured correctly."
- },
"ln72CJ": {
"defaultMessage": "Objecttyperesource-URL in de Objecttypen-API. Wanneer dit ingesteld is, dan wordt een object van dit type aangemaakt en aan de zaak gerelateerd.",
"description": "ZGW APIs registration options 'objecttype' help text",