easy_data_tables 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f9f6075dc6b932de890fbe28050a1b6d3b417d5576e601ccb97b695cedffcc84
4
- data.tar.gz: '09d60e1ba17eac10c7760bf908912d37b56cdda590543a9075938d55f8e1cc10'
3
+ metadata.gz: 5627113db6291d15f2cd3c24e60d9f8fbdc4fd010fcb98fb78a41d4f583a353f
4
+ data.tar.gz: be1c52504a7902993e9468e0a410354314e83789e0e306e3973c2f94f2fb215d
5
5
  SHA512:
6
- metadata.gz: 67d03e29ff2f7725c8da4492f75ad4a6d3be78de093fe1e54fc1fc71775614e5075b2c731ffda8b835cfc515f6b0590a8e252952612fbd4cf97148bd3dce3d06
7
- data.tar.gz: 3f59f1c2fd4302981e88af92ac01318b6634a046a93fc7703477ecafa58b82e3530fa8ac86328dcca937d3c20080786b58c58c5f53db470a0e1ebb18dd15dde1
6
+ metadata.gz: f8094df890508f7c882f8dda0908e4bc613fc55c7a0d803d2401c15630aec548c2dca733fb64eda4580d968037ee231b9c227de4a66a75dc490b0d11b6326544
7
+ data.tar.gz: 4627da4b54eeadf845010a3965db6d00096f3afa5466ff2e5c344730b4d5a0a4a2efd65fdd870e688157d977af85cb6ddd21ab4c85379c2f7ddb970e093f11c0
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- easy_data_tables (0.2.0)
4
+ easy_data_tables (0.3.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -35,7 +35,7 @@ to your `application.scss`
35
35
 
36
36
  #### Columns
37
37
 
38
- Columns are an array of hashes. There are two types of columns: 'normal' and 'combined'
38
+ Columns are an array of hashes. There are three types of columns: 'normal', 'custom' and 'combined'
39
39
 
40
40
  Normal column hashes accept the following keys:
41
41
 
@@ -46,6 +46,11 @@ Normal column hashes accept the following keys:
46
46
  - **agregate_function**: Array of symbols OR symbol, **required** => aggregate function to run (e.g. [:average, :expense] OR :count)
47
47
  - **column_type**: string => will inform the type of column to use
48
48
 
49
+ Custom column hashes accept the following keys:
50
+ - **label**: string, default: '' => will inform the label of the column on the table
51
+ - **values**: Hash, keys must coincide with the rows of the table, values are the content that will appear in each cell
52
+ - **column_type**: string => must be '**custom**'
53
+
49
54
  Cobmbined column hashes accept the following keys:
50
55
 
51
56
  - **label**: string, default: '' => will inform the label of the column on the table
@@ -156,4 +161,7 @@ The gem is available as open source under the terms of the [MIT License](https:/
156
161
  ## Changelog
157
162
 
158
163
  ### v 0.2.0
159
- - added possibility of downloading the table as a csv (both formated and unformated)
164
+ - added possibility of downloading the table as a csv (both formated and unformated)
165
+
166
+ ### v 0.2.0
167
+ - added possibility of creating custom tables
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EasyDataTables
4
+ # column where each value is a custom column
5
+ class CustomColumn < Column
6
+ def initialize(args = {})
7
+ super(args)
8
+ @values = args[:values]
9
+ @partial = args[:partial] || ''
10
+ end
11
+
12
+ def formated_data_at(row)
13
+ @values[row]
14
+ end
15
+
16
+ def data_at(_row)
17
+ ''
18
+ end
19
+
20
+ private
21
+
22
+ def construct_values; end
23
+
24
+ def helpers
25
+ ActionController::Base.helpers
26
+ end
27
+ end
28
+ end
@@ -28,8 +28,11 @@ module EasyDataTables
28
28
 
29
29
  def convert_columns(columns)
30
30
  columns.map! do |col|
31
- if col[:column_type] == 'combined'
31
+ case col[:column_type]
32
+ when 'combined'
32
33
  CombinedColumn.new(col)
34
+ when 'custom'
35
+ CustomColumn.new(col)
33
36
  else
34
37
  Column.new(col.merge(grouping: @grouping))
35
38
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EasyDataTables
4
- VERSION = '0.2.0'
4
+ VERSION = '0.3.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: easy_data_tables
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pablo Curell
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-06-02 00:00:00.000000000 Z
11
+ date: 2021-06-04 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Create fast tables based on the models of your db
14
14
  email:
@@ -30,6 +30,7 @@ files:
30
30
  - app/helpers/easy_data_tables/table_helper.rb
31
31
  - app/models/easy_data_tables/column.rb
32
32
  - app/models/easy_data_tables/combined_column.rb
33
+ - app/models/easy_data_tables/custom_column.rb
33
34
  - app/models/easy_data_tables/data_table.rb
34
35
  - app/views/easy_data_tables/_data_table.html.erb
35
36
  - app/views/easy_data_tables/_download_links.html.erb