PluginProbe
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder / 2.16.2
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder v2.16.2
V-3.3.0 3.2.2 3.2.1 3.2.0 3.1.4 3.1.3 3.1.2 3.1.1 3.1.0 V3.0.3 V3.0.2 -3.0.1 V_3.0.0 1.1.1 1.1.8 1.2 1.3 1.4 1.4.18 1.5.2 1.9 2.0 2.10.0 2.10.1 2.10.2 All 137 releases
bit-form / includes / Admin / Form / ExtraFieldJS / CheckDisableOnMax.php

CheckDisableOnMax.php in Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder 2.16.2, at includes/Admin/Form/ExtraFieldJS/CheckDisableOnMax.php

47 lines 1.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace BitCode\BitForm\Admin\Form\ExtraFieldJS;
4
5 class CheckDisableOnMax
6 {
7 public static function init($fk, $field, $contentId)
8 {
9 return <<<FUNCTIONDEF
10 function initCheckDisableOnMax(formContentId = null, parentSelector = '') {
11 const contentIds = formContentId ? [formContentId] : Object.keys(bf_globals);
12 contentIds.forEach(contentId => {
13 const frm = bfSelect("#form-"+contentId);
14 const {fields} = bf_globals[contentId];
15 const checkFlds = Object.keys(fields).filter(fld => ['check', 'image-select'].includes(fields[fld].typ));
16 checkFlds.forEach(fk => {
17 if(typeof checkRepeatedField !== 'undefined' && checkRepeatedField(fk, bf_globals[contentId]) && !parentSelector){
18 return;
19 }
20 const classSelector = parentSelector + "."+fk+"-inp-wrp input[type='checkbox']";
21 frm.querySelectorAll(classSelector).forEach(function(el){
22 el.addEventListener("change",function(e){
23 const max = Number(fields[fk].mx);
24 const checked = frm.querySelectorAll(classSelector + ":checked").length;
25 if(checked >= max){
26 frm.querySelectorAll(classSelector).forEach(function(el){
27 if(!el.checked){
28 el.setAttribute("disabled",true);
29 }
30 });
31 }else{
32 const options = fields[fk].opt;
33 frm.querySelectorAll(classSelector).forEach(function(el, index){
34 if(!options[index]?.disabled){
35 el.removeAttribute("disabled");
36 }
37 });
38 }
39 });
40 });
41 })
42 })
43 }
44 FUNCTIONDEF;
45 }
46 }
47