diff -r 4ea23db9c6e3 -r 6a5e0d867964 src/ztfy/myams/resources/js/myams.js --- a/src/ztfy/myams/resources/js/myams.js Wed Nov 02 14:43:53 2016 +0100 +++ b/src/ztfy/myams/resources/js/myams.js Fri Nov 25 16:30:29 2016 +0100 @@ -1371,7 +1371,7 @@ */ resetChanged: function(form) { if (form !== undefined) { - form.removeAttr('data-ams-form-changed'); + $(form).removeAttr('data-ams-form-changed'); } }, @@ -2442,9 +2442,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; } @@ -2456,6 +2455,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 }; @@ -2477,6 +2477,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') }; @@ -2498,6 +2499,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]); @@ -2519,7 +2521,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]); } } }