@onecx/angular-accelerator 7.0.0-rc.9 → 7.0.1
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/assets/i18n/de.json +10 -6
- package/assets/i18n/en.json +10 -6
- package/assets/i18n/primeng/de.json +5 -2
- package/assets/i18n/primeng/en.json +4 -1
- package/assets/i18n/storybook-translations/page-header/de.json +13 -0
- package/assets/i18n/storybook-translations/page-header/en.json +13 -0
- package/fesm2022/onecx-angular-accelerator-testing.mjs +33 -5
- package/fesm2022/onecx-angular-accelerator-testing.mjs.map +1 -1
- package/fesm2022/onecx-angular-accelerator.mjs +213 -157
- package/fesm2022/onecx-angular-accelerator.mjs.map +1 -1
- package/index.d.ts +2370 -62
- package/package.json +21 -19
- package/testing/index.d.ts +261 -24
- package/lib/angular-accelerator-primeng.module.d.ts +0 -27
- package/lib/angular-accelerator.module.d.ts +0 -49
- package/lib/components/column-group-selection/column-group-selection.component.d.ts +0 -32
- package/lib/components/content/content.component.d.ts +0 -13
- package/lib/components/content-container/content-container.component.d.ts +0 -19
- package/lib/components/custom-group-column-selector/custom-group-column-selector.component.d.ts +0 -68
- package/lib/components/data-layout-selection/data-layout-selection.component.d.ts +0 -32
- package/lib/components/data-list-grid/data-list-grid.component.d.ts +0 -179
- package/lib/components/data-list-grid-sorting/data-list-grid-sorting.component.d.ts +0 -40
- package/lib/components/data-sort-base/data-sort-base.d.ts +0 -33
- package/lib/components/data-table/data-table.component.d.ts +0 -224
- package/lib/components/data-view/data-view.component.d.ts +0 -165
- package/lib/components/diagram/diagram.component.d.ts +0 -57
- package/lib/components/dialog/dialog-content/dialog-content.component.d.ts +0 -29
- package/lib/components/dialog/dialog-footer/dialog-footer.component.d.ts +0 -39
- package/lib/components/dialog/dialog-inline/dialog-inline.component.d.ts +0 -11
- package/lib/components/dialog/dialog-message-content/dialog-message-content.component.d.ts +0 -8
- package/lib/components/error-component/global-error.component.d.ts +0 -12
- package/lib/components/filter-view/filter-view.component.d.ts +0 -80
- package/lib/components/group-by-count-diagram/group-by-count-diagram.component.d.ts +0 -45
- package/lib/components/interactive-data-view/interactive-data-view.component.d.ts +0 -206
- package/lib/components/lifecycle/lifecycle.component.d.ts +0 -12
- package/lib/components/loading-indicator/loading-indicator.component.d.ts +0 -5
- package/lib/components/page-header/page-header.component.d.ts +0 -105
- package/lib/components/search-header/search-header.component.d.ts +0 -71
- package/lib/directives/advanced.directive.d.ts +0 -11
- package/lib/directives/basic.directive.d.ts +0 -11
- package/lib/directives/content-container.directive.d.ts +0 -23
- package/lib/directives/content.directive.d.ts +0 -21
- package/lib/directives/if-breakpoint.directive.d.ts +0 -13
- package/lib/directives/if-permission.directive.d.ts +0 -33
- package/lib/directives/loading-indicator.directive.d.ts +0 -16
- package/lib/directives/src.directive.d.ts +0 -13
- package/lib/directives/template.directive.d.ts +0 -9
- package/lib/directives/tooltipOnOverflow.directive.d.ts +0 -13
- package/lib/functions/at-least-one-field-filled-validator.d.ts +0 -2
- package/lib/functions/flatten-object.d.ts +0 -14
- package/lib/model/breadcrumb-menu-item.model.d.ts +0 -56
- package/lib/model/button-dialog.d.ts +0 -47
- package/lib/model/column-type.model.d.ts +0 -7
- package/lib/model/data-action.d.ts +0 -12
- package/lib/model/data-column-name-id.model.d.ts +0 -4
- package/lib/model/data-sort-direction.d.ts +0 -5
- package/lib/model/data-table-column.model.d.ts +0 -12
- package/lib/model/diagram-column.d.ts +0 -5
- package/lib/model/diagram-data.d.ts +0 -5
- package/lib/model/diagram-type.d.ts +0 -5
- package/lib/model/filter.model.d.ts +0 -24
- package/lib/pipes/dynamic.pipe.d.ts +0 -13
- package/lib/pipes/ocxtimeago.pipe.d.ts +0 -16
- package/lib/pipes/relative-date.pipe.d.ts +0 -10
- package/lib/services/breadcrumb.service.d.ts +0 -20
- package/lib/services/export-data.service.d.ts +0 -18
- package/lib/services/portal-dialog.service.d.ts +0 -427
- package/lib/utils/colorutils.d.ts +0 -12
- package/lib/utils/criteria.utils.d.ts +0 -17
- package/lib/utils/data-operation-strategy.d.ts +0 -20
- package/lib/utils/dateutils.d.ts +0 -8
- package/lib/utils/dynamic-locale-id.d.ts +0 -10
- package/lib/utils/enum-to-dropdown-options.utils.d.ts +0 -6
- package/lib/utils/filter.utils.d.ts +0 -2
- package/lib/utils/image-logo-url.utils.d.ts +0 -3
- package/lib/utils/objectutils.d.ts +0 -4
- package/lib/utils/primeicon.utils.d.ts +0 -5
- package/lib/utils/rxjs-utils.d.ts +0 -3
- package/lib/utils/string-and-array-helper-functions.utils.d.ts +0 -3
- package/lib/utils/template.utils.d.ts +0 -2
- package/testing/column-group-selection.harness.d.ts +0 -6
- package/testing/content-container.harness.d.ts +0 -7
- package/testing/content.harness.d.ts +0 -10
- package/testing/custom-group-column-selector.harness.d.ts +0 -14
- package/testing/data-layout-selection.harness.d.ts +0 -12
- package/testing/data-list-grid.harness.d.ts +0 -18
- package/testing/data-table.harness.d.ts +0 -26
- package/testing/data-view.harness.d.ts +0 -8
- package/testing/default-grid-item.harness.d.ts +0 -11
- package/testing/default-list-item.harness.d.ts +0 -12
- package/testing/diagram.harness.d.ts +0 -10
- package/testing/dialog-content.harness.d.ts +0 -6
- package/testing/dialog-footer.harness.d.ts +0 -14
- package/testing/dialog-inline.harness.d.ts +0 -8
- package/testing/dialog-message-content.harness.d.ts +0 -8
- package/testing/filter-view.harness.d.ts +0 -12
- package/testing/group-by-count-diagram.harness.d.ts +0 -6
- package/testing/interactive-data-view.harness.d.ts +0 -19
- package/testing/lifecycle.harness.d.ts +0 -6
- package/testing/more-actions-menu-button.harness.d.ts +0 -10
- package/testing/page-header.harness.d.ts +0 -36
- package/testing/search-header.harness.d.ts +0 -15
- package/testing/slot.harness.d.ts +0 -7
package/assets/i18n/de.json
CHANGED
|
@@ -44,13 +44,15 @@
|
|
|
44
44
|
"LABEL": "Sortieren nach"
|
|
45
45
|
},
|
|
46
46
|
"TOGGLE_BUTTON": {
|
|
47
|
-
"ASCENDING_TOOLTIP": "Aufsteigend",
|
|
48
|
-
"DESCENDING_TOOLTIP": "Absteigend",
|
|
49
|
-
"DEFAULT_TOOLTIP": "
|
|
47
|
+
"ASCENDING_TOOLTIP": "Aufsteigend sortieren",
|
|
48
|
+
"DESCENDING_TOOLTIP": "Absteigend sortieren",
|
|
49
|
+
"DEFAULT_TOOLTIP": "Standardsortierung"
|
|
50
50
|
},
|
|
51
51
|
"SORTING_BUTTON_ARIA_LABEL": "{{direction}} sortieren"
|
|
52
52
|
},
|
|
53
53
|
"OCX_DATA_TABLE": {
|
|
54
|
+
"SEARCH_RESULTS_FOUND": "{{results}} Ergebnisse gefunden",
|
|
55
|
+
"NO_SEARCH_RESULTS_FOUND": "Keine Ergebnisse gefunden",
|
|
54
56
|
"EMPTY_RESULT": "Keine Daten gefunden.",
|
|
55
57
|
"EMPTY_FILTER_MESSAGE": "Keine Filter gefunden.",
|
|
56
58
|
"ACTIONS_COLUMN_NAME": "Aktionen",
|
|
@@ -67,9 +69,9 @@
|
|
|
67
69
|
"DELETE": "Löschen"
|
|
68
70
|
},
|
|
69
71
|
"TOGGLE_BUTTON": {
|
|
70
|
-
"ASCENDING_TITLE": "Aufsteigend",
|
|
71
|
-
"DESCENDING_TITLE": "Absteigend",
|
|
72
|
-
"DEFAULT_TITLE": "
|
|
72
|
+
"ASCENDING_TITLE": "Aufsteigend sortieren",
|
|
73
|
+
"DESCENDING_TITLE": "Absteigend sortieren",
|
|
74
|
+
"DEFAULT_TITLE": "Standardsortierung",
|
|
73
75
|
"ARIA_LABEL": "{{column}} {{direction}} sortieren"
|
|
74
76
|
},
|
|
75
77
|
"SELECT_ALL_ARIA_LABEL": "Selektiere alle Zeilen der Tabelle",
|
|
@@ -79,6 +81,8 @@
|
|
|
79
81
|
"FILTER_NO": "Nein"
|
|
80
82
|
},
|
|
81
83
|
"OCX_DATA_LIST_GRID": {
|
|
84
|
+
"SEARCH_RESULTS_FOUND": "{{results}} Ergebnisse gefunden",
|
|
85
|
+
"NO_SEARCH_RESULTS_FOUND": "Keine Ergebnisse gefunden",
|
|
82
86
|
"EMPTY_RESULT": "Keine Daten gefunden.",
|
|
83
87
|
"MENU": {
|
|
84
88
|
"VIEW": "Anzeigen",
|
package/assets/i18n/en.json
CHANGED
|
@@ -44,13 +44,15 @@
|
|
|
44
44
|
"LABEL": "Sort by"
|
|
45
45
|
},
|
|
46
46
|
"TOGGLE_BUTTON": {
|
|
47
|
-
"ASCENDING_TOOLTIP": "Ascending",
|
|
48
|
-
"DESCENDING_TOOLTIP": "Descending",
|
|
49
|
-
"DEFAULT_TOOLTIP": "Default"
|
|
47
|
+
"ASCENDING_TOOLTIP": "Sort Ascending",
|
|
48
|
+
"DESCENDING_TOOLTIP": "Sort Descending",
|
|
49
|
+
"DEFAULT_TOOLTIP": "Default Sort"
|
|
50
50
|
},
|
|
51
51
|
"SORTING_BUTTON_ARIA_LABEL": "Toggle sorting direction to {{direction}}"
|
|
52
52
|
},
|
|
53
53
|
"OCX_DATA_TABLE": {
|
|
54
|
+
"SEARCH_RESULTS_FOUND": "{{results}} Results Found",
|
|
55
|
+
"NO_SEARCH_RESULTS_FOUND": "No Results Found",
|
|
54
56
|
"EMPTY_RESULT": "No data found.",
|
|
55
57
|
"EMPTY_FILTER_MESSAGE": "No filters found.",
|
|
56
58
|
"ACTIONS_COLUMN_NAME": "Actions",
|
|
@@ -67,9 +69,9 @@
|
|
|
67
69
|
"DELETE": "Delete"
|
|
68
70
|
},
|
|
69
71
|
"TOGGLE_BUTTON": {
|
|
70
|
-
"ASCENDING_TITLE": "Ascending",
|
|
71
|
-
"DESCENDING_TITLE": "Descending",
|
|
72
|
-
"DEFAULT_TITLE": "Default",
|
|
72
|
+
"ASCENDING_TITLE": "Sort Ascending",
|
|
73
|
+
"DESCENDING_TITLE": "Sort Descending",
|
|
74
|
+
"DEFAULT_TITLE": "Default Sort",
|
|
73
75
|
"ARIA_LABEL": "Toggle {{column}} sorting direction to {{direction}}"
|
|
74
76
|
},
|
|
75
77
|
"SELECT_ALL_ARIA_LABEL": "Select all table rows",
|
|
@@ -79,6 +81,8 @@
|
|
|
79
81
|
"FILTER_NO": "No"
|
|
80
82
|
},
|
|
81
83
|
"OCX_DATA_LIST_GRID": {
|
|
84
|
+
"SEARCH_RESULTS_FOUND": "{{results}} Results Found",
|
|
85
|
+
"NO_SEARCH_RESULTS_FOUND": "No Results Found",
|
|
82
86
|
"EMPTY_RESULT": "No data found.",
|
|
83
87
|
"MENU": {
|
|
84
88
|
"VIEW": "View",
|
|
@@ -69,8 +69,8 @@
|
|
|
69
69
|
"gte": "Größer oder gleich",
|
|
70
70
|
"lt": "Kleiner als",
|
|
71
71
|
"lte": "Kleiner oder gleich",
|
|
72
|
-
"matchAll": "
|
|
73
|
-
"matchAny": "
|
|
72
|
+
"matchAll": "Trifft auf alle zu",
|
|
73
|
+
"matchAny": "Trifft auf einige zu",
|
|
74
74
|
"medium": "Mittel",
|
|
75
75
|
"monthNames": [
|
|
76
76
|
"Januar",
|
|
@@ -150,6 +150,8 @@
|
|
|
150
150
|
"lastPageLabel": "Letzte Seite",
|
|
151
151
|
"listLabel": "Optionsliste",
|
|
152
152
|
"listView": "Listenansicht",
|
|
153
|
+
"maximizeLabel": "Maximieren",
|
|
154
|
+
"minimizeLabel": "Minimieren",
|
|
153
155
|
"moveAllToSource": "Alle zur Quelle bewegen",
|
|
154
156
|
"moveAllToTarget": "Alle zum Ziel bewegen",
|
|
155
157
|
"moveBottom": "Zum Ende bewegen",
|
|
@@ -175,6 +177,7 @@
|
|
|
175
177
|
"saveEdit": "Änderungen speichern",
|
|
176
178
|
"scrollTop": "Nach oben scrollen",
|
|
177
179
|
"selectAll": "Alle Elemente ausgewählt",
|
|
180
|
+
"selectColor": "Wählen Sie eine Farbe",
|
|
178
181
|
"selectLabel": "Auswählen",
|
|
179
182
|
"selectRow": "Zeile ausgewählt",
|
|
180
183
|
"showFilterMenu": "Filtermenü anzeigen",
|
|
@@ -90,6 +90,8 @@
|
|
|
90
90
|
"lastPageLabel": "Last Page",
|
|
91
91
|
"listLabel": "Option List",
|
|
92
92
|
"listView": "List View",
|
|
93
|
+
"maximizeLabel": "Maximize",
|
|
94
|
+
"minimizeLabel": "Minimize",
|
|
93
95
|
"moveAllToSource": "Move All to Source",
|
|
94
96
|
"moveAllToTarget": "Move All to Target",
|
|
95
97
|
"moveBottom": "Move Bottom",
|
|
@@ -106,8 +108,8 @@
|
|
|
106
108
|
"pageLabel": "Page {page}",
|
|
107
109
|
"passwordHide": "Hide Password",
|
|
108
110
|
"passwordShow": "Show Password",
|
|
109
|
-
"previous": "Previous",
|
|
110
111
|
"prevPageLabel": "Previous Page",
|
|
112
|
+
"previous": "Previous",
|
|
111
113
|
"removeLabel": "Remove",
|
|
112
114
|
"rotateLeft": "Rotate Left",
|
|
113
115
|
"rotateRight": "Rotate Right",
|
|
@@ -115,6 +117,7 @@
|
|
|
115
117
|
"saveEdit": "Save Edit",
|
|
116
118
|
"scrollTop": "Scroll Top",
|
|
117
119
|
"selectAll": "All items selected",
|
|
120
|
+
"selectColor": "Select a color",
|
|
118
121
|
"selectLabel": "Select",
|
|
119
122
|
"selectRow": "Row Selected",
|
|
120
123
|
"showFilterMenu": "Show Filter Menu",
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"pageheader": {
|
|
3
|
+
"header": "Funktions-Titel",
|
|
4
|
+
"subheader": "Funktions-Untertitel",
|
|
5
|
+
"extra": "Funktions-Extra",
|
|
6
|
+
"valueTooltip": "Funktions-Wert-Tooltip",
|
|
7
|
+
"labelTooltip": "Funktions-Label-Tooltip",
|
|
8
|
+
"actionItemTooltip": "Funktions-Aktions-Tooltip",
|
|
9
|
+
"actionItemAriaLabel": "Funktions-Aktions-Aria-Label",
|
|
10
|
+
"statusLabelTooltip": "Funktions-Status-Label-Tooltip (status: {{status}})",
|
|
11
|
+
"statusValueTooltip": "Funktions-Status-Wert-Tooltip (value: {{value}})"
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"pageheader": {
|
|
3
|
+
"header": "Feature Title",
|
|
4
|
+
"subheader": "Feature Subtitle",
|
|
5
|
+
"extra": "Feature Extra",
|
|
6
|
+
"valueTooltip": "Feature Value Tooltip",
|
|
7
|
+
"labelTooltip": "Feature Label Tooltip",
|
|
8
|
+
"actionItemTooltip": "Feature Action Item Tooltip",
|
|
9
|
+
"actionItemAriaLabel": "Feature Action Item Aria Label",
|
|
10
|
+
"statusLabelTooltip": "Feature Status Label Tooltip (status: {{status}})",
|
|
11
|
+
"statusValueTooltip": "Feature Status Value Tooltip (value: {{value}})"
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -196,7 +196,7 @@ class DataListGridHarness extends ContentContainerComponentHarness {
|
|
|
196
196
|
super(...arguments);
|
|
197
197
|
this.getDefaultGridItems = this.locatorForAll(DefaultGridItemHarness);
|
|
198
198
|
this.getPaginator = this.locatorFor(PPaginatorHarness);
|
|
199
|
-
this.
|
|
199
|
+
this.getGridMenuButton = this.locatorFor(`[name="data-grid-item-menu-button"]`);
|
|
200
200
|
this.getListOverflowMenuButton = this.locatorFor(`[name="data-list-overflow-item-menu-button"]`);
|
|
201
201
|
this.getListOverflowMenu = this.locatorForOptional(PMenuHarness);
|
|
202
202
|
}
|
|
@@ -210,10 +210,10 @@ class DataListGridHarness extends ContentContainerComponentHarness {
|
|
|
210
210
|
return await this.locatorForAll(`[name="data-list-action-button"]`)();
|
|
211
211
|
}
|
|
212
212
|
else if (actionButtonType === 'grid-hidden') {
|
|
213
|
-
return await this.documentRootLocatorFactory().locatorForAll(`[data-automationid="data-grid-action-button-hidden"]`)();
|
|
213
|
+
return await this.documentRootLocatorFactory().locatorForAll(`li:has([data-automationid="data-grid-action-button-hidden"])`)();
|
|
214
214
|
}
|
|
215
215
|
else {
|
|
216
|
-
return await this.documentRootLocatorFactory().locatorForAll(`[data-automationid="data-grid-action-button"]`)();
|
|
216
|
+
return await this.documentRootLocatorFactory().locatorForAll(`li:has([data-automationid="data-grid-action-button"])`)();
|
|
217
217
|
}
|
|
218
218
|
}
|
|
219
219
|
async getListOverflowMenuItems() {
|
|
@@ -226,7 +226,11 @@ class DataListGridHarness extends ContentContainerComponentHarness {
|
|
|
226
226
|
return await actionButton.getProperty('disabled');
|
|
227
227
|
}
|
|
228
228
|
else {
|
|
229
|
-
|
|
229
|
+
const ariaDisabled = await actionButton.getAttribute('aria-disabled');
|
|
230
|
+
if (ariaDisabled === 'true') {
|
|
231
|
+
return true;
|
|
232
|
+
}
|
|
233
|
+
return false;
|
|
230
234
|
}
|
|
231
235
|
}
|
|
232
236
|
async hasAmountOfActionButtons(actionButtonType, amount) {
|
|
@@ -467,7 +471,7 @@ class PageHeaderHarness extends ComponentHarness {
|
|
|
467
471
|
return await (await this.locatorForOptional('#page-subheader')())?.text();
|
|
468
472
|
}
|
|
469
473
|
}
|
|
470
|
-
class ObjectDetailItemHarness extends
|
|
474
|
+
class ObjectDetailItemHarness extends ContentContainerComponentHarness {
|
|
471
475
|
constructor() {
|
|
472
476
|
super(...arguments);
|
|
473
477
|
this.getLabelElement = this.locatorFor('[name="object-detail-label"]');
|
|
@@ -490,6 +494,30 @@ class ObjectDetailItemHarness extends ComponentHarness {
|
|
|
490
494
|
async getIcon() {
|
|
491
495
|
return (await this.getIconElement())?.getAttribute('class');
|
|
492
496
|
}
|
|
497
|
+
async getLabelTooltipContent() {
|
|
498
|
+
return this.getTooltipFromElement(await this.getLabelElement());
|
|
499
|
+
}
|
|
500
|
+
async getValueTooltipContent() {
|
|
501
|
+
return this.getTooltipFromElement(await this.locatorForOptional('[name="object-detail-value"] > span:first-of-type')());
|
|
502
|
+
}
|
|
503
|
+
async getActionItemTooltipContent() {
|
|
504
|
+
return this.getTooltipFromElement(await this.locatorForOptional('[name="object-detail-value"] p-button')());
|
|
505
|
+
}
|
|
506
|
+
async getTooltipFromElement(element) {
|
|
507
|
+
if (!element)
|
|
508
|
+
return null;
|
|
509
|
+
await element.hover();
|
|
510
|
+
await this.forceStabilize();
|
|
511
|
+
const rootLocator = this.documentRootLocatorFactory();
|
|
512
|
+
const tooltipEl = await rootLocator.locatorForOptional('.p-tooltip .p-tooltip-text')();
|
|
513
|
+
if (tooltipEl) {
|
|
514
|
+
const text = await tooltipEl.text();
|
|
515
|
+
await element.mouseAway();
|
|
516
|
+
await this.forceStabilize();
|
|
517
|
+
return text;
|
|
518
|
+
}
|
|
519
|
+
return null;
|
|
520
|
+
}
|
|
493
521
|
}
|
|
494
522
|
|
|
495
523
|
class SearchHeaderHarness extends ComponentHarness {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onecx-angular-accelerator-testing.mjs","sources":["../../../../libs/angular-accelerator/testing/column-group-selection.harness.ts","../../../../libs/angular-accelerator/testing/content-container.harness.ts","../../../../libs/angular-accelerator/testing/content.harness.ts","../../../../libs/angular-accelerator/testing/custom-group-column-selector.harness.ts","../../../../libs/angular-accelerator/testing/data-layout-selection.harness.ts","../../../../libs/angular-accelerator/testing/more-actions-menu-button.harness.ts","../../../../libs/angular-accelerator/testing/default-grid-item.harness.ts","../../../../libs/angular-accelerator/testing/default-list-item.harness.ts","../../../../libs/angular-accelerator/testing/data-list-grid.harness.ts","../../../../libs/angular-accelerator/testing/data-table.harness.ts","../../../../libs/angular-accelerator/testing/data-view.harness.ts","../../../../libs/angular-accelerator/testing/diagram.harness.ts","../../../../libs/angular-accelerator/testing/filter-view.harness.ts","../../../../libs/angular-accelerator/testing/group-by-count-diagram.harness.ts","../../../../libs/angular-accelerator/testing/slot.harness.ts","../../../../libs/angular-accelerator/testing/interactive-data-view.harness.ts","../../../../libs/angular-accelerator/testing/lifecycle.harness.ts","../../../../libs/angular-accelerator/testing/page-header.harness.ts","../../../../libs/angular-accelerator/testing/search-header.harness.ts","../../../../libs/angular-accelerator/testing/dialog-message-content.harness.ts","../../../../libs/angular-accelerator/testing/dialog-content.harness.ts","../../../../libs/angular-accelerator/testing/dialog-footer.harness.ts","../../../../libs/angular-accelerator/testing/dialog-inline.harness.ts","../../../../libs/angular-accelerator/testing/index.ts","../../../../libs/angular-accelerator/testing/onecx-angular-accelerator-testing.ts"],"sourcesContent":["import { ComponentHarness } from '@angular/cdk/testing'\nimport { PSelectHarness } from '@onecx/angular-testing'\n\nexport class ColumnGroupSelectionHarness extends ComponentHarness {\n static hostSelector = 'ocx-column-group-selection'\n\n getPSelect = this.locatorFor(PSelectHarness)\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\nimport { DivHarness } from '@onecx/angular-testing'\n\nexport class OcxContentContainerHarness extends ComponentHarness {\n static hostSelector = 'ocx-content-container'\n\n async getLayoutClasses() {\n const div = await this.locatorFor(DivHarness)()\n const actualClassList = await div.getClassList()\n\n return actualClassList\n }\n\n async getLayout(): Promise<'horizontal' | 'vertical'> {\n const layoutClassses = await this.getLayoutClasses()\n return layoutClassses.find((c) => c.endsWith(':flex-row')) ? 'horizontal' : 'vertical'\n }\n\n async getBreakpoint(): Promise<'sm' | 'md' | 'lg' | 'xl' | undefined> {\n const layoutClassses = await this.getLayoutClasses()\n const layoutClass = layoutClassses.find((c) => c.endsWith(':flex-row'))\n return layoutClass?.split(':')[0] as 'sm' | 'md' | 'lg' | 'xl' | undefined\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\nimport { DivHarness, PHarness } from '@onecx/angular-testing'\n\nexport class OcxContentHarness extends ComponentHarness {\n static hostSelector = 'ocx-content'\n\n async getContentClasses() {\n const div = await this.locatorFor(DivHarness)()\n const actualClassList = await div.getClassList()\n\n return actualClassList\n }\n\n async getTitleClasses(titleElementId: string) {\n const p = await this.getTitleHarness(titleElementId)\n if (p) {\n const actualClassList = await p.getClassList()\n return actualClassList\n }\n return null\n }\n\n async getTitle(titleElementId: string) {\n const p = await this.getTitleHarness(titleElementId)\n if (p) {\n const titleContent = await p.getText()\n return titleContent\n }\n return null\n }\n\n async getTitleHarness(titleElementId: string) {\n const pHarness = await this.locatorForOptional(PHarness.with({ id: titleElementId }))()\n return pHarness\n }\n\n async hasTitle(titleElementId: string): Promise<boolean> {\n const title = await this.getTitleHarness(titleElementId)\n return !!title\n }\n}\n","import { ContentContainerComponentHarness } from '@angular/cdk/testing'\nimport { PDialogHarness, PPicklistHarness, PButtonHarness } from '@onecx/angular-testing'\n\nexport class CustomGroupColumnSelectorHarness extends ContentContainerComponentHarness {\n static hostSelector = 'ocx-custom-group-column-selector'\n\n getCustomGroupColumnSelectorButton = this.locatorFor(\n PButtonHarness.with({\n id: 'customGroupColumnSelectorButton',\n })\n )\n\n getDialog = this.locatorFor(PDialogHarness)\n getCancelButton = this.locatorFor(PButtonHarness.with({ id: 'cancelButton' }))\n getSaveButton = this.locatorFor(PButtonHarness.with({ id: 'saveButton' }))\n getPicklist = this.locatorFor(PPicklistHarness)\n getSelectButtons = this.locatorForOptional('[name]')\n\n async getFrozenActionColumnSelectButton() {\n return await this.locatorForAll(`[name=\"frozen-action-column-select-button\"] .p-togglebutton`)()\n }\n\n async getActionColumnPositionSelectButtons() {\n return await this.locatorForAll(`[name=\"action-column-position-select-button\"] .p-togglebutton`)()\n }\n\n async openCustomGroupColumnSelectorDialog() {\n if (!(await (await this.getDialog()).isVisible())) {\n await (await this.getCustomGroupColumnSelectorButton()).click()\n } else {\n console.warn('Unable to open CustomGroupColumnSelectionDialog, because it is already open.')\n }\n }\n}\n","import { ContentContainerComponentHarness } from '@angular/cdk/testing'\nimport { PToggleButtonHarness } from '@onecx/angular-testing'\n\nexport class DataLayoutSelectionHarness extends ContentContainerComponentHarness {\n static hostSelector = 'ocx-data-layout-selection'\n\n getListLayoutSelectionToggleButton = this.locatorFor(\n PToggleButtonHarness.with({ onLabel: 'ocx-data-layout-selection-list' })\n )\n getGridLayoutSelectionToggleButton = this.locatorFor(\n PToggleButtonHarness.with({ onLabel: 'ocx-data-layout-selection-grid' })\n )\n getTableLayoutSelectionToggleButton = this.locatorFor(\n PToggleButtonHarness.with({ onLabel: 'ocx-data-layout-selection-table' })\n )\n\n async getCurrentLayout() {\n return await (await this.host()).getAttribute('ng-reflect-layout')\n }\n\n async selectListLayout() {\n await (await this.getListLayoutSelectionToggleButton()).click()\n }\n\n async selectGridLayout() {\n await (await this.getGridLayoutSelectionToggleButton()).click()\n }\n\n async selectTableLayout() {\n await (await this.getTableLayoutSelectionToggleButton()).click()\n }\n}\n","import { ContentContainerComponentHarness, HarnessLoader } from '@angular/cdk/testing'\nimport { MenuItemHarness } from '@onecx/angular-testing'\n\nexport class MoreActionsMenuButtonHarness extends ContentContainerComponentHarness {\n static hostSelector = '.more-actions-menu-button'\n\n async getHarnessLoaderForPMenuOverlay(): Promise<HarnessLoader | null> {\n return this.documentRootLocatorFactory().harnessLoaderForOptional('.p-menu-overlay')\n }\n\n async isOpen(): Promise<boolean> {\n return !!(await this.getHarnessLoaderForPMenuOverlay())\n }\n\n async open() {\n if (!(await this.isOpen())) {\n await (await this.host()).click()\n } else {\n console.warn('Unable to open multiSelect, because it is already open.')\n }\n }\n\n async close() {\n if (await this.isOpen()) {\n await (await this.host()).click()\n } else {\n console.warn('Unable to open multiSelect, because it is already open.')\n }\n }\n\n async getAllActionsMenuItems() {\n await this.open()\n if (await this.getHarnessLoaderForPMenuOverlay()) {\n return this.documentRootLocatorFactory().locatorForAll(MenuItemHarness)()\n }\n return []\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\nimport { DivHarness } from '@onecx/angular-testing'\nimport { MoreActionsMenuButtonHarness } from './more-actions-menu-button.harness'\n\nexport class DefaultGridItemHarness extends ComponentHarness {\n static hostSelector = '.data-grid-item'\n\n getMoreActionsButton = this.locatorFor(MoreActionsMenuButtonHarness)\n private getAllDivs = this.locatorForAll(DivHarness)\n private getGridImg = this.locatorFor('img')\n\n async getData() {\n const isDataGridItemsDiv = await Promise.all(\n (await this.getAllDivs()).map((divHarness) => this.checkDivsHasClasses(divHarness))\n )\n const divHarnesses = (await this.getAllDivs()).filter((_v, index) => isDataGridItemsDiv[index])\n const getDivTexts: (string | null)[] = await Promise.all(divHarnesses.map((divHarness) => divHarness.getText()))\n getDivTexts.unshift(await (await this.getGridImg()).getAttribute('src'))\n return getDivTexts\n }\n\n async checkDivsHasClasses(value: DivHarness) {\n const hasClass = (await value.checkHasClass('item-name')) || (await value.checkHasClass('subtitleLine'))\n return hasClass\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\nimport { ButtonHarness, DivHarness } from '@onecx/angular-testing'\nimport { waitForDeferredViewsToBeRendered } from '@onecx/angular-testing'\n\nexport class DefaultListItemHarness extends ComponentHarness {\n static hostSelector = '.data-list-items'\n\n getAllActionButtons = this.locatorForAll('button')\n getViewButton = this.locatorForOptional(ButtonHarness.with({ class: 'viewListItemButton' }))\n getEditButton = this.locatorForOptional(ButtonHarness.with({ class: 'editListItemButton' }))\n getDeleteButton = this.locatorForOptional(ButtonHarness.with({ class: 'deleteListItemButton' }))\n\n private getAllDivs = this.locatorForAll(DivHarness)\n\n async getData() {\n await waitForDeferredViewsToBeRendered(this)\n const isDataListItemsDiv = await Promise.all(\n (await this.getAllDivs()).map((innerDivHarness) => this.checkDivsHasClasses(innerDivHarness))\n )\n const divHarnesses = (await this.getAllDivs()).filter((_v, index) => isDataListItemsDiv[index])\n const getDivTexts = await Promise.all(divHarnesses.map((divHarness) => divHarness.getText()))\n return getDivTexts\n }\n\n async checkDivsHasClasses(value: DivHarness) {\n const hasClass = (await value.checkHasClass('item-name-row')) || (await value.checkHasClass('subtitleLine'))\n return hasClass\n }\n}\n","import { ContentContainerComponentHarness, TestElement, parallel } from '@angular/cdk/testing'\nimport { PMenuHarness, PPaginatorHarness } from '@onecx/angular-testing'\nimport { DefaultGridItemHarness } from './default-grid-item.harness'\nimport { DefaultListItemHarness } from './default-list-item.harness'\nimport { waitForDeferredViewsToBeRendered } from '@onecx/angular-testing'\n\nexport class DataListGridHarness extends ContentContainerComponentHarness {\n static hostSelector = 'ocx-data-list-grid'\n\n getDefaultGridItems = this.locatorForAll(DefaultGridItemHarness)\n getPaginator = this.locatorFor(PPaginatorHarness)\n getMenuButton = this.locatorFor(`[name=\"data-grid-item-menu-button\"]`)\n getListOverflowMenuButton = this.locatorFor(`[name=\"data-list-overflow-item-menu-button\"]`)\n getListOverflowMenu = this.locatorForOptional(PMenuHarness)\n\n async getDefaultListItems() {\n await waitForDeferredViewsToBeRendered(this)\n return await this.locatorForAll(DefaultListItemHarness)()\n }\n\n async getActionButtons(actionButtonType: 'list' | 'grid' | 'grid-hidden') {\n if (actionButtonType === 'list') {\n return await this.locatorForAll(`[name=\"data-list-action-button\"]`)()\n } else if (actionButtonType === 'grid-hidden') {\n return await this.documentRootLocatorFactory().locatorForAll(\n `[data-automationid=\"data-grid-action-button-hidden\"]`\n )()\n } else {\n return await this.documentRootLocatorFactory().locatorForAll(`[data-automationid=\"data-grid-action-button\"]`)()\n }\n }\n\n async getListOverflowMenuItems() {\n const menu = await this.getListOverflowMenu()\n const menuItems = await menu?.getAllMenuItems()\n return menuItems ?? []\n }\n\n async actionButtonIsDisabled(actionButton: TestElement, viewType: 'list' | 'grid'): Promise<boolean> {\n if (viewType === 'list') {\n return await actionButton.getProperty('disabled')\n } else {\n return await actionButton.hasClass('p-disabled')\n }\n }\n\n async hasAmountOfActionButtons(actionButtonType: 'list' | 'grid' | 'grid-hidden', amount: number) {\n return (await this.getActionButtons(actionButtonType)).length === amount\n }\n\n async hasAmountOfDisabledActionButtons(viewType: 'list' | 'grid', amount: number) {\n let disabledActionButtonsCount = 0\n const actionButtons = await this.getActionButtons(viewType)\n await parallel(() =>\n actionButtons.map(async (actionButton) => {\n if ((await this.actionButtonIsDisabled(actionButton, viewType)) === true) {\n disabledActionButtonsCount++\n }\n })\n )\n return disabledActionButtonsCount === amount\n }\n}\n","import {\n BaseHarnessFilters,\n ContentContainerComponentHarness,\n HarnessPredicate,\n TestElement,\n parallel,\n} from '@angular/cdk/testing'\nimport {\n TableHeaderColumnHarness,\n TableRowHarness,\n PPaginatorHarness,\n PTableCheckboxHarness,\n PMenuHarness,\n MenuItemHarness,\n} from '@onecx/angular-testing'\n\nexport interface DataTableHarnessFilters extends BaseHarnessFilters {\n id?: string\n}\n\nexport class DataTableHarness extends ContentContainerComponentHarness {\n static hostSelector = 'ocx-data-table'\n\n static with(options: DataTableHarnessFilters): HarnessPredicate<DataTableHarness> {\n return new HarnessPredicate(DataTableHarness, options).addOption('id', options.id, (harness, id) =>\n HarnessPredicate.stringMatches(harness.getId(), id)\n )\n }\n\n getHeaderColumns = this.locatorForAll(TableHeaderColumnHarness)\n getRows = this.locatorForAll(TableRowHarness)\n getPaginator = this.locatorFor(PPaginatorHarness)\n getOverflowMenu = this.locatorForOptional(PMenuHarness)\n\n async getId(): Promise<string | null> {\n return await (await this.host()).getAttribute('id')\n }\n\n async rowSelectionIsEnabled(): Promise<boolean> {\n const pTableCheckbox = await this.getHarnessesForCheckboxes('all')\n return pTableCheckbox.length > 0\n }\n\n async getHarnessesForCheckboxes(type: 'all' | 'checked' | 'unchecked'): Promise<PTableCheckboxHarness[]> {\n let checkBoxHarnesses: PTableCheckboxHarness[]\n if (type === 'checked') {\n checkBoxHarnesses = await this.getAllHarnesses(PTableCheckboxHarness.with({ isSelected: true }))\n return checkBoxHarnesses\n }\n if (type === 'unchecked') {\n checkBoxHarnesses = await this.getAllHarnesses(PTableCheckboxHarness.with({ isSelected: false }))\n return checkBoxHarnesses\n } else {\n checkBoxHarnesses = await this.getAllHarnesses(PTableCheckboxHarness)\n return checkBoxHarnesses\n }\n }\n\n async getActionColumnHeader(position: 'left' | 'right') {\n return await this.locatorForOptional(`[name=\"action-column-header-${position}\"]`)()\n }\n\n async getActionColumn(position: 'left' | 'right') {\n return await this.locatorForOptional(`[name=\"action-column-${position}\"]`)()\n }\n\n async getActionButtons() {\n return await this.locatorForAll(`[name=\"data-table-action-button\"]`)()\n }\n\n async getOverflowActionMenuButton() {\n return await this.locatorForOptional('[name=\"data-table-overflow-action-button\"]')()\n }\n\n async getOverFlowMenuItems() {\n const menu = await this.getOverflowMenu()\n const menuItems = await menu?.getAllMenuItems()\n return menuItems ?? []\n }\n\n async getOverFlowMenuItem(itemText: string): Promise<MenuItemHarness | undefined | null> {\n const menu = await this.getOverflowMenu()\n return await menu?.getMenuItem(itemText)\n }\n\n async actionButtonIsDisabled(actionButton: TestElement) {\n const isDisabled = await actionButton.getProperty('disabled')\n return isDisabled\n }\n\n async hasAmountOfActionButtons(amount: number) {\n return (await this.getActionButtons()).length === amount\n }\n\n async hasAmountOfDisabledActionButtons(amount: number) {\n let disabledActionButtonsCount = 0\n const actionButtons = await this.getActionButtons()\n await parallel(() =>\n actionButtons.map(async (actionButton) => {\n if ((await this.actionButtonIsDisabled(actionButton)) === true) {\n disabledActionButtonsCount++\n }\n })\n )\n return disabledActionButtonsCount === amount\n }\n\n async columnIsFrozen(column: TestElement | null | undefined) {\n if (column === null || column === undefined) {\n throw new Error('Given column is null')\n }\n return await column.hasClass('p-datatable-frozen-column')\n }\n}\n","import { ContentContainerComponentHarness } from '@angular/cdk/testing'\nimport { DataListGridHarness } from './data-list-grid.harness'\nimport { DataTableHarness } from './data-table.harness'\n\nexport class DataViewHarness extends ContentContainerComponentHarness {\n static hostSelector = 'ocx-data-view'\n\n getDataTable = this.locatorForOptional(DataTableHarness)\n getDataListGrid = this.locatorForOptional(DataListGridHarness)\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\nimport { PChartHarness, PSelectButtonHarness } from '@onecx/angular-testing'\n\nexport class DiagramHarness extends ComponentHarness {\n static hostSelector = 'ocx-diagram'\n\n getChart = this.locatorFor(PChartHarness)\n\n async getTotalNumberOfResults(): Promise<number | undefined> {\n return (await this.locatorForOptional('.sumKey span[name=\"amountOfData\"]')())?.text().then((s) => Number(s))\n }\n\n async getSumLabel(): Promise<string | undefined> {\n return (await this.locatorForOptional('.sumKey span[name=\"sumLabel\"]')())?.text()\n }\n\n async getDiagramTypeSelectButton() {\n return await this.locatorForOptional('p-selectbutton[name=\"diagram-type-select-button\"]')()\n }\n\n async getAllSelectionButtons() {\n return await (await this.locatorFor(PSelectButtonHarness)()).getAllButtons()\n }\n}\n","import { ContentContainerComponentHarness } from '@angular/cdk/testing'\nimport { DataTableHarness } from './data-table.harness'\nimport { PButtonHarness, PChipHarness, SpanHarness } from '@onecx/angular-testing'\n\nexport class FilterViewHarness extends ContentContainerComponentHarness {\n static hostSelector = 'ocx-filter-view'\n\n getOverlayResetFiltersButton = this.documentRootLocatorFactory().locatorForOptional(\n PButtonHarness.with({ id: 'ocxFilterViewOverlayReset' })\n )\n getFiltersButton = this.locatorForOptional(PButtonHarness.with({ id: 'ocxFilterViewManage' }))\n getChipsResetFiltersButton = this.locatorForOptional(PButtonHarness.with({ id: 'ocxFilterViewReset' }))\n getChips = this.locatorForAll(PChipHarness)\n getNoFiltersMessage = this.locatorForOptional(SpanHarness.with({ id: 'ocxFilterViewNoFilters' }))\n\n async getDataTable() {\n return await this.documentRootLocatorFactory().locatorForOptional(\n DataTableHarness.with({ id: 'ocxFilterViewDataTable' })\n )()\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\nimport { DiagramHarness } from './diagram.harness'\n\nexport class GroupByCountDiagramHarness extends ComponentHarness {\n static hostSelector = 'ocx-group-by-count-diagram'\n\n getDiagram = this.locatorFor(DiagramHarness)\n}","import { BaseHarnessFilters, ContentContainerComponentHarness } from '@angular/cdk/testing'\n\nexport interface SlotHarnessFilters extends BaseHarnessFilters {\n name?: string\n}\n\nexport class SlotHarness extends ContentContainerComponentHarness {\n static hostSelector = 'ocx-slot'\n}\n","import { ContentContainerComponentHarness } from '@angular/cdk/testing'\nimport { DivHarness, PButtonHarness } from '@onecx/angular-testing'\nimport { PSelectHarness } from '@onecx/angular-testing'\nimport { DataLayoutSelectionHarness } from './data-layout-selection.harness'\nimport { DataViewHarness } from './data-view.harness'\nimport { SlotHarness } from './slot.harness'\nimport { CustomGroupColumnSelectorHarness } from './custom-group-column-selector.harness'\n\nexport class InteractiveDataViewHarness extends ContentContainerComponentHarness {\n static hostSelector = 'ocx-interactive-data-view'\n\n async getHeaderStyleClasses() {\n const headerDiv = await this.locatorFor(DivHarness.with({ id: 'interactiveDataViewHeader' }))()\n const headerClassList = await headerDiv.getClassList()\n return headerClassList\n }\n\n async getContentStyleClasses() {\n const contentDiv = await this.locatorFor(DivHarness.with({ id: 'interactiveDataViewContent' }))()\n const contentClassList = await contentDiv.getClassList()\n return contentClassList\n }\n\n getDataLayoutSelection = this.locatorFor(DataLayoutSelectionHarness)\n getColumnGroupSelectionSelect = this.locatorForOptional(PSelectHarness.with({ id: 'columnGroupSelectionSelect' }))\n getCustomGroupColumnSelector = this.locatorForOptional(CustomGroupColumnSelectorHarness)\n getCustomGroupColumnSelectorSlot = this.locatorForOptional(SlotHarness)\n getDataListGridSortingSelect = this.locatorForOptional(PSelectHarness.with({ id: 'dataListGridSortingSelect' }))\n getDataListGridSortingButton = this.locatorForOptional(PButtonHarness.with({ id: 'dataListGridSortingButton' }))\n getDataView = this.locatorFor(DataViewHarness)\n}\n","import { ContentContainerComponentHarness } from \"@angular/cdk/testing\"\n\nexport class LifecycleHarness extends ContentContainerComponentHarness {\n static hostSelector = 'ocx-lifecycle'\n\n getSteps = this.locatorForAll('.p-timeline-event-content .card')\n getHighlightedSteps = this.locatorForAll('.p-timeline-event-content .card.bg-primary')\n}","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\nimport {\n ListItemHarness,\n MenuItemHarness,\n PBreadcrumbHarness,\n PButtonHarness,\n PMenuHarness,\n} from '@onecx/angular-testing'\n\nexport class PageHeaderHarness extends ComponentHarness {\n static hostSelector = 'ocx-page-header'\n\n getPageHeaderWrapperHarness = this.locatorForAll('[name=\"ocx-page-header-wrapper\"]')\n getBreadcrumb = this.locatorForOptional(PBreadcrumbHarness)\n getMenu = this.locatorForOptional(PMenuHarness)\n\n async getElementByTitle(title: string) {\n return await this.locatorForOptional(`[title=\"${title}\"]`)()\n }\n\n async getElementByAriaLabel(ariaLabel: string) {\n return await this.locatorForOptional(`[aria-label=\"${ariaLabel}\"]`)()\n }\n\n async getObjectInfos() {\n return await this.locatorForAll(ObjectDetailItemHarness)()\n }\n\n async getObjectInfoByLabel(objectInfolabel: string) {\n return await this.locatorForOptional(ObjectDetailItemHarness.with({ label: objectInfolabel }))()\n }\n\n async getInlineActionButtons() {\n const inlineActionButtons = await this.locatorForAll(\n PButtonHarness.with({ name: 'ocx-page-header-inline-action-button' })\n )()\n const inlineActionIconButtons = await this.locatorForAll(\n PButtonHarness.with({ name: 'ocx-page-header-inline-action-icon-button' })\n )()\n return inlineActionButtons.concat(inlineActionIconButtons)\n }\n\n async getInlineActionButtonByLabel(buttonLabel: string) {\n return await this.locatorForOptional(PButtonHarness.with({ label: buttonLabel }))()\n }\n\n async getInlineActionButtonByIcon(buttonIcon: string) {\n return await this.locatorForOptional(PButtonHarness.with({ icon: buttonIcon }))()\n }\n\n async getOverflowActionMenuButton() {\n return await this.locatorForOptional('[name=\"ocx-page-header-overflow-action-button\"]')()\n }\n\n async getOverFlowMenuItems() {\n const menu = await this.getMenu()\n const menuItems = await menu?.getAllMenuItems()\n return menuItems ?? []\n }\n\n async getOverFlowMenuItem(itemText: string): Promise<MenuItemHarness | undefined | null> {\n const menu = await this.getMenu()\n return await menu?.getMenuItem(itemText)\n }\n\n async getBreadcrumbItem(itemText: string): Promise<ListItemHarness | undefined | null> {\n const breadcrumb = await this.getBreadcrumb()\n return await breadcrumb?.getBreadcrumbItem(itemText)\n }\n\n async getHeaderText(): Promise<string | undefined> {\n return await (await this.locatorForOptional('#page-header')())?.text()\n }\n\n async getSubheaderText(): Promise<string | undefined> {\n return await (await this.locatorForOptional('#page-subheader')())?.text()\n }\n}\n\ninterface ObjectDetailItemHarnessFilters extends BaseHarnessFilters {\n label?: string\n}\n\nclass ObjectDetailItemHarness extends ComponentHarness {\n static hostSelector = '.object-info'\n\n getLabelElement = this.locatorFor('[name=\"object-detail-label\"]')\n getValueElement = this.locatorForOptional('[name=\"object-detail-value\"]')\n getIconElement = this.locatorForOptional('[name=\"object-detail-icon\"]')\n\n static with(options: ObjectDetailItemHarnessFilters): HarnessPredicate<ObjectDetailItemHarness> {\n return new HarnessPredicate(ObjectDetailItemHarness, options).addOption('label', options.label, (harness, label) =>\n HarnessPredicate.stringMatches(harness.getLabel(), label)\n )\n }\n\n async getLabel() {\n return (await this.getLabelElement()).text()\n }\n\n async getValue() {\n return (await this.getValueElement())?.text()\n }\n\n async getValueStyles() {\n return (await this.getValueElement())?.getAttribute('class')\n }\n\n async getIcon() {\n return (await this.getIconElement())?.getAttribute('class')\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\nimport { PButtonHarness } from '@onecx/angular-testing'\nimport { PageHeaderHarness } from './page-header.harness'\nimport { MoreActionsMenuButtonHarness } from './more-actions-menu-button.harness'\n\nexport class SearchHeaderHarness extends ComponentHarness {\n static hostSelector = 'ocx-search-header'\n\n getPageHeader = this.locatorFor(PageHeaderHarness)\n getSearchButton = this.locatorFor(\n PButtonHarness.with({\n id: 'searchButton',\n })\n )\n\n getResetButton = this.locatorFor(\n PButtonHarness.with({\n id: 'resetButton',\n })\n )\n\n getSimpleAdvancedButton = this.locatorForOptional(\n PButtonHarness.with({\n id: 'simpleAdvancedButton',\n })\n )\n\n getMoreActionsMenuButton = this.locatorForOptional(MoreActionsMenuButtonHarness)\n\n async clickResetButton() {\n await (await this.getResetButton()).click()\n }\n\n async clickSearchButton() {\n await (await this.getSearchButton()).click()\n }\n\n async toggleSimpleAdvanced() {\n if (await this.getSimpleAdvancedButton()) {\n await (await this.getSimpleAdvancedButton())?.click()\n } else {\n console.warn('No SimpleAdvancedButton is being displayed to toggle, because no advanced form field is defined.')\n }\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\n\nexport class DialogMessageContentHarness extends ComponentHarness {\n static hostSelector = '.dialogMessageContent'\n\n private getMessageSpan = this.locatorFor('#dialogMessage')\n private getIcon = this.locatorForOptional('i')\n\n async getMessageContent(): Promise<string> {\n return await (await this.getMessageSpan()).text()\n }\n\n async getIconValue(): Promise<string | null | undefined> {\n return await (await this.getIcon())?.getAttribute('class')\n }\n}\n","import { ContentContainerComponentHarness } from '@onecx/angular-testing'\nimport { DialogMessageContentHarness } from './dialog-message-content.harness'\n\nexport class DialogContentHarness extends ContentContainerComponentHarness {\n static hostSelector = 'ocx-dialog-content'\n\n getDialogMessageContent = this.locatorForOptional(DialogMessageContentHarness)\n}\n","import { ContentContainerComponentHarness, PButtonDirectiveHarness } from '@onecx/angular-testing'\n\nexport class DialogFooterHarness extends ContentContainerComponentHarness {\n static hostSelector = 'ocx-dialog-footer'\n\n getPrimaryButton = this.locatorFor(PButtonDirectiveHarness.with({ id: 'buttonDialogPrimaryButton' }))\n getSecondaryButton = this.locatorForOptional(PButtonDirectiveHarness.with({ id: 'buttonDialogSecondaryButton' }))\n\n async clickPrimaryButton() {\n await (await this.getPrimaryButton()).click()\n }\n\n async clickSecondaryButton() {\n await (await this.getSecondaryButton())?.click()\n }\n\n async getPrimaryButtonLabel(): Promise<string | null> {\n return await (await this.getPrimaryButton()).getLabel()\n }\n\n async getPrimaryButtonIcon(): Promise<string | null> {\n return await (await this.getPrimaryButton()).getIcon()\n }\n\n async getSecondaryButtonLabel(): Promise<string | null | undefined> {\n return await (await this.getSecondaryButton())?.getLabel()\n }\n\n async getSecondaryButtonIcon(): Promise<string | null | undefined> {\n return await (await this.getSecondaryButton())?.getIcon()\n }\n\n async getPrimaryButtonDisabled(): Promise<boolean> {\n return await (await this.getPrimaryButton()).getDisabled()\n }\n\n async getSecondaryButtonDisabled(): Promise<boolean | undefined> {\n return await (await this.getSecondaryButton())?.getDisabled()\n }\n}\n","import { ContentContainerComponentHarness } from '@onecx/angular-testing'\nimport { DialogContentHarness } from './dialog-content.harness'\nimport { DialogFooterHarness } from './dialog-footer.harness'\n\nexport class DialogInlineHarness extends ContentContainerComponentHarness {\n static hostSelector = 'ocx-dialog-inline'\n\n getDialogContent = this.locatorFor(DialogContentHarness)\n getDialogFooter = this.locatorFor(DialogFooterHarness)\n}\n","import { ensureIntersectionObserverMockExists, ensureOriginMockExists } from '@onecx/angular-testing'\n\nexport * from './column-group-selection.harness'\nexport * from './content-container.harness'\nexport * from './content.harness'\nexport * from './custom-group-column-selector.harness'\nexport * from './data-layout-selection.harness'\nexport * from './data-list-grid.harness'\nexport * from './data-table.harness'\nexport * from './data-view.harness'\nexport * from './default-grid-item.harness'\nexport * from './default-list-item.harness'\nexport * from './diagram.harness'\nexport * from './filter-view.harness'\nexport * from './group-by-count-diagram.harness'\nexport * from './interactive-data-view.harness'\nexport * from './lifecycle.harness'\nexport * from './more-actions-menu-button.harness'\nexport * from './page-header.harness'\nexport * from './slot.harness'\nexport * from './search-header.harness'\nexport * from '../testing/dialog-content.harness'\nexport * from '../testing/dialog-footer.harness'\nexport * from '../testing/dialog-inline.harness'\nexport * from '../testing/dialog-message-content.harness'\n\nexport * from '@angular/cdk/testing'\nexport * from '@angular/cdk/testing/testbed'\nexport * from '@onecx/angular-testing'\n\nensureIntersectionObserverMockExists()\nensureOriginMockExists()\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["ContentContainerComponentHarness"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"onecx-angular-accelerator-testing.mjs","sources":["../../../../libs/angular-accelerator/testing/column-group-selection.harness.ts","../../../../libs/angular-accelerator/testing/content-container.harness.ts","../../../../libs/angular-accelerator/testing/content.harness.ts","../../../../libs/angular-accelerator/testing/custom-group-column-selector.harness.ts","../../../../libs/angular-accelerator/testing/data-layout-selection.harness.ts","../../../../libs/angular-accelerator/testing/more-actions-menu-button.harness.ts","../../../../libs/angular-accelerator/testing/default-grid-item.harness.ts","../../../../libs/angular-accelerator/testing/default-list-item.harness.ts","../../../../libs/angular-accelerator/testing/data-list-grid.harness.ts","../../../../libs/angular-accelerator/testing/data-table.harness.ts","../../../../libs/angular-accelerator/testing/data-view.harness.ts","../../../../libs/angular-accelerator/testing/diagram.harness.ts","../../../../libs/angular-accelerator/testing/filter-view.harness.ts","../../../../libs/angular-accelerator/testing/group-by-count-diagram.harness.ts","../../../../libs/angular-accelerator/testing/slot.harness.ts","../../../../libs/angular-accelerator/testing/interactive-data-view.harness.ts","../../../../libs/angular-accelerator/testing/lifecycle.harness.ts","../../../../libs/angular-accelerator/testing/page-header.harness.ts","../../../../libs/angular-accelerator/testing/search-header.harness.ts","../../../../libs/angular-accelerator/testing/dialog-message-content.harness.ts","../../../../libs/angular-accelerator/testing/dialog-content.harness.ts","../../../../libs/angular-accelerator/testing/dialog-footer.harness.ts","../../../../libs/angular-accelerator/testing/dialog-inline.harness.ts","../../../../libs/angular-accelerator/testing/index.ts","../../../../libs/angular-accelerator/testing/onecx-angular-accelerator-testing.ts"],"sourcesContent":["import { ComponentHarness } from '@angular/cdk/testing'\nimport { PSelectHarness } from '@onecx/angular-testing'\n\nexport class ColumnGroupSelectionHarness extends ComponentHarness {\n static hostSelector = 'ocx-column-group-selection'\n\n getPSelect = this.locatorFor(PSelectHarness)\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\nimport { DivHarness } from '@onecx/angular-testing'\n\nexport class OcxContentContainerHarness extends ComponentHarness {\n static hostSelector = 'ocx-content-container'\n\n async getLayoutClasses() {\n const div = await this.locatorFor(DivHarness)()\n const actualClassList = await div.getClassList()\n\n return actualClassList\n }\n\n async getLayout(): Promise<'horizontal' | 'vertical'> {\n const layoutClassses = await this.getLayoutClasses()\n return layoutClassses.find((c) => c.endsWith(':flex-row')) ? 'horizontal' : 'vertical'\n }\n\n async getBreakpoint(): Promise<'sm' | 'md' | 'lg' | 'xl' | undefined> {\n const layoutClassses = await this.getLayoutClasses()\n const layoutClass = layoutClassses.find((c) => c.endsWith(':flex-row'))\n return layoutClass?.split(':')[0] as 'sm' | 'md' | 'lg' | 'xl' | undefined\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\nimport { DivHarness, PHarness } from '@onecx/angular-testing'\n\nexport class OcxContentHarness extends ComponentHarness {\n static hostSelector = 'ocx-content'\n\n async getContentClasses() {\n const div = await this.locatorFor(DivHarness)()\n const actualClassList = await div.getClassList()\n\n return actualClassList\n }\n\n async getTitleClasses(titleElementId: string) {\n const p = await this.getTitleHarness(titleElementId)\n if (p) {\n const actualClassList = await p.getClassList()\n return actualClassList\n }\n return null\n }\n\n async getTitle(titleElementId: string) {\n const p = await this.getTitleHarness(titleElementId)\n if (p) {\n const titleContent = await p.getText()\n return titleContent\n }\n return null\n }\n\n async getTitleHarness(titleElementId: string) {\n const pHarness = await this.locatorForOptional(PHarness.with({ id: titleElementId }))()\n return pHarness\n }\n\n async hasTitle(titleElementId: string): Promise<boolean> {\n const title = await this.getTitleHarness(titleElementId)\n return !!title\n }\n}\n","import { ContentContainerComponentHarness } from '@angular/cdk/testing'\nimport { PDialogHarness, PPicklistHarness, PButtonHarness } from '@onecx/angular-testing'\n\nexport class CustomGroupColumnSelectorHarness extends ContentContainerComponentHarness {\n static hostSelector = 'ocx-custom-group-column-selector'\n\n getCustomGroupColumnSelectorButton = this.locatorFor(\n PButtonHarness.with({\n id: 'customGroupColumnSelectorButton',\n })\n )\n\n getDialog = this.locatorFor(PDialogHarness)\n getCancelButton = this.locatorFor(PButtonHarness.with({ id: 'cancelButton' }))\n getSaveButton = this.locatorFor(PButtonHarness.with({ id: 'saveButton' }))\n getPicklist = this.locatorFor(PPicklistHarness)\n getSelectButtons = this.locatorForOptional('[name]')\n\n async getFrozenActionColumnSelectButton() {\n return await this.locatorForAll(`[name=\"frozen-action-column-select-button\"] .p-togglebutton`)()\n }\n\n async getActionColumnPositionSelectButtons() {\n return await this.locatorForAll(`[name=\"action-column-position-select-button\"] .p-togglebutton`)()\n }\n\n async openCustomGroupColumnSelectorDialog() {\n if (!(await (await this.getDialog()).isVisible())) {\n await (await this.getCustomGroupColumnSelectorButton()).click()\n } else {\n console.warn('Unable to open CustomGroupColumnSelectionDialog, because it is already open.')\n }\n }\n}\n","import { ContentContainerComponentHarness } from '@angular/cdk/testing'\nimport { PToggleButtonHarness } from '@onecx/angular-testing'\n\nexport class DataLayoutSelectionHarness extends ContentContainerComponentHarness {\n static hostSelector = 'ocx-data-layout-selection'\n\n getListLayoutSelectionToggleButton = this.locatorFor(\n PToggleButtonHarness.with({ onLabel: 'ocx-data-layout-selection-list' })\n )\n getGridLayoutSelectionToggleButton = this.locatorFor(\n PToggleButtonHarness.with({ onLabel: 'ocx-data-layout-selection-grid' })\n )\n getTableLayoutSelectionToggleButton = this.locatorFor(\n PToggleButtonHarness.with({ onLabel: 'ocx-data-layout-selection-table' })\n )\n\n async getCurrentLayout() {\n return await (await this.host()).getAttribute('ng-reflect-layout')\n }\n\n async selectListLayout() {\n await (await this.getListLayoutSelectionToggleButton()).click()\n }\n\n async selectGridLayout() {\n await (await this.getGridLayoutSelectionToggleButton()).click()\n }\n\n async selectTableLayout() {\n await (await this.getTableLayoutSelectionToggleButton()).click()\n }\n}\n","import { ContentContainerComponentHarness, HarnessLoader } from '@angular/cdk/testing'\nimport { MenuItemHarness } from '@onecx/angular-testing'\n\nexport class MoreActionsMenuButtonHarness extends ContentContainerComponentHarness {\n static hostSelector = '.more-actions-menu-button'\n\n async getHarnessLoaderForPMenuOverlay(): Promise<HarnessLoader | null> {\n return this.documentRootLocatorFactory().harnessLoaderForOptional('.p-menu-overlay')\n }\n\n async isOpen(): Promise<boolean> {\n return !!(await this.getHarnessLoaderForPMenuOverlay())\n }\n\n async open() {\n if (!(await this.isOpen())) {\n await (await this.host()).click()\n } else {\n console.warn('Unable to open multiSelect, because it is already open.')\n }\n }\n\n async close() {\n if (await this.isOpen()) {\n await (await this.host()).click()\n } else {\n console.warn('Unable to open multiSelect, because it is already open.')\n }\n }\n\n async getAllActionsMenuItems() {\n await this.open()\n if (await this.getHarnessLoaderForPMenuOverlay()) {\n return this.documentRootLocatorFactory().locatorForAll(MenuItemHarness)()\n }\n return []\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\nimport { DivHarness } from '@onecx/angular-testing'\nimport { MoreActionsMenuButtonHarness } from './more-actions-menu-button.harness'\n\nexport class DefaultGridItemHarness extends ComponentHarness {\n static hostSelector = '.data-grid-item'\n\n getMoreActionsButton = this.locatorFor(MoreActionsMenuButtonHarness)\n private getAllDivs = this.locatorForAll(DivHarness)\n private getGridImg = this.locatorFor('img')\n\n async getData() {\n const isDataGridItemsDiv = await Promise.all(\n (await this.getAllDivs()).map((divHarness) => this.checkDivsHasClasses(divHarness))\n )\n const divHarnesses = (await this.getAllDivs()).filter((_v, index) => isDataGridItemsDiv[index])\n const getDivTexts: (string | null)[] = await Promise.all(divHarnesses.map((divHarness) => divHarness.getText()))\n getDivTexts.unshift(await (await this.getGridImg()).getAttribute('src'))\n return getDivTexts\n }\n\n async checkDivsHasClasses(value: DivHarness) {\n const hasClass = (await value.checkHasClass('item-name')) || (await value.checkHasClass('subtitleLine'))\n return hasClass\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\nimport { ButtonHarness, DivHarness } from '@onecx/angular-testing'\nimport { waitForDeferredViewsToBeRendered } from '@onecx/angular-testing'\n\nexport class DefaultListItemHarness extends ComponentHarness {\n static hostSelector = '.data-list-items'\n\n getAllActionButtons = this.locatorForAll('button')\n getViewButton = this.locatorForOptional(ButtonHarness.with({ class: 'viewListItemButton' }))\n getEditButton = this.locatorForOptional(ButtonHarness.with({ class: 'editListItemButton' }))\n getDeleteButton = this.locatorForOptional(ButtonHarness.with({ class: 'deleteListItemButton' }))\n\n private getAllDivs = this.locatorForAll(DivHarness)\n\n async getData() {\n await waitForDeferredViewsToBeRendered(this)\n const isDataListItemsDiv = await Promise.all(\n (await this.getAllDivs()).map((innerDivHarness) => this.checkDivsHasClasses(innerDivHarness))\n )\n const divHarnesses = (await this.getAllDivs()).filter((_v, index) => isDataListItemsDiv[index])\n const getDivTexts = await Promise.all(divHarnesses.map((divHarness) => divHarness.getText()))\n return getDivTexts\n }\n\n async checkDivsHasClasses(value: DivHarness) {\n const hasClass = (await value.checkHasClass('item-name-row')) || (await value.checkHasClass('subtitleLine'))\n return hasClass\n }\n}\n","import { ContentContainerComponentHarness, TestElement, parallel } from '@angular/cdk/testing'\nimport { PMenuHarness, PPaginatorHarness, waitForDeferredViewsToBeRendered } from '@onecx/angular-testing'\nimport { DefaultGridItemHarness } from './default-grid-item.harness'\nimport { DefaultListItemHarness } from './default-list-item.harness'\n\nexport class DataListGridHarness extends ContentContainerComponentHarness {\n static hostSelector = 'ocx-data-list-grid'\n\n getDefaultGridItems = this.locatorForAll(DefaultGridItemHarness)\n getPaginator = this.locatorFor(PPaginatorHarness)\n getGridMenuButton = this.locatorFor(`[name=\"data-grid-item-menu-button\"]`)\n getListOverflowMenuButton = this.locatorFor(`[name=\"data-list-overflow-item-menu-button\"]`)\n getListOverflowMenu = this.locatorForOptional(PMenuHarness)\n\n async getDefaultListItems() {\n await waitForDeferredViewsToBeRendered(this)\n return await this.locatorForAll(DefaultListItemHarness)()\n }\n\n async getActionButtons(actionButtonType: 'list' | 'grid' | 'grid-hidden') {\n if (actionButtonType === 'list') {\n return await this.locatorForAll(`[name=\"data-list-action-button\"]`)()\n } else if (actionButtonType === 'grid-hidden') {\n return await this.documentRootLocatorFactory().locatorForAll(\n `li:has([data-automationid=\"data-grid-action-button-hidden\"])`\n )()\n } else {\n return await this.documentRootLocatorFactory().locatorForAll(\n `li:has([data-automationid=\"data-grid-action-button\"])`\n )()\n }\n }\n\n async getListOverflowMenuItems() {\n const menu = await this.getListOverflowMenu()\n const menuItems = await menu?.getAllMenuItems()\n return menuItems ?? []\n }\n\n async actionButtonIsDisabled(actionButton: TestElement, viewType: 'list' | 'grid'): Promise<boolean> {\n if (viewType === 'list') {\n return await actionButton.getProperty('disabled')\n } else {\n const ariaDisabled = await actionButton.getAttribute('aria-disabled')\n\n if (ariaDisabled === 'true') {\n return true\n }\n\n return false\n }\n }\n\n async hasAmountOfActionButtons(actionButtonType: 'list' | 'grid' | 'grid-hidden', amount: number) {\n return (await this.getActionButtons(actionButtonType)).length === amount\n }\n\n async hasAmountOfDisabledActionButtons(viewType: 'list' | 'grid', amount: number) {\n let disabledActionButtonsCount = 0\n const actionButtons = await this.getActionButtons(viewType)\n await parallel(() =>\n actionButtons.map(async (actionButton) => {\n if ((await this.actionButtonIsDisabled(actionButton, viewType)) === true) {\n disabledActionButtonsCount++\n }\n })\n )\n return disabledActionButtonsCount === amount\n }\n}\n","import {\n BaseHarnessFilters,\n ContentContainerComponentHarness,\n HarnessPredicate,\n TestElement,\n parallel,\n} from '@angular/cdk/testing'\nimport {\n TableHeaderColumnHarness,\n TableRowHarness,\n PPaginatorHarness,\n PTableCheckboxHarness,\n PMenuHarness,\n MenuItemHarness,\n} from '@onecx/angular-testing'\n\nexport interface DataTableHarnessFilters extends BaseHarnessFilters {\n id?: string\n}\n\nexport class DataTableHarness extends ContentContainerComponentHarness {\n static hostSelector = 'ocx-data-table'\n\n static with(options: DataTableHarnessFilters): HarnessPredicate<DataTableHarness> {\n return new HarnessPredicate(DataTableHarness, options).addOption('id', options.id, (harness, id) =>\n HarnessPredicate.stringMatches(harness.getId(), id)\n )\n }\n\n getHeaderColumns = this.locatorForAll(TableHeaderColumnHarness)\n getRows = this.locatorForAll(TableRowHarness)\n getPaginator = this.locatorFor(PPaginatorHarness)\n getOverflowMenu = this.locatorForOptional(PMenuHarness)\n\n async getId(): Promise<string | null> {\n return await (await this.host()).getAttribute('id')\n }\n\n async rowSelectionIsEnabled(): Promise<boolean> {\n const pTableCheckbox = await this.getHarnessesForCheckboxes('all')\n return pTableCheckbox.length > 0\n }\n\n async getHarnessesForCheckboxes(type: 'all' | 'checked' | 'unchecked'): Promise<PTableCheckboxHarness[]> {\n let checkBoxHarnesses: PTableCheckboxHarness[]\n if (type === 'checked') {\n checkBoxHarnesses = await this.getAllHarnesses(PTableCheckboxHarness.with({ isSelected: true }))\n return checkBoxHarnesses\n }\n if (type === 'unchecked') {\n checkBoxHarnesses = await this.getAllHarnesses(PTableCheckboxHarness.with({ isSelected: false }))\n return checkBoxHarnesses\n } else {\n checkBoxHarnesses = await this.getAllHarnesses(PTableCheckboxHarness)\n return checkBoxHarnesses\n }\n }\n\n async getActionColumnHeader(position: 'left' | 'right') {\n return await this.locatorForOptional(`[name=\"action-column-header-${position}\"]`)()\n }\n\n async getActionColumn(position: 'left' | 'right') {\n return await this.locatorForOptional(`[name=\"action-column-${position}\"]`)()\n }\n\n async getActionButtons() {\n return await this.locatorForAll(`[name=\"data-table-action-button\"]`)()\n }\n\n async getOverflowActionMenuButton() {\n return await this.locatorForOptional('[name=\"data-table-overflow-action-button\"]')()\n }\n\n async getOverFlowMenuItems() {\n const menu = await this.getOverflowMenu()\n const menuItems = await menu?.getAllMenuItems()\n return menuItems ?? []\n }\n\n async getOverFlowMenuItem(itemText: string): Promise<MenuItemHarness | undefined | null> {\n const menu = await this.getOverflowMenu()\n return await menu?.getMenuItem(itemText)\n }\n\n async actionButtonIsDisabled(actionButton: TestElement) {\n const isDisabled = await actionButton.getProperty('disabled')\n return isDisabled\n }\n\n async hasAmountOfActionButtons(amount: number) {\n return (await this.getActionButtons()).length === amount\n }\n\n async hasAmountOfDisabledActionButtons(amount: number) {\n let disabledActionButtonsCount = 0\n const actionButtons = await this.getActionButtons()\n await parallel(() =>\n actionButtons.map(async (actionButton) => {\n if ((await this.actionButtonIsDisabled(actionButton)) === true) {\n disabledActionButtonsCount++\n }\n })\n )\n return disabledActionButtonsCount === amount\n }\n\n async columnIsFrozen(column: TestElement | null | undefined) {\n if (column === null || column === undefined) {\n throw new Error('Given column is null')\n }\n return await column.hasClass('p-datatable-frozen-column')\n }\n}\n","import { ContentContainerComponentHarness } from '@angular/cdk/testing'\nimport { DataListGridHarness } from './data-list-grid.harness'\nimport { DataTableHarness } from './data-table.harness'\n\nexport class DataViewHarness extends ContentContainerComponentHarness {\n static hostSelector = 'ocx-data-view'\n\n getDataTable = this.locatorForOptional(DataTableHarness)\n getDataListGrid = this.locatorForOptional(DataListGridHarness)\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\nimport { PChartHarness, PSelectButtonHarness } from '@onecx/angular-testing'\n\nexport class DiagramHarness extends ComponentHarness {\n static hostSelector = 'ocx-diagram'\n\n getChart = this.locatorFor(PChartHarness)\n\n async getTotalNumberOfResults(): Promise<number | undefined> {\n return (await this.locatorForOptional('.sumKey span[name=\"amountOfData\"]')())?.text().then((s) => Number(s))\n }\n\n async getSumLabel(): Promise<string | undefined> {\n return (await this.locatorForOptional('.sumKey span[name=\"sumLabel\"]')())?.text()\n }\n\n async getDiagramTypeSelectButton() {\n return await this.locatorForOptional('p-selectbutton[name=\"diagram-type-select-button\"]')()\n }\n\n async getAllSelectionButtons() {\n return await (await this.locatorFor(PSelectButtonHarness)()).getAllButtons()\n }\n}\n","import { ContentContainerComponentHarness } from '@angular/cdk/testing'\nimport { DataTableHarness } from './data-table.harness'\nimport { PButtonHarness, PChipHarness, SpanHarness } from '@onecx/angular-testing'\n\nexport class FilterViewHarness extends ContentContainerComponentHarness {\n static hostSelector = 'ocx-filter-view'\n\n getOverlayResetFiltersButton = this.documentRootLocatorFactory().locatorForOptional(\n PButtonHarness.with({ id: 'ocxFilterViewOverlayReset' })\n )\n getFiltersButton = this.locatorForOptional(PButtonHarness.with({ id: 'ocxFilterViewManage' }))\n getChipsResetFiltersButton = this.locatorForOptional(PButtonHarness.with({ id: 'ocxFilterViewReset' }))\n getChips = this.locatorForAll(PChipHarness)\n getNoFiltersMessage = this.locatorForOptional(SpanHarness.with({ id: 'ocxFilterViewNoFilters' }))\n\n async getDataTable() {\n return await this.documentRootLocatorFactory().locatorForOptional(\n DataTableHarness.with({ id: 'ocxFilterViewDataTable' })\n )()\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\nimport { DiagramHarness } from './diagram.harness'\n\nexport class GroupByCountDiagramHarness extends ComponentHarness {\n static hostSelector = 'ocx-group-by-count-diagram'\n\n getDiagram = this.locatorFor(DiagramHarness)\n}","import { BaseHarnessFilters, ContentContainerComponentHarness } from '@angular/cdk/testing'\n\nexport interface SlotHarnessFilters extends BaseHarnessFilters {\n name?: string\n}\n\nexport class SlotHarness extends ContentContainerComponentHarness {\n static hostSelector = 'ocx-slot'\n}\n","import { ContentContainerComponentHarness } from '@angular/cdk/testing'\nimport { DivHarness, PButtonHarness } from '@onecx/angular-testing'\nimport { PSelectHarness } from '@onecx/angular-testing'\nimport { DataLayoutSelectionHarness } from './data-layout-selection.harness'\nimport { DataViewHarness } from './data-view.harness'\nimport { SlotHarness } from './slot.harness'\nimport { CustomGroupColumnSelectorHarness } from './custom-group-column-selector.harness'\n\nexport class InteractiveDataViewHarness extends ContentContainerComponentHarness {\n static hostSelector = 'ocx-interactive-data-view'\n\n async getHeaderStyleClasses() {\n const headerDiv = await this.locatorFor(DivHarness.with({ id: 'interactiveDataViewHeader' }))()\n const headerClassList = await headerDiv.getClassList()\n return headerClassList\n }\n\n async getContentStyleClasses() {\n const contentDiv = await this.locatorFor(DivHarness.with({ id: 'interactiveDataViewContent' }))()\n const contentClassList = await contentDiv.getClassList()\n return contentClassList\n }\n\n getDataLayoutSelection = this.locatorFor(DataLayoutSelectionHarness)\n getColumnGroupSelectionSelect = this.locatorForOptional(PSelectHarness.with({ id: 'columnGroupSelectionSelect' }))\n getCustomGroupColumnSelector = this.locatorForOptional(CustomGroupColumnSelectorHarness)\n getCustomGroupColumnSelectorSlot = this.locatorForOptional(SlotHarness)\n getDataListGridSortingSelect = this.locatorForOptional(PSelectHarness.with({ id: 'dataListGridSortingSelect' }))\n getDataListGridSortingButton = this.locatorForOptional(PButtonHarness.with({ id: 'dataListGridSortingButton' }))\n getDataView = this.locatorFor(DataViewHarness)\n}\n","import { ContentContainerComponentHarness } from \"@angular/cdk/testing\"\n\nexport class LifecycleHarness extends ContentContainerComponentHarness {\n static hostSelector = 'ocx-lifecycle'\n\n getSteps = this.locatorForAll('.p-timeline-event-content .card')\n getHighlightedSteps = this.locatorForAll('.p-timeline-event-content .card.bg-primary')\n}","import { BaseHarnessFilters, ComponentHarness, ContentContainerComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\nimport {\n ListItemHarness,\n MenuItemHarness,\n PBreadcrumbHarness,\n PButtonHarness,\n PMenuHarness,\n} from '@onecx/angular-testing'\n\nexport class PageHeaderHarness extends ComponentHarness {\n static hostSelector = 'ocx-page-header'\n\n getPageHeaderWrapperHarness = this.locatorForAll('[name=\"ocx-page-header-wrapper\"]')\n getBreadcrumb = this.locatorForOptional(PBreadcrumbHarness)\n getMenu = this.locatorForOptional(PMenuHarness)\n\n async getElementByTitle(title: string) {\n return await this.locatorForOptional(`[title=\"${title}\"]`)()\n }\n\n async getElementByAriaLabel(ariaLabel: string) {\n return await this.locatorForOptional(`[aria-label=\"${ariaLabel}\"]`)()\n }\n\n async getObjectInfos() {\n return await this.locatorForAll(ObjectDetailItemHarness)()\n }\n\n async getObjectInfoByLabel(objectInfolabel: string) {\n return await this.locatorForOptional(ObjectDetailItemHarness.with({ label: objectInfolabel }))()\n }\n\n async getInlineActionButtons() {\n const inlineActionButtons = await this.locatorForAll(\n PButtonHarness.with({ name: 'ocx-page-header-inline-action-button' })\n )()\n const inlineActionIconButtons = await this.locatorForAll(\n PButtonHarness.with({ name: 'ocx-page-header-inline-action-icon-button' })\n )()\n return inlineActionButtons.concat(inlineActionIconButtons)\n }\n\n async getInlineActionButtonByLabel(buttonLabel: string) {\n return await this.locatorForOptional(PButtonHarness.with({ label: buttonLabel }))()\n }\n\n async getInlineActionButtonByIcon(buttonIcon: string) {\n return await this.locatorForOptional(PButtonHarness.with({ icon: buttonIcon }))()\n }\n\n async getOverflowActionMenuButton() {\n return await this.locatorForOptional('[name=\"ocx-page-header-overflow-action-button\"]')()\n }\n\n async getOverFlowMenuItems() {\n const menu = await this.getMenu()\n const menuItems = await menu?.getAllMenuItems()\n return menuItems ?? []\n }\n\n async getOverFlowMenuItem(itemText: string): Promise<MenuItemHarness | undefined | null> {\n const menu = await this.getMenu()\n return await menu?.getMenuItem(itemText)\n }\n\n async getBreadcrumbItem(itemText: string): Promise<ListItemHarness | undefined | null> {\n const breadcrumb = await this.getBreadcrumb()\n return await breadcrumb?.getBreadcrumbItem(itemText)\n }\n\n async getHeaderText(): Promise<string | undefined> {\n return await (await this.locatorForOptional('#page-header')())?.text()\n }\n\n async getSubheaderText(): Promise<string | undefined> {\n return await (await this.locatorForOptional('#page-subheader')())?.text()\n }\n}\n\ninterface ObjectDetailItemHarnessFilters extends BaseHarnessFilters {\n label?: string\n}\n\nclass ObjectDetailItemHarness extends ContentContainerComponentHarness {\n static hostSelector = '.object-info'\n\n getLabelElement = this.locatorFor('[name=\"object-detail-label\"]')\n getValueElement = this.locatorForOptional('[name=\"object-detail-value\"]')\n getIconElement = this.locatorForOptional('[name=\"object-detail-icon\"]')\n\n static with(options: ObjectDetailItemHarnessFilters): HarnessPredicate<ObjectDetailItemHarness> {\n return new HarnessPredicate(ObjectDetailItemHarness, options).addOption('label', options.label, (harness, label) =>\n HarnessPredicate.stringMatches(harness.getLabel(), label)\n )\n }\n\n async getLabel() {\n return (await this.getLabelElement()).text()\n }\n\n async getValue() {\n return (await this.getValueElement())?.text()\n }\n\n async getValueStyles() {\n return (await this.getValueElement())?.getAttribute('class')\n }\n\n async getIcon() {\n return (await this.getIconElement())?.getAttribute('class')\n }\n\n async getLabelTooltipContent(): Promise<string | null> {\n return this.getTooltipFromElement(await this.getLabelElement())\n }\n\n async getValueTooltipContent(): Promise<string | null> {\n return this.getTooltipFromElement(\n await this.locatorForOptional('[name=\"object-detail-value\"] > span:first-of-type')()\n )\n }\n\n async getActionItemTooltipContent(): Promise<string | null> {\n return this.getTooltipFromElement(\n await this.locatorForOptional('[name=\"object-detail-value\"] p-button')()\n )\n }\n\n private async getTooltipFromElement(element: any): Promise<string | null> {\n if (!element) return null\n \n await element.hover()\n await this.forceStabilize()\n \n const rootLocator = this.documentRootLocatorFactory()\n const tooltipEl = await rootLocator.locatorForOptional('.p-tooltip .p-tooltip-text')()\n if (tooltipEl) {\n const text = await tooltipEl.text()\n await element.mouseAway()\n await this.forceStabilize()\n return text\n }\n \n return null\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\nimport { PButtonHarness } from '@onecx/angular-testing'\nimport { PageHeaderHarness } from './page-header.harness'\nimport { MoreActionsMenuButtonHarness } from './more-actions-menu-button.harness'\n\nexport class SearchHeaderHarness extends ComponentHarness {\n static hostSelector = 'ocx-search-header'\n\n getPageHeader = this.locatorFor(PageHeaderHarness)\n getSearchButton = this.locatorFor(\n PButtonHarness.with({\n id: 'searchButton',\n })\n )\n\n getResetButton = this.locatorFor(\n PButtonHarness.with({\n id: 'resetButton',\n })\n )\n\n getSimpleAdvancedButton = this.locatorForOptional(\n PButtonHarness.with({\n id: 'simpleAdvancedButton',\n })\n )\n\n getMoreActionsMenuButton = this.locatorForOptional(MoreActionsMenuButtonHarness)\n\n async clickResetButton() {\n await (await this.getResetButton()).click()\n }\n\n async clickSearchButton() {\n await (await this.getSearchButton()).click()\n }\n\n async toggleSimpleAdvanced() {\n if (await this.getSimpleAdvancedButton()) {\n await (await this.getSimpleAdvancedButton())?.click()\n } else {\n console.warn('No SimpleAdvancedButton is being displayed to toggle, because no advanced form field is defined.')\n }\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\n\nexport class DialogMessageContentHarness extends ComponentHarness {\n static hostSelector = '.dialogMessageContent'\n\n private getMessageSpan = this.locatorFor('#dialogMessage')\n private getIcon = this.locatorForOptional('i')\n\n async getMessageContent(): Promise<string> {\n return await (await this.getMessageSpan()).text()\n }\n\n async getIconValue(): Promise<string | null | undefined> {\n return await (await this.getIcon())?.getAttribute('class')\n }\n}\n","import { ContentContainerComponentHarness } from '@onecx/angular-testing'\nimport { DialogMessageContentHarness } from './dialog-message-content.harness'\n\nexport class DialogContentHarness extends ContentContainerComponentHarness {\n static hostSelector = 'ocx-dialog-content'\n\n getDialogMessageContent = this.locatorForOptional(DialogMessageContentHarness)\n}\n","import { ContentContainerComponentHarness, PButtonDirectiveHarness } from '@onecx/angular-testing'\n\nexport class DialogFooterHarness extends ContentContainerComponentHarness {\n static hostSelector = 'ocx-dialog-footer'\n\n getPrimaryButton = this.locatorFor(PButtonDirectiveHarness.with({ id: 'buttonDialogPrimaryButton' }))\n getSecondaryButton = this.locatorForOptional(PButtonDirectiveHarness.with({ id: 'buttonDialogSecondaryButton' }))\n\n async clickPrimaryButton() {\n await (await this.getPrimaryButton()).click()\n }\n\n async clickSecondaryButton() {\n await (await this.getSecondaryButton())?.click()\n }\n\n async getPrimaryButtonLabel(): Promise<string | null> {\n return await (await this.getPrimaryButton()).getLabel()\n }\n\n async getPrimaryButtonIcon(): Promise<string | null> {\n return await (await this.getPrimaryButton()).getIcon()\n }\n\n async getSecondaryButtonLabel(): Promise<string | null | undefined> {\n return await (await this.getSecondaryButton())?.getLabel()\n }\n\n async getSecondaryButtonIcon(): Promise<string | null | undefined> {\n return await (await this.getSecondaryButton())?.getIcon()\n }\n\n async getPrimaryButtonDisabled(): Promise<boolean> {\n return await (await this.getPrimaryButton()).getDisabled()\n }\n\n async getSecondaryButtonDisabled(): Promise<boolean | undefined> {\n return await (await this.getSecondaryButton())?.getDisabled()\n }\n}\n","import { ContentContainerComponentHarness } from '@onecx/angular-testing'\nimport { DialogContentHarness } from './dialog-content.harness'\nimport { DialogFooterHarness } from './dialog-footer.harness'\n\nexport class DialogInlineHarness extends ContentContainerComponentHarness {\n static hostSelector = 'ocx-dialog-inline'\n\n getDialogContent = this.locatorFor(DialogContentHarness)\n getDialogFooter = this.locatorFor(DialogFooterHarness)\n}\n","import { ensureIntersectionObserverMockExists, ensureOriginMockExists } from '@onecx/angular-testing'\n\nexport * from './column-group-selection.harness'\nexport * from './content-container.harness'\nexport * from './content.harness'\nexport * from './custom-group-column-selector.harness'\nexport * from './data-layout-selection.harness'\nexport * from './data-list-grid.harness'\nexport * from './data-table.harness'\nexport * from './data-view.harness'\nexport * from './default-grid-item.harness'\nexport * from './default-list-item.harness'\nexport * from './diagram.harness'\nexport * from './filter-view.harness'\nexport * from './group-by-count-diagram.harness'\nexport * from './interactive-data-view.harness'\nexport * from './lifecycle.harness'\nexport * from './more-actions-menu-button.harness'\nexport * from './page-header.harness'\nexport * from './slot.harness'\nexport * from './search-header.harness'\nexport * from '../testing/dialog-content.harness'\nexport * from '../testing/dialog-footer.harness'\nexport * from '../testing/dialog-inline.harness'\nexport * from '../testing/dialog-message-content.harness'\n\nexport * from '@angular/cdk/testing'\nexport * from '@angular/cdk/testing/testbed'\nexport * from '@onecx/angular-testing'\n\nensureIntersectionObserverMockExists()\nensureOriginMockExists()\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["ContentContainerComponentHarness"],"mappings":"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"}
|