Hello Derrel,
thanks for your feedback. This is already possible because the direction is
already part of the events data. Based on that, the developer could trigger a
reload only on down scrolls.
Regards,
Martin
Am 15.08.2014 um 15:24 schrieb Derrell Lipman
<derrell.lip...@unwireduniverse.com<mailto:derrell.lip...@unwireduniverse.com>>:
The new Waypoints feature looks nice. I wonder if there are some useful but
missing pieces, though, Let's say you've set a waypoint at 75% in order to load
additional data at the end, to implement infinite scrolling. The user then
scrolls past 75%, causing the event whose handler requests more data. Before
the new data has arrived, the user scrolls backwards (towards the beginning of
the list) so again passes the 75% waypoint, which again requests yet more data.
The second of those events should not have requested more data at the end
because the user is scrolling towards the beginning.
It seems that two changes would be useful:
1. In the setWaypointsY() method, allow specifying whether a waypoint event
should be generated when passing the waypoint scrolling down, up, or either.
One possible implementation is:
scrollContainer.setWaypointsY(
[
"0%",
{ waypoint : "25%", activatedOn : "scrolldown" },
"50%",
{ waypoint : "75%", activatedOn : "scrollup" },
{ waypoint : "100%", activatedOn : "scrollupdown" },
200,
".waypoint"
]);
which would activate the 25% waypoint event only when scrolling down; the 75%
waypoint only when scrolling up; and all others when scrolling in either
direction. (Note that the map can be used for events for either direction, as
with 100%, or the map can be excluded in those cases, as with 50%.)
Additionally, the event payload can indicate which direction scrolling has
occurred:
{
"offset": 0,
"input": "10%",
"index": 0,
"element" : 0,
"direction" : "scrolldown"
}
For your consideration,
Derrell
On Fri, Aug 15, 2014 at 8:07 AM, qooxdoo News
<webmas...@qooxdoo.org<mailto:webmas...@qooxdoo.org>> wrote:
qooxdoo News<http://news.qooxdoo.org/>
________________________________
The week in qooxdoo
(2014-08-15)<http://feedproxy.google.com/~r/qooxdoo/news/content/~3/pJY5EALvcIc/the-week-in-qooxdoo-2014-08-15?utm_source=feedburner&utm_medium=email>
Posted: 15 Aug 2014 04:56 AM PDT
This week, we have been busy in the mobile part of the framework, as you might
have already read in our separate blog
post<http://news.qooxdoo.org/waypoints-feature-added-to-qx-mobile> about the
new waypoint feature. This is a handy new feature you might want to try in the
playground<http://tinyurl.com/llp9yef> for yourself. This also enables you to
implement a commonly used pattern called pull to
refresh<http://bugzilla.qooxdoo.org/show_bug.cgi?id=8535>.
We have also been busy in refactoring the picker
widget<http://demo.qooxdoo.org/devel/mobileshowcase/index.html#%2Fdialog>, but
more details on that will be covered in a blog post coming next week.
For a complete list of all tasks accomplished during the last working week, see
this bugzilla
query<http://bugzilla.qooxdoo.org/buglist.cgi?query_format=advanced&resolution=FIXED&chfieldfrom=2014-08-08&chfieldto=2014-08-15&chfield=resolution>.
[http://feeds.feedburner.com/~ff/qooxdoo/news/content?d=yIl2AUoC8zA]<http://feeds.feedburner.com/~ff/qooxdoo/news/content?a=pJY5EALvcIc:muaGoYpD-8c:yIl2AUoC8zA>
[http://feeds.feedburner.com/~ff/qooxdoo/news/content?i=pJY5EALvcIc:muaGoYpD-8c:D7DqB2pKExk]
<http://feeds.feedburner.com/~ff/qooxdoo/news/content?a=pJY5EALvcIc:muaGoYpD-8c:D7DqB2pKExk>
[http://feeds.feedburner.com/~ff/qooxdoo/news/content?d=dnMXMwOfBR0]
<http://feeds.feedburner.com/~ff/qooxdoo/news/content?a=pJY5EALvcIc:muaGoYpD-8c:dnMXMwOfBR0>
[http://feeds.feedburner.com/~ff/qooxdoo/news/content?i=pJY5EALvcIc:muaGoYpD-8c:V_sGLiPBpWU]
<http://feeds.feedburner.com/~ff/qooxdoo/news/content?a=pJY5EALvcIc:muaGoYpD-8c:V_sGLiPBpWU>
[http://feeds.feedburner.com/~ff/qooxdoo/news/content?i=pJY5EALvcIc:muaGoYpD-8c:F7zBnMyn0Lo]
<http://feeds.feedburner.com/~ff/qooxdoo/news/content?a=pJY5EALvcIc:muaGoYpD-8c:F7zBnMyn0Lo>
[http://feeds.feedburner.com/~ff/qooxdoo/news/content?i=pJY5EALvcIc:muaGoYpD-8c:gIN9vFwOqvQ]
<http://feeds.feedburner.com/~ff/qooxdoo/news/content?a=pJY5EALvcIc:muaGoYpD-8c:gIN9vFwOqvQ>
[http://feeds.feedburner.com/~ff/qooxdoo/news/content?d=qj6IDK7rITs]
<http://feeds.feedburner.com/~ff/qooxdoo/news/content?a=pJY5EALvcIc:muaGoYpD-8c:qj6IDK7rITs>
Waypoints feature added to
qx.Mobile<http://feedproxy.google.com/~r/qooxdoo/news/content/~3/ssSDrS7IFHs/waypoints-feature-added-to-qx-mobile?utm_source=feedburner&utm_medium=email>
Posted: 14 Aug 2014 08:16 AM PDT
[http://news.qooxdoo.org/wp-content/uploads/2014/08/Bildschirmfoto-2014-08-01-um-10.25.27-178x300.png]<http://demo.qooxdoo.org/devel/mobileshowcase/index.html#%2Flist>We
enhanced the qx.Mobile pageEnd logic and added a scroll waypoint feature. It
makes it possible to execute code whenever you scroll to a pre-defined offset.
This is very useful if you want to trigger an animation/action when the user
scrolls to specified vertical/horizontal point. This feature is also necessary
if you want to implement infinite scrolling.
The waypoint feature can be used like this:
var scrollContainer = page._getScrollContainer();
scrollContainer.setWaypointsY(["0%","50%","100%",200,".waypoint"]);
You can add percentage-based waypoints by adding a string like "20%" or just
add numbers for applying pixel-based offsets. Additionally you can determine
waypoints through a CSS selector
query<https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Getting_Started/Selectors>.
Whenever a waypoint triggers, a qx.event.type.Data fires on the scroll
container:
scrollContainer.addListener("waypoint", function(evt) {
console.log("Waypoint reached:" + evt.getData());
}, this);
The payload of the waypoint event looks like this:
{
"offset": 0,
"input": "10%",
"index": 0,
"element" : 0
}
* offset contains the scroll offset in pixel.
* input is the waypoint condition you passed through the array and which
triggered this event.
* index identifies this waypoint relative to its position inside the
waypoint array you have passed.
* element contains the element index found through your selector. e.g. you
have five elements with ‘.waypoint’ class inside your scroll container, and
user scrolls to the fifth element with this identifier, then element would be
4. This value is only relevant for waypoint rules based upon a selector. For
numbers and percentage-based rules it is always null.
Have a look at this feature at the qx.Mobile List
demo<http://demo.qooxdoo.org/devel/mobileshowcase/index.html#%2Flist> or check
out the demo source
code<https://github.com/qooxdoo/qooxdoo/blob/master/application/mobileshowcase/source/class/mobileshowcase/page/List.js>.
[http://feeds.feedburner.com/~ff/qooxdoo/news/content?d=yIl2AUoC8zA]<http://feeds.feedburner.com/~ff/qooxdoo/news/content?a=ssSDrS7IFHs:jFJ3fAJVFJc:yIl2AUoC8zA>
[http://feeds.feedburner.com/~ff/qooxdoo/news/content?i=ssSDrS7IFHs:jFJ3fAJVFJc:D7DqB2pKExk]
<http://feeds.feedburner.com/~ff/qooxdoo/news/content?a=ssSDrS7IFHs:jFJ3fAJVFJc:D7DqB2pKExk>
[http://feeds.feedburner.com/~ff/qooxdoo/news/content?d=dnMXMwOfBR0]
<http://feeds.feedburner.com/~ff/qooxdoo/news/content?a=ssSDrS7IFHs:jFJ3fAJVFJc:dnMXMwOfBR0>
[http://feeds.feedburner.com/~ff/qooxdoo/news/content?i=ssSDrS7IFHs:jFJ3fAJVFJc:V_sGLiPBpWU]
<http://feeds.feedburner.com/~ff/qooxdoo/news/content?a=ssSDrS7IFHs:jFJ3fAJVFJc:V_sGLiPBpWU>
[http://feeds.feedburner.com/~ff/qooxdoo/news/content?i=ssSDrS7IFHs:jFJ3fAJVFJc:F7zBnMyn0Lo]
<http://feeds.feedburner.com/~ff/qooxdoo/news/content?a=ssSDrS7IFHs:jFJ3fAJVFJc:F7zBnMyn0Lo>
[http://feeds.feedburner.com/~ff/qooxdoo/news/content?i=ssSDrS7IFHs:jFJ3fAJVFJc:gIN9vFwOqvQ]
<http://feeds.feedburner.com/~ff/qooxdoo/news/content?a=ssSDrS7IFHs:jFJ3fAJVFJc:gIN9vFwOqvQ>
[http://feeds.feedburner.com/~ff/qooxdoo/news/content?d=qj6IDK7rITs]
<http://feeds.feedburner.com/~ff/qooxdoo/news/content?a=ssSDrS7IFHs:jFJ3fAJVFJc:qj6IDK7rITs>
You are subscribed to email updates from qooxdoo News<http://news.qooxdoo.org/>
To stop receiving these emails, you may unsubscribe
now<http://feedburner.google.com/fb/a/mailunsubscribe?k=8bEQDa09ojNmRCkeos18kn7BncI>.
Email delivery powered by Google
Google Inc., 20 West Kinzie, Chicago IL USA 60610
------------------------------------------------------------------------------
_______________________________________________
qooxdoo-devel mailing list
qooxdoo-devel@lists.sourceforge.net<mailto:qooxdoo-devel@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
------------------------------------------------------------------------------
Slashdot TV.
Video for Nerds. Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
qooxdoo-devel mailing list
qooxdoo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel