Global settings that apply to all surveys on the page. To specify one of the settings, use the code below:
import { settings } from "survey-core";
settings.settingName = "value";
Specifies whether to animate survey elements.
Default value: true
Specifies how many milliseconds a survey should wait before it automatically switches to the next page. Applies only when auto-advance is enabled.
Default value: 300
An object that configures string comparison.
Nested properties:
trimStrings
: boolean
Specifies whether to remove whitespace from both ends of a string before the comparison. Default value: true
.
caseSensitive
: boolean
Specifies whether to differentiate between capital and lower-case letters. Default value: false
.
A function that activates a proprietary SurveyJS confirmation dialog.
Use the following code to execute this function:
import { settings } from "survey-core";
settings.confirmActionAsync("Are you sure?", (confirmed) => {
if (confirmed) {
// ...
// Proceed with the action
// ...
} else {
// ...
// Cancel the action
// ...
}
});
You can override the confirmActionAsync
function if you want to display a custom dialog window asynchronously:
import { settings } from "survey-core";
async function confirmDialog(message) {
return new Promise((resolve) => {
// Implement an async dialog window here
});
}
settings.confirmActionAsync = (message, callback) => {
confirmDialog(message).then((result) => {
callback(result);
});
};
A function used to display a custom confirmation dialog.
This function is undefined
by default. To enable a custom dialog, assign a function that returns true
if the user confirms the action or false
otherwise. For example, the following code uses the built-in window.confirm()
method to open a confirmation dialog window:
import { settings } from "survey-core";
settings.confirmActionAsync = (message) => {
return window.confirm(message);
};
An object that specifies icon replacements. Object keys are built-in icon names. To use a custom icon, assign its name to the key of the icon you want to replace:
import { settings } from "survey-core";
settings.customIcons["icon-redo"] = "custom-redo-icon";
For more information about icons in SurveyJS, refer to the following help topic: UI Icons.
An object that configures survey appearance when the survey is being designed in Survey Creator.
Nested properties:
showEmptyDescriptions
: boolean
Specifies whether to display an empty description for pages and panels. Default value: true
.
showEmptyTitles
: boolean
Specifies whether to display an empty title for pages and panels. Default value: true
.
A value to save in survey results when respondents select the "Don't know" choice item.
Default value: "dontknow"
Specifies an action to perform when users press the Enter key within a survey.
Possible values:
"moveToNextEditor"
- Moves focus to the next editor."loseFocus"
- Removes focus from the current editor."default"
- Behaves as a standard <input>
element.Specifies the direction in which to lay out Checkbox and Radio Button Group items. This setting affects the resulting UI when items are arranged in more than one column.
Possible values:
"column"
(default) - Items fill the current column, then move on to the next column."row"
- Items fill the current row, then move on to the next row.A separator used in a shorthand notation that specifies a value and display text for an ItemValue
object: "value|text"
.
Default value: "|"
An object that configures lazy rendering.
Nested properties:
enabled
: boolean
false
.An object that contains properties related to localization.
Nested properties:
defaultLocaleName
: string
A property key that stores a translation for the default locale. Default value: "default"
.
storeDuplicatedTranslations
: boolean
Specifies whether surveys should store translation strings that equal the translation strings in the default locale. Default value: false
.
useLocalTimeZone
: boolean
Obsolete. Use the storeUtcDates
setting instead.
An object with properties that configure input masks.
Nested properties:
patternPlaceholderChar
: string
A symbol used as a placeholder for characters to be entered in pattern masks. Default value: "_"
.
patternEscapeChar
: string
A symbol used to insert literal representations of special characters in pattern masks. Default value: "\\"
.
patternDefinitions
: <{ [key: string]: RegExp }>
An object that maps placeholder symbols to regular expressions in pattern masks. Default value: { "9": /[0-9]/, "a": /[a-zA-Z]/, "#": /[a-zA-Z0-9]/ }
.
An object with properties that apply to Single-Choice, Multiple-Choice, and Dynamic Matrix questions.
Nested properties:
defaultRowName
: string
A property key that stores an object with default cell values. Default value: "default".
defaultCellType
: string
The default type of matrix cells. Default value: "dropdown"
.
You can specify this setting for individual questions or matrix columns: cellType
. Refer to the cellType
property description for information on possible values.
totalsSuffix
: string
A suffix added to the name of the property that stores total values. The resulting property name consists of the matrix name and the suffix. Default value: "-total"
.
maxRowCount
: number
A maximum number of rows in a Dynamic Matrix. Default value: 1000.
You can specify this setting for an individual Dynamic Matrix: maxRowCount
.
maxRowCountInCondition
: number
A maximum number of matrix rows included in the Condition drop-down menu in Survey Creator. This menu is used to configure conditional survey logic. Default value: 1.
If you set this property to 0, the Condition menu does not include any matrix rows. Users still can specify conditions that use matrix rows but only with Manual Entry.
renderRemoveAsIcon
: boolean
Disable this property if you want to render the Remove action in Dynamic Matrix as a button. Otherwise, the action is rendered as an icon. Default value: true
.
columnWidthsByType
: object
An object that specifies fixed and minimum column width based on the column type.
Example: settings.matrix.columnWidthsByType = { "tagbox": { minWidth: "240px", width: "300px" } }
rateSize
: "small"
(default) | "normal"
Specifies the size of rate values. Applies to Rating Scale questions within matrixes.
Specifies how many times surveys can re-evaluate expressions when a question value changes. This limit helps avoid recursions in expressions.
Default value: 10
Specifies a maximum date that users can enter into a Text question with inputType
set to "date"
or "datetime-local"
. Set this property to a string with the folllowing format: "yyyy-mm-dd"
.
A maximum width value for all survey elements.
Default value: "100%"
You can override this setting for individual elements: maxWidth
.
Specifies a minimum date that users can enter into a Text question with inputType
set to "date"
or "datetime-local"
. Set this property to a string with the folllowing format: "yyyy-mm-dd"
.
A minimum width value for all survey elements.
Default value: "300px"
You can override this setting for individual elements: minWidth
.
A value to save in survey results when respondents select the "None" choice item.
Default value: "none"
An object that configures notifications.
Nested properties:
lifetime
: number
An object with properties that configure question numbering.
Nested properties:
includeQuestionsWithHiddenNumber
: boolean
Specifies whether to number questions whose showNumber
property is disabled. Default value: false
.
includeQuestionsWithHiddenTitle
: boolean
Specifies whether to number questions whose titleLocation
property is set to "hidden"
. Default value: false
.
An object with properties that apply to Dynamic Panel questions.
Nested properties:
maxPanelCount
: number
A maximum number of panels in Dynamic Panel. Default value: 100.
You can specify this setting for an individual Dynamic Panel: maxPanelCount
.
maxPanelCountInCondition
: number
A maximum number of Dynamic Panel panels included in the Condition drop-down menu in Survey Creator. This menu is used to configure conditional survey logic. Default value: 1.
If you set this property to 0, the Condition menu does not include any panel questions. Users still can specify conditions that use panel questions but only with Manual Entry.
A function that allows you to define custom parsing rules for numbers represented as string values.
The following code shows a template that you can use to implement the parseNumber
function:
import { settings } from "survey-core";
settings.parseNumber = (stringValue, numericValue) => {
if (typeof stringValue !== "string" || !stringValue)
return numericValue;
let parsedNumber = numericValue;
// ...
// Parsing the number according to custom parsing rules
// ...
return parsedNumber;
};
A number that results from parsing the string value.
Specifies which part of a choice item responds to a drag gesture in Ranking questions.
Possible values:
"entireItem"
(default) - Users can use the entire choice item as a drag handle."icon"
- Users can only use the choice item icon as a drag handle.A maximum number of rate values in a Rating question.
Default value: 20
An object with properties that configure questions in read-only mode.
Nested properties:
commentRenderMode
: "textarea"
(default) | "div"
Specifies how to render the input field of Comment questions in read-only mode: as a disabled <textarea>
element or as a <div>
element with a non-editable question value within it.
textRenderMode
: "input"
(default) | "div"
Specifies how to render the input field of Text questions in read-only mode: as a disabled <input>
element or as a <div>
element with a non-editable question value within it.
A value to save in survey results when respondents select the "Refuse to answer" choice item.
Default value: "refused"
An object that contains properties related to JSON serialization.
Nested properties:
itemValueSerializeAsObject
: boolean
Enable this property if you want to serialize ItemValue
instances (choice options, matrix rows, columns in a Single-Select Matrix) as objects even when they include only the value
property. Default value: false
.
itemValueSerializeDisplayText
: boolean
Enable this property if you want to serialize the text
property of ItemValue
objects even when it is empty or equal to the value
property. Default value: false
.
localizableStringSerializeAsObject
: boolean
Enable this property if you want to serialize LocalizableString
instances as objects even when they include only a translation string for the default locale. For example, "Custom String"
will be serialized as { default: "Custom String" }
. Default value: false
.
matrixDropdownColumnSerializeTitle
: boolean
Enable this property if you want to serialize the title
property of MatrixDropdownColumn
objects even when it is empty or equal to the name
property. Default value: false
.
A method that displays a modal dialog.
Parameters:
options
: IDialogOptions
An object that configures the dialog's content and behavior.
rootElement?
: HTMLElement
A DOM element where the dialog should be rendered. If not specified, the dialog is rendered into document.body
.
Allows you to hide the maximum length indicator in text input questions.
If you specify a question's maxLength
property or a survey's maxTextLength
property, text input questions indicate the number of entered characters and the character limit. Assign false
to the settings.showMaxLengthIndicator
property if you want to hide this indicator.
Default value: true
An object whose properties specify the order of the special choice items ("None", "Other", "Select All", "Refuse to answer", "Don't know") in select-based questions.
Default value: { selectAllItem: [-1], noneItem: [1], refuseItem: [2], dontKnowItem: [3], otherItem: [4] }
Use this object to reorder special choices. Each property accepts an array of integer numbers. Negative numbers place a special choice item above regular choice items, positive numbers place it below them. For instance, the code below specifies the following order of choices: None, Select All, regular choices, Other.
import { settings } from "survey-core";
settings.specialChoicesOrder.noneItem = [-2];
settings.specialChoicesOrder.selectAllItem = [-1];
settings.specialChoicesOrder.otherItem = [1];
If you want to duplicate a special choice item above and below other choices, add two numbers to the corresponding array:
settings.specialChoicesOrder.selectAllItem = [-1, 3] // Displays Select All above and below other choices
Specifies whether to store date-time values in the following format: "YYYY-MM-DDThh:mm:ss.sssZ"
. Applies only to form fields with inputType
set to "datetime-local"
.
Default value: false
If you enable this setting, date-time values are converted from local time to UTC when they are saved to the survey's data
object, while the question values remain in local time. Therefore, when you specify default values using a question's defaultValue
property, you need to use local time, but if you specify them using the data
object, use a UTC date-time value in the following format: "YYYY-MM-DDThh:mm:ss.sssZ"
.
const surveyJson = {
"elements": [{
"name": "datetime",
"type": "text",
"title": "Select a date and time",
"inputType": "datetime-local",
"defaultValue": "2024-07-16T12:15:00" // Local date-time value
}]
}
import { Model } from "survey-core";
const surveyJson = { ... }
const survey = new Model(surveyJson);
survey.data = {
datetime: "2024-07-16T12:15:00.000Z" // UTC date-time value
}
A list of supported validators by question type.
Specifies whether to close the drop-down menu of a Multi-Select Dropdown (Tag Box) question after a user selects a value.
This setting applies to all Multi-Select Dropdown questions on a web page. You can use the closeOnSelect
property to specify the same setting for an individual Multi-Select Dropdown question.
An object that contains properties related to triggers.
Nested properties:
changeNavigationButtonsOnComplete
: boolean
Specifies whether to re-evaluate an expression associated with the Complete trigger immediately when a question value changes. If the expression evaluates to true
, the trigger is executed. Default value: false
.
Keep this property set to false
if you want to re-evaluate the Complete trigger's expression only when the respondents navigate to another page.
executeCompleteOnValueChanged
: boolean
Specifies whether to replace the Next button with the Complete button when the Complete trigger is going to be executed. Default value: true
.
executeSkipOnValueChanged
: boolean
Specifies whether to re-evaluate an expression associated with the Skip trigger immediately when a question value changes. If the expression evaluates to true
, the trigger is executed. Default value: true
.
Disable this property if you want to re-evaluate the Skip trigger's expression only when respondents navigate to another page.
An object with properties that configure surveys when they work with a web service.
Nested properties:
encodeUrlParams
: boolean
Specifies whether to encode URL parameters when you access a web service. Default value: true
.
cacheLoadedChoices
: boolean
Specifies whether to cache choices loaded from a web service. Default value: true
.
disableQuestionWhileLoadingChoices
: boolean
Disables a question while its choices are being loaded from a web service. Default value: false
.
surveyServiceUrl
: string
Obsolete. Self-hosted Form Library no longer supports integration with SurveyJS Demo Service.
onBeforeRequestChoices
: (sender: ChoicesRestful, options: { url: string, request?: XMLHttpRequest, fetchOptions?: RequestInit })
An event that is raised before a request for choices is sent. Applies to questions with a specified choiceByUrl
property. Use the options
parameter to access and modify the request to be sent. The options.fetchOptions
object is defined only when the Form Library is run on a Node.js server; options.request
is defined in the rest of cases. The following example shows how you can add authentication headers to a request for choices:
import { settings } from "survey-core";
settings.web.onBeforeRequestChoices = (_, options) => {
if (options.request) {
options.request.setRequestHeader("RequestVerificationToken", requestVerificationToken);
}
if (options.fetchOptions) {
options.fetchOptions.headers.append("RequestVerificationToken", requestVerificationToken);
}
};
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4