survey-creator-core
Version:
A framework-independent core package of the SurveyJS Survey Creator component. With Survey Creator, you can visually design complex, interactive JSON forms and surveys in a drag-and-drop interface.
131 lines (130 loc) • 4.74 kB
TypeScript
import { SurveyModel, QuestionPanelDynamicModel, ItemValue, PanelModel, Base, Question, QuestionCommentModel } from "survey-core";
import { ISurveyCreatorOptions } from "../creator-settings";
import { PropertyEditorSetupValue } from "./index";
export declare class ConditionEditorItem {
conjunction: string;
questionName: string;
operator: string;
value: any;
}
export declare class SurveyConditionEditorItem extends ConditionEditorItem {
survey: SurveyModel;
constructor(survey: SurveyModel);
getOperatorText(): string;
getValueText(): string;
get isValueRequired(): boolean;
get isReady(): boolean;
toExpression(): string;
private getQuestionValueByName;
private valToText;
private isNumeric;
private isQuote;
}
export declare class ConditionEditorItemsBuilder {
private hasValue;
constructor(hasValue?: (name: string) => boolean);
build(text: string): Array<ConditionEditorItem>;
private buildEditorItems;
private buildEditorItemsCore;
private buildEditorItemsAddConjunction;
private buildEditorItemsAddBinaryOperand;
private isVariableInSurvey;
private getArrayValueFromOperand;
private buildEditorItemsAddUnaryOperand;
private getOppositeOperator;
private getOperandByType;
private canShowValueByOperator;
}
export declare class ConditionEditor extends PropertyEditorSetupValue {
private propertyName;
static canParseExpression(text: string): boolean;
static canBuildExpression(text: string): boolean;
static isOperatorEnabled(qType: string, operatorTypes: Array<string>): boolean;
static isClassContains(qType: string, contains: Array<string>, notContains: Array<string>): boolean;
private objectValue;
private surveyValue;
private contextValue;
private panelValue;
private textEditorValue;
private addConditionQuestionsHash;
private isModalValue;
allConditionQuestions: Array<ItemValue>;
onContextChanged: (context: Question) => void;
constructor(survey: SurveyModel, object?: Base, options?: ISurveyCreatorOptions, propertyName?: string);
get title(): string;
set title(val: string);
get isModal(): boolean;
set isModal(val: boolean);
protected updatePlaceholderVisibileIf(): void;
protected getSurveyJSON(): any;
protected getSurveyCreationReason(): string;
get text(): string;
set text(val: string);
isModified(prevText: string): boolean;
get context(): Question;
set context(val: Question);
private processText;
get survey(): SurveyModel;
get object(): Base;
get panel(): QuestionPanelDynamicModel;
get textEditor(): QuestionCommentModel;
get isReady(): boolean;
errorText: string;
isEmpty(): boolean;
hasErrorInUI(): boolean;
apply(): boolean;
setIsFastEntry(showTextEdit: boolean): void;
private buildPanels;
private isSettingPanelValues;
private getIsOperatorEnabled;
private isContainerQuestion;
private setupConditionOperator;
private updateConditionChoices;
private setupConditionQuestionName;
private setupRemoveQuestion;
private setItemToPanel;
private updateSurveyVariable;
private getConditionQuestions;
private getText;
private getEditorItems;
private createEditorItemFromPanel;
private getQuestionNameFromPanel;
private getContextIndexInfo;
private getQuestionNameToPanel;
private getContextFromPanels;
private updateNamesOnContextChanged;
private getContextByQuestionName;
private getConditionQuestionText;
private createAllConditionQuestions;
private getContextObject;
private get isItemValueObject();
private addValuesIntoConditionQuestions;
private addSurveyCalculatedValues;
private mergeSelectBasedQuestions;
private removeEntriesByValueName;
private replaceQuestions;
private mergeSelectBasedTwoQuestions;
private mergeChoices;
private calculatedValueQuestion;
private getCalculatedValueQuestion;
private getOperators;
private rebuildQuestionValue;
rebuildQuestionValueOnOperandChanging(panel: PanelModel): void;
private canShowQuestionValue;
private getConditionQuestion;
private getQuestionConditionJson;
private updateChoicesFromQuestion;
private updateOperatorEnables;
private updateQuestionsWidth;
private get defaultOperator();
private getDefaultOperatorByQuestionName;
private getDefaultOperatorByQuestion;
private getFirstEnabledOperator;
private onPanelAdded;
private onPanelValueChanged;
private onUpdateQuestionCssClasses;
private onValueChanged;
private showTextEditor;
private showBuilder;
private getCanShowBuilder;
}