From 3af3c9a89d8a4020b6f1ccada7da2ccbec1a8562 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Mon, 29 Dec 2025 15:26:16 +0200 Subject: [PATCH] Converted Gantt from js to Jade. Part 2. Thanks to xet7 ! --- client/components/gantt/gantt.jade | 2 +- client/components/gantt/ganttCard.jade | 7 +------ client/components/gantt/ganttCard.js | 24 ++++++++++++------------ 3 files changed, 14 insertions(+), 19 deletions(-) diff --git a/client/components/gantt/gantt.jade b/client/components/gantt/gantt.jade index 721020b5a..cf841ed2e 100644 --- a/client/components/gantt/gantt.jade +++ b/client/components/gantt/gantt.jade @@ -5,7 +5,7 @@ template(name="ganttView") .gantt-view h2 {{_ 'board-view-gantt'}} if hasSelectedCard - +ganttCard + +ganttCard(selectedCard) each weeks table.gantt-table thead diff --git a/client/components/gantt/ganttCard.jade b/client/components/gantt/ganttCard.jade index a88e3f3f1..cbe2474ef 100644 --- a/client/components/gantt/ganttCard.jade +++ b/client/components/gantt/ganttCard.jade @@ -1,7 +1,2 @@ template(name="ganttCard") - .gantt-card-wrapper - .gantt-card-header - h3 {{_ 'card-details'}} - button.js-close-gantt-card.close-button × - .gantt-card-content - +cardDetails(selectedCard) \ No newline at end of file + +cardDetails(selectedCard) \ No newline at end of file diff --git a/client/components/gantt/ganttCard.js b/client/components/gantt/ganttCard.js index c2b07ccd2..285670751 100644 --- a/client/components/gantt/ganttCard.js +++ b/client/components/gantt/ganttCard.js @@ -6,23 +6,23 @@ BlazeComponent.extendComponent({ }, selectedCard() { - // Get the selected card from the parent ganttView template - const parentView = this.view.parentView; - if (parentView && parentView.templateInstance) { - const cardId = parentView.templateInstance().selectedCardId.get(); - return cardId ? ReactiveCache.getCard(cardId) : null; - } - return null; + // The selected card is now passed as a parameter to the component + return this.currentData(); }, events() { return [ { - 'click .js-close-gantt-card'(event) { - // Find the parent ganttView template and clear the selected card - const parentView = this.view.parentView; - if (parentView && parentView.templateInstance) { - parentView.templateInstance().selectedCardId.set(null); + 'click .js-close-card-details'(event) { + event.preventDefault(); + // Find the ganttView template instance and clear selectedCardId + let view = Blaze.currentView; + while (view) { + if (view.templateInstance && view.templateInstance().selectedCardId) { + view.templateInstance().selectedCardId.set(null); + break; + } + view = view.parentView; } }, },