survey-core 1.9.136 → 1.9.138
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/defaultV2.css +353 -9
- package/defaultV2.css.map +1 -1
- package/defaultV2.fontless.css +353 -9
- 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/basque.js +1 -1
- package/i18n/basque.min.js +1 -1
- package/i18n/bulgarian.js +1 -1
- package/i18n/bulgarian.min.js +1 -1
- package/i18n/catalan.js +1 -1
- package/i18n/catalan.min.js +1 -1
- package/i18n/croatian.js +1 -1
- package/i18n/croatian.min.js +1 -1
- package/i18n/czech.js +1 -1
- package/i18n/czech.min.js +1 -1
- package/i18n/danish.js +1 -1
- package/i18n/danish.min.js +1 -1
- package/i18n/dutch.js +1 -1
- package/i18n/dutch.min.js +1 -1
- package/i18n/english.js +1 -1
- package/i18n/english.min.js +1 -1
- package/i18n/estonian.js +1 -1
- package/i18n/estonian.min.js +1 -1
- package/i18n/finnish.js +1 -1
- package/i18n/finnish.min.js +1 -1
- package/i18n/french.js +1 -1
- package/i18n/french.min.js +1 -1
- package/i18n/georgian.js +1 -1
- package/i18n/georgian.min.js +1 -1
- package/i18n/german.js +2 -2
- package/i18n/german.js.map +1 -1
- package/i18n/german.min.js +2 -2
- package/i18n/greek.js +1 -1
- package/i18n/greek.min.js +1 -1
- package/i18n/hebrew.js +2 -2
- package/i18n/hebrew.js.map +1 -1
- package/i18n/hebrew.min.js +2 -2
- package/i18n/hindi.js +1 -1
- package/i18n/hindi.min.js +1 -1
- package/i18n/hungarian.js +1 -1
- package/i18n/hungarian.min.js +1 -1
- package/i18n/icelandic.js +1 -1
- package/i18n/icelandic.min.js +1 -1
- package/i18n/index.js +3 -3
- package/i18n/index.js.map +1 -1
- package/i18n/index.min.js +2 -2
- package/i18n/indonesian.js +1 -1
- package/i18n/indonesian.min.js +1 -1
- package/i18n/italian.js +1 -1
- package/i18n/italian.min.js +1 -1
- package/i18n/japanese.js +1 -1
- package/i18n/japanese.min.js +1 -1
- package/i18n/kazakh.js +1 -1
- package/i18n/kazakh.min.js +1 -1
- package/i18n/korean.js +1 -1
- package/i18n/korean.min.js +1 -1
- package/i18n/latvian.js +1 -1
- package/i18n/latvian.min.js +1 -1
- package/i18n/lithuanian.js +1 -1
- package/i18n/lithuanian.min.js +1 -1
- package/i18n/macedonian.js +1 -1
- package/i18n/macedonian.min.js +1 -1
- package/i18n/malay.js +1 -1
- package/i18n/malay.min.js +1 -1
- package/i18n/nl-BE.js +1 -1
- package/i18n/nl-BE.min.js +1 -1
- package/i18n/norwegian.js +1 -1
- package/i18n/norwegian.min.js +1 -1
- package/i18n/persian.js +1 -1
- package/i18n/persian.min.js +1 -1
- package/i18n/polish.js +1 -1
- package/i18n/polish.min.js +1 -1
- package/i18n/portuguese-br.js +1 -1
- package/i18n/portuguese-br.min.js +1 -1
- package/i18n/portuguese.js +1 -1
- package/i18n/portuguese.min.js +1 -1
- package/i18n/romanian.js +1 -1
- package/i18n/romanian.min.js +1 -1
- package/i18n/russian.js +1 -1
- package/i18n/russian.min.js +1 -1
- package/i18n/serbian.js +1 -1
- package/i18n/serbian.min.js +1 -1
- package/i18n/simplified-chinese.js +1 -1
- package/i18n/simplified-chinese.min.js +1 -1
- package/i18n/slovak.js +1 -1
- package/i18n/slovak.min.js +1 -1
- package/i18n/spanish.js +1 -1
- package/i18n/spanish.min.js +1 -1
- package/i18n/swahili.js +1 -1
- package/i18n/swahili.min.js +1 -1
- package/i18n/swedish.js +1 -1
- package/i18n/swedish.min.js +1 -1
- package/i18n/tajik.js +1 -1
- package/i18n/tajik.min.js +1 -1
- package/i18n/telugu.js +1 -1
- package/i18n/telugu.min.js +1 -1
- package/i18n/thai.js +1 -1
- package/i18n/thai.min.js +1 -1
- package/i18n/traditional-chinese.js +1 -1
- package/i18n/traditional-chinese.min.js +1 -1
- package/i18n/turkish.js +1 -1
- package/i18n/turkish.min.js +1 -1
- package/i18n/ukrainian.js +1 -1
- package/i18n/ukrainian.min.js +1 -1
- package/i18n/urdu.js +1 -1
- package/i18n/urdu.min.js +1 -1
- package/i18n/vietnamese.js +1 -1
- package/i18n/vietnamese.min.js +1 -1
- package/i18n/welsh.js +1 -1
- package/i18n/welsh.min.js +1 -1
- package/modern.css +187 -1
- package/modern.css.map +1 -1
- package/modern.fontless.css +187 -1
- package/modern.fontless.css.map +1 -1
- package/modern.fontless.min.css +2 -2
- package/modern.min.css +2 -2
- package/package.json +1 -1
- package/plugins/bootstrap-integration.js +1 -1
- package/plugins/bootstrap-integration.min.js +1 -1
- package/plugins/bootstrap-material-integration.js +1 -1
- package/plugins/bootstrap-material-integration.min.js +1 -1
- package/survey.core.js +1218 -233
- package/survey.core.js.map +1 -1
- package/survey.core.min.js +3 -3
- package/survey.css +1 -1
- package/survey.css.map +1 -1
- package/survey.i18n.js +3 -3
- package/survey.i18n.js.map +1 -1
- package/survey.i18n.min.js +2 -2
- 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.js +1 -1
- package/themes/borderless-dark.min.js +1 -1
- package/themes/borderless-light-panelless..js +1 -1
- package/themes/borderless-light-panelless..min.js +1 -1
- package/themes/borderless-light.js +1 -1
- package/themes/borderless-light.min.js +1 -1
- package/themes/contrast-dark-panelless.js +1 -1
- package/themes/contrast-dark-panelless.min.js +1 -1
- package/themes/contrast-dark.js +1 -1
- package/themes/contrast-dark.min.js +1 -1
- package/themes/contrast-light-panelless.js +1 -1
- package/themes/contrast-light-panelless.min.js +1 -1
- package/themes/contrast-light.js +1 -1
- package/themes/contrast-light.min.js +1 -1
- package/themes/default-dark-panelless.js +1 -1
- package/themes/default-dark-panelless.min.js +1 -1
- package/themes/default-dark.js +1 -1
- package/themes/default-dark.min.js +1 -1
- package/themes/default-light-panelless.js +1 -1
- package/themes/default-light-panelless.min.js +1 -1
- package/themes/default-light.js +1 -1
- package/themes/default-light.min.js +1 -1
- package/themes/doubleborder-dark-panelless.js +1 -1
- package/themes/doubleborder-dark-panelless.min.js +1 -1
- package/themes/doubleborder-dark.js +1 -1
- package/themes/doubleborder-dark.min.js +1 -1
- package/themes/doubleborder-light-panelles.js +1 -1
- package/themes/doubleborder-light-panelles.min.js +1 -1
- package/themes/doubleborder-light.js +1 -1
- package/themes/doubleborder-light.min.js +1 -1
- package/themes/flat-dark-panelless.js +1 -1
- package/themes/flat-dark-panelless.min.js +1 -1
- package/themes/flat-dark.js +1 -1
- package/themes/flat-dark.min.js +1 -1
- package/themes/flat-light-panelless.js +1 -1
- package/themes/flat-light-panelless.min.js +1 -1
- package/themes/flat-light.js +1 -1
- package/themes/flat-light.min.js +1 -1
- package/themes/index.js +1 -1
- package/themes/index.min.js +1 -1
- package/themes/layered-dark-panelless.js +1 -1
- package/themes/layered-dark-panelless.min.js +1 -1
- package/themes/layered-dark.js +1 -1
- package/themes/layered-dark.min.js +1 -1
- package/themes/layered-light-panelless.js +1 -1
- package/themes/layered-light-panelless.min.js +1 -1
- package/themes/layered-light.js +1 -1
- package/themes/layered-light.min.js +1 -1
- package/themes/plain-dark-panelless.js +1 -1
- package/themes/plain-dark-panelless.min.js +1 -1
- package/themes/plain-dark.js +1 -1
- package/themes/plain-dark.min.js +1 -1
- package/themes/plain-light-panelless.js +1 -1
- package/themes/plain-light-panelless.min.js +1 -1
- package/themes/plain-light.js +1 -1
- package/themes/plain-light.min.js +1 -1
- package/themes/sharp-dark-panelless.js +1 -1
- package/themes/sharp-dark-panelless.min.js +1 -1
- package/themes/sharp-dark.js +1 -1
- package/themes/sharp-dark.min.js +1 -1
- package/themes/sharp-light-panelless.js +1 -1
- package/themes/sharp-light-panelless.min.js +1 -1
- package/themes/sharp-light.js +1 -1
- package/themes/sharp-light.min.js +1 -1
- package/themes/solid-dark-panelless.js +1 -1
- package/themes/solid-dark-panelless.min.js +1 -1
- package/themes/solid-dark.js +1 -1
- package/themes/solid-dark.min.js +1 -1
- package/themes/solid-light-panelless.js +1 -1
- package/themes/solid-light-panelless.min.js +1 -1
- package/themes/solid-light.js +1 -1
- package/themes/solid-light.min.js +1 -1
- package/themes/three-dimensional-dark-panelless.js +1 -1
- package/themes/three-dimensional-dark-panelless.min.js +1 -1
- package/themes/three-dimensional-dark.js +1 -1
- package/themes/three-dimensional-dark.min.js +1 -1
- package/themes/three-dimensional-light-panelless.js +1 -1
- package/themes/three-dimensional-light-panelless.min.js +1 -1
- package/themes/three-dimensional-light.js +1 -1
- package/themes/three-dimensional-light.min.js +1 -1
- package/ts3.4/typings/base.d.ts +4 -4
- package/ts3.4/typings/defaultCss/defaultV2Css.d.ts +14 -0
- package/ts3.4/typings/dragdrop/matrix-rows.d.ts +2 -1
- package/ts3.4/typings/dragdrop/ranking-choices.d.ts +1 -1
- package/ts3.4/typings/dragdrop/ranking-select-to-rank.d.ts +6 -3
- package/ts3.4/typings/entries/core-wo-model.d.ts +1 -0
- package/ts3.4/typings/mask/input_element_adapter.d.ts +1 -0
- package/ts3.4/typings/mask/mask_datetime.d.ts +12 -2
- package/ts3.4/typings/mask/mask_numeric.d.ts +1 -1
- package/ts3.4/typings/panel.d.ts +17 -4
- package/ts3.4/typings/popup-view-model.d.ts +14 -5
- package/ts3.4/typings/question_custom.d.ts +11 -0
- package/ts3.4/typings/question_imagepicker.d.ts +36 -6
- package/ts3.4/typings/question_matrixdropdowncolumn.d.ts +1 -2
- package/ts3.4/typings/question_matrixdynamic.d.ts +1 -0
- package/ts3.4/typings/question_multipletext.d.ts +67 -20
- package/ts3.4/typings/question_ranking.d.ts +12 -3
- package/ts3.4/typings/question_text.d.ts +2 -0
- package/ts3.4/typings/survey-element.d.ts +12 -1
- package/ts3.4/typings/utils/animation.d.ts +54 -0
- package/ts3.4/typings/utils/taskmanager.d.ts +28 -0
- package/typings/base.d.ts +4 -4
- package/typings/defaultCss/defaultV2Css.d.ts +14 -0
- package/typings/dragdrop/matrix-rows.d.ts +2 -1
- package/typings/dragdrop/ranking-choices.d.ts +1 -1
- package/typings/dragdrop/ranking-select-to-rank.d.ts +6 -3
- package/typings/entries/core-wo-model.d.ts +1 -0
- package/typings/mask/input_element_adapter.d.ts +1 -0
- package/typings/mask/mask_datetime.d.ts +12 -2
- package/typings/mask/mask_numeric.d.ts +1 -1
- package/typings/panel.d.ts +18 -3
- package/typings/popup-view-model.d.ts +15 -5
- package/typings/question_custom.d.ts +11 -0
- package/typings/question_imagepicker.d.ts +36 -6
- package/typings/question_matrixdropdowncolumn.d.ts +1 -2
- package/typings/question_matrixdynamic.d.ts +2 -0
- package/typings/question_multipletext.d.ts +70 -20
- package/typings/question_ranking.d.ts +12 -1
- package/typings/question_text.d.ts +2 -0
- package/typings/survey-element.d.ts +15 -1
- package/typings/utils/animation.d.ts +50 -0
- package/typings/utils/taskmanager.d.ts +28 -0
|
@@ -6,6 +6,7 @@ import { QuestionTextModel } from "./question_text";
|
|
|
6
6
|
import { SurveyError } from "./survey-error";
|
|
7
7
|
import { ILocalizableOwner, LocalizableString } from "./localizablestring";
|
|
8
8
|
import { HashTable } from "./helpers";
|
|
9
|
+
import { InputMaskBase } from "./mask/mask_base";
|
|
9
10
|
export interface IMultipleTextData extends ILocalizableOwner, IPanel {
|
|
10
11
|
getSurvey(): ISurvey;
|
|
11
12
|
getTextProcessor(): ITextProcessor;
|
|
@@ -21,9 +22,9 @@ export declare class MultipleTextEditorModel extends QuestionTextModel {
|
|
|
21
22
|
readonly a11y_input_ariaDescribedBy: string;
|
|
22
23
|
}
|
|
23
24
|
/**
|
|
24
|
-
* A class that describes an item
|
|
25
|
+
* A class that describes an [item](https://surveyjs.io/form-library/documentation/api-reference/multiple-text-entry-question-model#items) in a Multiple Textboxes question.
|
|
25
26
|
*
|
|
26
|
-
* [View Demo](https://surveyjs.io/form-library/examples/multiple-text-box-question/)
|
|
27
|
+
* [View Demo](https://surveyjs.io/form-library/examples/multiple-text-box-question/ (linkStyle))
|
|
27
28
|
*/
|
|
28
29
|
export declare class MultipleTextItemModel extends Base implements IValidatorOwner, ISurveyData, ISurveyImpl {
|
|
29
30
|
private editorValue;
|
|
@@ -34,7 +35,10 @@ export declare class MultipleTextItemModel extends Base implements IValidatorOwn
|
|
|
34
35
|
readonly id: string;
|
|
35
36
|
getOriginalObj(): Base;
|
|
36
37
|
/*
|
|
37
|
-
*
|
|
38
|
+
* An item ID that is not visible to respondents.
|
|
39
|
+
*
|
|
40
|
+
* > Item IDs must be unique.
|
|
41
|
+
* @see title
|
|
38
42
|
*/
|
|
39
43
|
name: string;
|
|
40
44
|
readonly question: Question;
|
|
@@ -46,62 +50,104 @@ export declare class MultipleTextItemModel extends Base implements IValidatorOwn
|
|
|
46
50
|
setData(data: IMultipleTextData): void;
|
|
47
51
|
focusIn: () => void;
|
|
48
52
|
/*
|
|
49
|
-
*
|
|
53
|
+
* Marks the item as required. If a respondent leaves this item empty, the question displays a [validation error](#requiredErrorText).
|
|
50
54
|
*/
|
|
51
55
|
isRequired: boolean;
|
|
52
56
|
/*
|
|
53
|
-
*
|
|
57
|
+
* A value passed on to the [`type`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#input_types) attribute of the underlying `<input>` element.
|
|
58
|
+
*
|
|
59
|
+
* Default value: `"text"`
|
|
54
60
|
*/
|
|
55
61
|
inputType: string;
|
|
56
62
|
/*
|
|
57
|
-
*
|
|
58
|
-
* @see name
|
|
63
|
+
* A user-friendly item label to display. If `title` is undefined, [`name`](https://surveyjs.io/form-library/documentation/api-reference/multipletextitemmodel#name) is displayed instead.
|
|
59
64
|
*/
|
|
60
65
|
title: string;
|
|
61
66
|
readonly locTitle: LocalizableString;
|
|
62
67
|
readonly fullTitle: string;
|
|
63
68
|
/*
|
|
64
|
-
* The maximum text length
|
|
65
|
-
*
|
|
66
|
-
*
|
|
69
|
+
* The maximum text length measured in characters. Assign 0 if the length should be unlimited.
|
|
70
|
+
*
|
|
71
|
+
* Default value: -1 (inherits the actual value from the `SurveyModel`'s [`maxTextLength`](https://surveyjs.io/form-library/documentation/surveymodel#maxTextLength) property).
|
|
67
72
|
*/
|
|
68
73
|
maxLength: number;
|
|
69
74
|
getMaxLength(): any;
|
|
70
75
|
/*
|
|
71
|
-
*
|
|
76
|
+
* A placeholder for the input field.
|
|
72
77
|
*/
|
|
73
78
|
placeholder: string;
|
|
74
79
|
readonly locPlaceholder: LocalizableString;
|
|
75
80
|
placeHolder: string;
|
|
76
81
|
readonly locPlaceHolder: LocalizableString;
|
|
77
82
|
/*
|
|
78
|
-
*
|
|
83
|
+
* Specifies a custom error message for a [required item](#isRequired).
|
|
79
84
|
*/
|
|
80
85
|
requiredErrorText: string;
|
|
81
86
|
readonly locRequiredErrorText: LocalizableString;
|
|
82
87
|
/*
|
|
83
|
-
*
|
|
88
|
+
* A value passed on to the [`size`](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/size) attribute of the underlying `<input>` element.
|
|
89
|
+
*
|
|
90
|
+
* If you want to set a uniform `size` for all text box items, use the [`itemSize`](https://surveyjs.io/form-library/documentation/api-reference/multiple-text-entry-question-model#itemSize) within the Multiple Textboxes configuration.
|
|
84
91
|
*/
|
|
85
92
|
size: number;
|
|
86
93
|
/*
|
|
87
|
-
* An expression
|
|
94
|
+
* An [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) used to calculate the default item value.
|
|
95
|
+
* @see minValueExpression
|
|
96
|
+
* @see maxValueExpression
|
|
88
97
|
*/
|
|
89
98
|
defaultValueExpression: string;
|
|
90
99
|
/*
|
|
91
|
-
*
|
|
100
|
+
* An [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) used to calculate the minimum item value.
|
|
101
|
+
* @see maxValueExpression
|
|
102
|
+
* @see defaultValueExpression
|
|
92
103
|
*/
|
|
93
104
|
minValueExpression: string;
|
|
94
105
|
/*
|
|
95
|
-
*
|
|
106
|
+
* An [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) used to calculate the maximum item value.
|
|
107
|
+
* @see minValueExpression
|
|
108
|
+
* @see defaultValueExpression
|
|
96
109
|
*/
|
|
97
110
|
maxValueExpression: string;
|
|
98
111
|
/*
|
|
99
|
-
*
|
|
112
|
+
* Item validators.
|
|
113
|
+
*
|
|
114
|
+
* [Data Validation](https://surveyjs.io/form-library/documentation/data-validation (linkStyle))
|
|
100
115
|
*/
|
|
101
116
|
validators: Array<SurveyValidator>;
|
|
102
117
|
getValidators(): Array<SurveyValidator>;
|
|
103
118
|
/*
|
|
104
|
-
*
|
|
119
|
+
* Specifies the type of a mask applied to the input.
|
|
120
|
+
*
|
|
121
|
+
* Possible values:
|
|
122
|
+
*
|
|
123
|
+
* - `"none"` (default)
|
|
124
|
+
* - `"numeric"`
|
|
125
|
+
* - `"currency"`
|
|
126
|
+
* - `"datetime"`
|
|
127
|
+
* - `"pattern"`
|
|
128
|
+
*
|
|
129
|
+
* [View Demo](https://surveyjs.io/form-library/examples/masked-input-fields/ (linkStyle))
|
|
130
|
+
* @see maskSettings
|
|
131
|
+
*/
|
|
132
|
+
maskType: string;
|
|
133
|
+
/*
|
|
134
|
+
* An object with properties that configure the mask applied to the input.
|
|
135
|
+
*
|
|
136
|
+
* Available properties depend on the specified [`maskType`](#maskType) and belong to corresponding classes. Refer to the class APIs for a full list of properties:
|
|
137
|
+
*
|
|
138
|
+
* | `maskType` | Class |
|
|
139
|
+
* | ---------- | ----- |
|
|
140
|
+
* | `"numeric"` | [`InputMaskNumeric`](https://surveyjs.io/form-library/documentation/api-reference/inputmasknumeric) |
|
|
141
|
+
* | `"currency"` | [`InputMaskCurrency`](https://surveyjs.io/form-library/documentation/api-reference/inputmaskcurrency) |
|
|
142
|
+
* | `"datetime"` | [`InputMaskDateTime`](https://surveyjs.io/form-library/documentation/api-reference/inputmaskdatetime) |
|
|
143
|
+
* | `"pattern"` | [`InputMaskPattern`](https://surveyjs.io/form-library/documentation/api-reference/inputmaskpattern) |
|
|
144
|
+
*
|
|
145
|
+
* [View Demo](https://surveyjs.io/form-library/examples/masked-input-fields/ (linkStyle))
|
|
146
|
+
*/
|
|
147
|
+
maskSettings: InputMaskBase;
|
|
148
|
+
inputTextAlignment: "left" | "right" | "auto";
|
|
149
|
+
/*
|
|
150
|
+
* An item value.
|
|
105
151
|
*/
|
|
106
152
|
value: any;
|
|
107
153
|
isEmpty(): boolean;
|
|
@@ -145,9 +191,9 @@ export declare class QuestionMultipleTextModel extends Question implements IMult
|
|
|
145
191
|
private editorsOnSurveyLoad;
|
|
146
192
|
private performForEveryEditor;
|
|
147
193
|
/*
|
|
148
|
-
* Gets or sets an array of `MultipleTextItemModel` objects that represent input items.
|
|
194
|
+
* Gets or sets an array of [`MultipleTextItemModel`](https://surveyjs.io/form-library/documentation/api-reference/multipletextitemmodel) objects that represent input items.
|
|
149
195
|
*
|
|
150
|
-
*
|
|
196
|
+
* Each object in this array should have at least the following properties:
|
|
151
197
|
*
|
|
152
198
|
* ```js
|
|
153
199
|
* {
|
|
@@ -169,6 +215,7 @@ export declare class QuestionMultipleTextModel extends Question implements IMult
|
|
|
169
215
|
*/
|
|
170
216
|
addItem(name: string, title?: string): MultipleTextItemModel;
|
|
171
217
|
getItemByName(name: string): MultipleTextItemModel;
|
|
218
|
+
getElementsInDesign(includeHidden?: boolean): Array<IElement>;
|
|
172
219
|
addConditionObjectsByContext(objects: Array<IConditionObject>, context: any): void;
|
|
173
220
|
protected collectNestedQuestionsCore(questions: Question[], visibleOnly: boolean): void;
|
|
174
221
|
getConditionJson(operator?: string, path?: string): any;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { ISurveyImpl } from "./base-interfaces";
|
|
2
2
|
import { DragDropRankingChoices } from "./dragdrop/ranking-choices";
|
|
3
|
+
import { DragDropRankingSelectToRank } from "./dragdrop/ranking-select-to-rank";
|
|
3
4
|
import { ItemValue } from "./itemvalue";
|
|
4
5
|
import { QuestionCheckboxModel } from "./question_checkbox";
|
|
6
|
+
import { AnimationGroup } from "./utils/animation";
|
|
5
7
|
/**
|
|
6
8
|
* A class that describes the Ranking question type.
|
|
7
9
|
*
|
|
@@ -21,6 +23,7 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
|
|
|
21
23
|
readonly ghostPositionCssClass: string;
|
|
22
24
|
getItemIndexClasses(item: ItemValue): string;
|
|
23
25
|
getNumberByIndex(index: number): string;
|
|
26
|
+
private updateRankingChoicesSync;
|
|
24
27
|
setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
|
|
25
28
|
isAnswerCorrect(): boolean;
|
|
26
29
|
readonly requireStrictCompare: boolean;
|
|
@@ -29,16 +32,22 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
|
|
|
29
32
|
localeChanged: () => void;
|
|
30
33
|
private addToValueByVisibleChoices;
|
|
31
34
|
private removeFromValueByVisibleChoices;
|
|
32
|
-
|
|
33
|
-
|
|
35
|
+
private getChoicesAnimation;
|
|
36
|
+
private _rankingChoicesAnimation;
|
|
37
|
+
readonly rankingChoicesAnimation: AnimationGroup<ItemValue>;
|
|
38
|
+
private _unRankingChoicesAnimation;
|
|
39
|
+
readonly unRankingChoicesAnimation: AnimationGroup<ItemValue>;
|
|
40
|
+
rankingChoices: Array<ItemValue>;
|
|
41
|
+
unRankingChoices: Array<ItemValue>;
|
|
34
42
|
private updateRankingChoices;
|
|
43
|
+
updateUnRankingChoices(newRankingChoices: Array<ItemValue>): void;
|
|
35
44
|
private updateRankingChoicesSelectToRankMode;
|
|
36
45
|
dragDropRankingChoices: DragDropRankingChoices;
|
|
37
46
|
currentDropTarget: ItemValue;
|
|
38
47
|
dropTargetNodeMove: string;
|
|
39
48
|
endLoadingFromJson(): void;
|
|
40
49
|
private setDragDropRankingChoices;
|
|
41
|
-
protected createDragDropRankingChoices(): DragDropRankingChoices;
|
|
50
|
+
protected createDragDropRankingChoices(): DragDropRankingChoices | DragDropRankingSelectToRank;
|
|
42
51
|
handlePointerDown: (event: PointerEvent, choice: ItemValue, node: HTMLElement) => void;
|
|
43
52
|
private isDragStartNodeValid;
|
|
44
53
|
private readonly allowStartDrag: any;
|
|
@@ -59,6 +59,8 @@ export declare class QuestionTextModel extends QuestionTextBase {
|
|
|
59
59
|
onSurveyLoad(): void;
|
|
60
60
|
/*
|
|
61
61
|
* A value passed on to the [`type`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#input_types) attribute of the underlying `<input>` element.
|
|
62
|
+
*
|
|
63
|
+
* Default value: `"text"`
|
|
62
64
|
*/
|
|
63
65
|
inputType: string;
|
|
64
66
|
getMaxLength(): any;
|
|
@@ -316,7 +316,7 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
|
|
|
316
316
|
protected setPage(parent: IPanel, newPage: IPage): void;
|
|
317
317
|
protected getSearchableLocKeys(keys: Array<string>): void;
|
|
318
318
|
readonly isDefaultV2Theme: boolean;
|
|
319
|
-
readonly hasParent:
|
|
319
|
+
readonly hasParent: boolean;
|
|
320
320
|
isSingleInRow: boolean;
|
|
321
321
|
private shouldAddRunnerStyles;
|
|
322
322
|
protected readonly isCompact: boolean;
|
|
@@ -383,5 +383,16 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
|
|
|
383
383
|
protected getAdditionalTitleToolbar(): ActionContainer | null;
|
|
384
384
|
protected getCssTitle(cssClasses: any): string;
|
|
385
385
|
localeChanged(): void;
|
|
386
|
+
private wrapperElement?;
|
|
387
|
+
setWrapperElement(element?: HTMLElement): void;
|
|
388
|
+
getWrapperElement(): HTMLElement;
|
|
389
|
+
private _renderedIsExpanded;
|
|
390
|
+
private _isAnimatingCollapseExpand;
|
|
391
|
+
private isAnimatingCollapseExpand: any;
|
|
392
|
+
private getExpandCollapseAnimationOptions;
|
|
393
|
+
private animationCollapsed;
|
|
394
|
+
renderedIsExpanded: boolean;
|
|
395
|
+
private animationAllowedValue;
|
|
396
|
+
animationAllowed: boolean;
|
|
386
397
|
dispose(): void;
|
|
387
398
|
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export interface AnimationOptions {
|
|
2
|
+
cssClass: string;
|
|
3
|
+
onBeforeRunAnimation?: (element: HTMLElement) => void;
|
|
4
|
+
onAfterRunAnimation?: (element: HTMLElement) => void;
|
|
5
|
+
}
|
|
6
|
+
export interface IAnimationConsumer<T extends Array<any> = [
|
|
7
|
+
]> {
|
|
8
|
+
getLeaveOptions(...args: T): AnimationOptions;
|
|
9
|
+
getEnterOptions(...args: T): AnimationOptions;
|
|
10
|
+
getAnimatedElement(...args: T): HTMLElement;
|
|
11
|
+
isAnimationEnabled(): boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare class AnimationUtils {
|
|
14
|
+
private getMsFromRule;
|
|
15
|
+
private getAnimationsCount;
|
|
16
|
+
private getAnimationDuration;
|
|
17
|
+
private cancelQueue;
|
|
18
|
+
protected onAnimationEnd(element: HTMLElement, callback: (isCancel?: boolean) => void, options: AnimationOptions): void;
|
|
19
|
+
protected beforeAnimationRun(element: HTMLElement, options: AnimationOptions | AnimationOptions): void;
|
|
20
|
+
protected runLeaveAnimation(element: HTMLElement, options: AnimationOptions, callback: () => void): void;
|
|
21
|
+
protected runEnterAnimation(element: HTMLElement, options: AnimationOptions): void;
|
|
22
|
+
cancel(): void;
|
|
23
|
+
}
|
|
24
|
+
export declare class AnimationPropertyUtils extends AnimationUtils {
|
|
25
|
+
onEnter(getElement: () => HTMLElement, options: AnimationOptions): void;
|
|
26
|
+
onLeave(getElement: () => HTMLElement, callback: () => void, options: AnimationOptions): void;
|
|
27
|
+
}
|
|
28
|
+
export declare class AnimationGroupUtils<T> extends AnimationUtils {
|
|
29
|
+
onEnter(getElement: (el: T) => HTMLElement, getOptions: (el: T) => AnimationOptions, elements: Array<T>): void;
|
|
30
|
+
onLeave(getElement: (el: T) => HTMLElement, callback: () => void, getOptions: (el: T) => AnimationOptions, elements: Array<T>): void;
|
|
31
|
+
}
|
|
32
|
+
declare abstract class AnimationProperty<T, S extends Array<any> = [
|
|
33
|
+
]> {
|
|
34
|
+
protected animationOptions: IAnimationConsumer<S>;
|
|
35
|
+
protected update: (val: T) => void;
|
|
36
|
+
protected getCurrentValue: () => T;
|
|
37
|
+
constructor(animationOptions: IAnimationConsumer<S>, update: (val: T) => void, getCurrentValue: () => T);
|
|
38
|
+
protected animation: AnimationUtils;
|
|
39
|
+
protected abstract _sync(newValue: T): void;
|
|
40
|
+
private _debouncedSync;
|
|
41
|
+
sync(newValue: T): void;
|
|
42
|
+
cancel(): void;
|
|
43
|
+
}
|
|
44
|
+
export declare class AnimationBoolean extends AnimationProperty<boolean> {
|
|
45
|
+
protected animation: AnimationPropertyUtils;
|
|
46
|
+
protected _sync(newValue: boolean): void;
|
|
47
|
+
}
|
|
48
|
+
export declare class AnimationGroup<T> extends AnimationProperty<Array<T>, [
|
|
49
|
+
T
|
|
50
|
+
]> {
|
|
51
|
+
protected animation: AnimationGroupUtils<T>;
|
|
52
|
+
protected _sync(newValue: Array<T>): void;
|
|
53
|
+
}
|
|
54
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export interface IExecutable {
|
|
2
|
+
id?: string;
|
|
3
|
+
execute: () => void;
|
|
4
|
+
isCompleted: boolean;
|
|
5
|
+
dispose?: () => void;
|
|
6
|
+
}
|
|
7
|
+
export declare class Task implements IExecutable {
|
|
8
|
+
private func;
|
|
9
|
+
private isMultiple;
|
|
10
|
+
private _isCompleted;
|
|
11
|
+
constructor(func: () => void, isMultiple?: boolean);
|
|
12
|
+
execute: () => void;
|
|
13
|
+
discard(): void;
|
|
14
|
+
readonly isCompleted: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare class TaskManger {
|
|
17
|
+
private interval;
|
|
18
|
+
private static instance;
|
|
19
|
+
private static tasks;
|
|
20
|
+
private constructor();
|
|
21
|
+
static Instance(): TaskManger;
|
|
22
|
+
private tick;
|
|
23
|
+
static schedule(task: IExecutable): void;
|
|
24
|
+
}
|
|
25
|
+
export declare function debounce<T extends (...args: any) => void>(func: T): {
|
|
26
|
+
run: T;
|
|
27
|
+
cancel: () => void;
|
|
28
|
+
};
|
package/typings/base.d.ts
CHANGED
|
@@ -294,12 +294,12 @@ export declare class Base {
|
|
|
294
294
|
private getValueInLowCase;
|
|
295
295
|
getElementsInDesign(includeHidden?: boolean): Array<IElement>;
|
|
296
296
|
}
|
|
297
|
-
export declare class ArrayChanges {
|
|
297
|
+
export declare class ArrayChanges<T = any> {
|
|
298
298
|
index: number;
|
|
299
299
|
deleteCount: number;
|
|
300
|
-
itemsToAdd:
|
|
301
|
-
deletedItems:
|
|
302
|
-
constructor(index: number, deleteCount: number, itemsToAdd:
|
|
300
|
+
itemsToAdd: T[];
|
|
301
|
+
deletedItems: T[];
|
|
302
|
+
constructor(index: number, deleteCount: number, itemsToAdd: T[], deletedItems: T[]);
|
|
303
303
|
}
|
|
304
304
|
export declare class Event<CallbackFunction extends Function, Sender, Options> {
|
|
305
305
|
onCallbacksChanged: () => void;
|
|
@@ -45,6 +45,10 @@ export declare var defaultV2Css: {
|
|
|
45
45
|
edit: string;
|
|
46
46
|
};
|
|
47
47
|
panel: {
|
|
48
|
+
contentFadeIn: string;
|
|
49
|
+
contentFadeOut: string;
|
|
50
|
+
fadeIn: string;
|
|
51
|
+
fadeOut: string;
|
|
48
52
|
asPage: string;
|
|
49
53
|
number: string;
|
|
50
54
|
title: string;
|
|
@@ -67,6 +71,8 @@ export declare var defaultV2Css: {
|
|
|
67
71
|
header: string;
|
|
68
72
|
collapsed: string;
|
|
69
73
|
expanded: string;
|
|
74
|
+
expandable: string;
|
|
75
|
+
expandableAnimating: string;
|
|
70
76
|
nested: string;
|
|
71
77
|
invisible: string;
|
|
72
78
|
navigationButton: string;
|
|
@@ -154,8 +160,14 @@ export declare var defaultV2Css: {
|
|
|
154
160
|
row: string;
|
|
155
161
|
rowMultiple: string;
|
|
156
162
|
rowCompact: string;
|
|
163
|
+
rowFadeIn: string;
|
|
164
|
+
rowFadeOut: string;
|
|
157
165
|
pageRow: string;
|
|
158
166
|
question: {
|
|
167
|
+
contentFadeIn: string;
|
|
168
|
+
contentFadeOut: string;
|
|
169
|
+
fadeIn: string;
|
|
170
|
+
fadeOut: string;
|
|
159
171
|
mainRoot: string;
|
|
160
172
|
flowRoot: string;
|
|
161
173
|
withFrame: string;
|
|
@@ -198,6 +210,8 @@ export declare var defaultV2Css: {
|
|
|
198
210
|
hasErrorTop: string;
|
|
199
211
|
hasErrorBottom: string;
|
|
200
212
|
collapsed: string;
|
|
213
|
+
expandable: string;
|
|
214
|
+
expandableAnimating: string;
|
|
201
215
|
expanded: string;
|
|
202
216
|
nested: string;
|
|
203
217
|
invisible: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MatrixDropdownRowModelBase } from "../question_matrixdropdownbase";
|
|
2
|
-
import { QuestionMatrixDynamicModel } from "../question_matrixdynamic";
|
|
2
|
+
import { QuestionMatrixDynamicModel, MatrixDynamicRowModel } from "../question_matrixdynamic";
|
|
3
3
|
import { DragDropCore } from "./core";
|
|
4
4
|
export declare class DragDropMatrixRows extends DragDropCore<QuestionMatrixDynamicModel> {
|
|
5
5
|
protected get draggedElementType(): string;
|
|
@@ -9,6 +9,7 @@ export declare class DragDropMatrixRows extends DragDropCore<QuestionMatrixDynam
|
|
|
9
9
|
private fromIndex;
|
|
10
10
|
private toIndex;
|
|
11
11
|
protected getDropTargetByDataAttributeValue(dataAttributeValue: any): MatrixDropdownRowModelBase;
|
|
12
|
+
canInsertIntoThisRow(row: MatrixDynamicRowModel): boolean;
|
|
12
13
|
protected isDropTargetValid(dropTarget: any, dropTargetNode?: HTMLElement): boolean;
|
|
13
14
|
protected calculateIsBottom(clientY: number): boolean;
|
|
14
15
|
protected afterDragOver(dropTargetNode: HTMLElement): void;
|
|
@@ -15,6 +15,6 @@ export declare class DragDropRankingChoices extends DragDropChoices {
|
|
|
15
15
|
protected updateDraggedElementShortcut(newIndex: number): void;
|
|
16
16
|
protected ghostPositionChanged(): void;
|
|
17
17
|
protected doBanDropHere: () => any;
|
|
18
|
-
protected doDrop
|
|
18
|
+
protected doDrop(): any;
|
|
19
19
|
clear(): void;
|
|
20
20
|
}
|
|
@@ -12,12 +12,15 @@ export declare class DragDropRankingSelectToRank extends DragDropRankingChoices
|
|
|
12
12
|
fromIndex: number;
|
|
13
13
|
toIndex: number;
|
|
14
14
|
};
|
|
15
|
+
protected calculateIsBottom(clientY: number, dropTargetNode?: HTMLElement): boolean;
|
|
15
16
|
private doUIEffects;
|
|
16
17
|
private get isDraggedElementRanked();
|
|
17
18
|
private get isDropTargetRanked();
|
|
18
19
|
private get isDraggedElementUnranked();
|
|
19
20
|
private get isDropTargetUnranked();
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
private updateChoices;
|
|
22
|
+
selectToRank: (questionModel: QuestionRankingModel, fromIndex: number, toIndex: number) => void;
|
|
23
|
+
unselectFromRank: (questionModel: QuestionRankingModel, fromIndex: number, toIndex?: number) => void;
|
|
24
|
+
reorderRankedItem: (questionModel: QuestionRankingModel, fromIndex: number, toIndex: number, dropTargetNode?: HTMLElement) => void;
|
|
25
|
+
clear(): void;
|
|
23
26
|
}
|
|
@@ -6,6 +6,7 @@ export * from "../rendererFactory";
|
|
|
6
6
|
export * from "../utils/responsivity-manager";
|
|
7
7
|
export { unwrap, getOriginalEvent, getElement } from "../utils/utils";
|
|
8
8
|
export * from "../actions/action";
|
|
9
|
+
export * from "../utils/animation";
|
|
9
10
|
export * from "../actions/adaptive-container";
|
|
10
11
|
export * from "../actions/container";
|
|
11
12
|
export * from "../utils/dragOrClickHelper";
|
|
@@ -6,6 +6,7 @@ export declare class InputElementAdapter {
|
|
|
6
6
|
private prevUnmaskedValue;
|
|
7
7
|
constructor(inputMaskInstance: InputMaskBase, inputElement: HTMLInputElement, value?: string);
|
|
8
8
|
inputMaskInstancePropertyChangedHandler: (sender: any, options: any) => void;
|
|
9
|
+
clickHandler: (event: any) => void;
|
|
9
10
|
beforeInputHandler: (event: any) => void;
|
|
10
11
|
createArgs(event: any): ITextInputParams;
|
|
11
12
|
addInputEventListener(): void;
|
|
@@ -6,6 +6,16 @@ export interface IDateTimeMaskLexem {
|
|
|
6
6
|
count: number;
|
|
7
7
|
maxCount: number;
|
|
8
8
|
}
|
|
9
|
+
interface IDateTimeComposition {
|
|
10
|
+
day: number;
|
|
11
|
+
month: number;
|
|
12
|
+
year: number;
|
|
13
|
+
hour?: number;
|
|
14
|
+
minute?: number;
|
|
15
|
+
second?: number;
|
|
16
|
+
min?: Date;
|
|
17
|
+
max?: Date;
|
|
18
|
+
}
|
|
9
19
|
export declare function getDateTimeLexems(pattern: string): Array<IDateTimeMaskLexem>;
|
|
10
20
|
/**
|
|
11
21
|
* A class that describes an input mask of the `"datetime"` [`maskType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#maskType).
|
|
@@ -46,7 +56,7 @@ export declare class InputMaskDateTime extends InputMaskPattern {
|
|
|
46
56
|
private leaveOnlyNumbers;
|
|
47
57
|
private getMaskedStrFromISO;
|
|
48
58
|
private initInputDateTimeData;
|
|
49
|
-
|
|
59
|
+
getISO_8601Format(dateTime: IDateTimeComposition): string;
|
|
50
60
|
private isYearValid;
|
|
51
61
|
private isDateValid;
|
|
52
62
|
private getPlaceholder;
|
|
@@ -57,9 +67,9 @@ export declare class InputMaskDateTime extends InputMaskPattern {
|
|
|
57
67
|
private getFormatedString;
|
|
58
68
|
private setInputDateTimeData;
|
|
59
69
|
_getMaskedValue(src: string, matchWholeMask?: boolean): string;
|
|
60
|
-
private getPartsOld;
|
|
61
70
|
private getParts;
|
|
62
71
|
getUnmaskedValue(src: string): any;
|
|
63
72
|
getMaskedValue(src: string): string;
|
|
64
73
|
processInput(args: ITextInputParams): IMaskedInputResult;
|
|
65
74
|
}
|
|
75
|
+
export {};
|
|
@@ -75,7 +75,7 @@ export declare class InputMaskNumeric extends InputMaskBase {
|
|
|
75
75
|
private calccaretPosition;
|
|
76
76
|
displayNumber(parsedNumber: INumericalComposition, insertThousandsSeparator?: boolean, matchWholeMask?: boolean): string;
|
|
77
77
|
convertNumber(parsedNumber: INumericalComposition): number;
|
|
78
|
-
validateNumber(number: INumericalComposition): boolean;
|
|
78
|
+
validateNumber(number: INumericalComposition, matchWholeMask: boolean): boolean;
|
|
79
79
|
parseNumber(src: string | number): INumericalComposition;
|
|
80
80
|
getNumberMaskedValue(src: string | number, matchWholeMask?: boolean): string;
|
|
81
81
|
private getNumberUnmaskedValue;
|
package/typings/panel.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ import { SurveyError } from "./survey-error";
|
|
|
9
9
|
import { IAction } from "./actions/action";
|
|
10
10
|
import { ActionContainer } from "./actions/container";
|
|
11
11
|
import { DragDropInfo } from "./drag-drop-helper-v1";
|
|
12
|
+
import { AnimationGroup } from "./utils/animation";
|
|
12
13
|
export declare class QuestionRowModel extends Base {
|
|
13
14
|
panel: PanelModelBase;
|
|
14
15
|
private static rowCounter;
|
|
@@ -24,8 +25,13 @@ export declare class QuestionRowModel extends Base {
|
|
|
24
25
|
setIsLazyRendering(val: boolean): void;
|
|
25
26
|
isLazyRendering(): boolean;
|
|
26
27
|
get id(): string;
|
|
28
|
+
protected equalsCore(obj: Base): boolean;
|
|
27
29
|
get elements(): Array<IElement>;
|
|
30
|
+
private getVisibleElementsAnimationOptions;
|
|
31
|
+
visibleElementsAnimation: AnimationGroup<IElement>;
|
|
32
|
+
set visibleElements(val: Array<IElement>);
|
|
28
33
|
get visibleElements(): Array<IElement>;
|
|
34
|
+
onVisibleChangedCallback: () => void;
|
|
29
35
|
get visible(): boolean;
|
|
30
36
|
set visible(val: boolean);
|
|
31
37
|
get isNeedRender(): boolean;
|
|
@@ -37,11 +43,12 @@ export declare class QuestionRowModel extends Base {
|
|
|
37
43
|
private getRenderedCalcWidth;
|
|
38
44
|
private getElementWidth;
|
|
39
45
|
private getRenderedWidthFromWidth;
|
|
40
|
-
private calcVisible;
|
|
41
|
-
private needToUpdateVisibleElements;
|
|
42
46
|
dragTypeOverMe: DragTypeOverMeEnum;
|
|
43
47
|
dispose(): void;
|
|
44
48
|
getRowCss(): string;
|
|
49
|
+
private rootElement?;
|
|
50
|
+
setRootElement(element?: HTMLElement): void;
|
|
51
|
+
getRootElement(): HTMLElement;
|
|
45
52
|
}
|
|
46
53
|
/**
|
|
47
54
|
* A base class for the [PanelModel](https://surveyjs.io/form-library/documentation/panelmodel) and [PageModel](https://surveyjs.io/form-library/documentation/pagemodel) classes.
|
|
@@ -56,6 +63,13 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
|
|
|
56
63
|
removeElementCallback: (element: IElement) => void;
|
|
57
64
|
onGetQuestionTitleLocation: () => string;
|
|
58
65
|
private dragDropPanelHelper;
|
|
66
|
+
onAddRow(row: QuestionRowModel): void;
|
|
67
|
+
private getRowsAnimationOptions;
|
|
68
|
+
private rowsAnimation;
|
|
69
|
+
get visibleRows(): Array<QuestionRowModel>;
|
|
70
|
+
set visibleRows(val: Array<QuestionRowModel>);
|
|
71
|
+
onRemoveRow(row: QuestionRowModel): void;
|
|
72
|
+
onRowVisibleChanged(): void;
|
|
59
73
|
constructor(name?: string);
|
|
60
74
|
getType(): string;
|
|
61
75
|
setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
|
|
@@ -327,7 +341,8 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
|
|
|
327
341
|
* @see visible
|
|
328
342
|
*/
|
|
329
343
|
get isVisible(): boolean;
|
|
330
|
-
|
|
344
|
+
getIsContentVisible(exceptionQuestion?: IQuestion): boolean;
|
|
345
|
+
getIsPageVisible(exceptionQuestion?: IQuestion): boolean;
|
|
331
346
|
private lastVisibleIndex;
|
|
332
347
|
setVisibleIndex(index: number): number;
|
|
333
348
|
private updateVisibleIndexes;
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { Base } from "./base";
|
|
1
|
+
import { Base, EventBase } from "./base";
|
|
2
2
|
import { PopupModel } from "./popup";
|
|
3
3
|
import { CssClassBuilder } from "./utils/cssClassBuilder";
|
|
4
4
|
import { ActionContainer } from "./actions/container";
|
|
5
|
+
import { AnimationOptions, IAnimationConsumer } from "./utils/animation";
|
|
5
6
|
export declare const FOCUS_INPUT_SELECTOR = "input:not(:disabled):not([readonly]):not([type=hidden]),select:not(:disabled):not([readonly]),textarea:not(:disabled):not([readonly]), button:not(:disabled):not([readonly]), [tabindex]:not([tabindex^=\"-\"])";
|
|
6
|
-
export declare class PopupBaseViewModel extends Base {
|
|
7
|
-
private static SubscriptionId;
|
|
8
|
-
private subscriptionId;
|
|
7
|
+
export declare class PopupBaseViewModel extends Base implements IAnimationConsumer {
|
|
9
8
|
protected popupSelector: string;
|
|
10
9
|
protected fixedPopupContainer: string;
|
|
11
10
|
protected containerSelector: string;
|
|
@@ -17,8 +16,18 @@ export declare class PopupBaseViewModel extends Base {
|
|
|
17
16
|
height: string;
|
|
18
17
|
width: string;
|
|
19
18
|
minWidth: string;
|
|
20
|
-
|
|
19
|
+
_isVisible: boolean;
|
|
21
20
|
locale: string;
|
|
21
|
+
private updateIsVisible;
|
|
22
|
+
private visibilityAnimation;
|
|
23
|
+
getLeaveOptions(): AnimationOptions;
|
|
24
|
+
getEnterOptions(): AnimationOptions;
|
|
25
|
+
getAnimatedElement(): HTMLElement;
|
|
26
|
+
isAnimationEnabled(): boolean;
|
|
27
|
+
private getAnimationContainer;
|
|
28
|
+
set isVisible(val: boolean);
|
|
29
|
+
get isVisible(): boolean;
|
|
30
|
+
onVisibilityChanged: EventBase<PopupBaseViewModel, any>;
|
|
22
31
|
get container(): HTMLElement;
|
|
23
32
|
private containerElement;
|
|
24
33
|
private createdContainer;
|
|
@@ -31,6 +40,7 @@ export declare class PopupBaseViewModel extends Base {
|
|
|
31
40
|
protected createFooterActionBar(): void;
|
|
32
41
|
protected resetDimensionsAndPositionStyleProperties(): void;
|
|
33
42
|
protected onModelChanging(newModel: PopupModel): void;
|
|
43
|
+
private onModelIsVisibleChangedCallback;
|
|
34
44
|
private setupModel;
|
|
35
45
|
private _model;
|
|
36
46
|
get model(): PopupModel;
|
|
@@ -6,6 +6,7 @@ import { SurveyElement } from "./survey-element";
|
|
|
6
6
|
import { PanelModel } from "./panel";
|
|
7
7
|
import { HashTable } from "./helpers";
|
|
8
8
|
import { ItemValue } from "./itemvalue";
|
|
9
|
+
import { SurveyError } from "./survey-error";
|
|
9
10
|
/**
|
|
10
11
|
* An interface used to create custom question types.
|
|
11
12
|
*
|
|
@@ -224,6 +225,13 @@ export interface ICustomQuestionTypeConfiguration {
|
|
|
224
225
|
* @see questionJSON
|
|
225
226
|
*/
|
|
226
227
|
createQuestion?: any;
|
|
228
|
+
/**
|
|
229
|
+
* A function that allows you to display different error texts based on conditions.
|
|
230
|
+
* @param question A custom question. Use the `question.value` property to access the question's value.
|
|
231
|
+
* @returns An error text.
|
|
232
|
+
*/
|
|
233
|
+
getErrorText?: (question: Question) => string;
|
|
234
|
+
onSetQuestionValue?: (question: Question, newValue: any) => void;
|
|
227
235
|
valueToQuestion?: (val: any) => any;
|
|
228
236
|
valueFromQuestion?: (val: any) => any;
|
|
229
237
|
getValue?: (val: any) => any;
|
|
@@ -240,9 +248,11 @@ export declare class ComponentQuestionJSON {
|
|
|
240
248
|
onAfterRender(question: Question, htmlElement: any): void;
|
|
241
249
|
onAfterRenderContentElement(question: Question, element: Question, htmlElement: any): void;
|
|
242
250
|
onUpdateQuestionCssClasses(question: Question, element: Question, css: any): void;
|
|
251
|
+
onSetQuestionValue(question: Question, newValue: any): void;
|
|
243
252
|
onPropertyChanged(question: Question, propertyName: string, newValue: any): void;
|
|
244
253
|
onValueChanged(question: Question, name: string, newValue: any): void;
|
|
245
254
|
onValueChanging(question: Question, name: string, newValue: any): any;
|
|
255
|
+
onGetErrorText(question: Question): string;
|
|
246
256
|
onItemValuePropertyChanged(question: Question, item: ItemValue, propertyName: string, name: string, newValue: any): void;
|
|
247
257
|
getDisplayValue(keyAsText: boolean, value: any, question: Question): any;
|
|
248
258
|
get defaultQuestionTitle(): any;
|
|
@@ -295,6 +305,7 @@ export declare abstract class QuestionCustomModelBase extends Question implement
|
|
|
295
305
|
protected onUpdateQuestionCssClasses(element: Question, css: any): void;
|
|
296
306
|
protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
|
|
297
307
|
protected setNewValue(newValue: any): void;
|
|
308
|
+
protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
|
|
298
309
|
getSurveyData(): ISurveyData;
|
|
299
310
|
getTextProcessor(): ITextProcessor;
|
|
300
311
|
getValue(name: string): any;
|