templates/bundles/FormFlowBundle/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_back | default('button.back'),
  19. render: renderBackButton,
  20. attr: {
  21. class: craue_formflow_button_class_back | default(''),
  22. name: flow.getFormTransitionKey(),
  23. value: 'back',
  24. formnovalidate: 'formnovalidate',
  25. tabindex: 2
  26. },
  27. },
  28. {
  29. label: craue_formflow_button_label_last | default(isLastStep ? craue_formflow_button_label_finish | default('button.finish') : craue_formflow_button_label_next | default('button.next')),
  30. render: true,
  31. attr: {
  32. class: craue_formflow_button_class_last,
  33. id: 'next-btn',
  34. tabindex: 1
  35. },
  36. },
  37. ] -%}
  38. {% for button in craue_buttons %}
  39. {% if button.render %}
  40. <button type="submit"{% for key, value in button.attr %} {{ key }}="{{ value }}"{% endfor %}>
  41. {{- button.label | trans({}, 'CraueFormFlowBundle') -}}
  42. </button>
  43. {% endif %}
  44. {% endfor %}
  45. </div>