zutils 0.5.1 → 1.1.1
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/shared/_action_links.html.erb +6 -6
- data/app/views/shared/_card_list.html.erb +44 -0
- data/app/views/shared/_fields.html.erb +8 -3
- data/app/views/shared/_form.html.erb +12 -6
- data/app/views/shared/_index.html.erb +9 -7
- data/app/views/shared/_list.html.erb +98 -59
- data/app/views/shared/_show.html.erb +31 -25
- data/lib/zutils/version.rb +1 -1
- data/zutils.gemspec +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8a9eb74781bf8db14a1333f5f644b29cf11516e1bbf794b5905de9f9c18ca4c4
|
4
|
+
data.tar.gz: 2bd41f7c6d6f9a20f99189d92cc380cf0621a06c8b2394c8784455f1088edcb7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 56d2f7933b7b28722a406d909f9c5db701ee0aaeca5fd38496689e0e03ef10e480d6ed09531aa343a5eaa4d8aa92809140770c034c5268276ba20cd60e263b01
|
7
|
+
data.tar.gz: 5bc42418e918437043db8ef865a2ae807d3ed4da7b2c8f95ad597e1b2d8ee2c23fb7705f590e269996cf60ba7421fb7cc8c5f437dbaadf000d4ae230a4e2a58a
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<% hide_destroy_action ||= false %>
|
6
6
|
|
7
7
|
<div class="btn-group">
|
8
|
-
<button type="button" class="btn btn-
|
8
|
+
<button type="button" class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
|
9
9
|
Ações
|
10
10
|
<span class="caret"></span>
|
11
11
|
<span class="sr-only">Toggle Dropdown</span>
|
@@ -13,7 +13,7 @@
|
|
13
13
|
<ul class="dropdown-menu" role="menu">
|
14
14
|
<% if !hide_read_action && can?(:read, (object.class == Array ? object.last.class : object.class)) %>
|
15
15
|
<li>
|
16
|
-
<%= link_to object, data: { toggle: 'tooltip', placement: 'top', title: 'Visualizar' } do %>
|
16
|
+
<%= link_to object, class: 'dropdown-item', data: { toggle: 'tooltip', placement: 'top', title: 'Visualizar' } do %>
|
17
17
|
<i class="fa fa-eye"></i> Visualizar
|
18
18
|
<% end %>
|
19
19
|
<% end %>
|
@@ -21,11 +21,11 @@
|
|
21
21
|
<% if !hide_edit_action && can?(:edit, (object.class == Array ? object.last.class : object.class)) %>
|
22
22
|
<li>
|
23
23
|
<% if object.class == Array %>
|
24
|
-
<%= link_to eval_with_rescue("edit_#{[object].flatten.map{|x| x.class.to_s.underscore}.join("_")}_path(#{object[0].id}, #{object[1].id})"), data: { toggle: 'tooltip', placement: 'top', title: 'Editar' } do %>
|
24
|
+
<%= link_to eval_with_rescue("edit_#{[object].flatten.map{|x| x.class.to_s.underscore}.join("_")}_path(#{object[0].id}, #{object[1].id})"), class: 'dropdown-item', data: { toggle: 'tooltip', placement: 'top', title: 'Editar' } do %>
|
25
25
|
<i class="fa fa-pencil fa-edit"></i> Editar
|
26
26
|
<% end %>
|
27
27
|
<% else %>
|
28
|
-
<%= link_to eval_with_rescue("edit_#{[object].flatten.map{|x| x.class.to_s.underscore}.join("_")}_path(#{object.id})"), data: { toggle: 'tooltip', placement: 'top', title: 'Editar' } do %>
|
28
|
+
<%= link_to eval_with_rescue("edit_#{[object].flatten.map{|x| x.class.to_s.underscore}.join("_")}_path(#{object.id})"), class: 'dropdown-item', data: { toggle: 'tooltip', placement: 'top', title: 'Editar' } do %>
|
29
29
|
<i class="fa fa-pencil fa-edit"></i> Editar
|
30
30
|
<% end %>
|
31
31
|
<% end %>
|
@@ -33,7 +33,7 @@
|
|
33
33
|
<% end %>
|
34
34
|
<% if !hide_destroy_action && can?(:destroy, (object.class == Array ? object.last.class : object.class)) %>
|
35
35
|
<li>
|
36
|
-
<%= link_to object, method: :delete, data: { confirm: 'Tem certeza?', toggle: 'tooltip', placement: 'top', title: 'Apagar' } do %>
|
36
|
+
<%= link_to object, method: :delete, class: 'dropdown-item', data: { confirm: 'Tem certeza?', toggle: 'tooltip', placement: 'top', title: 'Apagar' } do %>
|
37
37
|
<i class="fa fa-trash"></i> Apagar
|
38
38
|
<% end %>
|
39
39
|
</li>
|
@@ -42,7 +42,7 @@
|
|
42
42
|
<% additional_actions.each do |key, value| %>
|
43
43
|
<% if can? key, (object.class == Array ? object.last.class : object.class) %>
|
44
44
|
<li>
|
45
|
-
<%= link_to eval_with_rescue("#{value[:link]}(#{object.id})"), value[:options] do %>
|
45
|
+
<%= link_to eval_with_rescue("#{value[:link]}(#{object.id})"), value[:options], class: 'dropdown-item' do %>
|
46
46
|
<i class="fa fa-<%= value[:icon] %>"></i> <%= value[:title] %>
|
47
47
|
<% end %>
|
48
48
|
</li>
|
@@ -0,0 +1,44 @@
|
|
1
|
+
<% exceptions ||= ['created_at', 'updated_at', 'deleted_at'] %>
|
2
|
+
<% show_columns ||= [] %>
|
3
|
+
<% table_class ||= 'datatables styletable' %>
|
4
|
+
<% card_class ||= 'primary' %>
|
5
|
+
<% sort_all ||= false %>
|
6
|
+
<% show_new &&= true %>
|
7
|
+
<% sort_fields ||= [] %>
|
8
|
+
|
9
|
+
<% hide_actions ||= false %>
|
10
|
+
|
11
|
+
<% if show_columns.empty? %>
|
12
|
+
<% show_columns = list.klass.column_names - exceptions %>
|
13
|
+
<% end %>
|
14
|
+
|
15
|
+
<div class="card card-outline card-<%= card_class %>">
|
16
|
+
<div class="card-header with-border">
|
17
|
+
<h3 class="card-title">
|
18
|
+
<strong>
|
19
|
+
<i class="fa fa-list"></i>
|
20
|
+
Listagem
|
21
|
+
</strong>
|
22
|
+
<% if show_new %>
|
23
|
+
<%= link_to eval("new_#{list.klass.model_name.singular}_path"), class: "btn btn-xs btn-#{card_class}" do %>
|
24
|
+
Cadastar <i class="fa fa-plus"></i>
|
25
|
+
<% end %>
|
26
|
+
<% end %>
|
27
|
+
<div class="text-muted text-xs">
|
28
|
+
<%= page_entries_info list, entry_name: '' %>
|
29
|
+
</div>
|
30
|
+
</h3>
|
31
|
+
<div class='card-tools'>
|
32
|
+
<%= paginate list, window: 1 %>
|
33
|
+
</div>
|
34
|
+
</div>
|
35
|
+
<div class="card-body p-0">
|
36
|
+
<%= render 'shared/list', list: list, show_columns: show_columns, box_class: card_class,
|
37
|
+
table_class: table_class, exceptions: exceptions, sort_all: sort_all, sort_fields: sort_fields,
|
38
|
+
hide_actions: hide_actions
|
39
|
+
%>
|
40
|
+
</div>
|
41
|
+
<div class="pagination justify-content-center pt-3">
|
42
|
+
<%= paginate list %>
|
43
|
+
</div>
|
44
|
+
</div>
|
@@ -1,15 +1,20 @@
|
|
1
1
|
<% excluded_columns ||= [] %>
|
2
2
|
<% additional_columns ||= [] %>
|
3
3
|
<% restricted_columns ||= {} %>
|
4
|
+
<% show_columns ||= [] %>
|
4
5
|
|
5
6
|
<% form_fields ||= (object.class.respond_to?('form_fields') ? object.class.form_fields : {}) %>
|
6
7
|
<% form_ordered_fields ||= (form_fields.empty? ? object.class.column_names : form_fields.keys) %>
|
7
8
|
|
9
|
+
<% if show_columns.empty? %>
|
10
|
+
<% show_columns = form_ordered_fields - ['id', 'created_at', 'updated_at', 'deleted_at'] - excluded_columns + additional_columns %>
|
11
|
+
<% end %>
|
12
|
+
|
8
13
|
<div class="row">
|
9
|
-
<%
|
14
|
+
<% show_columns.each do |column| %>
|
10
15
|
<% wphtml = "col-md-#{(form_fields[column.to_sym].class == Hash ? form_fields[column.to_sym][:size] : form_fields[column.to_sym] ) || 12}" %>
|
11
|
-
<% hint = (form_fields[column.to_sym].class == Hash ? form_fields[column.to_sym][:hint] :
|
12
|
-
<% placeholder = (form_fields[column.to_sym].class == Hash ? form_fields[column.to_sym][:placeholder] :
|
16
|
+
<% hint = (form_fields[column.to_sym].class == Hash ? form_fields[column.to_sym][:hint] : nil) %>
|
17
|
+
<% placeholder = (form_fields[column.to_sym].class == Hash ? form_fields[column.to_sym][:placeholder] : nil) %>
|
13
18
|
<% if object.class.column_for_attribute(column).type == :text %>
|
14
19
|
<%= f.input column, input_html: { rows: 10, cols: 20 }, wrapper_html: { class: wphtml }, hint: hint, placeholder: placeholder %>
|
15
20
|
<% elsif [:date, :datetime].include?(object.class.column_for_attribute(column).type) %>
|
@@ -5,14 +5,19 @@
|
|
5
5
|
<% parent_resource ||= false %>
|
6
6
|
<% back_link ||= false %>
|
7
7
|
<% box_class ||= 'primary' %>
|
8
|
+
<% show_columns ||= [] %>
|
8
9
|
|
9
10
|
<% form_fields ||= (object.class.respond_to?('form_fields') ? object.class.form_fields : {}) %>
|
10
11
|
<% form_ordered_fields ||= (form_fields.empty? ? object.class.column_names : form_fields.keys) %>
|
11
12
|
|
13
|
+
<% if show_columns.empty? %>
|
14
|
+
<% show_columns = form_ordered_fields - ['id', 'created_at', 'updated_at', 'deleted_at'] - excluded_columns + additional_columns %>
|
15
|
+
<% end %>
|
16
|
+
|
12
17
|
<%= simple_form_for(nested_resource ? [parent_resource, object] : object) do |f| %>
|
13
|
-
<div class="box box-<%= box_class %>">
|
14
|
-
<div class="box-header with-border">
|
15
|
-
<h3 class="box-title">
|
18
|
+
<div class="box box-<%= box_class %> card card-outline card-<%= box_class %>">
|
19
|
+
<div class="box-header with-border card-header">
|
20
|
+
<h3 class="box-title card-title">
|
16
21
|
Dados do <%= object.class.model_name.human %>
|
17
22
|
<% if parent_resource %>
|
18
23
|
<%= link_to 'Cancelar', eval_with_rescue("#{parent_resource.class.model_name.to_s.downcase}_#{controller_name}_path(#{parent_resource.id})"), class: "btn btn-default btn-xs" %>
|
@@ -22,14 +27,15 @@
|
|
22
27
|
<%= f.submit 'Salvar', class: "btn btn-#{box_class} btn-xs" %>
|
23
28
|
</h3>
|
24
29
|
</div>
|
25
|
-
<div class="box-body">
|
30
|
+
<div class="box-body card-body">
|
26
31
|
<%= render 'shared/fields', object: object, f: f,
|
27
32
|
excluded_columns: excluded_columns,
|
28
33
|
additional_columns: additional_columns,
|
29
|
-
restricted_columns: restricted_columns
|
34
|
+
restricted_columns: restricted_columns,
|
35
|
+
show_columns: show_columns
|
30
36
|
%>
|
31
37
|
</div>
|
32
|
-
<div class="box-footer">
|
38
|
+
<div class="box-footer card-footer">
|
33
39
|
<% if back_link %>
|
34
40
|
<%= link_to 'Cancelar', "javascript:history.back()", class: "btn btn-default" %>
|
35
41
|
<% else %>
|
@@ -20,25 +20,27 @@
|
|
20
20
|
<% hide_edit_action ||= false %>
|
21
21
|
<% hide_destroy_action ||= false %>
|
22
22
|
|
23
|
-
<div class='box box-<%= box_class %>'>
|
23
|
+
<div class='box box-<%= box_class %> card card-outline card-<%= box_class %>'>
|
24
24
|
<% unless hide_header %>
|
25
|
-
<div class="box-header with-border">
|
26
|
-
<h3 class="box-title">
|
27
|
-
|
25
|
+
<div class="box-header with-border card-header">
|
26
|
+
<h3 class="box-title card-title">
|
27
|
+
<strong>
|
28
|
+
<%= list.klass.model_name.human.pluralize %>
|
29
|
+
</strong>
|
28
30
|
</h3>
|
29
31
|
<% if block_given? %>
|
30
32
|
<%= yield %>
|
31
33
|
<% end %>
|
32
34
|
</div>
|
33
35
|
<% end %>
|
34
|
-
<div class="box-body <%= 'no-padding' if table_no_padding %>">
|
36
|
+
<div class="box-body card-body <%= 'no-padding' if table_no_padding %> <%= 'p-0' if table_no_padding %>">
|
35
37
|
<% unless search_fields.empty? %>
|
36
38
|
<div class="row">
|
37
39
|
<%= search_form_for @q, url: eval(nested_resource ? "#{parent_resource}_#{controller_name}_path" : "#{controller_name}_path") do |f| %>
|
38
40
|
<% search_fields.each do |sf| %>
|
39
41
|
<%= f.input sf[:field], label: sf[:label], required: false, as: sf[:as], collection: sf[:collection], wrapper_html: { class: 'col-md-3' } %>
|
40
42
|
<% end %>
|
41
|
-
<div class="col-md-3 top-25">
|
43
|
+
<div class="col-md-3 top-25 ">
|
42
44
|
<%= f.submit "Pesquisar", class: "btn btn-#{box_class}" %>
|
43
45
|
</div>
|
44
46
|
<% end %>
|
@@ -65,7 +67,7 @@
|
|
65
67
|
|
66
68
|
<% unless hide_links %>
|
67
69
|
<% unless controller_name == 'users' %>
|
68
|
-
<div class="box-footer">
|
70
|
+
<div class="box-footer card-footer">
|
69
71
|
<% if can? :new, list.klass %>
|
70
72
|
<% if nested_resource == true %>
|
71
73
|
<% if parent_resource %>
|
@@ -5,8 +5,11 @@
|
|
5
5
|
<% hide_actions ||= false %>
|
6
6
|
<% sort_fields ||= [] %>
|
7
7
|
<% sort_all ||= false %>
|
8
|
-
<% table_class ||= 'datatables' %>
|
8
|
+
<% table_class ||= 'datatables styletable' %>
|
9
|
+
|
9
10
|
<% box_class ||= 'primary' %>
|
11
|
+
<% card_class ||= 'primary' %>
|
12
|
+
|
10
13
|
<% show_columns ||= [] %>
|
11
14
|
|
12
15
|
<% hide_read_action ||= false %>
|
@@ -21,25 +24,52 @@
|
|
21
24
|
<thead>
|
22
25
|
<tr>
|
23
26
|
<% show_columns.each do |column| %>
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
<%
|
30
|
-
<%
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
27
|
+
|
28
|
+
<% column_method = nil %>
|
29
|
+
<% column_name = column %>
|
30
|
+
<% column_align = ''%>
|
31
|
+
<% if column.class == Hash %>
|
32
|
+
<% column_name = column[:attribute] %>
|
33
|
+
<% column_method = column[:method] %>
|
34
|
+
<% column_align = column[:align] %>
|
35
|
+
<% end %>
|
36
|
+
|
37
|
+
<% next if /_currency$/ =~ column_name %>
|
38
|
+
|
39
|
+
<th data-field="<%= column_method || column_name %>" data-align="<%= column_align %>">
|
40
|
+
<% if sort_all || sort_fields.include?(column_name) %>
|
41
|
+
<% if column_name.include?('.') %>
|
42
|
+
<% s_name = column_method || column_name %>
|
43
|
+
<%= sort_link(@q, s_name.split('.').join('_'),
|
44
|
+
"#{s_name.split('.')[-2]&.camelize} (#{s_name.split('.')[-1]})")
|
45
|
+
%>
|
46
|
+
<% elsif /_id$/ =~ column_name %>
|
47
|
+
<%= sort_link(@q, column_name, list.klass.human_attribute_name(column_name.split("_id")[0])) %>
|
48
|
+
<% elsif /_cents$/ =~ column_name %>
|
49
|
+
<%= sort_link(@q, column_name, list.klass.human_attribute_name(column_name.split("_cents")[0])) %>
|
50
|
+
<% elsif /_currency$/ =~ column_name %>
|
51
|
+
<!-- faz nada -->
|
52
|
+
<% elsif column_name == 'id' %>
|
53
|
+
<%= sort_link(@q, column_name, '#') %>
|
54
|
+
<% else %>
|
55
|
+
<%= sort_link(@q, column_name, list.klass.human_attribute_name(column_name)) %>
|
56
|
+
<% end %>
|
39
57
|
<% else %>
|
40
|
-
|
58
|
+
<% if column_name.include?('.') %>
|
59
|
+
<% s_name = column_method || column_name %>
|
60
|
+
<%= "#{s_name.split('.')[-2]&.camelize} (#{s_name.split('.')[-1]})" %>
|
61
|
+
<% elsif /_id$/ =~ column_name %>
|
62
|
+
<%= list.klass.human_attribute_name(column_name.split("_id")[0]) %>
|
63
|
+
<% elsif /_cents$/ =~ column_name %>
|
64
|
+
<%= list.klass.human_attribute_name(column_name.split("_cents")[0]) %>
|
65
|
+
<% elsif /_currency$/ =~ column_name %>
|
66
|
+
<% elsif column_name == 'id' %>
|
67
|
+
#
|
68
|
+
<% else %>
|
69
|
+
<%= list.klass.human_attribute_name(column_name) %>
|
70
|
+
<% end %>
|
41
71
|
<% end %>
|
42
|
-
|
72
|
+
</th>
|
43
73
|
<% end %>
|
44
74
|
<% unless hide_actions %>
|
45
75
|
<th>Ações</th>
|
@@ -48,50 +78,59 @@
|
|
48
78
|
</thead>
|
49
79
|
<tbody>
|
50
80
|
<% list.each do |object| %>
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
<%
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
<%=
|
68
|
-
|
81
|
+
<tr>
|
82
|
+
<% show_columns.each do |column| %>
|
83
|
+
|
84
|
+
<% column_method = nil %>
|
85
|
+
<% column_name = column %>
|
86
|
+
<% if column.class == Hash %>
|
87
|
+
<% column_name = column[:attribute] %>
|
88
|
+
<% column_method = column[:method] %>
|
89
|
+
<% end %>
|
90
|
+
|
91
|
+
<% next if /_currency$/ =~ column_name %>
|
92
|
+
|
93
|
+
<td>
|
94
|
+
<% if column_name.include?('.') %>
|
95
|
+
<% o = object %>
|
96
|
+
<% column_name.split('.').each{|m| o = o.send(m) if o } %>
|
97
|
+
<%= o %>
|
98
|
+
<% elsif object.send(column_name).class == Date or
|
99
|
+
object.send(column_name).class == DateTime or
|
100
|
+
object.send(column_name).class == ActiveSupport::TimeWithZone or
|
101
|
+
object.send(column_name).class == Time %>
|
102
|
+
<%=l object.send(column_name) %>
|
103
|
+
<% elsif object.send(column_name).respond_to? 'attached?' %>
|
104
|
+
<% if object.send(column_name).class == ActiveStorage::Attached::One %>
|
105
|
+
<% if object.send(column_name).attached? %>
|
106
|
+
<%= link_to rails_blob_path(object.send(column_name)), class: "btn btn-#{box_class} #{card_class} btn-xs", target: '_blank' do %>
|
107
|
+
<i class="fa fa-file-o"></i> Arquivo
|
108
|
+
<% end %>
|
109
|
+
<% end %>
|
69
110
|
<% end %>
|
111
|
+
<% elsif /_id$/ =~ column_name && object.respond_to?(column_name.split('_id')[0]) %>
|
112
|
+
<%= object.send(column_name.split("_id")[0])&.name %>
|
113
|
+
<% elsif /_cents$/ =~ column_name %>
|
114
|
+
<%= number_to_currency object.send(column_name.split("_cents")[0]) %>
|
115
|
+
<% elsif /_currency$/ =~ column_name %>
|
116
|
+
<!-- faz nada -->
|
117
|
+
<% elsif column_name.include?(".") %>
|
118
|
+
<%= eval("object.#{column_name}") %>
|
119
|
+
<% elsif column_name == 'id' %>
|
120
|
+
<%= link_to object.id, object %>
|
121
|
+
<% else %>
|
122
|
+
<%= object.send(column_method || column_name) %>
|
70
123
|
<% end %>
|
71
|
-
|
72
|
-
<% elsif /_id$/ =~ column && object.respond_to?(column.split('_id')[0]) %>
|
73
|
-
<%= object.send(column.split("_id")[0])&.name %>
|
74
|
-
<% elsif /_cents$/ =~ column %>
|
75
|
-
<%= number_to_currency object.send(column.split("_cents")[0]) %>
|
76
|
-
<% elsif /_currency$/ =~ column %>
|
77
|
-
<!-- faz nada -->
|
78
|
-
<% elsif column.include?(".") %>
|
79
|
-
<%= eval("object.#{column}") %>
|
80
|
-
<% elsif column == 'id' %>
|
81
|
-
<%= link_to object.id, object %>
|
82
|
-
<% else %>
|
83
|
-
<%= object.send(column) %>
|
124
|
+
</td>
|
84
125
|
<% end %>
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
<% end %>
|
94
|
-
</tr>
|
126
|
+
<% unless hide_actions %>
|
127
|
+
<td>
|
128
|
+
<%= render 'shared/action_links', object: object, additional_actions: additional_actions,
|
129
|
+
hide_read_action: hide_read_action, hide_edit_action: hide_edit_action, hide_destroy_action: hide_destroy_action
|
130
|
+
%>
|
131
|
+
</td>
|
132
|
+
<% end %>
|
133
|
+
</tr>
|
95
134
|
<% end %>
|
96
135
|
</tbody>
|
97
136
|
</table>
|
@@ -16,38 +16,44 @@
|
|
16
16
|
<% show_columns = form_ordered_fields - ['id', 'created_at', 'updated_at', 'deleted_at'] - excluded_columns + additional_columns %>
|
17
17
|
<% end %>
|
18
18
|
|
19
|
-
<div class="box box-<%= box_class %>">
|
19
|
+
<div class="box box-<%= box_class %> card card-outline card-<%= box_class %>">
|
20
20
|
<% unless hide_header %>
|
21
|
-
<div class="box-header with-border">
|
22
|
-
<h3 class="box-title"
|
23
|
-
|
24
|
-
<%
|
25
|
-
<% if
|
26
|
-
|
27
|
-
|
21
|
+
<div class="box-header with-border card-header">
|
22
|
+
<h3 class="box-title card-title">
|
23
|
+
<%= object.class.model_name.human %>
|
24
|
+
<% unless hide_links %>
|
25
|
+
<% if show_actions.include?('new') && can?(:new, object.class) %>
|
26
|
+
<% if nested_resource %>
|
27
|
+
<%= link_to eval_with_rescue("new_#{parent_resource.class.model_name.singular}_#{object.class.model_name.singular}_path(#{parent_resource.id})"), class: "btn btn-#{box_class} btn-xs", data: { toggle: 'tooltip', placement: 'top', title: 'Cadastrar' } do %>
|
28
|
+
Cadastrar <i class="fa fa-plus"></i>
|
29
|
+
<% end %>
|
30
|
+
<% else %>
|
31
|
+
<%= link_to eval("new_#{object.class.model_name.singular}_path"), class: "btn btn-#{box_class} btn-xs", data: { toggle: 'tooltip', placement: 'top', title: 'Cadastrar' } do %>
|
32
|
+
Cadastrar <i class="fa fa-plus"></i>
|
33
|
+
<% end %>
|
28
34
|
<% end %>
|
29
|
-
<%
|
30
|
-
|
31
|
-
|
35
|
+
<% end %>
|
36
|
+
<% if show_actions.include?('edit') && can?(:edit, object) %>
|
37
|
+
<%= link_to eval_with_rescue("edit_#{object.class.model_name.singular}_path(#{object.id})"), class: "btn btn-warning btn-xs", data: { toggle: 'tooltip', placement: 'top', title: 'Editar' } do %>
|
38
|
+
Editar <i class="fa fa-pencil fa-pen"></i>
|
32
39
|
<% end %>
|
33
40
|
<% end %>
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
41
|
+
<% if show_actions.include?('index') %>
|
42
|
+
<% if nested_resource %>
|
43
|
+
<%= link_to eval_with_rescue("#{parent_resource.class.model_name.singular}_#{object.class.model_name.plural}_path(#{parent_resource.id})"), class: "btn btn-default btn-xs", data: { toggle: 'tooltip', placement: 'top', title: 'Listagem' } do %>
|
44
|
+
Listagem <i class="fa fa-bars"></i>
|
45
|
+
<% end %>
|
46
|
+
<% else %>
|
47
|
+
<%= link_to eval_with_rescue("#{object.class.model_name.plural}_path"), class: "btn btn-default btn-xs", data: { toggle: 'tooltip', placement: 'top', title: 'Listagem' } do %>
|
48
|
+
Listagem <i class="fa fa-bars"></i>
|
49
|
+
<% end %>
|
50
|
+
<% end %>
|
38
51
|
<% end %>
|
39
52
|
<% end %>
|
40
|
-
<% if
|
41
|
-
|
42
|
-
<%= link_to 'Listagem', eval_with_rescue("#{parent_resource.class.model_name.singular}_#{object.class.model_name.plural}_path(#{parent_resource.id})"), class: "btn btn-default btn-xs" %>
|
43
|
-
<% else %>
|
44
|
-
<%= link_to 'Listagem', eval_with_rescue("#{object.class.model_name.plural}_path"), class: "btn btn-default btn-xs" %>
|
45
|
-
<% end %>
|
53
|
+
<% if block_given? %>
|
54
|
+
<%= yield %>
|
46
55
|
<% end %>
|
47
|
-
|
48
|
-
<% if block_given? %>
|
49
|
-
<%= yield %>
|
50
|
-
<% end %>
|
56
|
+
</h3>
|
51
57
|
</div>
|
52
58
|
<% end %>
|
53
59
|
<div class="box-body no-padding">
|
data/lib/zutils/version.rb
CHANGED
data/zutils.gemspec
CHANGED
@@ -32,7 +32,7 @@ Gem::Specification.new do |spec|
|
|
32
32
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
33
33
|
spec.require_paths = ["lib"]
|
34
34
|
|
35
|
-
spec.add_dependency 'rails', '~>
|
35
|
+
spec.add_dependency 'rails', '~> 6.0'
|
36
36
|
|
37
37
|
spec.add_development_dependency "bundler", "~> 1.16"
|
38
38
|
spec.add_development_dependency "rake", "~> 10.0"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zutils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ricardo Viana
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-02-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '6.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '6.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -68,6 +68,7 @@ files:
|
|
68
68
|
- app/assets/javascripts/zutils.js
|
69
69
|
- app/assets/stylesheets/zutils.scss
|
70
70
|
- app/views/shared/_action_links.html.erb
|
71
|
+
- app/views/shared/_card_list.html.erb
|
71
72
|
- app/views/shared/_fields.html.erb
|
72
73
|
- app/views/shared/_form.html.erb
|
73
74
|
- app/views/shared/_index.html.erb
|