import ApplicationController from "./application_controller"; export default class extends ApplicationController { static targets = ["extraParams"]; static values = { reflex: String }; connect() { super.connect(); } perform() { let params = { bulk_ids: this.getSelectedIds() }; if (this.hasExtraParamsTarget) { Object.assign(params, this.extraFormData()); } this.stimulate(this.reflexValue, params); } // private getSelectedIds() { const checkboxes = document.querySelectorAll("table input[name='bulk_ids[]']:checked"); return Array.from(checkboxes).map((checkbox) => checkbox.value); } extraFormData() { if (this.extraParamsTarget.constructor.name !== "HTMLFormElement") { return {}; } return Object.fromEntries(new FormData(this.extraParamsTarget).entries()); } }