From fb2e88cfa00baaec26e14262c9939656ccd20bde Mon Sep 17 00:00:00 2001 From: "Alex A. Naanou" Date: Fri, 28 Jul 2023 14:47:24 +0300 Subject: [PATCH] started work on drag-n-drop... Signed-off-by: Alex A. Naanou --- grid-n-view.js | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/grid-n-view.js b/grid-n-view.js index 13f4a3a..4f9d46d 100644 --- a/grid-n-view.js +++ b/grid-n-view.js @@ -118,7 +118,7 @@ var keyboard = { || gallery.down() }, Enter: function(){ gallery.lightbox.toggle() }, - Escape: function(){ + Escape: function(evt){ gallery.lightbox.shown ? gallery.lightbox.hide() // XXX should we remember which image was current and select @@ -239,7 +239,6 @@ var Gallery = { img.scrollIntoView({ behavior: 'smooth', block: 'nearest', - offset: 10, }) // helpers... this.__at_top_row = !this.getRow('above') @@ -532,6 +531,16 @@ var Gallery = { .addEventListener('click', function(evt){ that.deselect_current && (that.current = null) }) + // drag... + this.dom + .addEventListener('dragover', function(evt){ + // XXX + }) + this.dom + .addEventListener('drop', function(evt){ + evt.preventDefault() + // XXX + }) // handle resizing... new ResizeObserver( @@ -654,6 +663,14 @@ var Lightbox = { document.fullscreenElement ? document.exitFullscreen() : that.dom.requestFullscreen() }) + // drag... + this.dom + .addEventListener('dragover', function(evt){ + that.gallery.dom.scrollIntoView({ + behavior: 'smooth', + block: 'nearest', + }) + that.hide() }) // click... var deadzone = this.navigation_deadzone ?? 100 this.dom