organism-ui 0.2.14 → 0.2.15
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 +4 -4
- data/app/views/ui/style_guide/show.html.erb +30 -2
- data/lib/ui/actionable.rb +8 -2
- data/lib/ui/breadcrumbs.rb +7 -5
- data/lib/ui/breadcrumbs/breadcrumb.rb +1 -3
- data/lib/ui/buttons/base.rb +54 -22
- data/lib/ui/buttons/primary.rb +5 -2
- data/lib/ui/buttons/secondary.rb +5 -2
- data/lib/ui/buttons/tertiary.rb +5 -2
- data/lib/ui/collapse.rb +2 -1
- data/lib/ui/collapse/panel.rb +4 -2
- data/lib/ui/collapse/panel/show.erb +5 -4
- data/lib/ui/component.rb +6 -1
- data/lib/ui/descriptive_list.rb +5 -5
- data/lib/ui/descriptive_list/item.rb +1 -1
- data/lib/ui/menu/item.rb +1 -1
- data/lib/ui/pagination/window.rb +12 -10
- data/lib/ui/table.rb +69 -18
- data/lib/ui/table/header.rb +14 -4
- data/lib/ui/table/row.rb +7 -1
- data/lib/ui/table/vertical.rb +45 -0
- data/lib/ui/table/vertical/header.rb +26 -0
- data/lib/ui/table/vertical/row.rb +34 -0
- data/lib/ui/types.rb +2 -0
- data/lib/ui/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f27836996619577882186d159e7ca50cc282dddcfd8090832f901965cce8828c
|
4
|
+
data.tar.gz: abb2ae83b2f31627e6df9ea53b2f5fbe9a240ea1a7ec1f6e089c97ae265789a8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5a4e588f073083ac3d9dc3cb735567c4e5fd7d9b899de3c33e040c0af948e68700ceba48d76d893f7ad2e2ab6ba60df8b6514749aa16d14821c5e6f787acf916
|
7
|
+
data.tar.gz: ae0d450685712bc9d35669299de10c8ba0f132ec56ff03865d78004d1b7917105ffc59a041a4d70768f84c1cb4731cf96bfdb9c6c294be73b5a12bd7950e2fdd
|
@@ -677,7 +677,7 @@
|
|
677
677
|
renderable: ->(item) {
|
678
678
|
content_tag(
|
679
679
|
:div,
|
680
|
-
[
|
680
|
+
render_group([
|
681
681
|
content_tag(:p, item),
|
682
682
|
content_tag(
|
683
683
|
:nav,
|
@@ -688,7 +688,7 @@
|
|
688
688
|
size: :small
|
689
689
|
).call(:edit)
|
690
690
|
)
|
691
|
-
]
|
691
|
+
]),
|
692
692
|
class: 'flex flex-row justify-between items-center p-4'
|
693
693
|
)
|
694
694
|
}
|
@@ -727,6 +727,32 @@
|
|
727
727
|
</div>
|
728
728
|
</section>
|
729
729
|
|
730
|
+
<section class="style-guide__example" id="type">
|
731
|
+
<header>
|
732
|
+
<h2>Vertical</h2>
|
733
|
+
</header>
|
734
|
+
|
735
|
+
<div class="space-y-4">
|
736
|
+
<%= cell(
|
737
|
+
Ui::Table,
|
738
|
+
[
|
739
|
+
"Data 1",
|
740
|
+
"Data 2",
|
741
|
+
"Data 3",
|
742
|
+
],
|
743
|
+
columns: [
|
744
|
+
["", ->(data) { data } ],
|
745
|
+
["Column 2", ->(data) { "Column 2 data" } ],
|
746
|
+
["Column 3", ->(data) { "Column 3 data" } ],
|
747
|
+
["Actions", ->(data) { cell(Ui::Buttons::Tertiary, 'More')} ],
|
748
|
+
],
|
749
|
+
header: 'My title',
|
750
|
+
orientation: 'vertical',
|
751
|
+
style: 'my-style'
|
752
|
+
).() %>
|
753
|
+
</div>
|
754
|
+
</section>
|
755
|
+
|
730
756
|
<section class="style-guide__example" id="type">
|
731
757
|
<header>
|
732
758
|
<h2>Selectable</h2>
|
@@ -748,6 +774,8 @@
|
|
748
774
|
],
|
749
775
|
header: 'Multi select',
|
750
776
|
style: 'my-style',
|
777
|
+
row_renderer: ->(row, columns) {
|
778
|
+
},
|
751
779
|
features: {
|
752
780
|
selectable: {
|
753
781
|
multiple: true
|
data/lib/ui/actionable.rb
CHANGED
@@ -1,21 +1,27 @@
|
|
1
1
|
module Ui
|
2
2
|
module Actionable
|
3
|
+
Actions = Types::Array.default([].freeze).of(Types::Callable)
|
4
|
+
|
3
5
|
def actions
|
4
6
|
content_tag(:nav, class: 'ui-actions', role: 'navigation') do
|
5
7
|
render_group(
|
6
|
-
|
8
|
+
Actions[actions_list].map do |action|
|
7
9
|
action.call(model)
|
8
10
|
end
|
9
11
|
)
|
10
12
|
end
|
11
13
|
end
|
12
14
|
|
15
|
+
def actions_list
|
16
|
+
options.fetch(:actions, Array.new) || Array.new
|
17
|
+
end
|
18
|
+
|
13
19
|
def actions_length
|
14
20
|
options.fetch(:actions, Array.new).size
|
15
21
|
end
|
16
22
|
|
17
23
|
def has_actions?
|
18
|
-
|
24
|
+
actions_list.any?
|
19
25
|
end
|
20
26
|
end
|
21
27
|
end
|
data/lib/ui/breadcrumbs.rb
CHANGED
@@ -13,11 +13,13 @@ module Ui
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def breadcrumb_links
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
16
|
+
render_group(
|
17
|
+
breadcrumbs.map.with_index do |crumb, index|
|
18
|
+
[item_renderer.call(crumb)].tap do |renderable|
|
19
|
+
renderable.unshift(delimiter) unless index == 0
|
20
|
+
end
|
21
|
+
end.flatten
|
22
|
+
)
|
21
23
|
end
|
22
24
|
|
23
25
|
def delimiter
|
data/lib/ui/buttons/base.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
module Ui
|
2
2
|
module Buttons
|
3
3
|
class Base < Component
|
4
|
+
include Stylable
|
5
|
+
|
4
6
|
def show
|
5
7
|
display(
|
6
8
|
text_with_icon(icon),
|
@@ -38,6 +40,22 @@ module Ui
|
|
38
40
|
)
|
39
41
|
end
|
40
42
|
|
43
|
+
def phone
|
44
|
+
display(
|
45
|
+
text_with_icon(phone_icon),
|
46
|
+
"tel:#{path}",
|
47
|
+
button_options
|
48
|
+
)
|
49
|
+
end
|
50
|
+
|
51
|
+
def email
|
52
|
+
mail_to(
|
53
|
+
path,
|
54
|
+
text_with_icon(email_icon),
|
55
|
+
button_options
|
56
|
+
)
|
57
|
+
end
|
58
|
+
|
41
59
|
private
|
42
60
|
|
43
61
|
def display(*args)
|
@@ -46,7 +64,7 @@ module Ui
|
|
46
64
|
:button,
|
47
65
|
args.first,
|
48
66
|
disabled: true,
|
49
|
-
class:
|
67
|
+
class: style
|
50
68
|
)
|
51
69
|
else
|
52
70
|
if path == '#'
|
@@ -69,13 +87,12 @@ module Ui
|
|
69
87
|
'fas fa-trash'
|
70
88
|
end
|
71
89
|
|
72
|
-
def
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
].compact.join(' ')
|
90
|
+
def phone_icon
|
91
|
+
'fas fa-phone'
|
92
|
+
end
|
93
|
+
|
94
|
+
def email_icon
|
95
|
+
'fas fa-envelope'
|
79
96
|
end
|
80
97
|
|
81
98
|
def size
|
@@ -92,25 +109,40 @@ module Ui
|
|
92
109
|
end
|
93
110
|
|
94
111
|
def text_with_icon(icon)
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
)
|
103
|
-
else
|
104
|
-
text
|
112
|
+
order = [text].tap do |array|
|
113
|
+
case icon_position
|
114
|
+
when 'end'
|
115
|
+
array.push(display_icon(icon))
|
116
|
+
else
|
117
|
+
array.unshift(display_icon(icon))
|
118
|
+
end
|
105
119
|
end
|
120
|
+
|
121
|
+
render_group(order)
|
122
|
+
end
|
123
|
+
|
124
|
+
def display_icon(icon)
|
125
|
+
content_tag(:i, nil, class: icon) unless icon.blank?
|
106
126
|
end
|
107
127
|
|
108
|
-
def
|
109
|
-
|
128
|
+
def component_style
|
129
|
+
[
|
130
|
+
'button',
|
131
|
+
size,
|
132
|
+
].join(' ')
|
110
133
|
end
|
111
134
|
|
112
135
|
def icon
|
113
|
-
|
136
|
+
icon_options.fetch(:style, '')
|
137
|
+
end
|
138
|
+
|
139
|
+
def icon_position
|
140
|
+
icon_options.fetch(:position, 'start')
|
141
|
+
end
|
142
|
+
|
143
|
+
def icon_options
|
144
|
+
opts = options.fetch(:icon, {})
|
145
|
+
opts.is_a?(Hash) ? opts : { style: opts }
|
114
146
|
end
|
115
147
|
|
116
148
|
def path
|
@@ -135,7 +167,7 @@ module Ui
|
|
135
167
|
|
136
168
|
def button_options
|
137
169
|
{
|
138
|
-
class:
|
170
|
+
class: style,
|
139
171
|
disabled: disabled?,
|
140
172
|
data: data,
|
141
173
|
method: method
|
data/lib/ui/buttons/primary.rb
CHANGED
data/lib/ui/buttons/secondary.rb
CHANGED
data/lib/ui/buttons/tertiary.rb
CHANGED
data/lib/ui/collapse.rb
CHANGED
data/lib/ui/collapse/panel.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
module Ui
|
2
2
|
class Collapse < Component
|
3
3
|
class Panel < Component
|
4
|
+
include Actionable
|
5
|
+
|
4
6
|
def show
|
5
7
|
render
|
6
8
|
end
|
@@ -18,11 +20,11 @@ module Ui
|
|
18
20
|
end
|
19
21
|
|
20
22
|
def header
|
21
|
-
|
23
|
+
display(model[0])
|
22
24
|
end
|
23
25
|
|
24
26
|
def content
|
25
|
-
|
27
|
+
display(model[1])
|
26
28
|
end
|
27
29
|
|
28
30
|
def display(item)
|
@@ -1,16 +1,17 @@
|
|
1
1
|
<article
|
2
2
|
class="ui-collapse-panel"
|
3
3
|
data-controller="collapsable"
|
4
|
-
data-collapsable-collapsed-value="
|
4
|
+
data-collapsable-collapsed-value="true"
|
5
5
|
data-collapsable-hidden-class="hidden"
|
6
6
|
data-collapsable-collapsed-class="ui-collapsed">
|
7
7
|
|
8
|
-
<header data-action="click->collapsable#toggle">
|
8
|
+
<header data-action="click->collapsable#toggle" class="ui-collapse-panel__header">
|
9
9
|
<%= collapse_icon %>
|
10
10
|
<%= header %>
|
11
|
+
<%= actions %>
|
11
12
|
</header>
|
12
13
|
|
13
|
-
<
|
14
|
+
<section data-collapsable-target="content" class="ui-collapse-panel__content">
|
14
15
|
<%= content %>
|
15
|
-
</
|
16
|
+
</section>
|
16
17
|
</article>
|
data/lib/ui/component.rb
CHANGED
data/lib/ui/descriptive_list.rb
CHANGED
@@ -25,14 +25,14 @@ module Ui
|
|
25
25
|
content_tag(
|
26
26
|
:header,
|
27
27
|
render_group([
|
28
|
-
|
29
|
-
|
28
|
+
options[:header],
|
29
|
+
actions
|
30
30
|
])
|
31
|
-
) if
|
31
|
+
) if display_header?
|
32
32
|
end
|
33
33
|
|
34
|
-
def
|
35
|
-
options[:
|
34
|
+
def display_header?
|
35
|
+
options[:header] || has_actions?
|
36
36
|
end
|
37
37
|
|
38
38
|
def items
|
data/lib/ui/menu/item.rb
CHANGED
data/lib/ui/pagination/window.rb
CHANGED
@@ -9,7 +9,7 @@ module Ui
|
|
9
9
|
:ul,
|
10
10
|
render_group([
|
11
11
|
previous_window,
|
12
|
-
page_links
|
12
|
+
page_links,
|
13
13
|
next_window
|
14
14
|
]),
|
15
15
|
class: 'ui-pagination__window',
|
@@ -58,15 +58,17 @@ module Ui
|
|
58
58
|
|
59
59
|
|
60
60
|
def page_links
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
61
|
+
render_group(
|
62
|
+
pages.map do |page|
|
63
|
+
content += content_tag(
|
64
|
+
:li,
|
65
|
+
cell(
|
66
|
+
Ui::Pagination::PageLink,
|
67
|
+
page
|
68
|
+
).()
|
69
|
+
)
|
70
|
+
end
|
71
|
+
)
|
70
72
|
end
|
71
73
|
|
72
74
|
def last_window?
|
data/lib/ui/table.rb
CHANGED
@@ -1,10 +1,21 @@
|
|
1
1
|
require "ui/table/header"
|
2
2
|
require "ui/table/row"
|
3
|
+
require "ui/table/vertical"
|
3
4
|
|
4
5
|
module Ui
|
5
6
|
class Table < Component
|
6
7
|
include Actionable
|
7
8
|
include Stylable
|
9
|
+
include ::Cell::Builder
|
10
|
+
|
11
|
+
builds do |model, options|
|
12
|
+
case options.fetch(:orientation, 'horizontal')
|
13
|
+
when 'vertical'
|
14
|
+
Ui::Table::Vertical
|
15
|
+
else
|
16
|
+
self
|
17
|
+
end
|
18
|
+
end
|
8
19
|
|
9
20
|
def show
|
10
21
|
render
|
@@ -22,6 +33,20 @@ module Ui
|
|
22
33
|
end
|
23
34
|
|
24
35
|
def table_headers
|
36
|
+
custom_header_renderer.is_a?(Proc) ?
|
37
|
+
custom_table_headers :
|
38
|
+
default_table_headers
|
39
|
+
end
|
40
|
+
|
41
|
+
def custom_table_headers
|
42
|
+
render_group(
|
43
|
+
columns.map do |column|
|
44
|
+
custom_header_renderer.call(column)
|
45
|
+
end
|
46
|
+
)
|
47
|
+
end
|
48
|
+
|
49
|
+
def default_table_headers
|
25
50
|
content_tag(:tr) do
|
26
51
|
cell(
|
27
52
|
Ui::Table::Header,
|
@@ -31,31 +56,53 @@ module Ui
|
|
31
56
|
end
|
32
57
|
|
33
58
|
def table_rows
|
34
|
-
if
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
columns: columns
|
39
|
-
)
|
59
|
+
if model.any?
|
60
|
+
custom_row_renderer.is_a?(Proc) ?
|
61
|
+
custom_table_rows :
|
62
|
+
default_table_rows
|
40
63
|
else
|
41
64
|
render_empty
|
42
65
|
end
|
43
66
|
end
|
44
67
|
|
68
|
+
def custom_table_rows
|
69
|
+
render_group(
|
70
|
+
model.map do |row|
|
71
|
+
custom_row_renderer.call(row, columns)
|
72
|
+
end
|
73
|
+
)
|
74
|
+
end
|
75
|
+
|
76
|
+
def default_table_rows
|
77
|
+
cell(
|
78
|
+
Ui::Table::Row,
|
79
|
+
collection: model,
|
80
|
+
columns: columns
|
81
|
+
).()
|
82
|
+
end
|
83
|
+
|
45
84
|
def table_data_attributes
|
46
85
|
{
|
47
86
|
controller: table_controllers,
|
48
|
-
|
49
|
-
|
50
|
-
|
87
|
+
}.tap do |hash|
|
88
|
+
if selectable?
|
89
|
+
hash["selectable-selected-value"] = "[]"
|
90
|
+
hash["selectable-type-value"] = multi_select? ? 'many' : 'one'
|
91
|
+
end
|
92
|
+
end
|
51
93
|
end
|
52
94
|
|
53
95
|
def table_body_data_attributes
|
54
96
|
{
|
55
97
|
controller: table_body_controllers,
|
56
|
-
|
57
|
-
|
58
|
-
|
98
|
+
}.tap do |hash|
|
99
|
+
if sortable?
|
100
|
+
hash["sortable-update-url-value"] =
|
101
|
+
sortable_options.fetch(:update_url, '#')
|
102
|
+
hash["sortable-input-name-value"] =
|
103
|
+
sortable_options.fetch(:input_name, "object[position]")
|
104
|
+
end
|
105
|
+
end
|
59
106
|
end
|
60
107
|
|
61
108
|
def table_controllers
|
@@ -87,10 +134,6 @@ module Ui
|
|
87
134
|
) if options[:footer]
|
88
135
|
end
|
89
136
|
|
90
|
-
def component_style
|
91
|
-
"ui-table"
|
92
|
-
end
|
93
|
-
|
94
137
|
def columns
|
95
138
|
@columns ||= options.fetch(:columns, Array.new).tap do |columns|
|
96
139
|
columns.unshift(selectable_column) if selectable?
|
@@ -140,8 +183,12 @@ module Ui
|
|
140
183
|
options.fetch(:features, Hash.new)
|
141
184
|
end
|
142
185
|
|
143
|
-
def
|
144
|
-
|
186
|
+
def custom_row_renderer
|
187
|
+
options.fetch(:row_renderer, nil)
|
188
|
+
end
|
189
|
+
|
190
|
+
def custom_header_renderer
|
191
|
+
options.fetch(:header_renderer, nil)
|
145
192
|
end
|
146
193
|
|
147
194
|
def render_empty
|
@@ -158,5 +205,9 @@ module Ui
|
|
158
205
|
colspan: columns.size
|
159
206
|
)
|
160
207
|
end
|
208
|
+
|
209
|
+
def component_style
|
210
|
+
"ui-table ui-table--horizontal"
|
211
|
+
end
|
161
212
|
end
|
162
213
|
end
|
data/lib/ui/table/header.rb
CHANGED
@@ -1,20 +1,30 @@
|
|
1
1
|
module Ui
|
2
2
|
class Table < Component
|
3
3
|
class Header < Component
|
4
|
+
include Stylable
|
5
|
+
|
4
6
|
def show
|
5
|
-
content_tag(:th, title)
|
7
|
+
content_tag(:th, title, class: style)
|
6
8
|
end
|
7
9
|
|
8
10
|
private
|
9
11
|
|
12
|
+
def component_style
|
13
|
+
'ui-table__header'
|
14
|
+
end
|
15
|
+
|
10
16
|
def title
|
11
17
|
case
|
12
|
-
when
|
13
|
-
|
18
|
+
when column_title.is_a?(Proc)
|
19
|
+
column_title.call
|
14
20
|
else
|
15
|
-
|
21
|
+
column_title
|
16
22
|
end
|
17
23
|
end
|
24
|
+
|
25
|
+
def column_title
|
26
|
+
model[0]
|
27
|
+
end
|
18
28
|
end
|
19
29
|
end
|
20
30
|
end
|
data/lib/ui/table/row.rb
CHANGED
@@ -1,12 +1,18 @@
|
|
1
1
|
module Ui
|
2
2
|
class Table < Component
|
3
3
|
class Row < Component
|
4
|
+
include Stylable
|
5
|
+
|
4
6
|
def show
|
5
|
-
content_tag(:tr, render_group(table_data))
|
7
|
+
content_tag(:tr, render_group(table_data), class: style)
|
6
8
|
end
|
7
9
|
|
8
10
|
private
|
9
11
|
|
12
|
+
def component_style
|
13
|
+
'ui-table__row'
|
14
|
+
end
|
15
|
+
|
10
16
|
def table_data
|
11
17
|
columns.map do |column|
|
12
18
|
content_tag(:td, apply(column))
|
@@ -0,0 +1,45 @@
|
|
1
|
+
module Ui
|
2
|
+
class Table < Component
|
3
|
+
class Vertical < Table
|
4
|
+
|
5
|
+
private
|
6
|
+
|
7
|
+
def table_rows
|
8
|
+
if model.any?
|
9
|
+
cell(
|
10
|
+
row_renderer,
|
11
|
+
collection: columns[1..-1],
|
12
|
+
data: model
|
13
|
+
)
|
14
|
+
else
|
15
|
+
render_empty
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def table_headers
|
20
|
+
content_tag(:tr) do
|
21
|
+
render_group([
|
22
|
+
content_tag(:th, columns[0].try(:first)),
|
23
|
+
cell(
|
24
|
+
header_renderer,
|
25
|
+
collection: model,
|
26
|
+
column: columns[0],
|
27
|
+
)
|
28
|
+
])
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def row_renderer
|
33
|
+
Ui::Table::Vertical::Row
|
34
|
+
end
|
35
|
+
|
36
|
+
def header_renderer
|
37
|
+
Ui::Table::Vertical::Header
|
38
|
+
end
|
39
|
+
|
40
|
+
def component_style
|
41
|
+
"ui-table ui-table--vertical"
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Ui
|
2
|
+
class Table < Component
|
3
|
+
class Vertical < Table
|
4
|
+
class Header < Ui::Table::Header
|
5
|
+
def show
|
6
|
+
content_tag(:th, title)
|
7
|
+
end
|
8
|
+
|
9
|
+
private
|
10
|
+
|
11
|
+
def title
|
12
|
+
case
|
13
|
+
when column[1].is_a?(Proc)
|
14
|
+
column[1].call(model)
|
15
|
+
else
|
16
|
+
model.to_s
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def column
|
21
|
+
options[:column]
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module Ui
|
2
|
+
class Table < Component
|
3
|
+
class Vertical < Table
|
4
|
+
class Row < Ui::Table::Row
|
5
|
+
|
6
|
+
private
|
7
|
+
|
8
|
+
def table_data
|
9
|
+
data.map do |item|
|
10
|
+
content_tag(:td, apply(item))
|
11
|
+
end.tap do |array|
|
12
|
+
array.unshift(content_tag(:th, column_title))
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def apply(item)
|
17
|
+
column[1].call(item)
|
18
|
+
end
|
19
|
+
|
20
|
+
def column
|
21
|
+
model
|
22
|
+
end
|
23
|
+
|
24
|
+
def column_title
|
25
|
+
column[0]
|
26
|
+
end
|
27
|
+
|
28
|
+
def data
|
29
|
+
options.fetch(:data, Array.new)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
data/lib/ui/types.rb
CHANGED
data/lib/ui/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: organism-ui
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nolan Tait
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-03-
|
11
|
+
date: 2021-03-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -245,6 +245,9 @@ files:
|
|
245
245
|
- lib/ui/table/select_all.rb
|
246
246
|
- lib/ui/table/show.erb
|
247
247
|
- lib/ui/table/sort.rb
|
248
|
+
- lib/ui/table/vertical.rb
|
249
|
+
- lib/ui/table/vertical/header.rb
|
250
|
+
- lib/ui/table/vertical/row.rb
|
248
251
|
- lib/ui/tooltip.rb
|
249
252
|
- lib/ui/tooltip/show.erb
|
250
253
|
- lib/ui/types.rb
|