From 7c512b1c153ec3d610bb31ab47886fb7e32fc3ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BE=9D=E7=91=AA=E8=B2=93?= Date: Fri, 24 Mar 2023 07:58:32 +0800 Subject: [PATCH] Revised the JavaScript DebitCreditSubForm to have a better visual effect when the line item editor is opened and closed with no line items. --- src/accounting/static/js/journal-entry-form.js | 15 ++++++++++++++- .../static/js/journal-entry-line-item-editor.js | 1 + 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/accounting/static/js/journal-entry-form.js b/src/accounting/static/js/journal-entry-form.js index f6a4e8f..3e5ee38 100644 --- a/src/accounting/static/js/journal-entry-form.js +++ b/src/accounting/static/js/journal-entry-form.js @@ -631,6 +631,16 @@ class DebitCreditSubForm { this.#initializeDragAndDropReordering(); } + /** + * The callback when the line item editor is closed. + * + */ + onLineItemEditorClosed() { + if (this.lineItems.length === 0) { + this.#element.classList.remove("accounting-not-empty"); + } + } + /** * Adds a new line item sub-form * @@ -691,7 +701,10 @@ class DebitCreditSubForm { this.#element.classList.add("accounting-clickable"); this.#element.dataset.bsToggle = "modal" this.#element.dataset.bsTarget = "#" + this.currency.form.lineItemEditor.modal.id; - this.#element.onclick = () => this.currency.form.lineItemEditor.onAddNew(this); + this.#element.onclick = () => { + this.#element.classList.add("accounting-not-empty"); + this.currency.form.lineItemEditor.onAddNew(this); + }; this.#content.classList.add("d-none"); } else { this.#element.classList.add("accounting-not-empty"); diff --git a/src/accounting/static/js/journal-entry-line-item-editor.js b/src/accounting/static/js/journal-entry-line-item-editor.js index 9ad027f..256d696 100644 --- a/src/accounting/static/js/journal-entry-line-item-editor.js +++ b/src/accounting/static/js/journal-entry-line-item-editor.js @@ -249,6 +249,7 @@ class JournalEntryLineItemEditor { } return false; }; + this.modal.addEventListener("hidden.bs.modal", () => this.#debitCreditSubForm.onLineItemEditorClosed()); } /**