d5-testing-library 1.9.0-alpha.21 → 1.9.0-alpha.22

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.
@@ -0,0 +1,7 @@
1
+ import {
2
+ FormEdit
3
+ } from "./chunk-GQKGCUVL.mjs";
4
+ import "./chunk-FRCMUAAY.mjs";
5
+ export {
6
+ FormEdit as default
7
+ };
@@ -0,0 +1,7 @@
1
+ import {
2
+ ListForm
3
+ } from "./chunk-27XBX275.mjs";
4
+ import "./chunk-FRCMUAAY.mjs";
5
+ export {
6
+ ListForm as default
7
+ };
@@ -0,0 +1,8 @@
1
+ import {
2
+ TreeView
3
+ } from "./chunk-ZWHGIJ3K.mjs";
4
+ import "./chunk-27XBX275.mjs";
5
+ import "./chunk-FRCMUAAY.mjs";
6
+ export {
7
+ TreeView as default
8
+ };
@@ -19,7 +19,7 @@ import {
19
19
  waitElementIsClickable_default,
20
20
  waitElementIsVisible_default,
21
21
  withCustomTimeouts_default
22
- } from "./chunk-NO3PBR34.mjs";
22
+ } from "./chunk-FRCMUAAY.mjs";
23
23
 
24
24
  // src/pageObjects/elements/Table/Table.ts
25
25
  import { By as By6 } from "selenium-webdriver";
@@ -86,6 +86,9 @@ var AbstractElement = class {
86
86
  async getDataTestId() {
87
87
  return await this.getAttribute("data-testid");
88
88
  }
89
+ async getDataDateMode() {
90
+ return await this.getAttribute("data-datemode");
91
+ }
89
92
  };
90
93
 
91
94
  // src/pageObjects/pages/AbstractPage.ts
@@ -566,10 +569,10 @@ var BooleanSelector = class extends ButtonGroup {
566
569
  };
567
570
 
568
571
  // src/pageObjects/elements/Editors/Date/SingleDateEditor.ts
569
- import { By as By9 } from "selenium-webdriver";
572
+ import { By as By10 } from "selenium-webdriver";
570
573
 
571
574
  // src/pageObjects/elements/Editors/Date/BaseDateEditor.ts
572
- import { By as By8, Key as Key3 } from "selenium-webdriver";
575
+ import { By as By9, Key as Key3 } from "selenium-webdriver";
573
576
 
574
577
  // src/pageObjects/elements/Editors/Date/utils.ts
575
578
  var formatDMYDate = (date, isTimeAllowed = false) => {
@@ -587,12 +590,202 @@ var formatToDateTime = (dateString) => {
587
590
  const [hours, minutes] = timePart.split(":").map(Number);
588
591
  return new Date(year, month - 1, day, hours, minutes, 0, 0);
589
592
  };
593
+ var getYearMonthDay = (date) => {
594
+ const [year, month, day] = date.toISOString().split("T")[0].split("-");
595
+ return { year: +year, month: +month, day: +day };
596
+ };
590
597
 
591
- // src/pageObjects/elements/Editors/Date/BaseDateEditor.ts
598
+ // src/pageObjects/elements/Editors/Date/DateSelectMode.ts
599
+ var DateSelectMode = class {
600
+ static isWeek(t) {
601
+ return t === "week" /* Week */;
602
+ }
603
+ static isMonth(t) {
604
+ return t === "month" /* Month */;
605
+ }
606
+ static isWeekOrMonth(t) {
607
+ return this.isWeek(t) || this.isMonth(t);
608
+ }
609
+ };
610
+
611
+ // src/pageObjects/elements/Editors/Date/Calendar.ts
612
+ import { By as By8 } from "selenium-webdriver";
592
613
  var BTN_CALENDAR_POPOVER_OPEN_SELECTOR = "calendar-popover-open-button";
593
614
  var BTN_CALENDAR_POPOVER_DATE_FROM_INPUT_SELECTOR = "DateRange__inputs-item--dateFrom";
594
615
  var BTN_CALENDAR_POPOVER_DATE_TO_INPUT_SELECTOR = "DateRange__inputs-item--dateTo";
595
616
  var BTN_SAVE_SELECTOR = "DateRange__button-save";
617
+ var CALENDAR_CAPTION_SELECTOR = "dx-calendar-caption-button";
618
+ var CALENDAR_CELL_SELECTOR = "dx-calendar-cell";
619
+ var CALENDAR_PREVIOUS_SELECTOR = "dx-calendar-navigator-previous-month";
620
+ var CALENDAR_NEXT_SELECTOR = "dx-calendar-navigator-next-month";
621
+ var TEXT_EDITOR_SELECTOR = "dx-texteditor-input";
622
+ var movesToCalendarEndForWeek = 3;
623
+ var movesToCalendarEndForMonth = 1;
624
+ var Calendar = class extends AbstractElementWithParent {
625
+ _parentCssSelector;
626
+ constructor({ parentCssSelector, dateFieldDataTestID, driver }) {
627
+ super("", byTestIdCssSelector(`${dateFieldDataTestID}-calendar-popover`), driver);
628
+ this._parentCssSelector = parentCssSelector;
629
+ }
630
+ async init() {
631
+ const dateField = await this.driver.findElement(By8.css(this._parentCssSelector));
632
+ const button = await dateField.findElement(By8.css(`.${BTN_CALENDAR_POPOVER_OPEN_SELECTOR}`));
633
+ await click(button, this.driver);
634
+ }
635
+ /**
636
+ * Переходимо на найвищий рівень календаря
637
+ */
638
+ async moveToCalendarEnd(count) {
639
+ while (count >= 0) {
640
+ const calendarElement = await this.getElement();
641
+ const button = await calendarElement.findElement(By8.css(`.${CALENDAR_CAPTION_SELECTOR}`));
642
+ await click(button, this.driver);
643
+ count--;
644
+ }
645
+ }
646
+ /**
647
+ * Пошук та клік по правильному періоду (2010-2019, 2020-2029, і т.д.)
648
+ */
649
+ async choosePeriodForYear(targetYear) {
650
+ let found = false;
651
+ while (!found) {
652
+ const calendarElement = await this.getElement();
653
+ const periodCells = await calendarElement.findElements(By8.css(`.${CALENDAR_CELL_SELECTOR} span`));
654
+ for (const cell of periodCells) {
655
+ const text = await cell.getText();
656
+ if (text) {
657
+ const [start, end] = text.split("-").map(Number);
658
+ if (targetYear >= start && targetYear <= end) {
659
+ await click(cell, this.driver);
660
+ found = true;
661
+ break;
662
+ }
663
+ }
664
+ }
665
+ if (!found) {
666
+ const firstPeriod = await periodCells[0].getText();
667
+ const [start] = firstPeriod.split("-").map(Number);
668
+ if (targetYear < start) {
669
+ const prevBtn = await calendarElement.findElement(By8.css(`.${CALENDAR_PREVIOUS_SELECTOR}`));
670
+ await click(prevBtn, this.driver);
671
+ } else {
672
+ const nextBtn = await calendarElement.findElement(By8.css(`.${CALENDAR_NEXT_SELECTOR}`));
673
+ await click(nextBtn, this.driver);
674
+ }
675
+ }
676
+ }
677
+ }
678
+ /**
679
+ * Пошук та клік по конкретному року з навігацією
680
+ */
681
+ async chooseYear(targetYear) {
682
+ let found = false;
683
+ while (!found) {
684
+ const calendarElement = await this.getElement();
685
+ const yearCells = await calendarElement.findElements(By8.css(`.${CALENDAR_CELL_SELECTOR} span`));
686
+ for (const cell of yearCells) {
687
+ const text = await cell.getText();
688
+ const cellYear = Number(text);
689
+ if (!isNaN(cellYear) && cellYear === targetYear) {
690
+ await click(cell, this.driver);
691
+ found = true;
692
+ break;
693
+ }
694
+ }
695
+ if (!found) {
696
+ const firstYearText = await yearCells[0].getText();
697
+ const lastYearText = await yearCells[yearCells.length - 1].getText();
698
+ const firstYear = Number(firstYearText);
699
+ const lastYear = Number(lastYearText);
700
+ if (targetYear < firstYear) {
701
+ const prevBtn = await calendarElement.findElement(By8.css(`.${CALENDAR_PREVIOUS_SELECTOR}`));
702
+ await click(prevBtn, this.driver);
703
+ } else if (targetYear > lastYear) {
704
+ const nextBtn = await calendarElement.findElement(By8.css(`.${CALENDAR_NEXT_SELECTOR}`));
705
+ await click(nextBtn, this.driver);
706
+ } else {
707
+ throw new Error(`Year ${targetYear} is not in the visible range but navigation failed`);
708
+ }
709
+ }
710
+ }
711
+ }
712
+ /**
713
+ * Пошук та клік по конкретному місяцю
714
+ */
715
+ async chooseMonth(year, month) {
716
+ const calendarElement = await this.getElement();
717
+ const monthCells = await calendarElement.findElements(By8.css(`.${CALENDAR_CELL_SELECTOR}`));
718
+ for (const cell of monthCells) {
719
+ const dataValue = await cell.getAttribute("data-value");
720
+ if (dataValue) {
721
+ const [cellYear, cellMonth] = dataValue.split("/").map(Number);
722
+ if (cellYear === year && cellMonth === month) {
723
+ await click(cell, this.driver);
724
+ return;
725
+ }
726
+ }
727
+ }
728
+ throw new Error(`Month ${month} for year ${year} not found`);
729
+ }
730
+ /**
731
+ * Пошук та клік по конкретному дню (ігноруємо дні з іншого місяця)
732
+ */
733
+ async chooseDay(year, month, day) {
734
+ const calendarElement = await this.getElement();
735
+ const dayCells = await calendarElement.findElements(By8.css(`.${CALENDAR_CELL_SELECTOR}`));
736
+ for (const cell of dayCells) {
737
+ const dataValue = await cell.getAttribute("data-value");
738
+ if (dataValue) {
739
+ const [cellYear, cellMonth, cellDay] = dataValue.split("/").map(Number);
740
+ if (cellYear === year && cellMonth === month && cellDay === day) {
741
+ await click(cell, this.driver);
742
+ return;
743
+ }
744
+ }
745
+ }
746
+ throw new Error(`Day ${day}.${month}.${year} not found`);
747
+ }
748
+ /**
749
+ * Встановлення дати для тижня
750
+ */
751
+ async setValueForWeek(date) {
752
+ const { year, month, day } = getYearMonthDay(date);
753
+ await this.moveToCalendarEnd(movesToCalendarEndForWeek);
754
+ await this.choosePeriodForYear(year);
755
+ await this.chooseYear(year);
756
+ await this.chooseMonth(year, month);
757
+ await this.chooseDay(year, month, day);
758
+ await this.save();
759
+ }
760
+ /**
761
+ * Встановлення дати для місяця
762
+ */
763
+ async setValueForMonth(date) {
764
+ const { year, month } = getYearMonthDay(date);
765
+ await this.moveToCalendarEnd(movesToCalendarEndForMonth);
766
+ await this.chooseYear(year);
767
+ await this.chooseMonth(year, month);
768
+ await this.save();
769
+ }
770
+ async getDateFromInput() {
771
+ const calendarPopoverElement = await this.getElement();
772
+ return calendarPopoverElement.findElement(
773
+ By8.css(`.${BTN_CALENDAR_POPOVER_DATE_FROM_INPUT_SELECTOR} .${TEXT_EDITOR_SELECTOR}`)
774
+ );
775
+ }
776
+ async getDateToInput() {
777
+ const calendarPopoverElement = await this.getElement();
778
+ return calendarPopoverElement.findElement(
779
+ By8.css(`.${BTN_CALENDAR_POPOVER_DATE_TO_INPUT_SELECTOR} .${TEXT_EDITOR_SELECTOR}`)
780
+ );
781
+ }
782
+ async save() {
783
+ const btnOk = await this.driver.findElement(By8.css(`.${BTN_SAVE_SELECTOR}`));
784
+ await click(btnOk, this.driver);
785
+ }
786
+ };
787
+
788
+ // src/pageObjects/elements/Editors/Date/BaseDateEditor.ts
596
789
  var DATETIME_ALLOWED_SELECTOR = "dx-datebox-datetime";
597
790
  var BaseDateEditor = class extends AbstractDXEditorWithInput {
598
791
  constructor(parentCssSelector, elementCssSelector, driver) {
@@ -600,28 +793,46 @@ var BaseDateEditor = class extends AbstractDXEditorWithInput {
600
793
  this.setClearStrategy(new InputClearStrategy());
601
794
  }
602
795
  async getIsAllowedTime() {
603
- const dateField = await this.driver.findElement(By8.css(`${this.getFullCssSelector()}`));
796
+ const dateField = await this.driver.findElement(By9.css(`${this.getFullCssSelector()}`));
604
797
  const classString = await dateField.getAttribute("class");
605
798
  return classString.includes(DATETIME_ALLOWED_SELECTOR);
606
799
  }
607
- async setArrayValue(value) {
608
- const dateField = await this.driver.findElement(By8.css(`${this.getFullCssSelector()}`));
800
+ async initCalendar() {
609
801
  const dateFieldDataTestID = await this.getDataTestId();
610
- const button = await dateField.findElement(By8.css(`.${BTN_CALENDAR_POPOVER_OPEN_SELECTOR}`));
611
- await click(button, this.driver);
612
- const calendarPopoverElement = await this.driver.findElement(By8.css(byTestIdCssSelector(`${dateFieldDataTestID}-calendar-popover`)));
613
- const dateFromInput = await calendarPopoverElement.findElement(
614
- By8.css(`.${BTN_CALENDAR_POPOVER_DATE_FROM_INPUT_SELECTOR} .dx-texteditor-input`)
615
- );
616
- const dateToInput = await calendarPopoverElement.findElement(
617
- By8.css(`.${BTN_CALENDAR_POPOVER_DATE_TO_INPUT_SELECTOR} .dx-texteditor-input`)
618
- );
802
+ const calendar = new Calendar({
803
+ parentCssSelector: this.getFullCssSelector(),
804
+ dateFieldDataTestID,
805
+ driver: this.driver
806
+ });
807
+ await calendar.init();
808
+ return calendar;
809
+ }
810
+ async setValueForWeek(value) {
811
+ const calendar = await this.initCalendar();
812
+ await calendar.setValueForWeek(value);
813
+ }
814
+ async setValueForMonth(value) {
815
+ const calendar = await this.initCalendar();
816
+ await calendar.setValueForMonth(value);
817
+ }
818
+ async setArrayValue(value) {
819
+ const calendar = await this.initCalendar();
820
+ const dateFromInput = await calendar.getDateFromInput();
821
+ const dateToInput = await calendar.getDateToInput();
619
822
  await this.setSingleValue(value[0], dateFromInput);
620
823
  await this.setSingleValue(value[1], dateToInput);
621
- const btnOk = await this.driver.findElement(By8.css(`.${BTN_SAVE_SELECTOR}`));
622
- await click(btnOk, this.driver);
824
+ await calendar.save();
623
825
  }
624
826
  async setSingleValue(value, inputEl) {
827
+ const dateMode = await this.getDataDateMode();
828
+ if (DateSelectMode.isWeek(dateMode)) {
829
+ await this.setValueForWeek(value);
830
+ return;
831
+ }
832
+ if (DateSelectMode.isMonth(dateMode)) {
833
+ await this.setValueForMonth(value);
834
+ return;
835
+ }
625
836
  const actions = this.driver.actions({ async: true });
626
837
  const isTimeAllowed = await this.getIsAllowedTime();
627
838
  const formattedDate = formatDMYDate(value, isTimeAllowed);
@@ -645,7 +856,7 @@ var SingleDateEditor = class extends BaseDateEditor {
645
856
  this.setClearStrategy(new InputClearStrategy());
646
857
  }
647
858
  async getDateElement() {
648
- return this.driver.findElement(By9.css(this.getFullCssSelector() + " .dx-dropdowneditor-input-wrapper input[type=hidden]"));
859
+ return this.driver.findElement(By10.css(this.getFullCssSelector() + " .dx-dropdowneditor-input-wrapper input[type=hidden]"));
649
860
  }
650
861
  async getDateValue() {
651
862
  const inputEl = await this.getDateElement();
@@ -668,14 +879,14 @@ var SingleDateEditor = class extends BaseDateEditor {
668
879
  };
669
880
 
670
881
  // src/pageObjects/elements/Editors/Date/DateRangeEditor.ts
671
- import { By as By10 } from "selenium-webdriver";
882
+ import { By as By11 } from "selenium-webdriver";
672
883
  var DateRangeEditor = class extends BaseDateEditor {
673
884
  constructor(parentCssSelector, elementCssSelector, driver) {
674
885
  super(parentCssSelector, elementCssSelector, driver);
675
886
  this.setClearStrategy(new InputClearStrategy());
676
887
  }
677
888
  async getDateElement() {
678
- return this.driver.findElement(By10.css(this.getFullCssSelector() + " .dx-texteditor-input"));
889
+ return this.driver.findElement(By11.css(this.getFullCssSelector() + " .dx-texteditor-input"));
679
890
  }
680
891
  async getDateValue() {
681
892
  const inputEl = await this.getDateElement();
@@ -733,7 +944,7 @@ var DateEditor = class extends AbstractDXEditorWithInput {
733
944
  };
734
945
 
735
946
  // src/pageObjects/elements/Editors/HeaderFilterDictionary.ts
736
- import { By as By11, Key as Key4 } from "selenium-webdriver";
947
+ import { By as By12, Key as Key4 } from "selenium-webdriver";
737
948
  var TAGS_SELECTOR2 = ".dx-tag .tag-text";
738
949
  var DX_TAG_CONTAINER2 = "dx-tag-container";
739
950
  var DX_TEXTEDITOR_EMPTY3 = "dx-texteditor-empty";
@@ -749,9 +960,9 @@ var dropDownHeaderFilterDictionaryOptionClick = async (optionValue, driver, data
749
960
  driver,
750
961
  timeout: delay ? void 0 : 600,
751
962
  callback: async () => {
752
- const calendarPopoverElement = await driver.findElement(By11.css(calendarPopoverSelector));
753
- const customOptionList = calendarPopoverElement.findElement(By11.css(`.${CUSTOM_OPTION_LIST_SELECTOR}`));
754
- const optElement = await customOptionList.findElement(By11.xpath(combinedOptionHeaderFilterDictValueXpath(optionValue)));
963
+ const calendarPopoverElement = await driver.findElement(By12.css(calendarPopoverSelector));
964
+ const customOptionList = calendarPopoverElement.findElement(By12.css(`.${CUSTOM_OPTION_LIST_SELECTOR}`));
965
+ const optElement = await customOptionList.findElement(By12.xpath(combinedOptionHeaderFilterDictValueXpath(optionValue)));
755
966
  await click(optElement, driver);
756
967
  }
757
968
  });
@@ -775,7 +986,7 @@ var HeaderFilterDictionary = class extends AbstractDXEditorWithInput {
775
986
  }
776
987
  }
777
988
  async waitOptionSelection() {
778
- await fixElementStaleError(By11.css(TAG_BOX_LIST_ITEM_SELECTOR), this.driver);
989
+ await fixElementStaleError(By12.css(TAG_BOX_LIST_ITEM_SELECTOR), this.driver);
779
990
  }
780
991
  async selectOption(inputEl, value, lastElement) {
781
992
  try {
@@ -799,7 +1010,7 @@ var HeaderFilterDictionary = class extends AbstractDXEditorWithInput {
799
1010
  return [];
800
1011
  }
801
1012
  const tags = await this.driver.findElements(
802
- By11.css(`${this.getFullCssSelector()} .${DX_TAG_CONTAINER2} ${TAGS_SELECTOR2}`)
1013
+ By12.css(`${this.getFullCssSelector()} .${DX_TAG_CONTAINER2} ${TAGS_SELECTOR2}`)
803
1014
  );
804
1015
  const values = [];
805
1016
  for (const tag of tags) {
@@ -1011,7 +1222,7 @@ var FormField = class extends AbstractEditor {
1011
1222
  };
1012
1223
 
1013
1224
  // src/pageObjects/elements/Forms/Form.ts
1014
- import { By as By15 } from "selenium-webdriver";
1225
+ import { By as By16 } from "selenium-webdriver";
1015
1226
 
1016
1227
  // src/pageObjects/elements/AbstractButton.ts
1017
1228
  var D5_BUTTON_IS_PRESSED = "d5-is-pressed";
@@ -1052,7 +1263,7 @@ var AbstractButton = class extends AbstractElementWithParent {
1052
1263
  };
1053
1264
 
1054
1265
  // src/pageObjects/elements/DXComponents/DXButton.ts
1055
- import { By as By12 } from "selenium-webdriver";
1266
+ import { By as By13 } from "selenium-webdriver";
1056
1267
  var DXButton = class extends AbstractButton {
1057
1268
  async getText() {
1058
1269
  const classes = await this.getClasses();
@@ -1060,7 +1271,7 @@ var DXButton = class extends AbstractButton {
1060
1271
  return null;
1061
1272
  }
1062
1273
  const el = await this.getElement();
1063
- const textEl = el.findElement(By12.className("dx-button-text"));
1274
+ const textEl = el.findElement(By13.className("dx-button-text"));
1064
1275
  return await textEl.getText();
1065
1276
  }
1066
1277
  };
@@ -1093,7 +1304,7 @@ var Panel = class extends AbstractGroup {
1093
1304
  };
1094
1305
 
1095
1306
  // src/pageObjects/elements/Groups/TabPanel.ts
1096
- import { By as By13 } from "selenium-webdriver";
1307
+ import { By as By14 } from "selenium-webdriver";
1097
1308
  var TabPanelItem = class extends AbstractGroup {
1098
1309
  constructor(parentCssSelector, elementCssSelector, driver) {
1099
1310
  super(parentCssSelector, elementCssSelector, driver);
@@ -1103,7 +1314,7 @@ var TabPanelItem = class extends AbstractGroup {
1103
1314
  }
1104
1315
  async isActive() {
1105
1316
  const tabPanelItemElement = await this.getElement();
1106
- const grandparentTab = await tabPanelItemElement.findElement(By13.xpath('ancestor::div[@role="tab"][1]'));
1317
+ const grandparentTab = await tabPanelItemElement.findElement(By14.xpath('ancestor::div[@role="tab"][1]'));
1107
1318
  return await grandparentTab.getAttribute("aria-selected") === "true";
1108
1319
  }
1109
1320
  async getTitle() {
@@ -1120,7 +1331,7 @@ var TabPanel = class extends AbstractGroup {
1120
1331
  };
1121
1332
 
1122
1333
  // src/pageObjects/elements/Groups/Accordion/AccordionItem.ts
1123
- import { By as By14 } from "selenium-webdriver";
1334
+ import { By as By15 } from "selenium-webdriver";
1124
1335
  var ACCORDION_TITLE_CONTAINER = "accordion-title-container";
1125
1336
  var AccordionItem = class extends AbstractGroup {
1126
1337
  constructor(parentCssSelector, elementCssSelector, driver) {
@@ -1132,7 +1343,7 @@ var AccordionItem = class extends AbstractGroup {
1132
1343
  }
1133
1344
  async clickAccordionItemTitle() {
1134
1345
  const accordionElement = await this.getElement();
1135
- const accordTitleElement = await accordionElement.findElement(By14.className(ACCORDION_TITLE_CONTAINER));
1346
+ const accordTitleElement = await accordionElement.findElement(By15.className(ACCORDION_TITLE_CONTAINER));
1136
1347
  await accordTitleElement.click();
1137
1348
  }
1138
1349
  async click() {
@@ -1328,15 +1539,15 @@ async function classDependencyInjector(formType) {
1328
1539
  let SubFormFactoryClass;
1329
1540
  switch (formType) {
1330
1541
  case "1" /* LIST */:
1331
- SubFormFactoryClass = (await import("./ListForm-AXEPFADV.mjs")).default;
1542
+ SubFormFactoryClass = (await import("./ListForm-UBIG4ZP2.mjs")).default;
1332
1543
  break;
1333
1544
  case "3" /* TREE */:
1334
- SubFormFactoryClass = (await import("./TreeView-PNY6V55D.mjs")).default;
1545
+ SubFormFactoryClass = (await import("./TreeView-MIKFUI4Q.mjs")).default;
1335
1546
  break;
1336
1547
  case "2" /* EDIT */:
1337
1548
  case "99" /* FREE_FORM */:
1338
1549
  case "4" /* REPORT */:
1339
- SubFormFactoryClass = (await import("./FormEdit-WMDPDBSI.mjs")).default;
1550
+ SubFormFactoryClass = (await import("./FormEdit-V2BBOANS.mjs")).default;
1340
1551
  break;
1341
1552
  default:
1342
1553
  throw new Error(`Unsupported form type ${formType}`);
@@ -1366,7 +1577,7 @@ var Form = class extends AbstractForm {
1366
1577
  */
1367
1578
  async getTitleText() {
1368
1579
  if (await this.isModal()) {
1369
- const titleEl2 = await this.driver.findElement(By15.css(`${this.popupContainerCssSelector} .popup-title`));
1580
+ const titleEl2 = await this.driver.findElement(By16.css(`${this.popupContainerCssSelector} .popup-title`));
1370
1581
  await waitElementIsVisible_default({
1371
1582
  element: titleEl2,
1372
1583
  driver: this.driver,
@@ -1374,7 +1585,7 @@ var Form = class extends AbstractForm {
1374
1585
  });
1375
1586
  return titleEl2.getText();
1376
1587
  }
1377
- let titleEl = await this.driver.findElement(By15.className("main-toolbar-form-title"));
1588
+ let titleEl = await this.driver.findElement(By16.className("main-toolbar-form-title"));
1378
1589
  return titleEl.getText();
1379
1590
  }
1380
1591
  setSubFormMode() {
@@ -1393,7 +1604,7 @@ var Form = class extends AbstractForm {
1393
1604
  async subForm(name, options = {}) {
1394
1605
  const { isDockPanel = false } = options;
1395
1606
  const cssSelector = subformCssSelector(this.containerCssSelector, subFormTestId(name), isDockPanel);
1396
- const byCssSelector = By15.css(cssSelector);
1607
+ const byCssSelector = By16.css(cssSelector);
1397
1608
  const subFormEl = await this.driver.findElement(byCssSelector);
1398
1609
  await waitElementIsVisible_default({
1399
1610
  element: subFormEl,
@@ -3,7 +3,7 @@ import {
3
3
  FormField,
4
4
  click,
5
5
  safeWait
6
- } from "./chunk-NO3PBR34.mjs";
6
+ } from "./chunk-FRCMUAAY.mjs";
7
7
 
8
8
  // src/pageObjects/elements/Forms/FormEdit.ts
9
9
  import { By } from "selenium-webdriver";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ListForm
3
- } from "./chunk-ATHAW2ZF.mjs";
3
+ } from "./chunk-27XBX275.mjs";
4
4
 
5
5
  // src/pageObjects/elements/Forms/TreeView.ts
6
6
  var TREELIST_HEADER_CSS_SELECTOR = ".dx-treelist-headers .dx-treelist-content .dx-treelist-table.dx-treelist-table-fixed";