Skip to content

Commit

Permalink
Multipletext question add mask support (#5351)
Browse files Browse the repository at this point in the history
* work for surveyjs/survey-library#7996

* work for surveyjs/survey-library#7996

---------

Co-authored-by: OlgaLarina <olga.larina.dev@gmail.com>
  • Loading branch information
OlgaLarina and OlgaLarina committed Mar 27, 2024
1 parent 2aa0489 commit d231840
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 12 deletions.
3 changes: 1 addition & 2 deletions packages/survey-creator-core/src/property-grid/matrices.ts
Original file line number Diff line number Diff line change
Expand Up @@ -718,10 +718,9 @@ export class PropertyGridEditorMatrixMutlipleTextItems extends PropertyGridEdito
public fit(prop: JsonObjectProperty): boolean {
return prop.type == "textitem[]";
}
/*
protected getEditItemAsStandAlone(): boolean {
return true;
}*/
}
protected getColumnClassName(obj: Base, prop: JsonObjectProperty): string {
return "multipletext@items";
}
Expand Down
13 changes: 10 additions & 3 deletions packages/survey-creator-core/src/question-editor/definition.ts
Original file line number Diff line number Diff line change
Expand Up @@ -579,14 +579,21 @@ const defaultProperties: ISurveyPropertiesDefinition = {
"title",
"inputType",
"isRequired",
"maxLength",
"size",
"placeholder",
"requiredErrorText",
"validators",
{ name: "maxLength", tab: "validation" },
{ name: "requiredErrorText", tab: "validation" },
{ name: "validators", tab: "validation" },
{ name: "defaultValueExpression", tab: "logic" },
{ name: "minValueExpression", tab: "logic" },
{ name: "maxValueExpression", tab: "logic" },
{ name: "maskType", tab: "mask" },
{ name: "maskSettings", tab: "mask" },
],
tabs: [
{ name: "logic", index: 200 },
{ name: "mask", index: 250 },
{ name: "validation", index: 300 }
]
},
"multipletext@items": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -294,13 +294,16 @@ test("QuestionMultipleTextModel items property editor", () => {
nameQuestion.value = "item11";
expect(question.items[0].name).toEqual("item11");
question.items[0].name = "item1";
rows[0].showDetailPanel();
var titleQ =
itemsQuestion.visibleRows[0].detailPanel.getQuestionByName("title");
propertyGrid.obj = rows[0].editingObj;
var titleQ = propertyGrid.survey.getQuestionByName("title");
expect(titleQ).toBeTruthy();
expect(titleQ.value).toEqual("Item 1");
titleQ.value = "item 2";
propertyGrid.obj = question;
expect(question.items[0].title).toEqual("item 2");
itemsQuestion = <QuestionMatrixDynamicModel>(propertyGrid.survey.getQuestionByName("items"));
var rows = itemsQuestion.visibleRows;
expect(rows).toHaveLength(1);
itemsQuestion.addRow();
expect(question.items).toHaveLength(2);
expect(question.items[1].name).toEqual("item2");
Expand All @@ -314,10 +317,8 @@ test("QuestionMultipleTextModel items property editor + validators editor", () =
);
expect(itemsQuestion).toBeTruthy();
var rows = itemsQuestion.visibleRows;
rows[0].showDetailPanel();
var validatorsQuestion = <QuestionMatrixDynamicModel>(
rows[0].detailPanel.getQuestionByName("validators")
);
propertyGrid.obj = rows[0].editingObj;
var validatorsQuestion = <QuestionMatrixDynamicModel>propertyGrid.survey.getQuestionByName("validators");
expect(validatorsQuestion).toBeTruthy(); //visibleIf is here
expect(validatorsQuestion.columns).toHaveLength(1);
expect(validatorsQuestion.visibleRows).toHaveLength(0);
Expand Down

0 comments on commit d231840

Please sign in to comment.