UNPKG

survey-core

Version:

A framework-independent core of the SurveyJS Form Library that works with rendering packages. Use it to integrate dynamic, interactive JSON-based forms and surveys into your app, collect user responses, and send them to your own database.

73 lines (72 loc) 3.89 kB
import { QuestionMatrixDropdownModelBase, MatrixDropdownRowModelBase, IMatrixDropdownData } from "./question_matrixdropdownbase"; import { ItemValue } from "./itemvalue"; import { LocalizableString } from "./localizablestring"; import { IProgressInfo } from "./base-interfaces"; import { HashTable } from "./helpers"; import { IObjectValueContext, IValueGetterContext, IValueGetterContextGetValueParams, IValueGetterInfo, ValueGetterContextCore } from "./conditionProcessValue"; import { Base } from "./base"; export declare class MatrixDropdownValueGetterContext extends ValueGetterContextCore { protected question: QuestionMatrixDropdownModel; constructor(question: QuestionMatrixDropdownModel); getObj(): Base; getValue(params: IValueGetterContextGetValueParams): IValueGetterInfo; getRootObj(): IObjectValueContext; protected updateValueByItem(name: string, res: IValueGetterInfo): void; } export declare class MatrixDropdownRowModel extends MatrixDropdownRowModelBase { name: string; private item; constructor(name: string, item: ItemValue, data: IMatrixDropdownData, value: any); get rowName(): string; get rowTitle(): any; get text(): string; get locText(): LocalizableString; protected isItemVisible(): boolean; isRowEnabled(): boolean; protected isRowHasEnabledCondition(): boolean; protected getRowsVisibleIfExpression(rowsVisibleIf: string): Array<string>; protected runRowsEnableCondition(properties: HashTable<any>): void; } /** * A class that describes the Multi-Select Matrix question type. Multi-Select Matrix allows you to use the [Dropdown](https://surveyjs.io/form-library/documentation/questiondropdownmodel), [Checkbox](https://surveyjs.io/form-library/documentation/questioncheckboxmodel), [Radiogroup](https://surveyjs.io/form-library/documentation/questionradiogroupmodel), [Text](https://surveyjs.io/form-library/documentation/questiontextmodel), and [Comment](https://surveyjs.io/form-library/documentation/questioncommentmodel) question types as cell editors. * * [View Demo](https://surveyjs.io/form-library/examples/questiontype-matrixdropdown/ (linkStyle)) */ export declare class QuestionMatrixDropdownModel extends QuestionMatrixDropdownModelBase implements IMatrixDropdownData { protected onPropertyValueChanged(name: string, oldValue: any, newValue: any): void; getType(): string; /** * A title for the total row. Applies if at least one column displays total values. * @see rowTitleWidth * @see columns */ get totalText(): string; set totalText(val: string); get locTotalText(): LocalizableString; getFooterText(): LocalizableString; getRowTitleWidth(): string; /** * Specifies whether to hide the question when the matrix has no visible rows. * @see rowsVisibleIf */ get hideIfRowsEmpty(): boolean; set hideIfRowsEmpty(val: boolean); protected getSingleInputTitleTemplate(): string; getValueGetterContext(): IValueGetterContext; protected getDisplayValueCore(keysAsText: boolean, value: any): any; protected getConditionObjectRowName(index: number): string; protected getConditionObjectRowText(index: number): string; protected getConditionObjectsRowIndeces(): Array<number>; protected isNewValueCorrect(val: any): boolean; clearIncorrectValues(): void; private getRowByKey; private defaultValuesInRows; protected clearGeneratedRows(): void; private getRowValueForCreation; protected generateRows(): Array<MatrixDropdownRowModel>; protected createMatrixRow(item: ItemValue, value: any): MatrixDropdownRowModel; protected getFilteredDataCore(): any; protected getSearchableItemValueKeys(keys: Array<string>): void; protected getIsRequireToGenerateRows(): boolean; protected updateProgressInfoByValues(res: IProgressInfo): void; }