diff --git a/Gemfile.lock b/Gemfile.lock index 97d0f54..031ca6b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - turbo_material (0.1.9) + turbo_material (0.2.0) importmap-rails (~> 2.0.1) rails (~> 7.1, >= 7.1.2) stimulus-rails (~> 1.3) diff --git a/app/assets/javascripts/turbo_material/material_select_controller.js b/app/assets/javascripts/turbo_material/material_select_controller.js index 9459eb6..943fe9e 100644 --- a/app/assets/javascripts/turbo_material/material_select_controller.js +++ b/app/assets/javascripts/turbo_material/material_select_controller.js @@ -1,10 +1,17 @@ import { Controller } from "@hotwired/stimulus"; export default class extends Controller { - connect() { - const select = mdc.select.MDCSelect.attachTo(this.element) - } + connect() { + const select = mdc.select.MDCSelect.attachTo(this.element); + select.listen("MDCSelect:change", () => { + select.root.dispatchEvent( + new CustomEvent("submit-now", { + bubbles: true, + cancelable: true, + }), + ); + }); + } - disconnect() { - } + disconnect() {} } diff --git a/app/views/components/_select.html.erb b/app/views/components/_select.html.erb index 8d783f7..5b72e11 100644 --- a/app/views/components/_select.html.erb +++ b/app/views/components/_select.html.erb @@ -1,5 +1,5 @@ -<%# locals: (form:, disabled: false, required: false, name:, label: nil, id:, checked: false, value: nil, parent: nil, frame: nil, selected_text: nil, fixed: false, options: [], hint: nil, helper: nil, additional_classes: 'w-full') %> -