SurveyJS v1.9.88
Released: May 17, 2023
SurveyJS v1.9.88 introduces conditional visibility for panels within Dynamic Panel and includes various improvements and bug fixes.
Dynamic Panel: Conditional Visibility for Inner Panels
The new release introduces the templateVisibleIf
property to Dynamic Panel questions. This property enables you to specify a Boolean expression that controls the visibility of inner panels. When the expression evaluates to false
, a panel becomes hidden. You can use the {panel}
placeholder to reference the current panel in the expression.
Visible panels are added to the visiblePanels
array. If you need to get the number of visible panels, use the visiblePanelCount
property.
const visiblePanels = survey.getQuestionByName("my-dynamic-panel").visiblePanels;
const visiblePanelCount = survey.getQuestionByName("my-dynamic-panel").visiblePanelCount;
You can also use the {visiblePanelIndex}
placeholder in dynamic texts (titles, descriptions) to display the current panel index in the visiblePanels
array.
{
"type": "paneldynamic",
"name": "my-dynamic-panel",
"title": "Dynamic Panel",
"templateElements": [
// ...
],
"templateTitle": "Panel #{visiblePanelIndex}"
}
New Demos
Bug Fixes
Form Library
completedBeforeHtml
does not work withcookieName
(#6060)- Styles do not apply to titles if you change heading levels (#6165)
- An exception occurs when calling
survey.mergeData()
to define a File question value (#6166) - Dropdown: A pop-up menu has incorrect height after a search (#6167)
- Rating Scale: The
autoGenerate
property values cannot be translated (#6169) - [Angular] Timer does not start automatically (#6176)
- Table of contents displays pages hidden by a condition (#6187)
Survey Creator
- Image Question: Display a placeholder and Upload button instead of a missing image icon (#3796)
- "Undo" reverts multiple transactions (#4083)
- Multi-Select Matrix: Rating Scale columns do not display controls that change the rate type to "stars" or "smileys" (#4098)
- A11Y: Logic Tab should pronounce errors (#4103)