| @@ -1,19 +1,24 @@ | ||
| 1 | 1 | <?php |
| 2 | 2 | |
| 3 | 3 | namespace BitCode\BitForm\Admin\Form\ExtraFieldJS; |
| 4 | 4 | |
| 5 | -class OtherOptionJS { | |
| 6 | - public static function init($fk, $field, $contentId) { | |
| 7 | - $script = ''; | |
| 8 | - if (isset($field->addOtherOpt) && $field->addOtherOpt) { | |
| 9 | - $script .= <<<FUNCTIONDEF | |
| 10 | - document.querySelectorAll("input[data-bf-other-inp]").forEach(function(el){ | |
| 11 | - el.addEventListener("keyup",function(e){ | |
| 12 | - e.target.parentNode.parentNode.querySelector("input").value = el.value; | |
| 13 | - e.target.parentNode.parentNode.querySelector("input").dispatchEvent(new Event('input')); | |
| 5 | +class OtherOptionJS | |
| 6 | +{ | |
| 7 | + public static function init($fk, $field, $contentId) | |
| 8 | + { | |
| 9 | + return <<<FUNCTIONDEF | |
| 10 | + function initAddOtherOpt(formContentId = null) { | |
| 11 | + const contentIds = formContentId ? [formContentId] : Object.keys(bf_globals); | |
| 12 | + contentIds.forEach(contentId => { | |
| 13 | + bfSelect("#form-"+contentId).querySelectorAll("input[data-bf-other-inp]").forEach(function(el){ | |
| 14 | + el.addEventListener("keyup",function(e){ | |
| 15 | + e.target.parentNode.parentNode.querySelector("input").value = el.value; | |
| 16 | + e.target.parentNode.parentNode.querySelector("input").dispatchEvent(new Event('input')); | |
| 17 | + }); | |
| 14 | 18 | }); |
| 15 | - }); | |
| 19 | + }) | |
| 20 | + } | |
| 16 | 21 | function resetOtherOpt(){ |
| 17 | 22 | document.querySelectorAll("input[data-oopt]").forEach(function(el){ |
| 18 | 23 | el.value = ''; |
| 19 | 24 | }); |
| @@ -18,8 +23,6 @@ | ||
| 18 | 23 | el.value = ''; |
| 19 | 24 | }); |
| 20 | 25 | } |
| 21 | 26 | FUNCTIONDEF; |
| 22 | - } | |
| 23 | - return $script; | |
| 24 | 27 | } |
| 25 | 28 | } |