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