Class: Ruflet::UI::Controls::RufletComponents::CupertinoAlertDialogControl

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

Constant Summary collapse

TYPE =
"cupertinoalertdialog".freeze
WIRE =
"CupertinoAlertDialog".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, actions: nil, adaptive: nil, badge: nil, barrier_color: nil, col: nil, content: nil, data: nil, disabled: nil, expand: nil, expand_loose: nil, inset_animation: nil, key: nil, modal: nil, opacity: nil, open: nil, rtl: nil, title: nil, tooltip: nil, visible: nil, on_dismiss: nil) ⇒ CupertinoAlertDialogControl

Returns a new instance of CupertinoAlertDialogControl.



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinoalertdialog_control.rb', line 11

def initialize(id: nil, actions: nil, adaptive: nil, badge: nil, barrier_color: nil, col: nil, content: nil, data: nil, disabled: nil, expand: nil, expand_loose: nil, inset_animation: nil, key: nil, modal: nil, opacity: nil, open: nil, rtl: nil, title: nil, tooltip: nil, visible: nil, on_dismiss: nil)
  actions = [] if actions.nil?
  inset_animation = { "duration" => 100, "curve" => "decelerate" } if inset_animation.nil?
  modal = false if modal.nil?

  visible_actions = Array(actions).reject { |action| hidden_control?(action) }
  if visible_actions.empty? && hidden_or_nil?(title) && hidden_or_nil?(content)
    raise ArgumentError, "cupertino_alert_dialog requires title, content, or actions"
  end

  props = {}
  props[:actions] = actions unless actions.nil?
  props[:adaptive] = adaptive unless adaptive.nil?
  props[:badge] = badge unless badge.nil?
  props[:barrier_color] = barrier_color unless barrier_color.nil?
  props[:col] = col unless col.nil?
  props[:content] = content unless content.nil?
  props[:data] = data unless data.nil?
  props[:disabled] = disabled unless disabled.nil?
  props[:expand] = expand unless expand.nil?
  props[:expand_loose] = expand_loose unless expand_loose.nil?
  props[:inset_animation] = inset_animation unless inset_animation.nil?
  props[:key] = key unless key.nil?
  props[:modal] = modal unless modal.nil?
  props[:opacity] = opacity unless opacity.nil?
  props[:open] = open unless open.nil?
  props[:rtl] = rtl unless rtl.nil?
  props[:title] = title unless title.nil?
  props[:tooltip] = tooltip unless tooltip.nil?
  props[:visible] = visible unless visible.nil?
  props[:on_dismiss] = on_dismiss unless on_dismiss.nil?
  super(type: TYPE, id: id, **props)
end