Remplacer un Catalogue de services script de formulaire par un widget

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 1 minute de lecture
  • Vous pouvez utiliser des widgets pour remplacer les macros Portail de services d’interface utilisateur. Si votre Catalogue de services formulaire inclut une macro d’interface utilisateur qui fait référence à d’autres champs ou variables sur le formulaire, vous pouvez créer un widget pour contenir du code réutilisable et l’intégrer dans le Catalogue de services formulaire. Utilisez une syntaxe spéciale pour accéder à tous les champs variables du formulaire.

    Avant de commencer

    Rôle requis : admin ou sp_admin

    Procédure

    1. Créez un widget qui effectue l’action que vous souhaitez utiliser dans les formulaires d’éléments de catalogue.
      Reportez-vous à l’étape 7 pour un exemple simple de widget qui accède à une autre variable sur le formulaire.
    2. Ouvrez un élément de catalogue qui utilisait précédemment une macro d’interface utilisateur ou un autre composant réutilisable non pris en charge dans Portail de services.
    3. Dans les listes connexes, ajoutez une nouvelle variable à l’élément de catalogue.
    4. Configurez le formulaire de variables pour ajouter le champ Widget .
    5. Dans le champ Type , sélectionnez Macro.
    6. Dans le champ Widget , sélectionnez un widget qui effectue l’action souhaitée.
    7. Facultatif : Utilisez la syntaxe $scope.page.g_form() ou $scope.page.field dans le widget incorporé pour accéder aux valeurs des éléments de catalogue.
      Cet exemple montre comment modifier la valeur d’une variable de texte d’une seule ligne avec la couleur de nom associée à l’élément de catalogue.
      Modèle HTML de widget
      <div>  
        Data from catalog variable:  
        <h1>{{ c.data.message }}</h1>  
      </div>
      Script client de widget
      function($scope) {  
           var c = this;  
        
           //Watch for changes in the color variable  
           $scope.$watch(function () {  
                return $scope.page.g_form.getValue('color');  
           }, function (value) {  
           //Update local data object with data from variable  
           c.data.message = value ? 'Content of color variable: ' + value : '';  
      });  
      }  
      Vous pouvez utiliser les éléments suivants pour accéder aux champs de variables ou d’éléments de catalogue :
      • $scope.page.g_form() : instance g_form sur le formulaire. Vous pouvez utiliser toutes les méthodes g_form prises en charge décrites à la section Portail de services et scripts clients. Par exemple, g_form.setValue('variable_name', 'nouvelle valeur') ;.
      • $scope.page.field() : l’objet qui représente la variable.
      Lorsque vous ouvrez l’élément de catalogue dans le Portail de services, le widget incorporé accède aux champs de variables associés à l’élément de catalogue.

      L’entrée de la variable s’affiche dans le widget incorporé.