Author: lindner
Date: Sat Oct 23 10:29:06 2010
New Revision: 1026595
URL: http://svn.apache.org/viewvc?rev=1026595&view=rev
Log:
SHINDIG-1430 | Patch from Eric Woods | Media Sample Gadget
Modified:
shindig/trunk/content/samplecontainer/examples/media/Media.xml
shindig/trunk/content/samplecontainer/examples/media/MediaUI.js
Modified: shindig/trunk/content/samplecontainer/examples/media/Media.xml
URL:
http://svn.apache.org/viewvc/shindig/trunk/content/samplecontainer/examples/media/Media.xml?rev=1026595&r1=1026594&r2=1026595&view=diff
==============================================================================
--- shindig/trunk/content/samplecontainer/examples/media/Media.xml (original)
+++ shindig/trunk/content/samplecontainer/examples/media/Media.xml Sat Oct 23
10:29:06 2010
@@ -21,6 +21,18 @@
<ModulePrefs title="Albums and MediaItems">
<Require feature="osapi"/>
<Require feature="dynamic-height"/>
+ <Require feature="pubsub-2">
+ <Param name="topics">
+ <![CDATA[
+ <Topic title="MediaItem Created"
name="org.apache.shindig.mediaItem.created" description="Publishes MediaItem
created events." type="org.opensocial.data.mediaItem" publish="true"/>
+ <Topic title="MediaItem Updated"
name="org.apache.shindig.mediaItem.updated" description="Publishes MediaItem
updated events." type="org.opensocial.data.mediaItem" publish="true"/>
+ <Topic title="MediaItem Deleted"
name="org.apache.shindig.mediaItem.deleted" description="Publishes MediaItem
deleted events." type="org.opensocial.data.mediaItem" publish="true"/>
+ <Topic title="Album Created"
name="org.apache.shindig.album.created" description="Publishes Album created
events." type="org.opensocial.data.album" publish="true">
+ <Topic title="Album Updated"
name="org.apache.shindig.album.updated" description="Publishes Album updated
events." type="org.opensocial.data.album" publish="true">
+ <Topic title="Album Deleted"
name="org.apache.shindig.album.deleted" description="Publishes Album deleted
events." type="org.opensocial.data.album" publish="true">
+ ]]>
+ </Param>
+ </Require>
</ModulePrefs>
<Content type="html"><![CDATA[
Modified: shindig/trunk/content/samplecontainer/examples/media/MediaUI.js
URL:
http://svn.apache.org/viewvc/shindig/trunk/content/samplecontainer/examples/media/MediaUI.js?rev=1026595&r1=1026594&r2=1026595&view=diff
==============================================================================
--- shindig/trunk/content/samplecontainer/examples/media/MediaUI.js (original)
+++ shindig/trunk/content/samplecontainer/examples/media/MediaUI.js Sat Oct 23
10:29:06 2010
@@ -346,11 +346,13 @@ function MediaUI(social) {
};
if (album == null) {
social.createAlbum(viewer.id, newAlbum, function(response) {
+ publish("org.apache.shindig.album.created", newAlbum);
console.log('created album response: ' +
JSON.stringify(response));
renderAlbumsByUser(viewer.id);
});
} else {
social.updateAlbum(viewer.id, album.id, newAlbum,
function(response) {
+ publish("org.apache.shindig.album.updated", newAlbum);
console.log('updated album response: ' +
JSON.stringify(response));
renderAlbumsByUser(viewer.id);
});
@@ -468,6 +470,7 @@ function MediaUI(social) {
if (newMediaItem.type == null || newMediaItem.type == "")
newMediaItem.type = "image";
if (mediaItem == null) {
social.createMediaItem(viewer.id, albumId, newMediaItem,
function(response) {
+ publish("org.apache.shindig.mediaItem.created",
newMediaItem);
console.log('created MediaItem response: ' +
JSON.stringify(response));
social.getMediaItemsByAlbum(viewer.id, album.id,
function(response) {
renderMediaItems(album, response.list);
@@ -475,6 +478,7 @@ function MediaUI(social) {
});
} else {
social.updateMediaItem(viewer.id, albumId, mediaItem.id,
newMediaItem, function(response) {
+ publish("org.apache.shindig.mediaItem.updated",
newMediaItem);
console.log('updated MediaItem response: ' +
JSON.stringify(response));
social.getMediaItemsByAlbum(viewer.id, album.id,
function(response) {
renderMediaItems(album, response.list);
@@ -500,6 +504,7 @@ function MediaUI(social) {
console.log('deleteAlbumPopup');
if (confirm("Delete '" + album.title + "'?")) {
social.deleteAlbum(viewer.id, album.id, function(response) {
+ publish("org.apache.shindig.album.deleted", album);
console.log('delete album response: ' +
JSON.stringify(response));
renderAlbumsByUser(viewer.id);
});
@@ -514,6 +519,7 @@ function MediaUI(social) {
var albumId = mediaItem.albumId;
if (confirm("Delete '" + mediaItem.title + "'?")) {
social.deleteMediaItem(viewer.id, albumId, mediaItem.id,
function(response) {
+ publish("org.apache.shindig.mediaItem.deleted", mediaItem);
console.log('delete mediaItem response: ' +
JSON.stringify(response));
social.getMediaItemsByAlbum(viewer.id, albumId,
function(response) {
renderMediaItems(album, response.list);
@@ -521,4 +527,11 @@ function MediaUI(social) {
});
}
}
+
+ /*
+ * Publishers.
+ */
+ function publish(topic, payload) {
+ gadgets.Hub.publish(topic, payload);
+ }
}
\ No newline at end of file