Widget-Definitionen
class NGSWidget {
static get type() {
return "NGSWidget"
}
/* HTML-Template, das generiert wird, bevor die Klasse erstellt wird
Alle IDs und CSS-Klassennamen werden mit der uniqueId angehängt
die bei der Erstellung des Widgets bereitgestellt wird */
static get template() {}
/* Das HTML-Template wird während der Entwurfszeit des Formulars verwendet
Wenn null, wird das eigentliche Widget-Template gerendert */
static get designTimeTemplate() {}
/* Das HTML-Template wird verwendet, wenn das Formular zum Drucken angezeigt wird */
static get printTemplate() {}
/* Inline-CSS-Style, der zur Seite hinzugefügt wird
beachten Sie, dass Stilklassen-Namen in einen Gültigkeitsbereich gesetzt werden
zur eindeutigen ID des Widgets
*/
static get style() {}
/* Inline-JavaScript-Code, der hinzugefügt wird
zur Seite, solange das Widget vorhanden ist */
static get script() {}
static get selectionWidget() {
return true;
}
/* Unterstützt dieses Widget ein Label? Das Label ist der Text, den ein Formular
Administrator über das Formulardesign eingeben kann und der angezeigt wird
vor dem Widget-Template */
static get hasLabel() {
return true;
}
/* Zeigt die native ngSurvey-Fehlermeldungsbox an
unter dem Control
*/
static get displayErrorMessage() {
return true;
}
/* Setzt allen CSS-Klassen aus dem Widget-Style
einen eindeutigen Wert voran, um Konflikte zu vermeiden, wenn andere Komponenten
diese Klassen unter demselben Namen registriert haben.
Beachten Sie, dass externe CSS-Abhängigkeiten nicht geparst werden.
0 : Keine Kapselung
1 : Shadow CSS - nativer ngSurvey-Präfix-Processor
*/
static get encapsulationMode() {
return 1;
}
/* Ermöglicht, die Antwort als erforderlich oder nicht erforderlich festzulegen
über die Antwort-Einstellungsseite, um
die Widget-Antwort während der Umfrage als erforderlich zu markieren
*/
static get required() {
return false;
}
/* Eigenschaften, die im Formulardesigner für jede
Antwort festgelegt werden können, die dieses Widget als Antworttyp in den Antwort-Einstellungen verwendet */
static get propertiesDef() {}
/* Externe JavaScript-Code-Abhängigkeiten, die geladen werden
bevor das Widget erstellt wird */
static get jsDependencies() {}
/* Externe CSS-Code-Abhängigkeiten, die geladen werden
bevor das Widget erstellt wird */
static get cssDependencies() {}
/*
setAnswer; // Callback-Funktion, um einen Wert vom Widget zu übergeben, z. B.: answerPosted(widgetAnswerValue)
valueChanges$; // Observable, das den Wert des Widgets zurückgibt
containerElement;
labelElement;
respondentAnswers = [];
uniqueId;
answerContext;
formContext;
sectionIndex;
properties;
initialValue;
label;
*/
/* containerElement: DOM-Element, das das Template enthält
labelElement: DOM-Element, das das Label enthält
answerContext: Answer-Kontext, der Hilfsmethoden zum Arbeiten mit der Antwort bereitstellt
formContext: Form-Kontext, der Hilfsmethoden zum Arbeiten mit dem Formular bereitstellt
uniqueId: muss als Suffix verwendet werden, um die Element-IDs oder CSS-Klassen des Templates abzufragen
properties: instanzspezifische Eigenschaftswerte
setAnswer: Funktion, die den angegebenen Textwert des Widgets setzt setAnswer(textVal)
valueChanges: überwacht alle Wertänderungen des Widgets
*/
constructor(containerElement, labelElement, answerContext, formContext,
sectionIndex, uniqueId, properties, setAnswerCallback, valueChanges$) {
}
/* Das Widget wurde per Template erstellt, aber noch nicht zum DOM hinzugefügt
doch seine Eigenschaften wurden bereits gesetzt
*/
build() {}
/* Das Widget wurde per Template erstellt, zum DOM hinzugefügt
und seine Eigenschaften wurden gesetzt
*/
init() {}
/* Abonniert das Observable und behält
eine Referenz, um es automatisch abzumelden
wenn das Widget entsorgt wird
*/
safeSubscribe(obs, next, error, complete);
// Beta Nicht für die Produktion
remoteValidate();
// Beta Nicht für die Produktion
remoteValidateProd();
getValidationParam(name, value);
/*
gibt die Eigenschaften des Widgets zurück
im Callback
*/
getProperties$(propsCallback);
getLabel$(labelCallback);
getValue$(valueCallback);
isDisabled$(stateCallback);
isSelected$(selectionCallback);
getRenderMode$(renderModeCallback);
getLanguage$(languageCallback);
getRespondentAnswers$(respondentAnswersCallBack);
getAnswers$(answersCallBack);
getQuestions$(questionsCallBack);
/* Wird vom Formular aufgerufen, um zu prüfen, ob der Wert gültig ist
Wenn nicht gültig, muss '' zurückgegeben werden (keine Fehlermeldung anzeigen) oder die anzuzeigende Fehlermeldung
Wenn gültig, null zurückgeben */
isValid();
/* Gibt das HTML-Element aus dem DOM zurück, das generiert wurde
aus dem Widget-Template und entspricht den angehängten IDs des
Widget-Templates
*/
getWidgetElementById(id);
/*
Queryselector nur im Container des Widgets.
Fügt den eindeutigen Widget-Wert den IDs (#) hinzu, um sie an
die angehängten lokalen IDs des Widget-Templates anzupassen
*/
widgetQuerySelector(selector);
/*
QueryselectorAll nur im Container des Widgets.
Fügt den eindeutigen Widget-Wert den IDs (#) hinzu, um sie an
die angehängten lokalen IDs des Widget-Templates anzupassen
*/
widgetQuerySelectorAll(selector);
}
submitForm();
nextPage();
previousPage();
nextQuestion();
previousQuestion();
saveProgress(silent);
/* Bereinigt alle Dinge, die bereinigt werden müssen
bevor das Widget aus dem DOM entfernt wird */
dispose() {}
_disposeSubscribers() {
if (this._subscribers) {
this._subscribers.forEach(subscriber => {
if (subscriber) {
subscriber.unsubscribe();
}
})
this._subscribers = [];
}
}
/* Verknüpft die Widget-Ereignisse, um ihren
Status synchron zu halten */
_hookEvents() {}
/* Interne Methode darf nicht überschrieben werden */
_dispose() {}
/* _value;
_subscribers = [];*/
}
class NGSSelectionWidget extends NGSWidget {
static get type() {
return "NGSSelectionWidget"
}
/* containerElement: DOM-Element, das das Template enthält
labelElement: DOM-Element, das das Label enthält
answerContext: Answer-Kontext, der Hilfsmethoden zum Arbeiten mit der Antwort bereitstellt
formContext: Form-Kontext, der Hilfsmethoden zum Arbeiten mit dem Formular bereitstellt
uniqueId: muss als Suffix verwendet werden, um die Element-IDs oder CSS-Klassen des Templates abzufragen
selectionId: ist die eindeutige ID der Auswahlgruppe
selectAnswerCallback: Funktion, die aufgerufen wird, wenn eine Antwort im Widget ausgewählt werden muss
selected$: Observable, das true / false zurückgibt, wenn eine Antwort ausgewählt oder abgewählt wird
properties: instanzspezifische Eigenschaftswerte
setAnswer: Funktion, die den angegebenen Textwert des Widgets setzt setAnswer(textVal) */
constructor(containerElement, labelElement, answerContext, formContext,
sectionIndex, uniqueId, selectionId, selected, selectedAnswerCallback,
selected$, properties, setAnswerCallback, valueChanges$) {
super(containerElement, labelElement, answerContext,
formContext, sectionIndex, uniqueId, properties, setAnswerCallback, valueChanges$)
}Zuletzt aktualisiert
War das hilfreich?