Sdílet prostřednictvím


Jak zobrazit průběh operace v rozšíření portálu pro správu sady Azure Pack Windows

 

Platí pro: Windows Azure Pack

Pokud zpracování operace iniciované uživatelem nějakou dobu trvá, doporučuje se použít ProgressOperation, abyste nezablokovali uživatelské rozhraní portálu pro správu, ale přesto uživateli umožnili zjistit, že operace probíhá. A ProgressOperation má několik možností, které vám umožní udržovat uživatele informovaný o operaci. Každá z těchto možností se může používat nezávisle na sobě.

Operace průběhu můžou být determinovat. Můžete zjistit, jak je operace dokončena, například že operace může hlásit procentuální hodnotu dokončení. Alternativně mohou být neurčité. Víte, že operace je nebo není dokončená, ale ne jak blízko je v obou stavech.

ProgressOperation má neurčitou vlastnost, která naznačuje uživateli, že existuje, nebo není, bude hlášen průběh dokončení.

Operace může být tvořena posloupností jednotlivých kroků, z nichž každá může být úspěšná nebo neúspěšná. Pokud dojde k selhání jakéhokoli dalšího pokroku v operaci, zastaví se. Když operace mají kroky, zobrazí se tlačítko Podrobnosti :

Windows Azure Pack Portal Step Details Selection

Po kliknutí se zobrazí jednotlivé kroky s jednotlivými stavy, jako je úspěch, selhání nebo upozornění: Podrobnosti najdete v metodách addStep / removeStep v ProgressOperation.

Windows Azure Pack Portal Operataion Steps

Příklad operace průběhu je obsažen v ukázce průvodce. Funkce průvodce onComplete nastaví operaci průběhu, která se zobrazí po dokončení operace serveru.

Zobrazení průběhu operace v průvodci

  1. Pomocí následujícího kódu můžete zobrazit průběh v průvodci.

    cdm.stepWizard({
        extension: "DomainTenantExtension",
        steps: [{
          template: "createStep1",
          data: data,
          // Called when the step is first created
          onStepCreated: function () {
            wizard = this;
          },
          // Called each time the step is displayed
          onStepActivate: step1Activate,
          // Called before the wizard moves to the next step
          onNextStep: function () {
            return Shell.UI.Validation.validateContainer("#dm-create-step1");
          }
        }],
        // Called when the user clicks the "Finish" button on the last step
        onComplete: function () {
          var newPassword, newResellerPortalUrl;
          newPassword = $("#dm-password").val();
          newResellerPortalUrl = registerReseller ? $("#dm-portalUrl").val() : null;
          // Call whatever backend function we need to. In our example, it returns a promise
          promise = callback(newPassword, newResellerPortalUrl);
    
          // Create a new Progress Operation object
          var progressOperation = new Shell.UI.ProgressOperation(
            // Title of operation
            "Registering endpoint...",
            // Initial status. null = default
            null,
            // Is indeterministic? (Does it NOT provide a % complete)
            true);
    
          // This adds the progress operation we set up earlier to the visible list of PrOp's
          Shell.UI.ProgressOperations.add(progressOperation);
    
          promise
            .done(function() {
               // When the operation succeeds, complete the progress operation
               progressOperation.complete(
                 "Successfully registered the endpoint.",
                 Shell.UI.InteractionSeverity.information);
               })
            .fail(function() {
               // When the operation fails, complete the progress operation
               progressOperation.complete(
                 "Failed to register the endpoint.",
                 Shell.UI.InteractionSeverity.error,
                 Shell.UI.InteractionBehavior.ok);
            });
        }
      },
      {
        // Other supported sized include large, medium & small
        size: "mediumplus" 
      });
    

Viz také

Provádění běžných úloh v rozšíření portálu pro správu sady Azure Pack Windows