@ckeditor/ckeditor5-image 39.0.1 → 40.0.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.
Files changed (182) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/LICENSE.md +1 -1
  3. package/README.md +3 -3
  4. package/build/image.js +1 -1
  5. package/build/image.js.map +1 -0
  6. package/build/translations/pt-br.js +1 -1
  7. package/ckeditor5-metadata.json +12 -0
  8. package/lang/translations/ar.po +1 -0
  9. package/lang/translations/ast.po +1 -0
  10. package/lang/translations/az.po +1 -0
  11. package/lang/translations/bg.po +1 -0
  12. package/lang/translations/bn.po +1 -0
  13. package/lang/translations/bs.po +1 -0
  14. package/lang/translations/ca.po +1 -0
  15. package/lang/translations/cs.po +1 -0
  16. package/lang/translations/da.po +1 -0
  17. package/lang/translations/de-ch.po +1 -0
  18. package/lang/translations/de.po +1 -0
  19. package/lang/translations/el.po +1 -0
  20. package/lang/translations/en-au.po +1 -0
  21. package/lang/translations/en-gb.po +1 -0
  22. package/lang/translations/en.po +1 -0
  23. package/lang/translations/eo.po +1 -0
  24. package/lang/translations/es.po +1 -0
  25. package/lang/translations/et.po +1 -0
  26. package/lang/translations/eu.po +1 -0
  27. package/lang/translations/fa.po +1 -0
  28. package/lang/translations/fi.po +1 -0
  29. package/lang/translations/fr.po +1 -0
  30. package/lang/translations/gl.po +1 -0
  31. package/lang/translations/he.po +1 -0
  32. package/lang/translations/hi.po +1 -0
  33. package/lang/translations/hr.po +1 -0
  34. package/lang/translations/hu.po +1 -0
  35. package/lang/translations/id.po +1 -0
  36. package/lang/translations/it.po +1 -0
  37. package/lang/translations/ja.po +1 -0
  38. package/lang/translations/jv.po +1 -0
  39. package/lang/translations/km.po +1 -0
  40. package/lang/translations/kn.po +1 -0
  41. package/lang/translations/ko.po +1 -0
  42. package/lang/translations/ku.po +1 -0
  43. package/lang/translations/lt.po +1 -0
  44. package/lang/translations/lv.po +1 -0
  45. package/lang/translations/ms.po +1 -0
  46. package/lang/translations/nb.po +1 -0
  47. package/lang/translations/ne.po +1 -0
  48. package/lang/translations/nl.po +1 -0
  49. package/lang/translations/no.po +1 -0
  50. package/lang/translations/pl.po +1 -0
  51. package/lang/translations/pt-br.po +2 -1
  52. package/lang/translations/pt.po +1 -0
  53. package/lang/translations/ro.po +1 -0
  54. package/lang/translations/ru.po +1 -0
  55. package/lang/translations/si.po +1 -0
  56. package/lang/translations/sk.po +1 -0
  57. package/lang/translations/sq.po +1 -0
  58. package/lang/translations/sr-latn.po +1 -0
  59. package/lang/translations/sr.po +1 -0
  60. package/lang/translations/sv.po +1 -0
  61. package/lang/translations/th.po +1 -0
  62. package/lang/translations/tk.po +1 -0
  63. package/lang/translations/tr.po +1 -0
  64. package/lang/translations/tt.po +1 -0
  65. package/lang/translations/ug.po +1 -0
  66. package/lang/translations/uk.po +1 -0
  67. package/lang/translations/ur.po +1 -0
  68. package/lang/translations/uz.po +1 -0
  69. package/lang/translations/vi.po +1 -0
  70. package/lang/translations/zh-cn.po +1 -0
  71. package/lang/translations/zh.po +1 -0
  72. package/package.json +3 -7
  73. package/src/augmentation.d.ts +56 -55
  74. package/src/augmentation.js +5 -5
  75. package/src/autoimage.d.ts +52 -52
  76. package/src/autoimage.js +132 -132
  77. package/src/image/converters.d.ts +66 -66
  78. package/src/image/converters.js +232 -242
  79. package/src/image/imageblockediting.d.ts +58 -55
  80. package/src/image/imageblockediting.js +152 -136
  81. package/src/image/imageediting.d.ts +30 -30
  82. package/src/image/imageediting.js +63 -74
  83. package/src/image/imageinlineediting.d.ts +59 -56
  84. package/src/image/imageinlineediting.js +176 -160
  85. package/src/image/imageloadobserver.d.ts +48 -48
  86. package/src/image/imageloadobserver.js +52 -52
  87. package/src/image/imagetypecommand.d.ts +44 -40
  88. package/src/image/imagetypecommand.js +80 -77
  89. package/src/image/insertimagecommand.d.ts +66 -66
  90. package/src/image/insertimagecommand.js +120 -120
  91. package/src/image/replaceimagesourcecommand.d.ts +34 -34
  92. package/src/image/replaceimagesourcecommand.js +44 -44
  93. package/src/image/ui/utils.d.ts +25 -25
  94. package/src/image/ui/utils.js +44 -44
  95. package/src/image/utils.d.ts +64 -52
  96. package/src/image/utils.js +121 -100
  97. package/src/image.d.ts +34 -34
  98. package/src/image.js +38 -38
  99. package/src/imageblock.d.ts +33 -33
  100. package/src/imageblock.js +37 -37
  101. package/src/imagecaption/imagecaptionediting.d.ts +89 -89
  102. package/src/imagecaption/imagecaptionediting.js +225 -225
  103. package/src/imagecaption/imagecaptionui.d.ts +26 -26
  104. package/src/imagecaption/imagecaptionui.js +61 -61
  105. package/src/imagecaption/imagecaptionutils.d.ts +38 -38
  106. package/src/imagecaption/imagecaptionutils.js +62 -62
  107. package/src/imagecaption/toggleimagecaptioncommand.d.ts +66 -66
  108. package/src/imagecaption/toggleimagecaptioncommand.js +138 -138
  109. package/src/imagecaption.d.ts +26 -26
  110. package/src/imagecaption.js +30 -30
  111. package/src/imageconfig.d.ts +713 -713
  112. package/src/imageconfig.js +5 -5
  113. package/src/imageinline.d.ts +33 -33
  114. package/src/imageinline.js +37 -37
  115. package/src/imageinsert/imageinsertui.d.ts +44 -44
  116. package/src/imageinsert/imageinsertui.js +141 -141
  117. package/src/imageinsert/ui/imageinsertformrowview.d.ts +61 -61
  118. package/src/imageinsert/ui/imageinsertformrowview.js +54 -54
  119. package/src/imageinsert/ui/imageinsertpanelview.d.ts +106 -106
  120. package/src/imageinsert/ui/imageinsertpanelview.js +161 -161
  121. package/src/imageinsert/utils.d.ts +25 -25
  122. package/src/imageinsert/utils.js +58 -58
  123. package/src/imageinsert.d.ts +33 -33
  124. package/src/imageinsert.js +37 -37
  125. package/src/imageinsertviaurl.d.ts +30 -30
  126. package/src/imageinsertviaurl.js +34 -34
  127. package/src/imageresize/imageresizebuttons.d.ts +67 -67
  128. package/src/imageresize/imageresizebuttons.js +217 -217
  129. package/src/imageresize/imageresizeediting.d.ts +37 -37
  130. package/src/imageresize/imageresizeediting.js +165 -114
  131. package/src/imageresize/imageresizehandles.d.ts +31 -30
  132. package/src/imageresize/imageresizehandles.js +114 -107
  133. package/src/imageresize/resizeimagecommand.d.ts +42 -42
  134. package/src/imageresize/resizeimagecommand.js +63 -61
  135. package/src/imageresize.d.ts +27 -27
  136. package/src/imageresize.js +31 -31
  137. package/src/imagesizeattributes.d.ts +34 -0
  138. package/src/imagesizeattributes.js +143 -0
  139. package/src/imagestyle/converters.d.ts +24 -24
  140. package/src/imagestyle/converters.js +79 -79
  141. package/src/imagestyle/imagestylecommand.d.ts +68 -65
  142. package/src/imagestyle/imagestylecommand.js +107 -101
  143. package/src/imagestyle/imagestyleediting.d.ts +50 -50
  144. package/src/imagestyle/imagestyleediting.js +108 -108
  145. package/src/imagestyle/imagestyleui.d.ts +56 -56
  146. package/src/imagestyle/imagestyleui.js +192 -192
  147. package/src/imagestyle/utils.d.ts +101 -101
  148. package/src/imagestyle/utils.js +329 -329
  149. package/src/imagestyle.d.ts +32 -32
  150. package/src/imagestyle.js +36 -36
  151. package/src/imagetextalternative/imagetextalternativecommand.d.ts +34 -34
  152. package/src/imagetextalternative/imagetextalternativecommand.js +44 -44
  153. package/src/imagetextalternative/imagetextalternativeediting.d.ts +28 -28
  154. package/src/imagetextalternative/imagetextalternativeediting.js +35 -35
  155. package/src/imagetextalternative/imagetextalternativeui.d.ts +68 -68
  156. package/src/imagetextalternative/imagetextalternativeui.js +173 -173
  157. package/src/imagetextalternative/ui/textalternativeformview.d.ts +72 -72
  158. package/src/imagetextalternative/ui/textalternativeformview.js +121 -121
  159. package/src/imagetextalternative.d.ts +29 -29
  160. package/src/imagetextalternative.js +33 -33
  161. package/src/imagetoolbar.d.ts +35 -35
  162. package/src/imagetoolbar.js +57 -57
  163. package/src/imageupload/imageuploadediting.d.ts +111 -111
  164. package/src/imageupload/imageuploadediting.js +337 -335
  165. package/src/imageupload/imageuploadprogress.d.ts +42 -42
  166. package/src/imageupload/imageuploadprogress.js +211 -211
  167. package/src/imageupload/imageuploadui.d.ts +23 -23
  168. package/src/imageupload/imageuploadui.js +57 -57
  169. package/src/imageupload/uploadimagecommand.d.ts +60 -60
  170. package/src/imageupload/uploadimagecommand.js +100 -100
  171. package/src/imageupload/utils.d.ts +33 -33
  172. package/src/imageupload/utils.js +112 -112
  173. package/src/imageupload.d.ts +32 -32
  174. package/src/imageupload.js +36 -36
  175. package/src/imageutils.d.ts +125 -102
  176. package/src/imageutils.js +306 -248
  177. package/src/index.d.ts +48 -47
  178. package/src/index.js +39 -38
  179. package/src/pictureediting.d.ts +88 -88
  180. package/src/pictureediting.js +130 -130
  181. package/theme/image.css +38 -11
  182. package/theme/imageresize.css +5 -0
@@ -1,52 +1,52 @@
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 image/image/imageloadobserver
7
- */
8
- import { Observer } from 'ckeditor5/src/engine';
9
- /**
10
- * Observes all new images added to the {@link module:engine/view/document~Document},
11
- * fires {@link module:engine/view/document~Document#event:imageLoaded} and
12
- * {@link module:engine/view/document~Document#event:layoutChanged} event every time when the new image
13
- * has been loaded.
14
- *
15
- * **Note:** This event is not fired for images that has been added to the document and rendered as `complete` (already loaded).
16
- */
17
- export default class ImageLoadObserver extends Observer {
18
- /**
19
- * @inheritDoc
20
- */
21
- observe(domRoot) {
22
- this.listenTo(domRoot, 'load', (event, domEvent) => {
23
- const domElement = domEvent.target;
24
- if (this.checkShouldIgnoreEventFromTarget(domElement)) {
25
- return;
26
- }
27
- if (domElement.tagName == 'IMG') {
28
- this._fireEvents(domEvent);
29
- }
30
- // Use capture phase for better performance (#4504).
31
- }, { useCapture: true });
32
- }
33
- /**
34
- * @inheritDoc
35
- */
36
- stopObserving(domRoot) {
37
- this.stopListening(domRoot);
38
- }
39
- /**
40
- * Fires {@link module:engine/view/document~Document#event:layoutChanged} and
41
- * {@link module:engine/view/document~Document#event:imageLoaded}
42
- * if observer {@link #isEnabled is enabled}.
43
- *
44
- * @param domEvent The DOM event.
45
- */
46
- _fireEvents(domEvent) {
47
- if (this.isEnabled) {
48
- this.document.fire('layoutChanged');
49
- this.document.fire('imageLoaded', domEvent);
50
- }
51
- }
52
- }
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 image/image/imageloadobserver
7
+ */
8
+ import { Observer } from 'ckeditor5/src/engine';
9
+ /**
10
+ * Observes all new images added to the {@link module:engine/view/document~Document},
11
+ * fires {@link module:engine/view/document~Document#event:imageLoaded} and
12
+ * {@link module:engine/view/document~Document#event:layoutChanged} event every time when the new image
13
+ * has been loaded.
14
+ *
15
+ * **Note:** This event is not fired for images that has been added to the document and rendered as `complete` (already loaded).
16
+ */
17
+ export default class ImageLoadObserver extends Observer {
18
+ /**
19
+ * @inheritDoc
20
+ */
21
+ observe(domRoot) {
22
+ this.listenTo(domRoot, 'load', (event, domEvent) => {
23
+ const domElement = domEvent.target;
24
+ if (this.checkShouldIgnoreEventFromTarget(domElement)) {
25
+ return;
26
+ }
27
+ if (domElement.tagName == 'IMG') {
28
+ this._fireEvents(domEvent);
29
+ }
30
+ // Use capture phase for better performance (#4504).
31
+ }, { useCapture: true });
32
+ }
33
+ /**
34
+ * @inheritDoc
35
+ */
36
+ stopObserving(domRoot) {
37
+ this.stopListening(domRoot);
38
+ }
39
+ /**
40
+ * Fires {@link module:engine/view/document~Document#event:layoutChanged} and
41
+ * {@link module:engine/view/document~Document#event:imageLoaded}
42
+ * if observer {@link #isEnabled is enabled}.
43
+ *
44
+ * @param domEvent The DOM event.
45
+ */
46
+ _fireEvents(domEvent) {
47
+ if (this.isEnabled) {
48
+ this.document.fire('layoutChanged');
49
+ this.document.fire('imageLoaded', domEvent);
50
+ }
51
+ }
52
+ }
@@ -1,40 +1,44 @@
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 image/image/imagetypecommand
7
- */
8
- import type { Element } from 'ckeditor5/src/engine';
9
- import { Command, type Editor } from 'ckeditor5/src/core';
10
- /**
11
- * The image type command. It changes the type of a selected image, depending on the configuration.
12
- */
13
- export default class ImageTypeCommand extends Command {
14
- /**
15
- * Model element name the command converts to.
16
- */
17
- private readonly _modelElementName;
18
- /**
19
- * @inheritDoc
20
- *
21
- * @param modelElementName Model element name the command converts to.
22
- */
23
- constructor(editor: Editor, modelElementName: 'imageBlock' | 'imageInline');
24
- /**
25
- * @inheritDoc
26
- */
27
- refresh(): void;
28
- /**
29
- * Executes the command and changes the type of a selected image.
30
- *
31
- * @fires execute
32
- * @returns An object containing references to old and new model image elements
33
- * (for before and after the change) so external integrations can hook into the decorated
34
- * `execute` event and handle this change. `null` if the type change failed.
35
- */
36
- execute(): {
37
- oldElement: Element;
38
- newElement: Element;
39
- } | null;
40
- }
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 image/image/imagetypecommand
7
+ */
8
+ import type { Element } from 'ckeditor5/src/engine';
9
+ import { Command, type Editor } from 'ckeditor5/src/core';
10
+ /**
11
+ * The image type command. It changes the type of a selected image, depending on the configuration.
12
+ */
13
+ export default class ImageTypeCommand extends Command {
14
+ /**
15
+ * Model element name the command converts to.
16
+ */
17
+ private readonly _modelElementName;
18
+ /**
19
+ * @inheritDoc
20
+ *
21
+ * @param modelElementName Model element name the command converts to.
22
+ */
23
+ constructor(editor: Editor, modelElementName: 'imageBlock' | 'imageInline');
24
+ /**
25
+ * @inheritDoc
26
+ */
27
+ refresh(): void;
28
+ /**
29
+ * Executes the command and changes the type of a selected image.
30
+ *
31
+ * @fires execute
32
+ * @param options.setImageSizes Specifies whether the image `width` and `height` attributes should be set automatically.
33
+ * The default is `true`.
34
+ * @returns An object containing references to old and new model image elements
35
+ * (for before and after the change) so external integrations can hook into the decorated
36
+ * `execute` event and handle this change. `null` if the type change failed.
37
+ */
38
+ execute(options?: {
39
+ setImageSizes?: boolean;
40
+ }): {
41
+ oldElement: Element;
42
+ newElement: Element;
43
+ } | null;
44
+ }
@@ -1,77 +1,80 @@
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
- import { Command } from 'ckeditor5/src/core';
6
- /**
7
- * The image type command. It changes the type of a selected image, depending on the configuration.
8
- */
9
- export default class ImageTypeCommand extends Command {
10
- /**
11
- * @inheritDoc
12
- *
13
- * @param modelElementName Model element name the command converts to.
14
- */
15
- constructor(editor, modelElementName) {
16
- super(editor);
17
- this._modelElementName = modelElementName;
18
- }
19
- /**
20
- * @inheritDoc
21
- */
22
- refresh() {
23
- const editor = this.editor;
24
- const imageUtils = editor.plugins.get('ImageUtils');
25
- const element = imageUtils.getClosestSelectedImageElement(this.editor.model.document.selection);
26
- if (this._modelElementName === 'imageBlock') {
27
- this.isEnabled = imageUtils.isInlineImage(element);
28
- }
29
- else {
30
- this.isEnabled = imageUtils.isBlockImage(element);
31
- }
32
- }
33
- /**
34
- * Executes the command and changes the type of a selected image.
35
- *
36
- * @fires execute
37
- * @returns An object containing references to old and new model image elements
38
- * (for before and after the change) so external integrations can hook into the decorated
39
- * `execute` event and handle this change. `null` if the type change failed.
40
- */
41
- execute() {
42
- const editor = this.editor;
43
- const model = this.editor.model;
44
- const imageUtils = editor.plugins.get('ImageUtils');
45
- const oldElement = imageUtils.getClosestSelectedImageElement(model.document.selection);
46
- const attributes = Object.fromEntries(oldElement.getAttributes());
47
- // Don't change image type if "src" is missing (a broken image), unless there's "uploadId" set.
48
- // This state may happen during image upload (before it finishes) and it should be possible to change type
49
- // of the image in the meantime.
50
- if (!attributes.src && !attributes.uploadId) {
51
- return null;
52
- }
53
- return model.change(writer => {
54
- // Get all markers that contain the old image element.
55
- const markers = Array.from(model.markers)
56
- .filter(marker => marker.getRange().containsItem(oldElement));
57
- const newElement = imageUtils.insertImage(attributes, model.createSelection(oldElement, 'on'), this._modelElementName);
58
- if (!newElement) {
59
- return null;
60
- }
61
- const newElementRange = writer.createRangeOn(newElement);
62
- // Expand the previously intersecting markers' ranges to include the new image element.
63
- for (const marker of markers) {
64
- const markerRange = marker.getRange();
65
- // Join the survived part of the old marker range with the new element range
66
- // (loosely because there could be some new paragraph or the existing one might got split).
67
- const range = markerRange.root.rootName != '$graveyard' ?
68
- markerRange.getJoined(newElementRange, true) : newElementRange;
69
- writer.updateMarker(marker, { range });
70
- }
71
- return {
72
- oldElement,
73
- newElement
74
- };
75
- });
76
- }
77
- }
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
+ import { Command } from 'ckeditor5/src/core';
6
+ /**
7
+ * The image type command. It changes the type of a selected image, depending on the configuration.
8
+ */
9
+ export default class ImageTypeCommand extends Command {
10
+ /**
11
+ * @inheritDoc
12
+ *
13
+ * @param modelElementName Model element name the command converts to.
14
+ */
15
+ constructor(editor, modelElementName) {
16
+ super(editor);
17
+ this._modelElementName = modelElementName;
18
+ }
19
+ /**
20
+ * @inheritDoc
21
+ */
22
+ refresh() {
23
+ const editor = this.editor;
24
+ const imageUtils = editor.plugins.get('ImageUtils');
25
+ const element = imageUtils.getClosestSelectedImageElement(this.editor.model.document.selection);
26
+ if (this._modelElementName === 'imageBlock') {
27
+ this.isEnabled = imageUtils.isInlineImage(element);
28
+ }
29
+ else {
30
+ this.isEnabled = imageUtils.isBlockImage(element);
31
+ }
32
+ }
33
+ /**
34
+ * Executes the command and changes the type of a selected image.
35
+ *
36
+ * @fires execute
37
+ * @param options.setImageSizes Specifies whether the image `width` and `height` attributes should be set automatically.
38
+ * The default is `true`.
39
+ * @returns An object containing references to old and new model image elements
40
+ * (for before and after the change) so external integrations can hook into the decorated
41
+ * `execute` event and handle this change. `null` if the type change failed.
42
+ */
43
+ execute(options = {}) {
44
+ const editor = this.editor;
45
+ const model = this.editor.model;
46
+ const imageUtils = editor.plugins.get('ImageUtils');
47
+ const oldElement = imageUtils.getClosestSelectedImageElement(model.document.selection);
48
+ const attributes = Object.fromEntries(oldElement.getAttributes());
49
+ // Don't change image type if "src" is missing (a broken image), unless there's "uploadId" set.
50
+ // This state may happen during image upload (before it finishes) and it should be possible to change type
51
+ // of the image in the meantime.
52
+ if (!attributes.src && !attributes.uploadId) {
53
+ return null;
54
+ }
55
+ return model.change(writer => {
56
+ const { setImageSizes = true } = options;
57
+ // Get all markers that contain the old image element.
58
+ const markers = Array.from(model.markers)
59
+ .filter(marker => marker.getRange().containsItem(oldElement));
60
+ const newElement = imageUtils.insertImage(attributes, model.createSelection(oldElement, 'on'), this._modelElementName, { setImageSizes });
61
+ if (!newElement) {
62
+ return null;
63
+ }
64
+ const newElementRange = writer.createRangeOn(newElement);
65
+ // Expand the previously intersecting markers' ranges to include the new image element.
66
+ for (const marker of markers) {
67
+ const markerRange = marker.getRange();
68
+ // Join the survived part of the old marker range with the new element range
69
+ // (loosely because there could be some new paragraph or the existing one might got split).
70
+ const range = markerRange.root.rootName != '$graveyard' ?
71
+ markerRange.getJoined(newElementRange, true) : newElementRange;
72
+ writer.updateMarker(marker, { range });
73
+ }
74
+ return {
75
+ oldElement,
76
+ newElement
77
+ };
78
+ });
79
+ }
80
+ }
@@ -1,66 +1,66 @@
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 image/image/insertimagecommand
7
- */
8
- import { Command, type Editor } from 'ckeditor5/src/core';
9
- import { type ArrayOrItem } from 'ckeditor5/src/utils';
10
- /**
11
- * Insert image command.
12
- *
13
- * The command is registered by the {@link module:image/image/imageediting~ImageEditing} plugin as `insertImage`
14
- * and it is also available via aliased `imageInsert` name.
15
- *
16
- * In order to insert an image at the current selection position
17
- * (according to the {@link module:widget/utils~findOptimalInsertionRange} algorithm),
18
- * execute the command and specify the image source:
19
- *
20
- * ```ts
21
- * editor.execute( 'insertImage', { source: 'http://url.to.the/image' } );
22
- * ```
23
- *
24
- * It is also possible to insert multiple images at once:
25
- *
26
- * ```ts
27
- * editor.execute( 'insertImage', {
28
- * source: [
29
- * 'path/to/image.jpg',
30
- * 'path/to/other-image.jpg'
31
- * ]
32
- * } );
33
- * ```
34
- *
35
- * If you want to take the full control over the process, you can specify individual model attributes:
36
- *
37
- * ```ts
38
- * editor.execute( 'insertImage', {
39
- * source: [
40
- * { src: 'path/to/image.jpg', alt: 'First alt text' },
41
- * { src: 'path/to/other-image.jpg', alt: 'Second alt text', customAttribute: 'My attribute value' }
42
- * ]
43
- * } );
44
- * ```
45
- */
46
- export default class InsertImageCommand extends Command {
47
- /**
48
- * @inheritDoc
49
- */
50
- constructor(editor: Editor);
51
- /**
52
- * @inheritDoc
53
- */
54
- refresh(): void;
55
- /**
56
- * Executes the command.
57
- *
58
- * @fires execute
59
- * @param options Options for the executed command.
60
- * @param options.source The image source or an array of image sources to insert.
61
- * See the documentation of the command to learn more about accepted formats.
62
- */
63
- execute(options: {
64
- source: ArrayOrItem<string | Record<string, unknown>>;
65
- }): void;
66
- }
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 image/image/insertimagecommand
7
+ */
8
+ import { Command, type Editor } from 'ckeditor5/src/core';
9
+ import { type ArrayOrItem } from 'ckeditor5/src/utils';
10
+ /**
11
+ * Insert image command.
12
+ *
13
+ * The command is registered by the {@link module:image/image/imageediting~ImageEditing} plugin as `insertImage`
14
+ * and it is also available via aliased `imageInsert` name.
15
+ *
16
+ * In order to insert an image at the current selection position
17
+ * (according to the {@link module:widget/utils~findOptimalInsertionRange} algorithm),
18
+ * execute the command and specify the image source:
19
+ *
20
+ * ```ts
21
+ * editor.execute( 'insertImage', { source: 'http://url.to.the/image' } );
22
+ * ```
23
+ *
24
+ * It is also possible to insert multiple images at once:
25
+ *
26
+ * ```ts
27
+ * editor.execute( 'insertImage', {
28
+ * source: [
29
+ * 'path/to/image.jpg',
30
+ * 'path/to/other-image.jpg'
31
+ * ]
32
+ * } );
33
+ * ```
34
+ *
35
+ * If you want to take the full control over the process, you can specify individual model attributes:
36
+ *
37
+ * ```ts
38
+ * editor.execute( 'insertImage', {
39
+ * source: [
40
+ * { src: 'path/to/image.jpg', alt: 'First alt text' },
41
+ * { src: 'path/to/other-image.jpg', alt: 'Second alt text', customAttribute: 'My attribute value' }
42
+ * ]
43
+ * } );
44
+ * ```
45
+ */
46
+ export default class InsertImageCommand extends Command {
47
+ /**
48
+ * @inheritDoc
49
+ */
50
+ constructor(editor: Editor);
51
+ /**
52
+ * @inheritDoc
53
+ */
54
+ refresh(): void;
55
+ /**
56
+ * Executes the command.
57
+ *
58
+ * @fires execute
59
+ * @param options Options for the executed command.
60
+ * @param options.source The image source or an array of image sources to insert.
61
+ * See the documentation of the command to learn more about accepted formats.
62
+ */
63
+ execute(options: {
64
+ source: ArrayOrItem<string | Record<string, unknown>>;
65
+ }): void;
66
+ }