class Daru::View::DataTable
Attributes
data[RW]
element_id[RW]
html_options[RW]
options[RW]
Public Class Methods
new(data=[], options={})
click to toggle source
@param data [Array, Daru::DataFrame, Daru::Vector] The data provided
by the user to generate the datatable
@param options [Hash] Various options provided by the user to
incorporate in datatable
@return Initializes the Daru::DataTables::DataTable object @example
vec = Daru::Vector.new([1, 2, 3], name: :a) opts = {searching: false} table = Daru::DataTables::DataTable.new(vec, opts)
# File lib/daru/data_tables/data_table.rb, line 15 def initialize(data=[], options={}) @element_id = options.delete(:element_id) unless options[:element_id].nil? @html_options = options.delete(:html_options) unless options[:html_options].nil? @html_options ||= default_html_options @data = data @options = options @options[:data] = to_data_array(data) row_number = 0 @options[:data].each do |array| array.unshift(row_number) row_number += 1 end end
Private Instance Methods
convert_to_array_of_array(rows)
click to toggle source
# File lib/daru/data_tables/data_table.rb, line 64 def convert_to_array_of_array(rows) if rows.all? { |row| row.class==Array } rows else tuples = [] rows.each { |row| tuples << [row] } tuples end end
default_html_options()
click to toggle source
# File lib/daru/data_tables/data_table.rb, line 31 def default_html_options table_opts = { class: 'display', cellspacing: '0', width: '100%' } html_options = { table_options: table_opts } html_options end
to_data_array(data_set)
click to toggle source
DataTables
accept the data as Array of array.
TODO : I didn't find use case for Daru::MultiIndex.
# File lib/daru/data_tables/data_table.rb, line 46 def to_data_array(data_set) case when data_set.is_a?(Daru::DataFrame) return ArgumentError unless data_set.index.is_a?(Daru::Index) rows = data_set.access_row_tuples_by_indexs(*data_set.index.to_a) convert_to_array_of_array(rows) when data_set.is_a?(Daru::Vector) rows = [] data_set.to_a.each { |a| rows << [a] } rows when data_set.is_a?(Array) convert_to_array_of_array(data_set) else raise ArgumentError, 'Invalid Argument Passed!' end end