commit:4377f9e224f34c05e7a5de04f390bb2a0cabf6eb
author:Chip Black
committer:Chip Black
date:Sat May 26 15:06:31 2012 -0700
parents:fc5b9f1f68322c876b331c049749f113eb0271f7
Reload user when posting
diff --git a/www/js/blergmedia.js b/www/js/blergmedia.js
line changes: +0/-58
index 0528a9b..0000000
--- a/www/js/blergmedia.js
+++ /dev/null
@@ -1,58 +0,0 @@
-var BlergMedia = {
-    audioExtensions: [],
-    videoExtensions: []
-};
-
-function media_init() {
-    var e = document.createElement('audio');
-    if (!!e.canPlayType) {
-        BlergMedia.has_audio = true;
-        if (e.canPlayType('audio/mpeg; codecs="mp3"')) {
-            BlergMedia.has_mp3 = true;
-            BlergMedia.audioExtensions.push('mp3');
-        }
-        if (e.canPlayType('audio/ogg; codecs="vorbis"')) {
-            BlergMedia.has_vorbis = true;
-            BlergMedia.audioExtensions.push('ogg', 'oga');
-        }
-        if (e.canPlayType('audio/wav')) {
-            BlergMedia.has_wav = true;
-            BlergMedia.audioExtensions.push('wav');
-        }
-    }
-
-    var e = document.createElement('video');
-    if (!!e.canPlayType) {
-        BlergMedia.has_video = true;
-        if (e.canPlayType('video/mp4; codecs="avc"')) {
-            BlergMedia.has_h264 = true;
-            BlergMedia.videoExtensions.push('mp4');
-        }
-        if (e.canPlayType('video/ogg; codecs="theora, vorbis"')) {
-            BlergMedia.has_theora = true;
-            BlergMedia.videoExtensions.push('ogv');
-        }
-        if (e.canPlayType('video/webm; codecs="vp8, vorbis"')) {
-            BlergMedia.has_webm = true;
-            BlergMedia.videoExtensions.push('webm');
-        }
-    }
-}
-
-function play_audio() {
-    var e = event.target.parentElement;
-    var url = event.target.parentElement.href;
-    var audio_element = new Element('audio', {src: url, controls: 1, autoplay: 1});
-    e.replace(audio_element);
-}
-
-function play_video() {
-    var e = event.target.parentElement;
-    var url = event.target.parentElement.href;
-    var p = new Element('p');
-    var video_element = new Element('video', {src: url, controls: 1, autoplay: 1});
-    p.insert(video_element);
-    e.replace(p);
-}
-
-window.addEventListener('load', media_init, false);

diff --git a/www/jssrc/blerg/Blerg.js b/www/jssrc/blerg/Blerg.js
line changes: +5/-1
index 45b7d5f..6eac0d8
--- a/www/jssrc/blerg/Blerg.js
+++ b/www/jssrc/blerg/Blerg.js
@@ -8,7 +8,8 @@ enyo.kind({
         onTryLogin: "tryLogin",
         onTryLogout: "tryLogout",
         onSetTitle: "setTitle",
-        onPostVisibility: "postVisibilityUpdate"
+        onPostVisibility: "postVisibilityUpdate",
+        onReload: "sendReload"
     },
     components: [
         {classes: "blerg-header", components: [
@@ -88,5 +89,8 @@ enyo.kind({
     postVisibilityUpdate: function(inSender, inEvent) {
         this.$.post.waterfall('onPostVisibility', inEvent);
         this.$.controls.waterfall('onPostVisibility', inEvent);
+    },
+    sendReload: function() {
+        this.$.main.waterfall('onReload');
     }
 });

diff --git a/www/jssrc/blerg/Post.js b/www/jssrc/blerg/Post.js
line changes: +5/-1
index ee537f2..0c72a99
--- a/www/jssrc/blerg/Post.js
+++ b/www/jssrc/blerg/Post.js
@@ -40,7 +40,11 @@ enyo.kind({
     postSuccessful: function() {
         this.setData('');
         this.closePost();
-        this.href = '#' + blerg.API.username;
+        if (location.hash != '#' + blerg.API.username) {
+            qlink(blerg.API.username);
+        } else {
+            this.bubble('onReload');
+        }
     },
     postFailed: function() {
         alert('Could not post!');

diff --git a/www/jssrc/blerg/User.js b/www/jssrc/blerg/User.js
line changes: +2/-1
index 78f5247..7871051
--- a/www/jssrc/blerg/User.js
+++ b/www/jssrc/blerg/User.js
@@ -4,7 +4,8 @@ enyo.kind({
     listKind: "blerg.Record",
     handlers: {
         onLogin: "getStalkStatus",
-        onLogout: "getStalkStatus"
+        onLogout: "getStalkStatus",
+        onReload: "usernameChanged"
     },
     published: {
         username: "",

diff --git a/www/jssrc/lib/blergmedia.js b/www/jssrc/lib/blergmedia.js
line changes: +58/-0
index 0000000..0528a9b
--- /dev/null
+++ b/www/jssrc/lib/blergmedia.js
@@ -0,0 +1,58 @@
+var BlergMedia = {
+    audioExtensions: [],
+    videoExtensions: []
+};
+
+function media_init() {
+    var e = document.createElement('audio');
+    if (!!e.canPlayType) {
+        BlergMedia.has_audio = true;
+        if (e.canPlayType('audio/mpeg; codecs="mp3"')) {
+            BlergMedia.has_mp3 = true;
+            BlergMedia.audioExtensions.push('mp3');
+        }
+        if (e.canPlayType('audio/ogg; codecs="vorbis"')) {
+            BlergMedia.has_vorbis = true;
+            BlergMedia.audioExtensions.push('ogg', 'oga');
+        }
+        if (e.canPlayType('audio/wav')) {
+            BlergMedia.has_wav = true;
+            BlergMedia.audioExtensions.push('wav');
+        }
+    }
+
+    var e = document.createElement('video');
+    if (!!e.canPlayType) {
+        BlergMedia.has_video = true;
+        if (e.canPlayType('video/mp4; codecs="avc"')) {
+            BlergMedia.has_h264 = true;
+            BlergMedia.videoExtensions.push('mp4');
+        }
+        if (e.canPlayType('video/ogg; codecs="theora, vorbis"')) {
+            BlergMedia.has_theora = true;
+            BlergMedia.videoExtensions.push('ogv');
+        }
+        if (e.canPlayType('video/webm; codecs="vp8, vorbis"')) {
+            BlergMedia.has_webm = true;
+            BlergMedia.videoExtensions.push('webm');
+        }
+    }
+}
+
+function play_audio() {
+    var e = event.target.parentElement;
+    var url = event.target.parentElement.href;
+    var audio_element = new Element('audio', {src: url, controls: 1, autoplay: 1});
+    e.replace(audio_element);
+}
+
+function play_video() {
+    var e = event.target.parentElement;
+    var url = event.target.parentElement.href;
+    var p = new Element('p');
+    var video_element = new Element('video', {src: url, controls: 1, autoplay: 1});
+    p.insert(video_element);
+    e.replace(p);
+}
+
+window.addEventListener('load', media_init, false);