1 |
d2a8c3fd
|
Marc NICOLAS
|
# Bonnes pratiques de développement IHM sitools2 #
|
2 |
|
|
|
3 |
|
|
### Ouverture d'un composant : ###
|
4 |
|
|
|
5 |
|
|
//On récupère le sitoolsController
|
6 |
|
|
var sitoolsController = Desktop.getApplication().getController ('core.SitoolsController');
|
7 |
|
|
//On ouvre le composant
|
8 |
|
|
sitoolsController.openComponent(jsObject, componentsConfig, windowConfig);
|
9 |
|
|
|
10 |
|
|
|
11 |
|
|
### DatasetView ###
|
12 |
|
|
|
13 |
|
|
#### Definition d'un sorter :
|
14 |
|
|
|
15 |
|
|
{
|
16 |
|
|
property : columnAlias
|
17 |
|
|
direction : ASC ou DESC
|
18 |
|
|
}
|
19 |
|
|
|
20 |
|
|
Résultat dans la requête :
|
21 |
|
|
|
22 |
|
|
sort:[{"field":"dataset","direction":"ASC"}]
|
23 |
|
|
|
24 |
|
|
#### Definition d'un filtre de formulaire (formFilter):
|
25 |
|
|
|
26 |
|
|
{
|
27 |
|
|
type : this.type,
|
28 |
|
|
code : this.code,
|
29 |
|
|
value : value1 | value2...,
|
30 |
|
|
userDimension : this.userDimension,
|
31 |
|
|
userUnit : this.userUnit
|
32 |
|
|
}
|
33 |
|
|
|
34 |
|
|
Résultat dans la requête :
|
35 |
|
|
|
36 |
|
|
p[0]=type|code|value|userDimension|userUnit
|
37 |
|
|
|
38 |
|
|
#### Definition d'un filtre de formulaire concept (formFilterConcept):
|
39 |
|
|
|
40 |
|
|
{
|
41 |
|
|
type : this.type,
|
42 |
|
|
code : this.code, // concept name
|
43 |
|
|
dictionary : this.dictionary,
|
44 |
|
|
value : value1 | value2...,
|
45 |
|
|
userDimension : this.userDimension,
|
46 |
|
|
userUnit : this.userUnit,
|
47 |
|
|
}
|
48 |
|
|
|
49 |
|
|
Résultat dans la requête :
|
50 |
|
|
|
51 |
|
|
c[0]=type|dictionary, concept|value|userDimension|userUnit
|
52 |
|
|
|
53 |
|
|
|
54 |
|
|
#### Definition d'un filtre dans la dataview (gridFilter):
|
55 |
|
|
|
56 |
|
|
La définition se décompose en 2 parties :
|
57 |
|
|
|
58 |
|
|
Configuration du filtre (nécessaire pour ouvrir le FilterService avec la configuration sauvegardé)
|
59 |
|
|
|
60 |
|
|
[{
|
61 |
|
|
"columnAlias" : "dateobs",
|
62 |
|
|
"data" : {
|
63 |
|
|
"comparison" : "gte",
|
64 |
|
|
"value" : "2000-11-13T00:00:00.000",
|
65 |
|
|
"type" : "date"
|
66 |
|
|
}
|
67 |
|
|
}, {
|
68 |
|
|
"columnAlias" : "dateobs",
|
69 |
|
|
"data" : {
|
70 |
|
|
"comparison" : "lte",
|
71 |
|
|
"value" : "2014-11-13T00:00:00.000",
|
72 |
|
|
"type" : "date"
|
73 |
|
|
}
|
74 |
|
|
}]
|
75 |
|
|
|
76 |
|
|
|
77 |
|
|
Definition du filtre (nécessaire pour produire la requête)
|
78 |
|
|
|
79 |
|
|
{
|
80 |
|
|
"columnAlias" : "dateobs",
|
81 |
|
|
"value" : {
|
82 |
|
|
"from" : "2000-11-13T00:00:00",
|
83 |
|
|
"to" : "2014-11-13T00:00:00"
|
84 |
|
|
},
|
85 |
|
|
"type" : "date"
|
86 |
|
|
}
|
87 |
|
|
|
88 |
|
|
Résultat dans la requête :
|
89 |
|
|
|
90 |
|
|
filter[0][columnAlias]=dateobs&filter[0][data][comparison]=gte&filter[0][data][value]=2000-11-13T00:00:00.000&filter[0][data][type]=date&filter[1][columnAlias]=dateobs&filter[1][data][comparison]=lte&filter[1][data][value]=2014-11-13T00:00:00.000&filter[1][data][type]=date
|
91 |
|
|
|
92 |
|
|
Définition d'une sélection
|
93 |
|
|
|
94 |
|
|
*Une sélection est toujours relative à une liste de tri et une liste de sorters*
|
95 |
|
|
|
96 |
|
|
{
|
97 |
|
|
ranges : [[0,10], [15,25]],
|
98 |
|
|
nbRecordsSelection : 10,
|
99 |
|
|
startIndex : 25
|
100 |
|
|
}
|
101 |
|
|
|
102 |
|
|
|
103 |
|
|
Liste des parametres nécessaires pour ouverture d'une dataview :
|
104 |
|
|
|
105 |
|
|
{
|
106 |
|
|
dataset => dataset {
|
107 |
|
|
id
|
108 |
|
|
name
|
109 |
|
|
sitoolsAttachementForUsers
|
110 |
|
|
columnModel
|
111 |
|
|
dictionaryMappings
|
112 |
|
|
datasetViewConfig
|
113 |
|
|
}
|
114 |
|
|
formParams => Liste de filtres de type formulaire
|
115 |
|
|
gridFilters => Liste de filtres de type grid
|
116 |
|
|
gridFiltersCfg => Liste de configuration de filtres de type grid
|
117 |
|
|
sortInfo => Liste des tris,
|
118 |
|
|
ranges => Liste de ranges,
|
119 |
|
|
formConceptParams => List de filtres de type formulaire concept
|
120 |
|
|
}
|
121 |
|
|
|
122 |
|
|
|
123 |
|
|
### Panier ###
|
124 |
|
|
|
125 |
|
|
{
|
126 |
|
|
"selections" : [{
|
127 |
|
|
"selectionName" : "headers",
|
128 |
|
|
"selectionId" : "headers",
|
129 |
|
|
"datasetId" : "1b5185b9-422b-4d1b-8ceb-aa265bf8c271",
|
130 |
|
|
"dataUrl" : "/headers",
|
131 |
|
|
"datasetName" : "headers",
|
132 |
|
|
"selections" : "ranges=%5B%5B0%2C16%5D%5D&p%5B0%5D=TEXTFIELD%7Cdataset%7CA00%25&filter%5B0%5D%5BcolumnAlias%5D=dataset&filter%5B0%5D%5Bdata%5D%5Bcomparison%5D=LIKE&filter%5B0%5D%5Bdata%5D%5Bvalue%5D=A00%25&filter%5B0%5D%5Bdata%5D%5Btype%5D=string&sort=%5B%5D",
|
133 |
|
|
"ranges" : "[[0,16]]",
|
134 |
|
|
"dataToExport" : [],
|
135 |
|
|
"startIndex" : 0,
|
136 |
|
|
"nbRecords" : 17,
|
137 |
|
|
"orderDate" : "2014-12-01T11:48:20.169",
|
138 |
|
|
"colModel" : [{
|
139 |
|
|
"columnAlias" : "dataset",
|
140 |
|
|
"header" : "dataset"
|
141 |
|
|
}, {
|
142 |
|
|
"columnAlias" : "targname",
|
143 |
|
|
"header" : "targname"
|
144 |
|
|
}, {
|
145 |
|
|
"columnAlias" : "ra_targ",
|
146 |
|
|
"header" : "ra_targ"
|
147 |
|
|
}, {
|
148 |
|
|
"columnAlias" : "dec_targ",
|
149 |
|
|
"header" : "dec_targ"
|
150 |
|
|
}, {
|
151 |
|
|
"columnAlias" : "dateobs",
|
152 |
|
|
"header" : "dateobs"
|
153 |
|
|
}
|
154 |
|
|
],
|
155 |
|
|
"gridFilters" : [{
|
156 |
|
|
"columnAlias" : "dataset",
|
157 |
|
|
"data" : {
|
158 |
|
|
"comparison" : "LIKE",
|
159 |
|
|
"value" : "A00%",
|
160 |
|
|
"type" : "string"
|
161 |
|
|
}
|
162 |
|
|
}
|
163 |
|
|
],
|
164 |
|
|
"gridFiltersCfg" : [{
|
165 |
|
|
"columnAlias" : "dataset",
|
166 |
|
|
"value" : "A00%",
|
167 |
|
|
"type" : "string"
|
168 |
|
|
}
|
169 |
|
|
],
|
170 |
|
|
"sortInfo" : "[]",
|
171 |
|
|
"formFilters" : [{
|
172 |
|
|
"type" : "TEXTFIELD",
|
173 |
|
|
"code" : "dataset",
|
174 |
|
|
"value" : "A00%"
|
175 |
|
|
}
|
176 |
|
|
]
|
177 |
|
|
}
|
178 |
|
|
]
|
179 |
|
|
} |