Revision: 46
Author: atsn.ngs
Date: Mon Jul 27 23:16:54 2009
Log: getPeopleを改修
http://code.google.com/p/jopensocial/source/detail?r=46
Added:
/trunk/tests/test-noosapi.xml
Modified:
/trunk/src/jopensocial.js
/trunk/tests/test.xml
=======================================
--- /dev/null
+++ /trunk/tests/test-noosapi.xml Mon Jul 27 23:16:54 2009
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<Module>
+ <ModulePrefs title="jOpenSocial Test" description="Test jOpenSocial">
+ <Icon>
http://remote/favicon.ico</Icon>
+ <Require feature="opensocial-0.8"/>
+ <Require feature="dynamic-height"/>
+ <Require feature="views"/>
+ </ModulePrefs>
+ <Content type="html" view="home,profile,canvas">
+ <![CDATA[
+<style type="text/css">
+body { font-size:10pt; }
+#output { max-height:500px; overflow:auto; background:#333; color:#eee;
padding:10px; }
+fieldset { border:none; border-bottom:1px solid #ccc; margin:0;
padding:10px 0; }
+</style>
+<form onsubmit="return false;" id="test-form">
+ <fieldset class="data">
+ <label for="appdata-method">data.</label>
+ <select id="appdata-method">
+ <option value="get">get</option>
+ <option value="set">set</option>
+ </select>(
+ <input type="text" id="appdata-key" style="width:50px;" />,
+ <input type="text" id="appdata-userId" style="width:50px;"
class="get-only" value="viewer" />,
+ <input type="text" id="appdata-value" style="width:50px;"
class="set-only" value="" />,
+ callback,
+ <select id="appdata-useCache" class="get-only">
+ <option value="true">true</option>
+ <option value="false">false</option>
+ </select>
+ );
+ <button onclick="appDataRequest();return false;">run</button>
+ </fieldset>
+ <fieldset class="activity">
+ <label for="activity-title">activity.send (</label>
+ <input type="text" id="activity-title" style="width:50px;" />,
+ <input type="text" id="activity-body" style="width:100px;" />,
+ <select id="activity-priority">
+ <option value="false">false</option>
+ <option value="true">true</option>
+ </select>
+ <input type="text" id="activity-opts" style="width:50px;" />,
+ callback,
+ );
+ <button onclick="sendActivity();return false;">run</button>
+ </fieldset>
+ <fieldset class="eval">
+ <label for="eval-text" style="display:block;">eval</label>
+ <textarea id="eval-text"
style="width:95%;height:100px;display:block;margin:0
auto;">output([$.opensocial.container,
$.gadgets.width(),$.gadgets.height()])</textarea>
+ <button
onclick="try{eval('(function(){'+$('#eval-text').val()+'})()');}catch(e){output(e);};return
false;">run</button>
+ </fieldset>
+ <p style="margin:0;padding:1em 0 0 0;font-size:9pt;">
+ <a href="
http://jopensocial.googlecode.com/svn/trunk/docs/index.html"
target="_blank">jOpenSocial Documentation</a>
+ |
+ <a href="
http://jopensocial.googlecode.com/svn/trunk/tests/test.xml"
target="_blank">View source</a>
+ |
+ <a href="
http://code.google.com/p/jopensocial/" target="_blank">Google
Code</a>
+ </p>
+</form>
+<div id="output"> </div>
+<script type="text/javascript"
src="
http://jqueryjs.googlecode.com/files/jquery-1.3.1.min.js?rnd=39"></script>
+<script type="text/javascript"
src="
http://test.ngsdev.org/jopensocial/src/jopensocial.js?rnd=39"></script>
+<script type="text/javascript">
+function output(t) {
+ $("#output").html(gadgets.json.stringify(t));
+ $.gadgets.height("auto");
+}
+
+function appDataRequest() {
+ var g = $("#appdata-method").val()=="get";
+ var key = $("#appdata-key").val();
+ var value = $("#appdata-value").val();
+ var userId = $("#appdata-userId").val();
+ var useCache = $("#appdata-useCache").val()=="true";
+ output("requesting...");
+ if(g) {
+ $.opensocial.data.get( key, userId, function(d){
+ output(d?("[appdata:"+userId+"]"+key+":"+d):"FetchFailed.");
+ }, useCache );
+ } else {
+ $.opensocial.data.set( key, value, function(d){
+ output(d?("[appdata:viewer]"+key+":UpdateSuccess"):"UpdateFailed");
+ });
+
+ }
+}
+
+function sendActivity() {
+ var title = $("#activity-title").val();
+ var body = $("#activity-body").val();
+ var priority = $("#activity-priority").val() == "true";
+ var opts = $("#activity-opts").val();
+ opts = opts ? eval("("+opts+")"):{};
+ output("requesting...");
+ $.opensocial.activity.send(title,body,priority,opts,function(d){
+ output(d?"complete!":"failed orz");
+ });
+
+}
+
+$.gadgets.ready(function(){
+ output("$.gadgets.ready is dispatched!");
+ $("#appdata-method").bind("change",function(){
+ var g = this.value=="get";
+ $("fieldset.data .get-only").attr("disabled",g?"":"disabled");
+ $("fieldset.data .set-only").attr("disabled",g?"disabled":"");
+ });
+ $("#appdata-method").trigger("change");
+});
+
+</script>
+]]> </Content>
+</Module>
+
=======================================
--- /trunk/src/jopensocial.js Fri Apr 24 02:16:48 2009
+++ /trunk/src/jopensocial.js Mon Jul 27 23:16:54 2009
@@ -481,11 +481,16 @@
*/
function getPeople(userId,opt_params,callback, return_object) {
userId = userId || "VIEWER";
- var um = userId.match(/^OWNER$|^VIEWER$/i);
- if(um) userId = um[0].toUpperCase();
callback = callback || function(){ return false; }
opt_params = opt_params || {};
- var idspec = opensocial.newIdSpec({ userId:userId, groupId:"FRIENDS" });
+ var idspec,um;
+ if(typeof(userId)=="string") {
+ um = userId.match(/^OWNER$|^VIEWER$/i);
+ if(um) userId = um[0].toUpperCase();
+ idspec = opensocial.newIdSpec({ userId:userId, groupId:"FRIENDS" });
+ } else {
+ idspec = userId.userId?opensocial.newIdSpec(userId):userId;
+ }
var f;
f = opensocial.DataRequest.PeopleRequestFields.FILTER;
opt_params[f] = opt_params[f] || opensocial.DataRequest.FilterType.ALL;
=======================================
--- /trunk/tests/test.xml Mon Apr 13 18:48:37 2009
+++ /trunk/tests/test.xml Mon Jul 27 23:16:54 2009
@@ -1,9 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Module>
<ModulePrefs title="jOpenSocial Test" description="Test jOpenSocial">
- <Require feature="opensocial-0.8"/>
+ <Require feature="opensocial-0.9"/>
<Require feature="dynamic-height"/>
<Require feature="views"/>
+ <Require feature="osapi"/>
</ModulePrefs>
<Content type="html" view="home,profile,canvas">
<![CDATA[