Renamed the journal entry form to journal entry editor, to be clear.
This commit is contained in:
		| @@ -105,7 +105,7 @@ class AccountSelector { | ||||
|             AccountSelector.#formAccount.innerText = ""; | ||||
|             AccountSelector.#formAccount.dataset.code = ""; | ||||
|             AccountSelector.#formAccount.dataset.text = ""; | ||||
|             JournalEntryForm.validateAccount(); | ||||
|             JournalEntryEditor.validateAccount(); | ||||
|         }; | ||||
|         for (const option of this.#options) { | ||||
|             option.onclick = () => { | ||||
| @@ -113,7 +113,7 @@ class AccountSelector { | ||||
|                 AccountSelector.#formAccount.innerText = option.dataset.content; | ||||
|                 AccountSelector.#formAccount.dataset.code = option.dataset.code; | ||||
|                 AccountSelector.#formAccount.dataset.text = option.dataset.content; | ||||
|                 JournalEntryForm.validateAccount(); | ||||
|                 JournalEntryEditor.validateAccount(); | ||||
|             }; | ||||
|         } | ||||
|         this.#query.addEventListener("input", () => { | ||||
| @@ -246,9 +246,9 @@ class AccountSelector { | ||||
|      * | ||||
|      */ | ||||
|     static initialize() { | ||||
|         this.#entryForm = document.getElementById("accounting-entry-form"); | ||||
|         this.#formAccountControl = document.getElementById("accounting-entry-form-account-control"); | ||||
|         this.#formAccount = document.getElementById("accounting-entry-form-account"); | ||||
|         this.#entryForm = document.getElementById("accounting-entry-editor"); | ||||
|         this.#formAccountControl = document.getElementById("accounting-entry-editor-account-control"); | ||||
|         this.#formAccount = document.getElementById("accounting-entry-editor-account"); | ||||
|         const modals = Array.from(document.getElementsByClassName("accounting-account-selector-modal")); | ||||
|         for (const modal of modals) { | ||||
|             const selector = new AccountSelector(modal); | ||||
|   | ||||
| @@ -146,11 +146,11 @@ class SummaryEditor { | ||||
|         this.#accountButtons = Array.from(document.getElementsByClassName(this.prefix + "-account")); | ||||
|  | ||||
|         // Things from the entry form | ||||
|         this.#entryFormModal = document.getElementById("accounting-entry-form-modal"); | ||||
|         this.#formAccountControl = document.getElementById("accounting-entry-form-account-control"); | ||||
|         this.#formAccount = document.getElementById("accounting-entry-form-account"); | ||||
|         this.#formSummaryControl = document.getElementById("accounting-entry-form-summary-control"); | ||||
|         this.#formSummary = document.getElementById("accounting-entry-form-summary"); | ||||
|         this.#entryFormModal = document.getElementById("accounting-entry-editor-modal"); | ||||
|         this.#formAccountControl = document.getElementById("accounting-entry-editor-account-control"); | ||||
|         this.#formAccount = document.getElementById("accounting-entry-editor-account"); | ||||
|         this.#formSummaryControl = document.getElementById("accounting-entry-editor-summary-control"); | ||||
|         this.#formSummary = document.getElementById("accounting-entry-editor-summary"); | ||||
|  | ||||
|         for (const cls of [GeneralTagTab, GeneralTripTab, BusTripTab, RegularPaymentTab, AnnotationTab]) { | ||||
|             const tab = new cls(this); | ||||
| @@ -249,7 +249,7 @@ class SummaryEditor { | ||||
|             this.#formAccount.dataset.code = this.#selectedAccount.dataset.code; | ||||
|             this.#formAccount.dataset.text = this.#selectedAccount.dataset.text; | ||||
|             this.#formAccount.innerText = this.#selectedAccount.dataset.text; | ||||
|             JournalEntryForm.validateAccount(); | ||||
|             JournalEntryEditor.validateAccount(); | ||||
|         } | ||||
|         this.#formSummary.dataset.value = this.summary.value; | ||||
|         this.#formSummary.innerText = this.summary.value; | ||||
| @@ -291,8 +291,8 @@ class SummaryEditor { | ||||
|      */ | ||||
|     static initialize() { | ||||
|         const forms = Array.from(document.getElementsByClassName("accounting-summary-editor")); | ||||
|         const entryForm = document.getElementById("accounting-entry-form"); | ||||
|         const formSummaryControl = document.getElementById("accounting-entry-form-summary-control"); | ||||
|         const entryForm = document.getElementById("accounting-entry-editor"); | ||||
|         const formSummaryControl = document.getElementById("accounting-entry-editor-summary-control"); | ||||
|         for (const form of forms) { | ||||
|             const editor = new SummaryEditor(form); | ||||
|             this.#editors[editor.#entryType] = editor; | ||||
|   | ||||
| @@ -25,7 +25,7 @@ | ||||
| // Initializes the page JavaScript. | ||||
| document.addEventListener("DOMContentLoaded", () => { | ||||
|     TransactionForm.initialize(); | ||||
|     JournalEntryForm.initialize(); | ||||
|     JournalEntryEditor.initialize(); | ||||
| }); | ||||
|  | ||||
| /** | ||||
| @@ -479,7 +479,7 @@ class DebitCreditSideSubForm { | ||||
|         this.#total = document.getElementById(this.#prefix + "-total"); | ||||
|         this.#addEntryButton = document.getElementById(this.#prefix + "-add-entry"); | ||||
|         this.#addEntryButton.onclick = () => { | ||||
|             JournalEntryForm.addNew(this); | ||||
|             JournalEntryEditor.addNew(this); | ||||
|             AccountSelector.initializeJournalEntryForm(); | ||||
|             SummaryEditor.initializeNewJournalEntry(entryType); | ||||
|         }; | ||||
| @@ -726,7 +726,7 @@ class JournalEntrySubForm { | ||||
|         this.#amountText = document.getElementById(this.#prefix + "-amount-text"); | ||||
|         this.deleteButton = document.getElementById(this.#prefix + "-delete"); | ||||
|         this.#control.onclick = () => { | ||||
|             JournalEntryForm.edit(this, this.#accountCode.value, this.#accountCode.dataset.text, this.#summary.value, this.amount.value); | ||||
|             JournalEntryEditor.edit(this, this.#accountCode.value, this.#accountCode.dataset.text, this.#summary.value, this.amount.value); | ||||
|             AccountSelector.initializeJournalEntryForm(); | ||||
|         }; | ||||
|         this.deleteButton.onclick = () => { | ||||
| @@ -777,13 +777,13 @@ class JournalEntrySubForm { | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * The journal entry form. | ||||
|  * The journal entry editor. | ||||
|  * | ||||
|  */ | ||||
| class JournalEntryForm { | ||||
| class JournalEntryEditor { | ||||
|  | ||||
|     /** | ||||
|      * The journal entry form | ||||
|      * The journal entry editor | ||||
|      * @type {HTMLFormElement} | ||||
|      */ | ||||
|     #element; | ||||
| @@ -855,20 +855,20 @@ class JournalEntryForm { | ||||
|     #side; | ||||
|  | ||||
|     /** | ||||
|      * Constructs a new journal entry form. | ||||
|      * Constructs a new journal entry editor. | ||||
|      * | ||||
|      */ | ||||
|     constructor() { | ||||
|         this.#element = document.getElementById("accounting-entry-form"); | ||||
|         this.#modal = document.getElementById("accounting-entry-form-modal"); | ||||
|         this.#accountControl = document.getElementById("accounting-entry-form-account-control"); | ||||
|         this.#account = document.getElementById("accounting-entry-form-account"); | ||||
|         this.#accountError = document.getElementById("accounting-entry-form-account-error") | ||||
|         this.#summaryControl = document.getElementById("accounting-entry-form-summary-control"); | ||||
|         this.#summary = document.getElementById("accounting-entry-form-summary"); | ||||
|         this.#summaryError = document.getElementById("accounting-entry-form-summary-error"); | ||||
|         this.#amount = document.getElementById("accounting-entry-form-amount"); | ||||
|         this.#amountError = document.getElementById("accounting-entry-form-amount-error"); | ||||
|         this.#element = document.getElementById("accounting-entry-editor"); | ||||
|         this.#modal = document.getElementById("accounting-entry-editor-modal"); | ||||
|         this.#accountControl = document.getElementById("accounting-entry-editor-account-control"); | ||||
|         this.#account = document.getElementById("accounting-entry-editor-account"); | ||||
|         this.#accountError = document.getElementById("accounting-entry-editor-account-error") | ||||
|         this.#summaryControl = document.getElementById("accounting-entry-editor-summary-control"); | ||||
|         this.#summary = document.getElementById("accounting-entry-editor-summary"); | ||||
|         this.#summaryError = document.getElementById("accounting-entry-editor-summary-error"); | ||||
|         this.#amount = document.getElementById("accounting-entry-editor-amount"); | ||||
|         this.#amountError = document.getElementById("accounting-entry-editor-amount-error"); | ||||
|         this.#element.onsubmit = () => { | ||||
|             if (this.#validate()) { | ||||
|                 if (this.#entry === null) { | ||||
| @@ -1002,17 +1002,17 @@ class JournalEntryForm { | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * The journal entry form | ||||
|      * @type {JournalEntryForm} | ||||
|      * The journal entry editor | ||||
|      * @type {JournalEntryEditor} | ||||
|      */ | ||||
|     static #form; | ||||
|     static #editor; | ||||
|  | ||||
|     /** | ||||
|      * Initializes the journal entry form. | ||||
|      * Initializes the journal entry editor. | ||||
|      * | ||||
|      */ | ||||
|     static initialize() { | ||||
|         this.#form = new JournalEntryForm(); | ||||
|         this.#editor = new JournalEntryEditor(); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
| @@ -1021,7 +1021,7 @@ class JournalEntryForm { | ||||
|      * @param side {DebitCreditSideSubForm} the debit or credit side sub-form | ||||
|      */ | ||||
|     static addNew(side) { | ||||
|         this.#form.#onAddNew(side); | ||||
|         this.#editor.#onAddNew(side); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
| @@ -1034,7 +1034,7 @@ class JournalEntryForm { | ||||
|      * @param amount {string} the amount | ||||
|      */ | ||||
|     static edit(entry, accountCode, accountText, summary, amount) { | ||||
|         this.#form.#onEdit(entry, accountCode, accountText, summary, amount); | ||||
|         this.#editor.#onEdit(entry, accountCode, accountText, summary, amount); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
| @@ -1042,7 +1042,7 @@ class JournalEntryForm { | ||||
|      * | ||||
|      */ | ||||
|     static validateAccount() { | ||||
|         this.#form.#validateAccount(); | ||||
|         this.#editor.#validateAccount(); | ||||
|     } | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -70,7 +70,7 @@ First written: 2023/2/25 | ||||
|         </div> | ||||
|  | ||||
|         <div> | ||||
|           <button id="accounting-currency-{{ currency_index }}-debit-add-entry" class="btn btn-primary" type="button" data-currency-index="{{ currency_index }}" data-entry-type="debit" data-bs-toggle="modal" data-bs-target="#accounting-entry-form-modal"> | ||||
|           <button id="accounting-currency-{{ currency_index }}-debit-add-entry" class="btn btn-primary" type="button" data-currency-index="{{ currency_index }}" data-entry-type="debit" data-bs-toggle="modal" data-bs-target="#accounting-entry-editor-modal"> | ||||
|             <i class="fas fa-plus"></i> | ||||
|             {{ A_("New") }} | ||||
|           </button> | ||||
|   | ||||
| @@ -24,7 +24,7 @@ First written: 2023/2/25 | ||||
|     <div class="modal-content"> | ||||
|       <div class="modal-header"> | ||||
|         <h1 class="modal-title fs-5" id="accounting-account-selector-{{ entry_type }}-modal-label">{{ A_("Select Account") }}</h1> | ||||
|         <button type="button" class="btn-close" data-bs-toggle="modal" data-bs-target="#accounting-entry-form-modal" aria-label="{{ A_("Close") }}"></button> | ||||
|         <button type="button" class="btn-close" data-bs-toggle="modal" data-bs-target="#accounting-entry-editor-modal" aria-label="{{ A_("Close") }}"></button> | ||||
|       </div> | ||||
|       <div class="modal-body"> | ||||
|         <div class="input-group mb-2"> | ||||
| @@ -37,7 +37,7 @@ First written: 2023/2/25 | ||||
|  | ||||
|         <ul id="accounting-account-selector-{{ entry_type }}-option-list" class="list-group accounting-selector-list"> | ||||
|           {% for account in account_options %} | ||||
|           <li id="accounting-account-selector-{{ entry_type }}-option-{{ account.code }}" class="list-group-item accounting-clickable accounting-account-selector-{{ entry_type }}-option {% if account.is_in_use %} accounting-account-in-use {% endif %}" data-code="{{ account.code }}" data-content="{{ account }}" data-query-values="{{ account.query_values|tojson|forceescape }}" data-bs-toggle="modal" data-bs-target="#accounting-entry-form-modal"> | ||||
|           <li id="accounting-account-selector-{{ entry_type }}-option-{{ account.code }}" class="list-group-item accounting-clickable accounting-account-selector-{{ entry_type }}-option {% if account.is_in_use %} accounting-account-in-use {% endif %}" data-code="{{ account.code }}" data-content="{{ account }}" data-query-values="{{ account.query_values|tojson|forceescape }}" data-bs-toggle="modal" data-bs-target="#accounting-entry-editor-modal"> | ||||
|             {{ account }} | ||||
|           </li> | ||||
|           {% endfor %} | ||||
| @@ -46,8 +46,8 @@ First written: 2023/2/25 | ||||
|         <p id="accounting-account-selector-{{ entry_type }}-option-no-result" class="d-none">{{ A_("There is no data.") }}</p> | ||||
|       </div> | ||||
|       <div class="modal-footer"> | ||||
|         <button type="button" class="btn btn-secondary" data-bs-toggle="modal" data-bs-target="#accounting-entry-form-modal">{{ A_("Cancel") }}</button> | ||||
|         <button id="accounting-account-selector-{{ entry_type }}-btn-clear" type="button" class="btn btn-danger" data-bs-toggle="modal" data-bs-target="#accounting-entry-form-modal">{{ A_("Clear") }}</button> | ||||
|         <button type="button" class="btn btn-secondary" data-bs-toggle="modal" data-bs-target="#accounting-entry-editor-modal">{{ A_("Cancel") }}</button> | ||||
|         <button id="accounting-account-selector-{{ entry_type }}-btn-clear" type="button" class="btn btn-danger" data-bs-toggle="modal" data-bs-target="#accounting-entry-editor-modal">{{ A_("Clear") }}</button> | ||||
|       </div> | ||||
|     </div> | ||||
|   </div> | ||||
|   | ||||
| @@ -1,60 +0,0 @@ | ||||
| {# | ||||
| The Mia! Accounting Flask Project | ||||
| entry-form-modal.html: The modal of the journal entry sub-form | ||||
|  | ||||
|  Copyright (c) 2023 imacat. | ||||
|  | ||||
|  Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|  you may not use this file except in compliance with the License. | ||||
|  You may obtain a copy of the License at | ||||
|  | ||||
|      http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
|  Unless required by applicable law or agreed to in writing, software | ||||
|  distributed under the License is distributed on an "AS IS" BASIS, | ||||
|  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|  See the License for the specific language governing permissions and | ||||
|  limitations under the License. | ||||
|  | ||||
| Author: imacat@mail.imacat.idv.tw (imacat) | ||||
| First written: 2023/2/25 | ||||
| #} | ||||
| <form id="accounting-entry-form" data-entry-type=""> | ||||
|   <div id="accounting-entry-form-modal" class="modal fade" tabindex="-1" aria-labelledby="accounting-entry-form-modal-label" aria-hidden="true"> | ||||
|     <div class="modal-dialog"> | ||||
|       <div class="modal-content"> | ||||
|         <div class="modal-header"> | ||||
|           <h1 class="modal-title fs-5" id="accounting-entry-form-modal-label">{{ A_("Journal Entry Content") }}</h1> | ||||
|           <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="{{ A_("Close") }}"></button> | ||||
|         </div> | ||||
|         <div class="modal-body"> | ||||
|           <div class="mb-3"> | ||||
|             <div id="accounting-entry-form-account-control" class="form-control accounting-clickable accounting-material-text-field" data-bs-toggle="modal" data-bs-target=""> | ||||
|               <label class="form-label" for="accounting-entry-form-account">{{ A_("Account") }}</label> | ||||
|               <div id="accounting-entry-form-account" data-code="" data-text=""></div> | ||||
|             </div> | ||||
|             <div id="accounting-entry-form-account-error" class="invalid-feedback"></div> | ||||
|           </div> | ||||
|  | ||||
|           <div class="mb-3"> | ||||
|             <div id="accounting-entry-form-summary-control" class="form-control accounting-clickable accounting-material-text-field" data-bs-toggle="modal" data-bs-target=""> | ||||
|               <label class="form-label" for="accounting-entry-form-summary">{{ A_("Summary") }}</label> | ||||
|               <div id="accounting-entry-form-summary" data-value=""></div> | ||||
|             </div> | ||||
|             <div id="accounting-entry-form-summary-error" class="invalid-feedback"></div> | ||||
|           </div> | ||||
|  | ||||
|           <div class="form-floating mb-3"> | ||||
|             <input id="accounting-entry-form-amount" class="form-control" type="number" value="" min="0.01" max="" step="0.01" placeholder=" " required="required"> | ||||
|             <label for="accounting-entry-form-amount">{{ A_("Amount") }}</label> | ||||
|             <div id="accounting-entry-form-amount-error" class="invalid-feedback"></div> | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="modal-footer"> | ||||
|           <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">{{ A_("Cancel") }}</button> | ||||
|           <button type="submit" class="btn btn-primary">{{ A_("Save") }}</button> | ||||
|         </div> | ||||
|       </div> | ||||
|     </div> | ||||
|   </div> | ||||
| </form> | ||||
| @@ -29,7 +29,7 @@ First written: 2023/2/25 | ||||
|   <input id="accounting-currency-{{ currency_index }}-{{ entry_type }}-{{ entry_index }}-summary" type="hidden" name="currency-{{ currency_index }}-{{ entry_type }}-{{ entry_index }}-summary" value="{{ summary_data }}"> | ||||
|   <input id="accounting-currency-{{ currency_index }}-{{ entry_type }}-{{ entry_index }}-amount" type="hidden" name="currency-{{ currency_index }}-{{ entry_type }}-{{ entry_index }}-amount" value="{{ amount_data }}"> | ||||
|   <div class="accounting-entry-content"> | ||||
|     <div id="accounting-currency-{{ currency_index }}-{{ entry_type }}-{{ entry_index }}-control" class="form-control clickable d-flex justify-content-between accounting-entry-control {% if entry_errors %} is-invalid {% endif %}" data-bs-toggle="modal" data-bs-target="#accounting-entry-form-modal"> | ||||
|     <div id="accounting-currency-{{ currency_index }}-{{ entry_type }}-{{ entry_index }}-control" class="form-control clickable d-flex justify-content-between accounting-entry-control {% if entry_errors %} is-invalid {% endif %}" data-bs-toggle="modal" data-bs-target="#accounting-entry-editor-modal"> | ||||
|       <div> | ||||
|         <div id="accounting-currency-{{ currency_index }}-{{ entry_type }}-{{ entry_index }}-account-text" class="small">{{ account_text }}</div> | ||||
|         <div id="accounting-currency-{{ currency_index }}-{{ entry_type }}-{{ entry_index }}-summary-text">{{ summary_data }}</div> | ||||
|   | ||||
| @@ -86,7 +86,7 @@ First written: 2023/2/26 | ||||
|   </div> | ||||
| </form> | ||||
|  | ||||
| {% include "accounting/transaction/include/entry-form-modal.html" %} | ||||
| {% include "accounting/transaction/include/journal-entry-editor-modal.html" %} | ||||
| {% block form_modals %}{% endblock %} | ||||
|  | ||||
| {% endblock %} | ||||
|   | ||||
| @@ -0,0 +1,60 @@ | ||||
| {# | ||||
| The Mia! Accounting Flask Project | ||||
| journal-entry-editor-modal.html: The modal of the journal entry editor | ||||
|  | ||||
|  Copyright (c) 2023 imacat. | ||||
|  | ||||
|  Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|  you may not use this file except in compliance with the License. | ||||
|  You may obtain a copy of the License at | ||||
|  | ||||
|      http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
|  Unless required by applicable law or agreed to in writing, software | ||||
|  distributed under the License is distributed on an "AS IS" BASIS, | ||||
|  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|  See the License for the specific language governing permissions and | ||||
|  limitations under the License. | ||||
|  | ||||
| Author: imacat@mail.imacat.idv.tw (imacat) | ||||
| First written: 2023/2/25 | ||||
| #} | ||||
| <form id="accounting-entry-editor" data-entry-type=""> | ||||
|   <div id="accounting-entry-editor-modal" class="modal fade" tabindex="-1" aria-labelledby="accounting-entry-editor-modal-label" aria-hidden="true"> | ||||
|     <div class="modal-dialog"> | ||||
|       <div class="modal-content"> | ||||
|         <div class="modal-header"> | ||||
|           <h1 class="modal-title fs-5" id="accounting-entry-editor-modal-label">{{ A_("Journal Entry Content") }}</h1> | ||||
|           <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="{{ A_("Close") }}"></button> | ||||
|         </div> | ||||
|         <div class="modal-body"> | ||||
|           <div class="mb-3"> | ||||
|             <div id="accounting-entry-editor-account-control" class="form-control accounting-clickable accounting-material-text-field" data-bs-toggle="modal" data-bs-target=""> | ||||
|               <label class="form-label" for="accounting-entry-editor-account">{{ A_("Account") }}</label> | ||||
|               <div id="accounting-entry-editor-account" data-code="" data-text=""></div> | ||||
|             </div> | ||||
|             <div id="accounting-entry-editor-account-error" class="invalid-feedback"></div> | ||||
|           </div> | ||||
|  | ||||
|           <div class="mb-3"> | ||||
|             <div id="accounting-entry-editor-summary-control" class="form-control accounting-clickable accounting-material-text-field" data-bs-toggle="modal" data-bs-target=""> | ||||
|               <label class="form-label" for="accounting-entry-editor-summary">{{ A_("Summary") }}</label> | ||||
|               <div id="accounting-entry-editor-summary" data-value=""></div> | ||||
|             </div> | ||||
|             <div id="accounting-entry-editor-summary-error" class="invalid-feedback"></div> | ||||
|           </div> | ||||
|  | ||||
|           <div class="form-floating mb-3"> | ||||
|             <input id="accounting-entry-editor-amount" class="form-control" type="number" value="" min="0.01" max="" step="0.01" placeholder=" " required="required"> | ||||
|             <label for="accounting-entry-editor-amount">{{ A_("Amount") }}</label> | ||||
|             <div id="accounting-entry-editor-amount-error" class="invalid-feedback"></div> | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="modal-footer"> | ||||
|           <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">{{ A_("Cancel") }}</button> | ||||
|           <button type="submit" class="btn btn-primary">{{ A_("Save") }}</button> | ||||
|         </div> | ||||
|       </div> | ||||
|     </div> | ||||
|   </div> | ||||
| </form> | ||||
| @@ -27,7 +27,7 @@ First written: 2023/2/28 | ||||
|           <h1 class="modal-title fs-5" id="accounting-summary-editor-{{ summary_editor.type }}-modal-label"> | ||||
|             <label for="accounting-summary-editor-{{ summary_editor.type }}-summary">{{ A_("Summary") }}</label> | ||||
|           </h1> | ||||
|           <button class="btn-close" type="button" data-bs-toggle="modal" data-bs-target="#accounting-entry-form-modal" aria-label="{{ A_("Close") }}"></button> | ||||
|           <button class="btn-close" type="button" data-bs-toggle="modal" data-bs-target="#accounting-entry-editor-modal" aria-label="{{ A_("Close") }}"></button> | ||||
|         </div> | ||||
|         <div class="modal-body"> | ||||
|           <div class="mb-3"> | ||||
| @@ -181,7 +181,7 @@ First written: 2023/2/28 | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="modal-footer"> | ||||
|           <button class="btn btn-secondary" type="button" data-bs-toggle="modal" data-bs-target="#accounting-entry-form-modal">{{ A_("Cancel") }}</button> | ||||
|           <button class="btn btn-secondary" type="button" data-bs-toggle="modal" data-bs-target="#accounting-entry-editor-modal">{{ A_("Cancel") }}</button> | ||||
|           <button id="accounting-summary-editor-{{ summary_editor.type }}-btn-save" type="submit" class="btn btn-primary">{{ A_("Save") }}</button> | ||||
|         </div> | ||||
|       </div> | ||||
|   | ||||
| @@ -70,7 +70,7 @@ First written: 2023/2/25 | ||||
|         </div> | ||||
|  | ||||
|         <div> | ||||
|           <button id="accounting-currency-{{ currency_index }}-credit-add-entry" class="btn btn-primary" type="button" data-currency-index="{{ currency_index }}" data-entry-type="credit" data-bs-toggle="modal" data-bs-target="#accounting-entry-form-modal"> | ||||
|           <button id="accounting-currency-{{ currency_index }}-credit-add-entry" class="btn btn-primary" type="button" data-currency-index="{{ currency_index }}" data-entry-type="credit" data-bs-toggle="modal" data-bs-target="#accounting-entry-editor-modal"> | ||||
|             <i class="fas fa-plus"></i> | ||||
|             {{ A_("New") }} | ||||
|           </button> | ||||
|   | ||||
| @@ -72,7 +72,7 @@ First written: 2023/2/25 | ||||
|           </div> | ||||
|  | ||||
|           <div> | ||||
|             <button id="accounting-currency-{{ currency_index }}-debit-add-entry" class="btn btn-primary" type="button" data-currency-index="{{ currency_index }}" data-entry-type="debit" data-bs-toggle="modal" data-bs-target="#accounting-entry-form-modal"> | ||||
|             <button id="accounting-currency-{{ currency_index }}-debit-add-entry" class="btn btn-primary" type="button" data-currency-index="{{ currency_index }}" data-entry-type="debit" data-bs-toggle="modal" data-bs-target="#accounting-entry-editor-modal"> | ||||
|               <i class="fas fa-plus"></i> | ||||
|               {{ A_("New") }} | ||||
|             </button> | ||||
| @@ -112,7 +112,7 @@ First written: 2023/2/25 | ||||
|           </div> | ||||
|  | ||||
|           <div> | ||||
|             <button id="accounting-currency-{{ currency_index }}-credit-add-entry" class="btn btn-primary" type="button" data-currency-index="{{ currency_index }}" data-entry-type="credit" data-bs-toggle="modal" data-bs-target="#accounting-entry-form-modal"> | ||||
|             <button id="accounting-currency-{{ currency_index }}-credit-add-entry" class="btn btn-primary" type="button" data-currency-index="{{ currency_index }}" data-entry-type="credit" data-bs-toggle="modal" data-bs-target="#accounting-entry-editor-modal"> | ||||
|               <i class="fas fa-plus"></i> | ||||
|               {{ A_("New") }} | ||||
|             </button> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user