angular2-masonry icon indicating copy to clipboard operation
angular2-masonry copied to clipboard

Appending to grid from observable/stream

Open farantesrodrigues opened this issue 9 years ago • 18 comments

I'm updating the DOM by streaming an Observable into an array that feeds ngFor directive. I'm having trouble implementing masonry on this, at least with your angular2 module because each time the array changes, masonry.layout is called. Elements are attached but the transition comes from the same place (the start : top left corner). What I want is to append to masonry grid as soon as the element arrives to the stream. Can I achieve this behavior or appending to the grid from a stream is a feature I have to work on ?

farantesrodrigues avatar Sep 15 '16 18:09 farantesrodrigues

Thanks for your input. I will run some test and look into this!

jelgblad avatar Sep 16 '16 09:09 jelgblad

Hmm. So your problem is that you want to add an item so that it just pops up without it transitioning into place?

jelgblad avatar Sep 18 '16 15:09 jelgblad

yes, but load it asynchronously...

farantesrodrigues avatar Oct 01 '16 08:10 farantesrodrigues

Got the same problem :) would be nice if this works in a future version :D The LayoutComplete fires every time I add an item to the array

rowies avatar Oct 06 '16 09:10 rowies

Yea I see the problem. But it will take some rethinking... Code ideas or PRs on how to fix stuff like this are always welcome!

jelgblad avatar Oct 06 '16 19:10 jelgblad

Setting the transitionDuration to 0 and add css animation on the items solves the append issue but it creates an error Cannot read property 'removeChild' of null when removing some items.

options: MasonryOptions = { transitionDuration: '0', };

maronaquillo avatar Oct 26 '16 02:10 maronaquillo

@maronaquillo what version are you running?

jelgblad avatar Oct 27 '16 07:10 jelgblad

@jelgblad [email protected]

maronaquillo avatar Oct 27 '16 07:10 maronaquillo

I am having same issue, Still not able to resolve , not able to get it meaning of "add css animation on ". can any one provide detail?

AbhayVel avatar Oct 30 '16 14:10 AbhayVel

@maronaquillo and @jelgblad

Can you please provide solution for mentioned problem? I am not able to get it? "Cannot read property 'removeChild' of null when removing some items."

Setting the transitionDuration to 0 and add css animation on the items solves the append issue but it creates an error Cannot read property 'removeChild' of null when removing some items.

options: MasonryOptions = { transitionDuration: '0', };

AbhayVel avatar Oct 31 '16 07:10 AbhayVel

@maronaquillo @AbhayVel is this with useImagesLoaded on or off? Do you still have this issue with [email protected]?

jelgblad avatar Oct 31 '16 07:10 jelgblad

@jelgblad no, I am getting this issue as I have observable list. Yes, I am using 0.3.0 version only.

AbhayVel avatar Oct 31 '16 07:10 AbhayVel

@jelgblad , Hi Can you please provide me help on this, Still I am facing following issue. "Cannot read property 'removeChild' of null when removing some items."

AbhayVel avatar Nov 04 '16 13:11 AbhayVel

@AbhayVel if you could set up a punk showing your problem, that would be really helpful. You can fork this one: https://plnkr.co/edit/mmi5tk6hvzEazYQUGZUC?p=preview

jelgblad avatar Nov 07 '16 09:11 jelgblad

@jelgblad useImagesLoaded is off. @AbhayVel It's weird but I managed to get rid of the error by setting transitionDuration: '0.0000001s'

maronaquillo avatar Nov 22 '16 07:11 maronaquillo

@maronaquillo I have the same issue. Setting transitionDuration: '0.0000001s' does get rid of the error, however I get this long flash on the screen (everything gets wiped off and on) whenever my Observable stream is updated...

nick-jonas avatar Mar 19 '17 02:03 nick-jonas

@nick-jonas I am getting the same issue too with "Cannot read property 'removeChild' of null when removing some items." I have set transitionDuration to 0.000001s and the issue is gone but like you I get the screen rendering flash. Did you manage to either get transition 0 working or find a way to get rid of the screen flash?

I am on angular2-masonry 0.4.0

Rich-Squirrel365 avatar Sep 06 '17 11:09 Rich-Squirrel365

@kedger Did you set it like this? This works on my end. options: MasonryOptions = { transitionDuration: '0', gutter: 9, };

maronaquillo avatar Sep 08 '17 05:09 maronaquillo