Как открыть другое диалоговое окно после нажатия кнопки ОК, которая находится в диалоговом окне в Ckeditor - PullRequest
0 голосов
/ 18 сентября 2018

Я пытаюсь создать плагин Ckeditor. Я добавил кнопку на панели инструментов, которая откроет диалоговое окно, и в этом мы можем ввести слово по нашему выбору, и синонимы будут отображаться как предупреждение, и когда мы нажимаем ОКданные будут вставлены в текстовую область ckeditor.

Я хочу показать еще одно диалоговое окно или всплывающее окно, в котором вместо оповещения будут отображаться синонимы.

Структура папки: ckeditor -> плагины -> lookup_synonyms Внутри lookup_synonyms у меня есть две папки "диалоги -> lookup_synonyms.js и иконки -> lookup_synonyms.png и файл plugin.js"

plugin.js

CKEDITOR.plugins.add( 'lookup_synonyms', {
icons: 'lookup_synonyms',
init: function( editor ) {
editor.addCommand( 'lookup_synonyms', new CKEDITOR.dialogCommand( 'lookup_synonymsDialog' ) );
editor.ui.addButton( 'Lookup_synonyms', {
label: 'Lookup Synonyms',
command: 'lookup_synonyms',
toolbar: 'insert,0'
});

CKEDITOR.dialog.add( 'lookup_synonymsDialog', this.path + 'dialogs/lookup_synonyms.js' );
}
});

lookup_synonyms.js

CKEDITOR.dialog.add( 'lookup_synonymsDialog', function( editor ) {
return {
title: 'Find synonyms',
minWidth: 400,
minHeight: 100,
contents: [
{
id: 'tab-basic',
label: 'Input a word to find synonym',
elements: [
{
type: 'text',
id: 'abbr',
label: 'Input word',
validate: CKEDITOR.dialog.validate.notEmpty( "Abbreviation field cannot be empty." )
}
]
}
],
onOk: function() {

var dialog = this;

var abbr = editor.document.createElement( 'abbr' );
//abbr.setAttribute( 'title', dialog.getValueOf( 'tab-basic', 'title' ) );
//const newobj = abbr.setText( dialog.getValueOf( 'tab-basic', 'abbr' ) );

var x = dialog.getValueOf( 'tab-basic', 'abbr' );
fetch("https://api.datamuse.com/words?ml=" + x)
.then((resp) => resp.json())
.then (data =>
{
const obj = JSON.stringify(data);   
const wordArr = data.map(obj => obj.word);
//console.log(wordArr); 
//document.getElementById("id").innerHTML = wordArr;
abbr.setText( wordArr );
alert(wordArr);
})

var id = dialog.getValueOf( 'tab-basic', 'abbr' );
if ( id )
abbr.setAttribute( 'id', abbr );

editor.insertElement( abbr );
}
};
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...