UNPKG

survey-creator-core

Version:

Use SurveyJS Creator to create or edit JSON for SurveyJS Form Library.

62 lines (61 loc) 3.79 kB
import { DragDropAllowEvent, DragDropCore, EventBase, IElement, IPanel, ISurveyElement, JsonObject, PageModel, QuestionRowModel, SurveyElement } from "survey-core"; import { IQuestionToolboxItem } from "./toolbox"; import { SurveyElementAdornerBase } from "./components/survey-element-adorner-base"; import { DropIndicatorPosition } from "./drag-drop-enums"; export declare function calculateIsEdge(dropTargetNode: HTMLElement, clientY: number): boolean; export declare function calculateIsSide(dropTargetNode: HTMLElement, clientX: number): boolean; export declare function calculateDragOverLocation(clientX: number, clientY: number, rect: DOMRectInit, direction?: "top-bottom" | "left-right"): DropIndicatorPosition; export declare class DragDropSurveyElements extends DragDropCore<any> { static newGhostPage: PageModel; static restrictDragQuestionBetweenPages: boolean; static edgeHeight: number; static nestedPanelDepth: number; static ghostSurveyElementName: string; insideElement: any; protected prevIsEdge: any; protected dragOverIndicatorElement: any; protected dragOverLocation: DropIndicatorPosition; protected get draggedElementAdorner(): SurveyElementAdornerBase | null; protected get dropTargetAdorner(): SurveyElementAdornerBase | null; protected get draggedElementType(): string; protected isDraggedElementSelected: boolean; onGetMaxNestedPanels: () => number; onGetMaxPanelNestingLevel: () => number; onDragOverLocationCalculating: (options: any) => void; get maxNestedPanels(): number; get maxPanelNestingLevel(): number; isAllowedToAdd: (elementType: string, container: SurveyElement) => boolean; startDragToolboxItem(event: PointerEvent, draggedElementJson: JsonObject, toolboxItemModel: IQuestionToolboxItem): void; get isDraggingExistingElement(): boolean; startDragSurveyElement(event: PointerEvent, draggedElement: any, isElementSelected?: boolean): void; protected getShortcutText(draggedElement: any): string; protected createDraggedElementShortcut(text: string, draggedElementNode?: HTMLElement, event?: PointerEvent): HTMLElement; protected createDraggedElementIcon(): HTMLElement; protected getDraggedElementClass(): string; protected createElementFromJson(json: object): HTMLElement; private createNewElement; protected findDropTargetNodeByDragOverNode(dragOverNode: HTMLElement): HTMLElement; protected getDropTargetByDataAttributeValue(dataAttributeValue: string, dropTargetNode: HTMLElement, event: PointerEvent): any; protected isDropTargetValid(dropTarget: any, dropTargetNode?: HTMLElement, dragOverLocation?: DropIndicatorPosition): boolean; protected doBanDropHere: () => void; private shouldRestricDragQuestionBetweenPages; protected findDeepestDropTargetChild(parent: HTMLElement): HTMLElement; /** * An event that is raised when users drag and drop survey elements while designing the survey in [Survey Creator](https://surveyjs.io/survey-creator/documentation/overview). Use this event to control drag and drop operations. */ onDragDropAllow: EventBase<DragDropCore<any>, DragDropAllowEvent>; private isAllowDragOver; dragOverCore(dropTarget: ISurveyElement, dragOverLocation: DropIndicatorPosition): void; private dragDropFindRow; private isSameElement; private isDragInsideItself; private getDragDropElementType; dragOver(event: PointerEvent): void; protected onStartDrag(): void; moveElementInPanel(panel: IPanel, src: IElement, target: IElement, targetIndex: number): void; protected doDrop: () => any; private removeDragOverMarker; clear(): void; private getTargetParent; protected getTargetRow(dropTarget: any): QuestionRowModel; }