@ckeditor/ckeditor5-table 36.0.0 → 37.0.0-alpha.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.
- package/build/table.js +1 -1
- package/package.json +34 -29
- package/src/commands/insertcolumncommand.d.ts +61 -0
- package/src/commands/insertcolumncommand.js +45 -60
- package/src/commands/insertrowcommand.d.ts +60 -0
- package/src/commands/insertrowcommand.js +44 -59
- package/src/commands/inserttablecommand.d.ts +50 -0
- package/src/commands/inserttablecommand.js +51 -68
- package/src/commands/mergecellcommand.d.ts +76 -0
- package/src/commands/mergecellcommand.js +169 -244
- package/src/commands/mergecellscommand.d.ts +33 -0
- package/src/commands/mergecellscommand.js +72 -101
- package/src/commands/removecolumncommand.d.ts +34 -0
- package/src/commands/removecolumncommand.js +88 -102
- package/src/commands/removerowcommand.d.ts +34 -0
- package/src/commands/removerowcommand.js +63 -80
- package/src/commands/selectcolumncommand.d.ts +38 -0
- package/src/commands/selectcolumncommand.js +41 -54
- package/src/commands/selectrowcommand.d.ts +38 -0
- package/src/commands/selectrowcommand.js +38 -48
- package/src/commands/setheadercolumncommand.d.ts +55 -0
- package/src/commands/setheadercolumncommand.js +48 -73
- package/src/commands/setheaderrowcommand.d.ts +58 -0
- package/src/commands/setheaderrowcommand.js +56 -85
- package/src/commands/splitcellcommand.d.ts +49 -0
- package/src/commands/splitcellcommand.js +35 -49
- package/src/converters/downcast.d.ts +63 -0
- package/src/converters/downcast.js +98 -130
- package/src/converters/table-caption-post-fixer.d.ts +20 -0
- package/src/converters/table-caption-post-fixer.js +36 -52
- package/src/converters/table-cell-paragraph-post-fixer.d.ts +32 -0
- package/src/converters/table-cell-paragraph-post-fixer.js +88 -119
- package/src/converters/table-cell-refresh-handler.d.ts +18 -0
- package/src/converters/table-cell-refresh-handler.js +29 -48
- package/src/converters/table-headings-refresh-handler.d.ts +17 -0
- package/src/converters/table-headings-refresh-handler.js +35 -54
- package/src/converters/table-layout-post-fixer.d.ts +226 -0
- package/src/converters/table-layout-post-fixer.js +276 -313
- package/src/converters/tableproperties.d.ts +54 -0
- package/src/converters/tableproperties.js +136 -168
- package/src/converters/upcasttable.d.ts +49 -0
- package/src/converters/upcasttable.js +196 -251
- package/src/index.d.ts +29 -0
- package/src/index.js +0 -2
- package/src/plaintableoutput.d.ts +30 -0
- package/src/plaintableoutput.js +107 -135
- package/src/table.d.ts +38 -0
- package/src/table.js +12 -88
- package/src/tablecaption/tablecaptionediting.d.ts +68 -0
- package/src/tablecaption/tablecaptionediting.js +104 -135
- package/src/tablecaption/tablecaptionui.d.ts +26 -0
- package/src/tablecaption/tablecaptionui.js +42 -58
- package/src/tablecaption/toggletablecaptioncommand.d.ts +73 -0
- package/src/tablecaption/toggletablecaptioncommand.js +77 -92
- package/src/tablecaption/utils.d.ts +42 -0
- package/src/tablecaption/utils.js +35 -61
- package/src/tablecaption.d.ts +27 -0
- package/src/tablecaption.js +12 -19
- package/src/tablecellproperties/commands/tablecellbackgroundcolorcommand.d.ts +37 -0
- package/src/tablecellproperties/commands/tablecellbackgroundcolorcommand.js +14 -20
- package/src/tablecellproperties/commands/tablecellbordercolorcommand.d.ts +42 -0
- package/src/tablecellproperties/commands/tablecellbordercolorcommand.js +27 -37
- package/src/tablecellproperties/commands/tablecellborderstylecommand.d.ts +42 -0
- package/src/tablecellproperties/commands/tablecellborderstylecommand.js +27 -37
- package/src/tablecellproperties/commands/tablecellborderwidthcommand.d.ts +56 -0
- package/src/tablecellproperties/commands/tablecellborderwidthcommand.js +42 -53
- package/src/tablecellproperties/commands/tablecellheightcommand.d.ts +51 -0
- package/src/tablecellproperties/commands/tablecellheightcommand.js +29 -36
- package/src/tablecellproperties/commands/tablecellhorizontalalignmentcommand.d.ts +37 -0
- package/src/tablecellproperties/commands/tablecellhorizontalalignmentcommand.js +14 -20
- package/src/tablecellproperties/commands/tablecellpaddingcommand.d.ts +56 -0
- package/src/tablecellproperties/commands/tablecellpaddingcommand.js +42 -53
- package/src/tablecellproperties/commands/tablecellpropertycommand.d.ts +62 -0
- package/src/tablecellproperties/commands/tablecellpropertycommand.js +77 -122
- package/src/tablecellproperties/commands/tablecellverticalalignmentcommand.d.ts +45 -0
- package/src/tablecellproperties/commands/tablecellverticalalignmentcommand.js +14 -20
- package/src/tablecellproperties/tablecellpropertiesediting.d.ts +47 -0
- package/src/tablecellproperties/tablecellpropertiesediting.js +194 -236
- package/src/tablecellproperties/tablecellpropertiesui.d.ts +117 -0
- package/src/tablecellproperties/tablecellpropertiesui.js +303 -456
- package/src/tablecellproperties/ui/tablecellpropertiesview.d.ts +227 -0
- package/src/tablecellproperties/ui/tablecellpropertiesview.js +509 -844
- package/src/tablecellproperties.d.ts +33 -0
- package/src/tablecellproperties.js +12 -98
- package/src/tablecellwidth/commands/tablecellwidthcommand.d.ts +51 -0
- package/src/tablecellwidth/commands/tablecellwidthcommand.js +29 -35
- package/src/tablecellwidth/tablecellwidthediting.d.ts +34 -0
- package/src/tablecellwidth/tablecellwidthediting.js +26 -38
- package/src/tableclipboard.d.ts +68 -0
- package/src/tableclipboard.js +429 -568
- package/src/tablecolumnresize/constants.d.ts +20 -0
- package/src/tablecolumnresize/constants.js +0 -10
- package/src/tablecolumnresize/converters.d.ts +18 -0
- package/src/tablecolumnresize/converters.js +35 -119
- package/src/tablecolumnresize/tablecolumnresizeediting.d.ts +142 -0
- package/src/tablecolumnresize/tablecolumnresizeediting.js +545 -711
- package/src/tablecolumnresize/tablewidthscommand.d.ts +38 -0
- package/src/tablecolumnresize/tablewidthscommand.js +61 -0
- package/src/tablecolumnresize/utils.d.ts +141 -0
- package/src/tablecolumnresize/utils.js +256 -233
- package/src/tablecolumnresize.d.ts +29 -0
- package/src/tablecolumnresize.js +12 -19
- package/src/tableconfig.d.ts +341 -0
- package/src/tableconfig.js +5 -0
- package/src/tableediting.d.ts +102 -0
- package/src/tableediting.js +157 -176
- package/src/tablekeyboard.d.ts +68 -0
- package/src/tablekeyboard.js +261 -344
- package/src/tablemouse/mouseeventsobserver.d.ts +62 -0
- package/src/tablemouse/mouseeventsobserver.js +12 -49
- package/src/tablemouse.d.ts +51 -0
- package/src/tablemouse.js +154 -202
- package/src/tableproperties/commands/tablealignmentcommand.d.ts +37 -0
- package/src/tableproperties/commands/tablealignmentcommand.js +14 -20
- package/src/tableproperties/commands/tablebackgroundcolorcommand.d.ts +37 -0
- package/src/tableproperties/commands/tablebackgroundcolorcommand.js +14 -20
- package/src/tableproperties/commands/tablebordercolorcommand.d.ts +42 -0
- package/src/tableproperties/commands/tablebordercolorcommand.js +27 -37
- package/src/tableproperties/commands/tableborderstylecommand.d.ts +42 -0
- package/src/tableproperties/commands/tableborderstylecommand.js +27 -37
- package/src/tableproperties/commands/tableborderwidthcommand.d.ts +56 -0
- package/src/tableproperties/commands/tableborderwidthcommand.js +42 -53
- package/src/tableproperties/commands/tableheightcommand.d.ts +51 -0
- package/src/tableproperties/commands/tableheightcommand.js +29 -33
- package/src/tableproperties/commands/tablepropertycommand.d.ts +61 -0
- package/src/tableproperties/commands/tablepropertycommand.js +68 -112
- package/src/tableproperties/commands/tablewidthcommand.d.ts +51 -0
- package/src/tableproperties/commands/tablewidthcommand.js +29 -33
- package/src/tableproperties/tablepropertiesediting.d.ts +45 -0
- package/src/tableproperties/tablepropertiesediting.js +164 -210
- package/src/tableproperties/tablepropertiesui.d.ts +119 -0
- package/src/tableproperties/tablepropertiesui.js +294 -439
- package/src/tableproperties/ui/tablepropertiesview.d.ts +203 -0
- package/src/tableproperties/ui/tablepropertiesview.js +427 -718
- package/src/tableproperties.d.ts +33 -0
- package/src/tableproperties.js +12 -95
- package/src/tableselection.d.ts +111 -0
- package/src/tableselection.js +279 -376
- package/src/tabletoolbar.d.ts +37 -0
- package/src/tabletoolbar.js +39 -92
- package/src/tableui.d.ts +58 -0
- package/src/tableui.js +281 -338
- package/src/tableutils.d.ts +453 -0
- package/src/tableutils.js +1015 -1229
- package/src/tablewalker.d.ts +323 -0
- package/src/tablewalker.js +308 -548
- package/src/ui/colorinputview.d.ts +143 -0
- package/src/ui/colorinputview.js +229 -366
- package/src/ui/formrowview.d.ts +61 -0
- package/src/ui/formrowview.js +38 -84
- package/src/ui/inserttableview.d.ts +77 -0
- package/src/ui/inserttableview.js +152 -242
- package/src/utils/common.d.ts +42 -0
- package/src/utils/common.js +33 -57
- package/src/utils/structure.d.ts +245 -0
- package/src/utils/structure.js +261 -379
- package/src/utils/table-properties.d.ts +67 -0
- package/src/utils/table-properties.js +60 -81
- package/src/utils/ui/contextualballoon.d.ts +34 -0
- package/src/utils/ui/contextualballoon.js +70 -89
- package/src/utils/ui/table-properties.d.ts +193 -0
- package/src/utils/ui/table-properties.js +259 -319
- package/src/utils/ui/widget.d.ts +16 -0
- package/src/utils/ui/widget.js +24 -46
- package/src/tablecolumnresize/tablecolumnwidthscommand.js +0 -55
- package/src/tablecolumnresize/tablewidthresizecommand.js +0 -65
|
@@ -0,0 +1,16 @@
|
|
|
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/utils/ui/widget
|
|
7
|
+
*/
|
|
8
|
+
import type { ViewDocumentSelection, ViewElement } from 'ckeditor5/src/engine';
|
|
9
|
+
/**
|
|
10
|
+
* Returns a table widget editing view element if one is selected.
|
|
11
|
+
*/
|
|
12
|
+
export declare function getSelectedTableWidget(selection: ViewDocumentSelection): ViewElement | null;
|
|
13
|
+
/**
|
|
14
|
+
* Returns a table widget editing view element if one is among the selection's ancestors.
|
|
15
|
+
*/
|
|
16
|
+
export declare function getTableWidgetAncestor(selection: ViewDocumentSelection): ViewElement | null;
|
package/src/utils/ui/widget.js
CHANGED
|
@@ -2,59 +2,37 @@
|
|
|
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/utils/ui/widget
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
5
|
import { isWidget } from 'ckeditor5/src/widget';
|
|
11
|
-
|
|
12
6
|
/**
|
|
13
7
|
* Returns a table widget editing view element if one is selected.
|
|
14
|
-
*
|
|
15
|
-
* @param {module:engine/view/selection~Selection|module:engine/view/documentselection~DocumentSelection} selection
|
|
16
|
-
* @returns {module:engine/view/element~Element|null}
|
|
17
8
|
*/
|
|
18
|
-
export function getSelectedTableWidget(
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return null;
|
|
9
|
+
export function getSelectedTableWidget(selection) {
|
|
10
|
+
const viewElement = selection.getSelectedElement();
|
|
11
|
+
if (viewElement && isTableWidget(viewElement)) {
|
|
12
|
+
return viewElement;
|
|
13
|
+
}
|
|
14
|
+
return null;
|
|
26
15
|
}
|
|
27
|
-
|
|
28
16
|
/**
|
|
29
17
|
* Returns a table widget editing view element if one is among the selection's ancestors.
|
|
30
|
-
*
|
|
31
|
-
* @param {module:engine/view/selection~Selection|module:engine/view/documentselection~DocumentSelection} selection
|
|
32
|
-
* @returns {module:engine/view/element~Element|null}
|
|
33
18
|
*/
|
|
34
|
-
export function getTableWidgetAncestor(
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
parent = parent.parent;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
return null;
|
|
19
|
+
export function getTableWidgetAncestor(selection) {
|
|
20
|
+
const selectionPosition = selection.getFirstPosition();
|
|
21
|
+
if (!selectionPosition) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
let parent = selectionPosition.parent;
|
|
25
|
+
while (parent) {
|
|
26
|
+
if (parent.is('element') && isTableWidget(parent)) {
|
|
27
|
+
return parent;
|
|
28
|
+
}
|
|
29
|
+
parent = parent.parent;
|
|
30
|
+
}
|
|
31
|
+
return null;
|
|
52
32
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
function isTableWidget( viewElement ) {
|
|
59
|
-
return !!viewElement.getCustomProperty( 'table' ) && isWidget( viewElement );
|
|
33
|
+
/**
|
|
34
|
+
* Checks if a given view element is a table widget.
|
|
35
|
+
*/
|
|
36
|
+
function isTableWidget(viewElement) {
|
|
37
|
+
return !!viewElement.getCustomProperty('table') && isWidget(viewElement);
|
|
60
38
|
}
|
|
@@ -1,55 +0,0 @@
|
|
|
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
|
-
/**
|
|
7
|
-
* @module table/tablecolumnresize/tablecolumnwidthscommand
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import TablePropertyCommand from '../tableproperties/commands/tablepropertycommand';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* @extends module:table/tableproperties/commands/tablepropertycommand~TablePropertyCommand
|
|
14
|
-
*/
|
|
15
|
-
export default class TableColumnWidthsCommand extends TablePropertyCommand {
|
|
16
|
-
/**
|
|
17
|
-
* Creates a new `TableColumnWidthsCommand` instance.
|
|
18
|
-
*
|
|
19
|
-
* @param {module:core/editor/editor~Editor} editor An editor in which this command will be used.
|
|
20
|
-
* @param {String} defaultValue The default value of the attribute.
|
|
21
|
-
*/
|
|
22
|
-
constructor( editor, defaultValue ) {
|
|
23
|
-
super( editor, 'columnWidths', defaultValue );
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* @inheritDoc
|
|
28
|
-
*/
|
|
29
|
-
refresh() {
|
|
30
|
-
// The command is always enabled as it doesn't care about the actual selection - table can be resized
|
|
31
|
-
// even if the selection is elsewhere.
|
|
32
|
-
this.isEnabled = true;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Changes the `columnWidths` attribute value for the given or currently selected table.
|
|
37
|
-
*
|
|
38
|
-
* @param {Object} options
|
|
39
|
-
* @param {String} [options.columnWidths] New value of the `columnWidths` attribute.
|
|
40
|
-
* @param {module:engine/model/element~Element} [options.table] The table that is having the columns resized.
|
|
41
|
-
*/
|
|
42
|
-
execute( options = {} ) {
|
|
43
|
-
const model = this.editor.model;
|
|
44
|
-
const table = options.table || model.document.selection.getSelectedElement();
|
|
45
|
-
const { columnWidths } = options;
|
|
46
|
-
|
|
47
|
-
model.change( writer => {
|
|
48
|
-
if ( columnWidths ) {
|
|
49
|
-
writer.setAttribute( this.attributeName, columnWidths, table );
|
|
50
|
-
} else {
|
|
51
|
-
writer.removeAttribute( this.attributeName, table );
|
|
52
|
-
}
|
|
53
|
-
} );
|
|
54
|
-
}
|
|
55
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
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
|
-
/**
|
|
7
|
-
* @module table/tablecolumnresize/tablewidthresizecommand
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import TablePropertyCommand from '../tableproperties/commands/tablepropertycommand';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* @extends module:table/tableproperties/commands/tablepropertycommand~TablePropertyCommand
|
|
14
|
-
*/
|
|
15
|
-
export default class TableWidthResizeCommand extends TablePropertyCommand {
|
|
16
|
-
/**
|
|
17
|
-
* Creates a new `TableWidthResizeCommand` instance.
|
|
18
|
-
*
|
|
19
|
-
* @param {module:core/editor/editor~Editor} editor An editor in which this command will be used.
|
|
20
|
-
* @param {String} defaultValue The default value of the attribute.
|
|
21
|
-
*/
|
|
22
|
-
constructor( editor, defaultValue ) {
|
|
23
|
-
// We create a custom command instead of using the existing `TableWidthCommand`
|
|
24
|
-
// as we also need to change the `columnWidths` property and running both commands
|
|
25
|
-
// separately would make the integration with Track Changes feature more troublesome.
|
|
26
|
-
super( editor, 'tableWidth', defaultValue );
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* @inheritDoc
|
|
31
|
-
*/
|
|
32
|
-
refresh() {
|
|
33
|
-
// The command is always enabled as it doesn't care about the actual selection - table can be resized
|
|
34
|
-
// even if the selection is elsewhere.
|
|
35
|
-
this.isEnabled = true;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Changes the `tableWidth` and `columnWidths` attribute values for the given or currently selected table.
|
|
40
|
-
*
|
|
41
|
-
* @param {Object} options
|
|
42
|
-
* @param {String} [options.tableWidth] The new table width. If skipped, the model attribute will be removed.
|
|
43
|
-
* @param {String} [options.columnWidths] The new table column widths. If skipped, the model attribute will be removed.
|
|
44
|
-
* @param {module:engine/model/element~Element} [options.table] The table that is affected by the resize.
|
|
45
|
-
*/
|
|
46
|
-
execute( options = {} ) {
|
|
47
|
-
const model = this.editor.model;
|
|
48
|
-
const table = options.table || model.document.selection.getSelectedElement();
|
|
49
|
-
const { tableWidth, columnWidths } = options;
|
|
50
|
-
|
|
51
|
-
model.change( writer => {
|
|
52
|
-
if ( tableWidth ) {
|
|
53
|
-
writer.setAttribute( this.attributeName, tableWidth, table );
|
|
54
|
-
} else {
|
|
55
|
-
writer.removeAttribute( this.attributeName, table );
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
if ( columnWidths ) {
|
|
59
|
-
writer.setAttribute( 'columnWidths', columnWidths, table );
|
|
60
|
-
} else {
|
|
61
|
-
writer.removeAttribute( 'columnWidths', table );
|
|
62
|
-
}
|
|
63
|
-
} );
|
|
64
|
-
}
|
|
65
|
-
}
|