src/pyams_skin/resources/js/myams.js
changeset 168 8b5d41852bb6
parent 164 cd734c4dcad9
child 170 41374ef01c20
--- a/src/pyams_skin/resources/js/myams.js	Fri Nov 25 16:05:03 2016 +0100
+++ b/src/pyams_skin/resources/js/myams.js	Fri Nov 25 16:05:37 2016 +0100
@@ -2,7 +2,7 @@
  * MyAMS
  * « My Application Management Skin »
  *
- * $Tag$ (rev. 13)
+ * $Tag$ (rev. 14)
  * A bootstrap based application/administration skin
  *
  * Custom administration and application skin tools
@@ -2447,9 +2447,8 @@
 				if (plugins.hasOwnProperty(name)) {
 					var plugin = plugins[name];
 					plugin.css = plugin.css || new_plugin.css;
-					if (new_plugin.callback) {
-						plugin.callbacks.push(new_plugin.callback);
-					}
+					plugin.callbacks.push(new_plugin.callback);
+					plugin.contexts.push(new_plugin.context);
 					if (new_plugin.register) {
 						plugin.register = true;
 					}
@@ -2461,6 +2460,7 @@
 						src: new_plugin.src,
 						css: new_plugin.css,
 						callbacks: new_plugin.callback ? [new_plugin.callback] : [],
+						contexts: [new_plugin.context],
 						register: new_plugin.register,
 						async: new_plugin.async
 					};
@@ -2482,6 +2482,7 @@
 							src: source.data('ams-plugin-' + name + '-src'),
 							css: source.data('ams-plugin-' + name + '-css'),
 							callback: source.data('ams-plugin-' + name + '-callback'),
+							context: source,
 							register: source.data('ams-plugin-' + name + '-register'),
 							async: source.data('ams-plugin-' + name + '-async')
 						};
@@ -2503,6 +2504,7 @@
 			function _loadPlugin() {
 				var index;
 				var callbacks = plugin.callbacks;
+				var contexts = plugin.contexts;
 				if (callbacks && callbacks.length) {
 					for (index=0; index < callbacks.length; index++) {
 						var called = ams.getFunctionByName(callbacks[index]);
@@ -2524,7 +2526,7 @@
 				// 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.getFunctionByName(callbacks[index])(contexts[index]);
 					}
 				}
 			}