carnival 0.1.7 → 0.1.8
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
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c73e986f6ea765613317eca4b2db3a284c46b411
|
4
|
+
data.tar.gz: 509a5db0e41ac5ca5685b43930eac422c3837bb2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4203a70cd1e1562d2a641435c2e158152bac8cac5868498fa9e92ff828dd4f865050814d452ecf9114b2acfbf4848a1b20da6777f6ec65a5e0ee1183504c4d1c
|
7
|
+
data.tar.gz: 3abe8e82e19d87cdef62f1c798a5ce2a0eac1e33c3bd27380204329a5dc9f31bd0b11cb8ebdf3ecbbbf1cd23925394aa29b536a19477e2db52ae296e803a19a1
|
@@ -50,7 +50,8 @@
|
|
50
50
|
%select{"onchange" => "javascript:Carnival.sortIndexList(this)"}
|
51
51
|
- @thead_renderer.columns.each do |column|
|
52
52
|
- if column[:sort_function] != ''
|
53
|
-
%option{ :selected => column[:name] == @query_form.sort_column , :data => {column_name: "#{column[:name]}", sort_dir: "
|
53
|
+
%option{ :selected => column[:name] == @query_form.sort_column && 'asc' == @query_form.sort_direction, :data => {column_name: "#{column[:name]}", sort_dir: "asc"} , "class" => "#{column[:class]}"}= "#{translate_field(presenter, column[:field])} - ▲".html_safe
|
54
|
+
%option{ :selected => column[:name] == @query_form.sort_column && 'desc' == @query_form.sort_direction, :data => {column_name: "#{column[:name]}", sort_dir: "desc"} , "class" => "#{column[:class]}"}= "#{translate_field(presenter, column[:field])} - ▼".html_safe
|
54
55
|
|
55
56
|
- if @records.any?
|
56
57
|
|
@@ -69,7 +70,7 @@
|
|
69
70
|
= link_to t('download_as_csv'), presenter.model_path(:index, {:format => 'csv'}.merge(params)), :class => "carnival-action-button pdf" if presenter.has_action?(:csv)
|
70
71
|
= link_to t('download_as_pdf'), presenter.model_path(:index, {:format => 'pdf'}.merge(params)), :class => "carnival-action-button csv" if presenter.has_action?(:pdf)
|
71
72
|
|
72
|
-
- else
|
73
|
+
- else
|
73
74
|
.empty-result
|
74
75
|
%h1
|
75
76
|
= t('no_results')
|
@@ -77,4 +78,4 @@
|
|
77
78
|
%span
|
78
79
|
Adicionar novo registro
|
79
80
|
- presenter.actions_for_page.each do |key, action|
|
80
|
-
= render '/carnival/shared/action_default', :label=>t("#{presenter.model_name}.#{action.name}", default: t("carnival.#{action.name}")), :path=> action.path(presenter)
|
81
|
+
= render '/carnival/shared/action_default', :label=>t("#{presenter.model_name}.#{action.name}", default: t("carnival.#{action.name}")), :path=> action.path(presenter)
|
@@ -26,7 +26,9 @@ pt-BR:
|
|
26
26
|
updated: Alterado com sucesso!
|
27
27
|
select: Selecione
|
28
28
|
minimize: Minimizar
|
29
|
-
sort_by: Ordenar
|
29
|
+
sort_by: Ordenar po
|
30
|
+
asc: Crescente
|
31
|
+
desc: Decrescente
|
30
32
|
download_as_csv: Baixar como CSV
|
31
33
|
download_as_pdf: Baixar como PDF
|
32
34
|
no_results: Não foram encontrados resultados
|
@@ -257,4 +259,3 @@ pt-BR:
|
|
257
259
|
even: "precisa ser par"
|
258
260
|
models:
|
259
261
|
admin_user: Usuário Administrador
|
260
|
-
|
data/lib/carnival/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: carnival
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vizir Software Studio
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-03-
|
11
|
+
date: 2015-03-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -447,7 +447,6 @@ files:
|
|
447
447
|
- app/datatable/carnival/generic_datatable/column_sorter_creator.rb
|
448
448
|
- app/datatable/carnival/generic_datatable/relation_column_sorter.rb
|
449
449
|
- app/helpers/carnival/base_admin_helper.rb
|
450
|
-
- app/helpers/carnival/base_admin_helper.rb.orig
|
451
450
|
- app/helpers/carnival/field_renderers/field_renderer.rb
|
452
451
|
- app/helpers/carnival/field_renderers/many_relation_renderer.rb
|
453
452
|
- app/helpers/carnival/field_renderers/renderer_creator.rb
|
@@ -589,7 +588,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
589
588
|
version: '0'
|
590
589
|
requirements: []
|
591
590
|
rubyforge_project:
|
592
|
-
rubygems_version: 2.
|
591
|
+
rubygems_version: 2.2.2
|
593
592
|
signing_key:
|
594
593
|
specification_version: 4
|
595
594
|
summary: Carnival is an easy-to-use and extensible Rails Engine to speed the development
|
@@ -1,250 +0,0 @@
|
|
1
|
-
module Carnival
|
2
|
-
module BaseAdminHelper
|
3
|
-
def set_resource_actived_if_current(path)
|
4
|
-
(request.fullpath == path)? 'actived' : ''
|
5
|
-
end
|
6
|
-
|
7
|
-
def show_messages
|
8
|
-
@messages = ''
|
9
|
-
flash.each do |type, message|
|
10
|
-
@messages = message
|
11
|
-
@type = type
|
12
|
-
end
|
13
|
-
javascript = "noty({'text':'#{@messages}',
|
14
|
-
'layout':'bottom','type':'#{@type}',
|
15
|
-
'animation': {'close':{'height':'toggle'}, 'open':{'height':'toggle'},'speed':500},'timeout':4000,
|
16
|
-
'closeWith':['click', 'hover']});"
|
17
|
-
return javascript if defined?(@type)
|
18
|
-
''
|
19
|
-
end
|
20
|
-
|
21
|
-
def caminho_modelo(action, extra_params=nil)
|
22
|
-
params = {controller: controller.controller_name, action: action}
|
23
|
-
params = params.merge(extra_params) if extra_params.present?
|
24
|
-
url_for(params)
|
25
|
-
end
|
26
|
-
|
27
|
-
def carnival_render_if_exist partial_path
|
28
|
-
if partial_exist?(partial_path)
|
29
|
-
return render partial_path
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
def partial_exist? partial_path
|
34
|
-
File.exists?(get_partial_path(partial_path))
|
35
|
-
end
|
36
|
-
|
37
|
-
def has_many_relation? model, field
|
38
|
-
klass = Carnival::KlassService.new model.class
|
39
|
-
klass.is_a_has_many_relation?(field.to_sym)
|
40
|
-
end
|
41
|
-
|
42
|
-
def has_one_relation? model, field
|
43
|
-
klass = Carnival::KlassService.new model.class
|
44
|
-
klass.is_a_has_one_relation?(field.to_sym)
|
45
|
-
end
|
46
|
-
|
47
|
-
def many_to_many_relation? model, field
|
48
|
-
klass = Carnival::KlassService.new model.class
|
49
|
-
klass.is_a_many_to_many_relation?(field.to_sym)
|
50
|
-
end
|
51
|
-
|
52
|
-
def get_partial_path partial_path
|
53
|
-
path = Rails.root.join('app', 'views')
|
54
|
-
partial_path_array = partial_path.split('/')
|
55
|
-
partial_path_array.each do |pp|
|
56
|
-
if pp == partial_path_array.last
|
57
|
-
path = path.join "_#{pp}.html.haml"
|
58
|
-
else
|
59
|
-
path = path.join pp
|
60
|
-
end
|
61
|
-
end
|
62
|
-
path
|
63
|
-
end
|
64
|
-
|
65
|
-
def menu_link link
|
66
|
-
link.strip!
|
67
|
-
if link.to_s.end_with?('_path') or link.to_s.end_with?('_url')
|
68
|
-
return eval link
|
69
|
-
elsif link.index(/_path.+/) #path with arguments
|
70
|
-
return eval link
|
71
|
-
end
|
72
|
-
|
73
|
-
link
|
74
|
-
end
|
75
|
-
|
76
|
-
def show_view(presenter, field)
|
77
|
-
presenter.get_field(field).show_view
|
78
|
-
end
|
79
|
-
|
80
|
-
def show_as_list(presenter, field)
|
81
|
-
current_type = presenter.field_type(field)
|
82
|
-
if current_type != :relation
|
83
|
-
false
|
84
|
-
else
|
85
|
-
presenter.get_field(field).show_as_list
|
86
|
-
end
|
87
|
-
end
|
88
|
-
|
89
|
-
<<<<<<< HEAD
|
90
|
-
def field_to_show(presenter, field_name, record, show_only_values=false)
|
91
|
-
if presenter.fields[field_name].params[:as] == :partial
|
92
|
-
raw(render field_name.to_s, record: record)
|
93
|
-
else
|
94
|
-
rendered = field_value_and_type presenter, field_name, record
|
95
|
-
field_type = rendered[:field_type]
|
96
|
-
value = rendered[:value]
|
97
|
-
|
98
|
-
is_relation = presenter.relation_field?(field_name)
|
99
|
-
=======
|
100
|
-
def field_to_show(presenter, field_name, record, show_only_value=false)
|
101
|
-
rendered = field_value_and_type presenter, field_name, record
|
102
|
-
field_type = rendered[:field_type]
|
103
|
-
value = rendered[:value]
|
104
|
-
|
105
|
-
is_relation = presenter.relation_field?(field_name)
|
106
|
-
>>>>>>> 43cbab7664a6b7fd7b42b86626ec2bb9953b5711
|
107
|
-
|
108
|
-
unless value.nil?
|
109
|
-
formatted_field = format_field(presenter, field_name, field_type, value)
|
110
|
-
if is_relation and !show_only_values
|
111
|
-
link_to(formatted_field, presenter.relation_path(field_name, record))
|
112
|
-
else
|
113
|
-
formatted_field
|
114
|
-
end
|
115
|
-
else
|
116
|
-
nil
|
117
|
-
end
|
118
|
-
end
|
119
|
-
end
|
120
|
-
|
121
|
-
def field_value_and_type presenter, field_name, record
|
122
|
-
renderer = FieldRenderers::RendererCreator
|
123
|
-
.create_field_renderer(presenter, field_name)
|
124
|
-
|
125
|
-
rendered = renderer.render_field(record)
|
126
|
-
end
|
127
|
-
|
128
|
-
def is_image? field_type, value
|
129
|
-
field_type.nil? and value.class.to_s == "Paperclip::Attachment" and value.content_type.include? "image"
|
130
|
-
end
|
131
|
-
|
132
|
-
def format_field(presenter, field_name, field_type, value)
|
133
|
-
if is_image?(field_type, value)
|
134
|
-
"<img class='attr' src='#{value.url(:thumb)}' alt='#{translate_field(presenter, field_name)}' />"
|
135
|
-
else
|
136
|
-
case field_type
|
137
|
-
when :datetime
|
138
|
-
begin
|
139
|
-
I18n.l(value, format: :long_date)
|
140
|
-
rescue I18n::MissingTranslationData
|
141
|
-
value.strftime("%d/%m/%y %H:%M:%S")
|
142
|
-
end
|
143
|
-
when :date
|
144
|
-
begin
|
145
|
-
I18n.l(value, format: :short_date)
|
146
|
-
rescue I18n::MissingTranslationData
|
147
|
-
value.strftime("%d/%m/%Y")
|
148
|
-
end
|
149
|
-
when :number
|
150
|
-
number_with_precision(value, :precision => 2, :separator => ",")
|
151
|
-
when :enum
|
152
|
-
presenter.model_class.const_get(field_name.upcase)[value]
|
153
|
-
else
|
154
|
-
value
|
155
|
-
end
|
156
|
-
end
|
157
|
-
end
|
158
|
-
|
159
|
-
def translate_field(presenter, field_name)
|
160
|
-
field = presenter.get_field(field_name)
|
161
|
-
field_key = field.name_for_translation
|
162
|
-
presenter.full_model_name.classify.constantize.human_attribute_name field_key
|
163
|
-
end
|
164
|
-
|
165
|
-
def list_cel(presenter, field, record, only_render_fields)
|
166
|
-
result = field_to_show(presenter, field, record, only_render_fields)
|
167
|
-
return result if only_render_fields
|
168
|
-
td = "<td class='first-td'>"
|
169
|
-
return "#{td}<span class='#{get_css_class(presenter, field, record)}'>#{result}</span></td>" if presenter.get_field(field).css_class.present?
|
170
|
-
"#{td}#{result}</td>"
|
171
|
-
end
|
172
|
-
|
173
|
-
def grid_attr(presenter, field, record, only_render_fields)
|
174
|
-
result = field_to_show(presenter, field, record, only_render_fields)
|
175
|
-
return result if only_render_fields
|
176
|
-
list_attr(presenter, field, record, only_render_fields)
|
177
|
-
end
|
178
|
-
|
179
|
-
def list_attr(presenter, field, record, only_render_fields)
|
180
|
-
result = field_to_show(presenter, field, record, only_render_fields)
|
181
|
-
return result if only_render_fields
|
182
|
-
return "<div class='attr'><div class='label #{field}'>#{translate_field(presenter, field)}:</div><div class='field_value #{field} #{get_css_class(presenter, field, record)}'>#{result}</div></div>" if presenter.get_field(field).css_class.present?
|
183
|
-
"<div class='attr'><div class='label #{field}'>#{translate_field(presenter, field)}:</div><div class='field_value #{field}'>#{result}</div></div>"
|
184
|
-
end
|
185
|
-
|
186
|
-
def get_css_class presenter, field, record
|
187
|
-
css_class = presenter.get_field(field).css_class
|
188
|
-
return '' if !css_class
|
189
|
-
return record.send(css_class[:method]) if css_class.is_a? Hash
|
190
|
-
return css_class if css_class.is_a? String
|
191
|
-
return ''
|
192
|
-
end
|
193
|
-
|
194
|
-
def list_buttons(presenter, record)
|
195
|
-
result = ""
|
196
|
-
presenter.actions_for_record.each do |key, record_action|
|
197
|
-
if presenter.before_action(record_action, params[:action])
|
198
|
-
if record_action.show(record)
|
199
|
-
if record_action.remote?
|
200
|
-
result << button_action_remote(record_action, presenter, record)
|
201
|
-
else
|
202
|
-
result << button_action(record_action, presenter, record)
|
203
|
-
end
|
204
|
-
end
|
205
|
-
end
|
206
|
-
end
|
207
|
-
result
|
208
|
-
end
|
209
|
-
|
210
|
-
def button_action(action, presenter, record)
|
211
|
-
label = t("#{presenter.model_name.underscore}.#{action.name}", default: t("carnival.#{action.name}"))
|
212
|
-
path = action.path(presenter, :id => record.id)
|
213
|
-
if action.default_partial == :default
|
214
|
-
"<a class='carnival-action-link #{label.parameterize}' href='#{path}'>#{label}</a>"
|
215
|
-
elsif action.default_partial == :delete
|
216
|
-
confirm = I18n.t("are_you_sure")
|
217
|
-
"<a class='carnival-action-link apagar' data-confirm='#{confirm}' data-method='delete' href='#{path}' rel='nofollow'>#{label}</a>"
|
218
|
-
end
|
219
|
-
end
|
220
|
-
|
221
|
-
def button_action_remote(action, presenter, record)
|
222
|
-
name = action.name
|
223
|
-
params = action.params
|
224
|
-
label = t("#{presenter.model_name}.#{action.name}", default: t("carnival.#{action.name}"))
|
225
|
-
path = action.path(presenter, :id => record.id)
|
226
|
-
|
227
|
-
success_callback = "#{name}_success_callback"
|
228
|
-
if params[:success]
|
229
|
-
success_callback = params[:success]
|
230
|
-
end
|
231
|
-
|
232
|
-
error_callback = "#{name}_error_callback"
|
233
|
-
if params[:error]
|
234
|
-
error_callback = params[:error]
|
235
|
-
end
|
236
|
-
|
237
|
-
data_overlay = ''
|
238
|
-
if params[:show_overlay]
|
239
|
-
data_overlay = 'data-carnival-show-overlay=true'
|
240
|
-
end
|
241
|
-
|
242
|
-
params[:show_overlay] = false if params[:show_overlay].nil?
|
243
|
-
|
244
|
-
remote_function = "Carnival.remoteFunction(\"#{path}\", \"#{success_callback}\", \"#{error_callback}\", \"#{params[:method]}\", {} ,#{params[:show_overlay]})"
|
245
|
-
|
246
|
-
"<a class='carnival-action-link editar' href='javascript:#{remote_function}'>#{label}</a>"
|
247
|
-
end
|
248
|
-
|
249
|
-
end
|
250
|
-
end
|