diff options
author | Tejas Kharat | 2024-03-11 17:17:29 +0530 |
---|---|---|
committer | Tejas Kharat | 2024-03-11 17:17:29 +0530 |
commit | a5aec072d8c228cbccbd8938a64e16c92246e6b2 (patch) | |
tree | cd447f8d7dc7660e478b22ec789d8537b29cd60f | |
parent | 5f8cf9ee364ae3d976659c5fc880a7bdbcdfc906 (diff) | |
download | Common-Interface-Project-a5aec072d8c228cbccbd8938a64e16c92246e6b2.tar.gz Common-Interface-Project-a5aec072d8c228cbccbd8938a64e16c92246e6b2.tar.bz2 Common-Interface-Project-a5aec072d8c228cbccbd8938a64e16c92246e6b2.zip |
ErrorField to be updated
5 files changed, 15 insertions, 7 deletions
diff --git a/blocks/eda-frontend/src/components/SchematicEditor/ComponentProperties.js b/blocks/eda-frontend/src/components/SchematicEditor/ComponentProperties.js index 0635c07e..4618b297 100644 --- a/blocks/eda-frontend/src/components/SchematicEditor/ComponentProperties.js +++ b/blocks/eda-frontend/src/components/SchematicEditor/ComponentProperties.js @@ -155,10 +155,12 @@ export default function ComponentProperties () { const displayProperties = useSelector(state => state.componentPropertiesReducer.displayProperties) const isLoading = useSelector(state => state.componentPropertiesReducer.isLoading) const dispatch = useDispatch() - const [errorFields, setErrorFields] = useState({}) + const errorFields1 = useSelector(state => state.componentPropertiesReducer.errorFields) + const [errorFields, setErrorFields] = useState(errorFields1) useEffect(() => { setVal(parameterValues) + setErrorFields(errorFields1) let refreshDisplay = false if (block != null && displayProperties != null) { const dp = displayProperties.display_parameter @@ -218,10 +220,10 @@ export default function ComponentProperties () { graph.refresh() } } - }, [parameterValues, displayProperties]) + }, [parameterValues, displayProperties, block]) const getInputValues = (evt) => { - const value = evt.target.value + const value = evt.target.value.trim() // Trim to remove leading and trailing whitespace const fieldName = evt.target.id const fieldRoot = fieldName.substr(0, 4) const typeId = fieldRoot + '_type' @@ -240,7 +242,7 @@ export default function ComponentProperties () { // For double type, check if the input is a valid number isValid = !isNaN(value) && !Number.isNaN(parseFloat(value)) break - // Add more cases for other types as needed + // Add more cases for other types as needed default: // For other types, no specific validation isValid = true @@ -258,7 +260,7 @@ export default function ComponentProperties () { } const setProps = () => { - dispatch(setCompProperties(block, val)) + dispatch(setCompProperties(block, val, errorFields)) } const link1 = name + ' Parameters' @@ -287,7 +289,7 @@ export default function ComponentProperties () { const helpId = rootKeyName + '_help' const compType = compProperties && compProperties[typeId] const compHelp = compProperties && compProperties[helpId] - const error = errorFields[keyName] + const error = errorFields && errorFields[keyName] const helperText = error ? getErrorText(compType) : compHelp diff --git a/blocks/eda-frontend/src/components/SchematicEditor/Helper/ComponentDrag.js b/blocks/eda-frontend/src/components/SchematicEditor/Helper/ComponentDrag.js index f66477a2..f52cc731 100644 --- a/blocks/eda-frontend/src/components/SchematicEditor/Helper/ComponentDrag.js +++ b/blocks/eda-frontend/src/components/SchematicEditor/Helper/ComponentDrag.js @@ -86,6 +86,7 @@ export default function LoadGrid (container, sidebar, outline) { mxCell.prototype.node = null mxCell.prototype.CompObject = null mxCell.prototype.parameter_values = {} + mxCell.prototype.errorFields = {} mxCell.prototype.displayProperties = {} mxCell.prototype.sourceVertex = false mxCell.prototype.targetVertex = false diff --git a/blocks/eda-frontend/src/components/SchematicEditor/Helper/ToolbarTools.js b/blocks/eda-frontend/src/components/SchematicEditor/Helper/ToolbarTools.js index 3b70349c..d58084a8 100644 --- a/blocks/eda-frontend/src/components/SchematicEditor/Helper/ToolbarTools.js +++ b/blocks/eda-frontend/src/components/SchematicEditor/Helper/ToolbarTools.js @@ -399,6 +399,7 @@ function parseXmlToGraph (xmlDoc, graph) { } } v1.parameter_values = parameterValues + // Todo set v1.errorFields v1.explicitInputPorts = 0 v1.implicitInputPorts = 0 v1.explicitOutputPorts = 0 diff --git a/blocks/eda-frontend/src/redux/actions/componentPropertiesActions.js b/blocks/eda-frontend/src/redux/actions/componentPropertiesActions.js index b74695e8..a562d37c 100644 --- a/blocks/eda-frontend/src/redux/actions/componentPropertiesActions.js +++ b/blocks/eda-frontend/src/redux/actions/componentPropertiesActions.js @@ -47,7 +47,7 @@ export const getCompProperties = (block) => (dispatch) => { } // Actions for updating entered component properites on clicking set parameters -export const setCompProperties = (block, parameterValues) => (dispatch) => { +export const setCompProperties = (block, parameterValues, errorFields) => (dispatch) => { dispatch(loadingSetCompProperties(true)) const url = 'setblockparameter' const filteredParameterValues = Object.fromEntries(Object.entries(parameterValues).filter(([k, v]) => v != null)) @@ -56,11 +56,14 @@ export const setCompProperties = (block, parameterValues) => (dispatch) => { .then( (res) => { block.parameter_values = filteredParameterValues + block.errorFields = errorFields + console.log(block) dispatch({ type: actions.SET_COMP_PROPERTIES, payload: { block, parameter_values: parameterValues, + errorFields: errorFields, displayProperties: res.data } }) diff --git a/blocks/eda-frontend/src/redux/reducers/componentPropertiesReducer.js b/blocks/eda-frontend/src/redux/reducers/componentPropertiesReducer.js index ca3603de..8a58bf2f 100644 --- a/blocks/eda-frontend/src/redux/reducers/componentPropertiesReducer.js +++ b/blocks/eda-frontend/src/redux/reducers/componentPropertiesReducer.js @@ -49,6 +49,7 @@ export default function componentPropertiesReducer (state = InitialState, action ...state, block: action.payload.block, parameter_values: action.payload.parameter_values, + errorFields: action.payload.errorFields, isPropertiesWindowOpen: false, displayProperties: action.payload.displayProperties, isLoading: false |