OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 QuickOpen.QuickOpen = class { | 5 QuickOpen.QuickOpen = class { |
6 constructor() { | 6 constructor() { |
7 this._prefix = null; | 7 this._prefix = null; |
8 this._query = ''; | 8 this._query = ''; |
9 /** @type {!Map<string, function():!Promise<!QuickOpen.FilteredListWidget.Pr
ovider>>} */ | 9 /** @type {!Map<string, function():!Promise<!QuickOpen.FilteredListWidget.Pr
ovider>>} */ |
10 this._providers = new Map(); | 10 this._providers = new Map(); |
11 /** @type {!Array<string>} */ | 11 /** @type {!Array<string>} */ |
12 this._prefixes = []; | 12 this._prefixes = []; |
13 this._filteredListWidget = null; | 13 this._filteredListWidget = null; |
14 self.runtime.extensions(QuickOpen.FilteredListWidget.Provider).forEach(this.
_addProvider.bind(this)); | 14 self.runtime.extensions(QuickOpen.FilteredListWidget.Provider).forEach(this.
_addProvider.bind(this)); |
15 this._prefixes.sort((a, b) => b.length - a.length); | 15 this._prefixes.sort((a, b) => b.length - a.length); |
16 } | 16 } |
17 | 17 |
18 /** | 18 /** |
19 * @param {string} query | 19 * @param {string} query |
20 */ | 20 */ |
21 static show(query) { | 21 static show(query) { |
22 var quickOpen = new this(); | 22 var quickOpen = new this(); |
23 var filteredListWidget = | 23 var filteredListWidget = |
24 new QuickOpen.FilteredListWidget(null, this._history, quickOpen._queryCh
anged.bind(quickOpen)); | 24 new QuickOpen.FilteredListWidget(null, this._history, quickOpen._queryCh
anged.bind(quickOpen)); |
25 quickOpen._filteredListWidget = filteredListWidget; | 25 quickOpen._filteredListWidget = filteredListWidget; |
| 26 filteredListWidget.setPlaceholder(Common.UIString('Type \'?\' to see availab
le commands')); |
26 filteredListWidget.showAsDialog(); | 27 filteredListWidget.showAsDialog(); |
27 filteredListWidget.setQuery(query); | 28 filteredListWidget.setQuery(query); |
28 } | 29 } |
29 | 30 |
30 /** | 31 /** |
31 * @param {!Runtime.Extension} extension | 32 * @param {!Runtime.Extension} extension |
32 */ | 33 */ |
33 _addProvider(extension) { | 34 _addProvider(extension) { |
34 var prefix = extension.descriptor()['prefix']; | 35 var prefix = extension.descriptor()['prefix']; |
35 this._prefixes.push(prefix); | 36 this._prefixes.push(prefix); |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 */ | 79 */ |
79 handleAction(context, actionId) { | 80 handleAction(context, actionId) { |
80 switch (actionId) { | 81 switch (actionId) { |
81 case 'quickOpen.show': | 82 case 'quickOpen.show': |
82 QuickOpen.QuickOpen.show(''); | 83 QuickOpen.QuickOpen.show(''); |
83 return true; | 84 return true; |
84 } | 85 } |
85 return false; | 86 return false; |
86 } | 87 } |
87 }; | 88 }; |
OLD | NEW |