@cqa-lib/cqa-ui 1.1.186 → 1.1.187

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 (22) hide show
  1. package/esm2020/lib/step-builder/step-builder-api/step-builder-api.component.mjs +132 -7
  2. package/esm2020/lib/step-builder/step-builder-database/step-builder-database.component.mjs +4 -5
  3. package/esm2020/lib/test-case-details/condition-step/condition-step.component.mjs +1 -1
  4. package/esm2020/lib/test-case-details/loop-step/loop-step.component.mjs +1 -1
  5. package/esm2020/lib/test-case-details/normal-step/normal-step.component.mjs +24 -32
  6. package/esm2020/lib/test-case-details/step-group/step-group.component.mjs +1 -1
  7. package/esm2020/lib/test-case-details/test-case-details-renderer/test-case-details-renderer.component.mjs +15 -3
  8. package/esm2020/lib/test-case-details/test-case-step.models.mjs +1 -1
  9. package/esm2020/lib/test-case-details/test-data-modal/test-data-modal-data.mjs +1 -1
  10. package/esm2020/lib/test-case-details/test-data-modal/test-data-modal.component.mjs +51 -17
  11. package/fesm2015/cqa-lib-cqa-ui.mjs +220 -57
  12. package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
  13. package/fesm2020/cqa-lib-cqa-ui.mjs +218 -57
  14. package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
  15. package/lib/step-builder/step-builder-api/step-builder-api.component.d.ts +6 -0
  16. package/lib/test-case-details/normal-step/normal-step.component.d.ts +7 -2
  17. package/lib/test-case-details/test-case-details-renderer/test-case-details-renderer.component.d.ts +7 -1
  18. package/lib/test-case-details/test-case-step.models.d.ts +1 -0
  19. package/lib/test-case-details/test-data-modal/test-data-modal-data.d.ts +6 -1
  20. package/lib/test-case-details/test-data-modal/test-data-modal.component.d.ts +11 -7
  21. package/package.json +1 -1
  22. package/styles.css +1 -1
@@ -59,6 +59,7 @@ export declare class StepBuilderApiComponent implements OnInit, OnChanges {
59
59
  apiForm: FormGroup;
60
60
  selectedTab: RequestTab;
61
61
  selectedProgressStep: ProgressStep;
62
+ formSubmitted: boolean;
62
63
  private verificationTypeConfigCache;
63
64
  private expectedTypeConfigCache;
64
65
  private httpMethodConfigCache;
@@ -66,6 +67,7 @@ export declare class StepBuilderApiComponent implements OnInit, OnChanges {
66
67
  private paramNameConfigCache;
67
68
  private hasLoadedInitialData;
68
69
  constructor(fb: FormBuilder);
70
+ private urlValidator;
69
71
  ngOnInit(): void;
70
72
  private loadInitialData;
71
73
  get headersFormArray(): FormArray;
@@ -110,6 +112,10 @@ export declare class StepBuilderApiComponent implements OnInit, OnChanges {
110
112
  get someValidationRulesSelected(): boolean;
111
113
  onSelectAllValidationRules(checked: boolean): void;
112
114
  onDeleteSelectedValidationRules(): void;
115
+ private markFormGroupTouched;
116
+ onUrlChange(value: string): void;
117
+ onUrlBlur(): void;
118
+ getUrlErrors(): string[];
113
119
  static ɵfac: i0.ɵɵFactoryDeclaration<StepBuilderApiComponent, never>;
114
120
  static ɵcmp: i0.ɵɵComponentDeclaration<StepBuilderApiComponent, "cqa-step-builder-api", never, { "httpMethodOptions": "httpMethodOptions"; "headerNameOptions": "headerNameOptions"; "currentStep": "currentStep"; "responsePreview": "responsePreview"; "isLoading": "isLoading"; "initialData": "initialData"; }, { "createStep": "createStep"; "cancelled": "cancelled"; "sendRequest": "sendRequest"; "importCurl": "importCurl"; }, never, never>;
115
121
  }
@@ -3,6 +3,7 @@ import { NormalStepConfig, TestCaseEventType, EventTypeConfig, StepParameter } f
3
3
  import { CustomEditStepService } from '../custom-edit-step/custom-edit-step.service';
4
4
  import { ElementPopupService } from '../element-popup/element-popup.service';
5
5
  import { TestDataModalService } from '../test-data-modal/test-data-modal.service';
6
+ import { DomSanitizer } from '@angular/platform-browser';
6
7
  import * as i0 from "@angular/core";
7
8
  export declare class TestCaseNormalStepComponent implements OnInit {
8
9
  private readonly customEditStep;
@@ -10,6 +11,7 @@ export declare class TestCaseNormalStepComponent implements OnInit {
10
11
  private readonly testDataModal;
11
12
  private readonly cdr;
12
13
  private readonly ngZone;
14
+ private readonly sanitizer;
13
15
  dropdownContainer?: ElementRef;
14
16
  descriptionTrigger?: ElementRef<HTMLElement>;
15
17
  testDataTrigger?: ElementRef<HTMLElement>;
@@ -17,6 +19,7 @@ export declare class TestCaseNormalStepComponent implements OnInit {
17
19
  elementTrigger?: ElementRef<HTMLElement>;
18
20
  config: NormalStepConfig;
19
21
  stepNumber: number | string;
22
+ action: string;
20
23
  eventType: TestCaseEventType;
21
24
  parameters: StepParameter[];
22
25
  selected: boolean;
@@ -35,10 +38,11 @@ export declare class TestCaseNormalStepComponent implements OnInit {
35
38
  delete: EventEmitter<void>;
36
39
  moreOptions: EventEmitter<void>;
37
40
  selectionChange: EventEmitter<boolean>;
41
+ clickAction: EventEmitter<MouseEvent>;
38
42
  eventTypeDropdownOpen: boolean;
39
43
  /** Stored test data modal state for reopening with same selections. */
40
44
  private testDataModalState;
41
- constructor(customEditStep: CustomEditStepService, elementPopup: ElementPopupService, testDataModal: TestDataModalService, cdr: ChangeDetectorRef, ngZone: NgZone);
45
+ constructor(customEditStep: CustomEditStepService, elementPopup: ElementPopupService, testDataModal: TestDataModalService, cdr: ChangeDetectorRef, ngZone: NgZone, sanitizer: DomSanitizer);
42
46
  eventTypeConfigs: EventTypeConfig[];
43
47
  ngOnInit(): void;
44
48
  getCurrentEventTypeConfig(): EventTypeConfig;
@@ -69,6 +73,7 @@ export declare class TestCaseNormalStepComponent implements OnInit {
69
73
  toggleEventTypeDropdown(): void;
70
74
  closeEventTypeDropdown(): void;
71
75
  onDocumentClick(event: MouseEvent): void;
76
+ clickOnAction(event: MouseEvent): void;
72
77
  static ɵfac: i0.ɵɵFactoryDeclaration<TestCaseNormalStepComponent, never>;
73
- static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseNormalStepComponent, "cqa-test-case-normal-step", never, { "config": "config"; "stepNumber": "stepNumber"; "eventType": "eventType"; "parameters": "parameters"; "selected": "selected"; "disabled": "disabled"; "isNested": "isNested"; "isInsideLoop": "isInsideLoop"; "isReorder": "isReorder"; }, { "eventTypeChange": "eventTypeChange"; "parameterChange": "parameterChange"; "edit": "edit"; "link": "link"; "duplicate": "duplicate"; "delete": "delete"; "moreOptions": "moreOptions"; "selectionChange": "selectionChange"; }, never, never>;
78
+ 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"; "isReorder": "isReorder"; }, { "eventTypeChange": "eventTypeChange"; "parameterChange": "parameterChange"; "edit": "edit"; "link": "link"; "duplicate": "duplicate"; "delete": "delete"; "moreOptions": "moreOptions"; "selectionChange": "selectionChange"; "clickAction": "clickAction"; }, never, never>;
74
79
  }
@@ -14,6 +14,7 @@ export declare class TestCaseDetailsRendererComponent implements OnChanges, Afte
14
14
  branch?: ConditionBranch;
15
15
  /** When true, enables drag-and-drop reordering and shows drag handle icon instead of checkbox */
16
16
  isReorder: boolean;
17
+ addStepBetween: boolean;
17
18
  nestedStepChange: EventEmitter<{
18
19
  step: TestCaseStepConfig;
19
20
  index: number;
@@ -57,11 +58,16 @@ export declare class TestCaseDetailsRendererComponent implements OnChanges, Afte
57
58
  maxIterationsChange: EventEmitter<number>;
58
59
  eventTypeChange: EventEmitter<any>;
59
60
  parameterChange: EventEmitter<any>;
61
+ clickAction: EventEmitter<MouseEvent>;
60
62
  /** Emitted when a step is dropped in a nested dropzone (step-group, loop, condition). Payload: { event, targetList }. */
61
63
  dndDropInZone: EventEmitter<{
62
64
  event: any;
63
65
  targetList: TestCaseStepConfig[];
64
66
  }>;
67
+ addStepBetweenClick: EventEmitter<{
68
+ step: TestCaseStepConfig;
69
+ index: number;
70
+ }>;
65
71
  private componentRef;
66
72
  constructor(componentMap: TestCaseStepComponentMap, cdr: ChangeDetectorRef);
67
73
  ngAfterViewInit(): void;
@@ -70,5 +76,5 @@ export declare class TestCaseDetailsRendererComponent implements OnChanges, Afte
70
76
  private renderStep;
71
77
  private wireOutputs;
72
78
  static ɵfac: i0.ɵɵFactoryDeclaration<TestCaseDetailsRendererComponent, never>;
73
- static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseDetailsRendererComponent, "cqa-test-case-details-renderer", never, { "step": "step"; "index": "index"; "isNested": "isNested"; "isInsideLoop": "isInsideLoop"; "branch": "branch"; "isReorder": "isReorder"; }, { "nestedStepChange": "nestedStepChange"; "addStep": "addStep"; "deleteStep": "deleteStep"; "toggleExpanded": "toggleExpanded"; "groupNameChange": "groupNameChange"; "descriptionChange": "descriptionChange"; "reusableChange": "reusableChange"; "openExternal": "openExternal"; "edit": "edit"; "link": "link"; "duplicate": "duplicate"; "delete": "delete"; "viewDetails": "viewDetails"; "selectionChange": "selectionChange"; "conditionChange": "conditionChange"; "branchStepChange": "branchStepChange"; "addStepForBranch": "addStepForBranch"; "deleteStepWithBranch": "deleteStepWithBranch"; "addBranch": "addBranch"; "deleteBranch": "deleteBranch"; "testDataProfileChange": "testDataProfileChange"; "startStepChange": "startStepChange"; "endStepChange": "endStepChange"; "maxIterationsChange": "maxIterationsChange"; "eventTypeChange": "eventTypeChange"; "parameterChange": "parameterChange"; "dndDropInZone": "dndDropInZone"; }, never, never>;
79
+ static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseDetailsRendererComponent, "cqa-test-case-details-renderer", never, { "step": "step"; "index": "index"; "isNested": "isNested"; "isInsideLoop": "isInsideLoop"; "branch": "branch"; "isReorder": "isReorder"; "addStepBetween": "addStepBetween"; }, { "nestedStepChange": "nestedStepChange"; "addStep": "addStep"; "deleteStep": "deleteStep"; "toggleExpanded": "toggleExpanded"; "groupNameChange": "groupNameChange"; "descriptionChange": "descriptionChange"; "reusableChange": "reusableChange"; "openExternal": "openExternal"; "edit": "edit"; "link": "link"; "duplicate": "duplicate"; "delete": "delete"; "viewDetails": "viewDetails"; "selectionChange": "selectionChange"; "conditionChange": "conditionChange"; "branchStepChange": "branchStepChange"; "addStepForBranch": "addStepForBranch"; "deleteStepWithBranch": "deleteStepWithBranch"; "addBranch": "addBranch"; "deleteBranch": "deleteBranch"; "testDataProfileChange": "testDataProfileChange"; "startStepChange": "startStepChange"; "endStepChange": "endStepChange"; "maxIterationsChange": "maxIterationsChange"; "eventTypeChange": "eventTypeChange"; "parameterChange": "parameterChange"; "clickAction": "clickAction"; "dndDropInZone": "dndDropInZone"; "addStepBetweenClick": "addStepBetweenClick"; }, never, never>;
74
80
  }
@@ -36,6 +36,7 @@ export interface StepParameter {
36
36
  /** Base interface containing common properties for all step configurations */
37
37
  export interface BaseStepConfig {
38
38
  id: string;
39
+ action?: string;
39
40
  stepNumber: number | string;
40
41
  stepType: StepTypes;
41
42
  description?: string;
@@ -1,5 +1,6 @@
1
1
  import { InjectionToken } from '@angular/core';
2
- import type { ParameterScopeFilter } from './test-data-modal-parameter.model';
2
+ import type { ParameterScopeFilter, ParameterItem } from './test-data-modal-parameter.model';
3
+ import type { EnvironmentItem } from './test-data-modal-environment.model';
3
4
  export declare type TestDataModalTab = 'plain-text' | 'parameter' | 'environment' | 'runtime';
4
5
  /**
5
6
  * Config/data for Test Data Modal controls.
@@ -19,10 +20,14 @@ export interface TestDataModalData {
19
20
  parameterSearchQuery?: string;
20
21
  /** Parameter tab: selected parameter id (for highlight). */
21
22
  selectedParameterId?: string | null;
23
+ /** Parameter tab: list of parameters to display. */
24
+ parameters?: ParameterItem[];
22
25
  /** Environment tab: search query. */
23
26
  environmentSearchQuery?: string;
24
27
  /** Environment tab: selected environment id (for highlight). */
25
28
  selectedEnvironmentId?: string | null;
29
+ /** Environment tab: list of environment items to display. */
30
+ environmentItems?: EnvironmentItem[];
26
31
  /** Runtime tab: value (independent from Plain Text / Parameter / Environment). */
27
32
  runtimeValue?: string;
28
33
  }
@@ -18,6 +18,10 @@ export declare class TestDataModalComponent implements OnInit {
18
18
  }>;
19
19
  cancel: EventEmitter<void>;
20
20
  editInDepth: EventEmitter<void>;
21
+ parameterCreate: EventEmitter<void>;
22
+ parameterEdit: EventEmitter<string>;
23
+ environmentCreate: EventEmitter<void>;
24
+ environmentEdit: EventEmitter<string>;
21
25
  readonly tabSegments: {
22
26
  label: string;
23
27
  value: string;
@@ -26,10 +30,10 @@ export declare class TestDataModalComponent implements OnInit {
26
30
  label: string;
27
31
  value: ParameterScopeFilter;
28
32
  }[];
29
- /** Mock parameter list (replace with API when integrating). */
30
- readonly parameters: ParameterItem[];
31
- /** Mock environment list (replace with API when integrating). */
32
- readonly environmentItems: EnvironmentItem[];
33
+ /** Parameter list from input, falls back to mock data if not provided. */
34
+ parameters: ParameterItem[];
35
+ /** Environment list from input, falls back to mock data if not provided. */
36
+ environmentItems: EnvironmentItem[];
33
37
  /** Runtime tab: suggested variable chips. */
34
38
  readonly runtimeSuggestedValues: readonly string[];
35
39
  /** Form for all modal controls (same pattern as Loop Step editForm). */
@@ -73,11 +77,11 @@ export declare class TestDataModalComponent implements OnInit {
73
77
  onParameterScopeFilterChange(filter: ParameterScopeFilter): void;
74
78
  onParameterSearchInput(value: string): void;
75
79
  onParameterSelect(paramId: string): void;
76
- onParameterEdit(_paramId: string): void;
80
+ onParameterEdit(paramId: string): void;
77
81
  onCreateNewVariable(event: Event): void;
78
82
  onEnvironmentSearchInput(value: string): void;
79
83
  onEnvironmentSelect(itemId: string): void;
80
- onEnvironmentEdit(_itemId: string): void;
84
+ onEnvironmentEdit(itemId: string): void;
81
85
  onCreateNewEnvironment(event: Event): void;
82
86
  /** Runtime tab: insert suggested value into the runtime input field. */
83
87
  onRuntimeChipInsert(snippet: string): void;
@@ -87,5 +91,5 @@ export declare class TestDataModalComponent implements OnInit {
87
91
  onEditInDepth(event: Event): void;
88
92
  onHelp(event: Event): void;
89
93
  static ɵfac: i0.ɵɵFactoryDeclaration<TestDataModalComponent, [null, null, null, { optional: true; }]>;
90
- static ɵcmp: i0.ɵɵComponentDeclaration<TestDataModalComponent, "cqa-test-data-modal", never, {}, { "apply": "apply"; "cancel": "cancel"; "editInDepth": "editInDepth"; }, never, never>;
94
+ static ɵcmp: i0.ɵɵComponentDeclaration<TestDataModalComponent, "cqa-test-data-modal", never, { "parameters": "parameters"; "environmentItems": "environmentItems"; }, { "apply": "apply"; "cancel": "cancel"; "editInDepth": "editInDepth"; "parameterCreate": "parameterCreate"; "parameterEdit": "parameterEdit"; "environmentCreate": "environmentCreate"; "environmentEdit": "environmentEdit"; }, never, never>;
91
95
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cqa-lib/cqa-ui",
3
- "version": "1.1.186",
3
+ "version": "1.1.187",
4
4
  "description": "UI Kit library for Angular 13.4",
5
5
  "keywords": [
6
6
  "angular",