migrationProgress.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import { Template } from 'meteor/templating';
  2. import {
  3. migrationManager,
  4. isMigrating,
  5. migrationProgress,
  6. migrationStatus,
  7. migrationCurrentStep,
  8. migrationEstimatedTime,
  9. migrationSteps
  10. } from '/client/lib/migrationManager';
  11. Template.migrationProgress.helpers({
  12. isMigrating() {
  13. return isMigrating.get();
  14. },
  15. migrationProgress() {
  16. return migrationProgress.get();
  17. },
  18. migrationStatus() {
  19. return migrationStatus.get();
  20. },
  21. migrationCurrentStep() {
  22. return migrationCurrentStep.get();
  23. },
  24. migrationEstimatedTime() {
  25. return migrationEstimatedTime.get();
  26. },
  27. migrationSteps() {
  28. const steps = migrationSteps.get();
  29. const currentStep = migrationCurrentStep.get();
  30. return steps.map(step => ({
  31. ...step,
  32. isCurrentStep: step.name === currentStep
  33. }));
  34. }
  35. });
  36. Template.migrationProgress.onCreated(function() {
  37. // Subscribe to migration state changes
  38. this.autorun(() => {
  39. isMigrating.get();
  40. migrationProgress.get();
  41. migrationStatus.get();
  42. migrationCurrentStep.get();
  43. migrationEstimatedTime.get();
  44. migrationSteps.get();
  45. });
  46. });