Product | Type | Description | |
---|---|---|---|
|
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"
|
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 | 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-library | Bug | visibleIf doesn't work in composite component when rendering in show preview model |
The original bug was posted into SurveyJS support desk. Here is the simple composite component:
|
|||
|
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-library | |
Type | |
Bug | |
Description | |
visibleIf doesn't work in composite component when rendering in show preview model |
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-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
Product | Type | Description | |
---|---|---|---|
|
survey-library | Enhancement | Add parentQuestion for question |
Sometimes it is hard to understand in what context a question is. It can be a standalone question or a cell question in matrix or a question inside dynamic panel. The
|
|||
|
survey-library | Bug | Bug: onServerValidateQuestions doesn't get called for the last page when showPreviewBeforeComplete is set |
Are you requesting a feature, reporting a bug or asking a question?Reporting a bug What is the current behavior?
What is the expected behavior?
How would you reproduce the current behavior (if this is a bug)?Using the test page provided below, you'll noticed that Provide the test code and the tested page URL (if applicable)Tested page URL: https://plnkr.co/edit/KBfdqN77mlIFxUGB Test code
Specify your
|
|||
|
survey-library | Enhancement | Convert strings values in arrary to numbers in sum/min/max/agv functions |
The following expression |
|||
|
survey-library | Bug | Text input with date input type shouldn't allow goNextPageAutomatic |
See the https://surveyjs.answerdesk.io/ticket/details/t2523/gonextpageautomatic thread for more details |
|||
|
survey-library | Bug | survey.clearIncorrectValues() remove totals matrix values if matrix is in dynamic panel |
Dynamic panel removes value as "matrixName-total", since it could not find question with this name. We should check for "-total" post prefix before removing this key from the value. |
|||
|
survey-library | Bug | survey.onMatrixRowRemoved calls before row is removed |
We are calling |
|||
|
survey-library | Bug | Disable flex grow for one question in a "row" when width property is set for this question |
based on https://surveyjs.answerdesk.io/ticket/details/T5744
|
|||
|
survey-library | Bug | react: checkbox column is editable for readonly matrix if showInMultipleColumns is true |
Are you requesting a feature, reporting a bug or asking a question?Reporting a bug What is the current behavior?Display mode and readOnly modes did not affect the 'matrixdropdown' type What is the expected behavior?By using 'display' mode in surveyjs implemented in React web app, I am expecting that all different types (checkboxes, radio buttons, single and multi choice matrix) will be disabled respectively. How would you reproduce the current behavior (if this is a bug)?Basically extend the survey json => survey.mode = 'display'; Note that in the surveyjs designer everything seems to be working properly. Provide the test code and the tested page URL (if applicable)Tested page URL: https://surveyjs.io/create-survey Test code
Specify your
|
|||
|
survey-library | Enhancement | Add "parentPanel" into dynamic panel text pre-processing |
Right now, there is no way to access parent dynamic panel from nested dynamic panel for text pre-processing. You can access only elements in your dynamic panel as
|
|||
|
survey-library | Bug | age() function doesn't work correctly |
age() function can return a year more, if the bithday is on the next day. The original bug created on SurveyJS Support Desk. |
|||
|
survey-library | Bug | choicesByUrl generates survey.onPropertyChangedCallback on loading from JSON |
On loading elements like this:
|
|||
|
survey-creator | Bug | readOnly value set in an onGetPropertyReadOnly event handler does not apply to a question's adorner |
When a question property's readOnly value is set in an onGetPropertyReadOnly event handler, the value applies to the property editor within the SurveyJS Creator's Properties Grid, but does not apply to the question's adorner. Sampe code:
|
|||
|
survey-analytics | Bug | Bar chart axis X labels are cut |
See the https://surveyjs.answerdesk.io/ticket/details/t5858/analytics-bar-chart-scale-trimmed-ui-issue thread for more details |
|||
|
custom-widgets | Bug | select2 keeps incorrect value instead of removing it |
See the https://surveyjs.answerdesk.io/ticket/details/t5822/select2-doesn-t-empty-properly-when-using-choices-with-visibleif thread for more details Plunker to reproduce - https://plnkr.co/edit/Jv03Wcng255VCAyi?preview |
|||
|
custom-widgets | Enhancement | inputmask - support suffix option |
This will allow to set "0,00 $" format, where the " $" is the suffix See the https://surveyjs.answerdesk.io/ticket/details/t5834/add-inputmask-widget-in-toolbox thread for more details |
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Add parentQuestion for question |
Sometimes it is hard to understand in what context a question is. It can be a standalone question or a cell question in matrix or a question inside dynamic panel. The parentQuestion
property solve this problem.
/**
* A parent question. It can be a dynamic panel or dynamic/dropdown matrices. If the value is a matrix, it means that question is a cell question.
* This property is null for a stand alone question.
*/
public get parentQuestion(): Question;
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Bug: onServerValidateQuestions doesn't get called for the last page when showPreviewBeforeComplete is set |
Reporting a bug
onServerValidateQuestions
doesn't get called on the last page if showPreviewBeforeComplete
is set.
onServerValidateQuestions
should be called on every page.
Using the test page provided below, you'll noticed that page3
is never printed to the console unless you remove showPreviewBeforeComplete
from the survey.
Tested page URL: https://plnkr.co/edit/KBfdqN77mlIFxUGB
Test code
Survey
.StylesManager
.applyTheme("modern");
//assign call to onServerValidateQuestions callback
function surveyValidateQuestion(survey, options) {
console.log(survey.currentPage.name);
options.complete();
}
var json = {
"pages": [
{
"name": "page1",
"elements": [
{
"type": "boolean",
"name": "question1",
"isRequired": true
}
]
},
{
"name": "page2",
"elements": [
{
"type": "boolean",
"name": "question2",
"isRequired": true
}
]
},
{
"name": "page3",
"elements": [
{
"type": "boolean",
"name": "question3",
"isRequired": true
}
]
}
],
"showPreviewBeforeComplete": "showAllQuestions"
};
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);
$("#surveyElement").Survey({model: survey});
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Convert strings values in arrary to numbers in sum/min/max/agv functions |
The following expression sum(["1", "2"])
will give "12" when the most users expect it to be 3.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Text input with date input type shouldn't allow goNextPageAutomatic |
See the https://surveyjs.answerdesk.io/ticket/details/t2523/gonextpageautomatic thread for more details
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
survey.clearIncorrectValues() remove totals matrix values if matrix is in dynamic panel |
Dynamic panel removes value as "matrixName-total", since it could not find question with this name. We should check for "-total" post prefix before removing this key from the value.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
survey.onMatrixRowRemoved calls before row is removed |
We are calling onMatrixRowRemoved
event before the row is actually removed from the matrix. We should call this event after.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Disable flex grow for one question in a "row" when width property is set for this question |
based on https://surveyjs.answerdesk.io/ticket/details/T5744
var json = {
elements: [
{
type: "text",
name: "question1",
width: "50%",
},
]
}
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
react: checkbox column is editable for readonly matrix if showInMultipleColumns is true |
Reporting a bug
Display mode and readOnly modes did not affect the 'matrixdropdown' type
By using 'display' mode in surveyjs implemented in React web app, I am expecting that all different types (checkboxes, radio buttons, single and multi choice matrix) will be disabled respectively.
Basically extend the survey json => survey.mode = 'display'; Note that in the surveyjs designer everything seems to be working properly.
Tested page URL: https://surveyjs.io/create-survey
Test code
const surveyJSON = {"pages":[{"name":"page1","elements":[{"type":"matrixdropdown","name":"2628","title":"Rate your level of agreement with each of the statements below.","defaultValue":{"1832":{"col1":["7","6"]},"1835":{"col1":["7","6"]},"1836":{"col1":["6","7"]},"1844":{"col1":["7","6"]},"1845":{"col1":["7","6"]}},"readOnly":true,"columns":[{"name":"col1","cellType":"checkbox","showInMultipleColumns":true,"choices":[{"value":"10","text":"Disagree"},{"value":"9","text":"Somewhat Disagree"},{"value":"7","text":"Somewhat Agree"},{"value":"6","text":"Agree"}]}],"rows":[{"value":"1836","text":"I know what job/career I want to do when I finish school."},{"value":"1832","text":"I know how to explore and get information about careers I might be interested in."}]}],"title":"Test"}]}
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Add "parentPanel" into dynamic panel text pre-processing |
Right now, there is no way to access parent dynamic panel from nested dynamic panel for text pre-processing. You can access only elements in your dynamic panel as {panel.questionName}
.
From v1.8.19, you will be able to set the following text into your question title: {parentPanel.questionName}
, where parentPanel is the parent Question.
Here is the example.
{
elements: [
{
type: "paneldynamic",
name: "rootPanel",
panelCount: 1,
templateElements: [
{
type: "text",
name: "q1",
title: "{panel.q2}",
},
{
type: "text",
name: "q2",
},
{
type: "paneldynamic",
name: "childPanel",
panelCount: 1,
templateElements: [
{
type: "text",
name: "childPanel_q1",
title: "{parentPanel.q2}", ///the example of using "parentPanel".
},
],
},
],
},
],
}
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
age() function doesn't work correctly |
age() function can return a year more, if the bithday is on the next day. The original bug created on SurveyJS Support Desk.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
choicesByUrl generates survey.onPropertyChangedCallback on loading from JSON |
On loading elements like this:
{
type: "dropdown",
name: "country",
title: "Select the country...",
isRequired: true,
choicesByUrl: {
url: "https://restcountries.eu/rest/v2/all",
valueName: "name"
}
}
survey.onPropertyChangedCallback
will be raised two times for url
and valueName
. As result SurveyJS Creator will raise onModified event on setting JSON, however nothing has been changed.
We should not raise this event on loading choicesByUrl
property.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
readOnly value set in an onGetPropertyReadOnly event handler does not apply to a question's adorner |
When a question property's readOnly value is set in an onGetPropertyReadOnly event handler, the value applies to the property editor within the SurveyJS Creator's Properties Grid, but does not apply to the question's adorner.
Sampe code:
creator
.onGetPropertyReadOnly
.add(function (sender, options) {
if(options.obj.name == "myQuestion" && options.property.name == "isRequired"){
options.readOnly = "true";
}
});
Product |
|
---|---|
survey-analytics | |
Type | |
Bug | |
Description | |
Bar chart axis X labels are cut |
See the https://surveyjs.answerdesk.io/ticket/details/t5858/analytics-bar-chart-scale-trimmed-ui-issue thread for more details
Product |
|
---|---|
custom-widgets | |
Type | |
Bug | |
Description | |
select2 keeps incorrect value instead of removing it |
See the https://surveyjs.answerdesk.io/ticket/details/t5822/select2-doesn-t-empty-properly-when-using-choices-with-visibleif thread for more details
Plunker to reproduce - https://plnkr.co/edit/Jv03Wcng255VCAyi?preview
Product |
|
---|---|
custom-widgets | |
Type | |
Enhancement | |
Description | |
inputmask - support suffix option |
This will allow to set "0,00 $" format, where the " $" is the suffix
See the https://surveyjs.answerdesk.io/ticket/details/t5834/add-inputmask-widget-in-toolbox thread for more details
Product | Type | Description | |
---|---|---|---|
|
survey-library | Enhancement | Pass localizable string property name in the `onTextMarkdown` event options |
This will allow to apply markdown selectively, e.g. for titles only See the https://surveyjs.answerdesk.io/ticket/details/t5676/and-how-can-i-check-for-individual-keyup-on-every-other-text-fields-the-context-is thread for more details |
|||
|
survey-library | Enhancement | Refactor text preprocessing in panel dynamic/matrix dynamic and composite component |
We have a code duplication it these three classes for text preprocessing. It should be removed. |
|||
|
survey-library | Bug | content panel in composite component has underfined renderWidth |
renderWidth in |
|||
|
survey-library | Bug | React SurveyQuestionMultipleText Missing Unique "key" prop |
Are you requesting a feature, reporting a bug or asking a question?Bug What is the current behavior?When running react in dev mode you see the following error:
What is the expected behavior?Warning should not appear How would you reproduce the current behavior (if this is a bug)?Behavior is visible in default react example page Provide the test code and the tested page URL (if applicable)Tested page URL: https://surveyjs.io/Examples/Library/?id=questiontype-multipletext&platform=Reactjs
Specify your
|
|||
|
survey-creator | Bug | Translation tab doesn't take into account creator readOnly property |
End-user can edit text in "Translation" tab, even if creator is read only: |
|||
|
survey-creator | Bug | Choices property appears twice in property grid on adding a custom property with category equals "choices" |
The following code duplicated the
|
|||
|
survey-creator | Enhancement | Use creator.onGetObjectDisplayName in condition property Editor |
The following code will change the display text for questions that use choose in condition property editor:
|
|||
|
survey-creator | Enhancement | Add maxLogicItemsInCondition option |
Set this option to 1 to have only one logic item in conditions, user will not be able to add "Or"/"And" item. You can set it to 2 to limit to only two logic items and so on. Example:
|
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Pass localizable string property name in the `onTextMarkdown` event options |
This will allow to apply markdown selectively, e.g. for titles only
See the https://surveyjs.answerdesk.io/ticket/details/t5676/and-how-can-i-check-for-individual-keyup-on-every-other-text-fields-the-context-is thread for more details
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Refactor text preprocessing in panel dynamic/matrix dynamic and composite component |
We have a code duplication it these three classes for text preprocessing. It should be removed.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
content panel in composite component has underfined renderWidth |
renderWidth in contentPanel
in composite component should have "100%" value.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
React SurveyQuestionMultipleText Missing Unique "key" prop |
Bug
When running react in dev mode you see the following error:
Warning: Each child in an array or iterator should have a unique "key" prop.
Check the render method of `SurveyQuestionMultipleText`. See https://fb.me/react-warning-keys for more information.
in span (created by SurveyQuestionMultipleText)
in SurveyQuestionMultipleText (created by SurveyQuestion)
in div (created by SurveyQuestion)
in div (created by SurveyQuestion)
in SurveyQuestion (created by SurveyRow)
in div (created by SurveyRow)
in SurveyRow (created by SurveyPage)
in div (created by SurveyPage)
in SurveyPage (created by Survey)
in div (created by Survey)
in div (created by Survey)
in form (created by Survey)
in div (created by Survey)
in Survey
Warning should not appear
Behavior is visible in default react example page
Tested page URL: https://surveyjs.io/Examples/Library/?id=questiontype-multipletext&platform=Reactjs
var json = {
questions: [
{
type: "multipletext",
name: "pricelimit",
title: "What is the... ",
colCount: 2,
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"
}
]
}
]
};
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Translation tab doesn't take into account creator readOnly property |
End-user can edit text in "Translation" tab, even if creator is read only: creator.readOnly = true;
.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Choices property appears twice in property grid on adding a custom property with category equals "choices" |
The following code duplicated the choices
property in the property grid:
Survey.Serializer.addProperty("selectbase", {
name: "testProperty:boolean",
category: "choices",
});
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Use creator.onGetObjectDisplayName in condition property Editor |
The following code will change the display text for questions that use choose in condition property editor:
creator.onGetObjectDisplayName.add(function (sender, options) {
//We can change showing question display name for all UI elements or for only some of them
//Here we change them for "condition" editor only
if(options.reason !== "condition") return;
options.displayName = options.obj.title + " [" + options.obj.name + "]";
});
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Add maxLogicItemsInCondition option |
Set this option to 1 to have only one logic item in conditions, user will not be able to add "Or"/"And" item. You can set it to 2 to limit to only two logic items and so on. Example:
var options = {
showLogicTab: true,
maxLogicItemsInCondition: 1
};
var creator = new SurveyCreator.SurveyCreator("editor", options);
Product | Type | Description | |
---|---|---|---|
|
survey-library | Bug | React: Warning: setState(...): on making invisible the current page |
Getting this issue |
|||
|
survey-library | Bug | Does not show correctly detail panel in matrix on error for mode "underRowSingle" |
If |
|||
|
survey-library | Enhancement | Introduce "showItemsInOrder" option for radiogroup/checkbox items. |
See this ticket for more details. |
|||
|
survey-library | Bug | Header text is wrong positioned if header image on the left/right side of it |
See the https://surveyjs.answerdesk.io/ticket/details/t5726/survey-logo-title-position thread for more details |
|||
|
survey-library | Bug | Composite component doesn't preprocess text with "composite." prefix |
The following JSON in composite component doesn't work:
We do not pre-process this variable |
|||
|
survey-creator | Enhancement | Do not show second time the default locale in survey.locale and translation tab |
By default we have "Default (English)" and "English" locale. It confuses end-users. We should remove "English" locale in our case and any default locale, in case, it is different from English. |
|||
|
survey-creator | Bug | Modern theme: The "Refresh" button is almost invisible in default value editor |
See the https://surveyjs.answerdesk.io/ticket/details/t5738/refresh-button-almost-invisible thread for more details:
|
|||
|
survey-pdf | Bug | Not printing result for boolean elements when valueTrue/valueFalse used. |
Hello. While testing pdf library we found that bug. A question like this:
produces this result {"test":"1"} This works fine in browser but when printing to pdf with survey-pdf prints as false. pdf generation only works with {"test": true} Should evaluate result against valueTrue and valueFalse for printing. Thanks |
|||
|
custom-widgets | BreakingChange | Bootstrap datepicker - need to use UTC |
We need to use UTC as stored date/time format. It should correctly selects date, write it to question value in UTC and restore. See the https://surveyjs.answerdesk.io/ticket/details/t5725/bootstrap-datepicker-need-to-use-utc thread for more details This is possible breaking change |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
React: Warning: setState(...): on making invisible the current page |
Getting this issue
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Does not show correctly detail panel in matrix on error for mode "underRowSingle" |
If detailPanelMode
is "underRowSingle" then the last detail panel with errored question(s) closes previous detail panels with erorrs. It should not.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Introduce "showItemsInOrder" option for radiogroup/checkbox items. |
See this ticket for more details.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Header text is wrong positioned if header image on the left/right side of it |
See the https://surveyjs.answerdesk.io/ticket/details/t5726/survey-logo-title-position thread for more details
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Composite component doesn't preprocess text with "composite." prefix |
The following JSON in composite component doesn't work:
{
type: "dropdown",
isRequired: true,
renderAs: "select2",
choicesByUrl: {
url: "https://www.universal-tutorial.com/api/states/{composite.country}",
titleName: "state_name",
},
name: "state",
title: "State",
}
We do not pre-process this variable {composite.country}
, where 'country' is another question in the composite component.
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Do not show second time the default locale in survey.locale and translation tab |
By default we have "Default (English)" and "English" locale. It confuses end-users. We should remove "English" locale in our case and any default locale, in case, it is different from English.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Modern theme: The "Refresh" button is almost invisible in default value editor |
See the https://surveyjs.answerdesk.io/ticket/details/t5738/refresh-button-almost-invisible thread for more details:
Product |
|
---|---|
survey-pdf | |
Type | |
Bug | |
Description | |
Not printing result for boolean elements when valueTrue/valueFalse used. |
Hello.
While testing pdf library we found that bug. A question like this:
{
"type": "boolean",
"name": "test",
"defaultValue": "false",
"label": {
"en": "test question"
},
"valueTrue": "1",
"valueFalse": "0"
}
produces this result
{"test":"1"}
This works fine in browser but when printing to pdf with survey-pdf prints as false. pdf generation only works with {"test": true} Should evaluate result against valueTrue and valueFalse for printing.
Thanks
Product |
|
---|---|
custom-widgets | |
Type | |
BreakingChange | |
Description | |
Bootstrap datepicker - need to use UTC |
We need to use UTC as stored date/time format. It should correctly selects date, write it to question value in UTC and restore. See the https://surveyjs.answerdesk.io/ticket/details/t5725/bootstrap-datepicker-need-to-use-utc thread for more details
This is possible breaking change
Product | Type | Description | |
---|---|---|---|
|
survey-library | Enhancement | Add detail Panel for dynamic and dropdown matrices. |
Optionally, show detail panel for every row. It should take elements from New added properties:
|
|||
|
survey-library | Bug | survey-react: lazy rendering works slow in comparison with survey-knockout and survey-vue platforms |
See the https://surveyjs.io/Examples/Library?id=survey-lazy&platform=Reactjs&theme=modern example. React adds new question slow. It re-renders all elements on the page. Removing changing state on changing "elements" array, since we need to react on "rows" array only and do not rerender rows and their elements that are not changed. It improves performance in almost x10 times in case of 10 questions on the page, x100 times in case of 100 questions on a page and x1000 times in case of 1000 questions on the page. |
|||
|
survey-library | Bug | Survey title text overflows header container |
See the https://surveyjs.answerdesk.io/ticket/details/t5629/creator-angular-survey-creation-title-logo-add-editor thread for more details |
|||
|
survey-library | Enhancement | Generate Survey JSON Schema |
The following code will generate the JSON schema
It will contain all properties/components/customwidgets you have added. It will take into account removing/changing properties as well. Use the following code to generate the text:
This code can be used on client(browser) or in NodeJS server code. |
|||
|
survey-library | Bug | Accessibility bug in knockout: generates same id for errors in different row in matrices. |
If there are several errors in one column in different row, then we generate the same error id for different rows in knockout. |
|||
|
survey-library | Bug | Accessibility: Add aria-expanded and aria-controls into panel expand/collapse button |
For panels that has expand/collapse buttons aria-expanded and aria-controls attributes are required. |
|||
|
survey-creator | Bug | Area for dropping questions on empty panel is not shown if it has elements on loading |
Steps to reproduce. Load survey in SurveyJS Creator with a panel and a question it it, then delete the question. The area for dropping questions, "Please drop a question here from the Toolbox" is invisible and you can't drop anything on the panel. |
|||
|
survey-creator | Enhancement | Refactor disabling question elements in designer |
We have a specific code for "dynamic panel". We should remove this check and make the code question type agnostic. |
|||
|
survey-creator | Bug | default/correct value property editor doesn't work correctly if choicesVisibleIf/EnableIf are set |
The original issue was reported into SurveyJS Support Desk. |
|||
|
survey-creator | Bug | Exception raised on editing boolean column type in columns editor. |
The original issue came from SurveyJS Support Desk. |
|||
|
survey-creator | Bug | Panel drop area too small in default and modern themes |
See the https://surveyjs.answerdesk.io/ticket/details/t5642/expanding-drop-zone-in-a-panel-element thread for more details |
|||
|
survey-creator | Bug | Creator tab change resets window location hash |
See the https://surveyjs.answerdesk.io/ticket/details/t5675/creator-tab-change-kills-url thread for more details |
|||
|
custom-widgets | Bug | It is possible to take item from the one sortable question and drop it to the other sortable question drop area |
|
custom-widgets | Bug | Bootstrap-datepicker doesn't apply format to date passed from model |
See the https://surveyjs.answerdesk.io/ticket/details/t5690/bootstrap-datepicker-formatting-not-applied-on-initial-if-used-with-defaultvalueexpression thread for more details
The initial value (today) is not properly formatted |
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Add detail Panel for dynamic and dropdown matrices. |
Optionally, show detail panel for every row. It should take elements from detailElements
property or developer could create them in code via event. The functionality is required by Creator v2.
New added properties:
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
survey-react: lazy rendering works slow in comparison with survey-knockout and survey-vue platforms |
See the https://surveyjs.io/Examples/Library?id=survey-lazy&platform=Reactjs&theme=modern example.
React adds new question slow. It re-renders all elements on the page. Removing changing state on changing "elements" array, since we need to react on "rows" array only and do not rerender rows and their elements that are not changed. It improves performance in almost x10 times in case of 10 questions on the page, x100 times in case of 100 questions on a page and x1000 times in case of 1000 questions on the page.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Survey title text overflows header container |
See the https://surveyjs.answerdesk.io/ticket/details/t5629/creator-angular-survey-creation-title-logo-add-editor thread for more details
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Generate Survey JSON Schema |
The following code will generate the JSON schema
Survey.Serializer.generateSchema();
It will contain all properties/components/customwidgets you have added. It will take into account removing/changing properties as well. Use the following code to generate the text:
JSON.stringify(Survey.Serializer.generateSchema(), null, 4)
This code can be used on client(browser) or in NodeJS server code.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Accessibility bug in knockout: generates same id for errors in different row in matrices. |
If there are several errors in one column in different row, then we generate the same error id for different rows in knockout.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Accessibility: Add aria-expanded and aria-controls into panel expand/collapse button |
For panels that has expand/collapse buttons aria-expanded and aria-controls attributes are required.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Area for dropping questions on empty panel is not shown if it has elements on loading |
Steps to reproduce. Load survey in SurveyJS Creator with a panel and a question it it, then delete the question. The area for dropping questions, "Please drop a question here from the Toolbox" is invisible and you can't drop anything on the panel.
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Refactor disabling question elements in designer |
We have a specific code for "dynamic panel". We should remove this check and make the code question type agnostic.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
default/correct value property editor doesn't work correctly if choicesVisibleIf/EnableIf are set |
The original issue was reported into SurveyJS Support Desk.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Exception raised on editing boolean column type in columns editor. |
The original issue came from SurveyJS Support Desk.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Panel drop area too small in default and modern themes |
See the https://surveyjs.answerdesk.io/ticket/details/t5642/expanding-drop-zone-in-a-panel-element thread for more details
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Creator tab change resets window location hash |
See the https://surveyjs.answerdesk.io/ticket/details/t5675/creator-tab-change-kills-url thread for more details
Product |
|
---|---|
custom-widgets | |
Type | |
Bug | |
Description | |
It is possible to take item from the one sortable question and drop it to the other sortable question drop area |
See the https://surveyjs.answerdesk.io/ticket/details/t5657/creator-possibility-of-drag-drop-sortable-list-type-question-items-among-each-other thread for more details
Product |
|
---|---|
custom-widgets | |
Type | |
Bug | |
Description | |
Bootstrap-datepicker doesn't apply format to date passed from model |
See the https://surveyjs.answerdesk.io/ticket/details/t5690/bootstrap-datepicker-formatting-not-applied-on-initial-if-used-with-defaultvalueexpression thread for more details
var json = {
"elements": [
{
"name": "date",
"type": "bootstrapdatepicker",
"inputType": "date",
"title": "Your favorite date:",
"defaultValueExpression": "today()",
"dateFormat": "MM dd, yyyy",
"isRequired": true
}
]
};
The initial value (today) is not properly formatted
Product | Type | Description | |
---|---|---|---|
|
survey-library | Bug | function clearIncorrectValues() doesn't work correctly for questions that uses choicesByUrl property |
When we are calling |
|||
|
survey-library | Enhancement | Make sure that matrix dynamic question can edit array of survey elements |
Matrix dynamic question can't edit array of survey elements, for examples question.choices or survey.calculatedValues. We should change the code so it will be possible to use matrix dynamic for editing SurveyJS elements arrays. |
|||
|
survey-library | Bug | react: the only page is not become visible if all elements before were invisible |
The original issue came to SurveyJS Support Desk. Here is the plunker that shows the issue. |
|||
|
survey-library | Bug | Do not call server validation several times |
If user press "Next" or "Complete" button fast, then the server validation can performed several times. We have to disable calling validations the second time and wait to complete the first validations. Here is the link on original ticket. |
|||
|
survey-library | Enhancement | Add maxSelectedChoices property to checkbox question |
Set this property different to 0 to limit the number of selected choices in the checkbox. Unselected choices will be disabled if the number of selected equals to |
|||
|
survey-library | Enhancement | Implement alternative rendering for the boolean question (switch/checkbox) |
Some users want different rendering for a boolean question - switch/checkbox See the https://surveyjs.answerdesk.io/ticket/details/t5476/multiple-choice-questions-using-matrix thread for more details |
|||
|
survey-library | Bug | vue: When setting "startWithNewLine": false on a text type question the Preview is crashing. |
#1813 # Are you requesting a feature, reporting a bug or asking a question? Bug What is the current behavior?When setting "startWithNewLine": false on a text type question the Preview is crashing. What is the expected behavior?To view the Preview page How would you reproduce the current behavior (if this is a bug)?See the json below. For the bug to occur, you have to implement onUpdateQuestionCssClasses. The crash happens when calling sender.state or sender.isDisplayMode. Provide the test code and the tested page URL (if applicable)Tested page URL: Test code
Specify your
|
|||
|
survey-library | Bug | vue: Could not add/remove row if a column with boolean cellType exists |
The original issue was reported in SurveyJS Support desk |
|||
|
survey-library | Bug | Dynamic matrix containing dropdown field with hasOther poperty doesn't load it's data |
dropdown/radiogroup/checkbox cell question with |
|||
|
survey-library | Bug | Panel title is not displayed in Creator on changing the title property value |
For panel title not display. It always is display:none |
|||
|
survey-library | Bug | On survey.clear() matrix dynamic clears all rows even if minRowCount is greater than 0 |
The original issue was created in SurveyJS support desk. |
|||
|
survey-library | Bug | Warning cause of missing prop matrix.vue |
in this commit "columnIndex" key in row 9 has been removed resulting in a warning when rendering matrix.vue component. https://github.com/surveyjs/survey-library/commit/a0ed68dddb22a6c9360b07267c572d800ef97530
should be
@gologames |
|||
|
survey-library | Bug | vue: matrix dynamic doesn't create new rows in some scenarios |
Hi @andrewtelnov thanks for the quick reply ! I forked your example, here is mine: https://plnkr.co/edit/PlHC94Vg18R9P30o I can add two rows. After that neither the "add row" or "remove row" button work:
Originally posted by @simevo in https://github.com/surveyjs/survey-library/issues/2443#issuecomment-723638099 |
|||
|
survey-library | Bug | Triggers with complex names could execute without chaning the value |
The original issue was created in SurveyJS Support Desk. The following trigger will go to "question1" on any cell change if the "Col1" in the first row is 1:
It should focus the "question1" on changing this cell only into 1. |
|||
|
survey-creator | Enhancement | Add readOnly property into dropdown column property editor |
Add readOnly property into dropdown column property editor |
|||
|
custom-widgets | Bug | select2 doesn't work when activated by type is set |
"select2" widget is not activated after this code:
|
|||
|
custom-widgets | Enhancement | Support clearIncomplete option for inputmask widget |
See the https://surveyjs.answerdesk.io/ticket/details/t5577/why-data-is-clear-when-masking-is-applied-on-textbox thread for more details |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
function clearIncorrectValues() doesn't work correctly for questions that uses choicesByUrl property |
When we are calling clearIncorrectValues()
function, choices could be not come from the server yet.
The easy solution is do nothing if choicesByUrl
is set, but activeChocies
is empty yet.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Make sure that matrix dynamic question can edit array of survey elements |
Matrix dynamic question can't edit array of survey elements, for examples question.choices or survey.calculatedValues. We should change the code so it will be possible to use matrix dynamic for editing SurveyJS elements arrays.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
react: the only page is not become visible if all elements before were invisible |
The original issue came to SurveyJS Support Desk. Here is the plunker that shows the issue.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Do not call server validation several times |
If user press "Next" or "Complete" button fast, then the server validation can performed several times. We have to disable calling validations the second time and wait to complete the first validations. Here is the link on original ticket.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Add maxSelectedChoices property to checkbox question |
Set this property different to 0 to limit the number of selected choices in the checkbox. Unselected choices will be disabled if the number of selected equals to maxSelectedChoices
property. A use will not be able to select more then maxSelectedChoices
items.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Implement alternative rendering for the boolean question (switch/checkbox) |
Some users want different rendering for a boolean question - switch/checkbox See the https://surveyjs.answerdesk.io/ticket/details/t5476/multiple-choice-questions-using-matrix thread for more details
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
vue: When setting "startWithNewLine": false on a text type question the Preview is crashing. |
#1813 # Are you requesting a feature, reporting a bug or asking a question?
Bug
When setting "startWithNewLine": false on a text type question the Preview is crashing.
To view the Preview page
See the json below. For the bug to occur, you have to implement onUpdateQuestionCssClasses. The crash happens when calling sender.state or sender.isDisplayMode.
Tested page URL:
Test code
{
"showPreviewBeforeComplete": "showAllQuestions",
"pages": [
{
"name": "page_organization",
"title": "Test page startWithNewLine",
"elements": [
{
"type": "text",
"name": "ContactPhoneWithCountryCode",
"title": "Telephone"
},
{
"type": "text",
"name": "ContactPhoneExtension",
"startWithNewLine": false,
"title": "Extension"
}
]
}
]
}
survey.onUpdateQuestionCssClasses.add((sender, options) => {
const classes = options.cssClasses;
if (sender.state == "preview") {
}
if (sender.isDisplayMode === true) {
}
});
vue.esm.js:1897 RangeError: Maximum call stack size exceeded
at VueSurveyModel.Base.getPropertyValue (survey-vue.js:2450)
at VueSurveyModel.get [as mode] (survey-vue.js:17029)
at Array.<anonymous> (surveyInit.ts:125)
at Event.fire (survey-vue.js:3248)
at VueSurveyModel.SurveyModel.updateQuestionCssClasses (survey-vue.js:18659)
at QuestionTextModel.get [as cssClasses] (survey-vue.js:4190)
at QuestionTextModel.Question.getIndentSize (survey-vue.js:4463)
at QuestionTextModel.Question.onIndentChanged (survey-vue.js:4458)
at Object.<anonymous> (survey-vue.js:3549)
at QuestionTextModel.Base.propertyValueChanged (survey-vue.js:2537)
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
vue: Could not add/remove row if a column with boolean cellType exists |
The original issue was reported in SurveyJS Support desk
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Dynamic matrix containing dropdown field with hasOther poperty doesn't load it's data |
dropdown/radiogroup/checkbox cell question with hasOther
doesn't load the comment value.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Panel title is not displayed in Creator on changing the title property value |
For panel title not display. It always is display:none
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
On survey.clear() matrix dynamic clears all rows even if minRowCount is greater than 0 |
The original issue was created in SurveyJS support desk.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Warning cause of missing prop matrix.vue |
in this commit "columnIndex" key in row 9 has been removed resulting in a warning when rendering matrix.vue component. https://github.com/surveyjs/survey-library/commit/a0ed68dddb22a6c9360b07267c572d800ef97530
<th v-for="column in question.visibleColumns" :key="columnIndex" :class="question.cssClasses.headerCell">
should be
<th v-for="(column, columnIndex) in question.visibleColumns" :key="columnIndex" :class="question.cssClasses.headerCell">
@gologames
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
vue: matrix dynamic doesn't create new rows in some scenarios |
Hi @andrewtelnov thanks for the quick reply ! I forked your example, here is mine: https://plnkr.co/edit/PlHC94Vg18R9P30o
I can add two rows. After that neither the "add row" or "remove row" button work:
Originally posted by @simevo in https://github.com/surveyjs/survey-library/issues/2443#issuecomment-723638099
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Triggers with complex names could execute without chaning the value |
The original issue was created in SurveyJS Support Desk. The following trigger will go to "question1" on any cell change if the "Col1" in the first row is 1:
{
type: "skip",
expression: "{matrix[0].Col1} = 1",
gotoName: "question1",
}
It should focus the "question1" on changing this cell only into 1.
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Add readOnly property into dropdown column property editor |
Add readOnly property into dropdown column property editor
Product |
|
---|---|
custom-widgets | |
Type | |
Bug | |
Description | |
select2 doesn't work when activated by type is set |
"select2" widget is not activated after this code:
Survey.CustomWidgetCollection.Instance.setActivatedBy("select2", "type");
Product |
|
---|---|
custom-widgets | |
Type | |
Enhancement | |
Description | |
Support clearIncomplete option for inputmask widget |
See the https://surveyjs.answerdesk.io/ticket/details/t5577/why-data-is-clear-when-masking-is-applied-on-textbox thread for more details
Product | Type | Description | |
---|---|---|---|
|
survey-library | Enhancement | Add ability to use any Survey Element as data for survey |
Add
The idea is to allow edit any object properties by our Survey |
|||
|
survey-library | Bug | Composite question doesn't clear values for its invisible questions |
If |
|||
|
survey-library | Bug | clearIncorrectValues function doesn't work correctly panel dynamic |
If there is a comment for a question inside dynamic panel, for example comment for other value in radiogroup, then clearIncorrectValues function clears it. It should keep comment value in this case. |
|||
|
custom-widgets | Bug | Placeholder doesn't work for the select2 widget |
See original issue |
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Add ability to use any Survey Element as data for survey |
Add survey.editingObj: Base
property. When it is not empty the survey will use editingObj
properties as values. For example:
var survey = new Survey.SurveyModel();
survey.editingObj = anotherSurvey.getQuestionByName("question1");
var name = survey.getValue("name"); //name will be equal to question1
survey.setValue("isRequired", true); //question1 becomes required
The idea is to allow edit any object properties by our Survey
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Composite question doesn't clear values for its invisible questions |
If survey.clearInvisibleValues
is not "none", survey asks invsible question to clear their values. However it doesn't work for composite question.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
clearIncorrectValues function doesn't work correctly panel dynamic |
If there is a comment for a question inside dynamic panel, for example comment for other value in radiogroup, then clearIncorrectValues function clears it. It should keep comment value in this case.
Product |
|
---|---|
custom-widgets | |
Type | |
Bug | |
Description | |
Placeholder doesn't work for the select2 widget |
See original issue
Product | Type | Description | |
---|---|---|---|
|
survey-library | Bug | onPropertyChanged or onItemValuePropertyChanged callbacks doesn't work with ":multiplevalues" property |
onPropertyChanged or onItemValuePropertyChanged question callbacks doesn't work when item of ":multiplevalues" property checked/unchecked. For example, it leads to incorrect work of Undo/Redo functionality in Creator. UPD: Here is the simple example:
SurveyJS Creator creates a list of checkboxes from "A", ... ,"F" and the value of the property is an array on letters. Currently, the SurveyJS Library creates a standard property for this type, while it should create a wrapper for JavaScript array to override push/pop/unshift/splice functions and call property change notification. |
|||
|
survey-library | Bug | checkErrorMode equals "onComplete" doesn't work correctly with the server validation |
There are two issues there. At first server validation, |
|||
|
survey-library | Bug | Do not generate an empty rows error for matrix dynamic if it not requried and minRowCount is set |
The original issue came from SurveyJS Support Desk. |
|||
|
survey-library | Enhancement | Add removeNonExisingRootKeys parameter into survey.clearIncorrectValues function |
Add removeNonExisingRootKeys parameter, it is false by default.
|
|||
|
survey-library | Enhancement | Add requiredIf property to the Panel |
|
|||
|
survey-creator | Bug | Translation tab should not offer to translate properties with isSerialized attribute equals to true |
Translation tab creates a group for non serializable properties. It should not. |
|||
|
survey-creator | Enhancement | Change the way of how hovered question will be highlighted |
At the moment question actions are shown on question hover. Sometimes (for elements in the same line) this leads to actions overlapping and weird UI. See the https://surveyjs.answerdesk.io/ticket/details/t5530/start-in-new-line-view-bugs thread for more details. I've changed hover question highlighting from actions display to showing question border on hover |
|||
|
custom-widgets | Enhancement | Add orientation property into bootstrap slider |
Add orientation property:
|
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
onPropertyChanged or onItemValuePropertyChanged callbacks doesn't work with ":multiplevalues" property |
onPropertyChanged or onItemValuePropertyChanged question callbacks doesn't work when item of ":multiplevalues" property checked/unchecked. For example, it leads to incorrect work of Undo/Redo functionality in Creator. UPD: Here is the simple example:
Survey.Serializer.addProperty("carowner", {name: "letters:multiplevalues", choices: ["A", "B", "C", "D", "E", "F"] });
SurveyJS Creator creates a list of checkboxes from "A", ... ,"F" and the value of the property is an array on letters.
Currently, the SurveyJS Library creates a standard property for this type, while it should create a wrapper for JavaScript array to override push/pop/unshift/splice functions and call property change notification.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
checkErrorMode equals "onComplete" doesn't work correctly with the server validation |
There are two issues there. At first server validation, survey.onServerValidateQuestions
event, executed on next page, and doesn't take into account that checkErrorMode
is "onComplete". The second issue, on focusing question it doesn't change the current page and if the question with the error is located on a previous page, not the last one, end-user will not see any error and the last page will be the current one.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Do not generate an empty rows error for matrix dynamic if it not requried and minRowCount is set |
The original issue came from SurveyJS Support Desk.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Add removeNonExisingRootKeys parameter into survey.clearIncorrectValues function |
Add removeNonExisingRootKeys parameter, it is false by default.
//@param removeNonExisingRootKeys - set this parameter to true to remove keys from survey.data that doesn't have corresponded questions and calculated values
public clearIncorrectValues(removeNonExisingRootKeys: boolean = false);
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Add requiredIf property to the Panel |
/**
* An expression that returns true or false. If it returns true the Panel becomes required.
* The library runs the expression on survey start and on changing a question value.
* If the property is empty then isRequired property is used.
* @see isRequired
*/
panel.requiredIf(): string;
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Translation tab should not offer to translate properties with isSerialized attribute equals to true |
Translation tab creates a group for non serializable properties. It should not.
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Change the way of how hovered question will be highlighted |
At the moment question actions are shown on question hover. Sometimes (for elements in the same line) this leads to actions overlapping and weird UI. See the https://surveyjs.answerdesk.io/ticket/details/t5530/start-in-new-line-view-bugs thread for more details.
I've changed hover question highlighting from actions display to showing question border on hover
Product |
|
---|---|
custom-widgets | |
Type | |
Enhancement | |
Description | |
Add orientation property into bootstrap slider |
Add orientation property:
{
name: "orientation",
default: "horizontal",
choices: ["horizontal", "vertical"],
category: "general"
}
Product | Type | Description | |
---|---|---|---|
|
survey-library | Bug | The requiredQuestions progress bar works wrong |
|
|||
|
survey-library | Bug | React warning with slider component: setState(...):Cannot update during an existing state transition |
Warning: setState(...): Cannot update during an existing state transition (such as within this warning appears every time when i click next |
|||
|
survey-library | Bug | survey.getProgress() logs weird output on console |
I have some questions that have visible: "false" That means they are invisible to users. I want to track the survey completion progress. So, I have set the following: "progressBarType":"questions" Then I have this in the js file: var surveyProgress = survey.getProgress(); console.log(surveyProgress); Are you requesting a feature, reporting a bug or asking a question?bug asking question What is the current behavior?survey.getProgress() logs weird output on console. Even when the survey is answered fully then also the progress is not 100 percent. What is the expected behavior?If say 6 out of 23 visible questions are answered then the progress should be 26 percent. How would you reproduce the current behavior (if this is a bug)?survey.getProgress() logs incorrect output on console. Provide the test code and the tested page URL (if applicable)Tested page URL: Test code
Specify your
|
|||
|
survey-library | Enhancement | File question: set desired dropEffect to "copy" |
See the https://surveyjs.answerdesk.io/ticket/details/t5460/upload-files-in-survey-delete-item thread for more details |
|||
|
survey-library | Enhancement | Add autoComplete property into text Question |
autoComplete property set the autocomplete attribute for html input tag. |
|||
|
survey-library | Bug | When survey checkErrorsMode is "onComplete" then the question with the first error is not focused |
Let's say we have the following JSON:
If a user click button "Next" and then "Complete" without entering any data, then it should come back into first page and the question "q1", the first question with the error should be focused. Currently it doesn't work correctly, question "q0" is focused. |
|||
|
survey-library | Enhancement | Add settings.matrixMaxRowCountInCondition |
By default we show one row with all columns in condition property editor. For example: The original request came from SurveyJS Support Desk. |
|||
|
survey-library | Enhancement | react: Refactor render() and reactive properties |
Disable reactive properties to change the element state during rendering by moving all rendering into protected renderElement(). Here is the
We should use |
|||
|
survey-library | Enhancement | Add isUnique attribute into JSON property |
This attribute works for objects that uses in arrays. Currently we use this attribute for
If you do not want to have a unique column names for matrix dropdown/dynamic please use the following code:
|
|||
|
survey-library | Bug | vue: tagbox doesn't work as a question cell in matrix dynamic/dropdown |
There is a "undefined" error if you are using tagbox custom widget in the matrix dynamic/dropdown as a cell question. |
|||
|
survey-library | Enhancement | vue: refactor nofying Vue about property change |
The idea is to avoid untificial notifying Vue on property change during rendering |
|||
|
survey-creator | Bug | After Removing the "title-image" Adorner, an invalid image placeholder shows up in Title |
|
survey-creator | Enhancement | Add support for dataList attribute in string property editor |
We have the following property in text question now and we need to support it:
|
|||
|
survey-creator | Enhancement | Add support for isUnique attribute in JSON property |
Show error and do not allow to set non-unique property value to the object. Please read more about isUnique property attribute here. |
|||
|
survey-creator | Bug | Items property editor shows the "Add New" button if allowAddRemoveItems option is set to false |
See the https://surveyjs.answerdesk.io/ticket/details/t5490/setting-allowaddremoveitems-to-false-in-onsetpropertyeditoroptions-does-not-work thread for more details Choices item adorner doesn't respect the allowAddRemoveItems option also |
|||
|
survey-creator | Bug | Nested properties editor allows to edit values even if properties are readOnly |
Running the code, that makes
This code should make nested properties read-only as well. |
|||
|
survey-creator | Bug | Title editor adorner doesn't respect the onGetPropertyReadOnly event handler |
See the https://surveyjs.answerdesk.io/ticket/details/t5487/differentiate-between-questions-loaded-from-json-and-newly-added-questions-dynamic thread for more details |
|||
|
survey-creator | Bug | Choice items adorner doesn't respect the onElementAllowOperations event handler |
See the https://surveyjs.answerdesk.io/ticket/details/t5487/differentiate-between-questions-loaded-from-json-and-newly-added-questions-dynamic thread for more details |
|||
|
survey-analytics | Enhancement | Make top margin to fit ModeBar in SelectBasePlotly |
See the https://surveyjs.answerdesk.io/ticket/details/t5459/analytics-visualization-modebar-ui-issue thread for more details |
|||
|
custom-widgets | Bug | bootstrap datepicker has incorrect default dateFormat |
It should be |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
The requiredQuestions progress bar works wrong |
Click choice of required question and get this:
Then click next and get this:
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
React warning with slider component: setState(...):Cannot update during an existing state transition |
Warning: setState(...): Cannot update during an existing state transition (such as within render
or another component's constructor). Render methods should be a pure function of props and state; constructor side-effects are an anti-pattern, but can be moved to componentWillMount
.
this warning appears every time when i click next
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
survey.getProgress() logs weird output on console |
I have some questions that have visible: "false" That means they are invisible to users.
I want to track the survey completion progress. So, I have set the following: "progressBarType":"questions"
Then I have this in the js file: var surveyProgress = survey.getProgress(); console.log(surveyProgress);
bug
asking question
survey.getProgress() logs weird output on console. Even when the survey is answered fully then also the progress is not 100 percent.
If say 6 out of 23 visible questions are answered then the progress should be 26 percent.
survey.getProgress() logs incorrect output on console.
Tested page URL:
Test code
your_code_here
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
File question: set desired dropEffect to "copy" |
See the https://surveyjs.answerdesk.io/ticket/details/t5460/upload-files-in-survey-delete-item thread for more details
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Add autoComplete property into text Question |
autoComplete property set the autocomplete attribute for html input tag.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
When survey checkErrorsMode is "onComplete" then the question with the first error is not focused |
Let's say we have the following JSON:
{
checkErrorsMode: "onComplete",
pages: [
{
elements: [
{ type: "text", name: "q0" },
{ type: "text", name: "q1", isRequired: true },
],
},
{
elements: [{ type: "text", name: "q2", isRequired: true }],
},
{
elements: [{ type: "text", name: "q3", isRequired: true }],
},
],
}
If a user click button "Next" and then "Complete" without entering any data, then it should come back into first page and the question "q1", the first question with the error should be focused. Currently it doesn't work correctly, question "q0" is focused.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Add settings.matrixMaxRowCountInCondition |
By default we show one row with all columns in condition property editor. For example: dynamicMatrixQuestionName[0].columnName
.
You can change this property to show more rows, by setting it to 2, Survey.settings.matrixMaxRowCountInCondition = 2;
will add colums for the second row as : dynamicMatrixQuestionName[1].columnName
if matrix rowCount is 2 or bigger.
The original request came from SurveyJS Support Desk.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
react: Refactor render() and reactive properties |
Disable reactive properties to change the element state during rendering by moving all rendering into protected renderElement(). Here is the render()
function code in SurveyElementBase
class:
render(): JSX.Element {
if (!this.canRender()) return null;
this.isRenderingValue = true;
var res = this.renderElement();
this.isRenderingValue = false;
return res;
}
We should use renderElement()
function in our react classes. The read-only protected isRendering
property will block chaning state on changing the value react properties that can happen during react rendering.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Add isUnique attribute into JSON property |
This attribute works for objects that uses in arrays. Currently we use this attribute for matrixdropdowncolumn
and calculatedvalue
classes. Here is the definition of calculatedvalue
.
Serializer.addClass(
"calculatedvalue",
[{name: "!name", isUnique: true}, "expression:expression", "includeIntoResult:boolean"],
function() {
return new CalculatedValue();
},
"base"
);
If you do not want to have a unique column names for matrix dropdown/dynamic please use the following code:
Survey.Serializer.findProperty("matrixdropdowncolumn", "name").isUnique = false;
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
vue: tagbox doesn't work as a question cell in matrix dynamic/dropdown |
There is a "undefined" error if you are using tagbox custom widget in the matrix dynamic/dropdown as a cell question.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
vue: refactor nofying Vue about property change |
The idea is to avoid untificial notifying Vue on property change during rendering
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
After Removing the "title-image" Adorner, an invalid image placeholder shows up in Title |
See the https://surveyjs.answerdesk.io/ticket/details/t5457/after-removing-the-title-image-adorner-an-invalid-image-placeholder-shows-up-in-title thread for more details
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Add support for dataList attribute in string property editor |
We have the following property in text question now and we need to support it:
{
name: "autoComplete",
dataList: [
"name",
"honorific-prefix",
"given-name",
"additional-name",
"family-name",
"honorific-suffix",
"nickname",
"organization-title",
"username",
"new-password",
"current-password",
"organization",
"street-address",
"address-line1",
"address-line2",
"address-line3",
"address-level4",
"address-level3",
"address-level2",
"address-level1",
"country",
"country-name",
"postal-code",
"cc-name",
"cc-given-name",
"cc-additional-name",
"cc-family-name",
"cc-number",
"cc-exp",
"cc-exp-month",
"cc-exp-year",
"cc-csc",
"cc-type",
"transaction-currency",
"transaction-amount",
"language",
"bday",
"bday-day",
"bday-month",
"bday-year",
"sex",
"url",
"photo",
"tel",
"tel-country-code",
"tel-national",
"tel-area-code",
"tel-local",
"tel-local-prefix",
"tel-local-suffix",
"tel-extension",
"email",
"impp",
],
}
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Add support for isUnique attribute in JSON property |
Show error and do not allow to set non-unique property value to the object. Please read more about isUnique property attribute here.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Items property editor shows the "Add New" button if allowAddRemoveItems option is set to false |
See the https://surveyjs.answerdesk.io/ticket/details/t5490/setting-allowaddremoveitems-to-false-in-onsetpropertyeditoroptions-does-not-work thread for more details
Choices item adorner doesn't respect the allowAddRemoveItems option also
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Nested properties editor allows to edit values even if properties are readOnly |
Running the code, that makes columns
property read-only, will still allow to modify name and title column properties in the table.
Survey.Serializer.findProperty("matrixdropdownbase", "columns").readOnly = true;
This code should make nested properties read-only as well.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Title editor adorner doesn't respect the onGetPropertyReadOnly event handler |
creator.onGetPropertyReadOnly.add(function(sender, options){
options.readOnly = isLoadingJSON || options.obj.wasInJSON;
});
See the https://surveyjs.answerdesk.io/ticket/details/t5487/differentiate-between-questions-loaded-from-json-and-newly-added-questions-dynamic thread for more details
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Choice items adorner doesn't respect the onElementAllowOperations event handler |
creator.onElementAllowOperations.add(function (sender, options) {
var allow = !isLoadingJSON && !options.obj.wasInJSON;
options.allowDelete = allow;
options.allowEdit = allow;
options.allowCopy = allow;
options.allowAddToToolbox = allow;
options.allowDragging = allow;
options.allowChangeType = allow;
options.allowChangeRequired = allow;
options.allowShowHideTitle = allow;
});
See the https://surveyjs.answerdesk.io/ticket/details/t5487/differentiate-between-questions-loaded-from-json-and-newly-added-questions-dynamic thread for more details
Product |
|
---|---|
survey-analytics | |
Type | |
Enhancement | |
Description | |
Make top margin to fit ModeBar in SelectBasePlotly |
See the https://surveyjs.answerdesk.io/ticket/details/t5459/analytics-visualization-modebar-ui-issue thread for more details
Product |
|
---|---|
custom-widgets | |
Type | |
Bug | |
Description | |
bootstrap datepicker has incorrect default dateFormat |
It should be default: "mm/dd/yyyy"
instead of default: "'mm/dd/yyyy'"
.
Product | Type | Description | |
---|---|---|---|
|
survey-library | Bug | End-user can drop/add a file into read-only file question |
If a file question read-only, then choose file button is disabled, but drag-over area still accept files, also it should not. |
|||
|
survey-library | Enhancement | Improve API for adding a new page |
There is no way to insert a new page as the first one or the second. We need to add a parameter into
Additionally makes the
Example of using:
|
|||
|
survey-library | Bug | Locale of progressbar does not change |
Are you requesting a feature, reporting a bug or asking a question?Bug What is the current behavior?If you change the language of the survey, the locale of the progressbar does not change. What is the expected behavior?Progressbar should update too. How would you reproduce the current behavior (if this is a bug)?Change the locale. https://plnkr.co/edit/0o1cxceHuYOFXKyq Provide the test code and the tested page URL (if applicable)Tested page URL: https://plnkr.co/edit/0o1cxceHuYOFXKyq Specify your
|
|||
|
survey-library | Bug | react: SurveyWindow component renders window header twice |
SurveyWindow should renders window header only one time. |
|||
|
survey-library | Bug | Localizable string can generate a warning in react |
You can get the followng warning: "Warning: Can't perform a React state update on an unmounted component" because of localizable string did not perform correctly unmount. |
|||
|
survey-library | Enhancement | Make survey.core works under NodeJS |
The following code should work and should not return any error in NodeJS:
|
|||
|
survey-analytics | Enhancement | Create sample how to visualize text question with chart visualizer |
See the https://surveyjs.answerdesk.io/ticket/details/t5424/analytics-angular-register-visualizer-as-selectbaseplotly-for-rating-type-question thread for more details:
|
|||
|
survey-analytics | Bug | Top N option should work for all chart types |
See the https://surveyjs.answerdesk.io/ticket/details/t5436/how-can-i-show-top-20-10-5-answers-in-pie-doughnut-visualization-also thread for more details |
|||
|
custom-widgets | Enhancement | Allow add new tag in the tagbox widget |
Select2 optinally allows to add new tag. We should add this option as: |
|||
|
custom-widgets | Bug | input custom widget: Cannot read property 'getemptymask' of undefined |
TypeError: Cannot read property 'getemptymask' of undefined at HTMLInputElement.el.onblur (inputmask.js:98) at removeChild (react-dom.js:1364) at Object.processUpdates (react-dom.js:1510) at Object.dangerouslyProcessChildrenUpdates [as processChildrenUpdates] (react-dom.js:6766) at processQueue (react-dom.js:10215) at ReactDOMComponent._updateChildren (react-dom.js:10431) at ReactDOMComponent.updateChildren (react-dom.js:10375) at ReactDOMComponent._updateDOMChildren (react-dom.js:6357) at ReactDOMComponent.updateComponent (react-dom.js:6171) at ReactDOMComponent.receiveComponent (react-dom.js:6133) Json "elements": [ { "type": "text", "inputType": "date", "inputMask": "datetime", "inputFormat": "dd/mm/yyyy", "name": "QBday", "startWithNewLine": false, "title": "What is your Birthday?", //"dateFormat": "dd/mm/yy", "isRequired": true, "validators": [ { "type": "expression", "text": "You should be atleast 10 years or older", "expression": "age() >= 10" } ], "max": "31/12/2999", "description": "Remember age is just a number :-)" } ] In which type of situation, this error appears in surveyjs |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
End-user can drop/add a file into read-only file question |
If a file question read-only, then choose file button is disabled, but drag-over area still accept files, also it should not.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Improve API for adding a new page |
There is no way to insert a new page as the first one or the second. We need to add a parameter into survey.addNewPage
and survey.addPage
functions.
/**
* Adds an existing page to the survey.
* @param page a newly added page
* @param index - a page index to where insert a page. It is -1 by default and the page will be added into the end.
* @see addNewPage
*/
public addPage(page: PageModel, index: number = -1);
/**
* Creates a new page and adds it to a survey. Generates a new name if the `name` parameter is not specified.
* @param name a page name
* @param index - a page index to where insert a new page. It is -1 by default and the page will be added into the end.
* @see addPage
*/
public addNewPage(name: string = null, index: number = -1) ;
Additionally makes the survey.createNewPage()
function public:
/**
* Creates and returns a new page, but do not add it into the survey.
* You can use addPage(page) function to add it into survey later.
* @see addPage
* @see addNewPage
*/
public createNewPage(name: string): PageModel;
Example of using:
var newPage = survey.createNewPage("new Page");
newPage.addNewQuestion("text", "newQuestion");
survey.addPage(newPage, 0);
survey.currentPageNo = 0;
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Locale of progressbar does not change |
Bug
If you change the language of the survey, the locale of the progressbar does not change.
Progressbar should update too.
Change the locale. https://plnkr.co/edit/0o1cxceHuYOFXKyq
Tested page URL: https://plnkr.co/edit/0o1cxceHuYOFXKyq
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
react: SurveyWindow component renders window header twice |
SurveyWindow should renders window header only one time.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Localizable string can generate a warning in react |
You can get the followng warning: "Warning: Can't perform a React state update on an unmounted component" because of localizable string did not perform correctly unmount.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Make survey.core works under NodeJS |