Vignette JSON utilisateur (portail)
Ligne 1 : | Ligne 1 : | ||
+ | __NOTOC__ | ||
+ | |||
Cette vignette affiche un rendu visuel alimenté par une source de données JSON. | Cette vignette affiche un rendu visuel alimenté par une source de données JSON. | ||
Ligne 57 : | Ligne 59 : | ||
− | + | ==Exemples== | |
+ | |||
+ | ===Utilisation de base=== | ||
[[image:portal-jsonuser.png]] | [[image:portal-jsonuser.png]] | ||
Ligne 86 : | Ligne 90 : | ||
La chaîne de binding indique que le contrôle d'identifiant "title" doit être alimenté par la valeur de la propriété "result.welcome" de la source de données JSON. | La chaîne de binding indique que le contrôle d'identifiant "title" doit être alimenté par la valeur de la propriété "result.welcome" de la source de données JSON. | ||
+ | ===Utilisation avec une opération de service local=== | ||
+ | |||
+ | L'exemple précédent est modifié pour une utiliser une opération service locale comme source de données : | ||
+ | |||
+ | [[image:portal-jsonuser-ope.png]] | ||
+ | |||
+ | L'adresse du service appelé est remplacer par l'adresse d'une opération locale : | ||
+ | |||
+ | <pre> | ||
+ | sdata/testsyfredashboard/welcome | ||
+ | </pre> | ||
+ | |||
+ | Cette opération est définie dans un paquet de service local : | ||
+ | |||
+ | <source lang="delphi"> | ||
+ | unit TestSyfreDashboard | ||
+ | interface | ||
+ | |||
+ | Type | ||
+ | services = Class(TitObject) | ||
+ | public | ||
+ | Procedure Test; | ||
+ | Procedure welcome(req:Tjson; var resp:TObject); | ||
+ | end; | ||
+ | |||
+ | Implementation | ||
+ | |||
+ | {services} | ||
+ | |||
+ | Procedure services.Test; | ||
+ | //Procedure Test; | ||
+ | var req,resp:TJson; | ||
+ | begin | ||
+ | req := TJson.Create('{q:"1"}'); | ||
+ | welcome(req,resp); | ||
+ | showMessage(resp.CopyToClipBoard); | ||
+ | end; | ||
+ | |||
+ | Procedure services.welcome(req:Tjson; var resp:TObject); | ||
+ | //Procedure welcome(req:Tjson; var resp:TObject); | ||
+ | var json:TJson; | ||
+ | begin | ||
+ | json := Tjson.Create(''); | ||
+ | resp := json; | ||
+ | if req.exists('q') | ||
+ | then json.result.welcome := 'Hello world '+req.q | ||
+ | else json.result.welcome := 'Hello world'; | ||
+ | end; | ||
+ | |||
+ | end. | ||
+ | </source> | ||
+ | |||
+ | Des paramètres peuvent être passés à cette opération dans la définition de l'adresse : | ||
+ | |||
+ | <pre> | ||
+ | sdata/testsyfredashboard/welcome?q=1 | ||
+ | </pre> | ||
+ | |||
+ | {{tip|Notez la différence entre : | ||
+ | |||
+ | * sdata/package/method | ||
+ | La requête sera : http://host/my_service_name/server/sdata/mackage/method | ||
+ | |||
+ | Le domaine du cookie de session est /my_service/, il correspond à la session du Client Web | ||
+ | |||
+ | */sdata/package/method | ||
+ | La requête sera : http://host/sdata/mackage/method | ||
+ | |||
+ | Le domaine du cookie de session est /sdata/, il ne correspond pas à la session du Client Web, une nouvelle session sera ouverte. | ||
+ | }} | ||
Voir aussi : | Voir aussi : | ||
[[Category:Portail]] | [[Category:Portail]] |
Version du 28 mai 2014 à 14:33
Cette vignette affiche un rendu visuel alimenté par une source de données JSON.
Paramètres standards :
Paramètre | Type | Usage |
---|---|---|
Titre | string | Titre de la vignette |
Affichage de la bordure de la vignette | boolean | Une bordure encadrant la vignette est affichée. |
Afficher l'entête de la vignette | boolean | L'entête de la vignette est affichée. |
Hauteur | Entier | Hauteur de la vignette en pixels |
Intervalle de rafraichissement | Entier | Intervalle de rafraichissement automatique de la vignette |
Paramètres spécifiques :
Paramètre | Type | Usage |
---|---|---|
DataSetURI | string | URL du service retournant les données JSON |
Design | string | Définit le type de rendu de la vignette |
Binding | string | Définit les relations entre les éléments du rendu et les données JSON |
Data | string | Donnée JSON statiques si DataSetURI n'est pas défini |
- DataSetURI
- Source de données JSON
- Design
- Type de présentation
Les présentations standards sont :
Présentation | Style |
---|---|
title-table-1 | Tableau avec titre |
title-table-2 | Tableau avec titre droit et gauche |
image-title-1 | Image avec description |
welcome-1 | Libellé |
- Binding
- Relation entre la présentation et la source de données JSON
Exemples
Utilisation de base
- Adresse (DataSetURI)
- rpc.l1000/json/info.welcome
- Utilise le service RPC retournant le nom de l'utilisateur connecté.
Les données retournées par ce service sont :
{ "version" : "1.1","result" : {"welcome":"Bonjour xxxx"}}
- Présentation (Design)
- welcome-1
- Utilise une présentation standard affichant un libellé
- Data binding
- Définit les correspondances entre les données JSON retournées et les éléments définis dans la présentation.
Le rendu définit le contrôle suivant :
{id:"title", parent:"content", controlClass:"Label", data:{cssClass: "spc-title-h1 spc-welcome-text", caption:""}}
La chaîne de binding indique que le contrôle d'identifiant "title" doit être alimenté par la valeur de la propriété "result.welcome" de la source de données JSON.
Utilisation avec une opération de service local
L'exemple précédent est modifié pour une utiliser une opération service locale comme source de données :
L'adresse du service appelé est remplacer par l'adresse d'une opération locale :
sdata/testsyfredashboard/welcome
Cette opération est définie dans un paquet de service local :
unit TestSyfreDashboard interface Type services = Class(TitObject) public Procedure Test; Procedure welcome(req:Tjson; var resp:TObject); end; Implementation {services} Procedure services.Test; //Procedure Test; var req,resp:TJson; begin req := TJson.Create('{q:"1"}'); welcome(req,resp); showMessage(resp.CopyToClipBoard); end; Procedure services.welcome(req:Tjson; var resp:TObject); //Procedure welcome(req:Tjson; var resp:TObject); var json:TJson; begin json := Tjson.Create(''); resp := json; if req.exists('q') then json.result.welcome := 'Hello world '+req.q else json.result.welcome := 'Hello world'; end; end.
Des paramètres peuvent être passés à cette opération dans la définition de l'adresse :
sdata/testsyfredashboard/welcome?q=1
Tip : Notez la différence entre :
La requête sera : http://host/my_service_name/server/sdata/mackage/method Le domaine du cookie de session est /my_service/, il correspond à la session du Client Web
La requête sera : http://host/sdata/mackage/method Le domaine du cookie de session est /sdata/, il ne correspond pas à la session du Client Web, une nouvelle session sera ouverte. |
Voir aussi :