mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-25 18:45:27 -06:00
Rebuild frontend.
This commit is contained in:
parent
9aa743b31b
commit
5944cda03a
@ -34,7 +34,8 @@ class StaticConfigKey
|
||||
'firefly.version',
|
||||
'firefly.api_version',
|
||||
'firefly.default_location',
|
||||
'firefly.account_to_transaction'
|
||||
'firefly.account_to_transaction',
|
||||
'firefly.allowed_opposing_types'
|
||||
];
|
||||
/**
|
||||
* @param string $value
|
||||
|
@ -23,9 +23,9 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "Edit"
|
||||
}
|
||||
export default {
|
||||
name: "Edit"
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
@ -26,10 +26,10 @@
|
||||
<h3 class="card-title">Title thing</h3>
|
||||
<div class="card-tools">
|
||||
<div class="input-group input-group-sm" style="width: 150px;">
|
||||
<input type="text" name="table_search" class="form-control float-right" placeholder="Search">
|
||||
<input class="form-control float-right" name="table_search" placeholder="Search" type="text">
|
||||
|
||||
<div class="input-group-append">
|
||||
<button type="submit" class="btn btn-default">
|
||||
<button class="btn btn-default" type="submit">
|
||||
<i class="fas fa-search"></i>
|
||||
</button>
|
||||
</div>
|
||||
@ -43,7 +43,7 @@
|
||||
<tr>
|
||||
<th scope="col"> </th>
|
||||
<th scope="col">{{ $t('list.name') }}</th>
|
||||
<th scope="col" v-if="'asset' === $props.accountTypes">{{ $t('list.role') }}</th>
|
||||
<th v-if="'asset' === $props.accountTypes" scope="col">{{ $t('list.role') }}</th>
|
||||
<th scope="col">{{ $t('list.iban') }}</th>
|
||||
<th scope="col" style="text-align: right;">{{ $t('list.currentBalance') }}</th>
|
||||
<th scope="col">{{ $t('list.balanceDiff') }}</th>
|
||||
|
@ -19,15 +19,15 @@
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div>
|
||||
I am a show
|
||||
</div>
|
||||
<div>
|
||||
I am a show
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "Show"
|
||||
}
|
||||
export default {
|
||||
name: "Show"
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
@ -24,91 +24,91 @@
|
||||
|
||||
|
||||
<script>
|
||||
import FormatLabel from "../charts/FormatLabel";
|
||||
import FormatLabel from "../charts/FormatLabel";
|
||||
|
||||
export default {
|
||||
name: "DefaultBarOptions",
|
||||
data() {
|
||||
return {}
|
||||
export default {
|
||||
name: "DefaultBarOptions",
|
||||
data() {
|
||||
return {}
|
||||
},
|
||||
methods: {
|
||||
getDefaultOptions() {
|
||||
return {
|
||||
type: 'bar',
|
||||
layout: {
|
||||
padding: {
|
||||
left: 50,
|
||||
right: 50,
|
||||
top: 0,
|
||||
bottom: 0
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
getDefaultOptions() {
|
||||
return {
|
||||
type: 'bar',
|
||||
layout: {
|
||||
padding: {
|
||||
left: 50,
|
||||
right: 50,
|
||||
top: 0,
|
||||
bottom: 0
|
||||
},
|
||||
},
|
||||
stacked: true,
|
||||
elements: {
|
||||
line: {
|
||||
cubicInterpolationMode: 'monotone'
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
display: false,
|
||||
},
|
||||
animation: {
|
||||
duration: 0,
|
||||
},
|
||||
responsive: true,
|
||||
maintainAspectRatio: false,
|
||||
scales: {
|
||||
xAxes: [
|
||||
{
|
||||
stacked: true,
|
||||
gridLines: {
|
||||
display: false
|
||||
},
|
||||
ticks: {
|
||||
// break ticks when too long.
|
||||
callback: function (value, index, values) {
|
||||
return FormatLabel.methods.formatLabel(value, 20);
|
||||
//return value;
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
yAxes: [{
|
||||
stacked: false,
|
||||
display: true,
|
||||
drawOnChartArea: false,
|
||||
offset: true,
|
||||
beginAtZero: true,
|
||||
ticks: {
|
||||
callback: function (tickValue) {
|
||||
"use strict";
|
||||
let currencyCode = this.chart.data.datasets[0] ? this.chart.data.datasets[0].currency_code : 'EUR';
|
||||
return new Intl.NumberFormat(localStorage.locale, {style: 'currency', currency: currencyCode}).format(tickValue);
|
||||
},
|
||||
|
||||
}
|
||||
}]
|
||||
},
|
||||
tooltips: {
|
||||
mode: 'label',
|
||||
callbacks: {
|
||||
label: function (tooltipItem, data) {
|
||||
"use strict";
|
||||
let currencyCode = data.datasets[tooltipItem.datasetIndex] ? data.datasets[tooltipItem.datasetIndex].currency_code : 'EUR';
|
||||
let nrString = new Intl.NumberFormat(localStorage.locale, {
|
||||
style: 'currency',
|
||||
currency: currencyCode
|
||||
}).format(tooltipItem.yLabel);
|
||||
|
||||
return data.datasets[tooltipItem.datasetIndex].label + ': ' + nrString;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
stacked: true,
|
||||
elements: {
|
||||
line: {
|
||||
cubicInterpolationMode: 'monotone'
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
display: false,
|
||||
},
|
||||
animation: {
|
||||
duration: 0,
|
||||
},
|
||||
responsive: true,
|
||||
maintainAspectRatio: false,
|
||||
scales: {
|
||||
xAxes: [
|
||||
{
|
||||
stacked: true,
|
||||
gridLines: {
|
||||
display: false
|
||||
},
|
||||
ticks: {
|
||||
// break ticks when too long.
|
||||
callback: function (value, index, values) {
|
||||
return FormatLabel.methods.formatLabel(value, 20);
|
||||
//return value;
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
yAxes: [{
|
||||
stacked: false,
|
||||
display: true,
|
||||
drawOnChartArea: false,
|
||||
offset: true,
|
||||
beginAtZero: true,
|
||||
ticks: {
|
||||
callback: function (tickValue) {
|
||||
"use strict";
|
||||
let currencyCode = this.chart.data.datasets[0] ? this.chart.data.datasets[0].currency_code : 'EUR';
|
||||
return new Intl.NumberFormat(localStorage.locale, {style: 'currency', currency: currencyCode}).format(tickValue);
|
||||
},
|
||||
|
||||
}
|
||||
}]
|
||||
},
|
||||
tooltips: {
|
||||
mode: 'label',
|
||||
callbacks: {
|
||||
label: function (tooltipItem, data) {
|
||||
"use strict";
|
||||
let currencyCode = data.datasets[tooltipItem.datasetIndex] ? data.datasets[tooltipItem.datasetIndex].currency_code : 'EUR';
|
||||
let nrString = new Intl.NumberFormat(localStorage.locale, {
|
||||
style: 'currency',
|
||||
currency: currencyCode
|
||||
}).format(tooltipItem.yLabel);
|
||||
|
||||
return data.datasets[tooltipItem.datasetIndex].label + ': ' + nrString;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
@ -105,7 +105,7 @@ export default {
|
||||
callback: function (value, index, values) {
|
||||
// date format
|
||||
let dateObj = new Date(value);
|
||||
let options = { year: 'numeric', month: 'long', day: 'numeric' };
|
||||
let options = {year: 'numeric', month: 'long', day: 'numeric'};
|
||||
let str = new Intl.DateTimeFormat(localStorage.locale, options).format(dateObj);
|
||||
//console.log();
|
||||
//return self.formatLabel(value, 20);
|
||||
|
@ -23,9 +23,9 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "DefaultPieOptions"
|
||||
}
|
||||
export default {
|
||||
name: "DefaultPieOptions"
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
@ -18,56 +18,56 @@
|
||||
- along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<script>
|
||||
export default {
|
||||
name: "FormatLabel",
|
||||
methods: {
|
||||
/**
|
||||
* Takes a string phrase and breaks it into separate phrases no bigger than 'maxwidth', breaks are made at complete words.
|
||||
* https://stackoverflow.com/questions/21409717/chart-js-and-long-labels
|
||||
*
|
||||
* @param str
|
||||
* @param maxwidth
|
||||
* @returns {Array}
|
||||
*/
|
||||
formatLabel(str, maxwidth) {
|
||||
var sections = [];
|
||||
str = String(str);
|
||||
var words = str.split(" ");
|
||||
var temp = "";
|
||||
export default {
|
||||
name: "FormatLabel",
|
||||
methods: {
|
||||
/**
|
||||
* Takes a string phrase and breaks it into separate phrases no bigger than 'maxwidth', breaks are made at complete words.
|
||||
* https://stackoverflow.com/questions/21409717/chart-js-and-long-labels
|
||||
*
|
||||
* @param str
|
||||
* @param maxwidth
|
||||
* @returns {Array}
|
||||
*/
|
||||
formatLabel(str, maxwidth) {
|
||||
var sections = [];
|
||||
str = String(str);
|
||||
var words = str.split(" ");
|
||||
var temp = "";
|
||||
|
||||
words.forEach(function (item, index) {
|
||||
if (temp.length > 0) {
|
||||
var concat = temp + ' ' + item;
|
||||
words.forEach(function (item, index) {
|
||||
if (temp.length > 0) {
|
||||
var concat = temp + ' ' + item;
|
||||
|
||||
if (concat.length > maxwidth) {
|
||||
sections.push(temp);
|
||||
temp = "";
|
||||
} else {
|
||||
if (index === (words.length - 1)) {
|
||||
sections.push(concat);
|
||||
return;
|
||||
} else {
|
||||
temp = concat;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (index === (words.length - 1)) {
|
||||
sections.push(item);
|
||||
return;
|
||||
}
|
||||
|
||||
if (item.length < maxwidth) {
|
||||
temp = item;
|
||||
} else {
|
||||
sections.push(item);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
return sections;
|
||||
},
|
||||
if (concat.length > maxwidth) {
|
||||
sections.push(temp);
|
||||
temp = "";
|
||||
} else {
|
||||
if (index === (words.length - 1)) {
|
||||
sections.push(concat);
|
||||
return;
|
||||
} else {
|
||||
temp = concat;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (index === (words.length - 1)) {
|
||||
sections.push(item);
|
||||
return;
|
||||
}
|
||||
|
||||
if (item.length < maxwidth) {
|
||||
temp = item;
|
||||
} else {
|
||||
sections.push(item);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
return sections;
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
@ -26,8 +26,8 @@
|
||||
|
||||
<td style="vertical-align: middle">
|
||||
<div class="progress progress active">
|
||||
<div class="progress-bar bg-success progress-bar-striped" role="progressbar"
|
||||
:aria-valuenow="budgetLimit.pctGreen" aria-valuemin="0" aria-valuemax="100" :style="'width: '+ budgetLimit.pctGreen + '%;'">
|
||||
<div :aria-valuenow="budgetLimit.pctGreen" :style="'width: '+ budgetLimit.pctGreen + '%;'"
|
||||
aria-valuemax="100" aria-valuemin="0" class="progress-bar bg-success progress-bar-striped" role="progressbar">
|
||||
<span v-if="budgetLimit.pctGreen > 35">
|
||||
Spent
|
||||
{{ Intl.NumberFormat(locale, {style: 'currency', currency: budgetLimit.currency_code}).format(budgetLimit.spent) }}
|
||||
@ -38,8 +38,8 @@
|
||||
|
||||
</div>
|
||||
|
||||
<div class="progress-bar bg-warning progress-bar-striped" role="progressbar"
|
||||
:aria-valuenow="budgetLimit.pctOrange" aria-valuemin="0" aria-valuemax="100" :style="'width: '+ budgetLimit.pctOrange + '%;'">
|
||||
<div :aria-valuenow="budgetLimit.pctOrange" :style="'width: '+ budgetLimit.pctOrange + '%;'"
|
||||
aria-valuemax="100" aria-valuemin="0" class="progress-bar bg-warning progress-bar-striped" role="progressbar">
|
||||
<span v-if="budgetLimit.pctRed <= 50 && budgetLimit.pctOrange > 35">
|
||||
Spent
|
||||
{{ Intl.NumberFormat(locale, {style: 'currency', currency: budgetLimit.currency_code}).format(budgetLimit.spent) }}
|
||||
@ -48,8 +48,8 @@
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="progress-bar bg-danger progress-bar-striped" role="progressbar"
|
||||
:aria-valuenow="budgetLimit.pctRed" aria-valuemin="0" aria-valuemax="100" :style="'width: '+ budgetLimit.pctRed + '%;'">
|
||||
<div :aria-valuenow="budgetLimit.pctRed" :style="'width: '+ budgetLimit.pctRed + '%;'"
|
||||
aria-valuemax="100" aria-valuemin="0" class="progress-bar bg-danger progress-bar-striped" role="progressbar">
|
||||
<span v-if="budgetLimit.pctOrange <= 50 && budgetLimit.pctRed > 35" class="text-muted">
|
||||
Spent
|
||||
{{ Intl.NumberFormat(locale, {style: 'currency', currency: budgetLimit.currency_code}).format(budgetLimit.spent) }}
|
||||
@ -75,8 +75,8 @@
|
||||
</small>
|
||||
</td>
|
||||
|
||||
<td style="width:10%;" class="align-middle d-none d-lg-table-cell">
|
||||
<span class="text-success" v-if="parseFloat(budgetLimit.amount) + parseFloat(budgetLimit.spent) > 0">
|
||||
<td class="align-middle d-none d-lg-table-cell" style="width:10%;">
|
||||
<span v-if="parseFloat(budgetLimit.amount) + parseFloat(budgetLimit.spent) > 0" class="text-success">
|
||||
{{
|
||||
Intl.NumberFormat(locale, {
|
||||
style: 'currency',
|
||||
@ -84,10 +84,10 @@
|
||||
}).format(parseFloat(budgetLimit.amount) + parseFloat(budgetLimit.spent))
|
||||
}}
|
||||
</span>
|
||||
<span class="text-muted" v-if="0.0 === parseFloat(budgetLimit.amount) + parseFloat(budgetLimit.spent)">
|
||||
<span v-if="0.0 === parseFloat(budgetLimit.amount) + parseFloat(budgetLimit.spent)" class="text-muted">
|
||||
{{ Intl.NumberFormat(locale, {style: 'currency', currency: budgetLimit.currency_code}).format(0) }}
|
||||
</span>
|
||||
<span class="text-danger" v-if="parseFloat(budgetLimit.amount) + parseFloat(budgetLimit.spent) < 0">
|
||||
<span v-if="parseFloat(budgetLimit.amount) + parseFloat(budgetLimit.spent) < 0" class="text-danger">
|
||||
{{
|
||||
Intl.NumberFormat(locale, {
|
||||
style: 'currency',
|
||||
|
@ -26,13 +26,13 @@
|
||||
<div class="card-body table-responsive p-0">
|
||||
<table class="table table-sm">
|
||||
<tbody>
|
||||
<BudgetLimitRow v-bind:key="key" v-for="(budgetLimit, key) in budgetLimits" :budgetLimit="budgetLimit" />
|
||||
<BudgetRow v-bind:key="key" v-for="(budget, key) in budgets" :budget="budget" />
|
||||
<BudgetLimitRow v-for="(budgetLimit, key) in budgetLimits" v-bind:key="key" :budgetLimit="budgetLimit"/>
|
||||
<BudgetRow v-for="(budget, key) in budgets" v-bind:key="key" :budget="budget"/>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<a href="./budgets" class="btn btn-default button-sm"><i class="far fa-money-bill-alt"></i> {{ $t('firefly.go_to_budgets') }}</a>
|
||||
<a class="btn btn-default button-sm" href="./budgets"><i class="far fa-money-bill-alt"></i> {{ $t('firefly.go_to_budgets') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@ -40,6 +40,7 @@
|
||||
<script>
|
||||
import BudgetLimitRow from "./BudgetLimitRow";
|
||||
import BudgetRow from "./BudgetRow";
|
||||
|
||||
export default {
|
||||
name: "BudgetListGroup",
|
||||
components: {BudgetLimitRow, BudgetRow},
|
||||
|
@ -30,41 +30,41 @@
|
||||
</div>
|
||||
<date-picker
|
||||
v-model="range"
|
||||
mode="date"
|
||||
:rows="2"
|
||||
is-range
|
||||
mode="date"
|
||||
>
|
||||
<template v-slot="{ inputValue, inputEvents, isDragging, togglePopover }">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="btn-group btn-group-sm d-flex">
|
||||
<button
|
||||
class="btn btn-secondary btn-sm" :title="$t('firefly.custom_period')"
|
||||
:title="$t('firefly.custom_period')" class="btn btn-secondary btn-sm"
|
||||
@click="togglePopover({ placement: 'auto-start', positionFixed: true })"
|
||||
><i class="fas fa-calendar-alt"></i></button>
|
||||
<button @click="resetDate"
|
||||
<button :title="$t('firefly.reset_to_current')"
|
||||
class="btn btn-secondary"
|
||||
:title="$t('firefly.reset_to_current')"
|
||||
@click="resetDate"
|
||||
><i class="fas fa-history"></i></button>
|
||||
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true"
|
||||
:title="$t('firefly.select_period')"
|
||||
aria-expanded="false">
|
||||
<button id="dropdownMenuButton" :title="$t('firefly.select_period')" aria-expanded="false" aria-haspopup="true" class="btn btn-secondary dropdown-toggle"
|
||||
data-toggle="dropdown"
|
||||
type="button">
|
||||
<i class="fas fa-list"></i>
|
||||
</button>
|
||||
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
|
||||
<div aria-labelledby="dropdownMenuButton" class="dropdown-menu">
|
||||
<a v-for="period in periods" class="dropdown-item" href="#" @click="customDate(period.start, period.end)">{{ period.title }}</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<input type="hidden"
|
||||
<input v-on="inputEvents.start"
|
||||
:class="isDragging ? 'text-gray-600' : 'text-gray-900'"
|
||||
:value="inputValue.start"
|
||||
v-on="inputEvents.start"
|
||||
type="hidden"
|
||||
/>
|
||||
<input type="hidden"
|
||||
<input v-on="inputEvents.end"
|
||||
:class="isDragging ? 'text-gray-600' : 'text-gray-900'"
|
||||
:value="inputValue.end"
|
||||
v-on="inputEvents.end"
|
||||
type="hidden"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -25,7 +25,7 @@
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div v-if="!loading">
|
||||
<MainAccountChart :chart-data="dataCollection" :options="chartOptions" v-if="!loading && !error"/>
|
||||
<MainAccountChart v-if="!loading && !error" :chart-data="dataCollection" :options="chartOptions"/>
|
||||
</div>
|
||||
<div v-if="loading && !error" class="text-center">
|
||||
<i class="fas fa-spinner fa-spin"></i>
|
||||
@ -35,7 +35,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<a href="./accounts/asset" class="btn btn-default button-sm"><i class="far fa-money-bill-alt"></i> {{ $t('firefly.go_to_asset_accounts') }}</a>
|
||||
<a class="btn btn-default button-sm" href="./accounts/asset"><i class="far fa-money-bill-alt"></i> {{ $t('firefly.go_to_asset_accounts') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
<!--
|
||||
- MainAccountChart.vue
|
||||
- Copyright (c) 2020 james@firefly-iii.org
|
||||
@ -21,14 +20,15 @@
|
||||
|
||||
<script>
|
||||
|
||||
import { Line, mixins } from 'vue-chartjs'
|
||||
const { reactiveProp } = mixins
|
||||
import {Line, mixins} from 'vue-chartjs'
|
||||
|
||||
const {reactiveProp} = mixins
|
||||
|
||||
export default {
|
||||
extends: Line,
|
||||
mixins: [reactiveProp],
|
||||
props: ['options'],
|
||||
mounted () {
|
||||
mounted() {
|
||||
this.renderChart(this.chartData, this.options)
|
||||
}
|
||||
}
|
||||
|
@ -21,7 +21,7 @@
|
||||
<template>
|
||||
<div>
|
||||
<!-- row if loading -->
|
||||
<div class="row" v-if="loading && !error">
|
||||
<div v-if="loading && !error" class="row">
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
@ -34,7 +34,7 @@
|
||||
</div>
|
||||
|
||||
<!-- row if error -->
|
||||
<div class="row" v-if="error">
|
||||
<div v-if="error" class="row">
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
@ -47,10 +47,10 @@
|
||||
</div>
|
||||
|
||||
<!-- row if normal -->
|
||||
<div class="row" v-if="!loading && !error">
|
||||
<div v-if="!loading && !error" class="row">
|
||||
<div
|
||||
v-bind:class="{ 'col-lg-12': 1 === accounts.length, 'col-lg-6': 2 === accounts.length, 'col-lg-4': accounts.length > 2 }"
|
||||
v-for="account in accounts">
|
||||
v-for="account in accounts"
|
||||
v-bind:class="{ 'col-lg-12': 1 === accounts.length, 'col-lg-6': 2 === accounts.length, 'col-lg-4': accounts.length > 2 }">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title"><a :href="account.url">{{ account.title }}</a></h3>
|
||||
@ -62,9 +62,9 @@
|
||||
</div>
|
||||
<div class="card-body table-responsive p-0">
|
||||
<div>
|
||||
<transaction-list-large :transactions="account.transactions" v-if="1===accounts.length" :account_id="account.id"/>
|
||||
<transaction-list-medium :transactions="account.transactions" v-if="2===accounts.length" :account_id="account.id"/>
|
||||
<transaction-list-small :transactions="account.transactions" v-if="accounts.length > 2" :account_id="account.id"/>
|
||||
<transaction-list-large v-if="1===accounts.length" :account_id="account.id" :transactions="account.transactions"/>
|
||||
<transaction-list-medium v-if="2===accounts.length" :account_id="account.id" :transactions="account.transactions"/>
|
||||
<transaction-list-small v-if="accounts.length > 2" :account_id="account.id" :transactions="account.transactions"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -24,19 +24,19 @@
|
||||
<h3 class="card-title">{{ $t('firefly.bills') }}</h3>
|
||||
</div>
|
||||
<!-- body if loading -->
|
||||
<div class="card-body" v-if="loading && !error">
|
||||
<div v-if="loading && !error" class="card-body">
|
||||
<div class="text-center">
|
||||
<i class="fas fa-spinner fa-spin"></i>
|
||||
</div>
|
||||
</div>
|
||||
<!-- body if error -->
|
||||
<div class="card-body" v-if="error">
|
||||
<div v-if="error" class="card-body">
|
||||
<div class="text-center">
|
||||
<i class="fas fa-exclamation-triangle text-danger"></i>
|
||||
</div>
|
||||
</div>
|
||||
<!-- body if normal -->
|
||||
<div class="card-body table-responsive p-0" v-if="!loading && !error">
|
||||
<div v-if="!loading && !error" class="card-body table-responsive p-0">
|
||||
<table class="table table-striped">
|
||||
<caption style="display:none;">{{ $t('firefly.bills') }}</caption>
|
||||
<thead>
|
||||
@ -70,7 +70,7 @@
|
||||
</table>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<a href="./bills" class="btn btn-default button-sm"><i class="far fa-money-bill-alt"></i> {{ $t('firefly.go_to_bills') }}</a>
|
||||
<a class="btn btn-default button-sm" href="./bills"><i class="far fa-money-bill-alt"></i> {{ $t('firefly.go_to_bills') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -21,37 +21,37 @@
|
||||
<template>
|
||||
<div>
|
||||
<!-- daily budgets (will be the exception, I expect) -->
|
||||
<div class="row" v-if="!loading">
|
||||
<div class="col-xl-6 col-lg-12 col-md-12 col-sm-12 col-xs-12" v-if="budgetLimits.daily.length > 0">
|
||||
<BudgetListGroup :title="$t('firefly.daily_budgets')" :budgetLimits=budgetLimits.daily
|
||||
<div v-if="!loading" class="row">
|
||||
<div v-if="budgetLimits.daily.length > 0" class="col-xl-6 col-lg-12 col-md-12 col-sm-12 col-xs-12">
|
||||
<BudgetListGroup :budgetLimits=budgetLimits.daily :title="$t('firefly.daily_budgets')"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-xl-6 col-lg-12 col-md-12 col-sm-12 col-xs-12" v-if="budgetLimits.weekly.length > 0">
|
||||
<BudgetListGroup :title="$t('firefly.weekly_budgets')" :budgetLimits=budgetLimits.weekly
|
||||
<div v-if="budgetLimits.weekly.length > 0" class="col-xl-6 col-lg-12 col-md-12 col-sm-12 col-xs-12">
|
||||
<BudgetListGroup :budgetLimits=budgetLimits.weekly :title="$t('firefly.weekly_budgets')"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-xl-6 col-lg-12 col-md-12 col-sm-12 col-xs-12" v-if="budgetLimits.monthly.length > 0">
|
||||
<BudgetListGroup :title="$t('firefly.monthly_budgets')" :budgetLimits=budgetLimits.monthly
|
||||
<div v-if="budgetLimits.monthly.length > 0" class="col-xl-6 col-lg-12 col-md-12 col-sm-12 col-xs-12">
|
||||
<BudgetListGroup :budgetLimits=budgetLimits.monthly :title="$t('firefly.monthly_budgets')"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-xl-6 col-lg-12 col-md-12 col-sm-12 col-xs-12" v-if="budgetLimits.quarterly.length > 0">
|
||||
<BudgetListGroup :title="$t('firefly.quarterly_budgets')" :budgetLimits=budgetLimits.quarterly
|
||||
<div v-if="budgetLimits.quarterly.length > 0" class="col-xl-6 col-lg-12 col-md-12 col-sm-12 col-xs-12">
|
||||
<BudgetListGroup :budgetLimits=budgetLimits.quarterly :title="$t('firefly.quarterly_budgets')"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-xl-6 col-lg-12 col-md-12 col-sm-12 col-xs-12" v-if="budgetLimits.half_year.length > 0">
|
||||
<BudgetListGroup :title="$t('firefly.half_year_budgets')" :budgetLimits=budgetLimits.half_year
|
||||
<div v-if="budgetLimits.half_year.length > 0" class="col-xl-6 col-lg-12 col-md-12 col-sm-12 col-xs-12">
|
||||
<BudgetListGroup :budgetLimits=budgetLimits.half_year :title="$t('firefly.half_year_budgets')"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-xl-6 col-lg-12 col-md-12 col-sm-12 col-xs-12" v-if="budgetLimits.yearly.length > 0">
|
||||
<BudgetListGroup :title="$t('firefly.yearly_budgets')" :budgetLimits=budgetLimits.yearly
|
||||
<div v-if="budgetLimits.yearly.length > 0" class="col-xl-6 col-lg-12 col-md-12 col-sm-12 col-xs-12">
|
||||
<BudgetListGroup :budgetLimits=budgetLimits.yearly :title="$t('firefly.yearly_budgets')"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-xl-6 col-lg-12 col-md-12 col-sm-12 col-xs-12" v-if="budgetLimits.other.length > 0 || rawBudgets.length > 0">
|
||||
<BudgetListGroup :title="$t('firefly.other_budgets')" :budgetLimits=budgetLimits.other :budgets="rawBudgets"
|
||||
<div v-if="budgetLimits.other.length > 0 || rawBudgets.length > 0" class="col-xl-6 col-lg-12 col-md-12 col-sm-12 col-xs-12">
|
||||
<BudgetListGroup :budgetLimits=budgetLimits.other :budgets="rawBudgets" :title="$t('firefly.other_budgets')"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" v-if="loading && !error">
|
||||
<div v-if="loading && !error" class="row">
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
|
@ -24,19 +24,19 @@
|
||||
<h3 class="card-title">{{ $t('firefly.categories') }}</h3>
|
||||
</div>
|
||||
<!-- body if loading -->
|
||||
<div class="card-body" v-if="loading && !error">
|
||||
<div v-if="loading && !error" class="card-body">
|
||||
<div class="text-center">
|
||||
<i class="fas fa-spinner fa-spin"></i>
|
||||
</div>
|
||||
</div>
|
||||
<!-- body if error -->
|
||||
<div class="card-body" v-if="error">
|
||||
<div v-if="error" class="card-body">
|
||||
<div class="text-center">
|
||||
<i class="fas fa-exclamation-triangle text-danger"></i>
|
||||
</div>
|
||||
</div>
|
||||
<!-- body if normal -->
|
||||
<div class="card-body table-responsive p-0" v-if="!loading && !error">
|
||||
<div v-if="!loading && !error" class="card-body table-responsive p-0">
|
||||
<table class="table table-sm">
|
||||
<tbody>
|
||||
<tr v-for="category in sortedList">
|
||||
@ -45,10 +45,10 @@
|
||||
</td>
|
||||
<td class="align-middle">
|
||||
<!-- SPENT -->
|
||||
<div class="progress" v-if="category.spentPct > 0">
|
||||
<div class="progress-bar progress-bar-striped bg-danger" role="progressbar" :aria-valuenow="category.spentPct"
|
||||
:style="{ width: category.spentPct + '%'}" aria-valuemin="0"
|
||||
aria-valuemax="100">
|
||||
<div v-if="category.spentPct > 0" class="progress">
|
||||
<div :aria-valuenow="category.spentPct" :style="{ width: category.spentPct + '%'}" aria-valuemax="100"
|
||||
aria-valuemin="0" class="progress-bar progress-bar-striped bg-danger"
|
||||
role="progressbar">
|
||||
<span v-if="category.spentPct > 20">
|
||||
{{ Intl.NumberFormat(locale, {style: 'currency', currency: category.currency_code}).format(category.spent) }}
|
||||
</span>
|
||||
@ -59,13 +59,13 @@
|
||||
</div>
|
||||
|
||||
<!-- EARNED -->
|
||||
<div class="progress justify-content-end" v-if="category.earnedPct > 0" title="hello2">
|
||||
<div v-if="category.earnedPct > 0" class="progress justify-content-end" title="hello2">
|
||||
<span v-if="category.earnedPct <= 20">
|
||||
{{ Intl.NumberFormat(locale, {style: 'currency', currency: category.currency_code}).format(category.earned) }}
|
||||
</span>
|
||||
<div class="progress-bar progress-bar-striped bg-success" role="progressbar" :aria-valuenow="category.earnedPct"
|
||||
:style="{ width: category.earnedPct + '%'}" aria-valuemin="0"
|
||||
aria-valuemax="100" title="hello">
|
||||
<div :aria-valuenow="category.earnedPct" :style="{ width: category.earnedPct + '%'}" aria-valuemax="100"
|
||||
aria-valuemin="0" class="progress-bar progress-bar-striped bg-success"
|
||||
role="progressbar" title="hello">
|
||||
<span v-if="category.earnedPct > 20">
|
||||
{{ Intl.NumberFormat(locale, {style: 'currency', currency: category.currency_code}).format(category.earned) }}
|
||||
</span>
|
||||
|
@ -24,28 +24,28 @@
|
||||
<h3 class="card-title">{{ $t('firefly.revenue_accounts') }}</h3>
|
||||
</div>
|
||||
<!-- body if loading -->
|
||||
<div class="card-body" v-if="loading && !error">
|
||||
<div v-if="loading && !error" class="card-body">
|
||||
<div class="text-center">
|
||||
<i class="fas fa-spinner fa-spin"></i>
|
||||
</div>
|
||||
</div>
|
||||
<!-- body if error -->
|
||||
<div class="card-body" v-if="error">
|
||||
<div v-if="error" class="card-body">
|
||||
<div class="text-center">
|
||||
<i class="fas fa-exclamation-triangle text-danger"></i>
|
||||
</div>
|
||||
</div>
|
||||
<!-- body if normal -->
|
||||
<div class="card-body table-responsive p-0" v-if="!loading && !error">
|
||||
<div v-if="!loading && !error" class="card-body table-responsive p-0">
|
||||
<table class="table table-sm">
|
||||
<tbody>
|
||||
<tr v-for="entry in income">
|
||||
<td style="width:20%;"><a :href="'./accounts/show/' + entry.id">{{ entry.name }}</a></td>
|
||||
<td class="align-middle">
|
||||
<div class="progress" v-if="entry.pct > 0">
|
||||
<div class="progress-bar progress-bar-striped bg-success" role="progressbar" :aria-valuenow="entry.pct"
|
||||
:style="{ width: entry.pct + '%'}" aria-valuemin="0"
|
||||
aria-valuemax="100">
|
||||
<div v-if="entry.pct > 0" class="progress">
|
||||
<div :aria-valuenow="entry.pct" :style="{ width: entry.pct + '%'}" aria-valuemax="100"
|
||||
aria-valuemin="0" class="progress-bar progress-bar-striped bg-success"
|
||||
role="progressbar">
|
||||
<span v-if="entry.pct > 20">
|
||||
{{ Intl.NumberFormat(locale, {style: 'currency', currency: entry.currency_code}).format(entry.difference_float) }}
|
||||
</span>
|
||||
@ -60,7 +60,7 @@
|
||||
</table>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<a href="./transactions/deposit" class="btn btn-default button-sm"><i class="far fa-money-bill-alt"></i> {{ $t('firefly.go_to_deposits') }}</a>
|
||||
<a class="btn btn-default button-sm" href="./transactions/deposit"><i class="far fa-money-bill-alt"></i> {{ $t('firefly.go_to_deposits') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@ -117,7 +117,7 @@ export default {
|
||||
getIncome() {
|
||||
this.loading = true;
|
||||
this.income = [];
|
||||
this.error=false;
|
||||
this.error = false;
|
||||
let startStr = this.start.toISOString().split('T')[0];
|
||||
let endStr = this.end.toISOString().split('T')[0];
|
||||
axios.get('./api/v1/insight/income/date/basic?start=' + startStr + '&end=' + endStr)
|
||||
|
@ -24,28 +24,28 @@
|
||||
<h3 class="card-title">{{ $t('firefly.expense_accounts') }}</h3>
|
||||
</div>
|
||||
<!-- body if loading -->
|
||||
<div class="card-body" v-if="loading && !error">
|
||||
<div v-if="loading && !error" class="card-body">
|
||||
<div class="text-center">
|
||||
<i class="fas fa-spinner fa-spin"></i>
|
||||
</div>
|
||||
</div>
|
||||
<!-- body if error -->
|
||||
<div class="card-body" v-if="error">
|
||||
<div v-if="error" class="card-body">
|
||||
<div class="text-center">
|
||||
<i class="fas fa-exclamation-triangle text-danger"></i>
|
||||
</div>
|
||||
</div>
|
||||
<!-- body if normal -->
|
||||
<div class="card-body table-responsive p-0" v-if="!loading && !error">
|
||||
<div v-if="!loading && !error" class="card-body table-responsive p-0">
|
||||
<table class="table table-sm">
|
||||
<tbody>
|
||||
<tr v-for="entry in expenses">
|
||||
<td style="width:20%;"><a :href="'./accounts/show/' + entry.id">{{ entry.name }}</a></td>
|
||||
<td class="align-middle">
|
||||
<div class="progress" v-if="entry.pct > 0">
|
||||
<div class="progress-bar progress-bar-striped bg-danger" role="progressbar" :aria-valuenow="entry.pct"
|
||||
:style="{ width: entry.pct + '%'}" aria-valuemin="0"
|
||||
aria-valuemax="100">
|
||||
<div v-if="entry.pct > 0" class="progress">
|
||||
<div :aria-valuenow="entry.pct" :style="{ width: entry.pct + '%'}" aria-valuemax="100"
|
||||
aria-valuemin="0" class="progress-bar progress-bar-striped bg-danger"
|
||||
role="progressbar">
|
||||
<span v-if="entry.pct > 20">
|
||||
{{ Intl.NumberFormat(locale, {style: 'currency', currency: entry.currency_code}).format(entry.difference_float) }}
|
||||
</span>
|
||||
@ -60,7 +60,7 @@
|
||||
</table>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<a href="./transactions/withdrawal" class="btn btn-default button-sm"><i class="far fa-money-bill-alt"></i> {{ $t('firefly.go_to_withdrawals') }}</a>
|
||||
<a class="btn btn-default button-sm" href="./transactions/withdrawal"><i class="far fa-money-bill-alt"></i> {{ $t('firefly.go_to_withdrawals') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@ -116,7 +116,7 @@ export default {
|
||||
methods: {
|
||||
getExpenses() {
|
||||
this.loading = true;
|
||||
this.error=false;
|
||||
this.error = false;
|
||||
this.expenses = [];
|
||||
let startStr = this.start.toISOString().split('T')[0];
|
||||
let endStr = this.end.toISOString().split('T')[0];
|
||||
|
@ -25,19 +25,19 @@
|
||||
</div>
|
||||
|
||||
<!-- body if loading -->
|
||||
<div class="card-body" v-if="loading && !error">
|
||||
<div v-if="loading && !error" class="card-body">
|
||||
<div class="text-center">
|
||||
<i class="fas fa-spinner fa-spin"></i>
|
||||
</div>
|
||||
</div>
|
||||
<!-- body if error -->
|
||||
<div class="card-body" v-if="error">
|
||||
<div v-if="error" class="card-body">
|
||||
<div class="text-center">
|
||||
<i class="fas fa-exclamation-triangle text-danger"></i>
|
||||
</div>
|
||||
</div>
|
||||
<!-- body if normal -->
|
||||
<div class="card-body table-responsive p-0" v-if="!loading && !error">
|
||||
<div v-if="!loading && !error" class="card-body table-responsive p-0">
|
||||
<table class="table table-striped">
|
||||
<caption style="display:none;">{{ $t('firefly.piggy_banks') }}</caption>
|
||||
<thead>
|
||||
@ -58,9 +58,9 @@
|
||||
<td>
|
||||
<div class="progress-group">
|
||||
<div class="progress progress-sm">
|
||||
<div class="progress-bar progress-bar-striped primary" v-if="piggy.attributes.pct < 100" :style="{'width': piggy.attributes.pct + '%'}"></div>
|
||||
<div class="progress-bar progress-bar-striped bg-success" v-if="100 === piggy.attributes.pct"
|
||||
:style="{'width': piggy.attributes.pct + '%'}"></div>
|
||||
<div v-if="piggy.attributes.pct < 100" :style="{'width': piggy.attributes.pct + '%'}" class="progress-bar progress-bar-striped primary"></div>
|
||||
<div v-if="100 === piggy.attributes.pct" :style="{'width': piggy.attributes.pct + '%'}"
|
||||
class="progress-bar progress-bar-striped bg-success"></div>
|
||||
</div>
|
||||
</div>
|
||||
<span class="text-success">
|
||||
@ -81,7 +81,7 @@
|
||||
</table>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<a href="./piggy-banks" class="btn btn-default button-sm"><i class="far fa-money-bill-alt"></i> {{ $t('firefly.go_to_piggies') }}</a>
|
||||
<a class="btn btn-default button-sm" href="./piggy-banks"><i class="far fa-money-bill-alt"></i> {{ $t('firefly.go_to_piggies') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -25,11 +25,11 @@
|
||||
<span class="info-box-icon"><i class="far fa-bookmark text-info"></i></span>
|
||||
|
||||
<div class="info-box-content">
|
||||
<span class="info-box-text" v-if="!loading && !error">{{ $t("firefly.balance") }}</span>
|
||||
<span class="info-box-text" v-if="loading && !error"><i class="fas fa-spinner fa-spin"></i></span>
|
||||
<span class="info-box-text" v-if="error"><i class="fas fa-exclamation-triangle text-danger"></i></span>
|
||||
<span v-if="!loading && !error" class="info-box-text">{{ $t("firefly.balance") }}</span>
|
||||
<span v-if="loading && !error" class="info-box-text"><i class="fas fa-spinner fa-spin"></i></span>
|
||||
<span v-if="error" class="info-box-text"><i class="fas fa-exclamation-triangle text-danger"></i></span>
|
||||
<!-- balance in preferred currency -->
|
||||
<span class="info-box-number" v-for="balance in prefCurrencyBalances" :title="balance.sub_title">{{ balance.value_parsed }}</span>
|
||||
<span v-for="balance in prefCurrencyBalances" :title="balance.sub_title" class="info-box-number">{{ balance.value_parsed }}</span>
|
||||
|
||||
<div class="progress bg-info">
|
||||
<div class="progress-bar" style="width: 0"></div>
|
||||
@ -50,11 +50,11 @@
|
||||
<span class="info-box-icon"><i class="far fa-calendar-alt text-teal"></i></span>
|
||||
|
||||
<div class="info-box-content">
|
||||
<span class="info-box-text" v-if="!loading && !error">{{ $t('firefly.bills_to_pay') }}</span>
|
||||
<span class="info-box-text" v-if="loading && !error"><i class="fas fa-spinner fa-spin"></i></span>
|
||||
<span class="info-box-text" v-if="error"><i class="fas fa-exclamation-triangle text-danger"></i></span>
|
||||
<span v-if="!loading && !error" class="info-box-text">{{ $t('firefly.bills_to_pay') }}</span>
|
||||
<span v-if="loading && !error" class="info-box-text"><i class="fas fa-spinner fa-spin"></i></span>
|
||||
<span v-if="error" class="info-box-text"><i class="fas fa-exclamation-triangle text-danger"></i></span>
|
||||
<!-- bills unpaid, in preferred currency. -->
|
||||
<span class="info-box-number" v-for="balance in prefBillsUnpaid">{{ balance.value_parsed }}</span>
|
||||
<span v-for="balance in prefBillsUnpaid" class="info-box-number">{{ balance.value_parsed }}</span>
|
||||
|
||||
<div class="progress bg-teal">
|
||||
<div class="progress-bar" style="width: 0"></div>
|
||||
@ -75,11 +75,11 @@
|
||||
<span class="info-box-icon"><i class="fas fa-money-bill text-success"></i></span>
|
||||
|
||||
<div class="info-box-content">
|
||||
<span class="info-box-text" v-if="!loading && !error">{{ $t('firefly.left_to_spend') }}</span>
|
||||
<span class="info-box-text" v-if="loading && !error"><i class="fas fa-spinner fa-spin"></i></span>
|
||||
<span class="info-box-text" v-if="error"><i class="fas fa-exclamation-triangle text-danger"></i></span>
|
||||
<span v-if="!loading && !error" class="info-box-text">{{ $t('firefly.left_to_spend') }}</span>
|
||||
<span v-if="loading && !error" class="info-box-text"><i class="fas fa-spinner fa-spin"></i></span>
|
||||
<span v-if="error" class="info-box-text"><i class="fas fa-exclamation-triangle text-danger"></i></span>
|
||||
<!-- left to spend in preferred currency -->
|
||||
<span class="info-box-number" v-for="left in prefLeftToSpend" :title="left.sub_title">{{ left.value_parsed }}</span>
|
||||
<span v-for="left in prefLeftToSpend" :title="left.sub_title" class="info-box-number">{{ left.value_parsed }}</span>
|
||||
|
||||
<div class="progress bg-success">
|
||||
<div class="progress-bar" style="width: 0"></div>
|
||||
@ -101,10 +101,10 @@
|
||||
<span class="info-box-icon"><i class="fas fa-money-bill text-success"></i></span>
|
||||
|
||||
<div class="info-box-content">
|
||||
<span class="info-box-text" v-if="!loading && !error">{{ $t('firefly.net_worth') }}</span>
|
||||
<span class="info-box-text" v-if="loading && !error"><i class="fas fa-spinner fa-spin"></i></span>
|
||||
<span class="info-box-text" v-if="error"><i class="fas fa-exclamation-triangle text-danger"></i></span>
|
||||
<span class="info-box-number" v-for="nw in prefNetWorth" :title="nw.sub_title">{{ nw.value_parsed }}</span>
|
||||
<span v-if="!loading && !error" class="info-box-text">{{ $t('firefly.net_worth') }}</span>
|
||||
<span v-if="loading && !error" class="info-box-text"><i class="fas fa-spinner fa-spin"></i></span>
|
||||
<span v-if="error" class="info-box-text"><i class="fas fa-exclamation-triangle text-danger"></i></span>
|
||||
<span v-for="nw in prefNetWorth" :title="nw.sub_title" class="info-box-number">{{ nw.value_parsed }}</span>
|
||||
|
||||
<div class="progress bg-success">
|
||||
<div class="progress-bar" style="width: 0"></div>
|
||||
@ -241,7 +241,7 @@ export default {
|
||||
* Prepare the component.
|
||||
*/
|
||||
prepareComponent() {
|
||||
this.error=false;
|
||||
this.error = false;
|
||||
this.loading = true;
|
||||
this.summary = [];
|
||||
this.balances = [];
|
||||
|
@ -21,85 +21,85 @@
|
||||
<template>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div id="accordion">
|
||||
<!-- we are adding the .class so bootstrap.js collapse plugin detects it -->
|
||||
<div class="card card-primary">
|
||||
<div class="card-header">
|
||||
<h4 class="card-title">
|
||||
<a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
|
||||
Create new accounts
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="collapseOne" class="panel-collapse collapse show">
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<p>Explain</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-4">
|
||||
A
|
||||
</div>
|
||||
<div class="col-lg-8">
|
||||
B
|
||||
</div>
|
||||
</div>
|
||||
<div id="accordion">
|
||||
<!-- we are adding the .class so bootstrap.js collapse plugin detects it -->
|
||||
<div class="card card-primary">
|
||||
<div class="card-header">
|
||||
<h4 class="card-title">
|
||||
<a data-parent="#accordion" data-toggle="collapse" href="#collapseOne">
|
||||
Create new accounts
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="collapseOne" class="panel-collapse collapse show">
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<p>Explain</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card card-secondary">
|
||||
<div class="card-header">
|
||||
<h4 class="card-title">
|
||||
<a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">
|
||||
Collapsible Group Danger
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="collapseTwo" class="panel-collapse collapse">
|
||||
<div class="card-body">
|
||||
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid.
|
||||
3
|
||||
wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt
|
||||
laborum
|
||||
eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee
|
||||
nulla
|
||||
assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred
|
||||
nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft
|
||||
beer
|
||||
farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus
|
||||
labore sustainable VHS.
|
||||
<div class="row">
|
||||
<div class="col-lg-4">
|
||||
A
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card card-secondary">
|
||||
<div class="card-header">
|
||||
<h4 class="card-title">
|
||||
<a data-toggle="collapse" data-parent="#accordion" href="#collapseThree">
|
||||
Collapsible Group Success
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="collapseThree" class="panel-collapse collapse">
|
||||
<div class="card-body">
|
||||
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid.
|
||||
3
|
||||
wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt
|
||||
laborum
|
||||
eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee
|
||||
nulla
|
||||
assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred
|
||||
nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft
|
||||
beer
|
||||
farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus
|
||||
labore sustainable VHS.
|
||||
<div class="col-lg-8">
|
||||
B
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card card-secondary">
|
||||
<div class="card-header">
|
||||
<h4 class="card-title">
|
||||
<a data-parent="#accordion" data-toggle="collapse" href="#collapseTwo">
|
||||
Collapsible Group Danger
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="collapseTwo" class="panel-collapse collapse">
|
||||
<div class="card-body">
|
||||
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid.
|
||||
3
|
||||
wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt
|
||||
laborum
|
||||
eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee
|
||||
nulla
|
||||
assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred
|
||||
nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft
|
||||
beer
|
||||
farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus
|
||||
labore sustainable VHS.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card card-secondary">
|
||||
<div class="card-header">
|
||||
<h4 class="card-title">
|
||||
<a data-parent="#accordion" data-toggle="collapse" href="#collapseThree">
|
||||
Collapsible Group Success
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="collapseThree" class="panel-collapse collapse">
|
||||
<div class="card-body">
|
||||
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid.
|
||||
3
|
||||
wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt
|
||||
laborum
|
||||
eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee
|
||||
nulla
|
||||
assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred
|
||||
nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft
|
||||
beer
|
||||
farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus
|
||||
labore sustainable VHS.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
@ -18,8 +18,8 @@
|
||||
- along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<template>
|
||||
<div :class="'alert alert-' + type + ' alert-dismissible'" v-if="message.length > 0">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<div v-if="message.length > 0" :class="'alert alert-' + type + ' alert-dismissible'">
|
||||
<button aria-hidden="true" class="close" data-dismiss="alert" type="button">×</button>
|
||||
<h5>
|
||||
<i v-if="'danger' === type" class="icon fas fa-ban"></i>
|
||||
<i v-if="'success' === type" class="icon fas fa-thumbs-up"></i>
|
||||
|
@ -81,12 +81,12 @@ const actions = {
|
||||
context.commit('setEnd', new Date(localStorage.viewRangeEnd));
|
||||
}
|
||||
// also set default:
|
||||
if(localStorage.viewRangeDefaultStart) {
|
||||
if (localStorage.viewRangeDefaultStart) {
|
||||
// console.log('view range default start set from local storage.');
|
||||
// console.log(localStorage.viewRangeDefaultStart);
|
||||
context.commit('setDefaultStart', new Date(localStorage.viewRangeDefaultStart));
|
||||
}
|
||||
if(localStorage.viewRangeDefaultEnd) {
|
||||
if (localStorage.viewRangeDefaultEnd) {
|
||||
// console.log('view range default end set from local storage.');
|
||||
// console.log(localStorage.viewRangeDefaultEnd);
|
||||
context.commit('setDefaultEnd', new Date(localStorage.viewRangeDefaultEnd));
|
||||
|
@ -23,14 +23,8 @@ const lodashClonedeep = require('lodash.clonedeep');
|
||||
// initial state
|
||||
const state = () => ({
|
||||
transactionType: 'any',
|
||||
date: new Date,
|
||||
time: new Date,
|
||||
groupTitle: '',
|
||||
transactions: [],
|
||||
allowedOpposingTypes: {},
|
||||
accountToTransaction: {},
|
||||
sourceAllowedTypes: ['Asset account', 'Loan', 'Debt', 'Mortgage', 'Revenue account'],
|
||||
destinationAllowedTypes: ['Asset account', 'Loan', 'Debt', 'Mortgage', 'Expense account'],
|
||||
customDateFields: {
|
||||
interest_date: false,
|
||||
book_date: false,
|
||||
@ -147,12 +141,6 @@ const getters = {
|
||||
transactions: state => {
|
||||
return state.transactions;
|
||||
},
|
||||
date: state => {
|
||||
return state.date;
|
||||
},
|
||||
time: state => {
|
||||
return state.time;
|
||||
},
|
||||
groupTitle: state => {
|
||||
return state.groupTitle;
|
||||
},
|
||||
@ -190,9 +178,7 @@ const getters = {
|
||||
}
|
||||
|
||||
// actions
|
||||
const actions = {
|
||||
|
||||
}
|
||||
const actions = {}
|
||||
|
||||
// mutations
|
||||
const mutations = {
|
||||
@ -208,12 +194,6 @@ const mutations = {
|
||||
resetTransactions(state) {
|
||||
state.transactions = [];
|
||||
},
|
||||
setDate(state, payload) {
|
||||
state.date = payload.date;
|
||||
},
|
||||
setTime(state, payload) {
|
||||
state.time = payload.time;
|
||||
},
|
||||
setGroupTitle(state, payload) {
|
||||
state.groupTitle = payload.groupTitle;
|
||||
},
|
||||
@ -224,7 +204,7 @@ const mutations = {
|
||||
state.transactions.splice(payload.index, 1);
|
||||
// console.log('Deleted transaction ' + payload.index);
|
||||
// console.log(state.transactions);
|
||||
if(0===state.transactions.length) {
|
||||
if (0 === state.transactions.length) {
|
||||
// console.log('array is empty!');
|
||||
}
|
||||
},
|
||||
|
@ -23,16 +23,13 @@ const state = () => ({});
|
||||
|
||||
|
||||
// getters
|
||||
const getters = {
|
||||
};
|
||||
const getters = {};
|
||||
|
||||
// actions
|
||||
const actions = {
|
||||
};
|
||||
const actions = {};
|
||||
|
||||
// mutations
|
||||
const mutations = {
|
||||
};
|
||||
const mutations = {};
|
||||
|
||||
export default {
|
||||
namespaced: true,
|
||||
|
@ -27,11 +27,17 @@
|
||||
<SplitForm
|
||||
v-for="(transaction, index) in this.transactions"
|
||||
v-bind:key="index"
|
||||
:transaction="transaction"
|
||||
:index="index"
|
||||
:allowed-opposing-types="allowedOpposingTypes"
|
||||
:count="transactions.length"
|
||||
:custom-fields="customFields"
|
||||
:date="date"
|
||||
:destination-allowed-types="destinationAllowedTypes"
|
||||
:index="index"
|
||||
:source-allowed-types="sourceAllowedTypes"
|
||||
:submitted-transaction="submittedTransaction"
|
||||
:time="time"
|
||||
:transaction="transaction"
|
||||
:transaction-type="transactionType"
|
||||
v-on:uploaded-attachments="uploadedAttachment($event)"
|
||||
v-on:set-marker-location="storeLocation($event)"
|
||||
v-on:set-account="storeAccountValue($event)"
|
||||
@ -40,13 +46,16 @@
|
||||
v-on:set-time="storeTime($event)"
|
||||
v-on:set-field="storeField($event)"
|
||||
v-on:remove-transaction="removeTransaction($event)"
|
||||
v-on:set-dest-types="setDestinationAllowedTypes($event)"
|
||||
v-on:set-src-types="setSourceAllowedTypes($event)"
|
||||
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<!-- group title -->
|
||||
<div class="col-xl-6 col-lg-6 col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="card" v-if="transactions.length > 1">
|
||||
<div v-if="transactions.length > 1" class="card">
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
@ -65,14 +74,14 @@
|
||||
<div class="text-xs d-none d-lg-block d-xl-block">
|
||||
|
||||
</div>
|
||||
<button @click="addTransaction" class="btn btn-outline-primary btn-block"><i class="far fa-clone"></i> {{ $t('firefly.add_another_split') }}
|
||||
<button class="btn btn-outline-primary btn-block" @click="addTransaction"><i class="far fa-clone"></i> {{ $t('firefly.add_another_split') }}
|
||||
</button>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="text-xs d-none d-lg-block d-xl-block">
|
||||
|
||||
</div>
|
||||
<button class="btn btn-success btn-block" @click="submitTransaction" :disabled="!enableSubmit">
|
||||
<button :disabled="!enableSubmit" class="btn btn-success btn-block" @click="submitTransaction">
|
||||
<span v-if="enableSubmit"><i class="far fa-save"></i> {{ $t('firefly.store_transaction') }}</span>
|
||||
<span v-if="!enableSubmit"><i class="fas fa-spinner fa-spin"></i></span>
|
||||
</button>
|
||||
@ -84,13 +93,13 @@
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" v-model="createAnother" id="createAnother">
|
||||
<input id="createAnother" v-model="createAnother" class="form-check-input" type="checkbox">
|
||||
<label class="form-check-label" for="createAnother">
|
||||
<span class="small">{{ $t('firefly.create_another') }}</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" v-model="resetFormAfter" id="resetFormAfter" :disabled="!createAnother">
|
||||
<input id="resetFormAfter" v-model="resetFormAfter" :disabled="!createAnother" class="form-check-input" type="checkbox">
|
||||
<label class="form-check-label" for="resetFormAfter">
|
||||
<span class="small">{{ $t('firefly.reset_after') }}</span>
|
||||
</label>
|
||||
@ -161,16 +170,23 @@ export default {
|
||||
returnedGroupId: 0,
|
||||
returnedGroupTitle: '',
|
||||
|
||||
// meta data:
|
||||
accountToTransaction: {}
|
||||
// meta data for accounts
|
||||
accountToTransaction: {},
|
||||
allowedOpposingTypes: {},
|
||||
defaultSourceAllowedTypes: ['Asset account', 'Loan', 'Debt', 'Mortgage', 'Revenue account'],
|
||||
defaultDestinationAllowedTypes: ['Asset account', 'Loan', 'Debt', 'Mortgage', 'Expense account'],
|
||||
sourceAllowedTypes: ['Asset account', 'Loan', 'Debt', 'Mortgage', 'Revenue account'],
|
||||
destinationAllowedTypes: ['Asset account', 'Loan', 'Debt', 'Mortgage', 'Expense account'],
|
||||
|
||||
// date and time not in the store because it was buggy
|
||||
date: new Date,
|
||||
time: new Date,
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapGetters([
|
||||
'transactionType',
|
||||
'transactions',
|
||||
'date',
|
||||
'time',
|
||||
'groupTitle'
|
||||
])
|
||||
},
|
||||
@ -200,14 +216,11 @@ export default {
|
||||
'setGroupTitle',
|
||||
'addTransaction',
|
||||
'deleteTransaction',
|
||||
'setAllowedOpposingTypes',
|
||||
'setTransactionError',
|
||||
'setTransactionType',
|
||||
'resetErrors',
|
||||
'updateField',
|
||||
'resetTransactions',
|
||||
'setDate',
|
||||
'setTime'
|
||||
],
|
||||
),
|
||||
/**
|
||||
@ -246,7 +259,6 @@ export default {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (false === this.inError) {
|
||||
// show message:
|
||||
this.errorMessage = '';
|
||||
@ -399,11 +411,11 @@ export default {
|
||||
storeField: function (payload) {
|
||||
this.updateField(payload);
|
||||
},
|
||||
storeDate: function (value) {
|
||||
this.setDate(value.date)
|
||||
storeDate: function (payload) {
|
||||
this.date = payload.date;
|
||||
},
|
||||
storeTime: function (value) {
|
||||
this.setTime(value.time)
|
||||
storeTime: function (payload) {
|
||||
this.time = payload.time;
|
||||
},
|
||||
storeGroupTitle: function (value) {
|
||||
// console.log('set group title: ' + value);
|
||||
@ -702,9 +714,11 @@ export default {
|
||||
theDate.setHours(this.time.getHours());
|
||||
theDate.setMinutes(this.time.getMinutes());
|
||||
theDate.setSeconds(this.time.getSeconds());
|
||||
dateStr = this.toW3CString(this.date);
|
||||
dateStr = this.toW3CString(theDate);
|
||||
}
|
||||
|
||||
// console.log('dateStr = ' + dateStr);
|
||||
|
||||
let currentSplit = {
|
||||
// basic
|
||||
description: array.description,
|
||||
@ -857,8 +871,11 @@ export default {
|
||||
offsetSign + offsetHours + ':' + offsetMinutes;
|
||||
},
|
||||
storeAllowedOpposingTypes: function () {
|
||||
// take this from API:
|
||||
this.setAllowedOpposingTypes(window.allowedOpposingTypes);
|
||||
axios.get('./api/v1/configuration/static/firefly.allowed_opposing_types')
|
||||
.then(response => {
|
||||
this.allowedOpposingTypes = response.data['firefly.allowed_opposing_types'];
|
||||
// console.log('Set allowedOpposingTypes');
|
||||
});
|
||||
},
|
||||
storeAccountToTransaction: function () {
|
||||
axios.get('./api/v1/configuration/static/firefly.account_to_transaction')
|
||||
@ -866,7 +883,26 @@ export default {
|
||||
this.accountToTransaction = response.data['firefly.account_to_transaction'];
|
||||
});
|
||||
},
|
||||
|
||||
setDestinationAllowedTypes: function (value) {
|
||||
// console.log('Create::setDestinationAllowedTypes');
|
||||
// console.log(value);
|
||||
if (0 === value.length) {
|
||||
this.destinationAllowedTypes = this.defaultDestinationAllowedTypes;
|
||||
//console.log('empty so back to defaults');
|
||||
return;
|
||||
}
|
||||
this.destinationAllowedTypes = value;
|
||||
},
|
||||
setSourceAllowedTypes(value) {
|
||||
// console.log('Create::setSourceAllowedTypes');
|
||||
// console.log(value);
|
||||
if (0 === value.length) {
|
||||
this.sourceAllowedTypes = this.defaultSourceAllowedTypes;
|
||||
// console.log('empty so back to defaults');
|
||||
return;
|
||||
}
|
||||
this.sourceAllowedTypes = value;
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
|
@ -19,7 +19,7 @@
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div :class="'tab-pane' + (0===index ? ' active' : '')" :id="'split_' + index">
|
||||
<div :id="'split_' + index" :class="'tab-pane' + (0===index ? ' active' : '')">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
@ -28,7 +28,7 @@
|
||||
{{ $t('firefly.basic_journal_information') }}
|
||||
<span v-if="count > 1">({{ index + 1 }} / {{ count }}) </span>
|
||||
</h3>
|
||||
<div class="card-tools" v-if="count>1">
|
||||
<div v-if="count>1" class="card-tools">
|
||||
<button class="btn btn-danger btn-xs" @click="removeTransaction"><i class="fas fa-trash-alt"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
@ -37,10 +37,10 @@
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<TransactionDescription
|
||||
v-on="$listeners"
|
||||
v-model="transaction.description"
|
||||
:index="index"
|
||||
v-on="$listeners"
|
||||
:errors="transaction.errors.description"
|
||||
:index="index"
|
||||
></TransactionDescription>
|
||||
</div>
|
||||
</div>
|
||||
@ -49,11 +49,14 @@
|
||||
<div class="col-xl-5 col-lg-5 col-md-10 col-sm-12 col-xs-12">
|
||||
<!-- SOURCE -->
|
||||
<TransactionAccount
|
||||
v-on="$listeners"
|
||||
v-model="sourceAccount"
|
||||
direction="source"
|
||||
:index="index"
|
||||
v-on="$listeners"
|
||||
:allowed-opposing-types="allowedOpposingTypes"
|
||||
:destination-allowed-types="destinationAllowedTypes"
|
||||
:errors="transaction.errors.source"
|
||||
:index="index"
|
||||
:source-allowed-types="sourceAllowedTypes"
|
||||
direction="source"
|
||||
/>
|
||||
</div>
|
||||
<!-- switcharoo! -->
|
||||
@ -62,6 +65,7 @@
|
||||
v-if="0 === index"
|
||||
v-on="$listeners"
|
||||
:index="index"
|
||||
:transaction-type="transactionType"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@ -69,11 +73,14 @@
|
||||
<div class="col-xl-5 col-lg-5 col-md-12 col-sm-12 col-xs-12">
|
||||
<!-- DESTINATION -->
|
||||
<TransactionAccount
|
||||
v-on="$listeners"
|
||||
v-model="destinationAccount"
|
||||
direction="destination"
|
||||
:index="index"
|
||||
v-on="$listeners"
|
||||
:allowed-opposing-types="allowedOpposingTypes"
|
||||
:destination-allowed-types="destinationAllowedTypes"
|
||||
:errors="transaction.errors.destination"
|
||||
:index="index"
|
||||
:source-allowed-types="sourceAllowedTypes"
|
||||
direction="destination"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@ -84,24 +91,24 @@
|
||||
<div class="col-xl-5 col-lg-5 col-md-10 col-sm-12 col-xs-12">
|
||||
<!-- AMOUNT -->
|
||||
<TransactionAmount
|
||||
:index="index"
|
||||
:errors="transaction.errors.amount"
|
||||
:amount="transaction.amount"
|
||||
:transaction-type="this.transactionType"
|
||||
:source-currency-symbol="this.transaction.source_account_currency_symbol"
|
||||
:destination-currency-symbol="this.transaction.destination_account_currency_symbol"
|
||||
v-on="$listeners"
|
||||
:amount="transaction.amount"
|
||||
:destination-currency-symbol="this.transaction.destination_account_currency_symbol"
|
||||
:errors="transaction.errors.amount"
|
||||
:index="index"
|
||||
:source-currency-symbol="this.transaction.source_account_currency_symbol"
|
||||
:transaction-type="this.transactionType"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-xl-2 col-lg-2 col-md-2 col-sm-12 text-center d-none d-sm-block">
|
||||
<TransactionForeignCurrency
|
||||
v-on="$listeners"
|
||||
v-model="transaction.foreign_currency_id"
|
||||
:transaction-type="this.transactionType"
|
||||
:source-currency-id="this.transaction.source_account_currency_id"
|
||||
v-on="$listeners"
|
||||
:destination-currency-id="this.transaction.destination_account_currency_id"
|
||||
:selected-currency-id="this.transaction.foreign_currency_id"
|
||||
:index="index"
|
||||
:selected-currency-id="this.transaction.foreign_currency_id"
|
||||
:source-currency-id="this.transaction.source_account_currency_id"
|
||||
:transaction-type="this.transactionType"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-xl-5 col-lg-5 col-md-12 col-sm-12 col-xs-12">
|
||||
@ -112,14 +119,14 @@
|
||||
currency id is submitted to Firefly III.
|
||||
-->
|
||||
<TransactionForeignAmount
|
||||
:index="index"
|
||||
v-on="$listeners"
|
||||
:errors="transaction.errors.foreign_amount"
|
||||
v-model="transaction.foreign_amount"
|
||||
:transaction-type="this.transactionType"
|
||||
:source-currency-id="this.transaction.source_account_currency_id"
|
||||
v-on="$listeners"
|
||||
:destination-currency-id="this.transaction.destination_account_currency_id"
|
||||
:errors="transaction.errors.foreign_amount"
|
||||
:index="index"
|
||||
:selected-currency-id="this.transaction.foreign_currency_id"
|
||||
:source-currency-id="this.transaction.source_account_currency_id"
|
||||
:transaction-type="this.transactionType"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@ -128,26 +135,26 @@
|
||||
<div class="row">
|
||||
<div class="col-xl-5 col-lg-5 col-md-12 col-sm-12 col-xs-12">
|
||||
<TransactionDate
|
||||
:index="index"
|
||||
v-on="$listeners"
|
||||
:date="splitDate"
|
||||
:time="splitTime"
|
||||
:errors="transaction.errors.date"
|
||||
:index="index"
|
||||
:time="splitTime"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="col-xl-5 col-lg-5 col-md-12 col-sm-12 col-xs-12 offset-xl-2 offset-lg-2">
|
||||
<TransactionCustomDates
|
||||
:index="index"
|
||||
v-on="$listeners"
|
||||
:custom-fields.sync="customFields"
|
||||
:errors="transaction.errors.custom_dates"
|
||||
:interest-date="transaction.interest_date"
|
||||
:book-date="transaction.book_date"
|
||||
:process-date="transaction.process_date"
|
||||
:custom-fields.sync="customFields"
|
||||
:due-date="transaction.due_date"
|
||||
:payment-date="transaction.payment_date"
|
||||
:errors="transaction.errors.custom_dates"
|
||||
:index="index"
|
||||
:interest-date="transaction.interest_date"
|
||||
:invoice-date="transaction.invoice_date"
|
||||
:payment-date="transaction.payment_date"
|
||||
:process-date="transaction.process_date"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@ -174,39 +181,39 @@
|
||||
<div class="row">
|
||||
<div class="col-xl-6 col-lg-6 col-md-12 col-sm-12 col-xs-12">
|
||||
<TransactionBudget
|
||||
v-on="$listeners"
|
||||
v-model="transaction.budget_id"
|
||||
:index="index"
|
||||
:errors="transaction.errors.budget"
|
||||
v-if="!('Transfer' === transactionType || 'Deposit' === transactionType)"
|
||||
v-model="transaction.budget_id"
|
||||
v-on="$listeners"
|
||||
:errors="transaction.errors.budget"
|
||||
:index="index"
|
||||
/>
|
||||
<TransactionCategory
|
||||
v-on="$listeners"
|
||||
v-model="transaction.category"
|
||||
:index="index"
|
||||
v-on="$listeners"
|
||||
:errors="transaction.errors.category"
|
||||
:index="index"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-xl-6 col-lg-6 col-md-12 col-sm-12 col-xs-12">
|
||||
<TransactionBill
|
||||
v-on="$listeners"
|
||||
v-model="transaction.bill_id"
|
||||
:index="index"
|
||||
:errors="transaction.errors.bill"
|
||||
v-if="!('Transfer' === transactionType || 'Deposit' === transactionType)"
|
||||
v-model="transaction.bill_id"
|
||||
v-on="$listeners"
|
||||
:errors="transaction.errors.bill"
|
||||
:index="index"
|
||||
/>
|
||||
<TransactionTags
|
||||
v-on="$listeners"
|
||||
:index="index"
|
||||
v-model="transaction.tags"
|
||||
v-on="$listeners"
|
||||
:errors="transaction.errors.tags"
|
||||
:index="index"
|
||||
/>
|
||||
<TransactionPiggyBank
|
||||
v-on="$listeners"
|
||||
:index="index"
|
||||
v-model="transaction.piggy_bank_id"
|
||||
:errors="transaction.errors.piggy_bank"
|
||||
v-if="!('Withdrawal' === transactionType || 'Deposit' === transactionType)"
|
||||
v-model="transaction.piggy_bank_id"
|
||||
v-on="$listeners"
|
||||
:errors="transaction.errors.piggy_bank"
|
||||
:index="index"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@ -216,7 +223,7 @@
|
||||
</div>
|
||||
<!-- end card for meta -->
|
||||
<!-- card for extra -->
|
||||
<div class="row" v-if="hasMetaFields">
|
||||
<div v-if="hasMetaFields" class="row">
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
@ -231,52 +238,52 @@
|
||||
<div class="col-xl-6 col-lg-6 col-md-12 col-sm-12 col-xs-12">
|
||||
|
||||
<TransactionInternalReference
|
||||
v-on="$listeners"
|
||||
:index="index"
|
||||
v-model="transaction.internal_reference"
|
||||
:errors="transaction.errors.internal_reference"
|
||||
v-on="$listeners"
|
||||
:custom-fields.sync="customFields"
|
||||
:errors="transaction.errors.internal_reference"
|
||||
:index="index"
|
||||
/>
|
||||
|
||||
<TransactionExternalUrl
|
||||
v-on="$listeners"
|
||||
:index="index"
|
||||
v-model="transaction.external_url"
|
||||
:errors="transaction.errors.external_url"
|
||||
v-on="$listeners"
|
||||
:custom-fields.sync="customFields"
|
||||
:errors="transaction.errors.external_url"
|
||||
:index="index"
|
||||
/>
|
||||
<TransactionNotes
|
||||
v-on="$listeners"
|
||||
:index="index"
|
||||
v-model="transaction.notes"
|
||||
:errors="transaction.errors.notes"
|
||||
v-on="$listeners"
|
||||
:custom-fields.sync="customFields"
|
||||
:errors="transaction.errors.notes"
|
||||
:index="index"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-xl-6 col-lg-6 col-md-12 col-sm-12 col-xs-12">
|
||||
|
||||
<TransactionAttachments
|
||||
:index="index"
|
||||
ref="attachments"
|
||||
v-on="$listeners"
|
||||
:transaction_journal_id="transaction.transaction_journal_id"
|
||||
:submitted_transaction="submittedTransaction"
|
||||
v-model="transaction.attachments"
|
||||
v-on="$listeners"
|
||||
:custom-fields.sync="customFields"
|
||||
:index="index"
|
||||
:submitted_transaction="submittedTransaction"
|
||||
:transaction_journal_id="transaction.transaction_journal_id"
|
||||
/>
|
||||
<TransactionLocation
|
||||
v-on="$listeners"
|
||||
:index="index"
|
||||
v-model="transaction.notes"
|
||||
:errors="transaction.errors.location"
|
||||
v-on="$listeners"
|
||||
:custom-fields.sync="customFields"
|
||||
:errors="transaction.errors.location"
|
||||
:index="index"
|
||||
/>
|
||||
|
||||
<TransactionLinks
|
||||
v-on="$listeners"
|
||||
:index="index"
|
||||
v-model="transaction.links"
|
||||
v-on="$listeners"
|
||||
:custom-fields.sync="customFields"
|
||||
:index="index"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@ -312,11 +319,8 @@ import TransactionNotes from "./TransactionNotes";
|
||||
import TransactionLinks from "./TransactionLinks";
|
||||
import TransactionAttachments from "./TransactionAttachments";
|
||||
import SplitPills from "./SplitPills";
|
||||
import {createNamespacedHelpers} from "vuex";
|
||||
import TransactionLocation from "./TransactionLocation";
|
||||
|
||||
const {mapState, mapGetters, mapActions, mapMutations} = createNamespacedHelpers('transactions/create')
|
||||
|
||||
export default {
|
||||
name: "SplitForm",
|
||||
props: [
|
||||
@ -325,8 +329,19 @@ export default {
|
||||
'count',
|
||||
'customFields', // for custom transaction form fields.
|
||||
'index',
|
||||
'submittedTransaction' // need to know if transaction is submitted.
|
||||
'date',
|
||||
'time',
|
||||
'transactionType',
|
||||
'submittedTransaction', // need to know if transaction is submitted.
|
||||
'sourceAllowedTypes', // allowed source account types.
|
||||
'destinationAllowedTypes',
|
||||
'allowedOpposingTypes'
|
||||
],
|
||||
// watch: {
|
||||
// allowedOpposingTypes: function() {
|
||||
// console.log('SplitForm noticed change in allowedOpposingTypes');
|
||||
// }
|
||||
// },
|
||||
methods: {
|
||||
removeTransaction: function () {
|
||||
// console.log('Will remove transaction ' + this.index);
|
||||
@ -334,7 +349,6 @@ export default {
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['transactionType', 'date', 'time']),
|
||||
splitDate: function () {
|
||||
return this.date;
|
||||
},
|
||||
|
@ -19,7 +19,7 @@
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div class="row" v-if="transactions.length > 1">
|
||||
<div v-if="transactions.length > 1" class="row">
|
||||
<div class="col">
|
||||
<!-- tabs -->
|
||||
<ul class="nav nav-pills ml-auto p-2">
|
||||
|
@ -21,10 +21,10 @@
|
||||
<template>
|
||||
<div class="form-group">
|
||||
<div class="text-xs d-none d-lg-block d-xl-block">
|
||||
<span class="text-muted" v-if="'any' !== this.transactionType">
|
||||
<span v-if="'any' !== this.transactionType" class="text-muted">
|
||||
{{ $t('firefly.' + this.transactionType) }}
|
||||
</span>
|
||||
<span class="text-muted" v-if="'any' === this.transactionType"> </span>
|
||||
<span v-if="'any' === this.transactionType" class="text-muted"> </span>
|
||||
</div>
|
||||
<div class="btn-group d-flex">
|
||||
<button class="btn btn-light" @click="switchAccounts">↔</button>
|
||||
@ -33,27 +33,13 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import {createNamespacedHelpers} from "vuex";
|
||||
|
||||
const {mapState, mapGetters, mapActions, mapMutations} = createNamespacedHelpers('transactions/create')
|
||||
|
||||
export default {
|
||||
name: "SwitchAccount",
|
||||
props: ['index'],
|
||||
props: ['index', 'transactionType'],
|
||||
methods: {
|
||||
...mapMutations(
|
||||
[
|
||||
'updateField',
|
||||
],
|
||||
),
|
||||
|
||||
switchAccounts() {
|
||||
this.$emit('switch-accounts', this.index);
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['transactionType']),
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
@ -20,39 +20,39 @@
|
||||
|
||||
<template>
|
||||
<div class="form-group">
|
||||
<div class="text-xs d-none d-lg-block d-xl-block" v-if="visible">
|
||||
<div v-if="visible" class="text-xs d-none d-lg-block d-xl-block">
|
||||
<span v-if="0 === this.index">{{ $t('firefly.' + this.direction + '_account') }}</span>
|
||||
<span class="text-warning" v-if="this.index > 0">{{ $t('firefly.first_split_overrules_' + this.direction) }}</span>
|
||||
<span v-if="this.index > 0" class="text-warning">{{ $t('firefly.first_split_overrules_' + this.direction) }}</span>
|
||||
</div>
|
||||
<div class="text-xs d-none d-lg-block d-xl-block" v-if="!visible">
|
||||
<div v-if="!visible" class="text-xs d-none d-lg-block d-xl-block">
|
||||
|
||||
</div>
|
||||
<vue-typeahead-bootstrap
|
||||
v-if="visible"
|
||||
v-model="accountName"
|
||||
:data="accounts"
|
||||
:showOnFocus=true
|
||||
:inputClass="errors.length > 0 ? 'is-invalid' : ''"
|
||||
:inputName="direction + '[]'"
|
||||
:serializer="item => item.name_with_balance"
|
||||
:minMatchingChars="3"
|
||||
:placeholder="$t('firefly.' + direction + '_account')"
|
||||
@input="lookupAccount"
|
||||
:serializer="item => item.name_with_balance"
|
||||
:showOnFocus=true
|
||||
@hit="selectedAccount = $event"
|
||||
@input="lookupAccount"
|
||||
>
|
||||
|
||||
<template slot="suggestion" slot-scope="{ data, htmlText }">
|
||||
<div class="d-flex" :title="data.type">
|
||||
<div :title="data.type" class="d-flex">
|
||||
<span v-html="htmlText"></span><br>
|
||||
</div>
|
||||
</template>
|
||||
<template slot="append">
|
||||
<div class="input-group-append">
|
||||
<button tabindex="-1" class="btn btn-outline-secondary" v-on:click="clearAccount" type="button"><i class="far fa-trash-alt"></i></button>
|
||||
<button class="btn btn-outline-secondary" tabindex="-1" type="button" v-on:click="clearAccount"><i class="far fa-trash-alt"></i></button>
|
||||
</div>
|
||||
</template>
|
||||
</vue-typeahead-bootstrap>
|
||||
<div class="form-control-static" v-if="!visible">
|
||||
<div v-if="!visible" class="form-control-static">
|
||||
<span class="small text-muted"><em>{{ $t('firefly.first_split_decides') }}</em></span>
|
||||
</div>
|
||||
<span v-if="errors.length > 0">
|
||||
@ -65,14 +65,19 @@
|
||||
|
||||
import VueTypeaheadBootstrap from 'vue-typeahead-bootstrap';
|
||||
import {debounce} from 'lodash';
|
||||
import {createNamespacedHelpers} from "vuex";
|
||||
|
||||
const {mapState, mapGetters, mapActions, mapMutations} = createNamespacedHelpers('transactions/create')
|
||||
|
||||
export default {
|
||||
name: "TransactionAccount",
|
||||
components: {VueTypeaheadBootstrap},
|
||||
props: ['index', 'direction', 'value', 'errors'],
|
||||
props: [
|
||||
'index',
|
||||
'direction',
|
||||
'value',
|
||||
'errors',
|
||||
'sourceAllowedTypes',
|
||||
'destinationAllowedTypes',
|
||||
'allowedOpposingTypes'
|
||||
],
|
||||
data() {
|
||||
return {
|
||||
query: '',
|
||||
@ -89,13 +94,6 @@ export default {
|
||||
this.createInitialSet();
|
||||
},
|
||||
methods: {
|
||||
...mapMutations(
|
||||
[
|
||||
'updateField',
|
||||
'setDestinationAllowedTypes',
|
||||
'setSourceAllowedTypes'
|
||||
],
|
||||
),
|
||||
getACURL: function (types, query) {
|
||||
return './api/v1/autocomplete/accounts?types=' + types.join(',') + '&query=' + query;
|
||||
},
|
||||
@ -110,6 +108,8 @@ export default {
|
||||
// set the types from the default types for this direction:
|
||||
this.accountTypes = 'source' === this.direction ? this.sourceAllowedTypes : this.destinationAllowedTypes;
|
||||
}
|
||||
// console.log(this.direction + ': Will search for types:');
|
||||
// console.log(this.accountTypes);
|
||||
|
||||
// update autocomplete URL:
|
||||
axios.get(this.getACURL(this.accountTypes, this.accountName))
|
||||
@ -125,6 +125,8 @@ export default {
|
||||
if ('destination' === this.direction) {
|
||||
types = this.destinationAllowedTypes;
|
||||
}
|
||||
// console.log(this.direction + ' initial set searches for');
|
||||
// console.log(types);
|
||||
|
||||
axios.get(this.getACURL(types, ''))
|
||||
.then(response => {
|
||||
@ -134,8 +136,20 @@ export default {
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
// allowedOpposingTypes: function () {
|
||||
// console.log(this.direction + ' account noticed change in allowedOpposingTypes');
|
||||
// },
|
||||
sourceAllowedTypes: function (value) {
|
||||
// console.log(this.direction + ' account noticed change in sourceAllowedTypes');
|
||||
// console.log(value);
|
||||
this.createInitialSet();
|
||||
},
|
||||
destinationAllowedTypes: function (value) {
|
||||
// console.log(this.direction + ' account noticed change in destinationAllowedTypes');
|
||||
// console.log(value);
|
||||
this.createInitialSet();
|
||||
},
|
||||
selectedAccount: function (value) {
|
||||
// console.log('Emit on selected account');
|
||||
this.selectedAccountTrigger = true;
|
||||
this.account = value;
|
||||
|
||||
@ -183,10 +197,10 @@ export default {
|
||||
}
|
||||
|
||||
if ('source' === this.direction) {
|
||||
this.setDestinationAllowedTypes(opposingAccounts);
|
||||
this.$emit('set-dest-types', opposingAccounts);
|
||||
}
|
||||
if ('destination' === this.direction) {
|
||||
this.setSourceAllowedTypes(opposingAccounts);
|
||||
this.$emit('set-src-types', opposingAccounts);
|
||||
}
|
||||
},
|
||||
value: function (value) {
|
||||
@ -199,53 +213,15 @@ export default {
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapGetters([
|
||||
'transactionType',
|
||||
'sourceAllowedTypes',
|
||||
'destinationAllowedTypes',
|
||||
'allowedOpposingTypes'
|
||||
]),
|
||||
// 'transactionType',
|
||||
// 'sourceAllowedTypes',
|
||||
// 'destinationAllowedTypes',
|
||||
// 'allowedOpposingTypes'
|
||||
accountKey: {
|
||||
get() {
|
||||
return 'source' === this.direction ? 'source_account' : 'destination_account';
|
||||
}
|
||||
},
|
||||
emitAccountId: {
|
||||
get() {
|
||||
return 'set-' + this.direction + '-account-id';
|
||||
}
|
||||
},
|
||||
emitAccount: {
|
||||
get() {
|
||||
return 'set-' + this.direction + '-account';
|
||||
}
|
||||
},
|
||||
emitAccountName: {
|
||||
get() {
|
||||
return 'set-' + this.direction + '-account-name';
|
||||
}
|
||||
},
|
||||
emitAccountType: {
|
||||
get() {
|
||||
return 'set-' + this.direction + '-account-type';
|
||||
}
|
||||
},
|
||||
emitAccountCurrencyId: {
|
||||
get() {
|
||||
return 'set-' + this.direction + '-account-currency-id';
|
||||
}
|
||||
},
|
||||
emitAccountCurrencyCode: {
|
||||
get() {
|
||||
return 'set-' + this.direction + '-account-currency-code';
|
||||
}
|
||||
},
|
||||
emitAccountCurrencySymbol: {
|
||||
get() {
|
||||
return 'set-' + this.direction + '-account-currency-symbol';
|
||||
}
|
||||
},
|
||||
|
||||
visible: {
|
||||
get() {
|
||||
// index 0 is always visible:
|
||||
|
@ -22,17 +22,17 @@
|
||||
<div class="form-group">
|
||||
<div class="text-xs">{{ $t('firefly.amount') }}</div>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend" v-if="currencySymbol">
|
||||
<div v-if="currencySymbol" class="input-group-prepend">
|
||||
<div class="input-group-text">{{ currencySymbol }}</div>
|
||||
</div>
|
||||
<input
|
||||
v-model="transactionAmount"
|
||||
:class="errors.length > 0 ? 'form-control is-invalid' : 'form-control'"
|
||||
:placeholder="$t('firefly.amount')"
|
||||
:title="$t('firefly.amount')"
|
||||
autocomplete="off"
|
||||
:class="errors.length > 0 ? 'form-control is-invalid' : 'form-control'"
|
||||
name="amount[]"
|
||||
type="number"
|
||||
v-model="transactionAmount"
|
||||
:placeholder="$t('firefly.amount')"
|
||||
>
|
||||
</div>
|
||||
<span v-if="errors.length > 0">
|
||||
|
@ -19,17 +19,17 @@
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div class="form-group" v-if="showField">
|
||||
<div v-if="showField" class="form-group">
|
||||
<div class="text-xs d-none d-lg-block d-xl-block">
|
||||
{{ $t('firefly.attachments') }}
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<input
|
||||
type="file"
|
||||
multiple
|
||||
ref="att"
|
||||
name="attachments[]"
|
||||
class="form-control"
|
||||
multiple
|
||||
name="attachments[]"
|
||||
type="file"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -26,14 +26,14 @@
|
||||
<div class="input-group">
|
||||
<select
|
||||
ref="bill"
|
||||
:title="$t('firefly.bill')"
|
||||
v-model="bill"
|
||||
autocomplete="off"
|
||||
:class="errors.length > 0 ? 'form-control is-invalid' : 'form-control'"
|
||||
:title="$t('firefly.bill')"
|
||||
autocomplete="off"
|
||||
name="bill_id[]"
|
||||
v-on:submit.prevent
|
||||
>
|
||||
<option v-for="bill in this.billList" :value="bill.id" :label="bill.name">{{ bill.name }}</option>
|
||||
<option v-for="bill in this.billList" :label="bill.name" :value="bill.id">{{ bill.name }}</option>
|
||||
|
||||
</select>
|
||||
</div>
|
||||
|
@ -26,14 +26,14 @@
|
||||
<div class="input-group">
|
||||
<select
|
||||
ref="budget"
|
||||
:title="$t('firefly.budget')"
|
||||
v-model="budget"
|
||||
autocomplete="off"
|
||||
:class="errors.length > 0 ? 'form-control is-invalid' : 'form-control'"
|
||||
:title="$t('firefly.budget')"
|
||||
autocomplete="off"
|
||||
name="budget_id[]"
|
||||
v-on:submit.prevent
|
||||
>
|
||||
<option v-for="budget in this.budgetList" :value="budget.id" :label="budget.name">{{ budget.name }}</option>
|
||||
<option v-for="budget in this.budgetList" :label="budget.name" :value="budget.id">{{ budget.name }}</option>
|
||||
</select>
|
||||
</div>
|
||||
<span v-if="errors.length > 0">
|
||||
|
@ -25,20 +25,20 @@
|
||||
</div>
|
||||
|
||||
<vue-typeahead-bootstrap
|
||||
inputName="category[]"
|
||||
v-model="category"
|
||||
:data="categories"
|
||||
:placeholder="$t('firefly.category')"
|
||||
:showOnFocus=true
|
||||
:inputClass="errors.length > 0 ? 'is-invalid' : ''"
|
||||
:minMatchingChars="3"
|
||||
:placeholder="$t('firefly.category')"
|
||||
:serializer="item => item.name"
|
||||
:showOnFocus=true
|
||||
inputName="category[]"
|
||||
@hit="selectedCategory = $event"
|
||||
@input="lookupCategory"
|
||||
>
|
||||
<template slot="append">
|
||||
<div class="input-group-append">
|
||||
<button tabindex="-1" v-on:click="clearCategory" class="btn btn-outline-secondary" type="button"><i class="far fa-trash-alt"></i></button>
|
||||
<button class="btn btn-outline-secondary" tabindex="-1" type="button" v-on:click="clearCategory"><i class="far fa-trash-alt"></i></button>
|
||||
</div>
|
||||
</template>
|
||||
</vue-typeahead-bootstrap>
|
||||
|
@ -20,21 +20,21 @@
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div class="form-group" v-for="(enabled, name) in availableFields">
|
||||
<div class="text-xs d-none d-lg-block d-xl-block" v-if="enabled && isDateField(name)">
|
||||
<div v-for="(enabled, name) in availableFields" class="form-group">
|
||||
<div v-if="enabled && isDateField(name)" class="text-xs d-none d-lg-block d-xl-block">
|
||||
{{ $t('form.' + name) }}
|
||||
</div>
|
||||
<div class="input-group" v-if="enabled && isDateField(name)">
|
||||
<div v-if="enabled && isDateField(name)" class="input-group">
|
||||
<input
|
||||
class="form-control"
|
||||
type="date"
|
||||
:ref="name"
|
||||
:title="$t('form.' + name)"
|
||||
:value="getFieldValue(name)"
|
||||
@change="setFieldValue($event, name)"
|
||||
autocomplete="off"
|
||||
:name="name + '[]'"
|
||||
:placeholder="$t('form.' + name)"
|
||||
:title="$t('form.' + name)"
|
||||
:value="getFieldValue(name)"
|
||||
autocomplete="off"
|
||||
class="form-control"
|
||||
type="date"
|
||||
@change="setFieldValue($event, name)"
|
||||
v-on:submit.prevent
|
||||
>
|
||||
</div>
|
||||
@ -75,22 +75,22 @@ export default {
|
||||
customFields: function (value) {
|
||||
this.availableFields = value;
|
||||
},
|
||||
interestDate: function(value) {
|
||||
interestDate: function (value) {
|
||||
this.dates.interest_date = value;
|
||||
},
|
||||
bookDate: function(value) {
|
||||
bookDate: function (value) {
|
||||
this.dates.book_date = value;
|
||||
},
|
||||
processDate: function(value) {
|
||||
processDate: function (value) {
|
||||
this.dates.process_date = value;
|
||||
},
|
||||
dueDate: function(value) {
|
||||
dueDate: function (value) {
|
||||
this.dates.due_date = value;
|
||||
},
|
||||
paymentDate: function(value) {
|
||||
paymentDate: function (value) {
|
||||
this.dates.payment_date = value;
|
||||
},
|
||||
invoiceDate: function(value) {
|
||||
invoiceDate: function (value) {
|
||||
this.dates.invoice_date = value;
|
||||
},
|
||||
},
|
||||
|
@ -25,26 +25,26 @@
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<input
|
||||
:class="errors.length > 0 ? 'form-control is-invalid' : 'form-control'"
|
||||
type="date"
|
||||
ref="date"
|
||||
:title="$t('firefly.date')"
|
||||
v-model="dateStr"
|
||||
:class="errors.length > 0 ? 'form-control is-invalid' : 'form-control'"
|
||||
:disabled="index > 0"
|
||||
:placeholder="dateStr"
|
||||
:title="$t('firefly.date')"
|
||||
autocomplete="off"
|
||||
name="date[]"
|
||||
:placeholder="dateStr"
|
||||
type="date"
|
||||
>
|
||||
<input
|
||||
:class="errors.length > 0 ? 'form-control is-invalid' : 'form-control'"
|
||||
type="time"
|
||||
ref="time"
|
||||
:title="$t('firefly.time')"
|
||||
v-model="timeStr"
|
||||
:class="errors.length > 0 ? 'form-control is-invalid' : 'form-control'"
|
||||
:disabled="index > 0"
|
||||
:placeholder="timeStr"
|
||||
:title="$t('firefly.time')"
|
||||
autocomplete="off"
|
||||
name="time[]"
|
||||
:placeholder="timeStr"
|
||||
type="time"
|
||||
>
|
||||
</div>
|
||||
<span v-if="errors.length > 0">
|
||||
|
@ -21,20 +21,20 @@
|
||||
<template>
|
||||
<div class="form-group">
|
||||
<vue-typeahead-bootstrap
|
||||
inputName="description[]"
|
||||
v-model="description"
|
||||
:data="descriptions"
|
||||
:placeholder="$t('firefly.description')"
|
||||
:showOnFocus=true
|
||||
autofocus
|
||||
:inputClass="errors.length > 0 ? 'is-invalid' : ''"
|
||||
:minMatchingChars="3"
|
||||
:placeholder="$t('firefly.description')"
|
||||
:serializer="item => item.description"
|
||||
:showOnFocus=true
|
||||
autofocus
|
||||
inputName="description[]"
|
||||
@input="lookupDescription"
|
||||
>
|
||||
<template slot="append">
|
||||
<div class="input-group-append">
|
||||
<button tabindex="-1" v-on:click="clearDescription" class="btn btn-outline-secondary" type="button"><i class="far fa-trash-alt"></i></button>
|
||||
<button class="btn btn-outline-secondary" tabindex="-1" type="button" v-on:click="clearDescription"><i class="far fa-trash-alt"></i></button>
|
||||
</div>
|
||||
</template>
|
||||
</vue-typeahead-bootstrap>
|
||||
|
@ -19,20 +19,20 @@
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div class="form-group" v-if="showField">
|
||||
<div v-if="showField" class="form-group">
|
||||
<div class="text-xs d-none d-lg-block d-xl-block">
|
||||
{{ $t('firefly.external_url') }}
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<input
|
||||
type="url"
|
||||
name="external_url[]"
|
||||
:placeholder="$t('firefly.external_url')"
|
||||
v-model="url"
|
||||
:class="errors.length > 0 ? 'form-control is-invalid' : 'form-control'"
|
||||
:placeholder="$t('firefly.external_url')"
|
||||
name="external_url[]"
|
||||
type="url"
|
||||
/>
|
||||
<div class="input-group-append">
|
||||
<button tabindex="-1" type="button" class="btn btn-outline-secondary"><i class="far fa-trash-alt"></i></button>
|
||||
<button class="btn btn-outline-secondary" tabindex="-1" type="button"><i class="far fa-trash-alt"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -20,17 +20,17 @@
|
||||
|
||||
<template>
|
||||
<!-- FOREIGN AMOUNT -->
|
||||
<div class="form-group" v-if="isVisible">
|
||||
<div v-if="isVisible" class="form-group">
|
||||
<div class="text-xs">{{ $t('form.foreign_amount') }}</div>
|
||||
<div class="input-group">
|
||||
<input
|
||||
v-model="amount"
|
||||
:class="errors.length > 0 ? 'form-control is-invalid' : 'form-control'"
|
||||
:placeholder="$t('form.foreign_amount')"
|
||||
:title="$t('form.foreign_amount')"
|
||||
autocomplete="off"
|
||||
:class="errors.length > 0 ? 'form-control is-invalid' : 'form-control'"
|
||||
name="foreign_amount[]"
|
||||
type="number"
|
||||
v-model="amount"
|
||||
:placeholder="$t('form.foreign_amount')"
|
||||
>
|
||||
</div>
|
||||
<span v-if="errors.length > 0">
|
||||
|
@ -20,10 +20,10 @@
|
||||
|
||||
<template>
|
||||
<!-- FOREIGN Currency -->
|
||||
<div class="form-group" v-if="isVisible">
|
||||
<div v-if="isVisible" class="form-group">
|
||||
<div class="text-xs"> </div>
|
||||
<div class="input-group">
|
||||
<select name="foreign_currency_id[]" v-model="selectedCurrency" class="form-control">
|
||||
<select v-model="selectedCurrency" class="form-control" name="foreign_currency_id[]">
|
||||
<option v-for="currency in selectableCurrencies" :label="currency.name" :value="currency.id">{{ currency.name }}</option>
|
||||
</select>
|
||||
</div>
|
||||
|
@ -24,19 +24,19 @@
|
||||
{{ $t('firefly.split_transaction_title') }}
|
||||
</div>
|
||||
<vue-typeahead-bootstrap
|
||||
inputName="group_title"
|
||||
v-model="title"
|
||||
:data="descriptions"
|
||||
:placeholder="$t('firefly.split_transaction_title')"
|
||||
:showOnFocus=true
|
||||
:minMatchingChars="3"
|
||||
:serializer="item => item.description"
|
||||
@input="lookupDescription"
|
||||
:inputClass="errors.length > 0 ? 'is-invalid' : ''"
|
||||
:minMatchingChars="3"
|
||||
:placeholder="$t('firefly.split_transaction_title')"
|
||||
:serializer="item => item.description"
|
||||
:showOnFocus=true
|
||||
inputName="group_title"
|
||||
@input="lookupDescription"
|
||||
>
|
||||
<template slot="append">
|
||||
<div class="input-group-append">
|
||||
<button tabindex="-1" v-on:click="clearDescription" class="btn btn-outline-secondary" type="button"><i class="far fa-trash-alt"></i></button>
|
||||
<button class="btn btn-outline-secondary" tabindex="-1" type="button" v-on:click="clearDescription"><i class="far fa-trash-alt"></i></button>
|
||||
</div>
|
||||
</template>
|
||||
</vue-typeahead-bootstrap>
|
||||
|
@ -19,20 +19,20 @@
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div class="form-group" v-if="showField">
|
||||
<div v-if="showField" class="form-group">
|
||||
<div class="text-xs d-none d-lg-block d-xl-block">
|
||||
{{ $t('firefly.internal_reference') }}
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<input
|
||||
type="text"
|
||||
name="internal_reference[]"
|
||||
v-model="reference"
|
||||
:placeholder="$t('firefly.internal_reference')"
|
||||
:class="errors.length > 0 ? 'form-control is-invalid' : 'form-control'"
|
||||
:placeholder="$t('firefly.internal_reference')"
|
||||
name="internal_reference[]"
|
||||
type="text"
|
||||
/>
|
||||
<div class="input-group-append">
|
||||
<button tabindex="-1" type="button" class="btn btn-outline-secondary"><i class="far fa-trash-alt"></i></button>
|
||||
<button class="btn btn-outline-secondary" tabindex="-1" type="button"><i class="far fa-trash-alt"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -57,8 +57,7 @@ export default {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
},
|
||||
methods: {},
|
||||
watch: {
|
||||
customFields: function (value) {
|
||||
this.availableFields = value;
|
||||
|
@ -27,10 +27,10 @@
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<p v-if="links.length === 0">
|
||||
<button data-toggle="modal" data-target="#linkModal" class="btn btn-default btn-xs"><i class="fas fa-plus"></i> Add transaction link</button>
|
||||
<button class="btn btn-default btn-xs" data-target="#linkModal" data-toggle="modal"><i class="fas fa-plus"></i> Add transaction link</button>
|
||||
</p>
|
||||
<ul class="list-group" v-if="links.length > 0">
|
||||
<li class="list-group-item" v-for="transaction in links">
|
||||
<ul v-if="links.length > 0" class="list-group">
|
||||
<li v-for="transaction in links" class="list-group-item">
|
||||
<em>{{ getTextForLinkType(transaction.link_type_id) }}</em>
|
||||
<a :href='"./transaction/show/" + transaction.transaction_group_id'>{{ transaction.description }}</a>
|
||||
|
||||
@ -59,24 +59,24 @@
|
||||
}}</span>)
|
||||
</span>
|
||||
<div class="btn-group btn-group-xs float-right">
|
||||
<a tabindex="-1" href="#" class="btn btn-xs btn-default"><i class="far fa-edit"></i></a>
|
||||
<a tabindex="-1" href="#" class="btn btn-xs btn-danger"><i class="far fa-trash-alt"></i></a>
|
||||
<a class="btn btn-xs btn-default" href="#" tabindex="-1"><i class="far fa-edit"></i></a>
|
||||
<a class="btn btn-xs btn-danger" href="#" tabindex="-1"><i class="far fa-trash-alt"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="form-text" v-if="links.length > 0">
|
||||
<button data-toggle="modal" data-target="#linkModal" class="btn btn-default"><i class="fas fa-plus"></i></button>
|
||||
<div v-if="links.length > 0" class="form-text">
|
||||
<button class="btn btn-default" data-target="#linkModal" data-toggle="modal"><i class="fas fa-plus"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- modal -->
|
||||
<div class="modal" tabindex="-1" id="linkModal">
|
||||
<div id="linkModal" class="modal" tabindex="-1">
|
||||
<div class="modal-dialog modal-lg">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Transaction thing dialog.</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<button aria-label="Close" class="close" data-dismiss="modal" type="button">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
@ -94,10 +94,10 @@
|
||||
<div class="col">
|
||||
<form v-on:submit.prevent="search">
|
||||
<div class="input-group">
|
||||
<input autocomplete="off" maxlength="255" type="text" name="search" v-model="query" id="query"
|
||||
class="form-control" placeholder="Search query">
|
||||
<input id="query" v-model="query" autocomplete="off" class="form-control" maxlength="255" name="search"
|
||||
placeholder="Search query" type="text">
|
||||
<div class="input-group-append">
|
||||
<button type="submit" class="btn btn-default"><i class="fas fa-search"></i> Search</button>
|
||||
<button class="btn btn-default" type="submit"><i class="fas fa-search"></i> Search</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
@ -107,28 +107,28 @@
|
||||
<div class="col">
|
||||
<span v-if="searching"><i class="fas fa-spinner fa-spin"></i></span>
|
||||
<h4 v-if="searchResults.length > 0">Search results</h4>
|
||||
<table class="table table-sm" v-if="searchResults.length > 0">
|
||||
<table v-if="searchResults.length > 0" class="table table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width:33%" colspan="2">Include?</th>
|
||||
<th colspan="2" style="width:33%">Include?</th>
|
||||
<th>Transaction</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="result in searchResults">
|
||||
<td>
|
||||
<input type="checkbox" class="form-control"
|
||||
<input v-model="result.selected" class="form-control"
|
||||
type="checkbox"
|
||||
@change="selectTransaction($event)"
|
||||
v-model="result.selected"
|
||||
/>
|
||||
</td>
|
||||
<td>
|
||||
<select
|
||||
@change="selectLinkType($event)"
|
||||
class="form-control"
|
||||
v-model="result.link_type_id"
|
||||
class="form-control"
|
||||
@change="selectLinkType($event)"
|
||||
>
|
||||
<option v-for="linkType in linkTypes" :value="linkType.id + '-' + linkType.direction" :label="linkType.type">{{
|
||||
<option v-for="linkType in linkTypes" :label="linkType.type" :value="linkType.id + '-' + linkType.direction">{{
|
||||
linkType.type
|
||||
}}
|
||||
</option>
|
||||
@ -175,7 +175,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
||||
<button class="btn btn-secondary" data-dismiss="modal" type="button">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -23,9 +23,9 @@
|
||||
<caption style="display:none;">{{ $t('firefly.transaction_table_description') }}</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" class="text-left">{{ $t('firefly.description') }}</th>
|
||||
<th class="text-left" scope="col">{{ $t('firefly.description') }}</th>
|
||||
<th scope="col">{{ $t('firefly.opposing_account') }}</th>
|
||||
<th scope="col" class="text-right">{{ $t('firefly.amount') }}</th>
|
||||
<th class="text-right" scope="col">{{ $t('firefly.amount') }}</th>
|
||||
<th scope="col">{{ $t('firefly.category') }}</th>
|
||||
<th scope="col">{{ $t('firefly.budget') }}</th>
|
||||
</tr>
|
||||
@ -40,10 +40,10 @@
|
||||
</td>
|
||||
<td>
|
||||
<span v-for="tr in transaction.attributes.transactions">
|
||||
<a :href="'accounts/show/' + tr.destination_id" v-if="'withdrawal' === tr.type">{{ tr.destination_name }}</a>
|
||||
<a :href="'accounts/show/' + tr.source_id" v-if="'deposit' === tr.type">{{ tr.source_name }}</a>
|
||||
<a :href="'accounts/show/' + tr.destination_id" v-if="'transfer' === tr.type && tr.source_id === account_id">{{ tr.destination_name }}</a>
|
||||
<a :href="'accounts/show/' + tr.source_id" v-if="'transfer' === tr.type && tr.destination_id === account_id">{{ tr.source_name }}</a>
|
||||
<a v-if="'withdrawal' === tr.type" :href="'accounts/show/' + tr.destination_id">{{ tr.destination_name }}</a>
|
||||
<a v-if="'deposit' === tr.type" :href="'accounts/show/' + tr.source_id">{{ tr.source_name }}</a>
|
||||
<a v-if="'transfer' === tr.type && tr.source_id === account_id" :href="'accounts/show/' + tr.destination_id">{{ tr.destination_name }}</a>
|
||||
<a v-if="'transfer' === tr.type && tr.destination_id === account_id" :href="'accounts/show/' + tr.source_id">{{ tr.source_name }}</a>
|
||||
<br/>
|
||||
</span>
|
||||
</td>
|
||||
@ -65,12 +65,12 @@
|
||||
</td>
|
||||
<td>
|
||||
<span v-for="tr in transaction.attributes.transactions">
|
||||
<a :href="'categories/show/' + tr.category_id" v-if="0!==tr.category_id">{{ tr.category_name }}</a><br/>
|
||||
<a v-if="0!==tr.category_id" :href="'categories/show/' + tr.category_id">{{ tr.category_name }}</a><br/>
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<span v-for="tr in transaction.attributes.transactions">
|
||||
<a :href="'budgets/show/' + tr.budget_id" v-if="0!==tr.budget_id">{{ tr.budget_name }}</a><br/>
|
||||
<a v-if="0!==tr.budget_id" :href="'budgets/show/' + tr.budget_id">{{ tr.budget_name }}</a><br/>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -23,9 +23,9 @@
|
||||
<caption style="display:none;">{{ $t('firefly.transaction_table_description') }}</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" class="text-left">{{ $t('firefly.description') }}</th>
|
||||
<th class="text-left" scope="col">{{ $t('firefly.description') }}</th>
|
||||
<th scope="col">{{ $t('firefly.opposing_account') }}</th>
|
||||
<th scope="col" class="text-right">{{ $t('firefly.amount') }}</th>
|
||||
<th class="text-right" scope="col">{{ $t('firefly.amount') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@ -38,10 +38,10 @@
|
||||
</td>
|
||||
<td>
|
||||
<span v-for="tr in transaction.attributes.transactions">
|
||||
<a :href="'accounts/show/' + tr.destination_id" v-if="'withdrawal' === tr.type">{{ tr.destination_name }}</a>
|
||||
<a :href="'accounts/show/' + tr.source_id" v-if="'deposit' === tr.type">{{ tr.source_name }}</a>
|
||||
<a :href="'accounts/show/' + tr.destination_id" v-if="'transfer' === tr.type && tr.source_id === account_id">{{ tr.destination_name }}</a>
|
||||
<a :href="'accounts/show/' + tr.source_id" v-if="'transfer' === tr.type && tr.destination_id === account_id">{{ tr.source_name }}</a>
|
||||
<a v-if="'withdrawal' === tr.type" :href="'accounts/show/' + tr.destination_id">{{ tr.destination_name }}</a>
|
||||
<a v-if="'deposit' === tr.type" :href="'accounts/show/' + tr.source_id">{{ tr.source_name }}</a>
|
||||
<a v-if="'transfer' === tr.type && tr.source_id === account_id" :href="'accounts/show/' + tr.destination_id">{{ tr.destination_name }}</a>
|
||||
<a v-if="'transfer' === tr.type && tr.destination_id === account_id" :href="'accounts/show/' + tr.source_id">{{ tr.source_name }}</a>
|
||||
<br/>
|
||||
</span>
|
||||
</td>
|
||||
|
@ -23,14 +23,15 @@
|
||||
<caption style="display:none;">{{ $t('firefly.transaction_table_description') }}</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" class="text-left">{{ $t('firefly.description') }}</th>
|
||||
<th scope="col" class="text-right">{{ $t('firefly.amount') }}</th>
|
||||
<th class="text-left" scope="col">{{ $t('firefly.description') }}</th>
|
||||
<th class="text-right" scope="col">{{ $t('firefly.amount') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="transaction in this.transactions">
|
||||
<td>
|
||||
<a :href="'transactions/show/' + transaction.id " :title="new Intl.DateTimeFormat(locale, { year: 'numeric', month: 'long', day: 'numeric' }).format(new Date(transaction.attributes.transactions[0].date))">
|
||||
<a :href="'transactions/show/' + transaction.id "
|
||||
:title="new Intl.DateTimeFormat(locale, { year: 'numeric', month: 'long', day: 'numeric' }).format(new Date(transaction.attributes.transactions[0].date))">
|
||||
<span v-if="transaction.attributes.transactions.length > 1">{{ transaction.attributes.group_title }}</span>
|
||||
<span v-if="1===transaction.attributes.transactions.length">{{ transaction.attributes.transactions[0].description }}</span>
|
||||
</a>
|
||||
@ -67,8 +68,7 @@ export default {
|
||||
created() {
|
||||
this.locale = localStorage.locale ?? 'en-US';
|
||||
},
|
||||
methods: {
|
||||
},
|
||||
methods: {},
|
||||
props: {
|
||||
transactions: {
|
||||
type: Array,
|
||||
|
@ -19,16 +19,16 @@
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div class="form-group" v-if="showField">
|
||||
<div v-if="showField" class="form-group">
|
||||
<div class="text-xs d-none d-lg-block d-xl-block">
|
||||
{{ $t('firefly.location') }}
|
||||
</div>
|
||||
<div style="width:100%;height:300px;">
|
||||
<l-map
|
||||
style="width:100%;height:300px;"
|
||||
:zoom="zoom"
|
||||
ref="myMap" @ready="prepMap()"
|
||||
ref="myMap"
|
||||
:center="center"
|
||||
:zoom="zoom" style="width:100%;height:300px;"
|
||||
@ready="prepMap()"
|
||||
@update:zoom="zoomUpdated"
|
||||
@update:center="centerUpdated"
|
||||
@update:bounds="boundsUpdated"
|
||||
|
@ -20,7 +20,7 @@
|
||||
|
||||
<template>
|
||||
|
||||
<div class="form-group" v-if="showField">
|
||||
<div v-if="showField" class="form-group">
|
||||
<div class="text-xs d-none d-lg-block d-xl-block">
|
||||
{{ $t('firefly.notes') }}
|
||||
</div>
|
||||
|
@ -26,14 +26,14 @@
|
||||
<div class="input-group">
|
||||
<select
|
||||
ref="piggy_bank_id"
|
||||
:title="$t('firefly.piggy_bank')"
|
||||
v-model="piggy_bank_id"
|
||||
autocomplete="off"
|
||||
:class="errors.length > 0 ? 'form-control is-invalid' : 'form-control'"
|
||||
:title="$t('firefly.piggy_bank')"
|
||||
autocomplete="off"
|
||||
name="piggy_bank_id[]"
|
||||
v-on:submit.prevent
|
||||
>
|
||||
<option v-for="piggy in this.piggyList" :value="piggy.id" :label="piggy.name_with_balance">{{ piggy.name_with_balance }}</option>
|
||||
<option v-for="piggy in this.piggyList" :label="piggy.name_with_balance" :value="piggy.id">{{ piggy.name_with_balance }}</option>
|
||||
|
||||
</select>
|
||||
</div>
|
||||
|
@ -47,6 +47,8 @@
|
||||
"go_to_expenses": "\u041e\u0442\u0438\u0434\u0438 \u0432 \u0420\u0430\u0437\u0445\u043e\u0434\u0438",
|
||||
"go_to_bills": "\u0412\u0438\u0436 \u0441\u043c\u0435\u0442\u043a\u0438\u0442\u0435 \u0441\u0438",
|
||||
"bills": "\u0421\u043c\u0435\u0442\u043a\u0438",
|
||||
"last_thirty_days": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0442\u0435 \u0442\u0440\u0438\u0439\u0441\u0435\u0442 \u0434\u043d\u0438",
|
||||
"last_seven_days": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0442\u0435 \u0441\u0435\u0434\u0435\u043c \u0434\u043d\u0438",
|
||||
"go_to_piggies": "\u0412\u0438\u0436 \u043a\u0430\u0441\u0438\u0447\u043a\u0438\u0442\u0435 \u0441\u0438",
|
||||
"saved": "\u0417\u0430\u043f\u0438\u0441\u0430\u043d",
|
||||
"piggy_banks": "\u041a\u0430\u0441\u0438\u0447\u043a\u0438",
|
||||
|
@ -47,6 +47,8 @@
|
||||
"go_to_expenses": "Go to expenses",
|
||||
"go_to_bills": "P\u0159ej\u00edt k \u00fa\u010dt\u016fm",
|
||||
"bills": "\u00da\u010dty",
|
||||
"last_thirty_days": "Uplynul\u00fdch 30 dn\u00ed",
|
||||
"last_seven_days": "Uplynul\u00fdch 7 dn\u016f",
|
||||
"go_to_piggies": "P\u0159ej\u00edt k pokladni\u010dk\u00e1m",
|
||||
"saved": "Saved",
|
||||
"piggy_banks": "Pokladni\u010dky",
|
||||
|
@ -47,6 +47,8 @@
|
||||
"go_to_expenses": "Zu Ausgaben wechseln",
|
||||
"go_to_bills": "Rechnungen anzeigen",
|
||||
"bills": "Rechnungen",
|
||||
"last_thirty_days": "Letzte 30 Tage",
|
||||
"last_seven_days": "Letzte sieben Tage",
|
||||
"go_to_piggies": "Sparschweine anzeigen",
|
||||
"saved": "Gespeichert",
|
||||
"piggy_banks": "Sparschweine",
|
||||
|
@ -47,6 +47,8 @@
|
||||
"go_to_expenses": "\u03a0\u03b7\u03b3\u03b1\u03af\u03bd\u03b5\u03c4\u03b5 \u03c3\u03c4\u03b9\u03c2 \u03b4\u03b1\u03c0\u03ac\u03bd\u03b5\u03c2",
|
||||
"go_to_bills": "\u03a0\u03b7\u03b3\u03b1\u03af\u03bd\u03b5\u03c4\u03b5 \u03c3\u03c4\u03b1 \u03c0\u03ac\u03b3\u03b9\u03b1 \u03ad\u03be\u03bf\u03b4\u03b1",
|
||||
"bills": "\u03a0\u03ac\u03b3\u03b9\u03b1 \u03ad\u03be\u03bf\u03b4\u03b1",
|
||||
"last_thirty_days": "\u03a4\u03b5\u03bb\u03b5\u03c5\u03c4\u03b1\u03af\u03b5\u03c2 \u03c4\u03c1\u03b9\u03ac\u03bd\u03c4\u03b1 \u03b7\u03bc\u03ad\u03c1\u03b5\u03c2",
|
||||
"last_seven_days": "\u03a4\u03b5\u03bb\u03b5\u03c5\u03c4\u03b1\u03af\u03b5\u03c2 \u03b5\u03c0\u03c4\u03ac \u03b7\u03bc\u03ad\u03c1\u03b5\u03c2",
|
||||
"go_to_piggies": "\u03a0\u03b7\u03b3\u03b1\u03af\u03bd\u03b5\u03c4\u03b5 \u03c3\u03c4\u03bf\u03c5\u03c2 \u03ba\u03bf\u03c5\u03bc\u03c0\u03b1\u03c1\u03ac\u03b4\u03b5\u03c2 \u03c3\u03b1\u03c2",
|
||||
"saved": "\u0391\u03c0\u03bf\u03b8\u03b7\u03ba\u03b5\u03cd\u03c4\u03b7\u03ba\u03b5",
|
||||
"piggy_banks": "\u039a\u03bf\u03c5\u03bc\u03c0\u03b1\u03c1\u03ac\u03b4\u03b5\u03c2",
|
||||
|
@ -47,6 +47,8 @@
|
||||
"go_to_expenses": "Go to expenses",
|
||||
"go_to_bills": "Go to your bills",
|
||||
"bills": "Bills",
|
||||
"last_thirty_days": "Last thirty days",
|
||||
"last_seven_days": "Last seven days",
|
||||
"go_to_piggies": "Go to your piggy banks",
|
||||
"saved": "Saved",
|
||||
"piggy_banks": "Piggy banks",
|
||||
|
@ -47,6 +47,8 @@
|
||||
"go_to_expenses": "Go to expenses",
|
||||
"go_to_bills": "Go to your bills",
|
||||
"bills": "Bills",
|
||||
"last_thirty_days": "Last thirty days",
|
||||
"last_seven_days": "Last seven days",
|
||||
"go_to_piggies": "Go to your piggy banks",
|
||||
"saved": "Saved",
|
||||
"piggy_banks": "Piggy banks",
|
||||
|
@ -47,6 +47,8 @@
|
||||
"go_to_expenses": "Ir a gastos",
|
||||
"go_to_bills": "Ir a tus cuentas",
|
||||
"bills": "Facturas",
|
||||
"last_thirty_days": "\u00daltimos treinta d\u00edas",
|
||||
"last_seven_days": "\u00daltimos siete d\u00edas",
|
||||
"go_to_piggies": "Ir a tu hucha",
|
||||
"saved": "Guardado",
|
||||
"piggy_banks": "Huchas",
|
||||
|
@ -47,6 +47,8 @@
|
||||
"go_to_expenses": "Go to expenses",
|
||||
"go_to_bills": "Avaa omat laskut",
|
||||
"bills": "Laskut",
|
||||
"last_thirty_days": "Viimeiset 30 p\u00e4iv\u00e4\u00e4",
|
||||
"last_seven_days": "Viimeiset 7 p\u00e4iv\u00e4\u00e4",
|
||||
"go_to_piggies": "Tarkastele s\u00e4\u00e4st\u00f6possujasi",
|
||||
"saved": "Saved",
|
||||
"piggy_banks": "S\u00e4\u00e4st\u00f6possut",
|
||||
|
@ -47,6 +47,8 @@
|
||||
"go_to_expenses": "Aller aux d\u00e9penses",
|
||||
"go_to_bills": "G\u00e9rer vos factures",
|
||||
"bills": "Factures",
|
||||
"last_thirty_days": "Trente derniers jours",
|
||||
"last_seven_days": "7 Derniers Jours",
|
||||
"go_to_piggies": "G\u00e9rer vos tirelires",
|
||||
"saved": "Sauvegard\u00e9",
|
||||
"piggy_banks": "Tirelires",
|
||||
|
@ -47,6 +47,8 @@
|
||||
"go_to_expenses": "Ugr\u00e1s a kiad\u00e1sokra",
|
||||
"go_to_bills": "Ugr\u00e1s a sz\u00e1ml\u00e1khoz",
|
||||
"bills": "Sz\u00e1ml\u00e1k",
|
||||
"last_thirty_days": "Elm\u00falt harminc nap",
|
||||
"last_seven_days": "Utols\u00f3 h\u00e9t nap",
|
||||
"go_to_piggies": "Ugr\u00e1s a malacperselyekhez",
|
||||
"saved": "Mentve",
|
||||
"piggy_banks": "Malacperselyek",
|
||||
|
@ -47,6 +47,8 @@
|
||||
"go_to_expenses": "Vai alle spese",
|
||||
"go_to_bills": "Vai alle tue bollette",
|
||||
"bills": "Bollette",
|
||||
"last_thirty_days": "Ultimi trenta giorni",
|
||||
"last_seven_days": "Ultimi sette giorni",
|
||||
"go_to_piggies": "Vai ai tuoi salvadanai",
|
||||
"saved": "Salvata",
|
||||
"piggy_banks": "Salvadanai",
|
||||
|
@ -47,6 +47,8 @@
|
||||
"go_to_expenses": "Go to expenses",
|
||||
"go_to_bills": "G\u00e5 til regningene dine",
|
||||
"bills": "Regninger",
|
||||
"last_thirty_days": "Tredve siste dager",
|
||||
"last_seven_days": "Syv siste dager",
|
||||
"go_to_piggies": "G\u00e5 til sparegrisene dine",
|
||||
"saved": "Saved",
|
||||
"piggy_banks": "Sparegriser",
|
||||
|
@ -47,6 +47,8 @@
|
||||
"go_to_expenses": "Ga naar je uitgaven",
|
||||
"go_to_bills": "Ga naar je contracten",
|
||||
"bills": "Contracten",
|
||||
"last_thirty_days": "Laatste dertig dagen",
|
||||
"last_seven_days": "Laatste zeven dagen",
|
||||
"go_to_piggies": "Ga naar je spaarpotjes",
|
||||
"saved": "Opgeslagen",
|
||||
"piggy_banks": "Spaarpotjes",
|
||||
|
@ -47,6 +47,8 @@
|
||||
"go_to_expenses": "Przejd\u017a do wydatk\u00f3w",
|
||||
"go_to_bills": "Przejd\u017a do swoich rachunk\u00f3w",
|
||||
"bills": "Rachunki",
|
||||
"last_thirty_days": "Ostanie 30 dni",
|
||||
"last_seven_days": "Ostatnie 7 dni",
|
||||
"go_to_piggies": "Przejd\u017a do swoich skarbonek",
|
||||
"saved": "Zapisano",
|
||||
"piggy_banks": "Skarbonki",
|
||||
|
@ -47,6 +47,8 @@
|
||||
"go_to_expenses": "Ir para despesas",
|
||||
"go_to_bills": "V\u00e1 para suas contas",
|
||||
"bills": "Faturas",
|
||||
"last_thirty_days": "\u00daltimos 30 dias",
|
||||
"last_seven_days": "\u00daltimos sete dias",
|
||||
"go_to_piggies": "V\u00e1 para sua poupan\u00e7a",
|
||||
"saved": "Salvo",
|
||||
"piggy_banks": "Cofrinhos",
|
||||
|
@ -47,6 +47,8 @@
|
||||
"go_to_expenses": "Ir para despesas",
|
||||
"go_to_bills": "Ir para contas",
|
||||
"bills": "Contas",
|
||||
"last_thirty_days": "\u00daltimos trinta dias",
|
||||
"last_seven_days": "\u00daltimos sete dias",
|
||||
"go_to_piggies": "Ir para mealheiros",
|
||||
"saved": "Guardado",
|
||||
"piggy_banks": "Mealheiros",
|
||||
|
@ -47,6 +47,8 @@
|
||||
"go_to_expenses": "Go to expenses",
|
||||
"go_to_bills": "Mergi la facturi",
|
||||
"bills": "Facturi",
|
||||
"last_thirty_days": "Ultimele 30 de zile",
|
||||
"last_seven_days": "Ultimele 7 zile",
|
||||
"go_to_piggies": "Mergi la pu\u0219culi\u021b\u0103",
|
||||
"saved": "Salvat",
|
||||
"piggy_banks": "Pu\u0219culi\u021b\u0103",
|
||||
|
@ -47,6 +47,8 @@
|
||||
"go_to_expenses": "\u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0440\u0430\u0441\u0445\u043e\u0434\u0430\u043c",
|
||||
"go_to_bills": "\u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0432\u0430\u0448\u0438\u043c \u0441\u0447\u0435\u0442\u0430\u043c \u043d\u0430 \u043e\u043f\u043b\u0430\u0442\u0443",
|
||||
"bills": "\u0421\u0447\u0435\u0442\u0430 \u043a \u043e\u043f\u043b\u0430\u0442\u0435",
|
||||
"last_thirty_days": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 30 \u0434\u043d\u0435\u0439",
|
||||
"last_seven_days": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 7 \u0434\u043d\u0435\u0439",
|
||||
"go_to_piggies": "\u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0432\u0430\u0448\u0438\u043c \u043a\u043e\u043f\u0438\u043b\u043a\u0430\u043c",
|
||||
"saved": "\u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043e",
|
||||
"piggy_banks": "\u041a\u043e\u043f\u0438\u043b\u043a\u0438",
|
||||
|
@ -47,6 +47,8 @@
|
||||
"go_to_expenses": "Zobrazi\u0165 v\u00fddavky",
|
||||
"go_to_bills": "Zobrazi\u0165 \u00fa\u010dty",
|
||||
"bills": "\u00da\u010dty",
|
||||
"last_thirty_days": "Uplynul\u00fdch 30 dn\u00ed",
|
||||
"last_seven_days": "Uplynul\u00fdch 7 dn\u00ed",
|
||||
"go_to_piggies": "Zobrazi\u0165 pokladni\u010dky",
|
||||
"saved": "Ulo\u017een\u00e9",
|
||||
"piggy_banks": "Pokladni\u010dky",
|
||||
|
@ -47,6 +47,8 @@
|
||||
"go_to_expenses": "G\u00e5 till utgifter",
|
||||
"go_to_bills": "G\u00e5 till dina notor",
|
||||
"bills": "Notor",
|
||||
"last_thirty_days": "Senaste 30 dagarna",
|
||||
"last_seven_days": "Senaste 7 dagarna",
|
||||
"go_to_piggies": "G\u00e5 till dina sparb\u00f6ssor",
|
||||
"saved": "Sparad",
|
||||
"piggy_banks": "Spargrisar",
|
||||
|
@ -47,6 +47,8 @@
|
||||
"go_to_expenses": "Go to expenses",
|
||||
"go_to_bills": "\u0110i \u0111\u1ebfn h\u00f3a \u0111\u01a1n c\u1ee7a b\u1ea1n",
|
||||
"bills": "H\u00f3a \u0111\u01a1n",
|
||||
"last_thirty_days": "Ba m\u01b0\u01a1i ng\u00e0y g\u1ea7n \u0111\u00e2y",
|
||||
"last_seven_days": "B\u1ea3y ng\u00e0y g\u1ea7n \u0111\u00e2y",
|
||||
"go_to_piggies": "T\u1edbi heo \u0111\u1ea5t c\u1ee7a b\u1ea1n",
|
||||
"saved": "Saved",
|
||||
"piggy_banks": "Heo \u0111\u1ea5t",
|
||||
|
@ -47,6 +47,8 @@
|
||||
"go_to_expenses": "\u524d\u5f80\u652f\u51fa",
|
||||
"go_to_bills": "\u524d\u5f80\u8d26\u5355",
|
||||
"bills": "\u8d26\u5355",
|
||||
"last_thirty_days": "\u6700\u8fd1 30 \u5929",
|
||||
"last_seven_days": "\u6700\u8fd1 7 \u5929",
|
||||
"go_to_piggies": "\u524d\u5f80\u60a8\u7684\u5b58\u94b1\u7f50",
|
||||
"saved": "\u5df2\u4fdd\u5b58",
|
||||
"piggy_banks": "\u5b58\u94b1\u7f50",
|
||||
|
@ -47,6 +47,8 @@
|
||||
"go_to_expenses": "Go to expenses",
|
||||
"go_to_bills": "\u524d\u5f80\u60a8\u7684\u5e33\u55ae",
|
||||
"bills": "\u5e33\u55ae",
|
||||
"last_thirty_days": "\u6700\u8fd130\u5929",
|
||||
"last_seven_days": "\u6700\u8fd17\u5929",
|
||||
"go_to_piggies": "\u524d\u5f80\u60a8\u7684\u5c0f\u8c6c\u64b2\u6eff",
|
||||
"saved": "Saved",
|
||||
"piggy_banks": "\u5c0f\u8c6c\u64b2\u6eff",
|
||||
|
@ -89,10 +89,10 @@
|
||||
"@babel/helper-annotate-as-pure" "^7.12.13"
|
||||
regexpu-core "^4.7.1"
|
||||
|
||||
"@babel/helper-define-polyfill-provider@^0.1.2":
|
||||
version "0.1.2"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.1.2.tgz#619f01afe1deda460676c25c463b42eaefdb71a2"
|
||||
integrity sha512-hWeolZJivTNGHXHzJjQz/NwDaG4mGXf22ZroOP8bQYgvHNzaQ5tylsVbAcAS2oDjXBwpu8qH2I/654QFS2rDpw==
|
||||
"@babel/helper-define-polyfill-provider@^0.1.4":
|
||||
version "0.1.4"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.1.4.tgz#b618b087c6a0328127e5d53576df818bcee2b15f"
|
||||
integrity sha512-K5V2GaQZ1gpB+FTXM4AFVG2p1zzhm67n9wrQCJYNzvuLzQybhJyftW7qeDd2uUxPDNdl5Rkon1rOAeUeNDZ28Q==
|
||||
dependencies:
|
||||
"@babel/helper-compilation-targets" "^7.13.0"
|
||||
"@babel/helper-module-imports" "^7.12.13"
|
||||
@ -865,9 +865,9 @@
|
||||
integrity sha512-h0lY7g36rhjNV8KVHKS3/BEOgfsxu0AiRI8+ry5IFBGEsQFkpjxtcpVc9ndN8zrKUeMZXAWMc7eQMepfgykpxQ==
|
||||
|
||||
"@types/chart.js@^2.7.55":
|
||||
version "2.9.30"
|
||||
resolved "https://registry.yarnpkg.com/@types/chart.js/-/chart.js-2.9.30.tgz#34b99897f4f5ef0f74c8fe4ced70ac52b4d752dd"
|
||||
integrity sha512-EgjxUUZFvf6ls3kW2CwyrnSJhgyKxgwrlp/W5G9wqyPEO9iFatO63zAA7L24YqgMxiDjQ+tG7ODU+2yWH91lPg==
|
||||
version "2.9.31"
|
||||
resolved "https://registry.yarnpkg.com/@types/chart.js/-/chart.js-2.9.31.tgz#e8ebc7ed18eb0e5114c69bd46ef8e0037c89d39d"
|
||||
integrity sha512-hzS6phN/kx3jClk3iYqEHNnYIRSi4RZrIGJ8CDLjgatpHoftCezvC44uqB3o3OUm9ftU1m7sHG8+RLyPTlACrA==
|
||||
dependencies:
|
||||
moment "^2.10.2"
|
||||
|
||||
@ -1369,28 +1369,28 @@ babel-plugin-dynamic-import-node@^2.3.3:
|
||||
object.assign "^4.1.0"
|
||||
|
||||
babel-plugin-polyfill-corejs2@^0.1.4:
|
||||
version "0.1.6"
|
||||
resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.1.6.tgz#947a1227efa1a14ce09ac5fafc66ce8e039071e2"
|
||||
integrity sha512-1PfghLDuzX5lFY6XXO0hrfxwYf0LD9YajMWeQBGNaPNLQ35paV7YB4hlFW+HfwFS5kcp4rtPI/237xLfQ1ah8A==
|
||||
version "0.1.8"
|
||||
resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.1.8.tgz#54ef37b1c4b2311e515029e8f1f07bbd4d7a5321"
|
||||
integrity sha512-kB5/xNR9GYDuRmVlL9EGfdKBSUVI/9xAU7PCahA/1hbC2Jbmks9dlBBYjHF9IHMNY2jV/G2lIG7z0tJIW27Rog==
|
||||
dependencies:
|
||||
"@babel/compat-data" "^7.13.0"
|
||||
"@babel/helper-define-polyfill-provider" "^0.1.2"
|
||||
"@babel/helper-define-polyfill-provider" "^0.1.4"
|
||||
semver "^6.1.1"
|
||||
|
||||
babel-plugin-polyfill-corejs3@^0.1.3:
|
||||
version "0.1.4"
|
||||
resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.1.4.tgz#2ae290200e953bade30907b7a3bebcb696e6c59d"
|
||||
integrity sha512-ysSzFn/qM8bvcDAn4mC7pKk85Y5dVaoa9h4u0mHxOEpDzabsseONhUpR7kHxpUinfj1bjU7mUZqD23rMZBoeSg==
|
||||
version "0.1.6"
|
||||
resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.1.6.tgz#ed1b02fba4885e0892e06094e27865f499758d27"
|
||||
integrity sha512-IkYhCxPrjrUWigEmkMDXYzM5iblzKCdCD8cZrSAkQOyhhJm26DcG+Mxbx13QT//Olkpkg/AlRdT2L+Ww4Ciphw==
|
||||
dependencies:
|
||||
"@babel/helper-define-polyfill-provider" "^0.1.2"
|
||||
"@babel/helper-define-polyfill-provider" "^0.1.4"
|
||||
core-js-compat "^3.8.1"
|
||||
|
||||
babel-plugin-polyfill-regenerator@^0.1.2:
|
||||
version "0.1.3"
|
||||
resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.1.3.tgz#350f857225fc640ae1ec78d1536afcbb457db841"
|
||||
integrity sha512-hRjTJQiOYt/wBKEc+8V8p9OJ9799blAJcuKzn1JXh3pApHoWl1Emxh2BHc6MC7Qt6bbr3uDpNxaYQnATLIudEg==
|
||||
version "0.1.5"
|
||||
resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.1.5.tgz#f42a58fd86a1c97fbe3a2752d80a4a3e017203e1"
|
||||
integrity sha512-EyhBA6uN94W97lR7ecQVTvH9F5tIIdEw3ZqHuU4zekMlW82k5cXNXniiB7PRxQm06BqAjVr4sDT1mOy4RcphIA==
|
||||
dependencies:
|
||||
"@babel/helper-define-polyfill-provider" "^0.1.2"
|
||||
"@babel/helper-define-polyfill-provider" "^0.1.4"
|
||||
|
||||
balanced-match@^1.0.0:
|
||||
version "1.0.0"
|
||||
@ -1768,9 +1768,9 @@ caniuse-api@^3.0.0:
|
||||
lodash.uniq "^4.5.0"
|
||||
|
||||
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001181:
|
||||
version "1.0.30001191"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001191.tgz#bacb432b6701f690c8c5f7c680166b9a9f0843d9"
|
||||
integrity sha512-xJJqzyd+7GCJXkcoBiQ1GuxEiOBCLQ0aVW9HMekifZsAVGdj5eJ4mFB9fEhSHipq9IOk/QXFJUiIr9lZT+EsGw==
|
||||
version "1.0.30001192"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001192.tgz#b848ebc0ab230cf313d194a4775a30155d50ae40"
|
||||
integrity sha512-63OrUnwJj5T1rUmoyqYTdRWBqFFxZFlyZnRRjDR8NSUQFB6A+j/uBORU/SyJ5WzDLg4SPiZH40hQCBNdZ/jmAw==
|
||||
|
||||
chalk@^1.1.3:
|
||||
version "1.1.3"
|
||||
@ -1982,9 +1982,9 @@ color@^3.0.0:
|
||||
color-string "^1.5.4"
|
||||
|
||||
colorette@^1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b"
|
||||
integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==
|
||||
version "1.2.2"
|
||||
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94"
|
||||
integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==
|
||||
|
||||
commander@2.17.x:
|
||||
version "2.17.1"
|
||||
@ -2671,9 +2671,9 @@ ejs@^2.6.1:
|
||||
integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==
|
||||
|
||||
electron-to-chromium@^1.3.649:
|
||||
version "1.3.673"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.673.tgz#b4f81c930b388f962b7eba20d0483299aaa40913"
|
||||
integrity sha512-ms+QR2ckfrrpEAjXweLx6kNCbpAl66DcW//3BZD4BV5KhUgr0RZRce1ON/9J3QyA3JO28nzgb5Xv8DnPr05ILg==
|
||||
version "1.3.674"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.674.tgz#d97feefdf1d9411fdc9d56d17e1b9d67b818e710"
|
||||
integrity sha512-DBmEKRVYLZAoQSW+AmLcTF5Bpwhk4RUkobtzXVDlfPPYIlbsH3Jfg3QbBjAfFcRARzMIo4YiMhp3N+RnMuo1Eg==
|
||||
|
||||
elliptic@^6.5.3:
|
||||
version "6.5.4"
|
||||
|
2
public/v2/js/accounts/index.js
vendored
2
public/v2/js/accounts/index.js
vendored
@ -1,2 +1,2 @@
|
||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{297:function(t,s,a){t.exports=a(424)},424:function(t,s,a){"use strict";a.r(s);var e={name:"Index",props:{accountTypes:String},data:function(){return{accounts:[]}},created:function(){var t=this;axios.get("./api/v1/accounts?type="+this.$props.accountTypes).then((function(s){t.loadAccounts(s.data.data)}))},methods:{loadAccounts:function(t){for(var s in t)if(t.hasOwnProperty(s)&&/^0$|^[1-9]\d*$/.test(s)&&s<=4294967294){var a=t[s];"asset"===a.attributes.type&&null!==a.attributes.account_role&&(a.attributes.account_role=this.$t("firefly.account_role_"+a.attributes.account_role)),"asset"===a.attributes.type&&null===a.attributes.account_role&&(a.attributes.account_role=this.$t("firefly.Default asset account")),null===a.attributes.iban&&(a.attributes.iban=a.attributes.account_number),this.accounts.push(a)}}}},c=a(1),n=Object(c.a)(e,(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"row"},[a("div",{staticClass:"col-lg-12 col-md-12 col-sm-12 col-xs-12"},[a("div",{staticClass:"card"},[t._m(0),t._v(" "),a("div",{staticClass:"card-body p-0"},[a("table",{staticClass:"table table-sm table-striped"},[a("caption",{staticStyle:{display:"none"}},[t._v(t._s(t.$t("list.name")))]),t._v(" "),a("thead",[a("tr",[a("th",{attrs:{scope:"col"}},[t._v(" ")]),t._v(" "),a("th",{attrs:{scope:"col"}},[t._v(t._s(t.$t("list.name")))]),t._v(" "),"asset"===t.$props.accountTypes?a("th",{attrs:{scope:"col"}},[t._v(t._s(t.$t("list.role")))]):t._e(),t._v(" "),a("th",{attrs:{scope:"col"}},[t._v(t._s(t.$t("list.iban")))]),t._v(" "),a("th",{staticStyle:{"text-align":"right"},attrs:{scope:"col"}},[t._v(t._s(t.$t("list.currentBalance")))]),t._v(" "),a("th",{attrs:{scope:"col"}},[t._v(t._s(t.$t("list.balanceDiff")))])])]),t._v(" "),a("tbody",t._l(t.accounts,(function(s){return a("tr",[a("td",[a("div",{staticClass:"btn-group btn-group-xs"},[a("a",{staticClass:"btn btn-xs btn-default",attrs:{href:"./accounts/edit/"+s.id}},[a("i",{staticClass:"fa fas fa-pencil-alt"})]),t._v(" "),a("a",{staticClass:"btn btn-xs btn-danger",attrs:{href:"./accounts/delete/"+s.id}},[a("i",{staticClass:"fa far fa-trash"})])])]),t._v(" "),a("td",[t._v(t._s(s.attributes.name)+"\n ")]),t._v(" "),"asset"===t.$props.accountTypes?a("td",[t._v("\n "+t._s(s.attributes.account_role)+"\n ")]):t._e(),t._v(" "),a("td",[t._v("\n "+t._s(s.attributes.iban)+"\n ")]),t._v(" "),a("td",{staticStyle:{"text-align":"right"}},[t._v("\n "+t._s(Intl.NumberFormat("en-US",{style:"currency",currency:s.attributes.currency_code}).format(s.attributes.current_balance))+"\n ")]),t._v(" "),a("td",[t._v("diff")])])})),0)])]),t._v(" "),a("div",{staticClass:"card-footer"},[t._v("\n Footer stuff.\n ")])])])])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"card-header"},[s("h3",{staticClass:"card-title"},[this._v("Title thing")]),this._v(" "),s("div",{staticClass:"card-tools"},[s("div",{staticClass:"input-group input-group-sm",staticStyle:{width:"150px"}},[s("input",{staticClass:"form-control float-right",attrs:{type:"text",name:"table_search",placeholder:"Search"}}),this._v(" "),s("div",{staticClass:"input-group-append"},[s("button",{staticClass:"btn btn-default",attrs:{type:"submit"}},[s("i",{staticClass:"fas fa-search"})])])])])])}],!1,null,"d668ce46",null).exports;a(15);var i=a(18),r={};new Vue({i18n:i,render:function(t){return t(n,{props:r})}}).$mount("#accounts")}},[[297,0,1]]]);
|
||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{297:function(t,s,a){t.exports=a(424)},424:function(t,s,a){"use strict";a.r(s);var e={name:"Index",props:{accountTypes:String},data:function(){return{accounts:[]}},created:function(){var t=this;axios.get("./api/v1/accounts?type="+this.$props.accountTypes).then((function(s){t.loadAccounts(s.data.data)}))},methods:{loadAccounts:function(t){for(var s in t)if(t.hasOwnProperty(s)&&/^0$|^[1-9]\d*$/.test(s)&&s<=4294967294){var a=t[s];"asset"===a.attributes.type&&null!==a.attributes.account_role&&(a.attributes.account_role=this.$t("firefly.account_role_"+a.attributes.account_role)),"asset"===a.attributes.type&&null===a.attributes.account_role&&(a.attributes.account_role=this.$t("firefly.Default asset account")),null===a.attributes.iban&&(a.attributes.iban=a.attributes.account_number),this.accounts.push(a)}}}},c=a(1),n=Object(c.a)(e,(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"row"},[a("div",{staticClass:"col-lg-12 col-md-12 col-sm-12 col-xs-12"},[a("div",{staticClass:"card"},[t._m(0),t._v(" "),a("div",{staticClass:"card-body p-0"},[a("table",{staticClass:"table table-sm table-striped"},[a("caption",{staticStyle:{display:"none"}},[t._v(t._s(t.$t("list.name")))]),t._v(" "),a("thead",[a("tr",[a("th",{attrs:{scope:"col"}},[t._v(" ")]),t._v(" "),a("th",{attrs:{scope:"col"}},[t._v(t._s(t.$t("list.name")))]),t._v(" "),"asset"===t.$props.accountTypes?a("th",{attrs:{scope:"col"}},[t._v(t._s(t.$t("list.role")))]):t._e(),t._v(" "),a("th",{attrs:{scope:"col"}},[t._v(t._s(t.$t("list.iban")))]),t._v(" "),a("th",{staticStyle:{"text-align":"right"},attrs:{scope:"col"}},[t._v(t._s(t.$t("list.currentBalance")))]),t._v(" "),a("th",{attrs:{scope:"col"}},[t._v(t._s(t.$t("list.balanceDiff")))])])]),t._v(" "),a("tbody",t._l(t.accounts,(function(s){return a("tr",[a("td",[a("div",{staticClass:"btn-group btn-group-xs"},[a("a",{staticClass:"btn btn-xs btn-default",attrs:{href:"./accounts/edit/"+s.id}},[a("i",{staticClass:"fa fas fa-pencil-alt"})]),t._v(" "),a("a",{staticClass:"btn btn-xs btn-danger",attrs:{href:"./accounts/delete/"+s.id}},[a("i",{staticClass:"fa far fa-trash"})])])]),t._v(" "),a("td",[t._v(t._s(s.attributes.name)+"\n ")]),t._v(" "),"asset"===t.$props.accountTypes?a("td",[t._v("\n "+t._s(s.attributes.account_role)+"\n ")]):t._e(),t._v(" "),a("td",[t._v("\n "+t._s(s.attributes.iban)+"\n ")]),t._v(" "),a("td",{staticStyle:{"text-align":"right"}},[t._v("\n "+t._s(Intl.NumberFormat("en-US",{style:"currency",currency:s.attributes.currency_code}).format(s.attributes.current_balance))+"\n ")]),t._v(" "),a("td",[t._v("diff")])])})),0)])]),t._v(" "),a("div",{staticClass:"card-footer"},[t._v("\n Footer stuff.\n ")])])])])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"card-header"},[s("h3",{staticClass:"card-title"},[this._v("Title thing")]),this._v(" "),s("div",{staticClass:"card-tools"},[s("div",{staticClass:"input-group input-group-sm",staticStyle:{width:"150px"}},[s("input",{staticClass:"form-control float-right",attrs:{name:"table_search",placeholder:"Search",type:"text"}}),this._v(" "),s("div",{staticClass:"input-group-append"},[s("button",{staticClass:"btn btn-default",attrs:{type:"submit"}},[s("i",{staticClass:"fas fa-search"})])])])])])}],!1,null,"3bbb2516",null).exports;a(15);var i=a(18),r={};new Vue({i18n:i,render:function(t){return t(n,{props:r})}}).$mount("#accounts")}},[[297,0,1]]]);
|
||||
//# sourceMappingURL=index.js.map
|
File diff suppressed because one or more lines are too long
2
public/v2/js/accounts/show.js
vendored
2
public/v2/js/accounts/show.js
vendored
@ -1,2 +1,2 @@
|
||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{298:function(n,e,t){n.exports=t(425)},425:function(n,e,t){"use strict";t.r(e);var o={name:"Show"},r=t(1),s=Object(r.a)(o,(function(){var n=this.$createElement;return(this._self._c||n)("div",[this._v("\n I am a show\n")])}),[],!1,null,"dcd61a50",null).exports;t(15);var c=t(18),u={};new Vue({i18n:c,render:function(n){return n(s,{props:u})}}).$mount("#accounts_show")}},[[298,0,1]]]);
|
||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{298:function(n,e,t){n.exports=t(425)},425:function(n,e,t){"use strict";t.r(e);var o={name:"Show"},r=t(1),s=Object(r.a)(o,(function(){var n=this.$createElement;return(this._self._c||n)("div",[this._v("\n I am a show\n")])}),[],!1,null,"321a1058",null).exports;t(15);var u=t(18),a={};new Vue({i18n:u,render:function(n){return n(s,{props:a})}}).$mount("#accounts_show")}},[[298,0,1]]]);
|
||||
//# sourceMappingURL=show.js.map
|
@ -1 +1 @@
|
||||
{"version":3,"sources":["webpack:///./src/components/accounts/Show.vue?b4b4","webpack:///./src/components/accounts/Show.vue?4c02","webpack:///src/components/accounts/Show.vue","webpack:///./src/components/accounts/Show.vue","webpack:///./src/pages/accounts/show.js"],"names":["_h","this","$createElement","_self","_c","_v","require","i18n","props","Vue","render","createElement","Show","$mount"],"mappings":"uIAAA,ICAoM,EC2BpM,CACE,KAAF,Q,OCVe,EAXC,YACd,GHRW,WAAa,IAAiBA,EAATC,KAAgBC,eAAuC,OAAvDD,KAA0CE,MAAMC,IAAIJ,GAAa,MAAM,CAAvEC,KAA4EI,GAAG,2BAC3F,IGUpB,EACA,KACA,WACA,M,QCOFC,EAAQ,IAKR,IAAIC,EAAOD,EAAQ,IAKfE,EAAQ,GAGZ,IAAIC,IAAI,CACIF,OACAG,OAFJ,SAEWC,GACH,OAAOA,EAAcC,EAAM,CAACJ,MAAOA,OAExCK,OAAO,oB","file":"/public/js/accounts/show.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._v(\"\\n I am a show\\n\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??ref--4-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Show.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??ref--4-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Show.vue?vue&type=script&lang=js&\"","<!--\n - Show.vue\n - Copyright (c) 2020 james@firefly-iii.org\n -\n - This file is part of Firefly III (https://github.com/firefly-iii).\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <https://www.gnu.org/licenses/>.\n -->\n\n<template>\n <div>\n I am a show\n </div>\n</template>\n\n<script>\n export default {\n name: \"Show\"\n }\n</script>\n\n<style scoped>\n\n</style>\n","import { render, staticRenderFns } from \"./Show.vue?vue&type=template&id=dcd61a50&scoped=true&\"\nimport script from \"./Show.vue?vue&type=script&lang=js&\"\nexport * from \"./Show.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"dcd61a50\",\n null\n \n)\n\nexport default component.exports","/*\n * index.js\n * Copyright (c) 2020 james@firefly-iii.org\n *\n * This file is part of Firefly III (https://github.com/firefly-iii).\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <https://www.gnu.org/licenses/>.\n */\n\n\nrequire('../../bootstrap');\n\nimport Show from \"../../components/accounts/Show\";\n\n// i18n\nlet i18n = require('../../i18n');\n\n// get page name?\n\n\nlet props = {\n\n};\nnew Vue({\n i18n,\n render(createElement) {\n return createElement(Show, {props: props});\n }\n }).$mount('#accounts_show');\n"],"sourceRoot":""}
|
||||
{"version":3,"sources":["webpack:///./src/components/accounts/Show.vue?4a89","webpack:///./src/components/accounts/Show.vue?4c02","webpack:///src/components/accounts/Show.vue","webpack:///./src/components/accounts/Show.vue","webpack:///./src/pages/accounts/show.js"],"names":["name","_h","this","$createElement","_self","_c","_v","require","i18n","props","Vue","render","createElement","Show","$mount"],"mappings":"uIAAA,ICAoM,EC2BpM,CACEA,KAAM,Q,OCVO,EAXC,YACd,GHRW,WAAa,IAAiBC,EAATC,KAAgBC,eAAuC,OAAvDD,KAA0CE,MAAMC,IAAIJ,GAAa,MAAM,CAAvEC,KAA4EI,GAAG,yBAC3F,IGUpB,EACA,KACA,WACA,M,QCOFC,EAAQ,IAKR,IAAIC,EAAOD,EAAQ,IAKfE,EAAQ,GAGZ,IAAIC,IAAI,CACIF,OACAG,OAFJ,SAEWC,GACH,OAAOA,EAAcC,EAAM,CAACJ,MAAOA,OAExCK,OAAO,oB","file":"/public/js/accounts/show.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._v(\"\\n I am a show\\n\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??ref--4-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Show.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??ref--4-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Show.vue?vue&type=script&lang=js&\"","<!--\n - Show.vue\n - Copyright (c) 2020 james@firefly-iii.org\n -\n - This file is part of Firefly III (https://github.com/firefly-iii).\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <https://www.gnu.org/licenses/>.\n -->\n\n<template>\n <div>\n I am a show\n </div>\n</template>\n\n<script>\nexport default {\n name: \"Show\"\n}\n</script>\n\n<style scoped>\n\n</style>\n","import { render, staticRenderFns } from \"./Show.vue?vue&type=template&id=321a1058&scoped=true&\"\nimport script from \"./Show.vue?vue&type=script&lang=js&\"\nexport * from \"./Show.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"321a1058\",\n null\n \n)\n\nexport default component.exports","/*\n * index.js\n * Copyright (c) 2020 james@firefly-iii.org\n *\n * This file is part of Firefly III (https://github.com/firefly-iii).\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <https://www.gnu.org/licenses/>.\n */\n\n\nrequire('../../bootstrap');\n\nimport Show from \"../../components/accounts/Show\";\n\n// i18n\nlet i18n = require('../../i18n');\n\n// get page name?\n\n\nlet props = {\n\n};\nnew Vue({\n i18n,\n render(createElement) {\n return createElement(Show, {props: props});\n }\n }).$mount('#accounts_show');\n"],"sourceRoot":""}
|
2
public/v2/js/dashboard.js
vendored
2
public/v2/js/dashboard.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
public/v2/js/new-user/index.js
vendored
2
public/v2/js/new-user/index.js
vendored
@ -1,2 +1,2 @@
|
||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{296:function(a,e,t){a.exports=t(423)},423:function(a,e,t){"use strict";t.r(e);var s={name:"Index"},n=t(1),i=Object(n.a)(s,(function(){var a=this.$createElement;this._self._c;return this._m(0)}),[function(){var a=this,e=a.$createElement,t=a._self._c||e;return t("div",{staticClass:"row"},[t("div",{staticClass:"col"},[t("div",{attrs:{id:"accordion"}},[t("div",{staticClass:"card card-primary"},[t("div",{staticClass:"card-header"},[t("h4",{staticClass:"card-title"},[t("a",{attrs:{"data-toggle":"collapse","data-parent":"#accordion",href:"#collapseOne"}},[a._v("\n Create new accounts\n ")])])]),a._v(" "),t("div",{staticClass:"panel-collapse collapse show",attrs:{id:"collapseOne"}},[t("div",{staticClass:"card-body"},[t("div",{staticClass:"row"},[t("div",{staticClass:"col"},[t("p",[a._v("Explain")])])]),a._v(" "),t("div",{staticClass:"row"},[t("div",{staticClass:"col-lg-4"},[a._v("\n A\n ")]),a._v(" "),t("div",{staticClass:"col-lg-8"},[a._v("\n B\n ")])])])])]),a._v(" "),t("div",{staticClass:"card card-secondary"},[t("div",{staticClass:"card-header"},[t("h4",{staticClass:"card-title"},[t("a",{attrs:{"data-toggle":"collapse","data-parent":"#accordion",href:"#collapseTwo"}},[a._v("\n Collapsible Group Danger\n ")])])]),a._v(" "),t("div",{staticClass:"panel-collapse collapse",attrs:{id:"collapseTwo"}},[t("div",{staticClass:"card-body"},[a._v("\n Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid.\n 3\n wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt\n laborum\n eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee\n nulla\n assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred\n nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft\n beer\n farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus\n labore sustainable VHS.\n ")])])]),a._v(" "),t("div",{staticClass:"card card-secondary"},[t("div",{staticClass:"card-header"},[t("h4",{staticClass:"card-title"},[t("a",{attrs:{"data-toggle":"collapse","data-parent":"#accordion",href:"#collapseThree"}},[a._v("\n Collapsible Group Success\n ")])])]),a._v(" "),t("div",{staticClass:"panel-collapse collapse",attrs:{id:"collapseThree"}},[t("div",{staticClass:"card-body"},[a._v("\n Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid.\n 3\n wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt\n laborum\n eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee\n nulla\n assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred\n nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft\n beer\n farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus\n labore sustainable VHS.\n ")])])])])])])}],!1,null,"5c520d02",null).exports;t(15);var c=t(18),r={};new Vue({i18n:c,render:function(a){return a(i,{props:r})}}).$mount("#newuser")}},[[296,0,1]]]);
|
||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{296:function(a,e,t){a.exports=t(423)},423:function(a,e,t){"use strict";t.r(e);var s={name:"Index"},n=t(1),i=Object(n.a)(s,(function(){var a=this.$createElement;this._self._c;return this._m(0)}),[function(){var a=this,e=a.$createElement,t=a._self._c||e;return t("div",{staticClass:"row"},[t("div",{staticClass:"col"},[t("div",{attrs:{id:"accordion"}},[t("div",{staticClass:"card card-primary"},[t("div",{staticClass:"card-header"},[t("h4",{staticClass:"card-title"},[t("a",{attrs:{"data-parent":"#accordion","data-toggle":"collapse",href:"#collapseOne"}},[a._v("\n Create new accounts\n ")])])]),a._v(" "),t("div",{staticClass:"panel-collapse collapse show",attrs:{id:"collapseOne"}},[t("div",{staticClass:"card-body"},[t("div",{staticClass:"row"},[t("div",{staticClass:"col"},[t("p",[a._v("Explain")])])]),a._v(" "),t("div",{staticClass:"row"},[t("div",{staticClass:"col-lg-4"},[a._v("\n A\n ")]),a._v(" "),t("div",{staticClass:"col-lg-8"},[a._v("\n B\n ")])])])])]),a._v(" "),t("div",{staticClass:"card card-secondary"},[t("div",{staticClass:"card-header"},[t("h4",{staticClass:"card-title"},[t("a",{attrs:{"data-parent":"#accordion","data-toggle":"collapse",href:"#collapseTwo"}},[a._v("\n Collapsible Group Danger\n ")])])]),a._v(" "),t("div",{staticClass:"panel-collapse collapse",attrs:{id:"collapseTwo"}},[t("div",{staticClass:"card-body"},[a._v("\n Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid.\n 3\n wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt\n laborum\n eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee\n nulla\n assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred\n nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft\n beer\n farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus\n labore sustainable VHS.\n ")])])]),a._v(" "),t("div",{staticClass:"card card-secondary"},[t("div",{staticClass:"card-header"},[t("h4",{staticClass:"card-title"},[t("a",{attrs:{"data-parent":"#accordion","data-toggle":"collapse",href:"#collapseThree"}},[a._v("\n Collapsible Group Success\n ")])])]),a._v(" "),t("div",{staticClass:"panel-collapse collapse",attrs:{id:"collapseThree"}},[t("div",{staticClass:"card-body"},[a._v("\n Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid.\n 3\n wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt\n laborum\n eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee\n nulla\n assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred\n nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft\n beer\n farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus\n labore sustainable VHS.\n ")])])])])])])}],!1,null,"2d2bc9db",null).exports;t(15);var c=t(18),r={};new Vue({i18n:c,render:function(a){return a(i,{props:r})}}).$mount("#newuser")}},[[296,0,1]]]);
|
||||
//# sourceMappingURL=index.js.map
|
File diff suppressed because one or more lines are too long
2
public/v2/js/transactions/create.js
vendored
2
public/v2/js/transactions/create.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
public/v2/js/transactions/edit.js
vendored
2
public/v2/js/transactions/edit.js
vendored
@ -1,2 +1,2 @@
|
||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{417:function(e,t,s){e.exports=s(426)},426:function(e,t,s){"use strict";s.r(t);var r=s(16),n={name:"Edit",data:function(){return{successMessage:"",errorMessage:""}}},a=s(1),i=Object(a.a)(n,(function(){var e=this.$createElement,t=this._self._c||e;return t("div",[t("alert",{attrs:{message:this.errorMessage,type:"danger"}}),this._v(" "),t("alert",{attrs:{message:this.successMessage,type:"success"}})],1)}),[],!1,null,"7a362243",null).exports,o=s(3),c=s.n(o);s(15),c.a.config.productionTip=!1;var u=s(18),p={};new c.a({i18n:u,store:r.a,render:function(e){return e(i,{props:p})},beforeCreate:function(){this.$store.commit("initialiseStore"),this.$store.dispatch("updateCurrencyPreference")}}).$mount("#transactions_edit")}},[[417,0,1]]]);
|
||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{417:function(e,t,s){e.exports=s(426)},426:function(e,t,s){"use strict";s.r(t);var r=s(16),n={name:"Edit",data:function(){return{successMessage:"",errorMessage:""}}},a=s(1),i=Object(a.a)(n,(function(){var e=this.$createElement,t=this._self._c||e;return t("div",[t("alert",{attrs:{message:this.errorMessage,type:"danger"}}),this._v(" "),t("alert",{attrs:{message:this.successMessage,type:"success"}})],1)}),[],!1,null,"7a362243",null).exports,o=s(2),c=s.n(o);s(15),c.a.config.productionTip=!1;var u=s(18),p={};new c.a({i18n:u,store:r.a,render:function(e){return e(i,{props:p})},beforeCreate:function(){this.$store.commit("initialiseStore"),this.$store.dispatch("updateCurrencyPreference")}}).$mount("#transactions_edit")}},[[417,0,1]]]);
|
||||
//# sourceMappingURL=edit.js.map
|
2
public/v2/js/vendor.js
vendored
2
public/v2/js/vendor.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user