src/pyams_skin/resources/js/myams.js
changeset 19 7d4bd86b3f30
parent 11 87c7662cc814
child 23 02baebfdfbe8
--- a/src/pyams_skin/resources/js/myams.js	Tue Mar 03 16:32:35 2015 +0100
+++ b/src/pyams_skin/resources/js/myams.js	Tue Mar 03 16:33:19 2015 +0100
@@ -2,7 +2,7 @@
  * MyAMS
  * « My Application Management Skin »
  *
- * $Tag: null $
+ * $Tag$
  * A bootstrap based application/administration skin
  *
  * Custom administration and application skin tools
@@ -2898,6 +2898,56 @@
 
 
 	/**
+	 * Container management
+	 */
+	MyAMS.container = {
+
+		/**
+		 * Change container elements order
+		 *
+		 * This is a callback which may be used with TableDnD plug-in which allows you to
+		 * change order of table rows.
+		 * Rows order is stored in an hidden input which is defined in table's data attribute
+		 * called 'data-ams-input-name'
+		 */
+		changeOrder: function(table, names) {
+			var input = $('input[name="' + $(this).data('ams-input-name') + '"]', $(this));
+			input.val(names.join(';'));
+		},
+
+		/**
+		 * Delete an element from a container table
+		 *
+		 * @param element
+		 * @returns {Function}
+		 */
+		deleteElement: function(element) {
+			return function() {
+				var link = $(this);
+				MyAMS.skin.bigBox({
+					title: MyAMS.i18n.WARNING,
+					content: '<i class="text-danger fa fa-2x fa-bell shake animated"></i>&nbsp; ' + MyAMS.i18n.DELETE_WARNING,
+					buttons: MyAMS.i18n.BTN_OK_CANCEL
+				}, function(button) {
+					if (button == MyAMS.i18n.BTN_OK) {
+						var table = link.parents('table');
+						var location = table.data('ams-location');
+						var tr = link.parents('tr');
+						var delete_target = tr.data('ams-delete-target') || table.data('ams-delete-target') || 'delete-element.json';
+						var object_name = tr.data('ams-element-name');
+						MyAMS.ajax.post(location + '/' + delete_target, {'object_name': object_name}, function(result, status) {
+							if (result.status == 'success') {
+								link.parents('tr').remove();
+							}
+						});
+					}
+				});
+			}
+		}
+	};
+
+
+	/**
 	 * Generic skin features
 	 */
 	MyAMS.skin = {