src/ztfy/myams/resources/js/myams.js
changeset 196 bbeb090d73e9
parent 193 68dd5a05c059
child 203 108498416bee
--- a/src/ztfy/myams/resources/js/myams.js	Fri Mar 10 13:19:31 2017 +0100
+++ b/src/ztfy/myams/resources/js/myams.js	Tue Apr 11 10:17:09 2017 +0200
@@ -1438,6 +1438,7 @@
 			// Check submit button
 			var button = $(form.data('ams-submit-button'));
 			if (button && !button.data('ams-form-hide-loading')) {
+				button.data('ams-progress-content', button.html());
 				button.button('loading');
 			}
 			ams.ajax.check($.fn.ajaxSubmit,
@@ -1465,9 +1466,11 @@
 										var interval;
 
 										function _clearProgressStatus() {
-											button.button('reset');
 											clearInterval(interval);
+											ams.form.resetAfterSubmit(form, button);
+											button.html(button.data('ams-progress-content'));
 											ams.executeFunctionByName(progressEndCallback, form, button);
+											ams.form.resetChanged(form);
 										}
 
 										function _getProgressStatus() {
@@ -1480,8 +1483,13 @@
 																	if (result.message) {
 																		button.text(result.message);
 																	} else {
-																		button.text(button.data('ams-progress-text') +
-																					' ' + result.current + ' / ' + result.length);
+																		var text = button.data('ams-progress-text') || ams.i18n.PROGRESS;
+																		if (result.current) {
+																			text += ': ' + result.current + '/ ' + (result.length || 100);
+																		} else {
+																			text += '...';
+																		}
+																		button.text(text);
 																	}
 																} else if (result.status === 'finished') {
 																	_clearProgressStatus();
@@ -1687,10 +1695,12 @@
 										if (modal.exists() && (keepModal !== true)) {
 											ams.dialog.close(form);
 										} else {
-											setTimeout(function() {
-												ams.form.resetAfterSubmit(form, button);
-												ams.form.resetChanged(form);
-											}, button.data('ams-form-reset-timeout') || 2000);
+											if (!progressHandler) {
+												setTimeout(function () {
+													ams.form.resetAfterSubmit(form, button);
+													ams.form.resetChanged(form);
+												}, button.data('ams-form-reset-timeout') || 2000);
+											}
 										}
 									}
 								}
@@ -5146,6 +5156,8 @@
 		ERROR: "ERROR: ",
 
 		LOADING: "Loading...",
+		PROGRESS: "Processing",
+
 		WAIT: "Please wait!",
 		FORM_SUBMITTED: "This form was already submitted...",
 		NO_SERVER_RESPONSE: "No response from server!",