Update the last update date, too.
[Sone.git] / src / main / resources / templates / include / viewSone.html
1 <script language="javascript">
2
3         function getStatus(soneId) {
4                 $.getJSON("ajax/getSoneStatus.ajax", {"sone": soneId}, function(data, textStatus) {
5                         updateStatus(soneId, data.status, data.modified, data.lastUpdated);
6                         setTimeout(function() {
7                                 getStatus(soneId);
8                         }, 5000);
9                 });
10         }
11
12         function updateStatus(soneId, status, modified, lastUpdated) {
13                 $("#sone .sone#" + soneId).
14                         toggleClass("unknown", status == "unknown").
15                         toggleClass("idle", status == "idle").
16                         toggleClass("inserting", status == "inserting").
17                         toggleClass("downloading", status == "downloading").
18                         toggleClass("modified", modified);
19                 $("#sone .sone#" + soneId + " .last-update span.time").text(lastUpdated);
20         }
21
22         $(document).ready(function() {
23                 $("#sone .sone").each(function() {
24                         getStatus($(this).attr("id"));
25                 });
26         });
27 </script>
28
29 <div id="<% sone.id|html>" class="sone <% sone.status|html><%if sone.modified> modified<%/if>">
30         <div class="unknown-marker" title="<%= View.Sone.Status.Unknown|l10n|html>">?</div>
31         <div class="modified-marker" title="<%= View.Sone.Status.Modified|l10n|html>">!</div>
32         <div class="download-marker" title="<%= View.Sone.Status.Downloading|l10n|html>">⬊</div>
33         <div class="insert-marker" title="<%= View.Sone.Status.Inserting|l10n|html>">⬈</div>
34         <div class="idle-marker" title="<%= View.Sone.Status.Idle|l10n|html>">✔</div>
35         <div class="last-update"><%= View.Sone.Label.LastUpdate|l10n|html> <span class="time"><% sone.time|date format="MMM d, yyyy, HH:mm:ss"></span></div>
36         <div class="profile-link"><a href="viewSone.html?sone=<% sone.id|html>" title="<% sone.requestUri|html>"><% sone.niceName|html></a></div>
37         <div class="short-request-uri"><% sone.requestUri|substring start=4 length=43|html></div>
38         <%ifnull ! currentSone>
39                 <%if ! sone.current>
40                         <%if sone.friend>
41                                 <form class="unfollow" action="unfollowSone.html" method="post">
42                                         <input type="hidden" name="formPassword" value="<% formPassword|html>" />
43                                         <input type="hidden" name="sone" value="<% sone.id|html>" />
44                                         <input type="hidden" name="returnPage" value="<% request.uri|html>" />
45                                         <button type="submit"><%= View.Sone.Button.UnfollowSone|l10n|html></button>
46                                 </form>
47                         <%else>
48                                 <form class="follow" action="followSone.html" method="post">
49                                         <input type="hidden" name="formPassword" value="<% formPassword|html>" />
50                                         <input type="hidden" name="sone" value="<% sone.id|html>" />
51                                         <input type="hidden" name="returnPage" value="<% request.uri|html>" />
52                                         <button type="submit"><%= View.Sone.Button.FollowSone|l10n|html></button>
53                                 </form>
54                         <%/if>
55                         <%if sone.blocked>
56                                 <form class="unblock" action="unblockSone.html" method="post">
57                                         <input type="hidden" name="formPassword" value="<% formPassword|html>" />
58                                         <input type="hidden" name="sone" value="<% sone.id|html>" />
59                                         <input type="hidden" name="returnPage" value="<% request.uri|html>" />
60                                         <button type="submit"><%= View.Sone.Button.UnblockSone|l10n|html></button>
61                                 </form>
62                         <%else>
63                                 <form class="block" action="blockSone.html" method="post">
64                                         <input type="hidden" name="formPassword" value="<% formPassword|html>" />
65                                         <input type="hidden" name="sone" value="<% sone.id|html>" />
66                                         <input type="hidden" name="returnPage" value="<% request.uri|html>" />
67                                         <button type="submit"><%= View.Sone.Button.BlockSone|l10n|html></button>
68                                 </form>
69                         <%/if>
70                 <%/if>
71         <%/if>
72         <div class="spacer">&nbsp;</div>
73 </div>