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]