Author: scottbw
Date: Wed Apr 2 12:54:38 2014
New Revision: 1584014
URL: http://svn.apache.org/r1584014
Log:
Use callbacks and async processing in the demo scripts; this is important as
otherwise things can get tangled up very easily.
Modified:
wookie/trunk/wookie-server/src/main/webapp/demo/wookie-connector.js
wookie/trunk/wookie-server/src/main/webapp/demo/wookie.js
Modified: wookie/trunk/wookie-server/src/main/webapp/demo/wookie-connector.js
URL:
http://svn.apache.org/viewvc/wookie/trunk/wookie-server/src/main/webapp/demo/wookie-connector.js?rev=1584014&r1=1584013&r2=1584014&view=diff
==============================================================================
--- wookie/trunk/wookie-server/src/main/webapp/demo/wookie-connector.js
(original)
+++ wookie/trunk/wookie-server/src/main/webapp/demo/wookie-connector.js Wed Apr
2 12:54:38 2014
@@ -117,7 +117,7 @@ var Wookie = {
});
},
- getOrCreateInstance: function(id) {
+ getOrCreateInstance: function(id, callback, element) {
//
// Use default connection if not set
@@ -130,7 +130,7 @@ var Wookie = {
// Use default user if not set
//
if (Wookie.currentUser === null){
- Wookie.setCurrentUser("test","test user",null);
+ Wookie.setCurrentUser("test","test user",null,null);
}
var key = id + ":" + Wookie.currentUser.loginName;
@@ -176,10 +176,16 @@ var Wookie = {
instance.height = height;
instance.width = width;
Wookie.instances[key]=instance;
+
+ Wookie.setParticipant(id, callback, instance, element);
},
async: false
});
-
+ }
+ return Wookie.instances[key];
+ },
+
+ setParticipant: function(id, callback, instance, element){
var postdata = "api_key=";
postdata = postdata + encodeURI(Wookie.connection.apiKey);
postdata = postdata + "&nonce="+Math.random();
@@ -212,11 +218,10 @@ var Wookie = {
"Authorization":signature
},
success: function(data) {
+ callback(instance, element);
},
async: false
});
- }
- return Wookie.instances[key];
},
getSignature: function(method, uri, query){
Modified: wookie/trunk/wookie-server/src/main/webapp/demo/wookie.js
URL:
http://svn.apache.org/viewvc/wookie/trunk/wookie-server/src/main/webapp/demo/wookie.js?rev=1584014&r1=1584013&r2=1584014&view=diff
==============================================================================
--- wookie/trunk/wookie-server/src/main/webapp/demo/wookie.js (original)
+++ wookie/trunk/wookie-server/src/main/webapp/demo/wookie.js Wed Apr 2
12:54:38 2014
@@ -87,20 +87,24 @@ function updateWidgets(widgets){
function showWidget(id){
Wookie.setCurrentUser("alice","alice","/wookie/demo/alice.png", "host");
- var widgetInstance = Wookie.getOrCreateInstance(id);
- $('#preview_info').html('<br/>' + widgetInstance.title + '<br/>' + id);
- $("#preview_alice_widget").html('');
- $("#preview_alice_widget").append("<iframe src='"+widgetInstance.url+"'
height='"+widgetInstance.height+"' width='"+widgetInstance.width+"'></iframe>");
- $("#preview_alice_tile").html('');
- $("#preview_alice_tile").append("<iframe src='"+widgetInstance.url+"'
height='150' width='310'></iframe>");
- $("#alice_url").html("<a href='" + widgetInstance.url + "'
target='_blank'>Full Screen</a>");
+
+ var title = "No title";
+ for (i in Wookie.widgets){
+ if (Wookie.widgets[i].id==id) title = Wookie.widgets[i].name;
+ }
+
+ $('#preview_info').html('<br/>' +name + '<br/>' + id);
+
+ Wookie.getOrCreateInstance(id, renderWidget, "#preview_alice_widget");
+ Wookie.getOrCreateInstance(id, renderWidget, "#preview_alice_tile");
Wookie.setPreference(id, "conference-manager","true");
Wookie.setCurrentUser("bob","bob","/wookie/demo/bob.png");
- var widgetInstance = Wookie.getOrCreateInstance(id);
- $("#preview_bob_widget").html('');
- $("#preview_bob_widget").append("<iframe src='"+widgetInstance.url+"'
height='"+widgetInstance.height+"' width='"+widgetInstance.width+"'></iframe>");
- $("#preview_bob_tile").html('');
- $("#preview_bob_tile").append("<iframe src='"+widgetInstance.url+"'
height='150' width='310'></iframe>");
- $("#bob_url").html("<a href='" + widgetInstance.url + "'
target='_blank'>Full Screen</a>");
+ Wookie.getOrCreateInstance(id, renderWidget, "#preview_bob_widget");
+ Wookie.getOrCreateInstance(id, renderWidget, "#preview_bob_tile");
+}
+
+function renderWidget(widgetInstance, element){
+ $(element).html('');
+ $(element).append("<iframe src='"+widgetInstance.url+"'
height='"+widgetInstance.height+"' width='"+widgetInstance.width+"'></iframe>");
}