@cqa-lib/cqa-ui 1.1.229 → 1.1.232

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 (28) hide show
  1. package/esm2020/lib/add-prerequisite-cases-section/add-prerequisite-cases-section.component.mjs +14 -6
  2. package/esm2020/lib/execution-screen/ai-action-step/ai-action-step.component.mjs +3 -5
  3. package/esm2020/lib/execution-screen/ai-agent-step/ai-agent-step.component.mjs +3 -5
  4. package/esm2020/lib/execution-screen/api-step/api-step.component.mjs +3 -5
  5. package/esm2020/lib/execution-screen/basic-step/basic-step.component.mjs +3 -5
  6. package/esm2020/lib/execution-screen/condition-step/condition-step.component.mjs +3 -5
  7. package/esm2020/lib/execution-screen/db-verification-step/db-verification-step.component.mjs +3 -5
  8. package/esm2020/lib/execution-screen/document-verification-step/document-verification-step.component.mjs +3 -5
  9. package/esm2020/lib/execution-screen/failed-step/failed-step.component.mjs +3 -5
  10. package/esm2020/lib/execution-screen/file-download-step/file-download-step.component.mjs +3 -5
  11. package/esm2020/lib/execution-screen/live-execution-step/live-execution-step.component.mjs +3 -5
  12. package/esm2020/lib/execution-screen/loop-step/loop-step.component.mjs +31 -21
  13. package/esm2020/lib/execution-screen/main-step-collapse/main-step-collapse.component.mjs +3 -5
  14. package/esm2020/lib/execution-screen/step-group/step-group.component.mjs +3 -5
  15. package/esm2020/lib/execution-screen/step-renderer/step-renderer.component.mjs +74 -4
  16. package/esm2020/lib/test-case-details/delete-steps/delete-steps.component.mjs +11 -3
  17. package/esm2020/lib/test-case-details/test-case-details-edit/test-case-details-edit.component.mjs +3 -3
  18. package/esm2020/lib/test-case-details/test-case-details.component.mjs +3 -3
  19. package/fesm2015/cqa-lib-cqa-ui.mjs +157 -86
  20. package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
  21. package/fesm2020/cqa-lib-cqa-ui.mjs +154 -82
  22. package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
  23. package/lib/add-prerequisite-cases-section/add-prerequisite-cases-section.component.d.ts +5 -1
  24. package/lib/execution-screen/loop-step/loop-step.component.d.ts +5 -1
  25. package/lib/execution-screen/step-renderer/step-renderer.component.d.ts +4 -0
  26. package/lib/test-case-details/delete-steps/delete-steps.component.d.ts +2 -0
  27. package/package.json +1 -1
  28. package/styles.css +1 -1
@@ -45,6 +45,8 @@ export declare class AddPrerequisiteCasesSectionComponent {
45
45
  addTriggerText: string;
46
46
  /** When true, hide Add Prerequisite button even if rows are empty (e.g. when collapsing after update with existing prerequisites) */
47
47
  hideAddPrerequisite: boolean;
48
+ /** When provided, controls Update button disabled state. Use for dirty-state validation (enable when form changed). When undefined, falls back to !allRowsHaveValues(). */
49
+ updateDisabled: boolean | undefined;
48
50
  /** Validation message shown when Add Another/Update are disabled (not all rows have values) */
49
51
  selectFirstValidationMessage: string;
50
52
  /** Optional custom template for the select slot. Use ng-template #selectBody with let-row, let-index, let-form, let-config. */
@@ -88,9 +90,11 @@ export declare class AddPrerequisiteCasesSectionComponent {
88
90
  }, index: number): void;
89
91
  /** True when every row has a non-empty value (no placeholders) */
90
92
  allRowsHaveValues(): boolean;
93
+ /** Computed disabled state for Update button. Uses updateDisabled input if provided, else falls back to !allRowsHaveValues(). */
94
+ isUpdateDisabled(): boolean;
91
95
  /** Emits all current prerequisite selections (key + value) in row order */
92
96
  private emitAllPrerequisites;
93
97
  getConfig(index: number): DynamicSelectFieldConfig;
94
98
  static ɵfac: i0.ɵɵFactoryDeclaration<AddPrerequisiteCasesSectionComponent, never>;
95
- static ɵcmp: i0.ɵɵComponentDeclaration<AddPrerequisiteCasesSectionComponent, "cqa-add-prerequisite-cases-section", never, { "expanded": "expanded"; "form": "form"; "rows": "rows"; "options": "options"; "getSelectConfig": "getSelectConfig"; "label": "label"; "infoTooltip": "infoTooltip"; "addAnotherText": "addAnotherText"; "updateText": "updateText"; "cancelText": "cancelText"; "addTriggerText": "addTriggerText"; "hideAddPrerequisite": "hideAddPrerequisite"; "selectFirstValidationMessage": "selectFirstValidationMessage"; }, { "expandedChange": "expandedChange"; "addRow": "addRow"; "removeRow": "removeRow"; "rowsReordered": "rowsReordered"; "update": "update"; "cancel": "cancel"; "selectionChange": "selectionChange"; "prerequisitesChange": "prerequisitesChange"; }, ["selectBodyTpl"], never>;
99
+ static ɵcmp: i0.ɵɵComponentDeclaration<AddPrerequisiteCasesSectionComponent, "cqa-add-prerequisite-cases-section", never, { "expanded": "expanded"; "form": "form"; "rows": "rows"; "options": "options"; "getSelectConfig": "getSelectConfig"; "label": "label"; "infoTooltip": "infoTooltip"; "addAnotherText": "addAnotherText"; "updateText": "updateText"; "cancelText": "cancelText"; "addTriggerText": "addTriggerText"; "hideAddPrerequisite": "hideAddPrerequisite"; "updateDisabled": "updateDisabled"; "selectFirstValidationMessage": "selectFirstValidationMessage"; }, { "expandedChange": "expandedChange"; "addRow": "addRow"; "removeRow": "removeRow"; "rowsReordered": "rowsReordered"; "update": "update"; "cancel": "cancel"; "selectionChange": "selectionChange"; "prerequisitesChange": "prerequisitesChange"; }, ["selectBodyTpl"], never>;
96
100
  }
@@ -113,6 +113,8 @@ export declare class LoopStepComponent extends BaseStepComponent implements OnIn
113
113
  private userSelectedIterationId;
114
114
  private previousStatus?;
115
115
  private userManuallyClosed;
116
+ /** Tracks the array length seen last cycle so in-place pushes are detected without a reference change. */
117
+ private lastNestedStepsLength;
116
118
  loadingSteps: Set<string>;
117
119
  processedSubSteps: any[];
118
120
  private lastProcessedIndex;
@@ -122,6 +124,7 @@ export declare class LoopStepComponent extends BaseStepComponent implements OnIn
122
124
  processedSubStepsForRunResult: any[];
123
125
  ngOnInit(): void;
124
126
  ngOnChanges(changes: SimpleChanges): void;
127
+ ngDoCheck(): void;
125
128
  private autoExpand;
126
129
  get hasSubSteps(): boolean;
127
130
  toggle(): void;
@@ -146,6 +149,8 @@ export declare class LoopStepComponent extends BaseStepComponent implements OnIn
146
149
  onAddStepOptionSelect(option: AddStepMenuOption, event: Event): void;
147
150
  onStepMoreOptionSelect(option: StepMoreMenuOption, event: Event): void;
148
151
  toggleHeader(event?: Event): void;
152
+ /** trackBy for the nested-steps *ngFor — keeps existing views alive when a step gets a new object reference. */
153
+ trackNestedStep(_index: number, step: any): any;
149
154
  isNestedStepGroupWithChildren(step: ExecutionStepConfig): boolean;
150
155
  getGroupName(step: ExecutionStepConfig): string;
151
156
  getSteps(step: ExecutionStepConfig): ExecutionStepConfig[];
@@ -177,7 +182,6 @@ export declare class LoopStepComponent extends BaseStepComponent implements OnIn
177
182
  getLoopShowViewAllIterations(step: ExecutionStepConfig): boolean | undefined;
178
183
  isStepLoading(): boolean;
179
184
  onJumpToTimestamp(event: Event): void;
180
- ngDoCheck(): void;
181
185
  ngOnDestroy(): void;
182
186
  private processLiveSubSteps;
183
187
  private resetLiveProcessing;
@@ -104,6 +104,10 @@ export declare class StepRendererComponent implements OnChanges, AfterViewInit,
104
104
  private lastStepId;
105
105
  private lastStepType;
106
106
  private previousStepKey;
107
+ /** Tracks the last status seen during live execution so in-place mutations are detected in ngDoCheck. */
108
+ private lastTrackedStatus;
109
+ /** Tracks editable property values in debug mode so in-place mutations after dialog saves are propagated. */
110
+ private lastTrackedEditProps;
107
111
  constructor(componentMap: Map<string, Type<any>>, cdr: ChangeDetectorRef);
108
112
  ngOnChanges(changes: SimpleChanges): void;
109
113
  ngAfterViewInit(): void;
@@ -37,6 +37,8 @@ export declare class DeleteStepsComponent {
37
37
  getStepImage(step: TestCaseStepConfig): string | null;
38
38
  /** Check if step has an image */
39
39
  hasStepImage(step: TestCaseStepConfig): boolean;
40
+ /** Get step number from step data, falling back to index + 1 */
41
+ getStepNumber(step: TestCaseStepConfig, index: number): number | string;
40
42
  static ɵfac: i0.ɵɵFactoryDeclaration<DeleteStepsComponent, [{ optional: true; }]>;
41
43
  static ɵcmp: i0.ɵɵComponentDeclaration<DeleteStepsComponent, "cqa-delete-steps", never, {}, { "confirmDelete": "confirmDelete"; "cancelled": "cancelled"; }, never, never>;
42
44
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cqa-lib/cqa-ui",
3
- "version": "1.1.229",
3
+ "version": "1.1.232",
4
4
  "description": "UI Kit library for Angular 13.4",
5
5
  "keywords": [
6
6
  "angular",