NextDom/nextdom-core

Selecteur de #tags# et fonctions() dans la fenêtre équipement et ajout de fonctions() custom

Opened this issue · 0 comments

Après discution avec @slobberbone et @cyrilphoenix71, il serait intéressant de pouvoir afficher la liste des #tags# et fonctions() avec leur documentation respective dans la fenêtre d'équipement, genre ici: https://prnt.sc/q9fz9t

Ça doit pouvoir s'adapter au contexte (exemple: #slider# qui n'est pas tout le temps un tag valide)

Ça passerait par une refonte de chaque fonction qui deviendrait alors une classe de ce style que l'on devrait implémenter:

class IEvaluateFormatter {
  abstract string evaluate($input);
  abstract string getDoc();
}

Évidemment, c'est à implémenter pour chaque fonction existante mais on pourrait aussi implémenter nous même (dans un plugin par exemple, pour ajouter nos propre fonctions custom):

Inconvénient: Pour appeler une fonction tel que lastChangeStateDuration, on devrait remplacer: lastChangeStateDuration(XXX) par FormatterValue\NextDom\LastChangeStateDuration::eval(XXX) ou MonPlugin\MaClasse::eval(XXX)

Mais on pourrait imaginer une syntaxe qui remplace lastChangeStateDuration(XXX) par FormatterValue\NextDom\LastChangeStateDuration::eval(XXX) et MonPlugin\MaClasse(XXX) par MonPlugin\MaClasse::eval(XXX) afin de rendre plus lisible les scénarios/commandes.