diff --git a/src/openforms/js/components/admin/form_design/registrations/json_dump/JSONDumpOptionsForm.js b/src/openforms/js/components/admin/form_design/registrations/json_dump/JSONDumpOptionsForm.js
index e27ca5fa5b..987e8e09c0 100644
--- a/src/openforms/js/components/admin/form_design/registrations/json_dump/JSONDumpOptionsForm.js
+++ b/src/openforms/js/components/admin/form_design/registrations/json_dump/JSONDumpOptionsForm.js
@@ -2,7 +2,6 @@ import PropTypes from 'prop-types';
import React, {useContext} from 'react';
import {FormattedMessage} from 'react-intl';
-import {FormContext} from 'components/admin/form_design/Context';
import Fieldset from 'components/admin/forms/Fieldset';
import ModalOptionsConfiguration from 'components/admin/forms/ModalOptionsConfiguration';
import {
@@ -12,23 +11,12 @@ import {
} from 'components/admin/forms/ValidationErrors';
import {getChoicesFromSchema} from 'utils/json-schema';
-import {FormVariablesSelect, Path, ServiceSelect} from './fields';
+import {Path, ServiceSelect, Variables} from './fields';
const JSONDumpOptionsForm = ({name, label, schema, formData, onChange}) => {
const validationErrors = useContext(ValidationErrorContext);
const relevantErrors = filterErrors(name, validationErrors);
- // Get form variables and create form variable options
- const formContext = useContext(FormContext);
- const formVariables = formContext.formVariables ?? [];
- const staticVariables = formContext.staticVariables ?? [];
- const allVariables = staticVariables.concat(formVariables);
-
- const variableOptions = [];
- for (const variable of allVariables) {
- variableOptions.push({value: variable.key, label: variable.name});
- }
-
// Create service options
const {service} = schema.properties;
const serviceOptions = getChoicesFromSchema(service.enum, service.enumNames).map(
@@ -53,13 +41,13 @@ const JSONDumpOptionsForm = ({name, label, schema, formData, onChange}) => {
...formData,
}}
onSubmit={values => onChange({formData: values})}
- modalSize="medium"
+ modalSize="large"
>
diff --git a/src/openforms/js/components/admin/form_design/registrations/json_dump/JSONDumpVariableConfigurationEditor.js b/src/openforms/js/components/admin/form_design/registrations/json_dump/JSONDumpVariableConfigurationEditor.js
index 31bb9b8fea..75f5b4077c 100644
--- a/src/openforms/js/components/admin/form_design/registrations/json_dump/JSONDumpVariableConfigurationEditor.js
+++ b/src/openforms/js/components/admin/form_design/registrations/json_dump/JSONDumpVariableConfigurationEditor.js
@@ -37,7 +37,7 @@ const JSONDumpVariableConfigurationEditor = ({variable}) => {
const newVariables = shouldBeIncluded
? [...variables, variable.key] // add the variable to the array
: variables.filter(key => key !== variable.key); // remove the variable from the array
- setFieldValue('variables', variables);
+ setFieldValue('variables', newVariables);
}}
/>
diff --git a/src/openforms/js/components/admin/form_design/registrations/json_dump/fields/FormVariablesSelect.js b/src/openforms/js/components/admin/form_design/registrations/json_dump/fields/FormVariablesSelect.js
deleted file mode 100644
index 7ac5993b2b..0000000000
--- a/src/openforms/js/components/admin/form_design/registrations/json_dump/fields/FormVariablesSelect.js
+++ /dev/null
@@ -1,66 +0,0 @@
-import {useField} from 'formik';
-import PropTypes from 'prop-types';
-import React from 'react';
-import {FormattedMessage} from 'react-intl';
-
-import Field from 'components/admin/forms/Field';
-import FormRow from 'components/admin/forms/FormRow';
-import ReactSelect from 'components/admin/forms/ReactSelect';
-
-const FormVariablesSelect = ({options}) => {
- const [fieldProps, , {setValue}] = useField('variables');
-
- const values = [];
- if (fieldProps.value && fieldProps.value.length) {
- fieldProps.value.forEach(item => {
- const selectedOption = options.find(option => option.value === item);
- if (selectedOption) {
- values.push(selectedOption);
- }
- });
- }
-
- return (
-
-
- }
- helpText={
-
- }
- required
- noManageChildProps
- >
- {
- setValue(newValue.map(item => item.value));
- }}
- />
-
-
- );
-};
-
-FormVariablesSelect.propTypes = {
- options: PropTypes.arrayOf(
- PropTypes.shape({
- value: PropTypes.string.isRequired,
- label: PropTypes.node.isRequired,
- })
- ).isRequired,
-};
-
-export default FormVariablesSelect;
diff --git a/src/openforms/js/components/admin/form_design/registrations/json_dump/fields/Variables.js b/src/openforms/js/components/admin/form_design/registrations/json_dump/fields/Variables.js
new file mode 100644
index 0000000000..2d934a3ced
--- /dev/null
+++ b/src/openforms/js/components/admin/form_design/registrations/json_dump/fields/Variables.js
@@ -0,0 +1,43 @@
+import {useField} from 'formik';
+import React from 'react';
+import {FormattedMessage} from 'react-intl';
+
+import Field from 'components/admin/forms/Field';
+import FormRow from 'components/admin/forms/FormRow';
+import VariableSelection from 'components/admin/forms/VariableSelection';
+
+const Variables = () => {
+ const [fieldProps] = useField('variables');
+
+ return (
+
+
+ }
+ helpText={
+
+ }
+ required
+ noManageChildProps
+ >
+
+
+
+ );
+};
+
+export default Variables;
diff --git a/src/openforms/js/components/admin/form_design/registrations/json_dump/fields/index.js b/src/openforms/js/components/admin/form_design/registrations/json_dump/fields/index.js
index 2b2cab17e5..ab0ba696a9 100644
--- a/src/openforms/js/components/admin/form_design/registrations/json_dump/fields/index.js
+++ b/src/openforms/js/components/admin/form_design/registrations/json_dump/fields/index.js
@@ -1,5 +1,5 @@
-import FormVariablesSelect from './FormVariablesSelect';
import Path from './Path';
import ServiceSelect from './ServiceSelect';
+import Variables from './Variables';
-export {FormVariablesSelect, Path, ServiceSelect};
+export {Path, ServiceSelect, Variables};