Mercurial Hosting > dad
comparison src/examples/list.html @ 24:f8c97193c772 default tip
indexOf
| author | Franklin Schmidt <fschmidt@gmail.com> |
|---|---|
| date | Tue, 20 Jan 2026 18:48:04 -0700 |
| parents | df0f6d0d55e8 |
| children |
comparison
equal
deleted
inserted
replaced
| 23:650773682588 | 24:f8c97193c772 |
|---|---|
| 22 | 22 |
| 23 dad.onLeave = function(event) { | 23 dad.onLeave = function(event) { |
| 24 event.dropzone.removeAttribute('in'); | 24 event.dropzone.removeAttribute('in'); |
| 25 }; | 25 }; |
| 26 | 26 |
| 27 function indexOf(a,el) { | |
| 28 for( let i=0; i<a.length; i++ ) { | |
| 29 if( a[i] === el ) | |
| 30 return i; | |
| 31 } | |
| 32 return -1; | |
| 33 } | |
| 34 | |
| 35 dad.onDrop = function(event) { | 27 dad.onDrop = function(event) { |
| 36 let dropzone = event.dropzone; | 28 let dropzone = event.dropzone; |
| 37 if( !dropzone ) | 29 if( !dropzone ) |
| 38 return; | 30 return; |
| 39 let original = event.original | 31 let original = event.original |
| 40 let items = document.querySelectorAll('[item]'); | 32 let items = Array.from(document.querySelectorAll('[item]')); |
| 41 let iDropzone = indexOf(items,dropzone); | 33 let iDropzone = items.indexOf(dropzone); |
| 42 let iOriginal = indexOf(items,original); | 34 let iOriginal = items.indexOf(original); |
| 43 let where = iDropzone < iOriginal ? 'beforebegin' : 'afterend'; | 35 let where = iDropzone < iOriginal ? 'beforebegin' : 'afterend'; |
| 44 dropzone.insertAdjacentElement(where,original); | 36 dropzone.insertAdjacentElement(where,original); |
| 45 }; | 37 }; |
| 46 | 38 |
| 47 function init() { | 39 function init() { |
