* Refactor hidden field.
This commit is contained in:
@@ -1,6 +1,20 @@
|
||||
function closeCustomPopupMenu(e)
|
||||
{
|
||||
$(e.target).closest('menu').removeClass('show');
|
||||
$('#formSettingBtn-toggle').trigger('click');
|
||||
}
|
||||
|
||||
function cancelFormSetting(e)
|
||||
{
|
||||
$.get($(e.target).closest('button').data('url'), function(data)
|
||||
{
|
||||
e.target.closest('form').querySelectorAll('input').forEach(function(field)
|
||||
{
|
||||
const checked = `,${data},`.indexOf(`,${$(field).val()},`) >=0;
|
||||
$(field).prop('checked', checked);
|
||||
});
|
||||
});
|
||||
|
||||
closeCustomPopupMenu(e);
|
||||
}
|
||||
|
||||
function revertDefaultFields(e)
|
||||
@@ -68,38 +82,47 @@ function toggleSingleField(customFields, showFields)
|
||||
|
||||
customFields.forEach(function(field)
|
||||
{
|
||||
var $this = $('form [name^="' + field + '"]');
|
||||
if($this.length == 0) return;
|
||||
let $field = $('form [name^="' + field + '"]');
|
||||
if($field.length == 0) return;
|
||||
|
||||
var hidden = !showFields.includes(field);
|
||||
var $inputGroup = $this.closest('.input-group');
|
||||
var $formGroup = $this.closest('.form-group');
|
||||
let hidden = !showFields.includes(field);
|
||||
let $formRow = $field.closest('.form-row');
|
||||
let $formGroup = $field.closest('.form-group');
|
||||
let $inputGroup = $field.closest('.input-group');
|
||||
let $inputControl = $field.closest('.input-control');
|
||||
if($inputGroup.length == 1)
|
||||
{
|
||||
$prev = $this.prev();
|
||||
$prev = $field.prev();
|
||||
if($prev.hasClass('input-group-addon')) $prev.toggleClass('hidden', hidden);
|
||||
|
||||
$this.toggleClass('hidden', hidden);
|
||||
if($this.hasClass('pick-value'))
|
||||
$field.toggleClass('hidden', hidden);
|
||||
if($field.hasClass('pick-value'))
|
||||
{
|
||||
$pickBox = $this.closest('.pick').parent();
|
||||
$pickBox = $field.closest('.pick').parent();
|
||||
$pickBox.toggleClass('hidden', hidden);
|
||||
|
||||
$prev = $pickBox.prev();
|
||||
if($prev.hasClass('input-group-addon')) $prev.toggleClass('hidden', hidden);
|
||||
}
|
||||
|
||||
if($inputControl.length == 1)
|
||||
{
|
||||
if($inputControl.hasClass('has-suffix'))
|
||||
{
|
||||
if($inputControl.prev().hasClass('input-group-addon')) $inputControl.prev().toggleClass('hidden', hidden);
|
||||
$inputControl.toggleClass('hidden', hidden);
|
||||
}
|
||||
}
|
||||
|
||||
if($inputGroup.prev().hasClass('form-label')) $inputGroup.prev().toggleClass('hidden', hidden);
|
||||
$inputGroup.toggleClass('hidden', $inputGroup.children().length == $inputGroup.children('.hidden').length);
|
||||
}
|
||||
else
|
||||
{
|
||||
$formGroup.toggleClass('hidden', hidden);
|
||||
}
|
||||
})
|
||||
|
||||
$('form .form-row').each(function()
|
||||
{
|
||||
var $this = $(this);
|
||||
$this.removeClass('hidden');
|
||||
if($this.find('.form-group.hidden').length > 0 && $this.find('.form-group:not(.hidden)').length == 0) $this.addClass('hidden');
|
||||
$formGroup.toggleClass('hidden', $formGroup.children().length == $formGroup.children('.hidden').length);
|
||||
$formRow.toggleClass('hidden', $formRow.children().length == $formRow.children('.hidden').length);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -109,7 +132,7 @@ function toggleBatchField(customFields, showFields)
|
||||
|
||||
customFields.forEach(function(field)
|
||||
{
|
||||
var hidden = !showFields.includes(field);
|
||||
let hidden = !showFields.includes(field);
|
||||
$('th.form-batch-head[data-name="' + field + '"]').toggleClass('hidden', hidden);
|
||||
$('td.form-batch-control[data-name="' + field + '"]').toggleClass('hidden', hidden);
|
||||
$($('template.form-batch-template')[0].content).find('td.form-batch-control[data-name="' + field + '"]').toggleClass('hidden', hidden);
|
||||
|
||||
@@ -36,10 +36,12 @@ class formSettingBtn extends wg
|
||||
global $lang;
|
||||
|
||||
$customLink = createLink('custom', 'ajaxSaveCustomFields', $this->prop('urlParams', ''));
|
||||
$cancelLink = createLink('custom', 'ajaxGetCustomFields', $this->prop('urlParams', ''));
|
||||
return dropdown
|
||||
(
|
||||
set::arrow('false'),
|
||||
set::placement('bottom-end'),
|
||||
set::id('formSettingBtn'),
|
||||
to::trigger(btn(set::icon('cog-outline'), setClass('ghost'), set::caret(false))),
|
||||
to::menu(menu
|
||||
(
|
||||
@@ -53,10 +55,9 @@ class formSettingBtn extends wg
|
||||
set::actions(array
|
||||
(
|
||||
btn(set::text($lang->save), setClass('primary'), on::click('onSubmitFormtSetting')),
|
||||
btn(set::text($lang->cancel), set::btnType('reset'), on::click('closeCustomPopupMenu')),
|
||||
btn(set::text($lang->restore), setClass('text-primary ghost font-bold'), set::href('#'), set('data-url', $customLink), on::click('revertDefaultFields')),
|
||||
btn(set::text($lang->cancel), set::btnType('button'), on::click('cancelFormSetting'), set('data-url', $cancelLink)),
|
||||
btn(set::text($lang->restore), setClass('text-primary ghost'), set::href('#'), set('data-url', $customLink), on::click('revertDefaultFields')),
|
||||
)),
|
||||
to::headingActions(array(btn(set::icon('close'), setClass('ghost'), set::size('sm'), on::click('closeCustomPopupMenu')))),
|
||||
array_map(function($field)
|
||||
{
|
||||
return checkbox
|
||||
|
||||
Reference in New Issue
Block a user