@oracle/oraclejet-webdriver 10.1.7

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 (667) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +16 -0
  3. package/bin/generate +509 -0
  4. package/bin/generate-jet +163 -0
  5. package/bin/templates/baseclass.ts-template +13 -0
  6. package/bin/templates/class.ts-template +12 -0
  7. package/bin/templates/element-test.spec.ts-template +28 -0
  8. package/bin/templates/index.ts-template +27 -0
  9. package/bin/templates/jetcomponents.json +71 -0
  10. package/bin/templates/package.json-template +15 -0
  11. package/bin/templates/tsconfig.json-template +19 -0
  12. package/elements/OjWebElement.js +232 -0
  13. package/elements/OjWebElement.js.map +1 -0
  14. package/elements/OjWebElement.ts +674 -0
  15. package/elements/index.js +214 -0
  16. package/elements/index.js.map +1 -0
  17. package/elements/index.ts +75 -0
  18. package/elements/oj-accordion/OjAccordion.js +8 -0
  19. package/elements/oj-accordion/OjAccordion.js.map +1 -0
  20. package/elements/oj-accordion/OjAccordion.ts +12 -0
  21. package/elements/oj-accordion/OjAccordionBase.js +20 -0
  22. package/elements/oj-accordion/OjAccordionBase.js.map +1 -0
  23. package/elements/oj-accordion/OjAccordionBase.ts +48 -0
  24. package/elements/oj-accordion/index.js +17 -0
  25. package/elements/oj-accordion/index.js.map +1 -0
  26. package/elements/oj-accordion/index.ts +27 -0
  27. package/elements/oj-button/OjButton.js +20 -0
  28. package/elements/oj-button/OjButton.js.map +1 -0
  29. package/elements/oj-button/OjButton.ts +35 -0
  30. package/elements/oj-button/OjButtonBase.js +23 -0
  31. package/elements/oj-button/OjButtonBase.js.map +1 -0
  32. package/elements/oj-button/OjButtonBase.ts +57 -0
  33. package/elements/oj-button/index.js +17 -0
  34. package/elements/oj-button/index.js.map +1 -0
  35. package/elements/oj-button/index.ts +27 -0
  36. package/elements/oj-buttonset-many/OjButtonsetMany.js +8 -0
  37. package/elements/oj-buttonset-many/OjButtonsetMany.js.map +1 -0
  38. package/elements/oj-buttonset-many/OjButtonsetMany.ts +11 -0
  39. package/elements/oj-buttonset-many/OjButtonsetManyBase.js +35 -0
  40. package/elements/oj-buttonset-many/OjButtonsetManyBase.js.map +1 -0
  41. package/elements/oj-buttonset-many/OjButtonsetManyBase.ts +93 -0
  42. package/elements/oj-buttonset-many/index.js +17 -0
  43. package/elements/oj-buttonset-many/index.js.map +1 -0
  44. package/elements/oj-buttonset-many/index.ts +27 -0
  45. package/elements/oj-buttonset-one/OjButtonsetOne.js +8 -0
  46. package/elements/oj-buttonset-one/OjButtonsetOne.js.map +1 -0
  47. package/elements/oj-buttonset-one/OjButtonsetOne.ts +11 -0
  48. package/elements/oj-buttonset-one/OjButtonsetOneBase.js +35 -0
  49. package/elements/oj-buttonset-one/OjButtonsetOneBase.js.map +1 -0
  50. package/elements/oj-buttonset-one/OjButtonsetOneBase.ts +93 -0
  51. package/elements/oj-buttonset-one/index.js +17 -0
  52. package/elements/oj-buttonset-one/index.js.map +1 -0
  53. package/elements/oj-buttonset-one/index.ts +27 -0
  54. package/elements/oj-chart/OjChart.js +8 -0
  55. package/elements/oj-chart/OjChart.js.map +1 -0
  56. package/elements/oj-chart/OjChart.ts +12 -0
  57. package/elements/oj-chart/OjChartBase.js +170 -0
  58. package/elements/oj-chart/OjChartBase.js.map +1 -0
  59. package/elements/oj-chart/OjChartBase.ts +2468 -0
  60. package/elements/oj-chart/index.js +17 -0
  61. package/elements/oj-chart/index.js.map +1 -0
  62. package/elements/oj-chart/index.ts +27 -0
  63. package/elements/oj-checkboxset/OjCheckboxset.js +39 -0
  64. package/elements/oj-checkboxset/OjCheckboxset.js.map +1 -0
  65. package/elements/oj-checkboxset/OjCheckboxset.ts +74 -0
  66. package/elements/oj-checkboxset/OjCheckboxsetBase.js +68 -0
  67. package/elements/oj-checkboxset/OjCheckboxsetBase.js.map +1 -0
  68. package/elements/oj-checkboxset/OjCheckboxsetBase.ts +262 -0
  69. package/elements/oj-checkboxset/index.js +17 -0
  70. package/elements/oj-checkboxset/index.js.map +1 -0
  71. package/elements/oj-checkboxset/index.ts +27 -0
  72. package/elements/oj-collapsible/OjCollapsible.js +23 -0
  73. package/elements/oj-collapsible/OjCollapsible.js.map +1 -0
  74. package/elements/oj-collapsible/OjCollapsible.ts +36 -0
  75. package/elements/oj-collapsible/OjCollapsibleBase.js +23 -0
  76. package/elements/oj-collapsible/OjCollapsibleBase.js.map +1 -0
  77. package/elements/oj-collapsible/OjCollapsibleBase.ts +57 -0
  78. package/elements/oj-collapsible/index.js +17 -0
  79. package/elements/oj-collapsible/index.js.map +1 -0
  80. package/elements/oj-collapsible/index.ts +27 -0
  81. package/elements/oj-color-palette/OjColorPalette.js +8 -0
  82. package/elements/oj-color-palette/OjColorPalette.js.map +1 -0
  83. package/elements/oj-color-palette/OjColorPalette.ts +12 -0
  84. package/elements/oj-color-palette/OjColorPaletteBase.js +65 -0
  85. package/elements/oj-color-palette/OjColorPaletteBase.js.map +1 -0
  86. package/elements/oj-color-palette/OjColorPaletteBase.ts +235 -0
  87. package/elements/oj-color-palette/index.js +17 -0
  88. package/elements/oj-color-palette/index.js.map +1 -0
  89. package/elements/oj-color-palette/index.ts +27 -0
  90. package/elements/oj-color-spectrum/OjColorSpectrum.js +8 -0
  91. package/elements/oj-color-spectrum/OjColorSpectrum.js.map +1 -0
  92. package/elements/oj-color-spectrum/OjColorSpectrum.ts +12 -0
  93. package/elements/oj-color-spectrum/OjColorSpectrumBase.js +56 -0
  94. package/elements/oj-color-spectrum/OjColorSpectrumBase.js.map +1 -0
  95. package/elements/oj-color-spectrum/OjColorSpectrumBase.ts +210 -0
  96. package/elements/oj-color-spectrum/index.js +17 -0
  97. package/elements/oj-color-spectrum/index.js.map +1 -0
  98. package/elements/oj-color-spectrum/index.ts +27 -0
  99. package/elements/oj-combobox-many/OjComboboxMany.js +51 -0
  100. package/elements/oj-combobox-many/OjComboboxMany.js.map +1 -0
  101. package/elements/oj-combobox-many/OjComboboxMany.ts +80 -0
  102. package/elements/oj-combobox-many/OjComboboxManyBase.js +98 -0
  103. package/elements/oj-combobox-many/OjComboboxManyBase.js.map +1 -0
  104. package/elements/oj-combobox-many/OjComboboxManyBase.ts +428 -0
  105. package/elements/oj-combobox-many/index.js +17 -0
  106. package/elements/oj-combobox-many/index.js.map +1 -0
  107. package/elements/oj-combobox-many/index.ts +27 -0
  108. package/elements/oj-combobox-one/OjComboboxOne.js +49 -0
  109. package/elements/oj-combobox-one/OjComboboxOne.js.map +1 -0
  110. package/elements/oj-combobox-one/OjComboboxOne.ts +74 -0
  111. package/elements/oj-combobox-one/OjComboboxOneBase.js +101 -0
  112. package/elements/oj-combobox-one/OjComboboxOneBase.js.map +1 -0
  113. package/elements/oj-combobox-one/OjComboboxOneBase.ts +437 -0
  114. package/elements/oj-combobox-one/index.js +17 -0
  115. package/elements/oj-combobox-one/index.js.map +1 -0
  116. package/elements/oj-combobox-one/index.ts +27 -0
  117. package/elements/oj-conveyor-belt/OjConveyorBelt.js +16 -0
  118. package/elements/oj-conveyor-belt/OjConveyorBelt.js.map +1 -0
  119. package/elements/oj-conveyor-belt/OjConveyorBelt.ts +30 -0
  120. package/elements/oj-conveyor-belt/OjConveyorBeltBase.js +29 -0
  121. package/elements/oj-conveyor-belt/OjConveyorBeltBase.js.map +1 -0
  122. package/elements/oj-conveyor-belt/OjConveyorBeltBase.ts +87 -0
  123. package/elements/oj-conveyor-belt/index.js +17 -0
  124. package/elements/oj-conveyor-belt/index.js.map +1 -0
  125. package/elements/oj-conveyor-belt/index.ts +27 -0
  126. package/elements/oj-data-grid/OjDataGrid.js +198 -0
  127. package/elements/oj-data-grid/OjDataGrid.js.map +1 -0
  128. package/elements/oj-data-grid/OjDataGrid.ts +279 -0
  129. package/elements/oj-data-grid/OjDataGridBase.js +65 -0
  130. package/elements/oj-data-grid/OjDataGridBase.js.map +1 -0
  131. package/elements/oj-data-grid/OjDataGridBase.ts +705 -0
  132. package/elements/oj-data-grid/index.js +17 -0
  133. package/elements/oj-data-grid/index.js.map +1 -0
  134. package/elements/oj-data-grid/index.ts +27 -0
  135. package/elements/oj-date-picker/OjDatePicker.js +8 -0
  136. package/elements/oj-date-picker/OjDatePicker.js.map +1 -0
  137. package/elements/oj-date-picker/OjDatePicker.ts +12 -0
  138. package/elements/oj-date-picker/OjDatePickerBase.js +104 -0
  139. package/elements/oj-date-picker/OjDatePickerBase.js.map +1 -0
  140. package/elements/oj-date-picker/OjDatePickerBase.ts +536 -0
  141. package/elements/oj-date-picker/index.js +17 -0
  142. package/elements/oj-date-picker/index.js.map +1 -0
  143. package/elements/oj-date-picker/index.ts +27 -0
  144. package/elements/oj-date-time-picker/OjDateTimePicker.js +8 -0
  145. package/elements/oj-date-time-picker/OjDateTimePicker.js.map +1 -0
  146. package/elements/oj-date-time-picker/OjDateTimePicker.ts +32 -0
  147. package/elements/oj-date-time-picker/OjDateTimePickerBase.js +107 -0
  148. package/elements/oj-date-time-picker/OjDateTimePickerBase.js.map +1 -0
  149. package/elements/oj-date-time-picker/OjDateTimePickerBase.ts +567 -0
  150. package/elements/oj-date-time-picker/index.js +17 -0
  151. package/elements/oj-date-time-picker/index.js.map +1 -0
  152. package/elements/oj-date-time-picker/index.ts +27 -0
  153. package/elements/oj-diagram/OjDiagram.js +8 -0
  154. package/elements/oj-diagram/OjDiagram.js.map +1 -0
  155. package/elements/oj-diagram/OjDiagram.ts +12 -0
  156. package/elements/oj-diagram/OjDiagramBase.js +128 -0
  157. package/elements/oj-diagram/OjDiagramBase.js.map +1 -0
  158. package/elements/oj-diagram/OjDiagramBase.ts +740 -0
  159. package/elements/oj-diagram/index.js +17 -0
  160. package/elements/oj-diagram/index.js.map +1 -0
  161. package/elements/oj-diagram/index.ts +27 -0
  162. package/elements/oj-dialog/OjDialog.js +13 -0
  163. package/elements/oj-dialog/OjDialog.js.map +1 -0
  164. package/elements/oj-dialog/OjDialog.ts +21 -0
  165. package/elements/oj-dialog/OjDialogBase.js +32 -0
  166. package/elements/oj-dialog/OjDialogBase.js.map +1 -0
  167. package/elements/oj-dialog/OjDialogBase.ts +144 -0
  168. package/elements/oj-dialog/index.js +17 -0
  169. package/elements/oj-dialog/index.js.map +1 -0
  170. package/elements/oj-dialog/index.ts +27 -0
  171. package/elements/oj-file-picker/OjFilePicker.js +36 -0
  172. package/elements/oj-file-picker/OjFilePicker.js.map +1 -0
  173. package/elements/oj-file-picker/OjFilePicker.ts +49 -0
  174. package/elements/oj-file-picker/OjFilePickerBase.js +29 -0
  175. package/elements/oj-file-picker/OjFilePickerBase.js.map +1 -0
  176. package/elements/oj-file-picker/OjFilePickerBase.ts +75 -0
  177. package/elements/oj-file-picker/index.js +17 -0
  178. package/elements/oj-file-picker/index.js.map +1 -0
  179. package/elements/oj-file-picker/index.ts +27 -0
  180. package/elements/oj-film-strip/OjFilmStrip.js +8 -0
  181. package/elements/oj-film-strip/OjFilmStrip.js.map +1 -0
  182. package/elements/oj-film-strip/OjFilmStrip.ts +12 -0
  183. package/elements/oj-film-strip/OjFilmStripBase.js +32 -0
  184. package/elements/oj-film-strip/OjFilmStripBase.js.map +1 -0
  185. package/elements/oj-film-strip/OjFilmStripBase.ts +118 -0
  186. package/elements/oj-film-strip/index.js +17 -0
  187. package/elements/oj-film-strip/index.js.map +1 -0
  188. package/elements/oj-film-strip/index.ts +27 -0
  189. package/elements/oj-gantt/OjGantt.js +8 -0
  190. package/elements/oj-gantt/OjGantt.js.map +1 -0
  191. package/elements/oj-gantt/OjGantt.ts +12 -0
  192. package/elements/oj-gantt/OjGanttBase.js +98 -0
  193. package/elements/oj-gantt/OjGanttBase.js.map +1 -0
  194. package/elements/oj-gantt/OjGanttBase.ts +996 -0
  195. package/elements/oj-gantt/index.js +17 -0
  196. package/elements/oj-gantt/index.js.map +1 -0
  197. package/elements/oj-gantt/index.ts +27 -0
  198. package/elements/oj-indexer/OjIndexer.js +8 -0
  199. package/elements/oj-indexer/OjIndexer.js.map +1 -0
  200. package/elements/oj-indexer/OjIndexer.ts +12 -0
  201. package/elements/oj-indexer/OjIndexerBase.js +14 -0
  202. package/elements/oj-indexer/OjIndexerBase.js.map +1 -0
  203. package/elements/oj-indexer/OjIndexerBase.ts +62 -0
  204. package/elements/oj-indexer/index.js +17 -0
  205. package/elements/oj-indexer/index.js.map +1 -0
  206. package/elements/oj-indexer/index.ts +27 -0
  207. package/elements/oj-input-date/OjInputDate.js +10 -0
  208. package/elements/oj-input-date/OjInputDate.js.map +1 -0
  209. package/elements/oj-input-date/OjInputDate.ts +14 -0
  210. package/elements/oj-input-date/OjInputDateBase.js +107 -0
  211. package/elements/oj-input-date/OjInputDateBase.js.map +1 -0
  212. package/elements/oj-input-date/OjInputDateBase.ts +545 -0
  213. package/elements/oj-input-date/index.js +17 -0
  214. package/elements/oj-input-date/index.js.map +1 -0
  215. package/elements/oj-input-date/index.ts +27 -0
  216. package/elements/oj-input-date-time/OjInputDateTime.js +10 -0
  217. package/elements/oj-input-date-time/OjInputDateTime.js.map +1 -0
  218. package/elements/oj-input-date-time/OjInputDateTime.ts +14 -0
  219. package/elements/oj-input-date-time/OjInputDateTimeBase.js +110 -0
  220. package/elements/oj-input-date-time/OjInputDateTimeBase.js.map +1 -0
  221. package/elements/oj-input-date-time/OjInputDateTimeBase.ts +576 -0
  222. package/elements/oj-input-date-time/index.js +17 -0
  223. package/elements/oj-input-date-time/index.js.map +1 -0
  224. package/elements/oj-input-date-time/index.ts +27 -0
  225. package/elements/oj-input-number/OjInputNumber.js +10 -0
  226. package/elements/oj-input-number/OjInputNumber.js.map +1 -0
  227. package/elements/oj-input-number/OjInputNumber.ts +14 -0
  228. package/elements/oj-input-number/OjInputNumberBase.js +98 -0
  229. package/elements/oj-input-number/OjInputNumberBase.js.map +1 -0
  230. package/elements/oj-input-number/OjInputNumberBase.ts +406 -0
  231. package/elements/oj-input-number/index.js +17 -0
  232. package/elements/oj-input-number/index.js.map +1 -0
  233. package/elements/oj-input-number/index.ts +27 -0
  234. package/elements/oj-input-password/OjInputPassword.js +10 -0
  235. package/elements/oj-input-password/OjInputPassword.js.map +1 -0
  236. package/elements/oj-input-password/OjInputPassword.ts +14 -0
  237. package/elements/oj-input-password/OjInputPasswordBase.js +83 -0
  238. package/elements/oj-input-password/OjInputPasswordBase.js.map +1 -0
  239. package/elements/oj-input-password/OjInputPasswordBase.ts +323 -0
  240. package/elements/oj-input-password/index.js +17 -0
  241. package/elements/oj-input-password/index.js.map +1 -0
  242. package/elements/oj-input-password/index.ts +27 -0
  243. package/elements/oj-input-search/OjInputSearch.js +41 -0
  244. package/elements/oj-input-search/OjInputSearch.js.map +1 -0
  245. package/elements/oj-input-search/OjInputSearch.ts +64 -0
  246. package/elements/oj-input-search/OjInputSearchBase.js +26 -0
  247. package/elements/oj-input-search/OjInputSearchBase.js.map +1 -0
  248. package/elements/oj-input-search/OjInputSearchBase.ts +66 -0
  249. package/elements/oj-input-search/index.js +17 -0
  250. package/elements/oj-input-search/index.js.map +1 -0
  251. package/elements/oj-input-search/index.ts +27 -0
  252. package/elements/oj-input-text/OjInputText.js +10 -0
  253. package/elements/oj-input-text/OjInputText.js.map +1 -0
  254. package/elements/oj-input-text/OjInputText.ts +15 -0
  255. package/elements/oj-input-text/OjInputTextBase.js +95 -0
  256. package/elements/oj-input-text/OjInputTextBase.js.map +1 -0
  257. package/elements/oj-input-text/OjInputTextBase.ts +361 -0
  258. package/elements/oj-input-text/index.js +17 -0
  259. package/elements/oj-input-text/index.js.map +1 -0
  260. package/elements/oj-input-text/index.ts +27 -0
  261. package/elements/oj-input-time/OjInputTime.js +10 -0
  262. package/elements/oj-input-time/OjInputTime.js.map +1 -0
  263. package/elements/oj-input-time/OjInputTime.ts +14 -0
  264. package/elements/oj-input-time/OjInputTimeBase.js +101 -0
  265. package/elements/oj-input-time/OjInputTimeBase.js.map +1 -0
  266. package/elements/oj-input-time/OjInputTimeBase.ts +477 -0
  267. package/elements/oj-input-time/index.js +17 -0
  268. package/elements/oj-input-time/index.js.map +1 -0
  269. package/elements/oj-input-time/index.ts +27 -0
  270. package/elements/oj-label/OjLabel.js +8 -0
  271. package/elements/oj-label/OjLabel.js.map +1 -0
  272. package/elements/oj-label/OjLabel.ts +12 -0
  273. package/elements/oj-label/OjLabelBase.js +23 -0
  274. package/elements/oj-label/OjLabelBase.js.map +1 -0
  275. package/elements/oj-label/OjLabelBase.ts +79 -0
  276. package/elements/oj-label/index.js +17 -0
  277. package/elements/oj-label/index.js.map +1 -0
  278. package/elements/oj-label/index.ts +27 -0
  279. package/elements/oj-led-gauge/OjLedGauge.js +8 -0
  280. package/elements/oj-led-gauge/OjLedGauge.js.map +1 -0
  281. package/elements/oj-led-gauge/OjLedGauge.ts +12 -0
  282. package/elements/oj-led-gauge/OjLedGaugeBase.js +62 -0
  283. package/elements/oj-led-gauge/OjLedGaugeBase.js.map +1 -0
  284. package/elements/oj-led-gauge/OjLedGaugeBase.ts +302 -0
  285. package/elements/oj-led-gauge/index.js +17 -0
  286. package/elements/oj-led-gauge/index.js.map +1 -0
  287. package/elements/oj-led-gauge/index.ts +27 -0
  288. package/elements/oj-legend/OjLegend.js +8 -0
  289. package/elements/oj-legend/OjLegend.js.map +1 -0
  290. package/elements/oj-legend/OjLegend.ts +12 -0
  291. package/elements/oj-legend/OjLegendBase.js +74 -0
  292. package/elements/oj-legend/OjLegendBase.js.map +1 -0
  293. package/elements/oj-legend/OjLegendBase.ts +324 -0
  294. package/elements/oj-legend/index.js +17 -0
  295. package/elements/oj-legend/index.js.map +1 -0
  296. package/elements/oj-legend/index.ts +27 -0
  297. package/elements/oj-list-view/OjListView.js +25 -0
  298. package/elements/oj-list-view/OjListView.js.map +1 -0
  299. package/elements/oj-list-view/OjListView.ts +36 -0
  300. package/elements/oj-list-view/OjListViewBase.js +71 -0
  301. package/elements/oj-list-view/OjListViewBase.js.map +1 -0
  302. package/elements/oj-list-view/OjListViewBase.ts +355 -0
  303. package/elements/oj-list-view/index.js +17 -0
  304. package/elements/oj-list-view/index.js.map +1 -0
  305. package/elements/oj-list-view/index.ts +27 -0
  306. package/elements/oj-masonry-layout/OjMasonryLayout.js +8 -0
  307. package/elements/oj-masonry-layout/OjMasonryLayout.js.map +1 -0
  308. package/elements/oj-masonry-layout/OjMasonryLayout.ts +12 -0
  309. package/elements/oj-masonry-layout/OjMasonryLayoutBase.js +14 -0
  310. package/elements/oj-masonry-layout/OjMasonryLayoutBase.js.map +1 -0
  311. package/elements/oj-masonry-layout/OjMasonryLayoutBase.ts +46 -0
  312. package/elements/oj-masonry-layout/index.js +17 -0
  313. package/elements/oj-masonry-layout/index.js.map +1 -0
  314. package/elements/oj-masonry-layout/index.ts +27 -0
  315. package/elements/oj-menu/OjMenu.js +28 -0
  316. package/elements/oj-menu/OjMenu.js.map +1 -0
  317. package/elements/oj-menu/OjMenu.ts +42 -0
  318. package/elements/oj-menu/OjMenuBase.js +17 -0
  319. package/elements/oj-menu/OjMenuBase.js.map +1 -0
  320. package/elements/oj-menu/OjMenuBase.ts +121 -0
  321. package/elements/oj-menu/index.js +17 -0
  322. package/elements/oj-menu/index.js.map +1 -0
  323. package/elements/oj-menu/index.ts +27 -0
  324. package/elements/oj-menu-button/OjMenuButton.js +14 -0
  325. package/elements/oj-menu-button/OjMenuButton.js.map +1 -0
  326. package/elements/oj-menu-button/OjMenuButton.ts +20 -0
  327. package/elements/oj-menu-button/OjMenuButtonBase.js +20 -0
  328. package/elements/oj-menu-button/OjMenuButtonBase.js.map +1 -0
  329. package/elements/oj-menu-button/OjMenuButtonBase.ts +48 -0
  330. package/elements/oj-menu-button/index.js +17 -0
  331. package/elements/oj-menu-button/index.js.map +1 -0
  332. package/elements/oj-menu-button/index.ts +27 -0
  333. package/elements/oj-message/OjMessage.js +13 -0
  334. package/elements/oj-message/OjMessage.js.map +1 -0
  335. package/elements/oj-message/OjMessage.ts +19 -0
  336. package/elements/oj-message/OjMessageBase.js +17 -0
  337. package/elements/oj-message/OjMessageBase.js.map +1 -0
  338. package/elements/oj-message/OjMessageBase.ts +113 -0
  339. package/elements/oj-message/index.js +17 -0
  340. package/elements/oj-message/index.js.map +1 -0
  341. package/elements/oj-message/index.ts +27 -0
  342. package/elements/oj-n-box/OjNBox.js +8 -0
  343. package/elements/oj-n-box/OjNBox.js.map +1 -0
  344. package/elements/oj-n-box/OjNBox.ts +12 -0
  345. package/elements/oj-n-box/OjNBoxBase.js +116 -0
  346. package/elements/oj-n-box/OjNBoxBase.js.map +1 -0
  347. package/elements/oj-n-box/OjNBoxBase.ts +880 -0
  348. package/elements/oj-n-box/index.js +17 -0
  349. package/elements/oj-n-box/index.js.map +1 -0
  350. package/elements/oj-n-box/index.ts +27 -0
  351. package/elements/oj-navigation-list/OjNavigationList.js +186 -0
  352. package/elements/oj-navigation-list/OjNavigationList.js.map +1 -0
  353. package/elements/oj-navigation-list/OjNavigationList.ts +250 -0
  354. package/elements/oj-navigation-list/OjNavigationListBase.js +50 -0
  355. package/elements/oj-navigation-list/OjNavigationListBase.js.map +1 -0
  356. package/elements/oj-navigation-list/OjNavigationListBase.ts +164 -0
  357. package/elements/oj-navigation-list/index.js +17 -0
  358. package/elements/oj-navigation-list/index.js.map +1 -0
  359. package/elements/oj-navigation-list/index.ts +27 -0
  360. package/elements/oj-paging-control/OjPagingControl.js +13 -0
  361. package/elements/oj-paging-control/OjPagingControl.js.map +1 -0
  362. package/elements/oj-paging-control/OjPagingControl.ts +26 -0
  363. package/elements/oj-paging-control/OjPagingControlBase.js +29 -0
  364. package/elements/oj-paging-control/OjPagingControlBase.js.map +1 -0
  365. package/elements/oj-paging-control/OjPagingControlBase.ts +235 -0
  366. package/elements/oj-paging-control/index.js +17 -0
  367. package/elements/oj-paging-control/index.js.map +1 -0
  368. package/elements/oj-paging-control/index.ts +27 -0
  369. package/elements/oj-picto-chart/OjPictoChart.js +8 -0
  370. package/elements/oj-picto-chart/OjPictoChart.js.map +1 -0
  371. package/elements/oj-picto-chart/OjPictoChart.ts +12 -0
  372. package/elements/oj-picto-chart/OjPictoChartBase.js +86 -0
  373. package/elements/oj-picto-chart/OjPictoChartBase.js.map +1 -0
  374. package/elements/oj-picto-chart/OjPictoChartBase.ts +394 -0
  375. package/elements/oj-picto-chart/index.js +17 -0
  376. package/elements/oj-picto-chart/index.js.map +1 -0
  377. package/elements/oj-picto-chart/index.ts +27 -0
  378. package/elements/oj-popup/OjPopup.js +8 -0
  379. package/elements/oj-popup/OjPopup.js.map +1 -0
  380. package/elements/oj-popup/OjPopup.ts +11 -0
  381. package/elements/oj-popup/OjPopupBase.js +29 -0
  382. package/elements/oj-popup/OjPopupBase.js.map +1 -0
  383. package/elements/oj-popup/OjPopupBase.ts +155 -0
  384. package/elements/oj-popup/index.js +17 -0
  385. package/elements/oj-popup/index.js.map +1 -0
  386. package/elements/oj-popup/index.ts +27 -0
  387. package/elements/oj-progress/OjProgress.js +8 -0
  388. package/elements/oj-progress/OjProgress.js.map +1 -0
  389. package/elements/oj-progress/OjProgress.ts +12 -0
  390. package/elements/oj-progress/OjProgressBase.js +23 -0
  391. package/elements/oj-progress/OjProgressBase.js.map +1 -0
  392. package/elements/oj-progress/OjProgressBase.ts +65 -0
  393. package/elements/oj-progress/index.js +17 -0
  394. package/elements/oj-progress/index.js.map +1 -0
  395. package/elements/oj-progress/index.ts +27 -0
  396. package/elements/oj-progress-list/OjProgressList.js +8 -0
  397. package/elements/oj-progress-list/OjProgressList.js.map +1 -0
  398. package/elements/oj-progress-list/OjProgressList.ts +12 -0
  399. package/elements/oj-progress-list/OjProgressListBase.js +11 -0
  400. package/elements/oj-progress-list/OjProgressListBase.js.map +1 -0
  401. package/elements/oj-progress-list/OjProgressListBase.ts +21 -0
  402. package/elements/oj-progress-list/index.js +17 -0
  403. package/elements/oj-progress-list/index.js.map +1 -0
  404. package/elements/oj-progress-list/index.ts +27 -0
  405. package/elements/oj-radioset/OjRadioset.js +32 -0
  406. package/elements/oj-radioset/OjRadioset.js.map +1 -0
  407. package/elements/oj-radioset/OjRadioset.ts +63 -0
  408. package/elements/oj-radioset/OjRadiosetBase.js +68 -0
  409. package/elements/oj-radioset/OjRadiosetBase.js.map +1 -0
  410. package/elements/oj-radioset/OjRadiosetBase.ts +262 -0
  411. package/elements/oj-radioset/index.js +17 -0
  412. package/elements/oj-radioset/index.js.map +1 -0
  413. package/elements/oj-radioset/index.ts +27 -0
  414. package/elements/oj-rating-gauge/OjRatingGauge.js +8 -0
  415. package/elements/oj-rating-gauge/OjRatingGauge.js.map +1 -0
  416. package/elements/oj-rating-gauge/OjRatingGauge.ts +12 -0
  417. package/elements/oj-rating-gauge/OjRatingGaugeBase.js +80 -0
  418. package/elements/oj-rating-gauge/OjRatingGaugeBase.js.map +1 -0
  419. package/elements/oj-rating-gauge/OjRatingGaugeBase.ts +424 -0
  420. package/elements/oj-rating-gauge/index.js +17 -0
  421. package/elements/oj-rating-gauge/index.js.map +1 -0
  422. package/elements/oj-rating-gauge/index.ts +27 -0
  423. package/elements/oj-refresher/OjRefresher.js +8 -0
  424. package/elements/oj-refresher/OjRefresher.js.map +1 -0
  425. package/elements/oj-refresher/OjRefresher.ts +12 -0
  426. package/elements/oj-refresher/OjRefresherBase.js +20 -0
  427. package/elements/oj-refresher/OjRefresherBase.js.map +1 -0
  428. package/elements/oj-refresher/OjRefresherBase.ts +64 -0
  429. package/elements/oj-refresher/index.js +17 -0
  430. package/elements/oj-refresher/index.js.map +1 -0
  431. package/elements/oj-refresher/index.ts +27 -0
  432. package/elements/oj-row-expander/OjRowExpander.js +8 -0
  433. package/elements/oj-row-expander/OjRowExpander.js.map +1 -0
  434. package/elements/oj-row-expander/OjRowExpander.ts +12 -0
  435. package/elements/oj-row-expander/OjRowExpanderBase.js +20 -0
  436. package/elements/oj-row-expander/OjRowExpanderBase.js.map +1 -0
  437. package/elements/oj-row-expander/OjRowExpanderBase.ts +76 -0
  438. package/elements/oj-row-expander/index.js +17 -0
  439. package/elements/oj-row-expander/index.js.map +1 -0
  440. package/elements/oj-row-expander/index.ts +27 -0
  441. package/elements/oj-select-many/OjSelectMany.js +51 -0
  442. package/elements/oj-select-many/OjSelectMany.js.map +1 -0
  443. package/elements/oj-select-many/OjSelectMany.ts +80 -0
  444. package/elements/oj-select-many/OjSelectManyBase.js +89 -0
  445. package/elements/oj-select-many/OjSelectManyBase.js.map +1 -0
  446. package/elements/oj-select-many/OjSelectManyBase.ts +387 -0
  447. package/elements/oj-select-many/index.js +17 -0
  448. package/elements/oj-select-many/index.js.map +1 -0
  449. package/elements/oj-select-many/index.ts +27 -0
  450. package/elements/oj-select-one/OjSelectOne.js +45 -0
  451. package/elements/oj-select-one/OjSelectOne.js.map +1 -0
  452. package/elements/oj-select-one/OjSelectOne.ts +70 -0
  453. package/elements/oj-select-one/OjSelectOneBase.js +89 -0
  454. package/elements/oj-select-one/OjSelectOneBase.js.map +1 -0
  455. package/elements/oj-select-one/OjSelectOneBase.ts +387 -0
  456. package/elements/oj-select-one/index.js +17 -0
  457. package/elements/oj-select-one/index.js.map +1 -0
  458. package/elements/oj-select-one/index.ts +27 -0
  459. package/elements/oj-select-single/OjSelectSingle.js +35 -0
  460. package/elements/oj-select-single/OjSelectSingle.js.map +1 -0
  461. package/elements/oj-select-single/OjSelectSingle.ts +51 -0
  462. package/elements/oj-select-single/OjSelectSingleBase.js +77 -0
  463. package/elements/oj-select-single/OjSelectSingleBase.js.map +1 -0
  464. package/elements/oj-select-single/OjSelectSingleBase.ts +303 -0
  465. package/elements/oj-select-single/index.js +17 -0
  466. package/elements/oj-select-single/index.js.map +1 -0
  467. package/elements/oj-select-single/index.ts +27 -0
  468. package/elements/oj-selector/OjSelector.js +13 -0
  469. package/elements/oj-selector/OjSelector.js.map +1 -0
  470. package/elements/oj-selector/OjSelector.ts +20 -0
  471. package/elements/oj-selector/OjSelectorBase.js +26 -0
  472. package/elements/oj-selector/OjSelectorBase.js.map +1 -0
  473. package/elements/oj-selector/OjSelectorBase.ts +66 -0
  474. package/elements/oj-selector/index.js +17 -0
  475. package/elements/oj-selector/index.js.map +1 -0
  476. package/elements/oj-selector/index.ts +27 -0
  477. package/elements/oj-slider/OjSlider.js +15 -0
  478. package/elements/oj-slider/OjSlider.js.map +1 -0
  479. package/elements/oj-slider/OjSlider.ts +25 -0
  480. package/elements/oj-slider/OjSliderBase.js +71 -0
  481. package/elements/oj-slider/OjSliderBase.js.map +1 -0
  482. package/elements/oj-slider/OjSliderBase.ts +259 -0
  483. package/elements/oj-slider/index.js +17 -0
  484. package/elements/oj-slider/index.js.map +1 -0
  485. package/elements/oj-slider/index.ts +27 -0
  486. package/elements/oj-spark-chart/OjSparkChart.js +8 -0
  487. package/elements/oj-spark-chart/OjSparkChart.js.map +1 -0
  488. package/elements/oj-spark-chart/OjSparkChart.ts +12 -0
  489. package/elements/oj-spark-chart/OjSparkChartBase.js +95 -0
  490. package/elements/oj-spark-chart/OjSparkChartBase.js.map +1 -0
  491. package/elements/oj-spark-chart/OjSparkChartBase.ts +431 -0
  492. package/elements/oj-spark-chart/index.js +17 -0
  493. package/elements/oj-spark-chart/index.js.map +1 -0
  494. package/elements/oj-spark-chart/index.ts +27 -0
  495. package/elements/oj-status-meter-gauge/OjStatusMeterGauge.js +8 -0
  496. package/elements/oj-status-meter-gauge/OjStatusMeterGauge.js.map +1 -0
  497. package/elements/oj-status-meter-gauge/OjStatusMeterGauge.ts +12 -0
  498. package/elements/oj-status-meter-gauge/OjStatusMeterGaugeBase.js +107 -0
  499. package/elements/oj-status-meter-gauge/OjStatusMeterGaugeBase.js.map +1 -0
  500. package/elements/oj-status-meter-gauge/OjStatusMeterGaugeBase.ts +491 -0
  501. package/elements/oj-status-meter-gauge/index.js +17 -0
  502. package/elements/oj-status-meter-gauge/index.js.map +1 -0
  503. package/elements/oj-status-meter-gauge/index.ts +27 -0
  504. package/elements/oj-stream-list/OjStreamList.js +70 -0
  505. package/elements/oj-stream-list/OjStreamList.js.map +1 -0
  506. package/elements/oj-stream-list/OjStreamList.ts +79 -0
  507. package/elements/oj-stream-list/OjStreamListBase.js +29 -0
  508. package/elements/oj-stream-list/OjStreamListBase.js.map +1 -0
  509. package/elements/oj-stream-list/OjStreamListBase.ts +109 -0
  510. package/elements/oj-stream-list/index.js +17 -0
  511. package/elements/oj-stream-list/index.js.map +1 -0
  512. package/elements/oj-stream-list/index.ts +27 -0
  513. package/elements/oj-sunburst/OjSunburst.js +8 -0
  514. package/elements/oj-sunburst/OjSunburst.js.map +1 -0
  515. package/elements/oj-sunburst/OjSunburst.ts +12 -0
  516. package/elements/oj-sunburst/OjSunburstBase.js +104 -0
  517. package/elements/oj-sunburst/OjSunburstBase.js.map +1 -0
  518. package/elements/oj-sunburst/OjSunburstBase.ts +512 -0
  519. package/elements/oj-sunburst/index.js +17 -0
  520. package/elements/oj-sunburst/index.js.map +1 -0
  521. package/elements/oj-sunburst/index.ts +27 -0
  522. package/elements/oj-swipe-actions/OjSwipeActions.js +19 -0
  523. package/elements/oj-swipe-actions/OjSwipeActions.js.map +1 -0
  524. package/elements/oj-swipe-actions/OjSwipeActions.ts +30 -0
  525. package/elements/oj-swipe-actions/OjSwipeActionsBase.js +11 -0
  526. package/elements/oj-swipe-actions/OjSwipeActionsBase.js.map +1 -0
  527. package/elements/oj-swipe-actions/OjSwipeActionsBase.ts +37 -0
  528. package/elements/oj-swipe-actions/index.js +17 -0
  529. package/elements/oj-swipe-actions/index.js.map +1 -0
  530. package/elements/oj-swipe-actions/index.ts +27 -0
  531. package/elements/oj-switch/OjSwitch.js +16 -0
  532. package/elements/oj-switch/OjSwitch.js.map +1 -0
  533. package/elements/oj-switch/OjSwitch.ts +26 -0
  534. package/elements/oj-switch/OjSwitchBase.js +56 -0
  535. package/elements/oj-switch/OjSwitchBase.js.map +1 -0
  536. package/elements/oj-switch/OjSwitchBase.ts +192 -0
  537. package/elements/oj-switch/index.js +17 -0
  538. package/elements/oj-switch/index.js.map +1 -0
  539. package/elements/oj-switch/index.ts +27 -0
  540. package/elements/oj-tab-bar/OjTabBar.js +8 -0
  541. package/elements/oj-tab-bar/OjTabBar.js.map +1 -0
  542. package/elements/oj-tab-bar/OjTabBar.ts +12 -0
  543. package/elements/oj-tab-bar/OjTabBarBase.js +50 -0
  544. package/elements/oj-tab-bar/OjTabBarBase.js.map +1 -0
  545. package/elements/oj-tab-bar/OjTabBarBase.ts +200 -0
  546. package/elements/oj-tab-bar/index.js +17 -0
  547. package/elements/oj-tab-bar/index.js.map +1 -0
  548. package/elements/oj-tab-bar/index.ts +27 -0
  549. package/elements/oj-table/OjTable.js +33 -0
  550. package/elements/oj-table/OjTable.js.map +1 -0
  551. package/elements/oj-table/OjTable.ts +52 -0
  552. package/elements/oj-table/OjTableBase.js +98 -0
  553. package/elements/oj-table/OjTableBase.js.map +1 -0
  554. package/elements/oj-table/OjTableBase.ts +702 -0
  555. package/elements/oj-table/index.js +17 -0
  556. package/elements/oj-table/index.js.map +1 -0
  557. package/elements/oj-table/index.ts +27 -0
  558. package/elements/oj-tag-cloud/OjTagCloud.js +8 -0
  559. package/elements/oj-tag-cloud/OjTagCloud.js.map +1 -0
  560. package/elements/oj-tag-cloud/OjTagCloud.ts +12 -0
  561. package/elements/oj-tag-cloud/OjTagCloudBase.js +68 -0
  562. package/elements/oj-tag-cloud/OjTagCloudBase.js.map +1 -0
  563. package/elements/oj-tag-cloud/OjTagCloudBase.ts +318 -0
  564. package/elements/oj-tag-cloud/index.js +17 -0
  565. package/elements/oj-tag-cloud/index.js.map +1 -0
  566. package/elements/oj-tag-cloud/index.ts +27 -0
  567. package/elements/oj-text-area/OjTextArea.js +10 -0
  568. package/elements/oj-text-area/OjTextArea.js.map +1 -0
  569. package/elements/oj-text-area/OjTextArea.ts +14 -0
  570. package/elements/oj-text-area/OjTextAreaBase.js +95 -0
  571. package/elements/oj-text-area/OjTextAreaBase.js.map +1 -0
  572. package/elements/oj-text-area/OjTextAreaBase.ts +365 -0
  573. package/elements/oj-text-area/index.js +17 -0
  574. package/elements/oj-text-area/index.js.map +1 -0
  575. package/elements/oj-text-area/index.ts +27 -0
  576. package/elements/oj-thematic-map/OjThematicMap.js +8 -0
  577. package/elements/oj-thematic-map/OjThematicMap.js.map +1 -0
  578. package/elements/oj-thematic-map/OjThematicMap.ts +12 -0
  579. package/elements/oj-thematic-map/OjThematicMapBase.js +119 -0
  580. package/elements/oj-thematic-map/OjThematicMapBase.js.map +1 -0
  581. package/elements/oj-thematic-map/OjThematicMapBase.ts +777 -0
  582. package/elements/oj-thematic-map/index.js +17 -0
  583. package/elements/oj-thematic-map/index.js.map +1 -0
  584. package/elements/oj-thematic-map/index.ts +27 -0
  585. package/elements/oj-time-axis/OjTimeAxis.js +8 -0
  586. package/elements/oj-time-axis/OjTimeAxis.js.map +1 -0
  587. package/elements/oj-time-axis/OjTimeAxis.ts +12 -0
  588. package/elements/oj-time-axis/OjTimeAxisBase.js +26 -0
  589. package/elements/oj-time-axis/OjTimeAxisBase.js.map +1 -0
  590. package/elements/oj-time-axis/OjTimeAxisBase.ts +176 -0
  591. package/elements/oj-time-axis/index.js +17 -0
  592. package/elements/oj-time-axis/index.js.map +1 -0
  593. package/elements/oj-time-axis/index.ts +27 -0
  594. package/elements/oj-timeline/OjTimeline.js +8 -0
  595. package/elements/oj-timeline/OjTimeline.js.map +1 -0
  596. package/elements/oj-timeline/OjTimeline.ts +12 -0
  597. package/elements/oj-timeline/OjTimelineBase.js +71 -0
  598. package/elements/oj-timeline/OjTimelineBase.js.map +1 -0
  599. package/elements/oj-timeline/OjTimelineBase.ts +715 -0
  600. package/elements/oj-timeline/index.js +17 -0
  601. package/elements/oj-timeline/index.js.map +1 -0
  602. package/elements/oj-timeline/index.ts +27 -0
  603. package/elements/oj-train/OjTrain.js +8 -0
  604. package/elements/oj-train/OjTrain.js.map +1 -0
  605. package/elements/oj-train/OjTrain.ts +12 -0
  606. package/elements/oj-train/OjTrainBase.js +20 -0
  607. package/elements/oj-train/OjTrainBase.js.map +1 -0
  608. package/elements/oj-train/OjTrainBase.ts +72 -0
  609. package/elements/oj-train/index.js +17 -0
  610. package/elements/oj-train/index.js.map +1 -0
  611. package/elements/oj-train/index.ts +27 -0
  612. package/elements/oj-tree-view/OjTreeView.js +80 -0
  613. package/elements/oj-tree-view/OjTreeView.js.map +1 -0
  614. package/elements/oj-tree-view/OjTreeView.ts +117 -0
  615. package/elements/oj-tree-view/OjTreeViewBase.js +35 -0
  616. package/elements/oj-tree-view/OjTreeViewBase.js.map +1 -0
  617. package/elements/oj-tree-view/OjTreeViewBase.ts +131 -0
  618. package/elements/oj-tree-view/index.js +17 -0
  619. package/elements/oj-tree-view/index.js.map +1 -0
  620. package/elements/oj-tree-view/index.ts +27 -0
  621. package/elements/oj-treemap/OjTreemap.js +8 -0
  622. package/elements/oj-treemap/OjTreemap.js.map +1 -0
  623. package/elements/oj-treemap/OjTreemap.ts +12 -0
  624. package/elements/oj-treemap/OjTreemapBase.js +110 -0
  625. package/elements/oj-treemap/OjTreemapBase.js.map +1 -0
  626. package/elements/oj-treemap/OjTreemapBase.ts +594 -0
  627. package/elements/oj-treemap/index.js +17 -0
  628. package/elements/oj-treemap/index.js.map +1 -0
  629. package/elements/oj-treemap/index.ts +27 -0
  630. package/elements/oj-waterfall-layout/OjWaterfallLayout.js +8 -0
  631. package/elements/oj-waterfall-layout/OjWaterfallLayout.js.map +1 -0
  632. package/elements/oj-waterfall-layout/OjWaterfallLayout.ts +12 -0
  633. package/elements/oj-waterfall-layout/OjWaterfallLayoutBase.js +23 -0
  634. package/elements/oj-waterfall-layout/OjWaterfallLayoutBase.js.map +1 -0
  635. package/elements/oj-waterfall-layout/OjWaterfallLayoutBase.ts +87 -0
  636. package/elements/oj-waterfall-layout/index.js +17 -0
  637. package/elements/oj-waterfall-layout/index.js.map +1 -0
  638. package/elements/oj-waterfall-layout/index.ts +27 -0
  639. package/index.js +164 -0
  640. package/index.js.map +1 -0
  641. package/index.ts +440 -0
  642. package/lib/Expectation.js +189 -0
  643. package/lib/Expectation.js.map +1 -0
  644. package/lib/Expectation.ts +272 -0
  645. package/lib/OjFetch.js +83 -0
  646. package/lib/OjFetch.js.map +1 -0
  647. package/lib/OjFetch.ts +158 -0
  648. package/lib/ScreenshotManager.js +113 -0
  649. package/lib/ScreenshotManager.js.map +1 -0
  650. package/lib/ScreenshotManager.ts +195 -0
  651. package/lib/driver-manager.js +89 -0
  652. package/lib/driver-manager.js.map +1 -0
  653. package/lib/driver-manager.ts +330 -0
  654. package/lib/driver-override.js +120 -0
  655. package/lib/driver-override.js.map +1 -0
  656. package/lib/driver-override.ts +255 -0
  657. package/lib/input-utils.js +24 -0
  658. package/lib/input-utils.js.map +1 -0
  659. package/lib/input-utils.ts +50 -0
  660. package/lib/slot-proxy.js +25 -0
  661. package/lib/slot-proxy.js.map +1 -0
  662. package/lib/slot-proxy.ts +61 -0
  663. package/lib/stale-element.js +29 -0
  664. package/lib/stale-element.js.map +1 -0
  665. package/lib/stale-element.ts +44 -0
  666. package/package.json +19 -0
  667. package/tsconfig.json +10 -0
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.register = void 0;
4
+ const selenium_webdriver_1 = require("selenium-webdriver");
5
+ const OjWebElement_1 = require("../elements/OjWebElement");
6
+ const stale_element_1 = require("./stale-element");
7
+ function register(tagName, ctor) {
8
+ WebElementRegistry.register(tagName, ctor);
9
+ }
10
+ exports.register = register;
11
+ class WebElementRegistry {
12
+ static register(tagName, ctor) {
13
+ WebElementRegistry.tagToCtorMap[tagName] = ctor;
14
+ }
15
+ static get(tagName) {
16
+ return WebElementRegistry.tagToCtorMap[tagName];
17
+ }
18
+ }
19
+ WebElementRegistry.tagToCtorMap = {};
20
+ selenium_webdriver_1.WebDriver.prototype.findElement = wrapFindElement(selenium_webdriver_1.WebDriver.prototype.findElement);
21
+ selenium_webdriver_1.WebDriver.prototype.findElements = wrapFindElements(selenium_webdriver_1.WebDriver.prototype.findElements);
22
+ selenium_webdriver_1.WebElement.prototype.findElement = wrapFindElement(selenium_webdriver_1.WebElement.prototype.findElement);
23
+ selenium_webdriver_1.WebElement.prototype.findElements = wrapFindElements(selenium_webdriver_1.WebElement.prototype.findElements);
24
+ selenium_webdriver_1.WebDriver.prototype.executeScript = wrapExecuteScript(selenium_webdriver_1.WebDriver.prototype.executeScript);
25
+ selenium_webdriver_1.WebDriver.prototype.executeAsyncScript = wrapExecuteScript(selenium_webdriver_1.WebDriver.prototype.executeAsyncScript);
26
+ function wrapFindElement(origFunc) {
27
+ return function findElement(locator) {
28
+ const elPromise = origFunc.call(this, locator);
29
+ const parentEl = this instanceof selenium_webdriver_1.WebElement ? this : undefined;
30
+ return new selenium_webdriver_1.WebElementPromise(elPromise.getDriver(), elPromise.then(async (el) => {
31
+ const isJet = await isJetPage(el.getDriver());
32
+ return isJet ? createTestAdapter(el, locator, parentEl) : el;
33
+ }));
34
+ };
35
+ }
36
+ function wrapFindElements(origFunc) {
37
+ return async function findElements(locator) {
38
+ const elRef = this instanceof selenium_webdriver_1.WebElement ? this : undefined;
39
+ const matches = await origFunc.call(this, locator);
40
+ let weMatches = [];
41
+ const isJet = matches.length && await isJetPage(matches[0].getDriver());
42
+ if (isJet) {
43
+ for (let el, i = 0, len = matches.length; i < len; i++) {
44
+ el = matches[i];
45
+ const ce = await createTestAdapter(el, locator, elRef, i);
46
+ weMatches.push(ce);
47
+ }
48
+ }
49
+ else {
50
+ weMatches = matches;
51
+ }
52
+ return weMatches;
53
+ };
54
+ }
55
+ function wrapExecuteScript(origFunc) {
56
+ return async function (...args) {
57
+ var _a;
58
+ try {
59
+ const ret = await origFunc.apply(this, args);
60
+ return ret;
61
+ }
62
+ catch (ex) {
63
+ if (ex instanceof selenium_webdriver_1.error.StaleElementReferenceError) {
64
+ const newArgs = [];
65
+ const locators = [];
66
+ for (let i = 0, len = args.length; i < len; i++) {
67
+ let arg = args[i];
68
+ if (arg instanceof OjWebElement_1.OjWebElement) {
69
+ arg = await stale_element_1.requeryElement(arg);
70
+ locators.push((_a = arg._locators) === null || _a === void 0 ? void 0 : _a.elLocator);
71
+ }
72
+ newArgs.push(arg);
73
+ }
74
+ console.warn(`Trapped stale element executing script on ${locators}`);
75
+ return origFunc.apply(this, newArgs);
76
+ }
77
+ throw ex;
78
+ }
79
+ };
80
+ }
81
+ async function isJetPage(driver) {
82
+ try {
83
+ await driver.executeScript('require("ojs/ojcontext")');
84
+ return true;
85
+ }
86
+ catch (ex) { }
87
+ return false;
88
+ }
89
+ async function createTestAdapter(el, elLocator, parentEl, elementsIndex) {
90
+ const tagName = await getTagName(el, elLocator, parentEl, elementsIndex);
91
+ const ctor = WebElementRegistry.get(tagName) || OjWebElement_1.OjWebElement;
92
+ return new ctor(el, {
93
+ elLocator,
94
+ elementsIndex,
95
+ parentEl,
96
+ tagName,
97
+ });
98
+ }
99
+ async function getTagName(el, elLocator, parentEl, elementsIndex) {
100
+ let tagName;
101
+ try {
102
+ tagName = await el.getTagName();
103
+ }
104
+ catch (ex) {
105
+ if (ex instanceof selenium_webdriver_1.error.StaleElementReferenceError && elLocator) {
106
+ const driver = parentEl || el.getDriver();
107
+ let requeried;
108
+ if (elementsIndex === undefined) {
109
+ requeried = await driver.findElement(elLocator);
110
+ }
111
+ else {
112
+ const matches = await driver.findElements(elLocator);
113
+ requeried = matches[elementsIndex];
114
+ }
115
+ tagName = await getTagName(requeried, elLocator, parentEl, elementsIndex);
116
+ }
117
+ }
118
+ return tagName;
119
+ }
120
+ //# sourceMappingURL=driver-override.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver-override.js","sourceRoot":"","sources":["../../../rt/src/test/webdriverjs/oraclejet-webdriver/lib/driver-override.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,255 @@
1
+ import {
2
+ error,
3
+ Locator,
4
+ WebDriver,
5
+ WebElement,
6
+ WebElementPromise,
7
+ } from "selenium-webdriver";
8
+
9
+ // Import OjWebElement directly from its file rather than through
10
+ // 'elements' package, to avoid circular dependency (elements will
11
+ // call to register themselves upon loading)
12
+ import { OjWebElement, ElementLocators } from "../elements/OjWebElement";
13
+ import { requeryElement } from "./stale-element";
14
+
15
+ /**
16
+ * Register a constructor for a custom WebElement for a given tag name.
17
+ * @param tagName The DOM tag name for the custom element
18
+ * @param ctor The constructor function for the custom WebElement
19
+ */
20
+ export function register(
21
+ tagName: string,
22
+ ctor: new (el: WebElement, locators: ElementLocators) => OjWebElement
23
+ ) {
24
+ WebElementRegistry.register(tagName, ctor);
25
+ }
26
+
27
+ /**
28
+ * A registry which associates the constructors for custom WebElements with their
29
+ * associated tag names. This registry should only be used internally by custom
30
+ * WebElement implementations, and shouldn't be used directly in tests.
31
+ */
32
+ class WebElementRegistry {
33
+ /**
34
+ * Register a constructor for a custom WebElement for a given tag name.
35
+ * @param tagName The DOM tag name for the custom element
36
+ * @param ctor The constructor function for the custom WebElement
37
+ */
38
+ public static register(
39
+ tagName: string,
40
+ ctor: new (el: WebElement, locators: ElementLocators) => OjWebElement
41
+ ) {
42
+ WebElementRegistry.tagToCtorMap[tagName] = ctor;
43
+ }
44
+ /**
45
+ * Get the constructor for a custom WebElement given a tag name.
46
+ * @param tagName The DOM tag name for the custom element
47
+ * @return A custom WebElement constructor for the given tagName, or undefined
48
+ * if none exists.
49
+ */
50
+ public static get(
51
+ tagName: string
52
+ ): new (el: WebElement, locators: ElementLocators) => OjWebElement {
53
+ return WebElementRegistry.tagToCtorMap[tagName];
54
+ }
55
+ /**
56
+ * A mapping of element tag names to WebElement constructors
57
+ */
58
+ private static tagToCtorMap: {
59
+ [tagName: string]: new (
60
+ el: WebElement,
61
+ locators: ElementLocators
62
+ ) => OjWebElement;
63
+ } = {};
64
+ }
65
+
66
+ WebDriver.prototype.findElement = wrapFindElement(
67
+ WebDriver.prototype.findElement
68
+ );
69
+ WebDriver.prototype.findElements = wrapFindElements(
70
+ WebDriver.prototype.findElements
71
+ );
72
+
73
+ WebElement.prototype.findElement = wrapFindElement(
74
+ WebElement.prototype.findElement
75
+ );
76
+ WebElement.prototype.findElements = wrapFindElements(
77
+ WebElement.prototype.findElements
78
+ );
79
+
80
+ WebDriver.prototype.executeScript = wrapExecuteScript(
81
+ WebDriver.prototype.executeScript
82
+ );
83
+ WebDriver.prototype.executeAsyncScript = wrapExecuteScript(
84
+ WebDriver.prototype.executeAsyncScript
85
+ );
86
+
87
+ /**
88
+ * Create a wrapper for findElement()
89
+ * @param origFunc The original findElement function
90
+ */
91
+ function wrapFindElement(origFunc: (locator: Locator) => WebElementPromise) {
92
+ return function findElement(locator: Locator): WebElementPromise {
93
+ const elPromise = origFunc.call(this, locator);
94
+ // Pass ourselves as parent if this is WebElement.findElement
95
+ const parentEl = this instanceof WebElement ? this : undefined;
96
+ return new WebElementPromise(
97
+ elPromise.getDriver(),
98
+ elPromise.then(async (el: WebElement) => {
99
+ const isJet = await isJetPage(el.getDriver());
100
+ return isJet ? createTestAdapter(el, locator, parentEl) : el;
101
+ })
102
+ );
103
+ };
104
+ }
105
+ /**
106
+ * Create a wrapper for findElements()
107
+ * @param origFunc The original findElements function
108
+ */
109
+ function wrapFindElements(
110
+ origFunc: (locator: Locator) => Promise<WebElement[]>
111
+ ) {
112
+ return async function findElements(locator: Locator): Promise<WebElement[]> {
113
+ // Pass ourselves as parent if this is WebElement.findElements
114
+ const elRef = this instanceof WebElement ? this : undefined;
115
+ const matches = await origFunc.call(this, locator);
116
+ let weMatches: WebElement[] = [];
117
+ const isJet = matches.length && await isJetPage(matches[0].getDriver());
118
+ if (isJet) {
119
+ for (let el, i = 0, len = matches.length; i < len; i++) {
120
+ el = matches[i];
121
+ const ce = await createTestAdapter(el, locator, elRef, i);
122
+ weMatches.push(ce);
123
+ }
124
+ } else {
125
+ weMatches = matches;
126
+ }
127
+ return weMatches;
128
+ };
129
+ }
130
+
131
+ /**
132
+ * Wrap WebDriver.executeScript/executeAsyncScript with a function that traps
133
+ * StaleElementReferenceError and requeries the element(s) to try again
134
+ * @param origFunc The original driver.executeScript/executeAsyncScript
135
+ */
136
+ function wrapExecuteScript(origFunc: <T>(...args: any) => Promise<T>) {
137
+ return async function<T>(...args: any[]): Promise<T> {
138
+ try {
139
+ const ret: T = await origFunc.apply(this, args);
140
+ return ret;
141
+ } catch (ex) {
142
+ if (ex instanceof error.StaleElementReferenceError) {
143
+ const newArgs = [];
144
+ const locators = [];
145
+ for (let i = 0, len = args.length; i < len; i++) {
146
+ let arg = args[i];
147
+ // Requery arguments which are OjWebElements
148
+ if (arg instanceof OjWebElement) {
149
+ arg = await requeryElement(arg);
150
+ locators.push(arg._locators?.elLocator);
151
+ }
152
+ newArgs.push(arg);
153
+ }
154
+ console.warn(
155
+ `Trapped stale element executing script on ${locators}`
156
+ );
157
+ return origFunc.apply(this, newArgs);
158
+ }
159
+ throw ex;
160
+ }
161
+ };
162
+ }
163
+
164
+ /**
165
+ * Test if the page is a JET page.
166
+ * @param driver WebDriver instance
167
+ * @returns {boolean} Returns true if JET page, false otherwise
168
+ */
169
+ async function isJetPage(driver: WebDriver): Promise<boolean> {
170
+ try {
171
+ // Check that the page has RequireJS and ojs/ojcontext module
172
+ await driver.executeScript('require("ojs/ojcontext")');
173
+ return true;
174
+ } catch (ex) {}
175
+ return false;
176
+ }
177
+
178
+ /**
179
+ * Create a custom WebElement from the original one. The WebElement constructor
180
+ * is looked up in WebElementRegistry using the element's tag name, and the
181
+ * registry is populated by each custom element. If no constructor is found,
182
+ * OjWebElement is used.
183
+ * @param el The original WebElement
184
+ * @param elLocator The By locator used to originally locate the element. This
185
+ * locator will be used to re-query the element for its tagName if stale element
186
+ * exception is encountered. If not supplied, this function will return OjWebElement
187
+ * @param parentEl The immediate parent from which we were queried (WebElement.findElement)
188
+ * @param elementsIndex The index within the array of WebElements returned from
189
+ * findElements.
190
+ * detected.
191
+ * @return {OjWebElement} The test adapter for the given element, or OjWebElement
192
+ * if none exists
193
+ */
194
+ async function createTestAdapter(
195
+ el: WebElement,
196
+ elLocator?: Locator,
197
+ parentEl?: OjWebElement,
198
+ elementsIndex?: number
199
+ ): Promise<WebElement> {
200
+ // Call exception-trapping getTagName() to ensure any exceptions are caught,
201
+ // and the call returns.
202
+ const tagName = await getTagName(el, elLocator, parentEl, elementsIndex);
203
+ const ctor = WebElementRegistry.get(tagName) || OjWebElement;
204
+ return new ctor(el, {
205
+ elLocator,
206
+ elementsIndex,
207
+ parentEl,
208
+ tagName,
209
+ });
210
+ }
211
+
212
+ /**
213
+ * Query the for element's tag name. This function traps StaleElement exceptions
214
+ * and requeries the element to try the call again. All other exceptions are
215
+ * caught and an empty tagName will be returned.
216
+ * @param el The original element
217
+ * @param elLocator The element Locator
218
+ * @param parentEl A parent element which contains the element, if any
219
+ * @param elementsIndex An index in the array of matched items for the original
220
+ * element
221
+ * @return {string} The element's tag name
222
+ */
223
+ async function getTagName(
224
+ el: WebElement,
225
+ elLocator?: Locator,
226
+ parentEl?: OjWebElement,
227
+ elementsIndex?: number
228
+ ): Promise<string> {
229
+ let tagName: string;
230
+ try {
231
+ tagName = await el.getTagName();
232
+ } catch (ex) {
233
+ // Only try to requery on stale element exception if original elLocator
234
+ // exists. The locator is present most of the time, except if the element
235
+ // was returned from driver.wait(until.elementLocated). That method doesn't
236
+ // provide access to the original locator.
237
+ if (ex instanceof error.StaleElementReferenceError && elLocator) {
238
+ const driver = parentEl || el.getDriver();
239
+ let requeried: WebElement;
240
+
241
+ if (elementsIndex === undefined) {
242
+ // Element found with findElement (single)
243
+ requeried = await driver.findElement(elLocator);
244
+ } else {
245
+ // Element found with findElements (multiple)
246
+ const matches = await driver.findElements(elLocator);
247
+ requeried = matches[elementsIndex];
248
+ }
249
+ // Call exception-trapping getTagName() again, just in case another exception
250
+ // occurs with calling element.getTagName() on the new re-queried element.
251
+ tagName = await getTagName(requeried, elLocator, parentEl, elementsIndex);
252
+ }
253
+ }
254
+ return tagName;
255
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mixinChangeValue = void 0;
4
+ const selenium_webdriver_1 = require("selenium-webdriver");
5
+ function mixinChangeValue(clazz) {
6
+ Object.defineProperty(clazz.prototype, "changeValue", {
7
+ value: async function (value) {
8
+ const input = await this.findElement(selenium_webdriver_1.By.css('.oj-text-field-input'));
9
+ await input.clear();
10
+ await input.sendKeys(value);
11
+ return this.getDriver().executeAsyncScript(`
12
+ let el = arguments[0];
13
+ let done = arguments[1];
14
+ if (typeof el.validate === 'function') {
15
+ el.validate().then(done).catch(done);
16
+ } else {
17
+ done();
18
+ }
19
+ `, this);
20
+ },
21
+ });
22
+ }
23
+ exports.mixinChangeValue = mixinChangeValue;
24
+ //# sourceMappingURL=input-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-utils.js","sourceRoot":"","sources":["../../../rt/src/test/webdriverjs/oraclejet-webdriver/lib/input-utils.ts"],"names":[],"mappings":";;;AAIA,2DAAwC;AA0BxC,SAAgB,gBAAgB,CAAC,KAA0B;IACzD,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE;QACpD,KAAK,EAAE,KAAK,WAAW,KAAa;YAElC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,uBAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;YACrE,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YAEpB,MAAM,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC5B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,kBAAkB,CAAC;;;;;;;;OAQ1C,EAAE,IAAI,CAAC,CAAC;QACX,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAnBD,4CAmBC"}
@@ -0,0 +1,50 @@
1
+ /*
2
+ * Set of utilities common to input component test adapters
3
+ */
4
+
5
+ import { By } from "selenium-webdriver";
6
+ import { OjWebElement } from "../elements";
7
+
8
+ /**
9
+ * This method should only be called by test adapter classes for input components
10
+ * which support text input, such as oj-input-text, oj-input-date, etc.
11
+ * Mixin a "changeValue" function to the given class to perform a value change
12
+ * on the component.
13
+ *
14
+ * NOTE: The changeValue method will focus on the component's .oj-text-field-input
15
+ * and call sendKeys to send the value through the component UI. To trigger the
16
+ * value update and validation, this method also calls validate() on the component
17
+ * directly.
18
+ * We don't want to send Tab because that can cause other model updates in the
19
+ * component is embedded within another container which is listening on blur to
20
+ * update its values, such as oj-dynamic-form.
21
+ * We also don't want to send Enter as that can cause containers listening on
22
+ * key events to submit/navigate/etc when Enter is received on any of the fields,
23
+ * such as a field in oj-dialog which closes the dialog when user presses Enter.
24
+ *
25
+ * @param clazz The class to be modified
26
+ * @param inputLocator An optional Locator which identifies the input element to
27
+ * be interacted with. This locator should be relative to the component root, and
28
+ * should be able to receive focus in the DOM. If not specified, the root of the
29
+ * component is assumed to be the focusable element.
30
+ */
31
+ export function mixinChangeValue(clazz: typeof OjWebElement) {
32
+ Object.defineProperty(clazz.prototype, "changeValue", {
33
+ value: async function (value: string) {
34
+ // Find <input> to clear
35
+ const input = await this.findElement(By.css('.oj-text-field-input'));
36
+ await input.clear();
37
+ // Send the value with sendKeys, then call validate()
38
+ await input.sendKeys(value);
39
+ return this.getDriver().executeAsyncScript(`
40
+ let el = arguments[0];
41
+ let done = arguments[1];
42
+ if (typeof el.validate === 'function') {
43
+ el.validate().then(done).catch(done);
44
+ } else {
45
+ done();
46
+ }
47
+ `, this);
48
+ },
49
+ });
50
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.slotProxy = void 0;
4
+ function slotProxy(el) {
5
+ if (!el) {
6
+ throw Error('No root element given for SlotProxy');
7
+ }
8
+ return new SlotProxyImpl(el);
9
+ }
10
+ exports.slotProxy = slotProxy;
11
+ class SlotProxyImpl {
12
+ constructor(el) {
13
+ this._root = el;
14
+ }
15
+ getDriver() {
16
+ return this._root.getDriver();
17
+ }
18
+ findElement(locator) {
19
+ return this._root.findElement(locator);
20
+ }
21
+ findElements(locator) {
22
+ return this._root.findElements(locator);
23
+ }
24
+ }
25
+ //# sourceMappingURL=slot-proxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slot-proxy.js","sourceRoot":"","sources":["../../../rt/src/test/webdriverjs/oraclejet-webdriver/lib/slot-proxy.ts"],"names":[],"mappings":";;;AA+BA,SAAgB,SAAS,CAAC,EAAc;IACtC,IAAI,CAAC,EAAE,EAAE;QACP,MAAM,KAAK,CAAC,qCAAqC,CAAC,CAAC;KACpD;IACD,OAAO,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC;AAC/B,CAAC;AALD,8BAKC;AAMD,MAAM,aAAa;IAGjB,YAAY,EAAc;QACxB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;IAChC,CAAC;IAED,WAAW,CAAC,OAAgB;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,YAAY,CAAC,OAAgB;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;CACF"}
@@ -0,0 +1,61 @@
1
+ import {
2
+ WebElement,
3
+ Locator,
4
+ WebElementPromise,
5
+ WebDriver
6
+ } from "selenium-webdriver";
7
+
8
+ /**
9
+ * A proxy to the underlying WebElement which represents a slot/single row within
10
+ * the component.
11
+ */
12
+ export interface SlotProxy {
13
+ /**
14
+ * Find a WebElement within this SlotProxy
15
+ * @param locator The element locator
16
+ */
17
+ findElement(locator: Locator): WebElementPromise;
18
+ /**
19
+ * Find an array of matching elements within this SlotProxy
20
+ * @param locator The elements locator
21
+ */
22
+ findElements(locator: Locator): Promise<WebElement[]>;
23
+ }
24
+
25
+
26
+ /**
27
+ * Create a SlotProxy proxy for the given WebElement
28
+ * @param el The WebElement to proxy
29
+ * @return {SlotProxy} A SlotProxy implementation which wraps the given
30
+ * WebElement.
31
+ */
32
+ export function slotProxy(el: WebElement): SlotProxy {
33
+ if (!el) {
34
+ throw Error('No root element given for SlotProxy');
35
+ }
36
+ return new SlotProxyImpl(el);
37
+ }
38
+
39
+ /*
40
+ * Default implementation of SlotProxy, used to wrap the underlying WebElement
41
+ * for the collection row and delegate exposed functionality to that WebElement.
42
+ */
43
+ class SlotProxyImpl implements SlotProxy {
44
+ private _root: WebElement;
45
+
46
+ constructor(el: WebElement) {
47
+ this._root = el;
48
+ }
49
+
50
+ getDriver(): WebDriver {
51
+ return this._root.getDriver();
52
+ }
53
+
54
+ findElement(locator: Locator): WebElementPromise {
55
+ return this._root.findElement(locator);
56
+ }
57
+
58
+ findElements(locator: Locator): Promise<WebElement[]> {
59
+ return this._root.findElements(locator);
60
+ }
61
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.requeryElement = void 0;
4
+ async function requeryElement(el) {
5
+ const driver = el.getDriver();
6
+ const locators = el._locators || {};
7
+ let requeried;
8
+ const parentEl = locators.parentEl
9
+ ? await requeryElement(locators.parentEl)
10
+ : driver;
11
+ if (locators.elementsIndex === undefined) {
12
+ requeried = (await parentEl.findElement(locators.elLocator));
13
+ }
14
+ else {
15
+ const elements = await parentEl.findElements(locators.elLocator);
16
+ requeried = elements[locators.elementsIndex];
17
+ }
18
+ if (!requeried) {
19
+ return el;
20
+ }
21
+ const reTagName = await requeried.getTagName();
22
+ if (el.constructor !== requeried.constructor ||
23
+ locators.tagName !== reTagName) {
24
+ throw Error(`Expected to find <${locators.tagName}> but got <${reTagName}>`);
25
+ }
26
+ return requeried;
27
+ }
28
+ exports.requeryElement = requeryElement;
29
+ //# sourceMappingURL=stale-element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stale-element.js","sourceRoot":"","sources":["../../../rt/src/test/webdriverjs/oraclejet-webdriver/lib/stale-element.ts"],"names":[],"mappings":";;;AAQO,KAAK,UAAU,cAAc,CAClC,EAAK;IAEL,MAAM,MAAM,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAI,EAAU,CAAC,SAAS,IAAI,EAAE,CAAC;IAC7C,IAAI,SAAY,CAAC;IAGjB,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ;QAChC,CAAC,CAAC,MAAM,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACzC,CAAC,CAAC,MAAM,CAAC;IAEX,IAAI,QAAQ,CAAC,aAAa,KAAK,SAAS,EAAE;QAExC,SAAS,GAAG,CAAC,MAAM,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAM,CAAC;KACnE;SAAM;QAEL,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACjE,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAM,CAAC;KACnD;IACD,IAAI,CAAC,SAAS,EAAE;QAEd,OAAO,EAAE,CAAC;KACX;IACD,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC;IAE/C,IACE,EAAE,CAAC,WAAW,KAAK,SAAS,CAAC,WAAW;QACxC,QAAQ,CAAC,OAAO,KAAK,SAAS,EAC9B;QACA,MAAM,KAAK,CACT,qBAAqB,QAAQ,CAAC,OAAO,cAAc,SAAS,GAAG,CAChE,CAAC;KACH;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAnCD,wCAmCC"}
@@ -0,0 +1,44 @@
1
+ import { OjWebElement } from "../elements";
2
+
3
+ /**
4
+ * Requery the WebElement using its stored locator
5
+ * @private
6
+ * @param el The WebElement to requery
7
+ * @return A Promise with the re-queried WebElement
8
+ */
9
+ export async function requeryElement<T extends OjWebElement>(
10
+ el: T
11
+ ): Promise<T> {
12
+ const driver = el.getDriver();
13
+ const locators = (el as any)._locators || {};
14
+ let requeried: T;
15
+
16
+ // If parentEl exists, find it first before locating element
17
+ const parentEl = locators.parentEl
18
+ ? await requeryElement(locators.parentEl)
19
+ : driver;
20
+
21
+ if (locators.elementsIndex === undefined) {
22
+ // Element found with findElement (single)
23
+ requeried = (await parentEl.findElement(locators.elLocator)) as T;
24
+ } else {
25
+ // Element found with findElements (multiple)
26
+ const elements = await parentEl.findElements(locators.elLocator);
27
+ requeried = elements[locators.elementsIndex] as T;
28
+ }
29
+ if (!requeried) {
30
+ // If element not found return the original element to throw StaleElementReferenceError in sub sequent call
31
+ return el;
32
+ }
33
+ const reTagName = await requeried.getTagName();
34
+ // Check that the requeried element is of the same type as the original.
35
+ if (
36
+ el.constructor !== requeried.constructor ||
37
+ locators.tagName !== reTagName
38
+ ) {
39
+ throw Error(
40
+ `Expected to find <${locators.tagName}> but got <${reTagName}>`
41
+ );
42
+ }
43
+ return requeried;
44
+ }
package/package.json ADDED
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "@oracle/oraclejet-webdriver",
3
+ "version": "10.1.7",
4
+ "description": "Oracle JET WebDriverJS WebElements",
5
+ "config": {
6
+ "revision": "2022-02-17_13-46-45"
7
+ },
8
+ "dependencies": {},
9
+ "devDependencies": {},
10
+ "files": [
11
+ "index.*",
12
+ "tsconfig.json",
13
+ "/elements/**/*",
14
+ "/lib/**/*",
15
+ "/bin/**/*"
16
+ ],
17
+ "scripts": {
18
+ }
19
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,10 @@
1
+ {
2
+ "extends": "../tsconfig",
3
+ "compilerOptions": {
4
+ "rootDir": "."
5
+ },
6
+ "include": [
7
+ "index.ts",
8
+ "elements/**/*.ts"
9
+ ]
10
+ }