Browse Source

Create assets.cp.scripts.js

Vova Tkach 6 years ago
parent
commit
81e86a5bb2
1 changed files with 38 additions and 0 deletions
  1. 38 0
      engine/wrapper/resources/scripts/assets.cp.scripts.js

+ 38 - 0
engine/wrapper/resources/scripts/assets.cp.scripts.js

@@ -0,0 +1,38 @@
+$(document).ready(function() {
+	$('form').each(function() {
+		$(this).submit(function(e) {
+			var form = $(this);
+			if($(form).hasClass('loading')) {
+				e.preventDefault();
+				return;
+			}
+
+			$(form).addClass('loading');
+			var button = $(this).find('button[type=submit]');
+			$(button).addClass('progress-bar-striped').addClass('progress-bar-animated');
+
+			$.ajax({
+				type: "POST",
+				url: form.attr('action'),
+				data: form.serialize()
+			}).done(function(data) {
+				try {
+					eval(data);
+				} catch(e) {
+					if(e instanceof SyntaxError) {
+						console.log('JavaScript eval error:', e.message);
+						console.log(data);
+					}
+				}
+			}).fail(function() {
+				console.log('Form send fail, page will be reloaded');
+				window.location.reload(false);
+			}).always(function() {
+				$(form).removeClass('loading');
+				$(button).removeClass('progress-bar-striped').removeClass('progress-bar-animated');
+			});
+
+			e.preventDefault();
+		});
+	});
+});