2015-04-21 16:18:15 -04:00
<?xml version="1.0" encoding="UTF-8"?>
<Module >
<ModulePrefs
title="Tweets"
author="Alexei Vassiliev"
author_email="alexnv@sbcglobal.com"
description="Twitter">
<Require feature= "opensocial-0.9" />
<Require feature= "pubsub" />
<Require feature= "views" />
<Require feature= "osapi" />
<Require feature= "dynamic-height" />
</ModulePrefs>
<Content type= "html" view= "default, home, profile" > <![CDATA[<!--HTML-->
2019-04-25 14:51:38 -07:00
<!DOCTYPE html>
2015-04-21 16:18:15 -04:00
<!-- #includes -->
<link rel= "stylesheet" href= "css/gadget.css" type= "text/css" media= "screen, projection" >
2019-04-25 14:51:38 -07:00
<script type= "text/javascript" src= "http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js" > </script>
<script type= "text/javascript" src= "js/jquery.blockUI.js" > </script>
2015-04-21 16:18:15 -04:00
<script charset= "utf-8" src= "http://widgets.twimg.com/j/2/widget.js" > </script>
<script type= "text/javascript" src= "js/os.js" > </script>
2019-04-25 14:51:38 -07:00
2015-04-21 16:18:15 -04:00
<script type= "text/javascript" >
var ucsf = ucsf || {};
ucsf.twitter = {};
ucsf.gadgetEventTrack=function(action, label, value) {
var message = {'action' : action};
if (label) {message.label = label;}
if (value) {message.value = value;}
gadgets.pubsub.publish("analytics", message);
};
2019-04-25 14:51:38 -07:00
2015-04-21 16:18:15 -04:00
ucsf.twitter.getUsername=function(callback) {
osapi.appdata.get({'userId': '@owner', 'groupId': '@self', 'appId':'@app', 'fields': ['twitter_username']})
.execute(function(response){
var viewer = os.osapi.getViewerFromResult(response);
var username = viewer.twitter_username;
if(username != null & & username != '' & & callback) {
callback(username);
}
});
}
2019-04-25 14:51:38 -07:00
2015-04-21 16:18:15 -04:00
ucsf.twitter.render=function(username) {
$("#twitter-wjs").remove();
$(".twitter-gadget .content").empty();
$(".twitter-gadget .content").append('<a width= "520" height= "300" class= "twitter-timeline" href= "https://twitter.com/'+username+'" data-screen-name= "'+username+'" data-widget-id= "320982656688996353" > Tweets by @'+username+'</a> ')
2019-04-25 14:51:38 -07:00
2015-04-21 16:18:15 -04:00
var fjs=document.getElementsByTagName("script")[0];
var p=/^http:/.test(document.location)?'http':'https';
js=document.createElement("script");
js.id="twitter-wjs";
js.src=p+"://platform.twitter.com/widgets.js";
fjs.parentNode.insertBefore(js,fjs);
}
2019-04-25 14:51:38 -07:00
2015-04-21 16:18:15 -04:00
ucsf.twitter.preview=function(widget_id) {
if(widget_id) {
ucsf.twitter.render(widget_id);
2019-04-25 14:51:38 -07:00
}
}
2015-04-21 16:18:15 -04:00
</script>
]]></Content>
2019-04-25 14:51:38 -07:00
<Content type= "html" view= "profile" preferred_width= "670" > <![CDATA[<!--HTML-->
2015-04-21 16:18:15 -04:00
<script type= "text/javascript" >
ucsf.twitter.profilePageInit = function() {
gadgets.window.adjustHeight(300);
ucsf.twitter.getUsername(ucsf.twitter.preview);
}
2019-04-25 14:51:38 -07:00
gadgets.util.registerOnLoadHandler(ucsf.twitter.profilePageInit);
</script>
2015-04-21 16:18:15 -04:00
<!-- Styles -->
2019-04-25 14:51:38 -07:00
<style type= "text/css" >
.twitter-gadget .content {text-align: center;}
2015-04-21 16:18:15 -04:00
</style>
2019-04-25 14:51:38 -07:00
2015-04-21 16:18:15 -04:00
<div class= "twitter-gadget" >
<div class= "content" >
2019-04-25 14:51:38 -07:00
</div>
2015-04-21 16:18:15 -04:00
</div>
]]></Content>
2019-04-25 14:51:38 -07:00
<Content type= "html" view= "home" preferred_width= "700" > <![CDATA[<!--HTML-->
<script type= "text/javascript" >
2015-04-21 16:18:15 -04:00
$(document).ready(function () {
$(".twitter-gadget .save").click(function() {
$(".twitter-gadget").block({ message: "Saving..." });
osapi.appdata.update({'userId': '@owner', 'groupId': '@self', 'appId':'@app', 'data':{'twitter_username':$('.twitter-gadget input').val()} }).execute(function(response){
$(".twitter-gadget").unblock();
2019-04-25 14:51:38 -07:00
});
2015-04-21 16:18:15 -04:00
});
$(".twitter-gadget .preview").click(function() {
var username = $('.twitter-gadget input').val();
if(username != null & & username != '') {
$('.twitter-gadget .content').show();
gadgets.window.adjustHeight(350);
ucsf.twitter.preview(username);
}
else {
$('.twitter-gadget .content').hide();
gadgets.window.adjustHeight(50);
}
});
});
2019-04-25 14:51:38 -07:00
2015-04-21 16:18:15 -04:00
ucsf.twitter.homePageInit = function() {
gadgets.window.adjustHeight(50);
ucsf.twitter.getUsername(function(username) {
$('.twitter-gadget input').val(username);
$('.twitter-gadget .content').show();
gadgets.window.adjustHeight(350);
ucsf.twitter.preview(username);
2019-04-25 14:51:38 -07:00
});
2015-04-21 16:18:15 -04:00
}
2019-04-25 14:51:38 -07:00
gadgets.util.registerOnLoadHandler(ucsf.twitter.homePageInit);
2015-04-21 16:18:15 -04:00
</script>
2019-04-25 14:51:38 -07:00
2015-04-21 16:18:15 -04:00
<!-- Styles -->
2019-04-25 14:51:38 -07:00
<style type= "text/css" >
.twitter-gadget {margin-top: 10px;}
2015-04-21 16:18:15 -04:00
.twitter-gadget input {width: 400px;}
.twitter-gadget .label {margin-right: 10px;font-weight: bold;}
.twitter-gadget .preview, .twitter-gadget .save {margin-left: 10px;color: #3B6394; cursor:pointer;}
2019-04-25 14:51:38 -07:00
.twitter-gadget .content {margin-top: 10px; margin-left: 20px;}
2015-04-21 16:18:15 -04:00
</style>
2019-04-25 14:51:38 -07:00
<div class= "twitter-gadget" >
2015-04-21 16:18:15 -04:00
<span class= "label" > Widget Id:</span> <input type= "text" name= "keywords" > </input> <span class= "preview" > Preview</span> <span class= "save" > Save</span>
2019-04-25 14:51:38 -07:00
<div class= "content" style= "display:none" >
2015-04-21 16:18:15 -04:00
</div>
</div>
]]></Content>
2019-04-25 14:51:38 -07:00
</Module>