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

Unified Diff: tools/bug_chomper/templates/bug_chomper.html

Issue 274693002: BugChomper utility - rewrite in Go (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Line breaks and "go fmt" one more time Created 6 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/bug_chomper/src/server/server.go ('k') | tools/bug_chomper/templates/error.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/bug_chomper/templates/bug_chomper.html
diff --git a/tools/bug_chomper/templates/bug_chomper.html b/tools/bug_chomper/templates/bug_chomper.html
new file mode 100644
index 0000000000000000000000000000000000000000..df08570b8653370ab93d1d3af936bb88407f159a
--- /dev/null
+++ b/tools/bug_chomper/templates/bug_chomper.html
@@ -0,0 +1,118 @@
+<html>
+<head>
+<title>{{.Title}}</title>
+<link rel="stylesheet" type="text/css" href="res/style.css" />
+<link rel="icon" type="image/ico" href="res/favicon.ico" />
+<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
+<script type="text/javascript" src="res/third_party/jquery.tablednd.js"></script>
+<script type="text/javascript">
+"use strict";
+
+var issues = {{.BugsJson}};
+var edited = {};
+
+function edit_label(bug_id, old_value, new_value) {
+ console.log("issue[" + bug_id + "]: " + old_value + " -> " + new_value);
+ if (!edited[bug_id]) {
+ edited[bug_id] = JSON.parse(JSON.stringify(issues[bug_id]));
+ }
+ var old_index = edited[bug_id]["labels"].indexOf(old_value);
+ if (old_index > -1) {
+ edited[bug_id]["labels"][old_index] = new_value;
+ } else {
+ edited[bug_id]["labels"].push(new_value)
+ }
+ if (JSON.stringify(issues[bug_id]) == JSON.stringify(edited[bug_id])) {
+ console.log("Not changing " + bug_id);
+ delete edited[bug_id]
+ }
+ document.getElementById("all_edits").value = JSON.stringify(edited);
+}
+
+</script>
+</head>
+<body>
+<h1>BugChomper</h1>
+
+<form method="post">
+<input type="hidden" name="all_edits" id="all_edits" value="{}" />
+<input type="submit" value="Submit changes to issue tracker" />
+</form>
+<table id="buglist">
+ <thead>
+ <tr id="table_header" class="nodrag tr_head">
+ <td colspan=3><h2>Open bugs for {{.User}}</h2></td>
+ </tr>
+ <tr id="table_subheader" class="nodrag tr_head">
+ <td>ID</td>
+ <td>Priority</td>
+ <td>Title</td>
+ </tr>
+ </thead>
+ <tbody>
+ {{with $all_data := .}}
+ {{range $index, $priority := index $all_data.Priorities}}
+ <tr id="priority_{{$priority}}"
+ class="{{if eq $index 0}}nodrop{{else}}{{end}} nodrag priority_row priority_{{$priority}}"
+ >
+ <td colspan=3 class="priority_td">Priority {{$priority}}</td>
+ </tr>
+ {{range $index, $bug := index $all_data.BugsByPriority $priority}}
+ <tr id="{{$bug.Id}}" class="priority_{{$priority}}">
+ <td id="id_{{$bug.Id}}">
+ <a href="{{$bug.URL}}" target="_blank">{{$bug.Id}}</a>
+ </td>
+ <td id="priority_{{$bug.Id}}">{{$priority}}</td>
+ <td id="title_{{$bug.Id}}">{{$bug.Title}}</td>
+ </tr>
+ {{end}}
+ {{end}}
+ {{end}}
+ </tbody>
+</table>
+
+<script type="text/javascript">
+$(document).ready(function() {
+ $("#buglist").tableDnD({
+ onDrop: function(table, dropped_row) {
+ var id = dropped_row.id;
+ var css_priority_prefix = "priority_"
+ var new_priority = null;
+ var dropped_index = null;
+ var thead_rows = table.tHead.rows;
+ var tbody_rows = table.tBodies[0].rows;
+ var all_rows = [];
+ for (var i = 0; i < thead_rows.length; i++) {
+ all_rows.push(thead_rows[i]);
+ }
+ for (var i = 0; i < tbody_rows.length; i++) {
+ all_rows.push(tbody_rows[i]);
+ }
+ for (var i = 0; i < all_rows.length; i++) {
+ if (all_rows[i].id) {
+ if (all_rows[i].id.indexOf(css_priority_prefix) == 0) {
+ new_priority = all_rows[i].id.substring(css_priority_prefix.length);
+ }
+ if (all_rows[i].id == id) {
+ break;
+ }
+ } else {
+ console.warn("No id for:");
+ console.warn(all_rows[i]);
+ }
+ }
+ if (new_priority) {
+ priority_td = document.getElementById(css_priority_prefix + id);
+ old_priority = priority_td.innerHTML;
+ if (priority_td && new_priority != old_priority) {
+ priority_td.innerHTML = new_priority;
+ document.getElementById(id).className = css_priority_prefix + new_priority;
+ edit_label(id, "{{.PriorityPrefix}}" + old_priority, "{{.PriorityPrefix}}" + new_priority);
+ }
+ }
+ }
+ });
+});
+</script>
+</body>
+</html>
« no previous file with comments | « tools/bug_chomper/src/server/server.go ('k') | tools/bug_chomper/templates/error.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698