survey-analytics 2.3.4 → 2.3.6

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 (67) hide show
  1. package/fesm/shared.mjs +59 -1
  2. package/fesm/shared.mjs.map +1 -1
  3. package/fesm/shared2.mjs +166 -65
  4. package/fesm/shared2.mjs.map +1 -1
  5. package/fesm/survey.analytics.core.mjs +2 -2
  6. package/fesm/survey.analytics.mjs +12 -5
  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 +2 -1
  46. package/survey-analytics.types/statistics-table.d.ts +11 -1
  47. package/survey-analytics.types/visualizationManager.d.ts +2 -2
  48. package/survey-analytics.types/visualizationPanel.d.ts +2 -1
  49. package/survey-analytics.types/visualizerBase.d.ts +14 -0
  50. package/survey.analytics.core.css +1 -1
  51. package/survey.analytics.core.js +256 -77
  52. package/survey.analytics.core.js.map +1 -1
  53. package/survey.analytics.core.min.css +1 -1
  54. package/survey.analytics.core.min.js +1 -1
  55. package/survey.analytics.core.min.js.LICENSE.txt +1 -1
  56. package/survey.analytics.css +1 -1
  57. package/survey.analytics.js +266 -79
  58. package/survey.analytics.js.map +1 -1
  59. package/survey.analytics.min.css +1 -1
  60. package/survey.analytics.min.js +1 -1
  61. package/survey.analytics.min.js.LICENSE.txt +1 -1
  62. package/survey.analytics.tabulator.css +1 -1
  63. package/survey.analytics.tabulator.js +74 -3
  64. package/survey.analytics.tabulator.js.map +1 -1
  65. package/survey.analytics.tabulator.min.css +1 -1
  66. package/survey.analytics.tabulator.min.js +1 -1
  67. 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.6
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"
@@ -9919,6 +9992,7 @@ __webpack_require__.r(__webpack_exports__);
9919
9992
  /* harmony export */ SelectBase: () => (/* reexport safe */ _selectBase__WEBPACK_IMPORTED_MODULE_17__.SelectBase),
9920
9993
  /* harmony export */ StatisticsTable: () => (/* reexport safe */ _statistics_table__WEBPACK_IMPORTED_MODULE_32__.StatisticsTable),
9921
9994
  /* harmony export */ StatisticsTableAdapter: () => (/* reexport safe */ _statistics_table__WEBPACK_IMPORTED_MODULE_32__.StatisticsTableAdapter),
9995
+ /* harmony export */ StatisticsTableBoolean: () => (/* reexport safe */ _statistics_table__WEBPACK_IMPORTED_MODULE_32__.StatisticsTableBoolean),
9922
9996
  /* harmony export */ Text: () => (/* reexport safe */ _text__WEBPACK_IMPORTED_MODULE_31__.Text),
9923
9997
  /* harmony export */ TextTableAdapter: () => (/* reexport safe */ _text__WEBPACK_IMPORTED_MODULE_31__.TextTableAdapter),
9924
9998
  /* harmony export */ VisualizationManager: () => (/* reexport safe */ _visualizationManager__WEBPACK_IMPORTED_MODULE_23__.VisualizationManager),
@@ -10270,7 +10344,7 @@ var HistogramModel = /** @class */ (function (_super) {
10270
10344
 
10271
10345
  _visualizationManager__WEBPACK_IMPORTED_MODULE_4__.VisualizationManager.registerVisualizer("date", HistogramModel);
10272
10346
  _visualizationManager__WEBPACK_IMPORTED_MODULE_4__.VisualizationManager.registerVisualizer("number", HistogramModel, 100);
10273
- _visualizationManager__WEBPACK_IMPORTED_MODULE_4__.VisualizationManager.registerVisualizer("rating", HistogramModel, 100);
10347
+ _visualizationManager__WEBPACK_IMPORTED_MODULE_4__.VisualizationManager.registerVisualizer("rating", HistogramModel, 300);
10274
10348
 
10275
10349
 
10276
10350
  /***/ }),
@@ -11748,7 +11822,7 @@ var PlotlyChartAdapter = /** @class */ (function () {
11748
11822
  case 0: return [4 /*yield*/, this.update(chartNode)];
11749
11823
  case 1:
11750
11824
  _a = _b.sent(), plot = _a[0], plotlyOptions = _a[1];
11751
- if (this.model instanceof _selectBase__WEBPACK_IMPORTED_MODULE_2__.SelectBase) {
11825
+ if (this.model instanceof _selectBase__WEBPACK_IMPORTED_MODULE_2__.SelectBase && this.model.supportSelection) {
11752
11826
  _model_1 = this.model;
11753
11827
  chartNode["on"]("plotly_click", function (data) {
11754
11828
  var _a;
@@ -12056,8 +12130,9 @@ var PlotlySetup = /** @class */ (function () {
12056
12130
  text: labels.map(function (label) {
12057
12131
  return PlotlySetup.getTruncatedLabel(label, model.labelTruncateLength);
12058
12132
  }),
12059
- hoverinfo: "label+value+percent",
12133
+ hoverinfo: "value+text",
12060
12134
  textposition: "inside",
12135
+ texttemplate: "%{text}"
12061
12136
  };
12062
12137
  if (model.chartType === "doughnut") {
12063
12138
  traceConfig.type = "pie";
@@ -12071,9 +12146,15 @@ var PlotlySetup = /** @class */ (function () {
12071
12146
  }
12072
12147
  datasets.forEach(function (dataset, index) {
12073
12148
  var isNotEmpty = dataset.some(function (value) { return value != 0; });
12149
+ var pieTexts = traceConfig.text;
12150
+ if (model.showPercentages) {
12151
+ var percentages_1 = model.getPercentages([dataset])[0];
12152
+ pieTexts = labels.map(function (l, li) { return (model.showOnlyPercentages ? percentages_1[li] : PlotlySetup.getTruncatedLabel(l, model.labelTruncateLength) + "<br>" + percentages_1[li]) + "%"; });
12153
+ }
12074
12154
  if (isNotEmpty) {
12075
12155
  traces.push(Object.assign({}, traceConfig, {
12076
12156
  values: dataset,
12157
+ text: pieTexts,
12077
12158
  domain: {
12078
12159
  column: traces.length % layoutColumns,
12079
12160
  row: Math.floor(traces.length / layoutColumns),
@@ -12690,11 +12771,9 @@ var SelectBase = /** @class */ (function (_super) {
12690
12771
  _this.emptyAnswersBtn = undefined;
12691
12772
  _this.transposeDataBtn = undefined;
12692
12773
  _this.topNSelector = undefined;
12693
- _this._showPercentages = false;
12694
12774
  _this._showOnlyPercentages = false;
12695
- _this._percentagePrecision = 0;
12775
+ _this._percentagePrecision = 2;
12696
12776
  _this._answersOrder = "default";
12697
- _this._supportSelection = true;
12698
12777
  _this._hideEmptyAnswers = false;
12699
12778
  _this._topN = -1;
12700
12779
  _this.topNValues = [].concat(SelectBase.topNValuesDefaults);
@@ -12714,7 +12793,7 @@ var SelectBase = /** @class */ (function (_super) {
12714
12793
  _this.dataProvider.raiseDataChanged();
12715
12794
  };
12716
12795
  }
12717
- _this._showPercentages = _this.options.showPercentages === true;
12796
+ _this._supportSelection = true;
12718
12797
  _this._showOnlyPercentages = _this.options.showOnlyPercentages === true;
12719
12798
  if (_this.options.percentagePrecision) {
12720
12799
  _this._percentagePrecision = _this.options.percentagePrecision;
@@ -12972,12 +13051,23 @@ var SelectBase = /** @class */ (function (_super) {
12972
13051
  enumerable: false,
12973
13052
  configurable: true
12974
13053
  });
13054
+ SelectBase.prototype.getShowPercentagesDefault = function () {
13055
+ if (this.options.showPercentages === undefined) {
13056
+ return ["pie", "doughnut"].indexOf(this.chartType) !== -1;
13057
+ }
13058
+ return this.options.showPercentages === true;
13059
+ };
12975
13060
  Object.defineProperty(SelectBase.prototype, "showPercentages", {
12976
13061
  /**
12977
13062
  * Gets and sets whether chart should show values and percentages.
12978
13063
  */
12979
13064
  get: function () {
12980
- return this._showPercentages;
13065
+ if (this._showPercentages !== undefined) {
13066
+ return this._showPercentages;
13067
+ }
13068
+ else {
13069
+ return this.getShowPercentagesDefault();
13070
+ }
12981
13071
  },
12982
13072
  set: function (val) {
12983
13073
  this._showPercentages = val;
@@ -13139,12 +13229,10 @@ var SelectBase = /** @class */ (function (_super) {
13139
13229
  var percentages = [];
13140
13230
  var percentagePrecision = this._percentagePrecision;
13141
13231
  if (data.length < 2) {
13142
- data.forEach(function (res, index) {
13143
- var sum = res.reduce(function (sum, val) { return sum + val; }, 0);
13144
- percentages[index] = res.map(function (val) {
13145
- var value = percentagePrecision ? +(val / sum).toFixed(percentagePrecision) : Math.round((val / sum) * 10000);
13146
- return sum && (value / 100);
13147
- });
13232
+ var sum = data[0].reduce(function (sum, val) { return sum + val; }, 0);
13233
+ percentages[0] = data[0].map(function (val) {
13234
+ var value = percentagePrecision ? +(val / sum * 100).toFixed(percentagePrecision) : Math.round(val / sum * 100);
13235
+ return sum && value;
13148
13236
  });
13149
13237
  }
13150
13238
  else {
@@ -13156,7 +13244,7 @@ var SelectBase = /** @class */ (function (_super) {
13156
13244
  for (var j = 0; j < data.length; j++) {
13157
13245
  if (!Array.isArray(percentages[j]))
13158
13246
  percentages[j] = [];
13159
- var value = percentagePrecision ? +((data[j][i] / sum) * 100).toFixed(percentagePrecision) : Math.round((data[j][i] / sum) * 100);
13247
+ var value = percentagePrecision ? +(data[j][i] / sum * 100).toFixed(percentagePrecision) : Math.round(data[j][i] / sum * 100);
13160
13248
  percentages[j][i] = sum && value;
13161
13249
  }
13162
13250
  }
@@ -13184,7 +13272,7 @@ var SelectBase = /** @class */ (function (_super) {
13184
13272
  */
13185
13273
  SelectBase.prototype.getAnswersData = function () {
13186
13274
  return (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__awaiter)(this, void 0, void 0, function () {
13187
- var seriesLabels, datasets, labels, colors, texts, temp, zippedArray, dict, unzippedArray, answersData;
13275
+ var seriesLabels, datasets, labels, colors, temp, texts, zippedArray, dict, unzippedArray, answersData;
13188
13276
  return (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__generator)(this, function (_a) {
13189
13277
  switch (_a.label) {
13190
13278
  case 0:
@@ -13194,14 +13282,13 @@ var SelectBase = /** @class */ (function (_super) {
13194
13282
  datasets = (_a.sent());
13195
13283
  labels = this.getLabels();
13196
13284
  colors = this.getColors();
13197
- texts = this.showPercentages ? this.getPercentages(datasets) : datasets;
13198
13285
  if (this.transposeData) {
13199
13286
  datasets = this.transpose(datasets);
13200
- texts = this.transpose(texts);
13201
13287
  temp = seriesLabels;
13202
13288
  seriesLabels = labels;
13203
13289
  labels = temp;
13204
13290
  }
13291
+ texts = this.showPercentages ? this.getPercentages(datasets) : datasets;
13205
13292
  if (this.answersOrder == "asc" || this.answersOrder == "desc") {
13206
13293
  zippedArray = this.showPercentages
13207
13294
  ? _utils_index__WEBPACK_IMPORTED_MODULE_4__.DataHelper.zipArrays(labels, colors, texts[0])
@@ -13287,6 +13374,18 @@ var SelectBase = /** @class */ (function (_super) {
13287
13374
  var selectedItem = survey_core__WEBPACK_IMPORTED_MODULE_1__.ItemValue.getItemByValue(this.question.visibleChoices, state.filter);
13288
13375
  this.setSelection(selectedItem !== null && selectedItem !== void 0 ? selectedItem : undefined);
13289
13376
  };
13377
+ SelectBase.prototype.resetState = function () {
13378
+ _super.prototype.resetState.call(this);
13379
+ // this._showPercentages = this.options.showPercentages === true;
13380
+ // this._showOnlyPercentages = this.options.showOnlyPercentages === true;
13381
+ // this._showMissingAnswers = this.isSupportMissingAnswers() && this.options.showMissingAnswers === true;
13382
+ // this._transposeData = this.options.transposeData || false;
13383
+ this._hideEmptyAnswers = this.options.hideEmptyAnswers === true;
13384
+ this._answersOrder = this.options.answersOrder || "default";
13385
+ this._topN = -1;
13386
+ this.chartType = this.chartTypes[0];
13387
+ this.setSelection(undefined);
13388
+ };
13290
13389
  SelectBase.topNValuesDefaults = [-1, 5, 10, 20];
13291
13390
  SelectBase._stateProperties = ["chartType", "answersOrder", "hideEmptyAnswers", "topN"];
13292
13391
  return SelectBase;
@@ -13297,6 +13396,7 @@ _visualizationManager__WEBPACK_IMPORTED_MODULE_5__.VisualizationManager.register
13297
13396
  _visualizationManager__WEBPACK_IMPORTED_MODULE_5__.VisualizationManager.registerVisualizer("dropdown", SelectBase);
13298
13397
  _visualizationManager__WEBPACK_IMPORTED_MODULE_5__.VisualizationManager.registerVisualizer("imagepicker", SelectBase);
13299
13398
  _visualizationManager__WEBPACK_IMPORTED_MODULE_5__.VisualizationManager.registerVisualizer("tagbox", SelectBase);
13399
+ _visualizationManager__WEBPACK_IMPORTED_MODULE_5__.VisualizationManager.registerVisualizer("rating", SelectBase, 100);
13300
13400
 
13301
13401
 
13302
13402
  /***/ }),
@@ -13454,14 +13554,17 @@ __webpack_require__.r(__webpack_exports__);
13454
13554
  __webpack_require__.r(__webpack_exports__);
13455
13555
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
13456
13556
  /* harmony export */ StatisticsTable: () => (/* binding */ StatisticsTable),
13457
- /* harmony export */ StatisticsTableAdapter: () => (/* binding */ StatisticsTableAdapter)
13557
+ /* harmony export */ StatisticsTableAdapter: () => (/* binding */ StatisticsTableAdapter),
13558
+ /* harmony export */ StatisticsTableBoolean: () => (/* binding */ StatisticsTableBoolean)
13458
13559
  /* harmony export */ });
13459
13560
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./src/utils/helpers.ts");
13460
13561
  /* harmony import */ var _selectBase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./selectBase */ "./src/selectBase.ts");
13461
- /* harmony import */ var _visualizationManager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./visualizationManager */ "./src/visualizationManager.ts");
13462
- /* harmony import */ var _localizationManager__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./localizationManager */ "./src/localizationManager.ts");
13562
+ /* harmony import */ var _boolean__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./boolean */ "./src/boolean.ts");
13563
+ /* harmony import */ var _visualizationManager__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./visualizationManager */ "./src/visualizationManager.ts");
13463
13564
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils */ "./src/utils/index.ts");
13464
- /* harmony import */ var _statistics_table_scss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./statistics-table.scss */ "./src/statistics-table.scss");
13565
+ /* harmony import */ var _localizationManager__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./localizationManager */ "./src/localizationManager.ts");
13566
+ /* harmony import */ var _statistics_table_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./statistics-table.scss */ "./src/statistics-table.scss");
13567
+
13465
13568
 
13466
13569
 
13467
13570
 
@@ -13483,7 +13586,7 @@ var StatisticsTableAdapter = /** @class */ (function () {
13483
13586
  _a = _b.sent(), datasets = _a.datasets, labels = _a.labels, colors = _a.colors, texts = _a.texts, seriesLabels = _a.seriesLabels;
13484
13587
  hasSeries = seriesLabels.length > 1;
13485
13588
  emptyTextNode = _utils__WEBPACK_IMPORTED_MODULE_4__.DocumentHelper.createElement("p", "", {
13486
- innerText: _localizationManager__WEBPACK_IMPORTED_MODULE_3__.localization.getString("noResults"),
13589
+ innerText: _localizationManager__WEBPACK_IMPORTED_MODULE_5__.localization.getString("noResults"),
13487
13590
  });
13488
13591
  if (datasets.length === 0 || datasets[0].length === 0) {
13489
13592
  container.appendChild(emptyTextNode);
@@ -13495,19 +13598,19 @@ var StatisticsTableAdapter = /** @class */ (function () {
13495
13598
  container.appendChild(tableNode);
13496
13599
  var headerRow = _utils__WEBPACK_IMPORTED_MODULE_4__.DocumentHelper.createElement("tr");
13497
13600
  var labelCell = _utils__WEBPACK_IMPORTED_MODULE_4__.DocumentHelper.createElement("th", "sa-statistics-table__cell-header", {
13498
- textContent: _localizationManager__WEBPACK_IMPORTED_MODULE_3__.localization.getString("answer"),
13601
+ textContent: _localizationManager__WEBPACK_IMPORTED_MODULE_5__.localization.getString("answer"),
13499
13602
  });
13500
13603
  headerRow.appendChild(labelCell);
13501
13604
  var sparklineCell = _utils__WEBPACK_IMPORTED_MODULE_4__.DocumentHelper.createElement("th", "sa-statistics-table__cell-header", {
13502
- textContent: _localizationManager__WEBPACK_IMPORTED_MODULE_3__.localization.getString("statistics_chart"),
13605
+ textContent: _localizationManager__WEBPACK_IMPORTED_MODULE_5__.localization.getString("statistics_chart"),
13503
13606
  });
13504
13607
  headerRow.appendChild(sparklineCell);
13505
13608
  var percentCell = _utils__WEBPACK_IMPORTED_MODULE_4__.DocumentHelper.createElement("th", "sa-statistics-table__cell-header", {
13506
- textContent: _localizationManager__WEBPACK_IMPORTED_MODULE_3__.localization.getString("percentage"),
13609
+ textContent: _localizationManager__WEBPACK_IMPORTED_MODULE_5__.localization.getString("percentage"),
13507
13610
  });
13508
13611
  headerRow.appendChild(percentCell);
13509
13612
  var valueCell = _utils__WEBPACK_IMPORTED_MODULE_4__.DocumentHelper.createElement("th", "sa-statistics-table__cell-header", {
13510
- textContent: _localizationManager__WEBPACK_IMPORTED_MODULE_3__.localization.getString("responses"),
13613
+ textContent: _localizationManager__WEBPACK_IMPORTED_MODULE_5__.localization.getString("responses"),
13511
13614
  });
13512
13615
  headerRow.appendChild(valueCell);
13513
13616
  tableNode.appendChild(headerRow);
@@ -13584,9 +13687,46 @@ var StatisticsTable = /** @class */ (function (_super) {
13584
13687
  return StatisticsTable;
13585
13688
  }(_selectBase__WEBPACK_IMPORTED_MODULE_1__.SelectBase));
13586
13689
 
13587
- _visualizationManager__WEBPACK_IMPORTED_MODULE_2__.VisualizationManager.registerVisualizer("radiogroup", StatisticsTable);
13588
- _visualizationManager__WEBPACK_IMPORTED_MODULE_2__.VisualizationManager.registerVisualizer("dropdown", StatisticsTable);
13589
- _visualizationManager__WEBPACK_IMPORTED_MODULE_2__.VisualizationManager.registerVisualizer("checkbox", StatisticsTable);
13690
+ var StatisticsTableBoolean = /** @class */ (function (_super) {
13691
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__extends)(StatisticsTableBoolean, _super);
13692
+ function StatisticsTableBoolean(question, data, options, name) {
13693
+ var _this = _super.call(this, question, data, options, name || "options") || this;
13694
+ _this._statisticsTableAdapter = new StatisticsTableAdapter(_this);
13695
+ _this.showPercentages = true;
13696
+ return _this;
13697
+ }
13698
+ StatisticsTableBoolean.prototype.destroyContent = function (container) {
13699
+ this._statisticsTableAdapter.destroy(container);
13700
+ _super.prototype.destroyContent.call(this, container);
13701
+ };
13702
+ StatisticsTableBoolean.prototype.renderContentAsync = function (container) {
13703
+ return (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__awaiter)(this, void 0, void 0, function () {
13704
+ var tableNode;
13705
+ return (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__generator)(this, function (_a) {
13706
+ switch (_a.label) {
13707
+ case 0:
13708
+ tableNode = _utils__WEBPACK_IMPORTED_MODULE_4__.DocumentHelper.createElement("div");
13709
+ return [4 /*yield*/, this._statisticsTableAdapter.create(tableNode)];
13710
+ case 1:
13711
+ _a.sent();
13712
+ container.innerHTML = "";
13713
+ container.appendChild(tableNode);
13714
+ return [2 /*return*/, container];
13715
+ }
13716
+ });
13717
+ });
13718
+ };
13719
+ StatisticsTableBoolean.prototype.destroy = function () {
13720
+ this._statisticsTableAdapter.destroy(this.contentContainer);
13721
+ _super.prototype.destroy.call(this);
13722
+ };
13723
+ return StatisticsTableBoolean;
13724
+ }(_boolean__WEBPACK_IMPORTED_MODULE_2__.BooleanModel));
13725
+
13726
+ _visualizationManager__WEBPACK_IMPORTED_MODULE_3__.VisualizationManager.registerVisualizer("radiogroup", StatisticsTable);
13727
+ _visualizationManager__WEBPACK_IMPORTED_MODULE_3__.VisualizationManager.registerVisualizer("dropdown", StatisticsTable);
13728
+ _visualizationManager__WEBPACK_IMPORTED_MODULE_3__.VisualizationManager.registerVisualizer("checkbox", StatisticsTable);
13729
+ _visualizationManager__WEBPACK_IMPORTED_MODULE_3__.VisualizationManager.registerVisualizer("boolean", StatisticsTableBoolean);
13590
13730
 
13591
13731
 
13592
13732
  /***/ }),
@@ -14285,7 +14425,7 @@ var VisualizationManager = /** @class */ (function () {
14285
14425
  if (constructor) {
14286
14426
  var visualizers = VisualizationManager.vizualizers[qType];
14287
14427
  if (!!visualizers) {
14288
- var vDescr = visualizers.filter(function (v) { return v.ctor === constructor || v.ctor.isPrototypeOf(constructor); })[0];
14428
+ var vDescr = visualizers.filter(function (v) { return v.ctor === constructor; })[0];
14289
14429
  if (!!vDescr) {
14290
14430
  var index = visualizers.indexOf(vDescr);
14291
14431
  if (index !== -1) {
@@ -14308,10 +14448,13 @@ var VisualizationManager = /** @class */ (function () {
14308
14448
  };
14309
14449
  /**
14310
14450
  * Returns all visualizer constructors for a specified question type.
14311
- * @param questionType A question [type](https://surveyjs.io/form-library/documentation/api-reference/question#getType).
14451
+ * @param visualizerType A question [type](https://surveyjs.io/form-library/documentation/api-reference/question#getType).
14312
14452
  */
14313
- VisualizationManager.getVisualizersByType = function (questionType) {
14314
- var vDescrs = VisualizationManager.vizualizers[questionType];
14453
+ VisualizationManager.getVisualizersByType = function (visualizerType, fallbackVisualizerType) {
14454
+ var vDescrs = VisualizationManager.vizualizers[visualizerType];
14455
+ if (!!fallbackVisualizerType && (!vDescrs || vDescrs.length == 0)) {
14456
+ vDescrs = VisualizationManager.vizualizers[fallbackVisualizerType];
14457
+ }
14315
14458
  if (!vDescrs) {
14316
14459
  if (VisualizationManager.defaultVisualizer.suppressVisualizerStubRendering) {
14317
14460
  return [];
@@ -14714,48 +14857,52 @@ var VisualizationPanel = /** @class */ (function (_super) {
14714
14857
  return (0,_utils_index__WEBPACK_IMPORTED_MODULE_5__.createCommercialLicenseLink)();
14715
14858
  });
14716
14859
  }
14717
- _this.registerToolbarItem("resetFilter", function () {
14718
- return _utils_index__WEBPACK_IMPORTED_MODULE_5__.DocumentHelper.createButton(function () {
14719
- _this.visualizers.forEach(function (visualizer) {
14720
- if (visualizer instanceof _selectBase__WEBPACK_IMPORTED_MODULE_3__.SelectBase || visualizer instanceof _alternativeVizualizersWrapper__WEBPACK_IMPORTED_MODULE_4__.AlternativeVisualizersWrapper) {
14721
- visualizer.setSelection(undefined);
14722
- }
14723
- });
14724
- }, _localizationManager__WEBPACK_IMPORTED_MODULE_6__.localization.getString("resetFilter"));
14725
- }, 900);
14860
+ _this._supportSelection = true;
14861
+ if (_this.supportSelection !== false) {
14862
+ _this.registerToolbarItem("resetFilter", function () {
14863
+ return _utils_index__WEBPACK_IMPORTED_MODULE_5__.DocumentHelper.createButton(function () {
14864
+ _this.visualizers.forEach(function (visualizer) {
14865
+ if (visualizer instanceof _selectBase__WEBPACK_IMPORTED_MODULE_3__.SelectBase || visualizer instanceof _alternativeVizualizersWrapper__WEBPACK_IMPORTED_MODULE_4__.AlternativeVisualizersWrapper) {
14866
+ visualizer.setSelection(undefined);
14867
+ }
14868
+ });
14869
+ }, _localizationManager__WEBPACK_IMPORTED_MODULE_6__.localization.getString("resetFilter"));
14870
+ }, 900);
14871
+ }
14726
14872
  _this.registerToolbarItem("addElement", function (toolbar) {
14727
14873
  if (_this.allowHideQuestions) {
14728
14874
  var addElementSelector_1 = undefined;
14729
14875
  var addElementSelectorUpdater = function (panel, options) {
14730
14876
  var hiddenElements = _this.hiddenElements;
14877
+ var selectWrapper = _utils_index__WEBPACK_IMPORTED_MODULE_5__.DocumentHelper.createSelector([
14878
+ {
14879
+ name: undefined,
14880
+ displayName: _localizationManager__WEBPACK_IMPORTED_MODULE_6__.localization.getString("addElement"),
14881
+ },
14882
+ ]
14883
+ .concat(hiddenElements)
14884
+ .map(function (element) {
14885
+ return {
14886
+ value: element.name,
14887
+ text: element.displayName,
14888
+ };
14889
+ }), function (option) { return false; }, function (e) {
14890
+ _this.showElement(e.target.value);
14891
+ });
14892
+ if (addElementSelector_1) {
14893
+ toolbar.replaceChild(selectWrapper, addElementSelector_1);
14894
+ }
14895
+ addElementSelector_1 = selectWrapper;
14731
14896
  if (hiddenElements.length > 0) {
14732
- var selectWrapper = _utils_index__WEBPACK_IMPORTED_MODULE_5__.DocumentHelper.createSelector([
14733
- {
14734
- name: undefined,
14735
- displayName: _localizationManager__WEBPACK_IMPORTED_MODULE_6__.localization.getString("addElement"),
14736
- },
14737
- ]
14738
- .concat(hiddenElements)
14739
- .map(function (element) {
14740
- return {
14741
- value: element.name,
14742
- text: element.displayName,
14743
- };
14744
- }), function (option) { return false; }, function (e) {
14745
- _this.showElement(e.target.value);
14746
- });
14747
- (addElementSelector_1 &&
14748
- toolbar.replaceChild(selectWrapper, addElementSelector_1)) ||
14749
- toolbar.appendChild(selectWrapper);
14750
- addElementSelector_1 = selectWrapper;
14897
+ addElementSelector_1.style.display = undefined;
14751
14898
  }
14752
- else {
14753
- addElementSelector_1 && toolbar.removeChild(addElementSelector_1);
14754
- addElementSelector_1 = undefined;
14899
+ else if (addElementSelector_1) {
14900
+ addElementSelector_1.style.display = "none";
14755
14901
  }
14756
14902
  };
14757
14903
  addElementSelectorUpdater(_this, {});
14758
14904
  _this.onVisibleElementsChanged.add(addElementSelectorUpdater);
14905
+ return addElementSelector_1;
14759
14906
  }
14760
14907
  return undefined;
14761
14908
  });
@@ -15278,6 +15425,18 @@ var VisualizationPanel = /** @class */ (function (_super) {
15278
15425
  enumerable: false,
15279
15426
  configurable: true
15280
15427
  });
15428
+ VisualizationPanel.prototype.resetState = function () {
15429
+ this._settingState = true;
15430
+ _super.prototype.resetState.call(this);
15431
+ try {
15432
+ this.visualizers.forEach(function (visualizer) { return visualizer.resetState(); });
15433
+ this.locale = survey_core__WEBPACK_IMPORTED_MODULE_1__.surveyLocalization.defaultLocale;
15434
+ }
15435
+ finally {
15436
+ this._settingState = false;
15437
+ }
15438
+ this.refresh();
15439
+ };
15281
15440
  Object.defineProperty(VisualizationPanel.prototype, "permissions", {
15282
15441
  get: function () {
15283
15442
  return this._elements.map(function (element) {
@@ -15511,6 +15670,7 @@ var VisualizerBase = /** @class */ (function () {
15511
15670
  this.footerContainer = undefined;
15512
15671
  this._supportSelection = false;
15513
15672
  this._chartAdapter = undefined;
15673
+ this._footerIsCollapsed = undefined;
15514
15674
  /**
15515
15675
  * An event that is raised after the visualizer's content is rendered.
15516
15676
  *
@@ -15682,9 +15842,9 @@ var VisualizerBase = /** @class */ (function () {
15682
15842
  * 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.
15683
15843
  */
15684
15844
  get: function () {
15685
- return ((this.options.allowSelection === undefined ||
15845
+ return (this.options.allowSelection === undefined ||
15686
15846
  this.options.allowSelection) &&
15687
- this._supportSelection);
15847
+ this._supportSelection;
15688
15848
  },
15689
15849
  enumerable: false,
15690
15850
  configurable: true
@@ -15960,6 +16120,19 @@ var VisualizerBase = /** @class */ (function () {
15960
16120
  VisualizerBase.prototype.destroyFooter = function (container) {
15961
16121
  container.innerHTML = "";
15962
16122
  };
16123
+ Object.defineProperty(VisualizerBase.prototype, "isFooterCollapsed", {
16124
+ get: function () {
16125
+ if (this._footerIsCollapsed === undefined) {
16126
+ this._footerIsCollapsed = VisualizerBase.otherCommentCollapsed;
16127
+ }
16128
+ return this._footerIsCollapsed;
16129
+ },
16130
+ set: function (newVal) {
16131
+ this._footerIsCollapsed = newVal;
16132
+ },
16133
+ enumerable: false,
16134
+ configurable: true
16135
+ });
15963
16136
  VisualizerBase.prototype.renderFooter = function (container) {
15964
16137
  var _this = this;
15965
16138
  container.innerHTML = "";
@@ -15967,20 +16140,21 @@ var VisualizerBase = /** @class */ (function () {
15967
16140
  var footerTitleElement = _utils__WEBPACK_IMPORTED_MODULE_5__.DocumentHelper.createElement("h4", "sa-visualizer__footer-title", { innerText: _localizationManager__WEBPACK_IMPORTED_MODULE_6__.localization.getString("otherCommentTitle") });
15968
16141
  container.appendChild(footerTitleElement);
15969
16142
  var footerContentElement_1 = _utils__WEBPACK_IMPORTED_MODULE_5__.DocumentHelper.createElement("div", "sa-visualizer__footer-content");
15970
- footerContentElement_1.style.display = VisualizerBase.otherCommentCollapsed
15971
- ? "none"
15972
- : "block";
16143
+ footerContentElement_1.style.display = this.isFooterCollapsed ? "none" : "block";
16144
+ var visibilityButtonText = _localizationManager__WEBPACK_IMPORTED_MODULE_6__.localization.getString(this.isFooterCollapsed ? "showButton" : "hideButton");
15973
16145
  var visibilityButton_1 = _utils__WEBPACK_IMPORTED_MODULE_5__.DocumentHelper.createButton(function () {
15974
16146
  if (footerContentElement_1.style.display === "none") {
15975
16147
  footerContentElement_1.style.display = "block";
15976
16148
  visibilityButton_1.innerText = _localizationManager__WEBPACK_IMPORTED_MODULE_6__.localization.getString("hideButton");
16149
+ _this._footerIsCollapsed = false;
15977
16150
  }
15978
16151
  else {
15979
16152
  footerContentElement_1.style.display = "none";
15980
- visibilityButton_1.innerText = _localizationManager__WEBPACK_IMPORTED_MODULE_6__.localization.getString(VisualizerBase.otherCommentCollapsed ? "showButton" : "hideButton");
16153
+ visibilityButton_1.innerText = _localizationManager__WEBPACK_IMPORTED_MODULE_6__.localization.getString("showButton");
16154
+ _this._footerIsCollapsed = true;
15981
16155
  }
15982
16156
  _this.footerVisualizer.invokeOnUpdate();
15983
- }, _localizationManager__WEBPACK_IMPORTED_MODULE_6__.localization.getString("showButton") /*, "sa-toolbar__button--right"*/);
16157
+ }, visibilityButtonText /*, "sa-toolbar__button--right"*/);
15984
16158
  container.appendChild(visibilityButton_1);
15985
16159
  container.appendChild(footerContentElement_1);
15986
16160
  this.footerVisualizer.render(footerContentElement_1);
@@ -16190,6 +16364,7 @@ var VisualizerBase = /** @class */ (function () {
16190
16364
  *
16191
16365
  * > This method is overriden in classes descendant from `VisualizerBase`.
16192
16366
  * @see setState
16367
+ * @see resetState
16193
16368
  * @see onStateChanged
16194
16369
  */
16195
16370
  VisualizerBase.prototype.getState = function () {
@@ -16202,10 +16377,21 @@ var VisualizerBase = /** @class */ (function () {
16202
16377
  *
16203
16378
  * > This method is overriden in classes descendant from `VisualizerBase`.
16204
16379
  * @see getState
16380
+ * @see resetState
16205
16381
  * @see onStateChanged
16206
16382
  */
16207
16383
  VisualizerBase.prototype.setState = function (state) {
16208
16384
  };
16385
+ /**
16386
+ * Resets the visualizer's state.
16387
+ *
16388
+ * > This method is overriden in classes descendant from `VisualizerBase`.
16389
+ * @see getState
16390
+ * @see setState
16391
+ * @see onStateChanged
16392
+ */
16393
+ VisualizerBase.prototype.resetState = function () {
16394
+ };
16209
16395
  Object.defineProperty(VisualizerBase.prototype, "locale", {
16210
16396
  /**
16211
16397
  * Gets or sets the current locale.
@@ -16305,14 +16491,14 @@ var VisualizerFactory = /** @class */ (function () {
16305
16491
  * @param options An object with any custom properties you need within the visualizer.
16306
16492
  */
16307
16493
  VisualizerFactory.createVisualizer = function (question, data, options) {
16308
- var type;
16309
- if (question.getType() === "text" && question.inputType) {
16310
- type = question.inputType;
16494
+ var type = question.getType();
16495
+ var creators = [];
16496
+ if (type === "text" && question.inputType) {
16497
+ creators = _visualizationManager__WEBPACK_IMPORTED_MODULE_0__.VisualizationManager.getVisualizersByType(question.inputType, type);
16311
16498
  }
16312
16499
  else {
16313
- type = question.getType();
16500
+ creators = _visualizationManager__WEBPACK_IMPORTED_MODULE_0__.VisualizationManager.getVisualizersByType(type);
16314
16501
  }
16315
- var creators = _visualizationManager__WEBPACK_IMPORTED_MODULE_0__.VisualizationManager.getVisualizersByType(type);
16316
16502
  var visualizers = creators.map(function (creator) { return new creator(question, data, options); });
16317
16503
  if (visualizers.length > 1) {
16318
16504
  var alternativesVisualizerConstructor = _visualizationManager__WEBPACK_IMPORTED_MODULE_0__.VisualizationManager.getAltVisualizerSelector();
@@ -18266,6 +18452,7 @@ __webpack_require__.r(__webpack_exports__);
18266
18452
  /* harmony export */ SelectBasePlotly: () => (/* reexport safe */ _plotly_index__WEBPACK_IMPORTED_MODULE_0__.SelectBasePlotly),
18267
18453
  /* harmony export */ StatisticsTable: () => (/* reexport safe */ _summary_core__WEBPACK_IMPORTED_MODULE_1__.StatisticsTable),
18268
18454
  /* harmony export */ StatisticsTableAdapter: () => (/* reexport safe */ _summary_core__WEBPACK_IMPORTED_MODULE_1__.StatisticsTableAdapter),
18455
+ /* harmony export */ StatisticsTableBoolean: () => (/* reexport safe */ _summary_core__WEBPACK_IMPORTED_MODULE_1__.StatisticsTableBoolean),
18269
18456
  /* harmony export */ Text: () => (/* reexport safe */ _summary_core__WEBPACK_IMPORTED_MODULE_1__.Text),
18270
18457
  /* harmony export */ TextTableAdapter: () => (/* reexport safe */ _summary_core__WEBPACK_IMPORTED_MODULE_1__.TextTableAdapter),
18271
18458
  /* harmony export */ VisualizationManager: () => (/* reexport safe */ _summary_core__WEBPACK_IMPORTED_MODULE_1__.VisualizationManager),