]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
Перенос JS в файл _form.js
authorfomichev <vladimir.fomichev@erp-flowers.ru>
Thu, 7 Nov 2024 06:43:11 +0000 (09:43 +0300)
committerfomichev <vladimir.fomichev@erp-flowers.ru>
Thu, 7 Nov 2024 06:43:11 +0000 (09:43 +0300)
erp24/views/crud/cluster-admin/_form.php
erp24/web/js/crud/cluster-admin/_form.js [new file with mode: 0644]

index a5211ba93262a32da1264dc090ab7741633214e5..a65228a07b336b4e540ae82a0acce79481cc38b0 100644 (file)
@@ -15,7 +15,7 @@ use yii_app\records\ClusterAdmin;
 /** @var array $allAdmins */
 /** @var yii_app\records\Admin $user */
 
-
+$this->registerJsFile('/js/crud/cluster-admin/_form.js', ['position' => \yii\web\View::POS_END]);
 $inactiveAdmins = ArrayHelper::map($inactiveAdmins, 'id', 'name');
 $allAdmins = ArrayHelper::map($allAdmins, 'id', 'name');
 ?>
@@ -78,81 +78,9 @@ $allAdmins = ArrayHelper::map($allAdmins, 'id', 'name');
         </div>
     </div>
 
-<?php
-
+    <script>
+        var inactiveAdminsData = <?= json_encode($inactiveAdmins, JSON_UNESCAPED_UNICODE) ?>;
+        var allAdminsData = <?= json_encode($allAdmins, JSON_UNESCAPED_UNICODE) ?>;
+        var selectedAdminId = <?= json_encode($model->admin_id) ?>;
+    </script>
 
-$inactiveAdminsJson = json_encode($inactiveAdmins, JSON_UNESCAPED_UNICODE);
-
-$allAdminsJson = json_encode($allAdmins, JSON_UNESCAPED_UNICODE);
-$js = <<<JS
-    var \$adminSelect = $('#admin-select');
-
-function populateAdminSelect(data, selectedValue) {
-    
-    \$adminSelect.empty();
-    data.forEach(function(item) {
-        \$adminSelect.append(new Option(item.text, item.id, false, false));
-    });
-
-    
-    if (selectedValue && data.some(function(item) { return item.id == selectedValue; })) {
-        \$adminSelect.val(selectedValue).trigger('change');
-    } else {
-        \$adminSelect.val(null).trigger('change');
-    }
-
-    
-    \$adminSelect.select2({
-        placeholder: 'Выберите кустового...',
-        allowClear: true,
-    });
-}
-
-function initDateEndField() {
-    var isChecked = $('#active-checkbox').is(':checked');
-    var data = isChecked ? $inactiveAdminsJson : $allAdminsJson;
-    var selectData = Object.entries(data).map(function([id, text]) {
-        return { id: parseInt(id), text: text };
-    });
-    var selectedValue = $model->admin_id;
-    populateAdminSelect(selectData, selectedValue);
-
-    if (isChecked) {
-        $('label[for="date-end-field"]').hide();
-    } else {
-        $('label[for="date-end-field"]').show();
-    }
-}
-
-function toggleDateEndField() {
-    var isChecked = $('#active-checkbox').is(':checked');
-    var currentDate = new Date().toISOString().split('T')[0];
-    var data = isChecked ? $inactiveAdminsJson : $allAdminsJson;
-    var selectData = Object.entries(data).map(function([id, text]) {
-        return { id: parseInt(id), text: text };
-    });
-    var selectedValue = \$adminSelect.val();
-    populateAdminSelect(selectData, selectedValue);
-
-    if (isChecked) {
-        $('#date-end-field').val('2100-01-01');
-        $('#date-end-field').hide();
-        $('label[for="date-end-field"]').hide();
-    } else {
-        $('#date-end-field').val(currentDate);
-        $('#date-end-field').show();
-        $('label[for="date-end-field"]').show();
-    }
-}
-
-
-$('#active-checkbox').on('change', function() {
-    toggleDateEndField();
-});
-
-
-initDateEndField();
-JS;
-
-$this->registerJs($js);
-?>
\ No newline at end of file
diff --git a/erp24/web/js/crud/cluster-admin/_form.js b/erp24/web/js/crud/cluster-admin/_form.js
new file mode 100644 (file)
index 0000000..6c8a85a
--- /dev/null
@@ -0,0 +1,69 @@
+$(document).ready(function() {
+
+
+
+
+var $adminSelect = $('#admin-select');
+
+function populateAdminSelect(data, selectedValue) {
+    $adminSelect.empty();
+    data.forEach(function(item) {
+        $adminSelect.append(new Option(item.text, item.id, false, false));
+    });
+
+    if (selectedValue && data.some(function(item) { return item.id == selectedValue; })) {
+        $adminSelect.val(selectedValue).trigger('change');
+    } else {
+        $adminSelect.val(null).trigger('change');
+    }
+
+    $adminSelect.select2({
+        placeholder: 'Выберите кустового...',
+        allowClear: true,
+    });
+}
+
+function initDateEndField() {
+    var isChecked = $('#active-checkbox').is(':checked');
+    var data = isChecked ? inactiveAdminsData : allAdminsData;
+    var selectData = Object.entries(data).map(function([id, text]) {
+        return { id: parseInt(id), text: text };
+    });
+    var selectedValue = selectedAdminId;
+    populateAdminSelect(selectData, selectedValue);
+
+    if (isChecked) {
+        $('label[for="date-end-field"]').hide();
+    } else {
+        $('label[for="date-end-field"]').show();
+    }
+}
+
+function toggleDateEndField() {
+    var isChecked = $('#active-checkbox').is(':checked');
+    var currentDate = new Date().toISOString().split('T')[0];
+    var data = isChecked ? inactiveAdminsData : allAdminsData;
+    var selectData = Object.entries(data).map(function([id, text]) {
+        return { id: parseInt(id), text: text };
+    });
+    var selectedValue = $adminSelect.val();
+    populateAdminSelect(selectData, selectedValue);
+
+    if (isChecked) {
+        $('#date-end-field').val('2100-01-01');
+        $('#date-end-field').hide();
+        $('label[for="date-end-field"]').hide();
+    } else {
+        $('#date-end-field').val(currentDate);
+        $('#date-end-field').show();
+        $('label[for="date-end-field"]').show();
+    }
+}
+
+$('#active-checkbox').on('change', function() {
+    toggleDateEndField();
+});
+
+initDateEndField();
+
+});
\ No newline at end of file