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()); } /**