survey-react 1.12.19 → 1.12.21

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.19
2
+ * surveyjs - Survey JavaScript library v1.12.21
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
  */
@@ -10407,8 +10407,15 @@ var base_Base = /** @class */ (function () {
10407
10407
  if (!!calcFunc) {
10408
10408
  var newVal = calcFunc();
10409
10409
  if (newVal !== undefined) {
10410
- this.setPropertyValueDirectly(name, newVal);
10411
- return newVal;
10410
+ if (Array.isArray(newVal)) {
10411
+ var array = this.createNewArray(name);
10412
+ array.splice.apply(array, base_spreadArray([0, 0], newVal));
10413
+ return array;
10414
+ }
10415
+ else {
10416
+ this.setPropertyValueDirectly(name, newVal);
10417
+ return newVal;
10418
+ }
10412
10419
  }
10413
10420
  }
10414
10421
  var propDefaultValue = this.getDefaultPropertyValue(name);
@@ -19521,7 +19528,7 @@ var question_Question = /** @class */ (function (_super) {
19521
19528
  this.ensureSetValueExpressionRunner();
19522
19529
  if (!this.setValueExpressionRunner)
19523
19530
  return false;
19524
- return new conditionProcessValue_ProcessValue().isAnyKeyChanged(keys, this.setValueExpressionRunner.getVariables());
19531
+ return this.canExecuteTriggerByKeys(keys, this.setValueExpressionRunner);
19525
19532
  };
19526
19533
  Question.prototype.addTriggerInfo = function (name, canRun, doComplete) {
19527
19534
  var info = new TriggerExpressionInfo(name, canRun, doComplete);
@@ -19548,11 +19555,17 @@ var question_Question = /** @class */ (function (_super) {
19548
19555
  else {
19549
19556
  info.runner.expression = expression;
19550
19557
  }
19551
- if (!new conditionProcessValue_ProcessValue().isAnyKeyChanged(keys, info.runner.getVariables()) && !info.runSecondCheck(keys))
19558
+ if (!this.canExecuteTriggerByKeys(keys, info.runner) && !info.runSecondCheck(keys))
19552
19559
  return;
19553
19560
  info.isRunning = true;
19554
19561
  info.runner.run(this.getDataFilteredValues(), this.getDataFilteredProperties());
19555
19562
  };
19563
+ Question.prototype.canExecuteTriggerByKeys = function (keys, runner) {
19564
+ var vars = runner.getVariables();
19565
+ if ((!vars || vars.length === 0) && runner.hasFunction())
19566
+ return true;
19567
+ return new conditionProcessValue_ProcessValue().isAnyKeyChanged(keys, vars);
19568
+ };
19556
19569
  Question.prototype.runTriggers = function (name, value, keys) {
19557
19570
  var _this = this;
19558
19571
  if (this.isSettingQuestionValue || (this.parentQuestion && this.parentQuestion.getValueName() === name))
@@ -28034,6 +28047,9 @@ var question_matrixdropdownrendered_QuestionMatrixDropdownRenderedTable = /** @c
28034
28047
  },
28035
28048
  getEnterOptions: function (_, info) {
28036
28049
  return { cssClass: _this.cssClasses.rowEnter, onBeforeRunAnimation: onBeforeRunAnimation, onAfterRunAnimation: onAfterRunAnimation };
28050
+ },
28051
+ getKey: function (item) {
28052
+ return item.id;
28037
28053
  }
28038
28054
  };
28039
28055
  };
@@ -40074,11 +40090,6 @@ function createTOCListModel(survey, onAction) {
40074
40090
  var items = getTOCItems(survey, onAction);
40075
40091
  var listOptions = {
40076
40092
  items: items,
40077
- onSelectionChanged: function (item) {
40078
- if (!!item.action()) {
40079
- listModel.selectedItem = item;
40080
- }
40081
- },
40082
40093
  searchEnabled: false,
40083
40094
  locOwner: survey,
40084
40095
  };
@@ -40111,7 +40122,6 @@ function getTOCItems(survey, onAction) {
40111
40122
  if (page.isPage) {
40112
40123
  return survey.tryNavigateToPage(page);
40113
40124
  }
40114
- return tryFocusPage(survey, page);
40115
40125
  },
40116
40126
  visible: new ComputedUpdater(function () {
40117
40127
  return page.isVisible && !(page["isStartPage"]);
@@ -40346,7 +40356,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
40346
40356
  *
40347
40357
  * For information on event handler parameters, refer to descriptions within the interface.
40348
40358
  *
40349
- * 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.
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 [`onDynamicPanelValueChanged`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onDynamicPanelValueChanged) event.
40350
40360
  * @see setValue
40351
40361
  */
40352
40362
  _this.onValueChanged = _this.addEvent();
@@ -40876,7 +40886,12 @@ var survey_SurveyModel = /** @class */ (function (_super) {
40876
40886
  /**
40877
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.
40878
40888
  */
40879
- _this.onDynamicPanelItemValueChanged = _this.addEvent();
40889
+ _this.onDynamicPanelValueChanged = _this.addEvent();
40890
+ _this.onDynamicPanelItemValueChanged = _this.onDynamicPanelValueChanged;
40891
+ /**
40892
+ * An event that is raised after an item value is changing in a panel within a [Dynamic Panel](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/) question.
40893
+ */
40894
+ _this.onDynamicPanelValueChanging = _this.addEvent();
40880
40895
  /**
40881
40896
  * 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.
40882
40897
  *
@@ -43991,7 +44006,17 @@ var survey_SurveyModel = /** @class */ (function (_super) {
43991
44006
  enumerable: false,
43992
44007
  configurable: true
43993
44008
  });
43994
- SurveyModel.prototype.tryNavigateToPage = function (page) {
44009
+ SurveyModel.prototype.tryNavigateToPage = function (page /*, serverValidationRes?: (res: boolean)=> void*/) {
44010
+ if (!this.performValidationOnPageChanging(page))
44011
+ return false;
44012
+ var index = this.visiblePages.indexOf(page);
44013
+ var res = index < this.currentPageNo || !this.doServerValidation(false, false, page);
44014
+ if (res) {
44015
+ this.currentPage = page;
44016
+ }
44017
+ return res;
44018
+ };
44019
+ SurveyModel.prototype.performValidationOnPageChanging = function (page) {
43995
44020
  if (this.isDesignMode)
43996
44021
  return false;
43997
44022
  var index = this.visiblePages.indexOf(page);
@@ -43999,10 +44024,8 @@ var survey_SurveyModel = /** @class */ (function (_super) {
43999
44024
  return false;
44000
44025
  if (index === this.currentPageNo)
44001
44026
  return false;
44002
- if (index < this.currentPageNo || this.checkErrorsMode === "onComplete" || this.validationAllowSwitchPages) {
44003
- this.currentPageNo = index;
44027
+ if (index < this.currentPageNo || this.checkErrorsMode === "onComplete" || this.validationAllowSwitchPages)
44004
44028
  return true;
44005
- }
44006
44029
  if (!this.validateCurrentPage())
44007
44030
  return false;
44008
44031
  for (var i = this.currentPageNo + 1; i < index; i++) {
@@ -44011,7 +44034,6 @@ var survey_SurveyModel = /** @class */ (function (_super) {
44011
44034
  return false;
44012
44035
  page_1.passed = true;
44013
44036
  }
44014
- this.currentPage = page;
44015
44037
  return true;
44016
44038
  };
44017
44039
  SurveyModel.prototype.updateCurrentPage = function () {
@@ -45554,14 +45576,14 @@ var survey_SurveyModel = /** @class */ (function (_super) {
45554
45576
  this.setPropertyValue("isValidatingOnServer", val);
45555
45577
  this.onIsValidatingOnServerChanged();
45556
45578
  };
45557
- SurveyModel.prototype.createServerValidationOptions = function (doComplete, isPreview) {
45579
+ SurveyModel.prototype.createServerValidationOptions = function (doComplete, isPreview, page) {
45558
45580
  var self = this;
45559
45581
  var options = {
45560
45582
  data: {},
45561
45583
  errors: {},
45562
45584
  survey: this,
45563
45585
  complete: function () {
45564
- self.completeServerValidation(options, isPreview);
45586
+ self.completeServerValidation(options, isPreview, page);
45565
45587
  },
45566
45588
  };
45567
45589
  if (doComplete && this.isValidateOnComplete) {
@@ -45581,7 +45603,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
45581
45603
  return options;
45582
45604
  };
45583
45605
  SurveyModel.prototype.onIsValidatingOnServerChanged = function () { };
45584
- SurveyModel.prototype.doServerValidation = function (doComplete, isPreview) {
45606
+ SurveyModel.prototype.doServerValidation = function (doComplete, isPreview, page) {
45585
45607
  var _this = this;
45586
45608
  if (isPreview === void 0) { isPreview = false; }
45587
45609
  if (!this.onServerValidateQuestions ||
@@ -45593,14 +45615,14 @@ var survey_SurveyModel = /** @class */ (function (_super) {
45593
45615
  var isFunc = typeof this.onServerValidateQuestions === "function";
45594
45616
  this.serverValidationEventCount = !isFunc ? this.onServerValidateQuestions.length : 1;
45595
45617
  if (isFunc) {
45596
- this.onServerValidateQuestions(this, this.createServerValidationOptions(doComplete, isPreview));
45618
+ this.onServerValidateQuestions(this, this.createServerValidationOptions(doComplete, isPreview, page));
45597
45619
  }
45598
45620
  else {
45599
- this.onServerValidateQuestions.fireByCreatingOptions(this, function () { return _this.createServerValidationOptions(doComplete, isPreview); });
45621
+ this.onServerValidateQuestions.fireByCreatingOptions(this, function () { return _this.createServerValidationOptions(doComplete, isPreview, page); });
45600
45622
  }
45601
45623
  return true;
45602
45624
  };
45603
- SurveyModel.prototype.completeServerValidation = function (options, isPreview) {
45625
+ SurveyModel.prototype.completeServerValidation = function (options, isPreview, page) {
45604
45626
  if (this.serverValidationEventCount > 1) {
45605
45627
  this.serverValidationEventCount--;
45606
45628
  if (!!options && !!options.errors && Object.keys(options.errors).length === 0)
@@ -45635,10 +45657,15 @@ var survey_SurveyModel = /** @class */ (function (_super) {
45635
45657
  this.showPreviewCore();
45636
45658
  }
45637
45659
  else {
45638
- if (self.isLastPage)
45639
- self.doComplete();
45640
- else
45641
- self.doNextPage();
45660
+ if (page) {
45661
+ this.currentPage = page;
45662
+ }
45663
+ else {
45664
+ if (self.isLastPage)
45665
+ self.doComplete();
45666
+ else
45667
+ self.doNextPage();
45668
+ }
45642
45669
  }
45643
45670
  }
45644
45671
  };
@@ -45950,7 +45977,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
45950
45977
  return;
45951
45978
  var id = question.inputId;
45952
45979
  var root = settings.environment.root;
45953
- if (!!id && htmlElement.id !== id && typeof root !== "undefined") {
45980
+ if (!!id && (!htmlElement || htmlElement.id !== id) && typeof root !== "undefined") {
45954
45981
  var el = root.getElementById(id);
45955
45982
  if (!!el) {
45956
45983
  htmlElement = el;
@@ -46151,9 +46178,11 @@ var survey_SurveyModel = /** @class */ (function (_super) {
46151
46178
  };
46152
46179
  SurveyModel.prototype.dynamicPanelItemValueChanged = function (question, options) {
46153
46180
  options.question = question;
46154
- options.panelIndex = options.itemIndex;
46155
- options.panelData = options.itemValue;
46156
- this.onDynamicPanelItemValueChanged.fire(this, options);
46181
+ this.onDynamicPanelValueChanged.fire(this, options);
46182
+ };
46183
+ SurveyModel.prototype.dynamicPanelItemValueChanging = function (question, options) {
46184
+ options.question = question;
46185
+ this.onDynamicPanelValueChanging.fire(this, options);
46157
46186
  };
46158
46187
  SurveyModel.prototype.dynamicPanelGetTabTitle = function (question, options) {
46159
46188
  options.question = question;
@@ -55503,6 +55532,11 @@ var question_text_QuestionTextModel = /** @class */ (function (_super) {
55503
55532
  this.setRenderedMinMax(values, properties);
55504
55533
  }
55505
55534
  };
55535
+ QuestionTextModel.prototype.getDisplayValueCore = function (keysAsText, value) {
55536
+ if (!this.maskTypeIsEmpty && !helpers_Helpers.isValueEmpty(value))
55537
+ return this.maskInstance.getMaskedValue(value);
55538
+ return _super.prototype.getDisplayValueCore.call(this, keysAsText, value);
55539
+ };
55506
55540
  QuestionTextModel.prototype.isLayoutTypeSupported = function (layoutType) {
55507
55541
  return true;
55508
55542
  };
@@ -62931,24 +62965,24 @@ var question_rating_QuestionRatingModel = /** @class */ (function (_super) {
62931
62965
  function QuestionRatingModel(name) {
62932
62966
  var _this = _super.call(this, name) || this;
62933
62967
  _this._syncPropertiesChanging = false;
62968
+ _this.iCounter = 0;
62934
62969
  _this.createItemValues("rateValues");
62935
- _this.createRenderedRateItems();
62936
62970
  _this.createLocalizableString("ratingOptionsCaption", _this, false, true);
62937
62971
  _this.registerFunctionOnPropertiesValueChanged(["rateMin", "rateMax",
62938
- "minRateDescription", "maxRateDescription", "rateStep", "displayRateDescriptionsAsExtremeItems"], function () { return _this.createRenderedRateItems(); });
62972
+ "minRateDescription", "maxRateDescription", "rateStep", "displayRateDescriptionsAsExtremeItems"], function () { return _this.resetRenderedItems(); });
62939
62973
  _this.registerFunctionOnPropertiesValueChanged(["rateType"], function () {
62940
62974
  _this.setIconsToRateValues();
62941
- _this.createRenderedRateItems();
62975
+ _this.resetRenderedItems();
62942
62976
  _this.updateRateCount();
62943
62977
  });
62944
62978
  _this.registerFunctionOnPropertiesValueChanged(["rateValues"], function () {
62945
62979
  _this.setIconsToRateValues();
62946
- _this.createRenderedRateItems();
62980
+ _this.resetRenderedItems();
62947
62981
  });
62948
62982
  _this.registerSychProperties(["rateValues"], function () {
62949
62983
  _this.autoGenerate = _this.rateValues.length == 0;
62950
62984
  _this.setIconsToRateValues();
62951
- _this.createRenderedRateItems();
62985
+ _this.resetRenderedItems();
62952
62986
  });
62953
62987
  _this.registerFunctionOnPropertiesValueChanged(["rateColorMode", "scaleColorMode"], function () {
62954
62988
  _this.updateColors(_this.survey.themeVariables);
@@ -62964,7 +62998,7 @@ var question_rating_QuestionRatingModel = /** @class */ (function (_super) {
62964
62998
  _this.rateValues.splice(0, _this.rateValues.length);
62965
62999
  _this.updateRateMax();
62966
63000
  }
62967
- _this.createRenderedRateItems();
63001
+ _this.resetRenderedItems();
62968
63002
  });
62969
63003
  _this.createLocalizableString("minRateDescription", _this, true)
62970
63004
  .onStringChanged.add(function (sender, options) {
@@ -62995,7 +63029,6 @@ var question_rating_QuestionRatingModel = /** @class */ (function (_super) {
62995
63029
  this.autoGenerate = !this.jsonObj.rateValues.length;
62996
63030
  this.updateRateCount();
62997
63031
  this.setIconsToRateValues();
62998
- this.createRenderedRateItems();
62999
63032
  };
63000
63033
  QuestionRatingModel.prototype.registerSychProperties = function (names, func) {
63001
63034
  var _this = this;
@@ -63099,7 +63132,6 @@ var question_rating_QuestionRatingModel = /** @class */ (function (_super) {
63099
63132
  },
63100
63133
  set: function (val) {
63101
63134
  this.setPropertyValue("rateValues", val);
63102
- this.createRenderedRateItems();
63103
63135
  },
63104
63136
  enumerable: false,
63105
63137
  configurable: true
@@ -63208,6 +63240,7 @@ var question_rating_QuestionRatingModel = /** @class */ (function (_super) {
63208
63240
  QuestionRatingModel.normalColorLight = getRGBColor("--sjs-special-yellow-light", "--sd-rating-normal-color-light");
63209
63241
  QuestionRatingModel.goodColorLight = getRGBColor("--sjs-special-green-light", "--sd-rating-good-color-light");
63210
63242
  this.colorsCalculated = true;
63243
+ this.resetRenderedItems();
63211
63244
  };
63212
63245
  QuestionRatingModel.prototype.getDisplayValueCore = function (keysAsText, value) {
63213
63246
  if (!this.useRateValues)
@@ -63228,22 +63261,55 @@ var question_rating_QuestionRatingModel = /** @class */ (function (_super) {
63228
63261
  this.autoGenerate = false;
63229
63262
  _super.prototype.itemValuePropertyChanged.call(this, item, name, oldValue, newValue);
63230
63263
  };
63231
- QuestionRatingModel.prototype.createRenderedRateItems = function () {
63232
- var _this = this;
63233
- var rateValues = [];
63234
- if (this.useRateValues()) {
63235
- rateValues = this.rateValues;
63264
+ QuestionRatingModel.prototype.runConditionCore = function (values, properties) {
63265
+ _super.prototype.runConditionCore.call(this, values, properties);
63266
+ this.runRateItesmCondition(values, properties);
63267
+ };
63268
+ QuestionRatingModel.prototype.runRateItesmCondition = function (values, properties) {
63269
+ var _a;
63270
+ if (!this.useRateValues())
63271
+ return;
63272
+ var isChanged = false;
63273
+ if ((_a = this.survey) === null || _a === void 0 ? void 0 : _a.areInvisibleElementsShowing) {
63274
+ this.rateValues.forEach(function (item) {
63275
+ isChanged = isChanged || !item.isVisible;
63276
+ item.setIsVisible(item, true);
63277
+ });
63236
63278
  }
63237
63279
  else {
63238
- rateValues = this.createRateValues();
63280
+ isChanged = itemvalue_ItemValue.runConditionsForItems(this.rateValues, undefined, undefined, values, properties, true);
63239
63281
  }
63240
- if (this.autoGenerate) {
63241
- this.rateMax = rateValues[rateValues.length - 1].value;
63282
+ if (isChanged) {
63283
+ this.resetRenderedItems();
63284
+ if (!this.isEmpty() && !this.isReadOnly) {
63285
+ var item = itemvalue_ItemValue.getItemByValue(this.rateValues, this.value);
63286
+ if (item && !item.isVisible) {
63287
+ this.clearValue();
63288
+ }
63289
+ }
63242
63290
  }
63291
+ };
63292
+ QuestionRatingModel.prototype.getRateValuesCore = function () {
63293
+ if (!this.useRateValues())
63294
+ return this.createRateValues();
63295
+ var items = new Array();
63296
+ this.rateValues.forEach(function (item) {
63297
+ if (item.isVisible) {
63298
+ items.push(item);
63299
+ }
63300
+ });
63301
+ return items;
63302
+ };
63303
+ QuestionRatingModel.prototype.calculateRateValues = function () {
63304
+ var rateValues = this.getRateValuesCore();
63243
63305
  if (this.rateType == "smileys" && rateValues.length > 10)
63244
63306
  rateValues = rateValues.slice(0, 10);
63245
- this.visibleChoicesValue = rateValues.map(function (i, idx) { return _this.getRatingItemValue(i, idx); });
63246
- this.renderedRateItems = rateValues.map(function (v, i) {
63307
+ return rateValues;
63308
+ };
63309
+ QuestionRatingModel.prototype.calculateRenderedRateItems = function () {
63310
+ var _this = this;
63311
+ var rateValues = this.calculateRateValues();
63312
+ return rateValues.map(function (v, i) {
63247
63313
  var renderedItem = null;
63248
63314
  if (_this.displayRateDescriptionsAsExtremeItems) {
63249
63315
  if (i == 0)
@@ -63256,6 +63322,39 @@ var question_rating_QuestionRatingModel = /** @class */ (function (_super) {
63256
63322
  return renderedItem;
63257
63323
  });
63258
63324
  };
63325
+ QuestionRatingModel.prototype.calculateVisibleChoices = function () {
63326
+ var _this = this;
63327
+ var rateValues = this.calculateRateValues();
63328
+ return rateValues.map(function (i, idx) { return _this.getRatingItemValue(i, idx); });
63329
+ };
63330
+ QuestionRatingModel.prototype.resetRenderedItems = function () {
63331
+ if (this.autoGenerate) {
63332
+ var rateValues = this.getRateValuesCore();
63333
+ this.rateMax = rateValues[rateValues.length - 1].value;
63334
+ }
63335
+ if (Array.isArray(this.getPropertyValueWithoutDefault("renderedRateItems"))) {
63336
+ this.setArrayPropertyDirectly("renderedRateItems", this.calculateRenderedRateItems());
63337
+ }
63338
+ if (Array.isArray(this.getPropertyValueWithoutDefault("visibleChoices"))) {
63339
+ this.setArrayPropertyDirectly("visibleChoices", this.calculateVisibleChoices);
63340
+ }
63341
+ };
63342
+ Object.defineProperty(QuestionRatingModel.prototype, "renderedRateItems", {
63343
+ get: function () {
63344
+ var _this = this;
63345
+ return this.getPropertyValue("renderedRateItems", undefined, function () { return _this.calculateRenderedRateItems(); });
63346
+ },
63347
+ enumerable: false,
63348
+ configurable: true
63349
+ });
63350
+ Object.defineProperty(QuestionRatingModel.prototype, "visibleChoices", {
63351
+ get: function () {
63352
+ var _this = this;
63353
+ return this.getPropertyValue("visibleChoices", undefined, function () { return _this.calculateVisibleChoices(); });
63354
+ },
63355
+ enumerable: false,
63356
+ configurable: true
63357
+ });
63259
63358
  QuestionRatingModel.prototype.createRateValues = function () {
63260
63359
  var res = [];
63261
63360
  var value = this.rateMin;
@@ -63729,13 +63828,6 @@ var question_rating_QuestionRatingModel = /** @class */ (function (_super) {
63729
63828
  QuestionRatingModel.prototype.isItemSelected = function (item) {
63730
63829
  return item.value == this.value;
63731
63830
  };
63732
- Object.defineProperty(QuestionRatingModel.prototype, "visibleChoices", {
63733
- get: function () {
63734
- return this.visibleChoicesValue;
63735
- },
63736
- enumerable: false,
63737
- configurable: true
63738
- });
63739
63831
  Object.defineProperty(QuestionRatingModel.prototype, "readOnlyText", {
63740
63832
  get: function () {
63741
63833
  if (this.readOnly)
@@ -63804,7 +63896,6 @@ var question_rating_QuestionRatingModel = /** @class */ (function (_super) {
63804
63896
  QuestionRatingModel.prototype.themeChanged = function (theme) {
63805
63897
  this.colorsCalculated = false;
63806
63898
  this.updateColors(theme.cssVariables);
63807
- this.createRenderedRateItems();
63808
63899
  };
63809
63900
  QuestionRatingModel.prototype.setSurveyImpl = function (value, isLight) {
63810
63901
  _super.prototype.setSurveyImpl.call(this, value, isLight);
@@ -63830,9 +63921,6 @@ var question_rating_QuestionRatingModel = /** @class */ (function (_super) {
63830
63921
  question_rating_decorate([
63831
63922
  jsonobject_property()
63832
63923
  ], QuestionRatingModel.prototype, "rateCount", void 0);
63833
- question_rating_decorate([
63834
- propertyArray()
63835
- ], QuestionRatingModel.prototype, "renderedRateItems", void 0);
63836
63924
  question_rating_decorate([
63837
63925
  jsonobject_property({ defaultValue: false })
63838
63926
  ], QuestionRatingModel.prototype, "hasMinRateDescription", void 0);
@@ -69136,6 +69224,7 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
69136
69224
  }
69137
69225
  if (!qValue[index])
69138
69226
  qValue[index] = {};
69227
+ var oldVal = qValue[index][name];
69139
69228
  if (!this.isValueEmpty(val)) {
69140
69229
  qValue[index][name] = val;
69141
69230
  }
@@ -69145,17 +69234,20 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
69145
69234
  if (index >= 0 && index < this.panelsCore.length) {
69146
69235
  this.changingValueQuestion = this.panelsCore[index].getQuestionByValueName(name);
69147
69236
  }
69237
+ var options = {
69238
+ panel: item.panel,
69239
+ name: name,
69240
+ panelIndex: index,
69241
+ panelData: qValue[index],
69242
+ value: val,
69243
+ oldValue: oldVal
69244
+ };
69245
+ if (this.survey) {
69246
+ this.survey.dynamicPanelItemValueChanging(this, options);
69247
+ }
69148
69248
  this.value = qValue;
69149
69249
  this.changingValueQuestion = null;
69150
69250
  if (this.survey) {
69151
- var options = {
69152
- question: this,
69153
- panel: item.panel,
69154
- name: name,
69155
- itemIndex: index,
69156
- itemValue: qValue[index],
69157
- value: val,
69158
- };
69159
69251
  this.survey.dynamicPanelItemValueChanged(this, options);
69160
69252
  }
69161
69253
  this.isSetPanelItemData[name]--;
@@ -72540,9 +72632,9 @@ Serializer.addClass("currencymask", [
72540
72632
 
72541
72633
  var Version;
72542
72634
  var ReleaseDate;
72543
- Version = "" + "1.12.19";
72635
+ Version = "" + "1.12.21";
72544
72636
  settings.version = Version;
72545
- ReleaseDate = "" + "2025-01-15";
72637
+ ReleaseDate = "" + "2025-01-28";
72546
72638
  function checkLibraryVersion(ver, libraryName) {
72547
72639
  if (Version != ver) {
72548
72640
  var str = "survey-core has version '" + Version + "' and " + libraryName