Module: Turbo::Session::VisitableDelegateMethods
- Included in:
- Turbo::Session
- Defined in:
- lib/turbo/session/visitable_delegate_methods.rb
Instance Method Summary collapse
- #visitableDidRequestRefresh(visitable) ⇒ Object
- #visitableDidRequestReload(visitable) ⇒ Object
- #visitableViewDidAppear(visitable) ⇒ Object
- #visitableViewWillAppear(visitable) ⇒ Object
Instance Method Details
#visitableDidRequestRefresh(visitable) ⇒ Object
42 43 44 45 46 47 48 |
# File 'lib/turbo/session/visitable_delegate_methods.rb', line 42 def visitableDidRequestRefresh(visitable) if visitable == topmostVisitable @refreshing = true visitable.visitableWillRefresh reload end end |
#visitableDidRequestReload(visitable) ⇒ Object
36 37 38 39 40 |
# File 'lib/turbo/session/visitable_delegate_methods.rb', line 36 def visitableDidRequestReload(visitable) if visitable == topmostVisitable reload end end |
#visitableViewDidAppear(visitable) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/turbo/session/visitable_delegate_methods.rb', line 23 def visitableViewDidAppear(visitable) if currentVisit && visitable == currentVisit.visitable # Appearing after successful navigation if currentVisit.state.to_sym != :failed activateVisitable(visitable) end elsif topmostVisit && visitable == topmostVisit.visitable && topmostVisit.state == :completed # Reappearing after canceled navigation visitVisitable(visitable, action: :restore) end end |
#visitableViewWillAppear(visitable) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/turbo/session/visitable_delegate_methods.rb', line 4 def visitableViewWillAppear(visitable) return unless topmostVisit && currentVisit if visitable == topmostVisit.visitable && visitable.visitableViewController.isMovingToParentViewController # Back swipe gesture canceled if topmostVisit.state.to_sym == :completed currentVisit.cancel else visitVisitable(visitable, action: :advance) end elsif visitable == currentVisit.visitable && currentVisit.state.to_sym == :started # Navigating forward - complete navigation early elsif visitable != topmostVisit.visitable # Navigating backward visitVisitable(visitable, action: :restore) end end |