ForgeUI Builder
fr

UI Builder

Le format JSON d’un design UI Builder

UI Builder · uibuilder@1 uibuilderjsonschema

Un design UI Builder est un seul objet JSON. Les modèles de départ du dépôt (public/templates/*.json) montrent ses champs.

ChampSignification
name, description, icon, versionles métadonnées du design (l’icône est une classe de la police d’icônes, comme ti ti-totaljs)
typele type de design : app, dashboard, flowboard ou part
cssle style du design. Le marqueur CLASS est remplacé par une classe unique du design, de sorte que ses règles ne fuient jamais (par exemple .CLASS:root{--radius:5px})
csspublishle style d’un part publié pour que d’autres l’utilisent
editoroptions de l’éditeur : download (un indicateur) et les champs de texte paths, codes et upload (les modèles les laissent vides au départ ; voir la documentation officielle pour leur usage)
componentsd’où viennent les composants : un objet avec cdn, l’adresse de la bibliothèque (https://cdn.componentator.com/uibuilder/app.json dans le modèle app), et dans un part un objet qui associe l’id de chaque composant à l’adresse de son formulaire d’éditeur
childrenl’arbre des composants du design
inputs, outputsles connexions du design avec l’extérieur ; les modèles commencent avec des listes vides
argsarguments du design

L’arbre des composants

children est une liste de nœuds. Chaque nœud a :

{
	"id": "root",
	"component": "container",
	"config": { "name": "Container" },
	"children": []
}
  • id : l’identifiant de l’instance dans le design.
  • component : l’id du composant qui le rend (les designs de départ commencent par un container appelé root).
  • config : la configuration que modifie le formulaire de réglages du composant.
  • children : les nœuds qu’il contient, de même forme.

Un composant peut en suivre un autre : quand son config.path commence par @, il lit et écrit la valeur du composant dont l’id vient après le @ (créer un composant).

Pourquoi c’est important

Le design est une donnée simple : vous pouvez le stocker dans une base de données, comparer deux versions, le générer depuis votre propre outil ou laisser votre application choisir un design par client. Pour en afficher un, lisez rendre un design dans votre page.