Ckeditor как добавитьRichoCombo в fetch api?

CKEDITOR.plugins.add('type_elem_dropdown', {
    init: function (editor) {
        editor.on('instanceReady', function () {
            // Retrieve scenarioId and branchId from the editor's configuration
            var scenarioId = editor.config.scenarioId;
            var branchId = editor.config.branchId;

            // Function to fetch type_elements data
            function fetchTypeElements(scenarioId, branchId) {
                return fetch(`/scenario/${scenarioId}/branch/${branchId}/typeelements`)
                    .then(response => {
                        if (!response.ok) {
                            throw new Error(`HTTP error! status: ${response.status}`);
                        }
                        return response.json();
                    })
                    .catch(error => {
                        console.error('Error fetching type_elems:', error);
                        return [];
                    });
            }

            // Fetch type elements and initialize the RichCombo
            fetchTypeElements(scenarioId, branchId).then(typeElems => {
                if (!typeElems || typeElems.length === 0) {
                    console.warn('No typeElems available, aborting addRichCombo.');
                    return;
                }
                // Create RichCombo UI elements
                typeElems.forEach((element, index) => {
                    // Add a RichCombo for each typeElem
                    editor.ui.addRichCombo('TypeElemNames' + (index + 1), {
                        label: 'Type Elements',
                        title: 'Insert Type Element',
                        voiceLabel: 'Type Elements',
                        className: 'cke_format',
                        multiSelect: false,

                        panel: {
                            css: [CKEDITOR.skin.getPath('editor')].concat(editor.config.contentsCss),
                            attributes: {
                                'aria-label': 'Type Elements Dropdown'
                            }
                        },

                        init: function () {
                            this.startGroup('Type Elements');
                            this.add(element.id, element.name, element.name);
                        },

                        onClick: function (value) {
                            editor.focus();
                            editor.fire('saveSnapshot');
                            editor.insertHtml(value);
                            editor.fire('saveSnapshot');
                        }
                    });
                });
            });
        });
    }
});

Добавил addRichCombo в функцию fetch из API, она не работает и не показывает выпадающий список?!!!

Я пытался добавить выпадающий список в редактор с опциями выпадающего списка, полученными из API (fetch(`/scenario/${scenarioId}/branch/${branchId}/typeelements`)), но не получается, ничего не показывает. И я хочу добавить много Rich Combo, число получить из API тоже.

Пожалуйста, помогите мне!

Вернуться на верх