Dela via


Visa åtgärdsförloppet i ett Windows Azure Pack Management Portal-tillägg

 

Gäller för: Windows Azure Pack

Om en användarinitierad åtgärd tar en stund att bearbeta rekommenderar vi att du använder ProgressOperation för att inte blockera användargränssnittet i hanteringsportalen, men ändå låta användaren se att åtgärden pågår. En ProgressOperation har flera alternativ som gör att du kan hålla användaren informerad om åtgärden. Vart och ett av dessa alternativ kan användas oberoende av varandra.

Förloppsåtgärder kan bestämmas. Du kan se hur slutförd åtgärden är, till exempel att åtgärden kan rapportera procent färdigt värde. Alternativt kan de vara obestämda. Du vet att åtgärden är eller inte är slutförd, men inte hur nära den är för något av tillstånden.

ProgressOperation har en obestämd egenskap som antyder för användaren att det finns eller inte kommer att rapporteras förloppet mot slutförande.

En åtgärd kan bestå av en sekvens med enskilda steg, som var och en kan lyckas eller misslyckas. När fel inträffar stoppas ytterligare förlopp i åtgärden. När åtgärder har steg visas knappen Information :

Windows Azure Pack Portal Step Details Selection

Om du klickar på den visas de enskilda stegen, med enskilda tillstånd, till exempel framgång, fel eller varning: Mer information finns i metoderna addStep/removeStep i ProgressOperation.

Windows Azure Pack Portal Operataion Steps

Ett exempel på en förloppsåtgärd finns i exemplet med guiden. Guidens onComplete-funktion konfigurerar en förloppsåtgärd för att visa när serveråtgärden är klar.

Visa förlopp för en åtgärd i en guide

  1. Använd följande kod för att visa förloppet i en guide.

    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" 
      });
    

Se även

Utföra vanliga uppgifter i ett Windows Azure Pack Management Portal-tillägg