mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2024-12-23 15:40:32 -06:00
Prep for a new auto-complete, and enable foreign currency select.
This commit is contained in:
parent
9f8bf6d495
commit
f375934b41
@ -23,5 +23,7 @@
|
||||
"vue-i18n": "^8.14.1",
|
||||
"vue-template-compiler": "^2.6.10"
|
||||
},
|
||||
"dependencies": {}
|
||||
"dependencies": {
|
||||
"@trevoreyre/autocomplete-vue": "^2.1.1"
|
||||
}
|
||||
}
|
||||
|
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
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -41,6 +41,7 @@
|
||||
<button
|
||||
v-on:click="clearSource"
|
||||
class="btn btn-default"
|
||||
tabIndex="-1"
|
||||
type="button"><i class="fa fa-trash-o"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
|
@ -21,11 +21,14 @@
|
||||
<template>
|
||||
<!--
|
||||
Show if:
|
||||
- more than one currency enabled in system.
|
||||
|
||||
- more than one currency enabled, always show
|
||||
- if just one, but is deposit or withdrawal
|
||||
-->
|
||||
<div class="form-group" v-bind:class="{ 'has-error': hasError()}" v-if="
|
||||
this.enabledCurrencies.length > 1">
|
||||
this.enabledCurrencies.length > 1 ||
|
||||
(this.enabledCurrencies.length >= 1 && ('deposit' === this.transactionType.toLowerCase() || 'withdrawal' === this.transactionType.toLowerCase()))
|
||||
|
||||
">
|
||||
<div class="col-sm-8 col-sm-offset-4 text-sm">
|
||||
{{ $t('form.foreign_amount') }}
|
||||
</div>
|
||||
@ -61,7 +64,7 @@
|
||||
|
||||
props: ['source', 'destination', 'transactionType', 'value', 'error', 'no_currency', 'title',],
|
||||
mounted() {
|
||||
//console.log('loadCurrencies()');
|
||||
console.log('ForeignAmountSelect mounted()');
|
||||
this.liability = false;
|
||||
this.loadCurrencies();
|
||||
},
|
||||
@ -76,25 +79,25 @@
|
||||
},
|
||||
watch: {
|
||||
source: function () {
|
||||
// console.log('watch source in foreign currency');
|
||||
console.log('ForeignAmountSelect watch source');
|
||||
this.changeData();
|
||||
},
|
||||
destination: function () {
|
||||
// console.log('watch destination in foreign currency');
|
||||
console.log('ForeignAmountSelect watch destination');
|
||||
this.changeData();
|
||||
},
|
||||
transactionType: function () {
|
||||
// console.log('watch transaction type in foreign currency');
|
||||
console.log('ForeignAmountSelect watch transaction type (is now ' + this.transactionType + ')');
|
||||
this.changeData();
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
hasError: function () {
|
||||
// console.log('Has error');
|
||||
console.log('ForeignAmountSelect hasError');
|
||||
return this.error.length > 0;
|
||||
},
|
||||
handleInput(e) {
|
||||
// console.log('handleInput');
|
||||
console.log('ForeignAmountSelect handleInput');
|
||||
let obj = {
|
||||
amount: this.$refs.amount.value,
|
||||
currency_id: this.$refs.currency_select.value,
|
||||
@ -104,7 +107,7 @@
|
||||
);
|
||||
},
|
||||
changeData: function () {
|
||||
//console.log('Now in changeData()');
|
||||
console.log('ForeignAmountSelect changeData');
|
||||
this.enabledCurrencies = [];
|
||||
let destType = this.destination.type ? this.destination.type.toLowerCase() : 'invalid';
|
||||
let srcType = this.source.type ? this.source.type.toLowerCase() : 'invalid';
|
||||
|
@ -24,17 +24,28 @@
|
||||
{{ $t('firefly.date') }}
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
<input
|
||||
type="date"
|
||||
class="form-control"
|
||||
name="date[]"
|
||||
v-bind:title="$t('firefly.date')"
|
||||
ref="date"
|
||||
autocomplete="off"
|
||||
:disabled="index > 0"
|
||||
v-bind:placeholder="$t('firefly.date')"
|
||||
:value="value" @input="handleInput"
|
||||
>
|
||||
<div class="input-group">
|
||||
<input
|
||||
type="date"
|
||||
class="form-control"
|
||||
name="date[]"
|
||||
v-bind:title="$t('firefly.date')"
|
||||
ref="date"
|
||||
autocomplete="off"
|
||||
|
||||
:disabled="index > 0"
|
||||
v-bind:placeholder="$t('firefly.date')"
|
||||
:value="value" @input="handleInput"
|
||||
>
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
tabIndex="-1"
|
||||
v-on:click="clearDate"
|
||||
class="btn btn-default"
|
||||
type="button"><i class="fa fa-trash-o"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<ul class="list-unstyled" v-for="error in this.error">
|
||||
<li class="text-danger">{{ error }}</li>
|
||||
</ul>
|
||||
@ -52,7 +63,15 @@
|
||||
},
|
||||
handleInput(e) {
|
||||
this.$emit('input', this.$refs.date.value);
|
||||
}
|
||||
},
|
||||
clearDate: function () {
|
||||
//props.value = '';
|
||||
this.name = '';
|
||||
this.$refs.date.value = '';
|
||||
this.$emit('input', this.$refs.date.value);
|
||||
// some event?
|
||||
this.$emit('clear:date')
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
@ -24,18 +24,27 @@
|
||||
{{ $t('firefly.description') }}
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
<input
|
||||
type="text"
|
||||
class="form-control"
|
||||
name="description[]"
|
||||
:title="$t('firefly.description')"
|
||||
v-on:keypress="handleEnter"
|
||||
v-on:submit.prevent
|
||||
ref="descr"
|
||||
autocomplete="off"
|
||||
v-bind:placeholder="$t('firefly.description')"
|
||||
:value="value" @input="handleInput"
|
||||
>
|
||||
<div class="input-group">
|
||||
<input
|
||||
type="text"
|
||||
class="form-control"
|
||||
name="description[]"
|
||||
:title="$t('firefly.description')"
|
||||
v-on:keypress="handleEnter"
|
||||
v-on:submit.prevent
|
||||
ref="descr"
|
||||
autocomplete="off"
|
||||
v-bind:placeholder="$t('firefly.description')"
|
||||
:value="value" @input="handleInput"
|
||||
>
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
v-on:click="clearDescription"
|
||||
tabIndex="-1"
|
||||
class="btn btn-default"
|
||||
type="button"><i class="fa fa-trash-o"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
<typeahead
|
||||
:open-on-empty=true
|
||||
:open-on-focus=true
|
||||
@ -72,11 +81,20 @@
|
||||
hasError: function () {
|
||||
return this.error.length > 0;
|
||||
},
|
||||
clearDescription: function () {
|
||||
//props.value = '';
|
||||
this.name = '';
|
||||
this.$refs.input.value = '';
|
||||
this.$emit('input', this.$refs.input.value);
|
||||
// some event?
|
||||
this.$emit('clear:description')
|
||||
},
|
||||
handleInput(e) {
|
||||
this.$emit('input', this.$refs.descr.value);
|
||||
},
|
||||
handleEnter: function (e) {
|
||||
// todo feels sloppy
|
||||
|
||||
if (e.keyCode === 13) {
|
||||
e.preventDefault();
|
||||
}
|
||||
|
84
yarn.lock
84
yarn.lock
@ -747,6 +747,11 @@
|
||||
resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b"
|
||||
integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==
|
||||
|
||||
"@trevoreyre/autocomplete-vue@^2.1.1":
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@trevoreyre/autocomplete-vue/-/autocomplete-vue-2.1.1.tgz#7e6d11da6d04b490444022f089d5e32ec4ab2619"
|
||||
integrity sha512-zeVzjRliM5Yv0oaBNPE3OX4U5K59jwo/OC62Qi6SE1Fd6mwO6q6MXVogmujrOrdalIqDHQo8pUvhTFL4Xr/Rfw==
|
||||
|
||||
"@types/events@*":
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7"
|
||||
@ -767,9 +772,9 @@
|
||||
integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
|
||||
|
||||
"@types/node@*":
|
||||
version "13.7.7"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-13.7.7.tgz#1628e6461ba8cc9b53196dfeaeec7b07fa6eea99"
|
||||
integrity sha512-Uo4chgKbnPNlxQwoFmYIwctkQVkMMmsAoGGU4JKwLuvBefF0pCq4FybNSnfkfRCpC7ZW7kttcC/TrRtAJsvGtg==
|
||||
version "13.9.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-13.9.0.tgz#5b6ee7a77faacddd7de719017d0bc12f52f81589"
|
||||
integrity sha512-0ARSQootUG1RljH2HncpsY2TJBfGQIKOOi7kxzUY6z54ePu/ZD+wJA8zI2Q6v8rol2qpG/rvqsReco8zNMPvhQ==
|
||||
|
||||
"@types/q@^1.5.1":
|
||||
version "1.5.2"
|
||||
@ -960,15 +965,20 @@ accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7:
|
||||
mime-types "~2.1.24"
|
||||
negotiator "0.6.2"
|
||||
|
||||
acorn-walk@^6.1.1:
|
||||
version "6.2.0"
|
||||
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c"
|
||||
integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==
|
||||
acorn-walk@^7.1.1:
|
||||
version "7.1.1"
|
||||
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.1.1.tgz#345f0dffad5c735e7373d2fec9a1023e6a44b83e"
|
||||
integrity sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ==
|
||||
|
||||
acorn@^6.0.7, acorn@^6.2.1:
|
||||
version "6.4.0"
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.0.tgz#b659d2ffbafa24baf5db1cdbb2c94a983ecd2784"
|
||||
integrity sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==
|
||||
acorn@^6.2.1:
|
||||
version "6.4.1"
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474"
|
||||
integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==
|
||||
|
||||
acorn@^7.1.1:
|
||||
version "7.1.1"
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.1.tgz#e35668de0b402f359de515c5482a1ab9f89a69bf"
|
||||
integrity sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==
|
||||
|
||||
ajv-errors@^1.0.0:
|
||||
version "1.0.1"
|
||||
@ -1535,9 +1545,9 @@ caniuse-api@^3.0.0:
|
||||
lodash.uniq "^4.5.0"
|
||||
|
||||
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001020, caniuse-lite@^1.0.30001030:
|
||||
version "1.0.30001032"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001032.tgz#b8d224914e2cd7f507085583d4e38144c652bce4"
|
||||
integrity sha512-8joOm7BwcpEN4BfVHtfh0hBXSAPVYk+eUIcNntGtMkUWy/6AKRCDZINCLe3kB1vHhT2vBxBF85Hh9VlPXi/qjA==
|
||||
version "1.0.30001033"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001033.tgz#60c328fb56860de60f9a2cb419c31fb80587cba0"
|
||||
integrity sha512-8Ibzxee6ibc5q88cM1usPsMpJOG5CTq0s/dKOmlekPbDGKt+UrnOOTPSjQz3kVo6yL7N4SB5xd+FGLHQmbzh6A==
|
||||
|
||||
chalk@2.4.2, chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2:
|
||||
version "2.4.2"
|
||||
@ -2354,9 +2364,9 @@ ejs@^2.6.1:
|
||||
integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==
|
||||
|
||||
electron-to-chromium@^1.3.363:
|
||||
version "1.3.369"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.369.tgz#586d5a59de4f1f3f06dce556dffe4c65e3050b73"
|
||||
integrity sha512-6laJEDffEppIKT01TbyQtNhbdvF8ZfJWuK4L53sQCSiUHv0wSsJOFPvV0E63PZEQUzGcS2ZRSJlM5F4Ol9ffHg==
|
||||
version "1.3.375"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.375.tgz#e290d59d316024e5499057944c10d05c518b7a24"
|
||||
integrity sha512-zmaFnYVBtfpF8bGRYxgPeVAlXB7N3On8rjBE2ROc6wOpTPpzRWaiHo6KkbJMvlH07CH33uks/TEb6kuMMn8q6A==
|
||||
|
||||
elliptic@^6.0.0:
|
||||
version "6.5.2"
|
||||
@ -4157,9 +4167,9 @@ minimist@0.0.8:
|
||||
integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
|
||||
|
||||
minimist@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
|
||||
integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
|
||||
version "1.2.3"
|
||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.3.tgz#3db5c0765545ab8637be71f333a104a965a9ca3f"
|
||||
integrity sha512-+bMdgqjMN/Z77a6NlY/I3U5LlRDbnmaAk6lDveAPKwSpcPM4tKAuYsvYF8xjhOPXhOYGe/73vVLVez5PW+jqhw==
|
||||
|
||||
minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0:
|
||||
version "2.9.0"
|
||||
@ -4362,16 +4372,16 @@ node-pre-gyp@*:
|
||||
tar "^4.4.2"
|
||||
|
||||
node-releases@^1.1.50:
|
||||
version "1.1.50"
|
||||
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.50.tgz#803c40d2c45db172d0410e4efec83aa8c6ad0592"
|
||||
integrity sha512-lgAmPv9eYZ0bGwUYAKlr8MG6K4CvWliWqnkcT2P8mMAgVrH3lqfBPorFlxiG1pHQnqmavJZ9vbMXUTNyMLbrgQ==
|
||||
version "1.1.51"
|
||||
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.51.tgz#70d0e054221343d2966006bfbd4d98622cc00bd0"
|
||||
integrity sha512-1eQEs6HFYY1kMXQPOLzCf7HdjReErmvn85tZESMczdCNVWP3Y7URYLBAyYynuI7yef1zj4HN5q+oB2x67QU0lw==
|
||||
dependencies:
|
||||
semver "^6.3.0"
|
||||
|
||||
nopt@^4.0.1:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
|
||||
integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=
|
||||
version "4.0.3"
|
||||
resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48"
|
||||
integrity sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==
|
||||
dependencies:
|
||||
abbrev "1"
|
||||
osenv "^0.1.4"
|
||||
@ -5429,9 +5439,9 @@ regjsgen@^0.5.0:
|
||||
integrity sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==
|
||||
|
||||
regjsparser@^0.6.0:
|
||||
version "0.6.3"
|
||||
resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.3.tgz#74192c5805d35e9f5ebe3c1fb5b40d40a8a38460"
|
||||
integrity sha512-8uZvYbnfAtEm9Ab8NTb3hdLwL4g/LQzEYP7Xs27T96abJCCE2d6r3cPZPQEsLKy0vRSGVNG+/zVGtLr86HQduA==
|
||||
version "0.6.4"
|
||||
resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272"
|
||||
integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==
|
||||
dependencies:
|
||||
jsesc "~0.5.0"
|
||||
|
||||
@ -6429,9 +6439,9 @@ vue-hot-reload-api@^2.3.0:
|
||||
integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==
|
||||
|
||||
vue-i18n@^8.14.1:
|
||||
version "8.15.4"
|
||||
resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-8.15.4.tgz#1bfba2b6a6cb6de7b44f0f0aa89ad775fc902bc2"
|
||||
integrity sha512-brhbJRB/gyWlroAhQZU0TNTQzNonbkHmzH4HlJzs7c+DsVIhB5OlRHg3zAl+85kkT8mpxzvBE6Bm1slqnRRmsg==
|
||||
version "8.15.5"
|
||||
resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-8.15.5.tgz#e39e4724c88ec38ef72217de325e8b10a35718cf"
|
||||
integrity sha512-lIej02+w8lP0k1PEN1xtXqKpQ1hDh17zvDF+7Oc2qJi+cTMDlfPM771w4euVaHO67AxEz4WL9MIgkyn3tkeCtQ==
|
||||
|
||||
vue-loader@^15.4.2:
|
||||
version "15.9.0"
|
||||
@ -6487,12 +6497,12 @@ wbuf@^1.1.0, wbuf@^1.7.3:
|
||||
minimalistic-assert "^1.0.0"
|
||||
|
||||
webpack-bundle-analyzer@^3.0.3:
|
||||
version "3.6.0"
|
||||
resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.6.0.tgz#39b3a8f829ca044682bc6f9e011c95deb554aefd"
|
||||
integrity sha512-orUfvVYEfBMDXgEKAKVvab5iQ2wXneIEorGNsyuOyVYpjYrI7CUOhhXNDd3huMwQ3vNNWWlGP+hzflMFYNzi2g==
|
||||
version "3.6.1"
|
||||
resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.6.1.tgz#bdb637c2304424f2fbff9a950c7be42a839ae73b"
|
||||
integrity sha512-Nfd8HDwfSx1xBwC+P8QMGvHAOITxNBSvu/J/mCJvOwv+G4VWkU7zir9SSenTtyCi0LnVtmsc7G5SZo1uV+bxRw==
|
||||
dependencies:
|
||||
acorn "^6.0.7"
|
||||
acorn-walk "^6.1.1"
|
||||
acorn "^7.1.1"
|
||||
acorn-walk "^7.1.1"
|
||||
bfj "^6.1.1"
|
||||
chalk "^2.4.1"
|
||||
commander "^2.18.0"
|
||||
|
Loading…
Reference in New Issue
Block a user