Product | Type | Description | |
---|---|---|---|
|
survey-library | Bug | hasOther and showInMultipleColumns options in matrix column doesn't work correctly |
Are you requesting a feature, reporting a bug or asking a question?Bug What is the current behavior?When configuring a column in a matrixdropdown question to have an other option the text box is not shown when using the "show in multiple columns" option. What is the expected behavior?It should either work, or not be available as an option in the survey builder. How would you reproduce the current behavior (if this is a bug)?Provide the test code and the tested page URL (if applicable)Tested page URL: https://surveyjs.io/create-survey Test code
Specify your
|
|||
|
survey-library | Bug | setObjPropertyValue function JSONPropery class doens't work correctly for setting arrays. |
The following code works incorrectly. It leads to errors in Creator V2. Here is the related issue
|
|||
|
survey-library | Bug | A question dropdown selection is reset when using row count bindings and `cellType` expression |
With the following survey expression, the
A complete sample is available at https://plnkr.co/edit/blLZR0Qy5u3K1DKh. Attachments DemoT10358.mp4. The issue has been originally reported at T10358 - rowCount issue in DynamicMatrix when using expressions in columns. |
|||
|
survey-creator | Bug | survey creator tagbox property does not save all questions changes |
Are you requesting a feature, reporting a bug or ask a question?reporting a bug What is the current behavior?When adding a tagbox property to question in survery creator, GUI will only save the latest tagged question, and removes the previous tagged questions that was done before. What is the expected behavior?All edited questions that gets tagged with tagbox should keep their tags repectively How would you reproduce the current behavior (if this is a bug)?Add a tagbox property to the creator instance like so:
Then try to edit a question and add a tag to the question from the general tab in right property pane of the question, and without saving continue to add a tag to another question , then inspect the JSON preview, only the last edited question gets a tagbox property. Here is a plunker: https://plnkr.co/edit/qighGGf3uvvIxais Provide the test code and the tested page URL (if applicable)Tested page URL: https://plnkr.co/edit/qighGGf3uvvIxais Test code
Specify your
|
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
hasOther and showInMultipleColumns options in matrix column doesn't work correctly |
Bug
When configuring a column in a matrixdropdown question to have an other option the text box is not shown when using the "show in multiple columns" option.
It should either work, or not be available as an option in the survey builder.
Tested page URL: https://surveyjs.io/create-survey
Test code
{
"logoPosition": "right",
"pages": [
{
"name": "page1",
"elements": [
{
"type": "matrixdropdown",
"name": "V001",
"title": "Testvraag",
"columns": [
{
"name": "1",
"title": " ",
"cellType": "checkbox",
"showInMultipleColumns": true,
"choices": [
{
"value": "1",
"text": "Antwoord A"
},
{
"value": "2",
"text": "Antwoord B"
},
{
"value": "3",
"text": "Antwoord C"
}
],
"hasOther": true,
"noneText": "Geen van bovenstaande",
"otherText": "Anders, namelijk:"
}
],
"choices": [
1,
2,
3,
4,
5
],
"rows": [
{
"value": "1",
"text": "Aspect A"
},
{
"value": "2",
"text": "Aspect B"
}
]
}
]
}
],
"questionsOnPageMode": "questionPerPage"
}
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
setObjPropertyValue function JSONPropery class doens't work correctly for setting arrays. |
The following code works incorrectly. It leads to errors in Creator V2. Here is the related issue
Survey.Serializer.addProperty("question", { name: "tagbox:set", choices: [1, 2, 3, 4] });
const question = new Survey.QuestionText("q1");
const val = [1, 2];
Serializer.setObjPropertyValue(question, "tagbox", val);
//question.tagbox equals to [1, 2] now
val.splice(0, 1);
//question.tagbox equals to [2] now, but it should not be changed.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
A question dropdown selection is reset when using row count bindings and `cellType` expression |
With the following survey expression, the question 1
dropdown selection is reset when checking an item for question 3
.
{
"logoPosition": "right",
"pages": [
{
"name": "page1",
"elements": [
{
"type": "paneldynamic",
"name": "question",
"templateElements": [
{
"type": "panel",
"name": "panel1",
"elements": [
{
"type": "dropdown",
"name": "question1",
"choicesMin": 1,
"choicesMax": 5
},
{
"type": "matrixdynamic",
"name": "question2",
"bindings": {
"rowCount": "question1"
},
"columns": [
{
"name": "Column 1",
"cellType": "expression",
"expression": "'Row ' + {rowIndex}"
},
{
"name": "Column 2"
},
{
"name": "Column 3"
}
],
"choices": [
1,
2,
3,
4,
5
],
"allowAddRows": false,
"allowRemoveRows": false,
"rowCount": 0
}
]
},
{
"type": "checkbox",
"name": "question3",
"choices": [
"item1",
"item2",
"item3"
]
}
],
"allowAddPanel": false,
"allowRemovePanel": false,
"panelCount": 1
},
{
"type": "panel",
"name": "panel2"
}
]
}
]
}
A complete sample is available at https://plnkr.co/edit/blLZR0Qy5u3K1DKh.
Attachments DemoT10358.mp4.
The issue has been originally reported at T10358 - rowCount issue in DynamicMatrix when using expressions in columns.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
survey creator tagbox property does not save all questions changes |
reporting a bug
When adding a tagbox property to question in survery creator, GUI will only save the latest tagged question, and removes the previous tagged questions that was done before.
All edited questions that gets tagged with tagbox should keep their tags repectively
Add a tagbox property to the creator instance like so:
Survey.Serializer.addProperty("question", {
name: "tagbox:set",
choices: ["one", "two", "three"],
category: "general"
});
Then try to edit a question and add a tag to the question from the general tab in right property pane of the question, and without saving continue to add a tag to another question , then inspect the JSON preview, only the last edited question gets a tagbox property.
Here is a plunker: https://plnkr.co/edit/qighGGf3uvvIxais
Tested page URL: https://plnkr.co/edit/qighGGf3uvvIxais
Test code
Survey.Serializer.addProperty("question", {
name: "tagbox:set",
choices: ["one", "two", "three"],
category: "general"
});
Product | Type | Description | |
---|---|---|---|
|
survey-library | Enhancement | Bug: Dropdown search bar is visible when "searchEnabled" is set to false |
Are you requesting a feature, reporting a bug or asking a question?Bug What is the current behavior?The dropdown search bar is visible when What is the expected behavior?The dropdown shouldn't display the search bar when How would you reproduce the current behavior (if this is a bug)?Using the test page provided below, you'll notice that the search bar in the dropdown is visible even though Provide the test code and the tested page URL (if applicable)Tested page URL: https://plnkr.co/edit/nFz6LbiR0UflYpnD Test code
Specify your
|
|||
|
survey-library | Bug | Popup list in dropdown doesn't support localization |
"Type to search..." string shows for all locales. "ListModel" class doesn't support localization. |
|||
|
survey-library | Bug | showQuestionNumbers should accept Boolean values |
The name of the property suggests that it accepts Boolean values. However, it doesn't, and you won't find out about it until you look in the docs. I myself have been caught in this trap, and even created an issue, thinking that there's something wrong with parsing of Boolean values. I suggest the following API:
|
|||
|
survey-library | Bug | Composite component can't be used in matrices cells |
We show composite component in matrices cell, but a cell value is not stored in the marix for this colum. Here is the simple example:
Survey JSON:
Matrix has two text questions in the cell, but the data is not stored. It should work correctly as for any other cell question. |
|||
|
survey-library | Bug | Buttons have different sizes in default theme and it modifications |
See the https://surveyjs.answerdesk.io/ticket/details/t10318/button-size-inconsistent-on-mobile-view thread for more details |
|||
|
survey-library | Bug | Carry forward for ranking question: use other item |
If checkbox question hasOther property is set to true and this checkbox is used for carry forward functionality for a ranking question, then other value is not taken into account. Here is the JSON example:
On selecting other and setting the text in checkbox question, this new value is not shows in visible choices for a ranking question. |
|||
|
survey-library | Enhancement | Automatically convert youtube url to embed for image question |
If imageLink is set to "https://youtu.be/-5CdAup0o-I" then we should use url: "https://www.youtube.com/embed/-5CdAup0o-I". We should covert url automatically, since the most end-users do not know what the correct link should be. |
|||
|
survey-creator | Enhancement | New selectbase item numbering after item delete |
We need item3 in case of two added items
|
|||
|
survey-creator | Bug | V2: settings.toolbox.defaultJSON doesn't apply on converting question |
To reproduce use the following default JSON for radiogroup:
|
|||
|
survey-creator | Bug | V2: Hide "Add Question" button on page if allowEdit set to false onElementAllowOperations event |
The following code should remove buttons: "Delete", "Duplicate" and "Add Question" on the first page in Creator surface. Right now we do not remove "Add Question" buttons.
|
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Bug: Dropdown search bar is visible when "searchEnabled" is set to false |
Bug
The dropdown search bar is visible when searchEnabled
is set to false
(with more than 10 choices).
The dropdown shouldn't display the search bar when searchEnabled
is set to false
.
Using the test page provided below, you'll notice that the search bar in the dropdown is visible even though searchEnabled
is set to false in the survey json.
Tested page URL:
https://plnkr.co/edit/nFz6LbiR0UflYpnD
Test code
Survey.StylesManager.applyTheme("defaultV2");
var json = {
"elements": [
{
"type": "dropdown",
"name": "car",
"choices": [
"Ford",
"Vauxhall",
"Volkswagen",
"Nissan",
"Audi",
"Mercedes-Benz",
"BMW",
"Peugeot",
"Toyota",
"Citroen",
"Honda",
],
"searchEnabled": false
}
]
};
window.survey = new Survey.Model(json);
survey.onComplete.add(function (sender) {
document.querySelector('#surveyResult').textContent = "Result JSON:\n" + JSON.stringify(sender.data, null, 3);
});
var app = new Vue({
el: '#surveyElement',
data: {
survey: survey
}
});
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Popup list in dropdown doesn't support localization |
"Type to search..." string shows for all locales. "ListModel" class doesn't support localization.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
showQuestionNumbers should accept Boolean values |
The name of the property suggests that it accepts Boolean values. However, it doesn't, and you won't find out about it until you look in the docs. I myself have been caught in this trap, and even created an issue, thinking that there's something wrong with parsing of Boolean values.
I suggest the following API:
showQuestionNumbers: true // the same as showQuestionNumbers: "on"
showQuestionNumbers: false // the same as showQuestionNumbers: "off"
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Composite component can't be used in matrices cells |
We show composite component in matrices cell, but a cell value is not stored in the marix for this colum. Here is the simple example:
//Register a composite component
Survey.ComponentCollection.Instance.add({
name: "customerinfo",
elementsJSON: [
{ type: "text", name: "firstName" },
{ type: "text", name: "lastName" },
],
});
Survey JSON:
{
elements: [{
type: "matrixdynamic",
name: "matrix",
columns: [
{ cellType: "customerinfo", name: "col1" },
]
}]
}
Matrix has two text questions in the cell, but the data is not stored. It should work correctly as for any other cell question.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Buttons have different sizes in default theme and it modifications |
See the https://surveyjs.answerdesk.io/ticket/details/t10318/button-size-inconsistent-on-mobile-view thread for more details
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Carry forward for ranking question: use other item |
If checkbox question hasOther property is set to true and this checkbox is used for carry forward functionality for a ranking question, then other value is not taken into account. Here is the JSON example:
{
"logoPosition": "right",
"pages": [
{
"name": "page1",
"elements": [
{
"type": "checkbox",
"name": "smartphone-features",
"title": "What smartphone features do you think are valuable?",
"isRequired": true,
"choices": [
"Battery life",
"Screen size",
"Storage space",
"Camera quality",
"Durability",
"Processor power",
"Price"
],
"choicesOrder": "asc",
"hasOther": true,
"colCount": 4
},
{
"type": "ranking",
"name": "best-smartphone-features",
"visibleIf": "{smartphone-features.length} > 1",
"title": "Please rank the smartphone features in order of importance:",
"isRequired": true,
"choicesFromQuestion": "smartphone-features",
"choicesFromQuestionMode": "selected"
}
]
}
]
}
On selecting other and setting the text in checkbox question, this new value is not shows in visible choices for a ranking question.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Automatically convert youtube url to embed for image question |
If imageLink is set to "https://youtu.be/-5CdAup0o-I" then we should use url: "https://www.youtube.com/embed/-5CdAup0o-I". We should covert url automatically, since the most end-users do not know what the correct link should be.
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
New selectbase item numbering after item delete |
We need item3 in case of two added items
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
V2: settings.toolbox.defaultJSON doesn't apply on converting question |
To reproduce use the following default JSON for radiogroup:
settings.toolbox.defaultJSON["radiogroup"] = { choices: [1, 2, 3, 4, 5] };
After that drop radiogroup on surface (choices will be correct 1, 2, 3, 4, 5), then convert the question into "text" and convert to "radiogroup" again. Choices will be "item1", "item2" and "item3" instead of [1, 2, 3, 4, 5].
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
V2: Hide "Add Question" button on page if allowEdit set to false onElementAllowOperations event |
The following code should remove buttons: "Delete", "Duplicate" and "Add Question" on the first page in Creator surface. Right now we do not remove "Add Question" buttons.
creator.onElementAllowOperations.add((sender, options) => {
if(options.obj.isPage) {
const isFirstPage = sender.survey.pages.indexOf(options.obj) === 0;
if(isFirstPage) {
options.allowDelete = false;
options.allowEdit = false;
options.allowCopy = false;
}
}
});
Product | Type | Description | |
---|---|---|---|
|
survey-library | Enhancement | Tagbox: add property specifying whether or not to hide selected items. |
|
|||
|
survey-library | Bug | Dropdown doesn't clear item selection in the drop-down list |
|
survey-library | Enhancement | Add an easier ability to create a dropdown action |
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Tagbox: add property specifying whether or not to hide selected items. |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Dropdown doesn't clear item selection in the drop-down list |
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Add an easier ability to create a dropdown action |
Product | Type | Description | |
---|---|---|---|
|
survey-library | Enhancement | Matrixdropdown: Fix default minimum column width |
The default placeholder text should be fully visible.
|
|||
|
survey-library | Bug | goNextPageAutomatic property set to autogonext not working |
It doesn't work when the property is setup in JSON. It works if you setup the value in code. Here is the example |
|||
|
survey-library | Bug | Share data between questions example for valuePropertyName fails under Angular, jQuery and Knockout |
Are you requesting a feature, reporting a bug or asking a question?Bug What is the current behavior?Using the Share data between questions example on the SurveyJS website with Angular, jQuery or Knockout, clicking once on an unselected checkbox item on Page 2 (What car do you own?) does not check it (kinda need 2 or 3 clicks) and even when checked, the selected item is not displayed in the title of the subsequent question (Please describe your car), specifically "templateTitle": "Car: " does not work. React and Vue doe not exhibit this issue. What is the expected behavior?Clicking the checkbox item checks it and that item name displayed in the title of the panel. How would you reproduce the current behavior (if this is a bug)?Using the provided SurveyJS example, Page 2 using Angular, jQuery or Knockout. Provide the test code and the tested page URL (if applicable)Tested page URL: https://surveyjs.io/Examples/Library?id=survey-shareddata https://user-images.githubusercontent.com/18456/182078321-815ce5e1-8993-4dc4-9dc4-d89c80dc50d2.mov Specify your
|
|||
|
survey-library | Bug | showQuestionNumbers property doesnt' work correctly in dynamic panel |
On adding/deleting panels in dynamic panel question if "showQuestionNumbers" property set to "onPanel" or "onSurvey" then it doesnt' work correctly. |
|||
|
survey-library | Bug | React warning when using requiredIf on element in matrix and visibleIf/enableIf in columns |
We should move code on generating cell question class names inside the cell. It is on matrix level right now. In this case rendering will not trigger state changes. |
|||
|
survey-creator | Enhancement | Logic tab: Filter unavailable items in dropdown menus |
|
|||
|
survey-creator | Bug | Panel / Panel dymanic + startWithNewLine selection styles issue |
|
|||
|
survey-creator | Bug | Hidden Question Issue |
Hidden questions have to be activated during the answering. |
|||
|
survey-creator | Bug | Question panel on the popup have no border. |
|
|||
|
survey-creator | Enhancement | V2: Property Editor "Question" should support creator.onGetObjectDisplayName event |
There is no way to change the display text in the dropdown property editor on choosing a question from the question list. For example for "gotoName" property in the skip trigger. We should add a new reason: "property-editor" for this case. |
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Matrixdropdown: Fix default minimum column width |
The default placeholder text should be fully visible.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
goNextPageAutomatic property set to autogonext not working |
It doesn't work when the property is setup in JSON. It works if you setup the value in code. Here is the example
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Share data between questions example for valuePropertyName fails under Angular, jQuery and Knockout |
Bug
Using the Share data between questions example on the SurveyJS website with Angular, jQuery or Knockout, clicking once on an unselected checkbox item on Page 2 (What car do you own?) does not check it (kinda need 2 or 3 clicks) and even when checked, the selected item is not displayed in the title of the subsequent question (Please describe your car), specifically "templateTitle": "Car: " does not work.
React and Vue doe not exhibit this issue.
Clicking the checkbox item checks it and that item name displayed in the title of the panel.
Using the provided SurveyJS example, Page 2 using Angular, jQuery or Knockout.
Tested page URL: https://surveyjs.io/Examples/Library?id=survey-shareddata
https://user-images.githubusercontent.com/18456/182078321-815ce5e1-8993-4dc4-9dc4-d89c80dc50d2.mov
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
showQuestionNumbers property doesnt' work correctly in dynamic panel |
On adding/deleting panels in dynamic panel question if "showQuestionNumbers" property set to "onPanel" or "onSurvey" then it doesnt' work correctly.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
React warning when using requiredIf on element in matrix and visibleIf/enableIf in columns |
We should move code on generating cell question class names inside the cell. It is on matrix level right now. In this case rendering will not trigger state changes.
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Logic tab: Filter unavailable items in dropdown menus |
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Panel / Panel dymanic + startWithNewLine selection styles issue |
{
"logoPosition": "right",
"pages": [
{
"name": "page1",
"elements": [
{
"type": "paneldynamic",
"name": "paneldynamic1",
"templateElements": [
{
"type": "text",
"name": "text1"
},
{
"type": "text",
"name": "text2",
"startWithNewLine": false
}
]
}
]
}
]
}
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Hidden Question Issue |
Hidden questions have to be activated during the answering.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Question panel on the popup have no border. |
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
V2: Property Editor "Question" should support creator.onGetObjectDisplayName event |
There is no way to change the display text in the dropdown property editor on choosing a question from the question list. For example for "gotoName" property in the skip trigger. We should add a new reason: "property-editor" for this case.
Product | Type | Description | |
---|---|---|---|
|
survey-library | Enhancement | Hide "Next" button and show "Complete" if a complete trigger is going to be executed |
When a user choose a question value that will trigger a complete trigger then "Next" button should be hidden and "Complete" button should be shown. Here is the JSON example:
When a user choose "item1" for the first question then "Complete" button should be shown instead of "Next" button. When the value is cleared or another value is choosen then "Complete" button should be hidden and "Next" button should be shown. |
|||
|
survey-creator | Bug | Safari Add hovers to toolbar buttons |
|
|||
|
survey-creator | Bug | V2: visibleIf/enableIf for itemvalue (choices, row) doesn't have context in condition editor |
If you are editing "visibleIf" property for a column choices then condition editor doesn't show "row.columnName" in question selector. For example the following visibleIf properties could not set in Creator:
|
|||
|
survey-pdf | Bug | Html doesn't render in image mode in Firefox |
You can see following tickets for detailed info: |
|||
|
survey-pdf | Bug | Table with colspan attribute doesn't render in standard mode |
For detailed information see this ticket and this in the support center |
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Hide "Next" button and show "Complete" if a complete trigger is going to be executed |
When a user choose a question value that will trigger a complete trigger then "Next" button should be hidden and "Complete" button should be shown. Here is the JSON example:
{
"pages": [
{
"name": "page1",
"elements": [
{
"type": "radiogroup",
"name": "question1",
"choices": [
"item1",
"item2",
"item3"
]
}
]
},
{
"name": "page2",
"elements": [
{
"type": "text",
"name": "question2"
}
]
}
],
"triggers": [
{
"type": "complete",
"expression": "{question1} = 'item1'"
}
]
}
When a user choose "item1" for the first question then "Complete" button should be shown instead of "Next" button. When the value is cleared or another value is choosen then "Complete" button should be hidden and "Next" button should be shown.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Safari Add hovers to toolbar buttons |
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
V2: visibleIf/enableIf for itemvalue (choices, row) doesn't have context in condition editor |
If you are editing "visibleIf" property for a column choices then condition editor doesn't show "row.columnName" in question selector. For example the following visibleIf properties could not set in Creator:
{
"type": "matrixdynamic",
"name": "question2",
"columns": [
{
"name": "Medium",
"cellType": "dropdown",
"choices": [
"Road",
"Water",
"Air",
"Rail"
]
},
{
"name": "Mode",
"cellType": "dropdown",
"choices": [
{
"value": "average_lorry",
"visibleIf": "{row.Medium} = 'Road'"
},
{
"value": "small_lorry",
"visibleIf": "{row.Medium} = 'Road'"
},
{
"value": "overseas_container_ship",
"visibleIf": "{row.Medium} = 'Water'"
},
{
"value": "inland_waterways_barge",
"visibleIf": "{row.Medium} = 'Water'"
},
{
"value": "short_haul_flight",
"visibleIf": "{row.Medium} = 'Air'"
},
{
"value": "long_haul_flight",
"visibleIf": "{row.Medium} = 'Air'"
},
{
"value": "average_freight_train",
"visibleIf": "{row.Medium} = 'Rail'"
},
{
"value": "electric_freight_train",
"visibleIf": "{row.Medium} = 'Rail'"
}
]
}
]
}
Product |
|
---|---|
survey-pdf | |
Type | |
Bug | |
Description | |
Html doesn't render in image mode in Firefox |
You can see following tickets for detailed info:
Product |
|
---|---|
survey-pdf | |
Type | |
Bug | |
Description | |
Table with colspan attribute doesn't render in standard mode |
For detailed information see this ticket and this in the support center
Product | Type | Description | |
---|---|---|---|
|
survey-library | Bug | Dropdown: If the element's text is very long, the popup will go beyond the visible area. |
|
|||
|
survey-library | Bug | Support old JSON when column has choices but doesn't have cellType set |
The following JSON is incorrect:
It should have cellType set. However, this JSON works in previous versions. To support it, we should set cellType on JSON loading. |
|||
|
survey-library | Bug | Dropdown: set popup z-index to 1500 |
|
survey-library | Enhancement | A11Y aria allowed attr issue |
|
survey-creator | Enhancement | Preview tab issues |
|
|||
|
survey-creator | Bug | V2: The ghost page is not created after moving a question from existing page into a ghost page |
Steps to reproduce:
|
|||
|
survey-creator | Bug | V2: Adding a question to an empty survey from the toolbox does not use the `translations.ed.newPageName` property |
Are you requesting a feature, reporting a bug or ask a question?Reporting a bug What is the current behavior?When you add a question to an empty survey form the toolbox. It will auto-create the first page with the name "page1" even if you set the translations property. Adding via drag drop of toolbox, or the ghost page button works as expected. What is the expected behavior?The toolbox should name pages using the translations property How would you reproduce the current behavior (if this is a bug)?
Specify your
|
|||
|
survey-creator | Bug | Type Converter does not work on hover |
|
|||
|
survey-creator | Bug | onModified event not firing after json property is set to empty |
To reproduce: Add a question and on the console you will see a "modified" string signifying that the event was triggered. After this, change the Survey Title and you'll see that the event does not get fired. https://surveyjs.answerdesk.io/ticket/details/t10050/survey-creator-issues https://surveyjs.answerdesk.io/ticket/details/t10042/onmodified-doesn-t-get-triggered-when-survey-title-is-changed-after-adding-a-question |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Dropdown: If the element's text is very long, the popup will go beyond the visible area. |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Support old JSON when column has choices but doesn't have cellType set |
The following JSON is incorrect:
{
type: "matrixdynamic",
name: "q1",
rowCount: 1,
columns: [
{
name: "col1",
choices: ["a", "b", "c", "d"]
}
]
}
It should have cellType set. However, this JSON works in previous versions. To support it, we should set cellType on JSON loading.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Dropdown: set popup z-index to 1500 |
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
A11Y aria allowed attr issue |
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Preview tab issues |
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
V2: The ghost page is not created after moving a question from existing page into a ghost page |
Steps to reproduce:
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
V2: Adding a question to an empty survey from the toolbox does not use the `translations.ed.newPageName` property |
Reporting a bug
When you add a question to an empty survey form the toolbox. It will auto-create the first page with the name "page1" even if you set the translations property.
Adding via drag drop of toolbox, or the ghost page button works as expected.
The toolbox should name pages using the translations property
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Type Converter does not work on hover |
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
onModified event not firing after json property is set to empty |
const creatorOptions = {};
const creator = new SurveyCreator(creatorOptions);
creator.JSON = {};
creator.onModified.add((sender, options) => {
console.log('IS MODIFIED')
});
To reproduce: Add a question and on the console you will see a "modified" string signifying that the event was triggered. After this, change the Survey Title and you'll see that the event does not get fired.
https://surveyjs.answerdesk.io/ticket/details/t10050/survey-creator-issues https://surveyjs.answerdesk.io/ticket/details/t10042/onmodified-doesn-t-get-triggered-when-survey-title-is-changed-after-adding-a-question
Product | Type | Description | |
---|---|---|---|
|
survey-library | Enhancement | Remove constant array duplication on defining inputTypes and dataList |
There are several duplication in constant arrays on defining properties "dataList" and "inputType". |
|||
|
survey-library | Bug | Dropdown question: clear question value using keyboard. |
|
|||
|
survey-library | Bug | Do not set min bigger than max and max less than min for text question for input types: month, week and time |
We do not have restrictions for min and max for input types: month, week and time. |
|||
|
survey-library | Bug | required text is not updated for matrix column when column requriedIf returns true |
For the following json, second and third columns do not show "*" required text even when "a" equals 5 and column1 for all rows equals to 2.
|
|||
|
survey-library | Enhancement | Support underline symbol in string constant wihout brackets in expressions |
The correct string constant should be in brackets in our expressions: |
|||
|
survey-library | Enhancement | Keep question and column title if it was set directly and equals to name |
Currently, on seting question and column title equals to name, we clear the title property. By default, the empty title is rendered as name. However, it is not a good UI. An end-user enters the title in Creator and then it disappeared. We should keep title value if it was set directly even if it equals to name. |
|||
|
survey-library | Bug | Rating as a drop down list throws an exception when clicked |
_this.question.onClick is not a function at SurveyQuestionDropdownBase._this.click (dropdown-base.ts |
|||
|
survey-library | Bug | Do not generate JSON de-serialization required error if property has a default value |
If we have the following new property:
Then Survey de-serializer starts to generates error if a question doesn't have a tag property in JSON. However, there is a default value for the property. |
|||
|
survey-creator | Enhancement | Too big padding in toolbar |
|
|||
|
survey-creator | Enhancement | The default property grid groups should be collapsed when we start working |
|
survey-creator | Bug | Logic tab: Texts overflow the controls when showTitlesInExpressions is enabled |
|
survey-creator | Bug | `allowModifyPages: false` doesn't work |
This property shouldn't allow users to add, delete, or edit survey pages. However, it doesn't seem to apply. |
|||
|
survey-creator | Enhancement | Create an example on onGetElementWrapperComponentName and onGetElementWrapperComponentData events |
|
|||
|
survey-creator | Bug | The column editor has incorrect styles. |
|
survey-creator | Enhancement | Add "defaultV2" theme into embedded tab |
Add defaultV2 theme and make it default in embedded tab. |
|||
|
survey-creator | Bug | V1: check unique for calculated values and matrix column names as case insensitive |
Right now you can add two calculated values as "var1" and "Var1". It can lead to issues. We should not allow it. |
|||
|
survey-creator | Bug | ISurveyCreator interface missed questionTypes and pageEditMode properties |
Are you requesting a feature, reporting a bug or ask a question?Reporting an issue with TypeScript models. What is the current behavior?When creating an instance of SurveyCreator, the interface ICreatorOptions doesn't offer all options. If the options are added and we ignore the errors, the code works as expected. So the code/functionality is there, but the models are missing properties. What is the expected behavior?The TypeScript models show the real functionality. Also the Test code
Specify your
|
|||
|
survey-creator | Enhancement | Allow to modify text in logic tab view |
Add
|
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Remove constant array duplication on defining inputTypes and dataList |
There are several duplication in constant arrays on defining properties "dataList" and "inputType".
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Dropdown question: clear question value using keyboard. |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Do not set min bigger than max and max less than min for text question for input types: month, week and time |
We do not have restrictions for min and max for input types: month, week and time.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
required text is not updated for matrix column when column requriedIf returns true |
For the following json, second and third columns do not show "*" required text even when "a" equals 5 and column1 for all rows equals to 2.
{
type: "matrixdynamic",
name: "matrix",
rowCount: 2,
columns: [
{ name: "column1", isRequired: true },
{ name: "column2", requiredIf: "{a} = 5" },
{ name: "column3", requiredIf: "{row.column1} = 2" }
]
}
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Support underline symbol in string constant wihout brackets in expressions |
The correct string constant should be in brackets in our expressions: {question1} = "item1"
or {question1} = 'item1'
.
Some people use it without brackets: {question1} = item1
.
However if there is an underline, it doesn't work {question1} = item_1
is invalid, it should be {question1} = "item_1"
.
We can support {question1} = item_1
as well.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Keep question and column title if it was set directly and equals to name |
Currently, on seting question and column title equals to name, we clear the title property. By default, the empty title is rendered as name. However, it is not a good UI. An end-user enters the title in Creator and then it disappeared. We should keep title value if it was set directly even if it equals to name.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Rating as a drop down list throws an exception when clicked |
_this.question.onClick is not a function at SurveyQuestionDropdownBase._this.click (dropdown-base.ts
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Do not generate JSON de-serialization required error if property has a default value |
If we have the following new property:
Survey.Serializer.addProperty("question", {
name: "tag:number",
default: 0,
category: "general",
isRequired: true
});
Then Survey de-serializer starts to generates error if a question doesn't have a tag property in JSON. However, there is a default value for the property.
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Too big padding in toolbar |
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
The default property grid groups should be collapsed when we start working |
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Logic tab: Texts overflow the controls when showTitlesInExpressions is enabled |
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
`allowModifyPages: false` doesn't work |
This property shouldn't allow users to add, delete, or edit survey pages. However, it doesn't seem to apply.
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Create an example on onGetElementWrapperComponentName and onGetElementWrapperComponentData events |
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
The column editor has incorrect styles. |
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Add "defaultV2" theme into embedded tab |
Add defaultV2 theme and make it default in embedded tab.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
V1: check unique for calculated values and matrix column names as case insensitive |
Right now you can add two calculated values as "var1" and "Var1". It can lead to issues. We should not allow it.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
ISurveyCreator interface missed questionTypes and pageEditMode properties |
Reporting an issue with TypeScript models.
When creating an instance of SurveyCreator, the interface ICreatorOptions doesn't offer all options. If the options are added and we ignore the errors, the code works as expected. So the code/functionality is there, but the models are missing properties.
The TypeScript models show the real functionality.
Also the questionTypes
are missing in the documentation of SurveyCreator and also ICreatorOptions
https://surveyjs.io/Documentation/Survey-Creator?id=surveycreator
https://surveyjs.io/Documentation/Survey-Creator?id=ICreatorOptions
import { SurveyCreator } from 'survey-creator-knockout';
new SurveyCreator({
questionTypes: ['text'],
pageEditMode: 'single',
});
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Allow to modify text in logic tab view |
Add creator.onLogicItemDisplayText
to allow changing the text in logic tab view.
The following code shows only expression and do not show the list of actions:
creator.onLogicItemDisplayText.add((sender, options) => {
let text = options.expressionText;
text = text.replace(new RegExp("({|})", "gm"), "'");
options.text = text;
});
/**
* Use this event to modify the display text in a logic viewer.
*- sender the survey creator object that fires the event.
*- options.expression the item expression.
*- options.expressionText expression as display text. It can show question title instead of question name
*- options.logicItem the link to the Logic Item object. It has the array of actions and other properties
*- options.text the string property that you can change
*/
public onLogicItemDisplayText
Product | Type | Description | |
---|---|---|---|
|
survey-library | Enhancement | Move all project from nodejs 14 to latest stable |
For now our projects required node 14 we need to support npm run build on latest stable nodejs (16) how to reproduced: install latest stable nodejs. go to the library. npm run build_prod |
|||
|
survey-library | Enhancement | column templateQuestion has undefined parentQuestion |
We need parentQuestion to be set to matrix instance for templateQuestion in a column. It is needed for Creator V2 functionality to find out matrix for template question. |
|||
|
survey-library | Bug | Preview shows value instead of text for dropdown choices, which were added programmatically and are inside a dynamic panel |
Steps to reproduce:
Here is a plunker with an example (select "Four" from the dropdown and click "Preview"): https://plnkr.co/edit/5mlxgFcNEdrGiJlw
Code:
|
|||
|
survey-library | Enhancement | Introduce onSettingValue function into JsonProperty to validate property value |
There is no mechanism to check property value before it is inserted into UI. This functionality is requried for creating better UI behavior in Creator V2.
Here is the declaration for
|
|||
|
survey-library | Enhancement | Introduce an interface for ComponentCollection add method argument |
|
|||
|
survey-library | Bug | Custom question loose it's value on setting survey into single page mode in the code |
The following code doesnt' work correcty
|
|||
|
survey-library | Bug | Text question: Do not allow to set min property bigger than max and max property less than min |
Right now, we allow to set min property bigger than max and max property less than min. We have to fix it. |
|||
|
survey-creator | Bug | Toolbox - mouse pointer changes to text selector on hover in Safari |
|
|||
|
survey-creator | Bug | Survey creator rateMax and rateMin can overlap |
Are you requesting a feature, reporting a bug or ask a question?Reporting a Bug What is the current behavior?If you set your rate min to 3, rate max to 4. You can then change rate max to 3, then to 2, then to 1 etc. None of these changes are applied to the JSON and the change should just be ignored? What is the expected behavior?Ignore invalid property changes. Ideally with an error. How would you reproduce the current behavior (if this is a bug)?Go to https://plnkr.co/edit/eci8DQOj916e9Mws Select Question 1 Open properties grid Rate values Change Max Rate from 4 to -1. Anything below the rate min is not applied and the survey-creator UI should reflect this. Provide the test code and the tested page URL (if applicable)Tested page URL: https://plnkr.co/edit/eci8DQOj916e9Mws Test code
Specify your
|
|||
|
survey-creator | Bug | Unnecessary scroll appears when the Survey Creator is configured to occupy full screen |
Body margin is 0. You can reproduce the issue in this project. |
|||
|
survey-creator | Bug | Question can be removed on converting it to another type |
If the question is located on the last page and it is the only question, the question is removed completely. The problem is related to functionality, when we remove a last page if there is no question on it. During convertion,we remove a question first and then insert a new one. However, after removing the last page is removed as well and a new question is added into removed question. |
|||
|
survey-creator | Enhancement | Allow to set text into Creator and generate survey if errors are not critical |
If we can create a survey from JSON stored as a text, but there are some errors, show the designer with generated survey instead of JSON Editor. For example, consider there is a following JSON:
It has two errors: There is not element type: "text_jfeskjf" and the second column has choices, but there is no cell type and choices will be ignored. However, we still can create this survey and show two questions. |
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Move all project from nodejs 14 to latest stable |
For now our projects required node 14 we need to support npm run build on latest stable nodejs (16)
how to reproduced: install latest stable nodejs. go to the library. npm run build_prod
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
column templateQuestion has undefined parentQuestion |
We need parentQuestion to be set to matrix instance for templateQuestion in a column. It is needed for Creator V2 functionality to find out matrix for template question.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Preview shows value instead of text for dropdown choices, which were added programmatically and are inside a dynamic panel |
Steps to reproduce:
Here is a plunker with an example (select "Four" from the dropdown and click "Preview"): https://plnkr.co/edit/5mlxgFcNEdrGiJlw
Code:
Survey.StylesManager.applyTheme("defaultV2");
var json = {
"elements": [
{
"type": "paneldynamic",
"name": "panelDynamic",
"templateElements": [
{
"type": "dropdown",
"name": "question1",
"choices": [
{
"value": "1",
"text": "One"
},
{
"value": "2",
"text": "Two"
},
{
"value": "3",
"text": "Three"
}
]
}
]
}
]
};
window.survey = new Survey.Model(json);
window.survey.onDynamicPanelAdded.add(function (survey, options) {
options.panel.getQuestionByName("question1")
.choices
.push(new Survey.ItemValue('4', 'Four')
);
});
survey.onComplete.add(function (sender) {
document.querySelector('#surveyResult').textContent = "Result JSON:\n" + JSON.stringify(sender.data, null, 3);
});
survey.showPreviewBeforeComplete = 'showAnsweredQuestions';
ReactDOM.render (<SurveyReact.Survey model={survey}/>, document.getElementById("surveyElement"));
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Introduce onSettingValue function into JsonProperty to validate property value |
There is no mechanism to check property value before it is inserted into UI. This functionality is requried for creating better UI behavior in Creator V2.
Here is the declaration for rateMax
property in ranting question.
public set rateMin(val: number) {
//Call this function instead of setPropertyValue
this.checkAndSetPropertyValue("rateMin", val);
}
{ name: "rateMax:number", default: 5,
onSettingValue: (obj: any, val: any): any => {
return val < obj.rateMin + obj.rateStep ? obj.rateMin + obj.rateStep: val;
}
}
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Introduce an interface for ComponentCollection add method argument |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Custom question loose it's value on setting survey into single page mode in the code |
The following code doesnt' work correcty
const json = {
name: "newquestion",
questionJSON: { type: "dropdown", choices: [1, 2, 3, 4, 5] },
};
ComponentCollection.Instance.add(json);
const survey = new SurveyModel({
elements: [{ type: "newquestion", name: "q1" }],
});
survey.data = { q1: 3 };
survey.questionsOnPageMode = "singlePage";
///Here survey.data is empty
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Text question: Do not allow to set min property bigger than max and max property less than min |
Right now, we allow to set min property bigger than max and max property less than min. We have to fix it.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Toolbox - mouse pointer changes to text selector on hover in Safari |
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Survey creator rateMax and rateMin can overlap |
Reporting a Bug
If you set your rate min to 3, rate max to 4. You can then change rate max to 3, then to 2, then to 1 etc. None of these changes are applied to the JSON and the change should just be ignored?
Ignore invalid property changes. Ideally with an error.
Go to https://plnkr.co/edit/eci8DQOj916e9Mws Select Question 1 Open properties grid Rate values Change Max Rate from 4 to -1. Anything below the rate min is not applied and the survey-creator UI should reflect this.
Tested page URL: https://plnkr.co/edit/eci8DQOj916e9Mws
Test code
your_code_here
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Unnecessary scroll appears when the Survey Creator is configured to occupy full screen |
Body margin is 0. You can reproduce the issue in this project.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Question can be removed on converting it to another type |
If the question is located on the last page and it is the only question, the question is removed completely. The problem is related to functionality, when we remove a last page if there is no question on it. During convertion,we remove a question first and then insert a new one. However, after removing the last page is removed as well and a new question is added into removed question.
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Allow to set text into Creator and generate survey if errors are not critical |
If we can create a survey from JSON stored as a text, but there are some errors, show the designer with generated survey instead of JSON Editor. For example, consider there is a following JSON:
{
elements: [
{ type: "text", name: "question1" },
{ type: "text_jfeskjf", name: "question2" },
]
{ type: "matrixdynamic",
name: "question3",
columns: [
{ name: "col1", cellType: "dropdown", choices: [1, 2, 3] },
{ name: "col2", choices: [1, 2, 3] }
]
},
}
It has two errors: There is not element type: "text_jfeskjf" and the second column has choices, but there is no cell type and choices will be ignored. However, we still can create this survey and show two questions.
Product | Type | Description | |
---|---|---|---|
|
survey-library | Bug | Column with default cellType can be serilized incorrectly |
Create a matrix dynamic, then set it's cellType (default cell type of all columns) to "rating", after that set the "cellType" property to "rating" and "rateMax" to 10. Then change the "cellType" to "default". We will have "rateMax" equals to 10 in the serialized JSON, while we should not have it, since the cellType property is "default" and not "rating". |
|||
|
survey-library | Bug | column isUnique property doesn't respect settings.comparator.caseSensitive option |
Two values in in unique column are not equal: "abc" and "ABC" however |
|||
|
survey-creator | Bug | V2: enableIf in Rows for matrix dropdown question are in others category |
enableIf should be display the same as the visibleIf |
|||
|
survey-creator | Bug | Changing question name for matrices doesn't update logic items correctly |
Changing question name doesn't work for complex questions, for example for matrix dropdown. Here the exampel of visibleIf property: "{question1.Row 1.column 2} = "item1". On changing question1 the visibleIf property remains the same. |
|||
|
survey-creator | Bug | React SurveyLocStringEditor cached it's model |
SurveyLocStringEditor should re-create model on componentDidUpdate |
|||
|
survey-creator | Bug | Theme selector in Preview/Test tab doesn't support changing creator locale |
On changing creator locale in run-time, the theme selector doesn't change it's titles in it's items. |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Column with default cellType can be serilized incorrectly |
Create a matrix dynamic, then set it's cellType (default cell type of all columns) to "rating", after that set the "cellType" property to "rating" and "rateMax" to 10. Then change the "cellType" to "default". We will have "rateMax" equals to 10 in the serialized JSON, while we should not have it, since the cellType property is "default" and not "rating".
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
column isUnique property doesn't respect settings.comparator.caseSensitive option |
Two values in in unique column are not equal: "abc" and "ABC" however settings.comparator.caseSensitive
is false (default value). It should allow to enter "abc" and "ABC" values if column is empty.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
V2: enableIf in Rows for matrix dropdown question are in others category |
enableIf should be display the same as the visibleIf
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Changing question name for matrices doesn't update logic items correctly |
Changing question name doesn't work for complex questions, for example for matrix dropdown. Here the exampel of visibleIf property: "{question1.Row 1.column 2} = "item1". On changing question1 the visibleIf property remains the same.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
React SurveyLocStringEditor cached it's model |
SurveyLocStringEditor should re-create model on componentDidUpdate
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Theme selector in Preview/Test tab doesn't support changing creator locale |
On changing creator locale in run-time, the theme selector doesn't change it's titles in it's items.
Product | Type | Description | |
---|---|---|---|
|
survey-library | Bug | Ignore Choices property for matrix column when column type is Default |
|
|||
|
survey-library | Enhancement | Fix disabled selected color for rating |
|
|||
|
survey-library | Bug | If "first page is a start page" and there is only one page survey is empty |
Survey becomes empty if there is only one page and this page is started. We should not apply "first page is a start page" functionality if there is only one page. |
|||
|
survey-creator | Enhancement | Remove empty page after deleting all questions |
(if no title and description of page entered)
|
|||
|
survey-creator | Enhancement | Select string editor text when it is focused by Tab key |
|
|||
|
survey-creator | Bug | V2 for knockout: Could not change "and" on "or" in logic tab or in condition editor |
Popup list box with "and" and "or" is not show in Creator for knockout. You can check it on our website. |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Ignore Choices property for matrix column when column type is Default |
"columns": [
{
"name": "Score",
"minWidth": "500px",
"choices": [
1,
2,
3,
4,
5,
"I haven't used it before"
],
"storeOthersAsComment": true
}
],
"choices": [
"I haven't used it",
"Very satisfied",
"Satisfied",
"Neutral",
"Dissatisfied",
"Very dissatisfied"
],
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Fix disabled selected color for rating |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
If "first page is a start page" and there is only one page survey is empty |
Survey becomes empty if there is only one page and this page is started. We should not apply "first page is a start page" functionality if there is only one page.
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Remove empty page after deleting all questions |
(if no title and description of page entered)
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Select string editor text when it is focused by Tab key |
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
V2 for knockout: Could not change "and" on "or" in logic tab or in condition editor |
Popup list box with "and" and "or" is not show in Creator for knockout. You can check it on our website.
Product | Type | Description | |
---|---|---|---|
|
survey-library | Bug | dropdown: others text is not reactive in React and Vue |
|
|||
|
survey-library | Bug | Replace substr vs substring function in the code |
substr is deprecated and we should to replace it vs substring. |
|||
|
survey-library | Bug | Changing binding in panel / matrix dynamic doesn't fire survey.onPropertyValueChangedCallback |
On changing bindings in Creator V2 property grid survey onPropertyValueChangedCallback is not fired as result Creator is not go into modified mode and the change can be lost. |
|||
|
survey-library | Bug | Implement errorLocationBottom in defaultV2 theme |
|
|||
|
survey-library | Bug | Triggers: enable question and skip to the question do not work at once. |
Are you requesting a feature, reporting a bug or asking a question? Bug What is the current behavior? Triggers. There's a radiobutton question (question1) with 3 items and question13 (default text input. It is disabled initially). There is a condition: == 'item2') or ( == 'item3' => Make question enable Survey skip to the question When I clicked 'item2' for the first time, It did not skip me to question13, but it becomes enabled, but when I click 'item3', it skips me to question13, because it is already enabled. The main issue is that currently this setup of triggers (enable + skip) does not work. What is the expected behavior? After clicking 'item2' or 'item3', it should enable question13 and skip me to question13 at once. How would you reproduce the current behavior (if this is a bug)?
Provide the test code and the tested page URL (if applicable) Tested page URL: https://plnkr.co/edit/NX7E6BxCVkVs9gAV Test code var json = { "title": "SimultaneousEnableAndSkip", "pages": [ { "name": "page1", "elements": [ { "type": "radiogroup", "name": "question1", "id": 2759, "choices": [ { "value": "item1", "id": 38117 }, { "value": "item2", "id": 38118 }, { "value": "item3", "id": 38119 } ] }, { "type": "text", "name": "question2", "id": 2760 }, { "type": "text", "name": "question3", "id": 2761 }, { "type": "text", "name": "question4", "id": 2762 }, { "type": "text", "name": "question5", "id": 2763 }, { "type": "text", "name": "question6", "id": 2764 }, { "type": "text", "name": "question7", "id": 2765 }, { "type": "text", "name": "question8", "id": 2766 }, { "type": "text", "name": "question9", "id": 2767 }, { "type": "text", "name": "question10", "id": 2768 }, { "type": "text", "name": "question11", "id": 2769 }, { "type": "text", "name": "question12", "id": 2770 }, { "type": "text", "name": "question13", "enableIf": " = 'item2' or = 'item3'", "readOnly": true, "id": 2771 } ], "navigationButtonsVisibility": "show", "id": 358 } ], "triggers": [ { "type": "skip", "expression": " = 'item1'", "gotoName": "question2" }, { "type": "skip", "expression": " = 'item2' or = 'item3'", "gotoName": "question13" } ], "name": "SimultaneousEnableAndSkip", "id": 164 }; Specify your browser: Chrome 102 browser version: 102 surveyjs platform (angular or react or jquery or knockout or vue): React surveyjs version: v1.9.26 AND v1.9.35 |
|||
|
survey-library | Bug | Incorrect error text for min property if it is equal to 0 |
If text question has min property equals to 0 then the error can be show as: "The value should not be less than {0}" instead of "The value should not be less than 0" |
|||
|
survey-creator | Bug | direction RTL not supported |
Is it possible to support the direction of the page from right to left?Example: |
|||
|
survey-creator | Bug | Replace deprecated substr vs substring function in the code |
We have to stop using substr function |
|||
|
survey-creator | Bug | Depended property doesn't work in calculated value object |
The following code will not work, because we do update depended properties editors in detail panel in our matrices. We use matrices to edit collection properties, like calcualted values.
|
|||
|
survey-creator | Enhancement | Add a property into settings to define the export translation file name |
Add a new property into translation section of the settings variable:
|
|||
|
survey-creator | Enhancement | Add creator.onTranslationImportItem event |
We need an event to control importing localization strings into translation tab / survey model
Here is the example to allow edit only default, en, de and fr translation:
|
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
dropdown: others text is not reactive in React and Vue |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Replace substr vs substring function in the code |
substr is deprecated and we should to replace it vs substring.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Changing binding in panel / matrix dynamic doesn't fire survey.onPropertyValueChangedCallback |
On changing bindings in Creator V2 property grid survey onPropertyValueChangedCallback is not fired as result Creator is not go into modified mode and the change can be lost.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Implement errorLocationBottom in defaultV2 theme |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Triggers: enable question and skip to the question do not work at once. |
Are you requesting a feature, reporting a bug or asking a question? Bug
What is the current behavior? Triggers. There's a radiobutton question (question1) with 3 items and question13 (default text input. It is disabled initially). There is a condition:
== 'item2') or ( == 'item3' => Make question enable Survey skip to the question
When I clicked 'item2' for the first time, It did not skip me to question13, but it becomes enabled, but when I click 'item3', it skips me to question13, because it is already enabled.
The main issue is that currently this setup of triggers (enable + skip) does not work.
What is the expected behavior? After clicking 'item2' or 'item3', it should enable question13 and skip me to question13 at once.
How would you reproduce the current behavior (if this is a bug)?
Provide the test code and the tested page URL (if applicable) Tested page URL: https://plnkr.co/edit/NX7E6BxCVkVs9gAV
Test code
var json = { "title": "SimultaneousEnableAndSkip", "pages": [ { "name": "page1", "elements": [ { "type": "radiogroup", "name": "question1", "id": 2759, "choices": [ { "value": "item1", "id": 38117 }, { "value": "item2", "id": 38118 }, { "value": "item3", "id": 38119 } ] }, { "type": "text", "name": "question2", "id": 2760 }, { "type": "text", "name": "question3", "id": 2761 }, { "type": "text", "name": "question4", "id": 2762 }, { "type": "text", "name": "question5", "id": 2763 }, { "type": "text", "name": "question6", "id": 2764 }, { "type": "text", "name": "question7", "id": 2765 }, { "type": "text", "name": "question8", "id": 2766 }, { "type": "text", "name": "question9", "id": 2767 }, { "type": "text", "name": "question10", "id": 2768 }, { "type": "text", "name": "question11", "id": 2769 }, { "type": "text", "name": "question12", "id": 2770 }, { "type": "text", "name": "question13", "enableIf": " = 'item2' or = 'item3'", "readOnly": true, "id": 2771 } ], "navigationButtonsVisibility": "show", "id": 358 } ], "triggers": [ { "type": "skip", "expression": " = 'item1'", "gotoName": "question2" }, { "type": "skip", "expression": " = 'item2' or = 'item3'", "gotoName": "question13" } ], "name": "SimultaneousEnableAndSkip", "id": 164 };
Specify your browser: Chrome 102 browser version: 102 surveyjs platform (angular or react or jquery or knockout or vue): React surveyjs version: v1.9.26 AND v1.9.35
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Incorrect error text for min property if it is equal to 0 |
If text question has min property equals to 0 then the error can be show as: "The value should not be less than {0}" instead of "The value should not be less than 0"
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
direction RTL not supported |
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Replace deprecated substr vs substring function in the code |
We have to stop using substr function
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Depended property doesn't work in calculated value object |
The following code will not work, because we do update depended properties editors in detail panel in our matrices. We use matrices to edit collection properties, like calcualted values.
Survey.Serializer.addProperty("calculatedvalue", "targetEntity");
Survey.Serializer.addProperty("calculatedvalue", {
name: "targetField",
dependsOn: "targetEntity",
choices: function (obj) {
return getChoicesByEntity(obj);
}
});
function getChoicesByEntity(obj: any): Array<any> {
const entity = !!obj ? obj["targetEntity"] : null;
const choices = [];
if (!entity) return choices;
choices.push({ value: "entity" });
choices.push({ value: entity + " 1", text: entity + " 1" });
choices.push({ value: entity + " 2", text: entity + " 2" });
return choices;
}
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Add a property into settings to define the export translation file name |
Add a new property into translation section of the settings variable:
exportFileName: "survey_translation.csv"
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Add creator.onTranslationImportItem event |
We need an event to control importing localization strings into translation tab / survey model
/**
* Use this event to modify the imported localizable text. To block importing a particular localization text, set the options.text into undefined.
*
* The event handler accepts the following arguments:
*
* - `sender` - A Survey Creator instance that raised the event.
* - `options.locale` - the locale name, like 'en', 'de' and so on.
* - `options.name` - The full name of the localizable string, it can be: "survey.page1.question2.title"
* - `options.text` - The imported text for the locale for this item. Set it to undefined or empty string to block importing for this item
*/
public onTranslationImportItem: Survey.Event<(sender: CreatorBase, options: any) => any, any>;
Here is the example to allow edit only default, en, de and fr translation:
creator.onTranslationImportItem.add((sender, options) => {
if(["default", "", "en", "de", "fr"].indexOf(options.locale) < 0) options.text = undefined;
});
Product | Type | Description | |
---|---|---|---|
|
survey-library | Bug | Check survey paddings |
white padding on body in mobile mode: - FIXED
|
|||
|
survey-library | Enhancement | radiogroup, checkbox example: others text setting is not reactive in Vue |
|
|||
|
survey-library | Enhancement | Allow to add array custom properties |
We have to add isArray attribute into property description to let Survey know that this property is an array and should deal with it as with array property. Here is the example:
|
|||
|
survey-library | Bug | Summary doesn't work corretly in matrices if there is visibleIf condition in column and survey.clearInvisibleValues is used |
The following survey doesn't work:
It works if remove "visibleIf" for a column or "clearInvisibleValues" property |
|||
|
survey-library | Enhancement | Optionally store checkbox value as array of objects with a property name |
It would be nice to share data between checkbox and panel dynamic / matrix dynamic. Currently, it is not possible because checkbox value is array of choice item value and panel/matrix dynamic is an array of objects: We can add "valuePropertyName" property, so by setting it to "fruit" the checkbox value can be stored intead of: ["banana", "apple"] as: [{ fruit: "banana" }, { fruit: "apple" }]. Additionally, we should allow to combine checkbox values with values entered in panel/matrix dynamic questions. Example of JSON:
|
|||
|
survey-library | Bug | Text pre-processing doesn't work for complex values set in survey.data |
The following code doesn't work:
Text pre-processing doesn't recognize "complex.value1" |
|||
|
survey-creator | Bug | V2: creator.onItemValueAdded is not fired on adding new item in designer surface |
creator.onItemValueAdded event is fired on adding a new choice in the Property Grid, but is not fired on adding a new choice in question on the designer surface. |
|||
|
survey-creator | Bug | Deleted object can be displayed in the property grid |
If a question immediately deleted after adding the a deleted object can be showin in the property grid:
|
|||
|
survey-creator | Enhancement | Allow to render custom title on Property Grid panel |
We can override display names for Property Grid Object select by using creator.onGetObjectDisplayName, with "options.reason" equals to "property-grid". However, it is impossible to have a custom selected property title, for example: "Survey Properties" or "Question1 Properties". It should be added an additional reason "property-grid-title".
|
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Check survey paddings |
white padding on body in mobile mode: - FIXED
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
radiogroup, checkbox example: others text setting is not reactive in Vue |
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Allow to add array custom properties |
We have to add isArray attribute into property description to let Survey know that this property is an array and should deal with it as with array property. Here is the example:
Survey.Serializer.addProperty('survey', {
name: 'customFunctions:calculatedvalues',
className: 'calculatedvalue', isArray: true,
displayName: "Custom Functions", category: "logic", visibleIndex: 0,
});
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Summary doesn't work corretly in matrices if there is visibleIf condition in column and survey.clearInvisibleValues is used |
The following survey doesn't work:
{
elements: [
{
type: "matrixdropdown",
name: "matrix",
columns: [
{
name: "col1",
cellType: "text",
totalType: "sum",
inputType: "number",
},
{
name: "col2",
cellType: "text",
totalType: "sum",
inputType: "number",
},
{
name: "col_sum",
cellType: "expression",
totalType: "sum",
expression: "{row.col1}+{row.col2}",
},
{
name: "col3",
cellType: "boolean",
visibleIf: "false",
},
],
rows: ["row1", "row2"],
},
],
clearInvisibleValues: "onHiddenContainer"
}
It works if remove "visibleIf" for a column or "clearInvisibleValues" property
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Optionally store checkbox value as array of objects with a property name |
It would be nice to share data between checkbox and panel dynamic / matrix dynamic. Currently, it is not possible because checkbox value is array of choice item value and panel/matrix dynamic is an array of objects: We can add "valuePropertyName" property, so by setting it to "fruit" the checkbox value can be stored intead of: ["banana", "apple"] as: [{ fruit: "banana" }, { fruit: "apple" }]. Additionally, we should allow to combine checkbox values with values entered in panel/matrix dynamic questions. Example of JSON:
{
elements: [
{
type: "checkbox",
name: "q1",
valueName: "fruits",
valuePropertyName: "fruit",
choices: ["apple", "banana", "orange"],
},
{
type: "paneldynamic",
name: "q2",
panelCount: 0,
valueName: "fruits",
templateElements: [
{
type: "comment",
name: "description"
}
]
}
]
}
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Text pre-processing doesn't work for complex values set in survey.data |
The following code doesn't work:
const survey = new SurveyModel({
elements: [
{
type: "text",
name: "q1",
title: "{complex.value1}",
}
]
});
survey.data = { complex: { value1: "complexText" } };
Text pre-processing doesn't recognize "complex.value1"
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
V2: creator.onItemValueAdded is not fired on adding new item in designer surface |
creator.onItemValueAdded event is fired on adding a new choice in the Property Grid, but is not fired on adding a new choice in question on the designer surface.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Deleted object can be displayed in the property grid |
If a question immediately deleted after adding the a deleted object can be showin in the property grid:
creator.onQuestionAdded.add((sender, options) => {
if (creator.survey.getAllQuestions().length > 1) {
options.question.delete();
}
});
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Allow to render custom title on Property Grid panel |
We can override display names for Property Grid Object select by using creator.onGetObjectDisplayName, with "options.reason" equals to "property-grid". However, it is impossible to have a custom selected property title, for example: "Survey Properties" or "Question1 Properties". It should be added an additional reason "property-grid-title".
creator.onGetObjectDisplayName.add(function (sender, options) {
if(options.reason === "property-grid-title") {
options.displayName = options.displayName + " Properties";
}
});
Product | Type | Description | |
---|---|---|---|
|
survey-library | Bug | Dropdown render as select: popup has narrow width |
|
|||
|
survey-library | Bug | Could not clear localization string for default locale for a particular scenario |
If JSON was created with "en" default locale and survey locale equals to "de" we can the following JSON:
We would expect val to be equal empty string. |
|||
|
survey-creator | Bug | V2: settings.propertyGrid.maximumChoicesCount doesn't work correctly in the property grid |
The following code:
choices property editor doesn't work correctly if this settng is used:
|
|||
|
survey-creator | Bug | V2: settings.propertyGrid.maximumChoicesCount doesn't work in question adorners |
A user can add as many choices as she wants in designer since designer ignores |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Dropdown render as select: popup has narrow width |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Could not clear localization string for default locale for a particular scenario |
If JSON was created with "en" default locale and survey locale equals to "de" we can the following JSON:
const survey = new Survey.SurveyModel({ title: { de: "Hallo" } });
After that if the default locale sets to "de":
Survey.surveyLocalization.defaultLocale = "de";
then the following code works incorrectly:
Survey.surveyLocalization.defaultLocale = "de";
const survey = new Survey.SurveyModel({ title: { de: "Hallo" } });
let val = survey.title; //val is Hallo
survey.title = "";
val = survey.title; //val is stil Hallo.
We would expect val to be equal empty string.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
V2: settings.propertyGrid.maximumChoicesCount doesn't work correctly in the property grid |
The following code:
choices property editor doesn't work correctly if this settng is used:
SurveyCreator.settings.propertyGrid.maximumChoicesCount = 5;
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
V2: settings.propertyGrid.maximumChoicesCount doesn't work in question adorners |
A user can add as many choices as she wants in designer since designer ignores SurveyCreator.settings.propertyGrid.maximumChoicesCount
property.
Product | Type | Description | |
---|---|---|---|
|
survey-library | Enhancement | Allow to find out which trigger is executed |
Add a new event into survey:
|
|||
|
survey-library | Bug | React: Matrix dropdown/dynamic can generate errors in react because of using state incorrectly |
Matrix dropdown/dynamic matrices questions can generate an error in react. The reason, the table view model can be built on react rendering and it's generates changings in state. It is incorrect. We should generate table view model on creating react component. |
|||
|
survey-library | Bug | React: Set targetElement on componentDidUpdate for Popup component |
We have to set targetElement property on componentDidUpdate after shouldComponentUpdate, because componentDidMount is not called in this case. |
|||
|
survey-library | Enhancement | Drag Drop: Mobile: disable the long tap |
based on the https://surveyjs.answerdesk.io/ticket/details/T9598
|
|||
|
survey-library | Enhancement | use local time by default in today() function |
Add a new property into settings to control today() function behavior, by using locale or UTC time.
Use the following code to let "today(): function work with UTC time:
|
|||
|
survey-creator | Bug | V2: creator options with showPropertyGrid: false generates error from v1.9.32 |
After re-factoring in v1.9.32 the following code is generated the error:
|
|||
|
survey-creator | Bug | V2: Adorners for React versions may keep old model |
We do not update internal models in some React Components on changing props. It can lead to incorrect behavior. |
|||
|
survey-creator | Bug | V2: Preview tab doesn't work correctly if there is a start page |
Preview tab hides start page and do not allow to show it. It should work with the start page as with any other pages in the Preview tab. |
|||
|
survey-creator | Bug | V2: creator options with showSidebar: true generates error from v1.9.32 |
After re-factoring in v1.9.32 the following code is generated the error:
|
|||
|
survey-creator | Bug | V2: Results component in Preview tab generates error |
Results rows in Preview Tab do not have unique key. |
|||
|
survey-creator | Bug | onTranslationStringVisibility doesn't work for itemvalues properties |
"creator.onTranslationStringVisibility" event is not fired for choices and other properties that has "itemvalues" property type. |
|||
|
survey-analytics | Enhancement | Add paddings to chart labels |
|
|||
|
survey-analytics | Enhancement | Split matrix dropdown and matrix dynamic into separate column in table visualizer |
For the multiple choice questions, the display should be same as single choice matrix questions with rows treated as a question and displayed in a separate column and the cell should contain the values from the columns separated by a comma. See the https://surveyjs.answerdesk.io/ticket/details/t9146/surveyjs-tabulator thread for more details |
|||
|
survey-analytics | Bug | Custom Visualizers example: Table view no longer works |
Result:
And the following error in the console: Uncaught ReferenceError: th is not defined |
|||
|
survey-analytics | Bug | Localized Analytics example: Issues with the dropdown and code |
|
|||
|
survey-analytics | Bug | Toolbar buttons shouldn't be divided in two |
"Hide empty answers" on the following image is a single button. |
|||
|
survey-analytics | Bug | "Show text question answers as chart" example: Bars are invisible |
|
survey-analytics | Bug | Reverse the default sort order for bars |
Now, the first answer in the |
|||
|
survey-analytics | Bug | Bar chart may leave out series points in some cases |
In this example, the question "How many software developers are in your organization?" displays only 2 bars, but if you switch to one of the other chart types, you will see that there are more answers. Bar:
Pie:
|
|||
|
survey-analytics | Bug | Table representation for matrix question - null reference if answer doesn't exist in result |
|
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Allow to find out which trigger is executed |
Add a new event into survey:
/**
* The event is fired after a trigger has been executed
* <br/> `sender` - the survey object that fires the event.
* <br/> `options.trigger` - An instance of a trigger that has been just perform it's action.
* @see onComplete
*/
public onTriggerExecuted: EventBase<SurveyModel> = this.addEvent<SurveyModel>();
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
React: Matrix dropdown/dynamic can generate errors in react because of using state incorrectly |
Matrix dropdown/dynamic matrices questions can generate an error in react. The reason, the table view model can be built on react rendering and it's generates changings in state. It is incorrect. We should generate table view model on creating react component.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
React: Set targetElement on componentDidUpdate for Popup component |
We have to set targetElement property on componentDidUpdate after shouldComponentUpdate, because componentDidMount is not called in this case.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Drag Drop: Mobile: disable the long tap |
based on the https://surveyjs.answerdesk.io/ticket/details/T9598
{
"type": "ranking",
"longTap": false,
}
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
use local time by default in today() function |
Add a new property into settings to control today() function behavior, by using locale or UTC time.
/**
* Set this value to false, if you want to have UTC fuctions, for example setUTCHours inside our functions, like today.
* By default it uses setHours function, with local date
*/
useLocalTimeZone: true
Use the following code to let "today(): function work with UTC time:
Survey.settings.useLocalTimeZone = false;
.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
V2: creator options with showPropertyGrid: false generates error from v1.9.32 |
After re-factoring in v1.9.32 the following code is generated the error:
const creator = new SurveyCreator.SurveyCreator({ showPropertyGrid: false });
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
V2: Adorners for React versions may keep old model |
We do not update internal models in some React Components on changing props. It can lead to incorrect behavior.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
V2: Preview tab doesn't work correctly if there is a start page |
Preview tab hides start page and do not allow to show it. It should work with the start page as with any other pages in the Preview tab.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
V2: creator options with showSidebar: true generates error from v1.9.32 |
After re-factoring in v1.9.32 the following code is generated the error:
const creator = new SurveyCreator.SurveyCreator({ showSidebar: false });
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
V2: Results component in Preview tab generates error |
Results rows in Preview Tab do not have unique key.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
onTranslationStringVisibility doesn't work for itemvalues properties |
"creator.onTranslationStringVisibility" event is not fired for choices and other properties that has "itemvalues" property type.
Product |
|
---|---|
survey-analytics | |
Type | |
Enhancement | |
Description | |
Add paddings to chart labels |
Product |
|
---|---|
survey-analytics | |
Type | |
Enhancement | |
Description | |
Split matrix dropdown and matrix dynamic into separate column in table visualizer |
For the multiple choice questions, the display should be same as single choice matrix questions with rows treated as a question and displayed in a separate column and the cell should contain the values from the columns separated by a comma.
See the https://surveyjs.answerdesk.io/ticket/details/t9146/surveyjs-tabulator thread for more details
Product |
|
---|---|
survey-analytics | |
Type | |
Bug | |
Description | |
Custom Visualizers example: Table view no longer works |
Result:
And the following error in the console: Uncaught ReferenceError: th is not defined
Product |
|
---|---|
survey-analytics | |
Type | |
Bug | |
Description | |
Localized Analytics example: Issues with the dropdown and code |
Product |
|
---|---|
survey-analytics | |
Type | |
Bug | |
Description | |
Toolbar buttons shouldn't be divided in two |
"Hide empty answers" on the following image is a single button.
Product |
|
---|---|
survey-analytics | |
Type | |
Bug | |
Description | |
"Show text question answers as chart" example: Bars are invisible |
Product |
|
---|---|
survey-analytics | |
Type | |
Bug | |
Description | |
Reverse the default sort order for bars |
Now, the first answer in the choices
array is displayed at the bottom of the chart. It is more natural to display the first answer at the top.
Product |
|
---|---|
survey-analytics | |
Type | |
Bug | |
Description | |
Bar chart may leave out series points in some cases |
In this example, the question "How many software developers are in your organization?" displays only 2 bars, but if you switch to one of the other chart types, you will see that there are more answers.
Bar:
Pie:
Product |
|
---|---|
survey-analytics | |
Type | |
Bug | |
Description | |
Table representation for matrix question - null reference if answer doesn't exist in result |
Product | Type | Description | |
---|---|---|---|
|
survey-library | Bug | Official timeline for React 18 support? |
Are you requesting a feature, reporting a bug or asking a question?Question What is the current behavior?No official React 18 support What is the expected behavior?Official React 18 support How would you reproduce the current behavior (if this is a bug)?Install with React 18 I couldn't find a ticket on official React 18 support so thought it would be nice for the community to have some visibility on this. |
|||
|
survey-library | Enhancement | Allow to have surveys with different locales on the same page |
Right now it is impossible to have two surveys on English and Spanish on the same page. It brings issues in SurveyJS Creator V2, since we can have Property Grid in English (using our survey) and survey on designer surface in Spanish. As result, it starts work incorrectly and survey on designer surface may show incorrect locale strings. |
|||
|
survey-library | Bug | matrixdropdown column renderAs property doesn't apply to template question immediately |
Chaning "renderAs" property for matrixdropdown column doesn't apply immediately for a template question. As result, since this property is dynamic and based on cellType, it leads to incorrect behavior in the property grid in Creator V2. |
|||
|
survey-library | Bug | panel/page focusFirstErrorQuestion function doesn't work for matrix dynamic and panel dynamic |
If there are errors in matrix dynamic (matrix cell question) or in panel dynamic (in question inside the panel) then panel/page "focusFirstErrorQuestion" function doesn't work. |
|||
|
survey-library | Bug | Allow to apply css for composite questions based on their name / type |
There is no way to apply a different css style for a different composite questions using global css.
For example, if you have a composite question: "customerinfo" you should set it's style as:
|
|||
|
survey-library | Enhancement | Add into survey base object isDescendantOf function |
We have getType() function that returns the object type.
Sometimes you need to know if the object instance is inherited from another object.
For example, is the question "dropdown" or inherited from "dropdown". In this case |
|||
|
survey-library | Bug | Drag&Drop issue with questions in one line |
If there are several questions in one line, then trying to insert a new question between these questions and a question with a new line generates incorrect result. |
|||
|
survey-creator | Bug | Logic tab: Dropdown editors display items that cannot be selected |
For instance, the following screencast shows a numeric |
|||
|
survey-creator | Bug | Choices by URL tab contains an unnecessary subsection |
|
|||
|
survey-creator | Bug | Check styles for results section |
|
|||
|
survey-creator | Enhancement | Show "Show Settings" regardless of window size. |
|
|||
|
survey-creator | Bug | V2, Bug: text of the items of the non-default localised Survey in Designer Tab |
Steps to reproduce:
|
|||
|
survey-creator | Bug | Fix string editor issue in Safari |
In-line editing of (for instance) question titles or choices does not work in Safari (running safari version 14.1.1). |
|||
|
survey-creator | Bug | The property grid is invisible when new creator tab added in V1 |
|
|||
|
survey-creator | Bug | Clear filter by page action in translation tab on reseting design survey |
If a developer reset/change the existing survey when translation tab is opening then filter by page action should be set to "All pages". |
|||
|
survey-creator | Enhancement | V2: Allow change default toolbox question JSON via settings |
We do not have the easy way to change the default question JSON when a user creates a new question on designer. It should be as easy as:
|
|||
|
survey-creator | Bug | Use obj.isDescendantOf to get component wrapper name |
We should use |
|||
|
survey-creator | Bug | V2: Toolbox items in popup are draggable when Creator is read only |
|
|||
|
survey-analytics | Bug | Survey Tabulator allows code injection |
Hello SurveyJS team, the survey tabulator does not escape script tags correcltly. I have taken the the survey tabulator example and added a HTML button with a onclick handler on it and it executes. This is a security issue and should not be the case. https://plnkr.co/edit/J99S1lklsPL6d27J The survey editor and survey display component escape this correctly. Best Johannes |
|||
|
survey-analytics | Bug | Allow getting an element for the Visualization Panel by `id` |
Now:
Suggestion:
|
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Official timeline for React 18 support? |
Question
No official React 18 support
Official React 18 support
Install with React 18
I couldn't find a ticket on official React 18 support so thought it would be nice for the community to have some visibility on this.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Allow to have surveys with different locales on the same page |
Right now it is impossible to have two surveys on English and Spanish on the same page. It brings issues in SurveyJS Creator V2, since we can have Property Grid in English (using our survey) and survey on designer surface in Spanish. As result, it starts work incorrectly and survey on designer surface may show incorrect locale strings.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
matrixdropdown column renderAs property doesn't apply to template question immediately |
Chaning "renderAs" property for matrixdropdown column doesn't apply immediately for a template question. As result, since this property is dynamic and based on cellType, it leads to incorrect behavior in the property grid in Creator V2.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
panel/page focusFirstErrorQuestion function doesn't work for matrix dynamic and panel dynamic |
If there are errors in matrix dynamic (matrix cell question) or in panel dynamic (in question inside the panel) then panel/page "focusFirstErrorQuestion" function doesn't work.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Allow to apply css for composite questions based on their name / type |
There is no way to apply a different css style for a different composite questions using global css.
For example, if you have a composite question: "customerinfo" you should set it's style as:
survey.css["customerinfo"] = { mainRoot: "customercss" };
.
It works for all other questions.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Add into survey base object isDescendantOf function |
We have getType() function that returns the object type.
Sometimes you need to know if the object instance is inherited from another object.
For example, is the question "dropdown" or inherited from "dropdown". In this case obj.getType() === "dropdown"
will not work and it should be used obj.isDescendantOf("dropdown");
in this case.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Drag&Drop issue with questions in one line |
If there are several questions in one line, then trying to insert a new question between these questions and a question with a new line generates incorrect result.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Logic tab: Dropdown editors display items that cannot be selected |
For instance, the following screencast shows a numeric nps_score
question that doesn't accept contains
and some other operations. It makes sense because these operations are valid only for string question, but in this case why are they on the list? We need to filter the drop-down values.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Choices by URL tab contains an unnecessary subsection |
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Check styles for results section |
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Show "Show Settings" regardless of window size. |
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
V2, Bug: text of the items of the non-default localised Survey in Designer Tab |
Steps to reproduce:
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Fix string editor issue in Safari |
In-line editing of (for instance) question titles or choices does not work in Safari (running safari version 14.1.1).
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
The property grid is invisible when new creator tab added in V1 |
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Clear filter by page action in translation tab on reseting design survey |
If a developer reset/change the existing survey when translation tab is opening then filter by page action should be set to "All pages".
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
V2: Allow change default toolbox question JSON via settings |
We do not have the easy way to change the default question JSON when a user creates a new question on designer. It should be as easy as:
SurveyCreatorCore.settings.toolbox.defaultJSON["image"] =
{ imageLink : "https://www.rd.com/wp-content/uploads/2021/04/GettyImages-141809950.jpg" };
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Use obj.isDescendantOf to get component wrapper name |
We should use isDescendantOf()
function instead of getType()
function for getting correct component wrapper name.
Otherwise new questions types inherited from our standard questions will not work correctly in Creator V2.
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
V2: Toolbox items in popup are draggable when Creator is read only |
Product |
|
---|---|
survey-analytics | |
Type | |
Bug | |
Description | |
Survey Tabulator allows code injection |
Hello SurveyJS team,
the survey tabulator does not escape script tags correcltly.
I have taken the the survey tabulator example and added a HTML button with a onclick handler on it and it executes. This is a security issue and should not be the case. https://plnkr.co/edit/J99S1lklsPL6d27J
The survey editor and survey display component escape this correctly.
Best Johannes
Product |
|
---|---|
survey-analytics | |
Type | |
Bug | |
Description | |
Allow getting an element for the Visualization Panel by `id` |
Now:
var surveyResultNode = document.getElementById("surveyDashboard");
surveyResultNode.innerHTML = "";
visPanel.render(surveyResultNode);
Suggestion:
visPanel.render("surveyDashboard");
Product | Type | Description | |
---|---|---|---|
|
survey-library | Enhancement | Implement the "hint" property for a matrix column |
Some users request column title different form column title: e.g. if they are using markdown. See the https://surveyjs.answerdesk.io/ticket/details/t9444/markdown-matrix-tooltip-on-matrix-cells-is-broken-shows-the-html-values thread for more deatils |
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Implement the "hint" property for a matrix column |
Some users request column title different form column title: e.g. if they are using markdown.
See the https://surveyjs.answerdesk.io/ticket/details/t9444/markdown-matrix-tooltip-on-matrix-cells-is-broken-shows-the-html-values thread for more deatils
Product | Type | Description | |
---|---|---|---|
|
survey-creator | Bug | NPS Survey demo: The Required adorner in the first question doesn't change its appearance |
|
survey-creator | Bug | Fix Creator Responsivity on Retina and 4K displays |
refered to https://github.com/surveyjs/service/issues/222 we need to revert https://github.com/surveyjs/survey-creator/issues/2456 |
|||
|
survey-creator | Bug | V2: A new question can be inserted into wrong position when panel is selected |
If there are several questions inside a panel and user select the panel then after clicking "Add new Question" on Panel footer, a new question can be added in the middle of other questions. |
|||
|
survey-creator | Enhancement | V2: Add creator.onPropertyGridSurveyCreated event |
|
|||
|
survey-creator | Enhancement | V2: Add onSurveyPropertyValueChanged event |
Developer can use onModified event to find that property has been changed. It is better to have it's own event since it used a lot.
|
|||
|
survey-pdf | Bug | Wrong html as image size |
|
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
NPS Survey demo: The Required adorner in the first question doesn't change its appearance |
Demo: https://surveyjs.io/Examples/Survey-Creator?id=real-nps&platform=ReactjsV2&theme=defaultV2
Screencapture: https://www.screencast.com/t/EvC4xfcz
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Fix Creator Responsivity on Retina and 4K displays |
refered to https://github.com/surveyjs/service/issues/222
we need to revert https://github.com/surveyjs/survey-creator/issues/2456
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
V2: A new question can be inserted into wrong position when panel is selected |
If there are several questions inside a panel and user select the panel then after clicking "Add new Question" on Panel footer, a new question can be added in the middle of other questions.
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
V2: Add creator.onPropertyGridSurveyCreated event |
We do not have an event, that fires after property grid survey is setup. Here the event declaration:
/**
* The event is called after a survey that represents the Property Grid is created and all its questions (property editors) are setup.
* You can use this event to modify this survey to change the property grid behavior
* <br/> options.obj the survey object that is currently editing in the property grid
* <br/> options.survey the property grid survey
*/
public onPropertyGridSurveyCreated: Survey.Event<(sender: CreatorBase, options: any) => any, any>
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
V2: Add onSurveyPropertyValueChanged event |
Developer can use onModified event to find that property has been changed. It is better to have it's own event since it used a lot.
/**
* The event is fired when a property in any survey object object is changed.
* <br/> sender the survey creator object that fires the event
* <br/> options.obj the survey object which property has been changed.
* <br/> options.propertyName the name of the changed property.
* <br/> options.value the property value.
* @see onPropertyValidationCustomError
* @see onPropertyValueChanging
*/
public onSurveyPropertyValueChanged: Survey.Event< (sender: CreatorBase, options: any) => any, any>
Product |
|
---|---|
survey-pdf | |
Type | |
Bug | |
Description | |
Wrong html as image size |
Product | Type | Description | |
---|---|---|---|
|
survey-library | Enhancement | Performance issue: Adding new panel in panel dynamic in some condition can be slow |
If a panel dynamic has dropdowns with "others"/"comments" values, adding new panel with several existing panels is extremely slow. |
|||
|
survey-library | Enhancement | Set name for generated pages for questionOnPage mode as question name |
It is hard to find an autogenerated page by name for "survey.questionsOnPageMode" property equals to "questionOnPage". It is better to set the same name as a question name. |
|||
|
survey-library | Bug | Error is not show for text question on usign min/max properties and checkModeError onValueChanged |
The following survey doesn't work correctly. It shows erros on complete/next page, instead of on value changed.
|
|||
|
survey-library | Bug | defaultValueExpression doesn't work for boolean question |
The following JSON doesn't work correctly:
Question should have "true" value, but it has "false". |
|||
|
survey-library | Bug | Do not allow to addPanelUI for panel dynamic question if the current panel has errors |
If dynamic panel has a "renderMode" value different from "list", display one panel at a time, then we do not allow to go to another panel if there is an error on the current. However we allow to add a new panel, which is inconsistent. We have to show errors and do not allow to add a new panel if there are errors on the current panel. |
|||
|
survey-library | Bug | setting survey data doesn't work for a select question with visibleIf in choices |
The following code doesn't work correctly. The "q2" value is "other", instead of "item2".
|
|||
|
survey-pdf | Bug | The html in image mode is blur |
|
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Performance issue: Adding new panel in panel dynamic in some condition can be slow |
If a panel dynamic has dropdowns with "others"/"comments" values, adding new panel with several existing panels is extremely slow.
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Set name for generated pages for questionOnPage mode as question name |
It is hard to find an autogenerated page by name for "survey.questionsOnPageMode" property equals to "questionOnPage". It is better to set the same name as a question name.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Error is not show for text question on usign min/max properties and checkModeError onValueChanged |
The following survey doesn't work correctly. It shows erros on complete/next page, instead of on value changed.
{
"elements": [
{
"type": "text",
"name": "question1",
"inputType": "number",
"min": 1,
"max": 4
}
],
"checkErrorsMode": "onValueChanged"
}
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
defaultValueExpression doesn't work for boolean question |
The following JSON doesn't work correctly:
{
elements: [
{ type: "boolean", name: "q1", defaultValueExpression: "true" },
],
}
Question should have "true" value, but it has "false".
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Do not allow to addPanelUI for panel dynamic question if the current panel has errors |
If dynamic panel has a "renderMode" value different from "list", display one panel at a time, then we do not allow to go to another panel if there is an error on the current. However we allow to add a new panel, which is inconsistent. We have to show errors and do not allow to add a new panel if there are errors on the current panel.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
setting survey data doesn't work for a select question with visibleIf in choices |
The following code doesn't work correctly. The "q2" value is "other", instead of "item2".
const survey = new SurveyModel({
elements: [
{
type: "checkbox",
name: "q1",
choices: ["apple", "banana", "orange"],
},
{
type: "radiogroup",
name: "q2",
choices: [
"item1",
{
value: "item2",
visibleIf: "{q1} = ['apple']",
},
"item3",
],
hasOther: true,
},
],
});
survey.data = {
q2: "item2",
q1: ["apple"],
};
Product |
|
---|---|
survey-pdf | |
Type | |
Bug | |
Description | |
The html in image mode is blur |
Product | Type | Description | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
survey-library | Bug | The markdown matrix is broken if the window is small and the matrix becomes vertical. | ||||||||||||
|
survey-library | Bug | OnValueChanging is triggered a second time after OnValueChanged on custom question type | ||||||||||||
Are you requesting a feature, reporting a bug or asking a question?Bug What is the current behavior?OnValueChanging is triggered an additional time after OnValueChanged on custom question types
What is the expected behavior?OnValueChanging is only triggered once before OnValueChanged How would you reproduce the current behavior (if this is a bug)?Please refer to the this repository with a simple reproduction of the bug. I added one use case of known type text and one for a custom type with it's questionJSON being of type text for comparison. I am currently overriding this behaviour with the following piece of code:
Provide the test code and the tested page URL (if applicable)Specify yourI am using survey-core as a backbone for a custom survey system.
|
|||||||||||||||
|
survey-library | Bug | Bug: onShowingPreview doesn't get called if onServerValidateQuestions is set | ||||||||||||
Are you requesting a feature, reporting a bug or asking a question?Reporting a bug. What is the current behavior?
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 notice that Provide the test code and the tested page URL (if applicable)Tested page URL: https://plnkr.co/edit/6Sy4Rx5lK9rjA9eD Test code
Specify your
|
|||||||||||||||
|
survey-library | Enhancement | Allow to render matrix remove rows action as button in defaultV2 | ||||||||||||
In defaultV2 remove rows actions rendered as icons. A new setting is introduced to render these actions as buttons.
|
|||||||||||||||
|
survey-library | Bug | Bug: read-only columns stop working on changing survey mode from "display" to "edit" | ||||||||||||
The original issue was reported on SurveyJS Support forum.
The second column becomes editable after the following code:
|
|||||||||||||||
|
survey-creator | Enhancement | DND: From Toolbox: Shortcut text | ||||||||||||
shortcut text should contain question type instead of generated new question name based on the https://surveyjs.answerdesk.io/ticket/details/T9276 |
|||||||||||||||
|
survey-creator | Bug | Test-plugin getComputedStyles argument may be null | ||||||||||||
|
|||||||||||||||
|
survey-creator | Enhancement | V2: Allow to change default question type for "Add Question" button | ||||||||||||
Right now, Creator V2 has "text" as default question type in "Add Question" button and there is no way to change it.
We need to add a new setting to allow chaning this type.
|
|||||||||||||||
|
survey-creator | Enhancement | V2: Allow to hide "Add New Question" button on design surface | ||||||||||||
Use the following code to hide "Add New Question" buttons on page and panel on design surface:
|
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
The markdown matrix is broken if the window is small and the matrix becomes vertical. |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
OnValueChanging is triggered a second time after OnValueChanged on custom question type |
Bug
OnValueChanging is triggered an additional time after OnValueChanged on custom question types
(index) | Values |
---|---|
oldValue | undefined |
value | 'abc |
onValueChanged is triggered
onValueChanging is triggered again
(index) | Values |
---|---|
oldValue | 'abc' |
value | 'abc |
OnValueChanging is only triggered once before OnValueChanged
Please refer to the this repository with a simple reproduction of the bug. I added one use case of known type text and one for a custom type with it's questionJSON being of type text for comparison.
I am currently overriding this behaviour with the following piece of code:
valueChangingHandler = (sender, options) => {
if(options.oldValue === options.value) {
console.warn('onValueChanging execution with equal values', options.question, options.oldValue, options.value)
return;
}
...
}
I am using survey-core as a backbone for a custom survey system.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Bug: onShowingPreview doesn't get called if onServerValidateQuestions is set |
Reporting a bug.
onShowingPreview
doesn't get called when onServerValidateQuestions
is set.
onShowingPreview
should be called even if onServerValidateQuestions
is set.
Using the test page provided below, you'll notice that onShowingPreview
is never printed unless you remove the assignment of the onServerValidateQuestions
event on the survey.
Tested page URL: https://plnkr.co/edit/6Sy4Rx5lK9rjA9eD
Test code
Survey
.StylesManager
.applyTheme("modern");
//assign call to onServerValidateQuestions callback
function surveyValidateQuestion(survey, options) {
options.complete();
}
//assign call to onShowingPreview callback
function showingPreview(survey, options){
console.log("onShowingPreview");
}
var json = {
"pages": [
{
"name": "page1",
"elements": [
{
"type": "boolean",
"name": "question1",
"isRequired": true
}
]
},
{
"name": "page2",
"elements": [
{
"type": "boolean",
"name": "question2",
"isRequired": true
}
]
}
],
"showPreviewBeforeComplete": "showAllQuestions"
};
window.survey = new Survey.Model(json);
survey
.onComplete
.add(function (sender) {
document
.querySelector('#surveyResult')
.textContent = "Result JSON:\n" + JSON.stringify(sender.data, null, 3);
});
survey
.onShowingPreview
.add(showingPreview);
survey
.onServerValidateQuestions
.add(surveyValidateQuestion);
$("#surveyElement").Survey({model: survey});
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Allow to render matrix remove rows action as button in defaultV2 |
In defaultV2 remove rows actions rendered as icons. A new setting is introduced to render these actions as buttons.
Survey.settings.matrixRenderRemoveAsIcon = false;
.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Bug: read-only columns stop working on changing survey mode from "display" to "edit" |
The original issue was reported on SurveyJS Support forum.
{
elements: [
{
type: "matrixdynamic",
name: "question1",
rowCount: 1,
columns: [
{
name: "Column1",
},
{
name: "Column2",
readOnly: true
},
],
cellType: "text",
},
],
}
The second column becomes editable after the following code:
survey.mode = "display";
survey.mode = "edit"
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
DND: From Toolbox: Shortcut text |
shortcut text should contain question type instead of generated new question name
based on the https://surveyjs.answerdesk.io/ticket/details/T9276
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Test-plugin getComputedStyles argument may be null |
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
V2: Allow to change default question type for "Add Question" button |
Right now, Creator V2 has "text" as default question type in "Add Question" button and there is no way to change it.
We need to add a new setting to allow chaning this type.
SurveyCreator.settings.designer.defaultAddQuestionType = "dropdown";
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
V2: Allow to hide "Add New Question" button on design surface |
Use the following code to hide "Add New Question" buttons on page and panel on design surface:
SurveyCreator.settings.designer.showAddQuestionButton = false;
Product | Type | Description | |
---|---|---|---|
|
survey-library | Bug | Knockout: onProcessHtml events doesn't work |
onProcessHtml event not fired for html question in knockout |
|||
|
survey-library | Bug | knockout: dropdown is not updated options on changing survey locale |
Are you requesting a feature, reporting a bug or asking a question?Bug What is the current behavior?When creating a matrix multiple choice question you can override the choices for a column by settings the cell type to What is the expected behavior?I expected the translations for the column specific choices to be used, but they are not. Note that even the primary choices are not translated (tested via the preview tab) How would you reproduce the current behavior (if this is a bug)?
Provide the test code and the tested page URL (if applicable)Tested page URL: https://surveyjs.io/create-survey Specify your
|
|||
|
survey-library | Bug | Custom widgets are not updated on changing locale in matrix and panel dynamic questions |
Due a bug, custom widgets are not updated on changing locale if it is located in matrix cell or in dynamic panel. |
|||
|
survey-library | Bug | Bindings doesn't work inside panel dynamic |
The following json doesn't work correctly. Binding for nested matrix doesn't work:
|
|||
|
survey-creator | Enhancement | V2: Implement zoom for devices in Preview Tab |
|
|||
|
survey-creator | Bug | Field resize triggers drag and drop instead |
See the screencast: https://www.screencast.com/t/Hre5H7X3fSjF |
|||
|
survey-creator | Enhancement | V2: Could not easily add property into detail form for itemvalue |
The following code should add a new property into detail form for itemvalue without addition coding.
|
|||
|
survey-creator | Enhancement | V2: Allow to change Creator localization on the fly |
New "locale" property is added into Creator. To change locale, please use the following code:
|
|||
|
survey-creator | Bug | V2: could not drag a new question on text "The survey is empty. ..." |
End-user can't drag on text "The survey is empty. Drag an element from the toolbox or click the button below." |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Knockout: onProcessHtml events doesn't work |
onProcessHtml event not fired for html question in knockout
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
knockout: dropdown is not updated options on changing survey locale |
Bug
When creating a matrix multiple choice question you can override the choices for a column by settings the cell type to dropdown
instead of default
.
Then using the translation tab you can translate these choices.
I expected the translations for the column specific choices to be used, but they are not. Note that even the primary choices are not translated (tested via the preview tab)
{
"logoPosition": "right",
"pages": [
{
"name": "page1",
"elements": [
{
"type": "matrixdropdown",
"name": "question1",
"columns": [
{
"name": "Column 1",
"cellType": "dropdown",
"choices": [
{
"value": "item1",
"text": {
"default": "A",
"nl": "A1"
}
},
{
"value": "item2",
"text": {
"default": "B",
"nl": "B2"
}
},
{
"value": "item3",
"text": {
"default": "C",
"nl": "C2"
}
}
]
},
{
"name": "Column 2"
},
{
"name": "Column 3"
}
],
"choices": [
{
"value": 1,
"text": {
"default": "E1",
"nl": "D1"
}
},
{
"value": 2,
"text": {
"default": "E2",
"nl": "D2"
}
},
{
"value": 3,
"text": {
"default": "E3",
"nl": "D3"
}
},
{
"value": 4,
"text": {
"default": "E4",
"nl": "D4"
}
},
{
"value": 5,
"text": {
"default": "E5",
"nl": "D5"
}
}
],
"rows": [
"Row 1",
"Row 2"
]
}
]
}
]
}
Tested page URL: https://surveyjs.io/create-survey
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Custom widgets are not updated on changing locale in matrix and panel dynamic questions |
Due a bug, custom widgets are not updated on changing locale if it is located in matrix cell or in dynamic panel.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Bindings doesn't work inside panel dynamic |
The following json doesn't work correctly. Binding for nested matrix doesn't work:
{
elements: [
{
type: "paneldynamic",
name: "panel1",
panelCount: 2,
templateElements: [
{ type: "text", name: "q1" },
{
type: "matrixdynamic",
name: "q2",
bindings: {
"rowCount": "q1"
},
columns: [
{ name: "col1" }
]
}
],
}
],
}
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
V2: Implement zoom for devices in Preview Tab |
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Field resize triggers drag and drop instead |
See the screencast: https://www.screencast.com/t/Hre5H7X3fSjF
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
V2: Could not easily add property into detail form for itemvalue |
The following code should add a new property into detail form for itemvalue without addition coding.
Survey.Serializer.addProperty("itemvalue",
{ name: "prop1", category: "general", choices: ["item1", "item2"], showMode: "form" }
);
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
V2: Allow to change Creator localization on the fly |
New "locale" property is added into Creator. To change locale, please use the following code:
creator.locale = "de";
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
V2: could not drag a new question on text "The survey is empty. ..." |
End-user can't drag on text "The survey is empty. Drag an element from the toolbox or click the button below."
Product | Type | Description | |
---|---|---|---|
|
survey-library | Enhancement | Allow to add a custom condition/expression property integrated into class |
Consider, in your survey/form system you want to hide/show matrix header based on expression and allow your Creator user to set this expression. Right now it will require a lot of code, how, it can be as simple as the following:
|
|||
|
survey-analytics | Bug | Matrix: HoverTexts (long tick labels) problem |
we need a way to see full tick (y) label with matrix question. And the way we could do it is custom |
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Allow to add a custom condition/expression property integrated into class |
Consider, in your survey/form system you want to hide/show matrix header based on expression and allow your Creator user to set this expression. Right now it will require a lot of code, how, it can be as simple as the following:
Survey.Serializer.addProperty("matrix", { name: "showHeaderIf:condition", category: "logic",
onExecuteExpression: (obj, res) => { obj.showHeader = res === true; }
});
Product |
|
---|---|
survey-analytics | |
Type | |
Bug | |
Description | |
Matrix: HoverTexts (long tick labels) problem |
we need a way to see full tick (y) label with matrix question. And the way we could do it is custom hovertext
Product | Type | Description | |
---|---|---|---|
|
survey-library | Bug | Change implementation of using completedHtml, completedBeforeHtml and loadingHtml survey localization strings |
SurveyJS uses old approach for completedHtml, completedBeforeHtml and loadingHtml survey properties. As result, Creator property grid doesn't show the default value for these properties. |
|||
|
survey-library | Bug | MatrixColumn: Change questionTemplate property before changing cellType |
Creator V2 requires questionTemplate be ready right after cellType property is changed. It means we have to change questionTemplate before chaning cellType. |
|||
|
survey-library | Bug | visible attribute for text min/max property doesn't work for matrix column |
The bug is reproduced in Creator V2. On selecting column and setting cellType to "text", properties "min" and "max" are not become visible if inputType is "number" |
|||
|
survey-library | Bug | Buttongroup css classes are not assigned if StylesManager.appyTheme("defaultV2") was provided |
|
|||
|
survey-library | Bug | survey.fromJSON() doesn't work correctly |
The survey "activePage" is not updated after calling "fromJSON" function as well as navigation bar. |
|||
|
survey-creator | Enhancement | V2: Implement theme changer in preview tab |
For detailed information see this ticket in the support center |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Change implementation of using completedHtml, completedBeforeHtml and loadingHtml survey localization strings |
SurveyJS uses old approach for completedHtml, completedBeforeHtml and loadingHtml survey properties. As result, Creator property grid doesn't show the default value for these properties.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
MatrixColumn: Change questionTemplate property before changing cellType |
Creator V2 requires questionTemplate be ready right after cellType property is changed. It means we have to change questionTemplate before chaning cellType.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
visible attribute for text min/max property doesn't work for matrix column |
The bug is reproduced in Creator V2. On selecting column and setting cellType to "text", properties "min" and "max" are not become visible if inputType is "number"
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
Buttongroup css classes are not assigned if StylesManager.appyTheme("defaultV2") was provided |
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
survey.fromJSON() doesn't work correctly |
The survey "activePage" is not updated after calling "fromJSON" function as well as navigation bar.
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
V2: Implement theme changer in preview tab |
For detailed information see this ticket in the support center
Product | Type | Description | |
---|---|---|---|
|
survey-library | Enhancement | Use action container for navigation buttons |
Developers want to add buttons into our navigation bar, for example, "Save" button and the only current solution is to hide our navigation bar and let them to render their own. There should be an easy way to do it. The current solution is to use our action container. It will reduce code in platforms. |
|||
|
survey-library | Bug | onAfterRenderSurvey multiple "root" elements on knockout |
Are you requesting a feature, reporting a bug or asking a question?Bug What is the current behavior?The
Instead I get an array of 3 elements, the root element is in the middle, surrounded by 2 What is the expected behavior?This is what vue does: https://plnkr.co/edit/0u9vnEWqshAzzcKX This is what knockout does: https://plnkr.co/edit/x11Iojb6UqbG28lO How would you reproduce the current behavior (if this is a bug)?See plunkers above Specify your
|
|||
|
survey-library | Bug | React: chaning question comment in code doesn't update comment text area |
A checkbox type question, I can't clear it's comment value by clearValue/setComment Are you requesting a feature, reporting a bug or asking a question?question What is the current behavior?click clear comment button should clear its comment value, but not What is the expected behavior?click clear comment button can clear its comment value How would you reproduce the current behavior (if this is a bug)?
Provide the test code and the tested page URL (if applicable)Tested page URL: https://codesandbox.io/s/xenodochial-chebyshev-4kbwle Test code
Specify your
|
|||
|
survey-library | Bug | We need default image (NO IMAGE) for image picker |
|
survey-creator | Enhancement | V2, React: Fix header for survey in designer tab |
|
|||
|
survey-creator | Bug | Set default images after convert question to Image or Image Picker |
"When you replace a question type to 'Image Picker' using the dropdown (not the toolbar on the left but the dropdown on a question), it doesn't show you the default images and just shows you an option to add a new image" https://surveyjs.answerdesk.io/internal/ticket/details/T9149 |
|||
|
survey-creator | Enhancement | Rename the Test Survey Again button to Preview Survey Again |
Because we renamed the Test Survey tab, users no longer test surveys - they preview them. |
|||
|
survey-creator | Enhancement | Preview tab: Empty survey message is not aligned |
We need to align the message to the center. Compare it to the empty Translation tab: Let's change the text too: "The survey doesn't contain visible pages or questions" |
|||
|
survey-creator | Bug | V2: Setting logic for panel dynamic cause JavaScript error |
On setting expression for panel dynamic in logic tab on empty actions section, a JavaScript error is raised. |
|||
|
survey-creator | Bug | V1: Could not set bindings in modal window |
Settings binding when property grid is modal raised an exception. |
|||
|
survey-creator | Bug | V1: Adorner for dropdown "None" item works incorrecly |
"None" is visible/invisible based on "hasOther" property and not "hasNone" |
Product |
|
---|---|
survey-library | |
Type | |
Enhancement | |
Description | |
Use action container for navigation buttons |
Developers want to add buttons into our navigation bar, for example, "Save" button and the only current solution is to hide our navigation bar and let them to render their own. There should be an easy way to do it. The current solution is to use our action container. It will reduce code in platforms.
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
onAfterRenderSurvey multiple "root" elements on knockout |
Bug
The onAfterRenderSurvey
event should contain an options object described by this:
The event is fired right after survey is rendered in DOM.
sender
- the survey object that fires the event.options.htmlElement
- a root HTML element bound to the survey object.
Instead I get an array of 3 elements, the root element is in the middle, surrounded by 2 text
nodes.
This is what vue does:
https://plnkr.co/edit/0u9vnEWqshAzzcKX
This is what knockout does: https://plnkr.co/edit/x11Iojb6UqbG28lO
See plunkers above
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
React: chaning question comment in code doesn't update comment text area |
A checkbox type question, I can't clear it's comment value by clearValue/setComment
question
click clear comment button should clear its comment value, but not
click clear comment button can clear its comment value
Tested page URL: https://codesandbox.io/s/xenodochial-chebyshev-4kbwle
Test code
this.survey.setComment("car", null);
this.survey.clearValue("car");
Product |
|
---|---|
survey-library | |
Type | |
Bug | |
Description | |
We need default image (NO IMAGE) for image picker |
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
V2, React: Fix header for survey in designer tab |
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
Set default images after convert question to Image or Image Picker |
"When you replace a question type to 'Image Picker' using the dropdown (not the toolbar on the left but the dropdown on a question), it doesn't show you the default images and just shows you an option to add a new image" https://surveyjs.answerdesk.io/internal/ticket/details/T9149
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Rename the Test Survey Again button to Preview Survey Again |
Because we renamed the Test Survey tab, users no longer test surveys - they preview them.
Product |
|
---|---|
survey-creator | |
Type | |
Enhancement | |
Description | |
Preview tab: Empty survey message is not aligned |
We need to align the message to the center. Compare it to the empty Translation tab:
Let's change the text too: "The survey doesn't contain visible pages or questions"
Product |
|
---|---|
survey-creator | |
Type | |
Bug | |
Description | |
V2: Setting logic for panel dynamic cause JavaScript error |
On setting expression for panel dynamic in logic tab on empty actions section, a JavaScript error is raised.