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

Unified Diff: components/sync_driver/resources/sync_search.js

Issue 2203673002: [Sync] Move //components/sync_driver to //components/sync/driver. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@sd-a
Patch Set: Full change rebased on static lib. Created 4 years, 4 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 | « components/sync_driver/resources/sync_search.css ('k') | components/sync_driver/resources/types.css » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/sync_driver/resources/sync_search.js
diff --git a/components/sync_driver/resources/sync_search.js b/components/sync_driver/resources/sync_search.js
deleted file mode 100644
index 48c0e081607ae0bdac3d7ad011318334c3fe4a15..0000000000000000000000000000000000000000
--- a/components/sync_driver/resources/sync_search.js
+++ /dev/null
@@ -1,142 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// require: cr.js
-
-cr.define('chrome.sync', function() {
- var currSearchId = 0;
-
- var setQueryString = function(queryControl, query) {
- queryControl.value = query;
- };
-
- var createDoQueryFunction = function(queryControl, submitControl, query) {
- return function() {
- setQueryString(queryControl, query);
- submitControl.click();
- };
- };
-
- /**
- * Decorates the quick search controls
- *
- * @param {Array of DOM elements} quickLinkArray The <a> object which
- * will be given a link to a quick filter option.
- * @param {!HTMLInputElement} queryControl The <input> object of
- * type=search where user's query is typed.
- */
- var decorateQuickQueryControls = function(quickLinkArray, submitControl,
- queryControl) {
- for (var index = 0; index < allLinks.length; ++index) {
- var quickQuery = allLinks[index].getAttribute('data-query');
- var quickQueryFunction = createDoQueryFunction(queryControl,
- submitControl, quickQuery);
- allLinks[index].addEventListener('click', quickQueryFunction);
- }
- };
-
- /**
- * Runs a search with the given query.
- *
- * @param {string} query The regex to do the search with.
- * @param {function} callback The callback called with the search results;
- * not called if doSearch() is called again while the search is running.
- */
- var doSearch = function(query, callback) {
- var searchId = ++currSearchId;
- try {
- var regex = new RegExp(query);
- chrome.sync.getAllNodes(function(node_map) {
- // Put all nodes into one big list that ignores the type.
- var nodes = node_map.
- map(function(x) { return x.nodes; }).
- reduce(function(a, b) { return a.concat(b); });
-
- if (currSearchId != searchId) {
- return;
- }
- callback(nodes.filter(function(elem) {
- return regex.test(JSON.stringify(elem, null, 2));
- }), null);
- });
- } catch (err) {
- // Sometimes the provided regex is invalid. This and other errors will
- // be caught and handled here.
- callback([], err);
- }
- };
-
- /**
- * Decorates the various search controls.
- *
- * @param {!HTMLInputElement} queryControl The <input> object of
- * type=search where the user's query is typed.
- * @param {!HTMLButtonElement} submitControl The <button> object
- * where the user can click to submit the query.
- * @param {!HTMLElement} statusControl The <span> object display the
- * search status.
- * @param {!HTMLElement} listControl The <list> object which holds
- * the list of returned results.
- * @param {!HTMLPreElement} detailsControl The <pre> object which
- * holds the details of the selected result.
- */
- function decorateSearchControls(queryControl, submitControl, statusControl,
- resultsControl, detailsControl) {
- var resultsDataModel = new cr.ui.ArrayDataModel([]);
-
- var searchFunction = function() {
- var query = queryControl.value;
- statusControl.textContent = '';
- resultsDataModel.splice(0, resultsDataModel.length);
- if (!query) {
- return;
- }
- statusControl.textContent = 'Searching for ' + query + '...';
- queryControl.removeAttribute('error');
- var timer = chrome.sync.makeTimer();
- doSearch(query, function(nodes, error) {
- if (error) {
- statusControl.textContent = 'Error: ' + error;
- queryControl.setAttribute('error', '');
- } else {
- statusControl.textContent =
- 'Found ' + nodes.length + ' nodes in ' +
- timer.getElapsedSeconds() + 's';
- queryControl.removeAttribute('error');
-
- // TODO(akalin): Write a nicer list display.
- for (var i = 0; i < nodes.length; ++i) {
- nodes[i].toString = function() {
- return this.NON_UNIQUE_NAME;
- };
- }
- resultsDataModel.push.apply(resultsDataModel, nodes);
- // Workaround for http://crbug.com/83452 .
- resultsControl.redraw();
- }
- });
- };
-
- submitControl.addEventListener('click', searchFunction);
- // Decorate search box.
- queryControl.onsearch = searchFunction;
- queryControl.value = '';
-
- // Decorate results list.
- cr.ui.List.decorate(resultsControl);
- resultsControl.dataModel = resultsDataModel;
- resultsControl.selectionModel.addEventListener('change', function(event) {
- detailsControl.textContent = '';
- var selected = resultsControl.selectedItem;
- if (selected) {
- detailsControl.textContent = JSON.stringify(selected, null, 2);
- }
- });
- }
-
- return {
- decorateSearchControls: decorateSearchControls,
- decorateQuickQueryControls: decorateQuickQueryControls
- };
-});
« no previous file with comments | « components/sync_driver/resources/sync_search.css ('k') | components/sync_driver/resources/types.css » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698