Rebuild front with some vuex storage.

This commit is contained in:
James Cole 2020-12-22 17:22:50 +01:00
parent 7530effcaa
commit 1a8fd25ec3
No known key found for this signature in database
GPG Key ID: B5669F9493CDE38D
20 changed files with 188 additions and 91 deletions

View File

@ -36,6 +36,7 @@
"tempusdominus": "^5.16.0",
"v-calendar": "^2.1.3",
"vue-chartjs": "^3.5.1",
"vue-router": "^3.4.9"
"vue-router": "^3.4.9",
"vuex": "^3.6.0"
}
}

View File

@ -23,6 +23,7 @@ import Vue from 'vue';
import VueI18n from 'vue-i18n'
import * as uiv from 'uiv';
// export jquery for others scripts to use
window.$ = window.jQuery = require('jquery');
@ -55,9 +56,10 @@ require('bootstrap'); // bootstrap CSS?
require('./dist/js/adminlte');
require('overlayscrollbars');
// vue
window.vuei18n = VueI18n;
window.uiv =uiv;
window.uiv = uiv;
Vue.use(vuei18n);
Vue.use(uiv);
window.Vue = Vue;
window.Vue = Vue;

View File

@ -104,11 +104,15 @@ export default {
props: {
budgetLimit: {
type: Object,
default: {}
default: function () {
return {};
}
},
budget: {
type: Object,
default: {}
default: function () {
return {};
}
}
}
}

View File

@ -35,36 +35,41 @@
is-range
>
<template v-slot="{ inputValue, inputEvents, isDragging, togglePopover }">
<div class="btn-group btn-group-sm btn-group-justified">
<button
class="btn btn-secondary btn-sm"
@click="togglePopover({ placement: 'auto-start', positionFixed:true })"
><i class="fas fa-calendar-alt"></i></button>
<button
class="btn btn-secondary"
><i class="fas fa-history"></i></button>
<div class="row">
<div class="col">
<div class="btn-group btn-group-sm d-flex">
<button
class="btn btn-secondary btn-sm"
@click="togglePopover({ placement: 'auto-start', positionFixed:true })"
><i class="fas fa-calendar-alt"></i></button>
<button
class="btn btn-secondary"
><i class="fas fa-history"></i></button>
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-list"></i>
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#">(prev period)</a>
<a class="dropdown-item" href="#">(next period)</a>
<a class="dropdown-item" href="#">(this week?)</a>
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true"
aria-expanded="false">
<i class="fas fa-list"></i>
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#">(prev period)</a>
<a class="dropdown-item" href="#">(next period)</a>
<a class="dropdown-item" href="#">(this week?)</a>
</div>
</div>
<input type="hidden"
:class="isDragging ? 'text-gray-600' : 'text-gray-900'"
:value="inputValue.start"
v-on="inputEvents.start"
/>
<input type="hidden"
:class="isDragging ? 'text-gray-600' : 'text-gray-900'"
:value="inputValue.end"
v-on="inputEvents.end"
/>
</div>
</div>
<input type="hidden"
:class="isDragging ? 'text-gray-600' : 'text-gray-900'"
:value="inputValue.start"
v-on="inputEvents.start"
/>
<input type="hidden"
:class="isDragging ? 'text-gray-600' : 'text-gray-900'"
:value="inputValue.end"
v-on="inputEvents.end"
/>
</template>
</date-picker>
</div>
@ -73,8 +78,12 @@
<script>
export default {
name: "Calendar",
mounted() {
this.locale = localStorage.locale ?? 'en-US';
created() {
// this.locale = localStorage.locale ?? 'en-US';
// this.$store.commit('increment');
// console.log(this.$store.state.count);
// get dates for current period (history button):
// get dates for optional periods (dropdown) + descriptions.
},
data() {
return {
@ -83,12 +92,21 @@ export default {
start: new Date(window.sessionStart),
end: new Date(window.sessionEnd),
},
defaultRange: {
start: new Date(window.sessionStart),
end: new Date(window.sessionEnd),
},
};
},
}
</script>
<style scoped>
.dropdown-item {color:#212529;}
.dropdown-item:hover {color:#212529;}
.dropdown-item {
color: #212529;
}
.dropdown-item:hover {
color: #212529;
}
</style>

View File

@ -20,10 +20,6 @@
<template>
<div>
<top-boxes/>
<div class="row">
<div class="col">
@ -40,15 +36,15 @@
<div class="row">
<div class="col">
<main-category-list />
<main-category-list/>
</div>
</div>
<div class="row">
<div class="col-lg-6 col-md-12 col-sm-12 col-xs-12">
<main-debit-list />
<main-debit-list/>
</div>
<div class="col-lg-6 col-md-12 col-sm-12 col-xs-12">
<main-credit-list />
<main-credit-list/>
</div>
</div>
@ -70,34 +66,8 @@
<script>
export default {
name: "Dashboard",
created() {
if (!localStorage.currencyPreference) {
this.getCurrencyPreference();
}
},
methods: {
getCurrencyPreference: function () {
axios.get('./api/v1/currencies/default')
.then(response => {
localStorage.currencyPreference = JSON.stringify({
id: parseInt(response.data.data.id),
name: response.data.data.attributes.name,
symbol: response.data.data.attributes.symbol,
code: response.data.data.attributes.code,
decimal_places: parseInt(response.data.data.attributes.decimal_places),
});
}).catch(err => {
console.log('Got error response.');
console.error(err);
localStorage.currencyPreference = JSON.stringify({
id: 1,
name: 'Euro',
symbol: '€',
code: 'EUR',
decimal_places: 2
});
});
}
}
created() {},
computed: {},
methods: {}
}
</script>

View File

@ -27,7 +27,7 @@
<div class="info-box-content">
<span class="info-box-text">{{ $t("firefly.balance") }}</span>
<!-- balance in preferred currency -->
<span class="info-box-number" v-for="balance in prefCurrencyBalances" :title="balance.sub_title">{{ balance.value_parsed }}</span>
<span class="info-box-number" v-for="balance in prefCurrencyBalances" :title="balance.sub_title">(x) {{ balance.value_parsed }}</span>
<div class="progress bg-info">
<div class="progress-bar" style="width: 0"></div>
@ -35,6 +35,7 @@
<!-- balance in not preferred currency -->
<span class="progress-description">
<span v-for="(balance, index) in notPrefCurrencyBalances" :title="balance.sub_title">
(y)
{{ balance.value_parsed }}<span v-if="index+1 !== notPrefCurrencyBalances.length">, </span>
</span>
<span v-if="0===notPrefCurrencyBalances.length">&nbsp;</span>
@ -122,7 +123,6 @@ export default {
props: {},
data() {
return {
currencyPreference: {},
summary: [],
balances: [],
billsPaid: [],
@ -164,17 +164,23 @@ export default {
notPrefNetWorth: function () {
return this.filterOnNotCurrency(this.netWorth);
},
currencyCode() {
return this.$store.getters.currencyCode;
},
currencyId() {
return this.$store.getters.currencyId;
}
},
created() {
this.prepareComponent();
this.currencyPreference = localStorage.currencyPreference ? JSON.parse(localStorage.currencyPreference) : {};
},
methods: {
filterOnCurrency(array) {
let ret = [];
for (const key in array) {
if (array.hasOwnProperty(key)) {
if (array[key].currency_id === this.currencyPreference.id) {
console.log('Currency ID seems to be ' + this.currencyId);
if (array[key].currency_id === this.currencyId) {
ret.push(array[key]);
}
}
@ -189,7 +195,7 @@ export default {
let ret = [];
for (const key in array) {
if (array.hasOwnProperty(key)) {
if (array[key].currency_id !== this.currencyPreference.id) {
if (array[key].currency_id !== this.currencyId) {
ret.push(array[key]);
}
}
@ -216,7 +222,7 @@ export default {
hasCurrency: function (array) {
for (const key in array) {
if (array.hasOwnProperty(key)) {
if (array[key].currency_id === this.currencyPreference.id) {
if (array[key].currency_id === this.currencyId) {
return true;
}
}

77
frontend/src/components/store/index.js vendored Normal file
View File

@ -0,0 +1,77 @@
/*
* index.js
* Copyright (c) 2020 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store(
{
modules: [],
strict: true,
plugins: [],
state: {
currencyPreference: {},
locale: 'en-US'
},
mutations: {
setCurrencyPreference(state, object) {
state.currencyPreference = object;
},
initialiseStore(state) {
console.log('initialiseStore');
}
},
getters: {
currencyCode: state => {
return state.currencyPreference.code;
},
currencyId: state => {
return state.currencyPreference.id;
}
},
actions: {
updateCurrencyPreference(context) {
axios.get('./api/v1/currencies/default')
.then(response => {
context.commit('setCurrencyPreference', {
id: parseInt(response.data.data.id),
name: response.data.data.attributes.name,
symbol: response.data.data.attributes.symbol,
code: response.data.data.attributes.code,
decimal_places: parseInt(response.data.data.attributes.decimal_places),
});
}).catch(err => {
console.log('Got error response.');
console.error(err);
context.commit('setCurrencyPreference', {
id: 1,
name: 'Euro',
symbol: '€',
code: 'EUR',
decimal_places: 2
});
});
}
}
}
);

View File

@ -33,6 +33,10 @@ import TransactionListSmall from "../components/transactions/TransactionListSmal
import DatePicker from 'v-calendar/lib/components/date-picker.umd'
import Calendar from "../components/dashboard/Calendar";
import MainCategoryList from "../components/dashboard/MainCategoryList";
import Vue from "vue";
import Vuex from 'vuex'
import store from '../components/store/index';
/**
* First we will load Axios via bootstrap.js
* jquery and bootstrap-sass preloaded in app.js
@ -41,7 +45,6 @@ import MainCategoryList from "../components/dashboard/MainCategoryList";
require('../bootstrap');
require('chart.js');
Vue.config.devtools = false;
Vue.component('transaction-list-large', TransactionListLarge);
Vue.component('transaction-list-medium', TransactionListMedium);
@ -60,24 +63,29 @@ Vue.component('main-debit-list', MainDebitList);
Vue.component('main-credit-list', MainCreditList);
Vue.component('main-piggy-list', MainPiggyList);
// i18n
Vue.use(Vuex);
let i18n = require('../i18n');
let props = {};
new Vue({
i18n,
store,
el: "#dashboard",
render: (createElement) => {
return createElement(Dashboard, {props: props});
},
beforeCreate() {
this.$store.dispatch('updateCurrencyPreference');
},
});
new Vue({
i18n,
store,
el: "#calendar",
render: (createElement) => {
return createElement(Calendar, {props: props});
},
// TODO init store as well?
});

View File

@ -6952,6 +6952,11 @@ vue@^2.6.12:
resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.12.tgz#f5ebd4fa6bd2869403e29a896aed4904456c9123"
integrity sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==
vuex@^3.6.0:
version "3.6.0"
resolved "https://registry.yarnpkg.com/vuex/-/vuex-3.6.0.tgz#95efa56a58f7607c135b053350833a09e01aa813"
integrity sha512-W74OO2vCJPs9/YjNjW8lLbj+jzT24waTo2KShI8jLvJW8OaIkgb3wuAMA7D+ZiUxDOx3ubwSZTaJBip9G8a3aQ==
watchpack-chokidar2@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957"

View File

@ -1,2 +1,2 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{226:function(t,s,a){t.exports=a(235)},235: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;console.log("mounted account list."),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,"0bf47abd",null).exports;a(5);var i=a(8),r={};new Vue({i18n:i,render:function(t){return t(n,{props:r})}}).$mount("#accounts")}},[[226,0,1]]]);
(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{227:function(t,s,a){t.exports=a(236)},236: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;console.log("mounted account list."),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,"0bf47abd",null).exports;a(7);var i=a(9),r={};new Vue({i18n:i,render:function(t){return t(n,{props:r})}}).$mount("#accounts")}},[[227,0,1]]]);
//# sourceMappingURL=index.js.map

View File

@ -1,2 +1,2 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{227:function(n,e,t){n.exports=t(236)},236: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(5);var c=t(8),u={};new Vue({i18n:c,render:function(n){return n(s,{props:u})}}).$mount("#accounts_show")}},[[227,0,1]]]);
(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{228:function(n,e,t){n.exports=t(237)},237: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(7);var c=t(9),u={};new Vue({i18n:c,render:function(n){return n(s,{props:u})}}).$mount("#accounts_show")}},[[228,0,1]]]);
//# sourceMappingURL=show.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,2 +1,2 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{225:function(a,e,t){a.exports=t(234)},234: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(5);var c=t(8),r={};new Vue({i18n:c,render:function(a){return a(i,{props:r})}}).$mount("#newuser")}},[[225,0,1]]]);
(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{226:function(a,e,t){a.exports=t(235)},235: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(7);var c=t(9),r={};new Vue({i18n:c,render:function(a){return a(i,{props:r})}}).$mount("#newuser")}},[[226,0,1]]]);
//# sourceMappingURL=index.js.map

View File

@ -1,2 +1,2 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{229:function(n,o,w){n.exports=w(230)},230:function(n,o,w){w(231)},231:function(n,o,w){window.$=window.jQuery=w(7)}},[[229,0,1]]]);
(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{230:function(n,o,w){n.exports=w(231)},231:function(n,o,w){w(232)},232:function(n,o,w){window.$=window.jQuery=w(8)}},[[230,0,1]]]);
//# sourceMappingURL=register.js.map

View File

@ -1,2 +1,2 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{228:function(a,t,s){a.exports=s(237)},237:function(a,t,s){"use strict";s.r(t);var c={name:"Create"},i=s(1),e=Object(i.a)(c,(function(){var a=this.$createElement;this._self._c;return this._m(0)}),[function(){var a=this,t=a.$createElement,s=a._self._c||t;return s("div",{staticClass:"row"},[s("div",{staticClass:"col"},[s("div",{staticClass:"card"},[s("div",{staticClass:"card-header"},[s("h3",{staticClass:"card-title"},[a._v("Create a new transaction")])]),a._v(" "),s("div",{staticClass:"card-body"},[s("div",{attrs:{id:"accordion"}},[s("div",{staticClass:"card card-primary"},[s("div",{staticClass:"card-header"},[s("h4",{staticClass:"card-title"},[s("a",{attrs:{"data-toggle":"collapse","data-parent":"#accordion",href:"#collapseOne","aria-expanded":"true"}},[a._v("\n Basic transaction information\n ")])])]),a._v(" "),s("div",{staticClass:"panel-collapse in collapse show",attrs:{id:"collapseOne"}},[s("div",{staticClass:"card-body"},[s("div",{staticClass:"row"},[s("div",{staticClass:"col"},[a._v("From")]),a._v(" "),s("div",{staticClass:"col"},[a._v("To")])]),a._v(" "),s("div",{staticClass:"row"},[s("div",{staticClass:"col"},[a._v("\n Amount, foreign amount, description, time + date\n\n ")])])])])]),a._v(" "),s("div",{staticClass:"card card-secondary"},[s("div",{staticClass:"card-header"},[s("h4",{staticClass:"card-title"},[s("a",{staticClass:"collapsed",attrs:{"data-toggle":"collapse","data-parent":"#accordion",href:"#collapseTwo","aria-expanded":"false"}},[a._v("\n Meta information\n ")])])]),a._v(" "),s("div",{staticClass:"panel-collapse collapse",attrs:{id:"collapseTwo"}},[s("div",{staticClass:"card-body"},[a._v("\n Budget, category, bill, tags, contract\n ")])])]),a._v(" "),s("div",{staticClass:"card card-secondary"},[s("div",{staticClass:"card-header"},[s("h4",{staticClass:"card-title"},[s("a",{staticClass:"collapsed",attrs:{"data-toggle":"collapse","data-parent":"#accordion",href:"#collapseThree","aria-expanded":"false"}},[a._v("\n Extra information\n ")])])]),a._v(" "),s("div",{staticClass:"panel-collapse collapse",attrs:{id:"collapseThree"}},[s("div",{staticClass:"card-body"},[a._v("\n Notes, transaction links, custom fields.\n ")])])])])])]),a._v(" "),s("div",{staticClass:"row"},[s("div",{staticClass:"col"},[s("a",{staticClass:"btn btn-primary",attrs:{href:"#"}},[a._v("Add a split")])]),a._v(" "),s("div",{staticClass:"col"},[s("p",{staticClass:"float-right"},[s("a",{staticClass:"btn btn-success",attrs:{href:"#"}},[a._v("Store transaction")]),s("br")])])]),a._v(" "),s("div",{staticClass:"row"},[s("div",{staticClass:"col float-right"},[s("p",{staticClass:"text-right"},[s("small",{staticClass:"text-muted"},[a._v("Create another another another "),s("input",{attrs:{type:"checkbox"}})]),s("br"),a._v(" "),s("small",{staticClass:"text-muted"},[a._v("Return here "),s("input",{attrs:{type:"checkbox"}})]),s("br")])])])])])}],!1,null,"b9e6341e",null).exports;s(5);var r=s(8),l={};new Vue({i18n:r,render:function(a){return a(e,{props:l})}}).$mount("#transactions_create")}},[[228,0,1]]]);
(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{229:function(a,t,s){a.exports=s(238)},238:function(a,t,s){"use strict";s.r(t);var c={name:"Create"},i=s(1),e=Object(i.a)(c,(function(){var a=this.$createElement;this._self._c;return this._m(0)}),[function(){var a=this,t=a.$createElement,s=a._self._c||t;return s("div",{staticClass:"row"},[s("div",{staticClass:"col"},[s("div",{staticClass:"card"},[s("div",{staticClass:"card-header"},[s("h3",{staticClass:"card-title"},[a._v("Create a new transaction")])]),a._v(" "),s("div",{staticClass:"card-body"},[s("div",{attrs:{id:"accordion"}},[s("div",{staticClass:"card card-primary"},[s("div",{staticClass:"card-header"},[s("h4",{staticClass:"card-title"},[s("a",{attrs:{"data-toggle":"collapse","data-parent":"#accordion",href:"#collapseOne","aria-expanded":"true"}},[a._v("\n Basic transaction information\n ")])])]),a._v(" "),s("div",{staticClass:"panel-collapse in collapse show",attrs:{id:"collapseOne"}},[s("div",{staticClass:"card-body"},[s("div",{staticClass:"row"},[s("div",{staticClass:"col"},[a._v("From")]),a._v(" "),s("div",{staticClass:"col"},[a._v("To")])]),a._v(" "),s("div",{staticClass:"row"},[s("div",{staticClass:"col"},[a._v("\n Amount, foreign amount, description, time + date\n\n ")])])])])]),a._v(" "),s("div",{staticClass:"card card-secondary"},[s("div",{staticClass:"card-header"},[s("h4",{staticClass:"card-title"},[s("a",{staticClass:"collapsed",attrs:{"data-toggle":"collapse","data-parent":"#accordion",href:"#collapseTwo","aria-expanded":"false"}},[a._v("\n Meta information\n ")])])]),a._v(" "),s("div",{staticClass:"panel-collapse collapse",attrs:{id:"collapseTwo"}},[s("div",{staticClass:"card-body"},[a._v("\n Budget, category, bill, tags, contract\n ")])])]),a._v(" "),s("div",{staticClass:"card card-secondary"},[s("div",{staticClass:"card-header"},[s("h4",{staticClass:"card-title"},[s("a",{staticClass:"collapsed",attrs:{"data-toggle":"collapse","data-parent":"#accordion",href:"#collapseThree","aria-expanded":"false"}},[a._v("\n Extra information\n ")])])]),a._v(" "),s("div",{staticClass:"panel-collapse collapse",attrs:{id:"collapseThree"}},[s("div",{staticClass:"card-body"},[a._v("\n Notes, transaction links, custom fields.\n ")])])])])])]),a._v(" "),s("div",{staticClass:"row"},[s("div",{staticClass:"col"},[s("a",{staticClass:"btn btn-primary",attrs:{href:"#"}},[a._v("Add a split")])]),a._v(" "),s("div",{staticClass:"col"},[s("p",{staticClass:"float-right"},[s("a",{staticClass:"btn btn-success",attrs:{href:"#"}},[a._v("Store transaction")]),s("br")])])]),a._v(" "),s("div",{staticClass:"row"},[s("div",{staticClass:"col float-right"},[s("p",{staticClass:"text-right"},[s("small",{staticClass:"text-muted"},[a._v("Create another another another "),s("input",{attrs:{type:"checkbox"}})]),s("br"),a._v(" "),s("small",{staticClass:"text-muted"},[a._v("Return here "),s("input",{attrs:{type:"checkbox"}})]),s("br")])])])])])}],!1,null,"b9e6341e",null).exports;s(7);var r=s(9),l={};new Vue({i18n:r,render:function(a){return a(e,{props:l})}}).$mount("#transactions_create")}},[[229,0,1]]]);
//# sourceMappingURL=create.js.map

File diff suppressed because one or more lines are too long

View File

@ -70,6 +70,12 @@
* http://jquery.org/license
*/
/*!
* vuex v3.6.0
* (c) 2020 Evan You
* @license MIT
*/
/**!
* @fileOverview Kickass library to create and place poppers near their reference elements.
* @version 1.16.1

File diff suppressed because one or more lines are too long