Sha256: b4c2629017006d67ecd93fd70059027880ad0a9c3ffa0485dafebbf75cf81b8b
Contents?: true
Size: 1.29 KB
Versions: 2
Compression:
Stored size: 1.29 KB
Contents
# frozen_string_literal: true class FoxTail::DismissibleComponent < FoxTail::BaseComponent include FoxTail::Concerns::HasStimulusController has_option :remove, default: false, type: :boolean has_option :auto_close, default: false, type: :boolean has_option :delay, default: 3000 def before_render super html_attributes[:class] = classnames theme.apply(:root, self), html_class end def call content_tag :div, content, html_attributes end def stimulus_controller_options { remove: remove?, auto_close: auto_close?, delay: delay, dismissing_classes: theme.apply("root/dismissing", self), dismissed_classes: theme.apply("root/dismissed", self) } end class << self def stimulus_controller_name :dismissible end end class StimulusController < FoxTail::StimulusController def attributes(options = {}) attributes = super options attributes[:data][value_key(:remove)] = options[:remove] attributes[:data][value_key(:auto_close)] = options[:auto_close] attributes[:data][value_key(:delay)] = options[:delay] attributes[:data][classes_key(:dismissing)] = options[:dismissing_classes] attributes[:data][classes_key(:dismissed)] = options[:dismissed_classes] attributes end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
fox_tail-0.1.1 | app/components/fox_tail/dismissible_component.rb |
fox_tail-0.1.0 | app/components/fox_tail/dismissible_component.rb |