Sha256: f0511d3402497f57a2ce5f851ff2464c6998cbaa6813035c1b1ce90d24689a06

Contents?: true

Size: 1.32 KB

Versions: 8

Compression:

Stored size: 1.32 KB

Contents

# frozen_string_literal: true

module PgEngine
  module IndexHelper
    def encabezado(campo, options = {})
      campo = campo.to_s.sub(/_f\z/, '')
      campo = campo.to_s.sub(/_text\z/, '')
      clase = options[:clase] || @clase_modelo
      if options[:ordenable]
        field = controller.instance_variable_get(:@field)
        direction = controller.instance_variable_get(:@direction)
        uri = URI.parse(request.url)
        cgi = if uri.query.present?
                CGI.parse(uri.query)
              else
                {}
              end
        cgi['order_by'] = campo
        cgi['order_direction'] =
          if field.to_s == campo.to_s && direction.to_s == 'desc'
            'asc'
          else
            'desc'
          end

        symbol = if field.to_s == campo.to_s
                   if direction.to_s == 'asc'
                     '<i class="bi bi-sort-down-alt" />'
                   elsif direction.to_s == 'desc'
                     '<i class="bi bi-sort-up" />'
                   end
                 else
                   ''
                 end

        uri.query = cgi.transform_values { |b| (b.length == 1 ? b.first : b) }.to_query

        link_to(clase.human_attribute_name(campo), uri.to_s) + " #{symbol}".html_safe
      else
        clase.human_attribute_name(campo)
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
pg_rails-7.1.4 pg_engine/app/helpers/pg_engine/index_helper.rb
pg_rails-7.1.3 pg_engine/app/helpers/pg_engine/index_helper.rb
pg_rails-7.1.2 pg_engine/app/helpers/pg_engine/index_helper.rb
pg_rails-7.1.1.pre.6 pg_engine/app/helpers/pg_engine/index_helper.rb
pg_rails-7.1.1.pre.5 pg_engine/app/helpers/pg_engine/index_helper.rb
pg_rails-7.1.1.pre.4 pg_engine/app/helpers/pg_engine/index_helper.rb
pg_rails-7.1.1.pre.3 pg_engine/app/helpers/pg_engine/index_helper.rb
pg_rails-7.1.1.pre.2 pg_engine/app/helpers/pg_engine/index_helper.rb