diff options
Diffstat (limited to 'assets_src/js/list.js')
| -rw-r--r-- | assets_src/js/list.js | 70 |
1 files changed, 37 insertions, 33 deletions
diff --git a/assets_src/js/list.js b/assets_src/js/list.js index 7a4f69e..7af7444 100644 --- a/assets_src/js/list.js +++ b/assets_src/js/list.js | |||
| @@ -20,24 +20,26 @@ async function resultClicked(grilId) { | |||
| 20 | } | 20 | } |
| 21 | 21 | ||
| 22 | async function updateGrilOrder(gril, pos) { | 22 | async function updateGrilOrder(gril, pos) { |
| 23 | return await ajax.post( | 23 | return await ajax.post( |
| 24 | `${window.location}/order`, | 24 | `${window.location}/order`, |
| 25 | `gril=${gril}&pos=${pos}`, | 25 | `gril=${gril}&pos=${pos}`, |
| 26 | { headers: { | 26 | { |
| 27 | 'Content-Type': 'application/x-www-form-urlencoded', | 27 | headers: { |
| 28 | } }); | 28 | 'Content-Type': 'application/x-www-form-urlencoded', |
| 29 | } | ||
| 30 | }); | ||
| 29 | } | 31 | } |
| 30 | 32 | ||
| 31 | function getCurrentOrder(gril) { | 33 | function getCurrentOrder(gril) { |
| 32 | const els = document.querySelectorAll('#gril-list > li') | 34 | const els = document.querySelectorAll('#gril-list > li') |
| 33 | 35 | ||
| 34 | for (let i = 0; i < els.length; i++) { | 36 | for (let i = 0; i < els.length; i++) { |
| 35 | if (els[i].id === gril) { | 37 | if (els[i].id === gril) { |
| 36 | console.log(i); | 38 | console.log(i); |
| 37 | return i; | 39 | return i; |
| 38 | } | 40 | } |
| 39 | } | 41 | } |
| 40 | return -1; | 42 | return -1; |
| 41 | } | 43 | } |
| 42 | 44 | ||
| 43 | async function listButtonHandler(e) { | 45 | async function listButtonHandler(e) { |
| @@ -47,20 +49,20 @@ async function listButtonHandler(e) { | |||
| 47 | nItem = dom.next(dom.next(item, liFilter), liFilter); | 49 | nItem = dom.next(dom.next(item, liFilter), liFilter); |
| 48 | switch (e.target.classList[0]) { | 50 | switch (e.target.classList[0]) { |
| 49 | case 'gril-sort-up': | 51 | case 'gril-sort-up': |
| 50 | try { | 52 | try { |
| 51 | await updateGrilOrder(item.id, getCurrentOrder(item.id) - 1); | 53 | await updateGrilOrder(item.id, getCurrentOrder(item.id) - 1); |
| 52 | } catch(e) { | 54 | } catch(e) { |
| 53 | alert(e.message); | 55 | alert(e.message); |
| 54 | } | 56 | } |
| 55 | item.parentNode.insertBefore(item, pItem); | 57 | item.parentNode.insertBefore(item, pItem); |
| 56 | break; | 58 | break; |
| 57 | case 'gril-sort-down': | 59 | case 'gril-sort-down': |
| 58 | try { | 60 | try { |
| 59 | await updateGrilOrder(item.id, getCurrentOrder(item.id) + 1); | 61 | await updateGrilOrder(item.id, getCurrentOrder(item.id) + 1); |
| 60 | } catch(e) { | 62 | } catch(e) { |
| 61 | alert(e.message); | 63 | alert(e.message); |
| 62 | } | 64 | } |
| 63 | 65 | ||
| 64 | if (nItem) { | 66 | if (nItem) { |
| 65 | item.parentNode.insertBefore(item, nItem); | 67 | item.parentNode.insertBefore(item, nItem); |
| 66 | } else { | 68 | } else { |
| @@ -68,16 +70,18 @@ async function listButtonHandler(e) { | |||
| 68 | } | 70 | } |
| 69 | break; | 71 | break; |
| 70 | case 'gril-delete': | 72 | case 'gril-delete': |
| 71 | let liFilter = x => x.tagName && x.tagName.toLowerCase() === 'li'; | 73 | let liFilter = x => x.tagName && x.tagName.toLowerCase() === 'li'; |
| 72 | let item = dom.closest(e.target, liFilter); | 74 | let item = dom.closest(e.target, liFilter); |
| 73 | try { | 75 | try { |
| 74 | await ajax.del( | 76 | await ajax.del( |
| 75 | `${window.location}/order`, | 77 | `${window.location}/order`, |
| 76 | `gril=${item.id}`, | 78 | `gril=${item.id}`, |
| 77 | { headers: { | 79 | { |
| 78 | 'Content-Type': 'application/x-www-form-urlencoded', | 80 | headers: { |
| 79 | } }); | 81 | 'Content-Type': 'application/x-www-form-urlencoded', |
| 80 | item.parentNode.removeChild(item); | 82 | } |
| 83 | }); | ||
| 84 | item.parentNode.removeChild(item); | ||
| 81 | } catch(e) { | 85 | } catch(e) { |
| 82 | alert(e.message); | 86 | alert(e.message); |
| 83 | } | 87 | } |
