Class: Ruflet::UI::Services::RufletServicesComponents::PermissionHandlerControl

Inherits:
Control
  • Object
show all
Defined in:
lib/ruflet_ui/ruflet/ui/services/ruflet/permissionhandler_control.rb

Constant Summary collapse

TYPE =
"permissionhandler".freeze
WIRE =
"PermissionHandler".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, data: nil, key: nil) ⇒ PermissionHandlerControl

Returns a new instance of PermissionHandlerControl.



11
12
13
14
15
16
# File 'lib/ruflet_ui/ruflet/ui/services/ruflet/permissionhandler_control.rb', line 11

def initialize(id: nil, data: nil, key: nil)
  props = {}
  props[:data] = data unless data.nil?
  props[:key] = key unless key.nil?
  super(type: TYPE, id: id, **props)
end

Instance Method Details

#get_status(permission, timeout: 10, on_result: nil) ⇒ Object



18
19
20
21
22
23
24
25
# File 'lib/ruflet_ui/ruflet/ui/services/ruflet/permissionhandler_control.rb', line 18

def get_status(permission, timeout: 10, on_result: nil)
  invoke_permission_handler(
    "get_status",
    args: { "permission" => normalize_service_value(permission) },
    timeout: timeout,
    on_result: on_result
  )
end

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



36
37
38
# File 'lib/ruflet_ui/ruflet/ui/services/ruflet/permissionhandler_control.rb', line 36

def open_app_settings(timeout: 10, on_result: nil)
  invoke_permission_handler("open_app_settings", timeout: timeout, on_result: on_result)
end

#request(permission, timeout: 10, on_result: nil) ⇒ Object



27
28
29
30
31
32
33
34
# File 'lib/ruflet_ui/ruflet/ui/services/ruflet/permissionhandler_control.rb', line 27

def request(permission, timeout: 10, on_result: nil)
  invoke_permission_handler(
    "request",
    args: { "permission" => normalize_service_value(permission) },
    timeout: timeout,
    on_result: on_result
  )
end