Here is and a screenshot I uploaded for you Я отредактировал свое сообщение в соответствии с вашими советами в комментариях, разместив мою обновленную версию моего кода. Я включаю/**/свое оригинальное сообщение, чтобы помочь вам.Я не могу закрыть диалог в jointJS
/*In jointJS I try using a `ui.dialog` to delete all my graph with the following code:
var dialog = new joint.ui.Dialog({
width: 400,
title: 'Create new process',
content: '<b>Cleanup current drawing?</b>',
closeButton: false,
buttons: [
{ action: 'ok', content: 'OK' },
{ action: 'cancel', content: 'CANCEL' }
]
});
dialog.on('action:ok', this.graph.clear, this.graph);
dialog.on('action:cancel', dialog.close, dialog);
dialog.open();
},
After pressing OK button I successfully delete my graph but my dialog still remains without being able to delete it.
Any help please? */
Это мой обновленный код, который, к сожалению, пока не работает должным образом. Напомню, что в этом диалоговом виде, который отображает КИ и кнопку Я хочу следующие из них Отменить:
1) При нажатии кнопки ОК, я хочу: а) Удалить мой текущий граф и б) Закройте мой диалог
2) при нажатии кнопки Отмены Я хочу: Закрыть мой диалог (в моем первоначальном варианте работал successfylly с dialog.close
)
openNew: function() {
// By pressing Create New Process button, a popup form asks for
//our confirmation before deleting current graph
var dialog = new joint.ui.Dialog({
width: 400,
title: 'Create new process',
content: '<b>Cleanup current drawing?</b>',
closeButton: false,
buttons: [
{ action: 'ok', content: 'OK' },
{ action: 'cancel', content: 'CANCEL' }
]
});
//Since in 'action:ok' of dialog.on the 3rd parameter is used in the
//callback of multi_hand we must pass dialog and graph both together.To do so
//we enclose them in an object named together and we pass it instead
together= {dialog : dialog, graph : this.graph};
//Since jointJS supports assigning multiple events for same handler
//BUT NOT multiple handlers for the same event we create function multi_hand
multi_hand: function (together)
{
together.graph.clear();
together.dialog.close();
}
dialog.on('action:ok', multi_hand, together);
dialog.on('action:cancel', dialog.close, dialog);
dialog.open();
},
используя этот новый код моего проекта joinjtJS сбоя неожиданно. Как я могу сделать кнопку OK, пожалуйста?
Я обновил свое сообщение. Пожалуйста, просмотрите его. –
попробуйте 'console.log (this.graph)' где-нибудь в теле функции 'openNew'. Это не должно быть «undefined» –
Я решил свою проблему таким образом, и я просто хочу поделиться им со всеми вами как ссылкой. –