From 1e1a4ee4c4d573805bed74f109e8fd5fa19f5c1a Mon Sep 17 00:00:00 2001 From: Pavel Dohnal Date: Tue, 14 Apr 2020 10:54:47 +0200 Subject: [PATCH] Save slide in form to server [MAILPOET-2742] --- .../store/map_form_data_after_loading.jsx | 24 +++++++++++-------- .../store/map_form_data_before_saving.jsx | 22 ++++++++++++++++- 2 files changed, 35 insertions(+), 11 deletions(-) diff --git a/assets/js/src/form_editor/store/map_form_data_after_loading.jsx b/assets/js/src/form_editor/store/map_form_data_after_loading.jsx index 767b7125c0..8bfb3e3bb4 100644 --- a/assets/js/src/form_editor/store/map_form_data_after_loading.jsx +++ b/assets/js/src/form_editor/store/map_form_data_after_loading.jsx @@ -1,13 +1,13 @@ -export default function mapFormDataAfterLoading(data) { - let popupFormDelay = parseInt(data.settings.popup_form_delay, 10); - if (Number.isNaN(popupFormDelay)) { - popupFormDelay = undefined; - } - let fixedBarFormDelay = parseInt(data.settings.fixed_bar_form_delay, 10); - if (Number.isNaN(fixedBarFormDelay)) { - fixedBarFormDelay = undefined; +function asNum(num) { + const numI = parseInt(num, 10); + if (Number.isNaN(numI)) { + return undefined; } + return numI; +} + +export default function mapFormDataAfterLoading(data) { return { ...data, settings: { @@ -16,11 +16,15 @@ export default function mapFormDataAfterLoading(data) { placeFormBellowAllPosts: data.settings.place_form_bellow_all_posts === '1', placePopupFormOnAllPages: data.settings.place_popup_form_on_all_pages === '1', placePopupFormOnAllPosts: data.settings.place_popup_form_on_all_posts === '1', - popupFormDelay, + popupFormDelay: asNum(data.settings.popup_form_delay), placeFixedBarFormOnAllPages: data.settings.place_fixed_bar_form_on_all_pages === '1', placeFixedBarFormOnAllPosts: data.settings.place_fixed_bar_form_on_all_posts === '1', - fixedBarFormDelay, + fixedBarFormDelay: asNum(data.settings.fixed_bar_form_delay), fixedBarFormPosition: data.settings.fixed_bar_form_position, + placeSlideInFormOnAllPages: data.settings.place_slide_in_form_on_all_pages === '1', + placeSlideInFormOnAllPosts: data.settings.place_slide_in_form_on_all_posts === '1', + slideInFormDelay: asNum(data.settings.slide_in_form_delay), + slideInFormPosition: data.settings.slide_in_form_position, }, }; } diff --git a/assets/js/src/form_editor/store/map_form_data_before_saving.jsx b/assets/js/src/form_editor/store/map_form_data_before_saving.jsx index f8fca29c92..abce95842b 100644 --- a/assets/js/src/form_editor/store/map_form_data_before_saving.jsx +++ b/assets/js/src/form_editor/store/map_form_data_before_saving.jsx @@ -1,5 +1,5 @@ export default function mapFormDataBeforeSaving(data) { - return { + const mappedData = { ...data, settings: { ...data.settings, @@ -12,6 +12,26 @@ export default function mapFormDataBeforeSaving(data) { place_fixed_bar_form_on_all_posts: data.settings.placeFixedBarFormOnAllPosts === true ? '1' : '', fixed_bar_form_delay: data.settings.fixedBarFormDelay, fixed_bar_form_position: data.settings.fixedBarFormPosition, + place_slide_in_form_on_all_pages: data.settings.placeSlideInFormOnAllPages === true ? '1' : '', + place_slide_in_form_on_all_posts: data.settings.placeSlideInFormOnAllPosts === true ? '1' : '', + slide_in_form_delay: data.settings.slideInFormDelay, + slide_in_form_position: data.settings.slideInFormPosition, }, }; + + delete mappedData.settings.placeFormBellowAllPages; + delete mappedData.settings.placeFormBellowAllPosts; + delete mappedData.settings.placePopupFormOnAllPages; + delete mappedData.settings.placePopupFormOnAllPosts; + delete mappedData.settings.popupFormDelay; + delete mappedData.settings.placeFixedBarFormOnAllPages; + delete mappedData.settings.placeFixedBarFormOnAllPosts; + delete mappedData.settings.fixedBarFormDelay; + delete mappedData.settings.fixedBarFormPosition; + delete mappedData.settings.placeSlideInFormOnAllPages; + delete mappedData.settings.placeSlideInFormOnAllPosts; + delete mappedData.settings.slideInFormDelay; + delete mappedData.settings.slideInFormPosition; + + return mappedData; }