-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build a first version of the new React-based DMN Editor with ~90% feature parity with the current GWT-based one #577
Comments
Just fixed the weird repaint glitch on Safari with the help of this Here's the commit, for anyone interested :) Before: Screen.Recording.2023-09-19.at.22.44.50.movAfter: Screen.Recording.2023-09-19.at.22.46.10.mov |
Btw the fix for the Safari repaint glitches is not perfect, but it makes the Editor usable :) |
Copy/cut/paste working for nodes between different instances of the DMN Editor... Screen.Recording.2023-10-10.at.17.11.24.mov |
Working on "Make the DMN Editor convert all models to latest (1.5) (this means updating the xmlns attributes on the JSON). Version is hard-coded as 1.5. We need to actually convert the models to DMN 1.5. Remember to update the kie: namespace from http://www.drools.org/kie/dmn/1.2 to https://kie.org/dmn/extensions/1.0" now... I'll group all the migrations that need to be done here: 1.0 → 1.1
1.1 → 1.2
1.2 → 1.3
1.3 → 1.4
1.4 → 1.5
|
As work on #439 continues, I thought changing the task granularity would help. We'll start with a first "base version" of the new DMN Editor, and we'll continue evolving it, eventually replacing the old one. For this first "base version" to be ready, many little things need to be addressed. As the list is long, and some things might be postponed, I figured we could use this issue to track stuff that goes into this first "base version", and things that will be addressed after it can have their own separate issues.
The first "base version" is being developed at https://github.com/tiagobento/kie-tools/tree/dmn-editor at
packages/dmn-editor
. You can test it by runningpnpm start
inside it. Multi-package live-reloading works if you dopnpm start --env live
First "base version" (in order to get it merged on
main
)🛠️ Finish WIP components
Known crashes
Structural bugs
includedModelsContextName
andincludedModelsContextDescription
something.
.getDefaultExpressionDefinition
needs actually create a very nice expression based on the typeRef of the containing expression... With widths that won't crop column names!onNodesChange
gets triggered (incorrectly?) after programmaticallysetNodes
xyflow/xyflow#2405).onModelChange
must not be called when changing the Snap grid.@_href
s,@_dmnElementRef
s, and weaker refs likekie:ComponentWidthsExtension
.kie:
namespace changed fromhttp://www.drools.org/kie/dmn/1.2
tohttps://kie.org/dmn/extensions/1.0
. Taking a file from the new Editor, changing the namespaced to DMN 1.2 and thekie:
namespace tohttp://www.drools.org/kie/dmn/1.2
will make the widths work normally.On the DMN Editor, when an included model is deleted, all references to it must be erased. DMNShapes and requirements must be deleted.If a DMN hasDMNShape/DMNEdge
s and@_href
requirements pointing to unknown external elements, the Editor should continue working normally, without deleting them. Resoltuion: We're not deleting anything automatically. When an included model is deleted, a placeholder "unknown node" is shown. Users then will have the visual clue that something on their diagram doesn't look right.div
s instead ofbutton
s.kie:
namespace fromhttp://www.drools.org/kie/dmn/1.2
tohttps://kie.org/dmn/extensions/1.0
.Decision Services
On the DMN Editor, resizing a Decision Service must make the Divider Line push contained Decisions' positions to keep them inside their section.. (To make sure DRG doesn't changes when resizing a node!). Explanation: We're not going to do that. Instead, we're going to keep the old editor's approach. Resizing a DS won't move the Divider Line.Edges
Sample.dmn
will lose edge magnet points on the top-level Decision.Cmd + click
directly on Edge will keep adding it to the selected array, instead of toggling its selection.Validations
NamedElement
s inside the DMN have a locally unique name. Allowed characters for names should be validated as well.Maybe. Solution: Reused the same mechanism we had for traversal and painting of dependencies/dependents of selected nodes. When a connection starts, a new derived state returns a set with all the dependencies of the source node. If a node is in this set, it's not a valid target of the connection, as it would create a cycle.d3-hierarchy
helps?UX - Empty States
includedModelsContextName
doesn't have any available external models to be included.includedModelsContextName
were already included in 'This DMN'."UX - General
Cmd + A
, thenEsc
is not de-selecting everything.typeRefs
with the new QName prefix!UI flaws
Other
FIXME: Tiago -->
inpackages/dmn-editor
. Create issues/entries for each of them, grouping related entries. Can use this (EPIC - Continuous improvements for the DMN Editor (1H2024 iteration) #625)Other information
THEORETICALLY 'INVALID' STATES THAT ARE TEMPORARILY ALLOWED IN THE EDITOR
INTENTIONALLY TEMPORARILY LEFT OUT
Multiple DRDs. Only the first diagram listed on the DMN file will be used. Other diagrams are unchanged.. EDIT: Decided to add it since it was "easy" enough :)SPEC DISCREPANCIES
The text was updated successfully, but these errors were encountered: