Définitions de widgets

Sur cette page, vous trouverez toutes les définitions de la classe parente à partir de laquelle les classes enfants peuvent hériter pour devenir un widget ngSurvey.

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 ?