aboutsummaryrefslogtreecommitdiffhomepage
path: root/inc/plugin_admin.js
diff options
context:
space:
mode:
Diffstat (limited to 'inc/plugin_admin.js')
-rw-r--r--inc/plugin_admin.js50
1 files changed, 43 insertions, 7 deletions
diff --git a/inc/plugin_admin.js b/inc/plugin_admin.js
index 134ffb33..4b55e0f3 100644
--- a/inc/plugin_admin.js
+++ b/inc/plugin_admin.js
@@ -1,3 +1,31 @@
1/** @licstart The following is the entire license notice for the
2 * JavaScript code in this page.
3 *
4 * Copyright: (c) 2011-2015 Sébastien SAUVAGE <sebsauvage@sebsauvage.net>
5 * (c) 2011-2017 The Shaarli Community, see AUTHORS
6 *
7 * This software is provided 'as-is', without any express or implied warranty.
8 * In no event will the authors be held liable for any damages arising from
9 * the use of this software.
10 *
11 * Permission is granted to anyone to use this software for any purpose,
12 * including commercial applications, and to alter it and redistribute it
13 * freely, subject to the following restrictions:
14 *
15 * 1. The origin of this software must not be misrepresented; you must not
16 * claim that you wrote the original software. If you use this software
17 * in a product, an acknowledgment in the product documentation would
18 * be appreciated but is not required.
19 *
20 * 2. Altered source versions must be plainly marked as such, and must
21 * not be misrepresented as being the original software.
22 *
23 * 3. This notice may not be removed or altered from any source distribution.
24 *
25 * @licend The above is the entire license notice
26 * for the JavaScript code in this page.
27 */
28
1/** 29/**
2 * Change the position counter of a row. 30 * Change the position counter of a row.
3 * 31 *
@@ -22,14 +50,22 @@ function changePos(elem, toPos)
22function changeOrder(pos, move) 50function changeOrder(pos, move)
23{ 51{
24 var newpos = parseInt(pos) + move; 52 var newpos = parseInt(pos) + move;
25 var line = document.querySelector('[data-order="'+ pos +'"]'); 53 var lines = document.querySelectorAll('[data-order="'+ pos +'"]');
26 var changeline = document.querySelector('[data-order="'+ newpos +'"]'); 54 var changelines = document.querySelectorAll('[data-order="'+ newpos +'"]');
27 var parent = changeline.parentNode; 55
56 // If we go down reverse lines to preserve the rows order
57 if (move > 0) {
58 lines = [].slice.call(lines).reverse();
59 }
60
61 for (var i = 0 ; i < lines.length ; i++) {
62 var parent = changelines[0].parentNode;
63 changePos(lines[i], newpos);
64 changePos(changelines[i], parseInt(pos));
65 var changeItem = move < 0 ? changelines[0] : changelines[changelines.length - 1].nextSibling;
66 parent.insertBefore(lines[i], changeItem);
67 }
28 68
29 changePos(line, newpos);
30 changePos(changeline, parseInt(pos));
31 var changeItem = move < 0 ? changeline : changeline.nextSibling;
32 parent.insertBefore(line, changeItem);
33} 69}
34 70
35/** 71/**