src/plugins/easycurrency/config.js
- import Money from 'js-money';
-
- /** Config*/
- class Config {
- /**
- * Construct a new config.
- * @param {Object} options - Properties to initialze on config.
- */
- constructor(options) {
- options = Object.assign({}, {
- defaultCurrency: 'USD',
- useGeoForCurrency: true,
- moneySpanSelectors: [
- '[data-money]'
- ],
- moneySpanParser: function(el, easyCurrency) {
- var amount = el.dataset.money;
- var currency = el.dataset.moneyCurrency || easyCurrency._config.defaultCurrency;
- delete el.dataset.money;
- delete el.dataset.moneyCurrency;
- amount = Number(amount);
- return new Money(amount, currency);
- },
- allowedCurrencies: 'any',
- }, options);
-
- /** @type {String} Currency code, used for initial currency. */
- this.defaultCurrency = options.defaultCurrency;
- /** @type {Boolean} If true, currency will be determined via geoservice on load. */
- this.useGeoForCurrency = options.useGeoForCurrency;
- /** @type {String[]} Array of CSS selectors for finding money spans */
- this.moneySpanSelectors = options.moneySpanSelectors;
- /** @type {function(el: DOMNode, easyCurrency: src/easycurrency/main.js~EasyCurrency): js-money} Callback which determines initial money span value. */
- this.moneySpanParser = options.moneySpanParser;
- }
- }
-
- /** @ignore */
- export default new Config();