From b176aaabbd951ca25ba5a99e4fe09def317c1144 Mon Sep 17 00:00:00 2001 From: caoyanyi Date: Mon, 10 Jul 2023 15:45:53 +0800 Subject: [PATCH] * Change custom setting add and del. --- module/custom/css/set.ui.css | 1 + module/custom/js/set.ui.js | 16 ++++++++++ module/custom/ui/set.html.php | 58 +++++++++++++++++++++++++++++------ 3 files changed, 65 insertions(+), 10 deletions(-) create mode 100644 module/custom/css/set.ui.css create mode 100644 module/custom/js/set.ui.js diff --git a/module/custom/css/set.ui.css b/module/custom/css/set.ui.css new file mode 100644 index 0000000000..a805516817 --- /dev/null +++ b/module/custom/css/set.ui.css @@ -0,0 +1 @@ +.form-row .key-row {height: 1.92rem;} diff --git a/module/custom/js/set.ui.js b/module/custom/js/set.ui.js new file mode 100644 index 0000000000..d4ec99782a --- /dev/null +++ b/module/custom/js/set.ui.js @@ -0,0 +1,16 @@ +window.addRow = function() +{ + if($('#customFieldRow .form-label').text() == 'addRow') + { + $('#customFieldRow .form-label').html(''); + } + + $(this).closest('.form-row').after($('#customFieldRow').html()); + $(this).closest('.form-row').next('.form-row').find('.add-item').on('click', addRow); + $(this).closest('.form-row').next('.form-row').find('.del-item').on('click', removeRow); +} + +window.removeRow = function() +{ + $(this).closest('.form-row').remove(); +} diff --git a/module/custom/ui/set.html.php b/module/custom/ui/set.html.php index 7e19ac2827..a99b343306 100644 --- a/module/custom/ui/set.html.php +++ b/module/custom/ui/set.html.php @@ -310,22 +310,22 @@ else set::control('static') ); - foreach($fieldList as $key => $value) - { - $system = isset($dbFields[$key]) ? $dbFields[$key]->system : 1; + div + ( + setClass('hidden'), + setID('customFieldRow'), - $formItems[] = formRow + formRow ( formGroup ( set::width('1/2'), - set::label($key === '' ? 'NULL' : $key), - set::name('values'), - set::value(isset($dbFields[$key]) ? $dbFields[$key]->value : $value), - set::readonly(empty($key)) + set::label('addRow'), + set::name('values[]'), ), - $canAdd ? span( - setClass('pl-4'), + span + ( + setClass('pl-4 pt-2'), icon ( setClass('add-item'), @@ -336,6 +336,44 @@ else setClass('del-item ml-2'), 'trash', ), + ) + ) + ); + + foreach($fieldList as $key => $value) + { + $system = isset($dbFields[$key]) ? $dbFields[$key]->system : 1; + + $formItems[] = formRow + ( + input + ( + set::type('hidden'), + set::name('keys[]'), + set::value(isset($dbFields[$key]) ? $dbFields[$key]->value : $value) + ), + formGroup + ( + set::width('1/2'), + set::label($key === '' ? 'NULL' : $key), + set::name('values[]'), + set::value(isset($dbFields[$key]) ? $dbFields[$key]->value : $value), + set::readonly(empty($key)) + ), + $canAdd ? span( + setClass('pl-4 pt-2'), + icon + ( + setClass('add-item'), + on::click('addRow'), + 'plus', + ), + icon + ( + setClass('del-item ml-2'), + on::click('removeRow'), + 'trash', + ), ) : null, ); }