@ckeditor/ckeditor5-paragraph 40.0.0 → 40.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,64 +1,64 @@
1
- /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
- */
5
- /**
6
- * @module paragraph/paragraphcommand
7
- */
8
- import { Command } from '@ckeditor/ckeditor5-core';
9
- import { first } from '@ckeditor/ckeditor5-utils';
10
- /**
11
- * The paragraph command.
12
- */
13
- export default class ParagraphCommand extends Command {
14
- constructor(editor) {
15
- super(editor);
16
- // Since this command may pass selection in execution block, it should be checked directly.
17
- this._isEnabledBasedOnSelection = false;
18
- }
19
- /**
20
- * @inheritDoc
21
- */
22
- refresh() {
23
- const model = this.editor.model;
24
- const document = model.document;
25
- const block = first(document.selection.getSelectedBlocks());
26
- this.value = !!block && block.is('element', 'paragraph');
27
- this.isEnabled = !!block && checkCanBecomeParagraph(block, model.schema);
28
- }
29
- /**
30
- * Executes the command. All the blocks (see {@link module:engine/model/schema~Schema}) in the selection
31
- * will be turned to paragraphs.
32
- *
33
- * @fires execute
34
- * @param options Options for the executed command.
35
- * @param options.selection The selection that the command should be applied to. By default,
36
- * if not provided, the command is applied to the {@link module:engine/model/document~Document#selection}.
37
- */
38
- execute(options = {}) {
39
- const model = this.editor.model;
40
- const document = model.document;
41
- const selection = options.selection || document.selection;
42
- // Don't execute command if selection is in non-editable place.
43
- if (!model.canEditAt(selection)) {
44
- return;
45
- }
46
- model.change(writer => {
47
- const blocks = selection.getSelectedBlocks();
48
- for (const block of blocks) {
49
- if (!block.is('element', 'paragraph') && checkCanBecomeParagraph(block, model.schema)) {
50
- writer.rename(block, 'paragraph');
51
- }
52
- }
53
- });
54
- }
55
- }
56
- /**
57
- * Checks whether the given block can be replaced by a paragraph.
58
- *
59
- * @param block A block to be tested.
60
- * @param schema The schema of the document.
61
- */
62
- function checkCanBecomeParagraph(block, schema) {
63
- return schema.checkChild(block.parent, 'paragraph') && !schema.isObject(block);
64
- }
1
+ /**
2
+ * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @module paragraph/paragraphcommand
7
+ */
8
+ import { Command } from '@ckeditor/ckeditor5-core';
9
+ import { first } from '@ckeditor/ckeditor5-utils';
10
+ /**
11
+ * The paragraph command.
12
+ */
13
+ export default class ParagraphCommand extends Command {
14
+ constructor(editor) {
15
+ super(editor);
16
+ // Since this command may pass selection in execution block, it should be checked directly.
17
+ this._isEnabledBasedOnSelection = false;
18
+ }
19
+ /**
20
+ * @inheritDoc
21
+ */
22
+ refresh() {
23
+ const model = this.editor.model;
24
+ const document = model.document;
25
+ const block = first(document.selection.getSelectedBlocks());
26
+ this.value = !!block && block.is('element', 'paragraph');
27
+ this.isEnabled = !!block && checkCanBecomeParagraph(block, model.schema);
28
+ }
29
+ /**
30
+ * Executes the command. All the blocks (see {@link module:engine/model/schema~Schema}) in the selection
31
+ * will be turned to paragraphs.
32
+ *
33
+ * @fires execute
34
+ * @param options Options for the executed command.
35
+ * @param options.selection The selection that the command should be applied to. By default,
36
+ * if not provided, the command is applied to the {@link module:engine/model/document~Document#selection}.
37
+ */
38
+ execute(options = {}) {
39
+ const model = this.editor.model;
40
+ const document = model.document;
41
+ const selection = options.selection || document.selection;
42
+ // Don't execute command if selection is in non-editable place.
43
+ if (!model.canEditAt(selection)) {
44
+ return;
45
+ }
46
+ model.change(writer => {
47
+ const blocks = selection.getSelectedBlocks();
48
+ for (const block of blocks) {
49
+ if (!block.is('element', 'paragraph') && checkCanBecomeParagraph(block, model.schema)) {
50
+ writer.rename(block, 'paragraph');
51
+ }
52
+ }
53
+ });
54
+ }
55
+ }
56
+ /**
57
+ * Checks whether the given block can be replaced by a paragraph.
58
+ *
59
+ * @param block A block to be tested.
60
+ * @param schema The schema of the document.
61
+ */
62
+ function checkCanBecomeParagraph(block, schema) {
63
+ return schema.checkChild(block.parent, 'paragraph') && !schema.isObject(block);
64
+ }