@cqa-lib/cqa-ui 1.1.540 → 1.1.541-gamma.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.
- 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 +32 -3
- 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/new-test-data-profile-dialog/new-test-data-profile-dialog.component.mjs +50 -51
- package/esm2020/lib/new-test-data-profile-dialog/new-test-data-profile-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 +21 -3
- package/esm2020/lib/step-builder/step-builder-ai-agent/step-builder-ai-agent.component.mjs +47 -23
- package/esm2020/lib/step-builder/step-builder-condition/step-builder-condition.component.mjs +21 -3
- package/esm2020/lib/step-builder/step-builder-database/step-builder-database.component.mjs +76 -47
- package/esm2020/lib/step-builder/step-builder-loop/step-builder-loop.component.mjs +16 -3
- package/esm2020/lib/step-builder/template-variables-form/template-variables-form.component.mjs +326 -29
- package/esm2020/lib/templates/modular-table-template/folder-sidebar/folder-sidebar.component.mjs +3 -3
- package/esm2020/lib/templates/table-template.component.mjs +5 -3
- package/esm2020/lib/test-case-details/api-edit-step/api-edit-step.component.mjs +20 -7
- 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 +137 -7
- package/esm2020/lib/ui-kit.module.mjs +23 -3
- package/esm2020/public-api.mjs +6 -1
- package/fesm2015/cqa-lib-cqa-ui.mjs +1243 -260
- package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
- package/fesm2020/cqa-lib-cqa-ui.mjs +1154 -187
- package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
- package/lib/execution-screen/condition-debug-step/condition-branch-editor.component.d.ts +26 -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/new-test-data-profile-dialog/new-test-data-profile-dialog.component.d.ts +9 -10
- package/lib/new-test-data-profile-dialog/new-test-data-profile-dialog.models.d.ts +1 -1
- package/lib/segment-control/segment-control.component.d.ts +3 -1
- package/lib/step-builder/step-builder-action/step-builder-action.component.d.ts +19 -1
- package/lib/step-builder/step-builder-ai-agent/step-builder-ai-agent.component.d.ts +16 -2
- package/lib/step-builder/step-builder-condition/step-builder-condition.component.d.ts +19 -1
- package/lib/step-builder/step-builder-database/step-builder-database.component.d.ts +33 -11
- package/lib/step-builder/step-builder-loop/step-builder-loop.component.d.ts +15 -1
- package/lib/step-builder/template-variables-form/template-variables-form.component.d.ts +75 -4
- package/lib/templates/table-template.component.d.ts +8 -1
- package/lib/test-case-details/api-edit-step/api-edit-step.component.d.ts +7 -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 +23 -1
- package/lib/test-case-details/test-data-modal/test-data-modal.component.d.ts +40 -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
|
@@ -58,6 +58,30 @@ export declare class ConditionBranchEditorComponent implements OnInit, OnChanges
|
|
|
58
58
|
}[];
|
|
59
59
|
hasMoreEnvironments: boolean;
|
|
60
60
|
isLoadingEnvironments: boolean;
|
|
61
|
+
/** Resolved test-case env name; drives banner + env-dropdown auto-select + lock in inner template-variables-form. */
|
|
62
|
+
testCaseEnvironmentName?: string;
|
|
63
|
+
/** Suffix on the env-name option label (e.g. '(default)'). Also locks the env dropdown. */
|
|
64
|
+
testCaseEnvironmentLabelSuffix?: string;
|
|
65
|
+
/** Italic note rendered under env dropdown in the inner form. */
|
|
66
|
+
environmentLegacyDeprecationMessage?: string;
|
|
67
|
+
/** Test case's TDP id — gates the Test Data Profile tab in the inner form. */
|
|
68
|
+
testCaseTestDataId?: number | null;
|
|
69
|
+
/** When true (or `isInsideForLoopStep` true), the inner form shows the Test
|
|
70
|
+
* Data Profile segment. Without this, the lib defaults the segment in,
|
|
71
|
+
* even though the test case has no TDP — which is what shows the tab in the
|
|
72
|
+
* debug-screen condition-branch editor. */
|
|
73
|
+
hasTestDataProfile: boolean;
|
|
74
|
+
/** True when this branch lives inside a FOR-loop step. */
|
|
75
|
+
isInsideForLoopStep: boolean;
|
|
76
|
+
/** Workspace-scoped global variables for the Global Data tab. */
|
|
77
|
+
globalVariableOptions: {
|
|
78
|
+
id: number | string;
|
|
79
|
+
name: string;
|
|
80
|
+
value: string;
|
|
81
|
+
type?: string;
|
|
82
|
+
readWriteMode?: string;
|
|
83
|
+
}[];
|
|
84
|
+
isLoadingGlobalVariables: boolean;
|
|
61
85
|
defaultTestDataProfileId?: number;
|
|
62
86
|
defaultTestDataStartIndex?: number;
|
|
63
87
|
/** When provided, pre-populates the form for edit mode. shape: { templateId, templateVariables, action } */
|
|
@@ -90,6 +114,7 @@ export declare class ConditionBranchEditorComponent implements OnInit, OnChanges
|
|
|
90
114
|
loadMoreParameters: EventEmitter<void>;
|
|
91
115
|
searchEnvironments: EventEmitter<string>;
|
|
92
116
|
loadMoreEnvironments: EventEmitter<void>;
|
|
117
|
+
searchGlobalVariables: EventEmitter<string>;
|
|
93
118
|
conditionForm: FormGroup;
|
|
94
119
|
private selectedTemplate;
|
|
95
120
|
private templateVariables;
|
|
@@ -131,5 +156,5 @@ export declare class ConditionBranchEditorComponent implements OnInit, OnChanges
|
|
|
131
156
|
onCancel(): void;
|
|
132
157
|
onSave(): void;
|
|
133
158
|
static ɵfac: i0.ɵɵFactoryDeclaration<ConditionBranchEditorComponent, never>;
|
|
134
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ConditionBranchEditorComponent, "cqa-condition-branch-editor", never, { "mode": "mode"; "conditionTemplates": "conditionTemplates"; "setConditionTemplateVariables": "setConditionTemplateVariables"; "setAdvancedSettingsVariables": "setAdvancedSettingsVariables"; "computeHtmlGrammarFn": "computeHtmlGrammarFn"; "elementOptions": "elementOptions"; "hasMoreElements": "hasMoreElements"; "isLoadingElements": "isLoadingElements"; "screenNameOptions": "screenNameOptions"; "hasMoreScreenNames": "hasMoreScreenNames"; "isLoadingScreenNames": "isLoadingScreenNames"; "parameterOptions": "parameterOptions"; "hasMoreParameters": "hasMoreParameters"; "isLoadingParameters": "isLoadingParameters"; "environmentOptions": "environmentOptions"; "hasMoreEnvironments": "hasMoreEnvironments"; "isLoadingEnvironments": "isLoadingEnvironments"; "defaultTestDataProfileId": "defaultTestDataProfileId"; "defaultTestDataStartIndex": "defaultTestDataStartIndex"; "initialConditionData": "initialConditionData"; "editTestStep": "editTestStep"; "branchLabel": "branchLabel"; "isSaving": "isSaving"; }, { "save": "save"; "cancelled": "cancelled"; "loadMoreElements": "loadMoreElements"; "searchElements": "searchElements"; "searchElementsByScreenName": "searchElementsByScreenName"; "createElement": "createElement"; "searchScreenName": "searchScreenName"; "loadMoreScreenNames": "loadMoreScreenNames"; "createScreenNameRequest": "createScreenNameRequest"; "searchParameters": "searchParameters"; "loadMoreParameters": "loadMoreParameters"; "searchEnvironments": "searchEnvironments"; "loadMoreEnvironments": "loadMoreEnvironments"; }, never, never>;
|
|
159
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ConditionBranchEditorComponent, "cqa-condition-branch-editor", never, { "mode": "mode"; "conditionTemplates": "conditionTemplates"; "setConditionTemplateVariables": "setConditionTemplateVariables"; "setAdvancedSettingsVariables": "setAdvancedSettingsVariables"; "computeHtmlGrammarFn": "computeHtmlGrammarFn"; "elementOptions": "elementOptions"; "hasMoreElements": "hasMoreElements"; "isLoadingElements": "isLoadingElements"; "screenNameOptions": "screenNameOptions"; "hasMoreScreenNames": "hasMoreScreenNames"; "isLoadingScreenNames": "isLoadingScreenNames"; "parameterOptions": "parameterOptions"; "hasMoreParameters": "hasMoreParameters"; "isLoadingParameters": "isLoadingParameters"; "environmentOptions": "environmentOptions"; "hasMoreEnvironments": "hasMoreEnvironments"; "isLoadingEnvironments": "isLoadingEnvironments"; "testCaseEnvironmentName": "testCaseEnvironmentName"; "testCaseEnvironmentLabelSuffix": "testCaseEnvironmentLabelSuffix"; "environmentLegacyDeprecationMessage": "environmentLegacyDeprecationMessage"; "testCaseTestDataId": "testCaseTestDataId"; "hasTestDataProfile": "hasTestDataProfile"; "isInsideForLoopStep": "isInsideForLoopStep"; "globalVariableOptions": "globalVariableOptions"; "isLoadingGlobalVariables": "isLoadingGlobalVariables"; "defaultTestDataProfileId": "defaultTestDataProfileId"; "defaultTestDataStartIndex": "defaultTestDataStartIndex"; "initialConditionData": "initialConditionData"; "editTestStep": "editTestStep"; "branchLabel": "branchLabel"; "isSaving": "isSaving"; }, { "save": "save"; "cancelled": "cancelled"; "loadMoreElements": "loadMoreElements"; "searchElements": "searchElements"; "searchElementsByScreenName": "searchElementsByScreenName"; "createElement": "createElement"; "searchScreenName": "searchScreenName"; "loadMoreScreenNames": "loadMoreScreenNames"; "createScreenNameRequest": "createScreenNameRequest"; "searchParameters": "searchParameters"; "loadMoreParameters": "loadMoreParameters"; "searchEnvironments": "searchEnvironments"; "loadMoreEnvironments": "loadMoreEnvironments"; "searchGlobalVariables": "searchGlobalVariables"; }, never, never>;
|
|
135
160
|
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ChangeDetectorRef, ElementRef, EventEmitter } from '@angular/core';
|
|
2
|
+
import { GlobalVariableTagOption } from './new-global-variable-dialog.models';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Tag chip-list + autocomplete used by the New / Edit Global Variable dialog.
|
|
6
|
+
* Mirrors the React `TagsEditor` block in
|
|
7
|
+
* `Environment and Data Management_CD Deisgns/src/Global.jsx:179-237`:
|
|
8
|
+
*
|
|
9
|
+
* [chip × …] [+ Add tag] ← inactive state
|
|
10
|
+
* [chip × …] [_input_ ↳ suggestions] ← active state
|
|
11
|
+
*
|
|
12
|
+
* Behavior:
|
|
13
|
+
* - Backspace on an empty input removes the last tag.
|
|
14
|
+
* - Enter commits the trimmed lowercase value (creates if not in available).
|
|
15
|
+
* - Escape exits the input without committing.
|
|
16
|
+
* - Suggestions are computed from `availableTags`, capped at 4.
|
|
17
|
+
*/
|
|
18
|
+
export declare class GlobalVariableTagsInputComponent {
|
|
19
|
+
private readonly cdr;
|
|
20
|
+
tags: string[];
|
|
21
|
+
availableTags: GlobalVariableTagOption[];
|
|
22
|
+
tagsChange: EventEmitter<string[]>;
|
|
23
|
+
tagInputRef?: ElementRef<HTMLInputElement>;
|
|
24
|
+
adding: boolean;
|
|
25
|
+
draft: string;
|
|
26
|
+
constructor(cdr: ChangeDetectorRef);
|
|
27
|
+
get suggestions(): GlobalVariableTagOption[];
|
|
28
|
+
beginAdd(): void;
|
|
29
|
+
onDraftChange(next: string): void;
|
|
30
|
+
onKeyDown(event: KeyboardEvent): void;
|
|
31
|
+
onSuggestionMouseDown(event: MouseEvent, suggestion: GlobalVariableTagOption): void;
|
|
32
|
+
onBlur(): void;
|
|
33
|
+
removeAt(index: number): void;
|
|
34
|
+
private commitDraft;
|
|
35
|
+
private commit;
|
|
36
|
+
private cancelAdd;
|
|
37
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GlobalVariableTagsInputComponent, never>;
|
|
38
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GlobalVariableTagsInputComponent, "lib-global-variable-tags-input", never, { "tags": "tags"; "availableTags": "availableTags"; }, { "tagsChange": "tagsChange"; }, never, never>;
|
|
39
|
+
}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { ChangeDetectorRef, OnInit } from '@angular/core';
|
|
2
|
-
import { GlobalVariableDialogValue, GlobalVariableUIPermission, GlobalVariableUIType } from './new-global-variable-dialog.models';
|
|
2
|
+
import { GlobalVariableDialogValue, GlobalVariableTagOption, GlobalVariableUIPermission, GlobalVariableUIType } from './new-global-variable-dialog.models';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class NewGlobalVariableDialogComponent implements OnInit {
|
|
5
5
|
private readonly cdr;
|
|
6
6
|
mode: 'create' | 'edit';
|
|
7
7
|
initialValue?: Partial<GlobalVariableDialogValue>;
|
|
8
8
|
existingNames: string[];
|
|
9
|
+
availableTags: GlobalVariableTagOption[];
|
|
9
10
|
readonly typeOptions: GlobalVariableUIType[];
|
|
10
11
|
readonly typeDropdownOptions: {
|
|
11
12
|
label: string;
|
|
@@ -21,6 +22,7 @@ export declare class NewGlobalVariableDialogComponent implements OnInit {
|
|
|
21
22
|
value: string;
|
|
22
23
|
readWriteMode: GlobalVariableUIPermission;
|
|
23
24
|
description: string;
|
|
25
|
+
tags: string[];
|
|
24
26
|
passwordTouched: boolean;
|
|
25
27
|
nameError: string | null;
|
|
26
28
|
valueError: string | null;
|
|
@@ -50,6 +52,7 @@ export declare class NewGlobalVariableDialogComponent implements OnInit {
|
|
|
50
52
|
onValueChange(next: string): void;
|
|
51
53
|
onBooleanValueChange(next: string): void;
|
|
52
54
|
onDescriptionChange(next: string): void;
|
|
55
|
+
onTagsChange(next: string[]): void;
|
|
53
56
|
/**
|
|
54
57
|
* Called by the host (via DialogRef.getComponentInstance()) when the primary
|
|
55
58
|
* button is clicked. Returns the captured value when valid, or null when the
|
|
@@ -60,5 +63,5 @@ export declare class NewGlobalVariableDialogComponent implements OnInit {
|
|
|
60
63
|
private isDuplicateName;
|
|
61
64
|
private isValidNumber;
|
|
62
65
|
static ɵfac: i0.ɵɵFactoryDeclaration<NewGlobalVariableDialogComponent, never>;
|
|
63
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NewGlobalVariableDialogComponent, "cqa-new-global-variable-dialog", never, { "mode": "mode"; "initialValue": "initialValue"; "existingNames": "existingNames"; }, {}, never, never>;
|
|
66
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NewGlobalVariableDialogComponent, "cqa-new-global-variable-dialog", never, { "mode": "mode"; "initialValue": "initialValue"; "existingNames": "existingNames"; "availableTags": "availableTags"; }, {}, never, never>;
|
|
64
67
|
}
|
|
@@ -6,9 +6,17 @@ export interface GlobalVariableDialogValue {
|
|
|
6
6
|
value: string | null;
|
|
7
7
|
readWriteMode: GlobalVariableUIPermission;
|
|
8
8
|
description: string | null;
|
|
9
|
+
tags: string[];
|
|
10
|
+
}
|
|
11
|
+
/** A tag option for the dialog's autocomplete. `count` drives the small usage
|
|
12
|
+
* badge in the suggestion list; pass 0 (or omit) for newly-created entries. */
|
|
13
|
+
export interface GlobalVariableTagOption {
|
|
14
|
+
name: string;
|
|
15
|
+
count?: number;
|
|
9
16
|
}
|
|
10
17
|
export interface NewGlobalVariableDialogInputs {
|
|
11
18
|
mode?: 'create' | 'edit';
|
|
12
19
|
initialValue?: Partial<GlobalVariableDialogValue>;
|
|
13
20
|
existingNames?: string[];
|
|
21
|
+
availableTags?: GlobalVariableTagOption[];
|
|
14
22
|
}
|
|
@@ -5,39 +5,38 @@ import { TdpDialogPermission, TdpDialogValue, TdpEnvironmentOption } from './new
|
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export declare class NewTestDataProfileDialogComponent implements OnInit {
|
|
7
7
|
private readonly cdr;
|
|
8
|
+
private static readonly INTEGER_REGEX;
|
|
9
|
+
private static readonly MAX_DIM;
|
|
8
10
|
mode: 'create' | 'edit';
|
|
9
11
|
initialValue?: Partial<TdpDialogValue>;
|
|
10
12
|
existingNames: string[];
|
|
11
13
|
environments: TdpEnvironmentOption[];
|
|
12
|
-
lockedColumns: string[];
|
|
13
14
|
name: string;
|
|
14
15
|
description: string;
|
|
15
16
|
readWriteMode: TdpDialogPermission;
|
|
16
|
-
|
|
17
|
+
rowsInput: string;
|
|
18
|
+
columnsInput: string;
|
|
17
19
|
readonly envForm: FormGroup;
|
|
18
20
|
envConfig: DynamicSelectFieldConfig;
|
|
19
21
|
nameError: string | null;
|
|
20
|
-
|
|
22
|
+
matrixError: string | null;
|
|
21
23
|
envsError: string | null;
|
|
22
|
-
trackByIndex: (_: number, __: string) => number;
|
|
23
24
|
constructor(cdr: ChangeDetectorRef);
|
|
24
25
|
ngOnInit(): void;
|
|
25
26
|
get title(): string;
|
|
26
27
|
get subtitle(): string;
|
|
27
28
|
get primaryButtonLabel(): string;
|
|
28
29
|
get nameErrorsArray(): string[];
|
|
29
|
-
get canAddColumn(): boolean;
|
|
30
30
|
get selectedEnvIds(): number[];
|
|
31
31
|
onNameChange(next: string): void;
|
|
32
32
|
onDescriptionChange(next: string): void;
|
|
33
33
|
onPermissionChange(next: string): void;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
onRemoveColumn(index: number): void;
|
|
37
|
-
isColumnLocked(col: string): boolean;
|
|
34
|
+
onRowsChange(next: string): void;
|
|
35
|
+
onColumnsChange(next: string): void;
|
|
38
36
|
getValue(): TdpDialogValue | null;
|
|
37
|
+
private parseMatrix;
|
|
39
38
|
private buildEnvConfig;
|
|
40
39
|
private isDuplicateName;
|
|
41
40
|
static ɵfac: i0.ɵɵFactoryDeclaration<NewTestDataProfileDialogComponent, never>;
|
|
42
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NewTestDataProfileDialogComponent, "cqa-new-test-data-profile-dialog", never, { "mode": "mode"; "initialValue": "initialValue"; "existingNames": "existingNames"; "environments": "environments";
|
|
41
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NewTestDataProfileDialogComponent, "cqa-new-test-data-profile-dialog", never, { "mode": "mode"; "initialValue": "initialValue"; "existingNames": "existingNames"; "environments": "environments"; }, {}, never, never>;
|
|
43
42
|
}
|
|
@@ -4,6 +4,7 @@ export interface TdpDialogValue {
|
|
|
4
4
|
description: string | null;
|
|
5
5
|
readWriteMode: TdpDialogPermission;
|
|
6
6
|
columns: string[];
|
|
7
|
+
rows: string[];
|
|
7
8
|
environmentIds: number[];
|
|
8
9
|
}
|
|
9
10
|
export interface TdpEnvironmentOption {
|
|
@@ -16,5 +17,4 @@ export interface NewTestDataProfileDialogInputs {
|
|
|
16
17
|
initialValue?: Partial<TdpDialogValue>;
|
|
17
18
|
existingNames?: string[];
|
|
18
19
|
environments?: TdpEnvironmentOption[];
|
|
19
|
-
lockedColumns?: string[];
|
|
20
20
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AfterViewInit, ElementRef, EventEmitter, OnDestroy, OnChanges, QueryList, SimpleChanges } from '@angular/core';
|
|
1
|
+
import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnChanges, QueryList, SimpleChanges } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare type SegmentOption = {
|
|
4
4
|
label: string;
|
|
@@ -9,6 +9,7 @@ export declare type SegmentOption = {
|
|
|
9
9
|
count?: number;
|
|
10
10
|
};
|
|
11
11
|
export declare class SegmentControlComponent implements OnChanges, AfterViewInit, OnDestroy {
|
|
12
|
+
private readonly cdr;
|
|
12
13
|
segments: SegmentOption[];
|
|
13
14
|
/**
|
|
14
15
|
* The currently selected segment value.
|
|
@@ -28,6 +29,7 @@ export declare class SegmentControlComponent implements OnChanges, AfterViewInit
|
|
|
28
29
|
indicatorStyle: Record<string, string>;
|
|
29
30
|
indicatorVisible: boolean;
|
|
30
31
|
private buttonChangesSub?;
|
|
32
|
+
constructor(cdr: ChangeDetectorRef);
|
|
31
33
|
ngOnChanges(changes: SimpleChanges): void;
|
|
32
34
|
ngAfterViewInit(): void;
|
|
33
35
|
ngOnDestroy(): void;
|
|
@@ -110,6 +110,23 @@ export declare class StepBuilderActionComponent implements OnInit, OnChanges, On
|
|
|
110
110
|
hasMoreEnvironments: boolean;
|
|
111
111
|
/** True while parent is loading environments (search or load more) */
|
|
112
112
|
isLoadingEnvironments: boolean;
|
|
113
|
+
/** Global Data variables (workspace-scoped) for the Global Data tab. */
|
|
114
|
+
globalVariableOptions: {
|
|
115
|
+
id: string;
|
|
116
|
+
name: string;
|
|
117
|
+
value: string;
|
|
118
|
+
type?: string;
|
|
119
|
+
readWriteMode?: string;
|
|
120
|
+
}[];
|
|
121
|
+
isLoadingGlobalVariables: boolean;
|
|
122
|
+
/** Resolved test-case environment name, used for the env banner subhead. */
|
|
123
|
+
testCaseEnvironmentName?: string;
|
|
124
|
+
/** Suffix appended to the env-name option label only (e.g. '(default)'); also locks the env dropdown. */
|
|
125
|
+
testCaseEnvironmentLabelSuffix?: string;
|
|
126
|
+
/** Italic note rendered under the env dropdown — used for legacy step-level env deprecation. */
|
|
127
|
+
environmentLegacyDeprecationMessage?: string;
|
|
128
|
+
/** Test case's TDP id (when set, lock the TDP picker in the parameter tab). */
|
|
129
|
+
testCaseTestDataId?: number | null;
|
|
113
130
|
/** Default test data profile ID from test case (if available, profile and data set dropdowns will be disabled) */
|
|
114
131
|
defaultTestDataProfileId?: number;
|
|
115
132
|
/** Default test data start index from test case (data set index in the profile) */
|
|
@@ -140,6 +157,7 @@ export declare class StepBuilderActionComponent implements OnInit, OnChanges, On
|
|
|
140
157
|
loadMoreUploads: EventEmitter<void>;
|
|
141
158
|
searchEnvironments: EventEmitter<string>;
|
|
142
159
|
loadMoreEnvironments: EventEmitter<void>;
|
|
160
|
+
searchGlobalVariables: EventEmitter<string>;
|
|
143
161
|
/** Emit when step is created */
|
|
144
162
|
createStep: EventEmitter<any>;
|
|
145
163
|
/** Emit when cancelled */
|
|
@@ -232,6 +250,6 @@ export declare class StepBuilderActionComponent implements OnInit, OnChanges, On
|
|
|
232
250
|
*/
|
|
233
251
|
get environmentVariableAvailable(): boolean;
|
|
234
252
|
static ɵfac: i0.ɵɵFactoryDeclaration<StepBuilderActionComponent, never>;
|
|
235
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<StepBuilderActionComponent, "cqa-step-builder-action", never, { "showHeader": "showHeader"; "changeTemplateSignal": "changeTemplateSignal"; "cancelChangeTemplateSignal": "cancelChangeTemplateSignal"; "templates": "templates"; "initialTemplate": "initialTemplate"; "initialDescription": "initialDescription"; "initialMetadata": "initialMetadata"; "isDebug": "isDebug"; "editMode": "editMode"; "searchPlaceholder": "searchPlaceholder"; "setTemplateVariables": "setTemplateVariables"; "setAdvancedSettingsVariables": "setAdvancedSettingsVariables"; "computeHtmlGrammarFn": "computeHtmlGrammarFn"; "preventSelectTemplate": "preventSelectTemplate"; "elementOptions": "elementOptions"; "hasMoreElements": "hasMoreElements"; "isLoadingElements": "isLoadingElements"; "screenNameOptions": "screenNameOptions"; "hasMoreScreenNames": "hasMoreScreenNames"; "isLoadingScreenNames": "isLoadingScreenNames"; "parameterOptions": "parameterOptions"; "hasMoreParameters": "hasMoreParameters"; "isLoadingParameters": "isLoadingParameters"; "uploadOptions": "uploadOptions"; "hasMoreUploads": "hasMoreUploads"; "isLoadingUploads": "isLoadingUploads"; "environmentOptions": "environmentOptions"; "hasMoreEnvironments": "hasMoreEnvironments"; "isLoadingEnvironments": "isLoadingEnvironments"; "defaultTestDataProfileId": "defaultTestDataProfileId"; "defaultTestDataStartIndex": "defaultTestDataStartIndex"; "defaultTestDataEndIndex": "defaultTestDataEndIndex"; "isInsideForLoopStep": "isInsideForLoopStep"; "hasTestDataProfile": "hasTestDataProfile"; "isCreatingStep": "isCreatingStep"; "elementScreenPrefill": "elementScreenPrefill"; }, { "templateChanged": "templateChanged"; "loadMoreElements": "loadMoreElements"; "searchElements": "searchElements"; "searchElementsByScreenName": "searchElementsByScreenName"; "createElement": "createElement"; "searchScreenName": "searchScreenName"; "loadMoreScreenNames": "loadMoreScreenNames"; "createScreenNameRequest": "createScreenNameRequest"; "searchParameters": "searchParameters"; "loadMoreParameters": "loadMoreParameters"; "searchUploads": "searchUploads"; "loadMoreUploads": "loadMoreUploads"; "searchEnvironments": "searchEnvironments"; "loadMoreEnvironments": "loadMoreEnvironments"; "createStep": "createStep"; "cancelled": "cancelled"; "redirectToParameter": "redirectToParameter"; "redirectToEnvironment": "redirectToEnvironment"; }, never, never>;
|
|
253
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<StepBuilderActionComponent, "cqa-step-builder-action", never, { "showHeader": "showHeader"; "changeTemplateSignal": "changeTemplateSignal"; "cancelChangeTemplateSignal": "cancelChangeTemplateSignal"; "templates": "templates"; "initialTemplate": "initialTemplate"; "initialDescription": "initialDescription"; "initialMetadata": "initialMetadata"; "isDebug": "isDebug"; "editMode": "editMode"; "searchPlaceholder": "searchPlaceholder"; "setTemplateVariables": "setTemplateVariables"; "setAdvancedSettingsVariables": "setAdvancedSettingsVariables"; "computeHtmlGrammarFn": "computeHtmlGrammarFn"; "preventSelectTemplate": "preventSelectTemplate"; "elementOptions": "elementOptions"; "hasMoreElements": "hasMoreElements"; "isLoadingElements": "isLoadingElements"; "screenNameOptions": "screenNameOptions"; "hasMoreScreenNames": "hasMoreScreenNames"; "isLoadingScreenNames": "isLoadingScreenNames"; "parameterOptions": "parameterOptions"; "hasMoreParameters": "hasMoreParameters"; "isLoadingParameters": "isLoadingParameters"; "uploadOptions": "uploadOptions"; "hasMoreUploads": "hasMoreUploads"; "isLoadingUploads": "isLoadingUploads"; "environmentOptions": "environmentOptions"; "hasMoreEnvironments": "hasMoreEnvironments"; "isLoadingEnvironments": "isLoadingEnvironments"; "globalVariableOptions": "globalVariableOptions"; "isLoadingGlobalVariables": "isLoadingGlobalVariables"; "testCaseEnvironmentName": "testCaseEnvironmentName"; "testCaseEnvironmentLabelSuffix": "testCaseEnvironmentLabelSuffix"; "environmentLegacyDeprecationMessage": "environmentLegacyDeprecationMessage"; "testCaseTestDataId": "testCaseTestDataId"; "defaultTestDataProfileId": "defaultTestDataProfileId"; "defaultTestDataStartIndex": "defaultTestDataStartIndex"; "defaultTestDataEndIndex": "defaultTestDataEndIndex"; "isInsideForLoopStep": "isInsideForLoopStep"; "hasTestDataProfile": "hasTestDataProfile"; "isCreatingStep": "isCreatingStep"; "elementScreenPrefill": "elementScreenPrefill"; }, { "templateChanged": "templateChanged"; "loadMoreElements": "loadMoreElements"; "searchElements": "searchElements"; "searchElementsByScreenName": "searchElementsByScreenName"; "createElement": "createElement"; "searchScreenName": "searchScreenName"; "loadMoreScreenNames": "loadMoreScreenNames"; "createScreenNameRequest": "createScreenNameRequest"; "searchParameters": "searchParameters"; "loadMoreParameters": "loadMoreParameters"; "searchUploads": "searchUploads"; "loadMoreUploads": "loadMoreUploads"; "searchEnvironments": "searchEnvironments"; "loadMoreEnvironments": "loadMoreEnvironments"; "searchGlobalVariables": "searchGlobalVariables"; "createStep": "createStep"; "cancelled": "cancelled"; "redirectToParameter": "redirectToParameter"; "redirectToEnvironment": "redirectToEnvironment"; }, never, never>;
|
|
236
254
|
}
|
|
237
255
|
export {};
|
|
@@ -25,6 +25,12 @@ export declare class StepBuilderAiAgentComponent implements OnInit, OnChanges {
|
|
|
25
25
|
hasMoreEnvironments: boolean;
|
|
26
26
|
/** Loading state for environments */
|
|
27
27
|
isLoadingEnvironments: boolean;
|
|
28
|
+
/** Resolved test-case env name; drives banner + env-dropdown auto-select + lock. */
|
|
29
|
+
testCaseEnvironmentName?: string;
|
|
30
|
+
/** Suffix for env-name option label (e.g. '(default)'). Also locks the env dropdown. */
|
|
31
|
+
testCaseEnvironmentLabelSuffix?: string;
|
|
32
|
+
/** Italic note rendered under env dropdown (legacy step-env deprecation). */
|
|
33
|
+
environmentLegacyDeprecationMessage?: string;
|
|
28
34
|
/** Options for retry count dropdown */
|
|
29
35
|
retryCountOptions: SelectOption[];
|
|
30
36
|
/** Options for iframe locator dropdown */
|
|
@@ -56,11 +62,20 @@ export declare class StepBuilderAiAgentComponent implements OnInit, OnChanges {
|
|
|
56
62
|
aiAgentForm: FormGroup;
|
|
57
63
|
showAdvanced: boolean;
|
|
58
64
|
private hasLoadedInitialData;
|
|
65
|
+
/**
|
|
66
|
+
* Cached env-select config. Method-call template bindings (`[config]="getEnvironmentConfig()"`)
|
|
67
|
+
* combined with a per-pass `.map()` over options creates a fresh `options` array
|
|
68
|
+
* each CD pass, which `cqa-dynamic-select` reacts to → re-emits → triggers parent
|
|
69
|
+
* CD → infinite loop. Holding the config as a field and rebuilding only inside
|
|
70
|
+
* `ngOnChanges` (or `ngOnInit`) avoids that.
|
|
71
|
+
*/
|
|
72
|
+
environmentSelectConfig: DynamicSelectFieldConfig;
|
|
59
73
|
advancedSettingsVariables: any[];
|
|
60
74
|
advancedVariablesForm: FormArray;
|
|
61
75
|
constructor(fb: FormBuilder);
|
|
62
76
|
ngOnInit(): void;
|
|
63
77
|
ngOnChanges(changes: SimpleChanges): void;
|
|
78
|
+
private rebuildEnvironmentSelectConfig;
|
|
64
79
|
private hasInitialData;
|
|
65
80
|
private loadInitialData;
|
|
66
81
|
/**
|
|
@@ -82,7 +97,6 @@ export declare class StepBuilderAiAgentComponent implements OnInit, OnChanges {
|
|
|
82
97
|
*/
|
|
83
98
|
private buildAdvancedVariablesForm;
|
|
84
99
|
getTypeConfig(): DynamicSelectFieldConfig;
|
|
85
|
-
getEnvironmentConfig(): DynamicSelectFieldConfig;
|
|
86
100
|
getRetryCountConfig(): DynamicSelectFieldConfig;
|
|
87
101
|
getIframeLocatorConfig(): DynamicSelectFieldConfig;
|
|
88
102
|
getOtherLocatorsConfig(): DynamicSelectFieldConfig;
|
|
@@ -98,5 +112,5 @@ export declare class StepBuilderAiAgentComponent implements OnInit, OnChanges {
|
|
|
98
112
|
onCancel(): void;
|
|
99
113
|
onCreateStep(): void;
|
|
100
114
|
static ɵfac: i0.ɵɵFactoryDeclaration<StepBuilderAiAgentComponent, never>;
|
|
101
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<StepBuilderAiAgentComponent, "cqa-step-builder-ai-agent", never, { "typeOptions": "typeOptions"; "environmentOptions": "environmentOptions"; "hasMoreEnvironments": "hasMoreEnvironments"; "isLoadingEnvironments": "isLoadingEnvironments"; "retryCountOptions": "retryCountOptions"; "iframeLocatorOptions": "iframeLocatorOptions"; "otherLocatorsOptions": "otherLocatorsOptions"; "initialQuery": "initialQuery"; "initialType": "initialType"; "initialDescription": "initialDescription"; "initialEnvironments": "initialEnvironments"; "initialMetadata": "initialMetadata"; "initialDisabled": "initialDisabled"; "initialContinueOnError": "initialContinueOnError"; "initialRetryCount": "initialRetryCount"; "initialIframeLocator": "initialIframeLocator"; "initialOtherLocators": "initialOtherLocators"; "editMode": "editMode"; "isCreatingStep": "isCreatingStep"; "advancedSettingsVariables": "advancedSettingsVariables"; }, { "createStep": "createStep"; "cancelled": "cancelled"; "searchEnvironments": "searchEnvironments"; "loadMoreEnvironments": "loadMoreEnvironments"; }, never, never>;
|
|
115
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<StepBuilderAiAgentComponent, "cqa-step-builder-ai-agent", never, { "typeOptions": "typeOptions"; "environmentOptions": "environmentOptions"; "hasMoreEnvironments": "hasMoreEnvironments"; "isLoadingEnvironments": "isLoadingEnvironments"; "testCaseEnvironmentName": "testCaseEnvironmentName"; "testCaseEnvironmentLabelSuffix": "testCaseEnvironmentLabelSuffix"; "environmentLegacyDeprecationMessage": "environmentLegacyDeprecationMessage"; "retryCountOptions": "retryCountOptions"; "iframeLocatorOptions": "iframeLocatorOptions"; "otherLocatorsOptions": "otherLocatorsOptions"; "initialQuery": "initialQuery"; "initialType": "initialType"; "initialDescription": "initialDescription"; "initialEnvironments": "initialEnvironments"; "initialMetadata": "initialMetadata"; "initialDisabled": "initialDisabled"; "initialContinueOnError": "initialContinueOnError"; "initialRetryCount": "initialRetryCount"; "initialIframeLocator": "initialIframeLocator"; "initialOtherLocators": "initialOtherLocators"; "editMode": "editMode"; "isCreatingStep": "isCreatingStep"; "advancedSettingsVariables": "advancedSettingsVariables"; }, { "createStep": "createStep"; "cancelled": "cancelled"; "searchEnvironments": "searchEnvironments"; "loadMoreEnvironments": "loadMoreEnvironments"; }, never, never>;
|
|
102
116
|
}
|
|
@@ -61,6 +61,23 @@ export declare class StepBuilderConditionComponent implements OnInit, OnChanges
|
|
|
61
61
|
}[];
|
|
62
62
|
hasMoreEnvironments: boolean;
|
|
63
63
|
isLoadingEnvironments: boolean;
|
|
64
|
+
/** Global Data variables (workspace-scoped) for the Global Data tab. */
|
|
65
|
+
globalVariableOptions: {
|
|
66
|
+
id: string;
|
|
67
|
+
name: string;
|
|
68
|
+
value: string;
|
|
69
|
+
type?: string;
|
|
70
|
+
readWriteMode?: string;
|
|
71
|
+
}[];
|
|
72
|
+
isLoadingGlobalVariables: boolean;
|
|
73
|
+
/** Resolved test-case environment name, used for the env banner subhead. */
|
|
74
|
+
testCaseEnvironmentName?: string;
|
|
75
|
+
/** Suffix appended to the env-name option label only (e.g. '(default)'); also locks the env dropdown. */
|
|
76
|
+
testCaseEnvironmentLabelSuffix?: string;
|
|
77
|
+
/** Italic note rendered under the env dropdown — used for legacy step-level env deprecation. */
|
|
78
|
+
environmentLegacyDeprecationMessage?: string;
|
|
79
|
+
/** Test case's TDP id (when set, lock the TDP picker in the parameter tab). */
|
|
80
|
+
testCaseTestDataId?: number | null;
|
|
64
81
|
/** Default test data profile properties */
|
|
65
82
|
defaultTestDataProfileId?: number;
|
|
66
83
|
defaultTestDataStartIndex?: number;
|
|
@@ -89,6 +106,7 @@ export declare class StepBuilderConditionComponent implements OnInit, OnChanges
|
|
|
89
106
|
loadMoreEnvironments: EventEmitter<void>;
|
|
90
107
|
redirectToParameter: EventEmitter<void>;
|
|
91
108
|
redirectToEnvironment: EventEmitter<void>;
|
|
109
|
+
searchGlobalVariables: EventEmitter<string>;
|
|
92
110
|
conditionForm: FormGroup;
|
|
93
111
|
includeElse: boolean;
|
|
94
112
|
private valueConfigCache;
|
|
@@ -157,6 +175,6 @@ export declare class StepBuilderConditionComponent implements OnInit, OnChanges
|
|
|
157
175
|
isFormValid(): boolean;
|
|
158
176
|
onCreateStep(): void;
|
|
159
177
|
static ɵfac: i0.ɵɵFactoryDeclaration<StepBuilderConditionComponent, never>;
|
|
160
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<StepBuilderConditionComponent, "cqa-step-builder-condition", never, { "operatorOptions": "operatorOptions"; "conditionTemplates": "conditionTemplates"; "setConditionTemplateVariables": "setConditionTemplateVariables"; "setAdvancedSettingsVariables": "setAdvancedSettingsVariables"; "computeHtmlGrammarFn": "computeHtmlGrammarFn"; "elementOptions": "elementOptions"; "hasMoreElements": "hasMoreElements"; "isLoadingElements": "isLoadingElements"; "screenNameOptions": "screenNameOptions"; "hasMoreScreenNames": "hasMoreScreenNames"; "isLoadingScreenNames": "isLoadingScreenNames"; "parameterOptions": "parameterOptions"; "hasMoreParameters": "hasMoreParameters"; "isLoadingParameters": "isLoadingParameters"; "environmentOptions": "environmentOptions"; "hasMoreEnvironments": "hasMoreEnvironments"; "isLoadingEnvironments": "isLoadingEnvironments"; "defaultTestDataProfileId": "defaultTestDataProfileId"; "defaultTestDataStartIndex": "defaultTestDataStartIndex"; "defaultTestDataEndIndex": "defaultTestDataEndIndex"; "isInsideForLoopStep": "isInsideForLoopStep"; "hasTestDataProfile": "hasTestDataProfile"; "isCreatingStep": "isCreatingStep"; }, { "createStep": "createStep"; "cancelled": "cancelled"; "loadMoreElements": "loadMoreElements"; "searchElements": "searchElements"; "searchElementsByScreenName": "searchElementsByScreenName"; "createElement": "createElement"; "searchScreenName": "searchScreenName"; "loadMoreScreenNames": "loadMoreScreenNames"; "createScreenNameRequest": "createScreenNameRequest"; "searchParameters": "searchParameters"; "loadMoreParameters": "loadMoreParameters"; "searchEnvironments": "searchEnvironments"; "loadMoreEnvironments": "loadMoreEnvironments"; "redirectToParameter": "redirectToParameter"; "redirectToEnvironment": "redirectToEnvironment"; }, never, never>;
|
|
178
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<StepBuilderConditionComponent, "cqa-step-builder-condition", never, { "operatorOptions": "operatorOptions"; "conditionTemplates": "conditionTemplates"; "setConditionTemplateVariables": "setConditionTemplateVariables"; "setAdvancedSettingsVariables": "setAdvancedSettingsVariables"; "computeHtmlGrammarFn": "computeHtmlGrammarFn"; "elementOptions": "elementOptions"; "hasMoreElements": "hasMoreElements"; "isLoadingElements": "isLoadingElements"; "screenNameOptions": "screenNameOptions"; "hasMoreScreenNames": "hasMoreScreenNames"; "isLoadingScreenNames": "isLoadingScreenNames"; "parameterOptions": "parameterOptions"; "hasMoreParameters": "hasMoreParameters"; "isLoadingParameters": "isLoadingParameters"; "environmentOptions": "environmentOptions"; "hasMoreEnvironments": "hasMoreEnvironments"; "isLoadingEnvironments": "isLoadingEnvironments"; "globalVariableOptions": "globalVariableOptions"; "isLoadingGlobalVariables": "isLoadingGlobalVariables"; "testCaseEnvironmentName": "testCaseEnvironmentName"; "testCaseEnvironmentLabelSuffix": "testCaseEnvironmentLabelSuffix"; "environmentLegacyDeprecationMessage": "environmentLegacyDeprecationMessage"; "testCaseTestDataId": "testCaseTestDataId"; "defaultTestDataProfileId": "defaultTestDataProfileId"; "defaultTestDataStartIndex": "defaultTestDataStartIndex"; "defaultTestDataEndIndex": "defaultTestDataEndIndex"; "isInsideForLoopStep": "isInsideForLoopStep"; "hasTestDataProfile": "hasTestDataProfile"; "isCreatingStep": "isCreatingStep"; }, { "createStep": "createStep"; "cancelled": "cancelled"; "loadMoreElements": "loadMoreElements"; "searchElements": "searchElements"; "searchElementsByScreenName": "searchElementsByScreenName"; "createElement": "createElement"; "searchScreenName": "searchScreenName"; "loadMoreScreenNames": "loadMoreScreenNames"; "createScreenNameRequest": "createScreenNameRequest"; "searchParameters": "searchParameters"; "loadMoreParameters": "loadMoreParameters"; "searchEnvironments": "searchEnvironments"; "loadMoreEnvironments": "loadMoreEnvironments"; "redirectToParameter": "redirectToParameter"; "redirectToEnvironment": "redirectToEnvironment"; "searchGlobalVariables": "searchGlobalVariables"; }, never, never>;
|
|
161
179
|
}
|
|
162
180
|
export {};
|
|
@@ -13,7 +13,8 @@ export interface DatabaseQuery {
|
|
|
13
13
|
queryResult?: any[];
|
|
14
14
|
}
|
|
15
15
|
export interface DatabaseFormData {
|
|
16
|
-
dbEnvironment
|
|
16
|
+
/** Selected DB Config id (env-attached). Replaces the legacy dbEnvironment field. */
|
|
17
|
+
dbConfigId: string;
|
|
17
18
|
normalEnvironment?: string;
|
|
18
19
|
queries: DatabaseQuery[];
|
|
19
20
|
advancedSettingsVariables?: any[];
|
|
@@ -21,8 +22,13 @@ export interface DatabaseFormData {
|
|
|
21
22
|
export declare class StepBuilderDatabaseComponent implements OnInit, OnChanges, OnDestroy {
|
|
22
23
|
private fb;
|
|
23
24
|
private cdr;
|
|
24
|
-
/**
|
|
25
|
-
|
|
25
|
+
/**
|
|
26
|
+
* Options for the DB Config dropdown — env-attached DB configs returned by
|
|
27
|
+
* `/environments/{envId}/db_configs`. Each `SelectOption.id` is the dbConfigId.
|
|
28
|
+
*/
|
|
29
|
+
dbConfigOptions: SelectOption[];
|
|
30
|
+
/** True while the parent loads DB configs (initial / search). */
|
|
31
|
+
isLoadingDbConfigs: boolean;
|
|
26
32
|
/** Options for Normal environment dropdown */
|
|
27
33
|
normalEnvironmentOptions: SelectOption[];
|
|
28
34
|
/** Initial queries list */
|
|
@@ -31,10 +37,16 @@ export declare class StepBuilderDatabaseComponent implements OnInit, OnChanges,
|
|
|
31
37
|
queryResults: any[];
|
|
32
38
|
/** Loading state */
|
|
33
39
|
isLoading: boolean;
|
|
34
|
-
/** Initial DB
|
|
35
|
-
|
|
40
|
+
/** Initial DB Config id for edit mode (replaces initialDbEnvironment). */
|
|
41
|
+
initialDbConfigId?: string;
|
|
36
42
|
/** Initial Normal environment for edit mode */
|
|
37
43
|
initialNormalEnvironment?: string;
|
|
44
|
+
/** Resolved test-case env name; drives banner + Normal-Env auto-select + lock. */
|
|
45
|
+
testCaseEnvironmentName?: string;
|
|
46
|
+
/** Suffix for env-name option label (e.g. '(default)'). Also locks Normal Environment dropdown. */
|
|
47
|
+
testCaseEnvironmentLabelSuffix?: string;
|
|
48
|
+
/** Italic note rendered under Normal Environment dropdown — legacy step-env deprecation. */
|
|
49
|
+
environmentLegacyDeprecationMessage?: string;
|
|
38
50
|
/** Whether in edit mode */
|
|
39
51
|
editMode?: boolean;
|
|
40
52
|
/** True while parent is creating the step (API in progress); show loader on Create/Update Step button */
|
|
@@ -48,11 +60,11 @@ export declare class StepBuilderDatabaseComponent implements OnInit, OnChanges,
|
|
|
48
60
|
currentQuery: DatabaseQuery;
|
|
49
61
|
query: string;
|
|
50
62
|
variable: string;
|
|
51
|
-
|
|
63
|
+
dbConfigId: string;
|
|
52
64
|
normalEnvironment?: string;
|
|
53
65
|
}>;
|
|
54
|
-
/** Emit when DB
|
|
55
|
-
|
|
66
|
+
/** Emit when DB Config search is triggered */
|
|
67
|
+
searchDbConfig: EventEmitter<string>;
|
|
56
68
|
/** Emit when Normal environment search is triggered */
|
|
57
69
|
searchNormalEnvironment: EventEmitter<string>;
|
|
58
70
|
/** Emit when query is added */
|
|
@@ -71,6 +83,16 @@ export declare class StepBuilderDatabaseComponent implements OnInit, OnChanges,
|
|
|
71
83
|
databaseForm: FormGroup;
|
|
72
84
|
selectedTab: 'output' | 'verification' | 'advanced';
|
|
73
85
|
selectedQueryIndex: number;
|
|
86
|
+
/**
|
|
87
|
+
* Cached select configs. Method-call template bindings (`[config]="getX()"`) build
|
|
88
|
+
* a fresh object each CD pass, and when the inner `options` array is also fresh
|
|
89
|
+
* (we map a copy to apply the suffix/decoration), `cqa-dynamic-select` detects
|
|
90
|
+
* a new options reference and re-emits, which retriggers parent CD → infinite
|
|
91
|
+
* loop. Holding the configs as fields and rebuilding only inside `ngOnChanges`
|
|
92
|
+
* (or `ngOnInit`) gives the dynamic-select a stable reference between CD passes.
|
|
93
|
+
*/
|
|
94
|
+
dbConfigSelectConfig: DynamicSelectFieldConfig;
|
|
95
|
+
normalEnvSelectConfig: DynamicSelectFieldConfig;
|
|
74
96
|
assertionsForms: Map<number, FormGroup>;
|
|
75
97
|
displayedColumns: string[];
|
|
76
98
|
defaultExpectedType: string;
|
|
@@ -81,13 +103,13 @@ export declare class StepBuilderDatabaseComponent implements OnInit, OnChanges,
|
|
|
81
103
|
constructor(fb: FormBuilder, cdr: ChangeDetectorRef);
|
|
82
104
|
ngOnInit(): void;
|
|
83
105
|
ngOnChanges(changes: SimpleChanges): void;
|
|
106
|
+
private rebuildDbConfigSelectConfig;
|
|
107
|
+
private rebuildNormalEnvSelectConfig;
|
|
84
108
|
private initializeFormWithInitialValues;
|
|
85
109
|
get queriesFormArray(): FormArray;
|
|
86
110
|
addNewQuery(): void;
|
|
87
111
|
private addQueryToForm;
|
|
88
112
|
deleteQueryById(queryId: string): void;
|
|
89
|
-
getDbEnvironmentConfig(): DynamicSelectFieldConfig;
|
|
90
|
-
getNormalEnvironmentConfig(): DynamicSelectFieldConfig;
|
|
91
113
|
getCurrentQuery(): DatabaseQuery | null;
|
|
92
114
|
getCurrentQueryFormGroup(): FormGroup | null;
|
|
93
115
|
onRunQuery(): void;
|
|
@@ -200,5 +222,5 @@ export declare class StepBuilderDatabaseComponent implements OnInit, OnChanges,
|
|
|
200
222
|
*/
|
|
201
223
|
onAdvancedVariableValueChange(variableName: string, value: any): void;
|
|
202
224
|
static ɵfac: i0.ɵɵFactoryDeclaration<StepBuilderDatabaseComponent, never>;
|
|
203
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<StepBuilderDatabaseComponent, "cqa-step-builder-database", never, { "
|
|
225
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<StepBuilderDatabaseComponent, "cqa-step-builder-database", never, { "dbConfigOptions": "dbConfigOptions"; "isLoadingDbConfigs": "isLoadingDbConfigs"; "normalEnvironmentOptions": "normalEnvironmentOptions"; "queries": "queries"; "queryResults": "queryResults"; "isLoading": "isLoading"; "initialDbConfigId": "initialDbConfigId"; "initialNormalEnvironment": "initialNormalEnvironment"; "testCaseEnvironmentName": "testCaseEnvironmentName"; "testCaseEnvironmentLabelSuffix": "testCaseEnvironmentLabelSuffix"; "environmentLegacyDeprecationMessage": "environmentLegacyDeprecationMessage"; "editMode": "editMode"; "isCreatingStep": "isCreatingStep"; "advancedSettingsVariables": "advancedSettingsVariables"; }, { "createStep": "createStep"; "cancelled": "cancelled"; "runQuery": "runQuery"; "searchDbConfig": "searchDbConfig"; "searchNormalEnvironment": "searchNormalEnvironment"; "addQuery": "addQuery"; "deleteQuery": "deleteQuery"; "assertionDataChange": "assertionDataChange"; "selectedQueryIndexChange": "selectedQueryIndexChange"; "activeTabChange": "activeTabChange"; }, never, never>;
|
|
204
226
|
}
|
|
@@ -90,6 +90,15 @@ export declare class StepBuilderLoopComponent implements OnInit, OnChanges {
|
|
|
90
90
|
isDebug: boolean;
|
|
91
91
|
/** Existing step when editing; used with isDebug to determine edit mode. */
|
|
92
92
|
testStep?: any;
|
|
93
|
+
/**
|
|
94
|
+
* Resolved name of the test case's environment. Drives the env banner subhead
|
|
95
|
+
* shown above the form. Optional; when missing the banner is hidden.
|
|
96
|
+
*/
|
|
97
|
+
testCaseEnvironmentName?: string;
|
|
98
|
+
/** Suffix appended to the env-name option label only (e.g. '(default)') — pass-through to nested action. */
|
|
99
|
+
testCaseEnvironmentLabelSuffix?: string;
|
|
100
|
+
/** Italic note rendered under env dropdown in the lib — pass-through to nested action. */
|
|
101
|
+
environmentLegacyDeprecationMessage?: string;
|
|
93
102
|
get isEditMode(): boolean;
|
|
94
103
|
loadMoreElements: EventEmitter<void>;
|
|
95
104
|
searchElements: EventEmitter<string>;
|
|
@@ -108,6 +117,11 @@ export declare class StepBuilderLoopComponent implements OnInit, OnChanges {
|
|
|
108
117
|
loadMoreEnvironments: EventEmitter<void>;
|
|
109
118
|
redirectToParameter: EventEmitter<void>;
|
|
110
119
|
redirectToEnvironment: EventEmitter<void>;
|
|
120
|
+
/**
|
|
121
|
+
* Emitted when the user clicks "Manage profiles" in the empty state. Host
|
|
122
|
+
* navigates to the Environment & Data Management screen for the active env.
|
|
123
|
+
*/
|
|
124
|
+
manageProfilesClicked: EventEmitter<void>;
|
|
111
125
|
selectedWhileTemplate: any;
|
|
112
126
|
selectedWhileDescription: string;
|
|
113
127
|
selectedWhileMetadata: string;
|
|
@@ -223,5 +237,5 @@ export declare class StepBuilderLoopComponent implements OnInit, OnChanges {
|
|
|
223
237
|
filterWhileTemplates(query: string): void;
|
|
224
238
|
selectWhileTemplate(template: any): void;
|
|
225
239
|
static ɵfac: i0.ɵɵFactoryDeclaration<StepBuilderLoopComponent, never>;
|
|
226
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<StepBuilderLoopComponent, "cqa-step-builder-loop", never, { "loopType": "loopType"; "selectOptions": "selectOptions"; "dataProfileOptions": "dataProfileOptions"; "hasMoreDataProfiles": "hasMoreDataProfiles"; "isLoadingDataProfiles": "isLoadingDataProfiles"; "isCreatingStep": "isCreatingStep"; "setWhileTemplateVariables": "setWhileTemplateVariables"; "setAdvancedSettingsVariables": "setAdvancedSettingsVariables"; "computeHtmlGrammarFn": "computeHtmlGrammarFn"; "whileTemplates": "whileTemplates"; "whileSearchPlaceholder": "whileSearchPlaceholder"; "whileSearchValue": "whileSearchValue"; "elementOptions": "elementOptions"; "hasMoreElements": "hasMoreElements"; "isLoadingElements": "isLoadingElements"; "screenNameOptions": "screenNameOptions"; "hasMoreScreenNames": "hasMoreScreenNames"; "isLoadingScreenNames": "isLoadingScreenNames"; "parameterOptions": "parameterOptions"; "hasMoreParameters": "hasMoreParameters"; "isLoadingParameters": "isLoadingParameters"; "environmentOptions": "environmentOptions"; "hasMoreEnvironments": "hasMoreEnvironments"; "isLoadingEnvironments": "isLoadingEnvironments"; "defaultTestDataProfileId": "defaultTestDataProfileId"; "defaultTestDataStartIndex": "defaultTestDataStartIndex"; "defaultTestDataEndIndex": "defaultTestDataEndIndex"; "isInsideForLoopStep": "isInsideForLoopStep"; "hasTestDataProfile": "hasTestDataProfile"; "isDebug": "isDebug"; "testStep": "testStep"; }, { "createStep": "createStep"; "cancelled": "cancelled"; "loopTypeChange": "loopTypeChange"; "loadMoreDataProfiles": "loadMoreDataProfiles"; "searchDataProfiles": "searchDataProfiles"; "loadMoreElements": "loadMoreElements"; "searchElements": "searchElements"; "searchElementsByScreenName": "searchElementsByScreenName"; "createElement": "createElement"; "searchScreenName": "searchScreenName"; "loadMoreScreenNames": "loadMoreScreenNames"; "createScreenNameRequest": "createScreenNameRequest"; "cancelElementForm": "cancelElementForm"; "searchParameters": "searchParameters"; "loadMoreParameters": "loadMoreParameters"; "searchEnvironments": "searchEnvironments"; "loadMoreEnvironments": "loadMoreEnvironments"; "redirectToParameter": "redirectToParameter"; "redirectToEnvironment": "redirectToEnvironment"; }, never, never>;
|
|
240
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<StepBuilderLoopComponent, "cqa-step-builder-loop", never, { "loopType": "loopType"; "selectOptions": "selectOptions"; "dataProfileOptions": "dataProfileOptions"; "hasMoreDataProfiles": "hasMoreDataProfiles"; "isLoadingDataProfiles": "isLoadingDataProfiles"; "isCreatingStep": "isCreatingStep"; "setWhileTemplateVariables": "setWhileTemplateVariables"; "setAdvancedSettingsVariables": "setAdvancedSettingsVariables"; "computeHtmlGrammarFn": "computeHtmlGrammarFn"; "whileTemplates": "whileTemplates"; "whileSearchPlaceholder": "whileSearchPlaceholder"; "whileSearchValue": "whileSearchValue"; "elementOptions": "elementOptions"; "hasMoreElements": "hasMoreElements"; "isLoadingElements": "isLoadingElements"; "screenNameOptions": "screenNameOptions"; "hasMoreScreenNames": "hasMoreScreenNames"; "isLoadingScreenNames": "isLoadingScreenNames"; "parameterOptions": "parameterOptions"; "hasMoreParameters": "hasMoreParameters"; "isLoadingParameters": "isLoadingParameters"; "environmentOptions": "environmentOptions"; "hasMoreEnvironments": "hasMoreEnvironments"; "isLoadingEnvironments": "isLoadingEnvironments"; "defaultTestDataProfileId": "defaultTestDataProfileId"; "defaultTestDataStartIndex": "defaultTestDataStartIndex"; "defaultTestDataEndIndex": "defaultTestDataEndIndex"; "isInsideForLoopStep": "isInsideForLoopStep"; "hasTestDataProfile": "hasTestDataProfile"; "isDebug": "isDebug"; "testStep": "testStep"; "testCaseEnvironmentName": "testCaseEnvironmentName"; "testCaseEnvironmentLabelSuffix": "testCaseEnvironmentLabelSuffix"; "environmentLegacyDeprecationMessage": "environmentLegacyDeprecationMessage"; }, { "createStep": "createStep"; "cancelled": "cancelled"; "loopTypeChange": "loopTypeChange"; "loadMoreDataProfiles": "loadMoreDataProfiles"; "searchDataProfiles": "searchDataProfiles"; "loadMoreElements": "loadMoreElements"; "searchElements": "searchElements"; "searchElementsByScreenName": "searchElementsByScreenName"; "createElement": "createElement"; "searchScreenName": "searchScreenName"; "loadMoreScreenNames": "loadMoreScreenNames"; "createScreenNameRequest": "createScreenNameRequest"; "cancelElementForm": "cancelElementForm"; "searchParameters": "searchParameters"; "loadMoreParameters": "loadMoreParameters"; "searchEnvironments": "searchEnvironments"; "loadMoreEnvironments": "loadMoreEnvironments"; "redirectToParameter": "redirectToParameter"; "redirectToEnvironment": "redirectToEnvironment"; "manageProfilesClicked": "manageProfilesClicked"; }, never, never>;
|
|
227
241
|
}
|