SurveyJS PDF Generator v2.0.7

Released: Apr 30, 2025

Updates in v2.0.7

Features

Added a New Loop and Merge Functionality

  • Added a "Loop and Merge" Demo:
    • Loop and Merge is a feature that allows you to repeat a group of questions and combine the responses into one data object.
    • The loop can either iterate over the same set of questions for each item or adjust dynamically based on user input.
    • Supported Question Types - A question loop can be created using one of the complex question types:
      • Single-Select Matrix.
      • Multi-Select Matrix.
      • Dynamic Matrix.
      • Dynamic Panel.
    • Single- and Multi-Select Matrices produce a predefined number of loops—one for each matrix row. In contrast, Dynamic Matrix and Dynamic Panel types allow users to add new entries during the survey, generating new loops on the fly.
    • Note: Loop and Merge requires the survey structure to change and display only one input field per survey page.
  • Added a "Breakable Loops" Demo:
    • Now allows respondents to repeat the same set of questions in a loop to add multiple entries.
    • Two question types can be used to create a breakable loop: Dynamic Panel and Dynamic Matrix.
    • Note: Regardless of the question type you choose, the loop can be enabled only if your survey displays one input field per page.
  • Added a "Nested Loops" Demo:
    • Now supports nested loops through its Loop and Merge functionality.
    • In a nested loop setup, an outer loop iterates over a primary list of items, while an inner loop handles a related set of sub-items.
    • Note: Nested loops can only be enabled if your survey displays one input field per page.

Fixes

  • File upload with a custom file preview displayed a "No file selected" message.
  • Dropdown with choicesByUrl would throw a "Maximum recursive updates exceeded" error when the survey is read-only, and the dropdown is pre-populated.
  • Dropdown: A selected choice item was displayed as an Other Value if choices are defined after assigning the question value in code.
  • navigationButtonsLocation: "topBottom" didn't apply.
  • Expression Question: An error was raised if maximumFractionDigits and minimumFractionDigits are swapped places.