UNPKG

vue-dni

Version:

Vue utility functions for validating and formatting DNIs

60 lines (48 loc) 1.77 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.rutInputDirective = undefined; exports.rutValidator = rutValidator; exports.rutFilter = rutFilter; var _rutHelpers = require('rut-helpers'); var rutHelpers = _interopRequireWildcard(_rutHelpers); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } function createEvent(eventName, bubbles) { var event = void 0; if ('CustomEvent' in window && typeof window.CustomEvent === 'function') { event = new CustomEvent(eventName, { bubbles: bubbles }); } else { event = document.createEvent('Events'); event.initEvent(eventName, bubbles); } return event; } function rutValidator(value) { return rutHelpers.rutValidate(value); } function rutFilter(value) { return rutHelpers.rutFormat(value); } var rutInputDirective = exports.rutInputDirective = { bind: function bind(el, binding) { var inputEvent = binding.arg === 'live' ? ['blur', 'keyup'] : ['blur']; function formatInput(e) { var oldValue = e.target.value; var newValue = rutHelpers.rutFormat(e.target.value) || ''; if (oldValue !== newValue) { var forceUpdate = createEvent('input', true); e.target.value = rutHelpers.rutFormat(e.target.value) || ''; el.dispatchEvent(forceUpdate); } } inputEvent.forEach(function (event) { el.addEventListener(event, formatInput); }); el.addEventListener('focus', function (e) { e.target.value = rutHelpers.rutClean(e.target.value) || ''; }); } };