Code source wiki de Dashboard API

Modifié par Aurelie Bertrand le 2026/08/25 09:20

Afficher les derniers auteurs
1 {{ddtoc/}}
2
3 ----
4
5 (% class="wikigeneratedid" id="HFonctionsJavascript28DashboardAPI29" %)
6 Il y a deux façons d'ajouter des comportements customisés dans les tableaux de bords. Le premier est d'utiliser l'éditeur de Javascript global disponible dans l'éditeur de tableaux de bords. Le second est la portlet Editeur de texte. Cet élément permet d'ajouter un bloc de texte (et/ou HTML) à une page de tableau de bord. Les possibilités sont étendues grâce à une interface de programmation (API) permettant d'ajouter des appels Javascript de fonctions de tableau de bord à des hyper-liens dans un éditeur de texte.
7
8 Grâce à ces fonctions, on peut commander un changement de page, un filtrage sur une dimension donnée, changer une variable DigDash, etc.
9
10 Chaque fonction est appelée sur un objet implicite **ddCtrl** défini par le moteur du tableau de bord. Voici la liste des fonctions :
11
12 (% class="box warningmessage" %)
13 (((
14 //Sauf indication contraire, les valeurs de paramètres sont des IDs d'objets, et non les noms formatés et/ou traduits. Pour les autres paramètres qui ne sont pas des IDs, leur type est précisé par une lettre en minuscule préfixant leur nom : 'b' pour booléen, 'o' pour objet, 'l' pour liste (tableau) et 'i' pour entier (integer).//
15
16 //Un paramètre entre crochets [ ] est optionnel et peut-être omis s'il n'est pas nécessaire dans le contexte.//
17 )))
18
19 = Fonctions de variables (DDVariables) =
20
21 (% class="wikigeneratedid" id="HvoidddCtrl.changeVariable28nom2Cvaleur29" %)
22 **void ddCtrl.{{id name="changeVariable"/}}changeVariable(nom, valeur)**
23
24 Description : Change la valeur de la variable <nom>.
25
26 Exemple :
27
28 (% class="box" %)
29 (((
30 <a href="javascript:__ddCtrl.changeVariable__('ratioEuro', 1.30)">EuroDollar: 1.30</a>
31 )))
32
33
34 **(Nombre) ddCtrl.getDDVar (nom)**
35
36 Description : Retourne le valeur de la variable <nom>.
37
38 Exemple :
39
40 (% class="box" %)
41 (((
42 <a href="javascript:ddCtrl.changeVariable('ratioEuro', __ddCtrl.getDDVar__('ratioEuro') + 0.1)">Augmenter EuroDollar</a>
43 )))
44
45 = Fonctions de filtrage et navigation de données =
46
47 **FilterOperand (dimension, membre, hiérarchie, niveau, membreFormaté, bAjoutFiltre, bExcluFiltre)**
48
49 Description : Objet permettant de spécifier le filtre à appliquer.
50
51 Exemple :
52
53 (% class="box" %)
54 (((
55 <a href="javascript[[:>>path:javascript:ddCtrl.filter('Dim]]ddCtrl.filter('Dim Géo', new FilterOperand('Dim Géo', 'France', 'Géo', 'Pays', false, false))">Filtre France</a>
56 )))
57
58 (% class="box infomessage" %)
59 (((
60 //Note : Le booléen bAjoutFiltre à la valeur true permet d’ajout le filtre au filtre déjà existant sur cette dimension. Le booléen bExcluFiltre à la valeur true permet d’activer le mode exclusion du filtre (au lieu de filtre sur le membre, cela filtre sur tous les autres membres exceptés celui spécifié).//
61 )))
62
63
64 **FilterOperandContinuous (dimension, min, max, bExcluFiltre)**
65
66 Description : Objet permettant de spécifier le filtre de type intervalle à appliquer sur une dimension continue.
67
68 Exemple :
69
70 (% class="box" %)
71 (((
72 <a href="javascript[[:>>path:javascript:ddCtrl.filter('Dim]]ddCtrl.filter('Pays', new FilterOperandContinuous('Date', new Date(2018, 0, 1).getTime()/1000, new Date(2019, 0, 1).getTime()/1000, false))">Filtre Année 2018</a>
73 )))
74
75 (% class="box infomessage" %)
76 (((
77 //Note : Le booléen bExcluFiltre à la valeur true permet d’activer le mode exclusion du filtre (au lieu de filtre sur le membre, cela filtre sur tous les autres membres exceptés celui spécifié).//
78 )))
79
80
81 **FilterOperandMatch (dimension, hiérarchie, niveau, [valeurs], [opérateurs], mode, bExcluFiltre)**
82
83 Description : Objet permettant de spécifier le filtre de type "Régle" à appliquer sur une dimension continue.
84
85 Exemple :
86
87 (% class="box" %)
88 (((
89 <a href="javascript[[:>>path:javascript:ddCtrl.filter('Dim]]ddCtrl.filter('Dim Géo', new FilterOperandMatch('Dim Géo', 'Géographique', 'Pays', ['A'], [13], 0, false))">Filtre Pays commence par A</a>
90 )))
91
92 (% class="box infomessage" %)
93 (((
94 //Note ~://
95
96 //Le tableau opérateurs contient pour chaque règle, le type de filtrage~://
97
98 //0 : n'est pas vide//
99
100 //1 : est vide//
101
102 //2 : est égal à//
103
104 //3 : contient//
105
106 //4 : ne contient pas//
107
108 //5 : est différent de//
109
110 //6 : répond à l'expression régulière//
111
112 //7 : contient le mot//
113
114 //8 : ne contient pas le mot//
115
116 //9 : est supérieur à//
117
118 //10 : est inférieur à//
119
120 //11 : est supérieur ou égal à//
121
122 //12 : est inférieur ou égal à//
123
124 //13 : commence par//
125
126 //14 : se termine par//
127
128 //15 : est contenu dans//
129
130 //16 : n'est pas contenu dans//
131
132 //Le tableau des valeurs contient les valeurs requises correspondants au type de filtrage.//
133 )))
134
135
136 **void ddCtrl.filter (dimension, membre)**
137
138 Description : filtre sur une dimension.
139
140 Exemple :
141
142 (% class="box" %)
143 (((
144 <a href="javascript:__ddCtrl.filter__('Pays', 'France')">Filtre France</a>
145 )))
146
147 (% class="box infomessage" %)
148 (((
149 //Note : Le membre spécifié filtre sur la hiérarchie et le niveau courant pour cette dimension.//
150 )))
151
152
153 **void ddCtrl.filter (oFilterOperand)**
154
155 Description : filtre sur une dimension en spécifiant une hiérarchie et un niveau.
156
157 Exemple :
158
159 (% class="box" %)
160 (((
161 <a href="**javascript:__ddCtrl.filter__(new FilterOperand(**'Lieu', 'FR', 'Géographique', 'Pays'))">Détails France</a>
162 )))
163
164 (% class="box infomessage" %)
165 (((
166 //Note : Lieu// est la dimension, //FR// est l'ID du membre sélectionné, //Géographique// est la hiérarchie et //Pays// est le niveau.
167 )))
168
169
170 **void ddCtrl.filterOnChart (portlet, oFilterOperand, doNotRefresh)**
171
172 Description : filtre un graphique sur une dimension en spécifiant une hiérarchie et un niveau.
173
174 Exemple :
175
176 (% class="box" %)
177 (((
178 <a href="**javascript:__ddCtrl.filterOnChart__(**'portletId1', new FilterOperand('Lieu', 'FR', 'Géographique', 'Pays'))">Détails France</a>
179 )))
180
181 (% class="box infomessage" %)
182 (((
183 //Note : portletId1// est l'identifiant du graphique, //Lieu// est la dimension, //FR// est l'ID du membre sélectionné, //Géographique// est la hiérarchie et //Pays// est le niveau.
184 )))
185
186
187 **void ddCtrl.filterAndChangePage (page, dimension, membre)**
188
189 Description : filtre sur une dimension et change de page.
190
191 Exemple :
192
193 (% class="box" %)
194 (((
195 <a href="javascript:__ddCtrl.filterAndChangePage__('Production.Détails Pays', 'Pays', 'France')">Détails France</a>
196 )))
197
198
199 **void ddCtrl.changePageAndFilter (page, dimension, membre)**
200
201 Description : change de page et filtre sur une dimension.
202
203 Exemple :
204
205 (% class="box" %)
206 (((
207 <a href="javascript:__ddCtrl.changePageAndFilter__('Production.Détails Pays', 'Pays', 'France')">Détails France</a>
208 )))
209
210
211 **void ddCtrl.setFilterMinMax (dimension, min, max)**
212
213 Description : filtre sur une dimension continue en spécifiant une valeur min et une valeur max. Note : une date DigDash est un timestamp en secondes.
214
215 Exemple :
216
217 (% class="box" %)
218 (((
219 <a href="javascript:__ddCtrl.setFilterMinMax__('Date', new Date(2014, 0, 1).getTime()/1000, new Date().getTime()/1000)">2014 to date</a>
220 )))
221
222
223 **(Tableau de Chaines) ddCtrl.getDimensionFilter (dimension [, bContinue])**
224
225 Description : Renvoie la liste des éléments filtrés sur la dimension (continue ou discrète).
226
227 Exemple :
228
229 (% class="box" %)
230 (((
231 <a href="javascript:alert(__ddCtrl.getDimensionFilter__('Pays'))">Filtres Sur Pays</a>
232 )))
233
234
235 **void ddCtrl.isDimensionFiltered (dimension [, bContinue])**
236
237 Description : Retourne vrai (true) si la dimension (continue ou discrète) est filtrée. Retourne faux (false) dans le cas contraire.
238
239 Exemple :
240
241 (% class="box" %)
242 (((
243 <a href="javascript:alert(__ddCtrl.isDimensionFiltered__('Pays'))">Pays Filtré ?</a>
244 )))
245
246
247 **void ddCtrl.removeAllFilters ()**
248
249 Description : Supprime tous les filtres du tableau de bord.
250
251 Exemple :
252
253 (% class="box" %)
254 (((
255 <a href="javascript:(% class="wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink" %)__ddCtrl.removeAllFilters__(%%)()">Reset</a>
256 )))
257
258
259 **void ddCtrl.removeAllFiltersCurrentPage ()**
260
261 Description : Supprime les filtres de la page courante.
262
263 Exemple :
264
265 (% class="box" %)
266 (((
267 <a href="javascript:(% class="wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink" %)__ddCtrl.removeAllFilters__(%%)__CurrentPage__()">Reset</a>
268 )))
269
270
271 **void ddCtrl.removeFilters (dimension [, bContinue])**
272
273 Description : Supprime les filtres courants sur la dimension (continue ou discrète).
274
275 (% class="box" %)
276 (((
277 Exemple : <a href="javascript:__ddCtrl.removeFilters__('Pays')">Tous les pays</a>
278 )))
279
280
281 **void ddCtrl.beginSelection ()**
282
283 **void ddCtrl.commitSelection ()**
284
285 Description : En conjonction avec la fonction de filtre ddCtrl.filter. Permet de combiner plusieurs filtres sur des dimensions différentes sans exécution à chaque filtre (optimisation).
286
287 Exemple :
288
289 (% class="box" %)
290 (((
291 <a href="javascript:__ddCtrl.beginSelection__(); ddCtrl.filter('Pays', 'France'); ddCtrl.filter('Annee', '2013'); __ddCtrl.commitSelection__()">France en 2013</a>
292 )))
293
294
295 **void ddCtrl.setDimensionNavigation (dimension, flux, bNavigation)**
296
297 Description : Change l'autorisation de naviguer sur une dimension pour le flux spécifié.
298
299 Exemple :
300
301 (% class="box" %)
302 (((
303 <a href="javascript:(% class="wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink" %)__ddCtrl.setDimensionNavigation__(%%)('Région', 'chart1', true)">Activer la navigation sur Région</a>
304 )))
305
306
307 **(Tableau de chaînes) ddCtrl.getCurrentDrill (portlet, dimension[, hiérarchie])**
308
309 Description : Retourne la dimension, la hiérarchie et le niveau exploré d'un graphique sous forme de tableau.
310
311 (% class="box infomessage" %)
312 (((
313 Note : La fonction ne peut-être appelée que sur un graphique ayant une interaction "Naviguer dans la hiérarchie" ou "Changer de dimension".
314 )))
315
316 Exemple :
317
318 {{code language="JAVASCRIPT" cssClass="notranslate"}}
319 ddCtrl.addChartRefreshListener( function(doc, dm, dmsel, chart) {
320  if (chart.title == 'Mon graphique') {
321  var curDrill = ddCtrl.getCurrentDrill(doc.frameId, 'Région', 'Géographique');
322  var dim = curDrill[0];
323  var hier = curDrill[1];
324  var lvl = curDrill[2];
325  alert("L'exploration est " + hier + " / " +lvl + " sur la dimension " + dim);
326  }
327  });
328 {{/code}}
329
330
331 **(BreadPath) ddCtrl.getBreadPath (portlet, dimension)**
332
333 Description : Retourne le chemin de navigation (BreadPath) courant sur une dimension dans un graphique. Cet objet peut être utilisé par drillTo (voir ci-dessous).
334
335 Exemple :
336
337 (% class="box" %)
338 (((
339 <a href="javascript:__ddCtrl.drillTo__('portletId2', 'Lieu', __ddCtrl.getBreadPath__('portletId1', 'Lieu'))">Détails Lieu Courant (Chart 2)</a>
340 )))
341
342
343 **void ddCtrl.drillTo (portletId, dimension, oBreadPath)**
344
345 Description : Navigue dans un graphique sur une hiérarchie de la dimension choisie, en utilisant un chemin de navigation définit par l'objet BreadPath.
346
347 Exemple :
348
349 (% class="box" %)
350 (((
351 Voir exemple ci-dessus (getBreadPath)
352 )))
353
354
355 **void ddCtrl.drillDown (portletId, dimension, hiérarchie, niveau, membre,membreFormaté)**
356
357 Description : Navigue sur une hiérarchie de la dimension choisie vers le membre spécifié au niveau inférieur.
358
359 (% class="box infomessage" %)
360 (((
361 Note : L'action est effectuée sur tous les graphiques partageant la même interaction de navigation ("drill synchronisé").
362 )))
363
364 Exemple :
365
366 (% class="box" %)
367 (((
368 <a href="javascript:__ddCtrl.drillTo__('portletId', 'Lieu', 'Géographique', 'FR', 'France')">Détails France</a>0
369 )))
370
371
372 **void ddCtrl.resetDrill (portlet, dimension, [hiérarchie])**
373
374 Description : Réinitialise la navigation sur la hiérarchie de la dimension.
375
376 (% class="box infomessage" %)
377 (((
378 Note : L'action est effectuée sur tous les graphiques partageant la même interaction de navigation ("drill synchronisé").
379 )))
380
381 Exemple :
382
383 (% class="box" %)
384 (((
385 <a href="javascript:__ddCtrl.resetDrill__('portletId', 'Lieu')">Retour à la carte du monde</a>
386 )))
387
388
389 **void ddCtrl.selectMeasuresOnChart(portlet, [mesures])**
390
391 Description : Affiche les mesures spécifiées sur le graphique, les autres mesures du graphique seront masquées.
392
393 Exemple :
394
395 (% class="box" %)
396 (((
397 <a href="javascript:__selectMeasuresOnChart__('portletId2', ['CA', 'Marges'])">Afficher CA et Marges</a>
398 )))
399
400
401
402 **(Nombre | Chaîne) ddCtrl.getDataModelDate (dmId, bFormat)**
403
404 Description : Retourne la date de synchronisation d'un cube de données. Les paramètres sont l'identifiant du modèle de données et un booléen pour formater la date (true) ou avoir le timestamp correspondant (false).
405
406 (% class="box infomessage" %)
407 (((
408 Note : Le timestamp est le nombre de millisecondes écoulées depuis le 1er janvier 1970.
409 )))
410
411 Exemple :
412
413 (% class="box" %)
414 (((
415 <a href="javascript:alert(__ddCtrl.getDataModelDate__('a1234567890..', true))">Afficher la date des données</a>
416 )))
417
418
419 **(Nombre | Chaîne) ddCtrl.getDataModelLinesCount (dmId)**
420
421 Description : Retourne le nombre de lignes d'un cube de données. Le paramètre est l'identifiant du modèle de données.
422
423 Exemple :
424
425 (% class="box" %)
426 (((
427 <a href="javascript:alert(__ddCtrl.getDataModelLinesCount__('a1234567890..'))">Afficher le nombre de lignes des données</a>
428 )))
429
430
431
432 **(Nombre | Chaîne) ddCtrl.getFlowDate (flux, bFormat)**
433
434 Description : Retourne la date de synchronisation d'un flux. Les paramètres sont l'identifiant du flux et un booléen pour formater la date (true) ou avoir le timestamp correspondant (false).
435
436 (% class="box infomessage" %)
437 (((
438 Note : Le timestamp est le nombre de millisecondes écoulées depuis le 1er janvier 1970.
439 )))
440
441 Exemple :
442
443 (% class="box" %)
444 (((
445 <a href="javascript:alert(__ddCtrl.getFlowDate__('fluxId', true))">Afficher la date du flux</a>
446 )))
447
448 = Fonctions de requêtage de données =
449
450 **(Nombre | Chaîne) ddCtrl.getResultCubeValue (flux, mesure, lMembres, bFormaté)**
451
452 Description : Retourne la valeur de la mesure pour les membres d'axe spécifiés à partir d'un graphique visible. Retourne la valeur comme un nombre ou comme une chaîne formatée.
453
454 Note : La liste des membres d'axe doit préciser //__un et un seul membre pour chaque axe utilisé__// dans le graphique, et ce dans l'ordre naturel des axes du graphique. Le paramètre mesure est l'ID de la mesure.
455
456 Exemple : Pour récupérer une valeur d'un histogramme défini de la manière suivante : Mesure Marge sur l'axe empilement, dimension Année sur l'axe colonne et Pays sur l'axe groupement :
457
458 (% class="box" %)
459 (((
460 <a href="javascript:alert(__ddCtrl.getResultCubeValue__('chart1', 'Marge', ['2013', 'France'], true))">Montrer la marge pour la France en 2013</a>
461 )))
462
463 (% class="box warningmessage" %)
464 (((
465 **Important **: Il est important de s’assurer que le graphique est chargé avant d’appeler cette fonction. Le plus simple est d’inclure l’appel de cette fonction dans un écouteur passé à addChartRefreshListener
466 )))
467
468 **(Tableau de lignes) ddCtrl.getResultCubeRowSet (flux, oRequêteMembresAxes [, bFormaté])**
469
470 Description : Retourne les lignes aplaties du cube résultat pour les membres d'axes spécifiés à partir d'un chart visible. Retourne le résultat comme un tableau de lignes, chaque ligne étant un tableau des cellules. Les cellules sont les dimensions/axes du chart puis les valeurs des mesures.
471
472 (% class="box infomessage" %)
473 (((
474 Note : La requête des membres d'axe à chercher est un objet Javascript se conformant à la forme suivante (JSON) : {"Axe/Dim titre 1" : "membre 1", "Axe/Dim titre 2" : "membre 2", etc.}..*
475 )))
476
477 Exemple : Pour récupérer les lignes correspondant à l'année 2014 et à la personne 'John' d'un cube résultat d'un chart 'chart1' :
478
479 (% class="box" %)
480 (((
481 <a href="javascript:alert(__ddCtrl.getResultCubeRowSet__('chart1', {'Année' : '2014', 'Personne': 'John'})[0][2])">Montrer la première valeur de John en 2014</a>
482 )))
483
484 (% class="box warningmessage" %)
485 (((
486 **Important**: Il est important de s’assurer que le chart est chargé avant d’appeler cette fonction. Le plus simple est d’inclure l’appel de cette fonction dans un écouteur passé à addChartRefreshListener.
487 )))
488
489
490 **(Nombre) ddCtrl.getResultCubeLinesCount (flux)**
491
492 Description : Retourne le nombre de lignes aplaties du cube résultat.
493
494 Exemple :
495
496 (% class="box" %)
497 (((
498 <a href="javascript:alert((% class="wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink" %)__ddCtrl.getResultCubeLinesCount(__(%%)'chart1')" >Nombre de lignes</a>
499 )))
500
501
502 (% class="wikigeneratedid" %)
503 **ddCtrl.getLastDimensionDate('id du modèle de données', 'Dimension temps')**
504
505 (% class="wikigeneratedid" %)
506 Description : Retourne la date maximale d'une dimension temps sous forme d'un timestamp.
507
508 (% class="wikigeneratedid" %)
509 Exemple :
510
511 (% class="box" %)
512 (((
513 <a href="javascript:alert((% class="wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink" %)__ddCtrl.__(%%)getLastDimensionDate(% class="wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink" %)__(__(%%)'a866caa04fabdd35687fa3bd3758d6a8', 'Date')" >Date maximale</a>
514 )))
515
516
517 **ddCtrl.getCubeValue ("id du modèle de données", [filtres], 'nom de la dimension ou mesure', bUseContext)**
518
519 Decsription : Récupère la valeur d'une mesure ou le membre d'une dimension dans un modèle de données avec les filtres appliqués (pour n'avoir qu'une ligne de données renvoyée par le serveur).
520 Le paramètre UseContext sous forme de booléen permet de spécifier si on prend en compte ou pas le contexte de filtrage du tableau de bord dans le calcul des données.
521
522 Exemple : Pour récupérer la valeur de la mesure 'Coût de communication' avec les éléments filtrés "Mobile" pour //Type de ligne// et "Samsung Galaxy" pour //Matériel, //dans le modèle de données ayant pour identifiant// //"0b2583609f86d37754ce2ada372f31ae", et en prenant en compte le contexte de filtrage du tableau de bord :
523
524 (% class="box" %)
525 (((
526 <a href="javascript:alert(ddCtrl.getCubeValue("0b2583609f86d37754ce2ada372f31ae", [{"dim":"Type de ligne", "member":"Mobile"}, {"dim":"Matériel", "member":"Samsung Galaxy"}], 'Cout de communication', true)">Valeur coût de communication</a>
527 )))
528
529 **ddCtrl.getFlowValue ("id du flux", [filtres], 'nom de la dimension ou mesure', bUseContext)**
530
531 Decsription : Récupère la valeur d'une mesure ou le membre d'une dimension dans un flux avec les filtres appliqués (pour n'avoir qu'une ligne de données renvoyée par le serveur).
532 Le paramètre UseContext sous forme de booléen permet de spécifier si on prend en compte ou pas le contexte de filtrage du tableau de bord dans le calcul des données.
533
534 Exemple : Pour récupérer le membre de la dimension 'Type de ligne' avec l'élément filtré "Samsung Galaxy" pour //Matériel, //dans le flux ayant pour identifiant// //"b312f6be", et en ne prenant pas en compte le contexte de filtrage du tableau de bord :
535
536 (% class="box" %)
537 (((
538 <a href="javascript:alert(ddCtrl.getFlowValue("b312f6be", [{"dim":"Matériel", "member":"Samsung Galaxy"}], 'Type de ligne', false)>Membre Type de ligne</a>
539 )))
540
541 = Fonctions du tableau de bord{{id name="Fonction_TDB"/}} =
542
543 (% class="box infomessage" %)
544 (((
545 ℹ Pour les fonctions impliquant un export PDF, l'ajout d'un rapport HTML ou de mises en formes avancées sont susceptibles de poser des problèmes de rendu.
546 )))
547
548 **void ddCtrl.loadJS (urlJS)**
549
550 Description : Charge un fichier Javascript à partir d'une URL.
551
552 Exemple (dans l'éditeur de Javascript) :
553
554 {{code language="javascript" cssClass="notranslate"}}
555 ddCtrl.loadJS('http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/md5.js');
556 var hash = CryptoJS.MD5("Le message");
557 {{/code}}
558
559
560 **void ddCtrl.includeJS (nomJS)**
561
562 Description : Charge un fichier Javascript à partir du dossier de configuration de DigDash Enterprise. Le fichier doit avoir été créé au préalable avec l'éditeur Javascript de l'éditeur de tableaux de bord.
563
564 Exemple (dans l'éditeur de Javascript) :
565
566 {{code language="javascript" cssClass="notranslate"}}
567 ddCtrl.includeJS('fonctions_date.js');
568 {{/code}}
569
570
571
572 **void ddCtrl.drawFlowInElement ('Identifiant élément HTML ou widget', 'Identifiant du flux');**
573
574 Description : Affiche un flux dans un élément HTML
575
576 Exemple (dans l'éditeur de Javascript) :
577
578 (% class="box" %)
579 (((
580 <a href="javascript:ddCtrl.drawFlowInElement ('elementHTMLId', 'fluxId')">Afficher flux</a>
581 )))
582
583 (% class="box infomessage" %)
584 (((
585 💡L'identifiant est celui de la portlet. Vous pouvez le copier depuis l'onglet **Informations** du panneau des **Paramètres **de l'élément.
586
587 [[image:1747310722673-137.png]]
588 \\Par exemple : <a href="javascript:ddCtrl.drawFlowInElement ('Retail_Coûts_editor', '1898358537')">Afficher flux</a>
589 )))
590
591
592 **void ddCtrl.changePage (page)**
593
594 **void ddCtrl.switchPage (page)**
595
596 Description : Change la page courante vers <page>.
597
598 Exemple :
599
600 (% class="box" %)
601 (((
602 <a href="javascript:__ddCtrl.changePage__('Général.Index')">Retour vers l'index</a>
603 )))
604
605
606 **void ddCtrl.nextPage ()**
607
608 Description : Change vers la page suivante (même rôle).
609
610 Exemple :
611
612 (% class="box" %)
613 (((
614 <a href="javascript:__ddCtrl.nextPage__()">Page suivante</a>
615 )))
616
617
618 **void ddCtrl.prevPage ()**
619
620 Description : Change vers la page précédente (même rôle).
621
622 Exemple :
623
624 (% class="box" %)
625 (((
626 <a href="javascript:__ddCtrl.prevPage__()">Page précédente</a>
627 )))
628
629
630 **(Booléen) ddCtrl.isCurrentPage (page)**
631
632 Description : Retourne vrai (true) si la page courante est la page d'identifiant spécifié en paramètre. Retourne faux (false) sinon.
633
634 (% class="box infomessage" %)
635 (((
636 Note : Cette fonction remplace la fonction dépréciée __ddCtrl.getCurrentPage__ ()
637 )))
638
639
640 **(Chaîne) ddCtrl.getCurrentPage ()**
641
642 Description : Retourne le nom de la page courante au format suivant : <//Nom du rôle>.<Nom de la page>//.
643
644 (% class="box warningmessage" %)
645 (((
646 **Dépréciée** : Cette fonction n'est plus supportée depuis Novembre 2014 à cause d'un changement de format du nom des pages. Merci d'utiliser la fonction __ddCtrl.isCurrentPage__ (page) en remplacement.
647 )))
648
649
650 **(Booléen) ddCtrl.isPageLoaded (page)**
651
652 Description : Retourne vrai (true) si la page spécifiée a déjà été chargée. Retourne faux (false) sinon.
653
654
655 **(Booléen) ddCtrl.isCurrentPageLoaded()**
656
657 Description : Retourne vrai (true) si la page courante a déjà été chargée. Retourne faux (false) sinon.
658
659
660 **(Objet) ddCtrl.getPage (page)**
661
662 Description : Retourne un objet contenant certaines propriétés (identifiant, nom, titre, liste des objets ...) de la page spécifiée.
663
664
665 **(Tableau) ddCtrl.getPagePath (page)**
666
667 Description : Retourne un tableau contenant le chemin de la page (rôle / groupe de pages / page).
668
669
670 **(Tableau) ddCtrl.dashboardPages**
671
672 Description : Tableau contenant toutes les pages de tous les rôles de l'utilisateur connecté.
673
674 Exemple :
675
676 (% aria-label="Élément macro : code" contenteditable="false" role="region" tabindex="-1" %)
677 (((
678 {{code language="shell"}}
679 ddCtrl.addCurrentPageLoadListener(function()
680 {
681     console.log(ddCtrl.dashboardPages);
682 });
683 {{/code}}
684
685 (% style="background-color:rgba(220,220,220,0.5)" %)
686
687 )))
688
689
690 **(Booléen) canChangeCurrentPage (page)**
691
692 Description : Retourne vrai (true) s'il est possible de changer vers la page <page>. Retourne faux (false) sinon.
693
694
695 **void ddCtrl.hidePage (page)**
696
697 Description : Cache l'onglet de la page <page> s'il est visible, sans changer la page courante.
698
699 Exemple :
700
701 (% class="box" %)
702 (((
703 <a href="javascript:__ddCtrl.hidePage__('Production.Détails Pays'); __ddCtrl.changePage__('Production.Global')">Quitter les détails</a>
704 )))
705
706
707 **void ddCtrl.showPage (page)**
708
709 Description : Affiche l'onglet de la page <page> s'il est caché, sans changer la page courante.
710
711 Exemple :
712
713 (% class="box" %)
714 (((
715 <a href="javascript:__ddCtrl.showPage__('Production.Détails Pays'); __ddCtrl.changePage__('Production.Détails Pays')">Afficher les détails</a>
716 )))
717
718
719 **void ddCtrl.openFlowInWindow (flux, iLargeur, iHauteur)**
720
721 Description : Ouvre un flux dans une fenêtre popup de largeur et hauteur données.
722
723 Exemple :
724
725 (% class="box" %)
726 (((
727 <a href="javascript:__ddCtrl.openFlowInWindow__('fluxId', '250', '200')">Afficher la répartition des produits</a>
728 )))
729
730
731 **void ddCtrl.openPortletInWindow (portlet, iLargeur, iHauteur)**
732
733 Description : Ouvre une portlet dans une fenêtre popup de largeur et hauteur données.
734
735 Exemple :
736
737 (% class="box" %)
738 (((
739 <a href="javascript:__ddCtrl.openPortletInWindow__('portletId', '250', '200')">Afficher la répartition des produits</a>
740 )))
741
742
743 **void ddCtrl.openFlowInWindowWithFilter (flux, iLargeur, iHauteur, dimension, membre [, dimension, membre, ...])**
744
745 Description : Ouvre un flux dans une fenêtre popup de largeur et hauteur données et le filtre sur la ou les dimensions et membres spécifiés en paramètre (liste de couples dimension / membre).
746
747 (% class="box infomessage" %)
748 (((
749 Note : Les filtres ne seront appliquées que sur la nouvelle fenêtre.
750 )))
751
752 Exemple :
753
754 (% class="box" %)
755 (((
756 <a href="javascript:__ddCtrl.openFlowInWindowWithFilter__('fluxId', '250', '200', 'Année', '2014', 'Pays', 'France')">Afficher les détails France 2014</a>
757 )))
758
759
760 **void ddCtrl.openPortletInWindowWithFilter (portlet, iLargeur, iHauteur, dimension, membre [, dimension, membre, ...])**
761
762 Description : Ouvre une portlet dans une fenêtre popup de largeur et hauteur données et le filtre sur la ou les dimensions et membres spécifiés en paramètre (liste de couples dimension / membre).
763
764 (% class="box infomessage" %)
765 (((
766 Note : Les filtres ne seront appliquées que sur la nouvelle fenêtre.
767 )))
768
769 Exemple :
770
771 (% class="box" %)
772 (((
773 <a href="javascript:__ddCtrl.openPortletInWindowWithFilter__('portletId', '250', '200', 'Année', '2014', 'Pays', 'France')">Afficher les détails France 2014</a>
774 )))
775
776
777 **void ddCtrl.closeFlowInWindow (flux)**
778
779 Description : Permet de fermer programmatiquement une popup affichée par l'intermédiaire des fonctions **openFlowInWindow**, **openPortletInWindow**, et **openFormInWindow**.
780
781 Cette fonction prend en paramètre l'identifiant qui a été passé dans la fonction d'affichage de la popup.
782
783 Exemple :
784
785 (% aria-label="Élément macro : code" contenteditable="false" role="region" tabindex="-1" %)
786 (((
787 {{code}}
788 ddCtrl.openFlowInWindow('716abf12', '80%', '80%');
789
790 ddCtrl.closeFlowInWindow('716abf12')
791 {{/code}}
792
793 (% style="background-color:rgba(220,220,220,0.5)" %)
794
795 )))
796
797
798 **void ddCtrl.openDocument (serverName, fileName)**
799
800 Description: Ouvre un document dans une nouvelle fenêtre.
801
802 Exemple:
803
804 (% class="box" %)
805 (((
806 <a href="javascript:__ddCtrl.openDocument__('Common Datasources', 'catalogue_produits.pdf')">Afficher le catalogue des produits</a>
807 )))
808
809
810 **void ddCtrl.uploadDocument (serverName, fileName)**
811
812 Description: Upload un document vers un serveur de documents. Ouvre une fenêtre de sélection du fichier sur le poste de travail.
813
814 Exemple:
815
816 (% class="box" %)
817 (((
818 <a href="javascript:(% class="wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink" %)__ddCtrl.uploadDocument__(%%)('Common Datasources', 'catalogue_produits.pdf')">Uploader le catalogue des produits</a>
819 )))
820
821
822 **void ddCtrl.deleteDocument (serverName, fileName)**
823
824 Description : Supprime un document du serveur de documents.
825
826 Exemple:
827
828 (% class="box" %)
829 (((
830 <a href="javascript:__ddCtrl.deleteDocument__('Common Datasources', 'catalogue_produits.pdf')">Supprimer le catalogue des produits</a>
831 )))
832
833
834 **void ddCtrl.downloadDocument (serverName, fileName)**
835
836 Description : Télécharge un document du serveur de documents.
837
838 Exemple:
839
840 (% class="box" %)
841 (((
842 <a href="javascript:__ddCtrl.downloadDocument__('Common Datasources', 'catalogue_produits.pdf')">Télécharger le catalogue des produits</a>
843 )))
844
845
846
847 **void ddCtrl.refreshDashboard ()**
848
849 Description : Rafraîchit le tableau de bord (même comportement que le bouton Rafraîchir en entête du tableau de bord).
850
851 Exemple :
852
853 (% class="box" %)
854 (((
855 <a href="javascript:__ddCtrl.refreshDashboard__()">Rafraîchir</a>
856 )))
857
858
859 **void ddCtrl.refreshFlow (flow, [événement])**
860
861 Description : Rafraîchit le flux spécifié avec un nom d'événement optionnel.
862
863 Exemple:
864
865 (% class="box" %)
866 (((
867 <a href="javascript:__ddCtrl.refreshFlow__('flowId', 'MAJ_QUOTIDIENNE')">Rafraîchir le flux</a>
868 )))
869
870
871 **void ddCtrl.refreshFlows ([événement])**
872
873 Description : Rafraîchit tous les flux du tableau de bord avec un nom d'événement optionnel.
874
875 Exemple:
876
877 (% class="box" %)
878 (((
879 <a href="javascript:__ddCtrl.refreshFlows__('MAJ_QUOTIDIENNE')"> Tout rafraîchir</a>
880 )))
881
882
883 **(Chaîne) ddCtrl.getCurrentRole ()**
884
885 Description : Renvoie l'identifiant du rôle de la page courante ou le nom de l'utilisateur pour une page d'utilisateur.
886
887
888 **(Chaîne) ddCtrl.getRole (page)**
889
890 Description : Renvoie l'identifiant du rôle de la page spécifiée (ex: récupérée précédemment par __ddCtrl.getCurrentPage__()) ou le nom de l'utilisateur si cette page est une page d'utilisateur.
891
892
893 **void ddCtrl.hidePortlet (portlet)**
894
895 **void ddCtrl.showPortlet (portlet)**
896
897 (% class="box warningmessage" %)
898 (((
899 ❗Ces fonctions ne doivent être utilisées que sur les portlets présents sur la page actuelle.
900 )))
901
902 Description : Cache ou montre la portlet du graphique spécifiée. Le paramètre portlet est un identifiant qui peut-être récupéré dans l'éditeur de tableaux de bords, via le menu Information de la portlet.
903
904 Exemple :
905
906 (% class="box" %)
907 (((
908 <a href="javascript:__ddCtrl.showPortlet__('portletId')">Afficher Les Détails</a>
909 )))
910
911
912 **void ddCtrl.setPortletPos (portlet, x, y)**
913
914 **void ddCtrl.setPortletSize (portlet, width, height)**
915
916 Description : Positionne / dimensionne la portlet aux coordonnées / dimensions spécifiées. Le paramètre portlet est un identifiant qui peut-être récupéré dans l'éditeur de tableaux de bords, via le menu Information de la portlet.
917
918 Exemple :
919
920 (% class="box" %)
921 (((
922 <a href="javascript:__ddCtrl.setPortletPos__('portletId', '100', '100'); __ddCtrl.setPortletSize__('portletId', '600', '400')">Agrandir Les Détails</a>
923 )))
924
925
926 **void ddCtrl.setPortletMargins (portlet, marginTop, marginRight, marginBottom, marginLeft)**
927
928 Description : Spécifie les marges à ajouter à la portlet. Le paramètre portlet est un identifiant qui peut-être récupéré dans l'éditeur de tableaux de bords, via le menu Information de la portlet.
929
930 Exemple :
931
932 (% class="box" %)
933 (((
934 <a href="javascript:__ddCtrl.setPortletPos__('portletId', '10', '10', '10', '10'); __ddCtrl.setPortletMargins__('portletId', '600', '400')">Change les marges</a>
935 )))
936
937
938 **(Booléen) ddCtrl.chartIsHidden (portlet)**
939
940 Description : Retourne vrai (true) lorsque la portlet est cachée (voir hideChart) et faux (false) sinon.
941
942
943 **void ddCtrl.genTemplatePPT (flux)**
944
945 Description : Exécute un flux de type Fabrique De Document PowerPoint(sauvegarde le PPT) d'identifiant flowId avec la sélection courante du tableau de bord. Le téléchargement du PPT généré est proposé à l'utilisateur.
946
947 Exemple :
948
949 (% class="box" %)
950 (((
951 <a href="javascript:__ddCtrl.genTemplatePPT__('Id Fabrique De Document')">Charger le PPT</a>
952 )))
953
954
955 **void ddCtrl.exportCurrentPageAsPPT ()**
956
957 (% style="color:#d35400" %)##//⚠ Dépréciée//##
958
959 Description : Sauvegarde la page courante du tableau de bord au format PPT. Le téléchargement du PPT généré est proposé à l'utilisateur.
960
961 Exemple :
962
963 (% class="box" %)
964 (((
965 <a href="javascript:__ddCtrl.exportCurrentPageAsPPT__()">Charger cette page au format PPT</a>
966 )))
967
968
969 **void ddCtrl.exportPageAsPPT (role, page)**
970
971 (% style="color:#d35400" %)##//⚠ Dépréciée//##
972
973 Description : Sauvegarde la page correspondant au rôle et à l’identifiant de la page spécifiés en paramètres. Le téléchargement du PPT généré est proposé à l'utilisateur. L’identifiant de la page peut être récupéré dans l’éditeur de tableau de bord (clic-droit sur un onglet de page).
974
975 Exemple :
976
977 (% class="box" %)
978 (((
979 <a href="javascript:(% class="wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink" %)__ddCtrl.exportPageAsPPT__(%%)('Telecom', 'telecom_ventes_1')">Charger le PPT des ventes telecom</a>
980 )))
981
982
983 **void ddCtrl.genTemplatePDF(flux)**
984
985 Description : Exécute un flux de type Fabrique De Document PDF (sauvegarde le PDF) d'identifiant flowId avec la sélection courante du tableau de bord. Le téléchargement du PDF généré est proposé à l'utilisateur.
986
987 Exemple :
988
989 (% class="box" %)
990 (((
991 <a href="javascript:__ddCtrl.genTemplatePDF__('Id Fabrique De Document')">Charger le PDF</a>
992 )))
993
994
995 **void ddCtrl.exportCurrentPageAsPDF ()**
996
997 (% style="color:#d35400" %)##//⚠ Dépréciée//##
998
999 Description : Sauvegarde la page courante du tableau de bord au format PDF. Le téléchargement du PDF généré est proposé à l'utilisateur.
1000
1001 Exemple :
1002
1003 (% class="box" %)
1004 (((
1005 <a href="javascript:__ddCtrl.exportCurrentPageAsPDF__()">Charger cette page au format PDF</a>
1006 )))
1007
1008
1009 **void ddCtrl.exportPageAsPDF (role, page)**
1010
1011 (% style="color:#d35400" %)##//⚠ Dépréciée//##
1012
1013 Description : Sauvegarde la page correspondant au rôle et à l’identifiant de la page spécifiés en paramètres. Le téléchargement du PDF généré est proposé à l'utilisateur. L’identifiant de la page peut être récupéré dans l’éditeur de tableau de bord (clic-droit sur un onglet de page).
1014
1015 Exemple :
1016
1017 (% class="box" %)
1018 (((
1019 <a href="javascript:(% class="wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink" %)__ddCtrl.exportPageAsP__(%%)__DF__('Telecom', 'telecom_ventes_1')">Charger le PDF des ventes telecom</a>
1020 )))
1021
1022
1023 **void ddCtrl.genTemplateXLS (flux)**
1024
1025 Description : Exécute un flux de type Fabrique De Document Excel (sauvegarde le XLS) d'identifiant flowId avec la sélection courante du tableau de bord. Le téléchargement du XLS généré est proposé à l'utilisateur.
1026
1027 Exemple :
1028
1029 (% class="box" %)
1030 (((
1031 <a href="javascript:__ddCtrl.genTemplateXLS__('Id Fabrique De Document')">Charger le XLS</a>
1032 )))
1033
1034 **void ddCtrl.genTemplateHTML (flux)**
1035
1036 Description : Exécute un flux de type Fabrique De Document HTML (sauvegarde le HTML) d'identifiant flowId avec la sélection courante du tableau de bord. Le téléchargement du HTML généré est proposé à l'utilisateur.
1037
1038 Exemple :
1039
1040 (% class="box" %)
1041 (((
1042 <a href="javascript:__ddCtrl.genTemplateHTML__('Id Fabrique De Document')">Charger le HTML</a>
1043 )))
1044
1045 **void ddCtrl.exportAsPDF (flux)**
1046
1047 Description : Sauvegarde le flux en PDF. Le téléchargement du PDF généré est proposé à l'utilisateur.
1048
1049
1050 **void ddCtrl.exportAsPPT (flux)**
1051
1052 Description : Sauvegarde le flux en PPT. Le téléchargement du PPT généré est proposé à l'utilisateur.
1053
1054
1055 **void ddCtrl.exportAsXLS (flux)**
1056
1057 Description : Sauvegarde le flux en XLS. Le téléchargement du XLS généré est proposé à l'utilisateur.
1058
1059
1060 **void ddCtrl.exportAsXLSWithoutStyles (flux)**
1061
1062 Description : Sauvegarde le flux en XLS sans appliquer les styles des tableaux pour plus de performances. Le téléchargement du XLS généré est proposé à l'utilisateur.
1063
1064
1065 **void ddCtrl.exportAsCSV (flux)**
1066
1067 Description : Sauvegarde le flux en CSV (Champs Séparés par des Virgules). Le téléchargement du CSV généré est proposé à l'utilisateur.
1068
1069
1070 **void ddCtrl.saveDashboardState (nom, bDéfaut)**
1071
1072 Description : Sauvegarde l'état courant du tableau de bord (page, filtres, drill, variables). Identique à l'action produite par le bouton de sauvegarde de la sélection dans la barre d'outil du tableau de bord. Le paramètre nom est le nom de la sélection, le paramètre bDéfaut active le chargement de la sélection au démarrage du tableau de bord.
1073
1074
1075 **(Chaîne) ddCtrl.getCurrentPortletInGroupOfTabs (portletTabId)**
1076
1077 Description : Renvoie l’identifiant de la portlet courante de l’objet Groupe d’onglets. Le paramètre portletTabId est l’identifiant du Groupe d’onglets.
1078
1079
1080 **void ddCtrl.changePortletInGroupOfTabs (portletTabId, portletId)**
1081
1082 Description : Change la portlet courante de l’objet Groupe d’onglets. Le paramètre porltetTabId est l’identifiant du Groupe d’onglets, le paramètre portletId est l’identifiant de la portlet à sélectionnner.
1083
1084
1085 **(Tableau) ddCtrl.getCurrentPagePath ()**
1086
1087 Description : Renvoie le chemin de la page courante (Rôle / Page / Sous-Page) sous forme de tableau d’objets. Chaque objet possède les attributs suivants : id, title, name, type (role/container/page).
1088
1089
1090 **void ddCtrl.expandCollapseNavigationMenu()**
1091
1092 Description : Réduit le menu de navigation s'il est développé et vice versa.
1093
1094
1095 == Fonctions du mode Mise à l'échelle{{id name="scale"/}} ==
1096
1097 Ces fonctions concernent la sélection de zoom dans le cas du mode **Mise à l'échelle** ou **Grille + Mise à l'échelle**.
1098
1099
1100 **void ddCtrl.setScalingZoom(zoom)**
1101
1102 Description : applique le zoom à la valeur spécifiée.
1103
1104 Exemple :
1105
1106 (% class="box" %)
1107 (((
1108 <a href="javascript:__ddCtrl.setScalingZoom(0.65)__">Définir le zoom de la page à 65%</a>
1109 )))
1110
1111
1112 **void ddCtrl.setScalingAdaptWidth()**
1113
1114 Description : applique le zoom "Adapter à la largeur".
1115
1116
1117
1118 **void ddCtrl.setScalingAdaptHeight()**
1119
1120 Description : applique le zoom "Adapter à la hauteur".
1121
1122
1123
1124 **void ddCtrl.setScalingZoomRange(min, max)**
1125
1126 Description : définit des limites de zoom inférieure et supérieure. L'utilisateur ne pourra pas appliquer de niveau de zoom en dehors de ces valeurs.
1127
1128 Exemple :
1129
1130 (% class="box" %)
1131 (((
1132 <a href="javascript:__setScalingZoomRange(0.4,1.2)__">Définir un intervalle de zoom entre 40 et 120%</a>
1133 )))
1134
1135 = Gestion d’événements =
1136
1137 Ces fonctions d'écouteurs sont appelées par le système quand des événements spécifiques sont déclenchés. Vous pouvez donc créer de nouveaux comportements en fonction de situations: un graphique est rafraîchi ou dessiné, une page est changée, une dimension est filtrée, etc. Le meilleur endroit pour implémenter ces comportements est dans l'éditeur de Javascript global accessible dans le menu des options de l'éditeur de tableaux de bords.
1138
1139 == Diagramme des événements du Tableau de bord ==
1140
1141 (% aria-label="Élément api_event_diagram.gif image" contenteditable="false" role="region" tabindex="-1" %)[[image:api_event_diagram.gif||queryString="width=641&height=802"]](% title="Cliquer et glisser pour redimensionner" %)​(% aria-label="Élément api_event_diagram.gif image" contenteditable="false" role="region" tabindex="-1" %)​
1142
1143 **void ddCtrl.addChartBeforeRefreshListener (Fonction)**
1144
1145 Description : Ajoute une fonction d'écoute de l'événement déclenché avant le rafraîchissement du graphique.
1146
1147 Exemple :
1148
1149 (% class="box" %)
1150 (((
1151 ddCtrl.addChartBeforeRefreshListener(function(doc, dm, dmsel, chart, errorMsg) { alert("Le graphique " + chart.title + " va être rafraîchi"); });
1152 )))
1153
1154
1155 **void ddCtrl.addChartRefreshListener (Fonction)**
1156
1157 Description : Ajoute une fonction d'écoute de l'événement déclenché après le rafraîchissement du graphique.
1158
1159 Exemple :
1160
1161 (% class="box" %)
1162 (((
1163 ddCtrl.addChartRefreshListener(function(doc, dm, dmsel, chart, errorMsg) { alert("Le graphique " + chart.title + " a été rafraîchi"); });
1164 )))
1165
1166
1167 **void ddCtrl.addChartDrawnListener (Fonction)**
1168
1169 Description : Ajoute une fonction d'écoute de l'événement déclenché lorsque le graphique a fini d'être dessiné (premier affichage).
1170
1171 Exemple :
1172
1173 (% class="box" %)
1174 (((
1175 ddCtrl.addChartDrawnListener(function(doc, dm, dmsel, chart, errorMsg) { alert("Le graphique " + chart.title + " a été dessiné"); });
1176 )))
1177
1178
1179 **void ddCtrl.addChartModelReadyListener (Fonction)**
1180
1181 Description : Ajoute une fonction d'écoute de l'événement déclenché avant le dessin du graphique (premier affichage).
1182
1183 Exemple :
1184
1185 (% class="box" %)
1186 (((
1187 ddCtrl.addChartModelReadyListener(function(doc, dm, dmsel, chart, errorMsg) { alert("Le graphique " + chart.title + " va être dessiné"); });
1188 )))
1189
1190
1191 **void ddCtrl.addDimensionFilterListener (Fonction)**
1192
1193 Description : Ajoute une fonction d'écoute de l'événement déclenché après filtrage d'une dimension.
1194
1195 Exemple :
1196
1197 (% class="box" %)
1198 (((
1199 ddCtrl.addDimensionFilterListener(function(dimension, hierarchy, niveau, members, membersFormated, bExclude, min, max) { alert("La dimension " + dimension + " a été filtrée sur " + membersFormated); });
1200 )))
1201
1202
1203 **void ddCtrl.addVariableChangeListener (Fonction)**
1204
1205 Description : Ajoute une fonction d'écoute de l'événement déclenché après changement d'une variable.
1206
1207 Exemple :
1208
1209 (% class="box" %)
1210 (((
1211 ddCtrl.addVariableChangeListener(function(variable, valeur) { alert("La variable " + variable + " a changé, nouvelle valeur : " + valeur); });
1212 )))
1213
1214
1215 == Gestion d’événements du Tableau De Bord{{id name="event_tdb"/}} ==
1216
1217
1218 **void ddCtrl.addDashboardLoadListener (Fonction)**
1219
1220 Description : Ajoute une fonction d'écoute de l'événement déclenché une fois le de tableau de bord chargé mais pas encore dessiné.
1221
1222 Exemple :
1223
1224 (% class="box" %)
1225 (((
1226 ddCtrl.addDashboardLoadListener(function(currentPage) { alert("Initialisation du tableau de bord"); });
1227 )))
1228
1229
1230
1231 **void ddCtrl.addCurrentPageLoadListener (Fonction)**
1232
1233 Description : Ajoute une fonction d'écoute de l'événement déclenché une fois la page de tableau de bord complètement chargée.
1234
1235 Exemple :
1236
1237 (% class="box" %)
1238 (((
1239 ddCtrl.addCurrentPageLoadListener(function(currentPage) { alert("La page " + currentPage + " a été chargée"); });
1240 )))
1241
1242
1243 **void ddCtrl.addCurrentPageChangeListener (Fonction)**
1244
1245 Description : Ajoute une fonction d'écoute de l'événement déclenché lors d'un changement de page.
1246
1247 Exemple :
1248
1249 (% class="box" %)
1250 (((
1251 ddCtrl.addCurrentPageChangeListener(function(currentPage, bFirstTime) { alert("La page est maintenant " + currentPage); });
1252 )))
1253
1254
1255 **void ddCtrl.addUserLoggedListener (Fonction)**
1256
1257 Description : événement déclenché une fois l'utilisateur authentifié. Peut être utile lors de l'utilisation de la fonction ddCtrl.getUserAttribute.
1258
1259 Exemple :
1260
1261 (% class="box" %)
1262 (((
1263 ddCtrl.addUserLoggedListener(function() { alert("Vous êtes authentifié"); });
1264 )))
1265
1266
1267 **void ddCtrl.addPortletHiddenListener (Fonction)**
1268
1269 Description : événement déclenché lorsque le statut de l’objet est passé de visible à caché.
1270
1271 Exemple :
1272
1273 (% class="box" %)
1274 (((
1275 ddCtrl.addPortletHiddenListener(function(portletId) { alert("L’objet est caché"); });
1276 )))
1277
1278
1279 **void ddCtrl.addPortletVisibleListener (Fonction)**
1280
1281 Description : événement déclenché lorsque le statut de l’objet est passé de caché à visible.
1282
1283 Exemple :
1284
1285 (% class="box" %)
1286 (((
1287 ddCtrl.addPortletVisibleListener(function(portletId) { alert("L’objet est visible"); });
1288 )))
1289
1290
1291 **void ddCtrl.addPortletCollapseListener (Fonction)**
1292
1293 Description : événement déclenché lorsque l’utilisateur clique sur l’icône permettant de masquer un élément rétractable.
1294
1295 Exemple :
1296
1297 (% class="box" %)
1298 (((
1299 ddCtrl.addPortletCollapseListener(function(portletId) { alert("L’objet va être cacher"); });
1300 )))
1301
1302
1303 **void ddCtrl.addPortletCollapsedListener (Fonction)**
1304
1305 Description : événement déclenché une fois l’élément rétractable caché.
1306
1307 Exemple :
1308
1309 (% class="box" %)
1310 (((
1311 ddCtrl.addPortletCollapsedListener(function(portletId) { alert("L’objet est caché"); });
1312 )))
1313
1314
1315 **void ddCtrl.addPortletExpandListener (Fonction)**
1316
1317 Description : événement déclenché lorsque l’utilisateur clique sur l’icône permettant d’afficher un élément rétractable.
1318
1319 Exemple :
1320
1321 (% class="box" %)
1322 (((
1323 ddCtrl.addPortletExpandListener(function(portletId) { alert("L’objet va être afficher"); });
1324 )))
1325
1326
1327 **void ddCtrl.addPortletExpandedListener (Fonction)**
1328
1329 Description : événement déclenché une fois l’élément rétractable affiché.
1330
1331 Exemple :
1332
1333 (% class="box" %)
1334 (((
1335 ddCtrl.addPortletExpandedListener(function(portletId) { alert("L’objet est affiché"); });
1336 )))
1337
1338
1339 **void ddCtrl.addGroupOfTabsChangeListener (Fonction)**
1340
1341 Description : événement déclenché lorsque l’utilisateur change de graphique dans un groupe d’onglets. Le premier paramètre est l’identifant de l’objet groupe d’onglets, le deuxième est l’identifiant de la portlet courante.
1342
1343 Exemple :
1344
1345 (% class="box" %)
1346 (((
1347 ddCtrl.addGroupOfTabsChangeListener(function(portletTabId, curPortletId) { alert("La portlet courante est : " + curPortletId); });
1348 )))
1349
1350
1351 **void ddCtrl.addDocumentUploadListener (Fonction)**
1352
1353 Description : événement déclenché lorsque l’utilisateur ajoute un fichier via le tableau de bord.
1354
1355 Exemple :
1356
1357 (% class="box" %)
1358 (((
1359 ddCtrl.addDocumentUploadListener(function(serverName, filesName) { alert("Le fichier " + filesName[0] + " a bien été ajouté"); });
1360 )))
1361
1362
1363 **void ddCtrl.addScalingZoomListener(function(zoomConfig){}) (Fonction){{id name="event_scale"/}}**
1364
1365 Description : Ajoute une fonction d'écoute de l'événement déclenché après changement du niveau de zoom dans le cas d'un page en mode Mise à l'échelle ou Grille + Mise à l'échelle.
1366
1367 Exemple :
1368
1369 (% class="box" %)
1370 (((
1371 ddCtrl.addScalingZoomListener(function(zoomConfig){
1372 console.log("Le zoom a été modifié : " + JSON.stringify(zoomConfig));
1373 });
1374 )))
1375
1376
1377 **ddCtrl.addFormSubmitListener(function(formId, formSubmission) {}) (Fonction)**
1378
1379 Description : Ajoute une fonction d'écoute déclenchée une fois le formulaire soumis (après l'envoi au serveur). Elle peut notamment être utilisée pour envoyer un email à la suite de la soumission d'un formulaire.
1380
1381 **Exemple :**
1382
1383 (% class="box" %)
1384 (((
1385 ddCtrl.addFormSubmitListener(function(formId, formSubmission)
1386 {
1387 if (formId == "Sondage")
1388 {
1389 var message = "L'utilisateur '" + formSubmission.data.f_utilisateur + "' a répondu '" + formSubmission.data.f_outil + "' au sondage Outil BI préféré.";
1390 var res = ddCtrl.sendMail("jean.dupont@mail.com,jean.dupond@mail.com", "Sondage", message);
1391 }
1392 });
1393 )))
1394
1395 Le message peut contenir les valeurs des champs saisis par l'utilisateur via l'objet formSubmission.data, par exemple formSubmission.data.f_nomduchamp.
1396
1397 À la soumission du formulaire, avec //Jean// saisi dans le champ **Utilisateur **et //DigDash// dans le champ **Outil**// , //les destinataires recevront un email avec l'objet **Sondage** et le message suivant : //**L'utilisateur 'Jean' a répondu 'DigDash' au sondage Outil BI préféré**.//
1398
1399
1400 **ddCtrl.addFormBeforeSubmitListener(function(formId, formSubmission) {}) (Fonction)**
1401
1402 Description : Ajoute une fonction d'écoute déclenchée avant l'envoi des données d'un formulaire. Cette fonction permet de modifier ou de normaliser les données saisies avant leur transmission, ou d'appliquer une logique conditionnelle selon le formulaire, son état ou ses métadonnées.
1403
1404 La fonction de rappel reçoit les paramètres suivants :
1405
1406 * **formId** : identifiant du formulaire.
1407 * **formSubmission** : objet contenant les informations du formulaire :
1408 ** **data** : données du formulaire sous la forme clé/valeur (clé = identifiant du champ, valeur = valeur saisie).
1409 ** **metadata** : métadonnées du formulaire (identifiant du formulaire, de la page, du rôle, de la portlet, etc.).
1410 ** **state** : état de l'envoi :
1411 *** "submitted" : envoi du formulaire ;
1412 *** "draft" : enregistrement en brouillon.
1413
1414 Les traitements peuvent être appliqués directement à formSubmission.data. Les propriétés metadata et state permettent de conditionner l'exécution de la logique.
1415
1416 Exemple :
1417
1418 (% class="box" %)
1419 (((
1420 ddCtrl.addFormBeforeSubmitListener(function(formId, formSubmission) {
1421 if (formId === "Patient") {
1422 formSubmission.data.f_nom =
1423 formSubmission.data.f_nom.toUpperCase(); ~/~/ Met en majuscules le champ f_nom
1424 }
1425 });
1426 )))
1427
1428 = Fonctions diverses =
1429
1430 **(Tableau de chaînes) ddCtrl.getUserRoles ()**
1431
1432 Description : Retourne la liste des identifiants des rôles de l'utilisateur connecté.
1433
1434
1435 **(Tableau associatif de chaînes / booléens) ddCtrl.getUserACLs ()**
1436
1437 Description : Retourne la liste des identifiants des droits (ACL) de l'utilisateur connecté. La liste retournée est un tableau associant l'Id de l'acl avec un booléen (true) sir l'ACL est alloué à l'utilisateur.
1438
1439 Exemple :
1440
1441 (% class="box" %)
1442 (((
1443 if (ddCtrl.getUserACLs()['SaveAsPPT']) alert("Vous pouvez sauvegarder en PPT");
1444 )))
1445
1446 Liste de tous les droits possibles :
1447
1448 AddRole, AllowImpersonate, EditUserAttributes, EditUserVariables, EditProtectedUserVariables, ExportUsers, AccessLicenseSettings, ManageACL, AccessContentManagement, ManageACLGroup, AccessServerSettings, ManageProfil, AccessUserSettings, ManageAllForms, ManageAllRoles, ManageRole, AssignProfil, AllowSetQuotaByModel, ImportUsers, AccessRestore, AccessBackup, DownloadFromCMDR, AccessServerStatus, ViewAllUsersInfo, ListDocuments, ListDocumentServers, UploadDocument, UpdateDocument, Scheduler, AddFlow, AddRoleFlow, LoadWalletForGroup, RefreshFlow, RefreshRoleFlow, SaveWalletForGroup, DeviceManager, FormatManager, MapManager, DBConnectionManager, PredefinedFunctionManager, ManageD3, HierarchyManager, IconManager, ColorPaletteManager, ManageSentences, ManageSchedules, ManageScripts, StylesManager, DictionaryManager, AccessStudio, DependencyAnalyser, EditDataSource, EditDBDataSource, EditDataCatalogDataSource, EditFileDataSource, EditIODataSource, EditJoinDataSource, EditReportDataSource, EditColTransformerDataSource, EditTransformerDataSource, EditUnionDataSource, EditDataSourceForGroup, ManageCommonItems, ManageRoleItems, AllowIgnoreDMResivion, AccessDashboardAssistant, AccessDBV, AddFormData, CreateForm, AccessDBE, EditDashboardForGroup, SendMail, ManageFormData, DashboardNavigationMenu, DashboardCustomization, EditProtectedDashboardPages, DashboardOfflineMode, DashboardJSCustom, DashboardTheme, AddCommentFlow, AddCommentDataModel, SendSMS, PrintChart, ChartNavigation, TextQuery, SaveAsCSV, SaveAsPDF, SaveAsPPT, SaveAsXLSWithoutStyles, SaveAsXLS, SaveView, SavePublicView, RemoveCommentFlow, RemoveCommentDataModel, UseAdHocAnalysis, ViewComments, ViewRestrictedData, ViewAllComments
1449
1450
1451 **(Chaîne) ddCtrl.getUserAttribute (attr)**
1452
1453 Description : Retourne l'attribut LDAP <attr> de l'utilisateur.
1454
1455
1456 **(Chaîne) ddCtrl.getUserAttribute (attr, Fonction)**
1457
1458 Description : Retourne l'attribut LDAP <attr> de l'utilisateur via une fonction asynchrone d'appel.
1459
1460 Exemple :
1461
1462 (% class="box" %)
1463 (((
1464 ddCtrl.getUserAttribute('displayName', function (attrVal) {alert(attrVal)});
1465 )))
1466
1467
1468 **(Chaîne) ddCtrl.getSessionAttribute (attr)**
1469
1470 Description : Retourne l'attribut <attr> de la session utilisateur.
1471
1472 Voir le [[Tutoriel Variables de session>>doc:Digdash.user_guide.tutorials.session_variables_tutorial.WebHome]] pour plus d’information sur les variables de session.
1473
1474
1475 **(Chaîne) ddCtrl.getSessionAttribute (attr, Fonction)**
1476
1477 Description : Retourne l'attribut <attr> de la session utilisateur via une fonction asynchrone d'appel.
1478
1479 Exemple :
1480
1481 (% class="box" %)
1482 (((
1483 ddCtrl.getSessionAttribute('regionChoisie', function (attrVal) {alert(attrVal)});
1484 )))
1485
1486 Voir le [[Tutoriel Variables de session>>doc:Digdash.user_guide.tutorials.session_variables_tutorial.WebHome]] pour plus d’information sur les variables de session.
1487
1488
1489 **void ddCtrl.setSessionAttribute (attr, valeur)**
1490
1491 Description : Met à jour l’attribut <attr> de la session utilisateur avec la valeur spécifiée.
1492
1493 Exemple :
1494
1495 (% class="box" %)
1496 (((
1497 ddCtrl.setSessionAttribute('regionChoisie', ‘France’);
1498 )))
1499
1500 Voir le [[Tutoriel Variables de session>>doc:Digdash.user_guide.tutorials.session_variables_tutorial.WebHome]] pour plus d’information sur les variables de session.
1501
1502
1503 **(Chaîne) ddCtrl.getServerAttribute (attr)**
1504
1505 Description : Retourne l'attribut <attr> du serveur. Les attributs (ou variables) de serveur permettent de spécifier des constantes utilisées dans les modèles de données et les flux via le mot-clé ${server.<attr>}.
1506
1507 Voir le document de [[Réglages avancés des paramètres système>>doc:Digdash.deployment.configuration.advanced_system_guide.WebHome]] pour plus d’information sur les variables de serveur.
1508
1509
1510 **(Chaîne) ddCtrl.getServerAttribute (attr, Fonction)**
1511
1512 Description : Retourne l'attribut <attr> du serveur via une fonction asynchrone d'appel.
1513
1514 Exemple :
1515
1516 (% class="box" %)
1517 (((
1518 ddCtrl.getSessionAttribute('serverMode', function (attrVal) {alert(attrVal)});
1519 )))
1520
1521 Voir le document de [[Réglages avancés des paramètres système>>doc:Digdash.deployment.configuration.advanced_system_guide.WebHome]] pour plus d’information sur les variables de serveur.
1522
1523
1524 **(Chaîne) ddCtrl.getUserStorage (attr)**
1525
1526 Description : Retourne l'attribut <attr> de l'utilisateur spécifié sauvegardé précédemment.
1527
1528 Exemple :
1529
1530 (% class="box" %)
1531 (((
1532 var valeur = ddCtrl.getUserStorage('attribut');
1533 )))
1534
1535 **void ddCtrl.setUserStorage (attr, valeur)**
1536
1537 Description : Sauvegarde l'attribut <attr> de l'utilisateur de manière persistante sur le serveur pour une prochaine utilisation.
1538
1539 Exemple :
1540
1541 (% class="box" %)
1542 (((
1543 ddCtrl.setUserStorage('attribut', 'valeur');
1544 )))
1545
1546
1547 **void ddCtrl.fireRefreshEvent (événement)**
1548
1549 Description : Déclenche côté serveur le rafraîchissement des données ayant l'événement spécifié
1550
1551 Exemple :
1552
1553 (% class="box" %)
1554 (((
1555 ddCtrl.fireRefreshEvent('MAJ_QUOTIDIENNE');
1556 )))
1557
1558
1559 **void ddCtrl.newAuthToken ()**
1560
1561 Description : Renvoi un token d'authentification généré par rapport à la session courante.
1562
1563 Exemple :
1564
1565 (% class="box" %)
1566 (((
1567 var token = ddCtrl.newAuthToken();
1568
1569 window.open("http:~/~/localhost:8080/digdash_dashboard/index.html?user=mon_user&authToken=token");
1570 )))
1571
1572
1573 **void loadCSS (cssFile)**
1574
1575 Description : Charge un fichier CSS.
1576
1577
1578 **void ddCtrl.loadTheme (cssTheme)**
1579
1580 Description : Charge un thème CSS DigDash sur le tableau de bord.
1581
1582 Exemple :
1583
1584 (% class="box" %)
1585 (((
1586 ddCtrl.loadTheme(‘digdash’);
1587 )))
1588
1589 **void ddCtrl.removeTheme (cssTheme)**
1590
1591 Description : Supprime le thème CSS DigDash sur le tableau de bord.
1592
1593 Exemple :
1594
1595 (% class="box" %)
1596 (((
1597 ddCtrl.removeTheme(‘digdash’);
1598 )))
1599
1600 **void openFormInWindow (portlet, largeur, hauteur, dimension, membre [, dimension, membre, ...])**
1601
1602 Description : Ouvre un formulaire (portlet est l'objet formulaire ajouté dans une page de tableau de bord) dans une fenêtre popup et le filtre sur la ou les dimensions et membres spécifiés en paramètre (liste de couples dimension / membre).
1603
1604 Exemple :
1605
1606 (% class="box" %)
1607 (((
1608 <a href="javascript:__ddCtrl.openFormInWindow__('portletId', '80%', '80%', 'Année', '2014', 'Pays', 'France')">Affiche le formulaire avec les valeurs France 2014</a>
1609 )))
1610
1611
1612 **void initFormData (portlet, nom du champ, valeur du champ [, nom, valeur, ...])**
1613
1614 Description : Initialise un formulaire avec les valeurs spécifiés en paramètre (liste de couples clé du champ / valeur du champ du formulaire).
1615
1616 Exemple :
1617
1618 (% class="box" %)
1619 (((
1620 <a href="javascript:__ddCtrl.initFormData__('1906313430','f_nom_du_projet','DigDash')">Initialise le formulaire avec la valeur DigDash pour le champ Nom du projet</a>
1621 )))
1622
1623 * Pour récupérer l'identifiant de la portlet, ouvez l'onglet **Informations** de la portlet dans l'Éditeur de tableaux de bords et copiez l'**Identifiant unique**.
1624 * Pour récupérer la clé d'un champ de formulaire : éditez le formulaire, cliquez sur le bouton **Editer le JSON** en haut à droite du formulaire et copiez la valeur key : dans cet exemple, //f_nom_du_projet//.
1625 [[image:1762442866725-104.png||alt="Clé champ" height="526" width="755"]]
1626
1627
1628 **void removeFormData (formId, primaryKeyId, {primaryKeyId,value}, function)**
1629
1630 Description : Supprime une entrée du formulaire avec l'identifiant spécifié en paramètre.
1631
1632 Exemple :
1633
1634 (% class="box" %)
1635 (((
1636 <a href="javascript:ddCtrl.removeFormData('Newsletter','newsletter_id',{'newsletter_id': '1'},function() { console.log('Suppression OK'); });">Supprime la première entrée du formulaire (id=1) dans la base de données</a>
1637 )))
1638
1639 Le primaryKeyId correspond au champ "Identifiant" du formulaire (en minuscule) suffixé par "_id".
1640
1641 [[image:Form_primaryKey_fr.png]]
1642
1643
1644 **void logout ()**
1645
1646 Description : Déconnecte l'utilisateur courant.