From 8f8a3753bd78d781f57dac6089f56731f77149fd Mon Sep 17 00:00:00 2001 From: Saif Sultan Date: Thu, 8 May 2025 23:18:06 +0530 Subject: [PATCH 1/4] `gpld-populate-new-minimum-date-into-linked-date-field.js`: Fixed an issue with default value of field notgetting used to apply minimum date. --- ...ate-new-minimum-date-into-linked-date-field.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/gp-limit-dates/gpld-populate-new-minimum-date-into-linked-date-field.js b/gp-limit-dates/gpld-populate-new-minimum-date-into-linked-date-field.js index 37ac5b9c1..f8abb1601 100644 --- a/gp-limit-dates/gpld-populate-new-minimum-date-into-linked-date-field.js +++ b/gp-limit-dates/gpld-populate-new-minimum-date-into-linked-date-field.js @@ -10,6 +10,17 @@ * 1. Install this snippet with our free Custom JavaScript plugin. * https://gravitywiz.com/gravity-forms-code-chest/ */ - gform.addAction( 'gpld_after_set_min_date', function( $input, date ) { - $input.datepicker( 'setDate', date ); +const sourceFieldId = 25; // Replace with the ID of the source field (Field A) +document.addEventListener( 'gform/post_render', ( event ) => { + const $field = jQuery( `#input_GFFORMID_${sourceFieldId}` ); + const value = $field.val(); + if ( value ) { + requestAnimationFrame( function(){ + $field.trigger( 'input' ).trigger( 'change' ); + }); + } +}); + +gform.addAction( 'gpld_after_set_min_date', function( $input, date ) { + $input.datepicker( 'setDate', date ); } ); From 59cc8495400d56b87c36df59a475152c1a6b38f9 Mon Sep 17 00:00:00 2001 From: Saif Sultan Date: Fri, 9 May 2025 18:25:58 +0530 Subject: [PATCH 2/4] `gpld-populate-new-minimum-date-into-linked-date-field.js`: Fixed an issue with default value of field notgetting used to apply minimum date. --- ...new-minimum-date-into-linked-date-field.js | 36 +++++++++++++++---- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/gp-limit-dates/gpld-populate-new-minimum-date-into-linked-date-field.js b/gp-limit-dates/gpld-populate-new-minimum-date-into-linked-date-field.js index f8abb1601..8eada6ad5 100644 --- a/gp-limit-dates/gpld-populate-new-minimum-date-into-linked-date-field.js +++ b/gp-limit-dates/gpld-populate-new-minimum-date-into-linked-date-field.js @@ -11,15 +11,37 @@ * https://gravitywiz.com/gravity-forms-code-chest/ */ const sourceFieldId = 25; // Replace with the ID of the source field (Field A) -document.addEventListener( 'gform/post_render', ( event ) => { - const $field = jQuery( `#input_GFFORMID_${sourceFieldId}` ); - const value = $field.val(); - if ( value ) { - requestAnimationFrame( function(){ - $field.trigger( 'input' ).trigger( 'change' ); + +// Initialize field events on form render. +document.addEventListener( 'gform/post_render', (event) => { + const formId = event.detail.formId; // Get the form ID from the event + const $field = getSourceField(formId, sourceFieldId); + triggerFieldEventsIfValueExists($field); +}); + +// Handle conditional logic changes. +gform.addAction( + 'gform_post_conditional_logic_field_action', + (formId, action, targetId, defaultValues, isInit) => { + const $field = getSourceField(formId, sourceFieldId); + triggerFieldEventsIfValueExists($field); + } +); + +// Triggers input and change events on a field if it has a value. +const triggerFieldEventsIfValueExists = ($field) => { + const value = $field.val(); + if (value) { + requestAnimationFrame(() => { + $field.trigger('input').trigger('change'); }); } -}); +}; + +// Get the source field based on form ID and field ID. +const getSourceField = (formId, fieldId) => { + return jQuery(`#input_${formId}_${fieldId}`); +}; gform.addAction( 'gpld_after_set_min_date', function( $input, date ) { $input.datepicker( 'setDate', date ); From d44d24420614519ca53cd42c7e4abb824605b528 Mon Sep 17 00:00:00 2001 From: Saif Sultan Date: Fri, 9 May 2025 18:26:31 +0530 Subject: [PATCH 3/4] `gpld-populate-new-minimum-date-into-linked-date-field.js`: Fixed an issue with default value of field notgetting used to apply minimum date. --- .../gpld-populate-new-minimum-date-into-linked-date-field.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gp-limit-dates/gpld-populate-new-minimum-date-into-linked-date-field.js b/gp-limit-dates/gpld-populate-new-minimum-date-into-linked-date-field.js index 8eada6ad5..90d0af2ff 100644 --- a/gp-limit-dates/gpld-populate-new-minimum-date-into-linked-date-field.js +++ b/gp-limit-dates/gpld-populate-new-minimum-date-into-linked-date-field.js @@ -14,7 +14,7 @@ const sourceFieldId = 25; // Replace with the ID of the source field (Field A) // Initialize field events on form render. document.addEventListener( 'gform/post_render', (event) => { - const formId = event.detail.formId; // Get the form ID from the event + const formId = event.detail.formId; const $field = getSourceField(formId, sourceFieldId); triggerFieldEventsIfValueExists($field); }); From 1440cb6c62ac913e5e07e6adf923ef386bab92a2 Mon Sep 17 00:00:00 2001 From: Saif Sultan Date: Tue, 13 May 2025 02:57:15 +0530 Subject: [PATCH 4/4] `gpld-populate-new-minimum-date-into-linked-date-field.js`: Fixed an issue with default value of field notgetting used to apply minimum date. --- .../gpld-populate-new-minimum-date-into-linked-date-field.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gp-limit-dates/gpld-populate-new-minimum-date-into-linked-date-field.js b/gp-limit-dates/gpld-populate-new-minimum-date-into-linked-date-field.js index 90d0af2ff..3824ae302 100644 --- a/gp-limit-dates/gpld-populate-new-minimum-date-into-linked-date-field.js +++ b/gp-limit-dates/gpld-populate-new-minimum-date-into-linked-date-field.js @@ -23,6 +23,11 @@ document.addEventListener( 'gform/post_render', (event) => { gform.addAction( 'gform_post_conditional_logic_field_action', (formId, action, targetId, defaultValues, isInit) => { + // Only for fields and when we are not hiding them. + if (action == 'hide' || targetId == '#gform_submit_button_' + formId) { + return; + } + const $field = getSourceField(formId, sourceFieldId); triggerFieldEventsIfValueExists($field); }