redux-connected-devtools 0.0.15 → 1.0.0
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/.depcheck +20 -0
- package/.env +2 -0
- package/.prettierrc.js +10 -0
- package/.vscode/settings.json +12 -0
- package/.vscode/tasks.json +33 -0
- package/LICENSE +21 -0
- package/README.md +5 -0
- package/index.html +58 -0
- package/jest.config.js +8 -0
- package/package.json +58 -63
- package/src/__tests__/sum.ts +9 -0
- package/src/components/DevInspector/DevInspector.scss +2 -0
- package/src/components/DevInspector/DevInspector.style.tsx +7 -0
- package/src/components/DevInspector/DevInspector.tsx +34 -0
- package/src/components/DevList/DevList.scss +2 -0
- package/src/components/DevList/DevList.style.tsx +34 -0
- package/src/components/DevList/DevList.tsx +65 -0
- package/src/components/DevMenu/DevMenu.scss +2 -0
- package/src/components/DevMenu/DevMenu.style.tsx +53 -0
- package/src/components/DevMenu/DevMenu.tsx +77 -0
- package/src/components/DevPanel/DevPanel.scss +2 -0
- package/src/components/DevPanel/DevPanel.style.tsx +25 -0
- package/src/components/DevPanel/DevPanel.tsx +58 -0
- package/src/components/DevtoolsApp/DevtoolsApp.scss +2 -0
- package/src/components/DevtoolsApp/DevtoolsApp.style.tsx +12 -0
- package/src/components/DevtoolsApp/DevtoolsApp.tsx +45 -0
- package/src/components/Icon/AllIcons.tsx +66 -0
- package/src/components/Icon/Icon.scss +2 -0
- package/src/components/Icon/Icon.style.tsx +11 -0
- package/src/components/Icon/Icon.tsx +28 -0
- package/src/components/JourneyRow/JourneyRow.scss +2 -0
- package/src/components/JourneyRow/JourneyRow.style.tsx +46 -0
- package/src/components/JourneyRow/JourneyRow.tsx +60 -0
- package/src/components/JsonViewer/JsonViewer.scss +2 -0
- package/src/components/JsonViewer/JsonViewer.style.tsx +31 -0
- package/src/components/JsonViewer/JsonViewer.tsx +23 -0
- package/src/components/Lifecycle/Lifecycle.scss +2 -0
- package/src/components/Lifecycle/Lifecycle.style.tsx +6 -0
- package/src/components/Lifecycle/Lifecycle.tsx +36 -0
- package/src/components/LogsViewer/LogsViewer.scss +2 -0
- package/src/components/LogsViewer/LogsViewer.style.tsx +5 -0
- package/src/components/LogsViewer/LogsViewer.tsx +14 -0
- package/src/components/RequestDetails/RequestDetails.scss +2 -0
- package/src/components/RequestDetails/RequestDetails.style.tsx +20 -0
- package/src/components/RequestDetails/RequestDetails.tsx +60 -0
- package/src/components/RequestJourney/RequestJourney.scss +2 -0
- package/src/components/RequestJourney/RequestJourney.style.tsx +27 -0
- package/src/components/RequestJourney/RequestJourney.tsx +33 -0
- package/src/components/RequestRow/RequestRow.scss +2 -0
- package/src/components/RequestRow/RequestRow.style.tsx +32 -0
- package/src/components/RequestRow/RequestRow.tsx +37 -0
- package/src/components/Size/Size.scss +2 -0
- package/src/components/Size/Size.style.tsx +6 -0
- package/src/components/Size/Size.tsx +21 -0
- package/src/components/StateViewer/StateViewer.scss +2 -0
- package/src/components/StateViewer/StateViewer.style.tsx +5 -0
- package/src/components/StateViewer/StateViewer.tsx +17 -0
- package/src/components/Time/Time.scss +2 -0
- package/src/components/Time/Time.style.tsx +17 -0
- package/src/components/Time/Time.tsx +25 -0
- package/src/containers/DevMenuContainer.tsx +28 -0
- package/src/containers/DevPanelContainer.tsx +12 -0
- package/src/containers/DevtoolsAppContainer.tsx +42 -0
- package/src/containers/EndpointConfigsContainer.tsx +12 -0
- package/src/containers/EndpointStatusContainer.tsx +12 -0
- package/src/containers/GlobalSettingsContainer.tsx +12 -0
- package/src/containers/GlobalStatsContainer.tsx +12 -0
- package/src/containers/JsonViewerContainer.tsx +8 -0
- package/src/containers/LifecycleApiErrorContainer.tsx +11 -0
- package/src/containers/LifecycleContainer.tsx +12 -0
- package/src/containers/LifecycleFailedContainer.tsx +11 -0
- package/src/containers/LifecycleGeneralErrorContainer.tsx +11 -0
- package/src/containers/LifecycleInQueueContainer.tsx +11 -0
- package/src/containers/LifecyclePendingApiContainer.tsx +11 -0
- package/src/containers/LifecyclePostActionContainer.tsx +11 -0
- package/src/containers/LifecycleReceivedContainer.tsx +11 -0
- package/src/containers/LogsViewerContainer.tsx +8 -0
- package/src/containers/StateViewerContainer.tsx +8 -0
- package/src/data/devComponents.tsx +27 -0
- package/src/data/devRouter.ts +107 -0
- package/src/data/devRoutes.ts +90 -0
- package/src/hooks/useStoreSize.ts +27 -0
- package/src/index.ts +1 -0
- package/src/store/initialState.ts +42 -0
- package/src/store/selectors.ts +220 -0
- package/src/types.ts +1 -0
- package/src/utils/date.ts +11 -0
- package/src/utils/download.ts +17 -0
- package/tsconfig.json +18 -0
- package/vite.config.ts +27 -0
- package/esm/components/Config/Config.d.ts +0 -6
- package/esm/components/Config/Config.js +0 -15
- package/esm/components/DevTools/DevTools.d.ts +0 -4
- package/esm/components/DevTools/DevTools.js +0 -19
- package/esm/components/DevToolsLocal/DevToolsLocal.d.ts +0 -4
- package/esm/components/DevToolsLocal/DevToolsLocal.js +0 -12
- package/esm/components/Dispatcher/Dispatcher.d.ts +0 -8
- package/esm/components/Dispatcher/Dispatcher.js +0 -61
- package/esm/components/GlobalSettings/GlobalSettings.d.ts +0 -6
- package/esm/components/GlobalSettings/GlobalSettings.js +0 -16
- package/esm/components/Group/Group.d.ts +0 -9
- package/esm/components/Group/Group.js +0 -14
- package/esm/components/Json/Json.d.ts +0 -7
- package/esm/components/Json/Json.js +0 -9
- package/esm/components/Logs/Logs.d.ts +0 -6
- package/esm/components/Logs/Logs.js +0 -49
- package/esm/components/Monitor/Monitor.d.ts +0 -6
- package/esm/components/Monitor/Monitor.js +0 -54
- package/esm/components/OverlayManager/OverlayManager.d.ts +0 -6
- package/esm/components/OverlayManager/OverlayManager.js +0 -17
- package/esm/components/Panel/Panel.d.ts +0 -14
- package/esm/components/Panel/Panel.js +0 -46
- package/esm/components/Preview/Preview.d.ts +0 -18
- package/esm/components/Preview/Preview.js +0 -58
- package/esm/components/Redux/Redux.d.ts +0 -6
- package/esm/components/Redux/Redux.js +0 -72
- package/esm/components/ReduxSettings/ReduxSettings.d.ts +0 -9
- package/esm/components/ReduxSettings/ReduxSettings.js +0 -60
- package/esm/components/Requests/Requests.d.ts +0 -6
- package/esm/components/Requests/Requests.js +0 -61
- package/esm/components/Status/Status.d.ts +0 -6
- package/esm/components/Status/Status.js +0 -16
- package/esm/components/TaskManager/TaskManager.d.ts +0 -9
- package/esm/components/TaskManager/TaskManager.js +0 -22
- package/esm/components/Timeline/Timeline.d.ts +0 -6
- package/esm/components/Timeline/Timeline.js +0 -13
- package/esm/components/TimelineEvent/TimelineEvent.d.ts +0 -7
- package/esm/components/TimelineEvent/TimelineEvent.js +0 -13
- package/esm/components/TimelineHeader/TimelineHeader.d.ts +0 -4
- package/esm/components/TimelineHeader/TimelineHeader.js +0 -5
- package/esm/components/TimelineRow/TimelineRow.d.ts +0 -7
- package/esm/components/TimelineRow/TimelineRow.js +0 -13
- package/esm/components/TimelineRowHeader/TimelineRowHeader.d.ts +0 -7
- package/esm/components/TimelineRowHeader/TimelineRowHeader.js +0 -10
- package/esm/components/Toggle/Toggle.d.ts +0 -8
- package/esm/components/Toggle/Toggle.js +0 -8
- package/esm/components/VirtualList/VirtualList.d.ts +0 -19
- package/esm/components/VirtualList/VirtualList.js +0 -30
- package/esm/components/Visual/Visual.d.ts +0 -6
- package/esm/components/Visual/Visual.js +0 -38
- package/esm/components/prefix.d.ts +0 -2
- package/esm/components/prefix.js +0 -2
- package/esm/data/boxSizes.d.ts +0 -2
- package/esm/data/boxSizes.js +0 -10
- package/esm/data/dispatcherActions.d.ts +0 -5
- package/esm/data/dispatcherActions.js +0 -35
- package/esm/data/layoutDefault.d.ts +0 -2
- package/esm/data/layoutDefault.js +0 -46
- package/esm/data/panels.d.ts +0 -2
- package/esm/data/panels.js +0 -14
- package/esm/data/panelsArrangements.d.ts +0 -19
- package/esm/data/panelsArrangements.js +0 -19
- package/esm/data/panelsLocal.d.ts +0 -2
- package/esm/data/panelsLocal.js +0 -7
- package/esm/data/reduxFilterOptions.d.ts +0 -20
- package/esm/data/reduxFilterOptions.js +0 -223
- package/esm/data/widgets.d.ts +0 -2
- package/esm/data/widgets.js +0 -154
- package/esm/data/widgetsLocal.d.ts +0 -2
- package/esm/data/widgetsLocal.js +0 -19
- package/esm/hooks/index.d.ts +0 -7
- package/esm/hooks/index.js +0 -7
- package/esm/hooks/misc/hookState.d.ts +0 -8
- package/esm/hooks/misc/hookState.js +0 -6
- package/esm/hooks/misc/util.d.ts +0 -5
- package/esm/hooks/misc/util.js +0 -21
- package/esm/hooks/useBoolean.d.ts +0 -3
- package/esm/hooks/useBoolean.js +0 -3
- package/esm/hooks/useClickAway.d.ts +0 -3
- package/esm/hooks/useClickAway.js +0 -27
- package/esm/hooks/useEvent.d.ts +0 -13
- package/esm/hooks/useEvent.js +0 -35
- package/esm/hooks/useKey.d.ts +0 -12
- package/esm/hooks/useKey.js +0 -29
- package/esm/hooks/useList.d.ts +0 -57
- package/esm/hooks/useList.js +0 -74
- package/esm/hooks/useLocalstorage.d.ts +0 -10
- package/esm/hooks/useLocalstorage.js +0 -75
- package/esm/hooks/usePanels.d.ts +0 -10
- package/esm/hooks/usePanels.js +0 -45
- package/esm/hooks/useSetState.d.ts +0 -2
- package/esm/hooks/useSetState.js +0 -10
- package/esm/hooks/useToggle.d.ts +0 -2
- package/esm/hooks/useToggle.js +0 -6
- package/esm/hooks/useUpdate.d.ts +0 -1
- package/esm/hooks/useUpdate.js +0 -6
- package/esm/index.d.ts +0 -4
- package/esm/index.js +0 -4
- package/esm/selectors/selectors.d.ts +0 -21
- package/esm/selectors/selectors.js +0 -20
- package/esm/theme/devtoolsTheme.d.ts +0 -2
- package/esm/theme/devtoolsTheme.js +0 -95
- package/esm/types.d.ts +0 -21
- package/esm/types.js +0 -1
- package/esm/utils/filter.d.ts +0 -3
- package/esm/utils/filter.js +0 -25
- package/esm/utils/localStorage.d.ts +0 -2
- package/esm/utils/localStorage.js +0 -21
- package/esm/utils/sockets.d.ts +0 -7
- package/esm/utils/sockets.js +0 -27
- package/lib/components/Colors copy.css +0 -3
- package/lib/components/Colors copy.css.map +0 -1
- package/lib/components/Colors.css +0 -3
- package/lib/components/Colors.css.map +0 -1
- package/lib/components/ColorsDark.css +0 -3
- package/lib/components/ColorsDark.css.map +0 -1
- package/lib/components/Config/Config.css +0 -15
- package/lib/components/Config/Config.css.map +0 -1
- package/lib/components/Config/Config.d.ts +0 -6
- package/lib/components/Config/Config.js +0 -20
- package/lib/components/DevTools/DevTools.css +0 -11
- package/lib/components/DevTools/DevTools.css.map +0 -1
- package/lib/components/DevTools/DevTools.d.ts +0 -4
- package/lib/components/DevTools/DevTools.js +0 -24
- package/lib/components/DevToolsLocal/DevToolsLocal.css +0 -11
- package/lib/components/DevToolsLocal/DevToolsLocal.css.map +0 -1
- package/lib/components/DevToolsLocal/DevToolsLocal.d.ts +0 -4
- package/lib/components/DevToolsLocal/DevToolsLocal.js +0 -17
- package/lib/components/Dispatcher/Dispatcher.css +0 -15
- package/lib/components/Dispatcher/Dispatcher.css.map +0 -1
- package/lib/components/Dispatcher/Dispatcher.d.ts +0 -8
- package/lib/components/Dispatcher/Dispatcher.js +0 -65
- package/lib/components/GlobalSettings/GlobalSettings.css +0 -3
- package/lib/components/GlobalSettings/GlobalSettings.css.map +0 -1
- package/lib/components/GlobalSettings/GlobalSettings.d.ts +0 -6
- package/lib/components/GlobalSettings/GlobalSettings.js +0 -21
- package/lib/components/Group/Group.css +0 -41
- package/lib/components/Group/Group.css.map +0 -1
- package/lib/components/Group/Group.d.ts +0 -9
- package/lib/components/Group/Group.js +0 -19
- package/lib/components/Json/Json.css +0 -5
- package/lib/components/Json/Json.css.map +0 -1
- package/lib/components/Json/Json.d.ts +0 -7
- package/lib/components/Json/Json.js +0 -14
- package/lib/components/Logs/Logs.css +0 -5
- package/lib/components/Logs/Logs.css.map +0 -1
- package/lib/components/Logs/Logs.d.ts +0 -6
- package/lib/components/Logs/Logs.js +0 -54
- package/lib/components/Monitor/Monitor.css +0 -5
- package/lib/components/Monitor/Monitor.css.map +0 -1
- package/lib/components/Monitor/Monitor.d.ts +0 -6
- package/lib/components/Monitor/Monitor.js +0 -59
- package/lib/components/OverlayManager/OverlayManager.css +0 -72
- package/lib/components/OverlayManager/OverlayManager.css.map +0 -1
- package/lib/components/OverlayManager/OverlayManager.d.ts +0 -6
- package/lib/components/OverlayManager/OverlayManager.js +0 -22
- package/lib/components/Panel/Panel.css +0 -35
- package/lib/components/Panel/Panel.css.map +0 -1
- package/lib/components/Panel/Panel.d.ts +0 -14
- package/lib/components/Panel/Panel.js +0 -51
- package/lib/components/Prefix copy.css +0 -3
- package/lib/components/Prefix copy.css.map +0 -1
- package/lib/components/Prefix.css +0 -3
- package/lib/components/Prefix.css.map +0 -1
- package/lib/components/Preview/Preview.css +0 -29
- package/lib/components/Preview/Preview.css.map +0 -1
- package/lib/components/Preview/Preview.d.ts +0 -18
- package/lib/components/Preview/Preview.js +0 -64
- package/lib/components/Reading.css +0 -107
- package/lib/components/Reading.css.map +0 -1
- package/lib/components/Redux/Redux.css +0 -86
- package/lib/components/Redux/Redux.css.map +0 -1
- package/lib/components/Redux/Redux.d.ts +0 -6
- package/lib/components/Redux/Redux.js +0 -77
- package/lib/components/ReduxSettings/ReduxSettings.css +0 -10
- package/lib/components/ReduxSettings/ReduxSettings.css.map +0 -1
- package/lib/components/ReduxSettings/ReduxSettings.d.ts +0 -9
- package/lib/components/ReduxSettings/ReduxSettings.js +0 -64
- package/lib/components/Requests/Requests.css +0 -8
- package/lib/components/Requests/Requests.css.map +0 -1
- package/lib/components/Requests/Requests.d.ts +0 -6
- package/lib/components/Requests/Requests.js +0 -66
- package/lib/components/Status/Status.css +0 -15
- package/lib/components/Status/Status.css.map +0 -1
- package/lib/components/Status/Status.d.ts +0 -6
- package/lib/components/Status/Status.js +0 -21
- package/lib/components/TaskManager/TaskManager.css +0 -9
- package/lib/components/TaskManager/TaskManager.css.map +0 -1
- package/lib/components/TaskManager/TaskManager.d.ts +0 -9
- package/lib/components/TaskManager/TaskManager.js +0 -28
- package/lib/components/Timeline/Timeline.css +0 -5
- package/lib/components/Timeline/Timeline.css.map +0 -1
- package/lib/components/Timeline/Timeline.d.ts +0 -6
- package/lib/components/Timeline/Timeline.js +0 -18
- package/lib/components/TimelineEvent/TimelineEvent.css +0 -20
- package/lib/components/TimelineEvent/TimelineEvent.css.map +0 -1
- package/lib/components/TimelineEvent/TimelineEvent.d.ts +0 -7
- package/lib/components/TimelineEvent/TimelineEvent.js +0 -18
- package/lib/components/TimelineHeader/TimelineHeader.css +0 -6
- package/lib/components/TimelineHeader/TimelineHeader.css.map +0 -1
- package/lib/components/TimelineHeader/TimelineHeader.d.ts +0 -4
- package/lib/components/TimelineHeader/TimelineHeader.js +0 -10
- package/lib/components/TimelineRow/TimelineRow.css +0 -14
- package/lib/components/TimelineRow/TimelineRow.css.map +0 -1
- package/lib/components/TimelineRow/TimelineRow.d.ts +0 -7
- package/lib/components/TimelineRow/TimelineRow.js +0 -18
- package/lib/components/TimelineRowHeader/TimelineRowHeader.css +0 -45
- package/lib/components/TimelineRowHeader/TimelineRowHeader.css.map +0 -1
- package/lib/components/TimelineRowHeader/TimelineRowHeader.d.ts +0 -7
- package/lib/components/TimelineRowHeader/TimelineRowHeader.js +0 -15
- package/lib/components/Toggle/Toggle.css +0 -3
- package/lib/components/Toggle/Toggle.css.map +0 -1
- package/lib/components/Toggle/Toggle.d.ts +0 -8
- package/lib/components/Toggle/Toggle.js +0 -13
- package/lib/components/Variables.css +0 -3
- package/lib/components/Variables.css.map +0 -1
- package/lib/components/VirtualList/VirtualList.css +0 -13
- package/lib/components/VirtualList/VirtualList.css.map +0 -1
- package/lib/components/VirtualList/VirtualList.d.ts +0 -19
- package/lib/components/VirtualList/VirtualList.js +0 -35
- package/lib/components/Visual/Visual.css +0 -57
- package/lib/components/Visual/Visual.css.map +0 -1
- package/lib/components/Visual/Visual.d.ts +0 -6
- package/lib/components/Visual/Visual.js +0 -43
- package/lib/components/prefix.d.ts +0 -2
- package/lib/components/prefix.js +0 -5
- package/lib/data/boxSizes.d.ts +0 -2
- package/lib/data/boxSizes.js +0 -13
- package/lib/data/dispatcherActions.d.ts +0 -5
- package/lib/data/dispatcherActions.js +0 -38
- package/lib/data/layoutDefault.d.ts +0 -2
- package/lib/data/layoutDefault.js +0 -49
- package/lib/data/panels.d.ts +0 -2
- package/lib/data/panels.js +0 -17
- package/lib/data/panelsArrangements.d.ts +0 -19
- package/lib/data/panelsArrangements.js +0 -22
- package/lib/data/panelsLocal.d.ts +0 -2
- package/lib/data/panelsLocal.js +0 -10
- package/lib/data/reduxFilterOptions.d.ts +0 -20
- package/lib/data/reduxFilterOptions.js +0 -227
- package/lib/data/widgets.d.ts +0 -2
- package/lib/data/widgets.js +0 -157
- package/lib/data/widgetsLocal.d.ts +0 -2
- package/lib/data/widgetsLocal.js +0 -22
- package/lib/hooks/index.d.ts +0 -7
- package/lib/hooks/index.js +0 -17
- package/lib/hooks/misc/hookState.d.ts +0 -8
- package/lib/hooks/misc/hookState.js +0 -10
- package/lib/hooks/misc/util.d.ts +0 -5
- package/lib/hooks/misc/util.js +0 -27
- package/lib/hooks/useBoolean.d.ts +0 -3
- package/lib/hooks/useBoolean.js +0 -7
- package/lib/hooks/useClickAway.d.ts +0 -3
- package/lib/hooks/useClickAway.js +0 -31
- package/lib/hooks/useEvent.d.ts +0 -13
- package/lib/hooks/useEvent.js +0 -37
- package/lib/hooks/useKey.d.ts +0 -12
- package/lib/hooks/useKey.js +0 -34
- package/lib/hooks/useList.d.ts +0 -57
- package/lib/hooks/useList.js +0 -79
- package/lib/hooks/useLocalstorage.d.ts +0 -10
- package/lib/hooks/useLocalstorage.js +0 -79
- package/lib/hooks/usePanels.d.ts +0 -10
- package/lib/hooks/usePanels.js +0 -49
- package/lib/hooks/useSetState.d.ts +0 -2
- package/lib/hooks/useSetState.js +0 -14
- package/lib/hooks/useToggle.d.ts +0 -2
- package/lib/hooks/useToggle.js +0 -10
- package/lib/hooks/useUpdate.d.ts +0 -1
- package/lib/hooks/useUpdate.js +0 -9
- package/lib/index.css +0 -605
- package/lib/index.css.map +0 -1
- package/lib/index.d.ts +0 -4
- package/lib/index.js +0 -11
- package/lib/selectors/selectors.d.ts +0 -21
- package/lib/selectors/selectors.js +0 -24
- package/lib/theme/devtoolsTheme.d.ts +0 -2
- package/lib/theme/devtoolsTheme.js +0 -97
- package/lib/types.d.ts +0 -21
- package/lib/types.js +0 -2
- package/lib/utils/filter.d.ts +0 -3
- package/lib/utils/filter.js +0 -29
- package/lib/utils/localStorage.d.ts +0 -2
- package/lib/utils/localStorage.js +0 -26
- package/lib/utils/sockets.d.ts +0 -7
- package/lib/utils/sockets.js +0 -34
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Container, Col, Id, Type } from './RequestRow.style';
|
|
3
|
+
import Time from '../Time/Time';
|
|
4
|
+
import { ApiRequest } from 'redux-connected';
|
|
5
|
+
|
|
6
|
+
export type RequestRowProps = {
|
|
7
|
+
style: Json;
|
|
8
|
+
item: ApiRequest;
|
|
9
|
+
index: number;
|
|
10
|
+
className?: string;
|
|
11
|
+
onClick: (item: ApiRequest) => void;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export function RequestRow(props: RequestRowProps) {
|
|
15
|
+
const { index, style, item, className } = props;
|
|
16
|
+
const { sequence, createdTS } = item;
|
|
17
|
+
|
|
18
|
+
return (
|
|
19
|
+
<Container
|
|
20
|
+
className={`DevListRow-container ${className}`}
|
|
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;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Container } from './Size.style';
|
|
3
|
+
import bytes from 'bytes';
|
|
4
|
+
import { useMemo } from 'react';
|
|
5
|
+
|
|
6
|
+
export type SizeProps = {
|
|
7
|
+
size?: number;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export function Size(props: SizeProps) {
|
|
11
|
+
const { size = 0 } = props;
|
|
12
|
+
const sizeText = useMemo(() => bytes(size), [size]);
|
|
13
|
+
|
|
14
|
+
return (
|
|
15
|
+
<Container className='Size-container' data-testid='Size-container'>
|
|
16
|
+
{!size ? '-' : sizeText}
|
|
17
|
+
</Container>
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export default Size;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Container } from './StateViewer.style';
|
|
3
|
+
|
|
4
|
+
export type StateViewerProps = {};
|
|
5
|
+
|
|
6
|
+
export function StateViewer(_props: StateViewerProps) {
|
|
7
|
+
return (
|
|
8
|
+
<Container
|
|
9
|
+
className='StateViewer-container'
|
|
10
|
+
data-testid='StateViewer-container'
|
|
11
|
+
>
|
|
12
|
+
StateViewer
|
|
13
|
+
</Container>
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export default StateViewer;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import styled from 'styled-components';
|
|
2
|
+
|
|
3
|
+
export const Container = styled.div`
|
|
4
|
+
display: flex;
|
|
5
|
+
flex-direction: row;
|
|
6
|
+
align-items: flex-start;
|
|
7
|
+
font-family: monospace;
|
|
8
|
+
color: #99a;
|
|
9
|
+
`;
|
|
10
|
+
|
|
11
|
+
export const Full = styled.div`
|
|
12
|
+
font-size: 24px;
|
|
13
|
+
`;
|
|
14
|
+
|
|
15
|
+
export const Fraction = styled.div`
|
|
16
|
+
font-size: 12px;
|
|
17
|
+
`;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { startOfTime } from '../../utils/date';
|
|
3
|
+
import { Container, Full, Fraction } from './Time.style';
|
|
4
|
+
|
|
5
|
+
export type TimeProps = {
|
|
6
|
+
value: number;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export function Time(props: TimeProps) {
|
|
10
|
+
const { value } = props;
|
|
11
|
+
|
|
12
|
+
const relativeValue = (value - startOfTime) / 1000;
|
|
13
|
+
|
|
14
|
+
const full = Math.floor(relativeValue);
|
|
15
|
+
const fraction = (relativeValue - full).toFixed(3).split('.').pop();
|
|
16
|
+
|
|
17
|
+
return (
|
|
18
|
+
<Container className='Time-container' data-testid='Time-container'>
|
|
19
|
+
<Full>{full}</Full>
|
|
20
|
+
<Fraction>{fraction}</Fraction>
|
|
21
|
+
</Container>
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export default Time;
|
|
@@ -0,0 +1,28 @@
|
|
|
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;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import DevPanel from '../components/DevPanel/DevPanel';
|
|
3
|
+
|
|
4
|
+
type DevPanelProps = {
|
|
5
|
+
children: JSX.Element | JSX.Element[];
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export function DevPanelContainer(props: DevPanelProps) {
|
|
9
|
+
return <DevPanel>{props.children}</DevPanel>;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export default DevPanelContainer;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import DevtoolsApp from '../components/DevtoolsApp/DevtoolsApp';
|
|
3
|
+
import { clearCompletedRequests, clearFailedRequests } from 'redux-connected';
|
|
4
|
+
import { getMinutes, resetStartOfTime } from '../utils/date';
|
|
5
|
+
import { download } from '../utils/download';
|
|
6
|
+
import { useStoreSize } from '../hooks/useStoreSize';
|
|
7
|
+
|
|
8
|
+
export type DevtoolsAppProps = {
|
|
9
|
+
connectedStore: any;
|
|
10
|
+
isDarkMode?: boolean;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export function DevtoolsAppContainer(props: DevtoolsAppProps) {
|
|
14
|
+
const { connectedStore, isDarkMode } = props;
|
|
15
|
+
const storeSizeInBytes = useStoreSize(connectedStore);
|
|
16
|
+
|
|
17
|
+
function clearRequests() {
|
|
18
|
+
connectedStore.dispatch(clearCompletedRequests());
|
|
19
|
+
connectedStore.dispatch(clearFailedRequests());
|
|
20
|
+
// also resets time
|
|
21
|
+
resetStartOfTime();
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function downloadState() {
|
|
25
|
+
const state = connectedStore.getState();
|
|
26
|
+
const minutes = getMinutes();
|
|
27
|
+
const filename = `state_${minutes}.json`;
|
|
28
|
+
download(filename, state);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return (
|
|
32
|
+
<DevtoolsApp
|
|
33
|
+
connectedStore={connectedStore}
|
|
34
|
+
clearRequests={clearRequests}
|
|
35
|
+
downloadState={downloadState}
|
|
36
|
+
storeSizeInBytes={storeSizeInBytes}
|
|
37
|
+
isDarkMode={isDarkMode}
|
|
38
|
+
/>
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export default DevtoolsAppContainer;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import JsonViewer from '../components/JsonViewer/JsonViewer';
|
|
3
|
+
import { connectedSelectors } from 'redux-connected';
|
|
4
|
+
import { useSelector } from 'react-redux';
|
|
5
|
+
|
|
6
|
+
export function EndpointConfigsContainer() {
|
|
7
|
+
const json = useSelector(connectedSelectors.$endpointsConfigRaw);
|
|
8
|
+
|
|
9
|
+
return <JsonViewer json={json} />;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export default EndpointConfigsContainer;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import JsonViewer from '../components/JsonViewer/JsonViewer';
|
|
3
|
+
import { connectedSelectors } from 'redux-connected';
|
|
4
|
+
import { useSelector } from 'react-redux';
|
|
5
|
+
|
|
6
|
+
export function EndpointStatusContainer() {
|
|
7
|
+
const json = useSelector(connectedSelectors.$endpointsStateRaw);
|
|
8
|
+
|
|
9
|
+
return <JsonViewer json={json} />;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export default EndpointStatusContainer;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useSelector } from 'react-redux';
|
|
3
|
+
import JsonViewer from '../components/JsonViewer/JsonViewer';
|
|
4
|
+
import { connectedSelectors } from 'redux-connected';
|
|
5
|
+
|
|
6
|
+
export function GlobalSettingsContainer() {
|
|
7
|
+
const json = useSelector(connectedSelectors.$apiGlobalSettingsRaw);
|
|
8
|
+
|
|
9
|
+
return <JsonViewer json={json} />;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export default GlobalSettingsContainer;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useSelector } from 'react-redux';
|
|
3
|
+
import JsonViewer from '../components/JsonViewer/JsonViewer';
|
|
4
|
+
import { connectedSelectors } from 'redux-connected';
|
|
5
|
+
|
|
6
|
+
export function GlobalStatsContainer() {
|
|
7
|
+
const json = useSelector(connectedSelectors.$apiGlobalStatsRaw);
|
|
8
|
+
|
|
9
|
+
return <JsonViewer json={json} />;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export default GlobalStatsContainer;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useSelector } from 'react-redux';
|
|
3
|
+
import Lifecycle from '../components/Lifecycle/Lifecycle';
|
|
4
|
+
import { $requestsApiErrorPast } from '../store/selectors';
|
|
5
|
+
|
|
6
|
+
export function LifecycleApiErrorContainer() {
|
|
7
|
+
const requests = useSelector($requestsApiErrorPast);
|
|
8
|
+
return <Lifecycle requests={requests} />;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export default LifecycleApiErrorContainer;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useSelector } from 'react-redux';
|
|
3
|
+
import { connectedSelectors } from 'redux-connected';
|
|
4
|
+
import Lifecycle from '../components/Lifecycle/Lifecycle';
|
|
5
|
+
|
|
6
|
+
export function LifecycleContainer() {
|
|
7
|
+
const actionLogs = useSelector(connectedSelectors.$actionLogsByLifecycle);
|
|
8
|
+
|
|
9
|
+
return <Lifecycle />;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export default LifecycleContainer;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useSelector } from 'react-redux';
|
|
3
|
+
import Lifecycle from '../components/Lifecycle/Lifecycle';
|
|
4
|
+
import { $requestsFailed } from '../store/selectors';
|
|
5
|
+
|
|
6
|
+
export function LifecycleFailedContainer() {
|
|
7
|
+
const requests = useSelector($requestsFailed);
|
|
8
|
+
return <Lifecycle requests={requests} />;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export default LifecycleFailedContainer;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useSelector } from 'react-redux';
|
|
3
|
+
import Lifecycle from '../components/Lifecycle/Lifecycle';
|
|
4
|
+
import { $requestsGeneralErrorPast } from '../store/selectors';
|
|
5
|
+
|
|
6
|
+
export function LifecycleGeneralErrorContainer() {
|
|
7
|
+
const requests = useSelector($requestsGeneralErrorPast);
|
|
8
|
+
return <Lifecycle requests={requests} />;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export default LifecycleGeneralErrorContainer;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useSelector } from 'react-redux';
|
|
3
|
+
import Lifecycle from '../components/Lifecycle/Lifecycle';
|
|
4
|
+
import { $requestsInQueuePast } from '../store/selectors';
|
|
5
|
+
|
|
6
|
+
export function LifecycleInQueueContainer() {
|
|
7
|
+
const requests = useSelector($requestsInQueuePast);
|
|
8
|
+
return <Lifecycle requests={requests} />;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export default LifecycleInQueueContainer;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useSelector } from 'react-redux';
|
|
3
|
+
import Lifecycle from '../components/Lifecycle/Lifecycle';
|
|
4
|
+
import { $requestsPendingApiPast } from '../store/selectors';
|
|
5
|
+
|
|
6
|
+
export function LifecyclePendingApiContainer() {
|
|
7
|
+
const requests = useSelector($requestsPendingApiPast);
|
|
8
|
+
return <Lifecycle requests={requests} />;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export default LifecyclePendingApiContainer;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useSelector } from 'react-redux';
|
|
3
|
+
import Lifecycle from '../components/Lifecycle/Lifecycle';
|
|
4
|
+
import { $requestsPostActionPast } from '../store/selectors';
|
|
5
|
+
|
|
6
|
+
export function LifecyclePostActionContainer() {
|
|
7
|
+
const requests = useSelector($requestsPostActionPast);
|
|
8
|
+
return <Lifecycle requests={requests} />;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export default LifecyclePostActionContainer;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useSelector } from 'react-redux';
|
|
3
|
+
import Lifecycle from '../components/Lifecycle/Lifecycle';
|
|
4
|
+
import { $requestsReceivedPast } from '../store/selectors';
|
|
5
|
+
|
|
6
|
+
export function LifecycleReceivedContainer() {
|
|
7
|
+
const requests = useSelector($requestsReceivedPast);
|
|
8
|
+
return <Lifecycle requests={requests} />;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export default LifecycleReceivedContainer;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import LifecycleReceivedContainer from '../containers/LifecycleReceivedContainer';
|
|
2
|
+
import GlobalStatsContainer from '../containers/GlobalStatsContainer';
|
|
3
|
+
import EndpointConfigsContainer from '../containers/EndpointConfigsContainer';
|
|
4
|
+
import GlobalSettingsContainer from '../containers/GlobalSettingsContainer';
|
|
5
|
+
import EndpointStatusContainer from '../containers/EndpointStatusContainer';
|
|
6
|
+
import LifecycleInQueueContainer from '../containers/LifecycleInQueueContainer';
|
|
7
|
+
import LifecycleGeneralErrorContainer from '../containers/LifecycleGeneralErrorContainer';
|
|
8
|
+
import LifecyclePendingApiContainer from '../containers/LifecyclePendingApiContainer';
|
|
9
|
+
import LifecycleApiErrorContainer from '../containers/LifecycleApiErrorContainer';
|
|
10
|
+
import LifecyclePostActionContainer from '../containers/LifecyclePostActionContainer';
|
|
11
|
+
import LifecycleFailedContainer from '../containers/LifecycleFailedContainer';
|
|
12
|
+
|
|
13
|
+
type DevComponents = Record<string, React.FC<any>>;
|
|
14
|
+
|
|
15
|
+
export const devComponents: DevComponents = {
|
|
16
|
+
LifecycleReceived: LifecycleReceivedContainer,
|
|
17
|
+
LifecycleInQueue: LifecycleInQueueContainer,
|
|
18
|
+
LifecycleGeneralError: LifecycleGeneralErrorContainer,
|
|
19
|
+
LifecyclePendingApi: LifecyclePendingApiContainer,
|
|
20
|
+
LifecycleApiError: LifecycleApiErrorContainer,
|
|
21
|
+
LifecycleFailed: LifecycleFailedContainer,
|
|
22
|
+
LifecyclePostAction: LifecyclePostActionContainer,
|
|
23
|
+
GlobalSettings: GlobalSettingsContainer,
|
|
24
|
+
GlobalStats: GlobalStatsContainer,
|
|
25
|
+
EndpointConfigs: EndpointConfigsContainer,
|
|
26
|
+
EndpointStatus: EndpointStatusContainer,
|
|
27
|
+
};
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
export type IDevRoute = {
|
|
2
|
+
id: string;
|
|
3
|
+
title: string;
|
|
4
|
+
group: string;
|
|
5
|
+
componentId: string;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export const devRoutes: IDevRoute[] = [
|
|
9
|
+
{
|
|
10
|
+
id: '/lifecycle/original',
|
|
11
|
+
title: '1. Original',
|
|
12
|
+
group: 'lifecycle',
|
|
13
|
+
componentId: 'Lifecycle',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
id: '/lifecycle/gatekeeper',
|
|
17
|
+
title: '2. Gatekeeper',
|
|
18
|
+
group: 'lifecycle',
|
|
19
|
+
componentId: 'Lifecycle',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
id: '/lifecycle/incoming',
|
|
23
|
+
title: '3. Incoming',
|
|
24
|
+
group: 'lifecycle',
|
|
25
|
+
componentId: 'Lifecycle',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
id: '/lifecycle/queue',
|
|
29
|
+
title: '4. Queue',
|
|
30
|
+
group: 'lifecycle',
|
|
31
|
+
componentId: 'Lifecycle',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
id: '/lifecycle/firing',
|
|
35
|
+
title: '5. Firing',
|
|
36
|
+
group: 'lifecycle',
|
|
37
|
+
componentId: 'Lifecycle',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
id: '/lifecycle/api',
|
|
41
|
+
title: '6. API',
|
|
42
|
+
group: 'lifecycle',
|
|
43
|
+
componentId: 'Lifecycle',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
id: '/lifecycle/error',
|
|
47
|
+
title: '7. Error',
|
|
48
|
+
group: 'lifecycle',
|
|
49
|
+
componentId: 'Lifecycle',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
id: '/lifecycle/postAction',
|
|
53
|
+
title: '8. Post-action',
|
|
54
|
+
group: 'lifecycle',
|
|
55
|
+
componentId: 'Lifecycle',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
id: '/logs',
|
|
59
|
+
title: 'Logs',
|
|
60
|
+
group: 'state',
|
|
61
|
+
componentId: 'LogsViewer',
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
id: '/state',
|
|
65
|
+
title: 'State',
|
|
66
|
+
group: 'state',
|
|
67
|
+
componentId: 'StateViewer',
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
id: '/sagas',
|
|
71
|
+
title: 'Sagas',
|
|
72
|
+
group: 'state',
|
|
73
|
+
componentId: 'SagaViewer',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
id: '/settings/global',
|
|
77
|
+
title: 'Global settings',
|
|
78
|
+
group: 'settings & stats',
|
|
79
|
+
componentId: 'JsonViewer',
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
id: '/settings/endpoints',
|
|
83
|
+
title: 'Endpoints configs',
|
|
84
|
+
group: 'settings & stats',
|
|
85
|
+
componentId: 'JsonViewer',
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
id: '/stats/global',
|
|
89
|
+
title: 'Global stats',
|
|
90
|
+
group: 'settings & stats',
|
|
91
|
+
componentId: 'JsonViewer',
|
|
92
|
+
},
|
|
93
|
+
];
|
|
94
|
+
|
|
95
|
+
const getGroups = (): string[] => {
|
|
96
|
+
const output: string[] = [];
|
|
97
|
+
|
|
98
|
+
devRoutes.forEach((group) => {
|
|
99
|
+
if (!output.includes(group.group)) {
|
|
100
|
+
output.push(group.group);
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
return output;
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
export const devGroups: string[] = getGroups();
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
export type IDevRoute = {
|
|
2
|
+
id: string;
|
|
3
|
+
title: string;
|
|
4
|
+
group: string;
|
|
5
|
+
componentId: string;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export const devRoutes: IDevRoute[] = [
|
|
9
|
+
{
|
|
10
|
+
id: 'lifecycleReceived',
|
|
11
|
+
title: '1. Received',
|
|
12
|
+
group: 'lifecycle',
|
|
13
|
+
componentId: 'LifecycleReceived',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
id: 'lifecycleInQueue',
|
|
17
|
+
title: '2. In queue',
|
|
18
|
+
group: 'lifecycle',
|
|
19
|
+
componentId: 'LifecycleInQueue',
|
|
20
|
+
},
|
|
21
|
+
|
|
22
|
+
{
|
|
23
|
+
id: 'lifecyclePendingApi',
|
|
24
|
+
title: '3. Pending API',
|
|
25
|
+
group: 'lifecycle',
|
|
26
|
+
componentId: 'LifecyclePendingApi',
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
id: 'lifecyclePostAction',
|
|
30
|
+
title: '4. Post action',
|
|
31
|
+
group: 'lifecycle',
|
|
32
|
+
componentId: 'LifecyclePostAction',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
id: 'lifecycleGeneralError',
|
|
36
|
+
title: 'e1. General errors',
|
|
37
|
+
group: 'errors',
|
|
38
|
+
componentId: 'LifecycleGeneralError',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
id: 'lifecycleApiError',
|
|
42
|
+
title: 'e2. API errors',
|
|
43
|
+
group: 'errors',
|
|
44
|
+
componentId: 'LifecycleApiError',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
id: 'lifecycleFailed',
|
|
48
|
+
title: 'e3. Failed requests (after retries)',
|
|
49
|
+
group: 'errors',
|
|
50
|
+
componentId: 'LifecycleFailed',
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
id: 'endpointStatus',
|
|
54
|
+
title: 'Endpoint status',
|
|
55
|
+
group: 'settings & stats',
|
|
56
|
+
componentId: 'EndpointStatus',
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
id: 'settingsGlobal',
|
|
60
|
+
title: 'Global settings',
|
|
61
|
+
group: 'settings & stats',
|
|
62
|
+
componentId: 'GlobalSettings',
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
id: 'settingsEndpoints',
|
|
66
|
+
title: 'Endpoints configs',
|
|
67
|
+
group: 'settings & stats',
|
|
68
|
+
componentId: 'EndpointConfigs',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
id: 'statsGlobal',
|
|
72
|
+
title: 'Global stats',
|
|
73
|
+
group: 'settings & stats',
|
|
74
|
+
componentId: 'GlobalStats',
|
|
75
|
+
},
|
|
76
|
+
];
|
|
77
|
+
|
|
78
|
+
const getGroups = (): string[] => {
|
|
79
|
+
const output: string[] = [];
|
|
80
|
+
|
|
81
|
+
devRoutes.forEach((group) => {
|
|
82
|
+
if (!output.includes(group.group)) {
|
|
83
|
+
output.push(group.group);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
return output;
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
export const devGroups: string[] = getGroups();
|