diff options
| author | Alban Peignier | 2015-06-15 15:00:00 +0200 |
|---|---|---|
| committer | Alban Peignier | 2015-06-15 15:00:15 +0200 |
| commit | cb9b401df1cffdb4411378e13fb65174b6991c31 (patch) | |
| tree | 5003eba0fbe5271db095282d44bc681e098b44f3 /app/assets/javascripts | |
| parent | 275b1893722ec09bc04033344865bea399eb9ca3 (diff) | |
| download | chouette-core-cb9b401df1cffdb4411378e13fb65174b6991c31.tar.bz2 | |
Manage optional attributes in ExportTask. Hide these fields in form. Refs #36455
Diffstat (limited to 'app/assets/javascripts')
| -rw-r--r-- | app/assets/javascripts/export_tasks/new.js.coffee | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/app/assets/javascripts/export_tasks/new.js.coffee b/app/assets/javascripts/export_tasks/new.js.coffee index 466486df6..f46711b6b 100644 --- a/app/assets/javascripts/export_tasks/new.js.coffee +++ b/app/assets/javascripts/export_tasks/new.js.coffee @@ -1,14 +1,31 @@ $(".export_tasks.new").ready -> + toggle_input = (li, enabled) -> + # Hide li block + li.toggle(enabled) + # Disable input/select to ignore it in POST data + li.find("input,select").attr("disabled", !enabled) + export_references_type_change = (event) -> + form = $(event.target).parents('form') + + # Display the reference_ids input for the selected type references_type = $(event.target).val() + for li in form.find("li.reference_ids") + li = $(li) + enabled = li.data("type") == references_type + toggle_input li, enabled + + disabled_inputs = form.find("li.input").not("li.reference_ids").find("input:disabled,select:disabled") + for disabled_input in disabled_inputs + li = $(disabled_input).parents('li') + toggle_input li, true + + hidden_attributes = $(event.target).find(":selected").data("hidden-attributes") + return unless hidden_attributes - toggle_input = (li) -> - enabled = (li.data("type") == references_type) - # Hide li block - li.toggle(enabled) - # Disable textarea to ignore it in POST data - li.find(".token-input").attr("disabled", !enabled) - - toggle_input($(li)) for li in $(event.target).parents('form').find("li.reference_ids") + hidden_attributes = hidden_attributes.split(',') + for attribute in hidden_attributes + li = form.find("##{form.attr('id')}_export_task_#{attribute}_input") + toggle_input li, false $('form select[name="export_task[references_type]"]').change( export_references_type_change ) |
