public static
renderImportExportItems
(mixed $url, mixed $messageBox, mixed $formId, mixed $count, mixed $successMessage, mixed $reload = 0)
public static function renderImportExportItems($url, $messageBox, $formId, $count, $successMessage, $reload = 0)
{
$document = Factory::getDocument();
$s = array();
$s[] = 'function phUpdateProgress(percentage){';
$s[] = ' if(percentage > 100) {percentage = 100;}';
$s[] = ' jQuery(\'#phProgressBar\').css(\'width\', percentage+\'%\');';
$s[] = ' jQuery(\'#phProgressBar\').html(percentage+\'%\');';
$s[] = '}';
$s[] = ' ';
$s[] = 'function phImportAllItems(e) {';
$s[] = ' e.stopPropagation();';
$s[] = ' e.preventDefault();';
$s[] = ' var phMaxItems = e.data.a1;';
// see the last but one row of this s
$s[] = ' var phLastPage = phMaxItems;';
$s[] = ' var phItemCount = 1;';
$s[] = ' var phMessageBoxId = \'#' . $messageBox . '\';';
$s[] = ' var formId = \'#' . $formId . '\';';
$s[] = ' function phGetNextItem() {';
$s[] = ' phCurrentItemCount = phItemCount;';
$s[] = ' if (phItemCount <= phMaxItems) {';
$s[] = ' jQuery.ajax({';
$s[] = ' url: \'' . $url . '\' + \'&p=\' + phItemCount + \'&lp=\' + phLastPage,';
$s[] = ' method: \'GET\',';
$s[] = ' async: true,';
$s[] = ' success: function(data) {';
$s[] = ' if (data.status == 1) {';
$s[] = ' ++phItemCount;';
$s[] = ' phUpdateProgress(Math.round((phItemCount/phMaxItems)*100));';
$s[] = ' if (phMaxItems > phCurrentItemCount) {';
$s[] = ' phGetNextItem();';
$s[] = ' }';
$s[] = ' }';
$s[] = ' ';
$s[] = ' if (phMaxItems == phCurrentItemCount) {';
$s[] = ' jQuery(".circle").addClass("circle-active");';
$s[] = ' jQuery(phMessageBoxId).html(\'<div class="alert alert-dismissible fade show">' . $successMessage . '<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="' . Text::_('COM_PHOCACART_CLOSE', true) . '"></button></div>\');';
if ($reload == 1) {
// TO DO enable
$s[] = ' window.setTimeout(function () {document.location.reload();}, 1000);';
$s[] = self::renderOverlay();
}
$s[] = ' }';
$s[] = ' }';
// end success
$s[] = ' });';
// end ajax
$s[] = ' }';
$s[] = ' }';
$s[] = ' phGetNextItem();';
$s[] = '}';
$s[] = ' ';
$s[] = 'jQuery(document).ready(function(){';
$s[] = ' jQuery(\'#' . $formId . '\').on(\'submit\',{a1: ' . (int) $count . '}, phImportAllItems);';
$s[] = '})';
$document->addScriptDeclaration(implode("\n", $s));
}