zentaopms/module/common/view/pastetext.html.php
2023-05-16 10:47:08 +08:00

101 lines
3.6 KiB
PHP

<div id="importLinesModal" class="modal fade">
<div class="modal-dialog modal-lg modal-simple load-indicator">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><i class="icon icon-close"></i></button>
<h4 class="modal-title"><?php echo $lang->pasteText;?></h4>
</div>
<div class="modal-body">
<?php echo html::textarea('importLines', '', "class='form-control mgb-10' rows='10' placeholder='$lang->pasteTextInfo'")?>
</div>
<div class="modal-footer text-left">
<button type="button" class="btn btn-primary btn-wide" id="importLinesBtn"><?php echo $lang->save;?></button>
</div>
</div>
</div>
</div>
<script>
$(function()
{
var $form = $('#batchCreateForm');
var batchForm = $form.data('zui.batchActionForm');
var rowTpl, $formTbody;
var createRow = function()
{
if(!rowTpl) rowTpl = $('#trTemp tbody').html();
if(!$formTbody) $formTbody = $form.find('table > tbody');
var lastIndex = parseInt($formTbody.find('tr:last > td:first').text());
var moduleArr = ['task', 'story', 'bug', 'testcase'];
if($.inArray(config.currentModule, moduleArr) >= 0 && config.currentMethod == 'batchcreate')
{
lastIndex = rowIndex;
rowIndex ++;
}
var $newRow = $(rowTpl.replace(/%s/g, lastIndex + 1));
$newRow.find('.chosen').chosen();
$newRow.find('.picker').remove()
$newRow.find('.picker-select').picker();
$newRow.find('.iframe').modalTrigger({iframe:true});
$newRow.find('[data-provide="colorpicker-later"]').colorPicker();
$newRow.datepickerAll();
$formTbody.append($newRow);
return $newRow;
};
var $importLines = $('#importLines');
$('#importLinesBtn').on('click', function()
{
var $modal = $('#importLinesModal');
var $dialog = $modal.find('.modal-dialog').addClass('loading');
setTimeout(function()
{
var importText = $importLines.val();
var lines = importText.split('\n');
var $lastRow, $firstRow;
$.each(lines, function(index, line)
{
line = $.trim(line);
if (!line.length) return;
if (!$lastRow)
{
$row = $form.find('tbody>tr .title-import').first().closest('tr');
if(!$row && batchForm) $row = batchForm.createRow();
}
else $row = $lastRow.next();
while ($row.length && $row.find('.title-import').val().length)
{
$row = $row.next();
}
if (!$row || !$row.length)
{
if (batchForm) $row = batchForm.createRow();
else $row = createRow();
}
$row.find('.title-import').val(line).addClass('highlight');
$lastRow = $row;
if(!$firstRow) $firstRow = $row;
});
$importLines.val('');
$dialog.removeClass('loading');
$modal.on('hidden.zui.modal', function()
{
$firstRow[0].scrollIntoView();
}).modal('hide');
setTimeout(function()
{
$form.find('.title-import.highlight').removeClass('highlight');
}, 3000);
}, 200);
});
$importLines.on('scroll', function()
{
$importLines.css('background-position-y', -$importLines.scrollTop() + 6);
});
});
</script>