@cqa-lib/cqa-ui 1.1.541-gamma.8 → 1.1.542
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 +1 -8
- package/esm2020/lib/compare-runs/compare-runs.component.mjs +1 -1
- package/esm2020/lib/execution-screen/condition-debug-step/condition-branch-editor.component.mjs +3 -32
- 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 +10 -30
- package/esm2020/lib/new-global-variable-dialog/new-global-variable-dialog.component.mjs +5 -16
- 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 +51 -50
- 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 +4 -12
- package/esm2020/lib/step-builder/step-builder-action/step-builder-action.component.mjs +3 -21
- package/esm2020/lib/step-builder/step-builder-ai-agent/step-builder-ai-agent.component.mjs +23 -47
- package/esm2020/lib/step-builder/step-builder-condition/step-builder-condition.component.mjs +3 -21
- package/esm2020/lib/step-builder/step-builder-database/step-builder-database.component.mjs +47 -76
- package/esm2020/lib/step-builder/step-builder-loop/step-builder-loop.component.mjs +3 -16
- package/esm2020/lib/step-builder/template-variables-form/template-variables-form.component.mjs +170 -326
- package/esm2020/lib/templates/table-template.component.mjs +3 -5
- package/esm2020/lib/test-case-details/ai-agent-step/ai-agent-step.component.mjs +3 -3
- package/esm2020/lib/test-case-details/ai-verify-step/ai-verify-step.component.mjs +3 -3
- package/esm2020/lib/test-case-details/api-edit-step/api-edit-step.component.mjs +7 -20
- package/esm2020/lib/test-case-details/test-case-details-edit/test-case-details-edit.component.mjs +4 -43
- package/esm2020/lib/test-case-details/test-case-details.models.mjs +1 -3
- 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 +7 -137
- package/esm2020/lib/ui-kit.module.mjs +3 -23
- package/esm2020/public-api.mjs +1 -6
- package/fesm2015/cqa-lib-cqa-ui.mjs +404 -1245
- package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
- package/fesm2020/cqa-lib-cqa-ui.mjs +330 -1156
- package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
- package/lib/execution-screen/condition-debug-step/condition-branch-editor.component.d.ts +1 -26
- package/lib/new-global-variable-dialog/new-global-variable-dialog.component.d.ts +2 -5
- package/lib/new-global-variable-dialog/new-global-variable-dialog.models.d.ts +0 -8
- package/lib/new-test-data-profile-dialog/new-test-data-profile-dialog.component.d.ts +10 -9
- 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 +1 -3
- package/lib/step-builder/step-builder-action/step-builder-action.component.d.ts +1 -19
- package/lib/step-builder/step-builder-ai-agent/step-builder-ai-agent.component.d.ts +2 -16
- package/lib/step-builder/step-builder-condition/step-builder-condition.component.d.ts +1 -19
- package/lib/step-builder/step-builder-database/step-builder-database.component.d.ts +11 -33
- package/lib/step-builder/step-builder-loop/step-builder-loop.component.d.ts +1 -15
- package/lib/step-builder/template-variables-form/template-variables-form.component.d.ts +20 -75
- package/lib/templates/table-template.component.d.ts +1 -8
- package/lib/test-case-details/api-edit-step/api-edit-step.component.d.ts +1 -7
- package/lib/test-case-details/test-case-details-edit/test-case-details-edit.component.d.ts +0 -7
- package/lib/test-case-details/test-case-details.models.d.ts +0 -2
- package/lib/test-case-details/test-data-modal/test-data-modal-data.d.ts +1 -23
- package/lib/test-case-details/test-data-modal/test-data-modal.component.d.ts +6 -40
- package/lib/ui-kit.module.d.ts +96 -100
- package/package.json +1 -1
- package/public-api.d.ts +0 -5
- package/styles.css +1 -1
- package/esm2020/lib/new-global-variable-dialog/global-variable-tags-input.component.mjs +0 -129
- package/esm2020/lib/test-case-details/data-library-panel/data-library-panel.component.mjs +0 -116
- package/esm2020/lib/test-case-details/data-library-panel/data-library-panel.models.mjs +0 -2
- package/esm2020/lib/test-case-details/data-library-panel/element-card.component.mjs +0 -36
- package/esm2020/lib/test-case-details/data-library-panel/test-data-profile-card.component.mjs +0 -38
- package/lib/new-global-variable-dialog/global-variable-tags-input.component.d.ts +0 -39
- package/lib/test-case-details/data-library-panel/data-library-panel.component.d.ts +0 -42
- package/lib/test-case-details/data-library-panel/data-library-panel.models.d.ts +0 -17
- package/lib/test-case-details/data-library-panel/element-card.component.d.ts +0 -13
- package/lib/test-case-details/data-library-panel/test-data-profile-card.component.d.ts +0 -13
|
@@ -22,12 +22,10 @@ export interface TemplateVariable {
|
|
|
22
22
|
value: string;
|
|
23
23
|
label: string;
|
|
24
24
|
}[];
|
|
25
|
-
dataType?: 'plain-text' | 'parameter' | 'runtime' | 'environment'
|
|
25
|
+
dataType?: 'plain-text' | 'parameter' | 'runtime' | 'environment';
|
|
26
26
|
rawValue?: string;
|
|
27
27
|
selectedEnvironment?: string;
|
|
28
28
|
selectedEnvironmentId?: number;
|
|
29
|
-
selectedGlobalVariable?: string;
|
|
30
|
-
selectedGlobalVariableId?: number;
|
|
31
29
|
selectedTestDataProfile?: string;
|
|
32
30
|
selectedTestDataProfileId?: number;
|
|
33
31
|
selectedDataSet?: string;
|
|
@@ -77,24 +75,6 @@ export declare class TemplateVariablesFormComponent implements OnChanges {
|
|
|
77
75
|
hasMoreEnvironments: boolean;
|
|
78
76
|
/** True while parent is loading environments (search or load more) */
|
|
79
77
|
isLoadingEnvironments: boolean;
|
|
80
|
-
/** Global Data variables (workspace-scoped) for the new Global Data tab */
|
|
81
|
-
globalVariableOptions: {
|
|
82
|
-
id: number | string;
|
|
83
|
-
name: string;
|
|
84
|
-
value: string;
|
|
85
|
-
type?: string;
|
|
86
|
-
readWriteMode?: string;
|
|
87
|
-
}[];
|
|
88
|
-
/** True while parent is loading global variables */
|
|
89
|
-
isLoadingGlobalVariables: boolean;
|
|
90
|
-
/** Resolved test-case environment name, used for the env banner subhead. */
|
|
91
|
-
testCaseEnvironmentName?: string;
|
|
92
|
-
/** Suffix appended to the env-name option label only (e.g. '(default)'). When set, also locks the env dropdown. */
|
|
93
|
-
testCaseEnvironmentLabelSuffix?: string;
|
|
94
|
-
/** When set, renders an italic note under the env dropdown — e.g. legacy step-level env deprecation notice. */
|
|
95
|
-
environmentLegacyDeprecationMessage?: string;
|
|
96
|
-
/** Test case's TDP id (when set, the TDP picker is locked in the parameter tab). */
|
|
97
|
-
testCaseTestDataId?: number | null;
|
|
98
78
|
/** Default test data profile ID from test case (if available, profile and data set dropdowns will be disabled) */
|
|
99
79
|
defaultTestDataProfileId?: number;
|
|
100
80
|
/** Default test data start index from test case (data set index in the profile) */
|
|
@@ -133,15 +113,14 @@ export declare class TemplateVariablesFormComponent implements OnChanges {
|
|
|
133
113
|
loadMoreUploads: EventEmitter<void>;
|
|
134
114
|
searchEnvironments: EventEmitter<string>;
|
|
135
115
|
loadMoreEnvironments: EventEmitter<void>;
|
|
136
|
-
searchGlobalVariables: EventEmitter<string>;
|
|
137
116
|
cancelElementForm: EventEmitter<void>;
|
|
138
117
|
elementFormVisibilityChange: EventEmitter<boolean>;
|
|
139
118
|
private selectConfigCache;
|
|
140
119
|
private dataTypeSelectConfigCache;
|
|
141
120
|
private parameterSelectConfigCache;
|
|
142
121
|
private environmentSelectConfigCache;
|
|
122
|
+
private environmentNameSelectConfigCache;
|
|
143
123
|
private environmentParameterSelectConfigCache;
|
|
144
|
-
private globalVariableSelectConfigCache;
|
|
145
124
|
private screenNameSelectConfigCache;
|
|
146
125
|
private elementSelectConfigCache;
|
|
147
126
|
private testDataProfileSelectConfigCache;
|
|
@@ -155,31 +134,11 @@ export declare class TemplateVariablesFormComponent implements OnChanges {
|
|
|
155
134
|
private needsDataTypeDropdownCache;
|
|
156
135
|
private shouldShowDropdownCache;
|
|
157
136
|
private readonly dataTypeOptions;
|
|
158
|
-
/**
|
|
159
|
-
* Stable segment options for the Value Source segment strip. MUST be a field
|
|
160
|
-
* (not a getter) — see feedback_segment_control_no_getter_input.md: a getter
|
|
161
|
-
* triggers a CD loop in cqa-segment-control.
|
|
162
|
-
*/
|
|
163
|
-
readonly dataTypeSegments: {
|
|
164
|
-
value: string;
|
|
165
|
-
label: string;
|
|
166
|
-
}[];
|
|
167
|
-
/**
|
|
168
|
-
* Memoized filtered segments — drops Test Data Profile when neither TC nor FOR loop has a TDP.
|
|
169
|
-
* Held as a field (not a getter) so cqa-segment-control's [segments] stays a stable reference.
|
|
170
|
-
* Recomputed in ngOnChanges when isInsideForLoopStep / hasTestDataProfile change.
|
|
171
|
-
*/
|
|
172
|
-
visibleDataTypeSegments: {
|
|
173
|
-
value: string;
|
|
174
|
-
label: string;
|
|
175
|
-
}[];
|
|
176
|
-
private recomputeVisibleSegments;
|
|
177
137
|
createElementVisible: boolean;
|
|
178
138
|
constructor(cdr: ChangeDetectorRef);
|
|
179
139
|
onCreateElement(payload: ElementCreatePayload): void;
|
|
180
140
|
onCancelElementForm(): void;
|
|
181
141
|
ngOnChanges(changes: SimpleChanges): void;
|
|
182
|
-
private backfillGlobalVariableIds;
|
|
183
142
|
private initializeTestDataVariables;
|
|
184
143
|
/** Get form group for a variable by name from FormArray */
|
|
185
144
|
getVariableFormGroup(variableName: string): FormGroup | null;
|
|
@@ -194,18 +153,24 @@ export declare class TemplateVariablesFormComponent implements OnChanges {
|
|
|
194
153
|
onVariableBooleanChange(variableName: string, value: boolean): void;
|
|
195
154
|
shouldShowDropdown(variable: TemplateVariable): boolean;
|
|
196
155
|
needsDataTypeDropdown(variable: TemplateVariable): boolean;
|
|
156
|
+
/** True when the variable is the synthetic AI Ask / AI Verify environment dropdown. */
|
|
157
|
+
isEnvironmentNameType(variable: TemplateVariable): boolean;
|
|
158
|
+
/**
|
|
159
|
+
* Builds the dynamic-select config for the synthetic AI Ask / AI Verify
|
|
160
|
+
* environment dropdown. Prepends a sentinel "None" entry (empty value) so
|
|
161
|
+
* the user can explicitly clear the choice — the empty value round-trips
|
|
162
|
+
* through onVariableValueChange → setValue('') → backend reads
|
|
163
|
+
* `event.environment` as '' and treats it as no environment context.
|
|
164
|
+
*
|
|
165
|
+
* Deduplicates by environment name to mirror getUniqueEnvironments() used
|
|
166
|
+
* by the existing test-data environment selector.
|
|
167
|
+
*/
|
|
168
|
+
getEnvironmentNameSelectConfig(variable: TemplateVariable): DynamicSelectFieldConfig;
|
|
169
|
+
/** Look up an environment's display name from the numeric id stored on the variable. */
|
|
170
|
+
private resolveEnvironmentNameById;
|
|
197
171
|
getDataTypeOptions(): SelectOption[];
|
|
198
172
|
getDataTypeSelectConfig(variable: TemplateVariable, index: number): DynamicSelectFieldConfig;
|
|
199
|
-
getCurrentDataType(variable: TemplateVariable): 'plain-text' | 'parameter' | 'runtime' | 'environment'
|
|
200
|
-
/** Whether the variable is currently using the Global Data tab. */
|
|
201
|
-
isGlobalType(variable: TemplateVariable): boolean;
|
|
202
|
-
/** Whether the user has picked a global variable on this row. */
|
|
203
|
-
hasSelectedGlobalVariable(variable: TemplateVariable): boolean;
|
|
204
|
-
/**
|
|
205
|
-
* Build select config for the Global Data dropdown.
|
|
206
|
-
* Each row inserts `{{name}}` on selection.
|
|
207
|
-
*/
|
|
208
|
-
getGlobalVariableSelectConfig(variable: TemplateVariable, index: number): DynamicSelectFieldConfig;
|
|
173
|
+
getCurrentDataType(variable: TemplateVariable): 'plain-text' | 'parameter' | 'runtime' | 'environment';
|
|
209
174
|
getRawValue(variable: TemplateVariable): string;
|
|
210
175
|
/**
|
|
211
176
|
* Check if selector variable is available in templateVariables
|
|
@@ -219,7 +184,7 @@ export declare class TemplateVariablesFormComponent implements OnChanges {
|
|
|
219
184
|
* Check if environment variable is available (testData with environment type)
|
|
220
185
|
*/
|
|
221
186
|
get environmentVariableAvailable(): boolean;
|
|
222
|
-
onDataTypeChange(variableName: string, dataType: 'plain-text' | 'parameter' | 'runtime' | 'environment'
|
|
187
|
+
onDataTypeChange(variableName: string, dataType: 'plain-text' | 'parameter' | 'runtime' | 'environment'): void;
|
|
223
188
|
onElementSearch(event: {
|
|
224
189
|
key: string;
|
|
225
190
|
query: string;
|
|
@@ -274,26 +239,6 @@ export declare class TemplateVariablesFormComponent implements OnChanges {
|
|
|
274
239
|
* Get select config for parameter dropdown (third dropdown for parameters - shows parameters from selected data set)
|
|
275
240
|
*/
|
|
276
241
|
getParameterSelectConfig(variable: TemplateVariable, index: number): DynamicSelectFieldConfig;
|
|
277
|
-
/**
|
|
278
|
-
* Env-on-test-case contract: a test case has exactly one environment, so the
|
|
279
|
-
* "Environment Name" dropdown has nothing meaningful to choose from. We trust
|
|
280
|
-
* `testCaseEnvironmentName` as the source of truth — even if it's not in the
|
|
281
|
-
* loaded `environmentOptions` yet (those are async, env-scoped, and may be
|
|
282
|
-
* empty when the env has no parameters). The dropdown's `optionsArray.unshift`
|
|
283
|
-
* fallback in `getEnvironmentSelectConfig` ensures the value renders even when
|
|
284
|
-
* missing from the option list.
|
|
285
|
-
*/
|
|
286
|
-
private resolveDefaultEnvironmentName;
|
|
287
|
-
/**
|
|
288
|
-
* Proactive companion to `resolveDefaultEnvironmentName`: walks every env-type
|
|
289
|
-
* template variable that hasn't been seeded yet and pre-fills its
|
|
290
|
-
* `selectedEnvironment` (plus the matching form control) with the test case's
|
|
291
|
-
* environment. Idempotent — variables that already have a selection are
|
|
292
|
-
* skipped. Called from `ngOnChanges` whenever the inputs that could unlock the
|
|
293
|
-
* seed (`testCaseEnvironmentName`, `environmentOptions`, `templateVariables`)
|
|
294
|
-
* change.
|
|
295
|
-
*/
|
|
296
|
-
private seedDefaultEnvironmentForVariables;
|
|
297
242
|
/**
|
|
298
243
|
* Get unique environments from environment options
|
|
299
244
|
*/
|
|
@@ -381,6 +326,6 @@ export declare class TemplateVariablesFormComponent implements OnChanges {
|
|
|
381
326
|
*/
|
|
382
327
|
isRuntimeType(variable: TemplateVariable): boolean;
|
|
383
328
|
static ɵfac: i0.ɵɵFactoryDeclaration<TemplateVariablesFormComponent, never>;
|
|
384
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TemplateVariablesFormComponent, "cqa-template-variables-form", never, { "templateVariables": "templateVariables"; "variablesForm": "variablesForm"; "metadata": "metadata"; "description": "description"; "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"; "
|
|
329
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TemplateVariablesFormComponent, "cqa-template-variables-form", never, { "templateVariables": "templateVariables"; "variablesForm": "variablesForm"; "metadata": "metadata"; "description": "description"; "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"; "isEditInDepth": "isEditInDepth"; "isDebug": "isDebug"; "createElementVisible": "createElementVisible"; }, { "variableValueChange": "variableValueChange"; "variableBooleanChange": "variableBooleanChange"; "metadataChange": "metadataChange"; "descriptionChange": "descriptionChange"; "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"; "cancelElementForm": "cancelElementForm"; "elementFormVisibilityChange": "elementFormVisibilityChange"; }, never, never>;
|
|
385
330
|
}
|
|
386
331
|
export {};
|
|
@@ -31,13 +31,6 @@ 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>;
|
|
41
34
|
/** @deprecated Use otherButtons array instead */
|
|
42
35
|
otherButtonLabel: string;
|
|
43
36
|
/** @deprecated Use otherButtons array instead */
|
|
@@ -208,5 +201,5 @@ export declare class TableTemplateComponent implements OnInit, OnChanges, OnDest
|
|
|
208
201
|
}>;
|
|
209
202
|
get arrowClasses(): string;
|
|
210
203
|
static ɵfac: i0.ɵɵFactoryDeclaration<TableTemplateComponent, 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"; "
|
|
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>;
|
|
212
205
|
}
|
|
@@ -219,12 +219,6 @@ export declare class ApiEditStepComponent implements OnChanges, OnInit, AfterVie
|
|
|
219
219
|
isLoadingEnvironments: boolean;
|
|
220
220
|
/** URL field options when an environment is selected (base URL + parameters as *|key|). Parent fills this when environmentChange fires. */
|
|
221
221
|
urlOptions: CqaAutocompleteOption[];
|
|
222
|
-
/** Resolved test-case env name; drives banner + env-dropdown auto-select + lock. */
|
|
223
|
-
testCaseEnvironmentName?: string;
|
|
224
|
-
/** Suffix appended to the env-name option label (e.g. '(default)'). Also locks the env dropdown. */
|
|
225
|
-
testCaseEnvironmentLabelSuffix?: string;
|
|
226
|
-
/** Italic note rendered under env dropdown (legacy step-env deprecation). */
|
|
227
|
-
environmentLegacyDeprecationMessage?: string;
|
|
228
222
|
/** Config for environment dropdown (updated when environmentOptions changes to avoid new reference every CD) */
|
|
229
223
|
environmentSelectConfig: DynamicSelectFieldConfig;
|
|
230
224
|
private static toSelectOption;
|
|
@@ -544,5 +538,5 @@ export declare class ApiEditStepComponent implements OnChanges, OnInit, AfterVie
|
|
|
544
538
|
*/
|
|
545
539
|
private scrollPreviewIntoView;
|
|
546
540
|
static ɵfac: i0.ɵɵFactoryDeclaration<ApiEditStepComponent, never>;
|
|
547
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ApiEditStepComponent, "cqa-api-edit-step", never, { "initialMethod": "initialMethod"; "initialEnvironment": "initialEnvironment"; "initialStep": "initialStep"; "initialUrl": "initialUrl"; "initialPayloadTab": "initialPayloadTab"; "initialPayloadType": "initialPayloadType"; "initialPayloadText": "initialPayloadText"; "initialSummary": "initialSummary"; "initialHeaders": "initialHeaders"; "initialResponsePreview": "initialResponsePreview"; "initialVariableName": "initialVariableName"; "initialResponseBodyVerifications": "initialResponseBodyVerifications"; "initialStatusVerifications": "initialStatusVerifications"; "initialActiveResponseVerificationTab": "initialActiveResponseVerificationTab"; "editMode": "editMode"; "isCreatingStep": "isCreatingStep"; "httpMethodOptions": "httpMethodOptions"; "environmentOptions": "environmentOptions"; "hasMoreEnvironments": "hasMoreEnvironments"; "isLoadingEnvironments": "isLoadingEnvironments"; "urlOptions": "urlOptions"; "
|
|
541
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ApiEditStepComponent, "cqa-api-edit-step", never, { "initialMethod": "initialMethod"; "initialEnvironment": "initialEnvironment"; "initialStep": "initialStep"; "initialUrl": "initialUrl"; "initialPayloadTab": "initialPayloadTab"; "initialPayloadType": "initialPayloadType"; "initialPayloadText": "initialPayloadText"; "initialSummary": "initialSummary"; "initialHeaders": "initialHeaders"; "initialResponsePreview": "initialResponsePreview"; "initialVariableName": "initialVariableName"; "initialResponseBodyVerifications": "initialResponseBodyVerifications"; "initialStatusVerifications": "initialStatusVerifications"; "initialActiveResponseVerificationTab": "initialActiveResponseVerificationTab"; "editMode": "editMode"; "isCreatingStep": "isCreatingStep"; "httpMethodOptions": "httpMethodOptions"; "environmentOptions": "environmentOptions"; "hasMoreEnvironments": "hasMoreEnvironments"; "isLoadingEnvironments": "isLoadingEnvironments"; "urlOptions": "urlOptions"; "authTypeOptions": "authTypeOptions"; "initialAuthType": "initialAuthType"; "formatOptions": "formatOptions"; "initialFormat": "initialFormat"; "headerNameOptions": "headerNameOptions"; "verificationOptions": "verificationOptions"; "verificationDataTypeOptions": "verificationDataTypeOptions"; "statusVerificationOptions": "statusVerificationOptions"; "advancedSettingsVariables": "advancedSettingsVariables"; }, { "importCurl": "importCurl"; "importCurlCancel": "importCurlCancel"; "sendRequest": "sendRequest"; "back": "back"; "cancel": "cancel"; "next": "next"; "create": "create"; "headersChange": "headersChange"; "environmentChange": "environmentChange"; "environmentSearch": "environmentSearch"; "environmentLoadMore": "environmentLoadMore"; }, never, never>;
|
|
548
542
|
}
|
|
@@ -18,10 +18,6 @@ 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;
|
|
25
21
|
/** Callback when user types in search. Call API, then update options via selectConfigOverrides. */
|
|
26
22
|
onSearch?: (query: string) => void;
|
|
27
23
|
/** Callback when user scrolls to load more. Call API, append options via selectConfigOverrides. */
|
|
@@ -36,7 +32,6 @@ export declare const TEST_CASE_DETAILS_SELECT_KEYS: {
|
|
|
36
32
|
readonly type: "type";
|
|
37
33
|
readonly labels: "labels";
|
|
38
34
|
readonly prerequisiteCases: "prerequisiteCases";
|
|
39
|
-
readonly environment: "environment";
|
|
40
35
|
readonly testDataProfile: "testDataProfile";
|
|
41
36
|
readonly testDataSet: "testDataSet";
|
|
42
37
|
readonly videoRecording: "videoRecording";
|
|
@@ -55,7 +50,6 @@ export interface TestCaseDetailsEditFormData {
|
|
|
55
50
|
priority: string;
|
|
56
51
|
type?: string | number;
|
|
57
52
|
labels: string[];
|
|
58
|
-
environmentId?: number | string | null;
|
|
59
53
|
testDataProfileId?: number | string | null;
|
|
60
54
|
testDataSetIndex?: number | string | null;
|
|
61
55
|
configSections: TestCaseDetailsConfigSection[];
|
|
@@ -185,7 +179,6 @@ export declare class TestCaseDetailsEditComponent implements OnInit, OnChanges {
|
|
|
185
179
|
/** Cached configs to avoid new object refs each change detection (prevents infinite loops) */
|
|
186
180
|
readonly statusSelectConfig: DynamicSelectFieldConfig;
|
|
187
181
|
readonly typeSelectConfig: DynamicSelectFieldConfig;
|
|
188
|
-
readonly environmentSelectConfig: DynamicSelectFieldConfig;
|
|
189
182
|
readonly testDataProfileSelectConfig: DynamicSelectFieldConfig;
|
|
190
183
|
readonly testDataSetSelectConfig: DynamicSelectFieldConfig;
|
|
191
184
|
private readonly defaultPrerequisiteCaseOptions;
|
|
@@ -36,7 +36,6 @@ export declare const TEST_CASE_DETAILS_FIELD_MAP: {
|
|
|
36
36
|
};
|
|
37
37
|
/** Execution config */
|
|
38
38
|
readonly execution: {
|
|
39
|
-
readonly environment: "environment";
|
|
40
39
|
readonly prerequisiteCase: "prerequisiteCase";
|
|
41
40
|
readonly defaultBrowser: "defaultBrowser";
|
|
42
41
|
readonly videoRecording: "videoRecording";
|
|
@@ -75,7 +74,6 @@ export interface TestCaseDetailsApiData {
|
|
|
75
74
|
type?: string;
|
|
76
75
|
typeId?: number | string;
|
|
77
76
|
environment?: string;
|
|
78
|
-
environmentId?: number | string | null;
|
|
79
77
|
version?: string;
|
|
80
78
|
testPlanName?: string;
|
|
81
79
|
testPlanRedirectUrl?: string;
|
|
@@ -1,15 +1,7 @@
|
|
|
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'
|
|
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
|
-
}
|
|
4
|
+
export declare type TestDataModalTab = 'plain-text' | 'parameter' | 'environment' | 'runtime';
|
|
13
5
|
/**
|
|
14
6
|
* Config/data for Test Data Modal controls.
|
|
15
7
|
* Mirrors Loop Step pattern: single config object holds all control state;
|
|
@@ -38,20 +30,6 @@ export interface TestDataModalData {
|
|
|
38
30
|
environmentItems?: EnvironmentItem[];
|
|
39
31
|
/** Runtime tab: value (independent from Plain Text / Parameter / Environment). */
|
|
40
32
|
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;
|
|
49
|
-
/** Resolved test-case environment name. Drives Environment-tab subtitle. */
|
|
50
|
-
testCaseEnvironmentName?: string;
|
|
51
|
-
/** Suffix for the environment label (e.g. '(default)'). Applied at render only — selection state stays raw. */
|
|
52
|
-
testCaseEnvironmentLabelSuffix?: string;
|
|
53
|
-
/** Italic note rendered atop Environment tab body. Used for legacy step-level env deprecation. */
|
|
54
|
-
environmentLegacyDeprecationMessage?: string;
|
|
55
33
|
}
|
|
56
34
|
/** Sentinel returned from afterClosed() when user clicked "Edit in depth". */
|
|
57
35
|
export declare const TEST_DATA_MODAL_EDIT_IN_DEPTH: unique symbol;
|
|
@@ -1,17 +1,13 @@
|
|
|
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
|
|
4
|
+
import { TestDataModalData, TestDataModalTab } 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
|
-
}
|
|
15
11
|
export declare class TestDataModalComponent implements OnInit, OnChanges {
|
|
16
12
|
private readonly fb;
|
|
17
13
|
private readonly cdr;
|
|
@@ -26,10 +22,10 @@ export declare class TestDataModalComponent implements OnInit, OnChanges {
|
|
|
26
22
|
parameterEdit: EventEmitter<string>;
|
|
27
23
|
environmentCreate: EventEmitter<void>;
|
|
28
24
|
environmentEdit: EventEmitter<string>;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
25
|
+
readonly tabSegments: {
|
|
26
|
+
label: string;
|
|
27
|
+
value: string;
|
|
28
|
+
}[];
|
|
33
29
|
readonly parameterFilterTabs: {
|
|
34
30
|
label: string;
|
|
35
31
|
value: ParameterScopeFilter;
|
|
@@ -38,18 +34,6 @@ export declare class TestDataModalComponent implements OnInit, OnChanges {
|
|
|
38
34
|
parameters: ParameterItem[];
|
|
39
35
|
/** Environment list from input, falls back to mock data if not provided. */
|
|
40
36
|
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;
|
|
47
|
-
/** Resolved test-case environment name. Drives the Environment-tab subhead. */
|
|
48
|
-
testCaseEnvironmentName?: string;
|
|
49
|
-
/** Suffix on the env-name shown in the Environment tab (e.g. '(default)'). Render-only. */
|
|
50
|
-
testCaseEnvironmentLabelSuffix?: string;
|
|
51
|
-
/** Italic note rendered atop the Environment tab body — used for legacy step-level env deprecation. */
|
|
52
|
-
environmentLegacyDeprecationMessage?: string;
|
|
53
37
|
/** Runtime tab: suggested variable chips. */
|
|
54
38
|
readonly runtimeSuggestedValues: readonly string[];
|
|
55
39
|
/** Form for all modal controls (same pattern as Loop Step editForm). */
|
|
@@ -72,15 +56,10 @@ export declare class TestDataModalComponent implements OnInit, OnChanges {
|
|
|
72
56
|
selectedParameterId: string | null;
|
|
73
57
|
environmentSearchQuery: string;
|
|
74
58
|
selectedEnvironmentId: string | null;
|
|
75
|
-
globalVariableSearchQuery: string;
|
|
76
|
-
/** Stores the variable NAME (used as the id for the row, since names are unique within a workspace). */
|
|
77
|
-
selectedGlobalVariableId: string | null;
|
|
78
59
|
runtimeValue: string;
|
|
79
60
|
constructor(fb: FormBuilder, cdr: ChangeDetectorRef, ref: TestDataModalRef<TestDataModalResult>, data?: TestDataModalData);
|
|
80
61
|
ngOnInit(): void;
|
|
81
62
|
ngOnChanges(changes: SimpleChanges): void;
|
|
82
|
-
/** Memoize visible segments — `[segments]`-style refs must be stable across CD passes. */
|
|
83
|
-
private recomputeVisibleTabs;
|
|
84
63
|
/** Build form with all control values (same pattern as Loop Step buildEditForm). */
|
|
85
64
|
private buildEditForm;
|
|
86
65
|
/** Build select configs once (same pattern as Loop Step buildSelectConfigs). */
|
|
@@ -95,10 +74,6 @@ export declare class TestDataModalComponent implements OnInit, OnChanges {
|
|
|
95
74
|
get filteredEnvironments(): EnvironmentItem[];
|
|
96
75
|
/** Parameter tab: list config for cqa-item-list (search-friendly: bind filtered list). */
|
|
97
76
|
get parameterListConfig(): CqaListItemConfig[];
|
|
98
|
-
/** Filtered global variables by search (Global Data tab). */
|
|
99
|
-
get filteredGlobalVariables(): GlobalVariableItem[];
|
|
100
|
-
/** Global Data tab: list config (mirrors environment listing pattern). */
|
|
101
|
-
get globalVariableListConfig(): CqaListItemConfig[];
|
|
102
77
|
/** Environment tab: list config for cqa-item-list. */
|
|
103
78
|
get environmentListConfig(): CqaListItemConfig[];
|
|
104
79
|
onTabChange(tabValue: string): void;
|
|
@@ -117,22 +92,13 @@ export declare class TestDataModalComponent implements OnInit, OnChanges {
|
|
|
117
92
|
onEnvironmentSelect(itemId: string): void;
|
|
118
93
|
onEnvironmentEdit(itemId: string): void;
|
|
119
94
|
onCreateNewEnvironment(event: Event): void;
|
|
120
|
-
onGlobalVariableSearchInput(value: string): void;
|
|
121
|
-
onGlobalVariableSelect(name: string): void;
|
|
122
95
|
/** Runtime tab: replace the runtime input with the selected suggestion. */
|
|
123
96
|
onRuntimeChipInsert(snippet: string): void;
|
|
124
|
-
/**
|
|
125
|
-
* When the user picks a value in any tab, the others' visual selection must
|
|
126
|
-
* reset — the modal applies only the active tab's value, so keeping stale
|
|
127
|
-
* highlights confuses which one will land on Apply.
|
|
128
|
-
*/
|
|
129
|
-
private clearSelectionsExcept;
|
|
130
97
|
onApply(): void;
|
|
131
98
|
onCancel(): void;
|
|
132
99
|
onClose(): void;
|
|
133
100
|
onEditInDepth(event: Event): void;
|
|
134
101
|
onHelp(event: Event): void;
|
|
135
102
|
static ɵfac: i0.ɵɵFactoryDeclaration<TestDataModalComponent, [null, null, null, { optional: true; }]>;
|
|
136
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TestDataModalComponent, "cqa-test-data-modal", never, { "parameters": "parameters"; "environmentItems": "environmentItems"; "
|
|
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>;
|
|
137
104
|
}
|
|
138
|
-
export {};
|