survey-analytics 2.2.6 → 2.3.1

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 (44) hide show
  1. package/fesm/shared.mjs +84 -1
  2. package/fesm/shared.mjs.map +1 -1
  3. package/fesm/shared2.mjs +46 -20
  4. package/fesm/shared2.mjs.map +1 -1
  5. package/fesm/survey.analytics.core.mjs +1 -1
  6. package/fesm/survey.analytics.mjs +80 -19
  7. package/fesm/survey.analytics.mjs.map +1 -1
  8. package/fesm/survey.analytics.tabulator.mjs +47 -4
  9. package/fesm/survey.analytics.tabulator.mjs.map +1 -1
  10. package/package.json +3 -3
  11. package/survey-analytics-tabulator.types/analytics-localization/english.d.ts +1 -0
  12. package/survey-analytics-tabulator.types/analytics-localization/swedish.d.ts +79 -0
  13. package/survey-analytics-tabulator.types/entries/tabulator.d.ts +1 -0
  14. package/survey-analytics-tabulator.types/localizationManager.d.ts +1 -0
  15. package/survey-analytics-tabulator.types/tables/columnbuilder.d.ts +7 -1
  16. package/survey-analytics-tabulator.types/tables/columns.d.ts +10 -1
  17. package/survey-analytics.types/analytics-localization/english.d.ts +1 -0
  18. package/survey-analytics.types/analytics-localization/swedish.d.ts +79 -0
  19. package/survey-analytics.types/config.d.ts +1 -0
  20. package/survey-analytics.types/entries/summary.core.d.ts +1 -0
  21. package/survey-analytics.types/localizationManager.d.ts +1 -0
  22. package/survey-analytics.types/plotly/chart-adapter.d.ts +1 -0
  23. package/survey-analytics.types/plotly/setup.d.ts +1 -0
  24. package/survey-analytics.types/ranking.d.ts +4 -0
  25. package/survey-analytics.types/visualizationPanel.d.ts +4 -2
  26. package/survey-analytics.types/visualizerBase.d.ts +11 -4
  27. package/survey.analytics.core.css +1 -1
  28. package/survey.analytics.core.js +201 -75
  29. package/survey.analytics.core.js.map +1 -1
  30. package/survey.analytics.core.min.css +1 -1
  31. package/survey.analytics.core.min.js +1 -1
  32. package/survey.analytics.core.min.js.LICENSE.txt +1 -1
  33. package/survey.analytics.css +1 -1
  34. package/survey.analytics.js +295 -106
  35. package/survey.analytics.js.map +1 -1
  36. package/survey.analytics.min.css +1 -1
  37. package/survey.analytics.min.js +1 -1
  38. package/survey.analytics.min.js.LICENSE.txt +1 -1
  39. package/survey.analytics.tabulator.css +1 -1
  40. package/survey.analytics.tabulator.js +214 -23
  41. package/survey.analytics.tabulator.js.map +1 -1
  42. package/survey.analytics.tabulator.min.css +1 -1
  43. package/survey.analytics.tabulator.min.js +1 -1
  44. package/survey.analytics.tabulator.min.js.LICENSE.txt +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - SurveyJS Dashboard library v2.2.6
2
+ * surveyjs - SurveyJS Dashboard library v2.3.1
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
  */
@@ -6872,12 +6872,14 @@ var AlternativeVisualizersWrapper = /** @class */ (function (_super) {
6872
6872
  * The event is fired right after AlternativeVisualizersWrapper content type has been changed.
6873
6873
  **/
6874
6874
  _this.onVisualizerChanged = new survey_core__WEBPACK_IMPORTED_MODULE_5__.Event();
6875
+ _this.showToolbar = false;
6875
6876
  _this.loadingData = false;
6876
6877
  if (!visualizers || visualizers.length < 2) {
6877
6878
  throw new Error("VisualizerArrayWrapper works with visualizers collection only.");
6878
6879
  }
6879
6880
  _this.visualizers.forEach(function (visualizer) {
6880
6881
  visualizer.onUpdate = function () { return _this.invokeOnUpdate(); };
6882
+ visualizer.onGetToolbarItemCreators = function () { return _this.toolbarItemCreators; };
6881
6883
  if (visualizer.supportSelection) {
6882
6884
  _this._supportSelection = true;
6883
6885
  _this.visualizersWithSelection.push(visualizer);
@@ -6890,7 +6892,7 @@ var AlternativeVisualizersWrapper = /** @class */ (function (_super) {
6890
6892
  text: _localizationManager__WEBPACK_IMPORTED_MODULE_2__.localization.getString("visualizer_" + visualizer.type),
6891
6893
  };
6892
6894
  }), function (option) { return _this.visualizer.type === option.value; }, function (e) { return _this.setVisualizer(e.target.value); });
6893
- });
6895
+ }, 0);
6894
6896
  _this.visualizer = visualizers[0];
6895
6897
  _this.visualizer.onAfterRender.add(_this.onAfterVisualizerRenderCallback);
6896
6898
  _this.visualizer.onStateChanged.add(_this.onVisualizerStateChangedCallback);
@@ -7276,6 +7278,7 @@ var englishStrings = {
7276
7278
  chartType_gauge: "Gauge",
7277
7279
  chartType_bullet: "Bullet",
7278
7280
  chartType_line: "Line",
7281
+ chartType_radar: "Radar",
7279
7282
  hideButton: "Hide",
7280
7283
  makePrivateButton: "Make private",
7281
7284
  makePublicButton: "Make public",
@@ -8426,6 +8429,104 @@ _localizationManager__WEBPACK_IMPORTED_MODULE_0__.localization.localeNames["es"]
8426
8429
  // undefined.responses: "Responses" => "Respuestas"
8427
8430
 
8428
8431
 
8432
+ /***/ }),
8433
+
8434
+ /***/ "./src/analytics-localization/swedish.ts":
8435
+ /*!***********************************************!*\
8436
+ !*** ./src/analytics-localization/swedish.ts ***!
8437
+ \***********************************************/
8438
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8439
+
8440
+ "use strict";
8441
+ __webpack_require__.r(__webpack_exports__);
8442
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8443
+ /* harmony export */ swedishStrings: () => (/* binding */ swedishStrings)
8444
+ /* harmony export */ });
8445
+ /* harmony import */ var _localizationManager__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../localizationManager */ "./src/localizationManager.ts");
8446
+
8447
+ var swedishStrings = {
8448
+ groupButton: "Gruppera av mig",
8449
+ ungroupButton: "Avgruppera av mig",
8450
+ selectButton: "Välj mig",
8451
+ hideColumn: "Göm kolumn",
8452
+ showColumn: "Visa kolumn",
8453
+ makePrivateColumn: "Gör kolumn privat",
8454
+ makePublicColumn: "Gör kolumn offentlig",
8455
+ moveToDetail: "Flytta till detalj",
8456
+ showAsColumn: "Visa som kolumn",
8457
+ filterPlaceholder: "Sök...",
8458
+ removeRows: "Ta bort rader",
8459
+ showLabel: "Visa",
8460
+ entriesLabel: "poster",
8461
+ visualizer_text: "Texter i tabell",
8462
+ visualizer_wordcloud: "Ordmoln",
8463
+ visualizer_histogram: "Histogram",
8464
+ visualizer_number: "Genomsnitt",
8465
+ visualizer_choices: "Tabell",
8466
+ visualizer_selectBase: "Diagram",
8467
+ visualizer_matrix: "Diagram",
8468
+ chartType_bar: "Stapel",
8469
+ chartType_vbar: "Vertikal stapel",
8470
+ chartType_stackedbar: "Staplad stapel",
8471
+ chartType_doughnut: "Ring",
8472
+ chartType_pie: "Cirkel",
8473
+ chartType_scatter: "Punkt",
8474
+ chartType_gauge: "Mätare",
8475
+ chartType_bullet: "Bullet",
8476
+ chartType_line: "Linje",
8477
+ chartType_radar: "Radar",
8478
+ hideButton: "Göm",
8479
+ makePrivateButton: "Gör privat",
8480
+ makePublicButton: "Gör offentlig",
8481
+ showButton: "Visa",
8482
+ filter: "Filter",
8483
+ resetFilter: "Återställ filter",
8484
+ changeLocale: "Ändra språk",
8485
+ clearButton: "Rensa",
8486
+ addElement: "Välj fråga att visa...",
8487
+ defaultOrder: "Standard ordning",
8488
+ ascOrder: "Stigande",
8489
+ descOrder: "Fallande",
8490
+ showMinorColumns: "Visa mindre kolumner",
8491
+ actionsColumn: "Åtgärder",
8492
+ otherCommentTitle: "Övriga objekt och kommentarer",
8493
+ showPercentages: "Visa procent",
8494
+ hidePercentages: "Göm procent",
8495
+ pdfDownloadCaption: "PDF",
8496
+ xlsxDownloadCaption: "Excel",
8497
+ csvDownloadCaption: "CSV",
8498
+ saveDiagramAsPNG: "Ladda ner diagram som PNG-fil",
8499
+ hideEmptyAnswers: "Göm tomma svar",
8500
+ showEmptyAnswers: "Visa tomma svar",
8501
+ "topNValueText-1": "Alla svar",
8502
+ topNValueText5: "Topp 5 svar",
8503
+ topNValueText10: "Topp 10 svar",
8504
+ topNValueText20: "Topp 20 svar",
8505
+ hideMissingAnswers: "Göm saknade svar",
8506
+ showMissingAnswers: "Visa saknade svar",
8507
+ missingAnswersLabel: "Saknade svar",
8508
+ noVisualizerForQuestion: "Detta frågetyp är inte visualiserad ännu",
8509
+ noResults: "Det finns inga resultat ännu",
8510
+ showPerValues: "Per värden",
8511
+ showPerColumns: "Per kolumner",
8512
+ answer: "Svar",
8513
+ correctAnswer: "Rätt svar: ",
8514
+ percent: "Procent",
8515
+ percentage: "Procent",
8516
+ statistics_chart: "Diagram",
8517
+ responses: "Svar",
8518
+ visualizer_nps: "NPS",
8519
+ npsScore: "NPS",
8520
+ npsPromoters: "Promotorer",
8521
+ npsPassives: "Passiva",
8522
+ npsDetractors: "Kritiker",
8523
+ axisXSelectorTitle: "X-axel:",
8524
+ axisYSelectorTitle: "Y-axel:",
8525
+ };
8526
+ _localizationManager__WEBPACK_IMPORTED_MODULE_0__.localization.locales["sv"] = swedishStrings;
8527
+ _localizationManager__WEBPACK_IMPORTED_MODULE_0__.localization.localeNames["sv"] = "Svenska";
8528
+
8529
+
8429
8530
  /***/ }),
8430
8531
 
8431
8532
  /***/ "./src/boolean.ts":
@@ -8670,37 +8771,37 @@ function questionContainsValue(questionValue, filterValue) {
8670
8771
  "use strict";
8671
8772
  __webpack_require__.r(__webpack_exports__);
8672
8773
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8673
- /* harmony export */ AlternativeVisualizersWrapper: () => (/* reexport safe */ _alternativeVizualizersWrapper__WEBPACK_IMPORTED_MODULE_27__.AlternativeVisualizersWrapper),
8674
- /* harmony export */ BooleanModel: () => (/* reexport safe */ _boolean__WEBPACK_IMPORTED_MODULE_18__.BooleanModel),
8675
- /* harmony export */ DataProvider: () => (/* reexport safe */ _dataProvider__WEBPACK_IMPORTED_MODULE_14__.DataProvider),
8676
- /* harmony export */ DocumentHelper: () => (/* reexport safe */ _utils_index__WEBPACK_IMPORTED_MODULE_35__.DocumentHelper),
8677
- /* harmony export */ HistogramModel: () => (/* reexport safe */ _histogram__WEBPACK_IMPORTED_MODULE_19__.HistogramModel),
8678
- /* harmony export */ Matrix: () => (/* reexport safe */ _matrix__WEBPACK_IMPORTED_MODULE_17__.Matrix),
8679
- /* harmony export */ NpsAdapter: () => (/* reexport safe */ _nps__WEBPACK_IMPORTED_MODULE_32__.NpsAdapter),
8680
- /* harmony export */ NpsVisualizer: () => (/* reexport safe */ _nps__WEBPACK_IMPORTED_MODULE_32__.NpsVisualizer),
8681
- /* harmony export */ NpsVisualizerWidget: () => (/* reexport safe */ _nps__WEBPACK_IMPORTED_MODULE_32__.NpsVisualizerWidget),
8682
- /* harmony export */ NumberModel: () => (/* reexport safe */ _number__WEBPACK_IMPORTED_MODULE_20__.NumberModel),
8683
- /* harmony export */ PivotModel: () => (/* reexport safe */ _pivot__WEBPACK_IMPORTED_MODULE_34__.PivotModel),
8684
- /* harmony export */ PostponeHelper: () => (/* reexport safe */ _visualizerBase__WEBPACK_IMPORTED_MODULE_21__.PostponeHelper),
8685
- /* harmony export */ RankingModel: () => (/* reexport safe */ _ranking__WEBPACK_IMPORTED_MODULE_33__.RankingModel),
8686
- /* harmony export */ SelectBase: () => (/* reexport safe */ _selectBase__WEBPACK_IMPORTED_MODULE_16__.SelectBase),
8687
- /* harmony export */ StatisticsTable: () => (/* reexport safe */ _statistics_table__WEBPACK_IMPORTED_MODULE_31__.StatisticsTable),
8688
- /* harmony export */ StatisticsTableAdapter: () => (/* reexport safe */ _statistics_table__WEBPACK_IMPORTED_MODULE_31__.StatisticsTableAdapter),
8689
- /* harmony export */ Text: () => (/* reexport safe */ _text__WEBPACK_IMPORTED_MODULE_30__.Text),
8690
- /* harmony export */ TextTableAdapter: () => (/* reexport safe */ _text__WEBPACK_IMPORTED_MODULE_30__.TextTableAdapter),
8691
- /* harmony export */ VisualizationManager: () => (/* reexport safe */ _visualizationManager__WEBPACK_IMPORTED_MODULE_22__.VisualizationManager),
8692
- /* harmony export */ VisualizationMatrixDropdown: () => (/* reexport safe */ _visualizationMatrixDropdown__WEBPACK_IMPORTED_MODULE_26__.VisualizationMatrixDropdown),
8693
- /* harmony export */ VisualizationMatrixDynamic: () => (/* reexport safe */ _visualizationMatrixDynamic__WEBPACK_IMPORTED_MODULE_25__.VisualizationMatrixDynamic),
8694
- /* harmony export */ VisualizationPanel: () => (/* reexport safe */ _visualizationPanel__WEBPACK_IMPORTED_MODULE_23__.VisualizationPanel),
8695
- /* harmony export */ VisualizationPanelDynamic: () => (/* reexport safe */ _visualizationPanelDynamic__WEBPACK_IMPORTED_MODULE_24__.VisualizationPanelDynamic),
8696
- /* harmony export */ VisualizerBase: () => (/* reexport safe */ _visualizerBase__WEBPACK_IMPORTED_MODULE_21__.VisualizerBase),
8697
- /* harmony export */ VisualizerFactory: () => (/* reexport safe */ _visualizerFactory__WEBPACK_IMPORTED_MODULE_15__.VisualizerFactory),
8698
- /* harmony export */ WordCloud: () => (/* reexport safe */ _wordcloud_wordcloud__WEBPACK_IMPORTED_MODULE_28__.WordCloud),
8699
- /* harmony export */ WordCloudAdapter: () => (/* reexport safe */ _wordcloud_wordcloud__WEBPACK_IMPORTED_MODULE_28__.WordCloudAdapter),
8700
- /* harmony export */ hideEmptyAnswersInData: () => (/* reexport safe */ _selectBase__WEBPACK_IMPORTED_MODULE_16__.hideEmptyAnswersInData),
8774
+ /* harmony export */ AlternativeVisualizersWrapper: () => (/* reexport safe */ _alternativeVizualizersWrapper__WEBPACK_IMPORTED_MODULE_28__.AlternativeVisualizersWrapper),
8775
+ /* harmony export */ BooleanModel: () => (/* reexport safe */ _boolean__WEBPACK_IMPORTED_MODULE_19__.BooleanModel),
8776
+ /* harmony export */ DataProvider: () => (/* reexport safe */ _dataProvider__WEBPACK_IMPORTED_MODULE_15__.DataProvider),
8777
+ /* harmony export */ DocumentHelper: () => (/* reexport safe */ _utils_index__WEBPACK_IMPORTED_MODULE_36__.DocumentHelper),
8778
+ /* harmony export */ HistogramModel: () => (/* reexport safe */ _histogram__WEBPACK_IMPORTED_MODULE_20__.HistogramModel),
8779
+ /* harmony export */ Matrix: () => (/* reexport safe */ _matrix__WEBPACK_IMPORTED_MODULE_18__.Matrix),
8780
+ /* harmony export */ NpsAdapter: () => (/* reexport safe */ _nps__WEBPACK_IMPORTED_MODULE_33__.NpsAdapter),
8781
+ /* harmony export */ NpsVisualizer: () => (/* reexport safe */ _nps__WEBPACK_IMPORTED_MODULE_33__.NpsVisualizer),
8782
+ /* harmony export */ NpsVisualizerWidget: () => (/* reexport safe */ _nps__WEBPACK_IMPORTED_MODULE_33__.NpsVisualizerWidget),
8783
+ /* harmony export */ NumberModel: () => (/* reexport safe */ _number__WEBPACK_IMPORTED_MODULE_21__.NumberModel),
8784
+ /* harmony export */ PivotModel: () => (/* reexport safe */ _pivot__WEBPACK_IMPORTED_MODULE_35__.PivotModel),
8785
+ /* harmony export */ PostponeHelper: () => (/* reexport safe */ _visualizerBase__WEBPACK_IMPORTED_MODULE_22__.PostponeHelper),
8786
+ /* harmony export */ RankingModel: () => (/* reexport safe */ _ranking__WEBPACK_IMPORTED_MODULE_34__.RankingModel),
8787
+ /* harmony export */ SelectBase: () => (/* reexport safe */ _selectBase__WEBPACK_IMPORTED_MODULE_17__.SelectBase),
8788
+ /* harmony export */ StatisticsTable: () => (/* reexport safe */ _statistics_table__WEBPACK_IMPORTED_MODULE_32__.StatisticsTable),
8789
+ /* harmony export */ StatisticsTableAdapter: () => (/* reexport safe */ _statistics_table__WEBPACK_IMPORTED_MODULE_32__.StatisticsTableAdapter),
8790
+ /* harmony export */ Text: () => (/* reexport safe */ _text__WEBPACK_IMPORTED_MODULE_31__.Text),
8791
+ /* harmony export */ TextTableAdapter: () => (/* reexport safe */ _text__WEBPACK_IMPORTED_MODULE_31__.TextTableAdapter),
8792
+ /* harmony export */ VisualizationManager: () => (/* reexport safe */ _visualizationManager__WEBPACK_IMPORTED_MODULE_23__.VisualizationManager),
8793
+ /* harmony export */ VisualizationMatrixDropdown: () => (/* reexport safe */ _visualizationMatrixDropdown__WEBPACK_IMPORTED_MODULE_27__.VisualizationMatrixDropdown),
8794
+ /* harmony export */ VisualizationMatrixDynamic: () => (/* reexport safe */ _visualizationMatrixDynamic__WEBPACK_IMPORTED_MODULE_26__.VisualizationMatrixDynamic),
8795
+ /* harmony export */ VisualizationPanel: () => (/* reexport safe */ _visualizationPanel__WEBPACK_IMPORTED_MODULE_24__.VisualizationPanel),
8796
+ /* harmony export */ VisualizationPanelDynamic: () => (/* reexport safe */ _visualizationPanelDynamic__WEBPACK_IMPORTED_MODULE_25__.VisualizationPanelDynamic),
8797
+ /* harmony export */ VisualizerBase: () => (/* reexport safe */ _visualizerBase__WEBPACK_IMPORTED_MODULE_22__.VisualizerBase),
8798
+ /* harmony export */ VisualizerFactory: () => (/* reexport safe */ _visualizerFactory__WEBPACK_IMPORTED_MODULE_16__.VisualizerFactory),
8799
+ /* harmony export */ WordCloud: () => (/* reexport safe */ _wordcloud_wordcloud__WEBPACK_IMPORTED_MODULE_29__.WordCloud),
8800
+ /* harmony export */ WordCloudAdapter: () => (/* reexport safe */ _wordcloud_wordcloud__WEBPACK_IMPORTED_MODULE_29__.WordCloudAdapter),
8801
+ /* harmony export */ hideEmptyAnswersInData: () => (/* reexport safe */ _selectBase__WEBPACK_IMPORTED_MODULE_17__.hideEmptyAnswersInData),
8701
8802
  /* harmony export */ localization: () => (/* reexport safe */ _localizationManager__WEBPACK_IMPORTED_MODULE_0__.localization),
8702
8803
  /* harmony export */ surveyStrings: () => (/* reexport safe */ _localizationManager__WEBPACK_IMPORTED_MODULE_0__.surveyStrings),
8703
- /* harmony export */ textHelper: () => (/* reexport safe */ _wordcloud_stopwords_index__WEBPACK_IMPORTED_MODULE_29__.textHelper)
8804
+ /* harmony export */ textHelper: () => (/* reexport safe */ _wordcloud_stopwords_index__WEBPACK_IMPORTED_MODULE_30__.textHelper)
8704
8805
  /* harmony export */ });
8705
8806
  /* harmony import */ var _localizationManager__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../localizationManager */ "./src/localizationManager.ts");
8706
8807
  /* harmony import */ var _analytics_localization_farsi__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../analytics-localization/farsi */ "./src/analytics-localization/farsi.ts");
@@ -8716,28 +8817,29 @@ __webpack_require__.r(__webpack_exports__);
8716
8817
  /* harmony import */ var _analytics_localization_japanese__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../analytics-localization/japanese */ "./src/analytics-localization/japanese.ts");
8717
8818
  /* harmony import */ var _analytics_localization_polish__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../analytics-localization/polish */ "./src/analytics-localization/polish.ts");
8718
8819
  /* harmony import */ var _analytics_localization_finnish__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../analytics-localization/finnish */ "./src/analytics-localization/finnish.ts");
8719
- /* harmony import */ var _dataProvider__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../dataProvider */ "./src/dataProvider.ts");
8720
- /* harmony import */ var _visualizerFactory__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../visualizerFactory */ "./src/visualizerFactory.ts");
8721
- /* harmony import */ var _selectBase__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../selectBase */ "./src/selectBase.ts");
8722
- /* harmony import */ var _matrix__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../matrix */ "./src/matrix.ts");
8723
- /* harmony import */ var _boolean__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../boolean */ "./src/boolean.ts");
8724
- /* harmony import */ var _histogram__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../histogram */ "./src/histogram.ts");
8725
- /* harmony import */ var _number__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../number */ "./src/number.ts");
8726
- /* harmony import */ var _visualizerBase__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../visualizerBase */ "./src/visualizerBase.ts");
8727
- /* harmony import */ var _visualizationManager__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../visualizationManager */ "./src/visualizationManager.ts");
8728
- /* harmony import */ var _visualizationPanel__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../visualizationPanel */ "./src/visualizationPanel.ts");
8729
- /* harmony import */ var _visualizationPanelDynamic__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../visualizationPanelDynamic */ "./src/visualizationPanelDynamic.ts");
8730
- /* harmony import */ var _visualizationMatrixDynamic__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../visualizationMatrixDynamic */ "./src/visualizationMatrixDynamic.ts");
8731
- /* harmony import */ var _visualizationMatrixDropdown__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../visualizationMatrixDropdown */ "./src/visualizationMatrixDropdown.ts");
8732
- /* harmony import */ var _alternativeVizualizersWrapper__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../alternativeVizualizersWrapper */ "./src/alternativeVizualizersWrapper.ts");
8733
- /* harmony import */ var _wordcloud_wordcloud__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../wordcloud/wordcloud */ "./src/wordcloud/wordcloud.ts");
8734
- /* harmony import */ var _wordcloud_stopwords_index__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../wordcloud/stopwords/index */ "./src/wordcloud/stopwords/index.ts");
8735
- /* harmony import */ var _text__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../text */ "./src/text.ts");
8736
- /* harmony import */ var _statistics_table__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../statistics-table */ "./src/statistics-table.ts");
8737
- /* harmony import */ var _nps__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../nps */ "./src/nps.ts");
8738
- /* harmony import */ var _ranking__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ../ranking */ "./src/ranking.ts");
8739
- /* harmony import */ var _pivot__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ../pivot */ "./src/pivot.ts");
8740
- /* harmony import */ var _utils_index__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ../utils/index */ "./src/utils/index.ts");
8820
+ /* harmony import */ var _analytics_localization_swedish__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../analytics-localization/swedish */ "./src/analytics-localization/swedish.ts");
8821
+ /* harmony import */ var _dataProvider__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../dataProvider */ "./src/dataProvider.ts");
8822
+ /* harmony import */ var _visualizerFactory__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../visualizerFactory */ "./src/visualizerFactory.ts");
8823
+ /* harmony import */ var _selectBase__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../selectBase */ "./src/selectBase.ts");
8824
+ /* harmony import */ var _matrix__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../matrix */ "./src/matrix.ts");
8825
+ /* harmony import */ var _boolean__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../boolean */ "./src/boolean.ts");
8826
+ /* harmony import */ var _histogram__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../histogram */ "./src/histogram.ts");
8827
+ /* harmony import */ var _number__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../number */ "./src/number.ts");
8828
+ /* harmony import */ var _visualizerBase__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../visualizerBase */ "./src/visualizerBase.ts");
8829
+ /* harmony import */ var _visualizationManager__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../visualizationManager */ "./src/visualizationManager.ts");
8830
+ /* harmony import */ var _visualizationPanel__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../visualizationPanel */ "./src/visualizationPanel.ts");
8831
+ /* harmony import */ var _visualizationPanelDynamic__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../visualizationPanelDynamic */ "./src/visualizationPanelDynamic.ts");
8832
+ /* harmony import */ var _visualizationMatrixDynamic__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../visualizationMatrixDynamic */ "./src/visualizationMatrixDynamic.ts");
8833
+ /* harmony import */ var _visualizationMatrixDropdown__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../visualizationMatrixDropdown */ "./src/visualizationMatrixDropdown.ts");
8834
+ /* harmony import */ var _alternativeVizualizersWrapper__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../alternativeVizualizersWrapper */ "./src/alternativeVizualizersWrapper.ts");
8835
+ /* harmony import */ var _wordcloud_wordcloud__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../wordcloud/wordcloud */ "./src/wordcloud/wordcloud.ts");
8836
+ /* harmony import */ var _wordcloud_stopwords_index__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../wordcloud/stopwords/index */ "./src/wordcloud/stopwords/index.ts");
8837
+ /* harmony import */ var _text__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../text */ "./src/text.ts");
8838
+ /* harmony import */ var _statistics_table__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../statistics-table */ "./src/statistics-table.ts");
8839
+ /* harmony import */ var _nps__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ../nps */ "./src/nps.ts");
8840
+ /* harmony import */ var _ranking__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ../ranking */ "./src/ranking.ts");
8841
+ /* harmony import */ var _pivot__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ../pivot */ "./src/pivot.ts");
8842
+ /* harmony import */ var _utils_index__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ../utils/index */ "./src/utils/index.ts");
8741
8843
 
8742
8844
  //localization
8743
8845
 
@@ -8775,6 +8877,7 @@ __webpack_require__.r(__webpack_exports__);
8775
8877
 
8776
8878
 
8777
8879
 
8880
+
8778
8881
 
8779
8882
 
8780
8883
  /***/ }),
@@ -10378,6 +10481,7 @@ var plotlyChartTypes = {
10378
10481
  "matrix": _legacy__WEBPACK_IMPORTED_MODULE_8__.MatrixPlotly.types,
10379
10482
  "matrixDropdownGrouped": _legacy__WEBPACK_IMPORTED_MODULE_8__.MatrixDropdownGroupedPlotly.types,
10380
10483
  "pivot": _legacy__WEBPACK_IMPORTED_MODULE_8__.PivotPlotly.types,
10484
+ "ranking": [].concat(_legacy__WEBPACK_IMPORTED_MODULE_8__.SelectBasePlotly.types).concat(["radar"]),
10381
10485
  };
10382
10486
  var PlotlyChartAdapter = /** @class */ (function () {
10383
10487
  function PlotlyChartAdapter(model) {
@@ -10397,11 +10501,19 @@ var PlotlyChartAdapter = /** @class */ (function () {
10397
10501
  var chartType = this.model.chartType;
10398
10502
  if (chartType === "pie" || chartType === "doughnut") {
10399
10503
  traces.forEach(function (trace) {
10504
+ if (!trace)
10505
+ return;
10506
+ if (!trace.marker)
10507
+ trace.marker = {};
10400
10508
  trace.marker.colors = boolColors_1;
10401
10509
  });
10402
10510
  }
10403
10511
  else if (chartType === "bar") {
10404
10512
  traces.forEach(function (trace) {
10513
+ if (!trace)
10514
+ return;
10515
+ if (!trace.marker)
10516
+ trace.marker = {};
10405
10517
  trace.marker.color = boolColors_1;
10406
10518
  });
10407
10519
  }
@@ -10710,11 +10822,13 @@ __webpack_require__.r(__webpack_exports__);
10710
10822
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10711
10823
  /* harmony export */ PlotlySetup: () => (/* binding */ PlotlySetup)
10712
10824
  /* harmony export */ });
10713
- /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ "survey-core");
10714
- /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(survey_core__WEBPACK_IMPORTED_MODULE_0__);
10715
- /* harmony import */ var _localizationManager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../localizationManager */ "./src/localizationManager.ts");
10716
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils */ "./src/utils/index.ts");
10717
- /* harmony import */ var _number__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../number */ "./src/number.ts");
10825
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./src/utils/helpers.ts");
10826
+ /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! survey-core */ "survey-core");
10827
+ /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(survey_core__WEBPACK_IMPORTED_MODULE_1__);
10828
+ /* harmony import */ var _localizationManager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../localizationManager */ "./src/localizationManager.ts");
10829
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils */ "./src/utils/index.ts");
10830
+ /* harmony import */ var _number__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../number */ "./src/number.ts");
10831
+
10718
10832
 
10719
10833
 
10720
10834
 
@@ -10879,25 +10993,7 @@ var PlotlySetup = /** @class */ (function () {
10879
10993
  topMargin +
10880
10994
  bottomMargin;
10881
10995
  }
10882
- // labels.forEach((label, index) => {
10883
- // traces[index].marker.color = undefined;
10884
- // traces[index].name = label;
10885
- // if (model.chartType === "stackedbar") {
10886
- // traces[index].type = "bar";
10887
- // traces[index].width = 0.5;
10888
- // } else {
10889
- // traces[index].width =
10890
- // (model.showPercentages ? 0.7 : 0.5) / traces.length;
10891
- // }
10892
- // });
10893
- // traces.forEach((trace, traceIndex) => {
10894
- // const percentString = model.showPercentages ? "%" : "";
10895
- // traces[traceIndex].hovertext = [];
10896
- // yFullTexts.forEach((yFullText, yFullTextIndex) => {
10897
- // traces[traceIndex].hovertext.push(`${trace.y[yFullTextIndex]} : ${trace.name}, ${trace.text[yFullTextIndex]}${percentString}`);
10898
- // });
10899
- // });
10900
- if (["ar", "fa"].indexOf(_localizationManager__WEBPACK_IMPORTED_MODULE_1__.localization.currentLocale) !== -1) {
10996
+ if (["ar", "fa"].indexOf(_localizationManager__WEBPACK_IMPORTED_MODULE_2__.localization.currentLocale) !== -1) {
10901
10997
  layout.xaxis.autorange = "reversed";
10902
10998
  layout.yaxis.side = "right";
10903
10999
  layout.legend = {
@@ -11089,11 +11185,11 @@ var PlotlySetup = /** @class */ (function () {
11089
11185
  maxValue = rateValues[rateValues.length - 1].value;
11090
11186
  minValue = rateValues[0].value;
11091
11187
  }
11092
- var colors = model.generateColors(maxValue, minValue, _number__WEBPACK_IMPORTED_MODULE_3__.NumberModel.stepsCount);
11093
- if (_number__WEBPACK_IMPORTED_MODULE_3__.NumberModel.showAsPercentage) {
11094
- level = _utils__WEBPACK_IMPORTED_MODULE_2__.DataHelper.toPercentage(level, maxValue);
11095
- minValue = _utils__WEBPACK_IMPORTED_MODULE_2__.DataHelper.toPercentage(minValue, maxValue);
11096
- maxValue = _utils__WEBPACK_IMPORTED_MODULE_2__.DataHelper.toPercentage(maxValue, maxValue);
11188
+ var colors = model.generateColors(maxValue, minValue, _number__WEBPACK_IMPORTED_MODULE_4__.NumberModel.stepsCount);
11189
+ if (_number__WEBPACK_IMPORTED_MODULE_4__.NumberModel.showAsPercentage) {
11190
+ level = _utils__WEBPACK_IMPORTED_MODULE_3__.DataHelper.toPercentage(level, maxValue);
11191
+ minValue = _utils__WEBPACK_IMPORTED_MODULE_3__.DataHelper.toPercentage(minValue, maxValue);
11192
+ maxValue = _utils__WEBPACK_IMPORTED_MODULE_3__.DataHelper.toPercentage(maxValue, maxValue);
11097
11193
  }
11098
11194
  var traces = [
11099
11195
  {
@@ -11125,16 +11221,85 @@ var PlotlySetup = /** @class */ (function () {
11125
11221
  };
11126
11222
  return { traces: traces, layout: layout, hasSeries: false };
11127
11223
  };
11224
+ PlotlySetup.setupRadar = function (model, answersData) {
11225
+ var datasets = answersData.datasets, labels = answersData.labels, colors = answersData.colors, texts = answersData.texts, seriesLabels = answersData.seriesLabels;
11226
+ var hasSeries = seriesLabels.length > 1 || model.question.getType() === "matrix";
11227
+ var traces = [];
11228
+ var traceConfig = {
11229
+ type: "scatterpolar",
11230
+ mode: "lines+markers",
11231
+ fill: "toself",
11232
+ line: {
11233
+ width: 2
11234
+ },
11235
+ marker: {
11236
+ size: 6
11237
+ }
11238
+ };
11239
+ datasets.forEach(function (dataset, index) {
11240
+ var traceName = hasSeries ? seriesLabels[index] : "";
11241
+ var trace = Object.assign({}, traceConfig, {
11242
+ r: dataset,
11243
+ theta: labels,
11244
+ name: traceName,
11245
+ text: texts[index],
11246
+ hoverinfo: "r+theta+name",
11247
+ customdata: labels,
11248
+ hovertemplate: "%{theta}: %{r}" +
11249
+ "<extra></extra>",
11250
+ line: (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)({}, traceConfig.line), { color: colors[index % colors.length] }),
11251
+ marker: (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)({}, traceConfig.marker), { color: colors[index % colors.length] })
11252
+ });
11253
+ traces.push(trace);
11254
+ });
11255
+ var layout = {
11256
+ font: {
11257
+ family: "Segoe UI, sans-serif",
11258
+ size: 14,
11259
+ weight: "normal",
11260
+ color: "#404040",
11261
+ },
11262
+ polar: {
11263
+ radialaxis: {
11264
+ visible: true,
11265
+ range: [0, Math.max.apply(Math, datasets.map(function (s) { return Math.max.apply(Math, s); })) * 1.1],
11266
+ tickfont: {
11267
+ size: 12
11268
+ }
11269
+ },
11270
+ angularaxis: {
11271
+ tickfont: {
11272
+ size: 12
11273
+ },
11274
+ ticktext: labels.map(function (label) {
11275
+ return PlotlySetup.getTruncatedLabel(label, model.labelTruncateLength);
11276
+ }),
11277
+ tickvals: labels
11278
+ }
11279
+ },
11280
+ showlegend: hasSeries,
11281
+ colorway: colors,
11282
+ plot_bgcolor: model.backgroundColor,
11283
+ paper_bgcolor: model.backgroundColor,
11284
+ margin: {
11285
+ l: 50,
11286
+ r: 50,
11287
+ t: 50,
11288
+ b: 50
11289
+ }
11290
+ };
11291
+ return { traces: traces, layout: layout, hasSeries: hasSeries };
11292
+ };
11128
11293
  PlotlySetup.imageExportFormat = "png";
11129
11294
  /**
11130
11295
  * Fires when end user clicks on the 'save as image' button.
11131
11296
  */
11132
- PlotlySetup.onImageSaving = new survey_core__WEBPACK_IMPORTED_MODULE_0__.Event();
11297
+ PlotlySetup.onImageSaving = new survey_core__WEBPACK_IMPORTED_MODULE_1__.Event();
11133
11298
  /**
11134
11299
  * Fires before plot will be created. User can change traces, layout and config of the plot.
11135
11300
  * Options is an object with the following fields: traces, layout and config of the plot.
11136
11301
  */
11137
- PlotlySetup.onPlotCreating = new survey_core__WEBPACK_IMPORTED_MODULE_0__.Event();
11302
+ PlotlySetup.onPlotCreating = new survey_core__WEBPACK_IMPORTED_MODULE_1__.Event();
11138
11303
  PlotlySetup.setups = {
11139
11304
  bar: PlotlySetup.setupBar,
11140
11305
  vbar: PlotlySetup.setupVBar,
@@ -11145,6 +11310,7 @@ var PlotlySetup = /** @class */ (function () {
11145
11310
  scatter: PlotlySetup.setupScatter,
11146
11311
  gauge: PlotlySetup.setupGauge,
11147
11312
  bullet: PlotlySetup.setupGauge,
11313
+ radar: PlotlySetup.setupRadar,
11148
11314
  };
11149
11315
  PlotlySetup.getTruncatedLabel = function (label, labelTruncateLength) {
11150
11316
  var truncateSymbols = "...";
@@ -11183,8 +11349,8 @@ __webpack_require__.r(__webpack_exports__);
11183
11349
 
11184
11350
  var RankingModel = /** @class */ (function (_super) {
11185
11351
  (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__extends)(RankingModel, _super);
11186
- function RankingModel() {
11187
- return _super !== null && _super.apply(this, arguments) || this;
11352
+ function RankingModel(question, data, options, name) {
11353
+ return _super.call(this, question, data, options, name || "ranking") || this;
11188
11354
  }
11189
11355
  RankingModel.prototype.getQuestionResults = function () {
11190
11356
  var name = this.question.name;
@@ -11413,7 +11579,7 @@ var SelectBase = /** @class */ (function (_super) {
11413
11579
  _this.updateEmptyAnswersBtn();
11414
11580
  }
11415
11581
  return _this.emptyAnswersBtn;
11416
- });
11582
+ }, 1000);
11417
11583
  _this.registerToolbarItem("topNAnswers", function () {
11418
11584
  if (_this.options.allowTopNAnswers &&
11419
11585
  _this.getSeriesValues().length === 0) {
@@ -11967,17 +12133,24 @@ function defaultStatisticsCalculator(data, dataInfo) {
11967
12133
  }
11968
12134
  statistics.push(dataNameStatistics);
11969
12135
  }
12136
+ var getValueIndex = function (val) {
12137
+ if (val !== null && typeof val === "object")
12138
+ return valuesIndex[val.value];
12139
+ return valuesIndex[val];
12140
+ };
11970
12141
  data.forEach(function (row) {
11971
12142
  dataNames.forEach(function (dataName, index) {
11972
12143
  var rowValue = row[dataName];
11973
12144
  if (rowValue !== undefined || processMissingAnswers) {
11974
12145
  var rowValues = Array.isArray(rowValue) ? rowValue : [rowValue];
11975
12146
  if (series.length > 0) {
11976
- if (row[_dataProvider__WEBPACK_IMPORTED_MODULE_0__.DataProvider.seriesMarkerKey] !== undefined) {
12147
+ var rowName = row[_dataProvider__WEBPACK_IMPORTED_MODULE_0__.DataProvider.seriesMarkerKey];
12148
+ if (rowName !== undefined) {
11977
12149
  // Series are labelled by seriesMarkerKey in row data
11978
- var seriesNo_1 = seriesIndex[row[_dataProvider__WEBPACK_IMPORTED_MODULE_0__.DataProvider.seriesMarkerKey]] || 0;
12150
+ var seriesNo_1 = seriesIndex[rowName] || 0;
11979
12151
  rowValues.forEach(function (val) {
11980
- statistics[index][seriesNo_1][valuesIndex[val]]++;
12152
+ var valIndex = getValueIndex(val);
12153
+ statistics[index][seriesNo_1][valIndex]++;
11981
12154
  });
11982
12155
  }
11983
12156
  else {
@@ -11986,8 +12159,12 @@ function defaultStatisticsCalculator(data, dataInfo) {
11986
12159
  rowValues.forEach(function (val) {
11987
12160
  series.forEach(function (seriesName) {
11988
12161
  if (val[seriesName] !== undefined) {
11989
- var seriesNo = seriesIndex[seriesName] || 0;
11990
- statistics[index][seriesNo][valuesIndex[val[seriesName]]]++;
12162
+ var seriesNo_2 = seriesIndex[seriesName] || 0;
12163
+ var values_1 = Array.isArray(val[seriesName]) ? val[seriesName] : [val[seriesName]];
12164
+ values_1.forEach(function (value) {
12165
+ var valIndex = getValueIndex(value);
12166
+ statistics[index][seriesNo_2][valIndex]++;
12167
+ });
11991
12168
  }
11992
12169
  });
11993
12170
  });
@@ -11995,7 +12172,10 @@ function defaultStatisticsCalculator(data, dataInfo) {
11995
12172
  }
11996
12173
  else {
11997
12174
  // No series
11998
- rowValues.forEach(function (val) { return statistics[0][0][valuesIndex[val]]++; });
12175
+ rowValues.forEach(function (val) {
12176
+ var valIndex = getValueIndex(val);
12177
+ statistics[0][0][valIndex]++;
12178
+ });
11999
12179
  }
12000
12180
  }
12001
12181
  });
@@ -12881,7 +13061,7 @@ var VisualizationManager = /** @class */ (function () {
12881
13061
  if (constructor) {
12882
13062
  var visualizers = VisualizationManager.vizualizers[qType];
12883
13063
  if (!!visualizers) {
12884
- var vDescr = visualizers.filter(function (v) { return v.ctor === constructor; })[0];
13064
+ var vDescr = visualizers.filter(function (v) { return v.ctor === constructor || v.ctor.isPrototypeOf(constructor); })[0];
12885
13065
  if (!!vDescr) {
12886
13066
  var index = visualizers.indexOf(vDescr);
12887
13067
  if (index !== -1) {
@@ -12998,12 +13178,12 @@ var VisualizationMatrixDropdown = /** @class */ (function (_super) {
12998
13178
  _this._childOptions.transposeData = true;
12999
13179
  _this._childOptions.seriesValues = question.rows.map(function (row) { return row.value; });
13000
13180
  _this._childOptions.seriesLabels = question.rows.map(function (row) { return row.text; });
13001
- var innerQuestions = _this.getQuestions();
13002
13181
  if (_this.canGroupColumns) {
13003
13182
  var creators = _visualizationManager__WEBPACK_IMPORTED_MODULE_2__.VisualizationManager.getVisualizersByType("matrixdropdown-grouped");
13004
13183
  _this._matrixDropdownVisualizer = new creators[0](_this.question, [], _this._childOptions);
13005
13184
  }
13006
13185
  else {
13186
+ var innerQuestions = _this.getQuestions();
13007
13187
  _this._matrixDropdownVisualizer = new _visualizationPanel__WEBPACK_IMPORTED_MODULE_3__.VisualizationPanel(innerQuestions, [], _this._childOptions);
13008
13188
  }
13009
13189
  _this._matrixDropdownVisualizer.onAfterRender.add(_this.onPanelAfterRenderCallback);
@@ -13014,7 +13194,9 @@ var VisualizationMatrixDropdown = /** @class */ (function (_super) {
13014
13194
  get: function () {
13015
13195
  var _this = this;
13016
13196
  var innerQuestions = this.getQuestions();
13017
- var canGroupColumns = this._childOptions.seriesValues.length == 1 && innerQuestions.every(function (innerQuestion) { return isChoicesArraysEqual(innerQuestion.choices, _this.question.choices); });
13197
+ var canGroupColumns = this._childOptions.seriesValues.length == 1 && innerQuestions.every(function (innerQuestion) {
13198
+ return innerQuestion.getType() !== "boolean" && isChoicesArraysEqual(innerQuestion.choices, _this.question.choices);
13199
+ });
13018
13200
  return canGroupColumns;
13019
13201
  },
13020
13202
  enumerable: false,
@@ -13321,7 +13503,7 @@ var VisualizationPanel = /** @class */ (function (_super) {
13321
13503
  }
13322
13504
  });
13323
13505
  }, _localizationManager__WEBPACK_IMPORTED_MODULE_6__.localization.getString("resetFilter"));
13324
- });
13506
+ }, 900);
13325
13507
  _this.registerToolbarItem("addElement", function (toolbar) {
13326
13508
  if (_this.allowHideQuestions) {
13327
13509
  var addElementSelector_1 = undefined;
@@ -13504,7 +13686,7 @@ var VisualizationPanel = /** @class */ (function (_super) {
13504
13686
  return _utils_index__WEBPACK_IMPORTED_MODULE_5__.DocumentHelper.createButton(function () {
13505
13687
  setTimeout(function () { return _this.hideElement(question.name); }, 0);
13506
13688
  }, _localizationManager__WEBPACK_IMPORTED_MODULE_6__.localization.getString("hideButton"));
13507
- });
13689
+ }, 1000);
13508
13690
  }
13509
13691
  if (_this.allowMakeQuestionsPrivate) {
13510
13692
  visualizer.registerToolbarItem("makePrivatePublic", function () {
@@ -13529,7 +13711,7 @@ var VisualizationPanel = /** @class */ (function (_super) {
13529
13711
  visualizer.registerToolbarItem("questionFilterInfo", function () {
13530
13712
  filterInfo_1.update(visualizerWithSelection_1.selection);
13531
13713
  return filterInfo_1.htmlElement;
13532
- });
13714
+ }, 900);
13533
13715
  visualizerWithSelection_1.onDataItemSelected = function (selectedValue, selectedText) {
13534
13716
  filterInfo_1.update({ value: selectedValue, text: selectedText });
13535
13717
  _this.setFilter(question.name, selectedValue);
@@ -14182,6 +14364,9 @@ var VisualizerBase = /** @class */ (function () {
14182
14364
  }
14183
14365
  this.onStateChanged.fire(this, this.getState());
14184
14366
  };
14367
+ VisualizerBase.prototype.getToolbarItemCreators = function () {
14368
+ return Object.assign({}, this.toolbarItemCreators, this.onGetToolbarItemCreators && this.onGetToolbarItemCreators() || {});
14369
+ };
14185
14370
  Object.defineProperty(VisualizerBase.prototype, "questionOptions", {
14186
14371
  get: function () {
14187
14372
  var _a;
@@ -14337,8 +14522,9 @@ var VisualizerBase = /** @class */ (function () {
14337
14522
  * @param creator A function that accepts the toolbar and should return an `HTMLElement` with the toolbar item.
14338
14523
  * @see unregisterToolbarItem
14339
14524
  */
14340
- VisualizerBase.prototype.registerToolbarItem = function (name, creator) {
14341
- this.toolbarItemCreators[name] = creator;
14525
+ VisualizerBase.prototype.registerToolbarItem = function (name, creator, order) {
14526
+ if (order === void 0) { order = 100; }
14527
+ this.toolbarItemCreators[name] = { creator: creator, order: order };
14342
14528
  };
14343
14529
  /**
14344
14530
  *
@@ -14349,9 +14535,9 @@ var VisualizerBase = /** @class */ (function () {
14349
14535
  */
14350
14536
  VisualizerBase.prototype.unregisterToolbarItem = function (name) {
14351
14537
  if (this.toolbarItemCreators[name] !== undefined) {
14352
- var creator = this.toolbarItemCreators[name];
14538
+ var item = this.toolbarItemCreators[name];
14353
14539
  delete this.toolbarItemCreators[name];
14354
- return creator;
14540
+ return item.creator;
14355
14541
  }
14356
14542
  return undefined;
14357
14543
  };
@@ -14449,9 +14635,12 @@ var VisualizerBase = /** @class */ (function () {
14449
14635
  }
14450
14636
  };
14451
14637
  VisualizerBase.prototype.createToolbarItems = function (toolbar) {
14452
- var _this = this;
14453
- Object.keys(this.toolbarItemCreators || {}).forEach(function (toolbarItemName) {
14454
- var toolbarItem = _this.toolbarItemCreators[toolbarItemName](toolbar);
14638
+ var toolbarItemCreators = this.getToolbarItemCreators();
14639
+ var sortedItems = Object.keys(toolbarItemCreators || {})
14640
+ .map(function (name) { return ((0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)({ name: name }, toolbarItemCreators[name])); })
14641
+ .sort(function (a, b) { return a.order - b.order; });
14642
+ sortedItems.forEach(function (item) {
14643
+ var toolbarItem = item.creator(toolbar);
14455
14644
  if (!!toolbarItem) {
14456
14645
  toolbar.appendChild(toolbarItem);
14457
14646
  }