SumOfUs/Champaign

View on GitHub
app/views/plugins/call_tools/_target_form.slim

Summary

Maintainability
Test Coverage
- name = "plugins_call_tool_#{plugin.id}"

javascript:
  Dropzone.options.targetsDropzone = false;
  $(function() {
    new Dropzone('#targets-dropzone', {
      paramName: 'plugins_call_tool[targets_csv_file]',
      clickable: '#targets-dropzone__clickable',
      init: function() {
        this.on('complete', function(file) {
          $('.call-tool__target-form').html(file.xhr.responseText);
          $('##{name}_target_by_attributes').selectize();
        });
      }
    });
  });

- if plugin.targets.any?
  = form_for plugin, remote: true, as: name, html: { class: 'form-element one-form' }, data: { type: name }  do |f|
    = render partial: 'plugins/call_tools/dynamic_targetting.slim', locals: { plugin: plugin, f: f }

- if plugin.errors.present?
  .error-msg
    span Something went wrong, please make sure the uploaded file has the correct format
    ul
      - plugin.errors.full_messages.each do |error|
        li = error

.well.targets-section
  = form_tag targets_plugins_call_tool_path(plugin), method: :post, id: 'targets-dropzone', class: 'targets-form form-inline dropzone', multipart: true
    = label_tag_with_tooltip( :targets_csv_file, 'Targets CSV', t('tooltips.call_tool.targets'))
    = button_tag "Choose file", id: 'targets-dropzone__clickable', type: 'button', class: 'btn btn-default choose-file-btn'

  = render partial: 'plugins/call_tools/targets', locals: { plugin: plugin }
  - if plugin.targets.present?
    = link_to "Export", export_targets_plugins_call_tool_path(plugin),  id: 'targets-export-btn', class: 'btn btn-default'