survey-core 1.9.118 → 1.9.119
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 +112 -39
- package/defaultV2.css.map +1 -1
- package/defaultV2.fontless.css +112 -39
- 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 +2 -1
- package/i18n/english.js.map +1 -1
- package/i18n/english.min.js +2 -2
- 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 +1 -1
- package/i18n/german.min.js +1 -1
- package/i18n/greek.js +1 -1
- package/i18n/greek.min.js +1 -1
- package/i18n/hebrew.js +1 -1
- package/i18n/hebrew.min.js +1 -1
- 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 +1 -1
- package/i18n/index.min.js +1 -1
- 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 +1 -1
- package/modern.css.map +1 -1
- package/modern.fontless.css +1 -1
- package/modern.fontless.css.map +1 -1
- package/modern.fontless.min.css +1 -1
- package/modern.min.css +1 -1
- 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 +208 -89
- 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 +1 -1
- package/survey.i18n.min.js +1 -1
- 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-interfaces.d.ts +2 -1
- package/ts3.4/typings/conditionProcessValue.d.ts +1 -0
- package/ts3.4/typings/defaultCss/defaultV2Css.d.ts +8 -3
- package/ts3.4/typings/localization/english.d.ts +1 -0
- package/ts3.4/typings/page.d.ts +1 -0
- package/ts3.4/typings/panel.d.ts +4 -1
- package/ts3.4/typings/question.d.ts +2 -0
- package/ts3.4/typings/question_ranking.d.ts +6 -0
- package/ts3.4/typings/question_rating.d.ts +1 -0
- package/ts3.4/typings/survey-events-api.d.ts +2 -2
- package/ts3.4/typings/survey.d.ts +34 -10
- package/ts3.4/typings/surveyStrings.d.ts +1 -0
- package/ts3.4/typings/themes.d.ts +2 -2
- package/typings/base-interfaces.d.ts +2 -1
- package/typings/conditionProcessValue.d.ts +1 -0
- package/typings/defaultCss/defaultV2Css.d.ts +8 -3
- package/typings/localization/english.d.ts +1 -0
- package/typings/page.d.ts +1 -0
- package/typings/panel.d.ts +4 -1
- package/typings/question.d.ts +2 -0
- package/typings/question_ranking.d.ts +6 -0
- package/typings/question_rating.d.ts +1 -0
- package/typings/survey-events-api.d.ts +2 -2
- package/typings/survey.d.ts +35 -10
- package/typings/surveyStrings.d.ts +1 -0
- package/typings/themes.d.ts +2 -2
package/themes/solid-light.js
CHANGED
|
@@ -98,7 +98,7 @@ export interface ISurvey extends ITextProcessor, ISurveyErrorOwner {
|
|
|
98
98
|
maxTextLength: number;
|
|
99
99
|
maxOthersLength: number;
|
|
100
100
|
clearValueOnDisableItems: boolean;
|
|
101
|
-
uploadFiles(question: IQuestion, name: string, files: File[], uploadingCallback: (
|
|
101
|
+
uploadFiles(question: IQuestion, name: string, files: File[], uploadingCallback: (data: any | Array<any>, errors?: any | Array<any>) => any): any;
|
|
102
102
|
downloadFile(question: IQuestion, name: string, content: string, callback: (status: string, data: any) => any): any;
|
|
103
103
|
clearFiles(question: IQuestion, name: string, value: any, fileName: string, clearCallback: (status: string, data: any) => any): any;
|
|
104
104
|
updateChoicesFromServer(question: IQuestion, choices: Array<any>, serverResult: any): Array<any>;
|
|
@@ -292,6 +292,7 @@ export interface ISurveyLayoutElement {
|
|
|
292
292
|
component?: string;
|
|
293
293
|
template?: string;
|
|
294
294
|
data?: any;
|
|
295
|
+
index?: number;
|
|
295
296
|
processResponsiveness?: (width: number) => void;
|
|
296
297
|
}
|
|
297
298
|
export interface IPlainDataOptions {
|
|
@@ -70,6 +70,7 @@ export declare var defaultV2Css: {
|
|
|
70
70
|
invisible: string;
|
|
71
71
|
navigationButton: string;
|
|
72
72
|
compact: string;
|
|
73
|
+
errorsContainer: string;
|
|
73
74
|
};
|
|
74
75
|
paneldynamic: {
|
|
75
76
|
mainRoot: string;
|
|
@@ -136,6 +137,7 @@ export declare var defaultV2Css: {
|
|
|
136
137
|
emptyHeaderRoot: string;
|
|
137
138
|
title: string;
|
|
138
139
|
description: string;
|
|
140
|
+
errorsContainer: string;
|
|
139
141
|
};
|
|
140
142
|
pageTitle: string;
|
|
141
143
|
pageDescription: string;
|
|
@@ -190,6 +192,9 @@ export declare var defaultV2Css: {
|
|
|
190
192
|
invisible: string;
|
|
191
193
|
composite: string;
|
|
192
194
|
disabled: string;
|
|
195
|
+
errorsContainer: string;
|
|
196
|
+
errorsContainerTop: string;
|
|
197
|
+
errorsContainerBottom: string;
|
|
193
198
|
};
|
|
194
199
|
image: {
|
|
195
200
|
mainRoot: string;
|
|
@@ -209,9 +214,6 @@ export declare var defaultV2Css: {
|
|
|
209
214
|
root: string;
|
|
210
215
|
icon: string;
|
|
211
216
|
item: string;
|
|
212
|
-
outsideQuestion: string;
|
|
213
|
-
aboveQuestion: string;
|
|
214
|
-
belowQuestion: string;
|
|
215
217
|
locationTop: string;
|
|
216
218
|
locationBottom: string;
|
|
217
219
|
};
|
|
@@ -429,6 +431,8 @@ export declare var defaultV2Css: {
|
|
|
429
431
|
rowHasEndActions: string;
|
|
430
432
|
headerCell: string;
|
|
431
433
|
rowTextCell: string;
|
|
434
|
+
footerCell: string;
|
|
435
|
+
footerTotalCell: string;
|
|
432
436
|
columnTitleCell: string;
|
|
433
437
|
cellRequiredText: string;
|
|
434
438
|
detailButton: string;
|
|
@@ -464,6 +468,7 @@ export declare var defaultV2Css: {
|
|
|
464
468
|
itemCell: string;
|
|
465
469
|
headerCell: string;
|
|
466
470
|
rowTextCell: string;
|
|
471
|
+
footerCell: string;
|
|
467
472
|
columnTitleCell: string;
|
|
468
473
|
cellRequiredText: string;
|
|
469
474
|
button: string;
|
package/ts3.4/typings/page.d.ts
CHANGED
|
@@ -49,6 +49,7 @@ export declare class PageModel extends PanelModelBase implements IPage {
|
|
|
49
49
|
protected calcCssClasses(css: any): any;
|
|
50
50
|
readonly cssTitle: string;
|
|
51
51
|
readonly cssRoot: string;
|
|
52
|
+
protected getCssError(cssClasses: any): string;
|
|
52
53
|
num: number;
|
|
53
54
|
/*
|
|
54
55
|
* Set this property to "hide" to make "Prev", "Next" and "Complete" buttons are invisible for this page. Set this property to "show" to make these buttons visible, even if survey showNavigationButtons property is false.
|
package/ts3.4/typings/panel.d.ts
CHANGED
|
@@ -399,6 +399,8 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
|
|
|
399
399
|
questionErrorLocation: string;
|
|
400
400
|
getQuestionErrorLocation(): string;
|
|
401
401
|
readonly no: string;
|
|
402
|
+
readonly cssError: string;
|
|
403
|
+
protected getCssError(cssClasses: any): string;
|
|
402
404
|
dispose(): void;
|
|
403
405
|
}
|
|
404
406
|
/**
|
|
@@ -475,6 +477,7 @@ export declare class PanelModel extends PanelModelBase implements IElement {
|
|
|
475
477
|
*/
|
|
476
478
|
readonly no: string;
|
|
477
479
|
protected setNo(visibleIndex: number): void;
|
|
480
|
+
protected notifyStateChanged(): void;
|
|
478
481
|
protected createLocTitleProperty(): LocalizableString;
|
|
479
482
|
protected beforeSetVisibleIndex(index: number): number;
|
|
480
483
|
protected getPanelStartIndex(index: number): number;
|
|
@@ -503,7 +506,6 @@ export declare class PanelModel extends PanelModelBase implements IElement {
|
|
|
503
506
|
readonly hasEditButton: boolean;
|
|
504
507
|
cancelPreview(): void;
|
|
505
508
|
readonly cssTitle: string;
|
|
506
|
-
readonly cssError: string;
|
|
507
509
|
readonly showErrorsAbovePanel: boolean;
|
|
508
510
|
protected getCssError(cssClasses: any): string;
|
|
509
511
|
protected onVisibleChanged(): void;
|
|
@@ -511,6 +513,7 @@ export declare class PanelModel extends PanelModelBase implements IElement {
|
|
|
511
513
|
focusIn(): void;
|
|
512
514
|
protected getHasFrameV2(): boolean;
|
|
513
515
|
protected getIsNested(): boolean;
|
|
516
|
+
private readonly showPanelAsPage: any;
|
|
514
517
|
protected getCssRoot(cssClasses: {
|
|
515
518
|
[index: string]: string;
|
|
516
519
|
}): string;
|
|
@@ -603,6 +603,8 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
|
|
|
603
603
|
* - `{row.other_question_name}` (to access questions inside the same dynamic matrix or multi-column dropdown)
|
|
604
604
|
*
|
|
605
605
|
* An expression can also include built-in and custom functions for advanced calculations. For example, if the `defaultValue` should be today's date, set the `defaultValueExpression` to `"today()"`, and the corresponding built-in function will be executed each time the survey is loaded. Refer to the following help topic for more information: [Built-In Functions](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#built-in-functions).
|
|
606
|
+
*
|
|
607
|
+
* [View Demo](https://surveyjs.io/form-library/examples/specify-default-question-value-dynamically (linkStyle))
|
|
606
608
|
* @see defaultValue
|
|
607
609
|
* @see setValueExpression
|
|
608
610
|
*/
|
|
@@ -86,7 +86,13 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
|
|
|
86
86
|
selectToRankAreasLayout: string;
|
|
87
87
|
readonly renderedSelectToRankAreasLayout: string;
|
|
88
88
|
isMobileMode(): boolean;
|
|
89
|
+
/**
|
|
90
|
+
* A placeholder displayed in the area for ranked choices. Applies when [`selectToRankEnabled`](https://surveyjs.io/form-library/documentation/api-reference/ranking-question-model#selectToRankEnabled) is `true`.
|
|
91
|
+
*/
|
|
89
92
|
selectToRankEmptyRankedAreaText: string;
|
|
93
|
+
/**
|
|
94
|
+
* A placeholder displayed in the area for unranked choices. Applies when [`selectToRankEnabled`](https://surveyjs.io/form-library/documentation/api-reference/ranking-question-model#selectToRankEnabled) is `true`.
|
|
95
|
+
*/
|
|
90
96
|
selectToRankEmptyUnrankedAreaText: string;
|
|
91
97
|
useFullItemSizeForShortcut: boolean;
|
|
92
98
|
readonly dragDropSvgIcon: string;
|
|
@@ -114,6 +114,7 @@ export declare class QuestionRatingModel extends Question {
|
|
|
114
114
|
itemValuePropertyChanged(item: ItemValue, name: string, oldValue: any, newValue: any): void;
|
|
115
115
|
private createRenderedRateItems;
|
|
116
116
|
renderedRateItems: Array<RenderedRatingItem>;
|
|
117
|
+
private createRateValues;
|
|
117
118
|
private correctValue;
|
|
118
119
|
getType(): string;
|
|
119
120
|
protected getFirstInputElementId(): string;
|
|
@@ -499,9 +499,9 @@ export interface LoadFilesEvent extends FileQuestionEventMixin {
|
|
|
499
499
|
}
|
|
500
500
|
export interface UploadFilesEvent extends LoadFilesEvent {
|
|
501
501
|
/**
|
|
502
|
-
* A callback function that you should call when a file is uploaded successfully or when file upload fails. Pass
|
|
502
|
+
* A callback function that you should call when a file is uploaded successfully or when file upload fails. Pass an array of successfully uploaded files as the first argument. As the second argument, you can pass an array of error messages if file upload failed.
|
|
503
503
|
*/
|
|
504
|
-
callback: (
|
|
504
|
+
callback: (data: any | Array<any>, errors?: any | Array<any>) => any;
|
|
505
505
|
/**
|
|
506
506
|
* An array of JavaScript <a href="https://developer.mozilla.org/en-US/docs/Web/API/File" target="_blank">File</a> objects that represent files to upload.
|
|
507
507
|
*/
|
|
@@ -25,6 +25,7 @@ import { QuestionFileModel } from "./question_file";
|
|
|
25
25
|
import { QuestionMultipleTextModel } from "./question_multipletext";
|
|
26
26
|
import { ITheme, ImageFit, ImageAttachment } from "./themes";
|
|
27
27
|
import { PopupModel } from "./popup";
|
|
28
|
+
import { Cover } from "./header";
|
|
28
29
|
/**
|
|
29
30
|
* The `SurveyModel` object contains properties and methods that allow you to control the survey and access its elements.
|
|
30
31
|
*
|
|
@@ -750,6 +751,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
|
|
|
750
751
|
* [View Demo](https://surveyjs.io/form-library/examples/brand-your-survey-header/ (linkStyle))
|
|
751
752
|
*/
|
|
752
753
|
headerView: "advanced" | "basic";
|
|
754
|
+
protected insertAdvancedHeader(advHeader: Cover): void;
|
|
753
755
|
private getNavigationCss;
|
|
754
756
|
private lazyRenderingValue;
|
|
755
757
|
showBrandInfo: boolean;
|
|
@@ -924,7 +926,8 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
|
|
|
924
926
|
* Specifies whether to hide validation errors thrown by the Required validation in the UI.
|
|
925
927
|
*
|
|
926
928
|
* [Built-In Client-Side Validators](https://surveyjs.io/form-library/documentation/data-validation#built-in-client-side-validators (linkStyle))
|
|
927
|
-
* @see
|
|
929
|
+
* @see validationEnabled
|
|
930
|
+
* @see validationAllowSwitchPages
|
|
928
931
|
*/
|
|
929
932
|
hideRequiredErrors: boolean;
|
|
930
933
|
beforeSettingQuestionErrors(question: Question, errors: Array<SurveyError>): void;
|
|
@@ -991,6 +994,10 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
|
|
|
991
994
|
* - `"onComplete"` - Triggers validation when a user clicks the Complete button. If previous pages contain errors, the survey switches to the page with the first error.
|
|
992
995
|
*
|
|
993
996
|
* Refer to the following help topic for more information: [Data Validation](https://surveyjs.io/form-library/documentation/data-validation).
|
|
997
|
+
* @see validationEnabled
|
|
998
|
+
* @see validationAllowSwitchPages
|
|
999
|
+
* @see validationAllowComplete
|
|
1000
|
+
* @see validate
|
|
994
1001
|
*/
|
|
995
1002
|
checkErrorsMode: string;
|
|
996
1003
|
/*
|
|
@@ -1678,16 +1685,32 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
|
|
|
1678
1685
|
* @see setCookie
|
|
1679
1686
|
*/
|
|
1680
1687
|
deleteCookie(): void;
|
|
1688
|
+
/*
|
|
1689
|
+
* This property is obsolete. Use the [`validationEnabled`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#validationEnabled) property instead.
|
|
1690
|
+
*/
|
|
1691
|
+
ignoreValidation: boolean;
|
|
1681
1692
|
/**
|
|
1682
|
-
* Specifies whether
|
|
1693
|
+
* Specifies whether data validation is enabled.
|
|
1683
1694
|
*
|
|
1684
|
-
* Default value: `
|
|
1695
|
+
* Default value: `true`
|
|
1696
|
+
* @see checkErrorsMode
|
|
1685
1697
|
* @see hideRequiredErrors
|
|
1686
|
-
* @see nextPage
|
|
1687
|
-
* @see isPrevPage
|
|
1688
|
-
* @see completeLastPage
|
|
1689
1698
|
*/
|
|
1690
|
-
|
|
1699
|
+
validationEnabled: boolean;
|
|
1700
|
+
/**
|
|
1701
|
+
* Specifies whether respondents can switch the current page even if it contains validation errors.
|
|
1702
|
+
*
|
|
1703
|
+
* Default value: `false`
|
|
1704
|
+
* @see checkErrorsMode
|
|
1705
|
+
*/
|
|
1706
|
+
validationAllowSwitchPages: boolean;
|
|
1707
|
+
/**
|
|
1708
|
+
* Specifies whether respondents can end a survey with validation errors.
|
|
1709
|
+
*
|
|
1710
|
+
* Default value: `false`
|
|
1711
|
+
* @see checkErrorsMode
|
|
1712
|
+
*/
|
|
1713
|
+
validationAllowComplete: boolean;
|
|
1691
1714
|
/**
|
|
1692
1715
|
* Switches the survey to the next page.
|
|
1693
1716
|
*
|
|
@@ -2031,11 +2054,11 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
|
|
|
2031
2054
|
* @param question A [File Upload question instance](https://surveyjs.io/form-library/documentation/api-reference/file-model).
|
|
2032
2055
|
* @param name The File Upload question's [`name`](https://surveyjs.io/form-library/documentation/api-reference/file-model#name).
|
|
2033
2056
|
* @param files An array of JavaScript <a href="https://developer.mozilla.org/en-US/docs/Web/API/File" target="_blank">File</a> objects that represent files to upload.
|
|
2034
|
-
* @param callback A callback function that allows you to
|
|
2057
|
+
* @param callback A callback function that allows you to access successfully uploaded files as the first argument. If any files fail to upload, the second argument contains an array of error messages.
|
|
2035
2058
|
* @see onUploadFiles
|
|
2036
2059
|
* @see downloadFile
|
|
2037
2060
|
*/
|
|
2038
|
-
uploadFiles(question: QuestionFileModel, name: string, files: File[], callback: (
|
|
2061
|
+
uploadFiles(question: QuestionFileModel, name: string, files: File[], callback: (data: any | Array<any>, errors?: any | Array<any>) => any): void;
|
|
2039
2062
|
/**
|
|
2040
2063
|
* Downloads a file from a server.
|
|
2041
2064
|
*
|
|
@@ -2071,7 +2094,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
|
|
|
2071
2094
|
updateChoicesFromServer(question: QuestionSelectBase, choices: Array<ItemValue>, serverResult: any): Array<ItemValue>;
|
|
2072
2095
|
loadedChoicesFromServer(question: IQuestion): void;
|
|
2073
2096
|
protected createSurveyService(): dxSurveyService;
|
|
2074
|
-
protected uploadFilesCore(name: string, files: File[], uploadingCallback: (
|
|
2097
|
+
protected uploadFilesCore(name: string, files: File[], uploadingCallback: (data: any | Array<any>, errors?: any | Array<any>) => any): void;
|
|
2075
2098
|
getPage(index: number): PageModel;
|
|
2076
2099
|
/**
|
|
2077
2100
|
* Adds an existing page to the survey.
|
|
@@ -2566,6 +2589,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
|
|
|
2566
2589
|
private isMovingQuestion;
|
|
2567
2590
|
startMovingQuestion(): void;
|
|
2568
2591
|
stopMovingQuestion(): void;
|
|
2592
|
+
readonly isQuestionDragging: boolean;
|
|
2569
2593
|
private needRenderIcons;
|
|
2570
2594
|
private skippedPages;
|
|
2571
2595
|
/**
|
|
@@ -83,9 +83,9 @@ export interface IHeader {
|
|
|
83
83
|
*
|
|
84
84
|
* Possible values:
|
|
85
85
|
*
|
|
86
|
-
* - `"survey"
|
|
86
|
+
* - `"survey"`\
|
|
87
87
|
* The header width is the same as the survey width.
|
|
88
|
-
* - `"container"
|
|
88
|
+
* - `"container"` (default)\
|
|
89
89
|
* The header width is the same as the survey container width.
|
|
90
90
|
*
|
|
91
91
|
* @see [SurveyModel.width](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#width)
|
|
@@ -98,7 +98,7 @@ export interface ISurvey extends ITextProcessor, ISurveyErrorOwner {
|
|
|
98
98
|
maxTextLength: number;
|
|
99
99
|
maxOthersLength: number;
|
|
100
100
|
clearValueOnDisableItems: boolean;
|
|
101
|
-
uploadFiles(question: IQuestion, name: string, files: File[], uploadingCallback: (
|
|
101
|
+
uploadFiles(question: IQuestion, name: string, files: File[], uploadingCallback: (data: any | Array<any>, errors?: any | Array<any>) => any): any;
|
|
102
102
|
downloadFile(question: IQuestion, name: string, content: string, callback: (status: string, data: any) => any): any;
|
|
103
103
|
clearFiles(question: IQuestion, name: string, value: any, fileName: string, clearCallback: (status: string, data: any) => any): any;
|
|
104
104
|
updateChoicesFromServer(question: IQuestion, choices: Array<any>, serverResult: any): Array<any>;
|
|
@@ -292,6 +292,7 @@ export interface ISurveyLayoutElement {
|
|
|
292
292
|
component?: string;
|
|
293
293
|
template?: string;
|
|
294
294
|
data?: any;
|
|
295
|
+
index?: number;
|
|
295
296
|
processResponsiveness?: (width: number) => void;
|
|
296
297
|
}
|
|
297
298
|
export interface IPlainDataOptions {
|
|
@@ -70,6 +70,7 @@ export declare var defaultV2Css: {
|
|
|
70
70
|
invisible: string;
|
|
71
71
|
navigationButton: string;
|
|
72
72
|
compact: string;
|
|
73
|
+
errorsContainer: string;
|
|
73
74
|
};
|
|
74
75
|
paneldynamic: {
|
|
75
76
|
mainRoot: string;
|
|
@@ -136,6 +137,7 @@ export declare var defaultV2Css: {
|
|
|
136
137
|
emptyHeaderRoot: string;
|
|
137
138
|
title: string;
|
|
138
139
|
description: string;
|
|
140
|
+
errorsContainer: string;
|
|
139
141
|
};
|
|
140
142
|
pageTitle: string;
|
|
141
143
|
pageDescription: string;
|
|
@@ -190,6 +192,9 @@ export declare var defaultV2Css: {
|
|
|
190
192
|
invisible: string;
|
|
191
193
|
composite: string;
|
|
192
194
|
disabled: string;
|
|
195
|
+
errorsContainer: string;
|
|
196
|
+
errorsContainerTop: string;
|
|
197
|
+
errorsContainerBottom: string;
|
|
193
198
|
};
|
|
194
199
|
image: {
|
|
195
200
|
mainRoot: string;
|
|
@@ -209,9 +214,6 @@ export declare var defaultV2Css: {
|
|
|
209
214
|
root: string;
|
|
210
215
|
icon: string;
|
|
211
216
|
item: string;
|
|
212
|
-
outsideQuestion: string;
|
|
213
|
-
aboveQuestion: string;
|
|
214
|
-
belowQuestion: string;
|
|
215
217
|
locationTop: string;
|
|
216
218
|
locationBottom: string;
|
|
217
219
|
};
|
|
@@ -429,6 +431,8 @@ export declare var defaultV2Css: {
|
|
|
429
431
|
rowHasEndActions: string;
|
|
430
432
|
headerCell: string;
|
|
431
433
|
rowTextCell: string;
|
|
434
|
+
footerCell: string;
|
|
435
|
+
footerTotalCell: string;
|
|
432
436
|
columnTitleCell: string;
|
|
433
437
|
cellRequiredText: string;
|
|
434
438
|
detailButton: string;
|
|
@@ -464,6 +468,7 @@ export declare var defaultV2Css: {
|
|
|
464
468
|
itemCell: string;
|
|
465
469
|
headerCell: string;
|
|
466
470
|
rowTextCell: string;
|
|
471
|
+
footerCell: string;
|
|
467
472
|
columnTitleCell: string;
|
|
468
473
|
cellRequiredText: string;
|
|
469
474
|
button: string;
|
package/typings/page.d.ts
CHANGED
|
@@ -53,6 +53,7 @@ export declare class PageModel extends PanelModelBase implements IPage {
|
|
|
53
53
|
protected calcCssClasses(css: any): any;
|
|
54
54
|
get cssTitle(): string;
|
|
55
55
|
get cssRoot(): string;
|
|
56
|
+
protected getCssError(cssClasses: any): string;
|
|
56
57
|
num: number;
|
|
57
58
|
/**
|
|
58
59
|
* Set this property to "hide" to make "Prev", "Next" and "Complete" buttons are invisible for this page. Set this property to "show" to make these buttons visible, even if survey showNavigationButtons property is false.
|
package/typings/panel.d.ts
CHANGED
|
@@ -412,6 +412,8 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
|
|
|
412
412
|
set questionErrorLocation(val: string);
|
|
413
413
|
getQuestionErrorLocation(): string;
|
|
414
414
|
get no(): string;
|
|
415
|
+
get cssError(): string;
|
|
416
|
+
protected getCssError(cssClasses: any): string;
|
|
415
417
|
dispose(): void;
|
|
416
418
|
}
|
|
417
419
|
/**
|
|
@@ -492,6 +494,7 @@ export declare class PanelModel extends PanelModelBase implements IElement {
|
|
|
492
494
|
*/
|
|
493
495
|
get no(): string;
|
|
494
496
|
protected setNo(visibleIndex: number): void;
|
|
497
|
+
protected notifyStateChanged(): void;
|
|
495
498
|
protected createLocTitleProperty(): LocalizableString;
|
|
496
499
|
protected beforeSetVisibleIndex(index: number): number;
|
|
497
500
|
protected getPanelStartIndex(index: number): number;
|
|
@@ -524,7 +527,6 @@ export declare class PanelModel extends PanelModelBase implements IElement {
|
|
|
524
527
|
get hasEditButton(): boolean;
|
|
525
528
|
cancelPreview(): void;
|
|
526
529
|
get cssTitle(): string;
|
|
527
|
-
get cssError(): string;
|
|
528
530
|
get showErrorsAbovePanel(): boolean;
|
|
529
531
|
protected getCssError(cssClasses: any): string;
|
|
530
532
|
protected onVisibleChanged(): void;
|
|
@@ -532,6 +534,7 @@ export declare class PanelModel extends PanelModelBase implements IElement {
|
|
|
532
534
|
focusIn(): void;
|
|
533
535
|
protected getHasFrameV2(): boolean;
|
|
534
536
|
protected getIsNested(): boolean;
|
|
537
|
+
private get showPanelAsPage();
|
|
535
538
|
protected getCssRoot(cssClasses: {
|
|
536
539
|
[index: string]: string;
|
|
537
540
|
}): string;
|
package/typings/question.d.ts
CHANGED
|
@@ -630,6 +630,8 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
|
|
|
630
630
|
* - `{row.other_question_name}` (to access questions inside the same dynamic matrix or multi-column dropdown)
|
|
631
631
|
*
|
|
632
632
|
* An expression can also include built-in and custom functions for advanced calculations. For example, if the `defaultValue` should be today's date, set the `defaultValueExpression` to `"today()"`, and the corresponding built-in function will be executed each time the survey is loaded. Refer to the following help topic for more information: [Built-In Functions](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#built-in-functions).
|
|
633
|
+
*
|
|
634
|
+
* [View Demo](https://surveyjs.io/form-library/examples/specify-default-question-value-dynamically (linkStyle))
|
|
633
635
|
* @see defaultValue
|
|
634
636
|
* @see setValueExpression
|
|
635
637
|
*/
|
|
@@ -89,7 +89,13 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
|
|
|
89
89
|
set selectToRankAreasLayout(val: string);
|
|
90
90
|
get renderedSelectToRankAreasLayout(): string;
|
|
91
91
|
isMobileMode(): boolean;
|
|
92
|
+
/**
|
|
93
|
+
* A placeholder displayed in the area for ranked choices. Applies when [`selectToRankEnabled`](https://surveyjs.io/form-library/documentation/api-reference/ranking-question-model#selectToRankEnabled) is `true`.
|
|
94
|
+
*/
|
|
92
95
|
selectToRankEmptyRankedAreaText: string;
|
|
96
|
+
/**
|
|
97
|
+
* A placeholder displayed in the area for unranked choices. Applies when [`selectToRankEnabled`](https://surveyjs.io/form-library/documentation/api-reference/ranking-question-model#selectToRankEnabled) is `true`.
|
|
98
|
+
*/
|
|
93
99
|
selectToRankEmptyUnrankedAreaText: string;
|
|
94
100
|
get useFullItemSizeForShortcut(): boolean;
|
|
95
101
|
set useFullItemSizeForShortcut(val: boolean);
|
|
@@ -118,6 +118,7 @@ export declare class QuestionRatingModel extends Question {
|
|
|
118
118
|
itemValuePropertyChanged(item: ItemValue, name: string, oldValue: any, newValue: any): void;
|
|
119
119
|
private createRenderedRateItems;
|
|
120
120
|
renderedRateItems: Array<RenderedRatingItem>;
|
|
121
|
+
private createRateValues;
|
|
121
122
|
private correctValue;
|
|
122
123
|
getType(): string;
|
|
123
124
|
protected getFirstInputElementId(): string;
|
|
@@ -499,9 +499,9 @@ export interface LoadFilesEvent extends FileQuestionEventMixin {
|
|
|
499
499
|
}
|
|
500
500
|
export interface UploadFilesEvent extends LoadFilesEvent {
|
|
501
501
|
/**
|
|
502
|
-
* A callback function that you should call when a file is uploaded successfully or when file upload fails. Pass
|
|
502
|
+
* A callback function that you should call when a file is uploaded successfully or when file upload fails. Pass an array of successfully uploaded files as the first argument. As the second argument, you can pass an array of error messages if file upload failed.
|
|
503
503
|
*/
|
|
504
|
-
callback: (
|
|
504
|
+
callback: (data: any | Array<any>, errors?: any | Array<any>) => any;
|
|
505
505
|
/**
|
|
506
506
|
* An array of JavaScript <a href="https://developer.mozilla.org/en-US/docs/Web/API/File" target="_blank">File</a> objects that represent files to upload.
|
|
507
507
|
*/
|