Définitions de widgets
class NGSWidget {
static get type() {
return "NGSWidget"
}
/* Modèle HTML qui sera généré avant la création de la classe
Tous les noms d'id et de classes CSS seront suffixés par uniqueId
fourni lors de la création du widget */
static get template() {}
/* Le modèle HTML est utilisé lors de la phase de conception du Formulaire
Si null, le modèle réel du widget sera rendu */
static get designTimeTemplate() {}
/* Le modèle HTML est utilisé lorsque le Formulaire est affiché pour impression */
static get printTemplate() {}
/* Style CSS inline qui sera ajouté à la page
notez que les noms des classes de style seront limités
à l'ID unique du widget
*/
static get style() {}
/* Code JavaScript inline qui sera ajouté à
la page tant que le widget est présent */
static get script() {}
static get selectionWidget() {
return true;
}
/* Ce widget prend-il en charge le libellé ; le libellé est le texte qu'un administrateur du Formulaire
peut saisir à l'aide de la conception du Formulaire et qui sera affiché
avant le modèle du widget */
static get hasLabel() {
return true;
}
/* Affiche la boîte de message d'erreur native de ngsurvey
sous le contrôle
*/
static get displayErrorMessage() {
return true;
}
/* Préfixera toutes les classes CSS du style du widget
avec une valeur unique afin d'éviter les conflits si d'autres composants
ont enregistré ces classes sous le même nom.
Notez que cela n'analyssera pas les dépendances CSS externes.
0 : Aucune encapsulation
1 : Shadow CSS - processeur de préfixe natif ngSurvey
*/
static get encapsulationMode() {
return 1;
}
/* Permet de définir la réponse comme obligatoire ou non
depuis la page des paramètres de la réponse afin de rendre
la réponse du widget obligatoire pendant le sondage
*/
static get required() {
return false;
}
/* Propriétés qui peuvent être définies dans le concepteur de Formulaire pour chaque
réponse utilisant ce widget comme type de réponse dans les paramètres de réponse */
static get propertiesDef() {}
/* Dépendances de code JavaScript externe qui seront chargées
avant la création du widget */
static get jsDependencies() {}
/* Dépendances de code CSS externe qui seront chargées
avant la création du widget */
static get cssDependencies() {}
/*
setAnswer; // fonction de rappel pour publier une valeur depuis le widget, par ex. : answerPosted(widgetAnswerValue)
valueChanges$; // Observable qui renvoie la valeur du widget
containerElement;
labelElement;
respondentAnswers = [];
uniqueId;
answerContext;
formContext;
sectionIndex;
properties;
initialValue;
label;
*/
/* containerElement : élément DOM contenant le modèle
labelElement : élément DOM contenant le libellé
answerContext : contexte de réponse qui fournit des méthodes utilitaires pour interagir avec la réponse
formContext : contexte du Formulaire qui fournit des méthodes utilitaires pour interagir avec le Formulaire
uniqueId : doit être utilisé comme suffixe pour interroger les ID des éléments du modèle ou les classes CSS
properties : valeurs de propriétés spécifiques à l'instance
setAnswer : fonction qui définira la valeur texte donnée du widget setAnswer(textVal)
valueChanges : surveille toute modification de valeur du widget
*/
constructor(containerElement, labelElement, answerContext, formContext,
sectionIndex, uniqueId, properties, setAnswerCallback, valueChanges$) {
}
/* Le widget a été créé, mais le modèle n'a pas encore été ajouté au DOM
mais ses propriétés ont déjà été définies
*/
build() {}
/* Le widget a été créé, le modèle a été ajouté au DOM
et ses propriétés ont été définies
*/
init() {}
/* S'abonne à l'observable et conserve
une référence pour s'en désabonner automatiquement
lorsque le widget est détruit
*/
safeSubscribe(obs, next, error, complete);
// Beta Pas destiné à la production
remoteValidate();
// Beta Pas destiné à la production
remoteValidateProd();
getValidationParam(name, value);
/*
renvoie les propriétés du widget
dans le rappel
*/
getProperties$(propsCallback);
getLabel$(labelCallback);
getValue$(valueCallback);
isDisabled$(stateCallback);
isSelected$(selectionCallback);
getRenderMode$(renderModeCallback);
getLanguage$(languageCallback);
getRespondentAnswers$(respondentAnswersCallBack);
getAnswers$(answersCallBack);
getQuestions$(questionsCallBack);
/* Sera appelé par le Formulaire pour vérifier si la valeur est valide
Si elle n'est pas valide, doit renvoyer '' (aucun message d'erreur affiché) ou le message d'erreur à afficher
Si elle est valide, renvoyer null */
isValid();
/* Renvoie l'élément HTML du DOM qui a été généré
à partir du modèle du widget ; il correspondra aux ID suffixés du
modèle du widget
*/
getWidgetElementById(id);
/*
Queryselector uniquement sur le conteneur du widget.
Ajoute l'ID unique du widget aux ID (#) afin de faire correspondre
les ID locaux suffixés du modèle du widget
*/
widgetQuerySelector(selector);
/*
QueryselectorAll uniquement sur le conteneur du widget.
Ajoute l'ID unique du widget aux ID (#) afin de faire correspondre
les ID locaux suffixés du modèle du widget
*/
widgetQuerySelectorAll(selector);
}
submitForm();
nextPage();
previousPage();
nextQuestion();
previousQuestion();
saveProgress(silent);
/* Nettoie tout ce qui doit être nettoyé
avant que le widget soit supprimé du DOM */
dispose() {}
_disposeSubscribers() {
if (this._subscribers) {
this._subscribers.forEach(subscriber => {
if (subscriber) {
subscriber.unsubscribe();
}
})
this._subscribers = [];
}
}
/* Connecte les événements du widget pour conserver
leur état synchronisé */
_hookEvents() {}
/* Méthode interne ne devant pas être remplacée */
_dispose() {}
/* _value;
_subscribers = [];*/
}
class NGSSelectionWidget extends NGSWidget {
static get type() {
return "NGSSelectionWidget"
}
/* containerElement : élément DOM contenant le modèle
labelElement : élément DOM contenant le libellé
answerContext : contexte de réponse qui fournit des méthodes utilitaires pour interagir avec la réponse
formContext : contexte du Formulaire qui fournit des méthodes utilitaires pour interagir avec le Formulaire
uniqueId : doit être utilisé comme suffixe pour interroger les ID des éléments du modèle ou les classes CSS
selectionId : identifiant unique du groupe de sélection
selectAnswerCallback : fonction qui sera appelée lorsqu'une réponse doit être sélectionnée depuis le widget
selected$ : observable qui renvoie true / false lorsque la réponse est sélectionnée ou désélectionnée
properties : valeurs de propriétés spécifiques à l'instance
setAnswer : fonction qui définira la valeur texte donnée du widget 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$)
}Mis à jour
Ce contenu vous a-t-il été utile ?