Current Version: v1.9.61

Version: v1.9.62, estimated release date is Tuesday, December 6, 2022, Total Issue Count: 2

Product Type Description
survey-library Enhancement Dynamic Panel - Add custom buttons to individual panels (e.g., the Remove button) and to the top-level area (e.g., Add button)

An option for the Panel Dynamic question to add custom buttons to individual panels (like the Remove button) and to the top-level question area (like the Add button).

Usage scenario A custom Duplicate button which duplicates the current panel with input values: image

Original issue: T10818 - Add a custom button to a Dynamic Panel.

survey-library Bug Timer design issues
  • fix timer shadow
  • implement support for clock timer with no limits
  • fix quiz example (change timer and progress location: timer -> "bottom", "progress" -> "top")

Version: v1.9.62, estimated release date is Tuesday, December 6, 2022, Total Issue Count: 2

An option for the Panel Dynamic question to add custom buttons to individual panels (like the Remove button) and to the top-level question area (like the Add button).

Usage scenario A custom Duplicate button which duplicates the current panel with input values: image

Original issue: T10818 - Add a custom button to a Dynamic Panel.

Product
survey-library
Type
Bug
Description
Timer design issues
  • fix timer shadow
  • implement support for clock timer with no limits
  • fix quiz example (change timer and progress location: timer -> "bottom", "progress" -> "top")

Version: v1.9.61, released at Wednesday, November 30, 2022, Total Issue Count: 7

Product Type Description
survey-library Enhancement Cannot customize the background for Ranking items using theme variables

Ranking items use the background attribute of the sv-ranking-item__index style. Suggestion: use theme variables to specify the background for Ranking items.

Original issue: T11308 - Customize style for Ranking questions.

survey-library Enhancement fix the generation of d.ts
survey-library Enhancement Remove tab stop from file input
survey-creator Bug A page crashes with Out Of Memory when scrolling the Translation tab with a huge number of translated items
survey-creator Bug Embed Tab: KO: wrong script

image

need to show survey.ko.min.js instead of survey.knockout.min.js

survey-analytics Bug labelTruncateLength doesn't work for a Bar Chart

I setup a visualization panel and specify the labelTruncateLength:

const visPanel = new SurveyAnalytics.VisualizationPanel(allQuestions, data, {labelTruncateLength: 3});

However, y-axis labels are not truncated for a bar chart: image

Example.

Expected behavior (example) - labels are truncated. image

Original issue: T11301 - Large decimals presented in dashboard charts

custom-widgets Enhancement Update Input-mask dependency to latest version

Specifically to include this fix - https://github.com/RobinHerbots/Inputmask/issues/2285 Loading two separate surveys w/ custom-widgets in two separate vue apps on the same page causes the above input-mask error

Uncaught DOMException: Failed to execute 'define' on 'CustomElementRegistry': the name "input-mask" has already been used with this registry

Version: v1.9.61, released at Wednesday, November 30, 2022, Total Issue Count: 7

Product
survey-library
Type
Enhancement
Description
Cannot customize the background for Ranking items using theme variables

Ranking items use the background attribute of the sv-ranking-item__index style. Suggestion: use theme variables to specify the background for Ranking items.

Original issue: T11308 - Customize style for Ranking questions.

Product
survey-library
Type
Enhancement
Description
fix the generation of d.ts
Product
survey-library
Type
Enhancement
Description
Remove tab stop from file input
Product
survey-creator
Type
Bug
Description
Embed Tab: KO: wrong script

image

need to show survey.ko.min.js instead of survey.knockout.min.js

Product
survey-analytics
Type
Bug
Description
labelTruncateLength doesn't work for a Bar Chart

I setup a visualization panel and specify the labelTruncateLength:

const visPanel = new SurveyAnalytics.VisualizationPanel(allQuestions, data, {labelTruncateLength: 3});

However, y-axis labels are not truncated for a bar chart: image

Example.

Expected behavior (example) - labels are truncated. image

Original issue: T11301 - Large decimals presented in dashboard charts

Product
custom-widgets
Type
Enhancement
Description
Update Input-mask dependency to latest version

Specifically to include this fix - https://github.com/RobinHerbots/Inputmask/issues/2285 Loading two separate surveys w/ custom-widgets in two separate vue apps on the same page causes the above input-mask error

Uncaught DOMException: Failed to execute 'define' on 'CustomElementRegistry': the name "input-mask" has already been used with this registry

Version: v1.9.60, released at Friday, November 25, 2022, Total Issue Count: 6

Product Type Description
survey-library Bug A survey immediately switches to the next page when changing the number input value

Run the following Angular sample: https://codesandbox.io/s/surveyjs-angular-forked-nxwjs7.

Use arrow buttons to change a number value. A survey immediately switches to the next page (goNextPageAutomatic: true).

Expected behavior: a survey doesn't switch to the next page when changing the numeric value with arrows. An input should wait until a user clicks outside the input and submits the value (like in this React sample).

survey-library Bug Expression may not work correctly if questions has a lot of dots in names

The origional issues was posted on SurveyJS support forum. The issue is related on creating incorrect value path in ProcessValue class. It caches incorrect path initially for undefined values and then uses incorrect path for getting value directly from survey.data hashtable (performance optimization for nested objects).

survey-library Enhancement File question: Choose File cannot accept focus
survey-library Bug Survey Description and Logo do not appear in a jQuery app when a survey is loaded from a service

I load a survey from MyService. In a jQuery app, the description & logo do not appear: example. It works in a React app (sample). It also works if I use a static JSON (example).

Original issue: T11342 - Title and Logo do not appear in a jQuery sample when a survey is loaded from MyService.

survey-creator Bug Survey Creator in Read Only mode - Conditional rules are still editable via the Logic tab

The creator.readOnly = true setting doesn't turn the Logic settings into a read-only state. The Logic tab appears as follows: image

And it is still possible to edit rules. Example.

Original issue: T11281 - Distorted UI in Logic section of survey creator.

survey-pdf Bug Matrix Dropdown - rowTitleWidth produces a huge gap in PDF

The Matrix Dropdown's rowTitleWidth property produces a huge gap in PDF: image

Example

Version: v1.9.60, released at Friday, November 25, 2022, Total Issue Count: 6

Run the following Angular sample: https://codesandbox.io/s/surveyjs-angular-forked-nxwjs7.

Use arrow buttons to change a number value. A survey immediately switches to the next page (goNextPageAutomatic: true).

Expected behavior: a survey doesn't switch to the next page when changing the numeric value with arrows. An input should wait until a user clicks outside the input and submits the value (like in this React sample).

The origional issues was posted on SurveyJS support forum. The issue is related on creating incorrect value path in ProcessValue class. It caches incorrect path initially for undefined values and then uses incorrect path for getting value directly from survey.data hashtable (performance optimization for nested objects).

Product
survey-library
Type
Enhancement
Description
File question: Choose File cannot accept focus

I load a survey from MyService. In a jQuery app, the description & logo do not appear: example. It works in a React app (sample). It also works if I use a static JSON (example).

Original issue: T11342 - Title and Logo do not appear in a jQuery sample when a survey is loaded from MyService.

The creator.readOnly = true setting doesn't turn the Logic settings into a read-only state. The Logic tab appears as follows: image

And it is still possible to edit rules. Example.

Original issue: T11281 - Distorted UI in Logic section of survey creator.

Product
survey-pdf
Type
Bug
Description
Matrix Dropdown - rowTitleWidth produces a huge gap in PDF

The Matrix Dropdown's rowTitleWidth property produces a huge gap in PDF: image

Example

Version: v1.9.59, released at Tuesday, November 22, 2022, Total Issue Count: 20

Product Type Description
survey-library Enhancement Timer is not permanently visible during survey/quiz completion
  1. The current timer panel is displayed at the top or bottom of the survey page and disappears when scrolling the page. It is necessary to scroll up the top/bottom of the page to check if the question/quiz time limit is not lapsed.
  2. It would be better to update the timer format to a more native time format, like (hh:)mm:ss.

Source support ticket: https://surveyjs.answerdesk.io/ticket/details/T7490.

survey-library Enhancement Matrix Dropdown - Cannot increase the first column width using rowTitleWidth property

The Matrix Dropdown's rowTitleWidth property doesn't increase the width of the first matrix column: example. image

survey-library Enhancement Do not clean ids in markup tests - set initial values for ids before testing
survey-library Bug Checkbox Question - The aria-required-children Accessibility issue

Original Issue: Accessibility issue - SurveyJS Player.

Example.

Title: WCAG 1.3.1: Ensures elements with an ARIA role that require child roles contain them (#sq_101) Tags: Accessibility, WCAG 1.3.1, aria-required-children

Issue: Ensures elements with an ARIA role that require child roles contain them (aria-required-children - https://accessibilityinsights.io/info-examples/web/aria-required-children)

Target application: Conditional visibility, Reactjs Survey Library Example - https://run.plnkr.co/preview/clagl3hoe0004356unfvgl61r/

Element path: #sq_101

Snippet:

How to fix: Fix any of the following: Required ARIA children role not present: group, option

Environment: Chrome version 107.0.0.0

====

This accessibility issue was found using Accessibility Insights for Web 2.35.0 (axe-core 4.4.1), a tool that helps find and fix accessibility issues. Get more information & download this tool at http://aka.ms/AccessibilityInsights. ](https://accessibilityinsights.io/info-examples/web/aria-required-children/)

survey-library Bug descriptionLocation 'underInput' not working with survey-angular-ui

Descriptions with descriptionLocation: 'underInput' do not get rendered when using angular.

To reproduce:

const surveyJson = {
  elements: [
    {
      name: "FirstName",
      title: "Enter your first name:",
      type: "text",
      description: 'a description',
      descriptionLocation: 'underTitle'
    },
    {
      name: "LastName",
      title: "Enter your last name:",
      type: "text"
      description: 'a description',
      descriptionLocation: 'underInput'
    }
  ]
};
  • Result: The first description renders under title. The second description does not get rendered at all (but it should be rendered under the text input field).
survey-library Enhancement Add a code sample to survey.onQuestionCreated event description

From the description, it is unclear how to apply the JSON model. https://surveyjs.io/form-library/documentation/surveymodel#onQuestionCreated Add the code snippet:

window.survey = new Survey.Model();
survey.onQuestionCreated.add(function(sender, options){  
  //...
});
survey.fromJSON(json);

Example

survey-library Bug Accessibility Issue for the Survey Creator Text Input property editor: Ensures every form element has a label

Run this example and check it with the Accessibility Insights for Web checker. image

Original issue: T11204 - Accessibility issue: the input type doesn't have a label

FastPass_20221109_NPSSurveyQuestionSur_T11204.zip

survey-library Bug The displayMode property doesn't change the Rating question display mode

I set displayMode to dropdown, however, rating values are still rendered as buttons: example.

survey-library Enhancement Lazy loading: changing the filter does not trigger the element loading event

onGetChoiceDisplayValue event : rename options.callback -> options.setItems

survey-library Enhancement Dropdown: incorrect input position

Image

survey-library Bug Survey Progress Bar initially counts read-only Matrix Dropdown HTML cells and calculates the total number of quesitons incorrectly

Matrix Dropdown contains an HTML column. HTML questions are read-only questions and the survey should not consider these cells in a total progress.

Run the Example. Notice the 0/10 progress text is displayed initially: image

Enter a value and notice that the progress text is now correct (1/5) image

Expected behavior: the survey initially displays 0/5.

survey-library Enhancement Vue3 component library build (spike/research)

we need to fing a most "native" way to pack SurveyJS library as Vue3 library component and using it the most "native" way too

the working vite based repowith the final reasearch result

Additional Info

https://vuejs.org/guide/scaling-up/tooling.html#project-scaffolding https://vuejs.org/guide/reusability/plugins.html#writing-a-plugin

create-vue (vite based / current)

https://github.com/vuejs/create-vue https://vitejs.dev/guide/build.html#library-mode https://stackoverflow.com/questions/71982849/how-do-i-add-types-to-a-vite-library-build https://www.youtube.com/watch?v=5QV9wVc8c7g + https://github.com/uzzo-ba/lv-button + https://medium.com/dailyjs/how-to-use-npm-link-7375b6219557 https://blog.totominc.io/blog/create-a-vue-3-component-with-typescript

vue-cli (webpack based / previous)

https://cli.vuejs.org/guide/build-targets.html#web-component

probably good example of library component https://github.com/nathanreyes/v-calendar/issues/1198

image https://github.com/nathanreyes/v-calendar/blob/master/package.json

survey-creator Bug Property Grid - The detail view and the choice's edit button remain visible even if a choice item has no properties

I want to disable/hide the Edit button and the detail view for individual choices. However, the following code from the Minimalistic configuration demo doesn't hide the Edit button and the detail view:

// Make the detail editor for itemvalue invisible, hide Edit button
SurveyCreatorCore.SurveyQuestionEditorDefinition.definition["itemvalue[]@choices"].tabs = [
    { name: "general", visible: false }
];

Also, if I hide all itemvalue settings, I observe the following behavior: 2022-11-07_13-56-04

Issues:

survey-creator Bug The onSetPropertyEditorOptions - options.showTextView option doesn't hide but disables the Fast Entry editor

The following code doesn't hide the Fast Entry button, but disables it.

creator.onSetPropertyEditorOptions.add(function (sender, options) {
  options.editorOptions.showTextView = false;
});

Example. image

Suggested actions:

  • Depricate the showTextView option.
survey-creator Bug Accessibility Issue in High Contrast Mode - The keyboard focus is not visible for the Add Question button
survey-creator Bug Creator. Drop-down issue with keyboard navigation

Use "backspace" in order to delete text...

Image

survey-creator Bug Creator. Property Grid. Text alignment
survey-creator Enhancement An option to hide the Fast Entry option for the ItemValue[]

No option to hide the Fast Entry button and prevent users from entering values in the form.

Support Inquiries:

survey-creator Bug Screen Reader doesn't announce a Property Grid panel state - expanded or collapsed

The screen reader should announce the state of a property grid panel - expanded or collapsed. Original issue: T11295 - Accessibility issue : Incorrect role is defined for 'General' control in designer page

survey-pdf Enhancement The TypeError: Cannot read properties of undefined (reading '1') Error Occurs When Exporting a Survey
ncaught (in promise) TypeError: Cannot read properties of undefined (reading '1')
    at Renderer.renderParagraph (from_html.js:1082:1)
    at Renderer.setBlockBoundary (from_html.js:1140:1)
    at DrillForContent (from_html.js:547:1)
    at DrillForContent (from_html.js:510:1)
    at eval (from_html.js:709:1)
    at done (from_html.js:561:1)
    at loadImgs (from_html.js:598:1)
    at process (from_html.js:706:1)
    at jsPDFAPI.fromHTML (from_html.js:1227:1)
    at eval (helper_survey.ts:237:34)
    at new Promise (<anonymous>)
    at Function.eval (helper_survey.ts:236:22)
    at step (helpers.ts:83:23)
    at Object.eval [as next] (helpers.ts:64:63)
    at eval (helpers.ts:57:71)
    at new Promise (<anonymous>)
    at __awaiter (helpers.ts:53:12)
    at SurveyHelper.createHTMLFlat (helper_survey.ts:234:114)
    at FlatHTML.eval (flat_html.ts:36:80)
    at step (helpers.ts:83:23)
    at Object.eval [as next] (helpers.ts:64:63)
    at eval (helpers.ts:57:71)
    at new Promise (<anonymous>)
    at __awaiter (helpers.ts:53:12)
    at FlatHTML.generateFlatsContent (flat_html.ts:24:52)
    at FlatHTML.eval (flat_question.ts:51:27)
    at step (helpers.ts:83:23)
    at Object.eval [as next] (helpers.ts:64:63)
    at eval (helpers.ts:57:71)
    at new Promise (<anonymous>)
    at __awaiter (helpers.ts:53:12)
    at FlatQuestion.generateFlatsComposite (flat_question.ts:44:54)
    at FlatHTML.eval (flat_question.ts:168:42)
    at step (helpers.ts:83:23)
    at Object.eval [as next] (helpers.ts:64:63)
    at eval (helpers.ts:57:71)
    at new Promise (<anonymous>)
    at __awaiter (helpers.ts:53:12)
    at FlatQuestion.generateFlats (flat_question.ts:56:45)
    at Function.eval (helper_survey.ts:676:63)
    at step (helpers.ts:83:23)
    at Object.eval [as next] (helpers.ts:64:63)
    at eval (helpers.ts:57:71)
    at new Promise (<anonymous>)
    at __awaiter (helpers.ts:53:12)
    at SurveyHelper.generateQuestionFlats (helper_survey.ts:672:69)
    at Function.eval (flat_survey.ts:88:57)
    at step (helpers.ts:83:23)
    at Object.eval [as next] (helpers.ts:64:63)
    at eval (helpers.ts:57:71)

Original issue: T11254 - GeneratePDF not working.

Version: v1.9.59, released at Tuesday, November 22, 2022, Total Issue Count: 20

Product
survey-library
Type
Enhancement
Description
Timer is not permanently visible during survey/quiz completion
  1. The current timer panel is displayed at the top or bottom of the survey page and disappears when scrolling the page. It is necessary to scroll up the top/bottom of the page to check if the question/quiz time limit is not lapsed.
  2. It would be better to update the timer format to a more native time format, like (hh:)mm:ss.

Source support ticket: https://surveyjs.answerdesk.io/ticket/details/T7490.

The Matrix Dropdown's rowTitleWidth property doesn't increase the width of the first matrix column: example. image

Product
survey-library
Type
Enhancement
Description
Do not clean ids in markup tests - set initial values for ids before testing
Product
survey-library
Type
Bug
Description
Checkbox Question - The aria-required-children Accessibility issue

Original Issue: Accessibility issue - SurveyJS Player.

Example.

Title: WCAG 1.3.1: Ensures elements with an ARIA role that require child roles contain them (#sq_101) Tags: Accessibility, WCAG 1.3.1, aria-required-children

Issue: Ensures elements with an ARIA role that require child roles contain them (aria-required-children - https://accessibilityinsights.io/info-examples/web/aria-required-children)

Target application: Conditional visibility, Reactjs Survey Library Example - https://run.plnkr.co/preview/clagl3hoe0004356unfvgl61r/

Element path: #sq_101

Snippet:

How to fix: Fix any of the following: Required ARIA children role not present: group, option

Environment: Chrome version 107.0.0.0

====

This accessibility issue was found using Accessibility Insights for Web 2.35.0 (axe-core 4.4.1), a tool that helps find and fix accessibility issues. Get more information & download this tool at http://aka.ms/AccessibilityInsights. ](https://accessibilityinsights.io/info-examples/web/aria-required-children/)

Product
survey-library
Type
Bug
Description
descriptionLocation 'underInput' not working with survey-angular-ui

Descriptions with descriptionLocation: 'underInput' do not get rendered when using angular.

To reproduce:

const surveyJson = {
  elements: [
    {
      name: "FirstName",
      title: "Enter your first name:",
      type: "text",
      description: 'a description',
      descriptionLocation: 'underTitle'
    },
    {
      name: "LastName",
      title: "Enter your last name:",
      type: "text"
      description: 'a description',
      descriptionLocation: 'underInput'
    }
  ]
};
  • Result: The first description renders under title. The second description does not get rendered at all (but it should be rendered under the text input field).
Product
survey-library
Type
Enhancement
Description
Add a code sample to survey.onQuestionCreated event description

From the description, it is unclear how to apply the JSON model. https://surveyjs.io/form-library/documentation/surveymodel#onQuestionCreated Add the code snippet:

window.survey = new Survey.Model();
survey.onQuestionCreated.add(function(sender, options){  
  //...
});
survey.fromJSON(json);

Example

Run this example and check it with the Accessibility Insights for Web checker. image

Original issue: T11204 - Accessibility issue: the input type doesn't have a label

FastPass_20221109_NPSSurveyQuestionSur_T11204.zip

I set displayMode to dropdown, however, rating values are still rendered as buttons: example.

Product
survey-library
Type
Enhancement
Description
Lazy loading: changing the filter does not trigger the element loading event

onGetChoiceDisplayValue event : rename options.callback -> options.setItems

Product
survey-library
Type
Enhancement
Description
Dropdown: incorrect input position

Image

Matrix Dropdown contains an HTML column. HTML questions are read-only questions and the survey should not consider these cells in a total progress.

Run the Example. Notice the 0/10 progress text is displayed initially: image

Enter a value and notice that the progress text is now correct (1/5) image

Expected behavior: the survey initially displays 0/5.

Product
survey-library
Type
Enhancement
Description
Vue3 component library build (spike/research)

I want to disable/hide the Edit button and the detail view for individual choices. However, the following code from the Minimalistic configuration demo doesn't hide the Edit button and the detail view:

// Make the detail editor for itemvalue invisible, hide Edit button
SurveyCreatorCore.SurveyQuestionEditorDefinition.definition["itemvalue[]@choices"].tabs = [
    { name: "general", visible: false }
];

Also, if I hide all itemvalue settings, I observe the following behavior: 2022-11-07_13-56-04

Issues:

The following code doesn't hide the Fast Entry button, but disables it.

creator.onSetPropertyEditorOptions.add(function (sender, options) {
  options.editorOptions.showTextView = false;
});

Example. image

Suggested actions:

  • Depricate the showTextView option.
Product
survey-creator
Type
Bug
Description
Creator. Drop-down issue with keyboard navigation

Use "backspace" in order to delete text...

Image

Product
survey-creator
Type
Bug
Description
Creator. Property Grid. Text alignment
Product
survey-creator
Type
Enhancement
Description
An option to hide the Fast Entry option for the ItemValue[]

No option to hide the Fast Entry button and prevent users from entering values in the form.

Support Inquiries:

The screen reader should announce the state of a property grid panel - expanded or collapsed. Original issue: T11295 - Accessibility issue : Incorrect role is defined for 'General' control in designer page

ncaught (in promise) TypeError: Cannot read properties of undefined (reading '1')
    at Renderer.renderParagraph (from_html.js:1082:1)
    at Renderer.setBlockBoundary (from_html.js:1140:1)
    at DrillForContent (from_html.js:547:1)
    at DrillForContent (from_html.js:510:1)
    at eval (from_html.js:709:1)
    at done (from_html.js:561:1)
    at loadImgs (from_html.js:598:1)
    at process (from_html.js:706:1)
    at jsPDFAPI.fromHTML (from_html.js:1227:1)
    at eval (helper_survey.ts:237:34)
    at new Promise (<anonymous>)
    at Function.eval (helper_survey.ts:236:22)
    at step (helpers.ts:83:23)
    at Object.eval [as next] (helpers.ts:64:63)
    at eval (helpers.ts:57:71)
    at new Promise (<anonymous>)
    at __awaiter (helpers.ts:53:12)
    at SurveyHelper.createHTMLFlat (helper_survey.ts:234:114)
    at FlatHTML.eval (flat_html.ts:36:80)
    at step (helpers.ts:83:23)
    at Object.eval [as next] (helpers.ts:64:63)
    at eval (helpers.ts:57:71)
    at new Promise (<anonymous>)
    at __awaiter (helpers.ts:53:12)
    at FlatHTML.generateFlatsContent (flat_html.ts:24:52)
    at FlatHTML.eval (flat_question.ts:51:27)
    at step (helpers.ts:83:23)
    at Object.eval [as next] (helpers.ts:64:63)
    at eval (helpers.ts:57:71)
    at new Promise (<anonymous>)
    at __awaiter (helpers.ts:53:12)
    at FlatQuestion.generateFlatsComposite (flat_question.ts:44:54)
    at FlatHTML.eval (flat_question.ts:168:42)
    at step (helpers.ts:83:23)
    at Object.eval [as next] (helpers.ts:64:63)
    at eval (helpers.ts:57:71)
    at new Promise (<anonymous>)
    at __awaiter (helpers.ts:53:12)
    at FlatQuestion.generateFlats (flat_question.ts:56:45)
    at Function.eval (helper_survey.ts:676:63)
    at step (helpers.ts:83:23)
    at Object.eval [as next] (helpers.ts:64:63)
    at eval (helpers.ts:57:71)
    at new Promise (<anonymous>)
    at __awaiter (helpers.ts:53:12)
    at SurveyHelper.generateQuestionFlats (helper_survey.ts:672:69)
    at Function.eval (flat_survey.ts:88:57)
    at step (helpers.ts:83:23)
    at Object.eval [as next] (helpers.ts:64:63)
    at eval (helpers.ts:57:71)

Original issue: T11254 - GeneratePDF not working.

Version: v1.9.58, released at Wednesday, November 16, 2022, Total Issue Count: 14

Product Type Description
survey-library Enhancement Get display texts for question choices to be loaded later (choicesByUrl).

onGetChoiceDisplayValue.add((question, values, callback?) => { callback(displayValues) })

survey-library Bug Survey library and creator conflict in a Vue app

Are you requesting a feature, reporting a bug or asking a question?

Bug The root cause of this is related to #5097 which has been solved just by preventing the symptoms of the problem, not addressing the real problem.

What is the current behaviour?

A Vue application that loads both Survey creator and Survey library, in different pages, receives an error while rendering a survey. The error occurs in this page.vue line 4, it states that page.cssClasses.page is undefined, therefore can't access description.

<div v-if="showDescription" :class="page.cssClasses.page.description">

Please note that the root cause of the error is deeper, it only appears if I my application imports both libraries.

What is the expected behavior?

That I can run Survey creator and Survey library in the same application without errors.

How would you reproduce the current behavior (if this is a bug)?

Navigate the 2 pages of this Codepen to reproduce the error.

Specify your

  • browser: NA
  • browser version: NA
  • surveyjs platform (angular or react or jquery or knockout or vue): vue
  • surveyjs version: 1.9.56
survey-library Bug Rating. Label alignment

Label should be aligned with question text.

Image

survey-library Enhancement Add $font-family is a CSS variable for defaultV2 theme

The original ssue was raised in our support center. It is not easy to change the font for our defaultV2 theme.

survey-library Enhancement Expression Validator produces incorrect results when `checkErrorsMode` is `"onValueChanging"`

Steps to reproduce:

  1. Open this plunk
  2. Enter a number into the upper input field.
    You will see that validation has triggered and already displays an error message, although you haven't yet entered the second value.
  3. Enter a correct number into the lower input field.

Result: The error message doesn't disappear, although now the entered values should pass the validation.

survey-library Bug Cannot add/remove Matrix Dropdown rows when another Matrixdropdown question is used as a default value

Run the example and specify values for the first matrix. Add some rows and set values for them. Default values for the second matrix are correctly set. However, it is now impossible to add or remove rows to the second matrix question.

https://user-images.githubusercontent.com/22372972/200404948-72ef64f6-9d83-48d4-a2f9-98700625d932.mp4

survey-library Bug `checkErrorsMode` for `OnPageNext` doesn't work correctly when a question value is changed

Are you requesting a feature, reporting a bug or asking a question?

Reporting a bug

What is the current behavior?

checkErrorsMode for OnPageNext isn't respected when a question with an error is changed. This causes onValidatedErrorsOnCurrentPage to be triggered unexpectedly.

The line in question appears to be the following: https://github.com/surveyjs/survey-library/blob/1a05580a7a4aa94ec191c46884190736f9ccc65b/src/survey.ts#L5028

What is the expected behavior?

onValidatedErrorsOnCurrentPage should only be triggered when the conditions for checkErrorsMode are met.

How would you reproduce the current behavior (if this is a bug)?

  1. Cause an error on a question (e.g. not filling a required field)
  2. Try completing the survey
  3. Fix the error

After step 3, the onValidatedErrorsOnCurrentPage was called 2 times: once for the initial error (expected because default behavior for checkErrorsMode of OnNextPage) and a second time after the error was fixed (without trying to complete the survey).

Provide the test code and the tested page URL (if applicable)

Tested page URL: https://plnkr.co/edit/709CgYRKRJjrsvtb

Test code

var json = {
  "elements": [
    {
      "name": "name",
      "type": "text",
      "title": "Please enter your name:",
      "placeHolder": "Jon Snow",
      "isRequired": true
    },
  ]
};
window.survey = new Survey.Model(json);
survey.onValidatedErrorsOnCurrentPage.add(function (sender, options) {
  console.log("validation was called");
});

Specify your

  • browser: Microsoft Edge
  • browser version: 107.0.1418.35
  • surveyjs platform (angular or react or jquery or knockout or vue): vue
  • surveyjs version: 1.9.56
survey-library Bug Validation: Error message is displayed twice and differs from the one that is specified

https://plnkr.co/edit/bKv6ftiWfwI6ibhV

  1. Enter an invalid value.
  2. Click Complete.

Expected result: The question displays one of the error messages specified in the validators array. Actual result: The question displays a default error message twice.

survey-library Enhancement Survey "width" should not break adaptivity

Image

survey-library Bug An empty invisible panel dynamic question is included into survey results

An empty invisible panel dynamic question is included into survey results: T11211 - Empty element in json result.

We need two nested dynamic panel to reproduce the issue. Here is the plunker with the issue.

survey-creator Enhancement Property Grid. Placeholder (error?) for Name editor.

Here we should use placeholder text or error state. It depends on how we consider this behaviour. Anyway design must be not like current one.

Image

survey-creator Bug Creator bar. Settings button.

Checked button has to have no hover and pressed states. Let's change tooltip Settings to Survey Settings (or something similar).

Image

survey-creator Bug The question popup is not fully visible in RTL direction

The popup with a question name appears beyond the creator's visible area: Example. image

I believe the popup with a question name should be fully visible.

survey-pdf Enhancement Always use radiogroup for Boolean questions

We have the booleanRenderAs property that specifies how to export Boolean questions and accepts the "default" and "radiogroup" values. "Default" gives strange results:

  • undefined image
  • true: image
  • false: image

I would expect to see something like this: image

This result can be achieved by using a radiogroup rendered as checkboxes. My suggestions are the following:

  1. Make the layout on the last image the default one.
  2. Remove the booleanRenderAs property.
  3. Add a flag for backward compatibility and give it a suitable name, for example, useLegacyBooleanRendering: true | false. We won't publish it but will give it to the customers who want the old, strange behavior.

Version: v1.9.58, released at Wednesday, November 16, 2022, Total Issue Count: 14

Product
survey-library
Type
Enhancement
Description
Get display texts for question choices to be loaded later (choicesByUrl).

onGetChoiceDisplayValue.add((question, values, callback?) => { callback(displayValues) })

Product
survey-library
Type
Bug
Description
Survey library and creator conflict in a Vue app

Are you requesting a feature, reporting a bug or asking a question?

Bug The root cause of this is related to #5097 which has been solved just by preventing the symptoms of the problem, not addressing the real problem.

What is the current behaviour?

A Vue application that loads both Survey creator and Survey library, in different pages, receives an error while rendering a survey. The error occurs in this page.vue line 4, it states that page.cssClasses.page is undefined, therefore can't access description.

<div v-if="showDescription" :class="page.cssClasses.page.description">

Please note that the root cause of the error is deeper, it only appears if I my application imports both libraries.

What is the expected behavior?

That I can run Survey creator and Survey library in the same application without errors.

How would you reproduce the current behavior (if this is a bug)?

Navigate the 2 pages of this Codepen to reproduce the error.

Specify your

  • browser: NA
  • browser version: NA
  • surveyjs platform (angular or react or jquery or knockout or vue): vue
  • surveyjs version: 1.9.56
Product
survey-library
Type
Bug
Description
Rating. Label alignment

Label should be aligned with question text.

Image

Product
survey-library
Type
Enhancement
Description
Add $font-family is a CSS variable for defaultV2 theme

The original ssue was raised in our support center. It is not easy to change the font for our defaultV2 theme.

Steps to reproduce:

  1. Open this plunk
  2. Enter a number into the upper input field.
    You will see that validation has triggered and already displays an error message, although you haven't yet entered the second value.
  3. Enter a correct number into the lower input field.

Result: The error message doesn't disappear, although now the entered values should pass the validation.

Run the example and specify values for the first matrix. Add some rows and set values for them. Default values for the second matrix are correctly set. However, it is now impossible to add or remove rows to the second matrix question.

https://user-images.githubusercontent.com/22372972/200404948-72ef64f6-9d83-48d4-a2f9-98700625d932.mp4

Are you requesting a feature, reporting a bug or asking a question?

Reporting a bug

What is the current behavior?

checkErrorsMode for OnPageNext isn't respected when a question with an error is changed. This causes onValidatedErrorsOnCurrentPage to be triggered unexpectedly.

The line in question appears to be the following: https://github.com/surveyjs/survey-library/blob/1a05580a7a4aa94ec191c46884190736f9ccc65b/src/survey.ts#L5028

What is the expected behavior?

onValidatedErrorsOnCurrentPage should only be triggered when the conditions for checkErrorsMode are met.

How would you reproduce the current behavior (if this is a bug)?

  1. Cause an error on a question (e.g. not filling a required field)
  2. Try completing the survey
  3. Fix the error

After step 3, the onValidatedErrorsOnCurrentPage was called 2 times: once for the initial error (expected because default behavior for checkErrorsMode of OnNextPage) and a second time after the error was fixed (without trying to complete the survey).

Provide the test code and the tested page URL (if applicable)

Tested page URL: https://plnkr.co/edit/709CgYRKRJjrsvtb

Test code

var json = {
  "elements": [
    {
      "name": "name",
      "type": "text",
      "title": "Please enter your name:",
      "placeHolder": "Jon Snow",
      "isRequired": true
    },
  ]
};
window.survey = new Survey.Model(json);
survey.onValidatedErrorsOnCurrentPage.add(function (sender, options) {
  console.log("validation was called");
});

Specify your

  • browser: Microsoft Edge
  • browser version: 107.0.1418.35
  • surveyjs platform (angular or react or jquery or knockout or vue): vue
  • surveyjs version: 1.9.56

https://plnkr.co/edit/bKv6ftiWfwI6ibhV

  1. Enter an invalid value.
  2. Click Complete.

Expected result: The question displays one of the error messages specified in the validators array. Actual result: The question displays a default error message twice.

Product
survey-library
Type
Enhancement
Description
Survey "width" should not break adaptivity

Image

An empty invisible panel dynamic question is included into survey results: T11211 - Empty element in json result.

We need two nested dynamic panel to reproduce the issue. Here is the plunker with the issue.

Product
survey-creator
Type
Enhancement
Description
Property Grid. Placeholder (error?) for Name editor.

Here we should use placeholder text or error state. It depends on how we consider this behaviour. Anyway design must be not like current one.

Image

Product
survey-creator
Type
Bug
Description
Creator bar. Settings button.

Checked button has to have no hover and pressed states. Let's change tooltip Settings to Survey Settings (or something similar).

Image

Product
survey-creator
Type
Bug
Description
The question popup is not fully visible in RTL direction

The popup with a question name appears beyond the creator's visible area: Example. image

I believe the popup with a question name should be fully visible.

Product
survey-pdf
Type
Enhancement
Description
Always use radiogroup for Boolean questions

We have the booleanRenderAs property that specifies how to export Boolean questions and accepts the "default" and "radiogroup" values. "Default" gives strange results:

  • undefined image
  • true: image
  • false: image

I would expect to see something like this: image

This result can be achieved by using a radiogroup rendered as checkboxes. My suggestions are the following:

  1. Make the layout on the last image the default one.
  2. Remove the booleanRenderAs property.
  3. Add a flag for backward compatibility and give it a suitable name, for example, useLegacyBooleanRendering: true | false. We won't publish it but will give it to the customers who want the old, strange behavior.

Version: v1.9.57, released at Tuesday, November 8, 2022, Total Issue Count: 14

Product Type Description
survey-library Bug Bug, File question: remove file button doesn't work

https://surveyjs.io/form-library/examples/questiontype-file/reactjs

  1. upload multiple files
  2. click remove file button
  3. nothing happens
survey-library Bug The today function returns an incorrect date

Example. The today function returns the yesterday date. image

survey-library Bug Dropdown - The Other item text looks blurry in Modern theme
survey-library Bug Dropdown - The Other label is duplicated in a survey preview
survey-library Bug Dropdown : set selected item from popup after switching focus
survey-library Bug Placeholders for elements in "multipletext" question types always show in default language

Are you requesting a feature, reporting a bug or asking a question?

A bug.

What is the current behavior?

Placeholders for elements in "multipletext" question types always show in default language even if additional translations are configured.

What is the expected behavior?

Placeholders for elements in "multipletext" question types show in their respective language if translations are configured accordingly.

How would you reproduce the current behavior (if this is a bug)?

Take a look at the survey in the exampled link given below. It contains a question of type "multipletext" and a question of type "text". Both have a placeholder configured in English (default) and in German. You can see this in the JSON tab as well as the translation tab.

  1. Preview the survey in the example below in the preview tab.
  2. You can see the English placeholders for the questions (correct).
  3. Toggle the language from English to German in the preview tab.
  4. The placeholder for the question type "text" shows in German (correct). The placeholder for the element in question type "multipletext" still shows in English (wrong).

Provide the test code and the tested page URL (if applicable)

Example: https://plnkr.co/edit/mHLGBk6mhU3OCm8e

Specify your

  • browser: Google Chrome
  • browser version: 107.0.5304.87
  • surveyjs platform (angular or react or jquery or knockout or vue): react
  • surveyjs version: 1.9.56
survey-library Bug Reset to undefined data and survey properties for survey elements on survey disposing

If survey is disposed we should set elements data and survey properties null. Otherwise, survey will still get notifications on changing in elements properties. It leads to errors.

survey-creator Enhancement Logic Tab - Prevent users from leaving the Logic tab when a Logic Rule was not saved

I created a new Logic Rule in the Logic Tab. I didn't save the rule, and switched to another creator tab. The Creator didn't show any warning messages and the rule simply vanished.

Suggestions:

  • Highlight a draft rule
  • Do not allow users to leave the Logic tab without an unsave rule
  • Display a confirmation message on an attempt to close the Logic tab with an unsaved rule.

https://user-images.githubusercontent.com/22372972/197581422-dec86b4f-061b-4d2b-acc9-221edee5c4c9.mp4

survey-creator Bug The Mobile preview switcher tooltip always shows 'Landscape'

Run the preview and enable mobile mode for the creator (demo). Observe the orientation switcher always shows 'Landscape'. It should be changed to 'Portrait' / 'Landscape' image

survey-creator Enhancement A Creator option/setting to define the default Mobile Preview Orientation

The Creator's mobile preview always starts in Landscape mode: image

To change the default orientation, it is necessary to disable the simulator.landscape option (example)

creator.onActiveTabChanged.add((sender, options) => {
  if(options.tabName === "test") {
    const simulator = options.model.simulator;
    simulator.landscape = false;
  }
});

image

Suggestion: create a Creator / CreatorOptions setting which will define the default Mobile Preview orientation.

survey-creator Bug Angular: Page Navigator and Add New Question throw multiple warnings

image

survey-pdf Bug No File Choosen in displayed for images uploaded to a File question placed inside a Dynamic Panel

The PDF document shows "No file choosen" when images uploaded to a File question placed inside a Dynamic Panel. image

Example. surveyAsFile (7).pdf

https://user-images.githubusercontent.com/22372972/199482773-4f39562b-95f3-4880-b3fe-667f8b463892.mp4

survey-pdf Bug Boolean question doesn't use default Yes/No labels in PDF

If you enable the booleanRenderAs: "radiogroup" mode and don't specify labelTrue and labelFalse, the Boolean question will display true and false labels instead of Yes and No.

In Survey: image

In PDF: image

Example.

survey-analytics Bug Cannot expand the Chart type drop-down by clicking the arrow

Run the Plain data visualization demo and try to expand the drop-down by clicking the arrow. 2022-11-07_22-27-02

Version: v1.9.57, released at Tuesday, November 8, 2022, Total Issue Count: 14

Product
survey-library
Type
Bug
Description
Bug, File question: remove file button doesn't work

https://surveyjs.io/form-library/examples/questiontype-file/reactjs

  1. upload multiple files
  2. click remove file button
  3. nothing happens
Product
survey-library
Type
Bug
Description
The today function returns an incorrect date

Example. The today function returns the yesterday date. image

Product
survey-library
Type
Bug
Description
Dropdown - The Other item text looks blurry in Modern theme
Product
survey-library
Type
Bug
Description
Dropdown - The Other label is duplicated in a survey preview
Product
survey-library
Type
Bug
Description
Dropdown : set selected item from popup after switching focus

Are you requesting a feature, reporting a bug or asking a question?

A bug.

What is the current behavior?

Placeholders for elements in "multipletext" question types always show in default language even if additional translations are configured.

What is the expected behavior?

Placeholders for elements in "multipletext" question types show in their respective language if translations are configured accordingly.

How would you reproduce the current behavior (if this is a bug)?

Take a look at the survey in the exampled link given below. It contains a question of type "multipletext" and a question of type "text". Both have a placeholder configured in English (default) and in German. You can see this in the JSON tab as well as the translation tab.

  1. Preview the survey in the example below in the preview tab.
  2. You can see the English placeholders for the questions (correct).
  3. Toggle the language from English to German in the preview tab.
  4. The placeholder for the question type "text" shows in German (correct). The placeholder for the element in question type "multipletext" still shows in English (wrong).

Provide the test code and the tested page URL (if applicable)

Example: https://plnkr.co/edit/mHLGBk6mhU3OCm8e

Specify your

  • browser: Google Chrome
  • browser version: 107.0.5304.87
  • surveyjs platform (angular or react or jquery or knockout or vue): react
  • surveyjs version: 1.9.56

If survey is disposed we should set elements data and survey properties null. Otherwise, survey will still get notifications on changing in elements properties. It leads to errors.

I created a new Logic Rule in the Logic Tab. I didn't save the rule, and switched to another creator tab. The Creator didn't show any warning messages and the rule simply vanished.

Suggestions:

  • Highlight a draft rule
  • Do not allow users to leave the Logic tab without an unsave rule
  • Display a confirmation message on an attempt to close the Logic tab with an unsaved rule.

https://user-images.githubusercontent.com/22372972/197581422-dec86b4f-061b-4d2b-acc9-221edee5c4c9.mp4

Product
survey-creator
Type
Bug
Description
The Mobile preview switcher tooltip always shows 'Landscape'

Run the preview and enable mobile mode for the creator (demo). Observe the orientation switcher always shows 'Landscape'. It should be changed to 'Portrait' / 'Landscape' image

Product
survey-creator
Type
Enhancement
Description
A Creator option/setting to define the default Mobile Preview Orientation

The Creator's mobile preview always starts in Landscape mode: image

To change the default orientation, it is necessary to disable the simulator.landscape option (example)

creator.onActiveTabChanged.add((sender, options) => {
  if(options.tabName === "test") {
    const simulator = options.model.simulator;
    simulator.landscape = false;
  }
});

image

Suggestion: create a Creator / CreatorOptions setting which will define the default Mobile Preview orientation.

Product
survey-creator
Type
Bug
Description
Angular: Page Navigator and Add New Question throw multiple warnings

image

The PDF document shows "No file choosen" when images uploaded to a File question placed inside a Dynamic Panel. image

Example. surveyAsFile (7).pdf

https://user-images.githubusercontent.com/22372972/199482773-4f39562b-95f3-4880-b3fe-667f8b463892.mp4

Product
survey-pdf
Type
Bug
Description
Boolean question doesn't use default Yes/No labels in PDF

If you enable the booleanRenderAs: "radiogroup" mode and don't specify labelTrue and labelFalse, the Boolean question will display true and false labels instead of Yes and No.

In Survey: image

In PDF: image

Example.

Product
survey-analytics
Type
Bug
Description
Cannot expand the Chart type drop-down by clicking the arrow

Run the Plain data visualization demo and try to expand the drop-down by clicking the arrow. 2022-11-07_22-27-02

Version: v1.9.56, released at Tuesday, November 1, 2022, Total Issue Count: 24

Product Type Description
survey-library Enhancement Tag Box: Drop-down list should descrease its height if it doesn't contain many items because of filtering

This is how the drop-down list looks when filtered: image We could remove all that blank space.

survey-library API Change QuestionDropdownModel: Rename the `autoComplete` property

It should be autocomplete with a lower case "c".

survey-library Enhancement Change the width of a PopupSurvey dialog

The PopupSurvey class doesn't have a width property, neither it uses the survey.width property.

Suggestion: an option to change the width of a popup survey dialog: via a new property or using the survey.width property.

Original issue: T10854 - Change Width of PopupSurvey.

survey-library Enhancement Library-Angular: implement lazy rendering
survey-library Bug Question value is disappear after re-opening the popup with lazy loading choices
survey-library Enhancement Add loading indicator in popup with lazy loading choices
survey-library Bug Recalculate popup location after lazy loading choices
survey-library Enhancement Rename useDisplayValuesInTitles

The useDisplayValuesInTitle option determines how a question value will be displayed not just in titles, but in other parts of a questionnaire, for example, in a Expression, or HTML questions. Example: https://plnkr.co/edit/7zFhuJKm44V2f6nn.

survey-library Enhancement Rename the useDisplayValuesInTitle property and update doc description

Why to rename? The useDisplayValuesInTitle option determines how a question value will be displayed not just in titles, but in other parts of a questionnaire, for example, in a Expression, or HTML questions. Example: https://plnkr.co/edit/7zFhuJKm44V2f6nn.

Suggested new property name: useDisplayValuesInDynamicTexts Suggested property description:

Specifies whether to use display names for question values in placeholders. This property is used for questions whose values define the value and text properties (for example, a Radiogroup choice option with value and text).

Question placeholders can be used in the following places:

  • Survey element titles and descriptions;
  • The expression property of the Expression question;
  • The html property of the HTML question.

To use a question value as a placeholder, specify the question name in curly brackets: {questionName}.

survey-library Bug RTL - A question number appears on the left side instead of the right side of a question title

A question number should appear on the right side in RTL mode. Example image

survey-library Bug RTL - The Drop-down arrow appears on the right instead of the left side
survey-library Bug Ranking items with long text values are displayed incorrectly on mobile screens
survey-library Bug Refresh placeholder on dropdown choices change

How we found the bug: Validator Text is messed up for the Multiple Text question

Create a Multiple Text question, Navigate to Items -> Validators. Click the 'Add' button and observe the validator text is messed up and the Validators dialog goes beyound the Property Grid boundaries: image

survey-library Bug Error message doesn't look good if titleLocation is left

I created a composite component and enabled the isRequired field for each question. The composite layout appears as follows when validation fails for items: example. image

Validation message should basically appear at the top or bottom of individual questions.

survey-creator Enhancement Creator Fonts (mac os)

Make fonts less bold.

survey-creator Enhancement Access a question instance in when uploading an image to the Image question

I want to access a question instance when uploading an image to the Image question. The creator raises the creator.onUploadFile event at this point, however, a question instance is not available in event arguments.

Source ticket: T10835 - Get the question object in surveyCreator.onUploadFile.add.

survey-creator Bug Angular: fix build with production: true
survey-creator Enhancement Table Survey Results tab does not display an internal survey value

I set a custom survey value via the survey.setValue function call. The Creator's Survey Results tab doesn't display my value in Table mode (example) image

survey-creator Enhancement Update lerna dependency

Are you requesting a feature, reporting a bug or ask a question?

Feature

It would be great if Lerna could be updated to the latest version, the dependency used currently is 3.22.1 which is more than 2 years old. Since then a lot if improvements have made which I could imagine make it a better tool. Besides that it's not a great developer experience if you have to constantly deal with old and deprecated dependencies.

What is the current behavior?

Installing the dependencies using NPM leads to tons of deprecation warnings

What is the expected behavior?

Fewer or no warnings

How would you reproduce the current behavior (if this is a bug)?

git clone git@github.com:surveyjs/survey-creator.git
npm install
survey-creator Bug Dropdown. Placeholder text has wrong alignment.

In the meantime filled editor is okay.

UPD: ALREADY FIXED Image

UPD: STILL NEED TO FIX Image

survey-creator Enhancement Rename API - Survey Creator for Angular
  • Rename SurveyAngularModule and SurveyCreatorAngularModule SurveyAngularModule -> SurveyModule; SurveyCreatorAngularModule -> SurveyCreatorModule.
import { SurveyAngularModule } from "survey-angular-ui";
import { SurveyCreatorAngularModule } from "survey-creator-angular";

Rename to:

import { SurveyModule } from "survey-angular-ui";
import { SurveyCreatorModule } from "survey-creator-angular";
  • svc-creator to survey-creator

<svc-creator [model]="creator"> to: <survey-creator [model]="creator">

The SVC-prefix also exists for other platforms. Suggestion - rename for other platforms.

  • Add a CreatorBase descendant (SurveyCreatorModel)
survey-creator Enhancement Make placeholder in Fast Entry window for choices property localizable

Placeholder in Fast Entry window is not localizable right now. We should allow to change it for different languages. It has been added into "pe." section with the following text in English: pe.fastEntryPlaceholder: "You can set data in the following format:\nvalue1|text\nvalue2",

survey-pdf Bug Not populating all fields in exported PDF, even though result values exist

Are you requesting a feature, reporting a bug or asking a question?

Reporting a bug

What is the current behavior?

When exporting a PDF, some fields are not populated with survey results.

What is the expected behavior?

Fields should all be populated with JSON result values.

How would you reproduce the current behavior (if this is a bug)?

See the example here: https://surveyjs.io/pdf-generator/examples/survey-pdf-export/reactjs

If you run the standard PDF export, several questions do not populate in the exported PDF with the expected value.

Provide the test code and the tested page URL (if applicable)

Tested page URL: https://surveyjs.io/pdf-generator/examples/survey-pdf-export/reactjs

Test code

[your_code_here]
(https://surveyjs.io/pdf-generator/examples/survey-pdf-export/reactjs)

Specify your

  • browser: Chrome / Safari

  • browser version: Version 106.0.5249.119 (Official Build) (arm64)

  • surveyjs platform (angular or react or jquery or knockout or vue): JQuery

  • surveyjs version: 1.9.54

survey-pdf Bug Print to PDF demo: Radiogroup items are selected incorrectly in Adobe Acrobat Reader

Run this demo: https://surveyjs.io/pdf-generator/examples/survey-pdf-export/reactjs. Export the survey to PDF and open it in Adobe Acrobat Reader. It is impossible to select an item for question 5. For question 6: items are incorrectly selected. 2022-10-25_20-36-18

Version: v1.9.56, released at Tuesday, November 1, 2022, Total Issue Count: 24

This is how the drop-down list looks when filtered: image We could remove all that blank space.

Product
survey-library
Type
API Change
Description
QuestionDropdownModel: Rename the `autoComplete` property

It should be autocomplete with a lower case "c".

Product
survey-library
Type
Enhancement
Description
Change the width of a PopupSurvey dialog

The PopupSurvey class doesn't have a width property, neither it uses the survey.width property.

Suggestion: an option to change the width of a popup survey dialog: via a new property or using the survey.width property.

Original issue: T10854 - Change Width of PopupSurvey.

Product
survey-library
Type
Enhancement
Description
Library-Angular: implement lazy rendering
Product
survey-library
Type
Enhancement
Description
Add loading indicator in popup with lazy loading choices
Product
survey-library
Type
Bug
Description
Recalculate popup location after lazy loading choices
Product
survey-library
Type
Enhancement
Description
Rename useDisplayValuesInTitles

The useDisplayValuesInTitle option determines how a question value will be displayed not just in titles, but in other parts of a questionnaire, for example, in a Expression, or HTML questions. Example: https://plnkr.co/edit/7zFhuJKm44V2f6nn.

Product
survey-library
Type
Enhancement
Description
Rename the useDisplayValuesInTitle property and update doc description

Why to rename? The useDisplayValuesInTitle option determines how a question value will be displayed not just in titles, but in other parts of a questionnaire, for example, in a Expression, or HTML questions. Example: https://plnkr.co/edit/7zFhuJKm44V2f6nn.

Suggested new property name: useDisplayValuesInDynamicTexts Suggested property description:

Specifies whether to use display names for question values in placeholders. This property is used for questions whose values define the value and text properties (for example, a Radiogroup choice option with value and text).

Question placeholders can be used in the following places:

  • Survey element titles and descriptions;
  • The expression property of the Expression question;
  • The html property of the HTML question.

To use a question value as a placeholder, specify the question name in curly brackets: {questionName}.

A question number should appear on the right side in RTL mode. Example image

Product
survey-library
Type
Bug
Description
Refresh placeholder on dropdown choices change

How we found the bug: Validator Text is messed up for the Multiple Text question

Create a Multiple Text question, Navigate to Items -> Validators. Click the 'Add' button and observe the validator text is messed up and the Validators dialog goes beyound the Property Grid boundaries: image

Product
survey-library
Type
Bug
Description
Error message doesn't look good if titleLocation is left

I created a composite component and enabled the isRequired field for each question. The composite layout appears as follows when validation fails for items: example. image

Validation message should basically appear at the top or bottom of individual questions.

Product
survey-creator
Type
Enhancement
Description
Creator Fonts (mac os)

Make fonts less bold.

Product
survey-creator
Type
Enhancement
Description
Access a question instance in when uploading an image to the Image question

I want to access a question instance when uploading an image to the Image question. The creator raises the creator.onUploadFile event at this point, however, a question instance is not available in event arguments.

Source ticket: T10835 - Get the question object in surveyCreator.onUploadFile.add.

Product
survey-creator
Type
Bug
Description
Angular: fix build with production: true
Product
survey-creator
Type
Enhancement
Description
Table Survey Results tab does not display an internal survey value

I set a custom survey value via the survey.setValue function call. The Creator's Survey Results tab doesn't display my value in Table mode (example) image

Product
survey-creator
Type
Enhancement
Description
Update lerna dependency

Are you requesting a feature, reporting a bug or ask a question?

Feature

It would be great if Lerna could be updated to the latest version, the dependency used currently is 3.22.1 which is more than 2 years old. Since then a lot if improvements have made which I could imagine make it a better tool. Besides that it's not a great developer experience if you have to constantly deal with old and deprecated dependencies.

What is the current behavior?

Installing the dependencies using NPM leads to tons of deprecation warnings

What is the expected behavior?

Fewer or no warnings

How would you reproduce the current behavior (if this is a bug)?

git clone git@github.com:surveyjs/survey-creator.git
npm install
Product
survey-creator
Type
Bug
Description
Dropdown. Placeholder text has wrong alignment.

In the meantime filled editor is okay.

UPD: ALREADY FIXED Image

UPD: STILL NEED TO FIX Image

Product
survey-creator
Type
Enhancement
Description
Rename API - Survey Creator for Angular
  • Rename SurveyAngularModule and SurveyCreatorAngularModule SurveyAngularModule -> SurveyModule; SurveyCreatorAngularModule -> SurveyCreatorModule.
import { SurveyAngularModule } from "survey-angular-ui";
import { SurveyCreatorAngularModule } from "survey-creator-angular";

Rename to:

import { SurveyModule } from "survey-angular-ui";
import { SurveyCreatorModule } from "survey-creator-angular";
  • svc-creator to survey-creator

<svc-creator [model]="creator"> to: <survey-creator [model]="creator">

The SVC-prefix also exists for other platforms. Suggestion - rename for other platforms.

  • Add a CreatorBase descendant (SurveyCreatorModel)
Product
survey-creator
Type
Enhancement
Description
Make placeholder in Fast Entry window for choices property localizable

Placeholder in Fast Entry window is not localizable right now. We should allow to change it for different languages. It has been added into "pe." section with the following text in English: pe.fastEntryPlaceholder: "You can set data in the following format:\nvalue1|text\nvalue2",

Are you requesting a feature, reporting a bug or asking a question?

Reporting a bug

What is the current behavior?

When exporting a PDF, some fields are not populated with survey results.

What is the expected behavior?

Fields should all be populated with JSON result values.

How would you reproduce the current behavior (if this is a bug)?

See the example here: https://surveyjs.io/pdf-generator/examples/survey-pdf-export/reactjs

If you run the standard PDF export, several questions do not populate in the exported PDF with the expected value.

Provide the test code and the tested page URL (if applicable)

Tested page URL: https://surveyjs.io/pdf-generator/examples/survey-pdf-export/reactjs

Test code

[your_code_here]
(https://surveyjs.io/pdf-generator/examples/survey-pdf-export/reactjs)

Specify your

  • browser: Chrome / Safari

  • browser version: Version 106.0.5249.119 (Official Build) (arm64)

  • surveyjs platform (angular or react or jquery or knockout or vue): JQuery

  • surveyjs version: 1.9.54

Run this demo: https://surveyjs.io/pdf-generator/examples/survey-pdf-export/reactjs. Export the survey to PDF and open it in Adobe Acrobat Reader. It is impossible to select an item for question 5. For question 6: items are incorrectly selected. 2022-10-25_20-36-18

Version: v1.9.55, released at Tuesday, October 25, 2022, Total Issue Count: 36

Product Type Description
survey-library Enhancement Dropdown, Tagbox - Improve performance when working with large data sets

When a data set contains a lot of items, Dropdown/Tagbox may not handle this well, for example, take more time to load items.

Introduce an option to improve the performance when using large datasets for Dropdown/Tagbox questions.

survey-library Bug File question: The upload state briefly changes to "empty" while a file is being uploaded
  1. Open this plunk: https://plnkr.co/edit/6ecfDpSUAW3c5vAz
  2. F12 to open the console
  3. Upload a file

Expected result: the console indicates that the state change chain is: "loading" -> "loaded" Result: the console indicates that the state change chain is: "loading" -> "empty" -> "loading" -> "loaded".

survey-library Bug File question: imageHeight and imageWidth doesn't seem to apply

https://plnkr.co/edit/BS0XKyM82kl2rd0a Try to upload an image. I expect that it will be resized according to the specified settings, but it isn't.

survey-library API Change QuestionFileModel: Rename the `onStateChanged` property

We already have a state property that defines the expand state. However, the onStateChanged property works with the upload state. So, to distinguish between these states, I suggest renaming the onStateChanged proeprty to onUploadStateChanged.

survey-library Bug Knockout library not working

Are you requesting a feature, reporting a bug or ask a question?

Bug

What is the current behavior?

Survey not rendering using knockout library

What is the expected behavior?

Survey should render as before

How would you reproduce the current behavior (if this is a bug)?

I did not change anything in my code, it was working 2 months ago, then fired it up today and survey doesn't render. I'm using the latest knockout library

Provide the test code and the tested page URL (if applicable)

The example in the documentation also doesn't work, see https://surveyjs.io/form-library/documentation/get-started-knockout.

survey-library API Change Remove label and showTitle from boolean question

These properties becomes obsolete because label is using when renderAs property equals to "checkbox" and titleLocation is "hidden". We can remove them completely. question.title property can be used instead. We will copy data from label property into title when needed to support previous JSONs.

survey-library Enhancement calculatedWidthMode is not changed in Library on adding questions or setting JSON
survey-library Enhancement Rename the default emptySurveyText value

Change this text: There is no visible page or question in the survey

To the following one: The survey doesn't contain visible pages or questions

survey-library Bug Ranking. Wrong text color
survey-library Bug Checkbox List. An item is hovered, but can't be checked.

Screenshot 2022-10-05 at 21 46 04

survey-library Bug Image Picker: User has no ability dragging an empty item

2 — User has no ability dragging an empty item. It's okay, but in this case dragging indicator shouldn't be shown. Screenshot 2022-08-10 at 09 28 54

survey-library Bug Image Picker empty icon wrong color
survey-library Bug Questions in the same row have different widths

questions-in-one-row_diff

{ "logoPosition": "right", "pages": [ { "name": "page1", "elements": [ { "type": "panel", "name": "panel1", "elements": [ { "type": "text", "name": "question1" }, { "type": "text", "name": "question2", "startWithNewLine": false } ] } ] } ] }

survey-library Enhancement Render boolean-checkbox label with title actions

We need to render title actions in boolean-checkbox label.

survey-library Bug The SurveyModel.onFocusInQuestion event is not raised in Vue.js

The survey.onFocusInQuestion event is not raised in Vue.js. Please check the following example:

survey-library Enhancement Add tagbox into default cell types

tagbox is a popular question that has to be availalbe in dropdown and dynamice matrices.

survey-creator Bug Disabled buttons shouldn't be hovered and pressed

Mac OS. Chrome.

Screenshot 2022-06-01 at 15 47 15

survey-creator Bug Matrix / Column Selection

We shouldn't select the question panel during column selection. Screenshot 2022-07-27 at 10 54 35

survey-creator Bug Survey Creator Custom Options - Cannot show Help Description for a custom Boolean option

I created a custom Boolean property and want to show help description for it. However, the following code doesn't work - a help icon isn't shown for a custom Boolean property.

Survey.Serializer.addProperty(
  "survey", 
   {
     name: "sampleProp:boolean",
     category: "Watermark"
  }
);
const translations = SurveyCreator.localization.getLocale("");
debugger;
translations.pehelp.sampleProp = "Sample tip here";

image

The issue has been reported at https://surveyjs.answerdesk.io/ticket/details/T10340.

survey-creator Bug Matrixdropdown - A Radiogroup column is reset to Dropdown when modifying Choices from the Design Surface

Change a Matrixdropdown column from Dropdown to Radiogroup, and edit choices via the Designer. You'll see that the Radiogroup column will be changed to Dropdown.

https://user-images.githubusercontent.com/22372972/193212116-32f12505-4e4e-4691-92e0-ed199a0e2c18.mp4

survey-creator Bug Add Question button. Can we hide system focus frame and use ours?
survey-creator Bug The Default Answer Dialog shows the `question` text instead of a question name when the title is unspecified

I created a new question (title is empty) and proceed with specifying the default answer. The Set Default Answer dialog displays the question text instead of the question name (if a question's title is empty): image

survey-creator Bug calculatedWidthMode is not changed in Creator on adding questions
survey-creator Bug Adorner Question Selector drop-down duplicates the custom widger TagBox entry

Open this demo: https://surveyjs.io/survey-creator/examples/customwidgets/reactjs. Observe a custom TagBox item is duplicated: image

survey-creator Bug Custom Widgets Demo - Logic Tab items are misaligned

Run the Custom Widgets demo, and enable the Logic tab (click to see the example). Observe Logic tab items misaligned: image

survey-creator Bug Angular: page navigator throws console errors

Seems to be problem with this line: navigator._itemsContainer.children[0].children[1].className = cssClass; where children[0] is empty custom tag (svc-page-navigator) Maybe it should be changed like this: navigator._itemsContainer.querySelector("div").querySelectorAll(":scope > div")[1].className = cssClass;

survey-creator Bug onPropertyValueChanging | doValidation doesn't validate user input

Run this example: https://plnkr.co/edit/4sGeOhgQZToEyGmU.

The options.doValidation = true doesn't validate user input.

survey-creator Bug A dependant property doesn't display a placeholder when the master property is changed

https://surveyjs.io/survey-creator/examples/dependsonproperties/

  1. Add a question.
  2. Go to survey settings -> Expand Geo Location in the Property Grid
  3. Select a Region.
  4. Select a Country.
  5. Change the Region.

Result: Country is empty, while it should display a placeholder.

  1. Change the Region once more.

Result: Country displays the placeholder.

Here's a video: https://www.screencast.com/t/kvHwyrVCzt

survey-creator Bug Property Grid doesn't allow putting a custom category above Logo in Survey Title
survey-creator Bug A property with dependsOn doesn't display a Clear button although `null` is added as a legitimate value

You can see the problem in this demo: https://surveyjs.io/survey-creator/examples/dependsonproperties/

  1. Open Property Grid -> Geo Location.
  2. Select a Region.
  3. Select a Country.

Expected result: You can reset Country using a Clear button. Actual result: No clear button.

survey-pdf Bug Bug: onDownloadFile is called after save pdf

we should wait for callbacks before we save pdf

survey-pdf Bug Matrix Dropdown (v1.9.54) - Cannot evalue a specific matrix row in PDF

surveyResult (1).pdf

Check the following example: https://plnkr.co/edit/sAr2CLQ3TogOMkat. For the Your opinion question, All checkbox items are selected in when I try to select just one option of a row/column: 2022-10-24_11-38-06

survey-pdf Enhancement The Survey.ChoicesRestfull.onBeforeSendRequest callback is not raised during PDF export

The Survey.ChoicesRestfull.onBeforeSendRequest callback is not raised during PDF export. The Survey.settings.useCachingForChoicesRestful option is ignored. Example

survey-analytics Bug SurveyJS Tabulator on mobiles

I noticed a bug on the mobile screen size using SurveyJS Tabulator. The table header sa-tabulator__header goes out of the screen on mobiles.

Example page: https://surveyjs.io/dashboard/examples/s/nps-tabulator

Screenshot 2022-10-18 at 14 49 49

survey-analytics Bug Cannot find namespace 'Plotly'

Hello,

We would like to include this package in an application, but we are still having issue with Angular 14:

` Error: node_modules/survey-analytics/survey.analytics.d.ts:1703:30 - error TS2503: Cannot find namespace 'Plotly'.

1703 get chart(): Promise<Plotly.PlotlyHTMLElement>; ~~~~~~ ` Here is the package.json:

"dependencies": {
    "@angular/animations": "^14.2.6",
    "@angular/cdk": "^14.2.5",
    "@angular/common": "^14.2.6",
    "@angular/compiler": "^14.2.6",
    "@angular/core": "^14.2.6",
    "@angular/forms": "^14.2.6",
    "@angular/localize": "^14.2.6",
    "@angular/platform-browser": "^14.2.6",
    "@angular/platform-browser-dynamic": "^14.2.6",
    "@angular/router": "^14.2.6",
    .
    .
    .
    "rxjs": "~7.5.7",
    "survey-analytics": "^1.9.54",
    "survey-angular": "^1.9.54",
    "survey-creator-knockout": "^1.9.54",
    "tslib": "^2.4.0",
    "zone.js": "~0.11.8"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^14.2.6",
    "@angular-eslint/builder": "14.1.2",
    "@angular-eslint/eslint-plugin": "14.1.2",
    "@angular-eslint/eslint-plugin-template": "14.1.2",
    "@angular-eslint/schematics": "14.1.2",
    "@angular-eslint/template-parser": "14.1.2",
    "@angular/cli": "^14.2.6",
    "@angular/compiler-cli": "^14.2.6",
    "@types/jasmine": "~4.3.0",
     .
     .
     .
    "@types/plotly.js-dist-min": "^2.3.1",
    "@types/wordcloud": "^1.1.3",
    "@typescript-eslint/eslint-plugin": "5.40.1",
    "@typescript-eslint/parser": "5.40.1",
    "eslint": "^8.25.0",
    "jasmine-core": "~4.4.0",
    "jasmine-spec-reporter": "~7.0.0",
    "karma": "~6.4.1",
    "karma-chrome-launcher": "~3.1.1",
    "karma-coverage": "~2.2.0",
    "karma-jasmine": "~5.1.0",
    "karma-jasmine-html-reporter": "^2.0.0",
    .
    .
    .
    "ts-node": "~10.9.1",
    "tslint": "~6.1.3",
    "typescript": "~4.8.4"
  }

Thank you

survey-analytics Enhancement Set a custom number of visible table row count for the Tabulator view

Temporary solution: provide a custom list for the 'Show X entries' drop-down and call tabulator's setPageSize function to set a custom initial number of table rows. Example.

Version: v1.9.55, released at Tuesday, October 25, 2022, Total Issue Count: 36

Product
survey-library
Type
Enhancement
Description
Dropdown, Tagbox - Improve performance when working with large data sets

When a data set contains a lot of items, Dropdown/Tagbox may not handle this well, for example, take more time to load items.

Introduce an option to improve the performance when using large datasets for Dropdown/Tagbox questions.

  1. Open this plunk: https://plnkr.co/edit/6ecfDpSUAW3c5vAz
  2. F12 to open the console
  3. Upload a file

Expected result: the console indicates that the state change chain is: "loading" -> "loaded" Result: the console indicates that the state change chain is: "loading" -> "empty" -> "loading" -> "loaded".

Product
survey-library
Type
Bug
Description
File question: imageHeight and imageWidth doesn't seem to apply

https://plnkr.co/edit/BS0XKyM82kl2rd0a Try to upload an image. I expect that it will be resized according to the specified settings, but it isn't.

Product
survey-library
Type
API Change
Description
QuestionFileModel: Rename the `onStateChanged` property

We already have a state property that defines the expand state. However, the onStateChanged property works with the upload state. So, to distinguish between these states, I suggest renaming the onStateChanged proeprty to onUploadStateChanged.

Product
survey-library
Type
Bug
Description
Knockout library not working

Are you requesting a feature, reporting a bug or ask a question?

Bug

What is the current behavior?

Survey not rendering using knockout library

What is the expected behavior?

Survey should render as before

How would you reproduce the current behavior (if this is a bug)?

I did not change anything in my code, it was working 2 months ago, then fired it up today and survey doesn't render. I'm using the latest knockout library

Provide the test code and the tested page URL (if applicable)

The example in the documentation also doesn't work, see https://surveyjs.io/form-library/documentation/get-started-knockout.

Product
survey-library
Type
API Change
Description
Remove label and showTitle from boolean question

These properties becomes obsolete because label is using when renderAs property equals to "checkbox" and titleLocation is "hidden". We can remove them completely. question.title property can be used instead. We will copy data from label property into title when needed to support previous JSONs.

Product
survey-library
Type
Enhancement
Description
calculatedWidthMode is not changed in Library on adding questions or setting JSON
Product
survey-library
Type
Enhancement
Description
Rename the default emptySurveyText value

Change this text: There is no visible page or question in the survey

To the following one: The survey doesn't contain visible pages or questions

Product
survey-library
Type
Bug
Description
Ranking. Wrong text color
Product
survey-library
Type
Bug
Description
Checkbox List. An item is hovered, but can't be checked.

Screenshot 2022-10-05 at 21 46 04

Product
survey-library
Type
Bug
Description
Image Picker: User has no ability dragging an empty item

2 — User has no ability dragging an empty item. It's okay, but in this case dragging indicator shouldn't be shown. Screenshot 2022-08-10 at 09 28 54

Product
survey-library
Type
Bug
Description
Image Picker empty icon wrong color
Product
survey-library
Type
Bug
Description
Questions in the same row have different widths

questions-in-one-row_diff

{ "logoPosition": "right", "pages": [ { "name": "page1", "elements": [ { "type": "panel", "name": "panel1", "elements": [ { "type": "text", "name": "question1" }, { "type": "text", "name": "question2", "startWithNewLine": false } ] } ] } ] }

Product
survey-library
Type
Enhancement
Description
Render boolean-checkbox label with title actions

We need to render title actions in boolean-checkbox label.

Product
survey-library
Type
Bug
Description
The SurveyModel.onFocusInQuestion event is not raised in Vue.js

The survey.onFocusInQuestion event is not raised in Vue.js. Please check the following example:

Product
survey-library
Type
Enhancement
Description
Add tagbox into default cell types

tagbox is a popular question that has to be availalbe in dropdown and dynamice matrices.

Product
survey-creator
Type
Bug
Description
Disabled buttons shouldn't be hovered and pressed

Mac OS. Chrome.

Screenshot 2022-06-01 at 15 47 15

Product
survey-creator
Type
Bug
Description
Matrix / Column Selection

We shouldn't select the question panel during column selection. Screenshot 2022-07-27 at 10 54 35

I created a custom Boolean property and want to show help description for it. However, the following code doesn't work - a help icon isn't shown for a custom Boolean property.

Survey.Serializer.addProperty(
  "survey", 
   {
     name: "sampleProp:boolean",
     category: "Watermark"
  }
);
const translations = SurveyCreator.localization.getLocale("");
debugger;
translations.pehelp.sampleProp = "Sample tip here";

image

The issue has been reported at https://surveyjs.answerdesk.io/ticket/details/T10340.

Change a Matrixdropdown column from Dropdown to Radiogroup, and edit choices via the Designer. You'll see that the Radiogroup column will be changed to Dropdown.

https://user-images.githubusercontent.com/22372972/193212116-32f12505-4e4e-4691-92e0-ed199a0e2c18.mp4

Product
survey-creator
Type
Bug
Description
Add Question button. Can we hide system focus frame and use ours?

I created a new question (title is empty) and proceed with specifying the default answer. The Set Default Answer dialog displays the question text instead of the question name (if a question's title is empty): image

Product
survey-creator
Type
Bug
Description
calculatedWidthMode is not changed in Creator on adding questions

Open this demo: https://surveyjs.io/survey-creator/examples/customwidgets/reactjs. Observe a custom TagBox item is duplicated: image

Product
survey-creator
Type
Bug
Description
Custom Widgets Demo - Logic Tab items are misaligned

Run the Custom Widgets demo, and enable the Logic tab (click to see the example). Observe Logic tab items misaligned: image

Product
survey-creator
Type
Bug
Description
Angular: page navigator throws console errors

Seems to be problem with this line: navigator._itemsContainer.children[0].children[1].className = cssClass; where children[0] is empty custom tag (svc-page-navigator) Maybe it should be changed like this: navigator._itemsContainer.querySelector("div").querySelectorAll(":scope > div")[1].className = cssClass;

Product
survey-creator
Type
Bug
Description
onPropertyValueChanging | doValidation doesn't validate user input

Run this example: https://plnkr.co/edit/4sGeOhgQZToEyGmU.

The options.doValidation = true doesn't validate user input.

https://surveyjs.io/survey-creator/examples/dependsonproperties/

  1. Add a question.
  2. Go to survey settings -> Expand Geo Location in the Property Grid
  3. Select a Region.
  4. Select a Country.
  5. Change the Region.

Result: Country is empty, while it should display a placeholder.

  1. Change the Region once more.

Result: Country displays the placeholder.

Here's a video: https://www.screencast.com/t/kvHwyrVCzt

You can see the problem in this demo: https://surveyjs.io/survey-creator/examples/dependsonproperties/

  1. Open Property Grid -> Geo Location.
  2. Select a Region.
  3. Select a Country.

Expected result: You can reset Country using a Clear button. Actual result: No clear button.

Product
survey-pdf
Type
Bug
Description
Bug: onDownloadFile is called after save pdf

we should wait for callbacks before we save pdf

surveyResult (1).pdf

Check the following example: https://plnkr.co/edit/sAr2CLQ3TogOMkat. For the Your opinion question, All checkbox items are selected in when I try to select just one option of a row/column: 2022-10-24_11-38-06

The Survey.ChoicesRestfull.onBeforeSendRequest callback is not raised during PDF export. The Survey.settings.useCachingForChoicesRestful option is ignored. Example

Product
survey-analytics
Type
Bug
Description
SurveyJS Tabulator on mobiles

I noticed a bug on the mobile screen size using SurveyJS Tabulator. The table header sa-tabulator__header goes out of the screen on mobiles.

Example page: https://surveyjs.io/dashboard/examples/s/nps-tabulator

Screenshot 2022-10-18 at 14 49 49

Product
survey-analytics
Type
Bug
Description
Cannot find namespace 'Plotly'

Hello,

We would like to include this package in an application, but we are still having issue with Angular 14:

` Error: node_modules/survey-analytics/survey.analytics.d.ts:1703:30 - error TS2503: Cannot find namespace 'Plotly'.

1703 get chart(): Promise<Plotly.PlotlyHTMLElement>; ~~~~~~ ` Here is the package.json:

"dependencies": {
    "@angular/animations": "^14.2.6",
    "@angular/cdk": "^14.2.5",
    "@angular/common": "^14.2.6",
    "@angular/compiler": "^14.2.6",
    "@angular/core": "^14.2.6",
    "@angular/forms": "^14.2.6",
    "@angular/localize": "^14.2.6",
    "@angular/platform-browser": "^14.2.6",
    "@angular/platform-browser-dynamic": "^14.2.6",
    "@angular/router": "^14.2.6",
    .
    .
    .
    "rxjs": "~7.5.7",
    "survey-analytics": "^1.9.54",
    "survey-angular": "^1.9.54",
    "survey-creator-knockout": "^1.9.54",
    "tslib": "^2.4.0",
    "zone.js": "~0.11.8"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^14.2.6",
    "@angular-eslint/builder": "14.1.2",
    "@angular-eslint/eslint-plugin": "14.1.2",
    "@angular-eslint/eslint-plugin-template": "14.1.2",
    "@angular-eslint/schematics": "14.1.2",
    "@angular-eslint/template-parser": "14.1.2",
    "@angular/cli": "^14.2.6",
    "@angular/compiler-cli": "^14.2.6",
    "@types/jasmine": "~4.3.0",
     .
     .
     .
    "@types/plotly.js-dist-min": "^2.3.1",
    "@types/wordcloud": "^1.1.3",
    "@typescript-eslint/eslint-plugin": "5.40.1",
    "@typescript-eslint/parser": "5.40.1",
    "eslint": "^8.25.0",
    "jasmine-core": "~4.4.0",
    "jasmine-spec-reporter": "~7.0.0",
    "karma": "~6.4.1",
    "karma-chrome-launcher": "~3.1.1",
    "karma-coverage": "~2.2.0",
    "karma-jasmine": "~5.1.0",
    "karma-jasmine-html-reporter": "^2.0.0",
    .
    .
    .
    "ts-node": "~10.9.1",
    "tslint": "~6.1.3",
    "typescript": "~4.8.4"
  }

Thank you

Product
survey-analytics
Type
Enhancement
Description
Set a custom number of visible table row count for the Tabulator view

Temporary solution: provide a custom list for the 'Show X entries' drop-down and call tabulator's setPageSize function to set a custom initial number of table rows. Example.

Version: v1.9.54, released at Tuesday, October 18, 2022, Total Issue Count: 26

Product Type Description
survey-library Enhancement Improve errors in UI in defaultV2 theme

Based on https://surveyjs.answerdesk.io/internal/ticket/details/T10140 and https://surveyjs.answerdesk.io/internal/ticket/details/T9923. Based on users feedback tooltip errors which appear in panel/paneldynamic are inconvenient.

survey-library Bug Textbox/Comment - check disables/enabled state for these questions
survey-library Bug Survey Creator Toolbar texts are not translated to Korean

Designer/Preview/Logic tabs are not translated when the ko locale is applied: image

Example.

Original issue: T10908 - Doesn't Works translate(top bar item).

UPD: The original issue in surveLocalization.onGetExternalString callback. It is called with the wrong locale.

survey-library Bug File Question - The file upload area is blinking and a file is not uploaded

Run this demo, upload the first file. Try to upload the second file and observe the file upload area is blinking. On dropping a file to this blinking area, it is not getting uploaded. https://user-images.githubusercontent.com/22372972/195525650-34ebaba5-1958-4ab9-9570-88878aefa300.mp4

survey-library Bug Improve usability of clean functionality when using question type file

Are you requesting a feature, reporting a bug or asking a question?

Usability improvement for the clean button

image

What is the current behavior?

The clean button of the file upload component doesn't show a tooltip and the icon is a bit unclear what it does. (Feedback from our customers/users)

What is the expected behavior?

Either a tooltip like the choose files button next to it does or a replacement icon which is more common and users get what to expect when clicking it.

Image of the tooltip of the choose file, that could be used for the clean aswell as a solution

image

Specify your

  • surveyjs version: 1.9.53
survey-library Bug Expand panel on focusing question inside it

question.focus() function does nothing if this question is inside collapsed panel. We have to expand this panel first.

survey-library Bug Do not call copy and setvalue triggers on page changed event

Are you requesting a feature, reporting a bug or asking a question?

Reporting a bug

What is the current behavior?

Data in a panel dynamic gets removed when a trigger happens.

What is the expected behavior?

Data should not get deleted.

How would you reproduce the current behavior (if this is a bug)?

See this Plunker: https://plnkr.co/edit/HBRDYcu40rLccRsu

  • Set the SurveyJS version to 1.9.41 and the survey submits correctly.
  • Set the SurveyJS version to anything newer and the data in the second panel dynamic gets removed.

Another case where data is removed:

  • Set the trigger boolean to "yes".
  • Add a second report recipient, submit the survey and see that the second recipient is removed.

Provide the test code and the tested page URL (if applicable)

See this Plunker: https://plnkr.co/edit/HBRDYcu40rLccRsu

Specify your

  • browser: firefox/chrome
  • browser version: latest
  • surveyjs platform (angular or react or jquery or knockout or vue): jquery
  • surveyjs version: 1.9.42 and higher
survey-library Enhancement If value is missed for ItemValue object in JSON then use text property

If we have the following JSON for ItemValue object { "text" : "abc" } then use text property for value as well, since value is required.

survey-creator Enhancement List UX -UX improvement of list filling is required (keyboard navigation).

UX improvement of list filling is required (keyboard navigation).

This applies to the following questions

  • check-box — radio group

  • drop-down — rating — ranking

  • boolean

  • matrix

  • multiple text

  • #3489

  • #3479 Focus question title when create a question At the moment of creating a question, immediately focus the text field of the question (input is activated). SelectBase items Keyboard editing Enter does not end input, but shifts focus to the next input field. You can finish entering by Ctrl (Cmd) + Enter, mouse click “in milk”, or ESC, but with the cancellation of changes, if any. By pressing Enter, the focus is “transferred” to the input fields (within one question). If there are no more input fields, then Enter adds a new item. In questions where there is nothing to fill in, Enter simply ends the input after entering the question text. At the time of adding a new item, the input field is focused.

  • #3497

  • Keyboard interactivity for ranking (already resolved in #3479 )

  • #3513

  • #3514

  • #3515 For matrix it would be possible to create a new column/row using Enter.

  • #3480

  • #3516 Moreover, if the user went up by tabulation at the bottom, then the focus should be left on the item, which is higher, if the user went down from above, then on the item, which is lower.

  • #3517

  • #3518

survey-creator Bug Ranking. Sorting Issue

It happens when use keyboard and remove items.

Screenshot 2022-07-27 at 10 33 13 Screenshot 2022-07-27 at 10 33 33

survey-creator Enhancement Preview zoom factor should be 100% for all devices.
  • wrong design of the devices. Screenshot 2022-08-25 at 10 11 38
survey-creator Bug Matrix. Button's Titles

These are titles. We should use Title Case. Add column –> Add Column Add row –> Add Row

Screenshot 2022-09-08 at 16 06 30

Screenshot 2022-09-08 at 16 06 26

survey-creator Bug Wrong Checkbox / Radio Button Background
survey-creator Bug The navigation bar doesn't list all survey pages

I have 14 pages in my survey, but the navigation bar doesn't seem to have pages 13 and 14 in the list: image

They are accessible only via the Survey | Pages property section. image

Example.

survey-creator Bug Property grid. Drop-down editor's has wrong focus.
survey-creator Enhancement Ranking. Drag-n-Drop issue (keyboard navigation).

During the dragging item keeps its absolute position. It's not good. The better way it is to keep page position (no scrolling).

Image

survey-creator Enhancement Keyboard interactivity for multiple text
survey-creator Enhancement Keyboard interactivity for matrix
survey-creator Enhancement After deleting an item, focus should be left on the Remove buttons.

Moreover, if the user went up by tabulation at the bottom, then the focus should be left on the item, which is higher, if the user went down from above, then on the item, which is lower.

survey-creator Enhancement After changing the question type, the focus should be left on the type change combo box.
survey-creator Enhancement Inserting a ready-made list of answers. By ctrl + V, the list of answers is filled, starting with the focused one.
survey-creator Bug Custom Component with a Panel Dynamic question - Users still can add and remove panel elements

I created a custom component with a Panel Dynamic question.

Survey
  .ComponentCollection
  .Instance
  .add({
    name: "myPanel",
    title: "Dynamic Panel (Custom)",
    questionJSON: {
     "type": "paneldynamic",
     "name": "myPanel1",
      "panelCount": 1,
     "templateElements": [
      {
       "type": "text",
       "name": "question3"
      }
     ]
    }
});

However, users still can add/remove panel elements using the Delete/Add question buttons: image

Example.

Expected behavior: users should not be able to modify the content of a panel element. For example, like for a Matrixdynamic question.

survey-creator Enhancement Allow to add a custom action into modal windows in property grid

There should be a way to add a new action in modal windows in property grid, for example faster entry for choices or condition editor. Example of adding a new button into Fast Entry for Choices property editor:

    creator.onPropertyGridShowModal.add((sender, options) => {
      const editor = options.popupEditor;
      options.popupModel.footerToolbar.addAction({
        id: "fast-entry-custom",
        innerCss: "sv-popup__body-footer-item sv-popup__button",
        title: "Set Items",
        visibleIndex: 1,
        action: () => {
          editor.comment.value = "1|Item 1\n2|Item 2\ncustom-3|Item 3\n4|Item 4\n5|Item 5";
        }
      });
    });
  });
survey-creator Bug Undo does not work correctly (need extra undo) when add Select item from design surface
survey-creator Bug Property Grid is collapsed when changing the Cell Type of a Matrix Dropdown column

Add a Matrix Dynamic questoin, select a column and change its Column Type. The Property Grid automatically collapses its categories. Expected behavior: the property grid state remain unchanged. https://user-images.githubusercontent.com/22372972/195359254-7321e32b-760e-496c-aa28-4c114858a8c6.mp4

custom-widgets Bug Add locale time to jQuery datepicker value

$el.datepicker('getDate') returns date without time in local time zone, on converting it into Universal time, the date can be changed to previous date. We should add time to avoid this issue.

Version: v1.9.54, released at Tuesday, October 18, 2022, Total Issue Count: 26

Product
survey-library
Type
Enhancement
Description
Improve errors in UI in defaultV2 theme

Based on https://surveyjs.answerdesk.io/internal/ticket/details/T10140 and https://surveyjs.answerdesk.io/internal/ticket/details/T9923. Based on users feedback tooltip errors which appear in panel/paneldynamic are inconvenient.

Product
survey-library
Type
Bug
Description
Textbox/Comment - check disables/enabled state for these questions
Product
survey-library
Type
Bug
Description
Survey Creator Toolbar texts are not translated to Korean

Designer/Preview/Logic tabs are not translated when the ko locale is applied: image

Example.

Original issue: T10908 - Doesn't Works translate(top bar item).

UPD: The original issue in surveLocalization.onGetExternalString callback. It is called with the wrong locale.

Run this demo, upload the first file. Try to upload the second file and observe the file upload area is blinking. On dropping a file to this blinking area, it is not getting uploaded. https://user-images.githubusercontent.com/22372972/195525650-34ebaba5-1958-4ab9-9570-88878aefa300.mp4

Are you requesting a feature, reporting a bug or asking a question?

Usability improvement for the clean button

image

What is the current behavior?

The clean button of the file upload component doesn't show a tooltip and the icon is a bit unclear what it does. (Feedback from our customers/users)

What is the expected behavior?

Either a tooltip like the choose files button next to it does or a replacement icon which is more common and users get what to expect when clicking it.

Image of the tooltip of the choose file, that could be used for the clean aswell as a solution

image

Specify your

  • surveyjs version: 1.9.53
Product
survey-library
Type
Bug
Description
Expand panel on focusing question inside it

question.focus() function does nothing if this question is inside collapsed panel. We have to expand this panel first.

Product
survey-library
Type
Bug
Description
Do not call copy and setvalue triggers on page changed event

Are you requesting a feature, reporting a bug or asking a question?

Reporting a bug

What is the current behavior?

Data in a panel dynamic gets removed when a trigger happens.

What is the expected behavior?

Data should not get deleted.

How would you reproduce the current behavior (if this is a bug)?

See this Plunker: https://plnkr.co/edit/HBRDYcu40rLccRsu

  • Set the SurveyJS version to 1.9.41 and the survey submits correctly.
  • Set the SurveyJS version to anything newer and the data in the second panel dynamic gets removed.

Another case where data is removed:

  • Set the trigger boolean to "yes".
  • Add a second report recipient, submit the survey and see that the second recipient is removed.

Provide the test code and the tested page URL (if applicable)

See this Plunker: https://plnkr.co/edit/HBRDYcu40rLccRsu

Specify your

  • browser: firefox/chrome
  • browser version: latest
  • surveyjs platform (angular or react or jquery or knockout or vue): jquery
  • surveyjs version: 1.9.42 and higher
Product
survey-library
Type
Enhancement
Description
If value is missed for ItemValue object in JSON then use text property

If we have the following JSON for ItemValue object { "text" : "abc" } then use text property for value as well, since value is required.

Product
survey-creator
Type
Enhancement
Description
List UX -UX improvement of list filling is required (keyboard navigation).

UX improvement of list filling is required (keyboard navigation).

This applies to the following questions

  • check-box — radio group

  • drop-down — rating — ranking

  • boolean

  • matrix

  • multiple text

  • #3489

  • #3479 Focus question title when create a question At the moment of creating a question, immediately focus the text field of the question (input is activated). SelectBase items Keyboard editing Enter does not end input, but shifts focus to the next input field. You can finish entering by Ctrl (Cmd) + Enter, mouse click “in milk”, or ESC, but with the cancellation of changes, if any. By pressing Enter, the focus is “transferred” to the input fields (within one question). If there are no more input fields, then Enter adds a new item. In questions where there is nothing to fill in, Enter simply ends the input after entering the question text. At the time of adding a new item, the input field is focused.

  • #3497

  • Keyboard interactivity for ranking (already resolved in #3479 )

  • #3513

  • #3514

  • #3515 For matrix it would be possible to create a new column/row using Enter.

  • #3480

  • #3516 Moreover, if the user went up by tabulation at the bottom, then the focus should be left on the item, which is higher, if the user went down from above, then on the item, which is lower.

  • #3517

  • #3518

Product
survey-creator
Type
Bug
Description
Ranking. Sorting Issue

It happens when use keyboard and remove items.

Screenshot 2022-07-27 at 10 33 13 Screenshot 2022-07-27 at 10 33 33

Product
survey-creator
Type
Enhancement
Description
Preview zoom factor should be 100% for all devices.
  • wrong design of the devices. Screenshot 2022-08-25 at 10 11 38
Product
survey-creator
Type
Bug
Description
Matrix. Button's Titles

These are titles. We should use Title Case. Add column –> Add Column Add row –> Add Row

Screenshot 2022-09-08 at 16 06 30

Screenshot 2022-09-08 at 16 06 26

Product
survey-creator
Type
Bug
Description
Wrong Checkbox / Radio Button Background
Product
survey-creator
Type
Bug
Description
The navigation bar doesn't list all survey pages

I have 14 pages in my survey, but the navigation bar doesn't seem to have pages 13 and 14 in the list: image

They are accessible only via the Survey | Pages property section. image

Example.

Product
survey-creator
Type
Bug
Description
Property grid. Drop-down editor's has wrong focus.
Product
survey-creator
Type
Enhancement
Description
Ranking. Drag-n-Drop issue (keyboard navigation).

During the dragging item keeps its absolute position. It's not good. The better way it is to keep page position (no scrolling).

Image

Product
survey-creator
Type
Enhancement
Description
Keyboard interactivity for multiple text
Product
survey-creator
Type
Enhancement
Description
Keyboard interactivity for matrix
Product
survey-creator
Type
Enhancement
Description
After deleting an item, focus should be left on the Remove buttons.

Moreover, if the user went up by tabulation at the bottom, then the focus should be left on the item, which is higher, if the user went down from above, then on the item, which is lower.

I created a custom component with a Panel Dynamic question.

Survey
  .ComponentCollection
  .Instance
  .add({
    name: "myPanel",
    title: "Dynamic Panel (Custom)",
    questionJSON: {
     "type": "paneldynamic",
     "name": "myPanel1",
      "panelCount": 1,
     "templateElements": [
      {
       "type": "text",
       "name": "question3"
      }
     ]
    }
});

However, users still can add/remove panel elements using the Delete/Add question buttons: image

Example.

Expected behavior: users should not be able to modify the content of a panel element. For example, like for a Matrixdynamic question.

Product
survey-creator
Type
Enhancement
Description
Allow to add a custom action into modal windows in property grid

There should be a way to add a new action in modal windows in property grid, for example faster entry for choices or condition editor. Example of adding a new button into Fast Entry for Choices property editor:

    creator.onPropertyGridShowModal.add((sender, options) => {
      const editor = options.popupEditor;
      options.popupModel.footerToolbar.addAction({
        id: "fast-entry-custom",
        innerCss: "sv-popup__body-footer-item sv-popup__button",
        title: "Set Items",
        visibleIndex: 1,
        action: () => {
          editor.comment.value = "1|Item 1\n2|Item 2\ncustom-3|Item 3\n4|Item 4\n5|Item 5";
        }
      });
    });
  });

Add a Matrix Dynamic questoin, select a column and change its Column Type. The Property Grid automatically collapses its categories. Expected behavior: the property grid state remain unchanged. https://user-images.githubusercontent.com/22372972/195359254-7321e32b-760e-496c-aa28-4c114858a8c6.mp4

Product
custom-widgets
Type
Bug
Description
Add locale time to jQuery datepicker value

$el.datepicker('getDate') returns date without time in local time zone, on converting it into Universal time, the date can be changed to previous date. We should add time to avoid this issue.

Version: v1.9.53, released at Tuesday, October 11, 2022, Total Issue Count: 29

Product Type Description
survey-library Enhancement Show console warning if SurveyJS Libraries has different versions

A lot of issues developers have when they are using different versions Library (core/ui), Creator, Pdf and Custom widgets. We should show a console warning if versions are different.

survey-library API Change Rename some `has*` properties

We have two types of has* properties:

  1. Properties that indicate presence of something (hasTitle, hasDescription, hasInput).
  2. Properties that change something (hasComment displays a comment area, hasOther displays the Other item)

We need to split these two types apart by means of naming. Let's keep properties of type 1 as they are and rename properties of type 2 as follows:

hasComment -> showCommentArea hasOther -> showOtherItem hasNone -> showNoneItem hasSelectAll -> showSelectAllItem

survey-library Enhancement Replace custom buttons in Popup window with ActionBar

In our popup window we have two buttons "Cancel" and "OK"/"Apply". It is better to use our ActionBar that will allow to add any action on the footer of Popup window.

survey-library Enhancement Tagbox. Empty popup has to be smaller.
survey-library Bug Popup has wrong corner style
survey-library Bug Exception raised if a developer set default locale to incorrect value

The following code will lead to exceptions:

Survey.surveyLocalization.defaultLocale = "en-us";

or

Survey.surveyLocalization.defaultLocale = "unknown";

There is not translation for "en-us" and as result surveyLocalization will start to use undefined object for translated strings. We have to use "en" translation in this case.

survey-library API Change QuestionBooleanModel: Rename the `checkedValue` property

Boolean questions are no longer represented by checkboxes. Now, they display toggle switches. A toggle switch cannot be checked, so I suggest the following renaming: checkedValue -> booleanValue

survey-library Enhancement Do not re-render rateValues on regular numeric item edit
survey-library Bug Ranking question duplicates choices with identical values

Create a Ranking question and specify the identical value for all its choices:

 {
     "type": "ranking",
     "name": "question1",
     "choices": [
      {
       "value": "1",
       "text": "item1"
      },
      {
       "value": "1",
       "text": "item1"
      },
      {
       "value": "1",
       "text": "item1"
      }
     ]
}

Reorder items and observe the Ranking duplicates items: example. image

survey-library Enhancement Survey width property - add 'px' to numeric values
survey-library API Change QuestionCheckboxModel: Rename the `selectedItems` property

Other arrays of choice items are called visibleChoices and enabledChoices. We should rename the selectedItems array to selectedChoices for consitency.

survey-library Bug Ranking. Disable keyboard moving in Creator

UPD. Updated desired behaviour

Without the arrows a user doesn't understand that the item could be dragged. https://www.figma.com/file/7QOeoDDCaPuqzWAROR0kDY/SJS-Creator?node-id=2641%3A1761

Image

survey-library Enhancement Allow to keep duplicated values for locales in Localization strings

Right now, we do not serialize values for a locale if it equals to default value. For example { default: "No", de: "Nein", it: "No" } will be serialized as { default: "No", de: "Nein" }. As result it is hard to know, if the string was actually translated or not. We need a new settings to solve the issue: Survey.settings.storeDuplicatedTranslations = true;

survey-library API Change QuestionDropdownModel: Remove the `cleanButtonCaption` property

This property is used to specify the title attribute for the Clear button. However, users do not need this. We should move this property to dictionaries for localization purposes, and if we agree on doing this, we should also rename it to clearButtonTooltip.

survey-creator Enhancement Ability to have different choices per matrixdynamic columns seems to have broken

Are you requesting a feature, reporting a bug or ask a question?

Reporting bug

What is the current behavior?

I had created a Survey in Survey-Creator that at one time allowed me to have different dropdown choices per column on a single Dynamic Matrix object. This no longer seems to be possible which may have something to do with survey library itself and a code change on that end. When attempting to add different choices between columns, Survey Creator does not respect the values:

Choices for column one, "Sex":

sex

Choices for column two, "Age":

age

JSON output when apply is made on both of these columns:

json


Trying to add the data in the actual choices field in right-hand sidebar does not work as this makes the choices global for all columns.

What is the expected behavior?

Differentiating the choice data between columns used to work reliably, but now the JSON will not output to two columns, nor are any choices available when attempting to preview or run the survey in the wild..

Code that used to work now throws error in Creator JSON output: error

How would you reproduce the current behavior (if this is a bug)?

  • Drag a dynamic matrix block into your Survey Creator page
  • Make 2 columns
  • Hover over the pencil Icon on one column and add choices, click Apply
  • Hover over the pencil icon on the other column and add different choices, click Apply
  • Observe that either one set of choices becomes global for all, or no choices persist and JSON choices does not output

Provide the test code and the tested page URL (if applicable)

Code that used to work:

{
 "logoPosition": "right",
 "pages": [
  {
   "name": "page1",
   "elements": [
    {
     "type": "matrixdynamic",
     "name": "child_sex&age",
     "visibleIf": "{Parent} = 'Yes'",
     "title": "Please select your child's biological sex and current age (in years)",
     "columns": [
      {
       "name": "Age",
       "choices": [
        {
         "value": "item1",
         "text": "Prefer not to Answer"
        },
        {
         "value": "item2",
         "text": "Under 12 Months"
        },
        {
         "value": "item3",
         "text": "1"
        },
        {
         "value": "item4",
         "text": "2"
        },
       ],
       "storeOthersAsComment": true,
       "optionsCaption": "Choose "
      },
      {
       "name": "Sex",
       "choices": [
        {
         "value": "item1",
         "text": "Prefer not to Answer"
        },
        {
         "value": "item2",
         "text": "Male"
        },
        {
         "value": "item3",
         "text": "Female"
        },
        {
         "value": "item4",
         "text": "Intersex"
        }
       ],
       "storeOthersAsComment": true,
       "optionsCaption": "Choose "
      }
     ],
     "optionsCaption": "Choose ",
     "rowCount": 1,
     "minRowCount": 1,
     "confirmDelete": true,
     "confirmDeleteText": "Are you sure you want to delete this record?",
     "addRowText": "Add Child"
    }
   ]
  }
 ]
}

Specify your

  • browser: Firefox 102.0
  • editor version: 1.940
survey-creator Enhancement Implement survey-creator-angular package
survey-creator Enhancement Matrix Dropdown / Dynamic - Columns are not accessible from the Property Grid selector

It is possible to edit Matrixdropdown / Matrixdynamic columns via the Property Grid, however, they are not listed in the Property Grid popup selector: image

survey-creator Enhancement autoComplete property editor replace

image

survey-creator Enhancement Tagbox: implement adding elements at design time

image

survey-creator Bug String Editor [Accessibility] Ensure every ARIA input field has an accessible name
survey-creator Enhancement Keyboard interactivity for rating
survey-creator Enhancement Focus question title after drag-drop
survey-creator Enhancement Keyboard interactivity for boolean
survey-creator Bug Add localization support for placeholder for SurveyQuestionDefinition Description

We have the following description for imagePicker:

    imagepicker: {
      properties: [
        "contentMode",
        "imageFit",
        "isResponsive",
        "minImageWidth",
        "maxImageWidth",
        "minImageHeight",
        "maxImageHeight",
        { name: "imageHeight", placeholder: "auto" },
        { name: "imageWidth", placeholder: "auto" },
        "multiSelect",
        "showLabel",
      ]
    }

The text for placeholder is not localized in the property grid.

survey-creator Enhancement Creator-Angular: Reanimate visual regression tests
survey-creator Enhancement Support "backspace" for item delete in Selectbase questions
survey-pdf Enhancement Correct acroform ids for selectbase questions

For radiogroup questions: /V should item's value For checkbox questions: /T should be question's id + item's value

survey-analytics Bug Filtering doesn't apply

May be related to https://github.com/surveyjs/survey-analytics/issues/229

  1. Open the demo: https://surveyjs.io/dashboard/examples/nps-direct
  2. Click any bar in the questions about backend languages, device types, or our libraries.

Result: all charts become empty. image

survey-analytics Bug Fix roundoff and incorrect ranges in bar charts

https://surveyjs.io/dashboard/examples/nps-direct

image

As you can see, we need to automatically roundoff numbers, but also calculate bar ranges more carefully. In the question illustrated above, there cannot be values greater than 10 or lower than 0. However, the chart ignores that and displays extreme ranges of up to 11 and down to -1. I think we could use the question's minRate and maxRate properties to fix that.

Version: v1.9.53, released at Tuesday, October 11, 2022, Total Issue Count: 29

Product
survey-library
Type
Enhancement
Description
Show console warning if SurveyJS Libraries has different versions

A lot of issues developers have when they are using different versions Library (core/ui), Creator, Pdf and Custom widgets. We should show a console warning if versions are different.

Product
survey-library
Type
API Change
Description
Rename some `has*` properties

We have two types of has* properties:

  1. Properties that indicate presence of something (hasTitle, hasDescription, hasInput).
  2. Properties that change something (hasComment displays a comment area, hasOther displays the Other item)

We need to split these two types apart by means of naming. Let's keep properties of type 1 as they are and rename properties of type 2 as follows:

hasComment -> showCommentArea hasOther -> showOtherItem hasNone -> showNoneItem hasSelectAll -> showSelectAllItem

Product
survey-library
Type
Enhancement
Description
Replace custom buttons in Popup window with ActionBar

In our popup window we have two buttons "Cancel" and "OK"/"Apply". It is better to use our ActionBar that will allow to add any action on the footer of Popup window.

Product
survey-library
Type
Enhancement
Description
Tagbox. Empty popup has to be smaller.
Product
survey-library
Type
Bug
Description
Popup has wrong corner style

The following code will lead to exceptions:

Survey.surveyLocalization.defaultLocale = "en-us";

or

Survey.surveyLocalization.defaultLocale = "unknown";

There is not translation for "en-us" and as result surveyLocalization will start to use undefined object for translated strings. We have to use "en" translation in this case.

Product
survey-library
Type
API Change
Description
QuestionBooleanModel: Rename the `checkedValue` property

Boolean questions are no longer represented by checkboxes. Now, they display toggle switches. A toggle switch cannot be checked, so I suggest the following renaming: checkedValue -> booleanValue

Product
survey-library
Type
Enhancement
Description
Do not re-render rateValues on regular numeric item edit
Product
survey-library
Type
Bug
Description
Ranking question duplicates choices with identical values

Create a Ranking question and specify the identical value for all its choices:

 {
     "type": "ranking",
     "name": "question1",
     "choices": [
      {
       "value": "1",
       "text": "item1"
      },
      {
       "value": "1",
       "text": "item1"
      },
      {
       "value": "1",
       "text": "item1"
      }
     ]
}

Reorder items and observe the Ranking duplicates items: example. image

Product
survey-library
Type
Enhancement
Description
Survey width property - add 'px' to numeric values
Product
survey-library
Type
API Change
Description
QuestionCheckboxModel: Rename the `selectedItems` property

Other arrays of choice items are called visibleChoices and enabledChoices. We should rename the selectedItems array to selectedChoices for consitency.

Product
survey-library
Type
Bug
Description
Ranking. Disable keyboard moving in Creator

UPD. Updated desired behaviour

Without the arrows a user doesn't understand that the item could be dragged. https://www.figma.com/file/7QOeoDDCaPuqzWAROR0kDY/SJS-Creator?node-id=2641%3A1761

Image

Product
survey-library
Type
Enhancement
Description
Allow to keep duplicated values for locales in Localization strings

Right now, we do not serialize values for a locale if it equals to default value. For example { default: "No", de: "Nein", it: "No" } will be serialized as { default: "No", de: "Nein" }. As result it is hard to know, if the string was actually translated or not. We need a new settings to solve the issue: Survey.settings.storeDuplicatedTranslations = true;

Product
survey-library
Type
API Change
Description
QuestionDropdownModel: Remove the `cleanButtonCaption` property

This property is used to specify the title attribute for the Clear button. However, users do not need this. We should move this property to dictionaries for localization purposes, and if we agree on doing this, we should also rename it to clearButtonTooltip.

Product
survey-creator
Type
Enhancement
Description
Ability to have different choices per matrixdynamic columns seems to have broken

Are you requesting a feature, reporting a bug or ask a question?

Reporting bug

What is the current behavior?

I had created a Survey in Survey-Creator that at one time allowed me to have different dropdown choices per column on a single Dynamic Matrix object. This no longer seems to be possible which may have something to do with survey library itself and a code change on that end. When attempting to add different choices between columns, Survey Creator does not respect the values:

Choices for column one, "Sex":

sex

Choices for column two, "Age":

age

JSON output when apply is made on both of these columns:

json


Trying to add the data in the actual choices field in right-hand sidebar does not work as this makes the choices global for all columns.

What is the expected behavior?

Differentiating the choice data between columns used to work reliably, but now the JSON will not output to two columns, nor are any choices available when attempting to preview or run the survey in the wild..

Code that used to work now throws error in Creator JSON output: error

How would you reproduce the current behavior (if this is a bug)?

  • Drag a dynamic matrix block into your Survey Creator page
  • Make 2 columns
  • Hover over the pencil Icon on one column and add choices, click Apply
  • Hover over the pencil icon on the other column and add different choices, click Apply
  • Observe that either one set of choices becomes global for all, or no choices persist and JSON choices does not output

Provide the test code and the tested page URL (if applicable)

Code that used to work:

{
 "logoPosition": "right",
 "pages": [
  {
   "name": "page1",
   "elements": [
    {
     "type": "matrixdynamic",
     "name": "child_sex&age",
     "visibleIf": "{Parent} = 'Yes'",
     "title": "Please select your child's biological sex and current age (in years)",
     "columns": [
      {
       "name": "Age",
       "choices": [
        {
         "value": "item1",
         "text": "Prefer not to Answer"
        },
        {
         "value": "item2",
         "text": "Under 12 Months"
        },
        {
         "value": "item3",
         "text": "1"
        },
        {
         "value": "item4",
         "text": "2"
        },
       ],
       "storeOthersAsComment": true,
       "optionsCaption": "Choose "
      },
      {
       "name": "Sex",
       "choices": [
        {
         "value": "item1",
         "text": "Prefer not to Answer"
        },
        {
         "value": "item2",
         "text": "Male"
        },
        {
         "value": "item3",
         "text": "Female"
        },
        {
         "value": "item4",
         "text": "Intersex"
        }
       ],
       "storeOthersAsComment": true,
       "optionsCaption": "Choose "
      }
     ],
     "optionsCaption": "Choose ",
     "rowCount": 1,
     "minRowCount": 1,
     "confirmDelete": true,
     "confirmDeleteText": "Are you sure you want to delete this record?",
     "addRowText": "Add Child"
    }
   ]
  }
 ]
}

Specify your

  • browser: Firefox 102.0
  • editor version: 1.940
Product
survey-creator
Type
Enhancement
Description
Implement survey-creator-angular package

It is possible to edit Matrixdropdown / Matrixdynamic columns via the Property Grid, however, they are not listed in the Property Grid popup selector: image

Product
survey-creator
Type
Enhancement
Description
autoComplete property editor replace

image

Product
survey-creator
Type
Enhancement
Description
Tagbox: implement adding elements at design time

image

Product
survey-creator
Type
Enhancement
Description
Keyboard interactivity for rating
Product
survey-creator
Type
Enhancement
Description
Focus question title after drag-drop
Product
survey-creator
Type
Enhancement
Description
Keyboard interactivity for boolean

We have the following description for imagePicker:

    imagepicker: {
      properties: [
        "contentMode",
        "imageFit",
        "isResponsive",
        "minImageWidth",
        "maxImageWidth",
        "minImageHeight",
        "maxImageHeight",
        { name: "imageHeight", placeholder: "auto" },
        { name: "imageWidth", placeholder: "auto" },
        "multiSelect",
        "showLabel",
      ]
    }

The text for placeholder is not localized in the property grid.

Product
survey-creator
Type
Enhancement
Description
Creator-Angular: Reanimate visual regression tests
Product
survey-creator
Type
Enhancement
Description
Support "backspace" for item delete in Selectbase questions
Product
survey-pdf
Type
Enhancement
Description
Correct acroform ids for selectbase questions

For radiogroup questions: /V should item's value For checkbox questions: /T should be question's id + item's value

Product
survey-analytics
Type
Bug
Description
Filtering doesn't apply

May be related to https://github.com/surveyjs/survey-analytics/issues/229

  1. Open the demo: https://surveyjs.io/dashboard/examples/nps-direct
  2. Click any bar in the questions about backend languages, device types, or our libraries.

Result: all charts become empty. image

Product
survey-analytics
Type
Bug
Description
Fix roundoff and incorrect ranges in bar charts

https://surveyjs.io/dashboard/examples/nps-direct

image

As you can see, we need to automatically roundoff numbers, but also calculate bar ranges more carefully. In the question illustrated above, there cannot be values greater than 10 or lower than 0. However, the chart ignores that and displays extreme ranges of up to 11 and down to -1. I think we could use the question's minRate and maxRate properties to fix that.