@digital-ai/devops-page-object-release 0.0.0-snapshot-20251031105320 → 0.0.0-snapshot-20251106120802

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.
package/dist/module.js CHANGED
@@ -73,6 +73,12 @@ class $05d91a1d3381a287$export$34addcca3f0ae43f extends (0, $9626bc9256ce31f7$ex
73
73
  await this.page.getByPlaceholder("No template").fill(templateName);
74
74
  await this.page.getByText(templateName).click();
75
75
  }
76
+ async selectFolder(folderName) {
77
+ await this.page.locator("div.xl__value-container div.xl__placeholder").click();
78
+ await this.page.locator("div.xl__value-container").click();
79
+ await this.page.locator('input[id^="react-select"][type="text"]').fill(folderName);
80
+ await this.page.getByLabel("grid").getByText(folderName).click();
81
+ }
76
82
  async removeTemplate() {
77
83
  await this.page.locator(".template-select .close-icon").click();
78
84
  }
@@ -122,18 +128,52 @@ class $05d91a1d3381a287$export$34addcca3f0ae43f extends (0, $9626bc9256ce31f7$ex
122
128
 
123
129
 
124
130
 
125
- class $b34a21212642e54d$export$7034f81075184002 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
131
+
132
+ class $59c1d01bded91449$export$48c33d2414f51608 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
126
133
  constructor(page){
127
134
  super(page);
128
135
  }
129
136
  getHeaderSelector() {
130
- return ".release-list-header";
137
+ return ".filter-title-search";
131
138
  }
132
139
  getBaseDrawerSelector() {
133
- return `${this.getHeaderSelector()} .filter-drawer`;
140
+ return '.filter-drawer div[role="dialog"]';
141
+ }
142
+ getTitleInputSelector() {
143
+ return `${this.getHeaderSelector()} input#title-filter`;
144
+ }
145
+ async openFilterDrawer() {
146
+ await this.page.locator(`${this.getHeaderSelector()} button`, {
147
+ hasText: "Filters"
148
+ }).click();
149
+ await (0, $hOLA6$expect)(this.page.locator(this.getBaseDrawerSelector())).toBeVisible();
150
+ return this;
151
+ }
152
+ async closeFilterDrawer() {
153
+ await this.page.locator(`${this.getBaseDrawerSelector()} .dot-icon-btn[data-testid="close-btn"]`).click();
154
+ await (0, $hOLA6$expect)(this.page.locator(this.getBaseDrawerSelector())).not.toBeVisible();
155
+ return this;
134
156
  }
135
- getFilterDrawerSelector() {
136
- return `${this.getBaseDrawerSelector()} div[role="dialog"]`;
157
+ async clearTitleFilter() {
158
+ await this.page.locator(this.getTitleInputSelector()).fill("");
159
+ return this;
160
+ }
161
+ async clearAllFilters() {
162
+ await this.page.locator(`.filter-row button[data-testid="clear-all-btn"]`).click();
163
+ return this;
164
+ }
165
+ async filterByTitle(releaseTitle) {
166
+ await this.page.locator(this.getTitleInputSelector()).fill(releaseTitle);
167
+ }
168
+ async clearFilterTitle() {
169
+ await this.page.locator(this.getTitleInputSelector()).clear();
170
+ }
171
+ }
172
+
173
+
174
+ class $b34a21212642e54d$export$7034f81075184002 extends (0, $59c1d01bded91449$export$48c33d2414f51608) {
175
+ constructor(page){
176
+ super(page);
137
177
  }
138
178
  getStatusInputSelector() {
139
179
  return `${this.getBaseDrawerSelector()} input#release-status-filter-autocomplete`;
@@ -144,9 +184,6 @@ class $b34a21212642e54d$export$7034f81075184002 extends (0, $9626bc9256ce31f7$ex
144
184
  getSelectAllStatusesButtonSelector() {
145
185
  return `${this.getBasePopperSelector()} button[data-testid="dot-action-item-btn"]`;
146
186
  }
147
- getTitleInputSelector() {
148
- return `${this.getHeaderSelector()} input#title-filter`;
149
- }
150
187
  getRiskLevelInputSelector() {
151
188
  return `${this.getBaseDrawerSelector()} input#risk`;
152
189
  }
@@ -185,27 +222,7 @@ class $b34a21212642e54d$export$7034f81075184002 extends (0, $9626bc9256ce31f7$ex
185
222
  return this;
186
223
  }
187
224
  async filterReleaseByTitle(releaseTitle) {
188
- await this.page.locator(this.getTitleInputSelector()).fill(releaseTitle);
189
- }
190
- async clearTitleFilter() {
191
- await this.page.locator(this.getTitleInputSelector()).fill("");
192
- return this;
193
- }
194
- async openFilterDrawer() {
195
- await this.page.locator(`${this.getHeaderSelector()} button`, {
196
- hasText: "Filters"
197
- }).click();
198
- await (0, $hOLA6$expect)(this.page.locator(this.getFilterDrawerSelector())).toBeVisible();
199
- return this;
200
- }
201
- async closeFilterDrawer() {
202
- await this.page.locator(`${this.getBaseDrawerSelector()} .dot-icon-btn[data-testid="close-btn"]`).click();
203
- await (0, $hOLA6$expect)(this.page.locator(this.getFilterDrawerSelector())).not.toBeVisible();
204
- return this;
205
- }
206
- async clearAllFilters() {
207
- await this.page.locator(`${this.getHeaderSelector()} .filter-row button[data-testid="clear-all-btn"]`).click();
208
- return this;
225
+ await this.filterByTitle(releaseTitle);
209
226
  }
210
227
  async clearAllStatusFilters() {
211
228
  await this.page.locator(this.getStatusInputSelector()).click();
@@ -1370,6 +1387,9 @@ class $90bb70a7e909e500$export$519356f6c50361f7 extends (0, $9626bc9256ce31f7$ex
1370
1387
  async expectRiskProfileValue(value) {
1371
1388
  await (0, $hOLA6$expect)(this.railLocator.locator("#riskProfileId")).toHaveValue(value);
1372
1389
  }
1390
+ async expectServerFieldValue(label, value) {
1391
+ await (0, $hOLA6$expect)(this.railLocator.getByTestId("jiraServer-input")).toHaveValue(value);
1392
+ }
1373
1393
  async expectTo(value) {
1374
1394
  return await (0, $hOLA6$expect)(this.railLocator.getByTestId(`dot-autocomplete-chip`)).toHaveText(value);
1375
1395
  }
@@ -2198,7 +2218,7 @@ class $8e39246218b802fc$export$e946776eae644790 extends (0, $9626bc9256ce31f7$ex
2198
2218
  this.taskDrawerLocator = this.page.locator("task-drawer .dot-drawer");
2199
2219
  }
2200
2220
  async waitForTaskDrawer() {
2201
- const handle = await this.page.locator(".dot-drawer-paper").elementHandle();
2221
+ const handle = await this.page.locator("task-drawer .dot-drawer-paper").elementHandle();
2202
2222
  await handle?.waitForElementState("stable");
2203
2223
  }
2204
2224
  async openOverviewRail() {
@@ -2367,10 +2387,10 @@ class $8e39246218b802fc$export$e946776eae644790 extends (0, $9626bc9256ce31f7$ex
2367
2387
  await (0, $hOLA6$expect)(this.page.locator(".user-task-assigned-wrapper .clickable-avatar")).toBeVisible();
2368
2388
  }
2369
2389
  async removeAssignToUser(userName) {
2370
- await this.page.getByRole("button", {
2390
+ await this.taskDrawerLocator.getByRole("button", {
2371
2391
  name: userName
2372
2392
  }).click();
2373
- await this.page.getByRole("button", {
2393
+ await this.taskDrawerLocator.getByRole("button", {
2374
2394
  name: "Clear"
2375
2395
  }).click();
2376
2396
  return this;
@@ -2387,7 +2407,7 @@ class $8e39246218b802fc$export$e946776eae644790 extends (0, $9626bc9256ce31f7$ex
2387
2407
  }
2388
2408
  async removeAssignedTeam(teamName) {
2389
2409
  await this.page.locator(".team-task-assigned-wrapper .editable").getByText(teamName).click();
2390
- await this.page.getByRole("button", {
2410
+ await this.taskDrawerLocator.getByRole("button", {
2391
2411
  name: "Clear"
2392
2412
  }).click();
2393
2413
  return this;
@@ -2476,6 +2496,7 @@ class $8e39246218b802fc$export$e946776eae644790 extends (0, $9626bc9256ce31f7$ex
2476
2496
 
2477
2497
 
2478
2498
 
2499
+
2479
2500
  class $a546aadb4e6fa16a$export$5a82be0a2a261cc6 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
2480
2501
  constructor(page){
2481
2502
  super(page);
@@ -2488,6 +2509,19 @@ class $a546aadb4e6fa16a$export$5a82be0a2a261cc6 extends (0, $9626bc9256ce31f7$ex
2488
2509
  async disableShowDates() {
2489
2510
  await this.page.locator("#toggleIsDatesColumnsShown").uncheck();
2490
2511
  }
2512
+ async expectStartDateDisplayed(name, date) {
2513
+ const formattedDate = (0, $hOLA6$moment)(date).format("M/D/YY");
2514
+ const inputLocator = this.page.locator(".gantt_row", {
2515
+ hasText: name
2516
+ }).locator('.gantt_cell input[type="text"]').first(); // assumes start date is the first text input
2517
+ await (0, $hOLA6$expect)(inputLocator).toHaveValue(formattedDate);
2518
+ }
2519
+ async clickOnReleaseName(releaseName) {
2520
+ await this.page.getByRole("link", {
2521
+ name: releaseName
2522
+ }).click();
2523
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText(releaseName)).toBeVisible();
2524
+ }
2491
2525
  async expectPlanningDataColumnsHidden() {
2492
2526
  (0, $hOLA6$expect)(await this.page.locator(`#gantt .gantt_grid_data .gantt_row`).first().locator(`.gantt_cell`).count()).toEqual(1);
2493
2527
  }
@@ -2944,9 +2978,20 @@ class $96c6280ff1c47b81$export$3bc3e140e0dcb075 extends (0, $9626bc9256ce31f7$ex
2944
2978
  const releaseAdminRow = this.page.locator("#teams-permissions-table tr", {
2945
2979
  hasText: teamName
2946
2980
  });
2947
- await (0, $hOLA6$expect)(releaseAdminRow.locator("span.tag-wrapper.tag-label", {
2948
- hasText: userName
2949
- })).toBeVisible();
2981
+ await releaseAdminRow.first().waitFor({
2982
+ state: "visible",
2983
+ timeout: 4000
2984
+ });
2985
+ const userTag = releaseAdminRow.locator(`text=${userName}`);
2986
+ await (0, $hOLA6$expect)(userTag).toBeVisible({
2987
+ timeout: 4000
2988
+ });
2989
+ }
2990
+ async expectTeamContains(teamName, ...members) {
2991
+ const teamEditor = this.page.locator("tr", {
2992
+ hasText: teamName
2993
+ });
2994
+ for (const member of members)await (0, $hOLA6$expect)(teamEditor.locator(`text=${member}`)).toBeVisible();
2950
2995
  }
2951
2996
  async openSubPage(subpage) {
2952
2997
  await this.page.locator("ul.side-nav li", {
@@ -3395,6 +3440,19 @@ class $87bbb6d35ad31a00$export$f8f26dd395d7e1bd extends (0, $9626bc9256ce31f7$ex
3395
3440
  }
3396
3441
 
3397
3442
 
3443
+
3444
+
3445
+ class $1161451ccf0a4615$export$46146ef3ab8c339b extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
3446
+ constructor(page){
3447
+ super(page);
3448
+ }
3449
+ // Validate that release status contains the given text
3450
+ async expectReleaseStatusToContain(status) {
3451
+ await (0, $hOLA6$expect)(this.page.locator(".release-status")).toContainText(status);
3452
+ }
3453
+ }
3454
+
3455
+
3398
3456
  class $43cbcdfccb6c2a76$export$f43492e8ac3c566 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
3399
3457
  defaultTimeout = 10000;
3400
3458
  constructor(page){
@@ -3402,6 +3460,7 @@ class $43cbcdfccb6c2a76$export$f43492e8ac3c566 extends (0, $9626bc9256ce31f7$exp
3402
3460
  this.addPhaseBtn = this.page.getByTestId("add-phase-btn");
3403
3461
  this.createPage = new (0, $05d91a1d3381a287$export$34addcca3f0ae43f)(page);
3404
3462
  this.ganttPage = new (0, $a546aadb4e6fa16a$export$5a82be0a2a261cc6)(page);
3463
+ this.summaryPage = new (0, $1161451ccf0a4615$export$46146ef3ab8c339b)(page);
3405
3464
  this.tableView = new (0, $19b7e7e46cfe3be0$export$649fde34d823ece7)(page);
3406
3465
  this.taskDrawer = new (0, $8e39246218b802fc$export$e946776eae644790)(page);
3407
3466
  this.teamsPermissions = new (0, $96c6280ff1c47b81$export$3bc3e140e0dcb075)(page);
@@ -3414,6 +3473,10 @@ class $43cbcdfccb6c2a76$export$f43492e8ac3c566 extends (0, $9626bc9256ce31f7$exp
3414
3473
  await this.openSubPage("Triggers");
3415
3474
  return new (0, $862f65268e488e83$export$fb932093f944abe4)(this.page);
3416
3475
  }
3476
+ async openSummary() {
3477
+ this.openSubPage("Dashboard");
3478
+ return new (0, $1161451ccf0a4615$export$46146ef3ab8c339b)(this.page);
3479
+ }
3417
3480
  async abort(comment = "Abort for testing") {
3418
3481
  await this.page.getByTestId("abort-btn").waitFor();
3419
3482
  await this.page.getByTestId("abort-btn").click();
@@ -6833,13 +6896,23 @@ class $f48771b486a3eb8f$var$DeleteVariableModel extends (0, $9626bc9256ce31f7$ex
6833
6896
 
6834
6897
 
6835
6898
 
6836
- class $c37c93912f458e81$export$60c3bfa6385e2a10 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
6899
+
6900
+ class $c37c93912f458e81$export$60c3bfa6385e2a10 extends (0, $59c1d01bded91449$export$48c33d2414f51608) {
6837
6901
  constructor(page){
6838
6902
  super(page);
6839
6903
  this.commentBox = this.page.locator(`.input-block-level`);
6840
6904
  this.gridView = new $c37c93912f458e81$var$GridView(page);
6841
6905
  this.taskDrawer = new (0, $8e39246218b802fc$export$e946776eae644790)(page);
6842
6906
  }
6907
+ getBasePopperSelector() {
6908
+ return '.dot-popper[role="presentation"]';
6909
+ }
6910
+ getSelectAllStatusesButtonSelector() {
6911
+ return `${this.getBasePopperSelector()} button[data-testid="dot-action-item-btn"]`;
6912
+ }
6913
+ getStatusInputSelector() {
6914
+ return `${this.getBaseDrawerSelector()} input#task-status-filter-autocomplete`;
6915
+ }
6843
6916
  async openTask(taskName) {
6844
6917
  await this.filterTaskByTitle(taskName);
6845
6918
  await this.page.getByText(taskName).first().click();
@@ -6905,9 +6978,7 @@ class $c37c93912f458e81$export$60c3bfa6385e2a10 extends (0, $9626bc9256ce31f7$ex
6905
6978
  await this.taskDrawer.waitForTaskDrawer();
6906
6979
  }
6907
6980
  async filterTaskByTitle(taskname) {
6908
- await this.page.locator(".searchFilter").click();
6909
- await this.page.locator(".searchFilter").fill(taskname);
6910
- await this.page.locator(".searchFilter").press("Enter");
6981
+ await this.filterByTitle(taskname);
6911
6982
  await (0, $hOLA6$expect)(this.page.locator("//div[@data-task-title]").filter({
6912
6983
  hasText: taskname
6913
6984
  }).first()).toBeVisible();
@@ -6952,13 +7023,13 @@ class $c37c93912f458e81$export$60c3bfa6385e2a10 extends (0, $9626bc9256ce31f7$ex
6952
7023
  await this.page.locator(`.btn-group-filter.btn-group button.btn.btn-flat[title="${title}"]`).click();
6953
7024
  }
6954
7025
  async clickOnAssignedToMe() {
6955
- await this.page.locator(`button[title="Assigned to me"]`).click();
7026
+ await this.page.locator(`input[value="assignedToMe"]`).click();
6956
7027
  }
6957
7028
  async clickOnAssignedToMyTeams() {
6958
- await this.page.locator(`button[title="Assigned to my teams"]`).click();
7029
+ await this.page.locator(`input[value="assignedToMyTeams"]`).click();
6959
7030
  }
6960
7031
  async clickOnAssignedToAllAvailable() {
6961
- await this.page.locator(`button[title="All available"]`).click();
7032
+ await this.page.locator(`input[value="assignedToAnybody"]`).click();
6962
7033
  }
6963
7034
  async expectTaskToNotBeDisplayed(taskTitle) {
6964
7035
  await (0, $hOLA6$expect)(this.page.locator(`.row.task-inner`).filter({
@@ -6988,38 +7059,30 @@ class $c37c93912f458e81$export$60c3bfa6385e2a10 extends (0, $9626bc9256ce31f7$ex
6988
7059
  await (0, $hOLA6$expect)(this.page.locator(`#tasks-content #task-list-grouped-view div:has-text('${releaseTitle}') .task`)).toHaveCount(expectedCount);
6989
7060
  }
6990
7061
  async setSearchFilter(filterText) {
6991
- await this.page.locator(".searchFilter").fill(filterText);
7062
+ await this.filterByTitle(filterText);
6992
7063
  }
6993
7064
  async clearSearchFilter() {
6994
- await this.page.locator(".searchFilter").clear();
7065
+ await this.clearFilterTitle();
6995
7066
  }
6996
7067
  async setTagsFilter(filterText) {
6997
- await this.page.locator(".tag-input").fill(filterText);
6998
- await this.page.locator(".tag-input").press("Enter");
7068
+ await this.page.locator("input#task-tags").click();
7069
+ await this.page.locator("input#task-tags").fill(filterText);
7070
+ await this.page.locator("input#task-tags").press("Enter");
6999
7071
  }
7000
- async clickOnStatusField() {
7001
- await this.page.locator(".ci-filter-status.ng-isolate-scope").click();
7072
+ async clearAllStatusFilters() {
7073
+ await this.page.locator(this.getStatusInputSelector()).click();
7074
+ await this.page.locator(`${this.getBaseDrawerSelector()} div.filter-task-status-autocomplete button[title="Clear"]`).click();
7075
+ return this;
7002
7076
  }
7003
7077
  async clickOnStatus(statusNames) {
7004
- await this.clickOnStatusClearAll();
7005
- await this.clickOnStatusField();
7006
- for(let i = 0; i < statusNames.length; i++)await this.page.locator(`i.xl-icon.icon-s.checkbox[data='${statusNames[i]}']`).click();
7007
- // Clicking outside to close the grid dropdown
7008
- await this.clickOnTasksLabel();
7009
- }
7010
- async clickOnStatusClearAll() {
7011
- await this.clickOnStatusField();
7012
- await this.page.locator("a.xl-react-link", {
7013
- hasText: "Clear all"
7078
+ await this.clearAllStatusFilters();
7079
+ for(let i = 0; i < statusNames.length; i++)await this.page.locator("li", {
7080
+ hasText: statusNames[i]
7014
7081
  }).click();
7015
- await this.clickOnTasksLabel();
7016
7082
  }
7017
7083
  async clickOnStatusSelectAll() {
7018
- await this.clickOnStatusField();
7019
- await this.page.locator("a.xl-react-link", {
7020
- hasText: "Select all"
7021
- }).click();
7022
- await this.clickOnTasksLabel();
7084
+ await this.page.locator(this.getStatusInputSelector()).click();
7085
+ await this.page.locator(this.getSelectAllStatusesButtonSelector()).click();
7023
7086
  }
7024
7087
  async assignTaskToMe(title) {
7025
7088
  await this.page.locator(`.task-line`).filter({
@@ -7036,35 +7099,22 @@ class $c37c93912f458e81$export$60c3bfa6385e2a10 extends (0, $9626bc9256ce31f7$ex
7036
7099
  async expectTaskTitle(taskTitle) {
7037
7100
  await (0, $hOLA6$expect)(this.page.locator("#tasks0")).toContainText(taskTitle);
7038
7101
  }
7039
- async clickOnTasksLabel() {
7040
- await this.page.getByLabel("breadcrumb").getByText("Tasks").click();
7041
- }
7042
7102
  async expectGroupView(expected = true) {
7043
7103
  if (expected) {
7044
- await (0, $hOLA6$expect)(this.page.locator("#group-tasks-by-release")).toBeChecked();
7104
+ await (0, $hOLA6$expect)(this.page.locator('input[aria-label="Group by release"]')).toBeChecked();
7045
7105
  await (0, $hOLA6$expect)(this.page.locator("#task-list-grouped-view")).toBeVisible();
7046
7106
  await (0, $hOLA6$expect)(this.page.locator("#task-ungrouped-view")).not.toBeVisible();
7047
7107
  } else {
7048
- await (0, $hOLA6$expect)(this.page.locator("#group-tasks-by-release")).not.toBeChecked();
7108
+ await (0, $hOLA6$expect)(this.page.locator('input[aria-label="Group by release"]')).not.toBeChecked();
7049
7109
  await (0, $hOLA6$expect)(this.page.locator("#task-list-grouped-view")).not.toBeVisible();
7050
7110
  await (0, $hOLA6$expect)(this.page.locator("#task-ungrouped-view")).toBeVisible();
7051
7111
  }
7052
7112
  }
7053
7113
  async changeGroupView() {
7054
- await this.page.locator("#group-tasks-by-release").click();
7055
- }
7056
- async enableGroupByReleaseView() {
7057
- await this.page.getByRole("checkbox", {
7058
- name: "Group by release"
7059
- }).check();
7060
- }
7061
- async disableGroupByReleaseView() {
7062
- await this.page.getByRole("checkbox", {
7063
- name: "Group by release"
7064
- }).uncheck();
7114
+ await this.page.locator('input[aria-label="Group by release"]').click();
7065
7115
  }
7066
7116
  async switchToGridView() {
7067
- await this.page.locator(".xl-icon.grid-icon").click();
7117
+ await this.page.locator('button[aria-label="grid view"]').click();
7068
7118
  return this.gridView;
7069
7119
  }
7070
7120
  }
@@ -7761,7 +7811,7 @@ class $171d52b372748c0b$export$7e1d435fa474ee21 extends (0, $9626bc9256ce31f7$ex
7761
7811
  async clickNewReleaseIcon(templateName) {
7762
7812
  await this.page.locator("xlr-template-row-component").filter({
7763
7813
  hasText: templateName
7764
- }).locator(".link .add-icon").click();
7814
+ }).locator(".link .add-icon").first().click();
7765
7815
  await (0, $hOLA6$expect)(this.page.getByRole("heading", {
7766
7816
  name: "Create new release"
7767
7817
  })).toBeVisible();
@@ -9096,6 +9146,7 @@ class $2c3301798e261060$export$8da2fa93430be6ca extends (0, $9626bc9256ce31f7$ex
9096
9146
 
9097
9147
 
9098
9148
 
9149
+
9099
9150
  class $e72552cbf941ecfa$export$b8a61e5c71402559 {
9100
9151
  constructor(page){
9101
9152
  this.page = page;
@@ -9108,6 +9159,7 @@ class $e72552cbf941ecfa$export$b8a61e5c71402559 {
9108
9159
  this.header = new (0, $aa1ba8c8de3c0679$export$2fb4351c41ce6e7a)(page);
9109
9160
  this.managePluginsPage = new (0, $ecd0868a4240184d$export$7b434e00c788d0bf)(page);
9110
9161
  this.releasePage = new (0, $43cbcdfccb6c2a76$export$f43492e8ac3c566)(page);
9162
+ this.summaryPage = new (0, $1161451ccf0a4615$export$46146ef3ab8c339b)(page);
9111
9163
  this.settingsMenu = new (0, $f1bf370bb7f683ca$export$1d7840d5cdc861d5)(page);
9112
9164
  this.systemSettingsPage = new (0, $2cbb78eec86d0a9f$export$2edf430132ca35d0)(page);
9113
9165
  this.usersPage = new (0, $2cb6a6ac6b17e85f$export$107317390f5aa598)(page);