This commit is contained in:
2022-01-30 23:54:41 +00:00
parent 563d967b8d
commit 5545276a3a
3 changed files with 47 additions and 4 deletions

View File

@@ -259,9 +259,52 @@ TODO: 1 BETA DOCS:
sometimes it just works, I'm guessing it's a milliseconds issue or something, round first maybe to remove ms then calc?
- 1 todo: time control in native browser format isn't showing a title at all, check date as well. Date and time is ok
- 1 todo: about FORM - does it show user has native date time input use browser override?
- 1 todo: CURRENCY / DECIMAL control, not too happy with them, considering rolling my own maybe here are some ideas:
To get current use the latest version which is completely different and seems ok, here is a dude who implemented it with vuetify so would need to copy this
as it's too small to just use his I think: https://github.com/phiny1/v-currency-field/blob/master/src/VCurrencyField.vue
For the record the current vue-currency being used is "vue-currency-input": "1.20.3",
https://stackoverflow.com/questions/43208012/how-do-i-format-currencies-in-a-vue-component
Also a good post about rounding on that page as well
There is currently no intnl aware parser for currency, however
Here is an excellent idea about using the tostring formatter to figure out the parsing code
https://stackoverflow.com/questions/59678901/using-parsefloat-in-different-locales
So use that concept, but also add to it for the currency one to remove the currency symbol entirely and replace it with nothing so it can then be parsed
function localeParseFloat(s, locale) {
// Get the thousands and decimal separator characters used in the locale.
let [,thousandsSeparator,,,,decimalSeparator] = 1111.1.toLocaleString(locale);
// Remove thousand separators, and put a point where the decimal separator occurs
s = Array.from(s, c => c === thousandsSeparator ? ""
: c === decimalSeparator ? "." : c).join("");
// Now it can be parsed
return parseFloat(s);
}
console.log(parseFloat(localeParseFloat("1.100,9"))); // user's locale
console.log(parseFloat(localeParseFloat("1.100,9", "us"))); // US locale
console.log(parseFloat(localeParseFloat("1.100,9", "nl"))); // Dutch locale: reversed meaning of separators
// And the same but with separators switched:
console.log(parseFloat(localeParseFloat("1,100.9"))); // user's locale
console.log(parseFloat(localeParseFloat("1,100.9", "us"))); // US locale
console.log(parseFloat(localeParseFloat("1,100.9", "nl"))); // Dutch locale: reversed meaning of separators
-1 todo: why should user be able to open a part inventory transaction record in the first place? It opens to the history form, isn't that weird, theres nothing to see that isn't
in the grid is there??
- 2 todo: when hide a section in wo like all tasks in customize should hide the add task woitem context menu item too
- 2: the home notify subscription table shows object types but without the square brackets around them and should for consistency
- 2: address "Required" uses street as the only required, however it should also alternatively accept latitude longitude instead of a street address for required validation
- 2: reset to defaults button for form customize would be handy, especially on work order forms.

View File

@@ -333,7 +333,6 @@ export default {
if (isNumber(value)) {
return true;
}
const err = vm.$ay.t("ErrorFieldValueNotDecimal");
this.setFormState({
vm: vm,

View File

@@ -5,7 +5,8 @@
v-currency="{
currency: null,
locale: languageName,
precision: precision
precision: precision,
allowNegative: true
}"
:value="currencyValue"
:readonly="readonly"