SHINDIG-1056 by lipeng, BasicRemoteContentTest doesn't depend on static private key...
[shindig.git] / javascript / samplecontainer / examples / getFriendsHasApp.xml
blob57ddde312a99297216fc9c9ba4f906904f69c221
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19 -->
20 <Module>
21  <ModulePrefs title="List Friends using HAS_APP filter Example">
22    <Require feature="opensocial-0.7"/>
23  </ModulePrefs>
24  <Content type="html">
25  <![CDATA[
26  <script type="text/javascript">
28  /**
29   * Request for friend information.
30   */
31   function getData() {    
32     var req = opensocial.newDataRequest();
33         
34     req.add(req.newFetchPersonRequest(opensocial.DataRequest.PersonId.OWNER), 'owner');
35         var params = {};
36         params[opensocial.DataRequest.PeopleRequestFields.MAX] = 50;
37         params[opensocial.DataRequest.PeopleRequestFields.FILTER] = opensocial.DataRequest.FilterType.HAS_APP;
38         params[opensocial.DataRequest.PeopleRequestFields.SORT_ORDER] = opensocial.DataRequest.SortOrder.NAME;
39         req.add(req.newFetchPeopleRequest(opensocial.DataRequest.Group.OWNER_FRIENDS, params), 'ownerFriends');
40         req.send(onLoadFriends);
41   };
43  /**
44   * Parses the response to the friend information request and generates
45   * html to list the friends along with their display name.
46   *
47   * @param {Object} dataResponse Friend information that was requested.
48   */
49   function onLoadFriends(dataResponse) {
50     var owner = dataResponse.get('owner').getData();
51     var html = 'Friends of ' + owner.getDisplayName(); 
52     html += ':<br><ul>';
53     var ownerFriends = dataResponse.get('ownerFriends').getData();
54     ownerFriends.each(function(person) {
55       html += '<li>' + person.getDisplayName() + '</li>';
56     });
57     html += '</ul>';
58     document.getElementById('message').innerHTML = html;
59   };
61   gadgets.util.registerOnLoadHandler(getData);
62   </script>
63   <div id="message"> </div>
64   ]]>
65   </Content>
66 </Module>