UNPKG

vue-mask-directive

Version:
62 lines (45 loc) 1.57 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = function (Vue) { Vue.directive('mask', { bind: function bind(el, _ref) { var value = _ref.value; updateMask(el, value); updateValue(el); }, componentUpdated: function componentUpdated(el, _ref2) { var value = _ref2.value, oldValue = _ref2.oldValue; var isMaskChanged = value !== oldValue; if (isMaskChanged) { updateMask(el, value); } updateValue(el, isMaskChanged); } }); }; var _format = require('./format.js'); var _format2 = _interopRequireDefault(_format); var _utils = require('./utils'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : {default: obj}; } function updateValue(el) { var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; var value = el.value, _el$dataset = el.dataset, // previousValue = _el$dataset.previousValue, mask = _el$dataset.mask; // if (previousValue.length && force || value && value !== previousValue && value.length > previousValue.length) { if (force || value && value.length) { el.value = (0, _format2.default)(value, mask); (0, _utils.trigger)(el, 'input'); } //el.dataset.previousValue = value; } function updateMask(el, mask) { el.dataset.mask = mask; } ;