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 :
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.
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
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