{"id":14965050,"url":"https://github.com/makesyt/nodifym.avalonia","last_synced_at":"2025-05-16T15:09:10.292Z","repository":{"id":218911589,"uuid":"747243121","full_name":"MakesYT/NodifyM.Avalonia","owner":"MakesYT","description":"A collection of controls for node based editors designed for MVVM.","archived":false,"fork":false,"pushed_at":"2025-04-23T10:33:00.000Z","size":305,"stargazers_count":147,"open_issues_count":0,"forks_count":12,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-05-16T15:09:06.152Z","etag":null,"topics":["avalonia","avaloniaui","mvvm","net","node-editor","zooming"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MakesYT.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-01-23T14:54:04.000Z","updated_at":"2025-05-13T21:36:27.000Z","dependencies_parsed_at":"2024-08-03T18:11:40.717Z","dependency_job_id":"ceb712ae-9e07-449a-88f9-00ebcdca3cba","html_url":"https://github.com/MakesYT/NodifyM.Avalonia","commit_stats":{"total_commits":62,"total_committers":3,"mean_commits":"20.666666666666668","dds":"0.20967741935483875","last_synced_commit":"8c7112b6bd88fd88b0bddd1cfbc550687f612c39"},"previous_names":["makesyt/nodify.avalonia","makesyt/nodifym.avalonia"],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MakesYT%2FNodifyM.Avalonia","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MakesYT%2FNodifyM.Avalonia/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MakesYT%2FNodifyM.Avalonia/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MakesYT%2FNodifyM.Avalonia/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MakesYT","download_url":"https://codeload.github.com/MakesYT/NodifyM.Avalonia/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254553958,"owners_count":22090417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["avalonia","avaloniaui","mvvm","net","node-editor","zooming"],"created_at":"2024-09-24T13:34:09.027Z","updated_at":"2025-05-16T15:09:10.283Z","avatar_url":"https://github.com/MakesYT.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NodifyM.Avalonia\n[![NuGet](https://img.shields.io/nuget/v/NodifyM.Avalonia?style=for-the-badge\u0026logo=nuget\u0026label=release)](https://www.nuget.org/packages/NodifyM.Avalonia/)\n[![NuGet](https://img.shields.io/nuget/dt/NodifyM.Avalonia?label=downloads\u0026style=for-the-badge\u0026logo=nuget)](https://www.nuget.org/packages/NodifyM.Avalonia)\n[![License](https://img.shields.io/github/license/miroiu/nodify?style=for-the-badge)](https://github.com/miroiu/nodify/blob/master/LICENSE)\n\nA collection of controls for node based editors designed for MVVM.\n## About\nThis project is a refactoring of [Nodify](https://github.com/miroiu/nodify) on the Avalonia platform and is not a 1:1 replica of Nodify, but they have many similarities.\n![image](https://raw.githubusercontent.com/MakesYT/NodifyM.Avalonia/master/assets/Kitopia1706877412160.png)\n![image](https://raw.githubusercontent.com/MakesYT/NodifyM.Avalonia/master/assets/Kitopia1706877401219.png)\n\n## Features\n - Designed from the start to work with **MVVM**\n - Built-in dark and light **themes**\n - **Selecting**， **zooming**， **panning**\n - Select， move, **_auto align_**, **auto panning** when close to edge and connect nodes\n### What are the differences compared to Nodify\n - **Supports** \n   - auto align Node\n   - display text on Connection\n - **Nonsupport**\n   - None\n - **Will be supported in the future**\n   - Select multiple nodes\n## Usage\n### NodifyEditor\n - `Press` and `Hold` -\u003e Move the all show items\n -  Mouse wheel -\u003e Zoom all show items\n### Node\n - `Press` and `Hold` -\u003e Move the Node\n - `Press Move` and `Hold Shift` -\u003e Move the Node(without automatically align)\n - `Press` the Node -\u003e Select the Node\n### Connection\n - `Press` and `Hold` the Connector and move to another Connector -\u003e Create a new connection\n - Hold `Alt` and `Click` Connection -\u003e Remove Connection\n - `DoubleClick` Connection -\u003e Split the connection in the double-click position\n### PendingConnection\n - `Press` and `Hold` the Connector -\u003e Show connection preview\n### Connector\n - Hold `Alt` and `Click` Connector -\u003e Remove all the Connections on the Connector\n\n## Notice\n1. ViewModelBase is for reference only, you don't need to use it, there are binding methods in Example's AXAML code.\n\n### Some known problems\n1. Do not use `Mode=OneWayToSource` when you have multiple Nodify bound to the same ViewModel, this is a bug from [Avalonia](https://github.com/AvaloniaUI/Avalonia/issues/4438)\n\n## Example\n#### please see the [NodifyM.Avalonia.Example](https://github.com/MakesYT/NodifyM.Avalonia/tree/master/NodifyM.Avalonia.Example)\n#### You can git clone the project and run `NodifyM.Avalonia.Example`\n\n## Changelog\n### 1.0.16\n- Optimization No longer forces connector type\n- Fix If the connector is a Combobox can't click to expand it\n\n### 1.0.15\n\n- Fix OnPointerPressed event handler\n\n### 1.0.14\n\n- Remove unnecessary packages\n### 1.0.13\n- Fixed SelectedNode Property\n- Added the ability to select and drag the Node corresponding to the Connector\n### 1.0.12\n- Fixed the adaptive node layout calculation error\n- Added node centerline alignment\n### 1.0.11\n- Added automatic adaptation to display all Nodes when NodifyEditor is initialized\n- Optimize child node search\n### 1.0.10\n- Fixed Node Header/Input/OutputTemplate allow use IDataTemplate\n- Added Avalonia.Diagnostics Condition\n### 1.0.9\n- Allows not to use the built-in ViewModelBase\n- Fixed ViewTranslateTransform and AlignmentLine exceptions when multiple NodifyEditor\n### 1.0.8\n- Added Light and Dark themes follow the Avalonia toggle\n- Fixed invalid Connection Text Brush modifications\n- Optimize the Dark theme color\n- Added GridLine color definition\n### 1.0.7\n- Added Node **auto panning** when close to edge\n### 1.0.6\n- Fixed Node IsSelected property\n- Fixed Node BorderBrush Style\n- Added Node Alignment hint\n### 1.0.5\n - Added the ability to temporarily without automatically align Node while holding Shift\n - Added the ability to display text on Connection\n### 1.0.4\n - Add align Node configuration properties\n - Add Node automatic alignment\n### 1.0.3\n - Added the connection SplitConnection and DisconnectConnection commands\n - Add CircuitConnection\n - Fixed default control color to dictionary color\n - Support to override the Connect and Disconnect from NodifyEditorViewModelBase method\n - Fix KnotNode Show\n - Remove some useless attributes","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmakesyt%2Fnodifym.avalonia","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmakesyt%2Fnodifym.avalonia","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmakesyt%2Fnodifym.avalonia/lists"}