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 c96c953ca1e kie-issues#1879: New Test Scenario Editor crashes after 
changing the DMN model which is referenced (#3011)
c96c953ca1e is described below

commit c96c953ca1e435d098721d49d3964a7a68094263
Author: Yeser Amer <[email protected]>
AuthorDate: Thu Mar 20 15:31:32 2025 +0100

    kie-issues#1879: New Test Scenario Editor crashes after changing the DMN 
model which is referenced (#3011)
---
 .../drawer/TestScenarioDrawerDataSelectorPanel.tsx | 23 +++++++++++++---------
 .../src/i18n/TestScenarioEditorI18n.ts             |  2 ++
 packages/scesim-editor/src/i18n/locales/en.ts      |  7 +++++--
 3 files changed, 21 insertions(+), 11 deletions(-)

diff --git 
a/packages/scesim-editor/src/drawer/TestScenarioDrawerDataSelectorPanel.tsx 
b/packages/scesim-editor/src/drawer/TestScenarioDrawerDataSelectorPanel.tsx
index f22f41ed9c1..e64a9cae677 100644
--- a/packages/scesim-editor/src/drawer/TestScenarioDrawerDataSelectorPanel.tsx
+++ b/packages/scesim-editor/src/drawer/TestScenarioDrawerDataSelectorPanel.tsx
@@ -344,36 +344,40 @@ function TestScenarioDataSelectorPanel() {
   const treeViewEmptyStatus = useMemo(() => {
     const isReferencedFileLoaded =
       testScenarioType === "RULE" || 
externalModelsByNamespace?.has(referencedDmnNamespace!);
-    const isTreeViewNotEmpty = dataObjects.length > 0;
+    const isTreeViewNotEmpty = filteredItems.length > 0;
+    const activeItem = treeViewStatus.activeItems[0];
     const treeViewVisibleStatus = isReferencedFileLoaded ? (isTreeViewNotEmpty 
? "visible" : "hidden") : "loading";
-    const treeViewEmptyIcon = filteredItems.length === 0 ? WarningTriangleIcon 
: WarningTriangleIcon;
     const title =
       dataObjects.length === 0
         ? testScenarioType === "DMN"
           ? i18n.drawer.dataSelector.emptyDataObjectsTitleDMN
           : i18n.drawer.dataSelector.emptyDataObjectsTitleRule
-        : i18n.drawer.dataSelector.emptyDataObjectsTitle;
+        : activeItem !== undefined
+          ? i18n.drawer.dataSelector.emptyDataObjectsTitle
+          : i18n.drawer.dataSelector.emptyDataObjectsMissingTitle;
     const description =
       dataObjects.length === 0
         ? testScenarioType === "DMN"
           ? i18n.drawer.dataSelector.emptyDataObjectsDescriptionDMN
           : i18n.drawer.dataSelector.emptyDataObjectsDescriptionRule
-        : i18n.drawer.dataSelector.emptyDataObjectsDescription;
-
+        : activeItem !== undefined
+          ? i18n.drawer.dataSelector.emptyDataObjectsDescription
+          : i18n.drawer.dataSelector.emptyDataObjectsMissingDescription;
     {
       testScenarioType === "DMN"
         ? i18n.drawer.dataSelector.emptyDataObjectsTitleDMN
         : i18n.drawer.dataSelector.emptyDataObjectsTitleRule;
     }
 
-    return { description: description, icon: treeViewEmptyIcon, title: title, 
visibility: treeViewVisibleStatus };
+    return { description: description, icon: WarningTriangleIcon, title: 
title, visibility: treeViewVisibleStatus };
   }, [
+    dataObjects.length,
     externalModelsByNamespace,
-    referencedDmnNamespace,
     filteredItems.length,
-    dataObjects.length,
-    testScenarioType,
     i18n.drawer.dataSelector,
+    referencedDmnNamespace,
+    testScenarioType,
+    treeViewStatus,
   ]);
 
   const insertDataObjectButtonStatus = useMemo(() => {
@@ -397,6 +401,7 @@ function TestScenarioDataSelectorPanel() {
     );
 
     const isAssignable =
+      activeItem !== undefined &&
       (activeItem.children !== undefined &&
         activeItem.children.length > 0 &&
         activeItem.expressionElements.length > 1) === false &&
diff --git a/packages/scesim-editor/src/i18n/TestScenarioEditorI18n.ts 
b/packages/scesim-editor/src/i18n/TestScenarioEditorI18n.ts
index 3443243dde4..257548fbe43 100644
--- a/packages/scesim-editor/src/i18n/TestScenarioEditorI18n.ts
+++ b/packages/scesim-editor/src/i18n/TestScenarioEditorI18n.ts
@@ -84,9 +84,11 @@ interface TestScenarioEditorDictionary extends 
ReferenceDictionary {
       descriptionDMN: string;
       descriptionRule: string;
       emptyDataObjectsTitle: string;
+      emptyDataObjectsMissingTitle: string;
       emptyDataObjectsTitleDMN: string;
       emptyDataObjectsTitleRule: string;
       emptyDataObjectsDescription: string;
+      emptyDataObjectsMissingDescription: string;
       emptyDataObjectsDescriptionDMN: string;
       emptyDataObjectsDescriptionRule: string;
       expandAll: string;
diff --git a/packages/scesim-editor/src/i18n/locales/en.ts 
b/packages/scesim-editor/src/i18n/locales/en.ts
index 7fa17740fad..e1c4d9533f3 100644
--- a/packages/scesim-editor/src/i18n/locales/en.ts
+++ b/packages/scesim-editor/src/i18n/locales/en.ts
@@ -100,10 +100,13 @@ export const en: TestScenarioEditorI18n = {
         "To edit a test scenario definition, select a grid's column and assign 
it a DMN Node attribute using the below selector",
       descriptionRule:
         "To edit a test scenario definition, select a grid's column and assign 
it a Java Class field using the below selector",
-      emptyDataObjectsTitle: "No more properties",
+      emptyDataObjectsTitle: "No Data Objects",
+      emptyDataObjectsMissingTitle: "Missing Data Object",
       emptyDataObjectsTitleDMN: "No DMN Nodes",
       emptyDataObjectsTitleRule: "No Java Classes",
-      emptyDataObjectsDescription: "All the properties have been already 
assigned",
+      emptyDataObjectsDescription: "All the Data Objects have been already 
assigned",
+      emptyDataObjectsMissingDescription:
+        "The selected column's Data Object is missing. Most likely, this 
scesim file is no longer synchronized with the referenced DMN file. Please 
manually remove it and update your table accordingly with the DMN file.",
       emptyDataObjectsDescriptionDMN: "Impossible to retrieve the DMN Nodes 
data from the linked DMN file.",
       emptyDataObjectsDescriptionRule: "Impossible to retrieve the Java 
Classes from the project.",
       expandAll: "Expand all",


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

Reply via email to