/** @var {SimpleWysiwygEditorInterface|null} */
this.editor = null;
+ const translations = {
+ ...window.editor_translations,
+ imageUploadErrorText: this.$opts.imageUploadErrorText,
+ serverUploadLimitText: this.$opts.serverUploadLimitText,
+ };
+
window.importVersioned('wysiwyg').then(wysiwyg => {
const editorContent = this.input.value;
this.editor = wysiwyg.createPageEditorInstance(this.editContainer, editorContent, {
pageId: Number(this.$opts.pageId),
darkMode: document.documentElement.classList.contains('dark-mode'),
textDirection: this.$opts.textDirection,
- translations: {
- imageUploadErrorText: this.$opts.imageUploadErrorText,
- serverUploadLimitText: this.$opts.serverUploadLimitText,
- },
+ translations,
});
});
};
export const alignJustify: EditorButtonDefinition = {
- label: 'Align justify',
+ label: 'Justify',
icon: alignJustifyIcon,
action(context: EditorUiContext) {
context.editor.update(() => setAlignmentForSelection(context, 'justify'));
function buildCalloutButton(category: CalloutCategory, name: string): EditorButtonDefinition {
return {
- label: `${name} Callout`,
+ label: name,
action(context: EditorUiContext) {
context.editor.update(() => {
$toggleSelectionBlockNodeType(
export const source: EditorButtonDefinition = {
- label: 'Source code',
+ label: 'Source',
icon: sourceIcon,
async action(context: EditorUiContext) {
const modal = context.manager.createModal('source');
export const italic: EditorButtonDefinition = buildFormatButton('Italic', 'italic', italicIcon);
export const underline: EditorButtonDefinition = buildFormatButton('Underline', 'underline', underlinedIcon);
export const textColor: EditorBasicButtonDefinition = {label: 'Text color', icon: textColorIcon};
-export const highlightColor: EditorBasicButtonDefinition = {label: 'Highlight color', icon: highlightIcon};
+export const highlightColor: EditorBasicButtonDefinition = {label: 'Background color', icon: highlightIcon};
export const strikethrough: EditorButtonDefinition = buildFormatButton('Strikethrough', 'strikethrough', strikethroughIcon);
export const superscript: EditorButtonDefinition = buildFormatButton('Superscript', 'superscript', superscriptIcon);
export const subscript: EditorButtonDefinition = buildFormatButton('Subscript', 'subscript', subscriptIcon);
-export const code: EditorButtonDefinition = buildFormatButton('Inline Code', 'code', codeIcon);
+export const code: EditorButtonDefinition = buildFormatButton('Inline code', 'code', codeIcon);
export const clearFormating: EditorButtonDefinition = {
label: 'Clear formatting',
icon: formatClearIcon,
export const modals: Record<string, EditorFormModalDefinition> = {
link: {
- title: 'Insert/Edit link',
+ title: 'Insert/Edit Link',
form: link,
},
image: {
if (this.definition.type === 'select') {
const options = (this.definition as EditorSelectFormFieldDefinition).valuesByLabel
const labels = Object.keys(options);
- const optionElems = labels.map(label => el('option', {value: options[label]}, [label]));
+ const optionElems = labels.map(label => el('option', {value: options[label]}, [this.trans(label)]));
input = el('select', {id, name: this.definition.name, class: 'editor-form-field-input'}, optionElems);
} else if (this.definition.type === 'textarea') {
input = el('textarea', {id, name: this.definition.name, class: 'editor-form-field-input'});
editorDOM: element,
scrollDOM: scrollContainer,
manager,
- translate: (text: string): string => text, // TODO - Implement
+ translate(text: string): string {
+ const translations = options.translations;
+ return translations[text] || text;
+ },
error(error: string|Error): void {
const message = error instanceof Error ? error.message : error;
window.$events.error(message); // TODO - Translate
<div class="editor-container flex-container-column flex-fill flex" refs="wysiwyg-editor@edit-container">
</div>
- <div id="lexical-debug" style="white-space: pre-wrap; font-size: 12px; height: 200px; overflow-y: scroll; background-color: #000; padding: 1rem; border-radius: 4px; color: #FFF;"></div>
+{{-- <div id="lexical-debug" style="white-space: pre-wrap; font-size: 12px; height: 200px; overflow-y: scroll; background-color: #000; padding: 1rem; border-radius: 4px; color: #FFF;"></div>--}}
<textarea refs="wysiwyg-editor@input" id="html-editor" hidden="hidden" name="html" rows="5">{{ old('html') ?? $model->html ?? '' }}</textarea>
</div>
<div class="text-neg text-small">{{ $errors->first('html') }}</div>
@endif
-{{--TODO - @include('form.editor-translations')--}}
\ No newline at end of file
+@include('form.editor-translations')
\ No newline at end of file