@onecx/angular-accelerator 8.0.0-rc.7 → 8.0.0-rc.8

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.
@@ -58,7 +58,7 @@
58
58
  "DESCENDING_TOOLTIP": "Absteigend sortieren",
59
59
  "DEFAULT_TOOLTIP": "Standardsortierung"
60
60
  },
61
- "SORTING_BUTTON_ARIA_LABEL": "{{direction}} sortieren"
61
+ "SORTING_BUTTON_ARIA_LABEL": "Aktuelle Sortierrichtung: {{currentDirection}}. Sortierrichtung auf {{nextDirection}} ändern"
62
62
  },
63
63
  "OCX_DATA_TABLE": {
64
64
  "SEARCH_RESULTS_FOUND": "{{results}} Ergebnisse gefunden",
@@ -103,6 +103,9 @@
103
103
  "MORE_ACTIONS_TOOLTIP": "Weitere Aktionen anzeigen"
104
104
  },
105
105
  "OCX_DATA_LAYOUT_SELECTION": {
106
+ "SELECT_BUTTON": {
107
+ "ARIA_LABEL": "Layout auswählen"
108
+ },
106
109
  "LAYOUT": {
107
110
  "LIST": "Liste",
108
111
  "GRID": "Raster",
@@ -125,7 +128,9 @@
125
128
  "MANAGE_FILTERS_BUTTON": {
126
129
  "LABEL": "Filter",
127
130
  "ARIA_LABEL": "Aktive Filter verwalten",
128
- "DETAIL": "Aktive Filter verwalten"
131
+ "DETAIL": "Aktive Filter verwalten",
132
+ "DISABLED_DETAIL": "Keine aktiven Filter zum Verwalten"
133
+
129
134
  },
130
135
  "TABLE": {
131
136
  "COLUMN_NAME": "Spaltenname",
@@ -164,6 +169,11 @@
164
169
  "EXPORT": "Alle Ereignisse exportieren",
165
170
  "CONTROLS": {
166
171
  "ARIA_LABEL": "Suchsteuerungen"
172
+ },
173
+ "ANNOUNCEMENTS": {
174
+ "SEARCHING": "Suche läuft...",
175
+ "NO_RESULTS": "Keine Ergebnisse gefunden",
176
+ "RESULTS_FOUND": "{{count}} Ergebnisse gefunden"
167
177
  }
168
178
  },
169
179
  "OCX_PAGE_HEADER": {
@@ -171,13 +181,22 @@
171
181
  "SUBHEADER": "Seiteninhalt",
172
182
  "MORE_ACTIONS": "Weitere Aktionen",
173
183
  "HOME_DEFAULT_ARIA_LABEL": "Zur Startseite navigieren",
174
- "HOME_ARIA_LABEL": "Zu {{page}} navigieren"
184
+ "HOME_ARIA_LABEL": "Zu {{page}} navigieren",
185
+ "BREADCRUMB_ARIA_LABEL": "Zu {{breadcrumb}} navigieren"
175
186
  },
176
187
  "OCX_DIAGRAM": {
177
- "ARIA_LABEL": "Diagramm: Gesamtanzahl: {{total}}. {{valueString}}.",
188
+ "ARIA_LABEL": "Diagramm Zusammenfassung: Gesamtanzahl: {{total}}. {{valueString}}.",
178
189
  "EMPTY_ARIA_LABEL": "Diagramm ohne Daten",
179
190
  "SUM": "Gesamtanzahl",
180
191
  "NO_DATA": "Es sind keine Daten vorhanden",
192
+ "SELECT_BUTTON": {
193
+ "ARIA_LABEL": "Diagrammtyp auswählen"
194
+ },
195
+ "TABLE": {
196
+ "COLOR": "Farbe",
197
+ "LABEL": "Bezeichnung",
198
+ "COUNT": "Anzahl"
199
+ },
181
200
  "SWITCH_DIAGRAM_TYPE": {
182
201
  "PIE": "Zu Tortendiagramm wechseln",
183
202
  "HORIZONTAL_BAR": "Zu horizontalem Balkendiagramm wechseln",
@@ -58,7 +58,7 @@
58
58
  "DESCENDING_TOOLTIP": "Sort Descending",
59
59
  "DEFAULT_TOOLTIP": "Default Sort"
60
60
  },
61
- "SORTING_BUTTON_ARIA_LABEL": "Toggle sorting direction to {{direction}}"
61
+ "SORTING_BUTTON_ARIA_LABEL": "Current Sorting direction: {{currentDirection}}. Toggle sorting direction to {{nextDirection}}"
62
62
  },
63
63
  "OCX_DATA_TABLE": {
64
64
  "SEARCH_RESULTS_FOUND": "{{results}} Results Found",
@@ -103,6 +103,9 @@
103
103
  "MORE_ACTIONS_TOOLTIP": "Display more actions"
104
104
  },
105
105
  "OCX_DATA_LAYOUT_SELECTION": {
106
+ "SELECT_BUTTON": {
107
+ "ARIA_LABEL": "Select layout"
108
+ },
106
109
  "LAYOUT": {
107
110
  "LIST": "List",
108
111
  "GRID": "Grid",
@@ -125,7 +128,8 @@
125
128
  "MANAGE_FILTERS_BUTTON": {
126
129
  "LABEL": "Filters",
127
130
  "ARIA_LABEL": "Manage active filters",
128
- "DETAIL": "Manage active filters"
131
+ "DETAIL": "Manage active filters",
132
+ "DISABLED_DETAIL": "No active filters to manage"
129
133
  },
130
134
  "TABLE": {
131
135
  "COLUMN_NAME": "Column name",
@@ -164,6 +168,11 @@
164
168
  "EXPORT": "Export all events",
165
169
  "CONTROLS": {
166
170
  "ARIA_LABEL": "Search controls"
171
+ },
172
+ "ANNOUNCEMENTS": {
173
+ "SEARCHING": "Searching...",
174
+ "NO_RESULTS": "No results found",
175
+ "RESULTS_FOUND": "{{count}} results found"
167
176
  }
168
177
  },
169
178
  "OCX_PAGE_HEADER": {
@@ -171,13 +180,22 @@
171
180
  "SUBHEADER": "Page Content",
172
181
  "MORE_ACTIONS": "More actions",
173
182
  "HOME_DEFAULT_ARIA_LABEL": "Go to home page",
174
- "HOME_ARIA_LABEL": "Go to {{page}} home page"
183
+ "HOME_ARIA_LABEL": "Go to home page",
184
+ "BREADCRUMB_ARIA_LABEL": "Go to {{breadcrumb}} page"
175
185
  },
176
186
  "OCX_DIAGRAM": {
177
- "ARIA_LABEL": "Chart: Total amount: {{total}}. {{valueString}}.",
187
+ "ARIA_LABEL": "Chart Summary: Total amount: {{total}}. {{valueString}}.",
178
188
  "EMPTY_ARIA_LABEL": "Chart with no data",
179
189
  "SUM": "Total",
180
190
  "NO_DATA": "There is no data available",
191
+ "SELECT_BUTTON": {
192
+ "ARIA_LABEL": "Select chart type"
193
+ },
194
+ "TABLE": {
195
+ "COLOR": "Color",
196
+ "LABEL": "Label",
197
+ "COUNT": "Count"
198
+ },
181
199
  "SWITCH_DIAGRAM_TYPE": {
182
200
  "PIE": "Switch to pie chart",
183
201
  "HORIZONTAL_BAR": "Switch to horizontal bar chart",
@@ -3,5 +3,9 @@
3
3
  "fruit1": "Apfel",
4
4
  "fruit2": "Banane",
5
5
  "fruit3": "Orange"
6
- }
6
+ },
7
+ "OCX_DIAGRAM": {
8
+ "ACCESSIBILITY_TITLE": "Verteilung des Obstverkaufs",
9
+ "ACCESSIBILITY_DESCRIPTION": "Interaktives Kreisdiagramm, das die Verteilung der Obstverk\u00e4ufe nach Typ zeigt. Verwenden Sie die Schaltfl\u00e4chen unten, um zwischen Kreis-, horizontalem Balken- und vertikalem Balkendiagramm zu wechseln. Eine Datentabelle f\u00fcr Bildschirmleser ist unter dem Diagramm verf\u00fcgbar."
10
+ }
7
11
  }
@@ -3,5 +3,9 @@
3
3
  "fruit1": "Apple",
4
4
  "fruit2": "Banana",
5
5
  "fruit3": "Orange"
6
+ },
7
+ "OCX_DIAGRAM": {
8
+ "ACCESSIBILITY_TITLE": "Fruit Sales Distribution",
9
+ "ACCESSIBILITY_DESCRIPTION": "Interactive pie chart showing the distribution of fruit sales by type. Use the buttons below to switch between pie, horizontal bar, and vertical bar chart views. A data table for screen readers is available below the chart."
6
10
  }
7
11
  }
@@ -1,3 +1,5 @@
1
1
  /* You can add global styles to this file, and also import other style files */
2
2
 
3
3
  @import '/node_modules/primeflex/primeflex.scss';
4
+
5
+ @import '../src/lib/directives/loading-indicator.directive.scss';
@@ -639,6 +639,48 @@ class OcxSrcHarness extends ComponentHarness {
639
639
  }
640
640
  }
641
641
 
642
+ class OcxTooltipHarness extends ComponentHarness {
643
+ static { this.defaultHostSelector = '.ocx-tooltip-host'; }
644
+ static { this.configuredHostSelector = OcxTooltipHarness.defaultHostSelector; }
645
+ static get hostSelector() {
646
+ return OcxTooltipHarness.configuredHostSelector;
647
+ }
648
+ async hover() {
649
+ const host = await this.host();
650
+ await host.dispatchEvent('mouseenter');
651
+ }
652
+ async unhover() {
653
+ const host = await this.host();
654
+ await host.dispatchEvent('mouseleave');
655
+ }
656
+ async getTooltipText() {
657
+ const tooltip = await this.documentRootLocatorFactory()
658
+ .locatorForOptional('.p-tooltip-text')();
659
+ return tooltip ? await tooltip.text() : null;
660
+ }
661
+ async getTooltipId() {
662
+ const tooltip = await this.documentRootLocatorFactory()
663
+ .locatorForOptional('.p-tooltip')();
664
+ return tooltip ? await tooltip.getAttribute('id') : null;
665
+ }
666
+ async isVisible() {
667
+ const tooltip = await this.documentRootLocatorFactory()
668
+ .locatorForOptional('.p-tooltip')();
669
+ return !!tooltip;
670
+ }
671
+ static with(options = {}) {
672
+ const { hostSelector, selector, ...rest } = options;
673
+ return new HarnessPredicate(OcxTooltipHarness, {
674
+ ...rest,
675
+ selector: hostSelector ?? selector ?? OcxTooltipHarness.hostSelector
676
+ })
677
+ .addOption('text', options.text, async (harness, text) => (await harness.getTooltipText()) === text);
678
+ }
679
+ static withHostSelector(hostSelector) {
680
+ return OcxTooltipHarness.with({ hostSelector });
681
+ }
682
+ }
683
+
642
684
  class DialogMessageContentHarness extends ComponentHarness {
643
685
  constructor() {
644
686
  super(...arguments);
@@ -711,5 +753,5 @@ ensureOriginMockExists();
711
753
  * Generated bundle index. Do not edit.
712
754
  */
713
755
 
714
- export { ColumnGroupSelectionHarness, CustomGroupColumnSelectorHarness, DataLayoutSelectionHarness, DataListGridHarness, DataTableHarness, DataViewHarness, DefaultGridItemHarness, DefaultListItemHarness, DiagramHarness, DialogContentHarness, DialogFooterHarness, DialogInlineHarness, DialogMessageContentHarness, FilterViewHarness, GroupByCountDiagramHarness, InteractiveDataViewHarness, LifecycleHarness, MoreActionsMenuButtonHarness, OcxConsentHarness, OcxContentContainerHarness, OcxContentHarness, OcxSrcHarness, PageHeaderHarness, SearchHeaderHarness, SlotHarness };
756
+ export { ColumnGroupSelectionHarness, CustomGroupColumnSelectorHarness, DataLayoutSelectionHarness, DataListGridHarness, DataTableHarness, DataViewHarness, DefaultGridItemHarness, DefaultListItemHarness, DiagramHarness, DialogContentHarness, DialogFooterHarness, DialogInlineHarness, DialogMessageContentHarness, FilterViewHarness, GroupByCountDiagramHarness, InteractiveDataViewHarness, LifecycleHarness, MoreActionsMenuButtonHarness, OcxConsentHarness, OcxContentContainerHarness, OcxContentHarness, OcxSrcHarness, OcxTooltipHarness, PageHeaderHarness, SearchHeaderHarness, SlotHarness };
715
757
  //# sourceMappingURL=onecx-angular-accelerator-testing.mjs.map
@@ -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/consent.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/ocx-src.directive.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 { ButtonHarness } from '@onecx/angular-testing'\n\nexport class OcxConsentHarness extends ComponentHarness {\n static hostSelector = 'ocx-consent'\n\n async isConsentMessageVisible(): Promise<boolean> {\n return !!(await this.locatorForOptional('.ocx-consent')())\n }\n\n async isContentVisible(selector: string): Promise<boolean> {\n const projected = await this.locatorForOptional(selector)()\n return !!projected\n }\n\n async clickAgree(): Promise<void> {\n const button = await this.locatorFor(\n ButtonHarness.with({ ancestor: '.ocx-consent', selector: 'button' })\n )()\n await button.click()\n }\n\n async clickWithdraw(): Promise<void> {\n const button = await this.locatorFor('a.cursor-pointer.text-primary.underline')()\n await button.click()\n }\n\n async isWithdrawVisible(): Promise<boolean> {\n const withdraw = await this.locatorForOptional('a.cursor-pointer.text-primary.underline')()\n return !!withdraw\n }\n\n async isInfoVisible(): Promise<boolean> {\n const info = await this.locatorForOptional('[ocx-consent-info]')()\n return !!info\n }\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 getCanvasElement() {\n return await this.locatorForOptional('p-chart canvas')()\n }\n\n async getAllSelectionButtons() {\n return await (await this.locatorFor(PSelectButtonHarness)()).getAllButtons()\n }\n\n async getCanvasAriaLabel(): Promise<string | null> {\n const canvas = await this.getCanvasElement()\n return canvas ? canvas.getAttribute('aria-label') : null\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 readonly 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 private readonly getBasicContent = this.locatorForOptional('#basic-content')\n private readonly getAdvancedContent = this.locatorForOptional('#advanced-content')\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 // In some tests the toggle button is not rendered (no advanced field defined).\n // Consumers can fall back to directly setting `viewMode` via `setViewMode`.\n }\n }\n\n async isBasicContentVisible(): Promise<boolean> {\n return !!(await this.getBasicContent())\n }\n\n async isAdvancedContentVisible(): Promise<boolean> {\n return !!(await this.getAdvancedContent())\n }\n\n async setViewMode(mode: 'basic' | 'advanced'): Promise<void> {\n const toggleButton = await this.getSimpleAdvancedButton()\n\n if (!toggleButton) {\n return\n }\n\n const desiredAdvancedVisible = mode === 'advanced'\n for (let i = 0; i < 2; i++) {\n const isAdvancedVisible = await this.isAdvancedContentVisible()\n if (isAdvancedVisible === desiredAdvancedVisible) {\n return\n }\n await this.toggleSimpleAdvanced()\n }\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate, TestElement } from '@angular/cdk/testing'\n\nexport interface OcxSrcHarnessFilters extends BaseHarnessFilters {\n id?: string\n}\n\nexport class OcxSrcHarness extends ComponentHarness {\n static readonly hostSelector = 'img'\n\n static with(options: OcxSrcHarnessFilters = {}): HarnessPredicate<OcxSrcHarness> {\n return new HarnessPredicate(OcxSrcHarness, options).addOption('id', options.id, (harness, id) =>\n HarnessPredicate.stringMatches(harness.getId(), id)\n )\n }\n\n async getId(): Promise<string | null> {\n return await (await this.host()).getAttribute('id')\n }\n\n async getSrcAttribute(): Promise<string | null> {\n return await (await this.host()).getAttribute('src')\n }\n\n async getSrcProperty(): Promise<string | null> {\n return await (await this.host()).getProperty<string>('src')\n }\n\n async getVisibility(): Promise<string | null> {\n const style = await (await this.host()).getAttribute('style')\n if (!style) return null\n const match = /visibility\\s*:\\s*([^;]+)/i.exec(style)\n return match?.[1]?.trim() ?? null\n }\n\n async dispatchLoad(): Promise<void> {\n const host = await this.host()\n await host.dispatchEvent('load')\n }\n\n async getTestElement(): Promise<TestElement> {\n return await this.host()\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 './consent.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 './ocx-src.directive.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/consent.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/ocx-src.directive.harness.ts","../../../../libs/angular-accelerator/testing/ocx-tooltip.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 { ButtonHarness } from '@onecx/angular-testing'\n\nexport class OcxConsentHarness extends ComponentHarness {\n static hostSelector = 'ocx-consent'\n\n async isConsentMessageVisible(): Promise<boolean> {\n return !!(await this.locatorForOptional('.ocx-consent')())\n }\n\n async isContentVisible(selector: string): Promise<boolean> {\n const projected = await this.locatorForOptional(selector)()\n return !!projected\n }\n\n async clickAgree(): Promise<void> {\n const button = await this.locatorFor(\n ButtonHarness.with({ ancestor: '.ocx-consent', selector: 'button' })\n )()\n await button.click()\n }\n\n async clickWithdraw(): Promise<void> {\n const button = await this.locatorFor('a.cursor-pointer.text-primary.underline')()\n await button.click()\n }\n\n async isWithdrawVisible(): Promise<boolean> {\n const withdraw = await this.locatorForOptional('a.cursor-pointer.text-primary.underline')()\n return !!withdraw\n }\n\n async isInfoVisible(): Promise<boolean> {\n const info = await this.locatorForOptional('[ocx-consent-info]')()\n return !!info\n }\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 getCanvasElement() {\n return await this.locatorForOptional('p-chart canvas')()\n }\n\n async getAllSelectionButtons() {\n return await (await this.locatorFor(PSelectButtonHarness)()).getAllButtons()\n }\n\n async getCanvasAriaLabel(): Promise<string | null> {\n const canvas = await this.getCanvasElement()\n return canvas ? canvas.getAttribute('aria-label') : null\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 readonly 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 private readonly getBasicContent = this.locatorForOptional('#basic-content')\n private readonly getAdvancedContent = this.locatorForOptional('#advanced-content')\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 // In some tests the toggle button is not rendered (no advanced field defined).\n // Consumers can fall back to directly setting `viewMode` via `setViewMode`.\n }\n }\n\n async isBasicContentVisible(): Promise<boolean> {\n return !!(await this.getBasicContent())\n }\n\n async isAdvancedContentVisible(): Promise<boolean> {\n return !!(await this.getAdvancedContent())\n }\n\n async setViewMode(mode: 'basic' | 'advanced'): Promise<void> {\n const toggleButton = await this.getSimpleAdvancedButton()\n\n if (!toggleButton) {\n return\n }\n\n const desiredAdvancedVisible = mode === 'advanced'\n for (let i = 0; i < 2; i++) {\n const isAdvancedVisible = await this.isAdvancedContentVisible()\n if (isAdvancedVisible === desiredAdvancedVisible) {\n return\n }\n await this.toggleSimpleAdvanced()\n }\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate, TestElement } from '@angular/cdk/testing'\n\nexport interface OcxSrcHarnessFilters extends BaseHarnessFilters {\n id?: string\n}\n\nexport class OcxSrcHarness extends ComponentHarness {\n static readonly hostSelector = 'img'\n\n static with(options: OcxSrcHarnessFilters = {}): HarnessPredicate<OcxSrcHarness> {\n return new HarnessPredicate(OcxSrcHarness, options).addOption('id', options.id, (harness, id) =>\n HarnessPredicate.stringMatches(harness.getId(), id)\n )\n }\n\n async getId(): Promise<string | null> {\n return await (await this.host()).getAttribute('id')\n }\n\n async getSrcAttribute(): Promise<string | null> {\n return await (await this.host()).getAttribute('src')\n }\n\n async getSrcProperty(): Promise<string | null> {\n return await (await this.host()).getProperty<string>('src')\n }\n\n async getVisibility(): Promise<string | null> {\n const style = await (await this.host()).getAttribute('style')\n if (!style) return null\n const match = /visibility\\s*:\\s*([^;]+)/i.exec(style)\n return match?.[1]?.trim() ?? null\n }\n\n async dispatchLoad(): Promise<void> {\n const host = await this.host()\n await host.dispatchEvent('load')\n }\n\n async getTestElement(): Promise<TestElement> {\n return await this.host()\n }\n}\n","import { ComponentHarness, HarnessPredicate, BaseHarnessFilters } from '@angular/cdk/testing';\n\nexport interface OcxTooltipHarnessFilters extends BaseHarnessFilters {\n text?: string;\n hostSelector?: string;\n}\n\nexport class OcxTooltipHarness extends ComponentHarness {\n private static readonly defaultHostSelector = '.ocx-tooltip-host';\n private static configuredHostSelector = OcxTooltipHarness.defaultHostSelector;\n\n static get hostSelector(): string {\n return OcxTooltipHarness.configuredHostSelector;\n }\n\n async hover(): Promise<void> {\n const host = await this.host();\n await host.dispatchEvent('mouseenter');\n }\n\n async unhover(): Promise<void> {\n const host = await this.host();\n await host.dispatchEvent('mouseleave');\n }\n\n async getTooltipText(): Promise<string | null> {\n const tooltip = await this.documentRootLocatorFactory()\n .locatorForOptional('.p-tooltip-text')();\n\n return tooltip ? await tooltip.text() : null;\n }\n\n async getTooltipId(): Promise<string | null> {\n const tooltip = await this.documentRootLocatorFactory()\n .locatorForOptional('.p-tooltip')();\n\n return tooltip ? await tooltip.getAttribute('id') : null;\n }\n\n async isVisible(): Promise<boolean> {\n const tooltip = await this.documentRootLocatorFactory()\n .locatorForOptional('.p-tooltip')();\n\n return !!tooltip;\n }\n\n static with(options: OcxTooltipHarnessFilters = {}) {\n const { hostSelector, selector, ...rest } = options;\n return new HarnessPredicate(OcxTooltipHarness, {\n ...rest,\n selector: hostSelector ?? selector ?? OcxTooltipHarness.hostSelector\n })\n .addOption('text', options.text, async (harness, text) =>\n (await harness.getTooltipText()) === text\n );\n }\n\n static withHostSelector(hostSelector: string) {\n return OcxTooltipHarness.with({ hostSelector });\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 './consent.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 './ocx-src.directive.harness'\nexport * from './ocx-tooltip.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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"}