FeatureOnboardingController.coffee 1.0 KB

1234567891011121314151617181920212223242526272829303132
  1. define [
  2. "base"
  3. ], (App) ->
  4. App.controller "FeatureOnboardingController", ($scope, settings, event_tracking) ->
  5. $scope.onboarding =
  6. innerStep: 1
  7. nSteps: 4
  8. $scope.dismiss = () ->
  9. event_tracking.sendMB "shown-track-changes-onboarding-2"
  10. $scope.$applyAsync(() -> $scope.ui.showCollabFeaturesOnboarding = false)
  11. $scope.gotoPrevStep = () ->
  12. if $scope.onboarding.innerStep > 1
  13. $scope.$applyAsync(() -> $scope.onboarding.innerStep--)
  14. $scope.gotoNextStep = () ->
  15. if $scope.onboarding.innerStep < 4
  16. $scope.$applyAsync(() -> $scope.onboarding.innerStep++)
  17. handleKeydown = (e) ->
  18. switch e.keyCode
  19. when 37 then $scope.gotoPrevStep() # left directional key
  20. when 39, 13 then $scope.gotoNextStep() # right directional key, enter
  21. when 27 then $scope.dismiss() # escape
  22. $(document).on "keydown", handleKeydown
  23. $(document).on "click", $scope.dismiss
  24. $scope.$on "$destroy", () ->
  25. $(document).off "keydown", handleKeydown
  26. $(document).off "click", $scope.dismiss