name | String | |
params | Object |
Here is an example of creating a modal with a form.
Redactor.add('plugin', 'myplugin', {
modals: {
edit: {
width: '100%',
title: 'My plugin',
form: {
'id': { type: 'input' }
},
footer: {
save: { title: '', command: 'myplugin.save', type: 'primary' },
cancel: { title: '', command: 'modal.close' }
}
}
},
start() {
let button = {
title: 'My plugin',
icon: '<svg...>',
command: 'blockid.popup'
};
this.app.toolbar.add('myplugin', button);
},
popup(e, button) {
let instance = this.app.block.get();
let id = instance.getId();
// create
let stack = this.app.create('stack');
stack.create('myplugin', this.modals.edit);
stack.setData({ id: id });
// open
this.app.modal.open({ name: 'myplugin', stack: stack, focus: 'id', button: button });
},
save(stack) {
this.app.modal.close();
let id = stack.getData('id');
let instance = this.app.block.get();
instance.setId(id);
}
});
Closes the opened modal.
this.app.modal.close();
Checks if a modal is opened.
if (this.app.modal.isOpen()) {
...
}
Returns a name of the opened modal.
let name = this.app.modal.getName();