{I" class:ETI"ProcessedAsset;FI"logical_path;TI"subdivision_select.js;FI" pathname;TI"T/Users/sean/dev/subdivision_select/app/assets/javascripts/subdivision_select.js;FI"content_type;TI"application/javascript;TI" mtime;Tl+"M@UI" length;TiÝI" digest;TI"%6d602f40e29332a73ec351ac23071213;FI" source;TI"Ývar SubdivisionSelect = (function() { function SubdivisionSelect(element) { this._countrySelect = element; this._subdivisionSelect = $(element). closest("form"). find(SubdivisionSelect.subdivisionSelector); }; SubdivisionSelect.subdivisionSelector = "select.subdivision-selector"; SubdivisionSelect.countrySelector = "select[id$=country]"; SubdivisionSelect.init = function () { var klass = this; return $(klass.countrySelector).each(function() { return new klass(this).init(); }); }; SubdivisionSelect.prototype.init = function() { var self = this; $(this._countrySelect).change(function() { $.ajax( { url: "/subdivisions", data: { country_code: $(this).val() } }).success(function(newSubdivisions) { self._clearSubdivisionSelect(); self._updateSubdivisionSelect(newSubdivisions); }); }); }; SubdivisionSelect.prototype._updateSubdivisionSelect = function(newSubdivisions) { var self = this; var isEmpty = $.isEmptyObject(newSubdivisions); $.each(newSubdivisions, function(alpha2, name) { self._subdivisionSelect.append($("").attr("value", alpha2).text(name)); }); // Disable the select if there are no newSubdivisions (and un-do that once there are some) self._subdivisionSelect.prop("disabled", isEmpty); // If there are none, make it say "none" if (isEmpty) { self._subdivisionSelect.append($("").text("none")); } }; // Not only empty the select, but: // if the first element is blank, add a blank element before all others SubdivisionSelect.prototype._clearSubdivisionSelect = function() { var includeBlank = this._subdivisionSelect.children().first().text() === ""; this._subdivisionSelect.empty(); if (includeBlank) { this._subdivisionSelect.append($("")); } }; return SubdivisionSelect; })(); $(function() { SubdivisionSelect.init(); }); ;TI"dependency_digest;TI"%80c7abe1fa06b161492f6beb53169b9f;FI"required_paths;T[I"T/Users/sean/dev/subdivision_select/app/assets/javascripts/subdivision_select.js;FI"dependency_paths;T[{I" path;TI"T/Users/sean/dev/subdivision_select/app/assets/javascripts/subdivision_select.js;FI" mtime;TI"2015-04-28T23:16:50-04:00;TI" digest;TI"%6d602f40e29332a73ec351ac23071213;FI" _version;TI"%64e62ddc273c2f5847f30d698ca14b67;F