46 lines
1.4 KiB
JavaScript
46 lines
1.4 KiB
JavaScript
|
|
function handleEditColsSubmit()
|
||
|
|
{
|
||
|
|
const formData = [];
|
||
|
|
let index = 0;
|
||
|
|
const types = ['left', 'no', 'right'];
|
||
|
|
const getSelector = (value) => `[data-zin-gid="${formGID}"] ul.${value}-cols`;
|
||
|
|
const colsList = types.map(x => document.querySelector(getSelector(x)));
|
||
|
|
|
||
|
|
for(let i = 0; i < colsList.length; i++)
|
||
|
|
{
|
||
|
|
const cols = colsList[i];
|
||
|
|
if(!cols) continue;
|
||
|
|
|
||
|
|
const children = Array.from(cols.children);
|
||
|
|
for(let j = 0; j < children.length; j++)
|
||
|
|
{
|
||
|
|
const li = children[j];
|
||
|
|
const checkbox = li.querySelector('input[type="checkbox"]');
|
||
|
|
if(!checkbox) continue;
|
||
|
|
|
||
|
|
const input = li.querySelector('input[type="text"]');
|
||
|
|
const unit = li.querySelector('select');
|
||
|
|
formData.push({
|
||
|
|
id: li.dataset.key,
|
||
|
|
order: ++ index,
|
||
|
|
show: checkbox.checked,
|
||
|
|
width: unit.value === '%' ? String(input.value / 100) : input.value,
|
||
|
|
fixed: types[i],
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
$.ajaxSubmit(
|
||
|
|
{
|
||
|
|
url: ajaxSaveUrl,
|
||
|
|
data: {fields: JSON.stringify(formData)},
|
||
|
|
closeModal: true,
|
||
|
|
onSuccess: function()
|
||
|
|
{
|
||
|
|
let $table = $(`#table-${config.currentModule}-${config.currentMethod}`).closest('[z-use-dtable]');
|
||
|
|
if(!$table.length) $table = $('#main [z-use-dtable]');
|
||
|
|
$table.attr('zui-create-dtable', '');
|
||
|
|
},
|
||
|
|
});
|
||
|
|
}
|