jodit 4.2.25 → 4.2.27
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/CHANGELOG.md +20 -5
- package/es2015/jodit.css +4 -2
- package/es2015/jodit.fat.min.css +1 -1
- package/es2015/jodit.fat.min.js +2 -2
- package/es2015/jodit.js +95 -57
- package/es2015/jodit.min.css +1 -1
- package/es2015/jodit.min.js +2 -2
- package/es2015/plugins/debug/debug.js +1 -1
- package/es2015/plugins/debug/debug.min.js +1 -1
- package/es2015/plugins/speech-recognize/speech-recognize.css +1 -1
- package/es2015/plugins/speech-recognize/speech-recognize.js +1 -1
- package/es2015/plugins/speech-recognize/speech-recognize.min.js +1 -1
- package/es2018/jodit.css +4 -2
- package/es2018/jodit.fat.min.css +1 -1
- package/es2018/jodit.fat.min.js +2 -2
- package/es2018/jodit.js +95 -57
- package/es2018/jodit.min.css +1 -1
- package/es2018/jodit.min.js +2 -2
- package/es2018/plugins/debug/debug.js +1 -1
- package/es2018/plugins/debug/debug.min.js +1 -1
- package/es2018/plugins/speech-recognize/speech-recognize.css +1 -1
- package/es2018/plugins/speech-recognize/speech-recognize.js +1 -1
- package/es2018/plugins/speech-recognize/speech-recognize.min.js +1 -1
- package/es2021/jodit.css +4 -2
- package/es2021/jodit.fat.min.css +1 -1
- package/es2021/jodit.fat.min.js +2 -2
- package/es2021/jodit.js +95 -57
- package/es2021/jodit.min.css +1 -1
- package/es2021/jodit.min.js +2 -2
- package/es2021/plugins/debug/debug.js +1 -1
- package/es2021/plugins/debug/debug.min.js +1 -1
- package/es2021/plugins/speech-recognize/speech-recognize.css +1 -1
- package/es2021/plugins/speech-recognize/speech-recognize.js +1 -1
- package/es2021/plugins/speech-recognize/speech-recognize.min.js +1 -1
- package/es2021.en/jodit.css +4 -2
- package/es2021.en/jodit.fat.min.css +1 -1
- package/es2021.en/jodit.fat.min.js +2 -2
- package/es2021.en/jodit.js +95 -57
- package/es2021.en/jodit.min.css +1 -1
- package/es2021.en/jodit.min.js +2 -2
- package/es2021.en/plugins/debug/debug.js +1 -1
- package/es2021.en/plugins/debug/debug.min.js +1 -1
- package/es2021.en/plugins/speech-recognize/speech-recognize.css +1 -1
- package/es2021.en/plugins/speech-recognize/speech-recognize.js +1 -1
- package/es2021.en/plugins/speech-recognize/speech-recognize.min.js +1 -1
- package/es5/jodit.css +11 -6
- package/es5/jodit.fat.min.css +1 -1
- package/es5/jodit.fat.min.js +2 -2
- package/es5/jodit.js +96 -57
- package/es5/jodit.min.css +3 -3
- package/es5/jodit.min.js +2 -2
- package/es5/plugins/debug/debug.js +1 -1
- package/es5/plugins/debug/debug.min.js +1 -1
- package/es5/plugins/speech-recognize/speech-recognize.css +1 -1
- package/es5/plugins/speech-recognize/speech-recognize.js +1 -1
- package/es5/plugins/speech-recognize/speech-recognize.min.js +1 -1
- package/esm/core/constants.js +3 -3
- package/esm/core/dom/dom.d.ts +2 -1
- package/esm/core/dom/dom.js +10 -4
- package/esm/core/global.js +4 -1
- package/esm/core/helpers/normalize/normalize-key-aliases.js +2 -1
- package/esm/core/ui/button/tooltip/tooltip.d.ts +1 -0
- package/esm/core/ui/button/tooltip/tooltip.js +11 -5
- package/esm/modules/table/table.d.ts +2 -3
- package/esm/modules/table/table.js +27 -34
- package/esm/plugins/add-new-line/add-new-line.js +4 -1
- package/esm/plugins/clean-html/helpers/visitor/filters/fill-empty-paragraph.js +9 -1
- package/esm/plugins/hotkeys/hotkeys.js +4 -2
- package/esm/plugins/select-cells/select-cells.js +1 -1
- package/esm/plugins/table/config.js +19 -3
- package/package.json +1 -1
- package/types/core/dom/dom.d.ts +2 -1
- package/types/core/ui/button/tooltip/tooltip.d.ts +1 -0
- package/types/modules/table/table.d.ts +2 -3
package/esm/core/constants.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
|
|
5
5
|
*/
|
|
6
|
-
export const APP_VERSION = "4.2.
|
|
6
|
+
export const APP_VERSION = "4.2.27";
|
|
7
7
|
// prettier-ignore
|
|
8
8
|
export const ES = "es2020";
|
|
9
9
|
export const IS_ES_MODERN = true;
|
|
@@ -165,8 +165,8 @@ export const KEY_ALIASES = {
|
|
|
165
165
|
option: 'alt',
|
|
166
166
|
return: 'enter',
|
|
167
167
|
right: 'arrowright',
|
|
168
|
-
space: '
|
|
169
|
-
spacebar: '
|
|
168
|
+
space: 'space',
|
|
169
|
+
spacebar: 'space',
|
|
170
170
|
up: 'arrowup',
|
|
171
171
|
win: 'meta',
|
|
172
172
|
windows: 'meta'
|
package/esm/core/dom/dom.d.ts
CHANGED
|
@@ -45,8 +45,9 @@ export declare class Dom {
|
|
|
45
45
|
* // Replace the first <span> element to the < p >
|
|
46
46
|
* ```
|
|
47
47
|
*/
|
|
48
|
+
static replace<T extends HTMLElement>(elm: Node, newTagName: HTMLTagNames): T;
|
|
48
49
|
static replace<T extends HTMLElement>(elm: Node, newTagName: HTMLTagNames, create: ICreate, withAttributes?: boolean, notMoveContent?: boolean): T;
|
|
49
|
-
static replace<T extends Node>(elm: Node, newTagName: T | string, create
|
|
50
|
+
static replace<T extends Node>(elm: Node, newTagName: T | string, create?: ICreate, withAttributes?: boolean, notMoveContent?: boolean): T;
|
|
50
51
|
/**
|
|
51
52
|
* Checks whether the Node text and blank (in this case it may contain invisible auxiliary characters ,
|
|
52
53
|
* it is also empty )
|
package/esm/core/dom/dom.js
CHANGED
|
@@ -8,7 +8,7 @@ import { INSEPARABLE_TAGS, LIST_TAGS, NO_EMPTY_TAGS, TEMP_ATTR } from "../consta
|
|
|
8
8
|
import { toArray } from "../helpers/array/to-array.js";
|
|
9
9
|
import { isArray, isFunction, isHTML, isMarker, isSet, isString, isVoid } from "../helpers/checker/index.js";
|
|
10
10
|
import { trim } from "../helpers/string/trim.js";
|
|
11
|
-
import { $$, attr, call, css, dataBind, error } from "../helpers/utils/index.js";
|
|
11
|
+
import { $$, assert, attr, call, css, dataBind, error } from "../helpers/utils/index.js";
|
|
12
12
|
/**
|
|
13
13
|
* Module for working with DOM
|
|
14
14
|
*/
|
|
@@ -115,11 +115,17 @@ export class Dom {
|
|
|
115
115
|
}
|
|
116
116
|
static replace(elm, newTagName, create, withAttributes = false, notMoveContent = false) {
|
|
117
117
|
if (isHTML(newTagName)) {
|
|
118
|
+
assert(create, 'Need create instance for new tag');
|
|
118
119
|
newTagName = create.fromHTML(newTagName);
|
|
119
120
|
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
121
|
+
let tag;
|
|
122
|
+
if (isString(newTagName)) {
|
|
123
|
+
assert(create, 'Need create instance for new tag');
|
|
124
|
+
tag = create.element(newTagName);
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
tag = newTagName;
|
|
128
|
+
}
|
|
123
129
|
if (!notMoveContent) {
|
|
124
130
|
while (elm.firstChild) {
|
|
125
131
|
tag.appendChild(elm.firstChild);
|
package/esm/core/global.js
CHANGED
|
@@ -55,7 +55,8 @@ export function getContainer(jodit, classFunc, tag = 'div', createInsideEditor =
|
|
|
55
55
|
const data = boxes.get(jodit) || {}, key = name + tag;
|
|
56
56
|
const view = isViewObject(jodit) ? jodit : jodit.j;
|
|
57
57
|
if (!data[key]) {
|
|
58
|
-
let c = view.c
|
|
58
|
+
let c = view.c;
|
|
59
|
+
let body = isJoditObject(jodit) && jodit.o.shadowRoot
|
|
59
60
|
? jodit.o.shadowRoot
|
|
60
61
|
: jodit.od.body;
|
|
61
62
|
if (createInsideEditor &&
|
|
@@ -75,6 +76,7 @@ export function getContainer(jodit, classFunc, tag = 'div', createInsideEditor =
|
|
|
75
76
|
body.appendChild(box);
|
|
76
77
|
data[key] = box;
|
|
77
78
|
jodit.hookStatus('beforeDestruct', () => {
|
|
79
|
+
view.events.off(box);
|
|
78
80
|
Dom.safeRemove(box);
|
|
79
81
|
delete data[key];
|
|
80
82
|
if (Object.keys(data).length) {
|
|
@@ -82,6 +84,7 @@ export function getContainer(jodit, classFunc, tag = 'div', createInsideEditor =
|
|
|
82
84
|
}
|
|
83
85
|
});
|
|
84
86
|
boxes.set(jodit, data);
|
|
87
|
+
view.events.fire('getContainer', box);
|
|
85
88
|
}
|
|
86
89
|
data[key].classList.remove('jodit_theme_default', 'jodit_theme_dark');
|
|
87
90
|
data[key].classList.add(`jodit_theme_${view.o.theme || 'default'}`);
|
|
@@ -51,15 +51,21 @@ let UITooltip = UITooltip_1 = class UITooltip extends UIElement {
|
|
|
51
51
|
if (!view.o.textIcons &&
|
|
52
52
|
view.o.showTooltip &&
|
|
53
53
|
!view.o.useNativeTooltip) {
|
|
54
|
+
this.j.e.on('getContainer', (box) => {
|
|
55
|
+
this.__onAttach(box);
|
|
56
|
+
});
|
|
54
57
|
view.hookStatus(STATUSES.ready, () => {
|
|
55
|
-
|
|
56
|
-
getContainer(this.j, UITooltip_1).appendChild(this.container);
|
|
57
|
-
view.e.on(view.container, 'mouseenter.tooltip', this.__onMouseEnter, {
|
|
58
|
-
capture: true
|
|
59
|
-
});
|
|
58
|
+
this.__onAttach(this.j.container);
|
|
60
59
|
});
|
|
61
60
|
}
|
|
62
61
|
}
|
|
62
|
+
__onAttach(container) {
|
|
63
|
+
// TODO Move it inside __show method. Now it is here because testcase failed with capturing
|
|
64
|
+
getContainer(this.j, UITooltip_1).appendChild(this.container);
|
|
65
|
+
this.j.e.on(container, 'mouseenter.tooltip', this.__onMouseEnter, {
|
|
66
|
+
capture: true
|
|
67
|
+
});
|
|
68
|
+
}
|
|
63
69
|
__addListenersOnEnter() {
|
|
64
70
|
if (this.__listenClose) {
|
|
65
71
|
return;
|
|
@@ -62,11 +62,10 @@ export declare class Table extends ViewComponent<IJodit> {
|
|
|
62
62
|
* Remove row
|
|
63
63
|
*/
|
|
64
64
|
removeRow(table: HTMLTableElement, rowIndex: number): void;
|
|
65
|
-
private static __appendColumn;
|
|
66
65
|
/**
|
|
67
66
|
* Insert column before / after all the columns containing the selected cells
|
|
68
67
|
*/
|
|
69
|
-
appendColumn(table: HTMLTableElement,
|
|
68
|
+
appendColumn(table: HTMLTableElement, selectedCell: HTMLTableCellElement, insertAfter?: boolean): void;
|
|
70
69
|
private static __removeColumn;
|
|
71
70
|
/**
|
|
72
71
|
* Remove column by index
|
|
@@ -86,7 +85,7 @@ export declare class Table extends ViewComponent<IJodit> {
|
|
|
86
85
|
normalizeTable(table: HTMLTableElement): void;
|
|
87
86
|
private static __mergeSelected;
|
|
88
87
|
/**
|
|
89
|
-
* It combines all
|
|
88
|
+
* It combines all the selected cells into one. The contents of the cells will also be combined
|
|
90
89
|
*/
|
|
91
90
|
mergeSelected(table: HTMLTableElement): void;
|
|
92
91
|
private static __splitHorizontal;
|
|
@@ -254,46 +254,39 @@ export class Table extends ViewComponent {
|
|
|
254
254
|
removeRow(table, rowIndex) {
|
|
255
255
|
return Table.__removeRow(table, rowIndex);
|
|
256
256
|
}
|
|
257
|
-
|
|
257
|
+
/**
|
|
258
|
+
* Insert column before / after all the columns containing the selected cells
|
|
259
|
+
*/
|
|
260
|
+
appendColumn(table, selectedCell, insertAfter = true) {
|
|
258
261
|
const box = Table.__formalMatrix(table);
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
j = Table.__getColumnsCount(table) - 1;
|
|
262
|
+
if (!insertAfter && Dom.isCell(selectedCell.previousElementSibling)) {
|
|
263
|
+
return this.appendColumn(table, selectedCell.previousElementSibling, true);
|
|
262
264
|
}
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
td.parentNode && td.parentNode.appendChild(cell);
|
|
275
|
-
}
|
|
276
|
-
added = true;
|
|
265
|
+
const columnIndex = insertAfter
|
|
266
|
+
? selectedCell.cellIndex + ((selectedCell.colSpan || 1) - 1)
|
|
267
|
+
: selectedCell.cellIndex;
|
|
268
|
+
const newColumnIndex = insertAfter ? columnIndex + 1 : columnIndex;
|
|
269
|
+
for (let i = 0; i < box.length;) {
|
|
270
|
+
const cells = box[i];
|
|
271
|
+
if (cells[columnIndex] !== cells[newColumnIndex] ||
|
|
272
|
+
columnIndex === newColumnIndex) {
|
|
273
|
+
const cell = this.j.createInside.element('td');
|
|
274
|
+
if (insertAfter) {
|
|
275
|
+
Dom.after(cells[columnIndex], cell);
|
|
277
276
|
}
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
added = true;
|
|
277
|
+
else {
|
|
278
|
+
Dom.before(cells[columnIndex], cell);
|
|
279
|
+
}
|
|
280
|
+
if (cells[columnIndex].rowSpan > 1) {
|
|
281
|
+
cell.rowSpan = cells[columnIndex].rowSpan;
|
|
284
282
|
}
|
|
285
283
|
}
|
|
286
|
-
|
|
287
|
-
|
|
284
|
+
else {
|
|
285
|
+
cells[columnIndex].colSpan += 1;
|
|
288
286
|
}
|
|
287
|
+
i += cells[columnIndex].rowSpan || 1;
|
|
289
288
|
}
|
|
290
289
|
}
|
|
291
|
-
/**
|
|
292
|
-
* Insert column before / after all the columns containing the selected cells
|
|
293
|
-
*/
|
|
294
|
-
appendColumn(table, j, after) {
|
|
295
|
-
return Table.__appendColumn(table, j, after, this.j.createInside);
|
|
296
|
-
}
|
|
297
290
|
static __removeColumn(table, j) {
|
|
298
291
|
const box = Table.__formalMatrix(table);
|
|
299
292
|
let dec;
|
|
@@ -511,7 +504,7 @@ export class Table extends ViewComponent {
|
|
|
511
504
|
alreadyMerged.delete(first);
|
|
512
505
|
Table.__unmark(__marked);
|
|
513
506
|
Table.__normalizeTable(table);
|
|
514
|
-
toArray(table.rows).forEach(
|
|
507
|
+
toArray(table.rows).forEach(tr => {
|
|
515
508
|
if (!tr.cells.length) {
|
|
516
509
|
Dom.safeRemove(tr);
|
|
517
510
|
}
|
|
@@ -520,7 +513,7 @@ export class Table extends ViewComponent {
|
|
|
520
513
|
}
|
|
521
514
|
}
|
|
522
515
|
/**
|
|
523
|
-
* It combines all
|
|
516
|
+
* It combines all the selected cells into one. The contents of the cells will also be combined
|
|
524
517
|
*/
|
|
525
518
|
mergeSelected(table) {
|
|
526
519
|
return Table.__mergeSelected(table, this.j);
|
|
@@ -120,7 +120,9 @@ export class addNewLine extends Plugin {
|
|
|
120
120
|
editor.e
|
|
121
121
|
.off(editor.editor, '.' + ns)
|
|
122
122
|
.off(editor.container, '.' + ns)
|
|
123
|
+
.off('.' + ns)
|
|
123
124
|
.on([editor.ow, editor.ew, editor.editor], 'scroll' + '.' + ns, this.__hideForce)
|
|
125
|
+
.on('finishedCleanHTMLWorker' + '.' + ns, this.__hideForce)
|
|
124
126
|
.on(editor.editor, 'click' + '.' + ns, this.__hide)
|
|
125
127
|
.on(editor.container, 'mouseleave' + '.' + ns, this.__hide)
|
|
126
128
|
.on(editor.editor, 'mousemove' + '.' + ns, this.__onMouseMove);
|
|
@@ -208,7 +210,8 @@ export class addNewLine extends Plugin {
|
|
|
208
210
|
Dom.safeRemove(this.__line);
|
|
209
211
|
this.j.e
|
|
210
212
|
.off([this.j.ow, this.j.ew, this.j.editor], '.' + ns)
|
|
211
|
-
.off(this.j.container, '.' + ns)
|
|
213
|
+
.off(this.j.container, '.' + ns)
|
|
214
|
+
.off('.' + ns);
|
|
212
215
|
}
|
|
213
216
|
}
|
|
214
217
|
__decorate([
|
|
@@ -5,13 +5,21 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { INSEPARABLE_TAGS } from "../../../../../core/constants.js";
|
|
7
7
|
import { Dom } from "../../../../../core/dom/dom.js";
|
|
8
|
+
const TABLE_CONTAINER_TAGS = new Set([
|
|
9
|
+
'table',
|
|
10
|
+
'tbody',
|
|
11
|
+
'thead',
|
|
12
|
+
'tfoot',
|
|
13
|
+
'tr'
|
|
14
|
+
]);
|
|
8
15
|
/**
|
|
9
16
|
* @private
|
|
10
17
|
*/
|
|
11
18
|
export function fillEmptyParagraph(jodit, nodeElm, hadEffect) {
|
|
12
19
|
if (jodit.o.cleanHTML.fillEmptyParagraph &&
|
|
13
20
|
Dom.isBlock(nodeElm) &&
|
|
14
|
-
Dom.isEmpty(nodeElm, INSEPARABLE_TAGS)
|
|
21
|
+
Dom.isEmpty(nodeElm, INSEPARABLE_TAGS) &&
|
|
22
|
+
!Dom.isTag(nodeElm, TABLE_CONTAINER_TAGS)) {
|
|
15
23
|
const br = jodit.createInside.element('br');
|
|
16
24
|
nodeElm.appendChild(br);
|
|
17
25
|
return true;
|
|
@@ -15,7 +15,8 @@ export class hotkeys extends Plugin {
|
|
|
15
15
|
constructor() {
|
|
16
16
|
super(...arguments);
|
|
17
17
|
this.onKeyPress = (event) => {
|
|
18
|
-
const special = this.specialKeys[event.which]
|
|
18
|
+
const special = this.specialKeys[event.which];
|
|
19
|
+
const character = (event.key || String.fromCharCode(event.which)).toLowerCase();
|
|
19
20
|
const modif = [special || character];
|
|
20
21
|
['alt', 'ctrl', 'shift', 'meta'].forEach(specialKey => {
|
|
21
22
|
if (event[specialKey + 'Key'] && special !== specialKey) {
|
|
@@ -109,7 +110,8 @@ export class hotkeys extends Plugin {
|
|
|
109
110
|
}
|
|
110
111
|
})
|
|
111
112
|
.on('keydown.hotkeys', (event) => {
|
|
112
|
-
const shortcut = this.onKeyPress(event)
|
|
113
|
+
const shortcut = this.onKeyPress(event);
|
|
114
|
+
const stop = {
|
|
113
115
|
shouldStop: true
|
|
114
116
|
};
|
|
115
117
|
const resultOfFire = this.j.e.fire(shortcut + '.hotkey', event.type, stop);
|
|
@@ -283,7 +283,7 @@ export class selectCells extends Plugin {
|
|
|
283
283
|
break;
|
|
284
284
|
case 'addcolumnafter':
|
|
285
285
|
case 'addcolumnbefore':
|
|
286
|
-
this.__tableModule.appendColumn(table, cell
|
|
286
|
+
this.__tableModule.appendColumn(table, cell, command === 'addcolumnafter');
|
|
287
287
|
break;
|
|
288
288
|
case 'addrowafter':
|
|
289
289
|
case 'addrowbefore':
|
|
@@ -25,6 +25,8 @@ Config.prototype.controls.table = {
|
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
27
|
popup: (editor, current, close, button) => {
|
|
28
|
+
editor.editor.normalize();
|
|
29
|
+
const snapshot = editor.history.snapshot.make();
|
|
28
30
|
const control = button.control;
|
|
29
31
|
const default_rows_count = control.data && control.data.rows ? control.data.rows : 10, default_cols_count = control.data && control.data.cols ? control.data.cols : 10;
|
|
30
32
|
const generateExtraClasses = () => {
|
|
@@ -117,10 +119,24 @@ Config.prototype.controls.table = {
|
|
|
117
119
|
table.classList.add(className);
|
|
118
120
|
});
|
|
119
121
|
});
|
|
120
|
-
|
|
121
|
-
|
|
122
|
+
editor.s.restore();
|
|
123
|
+
editor.s.removeMarkers();
|
|
124
|
+
editor.editor.normalize();
|
|
125
|
+
editor.history.snapshot.restore(snapshot);
|
|
126
|
+
const block = Dom.furthest(editor.s.current(), Dom.isBlock, editor.editor);
|
|
127
|
+
if (block && Dom.isEmpty(block)) {
|
|
128
|
+
Dom.replace(block, table, undefined, false, true);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
if (block) {
|
|
132
|
+
const fake = crt.text('\n');
|
|
133
|
+
Dom.after(block, fake);
|
|
134
|
+
Dom.after(fake, table);
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
editor.s.insertNode(table, false);
|
|
138
|
+
}
|
|
122
139
|
}
|
|
123
|
-
editor.s.insertNode(table, false);
|
|
124
140
|
if (first_td) {
|
|
125
141
|
editor.s.setCursorIn(first_td);
|
|
126
142
|
scrollIntoViewIfNeeded(first_td, editor.editor, editor.ed);
|
package/package.json
CHANGED
package/types/core/dom/dom.d.ts
CHANGED
|
@@ -45,8 +45,9 @@ export declare class Dom {
|
|
|
45
45
|
* // Replace the first <span> element to the < p >
|
|
46
46
|
* ```
|
|
47
47
|
*/
|
|
48
|
+
static replace<T extends HTMLElement>(elm: Node, newTagName: HTMLTagNames): T;
|
|
48
49
|
static replace<T extends HTMLElement>(elm: Node, newTagName: HTMLTagNames, create: ICreate, withAttributes?: boolean, notMoveContent?: boolean): T;
|
|
49
|
-
static replace<T extends Node>(elm: Node, newTagName: T | string, create
|
|
50
|
+
static replace<T extends Node>(elm: Node, newTagName: T | string, create?: ICreate, withAttributes?: boolean, notMoveContent?: boolean): T;
|
|
50
51
|
/**
|
|
51
52
|
* Checks whether the Node text and blank (in this case it may contain invisible auxiliary characters ,
|
|
52
53
|
* it is also empty )
|
|
@@ -62,11 +62,10 @@ export declare class Table extends ViewComponent<IJodit> {
|
|
|
62
62
|
* Remove row
|
|
63
63
|
*/
|
|
64
64
|
removeRow(table: HTMLTableElement, rowIndex: number): void;
|
|
65
|
-
private static __appendColumn;
|
|
66
65
|
/**
|
|
67
66
|
* Insert column before / after all the columns containing the selected cells
|
|
68
67
|
*/
|
|
69
|
-
appendColumn(table: HTMLTableElement,
|
|
68
|
+
appendColumn(table: HTMLTableElement, selectedCell: HTMLTableCellElement, insertAfter?: boolean): void;
|
|
70
69
|
private static __removeColumn;
|
|
71
70
|
/**
|
|
72
71
|
* Remove column by index
|
|
@@ -86,7 +85,7 @@ export declare class Table extends ViewComponent<IJodit> {
|
|
|
86
85
|
normalizeTable(table: HTMLTableElement): void;
|
|
87
86
|
private static __mergeSelected;
|
|
88
87
|
/**
|
|
89
|
-
* It combines all
|
|
88
|
+
* It combines all the selected cells into one. The contents of the cells will also be combined
|
|
90
89
|
*/
|
|
91
90
|
mergeSelected(table: HTMLTableElement): void;
|
|
92
91
|
private static __splitHorizontal;
|