From 70ea63ce3b6744289ef3b629544d310fc78711ba Mon Sep 17 00:00:00 2001 From: Mateusz Baginski Date: Mon, 13 Jan 2025 12:02:00 +0100 Subject: [PATCH] Improve cloud injector error reporting. --- demos/cdn-react/App.tsx | 23 ++-- .../CKEditorCloudLocalPluginDemo.tsx | 62 +++++++++++ demos/cdn-react/local-plugin.umd.js | 100 ++++++++++++++++++ src/cloud/useCKEditorCloud.tsx | 10 ++ src/hooks/useAsyncCallback.ts | 2 - 5 files changed, 184 insertions(+), 13 deletions(-) create mode 100644 demos/cdn-react/CKEditorCloudLocalPluginDemo.tsx create mode 100644 demos/cdn-react/local-plugin.umd.js diff --git a/demos/cdn-react/App.tsx b/demos/cdn-react/App.tsx index 41dd333..daa261d 100644 --- a/demos/cdn-react/App.tsx +++ b/demos/cdn-react/App.tsx @@ -9,6 +9,7 @@ import { CKEditorCloudDemo } from './CKEditorCloudDemo.js'; import { CKEditorCloudPluginsDemo } from './CKEditorCloudPluginsDemo.js'; import { CKEditorCKBoxCloudDemo } from './CKEditorCKBoxCloudDemo.js'; import { CKEditorCloudContextDemo } from './CKEditorCloudContextDemo.js'; +import { CKEditorCloudLocalPluginsDemo } from './CKEditorCloudLocalPluginDemo.js'; const EDITOR_CONTENT = `

Sample

@@ -22,29 +23,29 @@ const EDITOR_CONTENT = ` custom build works fine.

`; -const DEMOS = [ 'Editor', 'Context', 'CKBox', 'Cloud Plugins' ] as const; +const EDITOR_CONTENT_ELEMENTS = { + Editor: , + Context: , + CKBox: , + 'Cloud Plugins': , + 'Cloud Local Plugins': +}; -type Demo = ( typeof DEMOS )[ number ]; +type Demo = keyof typeof EDITOR_CONTENT_ELEMENTS; export const App = (): ReactNode => { const [ currentDemo, setCurrentDemo ] = useState( 'Editor' ); - - const content = ( { - Editor: , - Context: , - CKBox: , - 'Cloud Plugins': - } )[ currentDemo ]; + const content = EDITOR_CONTENT_ELEMENTS[ currentDemo ]; return (

CKEditor 5 – React Component – CDN demo

- { DEMOS.map( demo => ( + { Object.keys( EDITOR_CONTENT_ELEMENTS ).map( demo => (