Survey Toolbox categories

Separate your toolbox items by different categories

                        



var editorOptions = { };
var editor = new SurveyEditor.SurveyEditor("editorElement", editorOptions);

        editor.toolbox.addItem({
                name: "countries",
                isCopied: true,
                iconName: "icon-default",
                title: "All countries",
                category: "Custom",
                json: {
                    "type": "dropdown",
                    optionsCaption: "Select a country...",
                    choicesByUrl: {
                        url: "https://restcountries.eu/rest/v2/all"
                    }
                }
            });
        editor.toolbox.changeCategories([{ name: "panel", category: "Panels" }, { name: "paneldynamic", category: "Panels" }, { name: "matrix", category: "Matrix" }, { name: "matrixdropdown", category: "Matrix" }, { name: "matrixdynamic", category: "Matrix" }]);
                    
<!DOCTYPE html>
<html>
<head>
    <title>Separate your toolbox items by different categories, Survey Builder Example</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.0/knockout-min.js"></script>
<script src="https://surveyjs.azureedge.net/1.0.75/survey.ko.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.2.0/ace.min.js" type="text/javascript" charset="utf-8"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.2.0/ext-language_tools.js" type="text/javascript" charset="utf-8"></script>
    <!-- Uncomment to enable Select2
    <script src="https://unpkg.com/jquery"></script>
    <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="stylesheet" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js"></script>
    -->
    <link href="https://surveyjs.azureedge.net/1.0.75/surveyeditor.css" type="text/css" rel="stylesheet" />
    <script src="https://surveyjs.azureedge.net/1.0.75/surveyeditor.js"></script>
    <link rel="stylesheet" href="https://unpkg.com/bootstrap@3.3.7/dist/css/bootstrap.min.css">
    <link rel="stylesheet" href="./index.css">

</head>
<body>
        <div id="surveyContainer">
        <div id="editorElement"></div>
    </div>

<script type="text/javascript" src="./index.js"></script>

</body>
</html>

Question Toolbox API

By default there is one category in the Toolbox (General) and its title is not shown.

You may change the category of the default question types by calling changeCategory function
editor.toolbox.changeCategory("panel", "Panels");
editor.toolbox.changeCategory("paneldynamic", "Panels");
The better way is to use changeCategories function. It will rebuild toolbox presentation model just one time:
editor.toolbox.changeCategories([{ name: "panel", category: "Panels" }, { name: "paneldynamic", category: "Panels" }, { name: "matrix", category: "Matrix" }]);

You may change the name of the default (General) category as any other localizable string. Please make sure to run this code before creating the Editor.
SurveyEditor.defaultStrings.ed.toolboxGeneralCategory = "Common";