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

Unified Diff: components/dom_distiller/webui/resources/about_dom_distiller.js

Issue 105623002: Debug UI for DOM distiller supports distillation and lists articles. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix strings and dependencies for ios Created 7 years 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
Index: components/dom_distiller/webui/resources/about_dom_distiller.js
diff --git a/components/dom_distiller/webui/resources/about_dom_distiller.js b/components/dom_distiller/webui/resources/about_dom_distiller.js
index f558d7fa9fb1c0bfd1961ee9a31844dfaaa309cb..4a401a9c911850f40ce38b569f7263e7a6d985d5 100644
--- a/components/dom_distiller/webui/resources/about_dom_distiller.js
+++ b/components/dom_distiller/webui/resources/about_dom_distiller.js
@@ -2,31 +2,76 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-/**
- * Callback from the backend with the list of entries to display.
- * This call will build the entries section of the DOM distiller page, or hide
- * that section if there are none to display.
- * @param {!Array.<string>} entries The entries.
- */
-function onGotEntries(entries) {
- $('entries-section').hidden = !entries.length;
- if (entries.length > 0) {
- var list = document.createElement('ul');
+var domDistiller = {
+ /**
+ * Callback from the backend with the list of entries to display.
+ * This call will build the entries section of the DOM distiller page, or hide
+ * that section if there are none to display.
+ * @param {!Array.<string>} entries The entries.
+ */
+ onReceivedEntries: function(entries) {
+ $('entries-list-loading').classList.add('hidden');
+ if (!entries.length) $('entries-list').classList.add('hidden');
+
+ var list = $('entries-list');
+ domDistiller.removeAllChildren(list);
for (var i = 0; i < entries.length; i++) {
var listItem = document.createElement('li');
var link = document.createElement('a');
+ var entry_id = entries[i].entry_id;
+ link.setAttribute('id', 'entry-' + entry_id);
+ link.setAttribute('href', '#');
link.innerText = entries[i].title;
- link.setAttribute('href', entries[i].url);
+ link.addEventListener('click', function(event) {
+ domDistiller.onSelectArticle(event.target.id.substr("entry-".length));
+ }, true);
listItem.appendChild(link);
list.appendChild(listItem);
}
- $('entries-list').appendChild(list);
- }
-}
+ },
+
+ /**
+ * Callback from the backend when adding an article failed.
+ */
+ onArticleAddFailed: function() {
+ $('add-entry-error').classList.remove('hidden');
+ },
+
+ removeAllChildren: function(root) {
+ while(root.firstChild) {
+ root.removeChild(root.firstChild);
+ }
+ },
+
+ onAddArticle: function() {
+ $('add-entry-error').classList.add('hidden');
+ var url = $('article_url').value;
+ chrome.send('addArticle', [url]);
+ },
+
+ onSelectArticle: function(articleId) {
+ chrome.send('selectArticle', [articleId]);
+ },
+
+ /* All the work we do on load. */
+ onLoadWork: function() {
+ $('list-section').classList.remove('hidden');
+ $('entries-list-loading').classList.add('hidden');
+ $('add-entry-error').classList.add('hidden');
+
+ $('refreshbutton').addEventListener('click', function(event) {
+ domDistiller.onRequestEntries();
+ }, false);
+ $('addbutton').addEventListener('click', function(event) {
+ domDistiller.onAddArticle();
+ }, false);
+ domDistiller.onRequestEntries();
+ },
-/* All the work we do on load. */
-function onLoadWork() {
- chrome.send('requestEntries');
+ onRequestEntries: function() {
+ $('entries-list-loading').classList.remove('hidden');
+ chrome.send('requestEntries');
+ },
}
-document.addEventListener('DOMContentLoaded', onLoadWork);
+document.addEventListener('DOMContentLoaded', domDistiller.onLoadWork);
« no previous file with comments | « components/dom_distiller/webui/resources/about_dom_distiller.html ('k') | components/dom_distiller_strings.grdp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698