insin / inputmask-core

Standalone input mask implementation, independent of any GUI
MIT License
304 stars 52 forks source link

added new method hasValueChanged to check to see if a new value would… #16

Open mdgbayly opened 8 years ago

mdgbayly commented 8 years ago

… change the output value of the mask

This is a new method that will be used by react-maskedinput to determine if new props will change the mask value.

It is to fix an issue in react-maskedinput where the onChange handler passed to the input rejects a change. In our case preventing people from entering a percentage value > 100%

mask: '111%'

Type: 9 MaskValue: 9%

Type: 9 MaskValue: 99%

Type: 9 MaskValue: 999%

But the value of 999 is rejected by onChange handler so component re-renders with props of 99 again. But the mask does not re-render as componentWillReceiveNewProps checks to see if props have changed and in this case have not.

A related fix in react-maskedinput will use this new method rather than just checking props to determine if it should update the mask value.

mdgbayly commented 8 years ago

Refer to https://github.com/insin/react-maskedinput/pull/38 for related react-maskedinput PR

NickGard commented 8 years ago

Please add documentation for this new method to #inputmask-public-properties-getters--setters in the README. After that, LGTM