@ckeditor/ckeditor5-table 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.
Files changed (171) hide show
  1. package/CHANGELOG.md +15 -15
  2. package/LICENSE.md +3 -3
  3. package/build/table.js +1 -1
  4. package/build/translations/fi.js +1 -1
  5. package/lang/translations/fi.po +3 -3
  6. package/package.json +2 -2
  7. package/src/augmentation.d.ts +76 -76
  8. package/src/augmentation.js +5 -5
  9. package/src/commands/insertcolumncommand.d.ts +55 -55
  10. package/src/commands/insertcolumncommand.js +67 -67
  11. package/src/commands/insertrowcommand.d.ts +54 -54
  12. package/src/commands/insertrowcommand.js +66 -66
  13. package/src/commands/inserttablecommand.d.ts +44 -44
  14. package/src/commands/inserttablecommand.js +69 -69
  15. package/src/commands/mergecellcommand.d.ts +68 -68
  16. package/src/commands/mergecellcommand.js +198 -198
  17. package/src/commands/mergecellscommand.d.ts +28 -28
  18. package/src/commands/mergecellscommand.js +94 -94
  19. package/src/commands/removecolumncommand.d.ts +29 -29
  20. package/src/commands/removecolumncommand.js +109 -109
  21. package/src/commands/removerowcommand.d.ts +29 -29
  22. package/src/commands/removerowcommand.js +82 -82
  23. package/src/commands/selectcolumncommand.d.ts +33 -33
  24. package/src/commands/selectcolumncommand.js +60 -60
  25. package/src/commands/selectrowcommand.d.ts +33 -33
  26. package/src/commands/selectrowcommand.js +56 -56
  27. package/src/commands/setheadercolumncommand.d.ts +50 -50
  28. package/src/commands/setheadercolumncommand.js +71 -71
  29. package/src/commands/setheaderrowcommand.d.ts +53 -53
  30. package/src/commands/setheaderrowcommand.js +79 -79
  31. package/src/commands/splitcellcommand.d.ts +43 -43
  32. package/src/commands/splitcellcommand.js +54 -54
  33. package/src/converters/downcast.d.ts +63 -63
  34. package/src/converters/downcast.js +146 -146
  35. package/src/converters/table-caption-post-fixer.d.ts +20 -20
  36. package/src/converters/table-caption-post-fixer.js +53 -53
  37. package/src/converters/table-cell-paragraph-post-fixer.d.ts +32 -32
  38. package/src/converters/table-cell-paragraph-post-fixer.js +107 -107
  39. package/src/converters/table-cell-refresh-handler.d.ts +18 -18
  40. package/src/converters/table-cell-refresh-handler.js +45 -45
  41. package/src/converters/table-headings-refresh-handler.d.ts +17 -17
  42. package/src/converters/table-headings-refresh-handler.js +49 -49
  43. package/src/converters/table-layout-post-fixer.d.ts +226 -226
  44. package/src/converters/table-layout-post-fixer.js +367 -367
  45. package/src/converters/tableproperties.d.ts +54 -54
  46. package/src/converters/tableproperties.js +159 -159
  47. package/src/converters/upcasttable.d.ts +49 -49
  48. package/src/converters/upcasttable.js +243 -243
  49. package/src/index.d.ts +60 -60
  50. package/src/index.js +30 -30
  51. package/src/plaintableoutput.d.ts +26 -26
  52. package/src/plaintableoutput.js +123 -123
  53. package/src/table.d.ts +40 -40
  54. package/src/table.js +44 -44
  55. package/src/tablecaption/tablecaptionediting.d.ts +63 -63
  56. package/src/tablecaption/tablecaptionediting.js +122 -122
  57. package/src/tablecaption/tablecaptionui.d.ts +21 -21
  58. package/src/tablecaption/tablecaptionui.js +57 -57
  59. package/src/tablecaption/toggletablecaptioncommand.d.ts +68 -68
  60. package/src/tablecaption/toggletablecaptioncommand.js +105 -104
  61. package/src/tablecaption/utils.d.ts +38 -42
  62. package/src/tablecaption/utils.js +57 -67
  63. package/src/tablecaption.d.ts +24 -24
  64. package/src/tablecaption.js +28 -28
  65. package/src/tablecellproperties/commands/tablecellbackgroundcolorcommand.d.ts +32 -32
  66. package/src/tablecellproperties/commands/tablecellbackgroundcolorcommand.js +30 -30
  67. package/src/tablecellproperties/commands/tablecellbordercolorcommand.d.ts +37 -37
  68. package/src/tablecellproperties/commands/tablecellbordercolorcommand.js +44 -44
  69. package/src/tablecellproperties/commands/tablecellborderstylecommand.d.ts +37 -37
  70. package/src/tablecellproperties/commands/tablecellborderstylecommand.js +44 -44
  71. package/src/tablecellproperties/commands/tablecellborderwidthcommand.d.ts +51 -51
  72. package/src/tablecellproperties/commands/tablecellborderwidthcommand.js +64 -64
  73. package/src/tablecellproperties/commands/tablecellheightcommand.d.ts +46 -46
  74. package/src/tablecellproperties/commands/tablecellheightcommand.js +51 -51
  75. package/src/tablecellproperties/commands/tablecellhorizontalalignmentcommand.d.ts +32 -32
  76. package/src/tablecellproperties/commands/tablecellhorizontalalignmentcommand.js +30 -30
  77. package/src/tablecellproperties/commands/tablecellpaddingcommand.d.ts +51 -51
  78. package/src/tablecellproperties/commands/tablecellpaddingcommand.js +64 -64
  79. package/src/tablecellproperties/commands/tablecellpropertycommand.d.ts +62 -62
  80. package/src/tablecellproperties/commands/tablecellpropertycommand.js +92 -92
  81. package/src/tablecellproperties/commands/tablecellverticalalignmentcommand.d.ts +40 -40
  82. package/src/tablecellproperties/commands/tablecellverticalalignmentcommand.js +38 -38
  83. package/src/tablecellproperties/tablecellpropertiesediting.d.ts +43 -43
  84. package/src/tablecellproperties/tablecellpropertiesediting.js +241 -241
  85. package/src/tablecellproperties/tablecellpropertiesui.d.ts +112 -112
  86. package/src/tablecellproperties/tablecellpropertiesui.js +330 -330
  87. package/src/tablecellproperties/ui/tablecellpropertiesview.d.ts +228 -228
  88. package/src/tablecellproperties/ui/tablecellpropertiesview.js +548 -548
  89. package/src/tablecellproperties.d.ts +30 -30
  90. package/src/tablecellproperties.js +34 -34
  91. package/src/tablecellwidth/commands/tablecellwidthcommand.d.ts +46 -46
  92. package/src/tablecellwidth/commands/tablecellwidthcommand.js +51 -51
  93. package/src/tablecellwidth/tablecellwidthediting.d.ts +29 -29
  94. package/src/tablecellwidth/tablecellwidthediting.js +45 -45
  95. package/src/tableclipboard.d.ts +65 -65
  96. package/src/tableclipboard.js +450 -450
  97. package/src/tablecolumnresize/constants.d.ts +20 -20
  98. package/src/tablecolumnresize/constants.js +20 -20
  99. package/src/tablecolumnresize/converters.d.ts +18 -18
  100. package/src/tablecolumnresize/converters.js +46 -46
  101. package/src/tablecolumnresize/tablecolumnresizeediting.d.ts +139 -139
  102. package/src/tablecolumnresize/tablecolumnresizeediting.js +583 -583
  103. package/src/tablecolumnresize/tablewidthscommand.d.ts +38 -38
  104. package/src/tablecolumnresize/tablewidthscommand.js +61 -61
  105. package/src/tablecolumnresize/utils.d.ts +148 -148
  106. package/src/tablecolumnresize/utils.js +358 -358
  107. package/src/tablecolumnresize.d.ts +26 -26
  108. package/src/tablecolumnresize.js +30 -30
  109. package/src/tableconfig.d.ts +343 -343
  110. package/src/tableconfig.js +5 -5
  111. package/src/tableediting.d.ts +98 -98
  112. package/src/tableediting.js +191 -191
  113. package/src/tablekeyboard.d.ts +68 -68
  114. package/src/tablekeyboard.js +279 -279
  115. package/src/tablemouse/mouseeventsobserver.d.ts +62 -62
  116. package/src/tablemouse/mouseeventsobserver.js +35 -35
  117. package/src/tablemouse.d.ts +48 -48
  118. package/src/tablemouse.js +172 -172
  119. package/src/tableproperties/commands/tablealignmentcommand.d.ts +32 -32
  120. package/src/tableproperties/commands/tablealignmentcommand.js +30 -30
  121. package/src/tableproperties/commands/tablebackgroundcolorcommand.d.ts +32 -32
  122. package/src/tableproperties/commands/tablebackgroundcolorcommand.js +30 -30
  123. package/src/tableproperties/commands/tablebordercolorcommand.d.ts +37 -37
  124. package/src/tableproperties/commands/tablebordercolorcommand.js +44 -44
  125. package/src/tableproperties/commands/tableborderstylecommand.d.ts +37 -37
  126. package/src/tableproperties/commands/tableborderstylecommand.js +44 -44
  127. package/src/tableproperties/commands/tableborderwidthcommand.d.ts +51 -51
  128. package/src/tableproperties/commands/tableborderwidthcommand.js +64 -64
  129. package/src/tableproperties/commands/tableheightcommand.d.ts +46 -46
  130. package/src/tableproperties/commands/tableheightcommand.js +54 -54
  131. package/src/tableproperties/commands/tablepropertycommand.d.ts +61 -61
  132. package/src/tableproperties/commands/tablepropertycommand.js +81 -80
  133. package/src/tableproperties/commands/tablewidthcommand.d.ts +46 -46
  134. package/src/tableproperties/commands/tablewidthcommand.js +54 -54
  135. package/src/tableproperties/tablepropertiesediting.d.ts +40 -40
  136. package/src/tableproperties/tablepropertiesediting.js +206 -206
  137. package/src/tableproperties/tablepropertiesui.d.ts +114 -114
  138. package/src/tableproperties/tablepropertiesui.js +321 -321
  139. package/src/tableproperties/ui/tablepropertiesview.d.ts +207 -207
  140. package/src/tableproperties/ui/tablepropertiesview.js +466 -466
  141. package/src/tableproperties.d.ts +30 -30
  142. package/src/tableproperties.js +34 -34
  143. package/src/tableselection.d.ts +107 -107
  144. package/src/tableselection.js +297 -297
  145. package/src/tabletoolbar.d.ts +32 -32
  146. package/src/tabletoolbar.js +57 -57
  147. package/src/tableui.d.ts +53 -53
  148. package/src/tableui.js +309 -309
  149. package/src/tableutils.d.ts +448 -448
  150. package/src/tableutils.js +1055 -1055
  151. package/src/tablewalker.d.ts +362 -362
  152. package/src/tablewalker.js +393 -393
  153. package/src/ui/colorinputview.d.ts +140 -140
  154. package/src/ui/colorinputview.js +271 -271
  155. package/src/ui/formrowview.d.ts +61 -61
  156. package/src/ui/formrowview.js +57 -57
  157. package/src/ui/inserttableview.d.ts +77 -77
  158. package/src/ui/inserttableview.js +169 -169
  159. package/src/utils/common.d.ts +46 -42
  160. package/src/utils/common.js +68 -57
  161. package/src/utils/structure.d.ts +245 -245
  162. package/src/utils/structure.js +426 -426
  163. package/src/utils/table-properties.d.ts +67 -67
  164. package/src/utils/table-properties.js +86 -86
  165. package/src/utils/ui/contextualballoon.d.ts +34 -34
  166. package/src/utils/ui/contextualballoon.js +110 -106
  167. package/src/utils/ui/table-properties.d.ts +195 -195
  168. package/src/utils/ui/table-properties.js +362 -362
  169. package/src/utils/ui/widget.d.ts +20 -16
  170. package/src/utils/ui/widget.js +48 -38
  171. package/build/table.js.map +0 -1
@@ -1,30 +1,30 @@
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/tablecellproperties
7
- */
8
- import { Plugin } from 'ckeditor5/src/core';
9
- import TableCellPropertiesUI from './tablecellproperties/tablecellpropertiesui';
10
- import TableCellPropertiesEditing from './tablecellproperties/tablecellpropertiesediting';
11
- /**
12
- * The table cell properties feature. Enables support for setting properties of table cells (size, border, background, etc.).
13
- *
14
- * Read more in the {@glink features/tables/tables-styling Table and cell styling tools} section.
15
- * See also the {@link module:table/tableproperties~TableProperties} plugin.
16
- *
17
- * This is a "glue" plugin that loads the
18
- * {@link module:table/tablecellproperties/tablecellpropertiesediting~TableCellPropertiesEditing table cell properties editing feature} and
19
- * the {@link module:table/tablecellproperties/tablecellpropertiesui~TableCellPropertiesUI table cell properties UI feature}.
20
- */
21
- export default class TableCellProperties extends Plugin {
22
- /**
23
- * @inheritDoc
24
- */
25
- static get pluginName(): "TableCellProperties";
26
- /**
27
- * @inheritDoc
28
- */
29
- static get requires(): readonly [typeof TableCellPropertiesEditing, typeof TableCellPropertiesUI];
30
- }
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/tablecellproperties
7
+ */
8
+ import { Plugin } from 'ckeditor5/src/core';
9
+ import TableCellPropertiesUI from './tablecellproperties/tablecellpropertiesui';
10
+ import TableCellPropertiesEditing from './tablecellproperties/tablecellpropertiesediting';
11
+ /**
12
+ * The table cell properties feature. Enables support for setting properties of table cells (size, border, background, etc.).
13
+ *
14
+ * Read more in the {@glink features/tables/tables-styling Table and cell styling tools} section.
15
+ * See also the {@link module:table/tableproperties~TableProperties} plugin.
16
+ *
17
+ * This is a "glue" plugin that loads the
18
+ * {@link module:table/tablecellproperties/tablecellpropertiesediting~TableCellPropertiesEditing table cell properties editing feature} and
19
+ * the {@link module:table/tablecellproperties/tablecellpropertiesui~TableCellPropertiesUI table cell properties UI feature}.
20
+ */
21
+ export default class TableCellProperties extends Plugin {
22
+ /**
23
+ * @inheritDoc
24
+ */
25
+ static get pluginName(): "TableCellProperties";
26
+ /**
27
+ * @inheritDoc
28
+ */
29
+ static get requires(): readonly [typeof TableCellPropertiesEditing, typeof TableCellPropertiesUI];
30
+ }
@@ -1,34 +1,34 @@
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/tablecellproperties
7
- */
8
- import { Plugin } from 'ckeditor5/src/core';
9
- import TableCellPropertiesUI from './tablecellproperties/tablecellpropertiesui';
10
- import TableCellPropertiesEditing from './tablecellproperties/tablecellpropertiesediting';
11
- /**
12
- * The table cell properties feature. Enables support for setting properties of table cells (size, border, background, etc.).
13
- *
14
- * Read more in the {@glink features/tables/tables-styling Table and cell styling tools} section.
15
- * See also the {@link module:table/tableproperties~TableProperties} plugin.
16
- *
17
- * This is a "glue" plugin that loads the
18
- * {@link module:table/tablecellproperties/tablecellpropertiesediting~TableCellPropertiesEditing table cell properties editing feature} and
19
- * the {@link module:table/tablecellproperties/tablecellpropertiesui~TableCellPropertiesUI table cell properties UI feature}.
20
- */
21
- export default class TableCellProperties extends Plugin {
22
- /**
23
- * @inheritDoc
24
- */
25
- static get pluginName() {
26
- return 'TableCellProperties';
27
- }
28
- /**
29
- * @inheritDoc
30
- */
31
- static get requires() {
32
- return [TableCellPropertiesEditing, TableCellPropertiesUI];
33
- }
34
- }
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/tablecellproperties
7
+ */
8
+ import { Plugin } from 'ckeditor5/src/core';
9
+ import TableCellPropertiesUI from './tablecellproperties/tablecellpropertiesui';
10
+ import TableCellPropertiesEditing from './tablecellproperties/tablecellpropertiesediting';
11
+ /**
12
+ * The table cell properties feature. Enables support for setting properties of table cells (size, border, background, etc.).
13
+ *
14
+ * Read more in the {@glink features/tables/tables-styling Table and cell styling tools} section.
15
+ * See also the {@link module:table/tableproperties~TableProperties} plugin.
16
+ *
17
+ * This is a "glue" plugin that loads the
18
+ * {@link module:table/tablecellproperties/tablecellpropertiesediting~TableCellPropertiesEditing table cell properties editing feature} and
19
+ * the {@link module:table/tablecellproperties/tablecellpropertiesui~TableCellPropertiesUI table cell properties UI feature}.
20
+ */
21
+ export default class TableCellProperties extends Plugin {
22
+ /**
23
+ * @inheritDoc
24
+ */
25
+ static get pluginName() {
26
+ return 'TableCellProperties';
27
+ }
28
+ /**
29
+ * @inheritDoc
30
+ */
31
+ static get requires() {
32
+ return [TableCellPropertiesEditing, TableCellPropertiesUI];
33
+ }
34
+ }
@@ -1,46 +1,46 @@
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/tablecellwidth/commands/tablecellwidthcommand
7
- */
8
- import type { Editor } from 'ckeditor5/src/core';
9
- import TableCellPropertyCommand from '../../tablecellproperties/commands/tablecellpropertycommand';
10
- /**
11
- * The table cell width command.
12
- *
13
- * The command is registered by the {@link module:table/tablecellwidth/tablecellwidthediting~TableCellWidthEditing} as
14
- * the `'tableCellWidth'` editor command.
15
- *
16
- * To change the width of selected cells, execute the command:
17
- *
18
- * ```ts
19
- * editor.execute( 'tableCellWidth', {
20
- * value: '50px'
21
- * } );
22
- * ```
23
- *
24
- * **Note**: This command adds a default `'px'` unit to numeric values. Executing:
25
- *
26
- * ```ts
27
- * editor.execute( 'tableCellWidth', {
28
- * value: '50'
29
- * } );
30
- * ```
31
- *
32
- * will set the `width` attribute to `'50px'` in the model.
33
- */
34
- export default class TableCellWidthCommand extends TableCellPropertyCommand {
35
- /**
36
- * Creates a new `TableCellWidthCommand` instance.
37
- *
38
- * @param editor An editor in which this command will be used.
39
- * @param defaultValue The default value of the attribute.
40
- */
41
- constructor(editor: Editor, defaultValue: string);
42
- /**
43
- * @inheritDoc
44
- */
45
- _getValueToSet(value: string | number | undefined): unknown;
46
- }
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/tablecellwidth/commands/tablecellwidthcommand
7
+ */
8
+ import type { Editor } from 'ckeditor5/src/core';
9
+ import TableCellPropertyCommand from '../../tablecellproperties/commands/tablecellpropertycommand';
10
+ /**
11
+ * The table cell width command.
12
+ *
13
+ * The command is registered by the {@link module:table/tablecellwidth/tablecellwidthediting~TableCellWidthEditing} as
14
+ * the `'tableCellWidth'` editor command.
15
+ *
16
+ * To change the width of selected cells, execute the command:
17
+ *
18
+ * ```ts
19
+ * editor.execute( 'tableCellWidth', {
20
+ * value: '50px'
21
+ * } );
22
+ * ```
23
+ *
24
+ * **Note**: This command adds a default `'px'` unit to numeric values. Executing:
25
+ *
26
+ * ```ts
27
+ * editor.execute( 'tableCellWidth', {
28
+ * value: '50'
29
+ * } );
30
+ * ```
31
+ *
32
+ * will set the `width` attribute to `'50px'` in the model.
33
+ */
34
+ export default class TableCellWidthCommand extends TableCellPropertyCommand {
35
+ /**
36
+ * Creates a new `TableCellWidthCommand` instance.
37
+ *
38
+ * @param editor An editor in which this command will be used.
39
+ * @param defaultValue The default value of the attribute.
40
+ */
41
+ constructor(editor: Editor, defaultValue: string);
42
+ /**
43
+ * @inheritDoc
44
+ */
45
+ _getValueToSet(value: string | number | undefined): unknown;
46
+ }
@@ -1,51 +1,51 @@
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 TableCellPropertyCommand from '../../tablecellproperties/commands/tablecellpropertycommand';
6
- import { addDefaultUnitToNumericValue } from '../../utils/table-properties';
7
- /**
8
- * The table cell width command.
9
- *
10
- * The command is registered by the {@link module:table/tablecellwidth/tablecellwidthediting~TableCellWidthEditing} as
11
- * the `'tableCellWidth'` editor command.
12
- *
13
- * To change the width of selected cells, execute the command:
14
- *
15
- * ```ts
16
- * editor.execute( 'tableCellWidth', {
17
- * value: '50px'
18
- * } );
19
- * ```
20
- *
21
- * **Note**: This command adds a default `'px'` unit to numeric values. Executing:
22
- *
23
- * ```ts
24
- * editor.execute( 'tableCellWidth', {
25
- * value: '50'
26
- * } );
27
- * ```
28
- *
29
- * will set the `width` attribute to `'50px'` in the model.
30
- */
31
- export default class TableCellWidthCommand extends TableCellPropertyCommand {
32
- /**
33
- * Creates a new `TableCellWidthCommand` instance.
34
- *
35
- * @param editor An editor in which this command will be used.
36
- * @param defaultValue The default value of the attribute.
37
- */
38
- constructor(editor, defaultValue) {
39
- super(editor, 'tableCellWidth', defaultValue);
40
- }
41
- /**
42
- * @inheritDoc
43
- */
44
- _getValueToSet(value) {
45
- value = addDefaultUnitToNumericValue(value, 'px');
46
- if (value === this._defaultValue) {
47
- return;
48
- }
49
- return value;
50
- }
51
- }
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 TableCellPropertyCommand from '../../tablecellproperties/commands/tablecellpropertycommand';
6
+ import { addDefaultUnitToNumericValue } from '../../utils/table-properties';
7
+ /**
8
+ * The table cell width command.
9
+ *
10
+ * The command is registered by the {@link module:table/tablecellwidth/tablecellwidthediting~TableCellWidthEditing} as
11
+ * the `'tableCellWidth'` editor command.
12
+ *
13
+ * To change the width of selected cells, execute the command:
14
+ *
15
+ * ```ts
16
+ * editor.execute( 'tableCellWidth', {
17
+ * value: '50px'
18
+ * } );
19
+ * ```
20
+ *
21
+ * **Note**: This command adds a default `'px'` unit to numeric values. Executing:
22
+ *
23
+ * ```ts
24
+ * editor.execute( 'tableCellWidth', {
25
+ * value: '50'
26
+ * } );
27
+ * ```
28
+ *
29
+ * will set the `width` attribute to `'50px'` in the model.
30
+ */
31
+ export default class TableCellWidthCommand extends TableCellPropertyCommand {
32
+ /**
33
+ * Creates a new `TableCellWidthCommand` instance.
34
+ *
35
+ * @param editor An editor in which this command will be used.
36
+ * @param defaultValue The default value of the attribute.
37
+ */
38
+ constructor(editor, defaultValue) {
39
+ super(editor, 'tableCellWidth', defaultValue);
40
+ }
41
+ /**
42
+ * @inheritDoc
43
+ */
44
+ _getValueToSet(value) {
45
+ value = addDefaultUnitToNumericValue(value, 'px');
46
+ if (value === this._defaultValue) {
47
+ return;
48
+ }
49
+ return value;
50
+ }
51
+ }
@@ -1,29 +1,29 @@
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/tablecellwidth/tablecellwidthediting
7
- */
8
- import { Plugin } from 'ckeditor5/src/core';
9
- import TableEditing from './../tableediting';
10
- /**
11
- * The table cell width editing feature.
12
- *
13
- * Introduces `tableCellWidth` table cell model attribute alongside with its converters
14
- * and a command.
15
- */
16
- export default class TableCellWidthEditing extends Plugin {
17
- /**
18
- * @inheritDoc
19
- */
20
- static get pluginName(): "TableCellWidthEditing";
21
- /**
22
- * @inheritDoc
23
- */
24
- static get requires(): readonly [typeof TableEditing];
25
- /**
26
- * @inheritDoc
27
- */
28
- init(): void;
29
- }
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/tablecellwidth/tablecellwidthediting
7
+ */
8
+ import { Plugin } from 'ckeditor5/src/core';
9
+ import TableEditing from './../tableediting';
10
+ /**
11
+ * The table cell width editing feature.
12
+ *
13
+ * Introduces `tableCellWidth` table cell model attribute alongside with its converters
14
+ * and a command.
15
+ */
16
+ export default class TableCellWidthEditing extends Plugin {
17
+ /**
18
+ * @inheritDoc
19
+ */
20
+ static get pluginName(): "TableCellWidthEditing";
21
+ /**
22
+ * @inheritDoc
23
+ */
24
+ static get requires(): readonly [typeof TableEditing];
25
+ /**
26
+ * @inheritDoc
27
+ */
28
+ init(): void;
29
+ }
@@ -1,45 +1,45 @@
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/tablecellwidth/tablecellwidthediting
7
- */
8
- import { Plugin } from 'ckeditor5/src/core';
9
- import TableEditing from './../tableediting';
10
- import TableCellWidthCommand from './commands/tablecellwidthcommand';
11
- import { getNormalizedDefaultProperties } from '../utils/table-properties';
12
- import { enableProperty } from '../utils/common';
13
- /**
14
- * The table cell width editing feature.
15
- *
16
- * Introduces `tableCellWidth` table cell model attribute alongside with its converters
17
- * and a command.
18
- */
19
- export default class TableCellWidthEditing extends Plugin {
20
- /**
21
- * @inheritDoc
22
- */
23
- static get pluginName() {
24
- return 'TableCellWidthEditing';
25
- }
26
- /**
27
- * @inheritDoc
28
- */
29
- static get requires() {
30
- return [TableEditing];
31
- }
32
- /**
33
- * @inheritDoc
34
- */
35
- init() {
36
- const editor = this.editor;
37
- const defaultTableCellProperties = getNormalizedDefaultProperties(editor.config.get('table.tableCellProperties.defaultProperties'));
38
- enableProperty(editor.model.schema, editor.conversion, {
39
- modelAttribute: 'tableCellWidth',
40
- styleName: 'width',
41
- defaultValue: defaultTableCellProperties.width
42
- });
43
- editor.commands.add('tableCellWidth', new TableCellWidthCommand(editor, defaultTableCellProperties.width));
44
- }
45
- }
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/tablecellwidth/tablecellwidthediting
7
+ */
8
+ import { Plugin } from 'ckeditor5/src/core';
9
+ import TableEditing from './../tableediting';
10
+ import TableCellWidthCommand from './commands/tablecellwidthcommand';
11
+ import { getNormalizedDefaultProperties } from '../utils/table-properties';
12
+ import { enableProperty } from '../utils/common';
13
+ /**
14
+ * The table cell width editing feature.
15
+ *
16
+ * Introduces `tableCellWidth` table cell model attribute alongside with its converters
17
+ * and a command.
18
+ */
19
+ export default class TableCellWidthEditing extends Plugin {
20
+ /**
21
+ * @inheritDoc
22
+ */
23
+ static get pluginName() {
24
+ return 'TableCellWidthEditing';
25
+ }
26
+ /**
27
+ * @inheritDoc
28
+ */
29
+ static get requires() {
30
+ return [TableEditing];
31
+ }
32
+ /**
33
+ * @inheritDoc
34
+ */
35
+ init() {
36
+ const editor = this.editor;
37
+ const defaultTableCellProperties = getNormalizedDefaultProperties(editor.config.get('table.tableCellProperties.defaultProperties'));
38
+ enableProperty(editor.model.schema, editor.conversion, {
39
+ modelAttribute: 'tableCellWidth',
40
+ styleName: 'width',
41
+ defaultValue: defaultTableCellProperties.width
42
+ });
43
+ editor.commands.add('tableCellWidth', new TableCellWidthCommand(editor, defaultTableCellProperties.width));
44
+ }
45
+ }
@@ -1,65 +1,65 @@
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 { Plugin } from 'ckeditor5/src/core';
6
- import type { DocumentFragment, Element, Item, Model, Position, Writer } from 'ckeditor5/src/engine';
7
- import TableSelection from './tableselection';
8
- import { type TableSlot } from './tablewalker';
9
- import TableUtils from './tableutils';
10
- /**
11
- * This plugin adds support for copying/cutting/pasting fragments of tables.
12
- * It is loaded automatically by the {@link module:table/table~Table} plugin.
13
- */
14
- export default class TableClipboard extends Plugin {
15
- /**
16
- * @inheritDoc
17
- */
18
- static get pluginName(): "TableClipboard";
19
- /**
20
- * @inheritDoc
21
- */
22
- static get requires(): readonly [typeof TableSelection, typeof TableUtils];
23
- /**
24
- * @inheritDoc
25
- */
26
- init(): void;
27
- /**
28
- * Copies table content to a clipboard on "copy" & "cut" events.
29
- *
30
- * @param evt An object containing information about the handled event.
31
- * @param data Clipboard event data.
32
- */
33
- private _onCopyCut;
34
- /**
35
- * Overrides default {@link module:engine/model/model~Model#insertContent `model.insertContent()`} method to handle pasting table inside
36
- * selected table fragment.
37
- *
38
- * Depending on selected table fragment:
39
- * - If a selected table fragment is smaller than paste table it will crop pasted table to match dimensions.
40
- * - If dimensions are equal it will replace selected table fragment with a pasted table contents.
41
- *
42
- * @param content The content to insert.
43
- * @param selectable The selection into which the content should be inserted.
44
- * If not provided the current model document selection will be used.
45
- */
46
- private _onInsertContent;
47
- /**
48
- * Replaces the part of selectedTable with pastedTable.
49
- */
50
- private _replaceSelectedCellsWithPasted;
51
- /**
52
- * Replaces a single table slot.
53
- *
54
- * @returns Inserted table cell or null if slot should remain empty.
55
- * @private
56
- */
57
- _replaceTableSlotCell(tableSlot: TableSlot, cellToInsert: Element | null, insertPosition: Position, writer: Writer): Element | null;
58
- /**
59
- * Extracts the table for pasting into a table.
60
- *
61
- * @param content The content to insert.
62
- * @param model The editor model.
63
- */
64
- getTableIfOnlyTableInContent(content: DocumentFragment | Item, model: Model): Element | null;
65
- }
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 { Plugin } from 'ckeditor5/src/core';
6
+ import type { DocumentFragment, Element, Item, Model, Position, Writer } from 'ckeditor5/src/engine';
7
+ import TableSelection from './tableselection';
8
+ import { type TableSlot } from './tablewalker';
9
+ import TableUtils from './tableutils';
10
+ /**
11
+ * This plugin adds support for copying/cutting/pasting fragments of tables.
12
+ * It is loaded automatically by the {@link module:table/table~Table} plugin.
13
+ */
14
+ export default class TableClipboard extends Plugin {
15
+ /**
16
+ * @inheritDoc
17
+ */
18
+ static get pluginName(): "TableClipboard";
19
+ /**
20
+ * @inheritDoc
21
+ */
22
+ static get requires(): readonly [typeof TableSelection, typeof TableUtils];
23
+ /**
24
+ * @inheritDoc
25
+ */
26
+ init(): void;
27
+ /**
28
+ * Copies table content to a clipboard on "copy" & "cut" events.
29
+ *
30
+ * @param evt An object containing information about the handled event.
31
+ * @param data Clipboard event data.
32
+ */
33
+ private _onCopyCut;
34
+ /**
35
+ * Overrides default {@link module:engine/model/model~Model#insertContent `model.insertContent()`} method to handle pasting table inside
36
+ * selected table fragment.
37
+ *
38
+ * Depending on selected table fragment:
39
+ * - If a selected table fragment is smaller than paste table it will crop pasted table to match dimensions.
40
+ * - If dimensions are equal it will replace selected table fragment with a pasted table contents.
41
+ *
42
+ * @param content The content to insert.
43
+ * @param selectable The selection into which the content should be inserted.
44
+ * If not provided the current model document selection will be used.
45
+ */
46
+ private _onInsertContent;
47
+ /**
48
+ * Replaces the part of selectedTable with pastedTable.
49
+ */
50
+ private _replaceSelectedCellsWithPasted;
51
+ /**
52
+ * Replaces a single table slot.
53
+ *
54
+ * @returns Inserted table cell or null if slot should remain empty.
55
+ * @private
56
+ */
57
+ _replaceTableSlotCell(tableSlot: TableSlot, cellToInsert: Element | null, insertPosition: Position, writer: Writer): Element | null;
58
+ /**
59
+ * Extracts the table for pasting into a table.
60
+ *
61
+ * @param content The content to insert.
62
+ * @param model The editor model.
63
+ */
64
+ getTableIfOnlyTableInContent(content: DocumentFragment | Item, model: Model): Element | null;
65
+ }