You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by li...@apache.org on 2010/10/23 12:29:07 UTC

svn commit: r1026595 - in /shindig/trunk/content/samplecontainer/examples/media: Media.xml MediaUI.js

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