Class: Ruflet::UI::Controls::RufletComponents::SafeAreaControl
- Defined in:
- lib/ruflet_ui/ruflet/ui/controls/shared/safearea_control.rb
Constant Summary collapse
- TYPE =
"safearea".freeze
- WIRE =
"SafeArea".freeze
- KEYWORDS =
[:adaptive, :align, :animate_align, :animate_margin, :animate_offset, :animate_opacity, :animate_position, :animate_rotation, :animate_scale, :animate_size, :aspect_ratio, :avoid_intrusions_bottom, :avoid_intrusions_left, :avoid_intrusions_right, :avoid_intrusions_top, :badge, :bottom, :col, :content, :data, :disabled, :expand, :expand_loose, :height, :key, :left, :maintain_bottom_view_padding, :margin, :minimum_padding, :offset, :opacity, :right, :rotate, :rtl, :scale, :size_change_interval, :tooltip, :top, :visible, :width, :on_animation_end, :on_size_change].freeze
Constants inherited from Control
Control::HOST_EXPANDED_TYPES, Control::SCHEMA_METADATA_CACHE
Instance Attribute Summary
Attributes inherited from Control
#children, #id, #props, #runtime_page, #type, #wire_id
Instance Method Summary collapse
-
#initialize(id: nil, **props) ⇒ SafeAreaControl
constructor
A new instance of SafeAreaControl.
Methods inherited from Control
#attach_handler, #emit, generate_id, #has_handler?, #merge_props, #on, #to_patch
Constructor Details
#initialize(id: nil, **props) ⇒ SafeAreaControl
Returns a new instance of SafeAreaControl.
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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 |
# File 'lib/ruflet_ui/ruflet/ui/controls/shared/safearea_control.rb', line 13 def initialize(id: nil, **props) unknown = props.keys.reject { |key| KEYWORDS.include?(key) } raise ArgumentError, "unknown keywords: #{unknown.join(', ')}" unless unknown.empty? adaptive = props[:adaptive] align = props[:align] animate_align = props[:animate_align] animate_margin = props[:animate_margin] animate_offset = props[:animate_offset] animate_opacity = props[:animate_opacity] animate_position = props[:animate_position] animate_rotation = props[:animate_rotation] animate_scale = props[:animate_scale] animate_size = props[:animate_size] aspect_ratio = props[:aspect_ratio] avoid_intrusions_bottom = props[:avoid_intrusions_bottom] avoid_intrusions_left = props[:avoid_intrusions_left] avoid_intrusions_right = props[:avoid_intrusions_right] avoid_intrusions_top = props[:avoid_intrusions_top] badge = props[:badge] bottom = props[:bottom] col = props[:col] content = props[:content] data = props[:data] disabled = props[:disabled] = props[:expand] = props[:expand_loose] height = props[:height] key = props[:key] left = props[:left] maintain_bottom_view_padding = props[:maintain_bottom_view_padding] margin = props[:margin] minimum_padding = props[:minimum_padding] offset = props[:offset] opacity = props[:opacity] right = props[:right] rotate = props[:rotate] rtl = props[:rtl] scale = props[:scale] size_change_interval = props[:size_change_interval] tooltip = props[:tooltip] top = props[:top] visible = props[:visible] width = props[:width] on_animation_end = props[:on_animation_end] on_size_change = props[:on_size_change] raise ArgumentError, "safe_area requires content" if content.nil? avoid_intrusions_bottom = true if avoid_intrusions_bottom.nil? avoid_intrusions_left = true if avoid_intrusions_left.nil? avoid_intrusions_right = true if avoid_intrusions_right.nil? avoid_intrusions_top = true if avoid_intrusions_top.nil? maintain_bottom_view_padding = false if maintain_bottom_view_padding.nil? minimum_padding = 0 if minimum_padding.nil? props = {} props[:adaptive] = adaptive unless adaptive.nil? props[:align] = align unless align.nil? props[:animate_align] = animate_align unless animate_align.nil? props[:animate_margin] = animate_margin unless animate_margin.nil? props[:animate_offset] = animate_offset unless animate_offset.nil? props[:animate_opacity] = animate_opacity unless animate_opacity.nil? props[:animate_position] = animate_position unless animate_position.nil? props[:animate_rotation] = animate_rotation unless animate_rotation.nil? props[:animate_scale] = animate_scale unless animate_scale.nil? props[:animate_size] = animate_size unless animate_size.nil? props[:aspect_ratio] = aspect_ratio unless aspect_ratio.nil? props[:avoid_intrusions_bottom] = avoid_intrusions_bottom unless avoid_intrusions_bottom.nil? props[:avoid_intrusions_left] = avoid_intrusions_left unless avoid_intrusions_left.nil? props[:avoid_intrusions_right] = avoid_intrusions_right unless avoid_intrusions_right.nil? props[:avoid_intrusions_top] = avoid_intrusions_top unless avoid_intrusions_top.nil? props[:badge] = badge unless badge.nil? props[:bottom] = bottom unless bottom.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] = unless .nil? props[:expand_loose] = unless .nil? props[:height] = height unless height.nil? props[:key] = key unless key.nil? props[:left] = left unless left.nil? props[:maintain_bottom_view_padding] = maintain_bottom_view_padding unless maintain_bottom_view_padding.nil? props[:margin] = margin unless margin.nil? props[:minimum_padding] = minimum_padding unless minimum_padding.nil? props[:offset] = offset unless offset.nil? props[:opacity] = opacity unless opacity.nil? props[:right] = right unless right.nil? props[:rotate] = rotate unless rotate.nil? props[:rtl] = rtl unless rtl.nil? props[:scale] = scale unless scale.nil? props[:size_change_interval] = size_change_interval unless size_change_interval.nil? props[:tooltip] = tooltip unless tooltip.nil? props[:top] = top unless top.nil? props[:visible] = visible unless visible.nil? props[:width] = width unless width.nil? props[:on_animation_end] = on_animation_end unless on_animation_end.nil? props[:on_size_change] = on_size_change unless on_size_change.nil? super(type: TYPE, id: id, **props) end |