src/ztfy/myams/resources/js/myams.js
changeset 154 0fff49179f6d
parent 148 8c340adcf888
child 156 61176c64158d
--- a/src/ztfy/myams/resources/js/myams.js	Thu Nov 26 12:07:43 2015 +0100
+++ b/src/ztfy/myams/resources/js/myams.js	Mon Dec 07 14:31:56 2015 +0100
@@ -1667,7 +1667,7 @@
 
 			var target;
 			if (button) {
-				target = $(button.amsFormSubmitTarget || data.amsFormSubmitTarget || '#content');
+				target = $(button.data('ams-form-submit-target') || data.amsFormSubmitTarget || '#content');
 			} else {
 				target = $(data.amsFormSubmitTarget || '#content');
 			}
@@ -1787,12 +1787,14 @@
 						 (errors.widgets && (errors.widgets.length > 1) ? ams.i18n.ERRORS_OCCURED : ams.i18n.ERROR_OCCURED);
 				var message = [];
 				var index;
-				for (index=0; index < errors.messages.length; index++) {
-					var msg = errors.messages[index];
-					if (msg.header) {
-						message.push('<strong>' + msg.header + '</strong><br />' + msg.message);
-					} else {
-						message.push(msg.message || msg);
+				if (errors.messages) {
+					for (index = 0; index < errors.messages.length; index++) {
+						var msg = errors.messages[index];
+						if (msg.header) {
+							message.push('<strong>' + msg.header + '</strong><br />' + msg.message);
+						} else {
+							message.push(msg.message || msg);
+						}
 					}
 				}
 				if (errors.widgets) {
@@ -2266,7 +2268,6 @@
 			});
 
 			// Load and register new plug-ins
-			var plugin;
 			$('[data-ams-plugins]', element).each(function() {
 				var source = $(this);
 				var plugins = {};
@@ -2286,29 +2287,24 @@
 				} else {
 					plugins = source.data('ams-plugins');
 				}
-
-				function executePlugin() {
-					var callback = plugin.callback;
-					if (callback) {
-						var called = ams.getFunctionByName(callback);
-						if (plugin.register !== false) {
-							ams.plugins.enabled[name] = called;
-						}
-					} else {
-						if (plugin.register !== false) {
-							ams.plugins.enabled[name] = null;
-						}
-					}
-					var css = plugin.css;
-					if (css) {
-						ams.getCSS(css, name + '_css');
-					}
-				}
-
 				for (name in plugins) {
 					if (ams.plugins.enabled[name] === undefined) {
-						plugin = plugins[name];
-						ams.getScript(plugin.src, executePlugin, {
+						var plugin = plugins[name];
+						ams.getScript(plugin.src, function() {
+							var callback = plugin.callback;
+							if (callback) {
+								var called = ams.getFunctionByName(callback);
+								if (plugin.register !== false)
+									ams.plugins.enabled[name] = called;
+							} else {
+								if (plugin.register !== false)
+									ams.plugins.enabled[name] = null;
+							}
+							var css = plugin['css'];
+							if (css) {
+								ams.getCSS(css, name + '_css');
+							}
+						}, {
 							async: plugin.async === undefined ? true : plugin.async
 						});
 					}
@@ -2323,7 +2319,7 @@
 				if (disabled.indexOf(index) >= 0) {
 					continue;
 				}
-				plugin = ams.plugins.enabled[index];
+				var plugin = ams.plugins.enabled[index];
 				if (typeof(plugin) === 'function') {
 					plugin(element);
 				}