Sha256: 2b905d89a154e80840b571100c02de58d36f0114fb1a91277fb76f6443f6ab25

Contents?: true

Size: 1.16 KB

Versions: 38

Compression:

Stored size: 1.16 KB

Contents

module KlassExtension

  def join_classes *classes
    UiBibz::Utils::Screwdriver.join_classes classes
  end

  def exclude_classes arr, *classes
    UiBibz::Utils::Screwdriver.exclude_classes arr, classes
  end

  # Override this method to add a status class
  def status
  end

  def exclude_classes_in_html_options *classes
    html_options[:class] = exclude_classes html_options[:class], classes
  end

  private

  def initialize_component_html_classes
    cls = [
      original_html_options,
      state,
      status,
      effect,
      options_classes,
      connect,
      component_html_classes
    ]
    html_options[:class] = join_classes(cls)
  end

  def original_html_options
    transform_classes_to_array(html_options[:class])
  end

  def effect
    options[:effect]
  end

  def options_classes
    transform_classes_to_array(options[:class])
  end

  def state
    options[:state] unless options[:state].nil?
  end

  def connect
    "ui-bibz-connect" unless options[:connect].nil?
  end

  def transform_classes_to_array classes
    UiBibz::Utils::Screwdriver.uniq_word_in_string(classes.kind_of?(String) ? classes : classes.join(' ')) unless classes.nil?
  end

end

Version data entries

38 entries across 38 versions & 1 rubygems

Version Path
ui_bibz-2.4.0 lib/ui_bibz/ui/extensions/core/component/klass_extension.rb
ui_bibz-2.3.15 lib/ui_bibz/ui/extensions/core/component/klass_extension.rb
ui_bibz-2.3.14 lib/ui_bibz/ui/extensions/core/component/klass_extension.rb
ui_bibz-2.3.13 lib/ui_bibz/ui/extensions/core/component/klass_extension.rb
ui_bibz-2.3.12 lib/ui_bibz/ui/extensions/core/component/klass_extension.rb
ui_bibz-2.3.11 lib/ui_bibz/ui/extensions/core/component/klass_extension.rb
ui_bibz-2.3.10 lib/ui_bibz/ui/extensions/core/component/klass_extension.rb
ui_bibz-2.3.9 lib/ui_bibz/ui/extensions/core/component/klass_extension.rb
ui_bibz-2.3.8 lib/ui_bibz/ui/extensions/core/component/klass_extension.rb
ui_bibz-2.3.7 lib/ui_bibz/ui/extensions/core/component/klass_extension.rb
ui_bibz-2.3.6 lib/ui_bibz/ui/extensions/core/component/klass_extension.rb
ui_bibz-2.3.5 lib/ui_bibz/ui/extensions/core/component/klass_extension.rb
ui_bibz-2.3.4 lib/ui_bibz/ui/extensions/core/component/klass_extension.rb
ui_bibz-2.3.3 lib/ui_bibz/ui/extensions/core/component/klass_extension.rb
ui_bibz-2.3.2 lib/ui_bibz/ui/extensions/core/component/klass_extension.rb
ui_bibz-2.3.1 lib/ui_bibz/ui/extensions/core/component/klass_extension.rb
ui_bibz-2.3.0 lib/ui_bibz/ui/extensions/core/component/klass_extension.rb
ui_bibz-2.2.2 lib/ui_bibz/ui/extensions/core/component/klass_extension.rb
ui_bibz-2.2.1 lib/ui_bibz/ui/extensions/core/component/klass_extension.rb
ui_bibz-2.2.0 lib/ui_bibz/ui/extensions/core/component/klass_extension.rb