From 2f6b578fc9670353c42a97677b93231e03ce6db0 Mon Sep 17 00:00:00 2001 From: Safwan Samsudeen Date: Tue, 7 Jan 2025 14:37:47 +0530 Subject: [PATCH] fix: bar dragging tracker bug --- src/bar.js | 1 + src/index.js | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/bar.js b/src/bar.js index 361e0e3..31ea7e4 100644 --- a/src/bar.js +++ b/src/bar.js @@ -341,6 +341,7 @@ export default class Bar { const posX = e.offsetX || e.layerX; const cx = +this.$handle_progress.getAttribute('cx'); if (cx > posX - 1 && cx < posX + 1) return; + console.log(this.gantt.bar_being_dragged); if (this.gantt.bar_being_dragged) return; if (!this.popup_opened) this.gantt.show_popup({ diff --git a/src/index.js b/src/index.js index f1c0b97..06f02f2 100644 --- a/src/index.js +++ b/src/index.js @@ -1068,7 +1068,9 @@ export default class Gantt { this.$svg.onclick = (e) => { if (e.target.classList.contains('grid-row')) this.unselect_all(); }; - + $.on(this.$svg, 'mousemove', '.bar-wrapper, .handle', () => { + if (this.bar_being_dragged === false) this.bar_being_dragged = true; + }); $.on(this.$svg, 'mousedown', '.bar-wrapper, .handle', (e, element) => { const bar_wrapper = $.closest('.bar-wrapper', element); bars.forEach((bar) => bar.group.classList.remove('active')); @@ -1099,7 +1101,7 @@ export default class Gantt { } bars = ids.map((id) => this.get_bar(id)); - this.bar_being_dragged = parent_bar_id; + this.bar_being_dragged = false; bars.forEach((bar) => { const $bar = bar.$bar;