{I" class:ETI"ProcessedAsset;FI"logical_path;TI"manage_repeating_fields.js;FI" pathname;TI"Z/Users/jfriesen/Repositories/curate/app/assets/javascripts/manage_repeating_fields.js;FI"content_type;TI"application/javascript;TI" mtime;Tl+Þ$aRI" length;Ti I" digest;TI"%dbcc006dea4dd9b99fe3d20031db553b;FI" source;TI" // This widget manages the adding and removing of repeating fields. // There are a lot of assumptions about the structure of the classes and elements. // These assumptions are reflected in the MultiValueInput class. (function($){ $.widget( "curate.manage_fields", { options: { change: null, add: null, remove: null }, _create: function() { this.element.addClass("managed"); $('.field-wrapper', this.element).addClass("input-append"); this.controls = $(""); this.remover = $(""); this.adder = $(""); $('.field-wrapper', this.element).append(this.controls); $('.field-wrapper:not(:last-child) .field-controls', this.element).append(this.remover); $('.field-controls:last', this.element).append(this.adder); this._on( this.element, { "click .remove": "remove_from_list", "click .add": "add_to_list" }); }, add_to_list: function( event ) { event.preventDefault(); var $activeField = $(event.target).parents('.field-wrapper'), $activeFieldControls = $activeField.children('.field-controls'), $removeControl = this.remover.clone(), $newField = $activeField.clone(), $listing = $('.listing', this.element), $warningSpan = $("cannot add new empty field"); if ($activeField.children('input').val() === '') { $listing.children('.warning').remove(); $listing.append($warningSpan); } else{ $listing.children('.warning').remove(); $('.add', $activeFieldControls).remove(); $activeFieldControls.prepend($removeControl); $newChildren = $newField.children('input'); $newChildren. val(''). removeProp('required'); $listing.append($newField); $newChildren.first().focus(); this._trigger("add"); } }, remove_from_list: function( event ) { event.preventDefault(); $(event.target) .parents('.field-wrapper') .remove(); this._trigger("remove"); }, _destroy: function() { this.actions.remove(); $('.field-wrapper', this.element).removeClass("input-append"); this.element.removeClass( "managed" ); } }); })(jQuery); ;TI"dependency_digest;TI"%9bd4acb974e76662d4b5fa0be500c6c0;FI"required_paths;T[I"Z/Users/jfriesen/Repositories/curate/app/assets/javascripts/manage_repeating_fields.js;FI"dependency_paths;T[{I" path;TI"Z/Users/jfriesen/Repositories/curate/app/assets/javascripts/manage_repeating_fields.js;FI" mtime;TI"2013-10-18T08:09:02-04:00;TI" digest;TI"%dbcc006dea4dd9b99fe3d20031db553b;FI" _version;TI"%ac1cd7cf9811f9938e2b8937c60a24e6;F