| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- /**
- * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
- */
- /**
- * @module core/contextplugin
- */
- import ObservableMixin from '@ckeditor/ckeditor5-utils/src/observablemixin';
- import mix from '@ckeditor/ckeditor5-utils/src/mix';
- /**
- * The base class for {@link module:core/context~Context} plugin classes.
- *
- * A context plugin can either be initialized for an {@link module:core/editor/editor~Editor editor} or for
- * a {@link module:core/context~Context context}. In other words, it can either
- * work within one editor instance or with one or more editor instances that use a single context.
- * It is the context plugin's role to implement handling for both modes.
- *
- * There are a few rules for interaction between the editor plugins and context plugins:
- *
- * * A context plugin can require another context plugin.
- * * An {@link module:core/plugin~Plugin editor plugin} can require a context plugin.
- * * A context plugin MUST NOT require an {@link module:core/plugin~Plugin editor plugin}.
- *
- * @implements module:core/plugin~PluginInterface
- * @mixes module:utils/observablemixin~ObservableMixin
- */
- export default class ContextPlugin {
- /**
- * Creates a new plugin instance.
- *
- * @param {module:core/context~Context|module:core/editor/editor~Editor} context
- */
- constructor( context ) {
- /**
- * The context instance.
- *
- * @readonly
- * @type {module:core/context~Context|module:core/editor/editor~Editor}
- */
- this.context = context;
- }
- /**
- * @inheritDoc
- */
- destroy() {
- this.stopListening();
- }
- /**
- * @inheritDoc
- */
- static get isContextPlugin() {
- return true;
- }
- }
- mix( ContextPlugin, ObservableMixin );
|