Skip to content

Commit e756cbe

Browse files
author
Dipak Sarkar
committed
fix config
1 parent 9a17ec8 commit e756cbe

File tree

3 files changed

+14
-18
lines changed

3 files changed

+14
-18
lines changed

docs/.vuepress/components/Example.vue

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,8 @@
6161
:dark="false"
6262
dense
6363
outlined
64-
v-model.lazy="priceUnmasked"
65-
v-number="config"
64+
v-model="priceUnmasked"
65+
v-number.lazy="config"
6666
/>
6767
<div>Model value: <span class="text-bold">{{priceUnmasked}}</span></div>
6868
</div>
@@ -100,13 +100,8 @@ export default {
100100
},
101101
reverseFill: 6789.10,
102102
configReverseFill: {
103-
decimal: ',',
104-
separator: '.',
105-
prefix: '$',
103+
reverseFill: true,
106104
suffix: '',
107-
precision: 2,
108-
null_value: '',
109-
reverseFill: true
110105
}
111106
}
112107
}

src/core.js

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,13 @@ export function FacadeInputEvent() {
2020
* @param {object} config The format config object
2121
* @param {object} modifiers An object of modifier flags that can influence the formating process
2222
*/
23-
export function normalizeConfig(config, modifiers) {
24-
if (Array.isArray(config) || typeof config === 'string') {
25-
config = { modifiers: config }
26-
}
27-
28-
return Object.assign(config || {}, modifiers)
23+
export function normalizeConfig(defaults, extras) {
24+
defaults = defaults || {}
25+
extras = extras || {}
26+
return Object.keys(defaults).concat(Object.keys(extras)).reduce((acc, val) => {
27+
acc[val] = extras[val] === undefined ? defaults[val] : extras[val]
28+
return acc
29+
}, {})
2930
}
3031

3132
/**

src/directive.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import defaults from './options'
44
const CONFIG_KEY = core.CONFIG_KEY
55

66
export default {
7-
bind: (el, { value }, vnode) => {
7+
bind: (el, { value, modifiers }, vnode) => {
88
el = core.getInputElement(el)
9-
const config = core.normalizeConfig(defaults, value)
9+
const config = core.normalizeConfig(defaults, Object.assign(value, modifiers))
1010
el[CONFIG_KEY] = { config }
1111
// set initial value
1212
core.updateValue(el, vnode, { force: config.prefill })
@@ -41,11 +41,11 @@ export default {
4141
option.cleanup = () => handlerOwner.removeEventListener('input', oninput, true)
4242
},
4343

44-
update: (el, { value, oldValue }, vnode) => {
44+
update: (el, { value, oldValue, modifiers }, vnode) => {
4545
el = core.getInputElement(el)
4646
if (value !== oldValue) {
4747
const { config } = el[CONFIG_KEY]
48-
el[CONFIG_KEY].config = core.normalizeConfig(config, value)
48+
el[CONFIG_KEY].config = core.normalizeConfig(config, Object.assign(value, modifiers))
4949
core.updateValue(el, vnode, { force: true })
5050
} else {
5151
core.updateValue(el, vnode)

0 commit comments

Comments
 (0)