diff --git a/app/assets/javascripts/forms.js.coffee b/app/assets/javascripts/forms.js.coffee index 4e862dea8..25fd2d5fd 100644 --- a/app/assets/javascripts/forms.js.coffee +++ b/app/assets/javascripts/forms.js.coffee @@ -28,9 +28,22 @@ App.Forms = input: -> $("[name='#{this.name}']").val($(this).val()) + hideOrShowFieldsAfterSelection: -> + $("[name='progress_bar[kind]']").on + change: -> + title_field = $("[name^='progress_bar'][name$='[title]']").parent() + + if this.value == "primary" + title_field.addClass("hide") + else + title_field.removeClass("hide") + + $("[name='progress_bar[kind]']").change() + initialize: -> App.Forms.disableEnter() App.Forms.submitOnChange() App.Forms.toggleLink() App.Forms.synchronizeInputs() + App.Forms.hideOrShowFieldsAfterSelection() false diff --git a/spec/shared/features/progressable.rb b/spec/shared/features/progressable.rb index ec4cdca29..870e61825 100644 --- a/spec/shared/features/progressable.rb +++ b/spec/shared/features/progressable.rb @@ -34,6 +34,8 @@ shared_examples "progressable" do |factory_name, path_name| select "Primary", from: "Type" + expect(page).not_to have_field "Title" + fill_in "Current progress", with: 43 click_button "Create Progress bar" @@ -65,6 +67,9 @@ shared_examples "progressable" do |factory_name, path_name| visit path within("#progress_bar_#{bar.id}") { click_link "Edit" } + expect(page).to have_field "Current progress" + expect(page).not_to have_field "Title" + fill_in "Current progress", with: 44 click_button "Update Progress bar"