src/ztfy/myams/resources/js/myams.js
changeset 186 4ea23db9c6e3
parent 182 681edeb5c6ef
child 187 6a5e0d867964
--- a/src/ztfy/myams/resources/js/myams.js	Wed Nov 02 14:43:14 2016 +0100
+++ b/src/ztfy/myams/resources/js/myams.js	Wed Nov 02 14:43:53 2016 +0100
@@ -441,6 +441,16 @@
 
 
 	/**
+	 * Basic logging function which log all arguments to console
+	 */
+	MyAMS.log = function() {
+		if (globals.console) {
+			globals.console.log(this, arguments);
+		}
+	};
+
+
+	/**
 	 * Extract parameter value from given query string
 	 */
 	MyAMS.getQueryVar = function(src, varName) {
@@ -2169,6 +2179,13 @@
 				}
 			}
 
+			// Check for shown callbacks defined via data API
+			$('[data-ams-shown-callback]', modal).each(function() {
+				var callback = ams.getFunctionByName($(this).data('ams-shown-callback'));
+				if (callback) {
+					callback.call(modal, this);
+				}
+			});
 			// Call shown callbacks registered for this dialog
 			var index;
 			var callbacks = $('.modal-dialog', modal).data('shown-callbacks');
@@ -2212,7 +2229,14 @@
 			var modal = e.target;
 			// Call registered cleaning callbacks
 			ams.skin.cleanContainer(modal);
-			// Call hide callbacks registered for this dialog
+			// Check for hidden callbacks defined via data API
+			$('[data-ams-hidden-callback]', modal).each(function() {
+				var callback = ams.getFunctionByName($(this).data('ams-hidden-callback'));
+				if (callback) {
+					callback.call(modal, this);
+				}
+			});
+			// Call hidden callbacks registered for this dialog
 			var index;
 			var callbacks = $('.modal-dialog', modal).data('hide-callbacks');
 			if (callbacks) {
@@ -2220,7 +2244,7 @@
 					callbacks[index].call(modal);
 				}
 			}
-			// Call globally registered hide callbacks
+			// Call globally registered hidden callbacks
 			callbacks = ams.dialog._hide_callbacks;
 			if (callbacks) {
 				for (index=0; index < callbacks.length; index++) {