aboutsummaryrefslogtreecommitdiffstats
path: root/app/assets/javascripts
diff options
context:
space:
mode:
authorAlban Peignier2015-06-15 15:00:00 +0200
committerAlban Peignier2015-06-15 15:00:15 +0200
commitcb9b401df1cffdb4411378e13fb65174b6991c31 (patch)
tree5003eba0fbe5271db095282d44bc681e098b44f3 /app/assets/javascripts
parent275b1893722ec09bc04033344865bea399eb9ca3 (diff)
downloadchouette-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.coffee33
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 )