metaminded/tabulatr2

View on GitHub
CHANGELOG.md

Summary

Maintainability
Test Coverage
## 0.9.33

  * allow batch actions to return files, data or redirects

## 0.9.32

   * define default order by giving `default_order: '<sql order>'` option to `tabulatr_for`

## 0.9.21?
  * Rename `filter` option of `table_for` to `filters` to not conceal the
    `table_option` also named `filter`.

## 0.9.20
  * Add `filter` to DSL to define custom filters

    Example:
    ```
    filter :product_price_range do |relation, value|
      relation = relation.joins(:products)
      if value == 'low'
        relation.group("vendors.id").having('AVG(products.price) <= 100')
      elsif value == 'high'
        relation.group("vendors.id").having('AVG(products.price) > 100')
      end
    end
    ```
 * Add `current_user` local to Tabulatr::Data by default if available
   and not already present

## 0.9.17
 * If a batch action is executed without checking any rows it
   will be applied to all rows in the current filter

 * Add filter `enum_multiselect`

   Example:
   ```
   column :status, filter: :enum_multiselect
   ```

## 0.9.16
   Adds `paginate` as config option

## 0.9.15
 * Adds filter support for `enum`
   If it detects an enum it creates a dropdown filter with the possible enum
   values as options.

   fixes #35

 * Removes bootstrap2 CSS modifications

## 0.9.6
 * Adds localStorage persistency for tables. It's automatically turned on for paginated
   tables and you can adjust the setting in your template.

   Example:
   ```
   table_for Product, persistent: false
   ```

 * Added `font-awesome-rails`

 * The DSL now accepts a search block with two block variables. The
   second being the relation. The block needs to return an ActiveRecord::Relation,
   a Hash, a String, nil or an Array.

   Example:
   ```ruby
   search do |query, relation|
    relation.joins(:vendor).where(["vendors.name = ?", query])
   end
   ```

## 0.9.5
 * Better DOM scopes to enable working with multiple tables per page
 * Added `pagination_position` option to `table_for`.
   Possible values are `:top`, `:bottom` and `:both`.
 * Add 'mark all' checkbox in header row again
 * Added `html_class` option to `table_for`

## 0.9.4

 * Fixed date filters

 * Added missing translations to the install generator.

## 0.9.3

 * Tabulatr is now stopped from retrieving data in endless pagination mode when all data
   is already on the client.

 * Automatically determine appropriate filter types for the columns

 * Boolean filter is now a `select` field with `yes`, `no`, `both` options

 * User can pass in additional variables to the TabulatrData-Class via the
   `locals` argument.

  Example:
  ```
  tabulatr_for Product, locals: {current_user: current_user}
  ```

## 0.9.2

* Fixed bug which caused a reload of the website when clicking on the current
  table page again.

## 0.9.1

* Show spinner when data is loading. Type of spinner can be overriden via
  `Tabulatr.spinner` option. Possible values are :standard and :pacman.

  Example:
  ```
    Tabulatr.config do |tc|
      tc.spinner = :pacman
    end
  ```

* does not complain when no id is manually provided in TabulatrData

## 0.9

* Added `row` to the TabulatrData DSL to provide HTML attributes for the
  table_row of each record.

  Example:
  ```
  row do |record, row_config|
    if record.super_important?
      row_config[:class] = 'important';
    end
    row_config[:data] = {
      href: edit_user_path(record.id),
      vip: record.super_important?
    }
  end
  ```

* Added `id` of record as `data-id` of table row in static table if
  id is available.

* Added `columns` keyword argument to `table_for`

* Added `checkbox` to the TabulatrData DSL

## 0.8.9

* fix sorting, filtering, searching and batch_actions for tables whose class
  is camelCased.

## 0.8.8

* new Generator:
  `tabulatr:install` - now only for creating I18n file
  `tabulatr:table MODEL` - for creating MODELTabulatrData class

* get rid of `bootstrap_paginator` option and initializer

* get rid of `security_tokens`

## 0.8.7

* fixed bug in association call

* support namespaced rails models

## 0.8.5

* Added `order_by` option to `table_for` for default sorting.

## 0.8.3

* New table_column_options `cell_style` and `header_style`
  Example:
  ```
  column :name, cell_style: {:'background-color' => 'red'}, header_style: {:'font-weight' => 'bold'}
  ```

* Added `classes` attribute to `table_column_options`.
  Example:
  ```
  column :foobar, table_column_options: {classes: "mycssclass foobar-column"}
  ```

* Fixed prefiltering.
  Example:
  ```
  tabulatr_for(Product.where(price: 10))
  ```