src/ztfy/myams/resources/js/myams.js
changeset 182 681edeb5c6ef
parent 180 172ddcb92995
child 186 4ea23db9c6e3
--- a/src/ztfy/myams/resources/js/myams.js	Thu Oct 06 17:07:35 2016 +0200
+++ b/src/ztfy/myams/resources/js/myams.js	Fri Oct 14 12:19:10 2016 +0200
@@ -489,7 +489,7 @@
 		var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
 			var r = (d + Math.random() * 16) % 16 | 0;
 			d = Math.floor(d / 16);
-			return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);
+			return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);
 		});
 		return uuid;
 	};
@@ -1360,7 +1360,9 @@
 		 * Reset form changed flag
 		 */
 		resetChanged: function(form) {
-			form.removeAttr('data-ams-form-changed');
+			if (form !== undefined) {
+				form.removeAttr('data-ams-form-changed');
+			}
 		},
 
 		/**
@@ -1435,7 +1437,7 @@
 														  {progress_id: progress_id},
 														  {error: _clearProgressStatus},
 														  ams.getFunctionByName(progressCallback) || function(result, status) {
-															if (status == 'success') {
+															if (status === 'success') {
 																if (result.status === 'running') {
 																	if (result.message) {
 																		button.text(result.message);
@@ -2409,7 +2411,6 @@
 
 			// Scan new element for plug-ins
 			var plugins = {};
-			var plugin;
 			var name;
 
 			// Inner plug-in register function
@@ -2467,37 +2468,42 @@
 				}
 			});
 
+			// Inner plug-in loader function
+			var plugin;
+
+			function _loadPlugin() {
+				var index;
+				var callbacks = plugin.callbacks;
+				if (callbacks && callbacks.length) {
+					for (index=0; index < callbacks.length; index++) {
+						var called = ams.getFunctionByName(callbacks[index]);
+						if (plugin.register !== false) {
+							var enabled = ams.plugins.enabled;
+							if (enabled.hasOwnProperty(name)) {
+								enabled[name].push(called);
+							} else {
+								enabled[name] = [called];
+							}
+						}
+					}
+				} else {
+					if (plugin.register !== false) {
+						ams.plugins.enabled[name] = null;
+					}
+				}
+				// If running in async mode, registered plug-ins are run
+				// before callback is called so we call plug-in manually
+				if (callbacks && callbacks.length && (plugin.async !== false)) {
+					for (index=0; index < callbacks.length; index++) {
+						ams.getFunctionByName(callbacks[index])(element);
+					}
+				}
+			}
+
 			for (name in plugins) {
 				if (ams.plugins.enabled[name] === undefined) {
 					plugin = plugins[name];
-					ams.getScript(plugin.src, function() {
-						var index;
-						var callbacks = plugin.callbacks;
-						if (callbacks && callbacks.length) {
-							for (index=0; index < callbacks.length; index++) {
-								var called = ams.getFunctionByName(callbacks[index]);
-								if (plugin.register !== false) {
-									var enabled = ams.plugins.enabled;
-									if (enabled.hasOwnProperty(name)) {
-										enabled[name].push(called);
-									} else {
-										enabled[name] = [called];
-									}
-								}
-							}
-						} else {
-							if (plugin.register !== false) {
-								ams.plugins.enabled[name] = null;
-							}
-						}
-						// If running in async mode, registered plug-ins are run
-						// before callback is called so we call plug-in manually
-						if (callbacks && callbacks.length && (plugin.async !== false)) {
-							for (index=0; index < callbacks.length; index++) {
-								ams.getFunctionByName(callbacks[index])(element);
-							}
-						}
-					}, {
+					ams.getScript(plugin.src, _loadPlugin, {
 						async: plugin.async === undefined ? true : plugin.async
 					});
 				}
@@ -4079,12 +4085,12 @@
 			var menuHeight = ams.leftPanel.height();
 			var windowHeight = $(window).height() - ams.navbarHeight;
 			if (mainHeight > windowHeight) {
-				ams.leftPanel.css('min-height', mainHeight);
 				ams.root.css('min-height', mainHeight + ams.navbarHeight);
 			} else {
-				ams.leftPanel.css('min-height', windowHeight);
 				ams.root.css('min-height', windowHeight);
 			}
+			ams.leftPanel.css('min-height', windowHeight);
+			ams.leftPanel.css('max-height', windowHeight);
 		},
 
 		/**