module CmAdmin::ViewHelpers

def checkbox_row(klass)

def checkbox_row(klass)
  tag.div class: 'row' do
    CmAdmin::Models::Export.exportable_columns(klass).each do |column|
      concat create_checkbox(column)
    end
  end
end

def column_pop_up(klass, required_filters = nil)

def column_pop_up(klass, required_filters = nil)
  tag.div class: 'modal fade form-modal', id: 'exportmodal', role: 'dialog', aria: { labelledby: 'exportModal' } do
    tag.div class: 'modal-dialog modal-lg', role: 'document' do
      tag.div class: 'modal-content' do
        concat pop_ups(klass, required_filters)
      end
    end
  end
end

def create_checkbox(column)

def create_checkbox(column)
  tag.div class: 'col-md-4' do
    concat check_box_tag 'columns[]', column.field_name, id: column.field_name.to_s.gsub('/', '-')
    concat " #{column.header.to_s.gsub('/', '_').humanize}"
  end
end

def exportable(_klass, html_class: [])

def exportable(_klass, html_class: [])
  tag.a 'Export as excel', class: html_class.append('filter-btn modal-btn me-2'), data: { toggle: 'modal', target: '#exportmodal' } do
    concat tag.i class: 'fa fa-download'
    concat tag.span ' Export'
  end
end

def humanized_ar_collection_count(count, model_name)

def humanized_ar_collection_count(count, model_name)
  table_name = count == 1 ? model_name.singularize : model_name.pluralize
  return "#{count} #{table_name.humanize.downcase} found"
end

def pop_up_body(klass, _required_filters)

def pop_up_body(klass, _required_filters)
  tag.div class: 'modal-body' do
    form_tag cm_admin.send('export_to_file_path'), id: 'export-to-file-form', style: 'width: 100%;', class: 'cm-admin-csv-export-form' do
      concat hidden_field_tag 'class_name', klass.name.to_s, id: 'export-to-file-klass'
      concat checkbox_row(klass)
      concat tag.hr
      # TODO: export-to-file-btn class is used for JS functionality, Have to remove 
      concat submit_tag 'Export', class: 'btn-primary export-to-file-btn' 
    end
  end
end

def pop_up_header

def pop_up_header
  tag.div class: 'modal-header' do
    tag.button type: 'button', class: 'close', data: { dismiss: 'modal' }, aria: { label: 'Close' } do
      tag.span 'X', aria: { hidden: 'true' }
    end
    tag.h4 'Select columns to export', class: 'modal-title', id: 'exportModal'
  end
end

def pop_ups(klass, required_filters)

def pop_ups(klass, required_filters)
  tag.div do
    concat pop_up_header
    concat pop_up_body(klass, required_filters)
  end
end