UNPKG

@metadev/daga-react

Version:

![Daga banner](https://metadev.pro/content/daga/daga-banner.png)

336 lines (239 loc) 24.3 kB
# DAGA Changelog List of releases and changes. ![Daga logo](https://metadev.pro/icons/daga-logo-header.svg) ## Next release Joyeuse ## v. 4.2.3 - Enable toggling whether individual sections can be highlighted or entire nodes [#308](https://github.com/metadevpro/daga/pull/308) - Enable toggling whether connections tighten automatically and whether they can loop and share ports [#309](https://github.com/metadevpro/daga/pull/309) - Enable toggling background color of connection label [#310](https://github.com/metadevpro/daga/pull/310) ## v. 4.2.2 - Fix zoom on double click [#307](https://github.com/metadevpro/daga/pull/307) ## v. 4.2.1 - Apply zoom when scrolling over diagram elements [#278](https://github.com/metadevpro/daga/issues/278) [#290](https://github.com/metadevpro/daga/pull/290) - Add `shrink` parameter to canvas method `fitNodeInView()` to toggle whether nodes and sections should be shrunk as part of the fitting process [#293](https://github.com/metadevpro/daga/pull/293) - Correctly fire UpdateValuesAction when updating the type of a node or connection [#297](https://github.com/metadevpro/daga/pull/297) - Enable configuring the resizability of node sections independently from their node [#298](https://github.com/metadevpro/daga/pull/298) - Correctly account for the rotation of a label when calculating the maximum size of the text [#300](https://github.com/metadevpro/daga/pull/300) - When fitting node to its children stretch its sections as well [#301](https://github.com/metadevpro/daga/pull/301) - Add anchor points for ports and decorators [#302](https://github.com/metadevpro/daga/pull/302) ## v. 4.2.0 Longclaw - Support for Angular 20 - Allow toggling the size of node templates in palette [#287](https://github.com/metadevpro/daga/pull/287) - Allow configuring the orientation of a field [#288](https://github.com/metadevpro/daga/pull/288) - Solve bug where a node covers the input field when editing its label [#288](https://github.com/metadevpro/daga/pull/288) - Use the correct default value when creating a new node with values with root attribute [#289](https://github.com/metadevpro/daga/pull/289) ## v. 4.1.0 Heartsbane - Add methods for adding and removing rows and columns of sections in a node [#277](https://github.com/metadevpro/daga/pull/277) - Allow toggling gapSize in layout algorithms [#279](https://github.com/metadevpro/daga/pull/279) - Raise ports after raising sections inside nodes so that sections don't hide ports [#280](https://github.com/metadevpro/daga/pull/280) - Add `fieldRootFitsInView()` method to canvas [#281](https://github.com/metadevpro/daga/pull/281) - Add `shrink` parameter to canvas method `fitFieldRootInView()` to toggle whether nodes and sections should be shrunk as part of the fitting process [#282](https://github.com/metadevpro/daga/pull/282) - Set root vlaue of property to default value when resetting values [#284](https://github.com/metadevpro/daga/pull/284) ## v. 4.0.3 - Allow angular 20. - Fix bug with connections breaking when they have an id which is not a valid CSS selector [#277](https://github.com/metadevpro/daga/pull/277) ## v. 4.0.2 - Add grid style [#261](https://github.com/metadevpro/daga/pull/261) - Fix bug where user could perform an action they are not allowed to by using the keyboard [#264](https://github.com/metadevpro/daga/pull/264) - Fix bug with boolean input not displaying properly in React [#266](https://github.com/metadevpro/daga/pull/266) - Fix bug with not being able to edit nested value sets in property editor in React [#267](https://github.com/metadevpro/daga/pull/267) - Fix bug with hexadecimal characters not allowed in colors [#268](https://github.com/metadevpro/daga/pull/268) - Make diagram decorators behave as extensions of their diagram node when clicking or hovering over them [#270](https://github.com/metadevpro/daga/pull/270) - Make zoom not affect multiple selection rectangle [#271](https://github.com/metadevpro/daga/pull/271) - Enable making decorators inherent to a node type [#272](https://github.com/metadevpro/daga/pull/272) ## v. 4.0.1 - Ensure borders of nodes are fully contained within palette [#253](https://github.com/metadevpro/daga/pull/253) - Adjust nodes in palette [#254](https://github.com/metadevpro/daga/pull/254) - Fix bug where dragging a decorator creates a multiple selection instead of dragging the node [#257](https://github.com/metadevpro/daga/pull/257) - Allow special characters in diagram element identifiers [#258](https://github.com/metadevpro/daga/pull/258) - Add custom context menu buttons [#259](https://github.com/metadevpro/daga/pull/259) ## v. 4.0.0 Hielo - Expose `viewInitialized$` observable in diagram component [#239](https://github.com/metadevpro/daga/pull/239) - Throw error when a diagram element is initialized with an empty or null id to prevent errors with selectors caused by empty ids [#240](https://github.com/metadevpro/daga/pull/240) - Change the structure of the configuration for the looks of nodes, sections, ports and connections [#244](https://github.com/metadevpro/daga/pull/244) - Ensure that the type of a node can be changed safely [#244](https://github.com/metadevpro/daga/pull/244) - Fix error with text map properties disappearing on update [#245](https://github.com/metadevpro/daga/pull/245) ## v. 3.1.5 Date: _2025-02-07_ - Fix bug with the initial loading of a diagram not working [#226](https://github.com/metadevpro/daga/pull/226) - Ensure that the parent element of a diagram has fully loaded before initializing the view [#226](https://github.com/metadevpro/daga/pull/226) - Ensure that the elements of a diagram are rendered in the correct order after importing a diagram [#228](https://github.com/metadevpro/daga/pull/228) - Add port directionality such that ports can be configured as only allowing incoming connections or only allowing outgoing connections [#229](https://github.com/metadevpro/daga/pull/229) - Add port types and enable configuring the look of ports and the start/end point of connections within the port [#230](https://github.com/metadevpro/daga/pull/230) - Fix bug where the close icons for some property editor inputs wasn't showing [#231](https://github.com/metadevpro/daga/pull/231) - Enable configuring the labels of ports [#233](https://github.com/metadevpro/daga/pull/233) ## v. 3.1.4 Date: _2025-01-30_ - Make dragging the palette node templates create a clone of the node appended to the diagram root instead of a child of the palette to prevent the palette from being affected by CSS transforms on the diagram [#224](https://github.com/metadevpro/daga/pull/224) ## v. 3.1.3 Date: _2025-01-26_ - Fix null-check on `DiagramField` setter [#223](https://github.com/metadevpro/daga/pull/223) ## v. 3.1.2 Date: _2025-01-24_ - Expose configuration and canvas observables in diagram component [#221](https://github.com/metadevpro/daga/pull/221) - Fix bug where palette fails to reload properly [#221](https://github.com/metadevpro/daga/pull/221) ## v. 3.1.1 Date: _2025-01-23_ - Enable switching the configuration of a diagram [#220](https://github.com/metadevpro/daga/pull/220) - Remove `viewInitialized$` subject in canvas [#220](https://github.com/metadevpro/daga/pull/220) ## v. 3.1.0 Excalibur Date: _2025-01-21_ - Add node continence [#200](https://github.com/metadevpro/daga/pull/200) - Enable defining custom shape functions for nodes in the configuration [#206](https://github.com/metadevpro/daga/pull/206) - Fix order of diagram elements [#208](https://github.com/metadevpro/daga/pull/208) - Simplify usage of `<daga-diagram>` tag in angular by removing the need to include a `<daga-diagram-editor>` inside [#210](https://github.com/metadevpro/daga/pull/210) - Distinguish between diagram actions (which affect the model) and diagram events (which don't affect the model) [#210](https://github.com/metadevpro/daga/pull/210) - Add layout action so layouts applied by the user can be undone and redone (which don't affect the model) [#210](https://github.com/metadevpro/daga/pull/210) - Add diagram events for the selection and highlight of diagram elements [#212](https://github.com/metadevpro/daga/pull/212) [#214](https://github.com/metadevpro/daga/pull/214) - Enable customizing the look of nodes in the palette [#216](https://github.com/metadevpro/daga/pull/216) - Enable adding custom line shapes [#217](https://github.com/metadevpro/daga/pull/217) ## v. 3.0.0 Curtana Date: _2025-01-03_ - Port to Angular 19 and update libraries [#202](https://github.com/metadevpro/daga/pull/202) - Enable configuring different looks for palette connection templates based on whether the connection type is the one currently selected or not [#197](https://github.com/metadevpro/daga/pull/197) - Enable configuring the gap in palette elements [#197](https://github.com/metadevpro/daga/pull/197) - Enable placing palette templates in multiple columns if they fit [#197](https://github.com/metadevpro/daga/pull/197) - Use grab cursor style when hovering cursor on node palette templates and pointer cursor style when hovering cursor on connection palette templates [#197](https://github.com/metadevpro/daga/pull/197) ## v. 2.0.0 Lobera Date: _2024-11-22_ - Allow multiple selection of nodes by secondary click and drag to draw a selection rectangle [#146](https://github.com/metadevpro/daga/issues/146) [#174](https://github.com/metadevpro/daga/pull/174) - Make all diagram components disabled by default in diagram configuration [#174](https://github.com/metadevpro/daga/pull/174) - Rename `exists` attribute of diagram configuration of components to `enabled` [#174](https://github.com/metadevpro/daga/pull/174) - Move methods regarding user selection in diagram canvas (`isInUserSelection`, `addToUserSelection`, `removeFromUserSelection`, `toggleUserSelection`, `clearUserSelection`, `deleteUserSelection`, `copyUserSelectionToClipboard`, `pasteUserSelectionFromClipboard`, `setPropertyEditorSelection`) to its own `userSelection` object in the canvas [#174](https://github.com/metadevpro/daga/pull/174) - Move methods regarding user highlight in diagram canvas (`highlight`, `unhighlight`) to its own `userHighlight` object in the canvas [#174](https://github.com/metadevpro/daga/pull/174) - Move methods regarding context menu in diagram canvas (`openContextMenu`, `closeContextMenu`) to its own `contextMenu` object in the canvas [#174](https://github.com/metadevpro/daga/pull/174) - Split the core of Daga functionalities from the Angular-specific parts [#150](https://github.com/metadevpro/daga/issues/150) [#175](https://github.com/metadevpro/daga/pull/175) - Add `Move` action type to support moving multiple elements at once [#177](https://github.com/metadevpro/daga/pull/177) - When moving a selected element, move the entire user selection [#177](https://github.com/metadevpro/daga/pull/177) - Fix bug with undoing paste actions not removing the correct elements [#177](https://github.com/metadevpro/daga/pull/177) - Void property editor selection when selecting multiple elements [#178](https://github.com/metadevpro/daga/pull/178) - Extract canvas configuration to its own object within the diagram configuration [#180](https://github.com/metadevpro/daga/pull/180) - Solve bug with infinite loop on getting an element from an element set [#181](https://github.com/metadevpro/daga/pull/181) - Add multiple selection menu button [#182](https://github.com/metadevpro/daga/pull/182) - Do not highlight nodes when moving nodes or drawing a multiple selection rectangle [#182](https://github.com/metadevpro/daga/pull/182) - Rename `guessConnectionType` to `inferConnectionType` [#185](https://github.com/metadevpro/daga/pull/185) - Rename `ActionQueue` to `ActionStack` [#185](https://github.com/metadevpro/daga/pull/185) - Rename `zoomRate` to `zoomFactor` [#185](https://github.com/metadevpro/daga/pull/185) - Rename `validatorChanges$` to `validatorChange$`, `diagramChanges$` to `diagramChange$` and `diagramImportantChanges$` to `diagramImportantChange$` [#185](https://github.com/metadevpro/daga/pull/185) - When undoing or redoing user actions, perform undo or redo repeatedly until there's an effect on the diagram [#190](https://github.com/metadevpro/daga/pull/190) ## v. 1.5.7 Date: _2024-10-16_ - Fix the selecion of layout algorithms in examples [#170](https://github.com/metadevpro/daga/pull/170) - Add `daga-` prefixes to element classes to avoid stylesheet conflicts [#171](https://github.com/metadevpro/daga/pull/171) - Highlight diagram elements with the error when showing an error [#171](https://github.com/metadevpro/daga/pull/171) - Prevent selecting the same element multiple times [#172](https://github.com/metadevpro/daga/issues/172) [#173](https://github.com/metadevpro/daga/pull/173) ## v. 1.5.6 Date: _2024-10-10_ - Filter away removed elements by default [#168](https://github.com/metadevpro/daga/pull/168) - Generalize the margin and padding of fields to enable different amounts of margin on each side [#168](https://github.com/metadevpro/daga/pull/168) - Enable using the - and + keys for zoom [#168](https://github.com/metadevpro/daga/pull/168) - Enable using the arrow keys for panning [#168](https://github.com/metadevpro/daga/pull/168) ## v. 1.5.5 Date: _2024-10-02_ - Ensure that decorators are always removed [#167](https://github.com/metadevpro/daga/pull/167) ## v. 1.5.4 Date: _2024-09-21_ - Add diagram decorators [#164](https://github.com/metadevpro/daga/issues/164) [#166](https://github.com/metadevpro/daga/pull/166) - Enable diagram events on diagram objects [#166](https://github.com/metadevpro/daga/pull/166) ## v. 1.5.3 Date: _2024-09-09_ - Create interface for listening to user events on the diagram [#160](https://github.com/metadevpro/daga/issues/160) [#161](https://github.com/metadevpro/daga/pull/161) ## v. 1.5.2 Date: _2024-08-30_ - Create new UpdateValuesAction on debounced user changes instead of only on closing the property editor [#136](https://github.com/metadevpro/daga/issues/136) [#152](https://github.com/metadevpro/daga/pull/152) - Fix bug with failing to highlight ports due to attempting to highlight ports from a removed node instead [#156](https://github.com/metadevpro/daga/pull/156) - Stop propagation of keydown events on input fields to prevent deleting nodes on pressing backspace while editing a node's label [#155](https://github.com/metadevpro/daga/issues/155) [#157](https://github.com/metadevpro/daga/pull/157) - Add hasProperty method to PropertySet [#158](https://github.com/metadevpro/daga/pull/158) ## v. 1.5.1 Date: _2024-06-19_ - Highlight elements when opening the context menu on them [#142](https://github.com/metadevpro/daga/pull/142) - Add select all (Control+A) and invert selection (Control+I) keyboard shortcuts [#143](https://github.com/metadevpro/daga/pull/143) - Enable adding to selection with Shift+Click as well as Control+Click [#145](https://github.com/metadevpro/daga/pull/145) - Make context menu items focusable [#145](https://github.com/metadevpro/daga/pull/145) - Only show context menu buttons if they can be clicked [#145](https://github.com/metadevpro/daga/pull/145) - Select elements when opening the context menu on them [#145](https://github.com/metadevpro/daga/pull/145) - Paste selection centered on the user's view or on the context menu location instead of in the place of the original selection [#147](https://github.com/metadevpro/daga/pull/147) - Add diagram objects [#148](https://github.com/metadevpro/daga/pull/148) - Enable toggling context menu in diagram configuration [#149](https://github.com/metadevpro/daga/pull/149) - Center icons of context menu buttons [#149](https://github.com/metadevpro/daga/pull/149) ## v. 1.5.0 Colada Date: _2024-06-06_ - Ported to Angular 18, nx 19, node 20 [#140](https://github.com/metadevpro/daga/pull/140) - Add context menu and clipboard functionality [#139](https://github.com/metadevpro/daga/pull/139) ## v. 1.4.3 Date: _2024-06-04_ - Add property editor settings page [#113](https://github.com/metadevpro/daga/issues/113) [#119](https://github.com/metadevpro/daga/pull/119) [#120](https://github.com/metadevpro/daga/pull/120) - Add `TextSet` and `OptionSet` property types [#121](https://github.com/metadevpro/daga/pull/121) - Don't allow adding empty values in `TextList`, `TextSet` and `TextMap` property types [#121](https://github.com/metadevpro/daga/pull/121) - Prevent overlapping connections [#122](https://github.com/metadevpro/daga/pull/122) - Highlight a port when the pointer is close to the port while drawing a connection [#138](https://github.com/metadevpro/daga/pull/138) - Adding support for collaborative actions. ## v. 1.4.2 Date: _2024-04-11_ - Allow instancing nodes and connections referencing their type by its identifier rather than having to get the type from the set of types [#94](https://github.com/metadevpro/daga/pull/94) - Use logical removal of diagram elements via the `removed` flag instead of removing them from the model [#96](https://github.com/metadevpro/daga/pull/96) - Add `do()` method to `DiagramAction` [#96](https://github.com/metadevpro/daga/pull/96) - Only register changed values in `UpdateValuesAction` to reduce chances of overwriting when different users edit the same `ValueSet` simultaneously [#106](https://github.com/metadevpro/daga/pull/106) - Define and document the behavior of `ValueSet` [#106](https://github.com/metadevpro/daga/pull/106) - When creating a new `DiagramElement` with a `ValueSet`, set the `DiagramElement`'s attributes to the `ValueSet`'s values if any of the values has an associated attribute [#106](https://github.com/metadevpro/daga/pull/106) - Move the components of property editor to within property editor folder for better code organization [#106](https://github.com/metadevpro/daga/pull/106) - Remove Lux dependence [#106](https://github.com/metadevpro/daga/pull/106) - Make the `rootAttribute` of `Property` optional to make diagram configurations simpler [#106](https://github.com/metadevpro/daga/pull/106) - Improve behavior of nested `ValueSet`s [#106](https://github.com/metadevpro/daga/pull/106) - Fix bug with the list of options in properties of `Option` type appearing misplaced in scrolled property editors [#116](https://github.com/metadevpro/daga/pull/116) - Make property editor not appear when collapsed [#118](https://github.com/metadevpro/daga/pull/118) ## v. 1.4.1 Date: _2024-03-08_ - Fix bug with diagram changes not triggering validation [#91](https://github.com/metadevpro/daga/pull/91) - Compensate for scroll when getting cursor position relative to screen [#92](https://github.com/metadevpro/daga/pull/92) ## v. 1.4.0 Tizona Date: _2024-03-08_ - Enable configuring which components are present in a diagram [#66](https://github.com/metadevpro/daga/pull/66) - Add `zoom` configurable user action and enable configuring whether zooming and panning is enabled [#66](https://github.com/metadevpro/daga/pull/66) - Rename `color` configuration property of diagram to `backgroundColor` and `color` configuration property of node to `fillColor` [#65](https://github.com/metadevpro/daga/issues/65) [#69](https://github.com/metadevpro/daga/pull/69) - Remove `generic-diagram.json` file and add testing diagram configuration in `test-util` file instead [#69](https://github.com/metadevpro/daga/pull/69) - Fix bug with connections with zero priority not being displayed [#70](https://github.com/metadevpro/daga/pull/70) - Organize the configuration for each diagram component in the diagram configuration interface [#71](https://github.com/metadevpro/daga/pull/71) - Enable configuring the location of diagram components [#71](https://github.com/metadevpro/daga/pull/71) - Enable configuring the presence of specific buttons in the diagram buttons [#71](https://github.com/metadevpro/daga/pull/71) - Generalize the expansion and collapse animation of the diagram buttons to an arbitrary number of buttons [#71](https://github.com/metadevpro/daga/pull/71) - Add `fit` option to `FieldConfig` interface. Resize nodes and sections when that option is true and the size of their labels changes. [#35](https://github.com/metadevpro/daga/pull/35) - Fix [#39](https://github.com/metadevpro/daga/issues/39) Allow delete with `backspace` key for Mac (no delete key on Mac). - Fix [#75](https://github.com/metadevpro/daga/issues/75) Blur event in input field. Also implement autoselect all text. - Reorganize configuration of diagram sections such that each section can be configured individually [#81](https://github.com/metadevpro/daga/pull/81) - Resize nodes when filtering their sections [#83](https://github.com/metadevpro/daga/pull/83) - Add methods to more easily get the priority of diagram elements and get and set the priority threshold of a canvas [#83](https://github.com/metadevpro/daga/pull/83) - Use `not-allowed` cursor style when the user attempts to do an action that is not allowed [#41](https://github.com/metadevpro/daga/issues/41) [#85](https://github.com/metadevpro/daga/pull/85) - Group up diagram elements by their type in the dom to ensure order of drawing of diagram elements [#84](https://github.com/metadevpro/daga/issues/84) [#86](https://github.com/metadevpro/daga/pull/86) - Enable two way diagram model databinding [#73](https://github.com/metadevpro/daga/issues/73) [#87](https://github.com/metadevpro/daga/pull/87) - Enable making changes to the diagram in the view without broadcasting changes to the model [#87](https://github.com/metadevpro/daga/pull/87) - Move example-specific assets to their example asset folder [#87](https://github.com/metadevpro/daga/pull/87) - Add a diagram's ValueSet to the DagaModel and serialize and deserialize a diagram's ValueSet when exporting and importing a diagram using the default daga exporter/importer [#87](https://github.com/metadevpro/daga/pull/87) ## v. 1.3.1 Date: _2024.02.13_ - Add link to documentation and tutorials: <https://daga.metadev.pro/> ## v. 1.3.0 Date: _2024.02.12_ - Add TSDoc documentation of types, methods and fields [#62](https://github.com/metadevpro/daga/pull/62) - Creatw UserActionConfig type to represent configuration of allowed user actions [#62](https://github.com/metadevpro/daga/pull/62) - Fix typo in README [#62](https://github.com/metadevpro/daga/pull/62) - Use `DataSource<unknown, string>` as the type for the options of `Property` instead of `DataSource<string, string>` to allow arbitrary values [#63](https://github.com/metadevpro/daga/pull/63) - Improved efficiency of moving the start and end ports of a connection [#64](https://github.com/metadevpro/daga/pull/64) ## v. 1.2.0 Date: _2024.02.08_ - Enable configuring what user actions are allowed [#47](https://github.com/metadevpro/daga/issues/47) [#54](https://github.com/metadevpro/daga/pull/54) - Add missing exports to index and clean up unused utils [#55](https://github.com/metadevpro/daga/pull/55) - Use separate configuration defaults for `DiagramNode` and `DiagramSection` [#56](https://github.com/metadevpro/daga/pull/56) - Add TypeDoc for automatic documentation generation [#58](https://github.com/metadevpro/daga/pull/58) - Move all styles to a dedicated `styles` folder [#60](https://github.com/metadevpro/daga/pull/60) - Remove unused CSS variables [#60](https://github.com/metadevpro/daga/pull/60) - Remove ampersands from stylesheets [#60](https://github.com/metadevpro/daga/pull/60) - Prefix Daga's CSS variables with `daga-` [#60](https://github.com/metadevpro/daga/pull/60) - Update libraries [#60](https://github.com/metadevpro/daga/pull/60) ## v. 1.1.0 Date: _2024.02.05_ - Refactor API for sets of elements of Diagram Model [#51](https://github.com/metadevpro/daga/pull/51) - Make diagrams not absolutely positioned in CSS [#50](https://github.com/metadevpro/daga/issues/50), [#52](https://github.com/metadevpro/daga/pull/52) ## v. 1.0.0 Date: _2024.02.01_ - First public version. ⚔️🚀🎉