survey-core 1.11.8 → 1.11.10
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 +23 -9
- package/defaultV2.css.map +1 -1
- package/defaultV2.fontless.css +23 -9
- package/defaultV2.fontless.css.map +1 -1
- package/defaultV2.fontless.min.css +2 -2
- package/defaultV2.min.css +2 -2
- package/i18n/arabic.js +1 -1
- package/i18n/arabic.min.js +1 -1
- package/i18n/basque.js +1 -1
- package/i18n/basque.min.js +1 -1
- package/i18n/bulgarian.js +1 -1
- package/i18n/bulgarian.min.js +1 -1
- package/i18n/catalan.js +1 -1
- package/i18n/catalan.min.js +1 -1
- package/i18n/croatian.js +1 -1
- package/i18n/croatian.min.js +1 -1
- package/i18n/czech.js +1 -1
- package/i18n/czech.min.js +1 -1
- package/i18n/danish.js +1 -1
- package/i18n/danish.min.js +1 -1
- package/i18n/dutch.js +1 -1
- package/i18n/dutch.min.js +1 -1
- package/i18n/english.js +1 -1
- package/i18n/english.min.js +1 -1
- package/i18n/estonian.js +1 -1
- package/i18n/estonian.min.js +1 -1
- package/i18n/finnish.js +1 -1
- package/i18n/finnish.min.js +1 -1
- package/i18n/french.js +1 -1
- package/i18n/french.min.js +1 -1
- package/i18n/georgian.js +1 -1
- package/i18n/georgian.min.js +1 -1
- package/i18n/german.js +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.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 +372 -167
- 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/base-interfaces.d.ts +9 -0
- package/ts3.4/typings/dragdrop/core.d.ts +1 -0
- package/ts3.4/typings/dropdownListModel.d.ts +1 -0
- package/ts3.4/typings/expressions/expressions.d.ts +0 -3
- package/ts3.4/typings/helpers.d.ts +2 -0
- package/ts3.4/typings/jsonobject.d.ts +2 -1
- package/ts3.4/typings/popup-dropdown-view-model.d.ts +2 -1
- package/ts3.4/typings/popup.d.ts +2 -1
- package/ts3.4/typings/question.d.ts +2 -1
- package/ts3.4/typings/question_baseselect.d.ts +0 -5
- package/ts3.4/typings/question_custom.d.ts +8 -0
- package/ts3.4/typings/question_file.d.ts +7 -5
- package/ts3.4/typings/question_matrix.d.ts +2 -2
- package/ts3.4/typings/question_matrixdropdownbase.d.ts +1 -0
- package/ts3.4/typings/question_multipletext.d.ts +1 -0
- package/ts3.4/typings/question_paneldynamic.d.ts +2 -0
- package/ts3.4/typings/question_signaturepad.d.ts +2 -0
- package/ts3.4/typings/question_text.d.ts +2 -0
- package/ts3.4/typings/settings.d.ts +25 -0
- package/ts3.4/typings/survey-events-api.d.ts +26 -0
- package/ts3.4/typings/survey.d.ts +15 -4
- package/ts3.4/typings/utils/utils.d.ts +1 -0
- package/typings/base-interfaces.d.ts +9 -0
- package/typings/dragdrop/core.d.ts +1 -0
- package/typings/dropdownListModel.d.ts +1 -0
- package/typings/expressions/expressions.d.ts +0 -3
- package/typings/helpers.d.ts +2 -0
- package/typings/jsonobject.d.ts +2 -1
- package/typings/popup-dropdown-view-model.d.ts +2 -1
- package/typings/popup.d.ts +2 -1
- package/typings/question.d.ts +2 -1
- package/typings/question_baseselect.d.ts +0 -5
- package/typings/question_custom.d.ts +8 -0
- package/typings/question_file.d.ts +8 -6
- package/typings/question_matrix.d.ts +2 -2
- package/typings/question_matrixdropdownbase.d.ts +1 -0
- package/typings/question_multipletext.d.ts +1 -0
- package/typings/question_paneldynamic.d.ts +2 -0
- package/typings/question_signaturepad.d.ts +2 -0
- package/typings/question_text.d.ts +2 -0
- package/typings/settings.d.ts +25 -0
- package/typings/survey-events-api.d.ts +26 -0
- package/typings/survey.d.ts +15 -4
- package/typings/utils/utils.d.ts +1 -0
package/typings/helpers.d.ts
CHANGED
|
@@ -18,6 +18,8 @@ export declare class Helpers {
|
|
|
18
18
|
static isValueObject(val: any, excludeArray?: boolean): boolean;
|
|
19
19
|
static isNumber(value: any): boolean;
|
|
20
20
|
static getNumber(value: any): number;
|
|
21
|
+
private static getNumberCore;
|
|
22
|
+
private static isStringHasOperator;
|
|
21
23
|
private static prepareStringToNumber;
|
|
22
24
|
static getMaxLength(maxLength: number, surveyLength: number): any;
|
|
23
25
|
static getRemainingCharacterCounterText(newValue: string | undefined, maxLength: number | null): string;
|
package/typings/jsonobject.d.ts
CHANGED
|
@@ -129,7 +129,7 @@ export declare class JsonObjectProperty implements IObject, IJsonPropertyInfo {
|
|
|
129
129
|
onPropertyEditorUpdate: (obj: any, propEditor: any) => any;
|
|
130
130
|
constructor(classInfo: JsonMetadataClass, name: string, isRequired?: boolean);
|
|
131
131
|
uniqueProperty?: string;
|
|
132
|
-
dependsOn?: string | string
|
|
132
|
+
dependsOn?: string | Array<string>;
|
|
133
133
|
default?: any;
|
|
134
134
|
defaultFunc?: (obj: Base) => any;
|
|
135
135
|
get id(): number;
|
|
@@ -342,6 +342,7 @@ export declare class JsonObject {
|
|
|
342
342
|
toJsonObject(obj: any, options?: ISaveToJSONOptions | boolean): any;
|
|
343
343
|
toObject(jsonObj: any, obj: any, options?: ILoadFromJSONOptions): void;
|
|
344
344
|
toObjectCore(jsonObj: any, obj: any, options?: ILoadFromJSONOptions): void;
|
|
345
|
+
private setPropertyValueToObj;
|
|
345
346
|
toJsonObjectCore(obj: any, property: JsonObjectProperty, options?: ISaveToJSONOptions | boolean): any;
|
|
346
347
|
private getDynamicProperties;
|
|
347
348
|
private addDynamicProperties;
|
|
@@ -2,11 +2,12 @@ import { IPosition, Rect } from "./utils/popup";
|
|
|
2
2
|
import { CssClassBuilder } from "./utils/cssClassBuilder";
|
|
3
3
|
import { PopupModel } from "./popup";
|
|
4
4
|
import { PopupBaseViewModel } from "./popup-view-model";
|
|
5
|
+
export declare function calculateIsTablet(windowWidth?: number, windowHeight?: number): boolean;
|
|
5
6
|
export declare class PopupDropdownViewModel extends PopupBaseViewModel {
|
|
6
7
|
targetElement?: HTMLElement;
|
|
7
8
|
areaElement?: HTMLElement;
|
|
9
|
+
static readonly tabletSizeBreakpoint = 600;
|
|
8
10
|
private scrollEventCallBack;
|
|
9
|
-
private static readonly tabletSizeBreakpoint;
|
|
10
11
|
private calculateIsTablet;
|
|
11
12
|
private resizeEventCallback;
|
|
12
13
|
private resizeWindowCallback;
|
package/typings/popup.d.ts
CHANGED
|
@@ -41,7 +41,7 @@ export declare class PopupModel<T = any> extends Base implements IPopupOptionsBa
|
|
|
41
41
|
isFocusedContainer: boolean;
|
|
42
42
|
cssClass: string;
|
|
43
43
|
title: string;
|
|
44
|
-
overlayDisplayMode: "auto" | "overlay" | "dropdown-overlay";
|
|
44
|
+
overlayDisplayMode: "auto" | "tablet-dropdown-overlay" | "dropdown-overlay" | "plain";
|
|
45
45
|
displayMode: "popup" | "overlay";
|
|
46
46
|
positionMode: PositionMode;
|
|
47
47
|
onVisibilityChanged: EventBase<PopupModel>;
|
|
@@ -56,6 +56,7 @@ export declare class PopupModel<T = any> extends Base implements IPopupOptionsBa
|
|
|
56
56
|
hide(): void;
|
|
57
57
|
recalculatePosition(isResetHeight: boolean): void;
|
|
58
58
|
updateFooterActions(footerActions: Array<IAction>): Array<IAction>;
|
|
59
|
+
updateDisplayMode(menuType: "dropdown" | "popup" | "overlay"): void;
|
|
59
60
|
onHiding(): void;
|
|
60
61
|
dispose(): void;
|
|
61
62
|
}
|
package/typings/question.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { HashTable } from "./helpers";
|
|
2
2
|
import { EventBase } from "./base";
|
|
3
|
-
import { IElement, IQuestion, IPanel, IConditionRunner, ISurveyImpl, IPage, ITitleOwner, IProgressInfo, ISurvey, IPlainDataOptions } from "./base-interfaces";
|
|
3
|
+
import { IElement, IQuestion, IPanel, IConditionRunner, ISurveyImpl, IPage, ITitleOwner, IProgressInfo, ISurvey, IPlainDataOptions, IDropdownMenuOptions } from "./base-interfaces";
|
|
4
4
|
import { SurveyElement } from "./survey-element";
|
|
5
5
|
import { SurveyValidator, IValidatorOwner } from "./validator";
|
|
6
6
|
import { TextPreProcessorValue } from "./textPreProcessor";
|
|
@@ -873,6 +873,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
|
|
|
873
873
|
set validatedValue(val: any);
|
|
874
874
|
getAllValues(): any;
|
|
875
875
|
processPopupVisiblilityChanged(popupModel: PopupModel, visible: boolean): void;
|
|
876
|
+
processOpenDropdownMenu(options: IDropdownMenuOptions): void;
|
|
876
877
|
protected onTextKeyDownHandler(event: any): void;
|
|
877
878
|
transformToMobileView(): void;
|
|
878
879
|
transformToDesktopView(): void;
|
|
@@ -486,11 +486,6 @@ export declare class QuestionSelectBase extends Question {
|
|
|
486
486
|
get hasHeadItems(): boolean;
|
|
487
487
|
get hasFootItems(): boolean;
|
|
488
488
|
get columns(): any[];
|
|
489
|
-
protected getObservedElementSelector(): string;
|
|
490
|
-
protected supportResponsiveness(): boolean;
|
|
491
|
-
allowMultiColumns: boolean;
|
|
492
|
-
protected onBeforeSetCompactRenderer(): void;
|
|
493
|
-
protected onBeforeSetDesktopRenderer(): void;
|
|
494
489
|
get hasColumns(): boolean;
|
|
495
490
|
get rowLayout(): boolean;
|
|
496
491
|
get blockedRow(): boolean;
|
|
@@ -340,6 +340,7 @@ export declare abstract class QuestionCustomModelBase extends Question implement
|
|
|
340
340
|
getFilteredValues(): any;
|
|
341
341
|
getFilteredProperties(): any;
|
|
342
342
|
findQuestionByName(name: string): IQuestion;
|
|
343
|
+
getEditingSurveyElement(): Base;
|
|
343
344
|
addElement(element: IElement, index: number): void;
|
|
344
345
|
removeElement(element: IElement): boolean;
|
|
345
346
|
getQuestionTitleLocation(): string;
|
|
@@ -409,6 +410,12 @@ export declare class QuestionCompositeModel extends QuestionCustomModelBase {
|
|
|
409
410
|
get contentPanel(): PanelModel;
|
|
410
411
|
hasErrors(fireCallback?: boolean, rec?: any): boolean;
|
|
411
412
|
updateElementCss(reNew?: boolean): void;
|
|
413
|
+
dispose(): void;
|
|
414
|
+
private editingObjValue;
|
|
415
|
+
private onEditingObjPropertyChanged;
|
|
416
|
+
private updateEditingObj;
|
|
417
|
+
private unConnectEditingObj;
|
|
418
|
+
getEditingSurveyElement(): Base;
|
|
412
419
|
getTextProcessor(): ITextProcessor;
|
|
413
420
|
findQuestionByName(name: string): IQuestion;
|
|
414
421
|
protected clearValueIfInvisibleCore(reason: string): void;
|
|
@@ -417,6 +424,7 @@ export declare class QuestionCompositeModel extends QuestionCustomModelBase {
|
|
|
417
424
|
get isContainer(): boolean;
|
|
418
425
|
protected createPanel(): PanelModel;
|
|
419
426
|
protected onReadOnlyChanged(): void;
|
|
427
|
+
updateValueFromSurvey(newValue: any, clearData?: boolean): void;
|
|
420
428
|
onSurveyLoad(): void;
|
|
421
429
|
private setIsContentElement;
|
|
422
430
|
setVisibleIndex(val: number): number;
|
|
@@ -45,6 +45,8 @@ export declare class QuestionFileModelBase extends Question {
|
|
|
45
45
|
clearOnDeletingContainer(): void;
|
|
46
46
|
protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
|
|
47
47
|
protected uploadFiles(files: File[]): void;
|
|
48
|
+
protected loadPreview(newValue: any): void;
|
|
49
|
+
protected onChangeQuestionValue(newValue: any): void;
|
|
48
50
|
}
|
|
49
51
|
/**
|
|
50
52
|
* A class that describes the File Upload question type.
|
|
@@ -82,6 +84,9 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
|
|
|
82
84
|
startCameraAction: Action;
|
|
83
85
|
cleanAction: Action;
|
|
84
86
|
actionsContainer: ActionContainer;
|
|
87
|
+
private isFileLoadingValue;
|
|
88
|
+
protected get isFileLoading(): boolean;
|
|
89
|
+
protected set isFileLoading(val: boolean);
|
|
85
90
|
get fileNavigatorVisible(): boolean;
|
|
86
91
|
private get pagesCount();
|
|
87
92
|
get actionsContainerVisible(): boolean;
|
|
@@ -224,9 +229,6 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
|
|
|
224
229
|
protected get camera(): Camera;
|
|
225
230
|
canPreviewImage(fileItem: any): boolean;
|
|
226
231
|
protected loadPreview(newValue: any): void;
|
|
227
|
-
private isFileLoadingValue;
|
|
228
|
-
protected get isFileLoading(): boolean;
|
|
229
|
-
protected set isFileLoading(val: boolean);
|
|
230
232
|
protected getIsQuestionReady(): boolean;
|
|
231
233
|
private allFilesOk;
|
|
232
234
|
private isFileImage;
|
|
@@ -239,7 +241,6 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
|
|
|
239
241
|
get fileRootCss(): string;
|
|
240
242
|
getFileDecoratorCss(): string;
|
|
241
243
|
private onChange;
|
|
242
|
-
protected onChangeQuestionValue(newValue: any): void;
|
|
243
244
|
protected calcCssClasses(css: any): any;
|
|
244
245
|
onSurveyLoad(): void;
|
|
245
246
|
protected needResponsiveness(): boolean;
|
|
@@ -254,7 +255,8 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
|
|
|
254
255
|
protected processResponsiveness(_: number, availableWidth: number): boolean;
|
|
255
256
|
private rootElement;
|
|
256
257
|
private canDragDrop;
|
|
257
|
-
|
|
258
|
+
afterRenderQuestionElement(el: HTMLElement): void;
|
|
259
|
+
beforeDestroyQuestionElement(el: HTMLElement): void;
|
|
258
260
|
private dragCounter;
|
|
259
261
|
onDragEnter: (event: any) => void;
|
|
260
262
|
onDragOver: (event: any) => boolean;
|
|
@@ -272,7 +274,7 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
|
|
|
272
274
|
export declare class FileLoader {
|
|
273
275
|
private fileQuestion;
|
|
274
276
|
private callback;
|
|
275
|
-
constructor(fileQuestion:
|
|
277
|
+
constructor(fileQuestion: QuestionFileModelBase, callback: (status: string, files: any[]) => void);
|
|
276
278
|
loaded: any[];
|
|
277
279
|
load(files: Array<any>): void;
|
|
278
280
|
dispose(): void;
|
|
@@ -100,8 +100,8 @@ export declare class QuestionMatrixModel extends QuestionMatrixBaseModel<MatrixR
|
|
|
100
100
|
*
|
|
101
101
|
* Possible values:
|
|
102
102
|
*
|
|
103
|
-
* - "initial" (default) - Preserves the original order of the `rows` array.
|
|
104
|
-
* - "random" - Arranges matrix rows in random order each time the question is displayed.
|
|
103
|
+
* - `"initial"` (default) - Preserves the original order of the `rows` array.
|
|
104
|
+
* - `"random"` - Arranges matrix rows in random order each time the question is displayed.
|
|
105
105
|
* @see rows
|
|
106
106
|
*/
|
|
107
107
|
get rowsOrder(): string;
|
|
@@ -114,6 +114,7 @@ export declare class MatrixDropdownRowModelBase implements ISurveyData, ISurveyI
|
|
|
114
114
|
getComment(name: string): string;
|
|
115
115
|
setComment(name: string, newValue: string, locNotification: any): void;
|
|
116
116
|
findQuestionByName(name: string): IQuestion;
|
|
117
|
+
getEditingSurveyElement(): Base;
|
|
117
118
|
private setValueCore;
|
|
118
119
|
private updateQuestionsValue;
|
|
119
120
|
runTriggers(name: string, value: any): void;
|
|
@@ -183,6 +183,7 @@ export declare class MultipleTextItemModel extends Base implements IValidatorOwn
|
|
|
183
183
|
getFilteredValues(): any;
|
|
184
184
|
getFilteredProperties(): any;
|
|
185
185
|
findQuestionByName(name: string): IQuestion;
|
|
186
|
+
getEditingSurveyElement(): Base;
|
|
186
187
|
getValidatorTitle(): string;
|
|
187
188
|
get validatedValue(): any;
|
|
188
189
|
set validatedValue(val: any);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { HashTable } from "./helpers";
|
|
2
2
|
import { IElement, IQuestion, IPanel, ISurveyData, ISurvey, ISurveyImpl, ITextProcessor, IProgressInfo, IPlainDataOptions } from "./base-interfaces";
|
|
3
3
|
import { LocalizableString } from "./localizablestring";
|
|
4
|
+
import { Base } from "./base";
|
|
4
5
|
import { Question, IConditionObject, IQuestionPlainData } from "./question";
|
|
5
6
|
import { PanelModel } from "./panel";
|
|
6
7
|
import { SurveyError } from "./survey-error";
|
|
@@ -36,6 +37,7 @@ export declare class QuestionPanelDynamicItem implements ISurveyData, ISurveyImp
|
|
|
36
37
|
getComment(name: string): string;
|
|
37
38
|
setComment(name: string, newValue: string, locNotification: any): void;
|
|
38
39
|
findQuestionByName(name: string): IQuestion;
|
|
40
|
+
getEditingSurveyElement(): Base;
|
|
39
41
|
getAllValues(): any;
|
|
40
42
|
getFilteredValues(): any;
|
|
41
43
|
getFilteredProperties(): any;
|
|
@@ -29,6 +29,8 @@ export declare class QuestionSignaturePadModel extends QuestionFileModelBase {
|
|
|
29
29
|
private fromUrl;
|
|
30
30
|
private refreshCanvas;
|
|
31
31
|
private updateValueHandler;
|
|
32
|
+
protected loadPreview(newValue: any): void;
|
|
33
|
+
onSurveyLoad(): void;
|
|
32
34
|
initSignaturePad(el: HTMLElement): void;
|
|
33
35
|
destroySignaturePad(el: HTMLElement): void;
|
|
34
36
|
/**
|
|
@@ -141,6 +141,7 @@ export declare class QuestionTextModel extends QuestionTextBase {
|
|
|
141
141
|
private hasToConvertToUTC;
|
|
142
142
|
protected valueForSurveyCore(val: any): any;
|
|
143
143
|
protected valueFromDataCore(val: any): any;
|
|
144
|
+
private dateValidationMessage;
|
|
144
145
|
protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
|
|
145
146
|
protected canSetValueToSurvey(): boolean;
|
|
146
147
|
protected convertFuncValuetoQuestionValue(val: any): any;
|
|
@@ -179,6 +180,7 @@ export declare class QuestionTextModel extends QuestionTextBase {
|
|
|
179
180
|
private updateValueOnEvent;
|
|
180
181
|
onCompositionUpdate: (event: any) => void;
|
|
181
182
|
onKeyUp: (event: any) => void;
|
|
183
|
+
private updateDateValidationMessage;
|
|
182
184
|
onKeyDown: (event: any) => void;
|
|
183
185
|
onChange: (event: any) => void;
|
|
184
186
|
onBlur: (event: any) => void;
|
package/typings/settings.d.ts
CHANGED
|
@@ -151,6 +151,7 @@ export declare var settings: {
|
|
|
151
151
|
* const item = new ItemValue("item1");
|
|
152
152
|
* const itemString = item.toJSON(); // Produces { value: "item1", text: "item1" } instead of "item1"
|
|
153
153
|
* ```
|
|
154
|
+
* @see [settings.parseNumber](https://surveyjs.io/form-library/documentation/api-reference/settings#parseNumber)
|
|
154
155
|
*/
|
|
155
156
|
serialization: {
|
|
156
157
|
itemValueSerializeAsObject: boolean;
|
|
@@ -618,4 +619,28 @@ export declare var settings: {
|
|
|
618
619
|
* ```
|
|
619
620
|
*/
|
|
620
621
|
storeUtcDates: boolean;
|
|
622
|
+
/**
|
|
623
|
+
* A function that allows you to define custom parsing rules for numbers represented as string values.
|
|
624
|
+
*
|
|
625
|
+
* The following code shows a template that you can use to implement the `parseNumber` function:
|
|
626
|
+
*
|
|
627
|
+
* ```js
|
|
628
|
+
* import { settings } from "survey-core";
|
|
629
|
+
*
|
|
630
|
+
* settings.parseNumber = (stringValue, numericValue) => {
|
|
631
|
+
* if (typeof stringValue !== "string" || !stringValue)
|
|
632
|
+
* return numericValue;
|
|
633
|
+
* let parsedNumber = numericValue;
|
|
634
|
+
* // ...
|
|
635
|
+
* // Parsing the number according to custom parsing rules
|
|
636
|
+
* // ...
|
|
637
|
+
* return parsedNumber;
|
|
638
|
+
* };
|
|
639
|
+
* ```
|
|
640
|
+
* @param stringValue A number represented as a string value.
|
|
641
|
+
* @param numericValue A number parsed using a default parsing function. `NaN` if the original string is not a number.
|
|
642
|
+
* @returns A number that results from parsing the string value.
|
|
643
|
+
* @see [settings.serialization](https://surveyjs.io/form-library/documentation/api-reference/settings#serialization)
|
|
644
|
+
*/
|
|
645
|
+
parseNumber: (stringValue: any, numericValue: number) => number;
|
|
621
646
|
};
|
|
@@ -1036,6 +1036,32 @@ export interface PopupVisibleChangedEvent extends QuestionEventMixin {
|
|
|
1036
1036
|
*/
|
|
1037
1037
|
visible: boolean;
|
|
1038
1038
|
}
|
|
1039
|
+
export interface OpenDropdownMenuEvent extends QuestionEventMixin {
|
|
1040
|
+
/**
|
|
1041
|
+
* A question for which the event is raised.
|
|
1042
|
+
*/
|
|
1043
|
+
question: Question;
|
|
1044
|
+
/**
|
|
1045
|
+
* A device type.
|
|
1046
|
+
*/
|
|
1047
|
+
deviceType: "mobile" | "tablet" | "desktop";
|
|
1048
|
+
/**
|
|
1049
|
+
* A Boolean value that indicates whether the current device supports touch gestures.
|
|
1050
|
+
*/
|
|
1051
|
+
hasTouchScreen: boolean;
|
|
1052
|
+
/**
|
|
1053
|
+
* The height of the device screen in pixels.
|
|
1054
|
+
*/
|
|
1055
|
+
screenHeight: number;
|
|
1056
|
+
/**
|
|
1057
|
+
* The width of the device screen in pixels.
|
|
1058
|
+
*/
|
|
1059
|
+
screenWidth: number;
|
|
1060
|
+
/**
|
|
1061
|
+
* A menu type to use for the question: a classic dropdown, a pop-up dialog, or an overlay window. You can modify this parameter's value.
|
|
1062
|
+
*/
|
|
1063
|
+
menuType: "dropdown" | "popup" | "overlay";
|
|
1064
|
+
}
|
|
1039
1065
|
export interface ElementWrapperComponentEventMixin {
|
|
1040
1066
|
element: any;
|
|
1041
1067
|
wrapperName: string;
|
package/typings/survey.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { JsonError } from "./jsonobject";
|
|
2
2
|
import { Base, EventBase } from "./base";
|
|
3
|
-
import { ISurvey, ISurveyData, ISurveyImpl, ITextProcessor, IQuestion, IPanel, IElement, IPage, ISurveyErrorOwner, ISurveyElement, IProgressInfo, IFindElement, ISurveyLayoutElement, IPlainDataOptions, LayoutElementContainer, IValueItemCustomPropValues, ILoadFromJSONOptions } from "./base-interfaces";
|
|
3
|
+
import { ISurvey, ISurveyData, ISurveyImpl, ITextProcessor, IQuestion, IPanel, IElement, IPage, ISurveyErrorOwner, ISurveyElement, IProgressInfo, IFindElement, ISurveyLayoutElement, IPlainDataOptions, LayoutElementContainer, IValueItemCustomPropValues, ILoadFromJSONOptions, IDropdownMenuOptions } from "./base-interfaces";
|
|
4
4
|
import { SurveyElementCore } from "./survey-element";
|
|
5
5
|
import { ISurveyTriggerOwner, SurveyTrigger, Trigger } from "./trigger";
|
|
6
6
|
import { CalculatedValue } from "./calculatedValue";
|
|
@@ -18,7 +18,7 @@ import { IAction, Action } from "./actions/action";
|
|
|
18
18
|
import { ActionContainer } from "./actions/container";
|
|
19
19
|
import { QuestionPanelDynamicModel } from "./question_paneldynamic";
|
|
20
20
|
import { Notifier } from "./notifier";
|
|
21
|
-
import { TriggerExecutedEvent, CompletingEvent, CompleteEvent, ShowingPreviewEvent, NavigateToUrlEvent, CurrentPageChangingEvent, CurrentPageChangedEvent, ValueChangingEvent, ValueChangedEvent, VariableChangedEvent, QuestionVisibleChangedEvent, PageVisibleChangedEvent, PanelVisibleChangedEvent, QuestionCreatedEvent, QuestionAddedEvent, QuestionRemovedEvent, PanelAddedEvent, PanelRemovedEvent, PageAddedEvent, ValidateQuestionEvent, SettingQuestionErrorsEvent, ValidatePanelEvent, ErrorCustomTextEvent, ValidatedErrorsOnCurrentPageEvent, ProcessHtmlEvent, GetQuestionTitleEvent, GetTitleTagNameEvent, GetQuestionNoEvent, ProgressTextEvent, TextMarkdownEvent, TextRenderAsEvent, SendResultEvent, GetResultEvent, UploadFilesEvent, DownloadFileEvent, ClearFilesEvent, LoadChoicesFromServerEvent, ProcessTextValueEvent, UpdateQuestionCssClassesEvent, UpdatePanelCssClassesEvent, UpdatePageCssClassesEvent, UpdateChoiceItemCssEvent, AfterRenderSurveyEvent, AfterRenderHeaderEvent, AfterRenderPageEvent, AfterRenderQuestionEvent, AfterRenderQuestionInputEvent, AfterRenderPanelEvent, FocusInQuestionEvent, FocusInPanelEvent, ShowingChoiceItemEvent, ChoicesLazyLoadEvent, GetChoiceDisplayValueEvent, MatrixRowAddedEvent, MatrixBeforeRowAddedEvent, MatrixRowRemovingEvent, MatrixRowRemovedEvent, MatrixAllowRemoveRowEvent, MatrixDetailPanelVisibleChangedEvent, MatrixCellCreatingEvent, MatrixCellCreatedEvent, MatrixAfterCellRenderEvent, MatrixCellValueChangedEvent, MatrixCellValueChangingEvent, MatrixCellValidateEvent, DynamicPanelModifiedEvent, DynamicPanelRemovingEvent, TimerPanelInfoTextEvent, DynamicPanelItemValueChangedEvent, DynamicPanelGetTabTitleEvent, DynamicPanelCurrentIndexChangedEvent, IsAnswerCorrectEvent, DragDropAllowEvent, ScrollingElementToTopEvent, GetQuestionTitleActionsEvent, GetPanelTitleActionsEvent, GetPageTitleActionsEvent, GetPanelFooterActionsEvent, GetMatrixRowActionsEvent, ElementContentVisibilityChangedEvent, GetExpressionDisplayValueEvent, ServerValidateQuestionsEvent, MultipleTextItemAddedEvent, MatrixColumnAddedEvent, GetQuestionDisplayValueEvent, PopupVisibleChangedEvent, ChoicesSearchEvent, OpenFileChooserEvent, ElementWrapperComponentNameEvent, ElementWrapperComponentDataEvent } from "./survey-events-api";
|
|
21
|
+
import { TriggerExecutedEvent, CompletingEvent, CompleteEvent, ShowingPreviewEvent, NavigateToUrlEvent, CurrentPageChangingEvent, CurrentPageChangedEvent, ValueChangingEvent, ValueChangedEvent, VariableChangedEvent, QuestionVisibleChangedEvent, PageVisibleChangedEvent, PanelVisibleChangedEvent, QuestionCreatedEvent, QuestionAddedEvent, QuestionRemovedEvent, PanelAddedEvent, PanelRemovedEvent, PageAddedEvent, ValidateQuestionEvent, SettingQuestionErrorsEvent, ValidatePanelEvent, ErrorCustomTextEvent, ValidatedErrorsOnCurrentPageEvent, ProcessHtmlEvent, GetQuestionTitleEvent, GetTitleTagNameEvent, GetQuestionNoEvent, ProgressTextEvent, TextMarkdownEvent, TextRenderAsEvent, SendResultEvent, GetResultEvent, UploadFilesEvent, DownloadFileEvent, ClearFilesEvent, LoadChoicesFromServerEvent, ProcessTextValueEvent, UpdateQuestionCssClassesEvent, UpdatePanelCssClassesEvent, UpdatePageCssClassesEvent, UpdateChoiceItemCssEvent, AfterRenderSurveyEvent, AfterRenderHeaderEvent, AfterRenderPageEvent, AfterRenderQuestionEvent, AfterRenderQuestionInputEvent, AfterRenderPanelEvent, FocusInQuestionEvent, FocusInPanelEvent, ShowingChoiceItemEvent, ChoicesLazyLoadEvent, GetChoiceDisplayValueEvent, MatrixRowAddedEvent, MatrixBeforeRowAddedEvent, MatrixRowRemovingEvent, MatrixRowRemovedEvent, MatrixAllowRemoveRowEvent, MatrixDetailPanelVisibleChangedEvent, MatrixCellCreatingEvent, MatrixCellCreatedEvent, MatrixAfterCellRenderEvent, MatrixCellValueChangedEvent, MatrixCellValueChangingEvent, MatrixCellValidateEvent, DynamicPanelModifiedEvent, DynamicPanelRemovingEvent, TimerPanelInfoTextEvent, DynamicPanelItemValueChangedEvent, DynamicPanelGetTabTitleEvent, DynamicPanelCurrentIndexChangedEvent, IsAnswerCorrectEvent, DragDropAllowEvent, ScrollingElementToTopEvent, GetQuestionTitleActionsEvent, GetPanelTitleActionsEvent, GetPageTitleActionsEvent, GetPanelFooterActionsEvent, GetMatrixRowActionsEvent, ElementContentVisibilityChangedEvent, GetExpressionDisplayValueEvent, ServerValidateQuestionsEvent, MultipleTextItemAddedEvent, MatrixColumnAddedEvent, GetQuestionDisplayValueEvent, PopupVisibleChangedEvent, ChoicesSearchEvent, OpenFileChooserEvent, ElementWrapperComponentNameEvent, ElementWrapperComponentDataEvent, OpenDropdownMenuEvent } from "./survey-events-api";
|
|
22
22
|
import { QuestionMatrixDropdownModelBase } from "./question_matrixdropdownbase";
|
|
23
23
|
import { QuestionMatrixDynamicModel } from "./question_matrixdynamic";
|
|
24
24
|
import { QuestionFileModel } from "./question_file";
|
|
@@ -713,9 +713,17 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
|
|
|
713
713
|
*/
|
|
714
714
|
onGetExpressionDisplayValue: EventBase<SurveyModel, GetExpressionDisplayValueEvent>;
|
|
715
715
|
/**
|
|
716
|
-
* An event that is raised after the visibility of a popup is changed.
|
|
716
|
+
* An event that is raised after the visibility of a popup is changed.
|
|
717
|
+
*
|
|
718
|
+
* This event can be raised for [Single-](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model) and [Multi-Select Dropdown](https://surveyjs.io/form-library/documentation/api-reference/dropdown-tag-box-model) questions and [Rating Scale](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model) questions [rendered as drop-down menus](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#displayMode), and [Multi-Select Matrix](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-with-dropdown-list) questions that contain columns of the `"dropdown"` or `"tagbox"` [`cellType`](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-with-dropdown-list#cellType).
|
|
717
719
|
*/
|
|
718
720
|
onPopupVisibleChanged: EventBase<SurveyModel, PopupVisibleChangedEvent>;
|
|
721
|
+
/**
|
|
722
|
+
* An event that is raised when users open a drop-down menu.
|
|
723
|
+
*
|
|
724
|
+
* This event can be raised for [Single-](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model) and [Multi-Select Dropdown](https://surveyjs.io/form-library/documentation/api-reference/dropdown-tag-box-model) questions, [Rating Scale](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model) questions [rendered as drop-down menus](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#displayMode), and [Multi-Select Matrix](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-with-dropdown-list) questions that contain columns of the `"dropdown"` or `"tagbox"` [`cellType`](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-with-dropdown-list#cellType). Handle this event to change the drop-down menu type for specific questions or device types.
|
|
725
|
+
*/
|
|
726
|
+
onOpenDropdownMenu: EventBase<SurveyModel, OpenDropdownMenuEvent>;
|
|
719
727
|
onElementWrapperComponentName: EventBase<SurveyModel, ElementWrapperComponentNameEvent>;
|
|
720
728
|
onElementWrapperComponentData: EventBase<SurveyModel, ElementWrapperComponentDataEvent>;
|
|
721
729
|
constructor(jsonObj?: any, renderedElement?: any);
|
|
@@ -1621,6 +1629,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
|
|
|
1621
1629
|
private onEditingObjPropertyChanged;
|
|
1622
1630
|
get editingObj(): Base;
|
|
1623
1631
|
set editingObj(val: Base);
|
|
1632
|
+
private unConnectEditingObj;
|
|
1624
1633
|
get isEditingSurveyElement(): boolean;
|
|
1625
1634
|
private setCalculatedValuesIntoResult;
|
|
1626
1635
|
getAllValues(): any;
|
|
@@ -2159,8 +2168,8 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
|
|
|
2159
2168
|
updatePanelCssClasses(panel: PanelModel, cssClasses: any): void;
|
|
2160
2169
|
updatePageCssClasses(page: PageModel, cssClasses: any): void;
|
|
2161
2170
|
updateChoiceItemCss(question: IQuestion, options: any): void;
|
|
2162
|
-
private isFirstPageRendering;
|
|
2163
2171
|
private isCurrentPageRendering;
|
|
2172
|
+
private isCurrentPageRendered;
|
|
2164
2173
|
afterRenderPage(htmlElement: HTMLElement): void;
|
|
2165
2174
|
afterRenderHeader(htmlElement: HTMLElement): void;
|
|
2166
2175
|
afterRenderQuestion(question: Question, htmlElement: HTMLElement): void;
|
|
@@ -2333,6 +2342,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
|
|
|
2333
2342
|
*/
|
|
2334
2343
|
getQuestionByName(name: string, caseInsensitive?: boolean): Question;
|
|
2335
2344
|
findQuestionByName(name: string): IQuestion;
|
|
2345
|
+
getEditingSurveyElement(): Base;
|
|
2336
2346
|
/**
|
|
2337
2347
|
* Returns a question with a specified [`valueName`](https://surveyjs.io/form-library/documentation/api-reference/question#valueName).
|
|
2338
2348
|
*
|
|
@@ -2853,6 +2863,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
|
|
|
2853
2863
|
removeLayoutElement(layoutElementId: string): ISurveyLayoutElement;
|
|
2854
2864
|
getContainerContent(container: LayoutElementContainer): any[];
|
|
2855
2865
|
processPopupVisiblityChanged(question: Question, popup: PopupModel<any>, visible: boolean): void;
|
|
2866
|
+
processOpenDropdownMenu(question: Question, options: IDropdownMenuOptions): void;
|
|
2856
2867
|
/**
|
|
2857
2868
|
* Applies a specified theme to the survey.
|
|
2858
2869
|
*
|
package/typings/utils/utils.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ declare function navigateToUrl(url: string): void;
|
|
|
15
15
|
declare function wrapUrlForBackgroundImage(url: string): string;
|
|
16
16
|
declare function getIconNameFromProxy(iconName: string): string;
|
|
17
17
|
declare function createSvg(size: number | string, width: number, height: number, iconName: string, svgElem: any, title: string): void;
|
|
18
|
+
export declare function getSafeUrl(url: string): string;
|
|
18
19
|
export declare function unwrap<T>(value: T | (() => T)): T;
|
|
19
20
|
export declare function getRenderedSize(val: string | number): number;
|
|
20
21
|
export declare function getRenderedStyleSize(val: string | number): string;
|