Start polling notifications when loading the page.
[Sone.git] / src / main / resources / templates / include / head.html
index 858851a..41c7971 100644 (file)
        </script>
 
        <script language="javascript">
-               /* display large notification about new replies and posts. */
+               /* process all existing notifications, ajaxify dismiss buttons. */
                $(document).ready(function() {
-                       newPostCount = $("#sone .post.new").length;
-                       newReplyCount = $("#sone .reply.new").length;
-                       if ((newPostCount + newReplyCount) == 0) {
-                               return;
-                       }
-                       if (newPostCount > 0) {
-                               postNotification = $("<div></div>").addClass("notification");
-                               getTranslation("WebInterface.Notification.NewPostCount", function(text) {
-                                       postNotification.append($("<div></div>").text(text)).append($("<div></div>").addClass("post-count").text(newPostCount));
-                               });
-                               postNotification.appendTo("#sone #notification-area");
-                       }
-                       if (newReplyCount > 0) {
-                               replyNotification = $("<div></div>").addClass("notification");
-                               getTranslation("WebInterface.Notification.NewReplyCount", function(text) {
-                                       replyNotification.append($("<div></div>").text(text)).append($("<div></div>").addClass("post-count").text(newReplyCount));
-                               });
-                               replyNotification.appendTo("#sone #notification-area");
-                       }
+                       $("#sone #notification-area .notification").each(function() {
+                               ajaxifyNotification($(this));
+                       });
+               });
+       </script>
+
+       <script language="javascript">
+               /* activate notification polling. */
+               $(document).ready(function() {
+                       setTimeout(getNotifications, 5000);
                });
        </script>
 
                        </div>
                <%/if>
 
-               <div id="notification-area"></div>
+               <div id="notification-area">
+
+                       <form id="notification-dismiss-template" class="hidden dismiss" action="dismissNotification.html" method="post">
+                               <input type="hidden" name="formPassword" value="<% formPassword|html>" />
+                               <input type="hidden" name="returnPage" value="<% request.uri|html>" />
+                               <input type="hidden" name="notification" value="" />
+                               <button type="submit"><%= Notification.Button.Dismiss|l10n|html></button>
+                       </form>
+
+                       <%foreach webInterface.notifications.all notification>
+                               <div class="notification" id="<% notification.id|html>">
+                                       <%if notification.dismissable>
+                                               <form class="dismiss" action="dismissNotification.html" method="post">
+                                                       <input type="hidden" name="formPassword" value="<% formPassword|html>" />
+                                                       <input type="hidden" name="returnPage" value="<% request.uri|html>" />
+                                                       <input type="hidden" name="notification" value="<% notification.id|html>" />
+                                                       <button type="submit"><%= Notification.Button.Dismiss|l10n|html></button>
+                                               </form>
+                                       <%/if>
+                                       <% notification>
+                               </div>
+                       <%/foreach>
+               </div>
 
                <div id="profile" class="<%ifnull currentSone>offline<%else>online<%/if>">
                        <a class="picture" href="index.html">