diff options
-rw-r--r-- | css/redirector.css | 5 | ||||
-rw-r--r-- | js/redirectorpage.js | 14 | ||||
-rw-r--r-- | js/util.js | 8 | ||||
-rw-r--r-- | redirector.html | 2 |
4 files changed, 26 insertions, 3 deletions
diff --git a/css/redirector.css b/css/redirector.css index 5ad77a3..e12a934 100644 --- a/css/redirector.css +++ b/css/redirector.css @@ -235,10 +235,13 @@ button span { color:red !important; } -.move-up-btn, .move-down-btn { +.move-up-btn, .move-down-btn, .move-downbottom-btn, .move-uptop-btn { width:45px !important; } +.move-downbottom-btn, .move-uptop-btn { + height:25px !important; +} .redirect-row label { display:inline-block; diff --git a/js/redirectorpage.js b/js/redirectorpage.js index 84bfadf..6d0db2e 100644 --- a/js/redirectorpage.js +++ b/js/redirectorpage.js @@ -277,6 +277,20 @@ function moveDown(index) { saveChanges(); } +function moveUpTop(index) { + let top = REDIRECTS[0]; + move(REDIRECTS, index, top); + updateBindings(); + saveChanges(); +} + +function moveDownBottom(index) { + let bottom = REDIRECTS.length - 1; + move(REDIRECTS, index, bottom); + updateBindings(); + saveChanges(); +} + //All the setup stuff for the page function pageLoad() { template = el('#redirect-row-template'); @@ -36,12 +36,12 @@ function dataBind(el, dataObject) { } } for (let tag of el.querySelectorAll('[data-show]')) { - let shouldShow = boolValue(tag.getAttribute('data-show')); + let shouldShow = boolValue(tag.getAttribute('data-show')); tag.style.display = shouldShow ? '' : 'none'; } for (let tag of el.querySelectorAll('[data-disabled]')) { let isDisabled = boolValue(tag.getAttribute('data-disabled')); - + if (isDisabled) { tag.classList.add('disabled'); tag.setAttribute('disabled', 'disabled'); @@ -82,6 +82,10 @@ function showForm(selector, dataObject) { show(selector); } +function move(arr, from, to) { + arr.splice(to, 0, arr.splice(from, 1)[0]); +} + function hideForm(selector) { hide('#cover'); hide(selector); diff --git a/redirector.html b/redirector.html index 047a463..03c5714 100644 --- a/redirector.html +++ b/redirector.html @@ -178,8 +178,10 @@ <button class="btn medium blue" data-action="toggleDisabled"><span data-show="disabled">Enable</span><span data-show="!disabled">Disable</span></button> <button class="btn medium green" data-action="editRedirect">Edit</button> <button class="btn medium red" data-action="confirmDeleteRedirect">Delete</button> + <button class="btn medium grey move-uptop-btn" data-action="moveUpTop" data-disabled="$first">⟰</button> <button class="btn medium grey move-up-btn" data-action="moveUp" data-disabled="$first">▲</button> <button class="btn medium grey move-down-btn" data-action="moveDown" data-disabled="$last">▼</button> + <button class="btn medium grey move-downbottom-btn" data-action="moveDownBottom" data-disabled="$last">⟱</button> <button class="btn medium grey" data-action="duplicateRedirect">Duplicate</button> </div> <label class="toggle-container"> |