From fd7e34f6d3ae16f3ed2c987cf270950645a48506 Mon Sep 17 00:00:00 2001 From: Josh Pollock Date: Thu, 11 Jun 2020 15:13:36 -0400 Subject: [PATCH] #3425 don't try to save processors that do not exist --- .gitignore | 2 +- clients/form-builder/index.js | 12 +++++++++--- package.json | 4 ++-- yarn.lock | 8 ++++---- 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/.gitignore b/.gitignore index 1ce0f67a4..73f6c7289 100755 --- a/.gitignore +++ b/.gitignore @@ -36,4 +36,4 @@ dist/caldera-hot-load/* !dist/react.min.js !dist/react-dom.min.js -clients/build \ No newline at end of file +clients/*/build \ No newline at end of file diff --git a/clients/form-builder/index.js b/clients/form-builder/index.js index 3054ea33c..f2a911092 100644 --- a/clients/form-builder/index.js +++ b/clients/form-builder/index.js @@ -74,7 +74,7 @@ const HandleSave = ({ jQuery, formId }) => { ConditionalsContext ); //Get processors - const { processors, hasProcessors } = React.useContext(ProcessorsContext); + const { processors } = React.useContext(ProcessorsContext); //Track if we're saving or not const [isSaving, setIsSaving] = React.useState(false); @@ -111,8 +111,10 @@ const HandleSave = ({ jQuery, formId }) => { data_fields.config.conditional_groups = {}; } - if (hasProcessors) { + //processors includes removed processors, so check legacy state + if (data_fields.config.processors) { let _processors = {}; + //Loop through processors in React state, prepare to save those known by legacy state Object.keys(processors).forEach( processorId => { if( data_fields.config.processors.hasOwnProperty(processorId ) ){ _processors[processorId] = processors[processorId]; @@ -262,7 +264,7 @@ const SubscribeToProcessorChanges = ({ jQuery }) => { updateProcessor, getProcessor, setActiveProcessorId, - activeProcessorId, + addProcessor } = React.useContext(ProcessorsContext); React.useEffect(() => { @@ -277,6 +279,10 @@ const SubscribeToProcessorChanges = ({ jQuery }) => { } }); + jQuery(document).on('processor.added', (event, data) => { + addProcessor(data.processor.type, data.processor.id); + }); + //Activate processor when clicked on jQuery(".caldera-processor-nav a").on("click", function () { setActiveProcessorId(jQuery(this).parent().data("pid")); diff --git a/package.json b/package.json index 0571d8f6c..878891136 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "keywords": [ "WordPress" ], - "author": "Caldera Labs", + "author": "Caldera Forms", "license": "GPL-2.0", "bugs": { "url": "https://github.com/CalderaWP/Caldera-Forms/issues" @@ -44,7 +44,7 @@ "ie > 8" ], "dependencies": { - "@calderajs/form-builder": "1.2.3", + "@calderajs/form-builder": "1.2.4", "@cypress/webpack-preprocessor": "^4.1.1", "@wordpress/api-fetch": "latest", "@wordpress/keycodes": "^2.3.0", diff --git a/yarn.lock b/yarn.lock index 5c2d5383d..89c3a0d83 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1091,10 +1091,10 @@ "@babel/preset-env" "^7.3.1" "@babel/preset-react" "^7.0.0" -"@calderajs/form-builder@1.2.3": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@calderajs/form-builder/-/form-builder-1.2.3.tgz#938ca6438ce73cf5c1d6f87503cc5db3e37deed5" - integrity sha512-tudVAl8beCayzXfaytfRrw+nkmNbBXq06Za5SNqmcGFfjR35ox38nDeHwYL79I6OfEq2tmM8Y7c6WqYhdP2K+w== +"@calderajs/form-builder@1.2.4": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@calderajs/form-builder/-/form-builder-1.2.4.tgz#37bb4caa46f2bc8e45bdf3257c45d0db89344ece" + integrity sha512-K1fQsbx6n0pCOPBGhSLDaJ2CmftR5tCA2y14KvN67MZn0i8fzaMb3iURewOeDUqp94cXRnk+Y7BDjJsPnTtR9w== dependencies: "@types/dot-object" "^1.7.0" deep-clone "^3.0.3"