@ckeditor/ckeditor5-table 36.0.1 → 37.0.0-alpha.1

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 (170) hide show
  1. package/README.md +1 -1
  2. package/build/table.js +1 -1
  3. package/ckeditor5-metadata.json +6 -6
  4. package/package.json +34 -29
  5. package/src/augmentation.d.ts +76 -0
  6. package/src/augmentation.js +5 -0
  7. package/src/commands/insertcolumncommand.d.ts +55 -0
  8. package/src/commands/insertcolumncommand.js +45 -60
  9. package/src/commands/insertrowcommand.d.ts +54 -0
  10. package/src/commands/insertrowcommand.js +44 -59
  11. package/src/commands/inserttablecommand.d.ts +44 -0
  12. package/src/commands/inserttablecommand.js +50 -68
  13. package/src/commands/mergecellcommand.d.ts +68 -0
  14. package/src/commands/mergecellcommand.js +169 -244
  15. package/src/commands/mergecellscommand.d.ts +28 -0
  16. package/src/commands/mergecellscommand.js +72 -101
  17. package/src/commands/removecolumncommand.d.ts +29 -0
  18. package/src/commands/removecolumncommand.js +88 -102
  19. package/src/commands/removerowcommand.d.ts +29 -0
  20. package/src/commands/removerowcommand.js +63 -80
  21. package/src/commands/selectcolumncommand.d.ts +33 -0
  22. package/src/commands/selectcolumncommand.js +41 -54
  23. package/src/commands/selectrowcommand.d.ts +33 -0
  24. package/src/commands/selectrowcommand.js +38 -48
  25. package/src/commands/setheadercolumncommand.d.ts +50 -0
  26. package/src/commands/setheadercolumncommand.js +48 -73
  27. package/src/commands/setheaderrowcommand.d.ts +53 -0
  28. package/src/commands/setheaderrowcommand.js +56 -85
  29. package/src/commands/splitcellcommand.d.ts +43 -0
  30. package/src/commands/splitcellcommand.js +35 -49
  31. package/src/converters/downcast.d.ts +63 -0
  32. package/src/converters/downcast.js +98 -130
  33. package/src/converters/table-caption-post-fixer.d.ts +20 -0
  34. package/src/converters/table-caption-post-fixer.js +36 -52
  35. package/src/converters/table-cell-paragraph-post-fixer.d.ts +32 -0
  36. package/src/converters/table-cell-paragraph-post-fixer.js +88 -119
  37. package/src/converters/table-cell-refresh-handler.d.ts +18 -0
  38. package/src/converters/table-cell-refresh-handler.js +29 -48
  39. package/src/converters/table-headings-refresh-handler.d.ts +17 -0
  40. package/src/converters/table-headings-refresh-handler.js +35 -54
  41. package/src/converters/table-layout-post-fixer.d.ts +226 -0
  42. package/src/converters/table-layout-post-fixer.js +276 -313
  43. package/src/converters/tableproperties.d.ts +54 -0
  44. package/src/converters/tableproperties.js +136 -168
  45. package/src/converters/upcasttable.d.ts +49 -0
  46. package/src/converters/upcasttable.js +199 -251
  47. package/src/index.d.ts +60 -0
  48. package/src/index.js +1 -2
  49. package/src/plaintableoutput.d.ts +25 -0
  50. package/src/plaintableoutput.js +107 -135
  51. package/src/table.d.ts +33 -0
  52. package/src/table.js +12 -88
  53. package/src/tablecaption/tablecaptionediting.d.ts +63 -0
  54. package/src/tablecaption/tablecaptionediting.js +104 -135
  55. package/src/tablecaption/tablecaptionui.d.ts +21 -0
  56. package/src/tablecaption/tablecaptionui.js +42 -58
  57. package/src/tablecaption/toggletablecaptioncommand.d.ts +68 -0
  58. package/src/tablecaption/toggletablecaptioncommand.js +77 -92
  59. package/src/tablecaption/utils.d.ts +42 -0
  60. package/src/tablecaption/utils.js +35 -61
  61. package/src/tablecaption.d.ts +22 -0
  62. package/src/tablecaption.js +12 -19
  63. package/src/tablecellproperties/commands/tablecellbackgroundcolorcommand.d.ts +32 -0
  64. package/src/tablecellproperties/commands/tablecellbackgroundcolorcommand.js +14 -20
  65. package/src/tablecellproperties/commands/tablecellbordercolorcommand.d.ts +37 -0
  66. package/src/tablecellproperties/commands/tablecellbordercolorcommand.js +27 -37
  67. package/src/tablecellproperties/commands/tablecellborderstylecommand.d.ts +37 -0
  68. package/src/tablecellproperties/commands/tablecellborderstylecommand.js +27 -37
  69. package/src/tablecellproperties/commands/tablecellborderwidthcommand.d.ts +51 -0
  70. package/src/tablecellproperties/commands/tablecellborderwidthcommand.js +42 -53
  71. package/src/tablecellproperties/commands/tablecellheightcommand.d.ts +46 -0
  72. package/src/tablecellproperties/commands/tablecellheightcommand.js +29 -36
  73. package/src/tablecellproperties/commands/tablecellhorizontalalignmentcommand.d.ts +32 -0
  74. package/src/tablecellproperties/commands/tablecellhorizontalalignmentcommand.js +14 -20
  75. package/src/tablecellproperties/commands/tablecellpaddingcommand.d.ts +51 -0
  76. package/src/tablecellproperties/commands/tablecellpaddingcommand.js +42 -53
  77. package/src/tablecellproperties/commands/tablecellpropertycommand.d.ts +62 -0
  78. package/src/tablecellproperties/commands/tablecellpropertycommand.js +77 -122
  79. package/src/tablecellproperties/commands/tablecellverticalalignmentcommand.d.ts +40 -0
  80. package/src/tablecellproperties/commands/tablecellverticalalignmentcommand.js +14 -20
  81. package/src/tablecellproperties/tablecellpropertiesediting.d.ts +41 -0
  82. package/src/tablecellproperties/tablecellpropertiesediting.js +193 -236
  83. package/src/tablecellproperties/tablecellpropertiesui.d.ts +111 -0
  84. package/src/tablecellproperties/tablecellpropertiesui.js +302 -456
  85. package/src/tablecellproperties/ui/tablecellpropertiesview.d.ts +227 -0
  86. package/src/tablecellproperties/ui/tablecellpropertiesview.js +509 -844
  87. package/src/tablecellproperties.d.ts +28 -0
  88. package/src/tablecellproperties.js +12 -98
  89. package/src/tablecellwidth/commands/tablecellwidthcommand.d.ts +46 -0
  90. package/src/tablecellwidth/commands/tablecellwidthcommand.js +29 -35
  91. package/src/tablecellwidth/tablecellwidthediting.d.ts +28 -0
  92. package/src/tablecellwidth/tablecellwidthediting.js +25 -38
  93. package/src/tableclipboard.d.ts +63 -0
  94. package/src/tableclipboard.js +429 -568
  95. package/src/tablecolumnresize/constants.d.ts +20 -0
  96. package/src/tablecolumnresize/constants.js +0 -10
  97. package/src/tablecolumnresize/converters.d.ts +18 -0
  98. package/src/tablecolumnresize/converters.js +35 -119
  99. package/src/tablecolumnresize/tablecolumnresizeediting.d.ts +137 -0
  100. package/src/tablecolumnresize/tablecolumnresizeediting.js +545 -711
  101. package/src/tablecolumnresize/tablewidthscommand.d.ts +38 -0
  102. package/src/tablecolumnresize/tablewidthscommand.js +61 -0
  103. package/src/tablecolumnresize/utils.d.ts +141 -0
  104. package/src/tablecolumnresize/utils.js +256 -233
  105. package/src/tablecolumnresize.d.ts +24 -0
  106. package/src/tablecolumnresize.js +12 -19
  107. package/src/tableconfig.d.ts +331 -0
  108. package/src/tableconfig.js +5 -0
  109. package/src/tableediting.d.ts +97 -0
  110. package/src/tableediting.js +157 -176
  111. package/src/tablekeyboard.d.ts +63 -0
  112. package/src/tablekeyboard.js +261 -344
  113. package/src/tablemouse/mouseeventsobserver.d.ts +62 -0
  114. package/src/tablemouse/mouseeventsobserver.js +13 -50
  115. package/src/tablemouse.d.ts +46 -0
  116. package/src/tablemouse.js +154 -202
  117. package/src/tableproperties/commands/tablealignmentcommand.d.ts +32 -0
  118. package/src/tableproperties/commands/tablealignmentcommand.js +14 -20
  119. package/src/tableproperties/commands/tablebackgroundcolorcommand.d.ts +32 -0
  120. package/src/tableproperties/commands/tablebackgroundcolorcommand.js +14 -20
  121. package/src/tableproperties/commands/tablebordercolorcommand.d.ts +37 -0
  122. package/src/tableproperties/commands/tablebordercolorcommand.js +27 -37
  123. package/src/tableproperties/commands/tableborderstylecommand.d.ts +37 -0
  124. package/src/tableproperties/commands/tableborderstylecommand.js +27 -37
  125. package/src/tableproperties/commands/tableborderwidthcommand.d.ts +51 -0
  126. package/src/tableproperties/commands/tableborderwidthcommand.js +42 -53
  127. package/src/tableproperties/commands/tableheightcommand.d.ts +46 -0
  128. package/src/tableproperties/commands/tableheightcommand.js +29 -33
  129. package/src/tableproperties/commands/tablepropertycommand.d.ts +61 -0
  130. package/src/tableproperties/commands/tablepropertycommand.js +68 -112
  131. package/src/tableproperties/commands/tablewidthcommand.d.ts +46 -0
  132. package/src/tableproperties/commands/tablewidthcommand.js +29 -33
  133. package/src/tableproperties/tablepropertiesediting.d.ts +39 -0
  134. package/src/tableproperties/tablepropertiesediting.js +163 -210
  135. package/src/tableproperties/tablepropertiesui.d.ts +113 -0
  136. package/src/tableproperties/tablepropertiesui.js +293 -439
  137. package/src/tableproperties/ui/tablepropertiesview.d.ts +203 -0
  138. package/src/tableproperties/ui/tablepropertiesview.js +427 -718
  139. package/src/tableproperties.d.ts +28 -0
  140. package/src/tableproperties.js +12 -95
  141. package/src/tableselection.d.ts +106 -0
  142. package/src/tableselection.js +279 -376
  143. package/src/tabletoolbar.d.ts +31 -0
  144. package/src/tabletoolbar.js +38 -92
  145. package/src/tableui.d.ts +53 -0
  146. package/src/tableui.js +281 -338
  147. package/src/tableutils.d.ts +448 -0
  148. package/src/tableutils.js +1015 -1229
  149. package/src/tablewalker.d.ts +323 -0
  150. package/src/tablewalker.js +308 -548
  151. package/src/ui/colorinputview.d.ts +143 -0
  152. package/src/ui/colorinputview.js +229 -366
  153. package/src/ui/formrowview.d.ts +61 -0
  154. package/src/ui/formrowview.js +38 -84
  155. package/src/ui/inserttableview.d.ts +77 -0
  156. package/src/ui/inserttableview.js +152 -242
  157. package/src/utils/common.d.ts +42 -0
  158. package/src/utils/common.js +33 -57
  159. package/src/utils/structure.d.ts +245 -0
  160. package/src/utils/structure.js +261 -379
  161. package/src/utils/table-properties.d.ts +67 -0
  162. package/src/utils/table-properties.js +60 -81
  163. package/src/utils/ui/contextualballoon.d.ts +34 -0
  164. package/src/utils/ui/contextualballoon.js +70 -89
  165. package/src/utils/ui/table-properties.d.ts +193 -0
  166. package/src/utils/ui/table-properties.js +259 -319
  167. package/src/utils/ui/widget.d.ts +16 -0
  168. package/src/utils/ui/widget.js +24 -46
  169. package/src/tablecolumnresize/tablecolumnwidthscommand.js +0 -55
  170. package/src/tablecolumnresize/tablewidthresizecommand.js +0 -65
@@ -0,0 +1,32 @@
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/tableproperties/commands/tablebackgroundcolorcommand
7
+ */
8
+ import type { Editor } from 'ckeditor5/src/core';
9
+ import TablePropertyCommand from './tablepropertycommand';
10
+ /**
11
+ * The table background color command.
12
+ *
13
+ * The command is registered by the {@link module:table/tableproperties/tablepropertiesediting~TablePropertiesEditing} as
14
+ * the `'tableBackgroundColor'` editor command.
15
+ *
16
+ * To change the background color of the selected table, execute the command:
17
+ *
18
+ * ```ts
19
+ * editor.execute( 'tableBackgroundColor', {
20
+ * value: '#f00'
21
+ * } );
22
+ * ```
23
+ */
24
+ export default class TableBackgroundColorCommand extends TablePropertyCommand {
25
+ /**
26
+ * Creates a new `TableBackgroundColorCommand` instance.
27
+ *
28
+ * @param editor An editor in which this command will be used.
29
+ * @param defaultValue The default value of the attribute.
30
+ */
31
+ constructor(editor: Editor, defaultValue: string);
32
+ }
@@ -2,13 +2,7 @@
2
2
  * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
4
  */
5
-
6
- /**
7
- * @module table/tableproperties/commands/tablebackgroundcolorcommand
8
- */
9
-
10
5
  import TablePropertyCommand from './tablepropertycommand';
11
-
12
6
  /**
13
7
  * The table background color command.
14
8
  *
@@ -17,20 +11,20 @@ import TablePropertyCommand from './tablepropertycommand';
17
11
  *
18
12
  * To change the background color of the selected table, execute the command:
19
13
  *
20
- * editor.execute( 'tableBackgroundColor', {
21
- * value: '#f00'
22
- * } );
23
- *
24
- * @extends module:table/tableproperties/commands/tablepropertycommand~TablePropertyCommand
14
+ * ```ts
15
+ * editor.execute( 'tableBackgroundColor', {
16
+ * value: '#f00'
17
+ * } );
18
+ * ```
25
19
  */
26
20
  export default class TableBackgroundColorCommand extends TablePropertyCommand {
27
- /**
28
- * Creates a new `TableBackgroundColorCommand` instance.
29
- *
30
- * @param {module:core/editor/editor~Editor} editor An editor in which this command will be used.
31
- * @param {String} defaultValue The default value of the attribute.
32
- */
33
- constructor( editor, defaultValue ) {
34
- super( editor, 'tableBackgroundColor', defaultValue );
35
- }
21
+ /**
22
+ * Creates a new `TableBackgroundColorCommand` instance.
23
+ *
24
+ * @param editor An editor in which this command will be used.
25
+ * @param defaultValue The default value of the attribute.
26
+ */
27
+ constructor(editor, defaultValue) {
28
+ super(editor, 'tableBackgroundColor', defaultValue);
29
+ }
36
30
  }
@@ -0,0 +1,37 @@
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/tableproperties/commands/tablebordercolorcommand
7
+ */
8
+ import type { Element } from 'ckeditor5/src/engine';
9
+ import type { Editor } from 'ckeditor5/src/core';
10
+ import TablePropertyCommand from './tablepropertycommand';
11
+ /**
12
+ * The table border color command.
13
+ *
14
+ * The command is registered by the {@link module:table/tableproperties/tablepropertiesediting~TablePropertiesEditing} as
15
+ * the `'tableBorderColor'` editor command.
16
+ *
17
+ * To change the border color of the selected table, execute the command:
18
+ *
19
+ * ```ts
20
+ * editor.execute( 'tableBorderColor', {
21
+ * value: '#f00'
22
+ * } );
23
+ * ```
24
+ */
25
+ export default class TableBorderColorCommand extends TablePropertyCommand {
26
+ /**
27
+ * Creates a new `TableBorderColorCommand` instance.
28
+ *
29
+ * @param editor An editor in which this command will be used.
30
+ * @param defaultValue The default value of the attribute.
31
+ */
32
+ constructor(editor: Editor, defaultValue: string);
33
+ /**
34
+ * @inheritDoc
35
+ */
36
+ protected _getValue(table: Element): unknown;
37
+ }
@@ -2,14 +2,8 @@
2
2
  * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
4
  */
5
-
6
- /**
7
- * @module table/tableproperties/commands/tablebordercolorcommand
8
- */
9
-
10
5
  import TablePropertyCommand from './tablepropertycommand';
11
6
  import { getSingleValue } from '../../utils/table-properties';
12
-
13
7
  /**
14
8
  * The table border color command.
15
9
  *
@@ -18,37 +12,33 @@ import { getSingleValue } from '../../utils/table-properties';
18
12
  *
19
13
  * To change the border color of the selected table, execute the command:
20
14
  *
21
- * editor.execute( 'tableBorderColor', {
22
- * value: '#f00'
23
- * } );
24
- *
25
- * @extends module:table/tableproperties/commands/tablepropertycommand~TablePropertyCommand
15
+ * ```ts
16
+ * editor.execute( 'tableBorderColor', {
17
+ * value: '#f00'
18
+ * } );
19
+ * ```
26
20
  */
27
21
  export default class TableBorderColorCommand extends TablePropertyCommand {
28
- /**
29
- * Creates a new `TableBorderColorCommand` instance.
30
- *
31
- * @param {module:core/editor/editor~Editor} editor An editor in which this command will be used.
32
- * @param {String} defaultValue The default value of the attribute.
33
- */
34
- constructor( editor, defaultValue ) {
35
- super( editor, 'tableBorderColor', defaultValue );
36
- }
37
-
38
- /**
39
- * @inheritDoc
40
- */
41
- _getValue( table ) {
42
- if ( !table ) {
43
- return;
44
- }
45
-
46
- const value = getSingleValue( table.getAttribute( this.attributeName ) );
47
-
48
- if ( value === this._defaultValue ) {
49
- return;
50
- }
51
-
52
- return value;
53
- }
22
+ /**
23
+ * Creates a new `TableBorderColorCommand` instance.
24
+ *
25
+ * @param editor An editor in which this command will be used.
26
+ * @param defaultValue The default value of the attribute.
27
+ */
28
+ constructor(editor, defaultValue) {
29
+ super(editor, 'tableBorderColor', defaultValue);
30
+ }
31
+ /**
32
+ * @inheritDoc
33
+ */
34
+ _getValue(table) {
35
+ if (!table) {
36
+ return;
37
+ }
38
+ const value = getSingleValue(table.getAttribute(this.attributeName));
39
+ if (value === this._defaultValue) {
40
+ return;
41
+ }
42
+ return value;
43
+ }
54
44
  }
@@ -0,0 +1,37 @@
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/tableproperties/commands/tableborderstylecommand
7
+ */
8
+ import type { Element } from 'ckeditor5/src/engine';
9
+ import TablePropertyCommand from './tablepropertycommand';
10
+ import type { Editor } from 'ckeditor5/src/core';
11
+ /**
12
+ * The table style border command.
13
+ *
14
+ * The command is registered by the {@link module:table/tableproperties/tablepropertiesediting~TablePropertiesEditing} as
15
+ * the `'tableBorderStyle'` editor command.
16
+ *
17
+ * To change the border style of the selected table, execute the command:
18
+ *
19
+ * ```ts
20
+ * editor.execute( 'tableBorderStyle', {
21
+ * value: 'dashed'
22
+ * } );
23
+ * ```
24
+ */
25
+ export default class TableBorderStyleCommand extends TablePropertyCommand {
26
+ /**
27
+ * Creates a new `TableBorderStyleCommand` instance.
28
+ *
29
+ * @param editor An editor in which this command will be used.
30
+ * @param defaultValue The default value of the attribute.
31
+ */
32
+ constructor(editor: Editor, defaultValue: string);
33
+ /**
34
+ * @inheritDoc
35
+ */
36
+ protected _getValue(table: Element): unknown;
37
+ }
@@ -2,14 +2,8 @@
2
2
  * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
4
  */
5
-
6
- /**
7
- * @module table/tableproperties/commands/tableborderstylecommand
8
- */
9
-
10
5
  import TablePropertyCommand from './tablepropertycommand';
11
6
  import { getSingleValue } from '../../utils/table-properties';
12
-
13
7
  /**
14
8
  * The table style border command.
15
9
  *
@@ -18,37 +12,33 @@ import { getSingleValue } from '../../utils/table-properties';
18
12
  *
19
13
  * To change the border style of the selected table, execute the command:
20
14
  *
21
- * editor.execute( 'tableBorderStyle', {
22
- * value: 'dashed'
23
- * } );
24
- *
25
- * @extends module:table/tableproperties/commands/tablepropertycommand~TablePropertyCommand
15
+ * ```ts
16
+ * editor.execute( 'tableBorderStyle', {
17
+ * value: 'dashed'
18
+ * } );
19
+ * ```
26
20
  */
27
21
  export default class TableBorderStyleCommand extends TablePropertyCommand {
28
- /**
29
- * Creates a new `TableBorderStyleCommand` instance.
30
- *
31
- * @param {module:core/editor/editor~Editor} editor An editor in which this command will be used.
32
- * @param {String} defaultValue The default value of the attribute.
33
- */
34
- constructor( editor, defaultValue ) {
35
- super( editor, 'tableBorderStyle', defaultValue );
36
- }
37
-
38
- /**
39
- * @inheritDoc
40
- */
41
- _getValue( table ) {
42
- if ( !table ) {
43
- return;
44
- }
45
-
46
- const value = getSingleValue( table.getAttribute( this.attributeName ) );
47
-
48
- if ( value === this._defaultValue ) {
49
- return;
50
- }
51
-
52
- return value;
53
- }
22
+ /**
23
+ * Creates a new `TableBorderStyleCommand` instance.
24
+ *
25
+ * @param editor An editor in which this command will be used.
26
+ * @param defaultValue The default value of the attribute.
27
+ */
28
+ constructor(editor, defaultValue) {
29
+ super(editor, 'tableBorderStyle', defaultValue);
30
+ }
31
+ /**
32
+ * @inheritDoc
33
+ */
34
+ _getValue(table) {
35
+ if (!table) {
36
+ return;
37
+ }
38
+ const value = getSingleValue(table.getAttribute(this.attributeName));
39
+ if (value === this._defaultValue) {
40
+ return;
41
+ }
42
+ return value;
43
+ }
54
44
  }
@@ -0,0 +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
+ /**
6
+ * @module table/tableproperties/commands/tableborderwidthcommand
7
+ */
8
+ import type { Element } from 'ckeditor5/src/engine';
9
+ import type { Editor } from 'ckeditor5/src/core';
10
+ import TablePropertyCommand from './tablepropertycommand';
11
+ /**
12
+ * The table width border command.
13
+ *
14
+ * The command is registered by the {@link module:table/tableproperties/tablepropertiesediting~TablePropertiesEditing} as
15
+ * the `'tableBorderWidth'` editor command.
16
+ *
17
+ * To change the border width of the selected table, execute the command:
18
+ *
19
+ * ```ts
20
+ * editor.execute( 'tableBorderWidth', {
21
+ * value: '5px'
22
+ * } );
23
+ * ```
24
+ *
25
+ * **Note**: This command adds the default `'px'` unit to numeric values. Executing:
26
+ *
27
+ * ```ts
28
+ * editor.execute( 'tableBorderWidth', {
29
+ * value: '5'
30
+ * } );
31
+ * ```
32
+ *
33
+ * will set the `borderWidth` attribute to `'5px'` in the model.
34
+ */
35
+ export default class TableBorderWidthCommand extends TablePropertyCommand {
36
+ /**
37
+ * Creates a new `TableBorderWidthCommand` instance.
38
+ *
39
+ * @param editor An editor in which this command will be used.
40
+ * @param defaultValue The default value of the attribute.
41
+ */
42
+ constructor(editor: Editor, defaultValue: string);
43
+ /**
44
+ * @inheritDoc
45
+ */
46
+ protected _getValue(table: Element): string | undefined;
47
+ /**
48
+ * @inheritDoc
49
+ */
50
+ protected _getValueToSet(value: string | number | undefined): unknown;
51
+ }
@@ -2,14 +2,8 @@
2
2
  * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
4
  */
5
-
6
- /**
7
- * @module table/tableproperties/commands/tableborderwidthcommand
8
- */
9
-
10
5
  import TablePropertyCommand from './tablepropertycommand';
11
6
  import { addDefaultUnitToNumericValue, getSingleValue } from '../../utils/table-properties';
12
-
13
7
  /**
14
8
  * The table width border command.
15
9
  *
@@ -18,58 +12,53 @@ import { addDefaultUnitToNumericValue, getSingleValue } from '../../utils/table-
18
12
  *
19
13
  * To change the border width of the selected table, execute the command:
20
14
  *
21
- * editor.execute( 'tableBorderWidth', {
22
- * value: '5px'
23
- * } );
15
+ * ```ts
16
+ * editor.execute( 'tableBorderWidth', {
17
+ * value: '5px'
18
+ * } );
19
+ * ```
24
20
  *
25
21
  * **Note**: This command adds the default `'px'` unit to numeric values. Executing:
26
22
  *
27
- * editor.execute( 'tableBorderWidth', {
28
- * value: '5'
29
- * } );
23
+ * ```ts
24
+ * editor.execute( 'tableBorderWidth', {
25
+ * value: '5'
26
+ * } );
27
+ * ```
30
28
  *
31
29
  * will set the `borderWidth` attribute to `'5px'` in the model.
32
- *
33
- * @extends module:table/tableproperties/commands/tablepropertycommand~TablePropertyCommand
34
30
  */
35
31
  export default class TableBorderWidthCommand extends TablePropertyCommand {
36
- /**
37
- * Creates a new `TableBorderWidthCommand` instance.
38
- *
39
- * @param {module:core/editor/editor~Editor} editor An editor in which this command will be used.
40
- * @param {String} defaultValue The default value of the attribute.
41
- */
42
- constructor( editor, defaultValue ) {
43
- super( editor, 'tableBorderWidth', defaultValue );
44
- }
45
-
46
- /**
47
- * @inheritDoc
48
- */
49
- _getValue( table ) {
50
- if ( !table ) {
51
- return;
52
- }
53
-
54
- const value = getSingleValue( table.getAttribute( this.attributeName ) );
55
-
56
- if ( value === this._defaultValue ) {
57
- return;
58
- }
59
-
60
- return value;
61
- }
62
-
63
- /**
64
- * @inheritDoc
65
- */
66
- _getValueToSet( value ) {
67
- value = addDefaultUnitToNumericValue( value, 'px' );
68
-
69
- if ( value === this._defaultValue ) {
70
- return;
71
- }
72
-
73
- return value;
74
- }
32
+ /**
33
+ * Creates a new `TableBorderWidthCommand` 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, 'tableBorderWidth', defaultValue);
40
+ }
41
+ /**
42
+ * @inheritDoc
43
+ */
44
+ _getValue(table) {
45
+ if (!table) {
46
+ return;
47
+ }
48
+ const value = getSingleValue(table.getAttribute(this.attributeName));
49
+ if (value === this._defaultValue) {
50
+ return;
51
+ }
52
+ return value;
53
+ }
54
+ /**
55
+ * @inheritDoc
56
+ */
57
+ _getValueToSet(value) {
58
+ const newValue = addDefaultUnitToNumericValue(value, 'px');
59
+ if (newValue === this._defaultValue) {
60
+ return;
61
+ }
62
+ return newValue;
63
+ }
75
64
  }
@@ -0,0 +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/tableproperties/commands/tableheightcommand
7
+ */
8
+ import TablePropertyCommand from './tablepropertycommand';
9
+ import type { Editor } from 'ckeditor5/src/core';
10
+ /**
11
+ * The table height command.
12
+ *
13
+ * The command is registered by the {@link module:table/tableproperties/tablepropertiesediting~TablePropertiesEditing} as
14
+ * the `'tableHeight'` editor command.
15
+ *
16
+ * To change the height of the selected table, execute the command:
17
+ *
18
+ * ```ts
19
+ * editor.execute( 'tableHeight', {
20
+ * value: '500px'
21
+ * } );
22
+ * ```
23
+ *
24
+ * **Note**: This command adds the default `'px'` unit to numeric values. Executing:
25
+ *
26
+ * ```ts
27
+ * editor.execute( 'tableHeight', {
28
+ * value: '50'
29
+ * } );
30
+ * ```
31
+ *
32
+ * will set the `height` attribute to `'50px'` in the model.
33
+ */
34
+ export default class TableHeightCommand extends TablePropertyCommand {
35
+ /**
36
+ * Creates a new `TableHeightCommand` 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
+ protected _getValueToSet(value: string | number | undefined): unknown;
46
+ }
@@ -2,14 +2,11 @@
2
2
  * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
4
  */
5
-
6
5
  /**
7
6
  * @module table/tableproperties/commands/tableheightcommand
8
7
  */
9
-
10
8
  import TablePropertyCommand from './tablepropertycommand';
11
9
  import { addDefaultUnitToNumericValue } from '../../utils/table-properties';
12
-
13
10
  /**
14
11
  * The table height command.
15
12
  *
@@ -18,41 +15,40 @@ import { addDefaultUnitToNumericValue } from '../../utils/table-properties';
18
15
  *
19
16
  * To change the height of the selected table, execute the command:
20
17
  *
21
- * editor.execute( 'tableHeight', {
22
- * value: '500px'
23
- * } );
18
+ * ```ts
19
+ * editor.execute( 'tableHeight', {
20
+ * value: '500px'
21
+ * } );
22
+ * ```
24
23
  *
25
24
  * **Note**: This command adds the default `'px'` unit to numeric values. Executing:
26
25
  *
27
- * editor.execute( 'tableHeight', {
28
- * value: '50'
29
- * } );
26
+ * ```ts
27
+ * editor.execute( 'tableHeight', {
28
+ * value: '50'
29
+ * } );
30
+ * ```
30
31
  *
31
32
  * will set the `height` attribute to `'50px'` in the model.
32
- *
33
- * @extends module:table/tableproperties/commands/tablepropertycommand~TablePropertyCommand
34
33
  */
35
34
  export default class TableHeightCommand extends TablePropertyCommand {
36
- /**
37
- * Creates a new `TableHeightCommand` instance.
38
- *
39
- * @param {module:core/editor/editor~Editor} editor An editor in which this command will be used.
40
- * @param {String} defaultValue The default value of the attribute.
41
- */
42
- constructor( editor, defaultValue ) {
43
- super( editor, 'tableHeight', defaultValue );
44
- }
45
-
46
- /**
47
- * @inheritDoc
48
- */
49
- _getValueToSet( value ) {
50
- value = addDefaultUnitToNumericValue( value, 'px' );
51
-
52
- if ( value === this._defaultValue ) {
53
- return null;
54
- }
55
-
56
- return value;
57
- }
35
+ /**
36
+ * Creates a new `TableHeightCommand` 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, defaultValue) {
42
+ super(editor, 'tableHeight', defaultValue);
43
+ }
44
+ /**
45
+ * @inheritDoc
46
+ */
47
+ _getValueToSet(value) {
48
+ value = addDefaultUnitToNumericValue(value, 'px');
49
+ if (value === this._defaultValue) {
50
+ return;
51
+ }
52
+ return value;
53
+ }
58
54
  }