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() {