@cqa-lib/cqa-ui 1.1.258 → 1.1.260

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 (31) hide show
  1. package/esm2020/lib/detail-side-panel/detail-side-panel.component.mjs +7 -3
  2. package/esm2020/lib/step-builder/advanced-variables-form/advanced-variables-form.component.mjs +107 -5
  3. package/esm2020/lib/step-builder/step-builder-action/step-builder-action.component.mjs +144 -18
  4. package/esm2020/lib/step-builder/step-builder-condition/step-builder-condition.component.mjs +176 -6
  5. package/esm2020/lib/step-builder/step-builder-custom-code/step-builder-custom-code.component.mjs +102 -7
  6. package/esm2020/lib/step-builder/step-builder-document/step-builder-document.component.mjs +113 -7
  7. package/esm2020/lib/step-builder/step-builder-loop/step-builder-loop.component.mjs +7 -3
  8. package/esm2020/lib/step-builder/template-variables-form/template-variables-form.component.mjs +3 -3
  9. package/esm2020/lib/test-case-details/element-list/element-list.component.mjs +3 -3
  10. package/esm2020/lib/test-case-details/element-popup/element-form/element-form.component.mjs +3 -3
  11. package/esm2020/lib/test-case-details/element-popup/element-popup.component.mjs +6 -5
  12. package/esm2020/lib/test-case-details/loop-step/loop-step.component.mjs +7 -1
  13. package/esm2020/lib/test-case-details/test-case-details-edit/test-case-details-edit.component.mjs +88 -13
  14. package/esm2020/lib/test-case-details/test-case-details.component.mjs +16 -3
  15. package/esm2020/lib/test-case-details/test-case-details.models.mjs +20 -10
  16. package/fesm2015/cqa-lib-cqa-ui.mjs +863 -141
  17. package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
  18. package/fesm2020/cqa-lib-cqa-ui.mjs +822 -121
  19. package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
  20. package/lib/detail-side-panel/detail-side-panel.component.d.ts +3 -1
  21. package/lib/step-builder/advanced-variables-form/advanced-variables-form.component.d.ts +43 -2
  22. package/lib/step-builder/step-builder-action/step-builder-action.component.d.ts +8 -1
  23. package/lib/step-builder/step-builder-condition/step-builder-condition.component.d.ts +14 -1
  24. package/lib/step-builder/step-builder-custom-code/step-builder-custom-code.component.d.ts +12 -2
  25. package/lib/step-builder/step-builder-document/step-builder-document.component.d.ts +15 -1
  26. package/lib/step-builder/step-builder-loop/step-builder-loop.component.d.ts +3 -1
  27. package/lib/test-case-details/test-case-details-edit/test-case-details-edit.component.d.ts +5 -1
  28. package/lib/test-case-details/test-case-details.component.d.ts +7 -1
  29. package/lib/test-case-details/test-case-details.models.d.ts +2 -0
  30. package/package.json +1 -1
  31. package/styles.css +1 -1
@@ -27,6 +27,8 @@ export declare class DetailSidePanelComponent {
27
27
  configSectionsRow2: DetailSidePanelConfigSection[];
28
28
  /** Platform: 'web' or 'mobile'. Defaults to 'web'. Used for Device Settings. */
29
29
  platform: 'web' | 'mobile';
30
+ /** When true, hides Priority, Type, Test Data Set, and Prerequisite Case (step groups don't have these). Defaults to false. */
31
+ isStepGroup: boolean;
30
32
  /** Configuration section title */
31
33
  configTitle: string;
32
34
  /** Whether to show the close button in the side menu */
@@ -91,5 +93,5 @@ export declare class DetailSidePanelComponent {
91
93
  onMetadataLinkClick(item: DetailSidePanelMetadataItem): void;
92
94
  getStatusDotClass(item: DetailSidePanelMetadataItem): string;
93
95
  static ɵfac: i0.ɵɵFactoryDeclaration<DetailSidePanelComponent, never>;
94
- static ɵcmp: i0.ɵɵComponentDeclaration<DetailSidePanelComponent, "cqa-detail-side-panel", never, { "tabs": "tabs"; "activeTab": "activeTab"; "descriptionTitle": "descriptionTitle"; "descriptionContent": "descriptionContent"; "enableMarkdown": "enableMarkdown"; "showEditButton": "showEditButton"; "metadataItems": "metadataItems"; "labels": "labels"; "configSections": "configSections"; "configSectionsRow2": "configSectionsRow2"; "platform": "platform"; "configTitle": "configTitle"; "showCloseButton": "showCloseButton"; "startInEditMode": "startInEditMode"; "editing": "editing"; "selectConfigOverrides": "selectConfigOverrides"; "expanded": "expanded"; "expandedWidth": "expandedWidth"; "collapsedWidth": "collapsedWidth"; "expandTooltip": "expandTooltip"; "collapseTooltip": "collapseTooltip"; "closeTooltip": "closeTooltip"; }, { "back": "back"; "tabChange": "tabChange"; "editDescription": "editDescription"; "cancel": "cancel"; "saveChanges": "saveChanges"; "metadataLinkClick": "metadataLinkClick"; "selectSearch": "selectSearch"; "selectLoadMore": "selectLoadMore"; "selectOpened": "selectOpened"; "selectionChange": "selectionChange"; "labelAdded": "labelAdded"; "expandToggle": "expandToggle"; "close": "close"; }, never, never>;
96
+ static ɵcmp: i0.ɵɵComponentDeclaration<DetailSidePanelComponent, "cqa-detail-side-panel", never, { "tabs": "tabs"; "activeTab": "activeTab"; "descriptionTitle": "descriptionTitle"; "descriptionContent": "descriptionContent"; "enableMarkdown": "enableMarkdown"; "showEditButton": "showEditButton"; "metadataItems": "metadataItems"; "labels": "labels"; "configSections": "configSections"; "configSectionsRow2": "configSectionsRow2"; "platform": "platform"; "isStepGroup": "isStepGroup"; "configTitle": "configTitle"; "showCloseButton": "showCloseButton"; "startInEditMode": "startInEditMode"; "editing": "editing"; "selectConfigOverrides": "selectConfigOverrides"; "expanded": "expanded"; "expandedWidth": "expandedWidth"; "collapsedWidth": "collapsedWidth"; "expandTooltip": "expandTooltip"; "collapseTooltip": "collapseTooltip"; "closeTooltip": "closeTooltip"; }, { "back": "back"; "tabChange": "tabChange"; "editDescription": "editDescription"; "cancel": "cancel"; "saveChanges": "saveChanges"; "metadataLinkClick": "metadataLinkClick"; "selectSearch": "selectSearch"; "selectLoadMore": "selectLoadMore"; "selectOpened": "selectOpened"; "selectionChange": "selectionChange"; "labelAdded": "labelAdded"; "expandToggle": "expandToggle"; "close": "close"; }, never, never>;
95
97
  }
@@ -4,7 +4,8 @@ import * as i0 from "@angular/core";
4
4
  export interface AdvancedVariable {
5
5
  name: string;
6
6
  label: string;
7
- value: boolean;
7
+ value: boolean | string[];
8
+ type?: string;
8
9
  }
9
10
  export declare class AdvancedVariablesFormComponent implements OnChanges {
10
11
  advancedVariables: AdvancedVariable[];
@@ -13,6 +14,10 @@ export declare class AdvancedVariablesFormComponent implements OnChanges {
13
14
  name: string;
14
15
  value: boolean;
15
16
  }>;
17
+ variableValueChange: EventEmitter<{
18
+ name: string;
19
+ value: any;
20
+ }>;
16
21
  ngOnChanges(changes: SimpleChanges): void;
17
22
  /**
18
23
  * Get the FormGroup at a specific index
@@ -22,14 +27,50 @@ export declare class AdvancedVariablesFormComponent implements OnChanges {
22
27
  * Get the value from form or variable
23
28
  */
24
29
  getBooleanValue(variable: AdvancedVariable, index: number): boolean;
30
+ /**
31
+ * Get the value from form or variable (for non-boolean types)
32
+ */
33
+ getValue(variable: AdvancedVariable, index: number): any;
34
+ /**
35
+ * Check if variable is boolean type
36
+ */
37
+ isBooleanType(variable: AdvancedVariable): boolean;
38
+ /**
39
+ * Check if variable is str_list type
40
+ */
41
+ isStrListType(variable: AdvancedVariable): boolean;
25
42
  /**
26
43
  * Handle boolean value change
27
44
  */
28
45
  onVariableBooleanChange(variableName: string, value: boolean): void;
46
+ /**
47
+ * Handle value change for non-boolean types
48
+ */
49
+ onVariableValueChange(variableName: string, value: any): void;
50
+ /**
51
+ * Handle adding a new item to str_list
52
+ */
53
+ addStrListItem(variable: AdvancedVariable, index: number): void;
54
+ /**
55
+ * Handle removing an item from str_list
56
+ */
57
+ removeStrListItem(variable: AdvancedVariable, index: number, itemIndex: number): void;
58
+ /**
59
+ * Handle str_list item value change
60
+ */
61
+ onStrListItemChange(variable: AdvancedVariable, index: number, itemIndex: number, value: string): void;
62
+ /**
63
+ * Get FormArray for str_list variable
64
+ */
65
+ getStrListFormArray(variable: AdvancedVariable, index: number): FormArray | null;
29
66
  /**
30
67
  * Track by function for ngFor
31
68
  */
32
69
  trackByVariable(index: number, variable: AdvancedVariable): string;
70
+ /**
71
+ * Track by function for form controls in str_list
72
+ */
73
+ trackByControl(index: number, control: any): any;
33
74
  static ɵfac: i0.ɵɵFactoryDeclaration<AdvancedVariablesFormComponent, never>;
34
- static ɵcmp: i0.ɵɵComponentDeclaration<AdvancedVariablesFormComponent, "cqa-advanced-variables-form", never, { "advancedVariables": "advancedVariables"; "advancedVariableForm": "advancedVariableForm"; }, { "variableBooleanChange": "variableBooleanChange"; }, never, never>;
75
+ static ɵcmp: i0.ɵɵComponentDeclaration<AdvancedVariablesFormComponent, "cqa-advanced-variables-form", never, { "advancedVariables": "advancedVariables"; "advancedVariableForm": "advancedVariableForm"; }, { "variableBooleanChange": "variableBooleanChange"; "variableValueChange": "variableValueChange"; }, never, never>;
35
76
  }
@@ -48,6 +48,8 @@ export declare class StepBuilderActionComponent implements OnInit, OnChanges, On
48
48
  searchPlaceholder: string;
49
49
  /** Function to handle variable processing or custom logic. Can be passed from parent component. */
50
50
  setTemplateVariables: (variables: ActionTemplate) => any;
51
+ /** Function to handle advanced settings variables. Can be passed from parent component. */
52
+ setAdvancedSettingsVariables: (template: ActionTemplate, testStep?: any) => any[];
51
53
  preventSelectTemplate: string[];
52
54
  elementOptions: Element[];
53
55
  hasMoreElements: boolean;
@@ -111,6 +113,8 @@ export declare class StepBuilderActionComponent implements OnInit, OnChanges, On
111
113
  advancedExpanded: boolean;
112
114
  templateVariables: TemplateVariable[];
113
115
  variablesForm: FormArray;
116
+ advancedSettingsVariables: any[];
117
+ advancedVariablesForm: FormArray;
114
118
  updatedHtmlGrammar: string;
115
119
  createElementVisible: boolean;
116
120
  templateVariablesForm?: TemplateVariablesFormComponent;
@@ -139,6 +143,7 @@ export declare class StepBuilderActionComponent implements OnInit, OnChanges, On
139
143
  private stripHtmlTags;
140
144
  selectTemplate(template: ActionTemplate): void;
141
145
  private buildVariablesForm;
146
+ private buildAdvancedVariablesForm;
142
147
  ngOnDestroy(): void;
143
148
  getSelectConfig(variable: any, index: number): DynamicSelectFieldConfig;
144
149
  /** Get form group for a variable by name */
@@ -147,6 +152,8 @@ export declare class StepBuilderActionComponent implements OnInit, OnChanges, On
147
152
  addVariable(variable: any): void;
148
153
  onVariableValueChange(variableName: string, value: any): void;
149
154
  onVariableBooleanChange(variableName: string, value: boolean): void;
155
+ onAdvancedVariableBooleanChange(variableName: string, value: boolean): void;
156
+ onAdvancedVariableValueChange(variableName: string, value: any): void;
150
157
  onBack(): void;
151
158
  onCancel(): void;
152
159
  isFormValid(): boolean;
@@ -174,6 +181,6 @@ export declare class StepBuilderActionComponent implements OnInit, OnChanges, On
174
181
  */
175
182
  get environmentVariableAvailable(): boolean;
176
183
  static ɵfac: i0.ɵɵFactoryDeclaration<StepBuilderActionComponent, never>;
177
- static ɵcmp: i0.ɵɵComponentDeclaration<StepBuilderActionComponent, "cqa-step-builder-action", never, { "showHeader": "showHeader"; "templates": "templates"; "searchPlaceholder": "searchPlaceholder"; "setTemplateVariables": "setTemplateVariables"; "preventSelectTemplate": "preventSelectTemplate"; "elementOptions": "elementOptions"; "hasMoreElements": "hasMoreElements"; "isLoadingElements": "isLoadingElements"; "screenNameOptions": "screenNameOptions"; "hasMoreScreenNames": "hasMoreScreenNames"; "isLoadingScreenNames": "isLoadingScreenNames"; "parameterOptions": "parameterOptions"; "hasMoreParameters": "hasMoreParameters"; "isLoadingParameters": "isLoadingParameters"; "environmentOptions": "environmentOptions"; "hasMoreEnvironments": "hasMoreEnvironments"; "isLoadingEnvironments": "isLoadingEnvironments"; "defaultTestDataProfileId": "defaultTestDataProfileId"; "defaultTestDataStartIndex": "defaultTestDataStartIndex"; }, { "templateChanged": "templateChanged"; "loadMoreElements": "loadMoreElements"; "searchElements": "searchElements"; "searchElementsByScreenName": "searchElementsByScreenName"; "createElement": "createElement"; "searchScreenName": "searchScreenName"; "loadMoreScreenNames": "loadMoreScreenNames"; "createScreenNameRequest": "createScreenNameRequest"; "searchParameters": "searchParameters"; "loadMoreParameters": "loadMoreParameters"; "searchEnvironments": "searchEnvironments"; "loadMoreEnvironments": "loadMoreEnvironments"; "createStep": "createStep"; "cancelled": "cancelled"; "redirectToParameter": "redirectToParameter"; "redirectToEnvironment": "redirectToEnvironment"; }, never, never>;
184
+ static ɵcmp: i0.ɵɵComponentDeclaration<StepBuilderActionComponent, "cqa-step-builder-action", never, { "showHeader": "showHeader"; "templates": "templates"; "searchPlaceholder": "searchPlaceholder"; "setTemplateVariables": "setTemplateVariables"; "setAdvancedSettingsVariables": "setAdvancedSettingsVariables"; "preventSelectTemplate": "preventSelectTemplate"; "elementOptions": "elementOptions"; "hasMoreElements": "hasMoreElements"; "isLoadingElements": "isLoadingElements"; "screenNameOptions": "screenNameOptions"; "hasMoreScreenNames": "hasMoreScreenNames"; "isLoadingScreenNames": "isLoadingScreenNames"; "parameterOptions": "parameterOptions"; "hasMoreParameters": "hasMoreParameters"; "isLoadingParameters": "isLoadingParameters"; "environmentOptions": "environmentOptions"; "hasMoreEnvironments": "hasMoreEnvironments"; "isLoadingEnvironments": "isLoadingEnvironments"; "defaultTestDataProfileId": "defaultTestDataProfileId"; "defaultTestDataStartIndex": "defaultTestDataStartIndex"; }, { "templateChanged": "templateChanged"; "loadMoreElements": "loadMoreElements"; "searchElements": "searchElements"; "searchElementsByScreenName": "searchElementsByScreenName"; "createElement": "createElement"; "searchScreenName": "searchScreenName"; "loadMoreScreenNames": "loadMoreScreenNames"; "createScreenNameRequest": "createScreenNameRequest"; "searchParameters": "searchParameters"; "loadMoreParameters": "loadMoreParameters"; "searchEnvironments": "searchEnvironments"; "loadMoreEnvironments": "loadMoreEnvironments"; "createStep": "createStep"; "cancelled": "cancelled"; "redirectToParameter": "redirectToParameter"; "redirectToEnvironment": "redirectToEnvironment"; }, never, never>;
178
185
  }
179
186
  export {};
@@ -15,6 +15,7 @@ export interface ConditionRow {
15
15
  operator: string;
16
16
  value: ActionTemplate;
17
17
  templateVariables?: any[];
18
+ advancedSettingsVariables?: any[];
18
19
  description?: string;
19
20
  metadata?: string;
20
21
  }
@@ -31,6 +32,8 @@ export declare class StepBuilderConditionComponent implements OnInit, OnChanges
31
32
  conditionTemplates: ActionTemplate[];
32
33
  /** Function to handle variable processing or custom logic. Can be passed from parent component. */
33
34
  setConditionTemplateVariables: (variables: ActionTemplate) => any;
35
+ /** Function to handle advanced settings variables. Can be passed from parent component. */
36
+ setAdvancedSettingsVariables: (template: ActionTemplate, testStep?: any) => any[];
34
37
  elementOptions: Element[];
35
38
  hasMoreElements: boolean;
36
39
  isLoadingElements: boolean;
@@ -88,6 +91,9 @@ export declare class StepBuilderConditionComponent implements OnInit, OnChanges
88
91
  private conditionTemplateVariables;
89
92
  private conditionVariablesForms;
90
93
  private conditionUpdatedHtmlGrammar;
94
+ private conditionAdvancedSettingsVariables;
95
+ private conditionAdvancedVariablesForms;
96
+ private conditionAdvancedExpanded;
91
97
  private conditionFormGroupCache;
92
98
  constructor(fb: FormBuilder, cdr: ChangeDetectorRef);
93
99
  ngOnInit(): void;
@@ -119,6 +125,13 @@ export declare class StepBuilderConditionComponent implements OnInit, OnChanges
119
125
  * Update HTML grammar for a specific condition with actual variable values
120
126
  */
121
127
  private updateConditionHtmlGrammar;
128
+ private buildConditionAdvancedVariablesForm;
129
+ getConditionAdvancedSettingsVariables(index: number): any[];
130
+ getConditionAdvancedVariablesForm(index: number): FormArray;
131
+ getConditionAdvancedExpanded(index: number): boolean;
132
+ toggleConditionAdvanced(index: number): void;
133
+ onConditionAdvancedVariableBooleanChange(conditionIndex: number, variableName: string, value: boolean): void;
134
+ onConditionAdvancedVariableValueChange(conditionIndex: number, variableName: string, value: any): void;
122
135
  getConditionFormGroup(index: number): FormGroup;
123
136
  getConditionFieldValue(index: number): string;
124
137
  isConditionIf(index: number): boolean;
@@ -129,6 +142,6 @@ export declare class StepBuilderConditionComponent implements OnInit, OnChanges
129
142
  onCancel(): void;
130
143
  onCreateStep(): void;
131
144
  static ɵfac: i0.ɵɵFactoryDeclaration<StepBuilderConditionComponent, never>;
132
- static ɵcmp: i0.ɵɵComponentDeclaration<StepBuilderConditionComponent, "cqa-step-builder-condition", never, { "operatorOptions": "operatorOptions"; "conditionTemplates": "conditionTemplates"; "setConditionTemplateVariables": "setConditionTemplateVariables"; "elementOptions": "elementOptions"; "hasMoreElements": "hasMoreElements"; "isLoadingElements": "isLoadingElements"; "screenNameOptions": "screenNameOptions"; "hasMoreScreenNames": "hasMoreScreenNames"; "isLoadingScreenNames": "isLoadingScreenNames"; "parameterOptions": "parameterOptions"; "hasMoreParameters": "hasMoreParameters"; "isLoadingParameters": "isLoadingParameters"; "environmentOptions": "environmentOptions"; "hasMoreEnvironments": "hasMoreEnvironments"; "isLoadingEnvironments": "isLoadingEnvironments"; "defaultTestDataProfileId": "defaultTestDataProfileId"; "defaultTestDataStartIndex": "defaultTestDataStartIndex"; }, { "createStep": "createStep"; "cancelled": "cancelled"; "loadMoreElements": "loadMoreElements"; "searchElements": "searchElements"; "searchElementsByScreenName": "searchElementsByScreenName"; "createElement": "createElement"; "searchScreenName": "searchScreenName"; "loadMoreScreenNames": "loadMoreScreenNames"; "createScreenNameRequest": "createScreenNameRequest"; "searchParameters": "searchParameters"; "loadMoreParameters": "loadMoreParameters"; "searchEnvironments": "searchEnvironments"; "loadMoreEnvironments": "loadMoreEnvironments"; "redirectToParameter": "redirectToParameter"; "redirectToEnvironment": "redirectToEnvironment"; }, never, never>;
145
+ static ɵcmp: i0.ɵɵComponentDeclaration<StepBuilderConditionComponent, "cqa-step-builder-condition", never, { "operatorOptions": "operatorOptions"; "conditionTemplates": "conditionTemplates"; "setConditionTemplateVariables": "setConditionTemplateVariables"; "setAdvancedSettingsVariables": "setAdvancedSettingsVariables"; "elementOptions": "elementOptions"; "hasMoreElements": "hasMoreElements"; "isLoadingElements": "isLoadingElements"; "screenNameOptions": "screenNameOptions"; "hasMoreScreenNames": "hasMoreScreenNames"; "isLoadingScreenNames": "isLoadingScreenNames"; "parameterOptions": "parameterOptions"; "hasMoreParameters": "hasMoreParameters"; "isLoadingParameters": "isLoadingParameters"; "environmentOptions": "environmentOptions"; "hasMoreEnvironments": "hasMoreEnvironments"; "isLoadingEnvironments": "isLoadingEnvironments"; "defaultTestDataProfileId": "defaultTestDataProfileId"; "defaultTestDataStartIndex": "defaultTestDataStartIndex"; }, { "createStep": "createStep"; "cancelled": "cancelled"; "loadMoreElements": "loadMoreElements"; "searchElements": "searchElements"; "searchElementsByScreenName": "searchElementsByScreenName"; "createElement": "createElement"; "searchScreenName": "searchScreenName"; "loadMoreScreenNames": "loadMoreScreenNames"; "createScreenNameRequest": "createScreenNameRequest"; "searchParameters": "searchParameters"; "loadMoreParameters": "loadMoreParameters"; "searchEnvironments": "searchEnvironments"; "loadMoreEnvironments": "loadMoreEnvironments"; "redirectToParameter": "redirectToParameter"; "redirectToEnvironment": "redirectToEnvironment"; }, never, never>;
133
146
  }
134
147
  export {};
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter, OnInit, OnChanges, SimpleChanges } from '@angular/core';
2
- import { FormBuilder, FormGroup } from '@angular/forms';
2
+ import { FormBuilder, FormGroup, FormArray } from '@angular/forms';
3
3
  import { DynamicSelectFieldConfig, SelectOption } from '../../dynamic-select/dynamic-select-field.component';
4
4
  import { ActionTemplate } from '../step-builder-action/step-builder-action.component';
5
5
  import * as i0 from "@angular/core";
@@ -9,6 +9,7 @@ export interface CustomCodeFormData {
9
9
  metadata?: string;
10
10
  description?: string;
11
11
  templateVariables?: any[];
12
+ advancedSettingsVariables?: any[];
12
13
  }
13
14
  export declare class StepBuilderCustomCodeComponent implements OnInit, OnChanges {
14
15
  private fb;
@@ -18,6 +19,8 @@ export declare class StepBuilderCustomCodeComponent implements OnInit, OnChanges
18
19
  template: ActionTemplate | null;
19
20
  /** Function to handle variable processing or custom logic. Can be passed from parent component. */
20
21
  setTemplateVariables: (variables: ActionTemplate) => any;
22
+ /** Function to handle advanced settings variables. Can be passed from parent component. */
23
+ setAdvancedSettingsVariables: (template: ActionTemplate, testStep?: any) => any[];
21
24
  /** Initial values for editing mode */
22
25
  initialCode?: string;
23
26
  initialLanguage?: string;
@@ -31,6 +34,9 @@ export declare class StepBuilderCustomCodeComponent implements OnInit, OnChanges
31
34
  customCodeForm: FormGroup;
32
35
  templateVariables: any[];
33
36
  variablesForm: FormGroup;
37
+ advancedSettingsVariables: any[];
38
+ advancedVariablesForm: FormArray;
39
+ advancedExpanded: boolean;
34
40
  constructor(fb: FormBuilder);
35
41
  ngOnInit(): void;
36
42
  ngOnChanges(changes: SimpleChanges): void;
@@ -42,7 +48,11 @@ export declare class StepBuilderCustomCodeComponent implements OnInit, OnChanges
42
48
  onVariableBooleanChange(variableName: string, value: boolean): void;
43
49
  getLanguageConfig(): DynamicSelectFieldConfig;
44
50
  onCancel(): void;
51
+ private buildAdvancedVariablesForm;
52
+ onAdvancedVariableBooleanChange(variableName: string, value: boolean): void;
53
+ onAdvancedVariableValueChange(variableName: string, value: any): void;
54
+ toggleAdvanced(): void;
45
55
  onCreateStep(): void;
46
56
  static ɵfac: i0.ɵɵFactoryDeclaration<StepBuilderCustomCodeComponent, never>;
47
- static ɵcmp: i0.ɵɵComponentDeclaration<StepBuilderCustomCodeComponent, "cqa-step-builder-custom-code", never, { "languageOptions": "languageOptions"; "template": "template"; "setTemplateVariables": "setTemplateVariables"; "initialCode": "initialCode"; "initialLanguage": "initialLanguage"; "initialMetadata": "initialMetadata"; "initialDescription": "initialDescription"; "isEditMode": "isEditMode"; }, { "createStep": "createStep"; "cancelled": "cancelled"; }, never, never>;
57
+ static ɵcmp: i0.ɵɵComponentDeclaration<StepBuilderCustomCodeComponent, "cqa-step-builder-custom-code", never, { "languageOptions": "languageOptions"; "template": "template"; "setTemplateVariables": "setTemplateVariables"; "setAdvancedSettingsVariables": "setAdvancedSettingsVariables"; "initialCode": "initialCode"; "initialLanguage": "initialLanguage"; "initialMetadata": "initialMetadata"; "initialDescription": "initialDescription"; "isEditMode": "isEditMode"; }, { "createStep": "createStep"; "cancelled": "cancelled"; }, never, never>;
48
58
  }
@@ -25,6 +25,7 @@ export interface DocumentFormData {
25
25
  /** Template description when templateSource is 'createNew' */
26
26
  templateDescription?: string;
27
27
  mappings: DocumentMappingRow[];
28
+ advancedSettingsVariables?: any[];
28
29
  }
29
30
  export declare class StepBuilderDocumentComponent implements OnInit, OnChanges {
30
31
  private fb;
@@ -36,6 +37,12 @@ export declare class StepBuilderDocumentComponent implements OnInit, OnChanges {
36
37
  valueTypeOptions: SelectOption[];
37
38
  /** Options for delimeter type dropdown (shown when documentType is 'csv') */
38
39
  delimeterTypeOptions: SelectOption[];
40
+ /** Function to handle advanced settings variables. Can be passed from parent component. */
41
+ setAdvancedSettingsVariables: (template?: any, testStep?: any) => any[];
42
+ /** Template for advanced settings (optional) */
43
+ template?: any;
44
+ /** Test step for advanced settings (optional) */
45
+ testStep?: any;
39
46
  /** Optional URL for "Need help?" link in Document Mapper section */
40
47
  mapperHelpUrl: string;
41
48
  /** Tooltip text when hovering over "Need help?" (same as custom-edit-step) */
@@ -81,6 +88,9 @@ export declare class StepBuilderDocumentComponent implements OnInit, OnChanges {
81
88
  uploadedFile: File | null;
82
89
  /** Visual state for drag-and-drop zone */
83
90
  isDragOver: boolean;
91
+ advancedSettingsVariables: any[];
92
+ advancedVariablesForm: FormArray;
93
+ advancedExpanded: boolean;
84
94
  constructor(fb: FormBuilder);
85
95
  ngOnInit(): void;
86
96
  ngOnChanges(changes: SimpleChanges): void;
@@ -109,8 +119,12 @@ export declare class StepBuilderDocumentComponent implements OnInit, OnChanges {
109
119
  onSelectAllMappings(checked: boolean): void;
110
120
  onCancel(): void;
111
121
  isFormValid(): boolean;
122
+ private buildAdvancedVariablesForm;
123
+ onAdvancedVariableBooleanChange(variableName: string, value: boolean): void;
124
+ onAdvancedVariableValueChange(variableName: string, value: any): void;
125
+ toggleAdvanced(): void;
112
126
  onCreateStep(): void;
113
127
  onMapperHelpClick(event: Event): void;
114
128
  static ɵfac: i0.ɵɵFactoryDeclaration<StepBuilderDocumentComponent, never>;
115
- static ɵcmp: i0.ɵɵComponentDeclaration<StepBuilderDocumentComponent, "cqa-step-builder-document", never, { "documentTypeOptions": "documentTypeOptions"; "templateOptions": "templateOptions"; "valueTypeOptions": "valueTypeOptions"; "delimeterTypeOptions": "delimeterTypeOptions"; "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>;
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>;
116
130
  }
@@ -40,6 +40,8 @@ export declare class StepBuilderLoopComponent implements OnInit, OnChanges {
40
40
  isLoadingDataProfiles: boolean;
41
41
  /** Function to handle variable processing or custom logic. Can be passed from parent component. */
42
42
  setWhileTemplateVariables: (variables: ActionTemplate) => any;
43
+ /** Function to handle advanced settings variables. Can be passed from parent component. */
44
+ setAdvancedSettingsVariables: (template: ActionTemplate, testStep?: any) => any[];
43
45
  /** Emit when step is created */
44
46
  createStep: EventEmitter<LoopFormData>;
45
47
  /** Emit when cancelled */
@@ -150,5 +152,5 @@ export declare class StepBuilderLoopComponent implements OnInit, OnChanges {
150
152
  filterWhileTemplates(query: string): void;
151
153
  selectWhileTemplate(template: any): void;
152
154
  static ɵfac: i0.ɵɵFactoryDeclaration<StepBuilderLoopComponent, never>;
153
- static ɵcmp: i0.ɵɵComponentDeclaration<StepBuilderLoopComponent, "cqa-step-builder-loop", never, { "loopType": "loopType"; "selectOptions": "selectOptions"; "dataProfileOptions": "dataProfileOptions"; "hasMoreDataProfiles": "hasMoreDataProfiles"; "isLoadingDataProfiles": "isLoadingDataProfiles"; "setWhileTemplateVariables": "setWhileTemplateVariables"; "whileTemplates": "whileTemplates"; "whileSearchPlaceholder": "whileSearchPlaceholder"; "whileSearchValue": "whileSearchValue"; "elementOptions": "elementOptions"; "hasMoreElements": "hasMoreElements"; "isLoadingElements": "isLoadingElements"; "screenNameOptions": "screenNameOptions"; "hasMoreScreenNames": "hasMoreScreenNames"; "isLoadingScreenNames": "isLoadingScreenNames"; "parameterOptions": "parameterOptions"; "hasMoreParameters": "hasMoreParameters"; "isLoadingParameters": "isLoadingParameters"; "environmentOptions": "environmentOptions"; "hasMoreEnvironments": "hasMoreEnvironments"; "isLoadingEnvironments": "isLoadingEnvironments"; "defaultTestDataProfileId": "defaultTestDataProfileId"; "defaultTestDataStartIndex": "defaultTestDataStartIndex"; }, { "createStep": "createStep"; "cancelled": "cancelled"; "loopTypeChange": "loopTypeChange"; "loadMoreDataProfiles": "loadMoreDataProfiles"; "searchDataProfiles": "searchDataProfiles"; "loadMoreElements": "loadMoreElements"; "searchElements": "searchElements"; "searchElementsByScreenName": "searchElementsByScreenName"; "createElement": "createElement"; "searchScreenName": "searchScreenName"; "loadMoreScreenNames": "loadMoreScreenNames"; "createScreenNameRequest": "createScreenNameRequest"; "cancelElementForm": "cancelElementForm"; "searchParameters": "searchParameters"; "loadMoreParameters": "loadMoreParameters"; "searchEnvironments": "searchEnvironments"; "loadMoreEnvironments": "loadMoreEnvironments"; "redirectToParameter": "redirectToParameter"; "redirectToEnvironment": "redirectToEnvironment"; }, never, never>;
155
+ static ɵcmp: i0.ɵɵComponentDeclaration<StepBuilderLoopComponent, "cqa-step-builder-loop", never, { "loopType": "loopType"; "selectOptions": "selectOptions"; "dataProfileOptions": "dataProfileOptions"; "hasMoreDataProfiles": "hasMoreDataProfiles"; "isLoadingDataProfiles": "isLoadingDataProfiles"; "setWhileTemplateVariables": "setWhileTemplateVariables"; "setAdvancedSettingsVariables": "setAdvancedSettingsVariables"; "whileTemplates": "whileTemplates"; "whileSearchPlaceholder": "whileSearchPlaceholder"; "whileSearchValue": "whileSearchValue"; "elementOptions": "elementOptions"; "hasMoreElements": "hasMoreElements"; "isLoadingElements": "isLoadingElements"; "screenNameOptions": "screenNameOptions"; "hasMoreScreenNames": "hasMoreScreenNames"; "isLoadingScreenNames": "isLoadingScreenNames"; "parameterOptions": "parameterOptions"; "hasMoreParameters": "hasMoreParameters"; "isLoadingParameters": "isLoadingParameters"; "environmentOptions": "environmentOptions"; "hasMoreEnvironments": "hasMoreEnvironments"; "isLoadingEnvironments": "isLoadingEnvironments"; "defaultTestDataProfileId": "defaultTestDataProfileId"; "defaultTestDataStartIndex": "defaultTestDataStartIndex"; }, { "createStep": "createStep"; "cancelled": "cancelled"; "loopTypeChange": "loopTypeChange"; "loadMoreDataProfiles": "loadMoreDataProfiles"; "searchDataProfiles": "searchDataProfiles"; "loadMoreElements": "loadMoreElements"; "searchElements": "searchElements"; "searchElementsByScreenName": "searchElementsByScreenName"; "createElement": "createElement"; "searchScreenName": "searchScreenName"; "loadMoreScreenNames": "loadMoreScreenNames"; "createScreenNameRequest": "createScreenNameRequest"; "cancelElementForm": "cancelElementForm"; "searchParameters": "searchParameters"; "loadMoreParameters": "loadMoreParameters"; "searchEnvironments": "searchEnvironments"; "loadMoreEnvironments": "loadMoreEnvironments"; "redirectToParameter": "redirectToParameter"; "redirectToEnvironment": "redirectToEnvironment"; }, never, never>;
154
156
  }
@@ -72,6 +72,8 @@ export declare class TestCaseDetailsEditComponent implements OnInit, OnChanges {
72
72
  }[];
73
73
  /** Platform: 'web' shows Default Browser + Viewport; 'mobile' shows Device Type + OS. Defaults to 'web'. */
74
74
  platform: 'web' | 'mobile';
75
+ /** When true, hides Priority, Type, and Test Data Set fields (step groups don't have these). Defaults to false. */
76
+ isStepGroup: boolean;
75
77
  /**
76
78
  * Override config per select key. Use for:
77
79
  * - API-driven options: pass options array (update when API returns)
@@ -180,7 +182,9 @@ export declare class TestCaseDetailsEditComponent implements OnInit, OnChanges {
180
182
  /** Get value from Waits section - supports both 'Wait and retries' and 'Waits & Retries' titles */
181
183
  private getWaitsRetriesValue;
182
184
  private getPrerequisiteCasesFromConfig;
185
+ get hasPrerequisiteCaseConfig(): boolean;
183
186
  ngOnInit(): void;
187
+ private resolveToOptionValue;
184
188
  private normalizeBooleanSelectValue;
185
189
  ngOnChanges(changes: SimpleChanges): void;
186
190
  onRemoveLabel(label: string): void;
@@ -199,5 +203,5 @@ export declare class TestCaseDetailsEditComponent implements OnInit, OnChanges {
199
203
  };
200
204
  getLabelCloseIconColor(_label: string): string;
201
205
  static ɵfac: i0.ɵɵFactoryDeclaration<TestCaseDetailsEditComponent, never>;
202
- static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseDetailsEditComponent, "cqa-test-case-details-edit", never, { "descriptionTitle": "descriptionTitle"; "descriptionContent": "descriptionContent"; "enableMarkdown": "enableMarkdown"; "metadataItems": "metadataItems"; "labels": "labels"; "configTitle": "configTitle"; "configSections": "configSections"; "configSectionsRow2": "configSectionsRow2"; "prerequisiteCaseOptions": "prerequisiteCaseOptions"; "platform": "platform"; "selectConfigOverrides": "selectConfigOverrides"; }, { "save": "save"; "cancel": "cancel"; "selectSearch": "selectSearch"; "selectLoadMore": "selectLoadMore"; "selectOpened": "selectOpened"; "selectionChange": "selectionChange"; "labelAdded": "labelAdded"; }, never, never>;
206
+ static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseDetailsEditComponent, "cqa-test-case-details-edit", never, { "descriptionTitle": "descriptionTitle"; "descriptionContent": "descriptionContent"; "enableMarkdown": "enableMarkdown"; "metadataItems": "metadataItems"; "labels": "labels"; "configTitle": "configTitle"; "configSections": "configSections"; "configSectionsRow2": "configSectionsRow2"; "prerequisiteCaseOptions": "prerequisiteCaseOptions"; "platform": "platform"; "isStepGroup": "isStepGroup"; "selectConfigOverrides": "selectConfigOverrides"; }, { "save": "save"; "cancel": "cancel"; "selectSearch": "selectSearch"; "selectLoadMore": "selectLoadMore"; "selectOpened": "selectOpened"; "selectionChange": "selectionChange"; "labelAdded": "labelAdded"; }, never, never>;
203
207
  }
@@ -34,8 +34,14 @@ export declare class TestCaseDetailsComponent implements OnInit {
34
34
  configSectionsRow2: TestCaseDetailsConfigSection[];
35
35
  /** Platform: 'web' or 'mobile'. Defaults to 'web'. Used for Device Settings fields. */
36
36
  platform: 'web' | 'mobile';
37
+ /** When true, filters out Priority and Type from metadata (step groups don't have these). Defaults to false. */
38
+ isStepGroup: boolean;
37
39
  /** Override config per select for API-driven options, server search, load more. */
38
40
  selectConfigOverrides: SelectConfigOverrides;
41
+ /** Labels to filter out from metadata for step groups */
42
+ private readonly stepGroupExcludedMetadataLabels;
43
+ /** Filtered metadata items - excludes Priority and Type for step groups */
44
+ get filteredMetadataItems(): TestCaseDetailsMetadataItem[];
39
45
  editDescription: EventEmitter<void>;
40
46
  cancel: EventEmitter<void>;
41
47
  saveChanges: EventEmitter<TestCaseDetailsEditFormData>;
@@ -66,5 +72,5 @@ export declare class TestCaseDetailsComponent implements OnInit {
66
72
  /** Text color for metadata value (e.g. red for critical priority) */
67
73
  getValueTextClass(item: TestCaseDetailsMetadataItem): string;
68
74
  static ɵfac: i0.ɵɵFactoryDeclaration<TestCaseDetailsComponent, never>;
69
- static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseDetailsComponent, "cqa-test-case-details", never, { "editing": "editing"; "startInEditMode": "startInEditMode"; "descriptionTitle": "descriptionTitle"; "descriptionContent": "descriptionContent"; "enableMarkdown": "enableMarkdown"; "showEditButton": "showEditButton"; "metadataItems": "metadataItems"; "labels": "labels"; "configTitle": "configTitle"; "configSections": "configSections"; "configSectionsRow2": "configSectionsRow2"; "platform": "platform"; "selectConfigOverrides": "selectConfigOverrides"; }, { "editDescription": "editDescription"; "cancel": "cancel"; "saveChanges": "saveChanges"; "metadataLinkClick": "metadataLinkClick"; "selectSearch": "selectSearch"; "selectLoadMore": "selectLoadMore"; "selectOpened": "selectOpened"; "selectionChange": "selectionChange"; "labelAdded": "labelAdded"; }, never, never>;
75
+ static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseDetailsComponent, "cqa-test-case-details", never, { "editing": "editing"; "startInEditMode": "startInEditMode"; "descriptionTitle": "descriptionTitle"; "descriptionContent": "descriptionContent"; "enableMarkdown": "enableMarkdown"; "showEditButton": "showEditButton"; "metadataItems": "metadataItems"; "labels": "labels"; "configTitle": "configTitle"; "configSections": "configSections"; "configSectionsRow2": "configSectionsRow2"; "platform": "platform"; "isStepGroup": "isStepGroup"; "selectConfigOverrides": "selectConfigOverrides"; }, { "editDescription": "editDescription"; "cancel": "cancel"; "saveChanges": "saveChanges"; "metadataLinkClick": "metadataLinkClick"; "selectSearch": "selectSearch"; "selectLoadMore": "selectLoadMore"; "selectOpened": "selectOpened"; "selectionChange": "selectionChange"; "labelAdded": "labelAdded"; }, never, never>;
70
76
  }
@@ -111,6 +111,8 @@ export interface BuildTestCaseDetailsOptions {
111
111
  statusColorConfig?: StatusColorConfig;
112
112
  /** Override priority value -> dot color. Merged with defaults. */
113
113
  priorityColorConfig?: StatusColorConfig;
114
+ /** When true, include Device Setting section for mobile test cases (default: false = hidden for mobile). */
115
+ showDeviceSettingForMobile?: boolean;
114
116
  }
115
117
  /**
116
118
  * Build metadataItems and configSections from API data for cqa-test-case-details.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cqa-lib/cqa-ui",
3
- "version": "1.1.258",
3
+ "version": "1.1.260",
4
4
  "description": "UI Kit library for Angular 13.4",
5
5
  "keywords": [
6
6
  "angular",