src/pyams_skin/resources/js/myams-helpers.js
changeset 489 63ea9a94bd47
parent 486 48b7cea0d903
--- a/src/pyams_skin/resources/js/myams-helpers.js	Wed Dec 12 21:16:29 2018 +0100
+++ b/src/pyams_skin/resources/js/myams-helpers.js	Thu Dec 13 14:28:29 2018 +0100
@@ -63,7 +63,7 @@
 		select2QueryUrlResultsCallback: function(data, page, context) {
 			switch (data.status) {
 				case 'error':
-					ams.skin.messageBox('error', {
+					ams.skin && ams.skin.messageBox('error', {
 						title: ams.i18n.ERROR_OCCURED,
 						content: '<h4>' + data.error_message + '</h4>',
 						icon: "fa fa-warning animated shake",
@@ -72,7 +72,7 @@
 					break;
 				case 'modal':
 					$(this).data('select2').dropdown.hide();
-					ams.dialog.open(data.location);
+					ams.dialog && ams.dialog.open(data.location);
 					break;
 				default:
 					return {
@@ -93,7 +93,7 @@
 			}
 			switch (result.status) {
 				case 'error':
-					ams.skin.messageBox('error', {
+					ams.skin && ams.skin.messageBox('error', {
 						title: ams.i18n.ERROR_OCCURED,
 						content: '<h4>' + result.error_message + '</h4>',
 						icon: "fa fa-warning animated shake",
@@ -102,7 +102,7 @@
 					break;
 				case 'modal':
 					$(this).data('select2').dropdown.hide();
-					ams.dialog.open(result.location);
+					ams.dialog && ams.dialog.open(result.location);
 					break;
 				default:
 					options.callback({
@@ -127,7 +127,7 @@
 						ams.getFunctionByName(data.amsSelect2HelperCallback) || function(result) {
 							if (result) {
 								target.html(result);
-								ams.initContent(target);
+								ams.initContent && ams.initContent(target);
 							} else {
 								target.empty();
 							}
@@ -138,17 +138,17 @@
 					break;
 				case 'json-rpc':
 					target.html('<div class="text-center"><i class="fa fa-2x fa-gear fa-spin"></i></div>');
-					ams.jsonrpc.post(data.amsSelect2HelperMethod,
-									 {value: source.val()},
-									 {url: data.amsSelect2HelperUrl},
-									 ams.getFunctionByName(data.amsSelect2HelperCallback) || function(result) {
-										if (result.result) {
-											target.html(result.result);
-											ams.initContent(target);
-										} else {
-											target.empty();
-										}
-									 });
+					ams.jsonrpc && ams.jsonrpc.post(data.amsSelect2HelperMethod,
+													{value: source.val()},
+													{url: data.amsSelect2HelperUrl},
+													ams.getFunctionByName(data.amsSelect2HelperCallback) || function(result) {
+															if (result.result) {
+																target.html(result.result);
+																ams.initContent && ams.initContent(target);
+															} else {
+																target.empty();
+															}
+														});
 					break;
 				default:
 					var callback = data.amsSelect2HelperCallback;
@@ -165,13 +165,13 @@
 			}
 			var menuData = menu.data();
 			if (menuData.toggle === 'modal') {
-				ams.dialog.open(menu);
+				ams.dialog && ams.dialog.open(menu);
 			} else {
 				var href = menu.attr('href') || menuData.amsUrl;
 				if (!href || href.startsWith('javascript') || menu.attr('target')) {
 					return;
 				}
-				ams.event.stop();
+				ams.event && ams.event.stop();
 				var hrefGetter = ams.getFunctionByName(href);
 				if (typeof(hrefGetter) === 'function') {
 					href = hrefGetter.call(menu, target);
@@ -185,11 +185,11 @@
 					href = href.replace(/\%23/, '#');
 					target = menu.data('ams-target');
 					if (target) {
-						ams.form.confirmChangedForm(target, function () {
-							ams.skin.loadURL(href, target, menu.data('ams-link-options'), menu.data('ams-link-callback'));
+						ams.form && ams.form.confirmChangedForm(target, function () {
+							ams.skin && ams.skin.loadURL(href, target, menu.data('ams-link-options'), menu.data('ams-link-callback'));
 						});
 					} else {
-						ams.form.confirmChangedForm(function () {
+						ams.form && ams.form.confirmChangedForm(function () {
 							if (href.startsWith('#')) {
 								if (href !== location.hash) {
 									if (ams.root.hasClass('mobile-view-activated')) {