Module: MotionPrime::ScreenIndicatorsMixin

Included in:
Screen
Defined in:
motion-prime/screens/extensions/_indicators_mixin.rb

Instance Method Summary collapse

Instance Method Details

#hide_activity_indicator(render_target = nil) ⇒ Object



17
18
19
20
21
# File 'motion-prime/screens/extensions/_indicators_mixin.rb', line 17

def hide_activity_indicator(render_target = nil)
  @activity_indicator_view ||= {}
  render_target ||= view
  @activity_indicator_view[render_target.object_id].try(:stopAnimating)
end

#hide_progress_indicator(animated = true) ⇒ Object



38
39
40
# File 'motion-prime/screens/extensions/_indicators_mixin.rb', line 38

def hide_progress_indicator(animated = true)
  @progress_indicator_view.try(:hide, animated)
end

#hide_spinnerObject



62
63
64
65
# File 'motion-prime/screens/extensions/_indicators_mixin.rb', line 62

def hide_spinner
  spinner_element.hide
  spinner_message_element.hide
end

#show_activity_indicator(render_target = nil, options = {}) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
# File 'motion-prime/screens/extensions/_indicators_mixin.rb', line 3

def show_activity_indicator(render_target = nil, options = {})
  render_target ||= view
  @activity_indicator_view ||= {}
  indicator = @activity_indicator_view[render_target.object_id] ||= begin
    indicator = UIActivityIndicatorView.gray
    render_target.addSubview(indicator)
    indicator
  end

  center = options[:center] || {}
  indicator.center = CGPointMake(center.fetch(:x, render_target.center.x), center.fetch(:y, render_target.center.y))
  indicator.startAnimating
end

#show_notice(message, time = 1.0, type = :notice) ⇒ Object



42
43
44
45
46
47
48
49
50
51
# File 'motion-prime/screens/extensions/_indicators_mixin.rb', line 42

def show_notice(message, time = 1.0, type = :notice)
  hud_type = case type.to_s
  when 'alert' then MBAlertViewHUDTypeExclamationMark
  else MBAlertViewHUDTypeCheckmark
  end

  unless time === false
    MBHUDView.hudWithBody(message, type: hud_type, hidesAfter: time, show: true)
  end
end

#show_progress_indicator(text = nil, options = {}) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'motion-prime/screens/extensions/_indicators_mixin.rb', line 23

def show_progress_indicator(text = nil, options = {})
  options[:styles] ||= []
  options[:styles] << :base_progress_indicator
  options[:styles] << :"#{self.class_name_without_kvo.underscore.gsub('_screen', '')}_indicator"
  options[:details_label_text] = text

  if @progress_indicator_view.nil?
    options[:add_to_view] ||= self.view
    @progress_indicator_view = self.progress_hud(options).view
  else
    self.update_options_for(@progress_indicator_view, options.except(:add_to_view))
    @progress_indicator_view.show options.has_key?(:animated) ? options[:animatetd] : true
  end
end

#show_spinner(message = nil) ⇒ Object



53
54
55
56
57
58
59
60
# File 'motion-prime/screens/extensions/_indicators_mixin.rb', line 53

def show_spinner(message = nil)
  if message.present?
    spinner_message_element.set_text(message)
    spinner_message_element.show
  end
  spinner_element.show
  spinner_element.view.init_animation
end