@ckeditor/ckeditor5-table 31.0.0 → 33.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.
- package/LICENSE.md +2 -2
- package/build/table.js +3 -3
- package/build/table.js.map +1 -0
- package/build/translations/cs.js +1 -1
- package/build/translations/el.js +1 -0
- package/build/translations/es.js +1 -1
- package/build/translations/id.js +1 -1
- package/build/translations/pt-br.js +1 -1
- package/build/translations/uz.js +1 -0
- package/build/translations/zh.js +1 -1
- package/lang/translations/ar.po +1 -1
- package/lang/translations/az.po +1 -1
- package/lang/translations/bg.po +1 -1
- package/lang/translations/cs.po +4 -4
- package/lang/translations/da.po +1 -1
- package/lang/translations/de-ch.po +1 -1
- package/lang/translations/de.po +1 -1
- package/lang/translations/el.po +261 -0
- package/lang/translations/en-au.po +1 -1
- package/lang/translations/en-gb.po +1 -1
- package/lang/translations/en.po +1 -1
- package/lang/translations/es.po +43 -43
- package/lang/translations/et.po +1 -1
- package/lang/translations/fa.po +1 -1
- package/lang/translations/fi.po +1 -1
- package/lang/translations/fr.po +1 -1
- package/lang/translations/gl.po +1 -1
- package/lang/translations/hi.po +1 -1
- package/lang/translations/hr.po +1 -1
- package/lang/translations/hu.po +1 -1
- package/lang/translations/id.po +11 -11
- package/lang/translations/it.po +1 -1
- package/lang/translations/ja.po +1 -1
- package/lang/translations/ko.po +1 -1
- package/lang/translations/ku.po +1 -1
- package/lang/translations/lt.po +1 -1
- package/lang/translations/lv.po +1 -1
- package/lang/translations/nb.po +1 -1
- package/lang/translations/ne.po +1 -1
- package/lang/translations/nl.po +1 -1
- package/lang/translations/no.po +1 -1
- package/lang/translations/pl.po +1 -1
- package/lang/translations/pt-br.po +4 -4
- package/lang/translations/ro.po +1 -1
- package/lang/translations/ru.po +1 -1
- package/lang/translations/sk.po +1 -1
- package/lang/translations/sq.po +1 -1
- package/lang/translations/sr-latn.po +1 -1
- package/lang/translations/sr.po +1 -1
- package/lang/translations/sv.po +1 -1
- package/lang/translations/th.po +1 -1
- package/lang/translations/tk.po +1 -1
- package/lang/translations/tr.po +1 -1
- package/lang/translations/ug.po +1 -1
- package/lang/translations/uk.po +1 -1
- package/lang/translations/uz.po +261 -0
- package/lang/translations/vi.po +1 -1
- package/lang/translations/zh-cn.po +1 -1
- package/lang/translations/zh.po +4 -4
- package/package.json +26 -24
- package/src/commands/insertcolumncommand.js +5 -5
- package/src/commands/insertrowcommand.js +5 -5
- package/src/commands/inserttablecommand.js +1 -1
- package/src/commands/mergecellcommand.js +5 -6
- package/src/commands/mergecellscommand.js +6 -5
- package/src/commands/removecolumncommand.js +9 -8
- package/src/commands/removerowcommand.js +6 -7
- package/src/commands/selectcolumncommand.js +5 -5
- package/src/commands/selectrowcommand.js +6 -6
- package/src/commands/setheadercolumncommand.js +6 -5
- package/src/commands/setheaderrowcommand.js +8 -5
- package/src/commands/splitcellcommand.js +5 -5
- package/src/converters/downcast.js +77 -408
- package/src/converters/table-caption-post-fixer.js +1 -1
- package/src/converters/table-cell-paragraph-post-fixer.js +1 -1
- package/src/converters/{table-cell-refresh-post-fixer.js → table-cell-refresh-handler.js} +9 -20
- package/src/converters/table-headings-refresh-handler.js +68 -0
- package/src/converters/table-layout-post-fixer.js +1 -1
- package/src/converters/tableproperties.js +6 -5
- package/src/converters/upcasttable.js +7 -3
- package/src/index.js +1 -1
- package/src/plaintableoutput.js +151 -0
- package/src/table.js +1 -1
- package/src/tablecaption/tablecaptionediting.js +1 -1
- package/src/tablecaption/tablecaptionui.js +3 -3
- package/src/tablecaption/toggletablecaptioncommand.js +3 -3
- package/src/tablecaption/utils.js +1 -1
- package/src/tablecaption.js +1 -1
- package/src/tablecellproperties/commands/tablecellbackgroundcolorcommand.js +2 -2
- package/src/tablecellproperties/commands/tablecellbordercolorcommand.js +2 -2
- package/src/tablecellproperties/commands/tablecellborderstylecommand.js +2 -2
- package/src/tablecellproperties/commands/tablecellborderwidthcommand.js +2 -2
- package/src/tablecellproperties/commands/tablecellheightcommand.js +2 -2
- package/src/tablecellproperties/commands/tablecellhorizontalalignmentcommand.js +2 -2
- package/src/tablecellproperties/commands/tablecellpaddingcommand.js +2 -2
- package/src/tablecellproperties/commands/tablecellpropertycommand.js +6 -5
- package/src/tablecellproperties/commands/tablecellverticalalignmentcommand.js +2 -2
- package/src/tablecellproperties/commands/tablecellwidthcommand.js +2 -2
- package/src/tablecellproperties/tablecellpropertiesediting.js +42 -35
- package/src/tablecellproperties/tablecellpropertiesui.js +1 -1
- package/src/tablecellproperties/ui/tablecellpropertiesview.js +11 -1
- package/src/tablecellproperties.js +1 -1
- package/src/tableclipboard.js +19 -16
- package/src/tableediting.js +49 -28
- package/src/tablekeyboard.js +7 -6
- package/src/tablemouse/mouseeventsobserver.js +1 -1
- package/src/tablemouse.js +7 -5
- package/src/tableproperties/commands/tablealignmentcommand.js +2 -2
- package/src/tableproperties/commands/tablebackgroundcolorcommand.js +2 -2
- package/src/tableproperties/commands/tablebordercolorcommand.js +2 -2
- package/src/tableproperties/commands/tableborderstylecommand.js +2 -2
- package/src/tableproperties/commands/tableborderwidthcommand.js +2 -2
- package/src/tableproperties/commands/tableheightcommand.js +2 -2
- package/src/tableproperties/commands/tablepropertycommand.js +2 -2
- package/src/tableproperties/commands/tablewidthcommand.js +2 -2
- package/src/tableproperties/tablepropertiesediting.js +29 -21
- package/src/tableproperties/tablepropertiesui.js +1 -1
- package/src/tableproperties/ui/tablepropertiesview.js +11 -1
- package/src/tableproperties.js +1 -1
- package/src/tableselection.js +10 -9
- package/src/tabletoolbar.js +1 -1
- package/src/tableui.js +1 -1
- package/src/tableutils.js +311 -1
- package/src/tablewalker.js +1 -1
- package/src/ui/colorinputview.js +1 -1
- package/src/ui/formrowview.js +1 -1
- package/src/ui/inserttableview.js +1 -1
- package/src/utils/common.js +1 -1
- package/src/utils/structure.js +1 -1
- package/src/utils/table-properties.js +1 -1
- package/src/utils/ui/contextualballoon.js +1 -1
- package/src/utils/ui/table-properties.js +1 -1
- package/src/utils/ui/widget.js +1 -1
- package/theme/colorinput.css +1 -1
- package/theme/form.css +1 -1
- package/theme/formrow.css +1 -1
- package/theme/inserttable.css +1 -1
- package/theme/table.css +2 -2
- package/theme/tablecaption.css +1 -1
- package/theme/tablecellproperties.css +1 -1
- package/theme/tableediting.css +1 -1
- package/theme/tableform.css +1 -1
- package/theme/tableproperties.css +1 -1
- package/theme/tableselection.css +1 -1
- package/src/converters/table-heading-rows-refresh-post-fixer.js +0 -72
- package/src/utils/selection.js +0 -276
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license Copyright (c) 2003-2022, 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/converters/table-heading-rows-refresh-post-fixer
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import TableWalker from '../tablewalker';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* A table headings refresh handler which marks the table cells or rows in the differ to have it re-rendered
|
|
14
|
+
* if the headings attribute changed.
|
|
15
|
+
*
|
|
16
|
+
* Table heading rows and heading columns are represented in the model by a `headingRows` and `headingColumns` attributes.
|
|
17
|
+
*
|
|
18
|
+
* When table headings attribute changes, all the cells/rows are marked to re-render to change between `<td>` and `<th>`.
|
|
19
|
+
*
|
|
20
|
+
* @param {module:engine/model/model~Model} model
|
|
21
|
+
* @param {module:engine/controller/editingcontroller~EditingController} editing
|
|
22
|
+
*/
|
|
23
|
+
export default function tableHeadingsRefreshHandler( model, editing ) {
|
|
24
|
+
const differ = model.document.differ;
|
|
25
|
+
|
|
26
|
+
for ( const change of differ.getChanges() ) {
|
|
27
|
+
let table;
|
|
28
|
+
let isRowChange = false;
|
|
29
|
+
|
|
30
|
+
if ( change.type == 'attribute' ) {
|
|
31
|
+
const element = change.range.start.nodeAfter;
|
|
32
|
+
|
|
33
|
+
if ( !element || !element.is( 'element', 'table' ) ) {
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
if ( change.attributeKey != 'headingRows' && change.attributeKey != 'headingColumns' ) {
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
table = element;
|
|
42
|
+
isRowChange = change.attributeKey == 'headingRows';
|
|
43
|
+
} else if ( change.name == 'tableRow' || change.name == 'tableCell' ) {
|
|
44
|
+
table = change.position.findAncestor( 'table' );
|
|
45
|
+
isRowChange = change.name == 'tableRow';
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
if ( !table ) {
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const headingRows = table.getAttribute( 'headingRows' ) || 0;
|
|
53
|
+
const headingColumns = table.getAttribute( 'headingColumns' ) || 0;
|
|
54
|
+
|
|
55
|
+
const tableWalker = new TableWalker( table );
|
|
56
|
+
|
|
57
|
+
for ( const tableSlot of tableWalker ) {
|
|
58
|
+
const isHeading = tableSlot.row < headingRows || tableSlot.column < headingColumns;
|
|
59
|
+
const expectedElementName = isHeading ? 'th' : 'td';
|
|
60
|
+
|
|
61
|
+
const viewElement = editing.mapper.toViewElement( tableSlot.cell );
|
|
62
|
+
|
|
63
|
+
if ( viewElement && viewElement.is( 'element' ) && viewElement.name != expectedElementName ) {
|
|
64
|
+
editing.reconvertItem( isRowChange ? tableSlot.cell.parent : tableSlot.cell );
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Copyright (c) 2003-
|
|
2
|
+
* @license Copyright (c) 2003-2022, 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
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Copyright (c) 2003-
|
|
2
|
+
* @license Copyright (c) 2003-2022, 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
5
|
|
|
@@ -47,12 +47,13 @@ export function upcastStyleToAttribute( conversion, options ) {
|
|
|
47
47
|
*
|
|
48
48
|
* @param {module:engine/conversion/conversion~Conversion} conversion
|
|
49
49
|
* @param {String} viewElementName
|
|
50
|
+
* @param {Object} modelAttributes
|
|
50
51
|
* @param {Object} defaultBorder The default border values.
|
|
51
52
|
* @param {String} defaultBorder.color The default `borderColor` value.
|
|
52
53
|
* @param {String} defaultBorder.style The default `borderStyle` value.
|
|
53
54
|
* @param {String} defaultBorder.width The default `borderWidth` value.
|
|
54
55
|
*/
|
|
55
|
-
export function upcastBorderStyles( conversion, viewElementName, defaultBorder ) {
|
|
56
|
+
export function upcastBorderStyles( conversion, viewElementName, modelAttributes, defaultBorder ) {
|
|
56
57
|
conversion.for( 'upcast' ).add( dispatcher => dispatcher.on( 'element:' + viewElementName, ( evt, data, conversionApi ) => {
|
|
57
58
|
// If the element was not converted by element-to-element converter,
|
|
58
59
|
// we should not try to convert the style. See #8393.
|
|
@@ -107,15 +108,15 @@ export function upcastBorderStyles( conversion, viewElementName, defaultBorder )
|
|
|
107
108
|
};
|
|
108
109
|
|
|
109
110
|
if ( reducedBorder.style !== defaultBorder.style ) {
|
|
110
|
-
conversionApi.writer.setAttribute(
|
|
111
|
+
conversionApi.writer.setAttribute( modelAttributes.style, reducedBorder.style, modelElement );
|
|
111
112
|
}
|
|
112
113
|
|
|
113
114
|
if ( reducedBorder.color !== defaultBorder.color ) {
|
|
114
|
-
conversionApi.writer.setAttribute(
|
|
115
|
+
conversionApi.writer.setAttribute( modelAttributes.color, reducedBorder.color, modelElement );
|
|
115
116
|
}
|
|
116
117
|
|
|
117
118
|
if ( reducedBorder.width !== defaultBorder.width ) {
|
|
118
|
-
conversionApi.writer.setAttribute(
|
|
119
|
+
conversionApi.writer.setAttribute( modelAttributes.width, reducedBorder.width, modelElement );
|
|
119
120
|
}
|
|
120
121
|
} ) );
|
|
121
122
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Copyright (c) 2003-
|
|
2
|
+
* @license Copyright (c) 2003-2022, 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
5
|
|
|
@@ -37,6 +37,9 @@ export function upcastTableFigure() {
|
|
|
37
37
|
return;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
+
// Consume the figure to prevent other converters from processing it again.
|
|
41
|
+
conversionApi.consumable.consume( data.viewItem, { name: true, classes: 'table' } );
|
|
42
|
+
|
|
40
43
|
// Convert view table to model table.
|
|
41
44
|
const conversionResult = conversionApi.convertItem( viewTable, data.modelCursor );
|
|
42
45
|
|
|
@@ -45,11 +48,12 @@ export function upcastTableFigure() {
|
|
|
45
48
|
|
|
46
49
|
// When table wasn't successfully converted then finish conversion.
|
|
47
50
|
if ( !modelTable ) {
|
|
51
|
+
// Revert consumed figure so other features can convert it.
|
|
52
|
+
conversionApi.consumable.revert( data.viewItem, { name: true, classes: 'table' } );
|
|
53
|
+
|
|
48
54
|
return;
|
|
49
55
|
}
|
|
50
56
|
|
|
51
|
-
conversionApi.consumable.consume( data.viewItem, { name: true, classes: 'table' } );
|
|
52
|
-
|
|
53
57
|
conversionApi.convertChildren( data.viewItem, conversionApi.writer.createPositionAt( modelTable, 'end' ) );
|
|
54
58
|
conversionApi.updateConversionResult( modelTable, data );
|
|
55
59
|
} );
|
package/src/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Copyright (c) 2003-
|
|
2
|
+
* @license Copyright (c) 2003-2022, 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
5
|
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license Copyright (c) 2003-2022, 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/plaintableoutput
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import { Plugin } from 'ckeditor5/src/core';
|
|
11
|
+
import Table from './table';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* The plain table output feature.
|
|
15
|
+
*
|
|
16
|
+
* @extends module:core/plugin~Plugin
|
|
17
|
+
*/
|
|
18
|
+
export default class PlainTableOutput extends Plugin {
|
|
19
|
+
/**
|
|
20
|
+
* @inheritDoc
|
|
21
|
+
*/
|
|
22
|
+
static get pluginName() {
|
|
23
|
+
return 'PlainTableOutput';
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* @inheritDoc
|
|
28
|
+
*/
|
|
29
|
+
static get requires() {
|
|
30
|
+
return [ Table ];
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* @inheritDoc
|
|
35
|
+
*/
|
|
36
|
+
init() {
|
|
37
|
+
const editor = this.editor;
|
|
38
|
+
|
|
39
|
+
// Override default table data downcast converter.
|
|
40
|
+
editor.conversion.for( 'dataDowncast' ).elementToStructure( {
|
|
41
|
+
model: 'table',
|
|
42
|
+
view: downcastTableElement,
|
|
43
|
+
converterPriority: 'high'
|
|
44
|
+
} );
|
|
45
|
+
|
|
46
|
+
// Make sure table <caption> is downcasted into <caption> in the data pipeline when necessary.
|
|
47
|
+
if ( editor.plugins.has( 'TableCaption' ) ) {
|
|
48
|
+
editor.conversion.for( 'dataDowncast' ).elementToElement( {
|
|
49
|
+
model: 'caption',
|
|
50
|
+
view: ( modelElement, { writer } ) => {
|
|
51
|
+
if ( modelElement.parent.name === 'table' ) {
|
|
52
|
+
return writer.createContainerElement( 'caption' );
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
converterPriority: 'high'
|
|
56
|
+
} );
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// Handle border-style, border-color, border-width and background-color table attributes.
|
|
60
|
+
if ( editor.plugins.has( 'TableProperties' ) ) {
|
|
61
|
+
downcastTableBorderAndBackgroundAttributes( editor );
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// The plain table downcast converter callback.
|
|
67
|
+
//
|
|
68
|
+
// @private
|
|
69
|
+
// @param {module:engine/model/element~Element} Table model element.
|
|
70
|
+
// @param {module:engine/conversion/downcastdispatcher~DowncastConversionApi} conversionApi The conversion API object.
|
|
71
|
+
// @returns {module:engine/view/containerelement~ContainerElement} Created element.
|
|
72
|
+
function downcastTableElement( table, { writer } ) {
|
|
73
|
+
const headingRows = table.getAttribute( 'headingRows' ) || 0;
|
|
74
|
+
|
|
75
|
+
// Table head rows slot.
|
|
76
|
+
const headRowsSlot = writer.createSlot( element =>
|
|
77
|
+
element.is( 'element', 'tableRow' ) && element.index < headingRows
|
|
78
|
+
);
|
|
79
|
+
|
|
80
|
+
// Table body rows slot.
|
|
81
|
+
const bodyRowsSlot = writer.createSlot( element =>
|
|
82
|
+
element.is( 'element', 'tableRow' ) && element.index >= headingRows
|
|
83
|
+
);
|
|
84
|
+
|
|
85
|
+
// Table children slot.
|
|
86
|
+
const childrenSlot = writer.createSlot( element => !element.is( 'element', 'tableRow' ) );
|
|
87
|
+
|
|
88
|
+
// Table <thead> element with all the heading rows.
|
|
89
|
+
const theadElement = writer.createContainerElement( 'thead', null, headRowsSlot );
|
|
90
|
+
|
|
91
|
+
// Table <tbody> element with all the body rows.
|
|
92
|
+
const tbodyElement = writer.createContainerElement( 'tbody', null, bodyRowsSlot );
|
|
93
|
+
|
|
94
|
+
// Table contents element containing <thead> and <tbody> when necessary.
|
|
95
|
+
const tableContentElements = [];
|
|
96
|
+
|
|
97
|
+
if ( headingRows ) {
|
|
98
|
+
tableContentElements.push( theadElement );
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
if ( headingRows < table.childCount ) {
|
|
102
|
+
tableContentElements.push( tbodyElement );
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// Create table structure.
|
|
106
|
+
//
|
|
107
|
+
// <table>
|
|
108
|
+
// {children-slot-like-caption}
|
|
109
|
+
// <thead>
|
|
110
|
+
// {table-head-rows-slot}
|
|
111
|
+
// </thead>
|
|
112
|
+
// <tbody>
|
|
113
|
+
// {table-body-rows-slot}
|
|
114
|
+
// </tbody>
|
|
115
|
+
// </table>
|
|
116
|
+
return writer.createContainerElement( 'table', null, [ childrenSlot, ...tableContentElements ] );
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// Register table border and background attributes converters.
|
|
120
|
+
//
|
|
121
|
+
// @private
|
|
122
|
+
// @param {module:core/editor/editor~Editor} editor
|
|
123
|
+
function downcastTableBorderAndBackgroundAttributes( editor ) {
|
|
124
|
+
const modelAttributes = {
|
|
125
|
+
'border-width': 'tableBorderWidth',
|
|
126
|
+
'border-color': 'tableBorderColor',
|
|
127
|
+
'border-style': 'tableBorderStyle',
|
|
128
|
+
'background-color': 'tableBackgroundColor'
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
for ( const [ styleName, modelAttribute ] of Object.entries( modelAttributes ) ) {
|
|
132
|
+
editor.conversion.for( 'dataDowncast' ).add( dispatcher => {
|
|
133
|
+
return dispatcher.on( `attribute:${ modelAttribute }:table`, ( evt, data, conversionApi ) => {
|
|
134
|
+
const { item, attributeNewValue } = data;
|
|
135
|
+
const { mapper, writer } = conversionApi;
|
|
136
|
+
|
|
137
|
+
if ( !conversionApi.consumable.consume( item, evt.name ) ) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
const table = mapper.toViewElement( item );
|
|
142
|
+
|
|
143
|
+
if ( attributeNewValue ) {
|
|
144
|
+
writer.setStyle( styleName, attributeNewValue, table );
|
|
145
|
+
} else {
|
|
146
|
+
writer.removeStyle( styleName, table );
|
|
147
|
+
}
|
|
148
|
+
}, { priority: 'high' } );
|
|
149
|
+
} );
|
|
150
|
+
}
|
|
151
|
+
}
|
package/src/table.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Copyright (c) 2003-
|
|
2
|
+
* @license Copyright (c) 2003-2022, 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
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Copyright (c) 2003-
|
|
2
|
+
* @license Copyright (c) 2003-2022, 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
5
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Copyright (c) 2003-
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
2
|
+
* @license Copyright (c) 2003-2022, 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
5
|
|
|
6
6
|
/**
|
|
7
7
|
* @module table/tablecaption/tablecaptionui
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Copyright (c) 2003-
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
2
|
+
* @license Copyright (c) 2003-2022, 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
5
|
|
|
6
6
|
/**
|
|
7
7
|
* @module table/tablecaption/toggletablecaptioncommand
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Copyright (c) 2003-
|
|
2
|
+
* @license Copyright (c) 2003-2022, 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
5
|
|
package/src/tablecaption.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Copyright (c) 2003-
|
|
2
|
+
* @license Copyright (c) 2003-2022, 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
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Copyright (c) 2003-
|
|
2
|
+
* @license Copyright (c) 2003-2022, 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
5
|
|
|
@@ -31,6 +31,6 @@ export default class TableCellBackgroundColorCommand extends TableCellPropertyCo
|
|
|
31
31
|
* @param {String} defaultValue The default value of the attribute.
|
|
32
32
|
*/
|
|
33
33
|
constructor( editor, defaultValue ) {
|
|
34
|
-
super( editor, '
|
|
34
|
+
super( editor, 'tableCellBackgroundColor', defaultValue );
|
|
35
35
|
}
|
|
36
36
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Copyright (c) 2003-
|
|
2
|
+
* @license Copyright (c) 2003-2022, 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
5
|
|
|
@@ -32,7 +32,7 @@ export default class TableCellBorderColorCommand extends TableCellPropertyComman
|
|
|
32
32
|
* @param {String} defaultValue The default value of the attribute.
|
|
33
33
|
*/
|
|
34
34
|
constructor( editor, defaultValue ) {
|
|
35
|
-
super( editor, '
|
|
35
|
+
super( editor, 'tableCellBorderColor', defaultValue );
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Copyright (c) 2003-
|
|
2
|
+
* @license Copyright (c) 2003-2022, 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
5
|
|
|
@@ -32,7 +32,7 @@ export default class TableCellBorderStyleCommand extends TableCellPropertyComman
|
|
|
32
32
|
* @param {String} defaultValue The default value of the attribute.
|
|
33
33
|
*/
|
|
34
34
|
constructor( editor, defaultValue ) {
|
|
35
|
-
super( editor, '
|
|
35
|
+
super( editor, 'tableCellBorderStyle', defaultValue );
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Copyright (c) 2003-
|
|
2
|
+
* @license Copyright (c) 2003-2022, 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
5
|
|
|
@@ -40,7 +40,7 @@ export default class TableCellBorderWidthCommand extends TableCellPropertyComman
|
|
|
40
40
|
* @param {String} defaultValue The default value of the attribute.
|
|
41
41
|
*/
|
|
42
42
|
constructor( editor, defaultValue ) {
|
|
43
|
-
super( editor, '
|
|
43
|
+
super( editor, 'tableCellBorderWidth', defaultValue );
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Copyright (c) 2003-
|
|
2
|
+
* @license Copyright (c) 2003-2022, 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
5
|
|
|
@@ -40,7 +40,7 @@ export default class TableCellHeightCommand extends TableCellPropertyCommand {
|
|
|
40
40
|
* @param {String} defaultValue The default value of the attribute.
|
|
41
41
|
*/
|
|
42
42
|
constructor( editor, defaultValue ) {
|
|
43
|
-
super( editor, '
|
|
43
|
+
super( editor, 'tableCellHeight', defaultValue );
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Copyright (c) 2003-
|
|
2
|
+
* @license Copyright (c) 2003-2022, 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
5
|
|
|
@@ -31,6 +31,6 @@ export default class TableCellHorizontalAlignmentCommand extends TableCellProper
|
|
|
31
31
|
* @param {String} defaultValue The default value for the "alignment" attribute.
|
|
32
32
|
*/
|
|
33
33
|
constructor( editor, defaultValue ) {
|
|
34
|
-
super( editor, '
|
|
34
|
+
super( editor, 'tableCellHorizontalAlignment', defaultValue );
|
|
35
35
|
}
|
|
36
36
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Copyright (c) 2003-
|
|
2
|
+
* @license Copyright (c) 2003-2022, 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
5
|
|
|
@@ -40,7 +40,7 @@ export default class TableCellPaddingCommand extends TableCellPropertyCommand {
|
|
|
40
40
|
* @param {String} defaultValue The default value of the attribute.
|
|
41
41
|
*/
|
|
42
42
|
constructor( editor, defaultValue ) {
|
|
43
|
-
super( editor, '
|
|
43
|
+
super( editor, 'tableCellPadding', defaultValue );
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Copyright (c) 2003-
|
|
2
|
+
* @license Copyright (c) 2003-2022, 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
5
|
|
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import { Command } from 'ckeditor5/src/core';
|
|
11
|
-
import { getSelectionAffectedTableCells } from '../../utils/selection';
|
|
12
11
|
|
|
13
12
|
/**
|
|
14
13
|
* The table cell attribute command.
|
|
@@ -51,7 +50,8 @@ export default class TableCellPropertyCommand extends Command {
|
|
|
51
50
|
*/
|
|
52
51
|
refresh() {
|
|
53
52
|
const editor = this.editor;
|
|
54
|
-
const
|
|
53
|
+
const tableUtils = this.editor.plugins.get( 'TableUtils' );
|
|
54
|
+
const selectedTableCells = tableUtils.getSelectionAffectedTableCells( editor.model.document.selection );
|
|
55
55
|
|
|
56
56
|
this.isEnabled = !!selectedTableCells.length;
|
|
57
57
|
this.value = this._getSingleValue( selectedTableCells );
|
|
@@ -70,10 +70,11 @@ export default class TableCellPropertyCommand extends Command {
|
|
|
70
70
|
execute( options = {} ) {
|
|
71
71
|
const { value, batch } = options;
|
|
72
72
|
const model = this.editor.model;
|
|
73
|
-
const
|
|
73
|
+
const tableUtils = this.editor.plugins.get( 'TableUtils' );
|
|
74
|
+
const tableCells = tableUtils.getSelectionAffectedTableCells( model.document.selection );
|
|
74
75
|
const valueToSet = this._getValueToSet( value );
|
|
75
76
|
|
|
76
|
-
model.enqueueChange( batch
|
|
77
|
+
model.enqueueChange( batch, writer => {
|
|
77
78
|
if ( valueToSet ) {
|
|
78
79
|
tableCells.forEach( tableCell => writer.setAttribute( this.attributeName, valueToSet, tableCell ) );
|
|
79
80
|
} else {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Copyright (c) 2003-
|
|
2
|
+
* @license Copyright (c) 2003-2022, 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
5
|
|
|
@@ -39,6 +39,6 @@ export default class TableCellVerticalAlignmentCommand extends TableCellProperty
|
|
|
39
39
|
* @param {String} defaultValue The default value for the "alignment" attribute.
|
|
40
40
|
*/
|
|
41
41
|
constructor( editor, defaultValue ) {
|
|
42
|
-
super( editor, '
|
|
42
|
+
super( editor, 'tableCellVerticalAlignment', defaultValue );
|
|
43
43
|
}
|
|
44
44
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Copyright (c) 2003-
|
|
2
|
+
* @license Copyright (c) 2003-2022, 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
5
|
|
|
@@ -40,7 +40,7 @@ export default class TableCellWidthCommand extends TableCellPropertyCommand {
|
|
|
40
40
|
* @param {String} defaultValue The default value of the attribute.
|
|
41
41
|
*/
|
|
42
42
|
constructor( editor, defaultValue ) {
|
|
43
|
-
super( editor, '
|
|
43
|
+
super( editor, 'tableCellWidth', defaultValue );
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
/**
|