survey-react 1.12.20 → 1.12.22

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/survey.react.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.12.20
2
+ * surveyjs - Survey JavaScript library v1.12.22
3
3
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -10508,6 +10508,8 @@ var base_Base = /** @class */ (function () {
10508
10508
  * @param val A new value for the property.
10509
10509
  */
10510
10510
  Base.prototype.setPropertyValue = function (name, val) {
10511
+ if (this.isDisposedValue)
10512
+ return;
10511
10513
  if (!this.isLoadingFromJson) {
10512
10514
  var prop = this.getPropertyByName(name);
10513
10515
  if (!!prop) {
@@ -10524,9 +10526,11 @@ var base_Base = /** @class */ (function () {
10524
10526
  }
10525
10527
  }
10526
10528
  else {
10527
- this.setPropertyValueDirectly(name, val);
10528
- if (!this.isDisposedValue && !this.isTwoValueEquals(oldValue, val)) {
10529
- this.propertyValueChanged(name, oldValue, val);
10529
+ if (val !== oldValue) {
10530
+ this.setPropertyValueDirectly(name, val);
10531
+ if (!this.isTwoValueEquals(oldValue, val)) {
10532
+ this.propertyValueChanged(name, oldValue, val);
10533
+ }
10530
10534
  }
10531
10535
  }
10532
10536
  };
@@ -23995,9 +23999,12 @@ var choicesRestful_ChoicesRestful = /** @class */ (function (_super) {
23995
23999
  if (this.processedPath.indexOf(";") > -1) {
23996
24000
  pathes = this.path.split(";");
23997
24001
  }
23998
- else {
24002
+ else if (this.processedPath.indexOf(",") > -1) {
23999
24003
  pathes = this.processedPath.split(",");
24000
24004
  }
24005
+ else {
24006
+ pathes = this.processedPath.split(".");
24007
+ }
24001
24008
  if (pathes.length == 0)
24002
24009
  pathes.push(this.processedPath);
24003
24010
  return pathes;
@@ -24586,13 +24593,18 @@ var textPreProcessor_TextPreProcessor = /** @class */ (function () {
24586
24593
  var item = new TextPreProcessorItem();
24587
24594
  item.start = start;
24588
24595
  item.end = i;
24589
- items.push(item);
24596
+ if (this.isValidItemName(text.substring(start + 1, i - 1))) {
24597
+ items.push(item);
24598
+ }
24590
24599
  }
24591
24600
  start = -1;
24592
24601
  }
24593
24602
  }
24594
24603
  return items;
24595
24604
  };
24605
+ TextPreProcessor.prototype.isValidItemName = function (name) {
24606
+ return !!name && name.indexOf(":") < 0;
24607
+ };
24596
24608
  TextPreProcessor.prototype.getName = function (name) {
24597
24609
  if (!name)
24598
24610
  return;
@@ -24722,6 +24734,7 @@ var question_custom_extends = (undefined && undefined.__extends) || (function ()
24722
24734
 
24723
24735
 
24724
24736
 
24737
+
24725
24738
  var question_custom_ComponentQuestionJSON = /** @class */ (function () {
24726
24739
  function ComponentQuestionJSON(name, json) {
24727
24740
  this.name = name;
@@ -25724,6 +25737,36 @@ var question_custom_QuestionCompositeModel = /** @class */ (function (_super) {
25724
25737
  this.settingNewValue = false;
25725
25738
  this.runPanelTriggers(QuestionCompositeModel.ItemVariableName + "." + name, newValue);
25726
25739
  };
25740
+ QuestionCompositeModel.prototype.setComment = function (name, newValue, locNotification) {
25741
+ var val = this.getUnbindValue(this.value);
25742
+ var commentName = this.getCommentName(name);
25743
+ if (!val && !newValue || !!newValue && !!val && val[commentName] === newValue)
25744
+ return;
25745
+ if (!!newValue) {
25746
+ if (!val) {
25747
+ val = {};
25748
+ }
25749
+ val[commentName] = newValue;
25750
+ }
25751
+ else {
25752
+ delete val[commentName];
25753
+ }
25754
+ var q = this.getQuestionByName(name);
25755
+ if (!!q && q.comment !== newValue) {
25756
+ q.comment = newValue;
25757
+ }
25758
+ this.value = val;
25759
+ };
25760
+ QuestionCompositeModel.prototype.getComment = function (name) {
25761
+ var q = this.getQuestionByName(name);
25762
+ if (!!q)
25763
+ return q.comment;
25764
+ var val = this.value;
25765
+ return !!val && val[this.getCommentName(name)] || "";
25766
+ };
25767
+ QuestionCompositeModel.prototype.getCommentName = function (name) {
25768
+ return name + settings.commentSuffix;
25769
+ };
25727
25770
  QuestionCompositeModel.prototype.runPanelTriggers = function (name, value) {
25728
25771
  if (!!this.contentPanel) {
25729
25772
  this.contentPanel.questions.forEach(function (q) {
@@ -25803,19 +25846,24 @@ var question_custom_QuestionCompositeModel = /** @class */ (function (_super) {
25803
25846
  _super.prototype.setQuestionValue.call(this, newValue, updateIsAnswered);
25804
25847
  };
25805
25848
  QuestionCompositeModel.prototype.setValuesIntoQuestions = function (newValue) {
25806
- if (!this.contentPanel)
25849
+ if (!this.contentPanel || this.settingNewValue)
25807
25850
  return;
25808
25851
  newValue = this.getValueForContentPanel(newValue);
25809
25852
  var oldSettingNewValue = this.settingNewValue;
25810
25853
  this.settingNewValue = true;
25811
25854
  var questions = this.contentPanel.questions;
25812
25855
  for (var i = 0; i < questions.length; i++) {
25813
- var key = questions[i].getValueName();
25814
- var val = !!newValue ? newValue[key] : undefined;
25815
25856
  var q = questions[i];
25857
+ var key = q.getValueName();
25858
+ var commentKey = this.getCommentName(key);
25859
+ var val = !!newValue ? newValue[key] : undefined;
25860
+ var commentVal = !!newValue && newValue[commentKey] || "";
25816
25861
  if (!this.isTwoValueEquals(q.value, val) && (val !== undefined || !q.isEmpty())) {
25817
25862
  q.value = val;
25818
25863
  }
25864
+ if (q.comment !== commentVal) {
25865
+ q.comment = commentVal;
25866
+ }
25819
25867
  }
25820
25868
  this.settingNewValue = oldSettingNewValue;
25821
25869
  };
@@ -36871,7 +36919,7 @@ var panel_PanelModelBase = /** @class */ (function (_super) {
36871
36919
  };
36872
36920
  PanelModelBase.prototype.randomizeElements = function (isRandom) {
36873
36921
  if (!this.canRandomize(isRandom) || this.isRandomizing)
36874
- return;
36922
+ return false;
36875
36923
  this.isRandomizing = true;
36876
36924
  var oldElements = [];
36877
36925
  var elements = this.elements;
@@ -36883,6 +36931,7 @@ var panel_PanelModelBase = /** @class */ (function (_super) {
36883
36931
  this.updateRows();
36884
36932
  this.updateVisibleIndexes();
36885
36933
  this.isRandomizing = false;
36934
+ return true;
36886
36935
  };
36887
36936
  Object.defineProperty(PanelModelBase.prototype, "areQuestionsRandomized", {
36888
36937
  /**
@@ -37441,6 +37490,14 @@ var panel_PanelModelBase = /** @class */ (function (_super) {
37441
37490
  }
37442
37491
  return null;
37443
37492
  };
37493
+ PanelModelBase.prototype.getFirstVisibleQuestion = function () {
37494
+ var qs = this.questions;
37495
+ for (var i = 0; i < qs.length; i++) {
37496
+ if (qs[i].isVisible)
37497
+ return qs[i];
37498
+ }
37499
+ return null;
37500
+ };
37444
37501
  /**
37445
37502
  * Focuses the first question in this panel/page.
37446
37503
  * @see focusFirstErrorQuestion
@@ -39653,6 +39710,7 @@ var page_PageModel = /** @class */ (function (_super) {
39653
39710
  configurable: true
39654
39711
  });
39655
39712
  PageModel.prototype.setWasShown = function (val) {
39713
+ var _a;
39656
39714
  if (val == this.hasShownValue)
39657
39715
  return;
39658
39716
  this.hasShownValue = val;
@@ -39664,7 +39722,12 @@ var page_PageModel = /** @class */ (function (_super) {
39664
39722
  els[i].randomizeElements(this.areQuestionsRandomized);
39665
39723
  }
39666
39724
  }
39667
- this.randomizeElements(this.areQuestionsRandomized);
39725
+ if (this.randomizeElements(this.areQuestionsRandomized)) {
39726
+ var singleQuestion = (_a = this.survey) === null || _a === void 0 ? void 0 : _a.currentSingleQuestion;
39727
+ if ((singleQuestion === null || singleQuestion === void 0 ? void 0 : singleQuestion.page) === this) {
39728
+ this.survey.currentSingleQuestion = this.getFirstVisibleQuestion();
39729
+ }
39730
+ }
39668
39731
  };
39669
39732
  /**
39670
39733
  * Scrolls this page to the top.
@@ -40356,7 +40419,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
40356
40419
  *
40357
40420
  * For information on event handler parameters, refer to descriptions within the interface.
40358
40421
  *
40359
- * To handle value changes in matrix cells or panels within a [Dynamic Panel](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model), use the [`onMatrixCellValueChanged`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onMatrixCellValueChanged) or [`onDynamicPanelItemValueChanged`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onDynamicPanelItemValueChanged) event.
40422
+ * To handle value changes in matrix cells or panels within a [Dynamic Panel](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model), use the [`onMatrixCellValueChanged`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onMatrixCellValueChanged) or [`onDynamicPanelValueChanged`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onDynamicPanelValueChanged) event.
40360
40423
  * @see setValue
40361
40424
  */
40362
40425
  _this.onValueChanged = _this.addEvent();
@@ -40884,9 +40947,17 @@ var survey_SurveyModel = /** @class */ (function (_super) {
40884
40947
  _this.onTimer = _this.onTimerTick;
40885
40948
  _this.onTimerPanelInfoText = _this.addEvent();
40886
40949
  /**
40887
- * An event that is raised after an item value is changed in a panel within a [Dynamic Panel](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/) question.
40950
+ * An event that is raised after a value is changed in a panel within a [Dynamic Panel](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/) question.
40888
40951
  */
40889
- _this.onDynamicPanelItemValueChanged = _this.addEvent();
40952
+ _this.onDynamicPanelValueChanged = _this.addEvent();
40953
+ /**
40954
+ * @deprecated Use the [`onDynamicPanelValueChanged`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onDynamicPanelValueChanged) event instead.
40955
+ */
40956
+ _this.onDynamicPanelItemValueChanged = _this.onDynamicPanelValueChanged;
40957
+ /**
40958
+ * An event that is raised before a value is changed in a panel within a [Dynamic Panel](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/) question.
40959
+ */
40960
+ _this.onDynamicPanelValueChanging = _this.addEvent();
40890
40961
  /**
40891
40962
  * An event that is raised before a [Dynamic Panel](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/) renders [tab titles](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#templateTabTitle). Use this event to change individual tab titles.
40892
40963
  *
@@ -43314,6 +43385,10 @@ var survey_SurveyModel = /** @class */ (function (_super) {
43314
43385
  return this.getPropertyValue("showProgressBar");
43315
43386
  },
43316
43387
  set: function (newValue) {
43388
+ if (newValue === true)
43389
+ newValue = "auto";
43390
+ if (newValue === false)
43391
+ newValue = "off";
43317
43392
  this.setPropertyValue("showProgressBar", newValue.toLowerCase());
43318
43393
  },
43319
43394
  enumerable: false,
@@ -43985,7 +44060,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
43985
44060
  if (newPage == this.currentPage)
43986
44061
  return;
43987
44062
  var oldValue = this.currentPage;
43988
- if (!this.isShowingPreview && !this.currentPageChanging(newPage, oldValue))
44063
+ if (!this.isShowingPreview && !this.currentSingleQuestion && !this.currentPageChanging(newPage, oldValue))
43989
44064
  return;
43990
44065
  this.setPropertyValue("currentPage", newPage);
43991
44066
  if (!!newPage) {
@@ -44014,6 +44089,8 @@ var survey_SurveyModel = /** @class */ (function (_super) {
44014
44089
  SurveyModel.prototype.performValidationOnPageChanging = function (page) {
44015
44090
  if (this.isDesignMode)
44016
44091
  return false;
44092
+ if (this.canGoTroughValidation())
44093
+ return true;
44017
44094
  var index = this.visiblePages.indexOf(page);
44018
44095
  if (index < 0 || index >= this.visiblePageCount)
44019
44096
  return false;
@@ -44377,20 +44454,22 @@ var survey_SurveyModel = /** @class */ (function (_super) {
44377
44454
  return;
44378
44455
  page.updateCustomWidgets();
44379
44456
  };
44380
- SurveyModel.prototype.currentPageChanging = function (newValue, oldValue) {
44381
- var options = this.createPageChangeEventOptions(newValue, oldValue);
44457
+ SurveyModel.prototype.currentPageChanging = function (newValue, oldValue, newQuestion, oldQuestion) {
44458
+ var options = this.createPageChangeEventOptions(newValue, oldValue, newQuestion, oldQuestion);
44459
+ return this.currentPageChangingFromOptions(options);
44460
+ };
44461
+ SurveyModel.prototype.currentPageChangingFromOptions = function (options) {
44382
44462
  options.allow = true;
44383
44463
  options.allowChanging = true;
44384
44464
  this.onCurrentPageChanging.fire(this, options);
44385
44465
  var allow = options.allowChanging && options.allow;
44386
- if (allow) {
44466
+ if (allow && options.newCurrentPage !== options.oldCurrentPage) {
44387
44467
  this.isCurrentPageRendering = true;
44388
44468
  }
44389
44469
  return allow;
44390
44470
  };
44391
44471
  SurveyModel.prototype.currentPageChanged = function (newValue, oldValue) {
44392
44472
  this.notifyQuestionsOnHidingContent(oldValue);
44393
- var options = this.createPageChangeEventOptions(newValue, oldValue);
44394
44473
  if (oldValue && !oldValue.isDisposed && !oldValue.passed) {
44395
44474
  if (oldValue.validate(false)) {
44396
44475
  oldValue.passed = true;
@@ -44399,22 +44478,31 @@ var survey_SurveyModel = /** @class */ (function (_super) {
44399
44478
  if (this.isCurrentPageRendered === true) {
44400
44479
  this.isCurrentPageRendered = false;
44401
44480
  }
44402
- this.onCurrentPageChanged.fire(this, options);
44481
+ if (!this.currentSingleQuestion) {
44482
+ var options = this.createPageChangeEventOptions(newValue, oldValue);
44483
+ this.onCurrentPageChanged.fire(this, options);
44484
+ }
44403
44485
  };
44404
44486
  SurveyModel.prototype.notifyQuestionsOnHidingContent = function (page) {
44405
44487
  if (page && !page.isDisposed) {
44406
44488
  page.questions.forEach(function (q) { return q.onHidingContent(); });
44407
44489
  }
44408
44490
  };
44409
- SurveyModel.prototype.createPageChangeEventOptions = function (newValue, oldValue) {
44491
+ SurveyModel.prototype.createPageChangeEventOptions = function (newValue, oldValue, newQuestion, oldQuestion) {
44410
44492
  var diff = !!newValue && !!oldValue ? newValue.visibleIndex - oldValue.visibleIndex : 0;
44493
+ var qDiff = diff;
44494
+ if (qDiff === 0 && !!oldQuestion && !!newQuestion) {
44495
+ qDiff = newValue.elements.indexOf(newQuestion) - newValue.elements.indexOf(oldQuestion);
44496
+ }
44411
44497
  return {
44498
+ oldCurrentQuestion: oldQuestion,
44499
+ newCurrentQuestion: newQuestion,
44412
44500
  oldCurrentPage: oldValue,
44413
44501
  newCurrentPage: newValue,
44414
44502
  isNextPage: diff === 1,
44415
44503
  isPrevPage: diff === -1,
44416
- isGoingForward: diff > 0,
44417
- isGoingBackward: diff < 0,
44504
+ isGoingForward: qDiff > 0,
44505
+ isGoingBackward: qDiff < 0,
44418
44506
  isAfterPreview: this.changeCurrentPageFromPreview === true
44419
44507
  };
44420
44508
  };
@@ -44637,6 +44725,8 @@ var survey_SurveyModel = /** @class */ (function (_super) {
44637
44725
  * @see completeLastPage
44638
44726
  */
44639
44727
  SurveyModel.prototype.nextPage = function () {
44728
+ if (this.currentSingleQuestion)
44729
+ return this.performNext();
44640
44730
  if (this.isLastPage)
44641
44731
  return false;
44642
44732
  return this.doCurrentPageComplete(false);
@@ -44667,7 +44757,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
44667
44757
  };
44668
44758
  SurveyModel.prototype.hasErrorsOnNavigate = function (doComplete) {
44669
44759
  var _this = this;
44670
- if (!this.isEditMode || this.ignoreValidation)
44760
+ if (this.canGoTroughValidation())
44671
44761
  return false;
44672
44762
  var skipValidation = doComplete && this.validationAllowComplete || !doComplete && this.validationAllowSwitchPages;
44673
44763
  var func = function (hasErrors) {
@@ -44682,6 +44772,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
44682
44772
  }
44683
44773
  return this.validateCurrentPage(func) !== true && !skipValidation;
44684
44774
  };
44775
+ SurveyModel.prototype.canGoTroughValidation = function () { return !this.isEditMode || !this.validationEnabled; };
44685
44776
  SurveyModel.prototype.checkForAsyncQuestionValidation = function (questions, func) {
44686
44777
  var _this = this;
44687
44778
  this.clearAsyncValidationQuesitons();
@@ -44959,6 +45050,8 @@ var survey_SurveyModel = /** @class */ (function (_super) {
44959
45050
  */
44960
45051
  SurveyModel.prototype.prevPage = function () {
44961
45052
  var _this = this;
45053
+ if (this.currentSingleQuestion)
45054
+ return this.performPrevious();
44962
45055
  if (this.isFirstPage || this.state === "starting")
44963
45056
  return false;
44964
45057
  this.resetNavigationButton();
@@ -45100,7 +45193,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
45100
45193
  * Possible values:
45101
45194
  *
45102
45195
  * - `"singlePage"` - Combines all survey pages into a single page.
45103
- * - `"questionPerPage"` - Creates a separate page for every question.
45196
+ * - `"questionPerPage"` - Displays each question on a separate page.
45104
45197
  * - `"standard"` (default) - Retains the original structure specified in the JSON schema.
45105
45198
  */
45106
45199
  get: function () {
@@ -45240,7 +45333,11 @@ var survey_SurveyModel = /** @class */ (function (_super) {
45240
45333
  Object.defineProperty(SurveyModel.prototype, "currentSingleQuestion", {
45241
45334
  get: function () { return this.currentSingleQuestionValue; },
45242
45335
  set: function (val) {
45243
- if (val !== this.currentSingleQuestion) {
45336
+ var oldVal = this.currentSingleQuestion;
45337
+ if (val !== oldVal) {
45338
+ var options = !!val && !!oldVal ? this.createPageChangeEventOptions(val.page, oldVal.page, val, oldVal) : undefined;
45339
+ if (!!options && !this.currentPageChangingFromOptions(options))
45340
+ return;
45244
45341
  this.currentSingleQuestionValue = val;
45245
45342
  if (!!val) {
45246
45343
  var page = val.page;
@@ -45254,6 +45351,9 @@ var survey_SurveyModel = /** @class */ (function (_super) {
45254
45351
  }
45255
45352
  }
45256
45353
  this.updateButtonsVisibility();
45354
+ if (!!options) {
45355
+ this.onCurrentPageChanged.fire(this, options);
45356
+ }
45257
45357
  }
45258
45358
  else {
45259
45359
  this.visiblePages.forEach(function (page) { return page.updateRows(); });
@@ -45972,7 +46072,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
45972
46072
  return;
45973
46073
  var id = question.inputId;
45974
46074
  var root = settings.environment.root;
45975
- if (!!id && htmlElement.id !== id && typeof root !== "undefined") {
46075
+ if (!!id && (!htmlElement || htmlElement.id !== id) && typeof root !== "undefined") {
45976
46076
  var el = root.getElementById(id);
45977
46077
  if (!!el) {
45978
46078
  htmlElement = el;
@@ -46124,7 +46224,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
46124
46224
  return options.error ? new CustomError(options.error, this) : null;
46125
46225
  };
46126
46226
  SurveyModel.prototype.dynamicPanelAdded = function (question, panelIndex, panel) {
46127
- if (!this.isLoadingFromJson && this.hasQuestionVisibleIndeces(question, true)) {
46227
+ if (!this.isLoadingFromJson && this.hasQuestionVisibleIndeces(question)) {
46128
46228
  this.updateVisibleIndexes(question.page);
46129
46229
  }
46130
46230
  if (this.onDynamicPanelAdded.isEmpty)
@@ -46141,7 +46241,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
46141
46241
  for (var i = 0; i < questions.length; i++) {
46142
46242
  questions[i].clearOnDeletingContainer();
46143
46243
  }
46144
- if (this.hasQuestionVisibleIndeces(question, false)) {
46244
+ if (this.hasQuestionVisibleIndeces(question)) {
46145
46245
  this.updateVisibleIndexes(question.page);
46146
46246
  }
46147
46247
  this.onDynamicPanelRemoved.fire(this, {
@@ -46150,10 +46250,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
46150
46250
  panel: panel,
46151
46251
  });
46152
46252
  };
46153
- SurveyModel.prototype.hasQuestionVisibleIndeces = function (question, checkIndex) {
46154
- if (checkIndex) {
46155
- question.setVisibleIndex(this.getStartVisibleIndex());
46156
- }
46253
+ SurveyModel.prototype.hasQuestionVisibleIndeces = function (question) {
46157
46254
  var qList = question.getNestedQuestions(true);
46158
46255
  for (var i = 0; i < qList.length; i++) {
46159
46256
  if (qList[i].visibleIndex > -1)
@@ -46173,9 +46270,11 @@ var survey_SurveyModel = /** @class */ (function (_super) {
46173
46270
  };
46174
46271
  SurveyModel.prototype.dynamicPanelItemValueChanged = function (question, options) {
46175
46272
  options.question = question;
46176
- options.panelIndex = options.itemIndex;
46177
- options.panelData = options.itemValue;
46178
- this.onDynamicPanelItemValueChanged.fire(this, options);
46273
+ this.onDynamicPanelValueChanged.fire(this, options);
46274
+ };
46275
+ SurveyModel.prototype.dynamicPanelItemValueChanging = function (question, options) {
46276
+ options.question = question;
46277
+ this.onDynamicPanelValueChanging.fire(this, options);
46179
46278
  };
46180
46279
  SurveyModel.prototype.dynamicPanelGetTabTitle = function (question, options) {
46181
46280
  options.question = question;
@@ -51078,6 +51177,7 @@ var question_baseselect_QuestionSelectBase = /** @class */ (function (_super) {
51078
51177
  var chQuestion = this.choicesFromQuestion;
51079
51178
  if (!!name && chQuestion && (name === chQuestion || questionName === chQuestion)) {
51080
51179
  this.onVisibleChoicesChanged();
51180
+ this.clearIncorrectValues();
51081
51181
  }
51082
51182
  };
51083
51183
  QuestionSelectBase.prototype.updateValueFromSurvey = function (newValue, clearData) {
@@ -56892,6 +56992,9 @@ var question_multipletext_QuestionMultipleTextModel = /** @class */ (function (_
56892
56992
  QuestionMultipleTextModel.prototype.onSurveyLoad = function () {
56893
56993
  this.editorsOnSurveyLoad();
56894
56994
  _super.prototype.onSurveyLoad.call(this);
56995
+ if (!helpers_Helpers.isValueEmpty(this.rows)) {
56996
+ this.calcVisibleRows();
56997
+ }
56895
56998
  };
56896
56999
  QuestionMultipleTextModel.prototype.setQuestionValue = function (newValue, updateIsAnswered) {
56897
57000
  if (updateIsAnswered === void 0) { updateIsAnswered = true; }
@@ -69217,6 +69320,7 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
69217
69320
  }
69218
69321
  if (!qValue[index])
69219
69322
  qValue[index] = {};
69323
+ var oldVal = qValue[index][name];
69220
69324
  if (!this.isValueEmpty(val)) {
69221
69325
  qValue[index][name] = val;
69222
69326
  }
@@ -69226,17 +69330,20 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
69226
69330
  if (index >= 0 && index < this.panelsCore.length) {
69227
69331
  this.changingValueQuestion = this.panelsCore[index].getQuestionByValueName(name);
69228
69332
  }
69333
+ var options = {
69334
+ panel: item.panel,
69335
+ name: name,
69336
+ panelIndex: index,
69337
+ panelData: qValue[index],
69338
+ value: val,
69339
+ oldValue: oldVal
69340
+ };
69341
+ if (this.survey) {
69342
+ this.survey.dynamicPanelItemValueChanging(this, options);
69343
+ }
69229
69344
  this.value = qValue;
69230
69345
  this.changingValueQuestion = null;
69231
69346
  if (this.survey) {
69232
- var options = {
69233
- question: this,
69234
- panel: item.panel,
69235
- name: name,
69236
- itemIndex: index,
69237
- itemValue: qValue[index],
69238
- value: val,
69239
- };
69240
69347
  this.survey.dynamicPanelItemValueChanged(this, options);
69241
69348
  }
69242
69349
  this.isSetPanelItemData[name]--;
@@ -69704,21 +69811,10 @@ Serializer.addClass("paneldynamic", [
69704
69811
  default: "off",
69705
69812
  choices: ["off", "onPanel", "onSurvey"],
69706
69813
  },
69707
- {
69708
- name: "showRangeInProgress:boolean",
69709
- default: true,
69710
- visible: false
69711
- // visibleIf: (obj: any) => { return obj.displayMode !== "list"; }
69712
- },
69713
- {
69714
- name: "renderMode",
69715
- default: "list",
69716
- choices: ["list", "progressTop", "progressBottom", "progressTopBottom", "tab"],
69717
- visible: false,
69718
- },
69814
+ { name: "renderMode", visible: false, isSerializable: false },
69719
69815
  { name: "displayMode", default: "list", choices: ["list", "carousel", "tab"] },
69720
69816
  {
69721
- name: "showProgressBar:boolean",
69817
+ name: "showProgressBar:boolean", alternativeName: "showRangeInProgress",
69722
69818
  default: true,
69723
69819
  visibleIf: function (obj) { return obj.displayMode === "carousel"; }
69724
69820
  },
@@ -72621,9 +72717,9 @@ Serializer.addClass("currencymask", [
72621
72717
 
72622
72718
  var Version;
72623
72719
  var ReleaseDate;
72624
- Version = "" + "1.12.20";
72720
+ Version = "" + "1.12.22";
72625
72721
  settings.version = Version;
72626
- ReleaseDate = "" + "2025-01-21";
72722
+ ReleaseDate = "" + "2025-02-05";
72627
72723
  function checkLibraryVersion(ver, libraryName) {
72628
72724
  if (Version != ver) {
72629
72725
  var str = "survey-core has version '" + Version + "' and " + libraryName