@progress/kendo-e2e 3.4.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/dist/components/actionsheet.d.ts +7 -0
  2. package/dist/components/actionsheet.js +28 -0
  3. package/dist/components/actionsheet.js.map +1 -0
  4. package/dist/components/appbar.d.ts +6 -0
  5. package/dist/components/appbar.js +13 -0
  6. package/dist/components/appbar.js.map +1 -0
  7. package/dist/components/arcgauge.d.ts +7 -0
  8. package/dist/components/arcgauge.js +37 -0
  9. package/dist/components/arcgauge.js.map +1 -0
  10. package/dist/components/autocomplete.d.ts +6 -3
  11. package/dist/components/autocomplete.js +6 -5
  12. package/dist/components/autocomplete.js.map +1 -1
  13. package/dist/components/bottomnavigation.d.ts +8 -0
  14. package/dist/components/bottomnavigation.js +30 -0
  15. package/dist/components/bottomnavigation.js.map +1 -0
  16. package/dist/components/breadcrumb.d.ts +11 -0
  17. package/dist/components/breadcrumb.js +46 -0
  18. package/dist/components/breadcrumb.js.map +1 -0
  19. package/dist/components/calendar.d.ts +20 -0
  20. package/dist/components/calendar.js +89 -0
  21. package/dist/components/calendar.js.map +1 -0
  22. package/dist/components/captcha.d.ts +14 -0
  23. package/dist/components/captcha.js +65 -0
  24. package/dist/components/captcha.js.map +1 -0
  25. package/dist/components/chat.d.ts +12 -0
  26. package/dist/components/chat.js +58 -0
  27. package/dist/components/chat.js.map +1 -0
  28. package/dist/components/checkbox.d.ts +10 -0
  29. package/dist/components/checkbox.js +39 -0
  30. package/dist/components/checkbox.js.map +1 -0
  31. package/dist/components/colorpicker.d.ts +17 -0
  32. package/dist/components/colorpicker.js +94 -0
  33. package/dist/components/colorpicker.js.map +1 -0
  34. package/dist/components/columnmenu.d.ts +12 -0
  35. package/dist/components/columnmenu.js +62 -0
  36. package/dist/components/columnmenu.js.map +1 -0
  37. package/dist/components/combobox.d.ts +7 -3
  38. package/dist/components/combobox.js +37 -1
  39. package/dist/components/combobox.js.map +1 -1
  40. package/dist/components/const.d.ts +17 -8
  41. package/dist/components/const.js +21 -12
  42. package/dist/components/const.js.map +1 -1
  43. package/dist/components/datepicker.d.ts +14 -0
  44. package/dist/components/datepicker.js +62 -0
  45. package/dist/components/datepicker.js.map +1 -0
  46. package/dist/components/daterangepicker.d.ts +18 -0
  47. package/dist/components/daterangepicker.js +78 -0
  48. package/dist/components/daterangepicker.js.map +1 -0
  49. package/dist/components/datetimepicker.d.ts +15 -0
  50. package/dist/components/datetimepicker.js +67 -0
  51. package/dist/components/datetimepicker.js.map +1 -0
  52. package/dist/components/dialog.d.ts +10 -0
  53. package/dist/components/dialog.js +41 -0
  54. package/dist/components/dialog.js.map +1 -0
  55. package/dist/components/dockmanager.d.ts +12 -0
  56. package/dist/components/dockmanager.js +58 -0
  57. package/dist/components/dockmanager.js.map +1 -0
  58. package/dist/components/drawer.d.ts +10 -0
  59. package/dist/components/drawer.js +39 -0
  60. package/dist/components/drawer.js.map +1 -0
  61. package/dist/components/dropdown.d.ts +18 -9
  62. package/dist/components/dropdown.js +63 -29
  63. package/dist/components/dropdown.js.map +1 -1
  64. package/dist/components/dropdownbutton.d.ts +9 -0
  65. package/dist/components/dropdownbutton.js +40 -0
  66. package/dist/components/dropdownbutton.js.map +1 -0
  67. package/dist/components/dropdownlist.d.ts +9 -0
  68. package/dist/components/dropdownlist.js +44 -0
  69. package/dist/components/dropdownlist.js.map +1 -0
  70. package/dist/components/dropdowntree.d.ts +11 -0
  71. package/dist/components/dropdowntree.js +53 -0
  72. package/dist/components/dropdowntree.js.map +1 -0
  73. package/dist/components/editor.d.ts +11 -0
  74. package/dist/components/editor.js +70 -0
  75. package/dist/components/editor.js.map +1 -0
  76. package/dist/components/expansionpanel.d.ts +12 -0
  77. package/dist/components/expansionpanel.js +60 -0
  78. package/dist/components/expansionpanel.js.map +1 -0
  79. package/dist/components/filemanager.d.ts +8 -0
  80. package/dist/components/filemanager.js +27 -0
  81. package/dist/components/filemanager.js.map +1 -0
  82. package/dist/components/filter.d.ts +33 -0
  83. package/dist/components/filter.js +147 -0
  84. package/dist/components/filter.js.map +1 -0
  85. package/dist/components/filtermenu.d.ts +34 -0
  86. package/dist/components/filtermenu.js +99 -0
  87. package/dist/components/filtermenu.js.map +1 -0
  88. package/dist/components/flatcolorpicker.d.ts +12 -0
  89. package/dist/components/flatcolorpicker.js +47 -0
  90. package/dist/components/flatcolorpicker.js.map +1 -0
  91. package/dist/components/floatingactionbutton.d.ts +10 -0
  92. package/dist/components/floatingactionbutton.js +42 -0
  93. package/dist/components/floatingactionbutton.js.map +1 -0
  94. package/dist/components/form.d.ts +16 -0
  95. package/dist/components/form.js +61 -0
  96. package/dist/components/form.js.map +1 -0
  97. package/dist/components/gantt.d.ts +20 -0
  98. package/dist/components/gantt.js +98 -0
  99. package/dist/components/gantt.js.map +1 -0
  100. package/dist/components/gauge.d.ts +8 -0
  101. package/dist/components/gauge.js +31 -0
  102. package/dist/components/gauge.js.map +1 -0
  103. package/dist/components/grid.d.ts +15 -19
  104. package/dist/components/grid.js +32 -62
  105. package/dist/components/grid.js.map +1 -1
  106. package/dist/components/imagedditor.d.ts +30 -0
  107. package/dist/components/imagedditor.js +134 -0
  108. package/dist/components/imagedditor.js.map +1 -0
  109. package/dist/components/index.d.ts +68 -0
  110. package/dist/components/index.js +68 -0
  111. package/dist/components/index.js.map +1 -1
  112. package/dist/components/input.d.ts +14 -0
  113. package/dist/components/input.js +48 -0
  114. package/dist/components/input.js.map +1 -0
  115. package/dist/components/listbox.d.ts +14 -0
  116. package/dist/components/listbox.js +59 -0
  117. package/dist/components/listbox.js.map +1 -0
  118. package/dist/components/listview.d.ts +23 -0
  119. package/dist/components/listview.js +100 -0
  120. package/dist/components/listview.js.map +1 -0
  121. package/dist/components/maskedtextbox.d.ts +10 -0
  122. package/dist/components/maskedtextbox.js +41 -0
  123. package/dist/components/maskedtextbox.js.map +1 -0
  124. package/dist/components/mediaplayer.d.ts +22 -0
  125. package/dist/components/mediaplayer.js +128 -0
  126. package/dist/components/mediaplayer.js.map +1 -0
  127. package/dist/components/menu.d.ts +24 -0
  128. package/dist/components/menu.js +108 -0
  129. package/dist/components/menu.js.map +1 -0
  130. package/dist/components/multicolumncombobox.d.ts +8 -0
  131. package/dist/components/multicolumncombobox.js +36 -0
  132. package/dist/components/multicolumncombobox.js.map +1 -0
  133. package/dist/components/multiselect.d.ts +12 -0
  134. package/dist/components/multiselect.js +55 -0
  135. package/dist/components/multiselect.js.map +1 -0
  136. package/dist/components/numerictextbox.d.ts +12 -0
  137. package/dist/components/numerictextbox.js +57 -0
  138. package/dist/components/numerictextbox.js.map +1 -0
  139. package/dist/components/pager.d.ts +19 -4
  140. package/dist/components/pager.js +69 -11
  141. package/dist/components/pager.js.map +1 -1
  142. package/dist/components/panelbar.d.ts +16 -0
  143. package/dist/components/panelbar.js +72 -0
  144. package/dist/components/panelbar.js.map +1 -0
  145. package/dist/components/pdfviewer.d.ts +16 -0
  146. package/dist/components/pdfviewer.js +68 -0
  147. package/dist/components/pdfviewer.js.map +1 -0
  148. package/dist/components/pivotgrid-legacy.d.ts +91 -0
  149. package/dist/components/pivotgrid-legacy.js +447 -0
  150. package/dist/components/pivotgrid-legacy.js.map +1 -0
  151. package/dist/components/pivotgrid.d.ts +79 -0
  152. package/dist/components/pivotgrid.js +405 -0
  153. package/dist/components/pivotgrid.js.map +1 -0
  154. package/dist/components/popup.d.ts +1 -1
  155. package/dist/components/progressbar.d.ts +8 -0
  156. package/dist/components/progressbar.js +28 -0
  157. package/dist/components/progressbar.js.map +1 -0
  158. package/dist/components/radiobutton.d.ts +10 -0
  159. package/dist/components/radiobutton.js +39 -0
  160. package/dist/components/radiobutton.js.map +1 -0
  161. package/dist/components/rating.d.ts +11 -0
  162. package/dist/components/rating.js +43 -0
  163. package/dist/components/rating.js.map +1 -0
  164. package/dist/components/scheduler.d.ts +35 -0
  165. package/dist/components/scheduler.js +142 -0
  166. package/dist/components/scheduler.js.map +1 -0
  167. package/dist/components/scrollview.d.ts +15 -0
  168. package/dist/components/scrollview.js +63 -0
  169. package/dist/components/scrollview.js.map +1 -0
  170. package/dist/components/signature.d.ts +15 -0
  171. package/dist/components/signature.js +47 -0
  172. package/dist/components/signature.js.map +1 -0
  173. package/dist/components/slider.d.ts +13 -0
  174. package/dist/components/slider.js +53 -0
  175. package/dist/components/slider.js.map +1 -0
  176. package/dist/components/splitbutton.d.ts +17 -0
  177. package/dist/components/splitbutton.js +80 -0
  178. package/dist/components/splitbutton.js.map +1 -0
  179. package/dist/components/splitter.d.ts +14 -0
  180. package/dist/components/splitter.js +64 -0
  181. package/dist/components/splitter.js.map +1 -0
  182. package/dist/components/spreadsheet.d.ts +19 -0
  183. package/dist/components/spreadsheet.js +48 -0
  184. package/dist/components/spreadsheet.js.map +1 -0
  185. package/dist/components/stepper.d.ts +11 -0
  186. package/dist/components/stepper.js +45 -0
  187. package/dist/components/stepper.js.map +1 -0
  188. package/dist/components/switch.d.ts +10 -0
  189. package/dist/components/switch.js +40 -0
  190. package/dist/components/switch.js.map +1 -0
  191. package/dist/components/table.d.ts +57 -0
  192. package/dist/components/table.js +237 -0
  193. package/dist/components/table.js.map +1 -0
  194. package/dist/components/tabstrip.d.ts +18 -0
  195. package/dist/components/tabstrip.js +73 -0
  196. package/dist/components/tabstrip.js.map +1 -0
  197. package/dist/components/textbox.d.ts +15 -0
  198. package/dist/components/textbox.js +69 -0
  199. package/dist/components/textbox.js.map +1 -0
  200. package/dist/components/tilelayout.d.ts +11 -0
  201. package/dist/components/tilelayout.js +39 -0
  202. package/dist/components/tilelayout.js.map +1 -0
  203. package/dist/components/timedurationpicker.d.ts +27 -0
  204. package/dist/components/timedurationpicker.js +146 -0
  205. package/dist/components/timedurationpicker.js.map +1 -0
  206. package/dist/components/timeline.d.ts +27 -0
  207. package/dist/components/timeline.js +150 -0
  208. package/dist/components/timeline.js.map +1 -0
  209. package/dist/components/timepicker.d.ts +19 -0
  210. package/dist/components/timepicker.js +97 -0
  211. package/dist/components/timepicker.js.map +1 -0
  212. package/dist/components/toolbar.d.ts +11 -0
  213. package/dist/components/toolbar.js +34 -0
  214. package/dist/components/toolbar.js.map +1 -0
  215. package/dist/components/treelist.d.ts +13 -0
  216. package/dist/components/treelist.js +51 -0
  217. package/dist/components/treelist.js.map +1 -0
  218. package/dist/components/treeview.d.ts +16 -0
  219. package/dist/components/treeview.js +113 -0
  220. package/dist/components/treeview.js.map +1 -0
  221. package/dist/components/ui-component.d.ts +3 -1
  222. package/dist/components/ui-component.js +16 -0
  223. package/dist/components/ui-component.js.map +1 -1
  224. package/dist/components/upload.d.ts +20 -0
  225. package/dist/components/upload.js +99 -0
  226. package/dist/components/upload.js.map +1 -0
  227. package/dist/components/window.d.ts +12 -0
  228. package/dist/components/window.js +50 -0
  229. package/dist/components/window.js.map +1 -0
  230. package/dist/components/wizard.d.ts +12 -0
  231. package/dist/components/wizard.js +31 -0
  232. package/dist/components/wizard.js.map +1 -0
  233. package/dist/selenium/driver-manager.js +1 -0
  234. package/dist/selenium/driver-manager.js.map +1 -1
  235. package/dist/selenium/web-app.d.ts +2 -0
  236. package/dist/selenium/web-app.js +28 -1
  237. package/dist/selenium/web-app.js.map +1 -1
  238. package/package.json +2 -1
@@ -0,0 +1,11 @@
1
+ import { Browser, By, WebElement } from "../selenium";
2
+ import { UIComponent } from "./ui-component";
3
+ export declare class Stepper extends UIComponent {
4
+ protected parentElement?: WebElement | By | string;
5
+ static SELECTOR: string;
6
+ constructor(browser: Browser, locator?: string, parentElement?: WebElement | By | string);
7
+ getStep(index: number): Promise<WebElement>;
8
+ getStepLink(index: number): Promise<WebElement>;
9
+ isDone(index: number): Promise<boolean>;
10
+ isCurrent(index: number): Promise<boolean>;
11
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.Stepper = void 0;
13
+ const const_1 = require("./const");
14
+ const ui_component_1 = require("./ui-component");
15
+ class Stepper extends ui_component_1.UIComponent {
16
+ constructor(browser, locator = Stepper.SELECTOR, parentElement) {
17
+ super(browser, locator, parentElement);
18
+ this.parentElement = parentElement;
19
+ }
20
+ getStep(index) {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ return yield this.findChild(`.k-step:nth-of-type(${index})`);
23
+ });
24
+ }
25
+ getStepLink(index) {
26
+ return __awaiter(this, void 0, void 0, function* () {
27
+ return yield this.findChild(`.k-step:nth-of-type(${index}) .k-step-link`);
28
+ });
29
+ }
30
+ isDone(index) {
31
+ return __awaiter(this, void 0, void 0, function* () {
32
+ const step = yield this.getStep(index);
33
+ return (yield step.getAttribute('class')).includes('k-step-done');
34
+ });
35
+ }
36
+ isCurrent(index) {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ const step = yield this.getStep(index);
39
+ return (yield step.getAttribute('class')).includes('k-step-current');
40
+ });
41
+ }
42
+ }
43
+ Stepper.SELECTOR = const_1.SELECTORS.STEPPER;
44
+ exports.Stepper = Stepper;
45
+ //# sourceMappingURL=stepper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepper.js","sourceRoot":"","sources":["../../src/components/stepper.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,mCAAoC;AACpC,iDAA6C;AAE7C,MAAa,OAAQ,SAAQ,0BAAW;IAGpC,YAAY,OAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAY,aAAwC;QACxG,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QADyB,kBAAa,GAAb,aAAa,CAA2B;IAE5G,CAAC;IAEK,OAAO,CAAC,KAAa;;YACvB,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,uBAAuB,KAAK,GAAG,CAAC,CAAC;QACjE,CAAC;KAAA;IAEK,WAAW,CAAC,KAAa;;YAC3B,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,uBAAuB,KAAK,gBAAgB,CAAC,CAAC;QAC9E,CAAC;KAAA;IAEK,MAAM,CAAC,KAAa;;YACtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACvC,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACtE,CAAC;KAAA;IAEK,SAAS,CAAC,KAAa;;YACzB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACvC,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACzE,CAAC;KAAA;;AAtBa,gBAAQ,GAAG,iBAAS,CAAC,OAAO,CAAC;AADlC,0BAAO"}
@@ -0,0 +1,10 @@
1
+ import { Browser, By, WebElement } from "../selenium";
2
+ import { UIComponent } from "./ui-component";
3
+ export declare class Switch extends UIComponent {
4
+ protected parentElement?: WebElement | By | string;
5
+ static SELECTOR: string;
6
+ constructor(browser: Browser, locator?: string, parentElement?: WebElement | By | string);
7
+ input(): Promise<WebElement>;
8
+ checked(): Promise<boolean>;
9
+ click(): Promise<void>;
10
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.Switch = void 0;
13
+ const const_1 = require("./const");
14
+ const ui_component_1 = require("./ui-component");
15
+ class Switch extends ui_component_1.UIComponent {
16
+ constructor(browser, locator = Switch.SELECTOR, parentElement) {
17
+ super(browser, locator, parentElement);
18
+ this.parentElement = parentElement;
19
+ }
20
+ input() {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ return yield this.findChild("input");
23
+ });
24
+ }
25
+ checked() {
26
+ return __awaiter(this, void 0, void 0, function* () {
27
+ const cssClass = yield (yield this.root()).getAttribute("class");
28
+ const ariaChecked = yield (yield this.root()).getAttribute("aria-checked");
29
+ return cssClass.includes("k-switch-on") && cssClass.includes("k-switch-off") === false && ariaChecked === "true";
30
+ });
31
+ }
32
+ click() {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ yield (yield this.root()).click();
35
+ });
36
+ }
37
+ }
38
+ Switch.SELECTOR = const_1.SELECTORS.SWITCH;
39
+ exports.Switch = Switch;
40
+ //# sourceMappingURL=switch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch.js","sourceRoot":"","sources":["../../src/components/switch.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,mCAAoC;AACpC,iDAA6C;AAE7C,MAAa,MAAO,SAAQ,0BAAW;IAGnC,YAAY,OAAgB,EAAE,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAY,aAAwC;QACvG,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QADwB,kBAAa,GAAb,aAAa,CAA2B;IAE3G,CAAC;IAEK,KAAK;;YACP,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;KAAA;IAEK,OAAO;;YACT,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACjE,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;YAC3E,OAAO,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,KAAK,IAAI,WAAW,KAAK,MAAM,CAAC;QACrH,CAAC;KAAA;IAEK,KAAK;;YACP,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QACtC,CAAC;KAAA;;AAlBa,eAAQ,GAAG,iBAAS,CAAC,MAAM,CAAC;AADjC,wBAAM"}
@@ -0,0 +1,57 @@
1
+ import { Browser, By, WebElement } from "../selenium";
2
+ import { UIComponent } from "./ui-component";
3
+ import { SortType } from "./enums";
4
+ import { FilterMenu } from "./filtermenu";
5
+ import { ColumnMenu } from "./columnmenu";
6
+ export declare class Table extends UIComponent {
7
+ protected parentElement?: WebElement | By | string;
8
+ static TOOLBAR_ADD_BUTTON: string;
9
+ static TOOLBAR_SAVE_BUTTON: string;
10
+ static TOOLBAR_CANCEL_BUTTON: string;
11
+ constructor(browser: Browser, locator: By | string, parentElement?: WebElement | By | string);
12
+ addButton(): Promise<WebElement>;
13
+ saveChanges(): Promise<WebElement>;
14
+ cancelChanges(): Promise<WebElement>;
15
+ headerByIndex(column: number): Promise<WebElement>;
16
+ headerByText(text: string, { exactMatch }?: {
17
+ exactMatch?: boolean;
18
+ }): Promise<WebElement>;
19
+ columnMenuByIndex(column: number): Promise<WebElement>;
20
+ columnMenuByText(text: string, { exactMatch }?: {
21
+ exactMatch?: boolean;
22
+ }): Promise<WebElement>;
23
+ filterMenuByIndex(column: number): Promise<WebElement>;
24
+ filterMenuByText(text: string, { exactMatch }?: {
25
+ exactMatch?: boolean;
26
+ }): Promise<WebElement>;
27
+ headerSortType(text: string, { exactMatch }?: {
28
+ exactMatch?: boolean;
29
+ }): Promise<SortType>;
30
+ filterInput(column: number): Promise<WebElement>;
31
+ openColumnMenu(text: string): Promise<ColumnMenu>;
32
+ openFilterMenu(text: string): Promise<FilterMenu>;
33
+ tableRows(): Promise<WebElement[]>;
34
+ tableRow(index: number): Promise<WebElement>;
35
+ tableRowsCount({ onlyVisible }?: {
36
+ onlyVisible?: boolean;
37
+ }): Promise<number>;
38
+ waitForRows(rowsCount: number, { timeout, pollTimeout }?: {
39
+ timeout?: number;
40
+ pollTimeout?: number;
41
+ }): Promise<void>;
42
+ cellLocator(row: number, column: number): string;
43
+ cell(row: number, column: number): Promise<WebElement>;
44
+ cellText(row: number, column: number): Promise<string>;
45
+ cellInput(row: number, column: number): Promise<WebElement>;
46
+ writeInCell(row: number, column: number, text: string, { clickToFocus, clear, sendEnter }?: {
47
+ clickToFocus?: boolean;
48
+ clear?: boolean;
49
+ sendEnter?: boolean;
50
+ }): Promise<void>;
51
+ dragCellByRow(index: number): Promise<WebElement>;
52
+ addCommandByRow(index: number): Promise<WebElement>;
53
+ editCommandByRow(index: number): Promise<WebElement>;
54
+ removeCommandByRow(index: number): Promise<WebElement>;
55
+ saveCommandByRow(index: number): Promise<WebElement>;
56
+ cancelCommandByRow(index: number): Promise<WebElement>;
57
+ }
@@ -0,0 +1,237 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.Table = void 0;
13
+ const selenium_1 = require("../selenium");
14
+ const ui_component_1 = require("./ui-component");
15
+ const enums_1 = require("./enums");
16
+ const filtermenu_1 = require("./filtermenu");
17
+ const columnmenu_1 = require("./columnmenu");
18
+ class Table extends ui_component_1.UIComponent {
19
+ constructor(browser, locator, parentElement) {
20
+ super(browser, locator, parentElement);
21
+ this.parentElement = parentElement;
22
+ }
23
+ addButton() {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ return yield this.findChild(Table.TOOLBAR_ADD_BUTTON);
26
+ });
27
+ }
28
+ saveChanges() {
29
+ return __awaiter(this, void 0, void 0, function* () {
30
+ return yield this.findChild(Table.TOOLBAR_SAVE_BUTTON);
31
+ });
32
+ }
33
+ cancelChanges() {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ return yield this.findChild(Table.TOOLBAR_CANCEL_BUTTON);
36
+ });
37
+ }
38
+ headerByIndex(column) {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ const locator = `thead tr th:nth-of-type(${column})`;
41
+ return yield this.findChild(locator);
42
+ });
43
+ }
44
+ headerByText(text, { exactMatch = true } = {}) {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ const locator = exactMatch
47
+ ? selenium_1.By.xpath(`.//thead//tr//th[.='${text}']`)
48
+ : selenium_1.By.xpath(`.//thead//tr//th[contains(., '${text}')]`);
49
+ return yield this.findChild(locator);
50
+ });
51
+ }
52
+ columnMenuByIndex(column) {
53
+ return __awaiter(this, void 0, void 0, function* () {
54
+ const locator = `thead tr th:nth-of-type(${column}) .k-grid-column-menu`;
55
+ return yield this.findChild(locator);
56
+ });
57
+ }
58
+ columnMenuByText(text, { exactMatch = true } = {}) {
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ const locator = exactMatch
61
+ ? selenium_1.By.xpath(`.//thead//tr//th[.='${text}']//*[contains(@class, 'k-grid-column-menu')]`)
62
+ : selenium_1.By.xpath(`.//thead//tr//th[contains(., '${text}')]//*[contains(@class, 'k-grid-column-menu')]`);
63
+ return yield this.findChild(locator);
64
+ });
65
+ }
66
+ filterMenuByIndex(column) {
67
+ return __awaiter(this, void 0, void 0, function* () {
68
+ const locator = `thead tr th:nth-of-type(${column}) .k-grid-filter-menu`;
69
+ return yield this.findChild(locator);
70
+ });
71
+ }
72
+ filterMenuByText(text, { exactMatch = true } = {}) {
73
+ return __awaiter(this, void 0, void 0, function* () {
74
+ const locator = exactMatch
75
+ ? selenium_1.By.xpath(`.//thead//tr/*[.='${text}']//*[contains(@class, 'k-grid-filter-menu')]`)
76
+ : selenium_1.By.xpath(`.//thead//tr/*[contains(., '${text}')]//*[contains(@class, 'k-grid-filter-menu')]`);
77
+ return yield this.findChild(locator);
78
+ });
79
+ }
80
+ headerSortType(text, { exactMatch = true } = {}) {
81
+ return __awaiter(this, void 0, void 0, function* () {
82
+ const header = yield this.headerByText(text, { exactMatch: exactMatch });
83
+ if ((yield header.findElements(selenium_1.By.css(".k-svg-i-sort-asc-small"))).length > 0) {
84
+ return enums_1.SortType.Asc;
85
+ }
86
+ if ((yield header.findElements(selenium_1.By.css(".k-svg-i-sort-desc-small"))).length > 0) {
87
+ return enums_1.SortType.Desc;
88
+ }
89
+ else {
90
+ return enums_1.SortType.None;
91
+ }
92
+ });
93
+ }
94
+ filterInput(column) {
95
+ return __awaiter(this, void 0, void 0, function* () {
96
+ const angular = `.k-filter-row td:nth-of-type(${column}) input.k-input`;
97
+ const jqueryTH = `.k-filter-row th:nth-of-type(${column}) input.k-input-inner`;
98
+ const jqueryTD = `.k-filter-row td:nth-of-type(${column}) input.k-input-inner`;
99
+ return yield this.browser.findChild(yield this.root(), `${angular},${jqueryTH},${jqueryTD}`);
100
+ });
101
+ }
102
+ openColumnMenu(text) {
103
+ return __awaiter(this, void 0, void 0, function* () {
104
+ const button = yield this.columnMenuByText(text);
105
+ yield this.browser.waitForAnimationAndClick(button);
106
+ const popup = yield this.browser.find('.k-animation-container[aria-hidden="false"]');
107
+ yield this.browser.waitForAnimation('.k-animation-container[aria-hidden="false"] .k-column-menu');
108
+ return new columnmenu_1.ColumnMenu(this.browser, '.k-column-menu', popup);
109
+ });
110
+ }
111
+ openFilterMenu(text) {
112
+ return __awaiter(this, void 0, void 0, function* () {
113
+ const button = yield this.filterMenuByText(text);
114
+ yield button.click();
115
+ const popup = yield this.browser.find('.k-animation-container[aria-hidden="false"] form');
116
+ yield this.browser.waitForAnimation('.k-animation-container[aria-hidden="false"] form .k-filter-menu-container');
117
+ return new filtermenu_1.FilterMenu(this.browser, '.k-filter-menu-container', popup);
118
+ });
119
+ }
120
+ tableRows() {
121
+ return __awaiter(this, void 0, void 0, function* () {
122
+ return yield this.browser.findChildren(yield this.root(), "tbody > tr", { waitForChild: false });
123
+ });
124
+ }
125
+ tableRow(index) {
126
+ return __awaiter(this, void 0, void 0, function* () {
127
+ return yield this.browser.findChild(yield this.root(), `tbody > tr:nth-of-type(${index})`);
128
+ });
129
+ }
130
+ tableRowsCount({ onlyVisible = false } = {}) {
131
+ return __awaiter(this, void 0, void 0, function* () {
132
+ const rows = yield this.tableRows();
133
+ if (onlyVisible) {
134
+ let count = 0;
135
+ for (const row of rows) {
136
+ if (yield row.isDisplayed()) {
137
+ count++;
138
+ }
139
+ }
140
+ return count;
141
+ }
142
+ else {
143
+ return rows.length;
144
+ }
145
+ });
146
+ }
147
+ waitForRows(rowsCount, { timeout = 10000, pollTimeout = 100 } = {}) {
148
+ return __awaiter(this, void 0, void 0, function* () {
149
+ yield this.browser.wait(() => __awaiter(this, void 0, void 0, function* () { return (yield this.tableRowsCount()) === rowsCount; }), {
150
+ timeout: timeout,
151
+ pollTimeout: pollTimeout,
152
+ message: `Expected table to have ${rowsCount} rows, but actual rows are ${yield this.tableRowsCount()}.`,
153
+ });
154
+ });
155
+ }
156
+ cellLocator(row, column) {
157
+ return `tbody > tr:nth-of-type(${row}) > td[role='gridcell']:nth-of-type(${column})`;
158
+ }
159
+ cell(row, column) {
160
+ return __awaiter(this, void 0, void 0, function* () {
161
+ return yield this.findChild(this.cellLocator(row, column));
162
+ });
163
+ }
164
+ cellText(row, column) {
165
+ return __awaiter(this, void 0, void 0, function* () {
166
+ try {
167
+ return yield (yield this.cell(row, column)).getText();
168
+ }
169
+ catch (_a) {
170
+ return undefined;
171
+ }
172
+ });
173
+ }
174
+ cellInput(row, column) {
175
+ return __awaiter(this, void 0, void 0, function* () {
176
+ const locator = `${this.cellLocator(row, column)} input:not([aria-hidden])`;
177
+ return yield this.findChild(locator);
178
+ });
179
+ }
180
+ writeInCell(row, column, text, { clickToFocus = true, clear = true, sendEnter = false } = {}) {
181
+ return __awaiter(this, void 0, void 0, function* () {
182
+ const input = `${this.cellLocator(row, column)} input:not([aria-hidden])`;
183
+ if (clickToFocus) {
184
+ yield this.browser.click(this.cellLocator(row, column));
185
+ yield this.browser.wait(selenium_1.EC.isVisible(input), {
186
+ timeout: 3000, message: 'Failed to show input on cell click.'
187
+ });
188
+ }
189
+ if (clear) {
190
+ yield this.browser.sendControlKeyCombination("a");
191
+ yield this.browser.sleep(10);
192
+ yield this.browser.sendKey(selenium_1.Key.BACK_SPACE);
193
+ yield this.browser.sleep(10);
194
+ }
195
+ yield this.browser.sendKey(text);
196
+ yield this.browser.sleep(10);
197
+ if (sendEnter) {
198
+ yield this.browser.sendKey(selenium_1.Key.ENTER);
199
+ }
200
+ });
201
+ }
202
+ dragCellByRow(index) {
203
+ return __awaiter(this, void 0, void 0, function* () {
204
+ return yield this.browser.findChild(yield this.root(), `tbody > tr:nth-of-type(${index}) .k-drag-cell`);
205
+ });
206
+ }
207
+ addCommandByRow(index) {
208
+ return __awaiter(this, void 0, void 0, function* () {
209
+ return yield this.browser.findChild(yield this.root(), `tbody > tr:nth-of-type(${index}) .k-grid-add`);
210
+ });
211
+ }
212
+ editCommandByRow(index) {
213
+ return __awaiter(this, void 0, void 0, function* () {
214
+ return yield this.browser.findChild(yield this.root(), `tbody > tr:nth-of-type(${index}) .k-grid-edit-command`);
215
+ });
216
+ }
217
+ removeCommandByRow(index) {
218
+ return __awaiter(this, void 0, void 0, function* () {
219
+ return yield this.browser.findChild(yield this.root(), selenium_1.By.css(`tbody > tr:nth-of-type(${index}) .k-grid-remove-command`));
220
+ });
221
+ }
222
+ saveCommandByRow(index) {
223
+ return __awaiter(this, void 0, void 0, function* () {
224
+ return yield this.browser.findChild(yield this.root(), `tbody > tr:nth-of-type(${index}) .k-grid-save-command`);
225
+ });
226
+ }
227
+ cancelCommandByRow(index) {
228
+ return __awaiter(this, void 0, void 0, function* () {
229
+ return yield this.browser.findChild(yield this.root(), `tbody > tr:nth-of-type(${index}) .k-grid-cancel-command`);
230
+ });
231
+ }
232
+ }
233
+ Table.TOOLBAR_ADD_BUTTON = ".k-grid-add, .k-grid-add-command";
234
+ Table.TOOLBAR_SAVE_BUTTON = ".k-grid-save-changes";
235
+ Table.TOOLBAR_CANCEL_BUTTON = ".k-grid-cancel-changes";
236
+ exports.Table = Table;
237
+ //# sourceMappingURL=table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/components/table.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { Browser, By, WebElement } from "../selenium";
2
+ import { UIComponent } from "./ui-component";
3
+ export declare class TabStrip extends UIComponent {
4
+ protected parentElement?: WebElement | By | string;
5
+ static SELECTOR: string;
6
+ constructor(browser: Browser, locator?: string, parentElement?: WebElement | By | string);
7
+ getTabGroup(): Promise<WebElement>;
8
+ getTabsCount({ waitForTab }?: {
9
+ waitForTab?: boolean;
10
+ }): Promise<number>;
11
+ getTabByIndex(index: number): Promise<WebElement>;
12
+ getContentByIndex(index: number): Promise<WebElement>;
13
+ getTabContent(index: number): Promise<string>;
14
+ selectTabByIndex(index: number): Promise<void>;
15
+ isTabActive(index: number): Promise<boolean>;
16
+ isTabFocused(index: number): Promise<boolean>;
17
+ isContentActive(index: number): Promise<boolean>;
18
+ }
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.TabStrip = void 0;
13
+ const const_1 = require("./const");
14
+ const ui_component_1 = require("./ui-component");
15
+ class TabStrip extends ui_component_1.UIComponent {
16
+ constructor(browser, locator = TabStrip.SELECTOR, parentElement) {
17
+ super(browser, locator, parentElement);
18
+ this.parentElement = parentElement;
19
+ }
20
+ getTabGroup() {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ return yield this.findChild(`.k-tabstrip-items`);
23
+ });
24
+ }
25
+ getTabsCount({ waitForTab = true } = {}) {
26
+ return __awaiter(this, void 0, void 0, function* () {
27
+ return (yield this.findChildren(`li.k-tabstrip-item`, { waitForChild: waitForTab })).length;
28
+ });
29
+ }
30
+ getTabByIndex(index) {
31
+ return __awaiter(this, void 0, void 0, function* () {
32
+ return yield this.findChild(`li.k-tabstrip-item:nth-of-type(${index})`);
33
+ });
34
+ }
35
+ getContentByIndex(index) {
36
+ return __awaiter(this, void 0, void 0, function* () {
37
+ const rootId = yield (yield this.root()).getAttribute('id');
38
+ const locator = rootId !== undefined
39
+ ? `#${rootId}-${index}.k-content`
40
+ : `#tabstrip-${index}.k-content`;
41
+ return yield this.findChild(locator);
42
+ });
43
+ }
44
+ getTabContent(index) {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ return (yield this.getContentByIndex(index)).getText();
47
+ });
48
+ }
49
+ selectTabByIndex(index) {
50
+ return __awaiter(this, void 0, void 0, function* () {
51
+ yield (yield this.getTabByIndex(index)).click();
52
+ });
53
+ }
54
+ isTabActive(index) {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ return (yield (yield this.getTabByIndex(index)).getAttribute('class')).includes('k-active');
57
+ });
58
+ }
59
+ isTabFocused(index) {
60
+ return __awaiter(this, void 0, void 0, function* () {
61
+ return (yield (yield this.getTabByIndex(index)).getAttribute('class')).includes('k-focus');
62
+ });
63
+ }
64
+ isContentActive(index) {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ const content = yield this.getContentByIndex(index);
67
+ return (yield content.getAttribute('class')).includes('k-active');
68
+ });
69
+ }
70
+ }
71
+ TabStrip.SELECTOR = const_1.SELECTORS.TABSTRIP;
72
+ exports.TabStrip = TabStrip;
73
+ //# sourceMappingURL=tabstrip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabstrip.js","sourceRoot":"","sources":["../../src/components/tabstrip.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,mCAAoC;AACpC,iDAA6C;AAE7C,MAAa,QAAS,SAAQ,0BAAW;IAGrC,YAAY,OAAgB,EAAE,OAAO,GAAG,QAAQ,CAAC,QAAQ,EAAY,aAAwC;QACzG,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QAD0B,kBAAa,GAAb,aAAa,CAA2B;IAE7G,CAAC;IAEK,WAAW;;YACb,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QACrD,CAAC;KAAA;IAEK,YAAY,CAAC,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,EAAE;;YACzC,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,oBAAoB,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAChG,CAAC;KAAA;IAEK,aAAa,CAAC,KAAa;;YAC7B,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,kCAAkC,KAAK,GAAG,CAAC,CAAC;QAC5E,CAAC;KAAA;IAEK,iBAAiB,CAAC,KAAa;;YACjC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,MAAM,KAAK,SAAS;gBAChC,CAAC,CAAC,IAAI,MAAM,IAAI,KAAK,YAAY;gBACjC,CAAC,CAAC,aAAa,KAAK,YAAY,CAAC;YACrC,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;KAAA;IAEK,aAAa,CAAC,KAAa;;YAC7B,OAAO,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3D,CAAC;KAAA;IAEK,gBAAgB,CAAC,KAAa;;YAChC,MAAM,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACpD,CAAC;KAAA;IAEK,WAAW,CAAC,KAAa;;YAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAChG,CAAC;KAAA;IAEK,YAAY,CAAC,KAAa;;YAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/F,CAAC;KAAA;IAEK,eAAe,CAAC,KAAa;;YAC/B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACpD,OAAO,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACtE,CAAC;KAAA;;AA7Ca,iBAAQ,GAAG,iBAAS,CAAC,QAAQ,CAAC;AADnC,4BAAQ"}
@@ -0,0 +1,15 @@
1
+ import { Browser, By, WebElement } from "../selenium";
2
+ import { UIComponent } from "./ui-component";
3
+ export declare class TextBox extends UIComponent {
4
+ protected parentElement?: WebElement | By | string;
5
+ static SELECTOR: string;
6
+ constructor(browser: Browser, locator?: By | string, parentElement?: WebElement | By | string);
7
+ input(): Promise<WebElement>;
8
+ clearValue(): Promise<void>;
9
+ setValue(value: string, { clear }?: {
10
+ clear?: boolean;
11
+ }): Promise<void>;
12
+ getValue(): Promise<string>;
13
+ getSelectionStart(): Promise<number>;
14
+ getSelectionEnd(): Promise<number>;
15
+ }
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.TextBox = void 0;
13
+ const selenium_1 = require("../selenium");
14
+ const const_1 = require("./const");
15
+ const ui_component_1 = require("./ui-component");
16
+ class TextBox extends ui_component_1.UIComponent {
17
+ constructor(browser, locator = TextBox.SELECTOR, parentElement) {
18
+ super(browser, locator, parentElement);
19
+ this.parentElement = parentElement;
20
+ }
21
+ input() {
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ return yield this.findChild("input.k-input-inner");
24
+ });
25
+ }
26
+ clearValue() {
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ yield (yield this.root()).click();
29
+ yield this.browser.sleep(25);
30
+ yield this.browser.sendControlKeyCombination("a");
31
+ yield this.browser.sleep(25);
32
+ yield this.browser.sendKey(selenium_1.Key.BACK_SPACE);
33
+ yield this.browser.sleep(25);
34
+ });
35
+ }
36
+ setValue(value, { clear = true } = {}) {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ if (clear) {
39
+ yield this.clearValue();
40
+ }
41
+ else {
42
+ yield (yield this.root()).click();
43
+ yield this.browser.sleep(25);
44
+ }
45
+ yield this.browser.sendKey(value);
46
+ yield this.browser.sleep(25);
47
+ });
48
+ }
49
+ getValue() {
50
+ return __awaiter(this, void 0, void 0, function* () {
51
+ return yield (yield this.input()).getAttribute("value");
52
+ });
53
+ }
54
+ getSelectionStart() {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ const input = yield this.input();
57
+ return parseInt(yield this.browser.getProperty(input, "selectionStart"));
58
+ });
59
+ }
60
+ getSelectionEnd() {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ const input = yield this.input();
63
+ return parseInt(yield this.browser.getProperty(input, "selectionEnd"));
64
+ });
65
+ }
66
+ }
67
+ TextBox.SELECTOR = const_1.SELECTORS.TEXTBOX;
68
+ exports.TextBox = TextBox;
69
+ //# sourceMappingURL=textbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textbox.js","sourceRoot":"","sources":["../../src/components/textbox.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAA2D;AAC3D,mCAAoC;AACpC,iDAA6C;AAE7C,MAAa,OAAQ,SAAQ,0BAAW;IAGpC,YAAY,OAAgB,EAAE,UAAuB,OAAO,CAAC,QAAQ,EAAY,aAAwC;QACrH,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QADsC,kBAAa,GAAb,aAAa,CAA2B;IAEzH,CAAC;IAEK,KAAK;;YACP,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QACvD,CAAC;KAAA;IAEK,UAAU;;YACZ,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC7B,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC7B,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAG,CAAC,UAAU,CAAC,CAAC;YAC3C,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC;KAAA;IAEK,QAAQ,CAAC,KAAa,EAAE,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE;;YAC/C,IAAI,KAAK,EAAE;gBACP,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;aAC3B;iBAAM;gBACH,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aAChC;YAED,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAClC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC;KAAA;IAEK,QAAQ;;YACV,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC5D,CAAC;KAAA;IAEK,iBAAiB;;YACnB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACjC,OAAO,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC7E,CAAC;KAAA;IAEK,eAAe;;YACjB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACjC,OAAO,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;QAC3E,CAAC;KAAA;;AA3Ca,gBAAQ,GAAG,iBAAS,CAAC,OAAO,CAAC;AADlC,0BAAO"}
@@ -0,0 +1,11 @@
1
+ import { Browser, By, WebElement } from "../selenium";
2
+ import { UIComponent } from "./ui-component";
3
+ export declare class TileLayout extends UIComponent {
4
+ protected parentElement?: WebElement | By | string;
5
+ static SELECTOR: string;
6
+ static ITEM: string;
7
+ constructor(browser: Browser, locator?: string, parentElement?: WebElement | By | string);
8
+ getItemByIndex(index: number): Promise<WebElement>;
9
+ getItemTextByIndex(index: number): Promise<string>;
10
+ getItemHeaderByIndex(index: number): Promise<WebElement>;
11
+ }