Edirom / Edirom-Online

Edirom Online is a tool for presenting historical-critical music editions in digital form.
GNU General Public License v3.0
21 stars 25 forks source link

[ftr] Replace the LinkController with a more powerful ComponentController #409

Open DennisFriedl opened 2 months ago

DennisFriedl commented 2 months ago

The Problem With the functionality of the Edirom getting more and more replaced with Web Components, a controller solution based on a plist is not making full use of the many different ways Web Components can be manipulated.

What is Wanted I want the Edirom to for example:

This would make the Controller way more powerful and flexible. I could use this with my WebSocket Component to control the Edirom from outside in a very detailed way by manipulating each Web Component as I like. One could also imagine that this rework would make it possible to snapshot the "state" of an open Edirom and work with exactly that state at a later date or send this state to someone else.

The rework would e.g. affect this issue: #382

A Solution Web Components can be manipulated by changing the attributes and values of the HTML element of the Component. A ComponentController would handle a JSON object with:

daniel-jettka commented 2 months ago

Thanks @DennisFriedl for the good description. Sounds very good.

Just for me and maybe others... This is the current LinkController.js: https://github.com/Edirom/Edirom-Online/blob/develop/app/controller/LinkController.js