Conversation
|
Shall we close this and wait for the implementation in BaSyx Studio? |
|
No, please keep this open. I still want to resolve the merge conflicts and merge the PR in the new year. The component will probably be 99% reusable for the BaSyx Studio. |
|
Alright, sounds good! |
|
For now, I have reverted all changes to stores and composables. These changes were causing merge conflicts with the new multi-infrastructure architecture. This new architecture also changes how the commander works regarding copying from one repository to another. I will implement the necessary changes to enable the commander to work with the new multi-infrastructure architecture of the BaSyx UI. |
|
Happy new year @aaronzi and thanks for your work "between the years"! |
|
Thanks @wiresio. I also wish you a happy new year :) This PR seems to be a bit of a rabbit hole if I want to implement everything that I added to the PR description. I will probably only implement the "Infrastructure Layer" and the "AAS Layer" and add the rest in a separate PR. |
Description of Changes
Often, there is a need for copying or moving shells from one repository to another one. Therefore it would be great to have a "Norton Commander" like functionality in the UI.
Related Issue
Closes #853
Design
The AAS commander is divided in two panes (left and right, similar to what the "Norton Commander" looks like). Each side represents a selected AAS Infrastructure (AAS Server like the AAS/SM/CD Repos). A user can move Shells, Submodels and SubmodelElements from one infrastructure to the other (left to right or vice versa). Each side consists of 4 main layers (top to bottom, only one layer visible per pane at a time):
Each pane has its own:
Rules:
Selection rules
Navigation rules
levelset tocoreto reduce the amount of data fetched (not the entire nesting) -> expanding in the treeview fetches the next layer (same for opening an element with double clickDrag & drop rules
Acceptance criteria:
Assumptions:
Conflict handling:
BaSyx Configuration for Testing
See docker-compose in directory: examples/AASCommander
AAS Files Used for Testing
Should work with any AAS.