survey-core 1.10.4 → 1.10.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. package/defaultV2.css +25 -2
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +25 -2
  4. package/defaultV2.fontless.css.map +1 -1
  5. package/defaultV2.fontless.min.css +2 -2
  6. package/defaultV2.min.css +2 -2
  7. package/i18n/arabic.js +1 -1
  8. package/i18n/arabic.min.js +1 -1
  9. package/i18n/basque.js +1 -1
  10. package/i18n/basque.min.js +1 -1
  11. package/i18n/bulgarian.js +1 -1
  12. package/i18n/bulgarian.min.js +1 -1
  13. package/i18n/catalan.js +1 -1
  14. package/i18n/catalan.min.js +1 -1
  15. package/i18n/croatian.js +1 -1
  16. package/i18n/croatian.min.js +1 -1
  17. package/i18n/czech.js +1 -1
  18. package/i18n/czech.min.js +1 -1
  19. package/i18n/danish.js +1 -1
  20. package/i18n/danish.min.js +1 -1
  21. package/i18n/dutch.js +1 -1
  22. package/i18n/dutch.min.js +1 -1
  23. package/i18n/english.js +1 -1
  24. package/i18n/english.min.js +2 -2
  25. package/i18n/estonian.js +1 -1
  26. package/i18n/estonian.min.js +1 -1
  27. package/i18n/finnish.js +1 -1
  28. package/i18n/finnish.min.js +1 -1
  29. package/i18n/french.js +1 -1
  30. package/i18n/french.min.js +1 -1
  31. package/i18n/georgian.js +1 -1
  32. package/i18n/georgian.min.js +1 -1
  33. package/i18n/german.js +1 -1
  34. package/i18n/german.min.js +1 -1
  35. package/i18n/greek.js +1 -1
  36. package/i18n/greek.min.js +1 -1
  37. package/i18n/hebrew.js +1 -1
  38. package/i18n/hebrew.min.js +1 -1
  39. package/i18n/hindi.js +1 -1
  40. package/i18n/hindi.min.js +1 -1
  41. package/i18n/hungarian.js +1 -1
  42. package/i18n/hungarian.min.js +1 -1
  43. package/i18n/icelandic.js +1 -1
  44. package/i18n/icelandic.min.js +1 -1
  45. package/i18n/index.js +132 -1
  46. package/i18n/index.js.map +1 -1
  47. package/i18n/index.min.js +2 -2
  48. package/i18n/indonesian.js +1 -1
  49. package/i18n/indonesian.min.js +1 -1
  50. package/i18n/italian.js +1 -1
  51. package/i18n/italian.min.js +1 -1
  52. package/i18n/japanese.js +1 -1
  53. package/i18n/japanese.min.js +1 -1
  54. package/i18n/kazakh.js +1 -1
  55. package/i18n/kazakh.min.js +1 -1
  56. package/i18n/korean.js +1 -1
  57. package/i18n/korean.min.js +1 -1
  58. package/i18n/latvian.js +1 -1
  59. package/i18n/latvian.min.js +1 -1
  60. package/i18n/lithuanian.js +1 -1
  61. package/i18n/lithuanian.min.js +1 -1
  62. package/i18n/macedonian.js +1 -1
  63. package/i18n/macedonian.min.js +1 -1
  64. package/i18n/malay.js +1 -1
  65. package/i18n/malay.min.js +1 -1
  66. package/i18n/nl-BE.js +1 -1
  67. package/i18n/nl-BE.min.js +1 -1
  68. package/i18n/norwegian.js +1 -1
  69. package/i18n/norwegian.min.js +1 -1
  70. package/i18n/persian.js +1 -1
  71. package/i18n/persian.min.js +1 -1
  72. package/i18n/philippines.js +246 -0
  73. package/i18n/philippines.js.map +1 -0
  74. package/i18n/philippines.min.js +6 -0
  75. package/i18n/polish.js +1 -1
  76. package/i18n/polish.min.js +1 -1
  77. package/i18n/portuguese-br.js +1 -1
  78. package/i18n/portuguese-br.min.js +1 -1
  79. package/i18n/portuguese.js +1 -1
  80. package/i18n/portuguese.min.js +1 -1
  81. package/i18n/romanian.js +1 -1
  82. package/i18n/romanian.min.js +1 -1
  83. package/i18n/russian.js +1 -1
  84. package/i18n/russian.min.js +1 -1
  85. package/i18n/serbian.js +1 -1
  86. package/i18n/serbian.min.js +1 -1
  87. package/i18n/simplified-chinese.js +1 -1
  88. package/i18n/simplified-chinese.min.js +1 -1
  89. package/i18n/slovak.js +1 -1
  90. package/i18n/slovak.min.js +1 -1
  91. package/i18n/spanish.js +1 -1
  92. package/i18n/spanish.min.js +1 -1
  93. package/i18n/swahili.js +1 -1
  94. package/i18n/swahili.min.js +1 -1
  95. package/i18n/swedish.js +1 -1
  96. package/i18n/swedish.min.js +1 -1
  97. package/i18n/tajik.js +1 -1
  98. package/i18n/tajik.min.js +1 -1
  99. package/i18n/telugu.js +1 -1
  100. package/i18n/telugu.min.js +1 -1
  101. package/i18n/thai.js +1 -1
  102. package/i18n/thai.min.js +1 -1
  103. package/i18n/traditional-chinese.js +1 -1
  104. package/i18n/traditional-chinese.min.js +1 -1
  105. package/i18n/turkish.js +1 -1
  106. package/i18n/turkish.min.js +1 -1
  107. package/i18n/ukrainian.js +1 -1
  108. package/i18n/ukrainian.min.js +1 -1
  109. package/i18n/urdu.js +1 -1
  110. package/i18n/urdu.min.js +2 -2
  111. package/i18n/vietnamese.js +1 -1
  112. package/i18n/vietnamese.min.js +1 -1
  113. package/i18n/welsh.js +1 -1
  114. package/i18n/welsh.min.js +1 -1
  115. package/modern.css +1 -1
  116. package/modern.fontless.css +1 -1
  117. package/modern.fontless.min.css +1 -1
  118. package/modern.min.css +1 -1
  119. package/package.json +1 -1
  120. package/plugins/bootstrap-integration.js +1 -1
  121. package/plugins/bootstrap-integration.min.js +1 -1
  122. package/plugins/bootstrap-material-integration.js +1 -1
  123. package/plugins/bootstrap-material-integration.min.js +1 -1
  124. package/survey.core.js +362 -169
  125. package/survey.core.js.map +1 -1
  126. package/survey.core.min.js +3 -3
  127. package/survey.css +1 -1
  128. package/survey.i18n.js +132 -1
  129. package/survey.i18n.js.map +1 -1
  130. package/survey.i18n.min.js +2 -2
  131. package/survey.min.css +1 -1
  132. package/themes/borderless-dark-panelless.js +1 -1
  133. package/themes/borderless-dark-panelless.min.js +1 -1
  134. package/themes/borderless-dark.js +1 -1
  135. package/themes/borderless-dark.min.js +1 -1
  136. package/themes/borderless-light-panelless..js +1 -1
  137. package/themes/borderless-light-panelless..min.js +1 -1
  138. package/themes/borderless-light.js +1 -1
  139. package/themes/borderless-light.min.js +1 -1
  140. package/themes/contrast-dark-panelless.js +1 -1
  141. package/themes/contrast-dark-panelless.min.js +1 -1
  142. package/themes/contrast-dark.js +1 -1
  143. package/themes/contrast-dark.min.js +1 -1
  144. package/themes/contrast-light-panelless.js +1 -1
  145. package/themes/contrast-light-panelless.min.js +1 -1
  146. package/themes/contrast-light.js +1 -1
  147. package/themes/contrast-light.min.js +1 -1
  148. package/themes/default-dark-panelless.js +1 -1
  149. package/themes/default-dark-panelless.min.js +1 -1
  150. package/themes/default-dark.js +1 -1
  151. package/themes/default-dark.min.js +1 -1
  152. package/themes/default-light-panelless.js +1 -1
  153. package/themes/default-light-panelless.min.js +1 -1
  154. package/themes/default-light.js +1 -1
  155. package/themes/default-light.min.js +1 -1
  156. package/themes/doubleborder-dark-panelless.js +1 -1
  157. package/themes/doubleborder-dark-panelless.min.js +1 -1
  158. package/themes/doubleborder-dark.js +1 -1
  159. package/themes/doubleborder-dark.min.js +1 -1
  160. package/themes/doubleborder-light-panelles.js +1 -1
  161. package/themes/doubleborder-light-panelles.min.js +1 -1
  162. package/themes/doubleborder-light.js +1 -1
  163. package/themes/doubleborder-light.min.js +1 -1
  164. package/themes/flat-dark-panelless.js +1 -1
  165. package/themes/flat-dark-panelless.min.js +1 -1
  166. package/themes/flat-dark.js +1 -1
  167. package/themes/flat-dark.min.js +1 -1
  168. package/themes/flat-light-panelless.js +1 -1
  169. package/themes/flat-light-panelless.min.js +1 -1
  170. package/themes/flat-light.js +1 -1
  171. package/themes/flat-light.min.js +1 -1
  172. package/themes/index.js +1 -1
  173. package/themes/index.min.js +1 -1
  174. package/themes/layered-dark-panelless.js +1 -1
  175. package/themes/layered-dark-panelless.min.js +1 -1
  176. package/themes/layered-dark.js +1 -1
  177. package/themes/layered-dark.min.js +1 -1
  178. package/themes/layered-light-panelless.js +1 -1
  179. package/themes/layered-light-panelless.min.js +1 -1
  180. package/themes/layered-light.js +1 -1
  181. package/themes/layered-light.min.js +1 -1
  182. package/themes/plain-dark-panelless.js +1 -1
  183. package/themes/plain-dark-panelless.min.js +1 -1
  184. package/themes/plain-dark.js +1 -1
  185. package/themes/plain-dark.min.js +1 -1
  186. package/themes/plain-light-panelless.js +1 -1
  187. package/themes/plain-light-panelless.min.js +1 -1
  188. package/themes/plain-light.js +1 -1
  189. package/themes/plain-light.min.js +1 -1
  190. package/themes/sharp-dark-panelless.js +1 -1
  191. package/themes/sharp-dark-panelless.min.js +1 -1
  192. package/themes/sharp-dark.js +1 -1
  193. package/themes/sharp-dark.min.js +1 -1
  194. package/themes/sharp-light-panelless.js +1 -1
  195. package/themes/sharp-light-panelless.min.js +1 -1
  196. package/themes/sharp-light.js +1 -1
  197. package/themes/sharp-light.min.js +1 -1
  198. package/themes/solid-dark-panelless.js +1 -1
  199. package/themes/solid-dark-panelless.min.js +1 -1
  200. package/themes/solid-dark.js +1 -1
  201. package/themes/solid-dark.min.js +1 -1
  202. package/themes/solid-light-panelless.js +1 -1
  203. package/themes/solid-light-panelless.min.js +1 -1
  204. package/themes/solid-light.js +1 -1
  205. package/themes/solid-light.min.js +1 -1
  206. package/themes/three-dimensional-dark-panelless.js +1 -1
  207. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  208. package/themes/three-dimensional-dark.js +1 -1
  209. package/themes/three-dimensional-dark.min.js +1 -1
  210. package/themes/three-dimensional-light-panelless.js +1 -1
  211. package/themes/three-dimensional-light-panelless.min.js +1 -1
  212. package/themes/three-dimensional-light.js +1 -1
  213. package/themes/three-dimensional-light.min.js +1 -1
  214. package/ts3.4/typings/actions/action.d.ts +3 -2
  215. package/ts3.4/typings/defaultCss/defaultV2Css.d.ts +2 -0
  216. package/ts3.4/typings/list.d.ts +11 -7
  217. package/ts3.4/typings/multiSelectListModel.d.ts +5 -2
  218. package/ts3.4/typings/popup-view-model.d.ts +2 -0
  219. package/ts3.4/typings/popup.d.ts +3 -0
  220. package/ts3.4/typings/question.d.ts +4 -1
  221. package/ts3.4/typings/question_baseselect.d.ts +1 -1
  222. package/ts3.4/typings/question_dropdown.d.ts +1 -1
  223. package/ts3.4/typings/question_file.d.ts +1 -1
  224. package/ts3.4/typings/question_matrixdropdownbase.d.ts +7 -3
  225. package/ts3.4/typings/question_matrixdynamic.d.ts +1 -2
  226. package/ts3.4/typings/question_rating.d.ts +1 -0
  227. package/ts3.4/typings/question_signaturepad.d.ts +1 -1
  228. package/ts3.4/typings/question_tagbox.d.ts +1 -1
  229. package/ts3.4/typings/survey.d.ts +3 -2
  230. package/typings/actions/action.d.ts +3 -2
  231. package/typings/defaultCss/defaultV2Css.d.ts +2 -0
  232. package/typings/list.d.ts +11 -7
  233. package/typings/multiSelectListModel.d.ts +5 -2
  234. package/typings/popup-view-model.d.ts +3 -1
  235. package/typings/popup.d.ts +3 -0
  236. package/typings/question.d.ts +4 -1
  237. package/typings/question_baseselect.d.ts +1 -1
  238. package/typings/question_dropdown.d.ts +1 -1
  239. package/typings/question_file.d.ts +1 -1
  240. package/typings/question_matrixdropdownbase.d.ts +7 -3
  241. package/typings/question_matrixdynamic.d.ts +1 -2
  242. package/typings/question_rating.d.ts +1 -0
  243. package/typings/question_signaturepad.d.ts +1 -1
  244. package/typings/question_tagbox.d.ts +1 -1
  245. package/typings/survey.d.ts +3 -2
package/survey.core.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.10.4
2
+ * surveyjs - Survey JavaScript library v1.10.6
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -686,13 +686,14 @@ class SignaturePad extends SignatureEventTarget {
686
686
  /*!*******************************!*\
687
687
  !*** ./src/actions/action.ts ***!
688
688
  \*******************************/
689
- /*! exports provided: createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel */
689
+ /*! exports provided: createDropdownActionModel, createDropdownActionModelAdvanced, createPopupModelWithListModel, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel */
690
690
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
691
691
 
692
692
  "use strict";
693
693
  __webpack_require__.r(__webpack_exports__);
694
694
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createDropdownActionModel", function() { return createDropdownActionModel; });
695
695
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createDropdownActionModelAdvanced", function() { return createDropdownActionModelAdvanced; });
696
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createPopupModelWithListModel", function() { return createPopupModelWithListModel; });
696
697
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getActionDropdownButtonTarget", function() { return getActionDropdownButtonTarget; });
697
698
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BaseAction", function() { return BaseAction; });
698
699
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Action", function() { return Action; });
@@ -733,36 +734,53 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
733
734
 
734
735
 
735
736
  function createDropdownActionModel(actionOptions, dropdownOptions, locOwner) {
736
- return createDropdownActionModelAdvanced(actionOptions, dropdownOptions, dropdownOptions, locOwner);
737
+ dropdownOptions.locOwner = locOwner;
738
+ return createDropdownActionModelAdvanced(actionOptions, dropdownOptions, dropdownOptions);
737
739
  }
738
- function createDropdownActionModelAdvanced(actionOptions, listOptions, popupOptions, locOwner) {
739
- var listModel = new _list__WEBPACK_IMPORTED_MODULE_3__["ListModel"](listOptions.items, function (item) {
740
+ function createDropdownActionModelAdvanced(actionOptions, listOptions, popupOptions) {
741
+ var _a;
742
+ var originalSelectionChanged = listOptions.onSelectionChanged;
743
+ listOptions.onSelectionChanged = function (item) {
744
+ var params = [];
745
+ for (var _i = 1; _i < arguments.length; _i++) {
746
+ params[_i - 1] = arguments[_i];
747
+ }
740
748
  if (newAction.hasTitle) {
741
749
  newAction.title = item.title;
742
750
  }
743
- listOptions.onSelectionChanged(item);
744
- innerPopupModel.toggleVisibility();
745
- }, listOptions.allowSelection, listOptions.selectedItem);
746
- listModel.locOwner = locOwner;
747
- listModel.setOnFilterStringChangedCallback(listOptions.onFilterStringChangedCallback);
748
- var options = popupOptions || {};
749
- options.onDispose = function () { listModel.dispose(); };
750
- var innerPopupModel = new _popup__WEBPACK_IMPORTED_MODULE_4__["PopupModel"]("sv-list", { model: listModel }, options);
751
- innerPopupModel.displayMode = popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.displayMode;
751
+ originalSelectionChanged(item, params);
752
+ };
753
+ var popupModel = createPopupModelWithListModel(listOptions, popupOptions);
752
754
  var newActionOptions = Object.assign({}, actionOptions, {
753
755
  component: "sv-action-bar-item-dropdown",
754
- popupModel: innerPopupModel,
756
+ popupModel: popupModel,
755
757
  action: function (action, isUserAction) {
756
758
  !!(actionOptions.action) && actionOptions.action();
757
- innerPopupModel.isFocusedContent = !isUserAction || listModel.showFilter;
758
- innerPopupModel.toggleVisibility();
759
- listModel.scrollToSelectedItem();
759
+ popupModel.isFocusedContent = popupModel.isFocusedContent || !isUserAction;
760
+ popupModel.show();
760
761
  },
761
762
  });
762
763
  var newAction = new Action(newActionOptions);
763
- newAction.data = listModel;
764
+ newAction.data = (_a = popupModel.contentComponentData) === null || _a === void 0 ? void 0 : _a.model;
764
765
  return newAction;
765
766
  }
767
+ function createPopupModelWithListModel(listOptions, popupOptions) {
768
+ var listModel = new _list__WEBPACK_IMPORTED_MODULE_3__["ListModel"](listOptions);
769
+ listModel.onSelectionChanged = function (item) {
770
+ listOptions.onSelectionChanged(item);
771
+ popupModel.hide();
772
+ };
773
+ var _popupOptions = popupOptions || {};
774
+ _popupOptions.onDispose = function () { listModel.dispose(); };
775
+ var popupModel = new _popup__WEBPACK_IMPORTED_MODULE_4__["PopupModel"]("sv-list", { model: listModel }, _popupOptions);
776
+ popupModel.isFocusedContent = listModel.showFilter;
777
+ popupModel.onShow = function () {
778
+ if (!!_popupOptions.onShow)
779
+ _popupOptions.onShow();
780
+ listModel.scrollToSelectedItem();
781
+ };
782
+ return popupModel;
783
+ }
766
784
  function getActionDropdownButtonTarget(container) {
767
785
  return container === null || container === void 0 ? void 0 : container.previousElementSibling;
768
786
  }
@@ -5430,6 +5448,7 @@ var defaultV2Css = {
5430
5448
  rootFitToContainer: "sd-root-modern--full-container",
5431
5449
  rootWrapper: "sd-root-modern__wrapper",
5432
5450
  rootWrapperFixed: "sd-root-modern__wrapper--fixed",
5451
+ rootWrapperHasImage: "sd-root-modern__wrapper--has-image",
5433
5452
  rootBackgroundImage: "sd-root_background-image",
5434
5453
  container: "sd-container-modern",
5435
5454
  header: "sd-title sd-container-modern__title",
@@ -5989,6 +6008,7 @@ var defaultV2Css = {
5989
6008
  dragElementDecorator: "sd-drag-element__svg",
5990
6009
  iconDragElement: "#icon-v2dragelement_16x16",
5991
6010
  footer: "sd-matrixdynamic__footer",
6011
+ footerTotalCell: "sd-table__cell sd-table__cell--footer-total",
5992
6012
  emptyRowsSection: "sd-matrixdynamic__placeholder sd-question__placeholder",
5993
6013
  iconDrag: "sv-matrixdynamic__drag-icon",
5994
6014
  ghostRow: "sv-matrix-row--drag-drop-ghost-mod",
@@ -8263,10 +8283,17 @@ var DropdownListModel = /** @class */ (function (_super) {
8263
8283
  _this.question.value = item.id;
8264
8284
  if (_this.question.searchEnabled)
8265
8285
  _this.applyInputString(item);
8266
- _this.popupModel.isVisible = false;
8286
+ _this.popupModel.hide();
8267
8287
  };
8268
8288
  }
8269
- var res = new _list__WEBPACK_IMPORTED_MODULE_4__["ListModel"](visibleItems, _onSelectionChanged, false, undefined, this.listElementId);
8289
+ var listOptions = {
8290
+ items: visibleItems,
8291
+ onSelectionChanged: _onSelectionChanged,
8292
+ allowSelection: false,
8293
+ locOwner: this.question,
8294
+ elementId: this.listElementId
8295
+ };
8296
+ var res = new _list__WEBPACK_IMPORTED_MODULE_4__["ListModel"](listOptions);
8270
8297
  this.setOnTextSearchCallbackForListModel(res);
8271
8298
  res.renderElements = false;
8272
8299
  res.forceShowFilter = true;
@@ -8278,7 +8305,6 @@ var DropdownListModel = /** @class */ (function (_super) {
8278
8305
  DropdownListModel.prototype.updateAfterListModelCreated = function (model) {
8279
8306
  var _this = this;
8280
8307
  model.isItemSelected = function (action) { return !!action.selected; };
8281
- model.locOwner = this.question;
8282
8308
  model.onPropertyChanged.add(function (sender, options) {
8283
8309
  if (options.name == "hasVerticalScroller") {
8284
8310
  _this.hasScroll = options.newValue;
@@ -8310,7 +8336,7 @@ var DropdownListModel = /** @class */ (function (_super) {
8310
8336
  this.question.survey.onChoicesSearch.fire(this.question.survey, options);
8311
8337
  this.filteredItems = options.filteredChoices;
8312
8338
  if (!!this.filterString && !this.popupModel.isVisible) {
8313
- this.popupModel.isVisible = true;
8339
+ this.popupModel.show();
8314
8340
  }
8315
8341
  var updateAfterFilterStringChanged = function () {
8316
8342
  _this.setFilterStringToListModel(_this.filterString);
@@ -8530,8 +8556,8 @@ var DropdownListModel = /** @class */ (function (_super) {
8530
8556
  this.changeSelectionWithKeyboard(false);
8531
8557
  };
8532
8558
  DropdownListModel.prototype.onClear = function (event) {
8533
- this.question.clearValue();
8534
- this._popupModel.isVisible = false;
8559
+ this.question.clearValue(true);
8560
+ this._popupModel.hide();
8535
8561
  if (event) {
8536
8562
  event.preventDefault();
8537
8563
  event.stopPropagation();
@@ -8587,19 +8613,17 @@ var DropdownListModel = /** @class */ (function (_super) {
8587
8613
  event.stopPropagation();
8588
8614
  }
8589
8615
  else if (event.keyCode === 40) {
8590
- if (!this.popupModel.isVisible) {
8591
- this.popupModel.toggleVisibility();
8592
- }
8616
+ this.popupModel.show();
8593
8617
  this.changeSelectionWithKeyboard(false);
8594
8618
  event.preventDefault();
8595
8619
  event.stopPropagation();
8596
8620
  }
8597
8621
  if (event.keyCode === 9) {
8598
- this.popupModel.isVisible = false;
8622
+ this.popupModel.hide();
8599
8623
  }
8600
8624
  else if (!this.popupModel.isVisible && (event.keyCode === 13 || event.keyCode === 32)) {
8601
8625
  if (event.keyCode === 32) {
8602
- this.popupModel.toggleVisibility();
8626
+ this.popupModel.show();
8603
8627
  this.changeSelectionWithKeyboard(false);
8604
8628
  }
8605
8629
  if (event.keyCode === 13) {
@@ -8610,7 +8634,7 @@ var DropdownListModel = /** @class */ (function (_super) {
8610
8634
  }
8611
8635
  else if (this.popupModel.isVisible && (event.keyCode === 13 || event.keyCode === 32 && (!this.question.searchEnabled || !this.inputString))) {
8612
8636
  if (event.keyCode === 13 && this.question.searchEnabled && !this.inputString && this.question instanceof _question_dropdown__WEBPACK_IMPORTED_MODULE_6__["QuestionDropdownModel"] && !this._markdownMode && this.question.value) {
8613
- this._popupModel.isVisible = false;
8637
+ this._popupModel.hide();
8614
8638
  this.onClear(event);
8615
8639
  }
8616
8640
  else {
@@ -8626,7 +8650,7 @@ var DropdownListModel = /** @class */ (function (_super) {
8626
8650
  }
8627
8651
  }
8628
8652
  else if (event.keyCode === 27) {
8629
- this._popupModel.isVisible = false;
8653
+ this._popupModel.hide();
8630
8654
  this.hintString = "";
8631
8655
  this.onEscape();
8632
8656
  }
@@ -8654,11 +8678,11 @@ var DropdownListModel = /** @class */ (function (_super) {
8654
8678
  DropdownListModel.prototype.onBlur = function (event) {
8655
8679
  this.focused = false;
8656
8680
  if (this.popupModel.isVisible && _utils_devices__WEBPACK_IMPORTED_MODULE_9__["IsTouch"]) {
8657
- this._popupModel.isVisible = true;
8681
+ this._popupModel.show();
8658
8682
  return;
8659
8683
  }
8660
8684
  Object(_utils_utils__WEBPACK_IMPORTED_MODULE_10__["doKey2ClickBlur"])(event);
8661
- this._popupModel.isVisible = false;
8685
+ this._popupModel.hide();
8662
8686
  this.resetFilterString();
8663
8687
  this.inputString = null;
8664
8688
  this.hintString = "";
@@ -8849,7 +8873,14 @@ var DropdownMultiSelectListModel = /** @class */ (function (_super) {
8849
8873
  }
8850
8874
  };
8851
8875
  }
8852
- var res = new _multiSelectListModel__WEBPACK_IMPORTED_MODULE_3__["MultiSelectListModel"](visibleItems, _onSelectionChanged, false, undefined, this.listElementId);
8876
+ var listOptions = {
8877
+ items: visibleItems,
8878
+ onSelectionChanged: _onSelectionChanged,
8879
+ allowSelection: false,
8880
+ locOwner: this.question,
8881
+ elementId: this.listElementId
8882
+ };
8883
+ var res = new _multiSelectListModel__WEBPACK_IMPORTED_MODULE_3__["MultiSelectListModel"](listOptions);
8853
8884
  res.actions.forEach(function (a) { return a.disableTabStop = true; });
8854
8885
  this.setOnTextSearchCallbackForListModel(res);
8855
8886
  res.forceShowFilter = true;
@@ -9713,8 +9744,8 @@ __webpack_require__.r(__webpack_exports__);
9713
9744
 
9714
9745
  var Version;
9715
9746
  var ReleaseDate;
9716
- Version = "" + "1.10.4";
9717
- ReleaseDate = "" + "2024-05-15";
9747
+ Version = "" + "1.10.6";
9748
+ ReleaseDate = "" + "2024-05-28";
9718
9749
  function checkLibraryVersion(ver, libraryName) {
9719
9750
  if (Version != ver) {
9720
9751
  var str = "survey-core has version '" + Version + "' and " + libraryName
@@ -9895,7 +9926,7 @@ function checkPrefix(prefix) {
9895
9926
  /*!**************************************!*\
9896
9927
  !*** ./src/entries/core-wo-model.ts ***!
9897
9928
  \**************************************/
9898
- /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedErrorRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, InputMaskBase, InputMaskPattern, InputMaskNumeric, InputMaskDateTime, InputMaskCurrency, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationProperty, AnimationBoolean, AnimationGroup, AnimationTab, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper */
9929
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedErrorRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, InputMaskBase, InputMaskPattern, InputMaskNumeric, InputMaskDateTime, InputMaskCurrency, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, createPopupModelWithListModel, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationProperty, AnimationBoolean, AnimationGroup, AnimationTab, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper */
9899
9930
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9900
9931
 
9901
9932
  "use strict";
@@ -10332,6 +10363,8 @@ __webpack_require__.r(__webpack_exports__);
10332
10363
 
10333
10364
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createDropdownActionModelAdvanced", function() { return _actions_action__WEBPACK_IMPORTED_MODULE_7__["createDropdownActionModelAdvanced"]; });
10334
10365
 
10366
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createPopupModelWithListModel", function() { return _actions_action__WEBPACK_IMPORTED_MODULE_7__["createPopupModelWithListModel"]; });
10367
+
10335
10368
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getActionDropdownButtonTarget", function() { return _actions_action__WEBPACK_IMPORTED_MODULE_7__["getActionDropdownButtonTarget"]; });
10336
10369
 
10337
10370
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BaseAction", function() { return _actions_action__WEBPACK_IMPORTED_MODULE_7__["BaseAction"]; });
@@ -10390,7 +10423,7 @@ __webpack_require__.r(__webpack_exports__);
10390
10423
  /*!*****************************!*\
10391
10424
  !*** ./src/entries/core.ts ***!
10392
10425
  \*****************************/
10393
- /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedErrorRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, InputMaskBase, InputMaskPattern, InputMaskNumeric, InputMaskDateTime, InputMaskCurrency, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationProperty, AnimationBoolean, AnimationGroup, AnimationTab, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper, Model */
10426
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedErrorRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, InputMaskBase, InputMaskPattern, InputMaskNumeric, InputMaskDateTime, InputMaskCurrency, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, createPopupModelWithListModel, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationProperty, AnimationBoolean, AnimationGroup, AnimationTab, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper, Model */
10394
10427
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10395
10428
 
10396
10429
  "use strict";
@@ -10820,6 +10853,8 @@ __webpack_require__.r(__webpack_exports__);
10820
10853
 
10821
10854
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createDropdownActionModelAdvanced", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["createDropdownActionModelAdvanced"]; });
10822
10855
 
10856
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createPopupModelWithListModel", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["createPopupModelWithListModel"]; });
10857
+
10823
10858
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getActionDropdownButtonTarget", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["getActionDropdownButtonTarget"]; });
10824
10859
 
10825
10860
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BaseAction", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["BaseAction"]; });
@@ -20238,8 +20273,28 @@ var ListModel = /** @class */ (function (_super) {
20238
20273
  var level = itemValue.level || 0;
20239
20274
  return (level + 1) * ListModel.INDENT + "px";
20240
20275
  };
20241
- _this.setItems(items);
20242
- _this.selectedItem = selectedItem;
20276
+ if (Object.keys(items).indexOf("items") !== -1) {
20277
+ var options_1 = items;
20278
+ Object.keys(options_1).forEach(function (key) {
20279
+ switch (key) {
20280
+ case "items":
20281
+ _this.setItems(options_1.items);
20282
+ break;
20283
+ case "onFilterStringChangedCallback":
20284
+ _this.setOnFilterStringChangedCallback(options_1.onFilterStringChangedCallback);
20285
+ break;
20286
+ case "onTextSearchCallback":
20287
+ _this.setOnTextSearchCallback(options_1.onTextSearchCallback);
20288
+ break;
20289
+ default:
20290
+ _this[key] = options_1[key];
20291
+ }
20292
+ });
20293
+ }
20294
+ else {
20295
+ _this.setItems(items);
20296
+ _this.selectedItem = selectedItem;
20297
+ }
20243
20298
  return _this;
20244
20299
  }
20245
20300
  ListModel.prototype.hasText = function (item, filterStringInLow) {
@@ -20466,6 +20521,7 @@ var ListModel = /** @class */ (function (_super) {
20466
20521
  };
20467
20522
  ListModel.prototype.addScrollEventListener = function (handler) {
20468
20523
  if (!!handler) {
20524
+ this.removeScrollEventListener();
20469
20525
  this.scrollHandler = handler;
20470
20526
  }
20471
20527
  if (!!this.scrollHandler) {
@@ -22914,12 +22970,53 @@ var InputMaskNumeric = /** @class */ (function (_super) {
22914
22970
  if (Number.isNaN(value)) {
22915
22971
  return true;
22916
22972
  }
22973
+ if (value >= min && value <= max)
22974
+ return true;
22917
22975
  if (!matchWholeMask) {
22976
+ if (!number.hasDecimalSeparator) {
22977
+ var test_high = value;
22978
+ var test_low = value;
22979
+ if (value >= 0) {
22980
+ if (value + 1 > min && value <= max)
22981
+ return true;
22982
+ while (true) {
22983
+ test_high = test_high * 10 + 9;
22984
+ test_low = test_low * 10;
22985
+ if (test_low > max) {
22986
+ break;
22987
+ }
22988
+ if (test_high > min) {
22989
+ return true;
22990
+ }
22991
+ }
22992
+ return false;
22993
+ }
22994
+ if (value < 0) {
22995
+ if (value >= min && value - 1 < max)
22996
+ return true;
22997
+ while (true) {
22998
+ test_high = test_high * 10;
22999
+ test_low = test_low * 10 - 9;
23000
+ if (test_high < min) {
23001
+ break;
23002
+ }
23003
+ if (test_low < max) {
23004
+ return true;
23005
+ }
23006
+ }
23007
+ return false;
23008
+ }
23009
+ }
23010
+ else {
23011
+ var delta = Math.pow(0.1, (number.fractionalPart || "").length);
23012
+ if (value >= 0)
23013
+ return value + delta > min && value <= max;
23014
+ if (value < 0)
23015
+ return value >= min && value - delta < max;
23016
+ }
22918
23017
  return value >= 0 && value <= max || value < 0 && value >= min;
22919
23018
  }
22920
- else {
22921
- return value >= min && value <= max;
22922
- }
23019
+ return false;
22923
23020
  }
22924
23021
  return true;
22925
23022
  };
@@ -23315,8 +23412,8 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
23315
23412
 
23316
23413
  var MultiSelectListModel = /** @class */ (function (_super) {
23317
23414
  __extends(MultiSelectListModel, _super);
23318
- function MultiSelectListModel(items, onSelectionChanged, allowSelection, selectedItems, elementId) {
23319
- var _this = _super.call(this, items, onSelectionChanged, allowSelection, undefined, elementId) || this;
23415
+ function MultiSelectListModel(options) {
23416
+ var _this = _super.call(this, options) || this;
23320
23417
  _this.onItemClick = function (item) {
23321
23418
  if (_this.isItemDisabled(item))
23322
23419
  return;
@@ -23336,7 +23433,7 @@ var MultiSelectListModel = /** @class */ (function (_super) {
23336
23433
  _this.isItemSelected = function (itemValue) {
23337
23434
  return !!_this.allowSelection && _this.selectedItems.filter(function (item) { return _this.areSameItems(item, itemValue); }).length > 0;
23338
23435
  };
23339
- _this.setSelectedItems(selectedItems || []);
23436
+ _this.setSelectedItems(options.selectedItems || []);
23340
23437
  return _this;
23341
23438
  }
23342
23439
  MultiSelectListModel.prototype.updateItemState = function () {
@@ -24966,7 +25063,7 @@ var PanelModelBase = /** @class */ (function (_super) {
24966
25063
  else {
24967
25064
  var question = element;
24968
25065
  if (!question.validate(rec.fireCallback, rec)) {
24969
- if (rec.focuseOnFirstError && rec.firstErrorQuestion == null) {
25066
+ if (!rec.firstErrorQuestion) {
24970
25067
  rec.firstErrorQuestion = question;
24971
25068
  }
24972
25069
  rec.result = true;
@@ -27342,9 +27439,11 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
27342
27439
  if (!val) {
27343
27440
  _this.updateOnHiding();
27344
27441
  _this.updateIsVisible(val);
27442
+ _this.updateAfterHiding();
27345
27443
  _this._isPositionSetValue = false;
27346
27444
  }
27347
27445
  else {
27446
+ _this.updateBeforeShowing();
27348
27447
  _this.updateIsVisible(val);
27349
27448
  }
27350
27449
  }
@@ -27362,6 +27461,12 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
27362
27461
  this._isVisible = val;
27363
27462
  this.onVisibilityChanged.fire(this, { isVisible: val });
27364
27463
  };
27464
+ PopupBaseViewModel.prototype.updateBeforeShowing = function () {
27465
+ this.model.onShow();
27466
+ };
27467
+ PopupBaseViewModel.prototype.updateAfterHiding = function () {
27468
+ this.model.onHiding();
27469
+ };
27365
27470
  PopupBaseViewModel.prototype.getLeaveOptions = function () {
27366
27471
  return { cssClass: "sv-popup--animate-leave" };
27367
27472
  };
@@ -27789,13 +27894,6 @@ var PopupModel = /** @class */ (function (_super) {
27789
27894
  }
27790
27895
  this.setPropertyValue("isVisible", value);
27791
27896
  this.onVisibilityChanged.fire(this, { model: this, isVisible: value });
27792
- if (this.isVisible) {
27793
- this.onShow();
27794
- }
27795
- else {
27796
- this.refreshInnerModel();
27797
- this.onHide();
27798
- }
27799
27897
  },
27800
27898
  enumerable: false,
27801
27899
  configurable: true
@@ -27803,6 +27901,14 @@ var PopupModel = /** @class */ (function (_super) {
27803
27901
  PopupModel.prototype.toggleVisibility = function () {
27804
27902
  this.isVisible = !this.isVisible;
27805
27903
  };
27904
+ PopupModel.prototype.show = function () {
27905
+ if (!this.isVisible)
27906
+ this.isVisible = true;
27907
+ };
27908
+ PopupModel.prototype.hide = function () {
27909
+ if (this.isVisible)
27910
+ this.isVisible = false;
27911
+ };
27806
27912
  PopupModel.prototype.recalculatePosition = function (isResetHeight) {
27807
27913
  this.onRecalculatePosition.fire(this, { isResetHeight: isResetHeight });
27808
27914
  };
@@ -27811,6 +27917,10 @@ var PopupModel = /** @class */ (function (_super) {
27811
27917
  this.onFooterActionsCreated.fire(this, options);
27812
27918
  return options.actions;
27813
27919
  };
27920
+ PopupModel.prototype.onHiding = function () {
27921
+ this.refreshInnerModel();
27922
+ this.onHide();
27923
+ };
27814
27924
  PopupModel.prototype.dispose = function () {
27815
27925
  _super.prototype.dispose.call(this);
27816
27926
  this.onDispose();
@@ -29992,15 +30102,18 @@ var Question = /** @class */ (function (_super) {
29992
30102
  * @see value
29993
30103
  * @see comment
29994
30104
  */
29995
- Question.prototype.clearValue = function () {
30105
+ Question.prototype.clearValue = function (keepComment) {
29996
30106
  if (this.value !== undefined) {
29997
30107
  this.value = undefined;
29998
30108
  }
29999
- if (!!this.comment) {
30109
+ if (!!this.comment && keepComment !== true) {
30000
30110
  this.comment = undefined;
30001
30111
  }
30002
30112
  this.setValueChangedDirectly(false);
30003
30113
  };
30114
+ Question.prototype.clearValueOnly = function () {
30115
+ this.clearValue(true);
30116
+ };
30004
30117
  Question.prototype.unbindValue = function () {
30005
30118
  this.clearValue();
30006
30119
  };
@@ -30684,6 +30797,8 @@ var Question = /** @class */ (function (_super) {
30684
30797
  return new _error__WEBPACK_IMPORTED_MODULE_3__["CustomError"](error, this.survey);
30685
30798
  };
30686
30799
  Question.prototype.removeError = function (error) {
30800
+ if (!error)
30801
+ return;
30687
30802
  var errors = this.errors;
30688
30803
  var index = errors.indexOf(error);
30689
30804
  if (index !== -1)
@@ -31128,14 +31243,18 @@ var Question = /** @class */ (function (_super) {
31128
31243
  Question.prototype.getDesktopRenderAs = function () {
31129
31244
  return "default";
31130
31245
  };
31246
+ Question.prototype.onBeforeSetCompactRenderer = function () { };
31247
+ Question.prototype.onBeforeSetDesktopRenderer = function () { };
31131
31248
  Question.prototype.processResponsiveness = function (requiredWidth, availableWidth) {
31132
31249
  availableWidth = Math.round(availableWidth);
31133
31250
  if (Math.abs(requiredWidth - availableWidth) > 2) {
31134
31251
  var oldRenderAs = this.renderAs;
31135
31252
  if (requiredWidth > availableWidth) {
31253
+ this.onBeforeSetCompactRenderer();
31136
31254
  this.renderAs = this.getCompactRenderAs();
31137
31255
  }
31138
31256
  else {
31257
+ this.onBeforeSetDesktopRenderer();
31139
31258
  this.renderAs = this.getDesktopRenderAs();
31140
31259
  }
31141
31260
  return oldRenderAs !== this.renderAs;
@@ -31467,8 +31586,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("question", [
31467
31586
  visibleIf: function (obj) {
31468
31587
  return obj.showCommentArea;
31469
31588
  },
31470
- serializationProperty: "locCommentText",
31471
- layout: "row",
31589
+ serializationProperty: "locCommentText"
31472
31590
  },
31473
31591
  {
31474
31592
  name: "commentPlaceholder",
@@ -32364,8 +32482,8 @@ var QuestionSelectBase = /** @class */ (function (_super) {
32364
32482
  this.isSettingComment = false;
32365
32483
  }
32366
32484
  };
32367
- QuestionSelectBase.prototype.clearValue = function () {
32368
- _super.prototype.clearValue.call(this);
32485
+ QuestionSelectBase.prototype.clearValue = function (keepComment) {
32486
+ _super.prototype.clearValue.call(this, keepComment);
32369
32487
  this.prevOtherValue = undefined;
32370
32488
  };
32371
32489
  QuestionSelectBase.prototype.updateCommentFromSurvey = function (newValue) {
@@ -32622,6 +32740,9 @@ var QuestionSelectBase = /** @class */ (function (_super) {
32622
32740
  this.isLockVisibleChoices = !!question && question.name === val;
32623
32741
  if (!!question && question.name !== val) {
32624
32742
  question.removeDependedQuestion(this);
32743
+ if (this.isDesignMode && !this.isLoadingFromJson && !!val) {
32744
+ this.setPropertyValue("choicesFromQuestion", undefined);
32745
+ }
32625
32746
  }
32626
32747
  this.setPropertyValue("choicesFromQuestion", val);
32627
32748
  this.isLockVisibleChoices = false;
@@ -32907,13 +33028,18 @@ var QuestionSelectBase = /** @class */ (function (_super) {
32907
33028
  }
32908
33029
  };
32909
33030
  QuestionSelectBase.prototype.addNewItemToVisibleChoices = function (items, isAddAll) {
33031
+ var _this = this;
32910
33032
  if (!isAddAll)
32911
33033
  return;
32912
33034
  if (!this.newItemValue) {
32913
33035
  this.newItemValue = this.createItemValue("newitem"); //TODO
32914
33036
  this.newItemValue.isGhost = true;
33037
+ this.newItemValue.registerFunctionOnPropertyValueChanged("isVisible", function () {
33038
+ _this.updateVisibleChoices();
33039
+ });
32915
33040
  }
32916
- if (!this.isUsingCarryForward && this.canShowOptionItem(this.newItemValue, isAddAll, false)) {
33041
+ if (this.newItemValue.isVisible && !this.isUsingCarryForward
33042
+ && this.canShowOptionItem(this.newItemValue, isAddAll, false)) {
32917
33043
  this.footItemsCount = 1;
32918
33044
  items.push(this.newItemValue);
32919
33045
  }
@@ -33571,7 +33697,7 @@ var QuestionSelectBase = /** @class */ (function (_super) {
33571
33697
  QuestionSelectBase.prototype.clearIncorrectValuesCore = function () {
33572
33698
  var val = this.value;
33573
33699
  if (this.canClearValueAnUnknown(val)) {
33574
- this.clearValue();
33700
+ this.clearValue(true);
33575
33701
  }
33576
33702
  };
33577
33703
  QuestionSelectBase.prototype.canClearValueAnUnknown = function (val) {
@@ -33581,7 +33707,7 @@ var QuestionSelectBase = /** @class */ (function (_super) {
33581
33707
  };
33582
33708
  QuestionSelectBase.prototype.clearDisabledValuesCore = function () {
33583
33709
  if (this.isValueDisabled(this.value)) {
33584
- this.clearValue();
33710
+ this.clearValue(true);
33585
33711
  }
33586
33712
  };
33587
33713
  QuestionSelectBase.prototype.clearUnusedValues = function () {
@@ -35009,7 +35135,7 @@ var QuestionCheckboxModel = /** @class */ (function (_super) {
35009
35135
  this.selectAll();
35010
35136
  }
35011
35137
  else {
35012
- this.clearValue();
35138
+ this.clearValue(true);
35013
35139
  }
35014
35140
  },
35015
35141
  enumerable: false,
@@ -35421,7 +35547,7 @@ var QuestionCheckboxModel = /** @class */ (function (_super) {
35421
35547
  this.value = null;
35422
35548
  }
35423
35549
  else {
35424
- this.clearValue();
35550
+ this.clearValue(true);
35425
35551
  }
35426
35552
  }
35427
35553
  this.isChangingValueOnClearIncorrect = false;
@@ -35452,7 +35578,7 @@ var QuestionCheckboxModel = /** @class */ (function (_super) {
35452
35578
  return;
35453
35579
  this.isChangingValueOnClearIncorrect = true;
35454
35580
  if (newValue.length == 0) {
35455
- this.clearValue();
35581
+ this.clearValue(true);
35456
35582
  }
35457
35583
  else {
35458
35584
  this.value = newValue;
@@ -37358,9 +37484,9 @@ var QuestionDropdownModel = /** @class */ (function (_super) {
37358
37484
  QuestionDropdownModel.prototype.getInputId = function () {
37359
37485
  return this.inputId + "_0";
37360
37486
  };
37361
- QuestionDropdownModel.prototype.clearValue = function () {
37487
+ QuestionDropdownModel.prototype.clearValue = function (keepComment) {
37362
37488
  var _a;
37363
- _super.prototype.clearValue.call(this);
37489
+ _super.prototype.clearValue.call(this, keepComment);
37364
37490
  this.lastSelectedItemValue = null;
37365
37491
  (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.clear();
37366
37492
  };
@@ -37370,7 +37496,7 @@ var QuestionDropdownModel = /** @class */ (function (_super) {
37370
37496
  QuestionDropdownModel.prototype.onKeyUp = function (event) {
37371
37497
  var char = event.which || event.keyCode;
37372
37498
  if (char === 46) {
37373
- this.clearValue();
37499
+ this.clearValue(true);
37374
37500
  event.preventDefault();
37375
37501
  event.stopPropagation();
37376
37502
  }
@@ -38191,9 +38317,9 @@ var QuestionFileModelBase = /** @class */ (function (_super) {
38191
38317
  enumerable: false,
38192
38318
  configurable: true
38193
38319
  });
38194
- QuestionFileModelBase.prototype.clearValue = function () {
38320
+ QuestionFileModelBase.prototype.clearValue = function (keepComment) {
38195
38321
  this.clearOnDeletingContainer();
38196
- _super.prototype.clearValue.call(this);
38322
+ _super.prototype.clearValue.call(this, keepComment);
38197
38323
  };
38198
38324
  QuestionFileModelBase.prototype.clearOnDeletingContainer = function () {
38199
38325
  if (!this.survey)
@@ -40100,7 +40226,7 @@ var QuestionImagePickerModel = /** @class */ (function (_super) {
40100
40226
  if (!val)
40101
40227
  return;
40102
40228
  if (!Array.isArray(val) || val.length == 0) {
40103
- this.clearValue();
40229
+ this.clearValue(true);
40104
40230
  return;
40105
40231
  }
40106
40232
  var newValue = [];
@@ -40112,7 +40238,7 @@ var QuestionImagePickerModel = /** @class */ (function (_super) {
40112
40238
  if (newValue.length == val.length)
40113
40239
  return;
40114
40240
  if (newValue.length == 0) {
40115
- this.clearValue();
40241
+ this.clearValue(true);
40116
40242
  }
40117
40243
  else {
40118
40244
  this.value = newValue;
@@ -42050,10 +42176,10 @@ var MatrixDropdownRowModelBase = /** @class */ (function () {
42050
42176
  this.detailPanel.runCondition(values, newProps);
42051
42177
  }
42052
42178
  };
42053
- MatrixDropdownRowModelBase.prototype.clearValue = function () {
42179
+ MatrixDropdownRowModelBase.prototype.clearValue = function (keepComment) {
42054
42180
  var questions = this.questions;
42055
42181
  for (var i = 0; i < questions.length; i++) {
42056
- questions[i].clearValue();
42182
+ questions[i].clearValue(keepComment);
42057
42183
  }
42058
42184
  };
42059
42185
  MatrixDropdownRowModelBase.prototype.onAnyValueChanged = function (name, questionName) {
@@ -43459,23 +43585,7 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
43459
43585
  QuestionMatrixDropdownModelBase.prototype.checkIfValueInRowDuplicated = function (checkedRow, cellQuestion) {
43460
43586
  if (!this.generatedVisibleRows)
43461
43587
  return false;
43462
- var res = false;
43463
- for (var i = 0; i < this.generatedVisibleRows.length; i++) {
43464
- var row = this.generatedVisibleRows[i];
43465
- if (checkedRow === row)
43466
- continue;
43467
- if (_helpers__WEBPACK_IMPORTED_MODULE_2__["Helpers"].isTwoValueEquals(row.getValue(cellQuestion.name), cellQuestion.value, true, this.isUniqueCaseSensitive)) {
43468
- res = true;
43469
- break;
43470
- }
43471
- }
43472
- if (res) {
43473
- this.addDuplicationError(cellQuestion);
43474
- }
43475
- else {
43476
- cellQuestion.clearErrors();
43477
- }
43478
- return res;
43588
+ return this.isValueInColumnDuplicated(cellQuestion.name, true, checkedRow);
43479
43589
  };
43480
43590
  /**
43481
43591
  * Assigns values to a row.
@@ -43813,51 +43923,104 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
43813
43923
  QuestionMatrixDropdownModelBase.prototype.isValueDuplicated = function () {
43814
43924
  if (!this.generatedVisibleRows)
43815
43925
  return false;
43816
- var columns = this.getUniqueColumns();
43817
- var res = false;
43818
- for (var i = 0; i < columns.length; i++) {
43819
- res = this.isValueInColumnDuplicated(columns[i]) || res;
43820
- }
43821
- return res;
43822
- };
43823
- QuestionMatrixDropdownModelBase.prototype.isValueInColumnDuplicated = function (column) {
43824
- var keyValues = [];
43926
+ var names = this.getUniqueColumnsNames();
43825
43927
  var res = false;
43826
- for (var i = 0; i < this.generatedVisibleRows.length; i++) {
43827
- res =
43828
- this.isValueDuplicatedInRow(this.generatedVisibleRows[i], column, keyValues) || res;
43928
+ for (var i = 0; i < names.length; i++) {
43929
+ res = this.isValueInColumnDuplicated(names[i], true) || res;
43829
43930
  }
43830
43931
  return res;
43831
43932
  };
43832
- QuestionMatrixDropdownModelBase.prototype.getUniqueColumns = function () {
43933
+ QuestionMatrixDropdownModelBase.prototype.getUniqueColumnsNames = function () {
43833
43934
  var res = new Array();
43834
43935
  for (var i = 0; i < this.columns.length; i++) {
43835
43936
  if (this.columns[i].isUnique) {
43836
- res.push(this.columns[i]);
43937
+ res.push(this.columns[i].name);
43837
43938
  }
43838
43939
  }
43839
43940
  return res;
43840
43941
  };
43841
- QuestionMatrixDropdownModelBase.prototype.isValueDuplicatedInRow = function (row, column, keyValues) {
43842
- var question = row.getQuestionByColumn(column);
43843
- if (!question || question.isEmpty())
43844
- return false;
43845
- var value = question.value;
43846
- for (var i = 0; i < keyValues.length; i++) {
43847
- if (_helpers__WEBPACK_IMPORTED_MODULE_2__["Helpers"].isTwoValueEquals(value, keyValues[i], true, this.isUniqueCaseSensitive)) {
43848
- this.addDuplicationError(question);
43849
- return true;
43942
+ QuestionMatrixDropdownModelBase.prototype.isValueInColumnDuplicated = function (columnName, showErrors, row) {
43943
+ var rows = this.getDuplicatedRows(columnName);
43944
+ if (showErrors) {
43945
+ this.showDuplicatedErrorsInRows(rows, columnName);
43946
+ }
43947
+ this.removeDuplicatedErrorsInRows(rows, columnName);
43948
+ return !!row ? rows.indexOf(row) > -1 : rows.length > 0;
43949
+ };
43950
+ QuestionMatrixDropdownModelBase.prototype.getDuplicatedRows = function (columnName) {
43951
+ var keyValues = {};
43952
+ var res = [];
43953
+ var rows = this.generatedVisibleRows;
43954
+ for (var i = 0; i < rows.length; i++) {
43955
+ var val = undefined;
43956
+ var question = rows[i].getQuestionByName(columnName);
43957
+ if (!!question) {
43958
+ val = question.value;
43959
+ }
43960
+ else {
43961
+ var rowVal = this.getRowValue(i);
43962
+ val = !!rowVal ? rowVal[columnName] : undefined;
43963
+ }
43964
+ if (!this.isValueEmpty(val)) {
43965
+ if (!this.isUniqueCaseSensitive && typeof val === "string") {
43966
+ val = val.toLocaleLowerCase();
43967
+ }
43968
+ if (!keyValues[val]) {
43969
+ keyValues[val] = [];
43970
+ }
43971
+ keyValues[val].push(rows[i]);
43850
43972
  }
43851
43973
  }
43852
- keyValues.push(value);
43853
- return false;
43974
+ for (var key in keyValues) {
43975
+ if (keyValues[key].length > 1) {
43976
+ keyValues[key].forEach(function (row) { return res.push(row); });
43977
+ }
43978
+ }
43979
+ return res;
43980
+ };
43981
+ QuestionMatrixDropdownModelBase.prototype.showDuplicatedErrorsInRows = function (duplicatedRows, columnName) {
43982
+ var _this = this;
43983
+ duplicatedRows.forEach(function (row) {
43984
+ var question = row.getQuestionByName(columnName);
43985
+ if (!question && _this.detailPanel.getQuestionByName(columnName)) {
43986
+ row.showDetailPanel();
43987
+ if (row.detailPanel) {
43988
+ question = row.detailPanel.getQuestionByName(columnName);
43989
+ }
43990
+ }
43991
+ if (question) {
43992
+ row.showDetailPanel();
43993
+ _this.addDuplicationError(question);
43994
+ }
43995
+ });
43996
+ };
43997
+ QuestionMatrixDropdownModelBase.prototype.removeDuplicatedErrorsInRows = function (duplicatedRows, columnName) {
43998
+ var _this = this;
43999
+ this.generatedVisibleRows.forEach(function (row) {
44000
+ if (duplicatedRows.indexOf(row) < 0) {
44001
+ var question = row.getQuestionByName(columnName);
44002
+ if (question) {
44003
+ _this.removeDuplicationError(question);
44004
+ }
44005
+ }
44006
+ });
44007
+ };
44008
+ QuestionMatrixDropdownModelBase.prototype.getDuplicationError = function (question) {
44009
+ var errors = question.errors;
44010
+ for (var i = 0; i < errors.length; i++) {
44011
+ if (errors[i].getErrorType() === "keyduplicationerror")
44012
+ return errors[i];
44013
+ }
44014
+ return null;
43854
44015
  };
43855
44016
  QuestionMatrixDropdownModelBase.prototype.addDuplicationError = function (question) {
43856
- var keyError = question.errors.find(function (error) { return error.getErrorType() === "keyduplicationerror"; });
43857
- if (!keyError) {
44017
+ if (!this.getDuplicationError(question)) {
43858
44018
  question.addError(new _error__WEBPACK_IMPORTED_MODULE_10__["KeyDuplicationError"](this.keyDuplicationError, this));
43859
44019
  }
43860
44020
  };
44021
+ QuestionMatrixDropdownModelBase.prototype.removeDuplicationError = function (question) {
44022
+ question.removeError(this.getDuplicationError(question));
44023
+ };
43861
44024
  QuestionMatrixDropdownModelBase.prototype.getFirstQuestionToFocus = function (withError) {
43862
44025
  return this.getFirstCellQuestion(withError);
43863
44026
  };
@@ -44003,6 +44166,9 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
44003
44166
  this.onCellValueChanged(row, columnName, combine.rowValue);
44004
44167
  }
44005
44168
  }
44169
+ if (this.getUniqueColumnsNames().indexOf(columnName) > -1) {
44170
+ this.isValueInColumnDuplicated(columnName, !!rowObj);
44171
+ }
44006
44172
  };
44007
44173
  QuestionMatrixDropdownModelBase.prototype.getNewValueOnRowChanged = function (row, columnName, newRowValue, isDeletingValue, newValue) {
44008
44174
  var rowValue = this.getRowValueCore(row, newValue, true);
@@ -47563,13 +47729,11 @@ var QuestionMatrixDynamicModel = /** @class */ (function (_super) {
47563
47729
  }
47564
47730
  return setRowCount < this.minRowCount;
47565
47731
  };
47566
- QuestionMatrixDynamicModel.prototype.getUniqueColumns = function () {
47567
- var res = _super.prototype.getUniqueColumns.call(this);
47568
- if (!!this.keyName) {
47569
- var column = this.getColumnByName(this.keyName);
47570
- if (!!column && res.indexOf(column) < 0) {
47571
- res.push(column);
47572
- }
47732
+ QuestionMatrixDynamicModel.prototype.getUniqueColumnsNames = function () {
47733
+ var res = _super.prototype.getUniqueColumnsNames.call(this);
47734
+ var name = this.keyName;
47735
+ if (!!name && res.indexOf(name) < 0) {
47736
+ res.push(name);
47573
47737
  }
47574
47738
  return res;
47575
47739
  };
@@ -52126,7 +52290,7 @@ var QuestionRadiogroupModel = /** @class */ (function (_super) {
52126
52290
  var clearAction = new _actions_action__WEBPACK_IMPORTED_MODULE_3__["Action"]({
52127
52291
  title: this.clearButtonCaption,
52128
52292
  id: "sv-clr-btn-" + this.id,
52129
- action: function () { _this.clearValue(); },
52293
+ action: function () { _this.clearValue(true); },
52130
52294
  innerCss: this.cssClasses.clearButton,
52131
52295
  visible: new _base__WEBPACK_IMPORTED_MODULE_4__["ComputedUpdater"](function () { return _this.canShowClearButton; })
52132
52296
  });
@@ -52343,7 +52507,7 @@ var QuestionRankingModel = /** @class */ (function (_super) {
52343
52507
  _this.createNewArray("rankingChoices");
52344
52508
  _this.createNewArray("unRankingChoices");
52345
52509
  _this.registerFunctionOnPropertyValueChanged("selectToRankEnabled", function () {
52346
- _this.clearValue();
52510
+ _this.clearValue(true);
52347
52511
  _this.setDragDropRankingChoices();
52348
52512
  _this.updateRankingChoicesSync();
52349
52513
  });
@@ -52958,8 +53122,9 @@ __webpack_require__.r(__webpack_exports__);
52958
53122
  /* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/cssClassBuilder */ "./src/utils/cssClassBuilder.ts");
52959
53123
  /* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./base */ "./src/base.ts");
52960
53124
  /* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils/utils */ "./src/utils/utils.ts");
52961
- /* harmony import */ var _utils_devices__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./utils/devices */ "./src/utils/devices.ts");
52962
- /* harmony import */ var _global_variables_utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./global_variables_utils */ "./src/global_variables_utils.ts");
53125
+ /* harmony import */ var _dropdownListModel__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./dropdownListModel */ "./src/dropdownListModel.ts");
53126
+ /* harmony import */ var _utils_devices__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./utils/devices */ "./src/utils/devices.ts");
53127
+ /* harmony import */ var _global_variables_utils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./global_variables_utils */ "./src/global_variables_utils.ts");
52963
53128
  var __extends = (undefined && undefined.__extends) || (function () {
52964
53129
  var extendStatics = function (d, b) {
52965
53130
  extendStatics = Object.setPrototypeOf ||
@@ -52992,6 +53157,7 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
52992
53157
 
52993
53158
 
52994
53159
 
53160
+
52995
53161
  var RenderedRatingItem = /** @class */ (function (_super) {
52996
53162
  __extends(RenderedRatingItem, _super);
52997
53163
  function RenderedRatingItem(itemValue, locString) {
@@ -53283,19 +53449,19 @@ var QuestionRatingModel = /** @class */ (function (_super) {
53283
53449
  QuestionRatingModel.prototype.updateColors = function (themeVariables) {
53284
53450
  if (this.colorMode === "monochrome")
53285
53451
  return;
53286
- if (!_global_variables_utils__WEBPACK_IMPORTED_MODULE_10__["DomDocumentHelper"].isAvailable())
53452
+ if (!_global_variables_utils__WEBPACK_IMPORTED_MODULE_11__["DomDocumentHelper"].isAvailable())
53287
53453
  return;
53288
53454
  if (QuestionRatingModel.colorsCalculated)
53289
53455
  return;
53290
53456
  function getRGBColor(colorName, varName) {
53291
53457
  var str = !!themeVariables && themeVariables[colorName];
53292
53458
  if (!str) {
53293
- var style = getComputedStyle(_global_variables_utils__WEBPACK_IMPORTED_MODULE_10__["DomDocumentHelper"].getDocumentElement());
53459
+ var style = getComputedStyle(_global_variables_utils__WEBPACK_IMPORTED_MODULE_11__["DomDocumentHelper"].getDocumentElement());
53294
53460
  str = style.getPropertyValue && style.getPropertyValue(varName);
53295
53461
  }
53296
53462
  if (!str)
53297
53463
  return null;
53298
- var canvasElement = _global_variables_utils__WEBPACK_IMPORTED_MODULE_10__["DomDocumentHelper"].createElement("canvas");
53464
+ var canvasElement = _global_variables_utils__WEBPACK_IMPORTED_MODULE_11__["DomDocumentHelper"].createElement("canvas");
53299
53465
  if (!canvasElement)
53300
53466
  return null;
53301
53467
  var ctx = canvasElement.getContext("2d");
@@ -53567,7 +53733,7 @@ var QuestionRatingModel = /** @class */ (function (_super) {
53567
53733
  };
53568
53734
  QuestionRatingModel.prototype.setValueFromClick = function (value) {
53569
53735
  if (this.value === parseFloat(value)) {
53570
- this.clearValue();
53736
+ this.clearValue(true);
53571
53737
  }
53572
53738
  else {
53573
53739
  this.value = value;
@@ -53577,7 +53743,7 @@ var QuestionRatingModel = /** @class */ (function (_super) {
53577
53743
  }
53578
53744
  };
53579
53745
  QuestionRatingModel.prototype.onItemMouseIn = function (item) {
53580
- if (_utils_devices__WEBPACK_IMPORTED_MODULE_9__["IsTouch"])
53746
+ if (_utils_devices__WEBPACK_IMPORTED_MODULE_10__["IsTouch"])
53581
53747
  return;
53582
53748
  if (this.isReadOnly || !item.itemValue.isEnabled || this.isDesignMode)
53583
53749
  return;
@@ -53596,7 +53762,7 @@ var QuestionRatingModel = /** @class */ (function (_super) {
53596
53762
  }
53597
53763
  };
53598
53764
  QuestionRatingModel.prototype.onItemMouseOut = function (item) {
53599
- if (_utils_devices__WEBPACK_IMPORTED_MODULE_9__["IsTouch"])
53765
+ if (_utils_devices__WEBPACK_IMPORTED_MODULE_10__["IsTouch"])
53600
53766
  return;
53601
53767
  this.renderedRateItems.forEach(function (item) { return item.highlight = "none"; });
53602
53768
  };
@@ -53867,6 +54033,11 @@ var QuestionRatingModel = /** @class */ (function (_super) {
53867
54033
  QuestionRatingModel.prototype.supportResponsiveness = function () {
53868
54034
  return true;
53869
54035
  };
54036
+ QuestionRatingModel.prototype.onBeforeSetCompactRenderer = function () {
54037
+ if (!this.dropdownListModelValue) {
54038
+ this.dropdownListModel = new _dropdownListModel__WEBPACK_IMPORTED_MODULE_9__["DropdownListModel"](this);
54039
+ }
54040
+ };
53870
54041
  QuestionRatingModel.prototype.getCompactRenderAs = function () {
53871
54042
  return (this.displayMode == "buttons") ? "default" : "dropdown";
53872
54043
  };
@@ -53886,6 +54057,9 @@ var QuestionRatingModel = /** @class */ (function (_super) {
53886
54057
  });
53887
54058
  Object.defineProperty(QuestionRatingModel.prototype, "dropdownListModel", {
53888
54059
  get: function () {
54060
+ if (this.renderAs === "dropdown") {
54061
+ this.onBeforeSetCompactRenderer();
54062
+ }
53889
54063
  return this.dropdownListModelValue;
53890
54064
  },
53891
54065
  set: function (val) {
@@ -54531,9 +54705,9 @@ var QuestionSignaturePadModel = /** @class */ (function (_super) {
54531
54705
  this.value = (arg === null || arg === void 0 ? void 0 : arg.length) ? arg.map(function (r) { return r.content; })[0] : undefined;
54532
54706
  this.valueIsUpdatingInternally = false;
54533
54707
  };
54534
- QuestionSignaturePadModel.prototype.clearValue = function () {
54708
+ QuestionSignaturePadModel.prototype.clearValue = function (keepComment) {
54535
54709
  this.valueWasChangedFromLastUpload = false;
54536
- _super.prototype.clearValue.call(this);
54710
+ _super.prototype.clearValue.call(this, keepComment);
54537
54711
  this.refreshCanvas();
54538
54712
  };
54539
54713
  QuestionSignaturePadModel.prototype.endLoadingFromJson = function () {
@@ -54929,9 +55103,9 @@ var QuestionTagboxModel = /** @class */ (function (_super) {
54929
55103
  this.dropdownListModel.dispose();
54930
55104
  }
54931
55105
  };
54932
- QuestionTagboxModel.prototype.clearValue = function () {
55106
+ QuestionTagboxModel.prototype.clearValue = function (keepComment) {
54933
55107
  var _a;
54934
- _super.prototype.clearValue.call(this);
55108
+ _super.prototype.clearValue.call(this, keepComment);
54935
55109
  (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.clear();
54936
55110
  };
54937
55111
  Object.defineProperty(QuestionTagboxModel.prototype, "showClearButton", {
@@ -60103,7 +60277,7 @@ var SurveyModel = /** @class */ (function (_super) {
60103
60277
  _this.onPopupVisibleChanged.add(function (_, opt) {
60104
60278
  if (opt.visible) {
60105
60279
  _this.onScrollCallback = function () {
60106
- opt.popup.toggleVisibility();
60280
+ opt.popup.hide();
60107
60281
  };
60108
60282
  }
60109
60283
  else {
@@ -61596,7 +61770,8 @@ var SurveyModel = /** @class */ (function (_super) {
61596
61770
  SurveyModel.prototype.updateWrapperFormCss = function () {
61597
61771
  this.wrapperFormCss = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_18__["CssClassBuilder"]()
61598
61772
  .append(this.css.rootWrapper)
61599
- .append(this.css.rootWrapperFixed, this.backgroundImageAttachment === "fixed")
61773
+ .append(this.css.rootWrapperHasImage, !!this.backgroundImage)
61774
+ .append(this.css.rootWrapperFixed, !!this.backgroundImage && this.backgroundImageAttachment === "fixed")
61600
61775
  .toString();
61601
61776
  };
61602
61777
  Object.defineProperty(SurveyModel.prototype, "completedHtml", {
@@ -63410,7 +63585,7 @@ var SurveyModel = /** @class */ (function (_super) {
63410
63585
  if (this.isValidateOnComplete) {
63411
63586
  if (!this.isLastPage)
63412
63587
  return false;
63413
- return this.validate(true, true, func) !== true && !skipValidation;
63588
+ return this.validate(true, this.focusOnFirstError, func, true) !== true && !skipValidation;
63414
63589
  }
63415
63590
  return this.validateCurrentPage(func) !== true && !skipValidation;
63416
63591
  };
@@ -63542,25 +63717,27 @@ var SurveyModel = /** @class */ (function (_super) {
63542
63717
  * @see validateCurrentPage
63543
63718
  * @see validatePage
63544
63719
  */
63545
- SurveyModel.prototype.validate = function (fireCallback, focusOnFirstError, onAsyncValidation) {
63720
+ SurveyModel.prototype.validate = function (fireCallback, focusOnFirstError, onAsyncValidation, changeCurrentPage) {
63546
63721
  if (fireCallback === void 0) { fireCallback = true; }
63547
63722
  if (focusOnFirstError === void 0) { focusOnFirstError = false; }
63548
63723
  if (!!onAsyncValidation) {
63549
63724
  fireCallback = true;
63550
63725
  }
63551
63726
  var visPages = this.visiblePages;
63552
- var firstErrorPage = null;
63553
63727
  var res = true;
63554
63728
  var rec = { fireCallback: fireCallback, focuseOnFirstError: focusOnFirstError, firstErrorQuestion: null, result: false };
63555
63729
  for (var i = 0; i < visPages.length; i++) {
63556
63730
  if (!visPages[i].validate(fireCallback, focusOnFirstError, rec)) {
63557
- if (!firstErrorPage)
63558
- firstErrorPage = visPages[i];
63559
63731
  res = false;
63560
63732
  }
63561
63733
  }
63562
- if (focusOnFirstError && !!firstErrorPage && !!rec.firstErrorQuestion) {
63563
- rec.firstErrorQuestion.focus(true);
63734
+ if (!!rec.firstErrorQuestion && (focusOnFirstError || changeCurrentPage)) {
63735
+ if (focusOnFirstError) {
63736
+ rec.firstErrorQuestion.focus(true);
63737
+ }
63738
+ else {
63739
+ this.currentPage = rec.firstErrorQuestion.page;
63740
+ }
63564
63741
  }
63565
63742
  if (!res || !onAsyncValidation)
63566
63743
  return res;
@@ -65354,7 +65531,7 @@ var SurveyModel = /** @class */ (function (_super) {
65354
65531
  page.name = name;
65355
65532
  return page;
65356
65533
  };
65357
- SurveyModel.prototype.questionOnValueChanging = function (valueName, newValue) {
65534
+ SurveyModel.prototype.questionOnValueChanging = function (valueName, newValue, questionValueName) {
65358
65535
  if (!!this.editingObj) {
65359
65536
  var prop = _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].findProperty(this.editingObj.getType(), valueName);
65360
65537
  if (!!prop)
@@ -65364,7 +65541,7 @@ var SurveyModel = /** @class */ (function (_super) {
65364
65541
  return newValue;
65365
65542
  var options = {
65366
65543
  name: valueName,
65367
- question: this.getQuestionByValueName(valueName),
65544
+ question: this.getQuestionByValueName(questionValueName || valueName),
65368
65545
  value: this.getUnbindValue(newValue),
65369
65546
  oldValue: this.getValue(valueName),
65370
65547
  };
@@ -65549,6 +65726,12 @@ var SurveyModel = /** @class */ (function (_super) {
65549
65726
  }
65550
65727
  this.isTriggerIsRunning = false;
65551
65728
  };
65729
+ SurveyModel.prototype.checkTriggersAndRunConditions = function (name, newValue, oldValue) {
65730
+ var triggerKeys = {};
65731
+ triggerKeys[name] = { newValue: newValue, oldValue: oldValue };
65732
+ this.runConditionOnValueChanged(name, newValue);
65733
+ this.checkTriggers(triggerKeys, false, false, name);
65734
+ };
65552
65735
  Object.defineProperty(SurveyModel.prototype, "hasRequiredValidQuestionTrigger", {
65553
65736
  get: function () {
65554
65737
  for (var i = 0; i < this.triggers.length; i++) {
@@ -66106,10 +66289,7 @@ var SurveyModel = /** @class */ (function (_super) {
66106
66289
  this.variablesHash[name] = newValue;
66107
66290
  this.notifyElementsOnAnyValueOrVariableChanged(name);
66108
66291
  if (!_helpers__WEBPACK_IMPORTED_MODULE_0__["Helpers"].isTwoValueEquals(oldValue, newValue)) {
66109
- this.runConditionOnValueChanged(name, newValue);
66110
- var triggerKeys = {};
66111
- triggerKeys[name] = { newValue: newValue, oldValue: oldValue };
66112
- this.checkTriggers(triggerKeys, false, false, name);
66292
+ this.checkTriggersAndRunConditions(name, newValue, oldValue);
66113
66293
  this.onVariableChanged.fire(this, { name: name, value: newValue });
66114
66294
  }
66115
66295
  };
@@ -66198,10 +66378,7 @@ var SurveyModel = /** @class */ (function (_super) {
66198
66378
  if (locNotification === true || this.isDisposed || this.isRunningElementsBindings)
66199
66379
  return;
66200
66380
  questionName = questionName || name;
66201
- var triggerKeys = {};
66202
- triggerKeys[name] = { newValue: newValue, oldValue: oldValue };
66203
- this.runConditionOnValueChanged(name, newValue);
66204
- this.checkTriggers(triggerKeys, false, false, name);
66381
+ this.checkTriggersAndRunConditions(name, newValue, oldValue);
66205
66382
  if (allowNotifyValueChanged)
66206
66383
  this.notifyQuestionOnValueChanged(name, newValue, questionName);
66207
66384
  if (locNotification !== "text") {
@@ -66319,6 +66496,7 @@ var SurveyModel = /** @class */ (function (_super) {
66319
66496
  if (this.isTwoValueEquals(newValue, this.getComment(name)))
66320
66497
  return;
66321
66498
  var commentName = name + this.commentSuffix;
66499
+ newValue = this.questionOnValueChanging(commentName, newValue, name);
66322
66500
  if (this.isValueEmpty(newValue)) {
66323
66501
  this.deleteDataValueCore(this.valuesHash, commentName);
66324
66502
  }
@@ -66333,7 +66511,7 @@ var SurveyModel = /** @class */ (function (_super) {
66333
66511
  }
66334
66512
  }
66335
66513
  if (!locNotification) {
66336
- this.runConditionOnValueChanged(name, this.getValue(name));
66514
+ this.checkTriggersAndRunConditions(name, this.getValue(name), undefined);
66337
66515
  }
66338
66516
  if (locNotification !== "text") {
66339
66517
  this.tryGoNextPageAutomatic(name);
@@ -66345,6 +66523,10 @@ var SurveyModel = /** @class */ (function (_super) {
66345
66523
  question: question,
66346
66524
  value: newValue,
66347
66525
  });
66526
+ question.comment = newValue;
66527
+ if (question.comment != newValue) {
66528
+ question.comment = newValue;
66529
+ }
66348
66530
  }
66349
66531
  };
66350
66532
  /**
@@ -67492,7 +67674,11 @@ var SurveyModel = /** @class */ (function (_super) {
67492
67674
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
67493
67675
  ], SurveyModel.prototype, "_isCompact", void 0);
67494
67676
  __decorate([
67495
- Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
67677
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({
67678
+ onSet: function (newValue, target) {
67679
+ target.updateCss();
67680
+ }
67681
+ })
67496
67682
  ], SurveyModel.prototype, "backgroundImage", void 0);
67497
67683
  __decorate([
67498
67684
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
@@ -68318,14 +68504,21 @@ function createTOCListModel(survey, onAction) {
68318
68504
  visible: new _base__WEBPACK_IMPORTED_MODULE_1__["ComputedUpdater"](function () { return page.isVisible && !(page["isStartPage"]); })
68319
68505
  });
68320
68506
  });
68321
- var listModel = new _list__WEBPACK_IMPORTED_MODULE_3__["ListModel"](items, function (item) {
68322
- if (!!item.action()) {
68323
- listModel.selectedItem = item;
68324
- }
68325
- }, true, items.filter(function (i) { return !!survey.currentPage && i.id === survey.currentPage.name; })[0] || items.filter(function (i) { return i.id === pagesSource[0].name; })[0]);
68507
+ var selectedItem = items.filter(function (i) { return !!survey.currentPage && i.id === survey.currentPage.name; })[0] || items.filter(function (i) { return i.id === pagesSource[0].name; })[0];
68508
+ var listOptions = {
68509
+ items: items,
68510
+ onSelectionChanged: function (item) {
68511
+ if (!!item.action()) {
68512
+ listModel.selectedItem = item;
68513
+ }
68514
+ },
68515
+ allowSelection: true,
68516
+ searchEnabled: false,
68517
+ locOwner: survey,
68518
+ selectedItem: selectedItem
68519
+ };
68520
+ var listModel = new _list__WEBPACK_IMPORTED_MODULE_3__["ListModel"](listOptions);
68326
68521
  listModel.allowSelection = false;
68327
- listModel.locOwner = survey;
68328
- listModel.searchEnabled = false;
68329
68522
  survey.onCurrentPageChanged.add(function (s, o) {
68330
68523
  listModel.selectedItem = items.filter(function (i) { return !!survey.currentPage && i.id === survey.currentPage.name; })[0];
68331
68524
  });