survey-core 1.12.4 → 1.12.6
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 +86 -6
- package/defaultV2.css.map +1 -1
- package/defaultV2.fontless.css +86 -6
- 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 +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/philippines.js +1 -1
- package/i18n/philippines.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.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 +619 -321
- package/survey.core.js.map +1 -1
- package/survey.core.min.js +3 -3
- package/survey.css +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/packages/survey-core/entries/chunks/model.d.ts +1 -1
- package/ts3.4/typings/packages/survey-core/src/base-interfaces.d.ts +2 -2
- package/ts3.4/typings/packages/survey-core/src/base.d.ts +4 -15
- package/ts3.4/typings/packages/survey-core/src/defaultCss/defaultV2Css.d.ts +1 -0
- package/ts3.4/typings/packages/survey-core/src/jsonobject.d.ts +2 -0
- package/ts3.4/typings/packages/survey-core/src/page.d.ts +8 -3
- package/ts3.4/typings/packages/survey-core/src/panel.d.ts +2 -0
- package/ts3.4/typings/packages/survey-core/src/question.d.ts +2 -2
- package/ts3.4/typings/packages/survey-core/src/question_baseselect.d.ts +0 -3
- package/ts3.4/typings/packages/survey-core/src/question_comment.d.ts +0 -3
- package/ts3.4/typings/packages/survey-core/src/question_file.d.ts +20 -2
- package/ts3.4/typings/packages/survey-core/src/question_matrixdropdownbase.d.ts +2 -0
- package/ts3.4/typings/packages/survey-core/src/question_matrixdynamic.d.ts +4 -0
- package/ts3.4/typings/packages/survey-core/src/question_text.d.ts +0 -1
- package/ts3.4/typings/packages/survey-core/src/survey-element.d.ts +16 -1
- package/ts3.4/typings/packages/survey-core/src/survey.d.ts +78 -31
- package/ts3.4/typings/packages/survey-core/src/surveyTimerModel.d.ts +1 -1
- package/ts3.4/typings/packages/survey-core/src/surveytimer.d.ts +1 -0
- package/ts3.4/typings/packages/survey-core/src/themes.d.ts +19 -13
- package/ts3.4/typings/packages/survey-core/src/utils/text-area.d.ts +1 -0
- package/ts3.4/typings/packages/survey-core/src/validator.d.ts +1 -0
- package/typings/packages/survey-core/entries/chunks/model.d.ts +1 -1
- package/typings/packages/survey-core/src/base-interfaces.d.ts +2 -2
- package/typings/packages/survey-core/src/base.d.ts +4 -15
- package/typings/packages/survey-core/src/defaultCss/defaultV2Css.d.ts +1 -0
- package/typings/packages/survey-core/src/jsonobject.d.ts +2 -0
- package/typings/packages/survey-core/src/page.d.ts +9 -3
- package/typings/packages/survey-core/src/panel.d.ts +2 -0
- package/typings/packages/survey-core/src/question.d.ts +2 -2
- package/typings/packages/survey-core/src/question_baseselect.d.ts +0 -3
- package/typings/packages/survey-core/src/question_comment.d.ts +0 -3
- package/typings/packages/survey-core/src/question_file.d.ts +21 -2
- package/typings/packages/survey-core/src/question_matrixdropdownbase.d.ts +2 -0
- package/typings/packages/survey-core/src/question_matrixdynamic.d.ts +4 -0
- package/typings/packages/survey-core/src/question_text.d.ts +0 -1
- package/typings/packages/survey-core/src/survey-element.d.ts +16 -1
- package/typings/packages/survey-core/src/survey.d.ts +84 -32
- package/typings/packages/survey-core/src/surveyTimerModel.d.ts +1 -1
- package/typings/packages/survey-core/src/surveytimer.d.ts +1 -0
- package/typings/packages/survey-core/src/themes.d.ts +19 -13
- package/typings/packages/survey-core/src/utils/text-area.d.ts +1 -0
- package/typings/packages/survey-core/src/validator.d.ts +1 -0
package/themes/solid-light.js
CHANGED
|
@@ -46,7 +46,7 @@ export { QuestionRankingModel } from "../../src/question_ranking";
|
|
|
46
46
|
export { QuestionCommentModel } from "../../src/question_comment";
|
|
47
47
|
export { QuestionDropdownModel } from "../../src/question_dropdown";
|
|
48
48
|
export { QuestionFactory, ElementFactory } from "../../src/questionfactory";
|
|
49
|
-
export { QuestionFileModel } from "../../src/question_file";
|
|
49
|
+
export { QuestionFileModel, QuestionFilePage } from "../../src/question_file";
|
|
50
50
|
export { QuestionHtmlModel } from "../../src/question_html";
|
|
51
51
|
export { QuestionRadiogroupModel } from "../../src/question_radiogroup";
|
|
52
52
|
export { QuestionRatingModel, RenderedRatingItem } from "../../src/question_rating";
|
|
@@ -113,7 +113,7 @@ export interface ISurvey extends ITextProcessor, ISurveyErrorOwner {
|
|
|
113
113
|
maxTextLength: number;
|
|
114
114
|
maxOthersLength: number;
|
|
115
115
|
clearValueOnDisableItems: boolean;
|
|
116
|
-
|
|
116
|
+
timeLimitPerPage: number;
|
|
117
117
|
uploadFiles(question: IQuestion, name: string, files: File[], uploadingCallback: (data: any | Array<any>, errors?: any | Array<any>) => any): any;
|
|
118
118
|
downloadFile(question: IQuestion, name: string, content: string, callback: (status: string, data: any) => any): any;
|
|
119
119
|
clearFiles(question: IQuestion, name: string, value: any, fileName: string, clearCallback: (status: string, data: any) => any): any;
|
|
@@ -169,7 +169,7 @@ export interface ISurvey extends ITextProcessor, ISurveyErrorOwner {
|
|
|
169
169
|
dynamicPanelGetTabTitle(question: IQuestion, options: any): any;
|
|
170
170
|
dynamicPanelCurrentIndexChanged(question: IQuestion, options: any): void;
|
|
171
171
|
dragAndDropAllow(options: DragDropAllowEvent): boolean;
|
|
172
|
-
scrollElementToTop(element: ISurveyElement, question: IQuestion, page: IPage, id: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions): any;
|
|
172
|
+
scrollElementToTop(element: ISurveyElement, question: IQuestion, page: IPage, id: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions, passedRootElement?: HTMLElement, onScolledCallback?: () => void): any;
|
|
173
173
|
runExpression(expression: string, callback?: (res: any) => void): any;
|
|
174
174
|
elementContentVisibilityChanged(element: ISurveyElement): void;
|
|
175
175
|
onCorrectQuestionAnswer(question: IQuestion, options: any): void;
|
|
@@ -300,25 +300,14 @@ export declare class Base {
|
|
|
300
300
|
private animationAllowedLock;
|
|
301
301
|
blockAnimations(): void;
|
|
302
302
|
releaseAnimations(): void;
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
303
|
+
supportOnElementRerenderedEvent: boolean;
|
|
304
|
+
onElementRerenderedEventEnabled: boolean;
|
|
305
|
+
enableOnElementRerenderedEvent(): void;
|
|
306
|
+
disableOnElementRerenderedEvent(): void;
|
|
307
307
|
protected _onElementRerendered: EventBase<Base>;
|
|
308
308
|
readonly onElementRerendered: EventBase<Base>;
|
|
309
309
|
afterRerender(): void;
|
|
310
310
|
}
|
|
311
|
-
export declare class RenderingCompletedAwaiter {
|
|
312
|
-
private _elements;
|
|
313
|
-
private _renderedHandler;
|
|
314
|
-
constructor(_elements: Array<Base>, _renderedHandler: () => void, waitingTimeout?: number);
|
|
315
|
-
private _elementsToRenderCount;
|
|
316
|
-
private _elementsToRenderTimer;
|
|
317
|
-
private _elementRenderedHandler;
|
|
318
|
-
private stopWaitingForElementsRendering;
|
|
319
|
-
private visibleElementsRendered;
|
|
320
|
-
dispose(): void;
|
|
321
|
-
}
|
|
322
311
|
export declare class ArrayChanges<T = any> {
|
|
323
312
|
index: number;
|
|
324
313
|
deleteCount: number;
|
|
@@ -40,6 +40,7 @@ export interface IJsonPropertyInfo {
|
|
|
40
40
|
isSerializable?: boolean;
|
|
41
41
|
isLightSerializable?: boolean;
|
|
42
42
|
readOnly?: boolean;
|
|
43
|
+
availableInMatrixColumn?: boolean;
|
|
43
44
|
serializationProperty?: string;
|
|
44
45
|
dependsOn?: Array<string> | string;
|
|
45
46
|
isBindable?: boolean;
|
|
@@ -113,6 +114,7 @@ export declare class JsonObjectProperty implements IObject, IJsonPropertyInfo {
|
|
|
113
114
|
nextToProperty: string;
|
|
114
115
|
overridingProperty: string;
|
|
115
116
|
showMode: string;
|
|
117
|
+
availableInMatrixColumn: boolean;
|
|
116
118
|
maxLength: number;
|
|
117
119
|
maxValue: any;
|
|
118
120
|
minValue: any;
|
|
@@ -76,7 +76,7 @@ export declare class PageModel extends PanelModelBase implements IPage {
|
|
|
76
76
|
scrollToTop(): void;
|
|
77
77
|
/**
|
|
78
78
|
* A time period that a respondent has spent on this page so far; measured in seconds. Applies only to [quiz surveys](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz).
|
|
79
|
-
* @see
|
|
79
|
+
* @see timeLimit
|
|
80
80
|
*/
|
|
81
81
|
timeSpent: number;
|
|
82
82
|
/**
|
|
@@ -89,11 +89,16 @@ export declare class PageModel extends PanelModelBase implements IPage {
|
|
|
89
89
|
/*
|
|
90
90
|
* A time period that a respondent has to complete this page; measured in seconds. Applies only to [quiz surveys](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz).
|
|
91
91
|
*
|
|
92
|
-
*
|
|
92
|
+
* Default value: 0 (time is unlimited)
|
|
93
93
|
*
|
|
94
|
-
* Alternatively, you can use the `SurveyModel`'s [`
|
|
94
|
+
* Alternatively, you can use the `SurveyModel`'s [`timeLimitPerPage`](https://surveyjs.io/form-library/documentation/surveymodel#timeLimitPerPage) property to specify identical time periods for all survey pages.
|
|
95
95
|
* @see timeSpent
|
|
96
96
|
*/
|
|
97
|
+
timeLimit: number;
|
|
98
|
+
/*
|
|
99
|
+
* Obsolete. Use the [`timeLimit`](https://surveyjs.io/form-library/documentation/api-reference/page-model#timeLimit) property instead.
|
|
100
|
+
* @deprecated
|
|
101
|
+
*/
|
|
97
102
|
maxTimeToFinish: number;
|
|
98
103
|
getMaxTimeToFinish(): number;
|
|
99
104
|
protected onNumChanged(value: number): void;
|
|
@@ -460,6 +460,7 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
|
|
|
460
460
|
readonly cssError: string;
|
|
461
461
|
protected getCssError(cssClasses: any): string;
|
|
462
462
|
getSerializableColumnsValue(): Array<PanelLayoutColumnModel>;
|
|
463
|
+
afterRender(el: HTMLElement): void;
|
|
463
464
|
dispose(): void;
|
|
464
465
|
}
|
|
465
466
|
/**
|
|
@@ -579,4 +580,5 @@ export declare class PanelModel extends PanelModelBase implements IElement {
|
|
|
579
580
|
[index: string]: string;
|
|
580
581
|
}): string;
|
|
581
582
|
getContainerCss(): string;
|
|
583
|
+
afterRenderCore(element: HTMLElement): void;
|
|
582
584
|
}
|
|
@@ -362,7 +362,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
|
|
|
362
362
|
onCommentChange(event: any): void;
|
|
363
363
|
afterRenderQuestionElement(el: HTMLElement): void;
|
|
364
364
|
afterRender(el: HTMLElement): void;
|
|
365
|
-
afterRenderCore(
|
|
365
|
+
afterRenderCore(element: HTMLElement): void;
|
|
366
366
|
protected getCommentElementsId(): Array<string>;
|
|
367
367
|
beforeDestroyQuestionElement(el: HTMLElement): void;
|
|
368
368
|
readonly processedTitle: string;
|
|
@@ -420,7 +420,6 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
|
|
|
420
420
|
* @param onError Pass `true` if you want to focus an input field with the first validation error. Default value: `false` (focuses the first input field). Applies to question types with multiple input fields.
|
|
421
421
|
*/
|
|
422
422
|
focus(onError?: boolean, scrollIfVisible?: boolean): void;
|
|
423
|
-
private focuscore;
|
|
424
423
|
focusInputElement(onError: boolean): void;
|
|
425
424
|
private readonly isValidateVisitedEmptyFields: any;
|
|
426
425
|
private isFocusEmpty;
|
|
@@ -845,6 +844,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
|
|
|
845
844
|
clearUnusedValues(): void;
|
|
846
845
|
onAnyValueChanged(name: string, questionName: string): void;
|
|
847
846
|
checkBindings(valueName: string, value: any): void;
|
|
847
|
+
protected updateBindingProp(propName: string, value: any): void;
|
|
848
848
|
getComponentName(): string;
|
|
849
849
|
isDefaultRendering(): boolean;
|
|
850
850
|
renderAs: string;
|
|
@@ -483,9 +483,6 @@ export declare class QuestionSelectBase extends Question {
|
|
|
483
483
|
getItemId(item: ItemValue): string;
|
|
484
484
|
readonly questionName: string;
|
|
485
485
|
getItemEnabled(item: ItemValue): boolean;
|
|
486
|
-
protected rootElement: HTMLElement;
|
|
487
|
-
afterRender(el: HTMLElement): void;
|
|
488
|
-
beforeDestroyQuestionElement(el: HTMLElement): void;
|
|
489
486
|
private focusOtherComment;
|
|
490
487
|
private prevIsOtherSelected;
|
|
491
488
|
protected onValueChanged(): void;
|
|
@@ -41,13 +41,10 @@ export declare class QuestionCommentModel extends QuestionTextBase {
|
|
|
41
41
|
readonly resizeStyle: "none" | "both";
|
|
42
42
|
getType(): string;
|
|
43
43
|
afterRenderQuestionElement(el: HTMLElement): void;
|
|
44
|
-
updateElement(): void;
|
|
45
44
|
beforeDestroyQuestionElement(el: HTMLElement): void;
|
|
46
45
|
onInput(event: any): void;
|
|
47
46
|
protected onBlurCore(event: any): void;
|
|
48
47
|
onKeyDown(event: any): void;
|
|
49
|
-
protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
|
|
50
|
-
onValueChanged(): void;
|
|
51
48
|
protected setNewValue(newValue: string): any;
|
|
52
49
|
protected getValueSeparator(): string;
|
|
53
50
|
readonly className: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IPlainDataOptions } from "./base-interfaces";
|
|
2
2
|
import { IQuestionPlainData, Question } from "./question";
|
|
3
|
-
import { EventBase } from "./base";
|
|
3
|
+
import { EventBase, Base } from "./base";
|
|
4
4
|
import { SurveyError } from "./survey-error";
|
|
5
5
|
import { ActionContainer } from "./actions/container";
|
|
6
6
|
import { Action } from "./actions/action";
|
|
@@ -46,6 +46,16 @@ export declare class QuestionFileModelBase extends Question {
|
|
|
46
46
|
protected loadPreview(newValue: any): void;
|
|
47
47
|
protected onChangeQuestionValue(newValue: any): void;
|
|
48
48
|
}
|
|
49
|
+
export declare class QuestionFilePage extends Base {
|
|
50
|
+
private question;
|
|
51
|
+
private index;
|
|
52
|
+
private static pageCounter;
|
|
53
|
+
private static getId;
|
|
54
|
+
items: Array<any>;
|
|
55
|
+
id: string;
|
|
56
|
+
constructor(question: QuestionFileModel, index: number);
|
|
57
|
+
readonly css: string;
|
|
58
|
+
}
|
|
49
59
|
/**
|
|
50
60
|
* A class that describes the File Upload question type.
|
|
51
61
|
*
|
|
@@ -54,6 +64,8 @@ export declare class QuestionFileModelBase extends Question {
|
|
|
54
64
|
export declare class QuestionFileModel extends QuestionFileModelBase {
|
|
55
65
|
isDragging: boolean;
|
|
56
66
|
previewValue: any[];
|
|
67
|
+
pages: QuestionFilePage[];
|
|
68
|
+
navigationDirection: "left" | "right" | "left-delete";
|
|
57
69
|
indexToShow: number;
|
|
58
70
|
pageSize: number;
|
|
59
71
|
containsMultiplyFiles: boolean;
|
|
@@ -82,6 +94,7 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
|
|
|
82
94
|
startCameraAction: Action;
|
|
83
95
|
cleanAction: Action;
|
|
84
96
|
actionsContainer: ActionContainer;
|
|
97
|
+
readonly supportFileNavigator: boolean;
|
|
85
98
|
private isFileLoadingValue;
|
|
86
99
|
protected isFileLoading: boolean;
|
|
87
100
|
readonly fileNavigatorVisible: boolean;
|
|
@@ -105,9 +118,10 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
|
|
|
105
118
|
protected updateElementCssCore(cssClasses: any): void;
|
|
106
119
|
private getFileIndexCaption;
|
|
107
120
|
private updateFileNavigator;
|
|
121
|
+
private updateRenderedPages;
|
|
122
|
+
private updatePages;
|
|
108
123
|
private prevPreviewLength;
|
|
109
124
|
private previewValueChanged;
|
|
110
|
-
isPreviewVisible(index: number): boolean;
|
|
111
125
|
getType(): string;
|
|
112
126
|
/*
|
|
113
127
|
* Disable this property only to implement a custom preview.
|
|
@@ -235,6 +249,10 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
|
|
|
235
249
|
protected supportResponsiveness(): boolean;
|
|
236
250
|
protected getObservedElementSelector(): string;
|
|
237
251
|
private getFileListSelector;
|
|
252
|
+
private _renderedPages;
|
|
253
|
+
renderedPages: Array<QuestionFilePage>;
|
|
254
|
+
private getPagesAnimationOptions;
|
|
255
|
+
private pagesAnimation;
|
|
238
256
|
private calcAvailableItemsCount;
|
|
239
257
|
private calculatedGapBetweenItems;
|
|
240
258
|
private calculatedItemWidth;
|
|
@@ -69,6 +69,7 @@ export declare class MatrixDropdownRowModelBase implements ISurveyData, ISurveyI
|
|
|
69
69
|
static OwnerVariableName: string;
|
|
70
70
|
static IndexVariableName: string;
|
|
71
71
|
static RowValueVariableName: string;
|
|
72
|
+
static RowNameVariableName: string;
|
|
72
73
|
private static idCounter;
|
|
73
74
|
private static getId;
|
|
74
75
|
protected data: IMatrixDropdownData;
|
|
@@ -158,6 +159,7 @@ export declare class MatrixDropdownRowModelBase implements ISurveyData, ISurveyI
|
|
|
158
159
|
getSurvey(): ISurvey;
|
|
159
160
|
getTextProcessor(): ITextProcessor;
|
|
160
161
|
readonly rowIndex: number;
|
|
162
|
+
protected getRowIndex(): number;
|
|
161
163
|
readonly editingObj: Base;
|
|
162
164
|
private onEditingObjPropertyChanged;
|
|
163
165
|
private editingObjValue;
|
|
@@ -7,6 +7,7 @@ export declare class MatrixDynamicRowModel extends MatrixDropdownRowModelBase im
|
|
|
7
7
|
index: number;
|
|
8
8
|
private dragOrClickHelper;
|
|
9
9
|
constructor(index: number, data: IMatrixDropdownData, value: any);
|
|
10
|
+
protected getRowIndex(): number;
|
|
10
11
|
readonly rowName: string;
|
|
11
12
|
readonly dataName: string;
|
|
12
13
|
readonly text: any;
|
|
@@ -74,6 +75,7 @@ export declare class QuestionMatrixDynamicModel extends QuestionMatrixDropdownMo
|
|
|
74
75
|
* @see maxRowCount
|
|
75
76
|
*/
|
|
76
77
|
rowCount: number;
|
|
78
|
+
protected updateBindingProp(propName: string, value: any): void;
|
|
77
79
|
protected updateProgressInfoByValues(res: IProgressInfo): void;
|
|
78
80
|
private getValueForNewRow;
|
|
79
81
|
/*
|
|
@@ -96,6 +98,7 @@ export declare class QuestionMatrixDynamicModel extends QuestionMatrixDropdownMo
|
|
|
96
98
|
* @see allowRemoveRows
|
|
97
99
|
*/
|
|
98
100
|
minRowCount: number;
|
|
101
|
+
private onMinRowCountChanged;
|
|
99
102
|
/*
|
|
100
103
|
* A maximum number of rows in the matrix. Users cannot add new rows if `rowCount` equals `maxRowCount`.
|
|
101
104
|
*
|
|
@@ -105,6 +108,7 @@ export declare class QuestionMatrixDynamicModel extends QuestionMatrixDropdownMo
|
|
|
105
108
|
* @see allowAddRows
|
|
106
109
|
*/
|
|
107
110
|
maxRowCount: number;
|
|
111
|
+
private onMaxRowCountChanged;
|
|
108
112
|
/*
|
|
109
113
|
* Specifies whether users are allowed to add new rows.
|
|
110
114
|
*
|
|
@@ -164,7 +164,6 @@ export declare class QuestionTextModel extends QuestionTextBase {
|
|
|
164
164
|
dataList: Array<string>;
|
|
165
165
|
readonly locDataList: LocalizableStrings;
|
|
166
166
|
readonly dataListId: string;
|
|
167
|
-
protected canRunValidators(isOnValueChanged: boolean): boolean;
|
|
168
167
|
protected setNewValue(newValue: any): void;
|
|
169
168
|
protected correctValueType(newValue: any): any;
|
|
170
169
|
protected hasPlaceholder(): boolean;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Base } from "./base";
|
|
1
|
+
import { Base, EventBase } from "./base";
|
|
2
2
|
import { IAction } from "./actions/action";
|
|
3
3
|
import { AdaptiveActionContainer } from "./actions/adaptive-container";
|
|
4
4
|
import { ISurveyElement, IPage, IPanel, IProgressInfo, ISurvey, ISurveyData, ISurveyImpl, ITextProcessor, ITitleOwner } from "./base-interfaces";
|
|
@@ -103,6 +103,8 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
|
|
|
103
103
|
dragTypeOverMe: DragTypeOverMeEnum;
|
|
104
104
|
isDragMe: boolean;
|
|
105
105
|
readOnlyChangedCallback: () => void;
|
|
106
|
+
private static IsNeedScrollIntoView;
|
|
107
|
+
static ScrollIntoView(el: HTMLElement, scrollIntoViewOptions?: ScrollIntoViewOptions, doneCallback?: () => void): void;
|
|
106
108
|
static ScrollElementToTop(elementId: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions, doneCallback?: () => void): boolean;
|
|
107
109
|
static ScrollElementToViewCore(el: HTMLElement, checkLeft: boolean, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions, doneCallback?: () => void): boolean;
|
|
108
110
|
static GetFirstNonTextElement(elements: any, removeSpaces?: boolean): any;
|
|
@@ -410,5 +412,18 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
|
|
|
410
412
|
private animationCollapsed;
|
|
411
413
|
renderedIsExpanded: boolean;
|
|
412
414
|
protected getIsAnimationAllowed(): boolean;
|
|
415
|
+
onAfterRenderElement: EventBase<SurveyElement<E>, any>;
|
|
416
|
+
afterRenderCore(element: HTMLElement): void;
|
|
417
|
+
dispose(): void;
|
|
418
|
+
}
|
|
419
|
+
export declare class RenderingCompletedAwaiter {
|
|
420
|
+
private _elements;
|
|
421
|
+
private _renderedHandler;
|
|
422
|
+
constructor(_elements: Array<SurveyElement>, _renderedHandler: () => void, waitingTimeout?: number);
|
|
423
|
+
private _elementsToRenderCount;
|
|
424
|
+
private _elementsToRenderTimer;
|
|
425
|
+
private _elementRenderedHandler;
|
|
426
|
+
private stopWaitingForElementsRendering;
|
|
427
|
+
private visibleElementsRendered;
|
|
413
428
|
dispose(): void;
|
|
414
429
|
}
|
|
@@ -625,11 +625,17 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
|
|
|
625
625
|
* An event that is raised every second while the timer is running.
|
|
626
626
|
*
|
|
627
627
|
* Use the [`timeSpent`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#timeSpent) property to find out how many seconds have elapsed.
|
|
628
|
-
* @see
|
|
629
|
-
* @see
|
|
630
|
-
* @see
|
|
628
|
+
* @see timeLimit
|
|
629
|
+
* @see timeLimitPerPage
|
|
630
|
+
* @see showTimer
|
|
631
|
+
* @see timerLocation
|
|
631
632
|
* @see startTimer
|
|
632
633
|
*/
|
|
634
|
+
onTimerTick: EventBase<SurveyModel, {}>;
|
|
635
|
+
/**
|
|
636
|
+
* Obsolete. Use the [`onTimerTick`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTimerTick) event instead.
|
|
637
|
+
* @deprecated
|
|
638
|
+
*/
|
|
633
639
|
onTimer: EventBase<SurveyModel, {}>;
|
|
634
640
|
onTimerPanelInfoText: EventBase<SurveyModel, any>;
|
|
635
641
|
/**
|
|
@@ -773,6 +779,18 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
|
|
|
773
779
|
*/
|
|
774
780
|
headerView: "advanced" | "basic";
|
|
775
781
|
protected insertAdvancedHeader(advHeader: Cover): void;
|
|
782
|
+
/**
|
|
783
|
+
* Specifies whether the [Complete page](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#complete-page) should display the [survey header](https://surveyjs.io/form-library/examples/brand-your-survey-header/).
|
|
784
|
+
*
|
|
785
|
+
* Possible values:
|
|
786
|
+
*
|
|
787
|
+
* - `true` - Displays the survey header on the Complete page.
|
|
788
|
+
* - `false` - Hides the header when users reach the Complete page.
|
|
789
|
+
* - `"auto"` (default) - Displays a header with the basic view, but hides a header with the advanced view (see the [`headerView`](https://surveyjs.io/form-library/documentation/api-reference/itheme#headerView) property description).
|
|
790
|
+
*
|
|
791
|
+
* > This property cannot be specified in the survey JSON schema. Use dot notation to specify it.
|
|
792
|
+
*/
|
|
793
|
+
showHeaderOnCompletePage: true | false | "auto";
|
|
776
794
|
private getNavigationCss;
|
|
777
795
|
private lazyRenderingValue;
|
|
778
796
|
showBrandInfo: boolean;
|
|
@@ -2093,6 +2111,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
|
|
|
2093
2111
|
private getProgressTextCore;
|
|
2094
2112
|
rootCss: string;
|
|
2095
2113
|
getRootCss(): string;
|
|
2114
|
+
private isSmoothScrollEnabled;
|
|
2096
2115
|
private resizeObserver;
|
|
2097
2116
|
afterRenderSurvey(htmlElement: any): void;
|
|
2098
2117
|
/**
|
|
@@ -2164,7 +2183,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
|
|
|
2164
2183
|
private getUpdatedPageTitleActions;
|
|
2165
2184
|
getUpdatedMatrixRowActions(question: QuestionMatrixDropdownModelBase, row: any, actions: Array<IAction>): IAction[];
|
|
2166
2185
|
skeletonHeight: number;
|
|
2167
|
-
scrollElementToTop(element: ISurveyElement, question: Question, page: PageModel, id: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions, passedRootElement?: HTMLElement): any;
|
|
2186
|
+
scrollElementToTop(element: ISurveyElement, question: Question, page: PageModel, id: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions, passedRootElement?: HTMLElement, onScolledCallback?: () => void): any;
|
|
2168
2187
|
/**
|
|
2169
2188
|
* Opens a dialog window for users to select files.
|
|
2170
2189
|
* @param input A [file input HTML element](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement).
|
|
@@ -2573,38 +2592,56 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
|
|
|
2573
2592
|
getCorrectedAnswers(): number;
|
|
2574
2593
|
getInCorrectedAnswers(): number;
|
|
2575
2594
|
/*
|
|
2576
|
-
*
|
|
2595
|
+
* Obsolete. Use the [`showTimer`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showTimer) and [`timerLocation`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#timerLocation) properties instead.
|
|
2596
|
+
* @deprecated
|
|
2597
|
+
*/
|
|
2598
|
+
showTimerPanel: string;
|
|
2599
|
+
/*
|
|
2600
|
+
* Specifies the timer's visibility. Applies only to [quiz surveys](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz).
|
|
2577
2601
|
*
|
|
2578
|
-
*
|
|
2602
|
+
* Default value: `false`
|
|
2579
2603
|
*
|
|
2580
|
-
*
|
|
2581
|
-
* - `"bottom"` - Displays the timer panel at the bottom of the survey.
|
|
2582
|
-
* - `"none"` (default) - Hides the timer panel.
|
|
2604
|
+
* If you set this property to `true`, the timer starts automatically when the survey begins. To specify time limits, use the [`timeLimit`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#timeLimit) and [`timeLimitPerPage`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#timeLimitPerPage) properties.
|
|
2583
2605
|
*
|
|
2584
|
-
*
|
|
2606
|
+
* The timer displays information about time spent on an individual page and the entire survey. If you want to display only the page timer or the survey timer, set the [`timerInfoMode`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#timerInfoMode) property to `"page"` or `"survey"`.
|
|
2585
2607
|
*
|
|
2586
|
-
*
|
|
2587
|
-
* @see
|
|
2588
|
-
* @see stopTimer
|
|
2608
|
+
* You can enable the timer without displaying it. In this case, you need to specify the required time limits and use the [`startTimer()`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#startTimer) and [`stopTimer()`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#stopTimer) methods to control the timer.
|
|
2609
|
+
* @see timerLocation
|
|
2589
2610
|
* @see timeSpent
|
|
2590
|
-
* @see
|
|
2611
|
+
* @see onTimerTick
|
|
2591
2612
|
*/
|
|
2592
|
-
|
|
2613
|
+
showTimer: boolean;
|
|
2614
|
+
/*
|
|
2615
|
+
* Specifies the timer's position relative to the survey. Applies only if the [`showTimer`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showTimer) property is set to `true`.
|
|
2616
|
+
*
|
|
2617
|
+
* Possible values:
|
|
2618
|
+
*
|
|
2619
|
+
* - `"top"` (default) - Displays the timer at the top of the survey.
|
|
2620
|
+
* - `"bottom"` - Displays the timer at the bottom of the survey.
|
|
2621
|
+
* @see onTimerTick
|
|
2622
|
+
*/
|
|
2623
|
+
timerLocation: string;
|
|
2593
2624
|
readonly isTimerPanelShowingOnTop: boolean;
|
|
2594
2625
|
readonly isTimerPanelShowingOnBottom: boolean;
|
|
2595
2626
|
/*
|
|
2596
|
-
* Specifies whether the timer panel displays timers for the current page, the entire survey, or both. Applies only if the timer panel is [visible](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#
|
|
2627
|
+
* Specifies whether the timer panel displays timers for the current page, the entire survey, or both. Applies only if the timer panel is [visible](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showTimer).
|
|
2597
2628
|
*
|
|
2598
2629
|
* Possible values:
|
|
2599
2630
|
*
|
|
2600
2631
|
* - `"survey"` - Displays only the survey timer.
|
|
2601
2632
|
* - `"page"` - Displays only the page timer.
|
|
2602
|
-
* - `"
|
|
2633
|
+
* - `"combined"` (default) - Displays both the survey and page timers.
|
|
2603
2634
|
* @see timeSpent
|
|
2604
|
-
* @see
|
|
2635
|
+
* @see onTimerTick
|
|
2605
2636
|
* @see startTimer
|
|
2606
2637
|
* @see stopTimer
|
|
2607
2638
|
*/
|
|
2639
|
+
timerInfoMode: string;
|
|
2640
|
+
private getTimerInfoVal;
|
|
2641
|
+
/*
|
|
2642
|
+
* Obsolete. Use the [`timerInfoMode`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#timerInfoMode) property instead.
|
|
2643
|
+
* @deprecated
|
|
2644
|
+
*/
|
|
2608
2645
|
showTimerPanelMode: string;
|
|
2609
2646
|
gridLayoutEnabled: boolean;
|
|
2610
2647
|
/*
|
|
@@ -2648,20 +2685,20 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
|
|
|
2648
2685
|
/**
|
|
2649
2686
|
* Starts a timer that calculates how many seconds a respondent has spent on the survey. Applies only to [quiz surveys](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz).
|
|
2650
2687
|
* @see stopTimer
|
|
2651
|
-
* @see
|
|
2652
|
-
* @see
|
|
2688
|
+
* @see timeLimit
|
|
2689
|
+
* @see timeLimitPerPage
|
|
2653
2690
|
* @see timeSpent
|
|
2654
|
-
* @see
|
|
2691
|
+
* @see onTimerTick
|
|
2655
2692
|
*/
|
|
2656
2693
|
startTimer(): void;
|
|
2657
2694
|
startTimerFromUI(): void;
|
|
2658
2695
|
/**
|
|
2659
2696
|
* Stops the timer. Applies only to [quiz surveys](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz).
|
|
2660
2697
|
* @see startTimer
|
|
2661
|
-
* @see
|
|
2662
|
-
* @see
|
|
2698
|
+
* @see timeLimit
|
|
2699
|
+
* @see timeLimitPerPage
|
|
2663
2700
|
* @see timeSpent
|
|
2664
|
-
* @see
|
|
2701
|
+
* @see onTimerTick
|
|
2665
2702
|
*/
|
|
2666
2703
|
stopTimer(): void;
|
|
2667
2704
|
/*
|
|
@@ -2670,34 +2707,44 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
|
|
|
2670
2707
|
* Assign a number to this property if you need to start the quiz timer from a specific time (for instance, if you want to continue an interrupted quiz).
|
|
2671
2708
|
*
|
|
2672
2709
|
* You can also find out how many seconds a respondent has spent on an individual survey page. To do this, use the [`timeSpent`](https://surveyjs.io/form-library/documentation/api-reference/page-model#timeSpent) property of a [`PageModel`](https://surveyjs.io/form-library/documentation/api-reference/page-model) object.
|
|
2673
|
-
* @see
|
|
2674
|
-
* @see
|
|
2710
|
+
* @see timeLimit
|
|
2711
|
+
* @see timeLimitPerPage
|
|
2675
2712
|
* @see startTimer
|
|
2676
2713
|
*/
|
|
2677
2714
|
timeSpent: number;
|
|
2678
2715
|
/*
|
|
2679
2716
|
* A time period that a respondent has to complete the survey; measured in seconds. Applies only to [quiz surveys](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz).
|
|
2680
2717
|
*
|
|
2681
|
-
*
|
|
2718
|
+
* Default value: 0 (time is unlimited)
|
|
2682
2719
|
*
|
|
2683
2720
|
* [View Demo](https://surveyjs.io/form-library/examples/make-quiz-javascript/ (linkStyle))
|
|
2684
|
-
* @see
|
|
2721
|
+
* @see timeLimitPerPage
|
|
2685
2722
|
* @see startTimer
|
|
2686
2723
|
* @see timeSpent
|
|
2687
2724
|
*/
|
|
2725
|
+
timeLimit: number;
|
|
2726
|
+
/*
|
|
2727
|
+
* Obsolete. Use the [`timeLimit`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#timeLimit) property instead.
|
|
2728
|
+
* @deprecated
|
|
2729
|
+
*/
|
|
2688
2730
|
maxTimeToFinish: number;
|
|
2689
2731
|
/*
|
|
2690
2732
|
* A time period that a respondent has to complete each survey page; measured in seconds. Applies only to [quiz surveys](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz).
|
|
2691
2733
|
*
|
|
2692
|
-
*
|
|
2734
|
+
* Default value: 0 (time is unlimited)
|
|
2693
2735
|
*
|
|
2694
|
-
* You can also use `PageModel`'s [`
|
|
2736
|
+
* You can also use `PageModel`'s [`timeLimit`](https://surveyjs.io/form-library/documentation/api-reference/page-model#timeLimit) property to specify a time period for an individual survey page.
|
|
2695
2737
|
*
|
|
2696
2738
|
* [View Demo](https://surveyjs.io/form-library/examples/make-quiz-javascript/ (linkStyle))
|
|
2697
|
-
* @see
|
|
2739
|
+
* @see timeLimit
|
|
2698
2740
|
* @see startTimer
|
|
2699
2741
|
* @see timeSpent
|
|
2700
2742
|
*/
|
|
2743
|
+
timeLimitPerPage: number;
|
|
2744
|
+
/*
|
|
2745
|
+
* Obsolete. Use the [`timeLimitPerPage`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#timeLimitPerPage) property instead.
|
|
2746
|
+
* @deprecated
|
|
2747
|
+
*/
|
|
2701
2748
|
maxTimeToFinishPage: number;
|
|
2702
2749
|
private doTimer;
|
|
2703
2750
|
readonly inSurvey: boolean;
|