@oracle/oraclejet-webdriver 10.0.8

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 +233 -0
  13. package/elements/OjWebElement.js.map +1 -0
  14. package/elements/OjWebElement.ts +675 -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 +35 -0
  172. package/elements/oj-file-picker/OjFilePicker.js.map +1 -0
  173. package/elements/oj-file-picker/OjFilePicker.ts +46 -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 +8 -0
  550. package/elements/oj-table/OjTable.js.map +1 -0
  551. package/elements/oj-table/OjTable.ts +12 -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 +171 -0
  640. package/index.js.map +1 -0
  641. package/index.ts +449 -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 +116 -0
  655. package/lib/driver-override.js.map +1 -0
  656. package/lib/driver-override.ts +270 -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 +26 -0
  664. package/lib/stale-element.js.map +1 -0
  665. package/lib/stale-element.ts +40 -0
  666. package/package.json +19 -0
  667. package/tsconfig.json +10 -0
@@ -0,0 +1,116 @@
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.wait = wrapWait(selenium_webdriver_1.WebDriver.prototype.wait);
25
+ selenium_webdriver_1.WebDriver.prototype.executeScript = wrapExecuteScript(selenium_webdriver_1.WebDriver.prototype.executeScript);
26
+ selenium_webdriver_1.WebDriver.prototype.executeAsyncScript = wrapExecuteScript(selenium_webdriver_1.WebDriver.prototype.executeAsyncScript);
27
+ function wrapFindElement(origFunc) {
28
+ return function findElement(locator) {
29
+ const elPromise = origFunc.call(this, locator);
30
+ const parentEl = this instanceof selenium_webdriver_1.WebElement ? this : undefined;
31
+ return new selenium_webdriver_1.WebElementPromise(elPromise.getDriver(), elPromise.then((el) => createTestAdapter(el, locator, parentEl)));
32
+ };
33
+ }
34
+ function wrapFindElements(origFunc) {
35
+ return async function findElements(locator) {
36
+ const elRef = this instanceof selenium_webdriver_1.WebElement ? this : undefined;
37
+ const matches = await origFunc.call(this, locator);
38
+ const weMatches = [];
39
+ for (let el, i = 0, len = matches.length; i < len; i++) {
40
+ el = matches[i];
41
+ const ce = await createTestAdapter(el, locator, elRef, i);
42
+ weMatches.push(ce);
43
+ }
44
+ return weMatches;
45
+ };
46
+ }
47
+ function wrapWait(origFunc) {
48
+ return function wait(condition, optTimeout, optMessage) {
49
+ return origFunc
50
+ .call(this, condition, optTimeout, optMessage)
51
+ .then((p) => {
52
+ if (p instanceof selenium_webdriver_1.WebElement) {
53
+ return createTestAdapter(p);
54
+ }
55
+ return p;
56
+ });
57
+ };
58
+ }
59
+ function wrapExecuteScript(origFunc) {
60
+ return async function (...args) {
61
+ var _a;
62
+ try {
63
+ const ret = await origFunc.apply(this, args);
64
+ return ret;
65
+ }
66
+ catch (ex) {
67
+ if (ex instanceof selenium_webdriver_1.error.StaleElementReferenceError) {
68
+ const newArgs = [];
69
+ const locators = [];
70
+ for (let i = 0, len = args.length; i < len; i++) {
71
+ let arg = args[i];
72
+ if (arg instanceof OjWebElement_1.OjWebElement) {
73
+ arg = await stale_element_1.requeryElement(arg);
74
+ locators.push((_a = arg._locators) === null || _a === void 0 ? void 0 : _a.elLocator);
75
+ }
76
+ newArgs.push(arg);
77
+ }
78
+ console.warn(`Trapped stale element executing script on ${locators}`);
79
+ return origFunc.apply(this, newArgs);
80
+ }
81
+ throw ex;
82
+ }
83
+ };
84
+ }
85
+ async function createTestAdapter(el, elLocator, parentEl, elementsIndex) {
86
+ const tagName = await getTagName(el, elLocator, parentEl, elementsIndex);
87
+ const ctor = WebElementRegistry.get(tagName) || OjWebElement_1.OjWebElement;
88
+ return new ctor(el, {
89
+ elLocator,
90
+ elementsIndex,
91
+ parentEl,
92
+ tagName,
93
+ });
94
+ }
95
+ async function getTagName(el, elLocator, parentEl, elementsIndex) {
96
+ let tagName;
97
+ try {
98
+ tagName = await el.getTagName();
99
+ }
100
+ catch (ex) {
101
+ if (ex instanceof selenium_webdriver_1.error.StaleElementReferenceError && elLocator) {
102
+ const driver = parentEl || el.getDriver();
103
+ let requeried;
104
+ if (elementsIndex === undefined) {
105
+ requeried = await driver.findElement(elLocator);
106
+ }
107
+ else {
108
+ const matches = await driver.findElements(elLocator);
109
+ requeried = matches[elementsIndex];
110
+ }
111
+ tagName = await getTagName(requeried, elLocator, parentEl, elementsIndex);
112
+ }
113
+ }
114
+ return tagName;
115
+ }
116
+ //# 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,270 @@
1
+ import {
2
+ error,
3
+ Locator,
4
+ WebDriver,
5
+ WebElement,
6
+ WebElementCondition,
7
+ WebElementPromise,
8
+ } from "selenium-webdriver";
9
+
10
+ // Import OjWebElement directly from its file rather than through
11
+ // 'elements' package, to avoid circular dependency (elements will
12
+ // call to register themselves upon loading)
13
+ import { OjWebElement, ElementLocators } from "../elements/OjWebElement";
14
+ import { requeryElement } from "./stale-element";
15
+
16
+ /**
17
+ * Register a constructor for a custom WebElement for a given tag name.
18
+ * @param tagName The DOM tag name for the custom element
19
+ * @param ctor The constructor function for the custom WebElement
20
+ */
21
+ export function register(
22
+ tagName: string,
23
+ ctor: new (el: WebElement, locators: ElementLocators) => OjWebElement
24
+ ) {
25
+ WebElementRegistry.register(tagName, ctor);
26
+ }
27
+
28
+ /**
29
+ * A registry which associates the constructors for custom WebElements with their
30
+ * associated tag names. This registry should only be used internally by custom
31
+ * WebElement implementations, and shouldn't be used directly in tests.
32
+ */
33
+ class WebElementRegistry {
34
+ /**
35
+ * Register a constructor for a custom WebElement for a given tag name.
36
+ * @param tagName The DOM tag name for the custom element
37
+ * @param ctor The constructor function for the custom WebElement
38
+ */
39
+ public static register(
40
+ tagName: string,
41
+ ctor: new (el: WebElement, locators: ElementLocators) => OjWebElement
42
+ ) {
43
+ WebElementRegistry.tagToCtorMap[tagName] = ctor;
44
+ }
45
+ /**
46
+ * Get the constructor for a custom WebElement given a tag name.
47
+ * @param tagName The DOM tag name for the custom element
48
+ * @return A custom WebElement constructor for the given tagName, or undefined
49
+ * if none exists.
50
+ */
51
+ public static get(
52
+ tagName: string
53
+ ): new (el: WebElement, locators: ElementLocators) => OjWebElement {
54
+ return WebElementRegistry.tagToCtorMap[tagName];
55
+ }
56
+ /**
57
+ * A mapping of element tag names to WebElement constructors
58
+ */
59
+ private static tagToCtorMap: {
60
+ [tagName: string]: new (
61
+ el: WebElement,
62
+ locators: ElementLocators
63
+ ) => OjWebElement;
64
+ } = {};
65
+ }
66
+
67
+ WebDriver.prototype.findElement = wrapFindElement(
68
+ WebDriver.prototype.findElement
69
+ );
70
+ WebDriver.prototype.findElements = wrapFindElements(
71
+ WebDriver.prototype.findElements
72
+ );
73
+
74
+ WebElement.prototype.findElement = wrapFindElement(
75
+ WebElement.prototype.findElement
76
+ );
77
+ WebElement.prototype.findElements = wrapFindElements(
78
+ WebElement.prototype.findElements
79
+ );
80
+
81
+ WebDriver.prototype.wait = wrapWait(WebDriver.prototype.wait);
82
+
83
+ WebDriver.prototype.executeScript = wrapExecuteScript(
84
+ WebDriver.prototype.executeScript
85
+ );
86
+ WebDriver.prototype.executeAsyncScript = wrapExecuteScript(
87
+ WebDriver.prototype.executeAsyncScript
88
+ );
89
+
90
+ /**
91
+ * Create a wrapper for findElement()
92
+ * @param origFunc The original findElement function
93
+ */
94
+ function wrapFindElement(origFunc: (locator: Locator) => WebElementPromise) {
95
+ return function findElement(locator: Locator): WebElementPromise {
96
+ const elPromise = origFunc.call(this, locator);
97
+ // Pass ourselves as parent if this is WebElement.findElement
98
+ const parentEl = this instanceof WebElement ? this : undefined;
99
+ return new WebElementPromise(
100
+ elPromise.getDriver(),
101
+ elPromise.then((el: WebElement) =>
102
+ createTestAdapter(el, locator, parentEl)
103
+ )
104
+ );
105
+ };
106
+ }
107
+ /**
108
+ * Create a wrapper for findElements()
109
+ * @param origFunc The original findElements function
110
+ */
111
+ function wrapFindElements(
112
+ origFunc: (locator: Locator) => Promise<WebElement[]>
113
+ ) {
114
+ return async function findElements(locator: Locator): Promise<WebElement[]> {
115
+ // Pass ourselves as parent if this is WebElement.findElements
116
+ const elRef = this instanceof WebElement ? this : undefined;
117
+ const matches = await origFunc.call(this, locator);
118
+ const weMatches: WebElement[] = [];
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
+ return weMatches;
125
+ };
126
+ }
127
+ /**
128
+ * Create a wrapper for driver.wait() which returns an OjWebElementPromise. Although
129
+ * WebDriver.wait returns WebElementPromise, we need to wrap into a function that
130
+ * returns "any" because createCustomElement returns Promise<WebElement>, and the
131
+ * two types aren't compatible.
132
+ * @param origFunc The driver.wait function
133
+ */
134
+ function wrapWait(
135
+ origFunc: (
136
+ condition: WebElementCondition,
137
+ optTimeout?: number,
138
+ optMessage?: string
139
+ ) => WebElementPromise
140
+ ) {
141
+ return function wait(
142
+ condition: WebElementCondition,
143
+ optTimeout?: number,
144
+ optMessage?: string
145
+ ): WebElementPromise {
146
+ return origFunc
147
+ .call(this, condition, optTimeout, optMessage)
148
+ .then((p: WebElement) => {
149
+ if (p instanceof WebElement) {
150
+ // Note: wait(until.elementLocated) doesn't provide access to original
151
+ // element locator needed by createTestAdapter to requery the element if
152
+ // a StaleElement error occurs
153
+ return createTestAdapter(p);
154
+ }
155
+ return p;
156
+ });
157
+ };
158
+ }
159
+
160
+ /**
161
+ * Wrap WebDriver.executeScript/executeAsyncScript with a function that traps
162
+ * StaleElementReferenceError and requeries the element(s) to try again
163
+ * @param origFunc The original driver.executeScript/executeAsyncScript
164
+ */
165
+ function wrapExecuteScript(origFunc: <T>(...args: any) => Promise<T>) {
166
+ return async function<T>(...args: any[]): Promise<T> {
167
+ try {
168
+ const ret: T = await origFunc.apply(this, args);
169
+ return ret;
170
+ } catch (ex) {
171
+ if (ex instanceof error.StaleElementReferenceError) {
172
+ const newArgs = [];
173
+ const locators = [];
174
+ for (let i = 0, len = args.length; i < len; i++) {
175
+ let arg = args[i];
176
+ // Requery arguments which are OjWebElements
177
+ if (arg instanceof OjWebElement) {
178
+ arg = await requeryElement(arg);
179
+ locators.push(arg._locators?.elLocator);
180
+ }
181
+ newArgs.push(arg);
182
+ }
183
+ console.warn(
184
+ `Trapped stale element executing script on ${locators}`
185
+ );
186
+ return origFunc.apply(this, newArgs);
187
+ }
188
+ throw ex;
189
+ }
190
+ };
191
+ }
192
+
193
+ /**
194
+ * Create a custom WebElement from the original one. The WebElement constructor
195
+ * is looked up in WebElementRegistry using the element's tag name, and the
196
+ * registry is populated by each custom element. If no constructor is found,
197
+ * OjWebElement is used.
198
+ * @param el The original WebElement
199
+ * @param elLocator The By locator used to originally locate the element. This
200
+ * locator will be used to re-query the element for its tagName if stale element
201
+ * exception is encountered. If not supplied, this function will return OjWebElement
202
+ * @param parentEl The immediate parent from which we were queried (WebElement.findElement)
203
+ * @param elementsIndex The index within the array of WebElements returned from
204
+ * findElements.
205
+ * detected.
206
+ * @return {OjWebElement} The test adapter for the given element, or OjWebElement
207
+ * if none exists
208
+ */
209
+ async function createTestAdapter(
210
+ el: WebElement,
211
+ elLocator?: Locator,
212
+ parentEl?: OjWebElement,
213
+ elementsIndex?: number
214
+ ): Promise<WebElement> {
215
+ // Call exception-trapping getTagName() to ensure any exceptions are caught,
216
+ // and the call returns.
217
+ const tagName = await getTagName(el, elLocator, parentEl, elementsIndex);
218
+ const ctor = WebElementRegistry.get(tagName) || OjWebElement;
219
+ return new ctor(el, {
220
+ elLocator,
221
+ elementsIndex,
222
+ parentEl,
223
+ tagName,
224
+ });
225
+ }
226
+
227
+ /**
228
+ * Query the for element's tag name. This function traps StaleElement exceptions
229
+ * and requeries the element to try the call again. All other exceptions are
230
+ * caught and an empty tagName will be returned.
231
+ * @param el The original element
232
+ * @param elLocator The element Locator
233
+ * @param parentEl A parent element which contains the element, if any
234
+ * @param elementsIndex An index in the array of matched items for the original
235
+ * element
236
+ * @return {string} The element's tag name
237
+ */
238
+ async function getTagName(
239
+ el: WebElement,
240
+ elLocator?: Locator,
241
+ parentEl?: OjWebElement,
242
+ elementsIndex?: number
243
+ ): Promise<string> {
244
+ let tagName: string;
245
+ try {
246
+ tagName = await el.getTagName();
247
+ } catch (ex) {
248
+ // Only try to requery on stale element exception if original elLocator
249
+ // exists. The locator is present most of the time, except if the element
250
+ // was returned from driver.wait(until.elementLocated). That method doesn't
251
+ // provide access to the original locator.
252
+ if (ex instanceof error.StaleElementReferenceError && elLocator) {
253
+ const driver = parentEl || el.getDriver();
254
+ let requeried: WebElement;
255
+
256
+ if (elementsIndex === undefined) {
257
+ // Element found with findElement (single)
258
+ requeried = await driver.findElement(elLocator);
259
+ } else {
260
+ // Element found with findElements (multiple)
261
+ const matches = await driver.findElements(elLocator);
262
+ requeried = matches[elementsIndex];
263
+ }
264
+ // Call exception-trapping getTagName() again, just in case another exception
265
+ // occurs with calling element.getTagName() on the new re-queried element.
266
+ tagName = await getTagName(requeried, elLocator, parentEl, elementsIndex);
267
+ }
268
+ }
269
+ return tagName;
270
+ }
@@ -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,26 @@
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
+ const reTagName = await requeried.getTagName();
19
+ if (el.constructor !== requeried.constructor ||
20
+ locators.tagName !== reTagName) {
21
+ throw Error(`Expected to find <${locators.tagName}> but got <${reTagName}>`);
22
+ }
23
+ return requeried;
24
+ }
25
+ exports.requeryElement = requeryElement;
26
+ //# 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,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;AA/BD,wCA+BC"}
@@ -0,0 +1,40 @@
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
+ const reTagName = await requeried.getTagName();
30
+ // Check that the requeried element is of the same type as the original.
31
+ if (
32
+ el.constructor !== requeried.constructor ||
33
+ locators.tagName !== reTagName
34
+ ) {
35
+ throw Error(
36
+ `Expected to find <${locators.tagName}> but got <${reTagName}>`
37
+ );
38
+ }
39
+ return requeried;
40
+ }
package/package.json ADDED
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "@oracle/oraclejet-webdriver",
3
+ "version": "10.0.8",
4
+ "description": "Oracle JET WebDriverJS WebElements",
5
+ "config": {
6
+ "revision": "2022-05-03_19-22-22"
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
+ }