lib/tabulatr/tabulatr/settings.rb in tabulatr-0.0.2 vs lib/tabulatr/tabulatr/settings.rb in tabulatr-0.0.3
- old
+ new
@@ -26,155 +26,155 @@
class Tabulatr
# Hash keeping the defaults for the table options, may be overriden in the
# table_for call
TABLE_OPTIONS = WhinyHash.new({ # WhinyHash.new({
- remote: false, # add data-remote="true" to form
+ :remote => false, # add data-remote="true" to form
- form_class: 'tabulatr_form', # class of the overall form
- table_class: 'tabulatr_table', # class for the actual data table
- sortable_class: 'sortable', # class for the header of a sortable column
- sorting_asc_class: 'sorting-asc', # class for the currently asc sorting column
- sorting_desc_class: 'sorting-desc', # class for the currently desc sorting column
- page_left_class: 'page-left', # class for the page left button
- page_right_class: 'page-right', # class for the page right button
- page_no_class: 'page-no', # class for the page no <input>
- control_div_class_before: 'table-controls', # class of the upper div containing the paging and batch action controls
- control_div_class_after: 'table-controls', # class of the lower div containing the paging and batch action controls
- paginator_div_class: 'paginator', # class of the div containing the paging controls
- batch_actions_div_class: 'batch-actions', # class of the div containing the batch action controls
- select_controls_div_class: 'check-controls', # class of the div containing the check controls
- submit_class: 'submit-table', # class of submit button
- pagesize_select_class: 'pagesize_select', # class of the pagesize select element
- select_all_class: 'select-btn', # class of the select all button
- select_none_class: 'select-btn', # class of the select none button
- select_visible_class: 'select-btn', # class of the select visible button
- unselect_visible_class: 'select-btn', # class of the unselect visible button
- select_filtered_class: 'select-btn', # class of the select filtered button
- unselect_filtered_class: 'select-btn', # class of the unselect filteredbutton
- info_text_class: 'info-text', # class of the info text div
+ :form_class => 'tabulatr_form', # class of the overall form
+ :table_class => 'tabulatr_table', # class for the actual data table
+ :sortable_class => 'sortable', # class for the header of a sortable column
+ :sorting_asc_class => 'sorting-asc', # class for the currently asc sorting column
+ :sorting_desc_class => 'sorting-desc', # class for the currently desc sorting column
+ :page_left_class => 'page-left', # class for the page left button
+ :page_right_class => 'page-right', # class for the page right button
+ :page_no_class => 'page-no', # class for the page no <input>
+ :control_div_class_before => 'table-controls', # class of the upper div containing the paging and batch action controls
+ :control_div_class_after => 'table-controls', # class of the lower div containing the paging and batch action controls
+ :paginator_div_class => 'paginator', # class of the div containing the paging controls
+ :batch_actions_div_class => 'batch-actions', # class of the div containing the batch action controls
+ :select_controls_div_class => 'check-controls', # class of the div containing the check controls
+ :submit_class => 'submit-table', # class of submit button
+ :pagesize_select_class => 'pagesize_select', # class of the pagesize select element
+ :select_all_class => 'select-btn', # class of the select all button
+ :select_none_class => 'select-btn', # class of the select none button
+ :select_visible_class => 'select-btn', # class of the select visible button
+ :unselect_visible_class => 'select-btn', # class of the unselect visible button
+ :select_filtered_class => 'select-btn', # class of the select filtered button
+ :unselect_filtered_class => 'select-btn', # class of the unselect filteredbutton
+ :info_text_class => 'info-text', # class of the info text div
- batch_actions_label: 'Batch Action: ', # Text to show in front of the batch action select
- batch_actions_type: :select, # :select or :button depending on the kind of input you want
- batch_actions_class: 'batch-action-inputs', # class to apply on the batch action input elements
- submit_label: 'Apply', # Text on the submit button
- select_all_label: 'Select All', # Text on the select all button
- select_none_label: 'Select None', # Text on the select none button
- select_visible_label: 'Select visible', # Text on the select visible button
- unselect_visible_label: 'Unselect visible', # Text on the unselect visible button
- select_filtered_label: 'Select filtered', # Text on the select filtered button
- unselect_filtered_label: 'Unselect filtered',# Text on the unselect filtered button
- info_text: "Showing %1$d, total %2$d, selected %3$d, matching %4$d",
+ :batch_actions_label => 'Batch :Action => ', # Text to show in front of the batch action select
+ :batch_actions_type => :select, # :select or :button depending on the kind of input you want
+ :batch_actions_class => 'batch-action-inputs', # class to apply on the batch action input elements
+ :submit_label => 'Apply', # Text on the submit button
+ :select_all_label => 'Select All', # Text on the select all button
+ :select_none_label => 'Select None', # Text on the select none button
+ :select_visible_label => 'Select visible', # Text on the select visible button
+ :unselect_visible_label => 'Unselect visible', # Text on the unselect visible button
+ :select_filtered_label => 'Select filtered', # Text on the select filtered button
+ :unselect_filtered_label => 'Unselect filtered',# Text on the unselect filtered button
+ :info_text => "Showing %1$d, total %2$d, selected %3$d, matching %4$d",
# which controls to be rendered above and below the tabel and in which order
- before_table_controls: [:submit, :paginator, :batch_actions, :select_controls, :info_text],
- after_table_controls: [],
+ :before_table_controls => [:submit, :paginator, :batch_actions, :select_controls, :info_text],
+ :after_table_controls => [],
# whih selecting controls to render in which order
- select_controls: [:select_all, :select_none, :select_visible, :unselect_visible,
+ :select_controls => [:select_all, :select_none, :select_visible, :unselect_visible,
:select_filtered, :unselect_filtered],
- image_path_prefix: '/images/tabulatr/',
- pager_left_button: 'left.gif',
- pager_left_button_inactive: 'left_off.gif',
- pager_right_button: 'right.gif',
- pager_right_button_inactive: 'right_off.gif',
- sort_up_button: 'up.gif',
- sort_up_button_inactive: 'up_off.gif',
- sort_down_button: 'down.gif',
- sort_down_button_inactive: 'down_off.gif',
+ :image_path_prefix => '/images/tabulatr/',
+ :pager_left_button => 'left.gif',
+ :pager_left_button_inactive => 'left_off.gif',
+ :pager_right_button => 'right.gif',
+ :pager_right_button_inactive => 'right_off.gif',
+ :sort_up_button => 'up.gif',
+ :sort_up_button_inactive => 'up_off.gif',
+ :sort_down_button => 'down.gif',
+ :sort_down_button_inactive => 'down_off.gif',
- make_form: true, # whether or not to wrap the whole table (incl. controls) in a form
- table_html: false, # a hash with html attributes for the table
- row_html: false, # a hash with html attributes for the normal trs
- header_html: false, # a hash with html attributes for the header trs
- filter_html: false, # a hash with html attributes for the filter trs
- filter: true, # false for no filter row at all
- paginate: true, # true to show paginator
- sortable: true, # true to allow sorting (can be specified for every sortable column)
- selectable: true, # true to render "select all", "select none" and the like
- action: nil, # target action of the wrapping form if applicable
- batch_actions: false, # name: value hash of batch action stuff
- translate: false, # call t() for all 'labels' and stuff, possible values are true/:translate or :localize
- row_classes: ['odd', 'even'] # class for the trs
+ :make_form => true, # whether or not to wrap the whole table (incl. controls) in a form
+ :table_html => false, # a hash with html attributes for the table
+ :row_html => false, # a hash with html attributes for the normal trs
+ :header_html => false, # a hash with html attributes for the header trs
+ :filter_html => false, # a hash with html attributes for the filter trs
+ :filter => true, # false for no filter row at all
+ :paginate => true, # true to show paginator
+ :sortable => true, # true to allow sorting (can be specified for every sortable column)
+ :selectable => true, # true to render "select all", "select none" and the like
+ :action => nil, # target action of the wrapping form if applicable
+ :batch_actions => false, # :name => value hash of batch action stuff
+ :translate => false, # call t() for all 'labels' and stuff, possible values are true/:translate or :localize
+ :row_classes => ['odd', 'even'] # class for the trs
})
# these settings are considered constant for the whole application, can not be overridden
# on a per-table basis.
# That's necessary to allow find_for_table to work properly
TABLE_FORM_OPTIONS = WhinyHash.new({
- batch_action_name: 'batch_action', # name of the batch action param
- sort_by_key: 'sort_by_key', # name of key which to search, format is 'id asc'
- pagination_postfix: '_pagination', # name of the param w/ the pagination infos
- filter_postfix: '_filter', # postfix for name of the filter in the params hash: xxx_filter
- sort_postfix: '_sort', # postfix for name of the filter in the params hash: xxx_filter
- checked_postfix: '_checked', # postfix for name of the checked in the params hash: xxx_filter
- associations_filter: '__association', # name of the associations in the filter hash
- method: 'post', # http method for that form if applicable
- batch_postfix: '_batch', # postfix for name of the batch action select
- checked_separator: ',' # symbol to separate the checked ids
+ :batch_action_name => 'batch_action', # name of the batch action param
+ :sort_by_key => 'sort_by_key', # name of key which to search, format is 'id asc'
+ :pagination_postfix => '_pagination', # name of the param w/ the pagination infos
+ :filter_postfix => '_filter', # postfix for name of the filter in the params :hash => xxx_filter
+ :sort_postfix => '_sort', # postfix for name of the filter in the params :hash => xxx_filter
+ :checked_postfix => '_checked', # postfix for name of the checked in the params :hash => xxx_filter
+ :associations_filter => '__association', # name of the associations in the filter hash
+ :method => 'post', # http method for that form if applicable
+ :batch_postfix => '_batch', # postfix for name of the batch action select
+ :checked_separator => ',' # symbol to separate the checked ids
})
# these settings are considered constant for the whole application, can not be overridden
# on a per-table basis.
# That's necessary to allow find_for_table to work properly
PAGINATE_OPTIONS = ActiveSupport::HashWithIndifferentAccess.new({
- page: 1,
- pagesize: 10,
- pagesizes: [10, 20, 50]
+ :page => 1,
+ :pagesize => 10,
+ :pagesizes => [10, 20, 50]
})
# Hash keeping the defaults for the column options
COLUMN_OPTIONS = ActiveSupport::HashWithIndifferentAccess.new({
- header: false, # a string to write into the header cell
- width: false, # the width of the cell
- align: false, # horizontal alignment
- valign: false, # vertical alignment
- wrap: true, # wraps
- type: :string, # :integer, :date
- td_html: false, # a hash with html attributes for the cells
- th_html: false, # a hash with html attributes for the header cell
- filter_html: false, # a hash with html attributes for the filter cell
- filter: true, # false for no filter field,
+ :header => false, # a string to write into the header cell
+ :width => false, # the width of the cell
+ :align => false, # horizontal alignment
+ :valign => false, # vertical alignment
+ :wrap => true, # wraps
+ :type => :string, # :integer, :date
+ :td_html => false, # a hash with html attributes for the cells
+ :th_html => false, # a hash with html attributes for the header cell
+ :filter_html => false, # a hash with html attributes for the filter cell
+ :filter => true, # false for no filter field,
# container for options_for_select
# String from options_from_collection_for_select or the like
# :range for range spec
# :checkbox for a 0/1 valued checkbox
- checkbox_value: '1', # value if checkbox is checked
- checkbox_label: '', # text behind the checkbox
- filter_width: '97%', # width of the filter <input>
- range_filter_symbol: '–', # put between the <inputs> of the range filter
- format: false, # a sprintf-string or a proc to do special formatting
- method: false, # if you want to get the column by a different method than its name
- link: false, # proc or symbol to make the content a link
- join_symbol: ', ', # symbol used to join the elements of 'many' associations
- sortable: true # if set, sorting-stuff is added to the header cell
+ :checkbox_value => '1', # value if checkbox is checked
+ :checkbox_label => '', # text behind the checkbox
+ :filter_width => '97%', # width of the filter <input>
+ :range_filter_symbol => '–', # put between the <inputs> of the range filter
+ :format => false, # a sprintf-string or a proc to do special formatting
+ :method => false, # if you want to get the column by a different method than its name
+ :link => false, # proc or symbol to make the content a link
+ :join_symbol => ', ', # symbol used to join the elements of 'many' associations
+ :sortable => true # if set, sorting-stuff is added to the header cell
})
# these settings are considered constant for the whole application, can not be overridden
# on a per-table basis.
# That's necessary to allow find_for_table to work properly
FINDER_INJECT_OPTIONS = WhinyHash.new({
- pagination: :__pagination,
- filters: :__filters,
- classname: :__classname,
- sorting: :__sorting,
- checked: :__checked,
- store_data: :__store_data
+ :pagination => :__pagination,
+ :filters => :__filters,
+ :classname => :__classname,
+ :sorting => :__sorting,
+ :checked => :__checked,
+ :store_data => :__store_data
})
# defaults for the find_for_table
FINDER_OPTIONS = WhinyHash.new({
- default_order: false,
- default_pagesize: false,
- precondition: false,
- store_data: false
+ :default_order => false,
+ :default_pagesize => false,
+ :precondition => false,
+ :store_data => false
})
# Stupid hack
SQL_OPTIONS = WhinyHash.new({
- like: 'LIKE'
+ :like => 'LIKE'
})
def self.finder_inject_options(n=nil)
FINDER_INJECT_OPTIONS.merge!(n) if n
FINDER_INJECT_OPTIONS