@thinkwise/testwise 0.2.21 → 0.2.67

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 (234) hide show
  1. package/Testwise.ts +2 -0
  2. package/artifact-builder/SelectorBuilder.ts +2 -2
  3. package/artifact-builder/SubjectComponentGenerator.ts +21 -12
  4. package/artifact-builder/SubjectGenerator.ts +20 -6
  5. package/components/action-bar/ActionBar.ts +7 -7
  6. package/components/action-bar/CustomActionBar.ts +0 -5
  7. package/components/cardlist/Cardlist.ts +3 -3
  8. package/components/chart/Chart.ts +3 -3
  9. package/components/combined-filter/CombinedFilter.ts +3 -3
  10. package/components/cube-view-bar/CubeViewBar.ts +3 -3
  11. package/components/filter/ExcelStyleFilterPopup.ts +69 -0
  12. package/components/filter/ExcelStyleFilterPopupObjects.ts +46 -0
  13. package/components/filter/FilterForm.ts +3 -3
  14. package/components/filter/FilterPopup.ts +187 -0
  15. package/components/filter/FilterPopupObjects.ts +63 -0
  16. package/components/filter/ManagePrefilterPopup.ts +44 -0
  17. package/components/filter/ManagePrefilterPopupObjects.ts +28 -0
  18. package/components/form/Form.ts +3 -3
  19. package/components/grid/Grid.ts +48 -133
  20. package/components/grid/GridObjects.ts +0 -19
  21. package/components/index.ts +4 -0
  22. package/components/maps/Maps.ts +3 -3
  23. package/components/menu/ListBarMenuComponent.ts +11 -0
  24. package/components/menu/ListBarMenuComponentObjects.ts +6 -0
  25. package/components/pivot-grid/PivotGrid.ts +3 -3
  26. package/components/pivot-grid/PivotGridFieldList.ts +3 -3
  27. package/components/pop-up/AllRowsPopUp.ts +29 -0
  28. package/components/pop-up/AllRowsPopUpObjects.ts +22 -0
  29. package/components/prefilter-list/PrefilterList.ts +3 -3
  30. package/components/preview/Preview.ts +3 -3
  31. package/components/report-bar/ReportBar.ts +3 -3
  32. package/components/report-tiles/ReportTiles.ts +3 -3
  33. package/components/scheduler/Scheduler.ts +3 -3
  34. package/components/splitter/Splitter.ts +3 -3
  35. package/components/tab/BaseTab.ts +3 -3
  36. package/components/tab/DetailTabPage.ts +4 -4
  37. package/components/tab/Tab.ts +4 -4
  38. package/components/task/TaskBar.ts +3 -3
  39. package/components/task/TaskTiles.ts +3 -3
  40. package/components/topbar/TopBar.ts +2 -0
  41. package/components/tree-view/TreeView.ts +3 -3
  42. package/controls/DateControl.ts +13 -14
  43. package/controls/DateControlObjects.ts +15 -0
  44. package/controls/FormComboBox.ts +17 -30
  45. package/controls/FormComboBoxObjects.ts +27 -0
  46. package/controls/GridColumnControl.ts +68 -0
  47. package/controls/GridColumnControlObjects.ts +20 -0
  48. package/controls/InputFieldControl.ts +17 -20
  49. package/controls/InputFieldControlObjects.ts +19 -0
  50. package/controls/LookupDropdown.ts +65 -24
  51. package/controls/LookupDropdownObjects.ts +19 -0
  52. package/controls/index.ts +1 -0
  53. package/dist/Testwise.d.ts +1 -0
  54. package/dist/Testwise.js +1 -0
  55. package/dist/Testwise.js.map +1 -1
  56. package/dist/artifact-builder/SelectorBuilder.d.ts +1 -1
  57. package/dist/artifact-builder/SelectorBuilder.js +2 -2
  58. package/dist/artifact-builder/SelectorBuilder.js.map +1 -1
  59. package/dist/artifact-builder/SubjectComponentGenerator.js +18 -12
  60. package/dist/artifact-builder/SubjectComponentGenerator.js.map +1 -1
  61. package/dist/artifact-builder/SubjectGenerator.d.ts +1 -0
  62. package/dist/artifact-builder/SubjectGenerator.js +16 -6
  63. package/dist/artifact-builder/SubjectGenerator.js.map +1 -1
  64. package/dist/components/action-bar/ActionBar.d.ts +2 -2
  65. package/dist/components/action-bar/ActionBar.js +7 -7
  66. package/dist/components/action-bar/ActionBar.js.map +1 -1
  67. package/dist/components/action-bar/CustomActionBar.d.ts +0 -2
  68. package/dist/components/action-bar/CustomActionBar.js +0 -3
  69. package/dist/components/action-bar/CustomActionBar.js.map +1 -1
  70. package/dist/components/cardlist/Cardlist.d.ts +2 -2
  71. package/dist/components/cardlist/Cardlist.js +2 -2
  72. package/dist/components/cardlist/Cardlist.js.map +1 -1
  73. package/dist/components/chart/Chart.d.ts +2 -2
  74. package/dist/components/chart/Chart.js +2 -2
  75. package/dist/components/chart/Chart.js.map +1 -1
  76. package/dist/components/combined-filter/CombinedFilter.d.ts +2 -2
  77. package/dist/components/combined-filter/CombinedFilter.js +2 -2
  78. package/dist/components/combined-filter/CombinedFilter.js.map +1 -1
  79. package/dist/components/cube-view-bar/CubeViewBar.d.ts +2 -2
  80. package/dist/components/cube-view-bar/CubeViewBar.js +2 -2
  81. package/dist/components/cube-view-bar/CubeViewBar.js.map +1 -1
  82. package/dist/components/filter/ExcelStyleFilterPopup.d.ts +19 -0
  83. package/dist/components/filter/ExcelStyleFilterPopup.js +64 -0
  84. package/dist/components/filter/ExcelStyleFilterPopup.js.map +1 -0
  85. package/dist/components/filter/ExcelStyleFilterPopupObjects.d.ts +16 -0
  86. package/dist/components/filter/ExcelStyleFilterPopupObjects.js +26 -0
  87. package/dist/components/filter/ExcelStyleFilterPopupObjects.js.map +1 -0
  88. package/dist/components/filter/FilterForm.d.ts +2 -2
  89. package/dist/components/filter/FilterForm.js +2 -2
  90. package/dist/components/filter/FilterForm.js.map +1 -1
  91. package/dist/components/filter/FilterPopup.d.ts +41 -0
  92. package/dist/components/filter/FilterPopup.js +126 -0
  93. package/dist/components/filter/FilterPopup.js.map +1 -0
  94. package/dist/components/filter/FilterPopupObjects.d.ts +29 -0
  95. package/dist/components/filter/FilterPopupObjects.js +30 -0
  96. package/dist/components/filter/FilterPopupObjects.js.map +1 -0
  97. package/dist/components/filter/ManagePrefilterPopup.d.ts +14 -0
  98. package/dist/components/filter/ManagePrefilterPopup.js +33 -0
  99. package/dist/components/filter/ManagePrefilterPopup.js.map +1 -0
  100. package/dist/components/filter/ManagePrefilterPopupObjects.d.ts +11 -0
  101. package/dist/components/filter/ManagePrefilterPopupObjects.js +19 -0
  102. package/dist/components/filter/ManagePrefilterPopupObjects.js.map +1 -0
  103. package/dist/components/form/Form.d.ts +2 -2
  104. package/dist/components/form/Form.js +2 -2
  105. package/dist/components/form/Form.js.map +1 -1
  106. package/dist/components/grid/Grid.d.ts +7 -37
  107. package/dist/components/grid/Grid.js +32 -127
  108. package/dist/components/grid/Grid.js.map +1 -1
  109. package/dist/components/grid/GridObjects.d.ts +0 -6
  110. package/dist/components/grid/GridObjects.js +0 -8
  111. package/dist/components/grid/GridObjects.js.map +1 -1
  112. package/dist/components/index.d.ts +4 -0
  113. package/dist/components/index.js +4 -0
  114. package/dist/components/index.js.map +1 -1
  115. package/dist/components/maps/Maps.d.ts +2 -2
  116. package/dist/components/maps/Maps.js +2 -2
  117. package/dist/components/maps/Maps.js.map +1 -1
  118. package/dist/components/menu/ListBarMenuComponent.d.ts +6 -0
  119. package/dist/components/menu/ListBarMenuComponent.js +10 -0
  120. package/dist/components/menu/ListBarMenuComponent.js.map +1 -1
  121. package/dist/components/menu/ListBarMenuComponentObjects.d.ts +2 -0
  122. package/dist/components/menu/ListBarMenuComponentObjects.js +2 -0
  123. package/dist/components/menu/ListBarMenuComponentObjects.js.map +1 -1
  124. package/dist/components/pivot-grid/PivotGrid.d.ts +2 -2
  125. package/dist/components/pivot-grid/PivotGrid.js +2 -2
  126. package/dist/components/pivot-grid/PivotGrid.js.map +1 -1
  127. package/dist/components/pivot-grid/PivotGridFieldList.d.ts +2 -2
  128. package/dist/components/pivot-grid/PivotGridFieldList.js +2 -2
  129. package/dist/components/pivot-grid/PivotGridFieldList.js.map +1 -1
  130. package/dist/components/pop-up/AllRowsPopUp.d.ts +12 -0
  131. package/dist/components/pop-up/AllRowsPopUp.js +19 -0
  132. package/dist/components/pop-up/AllRowsPopUp.js.map +1 -0
  133. package/dist/components/pop-up/AllRowsPopUpObjects.d.ts +11 -0
  134. package/dist/components/pop-up/AllRowsPopUpObjects.js +13 -0
  135. package/dist/components/pop-up/AllRowsPopUpObjects.js.map +1 -0
  136. package/dist/components/prefilter-list/PrefilterList.d.ts +2 -2
  137. package/dist/components/prefilter-list/PrefilterList.js +2 -2
  138. package/dist/components/prefilter-list/PrefilterList.js.map +1 -1
  139. package/dist/components/preview/Preview.d.ts +2 -2
  140. package/dist/components/preview/Preview.js +2 -2
  141. package/dist/components/preview/Preview.js.map +1 -1
  142. package/dist/components/report-bar/ReportBar.d.ts +2 -2
  143. package/dist/components/report-bar/ReportBar.js +2 -2
  144. package/dist/components/report-bar/ReportBar.js.map +1 -1
  145. package/dist/components/report-tiles/ReportTiles.d.ts +2 -2
  146. package/dist/components/report-tiles/ReportTiles.js +2 -2
  147. package/dist/components/report-tiles/ReportTiles.js.map +1 -1
  148. package/dist/components/scheduler/Scheduler.d.ts +2 -2
  149. package/dist/components/scheduler/Scheduler.js +2 -2
  150. package/dist/components/scheduler/Scheduler.js.map +1 -1
  151. package/dist/components/splitter/Splitter.d.ts +2 -2
  152. package/dist/components/splitter/Splitter.js +2 -2
  153. package/dist/components/splitter/Splitter.js.map +1 -1
  154. package/dist/components/tab/BaseTab.d.ts +2 -2
  155. package/dist/components/tab/BaseTab.js +2 -2
  156. package/dist/components/tab/BaseTab.js.map +1 -1
  157. package/dist/components/tab/DetailTabPage.d.ts +2 -2
  158. package/dist/components/tab/DetailTabPage.js +3 -3
  159. package/dist/components/tab/DetailTabPage.js.map +1 -1
  160. package/dist/components/tab/Tab.d.ts +2 -2
  161. package/dist/components/tab/Tab.js +3 -3
  162. package/dist/components/tab/Tab.js.map +1 -1
  163. package/dist/components/task/TaskBar.d.ts +2 -2
  164. package/dist/components/task/TaskBar.js +2 -2
  165. package/dist/components/task/TaskBar.js.map +1 -1
  166. package/dist/components/task/TaskTiles.d.ts +2 -2
  167. package/dist/components/task/TaskTiles.js +2 -2
  168. package/dist/components/task/TaskTiles.js.map +1 -1
  169. package/dist/components/topbar/TopBar.d.ts +1 -0
  170. package/dist/components/topbar/TopBar.js +1 -0
  171. package/dist/components/topbar/TopBar.js.map +1 -1
  172. package/dist/components/tree-view/TreeView.d.ts +2 -2
  173. package/dist/components/tree-view/TreeView.js +2 -2
  174. package/dist/components/tree-view/TreeView.js.map +1 -1
  175. package/dist/controls/DateControl.d.ts +4 -5
  176. package/dist/controls/DateControl.js +11 -11
  177. package/dist/controls/DateControl.js.map +1 -1
  178. package/dist/controls/DateControlObjects.d.ts +8 -0
  179. package/dist/controls/DateControlObjects.js +9 -0
  180. package/dist/controls/DateControlObjects.js.map +1 -0
  181. package/dist/controls/FormComboBox.d.ts +2 -2
  182. package/dist/controls/FormComboBox.js +15 -20
  183. package/dist/controls/FormComboBox.js.map +1 -1
  184. package/dist/controls/FormComboBoxObjects.d.ts +12 -0
  185. package/dist/controls/FormComboBoxObjects.js +16 -0
  186. package/dist/controls/FormComboBoxObjects.js.map +1 -0
  187. package/dist/controls/GridColumnControl.d.ts +10 -0
  188. package/dist/controls/GridColumnControl.js +43 -0
  189. package/dist/controls/GridColumnControl.js.map +1 -0
  190. package/dist/controls/GridColumnControlObjects.d.ts +9 -0
  191. package/dist/controls/GridColumnControlObjects.js +13 -0
  192. package/dist/controls/GridColumnControlObjects.js.map +1 -0
  193. package/dist/controls/InputFieldControl.d.ts +4 -6
  194. package/dist/controls/InputFieldControl.js +14 -15
  195. package/dist/controls/InputFieldControl.js.map +1 -1
  196. package/dist/controls/InputFieldControlObjects.d.ts +10 -0
  197. package/dist/controls/InputFieldControlObjects.js +11 -0
  198. package/dist/controls/InputFieldControlObjects.js.map +1 -0
  199. package/dist/controls/LookupDropdown.d.ts +6 -1
  200. package/dist/controls/LookupDropdown.js +51 -19
  201. package/dist/controls/LookupDropdown.js.map +1 -1
  202. package/dist/controls/LookupDropdownObjects.d.ts +10 -0
  203. package/dist/controls/LookupDropdownObjects.js +11 -0
  204. package/dist/controls/LookupDropdownObjects.js.map +1 -0
  205. package/dist/controls/index.d.ts +1 -0
  206. package/dist/controls/index.js +1 -0
  207. package/dist/controls/index.js.map +1 -1
  208. package/dist/enums/ElementTypes.d.ts +1 -1
  209. package/dist/enums/ElementTypes.js +1 -1
  210. package/dist/enums/ElementTypes.js.map +1 -1
  211. package/dist/helpers/FlightTracker.d.ts +7 -0
  212. package/dist/helpers/FlightTracker.js +63 -11
  213. package/dist/helpers/FlightTracker.js.map +1 -1
  214. package/dist/helpers/LoginHelper.d.ts +11 -3
  215. package/dist/helpers/LoginHelper.js +59 -13
  216. package/dist/helpers/LoginHelper.js.map +1 -1
  217. package/dist/index.d.ts +1 -1
  218. package/dist/index.js +1 -1
  219. package/dist/index.js.map +1 -1
  220. package/dist/page-extensions/GlobalComponents.d.ts +2 -1
  221. package/dist/page-extensions/GlobalComponents.js +2 -1
  222. package/dist/page-extensions/GlobalComponents.js.map +1 -1
  223. package/dist/page-overrides/ClickOverride.d.ts +1 -0
  224. package/dist/page-overrides/ClickOverride.js +57 -46
  225. package/dist/page-overrides/ClickOverride.js.map +1 -1
  226. package/dist/types/Universal.d.ts +1 -0
  227. package/enums/ElementTypes.ts +1 -1
  228. package/helpers/FlightTracker.ts +71 -11
  229. package/helpers/LoginHelper.ts +79 -21
  230. package/index.ts +1 -1
  231. package/package.json +6 -5
  232. package/page-extensions/GlobalComponents.ts +3 -0
  233. package/page-overrides/ClickOverride.ts +69 -64
  234. package/types/Universal.ts +1 -0
@@ -0,0 +1,64 @@
1
+ import { ExcelStyleFilterPopupObjects } from './ExcelStyleFilterPopupObjects.js';
2
+ export class ExcelStyleFilterPopup {
3
+ constructor(page) {
4
+ this._objects = new ExcelStyleFilterPopupObjects(page);
5
+ }
6
+ async waitForOpen() {
7
+ await (await this._objects.anchor().all()).filter(async (element) => await element.isVisible());
8
+ }
9
+ intervalFilters() {
10
+ return this._objects.intervalFilters();
11
+ }
12
+ fromDateInput(fieldTestId) {
13
+ return this._objects.fromDateInput(fieldTestId);
14
+ }
15
+ toDateInput(fieldTestId) {
16
+ return this._objects.toDateInput(fieldTestId);
17
+ }
18
+ // wait for close
19
+ async waitForClose() {
20
+ await (await this._objects.anchor().all()).filter(async (element) => !(await element.isVisible()));
21
+ }
22
+ async setToDate(fieldTestId, value) {
23
+ await this.waitForOpen();
24
+ const input = this._objects.toDateInput(fieldTestId);
25
+ await input.fill(value);
26
+ await input.press('Enter');
27
+ }
28
+ async setFromDate(fieldTestId, value) {
29
+ await this.waitForOpen();
30
+ const input = this._objects.fromDateInput(fieldTestId);
31
+ await input.fill(value);
32
+ await input.press('Enter');
33
+ }
34
+ async clickSelectAll(fieldTestId) {
35
+ await this.waitForOpen();
36
+ await this._objects.checkboxSelectAllButton(fieldTestId).click();
37
+ }
38
+ async clickCheckboxItem(fieldTestId, value) {
39
+ await this.waitForOpen();
40
+ await this._objects.checkboxItemButtons(fieldTestId).filter({ hasText: value }).click();
41
+ }
42
+ checkboxItem(fieldTestId, value) {
43
+ return this._objects.checkboxItemCheckboxes(fieldTestId).filter({ hasText: value });
44
+ }
45
+ fromTimeInput(fieldTestId) {
46
+ return this._objects.fromTimeInput(fieldTestId);
47
+ }
48
+ toTimeInput(fieldTestId) {
49
+ return this._objects.toTimeInput(fieldTestId);
50
+ }
51
+ async setFromTime(fieldTestId, value) {
52
+ await this.waitForOpen();
53
+ const input = this._objects.fromTimeInput(fieldTestId);
54
+ await input.fill(value);
55
+ await input.press('Enter');
56
+ }
57
+ async setToTime(fieldTestId, value) {
58
+ await this.waitForOpen();
59
+ const input = this._objects.toTimeInput(fieldTestId);
60
+ await input.fill(value);
61
+ await input.press('Enter');
62
+ }
63
+ }
64
+ //# sourceMappingURL=ExcelStyleFilterPopup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExcelStyleFilterPopup.js","sourceRoot":"","sources":["../../../components/filter/ExcelStyleFilterPopup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { Page } from '@playwright/test';
2
+ import { BaseComponentObjects } from '../BaseComponentObjects.js';
3
+ export declare class ExcelStyleFilterPopupObjects extends BaseComponentObjects {
4
+ private _page;
5
+ constructor(page: Page);
6
+ anchor: () => import("@playwright/test").Locator;
7
+ intervalFilters: () => import("@playwright/test").Locator;
8
+ fromDateInput: (fieldTestId: string) => import("@playwright/test").Locator;
9
+ toDateInput: (fieldTestId: string) => import("@playwright/test").Locator;
10
+ checkboxList: (fieldTestId: string) => import("@playwright/test").Locator;
11
+ checkboxSelectAllButton: (fieldTestId: string) => import("@playwright/test").Locator;
12
+ checkboxItemButtons: (fieldTestId: string) => import("@playwright/test").Locator;
13
+ checkboxItemCheckboxes: (fieldTestId: string) => import("@playwright/test").Locator;
14
+ fromTimeInput: (fieldTestId: string) => import("@playwright/test").Locator;
15
+ toTimeInput: (fieldTestId: string) => import("@playwright/test").Locator;
16
+ }
@@ -0,0 +1,26 @@
1
+ import { BaseComponentObjects } from '../BaseComponentObjects.js';
2
+ export class ExcelStyleFilterPopupObjects extends BaseComponentObjects {
3
+ constructor(page) {
4
+ super(page, page.locator('body'));
5
+ this.anchor = () => this._page.locator('[data-testid*="-excel-filter__"]');
6
+ this.intervalFilters = () => this._page.getByTestId('excel-style-filter-popup__interval-filters');
7
+ this.fromDateInput = (fieldTestId) => this._page
8
+ .getByTestId(`date-time-excel-filter__${fieldTestId}__from`)
9
+ .getByTestId(`form-field__${fieldTestId}__date__input`);
10
+ this.toDateInput = (fieldTestId) => this._page
11
+ .getByTestId(`date-time-excel-filter__${fieldTestId}__to`)
12
+ .getByTestId(`form-field__${fieldTestId}__date__input`);
13
+ this.checkboxList = (fieldTestId) => this._page.locator(`[data-testid*="-excel-filter__${fieldTestId}__list"]`);
14
+ this.checkboxSelectAllButton = (fieldTestId) => this._page.locator(`[data-testid*="-excel-filter__${fieldTestId}__list-item-select-all-checkbox"]`);
15
+ this.checkboxItemButtons = (fieldTestId) => this._page.locator(`[data-testid*="-excel-filter__${fieldTestId}__list-item-button__"]`);
16
+ this.checkboxItemCheckboxes = (fieldTestId) => this._page.locator(`[data-testid*="-excel-filter__${fieldTestId}__list-item-checkbox__"]`);
17
+ this.fromTimeInput = (fieldTestId) => this._page
18
+ .getByTestId(`date-time-excel-filter__${fieldTestId}__from`)
19
+ .getByTestId(`form-field__${fieldTestId}__time__input`);
20
+ this.toTimeInput = (fieldTestId) => this._page
21
+ .getByTestId(`date-time-excel-filter__${fieldTestId}__to`)
22
+ .getByTestId(`form-field__${fieldTestId}__time__input`);
23
+ this._page = page;
24
+ }
25
+ }
26
+ //# sourceMappingURL=ExcelStyleFilterPopupObjects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExcelStyleFilterPopupObjects.js","sourceRoot":"","sources":["../../../components/filter/ExcelStyleFilterPopupObjects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,MAAM,OAAO,4BAA6B,SAAQ,oBAAoB;IAGpE,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAG7B,WAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;QAEtE,oBAAe,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,4CAA4C,CAAC,CAAC;QAE7F,kBAAa,GAAG,CAAC,WAAmB,EAAE,EAAE,CAC7C,IAAI,CAAC,KAAK;aACP,WAAW,CAAC,2BAA2B,WAAW,QAAQ,CAAC;aAC3D,WAAW,CAAC,eAAe,WAAW,eAAe,CAAC,CAAC;QAErD,gBAAW,GAAG,CAAC,WAAmB,EAAE,EAAE,CAC3C,IAAI,CAAC,KAAK;aACP,WAAW,CAAC,2BAA2B,WAAW,MAAM,CAAC;aACzD,WAAW,CAAC,eAAe,WAAW,eAAe,CAAC,CAAC;QAErD,iBAAY,GAAG,CAAC,WAAmB,EAAE,EAAE,CAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iCAAiC,WAAW,UAAU,CAAC,CAAC;QAEtE,4BAAuB,GAAG,CAAC,WAAmB,EAAE,EAAE,CACvD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iCAAiC,WAAW,mCAAmC,CAAC,CAAC;QAE/F,wBAAmB,GAAG,CAAC,WAAmB,EAAE,EAAE,CACnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iCAAiC,WAAW,wBAAwB,CAAC,CAAC;QAEpF,2BAAsB,GAAG,CAAC,WAAmB,EAAE,EAAE,CACtD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iCAAiC,WAAW,0BAA0B,CAAC,CAAC;QAEtF,kBAAa,GAAG,CAAC,WAAmB,EAAE,EAAE,CAC7C,IAAI,CAAC,KAAK;aACP,WAAW,CAAC,2BAA2B,WAAW,QAAQ,CAAC;aAC3D,WAAW,CAAC,eAAe,WAAW,eAAe,CAAC,CAAC;QAErD,gBAAW,GAAG,CAAC,WAAmB,EAAE,EAAE,CAC3C,IAAI,CAAC,KAAK;aACP,WAAW,CAAC,2BAA2B,WAAW,MAAM,CAAC;aACzD,WAAW,CAAC,eAAe,WAAW,eAAe,CAAC,CAAC;QApC1D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;CAoCF"}
@@ -1,7 +1,7 @@
1
- import type { Locator, Page } from '@playwright/test';
1
+ import type { Locator } from '@playwright/test';
2
2
  import { FilterFormObjects } from './FilterFormObjects.js';
3
3
  export declare class FilterForm {
4
4
  filterFormObjects: FilterFormObjects;
5
- constructor(page: Page, context?: Locator | null);
5
+ constructor(context: Locator);
6
6
  get context(): Locator | null;
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import { FilterFormObjects } from './FilterFormObjects.js';
2
2
  export class FilterForm {
3
- constructor(page, context = null) {
4
- this.filterFormObjects = new FilterFormObjects(page, context);
3
+ constructor(context) {
4
+ this.filterFormObjects = new FilterFormObjects(context.page(), context);
5
5
  }
6
6
  get context() {
7
7
  return this.filterFormObjects.context;
@@ -1 +1 @@
1
- {"version":3,"file":"FilterForm.js","sourceRoot":"","sources":["../../../components/filter/FilterForm.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,OAAO,UAAU;IAGrB,YAAY,IAAU,EAAE,UAA0B,IAAI;QACpD,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;IACxC,CAAC;CACF"}
1
+ {"version":3,"file":"FilterForm.js","sourceRoot":"","sources":["../../../components/filter/FilterForm.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,OAAO,UAAU;IAGrB,YAAY,OAAgB;QAC1B,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAC1E,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;IACxC,CAAC;CACF"}
@@ -0,0 +1,41 @@
1
+ import type { Locator, Page } from '@playwright/test';
2
+ export type IntervalType = 'date' | 'date-and-time' | 'time' | 'year' | 'quarter' | 'month' | 'week-of-the-year' | 'day-of-the-month';
3
+ export type AutocompleteKey = IntervalType | 'equal-to' | 'smaller-than' | 'q1' | 'q2' | 'q3' | 'q4' | 'january' | 'february' | 'march' | 'april' | 'may' | 'june' | 'july' | 'august' | 'september' | 'october' | 'november' | 'december' | 'all-of-the-following' | 'any-of-the-following';
4
+ export declare class FilterPopup {
5
+ readonly page: Page;
6
+ private _filterPopupObjects;
7
+ private _body;
8
+ constructor(page: Page);
9
+ content(): Locator;
10
+ waitForOpen(): Promise<void>;
11
+ applyFilter(): Promise<void>;
12
+ applySaveAsPrefilterWithName(name: string): Promise<void>;
13
+ saveAsPrefilterPopup(name: string): Promise<void>;
14
+ setAdvanced(enabled: boolean): Promise<void>;
15
+ advancedGroupSelect(): Locator;
16
+ setGroupCondition(key: 'all-of-the-following' | 'any-of-the-following'): Promise<void>;
17
+ fieldInput(fieldId: string): Locator;
18
+ valueInput(fieldId: string, part: string): Locator;
19
+ dateInput(fieldId: string): Locator;
20
+ setText(fieldId: string, value: string): Promise<void>;
21
+ setValue(args: {
22
+ fieldId: string;
23
+ part: string;
24
+ value: string;
25
+ }): Promise<void>;
26
+ commit(args: {
27
+ fieldId: string;
28
+ part: string;
29
+ }): Promise<void>;
30
+ openControl(fieldId: string, part: string): Promise<void>;
31
+ openOperator(fieldId: string): Promise<void>;
32
+ openTimeOperator(): Promise<void>;
33
+ intervalSelector(rowIndex: number, colId: string): Locator;
34
+ intervalSelectorInput(rowIndex: number, colId: string): Locator;
35
+ openInterval(rowIndex: number, colId: string): Promise<void>;
36
+ setInterval(rowIndex: number, colId: string, kind: IntervalType): Promise<void>;
37
+ autocompleteOption(key: AutocompleteKey): Locator;
38
+ pickAutocomplete(key: AutocompleteKey): Promise<void>;
39
+ selectField(field: string): Promise<void>;
40
+ addField(field: string): Promise<void>;
41
+ }
@@ -0,0 +1,126 @@
1
+ import { PopUpComponent } from '../pop-up/PopUpComponent.js';
2
+ import { FilterPopupObjects } from './FilterPopupObjects.js';
3
+ export class FilterPopup {
4
+ constructor(page) {
5
+ this.page = page;
6
+ this._body = new PopUpComponent(page).getContentBody();
7
+ this._filterPopupObjects = new FilterPopupObjects(page, this._body);
8
+ }
9
+ // Root content locator (useful for occasional assertions)
10
+ content() {
11
+ return this._body;
12
+ }
13
+ async waitForOpen() {
14
+ await this._filterPopupObjects.applyFilterButton().waitFor();
15
+ }
16
+ async applyFilter() {
17
+ await this.waitForOpen();
18
+ await this._filterPopupObjects.applyFilterButton().click();
19
+ }
20
+ async applySaveAsPrefilterWithName(name) {
21
+ await this.waitForOpen();
22
+ await this._filterPopupObjects.applySaveButton().click();
23
+ await this._filterPopupObjects.saveAsOption().click();
24
+ await this.saveAsPrefilterPopup(name);
25
+ }
26
+ async saveAsPrefilterPopup(name) {
27
+ await this.waitForOpen();
28
+ await this._filterPopupObjects.prefilterNameInput().fill(name);
29
+ await this._filterPopupObjects.saveButton().click();
30
+ }
31
+ async setAdvanced(enabled) {
32
+ await this.waitForOpen();
33
+ const checkbox = this._filterPopupObjects.advancedToggleCheckbox();
34
+ if (enabled)
35
+ await checkbox.check();
36
+ else
37
+ await checkbox.uncheck();
38
+ }
39
+ advancedGroupSelect() {
40
+ return this._filterPopupObjects.advancedGroupSelect();
41
+ }
42
+ async setGroupCondition(key) {
43
+ await this.waitForOpen();
44
+ await this._filterPopupObjects.advancedGroupSelect().click();
45
+ await this._filterPopupObjects.groupConditionOption(key).click();
46
+ }
47
+ fieldInput(fieldId) {
48
+ return this._filterPopupObjects.fieldInput(fieldId);
49
+ }
50
+ valueInput(fieldId, part) {
51
+ return this._filterPopupObjects.valueInput(fieldId, part);
52
+ }
53
+ dateInput(fieldId) {
54
+ return this._filterPopupObjects.dateInput(fieldId);
55
+ }
56
+ async setText(fieldId, value) {
57
+ await this.waitForOpen();
58
+ const input = this._filterPopupObjects.fieldInput(fieldId);
59
+ await input.click();
60
+ await input.press('ControlOrMeta+a');
61
+ await input.fill(value);
62
+ }
63
+ async setValue(args) {
64
+ await this.waitForOpen();
65
+ const input = this._filterPopupObjects.valueInput(args.fieldId, args.part);
66
+ await input.click();
67
+ await input.press('ControlOrMeta+a');
68
+ await input.fill(args.value);
69
+ }
70
+ // Some inputs (date picker) need a blur/commit to apply the value
71
+ async commit(args) {
72
+ await this.waitForOpen();
73
+ await this._filterPopupObjects.valueInput(args.fieldId, args.part).press('Tab');
74
+ }
75
+ async openControl(fieldId, part) {
76
+ await this.waitForOpen();
77
+ await this._filterPopupObjects.fieldControl(fieldId, part).click();
78
+ }
79
+ async openOperator(fieldId) {
80
+ await this.waitForOpen();
81
+ await this._filterPopupObjects.operatorControl(fieldId).click();
82
+ }
83
+ async openTimeOperator() {
84
+ await this.waitForOpen();
85
+ await this._filterPopupObjects.timeOperatorControl().click();
86
+ }
87
+ intervalSelector(rowIndex, colId) {
88
+ return this._filterPopupObjects.intervalSelector(rowIndex, colId);
89
+ }
90
+ intervalSelectorInput(rowIndex, colId) {
91
+ return this._filterPopupObjects.intervalSelectorInput(rowIndex, colId);
92
+ }
93
+ async openInterval(rowIndex, colId) {
94
+ await this.waitForOpen();
95
+ await this._filterPopupObjects.intervalSelectorInput(rowIndex, colId).click();
96
+ }
97
+ async setInterval(rowIndex, colId, kind) {
98
+ await this.openInterval(rowIndex, colId);
99
+ await this.pickAutocomplete(kind);
100
+ }
101
+ autocompleteOption(key) {
102
+ return this._filterPopupObjects.autocompleteOption(key);
103
+ }
104
+ async pickAutocomplete(key) {
105
+ const option = this._filterPopupObjects.autocompleteOption(key);
106
+ await option.click();
107
+ }
108
+ async selectField(field) {
109
+ await this.waitForOpen();
110
+ const emptyRow = this._filterPopupObjects.emptySelectFieldRow();
111
+ if (await emptyRow.count()) {
112
+ await this._filterPopupObjects.emptySelectFieldRowButton().click();
113
+ }
114
+ else {
115
+ await this._filterPopupObjects.selectFieldButton().click();
116
+ }
117
+ await this._filterPopupObjects.colIdOption(field).click();
118
+ }
119
+ // In advanced mode: add a new row, then select a field into it
120
+ async addField(field) {
121
+ await this.waitForOpen();
122
+ await this._filterPopupObjects.addFieldButton().click();
123
+ await this.selectField(field);
124
+ }
125
+ }
126
+ //# sourceMappingURL=FilterPopup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterPopup.js","sourceRoot":"","sources":["../../../components/filter/FilterPopup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { Locator, Page } from '@playwright/test';
2
+ import { BaseComponentObjects } from '../BaseComponentObjects.js';
3
+ import type { AutocompleteKey } from './FilterPopup.js';
4
+ export declare class FilterPopupObjects extends BaseComponentObjects {
5
+ private _page;
6
+ constructor(page: Page, body: Locator);
7
+ applyFilterButton: () => Locator;
8
+ applySaveButton: () => Locator;
9
+ advancedToggleCheckbox: () => Locator;
10
+ advancedGroupSelect: () => Locator;
11
+ groupConditionOption: (key: "all-of-the-following" | "any-of-the-following") => Locator;
12
+ fieldInput: (fieldId: string) => Locator;
13
+ prefilterNameInput: () => Locator;
14
+ saveAsOption: () => Locator;
15
+ saveButton: () => Locator;
16
+ valueInput: (fieldId: string, part: string) => Locator;
17
+ dateInput: (fieldId: string) => Locator;
18
+ fieldControl: (fieldId: string, part: string) => Locator;
19
+ operatorControl: (fieldId: string) => Locator;
20
+ timeOperatorControl: () => Locator;
21
+ intervalSelector: (rowIndex: number, colId: string) => Locator;
22
+ intervalSelectorInput: (rowIndex: number, colId: string) => Locator;
23
+ autocompleteOption: (key: AutocompleteKey) => Locator;
24
+ emptySelectFieldRow: () => Locator;
25
+ emptySelectFieldRowButton: () => Locator;
26
+ selectFieldButton: () => Locator;
27
+ addFieldButton: () => Locator;
28
+ colIdOption: (field: string) => Locator;
29
+ }
@@ -0,0 +1,30 @@
1
+ import { BaseComponentObjects } from '../BaseComponentObjects.js';
2
+ export class FilterPopupObjects extends BaseComponentObjects {
3
+ constructor(page, body) {
4
+ super(page, body);
5
+ this.applyFilterButton = () => this.context.getByTestId('split-button-main');
6
+ this.applySaveButton = () => this.context.getByTestId('split-button-arrow');
7
+ this.advancedToggleCheckbox = () => this._page.getByRole('checkbox', { name: 'Advanced filter' });
8
+ this.advancedGroupSelect = () => this.context.getByTestId('advanced-filter-group-select');
9
+ this.groupConditionOption = (key) => this._page.getByTestId(`group-condition-select__${key}`);
10
+ this.fieldInput = (fieldId) => this.context.getByTestId(`form-field__${fieldId}__input`);
11
+ this.prefilterNameInput = () => this.context.getByTestId('prefilter__name__input');
12
+ this.saveAsOption = () => this._page.getByRole('menuitem', { name: 'Save' });
13
+ this.saveButton = () => this._page.getByRole('button', { name: 'Save' });
14
+ this.valueInput = (fieldId, part) => this.context.getByTestId(`form-field__${fieldId}__${part}__input`);
15
+ this.dateInput = (fieldId) => this.valueInput(fieldId, 'date');
16
+ this.fieldControl = (fieldId, part) => this.context.getByTestId(`form-field__${fieldId}__${part}__control`).getByRole('button', { name: 'Open' });
17
+ this.operatorControl = (fieldId) => this.context.getByTestId(`form-field__${fieldId}__operator__control`).getByRole('button', { name: 'Open' });
18
+ this.timeOperatorControl = () => this.context.getByTestId('form-field__event-time__operator__control').getByRole('button', { name: 'Open' });
19
+ this.intervalSelector = (rowIndex, colId) => this.context.getByTestId(`advanced-filter-grid__row${rowIndex}__${colId}__select-interval`);
20
+ this.intervalSelectorInput = (rowIndex, colId) => this.intervalSelector(rowIndex, colId).getByTestId('select-interval__input');
21
+ this.autocompleteOption = (key) => this._page.getByTestId(`autocomplete-option-${key}`);
22
+ this.emptySelectFieldRow = () => this.context.getByTestId('advanced-filter-grid__row-empty-select-field');
23
+ this.emptySelectFieldRowButton = () => this.emptySelectFieldRow().getByRole('button');
24
+ this.selectFieldButton = () => this._page.getByRole('button', { name: 'Select field' });
25
+ this.addFieldButton = () => this._page.getByRole('button', { name: 'Add field' });
26
+ this.colIdOption = (field) => this._page.getByTestId(`col-id-${field}`);
27
+ this._page = page;
28
+ }
29
+ }
30
+ //# sourceMappingURL=FilterPopupObjects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterPopupObjects.js","sourceRoot":"","sources":["../../../components/filter/FilterPopupObjects.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { Locator, Page } from '@playwright/test';
2
+ import { PopUpComponent } from '../pop-up/PopUpComponent.js';
3
+ export declare class ManagePrefilterPopup extends PopUpComponent {
4
+ private readonly _page;
5
+ private _managePrefilterPopupObjects;
6
+ constructor(page: Page);
7
+ dialog(): Locator;
8
+ list(): Locator;
9
+ getRowByName(name: string): Locator;
10
+ closeDialog(): Promise<void>;
11
+ deletePrefilterAndConfirm(name: string): Promise<void>;
12
+ confirmDelete(): Promise<void>;
13
+ confirmNo(): Promise<void>;
14
+ }
@@ -0,0 +1,33 @@
1
+ import { PopUpComponent } from '../pop-up/PopUpComponent.js';
2
+ import { ManagePrefilterPopupObjects } from './ManagePrefilterPopupObjects.js';
3
+ export class ManagePrefilterPopup extends PopUpComponent {
4
+ constructor(page) {
5
+ super(page);
6
+ this._page = page;
7
+ this._managePrefilterPopupObjects = new ManagePrefilterPopupObjects(page);
8
+ }
9
+ dialog() {
10
+ return this._managePrefilterPopupObjects.dialog();
11
+ }
12
+ list() {
13
+ return this._managePrefilterPopupObjects.list();
14
+ }
15
+ getRowByName(name) {
16
+ return this._managePrefilterPopupObjects.rowByName(name);
17
+ }
18
+ async closeDialog() {
19
+ await this._managePrefilterPopupObjects.closeButton().click();
20
+ }
21
+ async deletePrefilterAndConfirm(name) {
22
+ const row = this.getRowByName(name);
23
+ await this._managePrefilterPopupObjects.deleteButtonByRow(row).click();
24
+ await this.confirmDelete();
25
+ }
26
+ async confirmDelete() {
27
+ await this._page.components.popUp.getActionButtonByText('yes').click();
28
+ }
29
+ async confirmNo() {
30
+ await this._page.components.popUp.getActionButtonByText('no').click();
31
+ }
32
+ }
33
+ //# sourceMappingURL=ManagePrefilterPopup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ManagePrefilterPopup.js","sourceRoot":"","sources":["../../../components/filter/ManagePrefilterPopup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAE/E,MAAM,OAAO,oBAAqB,SAAQ,cAAc;IAItD,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,4BAA4B,GAAG,IAAI,2BAA2B,CAAC,IAAI,CAAC,CAAC;IAC5E,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,4BAA4B,CAAC,MAAM,EAAE,CAAC;IACpD,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,CAAC;IAClD,CAAC;IAEM,YAAY,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IAEM,KAAK,CAAC,WAAW;QACtB,MAAM,IAAI,CAAC,4BAA4B,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC;IAChE,CAAC;IAEM,KAAK,CAAC,yBAAyB,CAAC,IAAY;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,4BAA4B,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;QACvE,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,aAAa;QACxB,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;IACzE,CAAC;IAEM,KAAK,CAAC,SAAS;QACpB,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;IACxE,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ import type { Locator, Page } from '@playwright/test';
2
+ import { BaseComponentObjects } from '../BaseComponentObjects.js';
3
+ export declare class ManagePrefilterPopupObjects extends BaseComponentObjects {
4
+ private _page;
5
+ constructor(page: Page);
6
+ dialog: () => Locator;
7
+ list: () => Locator;
8
+ rowByName: (name: string) => Locator;
9
+ deleteButtonByRow: (row: Locator) => Locator;
10
+ closeButton: () => Locator;
11
+ }
@@ -0,0 +1,19 @@
1
+ import { BaseComponentObjects } from '../BaseComponentObjects.js';
2
+ export class ManagePrefilterPopupObjects extends BaseComponentObjects {
3
+ constructor(page) {
4
+ super(page, page.locator('body'));
5
+ this.dialog = () => this._page
6
+ .locator('[role="dialog"]')
7
+ .filter({ has: this._page.getByTestId('popup__userpreferenceprefilterpopup__title') });
8
+ this.list = () => this._page.getByTestId('popup__user-preference__up-prefilters');
9
+ // The <li> has a GUID testid, so don't use it. Use "li hasText"
10
+ this.rowByName = (name) => {
11
+ const nameSpan = this.list().getByText(name, { exact: true });
12
+ return nameSpan.locator('xpath=ancestor::li[1]');
13
+ };
14
+ this.deleteButtonByRow = (row) => row.locator('button:has([data-testid="DeleteIcon"])');
15
+ this.closeButton = () => this.dialog().getByTestId('popup__userpreferenceprefilterpopup__actions__close');
16
+ this._page = page;
17
+ }
18
+ }
19
+ //# sourceMappingURL=ManagePrefilterPopupObjects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ManagePrefilterPopupObjects.js","sourceRoot":"","sources":["../../../components/filter/ManagePrefilterPopupObjects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,MAAM,OAAO,2BAA4B,SAAQ,oBAAoB;IAGnE,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAI7B,WAAM,GAAG,GAAG,EAAE,CACnB,IAAI,CAAC,KAAK;aACP,OAAO,CAAC,iBAAiB,CAAC;aAC1B,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,4CAA4C,CAAC,EAAE,CAAC,CAAC;QAEpF,SAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,uCAAuC,CAAC,CAAC;QAEpF,gEAAgE;QACzD,cAAS,GAAG,CAAC,IAAY,EAAE,EAAE;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9D,OAAO,QAAQ,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACnD,CAAC,CAAC;QAEK,sBAAiB,GAAG,CAAC,GAAY,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;QAE5F,gBAAW,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,qDAAqD,CAAC,CAAC;QAlB1G,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;CAkBF"}
@@ -1,7 +1,7 @@
1
- import type { Locator, Page } from '@playwright/test';
1
+ import type { Locator } from '@playwright/test';
2
2
  export declare class Form {
3
3
  private _objects;
4
- constructor(page: Page, formContext?: Locator | null);
4
+ constructor(formContext: Locator);
5
5
  getFieldByValue: (value: string) => Locator;
6
6
  getFieldByColId: (colId: string) => Locator;
7
7
  isInEditMode(): Promise<boolean>;
@@ -1,13 +1,13 @@
1
1
  import { FormObjects } from './FormObjects.js';
2
2
  export class Form {
3
- constructor(page, formContext = null) {
3
+ constructor(formContext) {
4
4
  this.getFieldByValue = (value) => {
5
5
  return this._objects.getFieldByValue(value);
6
6
  };
7
7
  this.getFieldByColId = (colId) => {
8
8
  return this._objects.getFieldByColId(colId);
9
9
  };
10
- this._objects = new FormObjects(page, formContext);
10
+ this._objects = new FormObjects(formContext.page(), formContext);
11
11
  }
12
12
  // Returns true if the form is currently in edit mode, based on the `data-edit-mode` attribute.
13
13
  async isInEditMode() {
@@ -1 +1 @@
1
- {"version":3,"file":"Form.js","sourceRoot":"","sources":["../../../components/form/Form.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,OAAO,IAAI;IAGf,YAAY,IAAU,EAAE,cAA8B,IAAI;QAInD,oBAAe,GAAG,CAAC,KAAa,EAAW,EAAE;YAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC;QAEK,oBAAe,GAAG,CAAC,KAAa,EAAW,EAAE;YAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC;QATA,IAAI,CAAC,QAAQ,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;IAUD,+FAA+F;IACxF,KAAK,CAAC,YAAY;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAC1D,OAAO,IAAI,KAAK,MAAM,CAAC;IACzB,CAAC;IAED,kEAAkE;IAC3D,KAAK,CAAC,kBAAkB,CAAC,KAAa;QAC3C,MAAM,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;IAC5D,CAAC;CACF"}
1
+ {"version":3,"file":"Form.js","sourceRoot":"","sources":["../../../components/form/Form.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,OAAO,IAAI;IAGf,YAAY,WAAoB;QAIzB,oBAAe,GAAG,CAAC,KAAa,EAAW,EAAE;YAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC;QAEK,oBAAe,GAAG,CAAC,KAAa,EAAW,EAAE;YAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC;QATA,IAAI,CAAC,QAAQ,GAAG,IAAI,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC;IACnE,CAAC;IAUD,+FAA+F;IACxF,KAAK,CAAC,YAAY;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAC1D,OAAO,IAAI,KAAK,MAAM,CAAC;IACzB,CAAC;IAED,kEAAkE;IAC3D,KAAK,CAAC,kBAAkB,CAAC,KAAa;QAC3C,MAAM,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;IAC5D,CAAC;CACF"}
@@ -2,7 +2,8 @@ import type { Locator, Page } from '@playwright/test';
2
2
  export declare class Grid {
3
3
  private _gridObjects;
4
4
  private _page;
5
- constructor(page: Page, gridContext?: Locator | null);
5
+ private _excelStyleFilterPopup;
6
+ constructor(gridContext: Locator);
6
7
  protected get page(): Page;
7
8
  /**
8
9
  * Retrieves a column header element by its text content.
@@ -38,7 +39,7 @@ export declare class Grid {
38
39
  * @param columnName - The name of the column for which to open the filter popup.
39
40
  * @returns A promise that resolves when the filter popup is opened.
40
41
  */
41
- openExcelStyleFilterPopup: (columnName: string) => Promise<void>;
42
+ openExcelStyleFilterPopup: (columnNameOrHeader: string | Locator) => Promise<void>;
42
43
  /**
43
44
  * Retrieves all rows in the grid that match a specific column value.
44
45
  * @param colIdToMatchOn
@@ -47,45 +48,13 @@ export declare class Grid {
47
48
  */
48
49
  getRowsByColValue(colIdToMatchOn: string, valueToMatch: string): Promise<Locator[]>;
49
50
  /**
50
- * Scrolls through the vertical grid viewport to ensure that all rows are loaded.
51
- *
52
- * This method scrolls the grid's vertical scrollbar in increments equal to the visible height of the viewport
53
- * until no further scrolling is possible. It optionally executes a callback after each scroll step, which can
54
- * be used to process loaded content (e.g., extract cell values).
55
- *
56
- * @param {Locator} scrollbar - Locator pointing to the grid's vertical scrollbar container.
57
- * @param {() => Promise<void>} onScrollStep - Optional async callback invoked after each scroll step.
58
- * @returns {Promise<void>} A promise that resolves once the scrolling is complete.
59
- */
60
- private scrollGridToLoadAllRows;
61
- /**
62
- * Retrieves all unique cell values from a specific column in the grid,
63
- * including values that are only loaded upon scrolling.
64
- *
65
- * Internally uses vertical scrolling to ensure that all rows are loaded,
66
- * and collects cell text content from the specified column.
67
- *
68
- * @param {string} colId - The ID of the column to extract values from.
69
- * @returns {Promise<string[]>} A promise that resolves to an array of unique values from the column.
51
+ * Gets all unique cell values for a specified column by its column ID.
70
52
  */
71
53
  getCellValuesByColId(colId: string): Promise<string[]>;
72
54
  /**
73
- * Scrolls through the horizontal grid viewport to ensure all columns are loaded.
74
- *
75
- * This method scrolls the grid's horizontal scrollbar in increments equal to the visible width
76
- * of the viewport until no further scrolling is possible. It optionally executes a callback
77
- * after each scroll step, useful for collecting or processing visible column headers.
78
- *
79
- * @param {Locator} scrollbar - Locator pointing to the horizontal scrollbar container.
80
- * @param {() => Promise<void>} onScrollStep - Optional async callback executed after each scroll step.
81
- * @returns {Promise<void>} A promise that resolves when horizontal scrolling is complete.
82
- */
83
- private scrollGridHorizontallyToLoadAllColumns;
84
- /**
85
- * Retrieves all column header values from the grid, including those that require horizontal scrolling to load.
55
+ * Retrieves all column header values from the grid.
86
56
  *
87
- * This method scrolls through the grid horizontally to ensure all columns are rendered,
88
- * collects the text content of each header, and returns a unique list of trimmed, non-empty values.
57
+ * This method collects the text content of each header and returns a unique list of trimmed, non-empty values.
89
58
  *
90
59
  * @returns {Promise<string[]>} A promise that resolves to an array of unique column header values.
91
60
  */
@@ -102,6 +71,7 @@ export declare class Grid {
102
71
  * await grid.filterByColumnValueExcelStyle('Status', 'Pending', false);
103
72
  */
104
73
  filterByColumnValueExcelStyle(columnName: string, valueToSelect: string, deselectAll?: boolean): Promise<void>;
74
+ filterByColumnValueExcelStyle(columnHeader: Locator, valueToSelect: string, deselectAll?: boolean): Promise<void>;
105
75
  /**
106
76
  * Selects a row by its row-id pattern.
107
77
  * Matches rows where the row-id attribute ends with "|{rowIdPattern}".