| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 * @implements {SDK.SDKModelObserver<!SDK.DebuggerModel>} | 5 * @implements {SDK.SDKModelObserver<!SDK.DebuggerModel>} |
| 6 * @implements {UI.ListDelegate<!SDK.DebuggerModel>} | 6 * @implements {UI.ListDelegate<!SDK.DebuggerModel>} |
| 7 */ | 7 */ |
| 8 Sources.ThreadsSidebarPane = class extends UI.VBox { | 8 Sources.ThreadsSidebarPane = class extends UI.VBox { |
| 9 constructor() { | 9 constructor() { |
| 10 super(true); | 10 super(true); |
| 11 this.registerRequiredCSS('sources/threadsSidebarPane.css'); | 11 this.registerRequiredCSS('sources/threadsSidebarPane.css'); |
| 12 | 12 |
| 13 /** @type {!UI.ListControl<!SDK.DebuggerModel>} */ | 13 /** @type {!UI.ListControl<!SDK.DebuggerModel>} */ |
| 14 this._list = new UI.ListControl(this, UI.ListMode.NonViewport); | 14 this._list = new UI.ListControl(this, UI.ListMode.NonViewport); |
| 15 this.contentElement.appendChild(this._list.element); | 15 this.contentElement.appendChild(this._list.element); |
| 16 | 16 |
| 17 this._availableNodeTargetsElement = this.contentElement.createChild('div', '
hidden available-node-targets'); | |
| 18 | |
| 19 UI.context.addFlavorChangeListener(SDK.Target, this._targetFlavorChanged, th
is); | 17 UI.context.addFlavorChangeListener(SDK.Target, this._targetFlavorChanged, th
is); |
| 20 | |
| 21 SDK.targetManager.addEventListener( | |
| 22 SDK.TargetManager.Events.AvailableNodeTargetsChanged, this._availableNod
eTargetsChanged, this); | |
| 23 this._availableNodeTargetsChanged(); | |
| 24 | |
| 25 SDK.targetManager.observeModels(SDK.DebuggerModel, this); | 18 SDK.targetManager.observeModels(SDK.DebuggerModel, this); |
| 26 } | 19 } |
| 27 | 20 |
| 28 /** | 21 /** |
| 29 * @return {boolean} | 22 * @return {boolean} |
| 30 */ | 23 */ |
| 31 static shouldBeShown() { | 24 static shouldBeShown() { |
| 32 var minJSTargets = Runtime.queryParam('nodeFrontend') ? 1 : 2; | 25 var minJSTargets = Runtime.queryParam('nodeFrontend') ? 1 : 2; |
| 33 if (SDK.targetManager.models(SDK.DebuggerModel).length >= minJSTargets) | 26 return SDK.targetManager.models(SDK.DebuggerModel).length >= minJSTargets; |
| 34 return true; | |
| 35 return !!SDK.targetManager.availableNodeTargetsCount(); | |
| 36 } | |
| 37 | |
| 38 _availableNodeTargetsChanged() { | |
| 39 var count = SDK.targetManager.availableNodeTargetsCount(); | |
| 40 if (!count) { | |
| 41 this._availableNodeTargetsElement.classList.add('hidden'); | |
| 42 return; | |
| 43 } | |
| 44 this._availableNodeTargetsElement.removeChildren(); | |
| 45 this._availableNodeTargetsElement.createTextChild( | |
| 46 count === 1 ? Common.UIString('Node instance available.') : | |
| 47 Common.UIString('%d Node instances available.', count)); | |
| 48 var link = this._availableNodeTargetsElement.createChild('span', 'link'); | |
| 49 link.textContent = Common.UIString('Connect'); | |
| 50 link.addEventListener('click', () => { | |
| 51 InspectorFrontendHost.openNodeFrontend(); | |
| 52 }, false); | |
| 53 this._availableNodeTargetsElement.classList.remove('hidden'); | |
| 54 } | 27 } |
| 55 | 28 |
| 56 /** | 29 /** |
| 57 * @override | 30 * @override |
| 58 * @param {!SDK.DebuggerModel} debuggerModel | 31 * @param {!SDK.DebuggerModel} debuggerModel |
| 59 * @return {!Element} | 32 * @return {!Element} |
| 60 */ | 33 */ |
| 61 createElementForItem(debuggerModel) { | 34 createElementForItem(debuggerModel) { |
| 62 var element = createElementWithClass('div', 'thread-item'); | 35 var element = createElementWithClass('div', 'thread-item'); |
| 63 var title = element.createChild('div', 'thread-item-title'); | 36 var title = element.createChild('div', 'thread-item-title'); |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 150 /** | 123 /** |
| 151 * @param {!Common.Event} event | 124 * @param {!Common.Event} event |
| 152 */ | 125 */ |
| 153 _targetFlavorChanged(event) { | 126 _targetFlavorChanged(event) { |
| 154 var target = /** @type {!SDK.Target} */ (event.data); | 127 var target = /** @type {!SDK.Target} */ (event.data); |
| 155 var debuggerModel = target.model(SDK.DebuggerModel); | 128 var debuggerModel = target.model(SDK.DebuggerModel); |
| 156 if (debuggerModel) | 129 if (debuggerModel) |
| 157 this._list.selectItem(debuggerModel); | 130 this._list.selectItem(debuggerModel); |
| 158 } | 131 } |
| 159 }; | 132 }; |
| OLD | NEW |