survey-analytics 2.5.8 → 2.5.10

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/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.5.8",
2
+ "version": "2.5.10",
3
3
  "name": "survey-analytics",
4
4
  "scripts": {
5
5
  "start": "webpack-dev-server --env buildType=dev",
@@ -93,7 +93,7 @@
93
93
  "@types/mongodb": "^4.0.6",
94
94
  "@types/plotly.js-dist-min": "^2.3.0",
95
95
  "@types/tabulator-tables": "^6.2.3",
96
- "survey-core": "2.5.8"
96
+ "survey-core": "2.5.10"
97
97
  },
98
98
  "husky": {
99
99
  "hooks": {
@@ -1,4 +1,4 @@
1
- import { Question, QuestionCheckboxModel, QuestionCompositeModel, QuestionCustomModel, QuestionDropdownModel, QuestionFileModel, QuestionMatrixDropdownModel, QuestionMatrixModel, QuestionRadiogroupModel } from "survey-core";
1
+ import { Question, QuestionCheckboxModel, QuestionCompositeModel, QuestionCustomModel, QuestionDropdownModel, QuestionFileModel, QuestionMatrixDropdownModel, QuestionMatrixModel, QuestionRadiogroupModel, QuestionSelectBase } from "survey-core";
2
2
  import { BaseColumn, CompositeQuestionColumn, CustomQuestionColumn, FileColumn, ImageColumn } from "./columns";
3
3
  import { IColumn } from "./config";
4
4
  import { Table } from "./table";
@@ -18,10 +18,13 @@ export declare class ColumnsBuilderFactory {
18
18
  registerBuilderColumn(type: string, columnsBuilder: IColumnsBuilder): void;
19
19
  getColumnsBuilder(type: string): IColumnsBuilder;
20
20
  }
21
- export declare class CheckboxColumnsBuilder extends DefaultColumnsBuilder<QuestionCheckboxModel> {
21
+ export declare class SelectBaseColumnsBuilder<T extends QuestionSelectBase> extends DefaultColumnsBuilder<T> {
22
+ buildColumns(question: T, table: Table): Array<IColumn>;
23
+ }
24
+ export declare class CheckboxColumnsBuilder extends SelectBaseColumnsBuilder<QuestionCheckboxModel> {
22
25
  protected createColumn(question: QuestionCheckboxModel, table: Table): BaseColumn<QuestionCheckboxModel>;
23
26
  }
24
- export declare class SingleChoiceColumnsBuilder extends DefaultColumnsBuilder<QuestionDropdownModel | QuestionRadiogroupModel> {
27
+ export declare class SingleChoiceColumnsBuilder extends SelectBaseColumnsBuilder<QuestionDropdownModel | QuestionRadiogroupModel> {
25
28
  protected createColumn(question: QuestionDropdownModel | QuestionRadiogroupModel, table: Table): BaseColumn<QuestionDropdownModel | QuestionRadiogroupModel>;
26
29
  }
27
30
  export declare class MatrixColumnsBuilder extends DefaultColumnsBuilder<QuestionMatrixModel> {
@@ -1,4 +1,4 @@
1
- import { MatrixRowModel, Question, QuestionCheckboxModel, QuestionCompositeModel, QuestionCustomModel, QuestionDropdownModel, QuestionFileModel, QuestionMatrixDropdownModel, QuestionMatrixModel, QuestionRadiogroupModel, QuestionSelectBase } from "survey-core";
1
+ import { ItemValue, MatrixRowModel, Question, QuestionCheckboxModel, QuestionCompositeModel, QuestionCustomModel, QuestionDropdownModel, QuestionFileModel, QuestionMatrixDropdownModel, QuestionMatrixModel, QuestionRadiogroupModel, QuestionSelectBase, QuestionTagboxModel } from "survey-core";
2
2
  import { ICellData, IColumn, ColumnDataType, QuestionLocation, IColumnData } from "./config";
3
3
  import { ITableOptions, Table } from "./table";
4
4
  export declare class BaseColumn<T extends Question = Question> implements IColumn {
@@ -32,13 +32,15 @@ export declare class BaseColumn<T extends Question = Question> implements IColum
32
32
  export declare class DefaultColumn extends BaseColumn {
33
33
  protected getDisplayValue(data: any, table: Table, options: ITableOptions): any;
34
34
  }
35
- export declare class CheckboxColumn extends BaseColumn<QuestionCheckboxModel> {
35
+ export declare class SelectBaseColumn<T extends QuestionSelectBase> extends BaseColumn<T> {
36
+ protected get isOtherInSeparateColumn(): boolean;
37
+ protected getItemDisplayText(item: ItemValue, options: ITableOptions): string;
36
38
  protected getDisplayValue(data: any, table: Table, options: ITableOptions): string;
37
39
  }
38
- export declare class SingleChoiceColumn extends BaseColumn<QuestionDropdownModel | QuestionRadiogroupModel> {
40
+ export declare class CheckboxColumn extends SelectBaseColumn<QuestionCheckboxModel | QuestionTagboxModel> {
39
41
  protected getDisplayValue(data: any, table: Table, options: ITableOptions): string;
40
42
  }
41
- export declare class SelectBaseColumn extends BaseColumn<QuestionDropdownModel | QuestionCheckboxModel | QuestionRadiogroupModel> {
43
+ export declare class SingleChoiceColumn extends SelectBaseColumn<QuestionDropdownModel | QuestionRadiogroupModel> {
42
44
  protected getDisplayValue(data: any, table: Table, options: ITableOptions): string;
43
45
  }
44
46
  export declare class CommentColumn<T extends Question = Question> extends BaseColumn<T> {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - SurveyJS Dashboard library v2.5.8
2
+ * surveyjs - SurveyJS Dashboard library v2.5.10
3
3
  * Copyright (c) 2015-2026 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: SEE LICENSE IN LICENSE
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - SurveyJS Dashboard library v2.5.8
2
+ * surveyjs - SurveyJS Dashboard library v2.5.10
3
3
  * Copyright (c) 2015-2026 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: SEE LICENSE IN LICENSE
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - SurveyJS Dashboard library v2.5.8
2
+ * surveyjs - SurveyJS Dashboard library v2.5.10
3
3
  * Copyright (c) 2015-2026 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: SEE LICENSE IN LICENSE
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - SurveyJS Dashboard library v2.5.8
2
+ * surveyjs - SurveyJS Dashboard library v2.5.10
3
3
  * Copyright (c) 2015-2026 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: SEE LICENSE IN LICENSE
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - SurveyJS Dashboard library v2.5.8
2
+ * surveyjs - SurveyJS Dashboard library v2.5.10
3
3
  * Copyright (c) 2015-2026 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: SEE LICENSE IN LICENSE
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - SurveyJS Dashboard library v2.5.8
2
+ * surveyjs - SurveyJS Dashboard library v2.5.10
3
3
  * Copyright (c) 2015-2026 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: SEE LICENSE IN LICENSE
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - SurveyJS Dashboard library v2.5.8
2
+ * surveyjs - SurveyJS Dashboard library v2.5.10
3
3
  * Copyright (c) 2015-2026 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: SEE LICENSE IN LICENSE
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - SurveyJS Dashboard library v2.5.8
2
+ * surveyjs - SurveyJS Dashboard library v2.5.10
3
3
  * Copyright (c) 2015-2026 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: SEE LICENSE IN LICENSE
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - SurveyJS Dashboard library v2.5.8
2
+ * surveyjs - SurveyJS Dashboard library v2.5.10
3
3
  * Copyright (c) 2015-2026 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: SEE LICENSE IN LICENSE
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - SurveyJS Dashboard library v2.5.8
2
+ * surveyjs - SurveyJS Dashboard library v2.5.10
3
3
  * Copyright (c) 2015-2026 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: SEE LICENSE IN LICENSE
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - SurveyJS Dashboard library v2.5.8
2
+ * surveyjs - SurveyJS Dashboard library v2.5.10
3
3
  * Copyright (c) 2015-2026 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: SEE LICENSE IN LICENSE
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - SurveyJS Dashboard library v2.5.8
2
+ * surveyjs - SurveyJS Dashboard library v2.5.10
3
3
  * Copyright (c) 2015-2026 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: SEE LICENSE IN LICENSE
5
5
  */
@@ -3194,6 +3194,7 @@ __webpack_require__.r(__webpack_exports__);
3194
3194
  /* harmony export */ MatrixDropdownColumnBuilder: () => (/* reexport safe */ _tables_columnbuilder__WEBPACK_IMPORTED_MODULE_21__.MatrixDropdownColumnBuilder),
3195
3195
  /* harmony export */ OtherColumn: () => (/* reexport safe */ _tables_columns__WEBPACK_IMPORTED_MODULE_22__.OtherColumn),
3196
3196
  /* harmony export */ SelectBaseColumn: () => (/* reexport safe */ _tables_columns__WEBPACK_IMPORTED_MODULE_22__.SelectBaseColumn),
3197
+ /* harmony export */ SelectBaseColumnsBuilder: () => (/* reexport safe */ _tables_columnbuilder__WEBPACK_IMPORTED_MODULE_21__.SelectBaseColumnsBuilder),
3197
3198
  /* harmony export */ SingleChoiceColumn: () => (/* reexport safe */ _tables_columns__WEBPACK_IMPORTED_MODULE_22__.SingleChoiceColumn),
3198
3199
  /* harmony export */ SingleChoiceColumnsBuilder: () => (/* reexport safe */ _tables_columnbuilder__WEBPACK_IMPORTED_MODULE_21__.SingleChoiceColumnsBuilder),
3199
3200
  /* harmony export */ Table: () => (/* reexport safe */ _tables_table__WEBPACK_IMPORTED_MODULE_19__.Table),
@@ -3548,6 +3549,7 @@ __webpack_require__.r(__webpack_exports__);
3548
3549
  /* harmony export */ ImageColumnsBuilder: () => (/* binding */ ImageColumnsBuilder),
3549
3550
  /* harmony export */ MatrixColumnsBuilder: () => (/* binding */ MatrixColumnsBuilder),
3550
3551
  /* harmony export */ MatrixDropdownColumnBuilder: () => (/* binding */ MatrixDropdownColumnBuilder),
3552
+ /* harmony export */ SelectBaseColumnsBuilder: () => (/* binding */ SelectBaseColumnsBuilder),
3551
3553
  /* harmony export */ SingleChoiceColumnsBuilder: () => (/* binding */ SingleChoiceColumnsBuilder)
3552
3554
  /* harmony export */ });
3553
3555
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./src/utils/helpers.ts");
@@ -3570,9 +3572,6 @@ var DefaultColumnsBuilder = /** @class */ (function () {
3570
3572
  if (question.hasComment) {
3571
3573
  columns.push(new _columns__WEBPACK_IMPORTED_MODULE_1__.CommentColumn(question, table));
3572
3574
  }
3573
- if (question.hasOther && question["getStoreOthersAsComment"]()) {
3574
- columns.push(new _columns__WEBPACK_IMPORTED_MODULE_1__.OtherColumn(question, table));
3575
- }
3576
3575
  return columns;
3577
3576
  };
3578
3577
  return DefaultColumnsBuilder;
@@ -3593,6 +3592,21 @@ var ColumnsBuilderFactory = /** @class */ (function () {
3593
3592
  return ColumnsBuilderFactory;
3594
3593
  }());
3595
3594
 
3595
+ var SelectBaseColumnsBuilder = /** @class */ (function (_super) {
3596
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__extends)(SelectBaseColumnsBuilder, _super);
3597
+ function SelectBaseColumnsBuilder() {
3598
+ return _super !== null && _super.apply(this, arguments) || this;
3599
+ }
3600
+ SelectBaseColumnsBuilder.prototype.buildColumns = function (question, table) {
3601
+ var columns = _super.prototype.buildColumns.call(this, question, table);
3602
+ if (question.hasOther && question.getStoreOthersAsComment()) {
3603
+ columns.push(new _columns__WEBPACK_IMPORTED_MODULE_1__.OtherColumn(question, table));
3604
+ }
3605
+ return columns;
3606
+ };
3607
+ return SelectBaseColumnsBuilder;
3608
+ }(DefaultColumnsBuilder));
3609
+
3596
3610
  var CheckboxColumnsBuilder = /** @class */ (function (_super) {
3597
3611
  (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__extends)(CheckboxColumnsBuilder, _super);
3598
3612
  function CheckboxColumnsBuilder() {
@@ -3602,7 +3616,7 @@ var CheckboxColumnsBuilder = /** @class */ (function (_super) {
3602
3616
  return new _columns__WEBPACK_IMPORTED_MODULE_1__.CheckboxColumn(question, table);
3603
3617
  };
3604
3618
  return CheckboxColumnsBuilder;
3605
- }(DefaultColumnsBuilder));
3619
+ }(SelectBaseColumnsBuilder));
3606
3620
 
3607
3621
  ColumnsBuilderFactory.Instance.registerBuilderColumn("checkbox", new CheckboxColumnsBuilder());
3608
3622
  ColumnsBuilderFactory.Instance.registerBuilderColumn("tagbox", new CheckboxColumnsBuilder());
@@ -3615,7 +3629,7 @@ var SingleChoiceColumnsBuilder = /** @class */ (function (_super) {
3615
3629
  return new _columns__WEBPACK_IMPORTED_MODULE_1__.SingleChoiceColumn(question, table);
3616
3630
  };
3617
3631
  return SingleChoiceColumnsBuilder;
3618
- }(DefaultColumnsBuilder));
3632
+ }(SelectBaseColumnsBuilder));
3619
3633
 
3620
3634
  ColumnsBuilderFactory.Instance.registerBuilderColumn("radiogroup", new SingleChoiceColumnsBuilder());
3621
3635
  ColumnsBuilderFactory.Instance.registerBuilderColumn("dropdown", new SingleChoiceColumnsBuilder());
@@ -3883,21 +3897,47 @@ var DefaultColumn = /** @class */ (function (_super) {
3883
3897
  return DefaultColumn;
3884
3898
  }(BaseColumn));
3885
3899
 
3900
+ var SelectBaseColumn = /** @class */ (function (_super) {
3901
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__extends)(SelectBaseColumn, _super);
3902
+ function SelectBaseColumn() {
3903
+ return _super !== null && _super.apply(this, arguments) || this;
3904
+ }
3905
+ Object.defineProperty(SelectBaseColumn.prototype, "isOtherInSeparateColumn", {
3906
+ get: function () {
3907
+ return this.question.hasOther && this.question.getStoreOthersAsComment();
3908
+ },
3909
+ enumerable: false,
3910
+ configurable: true
3911
+ });
3912
+ SelectBaseColumn.prototype.getItemDisplayText = function (item, options) {
3913
+ return options.useValuesAsLabels ? item.value : item.textOrHtml;
3914
+ };
3915
+ SelectBaseColumn.prototype.getDisplayValue = function (data, table, options) {
3916
+ var prevSeparator = survey_core__WEBPACK_IMPORTED_MODULE_1__.settings.choicesSeparator;
3917
+ survey_core__WEBPACK_IMPORTED_MODULE_1__.settings.choicesSeparator = table.itemsDelimiter;
3918
+ var value = options.useValuesAsLabels ? this.question.renderedValue : this.question.displayValue;
3919
+ survey_core__WEBPACK_IMPORTED_MODULE_1__.settings.choicesSeparator = prevSeparator;
3920
+ return value;
3921
+ };
3922
+ return SelectBaseColumn;
3923
+ }(BaseColumn));
3924
+
3886
3925
  var CheckboxColumn = /** @class */ (function (_super) {
3887
3926
  (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__extends)(CheckboxColumn, _super);
3888
3927
  function CheckboxColumn() {
3889
3928
  return _super !== null && _super.apply(this, arguments) || this;
3890
3929
  }
3891
3930
  CheckboxColumn.prototype.getDisplayValue = function (data, table, options) {
3892
- var selectedItems = this.question.selectedItems;
3893
- var res = [];
3894
- selectedItems.forEach(function (item) {
3895
- res.push(options.useValuesAsLabels ? item.value : item.textOrHtml);
3896
- });
3897
- return res.join(table.itemsDelimiter);
3931
+ var _this = this;
3932
+ if (this.isOtherInSeparateColumn) {
3933
+ var selectedItems = this.question.selectedItems;
3934
+ var res = selectedItems.map(function (item) { return _this.getItemDisplayText(item, options); });
3935
+ return res.join(table.itemsDelimiter);
3936
+ }
3937
+ return _super.prototype.getDisplayValue.call(this, data, table, options);
3898
3938
  };
3899
3939
  return CheckboxColumn;
3900
- }(BaseColumn));
3940
+ }(SelectBaseColumn));
3901
3941
 
3902
3942
  var SingleChoiceColumn = /** @class */ (function (_super) {
3903
3943
  (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__extends)(SingleChoiceColumn, _super);
@@ -3905,30 +3945,16 @@ var SingleChoiceColumn = /** @class */ (function (_super) {
3905
3945
  return _super !== null && _super.apply(this, arguments) || this;
3906
3946
  }
3907
3947
  SingleChoiceColumn.prototype.getDisplayValue = function (data, table, options) {
3908
- var selectedItem = this.question.selectedItem;
3909
- if (!selectedItem)
3910
- return "";
3911
- return options.useValuesAsLabels ? selectedItem.value : selectedItem.textOrHtml;
3912
- };
3913
- return SingleChoiceColumn;
3914
- }(BaseColumn));
3915
-
3916
- var SelectBaseColumn = /** @class */ (function (_super) {
3917
- (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__extends)(SelectBaseColumn, _super);
3918
- function SelectBaseColumn() {
3919
- return _super !== null && _super.apply(this, arguments) || this;
3920
- }
3921
- SelectBaseColumn.prototype.getDisplayValue = function (data, table, options) {
3922
- var value = options.useValuesAsLabels ? this.question.renderedValue : this.question.displayValue;
3923
- if (Array.isArray(value)) {
3924
- return value.join(table.itemsDelimiter);
3925
- }
3926
- else {
3927
- return value;
3948
+ if (this.isOtherInSeparateColumn) {
3949
+ var selectedItem = this.question.selectedItem;
3950
+ if (!selectedItem)
3951
+ return "";
3952
+ return this.getItemDisplayText(selectedItem, options);
3928
3953
  }
3954
+ return _super.prototype.getDisplayValue.call(this, data, table, options);
3929
3955
  };
3930
- return SelectBaseColumn;
3931
- }(BaseColumn));
3956
+ return SingleChoiceColumn;
3957
+ }(SelectBaseColumn));
3932
3958
 
3933
3959
  var CommentColumn = /** @class */ (function (_super) {
3934
3960
  (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__extends)(CommentColumn, _super);
@@ -6209,6 +6235,7 @@ __webpack_require__.r(__webpack_exports__);
6209
6235
  /* harmony export */ MatrixDropdownColumnBuilder: () => (/* reexport safe */ _tabulator__WEBPACK_IMPORTED_MODULE_0__.MatrixDropdownColumnBuilder),
6210
6236
  /* harmony export */ OtherColumn: () => (/* reexport safe */ _tabulator__WEBPACK_IMPORTED_MODULE_0__.OtherColumn),
6211
6237
  /* harmony export */ SelectBaseColumn: () => (/* reexport safe */ _tabulator__WEBPACK_IMPORTED_MODULE_0__.SelectBaseColumn),
6238
+ /* harmony export */ SelectBaseColumnsBuilder: () => (/* reexport safe */ _tabulator__WEBPACK_IMPORTED_MODULE_0__.SelectBaseColumnsBuilder),
6212
6239
  /* harmony export */ SingleChoiceColumn: () => (/* reexport safe */ _tabulator__WEBPACK_IMPORTED_MODULE_0__.SingleChoiceColumn),
6213
6240
  /* harmony export */ SingleChoiceColumnsBuilder: () => (/* reexport safe */ _tabulator__WEBPACK_IMPORTED_MODULE_0__.SingleChoiceColumnsBuilder),
6214
6241
  /* harmony export */ Table: () => (/* reexport safe */ _tabulator__WEBPACK_IMPORTED_MODULE_0__.Table),