- platform.pagination.template = self - referral_id = nil - if flash[:referral_entry] && referral_entry = flash[:referral_entry].clone.symbolize_keys - referral_id = (referral_entry[:platform] == platform.name && referral_entry[:id]) - if platform.custom_partial = render partial: "bhf/platform/#{platform.custom_partial}", locals: {platform: platform, referral_id: referral_id} - else - cached_partials = {} - local_names = [:column_value, :object, :link, :add_quick_link] %table.data_table{id: "#{platform.name}_platform", class: (platform.custom_columns? ? :custom_columns : :default_columns)} %caption %h4= platform.title - unless platform.hide_create %p.create= link_to new_t(platform), new_entry_path(platform.name), class: :alt_button - unless platform.custom_partial = render partial: 'search', locals: {platform: platform} if platform.search? %thead %tr - if platform.sortable %th.drag - platform.columns.each do |column| %th{class: "#{column.macro} #{column.display_type} #{order_class(column.db_name, platform.name)}"} = link_to_if column.reorderble, column.title, current_order_path(column.db_name, platform.name) %th.action %tfoot %tr - colspan_1 = platform.columns_count+1 - if platform.custom_footer - colspan_1 = (platform.columns_count / 2.to_f).ceil - colspan_2 = (platform.columns_count / 2.to_f).floor %td{colspan: colspan_1} = platform.pagination.create(platform) unless platform.sortable - if platform.custom_footer %td.custom_footer_td{colspan: colspan_2} = render partial: "bhf/platform/#{platform.custom_footer}", locals: { platform: platform } %tbody.quick_edit_block{class: ('js_sortable' if platform.sortable), data: {sort_url: sort_entries_path(platform.name)}} - if platform.objects.any? - platform.objects.each do |object| - edit_link = platform.hide_edit ? "##{object.id}_#{platform.name}" : edit_entry_path(platform.name, object) - custom_link = send(platform.custom_link, platform: platform.name, id: object) if platform.custom_link %tr.quick_edit_entry{id: "#{object.id}_#{platform.name}", class: ('animate live_edit initial_referral' if referral_id == object.id)} - if platform.sortable %td.drag %span.handle.icon   - platform.columns.each do |column| - css_classes = [column.macro, column.display_type] - respond_to_column = object.respond_to?(column.name) - column_value = object.send(column.name) if respond_to_column - if column.display_type == :primary_key && column_value.to_s.length > 6 - css_classes << :key_long %td{class: css_classes} - partial_name = if respond_to_column && column.display_type != :boolean && column_value.blank? - 'column/empty' - else - "#{column.macro}/#{column.display_type}" - cached_partials[partial_name] ||= lookup_context.find_template(partial_name, ['bhf/table'], true, local_names) - locals = {column_value: column_value, object: object, link: (platform.custom_link ? custom_link : edit_link), add_quick_link: (!platform.custom_link && platform.table_quick_edit)} = cached_partials[partial_name].render(self, locals) -# render(partial: "bhf/table/#{column.macro}/#{column.display_type}", locals: {column_value: column_value, object: object}) %td.action{class: ('wider' if platform.show_duplicate && !platform.hide_edit && !platform.hide_delete)} - if platform.show_duplicate - dt = duplicate_t(platform) = link_to dt, duplicate_entry_path(platform.name, object), class: 'icon duplicate', method: :post, title: dt - unless platform.hide_edit = link_to edit_t(platform), edit_link, class: 'icon edit' - unless platform.hide_delete = link_to delete_t(platform), entry_path(platform.name, object), method: :delete, remote: true, class: 'icon delete js_delete', data: {confirm: t('bhf.helpers.promts.confirm', platform_title: platform.title_singular)} - else %td.no_entries{colspan: platform.columns_count} = t 'bhf.pagination.info', name_zero: platform.title, count: 0 - unless platform.hide_create = link_to new_t(platform), new_entry_path(platform.name) - if platform.table_quick_edit .quick_edit_template{type: 'text/template'} %tr.quick_edit_entry{id: "{object_id}_#{platform.name}"} - edit_link = edit_entry_path(platform.name, '{object_id}') - if platform.sortable %td.drag %span.handle.icon   - platform.columns.each do |column| - css_classes = [column.macro, column.display_type] - custom_link = send(platform.custom_link, platform: platform.name, id: '{object_id}') if platform.custom_link %td{class: css_classes} = render(partial: "bhf/table/#{column.macro}/#{column.display_type}", locals: {column_value: "{#{column.name}}", object: platform.model.new, link: (platform.custom_link ? custom_link : edit_link), add_quick_link: (!platform.custom_link && platform.table_quick_edit)}) %td.action{class: ('wider' if platform.show_duplicate && !platform.hide_edit && !platform.hide_delete)} - if platform.show_duplicate - dt = duplicate_t(platform) = link_to dt, duplicate_entry_path(platform.name, '{object_id}'), class: 'icon duplicate', method: :post, title: dt - unless platform.hide_edit = link_to edit_t(platform), edit_link, class: 'icon edit' - unless platform.hide_delete = link_to delete_t(platform), entry_path(platform.name, '{object_id}'), method: :delete, remote: true, class: 'icon delete js_delete', data: {confirm: t('bhf.helpers.promts.confirm', platform_title: platform.title_singular)}