From d3399ca883dcbc7be7dd8e44d51031966d646919 Mon Sep 17 00:00:00 2001 From: Rostislav Wolny Date: Wed, 18 Dec 2019 14:09:36 +0100 Subject: [PATCH] Add date field settings data to store [MAILPOET-2453] --- assets/js/src/form_editor/store/selectors.jsx | 3 +++ assets/js/src/form_editor/store/store.jsx | 6 ++++++ lib/AdminPages/Pages/FormEditor.php | 7 ++++++- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/assets/js/src/form_editor/store/selectors.jsx b/assets/js/src/form_editor/store/selectors.jsx index b23e3ada3d..9c6edac7df 100644 --- a/assets/js/src/form_editor/store/selectors.jsx +++ b/assets/js/src/form_editor/store/selectors.jsx @@ -53,4 +53,7 @@ export default { getFormBlocks(state) { return state.formBlocks; }, + getDateSettingsData(state) { + return state.dateSettingsData; + }, }; diff --git a/assets/js/src/form_editor/store/store.jsx b/assets/js/src/form_editor/store/store.jsx index 88e5b111fd..27f0111dba 100644 --- a/assets/js/src/form_editor/store/store.jsx +++ b/assets/js/src/form_editor/store/store.jsx @@ -14,10 +14,16 @@ export default () => { const formData = { ...window.mailpoet_form_data }; const formBlocks = formBodyToBlocks(formData.body, window.mailpoet_custom_fields); delete formData.body; + const dateSettingData = { + dateTypes: window.mailpoet_date_types, + dateFormats: window.mailpoet_date_formats, + moths: window.mailpoet_months, + }; formData.settings.segments = formData.settings.segments ? formData.settings.segments : []; const defaultState = { formBlocks, formData, + dateSettingData, sidebarOpened: true, formExports: window.mailpoet_form_exports, formErrors: validateForm(formData, formBlocks), diff --git a/lib/AdminPages/Pages/FormEditor.php b/lib/AdminPages/Pages/FormEditor.php index 4f24158e0c..3a3284058e 100644 --- a/lib/AdminPages/Pages/FormEditor.php +++ b/lib/AdminPages/Pages/FormEditor.php @@ -66,10 +66,15 @@ class FormEditor { $data['form']['styles'] = FormRenderer::getStyles($form); $custom_fields = $this->custom_fields_repository->findAll(); $data['custom_fields'] = $this->custom_fields_response_builder->buildBatch($custom_fields); + $data['date_types'] = array_map(function ($label, $value) { + return [ + 'label' => $label, + 'value' => $value, + ]; + }, $data['date_types'], array_keys($data['date_types'])); $this->page_renderer->displayPage('form/editor.html', $data); } else { $this->page_renderer->displayPage('form/editor_legacy.html', $data); } - } }