lib/data-table.rb in data-table-1.0.1 vs lib/data-table.rb in data-table-2.0
- old
+ new
@@ -1,3 +1,62 @@
-require "data-table/version"
-require "data-table/data_table"
-require "data-table/data_table_column"
\ No newline at end of file
+# frozen_string_literal: true
+require 'data-table/version'
+require 'data-table/table'
+require 'data-table/column'
+require 'data-table/enum'
+
+module DataTable
+ def self.render(collection, &_blk)
+ # make a new table
+ t = DataTable::Table.new(collection)
+
+ # yield it to the block for configuration
+ yield t
+
+ # modify the data structure if necessary and do calculations
+ t.prepare_data
+
+ # render the table
+ t.render
+ end
+
+ def self.default_css_styles
+ <<-CSS_STYLE
+ .data_table {width: 100%; empty-cells: show}
+ .data_table td, .data_table th {padding: 3px}
+
+ .data_table caption {font-size: 2em; font-weight: bold}
+
+ .data_table thead th {background-color: #ddd; border-bottom: 1px solid #bbb;}
+
+ .data_table tbody tr.alt {background-color: #eee;}
+
+ .data_table .group_header th {text-align: left;}
+
+ .data_table .subtotal.index_0 td,
+ .data_table .parent_subtotal.index_0 td
+ {
+ border-top: 1px solid #000;
+ }
+
+ .data_table tfoot .total.index_0 td
+ {
+ border-top: 1px solid #000;
+ }
+
+ .empty_data_table {text-align: center; background-color: #ffc;}
+
+ /* Data Types */
+ .data_table .number, .data_table .money {text-align: right}
+ .data_table .text {text-align: left}
+
+ .level_1,
+ .level_2 {
+ text-align: left
+ }
+
+ .level_2 th {
+ padding-left: 35px;
+ }
+ CSS_STYLE
+ end
+end