Cart Buy Licenses Contact Integrate into App Docs Support Login/Register
v 1.9.6

Version: v1.9.7, estimated release date is Tuesday, January 25, 2022, Total Issue Count: 16

Product Type Description
survey-library Enhancement Redesign list search in popups
survey-library Bug Matrixdynamic row drag should be disabled in readonly mode
survey-library Enhancement rating: Accessibility issue 'aria-allowed-attr'
survey-library Enhancement add supported validators for the image picker
survey-creator Bug Choices items alignment and drag icon color

image

survey-creator Bug String Editor - text not selected after click in Safari
survey-creator Bug Creator v2 Toolbox: fix hover animation for compact items
survey-creator Enhancement Implement empty survey page
survey-creator Bug Creator V2: single page mode shows page controls

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

Bug

What is the current behavior?

Page controls like Duplicate and Delete are shown in single page mode. Both of theese break the multi page support. Deletion leaves you with an unusable survey, since you cannot add a new page. Duplication breaks multi page support, since then there will be multiple pages again, which the example wants to disable.

image

What is the expected behavior?

Page controls are hidden in single page mode.

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

Specify your

  • editor version: 1.9.5-beta.1
survey-creator Enhancement Creator window adaptivity to screen width

Let's imagine that we expanded creator window to full screen. And we start to decrease the width of the window. Creator should change its view in following order:

  1. Hide toolbox captions
  2. Hide property grid
  3. Hide toolbox icons
  4. Decrease the width of survey (now step 4 appears between 1 and 2 that is not correct)

Also we need to store the reason of property-grid collapse. If property grid was collapsed by setting window width, it should be expanded if window ciome back to screen-wide size. If property grid was collapsed by youser it should stay collapsed in any cases until user expand it manually.

And we need to center design surface without regard to the toolbox and page navigator

  • survey resise priority
  • property-grid collapsing states

separete issues created for:

  • #2549
  • #2548
survey-creator Bug MatrixDynamic "allowRowsDragAndDrop" does not work in Preview (DefaultV2)
survey-creator Bug Can't change row title width in matrix questions via property grid (loses focus)
survey-creator Bug "Clear" button in Checkbox Data section should disappear after click

image

survey-creator Bug DateTime input type has no Min/Max properties

But Datetime has image

survey-creator Bug Input type Range looks and works strange

image

survey-creator Bug CV2: The minimum height in tabs is not set

Our examples in CodeSandbox in Creator V2 looks bad, because the minimum height in tabs is undefined.

Version: v1.9.7, estimated release date is Tuesday, January 25, 2022, Total Issue Count: 16

Product
survey-library
Type
Enhancement
Description
Redesign list search in popups
Product
survey-library
Type
Bug
Description
Matrixdynamic row drag should be disabled in readonly mode
Product
survey-library
Type
Enhancement
Description
rating: Accessibility issue 'aria-allowed-attr'
Product
survey-library
Type
Enhancement
Description
add supported validators for the image picker
Product
survey-creator
Type
Bug
Description
Choices items alignment and drag icon color

image

Product
survey-creator
Type
Bug
Description
String Editor - text not selected after click in Safari
Product
survey-creator
Type
Bug
Description
Creator v2 Toolbox: fix hover animation for compact items
Product
survey-creator
Type
Enhancement
Description
Implement empty survey page
Product
survey-creator
Type
Bug
Description
Creator V2: single page mode shows page controls

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

Bug

What is the current behavior?

Page controls like Duplicate and Delete are shown in single page mode. Both of theese break the multi page support. Deletion leaves you with an unusable survey, since you cannot add a new page. Duplication breaks multi page support, since then there will be multiple pages again, which the example wants to disable.

image

What is the expected behavior?

Page controls are hidden in single page mode.

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

Specify your

  • editor version: 1.9.5-beta.1
Product
survey-creator
Type
Enhancement
Description
Creator window adaptivity to screen width

Let's imagine that we expanded creator window to full screen. And we start to decrease the width of the window. Creator should change its view in following order:

  1. Hide toolbox captions
  2. Hide property grid
  3. Hide toolbox icons
  4. Decrease the width of survey (now step 4 appears between 1 and 2 that is not correct)

Also we need to store the reason of property-grid collapse. If property grid was collapsed by setting window width, it should be expanded if window ciome back to screen-wide size. If property grid was collapsed by youser it should stay collapsed in any cases until user expand it manually.

And we need to center design surface without regard to the toolbox and page navigator

  • survey resise priority
  • property-grid collapsing states

separete issues created for:

  • #2549
  • #2548
Product
survey-creator
Type
Bug
Description
"Clear" button in Checkbox Data section should disappear after click

image

Product
survey-creator
Type
Bug
Description
DateTime input type has no Min/Max properties

But Datetime has image

Product
survey-creator
Type
Bug
Description
Input type Range looks and works strange

image

Product
survey-creator
Type
Bug
Description
CV2: The minimum height in tabs is not set

Our examples in CodeSandbox in Creator V2 looks bad, because the minimum height in tabs is undefined.

Version: v1.9.6, released at Tuesday, January 18, 2022, Total Issue Count: 26

Product Type Description
survey-library Bug check margins between questions in panels in defaultV2 theme

https://user-images.githubusercontent.com/29385489/144872177-f2f2b809-2568-432e-b10a-1859999a89c7.png

For now, it has 16px in designer for current drag-drop implementation with the absolute position ghost line (it will change after animation implementation).

survey-library Bug ranking: add error state in defaultV2 theme
survey-library Enhancement Accessibility violations for checkboxes

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

Question/bug

What is the current behavior?

Violation reports based on IBM Equal Access Accessibility Checker (Chrome extension) https://chrome.google.com/webstore/detail/ibm-equal-access-accessib/lkcagbfjnkomcinoddgooolagloogehp)

<fieldset> element <legend> is empty An element with ARIA role 'checkbox' does not have the required ARIA attribute(s): 'aria-checked' The ARIA role 'checkbox' is not valid for the element <legend>

And that's because of the <legend> added like this: <legend role="checkbox" aria-label="What car are you driving?"></legend>

I can see the reasoning that you've added aria-label instead of providing a text (in other way, you'd need to visually hide it) But why <legend> even has role="checkbox"?

It's also complaining about

Accessible name does not match or contain the visible label text

I guess it doesn't like the aria-label here, which doesn't match "Ford" <input value="Ford" aria-invalid="false" aria-label="What car are you driving?" aria-required="true" id="sq_100i_0" name="car" type="checkbox" class="sv-visuallyhidden sv-item__control">

What is the expected behavior?

No violations reported

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

Run IBM Equal Access Accessibility Checker scan on a page with checkboxes

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

Tested page URL: https://surveyjs.io/Examples/Library?id=questiontype-checkbox&platform=Reactjs&theme=modern

Specify your

  • browser: Chrome
  • browser version: 96.0.4664.93
  • surveyjs platform (angular or react or jquery or knockout or vue): all, I think (but React in my case)
  • surveyjs version: 1.9.2
survey-library Bug Panel arrows are no longer displayed if the panel title is long
survey-library Bug Uncomment vue tests. Fix vue test
survey-library Bug Panel Dynamic stack error messages when calling page.hasErrors(false)

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

Bug

What is the current behavior?

When in the page a question is a paneldynamic, and the properties keyName keyDuplicationError are used, when using the function page.hasErrors(false) (so errors shouldn't be visibles), the errors do appear and stack each time hasErrors is ran.

I guess that when calling hasErrors with false, previous errors are not cleaned and still appears while they shouldn't.

As i run hasErrors on valueChange, my current workaround is to clean errors of dynamic panels before checking errors add this event handler :

onValueChanged.add((sender) => {
    sender.currentPage.getAllQuestions(true).forEach((question: Question) => {
      if (question.getType()?.toLowerCase() === "paneldynamic") {
        question.clearErrors();
      }
    });
  });

What is the expected behavior?

The errors shouldn't show and shouldn't stack

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

  • create a survey with a paneldynamic
  • use the properties keyName keyDuplicationError
  • duplicate the field
  • call page.hasErrors(false) (multiple times, each time stacking the error)

A reproduction environment is given next section on codesandbox.

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

Tested page URL: https://codesandbox.io/s/sad-waterfall-50tjm?file=/index.html To reproduce add an element then click (multiple times) on the button "check errors"

Specify your

  • browser: chrome & firefox
  • surveyjs platform (angular or react or jquery or knockout or vue): jquery
  • surveyjs version: 1.8.71
survey-library Enhancement support context parameter as true for question.addConditionObjectsByContext()

We need this functionality for Creator V2

survey-library Bug custom css doesn't apply for elements on started page

The bug was created on SurveyJS support forum.

survey-library Bug CV2: React warnings in console for popup list
survey-creator Bug Panel reference displaying empty string in SurveyCreator

Hello there with this link: https://surveyjs.io/Examples/Survey-Creator#content-result or https://surveyjs.io/Survey/Builder/

Used the following JSON:

{
 "pages": [
  {
   "name": "page1",
   "elements": [
    {
     "type": "text",
     "name": "question4"
    },
    {
     "type": "paneldynamic",
     "name": "question1",
     "templateElements": [
      {
       "type": "text",
       "name": "question3"
      },
      {
       "type": "text",
       "name": "question2",
       "title": "How are you {panel.question3}? How are you {question4}?"
      }
     ]
    }
   ]
  }
 ]
}

image

You'll notice in the survey editor the -> becomes "" but yet is still shown as "".

This makes it a bit tricky when filling out a survey using the designer, as it appears How are you ? shows up instead of How are you ?

When you run the test the survey it's as expected, both are blank obviously:

image

survey-creator Bug Popup search should not be scrolled out of the window

image

survey-creator Enhancement Implement Scrollbar CSS

Scrollbar background should be the same as control background

::-webkit-scrollbar {
  width: 12px;
}

::-webkit-scrollbar-track {
  background: transparent; 
}

::-webkit-scrollbar-thumb {
  border: 4px solid rgba(0, 0, 0, 0);
  background-clip: padding-box;
  border-radius: 32px;
  background-color: #d6d6d6;
}

::-webkit-scrollbar-thumb:hover {
  border: 2px solid rgba(0, 0, 0, 0);
  background-color: #909090;
}

Scrollbar-01 Scrollbar-02

survey-creator Enhancement check styles for fast entry comment in logic. add placeholder text
survey-creator Enhancement Logic tab: implement errors in condition
survey-creator Enhancement Check select panel and select question placeholder switch.
survey-creator Bug CV2: Implement "Page N" placeholder text for page without titles
survey-creator Bug Reset boolean value after clear Default value

image

survey-creator Enhancement Rating items should allow inline editing
survey-creator Enhancement [V2] Choices editor missing column headers

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

Bug

What is the current behavior?

image

In v2 the choices editor no longer has columns header. While one could argue that for those 2 columns it is logical that it's value | label, this quickly breaks down when using a custom itemvalue type:

image

What is the expected behavior?

I'd expect to see column headers for clarity.

survey-creator Enhancement The NVDA screenreader is announcing the "Default value" text box as "Question edit"
survey-creator Bug Matrix dropdown: isUnique is missing from the settings panel
survey-creator Bug V2: Panel dynamic: panelsState doesn't change at runtime

What is the current behavior?

When the "Panels state" dropdown is changed to "collapsed", it doesn't apply - panels appear expanded. Here's a screencapture.

What is the expected behavior?

Panels are collapsed in the preview.

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

  1. Open the Survey Creator.
  2. Add panel dynamic to the canvas.
  3. Add a couple of question to the panel.
  4. Set Panels state to "collapsed".
  5. Switch to the Preview tab.

I'm using the React version.

survey-creator Bug CV2: convertToCamelCase doesn't work correctly for uppercase only words

convertToCamelCase function in editorLocalization doesn't work correctly. It works correctly for strings like "onTop" => "On top", but it doesnt' work for "USD". It convert it to "U S D" or "u s d" based on options. It should be "USD".

survey-creator Bug DND: doesn't work with some touch devices (laptop)
survey-creator Enhancement CV2: Support panel dynamic template elements in Logic Tab

Creator doesn't allow to view/edit logic for template elements of panel dynamic question. It should be implemented similar to matrices columns.

survey-analytics Enhancement Support "Show missing answers" option

Support an option to show missing answers count - illustrate how many people do NOT answer a question. For a while this option is supported for boolean, checkbox, dropdown, radiogroup, imagepicker and ranking question types.

image

Version: v1.9.6, released at Tuesday, January 18, 2022, Total Issue Count: 26

Product
survey-library
Type
Bug
Description
check margins between questions in panels in defaultV2 theme

https://user-images.githubusercontent.com/29385489/144872177-f2f2b809-2568-432e-b10a-1859999a89c7.png

For now, it has 16px in designer for current drag-drop implementation with the absolute position ghost line (it will change after animation implementation).

Product
survey-library
Type
Bug
Description
ranking: add error state in defaultV2 theme
Product
survey-library
Type
Enhancement
Description
Accessibility violations for checkboxes

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

Question/bug

What is the current behavior?

Violation reports based on IBM Equal Access Accessibility Checker (Chrome extension) https://chrome.google.com/webstore/detail/ibm-equal-access-accessib/lkcagbfjnkomcinoddgooolagloogehp)

<fieldset> element <legend> is empty An element with ARIA role 'checkbox' does not have the required ARIA attribute(s): 'aria-checked' The ARIA role 'checkbox' is not valid for the element <legend>

And that's because of the <legend> added like this: <legend role="checkbox" aria-label="What car are you driving?"></legend>

I can see the reasoning that you've added aria-label instead of providing a text (in other way, you'd need to visually hide it) But why <legend> even has role="checkbox"?

It's also complaining about

Accessible name does not match or contain the visible label text

I guess it doesn't like the aria-label here, which doesn't match "Ford" <input value="Ford" aria-invalid="false" aria-label="What car are you driving?" aria-required="true" id="sq_100i_0" name="car" type="checkbox" class="sv-visuallyhidden sv-item__control">

What is the expected behavior?

No violations reported

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

Run IBM Equal Access Accessibility Checker scan on a page with checkboxes

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

Tested page URL: https://surveyjs.io/Examples/Library?id=questiontype-checkbox&platform=Reactjs&theme=modern

Specify your

  • browser: Chrome
  • browser version: 96.0.4664.93
  • surveyjs platform (angular or react or jquery or knockout or vue): all, I think (but React in my case)
  • surveyjs version: 1.9.2
Product
survey-library
Type
Bug
Description
Panel arrows are no longer displayed if the panel title is long
Product
survey-library
Type
Bug
Description
Uncomment vue tests. Fix vue test
Product
survey-library
Type
Bug
Description
Panel Dynamic stack error messages when calling page.hasErrors(false)

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

Bug

What is the current behavior?

When in the page a question is a paneldynamic, and the properties keyName keyDuplicationError are used, when using the function page.hasErrors(false) (so errors shouldn't be visibles), the errors do appear and stack each time hasErrors is ran.

I guess that when calling hasErrors with false, previous errors are not cleaned and still appears while they shouldn't.

As i run hasErrors on valueChange, my current workaround is to clean errors of dynamic panels before checking errors add this event handler :

onValueChanged.add((sender) => {
    sender.currentPage.getAllQuestions(true).forEach((question: Question) => {
      if (question.getType()?.toLowerCase() === "paneldynamic") {
        question.clearErrors();
      }
    });
  });

What is the expected behavior?

The errors shouldn't show and shouldn't stack

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

  • create a survey with a paneldynamic
  • use the properties keyName keyDuplicationError
  • duplicate the field
  • call page.hasErrors(false) (multiple times, each time stacking the error)

A reproduction environment is given next section on codesandbox.

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

Tested page URL: https://codesandbox.io/s/sad-waterfall-50tjm?file=/index.html To reproduce add an element then click (multiple times) on the button "check errors"

Specify your

  • browser: chrome & firefox
  • surveyjs platform (angular or react or jquery or knockout or vue): jquery
  • surveyjs version: 1.8.71
Product
survey-library
Type
Enhancement
Description
support context parameter as true for question.addConditionObjectsByContext()

We need this functionality for Creator V2

Product
survey-library
Type
Bug
Description
custom css doesn't apply for elements on started page

The bug was created on SurveyJS support forum.

Product
survey-library
Type
Bug
Description
CV2: React warnings in console for popup list
Product
survey-creator
Type
Bug
Description
Panel reference displaying empty string in SurveyCreator

Hello there with this link: https://surveyjs.io/Examples/Survey-Creator#content-result or https://surveyjs.io/Survey/Builder/

Used the following JSON:

{
 "pages": [
  {
   "name": "page1",
   "elements": [
    {
     "type": "text",
     "name": "question4"
    },
    {
     "type": "paneldynamic",
     "name": "question1",
     "templateElements": [
      {
       "type": "text",
       "name": "question3"
      },
      {
       "type": "text",
       "name": "question2",
       "title": "How are you {panel.question3}? How are you {question4}?"
      }
     ]
    }
   ]
  }
 ]
}

image

You'll notice in the survey editor the -> becomes "" but yet is still shown as "".

This makes it a bit tricky when filling out a survey using the designer, as it appears How are you ? shows up instead of How are you ?

When you run the test the survey it's as expected, both are blank obviously:

image

Product
survey-creator
Type
Bug
Description
Popup search should not be scrolled out of the window

image

Product
survey-creator
Type
Enhancement
Description
Implement Scrollbar CSS

Scrollbar background should be the same as control background

::-webkit-scrollbar {
  width: 12px;
}

::-webkit-scrollbar-track {
  background: transparent; 
}

::-webkit-scrollbar-thumb {
  border: 4px solid rgba(0, 0, 0, 0);
  background-clip: padding-box;
  border-radius: 32px;
  background-color: #d6d6d6;
}

::-webkit-scrollbar-thumb:hover {
  border: 2px solid rgba(0, 0, 0, 0);
  background-color: #909090;
}

Scrollbar-01 Scrollbar-02

Product
survey-creator
Type
Enhancement
Description
check styles for fast entry comment in logic. add placeholder text
Product
survey-creator
Type
Enhancement
Description
Logic tab: implement errors in condition
Product
survey-creator
Type
Enhancement
Description
Check select panel and select question placeholder switch.
Product
survey-creator
Type
Bug
Description
CV2: Implement "Page N" placeholder text for page without titles
Product
survey-creator
Type
Bug
Description
Reset boolean value after clear Default value

image

Product
survey-creator
Type
Enhancement
Description
Rating items should allow inline editing
Product
survey-creator
Type
Enhancement
Description
[V2] Choices editor missing column headers

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

Bug

What is the current behavior?

image

In v2 the choices editor no longer has columns header. While one could argue that for those 2 columns it is logical that it's value | label, this quickly breaks down when using a custom itemvalue type:

image

What is the expected behavior?

I'd expect to see column headers for clarity.

Product
survey-creator
Type
Bug
Description
Matrix dropdown: isUnique is missing from the settings panel
Product
survey-creator
Type
Bug
Description
V2: Panel dynamic: panelsState doesn't change at runtime

What is the current behavior?

When the "Panels state" dropdown is changed to "collapsed", it doesn't apply - panels appear expanded. Here's a screencapture.

What is the expected behavior?

Panels are collapsed in the preview.

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

  1. Open the Survey Creator.
  2. Add panel dynamic to the canvas.
  3. Add a couple of question to the panel.
  4. Set Panels state to "collapsed".
  5. Switch to the Preview tab.

I'm using the React version.

convertToCamelCase function in editorLocalization doesn't work correctly. It works correctly for strings like "onTop" => "On top", but it doesnt' work for "USD". It convert it to "U S D" or "u s d" based on options. It should be "USD".

Product
survey-creator
Type
Bug
Description
DND: doesn't work with some touch devices (laptop)
Product
survey-creator
Type
Enhancement
Description
CV2: Support panel dynamic template elements in Logic Tab

Creator doesn't allow to view/edit logic for template elements of panel dynamic question. It should be implemented similar to matrices columns.

Product
survey-analytics
Type
Enhancement
Description
Support "Show missing answers" option

Support an option to show missing answers count - illustrate how many people do NOT answer a question. For a while this option is supported for boolean, checkbox, dropdown, radiogroup, imagepicker and ranking question types.

image

Version: v1.9.5, released at Wednesday, January 12, 2022, Total Issue Count: 9

Product Type Description
survey-library Enhancement Improve functionality of question.defaultValueExpression property

Currently defaultValueExpression works on loading survey model. It works perfectly for the following scenario: defaultValueExpression: "today()". In this case the question value will be the current date on loading survey. In some cases, it is useful to have default value that assign from another question and it should be assign during survey running. For example: defaultValueExpression: "{home_address}" for "deliver_address". The value should be assign from "home_address" question on any "home_address" change, until a user do not change the question value for "deliver_address" directly. This functinality work in matrix dynamic/dropdown as defaultValueExpression: "{row.home_address}" and panel dynamic as defaultValueExpression: "{panel.home_address}".

survey-library Bug Matrixdropdown could produce an JavaScript on exeting hasErrors function

Currently, we could not reproduce the error. The error happens in this function. We need to reproduce the issue to write a unit test.

  private hasErrorInRows(fireCallback: boolean, rec: any): boolean {
    if (!this.generatedVisibleRows) {
      const rows = this.visibleRows;
    }
    var res = false;
    if (!rec) rec = {};
    
    rec.isSingleDetailPanel = this.detailPanelMode === "underRowSingle";
// Here is the error check on existing this.generatedVisibleRows is needed. 
// However the first line should generate rows.
    for (var i = 0; i < this.generatedVisibleRows.length; i++) {
      res =
        this.generatedVisibleRows[i].hasErrors(fireCallback, rec, () => {
          this.raiseOnCompletedAsyncValidators();
        }) || res;
    }
    return res;
  }

survey-creator Enhancement Implement and fix Ranking design

See Design buglist: Designer->Questions->Ranking

survey-creator Enhancement implement click on logic row to expand/collapse rules
survey-creator Enhancement Logic tab: generate title of rules
survey-creator Bug Get rid of all !important words in survey creator css
survey-creator Bug Creator V2: Property grid does not support property.onPropertyEditorUpdate callback function

The min/max property editors doesn't chagne their input type on changing text question input type. Here is "max" property definition:

    {
      name: "max",
      dependsOn: "inputType",
      nextToProperty: "*min",
      visibleIf: function(obj: any) {
        return !!obj && obj.isMinMaxType;
      },
      onPropertyEditorUpdate: function(obj: any, propertyEditor: any) {
        propertyEditor.inputType = obj.inputType;
      },
    }

"onPropertyEditorUpdate" function should be called initionally and then on changing "inputType" property.

survey-creator Bug Creator V2: Could not set visibleIf/enableIf for panel in Logic Tab

Setting panel visibleIf/enableIf properties in Logic tab does nothing.

survey-creator Bug [V2] allowEditSurveyTitle causes crash when certain properties are removed

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

Bug

What is the current behavior?

When removing some properties from the serializer the V2 creator won't start because the construct fails.

Specifically this part of the code:

set allowEditSurveyTitle(val: boolean) {
    ["title", "description", "logo", "showTitle", "logoWidth", "logoHeight", "logoFit"].forEach(propertyName => Serializer.findProperty("survey", propertyName).visible = val);
    this.setPropertyValue("allowEditSurveyTitle", val);
    this.designerPropertyGrid && this.designerPropertyGrid.refresh();
  }

This code makes it so that if someone removes any of those properties via Survey.Serializer.removeProperty("survey", property)); the creator won't work at all.

A simple solution would be to check whether the property exists before calling .visible = val on it.

Version: v1.9.5, released at Wednesday, January 12, 2022, Total Issue Count: 9

Product
survey-library
Type
Enhancement
Description
Improve functionality of question.defaultValueExpression property

Currently defaultValueExpression works on loading survey model. It works perfectly for the following scenario: defaultValueExpression: "today()". In this case the question value will be the current date on loading survey. In some cases, it is useful to have default value that assign from another question and it should be assign during survey running. For example: defaultValueExpression: "{home_address}" for "deliver_address". The value should be assign from "home_address" question on any "home_address" change, until a user do not change the question value for "deliver_address" directly. This functinality work in matrix dynamic/dropdown as defaultValueExpression: "{row.home_address}" and panel dynamic as defaultValueExpression: "{panel.home_address}".

Currently, we could not reproduce the error. The error happens in this function. We need to reproduce the issue to write a unit test.

  private hasErrorInRows(fireCallback: boolean, rec: any): boolean {
    if (!this.generatedVisibleRows) {
      const rows = this.visibleRows;
    }
    var res = false;
    if (!rec) rec = {};
    
    rec.isSingleDetailPanel = this.detailPanelMode === "underRowSingle";
// Here is the error check on existing this.generatedVisibleRows is needed. 
// However the first line should generate rows.
    for (var i = 0; i < this.generatedVisibleRows.length; i++) {
      res =
        this.generatedVisibleRows[i].hasErrors(fireCallback, rec, () => {
          this.raiseOnCompletedAsyncValidators();
        }) || res;
    }
    return res;
  }

Product
survey-creator
Type
Enhancement
Description
Implement and fix Ranking design

See Design buglist: Designer->Questions->Ranking

Product
survey-creator
Type
Enhancement
Description
implement click on logic row to expand/collapse rules
Product
survey-creator
Type
Enhancement
Description
Logic tab: generate title of rules
Product
survey-creator
Type
Bug
Description
Get rid of all !important words in survey creator css

The min/max property editors doesn't chagne their input type on changing text question input type. Here is "max" property definition:

    {
      name: "max",
      dependsOn: "inputType",
      nextToProperty: "*min",
      visibleIf: function(obj: any) {
        return !!obj && obj.isMinMaxType;
      },
      onPropertyEditorUpdate: function(obj: any, propertyEditor: any) {
        propertyEditor.inputType = obj.inputType;
      },
    }

"onPropertyEditorUpdate" function should be called initionally and then on changing "inputType" property.

Product
survey-creator
Type
Bug
Description
Creator V2: Could not set visibleIf/enableIf for panel in Logic Tab

Setting panel visibleIf/enableIf properties in Logic tab does nothing.

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

Bug

What is the current behavior?

When removing some properties from the serializer the V2 creator won't start because the construct fails.

Specifically this part of the code:

set allowEditSurveyTitle(val: boolean) {
    ["title", "description", "logo", "showTitle", "logoWidth", "logoHeight", "logoFit"].forEach(propertyName => Serializer.findProperty("survey", propertyName).visible = val);
    this.setPropertyValue("allowEditSurveyTitle", val);
    this.designerPropertyGrid && this.designerPropertyGrid.refresh();
  }

This code makes it so that if someone removes any of those properties via Survey.Serializer.removeProperty("survey", property)); the creator won't work at all.

A simple solution would be to check whether the property exists before calling .visible = val on it.

Version: v1.9.4, released at Thursday, December 30, 2021, Total Issue Count: 48

Product Type Description
survey-library Enhancement Implement placeholder for an empty matrix dynamic

For Creator V2 property grid - implement placeholder for an empty collection

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

survey-library Enhancement Implement 'Thank you for completing survey' message styles in defaultV2 theme
survey-library Enhancement Ranking of interactive elements

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

Bug

What is the current behavior?

The ranking elements in a ranking question may contain HTML, for example images. When this is the case, dragging an image sometimes starts the browser's standard behavior of dragging the image content.

What is the expected behavior?

Dragging anywhere on the ranking content should activate the standard ranking behavior

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

Put images in the ranking question

Solution

Add CSS pointer-events: none to ranking label children.

.sv-ranking-item__content > * {
    pointer-events: none;
}

Workaround

Currently there is a workaround available by manually adding the CSS inline to whatever content is in the ranking choice, alternatively it could be set in a custom theme or CSS sheet. This therefore has no priority for me, and you should decide whether this (images in rankign) is even supported before you implement this fix ;-)

survey-library Bug Bug: undefined error when typing in checkbox other comment with `"textUpdateMode": "onTyping"

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

Bug

What is the current behavior?

When you type in the other comment field of a checkbox, there is an error happening in the console:

Uncaught TypeError: e.target is undefined                                   survey.jquery.min.js:11:374205

What is the expected behavior?

No errors should happen when you type a comment.

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

Add a checkbox with hasOther=true and add "textUpdateMode": "onTyping" setting to a survey.

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

https://plnkr.co/edit/py4ZMSkvbXuBJbTz

Specify your

  • browser: Firefox
  • browser version: latest
  • surveyjs platform (angular or react or jquery or knockout or vue): jquery
  • surveyjs version: 1.9.1 and 1.9.3 for sure
survey-library Enhancement get shortcutText unit tests
survey-library Bug Ranking question in readonly mode

Was not implemented.

The sample:

var survey = new SurveyModel({
    elements: [
      {
        type: "ranking",
        name: "q",
        choices: ["a", "b", "c"],
      },
    ],
  });
survey.mode = "display";
survey-library Bug If the adaptive container contains a single element, do not show the dots element.
survey-library Bug defaultValue in customQuestion is not set into inner question in design mode

The following code doesn't work correctly:

  Survey.ComponentCollection.Instance.add({
    name: "customerinfo",
    elementsJSON: [
      { type: "text", name: "firstName" },
      { type: "text", name: "lastName" },
    ],
  });
  var survey = new SurveyModel();
  survey.setDesignMode(true);
  survey.fromJSON({
    elements: [{ type: "customerinfo", name: "q1", isRequired: true, defaultValue: { firstName: "Jon", lastName: "Snow" } }],
  });

The default value is not set into inner questions in design mode (Creator). However, it works perfectly in run-time.

survey-library Enhancement Implement displayRateDescriptionsAsExtremeItems property for rating question and fix design

referenced to surveyjs/survey-creator#2311

survey-library Enhancement Broken Rating rendering in Creator V2 Knockout

image

survey-library Bug survey-knockout: some bindings contain fat arrow functions
survey-creator Bug DnD: Choices: styles bug

image

survey-creator Bug Popup: scrollbar and white space appears if the text of the element is too long

image

survey-creator Enhancement Drag and Drop styling

Current design: image image

Needed design: https://www.figma.com/file/7QOeoDDCaPuqzWAROR0kDY/SurveyJS?node-id=9927%3A76581

survey-creator Enhancement Reset selection on click out of page

And show Survey settings

survey-creator Enhancement Designer Surface Issues
survey-creator Enhancement Fix hasComment and "Other" behaviour

If to set "Other" then set "Has comment", it will be strange result (Fig. 1)

image https://www.figma.com/file/7QOeoDDCaPuqzWAROR0kDY/SurveyJS?node-id=9312%3A175584

Refers to #2370

survey-creator Enhancement Remove tooltips from Select items (ARIA?)

image

survey-creator Enhancement Implement and fix Rating design

See Design buglist: Designer->Questions->Rating

survey-creator Bug V2: Toolbox questions names are not visible

Hide and then open property grid to reproduce this behavior image

survey-creator Enhancement DnD: SurveyElement: "click or drag"

add "clickOrDrag" functionality to "start drag zone":

image

survey-creator Enhancement fix logic operators look in safari
survey-creator Enhancement fix padddings and margins and alignments in logic, add bottom padding on logic tab
survey-creator Enhancement check colors for logic items
survey-creator Enhancement check errors popup styles in logic
survey-creator Enhancement remove big margins for remove icon in logic panel
survey-creator Enhancement implements states (hover, focus) for logic actions
survey-creator Enhancement remove titleLocation hidden from original questions in logic
  • #2457
  • #2458
survey-creator Bug CreatorV2: popup of object selector does not visible if sideBar flyoutPanelMode is set to true

image

survey-creator Bug Creator V2: Property grid design issues
  • Wrong property grid bottom color
  • Wrong group header hover and expanded states
  • Wrong input/comment focus state
  • Fix rounded corners in dropdown
  • Fix multiline text spacing and font
  • Implement checkboxes grouping
  • Check tab navigation in Safari: checkboxes - created issue https://github.com/surveyjs/survey-creator/issues/2432
  • wrong checkbox icon
survey-creator Bug Creator V2: support inplaceEditForValues property in Creator

We missed creator.inplaceEditForValues property support in V2.

survey-creator Bug TypeScript: Invalid type declarations

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

We're trying to incorporate the surveyjs survey creator into our project (we, Caribou Inc, paid a license .. not sure if that warrants escalated support or not) however the project doesn't compile.

What is the current behavior?

Video: https://share.vidyard.com/watch/ASJXxiZbPVfUaVEibBZJfp

Repro: https://github.com/supermacro/survey-js-react-issue-repro

As you can see in the video, there are illegal assignments, name conflicts, invalid module structure (using UMD) and missing modules.

What is the expected behavior?

There shouldn't be any compiler errors.

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

https://github.com/supermacro/survey-js-react-issue-repro

survey-creator Bug Radio/Checkbox items are editable with String Editor when choices or itemvalue text are readonly
survey-creator Bug Radio/Checkbox items are editable with propertygrid when choices are readonly
survey-creator Bug Object selector is hidden under property grid in tablet mode

image

survey-creator Enhancement Styles for startWithNewLine=false questions V2
survey-creator Bug Expand/collapse icon doesn't update icon when adding new rule
survey-creator Enhancement remove titleLocation hidden from original questions in logic conditions
survey-creator Enhancement remove titleLocation hidden from original questions in logic actions
survey-creator Enhancement Creator V2: support showToolbox property, as in creator V1
survey-creator Bug DND: paneldynamic issues
  • blinking after #2288
  • react: empty css styles doesn't work (simple panel works as expected)
survey-creator Bug KO: Panel Dynamic: Empty State: Add Question button

In knockout paneldynamic's empty state markup doesn't contain the "Add Question" button:

image

https://surveyjstest.azurewebsites.net/create-survey-v2

react: image

survey-creator Bug CreatorV2: matrix editor popup has lost background color

image

survey-creator Bug DND: PanelDymanic: We could drop PD into itself
survey-creator Bug V2: remove condition/action button hover state in logic is broken

image

survey-creator Bug Fix code with new typings in Creator code

Code is not compiled with new typings. There are several erros.

survey-creator Bug V2: impossible to convert a question to a component
survey-pdf Enhancement Implement brick to render custom elements

Version: v1.9.4, released at Thursday, December 30, 2021, Total Issue Count: 48

Product
survey-library
Type
Enhancement
Description
Implement placeholder for an empty matrix dynamic

For Creator V2 property grid - implement placeholder for an empty collection

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

Product
survey-library
Type
Enhancement
Description
Implement 'Thank you for completing survey' message styles in defaultV2 theme
Product
survey-library
Type
Enhancement
Description
Ranking of interactive elements

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

Bug

What is the current behavior?

The ranking elements in a ranking question may contain HTML, for example images. When this is the case, dragging an image sometimes starts the browser's standard behavior of dragging the image content.

What is the expected behavior?

Dragging anywhere on the ranking content should activate the standard ranking behavior

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

Put images in the ranking question

Solution

Add CSS pointer-events: none to ranking label children.

.sv-ranking-item__content > * {
    pointer-events: none;
}

Workaround

Currently there is a workaround available by manually adding the CSS inline to whatever content is in the ranking choice, alternatively it could be set in a custom theme or CSS sheet. This therefore has no priority for me, and you should decide whether this (images in rankign) is even supported before you implement this fix ;-)

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

Bug

What is the current behavior?

When you type in the other comment field of a checkbox, there is an error happening in the console:

Uncaught TypeError: e.target is undefined                                   survey.jquery.min.js:11:374205

What is the expected behavior?

No errors should happen when you type a comment.

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

Add a checkbox with hasOther=true and add "textUpdateMode": "onTyping" setting to a survey.

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

https://plnkr.co/edit/py4ZMSkvbXuBJbTz

Specify your

  • browser: Firefox
  • browser version: latest
  • surveyjs platform (angular or react or jquery or knockout or vue): jquery
  • surveyjs version: 1.9.1 and 1.9.3 for sure
Product
survey-library
Type
Enhancement
Description
get shortcutText unit tests
Product
survey-library
Type
Bug
Description
Ranking question in readonly mode

Was not implemented.

The sample:

var survey = new SurveyModel({
    elements: [
      {
        type: "ranking",
        name: "q",
        choices: ["a", "b", "c"],
      },
    ],
  });
survey.mode = "display";

The following code doesn't work correctly:

  Survey.ComponentCollection.Instance.add({
    name: "customerinfo",
    elementsJSON: [
      { type: "text", name: "firstName" },
      { type: "text", name: "lastName" },
    ],
  });
  var survey = new SurveyModel();
  survey.setDesignMode(true);
  survey.fromJSON({
    elements: [{ type: "customerinfo", name: "q1", isRequired: true, defaultValue: { firstName: "Jon", lastName: "Snow" } }],
  });

The default value is not set into inner questions in design mode (Creator). However, it works perfectly in run-time.

referenced to surveyjs/survey-creator#2311

Product
survey-library
Type
Enhancement
Description
Broken Rating rendering in Creator V2 Knockout

image

Product
survey-library
Type
Bug
Description
survey-knockout: some bindings contain fat arrow functions
Product
survey-creator
Type
Bug
Description
DnD: Choices: styles bug

image

image

Product
survey-creator
Type
Enhancement
Description
Drag and Drop styling

Current design: image image

Needed design: https://www.figma.com/file/7QOeoDDCaPuqzWAROR0kDY/SurveyJS?node-id=9927%3A76581

Product
survey-creator
Type
Enhancement
Description
Reset selection on click out of page

And show Survey settings

Product
survey-creator
Type
Enhancement
Description
Designer Surface Issues
Product
survey-creator
Type
Enhancement
Description
Fix hasComment and "Other" behaviour

If to set "Other" then set "Has comment", it will be strange result (Fig. 1)

image https://www.figma.com/file/7QOeoDDCaPuqzWAROR0kDY/SurveyJS?node-id=9312%3A175584

Refers to #2370

Product
survey-creator
Type
Enhancement
Description
Remove tooltips from Select items (ARIA?)

image

Product
survey-creator
Type
Enhancement
Description
Implement and fix Rating design

See Design buglist: Designer->Questions->Rating

Product
survey-creator
Type
Bug
Description
V2: Toolbox questions names are not visible

Hide and then open property grid to reproduce this behavior image

Product
survey-creator
Type
Enhancement
Description
DnD: SurveyElement: "click or drag"

add "clickOrDrag" functionality to "start drag zone":

image

Product
survey-creator
Type
Enhancement
Description
fix logic operators look in safari
Product
survey-creator
Type
Enhancement
Description
check colors for logic items
Product
survey-creator
Type
Enhancement
Description
check errors popup styles in logic
Product
survey-creator
Type
Enhancement
Description
remove big margins for remove icon in logic panel
Product
survey-creator
Type
Enhancement
Description
implements states (hover, focus) for logic actions
Product
survey-creator
Type
Enhancement
Description
remove titleLocation hidden from original questions in logic
  • #2457
  • #2458

image

Product
survey-creator
Type
Bug
Description
Creator V2: Property grid design issues
  • Wrong property grid bottom color
  • Wrong group header hover and expanded states
  • Wrong input/comment focus state
  • Fix rounded corners in dropdown
  • Fix multiline text spacing and font
  • Implement checkboxes grouping
  • Check tab navigation in Safari: checkboxes - created issue https://github.com/surveyjs/survey-creator/issues/2432
  • wrong checkbox icon
Product
survey-creator
Type
Bug
Description
Creator V2: support inplaceEditForValues property in Creator

We missed creator.inplaceEditForValues property support in V2.

Product
survey-creator
Type
Bug
Description
TypeScript: Invalid type declarations

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

We're trying to incorporate the surveyjs survey creator into our project (we, Caribou Inc, paid a license .. not sure if that warrants escalated support or not) however the project doesn't compile.

What is the current behavior?

Video: https://share.vidyard.com/watch/ASJXxiZbPVfUaVEibBZJfp

Repro: https://github.com/supermacro/survey-js-react-issue-repro

As you can see in the video, there are illegal assignments, name conflicts, invalid module structure (using UMD) and missing modules.

What is the expected behavior?

There shouldn't be any compiler errors.

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

https://github.com/supermacro/survey-js-react-issue-repro

Product
survey-creator
Type
Bug
Description
Object selector is hidden under property grid in tablet mode

image

Product
survey-creator
Type
Enhancement
Description
Styles for startWithNewLine=false questions V2
Product
survey-creator
Type
Bug
Description
Expand/collapse icon doesn't update icon when adding new rule
Product
survey-creator
Type
Enhancement
Description
remove titleLocation hidden from original questions in logic conditions
Product
survey-creator
Type
Enhancement
Description
remove titleLocation hidden from original questions in logic actions
Product
survey-creator
Type
Enhancement
Description
Creator V2: support showToolbox property, as in creator V1
Product
survey-creator
Type
Bug
Description
DND: paneldynamic issues
  • blinking after #2288
  • react: empty css styles doesn't work (simple panel works as expected)
Product
survey-creator
Type
Bug
Description
KO: Panel Dynamic: Empty State: Add Question button

In knockout paneldynamic's empty state markup doesn't contain the "Add Question" button:

image

https://surveyjstest.azurewebsites.net/create-survey-v2

react: image

Product
survey-creator
Type
Bug
Description
CreatorV2: matrix editor popup has lost background color

image

Product
survey-creator
Type
Bug
Description
DND: PanelDymanic: We could drop PD into itself
Product
survey-creator
Type
Bug
Description
V2: remove condition/action button hover state in logic is broken

image

Product
survey-creator
Type
Bug
Description
Fix code with new typings in Creator code

Code is not compiled with new typings. There are several erros.

Product
survey-creator
Type
Bug
Description
V2: impossible to convert a question to a component
Product
survey-pdf
Type
Enhancement
Description
Implement brick to render custom elements

Version: v1.9.3, released at Wednesday, December 22, 2021, Total Issue Count: 28

Product Type Description
survey-library Enhancement remove frames from image/html questions in defaultV2 theme, stretch image in image question to 100% width

it is decorative element and should be treated not like questions/panels

survey-library Enhancement implement placeholder for paneldynamic when panelCount: 0 in defaultV2
survey-library Bug react: text processing not working in html

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

bug

What is the current behavior?

it seems that html question does not apply text processing using other question ref before displaying

https://plnkr.co/edit/QZdMoItJiyln4blN

survey-library Bug react: 'Other' textarea always visible

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

Bug

What is the current behavior?

'Other' textarea is always visible for radiogroup, no matter if radio button associated with it is selected or not.

What is the expected behavior?

'Other' textarea should be only presented, when 'Other' radio option is selected.

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

Just enable 'other' for radiogroup (hasOther: true)

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

Currently visible on examples page as well. Tested page URL: https://surveyjs.io/Examples/Library?id=questiontype-radiogroup&platform=Reactjs&theme=modern

Test code

{
    type: "radiogroup",
    name: "gender",
    isRequired: true,
    hasOther: true
}

Specify your

  • browser: Chrome
  • browser version: 96.0.4664.93
  • surveyjs platform (angular or react or jquery or knockout or vue): React
  • surveyjs version: 1.9.2
survey-library Bug String values passed into Matrix can throw error when total properties are set.

For Matrix questions (choices/dynamic), there are occasions where the total calculations can receive a string value causing a javascript error.

Ran into this issue - see plunker: https://plnkr.co/edit/FVf5RrsbUJVeaE0J

Matrix (choices) - 3 Rows | CellType: 'Single Input' -> Column | Edit => "ColumnC" Properties: Total: 'sum', InputMask: 'Currency'

You see errors in console when entering values in ColumnC.

ColumnA - Single Input, InputType: 'Number', InputMask: 'None' ColumnB - Single Input, InputType: 'Number', InputMask: 'Currency' ColumnC - Default (CellType: 'text'), InputType not set, InputMask: 'Currency'

ColumnB: Allows the calculations, but the InputType is interferring with InputMask - Don't see placeholder text - Currency value display: 45.00 -> 45, 12.50 -> 12.5

Reason for ColumnC:
- InputMask works with text to show placeholder value $0.00 - Retains the currency value: $12.20 -> $12.20

Proposed update: https://github.com/mikekidder/survey-library/commit/7c9344ccda061b0219ffc98e5cadf976a218c227 Happy to submit a PR

It also fixes an important hydration issue we have as well.

Our form data results are stored in database as XML.
Due to the conversion back to JSON, all values are strings. String values passed in into the Matrix questions has same issues above.

survey-library Enhancement @property default cannot be overridden
survey-library Enhancement Add support for default strings for custom localizable properties

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

Feature

What is the current behavior?

Currently builtin properties support loading localized default properties from localizations. This is realized by these lines in survey.ts:

this.createLocalizableString("pageNextText", this, false, true);

The 4th argument tells the localizable string that it should try to load data from the localization if not specified in survey config.

When creating custom properties you can set isLocalizable to true, this enables localization support. It would be great if these custom properties also support loading defaults from localizations.

Concrete example: we're adding a property closeWindowText to our surveys. We want this to be customizable just like all other button texts, but we also want to provide localized defaults just like builtin button texts.

Workarounds

Since createLocalizableStrings is protected we can't (or shouldn't) call this from outside, which would be a dirty hack anyway.

One other option is to manually set the localizationName public property on the LocalizableString object.

survey.getLocalizableString("closeWindowText").localizationName = 'closeWindowText';

Expected behavior

I think it makes sense to add support for loading defaults from localization by default for custom properties. Since they won't be set in most cases unless the user adds them explicitly it won't impact users not using it.

survey-library Bug `otherPlaceHolder` doesn't work with `hasComment` for the "rating" type of question
survey-library Bug survey-vue: popup window survey issues
  • expand button doesn't work if survey popup wasn't shown
  • Window compoent is exported but "survey-window" element is used
  • expand button click area is too small
survey-library Bug Extra &nbsp is generated if required text string is empty
survey-library Bug checkbox: default value not working for initially invisible items

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

bug

What is the current behavior?

the checkbox triggers a question which has a default value and it's not been checked

What is the expected behavior?

when i check an option of the checkbox, the next question would appear with the default value checked

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

https://plnkr.co/edit/8D1x9WKWDwRVXBm1?preview

survey-library Enhancement Broken Vue Signature

image

survey-library Bug survey-vue - The `sv-progress-requiredquestions` component is not defined

[Vue warn]: Unknown custom element: - did you register the component correctly? For recursive components, make sure to provide the "name" option.

See the https://surveyjs.answerdesk.io/ticket/details/t8402/survey-progress-bar-bug thread for more details

survey-library Bug LocalizationString.setLocaleText doesn't fire onStrChanged if locale is not default

The following code: survey.locTitle.setLocaleText("de", "de Title"); will not fire locTitle onStrChanged callback if the current locale is not "de". As result survey doesn't get notification that localization string has been changed. We used this survey notification in Survey Creator V2. Here is the related issue in Creator V2. Additionally a small bug in HtmlConditionItem has been fixed. It returned null on getSurvey() and could not trigger survey notification on it's chage that leads to a similar error.

survey-creator Enhancement Implement image picker design
  • #2385
  • dashed frame of new item
  • image in drag and drop??
  • #2220
  • drag-drop icon
  • row margins

Also see Mike's buglist, section Designer->Questions->ImagePicker!!!

Current: image

Needed: image

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

survey-creator Enhancement drag-drop "shadow styles" for imagepicker

image

survey-creator Enhancement DnD: Drag Survey Elements (mobile/tablet): hard to start drag because drag icon very small. Need to allow drag whole item
survey-creator Enhancement fix logic empty page
survey-creator Enhancement Translation tab: add indent for choices
survey-creator Bug CreatorV2: an exception is thrown if collapsing the sidebar is disabled
survey-creator Enhancement CV2: Create svc-page component for react version

Allow to override Page Component in the Creator. The following code override the Page footer:

//Extend the standard component
class CreatorSurveyPageComponent2 extends SurveyCreator.CreatorSurveyPageComponent {
  //Override the page footer
  renderFooter() {
    return (<div>Some Text {super.renderFooter()}</div>);
  }
}
//Register your own component instead of CreatorSurveyPageComponent 
SurveyReact.ReactElementFactory.Instance.registerElement("svc-page", (props) => {
  return React.createElement(CreatorSurveyPageComponent2, props);
});

survey-creator Bug CV2: "Test Survey Again" shows in all tabs

After "Test Survey Again" action becomes visible in "Preview" tab, it keeps beeing visible in all creator tabs. It should disappared on leaving "Preview" tab.

survey-creator Bug V2: D&d bug: indicators doesn't show when dragging questions from toolbox
survey-creator Bug `commentPlaceHolder` shouldn't in "other" category in property grid.

it should be next to hasComment one

related to https://github.com/surveyjs/survey-library/issues/3774

survey-creator Bug PG: "other section" tests
survey-creator Bug Panel D'n'D still incorrectly higlighted

image

survey-creator Enhancement CV2: Introduce a way to override survey element (question) adorners
custom-widgets Enhancement Add disableInput: boolean property to jQuery datePicker

Disable input, but allow to enter date using popup. question.disableInput = true;

Version: v1.9.3, released at Wednesday, December 22, 2021, Total Issue Count: 28

it is decorative element and should be treated not like questions/panels

Product
survey-library
Type
Enhancement
Description
implement placeholder for paneldynamic when panelCount: 0 in defaultV2
Product
survey-library
Type
Bug
Description
react: text processing not working in html

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

bug

What is the current behavior?

it seems that html question does not apply text processing using other question ref before displaying

https://plnkr.co/edit/QZdMoItJiyln4blN

Product
survey-library
Type
Bug
Description
react: 'Other' textarea always visible

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

Bug

What is the current behavior?

'Other' textarea is always visible for radiogroup, no matter if radio button associated with it is selected or not.

What is the expected behavior?

'Other' textarea should be only presented, when 'Other' radio option is selected.

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

Just enable 'other' for radiogroup (hasOther: true)

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

Currently visible on examples page as well. Tested page URL: https://surveyjs.io/Examples/Library?id=questiontype-radiogroup&platform=Reactjs&theme=modern

Test code

{
    type: "radiogroup",
    name: "gender",
    isRequired: true,
    hasOther: true
}

Specify your

  • browser: Chrome
  • browser version: 96.0.4664.93
  • surveyjs platform (angular or react or jquery or knockout or vue): React
  • surveyjs version: 1.9.2

For Matrix questions (choices/dynamic), there are occasions where the total calculations can receive a string value causing a javascript error.

Ran into this issue - see plunker: https://plnkr.co/edit/FVf5RrsbUJVeaE0J

Matrix (choices) - 3 Rows | CellType: 'Single Input' -> Column | Edit => "ColumnC" Properties: Total: 'sum', InputMask: 'Currency'

You see errors in console when entering values in ColumnC.

ColumnA - Single Input, InputType: 'Number', InputMask: 'None' ColumnB - Single Input, InputType: 'Number', InputMask: 'Currency' ColumnC - Default (CellType: 'text'), InputType not set, InputMask: 'Currency'

ColumnB: Allows the calculations, but the InputType is interferring with InputMask - Don't see placeholder text - Currency value display: 45.00 -> 45, 12.50 -> 12.5

Reason for ColumnC:
- InputMask works with text to show placeholder value $0.00 - Retains the currency value: $12.20 -> $12.20

Proposed update: https://github.com/mikekidder/survey-library/commit/7c9344ccda061b0219ffc98e5cadf976a218c227 Happy to submit a PR

It also fixes an important hydration issue we have as well.

Our form data results are stored in database as XML.
Due to the conversion back to JSON, all values are strings. String values passed in into the Matrix questions has same issues above.

Product
survey-library
Type
Enhancement
Description
@property default cannot be overridden
Product
survey-library
Type
Enhancement
Description
Add support for default strings for custom localizable properties

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

Feature

What is the current behavior?

Currently builtin properties support loading localized default properties from localizations. This is realized by these lines in survey.ts:

this.createLocalizableString("pageNextText", this, false, true);

The 4th argument tells the localizable string that it should try to load data from the localization if not specified in survey config.

When creating custom properties you can set isLocalizable to true, this enables localization support. It would be great if these custom properties also support loading defaults from localizations.

Concrete example: we're adding a property closeWindowText to our surveys. We want this to be customizable just like all other button texts, but we also want to provide localized defaults just like builtin button texts.

Workarounds

Since createLocalizableStrings is protected we can't (or shouldn't) call this from outside, which would be a dirty hack anyway.

One other option is to manually set the localizationName public property on the LocalizableString object.

survey.getLocalizableString("closeWindowText").localizationName = 'closeWindowText';

Expected behavior

I think it makes sense to add support for loading defaults from localization by default for custom properties. Since they won't be set in most cases unless the user adds them explicitly it won't impact users not using it.

Product
survey-library
Type
Bug
Description
survey-vue: popup window survey issues
  • expand button doesn't work if survey popup wasn't shown
  • Window compoent is exported but "survey-window" element is used
  • expand button click area is too small
Product
survey-library
Type
Bug
Description
Extra &nbsp is generated if required text string is empty
Product
survey-library
Type
Bug
Description
checkbox: default value not working for initially invisible items

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

bug

What is the current behavior?

the checkbox triggers a question which has a default value and it's not been checked

What is the expected behavior?

when i check an option of the checkbox, the next question would appear with the default value checked

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

https://plnkr.co/edit/8D1x9WKWDwRVXBm1?preview

Product
survey-library
Type
Enhancement
Description
Broken Vue Signature

image

[Vue warn]: Unknown custom element: - did you register the component correctly? For recursive components, make sure to provide the "name" option.

See the https://surveyjs.answerdesk.io/ticket/details/t8402/survey-progress-bar-bug thread for more details

The following code: survey.locTitle.setLocaleText("de", "de Title"); will not fire locTitle onStrChanged callback if the current locale is not "de". As result survey doesn't get notification that localization string has been changed. We used this survey notification in Survey Creator V2. Here is the related issue in Creator V2. Additionally a small bug in HtmlConditionItem has been fixed. It returned null on getSurvey() and could not trigger survey notification on it's chage that leads to a similar error.

Product
survey-creator
Type
Enhancement
Description
Implement image picker design
  • #2385
  • dashed frame of new item
  • image in drag and drop??
  • #2220
  • drag-drop icon
  • row margins

Also see Mike's buglist, section Designer->Questions->ImagePicker!!!

Current: image

Needed: image

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

Product
survey-creator
Type
Enhancement
Description
drag-drop "shadow styles" for imagepicker

image

Product
survey-creator
Type
Enhancement
Description
fix logic empty page
Product
survey-creator
Type
Enhancement
Description
Translation tab: add indent for choices
Product
survey-creator
Type
Enhancement
Description
CV2: Create svc-page component for react version

Allow to override Page Component in the Creator. The following code override the Page footer:

//Extend the standard component
class CreatorSurveyPageComponent2 extends SurveyCreator.CreatorSurveyPageComponent {
  //Override the page footer
  renderFooter() {
    return (<div>Some Text {super.renderFooter()}</div>);
  }
}
//Register your own component instead of CreatorSurveyPageComponent 
SurveyReact.ReactElementFactory.Instance.registerElement("svc-page", (props) => {
  return React.createElement(CreatorSurveyPageComponent2, props);
});

Product
survey-creator
Type
Bug
Description
CV2: "Test Survey Again" shows in all tabs

After "Test Survey Again" action becomes visible in "Preview" tab, it keeps beeing visible in all creator tabs. It should disappared on leaving "Preview" tab.

Product
survey-creator
Type
Bug
Description
`commentPlaceHolder` shouldn't in "other" category in property grid.

it should be next to hasComment one

related to https://github.com/surveyjs/survey-library/issues/3774

Product
survey-creator
Type
Bug
Description
PG: "other section" tests
Product
survey-creator
Type
Bug
Description
Panel D'n'D still incorrectly higlighted

image

Product
survey-creator
Type
Enhancement
Description
CV2: Introduce a way to override survey element (question) adorners
Product
custom-widgets
Type
Enhancement
Description
Add disableInput: boolean property to jQuery datePicker

Disable input, but allow to enter date using popup. question.disableInput = true;

Version: v1.9.2, released at Wednesday, December 15, 2021, Total Issue Count: 21

Product Type Description
survey-library Enhancement supportGoNextPageAutomatic in custom question type

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

Question

What is the current behavior?

I've created a custom question (or specifically a custom UX for matrix questions). Now I want to override the supportGoNextPageAutomatic behavior. Is there any way to do this from the custom question type API?

I could do it by just setting the property on the question in the afterRender() callback, but not sure if that's the best approach.

survey-library Enhancement mobile DnD investigation
survey-library Bug Adding panelCount in a nested dynamic panel causes elements to have broken styling

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

Bug

What is the current behavior?

When using React, in a nested dynamic panel, adding a panelCount of more than 0 causes the styling to be broken on templateElements in the nested panel. It appears some classes are not added correctly.

What is the expected behavior?

Styling is the same when you do not add panelCount in a nested dynamic panel.

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

Simply use a nested dynamic panel (a dynamic panel in a dynamic panel, with an element inside it) and then add a panelCount of 1 or more to the inner panel.

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

Tested page URL: https://plnkr.co/edit/CYBAnZf9xKE3T8dt?preview

Test code (slightly simpler than the plunker, removing superfluous questions)

Survey
    .StylesManager
    .applyTheme("modern");

var json = {
 "pages": [
  {
   "name": "Test page",
   "elements": [
    {
     "type": "paneldynamic",
     "name": "panel1",
     "title": "Panel 1",
     "templateElements": [
        {
         "type": "text",
         "name": "testText1",
         "title": "Text 1"
        },
      {
       "type": "paneldynamic",
       "name": "innerPanel1",
       "title": "Inner Panel 1",
       "templateElements": [
        {
         "type": "text",
         "name": "testText2",
         "title": "Text 2"
        }
       ],
       "panelCount": 1,
       "panelAddText": "Add Inner Panel",
       "panelRemoveText": "X"
      }
     ],
     "panelCount": 1,
     "panelAddText": "Add Outer Panel",
     "panelRemoveText": "X"
    }
   ]
  }
 ],
 "showQuestionNumbers": "off",
 "completeText": "Submit"
};

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

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

ReactDOM.render(<Survey.Survey model={survey}/>, document.getElementById("surveyElement"));

Specify your

  • browser: Chrome
  • browser version: 96
  • surveyjs platform (angular or react or jquery or knockout or vue): react
  • surveyjs version: 1.9.1
survey-library Bug isAnswerCorrect function doesn't work correctly for ranking question

Unlike checkbox question, ranking question is about choices order. We should not ignore arrays order comparing two arrays.

survey-library Enhancement add disable tooltip to cell for matrix
survey-library Bug isAnswerCorrect function doesn't work correctly for imagepicker question in multi select mode

We should compare arrays ignoring orders for image picker question in multi select mode

survey-library Enhancement vue: support model props in vue component

We use model for all other our frameworks, but survey as props for vue. To be consistent, both variants should be valid: <survey :survey="survey" /> and <survey :model="survey" />

survey-creator Bug V1: Page description is not apply on editing survey pages in modal window

If element properties are edited in modal window and description property is added as a column into pages section, then it doesn't work. Here is the related issue on SurveyJS Support Forum .

survey-creator Bug Creator V2: Top Menu design

Need to fix:

  • Tab buttons order
  • Tab buttons paddings
  • Separator height
  • Icons must be square
  • Check pressed-states
  • Underline hover tab
  • Rename tabs
  • Active item colorize
  • Icons padding
  • Disable preview tab and clear survey button when survey is empty
  • Add tests
  • Current tab selection style
survey-creator Enhancement Select, not remove current item from Question converter popup

image

survey-creator Enhancement Fix design questions CSS
survey-creator Bug Implement action buttons

See the design - https://www.figma.com/file/7QOeoDDCaPuqzWAROR0kDY/SurveyJS?node-id=8085%3A48258

Buttons are used in value editor (linkvalue question)

survey-creator Enhancement Make dynamic matrix Add/Delete buttons DISABLED

image

survey-creator Enhancement Panel Design fixes
  • Implement Panel "Add Question" button
  • Fix CSS
survey-creator Bug PropertyGrid design issues: Logic section
  • Title too far from editor
  • Icons are of wrong size
  • The "Clear" button should be hidden if nothing is entered
  • Buttons should have states

image

survey-creator Enhancement CreatorV2: Translation design
survey-creator Enhancement Translation tab: fix placeholders
  • use name for title placeholder
  • translation placeholder should be localized
  • use localization constants for placeholders
survey-creator Enhancement Fix selected page border and hover delay
survey-creator Enhancement Set Creator File question "Choose file" label to disabled state
survey-creator Bug V2: logical rules have a disabled status

image

survey-pdf Bug Panel doesn't have a number

For detailed information see the ticket in the support center

Version: v1.9.2, released at Wednesday, December 15, 2021, Total Issue Count: 21

Product
survey-library
Type
Enhancement
Description
supportGoNextPageAutomatic in custom question type

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

Question

What is the current behavior?

I've created a custom question (or specifically a custom UX for matrix questions). Now I want to override the supportGoNextPageAutomatic behavior. Is there any way to do this from the custom question type API?

I could do it by just setting the property on the question in the afterRender() callback, but not sure if that's the best approach.

Product
survey-library
Type
Enhancement
Description
mobile DnD investigation

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

Bug

What is the current behavior?

When using React, in a nested dynamic panel, adding a panelCount of more than 0 causes the styling to be broken on templateElements in the nested panel. It appears some classes are not added correctly.

What is the expected behavior?

Styling is the same when you do not add panelCount in a nested dynamic panel.

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

Simply use a nested dynamic panel (a dynamic panel in a dynamic panel, with an element inside it) and then add a panelCount of 1 or more to the inner panel.

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

Tested page URL: https://plnkr.co/edit/CYBAnZf9xKE3T8dt?preview

Test code (slightly simpler than the plunker, removing superfluous questions)

Survey
    .StylesManager
    .applyTheme("modern");

var json = {
 "pages": [
  {
   "name": "Test page",
   "elements": [
    {
     "type": "paneldynamic",
     "name": "panel1",
     "title": "Panel 1",
     "templateElements": [
        {
         "type": "text",
         "name": "testText1",
         "title": "Text 1"
        },
      {
       "type": "paneldynamic",
       "name": "innerPanel1",
       "title": "Inner Panel 1",
       "templateElements": [
        {
         "type": "text",
         "name": "testText2",
         "title": "Text 2"
        }
       ],
       "panelCount": 1,
       "panelAddText": "Add Inner Panel",
       "panelRemoveText": "X"
      }
     ],
     "panelCount": 1,
     "panelAddText": "Add Outer Panel",
     "panelRemoveText": "X"
    }
   ]
  }
 ],
 "showQuestionNumbers": "off",
 "completeText": "Submit"
};

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

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

ReactDOM.render(<Survey.Survey model={survey}/>, document.getElementById("surveyElement"));

Specify your

  • browser: Chrome
  • browser version: 96
  • surveyjs platform (angular or react or jquery or knockout or vue): react
  • surveyjs version: 1.9.1
Product
survey-library
Type
Bug
Description
isAnswerCorrect function doesn't work correctly for ranking question

Unlike checkbox question, ranking question is about choices order. We should not ignore arrays order comparing two arrays.

Product
survey-library
Type
Enhancement
Description
add disable tooltip to cell for matrix

We should compare arrays ignoring orders for image picker question in multi select mode

Product
survey-library
Type
Enhancement
Description
vue: support model props in vue component

We use model for all other our frameworks, but survey as props for vue. To be consistent, both variants should be valid: <survey :survey="survey" /> and <survey :model="survey" />

If element properties are edited in modal window and description property is added as a column into pages section, then it doesn't work. Here is the related issue on SurveyJS Support Forum .

Product
survey-creator
Type
Bug
Description
Creator V2: Top Menu design

Need to fix:

  • Tab buttons order
  • Tab buttons paddings
  • Separator height
  • Icons must be square
  • Check pressed-states
  • Underline hover tab
  • Rename tabs
  • Active item colorize
  • Icons padding
  • Disable preview tab and clear survey button when survey is empty
  • Add tests
  • Current tab selection style
Product
survey-creator
Type
Enhancement
Description
Select, not remove current item from Question converter popup

image

Product
survey-creator
Type
Enhancement
Description
Fix design questions CSS
Product
survey-creator
Type
Bug
Description
Implement action buttons

See the design - https://www.figma.com/file/7QOeoDDCaPuqzWAROR0kDY/SurveyJS?node-id=8085%3A48258

Buttons are used in value editor (linkvalue question)

Product
survey-creator
Type
Enhancement
Description
Make dynamic matrix Add/Delete buttons DISABLED

image

Product
survey-creator
Type
Enhancement
Description
Panel Design fixes
  • Implement Panel "Add Question" button
  • Fix CSS
Product
survey-creator
Type
Bug
Description
PropertyGrid design issues: Logic section
  • Title too far from editor
  • Icons are of wrong size
  • The "Clear" button should be hidden if nothing is entered
  • Buttons should have states

image

Product
survey-creator
Type
Enhancement
Description
CreatorV2: Translation design
Product
survey-creator
Type
Enhancement
Description
Translation tab: fix placeholders
  • use name for title placeholder
  • translation placeholder should be localized
  • use localization constants for placeholders
Product
survey-creator
Type
Enhancement
Description
Fix selected page border and hover delay
Product
survey-creator
Type
Enhancement
Description
Set Creator File question "Choose file" label to disabled state
Product
survey-creator
Type
Bug
Description
V2: logical rules have a disabled status

image

Product
survey-pdf
Type
Bug
Description
Panel doesn't have a number

For detailed information see the ticket in the support center

Version: v1.9.1, released at Wednesday, December 8, 2021, Total Issue Count: 7

Product Type Description
survey-library Enhancement Support "parentpanel" in expression for nested dynamic panels

If there is a nested dynamic panel (dynamic panel inside another dynamic panel), then to access values in expression from the parent panel can by using "parentpanel" prefix. Here is the JSON example. "child_question1" becomes visible when an user set any value into checkbox_root question and child_question2 shows choices that selected in checkbox_root.

{
      elements: [
        {
          type: "paneldynamic",
          name: "rootPanel",
          panelCount: 1,
          templateElements: [
            {
              type: "checkbox",
              name: "checkbox_root",
              choices: ["item1", "item2", "item3"],
            },
            {
              type: "paneldynamic",
              name: "childPanel",
              minPanelCount: 1,
              templateElements: [
                {
                  type: "text",
                  name: "child_question1",
                 visibleIf: "{parentpanel.checkbox_root} notempty"
                },
                {
                  type: "checkbox",
                  name: "child_question2",
                  hideIfChoicesEmpty: true,
                  choicesVisibleIf: "{parentpanel.checkbox_root} contains {item}",
                  choices: ["item1", "item2", "item3"],
                }
              ]
            }
          ]
        }
      ]
    }
survey-library Bug Window auto scrolls to surveyJS on load and focusing first question

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

Bug

What is the current behavior?

Window scrolls to survey JS on load, first question is auto focused by default.

What is the expected behavior?

The page should not auto scroll to the survey. This causes weird behavior, scrolling my page to the bottom. According to https://github.com/surveyjs/survey-library/commit/2410bab8db5da0218f32355130367d924026f403 this was supposed to be fixed.

I have tried using focusFirstQuestionAutomatic property but that only ensures the question isn't focused upon click "next".

It looks like the problem is with the API, using the API and setting survey.focusFirstQuestionAutomatic = false; in JavaScript will produce the error. However if the option is set in the surveyjson focusFirstQuestionAutomatic : false then the page does not scroll or focus.

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

Easily tested, add content before the survey div. When the div loads, page will scroll to the survey and focus on first question.

Adding focusFirstQuestionAutomatic into the serializable ensures the first page /first questions is not focused. Adding it to the API in javascript will produce an error.

Specify your

  • browser: Chrome
  • browser version: 92.0
  • surveyjs platform (angular or react or jquery or knockout or vue): jquery
  • surveyjs version:
survey-library Bug A11Y: radiogroup

for now customers report about a11Y problems with the w3c validator and with the FastPass in Accessibility Insights for Web

json (simple radiogroup):

var json = {
    questions: [
      {
        "type": "radiogroup",
        "name": "car",
        "title": "What car are you driving?",
        "isRequired": true,
        "hasNone": true,
        "colCount": 4,
        "choices": [
          "Ford",
          "Vauxhall",
          "Volkswagen",
          "Nissan",
          "Audi",
          "Mercedes-Benz",
          "BMW",
          "Peugeot",
          "Toyota",
          "Citroen"
        ]
      }
    ]
  };

need to investigate and fix the problems.

probably some problems appeared after the : https://github.com/surveyjs/survey-library/commit/3593b4fc83e0618d3e8d8e844071925c14e6d9d0 (https://www.w3.org/TR/using-aria/#fourth)

survey-creator Enhancement CreatorV2: Toolbox design
  • font weight
  • hide title
  • not to change cursor
  • width by content
  • fix icon color of dynamic panel
  • fix dots item hover
  • fix popup item style in popup
  • fix padding & margins between items
  • #2293
survey-creator Enhancement Creator V2 Logic tab: use theme defaultV2Css only question
  • revert skip testcafe test
survey-pdf Enhancement Implement a border around empty brick
survey-pdf Bug Expression renders value instead of displayValue in display mode

We should use displayValue for questions in read-only mode instead of value.

Version: v1.9.1, released at Wednesday, December 8, 2021, Total Issue Count: 7

Product
survey-library
Type
Enhancement
Description
Support "parentpanel" in expression for nested dynamic panels

If there is a nested dynamic panel (dynamic panel inside another dynamic panel), then to access values in expression from the parent panel can by using "parentpanel" prefix. Here is the JSON example. "child_question1" becomes visible when an user set any value into checkbox_root question and child_question2 shows choices that selected in checkbox_root.

{
      elements: [
        {
          type: "paneldynamic",
          name: "rootPanel",
          panelCount: 1,
          templateElements: [
            {
              type: "checkbox",
              name: "checkbox_root",
              choices: ["item1", "item2", "item3"],
            },
            {
              type: "paneldynamic",
              name: "childPanel",
              minPanelCount: 1,
              templateElements: [
                {
                  type: "text",
                  name: "child_question1",
                 visibleIf: "{parentpanel.checkbox_root} notempty"
                },
                {
                  type: "checkbox",
                  name: "child_question2",
                  hideIfChoicesEmpty: true,
                  choicesVisibleIf: "{parentpanel.checkbox_root} contains {item}",
                  choices: ["item1", "item2", "item3"],
                }
              ]
            }
          ]
        }
      ]
    }
Product
survey-library
Type
Bug
Description
Window auto scrolls to surveyJS on load and focusing first question

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

Bug

What is the current behavior?

Window scrolls to survey JS on load, first question is auto focused by default.

What is the expected behavior?

The page should not auto scroll to the survey. This causes weird behavior, scrolling my page to the bottom. According to https://github.com/surveyjs/survey-library/commit/2410bab8db5da0218f32355130367d924026f403 this was supposed to be fixed.

I have tried using focusFirstQuestionAutomatic property but that only ensures the question isn't focused upon click "next".

It looks like the problem is with the API, using the API and setting survey.focusFirstQuestionAutomatic = false; in JavaScript will produce the error. However if the option is set in the surveyjson focusFirstQuestionAutomatic : false then the page does not scroll or focus.

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

Easily tested, add content before the survey div. When the div loads, page will scroll to the survey and focus on first question.

Adding focusFirstQuestionAutomatic into the serializable ensures the first page /first questions is not focused. Adding it to the API in javascript will produce an error.

Specify your

  • browser: Chrome
  • browser version: 92.0
  • surveyjs platform (angular or react or jquery or knockout or vue): jquery
  • surveyjs version:
Product
survey-library
Type
Bug
Description
A11Y: radiogroup

for now customers report about a11Y problems with the w3c validator and with the FastPass in Accessibility Insights for Web

json (simple radiogroup):

var json = {
    questions: [
      {
        "type": "radiogroup",
        "name": "car",
        "title": "What car are you driving?",
        "isRequired": true,
        "hasNone": true,
        "colCount": 4,
        "choices": [
          "Ford",
          "Vauxhall",
          "Volkswagen",
          "Nissan",
          "Audi",
          "Mercedes-Benz",
          "BMW",
          "Peugeot",
          "Toyota",
          "Citroen"
        ]
      }
    ]
  };

need to investigate and fix the problems.

probably some problems appeared after the : https://github.com/surveyjs/survey-library/commit/3593b4fc83e0618d3e8d8e844071925c14e6d9d0 (https://www.w3.org/TR/using-aria/#fourth)

Product
survey-creator
Type
Enhancement
Description
CreatorV2: Toolbox design
  • font weight
  • hide title
  • not to change cursor
  • width by content
  • fix icon color of dynamic panel
  • fix dots item hover
  • fix popup item style in popup
  • fix padding & margins between items
  • #2293
Product
survey-creator
Type
Enhancement
Description
Creator V2 Logic tab: use theme defaultV2Css only question
  • revert skip testcafe test
Product
survey-pdf
Type
Enhancement
Description
Implement a border around empty brick

We should use displayValue for questions in read-only mode instead of value.

Version: v1.9.0, released at Wednesday, December 1, 2021, Total Issue Count: 20

Product Type Description
survey-library Enhancement selectBase otherPlaceholder doesn't respect localization

I am using surveyjs (1.8.78) for Angular, and otherPlaceholder seems to be ignored:

"name": "page1",
   "elements": [
    {   
     "type": "radiogroup",
     "name": "primary_reason",
     "title": {
      "da": "Vælg din primære årsag",
      "en": "Choose your primary reason?"
     },  
     "isRequired": true,
     "hasOther": true,
     "otherPlaceholder": {
      "da":"Skriv din begrundelse her...",
      "en":"Write your reason here..."
     }, 
     [...]
   }
[...]

Originally posted by @marie-dk in https://github.com/surveyjs/survey-library/issues/1703#issuecomment-976753413

survey-library Bug knockout: incorrect rendering of footer cells

There is incorrect template for renderign footer cells in matrices. As result we have

element inside another .

survey-library Bug SurveyJS doesn't reload choices on changing locale that uses as a parameter

If a variable used as a parameter in choices from web url: "https://surveyjs.io/api/CountriesExample?region/?locale=", SurveyJS doesn't reload locale on changing it.

survey-library Enhancement Refactor default string in localization strings

Instead of the following code:

//in constructor
   var locRemoveRowText = this.createLocalizableString("removeRowText", this);
    locRemoveRowText.onGetTextCallback = (text: string): string => {
      return !!text ? text : surveyLocalization.getString("removeRow");
    };

and on property getter:

  public get confirmDeleteText() {
    return this.getLocalizableStringText(
      "confirmDeleteText",
      surveyLocalization.getString("confirmDelete")
    );
  }

Use the following code:

//in constructor
this.createLocalizableString("confirmDeleteText", this, false, "confirmDelete");

and on property getter

public get confirmDeleteText() {
  return this.getLocalizableStringText("confirmDeleteText");
}
survey-library Bug question isAnswered is not updated on setting value via survey.setValue function

The following code:

survey.setValue("question1", "value");

Doesn't update question isAnswered property and as result visually quesiton is not rendered as answered.

survey-library Enhancement Do not allow popup be shown outside the viewport
survey-library Enhancement Add obj: Base property into options parameter in survey.onErrorCustomText event

There is no way to find out to which object error is belong in survey.onErrorCustomText event. As result, there is no way to include question title into error text. Please refer to this issue for more information. Here is the example

  survey.onErrorCustomText.add(function (sender, options) {
    if (options.name == "required") {
      options.text = "Value is missed in question: '" + options.obj.title + "'.";
    }
  });
survey-library Bug checkbox question: default value not working with other option and visibleIf

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

What is the current behavior? if a question has a option with visibleif, the default value is checking multiple questions

What is the expected behavior? we could check/uncheck options with default value active

Tested page URL: https://plnkr.co/edit/LEwOG0YQZYyfP8Mt Test code

Specify your

  • browser:
  • browser version:
  • surveyjs platform (angular or react or jquery or knockout or vue):
  • surveyjs version:
survey-creator Enhancement TestSurvey page switcher should contain page titles intead of Page names

Exisiting design: image

Maybe it is useful to set "(3 of 12)"

survey-creator Enhancement CV2: improve ResizeManager, add ability to resize content on the right side
survey-creator Enhancement [V2] SVG Icon usage improvements

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

Bug

Hidden div

A hidden div is added to the head tag, this contains all svg icons. The head element does not allow flow content afaik: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/head A simple fix is to use a template tag instead of a hidden div. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template

Use href

Use href, xlink:href is deprecated: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/xlink:href

Icon id collisions

The icons don't have a sv prefix in their ids, this can lead to collisions with pages already using those IDs. The solution for other ids and classes is to always prefix with sv-.

Keep DOM element as local as possible

This is mostly inspired by me trying to render it in a shadow DOM (and thus preventing my own CSS from leaking into the creator). When adding elements dynamically using javascript, I think it's cleaner to add them in your own element root. After all I'm calling creator.render(someElem), it seems reasonable to render everything inside that element if at all possible.

survey-creator Enhancement Remove references on modern theme in CreatorV2
survey-creator Bug Creator V2: Right sidebar design
  • css-fixes
  • #2268
  • surveyjs/survey-library#3690
survey-creator Enhancement Allow to change the indentation in JSON Editor

You can use the following code to change the indentation in JSON Editor:

SurveyCreator.settings.jsonEditor.indentation = 3;
survey-creator Enhancement Always keep Expand Property Grid action in the end of toolbar

image

survey-creator Enhancement visual regression testing: devextreme-screenshot-comparer
survey-creator Bug Creator V2: Logic items have wrong paddings.
survey-creator Bug Creator V2: Unable process binding error if using survey-creator-knockout in a Vue 3 app
survey-creator Bug Check isRequired for property in Creator StringEditor

Survey.Serializer.getProperty("survey","title").isRequired = true;

survey-analytics Bug Histogram visualizer doesn't allow custom question types
SurveyAnalytics.VisualizationManager.registerVisualizer("nouislider", SurveyAnalytics.HistogramPlotly);

image

Version: v1.9.0, released at Wednesday, December 1, 2021, Total Issue Count: 20

Product
survey-library
Type
Enhancement
Description
selectBase otherPlaceholder doesn't respect localization

I am using surveyjs (1.8.78) for Angular, and otherPlaceholder seems to be ignored:

"name": "page1",
   "elements": [
    {   
     "type": "radiogroup",
     "name": "primary_reason",
     "title": {
      "da": "Vælg din primære årsag",
      "en": "Choose your primary reason?"
     },  
     "isRequired": true,
     "hasOther": true,
     "otherPlaceholder": {
      "da":"Skriv din begrundelse her...",
      "en":"Write your reason here..."
     }, 
     [...]
   }
[...]

Originally posted by @marie-dk in https://github.com/surveyjs/survey-library/issues/1703#issuecomment-976753413

Product
survey-library
Type
Bug
Description
knockout: incorrect rendering of footer cells

There is incorrect template for renderign footer cells in matrices. As result we have element inside another .

If a variable used as a parameter in choices from web url: "https://surveyjs.io/api/CountriesExample?region/?locale=", SurveyJS doesn't reload locale on changing it.

Product
survey-library
Type
Enhancement
Description
Refactor default string in localization strings

Instead of the following code:

//in constructor
   var locRemoveRowText = this.createLocalizableString("removeRowText", this);
    locRemoveRowText.onGetTextCallback = (text: string): string => {
      return !!text ? text : surveyLocalization.getString("removeRow");
    };

and on property getter:

  public get confirmDeleteText() {
    return this.getLocalizableStringText(
      "confirmDeleteText",
      surveyLocalization.getString("confirmDelete")
    );
  }

Use the following code:

//in constructor
this.createLocalizableString("confirmDeleteText", this, false, "confirmDelete");

and on property getter

public get confirmDeleteText() {
  return this.getLocalizableStringText("confirmDeleteText");
}

The following code:

survey.setValue("question1", "value");

Doesn't update question isAnswered property and as result visually quesiton is not rendered as answered.

Product
survey-library
Type
Enhancement
Description
Do not allow popup be shown outside the viewport
Product
survey-library
Type
Enhancement
Description
Add obj: Base property into options parameter in survey.onErrorCustomText event

There is no way to find out to which object error is belong in survey.onErrorCustomText event. As result, there is no way to include question title into error text. Please refer to this issue for more information. Here is the example

  survey.onErrorCustomText.add(function (sender, options) {
    if (options.name == "required") {
      options.text = "Value is missed in question: '" + options.obj.title + "'.";
    }
  });

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

What is the current behavior? if a question has a option with visibleif, the default value is checking multiple questions

What is the expected behavior? we could check/uncheck options with default value active

Tested page URL: https://plnkr.co/edit/LEwOG0YQZYyfP8Mt Test code

Specify your

  • browser:
  • browser version:
  • surveyjs platform (angular or react or jquery or knockout or vue):
  • surveyjs version:
Product
survey-creator
Type
Enhancement
Description
TestSurvey page switcher should contain page titles intead of Page names

Exisiting design: image

Maybe it is useful to set "(3 of 12)"

Product
survey-creator
Type
Enhancement
Description
CV2: improve ResizeManager, add ability to resize content on the right side
Product
survey-creator
Type
Enhancement
Description
[V2] SVG Icon usage improvements

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

Bug

Hidden div

A hidden div is added to the head tag, this contains all svg icons. The head element does not allow flow content afaik: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/head A simple fix is to use a template tag instead of a hidden div. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template

Use href

Use href, xlink:href is deprecated: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/xlink:href

Icon id collisions

The icons don't have a sv prefix in their ids, this can lead to collisions with pages already using those IDs. The solution for other ids and classes is to always prefix with sv-.

Keep DOM element as local as possible

This is mostly inspired by me trying to render it in a shadow DOM (and thus preventing my own CSS from leaking into the creator). When adding elements dynamically using javascript, I think it's cleaner to add them in your own element root. After all I'm calling creator.render(someElem), it seems reasonable to render everything inside that element if at all possible.

Product
survey-creator
Type
Enhancement
Description
Remove references on modern theme in CreatorV2
Product
survey-creator
Type
Bug
Description
Creator V2: Right sidebar design
  • css-fixes
  • #2268
  • surveyjs/survey-library#3690
Product
survey-creator
Type
Enhancement
Description
Allow to change the indentation in JSON Editor

You can use the following code to change the indentation in JSON Editor:

SurveyCreator.settings.jsonEditor.indentation = 3;
Product
survey-creator
Type
Enhancement
Description
Always keep Expand Property Grid action in the end of toolbar

image

Product
survey-creator
Type
Enhancement
Description
visual regression testing: devextreme-screenshot-comparer
Product
survey-creator
Type
Bug
Description
Creator V2: Logic items have wrong paddings.
Product
survey-creator
Type
Bug
Description
Check isRequired for property in Creator StringEditor

Survey.Serializer.getProperty("survey","title").isRequired = true;

Product
survey-analytics
Type
Bug
Description
Histogram visualizer doesn't allow custom question types
SurveyAnalytics.VisualizationManager.registerVisualizer("nouislider", SurveyAnalytics.HistogramPlotly);

image

Version: v1.8.79, released at Thursday, November 25, 2021, Total Issue Count: 29

Product Type Description
survey-library Enhancement DnD: implement "long tap" for touch devices

according to the design all drag and drop actions on touch devices should start after the "long tap"

survey-library Bug choicesByUrl ignores parentpanel

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

bug, I think

What is the current behavior?

choicesByUrl ignore parentpanel

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

https://plnkr.co/edit/kuhd1FgkyhIweh6d

survey-library Enhancement Do not calculate currentPage on getter in survey model

We used to calculate currentPage on currentPage getter property. It creates issues in react and vue since currentPage could be changed during rendering which is incorrect approach for both these frameworks. It is better always have the correct currentPage and change it on adding/removing pages and change page visibility. This approach should increase perfomance for surveys with 100+ pages surveys.

survey-library Bug Dynamic panel in component should work as in run-time in designer

Dynamic panel inside component should work in running mode even in SurveyJS Creator.

survey-library Enhancement Ensure all buttons have the type="button" attribute

Otherwise by default it will submit users form

survey-library Bug checkbox question: default value not working with visibleif

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

bug

What is the current behavior?

if a question has a option with visibleif, the default value is checking multiple questions

What is the expected behavior?

we could check/uncheck options with default value active

Tested page URL: https://plnkr.co/edit/etOSdafU7i7GRqmA?preview Test code


### Specify your

* browser:
* browser version:
* surveyjs platform: jquery
* surveyjs version: 1.8
survey-library Enhancement Ranking shortcut: add css class

Need for the customization. See https://surveyjs.answerdesk.io/ticket/details/T8211

survey-library Bug Expression validation with 'getDate' and 'today', does not work.

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

  • Possible bug

What is the current behavior?

The following validation in a expression question return valid:

{
     "type": "text",
     "name": "date_ok",
     "title": "Date with validation works with less than today",
     "isRequired": true,
     "validators": [
      {
       "type": "expression",
       "expression": "getDate({date_ok})<=today()"
      }
     ],
     "inputType": "date"
}

Current date: 2021-11-20 Input: 2021-11-21 Result: Valid input

What is the expected behavior?

{
     "type": "text",
     "name": "date_ok",
     "title": "Date with validation works with less than today",
     "isRequired": true,
     "validators": [
      {
       "type": "expression",
       "expression": "getDate({date_ok})<=today()"
      }
     ],
     "inputType": "date"
}

Current date: 2021-11-20 Input: 2021-11-21 Result: Invalid input

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

Using plnkr.co

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

Tested page URL: https://plnkr.co/edit/E2dfm5vFJcQwoy2R

Specify your

  • browser: Google Chrome
  • browser version: 96.0.4664.45
  • surveyjs platform (angular or react or jquery or knockout or vue): react and agular
  • surveyjs version: 1.8.78
survey-library Enhancement Accessibility issue: radiogroup aria child and focusable

For detailed information see the ticket

image

image

survey-library Bug Vue infinite loop when referencing questions that don't exist

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

What is the current behavior? Changing the value of the choice box, when the title references a question that doesn't exist causes an infinite render loop.

vue.js:634 [Vue warn]: You may have an infinite update loop in a component render function.

found in

---> at src/vue/elementheader.vue at src/vue/element.vue at src/vue/row.vue at src/vue/page.vue at src/vue/survey.vue

Test URL: https://plnkr.co/edit/L1DW8eT9lrxPPppe

Specify your browser: Chrome browser version: 96.0.4664.45 surveyjs platform (angular or react or jquery or knockout or vue): Vue surveyjs version: 1.8.71

Note: I've seen other infinite update loops happen when a question is referenced, but doesn't exist. This locks up the survey entirely on production mode and freezes the browser.

survey-library Bug Theme dynamic style sheet id contains trailing spaces
survey-library Bug Do not set td width/minWidth for totals in matrices

We should set width/minWidth for td elements in total row in matrices.

survey-library Bug Do not send notification about adding questions on randomizing existing questions on a page

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

Bug

What is the current behavior?

I originally found this because I had some issues with infinite recursion in the event handler for the currentPageChange event.

If I try to read something like survey.currentPageNo I might trigger an infinite recursion:

public get currentPageNo(): number {
    return this.visiblePages.indexOf(this.currentPage);
  }

public get currentPage(): any {
    if (this.currentPageValue != null) {
      if (!this.isPageInVisibleList(this.currentPageValue) || this.pages.indexOf(this.currentPageValue) < 0) {
        if (
          !this.onContainsPageCallback ||
          !this.onContainsPageCallback(this.currentPageValue)
        ) {
          this.currentPage = null;
        }
      }
    }
    if (this.currentPageValue == null && !!this.firstVisiblePage) {
      this.currentPage = this.firstVisiblePage;
    }
    return this.currentPageValue;
  }

The issue here is that calling a getter in some circumstances also calls the getter, which then executes the onCurrentPageChanging callback again.

Doing some more research in the stack traces leads me to believe that this is possible regardless of

What is the expected behavior?

Never

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

Unclear; I know that on some larger surveys it is null and if the move is allowed the survey resets from the start.

Okay, bear with me, this is going to be hard to fathom.

  • We have a panel with randomized questions inside, from these questions a subset is visible (this is done using a condition, but this doesn't change after initial load).
randomizeElements(isRandom: boolean): void {
    if (!this.canRandomize(isRandom) || this.isRandomizing) return;
    this.isRandomizing = true;
    var oldElements = [];
    var elements = this.elements;
    for (var i = 0; i < elements.length; i++) {
      oldElements.push(elements[i]);
    }
    var newElements = Helpers.randomizeArray<IElement>(oldElements);
    this.elements.splice(0, this.elements.length);
    for (var i = 0; i < newElements.length; i++) {
      this.elements.push(newElements[i]);
    }
    this.isRandomizing = false;
  }

This randomization function has some nasty side effects. First of all, it clears the questions inside the panel. This means the panel becomes invisible and so does the page it is contained in (the panel is the only question on the page).

Then questionAdded is triggered for every element (this is very inefficient, I think you could in this case, since you're just reordering, do a single assign without that event).

The questionAdded code updates the visible page indexes; so now the current page at a moment in time becomes not visible.

Then code later on that tries to check if the prev button should be shown (here we have entered knockout specific territory, this is triggered from some observable). isShowPrevButton() calls get state(), which in turn calls get currentPage().

At this point the logic in there checks if the current page is visible, which it is not, and thus it resets the current page to the first visible page.

This restarts the loop with a different page, which might also have a randomized panel inside...

I've spend a couple of hours on debugging this; I'll try to get some simple reproduction example another time.

survey-creator Enhancement DnD: Toolbox Item (tablet): first tap works like hover but add a question same time.
survey-creator Enhancement Is there a way to hide specific fields in the translation tab and/or disable the 'show all pages' dropdown?

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

Asking a question

What is the current behavior?

When the 'show all pages' option is selected rather than a specific page, the title of the survey is editable image If 'page1' is selected, the title field no longer appears: image

We currently change the titles of the surveys as part of a different process, and do not want the title to be editable in the Survey Creator. Is there either:

A way to set 'show all pages': false in config, and hide the dropdown

or

A way to hide specific fields in the translation tab?

Thanks

survey-creator Bug СV2: non-latin charachters break the font

image

survey-creator Enhancement Implement design for Toolbar and Property Grid on one pane on the left and on the right sides
  • the ability to change toolbox location (left/right)
  • the ability to change property panel location (left/right)
  • toolbox & property panel in one panel
survey-creator Bug Toolbox floating item and survey title overlapped icorrectly

MicrosoftTeams-image (5)

survey-creator Bug CV2 React Warnings (DnD new page key)

Sometimes drag and drop caused two type of react warnings

  1. Render should be a pure function - see https://github.com/surveyjs/survey-creator/issues/2215
  2. Same key
survey-creator Bug Wrong question button margins and paddings
  • Align buttons by icons, not by invisible border (see fig. 1):
  • Align panel buttons to right (see fig. 2 and just apply the css):

Fig 1: image

Fig 2: image

.svc-question__content-actions {
  .sv-action:first-child:not(.sv-action--first) {
    margin-left: auto;
  }
}
survey-creator Bug Fix PropertyGrid padding for non-mobile view

Current view: image

Need to be: image

survey-creator Bug React warning about pure "render" function

get currentPage getter has side effects which caused react warning:

Warning: Cannot update during an existing state transition (such as within render). Render methods should be a pure function...

  public get currentPage(): any {
    if (this.currentPageValue != null) {
      if (!this.isPageInVisibleList(this.currentPageValue) || this.pages.indexOf(this.currentPageValue) < 0) {
        if (
          !this.onContainsPageCallback ||
          !this.onContainsPageCallback(this.currentPageValue)
        ) {
          this.currentPage = null;
        }
      }
    }
    if (this.currentPageValue == null && !!this.firstVisiblePage) {
      this.currentPage = this.firstVisiblePage;
    }
    return this.currentPageValue;
  }

could be reproduced by drag drop question from the toolbox to the first position (the page should contain some questions before it)

survey-creator Enhancement Drag Drop on Tablet and Mobile devices (research)

need to investigate current state and give the estimations

found problems:

  • #2221
  • #2222
  • #2223
  • #2224
survey-creator Enhancement Drag Survey Elements (tablet): selection while dragging. Probably we should create global root class (--dragging) and disable selection.
survey-creator Bug Creator V2: wrong logo position on the test survey tab

image

survey-creator Enhancement CV2: update icon for dynamic panel in toolbox
survey-creator Enhancement Creator V2: survey logo has different position in creator and customer survey
survey-pdf Bug TITLE_PANEL_FONT_SIZE_SCALE variable is used in page title

Changes of this variable cause the following behavior

image

survey-analytics Bug Percentage marks are rounded to int values and lose accuracy

See the https://surveyjs.answerdesk.io/ticket/details/t8244/survey-analytics-charts-issue thread for more details

image

Percentages sum = 101, that is wrong

Version: v1.8.79, released at Thursday, November 25, 2021, Total Issue Count: 29

Product
survey-library
Type
Enhancement
Description
DnD: implement "long tap" for touch devices

according to the design all drag and drop actions on touch devices should start after the "long tap"

Product
survey-library
Type
Bug
Description
choicesByUrl ignores parentpanel

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

bug, I think

What is the current behavior?

choicesByUrl ignore parentpanel

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

https://plnkr.co/edit/kuhd1FgkyhIweh6d

Product
survey-library
Type
Enhancement
Description
Do not calculate currentPage on getter in survey model

We used to calculate currentPage on currentPage getter property. It creates issues in react and vue since currentPage could be changed during rendering which is incorrect approach for both these frameworks. It is better always have the correct currentPage and change it on adding/removing pages and change page visibility. This approach should increase perfomance for surveys with 100+ pages surveys.

Product
survey-library
Type
Bug
Description
Dynamic panel in component should work as in run-time in designer

Dynamic panel inside component should work in running mode even in SurveyJS Creator.

Product
survey-library
Type
Enhancement
Description
Ensure all buttons have the type="button" attribute

Otherwise by default it will submit users form

Product
survey-library
Type
Bug
Description
checkbox question: default value not working with visibleif

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

bug

What is the current behavior?

if a question has a option with visibleif, the default value is checking multiple questions

What is the expected behavior?

we could check/uncheck options with default value active

Tested page URL: https://plnkr.co/edit/etOSdafU7i7GRqmA?preview Test code


### Specify your

* browser:
* browser version:
* surveyjs platform: jquery
* surveyjs version: 1.8
Product
survey-library
Type
Enhancement
Description
Ranking shortcut: add css class

Need for the customization. See https://surveyjs.answerdesk.io/ticket/details/T8211

Product
survey-library
Type
Bug
Description
Expression validation with 'getDate' and 'today', does not work.

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

  • Possible bug

What is the current behavior?

The following validation in a expression question return valid:

{
     "type": "text",
     "name": "date_ok",
     "title": "Date with validation works with less than today",
     "isRequired": true,
     "validators": [
      {
       "type": "expression",
       "expression": "getDate({date_ok})<=today()"
      }
     ],
     "inputType": "date"
}

Current date: 2021-11-20 Input: 2021-11-21 Result: Valid input

What is the expected behavior?

{
     "type": "text",
     "name": "date_ok",
     "title": "Date with validation works with less than today",
     "isRequired": true,
     "validators": [
      {
       "type": "expression",
       "expression": "getDate({date_ok})<=today()"
      }
     ],
     "inputType": "date"
}

Current date: 2021-11-20 Input: 2021-11-21 Result: Invalid input

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

Using plnkr.co

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

Tested page URL: https://plnkr.co/edit/E2dfm5vFJcQwoy2R

Specify your

  • browser: Google Chrome
  • browser version: 96.0.4664.45
  • surveyjs platform (angular or react or jquery or knockout or vue): react and agular
  • surveyjs version: 1.8.78
Product
survey-library
Type
Enhancement
Description
Accessibility issue: radiogroup aria child and focusable

For detailed information see the ticket

image

image

Product
survey-library
Type
Bug
Description
Vue infinite loop when referencing questions that don't exist

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

What is the current behavior? Changing the value of the choice box, when the title references a question that doesn't exist causes an infinite render loop.

vue.js:634 [Vue warn]: You may have an infinite update loop in a component render function.

found in

---> at src/vue/elementheader.vue at src/vue/element.vue at src/vue/row.vue at src/vue/page.vue at src/vue/survey.vue

Test URL: https://plnkr.co/edit/L1DW8eT9lrxPPppe

Specify your browser: Chrome browser version: 96.0.4664.45 surveyjs platform (angular or react or jquery or knockout or vue): Vue surveyjs version: 1.8.71

Note: I've seen other infinite update loops happen when a question is referenced, but doesn't exist. This locks up the survey entirely on production mode and freezes the browser.

Product
survey-library
Type
Bug
Description
Theme dynamic style sheet id contains trailing spaces
Product
survey-library
Type
Bug
Description
Do not set td width/minWidth for totals in matrices

We should set width/minWidth for td elements in total row in matrices.

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

Bug

What is the current behavior?

I originally found this because I had some issues with infinite recursion in the event handler for the currentPageChange event.

If I try to read something like survey.currentPageNo I might trigger an infinite recursion:

public get currentPageNo(): number {
    return this.visiblePages.indexOf(this.currentPage);
  }

public get currentPage(): any {
    if (this.currentPageValue != null) {
      if (!this.isPageInVisibleList(this.currentPageValue) || this.pages.indexOf(this.currentPageValue) < 0) {
        if (
          !this.onContainsPageCallback ||
          !this.onContainsPageCallback(this.currentPageValue)
        ) {
          this.currentPage = null;
        }
      }
    }
    if (this.currentPageValue == null && !!this.firstVisiblePage) {
      this.currentPage = this.firstVisiblePage;
    }
    return this.currentPageValue;
  }

The issue here is that calling a getter in some circumstances also calls the getter, which then executes the onCurrentPageChanging callback again.

Doing some more research in the stack traces leads me to believe that this is possible regardless of

What is the expected behavior?

Never

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

Unclear; I know that on some larger surveys it is null and if the move is allowed the survey resets from the start.

Okay, bear with me, this is going to be hard to fathom.

  • We have a panel with randomized questions inside, from these questions a subset is visible (this is done using a condition, but this doesn't change after initial load).
randomizeElements(isRandom: boolean): void {
    if (!this.canRandomize(isRandom) || this.isRandomizing) return;
    this.isRandomizing = true;
    var oldElements = [];
    var elements = this.elements;
    for (var i = 0; i < elements.length; i++) {
      oldElements.push(elements[i]);
    }
    var newElements = Helpers.randomizeArray<IElement>(oldElements);
    this.elements.splice(0, this.elements.length);
    for (var i = 0; i < newElements.length; i++) {
      this.elements.push(newElements[i]);
    }
    this.isRandomizing = false;
  }

This randomization function has some nasty side effects. First of all, it clears the questions inside the panel. This means the panel becomes invisible and so does the page it is contained in (the panel is the only question on the page).

Then questionAdded is triggered for every element (this is very inefficient, I think you could in this case, since you're just reordering, do a single assign without that event).

The questionAdded code updates the visible page indexes; so now the current page at a moment in time becomes not visible.

Then code later on that tries to check if the prev button should be shown (here we have entered knockout specific territory, this is triggered from some observable). isShowPrevButton() calls get state(), which in turn calls get currentPage().

At this point the logic in there checks if the current page is visible, which it is not, and thus it resets the current page to the first visible page.

This restarts the loop with a different page, which might also have a randomized panel inside...

I've spend a couple of hours on debugging this; I'll try to get some simple reproduction example another time.

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

Asking a question

What is the current behavior?

When the 'show all pages' option is selected rather than a specific page, the title of the survey is editable image If 'page1' is selected, the title field no longer appears: image

We currently change the titles of the surveys as part of a different process, and do not want the title to be editable in the Survey Creator. Is there either:

A way to set 'show all pages': false in config, and hide the dropdown

or

A way to hide specific fields in the translation tab?

Thanks

Product
survey-creator
Type
Bug
Description
СV2: non-latin charachters break the font

image

  • the ability to change toolbox location (left/right)
  • the ability to change property panel location (left/right)
  • toolbox & property panel in one panel
Product
survey-creator
Type
Bug
Description
Toolbox floating item and survey title overlapped icorrectly

MicrosoftTeams-image (5)

Product
survey-creator
Type
Bug
Description
CV2 React Warnings (DnD new page key)

Sometimes drag and drop caused two type of react warnings

  1. Render should be a pure function - see https://github.com/surveyjs/survey-creator/issues/2215
  2. Same key
Product
survey-creator
Type
Bug
Description
Wrong question button margins and paddings
  • Align buttons by icons, not by invisible border (see fig. 1):
  • Align panel buttons to right (see fig. 2 and just apply the css):

Fig 1: image

Fig 2: image

.svc-question__content-actions {
  .sv-action:first-child:not(.sv-action--first) {
    margin-left: auto;
  }
}
Product
survey-creator
Type
Bug
Description
Fix PropertyGrid padding for non-mobile view

Current view: image

Need to be: image

Product
survey-creator
Type
Bug
Description
React warning about pure "render" function

get currentPage getter has side effects which caused react warning:

Warning: Cannot update during an existing state transition (such as within render). Render methods should be a pure function...

  public get currentPage(): any {
    if (this.currentPageValue != null) {
      if (!this.isPageInVisibleList(this.currentPageValue) || this.pages.indexOf(this.currentPageValue) < 0) {
        if (
          !this.onContainsPageCallback ||
          !this.onContainsPageCallback(this.currentPageValue)
        ) {
          this.currentPage = null;
        }
      }
    }
    if (this.currentPageValue == null && !!this.firstVisiblePage) {
      this.currentPage = this.firstVisiblePage;
    }
    return this.currentPageValue;
  }

could be reproduced by drag drop question from the toolbox to the first position (the page should contain some questions before it)

Product
survey-creator
Type
Enhancement
Description
Drag Drop on Tablet and Mobile devices (research)

need to investigate current state and give the estimations

found problems:

  • #2221
  • #2222
  • #2223
  • #2224
Product
survey-creator
Type
Bug
Description
Creator V2: wrong logo position on the test survey tab

image

Product
survey-creator
Type
Enhancement
Description
CV2: update icon for dynamic panel in toolbox
Product
survey-creator
Type
Enhancement
Description
Creator V2: survey logo has different position in creator and customer survey
Product
survey-pdf
Type
Bug
Description
TITLE_PANEL_FONT_SIZE_SCALE variable is used in page title

Changes of this variable cause the following behavior

image

Product
survey-analytics
Type
Bug
Description
Percentage marks are rounded to int values and lose accuracy

See the https://surveyjs.answerdesk.io/ticket/details/t8244/survey-analytics-charts-issue thread for more details

image

Percentages sum = 101, that is wrong

Version: v1.8.78, released at Wednesday, November 17, 2021, Total Issue Count: 17

Product Type Description
survey-library Enhancement Matrix question options have incorrect aria-label

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

Reporting an accessibility bug

What is the current behavior?

On matrix questions, options are given the incorrect aria-label value, and the span embedded in the label has the incorrect value.

What is the expected behavior?

The generated aria-label and hidden span should have a value that matches the title of the column, not the name of the question

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

See codesandbox. You can reproduce this by creating a matrix question using the Survey Designer

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

Tested page URL: Codesandbox example

Test code

import ReactDOM from "react-dom";
import * as Survey from "survey-react";

Survey.StylesManager.applyTheme("modern");

var surveyJSON = {
  pages: [
    {
      name: "page1",
      elements: [
        {
          type: "matrix",
          name: "question1",
          columns: ["Column 1", "Column 2", "Column 3"],
          rows: ["Row 1", "Row 2"]
        }
      ]
    }
  ]
};

function sendDataToServer(survey) {
  //send Ajax request to your web server.
  alert("The results are:" + JSON.stringify(survey.data));
}

ReactDOM.render(
  <Survey.Survey json={surveyJSON} onComplete={sendDataToServer} />,
  document.getElementById("surveyContainer")
);


Specify your

  • browser: Brave
  • browser version: 1.30.89 - Chromium 94.0.4606.81
  • surveyjs platform (angular or react or jquery or knockout or vue): example is in react, but have observed the issue in vue as well
  • surveyjs version: 1.8.72
survey-library Bug Can't change default value for question isRequried

The following code does nothing:

Survey.Serializer.findProperty("question", "isRequired").defaultValue = true;

This code should make all questions requried by default.

survey-library Bug Ranking: ko: not stable functional testcafe tests

sometimes tests failed in knockout framework

survey-library Bug Survey data of questions with valueName in a panel that is hidden during survey editing is not removed

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

Bug

What is the current behavior?

When a panel with filled in matrixdynamic is hidden, the data does not get removed from the survey data. Unlike when specific fields get hidden, then this does work.

What is the expected behavior?

Data in matrixdynamic in hidden panel should also be removed.

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

Create a checkbox, add a panel with a matrixdynamic question. Fill in the panel questions. Make the panel hide on checkbox selection. Check that the data still contains the hidden panel questions data.

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

https://plnkr.co/edit/Bpcs5SzLpPSzhLmM

Select both target types, fill in a row in each panel. Then deselect one of the target types, submit and see all data still present in the survey_data.

Specify your

  • browser: Firefox
  • browser version: latest
  • surveyjs platform (angular or react or jquery or knockout or vue): jquery
  • surveyjs version: 1.8.76
survey-library Bug Panel layout problem
survey-creator Enhancement CV2: test tab responsive for mobile devices
survey-creator Bug Focus is lost during hit Enter on kanji selection

In order to get "かんじ感じ漢字" as a result, you need to type "kanjikanjikanji" while following these steps:

type "kanji" select "かんじ" (this is hiragana) within IME hit enter to validate your choice and to differentiate it as as single word type "kanji" select "感じ" (this is kanji + hiragana) within IME hit enter to validate your choice and to differentiate it as as single word type "kanji" select "漢字" (this is kanji only) within IME hit enter to validate your choice hit enter again to leave the input field (unfocus)

survey-creator Enhancement v2: DnD: added corresponding "question type icon" to dragged element shortcut
survey-creator Enhancement v2: DnD: while dragging existing element it should become "gray" until drag drop ends
survey-creator Enhancement v2: DnD: while dragging selected element the "selection"(orange border) should go to the shortcut and moved to element after drag
survey-creator Enhancement CV2: Survey position is not correct on mobile