@cqa-lib/cqa-ui 1.1.211 → 1.1.212
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.
- package/esm2020/lib/custom-textarea/custom-textarea.component.mjs +53 -5
- package/esm2020/lib/detail-drawer/detail-drawer.component.mjs +3 -3
- package/esm2020/lib/detail-side-panel/detail-side-panel.component.mjs +22 -6
- package/esm2020/lib/dynamic-select/dynamic-select-field.component.mjs +11 -6
- package/esm2020/lib/step-builder/step-builder-ai-agent/step-builder-ai-agent.component.mjs +1 -1
- package/esm2020/lib/step-builder/step-builder-custom-code/step-builder-custom-code.component.mjs +1 -1
- package/esm2020/lib/step-builder/step-builder-database/step-builder-database.component.mjs +1 -1
- package/esm2020/lib/test-case-details/api-edit-step/api-edit-step.component.mjs +1 -1
- package/esm2020/lib/test-case-details/custom-edit-step/custom-edit-step.component.mjs +1 -1
- package/esm2020/lib/test-case-details/step-details-drawer/step-details-drawer.component.mjs +1 -1
- package/esm2020/lib/test-case-details/test-case-details-edit/test-case-details-edit.component.mjs +226 -52
- package/esm2020/lib/test-case-details/test-case-details.component.mjs +34 -11
- package/esm2020/lib/test-case-details/test-case-details.models.mjs +6 -1
- package/esm2020/lib/ui-kit.module.mjs +3 -2
- package/esm2020/public-api.mjs +1 -1
- package/fesm2015/cqa-lib-cqa-ui.mjs +374 -99
- package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
- package/fesm2020/cqa-lib-cqa-ui.mjs +350 -78
- package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
- package/lib/custom-textarea/custom-textarea.component.d.ts +13 -3
- package/lib/detail-side-panel/detail-side-panel.component.d.ts +11 -2
- package/lib/test-case-details/test-case-details-edit/test-case-details-edit.component.d.ts +32 -4
- package/lib/test-case-details/test-case-details.component.d.ts +11 -3
- package/lib/test-case-details/test-case-details.models.d.ts +6 -0
- package/package.json +1 -1
- package/styles.css +1 -1
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import { EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
|
|
1
|
+
import { EventEmitter, OnChanges, SimpleChanges, ElementRef, AfterViewInit } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
declare type TextareaSize = 'sm' | 'md' | 'lg';
|
|
4
|
-
export declare class CustomTextareaComponent implements OnChanges {
|
|
4
|
+
export declare class CustomTextareaComponent implements OnChanges, AfterViewInit {
|
|
5
5
|
label: string;
|
|
6
6
|
placeholder: string;
|
|
7
7
|
value: string;
|
|
8
|
+
/** When true, shows Trix rich text editor (Bold, Italic, etc.). Host app must load Trix JS/CSS. */
|
|
9
|
+
enableMarkdown: boolean;
|
|
8
10
|
disabled: boolean;
|
|
9
11
|
errors: string[];
|
|
10
12
|
required: boolean;
|
|
@@ -21,9 +23,17 @@ export declare class CustomTextareaComponent implements OnChanges {
|
|
|
21
23
|
valueChange: EventEmitter<string>;
|
|
22
24
|
blurred: EventEmitter<FocusEvent>;
|
|
23
25
|
focused: EventEmitter<FocusEvent>;
|
|
26
|
+
trixEditor?: ElementRef<HTMLElement>;
|
|
24
27
|
textareaValue: string;
|
|
25
28
|
isFocused: boolean;
|
|
29
|
+
trixEditorId: string;
|
|
30
|
+
ngAfterViewInit(): void;
|
|
31
|
+
onTrixInitialize(_event: Event): void;
|
|
26
32
|
ngOnChanges(changes: SimpleChanges): void;
|
|
33
|
+
private syncTrixContent;
|
|
34
|
+
onTrixChange(event: Event): void;
|
|
35
|
+
onTrixFocus(event: FocusEvent): void;
|
|
36
|
+
onTrixBlur(event: FocusEvent): void;
|
|
27
37
|
get hasError(): boolean;
|
|
28
38
|
get textareaSizeClasses(): string;
|
|
29
39
|
get labelSizeClasses(): string;
|
|
@@ -34,6 +44,6 @@ export declare class CustomTextareaComponent implements OnChanges {
|
|
|
34
44
|
get textareaStyles(): string;
|
|
35
45
|
get labelStyles(): string;
|
|
36
46
|
static ɵfac: i0.ɵɵFactoryDeclaration<CustomTextareaComponent, never>;
|
|
37
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<CustomTextareaComponent, "cqa-custom-textarea", never, { "label": "label"; "placeholder": "placeholder"; "value": "value"; "disabled": "disabled"; "errors": "errors"; "required": "required"; "ariaLabel": "ariaLabel"; "size": "size"; "fullWidth": "fullWidth"; "maxLength": "maxLength"; "showCharCount": "showCharCount"; "rows": "rows"; "cols": "cols"; "resize": "resize"; "textareaInlineStyle": "textareaInlineStyle"; "labelInlineStyle": "labelInlineStyle"; }, { "valueChange": "valueChange"; "blurred": "blurred"; "focused": "focused"; }, never, never>;
|
|
47
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CustomTextareaComponent, "cqa-custom-textarea", never, { "label": "label"; "placeholder": "placeholder"; "value": "value"; "enableMarkdown": "enableMarkdown"; "disabled": "disabled"; "errors": "errors"; "required": "required"; "ariaLabel": "ariaLabel"; "size": "size"; "fullWidth": "fullWidth"; "maxLength": "maxLength"; "showCharCount": "showCharCount"; "rows": "rows"; "cols": "cols"; "resize": "resize"; "textareaInlineStyle": "textareaInlineStyle"; "labelInlineStyle": "labelInlineStyle"; }, { "valueChange": "valueChange"; "blurred": "blurred"; "focused": "focused"; }, never, never>;
|
|
38
48
|
}
|
|
39
49
|
export {};
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { EventEmitter } from '@angular/core';
|
|
1
|
+
import { EventEmitter, ChangeDetectorRef } from '@angular/core';
|
|
2
2
|
import { DetailSidePanelTab, DetailSidePanelMetadataItem, DetailSidePanelConfigSection } from './detail-side-panel.models';
|
|
3
3
|
import { TestCaseDetailsEditFormData, SelectConfigOverrides } from '../test-case-details/test-case-details-edit/test-case-details-edit.component';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export type { DetailSidePanelTab, DetailSidePanelMetadataItem, DetailSidePanelConfigSection } from './detail-side-panel.models';
|
|
6
6
|
export declare class DetailSidePanelComponent {
|
|
7
|
+
private cdr;
|
|
7
8
|
/** Tabs - each tab has a side panel icon button; tabs and buttons are 1:1 */
|
|
8
9
|
tabs: DetailSidePanelTab[];
|
|
9
10
|
/** Currently active tab value */
|
|
@@ -12,6 +13,8 @@ export declare class DetailSidePanelComponent {
|
|
|
12
13
|
descriptionTitle: string;
|
|
13
14
|
/** Description text content */
|
|
14
15
|
descriptionContent: string;
|
|
16
|
+
/** When true, description uses rich text editor and renders as HTML. Host app must load Trix. */
|
|
17
|
+
enableMarkdown: boolean;
|
|
15
18
|
/** Whether to show the Edit button in the Description header */
|
|
16
19
|
showEditButton: boolean;
|
|
17
20
|
/** Metadata items (Created on, Status, Priority, etc.) */
|
|
@@ -30,6 +33,8 @@ export declare class DetailSidePanelComponent {
|
|
|
30
33
|
showCloseButton: boolean;
|
|
31
34
|
/** When true, test case details start in edit mode (useful for Storybook). */
|
|
32
35
|
startInEditMode: boolean;
|
|
36
|
+
/** When provided, parent controls edit mode (fixes Storybook event flow). */
|
|
37
|
+
editing?: boolean;
|
|
33
38
|
/** Override config per select for API-driven options, server search, load more. */
|
|
34
39
|
selectConfigOverrides: SelectConfigOverrides;
|
|
35
40
|
/** Whether the panel is expanded (affects expand button icon and panel width) */
|
|
@@ -51,6 +56,7 @@ export declare class DetailSidePanelComponent {
|
|
|
51
56
|
back: EventEmitter<void>;
|
|
52
57
|
tabChange: EventEmitter<string>;
|
|
53
58
|
editDescription: EventEmitter<void>;
|
|
59
|
+
cancel: EventEmitter<void>;
|
|
54
60
|
saveChanges: EventEmitter<TestCaseDetailsEditFormData>;
|
|
55
61
|
metadataLinkClick: EventEmitter<DetailSidePanelMetadataItem>;
|
|
56
62
|
selectSearch: EventEmitter<{
|
|
@@ -68,8 +74,10 @@ export declare class DetailSidePanelComponent {
|
|
|
68
74
|
key: string;
|
|
69
75
|
value: unknown;
|
|
70
76
|
}>;
|
|
77
|
+
labelAdded: EventEmitter<string>;
|
|
71
78
|
expandToggle: EventEmitter<void>;
|
|
72
79
|
close: EventEmitter<void>;
|
|
80
|
+
constructor(cdr: ChangeDetectorRef);
|
|
73
81
|
trackByTabValue(_i: number, tab: DetailSidePanelTab): string;
|
|
74
82
|
trackByMetadataLabel(_i: number, item: DetailSidePanelMetadataItem): string;
|
|
75
83
|
trackByConfigTitle(_i: number, section: DetailSidePanelConfigSection): string;
|
|
@@ -77,10 +85,11 @@ export declare class DetailSidePanelComponent {
|
|
|
77
85
|
onTabClick(tab: DetailSidePanelTab): void;
|
|
78
86
|
onEditDescription(): void;
|
|
79
87
|
onSaveChanges(data: TestCaseDetailsEditFormData): void;
|
|
88
|
+
onCancel(): void;
|
|
80
89
|
onExpandToggle(): void;
|
|
81
90
|
onClose(): void;
|
|
82
91
|
onMetadataLinkClick(item: DetailSidePanelMetadataItem): void;
|
|
83
92
|
getStatusDotClass(item: DetailSidePanelMetadataItem): string;
|
|
84
93
|
static ɵfac: i0.ɵɵFactoryDeclaration<DetailSidePanelComponent, never>;
|
|
85
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DetailSidePanelComponent, "cqa-detail-side-panel", never, { "tabs": "tabs"; "activeTab": "activeTab"; "descriptionTitle": "descriptionTitle"; "descriptionContent": "descriptionContent"; "showEditButton": "showEditButton"; "metadataItems": "metadataItems"; "labels": "labels"; "configSections": "configSections"; "configSectionsRow2": "configSectionsRow2"; "platform": "platform"; "configTitle": "configTitle"; "showCloseButton": "showCloseButton"; "startInEditMode": "startInEditMode"; "selectConfigOverrides": "selectConfigOverrides"; "expanded": "expanded"; "expandedWidth": "expandedWidth"; "collapsedWidth": "collapsedWidth"; "expandTooltip": "expandTooltip"; "collapseTooltip": "collapseTooltip"; "closeTooltip": "closeTooltip"; }, { "back": "back"; "tabChange": "tabChange"; "editDescription": "editDescription"; "saveChanges": "saveChanges"; "metadataLinkClick": "metadataLinkClick"; "selectSearch": "selectSearch"; "selectLoadMore": "selectLoadMore"; "selectOpened": "selectOpened"; "selectionChange": "selectionChange"; "expandToggle": "expandToggle"; "close": "close"; }, never, 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>;
|
|
86
95
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EventEmitter, OnInit, OnChanges, SimpleChanges } from '@angular/core';
|
|
1
|
+
import { EventEmitter, ChangeDetectorRef, OnInit, OnChanges, SimpleChanges } from '@angular/core';
|
|
2
2
|
import { FormGroup } from '@angular/forms';
|
|
3
3
|
import { TestCaseDetailsConfigSection, TestCaseDetailsMetadataItem } from '../test-case-details.models';
|
|
4
4
|
import { DynamicSelectFieldConfig, SelectOption } from '../../dynamic-select/dynamic-select-field.component';
|
|
@@ -28,7 +28,11 @@ export declare type SelectConfigOverrides = Partial<Record<string, SelectConfigO
|
|
|
28
28
|
export declare const TEST_CASE_DETAILS_SELECT_KEYS: {
|
|
29
29
|
readonly status: "status";
|
|
30
30
|
readonly priority: "priority";
|
|
31
|
+
readonly type: "type";
|
|
32
|
+
readonly labels: "labels";
|
|
31
33
|
readonly prerequisiteCases: "prerequisiteCases";
|
|
34
|
+
readonly testDataProfile: "testDataProfile";
|
|
35
|
+
readonly testDataSet: "testDataSet";
|
|
32
36
|
readonly videoRecording: "videoRecording";
|
|
33
37
|
readonly enableAiSmartness: "enableAiSmartness";
|
|
34
38
|
readonly defaultAiAction: "defaultAiAction";
|
|
@@ -43,13 +47,19 @@ export interface TestCaseDetailsEditFormData {
|
|
|
43
47
|
descriptionContent: string;
|
|
44
48
|
status: string;
|
|
45
49
|
priority: string;
|
|
50
|
+
type?: string | number;
|
|
46
51
|
labels: string[];
|
|
52
|
+
testDataProfileId?: number | string | null;
|
|
53
|
+
testDataSetIndex?: number | string | null;
|
|
47
54
|
configSections: TestCaseDetailsConfigSection[];
|
|
48
55
|
configSectionsRow2: TestCaseDetailsConfigSection[];
|
|
49
56
|
}
|
|
50
57
|
export declare class TestCaseDetailsEditComponent implements OnInit, OnChanges {
|
|
58
|
+
private cdr;
|
|
51
59
|
descriptionTitle: string;
|
|
52
60
|
descriptionContent: string;
|
|
61
|
+
/** When true, description uses Trix rich text editor (Bold, Italic, etc.). Host app must load Trix. */
|
|
62
|
+
enableMarkdown: boolean;
|
|
53
63
|
metadataItems: TestCaseDetailsMetadataItem[];
|
|
54
64
|
labels: string[];
|
|
55
65
|
configTitle: string;
|
|
@@ -91,12 +101,14 @@ export declare class TestCaseDetailsEditComponent implements OnInit, OnChanges {
|
|
|
91
101
|
key: string;
|
|
92
102
|
value: unknown;
|
|
93
103
|
}>;
|
|
104
|
+
/** Emitted when user adds a new custom label via the "New" option. */
|
|
105
|
+
labelAdded: EventEmitter<string>;
|
|
106
|
+
constructor(cdr: ChangeDetectorRef);
|
|
94
107
|
/** Form state */
|
|
95
108
|
editDescription: string;
|
|
96
109
|
editStatus: string;
|
|
97
110
|
editPriority: string;
|
|
98
111
|
editLabels: string[];
|
|
99
|
-
labelSearch: string;
|
|
100
112
|
testCaseTimeout: string;
|
|
101
113
|
waitTimeoutLocators: string;
|
|
102
114
|
autoWaitEnabled: boolean;
|
|
@@ -115,13 +127,22 @@ export declare class TestCaseDetailsEditComponent implements OnInit, OnChanges {
|
|
|
115
127
|
editForm: FormGroup;
|
|
116
128
|
get statusItem(): TestCaseDetailsMetadataItem | undefined;
|
|
117
129
|
get priorityItem(): TestCaseDetailsMetadataItem | undefined;
|
|
130
|
+
get typeItem(): TestCaseDetailsMetadataItem | undefined;
|
|
118
131
|
get statusOptions(): string[];
|
|
119
132
|
get priorityOptions(): string[];
|
|
120
133
|
/** Cached configs to avoid new object refs each change detection (prevents infinite loops) */
|
|
121
134
|
readonly statusSelectConfig: DynamicSelectFieldConfig;
|
|
135
|
+
readonly typeSelectConfig: DynamicSelectFieldConfig;
|
|
136
|
+
readonly testDataProfileSelectConfig: DynamicSelectFieldConfig;
|
|
137
|
+
readonly testDataSetSelectConfig: DynamicSelectFieldConfig;
|
|
122
138
|
private readonly defaultPrerequisiteCaseOptions;
|
|
123
139
|
readonly videoRecordingSelectConfig: DynamicSelectFieldConfig;
|
|
124
140
|
readonly aiMetadataCollectionSelectConfig: DynamicSelectFieldConfig;
|
|
141
|
+
/** Cached labels config to avoid new object on every CD (prevents freeze) */
|
|
142
|
+
private _labelsSelectConfigCache;
|
|
143
|
+
private _labelsSelectConfigDirty;
|
|
144
|
+
/** Labels multi-select: options = frequently used + current + API options from selectConfigOverrides */
|
|
145
|
+
get labelsSelectConfig(): DynamicSelectFieldConfig;
|
|
125
146
|
prerequisiteCaseSelectConfig: DynamicSelectFieldConfig;
|
|
126
147
|
readonly defaultViewportSelectConfig: DynamicSelectFieldConfig;
|
|
127
148
|
readonly deviceTypeSelectConfig: DynamicSelectFieldConfig;
|
|
@@ -149,7 +170,15 @@ export declare class TestCaseDetailsEditComponent implements OnInit, OnChanges {
|
|
|
149
170
|
key: string;
|
|
150
171
|
value: unknown;
|
|
151
172
|
}): void;
|
|
173
|
+
onLabelsAddCustomValue(event: {
|
|
174
|
+
key: string;
|
|
175
|
+
value: string;
|
|
176
|
+
}): void;
|
|
152
177
|
private getConfigItemValue;
|
|
178
|
+
/** Get value from Device section - supports both 'Device' and 'Device Setting' titles */
|
|
179
|
+
private getDeviceConfigValue;
|
|
180
|
+
/** Get value from Waits section - supports both 'Wait and retries' and 'Waits & Retries' titles */
|
|
181
|
+
private getWaitsRetriesValue;
|
|
153
182
|
private getPrerequisiteCasesFromConfig;
|
|
154
183
|
ngOnInit(): void;
|
|
155
184
|
private normalizeBooleanSelectValue;
|
|
@@ -157,7 +186,6 @@ export declare class TestCaseDetailsEditComponent implements OnInit, OnChanges {
|
|
|
157
186
|
onRemoveLabel(label: string): void;
|
|
158
187
|
onClearAllLabels(): void;
|
|
159
188
|
onAddFrequentLabel(label: string): void;
|
|
160
|
-
onAddSearchedLabel(): void;
|
|
161
189
|
onSave(): void;
|
|
162
190
|
private mergeConfigSections;
|
|
163
191
|
private mergeConfigSectionsRow2;
|
|
@@ -171,5 +199,5 @@ export declare class TestCaseDetailsEditComponent implements OnInit, OnChanges {
|
|
|
171
199
|
};
|
|
172
200
|
getLabelCloseIconColor(_label: string): string;
|
|
173
201
|
static ɵfac: i0.ɵɵFactoryDeclaration<TestCaseDetailsEditComponent, never>;
|
|
174
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseDetailsEditComponent, "cqa-test-case-details-edit", never, { "descriptionTitle": "descriptionTitle"; "descriptionContent": "descriptionContent"; "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"; }, never, 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>;
|
|
175
203
|
}
|
|
@@ -4,16 +4,22 @@ import { TestCaseDetailsEditFormData, SelectConfigOverrides } from './test-case-
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class TestCaseDetailsComponent implements OnInit {
|
|
6
6
|
private cdr;
|
|
7
|
-
/**
|
|
8
|
-
|
|
7
|
+
/** Internal editing state when not controlled by parent */
|
|
8
|
+
private _editing;
|
|
9
|
+
/** When provided by parent, use this instead of internal state (fixes Storybook event flow). */
|
|
10
|
+
editing?: boolean;
|
|
9
11
|
/** When true, start in edit mode (useful for Storybook). */
|
|
10
12
|
startInEditMode: boolean;
|
|
13
|
+
/** Resolved editing state: parent-controlled or internal */
|
|
14
|
+
get isEditing(): boolean;
|
|
11
15
|
constructor(cdr: ChangeDetectorRef);
|
|
12
16
|
ngOnInit(): void;
|
|
13
17
|
/** Description section title */
|
|
14
18
|
descriptionTitle: string;
|
|
15
19
|
/** Description text content */
|
|
16
20
|
descriptionContent: string;
|
|
21
|
+
/** When true, description supports rich text (HTML). Renders as HTML in view mode. */
|
|
22
|
+
enableMarkdown: boolean;
|
|
17
23
|
/** Whether to show the Edit button in the Description header */
|
|
18
24
|
showEditButton: boolean;
|
|
19
25
|
/** Metadata items (createdOn, status, priority, environment, version, testPlanName, etc.) */
|
|
@@ -31,6 +37,7 @@ export declare class TestCaseDetailsComponent implements OnInit {
|
|
|
31
37
|
/** Override config per select for API-driven options, server search, load more. */
|
|
32
38
|
selectConfigOverrides: SelectConfigOverrides;
|
|
33
39
|
editDescription: EventEmitter<void>;
|
|
40
|
+
cancel: EventEmitter<void>;
|
|
34
41
|
saveChanges: EventEmitter<TestCaseDetailsEditFormData>;
|
|
35
42
|
metadataLinkClick: EventEmitter<TestCaseDetailsMetadataItem>;
|
|
36
43
|
selectSearch: EventEmitter<{
|
|
@@ -48,6 +55,7 @@ export declare class TestCaseDetailsComponent implements OnInit {
|
|
|
48
55
|
key: string;
|
|
49
56
|
value: unknown;
|
|
50
57
|
}>;
|
|
58
|
+
labelAdded: EventEmitter<string>;
|
|
51
59
|
onEditClick(): void;
|
|
52
60
|
onSaveChanges(data: TestCaseDetailsEditFormData): void;
|
|
53
61
|
onCancelEdit(): void;
|
|
@@ -58,5 +66,5 @@ export declare class TestCaseDetailsComponent implements OnInit {
|
|
|
58
66
|
/** Text color for metadata value (e.g. red for critical priority) */
|
|
59
67
|
getValueTextClass(item: TestCaseDetailsMetadataItem): string;
|
|
60
68
|
static ɵfac: i0.ɵɵFactoryDeclaration<TestCaseDetailsComponent, never>;
|
|
61
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseDetailsComponent, "cqa-test-case-details", never, { "startInEditMode": "startInEditMode"; "descriptionTitle": "descriptionTitle"; "descriptionContent": "descriptionContent"; "showEditButton": "showEditButton"; "metadataItems": "metadataItems"; "labels": "labels"; "configTitle": "configTitle"; "configSections": "configSections"; "configSectionsRow2": "configSectionsRow2"; "platform": "platform"; "selectConfigOverrides": "selectConfigOverrides"; }, { "editDescription": "editDescription"; "saveChanges": "saveChanges"; "metadataLinkClick": "metadataLinkClick"; "selectSearch": "selectSearch"; "selectLoadMore": "selectLoadMore"; "selectOpened": "selectOpened"; "selectionChange": "selectionChange"; }, never, 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>;
|
|
62
70
|
}
|
|
@@ -71,12 +71,18 @@ export interface TestCaseDetailsApiData {
|
|
|
71
71
|
createdOn?: string | Date;
|
|
72
72
|
status?: string;
|
|
73
73
|
priority?: string;
|
|
74
|
+
type?: string;
|
|
75
|
+
typeId?: number | string;
|
|
74
76
|
environment?: string;
|
|
75
77
|
version?: string;
|
|
76
78
|
testPlanName?: string;
|
|
77
79
|
testPlanRedirectUrl?: string;
|
|
78
80
|
labels?: string[];
|
|
79
81
|
prerequisiteCase?: string | null;
|
|
82
|
+
testDataProfile?: string | null;
|
|
83
|
+
testDataProfileId?: number | string | null;
|
|
84
|
+
testDataSet?: string | null;
|
|
85
|
+
testDataSetIndex?: number | null;
|
|
80
86
|
defaultBrowser?: string;
|
|
81
87
|
videoRecording?: boolean | string;
|
|
82
88
|
testCaseTimeout?: string;
|