Sha256: 8c2d437e9a088e330d4fd6b713d97acdb281b1d4f38cca9920dc348a8682b7ca

Contents?: true

Size: 1.3 KB

Versions: 14

Compression:

Stored size: 1.3 KB

Contents

module Headmin
  module Filter
    class BaseView < ViewModel
      def menu_item_options
        keys = %i[name label]
        options = to_h.slice(*keys)
        default_menu_item_options.merge(options)
      end

      def filter_template_options
        keys = %i[name label]
        options = to_h.slice(*keys)
        default_filter_template_options.merge(options)
      end

      def filter_operator_options
        keys = %i[allowed_operators]
        options = to_h.slice(*keys)
        default_filter_operator_options.merge(options)
      end

      def filter_button_options
        keys = %i[name label display_values filter]
        options = to_h.slice(*keys)
        default_filter_button_options.merge(options)
      end

      def label
        @label || name.to_s.humanize
      end

      private

      def default_menu_item_options
        {
          name: nil,
          label: label
        }
      end

      def default_filter_template_options
        {
          name: nil,
          label: label
        }
      end

      def default_filter_operator_options
        {
          allowed_operators: []
        }
      end

      def default_filter_button_options
        {
          name: nil,
          label: label,
          display_values: [],
          filter: nil
        }
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
headmin-0.6.3 app/models/headmin/filter/base_view.rb
headmin-0.6.2 app/models/headmin/filter/base_view.rb
headmin-0.6.1 app/models/headmin/filter/base_view.rb
headmin-0.6.0 app/models/headmin/filter/base_view.rb
headmin-0.5.9 app/models/headmin/filter/base_view.rb
headmin-0.5.8 app/models/headmin/filter/base_view.rb
headmin-0.5.7 app/models/headmin/filter/base_view.rb
headmin-0.5.6 app/models/headmin/filter/base_view.rb
headmin-0.5.5 app/models/headmin/filter/base_view.rb
headmin-0.5.4 app/models/headmin/filter/base_view.rb
headmin-0.5.3 app/models/headmin/filter/base_view.rb
headmin-0.5.2 app/models/headmin/filter/base_view.rb
headmin-0.5.1 app/models/headmin/filter/base_view.rb
headmin-0.5.0 app/models/headmin/filter/base_view.rb