jodit
Version:
Jodit is awesome and usefully wysiwyg editor with filebrowser
96 lines (81 loc) • 2.48 kB
text/typescript
/*!
* Jodit Editor (https://xdsoft.net/jodit/)
* Licensed under GNU General Public License version 2 or later or a commercial license or MIT;
* For GPL see LICENSE-GPL.txt in the project root for license information.
* For MIT see LICENSE-MIT.txt in the project root for license information.
* For commercial licenses see https://xdsoft.net/jodit/commercial/
* Copyright (c) 2013-2019 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
*/
import { Dialog } from './dialog';
import { ToolbarIcon } from '../toolbar/icon';
/**
* Show `confirm` dialog. Work without Jodit object
*
* @method Confirm
* @param {string} msg Message
* @param {string|function} [title] Title or callback
* @param {function} [callback] callback. The first argument is the value entered
* @example
* ```javascript
* Jodit.Confirm("Are you shure?", "Confirm Dialog", function (yes) {
* if (yes) {
* // do something
* }
* });
* ```
*/
export const Confirm = (
msg: string,
title: string | ((yes: boolean) => void) | undefined,
callback?: (yes: boolean) => void
): Dialog => {
const dialog = new Dialog(),
$div: HTMLDivElement = dialog.create.fromHTML(
'<form class="jodit_promt"></form>'
) as HTMLDivElement,
$label: HTMLLabelElement = dialog.create.element('label');
if (typeof title === 'function') {
callback = title;
title = undefined;
}
$label.appendChild(dialog.create.fromHTML(msg));
$div.appendChild($label);
const $cancel: HTMLAnchorElement = dialog.create.fromHTML(
'<a href="javascript:void(0)" style="float:right;" class="jodit_button">' +
ToolbarIcon.getIcon('cancel') +
'<span>' +
Jodit.prototype.i18n('Cancel') +
'</span>' +
'</a>'
) as HTMLAnchorElement;
$cancel.addEventListener('click', () => {
if (callback) {
callback(false);
}
dialog.close();
});
const onok = () => {
if (callback) {
callback(true);
}
dialog.close();
};
const $ok: HTMLAnchorElement = dialog.create.fromHTML(
'<a href="javascript:void(0)" style="float:left;" class="jodit_button">' +
ToolbarIcon.getIcon('check') +
'<span>' +
Jodit.prototype.i18n('Yes') +
'</span>' +
'</a>'
) as HTMLAnchorElement;
$ok.addEventListener('click', onok);
$div.addEventListener('submit', () => {
onok();
return false;
});
dialog.setFooter([$ok, $cancel]);
dialog.open($div, (title as string) || ' ', true, true);
$ok.focus();
return dialog;
};
import { Jodit } from '../../Jodit';