UNPKG

@dcloudio/uni-debugger

Version:

uni-app debugger

63 lines (56 loc) 1.68 kB
// Copyright 2018 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. Sources.SearchSourcesView = class extends Search.SearchView { constructor() { super('sources'); } /** * @param {string} query * @param {boolean=} searchImmediately * @return {!Promise} */ static async openSearch(query, searchImmediately) { const view = UI.viewManager.view('sources.search-sources-tab'); // Deliberately use target location name so that it could be changed // based on the setting later. const location = await UI.viewManager.resolveLocation('drawer-view'); location.appendView(view); await UI.viewManager.revealView(/** @type {!UI.View} */ (view)); const widget = /** @type {!Search.SearchView} */ (await view.widget()); widget.toggle(query, !!searchImmediately); return widget; } /** * @override * @return {!Search.SearchScope} */ createScope() { return new Sources.SourcesSearchScope(); } }; /** * @implements {UI.ActionDelegate} */ Sources.SearchSourcesView.ActionDelegate = class { /** * @override * @param {!UI.Context} context * @param {string} actionId * @return {boolean} */ handleAction(context, actionId) { this._showSearch(); return true; } /** * @return {!Promise} */ _showSearch() { const selection = UI.inspectorView.element.window().getSelection(); let queryCandidate = ''; if (selection.rangeCount) queryCandidate = selection.toString().replace(/\r?\n.*/, ''); return Sources.SearchSourcesView.openSearch(queryCandidate); } };