Current Version: v1.9.89

Please refer to the What's New & Roadmap page for the major updates implemented throughout the last year, as well as features to come in the upcoming 2023.

Version: v1.9.90, estimated release date is Tuesday, May 30, 2023, Total Issue Count: 7

Product Type Description
survey-library Bug Comment Question - The size grip remains when the autoGrow option is enabled

Issue: when the Comment question's autoGrow optoin is enabled, the size grip remains available. As a result, customers can resize the visible comment area. Example

https://github.com/surveyjs/survey-library/assets/22372972/ce91c191-525c-4773-9d4e-8c90025e5c01

Expected behavior: the autoGrow setting behaves as the survey.autoGrowComment property. That is, when the autoGrow option is enabled, the size grip is not available and users cannot resize the visible comment area.

https://github.com/surveyjs/survey-library/assets/22372972/57745f81-5591-41a1-b97a-811bf1eaf8e4

survey-library Bug [Angular] The Rating Scale doesn't correctly appear on mobile screens and sometimes revers to the buttons mode

User issue: T13208 - rating question on mobile switch to horizontal button bar when the screen display size keeps the same https://surveyjs.answerdesk.io/internal/ticket/details/T13208


The Rating scale has the default displayMode which sets that the question is displayed as buttons on wide screens and as a dropdown on smaller screens.

However, in Angular, the Rating scale may appear as a dropdown or buttons: https://codesandbox.io/s/surveyjs-angular-forked-nl90qv?file=/src/main.ts.

{
  type: "rating",
  name: "satisfaction-auto",
  title: "How satisfied are you with our product?",
  description: "Display mode = Auto",
  minRateDescription: "Not satisfied",
  maxRateDescription: "Completely satisfied"
 }

https://github.com/surveyjs/survey-library/assets/22372972/6cc6d120-dab8-4c53-8f9f-f20c4cad2348

survey-creator Bug Cannot drop a question between two side-by-side question rows

The Creator doesn't allow inserting an element between two rows of multiple questions: image

Example.

survey-creator Bug Question Drag-n-Drop. Some issues are still here.
survey-creator Enhancement Theme Editor (Builder): box-shadow editor
survey-creator Bug Property Grid Choices Editor - The 'Please enter a unique value' error message remains after updating a value
survey-analytics Enhancement Add a code example or demo for `VisualizerBase.registerToolbarItem`

Version: v1.9.90, estimated release date is Tuesday, May 30, 2023, Total Issue Count: 7

Issue: when the Comment question's autoGrow optoin is enabled, the size grip remains available. As a result, customers can resize the visible comment area. Example

https://github.com/surveyjs/survey-library/assets/22372972/ce91c191-525c-4773-9d4e-8c90025e5c01

Expected behavior: the autoGrow setting behaves as the survey.autoGrowComment property. That is, when the autoGrow option is enabled, the size grip is not available and users cannot resize the visible comment area.

https://github.com/surveyjs/survey-library/assets/22372972/57745f81-5591-41a1-b97a-811bf1eaf8e4

User issue: T13208 - rating question on mobile switch to horizontal button bar when the screen display size keeps the same https://surveyjs.answerdesk.io/internal/ticket/details/T13208


The Rating scale has the default displayMode which sets that the question is displayed as buttons on wide screens and as a dropdown on smaller screens.

However, in Angular, the Rating scale may appear as a dropdown or buttons: https://codesandbox.io/s/surveyjs-angular-forked-nl90qv?file=/src/main.ts.

{
  type: "rating",
  name: "satisfaction-auto",
  title: "How satisfied are you with our product?",
  description: "Display mode = Auto",
  minRateDescription: "Not satisfied",
  maxRateDescription: "Completely satisfied"
 }

https://github.com/surveyjs/survey-library/assets/22372972/6cc6d120-dab8-4c53-8f9f-f20c4cad2348

Product
survey-creator
Type
Bug
Description
Cannot drop a question between two side-by-side question rows

The Creator doesn't allow inserting an element between two rows of multiple questions: image

Example.

Product
survey-creator
Type
Bug
Description
Question Drag-n-Drop. Some issues are still here.
Product
survey-creator
Type
Enhancement
Description
Theme Editor (Builder): box-shadow editor
Product
survey-analytics
Type
Enhancement
Description
Add a code example or demo for `VisualizerBase.registerToolbarItem`

Version: v1.9.89, released on Wednesday, May 24, 2023, Total Issue Count: 29

Product Type Description
survey-library Enhancement Proper question name validation

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

Currently any string is a valid value for a question name, however in https://github.com/surveyjs/survey-library/issues/4918 a sort of fix was applied to remove the '#' if it was the start of a question name.

First of all this fix doesn't really work, it removes the first character, however entering a name like ###abc still creates such a bad question name.

What is the current behavior?

  • No real documentation on what is valid

What is the expected behavior?

Question names should be treated like variable names; they are used in expressions in multiple places and having a clear syntax for them helps survey creators create better surveys.

I propose picking a standard variable naming convention like:

  • Names can contain letters, digits, underscores and unicode characters
  • Names must not begin with a digit
  • Names are case sensitive

This is a break in backwards compatibility, but it probably (no reference data on this, just a feeling) won't affect many users.

Advantage of such a syntax is that we can easily validate it using a regex instead of magically fixing it like was done in #4918.

Regex for proposed syntax: ^[a-zA-Z][\w\d_]*$.

Advantages

  • Makes the JSON result object easier to read
  • Makes expressions easier to parse
  • Reduces chance for weird conversions when going between languages:
echo json_encode(json_decode('{"0": "a"}', true));
// ["a"]
  • Allows for clean implementation of custom syntax, like # for suppressing type jungling #4918
  • Or $ for identifying the result object root (#5521)
  • Or . for identifying a subkey.
survey-library Bug iOS VoiceOver accessibility fails because of `role="textbox"`

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

Reporting a bug

What is the current behavior?

Active fields inside a question is not made available to VoiceOver in iOS

What is the expected behavior?

Pure blind swiping on iOS with VoiceOver should allow a user to answer all question types.

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

  1. Using an iOS device, Enable VoiceOver
  2. Swipe right to advance through the survey (you cannot single-click on anything, close your eyes, pretend to be blind)
  3. Double-tap to "activate" stuff.

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

Not working:

Working example:

Specify your

  • browser: Safari iOS
  • browser version: 16.4.1 (latest)
  • surveyjs platform (angular or react or jquery or knockout or vue): react & knockout (possibly others)
  • surveyjs version: 1.9.84

Edit - Additional details

The Chrome "Accessibility Tree View" reveals that the question div has a role of textbox which, once removed, allows iOS VoiceOver to correctly work. Working question types, such as radiogroup do not have the textbox role added to the question div.

<div id="sq_107" class="sd-element--nested sd-element sd-question sd-row__question" role="textbox" aria-required="false" aria-invalid="false" aria-labelledby="sq_107_ariaTitle" data-rendered="r" data-name="nps-score">

Adding the following awful workaround make VoiceOver work on most question that previously failed:

window.survey.onAfterRenderSurvey.add(function (sender, options) {
        const removeTextboxRoles = function () {
            document.querySelectorAll("[role=textbox]").forEach(function(el) {
                el.removeAttribute("role");
            });
        };
        // Need timeout otherwise the document does not have the question divs yet
        setTimeout(removeTextboxRoles, 1);
    });
survey-library Bug Multi-Select Matrix: Boolean question is not aligned within a column

I think the controls should be aligned to the center.

image

survey-library Enhancement Next and Complete buttons appear collided with the bottom of the survey page

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

Reporting a (styling) bug

What is the current behavior?

There is no top padding between the navigation/action bar at the bottom of the survey that seperates it from the survey page. Next and Complete buttons appear collided with the survey page

What is the expected behavior?

There is some vertical white space between the buttons and the survey.

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

  1. Open an example of survey such as : https://surveyjs.io/form-library/examples/nps-question/reactjs
  2. Switch the theme by clicking on the icon with the bucket on the top bar of the survey ( switch to "default" ).
  3. Observe the position of the "Next" / "Complete" button

grafik

Specify your

  • browser: Firefox
  • browser version: Version 112.0.2 (64-Bit)
  • surveyjs platform (angular or react or jquery or knockout or vue): React
  • surveyjs version: 1.9.85
survey-library Bug Dropdown Question: Required ARIA attributes are missing (`aria-expanded`, `aria-controls`)

Original issue: T13037 - Accessibility - Required ARIA attributes not present: aria-expanded, aria-controls


To reproduce the issue, open the Dropdown demo and run the Accessibility Insights for Web in Fast Pass mode.

The following error appears (Level A)

Title: WCAG 4.1.2: Ensures elements with ARIA roles have all required ARIA attributes (#sq_100)
Tags: Accessibility, WCAG 4.1.2, aria-required-attr

Issue: Ensures elements with ARIA roles have all required ARIA attributes (aria-required-attr - https://accessibilityinsights.io/info-examples/web/aria-required-attr)

Target application: https://surveyjs.io/form-library/examples/s/create-dropdown-menu-in-javascript/reactjs - https://surveyjs.io/form-library/examples/s/create-dropdown-menu-in-javascript/reactjs

Element path: #sq_100

Snippet: <div id="sq_100" class="sd-element--with-frame sd-element sd-question sd-row__question sd-row__question--small" role="combobox" aria-required="true" aria-invalid="false" aria-labelledby="sq_100_ariaTitle" data-rendered="r" data-name="car">

How to fix: 
Fix any of the following:
  Required ARIA attributes not present: aria-expanded, aria-controls

Environment: Chrome version 113.0.0.0

====

This accessibility issue was found using Accessibility Insights for Web 2.38.1 (axe-core 4.6.3), a tool that helps find and fix accessibility issues. Get more information & download this tool at http://aka.ms/AccessibilityInsights.
survey-library Bug An exception occurs when calling `survey.mergeData()` to define a File question value

Task: preload files to a survey File question.

In v1.9.66, the survey.mergeData works correctly and the file appears on survey start: https://codesandbox.io/s/dry-water-fnxrex?file=/src/SurveyComponent.jsx

 survey.mergeData({
    files: [
      {
        name: "maxresdefault.jpg",
        type: "image/jpeg",
        content:
          "https://api.surveyjs.io/private/Surveys/getTempFile?name=89c8b259-9e2a-4b18-83e4-3c70f019c962.jpg"
      }
    ]
  });

In v1.9.86, the following exception appears: https://codesandbox.io/s/confident-fire-rd9ppk?file=/package.json.

file.content.substring is not a function
survey-library Bug `firstPageIsStarted: true` breaks TOC navigation

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

bug

What is the current behavior?

firstPageIsStarted = true breaks TOC navigation

https://plnkr.co/edit/A9fE4JD43I5Kck8d

thank you

survey-library Bug Composite question: Nesting an Expression question leads to multiple `onValueChanged` calls
QUnit.test("Composite: with expression", function (assert) {
  const json = {
    name: "elementsettings",
    elementsJSON: [
      {
        name: "corner",
        type: "text",
        inputType: "number",
        defaultValue: 0
      },
      {
        type: "expression",
        name: "cornerRadius",
        expression: "{composite.corner}+\"px\"",
        visible: false
      }
    ],
  };
  ComponentCollection.Instance.add(json);
  const survey = new SurveyModel({
    elements: [{ type: "elementsettings", name: "q1" }],
  });
  let _data = {};
  let onValueChangedCounter = 0;
  survey.onValueChanged.add((sender, options) => {
    onValueChangedCounter++;
    _data = {};

    if (options.question?.getType() === "elementsettings") {
      Object.keys(options.value).forEach(key => {
        if (key === "corner") return;
        _data[`${options.name.toLocaleLowerCase()}-${key}`] = options.value[key];
      });
    }
  });
  const q = <QuestionCompositeModel>survey.getAllQuestions()[0];

  assert.equal(_data["q1-corner"], undefined);
  assert.equal(_data["q1-cornerRadius"], undefined);
  assert.equal(onValueChangedCounter, 0);

  q.value = { corner: 4 };
  assert.equal(_data["q1-corner"], undefined);
  assert.equal(_data["q1-cornerRadius"], "4px");
  assert.equal(onValueChangedCounter, 1);

  ComponentCollection.Instance.clear();
});
survey-library Bug Safari: key2click with dialogs - receives KeyDOWN in dialog but KeyUP in window

If you cancel the download of the picture (press ESC), then the focus moves somewhere to the beginning of the application. Also, the button itself still remains as if focused.

Image

As soon as the image is uploaded, the second image upload dialog immediately appears. And so on ad infinitum if you use the keyboard (confirm image loading by enter). If you click the Upload button in the dialog, then everything is fine.

survey-library Bug Certain styles for navigation buttons cannot be overridden

https://plnkr.co/edit/wJOGNX6rrKW0dofk

Hover styles apply only partially: color from the custom class, background-color from the .sd-btn class, although the custom class specifies its own background-color that should override the default class style.

image

survey-library Bug [Angular] HTML markup in question titles and descriptions does not apply

It was originally reported in the following thread that some HTML styles are not applied correctly:


The following survey appears as expected in React (example).

export const json = {
  elements: [
    {
      type: "text",
      name: "q1",
      title:
        "<span style='font-size:12px'><strong><span style='font-family:Comic Sans MS,cursive'><span style='color:#f1c40f'>HI</span></span></strong></span>"
    }
  ],
  showQuestionNumbers: false
};

image

However, in Angular, the text is not rendered with the specified color (example). image

survey-library Enhancement Hide "extreme values" setting for non-text rating types

Image

survey-library Bug Dynamic Panel: The "Add New" button is duplicated when using the `templateVisibleIf` property

To reproduce the issue, run this example and uncheck all checkboxes. The 'Add New' button appears twice. image

survey-library Bug Max length character indicator doesn't update when a survey is loaded from JSON

Original issue: T13132 - Description char count mis-match https://surveyjs.answerdesk.io/internal/ticket/details/T13132


Example Expected behaviour: image

Current behaviour: image

survey-library Enhancement Support key2click key UP for TAB - creator master fix
survey-library Bug After clear Image URL from property grid Question looks with strange proportions

Image

after F5

Image

survey-library Bug Dynamic Panel: `currentPanel` returns `null` in design time

Creator doesn't display added questions or controls that allows adding a question when renderMode is different from "list". currentPanel should be template panel for design-time.

https://plnkr.co/edit/8p99hOycFQmjN1LD

image

survey-creator Bug Multi-Select Matrix: Property Grid shows row configuration on an attempt to configure column editors

Video

I tried to configure matrix columns using in-cell editors:

  1. Select a column from the survey element selector.
  2. Change the column editor type in Property Grid.
  3. Click the pencil adorner in a matrix cell.

Result: Property Grid switches to row configuration. Expected result: Property Grid continues to display column confguration.

survey-creator Bug Text is selected during the drag-n-drop (Safari Version 16.4)

Image

survey-creator Enhancement Add a capability to remove a logo from the design surface

Original issue: T12847 - Survejs V2 migration - Logo in survey title - Remove https://surveyjs.answerdesk.io/internal/ticket/details/T12847

Survey Creator V1 has a delete logo option in a design surface: image

However, Survey Creator V2 doesn't: image

It is possible to only remove a logo in a Property Grid.

Suggestion: add an option to remove a logo to the survey creator design surface.

survey-creator Bug Image. A Couple of Issues

Image Image

survey-creator Enhancement When adding a image question, do not add a picture with a lioness
survey-creator Enhancement apply design for the property grid
survey-creator Bug Property Grid: A required property validation error message does not disappear when a single character remains

Example

Issues with the Required validation:

  • The validation message does not disappear when a single char remains:

https://github.com/surveyjs/survey-creator/assets/22372972/510fcd16-2c21-4c87-a87f-77e6acde1fb7

  • I cannot clear the field - a single character is always presented. image
survey-creator Bug Multi-Select Matrix: Rating Scale question is not aligned within a column

Image

survey-creator Bug Rating Scale: `rateType` property values are not localizable
survey-creator Enhancement Rating Scale in a Matrix throws an error on changing the `rateCount` property

Image

survey-pdf Enhancement Single-Select Matrix: Apply `rowTitileWidth` in PDF

Example Single-Choice Matrix has a rowTitleWidth property. However, it isn't applied in PDF.

survey-pdf Bug MacOS/Safari - Survey logo and images are lost in a resulting PDF file

Original issue: T12972 - PDF generation (image) issues in Mac/Safari https://surveyjs.answerdesk.io/internal/ticket/details/T12972

To reproduce the issue, run the following demo in Safari (MacOS) and export a survey: https://surveyjs.io/pdf-generator/examples/customize-header-and-footer-of-pdf-form/reactjs.

The PDF document appears as follows: image

Version: v1.9.89, released on Wednesday, May 24, 2023, Total Issue Count: 29

Product
survey-library
Type
Enhancement
Description
Proper question name validation

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

Currently any string is a valid value for a question name, however in https://github.com/surveyjs/survey-library/issues/4918 a sort of fix was applied to remove the '#' if it was the start of a question name.

First of all this fix doesn't really work, it removes the first character, however entering a name like ###abc still creates such a bad question name.

What is the current behavior?

  • No real documentation on what is valid

What is the expected behavior?

Question names should be treated like variable names; they are used in expressions in multiple places and having a clear syntax for them helps survey creators create better surveys.

I propose picking a standard variable naming convention like:

  • Names can contain letters, digits, underscores and unicode characters
  • Names must not begin with a digit
  • Names are case sensitive

This is a break in backwards compatibility, but it probably (no reference data on this, just a feeling) won't affect many users.

Advantage of such a syntax is that we can easily validate it using a regex instead of magically fixing it like was done in #4918.

Regex for proposed syntax: ^[a-zA-Z][\w\d_]*$.

Advantages

  • Makes the JSON result object easier to read
  • Makes expressions easier to parse
  • Reduces chance for weird conversions when going between languages:
echo json_encode(json_decode('{"0": "a"}', true));
// ["a"]
  • Allows for clean implementation of custom syntax, like # for suppressing type jungling #4918
  • Or $ for identifying the result object root (#5521)
  • Or . for identifying a subkey.
Product
survey-library
Type
Bug
Description
iOS VoiceOver accessibility fails because of `role="textbox"`

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

Reporting a bug

What is the current behavior?

Active fields inside a question is not made available to VoiceOver in iOS

What is the expected behavior?

Pure blind swiping on iOS with VoiceOver should allow a user to answer all question types.

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

  1. Using an iOS device, Enable VoiceOver
  2. Swipe right to advance through the survey (you cannot single-click on anything, close your eyes, pretend to be blind)
  3. Double-tap to "activate" stuff.

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

Not working:

Working example:

Specify your

  • browser: Safari iOS
  • browser version: 16.4.1 (latest)
  • surveyjs platform (angular or react or jquery or knockout or vue): react & knockout (possibly others)
  • surveyjs version: 1.9.84

Edit - Additional details

The Chrome "Accessibility Tree View" reveals that the question div has a role of textbox which, once removed, allows iOS VoiceOver to correctly work. Working question types, such as radiogroup do not have the textbox role added to the question div.

<div id="sq_107" class="sd-element--nested sd-element sd-question sd-row__question" role="textbox" aria-required="false" aria-invalid="false" aria-labelledby="sq_107_ariaTitle" data-rendered="r" data-name="nps-score">

Adding the following awful workaround make VoiceOver work on most question that previously failed:

window.survey.onAfterRenderSurvey.add(function (sender, options) {
        const removeTextboxRoles = function () {
            document.querySelectorAll("[role=textbox]").forEach(function(el) {
                el.removeAttribute("role");
            });
        };
        // Need timeout otherwise the document does not have the question divs yet
        setTimeout(removeTextboxRoles, 1);
    });
Product
survey-library
Type
Bug
Description
Multi-Select Matrix: Boolean question is not aligned within a column

I think the controls should be aligned to the center.

image

Product
survey-library
Type
Enhancement
Description
Next and Complete buttons appear collided with the bottom of the survey page

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

Reporting a (styling) bug

What is the current behavior?

There is no top padding between the navigation/action bar at the bottom of the survey that seperates it from the survey page. Next and Complete buttons appear collided with the survey page

What is the expected behavior?

There is some vertical white space between the buttons and the survey.

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

  1. Open an example of survey such as : https://surveyjs.io/form-library/examples/nps-question/reactjs
  2. Switch the theme by clicking on the icon with the bucket on the top bar of the survey ( switch to "default" ).
  3. Observe the position of the "Next" / "Complete" button

grafik

Specify your

  • browser: Firefox
  • browser version: Version 112.0.2 (64-Bit)
  • surveyjs platform (angular or react or jquery or knockout or vue): React
  • surveyjs version: 1.9.85

Original issue: T13037 - Accessibility - Required ARIA attributes not present: aria-expanded, aria-controls


To reproduce the issue, open the Dropdown demo and run the Accessibility Insights for Web in Fast Pass mode.

The following error appears (Level A)

Title: WCAG 4.1.2: Ensures elements with ARIA roles have all required ARIA attributes (#sq_100)
Tags: Accessibility, WCAG 4.1.2, aria-required-attr

Issue: Ensures elements with ARIA roles have all required ARIA attributes (aria-required-attr - https://accessibilityinsights.io/info-examples/web/aria-required-attr)

Target application: https://surveyjs.io/form-library/examples/s/create-dropdown-menu-in-javascript/reactjs - https://surveyjs.io/form-library/examples/s/create-dropdown-menu-in-javascript/reactjs

Element path: #sq_100

Snippet: <div id="sq_100" class="sd-element--with-frame sd-element sd-question sd-row__question sd-row__question--small" role="combobox" aria-required="true" aria-invalid="false" aria-labelledby="sq_100_ariaTitle" data-rendered="r" data-name="car">

How to fix: 
Fix any of the following:
  Required ARIA attributes not present: aria-expanded, aria-controls

Environment: Chrome version 113.0.0.0

====

This accessibility issue was found using Accessibility Insights for Web 2.38.1 (axe-core 4.6.3), a tool that helps find and fix accessibility issues. Get more information & download this tool at http://aka.ms/AccessibilityInsights.

Task: preload files to a survey File question.

In v1.9.66, the survey.mergeData works correctly and the file appears on survey start: https://codesandbox.io/s/dry-water-fnxrex?file=/src/SurveyComponent.jsx

 survey.mergeData({
    files: [
      {
        name: "maxresdefault.jpg",
        type: "image/jpeg",
        content:
          "https://api.surveyjs.io/private/Surveys/getTempFile?name=89c8b259-9e2a-4b18-83e4-3c70f019c962.jpg"
      }
    ]
  });

In v1.9.86, the following exception appears: https://codesandbox.io/s/confident-fire-rd9ppk?file=/package.json.

file.content.substring is not a function
Product
survey-library
Type
Bug
Description
`firstPageIsStarted: true` breaks TOC navigation

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

bug

What is the current behavior?

firstPageIsStarted = true breaks TOC navigation

https://plnkr.co/edit/A9fE4JD43I5Kck8d

thank you

QUnit.test("Composite: with expression", function (assert) {
  const json = {
    name: "elementsettings",
    elementsJSON: [
      {
        name: "corner",
        type: "text",
        inputType: "number",
        defaultValue: 0
      },
      {
        type: "expression",
        name: "cornerRadius",
        expression: "{composite.corner}+\"px\"",
        visible: false
      }
    ],
  };
  ComponentCollection.Instance.add(json);
  const survey = new SurveyModel({
    elements: [{ type: "elementsettings", name: "q1" }],
  });
  let _data = {};
  let onValueChangedCounter = 0;
  survey.onValueChanged.add((sender, options) => {
    onValueChangedCounter++;
    _data = {};

    if (options.question?.getType() === "elementsettings") {
      Object.keys(options.value).forEach(key => {
        if (key === "corner") return;
        _data[`${options.name.toLocaleLowerCase()}-${key}`] = options.value[key];
      });
    }
  });
  const q = <QuestionCompositeModel>survey.getAllQuestions()[0];

  assert.equal(_data["q1-corner"], undefined);
  assert.equal(_data["q1-cornerRadius"], undefined);
  assert.equal(onValueChangedCounter, 0);

  q.value = { corner: 4 };
  assert.equal(_data["q1-corner"], undefined);
  assert.equal(_data["q1-cornerRadius"], "4px");
  assert.equal(onValueChangedCounter, 1);

  ComponentCollection.Instance.clear();
});

If you cancel the download of the picture (press ESC), then the focus moves somewhere to the beginning of the application. Also, the button itself still remains as if focused.

Image

As soon as the image is uploaded, the second image upload dialog immediately appears. And so on ad infinitum if you use the keyboard (confirm image loading by enter). If you click the Upload button in the dialog, then everything is fine.

Product
survey-library
Type
Bug
Description
Certain styles for navigation buttons cannot be overridden

https://plnkr.co/edit/wJOGNX6rrKW0dofk

Hover styles apply only partially: color from the custom class, background-color from the .sd-btn class, although the custom class specifies its own background-color that should override the default class style.

image

It was originally reported in the following thread that some HTML styles are not applied correctly:


The following survey appears as expected in React (example).

export const json = {
  elements: [
    {
      type: "text",
      name: "q1",
      title:
        "<span style='font-size:12px'><strong><span style='font-family:Comic Sans MS,cursive'><span style='color:#f1c40f'>HI</span></span></strong></span>"
    }
  ],
  showQuestionNumbers: false
};

image

However, in Angular, the text is not rendered with the specified color (example). image

Product
survey-library
Type
Enhancement
Description
Hide "extreme values" setting for non-text rating types

Image

To reproduce the issue, run this example and uncheck all checkboxes. The 'Add New' button appears twice. image

Original issue: T13132 - Description char count mis-match https://surveyjs.answerdesk.io/internal/ticket/details/T13132


Example Expected behaviour: image

Current behaviour: image

Product
survey-library
Type
Enhancement
Description
Support key2click key UP for TAB - creator master fix

Image

after F5

Image

Product
survey-library
Type
Bug
Description
Dynamic Panel: `currentPanel` returns `null` in design time

Creator doesn't display added questions or controls that allows adding a question when renderMode is different from "list". currentPanel should be template panel for design-time.

https://plnkr.co/edit/8p99hOycFQmjN1LD

image

Video

I tried to configure matrix columns using in-cell editors:

  1. Select a column from the survey element selector.
  2. Change the column editor type in Property Grid.
  3. Click the pencil adorner in a matrix cell.

Result: Property Grid switches to row configuration. Expected result: Property Grid continues to display column confguration.

Product
survey-creator
Type
Bug
Description
Text is selected during the drag-n-drop (Safari Version 16.4)

Image

Product
survey-creator
Type
Enhancement
Description
Add a capability to remove a logo from the design surface

Original issue: T12847 - Survejs V2 migration - Logo in survey title - Remove https://surveyjs.answerdesk.io/internal/ticket/details/T12847

Survey Creator V1 has a delete logo option in a design surface: image

However, Survey Creator V2 doesn't: image

It is possible to only remove a logo in a Property Grid.

Suggestion: add an option to remove a logo to the survey creator design surface.

Product
survey-creator
Type
Bug
Description
Image. A Couple of Issues

Image Image

Product
survey-creator
Type
Enhancement
Description
When adding a image question, do not add a picture with a lioness
Product
survey-creator
Type
Enhancement
Description
apply design for the property grid

Example

Issues with the Required validation:

  • The validation message does not disappear when a single char remains:

https://github.com/surveyjs/survey-creator/assets/22372972/510fcd16-2c21-4c87-a87f-77e6acde1fb7

  • I cannot clear the field - a single character is always presented. image

Image

Product
survey-creator
Type
Bug
Description
Rating Scale: `rateType` property values are not localizable
Product
survey-creator
Type
Enhancement
Description
Rating Scale in a Matrix throws an error on changing the `rateCount` property

Image

Product
survey-pdf
Type
Enhancement
Description
Single-Select Matrix: Apply `rowTitileWidth` in PDF

Example Single-Choice Matrix has a rowTitleWidth property. However, it isn't applied in PDF.

Original issue: T12972 - PDF generation (image) issues in Mac/Safari https://surveyjs.answerdesk.io/internal/ticket/details/T12972

To reproduce the issue, run the following demo in Safari (MacOS) and export a survey: https://surveyjs.io/pdf-generator/examples/customize-header-and-footer-of-pdf-form/reactjs.

The PDF document appears as follows: image

Version: v1.9.88, released on Wednesday, May 17, 2023, Total Issue Count: 23

Product Type Description
survey-library Bug Accessibility of composite questions

The issue is reproducible in the demo from the survey js website when viewing this from the IOS VoiceOver screen reader. https://surveyjs.io/survey-creator/examples/add-full-name-to-form-template/reactjs

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

Bug

What is the current behavior?

The IOS VoiceOver screen reader focuses on the background of the composite question and skips the text entry fields.

What is the expected behavior?

The expected behaviour is that the text entry fields would be navigate-able from the screen reader. When navigating the survey the screen reader should focus each of the input fields.

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

Go to this survey-js demo (https://surveyjs.io/survey-creator/examples/add-full-name-to-form-template/reactjs) and enter the preview mode. Then enable the screenreader on your IOS device (VoiceOver) and try to navigate through the survey.

Specify your

  • browser: safari
  • browser version: 16.00
  • surveyjs platform (angular or react or jquery or knockout or vue): latest
  • surveyjs version: latest
survey-library Bug `completedBeforeHtml` does not work with `cookieName`

What is the current behavior?

When cookieName is set and the survey has already been submitted once, completedHtml is shown if user returns on the survey.

What is the expected behavior?

According to the docs, completedBeforeHtml should be shown.

cookieName property

A cookie name used to save information about survey completion. When this property has a value, the survey creates a cookie with the specified name on completion. This cookie helps ensure that users do not pass the same survey twice. On the second run, they will see the Completed Before page.

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

Can be easily reproduced using the example: https://surveyjs.io/form-library/examples/survey-cookie/reactjs

Specify your

  • surveyjs platform (angular or react or jquery or knockout or vue): all
  • surveyjs version: 1.9.84
survey-library Bug Tagbox. Selection Issue

Image

survey-library Bug File. Keyboard Navigation Issue

Pressing Enter doesn't work.

Image

survey-library Enhancement No info on how to change default property values
survey-library Enhancement Issue with cookieName and doComplete()

Looking to fix #6060, I've seen some code which could be problematic.

public doComplete(isCompleteOnTrigger: boolean = false): boolean {
  [...]
  this.setCookie();
  this.saveDataOnComplete(isCompleteOnTrigger);
  [...]
}
private saveDataOnComplete(isCompleteOnTrigger: boolean = false) {
  let previousCookie = this.hasCookie;
  [...]
  if (!previousCookie && this.surveyPostId) {
    this.sendResult();
  }
  [...]
}

Unless I miss something, on doComplete(), if survey service is used, sendResult() won't be called (whereas it should be).

Specify your

  • surveyjs version: 1.9.86
survey-library Bug Styles do not apply to titles if you change heading levels

https://surveyjs.io/form-library/examples/survey-titletagnames/

This demo shows how to change heading levels (for example, use <h1> instead of <h3> for the survey title). However, if you do that, title styles no longer apply: the survey title is black instead of green.

survey-library Bug Dropdown: A pop-up menu has incorrect height after a search
survey-library Bug Rating Scale: The `autoGenerate` property values cannot be translated

The choice options of the Rating | autoGenerate property are hardcoded and cannot be translated: https://github.com/surveyjs/survey-library/blob/master/src/question_rating.ts#L831

Original issue: T13051 - Hardcoded text value for autoGenerate field https://surveyjs.answerdesk.io/internal/ticket/details/T13051

survey-library Bug [Angular] Timer does not start automatically

Original issue T13049 - Surveyjs V2 migration - Timer/Quiz property is not working https://surveyjs.answerdesk.io/internal/ticket/details/T13049


Expected behavior: a timer is activated when a user opens a preview for a quiz. A React demo image

Current behavior The timer is not started. An Angular demo

image

survey-library Bug Logic with "Maximum Selected Choices" Option

No sure that this behaviour is correct.

Image

survey-library Bug Table of contents displays pages hidden by a condition

To reproduce the issue, run this demo and notice that Page 2 is available on the left-side navigation bar, however, the Page 2 is not actually visible. To make this page visible, set the first input to test.

Expected behavior: Page 2 is not available in Table Of Contents unless it is made visible.

Original issue: T13096 - Adding visibleif property for page is not hiding the page index from https://surveyjs.answerdesk.io/internal/ticket/details/T13096

survey-library Enhancement Allow to filter panels in panel dynamic based on expression

We need to add templateVisibleIf property to filter panels. There are several user cases when filtering is needed.

survey-library Bug The survey.onDownloadFile event is not raised when loading a File question content using the survey.mergeData function

Original issue: T13025 - Error with uploaded documents. [urgent] https://surveyjs.answerdesk.io/internal/ticket/details/T13025


Issue: load a File questoin content from code using the survey.mergeData function:

survey.mergeData({
      image: [
        {
          name: "maxresdefault.jpg",
          type: "image/jpeg",
          content:
            "data:image/jpeg;base64,..."
        }
      ]
    });

It works with v1.9.66: https://codesandbox.io/s/surveyjs-angular-forked-8dh4c2?file=/src/app/components/survey.component.ts

image

With v1.9.87, no preview appears: https://codesandbox.io/s/surveyjs-angular-forked-omm0uj?file=/package.json

image

survey-creator Enhancement Image Question: Display a placeholder and Upload button instead of a missing image icon
  • surveyjs/survey-library#5731

image

Suggestion: display an upload / plus button instead - for example, how it's done for Image Picker: image

Original issue: T10823 - The missing image icon in the static image question

survey-creator Bug "Undo" reverts multiple transactions
survey-creator Bug The Title property editor allows entering new lines, but Title is rendered as a single line text
survey-creator Bug No room for editing item's title.

Image

survey-creator Bug Min width of expanded form is lager than property grid min width.

Image

survey-creator Bug Multi-Select Matrix: Rating Scale columns do not display controls that change the rate type to "stars" or "smileys"
survey-creator Bug A11Y: Logic Tab should pronounce errors
survey-creator Bug Toolbox ignores Custom widget showInToolbox if it is registered in ElementFactory

If a custom widget is registered in

ElementFactory.Instance.registerCustomQuestion(customWidgetName);

then showInToolbox property is ignored.

survey-pdf Enhancement Allow do not render checks and buttons for checkbox/radiogroup

Buttons/checks for checkbox and radiogroup may not needed if selected choices are rendered only. We need to add option that will allow do not render these buttons/checks. Here is the related issue on SurveyJS support forum.

Version: v1.9.88, released on Wednesday, May 17, 2023, Total Issue Count: 23

Product
survey-library
Type
Bug
Description
Accessibility of composite questions

The issue is reproducible in the demo from the survey js website when viewing this from the IOS VoiceOver screen reader. https://surveyjs.io/survey-creator/examples/add-full-name-to-form-template/reactjs

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

Bug

What is the current behavior?

The IOS VoiceOver screen reader focuses on the background of the composite question and skips the text entry fields.

What is the expected behavior?

The expected behaviour is that the text entry fields would be navigate-able from the screen reader. When navigating the survey the screen reader should focus each of the input fields.

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

Go to this survey-js demo (https://surveyjs.io/survey-creator/examples/add-full-name-to-form-template/reactjs) and enter the preview mode. Then enable the screenreader on your IOS device (VoiceOver) and try to navigate through the survey.

Specify your

  • browser: safari
  • browser version: 16.00
  • surveyjs platform (angular or react or jquery or knockout or vue): latest
  • surveyjs version: latest
Product
survey-library
Type
Bug
Description
`completedBeforeHtml` does not work with `cookieName`

What is the current behavior?

When cookieName is set and the survey has already been submitted once, completedHtml is shown if user returns on the survey.

What is the expected behavior?

According to the docs, completedBeforeHtml should be shown.

cookieName property

A cookie name used to save information about survey completion. When this property has a value, the survey creates a cookie with the specified name on completion. This cookie helps ensure that users do not pass the same survey twice. On the second run, they will see the Completed Before page.

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

Can be easily reproduced using the example: https://surveyjs.io/form-library/examples/survey-cookie/reactjs

Specify your

  • surveyjs platform (angular or react or jquery or knockout or vue): all
  • surveyjs version: 1.9.84
Product
survey-library
Type
Bug
Description
Tagbox. Selection Issue

Image

Product
survey-library
Type
Bug
Description
File. Keyboard Navigation Issue

Pressing Enter doesn't work.

Image

Product
survey-library
Type
Enhancement
Description
No info on how to change default property values
Product
survey-library
Type
Enhancement
Description
Issue with cookieName and doComplete()

Looking to fix #6060, I've seen some code which could be problematic.

public doComplete(isCompleteOnTrigger: boolean = false): boolean {
  [...]
  this.setCookie();
  this.saveDataOnComplete(isCompleteOnTrigger);
  [...]
}
private saveDataOnComplete(isCompleteOnTrigger: boolean = false) {
  let previousCookie = this.hasCookie;
  [...]
  if (!previousCookie && this.surveyPostId) {
    this.sendResult();
  }
  [...]
}

Unless I miss something, on doComplete(), if survey service is used, sendResult() won't be called (whereas it should be).

Specify your

  • surveyjs version: 1.9.86
Product
survey-library
Type
Bug
Description
Styles do not apply to titles if you change heading levels

https://surveyjs.io/form-library/examples/survey-titletagnames/

This demo shows how to change heading levels (for example, use <h1> instead of <h3> for the survey title). However, if you do that, title styles no longer apply: the survey title is black instead of green.

Product
survey-library
Type
Bug
Description
Dropdown: A pop-up menu has incorrect height after a search
Product
survey-library
Type
Bug
Description
Rating Scale: The `autoGenerate` property values cannot be translated

The choice options of the Rating | autoGenerate property are hardcoded and cannot be translated: https://github.com/surveyjs/survey-library/blob/master/src/question_rating.ts#L831

Original issue: T13051 - Hardcoded text value for autoGenerate field https://surveyjs.answerdesk.io/internal/ticket/details/T13051

Product
survey-library
Type
Bug
Description
[Angular] Timer does not start automatically

Original issue T13049 - Surveyjs V2 migration - Timer/Quiz property is not working https://surveyjs.answerdesk.io/internal/ticket/details/T13049


Expected behavior: a timer is activated when a user opens a preview for a quiz. A React demo image

Current behavior The timer is not started. An Angular demo

image

Product
survey-library
Type
Bug
Description
Logic with "Maximum Selected Choices" Option

No sure that this behaviour is correct.

Image

Product
survey-library
Type
Bug
Description
Table of contents displays pages hidden by a condition

To reproduce the issue, run this demo and notice that Page 2 is available on the left-side navigation bar, however, the Page 2 is not actually visible. To make this page visible, set the first input to test.

Expected behavior: Page 2 is not available in Table Of Contents unless it is made visible.

Original issue: T13096 - Adding visibleif property for page is not hiding the page index from https://surveyjs.answerdesk.io/internal/ticket/details/T13096

Product
survey-library
Type
Enhancement
Description
Allow to filter panels in panel dynamic based on expression

We need to add templateVisibleIf property to filter panels. There are several user cases when filtering is needed.

Original issue: T13025 - Error with uploaded documents. [urgent] https://surveyjs.answerdesk.io/internal/ticket/details/T13025


Issue: load a File questoin content from code using the survey.mergeData function:

survey.mergeData({
      image: [
        {
          name: "maxresdefault.jpg",
          type: "image/jpeg",
          content:
            "data:image/jpeg;base64,..."
        }
      ]
    });

It works with v1.9.66: https://codesandbox.io/s/surveyjs-angular-forked-8dh4c2?file=/src/app/components/survey.component.ts

image

With v1.9.87, no preview appears: https://codesandbox.io/s/surveyjs-angular-forked-omm0uj?file=/package.json

image

  • surveyjs/survey-library#5731

image

Suggestion: display an upload / plus button instead - for example, how it's done for Image Picker: image

Original issue: T10823 - The missing image icon in the static image question

Product
survey-creator
Type
Bug
Description
"Undo" reverts multiple transactions
Product
survey-creator
Type
Bug
Description
No room for editing item's title.

Image

Product
survey-creator
Type
Bug
Description
Min width of expanded form is lager than property grid min width.

Image

Product
survey-creator
Type
Bug
Description
A11Y: Logic Tab should pronounce errors

If a custom widget is registered in

ElementFactory.Instance.registerCustomQuestion(customWidgetName);

then showInToolbox property is ignored.

Product
survey-pdf
Type
Enhancement
Description
Allow do not render checks and buttons for checkbox/radiogroup

Buttons/checks for checkbox and radiogroup may not needed if selected choices are rendered only. We need to add option that will allow do not render these buttons/checks. Here is the related issue on SurveyJS support forum.

Version: v1.9.87, released on Thursday, May 11, 2023, Total Issue Count: 21

Product Type Description
survey-library Enhancement Rating - Support Custom Images, tooltips, titles, and rate values for rating options
Users' requests - [ ] Support images / markdown emoji for Ranking question to implement a different kind of ranking quesions: like jQurey Bar Rating(https://surveyjs.io/form-library/examples/bar-rating-widget-javascript/reactjs) and Emotions Rating(https://surveyjs.io/form-library/examples/custom-widget-emotionsratings/reactjs).

Related tickets:

  • Support Tooltips for Ranking items. Related tickets:
survey-library Enhancement Tagbox: implement filtering with hints
survey-library Enhancement `onGetChoiceDisplayValue` is raised multiple times

Source issue: T12809 - onGetChoiceDisplayValue fire multiple times https://surveyjs.answerdesk.io/internal/ticket/details/T12809

Issue: the onGetChoiceDisplayValue callback fires multiple times though the Dropdown question appears just once; this causes multiple network requests. The issue can be reproduced on the following demo: https://surveyjs.io/form-library/examples/lazy-loading-dropdown/knockoutjs.

survey-library Bug Drop-Down Menu Issue

Wide survey.

Image

survey-library Bug [Angular] Dropdown with lazy loading throws an exception when clearing the selected value

User issue: T12913 - The Cannot read proprties of undefined exception is thrown when clearing a dropdown question value https://surveyjs.answerdesk.io/internal/ticket/details/T12913


Example

To reproduce the issue, select a Dropdown item, navigate to the next page, navigate back to the Dropdown page, and click the Clear button to remove a selected item. The following error appears in the console:

ERROR TypeError: Cannot read properties of undefined (reading 'renderAs')
    at SurveyStringComponent_Template (ng:///SurveyStringComponent/ɵcmp.js:16:88)

    at executeTemplate (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4800:231)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4769:163)

    at refreshComponent (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5101:165)

    at refreshChildComponents (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4711:1733)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4778:57)

    at refreshEmbeddedViews (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5085:996)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4774:40)

    at refreshEmbeddedViews (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5085:996)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4774:40)

    at refreshComponent (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5101:165)

    at refreshChildComponents (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4711:1733)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4778:57)

    at refreshComponent (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5101:165)

    at refreshChildComponents (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4711:1733)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4778:57)

    at refreshEmbeddedViews (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5085:996)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4774:40)

    at refreshEmbeddedViews (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5085:996)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4774:40)

    at refreshEmbeddedViews (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5085:996)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4774:40)

    at refreshEmbeddedViews (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5085:996)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4774:40)

    at refreshEmbeddedViews (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5085:996)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4774:40)

    at refreshEmbeddedViews (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5085:996)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4774:40)

    at refreshEmbeddedViews (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5085:996)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4774:40)

    at refreshEmbeddedViews (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5085:996)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4774:40)

    at refreshEmbeddedViews (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5085:996)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4774:40)

    at refreshEmbeddedViews (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5085:996)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4774:40)

    at refreshEmbeddedViews (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5085:996)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4774:40)

    at detectChangesInternal (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5177:265)

    at ViewRef$1.detectChanges (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5438:24)

    at ElementComponent.detectChanges (https://xfq04y.csb.app/node_modules/survey-angular-ui/fesm2015/survey-angular-ui.js:956:33)

    at eval (https://xfq04y.csb.app/node_modules/survey-angular-ui/fesm2015/survey-angular-ui.js:943:16)
survey-library Bug Dropdown: search symbols upper and lower case

Image

survey-library Enhancement Dropdown with a Custom item template
  • dropdown is not closed
https://surveyjs.io/form-library/examples/dropdown-box-with-custom-items/reactjs To reproduce the issue - select an item, close the dropdown, open the dropdown, click Clear to remove the selection.

Issue: the popup remains opened; it cannot be closed by an outer click.

https://user-images.githubusercontent.com/22372972/235633234-e2aac906-e809-4220-bf89-da73a7e322de.mp4

image

Originally posted by @JaneSjs in https://github.com/surveyjs/service/issues/1106#issuecomment-1531153307

  • input is not centered
![Image](https://user-images.githubusercontent.com/29385489/235955884-0499d62b-bb4c-483a-bef4-98619e43d49b.png)
  • we need to hide component on input

Image

survey-library Bug [Angular] Dropdown is empty when switching to the previous page

Original issue: T12929 - Survey Runner dropdown choices are not populating when switching between the pages?
https://surveyjs.answerdesk.io/internal/ticket/details/T12929

Example

To reproduce the issue, follow these steps:

  • Select an item on the first page image

  • Navigate to the second page image

  • Switch back to the first page

  • Try to open a drop-down - the drop-down is not opened. image

survey-library Enhancement Rating Scale (Smileys) - Add a meaningful tooltip for idivdual emoji item

T3350 - Custom widget: Emotions Ratings https://surveyjs.answerdesk.io/internal/ticket/details/T3350 A tooltip displays the numeric value which corresponds to an item: image

Suggestion: allow users define text for smiley items.

{
 "focusFirstQuestionAutomatic": false,
 "pages": [
  {
   "name": "page1",
   "elements": [
    {
     "type": "rating",
     "name": "satisfaction-smileys-monochrome",
     "title": "How satisfied are you with our product?",
     "description": "Smiley rating with monochrome scale",
     "rateType": "smileys",
     "rateCount": 10,
     "rateMax": 10
    }
   ]
  }
 ],
 "showQuestionNumbers": "off"
}
survey-library Enhancement Rating Scale in Matrices: Introduce an option to decrease the Rate item size in Matrices

To reproduce this, run the demo and select all cars. A matrix appears as follows: image

Suggestion: add an option to decrease the size of rate items in matrices. For instance: a global Survey.setting.rateItemSizeMode: small | normal.

survey-library Bug Survey in iFrame on smaller screens - Dropdown options are not entirely visible

T12934 - SurveyJS Dropdown scroll issue on mobile https://surveyjs.answerdesk.io/internal/ticket/details/T12934

survey-library Bug Dropdown and markdown: unexpected value reset by selecting Other with keyboard
survey-library Bug The "complete" trigger is not executed after updating a matrix row value

Original issue: T12974 - complete trigger issue with matrix question https://surveyjs.answerdesk.io/internal/ticket/details/T12974

Example Task: to activate a complete trigger when a Single-Choice Matrix has any of the listed options selected for a specific row:

triggers: [
    {
      type: "complete",
      expression:
        "{question2.PGA Tour} anyof ['I do not follow this sport at all', 'I look at this sport when it\\'s in the news or on my timeline, but don’t really keep up with it consistently', 'I keep up with this sport when I can and follow some events']"
    }
]

If you select a target value, the Complete button is activated: image

Click another row, and notice that a Complete button disappears: image

survey-library Bug TypeError in FileQuestionModel.isFileImage function

There is no check on file.content that could be undefined. Here is the related issue on SurveyJS support forum.

survey-creator Bug Editor styles is broken if titleLocation is left

image

survey-creator Bug Changing a question type from No UI Slider to Bar Rating does not work

Original issue: T12919 - Survejs V2 migration - Problem changing question type from 3rd party question https://surveyjs.answerdesk.io/internal/ticket/details/T12919

To reproduce the issue, run the following demo: https://surveyjs.io/survey-creator/examples/integration-with-third-party-libraries/reactjs.

Add a No UI Slider question, and try to change the question type to Bar Rating. The question appears as follows: image

survey-creator Bug Multiple-Choice Matrix - The e.useRateValues is not a function exception is thrown on an attempt to select a Rating Scale cell type

To reproduce the issue, drop a Multiple-Choice Matrix to a Survey Creator, select a column, expand the Cell Type dropdown and try to select the Rating Scale type: image

The following exception is thrown:

React-dom.production.min.js:63 Uncaught TypeError: e.useRateValues is not a function
    at t.useRateValues (survey-creator-core.min.js:13:509868)
    at t.allowAddForElement (survey-creator-core.min.js:13:511039)
    at t.updateAllowAddRemove (survey-creator-core.min.js:13:551205)
    at t.onCreated (survey-creator-core.min.js:13:551343)
    at Object.onCreated (survey-creator-core.min.js:13:252361)
    at e.onQuestionsCreated (survey-creator-core.min.js:13:256910)
    at e.setupObjPanel (survey-creator-core.min.js:13:256344)
    at e.setObj (survey-creator-core.min.js:13:261692)
    at e.onValueChanged (survey-creator-core.min.js:13:266112)
    at Array.<anonymous> (survey-creator-core.min.js:13:261829)

image

survey-creator Enhancement Toolbar location settings are not listed in Survey Creator API

The following settings are not listed in API documentation: https://surveyjs.io/survey-creator/documentation/api-reference/survey-creator.

surveyCreator.toolboxLocation = "sidebar";
surveyCreator.sidebarLocation = "right";

T12966 - Layout of Survey Creator https://surveyjs.answerdesk.io/internal/ticket/details/T12966

survey-pdf Enhancement The header text appears above the header image when exporting a survey to a raw PDF

Example

surveyResult (93).pdf

surveyViaBlob (1).pdf


Original issue: T12903 - The header text appears above the header image when exporting a survey to a raw PDF https://surveyjs.answerdesk.io/internal/ticket/details/T12903


Expected output: image

Export to raw PDF: image

survey-pdf Bug The IDocOptions.useCustomFontInHtml is not applied when a custom font is loaded via the DocController.addFont() function

Issue: if you use the DocController.addFont() function to load a custom font, the useCustomFontInHtml option is not enabled because of the following code line: https://github.com/surveyjs/survey-pdf/blob/master/src/doc_controller.ts#L265

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


Also, some questions: in doc, we outline that the following options are obsolete: DocOptions.base64Normal DocOptions.base64Bold

However, the following demo uses base64Bold: https://surveyjs.io/pdf-generator/examples/custom-fonts-in-pdf-form/reactjs.

survey-analytics Enhancement Allow to have custom file name for downloads in tabulator

There is no way to provide a custom file name for download files in tabulator. Here is the ticket in SurveyJS Support forum.

Version: v1.9.87, released on Thursday, May 11, 2023, Total Issue Count: 21

Users' requests - [ ] Support images / markdown emoji for Ranking question to implement a different kind of ranking quesions: like jQurey Bar Rating(https://surveyjs.io/form-library/examples/bar-rating-widget-javascript/reactjs) and Emotions Rating(https://surveyjs.io/form-library/examples/custom-widget-emotionsratings/reactjs).

Related tickets:

  • Support Tooltips for Ranking items. Related tickets:
Product
survey-library
Type
Enhancement
Description
Tagbox: implement filtering with hints
Product
survey-library
Type
Enhancement
Description
`onGetChoiceDisplayValue` is raised multiple times

Source issue: T12809 - onGetChoiceDisplayValue fire multiple times https://surveyjs.answerdesk.io/internal/ticket/details/T12809

Issue: the onGetChoiceDisplayValue callback fires multiple times though the Dropdown question appears just once; this causes multiple network requests. The issue can be reproduced on the following demo: https://surveyjs.io/form-library/examples/lazy-loading-dropdown/knockoutjs.

Product
survey-library
Type
Bug
Description
Drop-Down Menu Issue

Wide survey.

Image

User issue: T12913 - The Cannot read proprties of undefined exception is thrown when clearing a dropdown question value https://surveyjs.answerdesk.io/internal/ticket/details/T12913


Example

To reproduce the issue, select a Dropdown item, navigate to the next page, navigate back to the Dropdown page, and click the Clear button to remove a selected item. The following error appears in the console:

ERROR TypeError: Cannot read properties of undefined (reading 'renderAs')
    at SurveyStringComponent_Template (ng:///SurveyStringComponent/ɵcmp.js:16:88)

    at executeTemplate (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4800:231)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4769:163)

    at refreshComponent (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5101:165)

    at refreshChildComponents (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4711:1733)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4778:57)

    at refreshEmbeddedViews (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5085:996)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4774:40)

    at refreshEmbeddedViews (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5085:996)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4774:40)

    at refreshComponent (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5101:165)

    at refreshChildComponents (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4711:1733)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4778:57)

    at refreshComponent (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5101:165)

    at refreshChildComponents (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4711:1733)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4778:57)

    at refreshEmbeddedViews (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5085:996)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4774:40)

    at refreshEmbeddedViews (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5085:996)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4774:40)

    at refreshEmbeddedViews (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5085:996)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4774:40)

    at refreshEmbeddedViews (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5085:996)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4774:40)

    at refreshEmbeddedViews (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5085:996)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4774:40)

    at refreshEmbeddedViews (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5085:996)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4774:40)

    at refreshEmbeddedViews (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5085:996)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4774:40)

    at refreshEmbeddedViews (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5085:996)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4774:40)

    at refreshEmbeddedViews (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5085:996)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4774:40)

    at refreshEmbeddedViews (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5085:996)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4774:40)

    at refreshEmbeddedViews (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5085:996)

    at refreshView (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:4774:40)

    at detectChangesInternal (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5177:265)

    at ViewRef$1.detectChanges (https://xfq04y.csb.app/node_modules/@angular/core/fesm2020/core.mjs:5438:24)

    at ElementComponent.detectChanges (https://xfq04y.csb.app/node_modules/survey-angular-ui/fesm2015/survey-angular-ui.js:956:33)

    at eval (https://xfq04y.csb.app/node_modules/survey-angular-ui/fesm2015/survey-angular-ui.js:943:16)
Product
survey-library
Type
Bug
Description
Dropdown: search symbols upper and lower case

Image

Product
survey-library
Type
Enhancement
Description
Dropdown with a Custom item template
  • dropdown is not closed
https://surveyjs.io/form-library/examples/dropdown-box-with-custom-items/reactjs To reproduce the issue - select an item, close the dropdown, open the dropdown, click Clear to remove the selection.

Issue: the popup remains opened; it cannot be closed by an outer click.

https://user-images.githubusercontent.com/22372972/235633234-e2aac906-e809-4220-bf89-da73a7e322de.mp4

image

Originally posted by @JaneSjs in https://github.com/surveyjs/service/issues/1106#issuecomment-1531153307

  • input is not centered
![Image](https://user-images.githubusercontent.com/29385489/235955884-0499d62b-bb4c-483a-bef4-98619e43d49b.png)
  • we need to hide component on input

Image

Product
survey-library
Type
Bug
Description
[Angular] Dropdown is empty when switching to the previous page

Original issue: T12929 - Survey Runner dropdown choices are not populating when switching between the pages?
https://surveyjs.answerdesk.io/internal/ticket/details/T12929

Example

To reproduce the issue, follow these steps:

  • Select an item on the first page image

  • Navigate to the second page image

  • Switch back to the first page

  • Try to open a drop-down - the drop-down is not opened. image

Product
survey-library
Type
Enhancement
Description
Rating Scale (Smileys) - Add a meaningful tooltip for idivdual emoji item

T3350 - Custom widget: Emotions Ratings https://surveyjs.answerdesk.io/internal/ticket/details/T3350 A tooltip displays the numeric value which corresponds to an item: image

Suggestion: allow users define text for smiley items.

{
 "focusFirstQuestionAutomatic": false,
 "pages": [
  {
   "name": "page1",
   "elements": [
    {
     "type": "rating",
     "name": "satisfaction-smileys-monochrome",
     "title": "How satisfied are you with our product?",
     "description": "Smiley rating with monochrome scale",
     "rateType": "smileys",
     "rateCount": 10,
     "rateMax": 10
    }
   ]
  }
 ],
 "showQuestionNumbers": "off"
}

To reproduce this, run the demo and select all cars. A matrix appears as follows: image

Suggestion: add an option to decrease the size of rate items in matrices. For instance: a global Survey.setting.rateItemSizeMode: small | normal.

T12934 - SurveyJS Dropdown scroll issue on mobile https://surveyjs.answerdesk.io/internal/ticket/details/T12934

Original issue: T12974 - complete trigger issue with matrix question https://surveyjs.answerdesk.io/internal/ticket/details/T12974

Example Task: to activate a complete trigger when a Single-Choice Matrix has any of the listed options selected for a specific row:

triggers: [
    {
      type: "complete",
      expression:
        "{question2.PGA Tour} anyof ['I do not follow this sport at all', 'I look at this sport when it\\'s in the news or on my timeline, but don’t really keep up with it consistently', 'I keep up with this sport when I can and follow some events']"
    }
]

If you select a target value, the Complete button is activated: image

Click another row, and notice that a Complete button disappears: image

Product
survey-library
Type
Bug
Description
TypeError in FileQuestionModel.isFileImage function

There is no check on file.content that could be undefined. Here is the related issue on SurveyJS support forum.

Product
survey-creator
Type
Bug
Description
Editor styles is broken if titleLocation is left

image

Original issue: T12919 - Survejs V2 migration - Problem changing question type from 3rd party question https://surveyjs.answerdesk.io/internal/ticket/details/T12919

To reproduce the issue, run the following demo: https://surveyjs.io/survey-creator/examples/integration-with-third-party-libraries/reactjs.

Add a No UI Slider question, and try to change the question type to Bar Rating. The question appears as follows: image

To reproduce the issue, drop a Multiple-Choice Matrix to a Survey Creator, select a column, expand the Cell Type dropdown and try to select the Rating Scale type: image

The following exception is thrown:

React-dom.production.min.js:63 Uncaught TypeError: e.useRateValues is not a function
    at t.useRateValues (survey-creator-core.min.js:13:509868)
    at t.allowAddForElement (survey-creator-core.min.js:13:511039)
    at t.updateAllowAddRemove (survey-creator-core.min.js:13:551205)
    at t.onCreated (survey-creator-core.min.js:13:551343)
    at Object.onCreated (survey-creator-core.min.js:13:252361)
    at e.onQuestionsCreated (survey-creator-core.min.js:13:256910)
    at e.setupObjPanel (survey-creator-core.min.js:13:256344)
    at e.setObj (survey-creator-core.min.js:13:261692)
    at e.onValueChanged (survey-creator-core.min.js:13:266112)
    at Array.<anonymous> (survey-creator-core.min.js:13:261829)

image

Product
survey-creator
Type
Enhancement
Description
Toolbar location settings are not listed in Survey Creator API

The following settings are not listed in API documentation: https://surveyjs.io/survey-creator/documentation/api-reference/survey-creator.

surveyCreator.toolboxLocation = "sidebar";
surveyCreator.sidebarLocation = "right";

T12966 - Layout of Survey Creator https://surveyjs.answerdesk.io/internal/ticket/details/T12966

Example

surveyResult (93).pdf

surveyViaBlob (1).pdf


Original issue: T12903 - The header text appears above the header image when exporting a survey to a raw PDF https://surveyjs.answerdesk.io/internal/ticket/details/T12903


Expected output: image

Export to raw PDF: image

Issue: if you use the DocController.addFont() function to load a custom font, the useCustomFontInHtml option is not enabled because of the following code line: https://github.com/surveyjs/survey-pdf/blob/master/src/doc_controller.ts#L265

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


Also, some questions: in doc, we outline that the following options are obsolete: DocOptions.base64Normal DocOptions.base64Bold

However, the following demo uses base64Bold: https://surveyjs.io/pdf-generator/examples/custom-fonts-in-pdf-form/reactjs.

Product
survey-analytics
Type
Enhancement
Description
Allow to have custom file name for downloads in tabulator

There is no way to provide a custom file name for download files in tabulator. Here is the ticket in SurveyJS Support forum.

Version: v1.9.86, released on Saturday, May 6, 2023, Total Issue Count: 29

Product Type Description
survey-library Enhancement Add support for images in Ranking question type

Hello! It would be nice to support for images in Ranking question type. Something like a union of Ranking and Image picker question types.

survey-library Bug Panel - The "required" validation message doesn't use the default validation error appearance

To reproduce the issue, add a panel with questions, and enable the panel.isRequired option. The validation message appears as follows: image

Example

Expected behavior: the validation message appears as follows. image

survey-library Bug The "required" error message bar doesn't stretch to the end of a Matrix Row

Open the demo: https://surveyjs.io/form-library/examples/dynamic-matrix-table-question-with-dropdown-cell-type

Click Complete: the error message doesn't stretch to the end of a row. image

survey-library Enhancement Background Image - Add settings to configure an image (for instance, size and fit mode)

Original issue: T12689 - Creator Background Image.


Suggestion: add settings to configure a background image. For instance, the fit mode.

survey-library Enhancement add fontSize variable like baseUnit
survey-library Bug Dropdown with Lazy Loading - The entered text overrides the input value and the item looses the display text

To reproduce the issue, run the demo and click the input field. I can reproduce the following issues:

The cursor jumps to the beginning of the input field. When you start typing, the text overrides the existing input text.

https://user-images.githubusercontent.com/22372972/233621080-922cc471-a1d4-4729-953c-6767350e171a.mp4

survey-library Bug `page.addNewQuestion()` doesn't create a new question for a custom question type

Original issue: T12791 - A third-party Camera question: https://surveyjs.answerdesk.io/internal/ticket/details/T12791


The page.addNewQuestion function fails to add a new question of a custom-defined type.

An example with a Datepicker: https://plnkr.co/edit/ob9bwQHUNGZm76hX

survey-library Enhancement Border-radius variables

Question Panel - border-radius: 4px; Editors - (textEdit based) - border-radius: 4px; CheckBox - border-radius: 2px; Panels - border-radius: 4px; Nested Panel - border-radius: 0px; Drop-Down Popup - border-radius: 4px; List item Hover, Selected, Focused - border-radius: 4px; TagBox Item - border-radius: 2px; Image Picker Item - border-radius: 4px; Buttons - border-radius: 4px;

Changed: TextEdit 4px ListItem 4px Checkbox 2px

survey-library Bug Dropdown: Typed-in value replaces the selected item if the item is not loaded

If you select an item from the drop-down list, the item appears correctly; however, when you move the focus out of the input field, the input no longer displays the display text but an item value instead.

https://user-images.githubusercontent.com/22372972/233621196-ed7d543f-0673-450d-b470-306a4aec59d4.mp4

survey-library Bug Do not raise `onComplete` twice if the "complete" trigger is executed and the `completeLastPage()` method is called

If a trigger "complete" triggers are executing on completing survey then onComplete event can be raised more than one time. We should not checks "complete" triggers on completing survey.

survey-library Bug Setting isLocalizable to false for localizable string leads to issues in Creator

The following code:

Survey.Serializer.findProperty("survey", "title").isLocalizable = false;

will lead to issues in creator. For example property grid will not show title value correctly, it will be always an empty string on loading.

survey-library Enhancement `survey-angular-ui` - Integrated third-party Angular components are missing from an optimized production build

639 / 5.000 Risultati della traduzione Risultato di traduzione I'm integrating a 3rd party component on survey-angular-ui (https://www.npmjs.com/package/survey-angular-ui) Everything works fine until I do the build. The build happens without any errors, but when I try to view the survey it doesn't return my custom field.

The problem is replicated by simply doing the build of: https://github.com/surveyjs/code-examples/tree/main/integrate-third-party-angular-components

In particular I noticed that the dev build seems to work, the production build doesn't (so change "optimized" to true/false). There is no js or angular error

The problem is mainly on the frontend and not on the creator

survey-library Enhancement Rating: rename rateDisplayMode to rateType and hide extreme values property

Image

survey-library Bug Update the `min` and `max` properties on the `onBlur` event instead of the `onTyping` event

By default properties editors are updated onTyping. Properties for min/max for text question should be updated onBlur otherwise, a user will not be able to enter values easily, since property grid (survey) will update the value on typing every number.

survey-creator Enhancement Update the default Image question settings to better align the image in responsive survey layout

Issue: with the current default settings, an Image question is misaligned when a survey is made responsive. Example.

{
 "pages": [
  {
   "name": "page1",
   "elements": [
    {
     "type": "image",
     "name": "banner",
     "imageLink": "https://surveyjs.io/Content/Images/examples/image-picker/lion.jpg"
    }
   ]
  }
 ],
 "widthMode": "responsive"
}

image

Suggestion: enable the following Image question settings by default to better align the image (example).

"imageFit": "cover",
"imageHeight": "100%",
"imageWidth": "100%"
survey-creator Bug Select Question Type button styles
survey-creator Enhancement Localization - Dynamic/Dropdown Matrix - The Edit Column dialog displays the default labels for Boolean columns

For a localized survey, the edit column dialog displays default labels instead of translated ones: Example.

image

survey-creator Enhancement Change the default logic operator for Multi-select choice based questions (e.g., Checkbox,Tagbox)

The Equal operator appears by default when creating a logic rule: image

However, for some questions, it makes sence to use the contains operator by default. Suggestion: when creating a new rule for multi-select choice-based questions, such as Checkbox, and Tagbox, change the default logic operator to contains. image

survey-creator Enhancement Custom React CKEditor Component - Not updated immediately after modifying question choices on a design surface

T12816 - CK editor issues with choices https://surveyjs.answerdesk.io/internal/ticket/details/T12816

survey-creator Enhancement Rating: disable, not hide "Add/Remove" button if action is not allowed
survey-creator Bug Do not show actions on hover in mobile mode

Image

survey-creator Enhancement Rating: add rate type selector to design surface
survey-creator Bug Radio Button Group Issue

Image Image

survey-pdf Enhancement Create links in the survey PDF header with ease

I want to include a link to the survey PDF header. Currently, it is possible to do so using the SurveyPDF.LinkBrick as demonstrated at T10570 - How to include a link to the survey PDF header.

However, this option may require additional code if I want to include a link as a part of the header text. Please support embeeding links to the PDF header text using the [text](url) notation.

survey-pdf Bug Change Fonts - Correct Notes
survey-analytics Enhancement Add a code example or demo for `VisualizerBase.registerToolbarItem`
survey-analytics Enhancement Rename `VisualizerBase.showHeader` to `showToolbar`
survey-analytics API Change Try to rename dataName -> name, name -> type in visualizer
survey-analytics Enhancement Include missing German localization file

Trying to switch between differnt locales I noticed that switching to French works but German does not.

const vizPanel = new VisualizationPanel(allQuestions, dataFromServer);
vizPanel.locale = "de";

A German translation file german.ts exists in: https://github.com/surveyjs/survey-analytics/tree/master/src/analytics-localization

But it is not registed in the entries files: https://github.com/surveyjs/survey-analytics/tree/master/src/entries

e.g. summary.ts

//localization
import "../analytics-localization/farsi";
import "../analytics-localization/french";
import "../analytics-localization/norwegian";
import "../analytics-localization/portuguese";
import "../analytics-localization/russian";
import "../analytics-localization/dutch";
import "../analytics-localization/spanish";
import "../analytics-localization/italian";
import "../analytics-localization/arabic";

As suggedsted by the README

  1. Open all files in the entries directory and import your file in each of them for Webpack. ...

Version: v1.9.86, released on Saturday, May 6, 2023, Total Issue Count: 29

Product
survey-library
Type
Enhancement
Description
Add support for images in Ranking question type

Hello! It would be nice to support for images in Ranking question type. Something like a union of Ranking and Image picker question types.

To reproduce the issue, add a panel with questions, and enable the panel.isRequired option. The validation message appears as follows: image

Example

Expected behavior: the validation message appears as follows. image

Open the demo: https://surveyjs.io/form-library/examples/dynamic-matrix-table-question-with-dropdown-cell-type

Click Complete: the error message doesn't stretch to the end of a row. image

Original issue: T12689 - Creator Background Image.


Suggestion: add settings to configure a background image. For instance, the fit mode.

Product
survey-library
Type
Enhancement
Description
add fontSize variable like baseUnit

To reproduce the issue, run the demo and click the input field. I can reproduce the following issues:

The cursor jumps to the beginning of the input field. When you start typing, the text overrides the existing input text.

https://user-images.githubusercontent.com/22372972/233621080-922cc471-a1d4-4729-953c-6767350e171a.mp4

Original issue: T12791 - A third-party Camera question: https://surveyjs.answerdesk.io/internal/ticket/details/T12791


The page.addNewQuestion function fails to add a new question of a custom-defined type.

An example with a Datepicker: https://plnkr.co/edit/ob9bwQHUNGZm76hX

Product
survey-library
Type
Enhancement
Description
Border-radius variables

Question Panel - border-radius: 4px; Editors - (textEdit based) - border-radius: 4px; CheckBox - border-radius: 2px; Panels - border-radius: 4px; Nested Panel - border-radius: 0px; Drop-Down Popup - border-radius: 4px; List item Hover, Selected, Focused - border-radius: 4px; TagBox Item - border-radius: 2px; Image Picker Item - border-radius: 4px; Buttons - border-radius: 4px;

Changed: TextEdit 4px ListItem 4px Checkbox 2px

If you select an item from the drop-down list, the item appears correctly; however, when you move the focus out of the input field, the input no longer displays the display text but an item value instead.

https://user-images.githubusercontent.com/22372972/233621196-ed7d543f-0673-450d-b470-306a4aec59d4.mp4

If a trigger "complete" triggers are executing on completing survey then onComplete event can be raised more than one time. We should not checks "complete" triggers on completing survey.

The following code:

Survey.Serializer.findProperty("survey", "title").isLocalizable = false;

will lead to issues in creator. For example property grid will not show title value correctly, it will be always an empty string on loading.

639 / 5.000 Risultati della traduzione Risultato di traduzione I'm integrating a 3rd party component on survey-angular-ui (https://www.npmjs.com/package/survey-angular-ui) Everything works fine until I do the build. The build happens without any errors, but when I try to view the survey it doesn't return my custom field.

The problem is replicated by simply doing the build of: https://github.com/surveyjs/code-examples/tree/main/integrate-third-party-angular-components

In particular I noticed that the dev build seems to work, the production build doesn't (so change "optimized" to true/false). There is no js or angular error

The problem is mainly on the frontend and not on the creator

Product
survey-library
Type
Enhancement
Description
Rating: rename rateDisplayMode to rateType and hide extreme values property

Image

By default properties editors are updated onTyping. Properties for min/max for text question should be updated onBlur otherwise, a user will not be able to enter values easily, since property grid (survey) will update the value on typing every number.

Issue: with the current default settings, an Image question is misaligned when a survey is made responsive. Example.

{
 "pages": [
  {
   "name": "page1",
   "elements": [
    {
     "type": "image",
     "name": "banner",
     "imageLink": "https://surveyjs.io/Content/Images/examples/image-picker/lion.jpg"
    }
   ]
  }
 ],
 "widthMode": "responsive"
}

image

Suggestion: enable the following Image question settings by default to better align the image (example).

"imageFit": "cover",
"imageHeight": "100%",
"imageWidth": "100%"
Product
survey-creator
Type
Bug
Description
Select Question Type button styles

For a localized survey, the edit column dialog displays default labels instead of translated ones: Example.

image

The Equal operator appears by default when creating a logic rule: image

However, for some questions, it makes sence to use the contains operator by default. Suggestion: when creating a new rule for multi-select choice-based questions, such as Checkbox, and Tagbox, change the default logic operator to contains. image

T12816 - CK editor issues with choices https://surveyjs.answerdesk.io/internal/ticket/details/T12816

Product
survey-creator
Type
Enhancement
Description
Rating: disable, not hide "Add/Remove" button if action is not allowed
Product
survey-creator
Type
Bug
Description
Do not show actions on hover in mobile mode

Image

Product
survey-creator
Type
Enhancement
Description
Rating: add rate type selector to design surface
Product
survey-creator
Type
Bug
Description
Radio Button Group Issue

Image Image

Product
survey-pdf
Type
Enhancement
Description
Create links in the survey PDF header with ease

I want to include a link to the survey PDF header. Currently, it is possible to do so using the SurveyPDF.LinkBrick as demonstrated at T10570 - How to include a link to the survey PDF header.

However, this option may require additional code if I want to include a link as a part of the header text. Please support embeeding links to the PDF header text using the [text](url) notation.

Product
survey-pdf
Type
Bug
Description
Change Fonts - Correct Notes
Product
survey-analytics
Type
Enhancement
Description
Add a code example or demo for `VisualizerBase.registerToolbarItem`
Product
survey-analytics
Type
Enhancement
Description
Rename `VisualizerBase.showHeader` to `showToolbar`
Product
survey-analytics
Type
API Change
Description
Try to rename dataName -> name, name -> type in visualizer
Product
survey-analytics
Type
Enhancement
Description
Include missing German localization file

Trying to switch between differnt locales I noticed that switching to French works but German does not.

const vizPanel = new VisualizationPanel(allQuestions, dataFromServer);
vizPanel.locale = "de";

A German translation file german.ts exists in: https://github.com/surveyjs/survey-analytics/tree/master/src/analytics-localization

But it is not registed in the entries files: https://github.com/surveyjs/survey-analytics/tree/master/src/entries

e.g. summary.ts

//localization
import "../analytics-localization/farsi";
import "../analytics-localization/french";
import "../analytics-localization/norwegian";
import "../analytics-localization/portuguese";
import "../analytics-localization/russian";
import "../analytics-localization/dutch";
import "../analytics-localization/spanish";
import "../analytics-localization/italian";
import "../analytics-localization/arabic";

As suggedsted by the README

  1. Open all files in the entries directory and import your file in each of them for Webpack. ...

Version: v1.9.85, released on Wednesday, April 26, 2023, Total Issue Count: 34

Product Type Description
survey-library Enhancement Partial ranking

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

Feature

What is the current behavior?

Ranking question requires full ordering of every available option

What is the expected behavior?

It would be great if:

  • Choices are initially unranked in a separate box
  • Ranking choices are moved to a ranked box
  • There is a minimum and a maximum number of choices one can configure.
survey-library Bug Question Title. Indents must be bigger.
  • indent between title and description
  • description line-height

Image

Image

survey-library Enhancement Implement new design for questions inside panels
survey-library Bug Dropdown-Tagbox: item focused state for keyboard navigation
survey-library Enhancement Rating emodji colors
survey-library Enhancement TOC and animation bug when used together

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

Bug

What is the current behavior?

TOC bugs when used in combination with page change animation. Search bar disappears and navigation breaks. It only allows you to move one page forward, backwards navigation still works though. Animation taken from

What is the expected behavior?

animation and TOC both work together properly.

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

Apply TOC and page change animation in same survey

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

Tested page URL:

Test code

var doAnimantion = true;
// This component renders the survey.
function SurveyComponent() {
    const survey = new Model(sourcing);
    survey.onComplete.add((sender, options) => {
        console.log(JSON.stringify(sender.data, null, 3));

    });
// This function animates the survey element 
// by adding or removing the "expandable" and "expandable_show" classes. 
// This creates a 'scrolling' effect on page change and  
function animate(show) {
    const element = document.getElementById("surveyElement");
    if (!!element) {
        const list = element.classList;
        if (!list.contains("expandable")) {
            list.add("expandable");
        }
        if (show) {
            list.add("expandable_show");
        } else {
            list.remove("expandable_show");
        }
    }
};
    // This function prevents page changes during animations 
    // and triggers an animation after the page changes.
    survey.onCurrentPageChanging.add(function (sender, options) {
        if (!doAnimantion) return;
        options.allowChanging = false;
        setTimeout(function () {
            doAnimantion = false;
            sender.currentPage = options.newCurrentPage;
            doAnimantion = true;
        }, 500);
        animate(false);
    });
    // This function triggers an animation when the current page of the survey changes
    survey.onCurrentPageChanged.add(function (sender) {
        animate(true);
    });
    // This function prevents survey completion during 
    // animations and triggers an animation after the survey is completed.
    survey.onCompleting.add(function (sender, options) {
        if (!doAnimantion) return;
        options.allowComplete = false;
        setTimeout(function () {
            doAnimantion = false;
            sender.doComplete();
            doAnimantion = true;
        }, 500);
        animate(false);
    });
    // This function triggers an animation after the survey is rendered.
    survey.onAfterRenderSurvey.add((sender, options) => {
        animate(true);
    });
    // // Render the survey using the SurveyJS React component.
    return (<Survey model={survey} />);
}

export default SurveyComponent;

Specify your

  • browser: Chrome
  • browser version: latest
  • surveyjs platform (angular or react or jquery or knockout or vue): react
  • surveyjs version: latest
survey-library Bug Boolean Question Hover
survey-library Bug `choicesLazyLoadEnabled: true` ignores `storeOthersAsComment: false`

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

Bug

What is the current behavior?

When using "type" : "dropdown" and specifying "choicesLazyLoadEnabled:true" then "storeOthersAsComment:false" is ignored

What is the expected behavior?

"storeOthersAsComment:false" should be honored when using "type" : "dropdown" and specifying "choicesLazyLoadEnabled:true"

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

Create a survey containing an element with "type" : "dropdown" and specifying "choicesLazyLoadEnabled:true" and "storeOthersAsComment:false". Type in a value for Other, submit the form and get the value 'other' not the typed in value

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

Tested page URL:

Test code

your_code_here

Specify your

  • browser:
  • browser version:
  • surveyjs platform (angular or react or jquery or knockout or vue): "survey-react-ui": "^1.9.77",
  • surveyjs version: 1.9.79
survey-library Enhancement Rating: do not store rateValues on switch modes

when we switch to Generate mode we need to reset rateValues when we switch to Smiles we need to cut off items > 10

survey-library Bug survey.onIsAnswerCorrect event doesn't apply for question.isAnswerCorrect()

survey.onIsAnswerCorrect event was not designed to change question.isAnswerCorrect(). It is used in getCorrectedAnswerCount function only, which is inlogical.

survey-library Bug Numeric choices are sorted as strings, not as numbers

[Example](https://plnkr.co/edit/3VI7ZiNN5IondVrN

const json = {
 "logoPosition": "right",
 "pages": [
  {
   "name": "page1",
   "elements": [
    {
     "type": "radiogroup",
     "name": "question1",
     "choices": [
      1,
      2,
      3,
      4,
      5,
      6,
      60,
      401,
      7
     ],
     "choicesOrder": "desc"
    }
   ]
  }
 ]
}

Issue: choices are sorted as texts, not as numbers: image Expected behavior: numeric choices are sorted as numbers.

survey-library Bug TypeError: Cannot read properties of null (reading 'matrixAfterCellRender')

The TypeError: Cannot read properties of null (reading 'matrixAfterCellRender') exception occurs when performing the following actions in Survey Creator (Knockout):

  • Quickly adding questions from a toolbox;
  • Quickly switching between questions on a design surface.

Original issue: T12713 - TypeError: Cannot read properties of null (reading 'matrixAfterCellRender') https://surveyjs.answerdesk.io/internal/ticket/details/T12713

The issue in knockout version only

survey-library Bug dropdown question clearValue() doesn't clear text in dropdown immediately

Here is the example and the related issue on SurveyJS support forum.

survey-library Enhancement Add ability to remove actions from container for adaptivity
survey-library Enhancement Colored Rating - hot fixes before release

Hover for monochrome mode should not be colored Focus for colored mode should have full-colored icon Change colors for icons in error state Change hovers for icons in error state

survey-creator Enhancement An option to hide the Add New Question button

Create an option to hide the Add New Question from survey pages in creator. Usage scenario - the read-only mode for the creator where users cannot add new survey elements.

Source ticket: T10981 - How can we hide "Add New Question" button from each page in survey creator on button click.

survey-creator Bug Property Grid Element Selector - The focus is accidentally jumped to the search box

On a large survey (https://surveyjs.io/form-library/examples/how-to-configure-and-embed-patient-medical-history-form/), the Property Grid element selector has a search box. However, when you activate an element selector, the focus is suddenly jumped from a selected element to the search box.

https://user-images.githubusercontent.com/22372972/230951688-77fd9fb7-19e5-4cdf-a856-5927dfac2995.mp4

survey-creator Bug Property Grid Keyboard Navigation (Safari)
survey-creator Enhancement Add Question Button Hover
survey-creator Enhancement Drop area is too small.

Image

survey-creator Enhancement Rating: disable add/delete items for edge cases
survey-creator Bug The Leave the logic tab confirmation dialog appears with incorrect styling

The issue is reproduced in a React CodeSandbox demo: Example

Current result: image

Expected result: image

survey-creator Bug Survey Localization - The Logic rule editor displays default question choice texts instead of localized texts

Original issue: T12759 - Bug in selecting condition (GUI) https://surveyjs.answerdesk.io/internal/ticket/details/T12759


Example

I added survey localization and translated choices: image

The current survey locale is fr. image

However, the Logic popup and Logic Tab editor displays default choice texts instead of localized ones: Logic Popup image

Logic tab editor image

survey-creator Enhancement Display a date picker for a Min and Max settings

T12736 - V2 single input - date type https://surveyjs.answerdesk.io/internal/ticket/details/T12736


If you set a single-text input's input type to date, the Min and Max settings appear. However, they don't have a date picker option.

Suggestion: add a datepicker option to the Min and Max settings. image

survey-creator Bug Remove warning on setting properties on disposed objects

There are several warnings that SurveyJS Creator objects set their properties are they have been disposed. Typically, it means that some callback functions are still active after the object is disposed.

survey-creator Bug Angular - The 'TypeError: Cannot read properties of null (reading 'getType')' exception is thrown on an attempt to edit the column title of a Multiple-Choice Matrix

T12622 - Is it possible to have 'matrix' question type to have cellType 'checkbox' without the additional features of 'matrixdropdown' and 'matrixdynamic'? https://surveyjs.answerdesk.io/internal/ticket/details/T12622


https://user-images.githubusercontent.com/22372972/233098581-65d96f11-a1fe-40dc-99a3-65c9633d48e4.mp4

To reproduce the issue, follow these steps:

  • Run the Angular demo
  • Drop a Multi-Selection Matrix onto a form
  • Remove the second and third columns
  • Switch the first column to a Radiogroup type and enable its showInMultipleColumns option.
  • Click a column title to edit it The following exception appears in a browser console:
ERROR TypeError: Cannot read properties of null (reading 'getType')
    at ./src/components/matrix-cell.ts.MatrixCellWrapperViewModel.selectContext (survey-creator-core.js:1169:34)
    at MatrixCellComponent_ng_template_0_Template_div_click_0_listener (ɵcmp.js:2:46)
    at executeListenerWithErrorHandling (core.mjs:15780:16)
    at wrapListenerIn_markDirtyAndPreventDefault (core.mjs:15815:22)
    at HTMLDivElement.eval (platform-browser.mjs:459:38)
    at _ZoneDelegate.invokeTask (zone.js:406:31)
    at Zone.runTask (zone.js:178:47)
    at ZoneTask.invokeTask [as invoke] (zone.js:487:34)
    at invokeTask (zone.js:1661:18)
    at globalCallback (zone.js:1692:29)
    at HTMLDivElement.globalZoneAwareCallback (zone.js:1725:16)
    at ./src/components/string-editor.ts.StringEditorViewModelBase.onFocus (survey-creator-core.js:3715:36)
    at StringEditorComponent.onFocus (survey-creator-angular.js:3472:20)
    at StringEditorComponent_ng_template_0_span_5_Template_span_focus_0_listener (ɵcmp.js:10:15)
    at executeListenerWithErrorHandling (core.mjs:15780:16)
    at wrapListenerIn_markDirtyAndPreventDefault (core.mjs:15815:22)
    at HTMLSpanElement.eval (platform-browser.mjs:459:38)
    at _ZoneDelegate.invokeTask (zone.js:406:31)
    at Zone.runTask (zone.js:178:47)
    at ZoneTask.invokeTask [as invoke] (zone.js:487:34)
    at invokeTask (zone.js:1661:18)
    at globalCallback (zone.js:1692:29)
    at HTMLSpanElement.globalZoneAwareCallback (zone.js:1725:16)
survey-creator Enhancement Compact mode
survey-creator Bug Incorrect Placholder in PropertyGrid choices
  1. open the creator.
  2. Add a radiogroup question.
  3. Set the TEXT for Item 3 through the propertygrid, for example "Item Three"
  4. change the VALUE of "Item 3" to "Item D"
  5. delete the text "Item Three"
  6. this text remains in the placeholder.

Image

survey-creator Bug Multi-Select Matrix: Select-based, Boolean and Rating cell types do not allow in-cell editing

We need to allow the cell editing for: dropdown, radiogroup, checkbox and all others select base questions + for boolean and rating and do not allow it for: "expression", "file", "text", "comment" and other questions.

survey-creator Enhancement Question adorners overflow their container

Image

Image

survey-pdf Enhancement Rating: stars and smileys - PDF support
survey-pdf Enhancement Survey with an HTML question - TypeError: Cannot read properties of undefined (reading '1')

Original issue: T12822 - PDF generation issues https://surveyjs.answerdesk.io/internal/ticket/details/T12822

A survey contains an HTML question. Run the example from the original thread, scroll down to the bottom of a page and click Export. The following exception appears in the console:

Uncaught (in promise) TypeError: Cannot read properties of undefined (reading '1')
    at h.renderParagraph (survey.pdf.min.js:26:14820)
    at h.setBlockBoundary (survey.pdf.min.js:26:15592)
    at n (survey.pdf.min.js:26:6651)
    at n (survey.pdf.min.js:26:6612)
    at n (survey.pdf.min.js:26:6612)
    at survey.pdf.min.js:26:9132
    at i (survey.pdf.min.js:26:6756)
    at v (survey.pdf.min.js:26:7171)
    at b (survey.pdf.min.js:26:9063)
    at t.fromHTML (survey.pdf.min.js:26:16427)
survey-pdf Enhancement A Radiogroup question's checked item appears incorrectly when exporting a survey to raw PDF and when a surveyPdf is in display (read-only) mode

Original issue: T12904 - Radio buttons appear incorrectly when exporting a survey to raw PDF https://surveyjs.answerdesk.io/internal/ticket/details/T12904

survey-analytics Bug The `clear()` method clears all elements except the header

Version: v1.9.85, released on Wednesday, April 26, 2023, Total Issue Count: 34

Product
survey-library
Type
Enhancement
Description
Partial ranking

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

Feature

What is the current behavior?

Ranking question requires full ordering of every available option

What is the expected behavior?

It would be great if:

  • Choices are initially unranked in a separate box
  • Ranking choices are moved to a ranked box
  • There is a minimum and a maximum number of choices one can configure.
Product
survey-library
Type
Bug
Description
Question Title. Indents must be bigger.
  • indent between title and description
  • description line-height

Image

Image

Product
survey-library
Type
Enhancement
Description
Implement new design for questions inside panels
Product
survey-library
Type
Bug
Description
Dropdown-Tagbox: item focused state for keyboard navigation
Product
survey-library
Type
Enhancement
Description
Rating emodji colors
Product
survey-library
Type
Enhancement
Description
TOC and animation bug when used together

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

Bug

What is the current behavior?

TOC bugs when used in combination with page change animation. Search bar disappears and navigation breaks. It only allows you to move one page forward, backwards navigation still works though. Animation taken from

What is the expected behavior?

animation and TOC both work together properly.

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

Apply TOC and page change animation in same survey

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

Tested page URL:

Test code

var doAnimantion = true;
// This component renders the survey.
function SurveyComponent() {
    const survey = new Model(sourcing);
    survey.onComplete.add((sender, options) => {
        console.log(JSON.stringify(sender.data, null, 3));

    });
// This function animates the survey element 
// by adding or removing the "expandable" and "expandable_show" classes. 
// This creates a 'scrolling' effect on page change and  
function animate(show) {
    const element = document.getElementById("surveyElement");
    if (!!element) {
        const list = element.classList;
        if (!list.contains("expandable")) {
            list.add("expandable");
        }
        if (show) {
            list.add("expandable_show");
        } else {
            list.remove("expandable_show");
        }
    }
};
    // This function prevents page changes during animations 
    // and triggers an animation after the page changes.
    survey.onCurrentPageChanging.add(function (sender, options) {
        if (!doAnimantion) return;
        options.allowChanging = false;
        setTimeout(function () {
            doAnimantion = false;
            sender.currentPage = options.newCurrentPage;
            doAnimantion = true;
        }, 500);
        animate(false);
    });
    // This function triggers an animation when the current page of the survey changes
    survey.onCurrentPageChanged.add(function (sender) {
        animate(true);
    });
    // This function prevents survey completion during 
    // animations and triggers an animation after the survey is completed.
    survey.onCompleting.add(function (sender, options) {
        if (!doAnimantion) return;
        options.allowComplete = false;
        setTimeout(function () {
            doAnimantion = false;
            sender.doComplete();
            doAnimantion = true;
        }, 500);
        animate(false);
    });
    // This function triggers an animation after the survey is rendered.
    survey.onAfterRenderSurvey.add((sender, options) => {
        animate(true);
    });
    // // Render the survey using the SurveyJS React component.
    return (<Survey model={survey} />);
}

export default SurveyComponent;

Specify your

  • browser: Chrome
  • browser version: latest
  • surveyjs platform (angular or react or jquery or knockout or vue): react
  • surveyjs version: latest
Product
survey-library
Type
Bug
Description
Boolean Question Hover
Product
survey-library
Type
Bug
Description
`choicesLazyLoadEnabled: true` ignores `storeOthersAsComment: false`

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

Bug

What is the current behavior?

When using "type" : "dropdown" and specifying "choicesLazyLoadEnabled:true" then "storeOthersAsComment:false" is ignored

What is the expected behavior?

"storeOthersAsComment:false" should be honored when using "type" : "dropdown" and specifying "choicesLazyLoadEnabled:true"

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

Create a survey containing an element with "type" : "dropdown" and specifying "choicesLazyLoadEnabled:true" and "storeOthersAsComment:false". Type in a value for Other, submit the form and get the value 'other' not the typed in value

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

Tested page URL:

Test code

your_code_here

Specify your

  • browser:
  • browser version:
  • surveyjs platform (angular or react or jquery or knockout or vue): "survey-react-ui": "^1.9.77",
  • surveyjs version: 1.9.79
Product
survey-library
Type
Enhancement
Description
Rating: do not store rateValues on switch modes

when we switch to Generate mode we need to reset rateValues when we switch to Smiles we need to cut off items > 10

survey.onIsAnswerCorrect event was not designed to change question.isAnswerCorrect(). It is used in getCorrectedAnswerCount function only, which is inlogical.

Product
survey-library
Type
Bug
Description
Numeric choices are sorted as strings, not as numbers

[Example](https://plnkr.co/edit/3VI7ZiNN5IondVrN

const json = {
 "logoPosition": "right",
 "pages": [
  {
   "name": "page1",
   "elements": [
    {
     "type": "radiogroup",
     "name": "question1",
     "choices": [
      1,
      2,
      3,
      4,
      5,
      6,
      60,
      401,
      7
     ],
     "choicesOrder": "desc"
    }
   ]
  }
 ]
}

Issue: choices are sorted as texts, not as numbers: image Expected behavior: numeric choices are sorted as numbers.

The TypeError: Cannot read properties of null (reading 'matrixAfterCellRender') exception occurs when performing the following actions in Survey Creator (Knockout):

  • Quickly adding questions from a toolbox;
  • Quickly switching between questions on a design surface.

Original issue: T12713 - TypeError: Cannot read properties of null (reading 'matrixAfterCellRender') https://surveyjs.answerdesk.io/internal/ticket/details/T12713

The issue in knockout version only

Here is the example and the related issue on SurveyJS support forum.

Product
survey-library
Type
Enhancement
Description
Add ability to remove actions from container for adaptivity
Product
survey-library
Type
Enhancement
Description
Colored Rating - hot fixes before release

Hover for monochrome mode should not be colored Focus for colored mode should have full-colored icon Change colors for icons in error state Change hovers for icons in error state

Product
survey-creator
Type
Enhancement
Description
An option to hide the Add New Question button

Create an option to hide the Add New Question from survey pages in creator. Usage scenario - the read-only mode for the creator where users cannot add new survey elements.

Source ticket: T10981 - How can we hide "Add New Question" button from each page in survey creator on button click.

On a large survey (https://surveyjs.io/form-library/examples/how-to-configure-and-embed-patient-medical-history-form/), the Property Grid element selector has a search box. However, when you activate an element selector, the focus is suddenly jumped from a selected element to the search box.

https://user-images.githubusercontent.com/22372972/230951688-77fd9fb7-19e5-4cdf-a856-5927dfac2995.mp4

Product
survey-creator
Type
Bug
Description
Property Grid Keyboard Navigation (Safari)
Product
survey-creator
Type
Enhancement
Description
Add Question Button Hover
Product
survey-creator
Type
Enhancement
Description
Drop area is too small.

Image

Product
survey-creator
Type
Enhancement
Description
Rating: disable add/delete items for edge cases

The issue is reproduced in a React CodeSandbox demo: Example

Current result: image

Expected result: image

Original issue: T12759 - Bug in selecting condition (GUI) https://surveyjs.answerdesk.io/internal/ticket/details/T12759


Example

I added survey localization and translated choices: image

The current survey locale is fr. image

However, the Logic popup and Logic Tab editor displays default choice texts instead of localized ones: Logic Popup image

Logic tab editor image

Product
survey-creator
Type
Enhancement
Description
Display a date picker for a Min and Max settings

T12736 - V2 single input - date type https://surveyjs.answerdesk.io/internal/ticket/details/T12736


If you set a single-text input's input type to date, the Min and Max settings appear. However, they don't have a date picker option.

Suggestion: add a datepicker option to the Min and Max settings. image

Product
survey-creator
Type
Bug
Description
Remove warning on setting properties on disposed objects

There are several warnings that SurveyJS Creator objects set their properties are they have been disposed. Typically, it means that some callback functions are still active after the object is disposed.

T12622 - Is it possible to have 'matrix' question type to have cellType 'checkbox' without the additional features of 'matrixdropdown' and 'matrixdynamic'? https://surveyjs.answerdesk.io/internal/ticket/details/T12622


https://user-images.githubusercontent.com/22372972/233098581-65d96f11-a1fe-40dc-99a3-65c9633d48e4.mp4

To reproduce the issue, follow these steps:

  • Run the Angular demo
  • Drop a Multi-Selection Matrix onto a form
  • Remove the second and third columns
  • Switch the first column to a Radiogroup type and enable its showInMultipleColumns option.
  • Click a column title to edit it The following exception appears in a browser console:
ERROR TypeError: Cannot read properties of null (reading 'getType')
    at ./src/components/matrix-cell.ts.MatrixCellWrapperViewModel.selectContext (survey-creator-core.js:1169:34)
    at MatrixCellComponent_ng_template_0_Template_div_click_0_listener (ɵcmp.js:2:46)
    at executeListenerWithErrorHandling (core.mjs:15780:16)
    at wrapListenerIn_markDirtyAndPreventDefault (core.mjs:15815:22)
    at HTMLDivElement.eval (platform-browser.mjs:459:38)
    at _ZoneDelegate.invokeTask (zone.js:406:31)
    at Zone.runTask (zone.js:178:47)
    at ZoneTask.invokeTask [as invoke] (zone.js:487:34)
    at invokeTask (zone.js:1661:18)
    at globalCallback (zone.js:1692:29)
    at HTMLDivElement.globalZoneAwareCallback (zone.js:1725:16)
    at ./src/components/string-editor.ts.StringEditorViewModelBase.onFocus (survey-creator-core.js:3715:36)
    at StringEditorComponent.onFocus (survey-creator-angular.js:3472:20)
    at StringEditorComponent_ng_template_0_span_5_Template_span_focus_0_listener (ɵcmp.js:10:15)
    at executeListenerWithErrorHandling (core.mjs:15780:16)
    at wrapListenerIn_markDirtyAndPreventDefault (core.mjs:15815:22)
    at HTMLSpanElement.eval (platform-browser.mjs:459:38)
    at _ZoneDelegate.invokeTask (zone.js:406:31)
    at Zone.runTask (zone.js:178:47)
    at ZoneTask.invokeTask [as invoke] (zone.js:487:34)
    at invokeTask (zone.js:1661:18)
    at globalCallback (zone.js:1692:29)
    at HTMLSpanElement.globalZoneAwareCallback (zone.js:1725:16)
Product
survey-creator
Type
Enhancement
Description
Compact mode
Product
survey-creator
Type
Bug
Description
Incorrect Placholder in PropertyGrid choices
  1. open the creator.
  2. Add a radiogroup question.
  3. Set the TEXT for Item 3 through the propertygrid, for example "Item Three"
  4. change the VALUE of "Item 3" to "Item D"
  5. delete the text "Item Three"
  6. this text remains in the placeholder.

Image

We need to allow the cell editing for: dropdown, radiogroup, checkbox and all others select base questions + for boolean and rating and do not allow it for: "expression", "file", "text", "comment" and other questions.

Product
survey-creator
Type
Enhancement
Description
Question adorners overflow their container

Image

Image

Product
survey-pdf
Type
Enhancement
Description
Rating: stars and smileys - PDF support

Original issue: T12822 - PDF generation issues https://surveyjs.answerdesk.io/internal/ticket/details/T12822

A survey contains an HTML question. Run the example from the original thread, scroll down to the bottom of a page and click Export. The following exception appears in the console:

Uncaught (in promise) TypeError: Cannot read properties of undefined (reading '1')
    at h.renderParagraph (survey.pdf.min.js:26:14820)
    at h.setBlockBoundary (survey.pdf.min.js:26:15592)
    at n (survey.pdf.min.js:26:6651)
    at n (survey.pdf.min.js:26:6612)
    at n (survey.pdf.min.js:26:6612)
    at survey.pdf.min.js:26:9132
    at i (survey.pdf.min.js:26:6756)
    at v (survey.pdf.min.js:26:7171)
    at b (survey.pdf.min.js:26:9063)
    at t.fromHTML (survey.pdf.min.js:26:16427)

Original issue: T12904 - Radio buttons appear incorrectly when exporting a survey to raw PDF https://surveyjs.answerdesk.io/internal/ticket/details/T12904

Product
survey-analytics
Type
Bug
Description
The `clear()` method clears all elements except the header

Version: v1.9.84, released on Wednesday, April 19, 2023, Total Issue Count: 31

Product Type Description
survey-library Bug survey-core module "validator" seems to be conflicting with validatorjs used by 'class-validator'. Error: Namespace '"validator"' has no exported member 'IsURLOptions'

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

reporting a bug (related to set up)

What is the current behavior?

class-validator depends on validator.js. The module "validator" for validator.js seems to be conflicting with "validator" in survey-core.

When I try to build my project, I get a string of errors similar to the following

Error: node_modules/class-validator/types/decorator/string/IsIdentityCard.d.ts:17:61 - error TS2694: Namespace '"validator"' has no exported member 'IdentityCardLocale'.

17 export declare function IsIdentityCard(locale?: ValidatorJS.IdentityCardLocale, validationOptions?: ValidationOptions): PropertyDecorator;
                                                               ~~~~~~~~~~~~~~~~~~

Upon explore node_modules/class-validator/types/decorator/string/IsIdentityCard.d.ts, I can see it imports IdentityCardLocale using import ValidatorJS from 'validator';. Even though I have both validator installed and @types/validator, following the import in visual studio code takes me to declare module "validator" in node_modules/survey-core/survey.core.d.ts

What is the expected behavior?

modules in survey-core should not conflict with other npm modules

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

(1) Create an angular project and install the required libraries (note: I'm using angular 12)

ng new test-issue
cd test-issue
npm install --save class-validator @angular/cdk@~12.2.0 survey-angular-ui

(2) Import something from class-validator and survey-core open src/app/app.module.ts Update the imports to have these 2 new ones added

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';

// add new imports but don't have to use them for anything
import { IsIdentityCard  } from 'class-validator';
import { SurveyModule } from "survey-angular-ui";

(3) build

ng build

The build to fails with a long list of errors such as those shown below.


Error: node_modules/class-validator/types/decorator/string/IsISSN.d.ts:13:54 - error TS2694: Namespace '"validator"' has no exported member 'IsISSNOptions'.

13 export declare function IsISSN(options?: ValidatorJS.IsISSNOptions, validationOptions?: ValidationOptions): PropertyDecorator;
                                                        ~~~~~~~~~~~~~


Error: node_modules/class-validator/types/decorator/string/IsIdentityCard.d.ts:10:76 - error TS2694: Namespace '"validator"' has no exported member 'IdentityCardLocale'.

10 export declare function isIdentityCard(value: unknown, locale: ValidatorJS.IdentityCardLocale): boolean;

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

I'm not using any surveyjs features yet. Just installed the library

Specify your

  • browser: chrome
  • browser version:
  • surveyjs platform (angular or react or jquery or knockout or vue): angular
  • surveyjs version: survey-core@1.9.77
survey-library Enhancement Hover Changes
survey-library Enhancement Panel Dynamic: if renderMode is a tab, show some display text for tabs

image

survey-library Bug [Vue] Dynamic Matrix: Choices do not appear in drop-down cells

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

Reporting a bug with Survey JS for Vue (It appears that this bug does not show up with vanilla js)

survey-vue-ui 1.9.80 survey-core: 1.9.80

What is the current behavior?

Dropdown choices panel appear empty

What is the expected behavior?

Dropdown choices should show the provided options

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

Create a matrix dynamicdropdown with on each row:

  • field1
  • field2 ( dropdown) visibility depends on field1)
  • field3 ( radiogroup )(visibility depends on field1)
  • field4 (any) (visibility depends on field3)

Steps to Reproduce

  • Answer field1
  • Answer field3 (Before field2)
  • open field2 The options for field2 are not displaying

Note that if we answer field2 after field1 everything works normally

See example:

Enregistrement-de-l’écran-2023-04-05-à-15 08 11 (1)

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

The bug is reproducible in the following codesanbox Tested page URL: https://codesandbox.io/embed/surveyjs-vue-forked-dpj2wo?fontsize=14&hidenavigation=1&theme=dark

Specify your

  • browser: chrome
  • browser version: 111.0.5563.146
  • surveyjs platform (angular or react or jquery or knockout or vue): vue
  • surveyjs version: 1.9.80
survey-library Enhancement Rating: icon property for rateValues
survey-library Enhancement Make the inputType: datetime type obsolete

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

With datetime input type, no date time picker appears; and it seems this input type becomes obsolete (https://stackoverflow.com/questions/21263515/why-is-html5-input-type-datetime-removed-from-browsers-already-supporting-it/21291028).

survey-library Bug Rating: stars - fix mouse interactions on Safari
survey-library Bug Dynamic Panel: Initial `panelCount` value is ignored

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

Bug report

What is the current behavior?

Initial panel count (panelCount property) is ignored for PanelDynamic questions and displays to 0 instead of a provided value when initializing survey creator:
image

What is the expected behavior?

Initial panel count control should pick up and display panelCount property for PanelDynamic questions correctly

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

  1. Click on question1 in the CodeSandbox example
  2. Scroll to the Initial panel count setting in the General section
  3. It shows 0 instead of 2, provided in the panelCount field

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

Tested page URL: https://codesandbox.io/s/reproduce-survey-creator-panel-count-reset-on-init-7bcivi?file=/src/App.tsx

Test code

import { SurveyCreatorComponent, SurveyCreator } from "survey-creator-react";
import "survey-core/defaultV2.min.css";
import "survey-creator-core/survey-creator-core.min.css";

const creator = new SurveyCreator();
creator.JSON = {
  logoPosition: "right",
  pages: [
    {
      name: "page1",
      elements: [
        {
          type: "paneldynamic",
          name: "question1",
          templateElements: [
            {
              type: "text",
              name: "question4"
            }
          ],
          panelCount: 2,
          minPanelCount: 1,
          maxPanelCount: 3
        }
      ]
    }
  ]
};

export default function App() {
  return <SurveyCreatorComponent creator={creator} />;
}

Specify your

  • browser: Google Chrome v112.0.5615.50 (Official Build) (64-bit)
  • editor version: survey-creator-react v1.9.79
survey-library Bug Rating: stars - do not hover in design mode
survey-library Bug If hideIfChoicesEmpty property is true then it restore visibility for a question that set visible property to false in code or JSON

T12715 - Layout Properties automatically gets shown when we enable hideIfChoicesEmpty by default https://surveyjs.answerdesk.io/internal/ticket/details/T12715 The issue was found in SurveyJS Creator Property Grid. If a question is invisible (visible property is set to "false") and hideIfChoicesEmpty property is set to "true", then on settign question choices (if they were empty before) the question become visible, which is incorrect.

Here is the example:

question.choices = [];
question.hideIfChoicesEmpty = true;
question.visible = false;
question.choices = [1, 2, 3];
//question becomes visible, visible is true. It is incorrect.
survey-library Enhancement Rating: new items in manual mode with rate count

Image

survey-library Bug Multilingual Forms - The Choices Editor performs slower when the number of choices exceeds one hundred (100)

The following demo shows a survey with a French localization. The Dropdown question contains 120 country items. https://codesandbox.io/s/charming-star-5ht7q1?file=/src/survey_json.js

https://user-images.githubusercontent.com/22372972/231176463-91ec0eb6-a5e6-4bfa-9688-7eb216abf389.mp4

Original issue: T12644 - Difficulty Editing Dropdown Choices in Multilingual Forms - Memory Issue https://surveyjs.answerdesk.io/internal/ticket/details/T12644

survey-library Enhancement Rating: after edit two or more times item has fixed size
survey-library Bug Carry forward doesn't work for image picker questions

The wrong choice items types is created for image picker question when carry forward functionality is used. Instead of "imageitemvalue" type a standard "itemvalue" type is used. It leads to null reference error.

survey-library Bug Custom Percentage Progress Component - The 'Can't create component with name: sv-progress-percent and default: undefined' error is thrown on an attempt to run a survey with a custom component

Original issue: T12658 - progressbar-percentage Bug (Angular) https://surveyjs.answerdesk.io/internal/ticket/details/T12658

image

Run the following sample to reproduce the issue. progress-percentage-component-issue.zip

survey-library Enhancement Rating: limits for rateValues count in Library
survey-library Bug A question that should be both made visible and enabled by the trigger, appears with `sd-element__title--disabled` css class the second time

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

Reporting a bug

What is the current behavior?

A question that should be both made visible and enabled by the trigger, appears and is editable, but has sd-element__title--disabled css class

What is the expected behavior?

A question that should be both made visible and enabled by the trigger, should appear and be editable, without sd-element__title--disabled css class

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

  1. Open Preview tab
  2. Click Yes in question1. question2 appears normally.
  3. Click No in question1. question2 disappears.
  4. Click Yes in question1. question2 appears, but with sd-element__title--disabled css class. image

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

Tested page URL: https://codesandbox.io/s/reproduce-survey-creator-trigger-toggle-nx1r6r?file=/src/App.tsx Test code

import { SurveyCreatorComponent, SurveyCreator } from "survey-creator-react";
import "survey-core/defaultV2.min.css";
import "survey-creator-core/survey-creator-core.min.css";
const creator = new SurveyCreator();
creator.JSON = {
  logoPosition: "right",
  pages: [
    {
      name: "page1",
      elements: [
        {
          type: "boolean",
          name: "question1",
          description: "Toggle me on and off"
        },
        {
          type: "text",
          name: "question2",
          visibleIf: "{question1} = true",
          enableIf: "{question1} = true"
        }
      ]
    }
  ]
};
export default function App() {
  return <SurveyCreatorComponent creator={creator} />;
}

Specify your

  • browser: Google Chrome v111.0.5563.147 (Official Build) (64-bit)
  • editor version: survey-creator-react v1.9.79
survey-creator Bug Type errors from survey-creator-react

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

I am reporting a bug

What is the current behavior?

When I try to compile a react app with typescript and survey-creator-react installed, I get the following error:

node_modules/survey-creator-core/survey-creator-core.d.ts:7681:16 - error TS2451: Cannot redeclare block-scoped variable 'Version'.

7681     export let Version: string;
                    ~~~~~~~

  node_modules/survey-creator-react/survey-creator-react.d.ts:743:16
    743     export let Version: string;
                       ~~~~~~~
    'Version' was also declared here.

node_modules/survey-creator-core/survey-creator-core.d.ts:7683:14 - error TS2300: Duplicate identifier 'editorLocalization'.

7683     export { editorLocalization, defaultStrings } from "editorLocalization";
                  ~~~~~~~~~~~~~~~~~~

  node_modules/survey-creator-react/survey-creator-react.d.ts:787:14
    787     export { editorLocalization, localization } from "survey-creator-core";
                     ~~~~~~~~~~~~~~~~~~
    'editorLocalization' was also declared here.

node_modules/survey-creator-core/survey-creator-core.d.ts:7684:36 - error TS2300: Duplicate identifier 'localization'.

7684     export { editorLocalization as localization } from "editorLocalization";
                                        ~~~~~~~~~~~~

  node_modules/survey-creator-react/survey-creator-react.d.ts:787:34
    787     export { editorLocalization, localization } from "survey-creator-core";
                                         ~~~~~~~~~~~~
    'localization' was also declared here.

node_modules/survey-creator-react/survey-creator-react.d.ts:743:16 - error TS2451: Cannot redeclare block-scoped variable 'Version'.

743     export let Version: string;
                   ~~~~~~~

  node_modules/survey-creator-core/survey-creator-core.d.ts:7681:16
    7681     export let Version: string;
                        ~~~~~~~
    'Version' was also declared here.

node_modules/survey-creator-react/survey-creator-react.d.ts:784:19 - error TS2498: Module '"events"' uses 'export =' and cannot be used with 'export *'.

784     export * from "events";
                      ~~~~~~~~

node_modules/survey-creator-react/survey-creator-react.d.ts:787:14 - error TS2300: Duplicate identifier 'editorLocalization'.

787     export { editorLocalization, localization } from "survey-creator-core";
                 ~~~~~~~~~~~~~~~~~~

  node_modules/survey-creator-core/survey-creator-core.d.ts:7683:14
    7683     export { editorLocalization, defaultStrings } from "editorLocalization";
                      ~~~~~~~~~~~~~~~~~~
    'editorLocalization' was also declared here.

node_modules/survey-creator-react/survey-creator-react.d.ts:787:34 - error TS2300: Duplicate identifier 'localization'.

787     export { editorLocalization, localization } from "survey-creator-core";
                                     ~~~~~~~~~~~~

  node_modules/survey-creator-core/survey-creator-core.d.ts:7684:36
    7684     export { editorLocalization as localization } from "editorLocalization";
                                            ~~~~~~~~~~~~

792     export { ISurveyCreatorOptions, IPropertyGridEditor } from "survey-creator-core";
                                        ~~~~~~~~~~~~~~~~~~~

node_modules/survey-creator-react/survey-creator-react.d.ts:793:14 - error TS2303: Circular definition of import alias 'ToolboxToolViewModel'.

793     export { ToolboxToolViewModel, PropertyGridEditorCollection } from "survey-creator-core";
                 ~~~~~~~~~~~~~~~~~~~~

node_modules/survey-creator-react/survey-creator-react.d.ts:793:36 - error TS2303: Circular definition of import alias 'PropertyGridEditorCollection'.

793     export { ToolboxToolViewModel, PropertyGridEditorCollection } from "survey-creator-core";
                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

node_modules/survey-creator-react/survey-creator-react.d.ts:794:14 - error TS2303: Circular definition of import alias 'StylesManager'.

794     export { StylesManager } from "survey-creator-core";
                 ~~~~~~~~~~~~~


Found 17 errors in 2 files.

Errors  Files
     3  node_modules/survey-creator-core/survey-creator-core.d.ts:7681
    14  node_modules/survey-creator-react/survey-creator-react.d.ts:743

What is the expected behavior?

These errors should not appear.

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

Create a new react project with npx create-react-app my-app --template typescript

Install survey-creator-react with npm i survey-creator-react

Open app.tsx in the /src/ folder and import SurveyCreator by adding the line

import { SurveyCreator } from 'survey-creator-react';

Open tsconfig.json and remove the "skipLibCheck": true line

Run tsc in a terminal to compile the app.

Type errors from survey-creator-react and survey-creator-core will appear.

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

Specify your

  • browser: Latest version of Edge (But that is not used)
  • editor version: VS Code 1.76.1
  • SurveyJS Creator version: 1.9.77
  • node version: 14.20.1
survey-creator Enhancement Editor: File upload
survey-creator Enhancement Users cannot view a correct answer when Survey Creator is in read-only mode

T12631 - Need ability to view correct answer when Survey Creator is in read-only mode https://surveyjs.answerdesk.io/internal/ticket/details/T12631

Example Issue: in read-only mode, it is impossible to view a question's correct answer.

Suggestion: allow users to view correct answers in read-only mode of a survey creator. For instance, activate a link which brings up a correct answer popup, but without an option to edit the answer.