survey-core
Version:
A framework-independent core of the SurveyJS Form Library that works with rendering packages. Use it to integrate dynamic, interactive JSON-based forms and surveys into your app, collect user responses, and send them to your own database.
97 lines (96 loc) • 3.54 kB
TypeScript
import { ItemValue } from "./itemvalue";
import { Question } from "./question";
import { SurveyError } from "./survey-error";
import { Base } from "./base";
export declare class QuestionImageMapModel extends Question {
constructor(name: string);
bg: HTMLImageElement;
svg: SVGElement;
imageLink: string;
areas: ImageMapArea[];
hoveredUID: number;
valuePropertyName: string;
multiSelect: boolean;
get isMultiSelect(): boolean;
get maxSelectedAreas(): number;
set maxSelectedAreas(val: number);
get minSelectedAreas(): number;
set minSelectedAreas(val: number);
shape: string;
idleStrokeColor: string;
idleStrokeWidth: number;
idleFillColor: string;
hoverStrokeColor: string;
hoverStrokeWidth: number;
hoverFillColor: string;
selectedStrokeColor: string;
selectedStrokeWidth: number;
selectedFillColor: string;
selectedArea: ImageMapArea | undefined;
getType(): string;
protected getAllChildren(): Base[];
protected onValueChanged(): void;
localeChanged(): void;
protected onPropertyValueChanged(name: string, oldValue: any, newValue: any): void;
protected getValueCore(): any;
protected runConditionCore(properties: any): void;
protected clearValueIfInvisibleCore(reason: string): void;
clearIncorrectValues(): void;
afterRenderQuestionElement(el: HTMLElement): void;
beforeDestroyQuestionElement(el: HTMLElement): void;
onBgImageLoaded: () => void;
onClickHandler: (event: MouseEvent) => void;
onMouseOverHandler: (event: MouseEvent) => void;
onMouseOutHandler: () => void;
onMouseDownHandler: (event: MouseEvent) => void;
onMouseUpHandler: () => void;
onMouseMoveHandler: (event: MouseEvent) => void;
initImageMap(el: HTMLElement): void;
scaleCoordsToSVG([x, y]: [any, any]): [number, number];
getCSSVariables(): string;
updateCSSVariables(): void;
dispose(): void;
requestAnimationFrameId: number;
renderSVG(): void;
protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean, fireCallback: boolean): void;
protected convertToCorrectValue(val: any): any;
getDisplayValueCore(keysAsText: boolean, value: any): any;
mapItemToggle(item: ImageMapArea): void;
isItemSelected(item: ImageMapArea): boolean;
isItemHovered(item: ImageMapArea): boolean;
addItem(value: any): ImageMapArea;
createControlPoint(x: any, y: any, idx: any): SVGElement;
controlPoints: SVGElement[];
activeControlPoint: SVGElement;
drawAreaControls(): void;
}
export declare class ImageMapArea extends ItemValue {
constructor(value: any);
getBaseType(): string;
protected onPropertyValueChanged(name: string, oldValue: any, newValue: any): void;
shape: string;
getShape(): string;
coords: string;
getCoords(): string[];
getSVGCoords(): string[];
addCoord(x: any, y: any): void;
removeCoord(idx: number): void;
setCoord(idx: number, x: number, y: number): void;
draw(): void;
idleFillColor: string;
idleStrokeColor: string;
idleStrokeWidth: number;
hoverFillColor: string;
hoverStrokeColor: string;
hoverStrokeWidth: number;
selectedFillColor: string;
selectedStrokeColor: string;
selectedStrokeWidth: number;
render(container: SVGElement): void;
svg: SVGElement;
getSVGElement(): SVGElement;
getCSSVariables(): string;
getCSSClasses(): string;
updateCSSVariables(): void;
updateCSSClasses(): void;
}