mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-11-18 15:39:50 +00:00
Rebuild frontend
This commit is contained in:
@@ -29,13 +29,13 @@
|
||||
"admin-lte": "^3.1.0",
|
||||
"bootstrap": "^4.6.0",
|
||||
"bootstrap-vue": "^2.21.2",
|
||||
"chart.js": "^3.0.2",
|
||||
"icheck-bootstrap": "^3.0.1",
|
||||
"jquery-ui": "^1.12.1",
|
||||
"leaflet": "^1.7.1",
|
||||
"overlayscrollbars": "^1.13.1",
|
||||
"sortablejs": "^1.13.0",
|
||||
"v-calendar": "^2.3.0",
|
||||
"vue-chartjs": "^3.5.1",
|
||||
"vue-typeahead-bootstrap": "^2.8.0",
|
||||
"vue2-leaflet": "^2.7.0"
|
||||
}
|
||||
|
||||
@@ -32,20 +32,20 @@ export default {
|
||||
convertChart(dataSet) {
|
||||
this.dataSet = dataSet;
|
||||
this.newDataSet = {
|
||||
count: 0,
|
||||
//count: 0,
|
||||
labels: [],
|
||||
datasets: []
|
||||
}
|
||||
this.getLabels();
|
||||
this.getDataSets();
|
||||
this.newDataSet.count = this.newDataSet.datasets.length;
|
||||
//this.newDataSet.count = this.newDataSet.datasets.length;
|
||||
return this.newDataSet;
|
||||
},
|
||||
|
||||
colorizeBarData(dataSet) {
|
||||
this.dataSet = dataSet;
|
||||
this.newDataSet = {
|
||||
count: 0,
|
||||
//count: 0,
|
||||
labels: [],
|
||||
datasets: []
|
||||
};
|
||||
@@ -79,7 +79,7 @@ export default {
|
||||
//strokePointHighColors.push("rgba(" + colourSet[i][0] + ", " + colourSet[i][1] + ", " + colourSet[i][2] + ", 0.9)");
|
||||
}
|
||||
this.newDataSet.labels = this.dataSet.labels;
|
||||
this.newDataSet.count = this.dataSet.count;
|
||||
//this.newDataSet.count = this.dataSet.count;
|
||||
for (let setKey in this.dataSet.datasets) {
|
||||
if (this.dataSet.datasets.hasOwnProperty(setKey)) {
|
||||
var dataset = this.dataSet.datasets[setKey];
|
||||
@@ -94,7 +94,7 @@ export default {
|
||||
colorizeLineData(dataSet) {
|
||||
this.dataSet = dataSet;
|
||||
this.newDataSet = {
|
||||
count: 0,
|
||||
//count: 0,
|
||||
labels: [],
|
||||
datasets: []
|
||||
};
|
||||
@@ -128,10 +128,10 @@ export default {
|
||||
//strokePointHighColors.push("rgba(" + colourSet[i][0] + ", " + colourSet[i][1] + ", " + colourSet[i][2] + ", 0.9)");
|
||||
}
|
||||
this.newDataSet.labels = this.dataSet.labels;
|
||||
this.newDataSet.count = this.dataSet.count;
|
||||
//this.newDataSet.count = this.dataSet.count;
|
||||
for (let setKey in this.dataSet.datasets) {
|
||||
if (this.dataSet.datasets.hasOwnProperty(setKey)) {
|
||||
var dataset = this.dataSet.datasets[setKey];
|
||||
let dataset = this.dataSet.datasets[setKey];
|
||||
dataset.fill = false;
|
||||
dataset.backgroundColor = dataset.borderColor = fillColors[setKey];
|
||||
this.newDataSet.datasets.push(dataset);
|
||||
@@ -168,7 +168,7 @@ export default {
|
||||
newSet.type = oldSet.type;
|
||||
newSet.currency_symbol = oldSet.currency_symbol;
|
||||
newSet.currency_code = oldSet.currency_code;
|
||||
newSet.yAxisID = oldSet.yAxisID;
|
||||
//newSet.yAxisID = oldSet.yAxisID;
|
||||
newSet.data = [];
|
||||
for (const entryLabel in oldSet.entries) {
|
||||
if (oldSet.entries.hasOwnProperty(entryLabel)) {
|
||||
|
||||
@@ -79,67 +79,95 @@ export default {
|
||||
return sections;
|
||||
},
|
||||
getDefaultOptions() {
|
||||
var self = this;
|
||||
return {
|
||||
legend: {
|
||||
display: false,
|
||||
},
|
||||
animation: {
|
||||
duration: 0,
|
||||
},
|
||||
responsive: true,
|
||||
maintainAspectRatio: false,
|
||||
plugins: {
|
||||
legend: {
|
||||
display: false,
|
||||
},
|
||||
},
|
||||
animations: false,
|
||||
|
||||
elements: {
|
||||
line: {
|
||||
cubicInterpolationMode: 'monotone'
|
||||
}
|
||||
},
|
||||
scales: {
|
||||
xAxes: [
|
||||
{
|
||||
gridLines: {
|
||||
display: false
|
||||
},
|
||||
ticks: {
|
||||
// break ticks when too long
|
||||
callback: function (value, index, values) {
|
||||
// date format
|
||||
let dateObj = new Date(value);
|
||||
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);
|
||||
return self.formatLabel(str, 20);
|
||||
}
|
||||
x: {
|
||||
//type: 'linear'
|
||||
grid: {
|
||||
display: false,
|
||||
},
|
||||
ticks: {
|
||||
callback: function (value, index, values) {
|
||||
//return this.getLabelForValue(value);
|
||||
let dateObj = new Date(this.getLabelForValue(value));
|
||||
let options = {year: 'numeric', month: 'long', day: 'numeric'};
|
||||
let str = new Intl.DateTimeFormat(localStorage.locale, options).format(dateObj);
|
||||
return str;
|
||||
// // //console.log();
|
||||
// // //return self.formatLabel(value, 20);
|
||||
// // return self.formatLabel(str, 20);
|
||||
}
|
||||
}
|
||||
],
|
||||
yAxes: [{
|
||||
display: true,
|
||||
ticks: {
|
||||
callback: function (tickValue) {
|
||||
"use strict";
|
||||
let currencyCode = this.chart.data.datasets[0].currency_code ? this.chart.data.datasets[0].currency_code : 'EUR';
|
||||
return new Intl.NumberFormat(localStorage.locale, {style: 'currency', currency: currencyCode}).format(tickValue);
|
||||
},
|
||||
beginAtZero: true
|
||||
}
|
||||
},
|
||||
y: {
|
||||
suggestedMin: 0
|
||||
|
||||
}]
|
||||
},
|
||||
tooltips: {
|
||||
mode: 'index',
|
||||
callbacks: {
|
||||
label: function (tooltipItem, data) {
|
||||
"use strict";
|
||||
let currencyCode = data.datasets[tooltipItem.datasetIndex].currency_code ? 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;
|
||||
}
|
||||
//type: 'linear'
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// scales: {
|
||||
// xAxes: [
|
||||
// {
|
||||
// gridLines: {
|
||||
// display: false
|
||||
// },
|
||||
// ticks: {
|
||||
// // break ticks when too long
|
||||
// callback: function (value, index, values) {
|
||||
// return value;
|
||||
// // date format
|
||||
// // let dateObj = new Date(value);
|
||||
// // 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);
|
||||
// // return self.formatLabel(str, 20);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// ],
|
||||
// yAxes: [{
|
||||
// display: true,
|
||||
// ticks: {
|
||||
// callback: function (tickValue) {
|
||||
// "use strict";
|
||||
// return tickValue;
|
||||
// // let currencyCode = this.chart.data.datasets[0].currency_code ? this.chart.data.datasets[0].currency_code : 'EUR';
|
||||
// // return new Intl.NumberFormat(localStorage.locale, {style: 'currency', currency: currencyCode}).format(tickValue);
|
||||
// },
|
||||
// beginAtZero: true
|
||||
// }
|
||||
//
|
||||
// }]
|
||||
// },
|
||||
// tooltips: {
|
||||
// mode: 'index',
|
||||
// // callbacks: {
|
||||
// // label: function (tooltipItem, data) {
|
||||
// // "use strict";
|
||||
// // let currencyCode = data.datasets[tooltipItem.datasetIndex].currency_code ? 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;
|
||||
// // }
|
||||
// // }
|
||||
// }
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
<h3 class="card-title">{{ $t('firefly.yourAccounts') }}</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div v-if="!loading">
|
||||
<MainAccountChart v-if="!loading && !error" :chart-data="dataCollection" :options="chartOptions"/>
|
||||
<div>
|
||||
<canvas id="canvas" ref="canvas" width="400" height="400"></canvas>
|
||||
</div>
|
||||
<div v-if="loading && !error" class="text-center">
|
||||
<i class="fas fa-spinner fa-spin"></i>
|
||||
@@ -33,6 +33,9 @@
|
||||
<div v-if="error" class="text-center">
|
||||
<i class="fas fa-exclamation-triangle text-danger"></i>
|
||||
</div>
|
||||
<div v-if="timezoneDifference" class="text-muted small">
|
||||
{{ $t('firefly.timezone_difference', {local: localTimeZone, system: systemTimeZone}) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<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>
|
||||
@@ -44,35 +47,43 @@
|
||||
|
||||
import DataConverter from "../charts/DataConverter";
|
||||
import DefaultLineOptions from "../charts/DefaultLineOptions";
|
||||
import {mapGetters} from "vuex";
|
||||
import * as ChartJs from 'chart.js'
|
||||
ChartJs.Chart.register.apply(null, Object.values(ChartJs).filter((chartClass) => (chartClass.id)));
|
||||
|
||||
|
||||
|
||||
import {createNamespacedHelpers} from "vuex";
|
||||
import MainAccountChart from "./MainAccountChart";
|
||||
|
||||
const {mapState, mapGetters, mapActions, mapMutations} = createNamespacedHelpers('dashboard/index')
|
||||
|
||||
export default {
|
||||
name: "MainAccount",
|
||||
components: {MainAccountChart},
|
||||
components: {}, // MainAccountChart
|
||||
data() {
|
||||
return {
|
||||
loading: true,
|
||||
error: false,
|
||||
ready: false,
|
||||
dataCollection: {},
|
||||
chartOptions: {}
|
||||
chartOptions: {},
|
||||
_chart: null,
|
||||
localTimeZone: '',
|
||||
systemTimeZone: '',
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.ready = true;
|
||||
this.chartOptions = DefaultLineOptions.methods.getDefaultOptions();
|
||||
this.localTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
||||
this.systemTimeZone = this.timezone;
|
||||
},
|
||||
computed: {
|
||||
...mapGetters([
|
||||
'start',
|
||||
'end'
|
||||
]),
|
||||
...mapGetters('dashboard/index',['start', 'end']),
|
||||
...mapGetters('root',['timezone']),
|
||||
'datesReady': function () {
|
||||
return null !== this.start && null !== this.end && this.ready;
|
||||
},
|
||||
timezoneDifference: function() {
|
||||
return this.localTimeZone !== this.systemTimeZone;
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
@@ -82,10 +93,10 @@ export default {
|
||||
}
|
||||
},
|
||||
start: function () {
|
||||
this.initialiseChart();
|
||||
//this.initialiseChart();
|
||||
},
|
||||
end: function () {
|
||||
this.initialiseChart();
|
||||
//this.initialiseChart();
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
@@ -95,20 +106,28 @@ export default {
|
||||
let startStr = this.start.toISOString().split('T')[0];
|
||||
let endStr = this.end.toISOString().split('T')[0];
|
||||
let url = './api/v1/chart/account/overview?start=' + startStr + '&end=' + endStr;
|
||||
// console.log('URL is ' + url);
|
||||
axios.get(url)
|
||||
.then(response => {
|
||||
let chartData = DataConverter.methods.convertChart(response.data);
|
||||
chartData = DataConverter.methods.colorizeLineData(chartData);
|
||||
|
||||
this.dataCollection = chartData;
|
||||
this.loading = false;
|
||||
this.drawChart();
|
||||
})
|
||||
.catch(error => {
|
||||
// console.log('Has error!');
|
||||
// console.log(error);
|
||||
console.log('Has error!');
|
||||
console.log(error);
|
||||
this.error = true;
|
||||
// console.error(error);
|
||||
});
|
||||
},
|
||||
drawChart: function () {
|
||||
this._chart = new ChartJs.Chart(this.$refs.canvas.getContext('2d'), {
|
||||
type: 'line',
|
||||
data: this.dataCollection,
|
||||
options: this.chartOptions
|
||||
}
|
||||
);
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
@@ -20,7 +20,10 @@
|
||||
|
||||
<script>
|
||||
|
||||
import {Line, mixins} from 'vue-chartjs'
|
||||
//import {Line, mixins} from 'vue-chartjs'
|
||||
|
||||
|
||||
import { Chart, LineController, LineElement, PointElement, LinearScale, Title } from 'chart.js'
|
||||
|
||||
const {reactiveProp} = mixins
|
||||
|
||||
|
||||
46
frontend/src/components/store/modules/root.js
vendored
46
frontend/src/components/store/modules/root.js
vendored
@@ -22,7 +22,7 @@
|
||||
const state = () => (
|
||||
{
|
||||
listPageSize: 33,
|
||||
// timezone: ''
|
||||
timezone: ''
|
||||
}
|
||||
)
|
||||
|
||||
@@ -32,10 +32,10 @@ const getters = {
|
||||
listPageSize: state => {
|
||||
return state.listPageSize;
|
||||
},
|
||||
// timezone: state => {
|
||||
// // console.log('Wil return ' + state.listPageSize);
|
||||
// return state.timezone;
|
||||
// },
|
||||
timezone: state => {
|
||||
// console.log('Wil return ' + state.listPageSize);
|
||||
return state.timezone;
|
||||
},
|
||||
}
|
||||
|
||||
// actions
|
||||
@@ -53,17 +53,17 @@ const actions = {
|
||||
}
|
||||
);
|
||||
}
|
||||
// if (localStorage.timezone) {
|
||||
// state.timezone = localStorage.timezone;
|
||||
// context.commit('setTimezone', {timezone: localStorage.timezone});
|
||||
// }
|
||||
// if (!localStorage.timezone) {
|
||||
// axios.get('./api/v1/configuration/app.timezone')
|
||||
// .then(response => {
|
||||
// context.commit('setTimezone', {timezone: response.data.data.value});
|
||||
// }
|
||||
// );
|
||||
// }
|
||||
if (localStorage.timezone) {
|
||||
state.timezone = localStorage.timezone;
|
||||
context.commit('setTimezone', {timezone: localStorage.timezone});
|
||||
}
|
||||
if (!localStorage.timezone) {
|
||||
axios.get('./api/v1/configuration/app.timezone')
|
||||
.then(response => {
|
||||
context.commit('setTimezone', {timezone: response.data.data.value});
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,13 +79,13 @@ const mutations = {
|
||||
|
||||
}
|
||||
},
|
||||
// setTimezone(state, payload) {
|
||||
//
|
||||
// if ('' !== payload.timezone) {
|
||||
// state.timezone = payload.timezone;
|
||||
// localStorage.timezone = payload.timezone;
|
||||
// }
|
||||
// },
|
||||
setTimezone(state, payload) {
|
||||
|
||||
if ('' !== payload.timezone) {
|
||||
state.timezone = payload.timezone;
|
||||
localStorage.timezone = payload.timezone;
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export default {
|
||||
|
||||
@@ -109,6 +109,7 @@
|
||||
"edit": "\u041f\u0440\u043e\u043c\u0435\u043d\u0438",
|
||||
"account_type_Loan": "\u0417\u0430\u0435\u043c",
|
||||
"account_type_Mortgage": "\u0418\u043f\u043e\u0442\u0435\u043a\u0430",
|
||||
"timezone_difference": "Your browser reports time zone \"{local}\". Firefly III is configured for time zone \"{system}\". This chart may drift.",
|
||||
"stored_new_account_js": "New account \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" stored!",
|
||||
"account_type_Debt": "\u0414\u044a\u043b\u0433",
|
||||
"delete": "\u0418\u0437\u0442\u0440\u0438\u0439",
|
||||
|
||||
@@ -109,6 +109,7 @@
|
||||
"edit": "Upravit",
|
||||
"account_type_Loan": "P\u016fj\u010dka",
|
||||
"account_type_Mortgage": "Hypot\u00e9ka",
|
||||
"timezone_difference": "Your browser reports time zone \"{local}\". Firefly III is configured for time zone \"{system}\". This chart may drift.",
|
||||
"stored_new_account_js": "New account \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" stored!",
|
||||
"account_type_Debt": "Dluh",
|
||||
"delete": "Odstranit",
|
||||
|
||||
@@ -109,6 +109,7 @@
|
||||
"edit": "Bearbeiten",
|
||||
"account_type_Loan": "Darlehen",
|
||||
"account_type_Mortgage": "Hypothek",
|
||||
"timezone_difference": "Your browser reports time zone \"{local}\". Firefly III is configured for time zone \"{system}\". This chart may drift.",
|
||||
"stored_new_account_js": "Neues Konto \"<a href=\"accounts\/show\/{ID}\">\u201e{name}\u201d<\/a>\" gespeichert!",
|
||||
"account_type_Debt": "Schuld",
|
||||
"delete": "L\u00f6schen",
|
||||
|
||||
@@ -109,6 +109,7 @@
|
||||
"edit": "\u0395\u03c0\u03b5\u03be\u03b5\u03c1\u03b3\u03b1\u03c3\u03af\u03b1",
|
||||
"account_type_Loan": "\u0394\u03ac\u03bd\u03b5\u03b9\u03bf",
|
||||
"account_type_Mortgage": "\u03a5\u03c0\u03bf\u03b8\u03ae\u03ba\u03b7",
|
||||
"timezone_difference": "Your browser reports time zone \"{local}\". Firefly III is configured for time zone \"{system}\". This chart may drift.",
|
||||
"stored_new_account_js": "New account \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" stored!",
|
||||
"account_type_Debt": "\u03a7\u03c1\u03ad\u03bf\u03c2",
|
||||
"delete": "\u0394\u03b9\u03b1\u03b3\u03c1\u03b1\u03c6\u03ae",
|
||||
|
||||
@@ -109,6 +109,7 @@
|
||||
"edit": "Edit",
|
||||
"account_type_Loan": "Loan",
|
||||
"account_type_Mortgage": "Mortgage",
|
||||
"timezone_difference": "Your browser reports time zone \"{local}\". Firefly III is configured for time zone \"{system}\". This chart may drift.",
|
||||
"stored_new_account_js": "New account \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" stored!",
|
||||
"account_type_Debt": "Debt",
|
||||
"delete": "Delete",
|
||||
|
||||
@@ -109,6 +109,7 @@
|
||||
"edit": "Edit",
|
||||
"account_type_Loan": "Loan",
|
||||
"account_type_Mortgage": "Mortgage",
|
||||
"timezone_difference": "Your browser reports time zone \"{local}\". Firefly III is configured for time zone \"{system}\". This chart may drift.",
|
||||
"stored_new_account_js": "New account \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" stored!",
|
||||
"account_type_Debt": "Debt",
|
||||
"delete": "Delete",
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
"spent": "Gastado",
|
||||
"Default asset account": "Cuenta de ingresos por defecto",
|
||||
"search_results": "Buscar resultados",
|
||||
"include": "Include?",
|
||||
"include": "\u00bfIncluir?",
|
||||
"transaction": "Transaccion",
|
||||
"account_role_defaultAsset": "Cuentas de ingresos por defecto",
|
||||
"account_role_savingAsset": "Cuentas de ahorros",
|
||||
@@ -109,7 +109,8 @@
|
||||
"edit": "Editar",
|
||||
"account_type_Loan": "Pr\u00e9stamo",
|
||||
"account_type_Mortgage": "Hipoteca",
|
||||
"stored_new_account_js": "New account \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" stored!",
|
||||
"timezone_difference": "Your browser reports time zone \"{local}\". Firefly III is configured for time zone \"{system}\". This chart may drift.",
|
||||
"stored_new_account_js": "Nueva cuenta \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" guardada!",
|
||||
"account_type_Debt": "Deuda",
|
||||
"delete": "Eliminar",
|
||||
"store_new_asset_account": "Crear cuenta de activos",
|
||||
@@ -119,14 +120,14 @@
|
||||
"mandatoryFields": "Campos obligatorios",
|
||||
"optionalFields": "Campos opcionales",
|
||||
"reconcile_this_account": "Reconciliar esta cuenta",
|
||||
"interest_calc_weekly": "Per week",
|
||||
"interest_calc_weekly": "Por semana",
|
||||
"interest_calc_monthly": "Por mes",
|
||||
"interest_calc_quarterly": "Per quarter",
|
||||
"interest_calc_half-year": "Per half year",
|
||||
"interest_calc_quarterly": "Por trimestre",
|
||||
"interest_calc_half-year": "Por semestre",
|
||||
"interest_calc_yearly": "Por a\u00f1o",
|
||||
"liability_direction_credit": "I am owed this debt",
|
||||
"liability_direction_debit": "I owe this debt to somebody else",
|
||||
"save_transactions_by_moving_js": "No transactions|Save this transaction by moving it to another account. |Save these transactions by moving them to another account.",
|
||||
"liability_direction_credit": "Se me debe esta deuda",
|
||||
"liability_direction_debit": "Le debo esta deuda a otra persona",
|
||||
"save_transactions_by_moving_js": "Ninguna transacci\u00f3n|Guardar esta transacci\u00f3n movi\u00e9ndola a otra cuenta. |Guardar estas transacciones movi\u00e9ndolas a otra cuenta.",
|
||||
"none_in_select_list": "(ninguno)"
|
||||
},
|
||||
"list": {
|
||||
@@ -162,14 +163,14 @@
|
||||
"interest": "Inter\u00e9s",
|
||||
"interest_period": "Per\u00edodo de inter\u00e9s",
|
||||
"currency_id": "Divisa",
|
||||
"liability_type": "Liability type",
|
||||
"liability_type": "Tipo de pasivo",
|
||||
"account_role": "Rol de cuenta",
|
||||
"liability_direction": "Liability in\/out",
|
||||
"liability_direction": "Pasivo entrada\/salida",
|
||||
"book_date": "Fecha de registro",
|
||||
"permDeleteWarning": "Eliminar cosas de Firefly III es permanente y no se puede deshacer.",
|
||||
"account_areYouSure_js": "Are you sure you want to delete the account named \"{name}\"?",
|
||||
"also_delete_piggyBanks_js": "No piggy banks|The only piggy bank connected to this account will be deleted as well.|All {count} piggy banks connected to this account will be deleted as well.",
|
||||
"also_delete_transactions_js": "No transactions|The only transaction connected to this account will be deleted as well.|All {count} transactions connected to this account will be deleted as well.",
|
||||
"account_areYouSure_js": "\u00bfEst\u00e1 seguro que desea eliminar la cuenta llamada \"{name}\"?",
|
||||
"also_delete_piggyBanks_js": "Ninguna alcanc\u00eda|La \u00fanica alcanc\u00eda conectada a esta cuenta tambi\u00e9n ser\u00e1 borrada. Tambi\u00e9n se eliminar\u00e1n todas {count} alcanc\u00edas conectados a esta cuenta.",
|
||||
"also_delete_transactions_js": "Ninguna transacci\u00f3n|La \u00fanica transacci\u00f3n conectada a esta cuenta se eliminar\u00e1 tambi\u00e9n.|Todas las {count} transacciones conectadas a esta cuenta tambi\u00e9n se eliminar\u00e1n.",
|
||||
"process_date": "Fecha de procesamiento",
|
||||
"due_date": "Fecha de vencimiento",
|
||||
"payment_date": "Fecha de pago",
|
||||
|
||||
@@ -109,6 +109,7 @@
|
||||
"edit": "Muokkaa",
|
||||
"account_type_Loan": "Laina",
|
||||
"account_type_Mortgage": "Kiinnelaina",
|
||||
"timezone_difference": "Your browser reports time zone \"{local}\". Firefly III is configured for time zone \"{system}\". This chart may drift.",
|
||||
"stored_new_account_js": "New account \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" stored!",
|
||||
"account_type_Debt": "Velka",
|
||||
"delete": "Poista",
|
||||
|
||||
@@ -109,6 +109,7 @@
|
||||
"edit": "Modifier",
|
||||
"account_type_Loan": "Pr\u00eat",
|
||||
"account_type_Mortgage": "Pr\u00eat hypoth\u00e9caire",
|
||||
"timezone_difference": "Your browser reports time zone \"{local}\". Firefly III is configured for time zone \"{system}\". This chart may drift.",
|
||||
"stored_new_account_js": "Nouveau compte \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" enregistr\u00e9 !",
|
||||
"account_type_Debt": "Dette",
|
||||
"delete": "Supprimer",
|
||||
|
||||
@@ -109,6 +109,7 @@
|
||||
"edit": "Szerkeszt\u00e9s",
|
||||
"account_type_Loan": "Hitel",
|
||||
"account_type_Mortgage": "Jelz\u00e1log",
|
||||
"timezone_difference": "Your browser reports time zone \"{local}\". Firefly III is configured for time zone \"{system}\". This chart may drift.",
|
||||
"stored_new_account_js": "New account \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" stored!",
|
||||
"account_type_Debt": "Ad\u00f3ss\u00e1g",
|
||||
"delete": "T\u00f6rl\u00e9s",
|
||||
|
||||
@@ -109,6 +109,7 @@
|
||||
"edit": "Modifica",
|
||||
"account_type_Loan": "Prestito",
|
||||
"account_type_Mortgage": "Mutuo",
|
||||
"timezone_difference": "Your browser reports time zone \"{local}\". Firefly III is configured for time zone \"{system}\". This chart may drift.",
|
||||
"stored_new_account_js": "Nuovo conto \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" salvato!",
|
||||
"account_type_Debt": "Debito",
|
||||
"delete": "Elimina",
|
||||
|
||||
@@ -109,6 +109,7 @@
|
||||
"edit": "Rediger",
|
||||
"account_type_Loan": "L\u00e5n",
|
||||
"account_type_Mortgage": "Boligl\u00e5n",
|
||||
"timezone_difference": "Your browser reports time zone \"{local}\". Firefly III is configured for time zone \"{system}\". This chart may drift.",
|
||||
"stored_new_account_js": "New account \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" stored!",
|
||||
"account_type_Debt": "Gjeld",
|
||||
"delete": "Slett",
|
||||
|
||||
@@ -109,6 +109,7 @@
|
||||
"edit": "Wijzig",
|
||||
"account_type_Loan": "Lening",
|
||||
"account_type_Mortgage": "Hypotheek",
|
||||
"timezone_difference": "Je browser is in tijdzone \"{local}\". Firefly III is in tijdzone \"{system}\". Deze grafiek kan afwijken.",
|
||||
"stored_new_account_js": "Nieuwe account \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" opgeslagen!",
|
||||
"account_type_Debt": "Schuld",
|
||||
"delete": "Verwijder",
|
||||
|
||||
@@ -109,6 +109,7 @@
|
||||
"edit": "Modyfikuj",
|
||||
"account_type_Loan": "Po\u017cyczka",
|
||||
"account_type_Mortgage": "Hipoteka",
|
||||
"timezone_difference": "Your browser reports time zone \"{local}\". Firefly III is configured for time zone \"{system}\". This chart may drift.",
|
||||
"stored_new_account_js": "New account \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" stored!",
|
||||
"account_type_Debt": "D\u0142ug",
|
||||
"delete": "Usu\u0144",
|
||||
|
||||
@@ -109,6 +109,7 @@
|
||||
"edit": "Editar",
|
||||
"account_type_Loan": "Empr\u00e9stimo",
|
||||
"account_type_Mortgage": "Hipoteca",
|
||||
"timezone_difference": "Your browser reports time zone \"{local}\". Firefly III is configured for time zone \"{system}\". This chart may drift.",
|
||||
"stored_new_account_js": "New account \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" stored!",
|
||||
"account_type_Debt": "D\u00edvida",
|
||||
"delete": "Apagar",
|
||||
|
||||
@@ -109,6 +109,7 @@
|
||||
"edit": "Alterar",
|
||||
"account_type_Loan": "Emprestimo",
|
||||
"account_type_Mortgage": "Hipoteca",
|
||||
"timezone_difference": "Your browser reports time zone \"{local}\". Firefly III is configured for time zone \"{system}\". This chart may drift.",
|
||||
"stored_new_account_js": "Nova conta \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" armazenada!",
|
||||
"account_type_Debt": "Debito",
|
||||
"delete": "Apagar",
|
||||
|
||||
@@ -109,6 +109,7 @@
|
||||
"edit": "Editeaz\u0103",
|
||||
"account_type_Loan": "\u00cemprumut",
|
||||
"account_type_Mortgage": "Credit ipotecar",
|
||||
"timezone_difference": "Your browser reports time zone \"{local}\". Firefly III is configured for time zone \"{system}\". This chart may drift.",
|
||||
"stored_new_account_js": "New account \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" stored!",
|
||||
"account_type_Debt": "Datorie",
|
||||
"delete": "\u0218terge",
|
||||
|
||||
@@ -109,6 +109,7 @@
|
||||
"edit": "\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c",
|
||||
"account_type_Loan": "\u0417\u0430\u0451\u043c",
|
||||
"account_type_Mortgage": "\u0418\u043f\u043e\u0442\u0435\u043a\u0430",
|
||||
"timezone_difference": "Your browser reports time zone \"{local}\". Firefly III is configured for time zone \"{system}\". This chart may drift.",
|
||||
"stored_new_account_js": "New account \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" stored!",
|
||||
"account_type_Debt": "\u0414\u0435\u0431\u0438\u0442",
|
||||
"delete": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c",
|
||||
|
||||
@@ -109,6 +109,7 @@
|
||||
"edit": "Upravi\u0165",
|
||||
"account_type_Loan": "P\u00f4\u017ei\u010dka",
|
||||
"account_type_Mortgage": "Hypot\u00e9ka",
|
||||
"timezone_difference": "Your browser reports time zone \"{local}\". Firefly III is configured for time zone \"{system}\". This chart may drift.",
|
||||
"stored_new_account_js": "New account \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" stored!",
|
||||
"account_type_Debt": "Dlh",
|
||||
"delete": "Odstr\u00e1ni\u0165",
|
||||
|
||||
@@ -109,6 +109,7 @@
|
||||
"edit": "Redigera",
|
||||
"account_type_Loan": "L\u00e5n",
|
||||
"account_type_Mortgage": "Bol\u00e5n",
|
||||
"timezone_difference": "Your browser reports time zone \"{local}\". Firefly III is configured for time zone \"{system}\". This chart may drift.",
|
||||
"stored_new_account_js": "Nytt konto \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" lagrat!",
|
||||
"account_type_Debt": "Skuld",
|
||||
"delete": "Ta bort",
|
||||
|
||||
@@ -109,6 +109,7 @@
|
||||
"edit": "S\u1eeda",
|
||||
"account_type_Loan": "Ti\u1ec1n vay",
|
||||
"account_type_Mortgage": "Th\u1ebf ch\u1ea5p",
|
||||
"timezone_difference": "Your browser reports time zone \"{local}\". Firefly III is configured for time zone \"{system}\". This chart may drift.",
|
||||
"stored_new_account_js": "New account \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" stored!",
|
||||
"account_type_Debt": "M\u00f3n n\u1ee3",
|
||||
"delete": "X\u00f3a",
|
||||
|
||||
@@ -109,6 +109,7 @@
|
||||
"edit": "\u7f16\u8f91",
|
||||
"account_type_Loan": "\u8d37\u6b3e",
|
||||
"account_type_Mortgage": "\u62b5\u62bc",
|
||||
"timezone_difference": "Your browser reports time zone \"{local}\". Firefly III is configured for time zone \"{system}\". This chart may drift.",
|
||||
"stored_new_account_js": "New account \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" stored!",
|
||||
"account_type_Debt": "\u6b20\u6b3e",
|
||||
"delete": "\u5220\u9664",
|
||||
|
||||
@@ -109,6 +109,7 @@
|
||||
"edit": "\u7de8\u8f2f",
|
||||
"account_type_Loan": "\u8cb8\u6b3e",
|
||||
"account_type_Mortgage": "\u62b5\u62bc",
|
||||
"timezone_difference": "Your browser reports time zone \"{local}\". Firefly III is configured for time zone \"{system}\". This chart may drift.",
|
||||
"stored_new_account_js": "New account \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" stored!",
|
||||
"account_type_Debt": "\u8ca0\u50b5",
|
||||
"delete": "\u522a\u9664",
|
||||
|
||||
@@ -941,13 +941,6 @@
|
||||
"@types/serve-static" "*"
|
||||
chokidar "^2.1.2"
|
||||
|
||||
"@types/chart.js@^2.7.55":
|
||||
version "2.9.32"
|
||||
resolved "https://registry.yarnpkg.com/@types/chart.js/-/chart.js-2.9.32.tgz#b17d9a8c41ad348183a2ce041ebdeef892998251"
|
||||
integrity sha512-d45JiRQwEOlZiKwukjqmqpbqbYzUX2yrXdH9qVn6kXpPDsTYCo6YbfFOlnUaJ8S/DhJwbBJiLsMjKpW5oP8B2A==
|
||||
dependencies:
|
||||
moment "^2.10.2"
|
||||
|
||||
"@types/clean-css@^4.2.2":
|
||||
version "4.2.4"
|
||||
resolved "https://registry.yarnpkg.com/@types/clean-css/-/clean-css-4.2.4.tgz#4fe4705c384e6ec9ee8454bc3d49089f38dc038a"
|
||||
@@ -2083,6 +2076,11 @@ chart.js@^2.9.4:
|
||||
chartjs-color "^2.1.0"
|
||||
moment "^2.10.2"
|
||||
|
||||
chart.js@^3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-3.0.2.tgz#5893b0548714445b5190cbda9ac307357a56a0c7"
|
||||
integrity sha512-DR0GmFSlxcFJp/w//ZmbxSduAkH/AqwxoiZxK97KHnWZf6gvsKWS3160WvNMMHYvzW9OXqGWjPjVh1Qu+xDabg==
|
||||
|
||||
chartjs-color-string@^0.6.0:
|
||||
version "0.6.0"
|
||||
resolved "https://registry.yarnpkg.com/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz#1df096621c0e70720a64f4135ea171d051402f71"
|
||||
@@ -2554,9 +2552,9 @@ css-declaration-sorter@^4.0.1:
|
||||
timsort "^0.3.0"
|
||||
|
||||
css-loader@^5.0.0:
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.2.0.tgz#a9ecda190500863673ce4434033710404efbff00"
|
||||
integrity sha512-MfRo2MjEeLXMlUkeUwN71Vx5oc6EJnx5UQ4Yi9iUtYQvrPtwLUucYptz0hc6n++kdNcyF5olYBS4vPjJDAcLkw==
|
||||
version "5.2.1"
|
||||
resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.2.1.tgz#15fbd5b6ac4c1b170a098f804c5abd0722f2aa73"
|
||||
integrity sha512-YCyRzlt/jgG1xanXZDG/DHqAueOtXFHeusP9TS478oP1J++JSKOyEgGW1GHVoCj/rkS+GWOlBwqQJBr9yajQ9w==
|
||||
dependencies:
|
||||
camelcase "^6.2.0"
|
||||
cssesc "^3.0.0"
|
||||
@@ -2952,9 +2950,9 @@ date-fns-tz@^1.0.12:
|
||||
integrity sha512-mD26WkejWz842RggjFrKsY6ehGgyBQSJ209mn83/vsjhgQ5WbdVvBzJ0CuosnGdklDxOvOppQ/wn1UgvTOPKPw==
|
||||
|
||||
date-fns@^2.8.1:
|
||||
version "2.20.0"
|
||||
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.20.0.tgz#df00ba9177fbea22d88010b5844ecc91e9e03ceb"
|
||||
integrity sha512-nmA7y6aDH5+fknfJ0G77HQzUSfTPpq4ifq+c9blP9d+X9zs3kNjxC+t3pcbBMGTp262a6PJB3RVjLlxIgoMI+Q==
|
||||
version "2.20.1"
|
||||
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.20.1.tgz#7e60b7035284a5f83e37500376e738d9f49ecfd3"
|
||||
integrity sha512-8P5M8Kxbnovd0zfvOs7ipkiVJ3/zZQ0F/nrBW4x5E+I0uAZVZ80h6CKd24fSXQ5TLK5hXMtI4yb2O5rEZdUt2A==
|
||||
|
||||
daterangepicker@^3.1.0:
|
||||
version "3.1.0"
|
||||
@@ -4534,9 +4532,9 @@ is-directory@^0.3.1:
|
||||
integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=
|
||||
|
||||
is-docker@^2.0.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.0.tgz#b037c8815281edaad6c2562648a5f5f18839d5f7"
|
||||
integrity sha512-K4GwB4i/HzhAzwP/XSlspzRdFTI9N8OxJOyOU7Y5Rz+p+WBokXWVWblaJeBkggthmoSV0OoGTH5thJNvplpkvQ==
|
||||
version "2.2.1"
|
||||
resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa"
|
||||
integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==
|
||||
|
||||
is-extendable@^0.1.0, is-extendable@^0.1.1:
|
||||
version "0.1.1"
|
||||
@@ -5776,9 +5774,9 @@ path-type@^4.0.0:
|
||||
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
|
||||
|
||||
pbkdf2@^3.0.3:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94"
|
||||
integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075"
|
||||
integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==
|
||||
dependencies:
|
||||
create-hash "^1.1.2"
|
||||
create-hmac "^1.1.4"
|
||||
@@ -7591,13 +7589,6 @@ vm-browserify@^1.0.1:
|
||||
resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
|
||||
integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==
|
||||
|
||||
vue-chartjs@^3.5.1:
|
||||
version "3.5.1"
|
||||
resolved "https://registry.yarnpkg.com/vue-chartjs/-/vue-chartjs-3.5.1.tgz#d25e845708f7744ae51bed9d23a975f5f8fc6529"
|
||||
integrity sha512-foocQbJ7FtveICxb4EV5QuVpo6d8CmZFmAopBppDIGKY+esJV8IJgwmEW0RexQhxqXaL/E1xNURsgFFYyKzS/g==
|
||||
dependencies:
|
||||
"@types/chart.js" "^2.7.55"
|
||||
|
||||
vue-functional-data-merge@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/vue-functional-data-merge/-/vue-functional-data-merge-3.1.0.tgz#08a7797583b7f35680587f8a1d51d729aa1dc657"
|
||||
@@ -7609,9 +7600,9 @@ vue-hot-reload-api@^2.3.0:
|
||||
integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==
|
||||
|
||||
vue-i18n@^8.24.2:
|
||||
version "8.24.2"
|
||||
resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-8.24.2.tgz#4bfba15a89c0697220b55f787bbcb05a461d5482"
|
||||
integrity sha512-+TkAPBQw4Cp2bQrSPtPNkhET7XcWYjjDt1UjWYQs+xbT41q5OAl1I3IZyhg0drjn1nlC1K0f8sLVB/nshUcF1Q==
|
||||
version "8.24.3"
|
||||
resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-8.24.3.tgz#2233ae11ec59e8204df58a28fc41afe9754e3b41"
|
||||
integrity sha512-uKAYzGbwGIJndY7JwhQwIGi1uyvErWkBfFwooOtjcNnIfMbAR49ad5dT/MiykrJ9pCcgvnocFjFsNLtTzyW+rg==
|
||||
|
||||
vue-loader@^15.9.5:
|
||||
version "15.9.6"
|
||||
@@ -7782,9 +7773,9 @@ webpack-sources@^2.1.1:
|
||||
source-map "^0.6.1"
|
||||
|
||||
webpack@^5.25.1, webpack@^5.30.0:
|
||||
version "5.31.0"
|
||||
resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.31.0.tgz#fab61d0be896feca4af87bdad5c18815c0d63455"
|
||||
integrity sha512-3fUfZT/FUuThWSSyL32Fsh7weUUfYP/Fjc/cGSbla5KiSo0GtI1JMssCRUopJTvmLjrw05R2q7rlLtiKdSzkzQ==
|
||||
version "5.31.1"
|
||||
resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.31.1.tgz#95fd1c713514200b582fd60b5fa1ff5d62e647b8"
|
||||
integrity sha512-5qwWBZ50ntjXtPbNpCNvvufX3+zuYBcXMmLYnFiLJMJdSP/YMh7Yamx0um7GZqQoDVs6pMOiQKU/zbKglqdoag==
|
||||
dependencies:
|
||||
"@types/eslint-scope" "^3.7.0"
|
||||
"@types/estree" "^0.0.46"
|
||||
|
||||
Reference in New Issue
Block a user