p.s. On the "click me" demo, the state is preserved when going back then forward, but not preserved when going forward then back. - Is that a design decision or unintended effect?
I believe its due to the mount cycle of TransitionGroup. Especially if you navigate before a transition is over, then an unmount doesn't occur, and the state isn't cleared.
The component in question is using component local state, so that resets on mount/unmount. That said, it would be very easy to embed one that instead used flux, and state would be preserved.
Sorry for the terrible bug report. I just had a good guess: my laptop has a higher-DPI display so I have Chrome adjust all websites to ~130% larger to make them match a normal website. I can reproduce the problem from my desktop if I zoom the page a bit.
This worked well on my old Nexus 7 (in Chrome), which a lot of similar systems haven't worked on. I've lost track of how many swipe-for-next-slide systems haven't worked for me, lately.
Some of the slides looked like they had a tiny bit cut off at the bottom, though.
Just a heads up, I was going to post the opposite comment - no navigation on Firefox on the nexus 7. I did see this first and check Chrome, that works fine (although I get a constant loader in the tab bar - is that a known side effect of something?).
This is really nice in Chrome on the tablet though, I agree! :)
Just grab the bottom left corner, drag around, and see bits of slides disappear.
I have fixed this in my slide library by choosing a single ratio, and using css3 zoom to fit that best in the browser window. Is less "weby", but better for displaying same slide to everyone.
Am I the only one who's annoyed by animations when I switch back to the slide? I can understand animating the slide when I first land on it; but animating it again when I hit the left arrow is wasteful, IMHO. Just show me the slide, because in all likelihood I'm just flipping backwards to get to a particular slide as fast as possible.
Good point. I'll split the transition prop into transistionIn and transitionOut so that you could set one direction to have no transitions. Realistically I don't even use transitions in my presentations, but folks seem to like them sooo....
Thanks! I write React full time at a very large company, so we've had some time to develop some cool best practices and solve some of the challenges something like this presents.
I can appreciate the advantages in terms of portability of something like this, but it's sort of funny watching trivial animations choke on a desktop with a beefy discrete graphics card in 2015. Maybe that's just Chrome on Ubuntu, though.
I guess you could put everything in a webgl canvas? Otherwise I guess we'd either need to build DOM layout engines better optimized for on-line layout updates or make them more parallelizable?
41 comments
[ 2.1 ms ] story [ 92.4 ms ] threadp.s. On the "click me" demo, the state is preserved when going back then forward, but not preserved when going forward then back. - Is that a design decision or unintended effect?
It would be nice if it kept the state though.
That said, Spectacle doesn't seem to allow mouse / scroll wheel navigation yet?
Some of the slides looked like they had a tiny bit cut off at the bottom, though.
This is really nice in Chrome on the tablet though, I agree! :)
Actually displaying the content of each slide, when viewed at different aspect ratios.
I can't imagine doing a presentation with this -- all it takes is one weird aspect ratio projector and half your talk disappears off the bottom.
I have fixed this in my slide library by choosing a single ratio, and using css3 zoom to fit that best in the browser window. Is less "weby", but better for displaying same slide to everyone.
Have been letting Colin Megill's 'Inline Styles are the Future of CSS' vid [0] marinate in my brain recently. Keep up the good work!
[0]https://www.youtube.com/watch?v=NoaxsCi13yQ
I guess you could put everything in a webgl canvas? Otherwise I guess we'd either need to build DOM layout engines better optimized for on-line layout updates or make them more parallelizable?