Sha256: f8036e756c74f7e74355bece1d645704c4e0c9ca99d5e1a52f2528f0b7acb038

Contents?: true

Size: 1.87 KB

Versions: 2

Compression:

Stored size: 1.87 KB

Contents

# class UsersTable < Mensa::Base
#   definition do
#     model User
#
#     render do # default Standard components
#       html # Mensa::TableComponent::Default
#       json # Mensa::JsonRenderer::Default
#       xlsx # Mensa::XlsxRenderer::Default
#     end
#
#     column(:first_name) do
#       filter
#       # render do
#       #   html do |c|
#       #     link_to(edit_contact_path(c)) do
#       #       content_tag("i", nil, class: "fal fa-book")
#       #     end
#       #   end
#       # end
#     end
#     column :last_name do
#       filter
#     end
#     column :email
#     column :phone_number
#     column :state
#     column :city
#     column :created_at
#
#     order last_name: :asc
#     link { |user| edit_user_path(user) }
#
#     supports_views true
#     supports_filters true
#
#     action :activate do
#       link { |user| edit_user_path(user) }
#       icon "fa-check"
#     end
#     action :delete do
#       link { |user| edit_user_path(user) }
#       link_attributes "data-turbo-method" => "delete"
#       icon "fa-xmark"
#     end
#   end

module Mensa::Config
  class TableDsl
    include DslLogic

    option :model, default: -> { self.class.name.demodulize.to_s.classify.constantize rescue raise "No model found for #{self.class.name}" }
    option :column, dsl_hash: Mensa::Config::ColumnDsl
    option :link

    # Default sort order {column: direction, column: direction}
    option :order, default: {}

    # Order of columns in the table
    option :column_order

    # Actions
    option :action, dsl_hash: Mensa::Config::ActionDsl

    dsl_option :render, Mensa::Config::RenderDsl

    option :supports_views, default: false
    option :supports_filters, default: true
    option :show_header, default: true
    option :view_columns_sorting, default: true
    option :view_condensed, default: false
    option :view_condensed_toggle, default: true
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
mensa-0.1.12 app/tables/mensa/config/table_dsl.rb
mensa-0.1.10 app/tables/mensa/config/table_dsl.rb