survey-core 1.12.21 → 1.12.22
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 +1 -1
- package/defaultV2.fontless.css +1 -1
- package/defaultV2.fontless.min.css +1 -1
- package/defaultV2.min.css +1 -1
- 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 +131 -46
- 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/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/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 +1 -0
- 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/panel.d.ts +2 -1
- package/typings/packages/survey-core/src/question_custom.d.ts +3 -0
- 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 +1 -0
- 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,719 @@
|
|
|
1
|
+
import { HashTable } from "./helpers";
|
|
2
|
+
import { IElement, IQuestion, IPanel, ISurveyData, ISurvey, ISurveyImpl, ITextProcessor, IProgressInfo, IPlainDataOptions } from "./base-interfaces";
|
|
3
|
+
import { LocalizableString } from "./localizablestring";
|
|
4
|
+
import { Base } from "./base";
|
|
5
|
+
import { Question, IConditionObject, IQuestionPlainData } from "./question";
|
|
6
|
+
import { PanelModel } from "./panel";
|
|
7
|
+
import { SurveyError } from "./survey-error";
|
|
8
|
+
import { ActionContainer } from "./actions/container";
|
|
9
|
+
import { IAction } from "./actions/action";
|
|
10
|
+
import { AdaptiveActionContainer } from "./actions/adaptive-container";
|
|
11
|
+
import { ITheme } from "./themes";
|
|
12
|
+
import { AnimationProperty, IAnimationGroupConsumer } from "./utils/animation";
|
|
13
|
+
export interface IQuestionPanelDynamicData {
|
|
14
|
+
getItemIndex(item: ISurveyData): number;
|
|
15
|
+
getVisibleItemIndex(item: ISurveyData): number;
|
|
16
|
+
getPanelItemData(item: ISurveyData): any;
|
|
17
|
+
setPanelItemData(item: ISurveyData, name: string, val: any): any;
|
|
18
|
+
getSharedQuestionFromArray(name: string, panelIndex: number): Question;
|
|
19
|
+
getSurvey(): ISurvey;
|
|
20
|
+
getRootData(): ISurveyData;
|
|
21
|
+
}
|
|
22
|
+
export declare class QuestionPanelDynamicItem implements ISurveyData, ISurveyImpl {
|
|
23
|
+
static ItemVariableName: string;
|
|
24
|
+
static ParentItemVariableName: string;
|
|
25
|
+
static IndexVariableName: string;
|
|
26
|
+
static VisibleIndexVariableName: string;
|
|
27
|
+
private panelValue;
|
|
28
|
+
private data;
|
|
29
|
+
private textPreProcessor;
|
|
30
|
+
constructor(data: IQuestionPanelDynamicData, panel: PanelModel);
|
|
31
|
+
get panel(): PanelModel;
|
|
32
|
+
setSurveyImpl(): void;
|
|
33
|
+
getValue(name: string): any;
|
|
34
|
+
setValue(name: string, newValue: any): void;
|
|
35
|
+
getVariable(name: string): any;
|
|
36
|
+
setVariable(name: string, newValue: any): void;
|
|
37
|
+
getComment(name: string): string;
|
|
38
|
+
setComment(name: string, newValue: string, locNotification: any): void;
|
|
39
|
+
findQuestionByName(name: string): IQuestion;
|
|
40
|
+
getEditingSurveyElement(): Base;
|
|
41
|
+
getAllValues(): any;
|
|
42
|
+
getFilteredValues(): any;
|
|
43
|
+
getFilteredProperties(): any;
|
|
44
|
+
getSurveyData(): ISurveyData;
|
|
45
|
+
getSurvey(): ISurvey;
|
|
46
|
+
getTextProcessor(): ITextProcessor;
|
|
47
|
+
}
|
|
48
|
+
export declare class QuestionPanelDynamicTemplateSurveyImpl implements ISurveyImpl {
|
|
49
|
+
data: IQuestionPanelDynamicData;
|
|
50
|
+
constructor(data: IQuestionPanelDynamicData);
|
|
51
|
+
getSurveyData(): ISurveyData;
|
|
52
|
+
getSurvey(): ISurvey;
|
|
53
|
+
getTextProcessor(): ITextProcessor;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* A class that describes the Dynamic Panel question type.
|
|
57
|
+
*
|
|
58
|
+
* Dynamic Panel allows respondents to add panels based on a panel template and delete them. Specify the [`templateElements`](https://surveyjs.io/form-library/documentation/questionpaneldynamicmodel#templateElements) property to configure panel template elements.
|
|
59
|
+
*
|
|
60
|
+
* [View Demo](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/ (linkStyle))
|
|
61
|
+
*/
|
|
62
|
+
export declare class QuestionPanelDynamicModel extends Question implements IQuestionPanelDynamicData {
|
|
63
|
+
private templateValue;
|
|
64
|
+
private isValueChangingInternally;
|
|
65
|
+
private changingValueQuestion;
|
|
66
|
+
renderModeChangedCallback: () => void;
|
|
67
|
+
panelCountChangedCallback: () => void;
|
|
68
|
+
currentIndexChangedCallback: () => void;
|
|
69
|
+
constructor(name: string);
|
|
70
|
+
get isCompositeQuestion(): boolean;
|
|
71
|
+
get hasSingleInput(): boolean;
|
|
72
|
+
get isContainer(): boolean;
|
|
73
|
+
getFirstQuestionToFocus(withError: boolean): Question;
|
|
74
|
+
protected getFirstInputElementId(): string;
|
|
75
|
+
setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
|
|
76
|
+
private assignOnPropertyChangedToTemplate;
|
|
77
|
+
private addOnPropertyChangedCallback;
|
|
78
|
+
private onTemplateElementPropertyChanged;
|
|
79
|
+
private get useTemplatePanel();
|
|
80
|
+
getType(): string;
|
|
81
|
+
clearOnDeletingContainer(): void;
|
|
82
|
+
get isAllowTitleLeft(): boolean;
|
|
83
|
+
removeElement(element: IElement): boolean;
|
|
84
|
+
/**
|
|
85
|
+
* A `PanelModel` object used as a template to create dynamic panels.
|
|
86
|
+
* @see PanelModel
|
|
87
|
+
* @see templateElements
|
|
88
|
+
* @see templateTitle
|
|
89
|
+
* @see panels
|
|
90
|
+
* @see panelCount
|
|
91
|
+
*/
|
|
92
|
+
get template(): PanelModel;
|
|
93
|
+
getPanel(): IPanel;
|
|
94
|
+
/**
|
|
95
|
+
* An array of questions and panels included in a panel template.
|
|
96
|
+
* @see template
|
|
97
|
+
* @see panels
|
|
98
|
+
* @see panelCount
|
|
99
|
+
*/
|
|
100
|
+
get templateElements(): Array<IElement>;
|
|
101
|
+
/**
|
|
102
|
+
* A template for panel titles.
|
|
103
|
+
*
|
|
104
|
+
* The template can contain the following placeholders:
|
|
105
|
+
*
|
|
106
|
+
* - `{panelIndex}` - A panel index within the collection of all panels. Starts with 1.
|
|
107
|
+
* - `{visiblePanelIndex}` - A panel index within the collection of visible panels. Starts with 1.
|
|
108
|
+
* @see template
|
|
109
|
+
* @see templateDescription
|
|
110
|
+
* @see templateElements
|
|
111
|
+
* @see panels
|
|
112
|
+
* @see panelCount
|
|
113
|
+
*/
|
|
114
|
+
get templateTitle(): string;
|
|
115
|
+
set templateTitle(newValue: string);
|
|
116
|
+
get locTemplateTitle(): LocalizableString;
|
|
117
|
+
/**
|
|
118
|
+
* A template for tab titles. Applies when [`displayMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#displayMode) is `"tab"`.
|
|
119
|
+
*
|
|
120
|
+
* The template can contain the following placeholders:
|
|
121
|
+
*
|
|
122
|
+
* - `{panelIndex}` - A panel index within the collection of all panels. Starts with 1.
|
|
123
|
+
* - `{visiblePanelIndex}` - A panel index within the collection of visible panels. Starts with 1.
|
|
124
|
+
*
|
|
125
|
+
* If you want to customize individual tab titles, handle `SurveyModel`'s [`onGetDynamicPanelTabTitle`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onGetDynamicPanelTabTitle) event.
|
|
126
|
+
*
|
|
127
|
+
* [View Demo](https://surveyjs.io/form-library/examples/tabbed-interface-for-duplicate-group-option/ (linkStyle))
|
|
128
|
+
* @see templateTitle
|
|
129
|
+
* @see tabTitlePlaceholder
|
|
130
|
+
* @see displayMode
|
|
131
|
+
*/
|
|
132
|
+
get templateTabTitle(): string;
|
|
133
|
+
set templateTabTitle(newValue: string);
|
|
134
|
+
get locTemplateTabTitle(): LocalizableString;
|
|
135
|
+
/**
|
|
136
|
+
* A placeholder for tab titles that applies when the [`templateTabTitle`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#templateTabTitle) expression doesn't produce a meaningful value.
|
|
137
|
+
*
|
|
138
|
+
* Default value: `"New Panel"` (taken from a [localization dictionary](https://github.com/surveyjs/survey-library/tree/01bd8abd0c574719956d4d579d48c8010cd389d4/packages/survey-core/src/localization))
|
|
139
|
+
*/
|
|
140
|
+
get tabTitlePlaceholder(): string;
|
|
141
|
+
set tabTitlePlaceholder(newValue: string);
|
|
142
|
+
get locTabTitlePlaceholder(): LocalizableString;
|
|
143
|
+
/**
|
|
144
|
+
* A template for panel descriptions.
|
|
145
|
+
* @see template
|
|
146
|
+
* @see templateTitle
|
|
147
|
+
* @see templateElements
|
|
148
|
+
* @see panels
|
|
149
|
+
* @see panelCount
|
|
150
|
+
*/
|
|
151
|
+
get templateDescription(): string;
|
|
152
|
+
set templateDescription(newValue: string);
|
|
153
|
+
get locTemplateDescription(): LocalizableString;
|
|
154
|
+
/**
|
|
155
|
+
* A Boolean expression that is evaluated against each panel. If the expression evaluates to `false`, the panel becomes hidden.
|
|
156
|
+
*
|
|
157
|
+
* A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
|
|
158
|
+
*
|
|
159
|
+
* Use the `{panel}` placeholder to reference the current panel in the expression.
|
|
160
|
+
*
|
|
161
|
+
* Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-visibility).
|
|
162
|
+
* @see visibleIf
|
|
163
|
+
* @see visiblePanels
|
|
164
|
+
*/
|
|
165
|
+
get templateVisibleIf(): string;
|
|
166
|
+
set templateVisibleIf(val: string);
|
|
167
|
+
protected get items(): Array<ISurveyData>;
|
|
168
|
+
/**
|
|
169
|
+
* An array of `PanelModel` objects created based on a panel template.
|
|
170
|
+
* @see PanelModel
|
|
171
|
+
* @see template
|
|
172
|
+
* @see panelCount
|
|
173
|
+
*/
|
|
174
|
+
get panels(): Array<PanelModel>;
|
|
175
|
+
/**
|
|
176
|
+
* An array of currently visible panels ([`PanelModel`](https://surveyjs.io/form-library/documentation/api-reference/panel-model) objects).
|
|
177
|
+
* @see templateVisibleIf
|
|
178
|
+
*/
|
|
179
|
+
get visiblePanels(): Array<PanelModel>;
|
|
180
|
+
protected get panelsCore(): Array<PanelModel>;
|
|
181
|
+
protected get visiblePanelsCore(): Array<PanelModel>;
|
|
182
|
+
private onPanelAdded;
|
|
183
|
+
private onPanelRemoved;
|
|
184
|
+
private onPanelRemovedCore;
|
|
185
|
+
/**
|
|
186
|
+
* A zero-based index of the currently displayed panel.
|
|
187
|
+
*
|
|
188
|
+
* When `displayMode` is `"list"` or Dynamic Panel is empty (`panelCount` is 0), this property contains -1.
|
|
189
|
+
* @see currentPanel
|
|
190
|
+
* @see panels
|
|
191
|
+
* @see panelCount
|
|
192
|
+
* @see displayMode
|
|
193
|
+
*/
|
|
194
|
+
get currentIndex(): number;
|
|
195
|
+
set currentIndex(val: number);
|
|
196
|
+
/**
|
|
197
|
+
* A `PanelModel` object that is the currently displayed panel.
|
|
198
|
+
*
|
|
199
|
+
* When `displayMode` is `"list"` or Dynamic Panel is empty (`panelCount` is 0), this property contains `null`.
|
|
200
|
+
* @see currentIndex
|
|
201
|
+
* @see panels
|
|
202
|
+
* @see panelCount
|
|
203
|
+
* @see displayMode
|
|
204
|
+
*/
|
|
205
|
+
get currentPanel(): PanelModel;
|
|
206
|
+
set currentPanel(val: PanelModel);
|
|
207
|
+
private _renderedPanels;
|
|
208
|
+
private updateRenderedPanels;
|
|
209
|
+
set renderedPanels(val: Array<PanelModel>);
|
|
210
|
+
get renderedPanels(): Array<PanelModel>;
|
|
211
|
+
private isPanelsAnimationRunning;
|
|
212
|
+
private getPanelsAnimationOptions;
|
|
213
|
+
private _panelsAnimations;
|
|
214
|
+
private disablePanelsAnimations;
|
|
215
|
+
private enablePanelsAnimations;
|
|
216
|
+
private updatePanelsAnimation;
|
|
217
|
+
get panelsAnimation(): AnimationProperty<Array<PanelModel>, IAnimationGroupConsumer<PanelModel>>;
|
|
218
|
+
onHidingContent(): void;
|
|
219
|
+
/**
|
|
220
|
+
* Specifies whether to display a confirmation dialog when a respondent wants to delete a panel.
|
|
221
|
+
* @see confirmDeleteText
|
|
222
|
+
*/
|
|
223
|
+
get confirmDelete(): boolean;
|
|
224
|
+
set confirmDelete(val: boolean);
|
|
225
|
+
/**
|
|
226
|
+
* Specifies a key question. Set this property to the name of a question used in the template, and Dynamic Panel will display `keyDuplicationError` if a user tries to enter a duplicate value in this question.
|
|
227
|
+
* @see keyDuplicationError
|
|
228
|
+
*/
|
|
229
|
+
get keyName(): string;
|
|
230
|
+
set keyName(val: string);
|
|
231
|
+
/**
|
|
232
|
+
* A message displayed in a confirmation dialog that appears when a respondent wants to delete a panel.
|
|
233
|
+
* @see confirmDelete
|
|
234
|
+
*/
|
|
235
|
+
get confirmDeleteText(): string;
|
|
236
|
+
set confirmDeleteText(val: string);
|
|
237
|
+
get locConfirmDeleteText(): LocalizableString;
|
|
238
|
+
/**
|
|
239
|
+
* An error message displayed when users enter a duplicate value into a question that accepts only unique values (`isUnique` is set to `true` or `keyName` is specified).
|
|
240
|
+
*
|
|
241
|
+
* A default value for this property is taken from a [localization dictionary](https://github.com/surveyjs/survey-library/tree/01bd8abd0c574719956d4d579d48c8010cd389d4/packages/survey-core/src/localization). Refer to the following help topic for more information: [Localization & Globalization](https://surveyjs.io/form-library/documentation/localization).
|
|
242
|
+
* @see keyName
|
|
243
|
+
*/
|
|
244
|
+
get keyDuplicationError(): string;
|
|
245
|
+
set keyDuplicationError(val: string);
|
|
246
|
+
get locKeyDuplicationError(): LocalizableString;
|
|
247
|
+
/**
|
|
248
|
+
* A caption for the Previous button. Applies only if `displayMode` is different from `"list"`.
|
|
249
|
+
* @see displayMode
|
|
250
|
+
* @see isPrevButtonVisible
|
|
251
|
+
*/
|
|
252
|
+
get prevPanelText(): string;
|
|
253
|
+
set prevPanelText(val: string);
|
|
254
|
+
get locPrevPanelText(): LocalizableString;
|
|
255
|
+
/**
|
|
256
|
+
* @deprecated Use the [`prevPanelText`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#prevPanelText) property instead.
|
|
257
|
+
*/
|
|
258
|
+
get panelPrevText(): string;
|
|
259
|
+
set panelPrevText(val: string);
|
|
260
|
+
get locPanelPrevText(): LocalizableString;
|
|
261
|
+
/**
|
|
262
|
+
* A caption for the Next button. Applies only if `displayMode` is different from `"list"`.
|
|
263
|
+
* @see displayMode
|
|
264
|
+
* @see isNextButtonVisible
|
|
265
|
+
*/
|
|
266
|
+
get nextPanelText(): string;
|
|
267
|
+
set nextPanelText(val: string);
|
|
268
|
+
get locNextPanelText(): LocalizableString;
|
|
269
|
+
/**
|
|
270
|
+
* @deprecated Use the [`nextPanelText`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#nextPanelText) property instead.
|
|
271
|
+
*/
|
|
272
|
+
get panelNextText(): string;
|
|
273
|
+
set panelNextText(val: string);
|
|
274
|
+
get locPanelNextText(): LocalizableString;
|
|
275
|
+
/**
|
|
276
|
+
* A caption for the Add Panel button.
|
|
277
|
+
*/
|
|
278
|
+
get addPanelText(): string;
|
|
279
|
+
set addPanelText(value: string);
|
|
280
|
+
get locAddPanelText(): LocalizableString;
|
|
281
|
+
/**
|
|
282
|
+
* @deprecated Use the [`addPanelText`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#addPanelText) property instead.
|
|
283
|
+
*/
|
|
284
|
+
get panelAddText(): string;
|
|
285
|
+
set panelAddText(value: string);
|
|
286
|
+
get locPanelAddText(): LocalizableString;
|
|
287
|
+
/**
|
|
288
|
+
* A caption for the Remove Panel button.
|
|
289
|
+
* @see removePanelButtonLocation
|
|
290
|
+
*/
|
|
291
|
+
get removePanelText(): string;
|
|
292
|
+
set removePanelText(val: string);
|
|
293
|
+
get locRemovePanelText(): LocalizableString;
|
|
294
|
+
/**
|
|
295
|
+
* @deprecated Use the [`removePanelText`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#removePanelText) property instead.
|
|
296
|
+
*/
|
|
297
|
+
get panelRemoveText(): string;
|
|
298
|
+
set panelRemoveText(val: string);
|
|
299
|
+
get locPanelRemoveText(): LocalizableString;
|
|
300
|
+
get isProgressTopShowing(): boolean;
|
|
301
|
+
get isProgressBottomShowing(): boolean;
|
|
302
|
+
/**
|
|
303
|
+
* Indicates whether the Previous button is visible.
|
|
304
|
+
* @see currentIndex
|
|
305
|
+
* @see currentPanel
|
|
306
|
+
* @see prevPanelText
|
|
307
|
+
*/
|
|
308
|
+
get isPrevButtonVisible(): boolean;
|
|
309
|
+
get isPrevButtonShowing(): boolean;
|
|
310
|
+
/**
|
|
311
|
+
* Indicates whether the Next button is visible.
|
|
312
|
+
* @see currentIndex
|
|
313
|
+
* @see currentPanel
|
|
314
|
+
* @see nextPanelText
|
|
315
|
+
*/
|
|
316
|
+
get isNextButtonVisible(): boolean;
|
|
317
|
+
get isNextButtonShowing(): boolean;
|
|
318
|
+
get isRangeShowing(): boolean;
|
|
319
|
+
getElementsInDesign(includeHidden?: boolean): Array<IElement>;
|
|
320
|
+
private isAddingNewPanels;
|
|
321
|
+
private addingNewPanelsValue;
|
|
322
|
+
private isNewPanelsValueChanged;
|
|
323
|
+
private prepareValueForPanelCreating;
|
|
324
|
+
private setValueAfterPanelsCreating;
|
|
325
|
+
protected getValueCore(): any;
|
|
326
|
+
protected setValueCore(newValue: any): void;
|
|
327
|
+
setIsMobile(val: boolean): void;
|
|
328
|
+
themeChanged(theme: ITheme): void;
|
|
329
|
+
/**
|
|
330
|
+
* The number of panels in Dynamic Panel.
|
|
331
|
+
* @see minPanelCount
|
|
332
|
+
* @see maxPanelCount
|
|
333
|
+
*/
|
|
334
|
+
get panelCount(): number;
|
|
335
|
+
set panelCount(val: number);
|
|
336
|
+
/**
|
|
337
|
+
* Returns the number of visible panels in Dynamic Panel.
|
|
338
|
+
* @see templateVisibleIf
|
|
339
|
+
*/
|
|
340
|
+
get visiblePanelCount(): number;
|
|
341
|
+
/**
|
|
342
|
+
* Specifies whether users can expand and collapse panels. Applies if `displayMode` is `"list"` and the `templateTitle` property is specified.
|
|
343
|
+
*
|
|
344
|
+
* Possible values:
|
|
345
|
+
*
|
|
346
|
+
* - `"default"` (default) - All panels are displayed in full and cannot be collapsed.
|
|
347
|
+
* - `"expanded"` - All panels are displayed in full and can be collapsed in the UI.
|
|
348
|
+
* - `"collapsed"` - All panels display only their titles and descriptions and can be expanded in the UI.
|
|
349
|
+
* - `"firstExpanded"` - Only the first panel is displayed in full; other panels are collapsed and can be expanded in the UI.
|
|
350
|
+
* @see displayMode
|
|
351
|
+
* @see templateTitle
|
|
352
|
+
*/
|
|
353
|
+
get panelsState(): string;
|
|
354
|
+
set panelsState(val: string);
|
|
355
|
+
private setTemplatePanelSurveyImpl;
|
|
356
|
+
private setPanelsSurveyImpl;
|
|
357
|
+
private setPanelsState;
|
|
358
|
+
private setValueBasedOnPanelCount;
|
|
359
|
+
/**
|
|
360
|
+
* A minimum number of panels in Dynamic Panel. Users cannot delete panels if `panelCount` equals `minPanelCount`.
|
|
361
|
+
*
|
|
362
|
+
* Default value: 0
|
|
363
|
+
* @see panelCount
|
|
364
|
+
* @see maxPanelCount
|
|
365
|
+
* @see allowRemovePanel
|
|
366
|
+
*/
|
|
367
|
+
get minPanelCount(): number;
|
|
368
|
+
set minPanelCount(val: number);
|
|
369
|
+
private onMinPanelCountChanged;
|
|
370
|
+
/**
|
|
371
|
+
* A maximum number of panels in Dynamic Panel. Users cannot add new panels if `panelCount` equals `maxPanelCount`.
|
|
372
|
+
*
|
|
373
|
+
* Default value: 100 (inherited from [`settings.panel.maxPanelCount`](https://surveyjs.io/form-library/documentation/settings#panelMaximumPanelCount))
|
|
374
|
+
* @see panelCount
|
|
375
|
+
* @see minPanelCount
|
|
376
|
+
* @see allowAddPanel
|
|
377
|
+
*/
|
|
378
|
+
get maxPanelCount(): number;
|
|
379
|
+
set maxPanelCount(val: number);
|
|
380
|
+
private onMaxPanelCountChanged;
|
|
381
|
+
/**
|
|
382
|
+
* Specifies whether users are allowed to add new panels.
|
|
383
|
+
*
|
|
384
|
+
* Default value: `true`
|
|
385
|
+
*
|
|
386
|
+
* By default, users add new panels to the end. If you want to let users insert a new panel after the current panel, set the [`newPanelPosition`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#newPanelPosition) property to `"next"`.
|
|
387
|
+
* @see canAddPanel
|
|
388
|
+
* @see allowRemovePanel
|
|
389
|
+
*/
|
|
390
|
+
get allowAddPanel(): boolean;
|
|
391
|
+
set allowAddPanel(val: boolean);
|
|
392
|
+
get addButtonId(): string;
|
|
393
|
+
/**
|
|
394
|
+
* Specifies the position of newly added panels.
|
|
395
|
+
*
|
|
396
|
+
* Possible values:
|
|
397
|
+
*
|
|
398
|
+
* - `"last"` (default) - New panels are added to the end.
|
|
399
|
+
* - `"next"` - New panels are inserted after the current panel.
|
|
400
|
+
* @see allowAddPanel
|
|
401
|
+
* @see addPanel
|
|
402
|
+
*/
|
|
403
|
+
get newPanelPosition(): string;
|
|
404
|
+
set newPanelPosition(val: string);
|
|
405
|
+
/**
|
|
406
|
+
* Specifies whether users are allowed to delete panels.
|
|
407
|
+
*
|
|
408
|
+
* Default value: `true`
|
|
409
|
+
* @see canRemovePanel
|
|
410
|
+
* @see allowAddPanel
|
|
411
|
+
*/
|
|
412
|
+
get allowRemovePanel(): boolean;
|
|
413
|
+
set allowRemovePanel(val: boolean);
|
|
414
|
+
/**
|
|
415
|
+
* Gets or sets the location of question titles relative to their input fields.
|
|
416
|
+
*
|
|
417
|
+
* - `"default"` (default) - Inherits the setting from the Dynamic Panel's `titleLocation` property, which in turn inherits the [`questionTitleLocation`](https://surveyjs.io/form-library/documentation/surveymodel#questionTitleLocation) property value specified for the Dynamic Panel's container (page or survey).
|
|
418
|
+
* - `"top"` - Displays question titles above input fields.
|
|
419
|
+
* - `"bottom"` - Displays question titles below input fields.
|
|
420
|
+
* - `"left"` - Displays question titles to the left of input fields.
|
|
421
|
+
* - `"hidden"` - Hides question titles.
|
|
422
|
+
* @see titleLocation
|
|
423
|
+
*/
|
|
424
|
+
get templateQuestionTitleLocation(): string;
|
|
425
|
+
set templateQuestionTitleLocation(val: string);
|
|
426
|
+
/**
|
|
427
|
+
* @deprecated Use the [`templateQuestionTitleLocation`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#templateQuestionTitleLocation) property instead.
|
|
428
|
+
*/
|
|
429
|
+
get templateTitleLocation(): string;
|
|
430
|
+
set templateTitleLocation(val: string);
|
|
431
|
+
/**
|
|
432
|
+
* Specifies the error message position.
|
|
433
|
+
*
|
|
434
|
+
* Possible values:
|
|
435
|
+
*
|
|
436
|
+
* - `"default"` (default) - Inherits the setting from the [`errorLocation`](#errorLocation) property.
|
|
437
|
+
* - `"top"` - Displays error messages above questions.
|
|
438
|
+
* - `"bottom"` - Displays error messages below questions.
|
|
439
|
+
*/
|
|
440
|
+
get templateErrorLocation(): string;
|
|
441
|
+
set templateErrorLocation(value: string);
|
|
442
|
+
/**
|
|
443
|
+
* Use this property to show/hide the numbers in titles in questions inside a dynamic panel.
|
|
444
|
+
* By default the value is "off". You may set it to "onPanel" and the first question inside a dynamic panel will start with 1 or "onSurvey" to include nested questions in dymamic panels into global survey question numbering.
|
|
445
|
+
*/
|
|
446
|
+
get showQuestionNumbers(): string;
|
|
447
|
+
set showQuestionNumbers(val: string);
|
|
448
|
+
protected notifySurveyOnChildrenVisibilityChanged(): boolean;
|
|
449
|
+
/**
|
|
450
|
+
* Specifies the location of the Remove Panel button relative to panel content.
|
|
451
|
+
*
|
|
452
|
+
* Possible values:
|
|
453
|
+
*
|
|
454
|
+
* - `"bottom"` (default) - Displays the Remove Panel button below panel content.
|
|
455
|
+
* - `"right"` - Displays the Remove Panel button to the right of panel content.
|
|
456
|
+
* @see removePanelText
|
|
457
|
+
*/
|
|
458
|
+
get removePanelButtonLocation(): string;
|
|
459
|
+
set removePanelButtonLocation(val: string);
|
|
460
|
+
/**
|
|
461
|
+
* @deprecated Use the [`removePanelButtonLocation`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#removePanelButtonLocation) property instead.
|
|
462
|
+
*/
|
|
463
|
+
get panelRemoveButtonLocation(): string;
|
|
464
|
+
set panelRemoveButtonLocation(val: string);
|
|
465
|
+
/**
|
|
466
|
+
* @deprecated Use the [`showProgressBar`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#showProgressBar) property instead.
|
|
467
|
+
*/
|
|
468
|
+
get showRangeInProgress(): boolean;
|
|
469
|
+
set showRangeInProgress(val: boolean);
|
|
470
|
+
/**
|
|
471
|
+
* @deprecated Use the [`displayMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#displayMode) property instead.
|
|
472
|
+
*/
|
|
473
|
+
get renderMode(): string;
|
|
474
|
+
set renderMode(val: string);
|
|
475
|
+
private updatePanelView;
|
|
476
|
+
/**
|
|
477
|
+
* Specifies how to display panels.
|
|
478
|
+
*
|
|
479
|
+
* Possible values:
|
|
480
|
+
*
|
|
481
|
+
* - `"list"` (default) - Displays panels one under the other. [View Demo](https://surveyjs.io/form-library/examples/duplicate-group-of-fields-in-form/)
|
|
482
|
+
* - `"carousel"` - Displays panels in a carousel. Users can switch between panels using navigation buttons.
|
|
483
|
+
* - `"tab"` - Displays each panel within a tab. Use the [`templateTabTitle`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#templateTabTitle) to specify a template for tab titles. [View Demo](https://surveyjs.io/form-library/examples/tabbed-interface-for-duplicate-group-option/)
|
|
484
|
+
* @see showProgressBar
|
|
485
|
+
* @see progressBarLocation
|
|
486
|
+
*/
|
|
487
|
+
displayMode: "list" | "carousel" | "tab";
|
|
488
|
+
/**
|
|
489
|
+
* Specifies whether to display the progress bar. Applies only if [`displayMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#displayMode) is `"carousel"`.
|
|
490
|
+
*
|
|
491
|
+
* Default value: `true`
|
|
492
|
+
* @see progressBarLocation
|
|
493
|
+
*/
|
|
494
|
+
showProgressBar: true | false;
|
|
495
|
+
/**
|
|
496
|
+
* Specifies the alignment of the [progress bar](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#showProgressBar) relative to the currently displayed panel. Applies only if [`displayMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#displayMode) is `"carousel"`.
|
|
497
|
+
*
|
|
498
|
+
* Possible values:
|
|
499
|
+
*
|
|
500
|
+
* - `"top"` (default) - Displays the progress bar at the top of the current panel.
|
|
501
|
+
* - `"bottom"` - Displays the progress bar at the bottom of the current panel.
|
|
502
|
+
* - `"topBottom"` - Displays the progress bar at the top and bottom of the current panel.
|
|
503
|
+
*/
|
|
504
|
+
progressBarLocation: "top" | "bottom" | "topBottom";
|
|
505
|
+
get tabAlign(): "center" | "left" | "right";
|
|
506
|
+
set tabAlign(val: "center" | "left" | "right");
|
|
507
|
+
get isRenderModeList(): boolean;
|
|
508
|
+
get isRenderModeTab(): boolean;
|
|
509
|
+
get hasTitleOnLeftTop(): boolean;
|
|
510
|
+
setVisibleIndex(value: number): number;
|
|
511
|
+
private setPanelVisibleIndex;
|
|
512
|
+
/**
|
|
513
|
+
* Indicates whether it is possible to add a new panel.
|
|
514
|
+
*
|
|
515
|
+
* This property returns `true` when all of the following conditions apply:
|
|
516
|
+
*
|
|
517
|
+
* - Users are allowed to add new panels (`allowAddPanel` is `true`).
|
|
518
|
+
* - Dynamic Panel or its parent survey is not in read-only state.
|
|
519
|
+
* - `panelCount` is less than `maxPanelCount`.
|
|
520
|
+
* @see allowAddPanel
|
|
521
|
+
* @see isReadOnly
|
|
522
|
+
* @see panelCount
|
|
523
|
+
* @see maxPanelCount
|
|
524
|
+
* @see canRemovePanel
|
|
525
|
+
*/
|
|
526
|
+
get canAddPanel(): boolean;
|
|
527
|
+
/**
|
|
528
|
+
* Indicates whether it is possible to delete panels.
|
|
529
|
+
*
|
|
530
|
+
* This property returns `true` when all of the following conditions apply:
|
|
531
|
+
*
|
|
532
|
+
* - Users are allowed to delete panels (`allowRemovePanel` is `true`).
|
|
533
|
+
* - Dynamic Panel or its parent survey is not in read-only state.
|
|
534
|
+
* - `panelCount` exceeds `minPanelCount`.
|
|
535
|
+
* @see allowRemovePanel
|
|
536
|
+
* @see isReadOnly
|
|
537
|
+
* @see panelCount
|
|
538
|
+
* @see minPanelCount
|
|
539
|
+
* @see canAddPanel
|
|
540
|
+
*/
|
|
541
|
+
get canRemovePanel(): boolean;
|
|
542
|
+
protected rebuildPanels(): void;
|
|
543
|
+
/**
|
|
544
|
+
* If it is not empty, then this value is set to every new panel, including panels created initially, unless the defaultValue is not empty
|
|
545
|
+
* @see defaultValue
|
|
546
|
+
* @see copyDefaultValueFromLastEntry
|
|
547
|
+
*/
|
|
548
|
+
get defaultPanelValue(): any;
|
|
549
|
+
set defaultPanelValue(val: any);
|
|
550
|
+
/**
|
|
551
|
+
* Specifies whether default values for a new panel should be copied from the last panel.
|
|
552
|
+
*
|
|
553
|
+
* If you also specify `defaultValue`, it will be merged with the copied values.
|
|
554
|
+
* @see defaultValue
|
|
555
|
+
*/
|
|
556
|
+
get copyDefaultValueFromLastEntry(): boolean;
|
|
557
|
+
set copyDefaultValueFromLastEntry(val: boolean);
|
|
558
|
+
/**
|
|
559
|
+
* @deprecated Use the [`copyDefaultValueFromLastEntry`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#copyDefaultValueFromLastEntry) property instead.
|
|
560
|
+
*/
|
|
561
|
+
get defaultValueFromLastPanel(): boolean;
|
|
562
|
+
set defaultValueFromLastPanel(val: boolean);
|
|
563
|
+
protected isDefaultValueEmpty(): boolean;
|
|
564
|
+
protected setDefaultValue(): void;
|
|
565
|
+
get isValueArray(): boolean;
|
|
566
|
+
isEmpty(): boolean;
|
|
567
|
+
getProgressInfo(): IProgressInfo;
|
|
568
|
+
private isRowEmpty;
|
|
569
|
+
/**
|
|
570
|
+
* @deprecated Call the [`addPanel(undefined, true)`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#addPanel) method instead.
|
|
571
|
+
*/
|
|
572
|
+
addPanelUI(): PanelModel;
|
|
573
|
+
/**
|
|
574
|
+
* Adds a new panel based on the [template](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#template).
|
|
575
|
+
* @param index *(Optional)* An index at which to insert the new panel. `undefined` adds the panel to the end or inserts it after the current panel if [`displayMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#renderMode) is `"tab"`. A negative index (for instance, -1) adds the panel to the end in all cases, regardless of the `displayMode` value.
|
|
576
|
+
* @param runAdditionalActions *(Optional)* Pass `true` if you want to perform additional actions: check whether a new panel [can be added](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#canAddPanel), expand and focus the new panel, and run animated effects. Default value: `false` (the listed actions are skipped).
|
|
577
|
+
* @see panelCount
|
|
578
|
+
* @see panels
|
|
579
|
+
* @see allowAddPanel
|
|
580
|
+
* @see newPanelPosition
|
|
581
|
+
*/
|
|
582
|
+
addPanel(index?: number, runAdditionalActions?: boolean): PanelModel;
|
|
583
|
+
private addPanelCore;
|
|
584
|
+
private focusNewPanelCallback;
|
|
585
|
+
private focusNewPanel;
|
|
586
|
+
private updateValueOnAddingPanel;
|
|
587
|
+
private canLeaveCurrentPanel;
|
|
588
|
+
private copyValue;
|
|
589
|
+
getPanelRemoveButtonId(panel: PanelModel): string;
|
|
590
|
+
isRequireConfirmOnDelete(val: any): boolean;
|
|
591
|
+
/**
|
|
592
|
+
* Switches Dynamic Panel to the next panel. Returns `true` in case of success, or `false` if `displayMode` is `"list"` or the current panel contains validation errors.
|
|
593
|
+
* @see displayMode
|
|
594
|
+
*/
|
|
595
|
+
goToNextPanel(): boolean;
|
|
596
|
+
/**
|
|
597
|
+
* Switches Dynamic Panel to the previous panel.
|
|
598
|
+
*/
|
|
599
|
+
goToPrevPanel(): void;
|
|
600
|
+
/**
|
|
601
|
+
* @deprecated Call the [`removePanel(value, true)`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#removePanel) method instead.
|
|
602
|
+
*/
|
|
603
|
+
removePanelUI(value: any): void;
|
|
604
|
+
/**
|
|
605
|
+
* Deletes a panel from the [`panels`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#panels) array.
|
|
606
|
+
* @param value A `PanelModel` instance or zero-based panel index.
|
|
607
|
+
* @param confirmDelete *(Optional)* Pass `true` if you want to perform additional actions: check whether the panel [can be removed](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#canRemovePanel) and display a confirmation dialog.
|
|
608
|
+
* @see addPanel
|
|
609
|
+
*/
|
|
610
|
+
removePanel(value: any, confirmDelete?: boolean): void;
|
|
611
|
+
private removedPanelIndex;
|
|
612
|
+
private removePanelCore;
|
|
613
|
+
private getVisualPanelIndex;
|
|
614
|
+
private getPanelVisibleIndexById;
|
|
615
|
+
locStrsChanged(): void;
|
|
616
|
+
clearIncorrectValues(): void;
|
|
617
|
+
clearErrors(): void;
|
|
618
|
+
getQuestionFromArray(name: string, index: number): IQuestion;
|
|
619
|
+
private clearIncorrectValuesInPanel;
|
|
620
|
+
private iscorrectValueWithPostPrefix;
|
|
621
|
+
getSharedQuestionFromArray(name: string, panelIndex: number): Question;
|
|
622
|
+
addConditionObjectsByContext(objects: Array<IConditionObject>, context: any): void;
|
|
623
|
+
protected collectNestedQuestionsCore(questions: Question[], visibleOnly: boolean): void;
|
|
624
|
+
getConditionJson(operator?: string, path?: string): any;
|
|
625
|
+
protected onReadOnlyChanged(): void;
|
|
626
|
+
private updateNoEntriesTextDefaultLoc;
|
|
627
|
+
onSurveyLoad(): void;
|
|
628
|
+
private hasPanelBuildFirstTime;
|
|
629
|
+
private isBuildingPanelsFirstTime;
|
|
630
|
+
private buildPanelsFirstTime;
|
|
631
|
+
private get showAddPanelButton();
|
|
632
|
+
private get wasNotRenderedInSurvey();
|
|
633
|
+
private get canBuildPanels();
|
|
634
|
+
protected onFirstRenderingCore(): void;
|
|
635
|
+
localeChanged(): void;
|
|
636
|
+
protected runConditionCore(values: HashTable<any>, properties: HashTable<any>): void;
|
|
637
|
+
runTriggers(name: string, value: any, keys?: any): void;
|
|
638
|
+
private reRunCondition;
|
|
639
|
+
protected runPanelsCondition(panels: PanelModel[], values: HashTable<any>, properties: HashTable<any>): void;
|
|
640
|
+
onAnyValueChanged(name: string, questionName: string): void;
|
|
641
|
+
private hasKeysDuplicated;
|
|
642
|
+
private updatePanelsContainsErrors;
|
|
643
|
+
hasErrors(fireCallback?: boolean, rec?: any): boolean;
|
|
644
|
+
protected getContainsErrors(): boolean;
|
|
645
|
+
protected getIsAnswered(): boolean;
|
|
646
|
+
protected clearValueOnHidding(isClearOnHidden: boolean): void;
|
|
647
|
+
clearValueIfInvisible(reason?: string): void;
|
|
648
|
+
private clearValueInPanelsIfInvisible;
|
|
649
|
+
protected getIsRunningValidators(): boolean;
|
|
650
|
+
getAllErrors(): Array<SurveyError>;
|
|
651
|
+
protected getDisplayValueCore(keysAsText: boolean, value: any): any;
|
|
652
|
+
private getPanelDisplayValue;
|
|
653
|
+
private hasErrorInPanels;
|
|
654
|
+
private setOnCompleteAsyncInPanel;
|
|
655
|
+
private isValueDuplicated;
|
|
656
|
+
getPanelActions(panel: PanelModel): Array<IAction>;
|
|
657
|
+
canRenderRemovePanelOnRight(panel: PanelModel): boolean;
|
|
658
|
+
private canRenderRemovePanel;
|
|
659
|
+
protected createNewPanel(): PanelModel;
|
|
660
|
+
protected createAndSetupNewPanelObject(): PanelModel;
|
|
661
|
+
private getTemplateQuestionTitleLocation;
|
|
662
|
+
getChildErrorLocation(child: Question): string;
|
|
663
|
+
protected createNewPanelObject(): PanelModel;
|
|
664
|
+
private settingPanelCountBasedOnValue;
|
|
665
|
+
private setPanelCountBasedOnValue;
|
|
666
|
+
setQuestionValue(newValue: any): void;
|
|
667
|
+
onSurveyValueChanged(newValue: any): void;
|
|
668
|
+
private isAllPanelsEmpty;
|
|
669
|
+
private panelUpdateValueFromSurvey;
|
|
670
|
+
private panelSurveyValueChanged;
|
|
671
|
+
protected onSetData(): void;
|
|
672
|
+
protected isNewValueCorrect(val: any): boolean;
|
|
673
|
+
getItemIndex(item: ISurveyData): number;
|
|
674
|
+
getVisibleItemIndex(item: ISurveyData): number;
|
|
675
|
+
getPanelItemData(item: ISurveyData): any;
|
|
676
|
+
private isSetPanelItemData;
|
|
677
|
+
private static maxCheckCount;
|
|
678
|
+
setPanelItemData(item: ISurveyData, name: string, val: any): void;
|
|
679
|
+
getRootData(): ISurveyData;
|
|
680
|
+
getPlainData(options?: IPlainDataOptions): IQuestionPlainData;
|
|
681
|
+
updateElementCss(reNew?: boolean): void;
|
|
682
|
+
get progressText(): string;
|
|
683
|
+
get progress(): string;
|
|
684
|
+
getRootCss(): string;
|
|
685
|
+
get cssHeader(): string;
|
|
686
|
+
getPanelWrapperCss(panel: PanelModel): string;
|
|
687
|
+
getPanelRemoveButtonCss(): string;
|
|
688
|
+
getAddButtonCss(): string;
|
|
689
|
+
getPrevButtonCss(): string;
|
|
690
|
+
getNextButtonCss(): string;
|
|
691
|
+
/**
|
|
692
|
+
* A text displayed when Dynamic Panel contains no entries.
|
|
693
|
+
*/
|
|
694
|
+
get noEntriesText(): string;
|
|
695
|
+
set noEntriesText(val: string);
|
|
696
|
+
get locNoEntriesText(): LocalizableString;
|
|
697
|
+
getShowNoEntriesPlaceholder(): boolean;
|
|
698
|
+
needResponsiveWidth(): boolean;
|
|
699
|
+
private additionalTitleToolbarValue;
|
|
700
|
+
get hasAdditionalTitleToolbar(): boolean;
|
|
701
|
+
protected getAdditionalTitleToolbar(): AdaptiveActionContainer | null;
|
|
702
|
+
private footerToolbarValue;
|
|
703
|
+
get footerToolbar(): ActionContainer;
|
|
704
|
+
legacyNavigation: boolean;
|
|
705
|
+
private updateFooterActionsCallback;
|
|
706
|
+
private updateFooterActions;
|
|
707
|
+
private initFooterToolbar;
|
|
708
|
+
private createTabByPanel;
|
|
709
|
+
private getAdditionalTitleToolbarCss;
|
|
710
|
+
private updateTabToolbarItemsPressedState;
|
|
711
|
+
private updateTabToolbar;
|
|
712
|
+
private addTabFromToolbar;
|
|
713
|
+
private removeTabFromToolbar;
|
|
714
|
+
get showLegacyNavigation(): boolean;
|
|
715
|
+
get showNavigation(): boolean;
|
|
716
|
+
showSeparator(index: number): boolean;
|
|
717
|
+
protected calcCssClasses(css: any): any;
|
|
718
|
+
protected onMobileChanged(): void;
|
|
719
|
+
}
|