Skip to content

Commit

Permalink
Addind support to negative money
Browse files Browse the repository at this point in the history
  • Loading branch information
caioincau committed Jan 2, 2018
1 parent 332b3b3 commit 2fed9c4
Show file tree
Hide file tree
Showing 7 changed files with 21 additions and 6 deletions.
2 changes: 1 addition & 1 deletion event-listener.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ var inputHandler = exports.inputHandler = function inputHandler(ev) {

var maskInput = function maskInput(mask, input) {
if (mask === 'money') {
input.value = _vanillaMasker2.default.toMoney(input.value);
input.value = _vanillaMasker2.default.toMoney(input.value, { showSignal: true });
} else {
input.value = mask && mask.length > 0 ? _vanillaMasker2.default.toPattern(input.value, mask) : input.value;
}
Expand Down
2 changes: 1 addition & 1 deletion index.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
var applyMaskToDefault = function applyMaskToDefault(el, mask, isMoney) {
var inputText = getInputText(el);
if (isMoney && inputText.value.length > 0) {
inputText.value = _vanillaMasker2.default.toMoney(inputText.value);
inputText.value = _vanillaMasker2.default.toMoney(inputText.value, { showSignal: true });
} else {
inputText.value = mask && mask.length > 0 ? _vanillaMasker2.default.toPattern(inputText.value, mask) : inputText.value;
}
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
{
"name": "awesome-mask",
"version": "1.0.10",
"version": "1.1.1",
"description": "An awesome mask directive for Vue.js using vanilla-masker from `https://github.com/BankFacil/vanilla-masker`",
"main": "index.js",
"scripts": {
"unit": "cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run",
"build": "babel src --presets babel-preset-es2015 --out-dir . "
},
"dependencies": {
"vanilla-masker": "^1.0.9",
"vanilla-masker": "^1.2.0",
"vue": "^2.0.1"
},
"keywords": [
Expand Down
2 changes: 1 addition & 1 deletion src/event-listener.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ export const inputHandler = (ev) => {

let maskInput = (mask, input) => {
if(mask === 'money'){
input.value = VMasker.toMoney(input.value);
input.value = VMasker.toMoney(input.value, {showSignal: true});
} else {
input.value = mask && mask.length > 0 ? VMasker.toPattern(input.value, mask) : input.value
}
Expand Down
2 changes: 1 addition & 1 deletion src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { inputHandler } from './event-listener'
let applyMaskToDefault = (el, mask, isMoney) => {
const inputText = getInputText(el);
if(isMoney && inputText.value.length > 0){
inputText.value = VMasker.toMoney(inputText.value);
inputText.value = VMasker.toMoney(inputText.value, {showSignal: true});
} else {
inputText.value = mask && mask.length > 0 ? VMasker.toPattern(inputText.value, mask) : inputText.value
}
Expand Down
8 changes: 8 additions & 0 deletions test/unit/specs/event-listener.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,4 +39,12 @@ describe('Detect characters as invalid', () => {
expect(ev.target.value).to.be.equal('1.234,99')
}, 100)
})
it('should format negative money value on listener', () => {
el.dataset.mask = 'money';
ev.target.value = '-123499'
inputHandler(ev)
setTimeout( () => {
expect(ev.target.value).to.be.equal('-1.234,99')
}, 100)
})
})
7 changes: 7 additions & 0 deletions test/unit/specs/index.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,13 @@ describe('Directive', () => {
expect(el.value).to.be.equal('1.239,99')
})

it('should bind and format negative money value', () => {
el.value = '-123999'
binding.value = 'money'
index.bind(el ,binding)
expect(el.value).to.be.equal('-1.239,99')
})

it('should verify if it has the correct maxlength', () => {
el.value = 'ABC9424'
index.bind(el ,binding)
Expand Down

0 comments on commit 2fed9c4

Please sign in to comment.