| 1 |
/*! |
| 2 |
WordPress plugin gravityforms-eway |
| 3 |
copyright (c) 2012-2014 WebAware Pty Ltd, released under LGPL v2.1 |
| 4 |
form editor for Recurring Payments field |
| 5 |
*/ |
| 6 |
|
| 7 |
// create namespace to avoid collisions |
| 8 |
var GFEwayRecurring = (function($) { |
| 9 |
|
| 10 |
return { |
| 11 |
/** |
| 12 |
* set the label on a subfield in the recurring field |
| 13 |
* @param {HTMLElement} field |
| 14 |
* @param {String} defaultValue |
| 15 |
*/ |
| 16 |
SetFieldLabel : function(field, defaultValue) { |
| 17 |
var newLabel = field.value; |
| 18 |
|
| 19 |
// if new label value is empty, pick up the default value instead |
| 20 |
if (!(/\S/.test(newLabel))) |
| 21 |
newLabel = defaultValue; |
| 22 |
|
| 23 |
// set the new label, and record for the field |
| 24 |
$("." + field.id).text(newLabel); |
| 25 |
SetFieldProperty(field.id, newLabel); |
| 26 |
}, |
| 27 |
|
| 28 |
/** |
| 29 |
* toggle whether to show the Initial Amount and Initial Date fields |
| 30 |
* @param {HTMLElement} field |
| 31 |
*/ |
| 32 |
ToggleInitialSetting : function(field) { |
| 33 |
SetFieldProperty(field.id, field.checked); |
| 34 |
if (field.checked) { |
| 35 |
$("#gfeway_initial_fields").slideDown(); |
| 36 |
} |
| 37 |
else { |
| 38 |
$("#gfeway_initial_fields").slideUp(); |
| 39 |
} |
| 40 |
}, |
| 41 |
|
| 42 |
/** |
| 43 |
* toggle whether to show the Start Date and End Date fields |
| 44 |
* @param {HTMLElement} field |
| 45 |
*/ |
| 46 |
ToggleRecurringDateSetting : function(field) { |
| 47 |
SetFieldProperty(field.id, field.checked); |
| 48 |
if (field.checked) { |
| 49 |
$("#gfeway_recurring_date_fields").slideDown(); |
| 50 |
} |
| 51 |
else { |
| 52 |
$("#gfeway_recurring_date_fields").slideUp(); |
| 53 |
} |
| 54 |
} |
| 55 |
}; |
| 56 |
|
| 57 |
})(jQuery); |
| 58 |
|
| 59 |
// initialise form on page load |
| 60 |
jQuery(function($) { |
| 61 |
|
| 62 |
// add required classes to the field on the admin form |
| 63 |
fieldSettings.gfewayrecurring = ".conditional_logic_field_setting, .error_message_setting, .label_setting, .admin_label_setting, .rules_setting, .description_setting, .css_class_setting, .gfewayrecurring_setting"; |
| 64 |
|
| 65 |
// binding to the load field settings event to initialize custom inputs |
| 66 |
$(document).bind("gform_load_field_settings", function(event, field, form) { |
| 67 |
|
| 68 |
$("#gfeway_initial_setting").prop("checked", !!field.gfeway_initial_setting); |
| 69 |
if (!field.gfeway_initial_setting) { |
| 70 |
$("#gfeway_initial_fields").hide(); |
| 71 |
} |
| 72 |
|
| 73 |
$("#gfeway_recurring_date_setting").prop("checked", !!field.gfeway_recurring_date_setting); |
| 74 |
if (!field.gfeway_recurring_date_setting) { |
| 75 |
$("#gfeway_recurring_date_fields").hide(); |
| 76 |
} |
| 77 |
|
| 78 |
$("#gfeway_initial_amount_label").val(field.gfeway_initial_amount_label); |
| 79 |
$("#gfeway_recurring_amount_label").val(field.gfeway_recurring_amount_label); |
| 80 |
$("#gfeway_initial_date_label").val(field.gfeway_initial_date_label); |
| 81 |
$("#gfeway_start_date_label").val(field.gfeway_start_date_label); |
| 82 |
$("#gfeway_end_date_label").val(field.gfeway_end_date_label); |
| 83 |
$("#gfeway_interval_type_label").val(field.gfeway_interval_type_label); |
| 84 |
|
| 85 |
}); |
| 86 |
|
| 87 |
}); |
| 88 |
|