survey-creator-core
Version:
Use SurveyJS Creator to create or edit JSON for SurveyJS Form Library.
87 lines (86 loc) • 3.91 kB
TypeScript
import { SurveyElement, SurveyTemplateRendererTemplateData, Action, IAction, ListModel } from "survey-core";
import { SurveyCreatorModel } from "../creator-base";
import { IPortableEvent } from "../utils/events";
import { SurveyElementActionContainer } from "./action-container-view-model";
import { SurveyElementAdornerBase } from "./survey-element-adorner-base";
import "./question.scss";
import { QuestionToolboxItem } from "../toolbox";
export interface QuestionBannerParams {
text: string;
actionText: string;
onClick: () => void;
}
export declare class QuestionAdornerViewModel extends SurveyElementAdornerBase {
templateData: SurveyTemplateRendererTemplateData;
_currentAddQuestionType: string;
get currentAddQuestionType(): string;
set currentAddQuestionType(val: string);
placeholderComponent: string;
placeholderComponentData: any;
private dragOrClickHelper;
constructor(creator: SurveyCreatorModel, surveyElement: SurveyElement, templateData: SurveyTemplateRendererTemplateData);
protected onElementTypeRestrictionChanged(elType: string): void;
protected canSelectElement(): boolean;
select(model: QuestionAdornerViewModel, event: IPortableEvent): boolean;
rootCss(): string;
css(): string;
private get isTitleLeft();
protected getAnimatedElement(): Element;
protected getInnerAnimatedElements(): Array<HTMLElement>;
protected expandWithDragIn(): void;
get isBannerShowing(): boolean;
private get isUsingCarryForward();
private get isUsingRestfull();
private get isMessagePanelVisible();
get cssCollapsedHiddenHeader(): string;
get cssCollapsedHiddenTitle(): string;
createBannerParams(): QuestionBannerParams;
private createCarryForwardParams;
private createUsingRestfulParams;
private createCustomMessagePanel;
protected detachElement(surveyElement: SurveyElement): void;
protected attachElement(surveyElement: SurveyElement): void;
get isDraggable(): boolean;
get hoverDelay(): number;
hover(event: MouseEvent, element: HTMLElement | any): void;
protected createActionContainer(): SurveyElementActionContainer;
protected updateActionsPropertiesCore(): void;
protected updateActionsVisibility(isTop: boolean): void;
private updateActionsLocations;
protected updateElementAllowOptions(options: any, operationsAllow: boolean): void;
private updateActionVisibilityByProp;
get isEmptyElement(): boolean;
set isEmptyElement(val: boolean);
protected getIsEmptyElement(): boolean;
protected updateIsEmptyElement(): void;
get isEmptyTemplate(): boolean;
get showHiddenTitle(): boolean;
get placeholderText(): string;
private get dragDropHelper();
onPointerDown(pointerDownEvent: PointerEvent): void;
startDragSurveyElement: (event: PointerEvent) => boolean;
private getConvertToTypes;
private buildDefaultJsonMap;
private convertQuestion;
getConvertToTypesActions(): Array<IAction>;
private get currentType();
private createConvertToAction;
static checkForNeedDefaultSubitems(items: QuestionToolboxItem[]): void;
private static jsonsAreCompatible;
private jsonIsCorresponded;
private toolboxItemIsCorresponded;
private cleanDefaultsFromJson;
protected allowExpandCollapseByDblClick(element: any): any;
protected updateQuestionTypeOrSubtypeListModel(listModel: ListModel, subtypeOnly: boolean): boolean;
private createConvertInputType;
private getSelectedItem;
private createDropdownModel;
private updateRequiredAction;
private createRequiredAction;
protected getUpdatedPropertyValue(propName: string, newValue: any): any;
protected buildActions(items: Array<Action>): void;
protected duplicate(): void;
addNewQuestion: () => void;
questionTypeSelectorModel: Action;
get addNewQuestionText(): string;
}