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

Side by Side Diff: chrome/browser/resources/bug_report.js

Issue 5271007: UI Revamp + several fixes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/chrome/browser/resources
Patch Set: Created 10 years, 1 month 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Constants. 5 // Constants.
6 var FEEDBACK_LANDING_PAGE = 6 var FEEDBACK_LANDING_PAGE =
7 'http://www.google.com/support/chrome/go/feedback_confirmation' 7 'http://www.google.com/support/chrome/go/feedback_confirmation'
8 8
9 var selectedThumbnailDivId = ''; 9 var selectedThumbnailDivId = '';
10 var selectedThumbnailId = ''; 10 var selectedThumbnailId = '';
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 function addScreenshot(divId, screenshot) { 45 function addScreenshot(divId, screenshot) {
46 var thumbnailDiv = document.createElement('div'); 46 var thumbnailDiv = document.createElement('div');
47 thumbnailDiv.className = 'image-thumbnail-container'; 47 thumbnailDiv.className = 'image-thumbnail-container';
48 48
49 thumbnailDiv.id = divId + '-thumbnailDiv-' + $(divId).children.length; 49 thumbnailDiv.id = divId + '-thumbnailDiv-' + $(divId).children.length;
50 thumbnailDiv.onclick = function() { 50 thumbnailDiv.onclick = function() {
51 selectImage(divId, thumbnailDiv.id); 51 selectImage(divId, thumbnailDiv.id);
52 }; 52 };
53 53
54 var innerDiv = document.createElement('div'); 54 var innerDiv = document.createElement('div');
55 innerDiv.className = 'image-thumbnail'; 55 if (divId == 'current-screenshots')
56 innerDiv.className = 'image-thumbnail-current';
57 else
58 innerDiv.className = 'image-thumbnail';
56 59
57 var thumbnail = document.createElement('img'); 60 var thumbnail = document.createElement('img');
58 thumbnail.id = thumbnailDiv.id + '-image'; 61 thumbnail.id = thumbnailDiv.id + '-image';
59 // We add the ?+timestamp to make sure the image URLs are unique 62 // We add the ?+timestamp to make sure the image URLs are unique
60 // and Chrome does not load the image from cache. 63 // and Chrome does not load the image from cache.
61 thumbnail.src = screenshot + "?" + Date.now(); 64 thumbnail.src = screenshot + "?" + Date.now();
62 innerDiv.appendChild(thumbnail); 65 innerDiv.appendChild(thumbnail);
63 66
64 var largeImage = document.createElement('img');
65 largeImage.src = screenshot + "?" + Date.now();
66
67 var popupDiv = document.createElement('div');
68 popupDiv.appendChild(largeImage);
69 innerDiv.appendChild(popupDiv);
70
71 thumbnailDiv.appendChild(innerDiv); 67 thumbnailDiv.appendChild(innerDiv);
72 $(divId).appendChild(thumbnailDiv); 68 $(divId).appendChild(thumbnailDiv);
73 69
74 if (!selectedThumbnailId) 70 if (!selectedThumbnailId)
75 selectImage(divId, thumbnailDiv.id); 71 selectImage(divId, thumbnailDiv.id);
76 } 72 }
77 73
78 /** 74 /**
79 * Send's the report; after the report is sent, we need to be redirected to 75 * Send's the report; after the report is sent, we need to be redirected to
80 * the landing page, but we shouldn't be able to navigate back, hence 76 * the landing page, but we shouldn't be able to navigate back, hence
81 * we open the landing page in a new tab and sendReport closes this tab. 77 * we open the landing page in a new tab and sendReport closes this tab.
82 */ 78 */
83 function sendReport() { 79 function sendReport() {
84 if (!$('issue-with-combo').selectedIndex) { 80 if (!$('issue-with-combo').selectedIndex) {
85 alert(localStrings.getString('no-issue-selected')); 81 alert(localStrings.getString('no-issue-selected'));
86 return false; 82 return false;
83 } else if ($('description-text').value.length == 0) {
84 alert(localStrings.getString('no-description'));
85 return false;
87 } 86 }
88 87
89 var imagePath = ''; 88 var imagePath = '';
90 if (selectedThumbnailId) 89 if (selectedThumbnailId)
91 imagePath = $(selectedThumbnailId + '-image').src; 90 imagePath = $(selectedThumbnailId + '-image').src;
92 91
93 // Note, categories are based from 1 in our protocol buffers, so no 92 // Note, categories are based from 1 in our protocol buffers, so no
94 // adjustment is needed on selectedIndex. 93 // adjustment is needed on selectedIndex.
94 var pageUrl = $('page-url-text').value;
95 if (!$('page-url-checkbox').checked)
96 pageUrl = "";
95 var reportArray = [String($('issue-with-combo').selectedIndex), 97 var reportArray = [String($('issue-with-combo').selectedIndex),
96 $('page-url-text').value, 98 pageUrl,
97 $('description-text').value, 99 $('description-text').value,
98 imagePath]; 100 imagePath];
99 101
100 // Add chromeos data if it exists. 102 // Add chromeos data if it exists.
101 if ($('user-email-text') && $('sys-info-checkbox')) { 103 if ($('user-email-text') && $('sys-info-checkbox')) {
102 reportArray = reportArray.concat([$('user-email-text').value, 104 var userEmail= $('user-email-text').value;
105 if (!$('user-email-checkbox').checked)
106 userEmail = "";
oshima 2010/11/29 19:09:22 single quote
rkc 2010/11/29 22:41:08 Done.
107 reportArray = reportArray.concat([userEmail,
103 String($('sys-info-checkbox').checked)]); 108 String($('sys-info-checkbox').checked)]);
104 } 109 }
105 110
106 // open the landing page in a new tab, sendReport will close this one. 111 // open the landing page in a new tab, sendReport will close this one.
107 window.open(FEEDBACK_LANDING_PAGE, '_blank'); 112 window.open(FEEDBACK_LANDING_PAGE, '_blank');
108 chrome.send('sendReport', reportArray); 113 chrome.send('sendReport', reportArray);
109 return true; 114 return true;
110 } 115 }
111 116
112 function cancel() { 117 function cancel() {
(...skipping 16 matching lines...) Expand all
129 134
130 return true; 135 return true;
131 } 136 }
132 137
133 /** 138 /**
134 * Select the saved screenshots div, restoring the image that was 139 * Select the saved screenshots div, restoring the image that was
135 * selected when we had this div open previously. 140 * selected when we had this div open previously.
136 */ 141 */
137 function savedSelected() { 142 function savedSelected() {
138 $('current-screenshots').style.display = 'none'; 143 $('current-screenshots').style.display = 'none';
139 $('saved-screenshots').style.display = 'block';
140 144
141 if (selectedThumbnailDivId != 'saved-screenshots') 145 if ($('saved-screenshots').childElementCount == 0) {
142 selectImage('saved-screenshots', savedThumbnailIds['saved-screenshots']); 146 // setupSavedScreenshots will take care of changing visibility
147 chrome.send('refreshSavedScreenshots', []);
148 } else {
149 $('saved-screenshots').style.display = 'block';
150 if (selectedThumbnailDivId != 'saved-screenshots')
151 selectImage('saved-screenshots', savedThumbnailIds['saved-screenshots']);
152 }
143 153
144 return true; 154 return true;
145 } 155 }
146 156
147 /** 157 /**
148 * Unselect all screenshots divs. 158 * Unselect all screenshots divs.
149 */ 159 */
150 function noneSelected() { 160 function noneSelected() {
151 $('current-screenshots').style.display = 'none'; 161 $('current-screenshots').style.display = 'none';
152 if ($('saved-screenshots')) 162 if ($('saved-screenshots'))
153 $('saved-screenshots').style.display = 'none'; 163 $('saved-screenshots').style.display = 'none';
154 164
155 selectedThumbnailDivId = ''; 165 selectedThumbnailDivId = '';
156 selectedThumbnailId = ''; 166 selectedThumbnailId = '';
157 return true; 167 return true;
158 } 168 }
169
170 /**
171 * Toggle the type of screenshot we're showing to the user between
172 * the current screenshot, and a list of saved screenshots
173 */
174 function toggleScreenshotType() {
175 // If we are showing the current screenshot, show the saved screenshots;
176 // otherwise, show the current screenshot. Update the text appropriately,
177 // the text is our marker to know what we are currently showing.
178 if ($('screenshot-label').innerHTML.indexOf(
179 localStrings.getString('current-screenshot')) > -1) {
180 // Switch to saved screenshots.
181 $('screenshot-label').innerHTML = $('screenshot-label').innerHTML.replace(
182 localStrings.getString('current-screenshot'),
183 localStrings.getString('saved-screenshot'));
184
185 $('screenshot-link').innerHTML = $('screenshot-link').innerHTML.replace(
186 localStrings.getString('choose-different-screenshot'),
187 localStrings.getString('choose-original-screenshot'));
oshima 2010/11/29 19:09:22 This looks a bit hacky. can't this be done via css
rkc 2010/11/29 22:41:08 Done.
188
189 savedSelected();
190 } else {
191 // Go back to current screenshot.
192 $('screenshot-label').innerHTML = $('screenshot-label').innerHTML.replace(
193 localStrings.getString('saved-screenshot'),
194 localStrings.getString('current-screenshot'));
195
196 $('screenshot-link').innerHTML = $('screenshot-link').innerHTML.replace(
197 localStrings.getString('choose-original-screenshot'),
198 localStrings.getString('choose-different-screenshot'));
199
200 currentSelected();
201 }
202 }
OLDNEW
« chrome/browser/resources/bug_report.html ('K') | « chrome/browser/resources/bug_report.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698