From d738d348cf630d92b67240a9dee2158ecd779f55 Mon Sep 17 00:00:00 2001 From: Jozef Marko Date: Fri, 11 Oct 2024 13:07:43 +0200 Subject: [PATCH 1/9] kie-issues#1527: DMN Editor: Create new overlay option 'Highlight evaluation results' Closes: https://github.com/apache/incubator-kie-issues/issues/1527 --- packages/dmn-editor/src/DmnEditor.css | 34 ++++++++++++ .../BoxedExpressionScreen.tsx | 55 +++++++++++++------ packages/dmn-editor/src/diagram/Diagram.tsx | 15 +++++ .../src/overlaysPanel/OverlaysPanel.tsx | 23 ++++++++ packages/dmn-editor/src/store/Store.ts | 2 + 5 files changed, 113 insertions(+), 16 deletions(-) diff --git a/packages/dmn-editor/src/DmnEditor.css b/packages/dmn-editor/src/DmnEditor.css index 4e5107f818d..9c5c6a06e11 100644 --- a/packages/dmn-editor/src/DmnEditor.css +++ b/packages/dmn-editor/src/DmnEditor.css @@ -395,6 +395,40 @@ } /* (end) autolayout panel toggle */ +/* (begin) evaluation-highlights panel toggle */ +.kie-dmn-editor--evaluation-highlights-panel-toggle { + background: #fff; + border-radius: 40px; + border: 1px solid black; +} +.kie-dmn-editor--evaluation-highlights-panel-toggle:not(:last-child) { + margin-right: 16px; +} + +.kie-dmn-editor--evaluation-highlights-panel-toggle:hover { + box-shadow: -4px 4px 2px 0px rgb(127 127 127); +} +.kie-dmn-editor--evaluation-highlights-panel-toggle-button, +.kie-dmn-editor--evaluation-highlights-panel-toggle-button-off { + margin: 0; + height: 40px; + border-radius: 40px; + border: 0; +} +.kie-dmn-editor--evaluation-highlights-panel-toggle-button { + background: white; +} +.kie-dmn-editor--evaluation-highlights-panel-toggle-button-off { + background: lightgray; +} +.kie-dmn-editor--evaluation-highlights-panel-toggle-button:hover { + filter: brightness(95%); +} +.kie-dmn-editor--evaluation-highlights-panel-toggle-button:active { + filter: brightness(90%); +} +/* (end) evaluation-highlights panel toggle */ + /* (begin) overlays panel toggle */ .kie-dmn-editor--overlays-panel-toggle { width: 42px; diff --git a/packages/dmn-editor/src/boxedExpressions/BoxedExpressionScreen.tsx b/packages/dmn-editor/src/boxedExpressions/BoxedExpressionScreen.tsx index 72a355eb9a2..edc4127151d 100644 --- a/packages/dmn-editor/src/boxedExpressions/BoxedExpressionScreen.tsx +++ b/packages/dmn-editor/src/boxedExpressions/BoxedExpressionScreen.tsx @@ -319,6 +319,8 @@ export function BoxedExpressionScreen({ container }: { container: React.RefObjec return NodeIcon({ nodeType, isAlternativeInputDataShape }); }, [drgElement, isAlternativeInputDataShape]); + const isEvaluationHighlights = useDmnEditorStore((s) => s.diagram.overlays.evaluationHighlights); + return ( <> <> @@ -361,24 +363,45 @@ export function BoxedExpressionScreen({ container }: { container: React.RefObjec - + + + + +
+ {diagram.overlays.evaluationHighlights && ( + + )} {!settings.isReadOnly && (
); diff --git a/packages/dmn-editor/src/store/Store.ts b/packages/dmn-editor/src/store/Store.ts index aa9658991aa..ce2b287881b 100644 --- a/packages/dmn-editor/src/store/Store.ts +++ b/packages/dmn-editor/src/store/Store.ts @@ -110,6 +110,7 @@ export interface State { enableExecutionHitsHighlights: boolean; enableDataTypesToolbarOnNodes: boolean; enableCustomNodeStyles: boolean; + evaluationHighlights: boolean; }; snapGrid: SnapGrid; _selectedNodes: Array; @@ -217,6 +218,7 @@ export const defaultStaticState = (): Omit Date: Mon, 14 Oct 2024 11:09:49 +0200 Subject: [PATCH 2/9] styling --- packages/dmn-editor/src/DmnEditor.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/dmn-editor/src/DmnEditor.css b/packages/dmn-editor/src/DmnEditor.css index 9c5c6a06e11..5665cfe8b44 100644 --- a/packages/dmn-editor/src/DmnEditor.css +++ b/packages/dmn-editor/src/DmnEditor.css @@ -397,9 +397,7 @@ /* (begin) evaluation-highlights panel toggle */ .kie-dmn-editor--evaluation-highlights-panel-toggle { - background: #fff; border-radius: 40px; - border: 1px solid black; } .kie-dmn-editor--evaluation-highlights-panel-toggle:not(:last-child) { margin-right: 16px; @@ -417,9 +415,11 @@ } .kie-dmn-editor--evaluation-highlights-panel-toggle-button { background: white; + border: 1px solid black; } .kie-dmn-editor--evaluation-highlights-panel-toggle-button-off { - background: lightgray; + background: var(--pf-global--palette--black-150); + border: 1px solid var(--pf-global--BorderColor--100); } .kie-dmn-editor--evaluation-highlights-panel-toggle-button:hover { filter: brightness(95%); From e3d34f2a7f6c54033b707446b29ea3856443b44a Mon Sep 17 00:00:00 2001 From: Jozef Marko Date: Mon, 14 Oct 2024 11:39:18 +0200 Subject: [PATCH 3/9] EvaluationHighlightsBadge component --- .../BoxedExpressionScreen.tsx | 20 +------- packages/dmn-editor/src/diagram/Diagram.tsx | 17 +------ .../EvaluationHighlightsBadge.tsx | 46 +++++++++++++++++++ 3 files changed, 50 insertions(+), 33 deletions(-) create mode 100644 packages/dmn-editor/src/evaluationHighlights/EvaluationHighlightsBadge.tsx diff --git a/packages/dmn-editor/src/boxedExpressions/BoxedExpressionScreen.tsx b/packages/dmn-editor/src/boxedExpressions/BoxedExpressionScreen.tsx index edc4127151d..54a149567ff 100644 --- a/packages/dmn-editor/src/boxedExpressions/BoxedExpressionScreen.tsx +++ b/packages/dmn-editor/src/boxedExpressions/BoxedExpressionScreen.tsx @@ -81,6 +81,7 @@ import { useDmnEditorStore, useDmnEditorStoreApi } from "../store/StoreContext"; import { getDefaultColumnWidth } from "./getDefaultColumnWidth"; import { getDefaultBoxedExpression } from "./getDefaultBoxedExpression"; import { useSettings } from "../settings/DmnEditorSettingsContext"; +import { EvaluationHighlightsBadge } from "../evaluationHighlights/EvaluationHighlightsBadge"; export function BoxedExpressionScreen({ container }: { container: React.RefObject }) { const { externalModelsByNamespace } = useExternalModels(); @@ -364,24 +365,7 @@ export function BoxedExpressionScreen({ container }: { container: React.RefObjec - +