Cart Licenses Contact Support Online Creator Login/Register
Try
Buy
v 1.9.37

Version: v1.9.38, estimated release date is Tuesday, June 28, 2022, Total Issue Count: 5

Product Type Description
survey-library Bug column isUnique property doesn't respect settings.comparator.caseSensitive option

Two values in in unique column are not equal: "abc" and "ABC" however settings.comparator.caseSensitive is false (default value). It should allow to enter "abc" and "ABC" values if column is empty.

survey-library Bug Column with default cellType can be serilized incorrectly

Create a matrix dynamic, then set it's cellType (default cell type of all columns) to "rating", after that set the "cellType" property to "rating" and "rateMax" to 10. Then change the "cellType" to "default". We will have "rateMax" equals to 10 in the serialized JSON, while we should not have it, since the cellType property is "default" and not "rating".

survey-creator Bug Changing question name for matrices doesn't update logic items correctly

Changing question name doesn't work for complex questions, for example for matrix dropdown. Here the exampel of visibleIf property: "{question1.Row 1.column 2} = "item1". On changing question1 the visibleIf property remains the same.

survey-creator Bug React SurveyLocStringEditor cached it's model

SurveyLocStringEditor should re-create model on componentDidUpdate

survey-creator Bug V2: enableIf in Rows for matrix dropdown question are in others category

enableIf should be display the same as the visibleIf

Version: v1.9.38, estimated release date is Tuesday, June 28, 2022, Total Issue Count: 5

Two values in in unique column are not equal: "abc" and "ABC" however settings.comparator.caseSensitive is false (default value). It should allow to enter "abc" and "ABC" values if column is empty.

Product
survey-library
Type
Bug
Description
Column with default cellType can be serilized incorrectly

Create a matrix dynamic, then set it's cellType (default cell type of all columns) to "rating", after that set the "cellType" property to "rating" and "rateMax" to 10. Then change the "cellType" to "default". We will have "rateMax" equals to 10 in the serialized JSON, while we should not have it, since the cellType property is "default" and not "rating".

Changing question name doesn't work for complex questions, for example for matrix dropdown. Here the exampel of visibleIf property: "{question1.Row 1.column 2} = "item1". On changing question1 the visibleIf property remains the same.

Product
survey-creator
Type
Bug
Description
React SurveyLocStringEditor cached it's model

SurveyLocStringEditor should re-create model on componentDidUpdate

enableIf should be display the same as the visibleIf

Version: v1.9.37, released at Wednesday, June 22, 2022, Total Issue Count: 6

Product Type Description
survey-library Bug Ignore Choices property for matrix column when column type is Default
 "columns": [
      {
       "name": "Score",
       "minWidth": "500px",
       "choices": [
        1,
        2,
        3,
        4,
        5,
        "I haven't used it before"
       ],
       "storeOthersAsComment": true
      }
     ],
     "choices": [
      "I haven't used it",
      "Very satisfied",
      "Satisfied",
      "Neutral",
      "Dissatisfied",
      "Very dissatisfied"
     ],
survey-library Enhancement Fix disabled selected color for rating

image

survey-library Bug If "first page is a start page" and there is only one page survey is empty

Survey becomes empty if there is only one page and this page is started. We should not apply "first page is a start page" functionality if there is only one page.

survey-creator Enhancement Remove empty page after deleting all questions

(if no title and description of page entered) image

survey-creator Enhancement Select string editor text when it is focused by Tab key

image

survey-creator Bug V2 for knockout: Could not change "and" on "or" in logic tab or in condition editor

Popup list box with "and" and "or" is not show in Creator for knockout. You can check it on our website.

Version: v1.9.37, released at Wednesday, June 22, 2022, Total Issue Count: 6

Product
survey-library
Type
Bug
Description
Ignore Choices property for matrix column when column type is Default
 "columns": [
      {
       "name": "Score",
       "minWidth": "500px",
       "choices": [
        1,
        2,
        3,
        4,
        5,
        "I haven't used it before"
       ],
       "storeOthersAsComment": true
      }
     ],
     "choices": [
      "I haven't used it",
      "Very satisfied",
      "Satisfied",
      "Neutral",
      "Dissatisfied",
      "Very dissatisfied"
     ],
Product
survey-library
Type
Enhancement
Description
Fix disabled selected color for rating

image

Survey becomes empty if there is only one page and this page is started. We should not apply "first page is a start page" functionality if there is only one page.

Product
survey-creator
Type
Enhancement
Description
Remove empty page after deleting all questions

(if no title and description of page entered) image

Product
survey-creator
Type
Enhancement
Description
Select string editor text when it is focused by Tab key

image

Popup list box with "and" and "or" is not show in Creator for knockout. You can check it on our website.

Version: v1.9.36, released at Tuesday, June 21, 2022, Total Issue Count: 11

Product Type Description
survey-library Bug dropdown: others text is not reactive in React and Vue
survey-library Bug Replace substr vs substring function in the code

substr is deprecated and we should to replace it vs substring.

survey-library Bug Changing binding in panel / matrix dynamic doesn't fire survey.onPropertyValueChangedCallback

On changing bindings in Creator V2 property grid survey onPropertyValueChangedCallback is not fired as result Creator is not go into modified mode and the change can be lost.

survey-library Bug Implement errorLocationBottom in defaultV2 theme
survey-library Bug Triggers: enable question and skip to the question do not work at once.

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

What is the current behavior? Triggers. There's a radiobutton question (question1) with 3 items and question13 (default text input. It is disabled initially). There is a condition:

== 'item2') or ( == 'item3' => Make question enable Survey skip to the question

When I clicked 'item2' for the first time, It did not skip me to question13, but it becomes enabled, but when I click 'item3', it skips me to question13, because it is already enabled.

The main issue is that currently this setup of triggers (enable + skip) does not work.

What is the expected behavior? After clicking 'item2' or 'item3', it should enable question13 and skip me to question13 at once.

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

  1. Create radiobutton question (question1) and disabled text input (question2).
  2. Create a condition: == 'item2') or ( == 'item3' => Make question enable Survey skip to the question
  3. Go to survey.
  4. Click item2.
  5. It should only enable question2.

Provide the test code and the tested page URL (if applicable) Tested page URL: https://plnkr.co/edit/NX7E6BxCVkVs9gAV

Test code

var json = { "title": "SimultaneousEnableAndSkip", "pages": [ { "name": "page1", "elements": [ { "type": "radiogroup", "name": "question1", "id": 2759, "choices": [ { "value": "item1", "id": 38117 }, { "value": "item2", "id": 38118 }, { "value": "item3", "id": 38119 } ] }, { "type": "text", "name": "question2", "id": 2760 }, { "type": "text", "name": "question3", "id": 2761 }, { "type": "text", "name": "question4", "id": 2762 }, { "type": "text", "name": "question5", "id": 2763 }, { "type": "text", "name": "question6", "id": 2764 }, { "type": "text", "name": "question7", "id": 2765 }, { "type": "text", "name": "question8", "id": 2766 }, { "type": "text", "name": "question9", "id": 2767 }, { "type": "text", "name": "question10", "id": 2768 }, { "type": "text", "name": "question11", "id": 2769 }, { "type": "text", "name": "question12", "id": 2770 }, { "type": "text", "name": "question13", "enableIf": " = 'item2' or = 'item3'", "readOnly": true, "id": 2771 } ], "navigationButtonsVisibility": "show", "id": 358 } ], "triggers": [ { "type": "skip", "expression": " = 'item1'", "gotoName": "question2" }, { "type": "skip", "expression": " = 'item2' or = 'item3'", "gotoName": "question13" } ], "name": "SimultaneousEnableAndSkip", "id": 164 };

Specify your browser: Chrome 102 browser version: 102 surveyjs platform (angular or react or jquery or knockout or vue): React surveyjs version: v1.9.26 AND v1.9.35

survey-library Bug Incorrect error text for min property if it is equal to 0

If text question has min property equals to 0 then the error can be show as: "The value should not be less than {0}" instead of "The value should not be less than 0"

survey-creator Bug direction RTL not supported

Is it possible to support the direction of the page from right to left?

Example:

Screenshot (191)

Screenshot (190)

survey-creator Bug Replace deprecated substr vs substring function in the code

We have to stop using substr function

survey-creator Bug Depended property doesn't work in calculated value object

The following code will not work, because we do update depended properties editors in detail panel in our matrices. We use matrices to edit collection properties, like calcualted values.

Survey.Serializer.addProperty("calculatedvalue", "targetEntity");
Survey.Serializer.addProperty("calculatedvalue", {
    name: "targetField",
    dependsOn: "targetEntity",
    choices: function (obj) {
      return getChoicesByEntity(obj);
    }
  });
  function getChoicesByEntity(obj: any): Array<any> {
    const entity = !!obj ? obj["targetEntity"] : null;
    const choices = [];
    if (!entity) return choices;
    choices.push({ value: "entity" });
    choices.push({ value: entity + " 1", text: entity + " 1" });
    choices.push({ value: entity + " 2", text: entity + " 2" });
    return choices;
  }
survey-creator Enhancement Add a property into settings to define the export translation file name

Add a new property into translation section of the settings variable: exportFileName: "survey_translation.csv"

survey-creator Enhancement Add creator.onTranslationImportItem event

We need an event to control importing localization strings into translation tab / survey model

  /**
   * Use this event to modify the imported localizable text. To block importing a particular localization text, set the options.text into undefined.
   *
   * The event handler accepts the following arguments:
   *
   * - `sender` - A Survey Creator instance that raised the event.
   * - `options.locale` - the locale name, like 'en', 'de' and so on.
   * - `options.name` - The full name of the localizable string, it can be: "survey.page1.question2.title"
   * - `options.text` - The imported text for the locale for this item. Set it to undefined or empty string to block importing for this item
   */
   public onTranslationImportItem: Survey.Event<(sender: CreatorBase, options: any) => any, any>;

Here is the example to allow edit only default, en, de and fr translation:

  creator.onTranslationImportItem.add((sender, options) => {
    if(["default", "", "en", "de", "fr"].indexOf(options.locale) < 0) options.text = undefined;
  });

Version: v1.9.36, released at Tuesday, June 21, 2022, Total Issue Count: 11

Product
survey-library
Type
Bug
Description
dropdown: others text is not reactive in React and Vue
Product
survey-library
Type
Bug
Description
Replace substr vs substring function in the code

substr is deprecated and we should to replace it vs substring.

On changing bindings in Creator V2 property grid survey onPropertyValueChangedCallback is not fired as result Creator is not go into modified mode and the change can be lost.

Product
survey-library
Type
Bug
Description
Implement errorLocationBottom in defaultV2 theme

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

What is the current behavior? Triggers. There's a radiobutton question (question1) with 3 items and question13 (default text input. It is disabled initially). There is a condition:

== 'item2') or ( == 'item3' => Make question enable Survey skip to the question

When I clicked 'item2' for the first time, It did not skip me to question13, but it becomes enabled, but when I click 'item3', it skips me to question13, because it is already enabled.

The main issue is that currently this setup of triggers (enable + skip) does not work.

What is the expected behavior? After clicking 'item2' or 'item3', it should enable question13 and skip me to question13 at once.

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

  1. Create radiobutton question (question1) and disabled text input (question2).
  2. Create a condition: == 'item2') or ( == 'item3' => Make question enable Survey skip to the question
  3. Go to survey.
  4. Click item2.
  5. It should only enable question2.

Provide the test code and the tested page URL (if applicable) Tested page URL: https://plnkr.co/edit/NX7E6BxCVkVs9gAV

Test code

var json = { "title": "SimultaneousEnableAndSkip", "pages": [ { "name": "page1", "elements": [ { "type": "radiogroup", "name": "question1", "id": 2759, "choices": [ { "value": "item1", "id": 38117 }, { "value": "item2", "id": 38118 }, { "value": "item3", "id": 38119 } ] }, { "type": "text", "name": "question2", "id": 2760 }, { "type": "text", "name": "question3", "id": 2761 }, { "type": "text", "name": "question4", "id": 2762 }, { "type": "text", "name": "question5", "id": 2763 }, { "type": "text", "name": "question6", "id": 2764 }, { "type": "text", "name": "question7", "id": 2765 }, { "type": "text", "name": "question8", "id": 2766 }, { "type": "text", "name": "question9", "id": 2767 }, { "type": "text", "name": "question10", "id": 2768 }, { "type": "text", "name": "question11", "id": 2769 }, { "type": "text", "name": "question12", "id": 2770 }, { "type": "text", "name": "question13", "enableIf": " = 'item2' or = 'item3'", "readOnly": true, "id": 2771 } ], "navigationButtonsVisibility": "show", "id": 358 } ], "triggers": [ { "type": "skip", "expression": " = 'item1'", "gotoName": "question2" }, { "type": "skip", "expression": " = 'item2' or = 'item3'", "gotoName": "question13" } ], "name": "SimultaneousEnableAndSkip", "id": 164 };

Specify your browser: Chrome 102 browser version: 102 surveyjs platform (angular or react or jquery or knockout or vue): React surveyjs version: v1.9.26 AND v1.9.35

Product
survey-library
Type
Bug
Description
Incorrect error text for min property if it is equal to 0

If text question has min property equals to 0 then the error can be show as: "The value should not be less than {0}" instead of "The value should not be less than 0"

Product
survey-creator
Type
Bug
Description
direction RTL not supported

Is it possible to support the direction of the page from right to left?

Example:

Screenshot (191)

Screenshot (190)

Product
survey-creator
Type
Bug
Description
Replace deprecated substr vs substring function in the code

We have to stop using substr function

Product
survey-creator
Type
Bug
Description
Depended property doesn't work in calculated value object

The following code will not work, because we do update depended properties editors in detail panel in our matrices. We use matrices to edit collection properties, like calcualted values.

Survey.Serializer.addProperty("calculatedvalue", "targetEntity");
Survey.Serializer.addProperty("calculatedvalue", {
    name: "targetField",
    dependsOn: "targetEntity",
    choices: function (obj) {
      return getChoicesByEntity(obj);
    }
  });
  function getChoicesByEntity(obj: any): Array<any> {
    const entity = !!obj ? obj["targetEntity"] : null;
    const choices = [];
    if (!entity) return choices;
    choices.push({ value: "entity" });
    choices.push({ value: entity + " 1", text: entity + " 1" });
    choices.push({ value: entity + " 2", text: entity + " 2" });
    return choices;
  }
Product
survey-creator
Type
Enhancement
Description
Add a property into settings to define the export translation file name

Add a new property into translation section of the settings variable: exportFileName: "survey_translation.csv"

Product
survey-creator
Type
Enhancement
Description
Add creator.onTranslationImportItem event

We need an event to control importing localization strings into translation tab / survey model

  /**
   * Use this event to modify the imported localizable text. To block importing a particular localization text, set the options.text into undefined.
   *
   * The event handler accepts the following arguments:
   *
   * - `sender` - A Survey Creator instance that raised the event.
   * - `options.locale` - the locale name, like 'en', 'de' and so on.
   * - `options.name` - The full name of the localizable string, it can be: "survey.page1.question2.title"
   * - `options.text` - The imported text for the locale for this item. Set it to undefined or empty string to block importing for this item
   */
   public onTranslationImportItem: Survey.Event<(sender: CreatorBase, options: any) => any, any>;

Here is the example to allow edit only default, en, de and fr translation:

  creator.onTranslationImportItem.add((sender, options) => {
    if(["default", "", "en", "de", "fr"].indexOf(options.locale) < 0) options.text = undefined;
  });

Version: v1.9.35, released at Tuesday, June 14, 2022, Total Issue Count: 9

Product Type Description
survey-library Bug Check survey paddings

image

white padding on body in mobile mode: - FIXED image

survey-library Enhancement radiogroup, checkbox example: others text setting is not reactive in Vue
survey-library Enhancement Allow to add array custom properties

We have to add isArray attribute into property description to let Survey know that this property is an array and should deal with it as with array property. Here is the example:

Survey.Serializer.addProperty('survey', {
  name: 'customFunctions:calculatedvalues',
  className: 'calculatedvalue', isArray: true,
  displayName: "Custom Functions", category: "logic", visibleIndex: 0,
});
survey-library Bug Summary doesn't work corretly in matrices if there is visibleIf condition in column and survey.clearInvisibleValues is used

The following survey doesn't work:

{
    elements: [
      {
        type: "matrixdropdown",
        name: "matrix",
        columns: [
          {
            name: "col1",
            cellType: "text",
            totalType: "sum",
            inputType: "number",
          },
          {
            name: "col2",
            cellType: "text",
            totalType: "sum",
            inputType: "number",
          },
          {
            name: "col_sum",
            cellType: "expression",
            totalType: "sum",
            expression: "{row.col1}+{row.col2}",
          },
          {
            name: "col3",
            cellType: "boolean",
            visibleIf: "false",
          },
        ],
        rows: ["row1", "row2"],
      },
    ],
    clearInvisibleValues: "onHiddenContainer"
  }

It works if remove "visibleIf" for a column or "clearInvisibleValues" property

survey-library Enhancement Optionally store checkbox value as array of objects with a property name

It would be nice to share data between checkbox and panel dynamic / matrix dynamic. Currently, it is not possible because checkbox value is array of choice item value and panel/matrix dynamic is an array of objects: We can add "valuePropertyName" property, so by setting it to "fruit" the checkbox value can be stored intead of: ["banana", "apple"] as: [{ fruit: "banana" }, { fruit: "apple" }]. Additionally, we should allow to combine checkbox values with values entered in panel/matrix dynamic questions. Example of JSON:

{
    elements: [
      {
        type: "checkbox",
        name: "q1",
        valueName: "fruits",
        valuePropertyName: "fruit",
        choices: ["apple", "banana", "orange"],
      },
      {
        type: "paneldynamic",
        name: "q2",
        panelCount: 0,
        valueName: "fruits",
        templateElements: [
          {
            type: "comment",
            name: "description"
          }
        ]
      }
    ]
  }

survey-library Bug Text pre-processing doesn't work for complex values set in survey.data

The following code doesn't work:

  const survey = new SurveyModel({
    elements: [
      {
        type: "text",
        name: "q1",
        title: "{complex.value1}",
      }
    ]
  });
  survey.data = { complex: { value1: "complexText" } };

Text pre-processing doesn't recognize "complex.value1"

survey-creator Bug V2: creator.onItemValueAdded is not fired on adding new item in designer surface

creator.onItemValueAdded event is fired on adding a new choice in the Property Grid, but is not fired on adding a new choice in question on the designer surface.

survey-creator Bug Deleted object can be displayed in the property grid

If a question immediately deleted after adding the a deleted object can be showin in the property grid:

  creator.onQuestionAdded.add((sender, options) => {
    if (creator.survey.getAllQuestions().length > 1) {
      options.question.delete();
    }
  });
survey-creator Enhancement Allow to render custom title on Property Grid panel

We can override display names for Property Grid Object select by using creator.onGetObjectDisplayName, with "options.reason" equals to "property-grid". However, it is impossible to have a custom selected property title, for example: "Survey Properties" or "Question1 Properties". It should be added an additional reason "property-grid-title".

    creator.onGetObjectDisplayName.add(function (sender, options) {
      if(options.reason === "property-grid-title") {
        options.displayName = options.displayName + " Properties";
      }
    });

Version: v1.9.35, released at Tuesday, June 14, 2022, Total Issue Count: 9

Product
survey-library
Type
Bug
Description
Check survey paddings

image

white padding on body in mobile mode: - FIXED image

Product
survey-library
Type
Enhancement
Description
radiogroup, checkbox example: others text setting is not reactive in Vue
Product
survey-library
Type
Enhancement
Description
Allow to add array custom properties

We have to add isArray attribute into property description to let Survey know that this property is an array and should deal with it as with array property. Here is the example:

Survey.Serializer.addProperty('survey', {
  name: 'customFunctions:calculatedvalues',
  className: 'calculatedvalue', isArray: true,
  displayName: "Custom Functions", category: "logic", visibleIndex: 0,
});

The following survey doesn't work:

{
    elements: [
      {
        type: "matrixdropdown",
        name: "matrix",
        columns: [
          {
            name: "col1",
            cellType: "text",
            totalType: "sum",
            inputType: "number",
          },
          {
            name: "col2",
            cellType: "text",
            totalType: "sum",
            inputType: "number",
          },
          {
            name: "col_sum",
            cellType: "expression",
            totalType: "sum",
            expression: "{row.col1}+{row.col2}",
          },
          {
            name: "col3",
            cellType: "boolean",
            visibleIf: "false",
          },
        ],
        rows: ["row1", "row2"],
      },
    ],
    clearInvisibleValues: "onHiddenContainer"
  }

It works if remove "visibleIf" for a column or "clearInvisibleValues" property

Product
survey-library
Type
Enhancement
Description
Optionally store checkbox value as array of objects with a property name

It would be nice to share data between checkbox and panel dynamic / matrix dynamic. Currently, it is not possible because checkbox value is array of choice item value and panel/matrix dynamic is an array of objects: We can add "valuePropertyName" property, so by setting it to "fruit" the checkbox value can be stored intead of: ["banana", "apple"] as: [{ fruit: "banana" }, { fruit: "apple" }]. Additionally, we should allow to combine checkbox values with values entered in panel/matrix dynamic questions. Example of JSON:

{
    elements: [
      {
        type: "checkbox",
        name: "q1",
        valueName: "fruits",
        valuePropertyName: "fruit",
        choices: ["apple", "banana", "orange"],
      },
      {
        type: "paneldynamic",
        name: "q2",
        panelCount: 0,
        valueName: "fruits",
        templateElements: [
          {
            type: "comment",
            name: "description"
          }
        ]
      }
    ]
  }

The following code doesn't work:

  const survey = new SurveyModel({
    elements: [
      {
        type: "text",
        name: "q1",
        title: "{complex.value1}",
      }
    ]
  });
  survey.data = { complex: { value1: "complexText" } };

Text pre-processing doesn't recognize "complex.value1"

creator.onItemValueAdded event is fired on adding a new choice in the Property Grid, but is not fired on adding a new choice in question on the designer surface.

Product
survey-creator
Type
Bug
Description
Deleted object can be displayed in the property grid

If a question immediately deleted after adding the a deleted object can be showin in the property grid:

  creator.onQuestionAdded.add((sender, options) => {
    if (creator.survey.getAllQuestions().length > 1) {
      options.question.delete();
    }
  });
Product
survey-creator
Type
Enhancement
Description
Allow to render custom title on Property Grid panel

We can override display names for Property Grid Object select by using creator.onGetObjectDisplayName, with "options.reason" equals to "property-grid". However, it is impossible to have a custom selected property title, for example: "Survey Properties" or "Question1 Properties". It should be added an additional reason "property-grid-title".

    creator.onGetObjectDisplayName.add(function (sender, options) {
      if(options.reason === "property-grid-title") {
        options.displayName = options.displayName + " Properties";
      }
    });

Version: v1.9.34, released at Tuesday, June 7, 2022, Total Issue Count: 4

Product Type Description
survey-library Bug Dropdown render as select: popup has narrow width

image

survey-library Bug Could not clear localization string for default locale for a particular scenario

If JSON was created with "en" default locale and survey locale equals to "de" we can the following JSON: const survey = new Survey.SurveyModel({ title: { de: "Hallo" } }); After that if the default locale sets to "de": Survey.surveyLocalization.defaultLocale = "de"; then the following code works incorrectly:

Survey.surveyLocalization.defaultLocale = "de";
const survey = new Survey.SurveyModel({ title: { de: "Hallo" } });
let val = survey.title; //val is Hallo
survey.title = "";
val = survey.title; //val is stil Hallo.

We would expect val to be equal empty string.

survey-creator Bug V2: settings.propertyGrid.maximumChoicesCount doesn't work correctly in the property grid

The following code: choices property editor doesn't work correctly if this settng is used: SurveyCreator.settings.propertyGrid.maximumChoicesCount = 5;

survey-creator Bug V2: settings.propertyGrid.maximumChoicesCount doesn't work in question adorners

A user can add as many choices as she wants in designer since designer ignores SurveyCreator.settings.propertyGrid.maximumChoicesCount property.

Version: v1.9.34, released at Tuesday, June 7, 2022, Total Issue Count: 4

Product
survey-library
Type
Bug
Description
Dropdown render as select: popup has narrow width

image

If JSON was created with "en" default locale and survey locale equals to "de" we can the following JSON: const survey = new Survey.SurveyModel({ title: { de: "Hallo" } }); After that if the default locale sets to "de": Survey.surveyLocalization.defaultLocale = "de"; then the following code works incorrectly:

Survey.surveyLocalization.defaultLocale = "de";
const survey = new Survey.SurveyModel({ title: { de: "Hallo" } });
let val = survey.title; //val is Hallo
survey.title = "";
val = survey.title; //val is stil Hallo.

We would expect val to be equal empty string.

The following code: choices property editor doesn't work correctly if this settng is used: SurveyCreator.settings.propertyGrid.maximumChoicesCount = 5;

A user can add as many choices as she wants in designer since designer ignores SurveyCreator.settings.propertyGrid.maximumChoicesCount property.

Version: v1.9.33, released at Tuesday, May 31, 2022, Total Issue Count: 20

Product Type Description
survey-library Enhancement Allow to find out which trigger is executed

Add a new event into survey:

  /**
   * The event is fired after a trigger has been executed
   * <br/> `sender` - the survey object that fires the event.
   * <br/> `options.trigger` - An instance of a trigger that has been just perform it's action.
   * @see onComplete
   */
   public onTriggerExecuted: EventBase<SurveyModel> = this.addEvent<SurveyModel>();
survey-library Bug React: Matrix dropdown/dynamic can generate errors in react because of using state incorrectly

Matrix dropdown/dynamic matrices questions can generate an error in react. The reason, the table view model can be built on react rendering and it's generates changings in state. It is incorrect. We should generate table view model on creating react component.

survey-library Bug React: Set targetElement on componentDidUpdate for Popup component

We have to set targetElement property on componentDidUpdate after shouldComponentUpdate, because componentDidMount is not called in this case.

survey-library Enhancement Drag Drop: Mobile: disable the long tap

based on the https://surveyjs.answerdesk.io/ticket/details/T9598

{
            "type": "ranking",
            "longTap": false,
}
survey-library Enhancement use local time by default in today() function

Add a new property into settings to control today() function behavior, by using locale or UTC time.

  /**
   * Set this value to false, if you want to have UTC fuctions, for example setUTCHours inside our functions, like today.
   * By default it uses setHours function, with local date
   */
  useLocalTimeZone: true

Use the following code to let "today(): function work with UTC time: Survey.settings.useLocalTimeZone = false;.

survey-creator Bug V2: creator options with showPropertyGrid: false generates error from v1.9.32

After re-factoring in v1.9.32 the following code is generated the error: const creator = new SurveyCreator.SurveyCreator({ showPropertyGrid: false });

survey-creator Bug V2: Adorners for React versions may keep old model

We do not update internal models in some React Components on changing props. It can lead to incorrect behavior.

survey-creator Bug V2: Preview tab doesn't work correctly if there is a start page

Preview tab hides start page and do not allow to show it. It should work with the start page as with any other pages in the Preview tab.

survey-creator Bug V2: creator options with showSidebar: true generates error from v1.9.32

After re-factoring in v1.9.32 the following code is generated the error: const creator = new SurveyCreator.SurveyCreator({ showSidebar: false });

survey-creator Bug V2: Results component in Preview tab generates error

Results rows in Preview Tab do not have unique key.

survey-creator Bug onTranslationStringVisibility doesn't work for itemvalues properties

"creator.onTranslationStringVisibility" event is not fired for choices and other properties that has "itemvalues" property type.

survey-analytics Enhancement Add paddings to chart labels
survey-analytics Enhancement Split matrix dropdown and matrix dynamic into separate column in table visualizer

For the multiple choice questions, the display should be same as single choice matrix questions with rows treated as a question and displayed in a separate column and the cell should contain the values from the columns separated by a comma.

See the https://surveyjs.answerdesk.io/ticket/details/t9146/surveyjs-tabulator thread for more details

survey-analytics Bug Custom Visualizers example: Table view no longer works
  1. Open the Custom Visualizers demo.
  2. Find the question titled "Please indicate if you agree or disagree with the following statements"
  3. Change its look from Charts to Table

image

Result: image

And the following error in the console: Uncaught ReferenceError: th is not defined

survey-analytics Bug Localized Analytics example: Issues with the dropdown and code
  • The Change Locale dropdown doesn't show the selected locale. To reproduce the issue, change the locale using the dropdown. Current behavior: The dropdown displays the phrase "Change Locale" in the selected language. Expected behavior: The selected language persists in the dropdown.
  • The example doesn't show the code that actually changes the locale.
  • The phrase "Change Locale" isn't translated to French.
survey-analytics Bug Toolbar buttons shouldn't be divided in two

"Hide empty answers" on the following image is a single button.

image

survey-analytics Bug "Show text question answers as chart" example: Bars are invisible
survey-analytics Bug Reverse the default sort order for bars

Now, the first answer in the choices array is displayed at the bottom of the chart. It is more natural to display the first answer at the top.

image

survey-analytics Bug Bar chart may leave out series points in some cases

In this example, the question "How many software developers are in your organization?" displays only 2 bars, but if you switch to one of the other chart types, you will see that there are more answers.

Bar: image

Pie: image

survey-analytics Bug Table representation for matrix question - null reference if answer doesn't exist in result

Version: v1.9.33, released at Tuesday, May 31, 2022, Total Issue Count: 20

Product
survey-library
Type
Enhancement
Description
Allow to find out which trigger is executed

Add a new event into survey:

  /**
   * The event is fired after a trigger has been executed
   * <br/> `sender` - the survey object that fires the event.
   * <br/> `options.trigger` - An instance of a trigger that has been just perform it's action.
   * @see onComplete
   */
   public onTriggerExecuted: EventBase<SurveyModel> = this.addEvent<SurveyModel>();

Matrix dropdown/dynamic matrices questions can generate an error in react. The reason, the table view model can be built on react rendering and it's generates changings in state. It is incorrect. We should generate table view model on creating react component.

Product
survey-library
Type
Bug
Description
React: Set targetElement on componentDidUpdate for Popup component

We have to set targetElement property on componentDidUpdate after shouldComponentUpdate, because componentDidMount is not called in this case.

Product
survey-library
Type
Enhancement
Description
Drag Drop: Mobile: disable the long tap

based on the https://surveyjs.answerdesk.io/ticket/details/T9598

{
            "type": "ranking",
            "longTap": false,
}
Product
survey-library
Type
Enhancement
Description
use local time by default in today() function

Add a new property into settings to control today() function behavior, by using locale or UTC time.

  /**
   * Set this value to false, if you want to have UTC fuctions, for example setUTCHours inside our functions, like today.
   * By default it uses setHours function, with local date
   */
  useLocalTimeZone: true

Use the following code to let "today(): function work with UTC time: Survey.settings.useLocalTimeZone = false;.

After re-factoring in v1.9.32 the following code is generated the error: const creator = new SurveyCreator.SurveyCreator({ showPropertyGrid: false });

Product
survey-creator
Type
Bug
Description
V2: Adorners for React versions may keep old model

We do not update internal models in some React Components on changing props. It can lead to incorrect behavior.

Product
survey-creator
Type
Bug
Description
V2: Preview tab doesn't work correctly if there is a start page

Preview tab hides start page and do not allow to show it. It should work with the start page as with any other pages in the Preview tab.

After re-factoring in v1.9.32 the following code is generated the error: const creator = new SurveyCreator.SurveyCreator({ showSidebar: false });

Product
survey-creator
Type
Bug
Description
V2: Results component in Preview tab generates error

Results rows in Preview Tab do not have unique key.

Product
survey-creator
Type
Bug
Description
onTranslationStringVisibility doesn't work for itemvalues properties

"creator.onTranslationStringVisibility" event is not fired for choices and other properties that has "itemvalues" property type.

Product
survey-analytics
Type
Enhancement
Description
Add paddings to chart labels
Product
survey-analytics
Type
Enhancement
Description
Split matrix dropdown and matrix dynamic into separate column in table visualizer

For the multiple choice questions, the display should be same as single choice matrix questions with rows treated as a question and displayed in a separate column and the cell should contain the values from the columns separated by a comma.

See the https://surveyjs.answerdesk.io/ticket/details/t9146/surveyjs-tabulator thread for more details

Product
survey-analytics
Type
Bug
Description
Custom Visualizers example: Table view no longer works
  1. Open the Custom Visualizers demo.
  2. Find the question titled "Please indicate if you agree or disagree with the following statements"
  3. Change its look from Charts to Table

image

Result: image

And the following error in the console: Uncaught ReferenceError: th is not defined

Product
survey-analytics
Type
Bug
Description
Localized Analytics example: Issues with the dropdown and code
  • The Change Locale dropdown doesn't show the selected locale. To reproduce the issue, change the locale using the dropdown. Current behavior: The dropdown displays the phrase "Change Locale" in the selected language. Expected behavior: The selected language persists in the dropdown.
  • The example doesn't show the code that actually changes the locale.
  • The phrase "Change Locale" isn't translated to French.
Product
survey-analytics
Type
Bug
Description
Toolbar buttons shouldn't be divided in two

"Hide empty answers" on the following image is a single button.

image

Product
survey-analytics
Type
Bug
Description
"Show text question answers as chart" example: Bars are invisible
Product
survey-analytics
Type
Bug
Description
Reverse the default sort order for bars

Now, the first answer in the choices array is displayed at the bottom of the chart. It is more natural to display the first answer at the top.

image

Product
survey-analytics
Type
Bug
Description
Bar chart may leave out series points in some cases

In this example, the question "How many software developers are in your organization?" displays only 2 bars, but if you switch to one of the other chart types, you will see that there are more answers.

Bar: image

Pie: image

Version: v1.9.32, released at Wednesday, May 25, 2022, Total Issue Count: 20

Product Type Description
survey-library Bug Official timeline for React 18 support?

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

Question

What is the current behavior?

No official React 18 support

What is the expected behavior?

Official React 18 support

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

Install with React 18

I couldn't find a ticket on official React 18 support so thought it would be nice for the community to have some visibility on this.

survey-library Enhancement Allow to have surveys with different locales on the same page

Right now it is impossible to have two surveys on English and Spanish on the same page. It brings issues in SurveyJS Creator V2, since we can have Property Grid in English (using our survey) and survey on designer surface in Spanish. As result, it starts work incorrectly and survey on designer surface may show incorrect locale strings.

survey-library Bug matrixdropdown column renderAs property doesn't apply to template question immediately

Chaning "renderAs" property for matrixdropdown column doesn't apply immediately for a template question. As result, since this property is dynamic and based on cellType, it leads to incorrect behavior in the property grid in Creator V2.

survey-library Bug panel/page focusFirstErrorQuestion function doesn't work for matrix dynamic and panel dynamic

If there are errors in matrix dynamic (matrix cell question) or in panel dynamic (in question inside the panel) then panel/page "focusFirstErrorQuestion" function doesn't work.

survey-library Bug Allow to apply css for composite questions based on their name / type

There is no way to apply a different css style for a different composite questions using global css. For example, if you have a composite question: "customerinfo" you should set it's style as: survey.css["customerinfo"] = { mainRoot: "customercss" };. It works for all other questions.

survey-library Enhancement Add into survey base object isDescendantOf function

We have getType() function that returns the object type. Sometimes you need to know if the object instance is inherited from another object. For example, is the question "dropdown" or inherited from "dropdown". In this case obj.getType() === "dropdown" will not work and it should be used obj.isDescendantOf("dropdown"); in this case.

survey-library Bug Drag&Drop issue with questions in one line

If there are several questions in one line, then trying to insert a new question between these questions and a question with a new line generates incorrect result.

survey-creator Bug Logic tab: Dropdown editors display items that cannot be selected

For instance, the following screencast shows a numeric nps_score question that doesn't accept contains and some other operations. It makes sense because these operations are valid only for string question, but in this case why are they on the list? We need to filter the drop-down values.

https://www.screencast.com/t/vXoQM4qe

survey-creator Bug Choices by URL tab contains an unnecessary subsection

image

survey-creator Bug Check styles for results section

image

survey-creator Enhancement Show "Show Settings" regardless of window size.
survey-creator Bug V2, Bug: text of the items of the non-default localised Survey in Designer Tab

Steps to reproduce:

  1. Set survey locale to non-default locale via property grid
  2. Add boolean question: on this step Yes/No labels are localised correctly
  3. Click on Preview Tab
  4. Click on Designer Tab
  5. boolean localised labels are reset to labels with default Yes/No
survey-creator Bug Fix string editor issue in Safari

In-line editing of (for instance) question titles or choices does not work in Safari (running safari version 14.1.1).

survey-creator Bug The property grid is invisible when new creator tab added in V1
survey-creator Bug Clear filter by page action in translation tab on reseting design survey

If a developer reset/change the existing survey when translation tab is opening then filter by page action should be set to "All pages".

survey-creator Enhancement V2: Allow change default toolbox question JSON via settings

We do not have the easy way to change the default question JSON when a user creates a new question on designer. It should be as easy as:

SurveyCreatorCore.settings.toolbox.defaultJSON["image"] = 
  { imageLink : "https://www.rd.com/wp-content/uploads/2021/04/GettyImages-141809950.jpg" };
survey-creator Bug Use obj.isDescendantOf to get component wrapper name

We should use isDescendantOf() function instead of getType() function for getting correct component wrapper name. Otherwise new questions types inherited from our standard questions will not work correctly in Creator V2.

survey-creator Bug V2: Toolbox items in popup are draggable when Creator is read only
survey-analytics Bug Survey Tabulator allows code injection

Hello SurveyJS team,

the survey tabulator does not escape script tags correcltly.

I have taken the the survey tabulator example and added a HTML button with a onclick handler on it and it executes. This is a security issue and should not be the case. https://plnkr.co/edit/J99S1lklsPL6d27J

The survey editor and survey display component escape this correctly.

Best Johannes

survey-analytics Bug Allow getting an element for the Visualization Panel by `id`

Now:

var surveyResultNode = document.getElementById("surveyDashboard");
surveyResultNode.innerHTML = "";
visPanel.render(surveyResultNode);

Suggestion:

visPanel.render("surveyDashboard");

Version: v1.9.32, released at Wednesday, May 25, 2022, Total Issue Count: 20

Product
survey-library
Type
Bug
Description
Official timeline for React 18 support?

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

Question

What is the current behavior?

No official React 18 support

What is the expected behavior?

Official React 18 support

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

Install with React 18

I couldn't find a ticket on official React 18 support so thought it would be nice for the community to have some visibility on this.

Product
survey-library
Type
Enhancement
Description
Allow to have surveys with different locales on the same page

Right now it is impossible to have two surveys on English and Spanish on the same page. It brings issues in SurveyJS Creator V2, since we can have Property Grid in English (using our survey) and survey on designer surface in Spanish. As result, it starts work incorrectly and survey on designer surface may show incorrect locale strings.

Chaning "renderAs" property for matrixdropdown column doesn't apply immediately for a template question. As result, since this property is dynamic and based on cellType, it leads to incorrect behavior in the property grid in Creator V2.

If there are errors in matrix dynamic (matrix cell question) or in panel dynamic (in question inside the panel) then panel/page "focusFirstErrorQuestion" function doesn't work.

Product
survey-library
Type
Bug
Description
Allow to apply css for composite questions based on their name / type

There is no way to apply a different css style for a different composite questions using global css. For example, if you have a composite question: "customerinfo" you should set it's style as: survey.css["customerinfo"] = { mainRoot: "customercss" };. It works for all other questions.

Product
survey-library
Type
Enhancement
Description
Add into survey base object isDescendantOf function

We have getType() function that returns the object type. Sometimes you need to know if the object instance is inherited from another object. For example, is the question "dropdown" or inherited from "dropdown". In this case obj.getType() === "dropdown" will not work and it should be used obj.isDescendantOf("dropdown"); in this case.

Product
survey-library
Type
Bug
Description
Drag&Drop issue with questions in one line

If there are several questions in one line, then trying to insert a new question between these questions and a question with a new line generates incorrect result.

Product
survey-creator
Type
Bug
Description
Logic tab: Dropdown editors display items that cannot be selected

For instance, the following screencast shows a numeric nps_score question that doesn't accept contains and some other operations. It makes sense because these operations are valid only for string question, but in this case why are they on the list? We need to filter the drop-down values.

https://www.screencast.com/t/vXoQM4qe

Product
survey-creator
Type
Bug
Description
Choices by URL tab contains an unnecessary subsection

image

Product
survey-creator
Type
Bug
Description
Check styles for results section

image

Product
survey-creator
Type
Enhancement
Description
Show "Show Settings" regardless of window size.

Steps to reproduce:

  1. Set survey locale to non-default locale via property grid
  2. Add boolean question: on this step Yes/No labels are localised correctly
  3. Click on Preview Tab
  4. Click on Designer Tab
  5. boolean localised labels are reset to labels with default Yes/No
Product
survey-creator
Type
Bug
Description
Fix string editor issue in Safari

In-line editing of (for instance) question titles or choices does not work in Safari (running safari version 14.1.1).

Product
survey-creator
Type
Bug
Description
The property grid is invisible when new creator tab added in V1

If a developer reset/change the existing survey when translation tab is opening then filter by page action should be set to "All pages".

Product
survey-creator
Type
Enhancement
Description
V2: Allow change default toolbox question JSON via settings

We do not have the easy way to change the default question JSON when a user creates a new question on designer. It should be as easy as:

SurveyCreatorCore.settings.toolbox.defaultJSON["image"] = 
  { imageLink : "https://www.rd.com/wp-content/uploads/2021/04/GettyImages-141809950.jpg" };
Product
survey-creator
Type
Bug
Description
Use obj.isDescendantOf to get component wrapper name

We should use isDescendantOf() function instead of getType() function for getting correct component wrapper name. Otherwise new questions types inherited from our standard questions will not work correctly in Creator V2.

Product
survey-creator
Type
Bug
Description
V2: Toolbox items in popup are draggable when Creator is read only
Product
survey-analytics
Type
Bug
Description
Survey Tabulator allows code injection

Hello SurveyJS team,

the survey tabulator does not escape script tags correcltly.

I have taken the the survey tabulator example and added a HTML button with a onclick handler on it and it executes. This is a security issue and should not be the case. https://plnkr.co/edit/J99S1lklsPL6d27J

The survey editor and survey display component escape this correctly.

Best Johannes

Product
survey-analytics
Type
Bug
Description
Allow getting an element for the Visualization Panel by `id`

Now:

var surveyResultNode = document.getElementById("surveyDashboard");
surveyResultNode.innerHTML = "";
visPanel.render(surveyResultNode);

Suggestion:

visPanel.render("surveyDashboard");

Version: v1.9.31, released at Wednesday, May 18, 2022, Total Issue Count: 1

Product Type Description
survey-library Enhancement Implement the "hint" property for a matrix column

Some users request column title different form column title: e.g. if they are using markdown.

See the https://surveyjs.answerdesk.io/ticket/details/t9444/markdown-matrix-tooltip-on-matrix-cells-is-broken-shows-the-html-values thread for more deatils

Version: v1.9.31, released at Wednesday, May 18, 2022, Total Issue Count: 1

Product
survey-library
Type
Enhancement
Description
Implement the "hint" property for a matrix column

Some users request column title different form column title: e.g. if they are using markdown.

See the https://surveyjs.answerdesk.io/ticket/details/t9444/markdown-matrix-tooltip-on-matrix-cells-is-broken-shows-the-html-values thread for more deatils

Version: v1.9.30, released at Tuesday, May 17, 2022, Total Issue Count: 6

Product Type Description
survey-creator Bug NPS Survey demo: The Required adorner in the first question doesn't change its appearance
survey-creator Bug Fix Creator Responsivity on Retina and 4K displays
survey-creator Bug V2: A new question can be inserted into wrong position when panel is selected

If there are several questions inside a panel and user select the panel then after clicking "Add new Question" on Panel footer, a new question can be added in the middle of other questions.

survey-creator Enhancement V2: Add creator.onPropertyGridSurveyCreated event
We do not have an event, that fires after property grid survey is setup. Here the event declaration:
  /**
   * The event is called after a survey that represents the Property Grid is created and all its questions (property editors) are setup.
   * You can use this event to modify this survey to change the property grid behavior
   * <br/> options.obj the survey object that is currently editing in the property grid
   * <br/> options.survey the property grid survey
   */
   public onPropertyGridSurveyCreated: Survey.Event<(sender: CreatorBase, options: any) => any, any>
survey-creator Enhancement V2: Add onSurveyPropertyValueChanged event

Developer can use onModified event to find that property has been changed. It is better to have it's own event since it used a lot.

  /**
   * The event is fired when a property in any survey object object is changed.
   * <br/> sender the survey creator object that fires the event
   * <br/> options.obj the survey object which property has been changed.
   * <br/> options.propertyName  the name of the changed property.
   * <br/> options.value the property value.
   * @see onPropertyValidationCustomError
   * @see onPropertyValueChanging
   */
   public onSurveyPropertyValueChanged: Survey.Event< (sender: CreatorBase, options: any) => any, any>
survey-pdf Bug Wrong html as image size

Version: v1.9.30, released at Tuesday, May 17, 2022, Total Issue Count: 6

Product
survey-creator
Type
Bug
Description
Fix Creator Responsivity on Retina and 4K displays

If there are several questions inside a panel and user select the panel then after clicking "Add new Question" on Panel footer, a new question can be added in the middle of other questions.

Product
survey-creator
Type
Enhancement
Description
V2: Add creator.onPropertyGridSurveyCreated event
We do not have an event, that fires after property grid survey is setup. Here the event declaration:
  /**
   * The event is called after a survey that represents the Property Grid is created and all its questions (property editors) are setup.
   * You can use this event to modify this survey to change the property grid behavior
   * <br/> options.obj the survey object that is currently editing in the property grid
   * <br/> options.survey the property grid survey
   */
   public onPropertyGridSurveyCreated: Survey.Event<(sender: CreatorBase, options: any) => any, any>
Product
survey-creator
Type
Enhancement
Description
V2: Add onSurveyPropertyValueChanged event

Developer can use onModified event to find that property has been changed. It is better to have it's own event since it used a lot.

  /**
   * The event is fired when a property in any survey object object is changed.
   * <br/> sender the survey creator object that fires the event
   * <br/> options.obj the survey object which property has been changed.
   * <br/> options.propertyName  the name of the changed property.
   * <br/> options.value the property value.
   * @see onPropertyValidationCustomError
   * @see onPropertyValueChanging
   */
   public onSurveyPropertyValueChanged: Survey.Event< (sender: CreatorBase, options: any) => any, any>
Product
survey-pdf
Type
Bug
Description
Wrong html as image size

Version: v1.9.29, released at Wednesday, May 11, 2022, Total Issue Count: 7

Product Type Description
survey-library Enhancement Performance issue: Adding new panel in panel dynamic in some condition can be slow

If a panel dynamic has dropdowns with "others"/"comments" values, adding new panel with several existing panels is extremely slow.

survey-library Enhancement Set name for generated pages for questionOnPage mode as question name

It is hard to find an autogenerated page by name for "survey.questionsOnPageMode" property equals to "questionOnPage". It is better to set the same name as a question name.

survey-library Bug Error is not show for text question on usign min/max properties and checkModeError onValueChanged

The following survey doesn't work correctly. It shows erros on complete/next page, instead of on value changed.

{
   "elements": [
    {
     "type": "text",
     "name": "question1",
     "inputType": "number",
     "min": 1,
     "max": 4
    }
 ],
 "checkErrorsMode": "onValueChanged"
}
survey-library Bug defaultValueExpression doesn't work for boolean question

The following JSON doesn't work correctly:

{
    elements: [
      { type: "boolean", name: "q1", defaultValueExpression: "true" },
    ],
  }

Question should have "true" value, but it has "false".

survey-library Bug Do not allow to addPanelUI for panel dynamic question if the current panel has errors

If dynamic panel has a "renderMode" value different from "list", display one panel at a time, then we do not allow to go to another panel if there is an error on the current. However we allow to add a new panel, which is inconsistent. We have to show errors and do not allow to add a new panel if there are errors on the current panel.

survey-library Bug setting survey data doesn't work for a select question with visibleIf in choices

The following code doesn't work correctly. The "q2" value is "other", instead of "item2".

  const survey = new SurveyModel({
    elements: [
      {
        type: "checkbox",
        name: "q1",
        choices: ["apple", "banana", "orange"],
      },
      {
        type: "radiogroup",
        name: "q2",
        choices: [
          "item1",
          {
            value: "item2",
            visibleIf: "{q1} = ['apple']",
          },
          "item3",
        ],
        hasOther: true,
      },
    ],
  });
  survey.data = {
    q2: "item2",
    q1: ["apple"],
  };

survey-pdf Bug The html in image mode is blur

Version: v1.9.29, released at Wednesday, May 11, 2022, Total Issue Count: 7

If a panel dynamic has dropdowns with "others"/"comments" values, adding new panel with several existing panels is extremely slow.

Product
survey-library
Type
Enhancement
Description
Set name for generated pages for questionOnPage mode as question name

It is hard to find an autogenerated page by name for "survey.questionsOnPageMode" property equals to "questionOnPage". It is better to set the same name as a question name.

The following survey doesn't work correctly. It shows erros on complete/next page, instead of on value changed.

{
   "elements": [
    {
     "type": "text",
     "name": "question1",
     "inputType": "number",
     "min": 1,
     "max": 4
    }
 ],
 "checkErrorsMode": "onValueChanged"
}
Product
survey-library
Type
Bug
Description
defaultValueExpression doesn't work for boolean question

The following JSON doesn't work correctly:

{
    elements: [
      { type: "boolean", name: "q1", defaultValueExpression: "true" },
    ],
  }

Question should have "true" value, but it has "false".

If dynamic panel has a "renderMode" value different from "list", display one panel at a time, then we do not allow to go to another panel if there is an error on the current. However we allow to add a new panel, which is inconsistent. We have to show errors and do not allow to add a new panel if there are errors on the current panel.

The following code doesn't work correctly. The "q2" value is "other", instead of "item2".

  const survey = new SurveyModel({
    elements: [
      {
        type: "checkbox",
        name: "q1",
        choices: ["apple", "banana", "orange"],
      },
      {
        type: "radiogroup",
        name: "q2",
        choices: [
          "item1",
          {
            value: "item2",
            visibleIf: "{q1} = ['apple']",
          },
          "item3",
        ],
        hasOther: true,
      },
    ],
  });
  survey.data = {
    q2: "item2",
    q1: ["apple"],
  };

Product
survey-pdf
Type
Bug
Description
The html in image mode is blur

Version: v1.9.28, released at Thursday, May 5, 2022, Total Issue Count: 9

Product Type Description
survey-library Bug The markdown matrix is broken if the window is small and the matrix becomes vertical.
survey-library Bug OnValueChanging is triggered a second time after OnValueChanged on custom question type

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

Bug

What is the current behavior?

OnValueChanging is triggered an additional time after OnValueChanged on custom question types

  • onValueChanging is triggered
(index) Values
oldValue undefined
value 'abc
  • onValueChanged is triggered

  • onValueChanging is triggered again

(index) Values
oldValue 'abc'
value 'abc

What is the expected behavior?

OnValueChanging is only triggered once before OnValueChanged

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

Please refer to the this repository with a simple reproduction of the bug. I added one use case of known type text and one for a custom type with it's questionJSON being of type text for comparison.

I am currently overriding this behaviour with the following piece of code:

valueChangingHandler = (sender, options) => {
    if(options.oldValue === options.value) {
        console.warn('onValueChanging execution with equal values', options.question, options.oldValue, options.value)
        return;
    }
    ...
} 

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

Specify your

I am using survey-core as a backbone for a custom survey system.

  • browser: /
  • browser version: /
  • surveyjs platform (angular or react or jquery or knockout or vue): /
  • surveyjs version: 1.9.27 (most recent)
survey-library Bug Bug: onShowingPreview doesn't get called if onServerValidateQuestions is set

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

Reporting a bug.

What is the current behavior?

onShowingPreview doesn't get called when onServerValidateQuestions is set.

What is the expected behavior?

onShowingPreview should be called even if onServerValidateQuestions is set.

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

Using the test page provided below, you'll notice that onShowingPreview is never printed unless you remove the assignment of the onServerValidateQuestions event on the survey.

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

Tested page URL: https://plnkr.co/edit/6Sy4Rx5lK9rjA9eD

Test code

Survey
    .StylesManager
    .applyTheme("modern");

//assign call to onServerValidateQuestions callback
function surveyValidateQuestion(survey, options) {
    options.complete();
}

//assign call to onShowingPreview callback
function showingPreview(survey, options){
    console.log("onShowingPreview");
}

var json = {
 "pages": [
  {
   "name": "page1",
   "elements": [
    {
     "type": "boolean",
     "name": "question1",
     "isRequired": true
    }
   ]
  },
  {
   "name": "page2",
   "elements": [
    {
     "type": "boolean",
     "name": "question2",
     "isRequired": true
    }
   ]
  }
 ],
 "showPreviewBeforeComplete": "showAllQuestions"
};

window.survey = new Survey.Model(json);

survey
    .onComplete
    .add(function (sender) {
        document
            .querySelector('#surveyResult')
            .textContent = "Result JSON:\n" + JSON.stringify(sender.data, null, 3);
    });

survey
    .onShowingPreview
    .add(showingPreview);

survey
    .onServerValidateQuestions
    .add(surveyValidateQuestion);

$("#surveyElement").Survey({model: survey});

Specify your

  • browser: Microsoft Edge
  • browser version: 100.0.1185.50
  • surveyjs platform (angular or react or jquery or knockout or vue): jquery
  • surveyjs version: 1.9.20
survey-library Enhancement Allow to render matrix remove rows action as button in defaultV2

In defaultV2 remove rows actions rendered as icons. A new setting is introduced to render these actions as buttons. Survey.settings.matrixRenderRemoveAsIcon = false;.

survey-library Bug Bug: read-only columns stop working on changing survey mode from "display" to "edit"

The original issue was reported on SurveyJS Support forum.

{
    elements: [
      {
        type: "matrixdynamic",
        name: "question1",
        rowCount: 1,
        columns: [
          {
            name: "Column1",
          },
          {
            name: "Column2",
            readOnly: true
          },
        ],
        cellType: "text",
      },
    ],
  }

The second column becomes editable after the following code:

survey.mode = "display";
survey.mode = "edit"
survey-creator Enhancement DND: From Toolbox: Shortcut text

shortcut text should contain question type instead of generated new question name

based on the https://surveyjs.answerdesk.io/ticket/details/T9276

survey-creator Bug Test-plugin getComputedStyles argument may be null
survey-creator Enhancement V2: Allow to change default question type for "Add Question" button

Right now, Creator V2 has "text" as default question type in "Add Question" button and there is no way to change it. We need to add a new setting to allow chaning this type. SurveyCreator.settings.designer.defaultAddQuestionType = "dropdown";

survey-creator Enhancement V2: Allow to hide "Add New Question" button on design surface

Use the following code to hide "Add New Question" buttons on page and panel on design surface: SurveyCreator.settings.designer.showAddQuestionButton = false;

Version: v1.9.28, released at Thursday, May 5, 2022, Total Issue Count: 9

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

Bug

What is the current behavior?

OnValueChanging is triggered an additional time after OnValueChanged on custom question types

  • onValueChanging is triggered
(index) Values
oldValue undefined
value 'abc
  • onValueChanged is triggered

  • onValueChanging is triggered again

(index) Values
oldValue 'abc'
value 'abc

What is the expected behavior?

OnValueChanging is only triggered once before OnValueChanged

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

Please refer to the this repository with a simple reproduction of the bug. I added one use case of known type text and one for a custom type with it's questionJSON being of type text for comparison.

I am currently overriding this behaviour with the following piece of code:

valueChangingHandler = (sender, options) => {
    if(options.oldValue === options.value) {
        console.warn('onValueChanging execution with equal values', options.question, options.oldValue, options.value)
        return;
    }
    ...
} 

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

Specify your

I am using survey-core as a backbone for a custom survey system.

  • browser: /
  • browser version: /
  • surveyjs platform (angular or react or jquery or knockout or vue): /
  • surveyjs version: 1.9.27 (most recent)

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

Reporting a bug.

What is the current behavior?

onShowingPreview doesn't get called when onServerValidateQuestions is set.

What is the expected behavior?

onShowingPreview should be called even if onServerValidateQuestions is set.

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

Using the test page provided below, you'll notice that onShowingPreview is never printed unless you remove the assignment of the onServerValidateQuestions event on the survey.

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

Tested page URL: https://plnkr.co/edit/6Sy4Rx5lK9rjA9eD

Test code

Survey
    .StylesManager
    .applyTheme("modern");

//assign call to onServerValidateQuestions callback
function surveyValidateQuestion(survey, options) {
    options.complete();
}

//assign call to onShowingPreview callback
function showingPreview(survey, options){
    console.log("onShowingPreview");
}

var json = {
 "pages": [
  {
   "name": "page1",
   "elements": [
    {
     "type": "boolean",
     "name": "question1",
     "isRequired": true
    }
   ]
  },
  {
   "name": "page2",
   "elements": [
    {
     "type": "boolean",
     "name": "question2",
     "isRequired": true
    }
   ]
  }
 ],
 "showPreviewBeforeComplete": "showAllQuestions"
};

window.survey = new Survey.Model(json);

survey
    .onComplete
    .add(function (sender) {
        document
            .querySelector('#surveyResult')
            .textContent = "Result JSON:\n" + JSON.stringify(sender.data, null, 3);
    });

survey
    .onShowingPreview
    .add(showingPreview);

survey
    .onServerValidateQuestions
    .add(surveyValidateQuestion);

$("#surveyElement").Survey({model: survey});

Specify your

  • browser: Microsoft Edge
  • browser version: 100.0.1185.50
  • surveyjs platform (angular or react or jquery or knockout or vue): jquery
  • surveyjs version: 1.9.20
Product
survey-library
Type
Enhancement
Description
Allow to render matrix remove rows action as button in defaultV2

In defaultV2 remove rows actions rendered as icons. A new setting is introduced to render these actions as buttons. Survey.settings.matrixRenderRemoveAsIcon = false;.

The original issue was reported on SurveyJS Support forum.

{
    elements: [
      {
        type: "matrixdynamic",
        name: "question1",
        rowCount: 1,
        columns: [
          {
            name: "Column1",
          },
          {
            name: "Column2",
            readOnly: true
          },
        ],
        cellType: "text",
      },
    ],
  }

The second column becomes editable after the following code:

survey.mode = "display";
survey.mode = "edit"
Product
survey-creator
Type
Enhancement
Description
DND: From Toolbox: Shortcut text

shortcut text should contain question type instead of generated new question name

based on the https://surveyjs.answerdesk.io/ticket/details/T9276

Product
survey-creator
Type
Bug
Description
Test-plugin getComputedStyles argument may be null
Product
survey-creator
Type
Enhancement
Description
V2: Allow to change default question type for "Add Question" button

Right now, Creator V2 has "text" as default question type in "Add Question" button and there is no way to change it. We need to add a new setting to allow chaning this type. SurveyCreator.settings.designer.defaultAddQuestionType = "dropdown";

Product
survey-creator
Type
Enhancement
Description
V2: Allow to hide "Add New Question" button on design surface

Use the following code to hide "Add New Question" buttons on page and panel on design surface: SurveyCreator.settings.designer.showAddQuestionButton = false;

Version: v1.9.27, released at Wednesday, April 27, 2022, Total Issue Count: 9

Product Type Description
survey-library Bug Knockout: onProcessHtml events doesn't work

onProcessHtml event not fired for html question in knockout

survey-library Bug knockout: dropdown is not updated options on changing survey locale

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

Bug

What is the current behavior?

When creating a matrix multiple choice question you can override the choices for a column by settings the cell type to dropdown instead of default. Then using the translation tab you can translate these choices.

What is the expected behavior?

I expected the translations for the column specific choices to be used, but they are not. Note that even the primary choices are not translated (tested via the preview tab)

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

{
 "logoPosition": "right",
 "pages": [
  {
   "name": "page1",
   "elements": [
    {
     "type": "matrixdropdown",
     "name": "question1",
     "columns": [
      {
       "name": "Column 1",
       "cellType": "dropdown",
       "choices": [
        {
         "value": "item1",
         "text": {
          "default": "A",
          "nl": "A1"
         }
        },
        {
         "value": "item2",
         "text": {
          "default": "B",
          "nl": "B2"
         }
        },
        {
         "value": "item3",
         "text": {
          "default": "C",
          "nl": "C2"
         }
        }
       ]
      },
      {
       "name": "Column 2"
      },
      {
       "name": "Column 3"
      }
     ],
     "choices": [
      {
       "value": 1,
       "text": {
        "default": "E1",
        "nl": "D1"
       }
      },
      {
       "value": 2,
       "text": {
        "default": "E2",
        "nl": "D2"
       }
      },
      {
       "value": 3,
       "text": {
        "default": "E3",
        "nl": "D3"
       }
      },
      {
       "value": 4,
       "text": {
        "default": "E4",
        "nl": "D4"
       }
      },
      {
       "value": 5,
       "text": {
        "default": "E5",
        "nl": "D5"
       }
      }
     ],
     "rows": [
      "Row 1",
      "Row 2"
     ]
    }
   ]
  }
 ]
}

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

Tested page URL: https://surveyjs.io/create-survey

Specify your

  • browser: Brave
  • browser version: latest
  • surveyjs platform (angular or react or jquery or knockout or vue): knockout
  • surveyjs version: latest
survey-library Bug Custom widgets are not updated on changing locale in matrix and panel dynamic questions

Due a bug, custom widgets are not updated on changing locale if it is located in matrix cell or in dynamic panel.

survey-library Bug Bindings doesn't work inside panel dynamic

The following json doesn't work correctly. Binding for nested matrix doesn't work:

{
    elements: [
      {
        type: "paneldynamic",
        name: "panel1",
        panelCount: 2,
        templateElements: [
          { type: "text", name: "q1" },
          {
            type: "matrixdynamic",
            name: "q2",
            bindings: {
              "rowCount": "q1"
            },
            columns: [
              { name: "col1" }
            ]
          }
        ],
      }
    ],
  }
survey-creator Enhancement V2: Implement zoom for devices in Preview Tab
survey-creator Bug Field resize triggers drag and drop instead
survey-creator Enhancement V2: Could not easily add property into detail form for itemvalue

The following code should add a new property into detail form for itemvalue without addition coding.

Survey.Serializer.addProperty("itemvalue", 
    { name: "prop1", category: "general", choices: ["item1", "item2"], showMode: "form" }
);
survey-creator Enhancement V2: Allow to change Creator localization on the fly

New "locale" property is added into Creator. To change locale, please use the following code:

creator.locale = "de";

survey-creator Bug V2: could not drag a new question on text "The survey is empty. ..."

End-user can't drag on text "The survey is empty. Drag an element from the toolbox or click the button below."

Version: v1.9.27, released at Wednesday, April 27, 2022, Total Issue Count: 9

Product
survey-library
Type
Bug
Description
Knockout: onProcessHtml events doesn't work

onProcessHtml event not fired for html question in knockout

Product
survey-library
Type
Bug
Description
knockout: dropdown is not updated options on changing survey locale

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

Bug

What is the current behavior?

When creating a matrix multiple choice question you can override the choices for a column by settings the cell type to dropdown instead of default. Then using the translation tab you can translate these choices.

What is the expected behavior?

I expected the translations for the column specific choices to be used, but they are not. Note that even the primary choices are not translated (tested via the preview tab)

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

{
 "logoPosition": "right",
 "pages": [
  {
   "name": "page1",
   "elements": [
    {
     "type": "matrixdropdown",
     "name": "question1",
     "columns": [
      {
       "name": "Column 1",
       "cellType": "dropdown",
       "choices": [
        {
         "value": "item1",
         "text": {
          "default": "A",
          "nl": "A1"
         }
        },
        {
         "value": "item2",
         "text": {
          "default": "B",
          "nl": "B2"
         }
        },
        {
         "value": "item3",
         "text": {
          "default": "C",
          "nl": "C2"
         }
        }
       ]
      },
      {
       "name": "Column 2"
      },
      {
       "name": "Column 3"
      }
     ],
     "choices": [
      {
       "value": 1,
       "text": {
        "default": "E1",
        "nl": "D1"
       }
      },
      {
       "value": 2,
       "text": {
        "default": "E2",
        "nl": "D2"
       }
      },
      {
       "value": 3,
       "text": {
        "default": "E3",
        "nl": "D3"
       }
      },
      {
       "value": 4,
       "text": {
        "default": "E4",
        "nl": "D4"
       }
      },
      {
       "value": 5,
       "text": {
        "default": "E5",
        "nl": "D5"
       }
      }
     ],
     "rows": [
      "Row 1",
      "Row 2"
     ]
    }
   ]
  }
 ]
}

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

Tested page URL: https://surveyjs.io/create-survey

Specify your

  • browser: Brave
  • browser version: latest
  • surveyjs platform (angular or react or jquery or knockout or vue): knockout
  • surveyjs version: latest

Due a bug, custom widgets are not updated on changing locale if it is located in matrix cell or in dynamic panel.

Product
survey-library
Type
Bug
Description
Bindings doesn't work inside panel dynamic

The following json doesn't work correctly. Binding for nested matrix doesn't work:

{
    elements: [
      {
        type: "paneldynamic",
        name: "panel1",
        panelCount: 2,
        templateElements: [
          { type: "text", name: "q1" },
          {
            type: "matrixdynamic",
            name: "q2",
            bindings: {
              "rowCount": "q1"
            },
            columns: [
              { name: "col1" }
            ]
          }
        ],
      }
    ],
  }
Product
survey-creator
Type
Enhancement
Description
V2: Implement zoom for devices in Preview Tab
Product
survey-creator
Type
Bug
Description
Field resize triggers drag and drop instead
Product
survey-creator
Type
Enhancement
Description
V2: Could not easily add property into detail form for itemvalue

The following code should add a new property into detail form for itemvalue without addition coding.

Survey.Serializer.addProperty("itemvalue", 
    { name: "prop1", category: "general", choices: ["item1", "item2"], showMode: "form" }
);
Product
survey-creator
Type
Enhancement
Description
V2: Allow to change Creator localization on the fly

New "locale" property is added into Creator. To change locale, please use the following code:

creator.locale = "de";

Product
survey-creator
Type
Bug
Description
V2: could not drag a new question on text "The survey is empty. ..."

End-user can't drag on text "The survey is empty. Drag an element from the toolbox or click the button below."

Version: v1.9.26, released at Wednesday, April 20, 2022, Total Issue Count: 2

Product Type Description
survey-library Enhancement Allow to add a custom condition/expression property integrated into class

Consider, in your survey/form system you want to hide/show matrix header based on expression and allow your Creator user to set this expression. Right now it will require a lot of code, how, it can be as simple as the following:

Survey.Serializer.addProperty("matrix", { name: "showHeaderIf:condition", category: "logic",
   onExecuteExpression: (obj, res) => { obj.showHeader = res === true; }
});
survey-analytics Bug Matrix: HoverTexts (long tick labels) problem

we need a way to see full tick (y) label with matrix question. And the way we could do it is custom hovertext

image

Version: v1.9.26, released at Wednesday, April 20, 2022, Total Issue Count: 2

Product
survey-library
Type
Enhancement
Description
Allow to add a custom condition/expression property integrated into class

Consider, in your survey/form system you want to hide/show matrix header based on expression and allow your Creator user to set this expression. Right now it will require a lot of code, how, it can be as simple as the following:

Survey.Serializer.addProperty("matrix", { name: "showHeaderIf:condition", category: "logic",
   onExecuteExpression: (obj, res) => { obj.showHeader = res === true; }
});
Product
survey-analytics
Type
Bug
Description
Matrix: HoverTexts (long tick labels) problem

we need a way to see full tick (y) label with matrix question. And the way we could do it is custom hovertext

image

Version: v1.9.25, released at Friday, April 15, 2022, Total Issue Count: 6

Product Type Description
survey-library Bug Change implementation of using completedHtml, completedBeforeHtml and loadingHtml survey localization strings

SurveyJS uses old approach for completedHtml, completedBeforeHtml and loadingHtml survey properties. As result, Creator property grid doesn't show the default value for these properties.

survey-library Bug MatrixColumn: Change questionTemplate property before changing cellType

Creator V2 requires questionTemplate be ready right after cellType property is changed. It means we have to change questionTemplate before chaning cellType.

survey-library Bug visible attribute for text min/max property doesn't work for matrix column

The bug is reproduced in Creator V2. On selecting column and setting cellType to "text", properties "min" and "max" are not become visible if inputType is "number"

survey-library Bug Buttongroup css classes are not assigned if StylesManager.appyTheme("defaultV2") was provided
survey-library Bug survey.fromJSON() doesn't work correctly

The survey "activePage" is not updated after calling "fromJSON" function as well as navigation bar.

survey-creator Enhancement V2: Implement theme changer in preview tab

For detailed information see this ticket in the support center

Version: v1.9.25, released at Friday, April 15, 2022, Total Issue Count: 6

SurveyJS uses old approach for completedHtml, completedBeforeHtml and loadingHtml survey properties. As result, Creator property grid doesn't show the default value for these properties.

Creator V2 requires questionTemplate be ready right after cellType property is changed. It means we have to change questionTemplate before chaning cellType.

The bug is reproduced in Creator V2. On selecting column and setting cellType to "text", properties "min" and "max" are not become visible if inputType is "number"

Product
survey-library
Type
Bug
Description
survey.fromJSON() doesn't work correctly

The survey "activePage" is not updated after calling "fromJSON" function as well as navigation bar.

Product
survey-creator
Type
Enhancement
Description
V2: Implement theme changer in preview tab

For detailed information see this ticket in the support center

Version: v1.9.24, released at Tuesday, April 12, 2022, Total Issue Count: 11

Product Type Description
survey-library Enhancement Use action container for navigation buttons

Developers want to add buttons into our navigation bar, for example, "Save" button and the only current solution is to hide our navigation bar and let them to render their own. There should be an easy way to do it. The current solution is to use our action container. It will reduce code in platforms.

survey-library Bug onAfterRenderSurvey multiple "root" elements on knockout

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

Bug

What is the current behavior?

The onAfterRenderSurvey event should contain an options object described by this:

The event is fired right after survey is rendered in DOM. sender - the survey object that fires the event. options.htmlElement - a root HTML element bound to the survey object.

Instead I get an array of 3 elements, the root element is in the middle, surrounded by 2 text nodes.

What is the expected behavior?

This is what vue does:

https://plnkr.co/edit/0u9vnEWqshAzzcKX

This is what knockout does: https://plnkr.co/edit/x11Iojb6UqbG28lO

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

See plunkers above

Specify your

  • surveyjs platform (angular or react or jquery or knockout or vue): knockout
  • surveyjs version: v1.9.22
survey-library Bug React: chaning question comment in code doesn't update comment text area

A checkbox type question, I can't clear it's comment value by clearValue/setComment

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

question

What is the current behavior?

click clear comment button should clear its comment value, but not

What is the expected behavior?

click clear comment button can clear its comment value

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

  1. input some value in the other/comment box
  2. click clear comment
  3. the comment value should be removed

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

Tested page URL: https://codesandbox.io/s/xenodochial-chebyshev-4kbwle

Test code

            this.survey.setComment("car", null);
            this.survey.clearValue("car");

Specify your

  • browser: chrome
  • browser version: 99.0.4844.84 (Official Build) (64-bit) (cohort: Stable)
  • surveyjs platform (angular or react or jquery or knockout or vue): react
  • surveyjs version: 1.9.22
survey-library Bug We need default image (NO IMAGE) for image picker
survey-creator Enhancement V2, React: Fix header for survey in designer tab

image

survey-creator Bug Set default images after convert question to Image or Image Picker

"When you replace a question type to 'Image Picker' using the dropdown (not the toolbar on the left but the dropdown on a question), it doesn't show you the default images and just shows you an option to add a new image" https://surveyjs.answerdesk.io/internal/ticket/details/T9149

survey-creator Enhancement Rename the Test Survey Again button to Preview Survey Again

Because we renamed the Test Survey tab, users no longer test surveys - they preview them.

image

survey-creator Enhancement Preview tab: Empty survey message is not aligned

image

We need to align the message to the center. Compare it to the empty Translation tab:

image

Let's change the text too: "The survey doesn't contain visible pages or questions"

survey-creator Bug V2: Setting logic for panel dynamic cause JavaScript error

On setting expression for panel dynamic in logic tab on empty actions section, a JavaScript error is raised.

survey-creator Bug V1: Could not set bindings in modal window

Settings binding when property grid is modal raised an exception.

survey-creator Bug V1: Adorner for dropdown "None" item works incorrecly

"None" is visible/invisible based on "hasOther" property and not "hasNone"

Version: v1.9.24, released at Tuesday, April 12, 2022, Total Issue Count: 11

Product
survey-library
Type
Enhancement
Description
Use action container for navigation buttons

Developers want to add buttons into our navigation bar, for example, "Save" button and the only current solution is to hide our navigation bar and let them to render their own. There should be an easy way to do it. The current solution is to use our action container. It will reduce code in platforms.

Product
survey-library
Type
Bug
Description
onAfterRenderSurvey multiple "root" elements on knockout

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

Bug

What is the current behavior?

The onAfterRenderSurvey event should contain an options object described by this:

The event is fired right after survey is rendered in DOM. sender - the survey object that fires the event. options.htmlElement - a root HTML element bound to the survey object.

Instead I get an array of 3 elements, the root element is in the middle, surrounded by 2 text nodes.

What is the expected behavior?

This is what vue does:

https://plnkr.co/edit/0u9vnEWqshAzzcKX

This is what knockout does: https://plnkr.co/edit/x11Iojb6UqbG28lO

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

See plunkers above

Specify your

  • surveyjs platform (angular or react or jquery or knockout or vue): knockout
  • surveyjs version: v1.9.22

A checkbox type question, I can't clear it's comment value by clearValue/setComment

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

question

What is the current behavior?

click clear comment button should clear its comment value, but not

What is the expected behavior?

click clear comment button can clear its comment value

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

  1. input some value in the other/comment box
  2. click clear comment
  3. the comment value should be removed

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

Tested page URL: https://codesandbox.io/s/xenodochial-chebyshev-4kbwle

Test code

            this.survey.setComment("car", null);
            this.survey.clearValue("car");

Specify your

  • browser: chrome
  • browser version: 99.0.4844.84 (Official Build) (64-bit) (cohort: Stable)
  • surveyjs platform (angular or react or jquery or knockout or vue): react
  • surveyjs version: 1.9.22
Product
survey-library
Type
Bug
Description
We need default image (NO IMAGE) for image picker
Product
survey-creator
Type
Enhancement
Description
V2, React: Fix header for survey in designer tab

image

Product
survey-creator
Type
Bug
Description
Set default images after convert question to Image or Image Picker

"When you replace a question type to 'Image Picker' using the dropdown (not the toolbar on the left but the dropdown on a question), it doesn't show you the default images and just shows you an option to add a new image" https://surveyjs.answerdesk.io/internal/ticket/details/T9149

Product
survey-creator
Type
Enhancement
Description
Rename the Test Survey Again button to Preview Survey Again

Because we renamed the Test Survey tab, users no longer test surveys - they preview them.

image

Product
survey-creator
Type
Enhancement
Description
Preview tab: Empty survey message is not aligned

image

We need to align the message to the center. Compare it to the empty Translation tab:

image

Let's change the text too: "The survey doesn't contain visible pages or questions"

Product
survey-creator
Type
Bug
Description
V2: Setting logic for panel dynamic cause JavaScript error

On setting expression for panel dynamic in logic tab on empty actions section, a JavaScript error is raised.

Product
survey-creator
Type
Bug
Description
V1: Could not set bindings in modal window

Settings binding when property grid is modal raised an exception.

Product
survey-creator
Type
Bug
Description
V1: Adorner for dropdown "None" item works incorrecly

"None" is visible/invisible based on "hasOther" property and not "hasNone"

Version: v1.9.23, released at Wednesday, April 6, 2022, Total Issue Count: 20

Product Type Description
survey-library Bug React: Action Bar resposibility issue

Step to reproduce:

  1. go to Nps Example in Creator
  2. select the second question, checkbox
  3. Go to choices and clear them all, Click on "Clear" button
  4. Add new choice

Result the choices action bar will convert to "..."

survey-library Bug itemValueAlwaysSerializeText setting doesn't work correctly if value is object in itemvalue

If value is object in itemvalue, for example: cost newValue = new Survey.ItemValue({ id: 1, value: 5, text: "MyValue"}); then it doesn't work correctly if Survey.settings.itemValueAlwaysSerializeText = true;

survey-library Enhancement Make expression property in ExpressionExecutor read-only and pass it into constructor

There is no context except expression on creating "ExpressionExecutor". Right we set expression as a property after the object was created. It is too late. We have to make expression read-only and pass it into constructor, it gives the ability to use different expression engines based on expression.

survey-library Bug Built-in choices are duplicated if standard choices are empty and there are several columns in checkbox question

The bug can be reproduced in Creator V2 on designer. Drop checkbox question, set column to 2 and clear choices. You will see that "Select All", "None", "Others" items will be rendered twice.

survey-library Bug minValueExpression and maxValueExpression properties doesn't work together

The following JSON doesnt' work correctly. maxRendered value equals to today, instead of today + 30 days.

{
    name: 'question1',
    type: 'text',
    inputType: 'date',
    title: 'Select a date:',
    isRequired: true,
    minValueExpression: 'today()',
    maxValueExpression: 'today(30)',
},
survey-creator Bug V2: Categorized items become unreachable after the toolbox switches to compact mode
survey-creator Bug V2: A warning is thrown when adding a question to an empty page

image

Steps to reproduce:

  1. Open the Survey Creator: https://surveyjs.io/create-survey
  2. Click Add Question for Page 2. Page shouldn't contain any questions before you do that.
survey-creator Bug V2: Support onDragDropAllow event

Creator V1 has creator.onDragDropAllow event. It is missed in V2.

survey-creator Bug Warning: Cannot update during an existing state transition

https://codesandbox.io/s/hidden-wind-qhh3vb

Steps to reproduce:

  1. Open the console
  2. Click the Add New Survey button
  3. Click Add Question in Survey Creator
survey-creator Enhancement V2: Add creator.onActiveTabChanging event

The following event has been added into Creator:

  /**
   * The event is called when creator is going to change the active tab.
   * <br/> sender the survey creator object that fires the event
   * <br/> options.tabName the name of new active tab
   */
  public onActiveTabChanging: : Survey.Event<(sender: CreatorBase, options: any) => any,  any>;
survey-creator Bug V2: Error on adding new component instance with rating question inside

There is error when you try to add more question type based on rating TypeError this.creator.getLocString is not a function

Code that adds new instance: Survey.ComponentCollection.Instance.add({ name: "newrating", title: "SuperRating", elementsJSON: [ { "type": "rating", "name": "superrating", "title": "1", "isRequired": true, "rateMin": 0, "rateMax": 10, "minRateDescription": "1", "maxRateDescription": "2" } ] });

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

Tested page URL: https://codesandbox.io/s/shy-surf-lgp5vn?file=/src/SurveyCreatorComponent.jsx

Versions that also reproduce issue

"survey-core": "^1.9.8",
"survey-creator-react": "^1.9.8-beta.1",
"survey-react": "^1.9.8",
"survey-react-ui": "^1.9.8",
survey-creator Bug V2: autoComplete property doesn't have data list set

autoComplete property editor should show the list of possible values.

survey-creator Enhancement V2: Performance issue - stop making reactive property _stateValue

We do not need a root Creator property _stateValue to be reactive. It triggers re-rendering Creator on a property change of any object.

survey-analytics Bug Analytics: Matrixdropdown filtering issue

Filter is not applied to matrixdropdown visualizer content (if other question is filtered)

See the https://surveyjs.answerdesk.io/internal/ticket/details/T8823 thread for more details

survey-analytics Enhancement Better additional appearance for the "bar" charts
survey-analytics Enhancement Include visualizers state (chartType, answersOrder, hideEmptyAnswers, topN) into panel state to save/restore
survey-analytics Enhancement Implement vertical bar chart

Vertical bar chart Set Y axis value as predefined [X= 1 to 10, y=0% , 25 %, 50 %, 75% , 100%]

See the https://surveyjs.answerdesk.io/internal/ticket/details/T9142 thread for more details

survey-analytics Enhancement Implement table representation for selectBase question type

Visualize selectbase question (radiogroup, dropdown and checkbox) as a table with percent and answer count.

See the https://surveyjs.answerdesk.io/ticket/details/t9084/is-it-possible-to-show-table-format-data-in-analytic-pack thread for more details

custom-widgets Enhancement EasyAutocomplete Sorting & Usability Issues

Current Behavior - the SurveyJS example demonstrates this issue perfectly:

Screen Shot 2022-03-04 at 5 32 50 PM

It should be obvious that the ordering is horrendous - No user starts typing in "Peugeot" with a "t" - they would start typing Toyota with a "t". Ultimately, this issue makes this library unusable with large autocomplete sets, as users need to type in a significant portion of the entire item before autocorrect even displays the item they want in the list.

EasyAutocomplete can be reconfigured to sort properly - is there any interest in doing this, or adding support for a better autocomplete option, given how EasyAutocomplete has not been updated (other than by dependabot) since October 5th, 2019 (so for nearly 3 years), and also fails to provide the basic feature of enter selects first element?

custom-widgets Bug jQuery UI Calendar Widget: minValueExpression / maxValueExpression do not work

The following JSON doesn't work:

        {
            "name": "date",
            "type": "datepicker",
            "inputType": "date",
            "title": "Your favorite date:",
            "dateFormat": "mm/dd/yy",
            "isRequired": true,
            "minValueExpression": "today()",
            "maxValueExpression": "today(10)"
        }        

Version: v1.9.23, released at Wednesday, April 6, 2022, Total Issue Count: 20

Product
survey-library
Type
Bug
Description
React: Action Bar resposibility issue

Step to reproduce:

  1. go to Nps Example in Creator
  2. select the second question, checkbox
  3. Go to choices and clear them all, Click on "Clear" button
  4. Add new choice

Result the choices action bar will convert to "..."

If value is object in itemvalue, for example: cost newValue = new Survey.ItemValue({ id: 1, value: 5, text: "MyValue"}); then it doesn't work correctly if Survey.settings.itemValueAlwaysSerializeText = true;

There is no context except expression on creating "ExpressionExecutor". Right we set expression as a property after the object was created. It is too late. We have to make expression read-only and pass it into constructor, it gives the ability to use different expression engines based on expression.

The bug can be reproduced in Creator V2 on designer. Drop checkbox question, set column to 2 and clear choices. You will see that "Select All", "None", "Others" items will be rendered twice.

The following JSON doesnt' work correctly. maxRendered value equals to today, instead of today + 30 days.

{
    name: 'question1',
    type: 'text',
    inputType: 'date',
    title: 'Select a date:',
    isRequired: true,
    minValueExpression: 'today()',
    maxValueExpression: 'today(30)',
},
Product
survey-creator
Type
Bug
Description
V2: A warning is thrown when adding a question to an empty page

image

Steps to reproduce:

  1. Open the Survey Creator: https://surveyjs.io/create-survey
  2. Click Add Question for Page 2. Page shouldn't contain any questions before you do that.
Product
survey-creator
Type
Bug
Description
V2: Support onDragDropAllow event

Creator V1 has creator.onDragDropAllow event. It is missed in V2.

Product
survey-creator
Type
Bug
Description
Warning: Cannot update during an existing state transition

https://codesandbox.io/s/hidden-wind-qhh3vb

Steps to reproduce:

  1. Open the console
  2. Click the Add New Survey button
  3. Click Add Question in Survey Creator
Product
survey-creator
Type
Enhancement
Description
V2: Add creator.onActiveTabChanging event

The following event has been added into Creator:

  /**
   * The event is called when creator is going to change the active tab.
   * <br/> sender the survey creator object that fires the event
   * <br/> options.tabName the name of new active tab
   */
  public onActiveTabChanging: : Survey.Event<(sender: CreatorBase, options: any) => any,  any>;

There is error when you try to add more question type based on rating TypeError this.creator.getLocString is not a function

Code that adds new instance: Survey.ComponentCollection.Instance.add({ name: "newrating", title: "SuperRating", elementsJSON: [ { "type": "rating", "name": "superrating", "title": "1", "isRequired": true, "rateMin": 0, "rateMax": 10, "minRateDescription": "1", "maxRateDescription": "2" } ] });

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

Tested page URL: https://codesandbox.io/s/shy-surf-lgp5vn?file=/src/SurveyCreatorComponent.jsx

Versions that also reproduce issue

"survey-core": "^1.9.8",
"survey-creator-react": "^1.9.8-beta.1",
"survey-react": "^1.9.8",
"survey-react-ui": "^1.9.8",
Product
survey-creator
Type
Bug
Description
V2: autoComplete property doesn't have data list set

autoComplete property editor should show the list of possible values.

Product
survey-creator
Type
Enhancement
Description
V2: Performance issue - stop making reactive property _stateValue

We do not need a root Creator property _stateValue to be reactive. It triggers re-rendering Creator on a property change of any object.

Product
survey-analytics
Type
Bug
Description
Analytics: Matrixdropdown filtering issue

Filter is not applied to matrixdropdown visualizer content (if other question is filtered)

See the https://surveyjs.answerdesk.io/internal/ticket/details/T8823 thread for more details

Product
survey-analytics
Type
Enhancement
Description
Better additional appearance for the "bar" charts
Product
survey-analytics
Type
Enhancement
Description
Implement vertical bar chart

Vertical bar chart Set Y axis value as predefined [X= 1 to 10, y=0% , 25 %, 50 %, 75% , 100%]

See the https://surveyjs.answerdesk.io/internal/ticket/details/T9142 thread for more details

Product
survey-analytics
Type
Enhancement
Description
Implement table representation for selectBase question type

Visualize selectbase question (radiogroup, dropdown and checkbox) as a table with percent and answer count.

See the https://surveyjs.answerdesk.io/ticket/details/t9084/is-it-possible-to-show-table-format-data-in-analytic-pack thread for more details

Product
custom-widgets
Type
Enhancement
Description
EasyAutocomplete Sorting & Usability Issues

Current Behavior - the SurveyJS example demonstrates this issue perfectly:

Screen Shot 2022-03-04 at 5 32 50 PM

It should be obvious that the ordering is horrendous - No user starts typing in "Peugeot" with a "t" - they would start typing Toyota with a "t". Ultimately, this issue makes this library unusable with large autocomplete sets, as users need to type in a significant portion of the entire item before autocorrect even displays the item they want in the list.

EasyAutocomplete can be reconfigured to sort properly - is there any interest in doing this, or adding support for a better autocomplete option, given how EasyAutocomplete has not been updated (other than by dependabot) since October 5th, 2019 (so for nearly 3 years), and also fails to provide the basic feature of enter selects first element?

The following JSON doesn't work:

        {
            "name": "date",
            "type": "datepicker",
            "inputType": "date",
            "title": "Your favorite date:",
            "dateFormat": "mm/dd/yy",
            "isRequired": true,
            "minValueExpression": "today()",
            "maxValueExpression": "today(10)"
        }        

Version: v1.9.22, released at Wednesday, March 30, 2022, Total Issue Count: 4

Product Type Description
survey-library Bug imagepicker question should not support go next page automatic in multiselect mode

If "multiselect" property is set to true then function "supportGoNextPageAutomatic()" should return false.

survey-library Enhancement Allow to hide SelectAll, None and Has Others items on designer surface

By default in Creator V2 we show on designer surface for select base questions (radigroup, checkbox, dropdown) Select All, None and has Others. By setting: Survey.settings.showDefaultItemsInCreatorV2 = false; they will not be shown.

survey-library Bug Changing cells in matrix rubric doesn't update cells immediately on screen

Setting matrix.cells doesn't update cells text in matrix. The question is not re-rendered.

survey-creator Enhancement Implement the "by page" creator editing mode: design surface shows only one page

Version: v1.9.22, released at Wednesday, March 30, 2022, Total Issue Count: 4

If "multiselect" property is set to true then function "supportGoNextPageAutomatic()" should return false.

Product
survey-library
Type
Enhancement
Description
Allow to hide SelectAll, None and Has Others items on designer surface

By default in Creator V2 we show on designer surface for select base questions (radigroup, checkbox, dropdown) Select All, None and has Others. By setting: Survey.settings.showDefaultItemsInCreatorV2 = false; they will not be shown.

Setting matrix.cells doesn't update cells text in matrix. The question is not re-rendered.

Product
survey-creator
Type
Enhancement
Description
Implement the "by page" creator editing mode: design surface shows only one page

Version: v1.9.21, released at Friday, March 25, 2022, Total Issue Count: 9

Product Type Description
survey-library Bug knockout: Navigation title and description is not updated on locale change

On changing locale navigation title and description are updated for the current page only, but they have to be updated for all pages.

survey-library Bug matrix question: changing cells property do not change matrix rendering

On setting/removing cells property do not convert matrix to matrix rubric and vice versa

survey-creator Bug V2: Question type file seems to be interactive in designer tab

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

Bug

What is the current behavior?

The cursor changes to pointer, which indicates that you can interact with it. Additionaly clicking on it gives feedback, like something should happen (but of course doesn't).

What is the expected behavior?

No click events and no changing cursor.

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

Add a question of type file.

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

Tested page URL: https://surveyjs.io/create-survey-v2

Specify your

  • browser: Chrome 98
  • editor version: 1.9.14

https://user-images.githubusercontent.com/10886924/154705358-96b55247-7313-420d-99a8-eebbd2367066.mp4

survey-creator Enhancement V2: fix popup styles in toolbox

https://www.figma.com/file/7QOeoDDCaPuqzWAROR0kDY/SurveyJS?node-id=9414%3A51795

  • fix shadow
  • fix corner rounding
  • check styles in safari
survey-creator Enhancement Fix Image design in Creator
survey-creator Bug V2 React : Survey Not showing empty on deleting all pages and questions

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

Bug in V2 React. Seems to work fine in V2 Knockout.

What is the current behavior?

  1. On a new empty survey designer page add a question. (surveyjs example: here)
  2. Switch to any other tab and return back to the designer page.
  3. Delete question1 and then page1.
  4. Survey still shows page2. When I switch the tab now and return back it shows empty. But when I again add a question the empty page message still appears and the layout seems to be broken.

Please refer attached video:

https://user-images.githubusercontent.com/13827554/157854882-f8ecc370-8c7c-4598-8257-603e80ca44cf.mp4

What is the expected behavior?

The survey designer should be empty on deleting all pages and questions immediately.

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

Mentioned above with video

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

Tested page URL: https://surveyjs.io/Examples/CreatorSinglePage?id=options&platform=ReactjsV2&theme=modern

Test code

your_code_here

Specify your

  • browser: Chrome 99
  • editor version: 1.9.19
survey-creator Bug Page enableIf property could be customized in logic tab

Logic tab doesn't support Page enableIf property in V1 and V2.

survey-creator Enhancement Add settings.logic.openBracket/closeBracket

Allow to define different brackets from "".

SurveyCreator.settings.logic.openBracket = "[";
SurveyCreator.settings.logic.closeBracket = "]";
survey-creator Bug V2: Add defaultValueExpression property into matrix column

defaultValueExpression property is not showing in property grid for matrix column

Version: v1.9.21, released at Friday, March 25, 2022, Total Issue Count: 9

On changing locale navigation title and description are updated for the current page only, but they have to be updated for all pages.

On setting/removing cells property do not convert matrix to matrix rubric and vice versa

Product
survey-creator
Type
Bug
Description
V2: Question type file seems to be interactive in designer tab

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

Bug

What is the current behavior?

The cursor changes to pointer, which indicates that you can interact with it. Additionaly clicking on it gives feedback, like something should happen (but of course doesn't).

What is the expected behavior?

No click events and no changing cursor.

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

Add a question of type file.

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

Tested page URL: https://surveyjs.io/create-survey-v2

Specify your

  • browser: Chrome 98
  • editor version: 1.9.14

https://user-images.githubusercontent.com/10886924/154705358-96b55247-7313-420d-99a8-eebbd2367066.mp4

Product
survey-creator
Type
Enhancement
Description
V2: fix popup styles in toolbox

https://www.figma.com/file/7QOeoDDCaPuqzWAROR0kDY/SurveyJS?node-id=9414%3A51795

  • fix shadow
  • fix corner rounding
  • check styles in safari
Product
survey-creator
Type
Enhancement
Description
Fix Image design in Creator

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

Bug in V2 React. Seems to work fine in V2 Knockout.

What is the current behavior?

  1. On a new empty survey designer page add a question. (surveyjs example: here)
  2. Switch to any other tab and return back to the designer page.
  3. Delete question1 and then page1.
  4. Survey still shows page2. When I switch the tab now and return back it shows empty. But when I again add a question the empty page message still appears and the layout seems to be broken.

Please refer attached video:

https://user-images.githubusercontent.com/13827554/157854882-f8ecc370-8c7c-4598-8257-603e80ca44cf.mp4

What is the expected behavior?

The survey designer should be empty on deleting all pages and questions immediately.

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

Mentioned above with video

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

Tested page URL: https://surveyjs.io/Examples/CreatorSinglePage?id=options&platform=ReactjsV2&theme=modern

Test code

your_code_here

Specify your

  • browser: Chrome 99
  • editor version: 1.9.19
Product
survey-creator
Type
Bug
Description
Page enableIf property could be customized in logic tab

Logic tab doesn't support Page enableIf property in V1 and V2.

Product
survey-creator
Type
Enhancement
Description
Add settings.logic.openBracket/closeBracket

Allow to define different brackets from "".

SurveyCreator.settings.logic.openBracket = "[";
SurveyCreator.settings.logic.closeBracket = "]";
Product
survey-creator
Type
Bug
Description
V2: Add defaultValueExpression property into matrix column

defaultValueExpression property is not showing in property grid for matrix column

Version: v1.9.20, released at Friday, March 18, 2022, Total Issue Count: 13

Product Type Description
survey-library Enhancement Ranking question: The floating item should spawn according to where it was grabbed.
survey-creator Enhancement Creator v2: The ability to display toolbox elements always with text or always compactly.
survey-creator Enhancement V2: Allow to reorder triggers in the property grid

The order of triggers execution is important. They perform one by one. That is why we have to allow Creator users to change the order.

survey-creator Bug V2, PreviewTab issues
  • check pager styles
  • leave space between pager and survey image
survey-creator Enhancement V2: fix toolbox styles

Add margin in 4px between toolbox items

survey-creator Enhancement Translation tab: fix placeholder for options, set display value

image

survey-creator Bug Wrong checkbox margin in Property grid
survey-creator Bug V2: calculated values shows two times in condition editor

The bug was reported on SurveyJS Support forum

survey-creator Enhancement PG: Matrices: Expand/Collapse Rows Issues
survey-creator Enhancement Settings: allow/disallow drag drop in property grid

based on the https://surveyjs.answerdesk.io/internal/ticket/details/T8975

  Survey.Serializer.addProperty('question', {
    name: 'someProp',
    displayName: ' ',
    type: 'itemvalues',
  });
  var editor = new SurveyCreatorCore.PropertyGridEditorMatrixItemValues();
  editor.getAllowRowDragDrop = function (prop) {
    return prop.name !== "someProp";
  }
  SurveyCreatorCore.PropertyGridEditorCollection.register(editor);
survey-creator Bug V2: creator-core doesn't work on Node Server

There is a code that using window object without checking that it exists.

survey-creator Bug Creator V2: showSidebar setting is ignored

If you set the showSidebar to false , the sidebar will still expand.

survey-pdf Bug Component with contentQuestion doesn't work correctly.

The following code will generate error in console. We do not support content question component correctly.

    ComponentCollection.Instance.add({ name: 'comp', questionJSON: { type: 'rating', choices: ['A', 'B'] } });
    const json: any = {
        questions: [
            {
                titleLocation: 'hidden',
                name: 'comp',
                type: 'comp'
            }
        ]
    };
    const survey: SurveyPDF = new SurveyPDF(json, {});

Version: v1.9.20, released at Friday, March 18, 2022, Total Issue Count: 13

Product
survey-creator
Type
Enhancement
Description
V2: Allow to reorder triggers in the property grid

The order of triggers execution is important. They perform one by one. That is why we have to allow Creator users to change the order.

Product
survey-creator
Type
Bug
Description
V2, PreviewTab issues
  • check pager styles
  • leave space between pager and survey image
Product
survey-creator
Type
Enhancement
Description
V2: fix toolbox styles

Add margin in 4px between toolbox items

Product
survey-creator
Type
Enhancement
Description
Translation tab: fix placeholder for options, set display value

image

Product
survey-creator
Type
Bug
Description
Wrong checkbox margin in Property grid
Product
survey-creator
Type
Bug
Description
V2: calculated values shows two times in condition editor

The bug was reported on SurveyJS Support forum

Product
survey-creator
Type
Enhancement
Description
PG: Matrices: Expand/Collapse Rows Issues
Product
survey-creator
Type
Enhancement
Description
Settings: allow/disallow drag drop in property grid

based on the https://surveyjs.answerdesk.io/internal/ticket/details/T8975

  Survey.Serializer.addProperty('question', {
    name: 'someProp',
    displayName: ' ',
    type: 'itemvalues',
  });
  var editor = new SurveyCreatorCore.PropertyGridEditorMatrixItemValues();
  editor.getAllowRowDragDrop = function (prop) {
    return prop.name !== "someProp";
  }
  SurveyCreatorCore.PropertyGridEditorCollection.register(editor);
Product
survey-creator
Type
Bug
Description
V2: creator-core doesn't work on Node Server

There is a code that using window object without checking that it exists.

Product
survey-creator
Type
Bug
Description
Creator V2: showSidebar setting is ignored

If you set the showSidebar to false , the sidebar will still expand.

Product
survey-pdf
Type
Bug
Description
Component with contentQuestion doesn't work correctly.

The following code will generate error in console. We do not support content question component correctly.

    ComponentCollection.Instance.add({ name: 'comp', questionJSON: { type: 'rating', choices: ['A', 'B'] } });
    const json: any = {
        questions: [
            {
                titleLocation: 'hidden',
                name: 'comp',
                type: 'comp'
            }
        ]
    };
    const survey: SurveyPDF = new SurveyPDF(json, {});

Version: v1.9.19, released at Thursday, March 10, 2022, Total Issue Count: 16

Product Type Description
survey-library Enhancement implement responsive styles for image/video in defaultV2 theme
survey-library Enhancement Implement responsive styles for ranking question in defaultV2 theme
survey-library Bug Expressions with comment values are not updated on changing comments

visibleIf in the following JSON doesn't work on changing comment:

{
    "elements": [
      {
        "type": "radiogroup",
        "name": "question1",
        "choices": [
          "item1",
          "item2",
          "item3"
        ],
        hasComment: true
      },
      {
        type: "text",
        name: "question2",
        visibleIf: "{question1-Comment.length} > 3"
      }
    ]
  }
survey-library Bug survey-knockout-ui v1.9.18 doesn't build with TypeScript

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

bug

What is the current behavior?

Package survey-knockout-ui v1.9.18 doesn't build with TypeScript, with the following error:

node_modules/survey-knockout-ui/survey-knockout-ui.d.ts(16,25): error TS2300: Duplicate identifier 'Model'.
node_modules/survey-knockout-ui/survey-knockout-ui.d.ts(18,10): error TS2300: Duplicate identifier 'Model'.

What is the expected behavior?

Package survey-knockout-ui builds properly with TypeScript (like it did with v1.9.14)

Specify your

  • browser: Chrome
  • browser version: 98
  • surveyjs platform (angular or react or jquery or knockout or vue): knockout
  • surveyjs version: 1.9.18
survey-library Enhancement Allow to create an alternative expression executor

Allow to override our default expression executor

survey-library Bug Complete button is visible on changin mode to display

Complete button is visible after this line code:

survey.mode = "display";

It should become invisible.

survey-library Bug totalType "count" doesn't work in columns in matrices

calcInArray function doesn't work for non-numeric values as result "count" tota type in column works incorrectly. Here is the related issue on SurveyJS support forum.

survey-creator Enhancement React: Perfomace: Implemented rendered pages cache

similar to rendered rows

survey-creator Enhancement Logic tab issues
survey-creator Enhancement Logic tab: update text for new unsaved rules

image

survey-creator Bug Remove hover styles for selected Tab menu

image

survey-creator Enhancement Pefomance: Drop To Ghost Page
survey-creator Bug Clear Survey button works strange

Steps to reproduce:

  1. Open creator
  2. Click Clear Survey button (at this step everything works good)
  3. Add some questions
  4. Click Clear Survey button again
  5. There will be page 2 image
survey-pdf Bug Spaces before every page when survey has logo

For detailed information see this thread in the support center

custom-widgets Bug Tagbox: unselect last value and `survey.data`

based on https://surveyjs.answerdesk.io/ticket/details/T8889

I just found out that even 2-way-data-binding is not working as expected: if you have the tagbox set with multiple values allowed, even if you deselect every single option, survey.data still contains the latest selected value.

custom-widgets Bug No-UI-slider styles

image

Version: v1.9.19, released at Thursday, March 10, 2022, Total Issue Count: 16

Product
survey-library
Type
Enhancement
Description
implement responsive styles for image/video in defaultV2 theme
Product
survey-library
Type
Enhancement
Description
Implement responsive styles for ranking question in defaultV2 theme
Product
survey-library
Type
Bug
Description
Expressions with comment values are not updated on changing comments

visibleIf in the following JSON doesn't work on changing comment:

{
    "elements": [
      {
        "type": "radiogroup",
        "name": "question1",
        "choices": [
          "item1",
          "item2",
          "item3"
        ],
        hasComment: true
      },
      {
        type: "text",
        name: "question2",
        visibleIf: "{question1-Comment.length} > 3"
      }
    ]
  }
Product
survey-library
Type
Bug
Description
survey-knockout-ui v1.9.18 doesn't build with TypeScript

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

bug

What is the current behavior?

Package survey-knockout-ui v1.9.18 doesn't build with TypeScript, with the following error:

node_modules/survey-knockout-ui/survey-knockout-ui.d.ts(16,25): error TS2300: Duplicate identifier 'Model'.
node_modules/survey-knockout-ui/survey-knockout-ui.d.ts(18,10): error TS2300: Duplicate identifier 'Model'.

What is the expected behavior?

Package survey-knockout-ui builds properly with TypeScript (like it did with v1.9.14)

Specify your

  • browser: Chrome
  • browser version: 98
  • surveyjs platform (angular or react or jquery or knockout or vue): knockout
  • surveyjs version: 1.9.18
Product
survey-library
Type
Enhancement
Description
Allow to create an alternative expression executor

Allow to override our default expression executor

Product
survey-library
Type
Bug
Description
Complete button is visible on changin mode to display

Complete button is visible after this line code:

survey.mode = "display";

It should become invisible.

Product
survey-library
Type
Bug
Description
totalType "count" doesn't work in columns in matrices

calcInArray function doesn't work for non-numeric values as result "count" tota type in column works incorrectly. Here is the related issue on SurveyJS support forum.

Product
survey-creator
Type
Enhancement
Description
React: Perfomace: Implemented rendered pages cache

similar to rendered rows

Product
survey-creator
Type
Enhancement
Description
Logic tab issues
Product
survey-creator
Type
Enhancement
Description
Logic tab: update text for new unsaved rules

image

Product
survey-creator
Type
Bug
Description
Remove hover styles for selected Tab menu

image

Product
survey-creator
Type
Enhancement
Description
Pefomance: Drop To Ghost Page
Product
survey-creator
Type
Bug
Description
Clear Survey button works strange

Steps to reproduce:

  1. Open creator
  2. Click Clear Survey button (at this step everything works good)
  3. Add some questions
  4. Click Clear Survey button again
  5. There will be page 2 image
Product
survey-pdf
Type
Bug
Description
Spaces before every page when survey has logo

For detailed information see this thread in the support center

Product
custom-widgets
Type
Bug
Description
Tagbox: unselect last value and `survey.data`

based on https://surveyjs.answerdesk.io/ticket/details/T8889

I just found out that even 2-way-data-binding is not working as expected: if you have the tagbox set with multiple values allowed, even if you deselect every single option, survey.data still contains the latest selected value.

Product
custom-widgets
Type
Bug
Description
No-UI-slider styles

image

Version: v1.9.18, released at Thursday, February 24, 2022, Total Issue Count: 2

Product Type Description
survey-creator Bug v2 - Runtime error when trying to preview empty survey in pageEditMode single

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

v2 bug

What is the current behavior?

In pageEditMode single, when opening a blank editor, navigating to the "Preview" tab throws a runtime error and is not possible.

ERROR TypeError: Cannot read properties of undefined (reading '0') at SurveyCreator../src/creator-base.ts.CreatorBase.singlePageJSON (survey-creator-core.js:11374:1)

This seems to be the problematic line in the code: https://github.com/surveyjs/survey-creator/blob/master/packages/survey-creator-core/src/creator-base.ts#L1769

surveyjs-typeerror

What is the expected behavior?

In pageEditMode single, when opening a blank editor, navigating to any tab should work without errors being thrown.

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

  • Set pageEditMode to single
  • Initialize the editor with a blank JSON (I tested null and {})
  • Without adding any questions, navigate to the "Preview" tab

Specify your

  • browser: Chrome 98
  • editor version: 1.9.15-beta.0
survey-creator Bug v2 - pageEditMode single - page information still editable after removing last question

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

v2 bug

What is the current behavior?

I have set pageEditMode to single. Since version 1.9.15-beta.0, in most of the cases the user is not able anymore to see or fill out page information, which is nice. But there is one edge case: After removing the last question, the right menu switches to "page" mode, and the user can fill out page information.

surveyjs-page-information-editable

What is the expected behavior?

In pageEditMode single, after removing the last question, the right menu switches to "survey" mode.

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

  • set pageEditMode to single
  • Open a blank survey
  • Add a question
  • Remove the question

The right menu now is in "page" mode.

Specify your

  • browser: Chrome 98
  • editor version: 1.9.15-beta.0

Version: v1.9.18, released at Thursday, February 24, 2022, Total Issue Count: 2

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

v2 bug

What is the current behavior?

In pageEditMode single, when opening a blank editor, navigating to the "Preview" tab throws a runtime error and is not possible.

ERROR TypeError: Cannot read properties of undefined (reading '0') at SurveyCreator../src/creator-base.ts.CreatorBase.singlePageJSON (survey-creator-core.js:11374:1)

This seems to be the problematic line in the code: https://github.com/surveyjs/survey-creator/blob/master/packages/survey-creator-core/src/creator-base.ts#L1769

surveyjs-typeerror

What is the expected behavior?

In pageEditMode single, when opening a blank editor, navigating to any tab should work without errors being thrown.

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

  • Set pageEditMode to single
  • Initialize the editor with a blank JSON (I tested null and {})
  • Without adding any questions, navigate to the "Preview" tab

Specify your

  • browser: Chrome 98
  • editor version: 1.9.15-beta.0

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

v2 bug

What is the current behavior?

I have set pageEditMode to single. Since version 1.9.15-beta.0, in most of the cases the user is not able anymore to see or fill out page information, which is nice. But there is one edge case: After removing the last question, the right menu switches to "page" mode, and the user can fill out page information.

surveyjs-page-information-editable

What is the expected behavior?

In pageEditMode single, after removing the last question, the right menu switches to "survey" mode.

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

  • set pageEditMode to single
  • Open a blank survey
  • Add a question
  • Remove the question

The right menu now is in "page" mode.

Specify your

  • browser: Chrome 98
  • editor version: 1.9.15-beta.0

Version: v1.9.15, released at Thursday, February 24, 2022, Total Issue Count: 9

Product Type Description
survey-library Bug 1.9.14 no longer builds with typescript, "missing Survey.Model"

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

Bug. It looks like types have been changed, and no longer correspond to the documentation.

What is the current behavior?

Fails to build with TS after updating from 1.9.12 to 1.9.14

TS2339: Property 'Model' does not exist on type 'typeof import("/home/anton/.../node_modules/survey-react/survey.react")'.

What is the expected behavior?

To build without error

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

Try and use with TS

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

Test code

const model = new Survey.Model(modelObjects);

Specify your

  • surveyjs platform (angular or react or jquery or knockout or vue): react
  • surveyjs version: survey-react 1.9.14
survey-library Enhancement Calculate matrices progressInfo without creating cell Questions

We required to create all cell questions to calculate progress info. If there are a lot of matrices it kills the performance on loading surveys. However, we can generate cell questions on showing matrices only and calculate progress info based on row count, matrix value and other column information without creating cell question and rendered tables.

survey-library Enhancement Re-export several classes from survey-core into -ui modules

Re-export into "survey-react-ui", "survey-knockout-ui", "survey-vue-ui"

export { SurveyModel, Model, SurveyWindowModel } from "survey-core";
export { settings } from "survey-core";
export { surveyLocalization, surveyStrings } from "survey-core";
survey-library Bug Timer does not work in Quiz
survey-library Enhancement expression doesn't allow using quiz-specific fields

Quiz example: https://plnkr.co/edit/1gR7x2ftKoB2OBIc?preview

The goal is to specify different complete pages based on the number of correct answers. The example uses the completedHtmlOnCondition property for this, but the complete page always display "Congratulations! You answered all the questions correctly!". Expressions in completedHtmlOnCondition use quiz-specific fields ({correctedAnswers} and {questionCount}), as described in the Create a Quiz tutorial. But if we try to check if the fields are available:

survey.runExpression("{correctedAnswers}")

... we will get null.

survey-creator Enhancement V2: pageEditMode single contains page configuration

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

It is something between a (missing) feature and a bug.

What is the current behavior?

Currently it is possible to configure surveyJS to be in single mode. This is handy, because in our case we don't need page functionality at all. Even though we disable it, we are still stuck with the following options from multi page mode

  • page title and description can be configured (additionally to the survey title and description, which is the same in our case)
  • page1 can be selected in the top right menu when opening the properties editor
  • pages are part of the json instead of the elements property directly in the survey json

Here is a screenshot displaying these points image

What is the expected behavior?

Page functionality is completly removed if pageEditMode is set to 'single'. This means

  • page title & description are unavailable
  • page1 can't be selected in the menu
  • pages are not part of the json and instead the elements property containing the questions is on the root of the json

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

Tested page URL: https://surveyjs.io/Examples/Survey-Creator?id=singlepage&platform=KnockoutjsV2&theme=modern

Test code

pageEditMode: 'single',

Specify your

  • editor version: 1.9.8-beta.1
survey-creator Enhancement V2: Refactor CreatorBase<SurveyModel> after refactoring SurveyModel in library

We removed inherited classes of SurveyModel in platforms and now it is possible to use the same SurveyModel in all platforms. As result we can simplify our code in Creator V2, remove generic CreatorBase and create survey model in core and not in react/knockout packages. It will remove some code duplication.

survey-creator Enhancement V1: Do not create logic edit visual model on loading survey

Change knockout template and replace visible data-bind in div vs <-- ko if -->

survey-pdf Enhancement Imlement applyImageFit option

See the examples of unexpected behavior in this ticket

Version: v1.9.15, released at Thursday, February 24, 2022, Total Issue Count: 9

Product
survey-library
Type
Bug
Description
1.9.14 no longer builds with typescript, "missing Survey.Model"

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

Bug. It looks like types have been changed, and no longer correspond to the documentation.

What is the current behavior?

Fails to build with TS after updating from 1.9.12 to 1.9.14

TS2339: Property 'Model' does not exist on type 'typeof import("/home/anton/.../node_modules/survey-react/survey.react")'.

What is the expected behavior?

To build without error

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

Try and use with TS

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

Test code

const model = new Survey.Model(modelObjects);

Specify your

  • surveyjs platform (angular or react or jquery or knockout or vue): react
  • surveyjs version: survey-react 1.9.14
Product
survey-library
Type
Enhancement
Description
Calculate matrices progressInfo without creating cell Questions

We required to create all cell questions to calculate progress info. If there are a lot of matrices it kills the performance on loading surveys. However, we can generate cell questions on showing matrices only and calculate progress info based on row count, matrix value and other column information without creating cell question and rendered tables.

Product
survey-library
Type
Enhancement
Description
Re-export several classes from survey-core into -ui modules

Re-export into "survey-react-ui", "survey-knockout-ui", "survey-vue-ui"

export { SurveyModel, Model, SurveyWindowModel } from "survey-core";
export { settings } from "survey-core";
export { surveyLocalization, surveyStrings } from "survey-core";
Product
survey-library
Type
Bug
Description
Timer does not work in Quiz
Product
survey-library
Type
Enhancement
Description
expression doesn't allow using quiz-specific fields

Quiz example: https://plnkr.co/edit/1gR7x2ftKoB2OBIc?preview

The goal is to specify different complete pages based on the number of correct answers. The example uses the completedHtmlOnCondition property for this, but the complete page always display "Congratulations! You answered all the questions correctly!". Expressions in completedHtmlOnCondition use quiz-specific fields ({correctedAnswers} and {questionCount}), as described in the Create a Quiz tutorial. But if we try to check if the fields are available:

survey.runExpression("{correctedAnswers}")

... we will get null.

Product
survey-creator
Type
Enhancement
Description
V2: pageEditMode single contains page configuration

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

It is something between a (missing) feature and a bug.

What is the current behavior?

Currently it is possible to configure surveyJS to be in single mode. This is handy, because in our case we don't need page functionality at all. Even though we disable it, we are still stuck with the following options from multi page mode

  • page title and description can be configured (additionally to the survey title and description, which is the same in our case)
  • page1 can be selected in the top right menu when opening the properties editor
  • pages are part of the json instead of the elements property directly in the survey json

Here is a screenshot displaying these points image

What is the expected behavior?

Page functionality is completly removed if pageEditMode is set to 'single'. This means

  • page title & description are unavailable
  • page1 can't be selected in the menu
  • pages are not part of the json and instead the elements property containing the questions is on the root of the json

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

Tested page URL: https://surveyjs.io/Examples/Survey-Creator?id=singlepage&platform=KnockoutjsV2&theme=modern

Test code

pageEditMode: 'single',

Specify your

  • editor version: 1.9.8-beta.1
Product
survey-creator
Type
Enhancement
Description
V2: Refactor CreatorBase<SurveyModel> after refactoring SurveyModel in library

We removed inherited classes of SurveyModel in platforms and now it is possible to use the same SurveyModel in all platforms. As result we can simplify our code in Creator V2, remove generic CreatorBase and create survey model in core and not in react/knockout packages. It will remove some code duplication.

Product
survey-creator
Type
Enhancement
Description
V1: Do not create logic edit visual model on loading survey

Change knockout template and replace visible data-bind in div vs <-- ko if -->

Product
survey-pdf
Type
Enhancement
Description
Imlement applyImageFit option

See the examples of unexpected behavior in this ticket

Version: v1.9.14, released at Thursday, February 17, 2022, Total Issue Count: 12

Product Type Description
survey-library Enhancement implement responsive styles for File question in defaultV2 theme
survey-library Bug matrices dynamic/dropdown, showInMultipleColumns and choiceByUrl properties do not work together

matrices columns are not re-rendered on getting column choices via choiceByUrl if showInMultipleColumns property is set to `true'. The bug was reported in SurveyJS support forum.

survey-library Bug Boolean: Keyboard Issues: Modern Theme
survey-library Enhancement Performance: Update visible indices only one time on binding

If there are many panel dynamics binded to the same question value then update visible indices can be called hundred times, if there are visibleIf expressions in dynamic panel template elements. Please read more on SurveyJS Support forum.

survey-library Bug Image Picker: Keyboard issues
survey-creator Bug V2 Serializer is undefined from survey-react-ui

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

I have found a bug while using Creator V2 where the Serializer property is not on the Survey component. I am trying to add code from the minimalistic example into the V2 creator found here(https://surveyjs.io/Examples/Survey-Creator?id=singlepage&platform=ReactjsV2&theme=modern#content-js).

I also noticed in the CreatorV2 examples if you select ReactV2 and edit in Codesandbox the page above is failing. image

What is the current behavior?

TypeError: Cannot read properties of undefined (reading 'findProperty')
>  99 | Survey.Serializer.findProperty("itemvalue", "visibleIf").visible = false;
  100 | Survey.Serializer.findProperty("itemvalue", "enableIf").visible = false;
  101 | Survey.Serializer.findProperty("itemvalue", "text").visible = false;

What is the expected behavior?

Hide item value properties

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

Try to access Serializer from the survey-react-ui library

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

import React from "react";
import * as SurveyCreator from "survey-creator-react";
import * as Survey from "survey-react-ui";

const options = {
  showJSONEditorTab: false,
  showLogicTab: false,
};

const creator = new SurveyCreator.SurveyCreator(options);

// Hide some properties of the itemvalue object
// Design itemvalue[] property editor
// Hide visbileIf, enableIf and text properties
Survey.Serializer.findProperty("itemvalue", "visibleIf").visible = false;
Survey.Serializer.findProperty("itemvalue", "enableIf").visible = false;
Survey.Serializer.findProperty("itemvalue", "text").visible = false;

export default function SurveyJS() {
  return (
    <React.Fragment>
      <React.StrictMode>
        <SurveyCreator.SurveyCreatorComponent creator={creator} />
      </React.StrictMode>
    </React.Fragment>
  );
}

Specify your

  • browser: Chrome
  • editor version:
  • "survey-core": "^1.9.3",
    
    "survey-creator-react": "^1.9.3-beta.1", "survey-react": "^1.9.4", "survey-react-ui": "^1.9.3",
survey-creator Bug Some captions not fit into compact toolbox hover
survey-creator Bug V2: Theming of choices popup does not work correctly

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

bug

What is the current behavior?

When theming the creator, the colors are not applied to the choices popup. It seems that there the variables aren't used. In the screenshot you can see, that the cancel and apply buttons don't have the lightgreen color, but stay in their default color. image

What is the expected behavior?

Custom colors are applied to the cancel and apply buttons aswell

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

  1. Go to the test page url
  2. Add question with choice (radio group, checkbox, etc)
  3. Open the choices bulk edit modal with this button image

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

Tested page URL: https://www.surveyjs.io/Examples/Creator?id=editor-custom-theme-css-vars&platform=KnockoutjsV2&theme=modern#content-result

Specify your

  • browser: Chrome 98
  • editor version: 1.9.10-beta.1
survey-creator Bug v2 - readOnly for Translation tab not working

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

Bug vor v2

What is the current behavior?

In the translation tab, after setting readOnly to true, the translation values can still be edited by the user.

image

What is the expected behavior?

In the translation tab, after setting readOnly to true, nothing can be edited

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

  1. enable translation tab
  2. enable readOnly

https://codesandbox.io/s/cool-tesla-d5y4k?file=/src/SurveyCreatorComponent.jsx

Specify your

  • editor version: 1.9.12-beta.1

re-submit of #2653 which was closed unfixed

survey-creator Bug