vendor/craue/formflow-bundle/Resources/views/FormFlow/buttons.html.twig line 1

Open in your IDE?
  1. {% set renderBackButton = flow.getFirstStepNumber() < flow.getLastStepNumber() and flow.getCurrentStepNumber() in (flow.getFirstStepNumber() + 1) .. flow.getLastStepNumber() %}
  2. {% set renderResetButton = craue_formflow_button_render_reset is defined ? craue_formflow_button_render_reset : true %}
  3. {% set buttonCount = 1 + (renderBackButton ? 1 : 0) + (renderResetButton ? 1 : 0) %}
  4. <div class="craue_formflow_buttons craue_formflow_button_count_{{ buttonCount }}">
  5.     {#
  6.         Default button (the one trigged by pressing the enter/return key) must be defined first.
  7.         Thus, all buttons are defined in reverse order and will be reversed again via CSS.
  8.         See http://stackoverflow.com/questions/1963245/multiple-submit-buttons-specifying-default-button
  9.     #}
  10.     {%- set isLastStep = flow.getCurrentStepNumber() == flow.getLastStepNumber() -%}
  11.     {%- set craue_formflow_button_class_last = craue_formflow_button_class_last | default('craue_formflow_button_last') -%}
  12.     {%- set craue_formflow_button_class_last = isLastStep
  13.             ? craue_formflow_button_class_finish | default(craue_formflow_button_class_last)
  14.             : craue_formflow_button_class_next | default(craue_formflow_button_class_last)
  15.         -%}
  16.     {%- set craue_buttons = [
  17.             {
  18.                 label: craue_formflow_button_label_last | default(isLastStep ? craue_formflow_button_label_finish | default('button.finish') : craue_formflow_button_label_next | default('button.next')),
  19.                 render: true,
  20.                 attr: {
  21.                     class: craue_formflow_button_class_last,
  22.                 },
  23.             },
  24.             {
  25.                 label: craue_formflow_button_label_back | default('button.back'),
  26.                 render: renderBackButton,
  27.                 attr: {
  28.                     class: craue_formflow_button_class_back | default(''),
  29.                     name: flow.getFormTransitionKey(),
  30.                     value: 'back',
  31.                     formnovalidate: 'formnovalidate',
  32.                 },
  33.             },
  34.             {
  35.                 label: craue_formflow_button_label_reset | default('button.reset'),
  36.                 render: renderResetButton,
  37.                 attr: {
  38.                     class: craue_formflow_button_class_reset | default('craue_formflow_button_first'),
  39.                     name: flow.getFormTransitionKey(),
  40.                     value: 'reset',
  41.                     formnovalidate: 'formnovalidate',
  42.                 },
  43.             },
  44.         ] -%}
  45.     {% for button in craue_buttons %}
  46.         {% if button.render %}
  47.             <button type="submit"{% for key, value in button.attr %} {{ key }}="{{ value }}"{% endfor %}>
  48.                 {{- button.label | trans({}, 'CraueFormFlowBundle') -}}
  49.             </button>
  50.         {% endif %}
  51.     {% endfor %}
  52. </div>