changeset 24:f8c97193c772 default tip

indexOf
author Franklin Schmidt <fschmidt@gmail.com>
date Tue, 20 Jan 2026 18:48:04 -0700
parents 650773682588
children
files src/alternatives/draggabilly.html src/alternatives/interactjs.html src/examples/list.html src/examples/list2.html src/examples/nested.html
diffstat 5 files changed, 15 insertions(+), 55 deletions(-) [+]
line wrap: on
line diff
diff -r 650773682588 -r f8c97193c772 src/alternatives/draggabilly.html
--- a/src/alternatives/draggabilly.html	Wed Jul 09 17:52:51 2025 -0600
+++ b/src/alternatives/draggabilly.html	Tue Jan 20 18:48:04 2026 -0700
@@ -26,18 +26,10 @@
 				dragEntered = null;
 			}
 
-			function indexOf(a,el) {
-				for( let i=0; i<a.length; i++ ) {
-					if( a[i] === el )
-						return i;
-				}
-				return -1;
-			}
-
 			function onDragEnter(dragging,entered) {
-				let divs = document.querySelectorAll('div[drag]');
-				let iEntered = indexOf(divs,entered);
-				let iDragging = indexOf(divs,dragging);
+				let divs = Array.from(document.querySelectorAll('div[drag]'));
+				let iEntered = divs.indexOf(entered);
+				let iDragging = divs.indexOf(dragging);
 				console.log(iDragging+' '+iEntered);
 				let parent = entered.parentNode;
 				if( iDragging < iEntered ) {
diff -r 650773682588 -r f8c97193c772 src/alternatives/interactjs.html
--- a/src/alternatives/interactjs.html	Wed Jul 09 17:52:51 2025 -0600
+++ b/src/alternatives/interactjs.html	Tue Jan 20 18:48:04 2026 -0700
@@ -34,14 +34,6 @@
 				event.target.style.transform = null;
 			}
 
-			function indexOf(a,el) {
-				for( let i=0; i<a.length; i++ ) {
-					if( a[i] === el )
-						return i;
-				}
-				return -1;
-			}
-
 			function dragEnterListener(event) {
 				//return;
 				console.log(event);
@@ -49,9 +41,9 @@
 				let dragging = event.relatedTarget;
 				if( entered === dragging )
 					return;
-				let divs = document.querySelectorAll('div[drag]');
-				let iEntered = indexOf(divs,entered);
-				let iDragging = indexOf(divs,dragging);
+				let divs = Array.from(document.querySelectorAll('div[drag]'));
+				let iEntered = divs.indexOf(entered);
+				let iDragging = divs.indexOf(dragging);
 				console.log(iDragging+' '+iEntered);
 				let parent = entered.parentNode;
 				if( iDragging < iEntered ) {
diff -r 650773682588 -r f8c97193c772 src/examples/list.html
--- a/src/examples/list.html	Wed Jul 09 17:52:51 2025 -0600
+++ b/src/examples/list.html	Tue Jan 20 18:48:04 2026 -0700
@@ -24,22 +24,14 @@
 				event.dropzone.removeAttribute('in');
 			};
 
-			function indexOf(a,el) {
-				for( let i=0; i<a.length; i++ ) {
-					if( a[i] === el )
-						return i;
-				}
-				return -1;
-			}
-
 			dad.onDrop = function(event) {
 				let dropzone = event.dropzone;
 				if( !dropzone )
 					return;
 				let original = event.original
-				let items = document.querySelectorAll('[item]');
-				let iDropzone = indexOf(items,dropzone);
-				let iOriginal = indexOf(items,original);
+				let items = Array.from(document.querySelectorAll('[item]'));
+				let iDropzone = items.indexOf(dropzone);
+				let iOriginal = items.indexOf(original);
 				let where = iDropzone < iOriginal ? 'beforebegin' : 'afterend';
 				dropzone.insertAdjacentElement(where,original);
 			};
diff -r 650773682588 -r f8c97193c772 src/examples/list2.html
--- a/src/examples/list2.html	Wed Jul 09 17:52:51 2025 -0600
+++ b/src/examples/list2.html	Tue Jan 20 18:48:04 2026 -0700
@@ -13,20 +13,12 @@
 		</style>
 		<script src="/dad.js"></script>
 		<script>
-			function indexOf(a,el) {
-				for( let i=0; i<a.length; i++ ) {
-					if( a[i] === el )
-						return i;
-				}
-				return -1;
-			}
-
 			dad.onEnter = function(event) {
 				let dropzone = event.dropzone;
 				let original = event.original;
-				let items = document.querySelectorAll('[item]');
-				let iDropzone = indexOf(items,dropzone);
-				let iOriginal = indexOf(items,original);
+				let items = Array.from(document.querySelectorAll('[item]'));
+				let iDropzone = items.indexOf(dropzone);
+				let iOriginal = items.indexOf(original);
 				let where = iDropzone < iOriginal ? 'beforebegin' : 'afterend';
 				dropzone.insertAdjacentElement(where,original);
 			};
diff -r 650773682588 -r f8c97193c772 src/examples/nested.html
--- a/src/examples/nested.html	Wed Jul 09 17:52:51 2025 -0600
+++ b/src/examples/nested.html	Tue Jan 20 18:48:04 2026 -0700
@@ -18,14 +18,6 @@
 		</style>
 		<script src="/dad.js"></script>
 		<script>
-			function indexOf(a,el) {
-				for( let i=0; i<a.length; i++ ) {
-					if( a[i] === el )
-						return i;
-				}
-				return -1;
-			}
-
 			dad.whatToDrag = function(draggable) {
 				return draggable.parentNode;
 			};
@@ -37,9 +29,9 @@
 				if( dropzone.getAttribute('drop') !== filter ) {
 					return false;
 				}
-				let items = document.querySelectorAll(`[drop="${filter}"]`);
-				let iDropzone = indexOf(items,dropzone);
-				let iOriginal = indexOf(items,original);
+				let items = Array.from(document.querySelectorAll(`[drop="${filter}"]`));
+				let iDropzone = items.indexOf(dropzone);
+				let iOriginal = items.indexOf(original);
 				let where = iDropzone < iOriginal ? 'beforebegin' : 'afterend';
 				dropzone.insertAdjacentElement(where,original);
 			};