@alfresco/aca-playwright-shared 5.1.1 → 6.0.0-11114941325

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 (177) hide show
  1. package/esm2022/api/api-client-factory.mjs +131 -0
  2. package/esm2022/api/categories-api.mjs +66 -0
  3. package/esm2022/api/favorites-api.mjs +130 -0
  4. package/esm2022/api/file-actions.mjs +167 -0
  5. package/esm2022/api/nodes-api.mjs +428 -0
  6. package/esm2022/api/people-api-models.mjs +41 -0
  7. package/esm2022/api/queries-api.mjs +70 -0
  8. package/esm2022/api/rules-api.mjs +258 -0
  9. package/esm2022/api/search-api.mjs +75 -0
  10. package/esm2022/api/shared-links-api.mjs +137 -0
  11. package/esm2022/api/sites-api.mjs +156 -0
  12. package/esm2022/api/tags-api.mjs +62 -0
  13. package/esm2022/api/trashcan-api.mjs +52 -0
  14. package/{esm2020 → esm2022}/models/user-model.mjs +11 -5
  15. package/esm2022/page-objects/components/aca-header.component.mjs +78 -0
  16. package/esm2022/page-objects/components/actions-dropdown.component.mjs +100 -0
  17. package/esm2022/page-objects/components/adf-info-drawer.component.mjs +84 -0
  18. package/esm2022/page-objects/components/base.component.mjs +70 -0
  19. package/esm2022/page-objects/components/breadcrumb/breadcrumb.component.mjs +47 -0
  20. package/esm2022/page-objects/components/conditions.component.mjs +72 -0
  21. package/esm2022/page-objects/components/dataTable/data-table.component.mjs +342 -0
  22. package/esm2022/page-objects/components/dataTable/mat-menu.component.mjs +67 -0
  23. package/{esm2020/page-objects/components/dialogs/manage-versions-dialog.component.mjs → esm2022/page-objects/components/dataTable/toolbar.component.mjs} +13 -8
  24. package/esm2022/page-objects/components/datetime-picker/datetime-picker.component.mjs +53 -0
  25. package/esm2022/page-objects/components/dialogs/adf-confirm-dialog.component.mjs +36 -0
  26. package/esm2022/page-objects/components/dialogs/adf-folder-dialog.component.mjs +57 -0
  27. package/esm2022/page-objects/components/dialogs/adf-library-dialog.component.mjs +64 -0
  28. package/esm2022/page-objects/components/dialogs/content-node-selector-dialog.mjs +68 -0
  29. package/esm2022/page-objects/components/dialogs/create-from-template-dialog-component.mjs +55 -0
  30. package/esm2022/page-objects/components/dialogs/delete-trash-dialog.component.mjs +54 -0
  31. package/esm2022/page-objects/components/dialogs/edit-dialog.component.mjs +39 -0
  32. package/esm2022/page-objects/components/dialogs/link-rules.component.mjs +58 -0
  33. package/esm2022/page-objects/components/dialogs/manage-versions-dialog.component.mjs +36 -0
  34. package/esm2022/page-objects/components/dialogs/password-overlay-dialog.component.mjs +71 -0
  35. package/esm2022/page-objects/components/dialogs/share-dialog.component.mjs +85 -0
  36. package/esm2022/page-objects/components/dialogs/upload-dialog.component.mjs +36 -0
  37. package/esm2022/page-objects/components/dialogs/upload-new-version-dialog.component.mjs +38 -0
  38. package/esm2022/page-objects/components/dialogs/viewer-overlay-dialog.component.mjs +56 -0
  39. package/esm2022/page-objects/components/error.component.mjs +34 -0
  40. package/esm2022/page-objects/components/manageRules/manage-rules-dialog.component.mjs +64 -0
  41. package/esm2022/page-objects/components/manageRules/manage-rules.component.mjs +70 -0
  42. package/esm2022/page-objects/components/pagination.component.mjs +174 -0
  43. package/esm2022/page-objects/components/search/search-filters/search-filters-categories.component.mjs +33 -0
  44. package/esm2022/page-objects/components/search/search-filters/search-filters-date.component.mjs +115 -0
  45. package/esm2022/page-objects/components/search/search-filters/search-filters-location.component.mjs +40 -0
  46. package/esm2022/page-objects/components/search/search-filters/search-filters-logic.component.mjs +36 -0
  47. package/esm2022/page-objects/components/search/search-filters/search-filters-properties.component.mjs +83 -0
  48. package/esm2022/page-objects/components/search/search-filters/search-filters-tags.component.mjs +40 -0
  49. package/esm2022/page-objects/components/search/search-filters.component.mjs +45 -0
  50. package/esm2022/page-objects/components/search/search-input.component.mjs +48 -0
  51. package/esm2022/page-objects/components/search/search-overlay.components.mjs +83 -0
  52. package/esm2022/page-objects/components/search/search-sorting-picker.components.mjs +72 -0
  53. package/esm2022/page-objects/components/sidenav.component.mjs +87 -0
  54. package/esm2022/page-objects/components/snackBar/snack-bar.component.mjs +54 -0
  55. package/esm2022/page-objects/components/spinner.component.mjs +41 -0
  56. package/esm2022/page-objects/components/viewer.component.mjs +93 -0
  57. package/esm2022/page-objects/pages/base.page.mjs +84 -0
  58. package/esm2022/page-objects/pages/favorites-libraries.page.mjs +43 -0
  59. package/esm2022/page-objects/pages/favorites.page.mjs +49 -0
  60. package/esm2022/page-objects/pages/login.page.mjs +62 -0
  61. package/esm2022/page-objects/pages/my-libraries.page.mjs +54 -0
  62. package/esm2022/page-objects/pages/nodes.page.mjs +40 -0
  63. package/esm2022/page-objects/pages/personal-files.page.mjs +85 -0
  64. package/esm2022/page-objects/pages/recent-files.page.mjs +45 -0
  65. package/esm2022/page-objects/pages/search.page.mjs +79 -0
  66. package/esm2022/page-objects/pages/shared.page.mjs +45 -0
  67. package/esm2022/page-objects/pages/trash.page.mjs +45 -0
  68. package/esm2022/page-objects/playwright-base.mjs +33 -0
  69. package/esm2022/utils/logger.mjs +71 -0
  70. package/esm2022/utils/utils.mjs +145 -0
  71. package/{fesm2020 → fesm2022}/alfresco-aca-playwright-shared.mjs +712 -662
  72. package/fesm2022/alfresco-aca-playwright-shared.mjs.map +1 -0
  73. package/package.json +5 -11
  74. package/esm2020/api/api-client-factory.mjs +0 -111
  75. package/esm2020/api/categories-api.mjs +0 -65
  76. package/esm2020/api/favorites-api.mjs +0 -129
  77. package/esm2020/api/file-actions.mjs +0 -166
  78. package/esm2020/api/nodes-api.mjs +0 -427
  79. package/esm2020/api/people-api-models.mjs +0 -34
  80. package/esm2020/api/queries-api.mjs +0 -69
  81. package/esm2020/api/rules-api.mjs +0 -251
  82. package/esm2020/api/search-api.mjs +0 -74
  83. package/esm2020/api/shared-links-api.mjs +0 -136
  84. package/esm2020/api/sites-api.mjs +0 -155
  85. package/esm2020/api/tags-api.mjs +0 -61
  86. package/esm2020/api/trashcan-api.mjs +0 -54
  87. package/esm2020/page-objects/components/aca-header.component.mjs +0 -77
  88. package/esm2020/page-objects/components/actions-dropdown.component.mjs +0 -99
  89. package/esm2020/page-objects/components/adf-info-drawer.component.mjs +0 -83
  90. package/esm2020/page-objects/components/base.component.mjs +0 -69
  91. package/esm2020/page-objects/components/breadcrumb/breadcrumb.component.mjs +0 -46
  92. package/esm2020/page-objects/components/conditions.component.mjs +0 -75
  93. package/esm2020/page-objects/components/dataTable/data-table.component.mjs +0 -341
  94. package/esm2020/page-objects/components/dataTable/mat-menu.component.mjs +0 -66
  95. package/esm2020/page-objects/components/dataTable/toolbar.component.mjs +0 -39
  96. package/esm2020/page-objects/components/datetime-picker/datetime-picker.component.mjs +0 -52
  97. package/esm2020/page-objects/components/dialogs/adf-confirm-dialog.component.mjs +0 -35
  98. package/esm2020/page-objects/components/dialogs/adf-folder-dialog.component.mjs +0 -56
  99. package/esm2020/page-objects/components/dialogs/adf-library-dialog.component.mjs +0 -63
  100. package/esm2020/page-objects/components/dialogs/content-node-selector-dialog.mjs +0 -67
  101. package/esm2020/page-objects/components/dialogs/create-from-template-dialog-component.mjs +0 -54
  102. package/esm2020/page-objects/components/dialogs/delete-trash-dialog.component.mjs +0 -53
  103. package/esm2020/page-objects/components/dialogs/edit-dialog.component.mjs +0 -38
  104. package/esm2020/page-objects/components/dialogs/link-rules.component.mjs +0 -57
  105. package/esm2020/page-objects/components/dialogs/password-overlay-dialog.component.mjs +0 -70
  106. package/esm2020/page-objects/components/dialogs/share-dialog.component.mjs +0 -84
  107. package/esm2020/page-objects/components/dialogs/upload-dialog.component.mjs +0 -35
  108. package/esm2020/page-objects/components/dialogs/upload-new-version-dialog.component.mjs +0 -37
  109. package/esm2020/page-objects/components/dialogs/viewer-overlay-dialog.component.mjs +0 -55
  110. package/esm2020/page-objects/components/error.component.mjs +0 -33
  111. package/esm2020/page-objects/components/manageRules/manage-rules-dialog.component.mjs +0 -63
  112. package/esm2020/page-objects/components/manageRules/manage-rules.component.mjs +0 -69
  113. package/esm2020/page-objects/components/pagination.component.mjs +0 -173
  114. package/esm2020/page-objects/components/search/search-filters/search-filters-categories.component.mjs +0 -32
  115. package/esm2020/page-objects/components/search/search-filters/search-filters-date.component.mjs +0 -114
  116. package/esm2020/page-objects/components/search/search-filters/search-filters-location.component.mjs +0 -39
  117. package/esm2020/page-objects/components/search/search-filters/search-filters-logic.component.mjs +0 -35
  118. package/esm2020/page-objects/components/search/search-filters/search-filters-properties.component.mjs +0 -82
  119. package/esm2020/page-objects/components/search/search-filters/search-filters-tags.component.mjs +0 -39
  120. package/esm2020/page-objects/components/search/search-filters.component.mjs +0 -44
  121. package/esm2020/page-objects/components/search/search-input.component.mjs +0 -47
  122. package/esm2020/page-objects/components/search/search-overlay.components.mjs +0 -82
  123. package/esm2020/page-objects/components/search/search-sorting-picker.components.mjs +0 -71
  124. package/esm2020/page-objects/components/sidenav.component.mjs +0 -86
  125. package/esm2020/page-objects/components/snackBar/snack-bar.component.mjs +0 -53
  126. package/esm2020/page-objects/components/spinner.component.mjs +0 -40
  127. package/esm2020/page-objects/components/viewer.component.mjs +0 -92
  128. package/esm2020/page-objects/pages/base.page.mjs +0 -80
  129. package/esm2020/page-objects/pages/favorites-libraries.page.mjs +0 -42
  130. package/esm2020/page-objects/pages/favorites.page.mjs +0 -48
  131. package/esm2020/page-objects/pages/login.page.mjs +0 -61
  132. package/esm2020/page-objects/pages/my-libraries.page.mjs +0 -53
  133. package/esm2020/page-objects/pages/nodes.page.mjs +0 -39
  134. package/esm2020/page-objects/pages/personal-files.page.mjs +0 -84
  135. package/esm2020/page-objects/pages/recent-files.page.mjs +0 -44
  136. package/esm2020/page-objects/pages/search.page.mjs +0 -78
  137. package/esm2020/page-objects/pages/shared.page.mjs +0 -44
  138. package/esm2020/page-objects/pages/trash.page.mjs +0 -44
  139. package/esm2020/page-objects/playwright-base.mjs +0 -31
  140. package/esm2020/utils/logger.mjs +0 -69
  141. package/esm2020/utils/utils.mjs +0 -144
  142. package/fesm2015/alfresco-aca-playwright-shared.mjs +0 -6267
  143. package/fesm2015/alfresco-aca-playwright-shared.mjs.map +0 -1
  144. package/fesm2020/alfresco-aca-playwright-shared.mjs.map +0 -1
  145. /package/{esm2020 → esm2022}/alfresco-aca-playwright-shared.mjs +0 -0
  146. /package/{esm2020 → esm2022}/api/index.mjs +0 -0
  147. /package/{esm2020 → esm2022}/api/node-content-tree.mjs +0 -0
  148. /package/{esm2020 → esm2022}/base-config/global-variables.mjs +0 -0
  149. /package/{esm2020 → esm2022}/base-config/global.setup.mjs +0 -0
  150. /package/{esm2020 → esm2022}/base-config/index.mjs +0 -0
  151. /package/{esm2020 → esm2022}/base-config/playwright.config.mjs +0 -0
  152. /package/{esm2020 → esm2022}/base-config/report-portal.config.mjs +0 -0
  153. /package/{esm2020 → esm2022}/fixtures/index.mjs +0 -0
  154. /package/{esm2020 → esm2022}/fixtures/page-initialization.mjs +0 -0
  155. /package/{esm2020 → esm2022}/models/custom-config.mjs +0 -0
  156. /package/{esm2020 → esm2022}/models/index.mjs +0 -0
  157. /package/{esm2020 → esm2022}/page-objects/components/dataTable/index.mjs +0 -0
  158. /package/{esm2020 → esm2022}/page-objects/components/dialogs/index.mjs +0 -0
  159. /package/{esm2020 → esm2022}/page-objects/components/index.mjs +0 -0
  160. /package/{esm2020 → esm2022}/page-objects/components/manageRules/index.mjs +0 -0
  161. /package/{esm2020 → esm2022}/page-objects/index.mjs +0 -0
  162. /package/{esm2020 → esm2022}/page-objects/pages/index.mjs +0 -0
  163. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  164. /package/{esm2020 → esm2022}/resources/index.mjs +0 -0
  165. /package/{esm2020 → esm2022}/resources/test-data/index.mjs +0 -0
  166. /package/{esm2020 → esm2022}/resources/test-data/test-data-files-folders.mjs +0 -0
  167. /package/{esm2020 → esm2022}/resources/test-data/test-data-permissions.mjs +0 -0
  168. /package/{esm2020 → esm2022}/resources/test-files/index.mjs +0 -0
  169. /package/{esm2020 → esm2022}/utils/api.mjs +0 -0
  170. /package/{esm2020 → esm2022}/utils/config.mjs +0 -0
  171. /package/{esm2020 → esm2022}/utils/error-strings.mjs +0 -0
  172. /package/{esm2020 → esm2022}/utils/exclude-tests.mjs +0 -0
  173. /package/{esm2020 → esm2022}/utils/index.mjs +0 -0
  174. /package/{esm2020 → esm2022}/utils/library-errors.mjs +0 -0
  175. /package/{esm2020 → esm2022}/utils/paths.mjs +0 -0
  176. /package/{esm2020 → esm2022}/utils/state-helper.mjs +0 -0
  177. /package/{esm2020 → esm2022}/utils/timeouts.mjs +0 -0
@@ -166,6 +166,8 @@ function getUserState(user) {
166
166
  */
167
167
  const crypto = require('crypto');
168
168
  class Utils {
169
+ static string257Long = 'x'.repeat(257);
170
+ static string513Long = 'x'.repeat(513);
169
171
  static random() {
170
172
  return crypto.getRandomValues(new Uint32Array(1))[0].toString(36).substring(0, 5).toLowerCase();
171
173
  }
@@ -279,8 +281,6 @@ class Utils {
279
281
  });
280
282
  }
281
283
  }
282
- Utils.string257Long = 'x'.repeat(257);
283
- Utils.string513Long = 'x'.repeat(513);
284
284
 
285
285
  /*!
286
286
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -492,13 +492,13 @@ const logColor = '\x1b[35m%s\x1b[0m';
492
492
  const warnColor = '\x1b[33m%s\x1b[0m';
493
493
  const errorColor = '\x1b[31m%s\x1b[0m';
494
494
  class LogLevelsEnum extends Number {
495
+ static TRACE = 5;
496
+ static DEBUG = 4;
497
+ static INFO = 3;
498
+ static WARN = 2;
499
+ static ERROR = 1;
500
+ static SILENT = 0;
495
501
  }
496
- LogLevelsEnum.TRACE = 5;
497
- LogLevelsEnum.DEBUG = 4;
498
- LogLevelsEnum.INFO = 3;
499
- LogLevelsEnum.WARN = 2;
500
- LogLevelsEnum.ERROR = 1;
501
- LogLevelsEnum.SILENT = 0;
502
502
  const logLevels = [
503
503
  { level: LogLevelsEnum.TRACE, name: 'TRACE' },
504
504
  { level: LogLevelsEnum.DEBUG, name: 'DEBUG' },
@@ -509,6 +509,7 @@ const logLevels = [
509
509
  ];
510
510
  /* eslint-disable no-console */
511
511
  class GenericLogger {
512
+ level;
512
513
  constructor(logLevel) {
513
514
  this.level = logLevels.find(({ name }) => name === logLevel)?.level || LogLevelsEnum.ERROR;
514
515
  }
@@ -580,6 +581,8 @@ class GenericLogger {
580
581
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
581
582
  */
582
583
  class PlaywrightBase {
584
+ page;
585
+ logger;
583
586
  constructor(page) {
584
587
  this.page = page;
585
588
  this.logger = new GenericLogger(process.env.PLAYWRIGHT_CUSTOM_LOG_LEVEL);
@@ -610,10 +613,11 @@ class PlaywrightBase {
610
613
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
611
614
  */
612
615
  class BaseComponent extends PlaywrightBase {
616
+ rootElement;
617
+ overlayElement = this.page.locator('.cdk-overlay-backdrop-showing');
618
+ progressBar = this.page.locator('mat-progress-bar');
613
619
  constructor(page, rootElement) {
614
620
  super(page);
615
- this.overlayElement = this.page.locator('.cdk-overlay-backdrop-showing');
616
- this.progressBar = this.page.locator('mat-progress-bar');
617
621
  this.rootElement = rootElement;
618
622
  }
619
623
  /**
@@ -677,12 +681,13 @@ class BaseComponent extends PlaywrightBase {
677
681
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
678
682
  */
679
683
  class SnackBarComponent extends BaseComponent {
684
+ static rootElement = 'adf-snackbar-content';
685
+ message = this.getChild('[data-automation-id="adf-snackbar-message-content"]').first();
686
+ actionButton = this.getChild('[data-automation-id="adf-snackbar-message-content-action-button"]');
687
+ closeIcon = this.getChild('.adf-snackbar-message-content-action-icon');
688
+ getByMessageLocator = (message) => this.getChild(`[data-automation-id='adf-snackbar-message-content']`, { hasText: message }).first();
680
689
  constructor(page, rootElement = SnackBarComponent.rootElement) {
681
690
  super(page, rootElement);
682
- this.message = this.getChild('[data-automation-id="adf-snackbar-message-content"]').first();
683
- this.actionButton = this.getChild('[data-automation-id="adf-snackbar-message-content-action-button"]');
684
- this.closeIcon = this.getChild('.adf-snackbar-message-content-action-icon');
685
- this.getByMessageLocator = (message) => this.getChild(`[data-automation-id='adf-snackbar-message-content']`, { hasText: message }).first();
686
691
  }
687
692
  async getSnackBarMessage() {
688
693
  return this.message.textContent();
@@ -702,7 +707,6 @@ class SnackBarComponent extends BaseComponent {
702
707
  await this.actionButton.click();
703
708
  }
704
709
  }
705
- SnackBarComponent.rootElement = 'adf-snackbar-content';
706
710
 
707
711
  /*!
708
712
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -728,17 +732,18 @@ SnackBarComponent.rootElement = 'adf-snackbar-content';
728
732
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
729
733
  */
730
734
  class MatMenuComponent extends BaseComponent {
735
+ static rootElement = '.mat-mdc-menu-content';
731
736
  constructor(page) {
732
737
  super(page, MatMenuComponent.rootElement);
733
- this.getMenuItemsLocator = this.getChild('button');
734
- this.getMenuItemTextLocator = this.getChild('[data-automation-id="menu-item-title"]');
735
- this.createFolder = this.getChild('[id="app.create.folder"]');
736
- this.createFolderFromTemplate = this.getChild('[id="app.create.folderFromTemplate"]');
737
- this.createFileFromTemplate = this.getChild('[id="app.create.fileFromTemplate"]');
738
- this.createLibrary = this.getChild('[id="app.create.library"]');
739
- this.getButtonByText = (text) => this.getChild('button', { hasText: text });
740
- this.getMenuItemFromHeaderMenu = (text) => this.page.getByRole('menuitem', { name: text, exact: true });
741
738
  }
739
+ getMenuItemsLocator = this.getChild('button');
740
+ getMenuItemTextLocator = this.getChild('[data-automation-id="menu-item-title"]');
741
+ createFolder = this.getChild('[id="app.create.folder"]');
742
+ createFolderFromTemplate = this.getChild('[id="app.create.folderFromTemplate"]');
743
+ createFileFromTemplate = this.getChild('[id="app.create.fileFromTemplate"]');
744
+ createLibrary = this.getChild('[id="app.create.library"]');
745
+ getButtonByText = (text) => this.getChild('button', { hasText: text });
746
+ getMenuItemFromHeaderMenu = (text) => this.page.getByRole('menuitem', { name: text, exact: true });
742
747
  async clickMenuItem(menuItem) {
743
748
  const menuElement = this.getButtonByText(menuItem);
744
749
  await menuElement.click();
@@ -758,7 +763,7 @@ class MatMenuComponent extends BaseComponent {
758
763
  await this.page.locator('.mat-mdc-menu-content').waitFor({ state: 'attached' });
759
764
  const menus = await this.page.$$('.mat-mdc-menu-content .mat-mdc-menu-item');
760
765
  const actualMoreActions = await Promise.all(menus.map(async (button) => {
761
- const title = await (await button.$('.mdc-list-item__primary-text span')).innerText();
766
+ const title = await (await button.$('.mat-mdc-menu-item-text span')).innerText();
762
767
  return title || '';
763
768
  }));
764
769
  for (const action of expectedToolbarMore) {
@@ -766,7 +771,6 @@ class MatMenuComponent extends BaseComponent {
766
771
  }
767
772
  }
768
773
  }
769
- MatMenuComponent.rootElement = '.mat-mdc-menu-content';
770
774
 
771
775
  /*!
772
776
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -798,20 +802,21 @@ var PaginationActionsType;
798
802
  PaginationActionsType["NextPageSelector"] = "Next page button";
799
803
  })(PaginationActionsType || (PaginationActionsType = {}));
800
804
  class PaginationComponent extends BaseComponent {
805
+ static rootElement = 'adf-pagination';
801
806
  constructor(page) {
802
807
  super(page, PaginationComponent.rootElement);
803
- this.range = this.getChild('.adf-pagination__range');
804
- this.maxItems = this.getChild('.adf-pagination__max-items');
805
- this.currentPage = this.getChild('.adf-pagination__current-page');
806
- this.totalPages = this.getChild('.adf-pagination__total-pages');
807
- this.previousButton = this.getChild('.adf-pagination__previous-button');
808
- this.nextButton = this.getChild('.adf-pagination__next-button');
809
- this.maxItemsButton = this.getChild('.adf-pagination__max-items + button[mat-icon-button]');
810
- this.itemsPerPageMenu = new MatMenuComponent(this.page);
811
- this.currentPageLocator = this.getChild('.adf-pagination__current-page');
812
- this.totalPageLocator = this.getChild('.adf-pagination__total-pages');
813
- this.getArrowLocatorFor = (action) => this.getChild(`[aria-label="${action}"]`);
814
808
  }
809
+ range = this.getChild('.adf-pagination__range');
810
+ maxItems = this.getChild('.adf-pagination__max-items');
811
+ currentPage = this.getChild('.adf-pagination__current-page');
812
+ totalPages = this.getChild('.adf-pagination__total-pages');
813
+ previousButton = this.getChild('.adf-pagination__previous-button');
814
+ nextButton = this.getChild('.adf-pagination__next-button');
815
+ maxItemsButton = this.getChild('.adf-pagination__max-items + button[mat-icon-button]');
816
+ itemsPerPageMenu = new MatMenuComponent(this.page);
817
+ currentPageLocator = this.getChild('.adf-pagination__current-page');
818
+ totalPageLocator = this.getChild('.adf-pagination__total-pages');
819
+ getArrowLocatorFor = (action) => this.getChild(`[aria-label="${action}"]`);
815
820
  async setItemsPerPage(amount) {
816
821
  await this.getArrowLocatorFor(PaginationActionsType.PageSizeSelector).click();
817
822
  await this.itemsPerPageMenu.getButtonByText(amount.toString()).click();
@@ -936,7 +941,6 @@ class PaginationComponent extends BaseComponent {
936
941
  return this.nextButton.isVisible();
937
942
  }
938
943
  }
939
- PaginationComponent.rootElement = 'adf-pagination';
940
944
 
941
945
  /*!
942
946
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -962,106 +966,107 @@ PaginationComponent.rootElement = 'adf-pagination';
962
966
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
963
967
  */
964
968
  class DataTableComponent extends BaseComponent {
969
+ static rootElement = 'adf-datatable';
970
+ contextMenuActions = new MatMenuComponent(this.page);
965
971
  constructor(page, rootElement = DataTableComponent.rootElement) {
966
972
  super(page, rootElement);
967
- this.contextMenuActions = new MatMenuComponent(this.page);
968
- this.pagination = new PaginationComponent(this.page);
969
- this.body = this.getChild('.adf-datatable-body');
970
- this.getEmptyFolderLocator = this.getChild('.adf-empty-folder');
971
- this.getEmptyContentTitleLocator = this.getChild('adf-empty-content .adf-empty-content__title');
972
- this.getEmptyContentSubTitleLocator = this.getChild('adf-empty-content .adf-empty-content__subtitle');
973
- this.getSelectedRow = this.getChild('.adf-datatable-row.adf-is-selected');
974
- this.sortedColumnHeader = this.getChild(`.adf-datatable__header--sorted-asc .adf-datatable-cell-header-content .adf-datatable-cell-value,
975
- .adf-datatable__header--sorted-desc .adf-datatable-cell-header-content .adf-datatable-cell-value`);
976
- this.columnHeaders = this.getChild('.adf-datatable-row .adf-datatable-cell-header .adf-datatable-cell-value');
977
- this.emptyList = this.getChild('div.adf-no-content-container');
978
- this.emptyListTitle = this.getChild('.adf-empty-content__title');
979
- this.emptyListSubtitle = this.getChild('.adf-empty-content__subtitle');
980
- this.emptySearchText = this.getChild('.empty-search__text');
981
- this.emptyListTest = this.getChild('adf-custom-empty-content-template');
982
- this.paginationButton = this.page.locator('.adf-pagination__block button').nth(0);
983
- this.paginationOptions = this.page.locator('#cdk-overlay-0 button');
984
- this.sitesVisibility = this.page.locator('.adf-datatable-body [data-automation-id*="datatable-row"] [aria-label="Visibility"]');
985
- this.sitesName = this.page.locator('.adf-datatable-body [data-automation-id*="datatable-row"] [aria-label="Name"]');
986
- this.sitesRole = this.page.locator('.adf-datatable-body [data-automation-id*="datatable-row"] [aria-label="My Role"]');
987
- this.lockOwner = this.page.locator('.aca-locked-by--name');
988
- this.uncheckedCheckbox = this.page.locator('.mat-mdc-checkbox');
989
- this.checkedCheckbox = this.page.locator('.mat-mdc-checkbox-checked');
990
- this.highlightedText = '.aca-highlight';
991
- this.searchFileName = '.search-file-name';
992
- this.searchFileDescription = '[data-automation-id="search-results-entry-description"]';
993
- this.searchFileContent = '.aca-result-content';
994
- /** Locator for row (or rows) */
995
- this.getRowLocator = this.page.getByRole('rowgroup').nth(1).locator('adf-datatable-row');
996
- /** Locator to get "No results found" message */
997
- this.getNoResultsFoundMessage = this.getChild('adf-custom-empty-content-template', { hasText: 'No results found' });
998
- /**
999
- * Method used in cases where we want to check that some record is visible in the datatable. It will consider whole row
1000
- *
1001
- * @returns reference to cell element which contains text.
1002
- */
1003
- this.getRowByName = (name) => this.getChild(`adf-datatable-row`, { hasText: name.toString() });
1004
- /**
1005
- * Method used in cases where we want to check that some record is visible in the datatable.
1006
- * But we want to check it by column header title and value of this column.
1007
- *
1008
- * @returns reference to cell element which contains text.
1009
- */
1010
- this.getRowByColumnTitleAndItsCellValue = (columnTitle, cellValue) => this.page.locator(`//div[contains(@title, '${columnTitle}')]//span[contains(text(), '${cellValue}')]/ancestor::adf-datatable-row`);
1011
- /**
1012
- * Method used in cases where we want to retrieve a row from the datatable based on its numerical order within the array.
1013
- *
1014
- * @returns reference to cell element which contains text.
1015
- */
1016
- this.getNthRow = (orderNum) => this.getRowLocator.nth(orderNum);
1017
- /**
1018
- * Method used in cases where user have possibility to navigate "inside" the element (it's clickable and has link attribute).
1019
- * Perform action .click() to navigate inside it
1020
- *
1021
- * @returns reference to cell element which contains link.
1022
- */
1023
- this.getCellLinkByName = (name) => this.getChild('.adf-cell-value span[role="link"]', { hasText: name });
1024
- /**
1025
- * Method used in cases where we want to localize the element by [aria-label]
1026
- *
1027
- * @returns reference to cell element.
1028
- */
1029
- this.getByAriaLabelTitle = (title) => this.getChild(`[aria-label="${title}"]`);
1030
- /**
1031
- * Method used in cases where we want to get the button (hamburger menu) for row element
1032
- *
1033
- * @returns reference to menu placed in row localized by the name
1034
- */
1035
- this.getActionsButtonByName = (name) => this.getRowByName(name).locator('mat-icon', { hasText: new RegExp(`^\\s*more_vert\\s*$`, 'g') });
1036
- /**
1037
- * Method used in cases where we want to get the edit button and there is no hamburger menu
1038
- *
1039
- * @returns reference to edit button placed in row localized by the name
1040
- */
1041
- this.getEditButtonByName = (name) => this.getRowByName(name).locator('button#editButton');
1042
- /**
1043
- * Method used in cases where we want to get the button and there is no hamburger menu
1044
- *
1045
- * @returns reference to button placed in row localized by the name
1046
- */
1047
- this.getButtonByNameForSpecificRow = (elementTitleInRow, buttonTitle) => this.getRowByName(elementTitleInRow).locator('button', { hasText: buttonTitle });
1048
- /**
1049
- * Method used in cases where you want to get some specific cell (by column name) for row which contains some name/title/etc.
1050
- *
1051
- * @returns reference to cell element
1052
- */
1053
- this.getCellByColumnNameAndRowItem = (item, columnName) => this.getRowByName(item).locator(`[title="${columnName}"]`);
1054
- /**
1055
- * Method used in cases where we want to get the checkbox for row element
1056
- *
1057
- * @returns reference to checkbox placed in row localized by the name
1058
- */
1059
- this.getCheckboxForElement = (item) => this.getRowByName(item).locator('.mat-mdc-checkbox');
1060
- this.getColumnHeaderByTitleLocator = (headerTitle) => this.getChild('[role="columnheader"]', { hasText: headerTitle });
1061
- this.getSearchResultLinkByName = (name) => this.getChild('.aca-search-results-row span[role="link"]', { hasText: name });
1062
- this.getColumnValuesByName = (name) => this.getChild(`div[title="${name}"] span`);
1063
- this.getColumnHeaderByName = (headerTitle) => this.getChild('.adf-datatable-row .adf-datatable-cell-header .adf-datatable-cell-value', { hasText: headerTitle });
1064
973
  }
974
+ pagination = new PaginationComponent(this.page);
975
+ body = this.getChild('.adf-datatable-body');
976
+ getEmptyFolderLocator = this.getChild('.adf-empty-folder');
977
+ getEmptyContentTitleLocator = this.getChild('adf-empty-content .adf-empty-content__title');
978
+ getEmptyContentSubTitleLocator = this.getChild('adf-empty-content .adf-empty-content__subtitle');
979
+ getSelectedRow = this.getChild('.adf-datatable-row.adf-is-selected');
980
+ sortedColumnHeader = this.getChild(`.adf-datatable__header--sorted-asc .adf-datatable-cell-header-content .adf-datatable-cell-value,
981
+ .adf-datatable__header--sorted-desc .adf-datatable-cell-header-content .adf-datatable-cell-value`);
982
+ columnHeaders = this.getChild('.adf-datatable-row .adf-datatable-cell-header .adf-datatable-cell-value');
983
+ emptyList = this.getChild('div.adf-no-content-container');
984
+ emptyListTitle = this.getChild('.adf-empty-content__title');
985
+ emptyListSubtitle = this.getChild('.adf-empty-content__subtitle');
986
+ emptySearchText = this.getChild('.empty-search__text');
987
+ emptyListTest = this.getChild('adf-custom-empty-content-template');
988
+ paginationButton = this.page.locator('.adf-pagination__block button').nth(0);
989
+ paginationOptions = this.page.locator('#cdk-overlay-0 button');
990
+ sitesVisibility = this.page.locator('.adf-datatable-body [data-automation-id*="datatable-row"] [aria-label="Visibility"]');
991
+ sitesName = this.page.locator('.adf-datatable-body [data-automation-id*="datatable-row"] [aria-label="Name"]');
992
+ sitesRole = this.page.locator('.adf-datatable-body [data-automation-id*="datatable-row"] [aria-label="My Role"]');
993
+ lockOwner = this.page.locator('.aca-locked-by--name');
994
+ uncheckedCheckbox = this.page.locator('.mat-mdc-checkbox');
995
+ checkedCheckbox = this.page.locator('.mat-mdc-checkbox-checked');
996
+ highlightedText = '.aca-highlight';
997
+ searchFileName = '.search-file-name';
998
+ searchFileDescription = '[data-automation-id="search-results-entry-description"]';
999
+ searchFileContent = '.aca-result-content';
1000
+ /** Locator for row (or rows) */
1001
+ getRowLocator = this.page.getByRole('rowgroup').nth(1).locator('adf-datatable-row');
1002
+ /** Locator to get "No results found" message */
1003
+ getNoResultsFoundMessage = this.getChild('adf-custom-empty-content-template', { hasText: 'No results found' });
1004
+ /**
1005
+ * Method used in cases where we want to check that some record is visible in the datatable. It will consider whole row
1006
+ *
1007
+ * @returns reference to cell element which contains text.
1008
+ */
1009
+ getRowByName = (name) => this.getChild(`adf-datatable-row`, { hasText: name.toString() });
1010
+ /**
1011
+ * Method used in cases where we want to check that some record is visible in the datatable.
1012
+ * But we want to check it by column header title and value of this column.
1013
+ *
1014
+ * @returns reference to cell element which contains text.
1015
+ */
1016
+ getRowByColumnTitleAndItsCellValue = (columnTitle, cellValue) => this.page.locator(`//div[contains(@title, '${columnTitle}')]//span[contains(text(), '${cellValue}')]/ancestor::adf-datatable-row`);
1017
+ /**
1018
+ * Method used in cases where we want to retrieve a row from the datatable based on its numerical order within the array.
1019
+ *
1020
+ * @returns reference to cell element which contains text.
1021
+ */
1022
+ getNthRow = (orderNum) => this.getRowLocator.nth(orderNum);
1023
+ /**
1024
+ * Method used in cases where user have possibility to navigate "inside" the element (it's clickable and has link attribute).
1025
+ * Perform action .click() to navigate inside it
1026
+ *
1027
+ * @returns reference to cell element which contains link.
1028
+ */
1029
+ getCellLinkByName = (name) => this.getChild('.adf-cell-value span[role="link"]', { hasText: name });
1030
+ /**
1031
+ * Method used in cases where we want to localize the element by [aria-label]
1032
+ *
1033
+ * @returns reference to cell element.
1034
+ */
1035
+ getByAriaLabelTitle = (title) => this.getChild(`[aria-label="${title}"]`);
1036
+ /**
1037
+ * Method used in cases where we want to get the button (hamburger menu) for row element
1038
+ *
1039
+ * @returns reference to menu placed in row localized by the name
1040
+ */
1041
+ getActionsButtonByName = (name) => this.getRowByName(name).locator('mat-icon', { hasText: new RegExp(`^\\s*more_vert\\s*$`, 'g') });
1042
+ /**
1043
+ * Method used in cases where we want to get the edit button and there is no hamburger menu
1044
+ *
1045
+ * @returns reference to edit button placed in row localized by the name
1046
+ */
1047
+ getEditButtonByName = (name) => this.getRowByName(name).locator('button#editButton');
1048
+ /**
1049
+ * Method used in cases where we want to get the button and there is no hamburger menu
1050
+ *
1051
+ * @returns reference to button placed in row localized by the name
1052
+ */
1053
+ getButtonByNameForSpecificRow = (elementTitleInRow, buttonTitle) => this.getRowByName(elementTitleInRow).locator('button', { hasText: buttonTitle });
1054
+ /**
1055
+ * Method used in cases where you want to get some specific cell (by column name) for row which contains some name/title/etc.
1056
+ *
1057
+ * @returns reference to cell element
1058
+ */
1059
+ getCellByColumnNameAndRowItem = (item, columnName) => this.getRowByName(item).locator(`[title="${columnName}"]`);
1060
+ /**
1061
+ * Method used in cases where we want to get the checkbox for row element
1062
+ *
1063
+ * @returns reference to checkbox placed in row localized by the name
1064
+ */
1065
+ getCheckboxForElement = (item) => this.getRowByName(item).locator('.mat-mdc-checkbox');
1066
+ getColumnHeaderByTitleLocator = (headerTitle) => this.getChild('[role="columnheader"]', { hasText: headerTitle });
1067
+ getSearchResultLinkByName = (name) => this.getChild('.aca-search-results-row span[role="link"]', { hasText: name });
1068
+ getColumnValuesByName = (name) => this.getChild(`div[title="${name}"] span`);
1069
+ getColumnHeaderByName = (headerTitle) => this.getChild('.adf-datatable-row .adf-datatable-cell-header .adf-datatable-cell-value', { hasText: headerTitle });
1065
1070
  async sortBy(label, order) {
1066
1071
  const sortColumn = await this.getSortedColumnHeaderText();
1067
1072
  let sortOrder = await this.getSortingOrder();
@@ -1273,7 +1278,6 @@ class DataTableComponent extends BaseComponent {
1273
1278
  }
1274
1279
  }
1275
1280
  }
1276
- DataTableComponent.rootElement = 'adf-datatable';
1277
1281
 
1278
1282
  /*!
1279
1283
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -1299,10 +1303,11 @@ DataTableComponent.rootElement = 'adf-datatable';
1299
1303
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
1300
1304
  */
1301
1305
  class ToolbarComponent extends BaseComponent {
1306
+ static rootElement = 'adf-toolbar';
1307
+ createRuleButton = this.getChild('[data-automation-id="manage-rules-create-button"]');
1308
+ linkRulesButton = this.getChild('[data-automation-id="manage-rules-link-button"]');
1302
1309
  constructor(page) {
1303
1310
  super(page, ToolbarComponent.rootElement);
1304
- this.createRuleButton = this.getChild('[data-automation-id="manage-rules-create-button"]');
1305
- this.linkRulesButton = this.getChild('[data-automation-id="manage-rules-link-button"]');
1306
1311
  }
1307
1312
  async clickCreateRuleButton() {
1308
1313
  await this.createRuleButton.click();
@@ -1311,7 +1316,6 @@ class ToolbarComponent extends BaseComponent {
1311
1316
  await this.linkRulesButton.click();
1312
1317
  }
1313
1318
  }
1314
- ToolbarComponent.rootElement = 'adf-toolbar';
1315
1319
 
1316
1320
  /*!
1317
1321
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -1361,17 +1365,18 @@ ToolbarComponent.rootElement = 'adf-toolbar';
1361
1365
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
1362
1366
  */
1363
1367
  class AdfFolderDialogComponent extends BaseComponent {
1368
+ static rootElement = 'adf-folder-dialog';
1369
+ folderNameInputLocator = this.getChild('[id="adf-folder-name-input"]');
1370
+ folderNameInputHint = this.getChild('mat-hint');
1371
+ folderTitleInput = this.getChild('[id="adf-folder-title-input"]');
1372
+ folderDescriptionInput = this.getChild('[id="adf-folder-description-input"]');
1373
+ createButton = this.getChild('[id="adf-folder-create-button"]');
1374
+ cancelButton = this.getChild('[id="adf-folder-cancel-button"]');
1364
1375
  constructor(page) {
1365
1376
  super(page, AdfFolderDialogComponent.rootElement);
1366
- this.folderNameInputLocator = this.getChild('[id="adf-folder-name-input"]');
1367
- this.folderNameInputHint = this.getChild('mat-hint');
1368
- this.folderTitleInput = this.getChild('[id="adf-folder-title-input"]');
1369
- this.folderDescriptionInput = this.getChild('[id="adf-folder-description-input"]');
1370
- this.createButton = this.getChild('[id="adf-folder-create-button"]');
1371
- this.cancelButton = this.getChild('[id="adf-folder-cancel-button"]');
1372
- this.getLabelText = (text) => this.getChild('label', { hasText: text });
1373
- this.getRequiredMarker = (text) => this.getLabelText(text).locator('.mat-mdc-form-field-required-marker');
1374
1377
  }
1378
+ getLabelText = (text) => this.getChild('label', { hasText: text });
1379
+ getRequiredMarker = (text) => this.getLabelText(text).locator('.mat-mdc-form-field-required-marker');
1375
1380
  /**
1376
1381
  * This method is used when we want to fill in Create new Folder Dialog and choose Create button
1377
1382
  *
@@ -1390,7 +1395,6 @@ class AdfFolderDialogComponent extends BaseComponent {
1390
1395
  await this.createButton.click();
1391
1396
  }
1392
1397
  }
1393
- AdfFolderDialogComponent.rootElement = 'adf-folder-dialog';
1394
1398
 
1395
1399
  /*!
1396
1400
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -1416,15 +1420,16 @@ AdfFolderDialogComponent.rootElement = 'adf-folder-dialog';
1416
1420
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
1417
1421
  */
1418
1422
  class AdfLibraryDialogComponent extends BaseComponent {
1423
+ static rootElement = 'adf-library-dialog';
1424
+ createButton = this.getChild('[data-automation-id="create-library-id"]');
1425
+ cancelButton = this.getChild('[data-automation-id="cancel-library-id"]');
1419
1426
  constructor(page) {
1420
1427
  super(page, AdfLibraryDialogComponent.rootElement);
1421
- this.createButton = this.getChild('[data-automation-id="create-library-id"]');
1422
- this.cancelButton = this.getChild('[data-automation-id="cancel-library-id"]');
1423
- this.getLabelText = (text) => this.getChild('label', { hasText: text });
1424
- this.getRequiredMarker = (text) => this.getLabelText(text).locator('.mat-mdc-form-field-required-marker');
1425
- this.getDialogTitle = (text) => this.getChild('.mat-mdc-dialog-title', { hasText: text });
1426
- this.getErrorByText = (text) => this.page.locator('mat-error', { hasText: text });
1427
1428
  }
1429
+ getLabelText = (text) => this.getChild('label', { hasText: text });
1430
+ getRequiredMarker = (text) => this.getLabelText(text).locator('.mat-mdc-form-field-required-marker');
1431
+ getDialogTitle = (text) => this.getChild('.mat-mdc-dialog-title', { hasText: text });
1432
+ getErrorByText = (text) => this.page.locator('mat-error', { hasText: text });
1428
1433
  /**
1429
1434
  * This method is used when we want to fill in Create Library Dialog and choose Create button
1430
1435
  *
@@ -1451,7 +1456,6 @@ class AdfLibraryDialogComponent extends BaseComponent {
1451
1456
  return this.getErrorByText(errorText).isVisible();
1452
1457
  }
1453
1458
  }
1454
- AdfLibraryDialogComponent.rootElement = 'adf-library-dialog';
1455
1459
 
1456
1460
  /*!
1457
1461
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -1477,12 +1481,13 @@ AdfLibraryDialogComponent.rootElement = 'adf-library-dialog';
1477
1481
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
1478
1482
  */
1479
1483
  class PasswordOverlayDialogComponent extends BaseComponent {
1484
+ static rootElement = '.cdk-overlay-pane';
1485
+ closeButton = this.getChild('[data-automation-id="adf-password-dialog-close"]');
1486
+ submitButton = this.getChild('[data-automation-id="adf-password-dialog-submit"]');
1487
+ passwordInput = this.getChild('[data-automation-id="adf-password-dialog-input"]');
1488
+ errorMessage = this.getChild('[data-automation-id="adf-password-dialog-error"]');
1480
1489
  constructor(page, rootElement = PasswordOverlayDialogComponent.rootElement) {
1481
1490
  super(page, rootElement);
1482
- this.closeButton = this.getChild('[data-automation-id="adf-password-dialog-close"]');
1483
- this.submitButton = this.getChild('[data-automation-id="adf-password-dialog-submit"]');
1484
- this.passwordInput = this.getChild('[data-automation-id="adf-password-dialog-input"]');
1485
- this.errorMessage = this.getChild('[data-automation-id="adf-password-dialog-error"]');
1486
1491
  }
1487
1492
  async waitForDialogToOpen() {
1488
1493
  await this.spinnerWaitForReload();
@@ -1519,7 +1524,6 @@ class PasswordOverlayDialogComponent extends BaseComponent {
1519
1524
  await this.passwordInput.fill(password);
1520
1525
  }
1521
1526
  }
1522
- PasswordOverlayDialogComponent.rootElement = '.cdk-overlay-pane';
1523
1527
 
1524
1528
  /*!
1525
1529
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -1545,19 +1549,20 @@ PasswordOverlayDialogComponent.rootElement = '.cdk-overlay-pane';
1545
1549
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
1546
1550
  */
1547
1551
  class ViewerOverlayDialogComponent extends BaseComponent {
1552
+ static rootElement = '.cdk-overlay-pane';
1553
+ closeButton = this.getChild('[data-automation-id="adf-password-dialog-close"]');
1554
+ submitButton = this.getChild('[data-automation-id="adf-password-dialog-submit"]');
1555
+ passwordInput = this.getChild('[data-automation-id="adf-password-dialog-input"]');
1556
+ errorMessage = this.getChild('[data-automation-id="adf-password-dialog-error"]');
1557
+ copyDialog = this.getChild('[data-automation-id="content-node-selector-title"]');
1558
+ copyMenuButton = this.getChild('[id="app.viewer.copy"]');
1559
+ deleteMenuButton = this.getChild('[id="app.viewer.delete"]');
1560
+ favoriteMenuButton = this.getChild('[id="app.viewer.favorite.add"]');
1561
+ removeFavoriteMenuButton = this.getChild('[id="app.viewer.favorite.remove"]');
1562
+ shareDialogTitle = this.getChild('[data-automation-id="adf-share-dialog-title"]');
1563
+ shareDialogClose = this.getChild('[data-automation-id="adf-share-dialog-close"]');
1548
1564
  constructor(page, rootElement = ViewerOverlayDialogComponent.rootElement) {
1549
1565
  super(page, rootElement);
1550
- this.closeButton = this.getChild('[data-automation-id="adf-password-dialog-close"]');
1551
- this.submitButton = this.getChild('[data-automation-id="adf-password-dialog-submit"]');
1552
- this.passwordInput = this.getChild('[data-automation-id="adf-password-dialog-input"]');
1553
- this.errorMessage = this.getChild('[data-automation-id="adf-password-dialog-error"]');
1554
- this.copyDialog = this.getChild('[data-automation-id="content-node-selector-title"]');
1555
- this.copyMenuButton = this.getChild('[id="app.viewer.copy"]');
1556
- this.deleteMenuButton = this.getChild('[id="app.viewer.delete"]');
1557
- this.favoriteMenuButton = this.getChild('[id="app.viewer.favorite.add"]');
1558
- this.removeFavoriteMenuButton = this.getChild('[id="app.viewer.favorite.remove"]');
1559
- this.shareDialogTitle = this.getChild('[data-automation-id="adf-share-dialog-title"]');
1560
- this.shareDialogClose = this.getChild('[data-automation-id="adf-share-dialog-close"]');
1561
1566
  }
1562
1567
  async isCopyDialogOpen() {
1563
1568
  await this.copyDialog.waitFor({ state: 'attached', timeout: timeouts.medium });
@@ -1572,7 +1577,6 @@ class ViewerOverlayDialogComponent extends BaseComponent {
1572
1577
  await this.copyMenuButton.click();
1573
1578
  }
1574
1579
  }
1575
- ViewerOverlayDialogComponent.rootElement = '.cdk-overlay-pane';
1576
1580
 
1577
1581
  /*!
1578
1582
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -1598,19 +1602,20 @@ ViewerOverlayDialogComponent.rootElement = '.cdk-overlay-pane';
1598
1602
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
1599
1603
  */
1600
1604
  class ContentNodeSelectorDialog extends BaseComponent {
1605
+ static rootElement = 'adf-content-node-selector';
1601
1606
  constructor(page) {
1602
1607
  super(page, ContentNodeSelectorDialog.rootElement);
1603
- this.cancelButton = this.getChild('[data-automation-id="content-node-selector-actions-cancel"]');
1604
- this.actionButton = this.getChild('[data-automation-id="content-node-selector-actions-choose"]');
1605
- this.locationDropDown = this.getChild('[id="site-dropdown-container"] mat-form-field');
1606
- this.selectedRow = this.getChild('.adf-is-selected');
1607
- this.getOptionLocator = (optionName) => this.page.locator('.mat-mdc-select-panel .mdc-list-item__primary-text', { hasText: optionName });
1608
- this.getRowByName = (name) => this.getChild(`adf-datatable-row`, { hasText: name.toString() });
1609
- this.getDialogTitle = (text) => this.getChild('[data-automation-id="content-node-selector-title"]', { hasText: text });
1610
- this.getBreadcrumb = (text) => this.getChild('[data-automation-id="current-folder"]', { hasText: text });
1611
- this.getFolderIcon = this.getChild('[data-automation-id="dropdown-breadcrumb-trigger"]');
1612
- this.loadMoreButton = this.getChild('[data-automation-id="adf-infinite-pagination-button"]');
1613
1608
  }
1609
+ cancelButton = this.getChild('[data-automation-id="content-node-selector-actions-cancel"]');
1610
+ actionButton = this.getChild('[data-automation-id="content-node-selector-actions-choose"]');
1611
+ locationDropDown = this.getChild('[id="site-dropdown-container"] mat-form-field');
1612
+ selectedRow = this.getChild('.adf-is-selected');
1613
+ getOptionLocator = (optionName) => this.page.locator('.mat-mdc-select-panel .mdc-list-item__primary-text', { hasText: optionName });
1614
+ getRowByName = (name) => this.getChild(`adf-datatable-row`, { hasText: name.toString() });
1615
+ getDialogTitle = (text) => this.getChild('[data-automation-id="content-node-selector-title"]', { hasText: text });
1616
+ getBreadcrumb = (text) => this.getChild('[data-automation-id="current-folder"]', { hasText: text });
1617
+ getFolderIcon = this.getChild('[data-automation-id="dropdown-breadcrumb-trigger"]');
1618
+ loadMoreButton = this.getChild('[data-automation-id="adf-infinite-pagination-button"]');
1614
1619
  async loadMoreNodes() {
1615
1620
  await this.spinnerWaitForReload();
1616
1621
  while (await this.loadMoreButton.isVisible()) {
@@ -1637,7 +1642,6 @@ class ContentNodeSelectorDialog extends BaseComponent {
1637
1642
  });
1638
1643
  }
1639
1644
  }
1640
- ContentNodeSelectorDialog.rootElement = 'adf-content-node-selector';
1641
1645
 
1642
1646
  /*!
1643
1647
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -1663,14 +1667,15 @@ ContentNodeSelectorDialog.rootElement = 'adf-content-node-selector';
1663
1667
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
1664
1668
  */
1665
1669
  class CreateFromTemplateDialogComponent extends BaseComponent {
1670
+ static rootElement = 'app-create-from-template-dialog';
1666
1671
  constructor(page) {
1667
1672
  super(page, CreateFromTemplateDialogComponent.rootElement);
1668
- this.cancelButton = this.getChild('[data-automation-id="create-from-template-dialog-cancel-button"]');
1669
- this.createButton = this.getChild('[data-automation-id="create-from-template-dialog-create-button"]');
1670
- this.getDialogTitle = (text) => this.getChild('.mat-dialog-title', { hasText: text });
1671
- this.getDialogLabel = (text) => this.getChild('label', { hasText: text });
1672
- this.getErrorByText = (text) => this.page.locator('mat-error', { hasText: text });
1673
1673
  }
1674
+ cancelButton = this.getChild('[data-automation-id="create-from-template-dialog-cancel-button"]');
1675
+ createButton = this.getChild('[data-automation-id="create-from-template-dialog-create-button"]');
1676
+ getDialogTitle = (text) => this.getChild('.mat-dialog-title', { hasText: text });
1677
+ getDialogLabel = (text) => this.getChild('label', { hasText: text });
1678
+ getErrorByText = (text) => this.page.locator('mat-error', { hasText: text });
1674
1679
  async isErrorMessageDisplayed(errorText) {
1675
1680
  await this.getErrorByText(errorText).waitFor({ state: 'visible', timeout: timeouts.large });
1676
1681
  return this.getErrorByText(errorText).isVisible();
@@ -1689,7 +1694,6 @@ class CreateFromTemplateDialogComponent extends BaseComponent {
1689
1694
  await this.createButton.click();
1690
1695
  }
1691
1696
  }
1692
- CreateFromTemplateDialogComponent.rootElement = 'app-create-from-template-dialog';
1693
1697
 
1694
1698
  /*!
1695
1699
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -1715,15 +1719,15 @@ CreateFromTemplateDialogComponent.rootElement = 'app-create-from-template-dialog
1715
1719
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
1716
1720
  */
1717
1721
  class AdfConfirmDialogComponent extends BaseComponent {
1722
+ static rootElement = 'adf-confirm-dialog';
1718
1723
  constructor(page) {
1719
1724
  super(page, AdfConfirmDialogComponent.rootElement);
1720
- this.getDialogTitle = (text) => this.getChild('[data-automation-id="adf-confirm-dialog-title"]', { hasText: text });
1721
- this.getDialogContent = (text) => this.getChild('[data-automation-id="adf-confirm-dialog-base-message"]', { hasText: text });
1722
- this.okButton = this.getChild('[data-automation-id="adf-confirm-dialog-confirmation"]');
1723
- this.cancelButton = this.getChild('[data-automation-id="adf-confirm-dialog-reject"]');
1724
1725
  }
1726
+ getDialogTitle = (text) => this.getChild('[data-automation-id="adf-confirm-dialog-title"]', { hasText: text });
1727
+ getDialogContent = (text) => this.getChild('[data-automation-id="adf-confirm-dialog-base-message"]', { hasText: text });
1728
+ okButton = this.getChild('[data-automation-id="adf-confirm-dialog-confirmation"]');
1729
+ cancelButton = this.getChild('[data-automation-id="adf-confirm-dialog-reject"]');
1725
1730
  }
1726
- AdfConfirmDialogComponent.rootElement = 'adf-confirm-dialog';
1727
1731
 
1728
1732
  /*!
1729
1733
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -1749,12 +1753,13 @@ AdfConfirmDialogComponent.rootElement = 'adf-confirm-dialog';
1749
1753
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
1750
1754
  */
1751
1755
  class DateTimePicker extends BaseComponent {
1756
+ static rootElement = '.mat-calendar';
1757
+ calendar = this.getChild('.mat-datepicker-popup');
1758
+ dayPicker = this.getChild('mat-month-view');
1759
+ nextMonthBtn = this.getChild('.mat-calendar-next-button');
1760
+ rootElemLocator = this.page.locator('.mat-datepicker-popup');
1752
1761
  constructor(page) {
1753
1762
  super(page, DateTimePicker.rootElement);
1754
- this.calendar = this.getChild('.mat-datepicker-popup');
1755
- this.dayPicker = this.getChild('mat-month-view');
1756
- this.nextMonthBtn = this.getChild('.mat-calendar-next-button');
1757
- this.rootElemLocator = this.page.locator('.mat-datepicker-popup');
1758
1763
  }
1759
1764
  async isCalendarOpen() {
1760
1765
  const element = this.rootElemLocator;
@@ -1774,7 +1779,6 @@ class DateTimePicker extends BaseComponent {
1774
1779
  await firstActiveDayElem.click();
1775
1780
  }
1776
1781
  }
1777
- DateTimePicker.rootElement = '.mat-calendar';
1778
1782
 
1779
1783
  /*!
1780
1784
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -1800,22 +1804,23 @@ DateTimePicker.rootElement = '.mat-calendar';
1800
1804
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
1801
1805
  */
1802
1806
  class ShareDialogComponent extends BaseComponent {
1807
+ static rootElement = 'adf-share-dialog';
1803
1808
  constructor(page) {
1804
1809
  super(page, ShareDialogComponent.rootElement);
1805
- this.closeButton = this.getChild('[data-automation-id="adf-share-dialog-close"]');
1806
- this.dialogTitle = this.getChild('[data-automation-id="adf-share-dialog-title"]');
1807
- this.infoText = this.getChild('.adf-share-link__info').first();
1808
- this.labels = '.adf-share-link__label';
1809
- this.shareToggle = this.getChild(`[data-automation-id='adf-share-toggle']`);
1810
- this.url = this.getChild(`[data-automation-id='adf-share-link']`);
1811
- this.urlAction = this.getChild('.adf-input-action');
1812
- this.expireToggle = this.getChild(`[data-automation-id='adf-expire-toggle']`);
1813
- this.expireInput = this.getChild('input[formcontrolname="time"]');
1814
- this.datetimePickerButton = this.getChild('.mat-datepicker-toggle');
1815
- this.dateTimePicker = new DateTimePicker(this.page);
1816
- this.getDialogLabel = () => this.getChild('label').innerText();
1817
- this.getErrorByText = (text) => this.page.locator('mat-error', { hasText: text });
1818
1810
  }
1811
+ closeButton = this.getChild('[data-automation-id="adf-share-dialog-close"]');
1812
+ dialogTitle = this.getChild('[data-automation-id="adf-share-dialog-title"]');
1813
+ infoText = this.getChild('.adf-share-link__info').first();
1814
+ labels = '.adf-share-link__label';
1815
+ shareToggle = this.getChild(`[data-automation-id='adf-share-toggle']`);
1816
+ url = this.getChild(`[data-automation-id='adf-share-link']`);
1817
+ urlAction = this.getChild('.adf-input-action');
1818
+ expireToggle = this.getChild(`[data-automation-id='adf-expire-toggle']`);
1819
+ expireInput = this.getChild('input[formcontrolname="time"]');
1820
+ datetimePickerButton = this.getChild('.mat-datepicker-toggle');
1821
+ dateTimePicker = new DateTimePicker(this.page);
1822
+ getDialogLabel = () => this.getChild('label').innerText();
1823
+ getErrorByText = (text) => this.page.locator('mat-error', { hasText: text });
1819
1824
  async getLabels() {
1820
1825
  return this.page.$$eval('.adf-share-link__label', (elements) => elements.map((element) => element.textContent));
1821
1826
  }
@@ -1855,7 +1860,6 @@ class ShareDialogComponent extends BaseComponent {
1855
1860
  return this.expireInput.inputValue();
1856
1861
  }
1857
1862
  }
1858
- ShareDialogComponent.rootElement = 'adf-share-dialog';
1859
1863
 
1860
1864
  /*!
1861
1865
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -1881,17 +1885,17 @@ ShareDialogComponent.rootElement = 'adf-share-dialog';
1881
1885
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
1882
1886
  */
1883
1887
  class UploadNewVersionDialog extends BaseComponent {
1888
+ static rootElement = 'adf-new-version-uploader-dialog';
1889
+ cancelButton = this.getChild('#adf-new-version-cancel');
1890
+ uploadButton = this.getChild('[data-automation-id="adf-new-version-file-upload"]');
1891
+ majorOption = this.getChild('#adf-new-version-major');
1892
+ minorOption = this.getChild('#adf-new-version-minor');
1893
+ description = this.getChild('#adf-new-version-text-area');
1894
+ title = this.getChild(' [data-automation-id="new-version-uploader-dialog-title"]');
1884
1895
  constructor(page) {
1885
1896
  super(page, UploadNewVersionDialog.rootElement);
1886
- this.cancelButton = this.getChild('#adf-new-version-cancel');
1887
- this.uploadButton = this.getChild('[data-automation-id="adf-new-version-file-upload"]');
1888
- this.majorOption = this.getChild('#adf-new-version-major');
1889
- this.minorOption = this.getChild('#adf-new-version-minor');
1890
- this.description = this.getChild('#adf-new-version-text-area');
1891
- this.title = this.getChild(' [data-automation-id="new-version-uploader-dialog-title"]');
1892
1897
  }
1893
1898
  }
1894
- UploadNewVersionDialog.rootElement = 'adf-new-version-uploader-dialog';
1895
1899
 
1896
1900
  /*!
1897
1901
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -1917,6 +1921,7 @@ UploadNewVersionDialog.rootElement = 'adf-new-version-uploader-dialog';
1917
1921
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
1918
1922
  */
1919
1923
  class ManageVersionsDialog extends BaseComponent {
1924
+ static rootElement = '.adf-new-version-uploader-dialog';
1920
1925
  async viewFileVersion(version) {
1921
1926
  const versionActionsButton = this.page.locator(`[id="adf-version-list-action-menu-button-${version}"]`);
1922
1927
  await versionActionsButton.click();
@@ -1925,7 +1930,6 @@ class ManageVersionsDialog extends BaseComponent {
1925
1930
  super(page, ManageVersionsDialog.rootElement);
1926
1931
  }
1927
1932
  }
1928
- ManageVersionsDialog.rootElement = '.adf-new-version-uploader-dialog';
1929
1933
 
1930
1934
  /*!
1931
1935
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -1951,15 +1955,15 @@ ManageVersionsDialog.rootElement = '.adf-new-version-uploader-dialog';
1951
1955
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
1952
1956
  */
1953
1957
  class UploadDialog extends BaseComponent {
1958
+ static rootElement = '.adf-upload-dialog';
1959
+ uploadDialog = this.page.locator('.adf-upload-dialog');
1960
+ closeButton = this.getChild('#adf-upload-dialog-close');
1961
+ minimizeButton = this.page.locator('[data-automation-id="adf-upload-dialog__toggle-minimize"]');
1962
+ uploadDialogMinimized = this.page.locator('.adf-upload-dialog--minimized');
1954
1963
  constructor(page) {
1955
1964
  super(page, UploadDialog.rootElement);
1956
- this.uploadDialog = this.page.locator('.adf-upload-dialog');
1957
- this.closeButton = this.getChild('#adf-upload-dialog-close');
1958
- this.minimizeButton = this.page.locator('[data-automation-id="adf-upload-dialog__toggle-minimize"]');
1959
- this.uploadDialogMinimized = this.page.locator('.adf-upload-dialog--minimized');
1960
1965
  }
1961
1966
  }
1962
- UploadDialog.rootElement = '.adf-upload-dialog';
1963
1967
 
1964
1968
  /*!
1965
1969
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -1985,13 +1989,14 @@ UploadDialog.rootElement = '.adf-upload-dialog';
1985
1989
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
1986
1990
  */
1987
1991
  class AdfDeleteTrashComponent extends BaseComponent {
1992
+ static rootElement = 'adf-confirm-dialog';
1988
1993
  constructor(page) {
1989
1994
  super(page, AdfDeleteTrashComponent.rootElement);
1990
- this.dialogTitle = this.getChild('[data-automation-id="adf-confirm-dialog-title"]');
1991
- this.dialogDescription = this.getChild('[data-automation-id="adf-confirm-dialog-base-message"]');
1992
- this.deleteButton = this.getChild('[id="adf-confirm-accept"]');
1993
- this.keepButton = this.getChild('[id="adf-confirm-cancel"]');
1994
1995
  }
1996
+ dialogTitle = this.getChild('[data-automation-id="adf-confirm-dialog-title"]');
1997
+ dialogDescription = this.getChild('[data-automation-id="adf-confirm-dialog-base-message"]');
1998
+ deleteButton = this.getChild('[id="adf-confirm-accept"]');
1999
+ keepButton = this.getChild('[id="adf-confirm-cancel"]');
1995
2000
  async waitForDialog() {
1996
2001
  await this.dialogTitle.waitFor();
1997
2002
  }
@@ -2011,7 +2016,6 @@ class AdfDeleteTrashComponent extends BaseComponent {
2011
2016
  return this.keepButton.isEnabled();
2012
2017
  }
2013
2018
  }
2014
- AdfDeleteTrashComponent.rootElement = 'adf-confirm-dialog';
2015
2019
 
2016
2020
  /*!
2017
2021
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -2037,18 +2041,19 @@ AdfDeleteTrashComponent.rootElement = 'adf-confirm-dialog';
2037
2041
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
2038
2042
  */
2039
2043
  class LinkRulesDialog extends BaseComponent {
2044
+ static rootElement = 'aca-rule-set-picker';
2040
2045
  constructor(page) {
2041
2046
  super(page, LinkRulesDialog.rootElement);
2042
- this.cancelButton = this.getChild('[data-automation-id="content-node-selector-actions-cancel"]');
2043
- this.selectFolderButton = this.getChild('button', { hasText: ' Select folder ' });
2044
- this.emptyLinkRules = this.getChild('.adf-empty-content__title');
2045
- this.getOptionLocator = (optionName) => this.page.locator('.mat-mdc-select-panel .mdc-list-item__primary-text', { hasText: optionName });
2046
- this.getRowByName = (name) => this.getChild(`adf-datatable-row`, { hasText: name.toString() });
2047
- this.getDialogTitle = (text) => this.getChild('[data-automation-id="content-node-selector-title"]', { hasText: text });
2048
- this.getBreadcrumb = (text) => this.getChild('[data-automation-id="current-folder"]', { hasText: text });
2049
- this.getFolderIcon = this.getChild('.adf-dropdown-breadcrumb-icon', { hasText: 'folder' });
2050
- this.getLibraryIcon = this.getChild('.adf-empty-content__icon', { hasText: 'library_books' });
2051
2047
  }
2048
+ cancelButton = this.getChild('[data-automation-id="content-node-selector-actions-cancel"]');
2049
+ selectFolderButton = this.getChild('button', { hasText: ' Select folder ' });
2050
+ emptyLinkRules = this.getChild('.adf-empty-content__title');
2051
+ getOptionLocator = (optionName) => this.page.locator('.mat-mdc-select-panel .mdc-list-item__primary-text', { hasText: optionName });
2052
+ getRowByName = (name) => this.getChild(`adf-datatable-row`, { hasText: name.toString() });
2053
+ getDialogTitle = (text) => this.getChild('[data-automation-id="content-node-selector-title"]', { hasText: text });
2054
+ getBreadcrumb = (text) => this.getChild('[data-automation-id="current-folder"]', { hasText: text });
2055
+ getFolderIcon = this.getChild('.adf-dropdown-breadcrumb-icon', { hasText: 'folder' });
2056
+ getLibraryIcon = this.getChild('.adf-empty-content__icon', { hasText: 'library_books' });
2052
2057
  async selectDestination(folderName) {
2053
2058
  const row = this.getRowByName(folderName);
2054
2059
  await expect(row).toBeVisible();
@@ -2066,7 +2071,6 @@ class LinkRulesDialog extends BaseComponent {
2066
2071
  await this.getLibraryIcon.waitFor();
2067
2072
  }
2068
2073
  }
2069
- LinkRulesDialog.rootElement = 'aca-rule-set-picker';
2070
2074
 
2071
2075
  /*!
2072
2076
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -2092,18 +2096,18 @@ LinkRulesDialog.rootElement = 'aca-rule-set-picker';
2092
2096
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
2093
2097
  */
2094
2098
  class EditDialog extends BaseComponent {
2099
+ static rootElement = 'mat-dialog-container';
2100
+ editDialog = this.getChild('');
2101
+ titleInput = this.getChild('[data-automation-id="adf-folder-dialog-title"]');
2102
+ cancelButton = this.getChild('#adf-folder-cancel-button');
2103
+ updateButton = this.getChild('#adf-folder-create-button');
2104
+ descriptionInput = this.getChild('#adf-folder-description-input');
2105
+ nameInput = this.getChild('#adf-folder-name-input');
2106
+ fieldHint = this.getChild('mat-hint');
2095
2107
  constructor(page) {
2096
2108
  super(page, EditDialog.rootElement);
2097
- this.editDialog = this.getChild('');
2098
- this.titleInput = this.getChild('[data-automation-id="adf-folder-dialog-title"]');
2099
- this.cancelButton = this.getChild('#adf-folder-cancel-button');
2100
- this.updateButton = this.getChild('#adf-folder-create-button');
2101
- this.descriptionInput = this.getChild('#adf-folder-description-input');
2102
- this.nameInput = this.getChild('#adf-folder-name-input');
2103
- this.fieldHint = this.getChild('mat-hint');
2104
2109
  }
2105
2110
  }
2106
- EditDialog.rootElement = 'mat-dialog-container';
2107
2111
 
2108
2112
  /*!
2109
2113
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -2153,28 +2157,29 @@ EditDialog.rootElement = 'mat-dialog-container';
2153
2157
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
2154
2158
  */
2155
2159
  class ManageRulesDialogComponent extends BaseComponent {
2160
+ static rootElement = 'aca-edit-rule-dialog';
2161
+ createRuleButton = this.getChild('[data-automation-id="edit-rule-dialog-submit"]');
2162
+ cancelRuleButton = this.getChild('.aca-edit-rule-dialog__footer button').filter({ hasText: 'Cancel' });
2163
+ ruleNameInputLocator = this.getChild('[id="rule-details-name-input"]');
2164
+ ruleDescriptionInputLocator = this.getChild('[id="rule-details-description-textarea"]');
2165
+ addConditionButton = this.getChild('[data-automation-id="add-condition-button"]');
2166
+ addConditionGroupButton = this.getChild('[data-automation-id="add-group-button"]');
2167
+ fieldDropDown = this.getChild('[data-automation-id="field-select"]');
2168
+ comparatorDropDown = this.getChild('[data-automation-id="comparator-select"]');
2169
+ valueField = this.getChild('[data-automation-id="value-input"]');
2170
+ whenCreatedCheckbox = this.getChild('[data-automation-id="rule-trigger-checkbox-inbound"]');
2171
+ whenUpdatedCheckbox = this.getChild('[data-automation-id="rule-trigger-checkbox-update"]');
2172
+ whenDeletedCheckbox = this.getChild('[data-automation-id="rule-trigger-checkbox-outbound"]');
2173
+ destinationFolderButton = this.getChild('[data-automation-id="card-textitem-clickable-icon-destination-folder"]');
2174
+ ruleInBackgroundCheckbox = this.getChild('[data-automation-id="rule-option-checkbox-asynchronous"]');
2175
+ ruleSubfoldersCheckbox = this.getChild('[data-automation-id="rule-option-checkbox-inheritable"]');
2176
+ ruleDisableCheckbox = this.getChild('[data-automation-id="rule-option-checkbox-disabled"]');
2177
+ actionsEllipsisButtons = this.getChild('[data-automation-id="rule-action-list-action-menu"]');
2178
+ actionsEllipsisDelete = this.page.locator('[data-automation-id="rule-action-list-remove-action-button"]');
2179
+ conditionsEllipsisButtons = this.getChild('[data-automation-id="condition-actions-button"]');
2180
+ conditionsEllipsisDelete = this.page.locator('button[title="Remove"]');
2156
2181
  constructor(page) {
2157
2182
  super(page, ManageRulesDialogComponent.rootElement);
2158
- this.createRuleButton = this.getChild('[data-automation-id="edit-rule-dialog-submit"]');
2159
- this.cancelRuleButton = this.getChild('.aca-edit-rule-dialog__footer button').filter({ hasText: 'Cancel' });
2160
- this.ruleNameInputLocator = this.getChild('[id="rule-details-name-input"]');
2161
- this.ruleDescriptionInputLocator = this.getChild('[id="rule-details-description-textarea"]');
2162
- this.addConditionButton = this.getChild('[data-automation-id="add-condition-button"]');
2163
- this.addConditionGroupButton = this.getChild('[data-automation-id="add-group-button"]');
2164
- this.fieldDropDown = this.getChild('[data-automation-id="field-select"]');
2165
- this.comparatorDropDown = this.getChild('[data-automation-id="comparator-select"]');
2166
- this.valueField = this.getChild('[data-automation-id="value-input"]');
2167
- this.whenCreatedCheckbox = this.getChild('[data-automation-id="rule-trigger-checkbox-inbound"]');
2168
- this.whenUpdatedCheckbox = this.getChild('[data-automation-id="rule-trigger-checkbox-update"]');
2169
- this.whenDeletedCheckbox = this.getChild('[data-automation-id="rule-trigger-checkbox-outbound"]');
2170
- this.destinationFolderButton = this.getChild('[data-automation-id="card-textitem-clickable-icon-destination-folder"]');
2171
- this.ruleInBackgroundCheckbox = this.getChild('[data-automation-id="rule-option-checkbox-asynchronous"]');
2172
- this.ruleSubfoldersCheckbox = this.getChild('[data-automation-id="rule-option-checkbox-inheritable"]');
2173
- this.ruleDisableCheckbox = this.getChild('[data-automation-id="rule-option-checkbox-disabled"]');
2174
- this.actionsEllipsisButtons = this.getChild('[data-automation-id="rule-action-list-action-menu"]');
2175
- this.actionsEllipsisDelete = this.page.locator('[data-automation-id="rule-action-list-remove-action-button"]');
2176
- this.conditionsEllipsisButtons = this.getChild('[data-automation-id="condition-actions-button"]');
2177
- this.conditionsEllipsisDelete = this.page.locator('button[title="Remove"]');
2178
2183
  }
2179
2184
  async deleteActions(noActions) {
2180
2185
  for (let i = 0; i < noActions; i++) {
@@ -2189,7 +2194,6 @@ class ManageRulesDialogComponent extends BaseComponent {
2189
2194
  }
2190
2195
  }
2191
2196
  }
2192
- ManageRulesDialogComponent.rootElement = 'aca-edit-rule-dialog';
2193
2197
 
2194
2198
  /*!
2195
2199
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -2215,20 +2219,21 @@ ManageRulesDialogComponent.rootElement = 'aca-edit-rule-dialog';
2215
2219
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
2216
2220
  */
2217
2221
  class ManageRules extends BaseComponent {
2222
+ static rootElement = '.aca-manage-rules';
2223
+ getGroupsList = (optionName) => this.getChild('.aca-rule-list-item__header', { hasText: optionName });
2224
+ ruleToggle = this.getChild('.aca-manage-rules__container .mdc-switch').first();
2225
+ ruleToggleFalse = this.getChild('aca-rule-list-grouping aca-rule-list-item .mdc-switch--unselected').first();
2226
+ ruleDetailsTitle = this.getChild('.aca-manage-rules__container__rule-details__header__title__name');
2227
+ ruleDetailsDeleteButton = this.getChild('#delete-rule-btn');
2228
+ ruleDetailsEditButton = this.getChild('#edit-rule-btn');
2229
+ ruleDetailsWhenText = this.getChild('[data-automation-id="rule-details-triggers-component"]');
2230
+ ruleDetailsPerformActionsDiv = this.getChild('adf-card-view-textitem mat-form-field input');
2231
+ rulesEmptyListTitle = this.getChild('.adf-empty-content__title');
2232
+ ruleActions = this.getChild('aca-rule-action');
2233
+ ruleConditionsInGroup = this.getChild('aca-rule-composite-condition aca-rule-simple-condition');
2234
+ ruleDescription = this.getChild('.aca-manage-rules__container__rule-details__header__title__description');
2218
2235
  constructor(page) {
2219
2236
  super(page, ManageRules.rootElement);
2220
- this.getGroupsList = (optionName) => this.getChild('.aca-rule-list-item__header', { hasText: optionName });
2221
- this.ruleToggle = this.getChild('.aca-manage-rules__container .mdc-switch').first();
2222
- this.ruleToggleFalse = this.getChild('aca-rule-list-grouping aca-rule-list-item .mdc-switch--unselected').first();
2223
- this.ruleDetailsTitle = this.getChild('.aca-manage-rules__container__rule-details__header__title__name');
2224
- this.ruleDetailsDeleteButton = this.getChild('#delete-rule-btn');
2225
- this.ruleDetailsEditButton = this.getChild('#edit-rule-btn');
2226
- this.ruleDetailsWhenText = this.getChild('[data-automation-id="rule-details-triggers-component"]');
2227
- this.ruleDetailsPerformActionsDiv = this.getChild('adf-card-view-textitem mat-form-field input');
2228
- this.rulesEmptyListTitle = this.getChild('.adf-empty-content__title');
2229
- this.ruleActions = this.getChild('aca-rule-action');
2230
- this.ruleConditionsInGroup = this.getChild('aca-rule-composite-condition aca-rule-simple-condition');
2231
- this.ruleDescription = this.getChild('.aca-manage-rules__container__rule-details__header__title__description');
2232
2237
  }
2233
2238
  async checkAspects(aspects) {
2234
2239
  for (let i = 0; i < aspects.length; i++) {
@@ -2256,7 +2261,6 @@ class ManageRules extends BaseComponent {
2256
2261
  });
2257
2262
  }
2258
2263
  }
2259
- ManageRules.rootElement = '.aca-manage-rules';
2260
2264
 
2261
2265
  /*!
2262
2266
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -2306,6 +2310,7 @@ ManageRules.rootElement = '.aca-manage-rules';
2306
2310
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
2307
2311
  */
2308
2312
  class SpinnerComponent extends BaseComponent {
2313
+ static rootElement = 'mat-progress-spinner';
2309
2314
  constructor(page, rootElement = SpinnerComponent.rootElement) {
2310
2315
  super(page, rootElement);
2311
2316
  }
@@ -2319,7 +2324,6 @@ class SpinnerComponent extends BaseComponent {
2319
2324
  }
2320
2325
  }
2321
2326
  }
2322
- SpinnerComponent.rootElement = 'mat-progress-spinner';
2323
2327
 
2324
2328
  /*!
2325
2329
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -2369,21 +2373,22 @@ var ActionType;
2369
2373
  ActionType["TransformAndCopyImage"] = "Transform and copy image";
2370
2374
  })(ActionType || (ActionType = {}));
2371
2375
  class ActionsDropdownComponent extends BaseComponent {
2376
+ static rootElement = 'aca-edit-rule-dialog aca-rule-action-list';
2377
+ getOptionLocator = (optionName) => this.page.locator('.mat-mdc-select-panel .mdc-list-item__primary-text', { hasText: optionName }).first();
2378
+ ruleActionLocator = this.getChild('aca-rule-action');
2379
+ addActionButtonLocator = this.getChild('[data-automation-id="rule-action-list-add-action-button"]');
2380
+ actionDropdownLocator = this.getChild('[data-automation-id="rule-action-select"]');
2381
+ actionAspectNameLocator = '[data-automation-id="header-aspect-name"] .adf-property-field';
2382
+ actionCheckInInputLocator = '[data-automation-id="header-description"] input';
2383
+ actionAutoDeclareLocator = '[data-automation-id="header-version"] mat-select';
2384
+ actionSimpleWorkflowStepInputLocator = '[data-automation-id="header-approve-step"] input';
2385
+ actionSimpleWorkflowApproveFolderLocator = `[data-automation-id="header-approve-folder"] mat-icon`;
2386
+ actionSimpleWorkflowActionChoiceLocator = '[data-automation-id="content-node-selector-actions-choose"]';
2387
+ actionSimpleWorkflowLabelApproveLocator = `[data-automation-id="card-boolean-label-approve-move"]`;
2388
+ actionSimpleWorkflowSRejectStepLocator = '[data-automation-id="header-reject-step"] input';
2389
+ actionSimpleWorkflowRejectFolderLocator = `[data-automation-id="header-reject-folder"] input`;
2372
2390
  constructor(page) {
2373
2391
  super(page, ActionsDropdownComponent.rootElement);
2374
- this.getOptionLocator = (optionName) => this.page.locator('.mat-mdc-select-panel .mdc-list-item__primary-text', { hasText: optionName }).first();
2375
- this.ruleActionLocator = this.getChild('aca-rule-action');
2376
- this.addActionButtonLocator = this.getChild('[data-automation-id="rule-action-list-add-action-button"]');
2377
- this.actionDropdownLocator = this.getChild('[data-automation-id="rule-action-select"]');
2378
- this.actionAspectNameLocator = '[data-automation-id="header-aspect-name"] .adf-property-field';
2379
- this.actionCheckInInputLocator = '[data-automation-id="header-description"] input';
2380
- this.actionAutoDeclareLocator = '[data-automation-id="header-version"] mat-select';
2381
- this.actionSimpleWorkflowStepInputLocator = '[data-automation-id="header-approve-step"] input';
2382
- this.actionSimpleWorkflowApproveFolderLocator = `[data-automation-id="header-approve-folder"] mat-icon`;
2383
- this.actionSimpleWorkflowActionChoiceLocator = '[data-automation-id="content-node-selector-actions-choose"]';
2384
- this.actionSimpleWorkflowLabelApproveLocator = `[data-automation-id="card-boolean-label-approve-move"]`;
2385
- this.actionSimpleWorkflowSRejectStepLocator = '[data-automation-id="header-reject-step"] input';
2386
- this.actionSimpleWorkflowRejectFolderLocator = `[data-automation-id="header-reject-folder"] input`;
2387
2392
  }
2388
2393
  async selectAction(action, index) {
2389
2394
  if (index > 0) {
@@ -2417,7 +2422,6 @@ class ActionsDropdownComponent extends BaseComponent {
2417
2422
  await this.page.locator(this.actionSimpleWorkflowActionChoiceLocator).click();
2418
2423
  }
2419
2424
  }
2420
- ActionsDropdownComponent.rootElement = 'aca-edit-rule-dialog aca-rule-action-list';
2421
2425
 
2422
2426
  /*!
2423
2427
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -2460,10 +2464,7 @@ var Comparator;
2460
2464
  Comparator["EndsWith"] = "Ends with";
2461
2465
  })(Comparator || (Comparator = {}));
2462
2466
  class ConditionComponent extends ManageRulesDialogComponent {
2463
- constructor() {
2464
- super(...arguments);
2465
- this.getOptionLocator = (optionName) => this.page.locator(`.cdk-overlay-pane .mat-mdc-option span`, { hasText: optionName });
2466
- }
2467
+ getOptionLocator = (optionName) => this.page.locator(`.cdk-overlay-pane .mat-mdc-option span`, { hasText: optionName });
2467
2468
  async selectField(fields, index) {
2468
2469
  await this.fieldDropDown.nth(index).click();
2469
2470
  const option = this.getOptionLocator(fields);
@@ -2517,38 +2518,39 @@ class ConditionComponent extends ManageRulesDialogComponent {
2517
2518
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
2518
2519
  */
2519
2520
  class AdfInfoDrawerComponent extends BaseComponent {
2521
+ static rootElement = 'adf-info-drawer';
2520
2522
  constructor(page) {
2521
2523
  super(page, AdfInfoDrawerComponent.rootElement);
2522
- this.getNameField = (labelText) => this.getChild(`[data-automation-id="library-name-properties-wrapper"] input[placeholder='${labelText}']`);
2523
- this.getIdField = (labelText) => this.getChild(`[data-automation-id="library-id-properties-wrapper"] input[placeholder='${labelText}']`);
2524
- this.getVisibilityField = (labelText) => this.getChild(`[data-automation-id="library-visibility-properties-wrapper"] mat-select[ng-reflect-placeholder='${labelText}']`);
2525
- this.getDescriptionField = this.getChild('[data-automation-id="library-description-properties-wrapper"] textarea');
2526
- this.propertiesTab = this.page.getByRole('tab', { name: 'Properties' });
2527
- this.commentsTab = this.page.getByRole('tab', { name: 'Comments' });
2528
- this.infoDrawerTabs = this.getChild('.adf-info-drawer-tab');
2529
- this.commentInputField = this.page.locator('#comment-input');
2530
- this.commentsHeader = this.getChild('#comment-header');
2531
- this.addCommentButton = this.getChild('[data-automation-id="comments-input-add"]');
2532
- this.commentsList = this.getChild('.adf-comment-list-item');
2533
- this.commentUsername = this.getChild('.adf-comment-user-name');
2534
- this.commentTextContent = this.getChild('.adf-comment-message');
2535
- this.commentTimestamp = this.getChild('.adf-comment-message-time');
2536
- this.infoDrawerPanel = this.page.locator('.adf-info-drawer');
2537
- this.headerTitle = this.page.locator('.adf-info-drawer-layout-header-title').getByRole('heading');
2538
- this.editButton = this.page.getByRole('button', { name: 'Edit' });
2539
- this.cancelButton = this.page.getByRole('button', { name: 'Cancel' });
2540
- this.updateButton = this.page.getByRole('button', { name: 'Update' });
2541
- this.hintMessage = this.page.locator('mat-hint');
2542
- this.errorMessage = this.page.locator('mat-error');
2543
- this.expandDetailsButton = this.getChild(`button[title='Expand panel']`);
2544
- this.expandedDetailsTabs = this.page.locator('.aca-details-container .mdc-tab__text-label');
2545
- this.expandedDetailsPermissionsTab = this.expandedDetailsTabs.getByText('Permissions');
2546
- this.nameField = this.page.locator('input[placeholder=Name]');
2547
- this.idField = this.page.locator(`input[placeholder='Library ID']`);
2548
- this.descriptionField = this.page.locator('textarea[placeholder=Description]');
2549
- this.visibilityField = this.infoDrawerPanel.getByRole('combobox');
2550
- this.selectVisibility = (visibilityOption) => this.page.getByRole('listbox').getByRole('option', { name: visibilityOption }).click();
2551
2524
  }
2525
+ getNameField = (labelText) => this.getChild(`[data-automation-id="library-name-properties-wrapper"] input[placeholder='${labelText}']`);
2526
+ getIdField = (labelText) => this.getChild(`[data-automation-id="library-id-properties-wrapper"] input[placeholder='${labelText}']`);
2527
+ getVisibilityField = (labelText) => this.getChild(`[data-automation-id="library-visibility-properties-wrapper"] mat-select[ng-reflect-placeholder='${labelText}']`);
2528
+ getDescriptionField = this.getChild('[data-automation-id="library-description-properties-wrapper"] textarea');
2529
+ propertiesTab = this.page.getByRole('tab', { name: 'Properties' });
2530
+ commentsTab = this.page.getByRole('tab', { name: 'Comments' });
2531
+ infoDrawerTabs = this.getChild('.adf-info-drawer-tab');
2532
+ commentInputField = this.page.locator('#comment-input');
2533
+ commentsHeader = this.getChild('#comment-header');
2534
+ addCommentButton = this.getChild('[data-automation-id="comments-input-add"]');
2535
+ commentsList = this.getChild('.adf-comment-list-item');
2536
+ commentUsername = this.getChild('.adf-comment-user-name');
2537
+ commentTextContent = this.getChild('.adf-comment-message');
2538
+ commentTimestamp = this.getChild('.adf-comment-message-time');
2539
+ infoDrawerPanel = this.page.locator('.adf-info-drawer');
2540
+ headerTitle = this.page.locator('.adf-info-drawer-layout-header-title').getByRole('heading');
2541
+ editButton = this.page.getByRole('button', { name: 'Edit' });
2542
+ cancelButton = this.page.getByRole('button', { name: 'Cancel' });
2543
+ updateButton = this.page.getByRole('button', { name: 'Update' });
2544
+ hintMessage = this.page.locator('mat-hint');
2545
+ errorMessage = this.page.locator('mat-error');
2546
+ expandDetailsButton = this.getChild(`button[title='Expand panel']`);
2547
+ expandedDetailsTabs = this.page.locator('.aca-details-container .mdc-tab__text-label');
2548
+ expandedDetailsPermissionsTab = this.expandedDetailsTabs.getByText('Permissions');
2549
+ nameField = this.page.locator('input[placeholder=Name]');
2550
+ idField = this.page.locator(`input[placeholder='Library ID']`);
2551
+ descriptionField = this.page.locator('textarea[placeholder=Description]');
2552
+ visibilityField = this.infoDrawerPanel.getByRole('combobox');
2553
+ selectVisibility = (visibilityOption) => this.page.getByRole('listbox').getByRole('option', { name: visibilityOption }).click();
2552
2554
  async checkCommentsHeaderCount() {
2553
2555
  const commentsCountTextContent = await this.commentsHeader.textContent();
2554
2556
  const commentsCountString = commentsCountTextContent.match(/\d+/g)[0];
@@ -2572,7 +2574,6 @@ class AdfInfoDrawerComponent extends BaseComponent {
2572
2574
  return this.infoDrawerTabs.count();
2573
2575
  }
2574
2576
  }
2575
- AdfInfoDrawerComponent.rootElement = 'adf-info-drawer';
2576
2577
 
2577
2578
  /*!
2578
2579
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -2598,27 +2599,28 @@ AdfInfoDrawerComponent.rootElement = 'adf-info-drawer';
2598
2599
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
2599
2600
  */
2600
2601
  class AcaHeader extends BaseComponent {
2602
+ static rootElement = 'aca-toolbar';
2603
+ moreActionsButton = this.getChild('button[id="app.viewer.toolbar.more"]');
2604
+ toolbarMoreActions = this.getChild('button[id="app.toolbar.more"]');
2605
+ createButton = this.getChild('[id="app.toolbar.create"]');
2606
+ viewDetails = this.getChild('[title="View Details"]');
2607
+ viewButton = this.getChild('button[title="View"]');
2608
+ searchButton = this.getChild('button[id="app.toolbar.search"]');
2609
+ fullScreenButton = this.getChild('button[id="app.viewer.fullscreen"]');
2610
+ shareButton = this.getChild('button[id="share-action-button"]');
2611
+ downloadButtonViewer = this.getChild('button[id="app.viewer.download"]');
2612
+ downloadButton = this.getChild('button[id="app.toolbar.download"]');
2613
+ sharedDownloadButton = this.getChild('button[id="app.viewer.shared.download"]');
2614
+ uploadButton = this.getChild('button[id="app.toolbar.upload"]');
2615
+ uploadFileButton = this.page.locator('button[id="app.create.uploadFile"]');
2616
+ uploadInput = this.page.locator('input[id="app-upload-files"]');
2617
+ uploadNewVersionButton = this.page.locator('#app-upload-file-version');
2618
+ permanentlyDeleteButton = this.getChild('button[id="app.toolbar.purgeDeletedNodes"]');
2619
+ restoreButton = this.getChild('button[id="app.toolbar.restoreDeletedNodes"]');
2601
2620
  constructor(page) {
2602
2621
  super(page, AcaHeader.rootElement);
2603
- this.moreActionsButton = this.getChild('button[id="app.viewer.toolbar.more"]');
2604
- this.toolbarMoreActions = this.getChild('button[id="app.toolbar.more"]');
2605
- this.createButton = this.getChild('[id="app.toolbar.create"]');
2606
- this.viewDetails = this.getChild('[title="View Details"]');
2607
- this.viewButton = this.getChild('button[title="View"]');
2608
- this.searchButton = this.getChild('button[id="app.toolbar.search"]');
2609
- this.fullScreenButton = this.getChild('button[id="app.viewer.fullscreen"]');
2610
- this.shareButton = this.getChild('button[id="share-action-button"]');
2611
- this.downloadButtonViewer = this.getChild('button[id="app.viewer.download"]');
2612
- this.downloadButton = this.getChild('button[id="app.toolbar.download"]');
2613
- this.sharedDownloadButton = this.getChild('button[id="app.viewer.shared.download"]');
2614
- this.uploadButton = this.getChild('button[id="app.toolbar.upload"]');
2615
- this.uploadFileButton = this.page.locator('button[id="app.create.uploadFile"]');
2616
- this.uploadInput = this.page.locator('input[id="app-upload-files"]');
2617
- this.uploadNewVersionButton = this.page.locator('#app-upload-file-version');
2618
- this.permanentlyDeleteButton = this.getChild('button[id="app.toolbar.purgeDeletedNodes"]');
2619
- this.restoreButton = this.getChild('button[id="app.toolbar.restoreDeletedNodes"]');
2620
- this.matMenu = new MatMenuComponent(this.page);
2621
2622
  }
2623
+ matMenu = new MatMenuComponent(this.page);
2622
2624
  async clickViewerMoreActions() {
2623
2625
  await this.moreActionsButton.waitFor({ state: 'attached' });
2624
2626
  await this.moreActionsButton.click();
@@ -2646,7 +2648,6 @@ class AcaHeader extends BaseComponent {
2646
2648
  await this.matMenu.createFileFromTemplate.click();
2647
2649
  }
2648
2650
  }
2649
- AcaHeader.rootElement = 'aca-toolbar';
2650
2651
 
2651
2652
  /*!
2652
2653
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -2672,17 +2673,18 @@ AcaHeader.rootElement = 'aca-toolbar';
2672
2673
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
2673
2674
  */
2674
2675
  class ViewerComponent extends BaseComponent {
2676
+ static rootElement = 'adf-viewer';
2677
+ viewerLocator = this.getChild('.adf-viewer-render-layout-content');
2678
+ closeButtonLocator = this.getChild('.adf-viewer-close-button');
2679
+ fileTitleButtonLocator = this.getChild('.adf-viewer__file-title');
2680
+ pdfViewerContentPages = this.getChild('.adf-pdf-viewer__content .page');
2681
+ shareButton = this.getChild('button[id="share-action-button"]');
2682
+ downloadButton = this.getChild('button[id="app.viewer.download"]');
2683
+ allButtons = this.getChild('button');
2684
+ unknownFormat = this.getChild(`adf-viewer-unknown-format .adf-viewer__unknown-format-view`);
2685
+ toolbar = new AcaHeader(this.page);
2675
2686
  constructor(page) {
2676
2687
  super(page, ViewerComponent.rootElement);
2677
- this.viewerLocator = this.getChild('.adf-viewer-render-layout-content');
2678
- this.closeButtonLocator = this.getChild('.adf-viewer-close-button');
2679
- this.fileTitleButtonLocator = this.getChild('.adf-viewer__file-title');
2680
- this.pdfViewerContentPages = this.getChild('.adf-pdf-viewer__content .page');
2681
- this.shareButton = this.getChild('button[id="share-action-button"]');
2682
- this.downloadButton = this.getChild('button[id="app.viewer.download"]');
2683
- this.allButtons = this.getChild('button');
2684
- this.unknownFormat = this.getChild(`adf-viewer-unknown-format .adf-viewer__unknown-format-view`);
2685
- this.toolbar = new AcaHeader(this.page);
2686
2688
  }
2687
2689
  async isPdfViewerContentDisplayed() {
2688
2690
  const count = await this.pdfViewerContentPages.count();
@@ -2734,7 +2736,6 @@ class ViewerComponent extends BaseComponent {
2734
2736
  return this.unknownFormat.locator(`.adf-viewer__unknown-label`).innerText();
2735
2737
  }
2736
2738
  }
2737
- ViewerComponent.rootElement = 'adf-viewer';
2738
2739
 
2739
2740
  /*!
2740
2741
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -2760,18 +2761,19 @@ ViewerComponent.rootElement = 'adf-viewer';
2760
2761
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
2761
2762
  */
2762
2763
  class SearchInputComponent extends BaseComponent {
2764
+ static rootElement = 'aca-page-layout';
2765
+ searchInput = this.page.locator('#app-control-input');
2766
+ searchButton = this.page.locator('.aca-search-input--search-button');
2767
+ searchCloseButton = this.page.locator('.aca-search-input--close-button');
2768
+ /**
2769
+ * Method used in cases where user have possibility to navigate "inside" the element (it's clickable and has link attribute).
2770
+ * Perform action .click() to navigate inside it
2771
+ *
2772
+ * @returns reference to cell element which contains link.
2773
+ */
2774
+ getCellLinkByName = (name) => this.getChild('.adf-datatable-row[role="row"]', { hasText: name });
2763
2775
  constructor(page, rootElement = SearchInputComponent.rootElement) {
2764
2776
  super(page, rootElement);
2765
- this.searchInput = this.page.locator('#app-control-input');
2766
- this.searchButton = this.page.locator('.aca-search-input--search-button');
2767
- this.searchCloseButton = this.page.locator('.aca-search-input--close-button');
2768
- /**
2769
- * Method used in cases where user have possibility to navigate "inside" the element (it's clickable and has link attribute).
2770
- * Perform action .click() to navigate inside it
2771
- *
2772
- * @returns reference to cell element which contains link.
2773
- */
2774
- this.getCellLinkByName = (name) => this.getChild('.adf-datatable-row[role="row"]', { hasText: name });
2775
2777
  }
2776
2778
  async performDoubleClickFolderOrFileToOpen(name) {
2777
2779
  await this.getCellLinkByName(name).waitFor({ state: 'visible', timeout: timeouts.medium });
@@ -2779,7 +2781,6 @@ class SearchInputComponent extends BaseComponent {
2779
2781
  await this.spinnerWaitForReload();
2780
2782
  }
2781
2783
  }
2782
- SearchInputComponent.rootElement = 'aca-page-layout';
2783
2784
 
2784
2785
  /*!
2785
2786
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -2805,15 +2806,16 @@ SearchInputComponent.rootElement = 'aca-page-layout';
2805
2806
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
2806
2807
  */
2807
2808
  class SearchOverlayComponent extends BaseComponent {
2809
+ static rootElement = '.cdk-overlay-pane';
2810
+ searchFilesOption = this.getChild('input#content-input');
2811
+ searchFoldersOption = this.getChild('input#folder-input');
2812
+ searchLibrariesOption = this.getChild('input#libraries-input');
2813
+ searchInput = this.page.locator('#app-control-input');
2814
+ searchButton = this.page.locator('.aca-search-input--search-button');
2815
+ searchInputControl = this.page.locator('.app-search-control');
2816
+ searchOptions = this.page.locator('.app-search-options');
2808
2817
  constructor(page, rootElement = SearchOverlayComponent.rootElement) {
2809
2818
  super(page, rootElement);
2810
- this.searchFilesOption = this.getChild('input#content-input');
2811
- this.searchFoldersOption = this.getChild('input#folder-input');
2812
- this.searchLibrariesOption = this.getChild('input#libraries-input');
2813
- this.searchInput = this.page.locator('#app-control-input');
2814
- this.searchButton = this.page.locator('.aca-search-input--search-button');
2815
- this.searchInputControl = this.page.locator('.app-search-control');
2816
- this.searchOptions = this.page.locator('.app-search-options');
2817
2819
  }
2818
2820
  async isFoldersOptionChecked() {
2819
2821
  const optClass = await this.searchFoldersOption.getAttribute('class');
@@ -2860,7 +2862,6 @@ class SearchOverlayComponent extends BaseComponent {
2860
2862
  await this.searchButton.click({ force: true });
2861
2863
  }
2862
2864
  }
2863
- SearchOverlayComponent.rootElement = '.cdk-overlay-pane';
2864
2865
 
2865
2866
  /*!
2866
2867
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -2886,12 +2887,13 @@ SearchOverlayComponent.rootElement = '.cdk-overlay-pane';
2886
2887
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
2887
2888
  */
2888
2889
  class SearchSortingPicker extends BaseComponent {
2890
+ static rootElement = '#aca-button-action-menu';
2891
+ actionMenu = this.page.locator('[data-automation-id="auto_header_content_id_$thumbnail"]');
2892
+ sortOrderButton = this.page.locator('#aca-button-sorting-menu');
2893
+ sortByDropdownExpanded = this.page.locator('.mat-mdc-menu-panel').first();
2894
+ sortByList = this.page.locator('.mat-mdc-menu-panel button');
2889
2895
  constructor(page, rootElement = SearchSortingPicker.rootElement) {
2890
2896
  super(page, rootElement);
2891
- this.actionMenu = this.page.locator('[data-automation-id="auto_header_content_id_$thumbnail"]');
2892
- this.sortOrderButton = this.page.locator('#aca-button-sorting-menu');
2893
- this.sortByDropdownExpanded = this.page.locator('.mat-mdc-menu-panel').first();
2894
- this.sortByList = this.page.locator('.mat-mdc-menu-panel button');
2895
2897
  }
2896
2898
  async waitForSortByDropdownToExpand() {
2897
2899
  await this.sortByDropdownExpanded.waitFor();
@@ -2930,7 +2932,6 @@ class SearchSortingPicker extends BaseComponent {
2930
2932
  await this.progressBarWaitForReload();
2931
2933
  }
2932
2934
  }
2933
- SearchSortingPicker.rootElement = '#aca-button-action-menu';
2934
2935
 
2935
2936
  /*!
2936
2937
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -2956,24 +2957,24 @@ SearchSortingPicker.rootElement = '#aca-button-action-menu';
2956
2957
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
2957
2958
  */
2958
2959
  class SearchFilters extends BaseComponent {
2960
+ static rootElement = '.aca-content__advanced-filters';
2959
2961
  constructor(page) {
2960
2962
  super(page, SearchFilters.rootElement);
2961
- this.filtersButtons = this.page.locator('adf-search-widget-chip');
2962
- this.logicFilter = this.page.locator('adf-search-widget-chip', { hasText: 'Logic' });
2963
- this.propertiesFilter = this.page.locator('adf-search-widget-chip', { hasText: 'Properties' });
2964
- this.dateFilter = this.page.locator('adf-search-widget-chip', { hasText: 'Date' });
2965
- this.locationFilter = this.page.locator('adf-search-widget-chip', { hasText: 'Location' });
2966
- this.tagsFilter = this.page.locator('adf-search-widget-chip', { hasText: 'Tags' });
2967
- this.categoriesFilter = this.page.locator('adf-search-widget-chip', { hasText: 'Categories' });
2968
- this.resetButton = this.page.locator('button', { hasText: 'Reset' });
2969
- this.menuCardTitle = this.page.locator('.adf-search-filter-title');
2970
- this.menuCardClose = this.page.locator('.adf-search-filter-title-action');
2971
- this.menuCardClear = this.page.locator('#cancel-filter-button');
2972
- this.menuCardApply = this.page.locator('#apply-filter-button');
2973
- this.dropdownOptions = this.page.locator(`mat-option`);
2974
2963
  }
2964
+ filtersButtons = this.page.locator('adf-search-widget-chip');
2965
+ logicFilter = this.page.locator('adf-search-widget-chip', { hasText: 'Logic' });
2966
+ propertiesFilter = this.page.locator('adf-search-widget-chip', { hasText: 'Properties' });
2967
+ dateFilter = this.page.locator('adf-search-widget-chip', { hasText: 'Date' });
2968
+ locationFilter = this.page.locator('adf-search-widget-chip', { hasText: 'Location' });
2969
+ tagsFilter = this.page.locator('adf-search-widget-chip', { hasText: 'Tags' });
2970
+ categoriesFilter = this.page.locator('adf-search-widget-chip', { hasText: 'Categories' });
2971
+ resetButton = this.page.locator('button', { hasText: 'Reset' });
2972
+ menuCardTitle = this.page.locator('.adf-search-filter-title');
2973
+ menuCardClose = this.page.locator('.adf-search-filter-title-action');
2974
+ menuCardClear = this.page.locator('#cancel-filter-button');
2975
+ menuCardApply = this.page.locator('#apply-filter-button');
2976
+ dropdownOptions = this.page.locator(`mat-option`);
2975
2977
  }
2976
- SearchFilters.rootElement = '.aca-content__advanced-filters';
2977
2978
 
2978
2979
  /*!
2979
2980
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -2999,12 +3000,12 @@ SearchFilters.rootElement = '.aca-content__advanced-filters';
2999
3000
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
3000
3001
  */
3001
3002
  class SearchFiltersCategories extends BaseComponent {
3003
+ static rootElement = '.adf-search-filter-menu-card';
3002
3004
  constructor(page) {
3003
3005
  super(page, SearchFiltersCategories.rootElement);
3004
- this.addOptionInput = this.getChild(`[data-automation-id$='adf-search-chip-autocomplete-input']`);
3005
3006
  }
3007
+ addOptionInput = this.getChild(`[data-automation-id$='adf-search-chip-autocomplete-input']`);
3006
3008
  }
3007
- SearchFiltersCategories.rootElement = '.adf-search-filter-menu-card';
3008
3009
 
3009
3010
  /*!
3010
3011
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -3030,22 +3031,23 @@ SearchFiltersCategories.rootElement = '.adf-search-filter-menu-card';
3030
3031
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
3031
3032
  */
3032
3033
  class SearchFiltersDate extends BaseComponent {
3034
+ static rootElement = '.adf-search-filter-menu-card';
3033
3035
  constructor(page) {
3034
3036
  super(page, SearchFiltersDate.rootElement);
3035
- this.createdTab = this.getChild(`[role='tab']`, { hasText: 'Created' });
3036
- this.modifiedTab = this.getChild(`[role='tab']`, { hasText: 'Modified' });
3037
- this.createdTabTitle = this.createdTab.locator(`div`);
3038
- this.modifiedTabTitle = this.modifiedTab.locator(`div`);
3039
- this.anytimeButton = this.getChild(`[data-automation-id$='date-range-anytime']`);
3040
- this.anytimeRadioButton = this.anytimeButton.locator(`input`);
3041
- this.inTheLastButton = this.getChild(`[data-automation-id$='date-range-in-last']`);
3042
- this.inTheLastInput = this.getChild(`[data-automation-id$='date-range-in-last-input']`);
3043
- this.inTheLastDropdown = this.getChild(`[data-automation-id$='date-range-in-last-dropdown']`);
3044
- this.betweenButton = this.getChild(`[data-automation-id$='date-range-between']`);
3045
- this.betweenRadioButton = this.betweenButton.locator(`input`);
3046
- this.betweenStartDate = this.getChild(`[data-automation-id$='date-range-between-start-input']`);
3047
- this.betweenEndDate = this.getChild(`[data-automation-id$='date-range-between-end-input']`);
3048
3037
  }
3038
+ createdTab = this.getChild(`[role='tab']`, { hasText: 'Created' });
3039
+ modifiedTab = this.getChild(`[role='tab']`, { hasText: 'Modified' });
3040
+ createdTabTitle = this.createdTab.locator(`div`);
3041
+ modifiedTabTitle = this.modifiedTab.locator(`div`);
3042
+ anytimeButton = this.getChild(`[data-automation-id$='date-range-anytime']`);
3043
+ anytimeRadioButton = this.anytimeButton.locator(`input`);
3044
+ inTheLastButton = this.getChild(`[data-automation-id$='date-range-in-last']`);
3045
+ inTheLastInput = this.getChild(`[data-automation-id$='date-range-in-last-input']`);
3046
+ inTheLastDropdown = this.getChild(`[data-automation-id$='date-range-in-last-dropdown']`);
3047
+ betweenButton = this.getChild(`[data-automation-id$='date-range-between']`);
3048
+ betweenRadioButton = this.betweenButton.locator(`input`);
3049
+ betweenStartDate = this.getChild(`[data-automation-id$='date-range-between-start-input']`);
3050
+ betweenEndDate = this.getChild(`[data-automation-id$='date-range-between-end-input']`);
3049
3051
  async openCreatedModifiedTab(page, tab) {
3050
3052
  switch (tab) {
3051
3053
  case 'Created':
@@ -3116,7 +3118,6 @@ class SearchFiltersDate extends BaseComponent {
3116
3118
  return this.createdTab.getAttribute('aria-selected');
3117
3119
  }
3118
3120
  }
3119
- SearchFiltersDate.rootElement = '.adf-search-filter-menu-card';
3120
3121
 
3121
3122
  /*!
3122
3123
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -3142,10 +3143,11 @@ SearchFiltersDate.rootElement = '.adf-search-filter-menu-card';
3142
3143
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
3143
3144
  */
3144
3145
  class SearchFiltersLocation extends BaseComponent {
3146
+ static rootElement = '.adf-search-filter-menu-card';
3145
3147
  constructor(page) {
3146
3148
  super(page, SearchFiltersLocation.rootElement);
3147
- this.addOptionInput = this.getChild(`[data-automation-id$='adf-search-chip-autocomplete-input']`);
3148
3149
  }
3150
+ addOptionInput = this.getChild(`[data-automation-id$='adf-search-chip-autocomplete-input']`);
3149
3151
  async filterByLocation(page, location) {
3150
3152
  await page.searchFilters.locationFilter.click();
3151
3153
  await page.searchFiltersLocation.addOptionInput.fill(location);
@@ -3154,7 +3156,6 @@ class SearchFiltersLocation extends BaseComponent {
3154
3156
  await page.dataTable.progressBarWaitForReload();
3155
3157
  }
3156
3158
  }
3157
- SearchFiltersLocation.rootElement = '.adf-search-filter-menu-card';
3158
3159
 
3159
3160
  /*!
3160
3161
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -3180,15 +3181,15 @@ SearchFiltersLocation.rootElement = '.adf-search-filter-menu-card';
3180
3181
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
3181
3182
  */
3182
3183
  class SearchFiltersLogic extends BaseComponent {
3184
+ static rootElement = '.adf-search-filter-menu-card';
3183
3185
  constructor(page) {
3184
3186
  super(page, SearchFiltersLogic.rootElement);
3185
- this.matchAllInput = this.getChild(`[placeholder$='Results will match all words entered here']`);
3186
- this.matchAnyInput = this.getChild(`[placeholder$='Results will match any words entered here']`);
3187
- this.excludeInput = this.getChild(`[placeholder$='Results will exclude matches with these words']`);
3188
- this.matchExactInput = this.getChild(`[placeholder$='Results will match this entire phrase']`);
3189
3187
  }
3188
+ matchAllInput = this.getChild(`[placeholder$='Results will match all words entered here']`);
3189
+ matchAnyInput = this.getChild(`[placeholder$='Results will match any words entered here']`);
3190
+ excludeInput = this.getChild(`[placeholder$='Results will exclude matches with these words']`);
3191
+ matchExactInput = this.getChild(`[placeholder$='Results will match this entire phrase']`);
3190
3192
  }
3191
- SearchFiltersLogic.rootElement = '.adf-search-filter-menu-card';
3192
3193
 
3193
3194
  /*!
3194
3195
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -3214,20 +3215,21 @@ SearchFiltersLogic.rootElement = '.adf-search-filter-menu-card';
3214
3215
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
3215
3216
  */
3216
3217
  class SearchFiltersProperties extends BaseComponent {
3218
+ static rootElement = '.adf-search-filter-menu-card';
3217
3219
  constructor(page) {
3218
3220
  super(page, SearchFiltersProperties.rootElement);
3219
- this.operatorButton = this.getChild(`.adf-search-properties-file-size-operator`);
3220
- this.fileSizeInput = this.getChild(`[placeholder$='Enter file size']`);
3221
- this.unitButton = this.getChild(`.adf-search-properties-file-size-unit`);
3222
- this.fileTypeInput = this.getChild(`[placeholder$='File Type']`);
3223
- this.atLeastOption = this.page.locator(`mat-option`, { hasText: 'At Least' });
3224
- this.atMostOption = this.page.locator(`mat-option`, { hasText: 'At Most' });
3225
- this.exactlyOption = this.page.locator(`mat-option`, { hasText: 'Exactly' });
3226
- this.kbUnit = this.page.locator(`mat-option`, { hasText: 'KB' });
3227
- this.mbUnit = this.page.locator(`mat-option`, { hasText: 'MB' });
3228
- this.gbUnit = this.page.locator(`mat-option`, { hasText: 'GB' });
3229
- this.dropdownOptions = this.page.locator(`mat-option`);
3230
3221
  }
3222
+ operatorButton = this.getChild(`.adf-search-properties-file-size-operator`);
3223
+ fileSizeInput = this.getChild(`[placeholder$='Enter file size']`);
3224
+ unitButton = this.getChild(`.adf-search-properties-file-size-unit`);
3225
+ fileTypeInput = this.getChild(`[placeholder$='File Type']`);
3226
+ atLeastOption = this.page.locator(`mat-option`, { hasText: 'At Least' });
3227
+ atMostOption = this.page.locator(`mat-option`, { hasText: 'At Most' });
3228
+ exactlyOption = this.page.locator(`mat-option`, { hasText: 'Exactly' });
3229
+ kbUnit = this.page.locator(`mat-option`, { hasText: 'KB' });
3230
+ mbUnit = this.page.locator(`mat-option`, { hasText: 'MB' });
3231
+ gbUnit = this.page.locator(`mat-option`, { hasText: 'GB' });
3232
+ dropdownOptions = this.page.locator(`mat-option`);
3231
3233
  async setPropertiesParameters(page, operator, unit, fileSizeInputText, fileTypeInputText) {
3232
3234
  await page.searchFilters.propertiesFilter.click();
3233
3235
  if (operator) {
@@ -3269,7 +3271,6 @@ class SearchFiltersProperties extends BaseComponent {
3269
3271
  await page.dataTable.progressBarWaitForReload();
3270
3272
  }
3271
3273
  }
3272
- SearchFiltersProperties.rootElement = '.adf-search-filter-menu-card';
3273
3274
 
3274
3275
  /*!
3275
3276
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -3295,10 +3296,11 @@ SearchFiltersProperties.rootElement = '.adf-search-filter-menu-card';
3295
3296
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
3296
3297
  */
3297
3298
  class SearchFiltersTags extends BaseComponent {
3299
+ static rootElement = '.adf-search-filter-menu-card';
3298
3300
  constructor(page) {
3299
3301
  super(page, SearchFiltersTags.rootElement);
3300
- this.addOptionInput = this.getChild(`[data-automation-id$='adf-search-chip-autocomplete-input']`);
3301
3302
  }
3303
+ addOptionInput = this.getChild(`[data-automation-id$='adf-search-chip-autocomplete-input']`);
3302
3304
  async filterByTag(page, tag) {
3303
3305
  await page.searchFilters.tagsFilter.click();
3304
3306
  await page.searchFiltersTags.addOptionInput.fill(tag);
@@ -3307,7 +3309,6 @@ class SearchFiltersTags extends BaseComponent {
3307
3309
  await page.dataTable.progressBarWaitForReload();
3308
3310
  }
3309
3311
  }
3310
- SearchFiltersTags.rootElement = '.adf-search-filter-menu-card';
3311
3312
 
3312
3313
  /*!
3313
3314
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -3333,11 +3334,12 @@ SearchFiltersTags.rootElement = '.adf-search-filter-menu-card';
3333
3334
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
3334
3335
  */
3335
3336
  class Breadcrumb extends BaseComponent {
3337
+ static rootElement = 'adf-breadcrumb';
3338
+ items = this.getChild('.adf-breadcrumb-item');
3339
+ currentItem = this.getChild('.adf-breadcrumb-item-current');
3340
+ getItemByTitle = (name) => this.getChild(`.adf-breadcrumb-item[title=${name}]`);
3336
3341
  constructor(page) {
3337
3342
  super(page, Breadcrumb.rootElement);
3338
- this.items = this.getChild('.adf-breadcrumb-item');
3339
- this.currentItem = this.getChild('.adf-breadcrumb-item-current');
3340
- this.getItemByTitle = (name) => this.getChild(`.adf-breadcrumb-item[title=${name}]`);
3341
3343
  }
3342
3344
  async getAllItems() {
3343
3345
  const itemElements = await this.page.$$('adf-breadcrumb .adf-breadcrumb-item');
@@ -3352,7 +3354,6 @@ class Breadcrumb extends BaseComponent {
3352
3354
  await elem.click();
3353
3355
  }
3354
3356
  }
3355
- Breadcrumb.rootElement = 'adf-breadcrumb';
3356
3357
 
3357
3358
  /*!
3358
3359
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -3378,18 +3379,19 @@ Breadcrumb.rootElement = 'adf-breadcrumb';
3378
3379
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
3379
3380
  */
3380
3381
  class SidenavComponent extends BaseComponent {
3382
+ static rootElement = 'app-sidenav';
3383
+ personalFiles = this.getChild(`[data-automation-id='app.navbar.personalFiles']`);
3384
+ myLibraries = this.getChild(`[data-automation-id='app.navbar.libraries.files']`);
3385
+ favoriteLibraries = this.getChild(`[data-automation-id='app.navbar.libraries.favorite']`);
3386
+ shared = this.getChild(`[data-automation-id='app.navbar.shared']`);
3387
+ recentFiles = this.getChild(`[data-automation-id='app.navbar.recentFiles']`);
3388
+ favorites = this.getChild(`[data-automation-id='app.navbar.favorites']`);
3389
+ trash = this.getChild(`[data-automation-id='app.navbar.trashcan']`);
3390
+ sidenavToggle = this.getChild(`.aca-sidenav-header-title-logo`);
3391
+ sidenavExpand = this.page.getByTitle('Expand navigation menu');
3392
+ expandedSidenav = this.page.locator(`[data-automation-id='expanded']`);
3381
3393
  constructor(page) {
3382
3394
  super(page, SidenavComponent.rootElement);
3383
- this.personalFiles = this.getChild(`[data-automation-id='app.navbar.personalFiles']`);
3384
- this.myLibraries = this.getChild(`[data-automation-id='app.navbar.libraries.files']`);
3385
- this.favoriteLibraries = this.getChild(`[data-automation-id='app.navbar.libraries.favorite']`);
3386
- this.shared = this.getChild(`[data-automation-id='app.navbar.shared']`);
3387
- this.recentFiles = this.getChild(`[data-automation-id='app.navbar.recentFiles']`);
3388
- this.favorites = this.getChild(`[data-automation-id='app.navbar.favorites']`);
3389
- this.trash = this.getChild(`[data-automation-id='app.navbar.trashcan']`);
3390
- this.sidenavToggle = this.getChild(`.aca-sidenav-header-title-logo`);
3391
- this.sidenavExpand = this.page.getByTitle('Expand navigation menu');
3392
- this.expandedSidenav = this.page.locator(`[data-automation-id='expanded']`);
3393
3395
  }
3394
3396
  async isActive(name) {
3395
3397
  const cssClass = await this.getLinkLabel(name).getAttribute('class');
@@ -3436,7 +3438,6 @@ class SidenavComponent extends BaseComponent {
3436
3438
  }
3437
3439
  }
3438
3440
  }
3439
- SidenavComponent.rootElement = 'app-sidenav';
3440
3441
 
3441
3442
  /*!
3442
3443
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -3462,13 +3463,13 @@ SidenavComponent.rootElement = 'app-sidenav';
3462
3463
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
3463
3464
  */
3464
3465
  class ErrorComponent extends BaseComponent {
3466
+ static rootElement = 'aca-page-layout';
3467
+ genericError = this.getChild('aca-generic-error');
3468
+ genericErrorTitle = this.getChild('.generic-error__title');
3465
3469
  constructor(page) {
3466
3470
  super(page, ErrorComponent.rootElement);
3467
- this.genericError = this.getChild('aca-generic-error');
3468
- this.genericErrorTitle = this.getChild('.generic-error__title');
3469
3471
  }
3470
3472
  }
3471
- ErrorComponent.rootElement = 'aca-page-layout';
3472
3473
 
3473
3474
  /*!
3474
3475
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -3518,6 +3519,10 @@ ErrorComponent.rootElement = 'aca-page-layout';
3518
3519
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
3519
3520
  */
3520
3521
  class BasePage extends PlaywrightBase {
3522
+ pageUrl;
3523
+ urlRequest;
3524
+ snackBar;
3525
+ spinner;
3521
3526
  constructor(page, pageUrl, urlRequest) {
3522
3527
  super(page);
3523
3528
  this.pageUrl = pageUrl;
@@ -3596,15 +3601,16 @@ class BasePage extends PlaywrightBase {
3596
3601
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
3597
3602
  */
3598
3603
  class LoginPage extends BasePage {
3604
+ static pageUrl = 'login';
3599
3605
  constructor(page) {
3600
3606
  super(page, LoginPage.pageUrl);
3601
- this.username = this.page.locator('#username');
3602
- this.password = this.page.locator('#password');
3603
- this.submitButton = this.page.locator('#login-button');
3604
- this.userProfileButton = this.page.locator('aca-user-menu button');
3605
- this.userLogOutButton = this.page.locator('aca-logout button');
3606
- this.passwordVisibility = this.page.locator('.adf-login-password-icon');
3607
3607
  }
3608
+ username = this.page.locator('#username');
3609
+ password = this.page.locator('#password');
3610
+ submitButton = this.page.locator('#login-button');
3611
+ userProfileButton = this.page.locator('aca-user-menu button');
3612
+ userLogOutButton = this.page.locator('aca-logout button');
3613
+ passwordVisibility = this.page.locator('.adf-login-password-icon');
3608
3614
  async loginUser(userData, options) {
3609
3615
  if (options?.withNavigation) {
3610
3616
  await this.navigate();
@@ -3630,7 +3636,6 @@ class LoginPage extends BasePage {
3630
3636
  }
3631
3637
  }
3632
3638
  }
3633
- LoginPage.pageUrl = 'login';
3634
3639
 
3635
3640
  /*!
3636
3641
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -3656,18 +3661,18 @@ LoginPage.pageUrl = 'login';
3656
3661
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
3657
3662
  */
3658
3663
  class NodesPage extends BasePage {
3664
+ static pageUrl = 'nodes';
3659
3665
  constructor(page) {
3660
3666
  super(page, NodesPage.pageUrl);
3661
- this.toolbar = new ToolbarComponent(this.page);
3662
- this.manageRulesDialog = new ManageRulesDialogComponent(this.page);
3663
- this.actionsDropdown = new ActionsDropdownComponent(this.page);
3664
- this.conditionsDropdown = new ConditionComponent(this.page);
3665
- this.manageRules = new ManageRules(this.page);
3666
- this.contentNodeSelectorDialog = new ContentNodeSelectorDialog(this.page);
3667
- this.linkRulesDialog = new LinkRulesDialog(this.page);
3668
3667
  }
3668
+ toolbar = new ToolbarComponent(this.page);
3669
+ manageRulesDialog = new ManageRulesDialogComponent(this.page);
3670
+ actionsDropdown = new ActionsDropdownComponent(this.page);
3671
+ conditionsDropdown = new ConditionComponent(this.page);
3672
+ manageRules = new ManageRules(this.page);
3673
+ contentNodeSelectorDialog = new ContentNodeSelectorDialog(this.page);
3674
+ linkRulesDialog = new LinkRulesDialog(this.page);
3669
3675
  }
3670
- NodesPage.pageUrl = 'nodes';
3671
3676
 
3672
3677
  /*!
3673
3678
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -3693,30 +3698,31 @@ NodesPage.pageUrl = 'nodes';
3693
3698
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
3694
3699
  */
3695
3700
  class PersonalFilesPage extends BasePage {
3701
+ static pageUrl = 'personal-files';
3696
3702
  constructor(page) {
3697
3703
  super(page, PersonalFilesPage.pageUrl);
3698
- this.acaHeader = new AcaHeader(this.page);
3699
- this.matMenu = new MatMenuComponent(this.page);
3700
- this.folderDialog = new AdfFolderDialogComponent(this.page);
3701
- this.contentNodeSelector = new ContentNodeSelectorDialog(this.page);
3702
- this.dataTable = new DataTableComponent(this.page);
3703
- this.viewer = new ViewerComponent(this.page);
3704
- this.passwordDialog = new PasswordOverlayDialogComponent(this.page);
3705
- this.viewerDialog = new ViewerOverlayDialogComponent(this.page);
3706
- this.breadcrumb = new Breadcrumb(this.page);
3707
- this.sidenav = new SidenavComponent(this.page);
3708
- this.createFromTemplateDialogComponent = new CreateFromTemplateDialogComponent(this.page);
3709
- this.pagination = new PaginationComponent(this.page);
3710
- this.errorDialog = new ErrorComponent(this.page);
3711
- this.shareDialog = new ShareDialogComponent(this.page);
3712
- this.confirmDialog = new AdfConfirmDialogComponent(this.page);
3713
- this.infoDrawer = new AdfInfoDrawerComponent(this.page);
3714
- this.uploadNewVersionDialog = new UploadNewVersionDialog(this.page);
3715
- this.manageVersionsDialog = new ManageVersionsDialog(this.page);
3716
- this.uploadDialog = new UploadDialog(this.page);
3717
- this.snackBar = new SnackBarComponent(this.page);
3718
- this.editDialog = new EditDialog(this.page);
3719
3704
  }
3705
+ acaHeader = new AcaHeader(this.page);
3706
+ matMenu = new MatMenuComponent(this.page);
3707
+ folderDialog = new AdfFolderDialogComponent(this.page);
3708
+ contentNodeSelector = new ContentNodeSelectorDialog(this.page);
3709
+ dataTable = new DataTableComponent(this.page);
3710
+ viewer = new ViewerComponent(this.page);
3711
+ passwordDialog = new PasswordOverlayDialogComponent(this.page);
3712
+ viewerDialog = new ViewerOverlayDialogComponent(this.page);
3713
+ breadcrumb = new Breadcrumb(this.page);
3714
+ sidenav = new SidenavComponent(this.page);
3715
+ createFromTemplateDialogComponent = new CreateFromTemplateDialogComponent(this.page);
3716
+ pagination = new PaginationComponent(this.page);
3717
+ errorDialog = new ErrorComponent(this.page);
3718
+ shareDialog = new ShareDialogComponent(this.page);
3719
+ confirmDialog = new AdfConfirmDialogComponent(this.page);
3720
+ infoDrawer = new AdfInfoDrawerComponent(this.page);
3721
+ uploadNewVersionDialog = new UploadNewVersionDialog(this.page);
3722
+ manageVersionsDialog = new ManageVersionsDialog(this.page);
3723
+ uploadDialog = new UploadDialog(this.page);
3724
+ snackBar = new SnackBarComponent(this.page);
3725
+ editDialog = new EditDialog(this.page);
3720
3726
  async selectCreateFolder() {
3721
3727
  await this.acaHeader.createButton.click();
3722
3728
  await this.matMenu.createFolder.click();
@@ -3749,7 +3755,6 @@ class PersonalFilesPage extends BasePage {
3749
3755
  await this.matMenu.clickMenuItem(action);
3750
3756
  }
3751
3757
  }
3752
- PersonalFilesPage.pageUrl = 'personal-files';
3753
3758
 
3754
3759
  /*!
3755
3760
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -3775,22 +3780,23 @@ PersonalFilesPage.pageUrl = 'personal-files';
3775
3780
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
3776
3781
  */
3777
3782
  class MyLibrariesPage extends BasePage {
3783
+ static pageUrl = 'libraries';
3778
3784
  constructor(page) {
3779
3785
  super(page, MyLibrariesPage.pageUrl);
3780
- this.acaHeader = new AcaHeader(this.page);
3781
- this.matMenu = new MatMenuComponent(this.page);
3782
- this.libraryDialog = new AdfLibraryDialogComponent(this.page);
3783
- this.dataTable = new DataTableComponent(this.page);
3784
- this.libraryDetails = new AdfInfoDrawerComponent(this.page);
3785
- this.viewer = new ViewerComponent(this.page);
3786
- this.viewerDialog = new ViewerOverlayDialogComponent(this.page);
3787
- this.copyMoveDialog = new ContentNodeSelectorDialog(this.page);
3788
- this.breadcrumb = new Breadcrumb(this.page);
3789
- this.sidenav = new SidenavComponent(this.page);
3790
- this.contentNodeSelector = new ContentNodeSelectorDialog(this.page);
3791
- this.createFromTemplateDialogComponent = new CreateFromTemplateDialogComponent(this.page);
3792
- this.confirmDialogComponent = new AdfConfirmDialogComponent(this.page);
3793
3786
  }
3787
+ acaHeader = new AcaHeader(this.page);
3788
+ matMenu = new MatMenuComponent(this.page);
3789
+ libraryDialog = new AdfLibraryDialogComponent(this.page);
3790
+ dataTable = new DataTableComponent(this.page);
3791
+ libraryDetails = new AdfInfoDrawerComponent(this.page);
3792
+ viewer = new ViewerComponent(this.page);
3793
+ viewerDialog = new ViewerOverlayDialogComponent(this.page);
3794
+ copyMoveDialog = new ContentNodeSelectorDialog(this.page);
3795
+ breadcrumb = new Breadcrumb(this.page);
3796
+ sidenav = new SidenavComponent(this.page);
3797
+ contentNodeSelector = new ContentNodeSelectorDialog(this.page);
3798
+ createFromTemplateDialogComponent = new CreateFromTemplateDialogComponent(this.page);
3799
+ confirmDialogComponent = new AdfConfirmDialogComponent(this.page);
3794
3800
  async selectCreateLibrary() {
3795
3801
  await this.acaHeader.createButton.click();
3796
3802
  await this.matMenu.createLibrary.click();
@@ -3800,7 +3806,6 @@ class MyLibrariesPage extends BasePage {
3800
3806
  await this.matMenu.clickMenuItem(buttonLabel);
3801
3807
  }
3802
3808
  }
3803
- MyLibrariesPage.pageUrl = 'libraries';
3804
3809
 
3805
3810
  /*!
3806
3811
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -3826,21 +3831,21 @@ MyLibrariesPage.pageUrl = 'libraries';
3826
3831
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
3827
3832
  */
3828
3833
  class RecentFilesPage extends BasePage {
3834
+ static pageUrl = 'recent-files';
3829
3835
  constructor(page) {
3830
3836
  super(page, RecentFilesPage.pageUrl);
3831
- this.acaHeader = new AcaHeader(this.page);
3832
- this.matMenu = new MatMenuComponent(this.page);
3833
- this.folderDialog = new AdfFolderDialogComponent(this.page);
3834
- this.dataTable = new DataTableComponent(this.page);
3835
- this.viewer = new ViewerComponent(this.page);
3836
- this.sidenav = new SidenavComponent(this.page);
3837
- this.breadcrumb = new Breadcrumb(this.page);
3838
- this.infoDrawer = new AdfInfoDrawerComponent(this.page);
3839
- this.contentNodeSelector = new ContentNodeSelectorDialog(this.page);
3840
- this.manageVersionsDialog = new ManageVersionsDialog(this.page);
3841
3837
  }
3838
+ acaHeader = new AcaHeader(this.page);
3839
+ matMenu = new MatMenuComponent(this.page);
3840
+ folderDialog = new AdfFolderDialogComponent(this.page);
3841
+ dataTable = new DataTableComponent(this.page);
3842
+ viewer = new ViewerComponent(this.page);
3843
+ sidenav = new SidenavComponent(this.page);
3844
+ breadcrumb = new Breadcrumb(this.page);
3845
+ infoDrawer = new AdfInfoDrawerComponent(this.page);
3846
+ contentNodeSelector = new ContentNodeSelectorDialog(this.page);
3847
+ manageVersionsDialog = new ManageVersionsDialog(this.page);
3842
3848
  }
3843
- RecentFilesPage.pageUrl = 'recent-files';
3844
3849
 
3845
3850
  /*!
3846
3851
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -3866,21 +3871,21 @@ RecentFilesPage.pageUrl = 'recent-files';
3866
3871
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
3867
3872
  */
3868
3873
  class SharedPage extends BasePage {
3874
+ static pageUrl = 'shared';
3869
3875
  constructor(page) {
3870
3876
  super(page, SharedPage.pageUrl);
3871
- this.acaHeader = new AcaHeader(this.page);
3872
- this.matMenu = new MatMenuComponent(this.page);
3873
- this.folderDialog = new AdfFolderDialogComponent(this.page);
3874
- this.dataTable = new DataTableComponent(this.page);
3875
- this.viewer = new ViewerComponent(this.page);
3876
- this.viewerDialog = new ViewerOverlayDialogComponent(this.page);
3877
- this.sidenav = new SidenavComponent(this.page);
3878
- this.breadcrumb = new Breadcrumb(this.page);
3879
- this.infoDrawer = new AdfInfoDrawerComponent(this.page);
3880
- this.manageVersionsDialog = new ManageVersionsDialog(this.page);
3881
3877
  }
3878
+ acaHeader = new AcaHeader(this.page);
3879
+ matMenu = new MatMenuComponent(this.page);
3880
+ folderDialog = new AdfFolderDialogComponent(this.page);
3881
+ dataTable = new DataTableComponent(this.page);
3882
+ viewer = new ViewerComponent(this.page);
3883
+ viewerDialog = new ViewerOverlayDialogComponent(this.page);
3884
+ sidenav = new SidenavComponent(this.page);
3885
+ breadcrumb = new Breadcrumb(this.page);
3886
+ infoDrawer = new AdfInfoDrawerComponent(this.page);
3887
+ manageVersionsDialog = new ManageVersionsDialog(this.page);
3882
3888
  }
3883
- SharedPage.pageUrl = 'shared';
3884
3889
 
3885
3890
  /*!
3886
3891
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -3906,28 +3911,29 @@ SharedPage.pageUrl = 'shared';
3906
3911
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
3907
3912
  */
3908
3913
  class SearchPage extends BasePage {
3914
+ static pageUrl = 'search';
3909
3915
  constructor(page) {
3910
3916
  super(page, SearchPage.pageUrl);
3911
- this.acaHeader = new AcaHeader(this.page);
3912
- this.matMenu = new MatMenuComponent(this.page);
3913
- this.folderDialog = new AdfFolderDialogComponent(this.page);
3914
- this.dataTable = new DataTableComponent(this.page);
3915
- this.viewer = new ViewerComponent(this.page);
3916
- this.searchInput = new SearchInputComponent(this.page);
3917
- this.searchOverlay = new SearchOverlayComponent(this.page);
3918
- this.searchSortingPicker = new SearchSortingPicker(this.page);
3919
- this.searchFilters = new SearchFilters(this.page);
3920
- this.searchFiltersTags = new SearchFiltersTags(this.page);
3921
- this.searchFiltersCategories = new SearchFiltersCategories(this.page);
3922
- this.searchFiltersDate = new SearchFiltersDate(this.page);
3923
- this.searchFiltersLocation = new SearchFiltersLocation(this.page);
3924
- this.searchFiltersProperties = new SearchFiltersProperties(this.page);
3925
- this.searchFiltersLogic = new SearchFiltersLogic(this.page);
3926
- this.sidenav = new SidenavComponent(this.page);
3927
- this.confirmDialogComponent = new AdfConfirmDialogComponent(this.page);
3928
- this.uploadNewVersionDialog = new UploadNewVersionDialog(this.page);
3929
- this.manageVersionsDialog = new ManageVersionsDialog(this.page);
3930
3917
  }
3918
+ acaHeader = new AcaHeader(this.page);
3919
+ matMenu = new MatMenuComponent(this.page);
3920
+ folderDialog = new AdfFolderDialogComponent(this.page);
3921
+ dataTable = new DataTableComponent(this.page);
3922
+ viewer = new ViewerComponent(this.page);
3923
+ searchInput = new SearchInputComponent(this.page);
3924
+ searchOverlay = new SearchOverlayComponent(this.page);
3925
+ searchSortingPicker = new SearchSortingPicker(this.page);
3926
+ searchFilters = new SearchFilters(this.page);
3927
+ searchFiltersTags = new SearchFiltersTags(this.page);
3928
+ searchFiltersCategories = new SearchFiltersCategories(this.page);
3929
+ searchFiltersDate = new SearchFiltersDate(this.page);
3930
+ searchFiltersLocation = new SearchFiltersLocation(this.page);
3931
+ searchFiltersProperties = new SearchFiltersProperties(this.page);
3932
+ searchFiltersLogic = new SearchFiltersLogic(this.page);
3933
+ sidenav = new SidenavComponent(this.page);
3934
+ confirmDialogComponent = new AdfConfirmDialogComponent(this.page);
3935
+ uploadNewVersionDialog = new UploadNewVersionDialog(this.page);
3936
+ manageVersionsDialog = new ManageVersionsDialog(this.page);
3931
3937
  async searchWithin(searchText, searchType) {
3932
3938
  await this.acaHeader.searchButton.click();
3933
3939
  await this.clickSearchButton();
@@ -3954,7 +3960,6 @@ class SearchPage extends BasePage {
3954
3960
  await this.searchInput.searchButton.click({ force: true });
3955
3961
  }
3956
3962
  }
3957
- SearchPage.pageUrl = 'search';
3958
3963
 
3959
3964
  /*!
3960
3965
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -3980,25 +3985,25 @@ SearchPage.pageUrl = 'search';
3980
3985
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
3981
3986
  */
3982
3987
  class FavoritesPage extends BasePage {
3988
+ static pageUrl = 'favorites';
3983
3989
  constructor(page) {
3984
3990
  super(page, FavoritesPage.pageUrl);
3985
- this.acaHeader = new AcaHeader(this.page);
3986
- this.matMenu = new MatMenuComponent(this.page);
3987
- this.folderDialog = new AdfFolderDialogComponent(this.page);
3988
- this.dataTable = new DataTableComponent(this.page);
3989
- this.viewer = new ViewerComponent(this.page);
3990
- this.viewerDialog = new ViewerOverlayDialogComponent(this.page);
3991
- this.sidenav = new SidenavComponent(this.page);
3992
- this.pagination = new PaginationComponent(this.page);
3993
- this.breadcrumb = new Breadcrumb(this.page);
3994
- this.infoDrawer = new AdfInfoDrawerComponent(this.page);
3995
- this.manageVersionsDialog = new ManageVersionsDialog(this.page);
3996
3991
  }
3992
+ acaHeader = new AcaHeader(this.page);
3993
+ matMenu = new MatMenuComponent(this.page);
3994
+ folderDialog = new AdfFolderDialogComponent(this.page);
3995
+ dataTable = new DataTableComponent(this.page);
3996
+ viewer = new ViewerComponent(this.page);
3997
+ viewerDialog = new ViewerOverlayDialogComponent(this.page);
3998
+ sidenav = new SidenavComponent(this.page);
3999
+ pagination = new PaginationComponent(this.page);
4000
+ breadcrumb = new Breadcrumb(this.page);
4001
+ infoDrawer = new AdfInfoDrawerComponent(this.page);
4002
+ manageVersionsDialog = new ManageVersionsDialog(this.page);
3997
4003
  async waitForPageLoad() {
3998
4004
  await this.page.waitForURL(`**/${FavoritesPage.pageUrl}`);
3999
4005
  }
4000
4006
  }
4001
- FavoritesPage.pageUrl = 'favorites';
4002
4007
 
4003
4008
  /*!
4004
4009
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -4024,21 +4029,21 @@ FavoritesPage.pageUrl = 'favorites';
4024
4029
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
4025
4030
  */
4026
4031
  class TrashPage extends BasePage {
4032
+ static pageUrl = 'trashcan';
4027
4033
  constructor(page) {
4028
4034
  super(page, TrashPage.pageUrl);
4029
- this.acaHeader = new AcaHeader(this.page);
4030
- this.matMenu = new MatMenuComponent(this.page);
4031
- this.folderDialog = new AdfFolderDialogComponent(this.page);
4032
- this.dataTable = new DataTableComponent(this.page);
4033
- this.viewer = new ViewerComponent(this.page);
4034
- this.viewerDialog = new ViewerOverlayDialogComponent(this.page);
4035
- this.sidenav = new SidenavComponent(this.page);
4036
- this.breadcrumb = new Breadcrumb(this.page);
4037
- this.pagination = new PaginationComponent(this.page);
4038
- this.deleteDialog = new AdfDeleteTrashComponent(this.page);
4039
4035
  }
4036
+ acaHeader = new AcaHeader(this.page);
4037
+ matMenu = new MatMenuComponent(this.page);
4038
+ folderDialog = new AdfFolderDialogComponent(this.page);
4039
+ dataTable = new DataTableComponent(this.page);
4040
+ viewer = new ViewerComponent(this.page);
4041
+ viewerDialog = new ViewerOverlayDialogComponent(this.page);
4042
+ sidenav = new SidenavComponent(this.page);
4043
+ breadcrumb = new Breadcrumb(this.page);
4044
+ pagination = new PaginationComponent(this.page);
4045
+ deleteDialog = new AdfDeleteTrashComponent(this.page);
4040
4046
  }
4041
- TrashPage.pageUrl = 'trashcan';
4042
4047
 
4043
4048
  /*!
4044
4049
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -4064,19 +4069,19 @@ TrashPage.pageUrl = 'trashcan';
4064
4069
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
4065
4070
  */
4066
4071
  class FavoritesLibrariesPage extends BasePage {
4072
+ static pageUrl = 'favorite/libraries';
4067
4073
  constructor(page) {
4068
4074
  super(page, FavoritesLibrariesPage.pageUrl);
4069
- this.acaHeader = new AcaHeader(this.page);
4070
- this.matMenu = new MatMenuComponent(this.page);
4071
- this.folderDialog = new AdfFolderDialogComponent(this.page);
4072
- this.dataTable = new DataTableComponent(this.page);
4073
- this.viewer = new ViewerComponent(this.page);
4074
- this.viewerDialog = new ViewerOverlayDialogComponent(this.page);
4075
- this.sidenav = new SidenavComponent(this.page);
4076
- this.confirmDialogComponent = new AdfConfirmDialogComponent(this.page);
4077
4075
  }
4076
+ acaHeader = new AcaHeader(this.page);
4077
+ matMenu = new MatMenuComponent(this.page);
4078
+ folderDialog = new AdfFolderDialogComponent(this.page);
4079
+ dataTable = new DataTableComponent(this.page);
4080
+ viewer = new ViewerComponent(this.page);
4081
+ viewerDialog = new ViewerOverlayDialogComponent(this.page);
4082
+ sidenav = new SidenavComponent(this.page);
4083
+ confirmDialogComponent = new AdfConfirmDialogComponent(this.page);
4078
4084
  }
4079
- FavoritesLibrariesPage.pageUrl = 'favorite/libraries';
4080
4085
 
4081
4086
  /*!
4082
4087
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -4392,6 +4397,13 @@ const getGlobalConfig = {
4392
4397
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
4393
4398
  */
4394
4399
  class Person {
4400
+ id;
4401
+ password;
4402
+ firstName;
4403
+ lastName;
4404
+ email;
4405
+ enabled;
4406
+ properties;
4395
4407
  constructor(user) {
4396
4408
  this.id = user.username;
4397
4409
  this.password = user.password || user.username;
@@ -4434,6 +4446,26 @@ const config = {
4434
4446
  contextRoot: 'alfresco'
4435
4447
  };
4436
4448
  class ApiClientFactory {
4449
+ alfrescoApi;
4450
+ sites;
4451
+ upload;
4452
+ nodes;
4453
+ people;
4454
+ adminUsers;
4455
+ adminTenant;
4456
+ groups;
4457
+ queries;
4458
+ search;
4459
+ securityGroupsApi;
4460
+ securityMarksApi;
4461
+ contentClient;
4462
+ share;
4463
+ favorites;
4464
+ trashCan;
4465
+ commentsApi;
4466
+ queriesApi;
4467
+ categoriesApi;
4468
+ tagsApi;
4437
4469
  constructor() {
4438
4470
  this.alfrescoApi = new AlfrescoApi(config);
4439
4471
  }
@@ -4534,6 +4566,7 @@ class ApiClientFactory {
4534
4566
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
4535
4567
  */
4536
4568
  class RulesApi {
4569
+ apiService;
4537
4570
  constructor() {
4538
4571
  this.apiService = new ApiClientFactory();
4539
4572
  }
@@ -4672,92 +4705,96 @@ class RulesApi {
4672
4705
  }
4673
4706
  }
4674
4707
  class ActionTypes {
4708
+ key;
4709
+ value;
4710
+ static ADDFEATURES = new ActionTypes('ADDFEATURES', {
4711
+ actionDefinitionId: 'add-features',
4712
+ params: { 'aspect-name': 'cm:thumbnailed' }
4713
+ });
4714
+ static CHECKIN = new ActionTypes('CHECKIN', {
4715
+ actionDefinitionId: 'check-in',
4716
+ params: {
4717
+ description: 'test',
4718
+ minorChange: true
4719
+ }
4720
+ });
4721
+ static SPECIALISETYPE = new ActionTypes('SPECIALISETYPE', {
4722
+ actionDefinitionId: 'specialise-type',
4723
+ params: { 'type-name': 'sys:base' }
4724
+ });
4725
+ static RECORDABLEVERSION = new ActionTypes('RECORDABLEVERSION', {
4726
+ actionDefinitionId: 'recordable-version-config',
4727
+ params: { version: 'ALL' }
4728
+ });
4729
+ static SETPROPERTYVALUE = new ActionTypes('SETPROPERTYVALUE', {
4730
+ actionDefinitionId: 'set-property-value',
4731
+ params: { property: 'dl:ganttPercentComplete', value: 'test' }
4732
+ });
4733
+ static actions = [
4734
+ ActionTypes.ADDFEATURES.value,
4735
+ ActionTypes.CHECKIN.value,
4736
+ ActionTypes.RECORDABLEVERSION.value,
4737
+ ActionTypes.SPECIALISETYPE.value,
4738
+ ActionTypes.SETPROPERTYVALUE.value
4739
+ ];
4675
4740
  constructor(key, value) {
4676
4741
  this.key = key;
4677
4742
  this.value = value;
4678
4743
  }
4679
4744
  }
4680
- ActionTypes.ADDFEATURES = new ActionTypes('ADDFEATURES', {
4681
- actionDefinitionId: 'add-features',
4682
- params: { 'aspect-name': 'cm:thumbnailed' }
4683
- });
4684
- ActionTypes.CHECKIN = new ActionTypes('CHECKIN', {
4685
- actionDefinitionId: 'check-in',
4686
- params: {
4687
- description: 'test',
4688
- minorChange: true
4689
- }
4690
- });
4691
- ActionTypes.SPECIALISETYPE = new ActionTypes('SPECIALISETYPE', {
4692
- actionDefinitionId: 'specialise-type',
4693
- params: { 'type-name': 'sys:base' }
4694
- });
4695
- ActionTypes.RECORDABLEVERSION = new ActionTypes('RECORDABLEVERSION', {
4696
- actionDefinitionId: 'recordable-version-config',
4697
- params: { version: 'ALL' }
4698
- });
4699
- ActionTypes.SETPROPERTYVALUE = new ActionTypes('SETPROPERTYVALUE', {
4700
- actionDefinitionId: 'set-property-value',
4701
- params: { property: 'dl:ganttPercentComplete', value: 'test' }
4702
- });
4703
- ActionTypes.actions = [
4704
- ActionTypes.ADDFEATURES.value,
4705
- ActionTypes.CHECKIN.value,
4706
- ActionTypes.RECORDABLEVERSION.value,
4707
- ActionTypes.SPECIALISETYPE.value,
4708
- ActionTypes.SETPROPERTYVALUE.value
4709
- ];
4710
4745
  class ConditionsTypes {
4746
+ key;
4747
+ value;
4748
+ static MIMETYPE = new ConditionsTypes('MIMETYPE', {
4749
+ inverted: false,
4750
+ booleanMode: 'and',
4751
+ simpleConditions: [
4752
+ {
4753
+ field: 'mimetype',
4754
+ comparator: 'equals',
4755
+ parameter: 'video/3gpp'
4756
+ }
4757
+ ]
4758
+ });
4759
+ static CMNAME = new ConditionsTypes('CM:NAME', {
4760
+ inverted: false,
4761
+ booleanMode: 'and',
4762
+ simpleConditions: [
4763
+ {
4764
+ field: 'cm:name',
4765
+ comparator: 'equals',
4766
+ parameter: 'testname'
4767
+ }
4768
+ ]
4769
+ });
4770
+ static SIZE = new ConditionsTypes('SIZE', {
4771
+ inverted: false,
4772
+ booleanMode: 'and',
4773
+ simpleConditions: [
4774
+ {
4775
+ field: 'size',
4776
+ comparator: 'equals',
4777
+ parameter: '345'
4778
+ }
4779
+ ]
4780
+ });
4781
+ static TAG = new ConditionsTypes('TAG', {
4782
+ inverted: false,
4783
+ booleanMode: 'and',
4784
+ simpleConditions: [
4785
+ {
4786
+ field: 'tag',
4787
+ comparator: 'equals',
4788
+ parameter: 'testtag'
4789
+ }
4790
+ ]
4791
+ });
4792
+ static conditions = [ConditionsTypes.MIMETYPE.value, ConditionsTypes.CMNAME.value, ConditionsTypes.SIZE.value, ConditionsTypes.TAG.value];
4711
4793
  constructor(key, value) {
4712
4794
  this.key = key;
4713
4795
  this.value = value;
4714
4796
  }
4715
4797
  }
4716
- ConditionsTypes.MIMETYPE = new ConditionsTypes('MIMETYPE', {
4717
- inverted: false,
4718
- booleanMode: 'and',
4719
- simpleConditions: [
4720
- {
4721
- field: 'mimetype',
4722
- comparator: 'equals',
4723
- parameter: 'video/3gpp'
4724
- }
4725
- ]
4726
- });
4727
- ConditionsTypes.CMNAME = new ConditionsTypes('CM:NAME', {
4728
- inverted: false,
4729
- booleanMode: 'and',
4730
- simpleConditions: [
4731
- {
4732
- field: 'cm:name',
4733
- comparator: 'equals',
4734
- parameter: 'testname'
4735
- }
4736
- ]
4737
- });
4738
- ConditionsTypes.SIZE = new ConditionsTypes('SIZE', {
4739
- inverted: false,
4740
- booleanMode: 'and',
4741
- simpleConditions: [
4742
- {
4743
- field: 'size',
4744
- comparator: 'equals',
4745
- parameter: '345'
4746
- }
4747
- ]
4748
- });
4749
- ConditionsTypes.TAG = new ConditionsTypes('TAG', {
4750
- inverted: false,
4751
- booleanMode: 'and',
4752
- simpleConditions: [
4753
- {
4754
- field: 'tag',
4755
- comparator: 'equals',
4756
- parameter: 'testtag'
4757
- }
4758
- ]
4759
- });
4760
- ConditionsTypes.conditions = [ConditionsTypes.MIMETYPE.value, ConditionsTypes.CMNAME.value, ConditionsTypes.SIZE.value, ConditionsTypes.TAG.value];
4761
4798
 
4762
4799
  /*!
4763
4800
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -4783,6 +4820,7 @@ ConditionsTypes.conditions = [ConditionsTypes.MIMETYPE.value, ConditionsTypes.CM
4783
4820
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
4784
4821
  */
4785
4822
  class FileActionsApi {
4823
+ apiService;
4786
4824
  constructor() {
4787
4825
  this.apiService = new ApiClientFactory();
4788
4826
  }
@@ -4945,6 +4983,7 @@ class FileActionsApi {
4945
4983
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
4946
4984
  */
4947
4985
  class SharedLinksApi {
4986
+ apiService;
4948
4987
  constructor() {
4949
4988
  this.apiService = new ApiClientFactory();
4950
4989
  }
@@ -5078,6 +5117,7 @@ class SharedLinksApi {
5078
5117
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
5079
5118
  */
5080
5119
  class FavoritesPageApi {
5120
+ apiService;
5081
5121
  constructor() {
5082
5122
  this.apiService = new ApiClientFactory();
5083
5123
  }
@@ -5271,6 +5311,7 @@ function flattenNodeContentTree(content, relativePath = '/') {
5271
5311
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
5272
5312
  */
5273
5313
  class NodesApi {
5314
+ apiService;
5274
5315
  constructor() {
5275
5316
  this.apiService = new ApiClientFactory();
5276
5317
  }
@@ -5610,7 +5651,7 @@ class NodesApi {
5610
5651
  }
5611
5652
  }
5612
5653
  async createLinkToFileName(originalFileName, originalFileParentId, destinationParentId) {
5613
- destinationParentId ?? (destinationParentId = originalFileParentId);
5654
+ destinationParentId ??= originalFileParentId;
5614
5655
  try {
5615
5656
  const nodeId = await this.getNodeIdFromParent(originalFileName, originalFileParentId);
5616
5657
  return this.createFileLink(nodeId, destinationParentId);
@@ -5621,7 +5662,7 @@ class NodesApi {
5621
5662
  }
5622
5663
  }
5623
5664
  async createLinkToFolderName(originalFolderName, originalFolderParentId, destinationParentId) {
5624
- destinationParentId ?? (destinationParentId = originalFolderParentId);
5665
+ destinationParentId ??= originalFolderParentId;
5625
5666
  try {
5626
5667
  const nodeId = await this.getNodeIdFromParent(originalFolderName, originalFolderParentId);
5627
5668
  return this.createFolderLink(nodeId, destinationParentId);
@@ -5696,6 +5737,7 @@ class NodesApi {
5696
5737
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
5697
5738
  */
5698
5739
  class SitesApi {
5740
+ apiService;
5699
5741
  constructor() {
5700
5742
  this.apiService = new ApiClientFactory();
5701
5743
  }
@@ -5849,6 +5891,7 @@ class SitesApi {
5849
5891
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
5850
5892
  */
5851
5893
  class SearchPageApi {
5894
+ apiService;
5852
5895
  constructor() {
5853
5896
  this.apiService = new ApiClientFactory();
5854
5897
  }
@@ -5920,9 +5963,7 @@ class SearchPageApi {
5920
5963
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
5921
5964
  */
5922
5965
  class TrashcanApi {
5923
- constructor() {
5924
- this.apiService = new ApiClientFactory();
5925
- }
5966
+ apiService = new ApiClientFactory();
5926
5967
  static async initialize(userName, password) {
5927
5968
  const classObj = new TrashcanApi();
5928
5969
  await classObj.apiService.setUpAcaBackend(userName, password);
@@ -5973,6 +6014,7 @@ class TrashcanApi {
5973
6014
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
5974
6015
  */
5975
6016
  class QueriesApi {
6017
+ apiService;
5976
6018
  constructor() {
5977
6019
  this.apiService = new ApiClientFactory();
5978
6020
  }
@@ -6040,6 +6082,7 @@ class QueriesApi {
6040
6082
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
6041
6083
  */
6042
6084
  class CategoriesApi {
6085
+ apiService;
6043
6086
  constructor() {
6044
6087
  this.apiService = new ApiClientFactory();
6045
6088
  }
@@ -6104,6 +6147,7 @@ class CategoriesApi {
6104
6147
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
6105
6148
  */
6106
6149
  class TagsApi {
6150
+ apiService;
6107
6151
  constructor() {
6108
6152
  this.apiService = new ApiClientFactory();
6109
6153
  }
@@ -6196,11 +6240,17 @@ function generateRandomCharset(length = 8, charSet) {
6196
6240
  return text;
6197
6241
  }
6198
6242
  class UserModel {
6243
+ firstName = generateRandomCharset(7, LOWER_CASE_ALPHA);
6244
+ lastName = generateRandomCharset(7, LOWER_CASE_ALPHA);
6245
+ password = generateRandomCharset(7, LOWER_CASE_ALPHA);
6246
+ email;
6247
+ username;
6248
+ idIdentityService;
6249
+ type = 'enterprise';
6250
+ tenantId;
6251
+ company;
6252
+ id;
6199
6253
  constructor(details = {}) {
6200
- this.firstName = generateRandomCharset(7, LOWER_CASE_ALPHA);
6201
- this.lastName = generateRandomCharset(7, LOWER_CASE_ALPHA);
6202
- this.password = generateRandomCharset(7, LOWER_CASE_ALPHA);
6203
- this.type = 'enterprise';
6204
6254
  const EMAIL_DOMAIN = 'alfresco';
6205
6255
  this.firstName = details.firstName ?? this.firstName;
6206
6256
  this.lastName = details.lastName ?? this.lastName;