Class: Ruflet::UI::Controls::RufletComponents::AnimatedSwitcherControl
- Inherits:
-
Control
- Object
- Control
- Ruflet::UI::Controls::RufletComponents::AnimatedSwitcherControl
- Defined in:
- lib/ruflet_ui/ruflet/ui/controls/shared/animatedswitcher_control.rb
Constant Summary collapse
- TYPE =
"animatedswitcher".freeze
- WIRE =
"AnimatedSwitcher".freeze
- KEYWORDS =
[:align, :animate_align, :animate_margin, :animate_offset, :animate_opacity, :animate_position, :animate_rotation, :animate_scale, :animate_size, :aspect_ratio, :badge, :bottom, :col, :content, :data, :disabled, :duration, :expand, :expand_loose, :height, :key, :left, :margin, :offset, :opacity, :reverse_duration, :right, :rotate, :rtl, :scale, :size_change_interval, :switch_in_curve, :switch_out_curve, :tooltip, :top, :transition, :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) ⇒ AnimatedSwitcherControl
constructor
A new instance of AnimatedSwitcherControl.
Methods inherited from Control
#attach_handler, #emit, generate_id, #has_handler?, #merge_props, #on, #to_patch
Constructor Details
#initialize(id: nil, **props) ⇒ AnimatedSwitcherControl
Returns a new instance of AnimatedSwitcherControl.
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 |
# File 'lib/ruflet_ui/ruflet/ui/controls/shared/animatedswitcher_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? 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] badge = props[:badge] bottom = props[:bottom] col = props[:col] content = props[:content] data = props[:data] disabled = props[:disabled] duration = props[:duration] = props[:expand] = props[:expand_loose] height = props[:height] key = props[:key] left = props[:left] margin = props[:margin] offset = props[:offset] opacity = props[:opacity] reverse_duration = props[:reverse_duration] right = props[:right] rotate = props[:rotate] rtl = props[:rtl] scale = props[:scale] size_change_interval = props[:size_change_interval] switch_in_curve = props[:switch_in_curve] switch_out_curve = props[:switch_out_curve] tooltip = props[:tooltip] top = props[:top] transition = props[:transition] visible = props[:visible] width = props[:width] on_animation_end = props[:on_animation_end] on_size_change = props[:on_size_change] raise ArgumentError, "animated_switcher requires content" if content.nil? duration = 1000 if duration.nil? reverse_duration = 1000 if reverse_duration.nil? switch_in_curve = "linear" if switch_in_curve.nil? switch_out_curve = "linear" if switch_out_curve.nil? transition = "fade" if transition.nil? props = {} 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[: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[:duration] = duration unless duration.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[:margin] = margin unless margin.nil? props[:offset] = offset unless offset.nil? props[:opacity] = opacity unless opacity.nil? props[:reverse_duration] = reverse_duration unless reverse_duration.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[:switch_in_curve] = switch_in_curve unless switch_in_curve.nil? props[:switch_out_curve] = switch_out_curve unless switch_out_curve.nil? props[:tooltip] = tooltip unless tooltip.nil? props[:top] = top unless top.nil? props[:transition] = transition unless transition.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 |