Skip to content

Converting survey JSON from V1 to V2 incorrectly changes "showNavigationButtons": "both" to "showNavigationButtons": false #10481

@JaneSjs

Description

@JaneSjs

T25205 - Possible regression in handling showNavigationButtons: "both" after upgrade to v2.2.3 (React)
https://surveyjs.answerdesk.io/internal/ticket/details/T25205


An example of a survey JSON definition in v1: View Demo.

 {
  pages: [
    {
      name: "page1",
      title: "Page 1",
      elements: [
        {
          type: "radiogroup",
          name: "question1",
          choices: ["Item 1", "Item 2", "Item 3"],
        },
        {
          type: "boolean",
          name: "question2",
        },
      ],
    },
    {
      name: "page3",
      title: "Page 2",
      elements: [
        {
          type: "radiogroup",
          name: "question4",
          choices: ["Item 1", "Item 2", "Item 3"],
        },
        {
          type: "boolean",
          name: "question5",
        },
      ],
    },
    {
      name: "page2",
      title: "Page 3",
      elements: [
        {
          type: "text",
          name: "question3",
        },
      ],
    },
  ],
  showNavigationButtons: "both",
}

When this survey is loaded within SurveyJS Creator v2, the showNavigationButtons property value is converted to false.
Try loading this JSON at https://surveyjs.io/create-free-survey. You'll get the following output:

{
  "pages": [
    {
      "name": "page1",
      "title": "Page 1",
      "elements": [
        {
          "type": "radiogroup",
          "name": "question1",
          "choices": [
            "Item 1",
            "Item 2",
            "Item 3"
          ]
        },
        {
          "type": "boolean",
          "name": "question2"
        }
      ]
    },
    {
      "name": "page3",
      "title": "Page 2",
      "elements": [
        {
          "type": "radiogroup",
          "name": "question4",
          "choices": [
            "Item 1",
            "Item 2",
            "Item 3"
          ]
        },
        {
          "type": "boolean",
          "name": "question5"
        }
      ]
    },
    {
      "name": "page2",
      "title": "Page 3",
      "elements": [
        {
          "type": "text",
          "name": "question3"
        }
      ]
    }
  ],
  "showNavigationButtons": false
}

Expected behavior: the showNavigationButtons: "both" property is converted to "navigationButtonsLocation": "topBottom".

{
  "pages": [
    {
      "name": "page1",
      "title": "Page 1",
      "elements": [
        {
          "type": "radiogroup",
          "name": "question1",
          "choices": [
            "Item 1",
            "Item 2",
            "Item 3"
          ]
        },
        {
          "type": "boolean",
          "name": "question2"
        }
      ]
    },
    {
      "name": "page3",
      "title": "Page 2",
      "elements": [
        {
          "type": "radiogroup",
          "name": "question4",
          "choices": [
            "Item 1",
            "Item 2",
            "Item 3"
          ]
        },
        {
          "type": "boolean",
          "name": "question5"
        }
      ]
    },
    {
      "name": "page2",
      "title": "Page 3",
      "elements": [
        {
          "type": "text",
          "name": "question3"
        }
      ]
    }
  ],
  "navigationButtonsLocation": "topBottom"
}

Metadata

Metadata

Assignees

Labels

buguser issueAn issue or bug reported by users

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions