diff --git a/packages/survey-core/src/question_baseselect.ts b/packages/survey-core/src/question_baseselect.ts index fe0b47e80a..e677d1fd7d 100644 --- a/packages/survey-core/src/question_baseselect.ts +++ b/packages/survey-core/src/question_baseselect.ts @@ -1836,6 +1836,9 @@ export class QuestionSelectBase extends Question { } return columns; } + getItemsColumnKey(itemsColumn: Array) { + return (itemsColumn || []).map(c => c.value || "").join(""); + } get hasColumns() { return !this.isMobile && (this.getCurrentColCount() > 1); diff --git a/packages/survey-react-ui/src/imagepicker.tsx b/packages/survey-react-ui/src/imagepicker.tsx index 94b0b5f945..3102ca69bf 100644 --- a/packages/survey-react-ui/src/imagepicker.tsx +++ b/packages/survey-react-ui/src/imagepicker.tsx @@ -1,6 +1,6 @@ import * as React from "react"; import { ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase } from "./reactquestion_element"; -import { QuestionImagePickerModel, ImageItemValue, SurveyModel } from "survey-core"; +import { QuestionImagePickerModel, ImageItemValue, SurveyModel, ItemValue } from "survey-core"; import { ReactQuestionFactory } from "./reactquestion_factory"; import { ReactSurveyElementsWrapper } from "./reactsurveymodel"; import { SvgIcon } from "./components/svg-icon/svg-icon"; @@ -23,7 +23,7 @@ export class SurveyQuestionImagePicker extends SurveyQuestionElementBase { } protected getColumns(cssClasses: any) { - return this.question.columns.map((column: any, ci: number) => { + return this.question.columns.map((column: Array, ci: number) => { var items = column.map((item: any, ii: number) => this.renderItem( "item" + ii, @@ -32,7 +32,7 @@ export class SurveyQuestionImagePicker extends SurveyQuestionElementBase { ) ); return ( -
+
{items}
); diff --git a/packages/survey-react-ui/src/reactquestion_checkbox.tsx b/packages/survey-react-ui/src/reactquestion_checkbox.tsx index 8c327d004a..0664f2a6ed 100644 --- a/packages/survey-react-ui/src/reactquestion_checkbox.tsx +++ b/packages/survey-react-ui/src/reactquestion_checkbox.tsx @@ -73,7 +73,7 @@ export class SurveyQuestionCheckbox extends SurveyQuestionElementBase { ); } protected getColumns(cssClasses: any) { - return this.question.columns.map((column: any, ci: number) => { + return this.question.columns.map((column: Array, ci: number) => { var items = column.map((item: any, ii: number) => this.renderItem( "item" + ii, @@ -84,7 +84,7 @@ export class SurveyQuestionCheckbox extends SurveyQuestionElementBase { ) ); return ( -
+
{items}
); diff --git a/packages/survey-react-ui/src/reactquestion_radiogroup.tsx b/packages/survey-react-ui/src/reactquestion_radiogroup.tsx index 5975ca4d34..f00dc67258 100644 --- a/packages/survey-react-ui/src/reactquestion_radiogroup.tsx +++ b/packages/survey-react-ui/src/reactquestion_radiogroup.tsx @@ -70,12 +70,12 @@ export class SurveyQuestionRadiogroup extends SurveyQuestionElementBase { } protected getColumns(cssClasses: any) { var value = this.getStateValue(); - return this.question.columns.map((column: any, ci: number) => { + return this.question.columns.map((column: Array, ci: number) => { var items = column.map((item: any, ii: number) => this.renderItem("item" + ci + ii, item, value, cssClasses, "" + ci + ii) ); return ( -
+
{items}
);