mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00
53 lines
1.8 KiB
TypeScript
53 lines
1.8 KiB
TypeScript
![]() |
/*
|
||
|
Copyright (c) Microsoft Corporation.
|
||
|
|
||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
you may not use this file except in compliance with the License.
|
||
|
You may obtain a copy of the License at
|
||
|
|
||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||
|
|
||
|
Unless required by applicable law or agreed to in writing, software
|
||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
See the License for the specific language governing permissions and
|
||
|
limitations under the License.
|
||
|
*/
|
||
|
|
||
|
import './recorder.css';
|
||
|
import * as React from 'react';
|
||
|
import type { CallLog, Mode, Source } from '../../server/supplements/recorder/recorderTypes';
|
||
|
import { Recorder } from './recorder';
|
||
|
|
||
|
declare global {
|
||
|
interface Window {
|
||
|
playwrightSetMode: (mode: Mode) => void;
|
||
|
playwrightSetPaused: (paused: boolean) => void;
|
||
|
playwrightSetSources: (sources: Source[]) => void;
|
||
|
playwrightUpdateLogs: (callLogs: CallLog[]) => void;
|
||
|
dispatch(data: any): Promise<void>;
|
||
|
playwrightSourcesEchoForTest: Source[];
|
||
|
}
|
||
|
}
|
||
|
|
||
|
export const Main: React.FC = ({
|
||
|
}) => {
|
||
|
const [sources, setSources] = React.useState<Source[]>([]);
|
||
|
const [paused, setPaused] = React.useState(false);
|
||
|
const [log, setLog] = React.useState(new Map<number, CallLog>());
|
||
|
const [mode, setMode] = React.useState<Mode>('none');
|
||
|
|
||
|
window.playwrightSetMode = setMode;
|
||
|
window.playwrightSetSources = setSources;
|
||
|
window.playwrightSetPaused = setPaused;
|
||
|
window.playwrightUpdateLogs = callLogs => {
|
||
|
const newLog = new Map<number, CallLog>(log);
|
||
|
for (const callLog of callLogs)
|
||
|
newLog.set(callLog.id, callLog);
|
||
|
setLog(newLog);
|
||
|
};
|
||
|
|
||
|
window.playwrightSourcesEchoForTest = sources;
|
||
|
return <Recorder sources={sources} paused={paused} log={log} mode={mode}/>;
|
||
|
};
|