@cqa-lib/cqa-ui 1.1.273 → 1.1.275

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;
@@ -128,6 +132,8 @@ export declare class TestCaseConditionStepComponent implements OnInit, OnChanges
128
132
  }>;
129
133
  selectionChange: EventEmitter<boolean>;
130
134
  onDndDrop(event: DndDropEvent, branch: ConditionBranch): void;
135
+ /** Emit clickAction when user clicks on condition/branch action badges (element, test_data, etc.) so parent can open edit modals */
136
+ onConditionActionClick(event: MouseEvent, branch?: ConditionBranch): void;
131
137
  constructor(fb: FormBuilder, cdr: ChangeDetectorRef);
132
138
  ngOnInit(): void;
133
139
  ngOnChanges(changes: any): void;
@@ -159,6 +165,13 @@ export declare class TestCaseConditionStepComponent implements OnInit, OnChanges
159
165
  private buildConditionFromForm;
160
166
  onEditFormFieldChange(controlName: string, value: string): void;
161
167
  getStepsSummary(): string;
168
+ /** Branch type badges for step row: IF, ELSE IF (with count if multiple), ELSE */
169
+ getBranchTypeBadges(): {
170
+ label: string;
171
+ count?: number;
172
+ type: 'if' | 'else-if' | 'else';
173
+ badgeClass: string;
174
+ }[];
162
175
  /** Event key-value pairs for display, excluding customEvent */
163
176
  getEventDetailsForDisplay(): {
164
177
  key: string;
@@ -193,11 +206,26 @@ export declare class TestCaseConditionStepComponent implements OnInit, OnChanges
193
206
  isConditionStep(step: TestCaseStepConfig): step is ConditionStepConfig;
194
207
  isStepGroup(step: TestCaseStepConfig): step is StepGroupConfig;
195
208
  getBranchLabel(branch: ConditionBranch): string;
209
+ /** Condition text for branch header display: IF uses main condition, ELSE IF/ELSE use branch.action */
210
+ getBranchConditionDisplay(branch: ConditionBranch): string;
211
+ /** Start marker label for each branch: START IF, START ELSE IF, or START ELSE */
212
+ getStartBranchLabel(branch: ConditionBranch): string;
213
+ /** End marker label for each branch: END IF, END ELSE IF, or END ELSE */
214
+ getEndBranchLabel(branch: ConditionBranch): string;
196
215
  /** 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
216
  getBranchDisplayNumber(branchIndex: number): number;
198
217
  getBranchColorClass(branch: ConditionBranch): string;
199
218
  getBranchTextColor(branch: ConditionBranch): string;
219
+ /** True when condition already has an ELSE branch (disables Add ELSE IF / Add ELSE). */
220
+ get hasElseBranch(): boolean;
200
221
  onOpenExternal(): void;
222
+ /** Shared init for edit mode; then call onEditFromStepRow or onEditFromBranchRow to set context. */
223
+ private initEditForm;
224
+ /** Edit from step row: edit UI appears in the step row only (first branch stays read-only). */
225
+ onEditFromStepRow(): void;
226
+ /** Edit from branch row: edit UI appears in that branch row (IF TRUE or ELSE IF). */
227
+ onEditFromBranchRow(branchIndex?: number): void;
228
+ /** @deprecated Use onEditFromStepRow or onEditFromBranchRow. Kept for compatibility. */
201
229
  onEdit(): void;
202
230
  onEditCancel(): void;
203
231
  /**
@@ -92,6 +92,8 @@ export declare class TestCaseLoopStepComponent implements OnInit, OnChanges {
92
92
  }>;
93
93
  selectionChange: EventEmitter<boolean>;
94
94
  onDndDrop(event: DndDropEvent): void;
95
+ /** Emit clickAction when user clicks on loop display badges (element, test_data, etc.) so parent can open edit modals */
96
+ onLoopActionClick(event: MouseEvent): void;
95
97
  /** Expose global constructors for template (Angular templates don't have String/Number) */
96
98
  readonly stringFn: StringConstructor;
97
99
  readonly numberFn: NumberConstructor;
@@ -176,6 +178,7 @@ export declare class TestCaseLoopStepComponent implements OnInit, OnChanges {
176
178
  getLoopTypeLabel(): string;
177
179
  isWhileLoop(): boolean;
178
180
  isForLoop(): boolean;
181
+ getStartLabel(): string;
179
182
  getEndLabel(): string;
180
183
  /** Resolve display start index: prefer forLoopStartIndex from step (or dataMapJson/dataMapBean), else startStep, else from nested steps */
181
184
  private getDisplayStartIndex;
@@ -197,6 +200,10 @@ export declare class TestCaseLoopStepComponent implements OnInit, OnChanges {
197
200
  getStartStepLabel(): string;
198
201
  getEndStepLabel(): string;
199
202
  getTestDataProfileLabel(): string;
203
+ /** Combined display for for loop with HTML badges - supports test_data badges like condition step; data-key/data-event-key enable click-to-edit */
204
+ getForLoopDisplay(): string;
205
+ private escapeForLoopHtml;
206
+ /** Full display for while loop: "While element ".selector" exists (max N iterations)" - supports HTML badges via innerHTML */
200
207
  getConditionDisplay(): string;
201
208
  onToggleExpanded(): void;
202
209
  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.275",
4
4
  "description": "UI Kit library for Angular 13.4",
5
5
  "keywords": [
6
6
  "angular",