survey-analytics 2.3.4 → 2.3.5

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.
Files changed (66) hide show
  1. package/fesm/shared.mjs +59 -1
  2. package/fesm/shared.mjs.map +1 -1
  3. package/fesm/shared2.mjs +145 -48
  4. package/fesm/shared2.mjs.map +1 -1
  5. package/fesm/survey.analytics.core.mjs +2 -2
  6. package/fesm/survey.analytics.mjs +4 -4
  7. package/fesm/survey.analytics.mjs.map +1 -1
  8. package/fesm/survey.analytics.tabulator.mjs +17 -4
  9. package/fesm/survey.analytics.tabulator.mjs.map +1 -1
  10. package/package.json +2 -2
  11. package/survey-analytics-tabulator.types/analytics-localization/arabic.d.ts +2 -0
  12. package/survey-analytics-tabulator.types/analytics-localization/dutch.d.ts +2 -0
  13. package/survey-analytics-tabulator.types/analytics-localization/english.d.ts +2 -0
  14. package/survey-analytics-tabulator.types/analytics-localization/farsi.d.ts +2 -0
  15. package/survey-analytics-tabulator.types/analytics-localization/finnish.d.ts +2 -0
  16. package/survey-analytics-tabulator.types/analytics-localization/french.d.ts +2 -0
  17. package/survey-analytics-tabulator.types/analytics-localization/german.d.ts +2 -0
  18. package/survey-analytics-tabulator.types/analytics-localization/italian.d.ts +2 -0
  19. package/survey-analytics-tabulator.types/analytics-localization/japanese.d.ts +2 -0
  20. package/survey-analytics-tabulator.types/analytics-localization/norwegian.d.ts +2 -0
  21. package/survey-analytics-tabulator.types/analytics-localization/polish.d.ts +2 -0
  22. package/survey-analytics-tabulator.types/analytics-localization/portuguese.d.ts +2 -0
  23. package/survey-analytics-tabulator.types/analytics-localization/russian.d.ts +2 -0
  24. package/survey-analytics-tabulator.types/analytics-localization/spanish.d.ts +2 -0
  25. package/survey-analytics-tabulator.types/analytics-localization/swedish.d.ts +2 -0
  26. package/survey-analytics-tabulator.types/localizationManager.d.ts +2 -0
  27. package/survey-analytics-tabulator.types/tables/table.d.ts +6 -2
  28. package/survey-analytics.types/alternativeVizualizersWrapper.d.ts +9 -1
  29. package/survey-analytics.types/analytics-localization/arabic.d.ts +2 -0
  30. package/survey-analytics.types/analytics-localization/dutch.d.ts +2 -0
  31. package/survey-analytics.types/analytics-localization/english.d.ts +2 -0
  32. package/survey-analytics.types/analytics-localization/farsi.d.ts +2 -0
  33. package/survey-analytics.types/analytics-localization/finnish.d.ts +2 -0
  34. package/survey-analytics.types/analytics-localization/french.d.ts +2 -0
  35. package/survey-analytics.types/analytics-localization/german.d.ts +2 -0
  36. package/survey-analytics.types/analytics-localization/italian.d.ts +2 -0
  37. package/survey-analytics.types/analytics-localization/japanese.d.ts +2 -0
  38. package/survey-analytics.types/analytics-localization/norwegian.d.ts +2 -0
  39. package/survey-analytics.types/analytics-localization/polish.d.ts +2 -0
  40. package/survey-analytics.types/analytics-localization/portuguese.d.ts +2 -0
  41. package/survey-analytics.types/analytics-localization/russian.d.ts +2 -0
  42. package/survey-analytics.types/analytics-localization/spanish.d.ts +2 -0
  43. package/survey-analytics.types/analytics-localization/swedish.d.ts +2 -0
  44. package/survey-analytics.types/localizationManager.d.ts +2 -0
  45. package/survey-analytics.types/selectBase.d.ts +1 -1
  46. package/survey-analytics.types/statistics-table.d.ts +11 -1
  47. package/survey-analytics.types/visualizationPanel.d.ts +1 -0
  48. package/survey-analytics.types/visualizerBase.d.ts +14 -0
  49. package/survey.analytics.core.css +1 -1
  50. package/survey.analytics.core.js +234 -59
  51. package/survey.analytics.core.js.map +1 -1
  52. package/survey.analytics.core.min.css +1 -1
  53. package/survey.analytics.core.min.js +1 -1
  54. package/survey.analytics.core.min.js.LICENSE.txt +1 -1
  55. package/survey.analytics.css +1 -1
  56. package/survey.analytics.js +236 -60
  57. package/survey.analytics.js.map +1 -1
  58. package/survey.analytics.min.css +1 -1
  59. package/survey.analytics.min.js +1 -1
  60. package/survey.analytics.min.js.LICENSE.txt +1 -1
  61. package/survey.analytics.tabulator.css +1 -1
  62. package/survey.analytics.tabulator.js +74 -3
  63. package/survey.analytics.tabulator.js.map +1 -1
  64. package/survey.analytics.tabulator.min.css +1 -1
  65. package/survey.analytics.tabulator.min.js +1 -1
  66. package/survey.analytics.tabulator.min.js.LICENSE.txt +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - SurveyJS Dashboard library v2.3.4
2
+ * surveyjs - SurveyJS Dashboard library v2.3.5
3
3
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -6925,12 +6925,15 @@ var AlternativeVisualizersWrapper = /** @class */ (function (_super) {
6925
6925
  if (quiet === void 0) { quiet = false; }
6926
6926
  var visualizerCandidate = this.visualizers.filter(function (v) { return v.type === type; })[0];
6927
6927
  if (!!visualizerCandidate && visualizerCandidate !== this.visualizer) {
6928
+ var isFooterCollapsed = void 0;
6928
6929
  if (!!this.visualizer) {
6930
+ isFooterCollapsed = this.visualizer.isFooterCollapsed;
6929
6931
  this.visualizer.onStateChanged.remove(this.onVisualizerStateChangedCallback);
6930
6932
  this.visualizer.onAfterRender.remove(this.onAfterVisualizerRenderCallback);
6931
6933
  this.visualizer.destroy();
6932
6934
  }
6933
6935
  this.visualizer = visualizerCandidate;
6936
+ this.visualizer.isFooterCollapsed = isFooterCollapsed;
6934
6937
  this.refresh();
6935
6938
  this.visualizer.onAfterRender.add(this.onAfterVisualizerRenderCallback);
6936
6939
  this.visualizer.onStateChanged.add(this.onVisualizerStateChangedCallback);
@@ -6984,6 +6987,7 @@ var AlternativeVisualizersWrapper = /** @class */ (function (_super) {
6984
6987
  *
6985
6988
  * > This method is overriden in descendant classes.
6986
6989
  * @see setState
6990
+ * @see resetState
6987
6991
  */
6988
6992
  AlternativeVisualizersWrapper.prototype.getState = function () {
6989
6993
  var currentVisualizerState = this.visualizer.getState();
@@ -6998,8 +7002,8 @@ var AlternativeVisualizersWrapper = /** @class */ (function (_super) {
6998
7002
  /**
6999
7003
  * Sets the visualizer's state.
7000
7004
  *
7001
- * > This method is overriden in descendant classes.
7002
7005
  * @see getState
7006
+ * @see resetState
7003
7007
  */
7004
7008
  AlternativeVisualizersWrapper.prototype.setState = function (state) {
7005
7009
  if (!!state.visualizer) {
@@ -7009,6 +7013,17 @@ var AlternativeVisualizersWrapper = /** @class */ (function (_super) {
7009
7013
  this.visualizer.setState(state.state);
7010
7014
  }
7011
7015
  };
7016
+ /**
7017
+ * Resets the visualizer's state.
7018
+ *
7019
+ * @see getState
7020
+ * @see setState
7021
+ */
7022
+ AlternativeVisualizersWrapper.prototype.resetState = function () {
7023
+ _super.prototype.resetState.call(this);
7024
+ this.visualizers.forEach(function (visualizer) { return visualizer.resetState(); });
7025
+ this.setVisualizer(this.visualizers[0].type, true);
7026
+ };
7012
7027
  AlternativeVisualizersWrapper.prototype.getValues = function () {
7013
7028
  return this.visualizer.getValues();
7014
7029
  };
@@ -7192,6 +7207,10 @@ var arabicStrings = {
7192
7207
  responses: "الاستجابات",
7193
7208
  // [Auto-translated] "NPS"
7194
7209
  visualizer_nps: "NPS",
7210
+ // [Auto-translated] "Chart"
7211
+ visualizer_boolean: "جدول",
7212
+ // [Auto-translated] "Table"
7213
+ visualizer_options: "جدول",
7195
7214
  // [Auto-translated] "NPS"
7196
7215
  npsScore: "NPS",
7197
7216
  // [Auto-translated] "Promoters"
@@ -7372,6 +7391,10 @@ var dutchStrings = {
7372
7391
  responses: "Reacties",
7373
7392
  // [Auto-translated] "NPS"
7374
7393
  visualizer_nps: "NPS",
7394
+ // [Auto-translated] "Chart"
7395
+ visualizer_boolean: "Zeekaart",
7396
+ // [Auto-translated] "Table"
7397
+ visualizer_options: "Tafel",
7375
7398
  // [Auto-translated] "NPS"
7376
7399
  npsScore: "NPS",
7377
7400
  // [Auto-translated] "Promoters"
@@ -7481,6 +7504,8 @@ var englishStrings = {
7481
7504
  statistics_chart: "Chart",
7482
7505
  responses: "Responses",
7483
7506
  visualizer_nps: "NPS",
7507
+ visualizer_boolean: "Chart",
7508
+ visualizer_options: "Table",
7484
7509
  npsScore: "NPS",
7485
7510
  npsPromoters: "Promoters",
7486
7511
  npsPassives: "Passives",
@@ -7657,6 +7682,10 @@ var farsiStrings = {
7657
7682
  responses: "پاسخ",
7658
7683
  // [Auto-translated] "NPS"
7659
7684
  visualizer_nps: "NPS",
7685
+ // [Auto-translated] "Chart"
7686
+ visualizer_boolean: "نمودار",
7687
+ // [Auto-translated] "Table"
7688
+ visualizer_options: "جدول",
7660
7689
  // [Auto-translated] "NPS"
7661
7690
  npsScore: "NPS",
7662
7691
  // [Auto-translated] "Promoters"
@@ -7837,6 +7866,10 @@ var finnishStrings = {
7837
7866
  responses: "Vastaukset",
7838
7867
  // "NPS"
7839
7868
  visualizer_nps: "NPS",
7869
+ // [Auto-translated] "Chart"
7870
+ visualizer_boolean: "Kaavio",
7871
+ // [Auto-translated] "Table"
7872
+ visualizer_options: "Pöytä",
7840
7873
  // "NPS"
7841
7874
  npsScore: "NPS",
7842
7875
  // "Promoters"
@@ -8017,6 +8050,10 @@ var frenchStrings = {
8017
8050
  responses: "Réponses",
8018
8051
  // [Auto-translated] "NPS"
8019
8052
  visualizer_nps: "Le NPS",
8053
+ // [Auto-translated] "Chart"
8054
+ visualizer_boolean: "Graphique",
8055
+ // [Auto-translated] "Table"
8056
+ visualizer_options: "Table",
8020
8057
  // [Auto-translated] "NPS"
8021
8058
  npsScore: "Le NPS",
8022
8059
  // [Auto-translated] "Promoters"
@@ -8197,6 +8234,10 @@ var germanStrings = {
8197
8234
  responses: "Antworten",
8198
8235
  // [Auto-translated] "NPS"
8199
8236
  visualizer_nps: "NPS (NPS)",
8237
+ // [Auto-translated] "Chart"
8238
+ visualizer_boolean: "Diagramm",
8239
+ // [Auto-translated] "Table"
8240
+ visualizer_options: "Tisch",
8200
8241
  // [Auto-translated] "NPS"
8201
8242
  npsScore: "NPS (NPS)",
8202
8243
  // [Auto-translated] "Promoters"
@@ -8377,6 +8418,10 @@ var italianStrings = {
8377
8418
  responses: "Risposte",
8378
8419
  // [Auto-translated] "NPS"
8379
8420
  visualizer_nps: "Rete nazionale di dati",
8421
+ // [Auto-translated] "Chart"
8422
+ visualizer_boolean: "Tabella",
8423
+ // [Auto-translated] "Table"
8424
+ visualizer_options: "Tavolo",
8380
8425
  // [Auto-translated] "NPS"
8381
8426
  npsScore: "Rete nazionale di dati",
8382
8427
  // [Auto-translated] "Promoters"
@@ -8557,6 +8602,10 @@ var japaneseStrings = {
8557
8602
  responses: "回答数",
8558
8603
  // [Auto-translated] "NPS"
8559
8604
  visualizer_nps: "NPSの",
8605
+ // [Auto-translated] "Chart"
8606
+ visualizer_boolean: "チャート",
8607
+ // [Auto-translated] "Table"
8608
+ visualizer_options: "テーブル",
8560
8609
  // [Auto-translated] "NPS"
8561
8610
  npsScore: "NPSの",
8562
8611
  // [Auto-translated] "Promoters"
@@ -8737,6 +8786,10 @@ var norwegianStrings = {
8737
8786
  responses: "Svar",
8738
8787
  // [Auto-translated] "NPS"
8739
8788
  visualizer_nps: "NPS",
8789
+ // [Auto-translated] "Chart"
8790
+ visualizer_boolean: "Sjøkart",
8791
+ // [Auto-translated] "Table"
8792
+ visualizer_options: "Bord",
8740
8793
  // [Auto-translated] "NPS"
8741
8794
  npsScore: "NPS",
8742
8795
  // [Auto-translated] "Promoters"
@@ -8917,6 +8970,10 @@ var plStrings = {
8917
8970
  responses: "Odpowiedzi",
8918
8971
  // [Auto-translated] "NPS"
8919
8972
  visualizer_nps: "Wskaźnik NPS",
8973
+ // [Auto-translated] "Chart"
8974
+ visualizer_boolean: "Wykres",
8975
+ // [Auto-translated] "Table"
8976
+ visualizer_options: "Stół",
8920
8977
  // [Auto-translated] "NPS"
8921
8978
  npsScore: "Wskaźnik NPS",
8922
8979
  // [Auto-translated] "Promoters"
@@ -9097,6 +9154,10 @@ var portugueseStrings = {
9097
9154
  responses: "Respostas",
9098
9155
  // [Auto-translated] "NPS"
9099
9156
  visualizer_nps: "NPS",
9157
+ // [Auto-translated] "Chart"
9158
+ visualizer_boolean: "Gráfico",
9159
+ // [Auto-translated] "Table"
9160
+ visualizer_options: "Mesa",
9100
9161
  // [Auto-translated] "NPS"
9101
9162
  npsScore: "NPS",
9102
9163
  // [Auto-translated] "Promoters"
@@ -9277,6 +9338,10 @@ var russianStrings = {
9277
9338
  responses: "ответов",
9278
9339
  // [Auto-translated] "NPS"
9279
9340
  visualizer_nps: "NPS",
9341
+ // [Auto-translated] "Chart"
9342
+ visualizer_boolean: "Диаграмма",
9343
+ // [Auto-translated] "Table"
9344
+ visualizer_options: "Стол",
9280
9345
  // [Auto-translated] "NPS"
9281
9346
  npsScore: "NPS",
9282
9347
  // [Auto-translated] "Promoters"
@@ -9457,6 +9522,10 @@ var spanishStrings = {
9457
9522
  responses: "Respuestas",
9458
9523
  // [Auto-translated] "NPS"
9459
9524
  visualizer_nps: "NPS",
9525
+ // [Auto-translated] "Chart"
9526
+ visualizer_boolean: "Gráfico",
9527
+ // [Auto-translated] "Table"
9528
+ visualizer_options: "Mesa",
9460
9529
  // [Auto-translated] "NPS"
9461
9530
  npsScore: "NPS",
9462
9531
  // [Auto-translated] "Promoters"
@@ -9637,6 +9706,10 @@ var swedishStrings = {
9637
9706
  responses: "Svar",
9638
9707
  // "NPS"
9639
9708
  visualizer_nps: "NPS",
9709
+ // [Auto-translated] "Chart"
9710
+ visualizer_boolean: "Diagram",
9711
+ // [Auto-translated] "Table"
9712
+ visualizer_options: "Bord",
9640
9713
  // "NPS"
9641
9714
  npsScore: "NPS",
9642
9715
  // "Promoters"
@@ -10149,7 +10222,7 @@ var HistogramModel = /** @class */ (function (_super) {
10149
10222
 
10150
10223
  _visualizationManager__WEBPACK_IMPORTED_MODULE_4__.VisualizationManager.registerVisualizer("date", HistogramModel);
10151
10224
  _visualizationManager__WEBPACK_IMPORTED_MODULE_4__.VisualizationManager.registerVisualizer("number", HistogramModel, 100);
10152
- _visualizationManager__WEBPACK_IMPORTED_MODULE_4__.VisualizationManager.registerVisualizer("rating", HistogramModel, 100);
10225
+ _visualizationManager__WEBPACK_IMPORTED_MODULE_4__.VisualizationManager.registerVisualizer("rating", HistogramModel, 300);
10153
10226
 
10154
10227
 
10155
10228
  /***/ }),
@@ -11607,7 +11680,6 @@ var SelectBase = /** @class */ (function (_super) {
11607
11680
  _this._showOnlyPercentages = false;
11608
11681
  _this._percentagePrecision = 0;
11609
11682
  _this._answersOrder = "default";
11610
- _this._supportSelection = true;
11611
11683
  _this._hideEmptyAnswers = false;
11612
11684
  _this._topN = -1;
11613
11685
  _this.topNValues = [].concat(SelectBase.topNValuesDefaults);
@@ -11627,6 +11699,7 @@ var SelectBase = /** @class */ (function (_super) {
11627
11699
  _this.dataProvider.raiseDataChanged();
11628
11700
  };
11629
11701
  }
11702
+ _this._supportSelection = true;
11630
11703
  _this._showPercentages = _this.options.showPercentages === true;
11631
11704
  _this._showOnlyPercentages = _this.options.showOnlyPercentages === true;
11632
11705
  if (_this.options.percentagePrecision) {
@@ -12200,6 +12273,18 @@ var SelectBase = /** @class */ (function (_super) {
12200
12273
  var selectedItem = survey_core__WEBPACK_IMPORTED_MODULE_1__.ItemValue.getItemByValue(this.question.visibleChoices, state.filter);
12201
12274
  this.setSelection(selectedItem !== null && selectedItem !== void 0 ? selectedItem : undefined);
12202
12275
  };
12276
+ SelectBase.prototype.resetState = function () {
12277
+ _super.prototype.resetState.call(this);
12278
+ // this._showPercentages = this.options.showPercentages === true;
12279
+ // this._showOnlyPercentages = this.options.showOnlyPercentages === true;
12280
+ // this._showMissingAnswers = this.isSupportMissingAnswers() && this.options.showMissingAnswers === true;
12281
+ // this._transposeData = this.options.transposeData || false;
12282
+ this._hideEmptyAnswers = this.options.hideEmptyAnswers === true;
12283
+ this._answersOrder = this.options.answersOrder || "default";
12284
+ this._topN = -1;
12285
+ this.chartType = this.chartTypes[0];
12286
+ this.setSelection(undefined);
12287
+ };
12203
12288
  SelectBase.topNValuesDefaults = [-1, 5, 10, 20];
12204
12289
  SelectBase._stateProperties = ["chartType", "answersOrder", "hideEmptyAnswers", "topN"];
12205
12290
  return SelectBase;
@@ -12210,6 +12295,7 @@ _visualizationManager__WEBPACK_IMPORTED_MODULE_5__.VisualizationManager.register
12210
12295
  _visualizationManager__WEBPACK_IMPORTED_MODULE_5__.VisualizationManager.registerVisualizer("dropdown", SelectBase);
12211
12296
  _visualizationManager__WEBPACK_IMPORTED_MODULE_5__.VisualizationManager.registerVisualizer("imagepicker", SelectBase);
12212
12297
  _visualizationManager__WEBPACK_IMPORTED_MODULE_5__.VisualizationManager.registerVisualizer("tagbox", SelectBase);
12298
+ _visualizationManager__WEBPACK_IMPORTED_MODULE_5__.VisualizationManager.registerVisualizer("rating", SelectBase, 100);
12213
12299
 
12214
12300
 
12215
12301
  /***/ }),
@@ -12367,14 +12453,17 @@ __webpack_require__.r(__webpack_exports__);
12367
12453
  __webpack_require__.r(__webpack_exports__);
12368
12454
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
12369
12455
  /* harmony export */ StatisticsTable: () => (/* binding */ StatisticsTable),
12370
- /* harmony export */ StatisticsTableAdapter: () => (/* binding */ StatisticsTableAdapter)
12456
+ /* harmony export */ StatisticsTableAdapter: () => (/* binding */ StatisticsTableAdapter),
12457
+ /* harmony export */ StatisticsTableBoolean: () => (/* binding */ StatisticsTableBoolean)
12371
12458
  /* harmony export */ });
12372
12459
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./src/utils/helpers.ts");
12373
12460
  /* harmony import */ var _selectBase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./selectBase */ "./src/selectBase.ts");
12374
- /* harmony import */ var _visualizationManager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./visualizationManager */ "./src/visualizationManager.ts");
12375
- /* harmony import */ var _localizationManager__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./localizationManager */ "./src/localizationManager.ts");
12461
+ /* harmony import */ var _boolean__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./boolean */ "./src/boolean.ts");
12462
+ /* harmony import */ var _visualizationManager__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./visualizationManager */ "./src/visualizationManager.ts");
12376
12463
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils */ "./src/utils/index.ts");
12377
- /* harmony import */ var _statistics_table_scss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./statistics-table.scss */ "./src/statistics-table.scss");
12464
+ /* harmony import */ var _localizationManager__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./localizationManager */ "./src/localizationManager.ts");
12465
+ /* harmony import */ var _statistics_table_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./statistics-table.scss */ "./src/statistics-table.scss");
12466
+
12378
12467
 
12379
12468
 
12380
12469
 
@@ -12396,7 +12485,7 @@ var StatisticsTableAdapter = /** @class */ (function () {
12396
12485
  _a = _b.sent(), datasets = _a.datasets, labels = _a.labels, colors = _a.colors, texts = _a.texts, seriesLabels = _a.seriesLabels;
12397
12486
  hasSeries = seriesLabels.length > 1;
12398
12487
  emptyTextNode = _utils__WEBPACK_IMPORTED_MODULE_4__.DocumentHelper.createElement("p", "", {
12399
- innerText: _localizationManager__WEBPACK_IMPORTED_MODULE_3__.localization.getString("noResults"),
12488
+ innerText: _localizationManager__WEBPACK_IMPORTED_MODULE_5__.localization.getString("noResults"),
12400
12489
  });
12401
12490
  if (datasets.length === 0 || datasets[0].length === 0) {
12402
12491
  container.appendChild(emptyTextNode);
@@ -12408,19 +12497,19 @@ var StatisticsTableAdapter = /** @class */ (function () {
12408
12497
  container.appendChild(tableNode);
12409
12498
  var headerRow = _utils__WEBPACK_IMPORTED_MODULE_4__.DocumentHelper.createElement("tr");
12410
12499
  var labelCell = _utils__WEBPACK_IMPORTED_MODULE_4__.DocumentHelper.createElement("th", "sa-statistics-table__cell-header", {
12411
- textContent: _localizationManager__WEBPACK_IMPORTED_MODULE_3__.localization.getString("answer"),
12500
+ textContent: _localizationManager__WEBPACK_IMPORTED_MODULE_5__.localization.getString("answer"),
12412
12501
  });
12413
12502
  headerRow.appendChild(labelCell);
12414
12503
  var sparklineCell = _utils__WEBPACK_IMPORTED_MODULE_4__.DocumentHelper.createElement("th", "sa-statistics-table__cell-header", {
12415
- textContent: _localizationManager__WEBPACK_IMPORTED_MODULE_3__.localization.getString("statistics_chart"),
12504
+ textContent: _localizationManager__WEBPACK_IMPORTED_MODULE_5__.localization.getString("statistics_chart"),
12416
12505
  });
12417
12506
  headerRow.appendChild(sparklineCell);
12418
12507
  var percentCell = _utils__WEBPACK_IMPORTED_MODULE_4__.DocumentHelper.createElement("th", "sa-statistics-table__cell-header", {
12419
- textContent: _localizationManager__WEBPACK_IMPORTED_MODULE_3__.localization.getString("percentage"),
12508
+ textContent: _localizationManager__WEBPACK_IMPORTED_MODULE_5__.localization.getString("percentage"),
12420
12509
  });
12421
12510
  headerRow.appendChild(percentCell);
12422
12511
  var valueCell = _utils__WEBPACK_IMPORTED_MODULE_4__.DocumentHelper.createElement("th", "sa-statistics-table__cell-header", {
12423
- textContent: _localizationManager__WEBPACK_IMPORTED_MODULE_3__.localization.getString("responses"),
12512
+ textContent: _localizationManager__WEBPACK_IMPORTED_MODULE_5__.localization.getString("responses"),
12424
12513
  });
12425
12514
  headerRow.appendChild(valueCell);
12426
12515
  tableNode.appendChild(headerRow);
@@ -12497,9 +12586,46 @@ var StatisticsTable = /** @class */ (function (_super) {
12497
12586
  return StatisticsTable;
12498
12587
  }(_selectBase__WEBPACK_IMPORTED_MODULE_1__.SelectBase));
12499
12588
 
12500
- _visualizationManager__WEBPACK_IMPORTED_MODULE_2__.VisualizationManager.registerVisualizer("radiogroup", StatisticsTable);
12501
- _visualizationManager__WEBPACK_IMPORTED_MODULE_2__.VisualizationManager.registerVisualizer("dropdown", StatisticsTable);
12502
- _visualizationManager__WEBPACK_IMPORTED_MODULE_2__.VisualizationManager.registerVisualizer("checkbox", StatisticsTable);
12589
+ var StatisticsTableBoolean = /** @class */ (function (_super) {
12590
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__extends)(StatisticsTableBoolean, _super);
12591
+ function StatisticsTableBoolean(question, data, options, name) {
12592
+ var _this = _super.call(this, question, data, options, name || "options") || this;
12593
+ _this._statisticsTableAdapter = new StatisticsTableAdapter(_this);
12594
+ _this.showPercentages = true;
12595
+ return _this;
12596
+ }
12597
+ StatisticsTableBoolean.prototype.destroyContent = function (container) {
12598
+ this._statisticsTableAdapter.destroy(container);
12599
+ _super.prototype.destroyContent.call(this, container);
12600
+ };
12601
+ StatisticsTableBoolean.prototype.renderContentAsync = function (container) {
12602
+ return (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__awaiter)(this, void 0, void 0, function () {
12603
+ var tableNode;
12604
+ return (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__generator)(this, function (_a) {
12605
+ switch (_a.label) {
12606
+ case 0:
12607
+ tableNode = _utils__WEBPACK_IMPORTED_MODULE_4__.DocumentHelper.createElement("div");
12608
+ return [4 /*yield*/, this._statisticsTableAdapter.create(tableNode)];
12609
+ case 1:
12610
+ _a.sent();
12611
+ container.innerHTML = "";
12612
+ container.appendChild(tableNode);
12613
+ return [2 /*return*/, container];
12614
+ }
12615
+ });
12616
+ });
12617
+ };
12618
+ StatisticsTableBoolean.prototype.destroy = function () {
12619
+ this._statisticsTableAdapter.destroy(this.contentContainer);
12620
+ _super.prototype.destroy.call(this);
12621
+ };
12622
+ return StatisticsTableBoolean;
12623
+ }(_boolean__WEBPACK_IMPORTED_MODULE_2__.BooleanModel));
12624
+
12625
+ _visualizationManager__WEBPACK_IMPORTED_MODULE_3__.VisualizationManager.registerVisualizer("radiogroup", StatisticsTable);
12626
+ _visualizationManager__WEBPACK_IMPORTED_MODULE_3__.VisualizationManager.registerVisualizer("dropdown", StatisticsTable);
12627
+ _visualizationManager__WEBPACK_IMPORTED_MODULE_3__.VisualizationManager.registerVisualizer("checkbox", StatisticsTable);
12628
+ _visualizationManager__WEBPACK_IMPORTED_MODULE_3__.VisualizationManager.registerVisualizer("boolean", StatisticsTableBoolean);
12503
12629
 
12504
12630
 
12505
12631
  /***/ }),
@@ -13198,7 +13324,7 @@ var VisualizationManager = /** @class */ (function () {
13198
13324
  if (constructor) {
13199
13325
  var visualizers = VisualizationManager.vizualizers[qType];
13200
13326
  if (!!visualizers) {
13201
- var vDescr = visualizers.filter(function (v) { return v.ctor === constructor || v.ctor.isPrototypeOf(constructor); })[0];
13327
+ var vDescr = visualizers.filter(function (v) { return v.ctor === constructor; })[0];
13202
13328
  if (!!vDescr) {
13203
13329
  var index = visualizers.indexOf(vDescr);
13204
13330
  if (index !== -1) {
@@ -13627,48 +13753,52 @@ var VisualizationPanel = /** @class */ (function (_super) {
13627
13753
  return (0,_utils_index__WEBPACK_IMPORTED_MODULE_5__.createCommercialLicenseLink)();
13628
13754
  });
13629
13755
  }
13630
- _this.registerToolbarItem("resetFilter", function () {
13631
- return _utils_index__WEBPACK_IMPORTED_MODULE_5__.DocumentHelper.createButton(function () {
13632
- _this.visualizers.forEach(function (visualizer) {
13633
- if (visualizer instanceof _selectBase__WEBPACK_IMPORTED_MODULE_3__.SelectBase || visualizer instanceof _alternativeVizualizersWrapper__WEBPACK_IMPORTED_MODULE_4__.AlternativeVisualizersWrapper) {
13634
- visualizer.setSelection(undefined);
13635
- }
13636
- });
13637
- }, _localizationManager__WEBPACK_IMPORTED_MODULE_6__.localization.getString("resetFilter"));
13638
- }, 900);
13756
+ _this._supportSelection = true;
13757
+ if (_this.supportSelection !== false) {
13758
+ _this.registerToolbarItem("resetFilter", function () {
13759
+ return _utils_index__WEBPACK_IMPORTED_MODULE_5__.DocumentHelper.createButton(function () {
13760
+ _this.visualizers.forEach(function (visualizer) {
13761
+ if (visualizer instanceof _selectBase__WEBPACK_IMPORTED_MODULE_3__.SelectBase || visualizer instanceof _alternativeVizualizersWrapper__WEBPACK_IMPORTED_MODULE_4__.AlternativeVisualizersWrapper) {
13762
+ visualizer.setSelection(undefined);
13763
+ }
13764
+ });
13765
+ }, _localizationManager__WEBPACK_IMPORTED_MODULE_6__.localization.getString("resetFilter"));
13766
+ }, 900);
13767
+ }
13639
13768
  _this.registerToolbarItem("addElement", function (toolbar) {
13640
13769
  if (_this.allowHideQuestions) {
13641
13770
  var addElementSelector_1 = undefined;
13642
13771
  var addElementSelectorUpdater = function (panel, options) {
13643
13772
  var hiddenElements = _this.hiddenElements;
13773
+ var selectWrapper = _utils_index__WEBPACK_IMPORTED_MODULE_5__.DocumentHelper.createSelector([
13774
+ {
13775
+ name: undefined,
13776
+ displayName: _localizationManager__WEBPACK_IMPORTED_MODULE_6__.localization.getString("addElement"),
13777
+ },
13778
+ ]
13779
+ .concat(hiddenElements)
13780
+ .map(function (element) {
13781
+ return {
13782
+ value: element.name,
13783
+ text: element.displayName,
13784
+ };
13785
+ }), function (option) { return false; }, function (e) {
13786
+ _this.showElement(e.target.value);
13787
+ });
13788
+ if (addElementSelector_1) {
13789
+ toolbar.replaceChild(selectWrapper, addElementSelector_1);
13790
+ }
13791
+ addElementSelector_1 = selectWrapper;
13644
13792
  if (hiddenElements.length > 0) {
13645
- var selectWrapper = _utils_index__WEBPACK_IMPORTED_MODULE_5__.DocumentHelper.createSelector([
13646
- {
13647
- name: undefined,
13648
- displayName: _localizationManager__WEBPACK_IMPORTED_MODULE_6__.localization.getString("addElement"),
13649
- },
13650
- ]
13651
- .concat(hiddenElements)
13652
- .map(function (element) {
13653
- return {
13654
- value: element.name,
13655
- text: element.displayName,
13656
- };
13657
- }), function (option) { return false; }, function (e) {
13658
- _this.showElement(e.target.value);
13659
- });
13660
- (addElementSelector_1 &&
13661
- toolbar.replaceChild(selectWrapper, addElementSelector_1)) ||
13662
- toolbar.appendChild(selectWrapper);
13663
- addElementSelector_1 = selectWrapper;
13793
+ addElementSelector_1.style.display = undefined;
13664
13794
  }
13665
- else {
13666
- addElementSelector_1 && toolbar.removeChild(addElementSelector_1);
13667
- addElementSelector_1 = undefined;
13795
+ else if (addElementSelector_1) {
13796
+ addElementSelector_1.style.display = "none";
13668
13797
  }
13669
13798
  };
13670
13799
  addElementSelectorUpdater(_this, {});
13671
13800
  _this.onVisibleElementsChanged.add(addElementSelectorUpdater);
13801
+ return addElementSelector_1;
13672
13802
  }
13673
13803
  return undefined;
13674
13804
  });
@@ -14191,6 +14321,18 @@ var VisualizationPanel = /** @class */ (function (_super) {
14191
14321
  enumerable: false,
14192
14322
  configurable: true
14193
14323
  });
14324
+ VisualizationPanel.prototype.resetState = function () {
14325
+ this._settingState = true;
14326
+ _super.prototype.resetState.call(this);
14327
+ try {
14328
+ this.visualizers.forEach(function (visualizer) { return visualizer.resetState(); });
14329
+ this.locale = survey_core__WEBPACK_IMPORTED_MODULE_1__.surveyLocalization.defaultLocale;
14330
+ }
14331
+ finally {
14332
+ this._settingState = false;
14333
+ }
14334
+ this.refresh();
14335
+ };
14194
14336
  Object.defineProperty(VisualizationPanel.prototype, "permissions", {
14195
14337
  get: function () {
14196
14338
  return this._elements.map(function (element) {
@@ -14424,6 +14566,7 @@ var VisualizerBase = /** @class */ (function () {
14424
14566
  this.footerContainer = undefined;
14425
14567
  this._supportSelection = false;
14426
14568
  this._chartAdapter = undefined;
14569
+ this._footerIsCollapsed = undefined;
14427
14570
  /**
14428
14571
  * An event that is raised after the visualizer's content is rendered.
14429
14572
  *
@@ -14595,9 +14738,9 @@ var VisualizerBase = /** @class */ (function () {
14595
14738
  * Indicates whether users can select series points to cross-filter charts. To allow or disallow selection, set the [`allowSelection`](https://surveyjs.io/dashboard/documentation/api-reference/ivisualizationpaneloptions#allowSelection) property of the `IVisualizationPanelOptions` object in the [`VisualizationPanel`](https://surveyjs.io/dashboard/documentation/api-reference/visualizationpanel) constructor.
14596
14739
  */
14597
14740
  get: function () {
14598
- return ((this.options.allowSelection === undefined ||
14741
+ return (this.options.allowSelection === undefined ||
14599
14742
  this.options.allowSelection) &&
14600
- this._supportSelection);
14743
+ this._supportSelection;
14601
14744
  },
14602
14745
  enumerable: false,
14603
14746
  configurable: true
@@ -14873,6 +15016,19 @@ var VisualizerBase = /** @class */ (function () {
14873
15016
  VisualizerBase.prototype.destroyFooter = function (container) {
14874
15017
  container.innerHTML = "";
14875
15018
  };
15019
+ Object.defineProperty(VisualizerBase.prototype, "isFooterCollapsed", {
15020
+ get: function () {
15021
+ if (this._footerIsCollapsed === undefined) {
15022
+ this._footerIsCollapsed = VisualizerBase.otherCommentCollapsed;
15023
+ }
15024
+ return this._footerIsCollapsed;
15025
+ },
15026
+ set: function (newVal) {
15027
+ this._footerIsCollapsed = newVal;
15028
+ },
15029
+ enumerable: false,
15030
+ configurable: true
15031
+ });
14876
15032
  VisualizerBase.prototype.renderFooter = function (container) {
14877
15033
  var _this = this;
14878
15034
  container.innerHTML = "";
@@ -14880,20 +15036,21 @@ var VisualizerBase = /** @class */ (function () {
14880
15036
  var footerTitleElement = _utils__WEBPACK_IMPORTED_MODULE_5__.DocumentHelper.createElement("h4", "sa-visualizer__footer-title", { innerText: _localizationManager__WEBPACK_IMPORTED_MODULE_6__.localization.getString("otherCommentTitle") });
14881
15037
  container.appendChild(footerTitleElement);
14882
15038
  var footerContentElement_1 = _utils__WEBPACK_IMPORTED_MODULE_5__.DocumentHelper.createElement("div", "sa-visualizer__footer-content");
14883
- footerContentElement_1.style.display = VisualizerBase.otherCommentCollapsed
14884
- ? "none"
14885
- : "block";
15039
+ footerContentElement_1.style.display = this.isFooterCollapsed ? "none" : "block";
15040
+ var visibilityButtonText = _localizationManager__WEBPACK_IMPORTED_MODULE_6__.localization.getString(this.isFooterCollapsed ? "showButton" : "hideButton");
14886
15041
  var visibilityButton_1 = _utils__WEBPACK_IMPORTED_MODULE_5__.DocumentHelper.createButton(function () {
14887
15042
  if (footerContentElement_1.style.display === "none") {
14888
15043
  footerContentElement_1.style.display = "block";
14889
15044
  visibilityButton_1.innerText = _localizationManager__WEBPACK_IMPORTED_MODULE_6__.localization.getString("hideButton");
15045
+ _this._footerIsCollapsed = false;
14890
15046
  }
14891
15047
  else {
14892
15048
  footerContentElement_1.style.display = "none";
14893
- visibilityButton_1.innerText = _localizationManager__WEBPACK_IMPORTED_MODULE_6__.localization.getString(VisualizerBase.otherCommentCollapsed ? "showButton" : "hideButton");
15049
+ visibilityButton_1.innerText = _localizationManager__WEBPACK_IMPORTED_MODULE_6__.localization.getString("showButton");
15050
+ _this._footerIsCollapsed = true;
14894
15051
  }
14895
15052
  _this.footerVisualizer.invokeOnUpdate();
14896
- }, _localizationManager__WEBPACK_IMPORTED_MODULE_6__.localization.getString("showButton") /*, "sa-toolbar__button--right"*/);
15053
+ }, visibilityButtonText /*, "sa-toolbar__button--right"*/);
14897
15054
  container.appendChild(visibilityButton_1);
14898
15055
  container.appendChild(footerContentElement_1);
14899
15056
  this.footerVisualizer.render(footerContentElement_1);
@@ -15103,6 +15260,7 @@ var VisualizerBase = /** @class */ (function () {
15103
15260
  *
15104
15261
  * > This method is overriden in classes descendant from `VisualizerBase`.
15105
15262
  * @see setState
15263
+ * @see resetState
15106
15264
  * @see onStateChanged
15107
15265
  */
15108
15266
  VisualizerBase.prototype.getState = function () {
@@ -15115,10 +15273,21 @@ var VisualizerBase = /** @class */ (function () {
15115
15273
  *
15116
15274
  * > This method is overriden in classes descendant from `VisualizerBase`.
15117
15275
  * @see getState
15276
+ * @see resetState
15118
15277
  * @see onStateChanged
15119
15278
  */
15120
15279
  VisualizerBase.prototype.setState = function (state) {
15121
15280
  };
15281
+ /**
15282
+ * Resets the visualizer's state.
15283
+ *
15284
+ * > This method is overriden in classes descendant from `VisualizerBase`.
15285
+ * @see getState
15286
+ * @see setState
15287
+ * @see onStateChanged
15288
+ */
15289
+ VisualizerBase.prototype.resetState = function () {
15290
+ };
15122
15291
  Object.defineProperty(VisualizerBase.prototype, "locale", {
15123
15292
  /**
15124
15293
  * Gets or sets the current locale.
@@ -15218,14 +15387,19 @@ var VisualizerFactory = /** @class */ (function () {
15218
15387
  * @param options An object with any custom properties you need within the visualizer.
15219
15388
  */
15220
15389
  VisualizerFactory.createVisualizer = function (question, data, options) {
15221
- var type;
15222
- if (question.getType() === "text" && question.inputType) {
15390
+ var type = question.getType();
15391
+ var creators = [];
15392
+ if (type === "text" && question.inputType) {
15223
15393
  type = question.inputType;
15394
+ creators = _visualizationManager__WEBPACK_IMPORTED_MODULE_0__.VisualizationManager.getVisualizersByType(type);
15395
+ if (creators === undefined || creators.length == 0) {
15396
+ type = "text";
15397
+ creators = _visualizationManager__WEBPACK_IMPORTED_MODULE_0__.VisualizationManager.getVisualizersByType(type);
15398
+ }
15224
15399
  }
15225
15400
  else {
15226
- type = question.getType();
15401
+ creators = _visualizationManager__WEBPACK_IMPORTED_MODULE_0__.VisualizationManager.getVisualizersByType(type);
15227
15402
  }
15228
- var creators = _visualizationManager__WEBPACK_IMPORTED_MODULE_0__.VisualizationManager.getVisualizersByType(type);
15229
15403
  var visualizers = creators.map(function (creator) { return new creator(question, data, options); });
15230
15404
  if (visualizers.length > 1) {
15231
15405
  var alternativesVisualizerConstructor = _visualizationManager__WEBPACK_IMPORTED_MODULE_0__.VisualizationManager.getAltVisualizerSelector();
@@ -17158,6 +17332,7 @@ __webpack_require__.r(__webpack_exports__);
17158
17332
  /* harmony export */ SelectBase: () => (/* reexport safe */ _selectBase__WEBPACK_IMPORTED_MODULE_17__.SelectBase),
17159
17333
  /* harmony export */ StatisticsTable: () => (/* reexport safe */ _statistics_table__WEBPACK_IMPORTED_MODULE_32__.StatisticsTable),
17160
17334
  /* harmony export */ StatisticsTableAdapter: () => (/* reexport safe */ _statistics_table__WEBPACK_IMPORTED_MODULE_32__.StatisticsTableAdapter),
17335
+ /* harmony export */ StatisticsTableBoolean: () => (/* reexport safe */ _statistics_table__WEBPACK_IMPORTED_MODULE_32__.StatisticsTableBoolean),
17161
17336
  /* harmony export */ Text: () => (/* reexport safe */ _text__WEBPACK_IMPORTED_MODULE_31__.Text),
17162
17337
  /* harmony export */ TextTableAdapter: () => (/* reexport safe */ _text__WEBPACK_IMPORTED_MODULE_31__.TextTableAdapter),
17163
17338
  /* harmony export */ VisualizationManager: () => (/* reexport safe */ _visualizationManager__WEBPACK_IMPORTED_MODULE_23__.VisualizationManager),