jodit
Version:
Jodit is an awesome and useful wysiwyg editor with filebrowser
85 lines (84 loc) • 2.94 kB
JavaScript
/*!
* Jodit Editor (https://xdsoft.net/jodit/)
* Released under MIT see LICENSE.txt in the project root for license information.
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
*/
import { UIButton } from "../../core/ui/button/index.js";
import { UIBlock, UICheckbox, UIForm, UIInput, UISelect } from "../../core/ui/form/index.js";
export const formTemplate = (editor) => {
const { openInNewTabCheckbox, noFollowCheckbox, modeClassName, selectSizeClassName, selectMultipleClassName, selectOptionsClassName } = editor.o.link;
return new UIForm(editor, [
new UIBlock(editor, [
new UIInput(editor, {
name: 'url',
type: 'text',
ref: 'url_input',
label: 'URL',
placeholder: 'http://',
required: true
})
]),
new UIBlock(editor, [
new UIInput(editor, {
name: 'content',
ref: 'content_input',
label: 'Text'
})
], {
ref: 'content_input_box'
}),
modeClassName
? new UIBlock(editor, [
(() => {
if (modeClassName === 'input') {
return new UIInput(editor, {
name: 'className',
ref: 'className_input',
label: 'Class name'
});
}
if (modeClassName === 'select') {
return new UISelect(editor, {
name: 'className',
ref: 'className_select',
label: 'Class name',
size: selectSizeClassName,
multiple: selectMultipleClassName,
options: selectOptionsClassName
});
}
return null;
})()
])
: null,
openInNewTabCheckbox
? new UICheckbox(editor, {
name: 'target',
ref: 'target_checkbox',
label: 'Open in new tab'
})
: null,
noFollowCheckbox
? new UICheckbox(editor, {
name: 'nofollow',
ref: 'nofollow_checkbox',
label: 'No follow'
})
: null,
new UIBlock(editor, [
new UIButton(editor, {
name: 'unlink',
variant: 'default',
text: 'Unlink'
}),
new UIButton(editor, {
name: 'insert',
type: 'submit',
variant: 'primary',
text: 'Insert'
})
], {
align: 'full'
})
]);
};