Skip to content

Commit

Permalink
Multiple Text - The defaultValueExpression is unavailable for multipl…
Browse files Browse the repository at this point in the history
…e text items fix #7221 (#7237)
  • Loading branch information
andrewtelnov committed Oct 26, 2023
1 parent 7ab17e7 commit 92bf5f1
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 0 deletions.
10 changes: 10 additions & 0 deletions src/question_multipletext.ts
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,15 @@ export class MultipleTextItemModel extends Base
public set size(val: number) {
this.editor.size = val;
}
/**
* An expression used to calculate the [defaultValue](https://surveyjs.io/form-library/documentation/question#defaultValue).
*/
public get defaultValueExpression(): string {
return this.editor.defaultValueExpression;
}
public set defaultValueExpression(val: string) {
this.editor.defaultValueExpression = val;
}
/**
* The minimum value specified as an expression. For example, `"minValueExpression": "today(-1)"` sets the minimum value to yesterday.
*/
Expand Down Expand Up @@ -805,6 +814,7 @@ Serializer.addClass(
name: "requiredErrorText:text",
serializationProperty: "locRequiredErrorText",
},
{ name: "defaultValueExpression:expression", visible: false },
{
name: "minValueExpression:expression",
category: "logic",
Expand Down
26 changes: 26 additions & 0 deletions tests/question_multipletexttests.ts
Original file line number Diff line number Diff line change
Expand Up @@ -215,3 +215,29 @@ QUnit.test("min/maxValueExpression executing", (assert) => {
q1.items[1].value = 5;
assert.equal(q1.items[1].editor.hasErrors(), true);
});
QUnit.test("defaultValueExpression executing", (assert) => {
const survey = new SurveyModel({
questions: [
{
type: "multipletext",
name: "q1",
items: [
{
name: "item1"
},
{
name: "item2"
},
{
name: "item3",
defaultValueExpression: "{q1.item1} + {q1.item2}"
}
]
}
]
});
const q1 = <QuestionMultipleTextModel>survey.getQuestionByName("q1");
q1.items[0].value = 10;
q1.items[1].value = 5;
assert.equal(q1.items[2].editor.value, 15, "Calculated correctly");
});

0 comments on commit 92bf5f1

Please sign in to comment.