1
|
# 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
|
}
|