SlickGrid icon indicating copy to clipboard operation
SlickGrid copied to clipboard

Grid goes blank in chrome and mac

Open okruti-rgupta opened this issue 5 years ago • 17 comments

The grid fails to render when we do some expand collapse. It happens only in chrome browser on mac machine. It does not happen in any other combinations. Have attached the video of the behavior at this google drive link.

https://drive.google.com/file/d/1sP0JfrOtiPtRUBu3Q55CQuWxSmfbI1KZ/view?usp=sharing

okruti-rgupta avatar Mar 04 '19 12:03 okruti-rgupta

Sorry but I never use Mac on my side, so I can't help. It's also a little hard to help if you're not providing any of the code that you use. @SatanEnglish, have you ever encountered such thing with Row Detail?

ghiscoding avatar Mar 05 '19 04:03 ghiscoding

I am on MacOS, but as @ghiscoding says, it will be hard to diagnose without code. I notice that I do have access to the URL in the video (though it's username/password protected).

Here are some observations:

  • you appear to be using the detailsview plugin, this is only new and has had a lot of patching done lately, are you sure you're up to date? I would strongly suspect this is where the problem lies.
  • that plugin is also a bit experimental (@ghiscoding and @satanenglish may differ in opinion on that, but personally I think it may open up a can of worms, I would tread carefully and test thoroughly)
  • presumably you are using this (6pac) repo with an up to date copy

6pac avatar Mar 05 '19 05:03 6pac

@ghiscoding Nope not encountered this myself. However I do have a mac at work so I'll have a look in the next couple of days and see if i'm having the same issue on a working project.

SatanEnglish avatar Mar 05 '19 07:03 SatanEnglish

@okruti-rgupta Worth noting looking at your video a fix you could put in for now would be to find the event that fires after toggle and put a grid.invalidate() think this should fix it in the mean time.

SatanEnglish avatar Mar 05 '19 07:03 SatanEnglish

@6pac @ghiscoding @okruti-rgupta I've check this for my project and there are no issues on mac chrome.

@6pac If you could do some checks on a mac around the examples for detail rows just to be safe that would be appreciated.

SatanEnglish avatar Mar 05 '19 20:03 SatanEnglish

@okruti-rgupta also forgot to add point earlier: have you opened up the console and checked to see if an exception is being raised?

Also, just checked the example on Mac Safari and Chrome, no issue I can see.

6pac avatar Mar 06 '19 02:03 6pac

I am sorry to post this so late. It took me time to arrange mac machine to test the application. I did not see any errors in console logs. Attaching screens for reference.

Screen Shot 2019-03-14 at 9 41 28 AM Screen Shot 2019-03-14 at 9 40 45 AM

okruti-rgupta avatar Mar 18 '19 16:03 okruti-rgupta

@okruti-rgupta Unfortunately since none of us have this kind of problems and you didn't provide any code sample. There isn't much we can do to help you without any code to troubleshoot.

ghiscoding avatar Mar 18 '19 16:03 ghiscoding

I have also encounterd thi problem on mac. But i don't have any error nor exception in console. When i scroll row the grid disappears or if i edit the value with any built-in editor and press enter to commit the value, the whole row disappear.

I use the latest version of chrome 73.0.3683.86 (Ufficial build) (64 bit)

poyel avatar Apr 02 '19 13:04 poyel

To solve this, we need to be able to reproduce it. Can it be reproduced on one of the standard examples? If not, then with a standard example with some modifications? PasteBin is ideal for submitting a page that will run if placed in the 'examples' folder of a local copy of the repo.

6pac avatar Apr 02 '19 23:04 6pac

I would say it's probably a CSS styling issue or a DOM element that is hiding the full content. I think SlickGrid re-renders at some point and if it does, it might have z-index bigger than the actual row detail content.

ghiscoding avatar Apr 03 '19 00:04 ghiscoding

@ghiscoding poyel has said about when editing with built in editors. Have we even tested with editors active?

My cases the grid is all read only when using the detail view.

Anyway till we get something that reproduces the issue not sure how we can fix it.

SatanEnglish avatar Apr 03 '19 06:04 SatanEnglish

Just weighing in that I've run across this as well. I'll work on trying to get some code and a reproducible use case but I was able to confirm from my testing that this was not happening in v2.4.3 and was first introduced in v2.4.4 in case that is helpful.

Here's where I've run across it (again, apologies to not yet have a CodePen to share)

  1. Collapse all grouped rows
  2. Re-expand all grouped rows
  3. Scroll down a bit vertically
  4. Scroll horizontally
  5. Scroll back up a bit vertically -- missing rows.

Doing a horizontal scroll then makes the missing rows reappear, I assume that action must invalidate the rows causing a rerender.

scottbcovert avatar Aug 07 '19 11:08 scottbcovert

(presume that last line should be 'vertical scroll then makes ...') -- oh, perhaps not!

6pac avatar Aug 07 '19 13:08 6pac

Not a bad assumption, but actually that wasn't a typo - the horizontal scroll while staring at a mostly blank grid brings the rows back. I'm thinking the horizontal scroll fires some rerender so that's why it is the initial cause for the rows off-screen to be removed and why it is also the solution to bring them back later.

Obviously I need to resolve this for my own project so I'll work on flushing this out in one of the examples in a CodePen and then hopefully submit a PR soon 👍

Thanks for taking ownership over this repository by the way, it has really been a great help to our team!

scottbcovert avatar Aug 07 '19 16:08 scottbcovert

SlickGrid uses buffer (top/bottom) to avoid rendering thousands of rows for performance reasons, and that buffer is also used in the Row Detail plugin on this line. This buffer size was also added as a grid option so that it could be available in the plugin. So perhaps you can try to play with that option minRowBuffer, try increasing or decreasing, the default in SlickGrid is 3. I'm not sure that's the problem but you might want to give it a shot.

On the other end, there is no re-render with scroll, I think that would be really bad on performance to do that.

ghiscoding avatar Aug 07 '19 17:08 ghiscoding

Just wanted to circle back on this and mention that @ghiscoding was spot on in his initial assumption that ultimately (for me) this was related to some CSS styling overrides I was applying to SlickGrid. 🙏

Long story short, I had autoHeight set to true and was also manually updating the height of an iFrame containing SlickGrid. I resolved the issue by setting autoHeight to false and calling grid.resizeCanvas() after my iFrame had been resized.

scottbcovert avatar Nov 06 '19 05:11 scottbcovert

closing since this issue is old and a lot has changed since then we removed jQueryUI in v3.0 and we also removed jQuery in v4.0 which we just released (see v4.0.0 release)). Feel free to reopen by providing more details if it's still an issue

ghiscoding avatar May 29 '23 15:05 ghiscoding