Servicekatalog-Formularskripts durch Widgets ersetzen

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 1 Minute Lesedauer
  • Sie können in Serviceportal Widgets verwenden, um UI-Makros zu ersetzen. Wenn Ihr Servicekatalog-Formular ein UI-Makro enthält, das auf andere Felder oder Variablen im Formular verweist, können Sie ein Widget mit wiederverwendbarem Code erstellen und es in das Servicekatalog-Formular einbetten. Verwenden Sie eine spezielle Syntax, um auf beliebige Variablenfelder im Formular zuzugreifen.

    Vorbereitungen

    Erforderliche Rolle: admin oder sp_admin

    Prozedur

    1. Erstellen Sie ein Widget, das die Aktion ausführt, die Sie in Katalogelementformularen verwenden möchten.
      In Schritt 7 finden Sie ein einfaches Beispiel-Widget, das auf eine andere Variable im Formular zugreift.
    2. Öffnen Sie ein Katalogelement, das zuvor ein UI-Makro oder eine andere wiederverwendbare Komponente verwendet hat, die in Serviceportal nicht unterstützt wird.
    3. Fügen Sie in zugehörigen Listen dem Katalogelement eine neue Variable hinzu.
    4. Konfigurieren Sie das Variablenformular so, dass das Feld Widget hinzugefügt wird.
    5. Wählen Sie im Feld Typ die Option Makro aus.
    6. Wählen Sie im Feld Widget ein Widget aus, das die gewünschte Aktion ausführt.
    7. Wahlweise: Verwenden Sie im eingebetteten Widget die Syntax $scope.page.g_form() oder $scope.page.field, um auf die Katalogelementwerte zuzugreifen.
      Dieses Beispiel zeigt, wie Sie den Wert einer einzeiligen, mit dem Katalogelement verknüpften Textvariable mit dem Namen color ändern.
      Widget-HTML-Vorlage
      <div>  
        Data from catalog variable:  
        <h1>{{ c.data.message }}</h1>  
      </div>
      Widget-Clientskript
      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 : '';  
      });  
      }  
      Verwenden Sie Folgendes, um auf Felder für Variablen oder Katalogelemente zuzugreifen:
      • $scope.page.g_form(): Die g_form-Instanz im Formular. Sie können alle unterstützten g_form-Methoden verwenden, die unter Service Portal und Client-Skripts beschrieben sind. Zum Beispiel: g_form.setValue('Variablenname', 'neuer Wert');.
      • $scope.page.field(): Das Objekt, das die Variable darstellt.
      Wenn Sie das Katalogelement in Serviceportal öffnen, greift das eingebettete Widget auf die Variablenfelder zu, die dem Katalogelement zugeordnet sind.

      Die Eingabe in die Variable wird im eingebetteten Widget angezeigt.