cognite-neat 0.104.0__py3-none-any.whl → 0.105.1__py3-none-any.whl
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.
Potentially problematic release.
This version of cognite-neat might be problematic. Click here for more details.
- cognite/neat/_client/_api/data_modeling_loaders.py +83 -23
- cognite/neat/_client/_api/schema.py +2 -1
- cognite/neat/_client/data_classes/neat_sequence.py +261 -0
- cognite/neat/_client/data_classes/schema.py +5 -1
- cognite/neat/_client/testing.py +33 -0
- cognite/neat/_constants.py +57 -0
- cognite/neat/_graph/extractors/_classic_cdf/_base.py +6 -5
- cognite/neat/_graph/extractors/_classic_cdf/_sequences.py +225 -11
- cognite/neat/_graph/extractors/_mock_graph_generator.py +1 -1
- cognite/neat/_graph/loaders/_rdf2dms.py +31 -5
- cognite/neat/_graph/transformers/__init__.py +3 -1
- cognite/neat/_graph/transformers/_classic_cdf.py +39 -51
- cognite/neat/_graph/transformers/_rdfpath.py +14 -15
- cognite/neat/_graph/transformers/_value_type.py +72 -0
- cognite/neat/_issues/__init__.py +0 -2
- cognite/neat/_issues/_base.py +19 -35
- cognite/neat/_issues/warnings/__init__.py +6 -1
- cognite/neat/_issues/warnings/_general.py +7 -0
- cognite/neat/_issues/warnings/_properties.py +11 -0
- cognite/neat/_issues/warnings/_resources.py +11 -0
- cognite/neat/_rules/exporters/_rules2dms.py +35 -1
- cognite/neat/_rules/exporters/_rules2excel.py +2 -2
- cognite/neat/_rules/importers/_dms2rules.py +66 -55
- cognite/neat/_rules/models/_base_rules.py +4 -1
- cognite/neat/_rules/models/entities/_wrapped.py +10 -5
- cognite/neat/_rules/models/mapping/_classic2core.yaml +239 -38
- cognite/neat/_rules/transformers/__init__.py +8 -2
- cognite/neat/_rules/transformers/_converters.py +271 -188
- cognite/neat/_rules/transformers/_mapping.py +75 -59
- cognite/neat/_rules/transformers/_verification.py +2 -3
- cognite/neat/_session/_inspect.py +3 -1
- cognite/neat/_session/_prepare.py +112 -24
- cognite/neat/_session/_read.py +33 -70
- cognite/neat/_session/_state.py +2 -2
- cognite/neat/_session/_to.py +2 -2
- cognite/neat/_store/_rules_store.py +4 -8
- cognite/neat/_utils/reader/_base.py +27 -0
- cognite/neat/_version.py +1 -1
- {cognite_neat-0.104.0.dist-info → cognite_neat-0.105.1.dist-info}/METADATA +4 -3
- cognite_neat-0.105.1.dist-info/RECORD +179 -0
- {cognite_neat-0.104.0.dist-info → cognite_neat-0.105.1.dist-info}/WHEEL +1 -1
- cognite/neat/_app/api/__init__.py +0 -0
- cognite/neat/_app/api/asgi/metrics.py +0 -4
- cognite/neat/_app/api/configuration.py +0 -98
- cognite/neat/_app/api/context_manager/__init__.py +0 -3
- cognite/neat/_app/api/context_manager/manager.py +0 -16
- cognite/neat/_app/api/data_classes/__init__.py +0 -0
- cognite/neat/_app/api/data_classes/rest.py +0 -59
- cognite/neat/_app/api/explorer.py +0 -66
- cognite/neat/_app/api/routers/configuration.py +0 -25
- cognite/neat/_app/api/routers/crud.py +0 -102
- cognite/neat/_app/api/routers/metrics.py +0 -10
- cognite/neat/_app/api/routers/workflows.py +0 -224
- cognite/neat/_app/api/utils/__init__.py +0 -0
- cognite/neat/_app/api/utils/data_mapping.py +0 -17
- cognite/neat/_app/api/utils/logging.py +0 -26
- cognite/neat/_app/api/utils/query_templates.py +0 -92
- cognite/neat/_app/main.py +0 -17
- cognite/neat/_app/monitoring/__init__.py +0 -0
- cognite/neat/_app/monitoring/metrics.py +0 -69
- cognite/neat/_app/ui/index.html +0 -1
- cognite/neat/_app/ui/neat-app/.gitignore +0 -23
- cognite/neat/_app/ui/neat-app/README.md +0 -70
- cognite/neat/_app/ui/neat-app/build/asset-manifest.json +0 -14
- cognite/neat/_app/ui/neat-app/build/favicon.ico +0 -0
- cognite/neat/_app/ui/neat-app/build/img/architect-icon.svg +0 -116
- cognite/neat/_app/ui/neat-app/build/img/developer-icon.svg +0 -112
- cognite/neat/_app/ui/neat-app/build/img/sme-icon.svg +0 -34
- cognite/neat/_app/ui/neat-app/build/index.html +0 -1
- cognite/neat/_app/ui/neat-app/build/logo192.png +0 -0
- cognite/neat/_app/ui/neat-app/build/manifest.json +0 -25
- cognite/neat/_app/ui/neat-app/build/robots.txt +0 -3
- cognite/neat/_app/ui/neat-app/build/static/css/main.72e3d92e.css +0 -2
- cognite/neat/_app/ui/neat-app/build/static/css/main.72e3d92e.css.map +0 -1
- cognite/neat/_app/ui/neat-app/build/static/js/main.5a52cf09.js +0 -3
- cognite/neat/_app/ui/neat-app/build/static/js/main.5a52cf09.js.LICENSE.txt +0 -88
- cognite/neat/_app/ui/neat-app/build/static/js/main.5a52cf09.js.map +0 -1
- cognite/neat/_app/ui/neat-app/build/static/media/logo.8093b84df9ed36a174c629d6fe0b730d.svg +0 -1
- cognite/neat/_app/ui/neat-app/package-lock.json +0 -18306
- cognite/neat/_app/ui/neat-app/package.json +0 -62
- cognite/neat/_app/ui/neat-app/public/favicon.ico +0 -0
- cognite/neat/_app/ui/neat-app/public/img/architect-icon.svg +0 -116
- cognite/neat/_app/ui/neat-app/public/img/developer-icon.svg +0 -112
- cognite/neat/_app/ui/neat-app/public/img/sme-icon.svg +0 -34
- cognite/neat/_app/ui/neat-app/public/index.html +0 -43
- cognite/neat/_app/ui/neat-app/public/logo192.png +0 -0
- cognite/neat/_app/ui/neat-app/public/manifest.json +0 -25
- cognite/neat/_app/ui/neat-app/public/robots.txt +0 -3
- cognite/neat/_app/ui/neat-app/src/App.css +0 -38
- cognite/neat/_app/ui/neat-app/src/App.js +0 -17
- cognite/neat/_app/ui/neat-app/src/App.test.js +0 -8
- cognite/neat/_app/ui/neat-app/src/MainContainer.tsx +0 -70
- cognite/neat/_app/ui/neat-app/src/components/JsonViewer.tsx +0 -43
- cognite/neat/_app/ui/neat-app/src/components/LocalUploader.tsx +0 -124
- cognite/neat/_app/ui/neat-app/src/components/OverviewComponentEditorDialog.tsx +0 -63
- cognite/neat/_app/ui/neat-app/src/components/StepEditorDialog.tsx +0 -511
- cognite/neat/_app/ui/neat-app/src/components/TabPanel.tsx +0 -36
- cognite/neat/_app/ui/neat-app/src/components/Utils.tsx +0 -56
- cognite/neat/_app/ui/neat-app/src/components/WorkflowDeleteDialog.tsx +0 -60
- cognite/neat/_app/ui/neat-app/src/components/WorkflowExecutionReport.tsx +0 -112
- cognite/neat/_app/ui/neat-app/src/components/WorkflowImportExportDialog.tsx +0 -67
- cognite/neat/_app/ui/neat-app/src/components/WorkflowMetadataDialog.tsx +0 -79
- cognite/neat/_app/ui/neat-app/src/index.css +0 -13
- cognite/neat/_app/ui/neat-app/src/index.js +0 -13
- cognite/neat/_app/ui/neat-app/src/logo.svg +0 -1
- cognite/neat/_app/ui/neat-app/src/reportWebVitals.js +0 -13
- cognite/neat/_app/ui/neat-app/src/setupTests.js +0 -5
- cognite/neat/_app/ui/neat-app/src/types/WorkflowTypes.ts +0 -388
- cognite/neat/_app/ui/neat-app/src/views/AboutView.tsx +0 -61
- cognite/neat/_app/ui/neat-app/src/views/ConfigView.tsx +0 -184
- cognite/neat/_app/ui/neat-app/src/views/GlobalConfigView.tsx +0 -180
- cognite/neat/_app/ui/neat-app/src/views/WorkflowView.tsx +0 -570
- cognite/neat/_app/ui/neat-app/tsconfig.json +0 -27
- cognite/neat/_workflows/__init__.py +0 -17
- cognite/neat/_workflows/base.py +0 -590
- cognite/neat/_workflows/cdf_store.py +0 -393
- cognite/neat/_workflows/examples/Export_DMS/workflow.yaml +0 -89
- cognite/neat/_workflows/examples/Export_Semantic_Data_Model/workflow.yaml +0 -66
- cognite/neat/_workflows/examples/Import_DMS/workflow.yaml +0 -65
- cognite/neat/_workflows/examples/Validate_Rules/workflow.yaml +0 -67
- cognite/neat/_workflows/examples/Validate_Solution_Model/workflow.yaml +0 -64
- cognite/neat/_workflows/manager.py +0 -292
- cognite/neat/_workflows/model.py +0 -203
- cognite/neat/_workflows/steps/__init__.py +0 -0
- cognite/neat/_workflows/steps/data_contracts.py +0 -109
- cognite/neat/_workflows/steps/lib/__init__.py +0 -0
- cognite/neat/_workflows/steps/lib/current/__init__.py +0 -6
- cognite/neat/_workflows/steps/lib/current/graph_extractor.py +0 -100
- cognite/neat/_workflows/steps/lib/current/graph_loader.py +0 -51
- cognite/neat/_workflows/steps/lib/current/graph_store.py +0 -48
- cognite/neat/_workflows/steps/lib/current/rules_exporter.py +0 -537
- cognite/neat/_workflows/steps/lib/current/rules_importer.py +0 -323
- cognite/neat/_workflows/steps/lib/current/rules_validator.py +0 -106
- cognite/neat/_workflows/steps/lib/io/__init__.py +0 -1
- cognite/neat/_workflows/steps/lib/io/io_steps.py +0 -393
- cognite/neat/_workflows/steps/step_model.py +0 -79
- cognite/neat/_workflows/steps_registry.py +0 -218
- cognite/neat/_workflows/tasks.py +0 -18
- cognite/neat/_workflows/triggers.py +0 -169
- cognite/neat/_workflows/utils.py +0 -19
- cognite_neat-0.104.0.dist-info/RECORD +0 -276
- {cognite_neat-0.104.0.dist-info → cognite_neat-0.105.1.dist-info}/LICENSE +0 -0
- {cognite_neat-0.104.0.dist-info → cognite_neat-0.105.1.dist-info}/entry_points.txt +0 -0
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import Timeline from '@mui/lab/Timeline';
|
|
2
|
-
import TimelineConnector from '@mui/lab/TimelineConnector';
|
|
3
|
-
import TimelineContent from '@mui/lab/TimelineContent';
|
|
4
|
-
import TimelineDot from '@mui/lab/TimelineDot';
|
|
5
|
-
import TimelineItem, { timelineItemClasses } from '@mui/lab/TimelineItem';
|
|
6
|
-
import TimelineSeparator from '@mui/lab/TimelineSeparator';
|
|
7
|
-
import Box from '@mui/material/Box';
|
|
8
|
-
import Button from '@mui/material/Button';
|
|
9
|
-
import CircularProgress from '@mui/material/CircularProgress';
|
|
10
|
-
import Dialog from '@mui/material/Dialog';
|
|
11
|
-
import DialogActions from '@mui/material/DialogActions';
|
|
12
|
-
import DialogContent from '@mui/material/DialogContent';
|
|
13
|
-
import DialogTitle from '@mui/material/DialogTitle';
|
|
14
|
-
import FormControl from '@mui/material/FormControl';
|
|
15
|
-
import TextField from '@mui/material/TextField';
|
|
16
|
-
import { Container } from '@mui/system';
|
|
17
|
-
import React, { useEffect } from 'react';
|
|
18
|
-
import { useState } from 'react';
|
|
19
|
-
import { WorkflowStats } from 'views/WorkflowView';
|
|
20
|
-
import NJsonViewer from './JsonViewer';
|
|
21
|
-
import { getNeatApiRootUrl, getSelectedWorkflowName } from './Utils';
|
|
22
|
-
|
|
23
|
-
export default function WorkflowExecutionReport(props: any) {
|
|
24
|
-
const [workflowStats, setWorkflowStats] = useState<any>();
|
|
25
|
-
const run_id = props.run_id;
|
|
26
|
-
|
|
27
|
-
useEffect(() => {
|
|
28
|
-
if (props.run_id)
|
|
29
|
-
loadReport();
|
|
30
|
-
else
|
|
31
|
-
setWorkflowStats(filterStats(props.report));
|
|
32
|
-
}, [props.report]);
|
|
33
|
-
|
|
34
|
-
const loadReport = () => {
|
|
35
|
-
const neatApiRootUrl = getNeatApiRootUrl();
|
|
36
|
-
let url = neatApiRootUrl+"/api/workflow/detailed-execution-report/"+run_id;
|
|
37
|
-
fetch(url)
|
|
38
|
-
.then((response) => {
|
|
39
|
-
return response.json();
|
|
40
|
-
}).then((jdata) => {
|
|
41
|
-
setWorkflowStats(filterStats(jdata.report));
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
)}
|
|
45
|
-
const filterStats = (stats: WorkflowStats) => {
|
|
46
|
-
|
|
47
|
-
console.dir(stats)
|
|
48
|
-
// detelete all log RUNNING entries that have both RUNNING and COMPLETED entries for the same step
|
|
49
|
-
if (stats?.execution_log == null )
|
|
50
|
-
return stats;
|
|
51
|
-
|
|
52
|
-
const filteredLog = stats.execution_log!.filter((log, index) => {
|
|
53
|
-
if (log.state == "STARTED") {
|
|
54
|
-
const nextLog = stats.execution_log[index + 1];
|
|
55
|
-
if (nextLog && nextLog.state == "COMPLETED" && nextLog.id == log.id)
|
|
56
|
-
return false;
|
|
57
|
-
}
|
|
58
|
-
return true;
|
|
59
|
-
})
|
|
60
|
-
stats.execution_log = filteredLog;
|
|
61
|
-
return stats;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
function createMarkup(text) {
|
|
65
|
-
return {__html: text};
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
return (
|
|
69
|
-
<Timeline sx={{
|
|
70
|
-
[`& .${timelineItemClasses.root}:before`]: {
|
|
71
|
-
flex: 0,
|
|
72
|
-
padding: 0,
|
|
73
|
-
},
|
|
74
|
-
}} >
|
|
75
|
-
{workflowStats?.execution_log?.map((log) => (
|
|
76
|
-
<TimelineItem key={log.id}>
|
|
77
|
-
<TimelineSeparator>
|
|
78
|
-
{log.state == "STARTED" && (<TimelineDot color="success" variant="outlined" />)}
|
|
79
|
-
{log.state == "COMPLETED" && (<TimelineDot color="success" />)}
|
|
80
|
-
{log.state == "FAILED" && (<TimelineDot color="error" />)}
|
|
81
|
-
{log.state != "STARTED" && log.state != "COMPLETED" && log.state != "FAILED" && (<TimelineDot />)}
|
|
82
|
-
<TimelineConnector />
|
|
83
|
-
</TimelineSeparator>
|
|
84
|
-
<TimelineContent> {log.timestamp} - {log.state} : {log.label} ({log.id}) in ({log.elapsed_time} sec)
|
|
85
|
-
{log.state == "FAILED" && (<div dangerouslySetInnerHTML={ createMarkup(log.error) }></div>)}
|
|
86
|
-
{log.state == "COMPLETED" && (<div dangerouslySetInnerHTML={ createMarkup(log.output_text) }></div>)}
|
|
87
|
-
{log.data && ( <NJsonViewer data={log.data} />) }
|
|
88
|
-
</TimelineContent>
|
|
89
|
-
|
|
90
|
-
</TimelineItem>
|
|
91
|
-
))}
|
|
92
|
-
{(workflowStats?.state == "COMPLETED" || workflowStats?.state == "FAILED") && (
|
|
93
|
-
<TimelineItem>
|
|
94
|
-
<TimelineSeparator>
|
|
95
|
-
{workflowStats?.state == "COMPLETED" && (<TimelineDot color="success" />)}
|
|
96
|
-
{workflowStats?.state == "FAILED" && (<TimelineDot color="error" />)}
|
|
97
|
-
</TimelineSeparator>
|
|
98
|
-
<TimelineContent> Workflows completed with state : {workflowStats?.state} . Elapsed time : {workflowStats?.elapsed_time} seconds.
|
|
99
|
-
</TimelineContent>
|
|
100
|
-
</TimelineItem>
|
|
101
|
-
)}
|
|
102
|
-
{(workflowStats?.state != "COMPLETED" && workflowStats?.state != "FAILED" && workflowStats?.state != "CREATED") && (
|
|
103
|
-
<TimelineItem>
|
|
104
|
-
<TimelineSeparator>
|
|
105
|
-
<TimelineDot variant="outlined" />
|
|
106
|
-
</TimelineSeparator>
|
|
107
|
-
<TimelineContent> <CircularProgress /> </TimelineContent>
|
|
108
|
-
</TimelineItem>
|
|
109
|
-
)}
|
|
110
|
-
</Timeline>
|
|
111
|
-
)
|
|
112
|
-
}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import Button from "@mui/material/Button"
|
|
2
|
-
import Dialog from "@mui/material/Dialog"
|
|
3
|
-
import DialogActions from "@mui/material/DialogActions"
|
|
4
|
-
import DialogContent from "@mui/material/DialogContent"
|
|
5
|
-
import DialogTitle from "@mui/material/DialogTitle"
|
|
6
|
-
import React from "react"
|
|
7
|
-
import { useEffect, useState } from "react"
|
|
8
|
-
import { WorkflowDefinition } from "types/WorkflowTypes"
|
|
9
|
-
import LocalUploader from "./LocalUploader"
|
|
10
|
-
import { getNeatApiRootUrl, getSelectedWorkflowName } from "./Utils"
|
|
11
|
-
import { Box } from "@mui/material"
|
|
12
|
-
import FileDownloadIcon from '@mui/icons-material/FileDownload';
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
export default function WorkflowImportExportDialog(props: any)
|
|
16
|
-
{
|
|
17
|
-
const neatApiRootUrl = getNeatApiRootUrl();
|
|
18
|
-
const [dialogOpen, setDialogOpen] = useState(false);
|
|
19
|
-
const [component, setComponent] = useState<WorkflowDefinition>(null);
|
|
20
|
-
const handleDialogCancel = () => {
|
|
21
|
-
setDialogOpen(false);
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
const onDownloadSuccess = (fileName: string, hash: string) => {
|
|
25
|
-
|
|
26
|
-
props.onDownloaded(fileName, hash);
|
|
27
|
-
setDialogOpen(false);
|
|
28
|
-
}
|
|
29
|
-
const packageWorkflow = () => {
|
|
30
|
-
const url = neatApiRootUrl + "/api/workflow/package/" + getSelectedWorkflowName();
|
|
31
|
-
fetch(url, {
|
|
32
|
-
method: "post", headers: {
|
|
33
|
-
'Content-Type': 'application/json;charset=utf-8'
|
|
34
|
-
}
|
|
35
|
-
}).then((response) => response.json()).then((data) => {
|
|
36
|
-
const downloadUrl = neatApiRootUrl+"/data/workflows/"+data.package+"?version="+data.hash;
|
|
37
|
-
const link = document.createElement("a");
|
|
38
|
-
link.download = "package.zip";
|
|
39
|
-
link.href = downloadUrl;
|
|
40
|
-
document.body.appendChild(link);
|
|
41
|
-
link.click();
|
|
42
|
-
document.body.removeChild(link);
|
|
43
|
-
|
|
44
|
-
}).catch((error) => {
|
|
45
|
-
console.error('Error:', error);
|
|
46
|
-
})
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
return (
|
|
50
|
-
<React.Fragment >
|
|
51
|
-
<Button variant="outlined" onClick={(event)=>{setDialogOpen(true)}} sx={{ marginTop: 2, marginRight: 1 }} >Import/Export</Button>
|
|
52
|
-
|
|
53
|
-
<Dialog open={dialogOpen} onClose={handleDialogCancel}>
|
|
54
|
-
<DialogTitle>Workflow Import/Export</DialogTitle>
|
|
55
|
-
<DialogContent>
|
|
56
|
-
<Box sx={{width: 500}}>
|
|
57
|
-
<LocalUploader fileType="workflow" action="install" stepId="none" label="Upload to NEAT" workflowName={getSelectedWorkflowName()} onUpload={onDownloadSuccess} />
|
|
58
|
-
</Box>
|
|
59
|
-
<Button variant="outlined" onClick={packageWorkflow} sx={{ marginTop: 2, marginRight: 1 , width: 500 }} >Download from NEAT <FileDownloadIcon sx={{marginLeft:1}} /> </Button>
|
|
60
|
-
</DialogContent>
|
|
61
|
-
<DialogActions>
|
|
62
|
-
<Button variant="outlined" size="small" onClick={handleDialogCancel}>Cancel</Button>
|
|
63
|
-
</DialogActions>
|
|
64
|
-
</Dialog>
|
|
65
|
-
</React.Fragment>
|
|
66
|
-
)
|
|
67
|
-
}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import Button from "@mui/material/Button"
|
|
2
|
-
import Dialog from "@mui/material/Dialog"
|
|
3
|
-
import DialogActions from "@mui/material/DialogActions"
|
|
4
|
-
import DialogContent from "@mui/material/DialogContent"
|
|
5
|
-
import DialogTitle from "@mui/material/DialogTitle"
|
|
6
|
-
import FormControl from "@mui/material/FormControl"
|
|
7
|
-
import IconButton from "@mui/material/IconButton/IconButton"
|
|
8
|
-
import TextField from "@mui/material/TextField"
|
|
9
|
-
import React from "react"
|
|
10
|
-
import { useEffect, useState } from "react"
|
|
11
|
-
import { WorkflowDefinition } from "types/WorkflowTypes"
|
|
12
|
-
import AddCircleOutlineOutlinedIcon from '@mui/icons-material/AddCircleOutlineOutlined';
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
export default function WorkflowMetadataDialog(props: any)
|
|
16
|
-
{
|
|
17
|
-
const [dialogOpen, setDialogOpen] = useState(false);
|
|
18
|
-
const [component, setComponent] = useState<WorkflowDefinition>(null);
|
|
19
|
-
const handleDialogSave = () => {
|
|
20
|
-
setDialogOpen(false);
|
|
21
|
-
props.onClose(component,"save");
|
|
22
|
-
};
|
|
23
|
-
const handleDialogCancel = () => {
|
|
24
|
-
setDialogOpen(false);
|
|
25
|
-
props.onClose(component,"cancel");
|
|
26
|
-
};
|
|
27
|
-
const handleDelete = () => {
|
|
28
|
-
setDialogOpen(false);
|
|
29
|
-
props.onClose(component,"delete");
|
|
30
|
-
};
|
|
31
|
-
const handleStepConfigChange = (name: string, value: any) => {
|
|
32
|
-
let wdef = new WorkflowDefinition();
|
|
33
|
-
if (component) {
|
|
34
|
-
wdef.name = component.name;
|
|
35
|
-
wdef.description = component.description;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
switch (name) {
|
|
39
|
-
case "name":
|
|
40
|
-
wdef.name = value;
|
|
41
|
-
break;
|
|
42
|
-
case "description":
|
|
43
|
-
wdef.description = value;
|
|
44
|
-
break;
|
|
45
|
-
}
|
|
46
|
-
console.dir(wdef);
|
|
47
|
-
setComponent(wdef);
|
|
48
|
-
}
|
|
49
|
-
useEffect(() => {
|
|
50
|
-
if (props.open){
|
|
51
|
-
setDialogOpen(true);
|
|
52
|
-
setComponent(props.component);
|
|
53
|
-
console.dir(props.component);
|
|
54
|
-
}
|
|
55
|
-
}, [props.open]);
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
return (
|
|
60
|
-
<React.Fragment >
|
|
61
|
-
<IconButton color="primary" aria-label="add new workflow" onClick={(event)=>{setDialogOpen(true)} }>
|
|
62
|
-
<AddCircleOutlineOutlinedIcon />
|
|
63
|
-
</IconButton>
|
|
64
|
-
<Dialog open={dialogOpen} onClose={handleDialogCancel}>
|
|
65
|
-
<DialogTitle>Workflow editor</DialogTitle>
|
|
66
|
-
<DialogContent>
|
|
67
|
-
<FormControl sx={{ width: 300 }} >
|
|
68
|
-
<TextField sx={{ marginTop: 1 }} id="step-wf-name" fullWidth label="Unique name" size='small' variant="outlined" value={component?.name} onChange={(event) => { handleStepConfigChange("name", event.target.value) }} />
|
|
69
|
-
<TextField sx={{ marginTop: 1 }} id="step-wf-description" fullWidth label="Description" size='small' variant="outlined" value={component?.description} onChange={(event) => { handleStepConfigChange("description", event.target.value) }} />
|
|
70
|
-
</FormControl>
|
|
71
|
-
</DialogContent>
|
|
72
|
-
<DialogActions>
|
|
73
|
-
<Button variant="outlined" size="small" onClick={handleDialogSave}>Save</Button>
|
|
74
|
-
<Button variant="outlined" size="small" onClick={handleDialogCancel}>Cancel</Button>
|
|
75
|
-
</DialogActions>
|
|
76
|
-
</Dialog>
|
|
77
|
-
</React.Fragment>
|
|
78
|
-
)
|
|
79
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
body {
|
|
2
|
-
margin: 0;
|
|
3
|
-
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
|
|
4
|
-
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
|
|
5
|
-
sans-serif;
|
|
6
|
-
-webkit-font-smoothing: antialiased;
|
|
7
|
-
-moz-osx-font-smoothing: grayscale;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
code {
|
|
11
|
-
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
|
|
12
|
-
monospace;
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import ReactDOM from 'react-dom/client';
|
|
3
|
-
import './index.css';
|
|
4
|
-
import App from './App';
|
|
5
|
-
import CssBaseline from '@mui/material/CssBaseline';
|
|
6
|
-
|
|
7
|
-
const root = ReactDOM.createRoot(document.getElementById('root'));
|
|
8
|
-
root.render(
|
|
9
|
-
<React.Fragment>
|
|
10
|
-
<CssBaseline />
|
|
11
|
-
<App />
|
|
12
|
-
</React.Fragment>
|
|
13
|
-
);
|