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/themes/solid-light.js
CHANGED
|
@@ -21,6 +21,7 @@ export interface ISurveyData {
|
|
|
21
21
|
getFilteredValues(): any;
|
|
22
22
|
getFilteredProperties(): any;
|
|
23
23
|
findQuestionByName(name: string): IQuestion;
|
|
24
|
+
getEditingSurveyElement(): Base;
|
|
24
25
|
}
|
|
25
26
|
export interface ITextProcessor {
|
|
26
27
|
processText(text: string, returnDisplayValue: boolean): string;
|
|
@@ -162,6 +163,7 @@ export interface ISurvey extends ITextProcessor, ISurveyErrorOwner {
|
|
|
162
163
|
elementContentVisibilityChanged(element: ISurveyElement): void;
|
|
163
164
|
onCorrectQuestionAnswer(question: IQuestion, options: any): void;
|
|
164
165
|
processPopupVisiblityChanged(question: IQuestion, popupModel: PopupModel, visible: boolean): void;
|
|
166
|
+
processOpenDropdownMenu(question: IQuestion, options: IDropdownMenuOptions): void;
|
|
165
167
|
chooseFiles(input: HTMLInputElement, callback: (files: File[]) => void, context?: {
|
|
166
168
|
element: Base;
|
|
167
169
|
item?: any;
|
|
@@ -329,3 +331,10 @@ export interface ISaveToJSONOptions {
|
|
|
329
331
|
storeDefaults?: boolean;
|
|
330
332
|
version?: string;
|
|
331
333
|
}
|
|
334
|
+
export interface IDropdownMenuOptions {
|
|
335
|
+
menuType: "dropdown" | "popup" | "overlay";
|
|
336
|
+
deviceType: "mobile" | "tablet" | "desktop";
|
|
337
|
+
hasTouchScreen: boolean;
|
|
338
|
+
screenHeight: number;
|
|
339
|
+
screenWidth: number;
|
|
340
|
+
}
|
|
@@ -12,6 +12,7 @@ export declare abstract class DragDropCore<T> implements IDragDropEngine {
|
|
|
12
12
|
protected ghostPositionChanged(): void;
|
|
13
13
|
onDragStart: EventBase<DragDropCore<T>>;
|
|
14
14
|
onDragEnd: EventBase<DragDropCore<T>>;
|
|
15
|
+
onDragClear: EventBase<DragDropCore<T>>;
|
|
15
16
|
onBeforeDrop: EventBase<DragDropCore<T>, any>;
|
|
16
17
|
onAfterDrop: EventBase<DragDropCore<T>, any>;
|
|
17
18
|
draggedElement: any;
|
|
@@ -28,6 +28,7 @@ export declare class DropdownListModel extends Base {
|
|
|
28
28
|
private loadQuestionChoices;
|
|
29
29
|
private updateQuestionChoices;
|
|
30
30
|
private updatePopupFocusFirstInputSelector;
|
|
31
|
+
private getDropdownMenuOptions;
|
|
31
32
|
protected createPopup(): void;
|
|
32
33
|
private setFilterStringToListModel;
|
|
33
34
|
private setTextWrapEnabled;
|
|
@@ -77,7 +77,6 @@ export declare class Const extends Operand {
|
|
|
77
77
|
protected getCorrectValue(value: any): any;
|
|
78
78
|
protected isContentEqual(op: Operand): boolean;
|
|
79
79
|
private isQuote;
|
|
80
|
-
private isBooleanValue;
|
|
81
80
|
}
|
|
82
81
|
export declare class Variable extends Const {
|
|
83
82
|
private variableName;
|
|
@@ -117,8 +116,6 @@ export declare class OperandMaker {
|
|
|
117
116
|
static throwInvalidOperatorError(op: string): void;
|
|
118
117
|
static safeToString(operand: Operand, func: (op: Operand) => string): string;
|
|
119
118
|
static toOperandString(value: string): string;
|
|
120
|
-
static isSpaceString(str: string): boolean;
|
|
121
|
-
static isNumeric(value: string): boolean;
|
|
122
119
|
static isBooleanValue(value: string): boolean;
|
|
123
120
|
static countDecimals(value: number): number;
|
|
124
121
|
static plusMinus(a: number, b: number, res: number): number;
|
|
@@ -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;
|
|
@@ -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
|
readonly id: number;
|
|
@@ -333,6 +333,7 @@ export declare class JsonObject {
|
|
|
333
333
|
toJsonObject(obj: any, options?: ISaveToJSONOptions | boolean): any;
|
|
334
334
|
toObject(jsonObj: any, obj: any, options?: ILoadFromJSONOptions): void;
|
|
335
335
|
toObjectCore(jsonObj: any, obj: any, options?: ILoadFromJSONOptions): void;
|
|
336
|
+
private setPropertyValueToObj;
|
|
336
337
|
toJsonObjectCore(obj: any, property: JsonObjectProperty, options?: ISaveToJSONOptions | boolean): any;
|
|
337
338
|
private getDynamicProperties;
|
|
338
339
|
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/ts3.4/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>;
|
|
@@ -55,6 +55,7 @@ export declare class PopupModel<T = any> extends Base implements IPopupOptionsBa
|
|
|
55
55
|
hide(): void;
|
|
56
56
|
recalculatePosition(isResetHeight: boolean): void;
|
|
57
57
|
updateFooterActions(footerActions: Array<IAction>): Array<IAction>;
|
|
58
|
+
updateDisplayMode(menuType: "dropdown" | "popup" | "overlay"): void;
|
|
58
59
|
onHiding(): void;
|
|
59
60
|
dispose(): void;
|
|
60
61
|
}
|
|
@@ -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";
|
|
@@ -837,6 +837,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
|
|
|
837
837
|
validatedValue: any;
|
|
838
838
|
getAllValues(): any;
|
|
839
839
|
processPopupVisiblilityChanged(popupModel: PopupModel, visible: boolean): void;
|
|
840
|
+
processOpenDropdownMenu(options: IDropdownMenuOptions): void;
|
|
840
841
|
protected onTextKeyDownHandler(event: any): void;
|
|
841
842
|
transformToMobileView(): void;
|
|
842
843
|
transformToDesktopView(): void;
|
|
@@ -459,11 +459,6 @@ export declare class QuestionSelectBase extends Question {
|
|
|
459
459
|
readonly hasHeadItems: boolean;
|
|
460
460
|
readonly hasFootItems: boolean;
|
|
461
461
|
readonly columns: any[];
|
|
462
|
-
protected getObservedElementSelector(): string;
|
|
463
|
-
protected supportResponsiveness(): boolean;
|
|
464
|
-
allowMultiColumns: boolean;
|
|
465
|
-
protected onBeforeSetCompactRenderer(): void;
|
|
466
|
-
protected onBeforeSetDesktopRenderer(): void;
|
|
467
462
|
readonly hasColumns: boolean;
|
|
468
463
|
readonly rowLayout: boolean;
|
|
469
464
|
readonly 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
|
readonly 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
|
readonly 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;
|
|
@@ -43,6 +43,8 @@ export declare class QuestionFileModelBase extends Question {
|
|
|
43
43
|
clearOnDeletingContainer(): void;
|
|
44
44
|
protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
|
|
45
45
|
protected uploadFiles(files: File[]): void;
|
|
46
|
+
protected loadPreview(newValue: any): void;
|
|
47
|
+
protected onChangeQuestionValue(newValue: any): void;
|
|
46
48
|
}
|
|
47
49
|
/**
|
|
48
50
|
* A class that describes the File Upload question type.
|
|
@@ -80,6 +82,8 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
|
|
|
80
82
|
startCameraAction: Action;
|
|
81
83
|
cleanAction: Action;
|
|
82
84
|
actionsContainer: ActionContainer;
|
|
85
|
+
private isFileLoadingValue;
|
|
86
|
+
protected isFileLoading: boolean;
|
|
83
87
|
readonly fileNavigatorVisible: boolean;
|
|
84
88
|
private readonly pagesCount: any;
|
|
85
89
|
readonly actionsContainerVisible: boolean;
|
|
@@ -212,8 +216,6 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
|
|
|
212
216
|
protected readonly camera: Camera;
|
|
213
217
|
canPreviewImage(fileItem: any): boolean;
|
|
214
218
|
protected loadPreview(newValue: any): void;
|
|
215
|
-
private isFileLoadingValue;
|
|
216
|
-
protected isFileLoading: boolean;
|
|
217
219
|
protected getIsQuestionReady(): boolean;
|
|
218
220
|
private allFilesOk;
|
|
219
221
|
private isFileImage;
|
|
@@ -226,7 +228,6 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
|
|
|
226
228
|
readonly fileRootCss: string;
|
|
227
229
|
getFileDecoratorCss(): string;
|
|
228
230
|
private onChange;
|
|
229
|
-
protected onChangeQuestionValue(newValue: any): void;
|
|
230
231
|
protected calcCssClasses(css: any): any;
|
|
231
232
|
onSurveyLoad(): void;
|
|
232
233
|
protected needResponsiveness(): boolean;
|
|
@@ -241,7 +242,8 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
|
|
|
241
242
|
protected processResponsiveness(_: number, availableWidth: number): boolean;
|
|
242
243
|
private rootElement;
|
|
243
244
|
private canDragDrop;
|
|
244
|
-
|
|
245
|
+
afterRenderQuestionElement(el: HTMLElement): void;
|
|
246
|
+
beforeDestroyQuestionElement(el: HTMLElement): void;
|
|
245
247
|
private dragCounter;
|
|
246
248
|
onDragEnter: (event: any) => void;
|
|
247
249
|
onDragOver: (event: any) => boolean;
|
|
@@ -259,7 +261,7 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
|
|
|
259
261
|
export declare class FileLoader {
|
|
260
262
|
private fileQuestion;
|
|
261
263
|
private callback;
|
|
262
|
-
constructor(fileQuestion:
|
|
264
|
+
constructor(fileQuestion: QuestionFileModelBase, callback: (status: string, files: any[]) => void);
|
|
263
265
|
loaded: any[];
|
|
264
266
|
load(files: Array<any>): void;
|
|
265
267
|
dispose(): void;
|
|
@@ -96,8 +96,8 @@ export declare class QuestionMatrixModel extends QuestionMatrixBaseModel<MatrixR
|
|
|
96
96
|
*
|
|
97
97
|
* Possible values:
|
|
98
98
|
*
|
|
99
|
-
* - "initial" (default) - Preserves the original order of the `rows` array.
|
|
100
|
-
* - "random" - Arranges matrix rows in random order each time the question is displayed.
|
|
99
|
+
* - `"initial"` (default) - Preserves the original order of the `rows` array.
|
|
100
|
+
* - `"random"` - Arranges matrix rows in random order each time the question is displayed.
|
|
101
101
|
* @see rows
|
|
102
102
|
*/
|
|
103
103
|
rowsOrder: string;
|
|
@@ -112,6 +112,7 @@ export declare class MatrixDropdownRowModelBase implements ISurveyData, ISurveyI
|
|
|
112
112
|
getComment(name: string): string;
|
|
113
113
|
setComment(name: string, newValue: string, locNotification: any): void;
|
|
114
114
|
findQuestionByName(name: string): IQuestion;
|
|
115
|
+
getEditingSurveyElement(): Base;
|
|
115
116
|
private setValueCore;
|
|
116
117
|
private updateQuestionsValue;
|
|
117
118
|
runTriggers(name: string, value: any): void;
|
|
@@ -166,6 +166,7 @@ export declare class MultipleTextItemModel extends Base implements IValidatorOwn
|
|
|
166
166
|
getFilteredValues(): any;
|
|
167
167
|
getFilteredProperties(): any;
|
|
168
168
|
findQuestionByName(name: string): IQuestion;
|
|
169
|
+
getEditingSurveyElement(): Base;
|
|
169
170
|
getValidatorTitle(): string;
|
|
170
171
|
validatedValue: any;
|
|
171
172
|
getDataFilteredValues(): 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
|
/*
|
|
@@ -130,6 +130,7 @@ export declare class QuestionTextModel extends QuestionTextBase {
|
|
|
130
130
|
private hasToConvertToUTC;
|
|
131
131
|
protected valueForSurveyCore(val: any): any;
|
|
132
132
|
protected valueFromDataCore(val: any): any;
|
|
133
|
+
private dateValidationMessage;
|
|
133
134
|
protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
|
|
134
135
|
protected canSetValueToSurvey(): boolean;
|
|
135
136
|
protected convertFuncValuetoQuestionValue(val: any): any;
|
|
@@ -166,6 +167,7 @@ export declare class QuestionTextModel extends QuestionTextBase {
|
|
|
166
167
|
private updateValueOnEvent;
|
|
167
168
|
onCompositionUpdate: (event: any) => void;
|
|
168
169
|
onKeyUp: (event: any) => void;
|
|
170
|
+
private updateDateValidationMessage;
|
|
169
171
|
onKeyDown: (event: any) => void;
|
|
170
172
|
onChange: (event: any) => void;
|
|
171
173
|
onBlur: (event: any) => void;
|
|
@@ -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;
|
|
@@ -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";
|
|
@@ -710,9 +710,17 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
|
|
|
710
710
|
*/
|
|
711
711
|
onGetExpressionDisplayValue: EventBase<SurveyModel, GetExpressionDisplayValueEvent>;
|
|
712
712
|
/**
|
|
713
|
-
* An event that is raised after the visibility of a popup is changed.
|
|
713
|
+
* An event that is raised after the visibility of a popup is changed.
|
|
714
|
+
*
|
|
715
|
+
* 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).
|
|
714
716
|
*/
|
|
715
717
|
onPopupVisibleChanged: EventBase<SurveyModel, PopupVisibleChangedEvent>;
|
|
718
|
+
/**
|
|
719
|
+
* An event that is raised when users open a drop-down menu.
|
|
720
|
+
*
|
|
721
|
+
* 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.
|
|
722
|
+
*/
|
|
723
|
+
onOpenDropdownMenu: EventBase<SurveyModel, OpenDropdownMenuEvent>;
|
|
716
724
|
onElementWrapperComponentName: EventBase<SurveyModel, ElementWrapperComponentNameEvent>;
|
|
717
725
|
onElementWrapperComponentData: EventBase<SurveyModel, ElementWrapperComponentDataEvent>;
|
|
718
726
|
constructor(jsonObj?: any, renderedElement?: any);
|
|
@@ -1550,6 +1558,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
|
|
|
1550
1558
|
private collectDataFromPanel;
|
|
1551
1559
|
private onEditingObjPropertyChanged;
|
|
1552
1560
|
editingObj: Base;
|
|
1561
|
+
private unConnectEditingObj;
|
|
1553
1562
|
readonly isEditingSurveyElement: boolean;
|
|
1554
1563
|
private setCalculatedValuesIntoResult;
|
|
1555
1564
|
getAllValues(): any;
|
|
@@ -2073,8 +2082,8 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
|
|
|
2073
2082
|
updatePanelCssClasses(panel: PanelModel, cssClasses: any): void;
|
|
2074
2083
|
updatePageCssClasses(page: PageModel, cssClasses: any): void;
|
|
2075
2084
|
updateChoiceItemCss(question: IQuestion, options: any): void;
|
|
2076
|
-
private isFirstPageRendering;
|
|
2077
2085
|
private isCurrentPageRendering;
|
|
2086
|
+
private isCurrentPageRendered;
|
|
2078
2087
|
afterRenderPage(htmlElement: HTMLElement): void;
|
|
2079
2088
|
afterRenderHeader(htmlElement: HTMLElement): void;
|
|
2080
2089
|
afterRenderQuestion(question: Question, htmlElement: HTMLElement): void;
|
|
@@ -2247,6 +2256,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
|
|
|
2247
2256
|
*/
|
|
2248
2257
|
getQuestionByName(name: string, caseInsensitive?: boolean): Question;
|
|
2249
2258
|
findQuestionByName(name: string): IQuestion;
|
|
2259
|
+
getEditingSurveyElement(): Base;
|
|
2250
2260
|
/**
|
|
2251
2261
|
* Returns a question with a specified [`valueName`](https://surveyjs.io/form-library/documentation/api-reference/question#valueName).
|
|
2252
2262
|
*
|
|
@@ -2759,6 +2769,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
|
|
|
2759
2769
|
removeLayoutElement(layoutElementId: string): ISurveyLayoutElement;
|
|
2760
2770
|
getContainerContent(container: LayoutElementContainer): any[];
|
|
2761
2771
|
processPopupVisiblityChanged(question: Question, popup: PopupModel<any>, visible: boolean): void;
|
|
2772
|
+
processOpenDropdownMenu(question: Question, options: IDropdownMenuOptions): void;
|
|
2762
2773
|
/**
|
|
2763
2774
|
* Applies a specified theme to the survey.
|
|
2764
2775
|
*
|
|
@@ -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;
|
|
@@ -21,6 +21,7 @@ export interface ISurveyData {
|
|
|
21
21
|
getFilteredValues(): any;
|
|
22
22
|
getFilteredProperties(): any;
|
|
23
23
|
findQuestionByName(name: string): IQuestion;
|
|
24
|
+
getEditingSurveyElement(): Base;
|
|
24
25
|
}
|
|
25
26
|
export interface ITextProcessor {
|
|
26
27
|
processText(text: string, returnDisplayValue: boolean): string;
|
|
@@ -162,6 +163,7 @@ export interface ISurvey extends ITextProcessor, ISurveyErrorOwner {
|
|
|
162
163
|
elementContentVisibilityChanged(element: ISurveyElement): void;
|
|
163
164
|
onCorrectQuestionAnswer(question: IQuestion, options: any): void;
|
|
164
165
|
processPopupVisiblityChanged(question: IQuestion, popupModel: PopupModel, visible: boolean): void;
|
|
166
|
+
processOpenDropdownMenu(question: IQuestion, options: IDropdownMenuOptions): void;
|
|
165
167
|
chooseFiles(input: HTMLInputElement, callback: (files: File[]) => void, context?: {
|
|
166
168
|
element: Base;
|
|
167
169
|
item?: any;
|
|
@@ -329,3 +331,10 @@ export interface ISaveToJSONOptions {
|
|
|
329
331
|
storeDefaults?: boolean;
|
|
330
332
|
version?: string;
|
|
331
333
|
}
|
|
334
|
+
export interface IDropdownMenuOptions {
|
|
335
|
+
menuType: "dropdown" | "popup" | "overlay";
|
|
336
|
+
deviceType: "mobile" | "tablet" | "desktop";
|
|
337
|
+
hasTouchScreen: boolean;
|
|
338
|
+
screenHeight: number;
|
|
339
|
+
screenWidth: number;
|
|
340
|
+
}
|
|
@@ -13,6 +13,7 @@ export declare abstract class DragDropCore<T> implements IDragDropEngine {
|
|
|
13
13
|
protected ghostPositionChanged(): void;
|
|
14
14
|
onDragStart: EventBase<DragDropCore<T>>;
|
|
15
15
|
onDragEnd: EventBase<DragDropCore<T>>;
|
|
16
|
+
onDragClear: EventBase<DragDropCore<T>>;
|
|
16
17
|
onBeforeDrop: EventBase<DragDropCore<T>, any>;
|
|
17
18
|
onAfterDrop: EventBase<DragDropCore<T>, any>;
|
|
18
19
|
draggedElement: any;
|
|
@@ -28,6 +28,7 @@ export declare class DropdownListModel extends Base {
|
|
|
28
28
|
private loadQuestionChoices;
|
|
29
29
|
private updateQuestionChoices;
|
|
30
30
|
private updatePopupFocusFirstInputSelector;
|
|
31
|
+
private getDropdownMenuOptions;
|
|
31
32
|
protected createPopup(): void;
|
|
32
33
|
private setFilterStringToListModel;
|
|
33
34
|
private setTextWrapEnabled;
|
|
@@ -77,7 +77,6 @@ export declare class Const extends Operand {
|
|
|
77
77
|
protected getCorrectValue(value: any): any;
|
|
78
78
|
protected isContentEqual(op: Operand): boolean;
|
|
79
79
|
private isQuote;
|
|
80
|
-
private isBooleanValue;
|
|
81
80
|
}
|
|
82
81
|
export declare class Variable extends Const {
|
|
83
82
|
private variableName;
|
|
@@ -118,8 +117,6 @@ export declare class OperandMaker {
|
|
|
118
117
|
static throwInvalidOperatorError(op: string): void;
|
|
119
118
|
static safeToString(operand: Operand, func: (op: Operand) => string): string;
|
|
120
119
|
static toOperandString(value: string): string;
|
|
121
|
-
static isSpaceString(str: string): boolean;
|
|
122
|
-
static isNumeric(value: string): boolean;
|
|
123
120
|
static isBooleanValue(value: string): boolean;
|
|
124
121
|
static countDecimals(value: number): number;
|
|
125
122
|
static plusMinus(a: number, b: number, res: number): number;
|