@ckeditor/ckeditor5-table 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 (229) hide show
  1. package/LICENSE.md +1 -1
  2. package/README.md +3 -3
  3. package/build/table.js +1 -1
  4. package/build/table.js.map +1 -0
  5. package/build/translations/hy.js +1 -0
  6. package/lang/translations/ar.po +1 -0
  7. package/lang/translations/az.po +1 -0
  8. package/lang/translations/bg.po +1 -0
  9. package/lang/translations/bn.po +1 -0
  10. package/lang/translations/ca.po +1 -0
  11. package/lang/translations/cs.po +1 -0
  12. package/lang/translations/da.po +1 -0
  13. package/lang/translations/de-ch.po +1 -0
  14. package/lang/translations/de.po +1 -0
  15. package/lang/translations/el.po +1 -0
  16. package/lang/translations/en-au.po +1 -0
  17. package/lang/translations/en-gb.po +1 -0
  18. package/lang/translations/en.po +1 -0
  19. package/lang/translations/es.po +1 -0
  20. package/lang/translations/et.po +1 -0
  21. package/lang/translations/fa.po +1 -0
  22. package/lang/translations/fi.po +1 -0
  23. package/lang/translations/fr.po +1 -0
  24. package/lang/translations/gl.po +1 -0
  25. package/lang/translations/he.po +1 -0
  26. package/lang/translations/hi.po +1 -0
  27. package/lang/translations/hr.po +1 -0
  28. package/lang/translations/hu.po +1 -0
  29. package/lang/translations/hy.po +262 -0
  30. package/lang/translations/id.po +1 -0
  31. package/lang/translations/it.po +1 -0
  32. package/lang/translations/ja.po +1 -0
  33. package/lang/translations/ko.po +1 -0
  34. package/lang/translations/ku.po +1 -0
  35. package/lang/translations/lt.po +1 -0
  36. package/lang/translations/lv.po +1 -0
  37. package/lang/translations/ms.po +1 -0
  38. package/lang/translations/nb.po +1 -0
  39. package/lang/translations/ne.po +1 -0
  40. package/lang/translations/nl.po +1 -0
  41. package/lang/translations/no.po +1 -0
  42. package/lang/translations/pl.po +1 -0
  43. package/lang/translations/pt-br.po +1 -0
  44. package/lang/translations/pt.po +1 -0
  45. package/lang/translations/ro.po +1 -0
  46. package/lang/translations/ru.po +1 -0
  47. package/lang/translations/sk.po +1 -0
  48. package/lang/translations/sl.po +1 -0
  49. package/lang/translations/sq.po +1 -0
  50. package/lang/translations/sr-latn.po +1 -0
  51. package/lang/translations/sr.po +1 -0
  52. package/lang/translations/sv.po +1 -0
  53. package/lang/translations/th.po +1 -0
  54. package/lang/translations/tk.po +1 -0
  55. package/lang/translations/tr.po +1 -0
  56. package/lang/translations/tt.po +1 -0
  57. package/lang/translations/ug.po +1 -0
  58. package/lang/translations/uk.po +1 -0
  59. package/lang/translations/ur.po +1 -0
  60. package/lang/translations/uz.po +1 -0
  61. package/lang/translations/vi.po +1 -0
  62. package/lang/translations/zh-cn.po +1 -0
  63. package/lang/translations/zh.po +1 -0
  64. package/package.json +2 -6
  65. package/src/augmentation.d.ts +76 -76
  66. package/src/augmentation.js +5 -5
  67. package/src/commands/insertcolumncommand.d.ts +55 -55
  68. package/src/commands/insertcolumncommand.js +67 -67
  69. package/src/commands/insertrowcommand.d.ts +54 -54
  70. package/src/commands/insertrowcommand.js +66 -66
  71. package/src/commands/inserttablecommand.d.ts +44 -44
  72. package/src/commands/inserttablecommand.js +69 -69
  73. package/src/commands/mergecellcommand.d.ts +68 -68
  74. package/src/commands/mergecellcommand.js +198 -198
  75. package/src/commands/mergecellscommand.d.ts +28 -28
  76. package/src/commands/mergecellscommand.js +94 -94
  77. package/src/commands/removecolumncommand.d.ts +29 -29
  78. package/src/commands/removecolumncommand.js +109 -109
  79. package/src/commands/removerowcommand.d.ts +29 -29
  80. package/src/commands/removerowcommand.js +82 -82
  81. package/src/commands/selectcolumncommand.d.ts +33 -33
  82. package/src/commands/selectcolumncommand.js +60 -60
  83. package/src/commands/selectrowcommand.d.ts +33 -33
  84. package/src/commands/selectrowcommand.js +56 -56
  85. package/src/commands/setheadercolumncommand.d.ts +50 -50
  86. package/src/commands/setheadercolumncommand.js +71 -71
  87. package/src/commands/setheaderrowcommand.d.ts +53 -53
  88. package/src/commands/setheaderrowcommand.js +79 -79
  89. package/src/commands/splitcellcommand.d.ts +43 -43
  90. package/src/commands/splitcellcommand.js +54 -54
  91. package/src/converters/downcast.d.ts +63 -63
  92. package/src/converters/downcast.js +146 -146
  93. package/src/converters/table-caption-post-fixer.d.ts +20 -20
  94. package/src/converters/table-caption-post-fixer.js +53 -53
  95. package/src/converters/table-cell-paragraph-post-fixer.d.ts +32 -32
  96. package/src/converters/table-cell-paragraph-post-fixer.js +107 -107
  97. package/src/converters/table-cell-refresh-handler.d.ts +18 -18
  98. package/src/converters/table-cell-refresh-handler.js +45 -45
  99. package/src/converters/table-headings-refresh-handler.d.ts +17 -17
  100. package/src/converters/table-headings-refresh-handler.js +49 -49
  101. package/src/converters/table-layout-post-fixer.d.ts +226 -226
  102. package/src/converters/table-layout-post-fixer.js +367 -367
  103. package/src/converters/tableproperties.d.ts +54 -54
  104. package/src/converters/tableproperties.js +159 -159
  105. package/src/converters/upcasttable.d.ts +49 -49
  106. package/src/converters/upcasttable.js +243 -243
  107. package/src/index.d.ts +60 -60
  108. package/src/index.js +30 -30
  109. package/src/plaintableoutput.d.ts +26 -26
  110. package/src/plaintableoutput.js +123 -123
  111. package/src/table.d.ts +40 -40
  112. package/src/table.js +44 -44
  113. package/src/tablecaption/tablecaptionediting.d.ts +63 -63
  114. package/src/tablecaption/tablecaptionediting.js +122 -122
  115. package/src/tablecaption/tablecaptionui.d.ts +21 -21
  116. package/src/tablecaption/tablecaptionui.js +57 -57
  117. package/src/tablecaption/toggletablecaptioncommand.d.ts +68 -68
  118. package/src/tablecaption/toggletablecaptioncommand.js +104 -104
  119. package/src/tablecaption/utils.d.ts +42 -42
  120. package/src/tablecaption/utils.js +67 -67
  121. package/src/tablecaption.d.ts +24 -24
  122. package/src/tablecaption.js +28 -28
  123. package/src/tablecellproperties/commands/tablecellbackgroundcolorcommand.d.ts +32 -32
  124. package/src/tablecellproperties/commands/tablecellbackgroundcolorcommand.js +30 -30
  125. package/src/tablecellproperties/commands/tablecellbordercolorcommand.d.ts +37 -37
  126. package/src/tablecellproperties/commands/tablecellbordercolorcommand.js +44 -44
  127. package/src/tablecellproperties/commands/tablecellborderstylecommand.d.ts +37 -37
  128. package/src/tablecellproperties/commands/tablecellborderstylecommand.js +44 -44
  129. package/src/tablecellproperties/commands/tablecellborderwidthcommand.d.ts +51 -51
  130. package/src/tablecellproperties/commands/tablecellborderwidthcommand.js +64 -64
  131. package/src/tablecellproperties/commands/tablecellheightcommand.d.ts +46 -46
  132. package/src/tablecellproperties/commands/tablecellheightcommand.js +51 -51
  133. package/src/tablecellproperties/commands/tablecellhorizontalalignmentcommand.d.ts +32 -32
  134. package/src/tablecellproperties/commands/tablecellhorizontalalignmentcommand.js +30 -30
  135. package/src/tablecellproperties/commands/tablecellpaddingcommand.d.ts +51 -51
  136. package/src/tablecellproperties/commands/tablecellpaddingcommand.js +64 -64
  137. package/src/tablecellproperties/commands/tablecellpropertycommand.d.ts +62 -62
  138. package/src/tablecellproperties/commands/tablecellpropertycommand.js +92 -92
  139. package/src/tablecellproperties/commands/tablecellverticalalignmentcommand.d.ts +40 -40
  140. package/src/tablecellproperties/commands/tablecellverticalalignmentcommand.js +38 -38
  141. package/src/tablecellproperties/tablecellpropertiesediting.d.ts +43 -43
  142. package/src/tablecellproperties/tablecellpropertiesediting.js +241 -241
  143. package/src/tablecellproperties/tablecellpropertiesui.d.ts +112 -112
  144. package/src/tablecellproperties/tablecellpropertiesui.js +330 -330
  145. package/src/tablecellproperties/ui/tablecellpropertiesview.d.ts +228 -228
  146. package/src/tablecellproperties/ui/tablecellpropertiesview.js +548 -539
  147. package/src/tablecellproperties.d.ts +30 -30
  148. package/src/tablecellproperties.js +34 -34
  149. package/src/tablecellwidth/commands/tablecellwidthcommand.d.ts +46 -46
  150. package/src/tablecellwidth/commands/tablecellwidthcommand.js +51 -51
  151. package/src/tablecellwidth/tablecellwidthediting.d.ts +29 -29
  152. package/src/tablecellwidth/tablecellwidthediting.js +45 -45
  153. package/src/tableclipboard.d.ts +65 -65
  154. package/src/tableclipboard.js +450 -450
  155. package/src/tablecolumnresize/constants.d.ts +20 -20
  156. package/src/tablecolumnresize/constants.js +20 -20
  157. package/src/tablecolumnresize/converters.d.ts +18 -18
  158. package/src/tablecolumnresize/converters.js +46 -45
  159. package/src/tablecolumnresize/tablecolumnresizeediting.d.ts +139 -139
  160. package/src/tablecolumnresize/tablecolumnresizeediting.js +583 -571
  161. package/src/tablecolumnresize/tablewidthscommand.d.ts +38 -38
  162. package/src/tablecolumnresize/tablewidthscommand.js +61 -61
  163. package/src/tablecolumnresize/utils.d.ts +148 -141
  164. package/src/tablecolumnresize/utils.js +358 -330
  165. package/src/tablecolumnresize.d.ts +26 -26
  166. package/src/tablecolumnresize.js +30 -30
  167. package/src/tableconfig.d.ts +343 -343
  168. package/src/tableconfig.js +5 -5
  169. package/src/tableediting.d.ts +98 -98
  170. package/src/tableediting.js +191 -191
  171. package/src/tablekeyboard.d.ts +68 -68
  172. package/src/tablekeyboard.js +279 -279
  173. package/src/tablemouse/mouseeventsobserver.d.ts +62 -62
  174. package/src/tablemouse/mouseeventsobserver.js +35 -35
  175. package/src/tablemouse.d.ts +48 -48
  176. package/src/tablemouse.js +172 -172
  177. package/src/tableproperties/commands/tablealignmentcommand.d.ts +32 -32
  178. package/src/tableproperties/commands/tablealignmentcommand.js +30 -30
  179. package/src/tableproperties/commands/tablebackgroundcolorcommand.d.ts +32 -32
  180. package/src/tableproperties/commands/tablebackgroundcolorcommand.js +30 -30
  181. package/src/tableproperties/commands/tablebordercolorcommand.d.ts +37 -37
  182. package/src/tableproperties/commands/tablebordercolorcommand.js +44 -44
  183. package/src/tableproperties/commands/tableborderstylecommand.d.ts +37 -37
  184. package/src/tableproperties/commands/tableborderstylecommand.js +44 -44
  185. package/src/tableproperties/commands/tableborderwidthcommand.d.ts +51 -51
  186. package/src/tableproperties/commands/tableborderwidthcommand.js +64 -64
  187. package/src/tableproperties/commands/tableheightcommand.d.ts +46 -46
  188. package/src/tableproperties/commands/tableheightcommand.js +54 -54
  189. package/src/tableproperties/commands/tablepropertycommand.d.ts +61 -61
  190. package/src/tableproperties/commands/tablepropertycommand.js +80 -80
  191. package/src/tableproperties/commands/tablewidthcommand.d.ts +46 -46
  192. package/src/tableproperties/commands/tablewidthcommand.js +54 -54
  193. package/src/tableproperties/tablepropertiesediting.d.ts +40 -40
  194. package/src/tableproperties/tablepropertiesediting.js +206 -206
  195. package/src/tableproperties/tablepropertiesui.d.ts +114 -114
  196. package/src/tableproperties/tablepropertiesui.js +321 -321
  197. package/src/tableproperties/ui/tablepropertiesview.d.ts +207 -207
  198. package/src/tableproperties/ui/tablepropertiesview.js +466 -457
  199. package/src/tableproperties.d.ts +30 -30
  200. package/src/tableproperties.js +34 -34
  201. package/src/tableselection.d.ts +107 -107
  202. package/src/tableselection.js +297 -297
  203. package/src/tabletoolbar.d.ts +32 -32
  204. package/src/tabletoolbar.js +57 -57
  205. package/src/tableui.d.ts +53 -53
  206. package/src/tableui.js +309 -309
  207. package/src/tableutils.d.ts +448 -448
  208. package/src/tableutils.js +1055 -1041
  209. package/src/tablewalker.d.ts +362 -323
  210. package/src/tablewalker.js +393 -333
  211. package/src/ui/colorinputview.d.ts +140 -140
  212. package/src/ui/colorinputview.js +271 -265
  213. package/src/ui/formrowview.d.ts +61 -61
  214. package/src/ui/formrowview.js +57 -57
  215. package/src/ui/inserttableview.d.ts +77 -77
  216. package/src/ui/inserttableview.js +169 -169
  217. package/src/utils/common.d.ts +42 -42
  218. package/src/utils/common.js +57 -57
  219. package/src/utils/structure.d.ts +245 -245
  220. package/src/utils/structure.js +426 -426
  221. package/src/utils/table-properties.d.ts +67 -67
  222. package/src/utils/table-properties.js +86 -86
  223. package/src/utils/ui/contextualballoon.d.ts +34 -34
  224. package/src/utils/ui/contextualballoon.js +106 -106
  225. package/src/utils/ui/table-properties.d.ts +195 -195
  226. package/src/utils/ui/table-properties.js +362 -362
  227. package/src/utils/ui/widget.d.ts +16 -16
  228. package/src/utils/ui/widget.js +38 -38
  229. package/theme/tablecolumnresize.css +8 -6
@@ -1,54 +1,54 @@
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 table/commands/insertrowcommand
7
- */
8
- import { Command, type Editor } from 'ckeditor5/src/core';
9
- /**
10
- * The insert row command.
11
- *
12
- * The command is registered by {@link module:table/tableediting~TableEditing} as the `'insertTableRowBelow'` and
13
- * `'insertTableRowAbove'` editor commands.
14
- *
15
- * To insert a row below the selected cell, execute the following command:
16
- *
17
- * ```ts
18
- * editor.execute( 'insertTableRowBelow' );
19
- * ```
20
- *
21
- * To insert a row above the selected cell, execute the following command:
22
- *
23
- * ```ts
24
- * editor.execute( 'insertTableRowAbove' );
25
- * ```
26
- */
27
- export default class InsertRowCommand extends Command {
28
- /**
29
- * The order of insertion relative to the row in which the caret is located.
30
- */
31
- readonly order: 'above' | 'below';
32
- /**
33
- * Creates a new `InsertRowCommand` instance.
34
- *
35
- * @param editor The editor on which this command will be used.
36
- * @param options.order The order of insertion relative to the row in which the caret is located.
37
- * Possible values: `"above"` and `"below"`. Default value is "below"
38
- */
39
- constructor(editor: Editor, options?: {
40
- order?: 'above' | 'below';
41
- });
42
- /**
43
- * @inheritDoc
44
- */
45
- refresh(): void;
46
- /**
47
- * Executes the command.
48
- *
49
- * Depending on the command's {@link #order} value, it inserts a row `'below'` or `'above'` the row in which selection is set.
50
- *
51
- * @fires execute
52
- */
53
- execute(): void;
54
- }
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 table/commands/insertrowcommand
7
+ */
8
+ import { Command, type Editor } from 'ckeditor5/src/core';
9
+ /**
10
+ * The insert row command.
11
+ *
12
+ * The command is registered by {@link module:table/tableediting~TableEditing} as the `'insertTableRowBelow'` and
13
+ * `'insertTableRowAbove'` editor commands.
14
+ *
15
+ * To insert a row below the selected cell, execute the following command:
16
+ *
17
+ * ```ts
18
+ * editor.execute( 'insertTableRowBelow' );
19
+ * ```
20
+ *
21
+ * To insert a row above the selected cell, execute the following command:
22
+ *
23
+ * ```ts
24
+ * editor.execute( 'insertTableRowAbove' );
25
+ * ```
26
+ */
27
+ export default class InsertRowCommand extends Command {
28
+ /**
29
+ * The order of insertion relative to the row in which the caret is located.
30
+ */
31
+ readonly order: 'above' | 'below';
32
+ /**
33
+ * Creates a new `InsertRowCommand` instance.
34
+ *
35
+ * @param editor The editor on which this command will be used.
36
+ * @param options.order The order of insertion relative to the row in which the caret is located.
37
+ * Possible values: `"above"` and `"below"`. Default value is "below"
38
+ */
39
+ constructor(editor: Editor, options?: {
40
+ order?: 'above' | 'below';
41
+ });
42
+ /**
43
+ * @inheritDoc
44
+ */
45
+ refresh(): void;
46
+ /**
47
+ * Executes the command.
48
+ *
49
+ * Depending on the command's {@link #order} value, it inserts a row `'below'` or `'above'` the row in which selection is set.
50
+ *
51
+ * @fires execute
52
+ */
53
+ execute(): void;
54
+ }
@@ -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 table/commands/insertrowcommand
7
- */
8
- import { Command } from 'ckeditor5/src/core';
9
- /**
10
- * The insert row command.
11
- *
12
- * The command is registered by {@link module:table/tableediting~TableEditing} as the `'insertTableRowBelow'` and
13
- * `'insertTableRowAbove'` editor commands.
14
- *
15
- * To insert a row below the selected cell, execute the following command:
16
- *
17
- * ```ts
18
- * editor.execute( 'insertTableRowBelow' );
19
- * ```
20
- *
21
- * To insert a row above the selected cell, execute the following command:
22
- *
23
- * ```ts
24
- * editor.execute( 'insertTableRowAbove' );
25
- * ```
26
- */
27
- export default class InsertRowCommand extends Command {
28
- /**
29
- * Creates a new `InsertRowCommand` instance.
30
- *
31
- * @param editor The editor on which this command will be used.
32
- * @param options.order The order of insertion relative to the row in which the caret is located.
33
- * Possible values: `"above"` and `"below"`. Default value is "below"
34
- */
35
- constructor(editor, options = {}) {
36
- super(editor);
37
- this.order = options.order || 'below';
38
- }
39
- /**
40
- * @inheritDoc
41
- */
42
- refresh() {
43
- const selection = this.editor.model.document.selection;
44
- const tableUtils = this.editor.plugins.get('TableUtils');
45
- const isAnyCellSelected = !!tableUtils.getSelectionAffectedTableCells(selection).length;
46
- this.isEnabled = isAnyCellSelected;
47
- }
48
- /**
49
- * Executes the command.
50
- *
51
- * Depending on the command's {@link #order} value, it inserts a row `'below'` or `'above'` the row in which selection is set.
52
- *
53
- * @fires execute
54
- */
55
- execute() {
56
- const editor = this.editor;
57
- const selection = editor.model.document.selection;
58
- const tableUtils = editor.plugins.get('TableUtils');
59
- const insertAbove = this.order === 'above';
60
- const affectedTableCells = tableUtils.getSelectionAffectedTableCells(selection);
61
- const rowIndexes = tableUtils.getRowIndexes(affectedTableCells);
62
- const row = insertAbove ? rowIndexes.first : rowIndexes.last;
63
- const table = affectedTableCells[0].findAncestor('table');
64
- tableUtils.insertRows(table, { at: insertAbove ? row : row + 1, copyStructureFromAbove: !insertAbove });
65
- }
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 table/commands/insertrowcommand
7
+ */
8
+ import { Command } from 'ckeditor5/src/core';
9
+ /**
10
+ * The insert row command.
11
+ *
12
+ * The command is registered by {@link module:table/tableediting~TableEditing} as the `'insertTableRowBelow'` and
13
+ * `'insertTableRowAbove'` editor commands.
14
+ *
15
+ * To insert a row below the selected cell, execute the following command:
16
+ *
17
+ * ```ts
18
+ * editor.execute( 'insertTableRowBelow' );
19
+ * ```
20
+ *
21
+ * To insert a row above the selected cell, execute the following command:
22
+ *
23
+ * ```ts
24
+ * editor.execute( 'insertTableRowAbove' );
25
+ * ```
26
+ */
27
+ export default class InsertRowCommand extends Command {
28
+ /**
29
+ * Creates a new `InsertRowCommand` instance.
30
+ *
31
+ * @param editor The editor on which this command will be used.
32
+ * @param options.order The order of insertion relative to the row in which the caret is located.
33
+ * Possible values: `"above"` and `"below"`. Default value is "below"
34
+ */
35
+ constructor(editor, options = {}) {
36
+ super(editor);
37
+ this.order = options.order || 'below';
38
+ }
39
+ /**
40
+ * @inheritDoc
41
+ */
42
+ refresh() {
43
+ const selection = this.editor.model.document.selection;
44
+ const tableUtils = this.editor.plugins.get('TableUtils');
45
+ const isAnyCellSelected = !!tableUtils.getSelectionAffectedTableCells(selection).length;
46
+ this.isEnabled = isAnyCellSelected;
47
+ }
48
+ /**
49
+ * Executes the command.
50
+ *
51
+ * Depending on the command's {@link #order} value, it inserts a row `'below'` or `'above'` the row in which selection is set.
52
+ *
53
+ * @fires execute
54
+ */
55
+ execute() {
56
+ const editor = this.editor;
57
+ const selection = editor.model.document.selection;
58
+ const tableUtils = editor.plugins.get('TableUtils');
59
+ const insertAbove = this.order === 'above';
60
+ const affectedTableCells = tableUtils.getSelectionAffectedTableCells(selection);
61
+ const rowIndexes = tableUtils.getRowIndexes(affectedTableCells);
62
+ const row = insertAbove ? rowIndexes.first : rowIndexes.last;
63
+ const table = affectedTableCells[0].findAncestor('table');
64
+ tableUtils.insertRows(table, { at: insertAbove ? row : row + 1, copyStructureFromAbove: !insertAbove });
65
+ }
66
+ }
@@ -1,44 +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 table/commands/inserttablecommand
7
- */
8
- import { Command } from 'ckeditor5/src/core';
9
- /**
10
- * The insert table command.
11
- *
12
- * The command is registered by {@link module:table/tableediting~TableEditing} as the `'insertTable'` editor command.
13
- *
14
- * To insert a table at the current selection, execute the command and specify the dimensions:
15
- *
16
- * ```ts
17
- * editor.execute( 'insertTable', { rows: 20, columns: 5 } );
18
- * ```
19
- */
20
- export default class InsertTableCommand extends Command {
21
- /**
22
- * @inheritDoc
23
- */
24
- refresh(): void;
25
- /**
26
- * Executes the command.
27
- *
28
- * Inserts a table with the given number of rows and columns into the editor.
29
- *
30
- * @param options.rows The number of rows to create in the inserted table. Default value is 2.
31
- * @param options.columns The number of columns to create in the inserted table. Default value is 2.
32
- * @param options.headingRows The number of heading rows. If not provided it will default to
33
- * {@link module:table/tableconfig~TableConfig#defaultHeadings `config.table.defaultHeadings.rows`} table config.
34
- * @param options.headingColumns The number of heading columns. If not provided it will default to
35
- * {@link module:table/tableconfig~TableConfig#defaultHeadings `config.table.defaultHeadings.columns`} table config.
36
- * @fires execute
37
- */
38
- execute(options?: {
39
- rows?: number;
40
- columns?: number;
41
- headingRows?: number;
42
- headingColumns?: number;
43
- }): void;
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 table/commands/inserttablecommand
7
+ */
8
+ import { Command } from 'ckeditor5/src/core';
9
+ /**
10
+ * The insert table command.
11
+ *
12
+ * The command is registered by {@link module:table/tableediting~TableEditing} as the `'insertTable'` editor command.
13
+ *
14
+ * To insert a table at the current selection, execute the command and specify the dimensions:
15
+ *
16
+ * ```ts
17
+ * editor.execute( 'insertTable', { rows: 20, columns: 5 } );
18
+ * ```
19
+ */
20
+ export default class InsertTableCommand extends Command {
21
+ /**
22
+ * @inheritDoc
23
+ */
24
+ refresh(): void;
25
+ /**
26
+ * Executes the command.
27
+ *
28
+ * Inserts a table with the given number of rows and columns into the editor.
29
+ *
30
+ * @param options.rows The number of rows to create in the inserted table. Default value is 2.
31
+ * @param options.columns The number of columns to create in the inserted table. Default value is 2.
32
+ * @param options.headingRows The number of heading rows. If not provided it will default to
33
+ * {@link module:table/tableconfig~TableConfig#defaultHeadings `config.table.defaultHeadings.rows`} table config.
34
+ * @param options.headingColumns The number of heading columns. If not provided it will default to
35
+ * {@link module:table/tableconfig~TableConfig#defaultHeadings `config.table.defaultHeadings.columns`} table config.
36
+ * @fires execute
37
+ */
38
+ execute(options?: {
39
+ rows?: number;
40
+ columns?: number;
41
+ headingRows?: number;
42
+ headingColumns?: number;
43
+ }): void;
44
+ }
@@ -1,69 +1,69 @@
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 table/commands/inserttablecommand
7
- */
8
- import { Command } from 'ckeditor5/src/core';
9
- /**
10
- * The insert table command.
11
- *
12
- * The command is registered by {@link module:table/tableediting~TableEditing} as the `'insertTable'` editor command.
13
- *
14
- * To insert a table at the current selection, execute the command and specify the dimensions:
15
- *
16
- * ```ts
17
- * editor.execute( 'insertTable', { rows: 20, columns: 5 } );
18
- * ```
19
- */
20
- export default class InsertTableCommand extends Command {
21
- /**
22
- * @inheritDoc
23
- */
24
- refresh() {
25
- const model = this.editor.model;
26
- const selection = model.document.selection;
27
- const schema = model.schema;
28
- this.isEnabled = isAllowedInParent(selection, schema);
29
- }
30
- /**
31
- * Executes the command.
32
- *
33
- * Inserts a table with the given number of rows and columns into the editor.
34
- *
35
- * @param options.rows The number of rows to create in the inserted table. Default value is 2.
36
- * @param options.columns The number of columns to create in the inserted table. Default value is 2.
37
- * @param options.headingRows The number of heading rows. If not provided it will default to
38
- * {@link module:table/tableconfig~TableConfig#defaultHeadings `config.table.defaultHeadings.rows`} table config.
39
- * @param options.headingColumns The number of heading columns. If not provided it will default to
40
- * {@link module:table/tableconfig~TableConfig#defaultHeadings `config.table.defaultHeadings.columns`} table config.
41
- * @fires execute
42
- */
43
- execute(options = {}) {
44
- const editor = this.editor;
45
- const model = editor.model;
46
- const tableUtils = editor.plugins.get('TableUtils');
47
- const defaultRows = editor.config.get('table.defaultHeadings.rows');
48
- const defaultColumns = editor.config.get('table.defaultHeadings.columns');
49
- if (options.headingRows === undefined && defaultRows) {
50
- options.headingRows = defaultRows;
51
- }
52
- if (options.headingColumns === undefined && defaultColumns) {
53
- options.headingColumns = defaultColumns;
54
- }
55
- model.change(writer => {
56
- const table = tableUtils.createTable(writer, options);
57
- model.insertObject(table, null, null, { findOptimalPosition: 'auto' });
58
- writer.setSelection(writer.createPositionAt(table.getNodeByPath([0, 0, 0]), 0));
59
- });
60
- }
61
- }
62
- /**
63
- * Checks if the table is allowed in the parent.
64
- */
65
- function isAllowedInParent(selection, schema) {
66
- const positionParent = selection.getFirstPosition().parent;
67
- const validParent = positionParent === positionParent.root ? positionParent : positionParent.parent;
68
- return schema.checkChild(validParent, 'table');
69
- }
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 table/commands/inserttablecommand
7
+ */
8
+ import { Command } from 'ckeditor5/src/core';
9
+ /**
10
+ * The insert table command.
11
+ *
12
+ * The command is registered by {@link module:table/tableediting~TableEditing} as the `'insertTable'` editor command.
13
+ *
14
+ * To insert a table at the current selection, execute the command and specify the dimensions:
15
+ *
16
+ * ```ts
17
+ * editor.execute( 'insertTable', { rows: 20, columns: 5 } );
18
+ * ```
19
+ */
20
+ export default class InsertTableCommand extends Command {
21
+ /**
22
+ * @inheritDoc
23
+ */
24
+ refresh() {
25
+ const model = this.editor.model;
26
+ const selection = model.document.selection;
27
+ const schema = model.schema;
28
+ this.isEnabled = isAllowedInParent(selection, schema);
29
+ }
30
+ /**
31
+ * Executes the command.
32
+ *
33
+ * Inserts a table with the given number of rows and columns into the editor.
34
+ *
35
+ * @param options.rows The number of rows to create in the inserted table. Default value is 2.
36
+ * @param options.columns The number of columns to create in the inserted table. Default value is 2.
37
+ * @param options.headingRows The number of heading rows. If not provided it will default to
38
+ * {@link module:table/tableconfig~TableConfig#defaultHeadings `config.table.defaultHeadings.rows`} table config.
39
+ * @param options.headingColumns The number of heading columns. If not provided it will default to
40
+ * {@link module:table/tableconfig~TableConfig#defaultHeadings `config.table.defaultHeadings.columns`} table config.
41
+ * @fires execute
42
+ */
43
+ execute(options = {}) {
44
+ const editor = this.editor;
45
+ const model = editor.model;
46
+ const tableUtils = editor.plugins.get('TableUtils');
47
+ const defaultRows = editor.config.get('table.defaultHeadings.rows');
48
+ const defaultColumns = editor.config.get('table.defaultHeadings.columns');
49
+ if (options.headingRows === undefined && defaultRows) {
50
+ options.headingRows = defaultRows;
51
+ }
52
+ if (options.headingColumns === undefined && defaultColumns) {
53
+ options.headingColumns = defaultColumns;
54
+ }
55
+ model.change(writer => {
56
+ const table = tableUtils.createTable(writer, options);
57
+ model.insertObject(table, null, null, { findOptimalPosition: 'auto' });
58
+ writer.setSelection(writer.createPositionAt(table.getNodeByPath([0, 0, 0]), 0));
59
+ });
60
+ }
61
+ }
62
+ /**
63
+ * Checks if the table is allowed in the parent.
64
+ */
65
+ function isAllowedInParent(selection, schema) {
66
+ const positionParent = selection.getFirstPosition().parent;
67
+ const validParent = positionParent === positionParent.root ? positionParent : positionParent.parent;
68
+ return schema.checkChild(validParent, 'table');
69
+ }
@@ -1,68 +1,68 @@
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 table/commands/mergecellcommand
7
- */
8
- import type { Node } from 'ckeditor5/src/engine';
9
- import { Command, type Editor } from 'ckeditor5/src/core';
10
- import type { ArrowKeyCodeDirection } from 'ckeditor5/src/utils';
11
- /**
12
- * The merge cell command.
13
- *
14
- * The command is registered by {@link module:table/tableediting~TableEditing} as the `'mergeTableCellRight'`, `'mergeTableCellLeft'`,
15
- * `'mergeTableCellUp'` and `'mergeTableCellDown'` editor commands.
16
- *
17
- * To merge a table cell at the current selection with another cell, execute the command corresponding with the preferred direction.
18
- *
19
- * For example, to merge with a cell to the right:
20
- *
21
- * ```ts
22
- * editor.execute( 'mergeTableCellRight' );
23
- * ```
24
- *
25
- * **Note**: If a table cell has a different [`rowspan`](https://www.w3.org/TR/html50/tabular-data.html#attr-tdth-rowspan)
26
- * (for `'mergeTableCellRight'` and `'mergeTableCellLeft'`) or [`colspan`](https://www.w3.org/TR/html50/tabular-data.html#attr-tdth-colspan)
27
- * (for `'mergeTableCellUp'` and `'mergeTableCellDown'`), the command will be disabled.
28
- */
29
- export default class MergeCellCommand extends Command {
30
- /**
31
- * The direction that indicates which cell will be merged with the currently selected one.
32
- */
33
- readonly direction: ArrowKeyCodeDirection;
34
- /**
35
- * Whether the merge is horizontal (left/right) or vertical (up/down).
36
- */
37
- readonly isHorizontal: boolean;
38
- /**
39
- * @inheritDoc
40
- */
41
- value: Node | undefined;
42
- /**
43
- * Creates a new `MergeCellCommand` instance.
44
- *
45
- * @param editor The editor on which this command will be used.
46
- * @param options.direction Indicates which cell to merge with the currently selected one.
47
- * Possible values are: `'left'`, `'right'`, `'up'` and `'down'`.
48
- */
49
- constructor(editor: Editor, options: {
50
- direction: ArrowKeyCodeDirection;
51
- });
52
- /**
53
- * @inheritDoc
54
- */
55
- refresh(): void;
56
- /**
57
- * Executes the command.
58
- *
59
- * Depending on the command's {@link #direction} value, it will merge the cell that is to the `'left'`, `'right'`, `'up'` or `'down'`.
60
- *
61
- * @fires execute
62
- */
63
- execute(): void;
64
- /**
65
- * Returns a cell that can be merged with the current cell depending on the command's direction.
66
- */
67
- private _getMergeableCell;
68
- }
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 table/commands/mergecellcommand
7
+ */
8
+ import type { Node } from 'ckeditor5/src/engine';
9
+ import { Command, type Editor } from 'ckeditor5/src/core';
10
+ import type { ArrowKeyCodeDirection } from 'ckeditor5/src/utils';
11
+ /**
12
+ * The merge cell command.
13
+ *
14
+ * The command is registered by {@link module:table/tableediting~TableEditing} as the `'mergeTableCellRight'`, `'mergeTableCellLeft'`,
15
+ * `'mergeTableCellUp'` and `'mergeTableCellDown'` editor commands.
16
+ *
17
+ * To merge a table cell at the current selection with another cell, execute the command corresponding with the preferred direction.
18
+ *
19
+ * For example, to merge with a cell to the right:
20
+ *
21
+ * ```ts
22
+ * editor.execute( 'mergeTableCellRight' );
23
+ * ```
24
+ *
25
+ * **Note**: If a table cell has a different [`rowspan`](https://www.w3.org/TR/html50/tabular-data.html#attr-tdth-rowspan)
26
+ * (for `'mergeTableCellRight'` and `'mergeTableCellLeft'`) or [`colspan`](https://www.w3.org/TR/html50/tabular-data.html#attr-tdth-colspan)
27
+ * (for `'mergeTableCellUp'` and `'mergeTableCellDown'`), the command will be disabled.
28
+ */
29
+ export default class MergeCellCommand extends Command {
30
+ /**
31
+ * The direction that indicates which cell will be merged with the currently selected one.
32
+ */
33
+ readonly direction: ArrowKeyCodeDirection;
34
+ /**
35
+ * Whether the merge is horizontal (left/right) or vertical (up/down).
36
+ */
37
+ readonly isHorizontal: boolean;
38
+ /**
39
+ * @inheritDoc
40
+ */
41
+ value: Node | undefined;
42
+ /**
43
+ * Creates a new `MergeCellCommand` instance.
44
+ *
45
+ * @param editor The editor on which this command will be used.
46
+ * @param options.direction Indicates which cell to merge with the currently selected one.
47
+ * Possible values are: `'left'`, `'right'`, `'up'` and `'down'`.
48
+ */
49
+ constructor(editor: Editor, options: {
50
+ direction: ArrowKeyCodeDirection;
51
+ });
52
+ /**
53
+ * @inheritDoc
54
+ */
55
+ refresh(): void;
56
+ /**
57
+ * Executes the command.
58
+ *
59
+ * Depending on the command's {@link #direction} value, it will merge the cell that is to the `'left'`, `'right'`, `'up'` or `'down'`.
60
+ *
61
+ * @fires execute
62
+ */
63
+ execute(): void;
64
+ /**
65
+ * Returns a cell that can be merged with the current cell depending on the command's direction.
66
+ */
67
+ private _getMergeableCell;
68
+ }