Product | Type | Description | |
---|---|---|---|
|
survey-library | Bug | Incorrect default value for panelRemoveButtonLocation property |
The default value is incorrect in the property definition. |
|||
|
survey-library | Bug | Creator V2: Localizable properties may show default values from another properties in matrix dynamic |
We need this fix for property grid in Creator V2 |
|||
|
survey-library | Bug | Bug on clean answers on complete on choices from web property |
Are you requesting a feature, reporting a bug or asking a question?Bug What is the current behavior?When I use the choices from web property and my question has a previous value that doesn't match with the current data of my API endpoint, the data is not cleaned when I approve (this is cleaned when I have a scenario without choices from web). What is the expected behavior?It works exactly the same as the case without choices from web How would you reproduce the current behavior (if this is a bug)?Case without choices from web: this is a case that has 3 choices, the user select 1 element, and after that, that element was removed - this case is ok https://plnkr.co/edit/vQ76jGTalxvqFc5I Case with choices from web https://plnkr.co/edit/MlnMy5CyGITAwJES Specify your
|
|||
|
survey-library | Enhancement | Add survey.onMatrixRowRemoving event |
You can use this event to avoid deleting row from a matrix dynamic question at the last moment or for example clear row values instead of deleting the row. The following code will clear values in the only row, instead of removing it and allow to remove a row if there are more then one row in the matrix.
|
|||
|
survey-library | Bug | MultipleText question set empty string as value for their items |
The original issue was created on SurveyJS support desk. The empty string should not be considered as valid entered value. |
|||
|
survey-library | Bug | Remove has other item property from ranking's property grid |
Also some strange behavior with other item adorner in ranking question:
|
|||
|
survey-library | Bug | Hide max selected choices property from ranking's property grid |
|
|||
|
survey-library | Enhancement | ranking: hide "hasOthers" and related properties |
"hasOthers" and related properties do not have a lot of sense for ranking question. We will hide them based on the https://surveyjs.answerdesk.io/ticket/details/T6802 |
|||
|
survey-library | Bug | survey-knockout + jQuery - drag file(s) over a file question causes the error |
See the https://surveyjs.answerdesk.io/ticket/details/t6815/uncaught-typeerror-t-datatransfer-is-undefined thread for more details |
|||
|
survey-creator | Bug | Bug on create a custom question (panel question) from toolbox |
Are you requesting a feature, reporting a bug or ask a question?Bug What is the current behavior?When i add a panel question on the toolbox the event onQuestionAdded is not being triggered , and im getting 2 different behaviors when i drag the question or when i click it
What is the expected behavior?When i add a panel question on the toolbox the event onQuestionAdded must be triggered.
How would you reproduce the current behavior (if this is a bug)?
Specify your
|
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Incorrect default value for panelRemoveButtonLocation property |
The default value is incorrect in the property definition.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Creator V2: Localizable properties may show default values from another properties in matrix dynamic |
We need this fix for property grid in Creator V2
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Bug on clean answers on complete on choices from web property |
Bug
When I use the choices from web property and my question has a previous value that doesn't match with the current data of my API endpoint, the data is not cleaned when I approve (this is cleaned when I have a scenario without choices from web).
It works exactly the same as the case without choices from web
Case without choices from web: this is a case that has 3 choices, the user select 1 element, and after that, that element was removed - this case is ok https://plnkr.co/edit/vQ76jGTalxvqFc5I
Case with choices from web https://plnkr.co/edit/MlnMy5CyGITAwJES
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Add survey.onMatrixRowRemoving event |
You can use this event to avoid deleting row from a matrix dynamic question at the last moment or for example clear row values instead of deleting the row. The following code will clear values in the only row, instead of removing it and allow to remove a row if there are more then one row in the matrix.
survey.onMatrixRowRemoving.add(function(survey, options) {
options.allow = options.question.rowCount > 1;
if (!options.allow) {
options.row.clearValue();
}
});
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
MultipleText question set empty string as value for their items |
The original issue was created on SurveyJS support desk. The empty string should not be considered as valid entered value.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Remove has other item property from ranking's property grid |
Also some strange behavior with other item adorner in ranking question:
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Hide max selected choices property from ranking's property grid |
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
ranking: hide "hasOthers" and related properties |
"hasOthers" and related properties do not have a lot of sense for ranking question. We will hide them
based on the https://surveyjs.answerdesk.io/ticket/details/T6802
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
survey-knockout + jQuery - drag file(s) over a file question causes the error |
Uncaught TypeError: t.dataTransfer is undefined
See the https://surveyjs.answerdesk.io/ticket/details/t6815/uncaught-typeerror-t-datatransfer-is-undefined thread for more details
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Bug on create a custom question (panel question) from toolbox |
Bug
When i add a panel question on the toolbox the event onQuestionAdded is not being triggered , and im getting 2 different behaviors when i drag the question or when i click it
When i add a panel question on the toolbox the event onQuestionAdded must be triggered.
Product | Type | Description | |
---|---|---|---|
|
survey-library | Bug | rateValues property in Rating question has "rates" name in property hash |
Because the property name and name in the property hash is different, our property grid in Creator V2 works incorrectly. We should fix it. It should not introduce any breacking changes since "rates" used internally only and "rateValues" property is for public API. |
|||
|
survey-library | Bug | "Remove" button doesn't show on adding new row in matrix dynamic |
Due performance optimization we forgot to add/update our rows actions cache. We have update it on adding/removing rows. |
|||
|
survey-analytics | Enhancement | Show signature as an image in table view column |
See the https://surveyjs.answerdesk.io/ticket/details/t6795/how-does-the-user-validate-the-signature-pad-response thread for more details |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
rateValues property in Rating question has "rates" name in property hash |
Because the property name and name in the property hash is different, our property grid in Creator V2 works incorrectly. We should fix it. It should not introduce any breacking changes since "rates" used internally only and "rateValues" property is for public API.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
"Remove" button doesn't show on adding new row in matrix dynamic |
Due performance optimization we forgot to add/update our rows actions cache. We have update it on adding/removing rows.
Product |
|
---|---|
survey-analytics | |
Type | |
Enhancement | |
Description | |
Show signature as an image in table view column |
See the https://surveyjs.answerdesk.io/ticket/details/t6795/how-does-the-user-validate-the-signature-pad-response thread for more details
Product | Type | Description | |
---|---|---|---|
|
survey-library | Enhancement | Accessibility: use title attribute instead of headers for responsive tables |
See the https://surveyjs.answerdesk.io/ticket/details/t6726/accessibility-ensure-that-each-cell-in-a-table-using-the-headers-refers-to-another-cell thread for more details
|
|||
|
survey-library | Bug | showInvisibleElements prop show only empty divs with class "sv-vue-row-additional-div" |
Are you requesting a feature, reporting a bug or asking a question?Reporting a bug What is the current behavior?When I set survey "showInvisibleElements" prop to true, the visibleIf questions doesn't show up (only their empty div). What is the expected behavior?Show all the visible and invisible questions when "showInvisibleElements" is set to true. How would you reproduce the current behavior (if this is a bug)?Using a form with visibleIf conditions, set survey.showInvisibleElements = true and run. Currently, I'm using Nuxt, but I found it easier to reproduce with pure Vue at CodeSandbox. Provide the test code and the tested page URL (if applicable)Tested page URL: https://codesandbox.io/s/surveyjs-vue-forked-d2bvg?file=/src/components/SurveyComponent.vue Specify your
|
|||
|
survey-library | Bug | Cannot find module 'survey-core' or its corresponding type declarations |
Are you requesting a feature, reporting a bug or asking a question?Bug What is the current behavior?When building the application, we are getting "Cannot find module 'survey-core' or its corresponding type declarations." What is the expected behavior?No errors occur while building the vue app. How would you reproduce the current behavior (if this is a bug)?Get to Version Specify your
|
|||
|
survey-library | Bug | Bug on visible if (contains operator) if text value is 'False' or 'True' |
Are you requesting a feature, reporting a bug or ask a question?Bug What is the current behavior?When i use this kind of visibleif contains 'False' contains 'FALSE' contains 'True' contains 'TRUE' the question never appears What is the expected behavior?This reserved words, should be treated as a word How would you reproduce the current behavior (if this is a bug)?You can use the plunker attached, the test survey tab Provide the test code and the tested page URL (if applicable)Tested page URL: https://plnkr.co/edit/kJnGrgMdzZToW6Un
|
|||
|
survey-library | Bug | visibleIf does not work on subsequent pages for Vue implementation only. |
"visibleIf" on a second page causes the page to never work if comparing answer from previous page. Are you requesting a feature, reporting a bug or asking a question?Reporitng a bug What is the current behavior?For other framework/library implementations (such as React or jquery) visibleIf works on other pages. However on the VueJs implementation, the visibleIf parameter is ignored. It seems the variables on subsequent pages in VueJs does not have a value. VueJS version not working: https://codesandbox.io/s/surveyjs-vue-forked-uyoj5 What is the expected behavior?Working React Version https://codesandbox.io/s/vigorous-lederberg-h99xb How would you reproduce the current behavior (if this is a bug)?Every time, this is a bug. Provide the test code and the tested page URL (if applicable)Tested page URL: Test code These work on subsequent pages:
|
|||
|
survey-library | Bug | Comment question expand "textarea" |
It is possible to expand "textarea" of the "comment" question outside the parent element. But it shouldn't. |
|||
|
survey-library | Enhancement | Add panel attribute into options parameter onDynamicPanelAdded event |
In most cases, developers need an instance of added panel in this event. We ask to get it as:
|
|||
|
survey-library | Enhancement | Allow to set logo width/height in percent/pixels/auto |
|
|||
|
survey-library | Enhancement | Implement the autoComplete option for dropdown question type |
|
|||
|
survey-library | Bug | survey.clear() doesn't clear other text if defaultValue is "other" |
If we have the following questions:
Then on calling |
|||
|
survey-creator | Bug | Duplicated element id "svd-translation-language-selector" |
See the https://surveyjs.answerdesk.io/ticket/details/t6729/accessibility-ensures-every-id-attribute-value-is-unique thread for more details |
|||
|
survey-creator | Bug | Translation tab accessibility issues |
See the following threads for more details: https://surveyjs.answerdesk.io/ticket/details/t6739/accessibility-translation-tab-section-in-survey-creator-is-not-accessible-through https://surveyjs.answerdesk.io/ticket/details/t6740/accessibility-ensure-select-element-has-an-accessible-name-in-tanslation-section-of https://surveyjs.answerdesk.io/ticket/details/t6748/accessibility-ensures-elements-with-an-aria-role-that-require-parent-roles-are |
|||
|
survey-creator | Bug | Edit pages does not work when editing survey in Modal Window |
When I choose old property grid and edit pages in modal, it didn't work. |
|||
|
survey-creator | Bug | Error saving choices from web on classic mode (Modal Question Property Editor) |
Are you requesting a feature, reporting a bug or ask a question?Bug What is the current behavior?When i try to change any property from choices from web tab on modal question editor, i get an exception error What is the expected behavior?Being able to save my question without problem How would you reproduce the current behavior (if this is a bug)?a video explaining the situation https://streamable.com/u90ci4 |
|||
|
survey-analytics | Enhancement | Introduce export `fileName` option for Tabulator visualizer |
This option should allow to set exported file name |
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Accessibility: use title attribute instead of headers for responsive tables |
See the https://surveyjs.answerdesk.io/ticket/details/t6726/accessibility-ensure-that-each-cell-in-a-table-using-the-headers-refers-to-another-cell thread for more details
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
showInvisibleElements prop show only empty divs with class "sv-vue-row-additional-div" |
Reporting a bug
When I set survey "showInvisibleElements" prop to true, the visibleIf questions doesn't show up (only their empty div).
Show all the visible and invisible questions when "showInvisibleElements" is set to true.
Using a form with visibleIf conditions, set survey.showInvisibleElements = true and run. Currently, I'm using Nuxt, but I found it easier to reproduce with pure Vue at CodeSandbox.
Tested page URL: https://codesandbox.io/s/surveyjs-vue-forked-d2bvg?file=/src/components/SurveyComponent.vue
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Cannot find module 'survey-core' or its corresponding type declarations |
Bug
When building the application, we are getting "Cannot find module 'survey-core' or its corresponding type declarations."
No errors occur while building the vue app.
Get to Version ^1.8.37
and run a build.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Bug on visible if (contains operator) if text value is 'False' or 'True' |
Bug
When i use this kind of visibleif contains 'False' contains 'FALSE' contains 'True' contains 'TRUE'
the question never appears
This reserved words, should be treated as a word
You can use the plunker attached, the test survey tab
Tested page URL: https://plnkr.co/edit/kJnGrgMdzZToW6Un
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
visibleIf does not work on subsequent pages for Vue implementation only. |
"visibleIf" on a second page causes the page to never work if comparing answer from previous page.
Reporitng a bug
For other framework/library implementations (such as React or jquery) visibleIf works on other pages. However on the VueJs implementation, the visibleIf parameter is ignored. It seems the variables on subsequent pages in VueJs does not have a value.
VueJS version not working: https://codesandbox.io/s/surveyjs-vue-forked-uyoj5
Working React Version https://codesandbox.io/s/vigorous-lederberg-h99xb
Every time, this is a bug.
Tested page URL:
Test code
These work on subsequent pages:
visbibleIf: "1=1"
This does not work on subsequent pages:
```visibleIf: "{introQuestion} = 'yes'",```
Working React Version
https://codesandbox.io/s/vigorous-lederberg-h99xb
VueJS version not working:
https://codesandbox.io/s/surveyjs-vue-forked-uyoj5
Both of these examples utilize the same json payload for the survey.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Comment question expand "textarea" |
It is possible to expand "textarea" of the "comment" question outside the parent element. But it shouldn't.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Add panel attribute into options parameter onDynamicPanelAdded event |
In most cases, developers need an instance of added panel in this event. We ask to get it as:
let panel = options.question.panels[options.question.panels.length - 1]l
, but code is not obvious and the attribute should be in the place initially.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Allow to set logo width/height in percent/pixels/auto |
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Implement the autoComplete option for dropdown question type |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
survey.clear() doesn't clear other text if defaultValue is "other" |
If we have the following questions:
"elements": [
{
"type": "checkbox",
"name": "q1",
"defaultValue": [
"other"
],
"choices": [
"Item1",
],
"hasOther": true
},
{
"type": "radiogroup",
"name": "q2",
"defaultValue": "other",
"choices": [
"Item1",
],
"hasOther": true
},
]
Then on calling survey.clear()
other text is not cleared for this questions.
Here the original issue on SurveyJS Support Desk.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Duplicated element id "svd-translation-language-selector" |
See the https://surveyjs.answerdesk.io/ticket/details/t6729/accessibility-ensures-every-id-attribute-value-is-unique thread for more details
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Translation tab accessibility issues |
See the following threads for more details: https://surveyjs.answerdesk.io/ticket/details/t6739/accessibility-translation-tab-section-in-survey-creator-is-not-accessible-through https://surveyjs.answerdesk.io/ticket/details/t6740/accessibility-ensure-select-element-has-an-accessible-name-in-tanslation-section-of https://surveyjs.answerdesk.io/ticket/details/t6748/accessibility-ensures-elements-with-an-aria-role-that-require-parent-roles-are
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Edit pages does not work when editing survey in Modal Window |
When I choose old property grid and edit pages in modal, it didn't work.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Error saving choices from web on classic mode (Modal Question Property Editor) |
Bug
When i try to change any property from choices from web tab on modal question editor, i get an exception error
Being able to save my question without problem
a video explaining the situation https://streamable.com/u90ci4
Product |
|
---|---|
survey-analytics | |
Type | |
Enhancement | |
Description | |
Introduce export `fileName` option for Tabulator visualizer |
This option should allow to set exported file name
Product | Type | Description | |
---|---|---|---|
|
survey-library | Enhancement | Inroduce survey.lazyRendering property |
We have the global
|
|||
|
survey-library | Enhancement | Add "multipletext_itemname" string into English translation file |
This string is used on creating multiple text question as a name for text item. The default english string is "text". |
|||
|
survey-library | Enhancement | Reduce the number of calls for survey.onGetMatrixRowActions event. |
We call survey.onGetMatrixRowActions event in 4 times more then we could. |
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Inroduce survey.lazyRendering property |
We have the global settings.lazyRowsRendering
. We need this property on the survey level:
/**
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Add "multipletext_itemname" string into English translation file |
This string is used on creating multiple text question as a name for text item. The default english string is "text".
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Reduce the number of calls for survey.onGetMatrixRowActions event. |
We call survey.onGetMatrixRowActions event in 4 times more then we could.
Product | Type | Description | |
---|---|---|---|
|
survey-library | Enhancement | Optimize performance for survey gets data from editingObj property |
Optimized performance in several places to make survey works faster with setting |
|||
|
survey-library | Bug | Progress bar doesn't work correctly when survey.progressBarType equals to "requriedQuestions" |
We do not register rendering elements for this progressBarType. It should be fixed. |
|||
|
survey-library | Enhancement | Support {panelindex} in panel dynamic template questions |
The current JSON doesn't work right now.
is undefined. We need to support it. |
|||
|
survey-library | Bug | Bug: Unable to Preview a Matrix Dynamic inside of a Panel Dynamic |
Are you requesting a feature, reporting a bug or asking a question?Reporting a Bug What is the current behavior?When attempting to preview the survey results, an exception is thrown. What is the expected behavior?The preview should be displayed without any exceptions. How would you reproduce the current behavior (if this is a bug)?
Provide the test code and the tested page URL (if applicable)Tested page URL: https://plnkr.co/edit/LEnFSZKaORIFc8y5 Test code
Specify your
|
|||
|
survey-library | Bug | question.indent and panel.indent doesn't work when they are inside dynamic panel. |
Survey ignores indents during rendering in the following JSON:
|
|||
|
survey-library | Enhancement | Performance optimization in creating actions in matrix dropdown/dynamic rows |
There was a performance issue if there is actions in matrix rows and there are hundreds rows in the matrix |
|||
|
survey-library | Enhancement | Performance optimization: calculate question.displayValue on request only |
We calculate question displayValue on loading/creating question and changing value. For complex questions like matrix, it requires to generate rows and perform a lot of task, while question.displayValue could be not requested during survey running at all. We should calculate it on request only. |
|||
|
survey-library | Enhancement | Performance optimization: add property into html question to avoid text processing |
Add Requires for Creator V2 |
|||
|
survey-library | Enhancement | Peformance optimization: calculate element css objects on requests only |
Do not create and update Survey element css objects until they were not requested first time and then start to update them accordingly. It will increase the survey loading/deserialization time. We may do not render a Survey element (it could be located on another page), but SurveyJS updates an element css objects since it is loaded. |
|||
|
survey-library | Enhancement | Performance optimization: Do not render content of collapsed panel |
We do not render content of collapsed panel for react, we should not do not it for knockout and vue either. |
|||
|
survey-creator | Bug | defaultValue property editor doesn't work correctly for matrix dropdown if cellType is set |
The issue was created on SurveyJS support desk.
Property editor for
It works fine if remove |
|||
|
survey-creator | Bug | Next value functionality stops working for choices, matrix dropdown rows and rates |
We used deprecated and non-documented |
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Optimize performance for survey gets data from editingObj property |
Optimized performance in several places to make survey works faster with setting editingObj
property. It is requried for SurveyJS Creator V2. Added several new unit tests.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Progress bar doesn't work correctly when survey.progressBarType equals to "requriedQuestions" |
We do not register rendering elements for this progressBarType. It should be fixed.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Support {panelindex} in panel dynamic template questions |
The current JSON doesn't work right now.
{
"elements": [
{
"type": "paneldynamic",
"name": "panel",
"templateElements": [
{
"type": "text",
"name": "question1",
"defaultValueExpression": "{panelIndex} + 1"
}
]
}
]
}
is undefined. We need to support it.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Bug: Unable to Preview a Matrix Dynamic inside of a Panel Dynamic |
Reporting a Bug
When attempting to preview the survey results, an exception is thrown.
The preview should be displayed without any exceptions.
Tested page URL: https://plnkr.co/edit/LEnFSZKaORIFc8y5
Test code
Survey
.StylesManager
.applyTheme("modern");
var json = {
"pages": [
{
"name": "page1",
"elements": [
{
"type": "paneldynamic",
"name": "question1",
"templateElements": [
{
"type": "matrixdynamic",
"name": "question2",
"columns": [
{
"name": "Column 1"
}
],
"choices": [
1,
2,
3,
4,
5
],
"rowCount": 1
}
]
}
]
}
],
"showPreviewBeforeComplete": "showAnsweredQuestions"
};
window.survey = new Survey.Model(json);
survey
.onComplete
.add(function (result) {
document
.querySelector('#surveyResult')
.textContent = "Result JSON:\n" + JSON.stringify(result.data, null, 3);
});
$("#surveyElement").Survey({model: survey});
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
question.indent and panel.indent doesn't work when they are inside dynamic panel. |
Survey ignores indents during rendering in the following JSON:
{
elements: [
{
type: "paneldynamic",
name: "panel",
templateElements: [
{
type: "text",
name: "question1",
indent: 1,
},
{
type: "panel",
name: "nestedPanel",
indent: 2,
elements: [
{
type: "text",
name: "question2",
indent: 3,
},
],
},
],
panelCount: 1,
},
],
}
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Performance optimization in creating actions in matrix dropdown/dynamic rows |
There was a performance issue if there is actions in matrix rows and there are hundreds rows in the matrix
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Performance optimization: calculate question.displayValue on request only |
We calculate question displayValue on loading/creating question and changing value. For complex questions like matrix, it requires to generate rows and perform a lot of task, while question.displayValue could be not requested during survey running at all. We should calculate it on request only.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Performance optimization: add property into html question to avoid text processing |
Add ignoreHtmlProgressing
boolean non-serializable property into html question that avoids the text/html processing when it is true
(default is undefined
).
Requires for Creator V2
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Peformance optimization: calculate element css objects on requests only |
Do not create and update Survey element css objects until they were not requested first time and then start to update them accordingly. It will increase the survey loading/deserialization time. We may do not render a Survey element (it could be located on another page), but SurveyJS updates an element css objects since it is loaded.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Performance optimization: Do not render content of collapsed panel |
We do not render content of collapsed panel for react, we should not do not it for knockout and vue either.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
defaultValue property editor doesn't work correctly for matrix dropdown if cellType is set |
The issue was created on SurveyJS support desk.
Property editor for defaultValue
is failed for the following JSON:
{
"type": "matrixdropdown",
"name": "question1",
"columns": [
{
"name": "Column 1",
"cellType": "boolean"
},
],
"cellType": "boolean",
"rows": [
"Row 1",
"Row 2"
]
}
It works fine if remove cellType: "boolean"
property.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Next value functionality stops working for choices, matrix dropdown rows and rates |
We used deprecated and non-documented itemValue
property to generate the next value. We should replace it with value
property.
Add a unit test on this functionality.
The bug was reported on SurveyJS support desk.
Product | Type | Description | |
---|---|---|---|
|
survey-library | Bug | Wrong spelled term - "origional" - is used instead of "original" in naming of private API members |
A minor issue in private API naming. "origional" is used instead of "original" within some APIs in expressions.ts, survey.ts, and in certain test files. For instance, in expressions.ts: https://github.com/surveyjs/survey-library/blob/68eb0054dc83d2f45a6daa1042bf7440c8faf007/src/expressions/expressions.ts#L304 |
|||
|
survey-library | Bug | survey.editingObj doesn't work for non serialized properties |
survey |
|||
|
survey-library | Bug | Version 1.8.38 breaks survey-angular package |
Are you requesting a feature, reporting a bug or asking a question?Bug What is the current behavior?
What is the expected behavior?No crash. How would you reproduce the current behavior (if this is a bug)?Use survey-angular 1.8.38 Specify your
|
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Wrong spelled term - "origional" - is used instead of "original" in naming of private API members |
A minor issue in private API naming. "origional" is used instead of "original" within some APIs in expressions.ts, survey.ts, and in certain test files.
For instance, in expressions.ts: https://github.com/surveyjs/survey-library/blob/68eb0054dc83d2f45a6daa1042bf7440c8faf007/src/expressions/expressions.ts#L304
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
survey.editingObj doesn't work for non serialized properties |
survey editingObj
functionality doesn't work correctly for question page
property since it is non serizable.
This functionality is requried for SurveyJS Creator V2.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Version 1.8.38 breaks survey-angular package |
Bug
Error: node_modules/survey-angular/survey.angular.d.ts:9291:26 - error TS2307: Cannot find module 'survey-core' or its corresponding type declarations.
9291 get survey(): import("survey-core").ISurvey;
No crash.
Use survey-angular 1.8.38
Product | Type | Description | |
---|---|---|---|
|
survey-library | Enhancement | Clear event handlers on disposing survey objects |
On calling survey.dispose() or question.dispose() we should clear all event handlers for survey objects. |
|||
|
survey-library | Bug | Navigation becomes unresponsive after required error is corrected |
I am reporting a bug discovered in "survey-vue": "^1.8.31" and "surveyjs-widgets": "^1.8.31". The current behavior is:After the required error state throws (when a user tries to proceed without answering a required question) and is corrected with the user answering that question, the survey navigation only allows the user to move forward one page and then becomes unresponsive and shows that the survey is in error state. The expected behavior is:I expect the survey navigation to remain responsive when a required error was thrown and corrected and the next page is navigated to. To reproduce:
This resolves 100% when I revert my version back to 1.8.0Test code
Specify your
|
|||
|
survey-library | Bug | key duplication errors does not come up in matrix/panel dynamic |
Are you requesting a feature, reporting a bug or asking a question?bug What is the current behavior?when duplicated keys are present surveyJS correctly does not save the data and focus on the question with the error but the error is not shown What is the expected behavior?see duplicated key errors How would you reproduce the current behavior (if this is a bug)? |
|||
|
survey-library | Bug | survey-react - browser autofill doesn't work with react 17.x |
See the https://surveyjs.answerdesk.io/ticket/details/t6364/state-field-not-submitting-with-browser-autofilled-value thread for more details |
|||
|
survey-library | Bug | knockout: template error on changing from edit to preview mode for boolean required question in component |
We have an incorrect template for question title that works incorrectly if there is a boolean required question in composite component. The related issue on our support desk. |
|||
|
survey-library | Enhancement | Refactor knockout dispose functions |
Make sure to dispose knockout objects on dispose() function. |
|||
|
survey-library | Bug | Survey editingObj property doesn't work correctly with localizable strings |
It requires for Creator V2. It doens't show correctly value for question.title, for example. |
|||
|
survey-creator | Enhancement | The `allowEdit` option blocks all question/panel adorners |
We need to introduce a separate option, let's say |
|||
|
survey-creator | Bug | SurveyJS Creator get Maximum call stack size exceeded exception under certain circumstances |
Are you requesting a feature, reporting a bug or ask a question?Bug, See the https://surveyjs.answerdesk.io/internal/ticket/details/T6625 thread for more details What is the current behavior?Uncaught RangeError: Unable to process binding "template: function(){return { name:templateData.name,data:templateData.data,afterRender:templateData.afterRender} }" Message: Unable to process binding "component: function () " Message: Maximum call stack size exceeded at Object.get (knockout.js:374) at a.o.l (knockout.js:414) at Function.yd (knockout.js:205) at Function.zd (knockout.js:204) at Function.ha (knockout.js:200) at Object.a.o.a.$ (knockout.js:190) at init (knockout.js:413) at knockout.js:336 at Object.G (knockout.js:146) at knockout.js:336 What is the expected behavior?No exceptions |
|||
|
survey-analytics | Enhancement | Introduce the unregisterExtension method for TableExtensions |
This will allow to remove table actions like language selector See the https://surveyjs.answerdesk.io/ticket/details/t6602/can-i-hide-the-language-selection-box-in-the-survey-analytics-data-table thread for more details |
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Clear event handlers on disposing survey objects |
On calling survey.dispose() or question.dispose() we should clear all event handlers for survey objects.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Navigation becomes unresponsive after required error is corrected |
I am reporting a bug discovered in "survey-vue": "^1.8.31" and "surveyjs-widgets": "^1.8.31".
After the required error state throws (when a user tries to proceed without answering a required question) and is corrected with the user answering that question, the survey navigation only allows the user to move forward one page and then becomes unresponsive and shows that the survey is in error state.
I expect the survey navigation to remain responsive when a required error was thrown and corrected and the next page is navigated to.
s.data = this.surveyResult.result;
s.css = surveyClassOverrides;
s.showNavigationButtons = false;
// update sortable widget to rank items within result box instead of dragging from source box
s.getAllQuestions().forEach((question) => {
const q = question;
if (q.getType() === 'sortablelist') {
q.value = q.choices.map((c) => c.value);
q.isRequired = false;
}
});
// Set survey variables
forEach(this.surveyVariables, (value, key) => {
s.setVariable(key, value);
});
s.onPartialSend.add(this.sendDataToServer);
s.onComplete.add(this.completeSurvey);
// if this.survey.config?.goNextPageAutomatic is true we want to add a delay between the automatic transitions
let doDelay = this.survey.config.goNextPageAutomatic;
s.onCurrentPageChanging
/* eslint-disable no-param-reassign */
.add((sender, options) => {
if (!doDelay) return;
options.allowChanging = false;
setTimeout(() => {
doDelay = false;
sender.currentPage = options.newCurrentPage;
/* eslint-enable no-param-reassign */
doDelay = true;
}, 500);
});
// ensure that the survey will not automatically be completed when user answers final question
// allowCompleteSurveyAutomatic cannot be set in the JSON without making it serializable.
// See https://github.com/surveyjs/survey-library/issues/2638 for more info from SurveyJS
s.allowCompleteSurveyAutomatic = false;
this.surveyModel = s;
this.isSurveyComplete = false;
if (s.currentPageNo === 0) {
this.$emit('has-navigated-to-first-question', true);
} else {
this.$emit('has-navigated-to-first-question', false);
}
s.onCurrentPageChanged.add(this.handleNavigation);
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
key duplication errors does not come up in matrix/panel dynamic |
bug
when duplicated keys are present surveyJS correctly does not save the data and focus on the question with the error but the error is not shown
see duplicated key errors
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
survey-react - browser autofill doesn't work with react 17.x |
See the https://surveyjs.answerdesk.io/ticket/details/t6364/state-field-not-submitting-with-browser-autofilled-value thread for more details
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
knockout: template error on changing from edit to preview mode for boolean required question in component |
We have an incorrect template for question title that works incorrectly if there is a boolean required question in composite component. The related issue on our support desk.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Refactor knockout dispose functions |
Make sure to dispose knockout objects on dispose() function.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Survey editingObj property doesn't work correctly with localizable strings |
It requires for Creator V2. It doens't show correctly value for question.title, for example.
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
The `allowEdit` option blocks all question/panel adorners |
We need to introduce a separate option, let's say allowShowEditor
that will control the "Edit/Properties" button visibility
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
SurveyJS Creator get Maximum call stack size exceeded exception under certain circumstances |
Bug, See the https://surveyjs.answerdesk.io/internal/ticket/details/T6625 thread for more details
Uncaught RangeError: Unable to process binding "template: function(){return { name:templateData.name,data:templateData.data,afterRender:templateData.afterRender} }" Message: Unable to process binding "component: function () " Message: Maximum call stack size exceeded at Object.get (knockout.js:374) at a.o.l (knockout.js:414) at Function.yd (knockout.js:205) at Function.zd (knockout.js:204) at Function.ha (knockout.js:200) at Object.a.o.a.$ (knockout.js:190) at init (knockout.js:413) at knockout.js:336 at Object.G (knockout.js:146) at knockout.js:336
No exceptions
Product |
|
---|---|
survey-analytics | |
Type | |
Enhancement | |
Description | |
Introduce the unregisterExtension method for TableExtensions |
This will allow to remove table actions like language selector See the https://surveyjs.answerdesk.io/ticket/details/t6602/can-i-hide-the-language-selection-box-in-the-survey-analytics-data-table thread for more details
Product | Type | Description | |
---|---|---|---|
|
survey-library | Bug | survey.editingObj property doesn't work for editing matrix column object |
Matrix column object is a wrapper for a question, matrix cellType equals to question type. We have to get/set value for this object differently, since matrix column doesn't contain properties values in its hash. They are stored in in template question object. |
|||
|
survey-library | Bug | changing matrix dropdown/dynamic cellType stops unpdate DOM on changing column properties |
The following code doesn't work correctly:
We should update the html element and render "New Title" text. |
|||
|
survey-library | Bug | Changing matrix dropdown/dynamic choices doesn't change choices in columns |
We do not update column's choices on changing matrix choices property when cell questions use the default choices from matrix and do not have their own choices. The following code will not update cells questions choices property and as result UI.
We should change the cells questions choices immediately. |
|||
|
survey-library | Bug | Restfull - Wrong spelling in public API names (classes, members, files, example contents) |
In survey-library and service repos, there are public API entites (classes, members, files, examples) named with a wrong spelling of word "restfull" - the "restful" should be used instead. For instance: File name: Class name: Setting name: Example name: https://surveyjs.io/Examples/Library/?id=questiontype-dropdownrestfull and etc. It is worth providing correct names for public API entities, however such a correction should not break backward compatibility and introduce breaking changes. Some kind of 'obsoleteness' comes to mind. |
|||
|
survey-library | Bug | Composite component can clear question values on showing preview |
If component use visibleIf in their questions and survey |
|||
|
survey-library | Bug | Dynamic properties doesn't work for editing values by using editingObj property |
We need this functionality for SurveyJS Creator V2. Dynamic properties are not exists in a class definition and as result we do get values and do not set values. We need set values directly into object if property doesn't exists. |
|||
|
survey-library | Enhancement | Add inSurvey property into Base class |
|
|||
|
survey-library | Bug | Fix the misspelling restfull ->restful |
Rename class |
|||
|
survey-library | Bug | We do not serialize into JSON localizable strings with white spaces only |
The following code will produce incorrect result:
"json" variable will be equal to |
|||
|
survey-library | Enhancement | Trim strings on comparing question value and question correctValue |
We do not trim value on comparing the question |
|||
|
survey-library | Bug | Component question do not update it's content on changing survey locale |
Single and composite components do not send notification on changing locale into Here is the code that doesn't work correctly:
On changing survey |
|||
|
survey-library | Bug | Expression parser doesn't parse correctly empty strings |
When a user uses empty strings, the expression parser stops working. The following simple unit test is failed.
|
|||
|
survey-library | Bug | [Vue warn]: Do not use built-in or reserved HTML elements as component id: Text/Image |
Are you requesting a feature, reporting a bug or asking a question?Bug What is the current behavior?Receiving warnings when using the package.
What is the expected behavior?No warnings are shown in the console when using surveyJs. How would you reproduce the current behavior (if this is a bug)?Run attached project and see error appears, even without any survey used. Provide the test code and the tested page URL (if applicable)My package.json in the clean project:
Full project can be found attached. Specify your
|
|||
|
survey-library | Bug | choices loaded from the web do not support survey.locale changing. |
If choices loaded from web supports several languages, then on changing survey.locale, we do not change the rendering text for these choices accordingly. However, we should do it. |
|||
|
survey-library | Enhancement | Support localized choices loaded from the web out of the box |
Currently, if an item from restful API comes in the following format:
We do not recognize title object as a valid object and do not set it to the choice item text property. It will be nice to support it. |
|||
|
survey-library | Bug | Invalid loops in matrix dynamic/dropdown events |
Are you requesting a feature, reporting a bug or asking a question?Bug What is the current behavior?
What is the expected behavior?For loops have a valid condition. How would you reproduce the current behavior (if this is a bug)?We noticed this when we created the following situation: See: https://plnkr.co/edit/PKywNO0UKjHPBVNF
This triggers a This because the column name doesn't exist but the for loops keeps running untill it into an error because it requests props from columns that don't exist. Provide the test code and the tested page URL (if applicable)Tested page URL: https://plnkr.co/edit/PKywNO0UKjHPBVNF Specify your
|
|||
|
survey-creator | Enhancement | Implement inplace editing for ranking question |
See the https://surveyjs.answerdesk.io/ticket/details/t6555/ranking-question-inline-editing thread for more details |
|||
|
survey-creator | Enhancement | Update expressions on copying panels/pages in creator |
You can copy questions/panels/pages in Creator by using fast copy functionality or add an element into toolbar and then insert it into survey. These elements can contains expressions with links on questions inside them, for example:
The panel has two questions: question1 and question2. question1 refers to "question2" inside an expression. On copying this panel, if question1 and question2 already exists, these questions will have new names, for example question5 and question6. However expression will not be updated. We have to update it into " = 'item1':. |
|||
|
survey-creator | Bug | version 1.8.36 build issue |
.d.ts file contains the following code:
|
|||
|
survey-creator | Bug | Survey Creator enables inplace editing for rating in a matrix question |
See the https://surveyjs.answerdesk.io/ticket/details/t6579/matrix-multiple-with-rating-choice thread for more details |
|||
|
survey-creator | Bug | checkbox question maxSelectedChoices property is in "other" category |
maxSelectedChoices property should be in "Choices" category. |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
survey.editingObj property doesn't work for editing matrix column object |
Matrix column object is a wrapper for a question, matrix cellType equals to question type. We have to get/set value for this object differently, since matrix column doesn't contain properties values in its hash. They are stored in in template question object.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
changing matrix dropdown/dynamic cellType stops unpdate DOM on changing column properties |
The following code doesn't work correctly:
matrix.columns[0].title = "Old Title";
matrix.cellType = "checkbox";
matrix.columns[0].title = "New Title"; //column title will render the "Old title"
We should update the html element and render "New Title" text.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Changing matrix dropdown/dynamic choices doesn't change choices in columns |
We do not update column's choices on changing matrix choices property when cell questions use the default choices from matrix and do not have their own choices.
The following code will not update cells questions choices property and as result UI.
matrix.choices.push(new Survey.ItemValue("newItem"));
matrix.choices[0].value = "newValue";
matrix.choices[1].text= "my text";
We should change the cells questions choices immediately.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Restfull - Wrong spelling in public API names (classes, members, files, example contents) |
In survey-library and service repos, there are public API entites (classes, members, files, examples) named with a wrong spelling of word "restfull" - the "restful" should be used instead.
For instance:
File name: choicesRestfull.ts
https://github.com/surveyjs/survey-library/blob/master/src/choicesRestfull.ts
Class name: ChoicesRestfull
https://github.com/surveyjs/survey-library/blob/master/src/choicesRestfull.ts#L48
Setting name: useCachingForChoicesRestfull
https://github.com/surveyjs/survey-library/blob/master/src/settings.ts#L17
Example name: https://surveyjs.io/Examples/Library/?id=questiontype-dropdownrestfull
and etc.
It is worth providing correct names for public API entities, however such a correction should not break backward compatibility and introduce breaking changes. Some kind of 'obsoleteness' comes to mind.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Composite component can clear question values on showing preview |
If component use visibleIf in their questions and survey clearInvisibleValues
property is to "onHiddenContainer" then on showing preview a question value becomes empty.
It should be fixed.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Dynamic properties doesn't work for editing values by using editingObj property |
We need this functionality for SurveyJS Creator V2. Dynamic properties are not exists in a class definition and as result we do get values and do not set values. We need set values directly into object if property doesn't exists.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Add inSurvey property into Base class |
inSurvey
boolean property will return true
if the object is a part of the survey model or it is a survey object itself.
It returns true, if this object is not inserted into survey model or it has been deleted from it, or a parent object has been deleted from it.
For example if a page is removed from the survey, then all its questions and objects, like matrix columns, will start to return false on getting inSurvey
property.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Fix the misspelling restfull ->restful |
Rename class ChoicesRestfull
into ChoicesRestful
keep ChoicesRestfull
as a descendant for compatibility.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
We do not serialize into JSON localizable strings with white spaces only |
The following code will produce incorrect result:
var question = new Question("q1");
question.title = " ";
var json = question.toJSON();
"json" variable will be equal to {name: "q1"}
. The correct value {name: "q1", title: " "}
.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Trim strings on comparing question value and question correctValue |
We do not trim value on comparing the question value
and correctValue
propertiy It makes sense to trim string value, before comparing them.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Component question do not update it's content on changing survey locale |
Single and composite components do not send notification on changing locale into contentQuestion
and contentPanel
as result if internal elements are localized, they do not renders their localizable strings with the correct locale.
Here is the code that doesn't work correctly:
ComponentCollection.Instance.add({
name: "newquestion",
questionJSON:
{
type: "dropdown",
choices: [{ value: 1, text: { default: "item en", de: "item de" } }],
},
});
On changing survey locale
property to "de", dropdown will continue to render the first item as "item en", instead of "item de".
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Expression parser doesn't parse correctly empty strings |
When a user uses empty strings, the expression parser stops working. The following simple unit test is failed.
QUnit.test("parse iif with empty parameter", function(assert) {
var expression = parse("iif(1, 'yes', '')");
assert.ok(expression, "Expression parse correctly");
expression = parse('iif(1, "yes", "")');
assert.ok(expression, "Expression parse correctly, #2");
});
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
[Vue warn]: Do not use built-in or reserved HTML elements as component id: Text/Image |
Bug
Receiving warnings when using the package.
[Vue warn]: Do not use built-in or reserved HTML elements as component id: Text
and
[Vue warn]: Do not use built-in or reserved HTML elements as component id: Image
are displayed with every refresh of the page.
No warnings are shown in the console when using surveyJs.
Run attached project and see error appears, even without any survey used.
My package.json in the clean project:
{
"name": "surveyjs",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
"dependencies": {
"@vue/cli-service": "^4.5.12",
"survey-vue": "^1.8.36",
"vue": "^2.6.11"
},
"devDependencies": {
"vue-template-compiler": "^2.6.11"
}
}
Full project can be found attached.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
choices loaded from the web do not support survey.locale changing. |
If choices loaded from web supports several languages, then on changing survey.locale, we do not change the rendering text for these choices accordingly. However, we should do it.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Support localized choices loaded from the web out of the box |
Currently, if an item from restful API comes in the following format:
{
value: "item",
title: {
en: "item in English",
de: "item in Deutch"
}
}
We do not recognize title object as a valid object and do not set it to the choice item text property. It will be nice to support it.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Invalid loops in matrix dynamic/dropdown events |
Bug
getQuestion
functions have invalid for loop conditions. Causing issues where more than available columns are checked and causing errors.
The condition in the following for loop is just the length of an array (self.columns.length
), instead of something like i<self.columns.length
.
For loops have a valid condition.
We noticed this when we created the following situation: See: https://plnkr.co/edit/PKywNO0UKjHPBVNF
hasOther
.onMatrixCellValueChanged
handler, where you use options.getCellQuestion
This triggers a TypeError: self.columns[i] is undefined
per typed character.
This because the column name doesn't exist but the for loops keeps running untill it into an error because it requests props from columns that don't exist.
Tested page URL: https://plnkr.co/edit/PKywNO0UKjHPBVNF
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Implement inplace editing for ranking question |
See the https://surveyjs.answerdesk.io/ticket/details/t6555/ranking-question-inline-editing thread for more details
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Update expressions on copying panels/pages in creator |
You can copy questions/panels/pages in Creator by using fast copy functionality or add an element into toolbar and then insert it into survey. These elements can contains expressions with links on questions inside them, for example:
{
"type": "panel",
"name": "panel1",
"elements": [
{
"type": "text",
"name": "question1",
"visibleIf": "{question2} = 'item1'"
},
{
"type": "radiogroup",
"name": "question2",
"choices": [
"item1",
"item2",
"item3"
]
}
]
}
The panel has two questions: question1 and question2. question1 refers to "question2" inside an expression. On copying this panel, if question1 and question2 already exists, these questions will have new names, for example question5 and question6. However expression will not be updated. We have to update it into " = 'item1':.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
version 1.8.36 build issue |
.d.ts file contains the following code:
createTemplateObject: (element: Survey.Base) => import("../objectProperty").SurveyObjectProperty;
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Survey Creator enables inplace editing for rating in a matrix question |
See the https://surveyjs.answerdesk.io/ticket/details/t6579/matrix-multiple-with-rating-choice thread for more details
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
checkbox question maxSelectedChoices property is in "other" category |
maxSelectedChoices property should be in "Choices" category.
Product | Type | Description | |
---|---|---|---|
|
survey-library | Enhancement | Single choice hasNone option |
Are you requesting a feature, reporting a bug or asking a question?Feature What is the current behavior?Single choice question (dropdown / radio) doesn't have a What is the expected behavior?In market research questions are often mandatory but still want to have an |
|||
|
survey-library | Enhancement | Add diffDays function that you can use in expression |
You can use this function as: "diffDays(, ) < 7", it will return true if question dateFrom and dateTo has date that differs less then in seven days. |
|||
|
survey-library | Bug | size property in text question doesn't work |
Since the defualt css width for input in the text question is "100%", the size property is completely ignored. We have to remove the default value for size property from 25 to undefined (0) and set the input width to "auto" and size attribute to question size if it is more than 0. |
|||
|
survey-library | Bug | itemSize property doesn't work for multipleText question |
This property simply doesn't used in text item. Plus we need to introduce "size" property into text item to allow setting different size for different text items. |
|||
|
survey-creator | Bug | Add valueTrue/valueFalse and labelTrue/labelFalse for boolean column in property grid |
Use could not set valueTrue, valueFalse, labelTrue and labelFalse properties for boolean column in property grid. |
|||
|
survey-creator | Enhancement | Add parentObj and parentProperty into onGetPropertyReadOnly event. |
We need this properties in options to find out the master object and property if we want to make readOnly a nested property. For example the next code will make "value" column for editing "rows" property in matrix dropdown question read-only:
|
|||
|
survey-analytics | Bug | Empty ranking result breaks the analytics |
|
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Single choice hasNone option |
Feature
Single choice question (dropdown / radio) doesn't have a none of the above
option.
In market research questions are often mandatory but still want to have an escape
option to prevent participants just clicking next. Such a none
should work the same for single choice as it does for multiple choice; always be at the bottom and not randomized.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Add diffDays function that you can use in expression |
You can use this function as: "diffDays(, ) < 7", it will return true if question dateFrom and dateTo has date that differs less then in seven days.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
size property in text question doesn't work |
Since the defualt css width for input in the text question is "100%", the size property is completely ignored. We have to remove the default value for size property from 25 to undefined (0) and set the input width to "auto" and size attribute to question size if it is more than 0.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
itemSize property doesn't work for multipleText question |
This property simply doesn't used in text item. Plus we need to introduce "size" property into text item to allow setting different size for different text items.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Add valueTrue/valueFalse and labelTrue/labelFalse for boolean column in property grid |
Use could not set valueTrue, valueFalse, labelTrue and labelFalse properties for boolean column in property grid.
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Add parentObj and parentProperty into onGetPropertyReadOnly event. |
We need this properties in options to find out the master object and property if we want to make readOnly a nested property. For example the next code will make "value" column for editing "rows" property in matrix dropdown question read-only:
creator.onGetPropertyReadOnly.add(function (editor, options) {
if (!options.parentObj || !options.parentProperty) return;
options.readOnly =
options.propertyName === "value" &&
options.parentObj.getType() === "matrixdropdown" &&
options.parentProperty.name == "rows";
});
Product |
|
---|---|
survey-analytics | |
Type | |
Bug | |
Description | |
Empty ranking result breaks the analytics |
Product | Type | Description | |
---|---|---|---|
|
survey-library | Bug | Error on build with VueJS: Individual declarations in merged declaration 'ActionBarItem' must be all exported or all local. |
Are you requesting a feature, reporting a bug or asking a question?Bug What is the current behavior?Using VueJS 2.6.12 with It seems as if What is the expected behavior?Compile without errors. How would you reproduce the current behavior (if this is a bug)?Starting from v1.8.29 until present v1.8.34 using VueJS 2.6.12 with Specify your
|
|||
|
survey-library | Bug | react: Dropdown question may not set value correctly in panel dynamic if survey.StoreOtherAsComment is false |
The original issue was created on SurveyJS support desk. The following code doesn't work in react:
|
|||
|
survey-library | Enhancement | Improve responsive matrix rendering |
|
|||
|
survey-creator | Bug | Custom property editors doesn't work in Logic tab |
The original issue was created in SurveyJS support desk. Custom widget doesn't work in logic tab. Instead of CK Editor, like in this example, the standard text area is rendred in logic tab. |
|||
|
survey-creator | Bug | Add "Rate Values" category for rating column cell type |
We missed "Minimum rate", "Maximum rate" and "Rate step" properties in property grid for column with cell type equals to "rating". |
|||
|
survey-analytics | Enhancement | Support Ranking question type |
Ranking question type support for the Survey Analytics. |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Error on build with VueJS: Individual declarations in merged declaration 'ActionBarItem' must be all exported or all local. |
Bug
Using VueJS 2.6.12 with yarn serve
or yarn build
leads to an error (see screenshot).
It seems as if ActionBarItem
is declared twice in the build node_modules/survey-vue/survey.vue.d.ts
Compile without errors.
Starting from v1.8.29 until present v1.8.34 using VueJS 2.6.12 with yarn serve
or yarn build
.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
react: Dropdown question may not set value correctly in panel dynamic if survey.StoreOtherAsComment is false |
The original issue was created on SurveyJS support desk. The following code doesn't work in react:
var json = {
storeOthersAsComment: false,
elements: [
{
type: "paneldynamic",
name: "panel1",
templateElements: [
{
type: "dropdown",
name: "question1",
choices: [ "item1", "item2", "item3"],
hasOther: true
},
]
}
]
};
var survey = new Survey.Model(json);
survey.data = {"panel1":[{"question1":"ABCD"}]};
survey.onComplete.add(function (result) {
document.querySelector("#surveyResult").textContent =
"Result JSON:\n" + JSON.stringify(result.data, null, 3);
});
ReactDOM.render(
<Survey.Survey model={survey} />,
document.getElementById("surveyElement")
);
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Improve responsive matrix rendering |
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Custom property editors doesn't work in Logic tab |
The original issue was created in SurveyJS support desk. Custom widget doesn't work in logic tab. Instead of CK Editor, like in this example, the standard text area is rendred in logic tab.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Add "Rate Values" category for rating column cell type |
We missed "Minimum rate", "Maximum rate" and "Rate step" properties in property grid for column with cell type equals to "rating".
Product |
|
---|---|
survey-analytics | |
Type | |
Enhancement | |
Description | |
Support Ranking question type |
Ranking question type support for the Survey Analytics.
Product | Type | Description | |
---|---|---|---|
|
survey-library | Bug | Simple custom component doesn't work in matrixdynamic |
A simple custom dropdown component (like country) in matrixdynamic produces no value: |
|||
|
survey-library | Bug | Adaptive matrix dropdown rendered incorrectly when the showInMultipleColumns==true |
|
survey-creator | Bug | Move page requiredIf property into "Logic" section |
requiredIf in the other section for the page object. It should be located in "Logic" section. |
|||
|
survey-creator | Bug | Fast Entry still works slow for longer lists of items |
Are you requesting a feature, reporting a bug or asking a question?Reporting a bug. What is the current behavior?When using the fast entry feature of certain widgets in the survey editor, pasting a long list of items into the Fast Entry box causes the page to become very slow and unresponsive. Clicking on elements in the editor is delayed while the text from the clipboard is being processed, though these clicks are applied once the loading is done. This can be seen towards the end of the repro video (from 01:07). List of items example: https://pastebin.com/raw/Hy9nuyP4 Video of bug in action: What is the expected behavior?Page and survey editor should not slow down to this extent when pasting longer text from clipboard. How would you reproduce the current behavior (if this is a bug)?
Specify your
OtherI am aware this bug was found and supposedly fixed in another issue (https://github.com/surveyjs/survey-creator/issues/903), though it still seems to persist. This was tested on multiple different machines so it's unlikely to be hardware related. |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Simple custom component doesn't work in matrixdynamic |
A simple custom dropdown component (like country) in matrixdynamic produces no value:
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Adaptive matrix dropdown rendered incorrectly when the showInMultipleColumns==true |
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Move page requiredIf property into "Logic" section |
requiredIf in the other section for the page object. It should be located in "Logic" section.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Fast Entry still works slow for longer lists of items |
Reporting a bug.
When using the fast entry feature of certain widgets in the survey editor, pasting a long list of items into the Fast Entry box causes the page to become very slow and unresponsive. Clicking on elements in the editor is delayed while the text from the clipboard is being processed, though these clicks are applied once the loading is done. This can be seen towards the end of the repro video (from 01:07). List of items example: https://pastebin.com/raw/Hy9nuyP4
Video of bug in action:
Page and survey editor should not slow down to this extent when pasting longer text from clipboard.
I am aware this bug was found and supposedly fixed in another issue (https://github.com/surveyjs/survey-creator/issues/903), though it still seems to persist. This was tested on multiple different machines so it's unlikely to be hardware related.
Product | Type | Description | |
---|---|---|---|
|
survey-library | Bug | visibleIf doesn't work in composite component on calling showPreview()/cancelPreview() |
The original bug was posted into SurveyJS support desk. Here is the simple composite component:
|
|||
|
survey-library | Bug | Vue: on changing Survey Model can cause to issues in navigation |
The following code will cause issues with navigation
|
|||
|
survey-library | Bug | displayValue property doesn't work correctly for components (single and composite) |
We do not implmenet displayValue functionality for components. For example a simple component below on setting it's value to [1, 3] will return displayValue as "1, 3" instead of "text 1, text 3"
|
|||
|
survey-library | Bug | hideRequiredErrors not working as expected |
Reporting a bughideRequiredErrors property does not work as expected. What is the current behavior?In my survey model, I set
Notice that What is the expected behavior?By setting |
|||
|
survey-library | Bug | Ranking questions draggable when survey mode is "display" |
Ranking questions can still be dragged when survey mode is set to "display". This seems strange user experience. |
|||
|
survey-library | Bug | Missing fieldset for rating question rendering |
|
survey-creator | Bug | Changing SurveyCreator.settings.operators can do not change the UI behavior |
We moved logical operators definition from |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
visibleIf doesn't work in composite component on calling showPreview()/cancelPreview() |
The original bug was posted into SurveyJS support desk. Here is the simple composite component:
ComponentCollection.Instance.add({
name: "fullname",
title: "Full Name",
elementsJSON: [
{
type: "text",
name: "firstName",
isRequired: true,
},
{
type: "text",
name: "lastName",
visibleIf: "{composite.firstName} notempty",
isRequired: true,
},
],
});
visibleIf
property doesn't work on calling survey.showPreview();
function.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Vue: on changing Survey Model can cause to issues in navigation |
The following code will cause issues with navigation
var app = new Vue({
el: "#surveyElement",
data() {
return {
//create empty survey by default
survey: new Survey.Model(),
};
},
created() {
//this has glitchy "Previous", "Next" and "Complete" buttons
//if survey model assign into vue class props after onMounted
this.loadSurvey();
},
methods: {
},
loadSurvey() {
setTimeout(() => {
this.survey = new Survey.Model(
'{"pages": [{"name": "page1","elements": [{"type": "radiogroup","name": "question1","choices": ["item1","item2"]}]},{"name": "page2","elements": [{"type": "radiogroup","name": "question2","choices": ["item1","item2"]}]}]}'
);
}, 1000);
},
},
});
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
displayValue property doesn't work correctly for components (single and composite) |
We do not implmenet displayValue functionality for components. For example a simple component below on setting it's value to [1, 3] will return displayValue as "1, 3" instead of "text 1, text 3"
Survey.ComponentCollection.Instance.add({
name: "newquestion",
questionJSON: {
type: "checkbox",
choices: [
{ value: 1, text: "text 1" },
{ value: 2, text: "text 2" },
{ value: 3, text: "text 3" },
],
},
});
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
hideRequiredErrors not working as expected |
hideRequiredErrors property does not work as expected.
In my survey model, I set survey.hideRequiredErrors = true;
, but error messages still appear on the page. The values in the AnswerRequiredError
class look like this:
{text: "My custom error message text", errorOwner: QuestionDropdownModel, visible: false, locTextValue: LocalizableString}
Notice that visible: false
is correctly set in the error class, but the error message is still visible on the web page. I am using the default "checkErrorsMode", which is "onNextPage".
By setting survey.hideRequiredErrors = true;
, I expect that the error messages will not appear on the page. Validation events should still fire.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Ranking questions draggable when survey mode is "display" |
Ranking questions can still be dragged when survey mode is set to "display". This seems strange user experience.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Missing fieldset for rating question rendering |
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Changing SurveyCreator.settings.operators can do not change the UI behavior |
We moved logical operators definition from SurveyCreator.SurveyPropertyEditorFactory.operators
into SurveyCreator.settings.operators
, but keep SurveyCreator.SurveyPropertyEditorFactory.operators
for compatibility.
However, we should make it property get/set instead of property field assigned from settings on starting, since it could be initialized before a developer change SurveyCreator.SurveyPropertyEditorFactory.operators
variable.
Product | Type | Description | |
---|---|---|---|
|
survey-library | Bug | Wrong PT and PT-BR Translation |
Hi. There is some misspelling here: "Registo" shoud be "Registro" |
|||
|
survey-library | Enhancement | Execute minValueExpression/maxValueExpression expressions in text question on running survey |
Right now, we are executing "minValueExpression"/"maxValueExpression" on survey loading only. We will need to execute them when corresponded question value is changed, to make the following JSON working.
|
|||
|
survey-library | Bug | VueJS large survey performance issue |
|
survey-creator | Bug | The creator.onElementAllowOperations event doesn't fire for pages |
see https://surveyjs.answerdesk.io/ticket/details/T6320 for details |
|||
|
survey-creator | Enhancement | Incompatible typings in survey-creator and survey-library |
|
survey-creator | Enhancement | Allow to limit the number of columns in matrix dynamic / matrix dropdown |
Add an option: |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Wrong PT and PT-BR Translation |
Hi. There is some misspelling here:
"Registo" shoud be "Registro"
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Execute minValueExpression/maxValueExpression expressions in text question on running survey |
Right now, we are executing "minValueExpression"/"maxValueExpression" on survey loading only. We will need to execute them when corresponded question value is changed, to make the following JSON working.
{
"pages": [
{
"name": "page1",
"elements": [
{
"type": "text",
"name": "startDate",
"inputType": "date"
},
{
"type": "text",
"name": "endDate",
"inputType": "date",
"minValueExpression": "{startDate}"
}
]
}
]
}
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
VueJS large survey performance issue |
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
The creator.onElementAllowOperations event doesn't fire for pages |
see https://surveyjs.answerdesk.io/ticket/details/T6320 for details
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Incompatible typings in survey-creator and survey-library |
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Allow to limit the number of columns in matrix dynamic / matrix dropdown |
Add an option: maximumColumnsCount
. If it is more than 0 then creator will not allow to create more columns than this number. "Add Column" button becomes invisible when the number of columns becomes equal to this value.
Product | Type | Description | |
---|---|---|---|
|
survey-library | Enhancement | Show placeHolder property in text question for several inputType |
Right now we make property |
|||
|
custom-widgets | Enhancement | Support maxSelectedChoices property in tagbox |
We have |
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Show placeHolder property in text question for several inputType |
Right now we make property placeHolder
visible when inputType
property equals to "text". However, place holder can be show for input types: email, number, password, tel,url as well.
We should update the property visibility accordingly.
Product |
|
---|---|
custom-widgets | |
Type | |
Enhancement | |
Description | |
Support maxSelectedChoices property in tagbox |
We have maxSelectedChoices
property in checkbox. We do not currently support it in tagbox. However, select2 has maximumSelectionLength
attribute in settings. We can just set the select2 attribute question.maxSelectedChoices
value.
Product | Type | Description | |
---|---|---|---|
|
survey-library | Enhancement | Add base.getSurvey() function |
Add 'getSurvey()' function that will return survey model for all |
|||
|
survey-library | Bug | Ranking Question doesn't work properly with carry forward |
The example: https://surveyjs.io/Examples/Library?id=survey-carry-forward&platform=jQuery&theme=modern steps to reproduce:
also after the rank action new items can be added in the middle of the list and it break the ranking value |
|||
|
survey-library | Enhancement | Add isUnique property into column for matrix dynamic/dropdown |
We have |
|||
|
survey-library | Bug | property min in text question doesn't work if it equals to 0 |
Survey ignores property |
|||
|
survey-library | Bug | Carry forward doesn't work properly with the predefined survey.data |
example to reproduce: https://plnkr.co/edit/4cvNULnqIDH2YQ9v |
|||
|
survey-library | Bug | (bootstrap theme) Single Questions or Panel in a row -- Flex property still applied to element.style |
Looks like this is still happening to a single Question on a row. Should also apply to a single Panel on row as well. Tested page URL: https://plnkr.co/edit/7xNd7W1vNeuvg80s Specify your
|
|||
|
survey-library | Bug | survey.editingObj doesn't work correctly with custom properties |
If a custom property has This functionality is required for SurveyJS Creator v2. |
|||
|
survey-library | Bug | Setting matrix column readOnly property generates a console error |
The following code will generate console error:
However, the application will continue to work correctly. |
|||
|
survey-creator | Bug | Get a "non unique name" error on editing pages in Survey Settings Modal window |
If Modal Window is used on editing survey elements, then on editing pages in Modal Window for "Survey Settings" an error: "Please enter a unique name" is shown even for pages name that are unique. |
|||
|
survey-pdf | Enhancement | Compatibility with jspdf v2.0.0 |
|
|||
|
survey-analytics | Enhancement | Introduce the `stripHtmlFromTitles` option |
This option will allow to strip html tags from question titles See the https://surveyjs.answerdesk.io/ticket/details/t6246/survey-analytics-question-title-showing-html-tags thread for more details This option is set to true by default |
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Add base.getSurvey() function |
Add 'getSurvey()' function that will return survey model for all base
classes, like triggers, validators, itemvalues and others.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Ranking Question doesn't work properly with carry forward |
The example: https://surveyjs.io/Examples/Library?id=survey-carry-forward&platform=jQuery&theme=modern
steps to reproduce:
also after the rank action new items can be added in the middle of the list and it break the ranking value
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Add isUnique property into column for matrix dynamic/dropdown |
We have keyName
property for matrix dynamic question. If there is a duplicated value in a column with name equals to 'keyName' then error is shown.
Sometimes, there are requirements to check for duplicated values for more then in one column and in matrix dropdown question as well.
By setting column.isUnique
you tell survey to show errors for duplicated values in this column.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
property min in text question doesn't work if it equals to 0 |
Survey ignores property min
if it equals to 0 and allows to enter negative values.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Carry forward doesn't work properly with the predefined survey.data |
example to reproduce: https://plnkr.co/edit/4cvNULnqIDH2YQ9v
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
(bootstrap theme) Single Questions or Panel in a row -- Flex property still applied to element.style |
Looks like this is still happening to a single Question on a row.
Found closed Issue #2559
Should also apply to a single Panel on row as well.
Tested page URL: https://plnkr.co/edit/7xNd7W1vNeuvg80s
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
survey.editingObj doesn't work correctly with custom properties |
If a custom property has onGetValue
function, then it is not called in most cases when we use survey.editingObj
.
This functionality is required for SurveyJS Creator v2.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Setting matrix column readOnly property generates a console error |
The following code will generate console error:
matrixQuestion.columns[0].readOnly = true;
However, the application will continue to work correctly.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Get a "non unique name" error on editing pages in Survey Settings Modal window |
If Modal Window is used on editing survey elements, then on editing pages in Modal Window for "Survey Settings" an error: "Please enter a unique name" is shown even for pages name that are unique.
Product |
|
---|---|
survey-pdf | |
Type | |
Enhancement | |
Description | |
Compatibility with jspdf v2.0.0 |
Product |
|
---|---|
survey-analytics | |
Type | |
Enhancement | |
Description | |
Introduce the `stripHtmlFromTitles` option |
This option will allow to strip html tags from question titles
See the https://surveyjs.answerdesk.io/ticket/details/t6246/survey-analytics-question-title-showing-html-tags thread for more details
This option is set to true by default
Product | Type | Description | |
---|---|---|---|
|
survey-library | Bug | Angular package (survey-angular) should not have a dependency on knockout |
Regarding Issue: Angular package (survey-angular) has dependency on knockout? ko not defined (https://github.com/surveyjs/surveyjs_angular_cli/issues/33) It looks like this issue is occurring again in the latest release... Survey JavaScript library v1.8.26. It is requiring knockout. Is there a fix for this on the way? Are you requesting a feature, reporting a bug or asking a question? BUGWhat is the current behavior? Expects to import KnockoutWhat is the expected behavior? Does not needHow would you reproduce the current behavior (if this is a bug)? Added latest survey-angular and try to start the serve |
|||
|
survey-library | Enhancement | Make value property in itemvalue type required |
We need it for SurveyJS Creator V2 |
|||
|
survey-library | Enhancement | Ranking Question Improvements |
|
|||
|
survey-library | Bug | matrix dynamic onGetValueForNewRowCallBack callback doesn't work if editing array is empty |
If editing array is empty then |
|||
|
survey-library | Bug | detailPanel in matrix dynamic doesn't work correctly with editing object if there is same name in the colum |
If a question in detailPanel has the same name as a column name, then only row cell is updated on changing the editing object property. |
|||
|
survey-library | Enhancement | Introduce ILocalizableString inteface |
This inteface will be used by LocalizabeString and LocalizabeStrings (the array of localizable strings).
|
|||
|
survey-creator | Enhancement | Add expandAll() and collapseAll() functions to translation object |
Use the following code to expand all items in translation tab:
|
|||
|
survey-analytics | Bug | Scatter chart axis X labels are cut |
See the https://surveyjs.answerdesk.io/ticket/details/t6223/x-axis-label-on-scatter-charts-with-two-options-got-trimmed-off issue for more details |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Angular package (survey-angular) should not have a dependency on knockout |
Regarding Issue: Angular package (survey-angular) has dependency on knockout? ko not defined (https://github.com/surveyjs/surveyjs_angular_cli/issues/33)
It looks like this issue is occurring again in the latest release... Survey JavaScript library v1.8.26. It is requiring knockout. Is there a fix for this on the way?
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Make value property in itemvalue type required |
We need it for SurveyJS Creator V2
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Ranking Question Improvements |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
matrix dynamic onGetValueForNewRowCallBack callback doesn't work if editing array is empty |
If editing array is empty then matrixdynamic.onGetValueForNewRowCallBack
callback function doesn't work. In fact, it is not fired at all.
It should be fired in any case.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
detailPanel in matrix dynamic doesn't work correctly with editing object if there is same name in the colum |
If a question in detailPanel has the same name as a column name, then only row cell is updated on changing the editing object property.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Introduce ILocalizableString inteface |
This inteface will be used by LocalizabeString and LocalizabeStrings (the array of localizable strings).
export interface ILocalizableString {
getLocaleText(loc: string): string;
setLocaleText(loc: string, newValue: string): any;
getLocales(): Array<string>;
}
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Add expandAll() and collapseAll() functions to translation object |
Use the following code to expand all items in translation tab:
creator.translation.expandAll();
Product |
|
---|---|
survey-analytics | |
Type | |
Bug | |
Description | |
Scatter chart axis X labels are cut |
See the https://surveyjs.answerdesk.io/ticket/details/t6223/x-axis-label-on-scatter-charts-with-two-options-got-trimmed-off issue for more details
Product | Type | Description | |
---|---|---|---|
|
survey-creator | Bug | Unable to switch pages in Test Survey |
Are you requesting a feature, reporting a bug or ask a question?In the current version it does not work to change pages in test survey tab Specify your
|
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Unable to switch pages in Test Survey |
In the current version it does not work to change pages in test survey tab
Product | Type | Description | |
---|---|---|---|
|
survey-library | Enhancement | Ranking Question |
A question for drag and drop ranking. Allows respondents to rank items against each other by placing them in order of preference. Is appropriate for short lists (e.g. 5-7 items). Is optimized for use with keyboard (Tab, Shift-Tab, and Up/Down arrow keys) and under mobile devices.
here the example: https://surveyjs.io/Examples/Library?id=questiontype-ranking |
|||
|
survey-library | Enhancement | Add hideColumnsIfEmpty property into matrix dynamic question |
It will be a better UI if we display a custom text and a link/button for adding a new row instead of columns and empty rows when there is no rows in matrix dynamic.
|
|||
|
survey-library | Bug | question.valueToDataCallback doesn't work correct if survey.checkErrorsMode is "onValueChanging" |
When survey has checkErrorsMode equals to "onValueChanging", then we check question value with question value stored in survey, when we have to use question value after processing |
|||
|
survey-library | Bug | Allows to enter empty value into required question when survey.checkErrorsMode equals 'onValueChanging' |
After setting survey.checkErrorsMode to 'onValueChanging', survey doesn't allow to set into survey.data incorrect data. However, question.isRequried property is totally ignored. |
|||
|
survey-library | Enhancement | Do not allow to set text question values into survey.data if they are less than min and greater than max properties |
Right now users set min/max properties to text question and expect that end-user could not enter values that are less than min value and greater than max value. We should not allow to set this values into survey.data and show errors on "next page" and "complete survey" actions if the value is incorrect.
The additional properties that can be used to show the errors are:
|
|||
|
survey-library | Enhancement | Add minDate and maxDate into global settings as default values for min/max properties for date inputs |
By setting the following code:
You do not allow end-users to set value into text question with |
|||
|
survey-creator | Bug | Translation tab: group property name is not localized |
Group property name is displayed in english, even if Creator default language is different from "en". |
|||
|
survey-creator | Bug | SurveyCreator: koShowPagesToolbox is not a function |
See the https://surveyjs.answerdesk.io/ticket/details/t6175/surveycreator-koshowpagestoolbox-is-not-a-function thread for more details |
|||
|
survey-creator | Bug | showDesignTab: false not working |
What is the current behavior?showDesignTab: false not displaying form What is the expected behavior?We just want to display test survey form.
To do this I set all the other options Provide the test code and the tested page URL (if applicable)Test code
|
|||
|
survey-creator | Bug | onElementNameChanged event is not fired on editing element in modal window |
Are you requesting a feature, reporting a bug or ask a question?Bug What is the current behavior?Error when we are triggering the following events onElementNameChanged onPropertyAfterRender when the showPropertyGrid is false idk what others events are not working What is the expected behavior?Trigger events normally How would you reproduce the current behavior (if this is a bug)?https://plnkr.co/edit/2FustyniUAd9NsZO Specify your
|
|||
|
survey-creator | Bug | Sort locales by display text instead of locale value |
Right now locales are sorted by locale values and not by display text. It is incorrect. |
|||
|
survey-creator | Bug | Creator fails after setting survey locale in private mode |
Are you requesting a feature, reporting a bug or ask a question?Reporting a bug. What is the current behavior?After I change to a non-default locale in survey settings, I cannot edit my survey anymore:
(Detailed below at reproducing steps.) What is the expected behavior?I expect to be able to edit my survey regardless of survey locale settings. How would you reproduce the current behavior (if this is a bug)?
Error 1:
Error 2:
Provide the test code and the tested page URL (if applicable)Tested page URL: https://surveyjs.io/create-survey Specify your
|
|||
|
survey-creator | Bug | Error on visible if on matrix questions when it is located in panel dynamic |
Are you requesting a feature, reporting a bug or ask a question?Bug What is the current behavior?When the matrix questions are inside of a panel dynamic question , the logic builder have a different behavior, and got a exception What is the expected behavior?How would you reproduce the current behavior (if this is a bug)?If you create all the matrix type questions inside of surveyjs and try to create a visible if condition through the builder , you got this wrong behavior Provide the test code and the tested page URL (if applicable)Tested page URL: https://plnkr.co/edit/VpqGPpofMb26h4JD Specify your
|
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Ranking Question |
const json = {
"questions": [
{
"type": "ranking",
"name": "smartphone-features",
"title": "Please rank the following smartphone features in order of importance:",
"isRequired": true,
"choices": [
"Battery life",
"Screen size",
"Storage space",
"Camera quality",
"Durability",
"Processor power",
"Price"
]
}
]
};
new Survey.Model(json);
here the example: https://surveyjs.io/Examples/Library?id=questiontype-ranking
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Add hideColumnsIfEmpty property into matrix dynamic question |
It will be a better UI if we display a custom text and a link/button for adding a new row instead of columns and empty rows when there is no rows in matrix dynamic.
hideColumnsIfEmpty: boolean
, false by default.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
question.valueToDataCallback doesn't work correct if survey.checkErrorsMode is "onValueChanging" |
When survey has checkErrorsMode equals to "onValueChanging", then we check question value with question value stored in survey, when we have to use question value after processing question.valueToDataCallback
function.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Allows to enter empty value into required question when survey.checkErrorsMode equals 'onValueChanging' |
After setting survey.checkErrorsMode to 'onValueChanging', survey doesn't allow to set into survey.data incorrect data. However, question.isRequried property is totally ignored.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Do not allow to set text question values into survey.data if they are less than min and greater than max properties |
Right now users set min/max properties to text question and expect that end-user could not enter values that are less than min value and greater than max value. We should not allow to set this values into survey.data and show errors on "next page" and "complete survey" actions if the value is incorrect.
The additional properties that can be used to show the errors are:
minErrorText
and maxErrorText
.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Add minDate and maxDate into global settings as default values for min/max properties for date inputs |
By setting the following code:
Survey.settings.minDate = "1900-01-01"
Survey.settings.maxDate = "2099-12-31"
You do not allow end-users to set value into text question with inputType
equals to "date" the value that less that January 1, 1900 and greater than December 31, 2099.
It works in the same way if all these questions you would set the min
and max
properties
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Translation tab: group property name is not localized |
Group property name is displayed in english, even if Creator default language is different from "en".
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
SurveyCreator: koShowPagesToolbox is not a function |
See the https://surveyjs.answerdesk.io/ticket/details/t6175/surveycreator-koshowpagestoolbox-is-not-a-function thread for more details
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
showDesignTab: false not working |
showDesignTab: false not displaying form
We just want to display test survey form.
To do this I set all the other options false
except showTestSurveyTab
.
Then it shows me the form is not available.
It was working on the previous version. 1.7.4
We are migrating to latest version and encountered this problem.
Test code
const surveyOptions = {
showJSONEditorTab: false,
showLogicTab: false,
showTestSurveyTab: true,
showDesignerTab: false,
readOnly: true,
};
const surveyLogicViewer = new SurveyJSCreator.SurveyCreator(
'formLogicViewerContainer',
surveyOptions
);
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
onElementNameChanged event is not fired on editing element in modal window |
Bug
Error when we are triggering the following events onElementNameChanged onPropertyAfterRender when the showPropertyGrid is false idk what others events are not working
Trigger events normally
https://plnkr.co/edit/2FustyniUAd9NsZO
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Sort locales by display text instead of locale value |
Right now locales are sorted by locale values and not by display text. It is incorrect.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Creator fails after setting survey locale in private mode |
Reporting a bug.
After I change to a non-default locale in survey settings, I cannot edit my survey anymore:
(Detailed below at reproducing steps.)
I expect to be able to edit my survey regardless of survey locale settings.
Error 1:
Uncaught TypeError: Cannot read property 'join' of undefined
at LocalizableStrings.get [as text] (localizablestring.ts:259)
at JsonObjectProperty.getPropertyValue (jsonobject.ts:240)
at SurveyPropertyStringsEditor../src/propertyEditors/propertyEditorBase.ts.SurveyPropertyEditorBase.getValue (propertyEditorBase.ts:440)
at SurveyPropertyStringsEditor../src/propertyEditors/propertyEditorBase.ts.SurveyPropertyEditorBase.updateValue (propertyEditorBase.ts:426)
at SurveyPropertyStringsEditor../src/propertyEditors/propertyEditorBase.ts.SurveyPropertyEditorBase.setObjectCore (propertyEditorBase.ts:262)
at SurveyPropertyStringsEditor.set [as object] (propertyEditorBase.ts:228)
at SurveyObjectProperty.set [as object] (objectProperty.ts:74)
at SurveyElementEditorTabModel../src/questionEditors/questionEditor.ts.SurveyElementEditorTabModel.createEditor (questionEditor.ts:488)
at SurveyElementEditorTabModel../src/questionEditors/questionEditor.ts.SurveyElementEditorTabModel.buildEditorProperties (questionEditor.ts:483)
at new SurveyElementEditorTabModel (questionEditor.ts:395)
Error 2:
Uncaught TypeError: Cannot read property 'join' of undefined
at LocalizableStrings.get [as text] (survey.ko.js:6939)
at JsonObjectProperty.getPropertyValue (survey.ko.js:347)
at SurveyPropertyStringsEditor../src/propertyEditors/propertyEditorBase.ts.SurveyPropertyEditorBase.getValue (survey-creator.js:28094)
at SurveyPropertyStringsEditor../src/propertyEditors/propertyEditorBase.ts.SurveyPropertyEditorBase.updateValue (survey-creator.js:28079)
at SurveyPropertyStringsEditor../src/propertyEditors/propertyEditorBase.ts.SurveyPropertyEditorBase.setObjectCore (survey-creator.js:27909)
at SurveyPropertyStringsEditor.set [as object] (survey-creator.js:27862)
at SurveyObjectProperty.set [as object] (survey-creator.js:22759)
at SurveyElementEditorTabModel../src/questionEditors/questionEditor.ts.SurveyElementEditorTabModel.createEditor (survey-creator.js:31571)
at SurveyElementEditorTabModel../src/questionEditors/questionEditor.ts.SurveyElementEditorTabModel.buildEditorProperties (survey-creator.js:31566)
at new SurveyElementEditorTabModel (survey-creator.js:31451)
Tested page URL: https://surveyjs.io/create-survey
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Error on visible if on matrix questions when it is located in panel dynamic |
Bug
When the matrix questions are inside of a panel dynamic question , the logic builder have a different behavior, and got a exception
If you create all the matrix type questions inside of surveyjs and try to create a visible if condition through the builder , you got this wrong behavior
Tested page URL: https://plnkr.co/edit/VpqGPpofMb26h4JD
Product | Type | Description | |
---|---|---|---|
|
survey-library | Bug | Vue: Set survey property value break survey navigation after version 1.8.9 |
What is the current behavior?How would you reproduce the current behavior (if this is a bug)?
PrevPage button does not work. What is the expected behavior?prevPage button should work. Provide the test code and the tested page URL (if applicable)works in 1.8.9 https://codesandbox.io/s/surveyjs-vue-forked-wmuzw?file=/src/components/SurveyComponent.vue fail in 1.8.10 https://codesandbox.io/s/surveyjs-vue-forked-9yhjm
I tracked the code and find this change might related to this bug. https://github.com/surveyjs/survey-library/commit/cc67fbfe766fdb8f83c553e305e14aa5b2e26548 |
|||
|
survey-library | Enhancement | Add Croatian language translation |
|
|||
|
survey-library | BreakingChange | Remove question from it's previous parent container before adding into a new one |
Right now this code will duplication question1 if it belongs to the first page:
|
|||
|
survey-library | Bug | Do not reset dropdown question value in survey data on loading items from the web services |
On using "choicesByUrl" property when choices are loaded from the web service, we reset the value to "undefined" before setting the value from choices. It requires to notify UI about value change, otherwise UI elements doesn't know that they need to update their value. In early versions, we took the question value directly from survey. During performance optimizations about a year ago we started to cache the question value in the question object and synchronize question value property and survey data. It means if the previous value exists in new choices, that came from the web service, we don't need to notify survey about question value changing and reset (make undefined and then set the value back) the question value property only. It will be enough to notify UI about the change and update the UI elements accordingly. |
|||
|
survey-library | Bug | question defaultValueExpression doesn't support async functions |
The current version executes defaultValueExpression in a non async mode and as result if there are async functions in this expression, then the result will be incorrect. |
|||
|
survey-creator | Enhancement | Add croation language translation |
|
|||
|
survey-creator | Enhancement | Sort by text (question/panel/page title) elements in elementSelector widget |
We do not currently sort elements and it is hard to select an element if there are a lot of items in a dropdown. We should sort them by displaying text. |
|||
|
survey-analytics | Enhancement | Gauge Customization |
need to create an example based on https://surveyjs.answerdesk.io/ticket/details/T5980 |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Vue: Set survey property value break survey navigation after version 1.8.9 |
PrevPage button does not work.
prevPage button should work.
works in 1.8.9 https://codesandbox.io/s/surveyjs-vue-forked-wmuzw?file=/src/components/SurveyComponent.vue fail in 1.8.10 https://codesandbox.io/s/surveyjs-vue-forked-9yhjm
this.survey = new Survey.Model(json);
// after version 1.8.9, set locale break navigation
// How to reproduce:
// chose a version after 1.8.9. say 1.8.10.
// click nextpage button, goto 2 page.
// then click prevpage, click does not work any more.
this.survey.locale = "ja";
I tracked the code and find this change might related to this bug.
https://github.com/surveyjs/survey-library/commit/cc67fbfe766fdb8f83c553e305e14aa5b2e26548
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Add Croatian language translation |
Product |
|
---|---|
survey-library | |
Type | |
BreakingChange | |
Description | |
Remove question from it's previous parent container before adding into a new one |
Right now this code will duplication question1 if it belongs to the first page:
js survey.pages[1].addElement(survey.getQuestionByName("question1"));
We should remove it from the previous parent container before adding to the new one.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Do not reset dropdown question value in survey data on loading items from the web services |
On using "choicesByUrl" property when choices are loaded from the web service, we reset the value to "undefined" before setting the value from choices. It requires to notify UI about value change, otherwise UI elements doesn't know that they need to update their value. In early versions, we took the question value directly from survey. During performance optimizations about a year ago we started to cache the question value in the question object and synchronize question value property and survey data. It means if the previous value exists in new choices, that came from the web service, we don't need to notify survey about question value changing and reset (make undefined and then set the value back) the question value property only. It will be enough to notify UI about the change and update the UI elements accordingly.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
question defaultValueExpression doesn't support async functions |
The current version executes defaultValueExpression in a non async mode and as result if there are async functions in this expression, then the result will be incorrect.
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Add croation language translation |
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Sort by text (question/panel/page title) elements in elementSelector widget |
We do not currently sort elements and it is hard to select an element if there are a lot of items in a dropdown. We should sort them by displaying text.
Product |
|
---|---|
survey-analytics | |
Type | |
Enhancement | |
Description | |
Gauge Customization |
need to create an example
based on https://surveyjs.answerdesk.io/ticket/details/T5980
Product | Type | Description | |
---|---|---|---|
|
survey-analytics | Enhancement | unable to setup Plotly chart options in PlotlyGaugeAdapter |
|
Product |
|
---|---|
survey-analytics | |
Type | |
Enhancement | |
Description | |
unable to setup Plotly chart options in PlotlyGaugeAdapter |
Product | Type | Description | |
---|---|---|---|
|
survey-library | Bug | Composite question doesn't set empty value into editing object |
The functionality is required for Creator v2. |
|||
|
survey-library | Bug | Complete trigger doesn't work on calculated value |
Are you requesting a feature, reporting a bug or asking a question?Bug What is the current behavior?The complete trigger that ends the survey does not work on calculated values. Interestingly, if I add an expression type question and set that to the value of the calculatedValue, then add the trigger to that expression question it does work as expected. What is the expected behavior?It should work on calculated values too. How would you reproduce the current behavior (if this is a bug)?Load the JSON below, choose option 1 and see that you can continue to the next page(s) which shouldn't be possible. Provide the test code and the tested page URL (if applicable)
Tested page URL: https://surveyjs.io/create-survey |
|||
|
survey-library | Enhancement | Feature Request: Add support for datalist |
Are you requesting a feature, reporting a bug or asking a question?Feature request What is the current behavior?There isn't a way to search the choices of the dropdown list. datalist supports this |
|||
|
survey-library | Bug | Triggers referencing question names with dot not working. Second Example |
There is still an issue with dots in triggers. A slightly different example to the above is not working correctly:
Originally posted by @dasboe in https://github.com/surveyjs/survey-library/issues/2420#issuecomment-753942148 |
|||
|
survey-library | Bug | Maximum stack size exceeded error with some JSON with progressBarType equals to "buttons" |
The following JSON will generate the error:
The origional error was reported in SurveyJS support desk |
|||
|
survey-library | Bug | ImagePicker question can includes otherItem if it contains in JSON and it generates JavaScript error |
The original issue was created in SurveyJS support desk. Converting "radiogroup" question with hasOther property set to true to "imagepicker" generates JavaScript error. The reason that image picker contains a wrong item type - "other item". Imagepicker should have it at the first place. |
|||
|
survey-library | Bug | Changing properties in CalculatedValue object doesn't call survey.onPropertyValueChangedCallback function |
Since changing properties in CalculatedValue object doesn't call survey.onPropertyValueChangedCallback function, creator.onMofied event doesn't call eigther. The original issue was reported into SurveyJS Support Desk. |
|||
|
survey-library | Enhancement | Support editing question text dataList property in Survey |
The functionality is required for Creator V2. We use Survey as property grid to edit Survey objects. |
|||
|
survey-library | BreakingChange | render step attribute in text question by default as "any" |
We decided to render the step attribute as "any" by default. Let us know if you feel that is not a correct decision, we will introduce a new setting that you will allow you to get the old behavior. You can read more about html step attribute here. |
|||
|
survey-creator | Enhancement | Strings property editor, string[] |
We required this property editor for text question |
|||
|
survey-creator | Bug | Changing question name in Modal window doesn't update expressions (visibleIf/enableIf...) |
Are you requesting a feature, reporting a bug or ask a question?Bug What is the current behavior?When i have the property grid disabled, when we edit a question , its opens a modal with the information of question , if we rename a question inside of this modal , dont have the same behavior (my visibleifs of all my questions are not renamed) Example question 1 question 2 visbleif : = OUI question 3 /////////////////////////// AFTER RENAME food_enviroment_available question 2 visbleif : = OUI question 3 What is the expected behavior?Independent for a property grid, being active or not(modal) , its must works on same way Example : question 1 question 2 visbleif : = OUI question 3 /////////////////////////// AFTER RENAME food_enviroment_available question 2 visbleif : = OUI question 3 How would you reproduce the current behavior (if this is a bug)?If you create questions and set on any question a visible if that depends from another, and do the rename, this events never happens Specify your
|
|||
|
survey-creator | Enhancement | Allow to validate editing logic item in "Logic tab" |
The following event was added into logic object:
Here is the example of using:
|
|||
|
survey-creator | Bug | Width style is applying to input under data section as well and its not needed |
See the issue at https://surveyjs.answerdesk.io/ticket/details/T6010 |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Composite question doesn't set empty value into editing object |
The functionality is required for Creator v2.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Complete trigger doesn't work on calculated value |
Bug
The complete trigger that ends the survey does not work on calculated values. Interestingly, if I add an expression type question and set that to the value of the calculatedValue, then add the trigger to that expression question it does work as expected.
It should work on calculated values too.
Load the JSON below, choose option 1 and see that you can continue to the next page(s) which shouldn't be possible.
{
"title": "survey title",
"description": "test123 descr",
"logoWidth": 0,
"focusFirstQuestionAutomatic": false,
"completedHtmlOnCondition": [
{
"expression": "{result} = 'screenout'",
"html": "result trigger!!!"
}
],
"pages": [
{
"name": "page1",
"elements": [
{
"type": "radiogroup",
"name": "question1",
"choices": [
"item1",
"item2",
"item3"
]
},
{
"type": "expression",
"name": "expr",
"title": "This expression contains the result variable, which is a calculatedValue",
"expression": "{result}"
},
{
"type": "html",
"name": "question2",
"html": "This is the value of the result calculated value:\n{result}\n\nThis is the value of the expression:\n{expr}"
}
]
},
{
"name": "page2",
"elements": [
{
"type": "html",
"name": "question7",
"html": "This is the value of the result calculated value:\n{result}\n\nThis is the value of the expression:\n{expr}"
}
]
},
{
"name": "page3",
"elements": [
{
"type": "html",
"name": "question3",
"html": "This is the value of the result calculated value:\n{result}\n\nThis is the value of the expression:\n{expr}"
}
]
}
],
"triggers": [
{
"type": "complete",
"expression": "{result} = 'screenout'"
}
],
"calculatedValues": [
{
"name": "result",
"expression": "iif({question1} = 'item1', 'screenout', 'complete')",
"includeIntoResult": true
}
],
"showPageNumbers": true
}
Tested page URL: https://surveyjs.io/create-survey
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Feature Request: Add support for datalist |
Feature request
There isn't a way to search the choices of the dropdown list. datalist supports this
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Triggers referencing question names with dot not working. Second Example |
There is still an issue with dots in triggers. A slightly different example to the above is not working correctly:
{
"pages": [
{
"name": "page1",
"elements": [
{
"type": "dropdown",
"name": "question.name1",
"choices": [
"item1",
"item2",
"item3",
"item4"
]
},
{
"type": "text",
"name": "question.name2"
}
]
}
],
"triggers": [
{
"type": "setvalue",
"expression": "{question.name1} anyof ['item1', 'item2']",
"setToName": "question.name2",
"setValue": "one"
},
{
"type": "setvalue",
"expression": "{question.name1} anyof ['item3', 'item4']",
"setToName": "question.name2",
"setValue": "two"
}
]
}
Originally posted by @dasboe in https://github.com/surveyjs/survey-library/issues/2420#issuecomment-753942148
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Maximum stack size exceeded error with some JSON with progressBarType equals to "buttons" |
The following JSON will generate the error:
{
elements: [
{
type: "boolean",
name: "q1",
},
{
type: "matrixdynamic",
name: "q2",
columns: [
{
name: "q3",
visibleIf: "{q1} = true",
},
],
rowCount: 1,
},
],
progressBarType: "buttons",
}
The origional error was reported in SurveyJS support desk
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
ImagePicker question can includes otherItem if it contains in JSON and it generates JavaScript error |
The original issue was created in SurveyJS support desk. Converting "radiogroup" question with hasOther property set to true to "imagepicker" generates JavaScript error. The reason that image picker contains a wrong item type - "other item". Imagepicker should have it at the first place.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Changing properties in CalculatedValue object doesn't call survey.onPropertyValueChangedCallback function |
Since changing properties in CalculatedValue object doesn't call survey.onPropertyValueChangedCallback function, creator.onMofied event doesn't call eigther. The original issue was reported into SurveyJS Support Desk.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Support editing question text dataList property in Survey |
The functionality is required for Creator V2. We use Survey as property grid to edit Survey objects.
Product |
|
---|---|
survey-library | |
Type | |
BreakingChange | |
Description | |
render step attribute in text question by default as "any" |
We decided to render the step attribute as "any" by default. Let us know if you feel that is not a correct decision, we will introduce a new setting that you will allow you to get the old behavior. You can read more about html step attribute here.
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Strings property editor, string[] |
We required this property editor for text question dataList
property - the list of localizable strings.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Changing question name in Modal window doesn't update expressions (visibleIf/enableIf...) |
Bug
When i have the property grid disabled, when we edit a question , its opens a modal with the information of question , if we rename a question inside of this modal , dont have the same behavior (my visibleifs of all my questions are not renamed) Example question 1 question 2 visbleif : = OUI question 3 /////////////////////////// AFTER RENAME food_enviroment_available question 2 visbleif : = OUI question 3
Independent for a property grid, being active or not(modal) , its must works on same way Example : question 1 question 2 visbleif : = OUI question 3 /////////////////////////// AFTER RENAME food_enviroment_available question 2 visbleif : = OUI question 3
If you create questions and set on any question a visible if that depends from another, and do the rename, this events never happens
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Allow to validate editing logic item in "Logic tab" |
The following event was added into logic object:
/**
* The event is called before logic item is saved. You can set options.error to non empty string to show error instead of saving the item.
* You can use options.item.actions to access actions and optionally set errorText to a particular action.
* <br/> options.item is the saved logic item.
* <br/> usedNamesInExpression - the string list of all variables (questions, calculatedValues, and so on) that are used in expression
* <br/> error - the error string. It is empty by default. You have to set it to non-empty string to show the error on saving.
*/
public onLogicItemValidation: Survey.Event< (sender: SurveyLogic, options: any) => any, any>
Here is the example of using:
creator.logic.onLogicItemValidation.add((_, options) => {
let actions = options.item.actions;
for (let i = 0; i < actions.length; i++) {
let action = actions[i];
if (action.logicTypeName === "question_visibility" && !!action.element) {
if (options.usedNamesInExpression.indexOf(action.element.name) > -1) {
action.errorText = "Please use another question";
options.error = "There is an error in an action";
}
}
}
});
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Width style is applying to input under data section as well and its not needed |
See the issue at https://surveyjs.answerdesk.io/ticket/details/T6010
Product | Type | Description | |
---|---|---|---|
|
survey-library | Bug | Ignore logoWidth if logo is empty |
Are you requesting a feature, reporting a bug or asking a question?Bug What is the current behavior?The survey title gets a style like this: What is the expected behavior?I assume that this calculation was added so that the survey title doesn't overlap the logo. I'd expect if no logo was specified (which is the default) then the How would you reproduce the current behavior (if this is a bug)?
WorkaroundExplicitly setting the logo width to 0 makes it work as expected... |
|||
|
survey-library | Enhancement | Themes: add $text-input-color variable |
This allows to customize input controls the following way:
See the https://surveyjs.answerdesk.io/ticket/details/t5984/how-to-modify-input-text-colour-in-custom-theme thread for more details |
|||
|
survey-library | Enhancement | Get all variable names in the survey |
New function that returns all variables in the survey. Variables are not stored in the survey.data
|
|||
|
survey-library | Enhancement | Allow to use choices from another question and optionally fiter them by selected/unselected items |
The common task is to show is to filter choices from previous question by showing selected/unselected items.
We allow to do it by using setting
As result your JSON instead of this one becomes following:
|
|||
|
survey-library | Bug | Add support for nested question in Logic UI for composite components |
We show composite component as one question in Logic UI. However, it doesn't make sense, since composite component is a container for other questions and we have to create expressions with nested questions in composite component. |
|||
|
survey-creator | Enhancement | Support base select question choicesFromQuestion property |
Add a new property editor - select question inherited from selectbase: "checkbox", "dropdown" and "radiogroup" and turn off/on choices adorners on setting/unsetting |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Ignore logoWidth if logo is empty |
Bug
The survey title gets a style like this: max-width: calc(((100% - 5px) - 2em) - 300px);
This (as expected), doesn't work very well with small display sizes, think a survey container of 500px wide...
I assume that this calculation was added so that the survey title doesn't overlap the logo. I'd expect if no logo was specified (which is the default) then the logoWidth
gets ignored and title is allowed to span the whole width.
Explicitly setting the logo width to 0 makes it work as expected...
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Themes: add $text-input-color variable |
This allows to customize input controls the following way:
var defaultThemeColorsSurvey = Survey.StylesManager.ThemeColors["modern"];
defaultThemeColorsSurvey["$text-input-color"] = "blue";
defaultThemeColorsSurvey["$inputs-background-color"] = "yellow";
Survey.StylesManager.applyTheme("modern");
See the https://surveyjs.answerdesk.io/ticket/details/t5984/how-to-modify-input-text-colour-in-custom-theme thread for more details
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Get all variable names in the survey |
New function that returns all variables in the survey. Variables are not stored in the survey.data
/**
* Returns all variables in the survey. Use setVariable function to create a new variable.
* @see getVariable
* @see setVariable
*/
public getVariableNames(): Array<string>;
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Allow to use choices from another question and optionally fiter them by selected/unselected items |
The common task is to show is to filter choices from previous question by showing selected/unselected items.
We allow to do it by using setting choicesVisibleIf
property to: " contains " and setting the same choices in two, or more questions. Here is the example.
There are two issues with this approach:
choicesVisibleIf
property. In general it gives more flexibility, but the most users have problems to follow this step.
Solution is to add two properties into "checkbox", "radiogroup" and "dropdown" questions: /**
* Set this property to get choices from the question you have selected except defining them in this question. It will allow to avoid duplication in your survey definition.
* By setting this property, "choices", "choicesVisibleIf", "choicesEnableIf" and "choicesOrder" properties become invisible, since they are defined in another question.
* You can set `choicesFromQuestionMode` property to filter choices from another question.
* @see choices
* @see choicesFromQuestionMode
*/
public get choicesFromQuestion(): string;
/**
* The property becomes visible when `choicesFromQuestion` property is selected. The default value is "all" and all visible choices from another question are show as it is.
* You can set this property to "selected" or "unselected" to show only selected choices from the previous question or unselected.
* @see choicesFromQuestion
*/
public get choicesFromQuestionMode(): string;
As result your JSON instead of this one becomes following:
{
elements: [
{
type: "checkbox",
name: "car",
title: "What cars have you being drived?",
choices: [
"Ford",
"Vauxhall",
"Volkswagen",
"Nissan",
"Audi",
"Mercedes-Benz",
"BMW",
"Peugeot",
"Toyota",
"Citroen",
"Tesla"
]
}, {
"type": "radiogroup",
"name": "bestcar",
"title": "What car did you enjoy the most?",
"choicesFromQuestion": "car",
"choicesFromQuestionMode": "selected"
}, {
"type": "radiogroup",
"name": "secondcar",
"visibleIf": "{car.length} > 1",
"title": "What car is your second choice?",
"choicesFromQuestion": "bestcar",
"choicesFromQuestionMode": "unselected"
}
]
}
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Add support for nested question in Logic UI for composite components |
We show composite component as one question in Logic UI. However, it doesn't make sense, since composite component is a container for other questions and we have to create expressions with nested questions in composite component.
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Support base select question choicesFromQuestion property |
Add a new property editor - select question inherited from selectbase: "checkbox", "dropdown" and "radiogroup" and turn off/on choices adorners on setting/unsetting choicesFromQuestion
property.
Please read here more about the functionality.
Product | Type | Description | |
---|---|---|---|
|
survey-library | Bug | Radio in matrix not working with true and false values |
Are you requesting a feature, reporting a bug or asking a question?bug What is the current behavior?I cannot use value true/false values in matrix columns while I can do it in radiogroup. When choosing one or the other in matrix and look at the console you'll see why: strings "true" and "false" are stored ... https://plnkr.co/edit/JeAJNJuJ1PAlyT1O thank you |
|||
|
survey-library | Enhancement | Add onValueChanged function for component |
|
|||
|
survey-library | Enhancement | Allow to add/remove supported validators for questions |
In the current version v1.8.21 and low, SurveyJS Library have hard-coded validors for different question types. For example comment support: "expression", "text" and "regex" validator types. There is no way to delete or add new validator type for any question type. From v1.8.22, we are adding into Survey settings the following variable:
For example to remove "regex" validator for "comment" you will need to write:
|
|||
|
survey-library | Enhancement | New survey checkErrorsMode, onValueChanging |
We have a popular |
|||
|
survey-library | Bug | Stack overflow on using component in Panel Dynamic |
Stack overflow error happens on using single question component in panel dynamic. The following code will produce the error.
|
|||
|
survey-library | Bug | Key chatter in safari when textUpdateMode is onTyping |
The issue is related to multibyte symbols input, e.g. Japanese See the https://surveyjs.answerdesk.io/ticket/details/t5934/key-chatter-in-safari-when-textupdatemode-is-ontyping thread for more details |
|||
|
survey-creator | Enhancement | Make possible to disable description adorner for survey/page descriptions |
|
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Radio in matrix not working with true and false values |
bug
I cannot use value true/false values in matrix columns while I can do it in radiogroup. When choosing one or the other in matrix and look at the console you'll see why: strings "true" and "false" are stored ...
https://plnkr.co/edit/JeAJNJuJ1PAlyT1O
thank you
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Add onValueChanged function for component |
onValueChanged
function will allow to avoid using question.valueChangedCallback
callback. Here is the small example:
Survey.ComponentCollection.Instance.add({
name: "dropdown_and_text",
elementsJSON: [
{
type: "dropdown",
name: "combo",
choices: ["A", "B", "C"],
},
{ type: "text", name: "text1" },
{ type: "text", name: "text2" },
],
onValueChanged: (question, name, value) => {
//If combo is changed, then set a double value of "combo" to "text1" and clear "text2"
if (name == "combo") {
question.setValue("text1", value + value);
question.setValue("text2", null);
}
},
});
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Allow to add/remove supported validators for questions |
In the current version v1.8.21 and low, SurveyJS Library have hard-coded validors for different question types. For example comment support: "expression", "text" and "regex" validator types. There is no way to delete or add new validator type for any question type. From v1.8.22, we are adding into Survey settings the following variable:
supportedValidators: {
question: ["expression"],
comment: ["text", "regex"],
text: ["numeric", "text", "regex", "email"],
checkbox: ["answercount"],
},
For example to remove "regex" validator for "comment" you will need to write:
Survey.settings.supportedValidators.comment = ["text"];
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
New survey checkErrorsMode, onValueChanging |
We have a popular onValueChanged
check error mode, when a user can see an error on changing the value and not on click "Next"/"Complete" buttons, the default behavior.
onValueChanging is similar to onValueChanged, except one big difference. If the value is incorrect, there is an error, then value will not set into survey data. It means that survey data will not contains data with validation errors.
In this mode, you should be aware that question.value
and survey.getValue("questionName")
can be different, if the question value is not valid. question.value
contains value entered by end-user.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Stack overflow on using component in Panel Dynamic |
Stack overflow error happens on using single question component in panel dynamic. The following code will produce the error.
ComponentCollection.Instance.add({
name: "singlequestion",
createQuestion: function () {
var res = new QuestionDropdownModel("question");
res.choices = [1, 2, 3, 4, 5];
return res;
},
});
var survey = new SurveyModel({
elements: [
{
type: "paneldynamic",
name: "q1",
templateElements: [
{ type: "text", name: "q1" },
{ type: "singlequestion", name: "q2" },
],
},
],
});
var panel = <QuestionPanelDynamicModel>survey.getAllQuestions()[0];
panel.panelCount = 1;
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Key chatter in safari when textUpdateMode is onTyping |
The issue is related to multibyte symbols input, e.g. Japanese
See the https://surveyjs.answerdesk.io/ticket/details/t5934/key-chatter-in-safari-when-textupdatemode-is-ontyping thread for more details
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Make possible to disable description adorner for survey/page descriptions |
SurveyCreator.descriptionAdorner.surveyDescriptionEditable = false;
SurveyCreator.descriptionAdorner.pageDescriptionEditable = false;
Product | Type | Description | |
---|---|---|---|
|
survey-library | Bug | Progress bar during preview is showing "Page 1 of 1". |
Are you requesting a feature, reporting a bug or asking a question?Maybe a bug What is the current behavior?When using the "showPreviewBeforeComplete": "showAllQuestions", the progress bar is being displayed and says: Page 1 of 1. Is there a way to hide the progress bar during the display of the preview page? What is the expected behavior?Not see the progress bar during preview because the preview page is a single page and it doesn't make sense. How would you reproduce the current behavior (if this is a bug)?I provided test code below. Provide the test code and the tested page URL (if applicable)Tested page URL: Test code
Specify your
|
|||
|
survey-library | Bug | Bug: onValidatedErrorsOnCurrentPage isn't notified of errors set via onServerValidateQuestions |
Are you requesting a feature, reporting a bug or asking a question?Reporting a bug What is the current behavior?The event What is the expected behavior?The event should be triggered again once Provide the test code and the tested page URL (if applicable)In the example provided, Tested page URL: https://plnkr.co/edit/t2HgSyIXfFKBBmIZ Test code
Specify your
|
|||
|
survey-library | Enhancement | Support titleLocation in matrices |
Remove this code for matrices:
|
|||
|
survey-library | Bug | ProcessValue class doesn't correctly create path for uppercase variables. |
The following code doesn't work correctly:
After that data equals |
|||
|
survey-library | Enhancement | Introduce the "text" property to show in the "alt" image tag attribute |
See the https://surveyjs.answerdesk.io/ticket/details/t5902/image-alt-text thread for more details |
|||
|
survey-library | Enhancement | Optionally clear question value on hiding it's container (page or panel). |
Add a new option into
It works as |
|||
|
survey-creator | Enhancement | Allow do not sort items by name in translation tab. |
Currently, questions are sorted by names in translation tab. Some developers want to disable sorting and place they placed on the page. A new setting:
|
|||
|
custom-widgets | Bug | Select2: Uncaught TypeError: Cannot read property 'query' of null |
See the https://surveyjs.answerdesk.io/ticket/details/t5904/select2-clear-in-matrix-with-visibleif-rule-issue thread for more details Plunker to reproduce: https://plnkr.co/edit/K452qnYAVVdJhQvs?preview select2.min.js:1 Uncaught TypeError: Cannot read property 'query' of null
at e. |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Progress bar during preview is showing "Page 1 of 1". |
Maybe a bug
When using the "showPreviewBeforeComplete": "showAllQuestions", the progress bar is being displayed and says: Page 1 of 1. Is there a way to hide the progress bar during the display of the preview page?
Not see the progress bar during preview because the preview page is a single page and it doesn't make sense.
I provided test code below.
Tested page URL:
Test code
{
"pages": [
{
"name": "page1",
"elements": [
{
"type": "matrix",
"name": "Quality",
"title": "Please indicate if you agree or disagree with the following statements",
"columns": [
{
"value": 1,
"text": "Strongly Disagree"
},
{
"value": 2,
"text": "Disagree"
},
{
"value": 3,
"text": "Neutral"
},
{
"value": 4,
"text": "Agree"
},
{
"value": 5,
"text": "Strongly Agree"
}
],
"rows": [
{
"value": "affordable",
"text": "Product is affordable"
},
{
"value": "does what it claims",
"text": "Product does what it claims"
},
{
"value": "better then others",
"text": "Product is better than other products on the market"
},
{
"value": "easy to use",
"text": "Product is easy to use"
}
]
},
{
"type": "rating",
"name": "satisfaction",
"title": "How satisfied are you with the Product?",
"isRequired": true,
"minRateDescription": "Not Satisfied",
"maxRateDescription": "Completely satisfied"
},
{
"type": "rating",
"name": "recommend friends",
"visibleIf": "{satisfaction} > 3",
"title": "How likely are you to recommend the Product to a friend or co-worker?",
"minRateDescription": "Will not recommend",
"maxRateDescription": "I will recommend"
},
{
"type": "comment",
"name": "suggestions",
"title": "What would make you more satisfied with the Product?"
}
]
},
{
"name": "page2",
"elements": [
{
"type": "radiogroup",
"name": "price to competitors",
"title": "Compared to our competitors, do you feel the Product is",
"choices": [
"Less expensive",
"Priced about the same",
"More expensive",
"Not sure"
]
},
{
"type": "radiogroup",
"name": "price",
"title": "Do you feel our current price is merited by our product?",
"choices": [
{
"value": "correct",
"text": "Yes, the price is about right"
},
{
"value": "low",
"text": "No, the price is too low for your product"
},
{
"value": "high",
"text": "No, the price is too high for your product"
}
]
},
{
"type": "multipletext",
"name": "pricelimit",
"title": "What is the... ",
"items": [
{
"name": "mostamount",
"title": "Most amount you would every pay for a product like ours"
},
{
"name": "leastamount",
"title": "The least amount you would feel comfortable paying"
}
]
}
]
},
{
"name": "page3",
"elements": [
{
"type": "text",
"name": "email",
"title": "Thank you for taking our survey. Your survey is almost complete, please enter your email address in the box below if you wish to participate in our drawing, then press the 'Submit' button."
}
]
}
],
"showQuestionNumbers": "off",
"showProgressBar": "bottom",
"clearInvisibleValues": "onHidden",
"checkErrorsMode": "onValueChanged",
"showPreviewBeforeComplete": "showAllQuestions"
}
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Bug: onValidatedErrorsOnCurrentPage isn't notified of errors set via onServerValidateQuestions |
Reporting a bug
The event onValidatedErrorsOnCurrentPage
isn't notified of errors set via onServerValidateQuestions
.
The event should be triggered again once options.complete()
is called from onServerValidateQuestions
.
In the example provided, errors: 1
is printed to the console when the field is blank however when an error is set via onServerValidateQuestions
, it prints errors: 0
since it runs before the server validation is completed.
Tested page URL: https://plnkr.co/edit/t2HgSyIXfFKBBmIZ
Test code
function surveyValidateQuestion(survey, options) {
options.errors["country"] = "An exception has occurred.";
options.complete();
}
function surveyValidateErrorsOnCurrentPage(survey, options) {
console.log(`errors: ${options.errors.length}`);
}
var json = {
questions: [
{
type: "text",
name: "country",
title: "Type a country:",
isRequired: true
}
]
};
window.survey = new Survey.Model(json);
survey
.onComplete
.add(function (result) {
document
.querySelector('#surveyResult')
.textContent = "Result JSON:\n" + JSON.stringify(result.data, null, 3);
});
survey
.onServerValidateQuestions
.add(surveyValidateQuestion);
survey
.onValidatedErrorsOnCurrentPage
.add(surveyValidateErrorsOnCurrentPage);
$("#surveyElement").Survey({model: survey});
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Support titleLocation in matrices |
Remove this code for matrices:
public get isAllowTitleLeft(): boolean {
return false;
}
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
ProcessValue class doesn't correctly create path for uppercase variables. |
The following code doesn't work correctly:
var processor = new Survey.ProcessValue();
var data = {};
processor.setValue(data, "a.Item1.c1", 1);
After that data equals a: {item1: {c1: 1}}
, where item1 should be in capital, a: {Item1: {c1: 1}}
.
This error leads to issue in triggers for matrices question, when rows values are in upper case.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Introduce the "text" property to show in the "alt" image tag attribute |
See the https://surveyjs.answerdesk.io/ticket/details/t5902/image-alt-text thread for more details
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Optionally clear question value on hiding it's container (page or panel). |
Add a new option into survey.clearInvisibleValues
property.
onHiddenContainer
- clear the question value when it or its parent (page or panel) becomes invisible. If a question has value and it was invisible initially then survey clears the value on completing.
It works as onHidden
and additional clear value /restore default value on hidding/showing it's container (panel or page).
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Allow do not sort items by name in translation tab. |
Currently, questions are sorted by names in translation tab. Some developers want to disable sorting and place they placed on the page. A new setting:
SurveyCreator.settings.traslation.sortByName = false;
Product |
|
---|---|
custom-widgets | |
Type | |
Bug | |
Description | |
Select2: Uncaught TypeError: Cannot read property 'query' of null |
See the https://surveyjs.answerdesk.io/ticket/details/t5904/select2-clear-in-matrix-with-visibleif-rule-issue thread for more details Plunker to reproduce: https://plnkr.co/edit/K452qnYAVVdJhQvs?preview
select2.min.js:1 Uncaught TypeError: Cannot read property 'query' of null
at e.
Product | Type | Description | |
---|---|---|---|
|
survey-library | Enhancement | Implement collapse/expand functionality for all question types (state prop) |
We have the Need to implement the same for all questions. Possible values: |
|||
|
survey-library | Enhancement | Add survey.getQuestionsByValueName() |
We did not have a function that returns all questions by their valueName.
|
|||
|
survey-creator | Bug | Wrong embed tab text for the Knockout version |
based on the https://surveyjs.answerdesk.io/ticket/details/T5870 |
|||
|
survey-creator | Enhancement | Pass the index to the addItem to toolbox method |
We need an ability to pass index where the toolbox item will be inserted See the https://surveyjs.answerdesk.io/ticket/details/t5857/creator-toolbox-categories-reorder thread for more details |
|||
|
survey-creator | Bug | Escape single quote in title adorner placeholder |
See the https://surveyjs.answerdesk.io/ticket/details/t5876/inverted-comma-in-title-placeholder-breaks-layout thread for more details |
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Implement collapse/expand functionality for all question types (state prop) |
We have the state
for the panel: https://surveyjs.io/Documentation/Library?id=panelmodel#state
Need to implement the same for all questions.
Possible values: default
, collapsed
, expanded
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Add survey.getQuestionsByValueName() |
We did not have a function that returns all questions by their valueName.
/**
* Returns all questions by their valueName. name property is used if valueName property is empty.
* @param valueName a question name
* @param caseInsensitive
* @see getQuestionByName
* @see getQuestionByValueName
* @see Question.valueName
*/
public getQuestionsByValueName(
valueName: string,
caseInsensitive: boolean = false
): Array<Question>;
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Wrong embed tab text for the Knockout version |
based on the https://surveyjs.answerdesk.io/ticket/details/T5870
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Pass the index to the addItem to toolbox method |
We need an ability to pass index where the toolbox item will be inserted See the https://surveyjs.answerdesk.io/ticket/details/t5857/creator-toolbox-categories-reorder thread for more details
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Escape single quote in title adorner placeholder |
See the https://surveyjs.answerdesk.io/ticket/details/t5876/inverted-comma-in-title-placeholder-breaks-layout thread for more details