diff --git a/js/components/forms/multi_step_modal_form.js b/js/components/forms/multi_step_modal_form.js index 4bf540e0..da2cc5d4 100644 --- a/js/components/forms/multi_step_modal_form.js +++ b/js/components/forms/multi_step_modal_form.js @@ -18,7 +18,9 @@ export default { optionsinput, }, - props: {}, + props: { + steps: Number, + }, data: function() { return { @@ -65,6 +67,15 @@ export default { handleModalOpen: function(_bool) { this.step = 0 }, + _onLastPage: function() { + return this.step === this.steps - 1 + }, + handleSubmit: function(e) { + if (this.invalid || !this._onLastPage()) { + e.preventDefault() + this.next() + } + }, }, computed: {}, diff --git a/templates/components/multi_step_modal_form.html b/templates/components/multi_step_modal_form.html index cf0acd82..5b068fdc 100644 --- a/templates/components/multi_step_modal_form.html +++ b/templates/components/multi_step_modal_form.html @@ -27,14 +27,14 @@ {% macro MultiStepModalForm(name, form, form_action, steps, button_text="", dismissable=False) -%} {% set step_count = steps|length %} - +
{{ button_text }} {{ Icon('plus-circle-solid') }} {% call Modal(name=name, dismissable=dismissable, classes="wide") %} -
+ {{ form.csrf_token }}
{% for step in steps %} diff --git a/templates/fragments/admin/add_new_portfolio_member.html b/templates/fragments/admin/add_new_portfolio_member.html index 656ae31b..1e09dce6 100644 --- a/templates/fragments/admin/add_new_portfolio_member.html +++ b/templates/fragments/admin/add_new_portfolio_member.html @@ -68,7 +68,6 @@