angular-ui / ui-grid

UI Grid: an Angular Data Grid
http://ui-grid.info
MIT License
5.39k stars 2.46k forks source link

Behavior 'Expand All' with angular animate 1.3.15 and ui-grid 3.0.0-RC21 #3696

Open Jacquelin opened 9 years ago

Jacquelin commented 9 years ago

Hi,

I'm not sure why, and how, but the expand all action work fine, but the icons are not good. http://plnkr.co/edit/URYETKsjgPUOgFKPhfYK?p=preview

If I disable ngAnimate, it's working fine. Is this related to #3647 ?

PaulL1 commented 9 years ago

I think it's associated with using groupPriority: 100 - in general groupPriority is numeric starting at 1: http://plnkr.co/edit/c7PomebeNm6pUuo8uunv?p=preview

Having said that, I thought we'd done tidyup on the priorities on initialisation to avoid issues like this.

Nope, I thought that fixed it, it doesn't. It looks to me like grouping maybe isn't working well with angular 1.3. But no idea at all why. I can't see anything about the code that would impact it. It perhaps is associated with pinned containers?

Jacquelin commented 9 years ago

Hi Paul

it seems to be related to ngAnimate. if I remove ngAnimate in module app, there is no problem.

PaulL1 commented 9 years ago

Yeah, the problem is that that makes no sense. There's no animation code anywhere in grouping. Which leaves me wondering what else is broken. If you downgrade to angular 1.2 then it works fine with animation still included.

Jacquelin commented 9 years ago

Hi,

Yes, if I downdrage to 1.2 it's working, but we can't downgrade, we have already develop every thing in 1.3 ...

I read a bit about ngAnimate, https://docs.angularjs.org/api/ngAnimate, and even if expand/collapseAll doesn't involve animate, ngClass does ! :

<i ng-class="{'ui-grid-icon-minus-squared': ( (  [...]

The conditions for ngClass are good! but I have the impression that the ngAnimate struggling with the transition from one class to another

For exemple, this condition return false

( ( grid.options.showTreeExpandNoChildren && row.treeLevel > -1 ) || ( row.treeNode.children && row.treeNode.children.length > 0 ) ) && row.treeNode.state === 'expanded'

But the <i> have class="ui-grid-icon-minus-squared" ...

I continue to investigate, hoping to find a solution

Edit : ok, it's seems related to angular 1.3 ... https://github.com/angular/angular.js/issues/10811

Jacquelin commented 9 years ago

@PaulL1 : I have an idea but I do not know if it's worth it. We can disable ngAnimate only for uiGridTreeBaseRowHeaderButtons Directive. This involves adding

$ animate.enabled (false, $ elm); // line ~1490 on tree-base.js

what do you think about it?

PaulL1 commented 9 years ago

Rumour has it that 1.3.16 works. Is that worth trying?

Jacquelin commented 9 years ago

Hello,

Of course that worth. I try with angular 1.3.16 but ... It doesn't work :( (http://plnkr.co/edit/URYETKsjgPUOgFKPhfYK?p=preview)

I try with angular 1.4.0 and ... it work lol

JLLeitschuh commented 9 years ago

You may have other problems with angular 1.4.0 #3658

postrational commented 9 years ago

I am seeing a similar problem, as illustrated in the image below:

grouping-bug

Rows which represent entries in a group sometimes also display the group's minus symbol.

I created a Plunker. You may need to collapse and expand the rows a few times to see the bug: http://embed.plnkr.co/XraGUgxK0sQfP6plsNnP/preview

klawson23 commented 9 years ago

Hey everyone, I just wanted to bump this issue and say that I am also experiencing this problem exactly as described with angular 1.3.15 and ui-grid 3.0.0-RC22.

It doesn't appear to break anything functionally, and clicking the extra minus symbols doesn't appear to do anything but it doesn't look great.

Is updating to the latest version of angular the recommended solution or have people encountered other issues with angular 1.4.2 and ui-grid as @JLLeitschuh mentioned?

JLLeitschuh commented 9 years ago

The animate problem is due to a flip in the parameters for animate: http://brianhann.com/angular-1-4-breaking-changes-to-be-aware-of/ We are in the process of updating ui-grid to support 1.4.