Class: Ruflet::UI::Controls::RufletComponents::AudioControl

Inherits:
Control
  • Object
show all
Defined in:
lib/ruflet_ui/ruflet/ui/controls/materials/audio_control.rb

Constant Summary collapse

TYPE =
"audio".freeze
WIRE =
"Audio".freeze

Constants inherited from Control

Control::HOST_EXPANDED_TYPES

Instance Attribute Summary

Attributes inherited from Control

#children, #id, #props, #runtime_page, #type, #wire_id

Instance Method Summary collapse

Methods inherited from Control

#emit, generate_id, #has_handler?, #on, #to_patch

Constructor Details

#initialize(id: nil, autoplay: nil, balance: nil, data: nil, key: nil, opacity: nil, playback_rate: nil, release_mode: nil, rtl: nil, src: nil, src_base64: nil, tooltip: nil, visible: nil, volume: nil, on_duration_change: nil, on_error: nil, on_loaded: nil, on_position_change: nil, on_seek_complete: nil, on_state_change: nil) ⇒ AudioControl

Returns a new instance of AudioControl.



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/ruflet_ui/ruflet/ui/controls/materials/audio_control.rb', line 11

def initialize(id: nil, autoplay: nil, balance: nil, data: nil, key: nil, opacity: nil, playback_rate: nil, release_mode: nil, rtl: nil, src: nil, src_base64: nil, tooltip: nil, visible: nil, volume: nil, on_duration_change: nil, on_error: nil, on_loaded: nil, on_position_change: nil, on_seek_complete: nil, on_state_change: nil)
  props = {}
  props[:autoplay] = autoplay unless autoplay.nil?
  props[:balance] = balance unless balance.nil?
  props[:data] = data unless data.nil?
  props[:key] = key unless key.nil?
  props[:opacity] = opacity unless opacity.nil?
  props[:playback_rate] = playback_rate unless playback_rate.nil?
  props[:release_mode] = release_mode unless release_mode.nil?
  props[:rtl] = rtl unless rtl.nil?
  props[:src] = src unless src.nil?
  props[:src_base64] = src_base64 unless src_base64.nil?
  props[:tooltip] = tooltip unless tooltip.nil?
  props[:visible] = visible unless visible.nil?
  props[:volume] = volume unless volume.nil?
  props[:on_duration_change] = on_duration_change unless on_duration_change.nil?
  props[:on_error] = on_error unless on_error.nil?
  props[:on_loaded] = on_loaded unless on_loaded.nil?
  props[:on_position_change] = on_position_change unless on_position_change.nil?
  props[:on_seek_complete] = on_seek_complete unless on_seek_complete.nil?
  props[:on_state_change] = on_state_change unless on_state_change.nil?
  super(type: TYPE, id: id, **props)
end

Instance Method Details

#get_current_position(timeout: 10, on_result: nil) ⇒ Object



35
36
37
# File 'lib/ruflet_ui/ruflet/ui/controls/materials/audio_control.rb', line 35

def get_current_position(timeout: 10, on_result: nil)
  runtime_page&.invoke(self, "get_current_position", timeout: timeout, on_result: on_result)
end

#get_duration(timeout: 10, on_result: nil) ⇒ Object



39
40
41
# File 'lib/ruflet_ui/ruflet/ui/controls/materials/audio_control.rb', line 39

def get_duration(timeout: 10, on_result: nil)
  runtime_page&.invoke(self, "get_duration", timeout: timeout, on_result: on_result)
end

#pause(timeout: 10, on_result: nil) ⇒ Object



43
44
45
# File 'lib/ruflet_ui/ruflet/ui/controls/materials/audio_control.rb', line 43

def pause(timeout: 10, on_result: nil)
  runtime_page&.invoke(self, "pause", timeout: timeout, on_result: on_result)
end

#play(position: nil, timeout: 10, on_result: nil) ⇒ Object



47
48
49
50
51
# File 'lib/ruflet_ui/ruflet/ui/controls/materials/audio_control.rb', line 47

def play(position: nil, timeout: 10, on_result: nil)
  args = {}
  args["position"] = position unless position.nil?
  runtime_page&.invoke(self, "play", args: args.empty? ? nil : args, timeout: timeout, on_result: on_result)
end

#release(timeout: 10, on_result: nil) ⇒ Object



53
54
55
# File 'lib/ruflet_ui/ruflet/ui/controls/materials/audio_control.rb', line 53

def release(timeout: 10, on_result: nil)
  runtime_page&.invoke(self, "release", timeout: timeout, on_result: on_result)
end

#resume(timeout: 10, on_result: nil) ⇒ Object



57
58
59
# File 'lib/ruflet_ui/ruflet/ui/controls/materials/audio_control.rb', line 57

def resume(timeout: 10, on_result: nil)
  runtime_page&.invoke(self, "resume", timeout: timeout, on_result: on_result)
end

#seek(position_milliseconds = nil, timeout: 10, on_result: nil) ⇒ Object



61
62
63
64
65
# File 'lib/ruflet_ui/ruflet/ui/controls/materials/audio_control.rb', line 61

def seek(position_milliseconds = nil, timeout: 10, on_result: nil)
  args = {}
  args["position"] = position_milliseconds unless position_milliseconds.nil?
  runtime_page&.invoke(self, "seek", args: args.empty? ? nil : args, timeout: timeout, on_result: on_result)
end