survey-core 1.12.21 → 1.12.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/default.css +8715 -0
- package/default.css.map +1 -0
- package/default.fontless.css +8495 -0
- package/default.fontless.css.map +1 -0
- package/default.fontless.min.css +6 -0
- package/default.min.css +6 -0
- package/defaultV2.css +51 -5
- package/defaultV2.css.map +1 -1
- package/defaultV2.fontless.css +51 -5
- package/defaultV2.fontless.css.map +1 -1
- package/defaultV2.fontless.min.css +2 -2
- package/defaultV2.min.css +2 -2
- package/i18n/arabic.js +1 -1
- package/i18n/arabic.min.js +1 -1
- package/i18n/arabic.min.js.LICENSE.txt +5 -0
- package/i18n/basque.js +1 -1
- package/i18n/basque.min.js +1 -1
- package/i18n/basque.min.js.LICENSE.txt +5 -0
- package/i18n/bulgarian.js +1 -1
- package/i18n/bulgarian.min.js +1 -1
- package/i18n/bulgarian.min.js.LICENSE.txt +5 -0
- package/i18n/burmese.js +1 -1
- package/i18n/burmese.min.js +1 -1
- package/i18n/burmese.min.js.LICENSE.txt +5 -0
- package/i18n/catalan.js +1 -1
- package/i18n/catalan.min.js +1 -1
- package/i18n/catalan.min.js.LICENSE.txt +5 -0
- package/i18n/croatian.js +1 -1
- package/i18n/croatian.min.js +1 -1
- package/i18n/croatian.min.js.LICENSE.txt +5 -0
- package/i18n/czech.js +1 -1
- package/i18n/czech.min.js +1 -1
- package/i18n/czech.min.js.LICENSE.txt +5 -0
- package/i18n/danish.js +1 -1
- package/i18n/danish.min.js +1 -1
- package/i18n/danish.min.js.LICENSE.txt +5 -0
- package/i18n/dutch.js +1 -1
- package/i18n/dutch.min.js +1 -1
- package/i18n/dutch.min.js.LICENSE.txt +5 -0
- package/i18n/english.js +1 -1
- package/i18n/english.min.js +1 -1
- package/i18n/english.min.js.LICENSE.txt +5 -0
- package/i18n/estonian.js +1 -1
- package/i18n/estonian.min.js +1 -1
- package/i18n/estonian.min.js.LICENSE.txt +5 -0
- package/i18n/finnish.js +1 -1
- package/i18n/finnish.min.js +1 -1
- package/i18n/finnish.min.js.LICENSE.txt +5 -0
- package/i18n/french.js +1 -1
- package/i18n/french.min.js +1 -1
- package/i18n/french.min.js.LICENSE.txt +5 -0
- package/i18n/georgian.js +1 -1
- package/i18n/georgian.min.js +1 -1
- package/i18n/georgian.min.js.LICENSE.txt +5 -0
- package/i18n/german.js +1 -1
- package/i18n/german.min.js +1 -1
- package/i18n/german.min.js.LICENSE.txt +5 -0
- package/i18n/greek.js +1 -1
- package/i18n/greek.min.js +1 -1
- package/i18n/greek.min.js.LICENSE.txt +5 -0
- package/i18n/hebrew.js +1 -1
- package/i18n/hebrew.min.js +1 -1
- package/i18n/hebrew.min.js.LICENSE.txt +5 -0
- package/i18n/hindi.js +1 -1
- package/i18n/hindi.min.js +1 -1
- package/i18n/hindi.min.js.LICENSE.txt +5 -0
- package/i18n/hungarian.js +1 -1
- package/i18n/hungarian.min.js +1 -1
- package/i18n/hungarian.min.js.LICENSE.txt +5 -0
- package/i18n/icelandic.js +1 -1
- package/i18n/icelandic.min.js +1 -1
- package/i18n/icelandic.min.js.LICENSE.txt +5 -0
- package/i18n/index.js +1 -1
- package/i18n/index.min.js +1 -1
- package/i18n/index.min.js.LICENSE.txt +5 -0
- package/i18n/indonesian.js +1 -1
- package/i18n/indonesian.min.js +1 -1
- package/i18n/indonesian.min.js.LICENSE.txt +5 -0
- package/i18n/italian.js +1 -1
- package/i18n/italian.min.js +1 -1
- package/i18n/italian.min.js.LICENSE.txt +5 -0
- package/i18n/japanese.js +1 -1
- package/i18n/japanese.min.js +1 -1
- package/i18n/japanese.min.js.LICENSE.txt +5 -0
- package/i18n/kazakh.js +1 -1
- package/i18n/kazakh.min.js +1 -1
- package/i18n/kazakh.min.js.LICENSE.txt +5 -0
- package/i18n/korean.js +1 -1
- package/i18n/korean.min.js +1 -1
- package/i18n/korean.min.js.LICENSE.txt +5 -0
- package/i18n/latvian.js +1 -1
- package/i18n/latvian.min.js +1 -1
- package/i18n/latvian.min.js.LICENSE.txt +5 -0
- package/i18n/lithuanian.js +1 -1
- package/i18n/lithuanian.min.js +1 -1
- package/i18n/lithuanian.min.js.LICENSE.txt +5 -0
- package/i18n/macedonian.js +1 -1
- package/i18n/macedonian.min.js +1 -1
- package/i18n/macedonian.min.js.LICENSE.txt +5 -0
- package/i18n/malay.js +1 -1
- package/i18n/malay.min.js +1 -1
- package/i18n/malay.min.js.LICENSE.txt +5 -0
- package/i18n/nl-BE.js +1 -1
- package/i18n/nl-BE.min.js +1 -1
- package/i18n/nl-BE.min.js.LICENSE.txt +5 -0
- package/i18n/norwegian.js +1 -1
- package/i18n/norwegian.min.js +1 -1
- package/i18n/norwegian.min.js.LICENSE.txt +5 -0
- package/i18n/persian.js +1 -1
- package/i18n/persian.min.js +1 -1
- package/i18n/persian.min.js.LICENSE.txt +5 -0
- package/i18n/philippines.js +1 -1
- package/i18n/philippines.min.js +1 -1
- package/i18n/philippines.min.js.LICENSE.txt +5 -0
- package/i18n/polish.js +1 -1
- package/i18n/polish.min.js +1 -1
- package/i18n/polish.min.js.LICENSE.txt +5 -0
- package/i18n/portuguese-br.js +1 -1
- package/i18n/portuguese-br.min.js +1 -1
- package/i18n/portuguese-br.min.js.LICENSE.txt +5 -0
- package/i18n/portuguese.js +1 -1
- package/i18n/portuguese.min.js +1 -1
- package/i18n/portuguese.min.js.LICENSE.txt +5 -0
- package/i18n/romanian.js +1 -1
- package/i18n/romanian.min.js +1 -1
- package/i18n/romanian.min.js.LICENSE.txt +5 -0
- package/i18n/russian.js +1 -1
- package/i18n/russian.min.js +1 -1
- package/i18n/russian.min.js.LICENSE.txt +5 -0
- package/i18n/serbian.js +1 -1
- package/i18n/serbian.min.js +1 -1
- package/i18n/serbian.min.js.LICENSE.txt +5 -0
- package/i18n/simplified-chinese.js +1 -1
- package/i18n/simplified-chinese.min.js +1 -1
- package/i18n/simplified-chinese.min.js.LICENSE.txt +5 -0
- package/i18n/slovak.js +1 -1
- package/i18n/slovak.min.js +1 -1
- package/i18n/slovak.min.js.LICENSE.txt +5 -0
- package/i18n/spanish.js +1 -1
- package/i18n/spanish.min.js +1 -1
- package/i18n/spanish.min.js.LICENSE.txt +5 -0
- package/i18n/swahili.js +1 -1
- package/i18n/swahili.min.js +1 -1
- package/i18n/swahili.min.js.LICENSE.txt +5 -0
- package/i18n/swedish.js +1 -1
- package/i18n/swedish.min.js +1 -1
- package/i18n/swedish.min.js.LICENSE.txt +5 -0
- package/i18n/tajik.js +1 -1
- package/i18n/tajik.min.js +1 -1
- package/i18n/tajik.min.js.LICENSE.txt +5 -0
- package/i18n/telugu.js +1 -1
- package/i18n/telugu.min.js +1 -1
- package/i18n/telugu.min.js.LICENSE.txt +5 -0
- package/i18n/thai.js +1 -1
- package/i18n/thai.min.js +1 -1
- package/i18n/thai.min.js.LICENSE.txt +5 -0
- package/i18n/traditional-chinese.js +1 -1
- package/i18n/traditional-chinese.min.js +1 -1
- package/i18n/traditional-chinese.min.js.LICENSE.txt +5 -0
- package/i18n/turkish.js +1 -1
- package/i18n/turkish.min.js +1 -1
- package/i18n/turkish.min.js.LICENSE.txt +5 -0
- package/i18n/ukrainian.js +1 -1
- package/i18n/ukrainian.min.js +1 -1
- package/i18n/ukrainian.min.js.LICENSE.txt +5 -0
- package/i18n/urdu.js +1 -1
- package/i18n/urdu.min.js +1 -1
- package/i18n/urdu.min.js.LICENSE.txt +5 -0
- package/i18n/vietnamese.js +1 -1
- package/i18n/vietnamese.min.js +1 -1
- package/i18n/vietnamese.min.js.LICENSE.txt +5 -0
- package/i18n/welsh.js +1 -1
- package/i18n/welsh.min.js +1 -1
- package/i18n/welsh.min.js.LICENSE.txt +5 -0
- package/icons/iconsV1.js +1 -1
- package/icons/iconsV1.min.js +1 -1
- package/icons/iconsV1.min.js.LICENSE.txt +5 -0
- package/icons/iconsV2.js +1 -1
- package/icons/iconsV2.min.js +1 -1
- package/icons/iconsV2.min.js.LICENSE.txt +5 -0
- package/modern.css +1 -1
- package/modern.fontless.css +1 -1
- package/modern.fontless.min.css +1 -1
- package/modern.min.css +1 -1
- package/package.json +1 -1
- package/plugins/bootstrap-integration/index.js +1 -1
- package/plugins/bootstrap-integration/index.min.js +1 -1
- package/plugins/bootstrap-material-integration/index.js +1 -1
- package/plugins/bootstrap-material-integration/index.min.js +1 -1
- package/survey.core.js +252 -151
- package/survey.core.js.map +1 -1
- package/survey.core.min.js +3 -3
- package/survey.core.min.js.LICENSE.txt +10 -0
- package/survey.css +1 -1
- package/survey.i18n.js +1 -1
- package/survey.i18n.min.js +1 -1
- package/survey.i18n.min.js.LICENSE.txt +5 -0
- package/survey.min.css +1 -1
- package/themes/borderless-dark-panelless.js +1 -1
- package/themes/borderless-dark-panelless.min.js +1 -1
- package/themes/borderless-dark-panelless.min.js.LICENSE.txt +5 -0
- package/themes/borderless-dark.js +1 -1
- package/themes/borderless-dark.min.js +1 -1
- package/themes/borderless-dark.min.js.LICENSE.txt +5 -0
- package/themes/borderless-light-panelless..js +1 -1
- package/themes/borderless-light-panelless..min.js +1 -1
- package/themes/borderless-light-panelless.js +156 -0
- package/themes/borderless-light-panelless.js.map +1 -0
- package/themes/borderless-light-panelless.min.js +2 -0
- package/themes/borderless-light-panelless.min.js.LICENSE.txt +5 -0
- package/themes/borderless-light.js +1 -1
- package/themes/borderless-light.min.js +1 -1
- package/themes/borderless-light.min.js.LICENSE.txt +5 -0
- package/themes/contrast-dark-panelless.js +1 -1
- package/themes/contrast-dark-panelless.min.js +1 -1
- package/themes/contrast-dark-panelless.min.js.LICENSE.txt +5 -0
- package/themes/contrast-dark.js +1 -1
- package/themes/contrast-dark.min.js +1 -1
- package/themes/contrast-dark.min.js.LICENSE.txt +5 -0
- package/themes/contrast-light-panelless.js +1 -1
- package/themes/contrast-light-panelless.min.js +1 -1
- package/themes/contrast-light-panelless.min.js.LICENSE.txt +5 -0
- package/themes/contrast-light.js +1 -1
- package/themes/contrast-light.min.js +1 -1
- package/themes/contrast-light.min.js.LICENSE.txt +5 -0
- package/themes/default-dark-panelless.js +1 -1
- package/themes/default-dark-panelless.min.js +1 -1
- package/themes/default-dark-panelless.min.js.LICENSE.txt +5 -0
- package/themes/default-dark.js +1 -1
- package/themes/default-dark.min.js +1 -1
- package/themes/default-dark.min.js.LICENSE.txt +5 -0
- package/themes/default-light-panelless.js +1 -1
- package/themes/default-light-panelless.min.js +1 -1
- package/themes/default-light-panelless.min.js.LICENSE.txt +5 -0
- package/themes/default-light.js +1 -1
- package/themes/default-light.min.js +1 -1
- package/themes/default-light.min.js.LICENSE.txt +5 -0
- package/themes/doubleborder-dark-panelless.js +1 -1
- package/themes/doubleborder-dark-panelless.min.js +1 -1
- package/themes/doubleborder-dark-panelless.min.js.LICENSE.txt +5 -0
- package/themes/doubleborder-dark.js +1 -1
- package/themes/doubleborder-dark.min.js +1 -1
- package/themes/doubleborder-dark.min.js.LICENSE.txt +5 -0
- package/themes/doubleborder-light-panelles.js +1 -1
- package/themes/doubleborder-light-panelles.min.js +1 -1
- package/themes/doubleborder-light-panelles.min.js.LICENSE.txt +5 -0
- package/themes/doubleborder-light.js +1 -1
- package/themes/doubleborder-light.min.js +1 -1
- package/themes/doubleborder-light.min.js.LICENSE.txt +5 -0
- package/themes/flat-dark-panelless.js +1 -1
- package/themes/flat-dark-panelless.min.js +1 -1
- package/themes/flat-dark-panelless.min.js.LICENSE.txt +5 -0
- package/themes/flat-dark.js +1 -1
- package/themes/flat-dark.min.js +1 -1
- package/themes/flat-dark.min.js.LICENSE.txt +5 -0
- package/themes/flat-light-panelless.js +1 -1
- package/themes/flat-light-panelless.min.js +1 -1
- package/themes/flat-light-panelless.min.js.LICENSE.txt +5 -0
- package/themes/flat-light.js +1 -1
- package/themes/flat-light.min.js +1 -1
- package/themes/flat-light.min.js.LICENSE.txt +5 -0
- package/themes/index.js +1 -1
- package/themes/index.min.js +1 -1
- package/themes/index.min.js.LICENSE.txt +5 -0
- package/themes/layered-dark-panelless.js +1 -1
- package/themes/layered-dark-panelless.min.js +1 -1
- package/themes/layered-dark-panelless.min.js.LICENSE.txt +5 -0
- package/themes/layered-dark.js +1 -1
- package/themes/layered-dark.min.js +1 -1
- package/themes/layered-dark.min.js.LICENSE.txt +5 -0
- package/themes/layered-light-panelless.js +1 -1
- package/themes/layered-light-panelless.min.js +1 -1
- package/themes/layered-light-panelless.min.js.LICENSE.txt +5 -0
- package/themes/layered-light.js +1 -1
- package/themes/layered-light.min.js +1 -1
- package/themes/layered-light.min.js.LICENSE.txt +5 -0
- package/themes/plain-dark-panelless.js +1 -1
- package/themes/plain-dark-panelless.min.js +1 -1
- package/themes/plain-dark-panelless.min.js.LICENSE.txt +5 -0
- package/themes/plain-dark.js +1 -1
- package/themes/plain-dark.min.js +1 -1
- package/themes/plain-dark.min.js.LICENSE.txt +5 -0
- package/themes/plain-light-panelless.js +1 -1
- package/themes/plain-light-panelless.min.js +1 -1
- package/themes/plain-light-panelless.min.js.LICENSE.txt +5 -0
- package/themes/plain-light.js +1 -1
- package/themes/plain-light.min.js +1 -1
- package/themes/plain-light.min.js.LICENSE.txt +5 -0
- package/themes/sharp-dark-panelless.js +1 -1
- package/themes/sharp-dark-panelless.min.js +1 -1
- package/themes/sharp-dark-panelless.min.js.LICENSE.txt +5 -0
- package/themes/sharp-dark.js +1 -1
- package/themes/sharp-dark.min.js +1 -1
- package/themes/sharp-dark.min.js.LICENSE.txt +5 -0
- package/themes/sharp-light-panelless.js +1 -1
- package/themes/sharp-light-panelless.min.js +1 -1
- package/themes/sharp-light-panelless.min.js.LICENSE.txt +5 -0
- package/themes/sharp-light.js +1 -1
- package/themes/sharp-light.min.js +1 -1
- package/themes/sharp-light.min.js.LICENSE.txt +5 -0
- package/themes/solid-dark-panelless.js +1 -1
- package/themes/solid-dark-panelless.min.js +1 -1
- package/themes/solid-dark-panelless.min.js.LICENSE.txt +5 -0
- package/themes/solid-dark.js +1 -1
- package/themes/solid-dark.min.js +1 -1
- package/themes/solid-dark.min.js.LICENSE.txt +5 -0
- package/themes/solid-light-panelless.js +1 -1
- package/themes/solid-light-panelless.min.js +1 -1
- package/themes/solid-light-panelless.min.js.LICENSE.txt +5 -0
- package/themes/solid-light.js +1 -1
- package/themes/solid-light.min.js +1 -1
- package/themes/solid-light.min.js.LICENSE.txt +5 -0
- package/themes/three-dimensional-dark-panelless.js +1 -1
- package/themes/three-dimensional-dark-panelless.min.js +1 -1
- package/themes/three-dimensional-dark-panelless.min.js.LICENSE.txt +5 -0
- package/themes/three-dimensional-dark.js +1 -1
- package/themes/three-dimensional-dark.min.js +1 -1
- package/themes/three-dimensional-dark.min.js.LICENSE.txt +5 -0
- package/themes/three-dimensional-light-panelless.js +1 -1
- package/themes/three-dimensional-light-panelless.min.js +1 -1
- package/themes/three-dimensional-light-panelless.min.js.LICENSE.txt +5 -0
- package/themes/three-dimensional-light.js +1 -1
- package/themes/three-dimensional-light.min.js +1 -1
- package/themes/three-dimensional-light.min.js.LICENSE.txt +5 -0
- package/ts3.4/typings/packages/survey-core/src/base-interfaces.d.ts +1 -0
- package/ts3.4/typings/packages/survey-core/src/defaultCss/defaultV2Css.d.ts +2 -0
- package/ts3.4/typings/packages/survey-core/src/localizablestring.d.ts +1 -1
- package/ts3.4/typings/packages/survey-core/src/panel.d.ts +2 -1
- package/ts3.4/typings/packages/survey-core/src/question_custom.d.ts +3 -0
- package/ts3.4/typings/packages/survey-core/src/question_paneldynamic.d.ts +14 -6
- package/ts3.4/typings/packages/survey-core/src/survey-events-api.d.ts +17 -6
- package/ts3.4/typings/packages/survey-core/src/survey.d.ts +11 -6
- package/ts3.4/typings/packages/survey-core/src/textPreProcessor.d.ts +5 -2
- package/typings/entries/chunks/core-wo-model.d.ts +10 -0
- package/typings/entries/chunks/model.d.ts +95 -95
- package/typings/entries/index.d.ts +2 -0
- package/typings/packages/survey-core/src/base-interfaces.d.ts +1 -0
- package/typings/packages/survey-core/src/defaultCss/defaultV2Css.d.ts +2 -0
- package/typings/packages/survey-core/src/localizablestring.d.ts +1 -1
- package/typings/packages/survey-core/src/panel.d.ts +2 -1
- package/typings/packages/survey-core/src/question_custom.d.ts +3 -0
- package/typings/packages/survey-core/src/question_paneldynamic.d.ts +14 -6
- package/typings/packages/survey-core/src/survey-events-api.d.ts +17 -6
- package/typings/packages/survey-core/src/survey.d.ts +11 -6
- package/typings/packages/survey-core/src/textPreProcessor.d.ts +5 -2
- package/typings/src/actions/action.d.ts +300 -0
- package/typings/src/actions/adaptive-container.d.ts +29 -0
- package/typings/src/actions/container.d.ts +59 -0
- package/typings/src/base-interfaces.d.ts +366 -0
- package/typings/src/base.d.ts +333 -0
- package/typings/src/calculatedValue.d.ts +49 -0
- package/typings/src/choicesRestful.d.ts +177 -0
- package/typings/src/conditionProcessValue.d.ts +25 -0
- package/typings/src/conditions.d.ts +98 -0
- package/typings/src/conditionsParser.d.ts +14 -0
- package/typings/src/console-warnings.d.ts +6 -0
- package/typings/src/defaultCss/defaultCss.d.ts +873 -0
- package/typings/src/defaultTitle.d.ts +3 -0
- package/typings/src/dragdrop/choices.d.ts +21 -0
- package/typings/src/dragdrop/core.d.ts +55 -0
- package/typings/src/dragdrop/dom-adapter.d.ts +49 -0
- package/typings/src/dragdrop/engine.d.ts +6 -0
- package/typings/src/dragdrop/matrix-rows.d.ts +19 -0
- package/typings/src/dragdrop/ranking-choices.d.ts +26 -0
- package/typings/src/dragdrop/ranking-select-to-rank.d.ts +17 -0
- package/typings/src/dropdownListModel.d.ts +97 -0
- package/typings/src/dropdownMultiSelectListModel.d.ts +37 -0
- package/typings/src/dxSurveyService.d.ts +18 -0
- package/typings/src/element-helper.d.ts +8 -0
- package/typings/src/error.d.ts +81 -0
- package/typings/src/expressionItems.d.ts +57 -0
- package/typings/src/expressions/expressionParser.d.ts +54 -0
- package/typings/src/expressions/expressions.d.ts +135 -0
- package/typings/src/flowpanel.d.ts +34 -0
- package/typings/src/functionsfactory.d.ts +14 -0
- package/typings/src/global_variables_utils.d.ts +30 -0
- package/typings/src/header.d.ts +87 -0
- package/typings/src/helpers.d.ts +44 -0
- package/typings/src/itemvalue.d.ts +93 -0
- package/typings/src/jsonobject.d.ts +378 -0
- package/typings/src/list.d.ts +144 -0
- package/typings/src/localizablestring.d.ts +125 -0
- package/typings/src/localization/english.d.ts +109 -0
- package/typings/src/martixBase.d.ts +133 -0
- package/typings/src/mask/input_element_adapter.d.ts +16 -0
- package/typings/src/mask/mask_base.d.ts +29 -0
- package/typings/src/mask/mask_currency.d.ts +41 -0
- package/typings/src/mask/mask_datetime.d.ts +91 -0
- package/typings/src/mask/mask_numeric.d.ts +90 -0
- package/typings/src/mask/mask_pattern.d.ts +78 -0
- package/typings/src/mask/mask_utils.d.ts +20 -0
- package/typings/src/multiSelectListModel.d.ts +17 -0
- package/typings/src/notifier.d.ts +30 -0
- package/typings/src/page.d.ts +133 -0
- package/typings/src/panel-layout-column.d.ts +9 -0
- package/typings/src/panel.d.ts +633 -0
- package/typings/src/popup-dropdown-view-model.d.ts +35 -0
- package/typings/src/popup-modal-view-model.d.ts +16 -0
- package/typings/src/popup-survey.d.ts +132 -0
- package/typings/src/popup-utils.d.ts +4 -0
- package/typings/src/popup-view-model.d.ts +81 -0
- package/typings/src/popup.d.ts +66 -0
- package/typings/src/progress-buttons.d.ts +44 -0
- package/typings/src/question.d.ts +949 -0
- package/typings/src/questionCustomWidgets.d.ts +46 -0
- package/typings/src/question_baseselect.d.ts +547 -0
- package/typings/src/question_boolean.d.ts +116 -0
- package/typings/src/question_buttongroup.d.ts +51 -0
- package/typings/src/question_checkbox.d.ts +158 -0
- package/typings/src/question_comment.d.ts +59 -0
- package/typings/src/question_custom.d.ts +454 -0
- package/typings/src/question_dropdown.d.ts +156 -0
- package/typings/src/question_empty.d.ts +8 -0
- package/typings/src/question_expression.d.ts +110 -0
- package/typings/src/question_file.d.ts +303 -0
- package/typings/src/question_html.d.ts +26 -0
- package/typings/src/question_image.d.ts +86 -0
- package/typings/src/question_imagepicker.d.ts +168 -0
- package/typings/src/question_matrix.d.ts +198 -0
- package/typings/src/question_matrixdropdown.d.ts +56 -0
- package/typings/src/question_matrixdropdownbase.d.ts +572 -0
- package/typings/src/question_matrixdropdowncolumn.d.ts +344 -0
- package/typings/src/question_matrixdropdownrendered.d.ts +171 -0
- package/typings/src/question_matrixdynamic.d.ts +299 -0
- package/typings/src/question_multipletext.d.ts +361 -0
- package/typings/src/question_paneldynamic.d.ts +719 -0
- package/typings/src/question_radiogroup.d.ts +40 -0
- package/typings/src/question_ranking.d.ts +135 -0
- package/typings/src/question_rating.d.ts +300 -0
- package/typings/src/question_signaturepad.d.ts +149 -0
- package/typings/src/question_tagbox.d.ts +98 -0
- package/typings/src/question_text.d.ts +206 -0
- package/typings/src/question_textbase.d.ts +62 -0
- package/typings/src/questionfactory.d.ts +27 -0
- package/typings/src/questionnonvalue.d.ts +22 -0
- package/typings/src/rendererFactory.d.ts +11 -0
- package/typings/src/settings.d.ts +641 -0
- package/typings/src/survey-element.d.ts +471 -0
- package/typings/src/survey-error.d.ts +18 -0
- package/typings/src/survey-events-api.d.ts +1152 -0
- package/typings/src/survey.d.ts +3126 -0
- package/typings/src/surveyProgress.d.ts +4 -0
- package/typings/src/surveyStrings.d.ts +151 -0
- package/typings/src/surveyTaskManager.d.ts +16 -0
- package/typings/src/surveyTimerModel.d.ts +47 -0
- package/typings/src/surveyToc.d.ts +23 -0
- package/typings/src/surveytimer.d.ts +22 -0
- package/typings/src/svgbundle.d.ts +23 -0
- package/typings/src/template-renderer.d.ts +10 -0
- package/typings/src/textPreProcessor.d.ts +43 -0
- package/typings/src/themes.d.ts +222 -0
- package/typings/src/trigger.d.ts +155 -0
- package/typings/src/utils/animation.d.ts +91 -0
- package/typings/src/utils/camera.d.ts +27 -0
- package/typings/src/utils/cssClassBuilder.d.ts +6 -0
- package/typings/src/utils/devices.d.ts +12 -0
- package/typings/src/utils/dragOrClickHelper.d.ts +16 -0
- package/typings/src/utils/popup.d.ts +45 -0
- package/typings/src/utils/responsivity-manager.d.ts +31 -0
- package/typings/src/utils/taskmanager.d.ts +28 -0
- package/typings/src/utils/text-area.d.ts +58 -0
- package/typings/src/utils/utils.d.ts +86 -0
- package/typings/src/validator.d.ts +204 -0
|
@@ -0,0 +1,949 @@
|
|
|
1
|
+
import { HashTable } from "./helpers";
|
|
2
|
+
import { EventBase } from "./base";
|
|
3
|
+
import { IElement, IQuestion, IPanel, IConditionRunner, ISurveyImpl, IPage, ITitleOwner, IProgressInfo, ISurvey, IPlainDataOptions, IDropdownMenuOptions } from "./base-interfaces";
|
|
4
|
+
import { SurveyElement } from "./survey-element";
|
|
5
|
+
import { SurveyValidator, IValidatorOwner } from "./validator";
|
|
6
|
+
import { TextPreProcessorValue } from "./textPreProcessor";
|
|
7
|
+
import { LocalizableString } from "./localizablestring";
|
|
8
|
+
import { ExpressionRunner } from "./conditions";
|
|
9
|
+
import { QuestionCustomWidget } from "./questionCustomWidgets";
|
|
10
|
+
import { SurveyError } from "./survey-error";
|
|
11
|
+
import { PopupModel } from "./popup";
|
|
12
|
+
import { ITheme } from "./themes";
|
|
13
|
+
import { TextAreaModel } from "./utils/text-area";
|
|
14
|
+
export interface IConditionObject {
|
|
15
|
+
name: string;
|
|
16
|
+
text: string;
|
|
17
|
+
question: Question;
|
|
18
|
+
context?: Question;
|
|
19
|
+
}
|
|
20
|
+
export interface IQuestionPlainData {
|
|
21
|
+
name: string | number;
|
|
22
|
+
title: string;
|
|
23
|
+
value: any;
|
|
24
|
+
displayValue: any;
|
|
25
|
+
isNode: boolean;
|
|
26
|
+
isComment?: boolean;
|
|
27
|
+
questionType?: string;
|
|
28
|
+
data?: Array<IQuestionPlainData>;
|
|
29
|
+
getString: (val: any) => string;
|
|
30
|
+
[key: string]: any;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* A base class for all questions.
|
|
34
|
+
*/
|
|
35
|
+
export declare class Question extends SurveyElement<Question> implements IQuestion, IConditionRunner, IValidatorOwner, ITitleOwner {
|
|
36
|
+
[index: string]: any;
|
|
37
|
+
private static TextPreprocessorValuesMap;
|
|
38
|
+
private static questionCounter;
|
|
39
|
+
private static getQuestionId;
|
|
40
|
+
private isCustomWidgetRequested;
|
|
41
|
+
private customWidgetValue;
|
|
42
|
+
customWidgetData: {
|
|
43
|
+
isNeedRender: boolean;
|
|
44
|
+
};
|
|
45
|
+
focusCallback: () => void;
|
|
46
|
+
surveyLoadCallback: () => void;
|
|
47
|
+
displayValueCallback: (text: string) => string;
|
|
48
|
+
hasCssErrorCallback: () => boolean;
|
|
49
|
+
private defaultValueRunner;
|
|
50
|
+
private isChangingViaDefaultValue;
|
|
51
|
+
private isValueChangedDirectly;
|
|
52
|
+
valueChangedCallback: () => void;
|
|
53
|
+
commentChangedCallback: () => void;
|
|
54
|
+
localeChangedCallback: () => void;
|
|
55
|
+
validateValueCallback: () => SurveyError;
|
|
56
|
+
questionTitleTemplateCallback: () => string;
|
|
57
|
+
afterRenderQuestionCallback: (question: Question, element: any) => any;
|
|
58
|
+
valueFromDataCallback: (val: any) => any;
|
|
59
|
+
valueToDataCallback: (val: any) => any;
|
|
60
|
+
onUpdateCssClassesCallback: (css: any) => void;
|
|
61
|
+
setValueChangedDirectlyCallback: (val: boolean) => void;
|
|
62
|
+
onGetSurvey: () => ISurvey;
|
|
63
|
+
private locProcessedTitle;
|
|
64
|
+
private isReadyValue;
|
|
65
|
+
private commentElements;
|
|
66
|
+
private dependedQuestions;
|
|
67
|
+
private commentTextAreaModelValue;
|
|
68
|
+
/**
|
|
69
|
+
* An event that is raised when the question's ready state has changed (expressions are evaluated, choices are loaded from a web resource specified by the `choicesByUrl` property, etc.).
|
|
70
|
+
*
|
|
71
|
+
* Parameters:
|
|
72
|
+
*
|
|
73
|
+
* - `sender`: `SurveyModel`\
|
|
74
|
+
* A survey instance that contains the question whose ready state has changed.
|
|
75
|
+
* - `options.isReady`: `boolean`\
|
|
76
|
+
* Indicates whether the question is ready.
|
|
77
|
+
* - `options.oldIsReady`: `boolean`\
|
|
78
|
+
* Indicates the previous ready state.
|
|
79
|
+
*/
|
|
80
|
+
onReadyChanged: EventBase<Question>;
|
|
81
|
+
isReadOnlyRenderDiv(): boolean;
|
|
82
|
+
protected allowMobileInDesignMode(): boolean;
|
|
83
|
+
updateIsMobileFromSurvey(): void;
|
|
84
|
+
setIsMobile(val: boolean): void;
|
|
85
|
+
protected getIsMobile(): boolean;
|
|
86
|
+
get isMobile(): boolean;
|
|
87
|
+
set isMobile(val: boolean);
|
|
88
|
+
themeChanged(theme: ITheme): void;
|
|
89
|
+
private _isMobile;
|
|
90
|
+
forceIsInputReadOnly: boolean;
|
|
91
|
+
ariaExpanded: "true" | "false";
|
|
92
|
+
constructor(name: string);
|
|
93
|
+
protected getDefaultTitle(): string;
|
|
94
|
+
protected createLocTitleProperty(): LocalizableString;
|
|
95
|
+
get commentTextAreaModel(): TextAreaModel;
|
|
96
|
+
private getCommentTextAreaOptions;
|
|
97
|
+
getSurvey(live?: boolean): ISurvey;
|
|
98
|
+
getValueName(): string;
|
|
99
|
+
/**
|
|
100
|
+
* Specifies an object property that should store the question value.
|
|
101
|
+
*
|
|
102
|
+
* Refer to the [Merge Question Values](https://surveyjs.io/form-library/documentation/design-survey-merge-question-values) help topic for more information.
|
|
103
|
+
*/
|
|
104
|
+
get valueName(): string;
|
|
105
|
+
set valueName(val: string);
|
|
106
|
+
protected onValueNameChanged(oldValue: string): void;
|
|
107
|
+
protected onNameChanged(oldValue: string): void;
|
|
108
|
+
get isReady(): boolean;
|
|
109
|
+
protected onAsyncRunningChanged(): void;
|
|
110
|
+
protected updateIsReady(): void;
|
|
111
|
+
protected getIsQuestionReady(): boolean;
|
|
112
|
+
private getAreNestedQuestionsReady;
|
|
113
|
+
protected getIsReadyNestedQuestions(): Array<Question>;
|
|
114
|
+
private setIsReady;
|
|
115
|
+
protected getIsReadyDependsOn(): Array<Question>;
|
|
116
|
+
private getIsReadyDependends;
|
|
117
|
+
private getIsReadyDependendCore;
|
|
118
|
+
choicesLoaded(): void;
|
|
119
|
+
/**
|
|
120
|
+
* Returns a page to which the question belongs and allows you to move this question to a different page.
|
|
121
|
+
*/
|
|
122
|
+
get page(): IPage;
|
|
123
|
+
set page(val: IPage);
|
|
124
|
+
getPanel(): IPanel;
|
|
125
|
+
delete(doDispose?: boolean): void;
|
|
126
|
+
protected removeFromParent(): void;
|
|
127
|
+
protected addDependedQuestion(question: Question): void;
|
|
128
|
+
protected removeDependedQuestion(question: Question): void;
|
|
129
|
+
protected updateDependedQuestions(): void;
|
|
130
|
+
protected updateDependedQuestion(): void;
|
|
131
|
+
protected resetDependedQuestion(): void;
|
|
132
|
+
get isFlowLayout(): boolean;
|
|
133
|
+
getLayoutType(): string;
|
|
134
|
+
isLayoutTypeSupported(layoutType: string): boolean;
|
|
135
|
+
/**
|
|
136
|
+
* Gets or sets question visibility.
|
|
137
|
+
*
|
|
138
|
+
* If you want to display or hide a question based on a condition, specify the [`visibleIf`](https://surveyjs.io/form-library/documentation/question#visibleIf) property. Refer to the following help topic for information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
|
|
139
|
+
* @see isVisible
|
|
140
|
+
* @see visibleIf
|
|
141
|
+
*/
|
|
142
|
+
get visible(): boolean;
|
|
143
|
+
set visible(val: boolean);
|
|
144
|
+
protected onVisibleChanged(): void;
|
|
145
|
+
protected notifyStateChanged(prevState: string): void;
|
|
146
|
+
updateElementVisibility(): void;
|
|
147
|
+
private updateIsVisibleProp;
|
|
148
|
+
/**
|
|
149
|
+
* Specifies whether to use display names for question values in placeholders.
|
|
150
|
+
*
|
|
151
|
+
* Default value: `true`
|
|
152
|
+
*
|
|
153
|
+
* This property applies to questions whose values are defined as objects with the `value` and `text` properties (for example, [choice items](https://surveyjs.io/form-library/documentation/questionradiogroupmodel#choices) in Radiogroup, Checkbox, and Dropdown questions).
|
|
154
|
+
*
|
|
155
|
+
* You can use question values as placeholders in the following places:
|
|
156
|
+
*
|
|
157
|
+
* - Survey element titles and descriptions
|
|
158
|
+
* - The [`html`](https://surveyjs.io/form-library/documentation/questionhtmlmodel#html) property of the [HTML](https://surveyjs.io/form-library/documentation/questionhtmlmodel) question
|
|
159
|
+
*
|
|
160
|
+
* To use a question value as a placeholder, specify the question `name` in curly brackets: `{questionName}`. Refer to the following help topic for more information: [Dynamic Texts - Question Values](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#question-values).
|
|
161
|
+
*/
|
|
162
|
+
get useDisplayValuesInDynamicTexts(): boolean;
|
|
163
|
+
set useDisplayValuesInDynamicTexts(val: boolean);
|
|
164
|
+
protected getUseDisplayValuesInDynamicTexts(): boolean;
|
|
165
|
+
/**
|
|
166
|
+
* A Boolean expression. If it evaluates to `false`, this question becomes hidden.
|
|
167
|
+
*
|
|
168
|
+
* A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
|
|
169
|
+
*
|
|
170
|
+
* Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
|
|
171
|
+
* @see visible
|
|
172
|
+
* @see isVisible
|
|
173
|
+
*/
|
|
174
|
+
get visibleIf(): string;
|
|
175
|
+
set visibleIf(val: string);
|
|
176
|
+
/**
|
|
177
|
+
* Returns `true` if the question is visible or the survey is currently in design mode.
|
|
178
|
+
*
|
|
179
|
+
* If you want to display or hide a question based on a condition, specify the [`visibleIf`](https://surveyjs.io/form-library/documentation/question#visibleIf) property. Refer to the following help topic for information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
|
|
180
|
+
* @see visibleIf
|
|
181
|
+
* @see visible
|
|
182
|
+
* @see isParentVisible
|
|
183
|
+
*/
|
|
184
|
+
get isVisible(): boolean;
|
|
185
|
+
get isVisibleInSurvey(): boolean;
|
|
186
|
+
protected isVisibleCore(): boolean;
|
|
187
|
+
/**
|
|
188
|
+
* Returns the visible index of the question in the survey. It can be from 0 to all visible questions count - 1
|
|
189
|
+
* The visibleIndex is -1 if the title is 'hidden' or showNumber is false
|
|
190
|
+
* @see titleLocation
|
|
191
|
+
* @see showNumber
|
|
192
|
+
*/
|
|
193
|
+
get visibleIndex(): number;
|
|
194
|
+
onHidingContent(): void;
|
|
195
|
+
/**
|
|
196
|
+
* Specifies whether to show a number for this question. Setting this property to `false` hides the question number from the title and excludes the question from numbering.
|
|
197
|
+
*
|
|
198
|
+
* Default value: `false` (inherited from the `SurveyModel`'s [`showQuestionNumbers`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showQuestionNumbers) property)
|
|
199
|
+
* @see no
|
|
200
|
+
*/
|
|
201
|
+
get showNumber(): boolean;
|
|
202
|
+
set showNumber(val: boolean);
|
|
203
|
+
/**
|
|
204
|
+
* @deprecated Use the [`showNumber`](https://surveyjs.io/form-library/documentation/api-reference/question#showNumber) property instead.
|
|
205
|
+
*/
|
|
206
|
+
get hideNumber(): boolean;
|
|
207
|
+
set hideNumber(val: boolean);
|
|
208
|
+
/**
|
|
209
|
+
* Returns `true` if the question can display its title to the left of the input field.
|
|
210
|
+
* @see titleLocation
|
|
211
|
+
* @see getTitleLocation
|
|
212
|
+
* @see hasTitle
|
|
213
|
+
*/
|
|
214
|
+
get isAllowTitleLeft(): boolean;
|
|
215
|
+
/**
|
|
216
|
+
* Returns the question type.
|
|
217
|
+
* Possible values:
|
|
218
|
+
* - [*"boolean"*](https://surveyjs.io/Documentation/Library?id=questionbooleanmodel)
|
|
219
|
+
* - [*"checkbox"*](https://surveyjs.io/Documentation/Library?id=questioncheckboxmodel)
|
|
220
|
+
* - [*"comment"*](https://surveyjs.io/Documentation/Library?id=questioncommentmodel)
|
|
221
|
+
* - [*"dropdown"*](https://surveyjs.io/Documentation/Library?id=questiondropdownmodel)
|
|
222
|
+
* - [*"tagbox"*](https://surveyjs.io/form-library/documentation/questiontagboxmodel)
|
|
223
|
+
* - [*"expression"*](https://surveyjs.io/Documentation/Library?id=questionexpressionmodel)
|
|
224
|
+
* - [*"file"*](https://surveyjs.io/Documentation/Library?id=questionfilemodel)
|
|
225
|
+
* - [*"html"*](https://surveyjs.io/Documentation/Library?id=questionhtmlmodel)
|
|
226
|
+
* - [*"image"*](https://surveyjs.io/Documentation/Library?id=questionimagemodel)
|
|
227
|
+
* - [*"imagepicker"*](https://surveyjs.io/Documentation/Library?id=questionimagepickermodel)
|
|
228
|
+
* - [*"matrix"*](https://surveyjs.io/Documentation/Library?id=questionmatrixmodel)
|
|
229
|
+
* - [*"matrixdropdown"*](https://surveyjs.io/Documentation/Library?id=questionmatrixdropdownmodel)
|
|
230
|
+
* - [*"matrixdynamic"*](https://surveyjs.io/Documentation/Library?id=questionmatrixdynamicmodel)
|
|
231
|
+
* - [*"multipletext"*](https://surveyjs.io/Documentation/Library?id=questionmultipletextmodel)
|
|
232
|
+
* - [*"panel"*](https://surveyjs.io/Documentation/Library?id=panelmodel)
|
|
233
|
+
* - [*"paneldynamic"*](https://surveyjs.io/Documentation/Library?id=questionpaneldynamicmodel)
|
|
234
|
+
* - [*"radiogroup"*](https://surveyjs.io/Documentation/Library?id=questionradiogroupmodel)
|
|
235
|
+
* - [*"rating"*](https://surveyjs.io/Documentation/Library?id=questionratingmodel)
|
|
236
|
+
* - [*"ranking"*](https://surveyjs.io/Documentation/Library?id=questionrankingmodel)
|
|
237
|
+
* - [*"signaturepad"*](https://surveyjs.io/Documentation/Library?id=questionsignaturepadmodel)
|
|
238
|
+
* - [*"text"*](https://surveyjs.io/Documentation/Library?id=questiontextmodel)
|
|
239
|
+
*/
|
|
240
|
+
getType(): string;
|
|
241
|
+
get isQuestion(): boolean;
|
|
242
|
+
moveTo(container: IPanel, insertBefore?: any): boolean;
|
|
243
|
+
getProgressInfo(): IProgressInfo;
|
|
244
|
+
private setValueExpressionRunner;
|
|
245
|
+
private ensureSetValueExpressionRunner;
|
|
246
|
+
private runSetValueExpression;
|
|
247
|
+
private checkExpressionIf;
|
|
248
|
+
private triggersInfo;
|
|
249
|
+
private addTriggerInfo;
|
|
250
|
+
private runTriggerInfo;
|
|
251
|
+
private canExecuteTriggerByKeys;
|
|
252
|
+
runTriggers(name: string, value: any, keys?: any): void;
|
|
253
|
+
private runConditions;
|
|
254
|
+
setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
|
|
255
|
+
/**
|
|
256
|
+
* Returns a survey element (panel or page) that contains the question and allows you to move this question to a different survey element.
|
|
257
|
+
*/
|
|
258
|
+
get parent(): IPanel;
|
|
259
|
+
set parent(val: IPanel);
|
|
260
|
+
protected onParentChanged(): void;
|
|
261
|
+
/**
|
|
262
|
+
* Returns `false` if the `titleLocation` property is set to `"hidden"` or if the question cannot have a title (for example, an [HTML](https://surveyjs.io/form-library/documentation/questionhtmlmodel) question).
|
|
263
|
+
*
|
|
264
|
+
* If the `title` property is `undefined` or set to an empty string, the `hasTitle` property returns `true`, because the question uses its `name` as a title in this case.
|
|
265
|
+
* @see title
|
|
266
|
+
* @see titleLocation
|
|
267
|
+
*/
|
|
268
|
+
get hasTitle(): boolean;
|
|
269
|
+
/**
|
|
270
|
+
* Sets question title location relative to the input field. Overrides the `questionTitleLocation` property specified for the question's container (survey, page, or panel).
|
|
271
|
+
*
|
|
272
|
+
* Possible values:
|
|
273
|
+
*
|
|
274
|
+
* - `"default"` (default) - Inherits the setting from the `questionTitleLocation` property specified for the question's container.
|
|
275
|
+
* - `"top"` - Displays the title above the input field.
|
|
276
|
+
* - `"bottom"` - Displays the title below the input field.
|
|
277
|
+
* - `"left"` - Displays the title to the left of the input field.
|
|
278
|
+
* - `"hidden"` - Hides the question title.
|
|
279
|
+
*
|
|
280
|
+
* > Certain question types (Matrix, Multiple Text) do not support the `"left"` value. For them, the `"top"` value is used.
|
|
281
|
+
* @see SurveyModel.questionTitleLocation
|
|
282
|
+
* @see getTitleLocation
|
|
283
|
+
* @see isAllowTitleLeft
|
|
284
|
+
*/
|
|
285
|
+
get titleLocation(): string;
|
|
286
|
+
set titleLocation(value: string);
|
|
287
|
+
getTitleOwner(): ITitleOwner;
|
|
288
|
+
protected getIsTitleRenderedAsString(): boolean;
|
|
289
|
+
protected notifySurveyOnChildrenVisibilityChanged(): boolean;
|
|
290
|
+
private notifySurveyVisibilityChanged;
|
|
291
|
+
protected clearValueOnHidding(isClearOnHidden: boolean): void;
|
|
292
|
+
get titleWidth(): string;
|
|
293
|
+
getPercentQuestionTitleWidth(): number;
|
|
294
|
+
/**
|
|
295
|
+
* Returns title location calculated based on the question's `titleLocation` property and the `questionTitleLocation` property of the question's containers (survey, page, or panel).
|
|
296
|
+
* @see titleLocation
|
|
297
|
+
* @see SurveyModel.questionTitleLocation
|
|
298
|
+
*/
|
|
299
|
+
getTitleLocation(): string;
|
|
300
|
+
protected getTitleLocationCore(): string;
|
|
301
|
+
get hasTitleOnLeft(): boolean;
|
|
302
|
+
get hasTitleOnTop(): boolean;
|
|
303
|
+
get hasTitleOnBottom(): boolean;
|
|
304
|
+
get hasTitleOnLeftTop(): boolean;
|
|
305
|
+
/**
|
|
306
|
+
* Specifies the error message position. Overrides the `questionErrorLocation` property specified for the question's container ([survey](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#questionErrorLocation), [page](https://surveyjs.io/form-library/documentation/api-reference/page-model#questionErrorLocation), or [panel](https://surveyjs.io/form-library/documentation/api-reference/panel-model#questionErrorLocation)).
|
|
307
|
+
*
|
|
308
|
+
* Possible values:
|
|
309
|
+
*
|
|
310
|
+
* - `"default"` (default) - Inherits the setting from the `questionErrorLocation` property specified for the question's container.
|
|
311
|
+
* - `"top"` - Displays error messages above questions.
|
|
312
|
+
* - `"bottom"` - Displays error messages below questions.
|
|
313
|
+
*/
|
|
314
|
+
get errorLocation(): string;
|
|
315
|
+
set errorLocation(val: string);
|
|
316
|
+
getErrorLocation(): string;
|
|
317
|
+
getChildErrorLocation(child: Question): string;
|
|
318
|
+
/**
|
|
319
|
+
* Returns `false` if the question has no input fields ([HTML](https://surveyjs.io/form-library/documentation/questionhtmlmodel), [Image](https://surveyjs.io/form-library/documentation/questionimagemodel), and similar question types).
|
|
320
|
+
* @see hasSingleInput
|
|
321
|
+
*/
|
|
322
|
+
get hasInput(): boolean;
|
|
323
|
+
/**
|
|
324
|
+
* Returns `false` if the question has no input fields ([HTML](https://surveyjs.io/form-library/documentation/questionhtmlmodel), [Image](https://surveyjs.io/form-library/documentation/questionimagemodel)) or has multiple input fields ([Matrix](https://surveyjs.io/form-library/documentation/questionmatrixmodel), [Multiple Text](https://surveyjs.io/form-library/documentation/questionmultipletextmodel)).
|
|
325
|
+
* @see hasInput
|
|
326
|
+
*/
|
|
327
|
+
get hasSingleInput(): boolean;
|
|
328
|
+
get inputId(): string;
|
|
329
|
+
protected getDefaultTitleValue(): string;
|
|
330
|
+
protected getDefaultTitleTagName(): string;
|
|
331
|
+
/**
|
|
332
|
+
* Specifies where to display a question description.
|
|
333
|
+
*
|
|
334
|
+
* Possible values:
|
|
335
|
+
*
|
|
336
|
+
* - `"default"` (default) - Inherits the setting from the Survey's [`questionDescriptionLocation`](https://surveyjs.io/form-library/documentation/surveymodel#questionDescriptionLocation) property.
|
|
337
|
+
* - `"underTitle"` - Displays the description under the question title.
|
|
338
|
+
* - `"underInput"` - Displays the description under the interactive area.
|
|
339
|
+
* @see description
|
|
340
|
+
* @see hasDescription
|
|
341
|
+
*/
|
|
342
|
+
get descriptionLocation(): string;
|
|
343
|
+
set descriptionLocation(val: string);
|
|
344
|
+
get hasDescriptionUnderTitle(): boolean;
|
|
345
|
+
get hasDescriptionUnderInput(): boolean;
|
|
346
|
+
private getDescriptionLocation;
|
|
347
|
+
protected needClickTitleFunction(): boolean;
|
|
348
|
+
protected processTitleClick(): boolean;
|
|
349
|
+
/**
|
|
350
|
+
* Specifies a custom error message for a required form field.
|
|
351
|
+
* @see isRequired
|
|
352
|
+
*/
|
|
353
|
+
get requiredErrorText(): string;
|
|
354
|
+
set requiredErrorText(val: string);
|
|
355
|
+
get locRequiredErrorText(): LocalizableString;
|
|
356
|
+
/**
|
|
357
|
+
* Specifies a caption displayed above the comment area. Applies when the `showCommentArea` property is `true`.
|
|
358
|
+
* @see showCommentArea
|
|
359
|
+
* @see comment
|
|
360
|
+
*/
|
|
361
|
+
get commentText(): string;
|
|
362
|
+
set commentText(val: string);
|
|
363
|
+
get locCommentText(): LocalizableString;
|
|
364
|
+
/**
|
|
365
|
+
* A placeholder for the comment area. Applies when the `showCommentArea` property is `true`.
|
|
366
|
+
* @see showCommentArea
|
|
367
|
+
* @see comment
|
|
368
|
+
* @see commentText
|
|
369
|
+
*/
|
|
370
|
+
commentPlaceholder: string;
|
|
371
|
+
get commentPlaceHolder(): string;
|
|
372
|
+
set commentPlaceHolder(newValue: string);
|
|
373
|
+
get renderedCommentPlaceholder(): string;
|
|
374
|
+
private resetRenderedCommentPlaceholder;
|
|
375
|
+
getAllErrors(): Array<SurveyError>;
|
|
376
|
+
getErrorByType(errorType: string): SurveyError;
|
|
377
|
+
get customWidget(): QuestionCustomWidget;
|
|
378
|
+
updateCustomWidget(): void;
|
|
379
|
+
localeChanged(): void;
|
|
380
|
+
get isCompositeQuestion(): boolean;
|
|
381
|
+
get isContainer(): boolean;
|
|
382
|
+
protected updateCommentElements(): void;
|
|
383
|
+
onCommentInput(event: any): void;
|
|
384
|
+
onCommentChange(event: any): void;
|
|
385
|
+
afterRenderQuestionElement(el: HTMLElement): void;
|
|
386
|
+
afterRender(el: HTMLElement): void;
|
|
387
|
+
afterRenderCore(element: HTMLElement): void;
|
|
388
|
+
protected getCommentElementsId(): Array<string>;
|
|
389
|
+
beforeDestroyQuestionElement(el: HTMLElement): void;
|
|
390
|
+
get processedTitle(): string;
|
|
391
|
+
get fullTitle(): string;
|
|
392
|
+
protected get titlePattern(): string;
|
|
393
|
+
get isRequireTextOnStart(): boolean;
|
|
394
|
+
get isRequireTextBeforeTitle(): boolean;
|
|
395
|
+
get isRequireTextAfterTitle(): boolean;
|
|
396
|
+
/**
|
|
397
|
+
* Disable this property if you want to render the current question on the same line or row with the previous question or panel.
|
|
398
|
+
*/
|
|
399
|
+
get startWithNewLine(): boolean;
|
|
400
|
+
set startWithNewLine(val: boolean);
|
|
401
|
+
protected calcCssClasses(css: any): any;
|
|
402
|
+
protected onCalcCssClasses(classes: any): void;
|
|
403
|
+
get cssRoot(): string;
|
|
404
|
+
protected setCssRoot(val: string): void;
|
|
405
|
+
protected getCssRoot(cssClasses: {
|
|
406
|
+
[index: string]: string;
|
|
407
|
+
}): string;
|
|
408
|
+
get cssHeader(): string;
|
|
409
|
+
protected setCssHeader(val: string): void;
|
|
410
|
+
protected getCssHeader(cssClasses: any): string;
|
|
411
|
+
protected supportContainerQueries(): boolean;
|
|
412
|
+
get cssContent(): string;
|
|
413
|
+
protected setCssContent(val: string): void;
|
|
414
|
+
protected getCssContent(cssClasses: any): string;
|
|
415
|
+
get cssTitle(): string;
|
|
416
|
+
protected setCssTitle(val: string): void;
|
|
417
|
+
protected getCssTitle(cssClasses: any): string;
|
|
418
|
+
get cssDescription(): string;
|
|
419
|
+
protected setCssDescription(val: string): void;
|
|
420
|
+
protected getCssDescription(cssClasses: any): string;
|
|
421
|
+
showErrorOnCore(location: string): boolean;
|
|
422
|
+
get showErrorOnTop(): boolean;
|
|
423
|
+
get showErrorOnBottom(): boolean;
|
|
424
|
+
private get showErrorsOutsideQuestion();
|
|
425
|
+
get showErrorsAboveQuestion(): boolean;
|
|
426
|
+
get showErrorsBelowQuestion(): boolean;
|
|
427
|
+
get cssError(): string;
|
|
428
|
+
protected setCssError(val: string): void;
|
|
429
|
+
protected getCssError(cssClasses: any): string;
|
|
430
|
+
protected hasCssError(): boolean;
|
|
431
|
+
getRootCss(): string;
|
|
432
|
+
getQuestionRootCss(): string;
|
|
433
|
+
private isRequireUpdateElements;
|
|
434
|
+
updateElementCss(reNew?: boolean): void;
|
|
435
|
+
protected onFirstRenderingCore(): void;
|
|
436
|
+
protected updateQuestionCss(reNew?: boolean): void;
|
|
437
|
+
private ensureElementCss;
|
|
438
|
+
protected updateElementCssCore(cssClasses: any): void;
|
|
439
|
+
protected updateCssClasses(res: any, css: any): void;
|
|
440
|
+
protected getCssType(): string;
|
|
441
|
+
get renderCssRoot(): string;
|
|
442
|
+
protected calcPaddingLeft(): string;
|
|
443
|
+
protected calcPaddingRight(): string;
|
|
444
|
+
private getIndentSize;
|
|
445
|
+
/**
|
|
446
|
+
* Moves focus to the input field of this question.
|
|
447
|
+
* @param onError Pass `true` if you want to focus an input field with the first validation error. Default value: `false` (focuses the first input field). Applies to question types with multiple input fields.
|
|
448
|
+
*/
|
|
449
|
+
focus(onError?: boolean, scrollIfVisible?: boolean): void;
|
|
450
|
+
focusInputElement(onError: boolean): void;
|
|
451
|
+
private get isValidateVisitedEmptyFields();
|
|
452
|
+
private isFocusEmpty;
|
|
453
|
+
protected supportEmptyValidation(): boolean;
|
|
454
|
+
onBlur(event: any): void;
|
|
455
|
+
onFocus(event: any): void;
|
|
456
|
+
protected onBlurCore(event: any): void;
|
|
457
|
+
protected onFocusCore(event: any): void;
|
|
458
|
+
expandAllParents(): void;
|
|
459
|
+
private expandAllParentsCore;
|
|
460
|
+
focusIn(): void;
|
|
461
|
+
protected fireCallback(callback: () => void): void;
|
|
462
|
+
getOthersMaxLength(): any;
|
|
463
|
+
protected onCreating(): void;
|
|
464
|
+
getFirstQuestionToFocus(withError: boolean): Question;
|
|
465
|
+
protected getFirstInputElementId(): string;
|
|
466
|
+
protected getFirstErrorInputElementId(): string;
|
|
467
|
+
protected getProcessedTextValue(textValue: TextPreProcessorValue): void;
|
|
468
|
+
supportComment(): boolean;
|
|
469
|
+
supportOther(): boolean;
|
|
470
|
+
/**
|
|
471
|
+
* Makes the question required. If a respondent skips a required question, the survey displays a validation error.
|
|
472
|
+
* @see requiredIf
|
|
473
|
+
* @see [Data Validation](https://surveyjs.io/form-library/documentation/data-validation)
|
|
474
|
+
*/
|
|
475
|
+
get isRequired(): boolean;
|
|
476
|
+
set isRequired(val: boolean);
|
|
477
|
+
/**
|
|
478
|
+
* A Boolean expression. If it evaluates to `true`, this question becomes required.
|
|
479
|
+
*
|
|
480
|
+
* A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
|
|
481
|
+
*
|
|
482
|
+
* Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
|
|
483
|
+
* @see isRequired
|
|
484
|
+
*/
|
|
485
|
+
get requiredIf(): string;
|
|
486
|
+
set requiredIf(val: string);
|
|
487
|
+
/**
|
|
488
|
+
* Specifies whether to display a comment area. Incompatible with the `showOtherItem` property.
|
|
489
|
+
* @see comment
|
|
490
|
+
* @see commentText
|
|
491
|
+
* @see showOtherItem
|
|
492
|
+
*/
|
|
493
|
+
get showCommentArea(): boolean;
|
|
494
|
+
set showCommentArea(val: boolean);
|
|
495
|
+
get hasComment(): boolean;
|
|
496
|
+
set hasComment(val: boolean);
|
|
497
|
+
/**
|
|
498
|
+
* A value to assign to the `id` attribute of the rendered HTML element. A default `id` is generated automatically.
|
|
499
|
+
*/
|
|
500
|
+
get id(): string;
|
|
501
|
+
set id(val: string);
|
|
502
|
+
get ariaTitleId(): string;
|
|
503
|
+
get ariaDescriptionId(): string;
|
|
504
|
+
get commentId(): string;
|
|
505
|
+
/**
|
|
506
|
+
* Specifies whether to display the "Other" choice item. Incompatible with the `showCommentArea` property.
|
|
507
|
+
*
|
|
508
|
+
* @see otherText
|
|
509
|
+
* @see otherItem
|
|
510
|
+
* @see otherErrorText
|
|
511
|
+
* @see showCommentArea
|
|
512
|
+
* @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
|
|
513
|
+
*/
|
|
514
|
+
get showOtherItem(): boolean;
|
|
515
|
+
set showOtherItem(val: boolean);
|
|
516
|
+
get hasOther(): boolean;
|
|
517
|
+
set hasOther(val: boolean);
|
|
518
|
+
protected hasOtherChanged(): void;
|
|
519
|
+
get requireUpdateCommentValue(): boolean;
|
|
520
|
+
readOnlyCallback: () => boolean;
|
|
521
|
+
get isReadOnly(): boolean;
|
|
522
|
+
get isInputReadOnly(): boolean;
|
|
523
|
+
get renderedInputReadOnly(): string;
|
|
524
|
+
get renderedInputDisabled(): string;
|
|
525
|
+
get isReadOnlyAttr(): boolean;
|
|
526
|
+
get isDisabledAttr(): boolean;
|
|
527
|
+
protected onReadOnlyChanged(): void;
|
|
528
|
+
/**
|
|
529
|
+
* A Boolean expression. If it evaluates to `false`, this question becomes read-only.
|
|
530
|
+
*
|
|
531
|
+
* A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
|
|
532
|
+
*
|
|
533
|
+
* Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
|
|
534
|
+
*
|
|
535
|
+
* [View Demo](https://surveyjs.io/form-library/examples/how-to-conditionally-make-input-field-read-only/ (linkStyle))
|
|
536
|
+
* @see readOnly
|
|
537
|
+
* @see isReadOnly
|
|
538
|
+
*/
|
|
539
|
+
get enableIf(): string;
|
|
540
|
+
set enableIf(val: string);
|
|
541
|
+
surveyChoiceItemVisibilityChange(): void;
|
|
542
|
+
runCondition(values: HashTable<any>, properties: HashTable<any>): void;
|
|
543
|
+
get isInDesignMode(): boolean;
|
|
544
|
+
/**
|
|
545
|
+
* A question number or letter (depends on the `questionStartIndex` property of the question container (panel, page, or survey)).
|
|
546
|
+
*
|
|
547
|
+
* When the question number, title, or the entire question is invisible, this property returns an empty string.
|
|
548
|
+
* @see SurveyModel.questionStartIndex
|
|
549
|
+
* @see showNumber
|
|
550
|
+
* @see titleLocation
|
|
551
|
+
* @see visibleIf
|
|
552
|
+
*/
|
|
553
|
+
get no(): string;
|
|
554
|
+
private calcNo;
|
|
555
|
+
protected getStartIndex(): string;
|
|
556
|
+
onSurveyLoad(): void;
|
|
557
|
+
protected onSetData(): void;
|
|
558
|
+
protected initDataFromSurvey(): void;
|
|
559
|
+
protected initCommentFromSurvey(): void;
|
|
560
|
+
protected runExpression(expression: string): any;
|
|
561
|
+
get commentAreaRows(): number;
|
|
562
|
+
private get autoGrowComment();
|
|
563
|
+
private get allowResizeComment();
|
|
564
|
+
private get questionValue();
|
|
565
|
+
private set questionValue(value);
|
|
566
|
+
private get questionComment();
|
|
567
|
+
private set questionComment(value);
|
|
568
|
+
get isValueArray(): boolean;
|
|
569
|
+
/**
|
|
570
|
+
* Gets or sets the question value.
|
|
571
|
+
*
|
|
572
|
+
* The following table illustrates how the value type depends on the question type:
|
|
573
|
+
*
|
|
574
|
+
* | Question type | Value type(s) |
|
|
575
|
+
* | ------------- | ------------- |
|
|
576
|
+
* | Checkboxes | <code>Array<string | number></code> |
|
|
577
|
+
* | Dropdown | `string` \| `number` |
|
|
578
|
+
* | Dynamic Matrix | `Array<object>` |
|
|
579
|
+
* | Dynamic Panel | `Array<object>` |
|
|
580
|
+
* | Expression | `string` \| `number` \| `boolean` |
|
|
581
|
+
* | File Upload | `File` \| `Array<File>` |
|
|
582
|
+
* | HTML | (no value) |
|
|
583
|
+
* | Image | (no value) |
|
|
584
|
+
* | Image Picker | <code>Array<string | number></code> |
|
|
585
|
+
* | Long Text | `string` |
|
|
586
|
+
* | Multi-Select Dropdown | `object` |
|
|
587
|
+
* | Multi-Select Matrix | `object` |
|
|
588
|
+
* | Multiple Textboxes | `Array<string>` |
|
|
589
|
+
* | Panel | (no value) |
|
|
590
|
+
* | Radio Button Group | `string` \| `number` |
|
|
591
|
+
* | Ranking | <code>Array<string | number></code> |
|
|
592
|
+
* | Rating Scale | `number` \| `string` |
|
|
593
|
+
* | Signature | `string` (base64-encoded image) |
|
|
594
|
+
* | Single-Line Input | `string` \| `number` \| `Date` |
|
|
595
|
+
* | Single-Select Matrix | `object` |
|
|
596
|
+
* | Yes/No (Boolean) | `boolean` \| `string` |
|
|
597
|
+
*/
|
|
598
|
+
get value(): any;
|
|
599
|
+
set value(newValue: any);
|
|
600
|
+
get hasFilteredValue(): boolean;
|
|
601
|
+
getFilteredValue(): any;
|
|
602
|
+
getFilteredName(): any;
|
|
603
|
+
get valueForSurvey(): any;
|
|
604
|
+
protected valueForSurveyCore(val: any): any;
|
|
605
|
+
protected valueFromDataCore(val: any): any;
|
|
606
|
+
/**
|
|
607
|
+
* Sets the question's `value` and `comment` properties to `undefined`.
|
|
608
|
+
* @see value
|
|
609
|
+
* @see comment
|
|
610
|
+
*/
|
|
611
|
+
clearValue(keepComment?: boolean): void;
|
|
612
|
+
clearValueOnly(): void;
|
|
613
|
+
unbindValue(): void;
|
|
614
|
+
createValueCopy(): any;
|
|
615
|
+
initDataUI(): void;
|
|
616
|
+
protected getUnbindValue(value: any): any;
|
|
617
|
+
protected isValueSurveyElement(val: any): boolean;
|
|
618
|
+
private canClearValueAsInvisible;
|
|
619
|
+
/**
|
|
620
|
+
* Returns `true` if a parent element (page or panel) is visible.
|
|
621
|
+
*/
|
|
622
|
+
get isParentVisible(): boolean;
|
|
623
|
+
clearValueIfInvisible(reason?: string): void;
|
|
624
|
+
protected clearValueIfInvisibleCore(reason: string): void;
|
|
625
|
+
/**
|
|
626
|
+
* Specifies when to clear the question value if the question becomes invisible.
|
|
627
|
+
*
|
|
628
|
+
* Possible values:
|
|
629
|
+
*
|
|
630
|
+
* - `"default"` (default) - Inherits the setting from the Survey's [`clearInvisibleValues`](https://surveyjs.io/form-library/documentation/surveymodel#clearInvisibleValues) property.
|
|
631
|
+
* - `"onHidden"` - Clears the value when the question becomes invisible. If a question is invisible on startup and has an initial value, this value will be cleared when the survey is complete.
|
|
632
|
+
* - `"onHiddenContainer"` - Clears the value when the question or its container (page or panel) becomes invisible. If a question is invisible on startup and has an initial value, this value will be cleared when the survey is complete.
|
|
633
|
+
* - `"onComplete"` - Clears the value when the survey is complete.
|
|
634
|
+
* - `"none"` - Never clears the value of an invisible question.
|
|
635
|
+
* @see SurveyModel.clearInvisibleValues
|
|
636
|
+
* @see visible
|
|
637
|
+
* @see SurveyModel.onComplete
|
|
638
|
+
*/
|
|
639
|
+
get clearIfInvisible(): string;
|
|
640
|
+
set clearIfInvisible(val: string);
|
|
641
|
+
protected getClearIfInvisible(): string;
|
|
642
|
+
get displayValue(): any;
|
|
643
|
+
/**
|
|
644
|
+
* Returns a display text that corresponds to the question value. For example, if you call this method for a Dropdown question, it returns an item text instead of an item value.
|
|
645
|
+
* @param keysAsText Applies when the question value is an object (in Matrix, Multiple Text, and similar questions). Pass `true` if not only values in the object should be display texts, but also keys. Default value: `false`.
|
|
646
|
+
* @param value Specify this parameter to get a display text for a specific value, not for the current question value. If the question value is an object, this parameter should be a similar object.
|
|
647
|
+
*/
|
|
648
|
+
getDisplayValue(keysAsText: boolean, value?: any): any;
|
|
649
|
+
private calcDisplayValue;
|
|
650
|
+
protected getDisplayValueCore(keyAsText: boolean, value: any): any;
|
|
651
|
+
protected getDisplayValueEmpty(): string;
|
|
652
|
+
/**
|
|
653
|
+
* A default value for the question. Ignored for question types that cannot have a [value](https://surveyjs.io/form-library/documentation/question#value) (for example, HTML).
|
|
654
|
+
*
|
|
655
|
+
* The default value is used as a question value in the following cases:
|
|
656
|
+
*
|
|
657
|
+
* - While the survey is being loaded from JSON.
|
|
658
|
+
* - The question is just added to the survey and does not yet have an answer.
|
|
659
|
+
* - The respondent left the answer empty.
|
|
660
|
+
* @see defaultValueExpression
|
|
661
|
+
*/
|
|
662
|
+
get defaultValue(): any;
|
|
663
|
+
set defaultValue(val: any);
|
|
664
|
+
/**
|
|
665
|
+
* An expression used to calculate the [defaultValue](https://surveyjs.io/form-library/documentation/question#defaultValue).
|
|
666
|
+
*
|
|
667
|
+
* This expression applies until the question [value](https://surveyjs.io/form-library/documentation/question#value) is specified by an end user or programmatically.
|
|
668
|
+
*
|
|
669
|
+
* An expression can reference other questions as follows:
|
|
670
|
+
*
|
|
671
|
+
* - `{other_question_name}`
|
|
672
|
+
* - `{panel.other_question_name}` (to access questions inside the same dynamic panel)
|
|
673
|
+
* - `{row.other_question_name}` (to access questions inside the same dynamic matrix or multi-column dropdown)
|
|
674
|
+
*
|
|
675
|
+
* An expression can also include built-in and custom functions for advanced calculations. For example, if the `defaultValue` should be today's date, set the `defaultValueExpression` to `"today()"`, and the corresponding built-in function will be executed each time the survey is loaded. Refer to the following help topic for more information: [Built-In Functions](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#built-in-functions).
|
|
676
|
+
*
|
|
677
|
+
* [View Demo](https://surveyjs.io/form-library/examples/specify-default-question-value-dynamically (linkStyle))
|
|
678
|
+
* @see defaultValue
|
|
679
|
+
* @see setValueExpression
|
|
680
|
+
*/
|
|
681
|
+
get defaultValueExpression(): any;
|
|
682
|
+
set defaultValueExpression(val: any);
|
|
683
|
+
/**
|
|
684
|
+
* A Boolean [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions). If it evaluates to `true`, the question value is reset to [default](#defaultValue).
|
|
685
|
+
*
|
|
686
|
+
* A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
|
|
687
|
+
*
|
|
688
|
+
* [View Demo](https://surveyjs.io/form-library/examples/set-question-value-dynamically/ (linkStyle))
|
|
689
|
+
* @see setValueIf
|
|
690
|
+
*/
|
|
691
|
+
get resetValueIf(): string;
|
|
692
|
+
set resetValueIf(val: string);
|
|
693
|
+
/**
|
|
694
|
+
* A Boolean [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions). If it evaluates to `true`, the question value is set to a value calculated using the [`setValueExpression`](#setValueExpression).
|
|
695
|
+
*
|
|
696
|
+
* A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
|
|
697
|
+
*
|
|
698
|
+
* [View Demo](https://surveyjs.io/form-library/examples/set-question-value-dynamically/ (linkStyle))
|
|
699
|
+
* @see resetValueIf
|
|
700
|
+
*/
|
|
701
|
+
get setValueIf(): string;
|
|
702
|
+
set setValueIf(val: string);
|
|
703
|
+
/**
|
|
704
|
+
* An [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) used to calculate the question value.
|
|
705
|
+
*
|
|
706
|
+
* You can use `setValueExpression` as a standalone property or in conjunction with the [`setValueIf`](#setValueIf) expression, in which case the calculated question value applies only when `setValueIf` evaluates to `true`.
|
|
707
|
+
*
|
|
708
|
+
* [View Demo](https://surveyjs.io/form-library/examples/set-question-value-dynamically/ (linkStyle))
|
|
709
|
+
* @see defaultValueExpression
|
|
710
|
+
* @see resetValueIf
|
|
711
|
+
*/
|
|
712
|
+
get setValueExpression(): string;
|
|
713
|
+
set setValueExpression(val: string);
|
|
714
|
+
get resizeStyle(): "none" | "both";
|
|
715
|
+
/**
|
|
716
|
+
* Returns the question value as an object in which the question name, title, value, and other parameters are stored as individual properties.
|
|
717
|
+
*
|
|
718
|
+
* If the question can have more than one value (Matrix, Multiple Text), the object enables the `isNode` flag and stores information about these values in the `data` property. Refer to the following help topic for more information: [Access Full Survey Results](https://surveyjs.io/form-library/documentation/handle-survey-results-access#access-full-survey-results).
|
|
719
|
+
*
|
|
720
|
+
* Pass an object with the `includeEmpty` property set to `false` if you want to skip empty answers.
|
|
721
|
+
*/
|
|
722
|
+
getPlainData(options?: IPlainDataOptions): IQuestionPlainData;
|
|
723
|
+
protected getPlainDataCalculatedValue(propName: string): any;
|
|
724
|
+
/**
|
|
725
|
+
* A correct answer to this question. Specify this property if you want to [create a quiz](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz).
|
|
726
|
+
* @see SurveyModel.getCorrectAnswerCount
|
|
727
|
+
* @see SurveyModel.getIncorrectAnswerCount
|
|
728
|
+
*/
|
|
729
|
+
get correctAnswer(): any;
|
|
730
|
+
set correctAnswer(val: any);
|
|
731
|
+
protected convertDefaultValue(val: any): any;
|
|
732
|
+
/**
|
|
733
|
+
* The number of quiz questions. A question counts if it is visible, has an input field, and specifies `correctAnswer`.
|
|
734
|
+
* @see [Create a Quiz](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz)
|
|
735
|
+
* @see correctAnswer
|
|
736
|
+
* @see SurveyModel.getQuizQuestions
|
|
737
|
+
*/
|
|
738
|
+
get quizQuestionCount(): number;
|
|
739
|
+
get correctAnswerCount(): number;
|
|
740
|
+
protected getQuizQuestionCount(): number;
|
|
741
|
+
protected getCorrectAnswerCount(): number;
|
|
742
|
+
protected checkIfAnswerCorrect(): boolean;
|
|
743
|
+
protected getAnswerCorrectIgnoreOrder(): boolean;
|
|
744
|
+
/**
|
|
745
|
+
* Returns `true` if a question answer matches the `correctAnswer` property value.
|
|
746
|
+
*
|
|
747
|
+
* [View Demo](https://surveyjs.io/form-library/examples/create-a-scored-quiz (linkStyle))
|
|
748
|
+
* @see correctAnswer
|
|
749
|
+
* @see SurveyModel.getQuizQuestions
|
|
750
|
+
*/
|
|
751
|
+
isAnswerCorrect(): boolean;
|
|
752
|
+
updateValueWithDefaults(): void;
|
|
753
|
+
get isValueDefault(): boolean;
|
|
754
|
+
protected get isClearValueOnHidden(): boolean;
|
|
755
|
+
getQuestionFromArray(name: string, index: number): IQuestion;
|
|
756
|
+
getDefaultValue(): any;
|
|
757
|
+
protected isDefaultValueEmpty(): boolean;
|
|
758
|
+
protected getDefaultRunner(runner: ExpressionRunner, expression: string): ExpressionRunner;
|
|
759
|
+
protected setDefaultValue(): void;
|
|
760
|
+
private setDefaultValueCore;
|
|
761
|
+
protected isValueExpression(val: any): boolean;
|
|
762
|
+
protected setValueAndRunExpression(runner: ExpressionRunner, defaultValue: any, setFunc: (val: any) => void, values?: HashTable<any>, properties?: HashTable<any>): void;
|
|
763
|
+
protected convertFuncValuetoQuestionValue(val: any): any;
|
|
764
|
+
private runExpressionSetValueCore;
|
|
765
|
+
private runExpressionSetValue;
|
|
766
|
+
protected startSetValueOnExpression(): void;
|
|
767
|
+
protected finishSetValueOnExpression(): void;
|
|
768
|
+
private runDefaultValueExpression;
|
|
769
|
+
/**
|
|
770
|
+
* A comment to the selected question value. Enable the `showCommentArea` property to allow users to leave comments.
|
|
771
|
+
* @see showCommentArea
|
|
772
|
+
* @see commentText
|
|
773
|
+
*/
|
|
774
|
+
get comment(): string;
|
|
775
|
+
set comment(newValue: string);
|
|
776
|
+
getCommentAreaCss(isOther?: boolean): string;
|
|
777
|
+
protected getQuestionComment(): string;
|
|
778
|
+
protected setQuestionComment(newValue: string): void;
|
|
779
|
+
/**
|
|
780
|
+
* Returns `true` if the question value is an empty string, array, or object or if it equals `undefined` or `null`.
|
|
781
|
+
*/
|
|
782
|
+
isEmpty(): boolean;
|
|
783
|
+
get isAnswered(): boolean;
|
|
784
|
+
set isAnswered(val: boolean);
|
|
785
|
+
protected updateIsAnswered(): void;
|
|
786
|
+
protected getIsAnswered(): boolean;
|
|
787
|
+
/**
|
|
788
|
+
* Question validators.
|
|
789
|
+
*
|
|
790
|
+
* [Data Validation](https://surveyjs.io/form-library/documentation/data-validation (linkStyle))
|
|
791
|
+
*/
|
|
792
|
+
get validators(): Array<SurveyValidator>;
|
|
793
|
+
set validators(val: Array<SurveyValidator>);
|
|
794
|
+
getValidators(): Array<SurveyValidator>;
|
|
795
|
+
getSupportedValidators(): Array<string>;
|
|
796
|
+
addConditionObjectsByContext(objects: Array<IConditionObject>, context: any): void;
|
|
797
|
+
/**
|
|
798
|
+
* Returns an array of questions nested within the current question. Use this method to obtain questions within [Multiple Text](https://surveyjs.io/form-library/documentation/api-reference/multiple-text-entry-question-model), [Dynamic Panel](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model), and [Matrix](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-question-model)-like questions.
|
|
799
|
+
* @param visibleOnly A Boolean value that specifies whether to include only visible nested questions.
|
|
800
|
+
* @returns An array of nested questions.
|
|
801
|
+
*/
|
|
802
|
+
getNestedQuestions(visibleOnly?: boolean): Array<Question>;
|
|
803
|
+
collectNestedQuestions(questions: Array<Question>, visibleOnly?: boolean): void;
|
|
804
|
+
protected collectNestedQuestionsCore(questions: Array<Question>, visibleOnly: boolean): void;
|
|
805
|
+
getConditionJson(operator?: string, path?: string): any;
|
|
806
|
+
hasErrors(fireCallback?: boolean, rec?: any): boolean;
|
|
807
|
+
/**
|
|
808
|
+
* Validates this question and returns `false` if the validation fails.
|
|
809
|
+
* @param fireCallback *(Optional)* Pass `false` if you do not want to show validation errors in the UI.
|
|
810
|
+
* @see [Data Validation](https://surveyjs.io/form-library/documentation/data-validation)
|
|
811
|
+
*/
|
|
812
|
+
validate(fireCallback?: boolean, rec?: any): boolean;
|
|
813
|
+
get currentErrorCount(): number;
|
|
814
|
+
/**
|
|
815
|
+
* Returns a character or text string that indicates a required question.
|
|
816
|
+
* @see SurveyModel.requiredMark
|
|
817
|
+
* @see isRequired
|
|
818
|
+
*/
|
|
819
|
+
get requiredMark(): string;
|
|
820
|
+
/**
|
|
821
|
+
* @deprecated Use the [`requiredMark`](https://surveyjs.io/form-library/documentation/api-reference/question#requiredMark) property instead.
|
|
822
|
+
*/
|
|
823
|
+
get requiredText(): string;
|
|
824
|
+
addError(error: SurveyError | string): void;
|
|
825
|
+
private addCustomError;
|
|
826
|
+
removeError(error: SurveyError): boolean;
|
|
827
|
+
private checkForErrors;
|
|
828
|
+
protected canCollectErrors(): boolean;
|
|
829
|
+
private collectErrors;
|
|
830
|
+
protected canRunValidators(isOnValueChanged: boolean): boolean;
|
|
831
|
+
protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean, fireCallback: boolean): void;
|
|
832
|
+
hasRequiredError(): boolean;
|
|
833
|
+
private validatorRunner;
|
|
834
|
+
private isRunningValidatorsValue;
|
|
835
|
+
onCompletedAsyncValidators: (hasErrors: boolean) => void;
|
|
836
|
+
get isRunningValidators(): boolean;
|
|
837
|
+
protected getIsRunningValidators(): boolean;
|
|
838
|
+
protected runValidators(): Array<SurveyError>;
|
|
839
|
+
private doOnAsyncCompleted;
|
|
840
|
+
protected raiseOnCompletedAsyncValidators(): void;
|
|
841
|
+
allowSpaceAsAnswer: boolean;
|
|
842
|
+
private isValueChangedInSurvey;
|
|
843
|
+
private isOldAnswered;
|
|
844
|
+
private isSettingQuestionValue;
|
|
845
|
+
protected allowNotifyValueChanged: boolean;
|
|
846
|
+
protected setNewValue(newValue: any): void;
|
|
847
|
+
private checkIsValueCorrect;
|
|
848
|
+
protected isNewValueCorrect(val: any): boolean;
|
|
849
|
+
protected isNewValueEqualsToValue(newValue: any): boolean;
|
|
850
|
+
protected isTextValue(): boolean;
|
|
851
|
+
protected getIsInputTextUpdate(): boolean;
|
|
852
|
+
get requireStrictCompare(): boolean;
|
|
853
|
+
private getDataLocNotification;
|
|
854
|
+
get isInputTextUpdate(): boolean;
|
|
855
|
+
protected setNewValueInData(newValue: any): void;
|
|
856
|
+
protected getValueCore(): any;
|
|
857
|
+
protected setValueCore(newValue: any): void;
|
|
858
|
+
protected canSetValueToSurvey(): boolean;
|
|
859
|
+
protected valueFromData(val: any): any;
|
|
860
|
+
protected valueToData(val: any): any;
|
|
861
|
+
protected convertToCorrectValue(val: any): any;
|
|
862
|
+
protected onValueChanged(): void;
|
|
863
|
+
protected isMouseDown: boolean;
|
|
864
|
+
onMouseDown(): void;
|
|
865
|
+
protected setNewComment(newValue: string): void;
|
|
866
|
+
protected setCommentIntoData(newValue: string): void;
|
|
867
|
+
protected getValidName(name: string): string;
|
|
868
|
+
updateValueFromSurvey(newValue: any, clearData?: boolean): void;
|
|
869
|
+
private updateValueFromSurveyCore;
|
|
870
|
+
updateCommentFromSurvey(newValue: any): any;
|
|
871
|
+
protected onChangeQuestionValue(newValue: any): void;
|
|
872
|
+
protected setValueChangedDirectly(val: boolean): void;
|
|
873
|
+
protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
|
|
874
|
+
private get isParentChangingViaDefaultValue();
|
|
875
|
+
onSurveyValueChanged(newValue: any): void;
|
|
876
|
+
setVisibleIndex(val: number): number;
|
|
877
|
+
removeElement(element: IElement): boolean;
|
|
878
|
+
supportGoNextPageAutomatic(): boolean;
|
|
879
|
+
supportAutoAdvance(): boolean;
|
|
880
|
+
supportGoNextPageError(): boolean;
|
|
881
|
+
/**
|
|
882
|
+
* Removes values that cannot be assigned to this question, for example, choices unlisted in the `choices` array.
|
|
883
|
+
*
|
|
884
|
+
* Call this method after you assign new question values in code to ensure that they are acceptable.
|
|
885
|
+
*
|
|
886
|
+
* > This method does not remove values that fail validation. Call the `validate()` method to validate newly assigned values.
|
|
887
|
+
*
|
|
888
|
+
* @see validate
|
|
889
|
+
*/
|
|
890
|
+
clearIncorrectValues(): void;
|
|
891
|
+
clearOnDeletingContainer(): void;
|
|
892
|
+
/**
|
|
893
|
+
* Empties the `errors` array.
|
|
894
|
+
* @see errors
|
|
895
|
+
*/
|
|
896
|
+
clearErrors(): void;
|
|
897
|
+
clearUnusedValues(): void;
|
|
898
|
+
onAnyValueChanged(name: string, questionName: string): void;
|
|
899
|
+
checkBindings(valueName: string, value: any): void;
|
|
900
|
+
protected updateBindingProp(propName: string, value: any): void;
|
|
901
|
+
getComponentName(): string;
|
|
902
|
+
isDefaultRendering(): boolean;
|
|
903
|
+
renderAs: string;
|
|
904
|
+
inMatrixMode: boolean;
|
|
905
|
+
getErrorCustomText(text: string, error: SurveyError): string;
|
|
906
|
+
getValidatorTitle(): string;
|
|
907
|
+
get validatedValue(): any;
|
|
908
|
+
set validatedValue(val: any);
|
|
909
|
+
getAllValues(): any;
|
|
910
|
+
processPopupVisiblilityChanged(popupModel: PopupModel, visible: boolean): void;
|
|
911
|
+
processOpenDropdownMenu(options: IDropdownMenuOptions): void;
|
|
912
|
+
protected onTextKeyDownHandler(event: any): void;
|
|
913
|
+
transformToMobileView(): void;
|
|
914
|
+
transformToDesktopView(): void;
|
|
915
|
+
needResponsiveWidth(): boolean;
|
|
916
|
+
protected supportResponsiveness(): boolean;
|
|
917
|
+
protected needResponsiveness(): boolean;
|
|
918
|
+
protected checkForResponsiveness(el: HTMLElement): void;
|
|
919
|
+
private resizeObserver;
|
|
920
|
+
protected getObservedElementSelector(): string;
|
|
921
|
+
protected onMobileChanged(): void;
|
|
922
|
+
private onMobileChangedCallback;
|
|
923
|
+
triggerResponsiveness(hard?: boolean): void;
|
|
924
|
+
private triggerResponsivenessCallback;
|
|
925
|
+
private initResponsiveness;
|
|
926
|
+
protected getCompactRenderAs(): string;
|
|
927
|
+
protected getDesktopRenderAs(): string;
|
|
928
|
+
protected onBeforeSetCompactRenderer(): void;
|
|
929
|
+
protected onBeforeSetDesktopRenderer(): void;
|
|
930
|
+
protected processResponsiveness(requiredWidth: number, availableWidth: number): any;
|
|
931
|
+
destroyResizeObserver(): void;
|
|
932
|
+
dispose(): void;
|
|
933
|
+
private resetDependedQuestions;
|
|
934
|
+
get isNewA11yStructure(): boolean;
|
|
935
|
+
get ariaLabel(): string;
|
|
936
|
+
get ariaRole(): string;
|
|
937
|
+
get ariaRequired(): "true" | "false";
|
|
938
|
+
get ariaInvalid(): "true" | "false";
|
|
939
|
+
get ariaLabelledBy(): string;
|
|
940
|
+
get ariaDescribedBy(): string;
|
|
941
|
+
get ariaErrormessage(): string;
|
|
942
|
+
get a11y_input_ariaRole(): string;
|
|
943
|
+
get a11y_input_ariaRequired(): "true" | "false";
|
|
944
|
+
get a11y_input_ariaInvalid(): "true" | "false";
|
|
945
|
+
get a11y_input_ariaLabel(): string;
|
|
946
|
+
get a11y_input_ariaLabelledBy(): string;
|
|
947
|
+
get a11y_input_ariaDescribedBy(): string;
|
|
948
|
+
get a11y_input_ariaErrormessage(): string;
|
|
949
|
+
}
|