vedmack/yadcf

Android 12 / Chrome 11 / Fixed Headers

Closed this issue · 9 comments

With fixedHeader : true and YADCF this bug happens when selecting a text input field. Once i disable fixedHeader it does not have the input bug.

video of issue in my app
https://drive.google.com/file/d/1DcZ2jp_WYvgcKpdqeddUO7_oX-eRKeUR/view

demo url to see issue
https://www.otelconsulting.com/bug.html

demo url with latest beta 0.9.4.beta.46
https://www.otelconsulting.com/bug-094beta46.html

How to replicate
visit url and then click on the column filter input in the position column

iOS latest and Chrome do not produce the same issue.

please provide a jsfiddle test page with the latest beta 0.9.4.beta.46 grad from here https://github.com/vedmack/yadcf/blob/e30845f4497c0e8e8d43de07c08fb6ca705969bc/src/jquery.dataTables.yadcf.js

You can not do it in jsfiddle because the way it loads an iframe it will not produce the same issue.

I have created a new test page with your latest beta 0.9.4.beta.46 js and css files.
https://www.otelconsulting.com/bug-094beta46.html

I tested on my android 12 tablet with chrome and still does the same thing shown in the video. Let me know if you experience the same issue.

@undert03 please take a look at a similar issue on plain datatables filtering and try out the latest dt version, if the issue will still remain , then try placing an input that is not a yadcf related and see what the behavior

https://datatables.net/forums/discussion/69098/fixedheader-and-column-filters

Interesting, used this to model my example off of
https://datatables.net/extensions/fixedheader/examples/options/columnFiltering.html
and off their example it happens there even without loading YADCF.

Thanks I didn't even think JQdt had an implementation with column filtering.

In the meantime the bug is directly related to the fixedHeader = true. If i disable it there is no issue.

Do you recommend i open a bug with datatables?

I'd open a bug, cause it seems that the root cause is the fixedHeader implementation

Yep makes sense. In the meantime I have added this to my datatables config until it gets resolved
"fixedHeader" : ( !/Android(.*)Chrome/i.test( navigator.userAgent ) ),

This makes yadcf work on Android Chrome by disabling it but leaving all other browsers / os enabled.

@vedmack is there a function to tell if yadcf is initialized in general and not to a specific table?

you can make use of the onInitComplete function, you can get the idea on its usage from yadcf source code

  • onInitComplete
    Required: false
    Type: function
    Default value: undefined
    Description: Calls the provided callback function in the end of the yadcf init function
    Note: This callback function will run before datatables fires its event such as draw/xhr/etc., might be useful for call some
    third parties init / loading code

Closing as it a dt issue