| Scroll Ignore | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
|
Présentation
Un widget est un élément permettant d'afficher une ou plusieurs informations.
L'affichage d'un widget se fait via une grille ( Voir la page Concept et paramétrage de la grille - Edition - Météo ).
Il existe plusieurs types de widgets:
- Widget titre ( Voir la page Widget Titre - Edition - Météo )
- Widget séparateur ( Voir la page Widget Séparateur - Edition - Météo )
- Widget météo ( Voir la page Widget Séparateur - Edition - Météo )
Description
Ajout d'un nouveau widget
Dans le format, JSON, Le rajout d'un nouveau widget se fait au niveau de la partie "grid_elements".
| Code Block |
|---|
...
"grid_elements": [
{
DEFINITION DU WIDGET 1
},
{
DEFINITION DU WIDGET 2
},
...
]
... |
Définition d'un Widget
Paramètres des widgets
Les widgets vont être définis à l'aide de paramètres composés :
- du nom
- et de la valeur.
| Code Block |
|---|
...
{
"position_x": 0,
"position_y": 3,
...
}
},
... |
Un paramètre peut être non défini, mais avoir une valeur :
- Si le paramètre n'est pas présente dans le JSON ou si elle existe, mais que sa valeur est égale à "default", la météo va le considérer comme ayant une valeur non définie et va calculer sa valeur par défaut ( voir le chapitre Calcul de la valeur par défaut ).
- Dans la définition des widgets, choisir si vous préférez supprimer un paramètre pour qu'il soit à la valeur par défaut, ou explicitement écrire "default" dépendra uniquement de ce que vous trouvez le plus confortable :
- Ne pas garder un champ réduira la longueur du JSON ;
- Mettre les champs à "default" vous permettra de ne pas chercher le nom d'un paramètre, si vous voulez lui mettre une valeur ;
- Dans la définition des widgets, choisir si vous préférez supprimer un paramètre pour qu'il soit à la valeur par défaut, ou explicitement écrire "default" dépendra uniquement de ce que vous trouvez le plus confortable :
| Anchor | ||||
|---|---|---|---|---|
|
Calcul de la valeur d'un paramètre en cascade
La valeur d'un paramètre peut être définie à 3 niveaux différents :
- Dans le widget ( ce qui servira pour ce widget uniquement ) ;
- Dans le niveau "layout" d'une grille ( ce qui servira de valeur par défaut de ce paramètre pour cette météo ) ;
- Dans les fichiers de configurations de la météo ( ces valeurs serviront alors de valeur par défaut de toutes les météos ) ;
La valeur d'un paramètre sera déterminée en parcourant les 3 niveaux dans l'ordre jusqu'à qu'il trouve une valeur définie :
- le niveau "widget",
- le niveau "layout" de la grille,
- le niveau "fichier de configuration".
| Info |
|---|
Remarque :
|
Définition des valeurs par défauts d'une météo
Les valeurs par défaut pour une météo vont être définies dans le chapitre "layouts".
- Il ne faut définir que les valeurs pour lesquelles on souhaite mettre un paramètre par défaut.
- Certains paramètres ne peuvent avoir de valeur par défaut.
Ce sera mentionné dans la page spécifique à chaque widget.
Exemple :- position_x ;
- position_y ;
- Certains paramètres ne pourront être définis qu'au niveau de la météo pour être sûr que tous les widgets du même type aient le même comportement.
- Ce sera mentionné dans la page spécifique à chaque widget.
Il y a un chapitre spécifique pour chaque type de widget :
| Code Block |
|---|
...
"layouts" : {
"title_widget_layout": {
...
},
"separator_widget_layout": {
...
},
"weather_widget_layout" : {
...
},
},
... |
Le contenu de ces 3 chapitres est décris dans les pages de chaque widget.
Voir les pages d’édition :
- du widget titre ( voir la page HIDDEN - V02.08.02 - Widget Titre Widget Séparateur - Edition - Météo )
- du widget séparateur ( voir la page HIDDEN - V02.08.02 - Widget Séparateur - Edition - Météo )
- du widget météo ( voir la page HIDDEN - V02.08.02 - Widget Météo - Edition - Météo )
Exemple
| Code Block |
|---|
...
"grids": [
{
"nb_tiles_in_width": "default",
"type": "grid",
"grid_elements": [
{
"position_x": 0,
"position_y": 0,
"content": {
"type": "title_widget",
"title": "DATACENTER",
"text_color": "blue"
}
}
],
"layouts": {
"title_widget_layout": {
"height": 2,
"content": {
"text_color": "black"
}
}
}
}
],
... |
Dans cet exemple:
- la couleur du texte du titre sera "blue" car même s'il est défini en "black" dans le niveau "layout", cette valeur sera ignoré car défini dans l'objet.
- la hauteur sera 2 car définie uniquement dans le niveau "layout" ( non définie dans le widget )
- la largeur sera celui du fichier de configuration