@cqa-lib/cqa-ui 1.1.292 → 1.1.294

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.
Files changed (35) hide show
  1. package/esm2020/lib/autocomplete/autocomplete.component.mjs +7 -3
  2. package/esm2020/lib/test-case-details/ai-verify-step/ai-verify-step.component.mjs +6 -5
  3. package/esm2020/lib/test-case-details/api-edit-step/api-edit-step.component.mjs +97 -17
  4. package/esm2020/lib/test-case-details/condition-step/condition-step.component.mjs +52 -19
  5. package/esm2020/lib/test-case-details/custom-code-step/custom-code-step.component.mjs +6 -5
  6. package/esm2020/lib/test-case-details/database-step/database-step.component.mjs +6 -5
  7. package/esm2020/lib/test-case-details/loop-step/loop-step.component.mjs +7 -10
  8. package/esm2020/lib/test-case-details/normal-step/normal-step.component.mjs +7 -5
  9. package/esm2020/lib/test-case-details/restore-session-step/restore-session-step.component.mjs +6 -5
  10. package/esm2020/lib/test-case-details/screenshot-step/screenshot-step.component.mjs +6 -5
  11. package/esm2020/lib/test-case-details/scroll-step/scroll-step.component.mjs +6 -5
  12. package/esm2020/lib/test-case-details/step-group/step-group.component.mjs +12 -13
  13. package/esm2020/lib/test-case-details/test-case-details-renderer/test-case-details-renderer.component.mjs +5 -3
  14. package/esm2020/lib/test-case-details/upload-step/upload-step.component.mjs +6 -5
  15. package/esm2020/lib/test-case-details/verify-url-step/verify-url-step.component.mjs +6 -5
  16. package/fesm2015/cqa-lib-cqa-ui.mjs +223 -92
  17. package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
  18. package/fesm2020/cqa-lib-cqa-ui.mjs +214 -90
  19. package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
  20. package/lib/autocomplete/autocomplete.component.d.ts +3 -1
  21. package/lib/test-case-details/ai-verify-step/ai-verify-step.component.d.ts +2 -1
  22. package/lib/test-case-details/api-edit-step/api-edit-step.component.d.ts +22 -4
  23. package/lib/test-case-details/condition-step/condition-step.component.d.ts +9 -1
  24. package/lib/test-case-details/custom-code-step/custom-code-step.component.d.ts +2 -1
  25. package/lib/test-case-details/database-step/database-step.component.d.ts +2 -1
  26. package/lib/test-case-details/loop-step/loop-step.component.d.ts +3 -2
  27. package/lib/test-case-details/normal-step/normal-step.component.d.ts +3 -1
  28. package/lib/test-case-details/restore-session-step/restore-session-step.component.d.ts +2 -1
  29. package/lib/test-case-details/screenshot-step/screenshot-step.component.d.ts +2 -1
  30. package/lib/test-case-details/scroll-step/scroll-step.component.d.ts +2 -1
  31. package/lib/test-case-details/step-group/step-group.component.d.ts +5 -2
  32. package/lib/test-case-details/upload-step/upload-step.component.d.ts +2 -1
  33. package/lib/test-case-details/verify-url-step/verify-url-step.component.d.ts +2 -1
  34. package/package.json +1 -1
  35. package/styles.css +1 -1
@@ -21,6 +21,8 @@ export declare class AutocompleteComponent implements OnInit, OnChanges {
21
21
  size: AutocompleteSize;
22
22
  /** Stretch to full width of container */
23
23
  fullWidth: boolean;
24
+ /** Use compact padding (4px) instead of default (24px) for the input field */
25
+ compact: boolean;
24
26
  /** Emit when the input value changes (e.g. for two-way binding) */
25
27
  valueChange: EventEmitter<string>;
26
28
  /** Emit when an option is selected from the list (value from option) */
@@ -43,6 +45,6 @@ export declare class AutocompleteComponent implements OnInit, OnChanges {
43
45
  trackByValue(_index: number, option: CqaAutocompleteOption): string;
44
46
  onEscape(): void;
45
47
  static ɵfac: i0.ɵɵFactoryDeclaration<AutocompleteComponent, never>;
46
- static ɵcmp: i0.ɵɵComponentDeclaration<AutocompleteComponent, "cqa-autocomplete", never, { "placeholder": "placeholder"; "options": "options"; "value": "value"; "disabled": "disabled"; "showClear": "showClear"; "ariaLabel": "ariaLabel"; "autoFocus": "autoFocus"; "size": "size"; "fullWidth": "fullWidth"; }, { "valueChange": "valueChange"; "optionSelect": "optionSelect"; "cleared": "cleared"; }, never, never>;
48
+ static ɵcmp: i0.ɵɵComponentDeclaration<AutocompleteComponent, "cqa-autocomplete", never, { "placeholder": "placeholder"; "options": "options"; "value": "value"; "disabled": "disabled"; "showClear": "showClear"; "ariaLabel": "ariaLabel"; "autoFocus": "autoFocus"; "size": "size"; "fullWidth": "fullWidth"; "compact": "compact"; }, { "valueChange": "valueChange"; "optionSelect": "optionSelect"; "cleared": "cleared"; }, never, never>;
47
49
  }
48
50
  export {};
@@ -5,6 +5,7 @@ import * as i0 from "@angular/core";
5
5
  export declare class TestCaseAiVerifyStepComponent implements OnInit {
6
6
  config: AiVerifyStepConfig;
7
7
  stepNumber: number | string;
8
+ index?: number;
8
9
  instructions: string;
9
10
  description?: string;
10
11
  selected: boolean;
@@ -35,5 +36,5 @@ export declare class TestCaseAiVerifyStepComponent implements OnInit {
35
36
  onViewDetails(event?: MouseEvent): void;
36
37
  onSelectionChange(checked: boolean): void;
37
38
  static ɵfac: i0.ɵɵFactoryDeclaration<TestCaseAiVerifyStepComponent, never>;
38
- static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseAiVerifyStepComponent, "cqa-test-case-ai-verify-step", never, { "config": "config"; "stepNumber": "stepNumber"; "instructions": "instructions"; "description": "description"; "selected": "selected"; "disabled": "disabled"; "isNested": "isNested"; "isInsideStepGroup": "isInsideStepGroup"; "isInsideLoop": "isInsideLoop"; "isReorder": "isReorder"; }, { "edit": "edit"; "editInDepth": "editInDepth"; "link": "link"; "duplicate": "duplicate"; "delete": "delete"; "moreOptions": "moreOptions"; "viewDetails": "viewDetails"; "selectionChange": "selectionChange"; }, never, never>;
39
+ static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseAiVerifyStepComponent, "cqa-test-case-ai-verify-step", never, { "config": "config"; "stepNumber": "stepNumber"; "index": "index"; "instructions": "instructions"; "description": "description"; "selected": "selected"; "disabled": "disabled"; "isNested": "isNested"; "isInsideStepGroup": "isInsideStepGroup"; "isInsideLoop": "isInsideLoop"; "isReorder": "isReorder"; }, { "edit": "edit"; "editInDepth": "editInDepth"; "link": "link"; "duplicate": "duplicate"; "delete": "delete"; "moreOptions": "moreOptions"; "viewDetails": "viewDetails"; "selectionChange": "selectionChange"; }, never, never>;
39
40
  }
@@ -1,6 +1,7 @@
1
1
  import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
2
2
  import { FormArray, FormBuilder, FormControl, FormGroup } from '@angular/forms';
3
3
  import { DynamicSelectFieldConfig, SelectOption } from '../../dynamic-select/dynamic-select-field.component';
4
+ import { CqaAutocompleteOption } from '../../autocomplete/autocomplete.model';
4
5
  import * as i0 from "@angular/core";
5
6
  export declare const API_EDIT_STEP_LABELS: {
6
7
  readonly REQUEST_DETAILS: "Request Details";
@@ -132,6 +133,8 @@ export declare class ApiEditStepComponent implements OnChanges, OnInit, AfterVie
132
133
  create: EventEmitter<ApiEditCreatePayload>;
133
134
  /** Emits whenever headers change (add, remove, or edit) so the parent can reflect them in the canvas/controls. */
134
135
  headersChange: EventEmitter<ApiEditHeaderRow[]>;
136
+ /** Emits when the environment dropdown selection changes (selected value/id or null for None) so the parent can provide urlOptions. */
137
+ environmentChange: EventEmitter<string | number>;
135
138
  /** Form control for Import cURL textarea; value is emitted when user clicks Import. */
136
139
  readonly importCurlControl: FormControl;
137
140
  variableName: string;
@@ -172,6 +175,8 @@ export declare class ApiEditStepComponent implements OnChanges, OnInit, AfterVie
172
175
  environmentForm: FormGroup;
173
176
  /** Environment options: array of strings or objects with id, name, value, label (passed from parent). */
174
177
  environmentOptions: EnvironmentOptionInput[];
178
+ /** URL field options when an environment is selected (base URL + parameters as *|key|). Parent fills this when environmentChange fires. */
179
+ urlOptions: CqaAutocompleteOption[];
175
180
  /** Config for environment dropdown (updated when environmentOptions changes to avoid new reference every CD) */
176
181
  environmentSelectConfig: DynamicSelectFieldConfig;
177
182
  private static toSelectOption;
@@ -214,11 +219,18 @@ export declare class ApiEditStepComponent implements OnChanges, OnInit, AfterVie
214
219
  /** Current environment (from form or default: first of environmentOptions). Treats empty string as unset. */
215
220
  get selectedEnvironment(): string;
216
221
  set selectedEnvironment(v: string);
217
- /** Called when user selects an environment; keeps currentEnvironmentValue in sync for create payload. */
222
+ /** Called when user selects an environment; keeps currentEnvironmentValue in sync, sets request URL from environment when available, and notifies parent for urlOptions. */
218
223
  onEnvironmentSelectionChange(event: {
219
224
  key: string;
220
225
  value: unknown;
221
226
  }): void;
227
+ /** When user selects an option from the URL autocomplete (e.g. environment parameter *|key|), set the URL field to that value. */
228
+ onUrlOptionSelect(option: CqaAutocompleteOption): void;
229
+ /**
230
+ * Resolve the request URL for the selected environment option.
231
+ * Environment options may carry an optional `url` (e.g. from Environment model); "None" has no url.
232
+ */
233
+ private getSelectedEnvironmentUrl;
222
234
  /** Called when user selects an HTTP method; keeps currentMethodValue in sync for create payload. */
223
235
  onMethodSelectionChange(event: {
224
236
  key: string;
@@ -230,6 +242,8 @@ export declare class ApiEditStepComponent implements OnChanges, OnInit, AfterVie
230
242
  set url(value: string);
231
243
  /** When true, params form changes should not update the URL (we're syncing from URL). */
232
244
  private paramsSyncingFromUrl;
245
+ /** Placeholder for the URL field: show "Enter URL or select Parameter *" when urlOptions are available (environment selected). */
246
+ get urlPlaceholder(): string;
233
247
  readonly payloadTabs: {
234
248
  value: ApiEditPayloadTab;
235
249
  label: string;
@@ -363,9 +377,13 @@ export declare class ApiEditStepComponent implements OnChanges, OnInit, AfterVie
363
377
  private buildKeyValueFormArray;
364
378
  private buildKeyTypeValueFormArray;
365
379
  private buildParamsFormArray;
366
- /** Parse URL into base (without query/fragment) and query key-value pairs. Preserves relative URLs. */
380
+ /** True if URL is a parameter placeholder (e.g. *|param|); must not be parsed with URL() which encodes | to %7C. */
381
+ private static isParameterUrl;
382
+ /** Decode URL for display/payload: strip /* prefix and decode %7C to | so *|param| shows correctly. */
383
+ private static decodeUrlForDisplay;
384
+ /** Parse URL into base (without query/fragment) and query key-value pairs. Preserves relative URLs and parameter placeholders. */
367
385
  private parseQueryParamsFromUrl;
368
- /** Get base URL (without query/fragment) for building URL from params. Preserves relative URLs. */
386
+ /** Get base URL (without query/fragment) for building URL from params. Preserves relative URLs and parameter placeholders. */
369
387
  private getBaseUrl;
370
388
  /**
371
389
  * Set the payload format dropdown using the Content-Type header first, then
@@ -458,5 +476,5 @@ export declare class ApiEditStepComponent implements OnChanges, OnInit, AfterVie
458
476
  get headers(): ApiEditHeaderRow[];
459
477
  ngOnChanges(changes: SimpleChanges): void;
460
478
  static ɵfac: i0.ɵɵFactoryDeclaration<ApiEditStepComponent, never>;
461
- static ɵcmp: i0.ɵɵComponentDeclaration<ApiEditStepComponent, "cqa-api-edit-step", never, { "initialMethod": "initialMethod"; "initialEnvironment": "initialEnvironment"; "initialStep": "initialStep"; "initialUrl": "initialUrl"; "initialPayloadTab": "initialPayloadTab"; "initialHeaders": "initialHeaders"; "initialResponsePreview": "initialResponsePreview"; "initialVariableName": "initialVariableName"; "editMode": "editMode"; "httpMethodOptions": "httpMethodOptions"; "environmentOptions": "environmentOptions"; "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"; }, never, never>;
479
+ static ɵcmp: i0.ɵɵComponentDeclaration<ApiEditStepComponent, "cqa-api-edit-step", never, { "initialMethod": "initialMethod"; "initialEnvironment": "initialEnvironment"; "initialStep": "initialStep"; "initialUrl": "initialUrl"; "initialPayloadTab": "initialPayloadTab"; "initialHeaders": "initialHeaders"; "initialResponsePreview": "initialResponsePreview"; "initialVariableName": "initialVariableName"; "editMode": "editMode"; "httpMethodOptions": "httpMethodOptions"; "environmentOptions": "environmentOptions"; "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"; }, never, never>;
462
480
  }
@@ -231,6 +231,10 @@ export declare class TestCaseConditionStepComponent implements OnInit, OnChanges
231
231
  getEndBranchLabel(branch: ConditionBranch): string;
232
232
  /** Branch display number: condition step number + branch index (e.g. step 3 → branches 3, 4, 5 to match nested 3.1, 4.1, 5.1). */
233
233
  getBranchDisplayNumber(branchIndex: number): number;
234
+ /** Find branch in branches by id (for elseIfBranches which use same id). */
235
+ getBranchById(branchId?: string | number): ConditionBranch | undefined;
236
+ /** Get branch index in branches by id. */
237
+ getBranchIndexById(branchId?: string | number): number;
234
238
  getBranchColorClass(branch: ConditionBranch): string;
235
239
  getBranchTextColor(branch: ConditionBranch): string;
236
240
  /** True when condition already has an ELSE branch (disables Add ELSE IF / Add ELSE). */
@@ -256,7 +260,11 @@ export declare class TestCaseConditionStepComponent implements OnInit, OnChanges
256
260
  * Mirrors the portal renderer's substituteTemplateVariablesToHtml so inline edit mode never shows raw #{label}.
257
261
  */
258
262
  private substituteTemplateVariablesToHtmlForCondition;
259
- onEditInDepth(templateOverride?: any): void;
263
+ /**
264
+ * Emit editInDepth. When branch is provided (ELSE IF/ELSE branch row), use branch's nested condition step
265
+ * and branch display number for correct "Edit Step N" title. When isCreateMode (new ELSE IF), modal shows "Create In depth" and calls create API on save.
266
+ */
267
+ onEditInDepth(templateOverride?: any, branch?: ConditionBranch, branchIndex?: number, isCreateMode?: boolean): void;
260
268
  onLink(): void;
261
269
  onDuplicate(): void;
262
270
  onDelete(): void;
@@ -5,6 +5,7 @@ import * as i0 from "@angular/core";
5
5
  export declare class TestCaseCustomCodeStepComponent implements OnInit {
6
6
  config: CustomCodeStepConfig;
7
7
  stepNumber: number | string;
8
+ index?: number;
8
9
  language: 'javascript' | 'python' | 'typescript';
9
10
  code: string;
10
11
  description?: string;
@@ -38,5 +39,5 @@ export declare class TestCaseCustomCodeStepComponent implements OnInit {
38
39
  onViewDetails(event?: MouseEvent): void;
39
40
  onSelectionChange(checked: boolean): void;
40
41
  static ɵfac: i0.ɵɵFactoryDeclaration<TestCaseCustomCodeStepComponent, never>;
41
- static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseCustomCodeStepComponent, "cqa-test-case-custom-code-step", never, { "config": "config"; "stepNumber": "stepNumber"; "language": "language"; "code": "code"; "description": "description"; "selected": "selected"; "disabled": "disabled"; "isNested": "isNested"; "isInsideStepGroup": "isInsideStepGroup"; "isInsideLoop": "isInsideLoop"; "isReorder": "isReorder"; }, { "edit": "edit"; "editInDepth": "editInDepth"; "link": "link"; "duplicate": "duplicate"; "delete": "delete"; "moreOptions": "moreOptions"; "viewDetails": "viewDetails"; "selectionChange": "selectionChange"; }, never, never>;
42
+ static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseCustomCodeStepComponent, "cqa-test-case-custom-code-step", never, { "config": "config"; "stepNumber": "stepNumber"; "index": "index"; "language": "language"; "code": "code"; "description": "description"; "selected": "selected"; "disabled": "disabled"; "isNested": "isNested"; "isInsideStepGroup": "isInsideStepGroup"; "isInsideLoop": "isInsideLoop"; "isReorder": "isReorder"; }, { "edit": "edit"; "editInDepth": "editInDepth"; "link": "link"; "duplicate": "duplicate"; "delete": "delete"; "moreOptions": "moreOptions"; "viewDetails": "viewDetails"; "selectionChange": "selectionChange"; }, never, never>;
42
43
  }
@@ -5,6 +5,7 @@ import * as i0 from "@angular/core";
5
5
  export declare class TestCaseDatabaseStepComponent implements OnInit {
6
6
  config: DatabaseStepConfig;
7
7
  stepNumber: number | string;
8
+ index?: number;
8
9
  query: string;
9
10
  description?: string;
10
11
  databaseType?: 'mysql' | 'postgresql' | 'mongodb' | 'mssql' | 'oracle';
@@ -44,5 +45,5 @@ export declare class TestCaseDatabaseStepComponent implements OnInit {
44
45
  onConnectionChange(value: string): void;
45
46
  onQueryChange(value: string): void;
46
47
  static ɵfac: i0.ɵɵFactoryDeclaration<TestCaseDatabaseStepComponent, never>;
47
- static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseDatabaseStepComponent, "cqa-test-case-database-step", never, { "config": "config"; "stepNumber": "stepNumber"; "query": "query"; "description": "description"; "databaseType": "databaseType"; "connectionName": "connectionName"; "saveTo": "saveTo"; "selected": "selected"; "disabled": "disabled"; "isNested": "isNested"; "isInsideStepGroup": "isInsideStepGroup"; "isInsideLoop": "isInsideLoop"; "expanded": "expanded"; "isReorder": "isReorder"; }, { "edit": "edit"; "editInDepth": "editInDepth"; "link": "link"; "duplicate": "duplicate"; "delete": "delete"; "viewDetails": "viewDetails"; "selectionChange": "selectionChange"; "toggleExpanded": "toggleExpanded"; "connectionNameChange": "connectionNameChange"; "queryChange": "queryChange"; }, never, never>;
48
+ static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseDatabaseStepComponent, "cqa-test-case-database-step", never, { "config": "config"; "stepNumber": "stepNumber"; "index": "index"; "query": "query"; "description": "description"; "databaseType": "databaseType"; "connectionName": "connectionName"; "saveTo": "saveTo"; "selected": "selected"; "disabled": "disabled"; "isNested": "isNested"; "isInsideStepGroup": "isInsideStepGroup"; "isInsideLoop": "isInsideLoop"; "expanded": "expanded"; "isReorder": "isReorder"; }, { "edit": "edit"; "editInDepth": "editInDepth"; "link": "link"; "duplicate": "duplicate"; "delete": "delete"; "viewDetails": "viewDetails"; "selectionChange": "selectionChange"; "toggleExpanded": "toggleExpanded"; "connectionNameChange": "connectionNameChange"; "queryChange": "queryChange"; }, never, never>;
48
49
  }
@@ -2,7 +2,7 @@ import { EventEmitter, OnInit, OnChanges, SimpleChanges, ElementRef, ChangeDetec
2
2
  import { FormBuilder, FormGroup } from '@angular/forms';
3
3
  import { DndDropEvent } from 'ngx-drag-drop';
4
4
  import { DynamicSelectFieldConfig, SelectOption } from '../../dynamic-select/dynamic-select-field.component';
5
- import { LoopStepConfig, TestCaseStepConfig, NormalStepConfig, ConditionStepConfig, StepGroupConfig } from '../test-case-step.models';
5
+ import { LoopStepConfig, TestCaseStepConfig, NormalStepConfig, ConditionStepConfig, StepGroupConfig, ConditionBranch } from '../test-case-step.models';
6
6
  import { DataProfileOption } from '../../step-builder/step-builder-loop/step-builder-loop.component';
7
7
  import { ViewDetailsPayload } from '../step-details-modal/step-details-modal-data';
8
8
  import { CqaAutocompleteOption } from '../../autocomplete/autocomplete.model';
@@ -94,6 +94,7 @@ export declare class TestCaseLoopStepComponent implements OnInit, OnChanges {
94
94
  position: 'ABOVE' | 'BELOW';
95
95
  }>;
96
96
  selectionChange: EventEmitter<boolean>;
97
+ deleteBranch: EventEmitter<ConditionBranch>;
97
98
  onDndDrop(event: DndDropEvent): void;
98
99
  /** Emit clickAction when user clicks on loop display badges (element, test_data, etc.) so parent can open edit modals */
99
100
  onLoopActionClick(event: MouseEvent): void;
@@ -272,5 +273,5 @@ export declare class TestCaseLoopStepComponent implements OnInit, OnChanges {
272
273
  onMoreOptions(): void;
273
274
  onViewDetails(event?: MouseEvent): void;
274
275
  static ɵfac: i0.ɵɵFactoryDeclaration<TestCaseLoopStepComponent, never>;
275
- static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseLoopStepComponent, "cqa-test-case-loop-step", never, { "config": "config"; "id": "id"; "loopType": "loopType"; "stepNumber": "stepNumber"; "index": "index"; "condition": "condition"; "maxIterations": "maxIterations"; "testDataProfile": "testDataProfile"; "startStep": "startStep"; "endStep": "endStep"; "nestedSteps": "nestedSteps"; "expanded": "expanded"; "isNested": "isNested"; "isInsideLoop": "isInsideLoop"; "isInsideStepGroup": "isInsideStepGroup"; "isReorder": "isReorder"; "selected": "selected"; "dataProfileOptions": "dataProfileOptions"; "hasMoreDataProfiles": "hasMoreDataProfiles"; "isLoadingDataProfiles": "isLoadingDataProfiles"; "naturalTextActionsOptions": "naturalTextActionsOptions"; "setConditionTemplateVariables": "setConditionTemplateVariables"; "addStepBetweenAbove": "addStepBetweenAbove"; "addStepBetweenBelow": "addStepBetweenBelow"; "addStepBetween": "addStepBetween"; }, { "toggleExpanded": "toggleExpanded"; "testDataProfileChange": "testDataProfileChange"; "startStepChange": "startStepChange"; "endStepChange": "endStepChange"; "conditionChange": "conditionChange"; "maxIterationsChange": "maxIterationsChange"; "nestedStepChange": "nestedStepChange"; "addStep": "addStep"; "deleteStep": "deleteStep"; "duplicate": "duplicate"; "delete": "delete"; "moreOptions": "moreOptions"; "viewDetails": "viewDetails"; "editInDepth": "editInDepth"; "edit": "edit"; "dndDropInZone": "dndDropInZone"; "loadMoreDataProfiles": "loadMoreDataProfiles"; "searchDataProfiles": "searchDataProfiles"; "stepUpdate": "stepUpdate"; "clickAction": "clickAction"; "addStepBetweenClick": "addStepBetweenClick"; "selectionChange": "selectionChange"; }, never, never>;
276
+ static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseLoopStepComponent, "cqa-test-case-loop-step", never, { "config": "config"; "id": "id"; "loopType": "loopType"; "stepNumber": "stepNumber"; "index": "index"; "condition": "condition"; "maxIterations": "maxIterations"; "testDataProfile": "testDataProfile"; "startStep": "startStep"; "endStep": "endStep"; "nestedSteps": "nestedSteps"; "expanded": "expanded"; "isNested": "isNested"; "isInsideLoop": "isInsideLoop"; "isInsideStepGroup": "isInsideStepGroup"; "isReorder": "isReorder"; "selected": "selected"; "dataProfileOptions": "dataProfileOptions"; "hasMoreDataProfiles": "hasMoreDataProfiles"; "isLoadingDataProfiles": "isLoadingDataProfiles"; "naturalTextActionsOptions": "naturalTextActionsOptions"; "setConditionTemplateVariables": "setConditionTemplateVariables"; "addStepBetweenAbove": "addStepBetweenAbove"; "addStepBetweenBelow": "addStepBetweenBelow"; "addStepBetween": "addStepBetween"; }, { "toggleExpanded": "toggleExpanded"; "testDataProfileChange": "testDataProfileChange"; "startStepChange": "startStepChange"; "endStepChange": "endStepChange"; "conditionChange": "conditionChange"; "maxIterationsChange": "maxIterationsChange"; "nestedStepChange": "nestedStepChange"; "addStep": "addStep"; "deleteStep": "deleteStep"; "duplicate": "duplicate"; "delete": "delete"; "moreOptions": "moreOptions"; "viewDetails": "viewDetails"; "editInDepth": "editInDepth"; "edit": "edit"; "dndDropInZone": "dndDropInZone"; "loadMoreDataProfiles": "loadMoreDataProfiles"; "searchDataProfiles": "searchDataProfiles"; "stepUpdate": "stepUpdate"; "clickAction": "clickAction"; "addStepBetweenClick": "addStepBetweenClick"; "selectionChange": "selectionChange"; "deleteBranch": "deleteBranch"; }, never, never>;
276
277
  }
@@ -22,6 +22,8 @@ export declare class TestCaseNormalStepComponent implements OnInit {
22
22
  viewDetailsTrigger?: ElementRef<HTMLElement>;
23
23
  config: NormalStepConfig;
24
24
  stepNumber: number | string;
25
+ /** Array index from parent renderer - use for editInDepth (stepNumber "10.3" parses wrong) */
26
+ index?: number;
25
27
  action: string;
26
28
  eventType: TestCaseEventType;
27
29
  parameters: StepParameter[];
@@ -88,5 +90,5 @@ export declare class TestCaseNormalStepComponent implements OnInit {
88
90
  onDocumentClick(event: MouseEvent): void;
89
91
  clickOnAction(event: MouseEvent): void;
90
92
  static ɵfac: i0.ɵɵFactoryDeclaration<TestCaseNormalStepComponent, never>;
91
- static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseNormalStepComponent, "cqa-test-case-normal-step", never, { "config": "config"; "stepNumber": "stepNumber"; "action": "action"; "eventType": "eventType"; "parameters": "parameters"; "selected": "selected"; "disabled": "disabled"; "isNested": "isNested"; "isInsideLoop": "isInsideLoop"; "isInsideStepGroup": "isInsideStepGroup"; "isReorder": "isReorder"; "stepIndex": "stepIndex"; }, { "eventTypeChange": "eventTypeChange"; "parameterChange": "parameterChange"; "edit": "edit"; "editInDepth": "editInDepth"; "link": "link"; "duplicate": "duplicate"; "delete": "delete"; "moreOptions": "moreOptions"; "viewDetails": "viewDetails"; "selectionChange": "selectionChange"; "clickAction": "clickAction"; }, never, never>;
93
+ static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseNormalStepComponent, "cqa-test-case-normal-step", never, { "config": "config"; "stepNumber": "stepNumber"; "index": "index"; "action": "action"; "eventType": "eventType"; "parameters": "parameters"; "selected": "selected"; "disabled": "disabled"; "isNested": "isNested"; "isInsideLoop": "isInsideLoop"; "isInsideStepGroup": "isInsideStepGroup"; "isReorder": "isReorder"; "stepIndex": "stepIndex"; }, { "eventTypeChange": "eventTypeChange"; "parameterChange": "parameterChange"; "edit": "edit"; "editInDepth": "editInDepth"; "link": "link"; "duplicate": "duplicate"; "delete": "delete"; "moreOptions": "moreOptions"; "viewDetails": "viewDetails"; "selectionChange": "selectionChange"; "clickAction": "clickAction"; }, never, never>;
92
94
  }
@@ -5,6 +5,7 @@ import * as i0 from "@angular/core";
5
5
  export declare class TestCaseRestoreSessionStepComponent implements OnInit {
6
6
  config: RestoreSessionStepConfig;
7
7
  stepNumber: number | string;
8
+ index?: number;
8
9
  action?: string;
9
10
  selected: boolean;
10
11
  disabled: boolean;
@@ -35,5 +36,5 @@ export declare class TestCaseRestoreSessionStepComponent implements OnInit {
35
36
  onViewDetails(event?: MouseEvent): void;
36
37
  onSelectionChange(checked: boolean): void;
37
38
  static ɵfac: i0.ɵɵFactoryDeclaration<TestCaseRestoreSessionStepComponent, never>;
38
- static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseRestoreSessionStepComponent, "cqa-test-case-restore-session-step", never, { "config": "config"; "stepNumber": "stepNumber"; "action": "action"; "selected": "selected"; "disabled": "disabled"; "isNested": "isNested"; "isInsideStepGroup": "isInsideStepGroup"; "isInsideLoop": "isInsideLoop"; "isReorder": "isReorder"; }, { "edit": "edit"; "editInDepth": "editInDepth"; "link": "link"; "duplicate": "duplicate"; "delete": "delete"; "moreOptions": "moreOptions"; "viewDetails": "viewDetails"; "selectionChange": "selectionChange"; }, never, never>;
39
+ static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseRestoreSessionStepComponent, "cqa-test-case-restore-session-step", never, { "config": "config"; "stepNumber": "stepNumber"; "index": "index"; "action": "action"; "selected": "selected"; "disabled": "disabled"; "isNested": "isNested"; "isInsideStepGroup": "isInsideStepGroup"; "isInsideLoop": "isInsideLoop"; "isReorder": "isReorder"; }, { "edit": "edit"; "editInDepth": "editInDepth"; "link": "link"; "duplicate": "duplicate"; "delete": "delete"; "moreOptions": "moreOptions"; "viewDetails": "viewDetails"; "selectionChange": "selectionChange"; }, never, never>;
39
40
  }
@@ -5,6 +5,7 @@ import * as i0 from "@angular/core";
5
5
  export declare class TestCaseScreenshotStepComponent implements OnInit {
6
6
  config: ScreenshotStepConfig;
7
7
  stepNumber: number | string;
8
+ index?: number;
8
9
  name?: string;
9
10
  fullPage: boolean;
10
11
  selector?: string;
@@ -38,5 +39,5 @@ export declare class TestCaseScreenshotStepComponent implements OnInit {
38
39
  onViewDetails(event?: MouseEvent): void;
39
40
  onSelectionChange(checked: boolean): void;
40
41
  static ɵfac: i0.ɵɵFactoryDeclaration<TestCaseScreenshotStepComponent, never>;
41
- static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseScreenshotStepComponent, "cqa-test-case-screenshot-step", never, { "config": "config"; "stepNumber": "stepNumber"; "name": "name"; "fullPage": "fullPage"; "selector": "selector"; "description": "description"; "selected": "selected"; "disabled": "disabled"; "isNested": "isNested"; "isInsideStepGroup": "isInsideStepGroup"; "isInsideLoop": "isInsideLoop"; "isReorder": "isReorder"; }, { "edit": "edit"; "editInDepth": "editInDepth"; "link": "link"; "duplicate": "duplicate"; "delete": "delete"; "moreOptions": "moreOptions"; "viewDetails": "viewDetails"; "selectionChange": "selectionChange"; }, never, never>;
42
+ static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseScreenshotStepComponent, "cqa-test-case-screenshot-step", never, { "config": "config"; "stepNumber": "stepNumber"; "index": "index"; "name": "name"; "fullPage": "fullPage"; "selector": "selector"; "description": "description"; "selected": "selected"; "disabled": "disabled"; "isNested": "isNested"; "isInsideStepGroup": "isInsideStepGroup"; "isInsideLoop": "isInsideLoop"; "isReorder": "isReorder"; }, { "edit": "edit"; "editInDepth": "editInDepth"; "link": "link"; "duplicate": "duplicate"; "delete": "delete"; "moreOptions": "moreOptions"; "viewDetails": "viewDetails"; "selectionChange": "selectionChange"; }, never, never>;
42
43
  }
@@ -5,6 +5,7 @@ import * as i0 from "@angular/core";
5
5
  export declare class TestCaseScrollStepComponent implements OnInit {
6
6
  config: ScrollStepConfig;
7
7
  stepNumber: number | string;
8
+ index?: number;
8
9
  selector: string;
9
10
  direction?: 'top' | 'bottom' | 'up' | 'down' | 'left' | 'right';
10
11
  description?: string;
@@ -45,5 +46,5 @@ export declare class TestCaseScrollStepComponent implements OnInit {
45
46
  onSelectorChange(value: string): void;
46
47
  onDirectionChange(value: 'top' | 'bottom' | 'up' | 'down' | 'left' | 'right'): void;
47
48
  static ɵfac: i0.ɵɵFactoryDeclaration<TestCaseScrollStepComponent, never>;
48
- static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseScrollStepComponent, "cqa-test-case-scroll-step", never, { "config": "config"; "stepNumber": "stepNumber"; "selector": "selector"; "direction": "direction"; "description": "description"; "selected": "selected"; "disabled": "disabled"; "isNested": "isNested"; "isInsideStepGroup": "isInsideStepGroup"; "isInsideLoop": "isInsideLoop"; "expanded": "expanded"; "isReorder": "isReorder"; }, { "edit": "edit"; "editInDepth": "editInDepth"; "link": "link"; "duplicate": "duplicate"; "delete": "delete"; "viewDetails": "viewDetails"; "selectionChange": "selectionChange"; "toggleExpanded": "toggleExpanded"; "selectorChange": "selectorChange"; "directionChange": "directionChange"; }, never, never>;
49
+ static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseScrollStepComponent, "cqa-test-case-scroll-step", never, { "config": "config"; "stepNumber": "stepNumber"; "index": "index"; "selector": "selector"; "direction": "direction"; "description": "description"; "selected": "selected"; "disabled": "disabled"; "isNested": "isNested"; "isInsideStepGroup": "isInsideStepGroup"; "isInsideLoop": "isInsideLoop"; "expanded": "expanded"; "isReorder": "isReorder"; }, { "edit": "edit"; "editInDepth": "editInDepth"; "link": "link"; "duplicate": "duplicate"; "delete": "delete"; "viewDetails": "viewDetails"; "selectionChange": "selectionChange"; "toggleExpanded": "toggleExpanded"; "selectorChange": "selectorChange"; "directionChange": "directionChange"; }, never, never>;
49
50
  }
@@ -1,6 +1,6 @@
1
1
  import { DndDropEvent } from 'ngx-drag-drop';
2
2
  import { EventEmitter, OnInit, OnChanges, SimpleChanges, DoCheck, ChangeDetectorRef, ElementRef } from '@angular/core';
3
- import { StepGroupConfig, TestCaseStepConfig, NormalStepConfig, LoopStepConfig, ConditionStepConfig } from '../test-case-step.models';
3
+ import { StepGroupConfig, TestCaseStepConfig, NormalStepConfig, LoopStepConfig, ConditionStepConfig, ConditionBranch } from '../test-case-step.models';
4
4
  import { ViewDetailsPayload } from '../step-details-modal/step-details-modal-data';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class TestCaseStepGroupComponent implements OnInit, OnChanges, DoCheck {
@@ -8,6 +8,8 @@ export declare class TestCaseStepGroupComponent implements OnInit, OnChanges, Do
8
8
  config: StepGroupConfig;
9
9
  id: string;
10
10
  stepNumber: number | string;
11
+ /** Array index from parent renderer - use for editInDepth (stepNumber "10.3" parses wrong) */
12
+ index?: number;
11
13
  groupName: string;
12
14
  description?: string;
13
15
  reusable: boolean;
@@ -83,6 +85,7 @@ export declare class TestCaseStepGroupComponent implements OnInit, OnChanges, Do
83
85
  loopStepConfig: LoopStepConfig;
84
86
  }>;
85
87
  selectionChange: EventEmitter<boolean>;
88
+ deleteBranch: EventEmitter<ConditionBranch>;
86
89
  onDndDrop(event: DndDropEvent): void;
87
90
  ngOnInit(): void;
88
91
  ngOnChanges(changes: SimpleChanges): void;
@@ -132,5 +135,5 @@ export declare class TestCaseStepGroupComponent implements OnInit, OnChanges, Do
132
135
  onNestedConditionAddBranch(nestedStep: ConditionStepConfig, index: number): void;
133
136
  onNestedConditionDeleteBranch(nestedStep: ConditionStepConfig, branch: any, index: number): void;
134
137
  static ɵfac: i0.ɵɵFactoryDeclaration<TestCaseStepGroupComponent, never>;
135
- static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseStepGroupComponent, "cqa-test-case-step-group", never, { "config": "config"; "id": "id"; "stepNumber": "stepNumber"; "groupName": "groupName"; "description": "description"; "reusable": "reusable"; "nestedSteps": "nestedSteps"; "expanded": "expanded"; "isNested": "isNested"; "isInsideLoop": "isInsideLoop"; "isInsideStepGroup": "isInsideStepGroup"; "isReorder": "isReorder"; "selected": "selected"; "loading": "loading"; "dataProfileOptions": "dataProfileOptions"; "hasMoreDataProfiles": "hasMoreDataProfiles"; "isLoadingDataProfiles": "isLoadingDataProfiles"; "naturalTextActionsOptions": "naturalTextActionsOptions"; "addStepBetweenAbove": "addStepBetweenAbove"; "addStepBetweenBelow": "addStepBetweenBelow"; "addStepBetween": "addStepBetween"; }, { "toggleExpanded": "toggleExpanded"; "groupNameChange": "groupNameChange"; "descriptionChange": "descriptionChange"; "reusableChange": "reusableChange"; "nestedStepChange": "nestedStepChange"; "addStep": "addStep"; "deleteStep": "deleteStep"; "openExternal": "openExternal"; "edit": "edit"; "editInDepth": "editInDepth"; "link": "link"; "duplicate": "duplicate"; "delete": "delete"; "viewDetails": "viewDetails"; "dndDropInZone": "dndDropInZone"; "loadMoreDataProfiles": "loadMoreDataProfiles"; "searchDataProfiles": "searchDataProfiles"; "stepUpdate": "stepUpdate"; "addStepBetweenClick": "addStepBetweenClick"; "addStepForLoop": "addStepForLoop"; "selectionChange": "selectionChange"; }, never, never>;
138
+ static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseStepGroupComponent, "cqa-test-case-step-group", never, { "config": "config"; "id": "id"; "stepNumber": "stepNumber"; "index": "index"; "groupName": "groupName"; "description": "description"; "reusable": "reusable"; "nestedSteps": "nestedSteps"; "expanded": "expanded"; "isNested": "isNested"; "isInsideLoop": "isInsideLoop"; "isInsideStepGroup": "isInsideStepGroup"; "isReorder": "isReorder"; "selected": "selected"; "loading": "loading"; "dataProfileOptions": "dataProfileOptions"; "hasMoreDataProfiles": "hasMoreDataProfiles"; "isLoadingDataProfiles": "isLoadingDataProfiles"; "naturalTextActionsOptions": "naturalTextActionsOptions"; "addStepBetweenAbove": "addStepBetweenAbove"; "addStepBetweenBelow": "addStepBetweenBelow"; "addStepBetween": "addStepBetween"; }, { "toggleExpanded": "toggleExpanded"; "groupNameChange": "groupNameChange"; "descriptionChange": "descriptionChange"; "reusableChange": "reusableChange"; "nestedStepChange": "nestedStepChange"; "addStep": "addStep"; "deleteStep": "deleteStep"; "openExternal": "openExternal"; "edit": "edit"; "editInDepth": "editInDepth"; "link": "link"; "duplicate": "duplicate"; "delete": "delete"; "viewDetails": "viewDetails"; "dndDropInZone": "dndDropInZone"; "loadMoreDataProfiles": "loadMoreDataProfiles"; "searchDataProfiles": "searchDataProfiles"; "stepUpdate": "stepUpdate"; "addStepBetweenClick": "addStepBetweenClick"; "addStepForLoop": "addStepForLoop"; "selectionChange": "selectionChange"; "deleteBranch": "deleteBranch"; }, never, never>;
136
139
  }
@@ -5,6 +5,7 @@ import * as i0 from "@angular/core";
5
5
  export declare class TestCaseUploadStepComponent implements OnInit {
6
6
  config: UploadStepConfig;
7
7
  stepNumber: number | string;
8
+ index?: number;
8
9
  selector: string;
9
10
  fileName: string;
10
11
  source: 'Data Library' | 'Local' | 'URL';
@@ -38,5 +39,5 @@ export declare class TestCaseUploadStepComponent implements OnInit {
38
39
  onViewDetails(event?: MouseEvent): void;
39
40
  onSelectionChange(checked: boolean): void;
40
41
  static ɵfac: i0.ɵɵFactoryDeclaration<TestCaseUploadStepComponent, never>;
41
- static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseUploadStepComponent, "cqa-test-case-upload-step", never, { "config": "config"; "stepNumber": "stepNumber"; "selector": "selector"; "fileName": "fileName"; "source": "source"; "sourcePath": "sourcePath"; "description": "description"; "selected": "selected"; "disabled": "disabled"; "isNested": "isNested"; "isInsideStepGroup": "isInsideStepGroup"; "isInsideLoop": "isInsideLoop"; "isReorder": "isReorder"; }, { "edit": "edit"; "editInDepth": "editInDepth"; "link": "link"; "duplicate": "duplicate"; "delete": "delete"; "moreOptions": "moreOptions"; "viewDetails": "viewDetails"; "selectionChange": "selectionChange"; }, never, never>;
42
+ static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseUploadStepComponent, "cqa-test-case-upload-step", never, { "config": "config"; "stepNumber": "stepNumber"; "index": "index"; "selector": "selector"; "fileName": "fileName"; "source": "source"; "sourcePath": "sourcePath"; "description": "description"; "selected": "selected"; "disabled": "disabled"; "isNested": "isNested"; "isInsideStepGroup": "isInsideStepGroup"; "isInsideLoop": "isInsideLoop"; "isReorder": "isReorder"; }, { "edit": "edit"; "editInDepth": "editInDepth"; "link": "link"; "duplicate": "duplicate"; "delete": "delete"; "moreOptions": "moreOptions"; "viewDetails": "viewDetails"; "selectionChange": "selectionChange"; }, never, never>;
42
43
  }
@@ -5,6 +5,7 @@ import * as i0 from "@angular/core";
5
5
  export declare class TestCaseVerifyUrlStepComponent implements OnInit {
6
6
  config: VerifyUrlStepConfig;
7
7
  stepNumber: number | string;
8
+ index?: number;
8
9
  action?: string;
9
10
  url?: string;
10
11
  selected: boolean;
@@ -36,5 +37,5 @@ export declare class TestCaseVerifyUrlStepComponent implements OnInit {
36
37
  onViewDetails(event?: MouseEvent): void;
37
38
  onSelectionChange(checked: boolean): void;
38
39
  static ɵfac: i0.ɵɵFactoryDeclaration<TestCaseVerifyUrlStepComponent, never>;
39
- static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseVerifyUrlStepComponent, "cqa-test-case-verify-url-step", never, { "config": "config"; "stepNumber": "stepNumber"; "action": "action"; "url": "url"; "selected": "selected"; "disabled": "disabled"; "isNested": "isNested"; "isInsideStepGroup": "isInsideStepGroup"; "isInsideLoop": "isInsideLoop"; "isReorder": "isReorder"; }, { "edit": "edit"; "editInDepth": "editInDepth"; "link": "link"; "duplicate": "duplicate"; "delete": "delete"; "moreOptions": "moreOptions"; "viewDetails": "viewDetails"; "selectionChange": "selectionChange"; }, never, never>;
40
+ static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseVerifyUrlStepComponent, "cqa-test-case-verify-url-step", never, { "config": "config"; "stepNumber": "stepNumber"; "index": "index"; "action": "action"; "url": "url"; "selected": "selected"; "disabled": "disabled"; "isNested": "isNested"; "isInsideStepGroup": "isInsideStepGroup"; "isInsideLoop": "isInsideLoop"; "isReorder": "isReorder"; }, { "edit": "edit"; "editInDepth": "editInDepth"; "link": "link"; "duplicate": "duplicate"; "delete": "delete"; "moreOptions": "moreOptions"; "viewDetails": "viewDetails"; "selectionChange": "selectionChange"; }, never, never>;
40
41
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cqa-lib/cqa-ui",
3
- "version": "1.1.292",
3
+ "version": "1.1.294",
4
4
  "description": "UI Kit library for Angular 13.4",
5
5
  "keywords": [
6
6
  "angular",