This is an automated email from the ASF dual-hosted git repository.

tiagobento pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-tools.git


The following commit(s) were added to refs/heads/main by this push:
     new f934ac1a895 NO-ISSUE: DMN Editor: Prevent from 'Include model' click 
in case of empty model (#2353)
f934ac1a895 is described below

commit f934ac1a8951ace2e8811c01113ac25d1aea68cc
Author: Jozef Marko <[email protected]>
AuthorDate: Thu May 23 16:11:41 2024 +0200

    NO-ISSUE: DMN Editor: Prevent from 'Include model' click in case of empty 
model (#2353)
---
 packages/dmn-editor/src/includedModels/IncludedModels.css |  3 +++
 packages/dmn-editor/src/includedModels/IncludedModels.tsx | 15 +++++++++++++--
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/packages/dmn-editor/src/includedModels/IncludedModels.css 
b/packages/dmn-editor/src/includedModels/IncludedModels.css
new file mode 100644
index 00000000000..6f6767ad97e
--- /dev/null
+++ b/packages/dmn-editor/src/includedModels/IncludedModels.css
@@ -0,0 +1,3 @@
+.kie-dmn-editor--selected-model-to-include-error {
+  color: var(--pf-global--danger-color--100);
+}
diff --git a/packages/dmn-editor/src/includedModels/IncludedModels.tsx 
b/packages/dmn-editor/src/includedModels/IncludedModels.tsx
index 1c13647297f..964fda1a510 100644
--- a/packages/dmn-editor/src/includedModels/IncludedModels.tsx
+++ b/packages/dmn-editor/src/includedModels/IncludedModels.tsx
@@ -55,6 +55,7 @@ import { TrashIcon } from 
"@patternfly/react-icons/dist/js/icons/trash-icon";
 import { useInViewSelect } from "../responsiveness/useInViewSelect";
 import { useCancelableEffect } from 
"@kie-tools-core/react-hooks/dist/useCancelableEffect";
 import { State } from "../store/Store";
+import "./IncludedModels.css";
 import { Normalized } from "../normalization/normalize";
 
 export const EMPTY_IMPORT_NAME_NAMESPACE_IDENTIFIER = "<Default>";
@@ -80,6 +81,7 @@ export function IncludedModels() {
   const [importName, setImportName] = useState("");
 
   const [selectedModel, setSelectedModel] = useState<ExternalModel | 
undefined>(undefined);
+  const [selectedModelError, setSelectedModelError] = useState<string | 
undefined>(undefined);
 
   useCancelableEffect(
     useCallback(
@@ -102,9 +104,13 @@ export function IncludedModels() {
               return;
             }
 
+            setSelectedModelError(undefined);
             setSelectedModel(externalModel);
           })
           .catch((err) => {
+            setSelectedModelError(
+              `An error occurred when parsing the selected model 
'${selectedPathRelativeToThisDmn}'. Please double-check it is a non-empty valid 
model.`
+            );
             console.error(err);
             return;
           });
@@ -122,6 +128,7 @@ export function IncludedModels() {
     setModelSelectOpen(false);
     setSelectedPathRelativeToThisDmn(undefined);
     setImportName("");
+    setSelectedModelError(undefined);
   }, []);
 
   const add = useCallback(() => {
@@ -162,6 +169,7 @@ export function IncludedModels() {
     });
 
     setTimeout(() => {
+      setSelectedModelError(undefined);
       setSelectedModel(undefined);
     }, 5000); // Give it time for the `externalModelsByNamespace` object to be 
reassembled externally.
 
@@ -240,11 +248,11 @@ export function IncludedModels() {
     <>
       <Modal
         isOpen={isModalOpen}
-        onClose={() => setModalOpen(false)}
+        onClose={() => cancel()}
         title={"Include model"}
         variant={ModalVariant.large}
         actions={
-          (modelPathsRelativeToThisDmnNotYetIncluded?.length ?? 0) > 0
+          (modelPathsRelativeToThisDmnNotYetIncluded?.length ?? 0) > 0 && 
selectedModelError === undefined
             ? [
                 <Button key="confirm" variant="primary" onClick={add}>
                   Include model
@@ -349,6 +357,9 @@ export function IncludedModels() {
                     />
                   </FormGroup>
                   <br />
+                  {selectedModelError !== undefined && (
+                    <span 
className={"kie-dmn-editor--selected-model-to-include-error"}>{selectedModelError}</span>
+                  )}
                 </Form>
               </>
             )) || (


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to