src/ztfy/myams/resources/js/myams.js
changeset 187 6a5e0d867964
parent 186 4ea23db9c6e3
child 189 688803362e9d
equal deleted inserted replaced
186:4ea23db9c6e3 187:6a5e0d867964
  1369 		/**
  1369 		/**
  1370 		 * Reset form changed flag
  1370 		 * Reset form changed flag
  1371 		 */
  1371 		 */
  1372 		resetChanged: function(form) {
  1372 		resetChanged: function(form) {
  1373 			if (form !== undefined) {
  1373 			if (form !== undefined) {
  1374 				form.removeAttr('data-ams-form-changed');
  1374 				$(form).removeAttr('data-ams-form-changed');
  1375 			}
  1375 			}
  1376 		},
  1376 		},
  1377 
  1377 
  1378 		/**
  1378 		/**
  1379 		 * Submit given form
  1379 		 * Submit given form
  2440 			// Inner plug-in register function
  2440 			// Inner plug-in register function
  2441 			function _registerPlugin(name, new_plugin) {
  2441 			function _registerPlugin(name, new_plugin) {
  2442 				if (plugins.hasOwnProperty(name)) {
  2442 				if (plugins.hasOwnProperty(name)) {
  2443 					var plugin = plugins[name];
  2443 					var plugin = plugins[name];
  2444 					plugin.css = plugin.css || new_plugin.css;
  2444 					plugin.css = plugin.css || new_plugin.css;
  2445 					if (new_plugin.callback) {
  2445 					plugin.callbacks.push(new_plugin.callback);
  2446 						plugin.callbacks.push(new_plugin.callback);
  2446 					plugin.contexts.push(new_plugin.context);
  2447 					}
       
  2448 					if (new_plugin.register) {
  2447 					if (new_plugin.register) {
  2449 						plugin.register = true;
  2448 						plugin.register = true;
  2450 					}
  2449 					}
  2451 					if (new_plugin.async === false) {
  2450 					if (new_plugin.async === false) {
  2452 						plugin.async = false;
  2451 						plugin.async = false;
  2454 				} else {
  2453 				} else {
  2455 					plugins[name] = {
  2454 					plugins[name] = {
  2456 						src: new_plugin.src,
  2455 						src: new_plugin.src,
  2457 						css: new_plugin.css,
  2456 						css: new_plugin.css,
  2458 						callbacks: new_plugin.callback ? [new_plugin.callback] : [],
  2457 						callbacks: new_plugin.callback ? [new_plugin.callback] : [],
       
  2458 						contexts: [new_plugin.context],
  2459 						register: new_plugin.register,
  2459 						register: new_plugin.register,
  2460 						async: new_plugin.async
  2460 						async: new_plugin.async
  2461 					};
  2461 					};
  2462 				}
  2462 				}
  2463 				if (new_plugin.css) {
  2463 				if (new_plugin.css) {
  2475 						name = names[index];
  2475 						name = names[index];
  2476 						var newPlugin = {
  2476 						var newPlugin = {
  2477 							src: source.data('ams-plugin-' + name + '-src'),
  2477 							src: source.data('ams-plugin-' + name + '-src'),
  2478 							css: source.data('ams-plugin-' + name + '-css'),
  2478 							css: source.data('ams-plugin-' + name + '-css'),
  2479 							callback: source.data('ams-plugin-' + name + '-callback'),
  2479 							callback: source.data('ams-plugin-' + name + '-callback'),
       
  2480 							context: source,
  2480 							register: source.data('ams-plugin-' + name + '-register'),
  2481 							register: source.data('ams-plugin-' + name + '-register'),
  2481 							async: source.data('ams-plugin-' + name + '-async')
  2482 							async: source.data('ams-plugin-' + name + '-async')
  2482 						};
  2483 						};
  2483 						_registerPlugin(name, newPlugin);
  2484 						_registerPlugin(name, newPlugin);
  2484 					}
  2485 					}
  2496 			var plugin;
  2497 			var plugin;
  2497 
  2498 
  2498 			function _loadPlugin() {
  2499 			function _loadPlugin() {
  2499 				var index;
  2500 				var index;
  2500 				var callbacks = plugin.callbacks;
  2501 				var callbacks = plugin.callbacks;
       
  2502 				var contexts = plugin.contexts;
  2501 				if (callbacks && callbacks.length) {
  2503 				if (callbacks && callbacks.length) {
  2502 					for (index=0; index < callbacks.length; index++) {
  2504 					for (index=0; index < callbacks.length; index++) {
  2503 						var called = ams.getFunctionByName(callbacks[index]);
  2505 						var called = ams.getFunctionByName(callbacks[index]);
  2504 						if (plugin.register !== false) {
  2506 						if (plugin.register !== false) {
  2505 							var enabled = ams.plugins.enabled;
  2507 							var enabled = ams.plugins.enabled;
  2517 				}
  2519 				}
  2518 				// If running in async mode, registered plug-ins are run
  2520 				// If running in async mode, registered plug-ins are run
  2519 				// before callback is called so we call plug-in manually
  2521 				// before callback is called so we call plug-in manually
  2520 				if (callbacks && callbacks.length && (plugin.async !== false)) {
  2522 				if (callbacks && callbacks.length && (plugin.async !== false)) {
  2521 					for (index=0; index < callbacks.length; index++) {
  2523 					for (index=0; index < callbacks.length; index++) {
  2522 						ams.getFunctionByName(callbacks[index])(element);
  2524 						ams.getFunctionByName(callbacks[index])(contexts[index]);
  2523 					}
  2525 					}
  2524 				}
  2526 				}
  2525 			}
  2527 			}
  2526 
  2528 
  2527 			for (name in plugins) {
  2529 			for (name in plugins) {