migrationProgress.js 1.2 KB

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