@cqa-lib/cqa-ui 1.1.539 → 1.1.541-gamma.7
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/.github/workflows/README.md +8 -1
- package/esm2020/lib/compare-runs/compare-runs.component.mjs +1 -1
- package/esm2020/lib/execution-screen/condition-debug-step/condition-branch-editor.component.mjs +1 -1
- package/esm2020/lib/execution-screen/db-query-execution-item/db-query-execution-item.component.mjs +1 -1
- package/esm2020/lib/execution-screen/db-verification-step/db-verification-step.component.mjs +1 -1
- package/esm2020/lib/iterations-loop/iterations-loop.component.mjs +1 -1
- package/esm2020/lib/mixed-variable-input/mixed-variable-input.component.mjs +30 -10
- package/esm2020/lib/new-global-variable-dialog/global-variable-tags-input.component.mjs +129 -0
- package/esm2020/lib/new-global-variable-dialog/new-global-variable-dialog.component.mjs +16 -5
- package/esm2020/lib/new-global-variable-dialog/new-global-variable-dialog.models.mjs +1 -1
- package/esm2020/lib/segment-control/segment-control.component.mjs +12 -4
- package/esm2020/lib/step-builder/step-builder-action/step-builder-action.component.mjs +17 -3
- package/esm2020/lib/step-builder/step-builder-condition/step-builder-condition.component.mjs +17 -3
- package/esm2020/lib/step-builder/step-builder-loop/step-builder-loop.component.mjs +12 -3
- package/esm2020/lib/step-builder/template-variables-form/template-variables-form.component.mjs +315 -27
- package/esm2020/lib/templates/modular-table-template/folder-sidebar/folder-sidebar.component.mjs +151 -17
- package/esm2020/lib/templates/modular-table-template/modular-table-template.component.mjs +144 -12
- package/esm2020/lib/templates/modular-table-template/modular-table-template.models.mjs +1 -1
- package/esm2020/lib/templates/table-template.component.mjs +5 -3
- package/esm2020/lib/test-case-details/data-library-panel/data-library-panel.component.mjs +116 -0
- package/esm2020/lib/test-case-details/data-library-panel/data-library-panel.models.mjs +2 -0
- package/esm2020/lib/test-case-details/data-library-panel/element-card.component.mjs +36 -0
- package/esm2020/lib/test-case-details/data-library-panel/test-data-profile-card.component.mjs +38 -0
- package/esm2020/lib/test-case-details/test-case-details-edit/test-case-details-edit.component.mjs +43 -4
- package/esm2020/lib/test-case-details/test-case-details.models.mjs +3 -1
- package/esm2020/lib/test-case-details/test-data-modal/test-data-modal-data.mjs +1 -1
- package/esm2020/lib/test-case-details/test-data-modal/test-data-modal.component.mjs +119 -6
- package/esm2020/lib/ui-kit.module.mjs +23 -3
- package/esm2020/public-api.mjs +6 -1
- package/fesm2015/cqa-lib-cqa-ui.mjs +1260 -147
- package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
- package/fesm2020/cqa-lib-cqa-ui.mjs +1174 -76
- package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
- package/lib/new-global-variable-dialog/global-variable-tags-input.component.d.ts +39 -0
- package/lib/new-global-variable-dialog/new-global-variable-dialog.component.d.ts +5 -2
- package/lib/new-global-variable-dialog/new-global-variable-dialog.models.d.ts +8 -0
- package/lib/segment-control/segment-control.component.d.ts +3 -1
- package/lib/step-builder/step-builder-action/step-builder-action.component.d.ts +15 -1
- package/lib/step-builder/step-builder-condition/step-builder-condition.component.d.ts +15 -1
- package/lib/step-builder/step-builder-loop/step-builder-loop.component.d.ts +11 -1
- package/lib/step-builder/template-variables-form/template-variables-form.component.d.ts +71 -4
- package/lib/templates/modular-table-template/folder-sidebar/folder-sidebar.component.d.ts +63 -2
- package/lib/templates/modular-table-template/modular-table-template.component.d.ts +60 -1
- package/lib/templates/modular-table-template/modular-table-template.models.d.ts +13 -0
- package/lib/templates/table-template.component.d.ts +8 -1
- package/lib/test-case-details/data-library-panel/data-library-panel.component.d.ts +42 -0
- package/lib/test-case-details/data-library-panel/data-library-panel.models.d.ts +17 -0
- package/lib/test-case-details/data-library-panel/element-card.component.d.ts +13 -0
- package/lib/test-case-details/data-library-panel/test-data-profile-card.component.d.ts +13 -0
- package/lib/test-case-details/test-case-details-edit/test-case-details-edit.component.d.ts +7 -0
- package/lib/test-case-details/test-case-details.models.d.ts +2 -0
- package/lib/test-case-details/test-data-modal/test-data-modal-data.d.ts +17 -1
- package/lib/test-case-details/test-data-modal/test-data-modal.component.d.ts +34 -6
- package/lib/ui-kit.module.d.ts +100 -96
- package/package.json +1 -1
- package/public-api.d.ts +5 -0
- package/styles.css +1 -1
|
@@ -124,6 +124,33 @@ export declare class ModularTableTemplateComponent implements OnInit, OnChanges,
|
|
|
124
124
|
modularLabels: ModularLabels;
|
|
125
125
|
bulkActions: TableAction[];
|
|
126
126
|
sidebarCollapsed: boolean;
|
|
127
|
+
/** Lazy-load: when true, the sidebar emits `searchChange` and skips its
|
|
128
|
+
* local name filter so the host can serve search results from the backend. */
|
|
129
|
+
serverSideSearch: boolean;
|
|
130
|
+
/** Lazy-load: backend-reported total root folders. Drives the sidebar's
|
|
131
|
+
* top-level "Load more" affordance when `folders.length < rootTotal`. */
|
|
132
|
+
rootTotal: number;
|
|
133
|
+
/** Lazy-load: true while the host is fetching server-side folder-search
|
|
134
|
+
* results. Forwarded to the sidebar so it can render a search spinner. */
|
|
135
|
+
folderSearchLoading: boolean;
|
|
136
|
+
/** Lazy-load: true while a root-page fetch is in flight (initial load OR
|
|
137
|
+
* the scroll-driven "load more" pagination). Drives the loading indicator
|
|
138
|
+
* the modular grid renders at the right edge of the Organised row, and is
|
|
139
|
+
* forwarded to the sidebar for its own loading affordance. */
|
|
140
|
+
rootFoldersLoading: boolean;
|
|
141
|
+
/** Override for the currently-selected folder node. Used as a fallback when
|
|
142
|
+
* `findFolder(folders, selectedFolderId)` misses — e.g., during sidebar
|
|
143
|
+
* search when `folders` holds only the matched results, the selected
|
|
144
|
+
* folder may not be among them, but its breadcrumb / header label still
|
|
145
|
+
* needs to render. The host owns the lookup against its full folder map. */
|
|
146
|
+
selectedFolderNode: FolderNode | null;
|
|
147
|
+
/** Host-provided breadcrumb snapshot for the selected folder. Used as a
|
|
148
|
+
* fallback in `breadcrumbTrail` when `buildTrail` against `this.folders`
|
|
149
|
+
* yields empty — the canonical case is sidebar search, where `folders`
|
|
150
|
+
* is the search-results list and the selected folder's ancestors aren't
|
|
151
|
+
* present. The host walks `parentId` chains to build this; partial trails
|
|
152
|
+
* are acceptable when ancestors haven't been fetched yet. */
|
|
153
|
+
selectedFolderTrail: FolderNode[] | null;
|
|
127
154
|
/**
|
|
128
155
|
* When true (default), the library opens its own Move dialog for convenience
|
|
129
156
|
* during testing. Hosts taking over API + UX should set this to `false` and
|
|
@@ -135,6 +162,19 @@ export declare class ModularTableTemplateComponent implements OnInit, OnChanges,
|
|
|
135
162
|
id: number;
|
|
136
163
|
expanded: boolean;
|
|
137
164
|
}>;
|
|
165
|
+
/** Lazy-load: re-emitted from the sidebar when the user expands a node whose
|
|
166
|
+
* children haven't been fetched yet. Host responds by fetching that subtree. */
|
|
167
|
+
folderChildrenRequested: EventEmitter<number>;
|
|
168
|
+
/** Lazy-load: re-emitted when the user clicks the per-folder "Load more". */
|
|
169
|
+
folderLoadMoreRequested: EventEmitter<{
|
|
170
|
+
id: number;
|
|
171
|
+
nextPage: number;
|
|
172
|
+
}>;
|
|
173
|
+
/** Lazy-load: re-emitted when the user clicks the top-level "Load more". */
|
|
174
|
+
rootLoadMoreRequested: EventEmitter<void>;
|
|
175
|
+
/** Lazy-load: debounced sidebar-search term. Consumed by hosts that have
|
|
176
|
+
* set `serverSideSearch=true` to refetch the tree from the backend. */
|
|
177
|
+
folderSearchChange: EventEmitter<string>;
|
|
138
178
|
folderCreated: EventEmitter<FolderCreatedPayload>;
|
|
139
179
|
/** Emitted when the user clicks "+ New folder"; host should open a creation modal. */
|
|
140
180
|
folderCreateRequested: EventEmitter<{
|
|
@@ -374,6 +414,25 @@ export declare class ModularTableTemplateComponent implements OnInit, OnChanges,
|
|
|
374
414
|
id: number;
|
|
375
415
|
expanded: boolean;
|
|
376
416
|
}): void;
|
|
417
|
+
/** Tracks the `folders.length` at which we last emitted `rootLoadMoreRequested`
|
|
418
|
+
* from the Organized grid scroll, so rapid scroll events don't spam the host
|
|
419
|
+
* before it has had a chance to append the next page. */
|
|
420
|
+
private lastRootGridLoadAt;
|
|
421
|
+
/** Tracks the `currentFolderNode.children.length` at which we last emitted
|
|
422
|
+
* `folderLoadMoreRequested` from the Subfolders grid scroll, for the same
|
|
423
|
+
* reason as `lastRootGridLoadAt`. */
|
|
424
|
+
private lastSubfolderGridLoadAt;
|
|
425
|
+
private static readonly GRID_SCROLL_LOAD_THRESHOLD_PX;
|
|
426
|
+
/** Horizontal-scroll handler for the "Organised" root tiles. Emits
|
|
427
|
+
* `rootLoadMoreRequested` when the user scrolls within
|
|
428
|
+
* `GRID_SCROLL_LOAD_THRESHOLD_PX` of the right edge AND more roots are
|
|
429
|
+
* available on the backend. Throttled by `lastRootGridLoadAt`. */
|
|
430
|
+
onRootGridScroll(event: Event): void;
|
|
431
|
+
/** Horizontal-scroll handler for the "Subfolders in X" tiles. Emits
|
|
432
|
+
* `folderLoadMoreRequested({ id: selectedFolderId, nextPage })` when the
|
|
433
|
+
* user scrolls within threshold of the right edge AND the active folder
|
|
434
|
+
* has more children on the backend than have been loaded. */
|
|
435
|
+
onSubfolderGridScroll(event: Event): void;
|
|
377
436
|
onFolderCreated(payload: FolderCreatedPayload): void;
|
|
378
437
|
onFolderCreateRequested(payload: {
|
|
379
438
|
parentId: number | null;
|
|
@@ -461,5 +520,5 @@ export declare class ModularTableTemplateComponent implements OnInit, OnChanges,
|
|
|
461
520
|
*/
|
|
462
521
|
buildRowDragPayload: (row: any) => Array<string | number>;
|
|
463
522
|
static ɵfac: i0.ɵɵFactoryDeclaration<ModularTableTemplateComponent, never>;
|
|
464
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ModularTableTemplateComponent, "cqa-modular-table-template", never, { "searchPlaceholder": "searchPlaceholder"; "searchValue": "searchValue"; "showClear": "showClear"; "showSearchBar": "showSearchBar"; "showExportButton": "showExportButton"; "isExporting": "isExporting"; "filterConfig": "filterConfig"; "filterModel": "filterModel"; "showFilterPanel": "showFilterPanel"; "showFilterButton": "showFilterButton"; "otherButtons": "otherButtons"; "otherDropDownButtons": "otherDropDownButtons"; "otherSelectDropDownButtons": "otherSelectDropDownButtons"; "otherButtonLabel": "otherButtonLabel"; "otherButtonVariant": "otherButtonVariant"; "showOtherButton": "showOtherButton"; "showActionButton": "showActionButton"; "showSettingsButton": "showSettingsButton"; "showAutoRefreshButton": "showAutoRefreshButton"; "showViewModeToggle": "showViewModeToggle"; "viewMode": "viewMode"; "viewModeLabels": "viewModeLabels"; "data": "data"; "isEmptyState": "isEmptyState"; "emptyStateConfig": "emptyStateConfig"; "actions": "actions"; "chips": "chips"; "filterApplied": "filterApplied"; "columns": "columns"; "rowSelectable": "rowSelectable"; "selectedAutoRefreshInterval": "selectedAutoRefreshInterval"; "pageIndex": "pageIndex"; "pageSize": "pageSize"; "pageSizeOptions": "pageSizeOptions"; "pageSizeMenuDirection": "pageSizeMenuDirection"; "serverSidePagination": "serverSidePagination"; "totalElements": "totalElements"; "enableLocalSort": "enableLocalSort"; "isTableLoading": "isTableLoading"; "isTableDataLoading": "isTableDataLoading"; "cellJsonPathGetter": "cellJsonPathGetter"; "onJsonPathCopiedHandler": "onJsonPathCopiedHandler"; "selectedItems": "selectedItems"; "showSelectAllInToolbar": "showSelectAllInToolbar"; "showDismissInToolbar": "showDismissInToolbar"; "allSelectedInToolbar": "allSelectedInToolbar"; "folders": "folders"; "selectedFolderId": "selectedFolderId"; "expandedFolderIds": "expandedFolderIds"; "unorganisedCount": "unorganisedCount"; "folderIdAccessor": "folderIdAccessor"; "modularConfig": "modularConfig"; "modularLabels": "modularLabels"; "bulkActions": "bulkActions"; "sidebarCollapsed": "sidebarCollapsed"; "useInternalDialogs": "useInternalDialogs"; "showReorderButton": "showReorderButton"; "reorderSaving": "reorderSaving"; "reorderLabels": "reorderLabels"; "columnVisibility": "columnVisibility"; }, { "onSearchChange": "onSearchChange"; "onExportClick": "onExportClick"; "onApplyFilterClick": "onApplyFilterClick"; "onResetFilterClick": "onResetFilterClick"; "onClearAll": "onClearAll"; "removeChip": "removeChip"; "viewModeChange": "viewModeChange"; "pageChange": "pageChange"; "sortChange": "sortChange"; "folderSelected": "folderSelected"; "folderExpansionToggled": "folderExpansionToggled"; "folderCreated": "folderCreated"; "folderCreateRequested": "folderCreateRequested"; "folderRenamed": "folderRenamed"; "folderDeleted": "folderDeleted"; "testsMoved": "testsMoved"; "bulkActionClick": "bulkActionClick"; "bulkSelectAllChange": "bulkSelectAllChange"; "bulkDismiss": "bulkDismiss"; "bulkActionInvoked": "bulkActionInvoked"; "sidebarCollapsedChange": "sidebarCollapsedChange"; "reorderStart": "reorderStart"; "reorderCancel": "reorderCancel"; "reorderSave": "reorderSave"; "moveRequested": "moveRequested"; "selectedItemsChange": "selectedItemsChange"; "folderDeleteRequested": "folderDeleteRequested"; "folderMoveRequested": "folderMoveRequested"; "folderMoved": "folderMoved"; "folderDuplicateRequested": "folderDuplicateRequested"; "onReload": "onReload"; "onAutoRefreshClick": "onAutoRefreshClick"; "columnVisibilityChange": "columnVisibilityChange"; "autoRefreshIntervalChange": "autoRefreshIntervalChange"; }, never, never>;
|
|
523
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ModularTableTemplateComponent, "cqa-modular-table-template", never, { "searchPlaceholder": "searchPlaceholder"; "searchValue": "searchValue"; "showClear": "showClear"; "showSearchBar": "showSearchBar"; "showExportButton": "showExportButton"; "isExporting": "isExporting"; "filterConfig": "filterConfig"; "filterModel": "filterModel"; "showFilterPanel": "showFilterPanel"; "showFilterButton": "showFilterButton"; "otherButtons": "otherButtons"; "otherDropDownButtons": "otherDropDownButtons"; "otherSelectDropDownButtons": "otherSelectDropDownButtons"; "otherButtonLabel": "otherButtonLabel"; "otherButtonVariant": "otherButtonVariant"; "showOtherButton": "showOtherButton"; "showActionButton": "showActionButton"; "showSettingsButton": "showSettingsButton"; "showAutoRefreshButton": "showAutoRefreshButton"; "showViewModeToggle": "showViewModeToggle"; "viewMode": "viewMode"; "viewModeLabels": "viewModeLabels"; "data": "data"; "isEmptyState": "isEmptyState"; "emptyStateConfig": "emptyStateConfig"; "actions": "actions"; "chips": "chips"; "filterApplied": "filterApplied"; "columns": "columns"; "rowSelectable": "rowSelectable"; "selectedAutoRefreshInterval": "selectedAutoRefreshInterval"; "pageIndex": "pageIndex"; "pageSize": "pageSize"; "pageSizeOptions": "pageSizeOptions"; "pageSizeMenuDirection": "pageSizeMenuDirection"; "serverSidePagination": "serverSidePagination"; "totalElements": "totalElements"; "enableLocalSort": "enableLocalSort"; "isTableLoading": "isTableLoading"; "isTableDataLoading": "isTableDataLoading"; "cellJsonPathGetter": "cellJsonPathGetter"; "onJsonPathCopiedHandler": "onJsonPathCopiedHandler"; "selectedItems": "selectedItems"; "showSelectAllInToolbar": "showSelectAllInToolbar"; "showDismissInToolbar": "showDismissInToolbar"; "allSelectedInToolbar": "allSelectedInToolbar"; "folders": "folders"; "selectedFolderId": "selectedFolderId"; "expandedFolderIds": "expandedFolderIds"; "unorganisedCount": "unorganisedCount"; "folderIdAccessor": "folderIdAccessor"; "modularConfig": "modularConfig"; "modularLabels": "modularLabels"; "bulkActions": "bulkActions"; "sidebarCollapsed": "sidebarCollapsed"; "serverSideSearch": "serverSideSearch"; "rootTotal": "rootTotal"; "folderSearchLoading": "folderSearchLoading"; "rootFoldersLoading": "rootFoldersLoading"; "selectedFolderNode": "selectedFolderNode"; "selectedFolderTrail": "selectedFolderTrail"; "useInternalDialogs": "useInternalDialogs"; "showReorderButton": "showReorderButton"; "reorderSaving": "reorderSaving"; "reorderLabels": "reorderLabels"; "columnVisibility": "columnVisibility"; }, { "onSearchChange": "onSearchChange"; "onExportClick": "onExportClick"; "onApplyFilterClick": "onApplyFilterClick"; "onResetFilterClick": "onResetFilterClick"; "onClearAll": "onClearAll"; "removeChip": "removeChip"; "viewModeChange": "viewModeChange"; "pageChange": "pageChange"; "sortChange": "sortChange"; "folderSelected": "folderSelected"; "folderExpansionToggled": "folderExpansionToggled"; "folderChildrenRequested": "folderChildrenRequested"; "folderLoadMoreRequested": "folderLoadMoreRequested"; "rootLoadMoreRequested": "rootLoadMoreRequested"; "folderSearchChange": "folderSearchChange"; "folderCreated": "folderCreated"; "folderCreateRequested": "folderCreateRequested"; "folderRenamed": "folderRenamed"; "folderDeleted": "folderDeleted"; "testsMoved": "testsMoved"; "bulkActionClick": "bulkActionClick"; "bulkSelectAllChange": "bulkSelectAllChange"; "bulkDismiss": "bulkDismiss"; "bulkActionInvoked": "bulkActionInvoked"; "sidebarCollapsedChange": "sidebarCollapsedChange"; "reorderStart": "reorderStart"; "reorderCancel": "reorderCancel"; "reorderSave": "reorderSave"; "moveRequested": "moveRequested"; "selectedItemsChange": "selectedItemsChange"; "folderDeleteRequested": "folderDeleteRequested"; "folderMoveRequested": "folderMoveRequested"; "folderMoved": "folderMoved"; "folderDuplicateRequested": "folderDuplicateRequested"; "onReload": "onReload"; "onAutoRefreshClick": "onAutoRefreshClick"; "columnVisibilityChange": "columnVisibilityChange"; "autoRefreshIntervalChange": "autoRefreshIntervalChange"; }, never, never>;
|
|
465
524
|
}
|
|
@@ -7,6 +7,19 @@ export interface FolderNode {
|
|
|
7
7
|
totalCount?: number;
|
|
8
8
|
color?: string;
|
|
9
9
|
children?: FolderNode[];
|
|
10
|
+
/** Backend hint: true when this node has at least one direct child. Drives
|
|
11
|
+
* the sidebar chevron under lazy loading, so the affordance shows even
|
|
12
|
+
* before `children` has been fetched. */
|
|
13
|
+
hasChildren?: boolean;
|
|
14
|
+
/** Backend-reported total number of direct children. The sidebar shows a
|
|
15
|
+
* "Load more" row when `(children?.length ?? 0) < totalChildren`. */
|
|
16
|
+
totalChildren?: number;
|
|
17
|
+
/** Last 0-based page already fetched into `children`. `undefined` means the
|
|
18
|
+
* subtree has not been loaded yet — the host should fetch on first expand. */
|
|
19
|
+
loadedPages?: number;
|
|
20
|
+
/** True while a children-page fetch is in flight, so the sidebar can render
|
|
21
|
+
* a spinner row and the host can suppress duplicate requests. */
|
|
22
|
+
childrenLoading?: boolean;
|
|
10
23
|
}
|
|
11
24
|
export declare type FolderIdAccessor = (row: any) => number | null | undefined;
|
|
12
25
|
export interface ModularConfig {
|
|
@@ -31,6 +31,13 @@ export declare class TableTemplateComponent implements OnInit, OnChanges, OnDest
|
|
|
31
31
|
otherButtons: TemplateRef<any>[];
|
|
32
32
|
otherDropDownButtons: TemplateRef<any>[];
|
|
33
33
|
otherSelectDropDownButtons: TemplateRef<any>[];
|
|
34
|
+
/**
|
|
35
|
+
* Optional template rendered between the search/toolbar row and the
|
|
36
|
+
* selected-filters chip block. Used to slot in feature-specific filters
|
|
37
|
+
* (e.g. Global Data's tag chip bar) so they sit visually inside the
|
|
38
|
+
* table-template's sticky header instead of floating above it.
|
|
39
|
+
*/
|
|
40
|
+
tagFilterTemplate?: TemplateRef<any>;
|
|
34
41
|
/** @deprecated Use otherButtons array instead */
|
|
35
42
|
otherButtonLabel: string;
|
|
36
43
|
/** @deprecated Use otherButtons array instead */
|
|
@@ -201,5 +208,5 @@ export declare class TableTemplateComponent implements OnInit, OnChanges, OnDest
|
|
|
201
208
|
}>;
|
|
202
209
|
get arrowClasses(): string;
|
|
203
210
|
static ɵfac: i0.ɵɵFactoryDeclaration<TableTemplateComponent, never>;
|
|
204
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TableTemplateComponent, "cqa-table-template", never, { "searchPlaceholder": "searchPlaceholder"; "searchValue": "searchValue"; "showClear": "showClear"; "showSearchBar": "showSearchBar"; "showExportButton": "showExportButton"; "isExporting": "isExporting"; "filterConfig": "filterConfig"; "filterModel": "filterModel"; "showFilterPanel": "showFilterPanel"; "showFilterButton": "showFilterButton"; "otherButtons": "otherButtons"; "otherDropDownButtons": "otherDropDownButtons"; "otherSelectDropDownButtons": "otherSelectDropDownButtons"; "otherButtonLabel": "otherButtonLabel"; "otherButtonVariant": "otherButtonVariant"; "showOtherButton": "showOtherButton"; "showActionButton": "showActionButton"; "showSettingsButton": "showSettingsButton"; "showAutoRefreshButton": "showAutoRefreshButton"; "showViewModeToggle": "showViewModeToggle"; "viewMode": "viewMode"; "viewModeLabels": "viewModeLabels"; "data": "data"; "isEmptyState": "isEmptyState"; "emptyStateConfig": "emptyStateConfig"; "actions": "actions"; "chips": "chips"; "filterApplied": "filterApplied"; "columns": "columns"; "rowSelectable": "rowSelectable"; "selectedAutoRefreshInterval": "selectedAutoRefreshInterval"; "pageIndex": "pageIndex"; "pageSize": "pageSize"; "pageSizeOptions": "pageSizeOptions"; "pageSizeMenuDirection": "pageSizeMenuDirection"; "serverSidePagination": "serverSidePagination"; "totalElements": "totalElements"; "enableLocalSort": "enableLocalSort"; "isTableLoading": "isTableLoading"; "isTableDataLoading": "isTableDataLoading"; "cellJsonPathGetter": "cellJsonPathGetter"; "onJsonPathCopiedHandler": "onJsonPathCopiedHandler"; "selectedItems": "selectedItems"; "showSelectAllInToolbar": "showSelectAllInToolbar"; "showDismissInToolbar": "showDismissInToolbar"; "allSelectedInToolbar": "allSelectedInToolbar"; "columnVisibility": "columnVisibility"; }, { "onSearchChange": "onSearchChange"; "onExportClick": "onExportClick"; "onApplyFilterClick": "onApplyFilterClick"; "onResetFilterClick": "onResetFilterClick"; "onClearAll": "onClearAll"; "removeChip": "removeChip"; "viewModeChange": "viewModeChange"; "pageChange": "pageChange"; "sortChange": "sortChange"; "onReload": "onReload"; "onAutoRefreshClick": "onAutoRefreshClick"; "columnVisibilityChange": "columnVisibilityChange"; "autoRefreshIntervalChange": "autoRefreshIntervalChange"; "bulkActionClick": "bulkActionClick"; "bulkSelectAllChange": "bulkSelectAllChange"; "bulkDismiss": "bulkDismiss"; "selectedItemsChange": "selectedItemsChange"; }, never, never>;
|
|
211
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TableTemplateComponent, "cqa-table-template", never, { "searchPlaceholder": "searchPlaceholder"; "searchValue": "searchValue"; "showClear": "showClear"; "showSearchBar": "showSearchBar"; "showExportButton": "showExportButton"; "isExporting": "isExporting"; "filterConfig": "filterConfig"; "filterModel": "filterModel"; "showFilterPanel": "showFilterPanel"; "showFilterButton": "showFilterButton"; "otherButtons": "otherButtons"; "otherDropDownButtons": "otherDropDownButtons"; "otherSelectDropDownButtons": "otherSelectDropDownButtons"; "tagFilterTemplate": "tagFilterTemplate"; "otherButtonLabel": "otherButtonLabel"; "otherButtonVariant": "otherButtonVariant"; "showOtherButton": "showOtherButton"; "showActionButton": "showActionButton"; "showSettingsButton": "showSettingsButton"; "showAutoRefreshButton": "showAutoRefreshButton"; "showViewModeToggle": "showViewModeToggle"; "viewMode": "viewMode"; "viewModeLabels": "viewModeLabels"; "data": "data"; "isEmptyState": "isEmptyState"; "emptyStateConfig": "emptyStateConfig"; "actions": "actions"; "chips": "chips"; "filterApplied": "filterApplied"; "columns": "columns"; "rowSelectable": "rowSelectable"; "selectedAutoRefreshInterval": "selectedAutoRefreshInterval"; "pageIndex": "pageIndex"; "pageSize": "pageSize"; "pageSizeOptions": "pageSizeOptions"; "pageSizeMenuDirection": "pageSizeMenuDirection"; "serverSidePagination": "serverSidePagination"; "totalElements": "totalElements"; "enableLocalSort": "enableLocalSort"; "isTableLoading": "isTableLoading"; "isTableDataLoading": "isTableDataLoading"; "cellJsonPathGetter": "cellJsonPathGetter"; "onJsonPathCopiedHandler": "onJsonPathCopiedHandler"; "selectedItems": "selectedItems"; "showSelectAllInToolbar": "showSelectAllInToolbar"; "showDismissInToolbar": "showDismissInToolbar"; "allSelectedInToolbar": "allSelectedInToolbar"; "columnVisibility": "columnVisibility"; }, { "onSearchChange": "onSearchChange"; "onExportClick": "onExportClick"; "onApplyFilterClick": "onApplyFilterClick"; "onResetFilterClick": "onResetFilterClick"; "onClearAll": "onClearAll"; "removeChip": "removeChip"; "viewModeChange": "viewModeChange"; "pageChange": "pageChange"; "sortChange": "sortChange"; "onReload": "onReload"; "onAutoRefreshClick": "onAutoRefreshClick"; "columnVisibilityChange": "columnVisibilityChange"; "autoRefreshIntervalChange": "autoRefreshIntervalChange"; "bulkActionClick": "bulkActionClick"; "bulkSelectAllChange": "bulkSelectAllChange"; "bulkDismiss": "bulkDismiss"; "selectedItemsChange": "selectedItemsChange"; }, never, never>;
|
|
205
212
|
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { SegmentOption } from '../../segment-control/segment-control.component';
|
|
3
|
+
import { DataLibrarySubTab, ElementCardVm, ProfileCardVm } from './data-library-panel.models';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class DataLibraryPanelComponent {
|
|
6
|
+
searchTerm: string;
|
|
7
|
+
searchPlaceholder: string;
|
|
8
|
+
/** The active environment name, e.g. "QA". Empty/undefined renders "this test case" in the banner and hides the env chip on profile cards. */
|
|
9
|
+
environmentName?: string;
|
|
10
|
+
activeSubTab: DataLibrarySubTab;
|
|
11
|
+
elements: ElementCardVm[];
|
|
12
|
+
profiles: ProfileCardVm[];
|
|
13
|
+
isLoadingElements: boolean;
|
|
14
|
+
isLoadingProfiles: boolean;
|
|
15
|
+
selectedElementId: number | string | null;
|
|
16
|
+
hasEnvironment: boolean;
|
|
17
|
+
showElementsLink: boolean;
|
|
18
|
+
showManageProfilesLink: boolean;
|
|
19
|
+
searchTermChange: EventEmitter<string>;
|
|
20
|
+
search: EventEmitter<string>;
|
|
21
|
+
searchCleared: EventEmitter<void>;
|
|
22
|
+
activeSubTabChange: EventEmitter<DataLibrarySubTab>;
|
|
23
|
+
elementCardClick: EventEmitter<string | number>;
|
|
24
|
+
viewFullElementsClick: EventEmitter<void>;
|
|
25
|
+
manageProfilesClick: EventEmitter<void>;
|
|
26
|
+
/** Stable reference required by cqa-segment-control. */
|
|
27
|
+
readonly segments: SegmentOption[];
|
|
28
|
+
/** Stable iteration source for skeleton placeholders during loading. */
|
|
29
|
+
readonly skeletonCards: number[];
|
|
30
|
+
onSearchValueChange(value: string): void;
|
|
31
|
+
onSearchSubmit(value: string): void;
|
|
32
|
+
onSearchCleared(): void;
|
|
33
|
+
onSegmentChange(value: string): void;
|
|
34
|
+
onElementClick(id: number | string): void;
|
|
35
|
+
onViewFullElements(event: Event): void;
|
|
36
|
+
onManageProfiles(event: Event): void;
|
|
37
|
+
trackByElementId(_i: number, item: ElementCardVm): number | string;
|
|
38
|
+
trackByAttachmentId(_i: number, item: ProfileCardVm): number | string;
|
|
39
|
+
get bannerLabel(): string;
|
|
40
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DataLibraryPanelComponent, never>;
|
|
41
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DataLibraryPanelComponent, "cqa-data-library-panel", never, { "searchTerm": "searchTerm"; "searchPlaceholder": "searchPlaceholder"; "environmentName": "environmentName"; "activeSubTab": "activeSubTab"; "elements": "elements"; "profiles": "profiles"; "isLoadingElements": "isLoadingElements"; "isLoadingProfiles": "isLoadingProfiles"; "selectedElementId": "selectedElementId"; "hasEnvironment": "hasEnvironment"; "showElementsLink": "showElementsLink"; "showManageProfilesLink": "showManageProfilesLink"; }, { "searchTermChange": "searchTermChange"; "search": "search"; "searchCleared": "searchCleared"; "activeSubTabChange": "activeSubTabChange"; "elementCardClick": "elementCardClick"; "viewFullElementsClick": "viewFullElementsClick"; "manageProfilesClick": "manageProfilesClick"; }, never, never>;
|
|
42
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface ElementCardVm {
|
|
2
|
+
id: number | string;
|
|
3
|
+
name: string;
|
|
4
|
+
screen: string;
|
|
5
|
+
updatedRelative: string;
|
|
6
|
+
locatorBadge: string;
|
|
7
|
+
}
|
|
8
|
+
export interface ProfileCardVm {
|
|
9
|
+
attachmentId: number | string;
|
|
10
|
+
testDataId: number | string;
|
|
11
|
+
name: string;
|
|
12
|
+
rowsCount: number;
|
|
13
|
+
columnsCount: number;
|
|
14
|
+
permission: 'RO' | 'RW' | null;
|
|
15
|
+
activeOnTestCase: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare type DataLibrarySubTab = 'elements' | 'profiles';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class ElementCardComponent {
|
|
4
|
+
name: string;
|
|
5
|
+
screen: string;
|
|
6
|
+
updatedRelative: string;
|
|
7
|
+
locatorBadge: string;
|
|
8
|
+
selected: boolean;
|
|
9
|
+
cardClick: EventEmitter<void>;
|
|
10
|
+
onClick(): void;
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ElementCardComponent, never>;
|
|
12
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ElementCardComponent, "cqa-element-card", never, { "name": "name"; "screen": "screen"; "updatedRelative": "updatedRelative"; "locatorBadge": "locatorBadge"; "selected": "selected"; }, { "cardClick": "cardClick"; }, never, never>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class TestDataProfileCardComponent {
|
|
3
|
+
name: string;
|
|
4
|
+
rowsCount: number;
|
|
5
|
+
columnsCount: number;
|
|
6
|
+
environmentName?: string;
|
|
7
|
+
permission?: 'RO' | 'RW' | null;
|
|
8
|
+
activeOnTestCase: boolean;
|
|
9
|
+
get rowsLabel(): string;
|
|
10
|
+
get colsLabel(): string;
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TestDataProfileCardComponent, never>;
|
|
12
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TestDataProfileCardComponent, "cqa-test-data-profile-card", never, { "name": "name"; "rowsCount": "rowsCount"; "columnsCount": "columnsCount"; "environmentName": "environmentName"; "permission": "permission"; "activeOnTestCase": "activeOnTestCase"; }, {}, never, never>;
|
|
13
|
+
}
|
|
@@ -18,6 +18,10 @@ export interface SelectConfigOverride {
|
|
|
18
18
|
searchable?: boolean;
|
|
19
19
|
/** When true, triggers initial search on panel open (serverSearch mode). */
|
|
20
20
|
initialFetchOnOpen?: boolean;
|
|
21
|
+
/** Disable the select (e.g. dependent dropdown waiting on a parent value). */
|
|
22
|
+
disabled?: boolean;
|
|
23
|
+
/** Override the placeholder shown when no value is selected. */
|
|
24
|
+
placeholder?: string;
|
|
21
25
|
/** Callback when user types in search. Call API, then update options via selectConfigOverrides. */
|
|
22
26
|
onSearch?: (query: string) => void;
|
|
23
27
|
/** Callback when user scrolls to load more. Call API, append options via selectConfigOverrides. */
|
|
@@ -32,6 +36,7 @@ export declare const TEST_CASE_DETAILS_SELECT_KEYS: {
|
|
|
32
36
|
readonly type: "type";
|
|
33
37
|
readonly labels: "labels";
|
|
34
38
|
readonly prerequisiteCases: "prerequisiteCases";
|
|
39
|
+
readonly environment: "environment";
|
|
35
40
|
readonly testDataProfile: "testDataProfile";
|
|
36
41
|
readonly testDataSet: "testDataSet";
|
|
37
42
|
readonly videoRecording: "videoRecording";
|
|
@@ -50,6 +55,7 @@ export interface TestCaseDetailsEditFormData {
|
|
|
50
55
|
priority: string;
|
|
51
56
|
type?: string | number;
|
|
52
57
|
labels: string[];
|
|
58
|
+
environmentId?: number | string | null;
|
|
53
59
|
testDataProfileId?: number | string | null;
|
|
54
60
|
testDataSetIndex?: number | string | null;
|
|
55
61
|
configSections: TestCaseDetailsConfigSection[];
|
|
@@ -179,6 +185,7 @@ export declare class TestCaseDetailsEditComponent implements OnInit, OnChanges {
|
|
|
179
185
|
/** Cached configs to avoid new object refs each change detection (prevents infinite loops) */
|
|
180
186
|
readonly statusSelectConfig: DynamicSelectFieldConfig;
|
|
181
187
|
readonly typeSelectConfig: DynamicSelectFieldConfig;
|
|
188
|
+
readonly environmentSelectConfig: DynamicSelectFieldConfig;
|
|
182
189
|
readonly testDataProfileSelectConfig: DynamicSelectFieldConfig;
|
|
183
190
|
readonly testDataSetSelectConfig: DynamicSelectFieldConfig;
|
|
184
191
|
private readonly defaultPrerequisiteCaseOptions;
|
|
@@ -36,6 +36,7 @@ export declare const TEST_CASE_DETAILS_FIELD_MAP: {
|
|
|
36
36
|
};
|
|
37
37
|
/** Execution config */
|
|
38
38
|
readonly execution: {
|
|
39
|
+
readonly environment: "environment";
|
|
39
40
|
readonly prerequisiteCase: "prerequisiteCase";
|
|
40
41
|
readonly defaultBrowser: "defaultBrowser";
|
|
41
42
|
readonly videoRecording: "videoRecording";
|
|
@@ -74,6 +75,7 @@ export interface TestCaseDetailsApiData {
|
|
|
74
75
|
type?: string;
|
|
75
76
|
typeId?: number | string;
|
|
76
77
|
environment?: string;
|
|
78
|
+
environmentId?: number | string | null;
|
|
77
79
|
version?: string;
|
|
78
80
|
testPlanName?: string;
|
|
79
81
|
testPlanRedirectUrl?: string;
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
2
|
import type { ParameterScopeFilter, ParameterItem } from './test-data-modal-parameter.model';
|
|
3
3
|
import type { EnvironmentItem } from './test-data-modal-environment.model';
|
|
4
|
-
export declare type TestDataModalTab = 'plain-text' | 'parameter' | 'environment' | 'runtime';
|
|
4
|
+
export declare type TestDataModalTab = 'plain-text' | 'parameter' | 'environment' | 'runtime' | 'global';
|
|
5
|
+
/** Global Data list item supplied by the consuming app (workspace-scoped global variables). */
|
|
6
|
+
export interface GlobalVariableItem {
|
|
7
|
+
id: number | string;
|
|
8
|
+
name: string;
|
|
9
|
+
value: string;
|
|
10
|
+
type?: string;
|
|
11
|
+
readWriteMode?: string;
|
|
12
|
+
}
|
|
5
13
|
/**
|
|
6
14
|
* Config/data for Test Data Modal controls.
|
|
7
15
|
* Mirrors Loop Step pattern: single config object holds all control state;
|
|
@@ -30,6 +38,14 @@ export interface TestDataModalData {
|
|
|
30
38
|
environmentItems?: EnvironmentItem[];
|
|
31
39
|
/** Runtime tab: value (independent from Plain Text / Parameter / Environment). */
|
|
32
40
|
runtimeValue?: string;
|
|
41
|
+
/** Global Data tab: search query. */
|
|
42
|
+
globalVariableSearchQuery?: string;
|
|
43
|
+
/** Global Data tab: selected global variable id (for highlight). Always the variable name. */
|
|
44
|
+
selectedGlobalVariableId?: string | null;
|
|
45
|
+
/** Global Data tab: list of variables to display. */
|
|
46
|
+
globalVariables?: GlobalVariableItem[];
|
|
47
|
+
/** When set, the Test Data Profile (legacy "Parameter") tab is visible. */
|
|
48
|
+
testCaseTestDataId?: number | null;
|
|
33
49
|
}
|
|
34
50
|
/** Sentinel returned from afterClosed() when user clicked "Edit in depth". */
|
|
35
51
|
export declare const TEST_DATA_MODAL_EDIT_IN_DEPTH: unique symbol;
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import { ChangeDetectorRef, EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
|
|
2
2
|
import { FormBuilder, FormGroup } from '@angular/forms';
|
|
3
3
|
import { DynamicSelectFieldConfig } from '../../dynamic-select/dynamic-select-field.component';
|
|
4
|
-
import { TestDataModalData, TestDataModalTab } from './test-data-modal-data';
|
|
4
|
+
import { TestDataModalData, TestDataModalTab, GlobalVariableItem } from './test-data-modal-data';
|
|
5
5
|
import { TestDataModalRef } from './test-data-modal-ref';
|
|
6
6
|
import { TestDataModalResult } from './test-data-modal.service';
|
|
7
7
|
import { EnvironmentItem } from './test-data-modal-environment.model';
|
|
8
8
|
import { ParameterItem, ParameterScopeFilter } from './test-data-modal-parameter.model';
|
|
9
9
|
import { CqaListItemConfig } from '../../item-list/item-list.model';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
|
+
interface TabSegment {
|
|
12
|
+
label: string;
|
|
13
|
+
value: TestDataModalTab;
|
|
14
|
+
}
|
|
11
15
|
export declare class TestDataModalComponent implements OnInit, OnChanges {
|
|
12
16
|
private readonly fb;
|
|
13
17
|
private readonly cdr;
|
|
@@ -22,10 +26,10 @@ export declare class TestDataModalComponent implements OnInit, OnChanges {
|
|
|
22
26
|
parameterEdit: EventEmitter<string>;
|
|
23
27
|
environmentCreate: EventEmitter<void>;
|
|
24
28
|
environmentEdit: EventEmitter<string>;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
+
/** Server-side search for global variables. */
|
|
30
|
+
searchGlobalVariables: EventEmitter<string>;
|
|
31
|
+
/** Computed segments — recomputed in ngOnChanges, never as a getter (segment-control needs a stable ref). */
|
|
32
|
+
tabSegments: TabSegment[];
|
|
29
33
|
readonly parameterFilterTabs: {
|
|
30
34
|
label: string;
|
|
31
35
|
value: ParameterScopeFilter;
|
|
@@ -34,6 +38,12 @@ export declare class TestDataModalComponent implements OnInit, OnChanges {
|
|
|
34
38
|
parameters: ParameterItem[];
|
|
35
39
|
/** Environment list from input, falls back to mock data if not provided. */
|
|
36
40
|
environmentItems: EnvironmentItem[];
|
|
41
|
+
/** Global Data variables (workspace-scoped) for the new Global Data tab. */
|
|
42
|
+
globalVariables: GlobalVariableItem[];
|
|
43
|
+
/** True while the consuming app loads global variables (search/initial). */
|
|
44
|
+
isLoadingGlobalVariables: boolean;
|
|
45
|
+
/** When set, the Test Data Profile tab is shown — gated on test case having a TDP. */
|
|
46
|
+
testCaseTestDataId: number | null;
|
|
37
47
|
/** Runtime tab: suggested variable chips. */
|
|
38
48
|
readonly runtimeSuggestedValues: readonly string[];
|
|
39
49
|
/** Form for all modal controls (same pattern as Loop Step editForm). */
|
|
@@ -56,10 +66,15 @@ export declare class TestDataModalComponent implements OnInit, OnChanges {
|
|
|
56
66
|
selectedParameterId: string | null;
|
|
57
67
|
environmentSearchQuery: string;
|
|
58
68
|
selectedEnvironmentId: string | null;
|
|
69
|
+
globalVariableSearchQuery: string;
|
|
70
|
+
/** Stores the variable NAME (used as the id for the row, since names are unique within a workspace). */
|
|
71
|
+
selectedGlobalVariableId: string | null;
|
|
59
72
|
runtimeValue: string;
|
|
60
73
|
constructor(fb: FormBuilder, cdr: ChangeDetectorRef, ref: TestDataModalRef<TestDataModalResult>, data?: TestDataModalData);
|
|
61
74
|
ngOnInit(): void;
|
|
62
75
|
ngOnChanges(changes: SimpleChanges): void;
|
|
76
|
+
/** Memoize visible segments — `[segments]`-style refs must be stable across CD passes. */
|
|
77
|
+
private recomputeVisibleTabs;
|
|
63
78
|
/** Build form with all control values (same pattern as Loop Step buildEditForm). */
|
|
64
79
|
private buildEditForm;
|
|
65
80
|
/** Build select configs once (same pattern as Loop Step buildSelectConfigs). */
|
|
@@ -74,6 +89,10 @@ export declare class TestDataModalComponent implements OnInit, OnChanges {
|
|
|
74
89
|
get filteredEnvironments(): EnvironmentItem[];
|
|
75
90
|
/** Parameter tab: list config for cqa-item-list (search-friendly: bind filtered list). */
|
|
76
91
|
get parameterListConfig(): CqaListItemConfig[];
|
|
92
|
+
/** Filtered global variables by search (Global Data tab). */
|
|
93
|
+
get filteredGlobalVariables(): GlobalVariableItem[];
|
|
94
|
+
/** Global Data tab: list config (mirrors environment listing pattern). */
|
|
95
|
+
get globalVariableListConfig(): CqaListItemConfig[];
|
|
77
96
|
/** Environment tab: list config for cqa-item-list. */
|
|
78
97
|
get environmentListConfig(): CqaListItemConfig[];
|
|
79
98
|
onTabChange(tabValue: string): void;
|
|
@@ -92,13 +111,22 @@ export declare class TestDataModalComponent implements OnInit, OnChanges {
|
|
|
92
111
|
onEnvironmentSelect(itemId: string): void;
|
|
93
112
|
onEnvironmentEdit(itemId: string): void;
|
|
94
113
|
onCreateNewEnvironment(event: Event): void;
|
|
114
|
+
onGlobalVariableSearchInput(value: string): void;
|
|
115
|
+
onGlobalVariableSelect(name: string): void;
|
|
95
116
|
/** Runtime tab: replace the runtime input with the selected suggestion. */
|
|
96
117
|
onRuntimeChipInsert(snippet: string): void;
|
|
118
|
+
/**
|
|
119
|
+
* When the user picks a value in any tab, the others' visual selection must
|
|
120
|
+
* reset — the modal applies only the active tab's value, so keeping stale
|
|
121
|
+
* highlights confuses which one will land on Apply.
|
|
122
|
+
*/
|
|
123
|
+
private clearSelectionsExcept;
|
|
97
124
|
onApply(): void;
|
|
98
125
|
onCancel(): void;
|
|
99
126
|
onClose(): void;
|
|
100
127
|
onEditInDepth(event: Event): void;
|
|
101
128
|
onHelp(event: Event): void;
|
|
102
129
|
static ɵfac: i0.ɵɵFactoryDeclaration<TestDataModalComponent, [null, null, null, { optional: true; }]>;
|
|
103
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TestDataModalComponent, "cqa-test-data-modal", never, { "parameters": "parameters"; "environmentItems": "environmentItems"; "activeTab": "activeTab"; "value": "value"; "helpUrl": "helpUrl"; }, { "apply": "apply"; "cancel": "cancel"; "editInDepth": "editInDepth"; "parameterCreate": "parameterCreate"; "parameterEdit": "parameterEdit"; "environmentCreate": "environmentCreate"; "environmentEdit": "environmentEdit"; }, never, never>;
|
|
130
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TestDataModalComponent, "cqa-test-data-modal", never, { "parameters": "parameters"; "environmentItems": "environmentItems"; "globalVariables": "globalVariables"; "isLoadingGlobalVariables": "isLoadingGlobalVariables"; "testCaseTestDataId": "testCaseTestDataId"; "activeTab": "activeTab"; "value": "value"; "helpUrl": "helpUrl"; }, { "apply": "apply"; "cancel": "cancel"; "editInDepth": "editInDepth"; "parameterCreate": "parameterCreate"; "parameterEdit": "parameterEdit"; "environmentCreate": "environmentCreate"; "environmentEdit": "environmentEdit"; "searchGlobalVariables": "searchGlobalVariables"; }, never, never>;
|
|
104
131
|
}
|
|
132
|
+
export {};
|