Browse Source

Only enhance select element once

pull/182/head
baarkerlounger 4 years ago
parent
commit
23a4f59e13
  1. 13
      app/webpacker/controllers/accessible_autocomplete_controller.js
  2. 8
      spec/features/form/accessible_autocomplete_spec.rb
  3. 11
      spec/fixtures/forms/2021_2022.json

13
app/webpacker/controllers/accessible_autocomplete_controller.js

@ -3,10 +3,15 @@ import accessibleAutocomplete from "accessible-autocomplete"
import 'accessible-autocomplete/dist/accessible-autocomplete.min.css'
export default class extends Controller {
static values = { enhanced: Boolean, default: false }
connect() {
accessibleAutocomplete.enhanceSelectElement({
defaultValue: '',
selectElement: this.element
})
if(!this.enhancedValue){
accessibleAutocomplete.enhanceSelectElement({
defaultValue: '',
selectElement: this.element
})
this.enhancedValue = true
}
}
}

8
spec/features/form/accessible_autocomplete_spec.rb

@ -24,4 +24,12 @@ RSpec.describe "Accessible Automcomplete" do
find("#case-log-la-field").click.native.send_keys("T", "h", "a", "n", :down, :enter)
expect(find("#case-log-la-field").value).to eq("Thanet")
end
it "maintains enhancement state across back navigation", js: true do
visit("/logs/#{case_log.id}/accessible-select")
find("#case-log-la-field").click.native.send_keys("T", "h", "a", "n", :down, :enter)
click_button("Save and continue")
click_link(text: "Back")
expect(page).to have_selector("input", class: "autocomplete__input", count: 1)
end
end

11
spec/fixtures/forms/2021_2022.json vendored

@ -193,11 +193,12 @@
"type": "select",
"check_answer_label": "Accessible Select",
"answer_options": {
"0": "Adur",
"1": "Lewisham",
"2": "Oxford",
"3": "Thanet",
"4": "York"
"" : "Select an option",
"E07000223": "Adur",
"E09000023": "Lewisham",
"E07000178": "Oxford",
"E07000114": "Thanet",
"E06000014": "York"
}
}
}

Loading…
Cancel
Save