vaadin-miki / super-fields

Some extra Vaadin 14 / 24 components that support localisation, plus (hopefully) more.
Apache License 2.0
22 stars 7 forks source link

Error in browser console - from pattern #486

Closed thomasharre closed 1 year ago

thomasharre commented 1 year ago

Hi there

When using superfields/0.18.2.vaadin14) we get errors in the browser console.

We use the thousandseparator ' (#x2019) and the decimal separator . This results in the following patterns being set on the entries. (^\-?(((\d{0,2}('?\d{3}){0,3}('?\d{0,3})?)|(\d{0,3}('?\d{3}){0,2}('?\d{0,3})?))(\.\d{0,2})?)?$) (^\-?(((\d{0,1}('?\d{3}){0,715827881}('?\d{0,3})?)|(\d{0,3}('?\d{3}){0,715827880}('?\d{0,3})?))(\.\d{0,3})?)?$)

In the browser console i then get the error <input pattern='(^\-?(((\d{1,1}('> cant be checked it is a invalid Regexp: invalid identity escape in regular expression vaadin-bundle-eb9f796d93b2e8f37b0a.cache.js line 9214 > eval:603:11

<input pattern='(^\-?(((\d{1,1}('?\d{3}){0,715827881}('?\d{0,3})?)|(\d{1,3}('?\d{3}){0,715827880}('?\d{0,3})?))(\.\d{0,3})?)?$)'> cant be checked it is a invalid Regexp: invalid identity escape in regular expression

We have currently switched back to org.vaadin.miki:superfields:0.16.0-vaadin14. It workes fine there. (but we want https://github.com/vaadin-miki/super-fields/issues/471)

vaadin-miki commented 1 year ago

hello @thomasharre - this is duplicate of #481, but for vaadin 14; I will close this issue and do a release of 0.18.3 for vaadin 14 some time next week (0.18.3 has the issue fixed for v24)

sorry for the problem and sorry for the delay (holiday season for me ;)

vaadin-miki commented 1 year ago

@thomasharre apologies for the delay, but both my holiday and regular work got a bit out of hand, hence fixing the issue took a bit more time than initially expected

anyway, release 0.18.3-vaadin14 is now in maven central - please try it out and report any errors and thank you for using my components 😃

thomasharre commented 1 year ago

thanks, the JS error for the pattern have been fixed

but we are now getting other errors TypeError: undefined is not an object (evaluating 'this.inputElement.inputMode = $0') WARNUNG: failed 3 init attempts for SuperTextField (perhaps it is used in GridPro?) - browser-initiated text selection events may not work correctly

I was not aware that there are restrictions for the superfields

vaadin-miki commented 1 year ago

@thomasharre there are no restrictions as such, but there is a known problem with GridPro - see #275 - in short, that particular component does weird things when initialising components and regular approach (used in Grid) did not help

since I have no personal license for GridPro, there is (sadly) very little I can do at the moment, given that SuperFields are my hobby, open-source project that I receive no compensation for (and hence I am unwilling to spend money on a pro license - I am of course open for discussion by email if needed ;)