aboutsummaryrefslogtreecommitdiff
path: root/assets_src/js/list.js
diff options
context:
space:
mode:
Diffstat (limited to 'assets_src/js/list.js')
-rw-r--r--assets_src/js/list.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/assets_src/js/list.js b/assets_src/js/list.js
index 413f517..8246950 100644
--- a/assets_src/js/list.js
+++ b/assets_src/js/list.js
@@ -19,11 +19,40 @@ async function resultClicked(grilId) {
19 document.getElementById('gril-list').innerHTML += response; 19 document.getElementById('gril-list').innerHTML += response;
20} 20}
21 21
22function listButtonHandler(e) {
23 let liFilter = x => x.tagName && x.tagName.toLowerCase() === 'li';
24 let item = dom.closest(e.target, liFilter);
25 let pItem = dom.previous(item, liFilter),
26 nItem = dom.next(dom.next(item, liFilter), liFilter);
27 switch (e.target.classList[0]) {
28 case 'gril-sort-up':
29 //TODO: backend
30 item.parentNode.insertBefore(item, pItem);
31 break;
32 case 'gril-sort-down':
33 //TODO: backend
34 if (nItem) {
35 item.parentNode.insertBefore(item, nItem);
36 } else {
37 item.parentNode.appendChild(item);
38 }
39 break;
40 case 'gril-delete':
41 //TODO: backend
42 item.parentNode.removeChild(item);
43 break;
44 }
45}
46
22function main() { 47function main() {
23 let is = new search.InstantSearch( 48 let is = new search.InstantSearch(
24 document.getElementById('gril-add-search'), 49 document.getElementById('gril-add-search'),
25 document.getElementById('search-results')); 50 document.getElementById('search-results'));
26 is.resultClicked = resultClicked; 51 is.resultClicked = resultClicked;
52 document.getElementById('gril-list').addEventListener(
53 'click',
54 listButtonHandler,
55 true);
27} 56}
28 57
29dom.ready(main); 58dom.ready(main);