@oracle/oraclejet-webdriver 15.0.4 → 15.1.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 (242) hide show
  1. package/elements/OjWebElement.js +10 -7
  2. package/elements/OjWebElement.js.map +1 -1
  3. package/elements/OjWebElement.ts +7 -8
  4. package/elements/index.js +5 -2
  5. package/elements/index.js.map +1 -1
  6. package/elements/index.ts +1 -0
  7. package/elements/oj-accordion/OjAccordion.js.map +1 -1
  8. package/elements/oj-accordion/OjAccordion.ts +0 -1
  9. package/elements/oj-chart/OjChartBase.js +9 -0
  10. package/elements/oj-chart/OjChartBase.js.map +1 -1
  11. package/elements/oj-chart/OjChartBase.ts +28 -4
  12. package/elements/oj-checkboxset/OjCheckboxset.js.map +1 -1
  13. package/elements/oj-checkboxset/OjCheckboxset.ts +2 -2
  14. package/elements/oj-combobox-many/OjComboboxMany.js.map +1 -1
  15. package/elements/oj-combobox-many/OjComboboxMany.ts +1 -2
  16. package/elements/oj-data-grid/OjDataGrid.js +0 -2
  17. package/elements/oj-data-grid/OjDataGrid.js.map +1 -1
  18. package/elements/oj-data-grid/OjDataGrid.ts +4 -6
  19. package/elements/oj-data-grid/OjDataGridBase.js +18 -0
  20. package/elements/oj-data-grid/OjDataGridBase.js.map +1 -1
  21. package/elements/oj-data-grid/OjDataGridBase.ts +32 -0
  22. package/elements/oj-dialog/OjDialog.js.map +1 -1
  23. package/elements/oj-dialog/OjDialog.ts +0 -2
  24. package/elements/oj-drawer-popup/OjDrawerPopup.js.map +1 -1
  25. package/elements/oj-drawer-popup/OjDrawerPopup.ts +0 -1
  26. package/elements/oj-input-search/OjInputSearch.js.map +1 -1
  27. package/elements/oj-input-search/OjInputSearch.ts +0 -1
  28. package/elements/oj-input-text/OjInputText.js.map +1 -1
  29. package/elements/oj-input-text/OjInputText.ts +0 -2
  30. package/elements/oj-legend/OjLegendBase.js +18 -0
  31. package/elements/oj-legend/OjLegendBase.js.map +1 -1
  32. package/elements/oj-legend/OjLegendBase.ts +22 -0
  33. package/elements/oj-list-view/OjListView.js +3 -8
  34. package/elements/oj-list-view/OjListView.js.map +1 -1
  35. package/elements/oj-list-view/OjListView.ts +3 -8
  36. package/elements/oj-menu/OjMenu.js.map +1 -1
  37. package/elements/oj-menu/OjMenu.ts +1 -1
  38. package/elements/oj-message-banner/OjMessageBanner.js +61 -0
  39. package/elements/oj-message-banner/OjMessageBanner.js.map +1 -0
  40. package/elements/oj-message-banner/OjMessageBanner.ts +65 -0
  41. package/elements/oj-message-banner/OjMessageBannerBase.js +32 -0
  42. package/elements/oj-message-banner/OjMessageBannerBase.js.map +1 -0
  43. package/elements/oj-message-banner/OjMessageBannerBase.ts +29 -0
  44. package/elements/oj-message-banner/index.js +34 -0
  45. package/elements/oj-message-banner/index.js.map +1 -0
  46. package/elements/oj-message-banner/index.ts +34 -0
  47. package/elements/oj-navigation-list/OjNavigationList.js +3 -6
  48. package/elements/oj-navigation-list/OjNavigationList.js.map +1 -1
  49. package/elements/oj-navigation-list/OjNavigationList.ts +10 -11
  50. package/elements/oj-radioset/OjRadioset.js.map +1 -1
  51. package/elements/oj-radioset/OjRadioset.ts +1 -1
  52. package/elements/oj-select-many/OjSelectMany.js.map +1 -1
  53. package/elements/oj-select-many/OjSelectMany.ts +1 -2
  54. package/elements/oj-stream-list/OjStreamList.js.map +1 -1
  55. package/elements/oj-stream-list/OjStreamList.ts +0 -1
  56. package/elements/oj-switch/OjSwitch.ts +1 -1
  57. package/elements/oj-table/OjTable.js +25 -20
  58. package/elements/oj-table/OjTable.js.map +1 -1
  59. package/elements/oj-table/OjTable.ts +25 -21
  60. package/elements/oj-text-area/OjTextArea.js.map +1 -1
  61. package/elements/oj-text-area/OjTextArea.ts +0 -1
  62. package/lib/OjFetch.js +11 -18
  63. package/lib/OjFetch.js.map +1 -1
  64. package/lib/OjFetch.ts +15 -20
  65. package/lib/ScreenshotManager.js +5 -11
  66. package/lib/ScreenshotManager.js.map +1 -1
  67. package/lib/ScreenshotManager.ts +5 -11
  68. package/lib/driver-manager.js +15 -8
  69. package/lib/driver-manager.js.map +1 -1
  70. package/lib/driver-manager.ts +18 -10
  71. package/lib/driver-override.js +3 -2
  72. package/lib/driver-override.js.map +1 -1
  73. package/lib/driver-override.ts +11 -10
  74. package/lib/slot-proxy.js +24 -12
  75. package/lib/slot-proxy.js.map +1 -1
  76. package/lib/slot-proxy.ts +27 -15
  77. package/package.json +6 -7
  78. package/wdtsdoc/assets/highlight.css +12 -12
  79. package/wdtsdoc/assets/search.js +1 -1
  80. package/wdtsdoc/classes/elements.OjAccordion.html +5 -3
  81. package/wdtsdoc/classes/elements.OjActionCard.html +5 -3
  82. package/wdtsdoc/classes/elements.OjButton.html +5 -3
  83. package/wdtsdoc/classes/elements.OjButtonsetMany.html +5 -3
  84. package/wdtsdoc/classes/elements.OjButtonsetOne.html +5 -3
  85. package/wdtsdoc/classes/elements.OjChart.html +18 -3
  86. package/wdtsdoc/classes/elements.OjCheckboxset.html +7 -5
  87. package/wdtsdoc/classes/elements.OjCollapsible.html +5 -3
  88. package/wdtsdoc/classes/elements.OjColorPalette.html +5 -3
  89. package/wdtsdoc/classes/elements.OjColorSpectrum.html +5 -3
  90. package/wdtsdoc/classes/elements.OjComboboxMany.html +5 -3
  91. package/wdtsdoc/classes/elements.OjComboboxOne.html +5 -3
  92. package/wdtsdoc/classes/elements.OjConveyorBelt.html +5 -3
  93. package/wdtsdoc/classes/elements.OjDataGrid.html +41 -27
  94. package/wdtsdoc/classes/elements.OjDatePicker.html +5 -3
  95. package/wdtsdoc/classes/elements.OjDateTimePicker.html +5 -3
  96. package/wdtsdoc/classes/elements.OjDiagram.html +5 -3
  97. package/wdtsdoc/classes/elements.OjDialog.html +5 -3
  98. package/wdtsdoc/classes/elements.OjDrawerLayout.html +5 -3
  99. package/wdtsdoc/classes/elements.OjDrawerPopup.html +5 -3
  100. package/wdtsdoc/classes/elements.OjFilePicker.html +5 -3
  101. package/wdtsdoc/classes/elements.OjFilmStrip.html +5 -3
  102. package/wdtsdoc/classes/elements.OjGantt.html +5 -3
  103. package/wdtsdoc/classes/elements.OjIndexer.html +5 -3
  104. package/wdtsdoc/classes/elements.OjInputDate.html +5 -3
  105. package/wdtsdoc/classes/elements.OjInputDateTime.html +5 -3
  106. package/wdtsdoc/classes/elements.OjInputNumber.html +5 -3
  107. package/wdtsdoc/classes/elements.OjInputPassword.html +5 -3
  108. package/wdtsdoc/classes/elements.OjInputSearch.html +5 -3
  109. package/wdtsdoc/classes/elements.OjInputText.html +5 -3
  110. package/wdtsdoc/classes/elements.OjInputTime.html +5 -3
  111. package/wdtsdoc/classes/elements.OjLabel.html +5 -3
  112. package/wdtsdoc/classes/elements.OjLedGauge.html +5 -3
  113. package/wdtsdoc/classes/elements.OjLegend.html +31 -3
  114. package/wdtsdoc/classes/elements.OjListView.html +5 -3
  115. package/wdtsdoc/classes/elements.OjMasonryLayout.html +5 -3
  116. package/wdtsdoc/classes/elements.OjMenu.html +5 -3
  117. package/wdtsdoc/classes/elements.OjMenuButton.html +5 -3
  118. package/wdtsdoc/classes/elements.OjMessage.html +5 -3
  119. package/wdtsdoc/classes/elements.OjMessageBanner.html +818 -0
  120. package/wdtsdoc/classes/elements.OjNBox.html +5 -3
  121. package/wdtsdoc/classes/elements.OjNavigationList.html +5 -3
  122. package/wdtsdoc/classes/elements.OjPagingControl.html +5 -3
  123. package/wdtsdoc/classes/elements.OjPictoChart.html +5 -3
  124. package/wdtsdoc/classes/elements.OjPopup.html +5 -3
  125. package/wdtsdoc/classes/elements.OjProgress.html +5 -3
  126. package/wdtsdoc/classes/elements.OjProgressList.html +5 -3
  127. package/wdtsdoc/classes/elements.OjRadioset.html +5 -3
  128. package/wdtsdoc/classes/elements.OjRatingGauge.html +5 -3
  129. package/wdtsdoc/classes/elements.OjRefresher.html +5 -3
  130. package/wdtsdoc/classes/elements.OjRowExpander.html +5 -3
  131. package/wdtsdoc/classes/elements.OjSelectMany.html +5 -3
  132. package/wdtsdoc/classes/elements.OjSelectOne.html +5 -3
  133. package/wdtsdoc/classes/elements.OjSelectSingle.html +5 -3
  134. package/wdtsdoc/classes/elements.OjSelector.html +5 -3
  135. package/wdtsdoc/classes/elements.OjSlider.html +5 -3
  136. package/wdtsdoc/classes/elements.OjSparkChart.html +5 -3
  137. package/wdtsdoc/classes/elements.OjStatusMeterGauge.html +5 -3
  138. package/wdtsdoc/classes/elements.OjStreamList.html +5 -3
  139. package/wdtsdoc/classes/elements.OjSunburst.html +5 -3
  140. package/wdtsdoc/classes/elements.OjSwipeActions.html +5 -3
  141. package/wdtsdoc/classes/elements.OjSwitch.html +7 -5
  142. package/wdtsdoc/classes/elements.OjTabBar.html +5 -3
  143. package/wdtsdoc/classes/elements.OjTable.html +5 -3
  144. package/wdtsdoc/classes/elements.OjTagCloud.html +5 -3
  145. package/wdtsdoc/classes/elements.OjTextArea.html +5 -3
  146. package/wdtsdoc/classes/elements.OjThematicMap.html +5 -3
  147. package/wdtsdoc/classes/elements.OjTimeAxis.html +5 -3
  148. package/wdtsdoc/classes/elements.OjTimeline.html +5 -3
  149. package/wdtsdoc/classes/elements.OjTrain.html +5 -3
  150. package/wdtsdoc/classes/elements.OjTreeView.html +5 -3
  151. package/wdtsdoc/classes/elements.OjTreemap.html +5 -3
  152. package/wdtsdoc/classes/elements.OjWaterfallLayout.html +5 -3
  153. package/wdtsdoc/classes/elements.OjWebElement.html +5 -3
  154. package/wdtsdoc/classes/index.DriverManager.html +14 -12
  155. package/wdtsdoc/classes/index.Expectation.html +5 -3
  156. package/wdtsdoc/functions/elements.ojAccordion-1.html +6 -4
  157. package/wdtsdoc/functions/elements.ojActionCard-1.html +6 -4
  158. package/wdtsdoc/functions/elements.ojButton-1.html +6 -4
  159. package/wdtsdoc/functions/elements.ojButtonsetMany-1.html +6 -4
  160. package/wdtsdoc/functions/elements.ojButtonsetOne-1.html +6 -4
  161. package/wdtsdoc/functions/elements.ojChart-1.html +6 -4
  162. package/wdtsdoc/functions/elements.ojCheckboxset-1.html +6 -4
  163. package/wdtsdoc/functions/elements.ojCollapsible-1.html +6 -4
  164. package/wdtsdoc/functions/elements.ojColorPalette-1.html +6 -4
  165. package/wdtsdoc/functions/elements.ojColorSpectrum-1.html +6 -4
  166. package/wdtsdoc/functions/elements.ojComboboxMany-1.html +6 -4
  167. package/wdtsdoc/functions/elements.ojComboboxOne-1.html +6 -4
  168. package/wdtsdoc/functions/elements.ojConveyorBelt-1.html +6 -4
  169. package/wdtsdoc/functions/elements.ojDataGrid-1.html +6 -4
  170. package/wdtsdoc/functions/elements.ojDatePicker-1.html +6 -4
  171. package/wdtsdoc/functions/elements.ojDateTimePicker-1.html +6 -4
  172. package/wdtsdoc/functions/elements.ojDiagram-1.html +6 -4
  173. package/wdtsdoc/functions/elements.ojDialog-1.html +6 -4
  174. package/wdtsdoc/functions/elements.ojDrawerLayout-1.html +6 -4
  175. package/wdtsdoc/functions/elements.ojDrawerPopup-1.html +6 -4
  176. package/wdtsdoc/functions/elements.ojFilePicker-1.html +6 -4
  177. package/wdtsdoc/functions/elements.ojFilmStrip-1.html +6 -4
  178. package/wdtsdoc/functions/elements.ojGantt-1.html +6 -4
  179. package/wdtsdoc/functions/elements.ojIndexer-1.html +6 -4
  180. package/wdtsdoc/functions/elements.ojInputDate-1.html +6 -4
  181. package/wdtsdoc/functions/elements.ojInputDateTime-1.html +6 -4
  182. package/wdtsdoc/functions/elements.ojInputNumber-1.html +6 -4
  183. package/wdtsdoc/functions/elements.ojInputPassword-1.html +6 -4
  184. package/wdtsdoc/functions/elements.ojInputSearch-1.html +6 -4
  185. package/wdtsdoc/functions/elements.ojInputText-1.html +6 -4
  186. package/wdtsdoc/functions/elements.ojInputTime-1.html +6 -4
  187. package/wdtsdoc/functions/elements.ojLabel-1.html +6 -4
  188. package/wdtsdoc/functions/elements.ojLedGauge-1.html +6 -4
  189. package/wdtsdoc/functions/elements.ojLegend-1.html +6 -4
  190. package/wdtsdoc/functions/elements.ojListView-1.html +6 -4
  191. package/wdtsdoc/functions/elements.ojMasonryLayout-1.html +6 -4
  192. package/wdtsdoc/functions/elements.ojMenu-1.html +6 -4
  193. package/wdtsdoc/functions/elements.ojMenuButton-1.html +6 -4
  194. package/wdtsdoc/functions/elements.ojMessage-1.html +6 -4
  195. package/wdtsdoc/functions/elements.ojMessageBanner-1.html +232 -0
  196. package/wdtsdoc/functions/elements.ojNBox-1.html +6 -4
  197. package/wdtsdoc/functions/elements.ojNavigationList-1.html +6 -4
  198. package/wdtsdoc/functions/elements.ojPagingControl-1.html +6 -4
  199. package/wdtsdoc/functions/elements.ojPictoChart-1.html +6 -4
  200. package/wdtsdoc/functions/elements.ojPopup-1.html +6 -4
  201. package/wdtsdoc/functions/elements.ojProgress-1.html +6 -4
  202. package/wdtsdoc/functions/elements.ojProgressList-1.html +6 -4
  203. package/wdtsdoc/functions/elements.ojRadioset-1.html +6 -4
  204. package/wdtsdoc/functions/elements.ojRatingGauge-1.html +6 -4
  205. package/wdtsdoc/functions/elements.ojRefresher-1.html +6 -4
  206. package/wdtsdoc/functions/elements.ojRowExpander-1.html +6 -4
  207. package/wdtsdoc/functions/elements.ojSelectMany-1.html +6 -4
  208. package/wdtsdoc/functions/elements.ojSelectOne-1.html +6 -4
  209. package/wdtsdoc/functions/elements.ojSelectSingle-1.html +6 -4
  210. package/wdtsdoc/functions/elements.ojSelector-1.html +6 -4
  211. package/wdtsdoc/functions/elements.ojSlider-1.html +6 -4
  212. package/wdtsdoc/functions/elements.ojSparkChart-1.html +6 -4
  213. package/wdtsdoc/functions/elements.ojStatusMeterGauge-1.html +6 -4
  214. package/wdtsdoc/functions/elements.ojStreamList-1.html +6 -4
  215. package/wdtsdoc/functions/elements.ojSunburst-1.html +6 -4
  216. package/wdtsdoc/functions/elements.ojSwipeActions-1.html +6 -4
  217. package/wdtsdoc/functions/elements.ojSwitch-1.html +6 -4
  218. package/wdtsdoc/functions/elements.ojTabBar-1.html +6 -4
  219. package/wdtsdoc/functions/elements.ojTable-1.html +6 -4
  220. package/wdtsdoc/functions/elements.ojTagCloud-1.html +6 -4
  221. package/wdtsdoc/functions/elements.ojTextArea-1.html +6 -4
  222. package/wdtsdoc/functions/elements.ojThematicMap-1.html +6 -4
  223. package/wdtsdoc/functions/elements.ojTimeAxis-1.html +6 -4
  224. package/wdtsdoc/functions/elements.ojTimeline-1.html +6 -4
  225. package/wdtsdoc/functions/elements.ojTrain-1.html +6 -4
  226. package/wdtsdoc/functions/elements.ojTreeView-1.html +6 -4
  227. package/wdtsdoc/functions/elements.ojTreemap-1.html +6 -4
  228. package/wdtsdoc/functions/elements.ojWaterfallLayout-1.html +6 -4
  229. package/wdtsdoc/functions/elements.ojWebElement-1.html +5 -3
  230. package/wdtsdoc/functions/index.ScreenshotManager.create.html +5 -3
  231. package/wdtsdoc/functions/index.ScreenshotManager.get.html +5 -3
  232. package/wdtsdoc/functions/index.ScreenshotManager.set.html +5 -3
  233. package/wdtsdoc/functions/index.fetchKeyByFilter.html +6 -4
  234. package/wdtsdoc/functions/index.register.html +5 -3
  235. package/wdtsdoc/functions/index.slotProxy-1.html +5 -3
  236. package/wdtsdoc/index.html +8 -6
  237. package/wdtsdoc/interfaces/index.DriverLike.html +7 -5
  238. package/wdtsdoc/interfaces/index.SlotProxy.html +6 -4
  239. package/wdtsdoc/modules/elements.html +7 -3
  240. package/wdtsdoc/modules/index.ScreenshotManager.html +5 -3
  241. package/wdtsdoc/modules/index.html +5 -3
  242. package/wdtsdoc/variables/index.default.html +14 -12
@@ -1,3 +1,4 @@
1
+ // @ts-nocheck
1
2
  import { error, Locator, WebDriver, WebElement, WebElementPromise } from 'selenium-webdriver';
2
3
 
3
4
  // Import OjWebElement directly from its file rather than through
@@ -82,9 +83,9 @@ WebDriver.prototype.executeAsyncScript = wrapExecuteScript(WebDriver.prototype.e
82
83
  * @private
83
84
  */
84
85
  function wrapFindElement(origFunc: (locator: Locator) => WebElementPromise) {
85
- return function findElement(locator: Locator): WebElementPromise {
86
+ return function findElement(this: WebDriver, locator: Locator): WebElementPromise {
86
87
  const isDriver = this instanceof WebDriver;
87
- const driver: WebDriver = isDriver ? this : this.getDriver();
88
+ const driver: WebDriver = isDriver ? this : (this as any).getDriver();
88
89
  return new WebElementPromise(
89
90
  driver,
90
91
  new Promise<WebElement>(async (resolve, reject) => {
@@ -92,7 +93,7 @@ function wrapFindElement(origFunc: (locator: Locator) => WebElementPromise) {
92
93
  // Only inspect page when called by driver object (not from WebElement)
93
94
  lastIsJetPage = isDriver ? await isJetPage(this) : lastIsJetPage;
94
95
  const el = await origFunc.call(this, locator);
95
- const parentEl = !isDriver && this;
96
+ const parentEl = !isDriver ? (this as any) : undefined;
96
97
  try {
97
98
  resolve(lastIsJetPage ? await createTestAdapter(el, locator, parentEl) : el);
98
99
  } catch (ex) {
@@ -113,12 +114,12 @@ function wrapFindElement(origFunc: (locator: Locator) => WebElementPromise) {
113
114
  * @private
114
115
  */
115
116
  function wrapFindElements(origFunc: (locator: Locator) => Promise<WebElement[]>) {
116
- return async function findElements(locator: Locator): Promise<WebElement[]> {
117
+ return async function findElements(this: WebDriver, locator: Locator): Promise<WebElement[]> {
117
118
  const isDriver = this instanceof WebDriver;
118
119
  // Only inspect page when called by driver object (not from WebElement)
119
120
  lastIsJetPage = isDriver ? await isJetPage(this) : lastIsJetPage;
120
121
  // Pass ourselves as parent if this is WebElement.findElements
121
- const elRef = !isDriver && this;
122
+ const elRef = !isDriver ? (this as any) : undefined;
122
123
  const matches = await origFunc.call(this, locator);
123
124
  let weMatches: WebElement[] = [];
124
125
  if (lastIsJetPage) {
@@ -147,14 +148,14 @@ function wrapFindElements(origFunc: (locator: Locator) => Promise<WebElement[]>)
147
148
  * @private
148
149
  */
149
150
  function wrapExecuteScript(origFunc: <T>(...args: any) => Promise<T>) {
150
- return async function <T>(...args: any[]): Promise<T> {
151
+ return async function <T>(this: T, ...args: any[]): Promise<T> {
151
152
  try {
152
- const ret: T = await origFunc.apply(this, args);
153
+ const ret = await origFunc.apply<any, any[], T>(this, args);
153
154
  return ret;
154
155
  } catch (ex) {
155
156
  if (ex instanceof error.StaleElementReferenceError) {
156
- const newArgs = [];
157
- const locators = [];
157
+ const newArgs: any[] = [];
158
+ const locators: any[] = [];
158
159
  for (let i = 0, len = args.length; i < len; i++) {
159
160
  let arg = args[i];
160
161
  // Requery arguments which are OjWebElements
@@ -203,7 +204,7 @@ async function isJetPage(driver: WebDriver): Promise<boolean> {
203
204
  */
204
205
  async function createTestAdapter(
205
206
  el: WebElement,
206
- elLocator?: Locator,
207
+ elLocator: Locator,
207
208
  parentEl?: OjWebElement,
208
209
  elementsIndex?: number
209
210
  ): Promise<WebElement> {
package/lib/slot-proxy.js CHANGED
@@ -87,17 +87,20 @@ class SlotProxyImpl {
87
87
  */
88
88
  async locateMenu() {
89
89
  const doesClosedMenuExist = await this.doesClosedMenuExist();
90
- if (doesClosedMenuExist) {
90
+ if (doesClosedMenuExist && this._parent) {
91
91
  return (0, elements_1.ojMenu)(this._parent, selenium_webdriver_1.By.css('oj-menu[slot=contextMenu]'));
92
92
  }
93
93
  else {
94
94
  const doesOpenMenuExist = await this.doesOpenMenuExist();
95
95
  if (doesOpenMenuExist) {
96
96
  const menuId = await this.getOpenMenuId();
97
- const menu = await (0, elements_1.ojMenu)(this.getDriver(), selenium_webdriver_1.By.id(menuId));
98
- await this.closeMenu(menu);
99
- return menu;
97
+ if (menuId) {
98
+ const menu = await (0, elements_1.ojMenu)(this.getDriver(), selenium_webdriver_1.By.id(menuId));
99
+ await this.closeMenu(menu);
100
+ return Promise.resolve(menu);
101
+ }
100
102
  }
103
+ return Promise.resolve(undefined);
101
104
  }
102
105
  }
103
106
  /*
@@ -113,24 +116,33 @@ class SlotProxyImpl {
113
116
  * Finds out if a closed menu exists.
114
117
  */
115
118
  async doesClosedMenuExist() {
116
- const menus = await this._parent.findElements(selenium_webdriver_1.By.css('oj-menu[slot=contextMenu]'));
117
- return menus.length > 0;
119
+ if (this._parent) {
120
+ const menus = await this._parent.findElements(selenium_webdriver_1.By.css('oj-menu[slot=contextMenu]'));
121
+ return menus.length > 0;
122
+ }
123
+ return Promise.resolve(false);
118
124
  }
119
125
  /*
120
126
  * Gets menu ID from the surrogate.
121
127
  */
122
128
  async getOpenMenuId() {
123
- const surrogate = await this._parent.findElement(selenium_webdriver_1.By.css('OJ-SURROGATE'));
124
- const surrogateId = await surrogate.getAttribute('id');
125
- const lastIndex = surrogateId.lastIndexOf('_layer_surrogate');
126
- return surrogateId.substring(0, lastIndex);
129
+ if (this._parent) {
130
+ const surrogate = await this._parent.findElement(selenium_webdriver_1.By.css('OJ-SURROGATE'));
131
+ const surrogateId = await surrogate.getAttribute('id');
132
+ const lastIndex = surrogateId.lastIndexOf('_layer_surrogate');
133
+ return surrogateId.substring(0, lastIndex);
134
+ }
135
+ return Promise.resolve(undefined);
127
136
  }
128
137
  /*
129
138
  * Finds out if an open menu exists.
130
139
  */
131
140
  async doesOpenMenuExist() {
132
- const surrogates = await this._parent.findElements(selenium_webdriver_1.By.css('OJ-SURROGATE'));
133
- return surrogates.length > 0;
141
+ if (this._parent) {
142
+ const surrogates = await this._parent.findElements(selenium_webdriver_1.By.css('OJ-SURROGATE'));
143
+ return surrogates.length > 0;
144
+ }
145
+ return Promise.resolve(false);
134
146
  }
135
147
  /*
136
148
  * Opens menu programmatically.
@@ -1 +1 @@
1
- {"version":3,"file":"slot-proxy.js","sourceRoot":"","sources":["../../lib/slot-proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slot-proxy.js","sourceRoot":"","sources":["../../lib/slot-proxy.ts"],"names":[],"mappings":"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"}
package/lib/slot-proxy.ts CHANGED
@@ -50,7 +50,7 @@ export function slotProxy(el: WebElement, parent?: WebElement): SlotProxy {
50
50
  */
51
51
  class SlotProxyImpl implements SlotProxy {
52
52
  private _root: WebElement;
53
- private _parent: WebElement;
53
+ private _parent: WebElement | undefined;
54
54
 
55
55
  constructor(el: WebElement, parent?: WebElement) {
56
56
  this._root = el;
@@ -117,18 +117,21 @@ class SlotProxyImpl implements SlotProxy {
117
117
  /*
118
118
  * Locates and returns a menu if it exists.
119
119
  */
120
- private async locateMenu(): Promise<OjMenu> {
120
+ private async locateMenu(): Promise<OjMenu | undefined> {
121
121
  const doesClosedMenuExist = await this.doesClosedMenuExist();
122
- if (doesClosedMenuExist) {
122
+ if (doesClosedMenuExist && this._parent) {
123
123
  return ojMenu(this._parent, By.css('oj-menu[slot=contextMenu]'));
124
124
  } else {
125
125
  const doesOpenMenuExist = await this.doesOpenMenuExist();
126
126
  if (doesOpenMenuExist) {
127
127
  const menuId = await this.getOpenMenuId();
128
- const menu = await ojMenu(this.getDriver(), By.id(menuId));
129
- await this.closeMenu(menu);
130
- return menu;
128
+ if (menuId) {
129
+ const menu = await ojMenu(this.getDriver(), By.id(menuId));
130
+ await this.closeMenu(menu);
131
+ return Promise.resolve(menu);
132
+ }
131
133
  }
134
+ return Promise.resolve(undefined);
132
135
  }
133
136
  }
134
137
  /*
@@ -147,24 +150,33 @@ class SlotProxyImpl implements SlotProxy {
147
150
  * Finds out if a closed menu exists.
148
151
  */
149
152
  private async doesClosedMenuExist(): Promise<boolean> {
150
- const menus = await this._parent.findElements(By.css('oj-menu[slot=contextMenu]'));
151
- return menus.length > 0;
153
+ if (this._parent) {
154
+ const menus = await this._parent.findElements(By.css('oj-menu[slot=contextMenu]'));
155
+ return menus.length > 0;
156
+ }
157
+ return Promise.resolve(false);
152
158
  }
153
159
  /*
154
160
  * Gets menu ID from the surrogate.
155
161
  */
156
- private async getOpenMenuId(): Promise<string> {
157
- const surrogate = await this._parent.findElement(By.css('OJ-SURROGATE'));
158
- const surrogateId = await surrogate.getAttribute('id');
159
- const lastIndex = surrogateId.lastIndexOf('_layer_surrogate');
160
- return surrogateId.substring(0, lastIndex);
162
+ private async getOpenMenuId(): Promise<string | undefined> {
163
+ if (this._parent) {
164
+ const surrogate = await this._parent.findElement(By.css('OJ-SURROGATE'));
165
+ const surrogateId = await surrogate.getAttribute('id');
166
+ const lastIndex = surrogateId.lastIndexOf('_layer_surrogate');
167
+ return surrogateId.substring(0, lastIndex);
168
+ }
169
+ return Promise.resolve(undefined);
161
170
  }
162
171
  /*
163
172
  * Finds out if an open menu exists.
164
173
  */
165
174
  private async doesOpenMenuExist(): Promise<boolean> {
166
- const surrogates = await this._parent.findElements(By.css('OJ-SURROGATE'));
167
- return surrogates.length > 0;
175
+ if (this._parent) {
176
+ const surrogates = await this._parent.findElements(By.css('OJ-SURROGATE'));
177
+ return surrogates.length > 0;
178
+ }
179
+ return Promise.resolve(false);
168
180
  }
169
181
  /*
170
182
  * Opens menu programmatically.
package/package.json CHANGED
@@ -1,25 +1,24 @@
1
1
  {
2
2
  "name": "@oracle/oraclejet-webdriver",
3
- "version": "15.0.4",
3
+ "version": "15.1.0",
4
4
  "description": "Oracle JET WebDriverJS WebElements",
5
5
  "config": {
6
- "revision": "2023-09-08_06-09-49"
6
+ "revision": "2023-10-06_04-39-53"
7
7
  },
8
8
  "scripts": {
9
9
  "clean": "rimraf built dist dist.failed test/built test_results",
10
10
  "build": "isNewer index.ts elements lib ../../built/metadata/components/allComponents.json dist || exit 0 && yarn do-build",
11
- "do-build": "yarn clean && yarn create-webelements && yarn copy && yarn compile && yarn doc || (yarn rename:dist && exit 1)",
12
- "rename:dist": "rimraf dist.failed && renamer -s --find dist --replace dist.failed dist",
11
+ "do-build": "yarn clean && yarn create-webelements && yarn copy && yarn compile && yarn doc || (yarn rename-dist && exit 1)",
12
+ "rename-dist": "rimraf dist.failed && renamer -s --find dist --replace dist.failed dist",
13
13
  "compile": "tsc --outDir dist",
14
14
  "copy": "copyfiles * 'bin/**' 'elements/**' 'lib/**' dist/",
15
15
  "create-webelements": "jet-internal/generate-jet ../../built/metadata/components/allComponents.json && prettier --write '**/*.ts'",
16
16
  "doc": "typedoc --out dist/wdtsdoc --options typedoc/typedoc.json",
17
17
  "package": "cd dist && npm pack",
18
- "test": "jest -c test/jest.config.js",
19
- "test:debug": "yarn run --inspect jest -i"
18
+ "test": "jest -c test/jest.config.js"
20
19
  },
21
20
  "dependencies": {
22
- "@oracle/oraclejet": "15.0.4"
21
+ "@oracle/oraclejet": "15.1.0"
23
22
  },
24
23
  "devDependencies": {
25
24
  "@oracle/build": "workspace:^",
@@ -1,16 +1,16 @@
1
1
  :root {
2
- --light-hl-0: #000000;
3
- --dark-hl-0: #D4D4D4;
4
- --light-hl-1: #A31515;
5
- --dark-hl-1: #CE9178;
6
- --light-hl-2: #AF00DB;
7
- --dark-hl-2: #C586C0;
8
- --light-hl-3: #001080;
9
- --dark-hl-3: #9CDCFE;
10
- --light-hl-4: #795E26;
11
- --dark-hl-4: #DCDCAA;
12
- --light-hl-5: #0000FF;
13
- --dark-hl-5: #569CD6;
2
+ --light-hl-0: #795E26;
3
+ --dark-hl-0: #DCDCAA;
4
+ --light-hl-1: #000000;
5
+ --dark-hl-1: #D4D4D4;
6
+ --light-hl-2: #A31515;
7
+ --dark-hl-2: #CE9178;
8
+ --light-hl-3: #0000FF;
9
+ --dark-hl-3: #569CD6;
10
+ --light-hl-4: #AF00DB;
11
+ --dark-hl-4: #C586C0;
12
+ --light-hl-5: #001080;
13
+ --dark-hl-5: #9CDCFE;
14
14
  --light-hl-6: #267F99;
15
15
  --dark-hl-6: #4EC9B0;
16
16
  --light-hl-7: #0070C1;