@cqa-lib/cqa-ui 1.1.177 → 1.1.178
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/execution-screen/ai-action-step/ai-action-step.component.mjs +23 -7
- package/esm2020/lib/execution-screen/ai-agent-step/ai-agent-step.component.mjs +23 -8
- package/esm2020/lib/execution-screen/api-step/api-step.component.mjs +24 -7
- package/esm2020/lib/execution-screen/base-step.component.mjs +12 -1
- package/esm2020/lib/execution-screen/basic-step/basic-step.component.mjs +25 -8
- package/esm2020/lib/execution-screen/condition-step/condition-step.component.mjs +25 -8
- package/esm2020/lib/execution-screen/db-verification-step/db-verification-step.component.mjs +28 -11
- package/esm2020/lib/execution-screen/document-verification-step/document-verification-step.component.mjs +22 -4
- package/esm2020/lib/execution-screen/execution-step.models.mjs +1 -1
- package/esm2020/lib/execution-screen/file-download-step/file-download-step.component.mjs +23 -5
- package/esm2020/lib/execution-screen/loop-step/loop-step.component.mjs +26 -9
- package/esm2020/lib/execution-screen/step-group/step-group.component.mjs +22 -5
- package/esm2020/lib/execution-screen/step-renderer/step-renderer.component.mjs +6 -2
- package/esm2020/lib/simulator/simulator.component.mjs +1202 -63
- package/fesm2015/cqa-lib-cqa-ui.mjs +1531 -189
- package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
- package/fesm2020/cqa-lib-cqa-ui.mjs +1482 -178
- package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
- package/lib/execution-screen/ai-action-step/ai-action-step.component.d.ts +3 -1
- package/lib/execution-screen/ai-agent-step/ai-agent-step.component.d.ts +3 -1
- package/lib/execution-screen/api-step/api-step.component.d.ts +3 -1
- package/lib/execution-screen/base-step.component.d.ts +1 -0
- package/lib/execution-screen/basic-step/basic-step.component.d.ts +3 -1
- package/lib/execution-screen/condition-step/condition-step.component.d.ts +3 -1
- package/lib/execution-screen/db-verification-step/db-verification-step.component.d.ts +3 -1
- package/lib/execution-screen/document-verification-step/document-verification-step.component.d.ts +4 -1
- package/lib/execution-screen/execution-step.models.d.ts +4 -0
- package/lib/execution-screen/file-download-step/file-download-step.component.d.ts +4 -1
- package/lib/execution-screen/loop-step/loop-step.component.d.ts +3 -1
- package/lib/execution-screen/step-group/step-group.component.d.ts +3 -1
- package/lib/execution-screen/step-renderer/step-renderer.component.d.ts +2 -1
- package/lib/simulator/simulator.component.d.ts +122 -6
- package/package.json +1 -1
- package/styles.css +1 -1
|
@@ -30,6 +30,7 @@ export declare class AIActionStepComponent extends BaseStepComponent implements
|
|
|
30
30
|
};
|
|
31
31
|
};
|
|
32
32
|
onStepClickHandler?: (step: ExecutionStepConfig, event?: Event) => void;
|
|
33
|
+
jumpToTimestampHandler?: (timestamp: number, testStepId?: number | string) => void;
|
|
33
34
|
isLive: boolean;
|
|
34
35
|
step?: any;
|
|
35
36
|
showFailedStepDetails: boolean;
|
|
@@ -56,6 +57,7 @@ export declare class AIActionStepComponent extends BaseStepComponent implements
|
|
|
56
57
|
get showViewMoreButton(): boolean;
|
|
57
58
|
toggleHeader(event?: Event): void;
|
|
58
59
|
getActionBadgeText(): string;
|
|
60
|
+
onJumpToTimestamp(event: Event): void;
|
|
59
61
|
static ɵfac: i0.ɵɵFactoryDeclaration<AIActionStepComponent, never>;
|
|
60
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AIActionStepComponent, "cqa-ai-action-step", never, { "id": "id"; "testStepResultId": "testStepResultId"; "stepNumber": "stepNumber"; "title": "title"; "status": "status"; "duration": "duration"; "timingBreakdown": "timingBreakdown"; "expanded": "expanded"; "actionCount": "actionCount"; "actions": "actions"; "failureDetails": "failureDetails"; "reasoning": "reasoning"; "confidence": "confidence"; "stepDeleted": "stepDeleted"; "isUploadingBaseline": "isUploadingBaseline"; "isMakingCurrentBaseline": "isMakingCurrentBaseline"; "selfHealAnalysis": "selfHealAnalysis"; "getSelfHealLoadingStatesHandler": "getSelfHealLoadingStatesHandler"; "onStepClickHandler": "onStepClickHandler"; "isLive": "isLive"; "step": "step"; }, { "makeCurrentBaseline": "makeCurrentBaseline"; "uploadBaseline": "uploadBaseline"; "analyze": "analyze"; "viewFullLogs": "viewFullLogs"; "selfHealAction": "selfHealAction"; }, never, never>;
|
|
62
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AIActionStepComponent, "cqa-ai-action-step", never, { "id": "id"; "testStepResultId": "testStepResultId"; "stepNumber": "stepNumber"; "title": "title"; "status": "status"; "duration": "duration"; "timingBreakdown": "timingBreakdown"; "expanded": "expanded"; "actionCount": "actionCount"; "actions": "actions"; "failureDetails": "failureDetails"; "reasoning": "reasoning"; "confidence": "confidence"; "stepDeleted": "stepDeleted"; "isUploadingBaseline": "isUploadingBaseline"; "isMakingCurrentBaseline": "isMakingCurrentBaseline"; "selfHealAnalysis": "selfHealAnalysis"; "getSelfHealLoadingStatesHandler": "getSelfHealLoadingStatesHandler"; "onStepClickHandler": "onStepClickHandler"; "jumpToTimestampHandler": "jumpToTimestampHandler"; "isLive": "isLive"; "step": "step"; }, { "makeCurrentBaseline": "makeCurrentBaseline"; "uploadBaseline": "uploadBaseline"; "analyze": "analyze"; "viewFullLogs": "viewFullLogs"; "selfHealAction": "selfHealAction"; }, never, never>;
|
|
61
63
|
}
|
|
@@ -33,6 +33,7 @@ export declare class AIAgentStepComponent extends BaseStepComponent implements O
|
|
|
33
33
|
};
|
|
34
34
|
};
|
|
35
35
|
onStepClickHandler?: (step: ExecutionStepConfig, event?: Event) => void;
|
|
36
|
+
jumpToTimestampHandler?: (timestamp: number, testStepId?: number | string) => void;
|
|
36
37
|
isLive: boolean;
|
|
37
38
|
step?: any;
|
|
38
39
|
showFailedStepDetails: boolean;
|
|
@@ -63,6 +64,7 @@ export declare class AIAgentStepComponent extends BaseStepComponent implements O
|
|
|
63
64
|
trackByActionId(index: number, action: AIAgentAction): string;
|
|
64
65
|
get showViewMoreButton(): boolean;
|
|
65
66
|
toggleHeader(event?: Event): void;
|
|
67
|
+
onJumpToTimestamp(event: Event): void;
|
|
66
68
|
static ɵfac: i0.ɵɵFactoryDeclaration<AIAgentStepComponent, never>;
|
|
67
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AIAgentStepComponent, "cqa-ai-agent-step", never, { "id": "id"; "testStepResultId": "testStepResultId"; "stepNumber": "stepNumber"; "title": "title"; "status": "status"; "duration": "duration"; "timingBreakdown": "timingBreakdown"; "expanded": "expanded"; "prompt": "prompt"; "optimizedRun": "optimizedRun"; "actionCount": "actionCount"; "actions": "actions"; "selectedTabInput": "selectedTabInput"; "failureDetails": "failureDetails"; "reasoning": "reasoning"; "confidence": "confidence"; "stepDeleted": "stepDeleted"; "isUploadingBaseline": "isUploadingBaseline"; "isMakingCurrentBaseline": "isMakingCurrentBaseline"; "selfHealAnalysis": "selfHealAnalysis"; "getSelfHealLoadingStatesHandler": "getSelfHealLoadingStatesHandler"; "onStepClickHandler": "onStepClickHandler"; "isLive": "isLive"; "step": "step"; }, { "makeCurrentBaseline": "makeCurrentBaseline"; "uploadBaseline": "uploadBaseline"; "analyze": "analyze"; "viewFullLogs": "viewFullLogs"; "selfHealAction": "selfHealAction"; }, never, never>;
|
|
69
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AIAgentStepComponent, "cqa-ai-agent-step", never, { "id": "id"; "testStepResultId": "testStepResultId"; "stepNumber": "stepNumber"; "title": "title"; "status": "status"; "duration": "duration"; "timingBreakdown": "timingBreakdown"; "expanded": "expanded"; "prompt": "prompt"; "optimizedRun": "optimizedRun"; "actionCount": "actionCount"; "actions": "actions"; "selectedTabInput": "selectedTabInput"; "failureDetails": "failureDetails"; "reasoning": "reasoning"; "confidence": "confidence"; "stepDeleted": "stepDeleted"; "isUploadingBaseline": "isUploadingBaseline"; "isMakingCurrentBaseline": "isMakingCurrentBaseline"; "selfHealAnalysis": "selfHealAnalysis"; "getSelfHealLoadingStatesHandler": "getSelfHealLoadingStatesHandler"; "onStepClickHandler": "onStepClickHandler"; "jumpToTimestampHandler": "jumpToTimestampHandler"; "isLive": "isLive"; "step": "step"; }, { "makeCurrentBaseline": "makeCurrentBaseline"; "uploadBaseline": "uploadBaseline"; "analyze": "analyze"; "viewFullLogs": "viewFullLogs"; "selfHealAction": "selfHealAction"; }, never, never>;
|
|
68
70
|
}
|
|
@@ -43,6 +43,7 @@ export declare class ApiStepComponent extends BaseStepComponent implements OnIni
|
|
|
43
43
|
path: string;
|
|
44
44
|
source: 'requestBody' | 'responseBody' | 'requestHeaders' | 'responseHeaders';
|
|
45
45
|
}) => void;
|
|
46
|
+
jumpToTimestampHandler?: (timestamp: number, testStepId?: number | string) => void;
|
|
46
47
|
step?: any;
|
|
47
48
|
makeCurrentBaseline: EventEmitter<makeCurrentBaselineEvent>;
|
|
48
49
|
uploadBaseline: EventEmitter<uploadBaselineEvent>;
|
|
@@ -102,6 +103,7 @@ export declare class ApiStepComponent extends BaseStepComponent implements OnIni
|
|
|
102
103
|
get hasSubSteps(): boolean;
|
|
103
104
|
private updateConfig;
|
|
104
105
|
ngOnDestroy(): void;
|
|
106
|
+
onJumpToTimestamp(event: Event): void;
|
|
105
107
|
static ɵfac: i0.ɵɵFactoryDeclaration<ApiStepComponent, never>;
|
|
106
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ApiStepComponent, "cqa-api-step", never, { "id": "id"; "testStepResultId": "testStepResultId"; "stepNumber": "stepNumber"; "title": "title"; "status": "status"; "duration": "duration"; "timingBreakdown": "timingBreakdown"; "expanded": "expanded"; "method": "method"; "endpoint": "endpoint"; "statusCode": "statusCode"; "responseTime": "responseTime"; "requestBody": "requestBody"; "responseBody": "responseBody"; "requestHeaders": "requestHeaders"; "responseHeaders": "responseHeaders"; "assertions": "assertions"; "initialActions": "initialActions"; "failureDetails": "failureDetails"; "reasoning": "reasoning"; "confidence": "confidence"; "stepDeleted": "stepDeleted"; "isUploadingBaseline": "isUploadingBaseline"; "isMakingCurrentBaseline": "isMakingCurrentBaseline"; "isLive": "isLive"; "selfHealAnalysis": "selfHealAnalysis"; "getSelfHealLoadingStatesHandler": "getSelfHealLoadingStatesHandler"; "onStepClickHandler": "onStepClickHandler"; "onJsonPathCopiedHandler": "onJsonPathCopiedHandler"; "step": "step"; }, { "makeCurrentBaseline": "makeCurrentBaseline"; "uploadBaseline": "uploadBaseline"; "analyze": "analyze"; "viewFullLogs": "viewFullLogs"; "selfHealAction": "selfHealAction"; "jsonPathCopied": "jsonPathCopied"; }, never, never>;
|
|
108
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ApiStepComponent, "cqa-api-step", never, { "id": "id"; "testStepResultId": "testStepResultId"; "stepNumber": "stepNumber"; "title": "title"; "status": "status"; "duration": "duration"; "timingBreakdown": "timingBreakdown"; "expanded": "expanded"; "method": "method"; "endpoint": "endpoint"; "statusCode": "statusCode"; "responseTime": "responseTime"; "requestBody": "requestBody"; "responseBody": "responseBody"; "requestHeaders": "requestHeaders"; "responseHeaders": "responseHeaders"; "assertions": "assertions"; "initialActions": "initialActions"; "failureDetails": "failureDetails"; "reasoning": "reasoning"; "confidence": "confidence"; "stepDeleted": "stepDeleted"; "isUploadingBaseline": "isUploadingBaseline"; "isMakingCurrentBaseline": "isMakingCurrentBaseline"; "isLive": "isLive"; "selfHealAnalysis": "selfHealAnalysis"; "getSelfHealLoadingStatesHandler": "getSelfHealLoadingStatesHandler"; "onStepClickHandler": "onStepClickHandler"; "onJsonPathCopiedHandler": "onJsonPathCopiedHandler"; "jumpToTimestampHandler": "jumpToTimestampHandler"; "step": "step"; }, { "makeCurrentBaseline": "makeCurrentBaseline"; "uploadBaseline": "uploadBaseline"; "analyze": "analyze"; "viewFullLogs": "viewFullLogs"; "selfHealAction": "selfHealAction"; "jsonPathCopied": "jsonPathCopied"; }, never, never>;
|
|
107
109
|
}
|
|
@@ -15,6 +15,7 @@ export declare abstract class BaseStepComponent implements OnInit {
|
|
|
15
15
|
getStatusColorClass(status: StepStatus): string;
|
|
16
16
|
getStatusBgColorClass(status: StepStatus): string;
|
|
17
17
|
formatDuration(seconds: number): string;
|
|
18
|
+
formatDurationClock(milliseconds: number): string;
|
|
18
19
|
static ɵfac: i0.ɵɵFactoryDeclaration<BaseStepComponent, never>;
|
|
19
20
|
static ɵcmp: i0.ɵɵComponentDeclaration<BaseStepComponent, "cqa-base-step", never, { "config": "config"; }, { "toggleExpanded": "toggleExpanded"; }, never, never>;
|
|
20
21
|
}
|
|
@@ -70,6 +70,7 @@ export declare class BasicStepComponent extends BaseStepComponent implements OnI
|
|
|
70
70
|
text: string;
|
|
71
71
|
testStepResultId: string;
|
|
72
72
|
}) => void;
|
|
73
|
+
jumpToTimestampHandler?: (timestamp: number, testStepId?: number | string) => void;
|
|
73
74
|
downloadingStepId: string | null;
|
|
74
75
|
step?: any;
|
|
75
76
|
makeCurrentBaseline: EventEmitter<makeCurrentBaselineEvent>;
|
|
@@ -95,6 +96,7 @@ export declare class BasicStepComponent extends BaseStepComponent implements OnI
|
|
|
95
96
|
markStepLoaded(step: ExecutionStepConfig): void;
|
|
96
97
|
toggleHeader(event?: Event): void;
|
|
97
98
|
isStepLoading(): boolean;
|
|
99
|
+
onJumpToTimestamp(event: Event): void;
|
|
98
100
|
static ɵfac: i0.ɵɵFactoryDeclaration<BasicStepComponent, never>;
|
|
99
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<BasicStepComponent, "cqa-basic-step", never, { "id": "id"; "testStepResultId": "testStepResultId"; "stepNumber": "stepNumber"; "title": "title"; "status": "status"; "duration": "duration"; "timingBreakdown": "timingBreakdown"; "expanded": "expanded"; "subSteps": "subSteps"; "selfHealAnalysis": "selfHealAnalysis"; "selfHealed": "selfHealed"; "selfHealDuration": "selfHealDuration"; "failureDetails": "failureDetails"; "reasoning": "reasoning"; "confidence": "confidence"; "stepDeleted": "stepDeleted"; "isUploadingBaseline": "isUploadingBaseline"; "isMakingCurrentBaseline": "isMakingCurrentBaseline"; "isLive": "isLive"; "nestedSteps": "nestedSteps"; "hasChild": "hasChild"; "isLoading": "isLoading"; "onExpandHandler": "onExpandHandler"; "getConditionBranchesHandler": "getConditionBranchesHandler"; "onConditionBranchClickHandler": "onConditionBranchClickHandler"; "isStepLoadingHandler": "isStepLoadingHandler"; "isStepExpandedHandler": "isStepExpandedHandler"; "convertMsToSecondsHandler": "convertMsToSecondsHandler"; "formatFailureDetailsHandler": "formatFailureDetailsHandler"; "getSelfHealAnalysisHandler": "getSelfHealAnalysisHandler"; "onMakeCurrentBaselineHandler": "onMakeCurrentBaselineHandler"; "onUploadBaselineHandler": "onUploadBaselineHandler"; "onAnalyzeHandler": "onAnalyzeHandler"; "onViewFullLogsHandler": "onViewFullLogsHandler"; "onSelfHealActionHandler": "onSelfHealActionHandler"; "getSelfHealLoadingStatesHandler": "getSelfHealLoadingStatesHandler"; "getLoopIterationsHandler": "getLoopIterationsHandler"; "getApiAssertionsHandler": "getApiAssertionsHandler"; "formatActionsHandler": "formatActionsHandler"; "onViewAllIterationsHandler": "onViewAllIterationsHandler"; "onStepClickHandler": "onStepClickHandler"; "onJsonPathCopiedHandler": "onJsonPathCopiedHandler"; "onDownloadHandler": "onDownloadHandler"; "onFilePathCopiedHandler": "onFilePathCopiedHandler"; "onTextCopiedHandler": "onTextCopiedHandler"; "downloadingStepId": "downloadingStepId"; "step": "step"; }, { "makeCurrentBaseline": "makeCurrentBaseline"; "uploadBaseline": "uploadBaseline"; "analyze": "analyze"; "viewFullLogs": "viewFullLogs"; "selfHealAction": "selfHealAction"; }, never, never>;
|
|
101
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BasicStepComponent, "cqa-basic-step", never, { "id": "id"; "testStepResultId": "testStepResultId"; "stepNumber": "stepNumber"; "title": "title"; "status": "status"; "duration": "duration"; "timingBreakdown": "timingBreakdown"; "expanded": "expanded"; "subSteps": "subSteps"; "selfHealAnalysis": "selfHealAnalysis"; "selfHealed": "selfHealed"; "selfHealDuration": "selfHealDuration"; "failureDetails": "failureDetails"; "reasoning": "reasoning"; "confidence": "confidence"; "stepDeleted": "stepDeleted"; "isUploadingBaseline": "isUploadingBaseline"; "isMakingCurrentBaseline": "isMakingCurrentBaseline"; "isLive": "isLive"; "nestedSteps": "nestedSteps"; "hasChild": "hasChild"; "isLoading": "isLoading"; "onExpandHandler": "onExpandHandler"; "getConditionBranchesHandler": "getConditionBranchesHandler"; "onConditionBranchClickHandler": "onConditionBranchClickHandler"; "isStepLoadingHandler": "isStepLoadingHandler"; "isStepExpandedHandler": "isStepExpandedHandler"; "convertMsToSecondsHandler": "convertMsToSecondsHandler"; "formatFailureDetailsHandler": "formatFailureDetailsHandler"; "getSelfHealAnalysisHandler": "getSelfHealAnalysisHandler"; "onMakeCurrentBaselineHandler": "onMakeCurrentBaselineHandler"; "onUploadBaselineHandler": "onUploadBaselineHandler"; "onAnalyzeHandler": "onAnalyzeHandler"; "onViewFullLogsHandler": "onViewFullLogsHandler"; "onSelfHealActionHandler": "onSelfHealActionHandler"; "getSelfHealLoadingStatesHandler": "getSelfHealLoadingStatesHandler"; "getLoopIterationsHandler": "getLoopIterationsHandler"; "getApiAssertionsHandler": "getApiAssertionsHandler"; "formatActionsHandler": "formatActionsHandler"; "onViewAllIterationsHandler": "onViewAllIterationsHandler"; "onStepClickHandler": "onStepClickHandler"; "onJsonPathCopiedHandler": "onJsonPathCopiedHandler"; "onDownloadHandler": "onDownloadHandler"; "onFilePathCopiedHandler": "onFilePathCopiedHandler"; "onTextCopiedHandler": "onTextCopiedHandler"; "jumpToTimestampHandler": "jumpToTimestampHandler"; "downloadingStepId": "downloadingStepId"; "step": "step"; }, { "makeCurrentBaseline": "makeCurrentBaseline"; "uploadBaseline": "uploadBaseline"; "analyze": "analyze"; "viewFullLogs": "viewFullLogs"; "selfHealAction": "selfHealAction"; }, never, never>;
|
|
100
102
|
}
|
|
@@ -69,6 +69,7 @@ export declare class ConditionStepComponent extends BaseStepComponent implements
|
|
|
69
69
|
text: string;
|
|
70
70
|
testStepResultId: string;
|
|
71
71
|
}) => void;
|
|
72
|
+
jumpToTimestampHandler?: (timestamp: number, testStepId?: number | string) => void;
|
|
72
73
|
downloadingStepId: string | null;
|
|
73
74
|
step?: any;
|
|
74
75
|
onBranchClickEvent: EventEmitter<ConditionBranch>;
|
|
@@ -111,6 +112,7 @@ export declare class ConditionStepComponent extends BaseStepComponent implements
|
|
|
111
112
|
* Check if any branch is executed.
|
|
112
113
|
*/
|
|
113
114
|
private hasAnyExecutedBranch;
|
|
115
|
+
onJumpToTimestamp(event: Event): void;
|
|
114
116
|
static ɵfac: i0.ɵɵFactoryDeclaration<ConditionStepComponent, never>;
|
|
115
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ConditionStepComponent, "cqa-condition-step", never, { "id": "id"; "testStepResultId": "testStepResultId"; "stepNumber": "stepNumber"; "title": "title"; "status": "status"; "duration": "duration"; "timingBreakdown": "timingBreakdown"; "expanded": "expanded"; "conditionText": "conditionText"; "branches": "branches"; "failureDetails": "failureDetails"; "reasoning": "reasoning"; "confidence": "confidence"; "selfHealAnalysis": "selfHealAnalysis"; "isLoading": "isLoading"; "nestedSteps": "nestedSteps"; "hasChild": "hasChild"; "stepDeleted": "stepDeleted"; "ifChild": "ifChild"; "activeBranchStepId": "activeBranchStepId"; "onExpandHandler": "onExpandHandler"; "getConditionBranchesHandler": "getConditionBranchesHandler"; "isStepLoadingHandler": "isStepLoadingHandler"; "isStepExpandedHandler": "isStepExpandedHandler"; "convertMsToSecondsHandler": "convertMsToSecondsHandler"; "formatFailureDetailsHandler": "formatFailureDetailsHandler"; "getSelfHealAnalysisHandler": "getSelfHealAnalysisHandler"; "onMakeCurrentBaselineHandler": "onMakeCurrentBaselineHandler"; "onUploadBaselineHandler": "onUploadBaselineHandler"; "onAnalyzeHandler": "onAnalyzeHandler"; "onViewFullLogsHandler": "onViewFullLogsHandler"; "onSelfHealActionHandler": "onSelfHealActionHandler"; "getSelfHealLoadingStatesHandler": "getSelfHealLoadingStatesHandler"; "getLoopIterationsHandler": "getLoopIterationsHandler"; "getApiAssertionsHandler": "getApiAssertionsHandler"; "formatActionsHandler": "formatActionsHandler"; "onViewAllIterationsHandler": "onViewAllIterationsHandler"; "onConditionBranchClickHandler": "onConditionBranchClickHandler"; "onStepClickHandler": "onStepClickHandler"; "onJsonPathCopiedHandler": "onJsonPathCopiedHandler"; "onDownloadHandler": "onDownloadHandler"; "onFilePathCopiedHandler": "onFilePathCopiedHandler"; "onTextCopiedHandler": "onTextCopiedHandler"; "downloadingStepId": "downloadingStepId"; "step": "step"; "isUploadingBaseline": "isUploadingBaseline"; "isMakingCurrentBaseline": "isMakingCurrentBaseline"; "isLive": "isLive"; }, { "onBranchClickEvent": "onBranchClickEvent"; "onExpand": "onExpand"; "makeCurrentBaseline": "makeCurrentBaseline"; "uploadBaseline": "uploadBaseline"; "analyze": "analyze"; "viewFullLogs": "viewFullLogs"; "selfHealAction": "selfHealAction"; }, never, never>;
|
|
117
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ConditionStepComponent, "cqa-condition-step", never, { "id": "id"; "testStepResultId": "testStepResultId"; "stepNumber": "stepNumber"; "title": "title"; "status": "status"; "duration": "duration"; "timingBreakdown": "timingBreakdown"; "expanded": "expanded"; "conditionText": "conditionText"; "branches": "branches"; "failureDetails": "failureDetails"; "reasoning": "reasoning"; "confidence": "confidence"; "selfHealAnalysis": "selfHealAnalysis"; "isLoading": "isLoading"; "nestedSteps": "nestedSteps"; "hasChild": "hasChild"; "stepDeleted": "stepDeleted"; "ifChild": "ifChild"; "activeBranchStepId": "activeBranchStepId"; "onExpandHandler": "onExpandHandler"; "getConditionBranchesHandler": "getConditionBranchesHandler"; "isStepLoadingHandler": "isStepLoadingHandler"; "isStepExpandedHandler": "isStepExpandedHandler"; "convertMsToSecondsHandler": "convertMsToSecondsHandler"; "formatFailureDetailsHandler": "formatFailureDetailsHandler"; "getSelfHealAnalysisHandler": "getSelfHealAnalysisHandler"; "onMakeCurrentBaselineHandler": "onMakeCurrentBaselineHandler"; "onUploadBaselineHandler": "onUploadBaselineHandler"; "onAnalyzeHandler": "onAnalyzeHandler"; "onViewFullLogsHandler": "onViewFullLogsHandler"; "onSelfHealActionHandler": "onSelfHealActionHandler"; "getSelfHealLoadingStatesHandler": "getSelfHealLoadingStatesHandler"; "getLoopIterationsHandler": "getLoopIterationsHandler"; "getApiAssertionsHandler": "getApiAssertionsHandler"; "formatActionsHandler": "formatActionsHandler"; "onViewAllIterationsHandler": "onViewAllIterationsHandler"; "onConditionBranchClickHandler": "onConditionBranchClickHandler"; "onStepClickHandler": "onStepClickHandler"; "onJsonPathCopiedHandler": "onJsonPathCopiedHandler"; "onDownloadHandler": "onDownloadHandler"; "onFilePathCopiedHandler": "onFilePathCopiedHandler"; "onTextCopiedHandler": "onTextCopiedHandler"; "jumpToTimestampHandler": "jumpToTimestampHandler"; "downloadingStepId": "downloadingStepId"; "step": "step"; "isUploadingBaseline": "isUploadingBaseline"; "isMakingCurrentBaseline": "isMakingCurrentBaseline"; "isLive": "isLive"; }, { "onBranchClickEvent": "onBranchClickEvent"; "onExpand": "onExpand"; "makeCurrentBaseline": "makeCurrentBaseline"; "uploadBaseline": "uploadBaseline"; "analyze": "analyze"; "viewFullLogs": "viewFullLogs"; "selfHealAction": "selfHealAction"; }, never, never>;
|
|
116
118
|
}
|
|
@@ -35,6 +35,7 @@ export declare class DbVerificationStepComponent extends BaseStepComponent imple
|
|
|
35
35
|
};
|
|
36
36
|
};
|
|
37
37
|
onStepClickHandler?: (step: ExecutionStepConfig, event?: Event) => void;
|
|
38
|
+
jumpToTimestampHandler?: (timestamp: number, testStepId?: number | string) => void;
|
|
38
39
|
onJsonPathCopiedHandler?: (event: {
|
|
39
40
|
path: string;
|
|
40
41
|
source: string;
|
|
@@ -103,6 +104,7 @@ export declare class DbVerificationStepComponent extends BaseStepComponent imple
|
|
|
103
104
|
onAnalyze(): void;
|
|
104
105
|
onViewFullLogs(): void;
|
|
105
106
|
onSelfHealAction(event: SelfHealActionEvent): void;
|
|
107
|
+
onJumpToTimestamp(event: Event): void;
|
|
106
108
|
static ɵfac: i0.ɵɵFactoryDeclaration<DbVerificationStepComponent, never>;
|
|
107
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DbVerificationStepComponent, "cqa-db-verification-step", never, { "id": "id"; "testStepResultId": "testStepResultId"; "stepNumber": "stepNumber"; "title": "title"; "status": "status"; "duration": "duration"; "timingBreakdown": "timingBreakdown"; "expanded": "expanded"; "dbTestResult": "dbTestResult"; "dbConfig": "dbConfig"; "failureDetails": "failureDetails"; "reasoning": "reasoning"; "confidence": "confidence"; "stepDeleted": "stepDeleted"; "isUploadingBaseline": "isUploadingBaseline"; "isMakingCurrentBaseline": "isMakingCurrentBaseline"; "selfHealAnalysis": "selfHealAnalysis"; "getSelfHealLoadingStatesHandler": "getSelfHealLoadingStatesHandler"; "onStepClickHandler": "onStepClickHandler"; "onJsonPathCopiedHandler": "onJsonPathCopiedHandler"; "isLive": "isLive"; "step": "step"; }, { "makeCurrentBaseline": "makeCurrentBaseline"; "uploadBaseline": "uploadBaseline"; "analyze": "analyze"; "viewFullLogs": "viewFullLogs"; "selfHealAction": "selfHealAction"; }, never, never>;
|
|
109
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DbVerificationStepComponent, "cqa-db-verification-step", never, { "id": "id"; "testStepResultId": "testStepResultId"; "stepNumber": "stepNumber"; "title": "title"; "status": "status"; "duration": "duration"; "timingBreakdown": "timingBreakdown"; "expanded": "expanded"; "dbTestResult": "dbTestResult"; "dbConfig": "dbConfig"; "failureDetails": "failureDetails"; "reasoning": "reasoning"; "confidence": "confidence"; "stepDeleted": "stepDeleted"; "isUploadingBaseline": "isUploadingBaseline"; "isMakingCurrentBaseline": "isMakingCurrentBaseline"; "selfHealAnalysis": "selfHealAnalysis"; "getSelfHealLoadingStatesHandler": "getSelfHealLoadingStatesHandler"; "onStepClickHandler": "onStepClickHandler"; "jumpToTimestampHandler": "jumpToTimestampHandler"; "onJsonPathCopiedHandler": "onJsonPathCopiedHandler"; "isLive": "isLive"; "step": "step"; }, { "makeCurrentBaseline": "makeCurrentBaseline"; "uploadBaseline": "uploadBaseline"; "analyze": "analyze"; "viewFullLogs": "viewFullLogs"; "selfHealAction": "selfHealAction"; }, never, never>;
|
|
108
110
|
}
|
package/lib/execution-screen/document-verification-step/document-verification-step.component.d.ts
CHANGED
|
@@ -13,10 +13,13 @@ export declare class DocumentVerificationStepComponent extends BaseStepComponent
|
|
|
13
13
|
documentScreenshot?: string;
|
|
14
14
|
extractedFields: ExtractedField[];
|
|
15
15
|
verificationChecks: VerificationCheck[];
|
|
16
|
+
step?: any;
|
|
17
|
+
jumpToTimestampHandler?: (timestamp: number, testStepId?: number | string) => void;
|
|
16
18
|
config: DocumentVerificationStepConfig;
|
|
17
19
|
ngOnInit(): void;
|
|
18
20
|
ngOnChanges(changes: SimpleChanges): void;
|
|
19
21
|
copyToClipboard(text: string): void;
|
|
22
|
+
onJumpToTimestamp(event: Event): void;
|
|
20
23
|
static ɵfac: i0.ɵɵFactoryDeclaration<DocumentVerificationStepComponent, never>;
|
|
21
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DocumentVerificationStepComponent, "cqa-document-verification-step", never, { "id": "id"; "stepNumber": "stepNumber"; "title": "title"; "status": "status"; "duration": "duration"; "timingBreakdown": "timingBreakdown"; "expanded": "expanded"; "documentScreenshot": "documentScreenshot"; "extractedFields": "extractedFields"; "verificationChecks": "verificationChecks"; }, {}, never, never>;
|
|
24
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DocumentVerificationStepComponent, "cqa-document-verification-step", never, { "id": "id"; "stepNumber": "stepNumber"; "title": "title"; "status": "status"; "duration": "duration"; "timingBreakdown": "timingBreakdown"; "expanded": "expanded"; "documentScreenshot": "documentScreenshot"; "extractedFields": "extractedFields"; "verificationChecks": "verificationChecks"; "step": "step"; "jumpToTimestampHandler": "jumpToTimestampHandler"; }, {}, never, never>;
|
|
22
25
|
}
|
|
@@ -62,6 +62,10 @@ export interface BaseStepConfig {
|
|
|
62
62
|
reasoning?: string[];
|
|
63
63
|
confidence?: string;
|
|
64
64
|
stepDeleted?: boolean;
|
|
65
|
+
executedResult?: {
|
|
66
|
+
video_start_time: number;
|
|
67
|
+
video_end_time: number;
|
|
68
|
+
};
|
|
65
69
|
selectedIterationId?: string;
|
|
66
70
|
}
|
|
67
71
|
export interface SelfHealAnalysisData {
|
|
@@ -18,6 +18,8 @@ export declare class FileDownloadStepComponent extends BaseStepComponent impleme
|
|
|
18
18
|
downloaded: boolean;
|
|
19
19
|
stepDeleted?: boolean;
|
|
20
20
|
isDownloading?: boolean;
|
|
21
|
+
step?: any;
|
|
22
|
+
jumpToTimestampHandler?: (timestamp: number, testStepId?: number | string) => void;
|
|
21
23
|
download: EventEmitter<{
|
|
22
24
|
fileName: string;
|
|
23
25
|
filePath?: string;
|
|
@@ -43,6 +45,7 @@ export declare class FileDownloadStepComponent extends BaseStepComponent impleme
|
|
|
43
45
|
copyToClipboard(text: string): void;
|
|
44
46
|
copyFilePath(): void;
|
|
45
47
|
ngOnDestroy(): void;
|
|
48
|
+
onJumpToTimestamp(event: Event): void;
|
|
46
49
|
static ɵfac: i0.ɵɵFactoryDeclaration<FileDownloadStepComponent, never>;
|
|
47
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FileDownloadStepComponent, "cqa-file-download-step", never, { "id": "id"; "testStepResultId": "testStepResultId"; "stepNumber": "stepNumber"; "title": "title"; "status": "status"; "duration": "duration"; "timingBreakdown": "timingBreakdown"; "expanded": "expanded"; "fileName": "fileName"; "fileType": "fileType"; "fileSize": "fileSize"; "filePath": "filePath"; "downloaded": "downloaded"; "stepDeleted": "stepDeleted"; "isDownloading": "isDownloading"; }, { "download": "download"; "filePathCopied": "filePathCopied"; "textCopied": "textCopied"; }, never, never>;
|
|
50
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FileDownloadStepComponent, "cqa-file-download-step", never, { "id": "id"; "testStepResultId": "testStepResultId"; "stepNumber": "stepNumber"; "title": "title"; "status": "status"; "duration": "duration"; "timingBreakdown": "timingBreakdown"; "expanded": "expanded"; "fileName": "fileName"; "fileType": "fileType"; "fileSize": "fileSize"; "filePath": "filePath"; "downloaded": "downloaded"; "stepDeleted": "stepDeleted"; "isDownloading": "isDownloading"; "step": "step"; "jumpToTimestampHandler": "jumpToTimestampHandler"; }, { "download": "download"; "filePathCopied": "filePathCopied"; "textCopied": "textCopied"; }, never, never>;
|
|
48
51
|
}
|
|
@@ -66,6 +66,7 @@ export declare class LoopStepComponent extends BaseStepComponent implements OnIn
|
|
|
66
66
|
text: string;
|
|
67
67
|
testStepResultId: string;
|
|
68
68
|
}) => void;
|
|
69
|
+
jumpToTimestampHandler?: (timestamp: number, testStepId?: number | string) => void;
|
|
69
70
|
downloadingStepId: string | null;
|
|
70
71
|
step?: any;
|
|
71
72
|
failureDetails?: FailureDetails;
|
|
@@ -142,6 +143,7 @@ export declare class LoopStepComponent extends BaseStepComponent implements OnIn
|
|
|
142
143
|
getLoopDefaultIteration(step: ExecutionStepConfig): 'first' | 'last' | undefined;
|
|
143
144
|
getLoopShowViewAllIterations(step: ExecutionStepConfig): boolean | undefined;
|
|
144
145
|
isStepLoading(): boolean;
|
|
146
|
+
onJumpToTimestamp(event: Event): void;
|
|
145
147
|
static ɵfac: i0.ɵɵFactoryDeclaration<LoopStepComponent, never>;
|
|
146
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LoopStepComponent, "cqa-loop-step", never, { "id": "id"; "testStepResultId": "testStepResultId"; "stepNumber": "stepNumber"; "title": "title"; "status": "status"; "duration": "duration"; "timingBreakdown": "timingBreakdown"; "expanded": "expanded"; "loopType": "loopType"; "iterations": "iterations"; "selectedIterationId": "selectedIterationId"; "defaultIteration": "defaultIteration"; "nestedSteps": "nestedSteps"; "showViewAllIterations": "showViewAllIterations"; "hasChild": "hasChild"; "isLive": "isLive"; "isLoading": "isLoading"; "stepDeleted": "stepDeleted"; "onExpandHandler": "onExpandHandler"; "getConditionBranchesHandler": "getConditionBranchesHandler"; "onConditionBranchClickHandler": "onConditionBranchClickHandler"; "isStepLoadingHandler": "isStepLoadingHandler"; "isStepExpandedHandler": "isStepExpandedHandler"; "convertMsToSecondsHandler": "convertMsToSecondsHandler"; "formatFailureDetailsHandler": "formatFailureDetailsHandler"; "getSelfHealAnalysisHandler": "getSelfHealAnalysisHandler"; "onMakeCurrentBaselineHandler": "onMakeCurrentBaselineHandler"; "onUploadBaselineHandler": "onUploadBaselineHandler"; "onAnalyzeHandler": "onAnalyzeHandler"; "onViewFullLogsHandler": "onViewFullLogsHandler"; "onSelfHealActionHandler": "onSelfHealActionHandler"; "getSelfHealLoadingStatesHandler": "getSelfHealLoadingStatesHandler"; "getLoopIterationsHandler": "getLoopIterationsHandler"; "getApiAssertionsHandler": "getApiAssertionsHandler"; "formatActionsHandler": "formatActionsHandler"; "onViewAllIterationsHandler": "onViewAllIterationsHandler"; "onStepClickHandler": "onStepClickHandler"; "onJsonPathCopiedHandler": "onJsonPathCopiedHandler"; "onDownloadHandler": "onDownloadHandler"; "onFilePathCopiedHandler": "onFilePathCopiedHandler"; "onTextCopiedHandler": "onTextCopiedHandler"; "downloadingStepId": "downloadingStepId"; "step": "step"; "failureDetails": "failureDetails"; "reasoning": "reasoning"; "confidence": "confidence"; "isUploadingBaseline": "isUploadingBaseline"; "isMakingCurrentBaseline": "isMakingCurrentBaseline"; "selfHealAnalysis": "selfHealAnalysis"; "iterationData": "iterationData"; }, { "makeCurrentBaseline": "makeCurrentBaseline"; "uploadBaseline": "uploadBaseline"; "analyze": "analyze"; "viewFullLogs": "viewFullLogs"; "selfHealAction": "selfHealAction"; "onExpand": "onExpand"; "onViewAllIterations": "onViewAllIterations"; "onIterationChange": "onIterationChange"; }, never, never>;
|
|
148
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LoopStepComponent, "cqa-loop-step", never, { "id": "id"; "testStepResultId": "testStepResultId"; "stepNumber": "stepNumber"; "title": "title"; "status": "status"; "duration": "duration"; "timingBreakdown": "timingBreakdown"; "expanded": "expanded"; "loopType": "loopType"; "iterations": "iterations"; "selectedIterationId": "selectedIterationId"; "defaultIteration": "defaultIteration"; "nestedSteps": "nestedSteps"; "showViewAllIterations": "showViewAllIterations"; "hasChild": "hasChild"; "isLive": "isLive"; "isLoading": "isLoading"; "stepDeleted": "stepDeleted"; "onExpandHandler": "onExpandHandler"; "getConditionBranchesHandler": "getConditionBranchesHandler"; "onConditionBranchClickHandler": "onConditionBranchClickHandler"; "isStepLoadingHandler": "isStepLoadingHandler"; "isStepExpandedHandler": "isStepExpandedHandler"; "convertMsToSecondsHandler": "convertMsToSecondsHandler"; "formatFailureDetailsHandler": "formatFailureDetailsHandler"; "getSelfHealAnalysisHandler": "getSelfHealAnalysisHandler"; "onMakeCurrentBaselineHandler": "onMakeCurrentBaselineHandler"; "onUploadBaselineHandler": "onUploadBaselineHandler"; "onAnalyzeHandler": "onAnalyzeHandler"; "onViewFullLogsHandler": "onViewFullLogsHandler"; "onSelfHealActionHandler": "onSelfHealActionHandler"; "getSelfHealLoadingStatesHandler": "getSelfHealLoadingStatesHandler"; "getLoopIterationsHandler": "getLoopIterationsHandler"; "getApiAssertionsHandler": "getApiAssertionsHandler"; "formatActionsHandler": "formatActionsHandler"; "onViewAllIterationsHandler": "onViewAllIterationsHandler"; "onStepClickHandler": "onStepClickHandler"; "onJsonPathCopiedHandler": "onJsonPathCopiedHandler"; "onDownloadHandler": "onDownloadHandler"; "onFilePathCopiedHandler": "onFilePathCopiedHandler"; "onTextCopiedHandler": "onTextCopiedHandler"; "jumpToTimestampHandler": "jumpToTimestampHandler"; "downloadingStepId": "downloadingStepId"; "step": "step"; "failureDetails": "failureDetails"; "reasoning": "reasoning"; "confidence": "confidence"; "isUploadingBaseline": "isUploadingBaseline"; "isMakingCurrentBaseline": "isMakingCurrentBaseline"; "selfHealAnalysis": "selfHealAnalysis"; "iterationData": "iterationData"; }, { "makeCurrentBaseline": "makeCurrentBaseline"; "uploadBaseline": "uploadBaseline"; "analyze": "analyze"; "viewFullLogs": "viewFullLogs"; "selfHealAction": "selfHealAction"; "onExpand": "onExpand"; "onViewAllIterations": "onViewAllIterations"; "onIterationChange": "onIterationChange"; }, never, never>;
|
|
147
149
|
}
|
|
@@ -61,6 +61,7 @@ export declare class StepGroupComponent extends BaseStepComponent implements OnI
|
|
|
61
61
|
text: string;
|
|
62
62
|
testStepResultId: string;
|
|
63
63
|
}) => void;
|
|
64
|
+
jumpToTimestampHandler?: (timestamp: number, testStepId?: number | string) => void;
|
|
64
65
|
downloadingStepId: string | null;
|
|
65
66
|
isUploadingBaseline?: any;
|
|
66
67
|
isMakingCurrentBaseline?: any;
|
|
@@ -101,6 +102,7 @@ export declare class StepGroupComponent extends BaseStepComponent implements OnI
|
|
|
101
102
|
getLoopDefaultIteration(step: ExecutionStepConfig): 'first' | 'last' | undefined;
|
|
102
103
|
getLoopShowViewAllIterations(step: ExecutionStepConfig): boolean | undefined;
|
|
103
104
|
isStepLoading(): boolean;
|
|
105
|
+
onJumpToTimestamp(event: Event): void;
|
|
104
106
|
static ɵfac: i0.ɵɵFactoryDeclaration<StepGroupComponent, never>;
|
|
105
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<StepGroupComponent, "cqa-step-group", never, { "id": "id"; "testStepResultId": "testStepResultId"; "stepNumber": "stepNumber"; "title": "title"; "status": "status"; "duration": "duration"; "timingBreakdown": "timingBreakdown"; "expanded": "expanded"; "groupName": "groupName"; "steps": "steps"; "hasChild": "hasChild"; "isLoading": "isLoading"; "stepDeleted": "stepDeleted"; "onExpandHandler": "onExpandHandler"; "getConditionBranchesHandler": "getConditionBranchesHandler"; "onConditionBranchClickHandler": "onConditionBranchClickHandler"; "isStepLoadingHandler": "isStepLoadingHandler"; "isStepExpandedHandler": "isStepExpandedHandler"; "convertMsToSecondsHandler": "convertMsToSecondsHandler"; "formatFailureDetailsHandler": "formatFailureDetailsHandler"; "getSelfHealAnalysisHandler": "getSelfHealAnalysisHandler"; "onMakeCurrentBaselineHandler": "onMakeCurrentBaselineHandler"; "onUploadBaselineHandler": "onUploadBaselineHandler"; "onAnalyzeHandler": "onAnalyzeHandler"; "onViewFullLogsHandler": "onViewFullLogsHandler"; "onSelfHealActionHandler": "onSelfHealActionHandler"; "getSelfHealLoadingStatesHandler": "getSelfHealLoadingStatesHandler"; "getLoopIterationsHandler": "getLoopIterationsHandler"; "getApiAssertionsHandler": "getApiAssertionsHandler"; "formatActionsHandler": "formatActionsHandler"; "onViewAllIterationsHandler": "onViewAllIterationsHandler"; "onStepClickHandler": "onStepClickHandler"; "onJsonPathCopiedHandler": "onJsonPathCopiedHandler"; "onDownloadHandler": "onDownloadHandler"; "onFilePathCopiedHandler": "onFilePathCopiedHandler"; "onTextCopiedHandler": "onTextCopiedHandler"; "downloadingStepId": "downloadingStepId"; "isUploadingBaseline": "isUploadingBaseline"; "isMakingCurrentBaseline": "isMakingCurrentBaseline"; "isLive": "isLive"; "step": "step"; }, { "onExpand": "onExpand"; }, never, never>;
|
|
107
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<StepGroupComponent, "cqa-step-group", never, { "id": "id"; "testStepResultId": "testStepResultId"; "stepNumber": "stepNumber"; "title": "title"; "status": "status"; "duration": "duration"; "timingBreakdown": "timingBreakdown"; "expanded": "expanded"; "groupName": "groupName"; "steps": "steps"; "hasChild": "hasChild"; "isLoading": "isLoading"; "stepDeleted": "stepDeleted"; "onExpandHandler": "onExpandHandler"; "getConditionBranchesHandler": "getConditionBranchesHandler"; "onConditionBranchClickHandler": "onConditionBranchClickHandler"; "isStepLoadingHandler": "isStepLoadingHandler"; "isStepExpandedHandler": "isStepExpandedHandler"; "convertMsToSecondsHandler": "convertMsToSecondsHandler"; "formatFailureDetailsHandler": "formatFailureDetailsHandler"; "getSelfHealAnalysisHandler": "getSelfHealAnalysisHandler"; "onMakeCurrentBaselineHandler": "onMakeCurrentBaselineHandler"; "onUploadBaselineHandler": "onUploadBaselineHandler"; "onAnalyzeHandler": "onAnalyzeHandler"; "onViewFullLogsHandler": "onViewFullLogsHandler"; "onSelfHealActionHandler": "onSelfHealActionHandler"; "getSelfHealLoadingStatesHandler": "getSelfHealLoadingStatesHandler"; "getLoopIterationsHandler": "getLoopIterationsHandler"; "getApiAssertionsHandler": "getApiAssertionsHandler"; "formatActionsHandler": "formatActionsHandler"; "onViewAllIterationsHandler": "onViewAllIterationsHandler"; "onStepClickHandler": "onStepClickHandler"; "onJsonPathCopiedHandler": "onJsonPathCopiedHandler"; "onDownloadHandler": "onDownloadHandler"; "onFilePathCopiedHandler": "onFilePathCopiedHandler"; "onTextCopiedHandler": "onTextCopiedHandler"; "jumpToTimestampHandler": "jumpToTimestampHandler"; "downloadingStepId": "downloadingStepId"; "isUploadingBaseline": "isUploadingBaseline"; "isMakingCurrentBaseline": "isMakingCurrentBaseline"; "isLive": "isLive"; "step": "step"; }, { "onExpand": "onExpand"; }, never, never>;
|
|
106
108
|
}
|
|
@@ -57,6 +57,7 @@ export declare class StepRendererComponent implements OnChanges, AfterViewInit,
|
|
|
57
57
|
text: string;
|
|
58
58
|
testStepResultId: string;
|
|
59
59
|
}) => void;
|
|
60
|
+
jumpToTimestampHandler?: (timestamp: number, testStepId?: number | string) => void;
|
|
60
61
|
downloadingStepId: string | null;
|
|
61
62
|
container: ViewContainerRef;
|
|
62
63
|
isLive: boolean;
|
|
@@ -93,5 +94,5 @@ export declare class StepRendererComponent implements OnChanges, AfterViewInit,
|
|
|
93
94
|
private loadComponent;
|
|
94
95
|
ngDoCheck(): void;
|
|
95
96
|
static ɵfac: i0.ɵɵFactoryDeclaration<StepRendererComponent, never>;
|
|
96
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<StepRendererComponent, "cqa-step-renderer", never, { "step": "step"; "onExpandHandler": "onExpandHandler"; "getConditionBranchesHandler": "getConditionBranchesHandler"; "isStepLoadingHandler": "isStepLoadingHandler"; "isStepExpandedHandler": "isStepExpandedHandler"; "convertMsToSecondsHandler": "convertMsToSecondsHandler"; "formatFailureDetailsHandler": "formatFailureDetailsHandler"; "getSelfHealAnalysisHandler": "getSelfHealAnalysisHandler"; "onMakeCurrentBaselineHandler": "onMakeCurrentBaselineHandler"; "onUploadBaselineHandler": "onUploadBaselineHandler"; "onAnalyzeHandler": "onAnalyzeHandler"; "onViewFullLogsHandler": "onViewFullLogsHandler"; "onSelfHealActionHandler": "onSelfHealActionHandler"; "getSelfHealLoadingStatesHandler": "getSelfHealLoadingStatesHandler"; "isUploadingBaseline": "isUploadingBaseline"; "isMakingCurrentBaseline": "isMakingCurrentBaseline"; "selectedIterationId": "selectedIterationId"; "getLoopIterationsHandler": "getLoopIterationsHandler"; "getApiAssertionsHandler": "getApiAssertionsHandler"; "formatActionsHandler": "formatActionsHandler"; "onViewAllIterationsHandler": "onViewAllIterationsHandler"; "onConditionBranchClickHandler": "onConditionBranchClickHandler"; "onStepClickHandler": "onStepClickHandler"; "onJsonPathCopiedHandler": "onJsonPathCopiedHandler"; "onDownloadHandler": "onDownloadHandler"; "onFilePathCopiedHandler": "onFilePathCopiedHandler"; "onTextCopiedHandler": "onTextCopiedHandler"; "downloadingStepId": "downloadingStepId"; "isLive": "isLive"; "stepNumber": "stepNumber"; }, { "componentReady": "componentReady"; }, never, never>;
|
|
97
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<StepRendererComponent, "cqa-step-renderer", never, { "step": "step"; "onExpandHandler": "onExpandHandler"; "getConditionBranchesHandler": "getConditionBranchesHandler"; "isStepLoadingHandler": "isStepLoadingHandler"; "isStepExpandedHandler": "isStepExpandedHandler"; "convertMsToSecondsHandler": "convertMsToSecondsHandler"; "formatFailureDetailsHandler": "formatFailureDetailsHandler"; "getSelfHealAnalysisHandler": "getSelfHealAnalysisHandler"; "onMakeCurrentBaselineHandler": "onMakeCurrentBaselineHandler"; "onUploadBaselineHandler": "onUploadBaselineHandler"; "onAnalyzeHandler": "onAnalyzeHandler"; "onViewFullLogsHandler": "onViewFullLogsHandler"; "onSelfHealActionHandler": "onSelfHealActionHandler"; "getSelfHealLoadingStatesHandler": "getSelfHealLoadingStatesHandler"; "isUploadingBaseline": "isUploadingBaseline"; "isMakingCurrentBaseline": "isMakingCurrentBaseline"; "selectedIterationId": "selectedIterationId"; "getLoopIterationsHandler": "getLoopIterationsHandler"; "getApiAssertionsHandler": "getApiAssertionsHandler"; "formatActionsHandler": "formatActionsHandler"; "onViewAllIterationsHandler": "onViewAllIterationsHandler"; "onConditionBranchClickHandler": "onConditionBranchClickHandler"; "onStepClickHandler": "onStepClickHandler"; "onJsonPathCopiedHandler": "onJsonPathCopiedHandler"; "onDownloadHandler": "onDownloadHandler"; "onFilePathCopiedHandler": "onFilePathCopiedHandler"; "onTextCopiedHandler": "onTextCopiedHandler"; "jumpToTimestampHandler": "jumpToTimestampHandler"; "downloadingStepId": "downloadingStepId"; "isLive": "isLive"; "stepNumber": "stepNumber"; }, { "componentReady": "componentReady"; }, never, never>;
|
|
97
98
|
}
|
|
@@ -3,7 +3,11 @@ import { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export interface StepMarker {
|
|
5
5
|
cumulativeDuration: number;
|
|
6
|
-
result: 'SUCCESS' | 'FAILURE';
|
|
6
|
+
result: 'SUCCESS' | 'FAILURE' | 'ABORTED' | 'SKIPPED';
|
|
7
|
+
testStepId?: number;
|
|
8
|
+
level?: number;
|
|
9
|
+
childSteps?: StepMarker[];
|
|
10
|
+
title?: string;
|
|
7
11
|
}
|
|
8
12
|
export declare type SegmentType = 'screenshots' | 'video' | 'trace';
|
|
9
13
|
declare type SegmentOption = {
|
|
@@ -39,11 +43,17 @@ export declare class SimulatorComponent implements AfterViewInit, OnDestroy, OnC
|
|
|
39
43
|
videoTimeUpdate: EventEmitter<number>;
|
|
40
44
|
videoPlay: EventEmitter<void>;
|
|
41
45
|
videoPause: EventEmitter<void>;
|
|
46
|
+
markerHit: EventEmitter<StepMarker>;
|
|
47
|
+
isVideoPlayingChange: EventEmitter<boolean>;
|
|
42
48
|
private _vplayer?;
|
|
43
49
|
set vplayerRef(ref: ElementRef<HTMLVideoElement> | undefined);
|
|
44
50
|
get vplayer(): ElementRef<HTMLVideoElement> | undefined;
|
|
45
|
-
|
|
46
|
-
|
|
51
|
+
private _timelineBar?;
|
|
52
|
+
set timelineBarRef(ref: ElementRef<HTMLDivElement> | undefined);
|
|
53
|
+
get timelineBar(): ElementRef<HTMLDivElement> | undefined;
|
|
54
|
+
private _speedControlContainer?;
|
|
55
|
+
set speedControlContainerRef(ref: ElementRef<HTMLDivElement> | undefined);
|
|
56
|
+
get speedControlContainer(): ElementRef<HTMLDivElement> | undefined;
|
|
47
57
|
progress: number;
|
|
48
58
|
dragging: boolean;
|
|
49
59
|
isPlaying: boolean;
|
|
@@ -52,7 +62,14 @@ export declare class SimulatorComponent implements AfterViewInit, OnDestroy, OnC
|
|
|
52
62
|
currentVideoIndex: number;
|
|
53
63
|
currentSpeed: string;
|
|
54
64
|
isSpeedControlOpen: boolean;
|
|
65
|
+
private detectedVideoDurations;
|
|
66
|
+
private wasPlayingBeforeDrag;
|
|
67
|
+
private playPromise;
|
|
68
|
+
private hitMarkers;
|
|
69
|
+
private playerState;
|
|
70
|
+
private operationQueue;
|
|
55
71
|
get hasDeviceFrame(): boolean;
|
|
72
|
+
get isPlayerSwitching(): boolean;
|
|
56
73
|
segments: SegmentOption[];
|
|
57
74
|
speedSegments: SegmentOption[];
|
|
58
75
|
private videoEventListenerCleanup;
|
|
@@ -60,6 +77,9 @@ export declare class SimulatorComponent implements AfterViewInit, OnDestroy, OnC
|
|
|
60
77
|
private dragMouseMoveHandler;
|
|
61
78
|
private dragMouseUpHandler;
|
|
62
79
|
private speedControlClickOutsideHandler;
|
|
80
|
+
private preloadVideoElement;
|
|
81
|
+
private preloadAllVideoElement;
|
|
82
|
+
private targetGlobalTimeDuringSwitch;
|
|
63
83
|
safeTraceUrl: SafeResourceUrl;
|
|
64
84
|
traceViewerLoading: boolean;
|
|
65
85
|
traceViewerError: boolean;
|
|
@@ -85,11 +105,72 @@ export declare class SimulatorComponent implements AfterViewInit, OnDestroy, OnC
|
|
|
85
105
|
ngAfterViewInit(): void;
|
|
86
106
|
ngOnChanges(changes: SimpleChanges): void;
|
|
87
107
|
ngOnDestroy(): void;
|
|
108
|
+
/**
|
|
109
|
+
* Seek video - public method (enqueues operation)
|
|
110
|
+
*/
|
|
88
111
|
seekToTime(milliseconds: number): void;
|
|
112
|
+
/**
|
|
113
|
+
* Seek to a global time on the combined timeline (converts to segment + local time)
|
|
114
|
+
*/
|
|
115
|
+
private seekToGlobalTime;
|
|
116
|
+
/**
|
|
117
|
+
* Seek video internal implementation (no enqueue - called from queue)
|
|
118
|
+
* This prevents pipeline read errors during rapid seek operations
|
|
119
|
+
*/
|
|
120
|
+
private seekToTimeInternal;
|
|
121
|
+
/**
|
|
122
|
+
* Toggle play/pause (now trivial with state machine)
|
|
123
|
+
*/
|
|
89
124
|
togglePlay(): void;
|
|
125
|
+
/**
|
|
126
|
+
* Play video - public method (enqueues operation)
|
|
127
|
+
*/
|
|
128
|
+
private playVideo;
|
|
129
|
+
/**
|
|
130
|
+
* Play video internal implementation (no enqueue - called from queue)
|
|
131
|
+
* This eliminates FFmpegDemuxer errors and play promise interruptions
|
|
132
|
+
*/
|
|
133
|
+
private playVideoInternal;
|
|
134
|
+
/**
|
|
135
|
+
* Pause video - public method (enqueues operation)
|
|
136
|
+
*/
|
|
137
|
+
private pauseVideo;
|
|
138
|
+
/**
|
|
139
|
+
* Pause video internal implementation (no enqueue - called from queue)
|
|
140
|
+
*/
|
|
141
|
+
private pauseVideoInternal;
|
|
142
|
+
/**
|
|
143
|
+
* Enqueue media operation to prevent race conditions
|
|
144
|
+
* This is the CRITICAL fix for FFmpegDemuxer errors and play promise interruptions
|
|
145
|
+
* All media operations (play, pause, seek, switch) go through this queue
|
|
146
|
+
*/
|
|
147
|
+
private enqueueOperation;
|
|
90
148
|
get hasMultipleVideos(): boolean;
|
|
149
|
+
/** Cumulative duration boundaries [ms]. segmentBoundaries[i] = sum of durations [0..i] */
|
|
150
|
+
get segmentBoundaries(): number[];
|
|
151
|
+
/** Total duration across all segments in ms */
|
|
152
|
+
get totalDuration(): number;
|
|
153
|
+
/** Video durations in ms (detected or from single video element) */
|
|
154
|
+
private get videoDurations();
|
|
155
|
+
get globalCurrentTime(): number;
|
|
156
|
+
private getActualGlobalTime;
|
|
157
|
+
/** Global step markers for rendering on the combined timeline */
|
|
158
|
+
get globalStepMarkers(): Array<{
|
|
159
|
+
globalTime: number;
|
|
160
|
+
result: StepMarker['result'];
|
|
161
|
+
testStepId?: number;
|
|
162
|
+
title?: string;
|
|
163
|
+
level?: number;
|
|
164
|
+
}>;
|
|
91
165
|
get currentVideoUrl(): string;
|
|
166
|
+
/**
|
|
167
|
+
* Reset video state - public method (enqueues operation)
|
|
168
|
+
*/
|
|
92
169
|
private resetVideoState;
|
|
170
|
+
/**
|
|
171
|
+
* Reset video state internal implementation (no enqueue - called from queue)
|
|
172
|
+
*/
|
|
173
|
+
private resetVideoStateInternal;
|
|
93
174
|
prevVideo(): void;
|
|
94
175
|
nextVideo(): void;
|
|
95
176
|
onTimelineClick(event: MouseEvent): void;
|
|
@@ -102,8 +183,39 @@ export declare class SimulatorComponent implements AfterViewInit, OnDestroy, OnC
|
|
|
102
183
|
onVideoCanPlay(): void;
|
|
103
184
|
onVideoEnded(): void;
|
|
104
185
|
private attachVideoListeners;
|
|
105
|
-
|
|
106
|
-
|
|
186
|
+
private schedulePreloadAllSegments;
|
|
187
|
+
private cancelPreloadAllSegments;
|
|
188
|
+
/**
|
|
189
|
+
* Preload all video URLs in sequence (first, then second, ...) so they are cached.
|
|
190
|
+
* When user jumps to any segment, that video is likely already loaded.
|
|
191
|
+
*/
|
|
192
|
+
private preloadAllSegments;
|
|
193
|
+
/** Preload next segment when ~5-10 seconds from ending to minimize switching delay */
|
|
194
|
+
private maybePreloadNextSegment;
|
|
195
|
+
private preloadNextSegment;
|
|
196
|
+
/**
|
|
197
|
+
* Detect actual video durations by loading video metadata
|
|
198
|
+
* This creates temporary video elements to read duration without playing
|
|
199
|
+
*/
|
|
200
|
+
private detectVideoDurations;
|
|
201
|
+
/**
|
|
202
|
+
* Get cumulative duration boundaries for each video
|
|
203
|
+
* Returns an array where each element is [startDuration, endDuration] for that video
|
|
204
|
+
* Uses detected video durations if available, otherwise falls back to videoDurations input
|
|
205
|
+
*/
|
|
206
|
+
private getVideoDurationBoundaries;
|
|
207
|
+
/**
|
|
208
|
+
* Flatten all markers recursively including childSteps
|
|
209
|
+
*/
|
|
210
|
+
private flattenMarkers;
|
|
211
|
+
private checkMarkerHit;
|
|
212
|
+
getGlobalMarkerResultColor(result: StepMarker['result']): string;
|
|
213
|
+
getGlobalMarkerColor(level?: number): string;
|
|
214
|
+
onMarkerClick(event: MouseEvent, marker: {
|
|
215
|
+
globalTime: number;
|
|
216
|
+
result: StepMarker['result'];
|
|
217
|
+
testStepId?: number;
|
|
218
|
+
}): void;
|
|
107
219
|
toggleFullScreen(): void;
|
|
108
220
|
onSegmentChange(value: string): void;
|
|
109
221
|
formatTime(seconds: number): string;
|
|
@@ -119,7 +231,11 @@ export declare class SimulatorComponent implements AfterViewInit, OnDestroy, OnC
|
|
|
119
231
|
private removeSpeedControlClickOutsideListener;
|
|
120
232
|
private updateSegments;
|
|
121
233
|
private onVideoElementReady;
|
|
234
|
+
private applyCurrentPlaybackRate;
|
|
235
|
+
private findVideoIndexForTimestamp;
|
|
236
|
+
private switchToVideoAndSeek;
|
|
237
|
+
private switchToVideoAndSeekInternal;
|
|
122
238
|
static ɵfac: i0.ɵɵFactoryDeclaration<SimulatorComponent, never>;
|
|
123
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SimulatorComponent, "cqa-simulator", never, { "videoUrl": "videoUrl"; "videoUrls": "videoUrls"; "videoCurrentDuration": "videoCurrentDuration"; "stepMarkers": "stepMarkers"; "screenShotUrl": "screenShotUrl"; "traceViewUrl": "traceViewUrl"; "platformName": "platformName"; "platformType": "platformType"; "platform": "platform"; "deviceName": "deviceName"; "isLive": "isLive"; "liveStatus": "liveStatus"; "liveLoadingLabel": "liveLoadingLabel"; "isContentVideoLoading": "isContentVideoLoading"; "failedStatusMessage": "failedStatusMessage"; "isVNCSessionIntruppted": "isVNCSessionIntruppted"; "vncSessionIntupptedMessage": "vncSessionIntupptedMessage"; "selectedView": "selectedView"; "hideVideoTab": "hideVideoTab"; "browserViewPort": "browserViewPort"; }, { "videoTimeUpdate": "videoTimeUpdate"; "videoPlay": "videoPlay"; "videoPause": "videoPause"; }, never, ["*"]>;
|
|
239
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SimulatorComponent, "cqa-simulator", never, { "videoUrl": "videoUrl"; "videoUrls": "videoUrls"; "videoCurrentDuration": "videoCurrentDuration"; "stepMarkers": "stepMarkers"; "screenShotUrl": "screenShotUrl"; "traceViewUrl": "traceViewUrl"; "platformName": "platformName"; "platformType": "platformType"; "platform": "platform"; "deviceName": "deviceName"; "isLive": "isLive"; "liveStatus": "liveStatus"; "liveLoadingLabel": "liveLoadingLabel"; "isContentVideoLoading": "isContentVideoLoading"; "failedStatusMessage": "failedStatusMessage"; "isVNCSessionIntruppted": "isVNCSessionIntruppted"; "vncSessionIntupptedMessage": "vncSessionIntupptedMessage"; "selectedView": "selectedView"; "hideVideoTab": "hideVideoTab"; "browserViewPort": "browserViewPort"; }, { "videoTimeUpdate": "videoTimeUpdate"; "videoPlay": "videoPlay"; "videoPause": "videoPause"; "markerHit": "markerHit"; "isVideoPlayingChange": "isVideoPlayingChange"; }, never, ["*"]>;
|
|
124
240
|
}
|
|
125
241
|
export {};
|