survey-analytics 2.5.12 → 2.5.14

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.12",
2
+ "version": "2.5.14",
3
3
  "name": "survey-analytics",
4
4
  "scripts": {
5
5
  "start": "webpack-dev-server --env buildType=dev",
@@ -73,7 +73,7 @@
73
73
  "playwright": "1.58.0",
74
74
  "puppeteer": "22.13.1",
75
75
  "replace-in-file": "^6.3.2",
76
- "rollup": "^4.34.8",
76
+ "rollup": "^4.59.0",
77
77
  "rollup-plugin-license": "^3.6.0",
78
78
  "sass": "^1.62.1",
79
79
  "sass-loader": "^16.0.4",
@@ -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.12"
96
+ "survey-core": "2.5.14"
97
97
  },
98
98
  "husky": {
99
99
  "hooks": {
@@ -14,6 +14,7 @@ export declare class BaseColumn<T extends Question = Question> implements IColum
14
14
  private nameValue;
15
15
  private displayNameValue?;
16
16
  constructor(question: T, table: Table);
17
+ protected updateWhenQuestionIsReady(question: Question, table: Table): void;
17
18
  get name(): string;
18
19
  set name(val: string);
19
20
  get displayName(): string;
@@ -22,7 +23,6 @@ export declare class BaseColumn<T extends Question = Question> implements IColum
22
23
  protected getName(): string;
23
24
  protected getDataType(): ColumnDataType;
24
25
  protected getDisplayValueCore(data: any): any;
25
- protected setupReadyChangedCallback(table: Table, question: Question): void;
26
26
  protected getDisplayValue(data: any, table: Table, options: ITableOptions): any;
27
27
  private formatDisplayValue;
28
28
  getCellData(table: Table, data: any): ICellData;
@@ -78,8 +78,8 @@ export declare class MatrixDropdownColumn extends BaseColumn<QuestionMatrixDropd
78
78
  protected getDisplayValue(data: any, table: Table, options: ITableOptions): any;
79
79
  }
80
80
  export declare class CustomQuestionColumn extends BaseColumn<QuestionCustomModel> {
81
- getCellData(table: Table, data: any): ICellData;
81
+ constructor(question: QuestionCustomModel, table: Table);
82
82
  }
83
83
  export declare class CompositeQuestionColumn extends BaseColumn<QuestionCompositeModel> {
84
- getCellData(table: Table, data: any): ICellData;
84
+ constructor(question: QuestionCompositeModel, table: Table);
85
85
  }
@@ -154,6 +154,10 @@ export declare abstract class Table {
154
154
  * Sets locale for table.
155
155
  */
156
156
  set locale(newLocale: string);
157
+ private _lockStateChanged;
158
+ lockStateChanged(): void;
159
+ unlockStateChanged(): void;
160
+ protected stateChanged(): void;
157
161
  getLocales(): Array<string>;
158
162
  protected supportSoftRefresh(): boolean;
159
163
  protected softRefresh(): void;
@@ -1,5 +1,5 @@
1
1
  import { GetDataFn, ITableOptions, Table, TableRow } from "./table";
2
- import { SurveyModel } from "survey-core";
2
+ import { SurveyModel, Event } from "survey-core";
3
3
  import { IColumnData, QuestionLocation } from "./config";
4
4
  import type { DownloadType, SortDirection, TabulatorFull } from "tabulator-tables";
5
5
  import "./tabulator.scss";
@@ -52,6 +52,8 @@ export declare class Tabulator extends Table {
52
52
  private static tabulatorTablesConstructor;
53
53
  static initTabulatorConstructor(tabulatorTablesConstructor: TabulatorConstuctor): void;
54
54
  static set haveCommercialLicense(val: boolean);
55
+ onAfterRender: Event<(sender: Table, options: any) => any, Table, any>;
56
+ protected afterRender(contentContainer: HTMLElement): void;
55
57
  constructor(survey: SurveyModel, data: Array<Object> | GetDataFn, options?: ITabulatorOptions, _columnsData?: Array<IColumnData>);
56
58
  private readonly COLUMN_MIN_WIDTH;
57
59
  tabulatorTables: TabulatorFull;
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - SurveyJS Dashboard library v2.5.12
2
+ * surveyjs - SurveyJS Dashboard library v2.5.14
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.12
2
+ * surveyjs - SurveyJS Dashboard library v2.5.14
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.12
2
+ * surveyjs - SurveyJS Dashboard library v2.5.14
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.12
2
+ * surveyjs - SurveyJS Dashboard library v2.5.14
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.12
2
+ * surveyjs - SurveyJS Dashboard library v2.5.14
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.12
2
+ * surveyjs - SurveyJS Dashboard library v2.5.14
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.12
2
+ * surveyjs - SurveyJS Dashboard library v2.5.14
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.12
2
+ * surveyjs - SurveyJS Dashboard library v2.5.14
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.12
2
+ * surveyjs - SurveyJS Dashboard library v2.5.14
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.12
2
+ * surveyjs - SurveyJS Dashboard library v2.5.14
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.12
2
+ * surveyjs - SurveyJS Dashboard library v2.5.14
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.12
2
+ * surveyjs - SurveyJS Dashboard library v2.5.14
3
3
  * Copyright (c) 2015-2026 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: SEE LICENSE IN LICENSE
5
5
  */
@@ -3789,7 +3789,21 @@ var BaseColumn = /** @class */ (function () {
3789
3789
  this.isPublic = true;
3790
3790
  this.location = _config__WEBPACK_IMPORTED_MODULE_3__.QuestionLocation.Column;
3791
3791
  this.dataType = this.getDataType();
3792
+ this.updateWhenQuestionIsReady(question, table);
3792
3793
  }
3794
+ BaseColumn.prototype.updateWhenQuestionIsReady = function (question, table) {
3795
+ if (!question)
3796
+ return;
3797
+ question.waitForQuestionIsReady().then(function () {
3798
+ try {
3799
+ table.lockStateChanged();
3800
+ table.refresh(!table.isInitTableDataProcessing);
3801
+ }
3802
+ finally {
3803
+ table.unlockStateChanged();
3804
+ }
3805
+ });
3806
+ };
3793
3807
  Object.defineProperty(BaseColumn.prototype, "name", {
3794
3808
  get: function () {
3795
3809
  if (!this.nameValue) {
@@ -3831,19 +3845,6 @@ var BaseColumn = /** @class */ (function () {
3831
3845
  BaseColumn.prototype.getDisplayValueCore = function (data) {
3832
3846
  return data[this.name];
3833
3847
  };
3834
- BaseColumn.prototype.setupReadyChangedCallback = function (table, question) {
3835
- if (!!question) {
3836
- var onReadyChangedCallback_1 = function (sender, options) {
3837
- if (options.isReady) {
3838
- table.refresh(!table.isInitTableDataProcessing);
3839
- sender.onReadyChanged.remove(onReadyChangedCallback_1);
3840
- }
3841
- };
3842
- if (!question.isReady) {
3843
- question.onReadyChanged.add(onReadyChangedCallback_1);
3844
- }
3845
- }
3846
- };
3847
3848
  BaseColumn.prototype.getDisplayValue = function (data, table, options) {
3848
3849
  var displayValue = this.getDisplayValueCore(data);
3849
3850
  var question = this.question;
@@ -3864,7 +3865,6 @@ var BaseColumn = /** @class */ (function () {
3864
3865
  };
3865
3866
  BaseColumn.prototype.getCellData = function (table, data) {
3866
3867
  var displayValue = this.getDisplayValue(data, table, table.options);
3867
- this.setupReadyChangedCallback(table, this.question);
3868
3868
  return { question: this.question, displayValue: this.formatDisplayValue(displayValue) };
3869
3869
  };
3870
3870
  BaseColumn.prototype.toJSON = function () {
@@ -4105,30 +4105,25 @@ var MatrixDropdownColumn = /** @class */ (function (_super) {
4105
4105
 
4106
4106
  var CustomQuestionColumn = /** @class */ (function (_super) {
4107
4107
  (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__extends)(CustomQuestionColumn, _super);
4108
- function CustomQuestionColumn() {
4109
- return _super !== null && _super.apply(this, arguments) || this;
4108
+ function CustomQuestionColumn(question, table) {
4109
+ var _this = _super.call(this, question, table) || this;
4110
+ _this.updateWhenQuestionIsReady(question.contentQuestion, table);
4111
+ return _this;
4110
4112
  }
4111
- CustomQuestionColumn.prototype.getCellData = function (table, data) {
4112
- this.setupReadyChangedCallback(table, this.question.contentQuestion);
4113
- return _super.prototype.getCellData.call(this, table, data);
4114
- };
4115
4113
  return CustomQuestionColumn;
4116
4114
  }(BaseColumn));
4117
4115
 
4118
4116
  var CompositeQuestionColumn = /** @class */ (function (_super) {
4119
4117
  (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__extends)(CompositeQuestionColumn, _super);
4120
- function CompositeQuestionColumn() {
4121
- return _super !== null && _super.apply(this, arguments) || this;
4122
- }
4123
- CompositeQuestionColumn.prototype.getCellData = function (table, data) {
4124
- var _this = this;
4118
+ function CompositeQuestionColumn(question, table) {
4119
+ var _this = _super.call(this, question, table) || this;
4125
4120
  var questionList = [];
4126
- this.question.contentPanel.addQuestionsToList(questionList);
4127
- questionList.forEach(function (question) {
4128
- _this.setupReadyChangedCallback(table, question);
4121
+ _this.question.contentPanel.addQuestionsToList(questionList);
4122
+ questionList.forEach(function (q) {
4123
+ _this.updateWhenQuestionIsReady(q, table);
4129
4124
  });
4130
- return _super.prototype.getCellData.call(this, table, data);
4131
- };
4125
+ return _this;
4126
+ }
4132
4127
  return CompositeQuestionColumn;
4133
4128
  }(BaseColumn));
4134
4129
 
@@ -4786,6 +4781,7 @@ var Table = /** @class */ (function () {
4786
4781
  });
4787
4782
  return columns;
4788
4783
  };
4784
+ this._lockStateChanged = false;
4789
4785
  /**
4790
4786
  * Fires when table state changed.
4791
4787
  */
@@ -4865,7 +4861,7 @@ var Table = /** @class */ (function () {
4865
4861
  */
4866
4862
  Table.prototype.setPageSize = function (value) {
4867
4863
  this.currentPageSize = value;
4868
- this.onStateChanged.fire(this, this.state);
4864
+ this.stateChanged();
4869
4865
  };
4870
4866
  Table.prototype.getCreatedRows = function () {
4871
4867
  return [].concat(this._rows);
@@ -4905,7 +4901,7 @@ var Table = /** @class */ (function () {
4905
4901
  set: function (columns) {
4906
4902
  this._columns = columns;
4907
4903
  this.refresh(true);
4908
- this.onStateChanged.fire(this, this.state);
4904
+ this.stateChanged();
4909
4905
  },
4910
4906
  enumerable: false,
4911
4907
  configurable: true
@@ -4941,7 +4937,7 @@ var Table = /** @class */ (function () {
4941
4937
  Table.prototype.moveColumn = function (from, to) {
4942
4938
  var deletedColumns = this._columns.splice(from, 1);
4943
4939
  this._columns.splice(to, 0, deletedColumns[0]);
4944
- this.onStateChanged.fire(this, this.state);
4940
+ this.stateChanged();
4945
4941
  };
4946
4942
  Table.prototype.setColumnLocation = function (columnName, location) {
4947
4943
  this.getColumnByName(columnName).location = location;
@@ -4949,7 +4945,7 @@ var Table = /** @class */ (function () {
4949
4945
  columnName: columnName,
4950
4946
  location: location,
4951
4947
  });
4952
- this.onStateChanged.fire(this, this.state);
4948
+ this.stateChanged();
4953
4949
  };
4954
4950
  Table.prototype.getColumnByName = function (columnName) {
4955
4951
  return this._columns.filter(function (column) { return column.name === columnName; })[0];
@@ -4961,12 +4957,12 @@ var Table = /** @class */ (function () {
4961
4957
  columnName: columnName,
4962
4958
  columnVisibility: isVisible,
4963
4959
  });
4964
- this.onStateChanged.fire(this, this.state);
4960
+ this.stateChanged();
4965
4961
  };
4966
4962
  Table.prototype.setColumnWidth = function (columnName, width) {
4967
4963
  var column = this.getColumnByName(columnName);
4968
4964
  column.width = width;
4969
- this.onStateChanged.fire(this, this.state);
4965
+ this.stateChanged();
4970
4966
  };
4971
4967
  Table.prototype.removeRow = function (row) {
4972
4968
  var index = this._rows.indexOf(row);
@@ -4989,11 +4985,22 @@ var Table = /** @class */ (function () {
4989
4985
  _localizationManager__WEBPACK_IMPORTED_MODULE_4__.localization.currentLocale = newLocale;
4990
4986
  this.columns.forEach(function (c) { return c.displayName = undefined; });
4991
4987
  this.refresh(true);
4992
- this.onStateChanged.fire(this, this.state);
4988
+ this.stateChanged();
4993
4989
  },
4994
4990
  enumerable: false,
4995
4991
  configurable: true
4996
4992
  });
4993
+ Table.prototype.lockStateChanged = function () {
4994
+ this._lockStateChanged = true;
4995
+ };
4996
+ Table.prototype.unlockStateChanged = function () {
4997
+ this._lockStateChanged = false;
4998
+ };
4999
+ Table.prototype.stateChanged = function () {
5000
+ if (this._lockStateChanged)
5001
+ return;
5002
+ this.onStateChanged.fire(this, this.state);
5003
+ };
4997
5004
  Table.prototype.getLocales = function () {
4998
5005
  return [].concat(this._survey.getUsedLocales());
4999
5006
  };
@@ -5076,7 +5083,7 @@ var Table = /** @class */ (function () {
5076
5083
  this._survey.locale = survey_core__WEBPACK_IMPORTED_MODULE_1__.surveyLocalization.defaultLocale;
5077
5084
  this.initialize();
5078
5085
  this.refresh(true);
5079
- this.onStateChanged.fire(this, this.state);
5086
+ this.stateChanged();
5080
5087
  };
5081
5088
  Table.prototype.updateColumnsFromData = function (columnsData) {
5082
5089
  var _this = this;
@@ -5235,12 +5242,15 @@ __webpack_require__.r(__webpack_exports__);
5235
5242
  /* harmony export */ });
5236
5243
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./src/utils/helpers.ts");
5237
5244
  /* harmony import */ var _table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./table */ "./src/tables/table.ts");
5238
- /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./config */ "./src/tables/config.ts");
5239
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils */ "./src/utils/index.ts");
5240
- /* harmony import */ var _localizationManager__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../localizationManager */ "./src/localizationManager.ts");
5241
- /* harmony import */ var _custom_jspdf_font__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./custom_jspdf_font */ "./src/tables/custom_jspdf_font.ts");
5242
- /* harmony import */ var _svgbundle__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../svgbundle */ "./src/svgbundle.ts");
5243
- /* harmony import */ var _tabulator_scss__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./tabulator.scss */ "./src/tables/tabulator.scss");
5245
+ /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! survey-core */ "survey-core");
5246
+ /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(survey_core__WEBPACK_IMPORTED_MODULE_2__);
5247
+ /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./config */ "./src/tables/config.ts");
5248
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils */ "./src/utils/index.ts");
5249
+ /* harmony import */ var _localizationManager__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../localizationManager */ "./src/localizationManager.ts");
5250
+ /* harmony import */ var _custom_jspdf_font__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./custom_jspdf_font */ "./src/tables/custom_jspdf_font.ts");
5251
+ /* harmony import */ var _svgbundle__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../svgbundle */ "./src/svgbundle.ts");
5252
+ /* harmony import */ var _tabulator_scss__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./tabulator.scss */ "./src/tables/tabulator.scss");
5253
+
5244
5254
 
5245
5255
 
5246
5256
 
@@ -5252,7 +5262,7 @@ __webpack_require__.r(__webpack_exports__);
5252
5262
  if (!!document) {
5253
5263
  var templateHolder = document.createElement("div");
5254
5264
  templateHolder.style.display = "none";
5255
- templateHolder.innerHTML = _svgbundle__WEBPACK_IMPORTED_MODULE_6__.svgTemplate;
5265
+ templateHolder.innerHTML = _svgbundle__WEBPACK_IMPORTED_MODULE_7__.svgTemplate;
5256
5266
  document.head.appendChild(templateHolder);
5257
5267
  }
5258
5268
  var defaultDownloadOptions = {
@@ -5260,7 +5270,7 @@ var defaultDownloadOptions = {
5260
5270
  pdf: {
5261
5271
  orientation: "landscape",
5262
5272
  autoTable: function (doc) {
5263
- doc.addFileToVFS("custom_helvetica.ttf", _custom_jspdf_font__WEBPACK_IMPORTED_MODULE_5__.ARIAL_FONT);
5273
+ doc.addFileToVFS("custom_helvetica.ttf", _custom_jspdf_font__WEBPACK_IMPORTED_MODULE_6__.ARIAL_FONT);
5264
5274
  doc.addFont("custom_helvetica.ttf", "custom_helvetica", "normal");
5265
5275
  return {
5266
5276
  styles: {
@@ -5309,6 +5319,7 @@ var Tabulator = /** @class */ (function (_super) {
5309
5319
  function Tabulator(survey, data, options, _columnsData) {
5310
5320
  if (_columnsData === void 0) { _columnsData = []; }
5311
5321
  var _this = _super.call(this, survey, data, options, _columnsData) || this;
5322
+ _this.onAfterRender = new survey_core__WEBPACK_IMPORTED_MODULE_2__.Event();
5312
5323
  _this.COLUMN_MIN_WIDTH = 155;
5313
5324
  _this.tabulatorTables = null;
5314
5325
  _this.tableContainer = null;
@@ -5344,10 +5355,10 @@ var Tabulator = /** @class */ (function (_super) {
5344
5355
  if (!!column && rowComponent) {
5345
5356
  var dataRow = rowComponent.getData().surveyOriginalData;
5346
5357
  var dataCell = dataRow[questionName_1];
5347
- if (column.dataType === _config__WEBPACK_IMPORTED_MODULE_2__.ColumnDataType.Image) {
5358
+ if (column.dataType === _config__WEBPACK_IMPORTED_MODULE_3__.ColumnDataType.Image) {
5348
5359
  return questionName_1;
5349
5360
  }
5350
- if (column.dataType === _config__WEBPACK_IMPORTED_MODULE_2__.ColumnDataType.FileLink && Array.isArray(dataCell)) {
5361
+ if (column.dataType === _config__WEBPACK_IMPORTED_MODULE_3__.ColumnDataType.FileLink && Array.isArray(dataCell)) {
5351
5362
  return (dataCell || []).map(function (f) { return f.name; }).join(", ");
5352
5363
  }
5353
5364
  }
@@ -5376,6 +5387,9 @@ var Tabulator = /** @class */ (function (_super) {
5376
5387
  enumerable: false,
5377
5388
  configurable: true
5378
5389
  });
5390
+ Tabulator.prototype.afterRender = function (contentContainer) {
5391
+ this.onAfterRender.fire(this, { htmlElement: contentContainer });
5392
+ };
5379
5393
  Tabulator.prototype.supportSoftRefresh = function () {
5380
5394
  return true;
5381
5395
  };
@@ -5393,9 +5407,9 @@ var Tabulator = /** @class */ (function (_super) {
5393
5407
  targetNode.className += " sa-table sa-tabulator";
5394
5408
  var columns = this.getColumns();
5395
5409
  var data = this.tableData;
5396
- var header = _utils__WEBPACK_IMPORTED_MODULE_3__.DocumentHelper.createElement("div", "sa-tabulator__header");
5397
- var paginationElement = _utils__WEBPACK_IMPORTED_MODULE_3__.DocumentHelper.createElement("div", "sa-tabulator__pagination-container");
5398
- this.tableContainer = _utils__WEBPACK_IMPORTED_MODULE_3__.DocumentHelper.createElement("div");
5410
+ var header = _utils__WEBPACK_IMPORTED_MODULE_4__.DocumentHelper.createElement("div", "sa-tabulator__header");
5411
+ var paginationElement = _utils__WEBPACK_IMPORTED_MODULE_4__.DocumentHelper.createElement("div", "sa-tabulator__pagination-container");
5412
+ this.tableContainer = _utils__WEBPACK_IMPORTED_MODULE_4__.DocumentHelper.createElement("div");
5399
5413
  targetNode.appendChild(header);
5400
5414
  targetNode.appendChild(this.tableContainer);
5401
5415
  var config = {};
@@ -5464,17 +5478,20 @@ var Tabulator = /** @class */ (function (_super) {
5464
5478
  this.tabulatorTables = new Tabulator.tabulatorTablesConstructor(this.tableContainer, config);
5465
5479
  this.tabulatorTables.on("columnResized", this.columnResizedCallback);
5466
5480
  this.tabulatorTables.on("columnMoved", this.columnMovedCallback);
5467
- var extensionsContainer = _utils__WEBPACK_IMPORTED_MODULE_3__.DocumentHelper.createElement("div", "sa-table__header-extensions");
5481
+ this.tabulatorTables.on("tableBuilt", function () {
5482
+ _this.renderResult = targetNode;
5483
+ _this.afterRender(targetNode);
5484
+ });
5485
+ var extensionsContainer = _utils__WEBPACK_IMPORTED_MODULE_4__.DocumentHelper.createElement("div", "sa-table__header-extensions");
5468
5486
  header.appendChild(this.createDownloadsBar());
5469
5487
  this.extensions.render(header, "header");
5470
5488
  // header.appendChild(extensionsContainer);
5471
5489
  header.appendChild(paginationElement);
5472
- this.renderResult = targetNode;
5473
5490
  };
5474
5491
  Tabulator.prototype.createDownloadsBar = function () {
5475
5492
  var _this = this;
5476
5493
  var createDownloadButton = function (type, caption) {
5477
- var btn = _utils__WEBPACK_IMPORTED_MODULE_3__.DocumentHelper.createElement("button", "sa-table__btn sa-table__btn--small sa-table__btn--gray", {
5494
+ var btn = _utils__WEBPACK_IMPORTED_MODULE_4__.DocumentHelper.createElement("button", "sa-table__btn sa-table__btn--small sa-table__btn--gray", {
5478
5495
  innerText: caption,
5479
5496
  onclick: function () {
5480
5497
  _this.download(type);
@@ -5482,16 +5499,16 @@ var Tabulator = /** @class */ (function (_super) {
5482
5499
  });
5483
5500
  return btn;
5484
5501
  };
5485
- var container = _utils__WEBPACK_IMPORTED_MODULE_3__.DocumentHelper.createElement("div", "sa-tabulator__downloads-bar");
5502
+ var container = _utils__WEBPACK_IMPORTED_MODULE_4__.DocumentHelper.createElement("div", "sa-tabulator__downloads-bar");
5486
5503
  this._options.downloadButtons.forEach(function (type) {
5487
- container.appendChild(createDownloadButton(type, _localizationManager__WEBPACK_IMPORTED_MODULE_4__.localization.getString("".concat(type, "DownloadCaption"))));
5504
+ container.appendChild(createDownloadButton(type, _localizationManager__WEBPACK_IMPORTED_MODULE_5__.localization.getString("".concat(type, "DownloadCaption"))));
5488
5505
  });
5489
5506
  return container;
5490
5507
  };
5491
5508
  Tabulator.prototype.getTitleFormatter = function (cell, formatterParams, onRendered, columnName) {
5492
5509
  var _this = this;
5493
- var container = _utils__WEBPACK_IMPORTED_MODULE_3__.DocumentHelper.createElement("div");
5494
- var title = _utils__WEBPACK_IMPORTED_MODULE_3__.DocumentHelper.createElement("span", "", {
5510
+ var container = _utils__WEBPACK_IMPORTED_MODULE_4__.DocumentHelper.createElement("div");
5511
+ var title = _utils__WEBPACK_IMPORTED_MODULE_4__.DocumentHelper.createElement("span", "", {
5495
5512
  innerText: cell.getValue(),
5496
5513
  });
5497
5514
  var actions = this.getHeaderActions(columnName);
@@ -5505,7 +5522,7 @@ var Tabulator = /** @class */ (function (_super) {
5505
5522
  return container;
5506
5523
  };
5507
5524
  Tabulator.prototype.getHeaderActions = function (columnName) {
5508
- var container = _utils__WEBPACK_IMPORTED_MODULE_3__.DocumentHelper.createElement("div", "sa-table__action-container");
5525
+ var container = _utils__WEBPACK_IMPORTED_MODULE_4__.DocumentHelper.createElement("div", "sa-table__action-container");
5509
5526
  this.extensions.render(container, "column", { columnName: columnName });
5510
5527
  return container;
5511
5528
  };
@@ -5513,10 +5530,10 @@ var Tabulator = /** @class */ (function (_super) {
5513
5530
  var _this = this;
5514
5531
  var columns = this.columns.map(function (column, index) {
5515
5532
  var formatter = "plaintext";
5516
- if (column.dataType == _config__WEBPACK_IMPORTED_MODULE_2__.ColumnDataType.FileLink) {
5533
+ if (column.dataType == _config__WEBPACK_IMPORTED_MODULE_3__.ColumnDataType.FileLink) {
5517
5534
  formatter = "html";
5518
5535
  }
5519
- if (column.dataType == _config__WEBPACK_IMPORTED_MODULE_2__.ColumnDataType.Image) {
5536
+ if (column.dataType == _config__WEBPACK_IMPORTED_MODULE_3__.ColumnDataType.Image) {
5520
5537
  formatter = "image";
5521
5538
  }
5522
5539
  return {
@@ -5549,7 +5566,7 @@ var Tabulator = /** @class */ (function (_super) {
5549
5566
  minWidth: this._options.actionsColumnWidth,
5550
5567
  width: this._options.actionsColumnWidth,
5551
5568
  tooltip: function (_, cell) {
5552
- return _localizationManager__WEBPACK_IMPORTED_MODULE_4__.localization.getString("actionsColumn");
5569
+ return _localizationManager__WEBPACK_IMPORTED_MODULE_5__.localization.getString("actionsColumn");
5553
5570
  }
5554
5571
  });
5555
5572
  // }
@@ -5570,7 +5587,7 @@ var Tabulator = /** @class */ (function (_super) {
5570
5587
  Tabulator.prototype.setColumnLocation = function (columnName, location) {
5571
5588
  _super.prototype.setColumnLocation.call(this, columnName, location);
5572
5589
  if (this.isRendered) {
5573
- if (location == _config__WEBPACK_IMPORTED_MODULE_2__.QuestionLocation.Row)
5590
+ if (location == _config__WEBPACK_IMPORTED_MODULE_3__.QuestionLocation.Row)
5574
5591
  this.tabulatorTables.hideColumn(columnName);
5575
5592
  else
5576
5593
  this.tabulatorTables.showColumn(columnName);