survey-core 1.12.3 → 1.12.5
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 +96 -42
- package/defaultV2.css.map +1 -1
- package/defaultV2.fontless.css +96 -42
- 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 +23 -77
- package/modern.css.map +1 -1
- package/modern.fontless.css +23 -77
- 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/index.js +1 -2
- package/plugins/bootstrap-integration/index.js.map +1 -1
- package/plugins/bootstrap-integration/index.min.js +2 -2
- package/plugins/bootstrap-material-integration/index.js +1 -2
- package/plugins/bootstrap-material-integration/index.js.map +1 -1
- package/plugins/bootstrap-material-integration/index.min.js +2 -2
- package/survey.core.js +866 -342
- package/survey.core.js.map +1 -1
- package/survey.core.min.js +3 -3
- package/survey.css +11 -17
- package/survey.css.map +1 -1
- package/survey.i18n.js +1 -1
- package/survey.i18n.min.js +1 -1
- package/survey.min.css +2 -2
- 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 -4
- package/ts3.4/typings/packages/survey-core/src/defaultCss/defaultV2Css.d.ts +1 -0
- package/ts3.4/typings/packages/survey-core/src/page.d.ts +9 -3
- package/ts3.4/typings/packages/survey-core/src/panel.d.ts +11 -3
- package/ts3.4/typings/packages/survey-core/src/question.d.ts +5 -5
- 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_matrix.d.ts +13 -5
- package/ts3.4/typings/packages/survey-core/src/question_matrixdynamic.d.ts +2 -0
- package/ts3.4/typings/packages/survey-core/src/question_paneldynamic.d.ts +2 -0
- package/ts3.4/typings/packages/survey-core/src/question_ranking.d.ts +1 -0
- package/ts3.4/typings/packages/survey-core/src/question_rating.d.ts +3 -0
- package/ts3.4/typings/packages/survey-core/src/survey-element.d.ts +19 -3
- package/ts3.4/typings/packages/survey-core/src/survey.d.ts +84 -33
- 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/utils/utils.d.ts +2 -2
- 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 -4
- package/typings/packages/survey-core/src/defaultCss/defaultV2Css.d.ts +1 -0
- package/typings/packages/survey-core/src/page.d.ts +10 -3
- package/typings/packages/survey-core/src/panel.d.ts +11 -3
- package/typings/packages/survey-core/src/question.d.ts +5 -5
- 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_matrix.d.ts +13 -5
- package/typings/packages/survey-core/src/question_matrixdynamic.d.ts +2 -0
- package/typings/packages/survey-core/src/question_paneldynamic.d.ts +2 -0
- package/typings/packages/survey-core/src/question_ranking.d.ts +1 -0
- package/typings/packages/survey-core/src/question_rating.d.ts +3 -0
- package/typings/packages/survey-core/src/survey-element.d.ts +19 -3
- package/typings/packages/survey-core/src/survey.d.ts +90 -34
- 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/utils/utils.d.ts +2 -2
|
@@ -31,6 +31,7 @@ export declare class PageModel extends PanelModelBase implements IPage {
|
|
|
31
31
|
navigationDescription: string;
|
|
32
32
|
readonly locNavigationDescription: LocalizableString;
|
|
33
33
|
navigationLocStrChanged(): void;
|
|
34
|
+
getMarkdownHtml(text: string, name: string): string;
|
|
34
35
|
passed: boolean;
|
|
35
36
|
protected removeFromParent(): void;
|
|
36
37
|
onFirstRendering(): void;
|
|
@@ -75,7 +76,7 @@ export declare class PageModel extends PanelModelBase implements IPage {
|
|
|
75
76
|
scrollToTop(): void;
|
|
76
77
|
/**
|
|
77
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).
|
|
78
|
-
* @see
|
|
79
|
+
* @see timeLimit
|
|
79
80
|
*/
|
|
80
81
|
timeSpent: number;
|
|
81
82
|
/**
|
|
@@ -88,11 +89,16 @@ export declare class PageModel extends PanelModelBase implements IPage {
|
|
|
88
89
|
/*
|
|
89
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).
|
|
90
91
|
*
|
|
91
|
-
*
|
|
92
|
+
* Default value: 0 (time is unlimited)
|
|
92
93
|
*
|
|
93
|
-
* 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.
|
|
94
95
|
* @see timeSpent
|
|
95
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
|
+
*/
|
|
96
102
|
maxTimeToFinish: number;
|
|
97
103
|
getMaxTimeToFinish(): number;
|
|
98
104
|
protected onNumChanged(value: number): void;
|
|
@@ -17,6 +17,7 @@ export declare class QuestionRowModel extends Base {
|
|
|
17
17
|
private static getRowId;
|
|
18
18
|
protected _scrollableParent: any;
|
|
19
19
|
protected _updateVisibility: any;
|
|
20
|
+
private readonly allowRendering: any;
|
|
20
21
|
startLazyRendering(rowContainerDiv: HTMLElement, findScrollableContainer?: typeof findScrollableParent): void;
|
|
21
22
|
ensureVisibility(): void;
|
|
22
23
|
stopLazyRendering(): void;
|
|
@@ -309,6 +310,8 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
|
|
|
309
310
|
getProgressInfo(): IProgressInfo;
|
|
310
311
|
readonly root: PanelModelBase;
|
|
311
312
|
protected childVisibilityChanged(): void;
|
|
313
|
+
protected canRenderFirstRows(): boolean;
|
|
314
|
+
private isLazyRenderInRow;
|
|
312
315
|
createRowAndSetLazy(index: number): QuestionRowModel;
|
|
313
316
|
createRow(): QuestionRowModel;
|
|
314
317
|
onSurveyLoad(): void;
|
|
@@ -330,12 +333,14 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
|
|
|
330
333
|
private updateRowsVisibility;
|
|
331
334
|
canBuildRows(): boolean;
|
|
332
335
|
private buildRows;
|
|
333
|
-
private isLazyRenderInRow;
|
|
334
|
-
protected canRenderFirstRows(): boolean;
|
|
335
336
|
getDragDropInfo(): any;
|
|
336
337
|
private updateRowsOnElementRemoved;
|
|
337
338
|
updateRowsRemoveElementFromRow(element: IElement, row: QuestionRowModel): void;
|
|
338
|
-
|
|
339
|
+
getAllRows(): Array<QuestionRowModel>;
|
|
340
|
+
private findRowAndIndexByElement;
|
|
341
|
+
private forceRenderRow;
|
|
342
|
+
forceRenderElement(el: IElement, elementsRendered?: () => void, gap?: number): void;
|
|
343
|
+
forceRenderRows(rows: Array<QuestionRowModel>, elementsRendered?: () => void): void;
|
|
339
344
|
findRowByElement(el: IElement): QuestionRowModel;
|
|
340
345
|
elementWidthChanged(el: IElement): void;
|
|
341
346
|
readonly processedTitle: string;
|
|
@@ -455,6 +460,7 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
|
|
|
455
460
|
readonly cssError: string;
|
|
456
461
|
protected getCssError(cssClasses: any): string;
|
|
457
462
|
getSerializableColumnsValue(): Array<PanelLayoutColumnModel>;
|
|
463
|
+
afterRender(el: HTMLElement): void;
|
|
458
464
|
dispose(): void;
|
|
459
465
|
}
|
|
460
466
|
/**
|
|
@@ -534,6 +540,7 @@ export declare class PanelModel extends PanelModelBase implements IElement {
|
|
|
534
540
|
protected createLocTitleProperty(): LocalizableString;
|
|
535
541
|
protected beforeSetVisibleIndex(index: number): number;
|
|
536
542
|
protected getPanelStartIndex(index: number): number;
|
|
543
|
+
private hasParentInQuestionIndex;
|
|
537
544
|
protected isContinueNumbering(): boolean;
|
|
538
545
|
private notifySurveyOnVisibilityChanged;
|
|
539
546
|
protected getRenderedTitle(str: string): string;
|
|
@@ -573,4 +580,5 @@ export declare class PanelModel extends PanelModelBase implements IElement {
|
|
|
573
580
|
[index: string]: string;
|
|
574
581
|
}): string;
|
|
575
582
|
getContainerCss(): string;
|
|
583
|
+
afterRenderCore(element: HTMLElement): void;
|
|
576
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;
|
|
@@ -538,7 +538,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
|
|
|
538
538
|
*
|
|
539
539
|
* | Question type | Value type(s) |
|
|
540
540
|
* | ------------- | ------------- |
|
|
541
|
-
* | Checkboxes |
|
|
541
|
+
* | Checkboxes | <code>Array<string | number></code> |
|
|
542
542
|
* | Dropdown | `string` \| `number` |
|
|
543
543
|
* | Dynamic Matrix | `Array<object>` |
|
|
544
544
|
* | Dynamic Panel | `Array<object>` |
|
|
@@ -546,14 +546,14 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
|
|
|
546
546
|
* | File Upload | `File` \| `Array<File>` |
|
|
547
547
|
* | HTML | (no value) |
|
|
548
548
|
* | Image | (no value) |
|
|
549
|
-
* | Image Picker |
|
|
549
|
+
* | Image Picker | <code>Array<string | number></code> |
|
|
550
550
|
* | Long Text | `string` |
|
|
551
551
|
* | Multi-Select Dropdown | `object` |
|
|
552
552
|
* | Multi-Select Matrix | `object` |
|
|
553
553
|
* | Multiple Textboxes | `Array<string>` |
|
|
554
554
|
* | Panel | (no value) |
|
|
555
555
|
* | Radio Button Group | `string` \| `number` |
|
|
556
|
-
* | Ranking |
|
|
556
|
+
* | Ranking | <code>Array<string | number></code> |
|
|
557
557
|
* | Rating Scale | `number` \| `string` |
|
|
558
558
|
* | Signature | `string` (base64-encoded image) |
|
|
559
559
|
* | Single-Line Input | `string` \| `number` \| `Date` |
|
|
@@ -771,7 +771,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
|
|
|
771
771
|
readonly requiredText: string;
|
|
772
772
|
addError(error: SurveyError | string): void;
|
|
773
773
|
private addCustomError;
|
|
774
|
-
removeError(error: SurveyError):
|
|
774
|
+
removeError(error: SurveyError): boolean;
|
|
775
775
|
private checkForErrors;
|
|
776
776
|
protected canCollectErrors(): boolean;
|
|
777
777
|
private collectErrors;
|
|
@@ -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";
|
|
@@ -51,9 +51,21 @@ export declare class QuestionFileModelBase extends Question {
|
|
|
51
51
|
*
|
|
52
52
|
* [View Demo](https://surveyjs.io/form-library/examples/file-upload/ (linkStyle))
|
|
53
53
|
*/
|
|
54
|
+
export declare class QuestionFilePage extends Base {
|
|
55
|
+
private question;
|
|
56
|
+
private index;
|
|
57
|
+
private static pageCounter;
|
|
58
|
+
private static getId;
|
|
59
|
+
items: Array<any>;
|
|
60
|
+
id: string;
|
|
61
|
+
constructor(question: QuestionFileModel, index: number);
|
|
62
|
+
readonly css: string;
|
|
63
|
+
}
|
|
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;
|
|
@@ -39,20 +39,27 @@ export interface IMatrixCellsOwner extends ILocalizableOwner {
|
|
|
39
39
|
getRows(): Array<any>;
|
|
40
40
|
getColumns(): Array<any>;
|
|
41
41
|
}
|
|
42
|
-
export declare class MatrixCells {
|
|
42
|
+
export declare class MatrixCells extends Base {
|
|
43
43
|
cellsOwner: IMatrixCellsOwner;
|
|
44
44
|
private values;
|
|
45
|
+
private locs;
|
|
45
46
|
constructor(cellsOwner: IMatrixCellsOwner);
|
|
47
|
+
getType(): string;
|
|
46
48
|
readonly isEmpty: boolean;
|
|
47
49
|
onValuesChanged: () => void;
|
|
50
|
+
private locNotification;
|
|
48
51
|
private valuesChanged;
|
|
49
|
-
|
|
50
|
-
setDefaultCellText(column: any, val: string): void;
|
|
51
|
-
getCellLocText(row: any, column: any): LocalizableString;
|
|
52
|
-
getDefaultCellLocText(column: any, val: string): LocalizableString;
|
|
52
|
+
getDefaultCellLocText(column: any): LocalizableString;
|
|
53
53
|
getCellDisplayLocText(row: any, column: any): LocalizableString;
|
|
54
|
+
private getCellLocCore;
|
|
55
|
+
private readonly defaultRowValue: any;
|
|
56
|
+
private getCellLocData;
|
|
57
|
+
private getCellLocDataFromValue;
|
|
54
58
|
getCellText(row: any, column: any): string;
|
|
59
|
+
setCellText(row: any, column: any, val: string): void;
|
|
60
|
+
private updateValues;
|
|
55
61
|
getDefaultCellText(column: any): string;
|
|
62
|
+
setDefaultCellText(column: any, val: string): void;
|
|
56
63
|
getCellDisplayText(row: any, column: any): string;
|
|
57
64
|
readonly rows: Array<any>;
|
|
58
65
|
readonly columns: Array<any>;
|
|
@@ -60,6 +67,7 @@ export declare class MatrixCells {
|
|
|
60
67
|
getJson(): any;
|
|
61
68
|
setJson(value: any): void;
|
|
62
69
|
locStrsChanged(): void;
|
|
70
|
+
private runFuncOnLocs;
|
|
63
71
|
protected createString(): LocalizableString;
|
|
64
72
|
}
|
|
65
73
|
/**
|
|
@@ -96,6 +96,7 @@ export declare class QuestionMatrixDynamicModel extends QuestionMatrixDropdownMo
|
|
|
96
96
|
* @see allowRemoveRows
|
|
97
97
|
*/
|
|
98
98
|
minRowCount: number;
|
|
99
|
+
private onMinRowCountChanged;
|
|
99
100
|
/*
|
|
100
101
|
* A maximum number of rows in the matrix. Users cannot add new rows if `rowCount` equals `maxRowCount`.
|
|
101
102
|
*
|
|
@@ -105,6 +106,7 @@ export declare class QuestionMatrixDynamicModel extends QuestionMatrixDropdownMo
|
|
|
105
106
|
* @see allowAddRows
|
|
106
107
|
*/
|
|
107
108
|
maxRowCount: number;
|
|
109
|
+
private onMaxRowCountChanged;
|
|
108
110
|
/*
|
|
109
111
|
* Specifies whether users are allowed to add new rows.
|
|
110
112
|
*
|
|
@@ -323,6 +323,7 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
|
|
|
323
323
|
* @see allowRemovePanel
|
|
324
324
|
*/
|
|
325
325
|
minPanelCount: number;
|
|
326
|
+
private onMinPanelCountChanged;
|
|
326
327
|
/*
|
|
327
328
|
* A maximum number of panels in Dynamic Panel. Users cannot add new panels if `panelCount` equals `maxPanelCount`.
|
|
328
329
|
*
|
|
@@ -332,6 +333,7 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
|
|
|
332
333
|
* @see allowAddPanel
|
|
333
334
|
*/
|
|
334
335
|
maxPanelCount: number;
|
|
336
|
+
private onMaxPanelCountChanged;
|
|
335
337
|
/*
|
|
336
338
|
* Specifies whether users are allowed to add new panels.
|
|
337
339
|
*
|
|
@@ -30,6 +30,7 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
|
|
|
30
30
|
onSurveyValueChanged(newValue: any): void;
|
|
31
31
|
onSurveyLoad(): void;
|
|
32
32
|
protected onVisibleChoicesChanged: () => void;
|
|
33
|
+
updateValueFromSurvey(newValue: any, clearData: boolean): void;
|
|
33
34
|
localeChanged: () => void;
|
|
34
35
|
private addToValueByVisibleChoices;
|
|
35
36
|
private removeFromValueByVisibleChoices;
|
|
@@ -116,6 +116,7 @@ export declare class QuestionRatingModel extends Question {
|
|
|
116
116
|
private createRenderedRateItems;
|
|
117
117
|
renderedRateItems: Array<RenderedRatingItem>;
|
|
118
118
|
private createRateValues;
|
|
119
|
+
private getRatingItemValue;
|
|
119
120
|
private correctValue;
|
|
120
121
|
getType(): string;
|
|
121
122
|
protected getFirstInputElementId(): string;
|
|
@@ -262,6 +263,7 @@ export declare class QuestionRatingModel extends Question {
|
|
|
262
263
|
readonly searchEnabled: boolean;
|
|
263
264
|
renderedValue: any;
|
|
264
265
|
isItemSelected(item: ItemValue): boolean;
|
|
266
|
+
private visibleChoicesValue;
|
|
265
267
|
readonly visibleChoices: ItemValue[];
|
|
266
268
|
readonly readOnlyText: any;
|
|
267
269
|
needResponsiveWidth(): boolean;
|
|
@@ -271,6 +273,7 @@ export declare class QuestionRatingModel extends Question {
|
|
|
271
273
|
protected getDesktopRenderAs(): string;
|
|
272
274
|
private dropdownListModelValue;
|
|
273
275
|
dropdownListModel: DropdownListModel;
|
|
276
|
+
protected onBlurCore(event: any): void;
|
|
274
277
|
protected updateCssClasses(res: any, css: any): void;
|
|
275
278
|
protected calcCssClasses(css: any): any;
|
|
276
279
|
themeChanged(theme: ITheme): void;
|
|
@@ -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,8 +103,10 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
|
|
|
103
103
|
dragTypeOverMe: DragTypeOverMeEnum;
|
|
104
104
|
isDragMe: boolean;
|
|
105
105
|
readOnlyChangedCallback: () => void;
|
|
106
|
-
static
|
|
107
|
-
static
|
|
106
|
+
private static IsNeedScrollIntoView;
|
|
107
|
+
static ScrollIntoView(el: HTMLElement, scrollIntoViewOptions?: ScrollIntoViewOptions, doneCallback?: () => void): void;
|
|
108
|
+
static ScrollElementToTop(elementId: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions, doneCallback?: () => void): boolean;
|
|
109
|
+
static ScrollElementToViewCore(el: HTMLElement, checkLeft: boolean, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions, doneCallback?: () => void): boolean;
|
|
108
110
|
static GetFirstNonTextElement(elements: any, removeSpaces?: boolean): any;
|
|
109
111
|
static FocusElement(elementId: string): boolean;
|
|
110
112
|
private static focusElementCore;
|
|
@@ -219,6 +221,7 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
|
|
|
219
221
|
readonly survey: ISurvey;
|
|
220
222
|
getSurvey(live?: boolean): ISurvey;
|
|
221
223
|
protected setSurveyCore(value: ISurvey): void;
|
|
224
|
+
readonly skeletonHeight: string;
|
|
222
225
|
isContentElement: boolean;
|
|
223
226
|
isEditableTemplateElement: boolean;
|
|
224
227
|
isInteractiveDesignElement: boolean;
|
|
@@ -409,5 +412,18 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
|
|
|
409
412
|
private animationCollapsed;
|
|
410
413
|
renderedIsExpanded: boolean;
|
|
411
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;
|
|
412
428
|
dispose(): void;
|
|
413
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;
|
|
@@ -791,7 +809,10 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
|
|
|
791
809
|
readonly isLazyRendering: boolean;
|
|
792
810
|
lazyRenderingFirstBatchSizeValue: number;
|
|
793
811
|
lazyRenderingFirstBatchSize: number;
|
|
794
|
-
|
|
812
|
+
protected _isLazyRenderingSuspended: boolean;
|
|
813
|
+
readonly isLazyRenderingSuspended: boolean;
|
|
814
|
+
protected suspendLazyRendering(): void;
|
|
815
|
+
protected releaseLazyRendering(): void;
|
|
795
816
|
private updateLazyRenderingRowsOnRemovingElements;
|
|
796
817
|
/*
|
|
797
818
|
* A list of triggers in the survey.
|
|
@@ -1292,8 +1313,9 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
|
|
|
1292
1313
|
/**
|
|
1293
1314
|
* Calculates a given [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) and returns a result value.
|
|
1294
1315
|
* @param expression An expression to calculate.
|
|
1316
|
+
* @param callback A callback function that you can use to access the calculation result if the expression uses asynchronous functions.
|
|
1295
1317
|
*/
|
|
1296
|
-
runExpression(expression: string): any;
|
|
1318
|
+
runExpression(expression: string, callback?: (res: any) => void): any;
|
|
1297
1319
|
/**
|
|
1298
1320
|
* Calculates a given [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) and returns `true` or `false`.
|
|
1299
1321
|
* @param expression An expression to calculate.
|
|
@@ -2159,7 +2181,8 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
|
|
|
2159
2181
|
private getUpdatedPanelTitleActions;
|
|
2160
2182
|
private getUpdatedPageTitleActions;
|
|
2161
2183
|
getUpdatedMatrixRowActions(question: QuestionMatrixDropdownModelBase, row: any, actions: Array<IAction>): IAction[];
|
|
2162
|
-
|
|
2184
|
+
skeletonHeight: number;
|
|
2185
|
+
scrollElementToTop(element: ISurveyElement, question: Question, page: PageModel, id: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions, passedRootElement?: HTMLElement): any;
|
|
2163
2186
|
/**
|
|
2164
2187
|
* Opens a dialog window for users to select files.
|
|
2165
2188
|
* @param input A [file input HTML element](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement).
|
|
@@ -2568,38 +2591,56 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
|
|
|
2568
2591
|
getCorrectedAnswers(): number;
|
|
2569
2592
|
getInCorrectedAnswers(): number;
|
|
2570
2593
|
/*
|
|
2571
|
-
*
|
|
2594
|
+
* 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.
|
|
2595
|
+
* @deprecated
|
|
2596
|
+
*/
|
|
2597
|
+
showTimerPanel: string;
|
|
2598
|
+
/*
|
|
2599
|
+
* Specifies the timer's visibility. Applies only to [quiz surveys](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz).
|
|
2572
2600
|
*
|
|
2573
|
-
*
|
|
2601
|
+
* Default value: `false`
|
|
2574
2602
|
*
|
|
2575
|
-
*
|
|
2576
|
-
* - `"bottom"` - Displays the timer panel at the bottom of the survey.
|
|
2577
|
-
* - `"none"` (default) - Hides the timer panel.
|
|
2603
|
+
* 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.
|
|
2578
2604
|
*
|
|
2579
|
-
*
|
|
2605
|
+
* 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"`.
|
|
2580
2606
|
*
|
|
2581
|
-
*
|
|
2582
|
-
* @see
|
|
2583
|
-
* @see stopTimer
|
|
2607
|
+
* 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.
|
|
2608
|
+
* @see timerLocation
|
|
2584
2609
|
* @see timeSpent
|
|
2585
|
-
* @see
|
|
2610
|
+
* @see onTimerTick
|
|
2586
2611
|
*/
|
|
2587
|
-
|
|
2612
|
+
showTimer: boolean;
|
|
2613
|
+
/*
|
|
2614
|
+
* 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`.
|
|
2615
|
+
*
|
|
2616
|
+
* Possible values:
|
|
2617
|
+
*
|
|
2618
|
+
* - `"top"` (default) - Displays the timer at the top of the survey.
|
|
2619
|
+
* - `"bottom"` - Displays the timer at the bottom of the survey.
|
|
2620
|
+
* @see onTimerTick
|
|
2621
|
+
*/
|
|
2622
|
+
timerLocation: string;
|
|
2588
2623
|
readonly isTimerPanelShowingOnTop: boolean;
|
|
2589
2624
|
readonly isTimerPanelShowingOnBottom: boolean;
|
|
2590
2625
|
/*
|
|
2591
|
-
* 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#
|
|
2626
|
+
* 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).
|
|
2592
2627
|
*
|
|
2593
2628
|
* Possible values:
|
|
2594
2629
|
*
|
|
2595
2630
|
* - `"survey"` - Displays only the survey timer.
|
|
2596
2631
|
* - `"page"` - Displays only the page timer.
|
|
2597
|
-
* - `"
|
|
2632
|
+
* - `"combined"` (default) - Displays both the survey and page timers.
|
|
2598
2633
|
* @see timeSpent
|
|
2599
|
-
* @see
|
|
2634
|
+
* @see onTimerTick
|
|
2600
2635
|
* @see startTimer
|
|
2601
2636
|
* @see stopTimer
|
|
2602
2637
|
*/
|
|
2638
|
+
timerInfoMode: string;
|
|
2639
|
+
private getTimerInfoVal;
|
|
2640
|
+
/*
|
|
2641
|
+
* Obsolete. Use the [`timerInfoMode`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#timerInfoMode) property instead.
|
|
2642
|
+
* @deprecated
|
|
2643
|
+
*/
|
|
2603
2644
|
showTimerPanelMode: string;
|
|
2604
2645
|
gridLayoutEnabled: boolean;
|
|
2605
2646
|
/*
|
|
@@ -2643,20 +2684,20 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
|
|
|
2643
2684
|
/**
|
|
2644
2685
|
* 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).
|
|
2645
2686
|
* @see stopTimer
|
|
2646
|
-
* @see
|
|
2647
|
-
* @see
|
|
2687
|
+
* @see timeLimit
|
|
2688
|
+
* @see timeLimitPerPage
|
|
2648
2689
|
* @see timeSpent
|
|
2649
|
-
* @see
|
|
2690
|
+
* @see onTimerTick
|
|
2650
2691
|
*/
|
|
2651
2692
|
startTimer(): void;
|
|
2652
2693
|
startTimerFromUI(): void;
|
|
2653
2694
|
/**
|
|
2654
2695
|
* Stops the timer. Applies only to [quiz surveys](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz).
|
|
2655
2696
|
* @see startTimer
|
|
2656
|
-
* @see
|
|
2657
|
-
* @see
|
|
2697
|
+
* @see timeLimit
|
|
2698
|
+
* @see timeLimitPerPage
|
|
2658
2699
|
* @see timeSpent
|
|
2659
|
-
* @see
|
|
2700
|
+
* @see onTimerTick
|
|
2660
2701
|
*/
|
|
2661
2702
|
stopTimer(): void;
|
|
2662
2703
|
/*
|
|
@@ -2665,34 +2706,44 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
|
|
|
2665
2706
|
* 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).
|
|
2666
2707
|
*
|
|
2667
2708
|
* 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.
|
|
2668
|
-
* @see
|
|
2669
|
-
* @see
|
|
2709
|
+
* @see timeLimit
|
|
2710
|
+
* @see timeLimitPerPage
|
|
2670
2711
|
* @see startTimer
|
|
2671
2712
|
*/
|
|
2672
2713
|
timeSpent: number;
|
|
2673
2714
|
/*
|
|
2674
2715
|
* 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).
|
|
2675
2716
|
*
|
|
2676
|
-
*
|
|
2717
|
+
* Default value: 0 (time is unlimited)
|
|
2677
2718
|
*
|
|
2678
2719
|
* [View Demo](https://surveyjs.io/form-library/examples/make-quiz-javascript/ (linkStyle))
|
|
2679
|
-
* @see
|
|
2720
|
+
* @see timeLimitPerPage
|
|
2680
2721
|
* @see startTimer
|
|
2681
2722
|
* @see timeSpent
|
|
2682
2723
|
*/
|
|
2724
|
+
timeLimit: number;
|
|
2725
|
+
/*
|
|
2726
|
+
* Obsolete. Use the [`timeLimit`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#timeLimit) property instead.
|
|
2727
|
+
* @deprecated
|
|
2728
|
+
*/
|
|
2683
2729
|
maxTimeToFinish: number;
|
|
2684
2730
|
/*
|
|
2685
2731
|
* 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).
|
|
2686
2732
|
*
|
|
2687
|
-
*
|
|
2733
|
+
* Default value: 0 (time is unlimited)
|
|
2688
2734
|
*
|
|
2689
|
-
* You can also use `PageModel`'s [`
|
|
2735
|
+
* 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.
|
|
2690
2736
|
*
|
|
2691
2737
|
* [View Demo](https://surveyjs.io/form-library/examples/make-quiz-javascript/ (linkStyle))
|
|
2692
|
-
* @see
|
|
2738
|
+
* @see timeLimit
|
|
2693
2739
|
* @see startTimer
|
|
2694
2740
|
* @see timeSpent
|
|
2695
2741
|
*/
|
|
2742
|
+
timeLimitPerPage: number;
|
|
2743
|
+
/*
|
|
2744
|
+
* Obsolete. Use the [`timeLimitPerPage`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#timeLimitPerPage) property instead.
|
|
2745
|
+
* @deprecated
|
|
2746
|
+
*/
|
|
2696
2747
|
maxTimeToFinishPage: number;
|
|
2697
2748
|
private doTimer;
|
|
2698
2749
|
readonly inSurvey: boolean;
|
|
@@ -18,7 +18,7 @@ export interface ISurveyTimerText {
|
|
|
18
18
|
onCurrentPageChanged: EventBase<SurveyModel>;
|
|
19
19
|
}
|
|
20
20
|
export declare class SurveyTimerModel extends Base {
|
|
21
|
-
|
|
21
|
+
onTimerTick: (page: PageModel) => void;
|
|
22
22
|
private surveyValue;
|
|
23
23
|
constructor(survey: ISurvey);
|
|
24
24
|
text: string;
|
|
@@ -14,6 +14,7 @@ export declare class SurveyTimer {
|
|
|
14
14
|
private listenerCounter;
|
|
15
15
|
private timerId;
|
|
16
16
|
private prevTimeInMs;
|
|
17
|
+
onTimerTick: EventBase<SurveyTimer, SurveyTimerEvent>;
|
|
17
18
|
onTimer: EventBase<SurveyTimer, SurveyTimerEvent>;
|
|
18
19
|
start(func?: (timer: SurveyTimer, options: SurveyTimerEvent) => void): void;
|
|
19
20
|
stop(func?: (timer: SurveyTimer, options: SurveyTimerEvent) => any): void;
|