@cqa-lib/cqa-ui 1.1.273 → 1.1.274

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.
@@ -16,6 +16,8 @@ export interface DocumentFormData {
16
16
  seprator?: string;
17
17
  delimeter?: string;
18
18
  fileFormatHeader?: string;
19
+ /** Description for the document generation step */
20
+ description?: string;
19
21
  templateSource: TemplateSourceType;
20
22
  templateId?: string;
21
23
  /** Uploaded template file when templateSource is 'upload' */
@@ -69,6 +71,8 @@ export declare class StepBuilderDocumentComponent implements OnInit, OnChanges {
69
71
  initialDelimeter?: string;
70
72
  /** Initial file format header for edit mode */
71
73
  initialFileFormatHeader?: string;
74
+ /** Initial description for edit mode */
75
+ initialDescription?: string;
72
76
  /** Whether in edit mode */
73
77
  editMode?: boolean;
74
78
  /** Whether the help tooltip is visible */
@@ -126,5 +130,5 @@ export declare class StepBuilderDocumentComponent implements OnInit, OnChanges {
126
130
  onCreateStep(): void;
127
131
  onMapperHelpClick(event: Event): void;
128
132
  static ɵfac: i0.ɵɵFactoryDeclaration<StepBuilderDocumentComponent, never>;
129
- static ɵcmp: i0.ɵɵComponentDeclaration<StepBuilderDocumentComponent, "cqa-step-builder-document", never, { "documentTypeOptions": "documentTypeOptions"; "templateOptions": "templateOptions"; "valueTypeOptions": "valueTypeOptions"; "delimeterTypeOptions": "delimeterTypeOptions"; "setAdvancedSettingsVariables": "setAdvancedSettingsVariables"; "template": "template"; "testStep": "testStep"; "mapperHelpUrl": "mapperHelpUrl"; "mapperHelpTooltipText": "mapperHelpTooltipText"; "initialDocumentType": "initialDocumentType"; "initialOutputVariable": "initialOutputVariable"; "initialTemplateSource": "initialTemplateSource"; "initialTemplateId": "initialTemplateId"; "initialTemplateName": "initialTemplateName"; "initialTemplateDescription": "initialTemplateDescription"; "initialMappings": "initialMappings"; "initialFileName": "initialFileName"; "initialSeprator": "initialSeprator"; "initialDelimeter": "initialDelimeter"; "initialFileFormatHeader": "initialFileFormatHeader"; "editMode": "editMode"; }, { "createStep": "createStep"; "cancelled": "cancelled"; "createTemplate": "createTemplate"; }, never, never>;
133
+ static ɵcmp: i0.ɵɵComponentDeclaration<StepBuilderDocumentComponent, "cqa-step-builder-document", never, { "documentTypeOptions": "documentTypeOptions"; "templateOptions": "templateOptions"; "valueTypeOptions": "valueTypeOptions"; "delimeterTypeOptions": "delimeterTypeOptions"; "setAdvancedSettingsVariables": "setAdvancedSettingsVariables"; "template": "template"; "testStep": "testStep"; "mapperHelpUrl": "mapperHelpUrl"; "mapperHelpTooltipText": "mapperHelpTooltipText"; "initialDocumentType": "initialDocumentType"; "initialOutputVariable": "initialOutputVariable"; "initialTemplateSource": "initialTemplateSource"; "initialTemplateId": "initialTemplateId"; "initialTemplateName": "initialTemplateName"; "initialTemplateDescription": "initialTemplateDescription"; "initialMappings": "initialMappings"; "initialFileName": "initialFileName"; "initialSeprator": "initialSeprator"; "initialDelimeter": "initialDelimeter"; "initialFileFormatHeader": "initialFileFormatHeader"; "initialDescription": "initialDescription"; "editMode": "editMode"; }, { "createStep": "createStep"; "cancelled": "cancelled"; "createTemplate": "createTemplate"; }, never, never>;
130
134
  }
@@ -35,6 +35,9 @@ export declare class TableActionToolbarComponent {
35
35
  }>;
36
36
  selectAllChange: EventEmitter<boolean>;
37
37
  dismiss: EventEmitter<void>;
38
+ /** Cooldown ms to prevent double-click from firing the same action twice */
39
+ private lastActionEmit;
40
+ private static readonly ACTION_COOLDOWN_MS;
38
41
  get hasSelection(): boolean;
39
42
  get isSingleSelection(): boolean;
40
43
  get selectionLabel(): string;
@@ -36,8 +36,12 @@ export declare class TestCaseConditionStepComponent implements OnInit, OnChanges
36
36
  addStepBetweenBelow: boolean;
37
37
  /** @deprecated Use addStepBetweenAbove and addStepBetweenBelow instead. If set, applies to both buttons. */
38
38
  addStepBetween: boolean;
39
- /** When true, header shows inline edit form (fields, operator select, Cancel/Apply) */
40
- isEditing: boolean;
39
+ /** When non-null, edit mode is open: 'stepRow' = edit UI in step row only, 'branchRow' = edit UI in branch row only */
40
+ editContext: 'stepRow' | 'branchRow' | null;
41
+ /** Which branch index is being edited when editContext === 'branchRow' (0 = IF TRUE, 1+ = ELSE IF) */
42
+ editingBranchIndex: number;
43
+ /** True when editContext is set (either step row or branch row edit). */
44
+ get isEditing(): boolean;
41
45
  /** Array of ELSE IF branches in edit mode */
42
46
  elseIfBranches: Array<{
43
47
  id: string;
@@ -159,6 +163,13 @@ export declare class TestCaseConditionStepComponent implements OnInit, OnChanges
159
163
  private buildConditionFromForm;
160
164
  onEditFormFieldChange(controlName: string, value: string): void;
161
165
  getStepsSummary(): string;
166
+ /** Branch type badges for step row: IF, ELSE IF (with count if multiple), ELSE */
167
+ getBranchTypeBadges(): {
168
+ label: string;
169
+ count?: number;
170
+ type: 'if' | 'else-if' | 'else';
171
+ badgeClass: string;
172
+ }[];
162
173
  /** Event key-value pairs for display, excluding customEvent */
163
174
  getEventDetailsForDisplay(): {
164
175
  key: string;
@@ -193,11 +204,26 @@ export declare class TestCaseConditionStepComponent implements OnInit, OnChanges
193
204
  isConditionStep(step: TestCaseStepConfig): step is ConditionStepConfig;
194
205
  isStepGroup(step: TestCaseStepConfig): step is StepGroupConfig;
195
206
  getBranchLabel(branch: ConditionBranch): string;
207
+ /** Condition text for branch header display: IF uses main condition, ELSE IF/ELSE use branch.action */
208
+ getBranchConditionDisplay(branch: ConditionBranch): string;
209
+ /** Start marker label for each branch: START IF, START ELSE IF, or START ELSE */
210
+ getStartBranchLabel(branch: ConditionBranch): string;
211
+ /** End marker label for each branch: END IF, END ELSE IF, or END ELSE */
212
+ getEndBranchLabel(branch: ConditionBranch): string;
196
213
  /** 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). */
197
214
  getBranchDisplayNumber(branchIndex: number): number;
198
215
  getBranchColorClass(branch: ConditionBranch): string;
199
216
  getBranchTextColor(branch: ConditionBranch): string;
217
+ /** True when condition already has an ELSE branch (disables Add ELSE IF / Add ELSE). */
218
+ get hasElseBranch(): boolean;
200
219
  onOpenExternal(): void;
220
+ /** Shared init for edit mode; then call onEditFromStepRow or onEditFromBranchRow to set context. */
221
+ private initEditForm;
222
+ /** Edit from step row: edit UI appears in the step row only (first branch stays read-only). */
223
+ onEditFromStepRow(): void;
224
+ /** Edit from branch row: edit UI appears in that branch row (IF TRUE or ELSE IF). */
225
+ onEditFromBranchRow(branchIndex?: number): void;
226
+ /** @deprecated Use onEditFromStepRow or onEditFromBranchRow. Kept for compatibility. */
201
227
  onEdit(): void;
202
228
  onEditCancel(): void;
203
229
  /**
@@ -176,6 +176,7 @@ export declare class TestCaseLoopStepComponent implements OnInit, OnChanges {
176
176
  getLoopTypeLabel(): string;
177
177
  isWhileLoop(): boolean;
178
178
  isForLoop(): boolean;
179
+ getStartLabel(): string;
179
180
  getEndLabel(): string;
180
181
  /** Resolve display start index: prefer forLoopStartIndex from step (or dataMapJson/dataMapBean), else startStep, else from nested steps */
181
182
  private getDisplayStartIndex;
@@ -197,6 +198,10 @@ export declare class TestCaseLoopStepComponent implements OnInit, OnChanges {
197
198
  getStartStepLabel(): string;
198
199
  getEndStepLabel(): string;
199
200
  getTestDataProfileLabel(): string;
201
+ /** Combined display for for loop with HTML badges - supports test_data badges like condition step */
202
+ getForLoopDisplay(): string;
203
+ private escapeForLoopHtml;
204
+ /** Full display for while loop: "While element ".selector" exists (max N iterations)" - supports HTML badges via innerHTML */
200
205
  getConditionDisplay(): string;
201
206
  onToggleExpanded(): void;
202
207
  onTestDataProfileChange(value: string): void;
@@ -140,6 +140,8 @@ export interface LoopStepConfig extends BaseStepConfig {
140
140
  forLoopStartIndex?: number;
141
141
  forLoopEndIndex?: number;
142
142
  forLoopTestDataId?: number;
143
+ /** FOR loop: optional HTML string for display (e.g. with test_data badges). When set, used instead of building from values. */
144
+ forLoopDisplayHtml?: string;
143
145
  nestedSteps: TestCaseStepConfig[];
144
146
  childId?: string;
145
147
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cqa-lib/cqa-ui",
3
- "version": "1.1.273",
3
+ "version": "1.1.274",
4
4
  "description": "UI Kit library for Angular 13.4",
5
5
  "keywords": [
6
6
  "angular",