|
@@ -129,6 +129,77 @@
|
|
|
</div>
|
|
|
{include="page.footer"}
|
|
|
|
|
|
-<script src="inc/plugin_admin.js#"></script>
|
|
|
+<script>
|
|
|
+ /**
|
|
|
+ * Change the position counter of a row.
|
|
|
+ *
|
|
|
+ * @param elem Element Node to change.
|
|
|
+ * @param toPos int New position.
|
|
|
+ */
|
|
|
+ function changePos(elem, toPos) {
|
|
|
+ var elemName = elem.getAttribute('data-line');
|
|
|
+
|
|
|
+ elem.setAttribute('data-order', toPos);
|
|
|
+ var hiddenInput = document.querySelector('[name="order_' + elemName + '"]');
|
|
|
+ hiddenInput.setAttribute('value', toPos);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Move a row up or down.
|
|
|
+ *
|
|
|
+ * @param pos Element Node to move.
|
|
|
+ * @param move int Move: +1 (down) or -1 (up)
|
|
|
+ */
|
|
|
+ function changeOrder(pos, move) {
|
|
|
+ var newpos = parseInt(pos) + move;
|
|
|
+ var lines = document.querySelectorAll('[data-order="' + pos + '"]');
|
|
|
+ var changelines = document.querySelectorAll('[data-order="' + newpos + '"]');
|
|
|
+
|
|
|
+ // If we go down reverse lines to preserve the rows order
|
|
|
+ if (move > 0) {
|
|
|
+ lines = [].slice.call(lines).reverse();
|
|
|
+ }
|
|
|
+
|
|
|
+ for (var i = 0; i < lines.length; i++) {
|
|
|
+ var parent = changelines[0].parentNode;
|
|
|
+ changePos(lines[i], newpos);
|
|
|
+ changePos(changelines[i], parseInt(pos));
|
|
|
+ var changeItem = move < 0 ? changelines[0] : changelines[changelines.length - 1].nextSibling;
|
|
|
+ parent.insertBefore(lines[i], changeItem);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Move a row up in the table.
|
|
|
+ *
|
|
|
+ * @param pos int row counter.
|
|
|
+ *
|
|
|
+ * @returns false
|
|
|
+ */
|
|
|
+ function orderUp(pos) {
|
|
|
+ if (pos == 0) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ changeOrder(pos, -1);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Move a row down in the table.
|
|
|
+ *
|
|
|
+ * @param pos int row counter.
|
|
|
+ *
|
|
|
+ * @returns false
|
|
|
+ */
|
|
|
+ function orderDown(pos) {
|
|
|
+ var lastpos = document.querySelector('[data-order]:last-child').getAttribute('data-order');
|
|
|
+ if (pos == lastpos) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ changeOrder(pos, +1);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+</script>
|
|
|
</body>
|
|
|
</html>
|