platanus / ng2-rut

Angular 2 library with several components to handle Chilean RUT validation, cleaning and formatting.
MIT License
29 stars 26 forks source link

Formatear al escribir #5

Open luismiguelbravo opened 7 years ago

luismiguelbravo commented 7 years ago

hola, es posible que mientras escribo se vaya creando el formato,

por ejemplo cuando tego en el focus en el input text y escribo

1234

el input muestre 123-4

bunzli commented 7 years ago

@luismiguelbravo no estamos seguros de querer implementar esa funcionalidad. Hemos tratado de hacerlo y hay que resolver un montón de casos de borde. Por ejemplo: Si pongo el mouse entre "-" y el "4" y borro el "-", entonces el formateador automático lo agregaría nuevamente.

Yo creo que se puede lograr encontrar una solución para todos esos casos, pero el esfuerzo que requiere hace que no esté dentro de nuestras prioridades.

Feliz de que te animes, y hagas un PR!

luismiguelbravo commented 7 years ago

Sí existe una forma en la que pueda apoyarlos, me gustaría contribuir.

¿Tienen algún manual de construcción o algo donde pueda comprender como lo construyeron? para poder hacer algún aporte.

bunzli commented 7 years ago

Para contribuir https://github.com/platanus/ng2-rut#contributing No existe un manual, pero está el código ;) debiera ser suficiente.

saludos!

llekn commented 7 years ago

Hola,

Creo que sería fácil hacer el cambio. En la directiva rut.directive habría que imitar el comportamiento de la función onBlur en la función onChange (https://github.com/platanus/ng2-rut/blob/master/src/rut.directive.ts#L31)

:wink:

manuelabarca commented 5 years ago

Así lo hice yo en el rut.directive.js

RutDirective.prototype.onFocus = function (ev) { var htmlInputElement = ev.target; htmlInputElement.value = rutHelpers.rutClean(htmlInputElement.value); }; RutDirective.prototype.onBlur = function (ev) { var htmlInputElement = ev.target; htmlInputElement.value = rutHelpers.rutFormat(htmlInputElement.value) || ''; }; RutDirective.prototype.onChange = function (ev) { var htmlInputElement = ev.target; htmlInputElement.value = rutHelpers.rutFormat(htmlInputElement.value) || ''; this.rutChange.emit(htmlInputElement.value); };