redux-connected-devtools 1.0.2 → 1.0.4
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/components/DevInspector/DevInspector.js +12 -0
- package/{src/components/DevInspector/DevInspector.style.tsx → dist/components/DevInspector/DevInspector.style.js} +1 -3
- package/dist/components/DevList/DevList.js +24 -0
- package/{src/components/DevList/DevList.style.tsx → dist/components/DevList/DevList.style.js} +2 -4
- package/dist/components/DevMenu/DevMenu.js +25 -0
- package/{src/components/DevMenu/DevMenu.style.tsx → dist/components/DevMenu/DevMenu.style.js} +15 -19
- package/dist/components/DevPanel/DevPanel.js +38 -0
- package/dist/components/DevPanel/DevPanel.style.js +22 -0
- package/dist/components/DevtoolsApp/DevtoolsApp.js +17 -0
- package/dist/components/DevtoolsApp/DevtoolsApp.style.js +11 -0
- package/dist/components/Icon/AllIcons.js +18 -0
- package/dist/components/Icon/Icon.js +9 -0
- package/dist/components/Icon/Icon.style.js +10 -0
- package/{src/components/JourneyRow/JourneyRow.tsx → dist/components/JourneyRow/JourneyRow.js} +9 -32
- package/{src/components/JourneyRow/JourneyRow.style.tsx → dist/components/JourneyRow/JourneyRow.style.js} +7 -12
- package/dist/components/JsonViewer/JsonViewer.js +7 -0
- package/{src/components/JsonViewer/JsonViewer.style.tsx → dist/components/JsonViewer/JsonViewer.style.js} +1 -2
- package/dist/components/Lifecycle/Lifecycle.js +15 -0
- package/{src/components/Lifecycle/Lifecycle.style.tsx → dist/components/Lifecycle/Lifecycle.style.js} +1 -2
- package/dist/components/RequestDetails/RequestDetails.js +10 -0
- package/dist/components/RequestDetails/RequestDetails.style.js +16 -0
- package/dist/components/RequestJourney/RequestJourney.js +14 -0
- package/dist/components/RequestJourney/RequestJourney.style.js +26 -0
- package/dist/components/RequestRow/RequestRow.js +9 -0
- package/{src/components/RequestRow/RequestRow.style.tsx → dist/components/RequestRow/RequestRow.style.js} +6 -10
- package/dist/components/Size/Size.js +10 -0
- package/dist/components/Size/Size.style.js +5 -0
- package/{src/components/Time/Time.tsx → dist/components/Time/Time.js} +3 -17
- package/{src/components/Time/Time.style.tsx → dist/components/Time/Time.style.js} +4 -7
- package/dist/containers/DevMenuContainer.js +11 -0
- package/dist/containers/DevPanelContainer.js +6 -0
- package/dist/containers/DevtoolsAppContainer.js +24 -0
- package/{src/containers/EndpointConfigsContainer.tsx → dist/containers/EndpointConfigsContainer.js} +2 -5
- package/{src/containers/EndpointStatusContainer.tsx → dist/containers/EndpointStatusContainer.js} +2 -5
- package/{src/containers/GlobalSettingsContainer.tsx → dist/containers/GlobalSettingsContainer.js} +2 -5
- package/{src/containers/GlobalStatsContainer.tsx → dist/containers/GlobalStatsContainer.js} +2 -5
- package/{src/containers/LifecycleApiErrorContainer.tsx → dist/containers/LifecycleApiErrorContainer.js} +2 -4
- package/dist/containers/LifecycleFailedContainer.js +9 -0
- package/{src/containers/LifecycleGeneralErrorContainer.tsx → dist/containers/LifecycleGeneralErrorContainer.js} +2 -4
- package/{src/containers/LifecycleInQueueContainer.tsx → dist/containers/LifecycleInQueueContainer.js} +2 -4
- package/{src/containers/LifecyclePendingApiContainer.tsx → dist/containers/LifecyclePendingApiContainer.js} +2 -4
- package/{src/containers/LifecyclePostActionContainer.tsx → dist/containers/LifecyclePostActionContainer.js} +2 -4
- package/{src/containers/LifecycleReceivedContainer.tsx → dist/containers/LifecycleReceivedContainer.js} +2 -4
- package/{src/data/devComponents.tsx → dist/data/devComponents.js} +3 -4
- package/{src/data/devRoutes.ts → dist/data/devRoutes.js} +23 -28
- package/dist/dts/components/DevInspector/DevInspector.d.ts +7 -0
- package/dist/dts/components/DevInspector/DevInspector.style.d.ts +1 -0
- package/dist/dts/components/DevList/DevList.d.ts +9 -0
- package/dist/dts/components/DevList/DevList.style.d.ts +2 -0
- package/dist/dts/components/DevMenu/DevMenu.d.ts +12 -0
- package/dist/dts/components/DevMenu/DevMenu.style.d.ts +7 -0
- package/dist/dts/components/DevPanel/DevPanel.d.ts +6 -0
- package/dist/dts/components/DevPanel/DevPanel.style.d.ts +3 -0
- package/dist/dts/components/DevtoolsApp/DevtoolsApp.d.ts +10 -0
- package/dist/dts/components/DevtoolsApp/DevtoolsApp.style.d.ts +1 -0
- package/dist/dts/components/Icon/AllIcons.d.ts +8 -0
- package/dist/dts/components/Icon/Icon.d.ts +10 -0
- package/dist/dts/components/Icon/Icon.style.d.ts +3 -0
- package/dist/dts/components/JourneyRow/JourneyRow.d.ts +7 -0
- package/dist/dts/components/JourneyRow/JourneyRow.style.d.ts +5 -0
- package/dist/dts/components/JsonViewer/JsonViewer.d.ts +7 -0
- package/dist/dts/components/JsonViewer/JsonViewer.style.d.ts +3 -0
- package/dist/dts/components/Lifecycle/Lifecycle.d.ts +7 -0
- package/dist/dts/components/Lifecycle/Lifecycle.style.d.ts +1 -0
- package/dist/dts/components/RequestDetails/RequestDetails.d.ts +7 -0
- package/dist/dts/components/RequestDetails/RequestDetails.style.d.ts +4 -0
- package/dist/dts/components/RequestJourney/RequestJourney.d.ts +7 -0
- package/dist/dts/components/RequestJourney/RequestJourney.style.d.ts +1 -0
- package/dist/dts/components/RequestRow/RequestRow.d.ts +11 -0
- package/dist/dts/components/RequestRow/RequestRow.style.d.ts +6 -0
- package/dist/dts/components/Size/Size.d.ts +6 -0
- package/dist/dts/components/Size/Size.style.d.ts +1 -0
- package/dist/dts/components/Time/Time.d.ts +6 -0
- package/dist/dts/components/Time/Time.style.d.ts +3 -0
- package/dist/dts/containers/DevMenuContainer.d.ts +8 -0
- package/dist/dts/containers/DevPanelContainer.d.ts +6 -0
- package/dist/dts/containers/DevtoolsAppContainer.d.ts +7 -0
- package/dist/dts/containers/EndpointConfigsContainer.d.ts +3 -0
- package/dist/dts/containers/EndpointStatusContainer.d.ts +3 -0
- package/dist/dts/containers/GlobalSettingsContainer.d.ts +3 -0
- package/dist/dts/containers/GlobalStatsContainer.d.ts +3 -0
- package/dist/dts/containers/LifecycleApiErrorContainer.d.ts +3 -0
- package/dist/dts/containers/LifecycleFailedContainer.d.ts +3 -0
- package/dist/dts/containers/LifecycleGeneralErrorContainer.d.ts +3 -0
- package/dist/dts/containers/LifecycleInQueueContainer.d.ts +3 -0
- package/dist/dts/containers/LifecyclePendingApiContainer.d.ts +3 -0
- package/dist/dts/containers/LifecyclePostActionContainer.d.ts +3 -0
- package/dist/dts/containers/LifecycleReceivedContainer.d.ts +3 -0
- package/dist/dts/data/devComponents.d.ts +4 -0
- package/dist/dts/data/devRoutes.d.ts +8 -0
- package/dist/dts/hooks/useStoreSize.d.ts +7 -0
- package/dist/dts/index.d.ts +1 -0
- package/dist/dts/store/selectors.d.ts +2235 -0
- package/dist/dts/types.d.ts +0 -0
- package/dist/dts/utils/date.d.ts +4 -0
- package/dist/dts/utils/download.d.ts +1 -0
- package/dist/hooks/useStoreSize.js +16 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/redux-connected-devtools.es.js +992 -0
- package/dist/redux-connected-devtools.es.js.map +1 -0
- package/dist/redux-connected-devtools.umd.js +247 -0
- package/dist/redux-connected-devtools.umd.js.map +1 -0
- package/dist/store/selectors.js +143 -0
- package/dist/types.js +1 -0
- package/dist/utils/date.js +8 -0
- package/dist/utils/download.js +17 -0
- package/package.json +29 -13
- package/.env +0 -2
- package/.prettierrc.js +0 -10
- package/.vscode/settings.json +0 -12
- package/.vscode/tasks.json +0 -33
- package/index.html +0 -58
- package/jest.config.js +0 -8
- package/public/devtools.html +0 -8
- package/public/icon.png +0 -0
- package/public/manifest.json +0 -29
- package/public/options.html +0 -12
- package/public/panel.html +0 -39
- package/public/popup.html +0 -12
- package/src/__tests__/sum.ts +0 -9
- package/src/background.ts +0 -49
- package/src/components/DevInspector/DevInspector.scss +0 -2
- package/src/components/DevInspector/DevInspector.tsx +0 -34
- package/src/components/DevList/DevList.scss +0 -2
- package/src/components/DevList/DevList.tsx +0 -62
- package/src/components/DevMenu/DevMenu.scss +0 -2
- package/src/components/DevMenu/DevMenu.tsx +0 -76
- package/src/components/DevPanel/DevPanel.scss +0 -2
- package/src/components/DevPanel/DevPanel.style.tsx +0 -16
- package/src/components/DevPanel/DevPanel.tsx +0 -51
- package/src/components/JourneyRow/JourneyRow.scss +0 -2
- package/src/components/JsonViewer/JsonViewer.scss +0 -2
- package/src/components/JsonViewer/JsonViewer.tsx +0 -24
- package/src/components/Lifecycle/Lifecycle.scss +0 -2
- package/src/components/Lifecycle/Lifecycle.tsx +0 -31
- package/src/components/LogsViewer/LogsViewer.scss +0 -2
- package/src/components/LogsViewer/LogsViewer.style.tsx +0 -5
- package/src/components/LogsViewer/LogsViewer.tsx +0 -14
- package/src/components/RequestDetails/RequestDetails.scss +0 -2
- package/src/components/RequestDetails/RequestDetails.style.tsx +0 -20
- package/src/components/RequestDetails/RequestDetails.tsx +0 -60
- package/src/components/RequestJourney/RequestJourney.scss +0 -2
- package/src/components/RequestJourney/RequestJourney.style.tsx +0 -6
- package/src/components/RequestJourney/RequestJourney.tsx +0 -33
- package/src/components/RequestRow/RequestRow.scss +0 -2
- package/src/components/RequestRow/RequestRow.tsx +0 -37
- package/src/components/Time/Time.scss +0 -2
- package/src/containers/DevMenuContainer.tsx +0 -28
- package/src/containers/DevPanelContainer.tsx +0 -10
- package/src/content_script.ts +0 -19
- package/src/devtools.tsx +0 -29
- package/src/index.ts +0 -1
- package/src/injected_script.ts +0 -9
- package/src/options.tsx +0 -77
- package/src/panel.tsx +0 -30
- package/src/popup.tsx +0 -63
- package/src/store/initialState.ts +0 -42
- package/src/store/selectors.ts +0 -205
- package/src/sum.ts +0 -3
- package/src/types.ts +0 -1
- package/src/utils/date.ts +0 -3
- package/tsconfig.json +0 -24
- package/vite.config.ts +0 -45
- package/webpack/webpack.common.js +0 -46
- package/webpack/webpack.dev.js +0 -7
- package/webpack/webpack.prod.js +0 -6
@@ -1,76 +0,0 @@
|
|
1
|
-
import React from 'react';
|
2
|
-
import { IDevRoute } from '../../data/devRoutes';
|
3
|
-
import {
|
4
|
-
Container,
|
5
|
-
MenuGroup,
|
6
|
-
MenuGroupTitle,
|
7
|
-
MenuItem,
|
8
|
-
Title,
|
9
|
-
Badge,
|
10
|
-
BadgeTotal,
|
11
|
-
} from './DevMenu.style';
|
12
|
-
|
13
|
-
export type DevMenuProps = {
|
14
|
-
groups: string[];
|
15
|
-
items: IDevRoute[];
|
16
|
-
onClick: (route: IDevRoute) => void;
|
17
|
-
selectedId: string;
|
18
|
-
badges: Record<string, number>;
|
19
|
-
badgesTotal: Record<string, number>;
|
20
|
-
};
|
21
|
-
|
22
|
-
export function DevMenu(props: DevMenuProps) {
|
23
|
-
const { groups, items, selectedId, badges, badgesTotal } = props;
|
24
|
-
|
25
|
-
function renderItem(item: IDevRoute) {
|
26
|
-
const { title, id } = item;
|
27
|
-
const selected = id === selectedId;
|
28
|
-
|
29
|
-
const badge = badges[id];
|
30
|
-
const badgeTotal = badgesTotal[id];
|
31
|
-
|
32
|
-
return (
|
33
|
-
<MenuItem
|
34
|
-
selected={selected}
|
35
|
-
key={item.id}
|
36
|
-
onClick={() => props.onClick(item)}
|
37
|
-
>
|
38
|
-
<Title>{title}</Title>
|
39
|
-
{badgeTotal > 0 && badgeTotal !== badge && (
|
40
|
-
<BadgeTotal>{badgeTotal}</BadgeTotal>
|
41
|
-
)}
|
42
|
-
{badge > 0 && <Badge>{badge}</Badge>}
|
43
|
-
</MenuItem>
|
44
|
-
);
|
45
|
-
}
|
46
|
-
|
47
|
-
function renderItems(groupItems: IDevRoute[]) {
|
48
|
-
return groupItems.map((item: IDevRoute) => renderItem(item));
|
49
|
-
}
|
50
|
-
|
51
|
-
function renderGroup(group: string) {
|
52
|
-
const groupItems = items.filter((item) => item.group === group);
|
53
|
-
|
54
|
-
return (
|
55
|
-
<MenuGroup key={group}>
|
56
|
-
<MenuGroupTitle>{group}</MenuGroupTitle>
|
57
|
-
{renderItems(groupItems)}
|
58
|
-
</MenuGroup>
|
59
|
-
);
|
60
|
-
}
|
61
|
-
|
62
|
-
function renderGroups() {
|
63
|
-
return groups.map((group: string) => renderGroup(group));
|
64
|
-
}
|
65
|
-
|
66
|
-
return (
|
67
|
-
<Container
|
68
|
-
className='DevMenu-container'
|
69
|
-
data-testid='DevMenu-container'
|
70
|
-
>
|
71
|
-
{renderGroups()}
|
72
|
-
</Container>
|
73
|
-
);
|
74
|
-
}
|
75
|
-
|
76
|
-
export default DevMenu;
|
@@ -1,16 +0,0 @@
|
|
1
|
-
import styled from 'styled-components';
|
2
|
-
|
3
|
-
export const Container = styled.div`
|
4
|
-
flex: 1;
|
5
|
-
color: #eee;
|
6
|
-
background-color: #232332;
|
7
|
-
display: flex;
|
8
|
-
flex-direction: row;
|
9
|
-
`;
|
10
|
-
|
11
|
-
export const Content = styled.div`
|
12
|
-
flex: 1;
|
13
|
-
background-color: rgba(0, 0, 0, 0.15);
|
14
|
-
display: flex;
|
15
|
-
flex-direction: column;
|
16
|
-
`;
|
@@ -1,51 +0,0 @@
|
|
1
|
-
import DevMenu from '../../containers/DevMenuContainer';
|
2
|
-
import React, { useState } from 'react';
|
3
|
-
import { Container, Content } from './DevPanel.style';
|
4
|
-
import { devComponents } from '../../data/devComponents';
|
5
|
-
import { devGroups, devRoutes, IDevRoute } from '../../data/devRoutes';
|
6
|
-
import { Json } from '../../types';
|
7
|
-
|
8
|
-
export type DevPanelProps = {};
|
9
|
-
|
10
|
-
export function DevPanel(props: DevPanelProps) {
|
11
|
-
const [route, setRoute] = useState<IDevRoute>(devRoutes[0]);
|
12
|
-
|
13
|
-
function renderRoute() {
|
14
|
-
const Cmp = devComponents[route.componentId];
|
15
|
-
return <Cmp key={route.id} />;
|
16
|
-
}
|
17
|
-
|
18
|
-
return (
|
19
|
-
<Container
|
20
|
-
className='DevPanel-container'
|
21
|
-
data-testid='DevPanel-container'
|
22
|
-
>
|
23
|
-
<DevMenu
|
24
|
-
selectedId={route.id}
|
25
|
-
onClick={(item: IDevRoute) => setRoute(item)}
|
26
|
-
/>
|
27
|
-
<Content>{renderRoute()}</Content>
|
28
|
-
</Container>
|
29
|
-
);
|
30
|
-
}
|
31
|
-
|
32
|
-
let bgConnection;
|
33
|
-
|
34
|
-
function init(id: string) {
|
35
|
-
bgConnection = chrome.runtime?.connect({
|
36
|
-
name: id,
|
37
|
-
});
|
38
|
-
|
39
|
-
if (bgConnection) {
|
40
|
-
bgConnection.onMessage.addListener((message: Json) => {
|
41
|
-
console.log('message ->', message);
|
42
|
-
});
|
43
|
-
}
|
44
|
-
}
|
45
|
-
|
46
|
-
if (chrome) {
|
47
|
-
const tabId = String(chrome.devtools?.inspectedWindow.tabId || '');
|
48
|
-
init(tabId);
|
49
|
-
}
|
50
|
-
|
51
|
-
export default DevPanel;
|
@@ -1,24 +0,0 @@
|
|
1
|
-
import React from 'react';
|
2
|
-
import { Json } from '../../types';
|
3
|
-
import { Container } from './JsonViewer.style';
|
4
|
-
|
5
|
-
export type JsonViewerProps = {
|
6
|
-
json: Json | undefined;
|
7
|
-
width?: number;
|
8
|
-
};
|
9
|
-
|
10
|
-
export function JsonViewer(props: JsonViewerProps) {
|
11
|
-
const { json, width } = props;
|
12
|
-
|
13
|
-
return (
|
14
|
-
<Container
|
15
|
-
className='JsonViewer-container'
|
16
|
-
data-testid='JsonViewer-container'
|
17
|
-
width={width}
|
18
|
-
>
|
19
|
-
<pre>{JSON.stringify(json, null, 4)}</pre>
|
20
|
-
</Container>
|
21
|
-
);
|
22
|
-
}
|
23
|
-
|
24
|
-
export default JsonViewer;
|
@@ -1,31 +0,0 @@
|
|
1
|
-
import DevInspector from '../DevInspector/DevInspector';
|
2
|
-
import DevList from '../DevList/DevList';
|
3
|
-
import React, { useState } from 'react';
|
4
|
-
import RequestRow from '../RequestRow/RequestRow';
|
5
|
-
import { ApiRequest } from 'redux-connected';
|
6
|
-
import { Container } from './Lifecycle.style';
|
7
|
-
|
8
|
-
export type LifecycleProps = {
|
9
|
-
requests: ApiRequest[];
|
10
|
-
};
|
11
|
-
|
12
|
-
export function Lifecycle(props: LifecycleProps) {
|
13
|
-
const { requests } = props;
|
14
|
-
const [item, setItem] = useState<ApiRequest>();
|
15
|
-
|
16
|
-
function onClick(newItem: ApiRequest) {
|
17
|
-
setItem(newItem);
|
18
|
-
}
|
19
|
-
|
20
|
-
return (
|
21
|
-
<Container
|
22
|
-
className='Lifecycle-container'
|
23
|
-
data-testid='Lifecycle-container'
|
24
|
-
>
|
25
|
-
<DevList items={requests} row={RequestRow} onClick={onClick} />
|
26
|
-
<DevInspector item={item} />
|
27
|
-
</Container>
|
28
|
-
);
|
29
|
-
}
|
30
|
-
|
31
|
-
export default Lifecycle;
|
@@ -1,14 +0,0 @@
|
|
1
|
-
import React from 'react';
|
2
|
-
import { Container } from './LogsViewer.style';
|
3
|
-
|
4
|
-
export type LogsViewerProps = {};
|
5
|
-
|
6
|
-
export function LogsViewer(_props: LogsViewerProps) {
|
7
|
-
return (
|
8
|
-
<Container className="LogsViewer-container" data-testid="LogsViewer-container">
|
9
|
-
LogsViewer
|
10
|
-
</Container>
|
11
|
-
);
|
12
|
-
}
|
13
|
-
|
14
|
-
export default LogsViewer;
|
@@ -1,20 +0,0 @@
|
|
1
|
-
import styled from 'styled-components';
|
2
|
-
|
3
|
-
export const Container = styled.div`
|
4
|
-
flex: 1;
|
5
|
-
padding: 20px;
|
6
|
-
`;
|
7
|
-
|
8
|
-
export const Table = styled.table``;
|
9
|
-
|
10
|
-
export const Tr = styled.tr``;
|
11
|
-
|
12
|
-
export const Td = styled.td`
|
13
|
-
color: goldenrod;
|
14
|
-
|
15
|
-
&:first-child {
|
16
|
-
color: #778;
|
17
|
-
text-align: right;
|
18
|
-
padding-right: 10px;
|
19
|
-
}
|
20
|
-
`;
|
@@ -1,60 +0,0 @@
|
|
1
|
-
import React from 'react';
|
2
|
-
import { Container, Table, Tr, Td } from './RequestDetails.style';
|
3
|
-
import { ApiRequest } from 'redux-connected';
|
4
|
-
import JsonViewer from '../JsonViewer/JsonViewer';
|
5
|
-
import bytes from 'bytes';
|
6
|
-
|
7
|
-
export type RequestDetailsProps = {
|
8
|
-
item: ApiRequest;
|
9
|
-
};
|
10
|
-
|
11
|
-
export function RequestDetails(props: RequestDetailsProps) {
|
12
|
-
const { item } = props;
|
13
|
-
|
14
|
-
return (
|
15
|
-
<Container
|
16
|
-
className='RequestDetails-container'
|
17
|
-
data-testid='RequestDetails-container'
|
18
|
-
>
|
19
|
-
<Table>
|
20
|
-
<tbody>
|
21
|
-
<Tr>
|
22
|
-
<Td>sequence</Td>
|
23
|
-
<Td>{item.sequence}</Td>
|
24
|
-
</Tr>
|
25
|
-
<Tr>
|
26
|
-
<Td>id</Td>
|
27
|
-
<Td>{item.shortId}</Td>
|
28
|
-
</Tr>
|
29
|
-
<Tr>
|
30
|
-
<Td>apiVerb</Td>
|
31
|
-
<Td>{item.argsApiVerb}</Td>
|
32
|
-
</Tr>
|
33
|
-
<Tr>
|
34
|
-
<Td>connection</Td>
|
35
|
-
<Td>{item.argsConnectionType}</Td>
|
36
|
-
</Tr>
|
37
|
-
<Tr>
|
38
|
-
<Td>duration</Td>
|
39
|
-
<Td>{item.apiDuration}</Td>
|
40
|
-
</Tr>
|
41
|
-
<Tr>
|
42
|
-
<Td>nodeName</Td>
|
43
|
-
<Td>{item.argsNodeName}</Td>
|
44
|
-
</Tr>
|
45
|
-
<Tr>
|
46
|
-
<Td>responseSize</Td>
|
47
|
-
<Td>
|
48
|
-
{item.apiResponseSize &&
|
49
|
-
bytes(item.apiResponseSize)}
|
50
|
-
</Td>
|
51
|
-
</Tr>
|
52
|
-
</tbody>
|
53
|
-
</Table>
|
54
|
-
|
55
|
-
<JsonViewer width={290} json={item.originalAction} />
|
56
|
-
</Container>
|
57
|
-
);
|
58
|
-
}
|
59
|
-
|
60
|
-
export default RequestDetails;
|
@@ -1,33 +0,0 @@
|
|
1
|
-
import React from 'react';
|
2
|
-
import { Container } from './RequestJourney.style';
|
3
|
-
import { ApiRequest, JourneyPoint } from 'redux-connected';
|
4
|
-
import JourneyRow from '../JourneyRow/JourneyRow';
|
5
|
-
|
6
|
-
export type RequestJourneyProps = {
|
7
|
-
item: ApiRequest;
|
8
|
-
};
|
9
|
-
|
10
|
-
export function RequestJourney(props: RequestJourneyProps) {
|
11
|
-
const { item } = props;
|
12
|
-
|
13
|
-
function renderItem(point: JourneyPoint, index: number) {
|
14
|
-
return <JourneyRow key={index} point={point} />;
|
15
|
-
}
|
16
|
-
|
17
|
-
function renderItems() {
|
18
|
-
return item.items.map((point: JourneyPoint, index: number) =>
|
19
|
-
renderItem(point, index)
|
20
|
-
);
|
21
|
-
}
|
22
|
-
|
23
|
-
return (
|
24
|
-
<Container
|
25
|
-
className='RequestJourney-container'
|
26
|
-
data-testid='RequestJourney-container'
|
27
|
-
>
|
28
|
-
{renderItems()}
|
29
|
-
</Container>
|
30
|
-
);
|
31
|
-
}
|
32
|
-
|
33
|
-
export default RequestJourney;
|
@@ -1,37 +0,0 @@
|
|
1
|
-
import React from 'react';
|
2
|
-
import { Container, Col, Id, Type } from './RequestRow.style';
|
3
|
-
import Time from '../Time/Time';
|
4
|
-
import { Json } from '../../types';
|
5
|
-
import { ApiRequest } from 'redux-connected';
|
6
|
-
|
7
|
-
export type RequestRowProps = {
|
8
|
-
style: Json;
|
9
|
-
item: ApiRequest;
|
10
|
-
index: number;
|
11
|
-
onClick: (item: ApiRequest) => void;
|
12
|
-
};
|
13
|
-
|
14
|
-
export function RequestRow(props: RequestRowProps) {
|
15
|
-
const { index, style, item } = props;
|
16
|
-
const { sequence, createdTS } = item;
|
17
|
-
|
18
|
-
return (
|
19
|
-
<Container
|
20
|
-
className='DevListRow-container'
|
21
|
-
data-testid='DevListRow-container'
|
22
|
-
style={style}
|
23
|
-
index={index}
|
24
|
-
onClick={() => props.onClick(item)}
|
25
|
-
>
|
26
|
-
<Col>
|
27
|
-
<Id>{sequence}</Id>
|
28
|
-
<Type>{item.originalAction?.type}</Type>
|
29
|
-
</Col>
|
30
|
-
<Col>
|
31
|
-
<Time value={createdTS} />
|
32
|
-
</Col>
|
33
|
-
</Container>
|
34
|
-
);
|
35
|
-
}
|
36
|
-
|
37
|
-
export default RequestRow;
|
@@ -1,28 +0,0 @@
|
|
1
|
-
import React from 'react';
|
2
|
-
import { useSelector } from 'react-redux';
|
3
|
-
import DevMenu from '../components/DevMenu/DevMenu';
|
4
|
-
import { devGroups, devRoutes, IDevRoute } from '../data/devRoutes';
|
5
|
-
import { $menuBadges, $menuBadgesTotal } from '../store/selectors';
|
6
|
-
|
7
|
-
type DevPanelProps = {
|
8
|
-
selectedId: string;
|
9
|
-
onClick: (route: IDevRoute) => void;
|
10
|
-
};
|
11
|
-
|
12
|
-
export function DevMenuContainer(props: DevPanelProps) {
|
13
|
-
const badges = useSelector($menuBadges);
|
14
|
-
const badgesTotal = useSelector($menuBadgesTotal);
|
15
|
-
|
16
|
-
return (
|
17
|
-
<DevMenu
|
18
|
-
groups={devGroups}
|
19
|
-
items={devRoutes}
|
20
|
-
badges={badges}
|
21
|
-
badgesTotal={badgesTotal}
|
22
|
-
selectedId={props.selectedId}
|
23
|
-
onClick={props.onClick}
|
24
|
-
/>
|
25
|
-
);
|
26
|
-
}
|
27
|
-
|
28
|
-
export default DevMenuContainer;
|
package/src/content_script.ts
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
window.addEventListener('message', function (event) {
|
2
|
-
// Only accept messages from the same frame
|
3
|
-
if (event.source !== window) {
|
4
|
-
return;
|
5
|
-
}
|
6
|
-
|
7
|
-
const message = event.data as any;
|
8
|
-
|
9
|
-
// Only accept messages that we know are ours
|
10
|
-
if (
|
11
|
-
typeof message !== 'object' ||
|
12
|
-
message === null ||
|
13
|
-
message.source !== 'devtools-page'
|
14
|
-
) {
|
15
|
-
return;
|
16
|
-
}
|
17
|
-
|
18
|
-
chrome.runtime.sendMessage(message);
|
19
|
-
});
|
package/src/devtools.tsx
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
// devtools.js
|
2
|
-
const backgroundPageConnection = chrome.runtime.connect({
|
3
|
-
name: 'devtools-page',
|
4
|
-
});
|
5
|
-
|
6
|
-
let panel: any;
|
7
|
-
|
8
|
-
chrome.devtools.panels.create(
|
9
|
-
'Redux connected',
|
10
|
-
'',
|
11
|
-
'panel.html',
|
12
|
-
function (_panel) {
|
13
|
-
panel = _panel;
|
14
|
-
|
15
|
-
backgroundPageConnection.postMessage({
|
16
|
-
name: 'init',
|
17
|
-
tabId: chrome.devtools.inspectedWindow.tabId,
|
18
|
-
});
|
19
|
-
|
20
|
-
backgroundPageConnection.postMessage({
|
21
|
-
tabId: chrome.devtools.inspectedWindow.tabId,
|
22
|
-
scriptToInject: 'injected_script.js',
|
23
|
-
});
|
24
|
-
|
25
|
-
backgroundPageConnection.onMessage.addListener(function (message: any) {
|
26
|
-
// Handle responses from the background page, if any
|
27
|
-
});
|
28
|
-
}
|
29
|
-
);
|
package/src/index.ts
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
export { DevPanelContainer } from './containers/DevPanelContainer';
|
package/src/injected_script.ts
DELETED
package/src/options.tsx
DELETED
@@ -1,77 +0,0 @@
|
|
1
|
-
import React, { useEffect, useState } from 'react';
|
2
|
-
import ReactDOM from 'react-dom';
|
3
|
-
|
4
|
-
const Options = () => {
|
5
|
-
const [color, setColor] = useState<string>('');
|
6
|
-
const [status, setStatus] = useState<string>('');
|
7
|
-
const [like, setLike] = useState<boolean>(false);
|
8
|
-
|
9
|
-
useEffect(() => {
|
10
|
-
// Restores select box and checkbox state using the preferences
|
11
|
-
// stored in chrome.storage.
|
12
|
-
chrome.storage.sync.get(
|
13
|
-
{
|
14
|
-
favoriteColor: 'red',
|
15
|
-
likesColor: true,
|
16
|
-
},
|
17
|
-
(items) => {
|
18
|
-
setColor(items.favoriteColor);
|
19
|
-
setLike(items.likesColor);
|
20
|
-
}
|
21
|
-
);
|
22
|
-
}, []);
|
23
|
-
|
24
|
-
const saveOptions = () => {
|
25
|
-
// Saves options to chrome.storage.sync.
|
26
|
-
chrome.storage.sync.set(
|
27
|
-
{
|
28
|
-
favoriteColor: color,
|
29
|
-
likesColor: like,
|
30
|
-
},
|
31
|
-
() => {
|
32
|
-
// Update status to let user know options were saved.
|
33
|
-
setStatus('Options saved.');
|
34
|
-
const id = setTimeout(() => {
|
35
|
-
setStatus('');
|
36
|
-
}, 1000);
|
37
|
-
return () => clearTimeout(id);
|
38
|
-
}
|
39
|
-
);
|
40
|
-
};
|
41
|
-
|
42
|
-
return (
|
43
|
-
<>
|
44
|
-
<div>
|
45
|
-
Favorite color:{' '}
|
46
|
-
<select
|
47
|
-
value={color}
|
48
|
-
onChange={(event) => setColor(event.target.value)}
|
49
|
-
>
|
50
|
-
<option value='red'>red</option>
|
51
|
-
<option value='green'>green</option>
|
52
|
-
<option value='blue'>blue</option>
|
53
|
-
<option value='yellow'>yellow</option>
|
54
|
-
</select>
|
55
|
-
</div>
|
56
|
-
<div>
|
57
|
-
<label>
|
58
|
-
<input
|
59
|
-
type='checkbox'
|
60
|
-
checked={like}
|
61
|
-
onChange={(event) => setLike(event.target.checked)}
|
62
|
-
/>
|
63
|
-
I like colors.
|
64
|
-
</label>
|
65
|
-
</div>
|
66
|
-
<div>{status}</div>
|
67
|
-
<button onClick={saveOptions}>Save</button>
|
68
|
-
</>
|
69
|
-
);
|
70
|
-
};
|
71
|
-
|
72
|
-
ReactDOM.render(
|
73
|
-
<React.StrictMode>
|
74
|
-
<Options />
|
75
|
-
</React.StrictMode>,
|
76
|
-
document.getElementById('root')
|
77
|
-
);
|
package/src/panel.tsx
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
import DevPanel from './containers/DevPanelContainer';
|
2
|
-
import React from 'react';
|
3
|
-
import ReactDOM from 'react-dom';
|
4
|
-
import { Provider } from 'react-redux';
|
5
|
-
import { store } from './store/initialState';
|
6
|
-
|
7
|
-
ReactDOM.render(
|
8
|
-
<React.StrictMode>
|
9
|
-
<Provider store={store}>
|
10
|
-
<DevPanel />
|
11
|
-
</Provider>
|
12
|
-
</React.StrictMode>,
|
13
|
-
document.getElementById('root')
|
14
|
-
);
|
15
|
-
|
16
|
-
chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
|
17
|
-
if (sender.origin?.indexOf('http://localhost') === 0) {
|
18
|
-
const store = (window as any).store;
|
19
|
-
|
20
|
-
switch (request.type) {
|
21
|
-
case 'CONNECTED_STATE':
|
22
|
-
break;
|
23
|
-
case 'CONNECTED_ACTION':
|
24
|
-
const { payload } = request;
|
25
|
-
const { action } = payload;
|
26
|
-
store.dispatch(action);
|
27
|
-
break;
|
28
|
-
}
|
29
|
-
}
|
30
|
-
});
|