diff options
author | Haben Amare <haben.amare@outlook.com> | 2020-05-25 22:05:06 +0000 |
---|---|---|
committer | Haben Amare <haben.amare@outlook.com> | 2020-05-25 22:05:06 +0000 |
commit | 8732e4b18f65e88947f3d334fc0bcc42a809c76e (patch) | |
tree | 77855ff4ba613b71e3b9e890332e12f384be01ec /client/components/sidebar/sidebarCustomFields.js | |
parent | d26786a62821e50926e71ea57f7b330cd3ed2964 (diff) | |
download | wekan-8732e4b18f65e88947f3d334fc0bcc42a809c76e.tar.gz wekan-8732e4b18f65e88947f3d334fc0bcc42a809c76e.tar.bz2 wekan-8732e4b18f65e88947f3d334fc0bcc42a809c76e.zip |
use `Intl.NumberFormat` to format currency
Diffstat (limited to 'client/components/sidebar/sidebarCustomFields.js')
-rw-r--r-- | client/components/sidebar/sidebarCustomFields.js | 72 |
1 files changed, 54 insertions, 18 deletions
diff --git a/client/components/sidebar/sidebarCustomFields.js b/client/components/sidebar/sidebarCustomFields.js index 41aecea4..bd2ebdef 100644 --- a/client/components/sidebar/sidebarCustomFields.js +++ b/client/components/sidebar/sidebarCustomFields.js @@ -18,11 +18,47 @@ BlazeComponent.extendComponent({ const CreateCustomFieldPopup = BlazeComponent.extendComponent({ _types: ['text', 'number', 'date', 'dropdown', 'currency'], - _defaultCurrencySymbols: [ - { symbol: '$' }, - { symbol: '€' }, - { symbol: '£' }, - { symbol: '¥' }, + _currencyList: [ + { + name: 'US Dollar', + code: 'USD', + }, + { + name: 'Euro', + code: 'EUR', + }, + { + name: 'Yen', + code: 'JPY', + }, + { + name: 'Pound Sterling', + code: 'GBP', + }, + { + name: 'Australian Dollar', + code: 'AUD', + }, + { + name: 'Canadian Dollar', + code: 'CAD', + }, + { + name: 'Swiss Franc', + code: 'CHF', + }, + { + name: 'Yuan Renminbi', + code: 'CNY', + }, + { + name: 'Hong Kong Dollar', + code: 'HKD', + }, + { + name: 'New Zealand Dollar', + code: 'NZD', + }, ], onCreated() { @@ -30,10 +66,10 @@ const CreateCustomFieldPopup = BlazeComponent.extendComponent({ this.data().type ? this.data().type : this._types[0], ); - this.currencySymbol = new ReactiveVar( - this.data().settings && this.data().settings.currencySymbol - ? this.data().settings.currencySymbol - : this._defaultCurrencySymbols[0].symbol, + this.currencyCode = new ReactiveVar( + this.data().settings && this.data().settings.currencyCode + ? this.data().settings.currencyCode + : this._currencyList[0].code, ); this.dropdownItems = new ReactiveVar( @@ -58,14 +94,14 @@ const CreateCustomFieldPopup = BlazeComponent.extendComponent({ return this.type.get() !== type; }, - getCurrencySymbols() { - const currentSymbol = this.currencySymbol.get(); + getCurrencyCodes() { + const currentCode = this.currencyCode.get(); - return this._defaultCurrencySymbols.map(({ symbol }) => { + return this._currencyList.map(({ name, code }) => { return { - name: symbol, - value: symbol, - selected: symbol === currentSymbol, + name: `${code} - ${name}`, + value: code, + selected: code === currentCode, }; }); }, @@ -89,8 +125,8 @@ const CreateCustomFieldPopup = BlazeComponent.extendComponent({ const settings = {}; switch (this.type.get()) { case 'currency': { - const currencySymbol = this.currencySymbol.get(); - settings.currencySymbol = currencySymbol; + const currencyCode = this.currencyCode.get(); + settings.currencyCode = currencyCode; break; } case 'dropdown': { @@ -113,7 +149,7 @@ const CreateCustomFieldPopup = BlazeComponent.extendComponent({ }, 'change .js-field-currency'(evt) { const value = evt.target.value; - this.currencySymbol.set(value); + this.currencyCode.set(value); }, 'keydown .js-dropdown-item.last'(evt) { if (evt.target.value.trim() && evt.keyCode === 13) { |