| Index: appengine/monorail/templates/features/updates-page.ezt
|
| diff --git a/appengine/monorail/templates/features/updates-page.ezt b/appengine/monorail/templates/features/updates-page.ezt
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..e5306f309b855bdbdf215fcf7f032f33f32f9559
|
| --- /dev/null
|
| +++ b/appengine/monorail/templates/features/updates-page.ezt
|
| @@ -0,0 +1,177 @@
|
| +[define title]Updates[end]
|
| +[if-any updates_data]
|
| +
|
| +[define even]Yes[end]
|
| +
|
| +<div id="colcontrol">
|
| +<div class="list">
|
| + <table style="width: 100%;" cellspacing="0" cellpadding="0">
|
| + <tbody><tr>
|
| + <td style="text-align: left;">
|
| + Details:
|
| + <a id="detailsshow" href="#" class="showAll">Show all</a>
|
| + <a id="detailshide" href="#" class="hideAll">Hide all</a></td>
|
| + <td>
|
| + [include "../framework/artifact-list-pagination-part.ezt"]
|
| + </td>
|
| + </tr>
|
| + </tbody>
|
| + </table>
|
| + </div>
|
| +
|
| + <table cellspacing="0" cellpadding="0" border="0" width="100%" id="resultstable" class="results" style="table-layout:fixed; width:100%">
|
| + <tbody>
|
| + <tr>
|
| + <td style="padding:0px" width="100%">
|
| +
|
| + <div id='activity-streams-list' class='activity-stream-list'>
|
| + [if-any updates_data.today]
|
| + <h4>Today</h4>
|
| + <ul class='activity-stream'>
|
| + [for updates_data.today]
|
| + [include "updates-entry-part.ezt" updates_data.today]
|
| + [end]
|
| + </ul>
|
| + [end]
|
| +
|
| + [if-any updates_data.yesterday]
|
| + <h4>Yesterday</h4>
|
| + <ul class='activity-stream'>
|
| + [for updates_data.yesterday]
|
| + [include "updates-entry-part.ezt" updates_data.yesterday]
|
| + [end]
|
| + </ul>
|
| + [end]
|
| +
|
| + [if-any updates_data.pastweek]
|
| + <h4>Last 7 days</h4>
|
| + <ul class='activity-stream'>
|
| + [for updates_data.pastweek]
|
| + [include "updates-entry-part.ezt" updates_data.pastweek]
|
| + [end]
|
| + </ul>
|
| + [end]
|
| +
|
| + [if-any updates_data.pastmonth]
|
| + <h4>Last 30 days</h4>
|
| + <ul class='activity-stream'>
|
| + [for updates_data.pastmonth]
|
| + [include "updates-entry-part.ezt" updates_data.pastmonth]
|
| + [end]
|
| + </ul>
|
| + [end]
|
| +
|
| + [if-any updates_data.thisyear]
|
| + <h4>Earlier this year</h4>
|
| + <ul class='activity-stream'>
|
| + [for updates_data.thisyear]
|
| + [include "updates-entry-part.ezt" updates_data.thisyear]
|
| + [end]
|
| + </ul>
|
| + [end]
|
| +
|
| + [if-any updates_data.older]
|
| + <h4>Older</h4>
|
| + <ul class='activity-stream'>
|
| + [for updates_data.older]
|
| + [include "updates-entry-part.ezt" updates_data.older]
|
| + [end]
|
| + </ul>
|
| + [end]
|
| + </div>
|
| +
|
| + </td></tr></tbody></table>
|
| +
|
| + <div class="list-foot">
|
| + [include "../framework/artifact-list-pagination-part.ezt"]
|
| + </div>
|
| +</div>
|
| +
|
| +[else]
|
| +
|
| + [if-any no_stars]
|
| + [is user_updates_tab_mode "st2"]
|
| + <div class="display-error">There are no starred projects.</div>
|
| + [else][is user_updates_tab_mode "st3"]
|
| + <div class="display-error">There are no starred developers.</div>
|
| + [end][end]
|
| + [else][if-any no_activities]
|
| + <div class="display-error">There are no updates yet.</div>
|
| + [end][end]
|
| +
|
| +[end]
|
| +
|
| +[if-any updates_data]
|
| +<script type="text/javascript" nonce="[nonce]">
|
| +runOnLoad(function() {
|
| +
|
| + /**
|
| + * Shows the activity detail for the particular activity selected.
|
| + */
|
| + function handleActivityLinkClick(e) {
|
| + var targetEl;
|
| +
|
| + if (!e) {
|
| + var e = window.event;
|
| + }
|
| + if (e.target) {
|
| + targetEl = e.target;
|
| +
|
| + } else if (e.srcElement) {
|
| + targetEl = e.srcElement;
|
| + }
|
| + if (targetEl.nodeType == 3) {
|
| + targetEl = targetEl.parentNode;
|
| + }
|
| +
|
| + while (targetEl.tagName.toLowerCase() != 'li') {
|
| + targetEl = targetEl.parentNode;
|
| + }
|
| + if (targetEl.className.indexOf('click') != -1) {
|
| + targetEl.className = targetEl.className.replace(/click/, '');
|
| + } else {
|
| + targetEl.className += ' click';
|
| + }
|
| +
|
| + e.preventDefault();
|
| + }
|
| +
|
| + /**
|
| + * Array of <li> elements for activity streams
|
| + */
|
| + var _CS_asElemList = document.getElementById('activity-streams-list').
|
| + getElementsByTagName('li');
|
| +
|
| + /**
|
| + * Shows all activity details
|
| + */
|
| + function expandAll(event) {
|
| + for (var i=0; i < _CS_asElemList.length; i++) {
|
| + _CS_asElemList[[]i].className = 'click';
|
| + }
|
| + event.preventDefault();
|
| + }
|
| +
|
| + /**
|
| + * Hides all activity details
|
| + */
|
| + function closeAll(event) {
|
| + for (var i=0; i < _CS_asElemList.length; i++) {
|
| + _CS_asElemList[[]i].className = '';
|
| + }
|
| + event.preventDefault();
|
| + }
|
| +
|
| + if ($("detailsshow"))
|
| + $("detailsshow").addEventListener("click", expandAll);
|
| + if ($("detailshide"))
|
| + $("detailshide").addEventListener("click", closeAll);
|
| +
|
| + var activityLinks = document.getElementsByClassName("activity");
|
| + for (var i = 0; i < activityLinks.length; ++i) {
|
| + var link = activityLinks[[]i];
|
| + link.addEventListener("click", handleActivityLinkClick);
|
| + }
|
| +});
|
| +</script>
|
| +[end]
|
|
|