module MotionHybrid::Bridgeable
Public Instance Methods
on_appear()
click to toggle source
Calls superclass method
# File lib/motion-hybrid/concerns/bridgeable.rb, line 4 def on_appear super @appeared = true set_titles if dom_loaded? refresher.endRefreshing if refresher #avoids stuck animation end
Private Instance Methods
appeared?()
click to toggle source
# File lib/motion-hybrid/concerns/bridgeable.rb, line 30 def appeared? !!@appeared end
dom_loaded()
click to toggle source
# File lib/motion-hybrid/concerns/bridgeable.rb, line 17 def dom_loaded PM.logger.debug "#{self} dom_loaded" set_titles if appeared? set_buttons set_refresher render_flash @dom_loaded = true end
dom_loaded?()
click to toggle source
# File lib/motion-hybrid/concerns/bridgeable.rb, line 26 def dom_loaded? !!@dom_loaded end
load_bridge()
click to toggle source
# File lib/motion-hybrid/concerns/bridgeable.rb, line 13 def load_bridge self.bridge = Bridge.new(self) end
remap_index(index, options)
click to toggle source
iOS button order and actual order of buttons on screen are not the same
# File lib/motion-hybrid/concerns/bridgeable.rb, line 72 def remap_index(index, options) if index == options.length - 1 0 else index + 1 end end
render_flash()
click to toggle source
# File lib/motion-hybrid/concerns/bridgeable.rb, line 96 def render_flash Flash.new(bridge.flash.title, subtitle: bridge.flash.subtitle).show if bridge.flash end
set_refresher()
click to toggle source
# File lib/motion-hybrid/concerns/bridgeable.rb, line 88 def set_refresher if bridge.refreshable && !refresher self.refresher = UIRefreshControl.alloc.init refresher.addTarget(self, action: 'reload', forControlEvents: UIControlEventValueChanged) webview.scrollView.addSubview(refresher) end end
set_titles()
click to toggle source
# File lib/motion-hybrid/concerns/bridgeable.rb, line 34 def set_titles if bridge.subtitle.present? self.navigationItem.titleView = MultiLineHeader.new(bridge.title, bridge.subtitle) else self.title = bridge.title self.navigationItem.titleView = nil end end