Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion app/src/editors/bbCode.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
import { BBCode } from "@coremedia/ckeditor5-bbcode";
import { DataFacade } from "@coremedia/ckeditor5-data-facade";
import { Blocklist } from "@coremedia/ckeditor5-coremedia-blocklist";
import {
Blocklist,
de as deBlocklistTranslations,
en as enBlocklistTranslations,
} from "@coremedia/ckeditor5-coremedia-blocklist";
import { MockBlocklistService } from "@coremedia-internal/ckeditor5-coremedia-studio-integration-mock";
import {
Autoformat,
Expand Down Expand Up @@ -34,6 +38,8 @@ import {
Strikethrough,
Underline,
} from "ckeditor5";
import enCoreTranslations from "ckeditor5/translations/en.js";
import deCoreTranslations from "ckeditor5/translations/de.js";
import { updatePreview } from "../preview";
import type { ApplicationState } from "../ApplicationState";
import type { CKEditorInstanceFactory } from "../CKEditorInstanceFactory";
Expand Down Expand Up @@ -298,6 +304,7 @@ export const createBBCodeEditor: CKEditorInstanceFactory = (
// Won't change the language of content.
content: "en",
},
translations: [enCoreTranslations, deCoreTranslations, enBlocklistTranslations, deBlocklistTranslations],
list: {
properties: {
startIndex: false,
Expand Down
35 changes: 32 additions & 3 deletions app/src/editors/richtext.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,21 @@ import {
ContentLinks,
COREMEDIA_CONTEXT_KEY,
COREMEDIA_LINK_CONFIG_KEY,
de as deLinkTranslations,
en as enLinkTranslations,
LinkTarget,
} from "@coremedia/ckeditor5-coremedia-link";
import { ContentClipboard, PasteContentPlugin } from "@coremedia/ckeditor5-coremedia-content-clipboard";
import { ContentImagePlugin } from "@coremedia/ckeditor5-coremedia-images";
import {
ContentClipboard,
de as deClipboardTranslations,
en as enClipboardTranslations,
PasteContentPlugin,
} from "@coremedia/ckeditor5-coremedia-content-clipboard";
import {
ContentImagePlugin,
de as deImagesTranslations,
en as enImagesTranslations,
} from "@coremedia/ckeditor5-coremedia-images";
import { FontMapper as CoreMediaFontMapper } from "@coremedia/ckeditor5-font-mapper";
import {
COREMEDIA_MOCK_CONTENT_PLUGIN,
Expand Down Expand Up @@ -63,6 +74,8 @@ import {
TableToolbar,
Underline,
} from "ckeditor5";
import enCoreTranslations from "ckeditor5/translations/en.js";
import deCoreTranslations from "ckeditor5/translations/de.js";
import type { RuleConfig } from "@coremedia/ckeditor5-dom-converter";
import type {
LatestCoreMediaRichTextConfig,
Expand All @@ -78,7 +91,11 @@ import type { FilterRuleSetConfiguration } from "@coremedia/ckeditor5-dataproces
import type { LinkAttributesConfig } from "@coremedia/ckeditor5-link-common";
import { LinkAttributes } from "@coremedia/ckeditor5-link-common";
import { Differencing } from "@coremedia/ckeditor5-coremedia-differencing";
import { Blocklist } from "@coremedia/ckeditor5-coremedia-blocklist";
import {
Blocklist,
de as deBlocklistTranslations,
en as enBlocklistTranslations,
} from "@coremedia/ckeditor5-coremedia-blocklist";
import { DataFacade } from "@coremedia/ckeditor5-data-facade";
import type { CKEditorInstanceFactory } from "../CKEditorInstanceFactory";
import type { ApplicationState } from "../ApplicationState";
Expand Down Expand Up @@ -418,6 +435,18 @@ export const createRichTextEditor: CKEditorInstanceFactory = async (
// Won't change the language of content.
content: "en",
},
translations: [
enCoreTranslations,
deCoreTranslations,
enBlocklistTranslations,
deBlocklistTranslations,
enImagesTranslations,
deImagesTranslations,
enLinkTranslations,
deLinkTranslations,
enClipboardTranslations,
deClipboardTranslations,
],
autosave: {
waitingTime: 1000, // in ms
},
Expand Down
2 changes: 1 addition & 1 deletion packages/ckeditor5-core-common/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@ export {
type InitInformation,
type OnMissingPlugin,
} from "./Plugins";
export { addTranslations, openLink } from "./utils";
export { openLink } from "./utils";
export type { CommandHandler } from "./Commands";
export { disableCommand, enableCommand, ifCommand, optionalCommandNotFound, recommendCommand } from "./Commands";
21 changes: 0 additions & 21 deletions packages/ckeditor5-core-common/src/utils.ts
Original file line number Diff line number Diff line change
@@ -1,24 +1,3 @@
import { global } from "ckeditor5";

if (!global.window.CKEDITOR_TRANSLATIONS) {
global.window.CKEDITOR_TRANSLATIONS = {};
}

// as add is not exposed anymore from the unified package, we need to implement it here
export const addTranslations = (
language: string,
translations: Readonly<Record<string, string | readonly string[]>>,
getPluralForm?: (n: number) => number,
) => {
if (!global.window.CKEDITOR_TRANSLATIONS[language]) {
global.window.CKEDITOR_TRANSLATIONS[language] = { dictionary: {} };
}
const languageTranslations = global.window.CKEDITOR_TRANSLATIONS[language];
languageTranslations.dictionary = languageTranslations.dictionary || {};
languageTranslations.getPluralForm = getPluralForm ?? languageTranslations.getPluralForm;
Object.assign(languageTranslations.dictionary, translations);
};

/**
* Opens the link in a new browser tab.
*/
Expand Down
5 changes: 2 additions & 3 deletions packages/ckeditor5-coremedia-blocklist/src/blocklistui.ts
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
import { ifCommand } from "@coremedia/ckeditor5-core-common";
import type {
DomOptimalPositionOptions,
ModelTextProxy,
ViewAttributeElement,
ViewDocumentClickEvent,
ViewDocumentFragment,
ViewNode,
ViewPosition,
DomOptimalPositionOptions,
} from "ckeditor5";
import { Plugin, ButtonView, clickOutsideHandler, ContextualBalloon } from "ckeditor5";
import { ButtonView, clickOutsideHandler, ContextualBalloon, Plugin } from "ckeditor5";
import blocklistIcon from "../theme/icons/blocklist.svg";
import type BlocklistCommand from "./blocklistCommand";
import { BLOCKLIST_COMMAND_NAME } from "./blocklistCommand";
import BlocklistActionsView from "./ui/blocklistActionsView";
import "./lang/blocklist";
import type { UnblockEvent } from "./ui/blockedWordView";
import BlocklistEditing from "./blocklistediting";

Expand Down
1 change: 1 addition & 0 deletions packages/ckeditor5-coremedia-blocklist/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@

export { default as Blocklist } from "./blocklist";
export { default as BlocklistActionsView } from "./ui/blocklistActionsView";
export { de, en } from "./translations";
16 changes: 0 additions & 16 deletions packages/ckeditor5-coremedia-blocklist/src/lang/blocklist.ts

This file was deleted.

17 changes: 17 additions & 0 deletions packages/ckeditor5-coremedia-blocklist/src/translations.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import type { Translations } from "ckeditor5";

export const de: Translations = {
de: {
dictionary: {
"Edit blocklist": "Blockliste bearbeiten",
"Block": "Sperren",
"Add word to blocklist": "Begriff zur Blockliste hinzufügen",
"Remove word from blocklist": "Begriff aus Blockliste löschen",
"Enter word to block": "Begriff zur Liste hinzufügen",
},
},
};

export const en: Translations = {
en: { dictionary: Object.fromEntries(Object.keys(de.de.dictionary).map((k) => [k, k])) },
};
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import type { Locale } from "ckeditor5";
import { ButtonView, KeystrokeHandler, submitHandler, View, ViewCollection } from "ckeditor5";
import trashbinIcon from "../../theme/icons/trashbin.svg";
import "../../theme/blockedwordview.css";
import "../lang/blocklist";

/**
* The blocked word view.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
import type { ViewCollection, InputTextView, Locale } from "ckeditor5";
import type { InputTextView, Locale, ViewCollection } from "ckeditor5";
import {
ButtonView,
LabeledFieldView,
View,
createLabeledInputText,
submitHandler,
KeystrokeHandler,
IconCheck,
KeystrokeHandler,
LabeledFieldView,
submitHandler,
View,
} from "ckeditor5";
import "../lang/blocklist";

/**
* A view, displaying an input field and a save button next to it.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ export * as integrations from "./integrations/index-doc";
*/
export * as paste from "./paste/index-doc";

export type * as lang from "./lang/index-doc";

export * from "./ContentClipboard";
export { default as ContentClipboard } from "./ContentClipboard";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,6 @@ export { default as PasteContentPlugin } from "./paste/PasteContentPlugin";
export { default as PasteContentUI } from "./paste/PasteContentUI";
export { PasteContentCommand } from "./paste/PasteContentCommand";
export type { CreateModelFunction, CreateModelFunctionCreator } from "./ContentToModelRegistry";
export { de, en } from "./translations";

import "./augmentation";

This file was deleted.

12 changes: 0 additions & 12 deletions packages/ckeditor5-coremedia-content-clipboard/src/lang/paste.ts

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import { reportInitEnd, reportInitStart } from "@coremedia/ckeditor5-core-common
import type { Editor } from "ckeditor5";
import { ButtonView, Plugin } from "ckeditor5";
import pasteIcon from "../../theme/icons/paste.svg";
import "../lang/paste";

export default class PasteContentUI extends Plugin {
static readonly pluginName = "pasteContentUI";
Expand Down
13 changes: 13 additions & 0 deletions packages/ckeditor5-coremedia-content-clipboard/src/translations.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import type { Translations } from "ckeditor5";

export const de: Translations = {
de: {
dictionary: {
"Paste Content": "Inhalte einfügen",
},
},
};

export const en: Translations = {
en: { dictionary: Object.fromEntries(Object.keys(de.de.dictionary).map((k) => [k, k])) },
};
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import { LoggerProvider } from "@coremedia/ckeditor5-logging";
import type { Editor } from "ckeditor5";
import { ButtonView, Plugin } from "ckeditor5";
import openInTabIcon from "../../theme/icons/openInTab.svg";
import "../lang/contentImageOpenInTab";
import ContentImageEditingPlugin from "../ContentImageEditingPlugin";
import { executeOpenImageInTabCommand, requireOpenImageInTabCommand } from "./OpenImageInTabCommand";

Expand Down
15 changes: 6 additions & 9 deletions packages/ckeditor5-coremedia-images/src/converters.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,17 @@ import { LoggerProvider } from "@coremedia/ckeditor5-logging";
import { serviceAgent } from "@coremedia/service-agent";
import type {
DowncastDispatcher,
ViewDowncastWriter,
Editor,
ModelElement,
EventInfo,
ModelElement,
UpcastConversionApi,
UpcastDispatcher,
ViewDowncastWriter,
ViewElement,
} from "ckeditor5";
import { IMAGE_PLUGIN_NAME, IMAGE_SPINNER_CSS_CLASS, IMAGE_SPINNER_SVG } from "./constants";
import ModelBoundSubscriptionPlugin from "./ModelBoundSubscriptionPlugin";
import "../theme/loadmask.css";
import "./lang/contentimage";

const LOGGER = LoggerProvider.getLogger(IMAGE_PLUGIN_NAME);

Expand Down Expand Up @@ -62,14 +61,12 @@ export const preventUpcastImageSrc =
dispatcher.on(
`element:img`,
(evt: EventInfo, data, conversionApi: UpcastConversionApi) => {
// eslint-disable-next-line
if (data.viewItem.hasAttribute("data-xlink-href")) {
// eslint-disable-next-line
conversionApi.consumable.consume(data.viewItem, {
if (data.viewItem.hasAttribute("data-xlink-href")) {
conversionApi.consumable.consume(data.viewItem, {
attributes: "src",
});
// eslint-disable-next-line
data.viewItem._removeAttribute("src");

data.viewItem._removeAttribute("src");
}
},
{
Expand Down
1 change: 1 addition & 0 deletions packages/ckeditor5-coremedia-images/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,6 @@ export { default as ContentImageOpenInTabUI } from "./contentImageOpenInTab/Cont
export { default as ContentImagePlugin } from "./ContentImagePlugin";
export { default as ModelBoundSubscriptionPlugin } from "./ModelBoundSubscriptionPlugin";
export { OpenImageInTabCommand } from "./contentImageOpenInTab/OpenImageInTabCommand";
export { de, en } from "./translations";

import "./augmentation";

This file was deleted.

12 changes: 0 additions & 12 deletions packages/ckeditor5-coremedia-images/src/lang/contentimage.ts

This file was deleted.

8 changes: 0 additions & 8 deletions packages/ckeditor5-coremedia-images/src/lang/index-doc.ts

This file was deleted.

9 changes: 9 additions & 0 deletions packages/ckeditor5-coremedia-images/src/translations.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import type { Translations } from "ckeditor5";

export const de: Translations = {
de: { dictionary: { "loading...": "Inhalt wird geladen...", "Open in tab": "Im Tab öffnen" } },
};

export const en: Translations = {
en: { dictionary: Object.fromEntries(Object.keys(de.de.dictionary).map((k) => [k, k])) },
};
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import type { Subscription } from "rxjs";
import { createDecoratorHook } from "../utils";
import ContentLinkClipboardPlugin from "./ContentLinkClipboardPlugin";
import ContentLinkCommandHook from "./ContentLinkCommandHook";
import "../lang/contentlink";
import { closeContextualBalloon } from "./ContentLinkViewUtils";
import { hasRequiredInternalLinkUI } from "./InternalLinkUI";
import { parseLinkBalloonConfig } from "./LinkBalloonConfig";
Expand Down
1 change: 0 additions & 1 deletion packages/ckeditor5-coremedia-link/src/index-doc.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,4 @@
export * as utils from "./utils";

export * as contentlink from "./contentlink/index-doc";
export type * as lang from "./lang/index-doc";
export * as linktarget from "./linktarget/index-doc";
1 change: 1 addition & 0 deletions packages/ckeditor5-coremedia-link/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,5 @@ export { default as LinkTargetCommand } from "./linktarget/command/LinkTargetCom
export { default as LinkTargetModelView } from "./linktarget/LinkTargetModelView";
export { default as CustomLinkTargetUI } from "./linktarget/ui/CustomLinkTargetUI";

export { de, en } from "./translations";
import "./augmentation";
Loading
Loading