Sha256: 1653a24ada649b049d665635bfd242c50906b4cb6b6f86b4a77b8fbdf410a52c

Contents?: true

Size: 1.52 KB

Versions: 12

Compression:

Stored size: 1.52 KB

Contents

function new_form_field(type) {
  if ($.inArray(type, ['text_field', 'select', 'radio', 'check_box']) == -1) {
    alert('Unknown field type.');
  } else {
    // find an index for the new form field (largest index plus one)
    var new_index = 0;
    $("#form-fields input[name$='[_type]']").each(function(i, el) {
      num = parseInt(el.id.replace(/form_fields_(\d+)__type/i, "$1"));
      if (new_index < num) new_index = num;
    });

    $.get('/admin/fields/new/', {
      'type': type,
      'index': (new_index + 1)
    },
    function(data) {
      $('#form-fields table tbody').append(data);
      setup_tooltips();
    });
  }

  return false;
}

function delete_form_field(button) {
  if (confirm('Are you sure?')) {
    $(button).closest('tr').remove();
  }
  return false;
}

function move_form_field(event) {
  direction = $(this).text().toLowerCase();
  row = $(this).closest('tr');
  if (direction == 'up') {
    row.prev('tr').before(row);
  } else {
    row.next('tr').after(row);
  }
  // COrrect indexes
  $("#form-fields tbody tr").each(function(i, row) {
    $(row).find("input").each(function(ri, input) {
      $(input).attr('id',  $(input).attr('id').replace(/_\d+_/,"_"+i+"_"));
      $(input).attr('name',  $(input).attr('name').replace(/\[\d+\]/,"["+i+"]"));
    });
    $(row).find("label").each(function(li, label) {
      $(label).attr('for',  $(label).attr('for').replace(/_\d+_/,"_"+i+"_"));
    });
  });
}
$('#form-fields .page_up').live('click',move_form_field);
$('#form-fields .page_down').live('click',move_form_field);

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
noodall-form-builder-0.0.13 public/javascripts/admin/formbuilder.js
noodall-form-builder-0.0.11 public/javascripts/admin/formbuilder.js
noodall-form-builder-0.0.10 public/javascripts/admin/formbuilder.js
noodall-form-builder-0.0.9 public/javascripts/admin/formbuilder.js
noodall-form-builder-0.0.8 public/javascripts/admin/formbuilder.js
noodall-form-builder-0.0.7 public/javascripts/admin/formbuilder.js
noodall-form-builder-0.0.6 public/javascripts/admin/formbuilder.js
noodall-form-builder-0.0.5 public/javascripts/admin/formbuilder.js
noodall-form-builder-0.0.4 public/javascripts/admin/formbuilder.js
noodall-form-builder-0.0.3 public/javascripts/admin/formbuilder.js
noodall-form-builder-0.0.2 public/javascripts/admin/formbuilder.js
noodall-form-builder-0.0.1 public/javascripts/admin/formbuilder.js