Calculated Fields Form - Version 1.1.76

Version Description

  • Includes the operations SHOWFIELD, HIDEFIELD to show/hide fields without disabling them.
  • Includes new attributes in the date/time field to allow disabling the keyboard on mobiles and configure Monday as the first weekday.
  • Modifies the styles on datepickers.
  • Implements additional validations in the Captcha generator.
  • Includes new filters to modify the headers row and body rows in the Export CSV module (Professional, Developer, and Platinum versions).
Download this release

Release Info

Developer codepeople
Plugin Icon 128x128 Calculated Fields Form
Version 1.1.76
Comparing to
See all releases

Code changes from version 1.1.75 to 1.1.76

README.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: http://cff.dwbooster.com
4
  Tags: form,quote form,contact form,form builder,calculator,calculated,quote calculator,forms,form editor,advanced forms,payment calculator,payment,recurring payment,quote,fields,calculated field,price calculator,email,form design,paypal,equation editor,formula,equation,quote calculator,post,posts,plugin,widget,admin,sidebar,images,image,page,shortcode,products form,woocommerce,addons,layout,session,post,cookie,get,webhook,Dropbox,pdf,language
5
  Requires at least: 3.0.5
6
  Tested up to: 5.9
7
- Stable tag: 1.1.75
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -965,6 +965,14 @@ A: Please, follow the steps below:
965
 
966
  == Changelog ==
967
 
 
 
 
 
 
 
 
 
968
  = 1.1.75 =
969
 
970
  * Modifies functions deprecated by the latest Elementor update.
@@ -1017,17 +1025,4 @@ A: Please, follow the steps below:
1017
 
1018
  = 1.1.66 =
1019
 
1020
- * Fixes an issue in the new animation feature.
1021
-
1022
- = 1.1.65 =
1023
-
1024
- * Implements a new option in the form settings tab to activate animations in the page breaks (for multipage forms) and dependencies.
1025
- * Makes a minor correction in template 14.
1026
- * Assigns autocomplete attribute with new-password to the password controls.
1027
-
1028
- = 1.1.64 =
1029
-
1030
- * Modifies the NTHROOT operation and implements the PRINTFORM operation for printing the form area.
1031
- * Fixes a minor issue to allow entering negative values as the sliders' default values.
1032
- * Fixes a minor issue in the DataTable DS fields on small screens.
1033
- * Modifies the tags submissiondate_mmddyyyy, submissiondate_ddmmyyyy, currentdate_mmddyyyy, and currentdate_ddmmyyyy to display date only, and include the submissiontime and currenttime tags to include the corresponding time components (Professional, Developer, and Platinum versions of the plugin).
4
  Tags: form,quote form,contact form,form builder,calculator,calculated,quote calculator,forms,form editor,advanced forms,payment calculator,payment,recurring payment,quote,fields,calculated field,price calculator,email,form design,paypal,equation editor,formula,equation,quote calculator,post,posts,plugin,widget,admin,sidebar,images,image,page,shortcode,products form,woocommerce,addons,layout,session,post,cookie,get,webhook,Dropbox,pdf,language
5
  Requires at least: 3.0.5
6
  Tested up to: 5.9
7
+ Stable tag: 1.1.76
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
965
 
966
  == Changelog ==
967
 
968
+ = 1.1.76 =
969
+
970
+ * Includes the operations SHOWFIELD, HIDEFIELD to show/hide fields without disabling them.
971
+ * Includes new attributes in the date/time field to allow disabling the keyboard on mobiles and configure Monday as the first weekday.
972
+ * Modifies the styles on datepickers.
973
+ * Implements additional validations in the Captcha generator.
974
+ * Includes new filters to modify the headers row and body rows in the Export CSV module (Professional, Developer, and Platinum versions).
975
+
976
  = 1.1.75 =
977
 
978
  * Modifies functions deprecated by the latest Elementor update.
1025
 
1026
  = 1.1.66 =
1027
 
1028
+ * Fixes an issue in the new animation feature.
 
 
 
 
 
 
 
 
 
 
 
 
 
captcha/captcha.php CHANGED
@@ -142,18 +142,21 @@ for ($i=0;$i<$noise;$i++)
142
  imageline ( $image, $x1, $y1, mt_rand($x1-$noiselength,$x1+$noiselength), mt_rand($y1-$noiselength,$y1+$noiselength), $color);
143
  }
144
 
145
- switch (@$_GET["font"]) {
146
- case "font-2.ttf":
147
- $selected_font = "font-2.ttf";
148
- break;
149
- case "font-3.ttf":
150
- $selected_font = "font-3.ttf";
151
- break;
152
- case "font-4.ttf":
153
- $selected_font = "font-4.ttf";
154
- break;
155
- default:
156
- $selected_font = "font-1.ttf";
 
 
 
157
  }
158
 
159
  $font = dirname( __FILE__ ) . "/" . $selected_font; // font
142
  imageline ( $image, $x1, $y1, mt_rand($x1-$noiselength,$x1+$noiselength), mt_rand($y1-$noiselength,$y1+$noiselength), $color);
143
  }
144
 
145
+ $selected_font = "font-1.ttf";
146
+ if(isset($_GET["font"]))
147
+ {
148
+ switch ($_GET["font"])
149
+ {
150
+ case "font-2.ttf":
151
+ $selected_font = "font-2.ttf";
152
+ break;
153
+ case "font-3.ttf":
154
+ $selected_font = "font-3.ttf";
155
+ break;
156
+ case "font-4.ttf":
157
+ $selected_font = "font-4.ttf";
158
+ break;
159
+ }
160
  }
161
 
162
  $font = dirname( __FILE__ ) . "/" . $selected_font; // font
changelog.txt CHANGED
@@ -1,5 +1,13 @@
1
  == Changelog ==
2
 
 
 
 
 
 
 
 
 
3
  = 1.1.75 =
4
 
5
  * Modifies functions deprecated by the latest Elementor update.
@@ -515,15 +523,4 @@
515
  = 1.0.448 =
516
 
517
  * Modifies the HTML Content fields.
518
- * Improves the plugin's performance.
519
-
520
- = 1.0.447 =
521
-
522
- * Improves the plugin's performance.
523
- * Includes two new operations in the Managing Fields operations: EVALEQUATIONS and EVALEQUATION.
524
- * Fixes an issue in the PRESENTVALUE operation (Developer and Platinum versions of the plugin).
525
-
526
- = 1.0.446 =
527
-
528
- * Fixes a conflict with third party plugins that overwrite the POW operation in the plugin.
529
- * Modifies the WooCommerce add-on to allow its use with WooCommerce Booking and similar plugins (Developer and Platinum versions of the plugin).
1
  == Changelog ==
2
 
3
+ = 1.1.76 =
4
+
5
+ * Includes the operations SHOWFIELD, HIDEFIELD to show/hide fields without disabling them.
6
+ * Includes new attributes in the date/time field to allow disabling the keyboard on mobiles and configure Monday as the first weekday.
7
+ * Modifies the styles on datepickers.
8
+ * Implements additional validations in the Captcha generator.
9
+ * Includes new filters to modify the headers row and body rows in the Export CSV module (Professional, Developer, and Platinum versions).
10
+
11
  = 1.1.75 =
12
 
13
  * Modifies functions deprecated by the latest Elementor update.
523
  = 1.0.448 =
524
 
525
  * Modifies the HTML Content fields.
526
+ * Improves the plugin's performance.
 
 
 
 
 
 
 
 
 
 
 
cp_calculatedfieldsf_free.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Calculated Fields Form
4
  Plugin URI: https://cff.dwbooster.com
5
  Description: Create forms with field values calculated based in other form field values.
6
- Version: 1.1.75
7
  Text Domain: calculated-fields-form
8
  Author: CodePeople
9
  Author URI: https://cff.dwbooster.com
@@ -16,7 +16,7 @@ if(!defined('WP_DEBUG') || true != WP_DEBUG)
16
  }
17
 
18
  // Defining main constants
19
- define('CP_CALCULATEDFIELDSF_VERSION', '1.1.75' );
20
  define('CP_CALCULATEDFIELDSF_MAIN_FILE_PATH', __FILE__ );
21
  define('CP_CALCULATEDFIELDSF_BASE_PATH', dirname( CP_CALCULATEDFIELDSF_MAIN_FILE_PATH ) );
22
  define('CP_CALCULATEDFIELDSF_BASE_NAME', plugin_basename( CP_CALCULATEDFIELDSF_MAIN_FILE_PATH ) );
3
  Plugin Name: Calculated Fields Form
4
  Plugin URI: https://cff.dwbooster.com
5
  Description: Create forms with field values calculated based in other form field values.
6
+ Version: 1.1.76
7
  Text Domain: calculated-fields-form
8
  Author: CodePeople
9
  Author URI: https://cff.dwbooster.com
16
  }
17
 
18
  // Defining main constants
19
+ define('CP_CALCULATEDFIELDSF_VERSION', '1.1.76' );
20
  define('CP_CALCULATEDFIELDSF_MAIN_FILE_PATH', __FILE__ );
21
  define('CP_CALCULATEDFIELDSF_BASE_PATH', dirname( CP_CALCULATEDFIELDSF_MAIN_FILE_PATH ) );
22
  define('CP_CALCULATEDFIELDSF_BASE_NAME', plugin_basename( CP_CALCULATEDFIELDSF_MAIN_FILE_PATH ) );
css/stylepublic.css CHANGED
@@ -369,7 +369,7 @@
369
  #fbuilder div.cpefb_error{background: #dc3545 !important;color:white !important;padding:5px 10px;border-radius:5px;margin-top:15px;z-index:1000;font-size:12px;font-style:normal;text-shadow:none;}
370
  #fbuilder div.cpefb_error:after{width: 0;height: 0;border-left: 10px solid transparent;border-right: 10px solid transparent;border-bottom: 10px solid #dc3545 !important;content:"";position:absolute;top:-8px;left:10px;z-index:1000;}
371
 
372
- .ui-datepicker{ z-index:9999 !important;width:auto !important;min-width:280px;}
373
  .ui-datepicker *{font-size:14px !important;}
374
 
375
  #fbuilder .cff-file-field input[type="file"]{max-width: calc( 100% - 30px);}
@@ -431,7 +431,7 @@
431
  #fbuilder .cff-radiobutton-field .dfield{display:flex;flex-wrap: wrap;width:100%;}
432
  #fbuilder .cff-checkbox-field .dfield label,
433
  #fbuilder .cff-radiobutton-field .dfield label{display:table;}
434
- #fbuilder .cff-switch-container input{display:none;}
435
  #fbuilder .cff-switch-container .dfield label>span:not(.cff-switch){display:table-cell;vertical-align:top;width:100%;min-height: 22px;line-height: 22px;padding-left:5px;}
436
  #fbuilder .cff-switch{position: relative;display: inline-block;width: 40px;height: 22px;background:#ccc;border-radius:50px;cursor:pointer;}
437
  #fbuilder .cff-switch:before{content: " ";position:absolute;background:white;border-radius:50px;height:18px;width:18px;top:2px;left:2px;}
369
  #fbuilder div.cpefb_error{background: #dc3545 !important;color:white !important;padding:5px 10px;border-radius:5px;margin-top:15px;z-index:1000;font-size:12px;font-style:normal;text-shadow:none;}
370
  #fbuilder div.cpefb_error:after{width: 0;height: 0;border-left: 10px solid transparent;border-right: 10px solid transparent;border-bottom: 10px solid #dc3545 !important;content:"";position:absolute;top:-8px;left:10px;z-index:1000;}
371
 
372
+ .ui-datepicker{ z-index:9999 !important;min-width:280px;max-width:320px;}
373
  .ui-datepicker *{font-size:14px !important;}
374
 
375
  #fbuilder .cff-file-field input[type="file"]{max-width: calc( 100% - 30px);}
431
  #fbuilder .cff-radiobutton-field .dfield{display:flex;flex-wrap: wrap;width:100%;}
432
  #fbuilder .cff-checkbox-field .dfield label,
433
  #fbuilder .cff-radiobutton-field .dfield label{display:table;}
434
+ #fbuilder .cff-switch-container input{display:none !important;}
435
  #fbuilder .cff-switch-container .dfield label>span:not(.cff-switch){display:table-cell;vertical-align:top;width:100%;min-height: 22px;line-height: 22px;padding-left:5px;}
436
  #fbuilder .cff-switch{position: relative;display: inline-block;width: 40px;height: 22px;background:#ccc;border-radius:50px;cursor:pointer;}
437
  #fbuilder .cff-switch:before{content: " ";position:absolute;background:white;border-radius:50px;height:18px;width:18px;top:2px;left:2px;}
js/fbuilder-pro-public.jquery.js CHANGED
@@ -1,4 +1,4 @@
1
- $.fbuilder['version'] = '1.1.75';
2
  $.fbuilder['controls'] = $.fbuilder['controls'] || {};
3
  $.fbuilder['forms'] = $.fbuilder['forms'] || {};
4
 
1
+ $.fbuilder['version'] = '1.1.76';
2
  $.fbuilder['controls'] = $.fbuilder['controls'] || {};
3
  $.fbuilder['forms'] = $.fbuilder['forms'] || {};
4
 
js/fields-admin/04_fbuilder.fdate.js CHANGED
@@ -18,6 +18,7 @@
18
  required:false,
19
  exclude:false,
20
  readonly:false,
 
21
  dformat:"mm/dd/yyyy",
22
  dseparator:"/",
23
  tformat:"24",
@@ -27,6 +28,7 @@
27
  minDate:"",
28
  maxDate:"",
29
  invalidDates:"",
 
30
  minHour:0,
31
  maxHour:23,
32
  minMinute:0,
@@ -80,6 +82,8 @@
80
  }
81
  },
82
  {s:"#sShowDatepicker",e:"click", l:"showDatepicker", f:function(el){return el.is(':checked');}},
 
 
83
  {s:"#sAriaAMPMLabel",e:"change keyup", l:"ariaAMPMLabel"},
84
  {s:"#sAriaHourLabel",e:"change keyup", l:"ariaHourLabel"},
85
  {s:"#sAriaMinuteLabel",e:"change keyup", l:"ariaMinuteLabel"},
@@ -113,7 +117,11 @@
113
  },
114
  showSpecialDataInstance: function()
115
  {
116
- return '<label>Default date [<a class="helpfbuilder" text="You can put one of the following type of values into this field:\n\nEmpty: Leave empty for current date.\n\nDate: A Fixed date with the same date format indicated in the &quot;Date Format&quot; drop-down field.\n\nNumber: A number of days from today. For example 2 represents two days from today and -1 represents yesterday.\n\nString: A smart text indicating a relative date. Relative dates must contain value (number) and period pairs; valid periods are &quot;y&quot; for years, &quot;m&quot; for months, &quot;w&quot; for weeks, and &quot;d&quot; for days. For example, &quot;+1m +7d&quot; represents one month and seven days from today.">help?</a>]</label><input type="text" class="large" name="sDefaultDate" id="sDefaultDate" value="'+$.fbuilder.htmlEncode(this.defaultDate)+'" />'+
 
 
 
 
117
 
118
  '<label>Min date [<a class="helpfbuilder" text="You can put one of the following type of values into this field:\n\nEmpty: No min Date.\n\nDate: A Fixed date with the same date format indicated in the &quot;Date Format&quot; drop-down field.\n\nField Name: the name of another date field, Ex: fieldname1\n\nNumber: A number of days from today. For example 2 represents two days from today and -1 represents yesterday.\n\nString: A smart text indicating a relative date. Relative dates must contain value (number) and period pairs; valid periods are &quot;y&quot; for years, &quot;m&quot; for months, &quot;w&quot; for weeks, and &quot;d&quot; for days. For example, &quot;+1m +7d&quot; represents one month and seven days from today.">help?</a>]</label><input type="text" class="large" name="sMinDate" id="sMinDate" value="'+$.fbuilder.htmlEncode(this.minDate)+'" />'+
119
 
18
  required:false,
19
  exclude:false,
20
  readonly:false,
21
+ disableKeyboardOnMobile:false,
22
  dformat:"mm/dd/yyyy",
23
  dseparator:"/",
24
  tformat:"24",
28
  minDate:"",
29
  maxDate:"",
30
  invalidDates:"",
31
+ mondayFirstDay:false,
32
  minHour:0,
33
  maxHour:23,
34
  minMinute:0,
82
  }
83
  },
84
  {s:"#sShowDatepicker",e:"click", l:"showDatepicker", f:function(el){return el.is(':checked');}},
85
+ {s:"#sDisableKeyboardOnMobile",e:"click", l:"disableKeyboardOnMobile", f:function(el){return el.is(':checked');}},
86
+ {s:"#sMondayFirstDay",e:"click", l:"mondayFirstDay", f:function(el){return el.is(':checked');}},
87
  {s:"#sAriaAMPMLabel",e:"change keyup", l:"ariaAMPMLabel"},
88
  {s:"#sAriaHourLabel",e:"change keyup", l:"ariaHourLabel"},
89
  {s:"#sAriaMinuteLabel",e:"change keyup", l:"ariaMinuteLabel"},
117
  },
118
  showSpecialDataInstance: function()
119
  {
120
+ return '<label><input type="checkbox" name="sDisableKeyboardOnMobile" id="sDisableKeyboardOnMobile" '+( ( this.disableKeyboardOnMobile ) ? 'CHECKED' : '' )+' > Disable keboard on mobiles</label>'+
121
+
122
+ '<label><input type="checkbox" name="sMondayFirstDay" id="sMondayFirstDay" '+( ( this.mondayFirstDay ) ? 'CHECKED' : '' )+' > Make Monday the first day of the week</label>'+
123
+
124
+ '<label>Default date [<a class="helpfbuilder" text="You can put one of the following type of values into this field:\n\nEmpty: Leave empty for current date.\n\nDate: A Fixed date with the same date format indicated in the &quot;Date Format&quot; drop-down field.\n\nNumber: A number of days from today. For example 2 represents two days from today and -1 represents yesterday.\n\nString: A smart text indicating a relative date. Relative dates must contain value (number) and period pairs; valid periods are &quot;y&quot; for years, &quot;m&quot; for months, &quot;w&quot; for weeks, and &quot;d&quot; for days. For example, &quot;+1m +7d&quot; represents one month and seven days from today.">help?</a>]</label><input type="text" class="large" name="sDefaultDate" id="sDefaultDate" value="'+$.fbuilder.htmlEncode(this.defaultDate)+'" />'+
125
 
126
  '<label>Min date [<a class="helpfbuilder" text="You can put one of the following type of values into this field:\n\nEmpty: No min Date.\n\nDate: A Fixed date with the same date format indicated in the &quot;Date Format&quot; drop-down field.\n\nField Name: the name of another date field, Ex: fieldname1\n\nNumber: A number of days from today. For example 2 represents two days from today and -1 represents yesterday.\n\nString: A smart text indicating a relative date. Relative dates must contain value (number) and period pairs; valid periods are &quot;y&quot; for years, &quot;m&quot; for months, &quot;w&quot; for weeks, and &quot;d&quot; for days. For example, &quot;+1m +7d&quot; represents one month and seven days from today.">help?</a>]</label><input type="text" class="large" name="sMinDate" id="sMinDate" value="'+$.fbuilder.htmlEncode(this.minDate)+'" />'+
127
 
js/fields-admin/28_fbuilder.fcontainer.js CHANGED
@@ -24,7 +24,7 @@
24
  {
25
  cStr += '<option value="'+columns[ i ]+'" '+( ( this.columns == columns[ i ] ) ? 'SELECTED' : '' )+'>'+columns[ i ]+' column'+( ( i ) ? 's' : '' )+'</option>';
26
  }
27
- return '<div><label>Columns</label><select name="sColumns" id="sColumns">' + cStr + '</select><div class="clearer"><span class="uh">Shown in columns the fields into the container.</span></div></div>'+
28
  '<div><label><input name="sRearrange" id="sRearrange" type="checkbox" '+((this.rearrange) ? 'CHECKED' : '')+'> Rearrange</label> <span class="uh">Rearrange the fields in the container.</span></div>';
29
  },
30
  remove : function()
24
  {
25
  cStr += '<option value="'+columns[ i ]+'" '+( ( this.columns == columns[ i ] ) ? 'SELECTED' : '' )+'>'+columns[ i ]+' column'+( ( i ) ? 's' : '' )+'</option>';
26
  }
27
+ return '<div><label>Columns</label><select name="sColumns" id="sColumns">' + cStr + '</select> <input type="button" class="eq_btn button-secondary" onclick="window.open(\'https://cff.dwbooster.com/documentation#container-fields\');" value="?" title="Tutorial"><div class="clearer"><span class="uh">Shown in columns the fields into the container.</span></div></div>'+
28
  '<div><label><input name="sRearrange" id="sRearrange" type="checkbox" '+((this.rearrange) ? 'CHECKED' : '')+'> Rearrange</label> <span class="uh">Rearrange the fields in the container.</span></div>';
29
  },
30
  remove : function()
js/fields-public/04_fbuilder.fdate.js CHANGED
@@ -10,6 +10,7 @@
10
  size:"medium",
11
  required:false,
12
  readonly:false,
 
13
 
14
  // Date component
15
  showDatepicker: true,
@@ -18,6 +19,7 @@
18
  showDropdown:false,
19
  dropdownRange:"-10:+10",
20
  invalidDates:"",
 
21
  working_dates:[true,true,true,true,true,true,true],
22
  minDate:"",
23
  maxDate:"",
@@ -262,6 +264,7 @@
262
  dateFormat: me.dformat.replace(/yyyy/g,"yy"),
263
  minDate: me._getAttr('minDate'),
264
  maxDate: me._getAttr('maxDate'),
 
265
  disabled: me.readonly
266
  },
267
  dp = $( "#"+me.name+"_date" ),
@@ -330,7 +333,7 @@
330
  else{ date_tag_type = 'hidden'; disabled='disabled';}
331
  if( me.showTimepicker ) format_label.push('HH:mm');
332
  this.predefined = this._getAttr('predefined');
333
- return '<div class="fields '+me.csslayout+' '+n+' cff-date-field" id="field'+me.form_identifier+'-'+me.index+'"><label for="'+n+'_date">'+me.title+''+((me.required)?"<span class='r'>*</span>":"")+( (format_label.length) ? ' <span class="dformat">('+format_label.join(' ')+')</span>' : '' )+'</label><div class="dfield"><input id="'+n+'" name="'+n+'" type="hidden" value="'+$.fbuilder.htmlEncode(me.predefined)+'"/><input aria-label="'+$.fbuilder.htmlEncode(me.title)+'" id="'+n+'_date" name="'+n+'_date" class="'+date_tag_class+' date-component" type="'+date_tag_type+'" '+attr+'="'+$.fbuilder.htmlEncode(me.predefined)+'" '+disabled+' />'+( ( me.showTimepicker ) ? ' '+me.get_hours()+me.get_minutes()+' '+me.get_ampm() : '' )+'<span class="uh">'+me.userhelp+'</span></div><div class="clearer"></div></div>';
334
  },
335
  after_show:function()
336
  {
10
  size:"medium",
11
  required:false,
12
  readonly:false,
13
+ disableKeyboardOnMobile:false,
14
 
15
  // Date component
16
  showDatepicker: true,
19
  showDropdown:false,
20
  dropdownRange:"-10:+10",
21
  invalidDates:"",
22
+ mondayFirstDay:false,
23
  working_dates:[true,true,true,true,true,true,true],
24
  minDate:"",
25
  maxDate:"",
264
  dateFormat: me.dformat.replace(/yyyy/g,"yy"),
265
  minDate: me._getAttr('minDate'),
266
  maxDate: me._getAttr('maxDate'),
267
+ firstDay: (me.mondayFirstDay ? 1 : 0),
268
  disabled: me.readonly
269
  },
270
  dp = $( "#"+me.name+"_date" ),
333
  else{ date_tag_type = 'hidden'; disabled='disabled';}
334
  if( me.showTimepicker ) format_label.push('HH:mm');
335
  this.predefined = this._getAttr('predefined');
336
+ return '<div class="fields '+me.csslayout+' '+n+' cff-date-field" id="field'+me.form_identifier+'-'+me.index+'"><label for="'+n+'_date">'+me.title+''+((me.required)?"<span class='r'>*</span>":"")+( (format_label.length) ? ' <span class="dformat">('+format_label.join(' ')+')</span>' : '' )+'</label><div class="dfield"><input id="'+n+'" name="'+n+'" type="hidden" value="'+$.fbuilder.htmlEncode(me.predefined)+'"/><input aria-label="'+$.fbuilder.htmlEncode(me.title)+'" id="'+n+'_date" name="'+n+'_date" class="'+date_tag_class+' date-component" type="'+date_tag_type+'" '+attr+'="'+$.fbuilder.htmlEncode(me.predefined)+'" '+disabled+(me.disableKeyboardOnMobile ? ' inputmode="none"' : '')+' />'+( ( me.showTimepicker ) ? ' '+me.get_hours()+me.get_minutes()+' '+me.get_ampm() : '' )+'<span class="uh">'+me.userhelp+'</span></div><div class="clearer"></div></div>';
337
  },
338
  after_show:function()
339
  {
js/modules/05_managing_fields/admin/module_admin.js CHANGED
@@ -28,6 +28,16 @@ fbuilderjQuery[ 'fbuilder' ][ 'modules' ][ 'processing' ] = {
28
  "code" : "ACTIVATEFIELD(",
29
  "tip" : "<p>Activates a field explicitly, similar to dependencies. <strong>ACTIVATEFIELD( # or fieldname#, form or form selector )</strong></p><p>Activates the field for the equations and submission. The first parameter is required, it would be the numeric part of the field name or the field name. The second parameter would be a form object, or a selector with the form reference. If the second parameter is not passed, the plugin will apply the activates action to the field in the first form of the page. For example: ACTIVATEFIELD(1); or ACTIVATEFIELD(&quot;fieldname1&quot;);</p>"
30
  },
 
 
 
 
 
 
 
 
 
 
31
  {
32
  "value" : "DISABLEEQUATIONS",
33
  "code" : "DISABLEEQUATIONS(",
28
  "code" : "ACTIVATEFIELD(",
29
  "tip" : "<p>Activates a field explicitly, similar to dependencies. <strong>ACTIVATEFIELD( # or fieldname#, form or form selector )</strong></p><p>Activates the field for the equations and submission. The first parameter is required, it would be the numeric part of the field name or the field name. The second parameter would be a form object, or a selector with the form reference. If the second parameter is not passed, the plugin will apply the activates action to the field in the first form of the page. For example: ACTIVATEFIELD(1); or ACTIVATEFIELD(&quot;fieldname1&quot;);</p>"
30
  },
31
+ {
32
+ "value" : "HIDEFIELD",
33
+ "code" : "HIDEFIELD(",
34
+ "tip" : "<p>Hide a field explicitly. Unlike IGNOREFIELD, this operation hides the field but does not deactivate it. The hidden fields participate in the equations and are submitted to the server. <strong>HIDEFIELD( # or fieldname#, form or form selector )</strong></p><p>The first parameter is required. It is the numeric part of the field name or the field name. The second parameter would be a form object or a selector with the form reference. If the second parameter is not passed, the plugin will hide the field in the first form on the page. For example: HIDEFIELD(1); or HIDEFIELD(&quot;fieldname1&quot;);</p>"
35
+ },
36
+ {
37
+ "value" : "SHOWFIELD",
38
+ "code" : "SHOWFIELD(",
39
+ "tip" : "<p>Show a field explicitly. If the field was hidden by a dependency or by the IGNOREFIELD operation, it must be displayed by the ACTIVATEFIELD operation. <strong>SHOWFIELD( # or fieldname#, form or form selector )</strong></p><p>The first parameter is required. It is the numeric part of the field name or the field name. The second parameter would be a form object or a selector with the form reference. If the second parameter is not passed, the plugin will display the field in the first form on the page. For example: SHOWFIELD(1); or SHOWFIELD(&quot;fieldname1&quot;);</p>"
40
+ },
41
  {
42
  "value" : "DISABLEEQUATIONS",
43
  "code" : "DISABLEEQUATIONS(",
js/modules/05_managing_fields/public/05_managing_fields.js CHANGED
@@ -42,7 +42,7 @@
42
  j = f.jQueryRef();
43
  if(j.find('[id*="'+f.name+'"]').hasClass('ignore'))
44
  {
45
- j.add(j.find('.fields')).show();
46
  if(f.name in $.fbuilder.forms[o].toHide) delete $.fbuilder.forms[o].toHide[f.name];
47
  if(!(f.name in $.fbuilder.forms[o].toShow)) $.fbuilder.forms[o].toShow[f.name] = {'ref': {}};
48
  j.find('[id*="'+f.name+'"]').removeClass('ignore').change();
@@ -68,6 +68,28 @@
68
  }
69
  };
70
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
71
  lib.disableequations = lib.DISABLEEQUATIONS = function(f)
72
  {
73
  jQuery(f || '[id*="cp_calculatedfieldsf_pform_"]').attr('data-evalequations',0);
42
  j = f.jQueryRef();
43
  if(j.find('[id*="'+f.name+'"]').hasClass('ignore'))
44
  {
45
+ j.add(j.find('.fields')).show();
46
  if(f.name in $.fbuilder.forms[o].toHide) delete $.fbuilder.forms[o].toHide[f.name];
47
  if(!(f.name in $.fbuilder.forms[o].toShow)) $.fbuilder.forms[o].toShow[f.name] = {'ref': {}};
48
  j.find('[id*="'+f.name+'"]').removeClass('ignore').change();
68
  }
69
  };
70
 
71
+ lib.showfield = lib.SHOWFIELD = function( _field, _form )
72
+ {
73
+ var o = _getForm(_form), f = _getField(_field, _form), j;
74
+ if(f)
75
+ {
76
+ j = f.jQueryRef();
77
+ if(!j.find('[id*="'+f.name+'"]').hasClass('ignore'))
78
+ j.removeClass('hide-strong').show();
79
+ }
80
+ };
81
+
82
+ lib.hidefield = lib.HIDEFIELD = function( _field, _form )
83
+ {
84
+ var o = _getForm(_form), f = _getField(_field, _form);
85
+ if(f)
86
+ {
87
+ j = f.jQueryRef();
88
+ if(!j.find('[id*="'+f.name+'"]').hasClass('ignore'))
89
+ f.jQueryRef().addClass('hide-strong');
90
+ }
91
+ };
92
+
93
  lib.disableequations = lib.DISABLEEQUATIONS = function(f)
94
  {
95
  jQuery(f || '[id*="cp_calculatedfieldsf_pform_"]').attr('data-evalequations',0);