@oracle/oraclejet-webdriver 18.1.5 → 19.0.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.
Files changed (113) hide show
  1. package/elements/oj-chart/OjChart.d.ts +1 -1
  2. package/elements/oj-chart/OjChart.js +1 -1
  3. package/elements/oj-chart/OjChartBase.d.ts +21 -0
  4. package/elements/oj-data-grid/OjDataGridBase.d.ts +27 -1
  5. package/elements/oj-data-grid/OjDataGridBase.js +18 -0
  6. package/elements/oj-data-grid/OjDataGridBase.js.map +1 -1
  7. package/elements/oj-input-time/OjInputTimeBase.d.ts +18 -7
  8. package/elements/oj-input-time/OjInputTimeBase.js +7 -7
  9. package/elements/oj-list-view/OjListView.d.ts +25 -0
  10. package/elements/oj-list-view/OjListView.js +28 -1
  11. package/elements/oj-list-view/OjListView.js.map +1 -1
  12. package/elements/oj-list-view/OjListViewBase.d.ts +23 -0
  13. package/elements/oj-n-box/OjNBoxBase.d.ts +3 -0
  14. package/elements/oj-spark-chart/OjSparkChartBase.d.ts +2 -2
  15. package/elements/oj-spark-chart/OjSparkChartBase.js +2 -2
  16. package/elements/oj-status-meter-gauge/OjStatusMeterGauge.d.ts +2 -2
  17. package/elements/oj-status-meter-gauge/OjStatusMeterGauge.js +2 -2
  18. package/elements/oj-stream-list/OjStreamListBase.d.ts +2 -2
  19. package/elements/oj-tab-bar/OjTabBar.d.ts +23 -0
  20. package/elements/oj-tab-bar/OjTabBar.js +41 -0
  21. package/elements/oj-tab-bar/OjTabBar.js.map +1 -1
  22. package/elements/oj-tab-bar/OjTabBarBase.d.ts +20 -0
  23. package/elements/oj-table/OjTableBase.d.ts +8 -0
  24. package/elements/oj-thematic-map/OjThematicMapBase.d.ts +11 -4
  25. package/elements/oj-timeline/OjTimelineBase.d.ts +3 -0
  26. package/elements/oj-waterfall-layout/OjWaterfallLayoutBase.d.ts +8 -1
  27. package/elements/oj-waterfall-layout/OjWaterfallLayoutBase.js +9 -0
  28. package/elements/oj-waterfall-layout/OjWaterfallLayoutBase.js.map +1 -1
  29. package/index.d.ts +4 -7
  30. package/index.js +37 -9
  31. package/index.js.map +1 -1
  32. package/lib/ScreenshotManager.js +35 -2
  33. package/lib/ScreenshotManager.js.map +1 -1
  34. package/lib/busy-context-utils.d.ts +1 -0
  35. package/lib/busy-context-utils.js +22 -2
  36. package/lib/busy-context-utils.js.map +1 -1
  37. package/lib/driver-manager.d.ts +1 -206
  38. package/lib/driver-manager.js +6 -314
  39. package/lib/driver-manager.js.map +1 -1
  40. package/lib/driver-override.js +38 -5
  41. package/lib/driver-override.js.map +1 -1
  42. package/lib/file-picker-utils.js +35 -2
  43. package/lib/file-picker-utils.js.map +1 -1
  44. package/package.json +36 -30
  45. package/src/elements/oj-chart/OjChart.ts +1 -1
  46. package/src/elements/oj-chart/OjChartBase.ts +21 -0
  47. package/src/elements/oj-data-grid/OjDataGridBase.ts +33 -1
  48. package/src/elements/oj-input-time/OjInputTimeBase.ts +18 -7
  49. package/src/elements/oj-list-view/OjListView.ts +40 -1
  50. package/src/elements/oj-list-view/OjListViewBase.ts +23 -0
  51. package/src/elements/oj-n-box/OjNBoxBase.ts +3 -0
  52. package/src/elements/oj-spark-chart/OjSparkChartBase.ts +2 -2
  53. package/src/elements/oj-status-meter-gauge/OjStatusMeterGauge.ts +2 -2
  54. package/src/elements/oj-stream-list/OjStreamListBase.ts +2 -2
  55. package/src/elements/oj-tab-bar/OjTabBar.ts +57 -1
  56. package/src/elements/oj-tab-bar/OjTabBarBase.ts +20 -0
  57. package/src/elements/oj-table/OjTableBase.ts +8 -0
  58. package/src/elements/oj-thematic-map/OjThematicMapBase.ts +11 -4
  59. package/src/elements/oj-timeline/OjTimelineBase.ts +3 -0
  60. package/src/elements/oj-waterfall-layout/OjWaterfallLayoutBase.ts +11 -1
  61. package/src/index.ts +5 -12
  62. package/src/lib/busy-context-utils.ts +34 -3
  63. package/src/lib/driver-manager.ts +9 -350
  64. package/src/lib/driver-override.ts +7 -4
  65. package/tsconfig.json +2 -2
  66. package/wdtsdoc/assets/navigation.js +1 -1
  67. package/wdtsdoc/assets/search.js +1 -1
  68. package/wdtsdoc/classes/elements.OjChart.html +1 -1
  69. package/wdtsdoc/classes/elements.OjDataGrid.html +11 -3
  70. package/wdtsdoc/classes/elements.OjInputTime.html +26 -19
  71. package/wdtsdoc/classes/elements.OjListView.html +13 -2
  72. package/wdtsdoc/classes/elements.OjSparkChart.html +7 -5
  73. package/wdtsdoc/classes/elements.OjStatusMeterGauge.html +2 -2
  74. package/wdtsdoc/classes/elements.OjTabBar.html +15 -2
  75. package/wdtsdoc/classes/elements.OjWaterfallLayout.html +6 -2
  76. package/wdtsdoc/classes/elements._internal_.OjDataGridBase.html +10 -2
  77. package/wdtsdoc/classes/elements._internal_.OjInputTimeBase.html +26 -19
  78. package/wdtsdoc/classes/elements._internal_.OjSparkChartBase.html +7 -5
  79. package/wdtsdoc/classes/elements._internal_.OjWaterfallLayoutBase.html +6 -2
  80. package/wdtsdoc/classes/index.DriverManager.html +19 -9
  81. package/wdtsdoc/interfaces/elements._internal_.Areas.html +7 -5
  82. package/wdtsdoc/interfaces/elements._internal_.DndDropRows-1.html +3 -1
  83. package/wdtsdoc/interfaces/elements._internal_.Item.html +5 -3
  84. package/wdtsdoc/interfaces/elements._internal_.Links.html +7 -5
  85. package/wdtsdoc/interfaces/elements._internal_.LinksEndLocation.html +2 -2
  86. package/wdtsdoc/interfaces/elements._internal_.LinksStartLocation.html +2 -2
  87. package/wdtsdoc/interfaces/elements._internal_.MajorAxis-1.html +4 -3
  88. package/wdtsdoc/interfaces/elements._internal_.Markers.html +7 -5
  89. package/wdtsdoc/interfaces/elements._internal_.MinorAxis-1.html +4 -3
  90. package/wdtsdoc/interfaces/elements._internal_.Overview-2.html +4 -3
  91. package/wdtsdoc/interfaces/elements._internal_.PickerAttributes-6.html +3 -2
  92. package/wdtsdoc/interfaces/elements._internal_.ScrollPosition-3.html +2 -2
  93. package/wdtsdoc/interfaces/elements._internal_.ScrollPosition-5.html +1 -1
  94. package/wdtsdoc/interfaces/elements._internal_.StyleDefaults-4.html +4 -3
  95. package/wdtsdoc/interfaces/elements._internal_.StyleDefaults.html +5 -1
  96. package/wdtsdoc/interfaces/elements._internal_.StyleDefaultsCellDefaults.html +11 -8
  97. package/wdtsdoc/interfaces/elements._internal_.TimePicker-2.html +7 -5
  98. package/wdtsdoc/interfaces/elements._internal_.Translations-20.html +27 -19
  99. package/wdtsdoc/interfaces/elements._internal_.Translations-24.html +58 -39
  100. package/wdtsdoc/interfaces/elements._internal_.Translations-48.html +13 -1
  101. package/wdtsdoc/interfaces/elements._internal_.Translations-49.html +3 -1
  102. package/wdtsdoc/interfaces/elements._internal_.Translations-7.html +8 -2
  103. package/wdtsdoc/interfaces/elements._internal_.Translations.html +5 -2
  104. package/wdtsdoc/interfaces/elements._internal_.ValueFormatsLabel.html +5 -1
  105. package/wdtsdoc/interfaces/{index._internal_.CapabilitiesConfiguration.html → index.DriverConfiguration.html} +4 -4
  106. package/wdtsdoc/interfaces/index._internal_.BufferConstructor.html +1 -1
  107. package/wdtsdoc/interfaces/index._internal_.ZlibOptions.html +1 -1
  108. package/wdtsdoc/modules/index._internal_.html +0 -1
  109. package/wdtsdoc/modules/index.html +2 -1
  110. package/lib/version-check.d.ts +0 -11
  111. package/lib/version-check.js +0 -32
  112. package/lib/version-check.js.map +0 -1
  113. package/src/lib/version-check.ts +0 -38
@@ -71,7 +71,7 @@ export interface ScrollPosition {
71
71
  /**
72
72
  * The key of the item. If DataProvider is used for data and the key does not exist in the DataProvider or if the item has not been fetched yet, then the value is ignored.
73
73
  */
74
- key: any;
74
+ key: string | number;
75
75
  /**
76
76
  * The vertical offset in pixels relative to the item identified by key.
77
77
  */
@@ -79,5 +79,5 @@ export interface ScrollPosition {
79
79
  /**
80
80
  * The key of the parent if tree data.
81
81
  */
82
- parentKey: any;
82
+ parentKey: string | number;
83
83
  }
@@ -5,4 +5,27 @@ import { OjTabBarBase } from './OjTabBarBase';
5
5
  * [ojTabBar](../functions/elements.ojTabBar-1.html).
6
6
  */
7
7
  export declare class OjTabBar extends OjTabBarBase {
8
+ /**
9
+ * Remove a tab specific by the key
10
+ * @param key key of the tab to be removed
11
+ * If the key is not found, an error will be thrown
12
+ * @override
13
+ * @typeparam K Type of keys
14
+ */
15
+ doRemove<K>(key: K): Promise<void>;
16
+ /**
17
+ * Moves tab specified by key then put the tab to the specified place
18
+ * @param key key of the tab to be reordered
19
+ * If the key is not found, an error will be thrown
20
+ * @param position the index or the key of the tab that user want to move in front of, if the key is null, the tab will move to the end of the tab bar
21
+ * If the key or the index of the position is not found, an error will be thrown
22
+ * @override
23
+ * @typeparam K Type of keys
24
+ * @typeparam number Type of index
25
+ */
26
+ doReorder<K>(key: K, position: {
27
+ index: number;
28
+ } | {
29
+ key: K | null;
30
+ }): Promise<void>;
8
31
  }
@@ -1,13 +1,54 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OjTabBar = void 0;
4
+ const selenium_webdriver_1 = require("selenium-webdriver");
4
5
  const OjTabBarBase_1 = require("./OjTabBarBase");
6
+ const oj_module_proxy_1 = require("../../lib/oj-module-proxy");
5
7
  /**
6
8
  * The component WebElement for [oj-tab-bar](../../jsdocs/oj.ojTabBar.html).
7
9
  * Do not instantiate this class directly, instead, use
8
10
  * [ojTabBar](../functions/elements.ojTabBar-1.html).
9
11
  */
10
12
  class OjTabBar extends OjTabBarBase_1.OjTabBarBase {
13
+ /**
14
+ * Remove a tab specific by the key
15
+ * @param key key of the tab to be removed
16
+ * If the key is not found, an error will be thrown
17
+ * @override
18
+ * @typeparam K Type of keys
19
+ */
20
+ async doRemove(key) {
21
+ await this.whenReady();
22
+ const tab = await this.getDriver().executeScript((ele, key) => ele.getNodeBySubId({ subId: 'oj-tabbar-item', key }), this, key);
23
+ if (tab != null) {
24
+ await (0, oj_module_proxy_1.executeWithModules)(this.getDriver(), ['CustomElementUtils'], [this, tab], ({ getElementBridge }, element, tab) => {
25
+ const bridge = getElementBridge(element);
26
+ const widget = bridge._WIDGET_INSTANCE;
27
+ return widget.navlist._fireRemoveEvent(null, [tab]);
28
+ });
29
+ }
30
+ else {
31
+ return Promise.reject(new selenium_webdriver_1.error.InvalidArgumentError(`Tab with specified key cannot be found`));
32
+ }
33
+ }
34
+ /**
35
+ * Moves tab specified by key then put the tab to the specified place
36
+ * @param key key of the tab to be reordered
37
+ * If the key is not found, an error will be thrown
38
+ * @param position the index or the key of the tab that user want to move in front of, if the key is null, the tab will move to the end of the tab bar
39
+ * If the key or the index of the position is not found, an error will be thrown
40
+ * @override
41
+ * @typeparam K Type of keys
42
+ * @typeparam number Type of index
43
+ */
44
+ async doReorder(key, position) {
45
+ await this.whenReady();
46
+ await (0, oj_module_proxy_1.executeWithModules)(this.getDriver(), ['CustomElementUtils'], [this, key, position], ({ getElementBridge }, element, key, position) => {
47
+ const bridge = getElementBridge(element);
48
+ const widget = bridge._WIDGET_INSTANCE;
49
+ return widget.navlist._doReorderHelper(null, key, position);
50
+ });
51
+ }
11
52
  }
12
53
  exports.OjTabBar = OjTabBar;
13
54
  //# sourceMappingURL=OjTabBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OjTabBar.js","sourceRoot":"","sources":["../../src/elements/oj-tab-bar/OjTabBar.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAE9C;;;;GAIG;AACH,MAAa,QAAS,SAAQ,2BAAY;CAEzC;AAFD,4BAEC"}
1
+ {"version":3,"file":"OjTabBar.js","sourceRoot":"","sources":["../../src/elements/oj-tab-bar/OjTabBar.ts"],"names":[],"mappings":";;;AAAA,2DAAuD;AACvD,iDAA8C;AAC9C,+DAA+D;AAE/D;;;;GAIG;AACH,MAAa,QAAS,SAAQ,2BAAY;IACxC;;;;;;OAMG;IACH,KAAK,CAAC,QAAQ,CAAI,GAAM;QACtB,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,aAAa,CAC9C,CAAC,GAAQ,EAAE,GAAM,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,EAC1E,IAAI,EACJ,GAAG,CACJ,CAAC;QACF,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YAChB,MAAM,IAAA,oCAAkB,EACtB,IAAI,CAAC,SAAS,EAAE,EAChB,CAAC,oBAAoB,CAAC,EACtB,CAAC,IAAI,EAAE,GAAG,CAAC,EACX,CAAC,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE;gBACrC,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBACzC,MAAM,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC;gBACvC,OAAO,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACtD,CAAC,CACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,0BAAK,CAAC,oBAAoB,CAAC,wCAAwC,CAAC,CACzE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,SAAS,CAAI,GAAM,EAAE,QAA+C;QACxE,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,IAAA,oCAAkB,EACtB,IAAI,CAAC,SAAS,EAAE,EAChB,CAAC,oBAAoB,CAAC,EACtB,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,EACrB,CAAC,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE;YAC/C,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC;YACvC,OAAO,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC9D,CAAC,CACF,CAAC;IACJ,CAAC;CACF;AAxDD,4BAwDC"}
@@ -131,11 +131,31 @@ export interface Translations {
131
131
  * @deprecated Since 18.0.0. The Redwood design system does not allow this to be customized.
132
132
  */
133
133
  accessibleReorderTouchInstructionText: string;
134
+ /**
135
+ * Provides properties to customize the default context menu item's aria-label
136
+ * @deprecated Since 19.0.0. The Redwood design system does not allow this to be customized.
137
+ */
138
+ labelActions: string;
139
+ /**
140
+ * The context menu description text used for aria describedby by tabbar.
141
+ * @deprecated Since 19.0.0. The Redwood design system does not allow this to be customized.
142
+ */
143
+ labelContextMenu: string;
134
144
  /**
135
145
  * Provides properties to customize the context menu cut label.
136
146
  * @deprecated Since 18.0.0. The Redwood design system does not allow this to be customized.
137
147
  */
138
148
  labelCut: string;
149
+ /**
150
+ * The context menu move left label.
151
+ * @deprecated Since 19.0.0. The Redwood design system does not allow this to be customized.
152
+ */
153
+ labelMoveLeft: string;
154
+ /**
155
+ * The context menu move right label.
156
+ * @deprecated Since 19.0.0. The Redwood design system does not allow this to be customized.
157
+ */
158
+ labelMoveRight: string;
139
159
  /**
140
160
  * Provides properties to customize the context menu paste after label.
141
161
  * @deprecated Since 18.0.0. The Redwood design system does not allow this to be customized.
@@ -482,6 +482,10 @@ export interface DndDropRows {
482
482
  * A data type or an array of data types this element can accept.
483
483
  */
484
484
  dataTypes: string | Array<string>;
485
+ /**
486
+ * The drop positions this Table supports. Default is ['before'].
487
+ */
488
+ positions: Array<unknown | unknown>;
485
489
  }
486
490
  export interface DndReorder {
487
491
  /**
@@ -768,4 +772,8 @@ export interface Translations {
768
772
  * Used for the default required icon tooltip.
769
773
  */
770
774
  tooltipRequired: string;
775
+ /**
776
+ * Used for the separators in the default header tooltip.
777
+ */
778
+ tooltipSeparator: string;
771
779
  }
@@ -284,10 +284,12 @@ export interface Areas {
284
284
  shortDesc: string | null;
285
285
  /**
286
286
  * The CSS style class defining the style of the area.
287
+ * @deprecated Since 19.0.0. The svgClassName property is deprecated. This API is not recommended in Redwood theme. Use other customization APIs where appropriate.
287
288
  */
288
289
  svgClassName: string;
289
290
  /**
290
291
  * The CSS style object defining the style of the area. Only SVG CSS style properties are supported.
292
+ * @deprecated Since 19.0.0. The svgStyle property is deprecated. This API is not recommended in Redwood theme. Use other customization APIs where appropriate.
291
293
  */
292
294
  svgStyle: object;
293
295
  }
@@ -322,10 +324,12 @@ export interface Links {
322
324
  startLocation: LinksStartLocation;
323
325
  /**
324
326
  * The CSS style class defining the style of the link.
327
+ * @deprecated Since 19.0.0. The svgClassName property is deprecated. This API is not recommended in Redwood theme. Use other customization APIs where appropriate.
325
328
  */
326
329
  svgClassName: string;
327
330
  /**
328
331
  * The CSS style object defining the style of the link. Only SVG CSS style properties are supported.
332
+ * @deprecated Since 19.0.0. The svgStyle property is deprecated. This API is not recommended in Redwood theme. Use other customization APIs where appropriate.
329
333
  */
330
334
  svgStyle: object;
331
335
  /**
@@ -343,11 +347,11 @@ export interface LinksEndLocation {
343
347
  */
344
348
  location: string;
345
349
  /**
346
- * The x coordinate which can represent latitude of the end point.
350
+ * The x coordinate which can represent longitude of the end point.
347
351
  */
348
352
  x: number;
349
353
  /**
350
- * The y coordinate which can represent longitude of the end point.
354
+ * The y coordinate which can represent latitude of the end point.
351
355
  */
352
356
  y: number;
353
357
  }
@@ -361,11 +365,11 @@ export interface LinksStartLocation {
361
365
  */
362
366
  location: string;
363
367
  /**
364
- * The x coordinate which can represent latitude of the start point.
368
+ * The x coordinate which can represent longitude of the start point.
365
369
  */
366
370
  x: number;
367
371
  /**
368
- * The y coordinate which can represent longitude of the start point.
372
+ * The y coordinate which can represent latitude of the start point.
369
373
  */
370
374
  y: number;
371
375
  }
@@ -476,10 +480,12 @@ export interface Markers {
476
480
  sourceSelected: string;
477
481
  /**
478
482
  * The CSS style class defining the style of the marker.
483
+ * @deprecated Since 19.0.0. The svgClassName property is deprecated. This API is not recommended in Redwood theme. Use other customization APIs where appropriate.
479
484
  */
480
485
  svgClassName: string;
481
486
  /**
482
487
  * The CSS style object defining the style of the marker. Only SVG CSS style properties are supported.
488
+ * @deprecated Since 19.0.0. The svgStyle property is deprecated. This API is not recommended in Redwood theme. Use other customization APIs where appropriate.
483
489
  */
484
490
  svgStyle: object;
485
491
  /**
@@ -502,6 +508,7 @@ export interface Markers {
502
508
  export interface StyleDefaults {
503
509
  /**
504
510
  * The CSS style object defining the style of the area layer areas.
511
+ * @deprecated Since 19.0.0. The areaSvgStyle property is deprecated. This API is not recommended in Redwood theme. Use other customization APIs where appropriate.
505
512
  */
506
513
  areaSvgStyle: object;
507
514
  /**
@@ -201,6 +201,7 @@ export interface MajorAxis {
201
201
  scale: string;
202
202
  /**
203
203
  * The CSS style object defining any additional styling of the major axis.
204
+ * @deprecated Since 19.0.0. The svgStyle property is deprecated. This API is not recommended in Redwood theme. Use other customization APIs where appropriate.
204
205
  */
205
206
  svgStyle: object;
206
207
  }
@@ -253,6 +254,7 @@ export interface MinorAxis {
253
254
  scale: string;
254
255
  /**
255
256
  * The CSS style object defining any additional styling of the minor axis.
257
+ * @deprecated Since 19.0.0. The svgStyle property is deprecated. This API is not recommended in Redwood theme. Use other customization APIs where appropriate.
256
258
  */
257
259
  svgStyle: object;
258
260
  /**
@@ -305,6 +307,7 @@ export interface Overview {
305
307
  rendered: string;
306
308
  /**
307
309
  * The CSS style object defining any additional styling of the overview.
310
+ * @deprecated Since 19.0.0. The svgStyle property is deprecated. This API is not recommended in Redwood theme. Use other customization APIs where appropriate.
308
311
  */
309
312
  svgStyle: object;
310
313
  }
@@ -6,6 +6,13 @@ import { OjWebElement } from '../';
6
6
  * Put overrides into the WebElements's subclass, OjWaterfallLayout.ts.
7
7
  */
8
8
  export declare class OjWaterfallLayoutBase extends OjWebElement {
9
+ /**
10
+ * Gets the value of <code>cardSizing</code> property.
11
+ * Specifies whether the card size stays the same or can change dynamically during runtime. See the Help documentation for more information.
12
+ * @return The value of <code>cardSizing</code> property.
13
+ *
14
+ */
15
+ getCardSizing(): Promise<string>;
9
16
  /**
10
17
  * Gets the value of <code>scrollPolicy</code> property.
11
18
  * Specifies how data are fetched as user scrolls towards the bottom of the grid.
@@ -57,7 +64,7 @@ export interface ScrollPosition {
57
64
  /**
58
65
  * The key of the item. If DataProvider is used for data and the key does not exist in the DataProvider or if the item has not been fetched yet, then the value is ignored.
59
66
  */
60
- key: any;
67
+ key: string | number;
61
68
  /**
62
69
  * The vertical offset in pixels relative to the item identified by key.
63
70
  */
@@ -9,6 +9,15 @@ const __1 = require("../");
9
9
  * Put overrides into the WebElements's subclass, OjWaterfallLayout.ts.
10
10
  */
11
11
  class OjWaterfallLayoutBase extends __1.OjWebElement {
12
+ /**
13
+ * Gets the value of <code>cardSizing</code> property.
14
+ * Specifies whether the card size stays the same or can change dynamically during runtime. See the Help documentation for more information.
15
+ * @return The value of <code>cardSizing</code> property.
16
+ *
17
+ */
18
+ getCardSizing() {
19
+ return this.getProperty('cardSizing');
20
+ }
12
21
  /**
13
22
  * Gets the value of <code>scrollPolicy</code> property.
14
23
  * Specifies how data are fetched as user scrolls towards the bottom of the grid.
@@ -1 +1 @@
1
- {"version":3,"file":"OjWaterfallLayoutBase.js","sourceRoot":"","sources":["../../src/elements/oj-waterfall-layout/OjWaterfallLayoutBase.ts"],"names":[],"mappings":";;;AAAA,2BAAmC;AAEnC;;;;;GAKG;AACH,MAAa,qBAAsB,SAAQ,gBAAY;IACrD;;;;;OAKG;IACI,eAAe;QACpB,OAAO,IAAI,CAAC,WAAW,CAAS,cAAc,CAAC,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACI,sBAAsB;QAC3B,OAAO,IAAI,CAAC,WAAW,CAAsB,qBAAqB,CAAC,CAAC;IACtE,CAAC;IAED;;;;;OAKG;IACI,oBAAoB,CAAC,cAA8B;QACxD,OAAO,IAAI,CAAC,WAAW,CAAiB,gBAAgB,EAAE,cAAc,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;OAKG;IACI,iBAAiB;QACtB,OAAO,IAAI,CAAC,WAAW,CAAiB,gBAAgB,CAAC,CAAC;IAC5D,CAAC;CACF;AAxCD,sDAwCC"}
1
+ {"version":3,"file":"OjWaterfallLayoutBase.js","sourceRoot":"","sources":["../../src/elements/oj-waterfall-layout/OjWaterfallLayoutBase.ts"],"names":[],"mappings":";;;AAAA,2BAAmC;AAEnC;;;;;GAKG;AACH,MAAa,qBAAsB,SAAQ,gBAAY;IACrD;;;;;OAKG;IACI,aAAa;QAClB,OAAO,IAAI,CAAC,WAAW,CAAS,YAAY,CAAC,CAAC;IAChD,CAAC;IAED;;;;;OAKG;IACI,eAAe;QACpB,OAAO,IAAI,CAAC,WAAW,CAAS,cAAc,CAAC,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACI,sBAAsB;QAC3B,OAAO,IAAI,CAAC,WAAW,CAAsB,qBAAqB,CAAC,CAAC;IACtE,CAAC;IAED;;;;;OAKG;IACI,oBAAoB,CAAC,cAA8B;QACxD,OAAO,IAAI,CAAC,WAAW,CAAiB,gBAAgB,EAAE,cAAc,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;OAKG;IACI,iBAAiB;QACtB,OAAO,IAAI,CAAC,WAAW,CAAiB,gBAAgB,CAAC,CAAC;IAC5D,CAAC;CACF;AAlDD,sDAkDC"}
package/index.d.ts CHANGED
@@ -3,16 +3,13 @@
3
3
  */
4
4
  import { By, Condition, Locator, WebDriver, WebElement, WebElementPromise } from 'selenium-webdriver';
5
5
  import { MarshalableRequestInfo, MarshalableRequestInit, MarshalableResponseInfo, MarshaledResponse } from './lib/OjFetch';
6
- import { Expectation } from './lib/Expectation';
7
- import * as sm from './lib/ScreenshotManager';
8
6
  import { assertViewModelValue } from './lib/viewmodel-utils';
9
7
  export { fetchKeyByFilter } from './lib/dataprovider-utils';
10
- export { DriverManager } from './lib/driver-manager';
8
+ export { DriverManager, type DriverConfiguration } from './lib/driver-manager';
11
9
  export { register } from './lib/driver-override';
12
- export type { SlotProxy } from './lib/slot-proxy';
13
- export { slotProxy } from './lib/slot-proxy';
14
- export { sm as ScreenshotManager };
15
- export { Expectation };
10
+ export { type SlotProxy, slotProxy } from './lib/slot-proxy';
11
+ export * as ScreenshotManager from './lib/ScreenshotManager';
12
+ export { Expectation } from './lib/Expectation';
16
13
  /**
17
14
  * This interface describes the functions that are needed from the driver object
18
15
  * passed to the factory functions in this utility. This allows tests to pass
package/index.js CHANGED
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.Expectation = exports.ScreenshotManager = exports.slotProxy = exports.register = exports.DriverManager = exports.fetchKeyByFilter = void 0;
4
37
  /**
@@ -6,16 +39,9 @@ exports.Expectation = exports.ScreenshotManager = exports.slotProxy = exports.re
6
39
  */
7
40
  const selenium_webdriver_1 = require("selenium-webdriver");
8
41
  const OjFetch_1 = require("./lib/OjFetch");
9
- const version_check_1 = require("./lib/version-check");
10
- const Expectation_1 = require("./lib/Expectation");
11
- Object.defineProperty(exports, "Expectation", { enumerable: true, get: function () { return Expectation_1.Expectation; } });
12
- const sm = require("./lib/ScreenshotManager");
13
- exports.ScreenshotManager = sm;
14
42
  const busy_context_utils_1 = require("./lib/busy-context-utils");
15
43
  const viewmodel_utils_1 = require("./lib/viewmodel-utils");
16
44
  const no_require_jet_1 = require("./lib/no-require-jet");
17
- // Export register function before importing elements so that they can
18
- // call it to register themselves
19
45
  var dataprovider_utils_1 = require("./lib/dataprovider-utils");
20
46
  Object.defineProperty(exports, "fetchKeyByFilter", { enumerable: true, get: function () { return dataprovider_utils_1.fetchKeyByFilter; } });
21
47
  var driver_manager_1 = require("./lib/driver-manager");
@@ -24,6 +50,9 @@ var driver_override_1 = require("./lib/driver-override");
24
50
  Object.defineProperty(exports, "register", { enumerable: true, get: function () { return driver_override_1.register; } });
25
51
  var slot_proxy_1 = require("./lib/slot-proxy");
26
52
  Object.defineProperty(exports, "slotProxy", { enumerable: true, get: function () { return slot_proxy_1.slotProxy; } });
53
+ exports.ScreenshotManager = __importStar(require("./lib/ScreenshotManager"));
54
+ var Expectation_1 = require("./lib/Expectation");
55
+ Object.defineProperty(exports, "Expectation", { enumerable: true, get: function () { return Expectation_1.Expectation; } });
27
56
  /**
28
57
  * The test utility object for JET component WebElements. This object contains
29
58
  * all of the factory functions needed to create the component WebElements, plus,
@@ -56,12 +85,11 @@ const ojwd = {
56
85
  const timeouts = await driver.manage().getTimeouts();
57
86
  try {
58
87
  await driver.wait((0, busy_context_utils_1.pageReady)(), timeouts.pageLoad);
59
- await (0, version_check_1.checkVersions)(driver);
60
88
  }
61
89
  catch (ex) {
62
90
  if (ex instanceof selenium_webdriver_1.error.TimeoutError || ex instanceof selenium_webdriver_1.error.ScriptTimeoutError) {
63
91
  const openStates = await (0, busy_context_utils_1.getBusyStates)(driver);
64
- ex.message += ` - open busy states: ${openStates}`;
92
+ ex.message += `\nBusy states: ${openStates}`;
65
93
  }
66
94
  throw ex;
67
95
  }
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,2DAQ4B;AAE5B,2CAMuB;AAEvB,uDAAoD;AACpD,mDAAgD;AAcvC,4FAdA,yBAAW,OAcA;AAbpB,8CAA8C;AAY/B,+BAAiB;AAXhC,iEAAoE;AACpE,2DAA6D;AAC7D,yDAAuE;AAEvE,sEAAsE;AACtE,iCAAiC;AACjC,+DAA4D;AAAnD,sHAAA,gBAAgB,OAAA;AACzB,uDAAqD;AAA5C,+GAAA,aAAa,OAAA;AACtB,yDAAiD;AAAxC,2GAAA,QAAQ,OAAA;AAEjB,+CAA6C;AAApC,uGAAA,SAAS,OAAA;AAiClB;;;;;;;;GAQG;AACH,MAAM,IAAI,GAAG;IACX;;;;OAIG;IACH,YAAY,EAAE,KAAK;IACnB;;;;;;;;;;OAUG;IACH,KAAK,CAAC,GAAG,CAAC,MAAiB,EAAE,GAAW;QACtC,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,IAAA,8BAAS,GAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,IAAA,6BAAa,EAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACZ,IAAI,EAAE,YAAY,0BAAK,CAAC,YAAY,IAAI,EAAE,YAAY,0BAAK,CAAC,kBAAkB,EAAE,CAAC;gBAC/E,MAAM,UAAU,GAAG,MAAM,IAAA,kCAAa,EAAC,MAAM,CAAC,CAAC;gBAC/C,EAAE,CAAC,OAAO,IAAI,wBAAwB,UAAU,EAAE,CAAC;YACrD,CAAC;YACD,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC;IACD;;;;;;;;;;;OAWG;IACH,SAAS;QACP,OAAO,CAAC,IAAI,CACV,qEAAqE;YACnE,sEAAsE,CACzE,CAAC;QACF,OAAO,IAAA,8BAAS,GAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuGG;IACH,KAAK,CAAC,KAAK,CACT,MAAiB,EACjB,WAAmC,EACnC,YAAqC,EACrC,IAA6B;QAE7B,IAAI,OAAO,GAAY,IAAI,iBAAO,EAAE,CAAC;QACrC,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,kBAAkB,CAAC,MAAkB,EAAE,EAAM;QACjD,yDAAyD;QACzD,OAAO,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,oBAAoB,EAApB,sCAAoB;CACrB,CAAC;AAEF,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE;IAC5B;;OAEG;IACH,YAAY,EAAE;QACZ,GAAG,EAAE,UAAU,CAAC;YACd,IAAI,IAAA,+BAAc,GAAE,KAAK,SAAS,EAAE,CAAC;gBACnC,IAAA,gCAAe,EAAC,CAAC,CAAC,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QACD,GAAG,EAAE,+BAAc;QACnB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,KAAK;KACpB;CACF,CAAC,CAAC;AAEH,kBAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,2DAQ4B;AAE5B,2CAMuB;AAEvB,iEAAoE;AACpE,2DAA6D;AAC7D,yDAAuE;AAEvE,+DAA4D;AAAnD,sHAAA,gBAAgB,OAAA;AACzB,uDAA+E;AAAtE,+GAAA,aAAa,OAAA;AACtB,yDAAiD;AAAxC,2GAAA,QAAQ,OAAA;AACjB,+CAA6D;AAApC,uGAAA,SAAS,OAAA;AAClC,6EAA6D;AAC7D,iDAAgD;AAAvC,0GAAA,WAAW,OAAA;AA+BpB;;;;;;;;GAQG;AACH,MAAM,IAAI,GAAG;IACX;;;;OAIG;IACH,YAAY,EAAE,KAAK;IACnB;;;;;;;;;;OAUG;IACH,KAAK,CAAC,GAAG,CAAC,MAAiB,EAAE,GAAW;QACtC,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,IAAA,8BAAS,GAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACZ,IAAI,EAAE,YAAY,0BAAK,CAAC,YAAY,IAAI,EAAE,YAAY,0BAAK,CAAC,kBAAkB,EAAE,CAAC;gBAC/E,MAAM,UAAU,GAAG,MAAM,IAAA,kCAAa,EAAC,MAAM,CAAC,CAAC;gBAC/C,EAAE,CAAC,OAAO,IAAI,kBAAkB,UAAU,EAAE,CAAC;YAC/C,CAAC;YACD,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC;IACD;;;;;;;;;;;OAWG;IACH,SAAS;QACP,OAAO,CAAC,IAAI,CACV,qEAAqE;YACnE,sEAAsE,CACzE,CAAC;QACF,OAAO,IAAA,8BAAS,GAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuGG;IACH,KAAK,CAAC,KAAK,CACT,MAAiB,EACjB,WAAmC,EACnC,YAAqC,EACrC,IAA6B;QAE7B,IAAI,OAAO,GAAY,IAAI,iBAAO,EAAE,CAAC;QACrC,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,kBAAkB,CAAC,MAAkB,EAAE,EAAM;QACjD,yDAAyD;QACzD,OAAO,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,oBAAoB,EAApB,sCAAoB;CACrB,CAAC;AAEF,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE;IAC5B;;OAEG;IACH,YAAY,EAAE;QACZ,GAAG,EAAE,UAAU,CAAC;YACd,IAAI,IAAA,+BAAc,GAAE,KAAK,SAAS,EAAE,CAAC;gBACnC,IAAA,gCAAe,EAAC,CAAC,CAAC,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QACD,GAAG,EAAE,+BAAc;QACnB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,KAAK;KACpB;CACF,CAAC,CAAC;AAEH,kBAAe,IAAI,CAAC"}
@@ -1,10 +1,43 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.create = create;
4
37
  exports.get = get;
5
38
  exports.set = set;
6
- const fs = require("fs");
7
- const path = require("path");
39
+ const fs = __importStar(require("fs"));
40
+ const path = __importStar(require("path"));
8
41
  /**
9
42
  * This implementation of ScreenshotManager Interface will not take any screenshot
10
43
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ScreenshotManager.js","sourceRoot":"","sources":["../src/lib/ScreenshotManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScreenshotManager.js","sourceRoot":"","sources":["../src/lib/ScreenshotManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwKA,wBAMC;AAMD,kBAEC;AAMD,kBAEC;AA9LD,uCAAyB;AACzB,2CAA6B;AAqC7B;;GAEG;AACH,MAAM,qBAAqB;IACzB,UAAU,KAAU,CAAC;IACrB,SAAS,KAAU,CAAC;IACpB,qBAAqB;QACnB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,qBAAqB;IAIzB;;;;OAIG;IACK,iBAAiB,CAAC,IAAY;QACpC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAC9C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,YAAY,cAAsB;QAjB1B,wBAAmB,GAAW,EAAE,CAAC;QAkBvC,IAAI,oBAAoB,GAAG,cAAc,CAAC;QAC1C,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC;gBAAE,EAAE,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAC/E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,oBAAoB,GAAG,IAAI,CAAC,GAAG,GAAG,aAAa,CAAC;QACvE,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC;gBAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC/E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,SAAiB,EAAE,QAAgB;QAC5C,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,MAAM,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC;QACtD,IAAI,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QAEjC,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;gBAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,MAAe;QACvB,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,IAAI,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC;gBAC3C,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC/B,IAAI,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;oBACxC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;wBACxB,EAAE,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC;oBAClD,CAAC,CAAC,CAAC;oBACH,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,qBAAqB,CAAC,eAAgC,EAAE,IAAY;QACxE,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC3C,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,IAAI,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YACxC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACxB,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAAE,OAAO,EAAE,CAAC;YACxC,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,cAAc,EAAE,CAAC;YAC7D,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,EAC7D,aAAa,EACb,QAAQ,CACT,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF;AAED,iEAAiE;AAEjE,IAAI,eAAe,GAAsB,IAAI,qBAAqB,EAAE,CAAC;AAErE;;;GAGG;AACH,SAAgB,MAAM,CAAC,cAAsB;IAC3C,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,IAAI,qBAAqB,CAAC,cAAc,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,qBAAqB,EAAE,CAAC;IACrC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,GAAG;IACjB,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,SAAgB,GAAG,CAAC,iBAAoC;IACtD,eAAe,GAAG,iBAAiB,CAAC;AACtC,CAAC"}
@@ -10,6 +10,7 @@ export declare const getBusyStates: (driver: WebDriver) => Promise<string>;
10
10
  * Returns a Promise that is resolved when the application's busy
11
11
  * state reports ready or the page is not a JET page (RequireJS
12
12
  * or ojs/ojcontext module not available).
13
+ * This method also checks that the JET UI version matches oraclejet-webdriver
13
14
  * @private
14
15
  * @param driver WebDriver instance
15
16
  * @return A Promise which is resolved to true when the
@@ -4,6 +4,8 @@ exports.whenBusyContextReady = exports.getBusyStates = void 0;
4
4
  exports.pageReady = pageReady;
5
5
  const selenium_webdriver_1 = require("selenium-webdriver");
6
6
  const oj_module_proxy_1 = require("./oj-module-proxy");
7
+ // the relative path to package.json is correct when run from dist/ folder
8
+ const wdPkg = require('../package.json');
7
9
  /**
8
10
  * Get open busy state descriptions from the page context
9
11
  * @private
@@ -13,7 +15,7 @@ const oj_module_proxy_1 = require("./oj-module-proxy");
13
15
  const getBusyStates = async (driver) => {
14
16
  const hasProxy = await driver.executeScript(`return '${oj_module_proxy_1.TEST_OBJ_NAME}' in window`);
15
17
  if (hasProxy) {
16
- return (0, oj_module_proxy_1.executeWithModules)(driver, ['BusyContext'], [], (BusyContext) => BusyContext.getBusyStates().map((state) => state.description)).catch((ex) => ex.message);
18
+ return (0, oj_module_proxy_1.executeWithModules)(driver, ['BusyContext'], [], (BusyContext) => BusyContext.getBusyStates().map((state) => `${state.description}${state.stack ? '\n' + state.stack : ''}`)).catch((ex) => ex.message);
17
19
  }
18
20
  return '';
19
21
  };
@@ -22,17 +24,35 @@ exports.getBusyStates = getBusyStates;
22
24
  * Returns a Promise that is resolved when the application's busy
23
25
  * state reports ready or the page is not a JET page (RequireJS
24
26
  * or ojs/ojcontext module not available).
27
+ * This method also checks that the JET UI version matches oraclejet-webdriver
25
28
  * @private
26
29
  * @param driver WebDriver instance
27
30
  * @return A Promise which is resolved to true when the
28
31
  * page's busy state is ready or to false when it is not a JET page.
29
32
  */
30
33
  const whenBusyContextReady = async (driver) => {
31
- return (0, oj_module_proxy_1.executeWithModules)(driver, ['BusyContext'], [], (BusyContext) => BusyContext.whenReady()).catch(async (ex) => {
34
+ return (0, oj_module_proxy_1.executeWithModules)(driver, ['BusyContext', 'Core'], [{ version: wdPkg.version, revision: wdPkg.config.revision }], (BusyContext, Core, { version, revision }) => {
35
+ // inline the version-check to avoid additional timing changes with making another
36
+ // remote script call
37
+ if (
38
+ // Check if not local build (running from JET repo)
39
+ !revision.match(/^#@@oj\.revision@@#$|^local:/) &&
40
+ // or version mismatch
41
+ (version !== Core.version || revision !== Core.revision)) {
42
+ throw Error(`version mismatch: oraclejet ${JSON.stringify({
43
+ version: Core.version,
44
+ revision: Core.revision
45
+ })}, oraclejet-webdriver ${JSON.stringify({ version, revision })}`);
46
+ }
47
+ return BusyContext.whenReady();
48
+ }).catch(async (ex) => {
32
49
  if (ex instanceof selenium_webdriver_1.error.TimeoutError || ex instanceof selenium_webdriver_1.error.ScriptTimeoutError) {
33
50
  const openStates = await (0, exports.getBusyStates)(driver);
34
51
  throw Error(`BusyContext.whenReady() timed out: ${ex.message}\nBusy states: ${openStates}`);
35
52
  }
53
+ else if (ex.message?.indexOf('version mismatch:') > -1) {
54
+ throw ex;
55
+ }
36
56
  else {
37
57
  // unexpected error which is just reported as a warning below
38
58
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"busy-context-utils.js","sourceRoot":"","sources":["../src/lib/busy-context-utils.ts"],"names":[],"mappings":";;;AA6CA,8BAcC;AA3DD,2DAAiE;AACjE,uDAAsE;AAEtE;;;;;GAKG;AACI,MAAM,aAAa,GAAG,KAAK,EAAE,MAAiB,EAAmB,EAAE;IACxE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,CAAU,WAAW,+BAAa,aAAa,CAAC,CAAC;IAC5F,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,IAAA,oCAAkB,EAAS,MAAM,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,CAC7E,WAAW,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,KAA8B,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CACvF,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AARW,QAAA,aAAa,iBAQxB;AAEF;;;;;;;;GAQG;AACI,MAAM,oBAAoB,GAAG,KAAK,EAAE,MAAiB,EAAoB,EAAE;IAChF,OAAO,IAAA,oCAAkB,EAAU,MAAM,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,CAC9E,WAAW,CAAC,SAAS,EAAE,CACxB,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QACnB,IAAI,EAAE,YAAY,0BAAK,CAAC,YAAY,IAAI,EAAE,YAAY,0BAAK,CAAC,kBAAkB,EAAE,CAAC;YAC/E,MAAM,UAAU,GAAG,MAAM,IAAA,qBAAa,EAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,KAAK,CAAC,sCAAsC,EAAE,CAAC,OAAO,kBAAkB,UAAU,EAAE,CAAC,CAAC;QAC9F,CAAC;aAAM,CAAC;YACN,6DAA6D;YAC7D,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAZW,QAAA,oBAAoB,wBAY/B;AAEF;;GAEG;AACH,SAAgB,SAAS;IACvB,OAAO,IAAI,8BAAS,CAAmB,gCAAgC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACxF,wDAAwD;QACxD,yDAAyD;QACzD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,aAAa,CAAoC,GAAG,EAAE;YAC9E,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;QAClE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,IAAA,4BAAoB,EAAC,MAAM,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"busy-context-utils.js","sourceRoot":"","sources":["../src/lib/busy-context-utils.ts"],"names":[],"mappings":"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"}