mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-10 13:44:39 +08:00
Move and rename files. NOAUTOREVERT=true NOPRESUBMIT=true NOTREECHECKS=true Bug: 768828 TBR=darin@chromium.org NOTRY=true Change-Id: I66d3b155808bc5bdbf237b80208e1e552bcf7f28 Reviewed-on: https://chromium-review.googlesource.com/1001153 Reviewed-by: Blink Reformat <blink-reformat@chromium.org> Commit-Queue: Blink Reformat <blink-reformat@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#549061} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 0aee4434a4dba42a42abaea9bfbc0cd196a63bc1
79 lines
1.9 KiB
JavaScript
79 lines
1.9 KiB
JavaScript
// Copyright 2017 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.
|
|
QuickOpen.HelpQuickOpen = class extends QuickOpen.FilteredListWidget.Provider {
|
|
constructor() {
|
|
super();
|
|
/** @type {!Array<{prefix: string, title: string}>} */
|
|
this._providers = [];
|
|
self.runtime.extensions(QuickOpen.FilteredListWidget.Provider).forEach(this._addProvider.bind(this));
|
|
}
|
|
|
|
/**
|
|
* @param {!Runtime.Extension} extension
|
|
*/
|
|
_addProvider(extension) {
|
|
if (extension.descriptor()['title'])
|
|
this._providers.push({prefix: extension.descriptor()['prefix'], title: extension.descriptor()['title']});
|
|
}
|
|
|
|
/**
|
|
* @override
|
|
* @return {number}
|
|
*/
|
|
itemCount() {
|
|
return this._providers.length;
|
|
}
|
|
|
|
/**
|
|
* @override
|
|
* @param {number} itemIndex
|
|
* @return {string}
|
|
*/
|
|
itemKeyAt(itemIndex) {
|
|
return this._providers[itemIndex].prefix;
|
|
}
|
|
|
|
/**
|
|
* @override
|
|
* @param {number} itemIndex
|
|
* @param {string} query
|
|
* @return {number}
|
|
*/
|
|
itemScoreAt(itemIndex, query) {
|
|
return -this._providers[itemIndex].prefix.length;
|
|
}
|
|
|
|
/**
|
|
* @override
|
|
* @param {number} itemIndex
|
|
* @param {string} query
|
|
* @param {!Element} titleElement
|
|
* @param {!Element} subtitleElement
|
|
*/
|
|
renderItem(itemIndex, query, titleElement, subtitleElement) {
|
|
const provider = this._providers[itemIndex];
|
|
const prefixElement = titleElement.createChild('span', 'monospace');
|
|
prefixElement.textContent = (provider.prefix || '\u2026') + ' ';
|
|
titleElement.createTextChild(provider.title);
|
|
}
|
|
|
|
/**
|
|
* @override
|
|
* @param {?number} itemIndex
|
|
* @param {string} promptValue
|
|
*/
|
|
selectItem(itemIndex, promptValue) {
|
|
if (itemIndex !== null)
|
|
QuickOpen.QuickOpen.show(this._providers[itemIndex].prefix);
|
|
}
|
|
|
|
/**
|
|
* @override
|
|
* @return {boolean}
|
|
*/
|
|
renderAsTwoRows() {
|
|
return false;
|
|
}
|
|
};
|