Small changes to create transaction form

This commit is contained in:
James Cole
2023-10-21 07:45:28 +02:00
parent 24a1d61560
commit b032210a33
3 changed files with 48 additions and 17 deletions

View File

@@ -44,6 +44,10 @@ let transactions = function () {
showSuccessMessage: false,
showErrorMessage: false,
entries: [],
loadingCurrencies: true,
enabledCurrencies: [],
nativeCurrencies: [],
foreignCurrencies: [],
filters: {
source: [],
destination: [],
@@ -123,6 +127,9 @@ let transactions = function () {
};
console.log('Changed destination account into a known ' + item.type.toLowerCase());
},
loadCurrencies() {
console.log('Loading user currencies.');
},
changeSourceAccount(item, ac) {
if (typeof item === 'undefined') {
const index = parseInt(ac._searchInput.attributes['data-index'].value);
@@ -161,6 +168,7 @@ let transactions = function () {
addedSplit() {
console.log('addedSplit');
// TODO improve code location
Autocomplete.init("input.ac-source", {
server: urls.account,
serverParams: {
@@ -229,6 +237,7 @@ let transactions = function () {
});
});
this.loadCurrencies();
// source can never be expense account
this.filters.source = ['Asset account', 'Loan', 'Debt', 'Mortgage', 'Revenue account'];

View File

@@ -37,7 +37,7 @@
:data-bs-target="'#split-'+index+'-pane'"
type="button" role="tab"
:aria-controls="'split-'+index+'-pane'"
aria-selected="true">Split #
aria-selected="true">{{ __('firefly.single_split') }} #
<span x-text="index"></span>
</button>
</li>
@@ -49,7 +49,7 @@
</li>
<li class="nav-item">
<a class="nav-link disabled" aria-disabled="true">
Total:
{{ __('firefly.total') }}:
<span x-text="formattedTotalAmount()"></span>
</a>
</li>
@@ -72,45 +72,52 @@
<div class="col-xl-6 col-lg-6 col-md-12 col-xs-12 mb-2">
<div class="card">
<div class="card-header">
<h3 class="card-title">{{ __('firefly.basic_journal_information') }}</h3>
<h3 class="card-title"
>{{ __('firefly.basic_journal_information') }}</h3>
</div>
<div class="card-body">
<div class="row mb-3">
<label for="description_0"
<label :for="'description_' + index"
class="col-sm-1 col-form-label d-none d-sm-block">
<em class="fa-solid fa-font"></em>
<em
title="TODO explain me"
class="fa-solid fa-font"></em>
</label>
<div class="col-sm-10">
<input type="text" class="form-control ac-description"
:id="'description_' + index"
@change="detectTransactionType"
x-model="transaction.description"
placeholder="Transaction description">
placeholder="{{ __('firefly.description') }}">
</div>
</div>
<div class="row mb-3">
<label for="source_0" class="col-sm-1 col-form-label d-none d-sm-block">
<label :for="'source_' + index" class="col-sm-1 col-form-label d-none d-sm-block">
<i class="fa-solid fa-arrow-right"></i>
</label>
<div class="col-sm-10">
<input type="text" class="form-control ac-source" id="source_0"
<input type="text"
class="form-control ac-source"
:id="'source_' + index"
x-model="transaction.source_account.name"
:data-index="index"
placeholder="Source account">
placeholder="{{ __('firefly.source_account') }}">
</div>
</div>
<div class="row mb-3">
<label for="dest_0" class="col-sm-1 col-form-label d-none d-sm-block">
<label :for ="'dest_' + index" class="col-sm-1 col-form-label d-none d-sm-block">
<i class="fa-solid fa-arrow-left"></i>
</label>
<div class="col-sm-10">
<input type="text" class="form-control ac-dest" id="dest_0"
<input type="text"
class="form-control ac-dest"
:id="'dest_' + index"
x-model="transaction.destination_account.name"
:data-index="index"
placeholder="Destination account">
placeholder="{{ __('firefly.destination_account') }}">
</div>
</div>
<div class="row mb-3">
@@ -136,10 +143,25 @@
</div>
<div class="card-body">
<div class="row mb-3">
<label for="dest_0" class="col-sm-1 col-form-label d-none d-sm-block">
EUR
</label>
<div class="col-sm-10">
<div class="col-sm-3">
<template x-if="loadingCurrencies">
<span class="form-control-plaintext"><em class="fa-solid fa-spinner fa-spin"></em></span>
</template>
<template x-if="!loadingCurrencies">
<select class="form-control">
<option>
Euro
</option>
<option>
Euro
</option>
<option>
Euro
</option>
</select>
</template>
</div>
<div class="col-sm-9">
<input type="number" step="any" min="0" class="form-control"
:id="'amount_' + index"
:data-index="index"