survey-analytics 1.9.33 → 1.9.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/package.json +6 -4
- package/survey.analytics.css +1 -1
- package/survey.analytics.d.ts +1549 -1139
- package/survey.analytics.datatables.css +1 -1
- package/survey.analytics.datatables.js +1 -1
- package/survey.analytics.datatables.min.css +1 -1
- package/survey.analytics.datatables.min.js +1 -1
- package/survey.analytics.js +151 -59
- package/survey.analytics.min.css +1 -1
- package/survey.analytics.min.js +2 -2
- package/survey.analytics.tabulator.css +1 -1
- package/survey.analytics.tabulator.js +1 -1
- package/survey.analytics.tabulator.min.css +1 -1
- package/survey.analytics.tabulator.min.js +1 -1
package/survey.analytics.d.ts
CHANGED
|
@@ -1,178 +1,694 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
1
|
+
declare module "localization/english" {
|
|
2
|
+
export var englishStrings: {
|
|
3
|
+
groupButton: string;
|
|
4
|
+
ungroupButton: string;
|
|
5
|
+
selectButton: string;
|
|
6
|
+
hideColumn: string;
|
|
7
|
+
showColumn: string;
|
|
8
|
+
makePrivateColumn: string;
|
|
9
|
+
makePublicColumn: string;
|
|
10
|
+
moveToDetail: string;
|
|
11
|
+
showAsColumn: string;
|
|
12
|
+
filterPlaceholder: string;
|
|
13
|
+
removeRows: string;
|
|
14
|
+
showLabel: string;
|
|
15
|
+
entriesLabel: string;
|
|
16
|
+
visualizer_text: string;
|
|
17
|
+
visualizer_wordcloud: string;
|
|
18
|
+
visualizer_histogram: string;
|
|
19
|
+
visualizer_number: string;
|
|
20
|
+
visualizer_choices: string;
|
|
21
|
+
visualizer_selectBase: string;
|
|
22
|
+
chartType_bar: string;
|
|
23
|
+
chartType_vbar: string;
|
|
24
|
+
chartType_stackedbar: string;
|
|
25
|
+
chartType_doughnut: string;
|
|
26
|
+
chartType_pie: string;
|
|
27
|
+
chartType_scatter: string;
|
|
28
|
+
chartType_gauge: string;
|
|
29
|
+
chartType_bullet: string;
|
|
30
|
+
hideButton: string;
|
|
31
|
+
makePrivateButton: string;
|
|
32
|
+
makePublicButton: string;
|
|
33
|
+
showButton: string;
|
|
34
|
+
filter: string;
|
|
35
|
+
resetFilter: string;
|
|
36
|
+
changeLocale: string;
|
|
37
|
+
en: string;
|
|
38
|
+
fr: string;
|
|
39
|
+
ru: string;
|
|
40
|
+
de: string;
|
|
41
|
+
clearButton: string;
|
|
42
|
+
addElement: string;
|
|
43
|
+
defaultOrder: string;
|
|
44
|
+
ascOrder: string;
|
|
45
|
+
descOrder: string;
|
|
46
|
+
showMinorColumns: string;
|
|
47
|
+
otherCommentTitle: string;
|
|
48
|
+
showPercentages: string;
|
|
49
|
+
hidePercentages: string;
|
|
50
|
+
pdfDownloadCaption: string;
|
|
51
|
+
xlsxDownloadCaption: string;
|
|
52
|
+
csvDownloadCaption: string;
|
|
53
|
+
saveDiagramAsPNG: string;
|
|
54
|
+
hideEmptyAnswers: string;
|
|
55
|
+
showEmptyAnswers: string;
|
|
56
|
+
"topNValueText-1": string;
|
|
57
|
+
topNValueText5: string;
|
|
58
|
+
topNValueText10: string;
|
|
59
|
+
topNValueText20: string;
|
|
60
|
+
hideMissingAnswers: string;
|
|
61
|
+
showMissingAnswers: string;
|
|
62
|
+
missingAnswersLabel: string;
|
|
63
|
+
noVisualizerForQuestion: string;
|
|
64
|
+
noResults: string;
|
|
65
|
+
showPerValues: string;
|
|
66
|
+
showPerColumns: string;
|
|
67
|
+
answer: string;
|
|
68
|
+
percent: string;
|
|
69
|
+
responses: string;
|
|
31
70
|
};
|
|
32
|
-
|
|
33
|
-
|
|
71
|
+
}
|
|
72
|
+
declare module "localizationManager" {
|
|
73
|
+
export var localization: {
|
|
74
|
+
currentLocaleValue: string;
|
|
75
|
+
defaultLocaleValue: string;
|
|
76
|
+
locales: {
|
|
77
|
+
[index: string]: any;
|
|
78
|
+
};
|
|
79
|
+
localeNames: {
|
|
80
|
+
[index: string]: any;
|
|
81
|
+
};
|
|
82
|
+
supportedLocales: any[];
|
|
83
|
+
currentLocale: string;
|
|
84
|
+
defaultLocale: string;
|
|
85
|
+
getString: (strName: string) => any;
|
|
86
|
+
getLocales: () => Array<string>;
|
|
87
|
+
};
|
|
88
|
+
export var surveyStrings: {
|
|
89
|
+
groupButton: string;
|
|
90
|
+
ungroupButton: string;
|
|
91
|
+
selectButton: string;
|
|
92
|
+
hideColumn: string;
|
|
93
|
+
showColumn: string;
|
|
94
|
+
makePrivateColumn: string;
|
|
95
|
+
makePublicColumn: string;
|
|
96
|
+
moveToDetail: string;
|
|
97
|
+
showAsColumn: string;
|
|
98
|
+
filterPlaceholder: string;
|
|
99
|
+
removeRows: string;
|
|
100
|
+
showLabel: string;
|
|
101
|
+
entriesLabel: string;
|
|
102
|
+
visualizer_text: string;
|
|
103
|
+
visualizer_wordcloud: string;
|
|
104
|
+
visualizer_histogram: string;
|
|
105
|
+
visualizer_number: string;
|
|
106
|
+
visualizer_choices: string;
|
|
107
|
+
visualizer_selectBase: string;
|
|
108
|
+
chartType_bar: string;
|
|
109
|
+
chartType_vbar: string;
|
|
110
|
+
chartType_stackedbar: string;
|
|
111
|
+
chartType_doughnut: string;
|
|
112
|
+
chartType_pie: string;
|
|
113
|
+
chartType_scatter: string;
|
|
114
|
+
chartType_gauge: string;
|
|
115
|
+
chartType_bullet: string;
|
|
116
|
+
hideButton: string;
|
|
117
|
+
makePrivateButton: string;
|
|
118
|
+
makePublicButton: string;
|
|
119
|
+
showButton: string;
|
|
120
|
+
filter: string;
|
|
121
|
+
resetFilter: string;
|
|
122
|
+
changeLocale: string;
|
|
123
|
+
en: string;
|
|
124
|
+
fr: string;
|
|
125
|
+
ru: string;
|
|
126
|
+
de: string;
|
|
127
|
+
clearButton: string;
|
|
128
|
+
addElement: string;
|
|
129
|
+
defaultOrder: string;
|
|
130
|
+
ascOrder: string;
|
|
131
|
+
descOrder: string;
|
|
132
|
+
showMinorColumns: string;
|
|
133
|
+
otherCommentTitle: string;
|
|
134
|
+
showPercentages: string;
|
|
135
|
+
hidePercentages: string;
|
|
136
|
+
pdfDownloadCaption: string;
|
|
137
|
+
xlsxDownloadCaption: string;
|
|
138
|
+
csvDownloadCaption: string;
|
|
139
|
+
saveDiagramAsPNG: string;
|
|
140
|
+
hideEmptyAnswers: string;
|
|
141
|
+
showEmptyAnswers: string;
|
|
142
|
+
"topNValueText-1": string;
|
|
143
|
+
topNValueText5: string;
|
|
144
|
+
topNValueText10: string;
|
|
145
|
+
topNValueText20: string;
|
|
146
|
+
hideMissingAnswers: string;
|
|
147
|
+
showMissingAnswers: string;
|
|
148
|
+
missingAnswersLabel: string;
|
|
149
|
+
noVisualizerForQuestion: string;
|
|
150
|
+
noResults: string;
|
|
151
|
+
showPerValues: string;
|
|
152
|
+
showPerColumns: string;
|
|
153
|
+
answer: string;
|
|
154
|
+
percent: string;
|
|
155
|
+
responses: string;
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
declare module "localization/farsi" {
|
|
159
|
+
export var farsiStrings: {
|
|
160
|
+
groupButton: string;
|
|
161
|
+
ungroupButton: string;
|
|
162
|
+
selectButton: string;
|
|
163
|
+
hideColumn: string;
|
|
164
|
+
showColumn: string;
|
|
165
|
+
moveToDetail: string;
|
|
166
|
+
showAsColumn: string;
|
|
167
|
+
visualizer_text: string;
|
|
168
|
+
visualizer_wordcloud: string;
|
|
169
|
+
chartType_bar: string;
|
|
170
|
+
chartType_pie: string;
|
|
171
|
+
chartType_scatter: string;
|
|
172
|
+
chartType_gauge: string;
|
|
173
|
+
chartType_bullet: string;
|
|
174
|
+
hideButton: string;
|
|
175
|
+
resetFilter: string;
|
|
176
|
+
clearButton: string;
|
|
177
|
+
addElement: string;
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
declare module "localization/french" {
|
|
181
|
+
export var frenchStrings: {
|
|
182
|
+
groupButton: string;
|
|
183
|
+
ungroupButton: string;
|
|
184
|
+
selectButton: string;
|
|
185
|
+
hideColumn: string;
|
|
186
|
+
showColumn: string;
|
|
187
|
+
makePrivateColumn: string;
|
|
188
|
+
makePublicColumn: string;
|
|
189
|
+
moveToDetail: string;
|
|
190
|
+
showAsColumn: string;
|
|
191
|
+
visualizer_text: string;
|
|
192
|
+
visualizer_wordcloud: string;
|
|
193
|
+
chartType_bar: string;
|
|
194
|
+
chartType_stackedbar: string;
|
|
195
|
+
chartType_doughnut: string;
|
|
196
|
+
chartType_pie: string;
|
|
197
|
+
chartType_scatter: string;
|
|
198
|
+
chartType_gauge: string;
|
|
199
|
+
chartType_bullet: string;
|
|
200
|
+
filter: string;
|
|
201
|
+
hideButton: string;
|
|
202
|
+
resetFilter: string;
|
|
203
|
+
clearButton: string;
|
|
204
|
+
addElement: string;
|
|
205
|
+
defaultOrder: string;
|
|
206
|
+
ascOrder: string;
|
|
207
|
+
descOrder: string;
|
|
208
|
+
showMinorColumns: string;
|
|
209
|
+
otherCommentTitle: string;
|
|
210
|
+
noVisualizerForQuestion: string;
|
|
211
|
+
noResults: string;
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
declare module "localization/norwegian" {
|
|
215
|
+
export var norwegianStrings: {
|
|
216
|
+
groupButton: string;
|
|
217
|
+
ungroupButton: string;
|
|
218
|
+
selectButton: string;
|
|
219
|
+
hideColumn: string;
|
|
220
|
+
showColumn: string;
|
|
221
|
+
makePrivateColumn: string;
|
|
222
|
+
makePublicColumn: string;
|
|
223
|
+
moveToDetail: string;
|
|
224
|
+
showAsColumn: string;
|
|
225
|
+
filterPlaceholder: string;
|
|
226
|
+
removeRows: string;
|
|
227
|
+
showLabel: string;
|
|
228
|
+
entriesLabel: string;
|
|
229
|
+
visualizer_text: string;
|
|
230
|
+
visualizer_wordcloud: string;
|
|
231
|
+
chartType_bar: string;
|
|
232
|
+
chartType_stackedbar: string;
|
|
233
|
+
chartType_doughnut: string;
|
|
234
|
+
chartType_pie: string;
|
|
235
|
+
chartType_scatter: string;
|
|
236
|
+
chartType_gauge: string;
|
|
237
|
+
chartType_bullet: string;
|
|
238
|
+
hideButton: string;
|
|
239
|
+
makePrivateButton: string;
|
|
240
|
+
makePublicButton: string;
|
|
241
|
+
showButton: string;
|
|
242
|
+
resetFilter: string;
|
|
243
|
+
changeLocale: string;
|
|
244
|
+
clearButton: string;
|
|
245
|
+
addElement: string;
|
|
246
|
+
defaultOrder: string;
|
|
247
|
+
ascOrder: string;
|
|
248
|
+
descOrder: string;
|
|
249
|
+
showMinorColumns: string;
|
|
250
|
+
otherCommentTitle: string;
|
|
251
|
+
showPercentages: string;
|
|
252
|
+
hidePercentages: string;
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
declare module "localization/portuguese" {
|
|
256
|
+
export var portugueseStrings: {
|
|
257
|
+
groupButton: string;
|
|
258
|
+
ungroupButton: string;
|
|
259
|
+
selectButton: string;
|
|
260
|
+
hideColumn: string;
|
|
261
|
+
showColumn: string;
|
|
262
|
+
makePrivateColumn: string;
|
|
263
|
+
makePublicColumn: string;
|
|
264
|
+
moveToDetail: string;
|
|
265
|
+
showAsColumn: string;
|
|
266
|
+
filterPlaceholder: string;
|
|
267
|
+
removeRows: string;
|
|
268
|
+
showLabel: string;
|
|
269
|
+
entriesLabel: string;
|
|
270
|
+
visualizer_text: string;
|
|
271
|
+
chartType_bar: string;
|
|
272
|
+
chartType_stackedbar: string;
|
|
273
|
+
chartType_doughnut: string;
|
|
274
|
+
chartType_pie: string;
|
|
275
|
+
chartType_scatter: string;
|
|
276
|
+
chartType_gauge: string;
|
|
277
|
+
chartType_bullet: string;
|
|
278
|
+
hideButton: string;
|
|
279
|
+
makePrivateButton: string;
|
|
280
|
+
makePublicButton: string;
|
|
281
|
+
showButton: string;
|
|
282
|
+
filter: string;
|
|
283
|
+
resetFilter: string;
|
|
284
|
+
changeLocale: string;
|
|
285
|
+
clearButton: string;
|
|
286
|
+
addElement: string;
|
|
287
|
+
defaultOrder: string;
|
|
288
|
+
ascOrder: string;
|
|
289
|
+
descOrder: string;
|
|
290
|
+
showMinorColumns: string;
|
|
291
|
+
otherCommentTitle: string;
|
|
292
|
+
showPercentages: string;
|
|
293
|
+
hidePercentages: string;
|
|
294
|
+
saveDiagramAsPNG: string;
|
|
295
|
+
hideEmptyAnswers: string;
|
|
296
|
+
showEmptyAnswers: string;
|
|
297
|
+
"topNValueText-1": string;
|
|
298
|
+
topNValueText5: string;
|
|
299
|
+
topNValueText10: string;
|
|
300
|
+
topNValueText20: string;
|
|
301
|
+
noVisualizerForQuestion: string;
|
|
302
|
+
noResults: string;
|
|
303
|
+
};
|
|
304
|
+
}
|
|
305
|
+
declare module "localization/russian" {
|
|
306
|
+
export var russianStrings: {
|
|
307
|
+
groupButton: string;
|
|
308
|
+
ungroupButton: string;
|
|
309
|
+
selectButton: string;
|
|
310
|
+
hideColumn: string;
|
|
311
|
+
showColumn: string;
|
|
312
|
+
makePrivateColumn: string;
|
|
313
|
+
makePublicColumn: string;
|
|
314
|
+
moveToDetail: string;
|
|
315
|
+
filter: string;
|
|
316
|
+
showAsColumn: string;
|
|
317
|
+
visualizer_text: string;
|
|
318
|
+
visualizer_wordcloud: string;
|
|
319
|
+
chartType_bar: string;
|
|
320
|
+
chartType_stackedbar: string;
|
|
321
|
+
chartType_doughnut: string;
|
|
322
|
+
chartType_pie: string;
|
|
323
|
+
chartType_scatter: string;
|
|
324
|
+
chartType_gauge: string;
|
|
325
|
+
chartType_bullet: string;
|
|
326
|
+
hideButton: string;
|
|
327
|
+
showButton: string;
|
|
328
|
+
resetFilter: string;
|
|
329
|
+
changeLocale: string;
|
|
330
|
+
clearButton: string;
|
|
331
|
+
addElement: string;
|
|
332
|
+
defaultOrder: string;
|
|
333
|
+
ascOrder: string;
|
|
334
|
+
descOrder: string;
|
|
335
|
+
showMinorColumns: string;
|
|
336
|
+
otherCommentTitle: string;
|
|
337
|
+
noVisualizerForQuestion: string;
|
|
338
|
+
noResults: string;
|
|
339
|
+
};
|
|
340
|
+
}
|
|
341
|
+
declare module "localization/dutch" {
|
|
342
|
+
export var dutchStrings: {
|
|
343
|
+
groupButton: string;
|
|
344
|
+
ungroupButton: string;
|
|
345
|
+
selectButton: string;
|
|
346
|
+
hideColumn: string;
|
|
347
|
+
showColumn: string;
|
|
348
|
+
makePrivateColumn: string;
|
|
349
|
+
makePublicColumn: string;
|
|
350
|
+
moveToDetail: string;
|
|
351
|
+
showAsColumn: string;
|
|
352
|
+
filterPlaceholder: string;
|
|
353
|
+
removeRows: string;
|
|
354
|
+
showLabel: string;
|
|
355
|
+
entriesLabel: string;
|
|
356
|
+
visualizer_text: string;
|
|
357
|
+
visualizer_wordcloud: string;
|
|
358
|
+
chartType_bar: string;
|
|
359
|
+
chartType_stackedbar: string;
|
|
360
|
+
chartType_doughnut: string;
|
|
361
|
+
chartType_pie: string;
|
|
362
|
+
chartType_scatter: string;
|
|
363
|
+
chartType_gauge: string;
|
|
364
|
+
chartType_bullet: string;
|
|
365
|
+
hideButton: string;
|
|
366
|
+
makePrivateButton: string;
|
|
367
|
+
makePublicButton: string;
|
|
368
|
+
showButton: string;
|
|
369
|
+
resetFilter: string;
|
|
370
|
+
changeLocale: string;
|
|
371
|
+
clearButton: string;
|
|
372
|
+
addElement: string;
|
|
373
|
+
defaultOrder: string;
|
|
374
|
+
ascOrder: string;
|
|
375
|
+
descOrder: string;
|
|
376
|
+
showMinorColumns: string;
|
|
377
|
+
otherCommentTitle: string;
|
|
378
|
+
showPercentages: string;
|
|
379
|
+
hidePercentages: string;
|
|
380
|
+
pdfDownloadCaption: string;
|
|
381
|
+
xlsxDownloadCaption: string;
|
|
382
|
+
csvDownloadCaption: string;
|
|
383
|
+
saveDiagramAsPNG: string;
|
|
384
|
+
hideEmptyAnswers: string;
|
|
385
|
+
showEmptyAnswers: string;
|
|
386
|
+
"topNValueText-1": string;
|
|
387
|
+
topNValueText5: string;
|
|
388
|
+
topNValueText10: string;
|
|
389
|
+
topNValueText20: string;
|
|
390
|
+
};
|
|
391
|
+
}
|
|
392
|
+
declare module "localization/spanish" {
|
|
393
|
+
export var spanishStrings: {
|
|
394
|
+
ungroupButton: string;
|
|
395
|
+
selectButton: string;
|
|
396
|
+
hideColumn: string;
|
|
397
|
+
showColumn: string;
|
|
398
|
+
makePrivateColumn: string;
|
|
399
|
+
makePublicColumn: string;
|
|
400
|
+
moveToDetail: string;
|
|
401
|
+
showAsColumn: string;
|
|
402
|
+
filterPlaceholder: string;
|
|
403
|
+
removeRows: string;
|
|
404
|
+
showLabel: string;
|
|
405
|
+
entryLabel: string;
|
|
406
|
+
visualizer_text: string;
|
|
407
|
+
visualizer_wordcloud: string;
|
|
408
|
+
chartType_bar: string;
|
|
409
|
+
chartType_stackedbar: string;
|
|
410
|
+
chartType_doughnut: string;
|
|
411
|
+
chartType_pie: string;
|
|
412
|
+
chartType_scatter: string;
|
|
413
|
+
chartType_gauge: string;
|
|
414
|
+
chartType_bullet: string;
|
|
415
|
+
hideButton: string;
|
|
416
|
+
makePrivateButton: string;
|
|
417
|
+
makePublicButton: string;
|
|
418
|
+
showButton: string;
|
|
419
|
+
filter: string;
|
|
420
|
+
resetFilter: string;
|
|
421
|
+
changeLocale: string;
|
|
422
|
+
clearButton: string;
|
|
423
|
+
addElement: string;
|
|
424
|
+
defaultOrder: string;
|
|
425
|
+
ascOrder: string;
|
|
426
|
+
descOrder: string;
|
|
427
|
+
showMinorColumns: string;
|
|
428
|
+
otherCommentTitle: string;
|
|
429
|
+
showPercentages: string;
|
|
430
|
+
hidePercentages: string;
|
|
431
|
+
pdfDownloadCaption: string;
|
|
432
|
+
xlsxDownloadCaption: string;
|
|
433
|
+
csvDownloadCaption: string;
|
|
434
|
+
saveDiagramAsPNG: string;
|
|
435
|
+
hideEmptyAnswers: string;
|
|
436
|
+
showEmptyAnswers: string;
|
|
437
|
+
"topNValueText-1": string;
|
|
438
|
+
topNValueText5: string;
|
|
439
|
+
topNValueText10: string;
|
|
440
|
+
topNValueText20: string;
|
|
441
|
+
noVisualizerForQuestion: string;
|
|
442
|
+
noResults: string;
|
|
443
|
+
};
|
|
444
|
+
}
|
|
445
|
+
declare module "localization/italian" {
|
|
446
|
+
export var italianStrings: {
|
|
447
|
+
groupButton: string;
|
|
448
|
+
ungroupButton: string;
|
|
449
|
+
selectButton: string;
|
|
450
|
+
hideColumn: string;
|
|
451
|
+
showColumn: string;
|
|
452
|
+
makePrivateColumn: string;
|
|
453
|
+
makePublicColumn: string;
|
|
454
|
+
moveToDetail: string;
|
|
455
|
+
showAsColumn: string;
|
|
456
|
+
filterPlaceholder: string;
|
|
457
|
+
removeRows: string;
|
|
458
|
+
showLabel: string;
|
|
459
|
+
entriesLabel: string;
|
|
460
|
+
visualizer_text: string;
|
|
461
|
+
visualizer_wordcloud: string;
|
|
462
|
+
visualizer_histogram: string;
|
|
463
|
+
visualizer_number: string;
|
|
464
|
+
visualizer_choices: string;
|
|
465
|
+
visualizer_selectBase: string;
|
|
466
|
+
chartType_bar: string;
|
|
467
|
+
chartType_vbar: string;
|
|
468
|
+
chartType_stackedbar: string;
|
|
469
|
+
chartType_doughnut: string;
|
|
470
|
+
chartType_pie: string;
|
|
471
|
+
chartType_scatter: string;
|
|
472
|
+
chartType_gauge: string;
|
|
473
|
+
chartType_bullet: string;
|
|
474
|
+
hideButton: string;
|
|
475
|
+
makePrivateButton: string;
|
|
476
|
+
makePublicButton: string;
|
|
477
|
+
showButton: string;
|
|
478
|
+
filter: string;
|
|
479
|
+
resetFilter: string;
|
|
480
|
+
changeLocale: string;
|
|
481
|
+
en: string;
|
|
482
|
+
fr: string;
|
|
483
|
+
ru: string;
|
|
484
|
+
de: string;
|
|
485
|
+
clearButton: string;
|
|
486
|
+
addElement: string;
|
|
487
|
+
defaultOrder: string;
|
|
488
|
+
ascOrder: string;
|
|
489
|
+
descOrder: string;
|
|
490
|
+
showMinorColumns: string;
|
|
491
|
+
otherCommentTitle: string;
|
|
492
|
+
showPercentages: string;
|
|
493
|
+
hidePercentages: string;
|
|
494
|
+
pdfDownloadCaption: string;
|
|
495
|
+
xlsxDownloadCaption: string;
|
|
496
|
+
csvDownloadCaption: string;
|
|
497
|
+
saveDiagramAsPNG: string;
|
|
498
|
+
hideEmptyAnswers: string;
|
|
499
|
+
showEmptyAnswers: string;
|
|
500
|
+
"topNValueText-1": string;
|
|
501
|
+
topNValueText5: string;
|
|
502
|
+
topNValueText10: string;
|
|
503
|
+
topNValueText20: string;
|
|
504
|
+
hideMissingAnswers: string;
|
|
505
|
+
showMissingAnswers: string;
|
|
506
|
+
missingAnswersLabel: string;
|
|
507
|
+
noVisualizerForQuestion: string;
|
|
508
|
+
noResults: string;
|
|
509
|
+
showPerValues: string;
|
|
510
|
+
showPerColumns: string;
|
|
511
|
+
answer: string;
|
|
512
|
+
percent: string;
|
|
513
|
+
responses: string;
|
|
34
514
|
};
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
makePrivateColumn: string;
|
|
48
|
-
makePublicColumn: string;
|
|
49
|
-
moveToDetail: string;
|
|
50
|
-
showAsColumn: string;
|
|
51
|
-
filterPlaceholder: string;
|
|
52
|
-
removeRows: string;
|
|
53
|
-
showLabel: string;
|
|
54
|
-
entriesLabel: string;
|
|
55
|
-
visualizer_text: string;
|
|
56
|
-
visualizer_wordcloud: string;
|
|
57
|
-
visualizer_histogram: string;
|
|
58
|
-
visualizer_number: string;
|
|
59
|
-
visualizer_choices: string;
|
|
60
|
-
visualizer_selectBase: string;
|
|
61
|
-
chartType_bar: string;
|
|
62
|
-
chartType_vbar: string;
|
|
63
|
-
chartType_stackedbar: string;
|
|
64
|
-
chartType_doughnut: string;
|
|
65
|
-
chartType_pie: string;
|
|
66
|
-
chartType_scatter: string;
|
|
67
|
-
chartType_gauge: string;
|
|
68
|
-
chartType_bullet: string;
|
|
69
|
-
hideButton: string;
|
|
70
|
-
makePrivateButton: string;
|
|
71
|
-
makePublicButton: string;
|
|
72
|
-
showButton: string;
|
|
73
|
-
filter: string;
|
|
74
|
-
resetFilter: string;
|
|
75
|
-
changeLocale: string;
|
|
76
|
-
en: string;
|
|
77
|
-
fr: string;
|
|
78
|
-
ru: string;
|
|
79
|
-
de: string;
|
|
80
|
-
clearButton: string;
|
|
81
|
-
addElement: string;
|
|
82
|
-
defaultOrder: string;
|
|
83
|
-
ascOrder: string;
|
|
84
|
-
descOrder: string;
|
|
85
|
-
showMinorColumns: string;
|
|
86
|
-
otherCommentTitle: string;
|
|
87
|
-
showPercentages: string;
|
|
88
|
-
hidePercentages: string;
|
|
89
|
-
pdfDownloadCaption: string;
|
|
90
|
-
xlsxDownloadCaption: string;
|
|
91
|
-
csvDownloadCaption: string;
|
|
92
|
-
saveDiagramAsPNG: string;
|
|
93
|
-
hideEmptyAnswers: string;
|
|
94
|
-
showEmptyAnswers: string;
|
|
95
|
-
"topNValueText-1": string;
|
|
96
|
-
topNValueText5: string;
|
|
97
|
-
topNValueText10: string;
|
|
98
|
-
topNValueText20: string;
|
|
99
|
-
hideMissingAnswers: string;
|
|
100
|
-
showMissingAnswers: string;
|
|
101
|
-
missingAnswersLabel: string;
|
|
102
|
-
noVisualizerForQuestion: string;
|
|
103
|
-
noResults: string;
|
|
104
|
-
showPerValues: string;
|
|
105
|
-
showPerColumns: string;
|
|
106
|
-
answer: string;
|
|
107
|
-
percent: string;
|
|
108
|
-
responses: string;
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* Describes data info:
|
|
113
|
-
* dataName - question name, used as a key to obtain question data
|
|
114
|
-
* getValues - function returning an array of all possible values
|
|
115
|
-
* getLabels - function returning an array of human-friendly descriptions for values
|
|
116
|
-
* getSeriesValues - function returning an array of all possible series values
|
|
117
|
-
* getSeriesLabels - function returning an array of human-friendly descriptions for series values
|
|
118
|
-
*/
|
|
119
|
-
export interface IDataInfo {
|
|
515
|
+
}
|
|
516
|
+
declare module "dataProvider" {
|
|
517
|
+
import { Event } from "survey-core";
|
|
518
|
+
/**
|
|
519
|
+
* Describes data info:
|
|
520
|
+
* dataName - question name, used as a key to obtain question data
|
|
521
|
+
* getValues - function returning an array of all possible values
|
|
522
|
+
* getLabels - function returning an array of human-friendly descriptions for values
|
|
523
|
+
* getSeriesValues - function returning an array of all possible series values
|
|
524
|
+
* getSeriesLabels - function returning an array of human-friendly descriptions for series values
|
|
525
|
+
*/
|
|
526
|
+
export interface IDataInfo {
|
|
120
527
|
dataName: string | Array<string>;
|
|
121
528
|
getValues(): Array<any>;
|
|
122
529
|
getLabels(): Array<string>;
|
|
123
530
|
getSeriesValues(): Array<string>;
|
|
124
531
|
getSeriesLabels(): Array<string>;
|
|
125
|
-
}
|
|
126
|
-
export class DataProvider {
|
|
532
|
+
}
|
|
533
|
+
export class DataProvider {
|
|
534
|
+
private _data;
|
|
535
|
+
private _getDataCore;
|
|
127
536
|
static seriesMarkerKey: string;
|
|
537
|
+
private _filteredData;
|
|
538
|
+
private _statisticsCache;
|
|
128
539
|
protected filterValues: {
|
|
129
|
-
|
|
540
|
+
[index: string]: any;
|
|
130
541
|
};
|
|
542
|
+
private getStatisticsCacheKey;
|
|
131
543
|
constructor(_data?: Array<any>, _getDataCore?: (dataInfo: IDataInfo) => number[][]);
|
|
132
544
|
reset(dataInfo?: IDataInfo): void;
|
|
133
545
|
get data(): Array<any>;
|
|
134
546
|
set data(data: Array<any>);
|
|
135
547
|
get filteredData(): {
|
|
136
|
-
|
|
548
|
+
[index: string]: any;
|
|
137
549
|
}[];
|
|
138
550
|
/**
|
|
139
|
-
|
|
140
|
-
|
|
551
|
+
* Sets filter by question name and value.
|
|
552
|
+
*/
|
|
141
553
|
setFilter(questionName: string, selectedValue: any): void;
|
|
142
554
|
protected getDataCore(dataInfo: IDataInfo): number[][] | number[][][];
|
|
143
555
|
/**
|
|
144
|
-
|
|
145
|
-
|
|
556
|
+
* Returns calculated statisctics for the IDataInfo object.
|
|
557
|
+
*/
|
|
146
558
|
getData(dataInfo: IDataInfo): any[];
|
|
147
559
|
/**
|
|
148
|
-
|
|
149
|
-
|
|
560
|
+
* Fires when data has been changed.
|
|
561
|
+
*/
|
|
150
562
|
onDataChanged: Event<(sender: DataProvider, options: any) => any, any>;
|
|
151
563
|
protected raiseDataChanged(): void;
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
declare module "visualizationManager" {
|
|
567
|
+
import { Question } from "survey-core";
|
|
568
|
+
type VisualizerConstructor = new (question: Question, data: Array<{
|
|
569
|
+
[index: string]: any;
|
|
570
|
+
}>, options?: Object) => any;
|
|
571
|
+
/**
|
|
572
|
+
* Visualizers repository. You need to register a visualizer, link it to the question type name in order to visualize the question answers with the certain representation.
|
|
573
|
+
*/
|
|
574
|
+
export class VisualizationManager {
|
|
575
|
+
static alternativesVisualizer: any;
|
|
576
|
+
static vizualizers: {
|
|
577
|
+
[index: string]: Array<VisualizerConstructor>;
|
|
578
|
+
};
|
|
579
|
+
/**
|
|
580
|
+
* Register visualizer (constructor) for question type.
|
|
581
|
+
*/
|
|
582
|
+
static registerVisualizer(typeName: string, constructor: VisualizerConstructor): void;
|
|
583
|
+
/**
|
|
584
|
+
* Unregister visualizer (constructor) for question type.
|
|
585
|
+
*/
|
|
586
|
+
static unregisterVisualizer(typeName: string, constructor: VisualizerConstructor): void;
|
|
587
|
+
/**
|
|
588
|
+
* Unregister visualizer (constructor) for all question types.
|
|
589
|
+
*/
|
|
590
|
+
static unregisterVisualizerForAll(constructor: VisualizerConstructor): void;
|
|
591
|
+
/**
|
|
592
|
+
* Get visualizers (constructors) for question type.
|
|
593
|
+
*/
|
|
594
|
+
static getVisualizersByType(typeName: string): VisualizerConstructor[];
|
|
595
|
+
/**
|
|
596
|
+
* Get visualizers (constructors) for question type.
|
|
597
|
+
*/
|
|
598
|
+
static getAlternativesVisualizer(): any;
|
|
599
|
+
/**
|
|
600
|
+
* Register visualizer (constructor) for question type.
|
|
601
|
+
*/
|
|
602
|
+
static registerAlternativesVisualizer(constructor: any): void;
|
|
603
|
+
}
|
|
152
604
|
}
|
|
153
|
-
|
|
154
|
-
import "
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
605
|
+
declare module "visualizerFactory" {
|
|
606
|
+
import { Question } from "survey-core";
|
|
607
|
+
import { VisualizerBase } from "visualizerBase";
|
|
608
|
+
/**
|
|
609
|
+
* Visualizers factory. Creates visualizer for the given question.
|
|
610
|
+
*/
|
|
611
|
+
export class VisualizerFactory {
|
|
612
|
+
/**
|
|
613
|
+
* Create visualizer by question. You can pass data and options to the created visualizer as well.
|
|
614
|
+
* If more then one visualizer are registered for the question, then they are combined using wrapper for showing alternative viaualizers.
|
|
615
|
+
*/
|
|
616
|
+
static createVisualizer(question: Question, data: Array<{
|
|
617
|
+
[index: string]: any;
|
|
618
|
+
}>, options?: {
|
|
619
|
+
[index: string]: any;
|
|
620
|
+
}): VisualizerBase;
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
declare module "utils/index" {
|
|
624
|
+
export class DocumentHelper {
|
|
625
|
+
static createSelector(options: Array<{
|
|
626
|
+
value: string;
|
|
627
|
+
text: string;
|
|
628
|
+
}>, isSelected: (option: {
|
|
629
|
+
value: string;
|
|
630
|
+
text: string;
|
|
631
|
+
}) => boolean, handler: (e: any) => void): HTMLDivElement;
|
|
632
|
+
static createButton(handler: (e: any) => void, text?: string, className?: string): HTMLElement;
|
|
633
|
+
static createElement(tagName: string, className?: string, attrs?: any): HTMLElement;
|
|
634
|
+
static createSvgElement(path: string): SVGSVGElement;
|
|
635
|
+
static createSvgButton(path: string): HTMLButtonElement;
|
|
636
|
+
static createSvgToggleButton(svgPath1: string, svPpath2: string, text1: string, text2: string, handler1: (e: any) => any, handler2: (e: any) => any, state?: string, className?: string): HTMLElement;
|
|
637
|
+
static createInput(className: string, placeholder?: string, defaultValue?: string): HTMLInputElement;
|
|
638
|
+
}
|
|
639
|
+
export var options: {
|
|
640
|
+
runningInBrowser: boolean;
|
|
641
|
+
};
|
|
642
|
+
export function allowDomRendering(): boolean;
|
|
643
|
+
export function createCommercialLicenseLink(): HTMLElement;
|
|
644
|
+
export class DataHelper {
|
|
645
|
+
static zipArrays(...arrays: any[]): any[][];
|
|
646
|
+
static unzipArrays(zipArray: any[][]): any[][];
|
|
647
|
+
static sortDictionary(keys: any[], values: any[], desc: boolean): {
|
|
648
|
+
keys: any[];
|
|
649
|
+
values: any[];
|
|
650
|
+
};
|
|
651
|
+
static toPercentage(value: number, maxValue: number): number;
|
|
652
|
+
}
|
|
653
|
+
export function createLinksContainer(links: Array<{
|
|
654
|
+
name: string;
|
|
655
|
+
content: any;
|
|
656
|
+
}>): HTMLElement;
|
|
657
|
+
export function createImagesContainer(links: Array<{
|
|
658
|
+
name: string;
|
|
659
|
+
content: any;
|
|
660
|
+
}>): HTMLElement;
|
|
661
|
+
}
|
|
662
|
+
declare module "visualizerBase" {
|
|
663
|
+
import { Question } from "survey-core";
|
|
664
|
+
import { IDataInfo, DataProvider } from "dataProvider";
|
|
665
|
+
import { Event } from "survey-core";
|
|
666
|
+
import "./visualizerBase.scss";
|
|
667
|
+
/**
|
|
668
|
+
* VisualizerBase is a base object for all visuzlizers. It responsible for the rendering and destroying visualizer.
|
|
669
|
+
*
|
|
670
|
+
* constructor parameters:
|
|
671
|
+
* question - a survey question to visualize,
|
|
672
|
+
* data - an array of answers in format of survey result,
|
|
673
|
+
* options - object with the following options,
|
|
674
|
+
* name - visualizer name
|
|
675
|
+
*
|
|
676
|
+
* options:
|
|
677
|
+
* seriesValues - an array of series values in data to group data by series,
|
|
678
|
+
* seriesLabels - labels for series to display, if not passed the seriesValues are used as labels,
|
|
679
|
+
* survey - pass survey instance to use localses from the survey JSON,
|
|
680
|
+
* dataProvider - dataProvider for this visualizer,
|
|
681
|
+
*
|
|
682
|
+
*/
|
|
683
|
+
export class VisualizerBase implements IDataInfo {
|
|
172
684
|
question: Question;
|
|
173
685
|
options: {
|
|
174
|
-
|
|
686
|
+
[index: string]: any;
|
|
175
687
|
};
|
|
688
|
+
private _name?;
|
|
689
|
+
private _showHeader;
|
|
690
|
+
private _footerVisualizer;
|
|
691
|
+
private _dataProvider;
|
|
176
692
|
protected labelTruncateLength: number;
|
|
177
693
|
protected renderResult: HTMLElement;
|
|
178
694
|
protected toolbarContainer: HTMLElement;
|
|
@@ -181,399 +697,627 @@ export class VisualizerBase implements IDataInfo {
|
|
|
181
697
|
protected _supportSelection: boolean;
|
|
182
698
|
static otherCommentCollapsed: boolean;
|
|
183
699
|
/**
|
|
184
|
-
|
|
185
|
-
|
|
700
|
+
* The event is fired right after a visualizer's content is rendered in DOM.
|
|
701
|
+
**/
|
|
186
702
|
onAfterRender: Event<(sender: VisualizerBase, options: any) => any, any>;
|
|
187
703
|
protected afterRender(contentContainer: HTMLElement): void;
|
|
188
704
|
protected toolbarItemCreators: {
|
|
189
|
-
|
|
705
|
+
[name: string]: (toolbar?: HTMLDivElement) => HTMLElement;
|
|
190
706
|
};
|
|
191
707
|
constructor(question: Question, data: Array<{
|
|
192
|
-
|
|
708
|
+
[index: string]: any;
|
|
193
709
|
}>, options?: {
|
|
194
|
-
|
|
710
|
+
[index: string]: any;
|
|
195
711
|
}, _name?: string);
|
|
196
712
|
protected get questionOptions(): any;
|
|
197
713
|
/**
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
714
|
+
* This method is called then data has been changed for some reason, e.g. filter was set.
|
|
715
|
+
* This method should be overriden if descendant computes own statistics or process data somehow.
|
|
716
|
+
*/
|
|
201
717
|
protected onDataChanged(): void;
|
|
202
718
|
/**
|
|
203
|
-
|
|
204
|
-
|
|
719
|
+
* Name of the data field of data object from the data array.
|
|
720
|
+
*/
|
|
205
721
|
get dataName(): string | Array<string>;
|
|
206
722
|
/**
|
|
207
|
-
|
|
208
|
-
|
|
723
|
+
* Indicates whether visualizer has footer. Usually it is true then a question has comment or choices question has other item.
|
|
724
|
+
*/
|
|
209
725
|
get hasFooter(): boolean;
|
|
210
726
|
protected createVisualizer(question: Question): VisualizerBase;
|
|
211
727
|
/**
|
|
212
|
-
|
|
213
|
-
|
|
728
|
+
* Footer visualizer getter.
|
|
729
|
+
*/
|
|
214
730
|
get footerVisualizer(): VisualizerBase;
|
|
215
731
|
/**
|
|
216
|
-
|
|
217
|
-
|
|
732
|
+
* Indicates whether visualizer supports selection. Visualizers of questions with choices allow to select choice by clicking on the diagram bar and filter other data for the selected item.
|
|
733
|
+
*/
|
|
218
734
|
get supportSelection(): boolean;
|
|
219
735
|
/**
|
|
220
|
-
|
|
221
|
-
|
|
736
|
+
* Series values getter. Some questions (used in matrices) should be grouped by matrix rows. This groups are called series.
|
|
737
|
+
*/
|
|
222
738
|
getSeriesValues(): Array<string>;
|
|
223
739
|
/**
|
|
224
|
-
|
|
225
|
-
|
|
740
|
+
* Series labels getter. Some questions (used in matrices) should be grouped by matrix rows. This groups are called series.
|
|
741
|
+
*/
|
|
226
742
|
getSeriesLabels(): Array<string>;
|
|
227
743
|
/**
|
|
228
|
-
|
|
229
|
-
|
|
744
|
+
* Available values of question answers (available choices).
|
|
745
|
+
*/
|
|
230
746
|
getValues(): Array<any>;
|
|
231
747
|
/**
|
|
232
|
-
|
|
233
|
-
|
|
748
|
+
* Available labels of question answers (human readable representation of available choices).
|
|
749
|
+
*/
|
|
234
750
|
getLabels(): Array<string>;
|
|
235
751
|
/**
|
|
236
|
-
|
|
237
|
-
|
|
752
|
+
* Registers creator of visualizer toolbar item.
|
|
753
|
+
*/
|
|
238
754
|
registerToolbarItem(name: string, creator: (toolbar?: HTMLDivElement) => HTMLElement): void;
|
|
239
755
|
/**
|
|
240
|
-
|
|
241
|
-
|
|
756
|
+
* The name of the visaulizer.
|
|
757
|
+
*/
|
|
242
758
|
get name(): string;
|
|
243
759
|
/**
|
|
244
|
-
|
|
245
|
-
|
|
760
|
+
* The actual data of the visaulizer.
|
|
761
|
+
*/
|
|
246
762
|
protected get data(): {
|
|
247
|
-
|
|
763
|
+
[index: string]: any;
|
|
248
764
|
}[];
|
|
249
765
|
/**
|
|
250
|
-
|
|
251
|
-
|
|
766
|
+
* The data provider is used by the visaulizer.
|
|
767
|
+
*/
|
|
252
768
|
protected get dataProvider(): DataProvider;
|
|
253
769
|
/**
|
|
254
|
-
|
|
255
|
-
|
|
770
|
+
* Updates visualizer data.
|
|
771
|
+
*/
|
|
256
772
|
updateData(data: Array<{
|
|
257
|
-
|
|
773
|
+
[index: string]: any;
|
|
258
774
|
}>): void;
|
|
259
775
|
onUpdate: () => void;
|
|
260
776
|
invokeOnUpdate(): void;
|
|
261
777
|
/**
|
|
262
|
-
|
|
263
|
-
|
|
778
|
+
* Destroys visualizer.
|
|
779
|
+
*/
|
|
264
780
|
destroy(): void;
|
|
265
781
|
/**
|
|
266
|
-
|
|
267
|
-
|
|
782
|
+
* Method for clearing all rendered elements from outside.
|
|
783
|
+
*/
|
|
268
784
|
clear(): void;
|
|
269
785
|
protected createToolbarItems(toolbar: HTMLDivElement): void;
|
|
270
786
|
/**
|
|
271
|
-
|
|
272
|
-
|
|
787
|
+
* Destroys visualizer toolbar.
|
|
788
|
+
*/
|
|
273
789
|
protected destroyToolbar(container: HTMLElement): void;
|
|
274
790
|
/**
|
|
275
|
-
|
|
276
|
-
|
|
791
|
+
* Renderss visualizer toolbar.
|
|
792
|
+
*/
|
|
277
793
|
protected renderToolbar(container: HTMLElement): void;
|
|
278
794
|
/**
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
795
|
+
* Destroys visualizer content.
|
|
796
|
+
* Usually overriden in descendants.
|
|
797
|
+
*/
|
|
282
798
|
protected destroyContent(container: HTMLElement): void;
|
|
283
799
|
/**
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
800
|
+
* Renders visualizer content.
|
|
801
|
+
* Usually overriden in descendants.
|
|
802
|
+
*/
|
|
287
803
|
protected renderContent(container: HTMLElement): void;
|
|
288
804
|
/**
|
|
289
|
-
|
|
290
|
-
|
|
805
|
+
* Destroys visualizer footer.
|
|
806
|
+
*/
|
|
291
807
|
protected destroyFooter(container: HTMLElement): void;
|
|
292
808
|
/**
|
|
293
|
-
|
|
294
|
-
|
|
809
|
+
* Renders visualizer footer.
|
|
810
|
+
*/
|
|
295
811
|
protected renderFooter(container: HTMLElement): void;
|
|
296
812
|
/**
|
|
297
|
-
|
|
298
|
-
|
|
813
|
+
* Renders visualizer in the given container.
|
|
814
|
+
*/
|
|
299
815
|
render(targetElement: HTMLElement | string): void;
|
|
300
816
|
/**
|
|
301
|
-
|
|
302
|
-
|
|
817
|
+
* Redraws visualizer and all inner content.
|
|
818
|
+
*/
|
|
303
819
|
refresh(): void;
|
|
304
820
|
protected processText(text: string): string;
|
|
305
821
|
getRandomColor(): any;
|
|
822
|
+
private _backgroundColor;
|
|
306
823
|
get backgroundColor(): string;
|
|
307
824
|
set backgroundColor(value: string);
|
|
308
825
|
protected getBackgroundColorCore(): string;
|
|
309
826
|
protected setBackgroundColorCore(color: string): void;
|
|
310
827
|
static customColors: string[];
|
|
828
|
+
private static colors;
|
|
311
829
|
getColors(count?: number): any;
|
|
312
830
|
get showHeader(): boolean;
|
|
313
831
|
set showHeader(newValue: boolean);
|
|
314
832
|
/**
|
|
315
|
-
|
|
316
|
-
|
|
833
|
+
* Returns data to be used in the visualizer.
|
|
834
|
+
*/
|
|
317
835
|
getData(): any;
|
|
318
836
|
getState(): any;
|
|
319
837
|
setState(state: any): void;
|
|
838
|
+
}
|
|
320
839
|
}
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
static
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
840
|
+
declare module "number" {
|
|
841
|
+
import { Question } from "survey-core";
|
|
842
|
+
import { VisualizerBase } from "visualizerBase";
|
|
843
|
+
export class NumberModel extends VisualizerBase {
|
|
844
|
+
private _resultAverage;
|
|
845
|
+
private _resultMin;
|
|
846
|
+
private _resultMax;
|
|
847
|
+
static stepsCount: number;
|
|
848
|
+
static generateTextsCallback: (question: Question, maxValue: number, minValue: number, stepsCount: number, texts: string[]) => string[];
|
|
849
|
+
protected chartTypes: Array<string>;
|
|
850
|
+
chartType: String;
|
|
851
|
+
static showAsPercentage: boolean;
|
|
852
|
+
constructor(question: Question, data: Array<{
|
|
853
|
+
[index: string]: any;
|
|
854
|
+
}>, options?: {
|
|
855
|
+
[index: string]: any;
|
|
856
|
+
}, name?: string);
|
|
857
|
+
protected onDataChanged(): void;
|
|
858
|
+
protected onChartTypeChanged(): void;
|
|
859
|
+
protected setChartType(chartType: string): void;
|
|
860
|
+
destroy(): void;
|
|
861
|
+
generateText(maxValue: number, minValue: number, stepsCount: number): any;
|
|
862
|
+
generateValues(maxValue: number, stepsCount: number): any[];
|
|
863
|
+
generateColors(maxValue: number, minValue: number, stepsCount: number): any[];
|
|
864
|
+
getData(): number[];
|
|
865
|
+
}
|
|
866
|
+
}
|
|
867
|
+
declare module "selectBase" {
|
|
868
|
+
import { Question, ItemValue, Event } from "survey-core";
|
|
869
|
+
import { VisualizerBase } from "visualizerBase";
|
|
870
|
+
export interface IVisualizerWithSelection {
|
|
871
|
+
selection: ItemValue;
|
|
872
|
+
onDataItemSelected: (selectedValue: any, selectedText: string) => void;
|
|
873
|
+
setSelection(item: ItemValue): void;
|
|
874
|
+
}
|
|
875
|
+
export interface IAnswersData {
|
|
876
|
+
datasets: Array<Array<any>>;
|
|
877
|
+
labels: Array<string>;
|
|
878
|
+
colors: Array<string>;
|
|
879
|
+
texts: Array<Array<any>>;
|
|
880
|
+
seriesLabels: Array<string>;
|
|
881
|
+
}
|
|
882
|
+
export class SelectBase extends VisualizerBase implements IVisualizerWithSelection {
|
|
883
|
+
protected selectedItem: ItemValue;
|
|
884
|
+
private choicesOrderSelector;
|
|
885
|
+
private showPercentageBtn;
|
|
886
|
+
private emptyAnswersBtn;
|
|
887
|
+
private transposeDataBtn;
|
|
888
|
+
private topNSelector;
|
|
889
|
+
private _showPercentages;
|
|
890
|
+
private _showOnlyPercentages;
|
|
891
|
+
private _percentagePrecision;
|
|
892
|
+
protected _answersOrder: string;
|
|
893
|
+
protected _supportSelection: boolean;
|
|
894
|
+
private _hideEmptyAnswers;
|
|
895
|
+
private _topN;
|
|
896
|
+
static topNValuesDefaults: number[];
|
|
897
|
+
topNValues: any[];
|
|
898
|
+
private _transposeData;
|
|
899
|
+
private _showMissingAnswers;
|
|
900
|
+
private missingAnswersBtn;
|
|
901
|
+
constructor(question: Question, data: Array<{
|
|
902
|
+
[index: string]: any;
|
|
903
|
+
}>, options?: any, name?: string);
|
|
904
|
+
protected chartTypes: string[];
|
|
905
|
+
chartType: string;
|
|
906
|
+
private updateEmptyAnswersBtn;
|
|
907
|
+
private updateTransposeDataBtn;
|
|
908
|
+
private updateOrderSelector;
|
|
909
|
+
private updateShowPercentageBtn;
|
|
910
|
+
private updateTopNSelector;
|
|
911
|
+
private updateMissingAnswersBtn;
|
|
912
|
+
protected onChartTypeChanged(): void;
|
|
913
|
+
protected setChartType(chartType: string): void;
|
|
914
|
+
getSelectedItemByText(itemText: string): any;
|
|
915
|
+
setSelection(item: ItemValue): void;
|
|
916
|
+
get selection(): ItemValue;
|
|
917
|
+
get showOnlyPercentages(): boolean;
|
|
918
|
+
set showOnlyPercentages(val: boolean);
|
|
919
|
+
get showPercentages(): boolean;
|
|
920
|
+
set showPercentages(val: boolean);
|
|
921
|
+
get answersOrder(): string;
|
|
922
|
+
set answersOrder(value: string);
|
|
923
|
+
get hideEmptyAnswers(): boolean;
|
|
924
|
+
set hideEmptyAnswers(value: boolean);
|
|
925
|
+
get transposeData(): boolean;
|
|
926
|
+
set transposeData(value: boolean);
|
|
927
|
+
get topN(): number;
|
|
928
|
+
set topN(value: number);
|
|
929
|
+
protected isSupportMissingAnswers(): boolean;
|
|
930
|
+
get showMissingAnswers(): boolean;
|
|
931
|
+
set showMissingAnswers(value: boolean);
|
|
932
|
+
refreshContent(): void;
|
|
933
|
+
onDataItemSelected: (selectedValue: any, selectedText: string) => void;
|
|
934
|
+
get showValuesInOriginalOrder(): boolean;
|
|
935
|
+
valuesSource(): Array<ItemValue>;
|
|
936
|
+
getValues(): Array<any>;
|
|
937
|
+
getLabels(): Array<string>;
|
|
938
|
+
getPercentages(): Array<Array<number>>;
|
|
939
|
+
protected hideEmptyAnswersInData(answersData: IAnswersData): IAnswersData;
|
|
940
|
+
protected answersDataReady(answersData: IAnswersData): any;
|
|
349
941
|
/**
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
942
|
+
* Fires when answer data has been combined before they passed to draw graph.
|
|
943
|
+
* options - the answers data object containing: datasets, labels, colors, additional texts (percentage).
|
|
944
|
+
* options fields can be modified
|
|
945
|
+
*/
|
|
946
|
+
onAnswersDataReady: Event<(sender: SelectBase, options: any) => any, any>;
|
|
353
947
|
/**
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
948
|
+
* Returns object with all infotmation for data visualization: datasets, labels, colors, additional texts (percentage).
|
|
949
|
+
*/
|
|
950
|
+
getAnswersData(): IAnswersData;
|
|
951
|
+
protected transpose(data: Array<Array<number>>): Array<Array<number>>;
|
|
952
|
+
private static _stateProperties;
|
|
953
|
+
getState(): any;
|
|
954
|
+
setState(state: any): void;
|
|
955
|
+
}
|
|
357
956
|
}
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
import "
|
|
361
|
-
export
|
|
362
|
-
|
|
957
|
+
declare module "matrix" {
|
|
958
|
+
import { ItemValue, QuestionMatrixModel, Question } from "survey-core";
|
|
959
|
+
import { IAnswersData, SelectBase } from "selectBase";
|
|
960
|
+
export class Matrix extends SelectBase {
|
|
961
|
+
constructor(question: Question, data: Array<{
|
|
962
|
+
[index: string]: any;
|
|
963
|
+
}>, options?: Object, name?: string);
|
|
964
|
+
protected get matrixQuestion(): QuestionMatrixModel;
|
|
965
|
+
protected isSupportMissingAnswers(): boolean;
|
|
966
|
+
getSeriesValues(): Array<string>;
|
|
967
|
+
getSeriesLabels(): Array<string>;
|
|
968
|
+
getSelectedItemByText(itemText: string): any;
|
|
969
|
+
valuesSource(): Array<ItemValue>;
|
|
970
|
+
private getHasAnswersInAllSeriesArray;
|
|
971
|
+
private getHasAnswersInSeries;
|
|
972
|
+
protected hideEmptyAnswersInData(answersData: IAnswersData): IAnswersData;
|
|
973
|
+
getData(): any[];
|
|
974
|
+
}
|
|
975
|
+
}
|
|
976
|
+
declare module "boolean" {
|
|
977
|
+
import { Question, QuestionBooleanModel } from "survey-core";
|
|
978
|
+
import { ItemValue } from "survey-core";
|
|
979
|
+
import { SelectBase } from "selectBase";
|
|
980
|
+
export class BooleanModel extends SelectBase {
|
|
981
|
+
protected chartTypes: string[];
|
|
982
|
+
chartType: string;
|
|
983
|
+
constructor(question: Question, data: Array<{
|
|
984
|
+
[index: string]: any;
|
|
985
|
+
}>, options?: Object, name?: string);
|
|
986
|
+
get booleanQuestion(): QuestionBooleanModel;
|
|
987
|
+
static trueColor: string;
|
|
988
|
+
static falseColor: string;
|
|
989
|
+
getSelectedItemByText(itemText: string): ItemValue;
|
|
990
|
+
getValues(): Array<any>;
|
|
991
|
+
getLabels(): Array<string>;
|
|
992
|
+
}
|
|
993
|
+
}
|
|
994
|
+
declare module "histogram" {
|
|
995
|
+
import { ItemValue, Question } from "survey-core";
|
|
996
|
+
import { SelectBase } from "selectBase";
|
|
997
|
+
export class HistogramModel extends SelectBase {
|
|
998
|
+
protected valueType: "date" | "number";
|
|
999
|
+
private _cachedValues;
|
|
1000
|
+
private _continiousData;
|
|
1001
|
+
private _cachedIntervals;
|
|
1002
|
+
protected chartTypes: string[];
|
|
1003
|
+
chartType: string;
|
|
1004
|
+
static IntervalsCount: number;
|
|
1005
|
+
static UseIntervalsFrom: number;
|
|
1006
|
+
constructor(question: Question, data: Array<{
|
|
1007
|
+
[index: string]: any;
|
|
1008
|
+
}>, options?: Object, name?: string);
|
|
1009
|
+
private reset;
|
|
1010
|
+
getContiniousValue(value: any): number;
|
|
1011
|
+
getString(value: number): string;
|
|
1012
|
+
getSelectedItemByText(itemText: string): ItemValue;
|
|
1013
|
+
/**
|
|
1014
|
+
* Updates visualizer data.
|
|
1015
|
+
*/
|
|
1016
|
+
updateData(data: Array<{
|
|
1017
|
+
[index: string]: any;
|
|
1018
|
+
}>): void;
|
|
1019
|
+
protected onDataChanged(): void;
|
|
1020
|
+
protected getContiniousValues(): {
|
|
1021
|
+
original: any;
|
|
1022
|
+
continious: number;
|
|
1023
|
+
}[];
|
|
1024
|
+
protected isSupportMissingAnswers(): boolean;
|
|
1025
|
+
getValues(): Array<any>;
|
|
1026
|
+
getLabels(): Array<string>;
|
|
1027
|
+
get hasCustomIntervals(): boolean;
|
|
1028
|
+
get intervals(): any;
|
|
1029
|
+
getData(): any;
|
|
1030
|
+
}
|
|
1031
|
+
}
|
|
1032
|
+
declare module "config" {
|
|
1033
|
+
export interface IVisualizerPanelElement {
|
|
1034
|
+
name: string;
|
|
1035
|
+
displayName: string;
|
|
1036
|
+
isVisible: boolean;
|
|
1037
|
+
isPublic: boolean;
|
|
1038
|
+
type?: string;
|
|
1039
|
+
chartType?: string;
|
|
1040
|
+
answersOrder?: string;
|
|
1041
|
+
hideEmptyAnswers?: boolean;
|
|
1042
|
+
topN?: number;
|
|
1043
|
+
}
|
|
1044
|
+
export interface IState {
|
|
1045
|
+
locale?: string;
|
|
1046
|
+
elements?: IVisualizerPanelElement[];
|
|
1047
|
+
}
|
|
1048
|
+
export interface IPermission {
|
|
1049
|
+
name: string;
|
|
1050
|
+
isPublic: boolean;
|
|
1051
|
+
}
|
|
1052
|
+
}
|
|
1053
|
+
declare module "filterInfo" {
|
|
1054
|
+
import { IVisualizerWithSelection } from "selectBase";
|
|
1055
|
+
export class FilterInfo {
|
|
1056
|
+
private _htmlElement;
|
|
1057
|
+
private text;
|
|
1058
|
+
constructor(visualizer: IVisualizerWithSelection);
|
|
1059
|
+
get htmlElement(): HTMLDivElement;
|
|
1060
|
+
update(selection: {
|
|
1061
|
+
value: any;
|
|
1062
|
+
text: string;
|
|
1063
|
+
}): void;
|
|
1064
|
+
}
|
|
363
1065
|
}
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
1066
|
+
declare module "layoutEngine" {
|
|
1067
|
+
export class LayoutEngine {
|
|
1068
|
+
protected _allowed: boolean;
|
|
1069
|
+
constructor(_allowed: boolean);
|
|
1070
|
+
protected startCore(container: HTMLElement): void;
|
|
1071
|
+
protected stopCore(): void;
|
|
1072
|
+
protected updateCore(): void;
|
|
1073
|
+
get allowed(): boolean;
|
|
1074
|
+
start(container: HTMLElement): void;
|
|
1075
|
+
stop(): void;
|
|
1076
|
+
update(): void;
|
|
1077
|
+
add(elements: Array<HTMLElement>, options?: any): void;
|
|
1078
|
+
remove(elements: Array<HTMLElement>, options?: any): void;
|
|
1079
|
+
onMoveCallback: (fromIndex: number, toIndex: number) => void;
|
|
1080
|
+
destroy(): void;
|
|
1081
|
+
}
|
|
1082
|
+
export class MuuriLayoutEngine extends LayoutEngine {
|
|
1083
|
+
private _selector;
|
|
1084
|
+
private _muuri;
|
|
1085
|
+
private _layoutingTimer;
|
|
1086
|
+
constructor(allowed: boolean, _selector: string);
|
|
1087
|
+
protected startCore(container: HTMLElement): void;
|
|
1088
|
+
protected stopCore(): void;
|
|
1089
|
+
protected updateCore(): void;
|
|
1090
|
+
add(elements: Array<HTMLElement>, options?: any): void;
|
|
1091
|
+
remove(elements: Array<HTMLElement>, options?: any): void;
|
|
1092
|
+
}
|
|
1093
|
+
}
|
|
1094
|
+
declare module "visualizationPanel" {
|
|
1095
|
+
import { Event, SurveyModel } from "survey-core";
|
|
1096
|
+
import { VisualizerBase } from "visualizerBase";
|
|
1097
|
+
import { IVisualizerPanelElement, IState, IPermission } from "config";
|
|
1098
|
+
import { LayoutEngine } from "layoutEngine";
|
|
1099
|
+
import { DataProvider } from "dataProvider";
|
|
1100
|
+
import "./visualizationPanel.scss";
|
|
1101
|
+
export interface IVisualizerPanelRenderedElement extends IVisualizerPanelElement {
|
|
1102
|
+
renderedElement?: HTMLElement;
|
|
1103
|
+
}
|
|
1104
|
+
/**
|
|
1105
|
+
* Visualization Panel configuration. Pass it as the third argument to the `VisualizationPanel` constructor:
|
|
1106
|
+
*
|
|
1107
|
+
* ```js
|
|
1108
|
+
* const vizPanel = new SurveyAnalytics.VisualizationPanel(surveyQuestions, surveyResults, vizPanelOptions);
|
|
1109
|
+
* ```
|
|
1110
|
+
*/
|
|
1111
|
+
export interface IVisualizationPanelOptions {
|
|
1112
|
+
/**
|
|
1113
|
+
* The number of label characters after which truncation starts.
|
|
1114
|
+
* Set this property to -1 to disable truncation.
|
|
1115
|
+
*
|
|
1116
|
+
* Default value: 27
|
|
1117
|
+
*/
|
|
378
1118
|
labelTruncateLength?: number;
|
|
379
1119
|
allowMakeQuestionsPrivate?: boolean;
|
|
380
1120
|
seriesValues?: string[];
|
|
381
1121
|
seriesLabels?: string[];
|
|
382
1122
|
useValuesAsLabels?: boolean;
|
|
383
1123
|
/**
|
|
384
|
-
|
|
385
|
-
|
|
1124
|
+
* Pass a survey instance to use survey locales in the Visualization Panel.
|
|
1125
|
+
*/
|
|
386
1126
|
survey?: SurveyModel;
|
|
387
1127
|
/**
|
|
388
|
-
|
|
389
|
-
|
|
1128
|
+
* A common data provider for all visualizers.
|
|
1129
|
+
*/
|
|
390
1130
|
dataProvider?: DataProvider;
|
|
391
1131
|
/**
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
1132
|
+
* Allows users to change the visibility of individual charts.
|
|
1133
|
+
* This property adds a Hide button to each chart.
|
|
1134
|
+
*
|
|
1135
|
+
* Default value: `true`
|
|
1136
|
+
*/
|
|
397
1137
|
allowHideQuestions?: boolean;
|
|
398
1138
|
/**
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
1139
|
+
* Specifies whether to arrange charts based on the available screen space and allow users to reorder them via drag and drop.
|
|
1140
|
+
* If this property is disabled, charts are displayed one under the other, and users cannot reorder them.
|
|
1141
|
+
*
|
|
1142
|
+
* Default value: `true`
|
|
1143
|
+
*
|
|
1144
|
+
* [View the "Disable the Layout Engine" example](https://surveyjs.io/Examples/Analytics?id=custom-layout)
|
|
1145
|
+
*
|
|
1146
|
+
* @see layoutEngine
|
|
1147
|
+
*/
|
|
408
1148
|
allowDynamicLayout?: boolean;
|
|
409
1149
|
/**
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
1150
|
+
* A layout engine used to arrange charts on the Visualization Panel.
|
|
1151
|
+
* You can use this property to integrate a third-party layout engine with SurveyJS Analytics.
|
|
1152
|
+
*
|
|
1153
|
+
* @see allowDynamicLayout
|
|
1154
|
+
*/
|
|
415
1155
|
layoutEngine?: LayoutEngine;
|
|
416
1156
|
/**
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
1157
|
+
* Allows users to switch between absolute and percentage values in bar charts.
|
|
1158
|
+
* This property adds a Show Percentages button to each bar chart.
|
|
1159
|
+
*
|
|
1160
|
+
* Default value: `false`
|
|
1161
|
+
*
|
|
1162
|
+
* @see showPercentages
|
|
1163
|
+
* @see showOnlyPercentages
|
|
1164
|
+
* @see percentagePrecision
|
|
1165
|
+
*/
|
|
426
1166
|
allowShowPercentages?: boolean;
|
|
427
1167
|
/**
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
1168
|
+
* Specifies whether bar charts display percentages in addition to absolute values.
|
|
1169
|
+
* Users can change this property value if you enable the `allowShowPercentages` property.
|
|
1170
|
+
*
|
|
1171
|
+
* Default value: `false`
|
|
1172
|
+
*
|
|
1173
|
+
* @see allowShowPercentages
|
|
1174
|
+
* @see showOnlyPercentages
|
|
1175
|
+
* @see percentagePrecision
|
|
1176
|
+
*/
|
|
437
1177
|
showPercentages?: boolean;
|
|
438
1178
|
/**
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
1179
|
+
* Specifies whether bar charts display only percentages, without absolute values.
|
|
1180
|
+
* Applies only if the `allowShowPercentages` or `showPercentages` property is enables.
|
|
1181
|
+
*
|
|
1182
|
+
* Default value: `false`
|
|
1183
|
+
*
|
|
1184
|
+
* @see allowShowPercentages
|
|
1185
|
+
* @see showPercentages
|
|
1186
|
+
* @see percentagePrecision
|
|
1187
|
+
*/
|
|
448
1188
|
showOnlyPercentages?: boolean;
|
|
449
1189
|
/**
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
1190
|
+
* Specifies percentage precision.
|
|
1191
|
+
*
|
|
1192
|
+
* Default value: 0
|
|
1193
|
+
*
|
|
1194
|
+
* @see allowShowPercentages
|
|
1195
|
+
* @see showPercentages
|
|
1196
|
+
* @see showOnlyPercentages
|
|
1197
|
+
*/
|
|
458
1198
|
percentagePrecision?: number;
|
|
459
1199
|
/**
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
1200
|
+
* Removes the Free Trial bar.
|
|
1201
|
+
* **IMPORTANT**: You can enable this property only if you have a SurveyJS Analytics commercial license. It is illegal to enable this property without a license.
|
|
1202
|
+
*/
|
|
463
1203
|
haveCommercialLicense?: boolean;
|
|
464
1204
|
/**
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
1205
|
+
* Allows users to sort answers by answer count. Applies only to bar and scatter charts.
|
|
1206
|
+
* This property adds a Sorting dropdown to each bar and scatter chart.
|
|
1207
|
+
*
|
|
1208
|
+
* Default value: `true`
|
|
1209
|
+
*
|
|
1210
|
+
* @see answersOrder
|
|
1211
|
+
*/
|
|
472
1212
|
allowChangeAnswersOrder?: boolean;
|
|
473
1213
|
/**
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
1214
|
+
* Specifies how to sort answers in bar and scatter charts.
|
|
1215
|
+
* Accepted values:
|
|
1216
|
+
*
|
|
1217
|
+
* - `"default"` (default) - Do not sort answers.
|
|
1218
|
+
* - `"asc"` - Sort answers by ascending answer count.
|
|
1219
|
+
* - `"desc"` - Sort answers by descending answer count.
|
|
1220
|
+
*
|
|
1221
|
+
* Users can change this property value if you enable the `allowChangeAnswersOrder` property.
|
|
1222
|
+
*
|
|
1223
|
+
* @see allowChangeAnswersOrder
|
|
1224
|
+
*/
|
|
485
1225
|
answersOrder?: "default" | "asc" | "desc";
|
|
486
1226
|
/**
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
1227
|
+
* Allows users to hide answers with zero count in bar and scatter charts.
|
|
1228
|
+
* This property adds a Hide Empty Answers button to each bar and scatter chart.
|
|
1229
|
+
*
|
|
1230
|
+
* Default value: `false`
|
|
1231
|
+
*/
|
|
492
1232
|
allowHideEmptyAnswers?: boolean;
|
|
493
1233
|
/**
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
1234
|
+
* Hides answers with zero count in bar and scatter charts.
|
|
1235
|
+
* Users can change this property value if you enable the `allowHideEmptyAnswers` property.
|
|
1236
|
+
*
|
|
1237
|
+
* Default value: `false`
|
|
1238
|
+
*
|
|
1239
|
+
* @see allowHideEmptyAnswers
|
|
1240
|
+
*/
|
|
501
1241
|
hideEmptyAnswers?: boolean;
|
|
502
1242
|
/**
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
1243
|
+
* Allows users to select whether to show top 5, 10, or 20 answers by answer count.
|
|
1244
|
+
* This property adds a Top N Answers dropdown to each chart.
|
|
1245
|
+
*
|
|
1246
|
+
* Default value: `false`
|
|
1247
|
+
*/
|
|
508
1248
|
allowTopNAnswers?: boolean;
|
|
509
1249
|
/**
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
1250
|
+
* Allows users to show the number of respondents who did not answer a particular question.
|
|
1251
|
+
* This property adds a Show Missing Answers button to each chart.
|
|
1252
|
+
*
|
|
1253
|
+
* Default value: `false`
|
|
1254
|
+
*/
|
|
515
1255
|
allowShowMissingAnswers?: boolean;
|
|
516
1256
|
allowExperimentalFeatures?: boolean;
|
|
517
1257
|
/**
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
1258
|
+
* Default chart type.
|
|
1259
|
+
*
|
|
1260
|
+
* Accepted values depend on the question type as follows:
|
|
1261
|
+
*
|
|
1262
|
+
* - Boolean: `"bar"` | `"pie"` | `"doughnut"`
|
|
1263
|
+
* - Date, Number: `"bar"` | `"scatter"`
|
|
1264
|
+
* - Matrix: `"bar"` | `"pie"` | `"doughnut"` | `"stackedbar"`
|
|
1265
|
+
* - Rating: `"bar"` | `"scatter"` | `"gauge"` | `"bullet"`
|
|
1266
|
+
* - Radiogroup, Checkbox, Dropdown, Image Picker: `"bar"` | `"pie"` | `"doughnut"` | `"scatter"`
|
|
1267
|
+
*
|
|
1268
|
+
* To set a type for an individual chart, access this chart in the `visualizers` array and set its `chartType` property to one of the values described above:
|
|
1269
|
+
*
|
|
1270
|
+
* ```js
|
|
1271
|
+
* const vizPanel = new SurveyAnalytics.VisualizationPanel( ... );
|
|
1272
|
+
* vizPanel.visualizers[0].chartType = "stackedbar";
|
|
1273
|
+
* ```
|
|
1274
|
+
*
|
|
1275
|
+
*/
|
|
536
1276
|
defaultChartType?: string;
|
|
537
1277
|
/**
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
1278
|
+
* Allows users to transpose a visualized matrix question.
|
|
1279
|
+
* This property adds a Transpose button to charts that visualize matrixes. When users select Per Values, matrix rows go to chart arguments, and matrix columns form chart series. When users select Per Columns, matrix rows form chart series, and matrix columns go to chart arguments.
|
|
1280
|
+
*
|
|
1281
|
+
* Default value: `false`
|
|
1282
|
+
*/
|
|
543
1283
|
allowTransposeData?: boolean;
|
|
544
1284
|
/**
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
1285
|
+
* Allows users to cross-filter charts. The filter applies when users selects a series point.
|
|
1286
|
+
*
|
|
1287
|
+
* Default value: `true`
|
|
1288
|
+
*/
|
|
549
1289
|
allowSelection?: boolean;
|
|
550
1290
|
renderContent?: Function;
|
|
551
1291
|
destroyContent?: Function;
|
|
552
1292
|
/**
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
1293
|
+
* Removes HTML tags from survey element titles.
|
|
1294
|
+
* Survey element titles can contain HTML markup and are specified by users. An attacker can inject malicious code into the titles. To guard against it, keep this property set to `true`.
|
|
1295
|
+
*
|
|
1296
|
+
* Default value: `true`
|
|
1297
|
+
*/
|
|
558
1298
|
stripHtmlFromTitles?: boolean;
|
|
559
|
-
}
|
|
560
|
-
/**
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
export class VisualizationPanel extends VisualizerBase {
|
|
1299
|
+
}
|
|
1300
|
+
/**
|
|
1301
|
+
* VisualizationPanel is responsible for visualizing an array of survey questions
|
|
1302
|
+
* <br/>
|
|
1303
|
+
* <br/> constructor parameters:
|
|
1304
|
+
* <br/> questions - an array of survey questions to visualize,
|
|
1305
|
+
* <br/> data - an array of answers in format of survey result,
|
|
1306
|
+
* <br/> options - object of the IVisualizationPanelOptions type, @see IVisualizationPanelOptions
|
|
1307
|
+
* <br/> elements - list of visual element descriptions
|
|
1308
|
+
*
|
|
1309
|
+
*/
|
|
1310
|
+
export class VisualizationPanel extends VisualizerBase {
|
|
571
1311
|
protected questions: Array<any>;
|
|
1312
|
+
private _elements;
|
|
572
1313
|
static haveCommercialLicense: boolean;
|
|
573
1314
|
visualizers: Array<VisualizerBase>;
|
|
1315
|
+
private haveCommercialLicense;
|
|
1316
|
+
private renderedQuestionsCount;
|
|
574
1317
|
constructor(questions: Array<any>, data: Array<{
|
|
575
|
-
|
|
1318
|
+
[index: string]: any;
|
|
576
1319
|
}>, options?: IVisualizationPanelOptions, _elements?: Array<IVisualizerPanelRenderedElement>);
|
|
1320
|
+
private onAfterRenderQuestionCallback;
|
|
577
1321
|
protected showElement(elementName: string): void;
|
|
578
1322
|
protected hideElement(elementName: string): void;
|
|
579
1323
|
protected makeElementPrivate(element: IVisualizerPanelElement): void;
|
|
@@ -581,624 +1325,238 @@ export class VisualizationPanel extends VisualizerBase {
|
|
|
581
1325
|
protected moveVisibleElement(fromVisibleIndex: number, toVisibleIndex: number): void;
|
|
582
1326
|
protected moveElement(fromIndex: number, toIndex: number): void;
|
|
583
1327
|
protected setBackgroundColorCore(color: string): void;
|
|
1328
|
+
private buildVisualizers;
|
|
1329
|
+
private destroyVisualizers;
|
|
584
1330
|
/**
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
1331
|
+
* Returns current locale of the visualization panel.
|
|
1332
|
+
* If locales more than one, the language selection dropdown will be added in the toolbar
|
|
1333
|
+
* In order to use survey locales the survey instance object should be passed as 'survey' option for visualizer
|
|
1334
|
+
*/
|
|
589
1335
|
get locale(): string;
|
|
590
1336
|
/**
|
|
591
|
-
|
|
592
|
-
|
|
1337
|
+
* Sets locale for visualization panel.
|
|
1338
|
+
*/
|
|
593
1339
|
set locale(newLocale: string);
|
|
1340
|
+
private setLocale;
|
|
594
1341
|
/**
|
|
595
|
-
|
|
596
|
-
|
|
1342
|
+
* Returns whether the VisualizationPanel allows dynamic layouting - rearrange items via drap/drop. Set via options.
|
|
1343
|
+
*/
|
|
597
1344
|
get allowDynamicLayout(): boolean;
|
|
598
1345
|
/**
|
|
599
|
-
|
|
600
|
-
|
|
1346
|
+
* Returns whether the VisualizationPanel allows to hide/show individual inner visualizers.
|
|
1347
|
+
*/
|
|
601
1348
|
get allowHideQuestions(): boolean;
|
|
602
1349
|
/**
|
|
603
|
-
|
|
604
|
-
|
|
1350
|
+
* Returns whether the VisualizationPanel allows to make private/public individual inner visualizers for work with permissions.
|
|
1351
|
+
*/
|
|
605
1352
|
get allowMakeQuestionsPrivate(): boolean;
|
|
1353
|
+
private _layoutEngine;
|
|
606
1354
|
/**
|
|
607
|
-
|
|
608
|
-
|
|
1355
|
+
* Returns the layout engine instance if any.
|
|
1356
|
+
*/
|
|
609
1357
|
get layoutEngine(): LayoutEngine;
|
|
610
1358
|
protected buildElements(questions: any[]): IVisualizerPanelElement[];
|
|
611
1359
|
/**
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
1360
|
+
* Returns panel elements descriptions array.
|
|
1361
|
+
* Inner visualizers are rendered in the order of this array and with titles from the displayName property
|
|
1362
|
+
*/
|
|
615
1363
|
getElements(): IVisualizerPanelElement[];
|
|
616
1364
|
/**
|
|
617
|
-
|
|
618
|
-
|
|
1365
|
+
* Returns panel's visible elements.
|
|
1366
|
+
*/
|
|
619
1367
|
get visibleElements(): IVisualizerPanelRenderedElement[];
|
|
620
1368
|
/**
|
|
621
|
-
|
|
622
|
-
|
|
1369
|
+
* Returns panel's hidden elements.
|
|
1370
|
+
*/
|
|
623
1371
|
get hiddenElements(): IVisualizerPanelRenderedElement[];
|
|
624
1372
|
/**
|
|
625
|
-
|
|
626
|
-
|
|
1373
|
+
* Returns panel's public elements.
|
|
1374
|
+
*/
|
|
627
1375
|
get publicElements(): IVisualizerPanelRenderedElement[];
|
|
628
1376
|
/**
|
|
629
|
-
|
|
630
|
-
|
|
1377
|
+
* Returns panel's private elements.
|
|
1378
|
+
*/
|
|
631
1379
|
get privateElements(): IVisualizerPanelRenderedElement[];
|
|
632
1380
|
protected get locales(): any;
|
|
633
1381
|
/**
|
|
634
|
-
|
|
635
|
-
|
|
1382
|
+
* Returns panel element description by the question name.
|
|
1383
|
+
*/
|
|
636
1384
|
getElement(name: string): IVisualizerPanelRenderedElement;
|
|
637
1385
|
/**
|
|
638
|
-
|
|
639
|
-
|
|
1386
|
+
* Returns panel element visualizer by the question name.
|
|
1387
|
+
*/
|
|
640
1388
|
getVisualizer(visualizerName: string): VisualizerBase;
|
|
641
1389
|
/**
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
1390
|
+
* Fires when element visibility has been changed.
|
|
1391
|
+
* options:
|
|
1392
|
+
* elements - panel elements array
|
|
1393
|
+
* changed - changed element
|
|
1394
|
+
* reason - reason (string) why event fired: "ADDED", "MOVED" or "REMOVED"
|
|
1395
|
+
*/
|
|
648
1396
|
onVisibleElementsChanged: Event<(sender: VisualizationPanel, options: any) => any, any>;
|
|
649
1397
|
protected visibleElementsChanged(element: IVisualizerPanelElement, reason: string): void;
|
|
650
1398
|
/**
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
1399
|
+
* Fires when vizualization panel state changed.
|
|
1400
|
+
* sender - this panel
|
|
1401
|
+
* state - new state of the panel
|
|
1402
|
+
*/
|
|
655
1403
|
onStateChanged: Event<(sender: VisualizationPanel, state: IState) => any, any>;
|
|
656
1404
|
/**
|
|
657
|
-
|
|
658
|
-
|
|
1405
|
+
* Fires when permissions changed
|
|
1406
|
+
*/
|
|
659
1407
|
onPermissionsChangedCallback: any;
|
|
660
1408
|
/**
|
|
661
|
-
|
|
662
|
-
|
|
1409
|
+
* Renders given panel element.
|
|
1410
|
+
*/
|
|
663
1411
|
protected renderPanelElement(element: IVisualizerPanelRenderedElement, container: HTMLElement): HTMLElement;
|
|
664
1412
|
protected renderToolbar(container: HTMLElement): void;
|
|
665
1413
|
/**
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
1414
|
+
* Renders all questions into given HTML container element.
|
|
1415
|
+
* container - HTML element to render the panel
|
|
1416
|
+
*/
|
|
669
1417
|
renderContent(container: HTMLElement): void;
|
|
670
1418
|
/**
|
|
671
|
-
|
|
672
|
-
|
|
1419
|
+
* Destroys visualizer and all inner content.
|
|
1420
|
+
*/
|
|
673
1421
|
protected destroyContent(container: HTMLElement): void;
|
|
674
1422
|
/**
|
|
675
|
-
|
|
676
|
-
|
|
1423
|
+
* Redraws visualizer toobar and all inner content.
|
|
1424
|
+
*/
|
|
677
1425
|
refresh(): void;
|
|
678
1426
|
/**
|
|
679
|
-
|
|
680
|
-
|
|
1427
|
+
* Updates layout of visualizer inner content.
|
|
1428
|
+
*/
|
|
681
1429
|
layout(): void;
|
|
682
1430
|
/**
|
|
683
|
-
|
|
684
|
-
|
|
1431
|
+
* Sets filter by question name and value.
|
|
1432
|
+
*/
|
|
685
1433
|
setFilter(questionName: string, selectedValue: any): void;
|
|
686
1434
|
/**
|
|
687
|
-
|
|
688
|
-
|
|
1435
|
+
* Gets vizualization panel state.
|
|
1436
|
+
*/
|
|
689
1437
|
get state(): IState;
|
|
690
1438
|
/**
|
|
691
|
-
|
|
692
|
-
|
|
1439
|
+
* Sets vizualization panel state.
|
|
1440
|
+
*/
|
|
693
1441
|
set state(newState: IState);
|
|
694
1442
|
/**
|
|
695
|
-
|
|
696
|
-
|
|
1443
|
+
* Gets vizualization panel permissions.
|
|
1444
|
+
*/
|
|
697
1445
|
get permissions(): IPermission[];
|
|
698
1446
|
/**
|
|
699
|
-
|
|
700
|
-
|
|
1447
|
+
* Sets vizualization panel permissions.
|
|
1448
|
+
*/
|
|
701
1449
|
set permissions(permissions: IPermission[]);
|
|
702
1450
|
destroy(): void;
|
|
1451
|
+
}
|
|
703
1452
|
}
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
[index: string]: any;
|
|
711
|
-
}, name?: string);
|
|
712
|
-
get name(): string;
|
|
713
|
-
updateData(data: Array<{
|
|
714
|
-
[index: string]: any;
|
|
715
|
-
}>): void;
|
|
716
|
-
protected onDataChanged(): void;
|
|
717
|
-
getQuestions(): IQuestion[];
|
|
718
|
-
destroyContent(container: HTMLElement): void;
|
|
719
|
-
renderContent(container: HTMLElement): void;
|
|
720
|
-
destroy(): void;
|
|
721
|
-
}
|
|
722
|
-
|
|
723
|
-
export class VisualizationMatrixDynamic extends VisualizationPanelDynamic {
|
|
724
|
-
constructor(question: Question, data: Array<{
|
|
725
|
-
[index: string]: any;
|
|
726
|
-
}>, options?: Object);
|
|
727
|
-
get name(): string;
|
|
728
|
-
getQuestions(): any;
|
|
729
|
-
}
|
|
730
|
-
|
|
731
|
-
export class VisualizationMatrixDropdown extends VisualizerBase {
|
|
732
|
-
protected _matrixDropdownVisualizer: VisualizerBase;
|
|
733
|
-
constructor(question: QuestionMatrixDropdownModel, data: Array<{
|
|
734
|
-
[index: string]: any;
|
|
735
|
-
}>, options?: {
|
|
736
|
-
[index: string]: any;
|
|
737
|
-
}, name?: string);
|
|
738
|
-
get matrixDropdownVisualizer(): VisualizerBase;
|
|
739
|
-
updateData(data: Array<{
|
|
740
|
-
[index: string]: any;
|
|
741
|
-
}>): void;
|
|
742
|
-
protected onDataChanged(): void;
|
|
743
|
-
getQuestions(): any;
|
|
744
|
-
destroyContent(container: HTMLElement): void;
|
|
745
|
-
renderContent(container: HTMLElement): void;
|
|
746
|
-
destroy(): void;
|
|
747
|
-
}
|
|
748
|
-
|
|
749
|
-
export class AlternativeVisualizersWrapper extends VisualizerBase implements IVisualizerWithSelection {
|
|
750
|
-
constructor(visualizers: Array<VisualizerBase>, question: Question, data: Array<{
|
|
751
|
-
[index: string]: any;
|
|
752
|
-
}>, options?: Object);
|
|
753
|
-
protected visualizerContainer: HTMLElement;
|
|
754
|
-
get hasFooter(): boolean;
|
|
755
|
-
getVisualizers(): VisualizerBase[];
|
|
756
|
-
updateData(data: Array<{
|
|
757
|
-
[index: string]: any;
|
|
758
|
-
}>): void;
|
|
759
|
-
set onDataItemSelected(val: (selectedValue: any, selectedText: string) => void);
|
|
760
|
-
setSelection(item: ItemValue): void;
|
|
761
|
-
get selection(): any;
|
|
762
|
-
protected renderContent(container: HTMLElement): void;
|
|
763
|
-
protected setBackgroundColorCore(color: string): void;
|
|
764
|
-
destroy(): void;
|
|
765
|
-
}
|
|
766
|
-
|
|
767
|
-
import "./datatables.scss";
|
|
768
|
-
interface DataTablesOptions extends ITableOptions {
|
|
769
|
-
buttons: boolean | string[] | any[] | any;
|
|
770
|
-
dom: string;
|
|
771
|
-
orderFixed: Array<number | string> | Array<Array<number | string>> | object;
|
|
772
|
-
rowGroup: boolean | any;
|
|
773
|
-
headerCallback: any;
|
|
774
|
-
}
|
|
775
|
-
export class DataTables extends Table {
|
|
776
|
-
datatableApi: any;
|
|
777
|
-
currentPageNumber: number;
|
|
778
|
-
/**
|
|
779
|
-
* The event is fired columns configuration has been changed.
|
|
780
|
-
* <br/> sender the datatables adapter
|
|
781
|
-
* <br/> options.survey current survey
|
|
782
|
-
* @see getColumns
|
|
783
|
-
*/
|
|
784
|
-
onColumnsReorder: Event<(sender: DataTables, options: any) => any, any>;
|
|
785
|
-
static initJQuery($: any): void;
|
|
786
|
-
static set haveCommercialLicense(val: boolean);
|
|
787
|
-
constructor(survey: SurveyModel, data: Array<Object>, options: DataTablesOptions, _columnsData?: Array<IColumnData>);
|
|
788
|
-
destroy(): void;
|
|
789
|
-
setColumnVisibility(columnName: string, isVisible: boolean): void;
|
|
790
|
-
setColumnLocation(columnName: string, location: QuestionLocation): void;
|
|
791
|
-
applyFilter(value: string): void;
|
|
792
|
-
applyColumnFilter(columnName: string, value: string): void;
|
|
793
|
-
sortByColumn(columnName: string, direction: string): void;
|
|
794
|
-
setPageSize(value: number): void;
|
|
795
|
-
setPageNumber(value: number): void;
|
|
796
|
-
getPageNumber(): number;
|
|
797
|
-
render(targetNode: HTMLElement | string): void;
|
|
798
|
-
getColumns(): Array<any>;
|
|
799
|
-
layout(): void;
|
|
800
|
-
}
|
|
801
|
-
export class DatatablesRow extends TableRow {
|
|
802
|
-
protected table: Table;
|
|
803
|
-
protected extensionsContainer: HTMLElement;
|
|
804
|
-
protected detailsContainer: HTMLElement;
|
|
805
|
-
constructor(table: Table, extensionsContainer: HTMLElement, detailsContainer: HTMLElement, _innerRow: any);
|
|
806
|
-
get innerRow(): any;
|
|
807
|
-
getElement(): HTMLElement;
|
|
808
|
-
getRowData(): HTMLElement;
|
|
809
|
-
getDataPosition(): number;
|
|
810
|
-
remove(): void;
|
|
811
|
-
}
|
|
812
|
-
export {};
|
|
813
|
-
|
|
814
|
-
import "./tabulator.scss";
|
|
815
|
-
interface ITabulatorOptions extends ITableOptions {
|
|
816
|
-
tabulatorOptions?: any;
|
|
817
|
-
downloadHiddenColumns?: boolean;
|
|
818
|
-
actionsColumnWidth?: number;
|
|
819
|
-
downloadButtons: Array<string>;
|
|
820
|
-
downloadOptions?: {
|
|
821
|
-
[type: string]: any;
|
|
822
|
-
};
|
|
823
|
-
onDownloadCallbacks?: {
|
|
824
|
-
[type: string]: (tabulator: Tabulator, options: any) => void;
|
|
825
|
-
};
|
|
826
|
-
}
|
|
827
|
-
export class Tabulator extends Table {
|
|
828
|
-
static set haveCommercialLicense(val: boolean);
|
|
829
|
-
constructor(survey: SurveyModel, data: Array<Object>, options: ITabulatorOptions, _columnsData?: Array<IColumnData>);
|
|
830
|
-
tabulatorTables: any;
|
|
831
|
-
render(targetNode: HTMLElement | string): void;
|
|
832
|
-
destroy: () => void;
|
|
833
|
-
getColumns(): Array<any>;
|
|
834
|
-
setColumnVisibility(columnName: string, isVisible: boolean): void;
|
|
835
|
-
setColumnLocation(columnName: string, location: QuestionLocation): void;
|
|
836
|
-
setColumnWidth(columnName: string, width: number | string): void;
|
|
837
|
-
sortByColumn(columnName: string, direction: string): void;
|
|
838
|
-
applyColumnFilter(columnName: string, value: string): void;
|
|
839
|
-
applyFilter(value: string): void;
|
|
840
|
-
getPageNumber(): number;
|
|
841
|
-
setPageNumber(value: number): void;
|
|
842
|
-
setPageSize(value: number): void;
|
|
843
|
-
download(type: string): void;
|
|
844
|
-
layout(hard?: boolean): void;
|
|
845
|
-
}
|
|
846
|
-
export class TabulatorRow extends TableRow {
|
|
847
|
-
protected table: Table;
|
|
848
|
-
protected extensionsContainer: HTMLElement;
|
|
849
|
-
protected detailsContainer: HTMLElement;
|
|
850
|
-
protected innerRow: any;
|
|
851
|
-
constructor(table: Table, extensionsContainer: HTMLElement, detailsContainer: HTMLElement, innerRow: any);
|
|
852
|
-
getElement(): HTMLElement;
|
|
853
|
-
getRowData(): HTMLElement;
|
|
854
|
-
getDataPosition(): number;
|
|
855
|
-
remove(): void;
|
|
856
|
-
}
|
|
857
|
-
export {};
|
|
858
|
-
|
|
859
|
-
export class WordCloudAdapter {
|
|
860
|
-
static drawOutOfBound: boolean;
|
|
861
|
-
static shrinkToFit: boolean;
|
|
862
|
-
static abortThreshold: any;
|
|
863
|
-
static weightFactor: number;
|
|
864
|
-
constructor(model: WordCloud);
|
|
865
|
-
get wordcloud(): any;
|
|
866
|
-
create(node: HTMLElement): any;
|
|
867
|
-
destroy(node: HTMLElement): void;
|
|
868
|
-
}
|
|
869
|
-
export class WordCloud extends VisualizerBase {
|
|
870
|
-
constructor(question: Question, data: Array<{
|
|
871
|
-
[index: string]: any;
|
|
872
|
-
}>, options?: Object, name?: string);
|
|
873
|
-
getData(): (string | number)[][];
|
|
874
|
-
protected destroyContent(container: HTMLElement): void;
|
|
875
|
-
protected renderContent(container: HTMLElement): void;
|
|
876
|
-
destroy(): void;
|
|
877
|
-
}
|
|
878
|
-
|
|
879
|
-
export var textHelper: {
|
|
880
|
-
getStopWords: (locale?: string) => string[];
|
|
881
|
-
};
|
|
882
|
-
|
|
883
|
-
import "./text.scss";
|
|
884
|
-
export class TextTableAdapter {
|
|
885
|
-
constructor(model: Text);
|
|
886
|
-
create(container: HTMLElement): void;
|
|
887
|
-
destroy(node: HTMLElement): void;
|
|
888
|
-
}
|
|
889
|
-
export class Text extends VisualizerBase {
|
|
890
|
-
constructor(question: Question, data: Array<{
|
|
891
|
-
[index: string]: any;
|
|
892
|
-
}>, options?: Object, name?: string);
|
|
893
|
-
getData(): {
|
|
894
|
-
columnsCount: number;
|
|
895
|
-
data: string[][];
|
|
896
|
-
};
|
|
897
|
-
protected destroyContent(container: HTMLElement): void;
|
|
898
|
-
protected renderContent(container: HTMLElement): void;
|
|
899
|
-
destroy(): void;
|
|
900
|
-
}
|
|
901
|
-
|
|
902
|
-
export interface IVisualizerPanelElement {
|
|
903
|
-
name: string;
|
|
904
|
-
displayName: string;
|
|
905
|
-
isVisible: boolean;
|
|
906
|
-
isPublic: boolean;
|
|
907
|
-
type?: string;
|
|
908
|
-
chartType?: string;
|
|
909
|
-
answersOrder?: string;
|
|
910
|
-
hideEmptyAnswers?: boolean;
|
|
911
|
-
topN?: number;
|
|
912
|
-
}
|
|
913
|
-
export interface IState {
|
|
914
|
-
locale?: string;
|
|
915
|
-
elements?: IVisualizerPanelElement[];
|
|
916
|
-
}
|
|
917
|
-
export interface IPermission {
|
|
918
|
-
name: string;
|
|
919
|
-
isPublic: boolean;
|
|
920
|
-
}
|
|
921
|
-
|
|
922
|
-
export class LayoutEngine {
|
|
923
|
-
protected _allowed: boolean;
|
|
924
|
-
constructor(_allowed: boolean);
|
|
925
|
-
protected startCore(container: HTMLElement): void;
|
|
926
|
-
protected stopCore(): void;
|
|
927
|
-
protected updateCore(): void;
|
|
928
|
-
get allowed(): boolean;
|
|
929
|
-
start(container: HTMLElement): void;
|
|
930
|
-
stop(): void;
|
|
931
|
-
update(): void;
|
|
932
|
-
add(elements: Array<HTMLElement>, options?: any): void;
|
|
933
|
-
remove(elements: Array<HTMLElement>, options?: any): void;
|
|
934
|
-
onMoveCallback: (fromIndex: number, toIndex: number) => void;
|
|
935
|
-
destroy(): void;
|
|
936
|
-
}
|
|
937
|
-
export class MuuriLayoutEngine extends LayoutEngine {
|
|
938
|
-
constructor(allowed: boolean, _selector: string);
|
|
939
|
-
protected startCore(container: HTMLElement): void;
|
|
940
|
-
protected stopCore(): void;
|
|
941
|
-
protected updateCore(): void;
|
|
942
|
-
add(elements: Array<HTMLElement>, options?: any): void;
|
|
943
|
-
remove(elements: Array<HTMLElement>, options?: any): void;
|
|
944
|
-
}
|
|
945
|
-
|
|
946
|
-
export interface IVisualizerWithSelection {
|
|
947
|
-
selection: ItemValue;
|
|
948
|
-
onDataItemSelected: (selectedValue: any, selectedText: string) => void;
|
|
949
|
-
setSelection(item: ItemValue): void;
|
|
950
|
-
}
|
|
951
|
-
export interface IAnswersData {
|
|
952
|
-
datasets: Array<Array<any>>;
|
|
953
|
-
labels: Array<string>;
|
|
954
|
-
colors: Array<string>;
|
|
955
|
-
texts: Array<Array<any>>;
|
|
956
|
-
seriesLabels: Array<string>;
|
|
957
|
-
}
|
|
958
|
-
export class SelectBase extends VisualizerBase implements IVisualizerWithSelection {
|
|
959
|
-
protected selectedItem: ItemValue;
|
|
960
|
-
protected _answersOrder: string;
|
|
961
|
-
protected _supportSelection: boolean;
|
|
962
|
-
static topNValuesDefaults: number[];
|
|
963
|
-
topNValues: any[];
|
|
1453
|
+
declare module "visualizationPanelDynamic" {
|
|
1454
|
+
import { VisualizerBase } from "visualizerBase";
|
|
1455
|
+
import { VisualizationPanel } from "visualizationPanel";
|
|
1456
|
+
import { Question, IQuestion } from "survey-core";
|
|
1457
|
+
export class VisualizationPanelDynamic extends VisualizerBase {
|
|
1458
|
+
protected _panelVisualizer: VisualizationPanel;
|
|
964
1459
|
constructor(question: Question, data: Array<{
|
|
965
|
-
|
|
966
|
-
}>, options?:
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
set hideEmptyAnswers(value: boolean);
|
|
982
|
-
get transposeData(): boolean;
|
|
983
|
-
set transposeData(value: boolean);
|
|
984
|
-
get topN(): number;
|
|
985
|
-
set topN(value: number);
|
|
986
|
-
protected isSupportMissingAnswers(): boolean;
|
|
987
|
-
get showMissingAnswers(): boolean;
|
|
988
|
-
set showMissingAnswers(value: boolean);
|
|
989
|
-
refreshContent(): void;
|
|
990
|
-
onDataItemSelected: (selectedValue: any, selectedText: string) => void;
|
|
991
|
-
get showValuesInOriginalOrder(): boolean;
|
|
992
|
-
valuesSource(): Array<ItemValue>;
|
|
993
|
-
getValues(): Array<any>;
|
|
994
|
-
getLabels(): Array<string>;
|
|
995
|
-
getPercentages(): Array<Array<number>>;
|
|
996
|
-
protected hideEmptyAnswersInData(answersData: IAnswersData): IAnswersData;
|
|
997
|
-
protected answersDataReady(answersData: IAnswersData): any;
|
|
998
|
-
/**
|
|
999
|
-
* Fires when answer data has been combined before they passed to draw graph.
|
|
1000
|
-
* options - the answers data object containing: datasets, labels, colors, additional texts (percentage).
|
|
1001
|
-
* options fields can be modified
|
|
1002
|
-
*/
|
|
1003
|
-
onAnswersDataReady: Event<(sender: SelectBase, options: any) => any, any>;
|
|
1004
|
-
/**
|
|
1005
|
-
* Returns object with all infotmation for data visualization: datasets, labels, colors, additional texts (percentage).
|
|
1006
|
-
*/
|
|
1007
|
-
getAnswersData(): IAnswersData;
|
|
1008
|
-
protected transpose(data: Array<Array<number>>): Array<Array<number>>;
|
|
1009
|
-
getState(): any;
|
|
1010
|
-
setState(state: any): void;
|
|
1460
|
+
[index: string]: any;
|
|
1461
|
+
}>, options?: {
|
|
1462
|
+
[index: string]: any;
|
|
1463
|
+
}, name?: string);
|
|
1464
|
+
private onAfterRenderPanelCallback;
|
|
1465
|
+
get name(): string;
|
|
1466
|
+
private updatePanelVisualizerData;
|
|
1467
|
+
updateData(data: Array<{
|
|
1468
|
+
[index: string]: any;
|
|
1469
|
+
}>): void;
|
|
1470
|
+
protected onDataChanged(): void;
|
|
1471
|
+
getQuestions(): IQuestion[];
|
|
1472
|
+
destroyContent(container: HTMLElement): void;
|
|
1473
|
+
renderContent(container: HTMLElement): void;
|
|
1474
|
+
destroy(): void;
|
|
1475
|
+
}
|
|
1011
1476
|
}
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
* <br/> `options.question` - the question obect for which event is fired.
|
|
1023
|
-
* <br/> `options.displayValue` - the question display value. You can change this option before it is displayed in the table.
|
|
1024
|
-
*/
|
|
1025
|
-
onGetQuestionValue?: (options: {
|
|
1026
|
-
question: Question;
|
|
1027
|
-
displayValue: any;
|
|
1028
|
-
}) => void;
|
|
1477
|
+
declare module "visualizationMatrixDynamic" {
|
|
1478
|
+
import { Question } from "survey-core";
|
|
1479
|
+
import { VisualizationPanelDynamic } from "visualizationPanelDynamic";
|
|
1480
|
+
export class VisualizationMatrixDynamic extends VisualizationPanelDynamic {
|
|
1481
|
+
constructor(question: Question, data: Array<{
|
|
1482
|
+
[index: string]: any;
|
|
1483
|
+
}>, options?: Object);
|
|
1484
|
+
get name(): string;
|
|
1485
|
+
getQuestions(): any;
|
|
1486
|
+
}
|
|
1029
1487
|
}
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
protected
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
getData(): Object[];
|
|
1051
|
-
get survey(): SurveyModel;
|
|
1052
|
-
get options(): ITableOptions;
|
|
1053
|
-
abstract applyFilter(value: string): void;
|
|
1054
|
-
abstract applyColumnFilter(columnName: string, value: string): void;
|
|
1055
|
-
abstract sortByColumn(columnName: string, direction: string): void;
|
|
1056
|
-
render(targetNode: HTMLElement | string): void;
|
|
1057
|
-
enableColumnReorder(): void;
|
|
1058
|
-
disableColumnReorder(): void;
|
|
1059
|
-
getPageNumber(): number;
|
|
1060
|
-
setPageNumber(value: number): void;
|
|
1061
|
-
getPageSize(): number;
|
|
1062
|
-
setPageSize(value: number): void;
|
|
1063
|
-
getCreatedRows(): TableRow[];
|
|
1064
|
-
clearCreatedRows(): void;
|
|
1065
|
-
get useNamesAsTitles(): boolean;
|
|
1066
|
-
protected buildColumns: (survey: SurveyModel) => IColumn[];
|
|
1067
|
-
isColumnVisible(column: IColumn): boolean;
|
|
1068
|
-
get columns(): Array<IColumn>;
|
|
1069
|
-
set columns(columns: Array<IColumn>);
|
|
1070
|
-
protected initTableData(data: Array<any>): void;
|
|
1071
|
-
moveColumn(from: number, to: number): void;
|
|
1072
|
-
setColumnLocation(columnName: string, location: QuestionLocation): void;
|
|
1073
|
-
getColumnByName(columnName: string): IColumn;
|
|
1074
|
-
setColumnVisibility(columnName: string, isVisible: boolean): void;
|
|
1075
|
-
setColumnWidth(columnName: string, width: string | number): void;
|
|
1076
|
-
removeRow(row: TableRow): void;
|
|
1077
|
-
/**
|
|
1078
|
-
* Returns current locale of the table.
|
|
1079
|
-
* If locales more than one, the language selection dropdown will be added in the toolbar
|
|
1080
|
-
*/
|
|
1081
|
-
get locale(): string;
|
|
1082
|
-
/**
|
|
1083
|
-
* Sets locale for table.
|
|
1084
|
-
*/
|
|
1085
|
-
set locale(newLocale: string);
|
|
1086
|
-
getLocales(): Array<string>;
|
|
1087
|
-
refresh(hard?: boolean): void;
|
|
1488
|
+
declare module "visualizationMatrixDropdown" {
|
|
1489
|
+
import { QuestionMatrixDropdownModel } from "survey-core";
|
|
1490
|
+
import { VisualizerBase } from "visualizerBase";
|
|
1491
|
+
export class VisualizationMatrixDropdown extends VisualizerBase {
|
|
1492
|
+
protected _matrixDropdownVisualizer: VisualizerBase;
|
|
1493
|
+
constructor(question: QuestionMatrixDropdownModel, data: Array<{
|
|
1494
|
+
[index: string]: any;
|
|
1495
|
+
}>, options?: {
|
|
1496
|
+
[index: string]: any;
|
|
1497
|
+
}, name?: string);
|
|
1498
|
+
get matrixDropdownVisualizer(): VisualizerBase;
|
|
1499
|
+
private onPanelAfterRenderCallback;
|
|
1500
|
+
private updateDropdownVisualizerData;
|
|
1501
|
+
updateData(data: Array<{
|
|
1502
|
+
[index: string]: any;
|
|
1503
|
+
}>): void;
|
|
1504
|
+
protected onDataChanged(): void;
|
|
1505
|
+
getQuestions(): any;
|
|
1506
|
+
destroyContent(container: HTMLElement): void;
|
|
1507
|
+
renderContent(container: HTMLElement): void;
|
|
1088
1508
|
destroy(): void;
|
|
1089
|
-
|
|
1090
|
-
/**
|
|
1091
|
-
* Vizualization panel state getter.
|
|
1092
|
-
*/
|
|
1093
|
-
get state(): ITableState;
|
|
1094
|
-
/**
|
|
1095
|
-
* Vizualization panel state setter.
|
|
1096
|
-
*/
|
|
1097
|
-
set state(newState: ITableState);
|
|
1098
|
-
/**
|
|
1099
|
-
* Fires when table state changed.
|
|
1100
|
-
*/
|
|
1101
|
-
onStateChanged: Event<(sender: Table, options: any) => any, any>;
|
|
1102
|
-
/**
|
|
1103
|
-
* Gets table permissions.
|
|
1104
|
-
*/
|
|
1105
|
-
get permissions(): IPermission[];
|
|
1106
|
-
/**
|
|
1107
|
-
* Sets table permissions.
|
|
1108
|
-
*/
|
|
1109
|
-
set permissions(permissions: IPermission[]);
|
|
1110
|
-
/**
|
|
1111
|
-
* Fires when permissions changed
|
|
1112
|
-
*/
|
|
1113
|
-
onPermissionsChangedCallback: any;
|
|
1509
|
+
}
|
|
1114
1510
|
}
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
getIsSelected(): boolean;
|
|
1141
|
-
toggleSelect(): void;
|
|
1142
|
-
remove(): void;
|
|
1511
|
+
declare module "alternativeVizualizersWrapper" {
|
|
1512
|
+
import { Question, ItemValue } from "survey-core";
|
|
1513
|
+
import { VisualizerBase } from "visualizerBase";
|
|
1514
|
+
import { IVisualizerWithSelection } from "selectBase";
|
|
1515
|
+
export class AlternativeVisualizersWrapper extends VisualizerBase implements IVisualizerWithSelection {
|
|
1516
|
+
private visualizers;
|
|
1517
|
+
constructor(visualizers: Array<VisualizerBase>, question: Question, data: Array<{
|
|
1518
|
+
[index: string]: any;
|
|
1519
|
+
}>, options?: Object);
|
|
1520
|
+
protected visualizerContainer: HTMLElement;
|
|
1521
|
+
get hasFooter(): boolean;
|
|
1522
|
+
getVisualizers(): VisualizerBase[];
|
|
1523
|
+
private visualizersWithSelection;
|
|
1524
|
+
private selectedItem;
|
|
1525
|
+
private visualizer;
|
|
1526
|
+
private onAfterVisualizerRenderCallback;
|
|
1527
|
+
private setVisualizer;
|
|
1528
|
+
updateData(data: Array<{
|
|
1529
|
+
[index: string]: any;
|
|
1530
|
+
}>): void;
|
|
1531
|
+
set onDataItemSelected(val: (selectedValue: any, selectedText: string) => void);
|
|
1532
|
+
setSelection(item: ItemValue): void;
|
|
1533
|
+
get selection(): any;
|
|
1534
|
+
protected renderContent(container: HTMLElement): void;
|
|
1535
|
+
protected setBackgroundColorCore(color: string): void;
|
|
1143
1536
|
destroy(): void;
|
|
1537
|
+
}
|
|
1144
1538
|
}
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
}
|
|
1150
|
-
export enum ColumnDataType {
|
|
1151
|
-
Text = 0,
|
|
1152
|
-
FileLink = 1,
|
|
1153
|
-
Image = 2
|
|
1154
|
-
}
|
|
1155
|
-
export interface ICellData {
|
|
1156
|
-
question: Question;
|
|
1157
|
-
displayValue: any;
|
|
1158
|
-
}
|
|
1159
|
-
export interface IColumnData {
|
|
1160
|
-
name: string;
|
|
1161
|
-
displayName: string;
|
|
1162
|
-
dataType: ColumnDataType;
|
|
1163
|
-
isVisible: boolean;
|
|
1164
|
-
isPublic: boolean;
|
|
1165
|
-
location: QuestionLocation;
|
|
1166
|
-
width?: string | number;
|
|
1167
|
-
isComment?: boolean;
|
|
1168
|
-
}
|
|
1169
|
-
export interface IColumn extends IColumnData {
|
|
1170
|
-
visibleIndex?: number;
|
|
1171
|
-
fromJSON(json: any): void;
|
|
1172
|
-
getCellData(table: Table, data: any): ICellData;
|
|
1173
|
-
}
|
|
1174
|
-
export interface ITableState {
|
|
1175
|
-
locale?: string;
|
|
1176
|
-
elements?: IColumnData[];
|
|
1177
|
-
pageSize?: number;
|
|
1178
|
-
}
|
|
1179
|
-
export interface IPermission {
|
|
1180
|
-
name: string;
|
|
1181
|
-
isPublic: boolean;
|
|
1182
|
-
}
|
|
1183
|
-
|
|
1184
|
-
export interface PlotlyOptions {
|
|
1539
|
+
declare module "plotly/setup" {
|
|
1540
|
+
import { Event } from "survey-core";
|
|
1541
|
+
import { SelectBase } from "selectBase";
|
|
1542
|
+
export interface PlotlyOptions {
|
|
1185
1543
|
traces: Array<any>;
|
|
1186
1544
|
layout: any;
|
|
1187
1545
|
hasSeries: boolean;
|
|
1188
|
-
}
|
|
1189
|
-
export class PlotlySetup {
|
|
1546
|
+
}
|
|
1547
|
+
export class PlotlySetup {
|
|
1190
1548
|
static imageExportFormat: string;
|
|
1191
1549
|
/**
|
|
1192
|
-
|
|
1193
|
-
|
|
1550
|
+
* Fires when end user clicks on the 'save as image' button.
|
|
1551
|
+
*/
|
|
1194
1552
|
static onImageSaving: Event<(sender: SelectBase, options: any) => any, any>;
|
|
1195
1553
|
/**
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1554
|
+
* Fires before plot will be created. User can change traces, layout and config of the plot.
|
|
1555
|
+
* Options is an object with the following fields: traces, layout and config of the plot.
|
|
1556
|
+
*/
|
|
1199
1557
|
static onPlotCreating: Event<(sender: SelectBase, options: any) => any, any>;
|
|
1200
1558
|
static setups: {
|
|
1201
|
-
|
|
1559
|
+
[type: string]: (model: SelectBase) => PlotlyOptions;
|
|
1202
1560
|
};
|
|
1203
1561
|
static setup(charType: string, model: SelectBase): PlotlyOptions;
|
|
1204
1562
|
static getTruncatedLabel: (label: string, labelTruncateLength: number) => string;
|
|
@@ -1206,210 +1564,262 @@ export class PlotlySetup {
|
|
|
1206
1564
|
static setupBar(model: SelectBase): PlotlyOptions;
|
|
1207
1565
|
static setupVBar(model: SelectBase): PlotlyOptions;
|
|
1208
1566
|
static setupScatter(model: SelectBase): PlotlyOptions;
|
|
1567
|
+
}
|
|
1209
1568
|
}
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1569
|
+
declare module "plotly/selectBase" {
|
|
1570
|
+
import { Question } from "survey-core";
|
|
1571
|
+
import { SelectBase } from "selectBase";
|
|
1572
|
+
import Plotly from "plotly.js-dist-min";
|
|
1573
|
+
export class PlotlyChartAdapter {
|
|
1574
|
+
protected model: SelectBase;
|
|
1575
|
+
private _chart;
|
|
1576
|
+
constructor(model: SelectBase);
|
|
1577
|
+
protected patchConfigParameters(chartNode: object, traces: Array<object>, layout: object, config: object): void;
|
|
1578
|
+
get chart(): Promise<Plotly.PlotlyHTMLElement>;
|
|
1579
|
+
create(chartNode: HTMLElement): any;
|
|
1580
|
+
destroy(node: HTMLElement): void;
|
|
1581
|
+
}
|
|
1582
|
+
export class SelectBasePlotly extends SelectBase {
|
|
1583
|
+
private _chartAdapter;
|
|
1584
|
+
static types: string[];
|
|
1585
|
+
static displayModeBar: any;
|
|
1586
|
+
constructor(question: Question, data: Array<{
|
|
1587
|
+
[index: string]: any;
|
|
1588
|
+
}>, options?: {
|
|
1589
|
+
[index: string]: any;
|
|
1590
|
+
}, name?: string);
|
|
1591
|
+
protected destroyContent(container: HTMLElement): void;
|
|
1592
|
+
protected renderContent(container: HTMLElement): void;
|
|
1593
|
+
getData(): any[];
|
|
1594
|
+
}
|
|
1230
1595
|
}
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1596
|
+
declare module "plotly/matrix" {
|
|
1597
|
+
import { Question } from "survey-core";
|
|
1598
|
+
import { Matrix } from "matrix";
|
|
1599
|
+
export class MatrixPlotly extends Matrix {
|
|
1600
|
+
private _chartAdapter;
|
|
1601
|
+
static types: string[];
|
|
1602
|
+
constructor(question: Question, data: Array<{
|
|
1603
|
+
[index: string]: any;
|
|
1604
|
+
}>, options?: Object, name?: string);
|
|
1605
|
+
protected destroyContent(container: HTMLElement): void;
|
|
1606
|
+
protected renderContent(container: HTMLElement): void;
|
|
1607
|
+
}
|
|
1239
1608
|
}
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1609
|
+
declare module "plotly/boolean" {
|
|
1610
|
+
import { Question } from "survey-core";
|
|
1611
|
+
import { BooleanModel } from "boolean";
|
|
1612
|
+
import { PlotlyChartAdapter } from "plotly/selectBase";
|
|
1613
|
+
export class PlotlyBoolChartAdapter extends PlotlyChartAdapter {
|
|
1614
|
+
constructor(model: BooleanPlotly);
|
|
1615
|
+
protected patchConfigParameters(chartNode: object, traces: Array<object>, layout: object, config: object): void;
|
|
1616
|
+
}
|
|
1617
|
+
export class BooleanPlotly extends BooleanModel {
|
|
1618
|
+
private _chartAdapter;
|
|
1619
|
+
static types: string[];
|
|
1620
|
+
constructor(question: Question, data: Array<{
|
|
1621
|
+
[index: string]: any;
|
|
1622
|
+
}>, options?: Object, name?: string);
|
|
1623
|
+
protected destroyContent(container: HTMLElement): void;
|
|
1624
|
+
protected renderContent(container: HTMLElement): void;
|
|
1625
|
+
}
|
|
1244
1626
|
}
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1627
|
+
declare module "plotly/ranking" {
|
|
1628
|
+
import { SelectBasePlotly } from "plotly/selectBase";
|
|
1629
|
+
export class RankingPlotly extends SelectBasePlotly {
|
|
1630
|
+
getQuestionResults(): any[];
|
|
1631
|
+
getEmptyData(): any;
|
|
1632
|
+
getData(): any[];
|
|
1633
|
+
applyResultToPlotlyData(result: any[], plotlyData: any, choices: any): void;
|
|
1634
|
+
}
|
|
1252
1635
|
}
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1636
|
+
declare module "matrixDropdownGrouped" {
|
|
1637
|
+
import { ItemValue, QuestionMatrixDropdownModel, Question } from "survey-core";
|
|
1638
|
+
import { SelectBase } from "selectBase";
|
|
1639
|
+
export class MatrixDropdownGrouped extends SelectBase {
|
|
1640
|
+
constructor(question: Question, data: Array<{
|
|
1641
|
+
[index: string]: any;
|
|
1642
|
+
}>, options?: Object, name?: string);
|
|
1643
|
+
protected get matrixQuestion(): QuestionMatrixDropdownModel;
|
|
1644
|
+
get dataName(): string | Array<string>;
|
|
1645
|
+
getSeriesValues(): Array<string>;
|
|
1646
|
+
getSeriesLabels(): Array<string>;
|
|
1647
|
+
valuesSource(): Array<ItemValue>;
|
|
1648
|
+
protected isSupportMissingAnswers(): boolean;
|
|
1649
|
+
getData(): any[];
|
|
1650
|
+
}
|
|
1259
1651
|
}
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1652
|
+
declare module "plotly/matrixdropdown-grouped" {
|
|
1653
|
+
import { QuestionMatrixDropdownModel } from "survey-core";
|
|
1654
|
+
import { MatrixDropdownGrouped } from "matrixDropdownGrouped";
|
|
1655
|
+
export class MatrixDropdownGroupedPlotly extends MatrixDropdownGrouped {
|
|
1656
|
+
private _chartAdapter;
|
|
1657
|
+
static types: string[];
|
|
1658
|
+
constructor(question: QuestionMatrixDropdownModel, data: Array<{
|
|
1659
|
+
[index: string]: any;
|
|
1660
|
+
}>, options?: Object, name?: string);
|
|
1661
|
+
protected destroyContent(container: HTMLElement): void;
|
|
1662
|
+
protected renderContent(container: HTMLElement): void;
|
|
1663
|
+
}
|
|
1268
1664
|
}
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1665
|
+
declare module "plotly/histogram" {
|
|
1666
|
+
import { Question } from "survey-core";
|
|
1667
|
+
import { HistogramModel } from "histogram";
|
|
1668
|
+
export class HistogramPlotly extends HistogramModel {
|
|
1669
|
+
private _chartAdapter;
|
|
1670
|
+
static types: string[];
|
|
1671
|
+
constructor(question: Question, data: Array<{
|
|
1672
|
+
[index: string]: any;
|
|
1673
|
+
}>, options?: Object, name?: string);
|
|
1674
|
+
protected destroyContent(container: HTMLElement): void;
|
|
1675
|
+
protected renderContent(container: HTMLElement): void;
|
|
1676
|
+
getData(): any[];
|
|
1677
|
+
}
|
|
1278
1678
|
}
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1679
|
+
declare module "plotly/rating" {
|
|
1680
|
+
import { Question } from "survey-core";
|
|
1681
|
+
import { NumberModel } from "number";
|
|
1682
|
+
import Plotly from "plotly.js-dist-min";
|
|
1683
|
+
export class PlotlyGaugeAdapter {
|
|
1684
|
+
private model;
|
|
1685
|
+
private _chart;
|
|
1686
|
+
constructor(model: GaugePlotly);
|
|
1687
|
+
get chart(): Promise<Plotly.PlotlyHTMLElement>;
|
|
1688
|
+
create(chartNode: HTMLElement): any;
|
|
1689
|
+
destroy(node: HTMLElement): void;
|
|
1690
|
+
}
|
|
1691
|
+
export class GaugePlotly extends NumberModel {
|
|
1692
|
+
private _chartAdapter;
|
|
1693
|
+
static types: string[];
|
|
1694
|
+
constructor(question: Question, data: Array<{
|
|
1695
|
+
[index: string]: any;
|
|
1696
|
+
}>, options?: Object, name?: string);
|
|
1697
|
+
protected destroyContent(container: HTMLElement): void;
|
|
1698
|
+
protected renderContent(container: HTMLElement): void;
|
|
1699
|
+
}
|
|
1285
1700
|
}
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1701
|
+
declare module "plotly/index" {
|
|
1702
|
+
export * from "plotly/setup";
|
|
1703
|
+
export * from "plotly/selectBase";
|
|
1704
|
+
export * from "plotly/matrix";
|
|
1705
|
+
export * from "plotly/boolean";
|
|
1706
|
+
export * from "plotly/ranking";
|
|
1707
|
+
export * from "plotly/matrixdropdown-grouped";
|
|
1708
|
+
export * from "plotly/histogram";
|
|
1709
|
+
export * from "plotly/rating";
|
|
1293
1710
|
}
|
|
1294
|
-
|
|
1295
|
-
export
|
|
1296
|
-
protected table: Table;
|
|
1297
|
-
protected targetNode: HTMLElement;
|
|
1298
|
-
constructor(table: Table, row: TableRow, targetNode: HTMLElement);
|
|
1299
|
-
protected location: string;
|
|
1300
|
-
open(): void;
|
|
1301
|
-
protected createShowAsColumnButton: (columnName: string) => HTMLElement;
|
|
1302
|
-
close(): void;
|
|
1711
|
+
declare module "wordcloud/stopwords/english" {
|
|
1712
|
+
export var stopWords: string[];
|
|
1303
1713
|
}
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
location: string;
|
|
1307
|
-
name: string;
|
|
1308
|
-
visibleIndex: number;
|
|
1309
|
-
render: (table: Table, opt: any) => HTMLElement;
|
|
1310
|
-
destroy?: () => void;
|
|
1714
|
+
declare module "wordcloud/stopwords/norwegian" {
|
|
1715
|
+
export var stopWords: string[];
|
|
1311
1716
|
}
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
render(targetNode: HTMLElement, location: string, options?: any): void;
|
|
1315
|
-
destroy(): void;
|
|
1316
|
-
static registerExtension(extension: ITableExtension): void;
|
|
1317
|
-
static unregisterExtension(location: string, actionName: string): void;
|
|
1318
|
-
static findExtension(location: string, actionName: string): ITableExtension;
|
|
1717
|
+
declare module "wordcloud/stopwords/dutch" {
|
|
1718
|
+
export var stopWords: string[];
|
|
1319
1719
|
}
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
[index: string]: any;
|
|
1325
|
-
}>, options?: Object, name?: string);
|
|
1326
|
-
protected get matrixQuestion(): QuestionMatrixModel;
|
|
1327
|
-
protected isSupportMissingAnswers(): boolean;
|
|
1328
|
-
getSeriesValues(): Array<string>;
|
|
1329
|
-
getSeriesLabels(): Array<string>;
|
|
1330
|
-
getSelectedItemByText(itemText: string): any;
|
|
1331
|
-
valuesSource(): Array<ItemValue>;
|
|
1332
|
-
protected hideEmptyAnswersInData(answersData: IAnswersData): IAnswersData;
|
|
1333
|
-
getData(): any[];
|
|
1720
|
+
declare module "wordcloud/stopwords/index" {
|
|
1721
|
+
export var textHelper: {
|
|
1722
|
+
getStopWords: (locale?: string) => string[];
|
|
1723
|
+
};
|
|
1334
1724
|
}
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1725
|
+
declare module "wordcloud/wordcloud" {
|
|
1726
|
+
import { Question } from "survey-core";
|
|
1727
|
+
import { VisualizerBase } from "visualizerBase";
|
|
1728
|
+
export class WordCloudAdapter {
|
|
1729
|
+
private model;
|
|
1730
|
+
private _wordcloud;
|
|
1731
|
+
static drawOutOfBound: boolean;
|
|
1732
|
+
static shrinkToFit: boolean;
|
|
1733
|
+
static abortThreshold: any;
|
|
1734
|
+
static weightFactor: number;
|
|
1735
|
+
constructor(model: WordCloud);
|
|
1736
|
+
get wordcloud(): any;
|
|
1737
|
+
create(node: HTMLElement): any;
|
|
1738
|
+
destroy(node: HTMLElement): void;
|
|
1739
|
+
}
|
|
1740
|
+
export class WordCloud extends VisualizerBase {
|
|
1741
|
+
private _wordcloudAdapter;
|
|
1742
|
+
constructor(question: Question, data: Array<{
|
|
1743
|
+
[index: string]: any;
|
|
1744
|
+
}>, options?: Object, name?: string);
|
|
1745
|
+
getData(): (string | number)[][];
|
|
1746
|
+
protected destroyContent(container: HTMLElement): void;
|
|
1747
|
+
protected renderContent(container: HTMLElement): void;
|
|
1748
|
+
destroy(): void;
|
|
1749
|
+
}
|
|
1348
1750
|
}
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1751
|
+
declare module "text" {
|
|
1752
|
+
import { Question } from "survey-core";
|
|
1753
|
+
import { VisualizerBase } from "visualizerBase";
|
|
1754
|
+
import "./text.scss";
|
|
1755
|
+
export class TextTableAdapter {
|
|
1756
|
+
private model;
|
|
1757
|
+
constructor(model: Text);
|
|
1758
|
+
create(container: HTMLElement): void;
|
|
1759
|
+
destroy(node: HTMLElement): void;
|
|
1760
|
+
}
|
|
1761
|
+
export class Text extends VisualizerBase {
|
|
1762
|
+
private _textTableAdapter;
|
|
1763
|
+
constructor(question: Question, data: Array<{
|
|
1764
|
+
[index: string]: any;
|
|
1765
|
+
}>, options?: Object, name?: string);
|
|
1766
|
+
getData(): {
|
|
1767
|
+
columnsCount: number;
|
|
1768
|
+
data: string[][];
|
|
1769
|
+
};
|
|
1770
|
+
protected destroyContent(container: HTMLElement): void;
|
|
1771
|
+
protected renderContent(container: HTMLElement): void;
|
|
1772
|
+
destroy(): void;
|
|
1773
|
+
}
|
|
1361
1774
|
}
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
}
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
}
|
|
1381
|
-
protected onDataChanged(): void;
|
|
1382
|
-
protected getContiniousValues(): {
|
|
1383
|
-
original: any;
|
|
1384
|
-
continious: number;
|
|
1385
|
-
}[];
|
|
1386
|
-
protected isSupportMissingAnswers(): boolean;
|
|
1387
|
-
getValues(): Array<any>;
|
|
1388
|
-
getLabels(): Array<string>;
|
|
1389
|
-
get hasCustomIntervals(): boolean;
|
|
1390
|
-
get intervals(): any;
|
|
1391
|
-
getData(): any;
|
|
1775
|
+
declare module "choices-table" {
|
|
1776
|
+
import { Question } from "survey-core";
|
|
1777
|
+
import { SelectBase } from "selectBase";
|
|
1778
|
+
import "./choices-table.scss";
|
|
1779
|
+
export class ChoicesTableAdapter {
|
|
1780
|
+
private model;
|
|
1781
|
+
constructor(model: ChoicesTable);
|
|
1782
|
+
create(container: HTMLElement): void;
|
|
1783
|
+
destroy(node: HTMLElement): void;
|
|
1784
|
+
}
|
|
1785
|
+
export class ChoicesTable extends SelectBase {
|
|
1786
|
+
private _choicesTableAdapter;
|
|
1787
|
+
constructor(question: Question, data: Array<{
|
|
1788
|
+
[index: string]: any;
|
|
1789
|
+
}>, options?: Object, name?: string);
|
|
1790
|
+
protected destroyContent(container: HTMLElement): void;
|
|
1791
|
+
protected renderContent(container: HTMLElement): void;
|
|
1792
|
+
destroy(): void;
|
|
1793
|
+
}
|
|
1392
1794
|
}
|
|
1393
|
-
|
|
1394
|
-
export
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1795
|
+
declare module "entries/summary" {
|
|
1796
|
+
export * from "localizationManager";
|
|
1797
|
+
import "localization/farsi";
|
|
1798
|
+
import "localization/french";
|
|
1799
|
+
import "localization/norwegian";
|
|
1800
|
+
import "localization/portuguese";
|
|
1801
|
+
import "localization/russian";
|
|
1802
|
+
import "localization/dutch";
|
|
1803
|
+
import "localization/spanish";
|
|
1804
|
+
import "localization/italian";
|
|
1805
|
+
export * from "dataProvider";
|
|
1806
|
+
export * from "number";
|
|
1807
|
+
export * from "selectBase";
|
|
1808
|
+
export * from "matrix";
|
|
1809
|
+
export * from "boolean";
|
|
1810
|
+
export * from "histogram";
|
|
1811
|
+
export * from "visualizerBase";
|
|
1812
|
+
export * from "visualizationManager";
|
|
1813
|
+
export * from "visualizationPanel";
|
|
1814
|
+
export * from "visualizationPanelDynamic";
|
|
1815
|
+
export * from "visualizationMatrixDynamic";
|
|
1816
|
+
export * from "visualizationMatrixDropdown";
|
|
1817
|
+
export * from "alternativeVizualizersWrapper";
|
|
1818
|
+
export * from "plotly/index";
|
|
1819
|
+
export * from "wordcloud/wordcloud";
|
|
1820
|
+
export * from "wordcloud/stopwords/index";
|
|
1821
|
+
export * from "text";
|
|
1822
|
+
export * from "choices-table";
|
|
1823
|
+
export { DocumentHelper } from "utils/index";
|
|
1413
1824
|
}
|
|
1414
|
-
|
|
1415
|
-
|
|
1825
|
+
declare module 'survey-analytics' { import main = require('entries/summary'); export = main; }
|