@redhat-developer/page-objects 1.1.0 → 1.1.2
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.
- package/out/components/AbstractElement.d.ts +18 -2
- package/out/components/AbstractElement.js +18 -2
- package/out/components/ElementWithContextMenu.d.ts +18 -2
- package/out/components/ElementWithContextMenu.js +16 -0
- package/out/components/WebviewMixin.d.ts +18 -2
- package/out/components/WebviewMixin.js +16 -0
- package/out/components/activityBar/ActionsControl.d.ts +19 -3
- package/out/components/activityBar/ActionsControl.js +16 -0
- package/out/components/activityBar/ActivityBar.d.ts +18 -2
- package/out/components/activityBar/ActivityBar.js +16 -0
- package/out/components/activityBar/ViewControl.d.ts +19 -3
- package/out/components/activityBar/ViewControl.js +16 -0
- package/out/components/bottomBar/AbstractViews.d.ts +20 -4
- package/out/components/bottomBar/AbstractViews.js +24 -7
- package/out/components/bottomBar/BottomBarPanel.d.ts +18 -2
- package/out/components/bottomBar/BottomBarPanel.js +18 -3
- package/out/components/bottomBar/ProblemsView.d.ts +19 -3
- package/out/components/bottomBar/ProblemsView.js +23 -5
- package/out/components/bottomBar/Views.d.ts +19 -3
- package/out/components/bottomBar/Views.js +17 -1
- package/out/components/bottomBar/WebviewView.d.ts +18 -2
- package/out/components/bottomBar/WebviewView.js +16 -0
- package/out/components/dialog/ModalDialog.d.ts +18 -2
- package/out/components/dialog/ModalDialog.js +17 -1
- package/out/components/editor/Breakpoint.d.ts +16 -0
- package/out/components/editor/Breakpoint.js +16 -0
- package/out/components/editor/ContentAssist.d.ts +17 -1
- package/out/components/editor/ContentAssist.js +22 -5
- package/out/components/editor/CustomEditor.d.ts +17 -1
- package/out/components/editor/CustomEditor.js +16 -0
- package/out/components/editor/DiffEditor.d.ts +16 -0
- package/out/components/editor/DiffEditor.js +16 -0
- package/out/components/editor/Editor.d.ts +18 -2
- package/out/components/editor/Editor.js +17 -1
- package/out/components/editor/EditorAction.d.ts +19 -3
- package/out/components/editor/EditorAction.js +16 -0
- package/out/components/editor/EditorView.d.ts +21 -5
- package/out/components/editor/EditorView.js +28 -7
- package/out/components/editor/SettingsEditor.d.ts +27 -11
- package/out/components/editor/SettingsEditor.js +36 -19
- package/out/components/editor/TextEditor.d.ts +22 -6
- package/out/components/editor/TextEditor.js +31 -13
- package/out/components/editor/WebView.d.ts +18 -2
- package/out/components/editor/WebView.js +18 -2
- package/out/components/menu/ContextMenu.d.ts +18 -2
- package/out/components/menu/ContextMenu.js +18 -2
- package/out/components/menu/MacTitleBar.d.ts +16 -0
- package/out/components/menu/MacTitleBar.js +17 -5
- package/out/components/menu/Menu.d.ts +18 -2
- package/out/components/menu/Menu.js +18 -2
- package/out/components/menu/MenuItem.d.ts +18 -2
- package/out/components/menu/MenuItem.js +17 -1
- package/out/components/menu/TitleBar.d.ts +19 -3
- package/out/components/menu/TitleBar.js +18 -2
- package/out/components/menu/WindowControls.d.ts +18 -2
- package/out/components/menu/WindowControls.js +16 -0
- package/out/components/sidebar/SideBarView.d.ts +18 -2
- package/out/components/sidebar/SideBarView.js +16 -0
- package/out/components/sidebar/ViewContent.d.ts +20 -4
- package/out/components/sidebar/ViewContent.js +17 -2
- package/out/components/sidebar/ViewItem.d.ts +19 -3
- package/out/components/sidebar/ViewItem.js +23 -7
- package/out/components/sidebar/ViewSection.d.ts +19 -3
- package/out/components/sidebar/ViewSection.js +23 -7
- package/out/components/sidebar/ViewTitlePart.d.ts +19 -3
- package/out/components/sidebar/ViewTitlePart.js +16 -0
- package/out/components/sidebar/WelcomeContent.d.ts +19 -3
- package/out/components/sidebar/WelcomeContent.js +17 -1
- package/out/components/sidebar/debug/DebugView.d.ts +19 -3
- package/out/components/sidebar/debug/DebugView.js +16 -0
- package/out/components/sidebar/extensions/ExtensionsViewItem.d.ts +20 -4
- package/out/components/sidebar/extensions/ExtensionsViewItem.js +16 -0
- package/out/components/sidebar/extensions/ExtensionsViewSection.d.ts +18 -2
- package/out/components/sidebar/extensions/ExtensionsViewSection.js +19 -3
- package/out/components/sidebar/scm/NewScmView.d.ts +18 -2
- package/out/components/sidebar/scm/NewScmView.js +30 -14
- package/out/components/sidebar/scm/ScmView.d.ts +21 -5
- package/out/components/sidebar/scm/ScmView.js +24 -8
- package/out/components/sidebar/tree/TreeSection.d.ts +19 -3
- package/out/components/sidebar/tree/TreeSection.js +20 -4
- package/out/components/sidebar/tree/custom/CustomTreeItem.d.ts +19 -3
- package/out/components/sidebar/tree/custom/CustomTreeItem.js +16 -0
- package/out/components/sidebar/tree/custom/CustomTreeSection.d.ts +21 -5
- package/out/components/sidebar/tree/custom/CustomTreeSection.js +18 -2
- package/out/components/sidebar/tree/debug/BreakpointSectionItem.d.ts +20 -4
- package/out/components/sidebar/tree/debug/BreakpointSectionItem.js +17 -1
- package/out/components/sidebar/tree/debug/DebugBreakpointSection.d.ts +20 -4
- package/out/components/sidebar/tree/debug/DebugBreakpointSection.js +16 -0
- package/out/components/sidebar/tree/debug/DebugVariablesSection.d.ts +20 -4
- package/out/components/sidebar/tree/debug/DebugVariablesSection.js +16 -0
- package/out/components/sidebar/tree/debug/SectionBreakpoint.d.ts +17 -1
- package/out/components/sidebar/tree/debug/SectionBreakpoint.js +16 -0
- package/out/components/sidebar/tree/debug/VariableSectionItem.d.ts +20 -3
- package/out/components/sidebar/tree/debug/VariableSectionItem.js +20 -0
- package/out/components/sidebar/tree/default/DefaultTreeItem.d.ts +19 -3
- package/out/components/sidebar/tree/default/DefaultTreeItem.js +16 -0
- package/out/components/sidebar/tree/default/DefaultTreeSection.d.ts +18 -2
- package/out/components/sidebar/tree/default/DefaultTreeSection.js +17 -1
- package/out/components/statusBar/StatusBar.d.ts +19 -3
- package/out/components/statusBar/StatusBar.js +17 -1
- package/out/components/workbench/DebugToolbar.d.ts +17 -1
- package/out/components/workbench/DebugToolbar.js +16 -0
- package/out/components/workbench/Notification.d.ts +19 -3
- package/out/components/workbench/Notification.js +17 -2
- package/out/components/workbench/NotificationsCenter.d.ts +18 -2
- package/out/components/workbench/NotificationsCenter.js +17 -1
- package/out/components/workbench/Workbench.d.ts +28 -12
- package/out/components/workbench/Workbench.js +17 -1
- package/out/components/workbench/input/Input.d.ts +17 -1
- package/out/components/workbench/input/Input.js +29 -20
- package/out/components/workbench/input/InputBox.d.ts +17 -1
- package/out/components/workbench/input/InputBox.js +20 -5
- package/out/components/workbench/input/QuickOpenBox.d.ts +17 -1
- package/out/components/workbench/input/QuickOpenBox.js +18 -3
- package/out/conditions/WaitForAttribute.d.ts +17 -1
- package/out/conditions/WaitForAttribute.js +16 -0
- package/out/errors/NullAttributeError.d.ts +16 -0
- package/out/errors/NullAttributeError.js +16 -0
- package/out/index.d.ts +16 -0
- package/out/index.js +16 -0
- package/out/locators/loader.d.ts +16 -0
- package/out/locators/loader.js +24 -8
- package/out/locators/locators.d.ts +24 -8
- package/out/locators/locators.js +17 -1
- package/package.json +2 -2
|
@@ -1,4 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
4
|
+
* contributor license agreements. See the NOTICE file distributed with
|
|
5
|
+
* this work for additional information regarding copyright ownership.
|
|
6
|
+
* The ASF licenses this file to You under the Apache License, Version 2.0
|
|
7
|
+
* (the "License", destination); you may not use this file except in compliance with
|
|
8
|
+
* the License. You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
* See the License for the specific language governing permissions and
|
|
16
|
+
* limitations under the License.
|
|
17
|
+
*/
|
|
2
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
19
|
exports.ExtensionsViewSection = void 0;
|
|
4
20
|
const ViewSection_1 = require("../ViewSection");
|
|
@@ -45,21 +61,21 @@ class ExtensionsViewSection extends ViewSection_1.ViewSection {
|
|
|
45
61
|
await this.getDriver().wait(selenium_webdriver_1.until.elementIsVisible(progress), 1000);
|
|
46
62
|
}
|
|
47
63
|
catch (err) {
|
|
48
|
-
if (err.name !==
|
|
64
|
+
if (err.name !== 'TimeoutError') {
|
|
49
65
|
throw err;
|
|
50
66
|
}
|
|
51
67
|
}
|
|
52
68
|
await this.getDriver().wait(selenium_webdriver_1.until.elementIsNotVisible(progress));
|
|
53
69
|
const parent = this.enclosingItem;
|
|
54
70
|
const sectionTitle = this.getSectionForCategory(title);
|
|
55
|
-
const section = await parent.getSection(sectionTitle);
|
|
71
|
+
const section = (await parent.getSection(sectionTitle));
|
|
56
72
|
const titleParts = title.split(' ');
|
|
57
73
|
if (titleParts[0].startsWith('@')) {
|
|
58
74
|
title = titleParts.slice(1).join(' ');
|
|
59
75
|
}
|
|
60
76
|
const extensions = await section.getVisibleItems();
|
|
61
77
|
for (const extension of extensions) {
|
|
62
|
-
if (await extension.getTitle() === title) {
|
|
78
|
+
if ((await extension.getTitle()) === title) {
|
|
63
79
|
return extension;
|
|
64
80
|
}
|
|
65
81
|
}
|
|
@@ -1,5 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
3
|
+
* contributor license agreements. See the NOTICE file distributed with
|
|
4
|
+
* this work for additional information regarding copyright ownership.
|
|
5
|
+
* The ASF licenses this file to You under the Apache License, Version 2.0
|
|
6
|
+
* (the "License", destination); you may not use this file except in compliance with
|
|
7
|
+
* the License. You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { ScmView, ScmProvider, ScmChange } from './ScmView';
|
|
18
|
+
import { ContextMenu } from '../../menu/ContextMenu';
|
|
3
19
|
/**
|
|
4
20
|
* New SCM view for code 1.47 onwards
|
|
5
21
|
*/
|
|
@@ -1,4 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
4
|
+
* contributor license agreements. See the NOTICE file distributed with
|
|
5
|
+
* this work for additional information regarding copyright ownership.
|
|
6
|
+
* The ASF licenses this file to You under the Apache License, Version 2.0
|
|
7
|
+
* (the "License", destination); you may not use this file except in compliance with
|
|
8
|
+
* the License. You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
* See the License for the specific language governing permissions and
|
|
16
|
+
* limitations under the License.
|
|
17
|
+
*/
|
|
2
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
19
|
exports.MultiScmProvider = exports.SingleScmProvider = exports.NewScmView = void 0;
|
|
4
20
|
const ScmView_1 = require("./ScmView");
|
|
@@ -50,7 +66,7 @@ class SingleScmProvider extends ScmView_1.ScmProvider {
|
|
|
50
66
|
buttons.push(await new ViewTitlePart_1.TitleActionButton(ScmView_1.ScmView.locators.ScmView.actionConstructor(title), titlePart).wait());
|
|
51
67
|
}
|
|
52
68
|
const names = await Promise.all(buttons.map(async (button) => button.getTitle()));
|
|
53
|
-
const index = names.findIndex(name => name === title);
|
|
69
|
+
const index = names.findIndex((name) => name === title);
|
|
54
70
|
if (index > -1) {
|
|
55
71
|
await buttons[index].click();
|
|
56
72
|
return true;
|
|
@@ -67,11 +83,11 @@ class SingleScmProvider extends ScmView_1.ScmProvider {
|
|
|
67
83
|
if (count > 0) {
|
|
68
84
|
const locator = staged ? ScmView_1.ScmProvider.locators.ScmView.stagedChanges : ScmView_1.ScmProvider.locators.ScmView.changes;
|
|
69
85
|
const header = await this.findElement(locator);
|
|
70
|
-
const startIndex = +await header.getAttribute('data-index');
|
|
71
|
-
const depth = +await header.getAttribute('aria-level') + 1;
|
|
86
|
+
const startIndex = +(await header.getAttribute('data-index'));
|
|
87
|
+
const depth = +(await header.getAttribute('aria-level')) + 1;
|
|
72
88
|
const items = await this.findElements(NewScmView.locators.ScmView.itemLevel(depth));
|
|
73
89
|
for (const item of items) {
|
|
74
|
-
const index = +await item.getAttribute('data-index');
|
|
90
|
+
const index = +(await item.getAttribute('data-index'));
|
|
75
91
|
if (index > startIndex && index <= startIndex + count) {
|
|
76
92
|
elements.push(item);
|
|
77
93
|
}
|
|
@@ -88,7 +104,7 @@ class MultiScmProvider extends ScmView_1.ScmProvider {
|
|
|
88
104
|
async takeAction(title) {
|
|
89
105
|
const actions = await this.findElements(ScmView_1.ScmProvider.locators.ScmView.action);
|
|
90
106
|
const names = await Promise.all(actions.map(async (action) => await action.getAttribute('title')));
|
|
91
|
-
const index = names.findIndex(item => item === title);
|
|
107
|
+
const index = names.findIndex((item) => item === title);
|
|
92
108
|
if (index > -1) {
|
|
93
109
|
await actions[index].click();
|
|
94
110
|
return true;
|
|
@@ -99,7 +115,7 @@ class MultiScmProvider extends ScmView_1.ScmProvider {
|
|
|
99
115
|
return await new MultiMoreAction(this).openContextMenu();
|
|
100
116
|
}
|
|
101
117
|
async commitChanges(message) {
|
|
102
|
-
const index = +await this.getAttribute('data-index') + 1;
|
|
118
|
+
const index = +(await this.getAttribute('data-index')) + 1;
|
|
103
119
|
const input = await this.enclosingItem.findElement(NewScmView.locators.ScmView.itemIndex(index));
|
|
104
120
|
await input.clear();
|
|
105
121
|
await input.sendKeys(message);
|
|
@@ -109,23 +125,23 @@ class MultiScmProvider extends ScmView_1.ScmProvider {
|
|
|
109
125
|
const count = await this.getChangeCount(staged);
|
|
110
126
|
const elements = [];
|
|
111
127
|
if (count > 0) {
|
|
112
|
-
const index = +await this.getAttribute('data-index');
|
|
128
|
+
const index = +(await this.getAttribute('data-index'));
|
|
113
129
|
const locator = staged ? ScmView_1.ScmProvider.locators.ScmView.stagedChanges : ScmView_1.ScmProvider.locators.ScmView.changes;
|
|
114
130
|
const headers = await this.enclosingItem.findElements(locator);
|
|
115
131
|
let header;
|
|
116
132
|
for (const item of headers) {
|
|
117
|
-
if (+await item.getAttribute('data-index') > index) {
|
|
133
|
+
if (+(await item.getAttribute('data-index')) > index) {
|
|
118
134
|
header = item;
|
|
119
135
|
}
|
|
120
136
|
}
|
|
121
137
|
if (!header) {
|
|
122
138
|
return [];
|
|
123
139
|
}
|
|
124
|
-
const startIndex = +await header.getAttribute('data-index');
|
|
125
|
-
const depth = +await header.getAttribute('aria-level') + 1;
|
|
140
|
+
const startIndex = +(await header.getAttribute('data-index'));
|
|
141
|
+
const depth = +(await header.getAttribute('aria-level')) + 1;
|
|
126
142
|
const items = await this.enclosingItem.findElements(NewScmView.locators.ScmView.itemLevel(depth));
|
|
127
143
|
for (const item of items) {
|
|
128
|
-
const index = +await item.getAttribute('data-index');
|
|
144
|
+
const index = +(await item.getAttribute('data-index'));
|
|
129
145
|
if (index > startIndex && index <= startIndex + count) {
|
|
130
146
|
elements.push(item);
|
|
131
147
|
}
|
|
@@ -136,11 +152,11 @@ class MultiScmProvider extends ScmView_1.ScmProvider {
|
|
|
136
152
|
async getChangeCount(staged = false) {
|
|
137
153
|
const locator = staged ? ScmView_1.ScmProvider.locators.ScmView.stagedChanges : ScmView_1.ScmProvider.locators.ScmView.changes;
|
|
138
154
|
const rows = await this.enclosingItem.findElements(locator);
|
|
139
|
-
const index = +await this.getAttribute('data-index');
|
|
155
|
+
const index = +(await this.getAttribute('data-index'));
|
|
140
156
|
for (const row of rows) {
|
|
141
|
-
if (+await row.getAttribute('data-index') > index) {
|
|
157
|
+
if (+(await row.getAttribute('data-index')) > index) {
|
|
142
158
|
const count = await rows[0].findElement(ScmView_1.ScmChange.locators.ScmView.changeCount);
|
|
143
|
-
return +await count.getText();
|
|
159
|
+
return +(await count.getText());
|
|
144
160
|
}
|
|
145
161
|
}
|
|
146
162
|
return 0;
|
|
@@ -1,8 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
3
|
+
* contributor license agreements. See the NOTICE file distributed with
|
|
4
|
+
* this work for additional information regarding copyright ownership.
|
|
5
|
+
* The ASF licenses this file to You under the Apache License, Version 2.0
|
|
6
|
+
* (the "License", destination); you may not use this file except in compliance with
|
|
7
|
+
* the License. You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { SideBarView } from '../SideBarView';
|
|
18
|
+
import { WebElement } from 'selenium-webdriver';
|
|
19
|
+
import { AbstractElement } from '../../AbstractElement';
|
|
20
|
+
import { ContextMenu } from '../../..';
|
|
21
|
+
import { ElementWithContexMenu } from '../../ElementWithContextMenu';
|
|
6
22
|
/**
|
|
7
23
|
* Page object representing the Source Control view
|
|
8
24
|
*/
|
|
@@ -1,4 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
4
|
+
* contributor license agreements. See the NOTICE file distributed with
|
|
5
|
+
* this work for additional information regarding copyright ownership.
|
|
6
|
+
* The ASF licenses this file to You under the Apache License, Version 2.0
|
|
7
|
+
* (the "License", destination); you may not use this file except in compliance with
|
|
8
|
+
* the License. You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
* See the License for the specific language governing permissions and
|
|
16
|
+
* limitations under the License.
|
|
17
|
+
*/
|
|
2
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
19
|
exports.MoreAction = exports.ScmChange = exports.ScmProvider = exports.ScmView = void 0;
|
|
4
20
|
const SideBarView_1 = require("../SideBarView");
|
|
@@ -21,7 +37,7 @@ class ScmView extends SideBarView_1.SideBarView {
|
|
|
21
37
|
return providers[0];
|
|
22
38
|
}
|
|
23
39
|
const names = await Promise.all(providers.map(async (item) => await item.getTitle()));
|
|
24
|
-
const index = names.findIndex(name => name === title);
|
|
40
|
+
const index = names.findIndex((name) => name === title);
|
|
25
41
|
return index > -1 ? providers[index] : undefined;
|
|
26
42
|
}
|
|
27
43
|
/**
|
|
@@ -84,7 +100,7 @@ class ScmProvider extends AbstractElement_1.AbstractElement {
|
|
|
84
100
|
actions = await header.findElements(ScmProvider.locators.ScmView.action);
|
|
85
101
|
}
|
|
86
102
|
const names = await Promise.all(actions.map(async (action) => await action.getAttribute('title')));
|
|
87
|
-
const index = names.findIndex(item => item === title);
|
|
103
|
+
const index = names.findIndex((item) => item === title);
|
|
88
104
|
if (index > -1) {
|
|
89
105
|
await actions[index].click();
|
|
90
106
|
return true;
|
|
@@ -130,7 +146,7 @@ class ScmProvider extends AbstractElement_1.AbstractElement {
|
|
|
130
146
|
elements = await this.findElements(ScmProvider.locators.ScmView.changeItem);
|
|
131
147
|
for (const [index, item] of elements.entries()) {
|
|
132
148
|
const name = await item.findElement(ScmProvider.locators.ScmView.changeName);
|
|
133
|
-
if (await name.getText() === label) {
|
|
149
|
+
if ((await name.getText()) === label) {
|
|
134
150
|
i = index + 1;
|
|
135
151
|
break;
|
|
136
152
|
}
|
|
@@ -154,7 +170,7 @@ class ScmProvider extends AbstractElement_1.AbstractElement {
|
|
|
154
170
|
return 0;
|
|
155
171
|
}
|
|
156
172
|
const count = await rows[0].findElement(ScmChange.locators.ScmView.changeCount);
|
|
157
|
-
return +await count.getText();
|
|
173
|
+
return +(await count.getText());
|
|
158
174
|
}
|
|
159
175
|
}
|
|
160
176
|
exports.ScmProvider = ScmProvider;
|
|
@@ -210,7 +226,7 @@ class ScmChange extends ElementWithContextMenu_1.ElementWithContexMenu {
|
|
|
210
226
|
* @returns promise resolving to true if the item changed state, to false otherwise
|
|
211
227
|
*/
|
|
212
228
|
async toggleExpand(expand) {
|
|
213
|
-
if (await this.isExpanded() !== expand) {
|
|
229
|
+
if ((await this.isExpanded()) !== expand) {
|
|
214
230
|
await this.click();
|
|
215
231
|
return true;
|
|
216
232
|
}
|
|
@@ -226,7 +242,7 @@ class ScmChange extends ElementWithContextMenu_1.ElementWithContexMenu {
|
|
|
226
242
|
await this.getDriver().actions().move({ origin: this }).perform();
|
|
227
243
|
const actions = await this.findElements(ScmChange.locators.ScmView.action);
|
|
228
244
|
const names = await Promise.all(actions.map(async (action) => await action.getAttribute(ScmChange.locators.ScmView.actionLabel)));
|
|
229
|
-
const index = names.findIndex(item => item === title);
|
|
245
|
+
const index = names.findIndex((item) => item === title);
|
|
230
246
|
if (index > -1) {
|
|
231
247
|
await actions[index].click();
|
|
232
248
|
return true;
|
|
@@ -248,7 +264,7 @@ class MoreAction extends ElementWithContextMenu_1.ElementWithContexMenu {
|
|
|
248
264
|
const webdriverCapabilities = await this.getDriver().getCapabilities();
|
|
249
265
|
const chromiumVersion = webdriverCapabilities.getBrowserVersion();
|
|
250
266
|
if (shadowRootHost.length > 0) {
|
|
251
|
-
if (await this.getAttribute('aria-expanded') !== 'true') {
|
|
267
|
+
if ((await this.getAttribute('aria-expanded')) !== 'true') {
|
|
252
268
|
await this.click();
|
|
253
269
|
}
|
|
254
270
|
let shadowRoot;
|
|
@@ -259,7 +275,7 @@ class MoreAction extends ElementWithContextMenu_1.ElementWithContexMenu {
|
|
|
259
275
|
return new __1.ContextMenu(await shadowRoot.findElement(selenium_webdriver_1.By.className('monaco-menu-container'))).wait();
|
|
260
276
|
}
|
|
261
277
|
else {
|
|
262
|
-
shadowRoot = await this.getDriver().executeScript('return arguments[0].shadowRoot', shadowRootHost[0]);
|
|
278
|
+
shadowRoot = (await this.getDriver().executeScript('return arguments[0].shadowRoot', shadowRootHost[0]));
|
|
263
279
|
return new __1.ContextMenu(shadowRoot).wait();
|
|
264
280
|
}
|
|
265
281
|
}
|
|
@@ -1,6 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
3
|
+
* contributor license agreements. See the NOTICE file distributed with
|
|
4
|
+
* this work for additional information regarding copyright ownership.
|
|
5
|
+
* The ASF licenses this file to You under the Apache License, Version 2.0
|
|
6
|
+
* (the "License", destination); you may not use this file except in compliance with
|
|
7
|
+
* the License. You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { ViewSection } from '../ViewSection';
|
|
18
|
+
import { TreeItem } from '../ViewItem';
|
|
19
|
+
import { error } from 'selenium-webdriver';
|
|
4
20
|
export declare class TreeItemNotFoundError extends error.NoSuchElementError {
|
|
5
21
|
constructor(msg?: string);
|
|
6
22
|
}
|
|
@@ -1,4 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
4
|
+
* contributor license agreements. See the NOTICE file distributed with
|
|
5
|
+
* this work for additional information regarding copyright ownership.
|
|
6
|
+
* The ASF licenses this file to You under the Apache License, Version 2.0
|
|
7
|
+
* (the "License", destination); you may not use this file except in compliance with
|
|
8
|
+
* the License. You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
* See the License for the specific language governing permissions and
|
|
16
|
+
* limitations under the License.
|
|
17
|
+
*/
|
|
2
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
19
|
exports.TreeSection = exports.TreeItemNotFoundError = void 0;
|
|
4
20
|
const ViewSection_1 = require("../ViewSection");
|
|
@@ -18,7 +34,7 @@ class TreeSection extends ViewSection_1.ViewSection {
|
|
|
18
34
|
let items = [];
|
|
19
35
|
for (let i = 0; i < path.length; i++) {
|
|
20
36
|
const item = await this.findItem(path[i], i + 1);
|
|
21
|
-
if (await item?.hasChildren() && !await item?.isExpanded()) {
|
|
37
|
+
if ((await item?.hasChildren()) && !(await item?.isExpanded())) {
|
|
22
38
|
await item?.expand();
|
|
23
39
|
}
|
|
24
40
|
}
|
|
@@ -28,8 +44,8 @@ class TreeSection extends ViewSection_1.ViewSection {
|
|
|
28
44
|
if (i === 0) {
|
|
29
45
|
items = await this.getVisibleItems();
|
|
30
46
|
}
|
|
31
|
-
let names = await Promise.all(items.map(item => item.getLabel()));
|
|
32
|
-
names = names.sort((a, b) => a > b ? 1 :
|
|
47
|
+
let names = await Promise.all(items.map((item) => item.getLabel()));
|
|
48
|
+
names = names.sort((a, b) => (a > b ? 1 : a < b ? -1 : 0));
|
|
33
49
|
const message = names.length < 1 ? `Current directory is empty.` : `Available items in current directory: [${names.toString()}]`;
|
|
34
50
|
throw new TreeItemNotFoundError(`Item '${path[i]}' not found. ${message}`);
|
|
35
51
|
}
|
|
@@ -41,7 +57,7 @@ class TreeSection extends ViewSection_1.ViewSection {
|
|
|
41
57
|
if (i + 1 < path.length) {
|
|
42
58
|
currentItem = undefined;
|
|
43
59
|
for (const item of items) {
|
|
44
|
-
if (await item.getLabel() === path[i + 1]) {
|
|
60
|
+
if ((await item.getLabel()) === path[i + 1]) {
|
|
45
61
|
currentItem = item;
|
|
46
62
|
break;
|
|
47
63
|
}
|
|
@@ -1,6 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
3
|
+
* contributor license agreements. See the NOTICE file distributed with
|
|
4
|
+
* this work for additional information regarding copyright ownership.
|
|
5
|
+
* The ASF licenses this file to You under the Apache License, Version 2.0
|
|
6
|
+
* (the "License", destination); you may not use this file except in compliance with
|
|
7
|
+
* the License. You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { TreeItem } from '../../ViewItem';
|
|
18
|
+
import { TreeSection } from '../TreeSection';
|
|
19
|
+
import { WebElement } from 'selenium-webdriver';
|
|
4
20
|
/**
|
|
5
21
|
* View item in a custom-made content section (e.g. an extension tree view)
|
|
6
22
|
*/
|
|
@@ -1,4 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
4
|
+
* contributor license agreements. See the NOTICE file distributed with
|
|
5
|
+
* this work for additional information regarding copyright ownership.
|
|
6
|
+
* The ASF licenses this file to You under the Apache License, Version 2.0
|
|
7
|
+
* (the "License", destination); you may not use this file except in compliance with
|
|
8
|
+
* the License. You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
* See the License for the specific language governing permissions and
|
|
16
|
+
* limitations under the License.
|
|
17
|
+
*/
|
|
2
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
19
|
exports.CustomTreeItem = void 0;
|
|
4
20
|
const ViewItem_1 = require("../../ViewItem");
|
|
@@ -1,7 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
3
|
+
* contributor license agreements. See the NOTICE file distributed with
|
|
4
|
+
* this work for additional information regarding copyright ownership.
|
|
5
|
+
* The ASF licenses this file to You under the Apache License, Version 2.0
|
|
6
|
+
* (the "License", destination); you may not use this file except in compliance with
|
|
7
|
+
* the License. You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { TreeSection } from '../TreeSection';
|
|
18
|
+
import { TreeItem } from '../../ViewItem';
|
|
19
|
+
import { WebElement } from 'selenium-webdriver';
|
|
20
|
+
import { CustomTreeItem, ViewContent } from '../../../..';
|
|
5
21
|
export type GenericCustomTreeItemConstructor<T extends TreeItem> = {
|
|
6
22
|
new (rootElement: WebElement, tree: TreeSection): T;
|
|
7
23
|
};
|
|
@@ -15,7 +31,7 @@ export declare class GenericCustomTreeSection<T extends TreeItem> extends TreeSe
|
|
|
15
31
|
private get viewContent();
|
|
16
32
|
private get itemConstructor();
|
|
17
33
|
getVisibleItems(): Promise<T[]>;
|
|
18
|
-
findItem(labelOrPredicate: string | ((el: T) =>
|
|
34
|
+
findItem(labelOrPredicate: string | ((el: T) => PromiseLike<boolean> | boolean), maxLevel?: number): Promise<T | undefined>;
|
|
19
35
|
private getContainer;
|
|
20
36
|
}
|
|
21
37
|
/**
|
|
@@ -1,4 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
4
|
+
* contributor license agreements. See the NOTICE file distributed with
|
|
5
|
+
* this work for additional information regarding copyright ownership.
|
|
6
|
+
* The ASF licenses this file to You under the Apache License, Version 2.0
|
|
7
|
+
* (the "License", destination); you may not use this file except in compliance with
|
|
8
|
+
* the License. You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
* See the License for the specific language governing permissions and
|
|
16
|
+
* limitations under the License.
|
|
17
|
+
*/
|
|
2
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
19
|
exports.CustomTreeSection = exports.GenericCustomTreeSection = void 0;
|
|
4
20
|
const TreeSection_1 = require("../TreeSection");
|
|
@@ -33,11 +49,11 @@ class GenericCustomTreeSection extends TreeSection_1.TreeSection {
|
|
|
33
49
|
return items;
|
|
34
50
|
}
|
|
35
51
|
async findItem(labelOrPredicate, maxLevel = 0) {
|
|
36
|
-
const predicate = typeof labelOrPredicate === 'string' ?
|
|
52
|
+
const predicate = typeof labelOrPredicate === 'string' ? async (el) => (await el.getLabel()) === labelOrPredicate : labelOrPredicate;
|
|
37
53
|
const elements = await this.getVisibleItems();
|
|
38
54
|
for (const element of elements) {
|
|
39
55
|
if (await predicate(element)) {
|
|
40
|
-
const level = +await element.getAttribute(CustomTreeSection.locators.ViewSection.level);
|
|
56
|
+
const level = +(await element.getAttribute(CustomTreeSection.locators.ViewSection.level));
|
|
41
57
|
if (maxLevel < 1 || level <= maxLevel) {
|
|
42
58
|
return element;
|
|
43
59
|
}
|
|
@@ -1,7 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
3
|
+
* contributor license agreements. See the NOTICE file distributed with
|
|
4
|
+
* this work for additional information regarding copyright ownership.
|
|
5
|
+
* The ASF licenses this file to You under the Apache License, Version 2.0
|
|
6
|
+
* (the "License", destination); you may not use this file except in compliance with
|
|
7
|
+
* the License. You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { WebElement } from 'selenium-webdriver';
|
|
18
|
+
import { TreeSection } from '../TreeSection';
|
|
19
|
+
import { CustomTreeItem } from '../custom/CustomTreeItem';
|
|
20
|
+
import { SectionBreakpoint } from './SectionBreakpoint';
|
|
5
21
|
export declare class BreakpointSectionItem extends CustomTreeItem {
|
|
6
22
|
constructor(element: WebElement, viewPart: TreeSection);
|
|
7
23
|
/**
|
|
@@ -1,4 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
4
|
+
* contributor license agreements. See the NOTICE file distributed with
|
|
5
|
+
* this work for additional information regarding copyright ownership.
|
|
6
|
+
* The ASF licenses this file to You under the Apache License, Version 2.0
|
|
7
|
+
* (the "License", destination); you may not use this file except in compliance with
|
|
8
|
+
* the License. You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
* See the License for the specific language governing permissions and
|
|
16
|
+
* limitations under the License.
|
|
17
|
+
*/
|
|
2
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
19
|
exports.BreakpointSectionItem = void 0;
|
|
4
20
|
const CustomTreeItem_1 = require("../custom/CustomTreeItem");
|
|
@@ -28,7 +44,7 @@ class BreakpointSectionItem extends CustomTreeItem_1.CustomTreeItem {
|
|
|
28
44
|
* @param value new state
|
|
29
45
|
*/
|
|
30
46
|
async setBreakpointEnabled(value) {
|
|
31
|
-
if (await this.isBreakpointEnabled() === value) {
|
|
47
|
+
if ((await this.isBreakpointEnabled()) === value) {
|
|
32
48
|
return;
|
|
33
49
|
}
|
|
34
50
|
const locator = BreakpointSectionItem.locators.BreakpointSectionItem.breakpointCheckbox;
|
|
@@ -1,7 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
3
|
+
* contributor license agreements. See the NOTICE file distributed with
|
|
4
|
+
* this work for additional information regarding copyright ownership.
|
|
5
|
+
* The ASF licenses this file to You under the Apache License, Version 2.0
|
|
6
|
+
* (the "License", destination); you may not use this file except in compliance with
|
|
7
|
+
* the License. You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { WebElement } from 'selenium-webdriver';
|
|
18
|
+
import { ViewContent } from '../../ViewContent';
|
|
19
|
+
import { GenericCustomTreeSection } from '../custom/CustomTreeSection';
|
|
20
|
+
import { BreakpointSectionItem } from './BreakpointSectionItem';
|
|
5
21
|
export declare class DebugBreakpointSection extends GenericCustomTreeSection<BreakpointSectionItem> {
|
|
6
22
|
constructor(panel: WebElement, viewContent: ViewContent);
|
|
7
23
|
}
|
|
@@ -1,4 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
4
|
+
* contributor license agreements. See the NOTICE file distributed with
|
|
5
|
+
* this work for additional information regarding copyright ownership.
|
|
6
|
+
* The ASF licenses this file to You under the Apache License, Version 2.0
|
|
7
|
+
* (the "License", destination); you may not use this file except in compliance with
|
|
8
|
+
* the License. You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
* See the License for the specific language governing permissions and
|
|
16
|
+
* limitations under the License.
|
|
17
|
+
*/
|
|
2
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
19
|
exports.DebugBreakpointSection = void 0;
|
|
4
20
|
const CustomTreeSection_1 = require("../custom/CustomTreeSection");
|
|
@@ -1,7 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
3
|
+
* contributor license agreements. See the NOTICE file distributed with
|
|
4
|
+
* this work for additional information regarding copyright ownership.
|
|
5
|
+
* The ASF licenses this file to You under the Apache License, Version 2.0
|
|
6
|
+
* (the "License", destination); you may not use this file except in compliance with
|
|
7
|
+
* the License. You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { WebElement } from 'selenium-webdriver';
|
|
18
|
+
import { ViewContent } from '../../ViewContent';
|
|
19
|
+
import { GenericCustomTreeSection } from '../custom/CustomTreeSection';
|
|
20
|
+
import { VariableSectionItem } from './VariableSectionItem';
|
|
5
21
|
export declare class DebugVariableSection extends GenericCustomTreeSection<VariableSectionItem> {
|
|
6
22
|
constructor(panel: WebElement, viewContent: ViewContent);
|
|
7
23
|
}
|