diff -r 000000000000 -r bb4aabe07487 src/pyams_skin/resources/js/ext/jquery-dataTables-rowReordering.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/pyams_skin/resources/js/ext/jquery-dataTables-rowReordering.js Thu Feb 19 10:59:00 2015 +0100
@@ -0,0 +1,257 @@
+/*
+ * File: jquery.dataTables.rowReordering.js
+ * Version: 1.2.1.
+ * Author: Jovan Popovic
+ *
+ * Copyright 2013 Jovan Popovic, all rights reserved.
+ *
+ * This source file is free software, under either the GPL v2 license or a
+ * BSD style license, as supplied with this software.
+ *
+ * This source file is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * Parameters:
+ * @iIndexColumn int Position of the indexing column
+ * @sURL String Server side page tat will be notified that order is changed
+ * @iGroupingLevel int Defines that grouping is used
+ */
+(function ($) {
+
+ "use strict";
+ $.fn.rowReordering = function (options) {
+
+ function _fnStartProcessingMode(oTable) {
+ ///
+ ///Function that starts "Processing" mode i.e. shows "Processing..." dialog while some action is executing(Default function)
+ ///
+
+ if (oTable.fnSettings().oFeatures.bProcessing) {
+ $(".dataTables_processing").css('visibility', 'visible');
+ }
+ }
+
+ function _fnEndProcessingMode(oTable) {
+ ///
+ ///Function that ends the "Processing" mode and returns the table in the normal state(Default function)
+ ///
+
+ if (oTable.fnSettings().oFeatures.bProcessing) {
+ $(".dataTables_processing").css('visibility', 'hidden');
+ }
+ }
+
+ ///Not used
+ function fnGetStartPosition(oTable, sSelector) {
+ var iStart = 1000000;
+ $(sSelector, oTable).each(function () {
+ var iPosition = parseInt(oTable.fnGetData(this, properties.iIndexColumn));
+ if (iPosition < iStart)
+ iStart = iPosition;
+ });
+ return iStart;
+ }
+
+ function fnCancelSorting(oTable, tbody, properties, iLogLevel, sMessage) {
+ tbody.sortable('cancel');
+ if (iLogLevel <= properties.iLogLevel) {
+ if (sMessage != undefined) {
+ properties.fnAlert(sMessage, "");
+ } else {
+ properties.fnAlert("Row cannot be moved", "");
+ }
+ }
+ properties.fnEndProcessingMode(oTable);
+ }
+
+ function fnGetState(oTable, sSelector, id) {
+
+ var tr = $("#" + id, oTable);
+ var iCurrentPosition = oTable.fnGetData(tr[0], properties.iIndexColumn);
+ var iNewPosition = -1; // fnGetStartPosition(sSelector);
+ var sDirection;
+ var trPrevious = tr.prev(sSelector);
+ if (trPrevious.length > 0) {
+ iNewPosition = parseInt(oTable.fnGetData(trPrevious[0], properties.iIndexColumn));
+ if (iNewPosition < iCurrentPosition) {
+ iNewPosition = iNewPosition + 1;
+ }
+ } else {
+ var trNext = tr.next(sSelector);
+ if (trNext.length > 0) {
+ iNewPosition = parseInt(oTable.fnGetData(trNext[0], properties.iIndexColumn));
+ if (iNewPosition > iCurrentPosition)//moved back
+ iNewPosition = iNewPosition - 1;
+ }
+ }
+ if (iNewPosition < iCurrentPosition)
+ sDirection = "back";
+ else
+ sDirection = "forward";
+
+ return { sDirection: sDirection, iCurrentPosition: iCurrentPosition, iNewPosition: iNewPosition };
+
+ }
+
+ function fnMoveRows(oTable, sSelector, iCurrentPosition, iNewPosition, sDirection, id, sGroup) {
+ var iStart = iCurrentPosition;
+ var iEnd = iNewPosition;
+ if (sDirection == "back") {
+ iStart = iNewPosition;
+ iEnd = iCurrentPosition;
+ }
+
+ $(oTable.fnGetNodes()).each(function () {
+ if (sGroup != "" && $(this).attr("data-group") != sGroup)
+ return;
+ var tr = this;
+ var iRowPosition = parseInt(oTable.fnGetData(tr, properties.iIndexColumn));
+ if (iStart <= iRowPosition && iRowPosition <= iEnd) {
+ if (tr.id == id) {
+ oTable.fnUpdate(iNewPosition,
+ oTable.fnGetPosition(tr), // get row position in current model
+ properties.iIndexColumn,
+ false); // false = defer redraw until all row updates are done
+ } else {
+ if (sDirection == "back") {
+ oTable.fnUpdate(iRowPosition + 1,
+ oTable.fnGetPosition(tr), // get row position in current model
+ properties.iIndexColumn,
+ false); // false = defer redraw until all row updates are done
+ } else {
+ oTable.fnUpdate(iRowPosition - 1,
+ oTable.fnGetPosition(tr), // get row position in current model
+ properties.iIndexColumn,
+ false); // false = defer redraw until all row updates are done
+ }
+ }
+ }
+ });
+
+ var oSettings = oTable.fnSettings();
+
+ //Standing Redraw Extension
+ //Author: Jonathan Hoguet
+ //http://datatables.net/plug-ins/api#fnStandingRedraw
+ if (oSettings.oFeatures.bServerSide === false) {
+ var before = oSettings._iDisplayStart;
+ oSettings.oApi._fnReDraw(oSettings);
+ //iDisplayStart has been reset to zero - so lets change it back
+ oSettings._iDisplayStart = before;
+ oSettings.oApi._fnCalculateEnd(oSettings);
+ }
+ //draw the 'current' page
+ oSettings.oApi._fnDraw(oSettings);
+ }
+
+ function _fnAlert(message, type) {
+ alert(message);
+ }
+
+ var defaults = {
+ iIndexColumn: 0,
+ iStartPosition: 1,
+ sURL: null,
+ sRequestType: "POST",
+ iGroupingLevel: 0,
+ fnAlert: _fnAlert,
+ fnSuccess: jQuery.noop,
+ iLogLevel: 1,
+ sDataGroupAttribute: "data-group",
+ fnStartProcessingMode: _fnStartProcessingMode,
+ fnEndProcessingMode: _fnEndProcessingMode,
+ fnUpdateAjaxRequest: jQuery.noop
+ };
+
+ var properties = $.extend(defaults, options);
+
+ var iFrom, iTo;
+
+ // Return a helper with preserved width of cells (see Issue 9)
+ var tableFixHelper = function (e, tr) {
+ var $originals = tr.children();
+ var $helper = tr.clone();
+ $helper.children().each(function (index) {
+ // Set helper cell sizes to match the original sizes
+ $(this).width($originals.eq(index).width())
+ });
+ return $helper;
+ };
+
+ return this.each(function () {
+
+ var oTable = $(this).dataTable();
+
+ var aaSortingFixed = (oTable.fnSettings().aaSortingFixed == null ? new Array() : oTable.fnSettings().aaSortingFixed);
+ aaSortingFixed.push([properties.iIndexColumn, "asc"]);
+
+ oTable.fnSettings().aaSortingFixed = aaSortingFixed;
+
+
+ for (var i = 0; i < oTable.fnSettings().aoColumns.length; i++) {
+ oTable.fnSettings().aoColumns[i].bSortable = false;
+ /*for(var j=0; j