UNPKG

@ckeditor/ckeditor5-editor-classic

Version:

Classic editor implementation for CKEditor 5.

52 lines (51 loc) 2.07 kB
/** * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ /** * @module editor-classic/classiceditoruiview */ import { BoxedEditorUIView, InlineEditableUIView, MenuBarView, StickyPanelView, ToolbarView } from 'ckeditor5/src/ui.js'; import '../theme/classiceditor.css'; /** * Classic editor UI view. Uses an inline editable and a sticky toolbar, all * enclosed in a boxed UI view. */ export default class ClassicEditorUIView extends BoxedEditorUIView { /** * Creates an instance of the classic editor UI view. * * @param locale The {@link module:core/editor/editor~Editor#locale} instance. * @param editingView The editing view instance this view is related to. * @param options Configuration options for the view instance. * @param options.shouldToolbarGroupWhenFull When set `true` enables automatic items grouping * in the main {@link module:editor-classic/classiceditoruiview~ClassicEditorUIView#toolbar toolbar}. * See {@link module:ui/toolbar/toolbarview~ToolbarOptions#shouldGroupWhenFull} to learn more. */ constructor(locale, editingView, options = {}) { super(locale); this.stickyPanel = new StickyPanelView(locale); this.toolbar = new ToolbarView(locale, { shouldGroupWhenFull: options.shouldToolbarGroupWhenFull }); if (options.useMenuBar) { this.menuBarView = new MenuBarView(locale); } this.editable = new InlineEditableUIView(locale, editingView); } /** * @inheritDoc */ render() { super.render(); if (this.menuBarView) { // Set toolbar as a child of a stickyPanel and makes toolbar sticky. this.stickyPanel.content.addMany([this.menuBarView, this.toolbar]); } else { this.stickyPanel.content.add(this.toolbar); } this.top.add(this.stickyPanel); this.main.add(this.editable); } }