Add custom component for date.

This commit is contained in:
James Cole
2019-05-12 07:40:24 +02:00
parent fd28589395
commit 5d09d7e923
4 changed files with 410 additions and 127 deletions

470
public/v1/js/app.js vendored

File diff suppressed because one or more lines are too long

View File

@@ -11,6 +11,9 @@ import * as uiv from 'uiv';
Vue.use(uiv); Vue.use(uiv);
// components for create and edit transactions. // components for create and edit transactions.
Vue.component('budget', require('./components/transactions/Budget.vue')); Vue.component('budget', require('./components/transactions/Budget.vue'));
Vue.component('custom-date', require('./components/transactions/CustomDate.vue'));
Vue.component('custom-transaction-fields', require('./components/transactions/CustomTransactionFields.vue')); Vue.component('custom-transaction-fields', require('./components/transactions/CustomTransactionFields.vue'));
Vue.component('piggy-bank', require('./components/transactions/PiggyBank.vue')); Vue.component('piggy-bank', require('./components/transactions/PiggyBank.vue'));
Vue.component('tags', require('./components/transactions/Tags.vue')); Vue.component('tags', require('./components/transactions/Tags.vue'));

View File

@@ -0,0 +1,24 @@
<template>
<div class="form-group">
<div class="col-sm-12 text-sm">
Custom Date
</div>
<div class="col-sm-12">
<!-- v-model="transaction.date" -->
<!-- :disabled="index > 0" -->
<input type="date" class="form-control" name="date[]"
title="Custom Date" value="" autocomplete="off"
placeholder="Custom Date">
</div>
</div>
</template>
<script>
export default {
name: "CustomDate"
}
</script>
<style scoped>
</style>

View File

@@ -19,7 +19,14 @@
--> -->
<template> <template>
<div>
<component v-if="this.fields.interest_date" v-bind:is="componentInstance"></component>
<component v-if="this.fields.book_date" v-bind:is="componentInstance"></component>
<component v-if="this.fields.process_date" v-bind:is="componentInstance"></component>
<component v-if="this.fields.due_date" v-bind:is="componentInstance"></component>
<component v-if="this.fields.payment_date" v-bind:is="componentInstance"></component>
<component v-if="this.fields.invoice_date" v-bind:is="componentInstance"></component>
</div>
</template> </template>
<script> <script>
@@ -28,14 +35,39 @@
mounted() { mounted() {
this.getPreference(); this.getPreference();
}, },
data() {
return {
customInterestDate: null,
fields: [
{
"interest_date": false,
"book_date": false,
"process_date": false,
"due_date": false,
"payment_date": false,
"invoice_date": false,
"internal_reference": false,
"notes": false,
"attachments": false
}
]
};
},
computed: {
componentInstance () {
return 'custom-date';
}
},
methods: { methods: {
getPreference() { getPreference() {
const url = document.getElementsByTagName('base')[0].href + 'api/v1/preferences/transaction_journal_optional_fields'; // Vue.component('custom-date', (resolve) => {
// console.log('loaded');
// });
const url = document.getElementsByTagName('base')[0].href + 'api/v1/preferences/transaction_journal_optional_fields';
axios.get(url).then(response => { axios.get(url).then(response => {
// TODO here we are. this.fields = response.data.data.attributes.data;
//console.log(response.data.data.attributes);
}).catch(() => console.warn('Oh. Something went wrong')); }).catch(() => console.warn('Oh. Something went wrong'));
}, },
} }