survey-analytics 2.3.6 → 2.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm/shared.mjs +1 -1
- package/fesm/shared2.mjs +58 -29
- package/fesm/shared2.mjs.map +1 -1
- package/fesm/survey.analytics.core.mjs +2 -2
- package/fesm/survey.analytics.mjs +3 -3
- package/fesm/survey.analytics.tabulator.mjs +6 -3
- package/fesm/survey.analytics.tabulator.mjs.map +1 -1
- package/package.json +2 -2
- package/survey-analytics-tabulator.types/tables/table.d.ts +18 -5
- package/survey-analytics.types/entries/summary.core.d.ts +1 -0
- package/survey-analytics.types/visualizationComposite.d.ts +8 -0
- package/survey-analytics.types/visualizationMatrixDynamic.d.ts +1 -2
- package/survey-analytics.types/visualizationPanelDynamic.d.ts +1 -2
- package/survey-analytics.types/visualizerBase.d.ts +1 -1
- package/survey.analytics.core.css +1 -1
- package/survey.analytics.core.js +115 -62
- package/survey.analytics.core.js.map +1 -1
- package/survey.analytics.core.min.css +1 -1
- package/survey.analytics.core.min.js +1 -1
- package/survey.analytics.core.min.js.LICENSE.txt +1 -1
- package/survey.analytics.css +1 -1
- package/survey.analytics.js +116 -62
- package/survey.analytics.js.map +1 -1
- package/survey.analytics.min.css +1 -1
- package/survey.analytics.min.js +1 -1
- package/survey.analytics.min.js.LICENSE.txt +1 -1
- package/survey.analytics.tabulator.css +1 -1
- package/survey.analytics.tabulator.js +11 -4
- package/survey.analytics.tabulator.js.map +1 -1
- package/survey.analytics.tabulator.min.css +1 -1
- package/survey.analytics.tabulator.min.js +1 -1
- package/survey.analytics.tabulator.min.js.LICENSE.txt +1 -1
package/fesm/shared.mjs
CHANGED
package/fesm/shared2.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* surveyjs - SurveyJS Dashboard library v2.3.
|
|
2
|
+
* surveyjs - SurveyJS Dashboard library v2.3.7
|
|
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
|
*/
|
|
6
6
|
|
|
7
7
|
import { D as DocumentHelper, l as localization, g as createLoadingIndicator, b as DataHelper, e as createCommercialLicenseLink, f as svgTemplate, t as toPrecision } from './shared.mjs';
|
|
8
|
-
import { Event, hasLicense, QuestionCommentModel, settings, ItemValue, surveyLocalization, IsTouch } from 'survey-core';
|
|
8
|
+
import { Event, QuestionCustomModel, QuestionCompositeModel, hasLicense, QuestionCommentModel, settings, ItemValue, surveyLocalization, IsTouch } from 'survey-core';
|
|
9
9
|
|
|
10
10
|
/******************************************************************************
|
|
11
11
|
Copyright (c) Microsoft Corporation.
|
|
@@ -282,16 +282,26 @@ class VisualizerFactory {
|
|
|
282
282
|
static createVisualizer(question, data, options) {
|
|
283
283
|
let type = question.getType();
|
|
284
284
|
let creators = [];
|
|
285
|
+
let questionForCreator = question;
|
|
286
|
+
let optionsForCreator = Object.assign({}, options);
|
|
285
287
|
if (type === "text" && question.inputType) {
|
|
286
288
|
creators = VisualizationManager.getVisualizersByType(question.inputType, type);
|
|
287
289
|
}
|
|
288
290
|
else {
|
|
289
|
-
|
|
291
|
+
let fallbackType = undefined;
|
|
292
|
+
if (question instanceof QuestionCustomModel) {
|
|
293
|
+
fallbackType = question.getDynamicType();
|
|
294
|
+
// questionForCreator = question.contentQuestion;
|
|
295
|
+
}
|
|
296
|
+
else if (question instanceof QuestionCompositeModel) {
|
|
297
|
+
fallbackType = "composite";
|
|
298
|
+
}
|
|
299
|
+
creators = VisualizationManager.getVisualizersByType(type, fallbackType);
|
|
290
300
|
}
|
|
291
|
-
var visualizers = creators.map((creator) => new creator(
|
|
301
|
+
var visualizers = creators.map((creator) => new creator(questionForCreator, data, optionsForCreator));
|
|
292
302
|
if (visualizers.length > 1) {
|
|
293
303
|
const alternativesVisualizerConstructor = VisualizationManager.getAltVisualizerSelector();
|
|
294
|
-
let visualizer = new alternativesVisualizerConstructor(visualizers,
|
|
304
|
+
let visualizer = new alternativesVisualizerConstructor(visualizers, questionForCreator, data, optionsForCreator);
|
|
295
305
|
return visualizer;
|
|
296
306
|
}
|
|
297
307
|
return visualizers[0];
|
|
@@ -717,11 +727,26 @@ class VisualizerBase {
|
|
|
717
727
|
* @param data A data array with survey results to be visualized.
|
|
718
728
|
*/
|
|
719
729
|
updateData(data) {
|
|
730
|
+
const dataPath = this.options.dataPath;
|
|
731
|
+
let dataToAssign = data;
|
|
732
|
+
if (!!dataPath && Array.isArray(data)) {
|
|
733
|
+
dataToAssign = [];
|
|
734
|
+
data.forEach(dataItem => {
|
|
735
|
+
if (!!dataItem && dataItem[dataPath] !== undefined) {
|
|
736
|
+
if (Array.isArray(dataItem[dataPath])) {
|
|
737
|
+
dataToAssign = dataToAssign.concat(dataItem[dataPath]);
|
|
738
|
+
}
|
|
739
|
+
else {
|
|
740
|
+
dataToAssign.push(dataItem[dataPath]);
|
|
741
|
+
}
|
|
742
|
+
}
|
|
743
|
+
});
|
|
744
|
+
}
|
|
720
745
|
if (!this.options.dataProvider) {
|
|
721
|
-
this.dataProvider.data =
|
|
746
|
+
this.dataProvider.data = dataToAssign;
|
|
722
747
|
}
|
|
723
748
|
if (this.hasFooter) {
|
|
724
|
-
this.footerVisualizer.updateData(
|
|
749
|
+
this.footerVisualizer.updateData(dataToAssign);
|
|
725
750
|
}
|
|
726
751
|
}
|
|
727
752
|
invokeOnUpdate() {
|
|
@@ -2664,7 +2689,7 @@ class AlternativeVisualizersWrapper extends VisualizerBase {
|
|
|
2664
2689
|
}
|
|
2665
2690
|
}
|
|
2666
2691
|
constructor(visualizers, question, data, options) {
|
|
2667
|
-
super(question, data, options);
|
|
2692
|
+
super(question, data, options, "alternative");
|
|
2668
2693
|
this.visualizers = visualizers;
|
|
2669
2694
|
this.visualizersWithSelection = [];
|
|
2670
2695
|
this.onAfterVisualizerRenderCallback = () => {
|
|
@@ -9886,7 +9911,7 @@ class VisualizationPanel extends VisualizerBase {
|
|
|
9886
9911
|
options.layoutEngine ||
|
|
9887
9912
|
new MuuriLayoutEngine(this.allowDynamicLayout, "." + questionLayoutedElementClassName, this.allowDragDrop);
|
|
9888
9913
|
this._layoutEngine.onMoveCallback = (order) => this.reorderVisibleElements(order);
|
|
9889
|
-
this.showToolbar =
|
|
9914
|
+
this.showToolbar = isRoot;
|
|
9890
9915
|
if (this.options.survey) {
|
|
9891
9916
|
localization.currentLocale = this.options.survey.locale;
|
|
9892
9917
|
}
|
|
@@ -9894,6 +9919,7 @@ class VisualizationPanel extends VisualizerBase {
|
|
|
9894
9919
|
this._elements = this.buildElements(questions);
|
|
9895
9920
|
}
|
|
9896
9921
|
this.buildVisualizers(questions);
|
|
9922
|
+
this.updateData(this.surveyData);
|
|
9897
9923
|
if (!this.haveCommercialLicense && this.isRoot) {
|
|
9898
9924
|
this.registerToolbarItem("commercialLicense", () => {
|
|
9899
9925
|
return createCommercialLicenseLink();
|
|
@@ -10458,34 +10484,27 @@ class VisualizationPanelDynamic extends VisualizerBase {
|
|
|
10458
10484
|
};
|
|
10459
10485
|
this.loadingData = false;
|
|
10460
10486
|
var options = Object.assign({}, options);
|
|
10487
|
+
options.allowHideQuestions = false;
|
|
10461
10488
|
options.allowDynamicLayout = false;
|
|
10462
10489
|
options.dataProvider = undefined;
|
|
10490
|
+
options.dataPath = this.dataNames[0];
|
|
10463
10491
|
this._panelVisualizer = new VisualizationPanel(this.getQuestions(), [], options, undefined, false);
|
|
10464
10492
|
this._panelVisualizer.onAfterRender.add(this.onAfterRenderPanelCallback);
|
|
10465
10493
|
this.updateData(data);
|
|
10466
10494
|
}
|
|
10495
|
+
get contentVisualizer() {
|
|
10496
|
+
return this._panelVisualizer;
|
|
10497
|
+
}
|
|
10467
10498
|
setLocale(newLocale) {
|
|
10468
10499
|
super.setLocale(newLocale);
|
|
10469
10500
|
this._panelVisualizer.locale = newLocale;
|
|
10470
10501
|
}
|
|
10471
|
-
get type() {
|
|
10472
|
-
return "panelDynamic";
|
|
10473
|
-
}
|
|
10474
|
-
updatePanelVisualizerData() {
|
|
10475
|
-
let panelData = [];
|
|
10476
|
-
this.data.forEach((dataItem) => {
|
|
10477
|
-
if (dataItem[this.question.name] !== undefined) {
|
|
10478
|
-
panelData = panelData.concat(dataItem[this.question.name]);
|
|
10479
|
-
}
|
|
10480
|
-
});
|
|
10481
|
-
this._panelVisualizer.updateData(panelData);
|
|
10482
|
-
}
|
|
10483
10502
|
updateData(data) {
|
|
10484
10503
|
super.updateData(data);
|
|
10485
|
-
this.
|
|
10504
|
+
this._panelVisualizer.updateData(data);
|
|
10486
10505
|
}
|
|
10487
10506
|
onDataChanged() {
|
|
10488
|
-
this.
|
|
10507
|
+
this._panelVisualizer.updateData(this.dataProvider.filteredData);
|
|
10489
10508
|
super.onDataChanged();
|
|
10490
10509
|
}
|
|
10491
10510
|
getQuestions() {
|
|
@@ -10507,11 +10526,8 @@ class VisualizationPanelDynamic extends VisualizerBase {
|
|
|
10507
10526
|
VisualizationManager.registerVisualizer("paneldynamic", VisualizationPanelDynamic);
|
|
10508
10527
|
|
|
10509
10528
|
class VisualizationMatrixDynamic extends VisualizationPanelDynamic {
|
|
10510
|
-
constructor(question, data, options) {
|
|
10511
|
-
super(question, data, options);
|
|
10512
|
-
}
|
|
10513
|
-
get type() {
|
|
10514
|
-
return "matrixDynamic";
|
|
10529
|
+
constructor(question, data, options, name) {
|
|
10530
|
+
super(question, data, options, name || "matrixDynamic");
|
|
10515
10531
|
}
|
|
10516
10532
|
getQuestions() {
|
|
10517
10533
|
const matrixdynamic = this.question;
|
|
@@ -10619,6 +10635,19 @@ class VisualizationMatrixDropdown extends VisualizerBase {
|
|
|
10619
10635
|
}
|
|
10620
10636
|
VisualizationManager.registerVisualizer("matrixdropdown", VisualizationMatrixDropdown);
|
|
10621
10637
|
|
|
10638
|
+
class VisualizationComposite extends VisualizationPanelDynamic {
|
|
10639
|
+
constructor(question, data, options, name) {
|
|
10640
|
+
super(question, data, options, name || "composite");
|
|
10641
|
+
}
|
|
10642
|
+
getQuestions() {
|
|
10643
|
+
const matrixdynamic = this.question;
|
|
10644
|
+
const innerQuestions = [];
|
|
10645
|
+
matrixdynamic.contentPanel.addQuestionsToList(innerQuestions);
|
|
10646
|
+
return innerQuestions;
|
|
10647
|
+
}
|
|
10648
|
+
}
|
|
10649
|
+
VisualizationManager.registerVisualizer("composite", VisualizationComposite);
|
|
10650
|
+
|
|
10622
10651
|
var stopWords$3 = [
|
|
10623
10652
|
"...",
|
|
10624
10653
|
"a",
|
|
@@ -12627,5 +12656,5 @@ NpsVisualizer.DetractorScore = 6;
|
|
|
12627
12656
|
NpsVisualizer.PromoterScore = 9;
|
|
12628
12657
|
// VisualizationManager.registerVisualizer("rating", NpsVisualizer);
|
|
12629
12658
|
|
|
12630
|
-
export { AlternativeVisualizersWrapper as A, BooleanModel as B, DataProvider as D, HistogramModel as H, Matrix as M, NumberModel as N, PostponeHelper as P, RankingModel as R, SelectBase as S, TextTableAdapter as T, VisualizerFactory as V, WordCloudAdapter as W, __awaiter as _, VisualizerBase as a, VisualizationManager as b, VisualizationPanel as c, VisualizationPanelDynamic as d, VisualizationMatrixDynamic as e, VisualizationMatrixDropdown as f,
|
|
12659
|
+
export { AlternativeVisualizersWrapper as A, BooleanModel as B, DataProvider as D, HistogramModel as H, Matrix as M, NumberModel as N, PostponeHelper as P, RankingModel as R, SelectBase as S, TextTableAdapter as T, VisualizerFactory as V, WordCloudAdapter as W, __awaiter as _, VisualizerBase as a, VisualizationManager as b, VisualizationPanel as c, VisualizationPanelDynamic as d, VisualizationMatrixDynamic as e, VisualizationMatrixDropdown as f, VisualizationComposite as g, hideEmptyAnswersInData as h, WordCloud as i, Text as j, StatisticsTableAdapter as k, StatisticsTable as l, StatisticsTableBoolean as m, NpsVisualizerWidget as n, NpsAdapter as o, NpsVisualizer as p, PivotModel as q, defaultStatisticsCalculator as r, textHelper as t };
|
|
12631
12660
|
//# sourceMappingURL=shared2.mjs.map
|