Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(147)

Side by Side Diff: appengine/monorail/templates/tracker/issue-detail-page.ezt

Issue 1868553004: Open Source Monorail (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Rebase Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 [define title]Issue [issue.local_id][end]
2 [define category_css]css/ph_detail.css[end]
3 [include "../framework/master-header.ezt" "showtabs"]
4
5 [define any_visible_deleted]false[end]
6 [for comments]
7 [if-any comments.can_delete_bool]
8 [if-any comments.is_deleted_bool]
9 [define any_visible_deleted]true[end]
10 [end]
11 [end]
12 [end]
13
14 [if-any page_perms.EditIssue page_perms.EditIssueSummary page_perms.EditIssueSta tus page_perms.EditIssueOwner page_perms.EditIssueCc]
15 [define offer_make_changes]yes[end]
16 [else]
17 [define offer_make_changes][end]
18 [end]
19
20 <div id="color_control" class="[if-any issue.is_open][else]closed_colors[end]">
21
22 <table width="100%" cellpadding="0" cellspacing="0" border="0" class="issuepage" id="meta-container">
23
24 <tbody class="collapse"> [# collapse/expand controls undelete-able comments]
25 <tr>
26 <td nowrap="nowrap" class="vt h3 issuemetaheader" style="min-width:8em">
27 [define user_can_star]false[end]
28 [if-any page_perms.SetStar]
29 [if-any read_only][else]
30 [define user_can_star]true[end]
31 <a class="star" id="star"
32 style="color:[if-any starred]cornflowerblue[else]gray[end]"
33 title="[if-any starred]Un-s[else]S[end]tar this issue">
34 [if-any starred]&#9733;[else]&#9734;[end]
35 </a>
36 [end]
37 [end]
38 <a href="detail?id=[issue.local_id]">Issue [issue.local_id]</a>
39
40 [if-any page_perms.FlagSpam]
41 <a class="spamflag" id="flag_spam"
42 style="float:right; color:[if-any issue.flagged_spam_bool]red[else]gray[en d]"
43 title="[if-any issue.flagged_spam_bool]Un-f[else]F[end]lag as spam">
44 [if-any issue.flagged_spam_bool]&#9873;[else]&#9872;[end]
45 </a>
46 <form action="flagspam.do" method="post" id="spam_form" style="display:none ">
47 <input type="hidden" name="token" value="[flag_spam_token]">
48 <input type="hidden" name="id" value="[issue.local_id]">
49 <input type="hidden" name="spam" value="[if-any issue.flagged_spam_bool]fa lse[else]true[end]">
50 </form>
51 [end]
52 </td>
53 <td width="90%" class="vt issueheader" style="border-right: 2px solid white">
54 [if-any issue.flagged_spam_bool]<div style="border:1px solid red; background :#fdd; padding:1em">You have reported this issue as spam. To undo this, click th e flag again.</div>[end]
55 <span class="h3" style="padding-left:4px">[issue.summary]</span>
56 </td>
57 <td class="issueheader">
58 [if-any flipper.show]
59 <div class="pagination">
60 [if-any flipper.prev_url]<a href="[flipper.prev_url]" title="Prev">&lsaquo; Prev</a>[else][end]
61 [flipper.current] of [flipper.total_count]
62 [if-any flipper.next_url]<a href="[flipper.next_url]" title="Next">Next &rs aquo;</a>[else][end]
63 </div>[end]
64 </td>
65 </tr>
66 <tr>
67 <td nowrap="nowrap" class="issuemetaheader">
68 Starred by [issue.star_count]
69 [is issue.star_count "1"] user [else] users [end]
70 </td>
71 <td class="issueheader" style="padding-left:6px; border-right: 2px solid white ">
72 [if-any description.creator_role]<span class="role_label">Project Member</ span>[end]
73 Reported by
74 [include "../framework/user-link.ezt" description.creator],
75 <span class="date" title="[description.date_tooltip] UTC">[description.dat e_string][description.date_relative]</span>
76 [# Note: initial issue description cannot have come via email]
77 </td>
78 <td align="center" nowrap="nowrap" class="issueheader">
79 [if-any back_to_list_url]
80 <a href="[back_to_list_url]">Back to list</a>
81 [end]
82 </td>
83 </tr>
84
85
86 <tr>
87 <td id="issuemeta">
88 [if-any noisy]
89 <br>
90 Comments by non-members will not trigger notification emails to users who st arred this issue.
91 [end]
92 <div id="meta-float">
93 [include "issue-meta-part.ezt" "show make changes below"]
94
95 [is any_visible_deleted "true"]
96 <br><br>
97 <div style="text-align:right; margin-right:.3em; font-size:90%">
98 <a class="ifCollapse toggleCollapse" href="#"
99 style="white-space:nowrap">Show deleted comments</a>
100 <a class="ifExpand toggleCollapse" href="#"
101 style="white-space:nowrap">Hide deleted comments</a>
102 </div>
103 [end]
104
105 </div>
106 </td>
107 <td class="vt issuedescription" width="100%" id="cursorarea" colspan="2">
108 [include "issue-comments-part.ezt" "show-delete-comment-link"]
109 </td>
110 </tr>
111
112 [if-any read_only][else]
113 [if-any logged_in_user][else]
114 <tr>
115 <td colspan="2"></td>
116 <td class="vt issuecomment">
117 <span class="indicator">&#9658;</span> <a href="[login_url]"
118 >Sign in</a> to add a comment
119 </td>
120 </tr>
121 [end]
122 [end]
123 </tbody>
124 </table>
125 <br>
126
127 [include "../framework/footer-script.ezt"]
128
129 [define user_can_comment]false[end]
130 [if-any read_only][else]
131 [if-any page_perms.AddIssueComment]
132 [include "issue-update-form.ezt"]
133 [define user_can_comment]true[end]
134 [end]
135 [end]
136
137
138 </div> [# end color_control]
139
140 [# Form used to submit comment soft delete and undelete changes.]
141 <form name="delcom" action="delComment.do?q=[query]&amp;can=[can]&amp;groupby=[f ormat "url"][groupby][end]&amp;sort=[format "url"][sortspec][end]&amp;colspec=[f ormat "url"][colspec][end]" method="POST">
142 <input type="hidden" name="sequence_num" value="">
143 <input type="hidden" name="mode" value="">
144 <input type="hidden" name="id" value="[issue.local_id]">
145 <input type="hidden" name="token" value="[delComment_form_token]">
146 </form>
147
148 [# Form used to flag/unflag comments as spam.]
149 <form name="flagcom" action="flagspam.do" method="post">
150 <input type="hidden" name="comment_id" value="">
151 <input type="hidden" name="sequence_num" value="">
152 <input type="hidden" name="spam" value="">
153 <input type="hidden" name="id" value="[issue.local_id]">
154 <input type="hidden" name="token" value="[flag_spam_token]">
155 </form>
156
157
158 <div id="helparea"></div>
159
160 <script type="text/javascript" nonce="[nonce]">
161 runOnLoad(function() {
162 _fetchOptions('[projectname]', 'issueOptions',
163 CS_env.token, [project.cached_content_timestamp]);
164 _fetchUserProjects(false);
165
166 _onload();
167
168 function delComment(sequence_num, delete_mode) {
169 var f = document.forms[[]"delcom"];
170 f.sequence_num.value = sequence_num;
171 f.mode.value = delete_mode;
172 [# TODO(jrobbins): submit in a subframe,XHR or ask user before losing commen t in-progress ]
173 var loading = $('comment-action-loading-' + sequence_num);
174 loading.style.display = 'inline';
175 f.submit();
176 return false;
177 }
178
179 _floatMetadata();
180
181 if ($("star"))
182 $("star").addEventListener("click", function (event) {
183 _TKR_toggleStar($("star"), "[projectname]", [issue.local_id], null, "[set _star_token]");
184 _TKR_syncStarIcons($("star"), "star2");
185 });
186
187 var delCommentElements = document.getElementsByClassName("delComment");
188 for (var i = 0; i < delCommentElements.length; ++i) {
189 var el = delCommentElements[[]i];
190 el.addEventListener("click", function(event) {
191 var sequence = event.target.getAttribute("data-sequence");
192 var mode = event.target.getAttribute("data-mode");
193 delComment(sequence, mode);
194 event.preventDefault();
195 });
196 }
197
198 function flagComment(comment_id, sequence_num, isSpam) {
199 var f = document.forms[[]"flagcom"];
200 f.comment_id.value = comment_id;
201 f.sequence_num.value = sequence_num;
202 f.spam.value = isSpam.toLowerCase() == "false";
203
204 var loading = $('comment-action-loading-' + sequence_num);
205 loading.style.display = 'inline';
206
207 f.submit();
208 return false;
209 }
210
211 var flagCommentElements = document.getElementsByClassName("flagComment");
212 for (var i = 0; i < flagCommentElements.length; ++i) {
213 var el = flagCommentElements[[]i];
214 el.addEventListener("click", function(event) {
215 var id = event.target.getAttribute("data-id");
216 var sequence = event.target.getAttribute("data-sequence");
217 var isSpam = event.target.getAttribute("data-spam");
218 flagComment(id, sequence, isSpam);
219 event.preventDefault();
220 });
221 }
222
223 window.userMadeChanges = false;
224 var inputs = document.querySelectorAll('input[type~="text"], textarea');
225 for (var i = 0; i < inputs.length; i++) {
226 var el = inputs[[]i];
227 el.addEventListener("input", function(event) {
228 if (event.target.id != "searchq") {
229 userMadeChanges = true;
230 }
231 });
232 }
233
234 window.onbeforeunload = function() {
235 if (userMadeChanges || TKR_isDirty) {
236 return "You have unsaved changes. Leave this page and discard them?";
237 }
238 };
239
240
241
242 });
243 </script>
244
245 <script type="text/javascript" defer src="/static/third_party/js/kibbles-1.3.3.c omp.js" nonce="[nonce]"></script>
246 <script type="text/javascript" nonce="[nonce]">
247 runOnLoad(function() {
248 _setupKibblesOnDetailPage(
249 [if-any back_to_list_url]'[format "js"][back_to_list_url][end]'[else]'[projec t_home_url]/issues/list'[end],
250 '[project_home_url]/issues/entry',
251 '[if-any flipper.show][if-any flipper.prev_url][format "js"][flipper.prev_url ][end][end][end]',
252 '[if-any flipper.show][if-any flipper.next_url][format "js"][flipper.next_url ][end][end][end]',
253 '[projectname]', [issue.local_id],
254 [user_can_comment], [user_can_star], '[set_star_token]');
255 });
256 </script>
257
258
259 [include "../framework/master-footer.ezt"]
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698