Sure. That´s only an idea :)

If you can, build a piece of code. It´s a common question.

Cheers,

--Robson


2009/2/27 Paul Lindner <lind...@inuus.com>

> Instead why not use opensocial.DataRequest.PeopleRequestFields.FIRST and
>  opensocial.DataRequest.PeopleRequestFields.MAX to do limit/offset type of
> operations.
> You can get the total number of records by calling getTotalSize() on the
> resulting collection
>
>
> http://wiki.opensocial.org/index.php?title=Opensocial.Collection_%28v0.8%29
>
>
> On Feb 27, 2009, at 7:18 AM, Robson Dantas wrote:
>
> Hi Pedro.
>
> You have to build an algorithm to make it work like you want. I´ve cut a
> piece of code that makes something like you want. I didnt test it, but
> probably will work.
>
> Take a look and if you have any questions, send a message again.
>
> // global vars
> var NUM_RECORDS=16;
> var page=0;
> var numberFriends=0;
>
> function loadFriends() {
>
>     var req = opensocial.newDataRequest();
>     var opt_params = { };
>     opt_params[opensocial.DataRequest.PeopleRequestFields.MAX] = 400;
>     opt_params[opensocial.DataRequest.PeopleRequestFields.FILTER] =
> opensocial.DataRequest.FilterType.HAS_APP;
>
> req.add(req.newFetchPeopleRequest(opensocial.DataRequest.Group.OWNER_FRIENDS,opt_params),
> 'viewerFriends');
>
>     req.send(onLoadFriends);
>
> }
>
> /**
> * Callback to receive friends
> */
> function onLoadFriends(data)
> {
>
>     var viewerFriends = data.get('viewerFriends').getData();
>
>     i=1;
>     firstRecord = (page*NUM_RECORDS)+1;
>     numberPages = 0;
>
>     try{
>     viewerFriends.each(function(person) {
>
>             if(i>=firstRecord && i < (firstRecord+NUM_RECORDS)){
>                 // handle your operations here
>             }
>
>             i++;
>         }
>     });
>
>     // fix pagination
>     i--;
>
>     // total number of friends
>     numberFriends = i;
>
>     // number of pages
>     numberPages = i/NUM_RECORDS;
>
>     // fix number of pages
>     if(numberPages % NUM_RECORDS > 0 && numberPages > NUM_RECORDS)
>         numberPages++;
>
>     // convert it to integer
>     numberPages = parseInt(numberPages);
>
>     // just to call pages to test.
>     document.write('<input type="button" value=">"
> onclick="javascript:move('+page+'+1)"'+(page+1>=numPag ? '
> disabled':'')+'>');
>     document.write('<input type="button" value="<"
> onclick="javascript:move('+page+'-1)"'+(page<=0 ? ' disabled' : '')+'>');
>
> }
>
> /*
> * Simple function to move between pages
> */
> function move(pageNumber)
> {
>     // assign to global variable
>     page = pageNumber;
>
>     //load friends again
>     loadFriends();
> }
>
> Cheers,
>
> -Robson
>
> You just need to use that and make a loop to iterate
> 2009/2/27 Pedro Vicente <neteinst...@gmail.com>
>
>>
>> Oh and i forgot. The nasty thing is that if i store like the first 50
>> friends, and have 10 per page, then every time i change page and try
>> to get the data, i will loop through the first 10, ou 20, or.. i get
>> the picture.
>>
>> On Feb 27, 2:33 pm, Pedro Vicente <neteinst...@gmail.com> wrote:
>> > I knew that way, but thought that there was a "nicer" or "cleaner"
>> > way.
>> >
>> > Tks
>> >
>> > On Feb 27, 2:26 pm, Robson Dantas <biu.dan...@gmail.com> wrote:
>> >
>> > > Hi Pedro.
>> >
>> > > The simplest way is to use a variable to count first five and then
>> exit.
>> >
>> > > var i=1;
>> > > xpto.each(function(person){
>> >
>> > >    if (i==5) return;
>> >
>> > >    do stuff..
>> >
>> > >    i++;
>> >
>> > > });
>> >
>> > > Let me know if it is what you want.
>> >
>> > > Cheers,
>> >
>> > > --Robson Dantashttp://blogdodantas.dxs.com.br
>> >
>> > > 2009/2/27 Pedro Vicente <neteinst...@gmail.com>
>> >
>> > > > Hello,
>> >
>> > > > I've been looking at some examples of apps in hi5 and OpenSocial
>> page.
>> >
>> > > > All of them make a request of 10 friends for example, and then with
>> > > > the xpto.each(function(person) { .... use them all.
>> >
>> > > > My question is, how do i get only the 5 first friends of the 10 (so
>> > > > that i can request a X ammount of friends and do some pages with
>> them
>> > > > without having to do a cycle with all of them...
>> >
>> > > > Thanks in advanced and sorry if the is a more javascript question.
>>
>>
>
>
>
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"OpenSocial Application Development" group.
To post to this group, send email to opensocial-api@googlegroups.com
To unsubscribe from this group, send email to 
opensocial-api+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/opensocial-api?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to