diff options
| -rw-r--r-- | app/helpers/application_helper.rb | 2 | ||||
| -rw-r--r-- | app/helpers/pagination_helper.rb | 8 | ||||
| -rw-r--r-- | app/helpers/refobjects_helper.rb | 27 | ||||
| -rw-r--r-- | app/views/companies/_companies.html.slim | 6 | ||||
| -rw-r--r-- | app/views/referential_companies/index.js.slim | 2 |
5 files changed, 37 insertions, 8 deletions
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 0aa106028..132b7dcaa 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1,5 +1,7 @@ module ApplicationHelper + include RefobjectsHelper + def font_awesome_classic_tag(name) name = "fa-file-text-o" if name == "fa-file-csv-o" name = "fa-file-code-o" if name == "fa-file-xml-o" diff --git a/app/helpers/pagination_helper.rb b/app/helpers/pagination_helper.rb index c0e28ab56..e373629af 100644 --- a/app/helpers/pagination_helper.rb +++ b/app/helpers/pagination_helper.rb @@ -3,9 +3,9 @@ module PaginationHelper def paginated_content(models, default_partial_name = nil, options = {}) default_options = {:delete => true, :edit => true} options = default_options.merge(options) - - return "" if models.blank? - + + # return "" if models.blank? + html = "" models.each_slice(3) do |row_models| html += '<div class="row">' @@ -16,6 +16,6 @@ module PaginationHelper html += '</div>' end - html.html_safe + return html.html_safe unless models.blank? end end diff --git a/app/helpers/refobjects_helper.rb b/app/helpers/refobjects_helper.rb new file mode 100644 index 000000000..c4a93134b --- /dev/null +++ b/app/helpers/refobjects_helper.rb @@ -0,0 +1,27 @@ +module RefobjectsHelper + + def table_builder collection, columns, cls = nil + return unless collection.present? + + head = content_tag :thead do + content_tag :tr do + columns.each do |col| + concat content_tag(:th, collection.first.respond_to?(col) ? col.to_s.titleize : "Doesn't exist") + end + end + end + + body = content_tag :tbody do + collection.collect { |item| + content_tag :tr do + columns.collect { |col| + concat content_tag(:td, item.try(col)) + }.to_s.html_safe + end + }.join().html_safe + end + + content_tag :table, head.concat(body), class: cls + end + +end diff --git a/app/views/companies/_companies.html.slim b/app/views/companies/_companies.html.slim index bcd471cc7..8891912f0 100644 --- a/app/views/companies/_companies.html.slim +++ b/app/views/companies/_companies.html.slim @@ -2,8 +2,8 @@ span.search = t('will_paginate.page_entries_info.search') = page_entries_info(@companies) -.companies.paginated_content - = paginated_content(@companies) +.companies.paginated_content style="margin-top:20px;" + = table_builder @companies, [:name, :edited_at, :published_at, :validity_period, :lines, :transporter, :status], 'table table-bordered' .pagination - = will_paginate @companies, :container => false, renderer: RemoteBootstrapPaginationLinkRenderer
\ No newline at end of file + = will_paginate @companies, :container => false, renderer: RemoteBootstrapPaginationLinkRenderer diff --git a/app/views/referential_companies/index.js.slim b/app/views/referential_companies/index.js.slim index cfb1c719c..3a1739abf 100644 --- a/app/views/referential_companies/index.js.slim +++ b/app/views/referential_companies/index.js.slim @@ -1 +1 @@ -| $('#companies').html("= escape_javascript(render('companies'))");
\ No newline at end of file +/ | $('#companies').html("= escape_javascript(render('companies'))"); |
