@theia/output 1.25.0-next.7 → 1.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,6 +2,7 @@
2
2
  import * as React from '@theia/core/shared/react';
3
3
  import { Emitter } from '@theia/core/lib/common/event';
4
4
  import { TabBarToolbarContribution, TabBarToolbarRegistry } from '@theia/core/lib/browser/shell/tab-bar-toolbar';
5
+ import { SelectOption } from '@theia/core/lib/browser/widgets/select-component';
5
6
  import { OutputContribution } from './output-contribution';
6
7
  import { OutputChannelManager } from './output-channel';
7
8
  export declare class OutputToolbarContribution implements TabBarToolbarContribution {
@@ -15,6 +16,6 @@ export declare class OutputToolbarContribution implements TabBarToolbarContribut
15
16
  registerToolbarItems(toolbarRegistry: TabBarToolbarRegistry): void;
16
17
  protected readonly NONE = "<no channels>";
17
18
  protected renderChannelSelector(): React.ReactNode;
18
- protected changeChannel: (event: React.ChangeEvent<HTMLSelectElement>) => void;
19
+ protected changeChannel: (option: SelectOption) => void;
19
20
  }
20
21
  //# sourceMappingURL=output-toolbar-contribution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"output-toolbar-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/output-toolbar-contribution.tsx"],"names":[],"mappings":";AAgBA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAGjH,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGxD,qBACa,yBAA0B,YAAW,yBAAyB;IAGvE,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAG9D,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAE1D,SAAS,CAAC,QAAQ,CAAC,iCAAiC,gBAAuB;IAC3E,SAAS,CAAC,QAAQ,CAAC,0BAA0B,qDAAgD;IAE7F,SAAS,CAAC,QAAQ,CAAC,wBAAwB,gBAAuB;IAClE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,qDAAuC;IAG3E,SAAS,CAAC,IAAI,IAAI,IAAI;IAYtB,oBAAoB,CAAC,eAAe,EAAE,qBAAqB,GAAG,IAAI;IA6BlE,SAAS,CAAC,QAAQ,CAAC,IAAI,mBAAmB;IAE1C,SAAS,CAAC,qBAAqB,IAAI,KAAK,CAAC,SAAS;IAmBlD,SAAS,CAAC,aAAa,UAAW,MAAM,WAAW,CAAC,iBAAiB,CAAC,UAKpE;CACL"}
1
+ {"version":3,"file":"output-toolbar-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/output-toolbar-contribution.tsx"],"names":[],"mappings":";AAgBA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACjH,OAAO,EAAmB,YAAY,EAAE,MAAM,kDAAkD,CAAC;AAGjG,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGxD,qBACa,yBAA0B,YAAW,yBAAyB;IAGvE,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAG9D,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAE1D,SAAS,CAAC,QAAQ,CAAC,iCAAiC,gBAAuB;IAC3E,SAAS,CAAC,QAAQ,CAAC,0BAA0B,qDAAgD;IAE7F,SAAS,CAAC,QAAQ,CAAC,wBAAwB,gBAAuB;IAClE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,qDAAuC;IAG3E,SAAS,CAAC,IAAI,IAAI,IAAI;IAYtB,oBAAoB,CAAC,eAAe,EAAE,qBAAqB,GAAG,IAAI;IA6BlE,SAAS,CAAC,QAAQ,CAAC,IAAI,mBAAmB;IAE1C,SAAS,CAAC,qBAAqB,IAAI,KAAK,CAAC,SAAS;IAiBlD,SAAS,CAAC,aAAa,WAAY,YAAY,UAK7C;CACL"}
@@ -28,6 +28,7 @@ exports.OutputToolbarContribution = void 0;
28
28
  const React = require("@theia/core/shared/react");
29
29
  const inversify_1 = require("@theia/core/shared/inversify");
30
30
  const event_1 = require("@theia/core/lib/common/event");
31
+ const select_component_1 = require("@theia/core/lib/browser/widgets/select-component");
31
32
  const output_widget_1 = require("./output-widget");
32
33
  const output_commands_1 = require("./output-commands");
33
34
  const output_contribution_1 = require("./output-contribution");
@@ -40,9 +41,9 @@ let OutputToolbarContribution = class OutputToolbarContribution {
40
41
  this.onChannelsChangedEmitter = new event_1.Emitter();
41
42
  this.onChannelsChanged = this.onChannelsChangedEmitter.event;
42
43
  this.NONE = '<no channels>';
43
- this.changeChannel = (event) => {
44
- const channelName = event.target.value;
45
- if (channelName !== this.NONE) {
44
+ this.changeChannel = (option) => {
45
+ const channelName = option.value;
46
+ if (channelName !== this.NONE && channelName) {
46
47
  this.outputChannelManager.getChannel(channelName).show();
47
48
  }
48
49
  };
@@ -87,14 +88,20 @@ let OutputToolbarContribution = class OutputToolbarContribution {
87
88
  });
88
89
  }
89
90
  renderChannelSelector() {
91
+ var _a;
90
92
  const channelOptionElements = [];
91
- this.outputChannelManager.getVisibleChannels().forEach(channel => {
92
- channelOptionElements.push(React.createElement("option", { value: channel.name, key: channel.name }, channel.name));
93
+ this.outputChannelManager.getVisibleChannels().forEach((channel, i) => {
94
+ channelOptionElements.push({
95
+ value: channel.name
96
+ });
93
97
  });
94
98
  if (channelOptionElements.length === 0) {
95
- channelOptionElements.push(React.createElement("option", { key: this.NONE, value: this.NONE }, this.NONE));
99
+ channelOptionElements.push({
100
+ value: this.NONE
101
+ });
96
102
  }
97
- return React.createElement("select", { className: 'theia-select', id: 'outputChannelList', key: 'outputChannelList', value: this.outputChannelManager.selectedChannel ? this.outputChannelManager.selectedChannel.name : this.NONE, onChange: this.changeChannel }, channelOptionElements);
103
+ return React.createElement("div", { id: 'outputChannelList' },
104
+ React.createElement(select_component_1.SelectComponent, { options: channelOptionElements, value: (_a = this.outputChannelManager.selectedChannel) === null || _a === void 0 ? void 0 : _a.name, onChange: option => this.changeChannel(option) }));
98
105
  }
99
106
  };
100
107
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"output-toolbar-contribution.js","sourceRoot":"","sources":["../../src/browser/output-toolbar-contribution.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output-toolbar-contribution.js","sourceRoot":"","sources":["../../src/browser/output-toolbar-contribution.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@theia/output",
3
- "version": "1.25.0-next.7+64d193dcddc",
3
+ "version": "1.25.0",
4
4
  "description": "Theia - Output Extension",
5
5
  "dependencies": {
6
- "@theia/core": "1.25.0-next.7+64d193dcddc",
7
- "@theia/editor": "1.25.0-next.7+64d193dcddc",
8
- "@theia/monaco": "1.25.0-next.7+64d193dcddc",
6
+ "@theia/core": "1.25.0",
7
+ "@theia/editor": "1.25.0",
8
+ "@theia/monaco": "1.25.0",
9
9
  "@theia/monaco-editor-core": "1.65.2",
10
10
  "@types/p-queue": "^2.3.1",
11
11
  "p-queue": "^2.4.2"
@@ -43,10 +43,10 @@
43
43
  "watch": "theiaext watch"
44
44
  },
45
45
  "devDependencies": {
46
- "@theia/ext-scripts": "1.24.0"
46
+ "@theia/ext-scripts": "1.25.0"
47
47
  },
48
48
  "nyc": {
49
49
  "extends": "../../configs/nyc.json"
50
50
  },
51
- "gitHead": "64d193dcddc57dc40b32cc9976c5a4a68ab023ed"
51
+ "gitHead": "937a6bebf37de6e379445283cfb0fb595428ba35"
52
52
  }
@@ -18,6 +18,7 @@ import * as React from '@theia/core/shared/react';
18
18
  import { inject, injectable, postConstruct } from '@theia/core/shared/inversify';
19
19
  import { Emitter } from '@theia/core/lib/common/event';
20
20
  import { TabBarToolbarContribution, TabBarToolbarRegistry } from '@theia/core/lib/browser/shell/tab-bar-toolbar';
21
+ import { SelectComponent, SelectOption } from '@theia/core/lib/browser/widgets/select-component';
21
22
  import { OutputWidget } from './output-widget';
22
23
  import { OutputCommands } from './output-commands';
23
24
  import { OutputContribution } from './output-contribution';
@@ -84,27 +85,25 @@ export class OutputToolbarContribution implements TabBarToolbarContribution {
84
85
  protected readonly NONE = '<no channels>';
85
86
 
86
87
  protected renderChannelSelector(): React.ReactNode {
87
- const channelOptionElements: React.ReactNode[] = [];
88
- this.outputChannelManager.getVisibleChannels().forEach(channel => {
89
- channelOptionElements.push(<option value={channel.name} key={channel.name}>{channel.name}</option>);
88
+ const channelOptionElements: SelectOption[] = [];
89
+ this.outputChannelManager.getVisibleChannels().forEach((channel, i) => {
90
+ channelOptionElements.push({
91
+ value: channel.name
92
+ });
90
93
  });
91
94
  if (channelOptionElements.length === 0) {
92
- channelOptionElements.push(<option key={this.NONE} value={this.NONE}>{this.NONE}</option>);
95
+ channelOptionElements.push({
96
+ value: this.NONE
97
+ });
93
98
  }
94
- return <select
95
- className='theia-select'
96
- id='outputChannelList'
97
- key='outputChannelList'
98
- value={this.outputChannelManager.selectedChannel ? this.outputChannelManager.selectedChannel.name : this.NONE}
99
- onChange={this.changeChannel}
100
- >
101
- {channelOptionElements}
102
- </select>;
99
+ return <div id='outputChannelList'>
100
+ <SelectComponent options={channelOptionElements} value={this.outputChannelManager.selectedChannel?.name} onChange={option => this.changeChannel(option)} />
101
+ </div>;
103
102
  }
104
103
 
105
- protected changeChannel = (event: React.ChangeEvent<HTMLSelectElement>) => {
106
- const channelName = event.target.value;
107
- if (channelName !== this.NONE) {
104
+ protected changeChannel = (option: SelectOption) => {
105
+ const channelName = option.value;
106
+ if (channelName !== this.NONE && channelName) {
108
107
  this.outputChannelManager.getChannel(channelName).show();
109
108
  }
110
109
  };
@@ -25,3 +25,7 @@
25
25
  .theia-output .theia-output-warning {
26
26
  color: var(--theia-editorWarning-foreground);
27
27
  }
28
+
29
+ #outputChannelList .theia-select-component {
30
+ width: 170px;
31
+ }