* Merge insensitive refresh custom forms into one method.

This commit is contained in:
tianshujie
2022-07-07 10:44:29 +08:00
parent 40ca319394
commit 5ccd62ea84
17 changed files with 223 additions and 435 deletions
+3 -31
View File
@@ -2,7 +2,8 @@
$(function()
{
removeDitto();
if($('th.c-name').width() < 165) $('th.c-name').width(165);
$name = $('th.c-name');
if($name.width() < 165) $name.width(165);
if(taskConsumed > 0) bootbox.alert(addChildTask);
$('#customField').on('click', function(){$('#tableBody .chosen-with-drop').removeClass('chosen-with-drop chosen-container-active')});
@@ -14,36 +15,7 @@ $(function()
/* Implement a custom form without feeling refresh. */
$('#formSettingForm .btn-primary').click(function()
{
var fields = '';
$('#formSettingForm > .checkboxes > .checkbox-primary > input:checked').each(function()
{
fields += ',' + $(this).val();
});
var link = createLink('custom', 'ajaxSaveCustomFields', 'module=task&section=custom&key=batchCreateFields');
$.post(link, {'fields' : fields}, function()
{
showFields = fields;
showCheckedFields(fields);
$('#formSetting').parent().removeClass('open');
var fieldCount = $('#batchCreateForm .table thead>tr>th:visible').length;
$('.form-actions').attr('colspan', fieldCount);
if(fieldCount > 9)
{
$('#batchCreateForm > .table-responsive').removeClass('scroll-none');
$('#batchCreateForm > .table-responsive').css('overflow', 'auto');
}
else
{
$('#batchCreateForm > .table-responsive').addClass('scroll-none');
$('#batchCreateForm > .table-responsive').css('overflow', 'visible');
}
if($('th.c-name').width() < 165) $('th.c-name').width(165);
});
saveCustomFields('batchCreateFields', 9, $name, 165);
return false;
});
});
-62
View File
@@ -19,65 +19,3 @@ function setStoryModule()
});
}
}
/**
* Show checked fields.
*
* @param string fields
* @access public
* @return void
*/
function showCheckedFields(fields)
{
var fieldList = ',' + fields + ',';
$('#formSettingForm > .checkboxes > .checkbox-primary > input').each(function()
{
var field = ',' + $(this).val() + ',';
var $field = config.currentMethod == 'create' ? $('#' + $(this).val()) : $('[name^=' + $(this).val() + ']');
var $fieldBox = $('.' + $(this).val() + 'Box' );
if(fieldList.indexOf(field) >= 0)
{
$fieldBox.removeClass('hidden');
$field.removeAttr('disabled');
}
else if(!$fieldBox.hasClass('hidden'))
{
$fieldBox.addClass('hidden');
$field.attr('disabled', true);
}
});
if(config.currentMethod == 'create');
{
if(fieldList.indexOf(',estStarted,') >= 0 && fieldList.indexOf(',deadline,') >= 0)
{
$('.borderBox').removeClass('hidden');
}
else if(fieldList.indexOf(',estStarted,') >= 0 || fieldList.indexOf(',deadline,') >= 0)
{
$('.datePlanBox').removeClass('hidden');
if(!$('.borderBox').hasClass('hidden')) $('.borderBox').addClass('hidden');
}
else
{
if(!$('.borderBox').hasClass('hidden')) $('.borderBox').addClass('hidden');
if(!$('.datePlanBox').hasClass('hidden')) $('.datePlanBox').addClass('hidden');
}
}
}
/**
* Hidden require field.
*
* @access public
* @return void
*/
function hiddenRequireFields()
{
$('#formSettingForm > .checkboxes > .checkbox-primary > input').each(function()
{
var field = ',' + $(this).val() + ',';
var required = ',' + requiredFields + ',';
if(required.indexOf(field) >= 0) $(this).closest('div').addClass('hidden');
});
}
+1 -13
View File
@@ -8,19 +8,7 @@ $(function()
/* Implement a custom form without feeling refresh. */
$('#formSettingForm .btn-primary').click(function()
{
var fields = '';
$('#formSettingForm > .checkboxes > .checkbox-primary > input:checked').each(function()
{
fields += ',' + $(this).val();
});
var link = createLink('custom', 'ajaxSaveCustomFields', 'module=task&section=custom&key=createFields');
$.post(link, {'fields' : fields}, function()
{
showCheckedFields(fields);
$('#formSetting').parent().removeClass('open');
});
saveCustomFields('createFields');
return false;
});
})
+8 -8
View File
@@ -175,9 +175,9 @@ $colspan = count($visibleFields) + 3;
foreach($extendFields as $extendField) echo "<td" . (($extendField->control == 'select' or $extendField->control == 'multi-select') ? " style='overflow:visible'" : '') . ">" . $this->flow->getFieldControl($extendField, '', $extendField->field . "[$i]") . "</td>";
?>
<td class='c-actions text-left'>
<a href='javascript:;' onclick='addItemBox(this)' class='btn btn-link'><i class='icon-plus'></i></a>
<a href='javascript:;' onclick='addRow(this)' class='btn btn-link'><i class='icon-plus'></i></a>
<?php if($i != 1):?>
<a href='javascript:;' onclick='deleteItemBox(this)' class='btn btn-link'><i class='icon icon-close'></i></a>
<a href='javascript:;' onclick='deleteRow(this)' class='btn btn-link'><i class='icon icon-close'></i></a>
<?php endif;?>
</td>
</tr>
@@ -195,7 +195,7 @@ $colspan = count($visibleFields) + 3;
</div>
</form>
</div>
<?php js::set('itemIndex', -- $i);?>
<?php js::set('rowIndex', -- $i);?>
<table class='template' id='trTemp'>
<tbody>
<tr>
@@ -251,8 +251,8 @@ $colspan = count($visibleFields) + 3;
foreach($extendFields as $extendField) echo "<td" . (($extendField->control == 'select' or $extendField->control == 'multi-select') ? " style='overflow:visible'" : '') . ">" . $this->flow->getFieldControl($extendField, '', $extendField->field . "[%s]") . "</td>";
?>
<td class='c-actions text-left'>
<a href='javascript:;' onclick='addItemBox(this)' class='btn btn-link'><i class='icon-plus'></i></a>
<a href='javascript:;' onclick='deleteItemBox(this)' class='btn btn-link'><i class='icon icon-close'></i></a>
<a href='javascript:;' onclick='addRow(this)' class='btn btn-link'><i class='icon-plus'></i></a>
<a href='javascript:;' onclick='deleteRow(this)' class='btn btn-link'><i class='icon icon-close'></i></a>
</td>
</tr>
</tbody>
@@ -260,7 +260,7 @@ $colspan = count($visibleFields) + 3;
<div>
<?php $i = '%i%';?>
<table class='hidden'>
<tr id='addItemBox' class='hidden'>
<tr id='addRow' class='hidden'>
<td class='text-left c-id'><?php echo $i;?></td>
<td class="<?php echo zget($visibleFields, 'module', 'hidden')?> moduleBox" style='overflow:visible'>
<?php echo html::select("module[$i]", $modules, $moduleID, "class='form-control chosen'")?>
@@ -320,8 +320,8 @@ $colspan = count($visibleFields) + 3;
foreach($extendFields as $extendField) echo "<td" . (($extendField->control == 'select' or $extendField->control == 'multi-select') ? " style='overflow:visible'" : '') . ">" . $this->flow->getFieldControl($extendField, '', $extendField->field . "[$i]") . "</td>";
?>
<td class='c-actions text-left'>
<a href='javascript:;' onclick='addItemBox(this)' class='btn btn-link'><i class='icon-plus'></i></a>
<a href='javascript:;' onclick='deleteItemBox(this)' class='btn btn-link'><i class='icon icon-close'></i></a>
<a href='javascript:;' onclick='addRow(this)' class='btn btn-link'><i class='icon-plus'></i></a>
<a href='javascript:;' onclick='deleteRow(this)' class='btn btn-link'><i class='icon icon-close'></i></a>
</td>
</tr>
</table>