Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revisit the masking feature #470

Open
Windvis opened this issue Feb 16, 2024 · 0 comments
Open

Revisit the masking feature #470

Windvis opened this issue Feb 16, 2024 · 0 comments

Comments

@Windvis
Copy link
Contributor

Windvis commented Feb 16, 2024

The formbuilder team recently used the au-input modifier to implement a currency input. We ran into some strange / buggy behaviours in the inputmask library that we use. We also use this library for the AuDateInput component, and it also does some strange things sometimes (when trying to change specific numbers in the date without deleting everything after it, for example).

We chose this library in the past because it seemed the one that was the most widely used and maintained. Looking into it again, it seems the last stable release (5.0.8) was released in march 2023. There are beta releases of 5.0.9 that fix some issues, but the last one was released in november last year. So the addon is less maintained than we want (which is expected if it is maintained by a single person who isn't paid for it).

Another downside is that it's a fairly large library to ship for only a small couple of use cases. Not all apps need all the feature it supports, but we can't ship less since it's a generic modifier.

That combined with the fact that input masking isn't really a feature specific to Appuniversum makes me question the need for the {{au-input}} modifier.

My vision:

  • use a different library for the modifier used by the AuDateInput component.
    • Maskito seems like a good alternative after some basic research.
  • deprecate the {{au-input}} modifier and don't ship a replacement with Appuniversum. In the deprecation guide we could give some example code on how to implement an alternative.
    • The quick 1-1 alternative would be to implement an inputmask based alternative. The implementation itself is simple, so apps can copy it and tweak where needed.
    • A better option might be to recommend a diffferent library, once we find a good one for the date input.

It's a bit painful, since we already required a migration when we deprecated the masking behavior in the AuInput component. We could maybe update the v2->v3 migration guide so apps that still need to do it can hop to the new recommendation immediately.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant