Skip to content

Commit 7fd8928

Browse files
committed
dynamic rendering of logs button upon graph run
1 parent 57dd33a commit 7fd8928

File tree

4 files changed

+53
-33
lines changed

4 files changed

+53
-33
lines changed

src/components/molecules/flow/index.js

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -107,10 +107,12 @@ const selector = (state) => ({
107107
onConnect: state.onConnect,
108108
setNodes: state.setNodes,
109109
setEdges: state.setEdges,
110+
setLogs: state.setLogs,
110111
});
111112

112113
const Flow = ({ collectionId }) => {
113-
const { nodes, edges, onNodesChange, onEdgesChange, onConnect, setNodes, setEdges } = useCanvasStore(selector);
114+
const { nodes, edges, onNodesChange, onEdgesChange, onConnect, setNodes, setEdges, setLogs } =
115+
useCanvasStore(selector);
114116
//console.log(nodes);
115117

116118
// notification
@@ -214,18 +216,19 @@ const Flow = ({ collectionId }) => {
214216

215217
// graph
216218
// eslint-disable-next-line no-unused-vars
217-
const [graphRun, setGraphRun] = useState(false);
218-
// eslint-disable-next-line no-unused-vars
219-
const [graphRunLogs, setGraphRunLogs] = useState(undefined);
219+
// const [graphRun, setGraphRun] = useState(false);
220+
// // eslint-disable-next-line no-unused-vars
221+
// const [graphRunLogs, setGraphRunLogs] = useState(undefined);
220222

221223
const onGraphComplete = (result, logs) => {
222224
console.debug('Graph complete callback: ', result);
223-
setGraphRun(true);
224-
setGraphRunLogs(logs);
225+
// setGraphRun(true);
226+
// setGraphRunLogs(logs);
227+
setLogs(logs);
225228
if (result[0] == 'Success') {
226-
enqueueSnackbar('FlowTest Run Success!', { variant: 'success' });
229+
toast.success('FlowTest Run Success! View Logs');
227230
} else if (result[0] == 'Failed') {
228-
enqueueSnackbar('FlowTest Run Failed!', { variant: 'error' });
231+
toast.error('FlowTest Run Failed! View Logs');
229232
}
230233
runnableEdges(false);
231234
};

src/components/molecules/headers/TabPanelHeader.js

Lines changed: 35 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,14 @@ import { useTabStore } from 'stores/TabStore';
1313
import Button from 'components/atoms/common/Button';
1414
import { BUTTON_TYPES } from 'constants/Common';
1515
import GenerateFlowTestModal from '../modals/GenerateFlowTestModal';
16+
import useCanvasStore from 'stores/CanvasStore';
1617

1718
const TabPanelHeader = () => {
18-
const focusTabId = useTabStore.getState().focusTabId;
19-
const tabs = useTabStore.getState().tabs;
19+
const focusTabId = useTabStore((state) => state.focusTabId);
20+
const tabs = useTabStore((state) => state.tabs);
2021
const focusTab = tabs.find((t) => t.id === focusTabId);
22+
const graphRunLogs = useCanvasStore((state) => state.logs);
23+
console.log('graph logs: ', graphRunLogs);
2124

2225
const [generateFlowTestModalOpen, setGenerateFlowTestModalOpen] = useState(false);
2326

@@ -30,35 +33,43 @@ const TabPanelHeader = () => {
3033
<div className='flex items-center justify-between pl-4 gap-x-4'>
3134
<SaveFlowModal tab={focusTab} />
3235
{/* ToDo: Create our own side sheet component */}
33-
<div className='drawer drawer-end'>
34-
<input id='graph-logs-side-sheet' type='checkbox' className='drawer-toggle' />
35-
<div className='cursor-pointer drawer-content'>
36-
<Tippy content='Logs' placement='top'>
37-
<label htmlFor='graph-logs-side-sheet'>
38-
<DocumentTextIcon className='w-5 h-5' />
39-
</label>
40-
</Tippy>
41-
</div>
36+
{graphRunLogs.length != 0 ? (
37+
<div className='drawer drawer-end'>
38+
<input id='graph-logs-side-sheet' type='checkbox' className='drawer-toggle' />
39+
<div className='cursor-pointer drawer-content'>
40+
<Tippy content='Logs' placement='top'>
41+
<label htmlFor='graph-logs-side-sheet'>
42+
<DocumentTextIcon className='w-5 h-5' />
43+
</label>
44+
</Tippy>
45+
</div>
4246

43-
<div className='z-50 drawer-side'>
44-
<label htmlFor='graph-logs-side-sheet' aria-label='close sidebar' className='drawer-overlay'></label>
45-
<ul className='min-h-full p-4 menu w-80 bg-base-200 text-base-content'>
46-
<li>
47-
<a>Sidebar Item 1</a>
48-
</li>
49-
<li>
50-
<a>Sidebar Item 2</a>
51-
</li>
52-
</ul>
47+
<div className='z-50 drawer-side'>
48+
<label
49+
htmlFor='graph-logs-side-sheet'
50+
aria-label='close sidebar'
51+
className='drawer-overlay'
52+
></label>
53+
<ul className='min-h-full p-4 menu w-80 bg-base-200 text-base-content'>
54+
{graphRunLogs.map((item, index) => (
55+
<li key={index}>
56+
<div>{console.log(item)}</div>
57+
<a>{item}</a>
58+
</li>
59+
))}
60+
</ul>
61+
</div>
5362
</div>
54-
</div>
63+
) : (
64+
<></>
65+
)}
5566
<button>
56-
<Tippy content='Coming Soon!' placement='top'>
67+
<Tippy content='Import - Coming Soon!' placement='top'>
5768
<DocumentArrowDownIcon className='w-5 h-5 fill-neutral-200 text-neutral-400' />
5869
</Tippy>
5970
</button>
6071
<button>
61-
<Tippy content='Coming Soon!' placement='top'>
72+
<Tippy content='Export - Coming Soon!' placement='top'>
6273
<DocumentArrowUpIcon className='w-5 h-5 fill-neutral-200 text-neutral-400' />
6374
</Tippy>
6475
</button>

src/components/molecules/workspace/WorkspaceContent.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import TabPanelHeader from '../headers/TabPanelHeader';
77
const WorkspaceContent = () => {
88
const setNodes = useCanvasStore((state) => state.setNodes);
99
const setEdges = useCanvasStore((state) => state.setEdges);
10+
const setLogs = useCanvasStore((state) => state.setLogs);
1011

1112
const focusTabId = useTabStore((state) => state.focusTabId);
1213
const tabs = useTabStore((state) => state.tabs);
@@ -19,10 +20,11 @@ const WorkspaceContent = () => {
1920
const result = init(focusTab.flowDataDraft ? focusTab.flowDataDraft : focusTab.flowData);
2021
setNodes(result.nodes);
2122
setEdges(result.edges);
23+
setLogs([]);
2224
}
2325

2426
return (
25-
<div className='flex flex-col h-full'>
27+
<div className='flex h-full flex-col'>
2628
<TabPanelHeader />
2729
{focusTab ? (
2830
<Flow collectionId={focusTab.collectionId} />

src/stores/CanvasStore.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import { getDefaultValue } from 'utils/common';
1919
const useCanvasStore = create((set, get) => ({
2020
nodes: [],
2121
edges: [],
22+
logs: [],
2223
onNodesChange: (changes) => {
2324
set({
2425
nodes: applyNodeChanges(changes, get().nodes),
@@ -49,6 +50,9 @@ const useCanvasStore = create((set, get) => ({
4950
set({ edges });
5051
useTabStore.getState().updateFlowTestEdges(get().edges);
5152
},
53+
setLogs: (logs) => {
54+
set({ logs });
55+
},
5256
setAuthNodeType: (nodeId, authType) => {
5357
set({
5458
nodes: get().nodes.map((node) => {

0 commit comments

Comments
 (0)