@ones-editor/editor 5.0.5-beta.ONES22302330.1 → 5.0.5-beta.ONES22302330.2
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/dist/index.js
CHANGED
|
@@ -11896,6 +11896,94 @@ var __publicField = (obj, key, value) => {
|
|
|
11896
11896
|
const colorIndex = Math.abs(typeof content === "string" && content.trim() ? hashCode(content.trim()) : 0) % ColorNames.length;
|
|
11897
11897
|
return ColorNames[colorIndex];
|
|
11898
11898
|
}
|
|
11899
|
+
const renderers = /* @__PURE__ */ new WeakMap();
|
|
11900
|
+
const pendingEditors = /* @__PURE__ */ new WeakMap();
|
|
11901
|
+
function renderDeferredBlock(block) {
|
|
11902
|
+
var _a;
|
|
11903
|
+
(_a = renderers.get(block)) == null ? void 0 : _a();
|
|
11904
|
+
}
|
|
11905
|
+
class DeferredContents {
|
|
11906
|
+
constructor(editor) {
|
|
11907
|
+
__publicField(this, "pending", /* @__PURE__ */ new Map());
|
|
11908
|
+
__publicField(this, "owners", /* @__PURE__ */ new Map());
|
|
11909
|
+
__publicField(this, "observer");
|
|
11910
|
+
__publicField(this, "renderAll", () => {
|
|
11911
|
+
this.pending.forEach((ids, block) => renderDeferredBlock(block));
|
|
11912
|
+
});
|
|
11913
|
+
__publicField(this, "handleReadonlyChanged", () => {
|
|
11914
|
+
if (!this.editor.readonly)
|
|
11915
|
+
this.renderAll();
|
|
11916
|
+
});
|
|
11917
|
+
__publicField(this, "handleKeyDown", (event) => {
|
|
11918
|
+
if ((event.metaKey || event.ctrlKey) && event.key.toLowerCase() === "f")
|
|
11919
|
+
this.renderAll();
|
|
11920
|
+
});
|
|
11921
|
+
var _a;
|
|
11922
|
+
this.editor = editor;
|
|
11923
|
+
this.observer = new IntersectionObserver((entries) => {
|
|
11924
|
+
entries.forEach((entry) => {
|
|
11925
|
+
if (entry.isIntersecting)
|
|
11926
|
+
renderDeferredBlock(entry.target);
|
|
11927
|
+
});
|
|
11928
|
+
}, { root: (_a = editor.options.scrollContainer) != null ? _a : null, rootMargin: "1000px 0px" });
|
|
11929
|
+
editor.on("readonlyChanged", this.handleReadonlyChanged);
|
|
11930
|
+
window.addEventListener("beforeprint", this.renderAll);
|
|
11931
|
+
window.addEventListener("keydown", this.handleKeyDown, true);
|
|
11932
|
+
}
|
|
11933
|
+
add(block, ids, render) {
|
|
11934
|
+
this.pending.set(block, ids);
|
|
11935
|
+
ids.forEach((id) => this.owners.set(id, block));
|
|
11936
|
+
renderers.set(block, () => {
|
|
11937
|
+
this.remove(block);
|
|
11938
|
+
render();
|
|
11939
|
+
});
|
|
11940
|
+
block.setAttribute("data-deferred-content", "true");
|
|
11941
|
+
this.observer.observe(block);
|
|
11942
|
+
}
|
|
11943
|
+
remove(block) {
|
|
11944
|
+
var _a;
|
|
11945
|
+
(_a = this.pending.get(block)) == null ? void 0 : _a.forEach((id) => this.owners.delete(id));
|
|
11946
|
+
this.pending.delete(block);
|
|
11947
|
+
renderers.delete(block);
|
|
11948
|
+
block.removeAttribute("data-deferred-content");
|
|
11949
|
+
this.observer.unobserve(block);
|
|
11950
|
+
}
|
|
11951
|
+
renderId(id) {
|
|
11952
|
+
const block = this.owners.get(id);
|
|
11953
|
+
if (block)
|
|
11954
|
+
renderDeferredBlock(block);
|
|
11955
|
+
}
|
|
11956
|
+
destroy() {
|
|
11957
|
+
this.observer.disconnect();
|
|
11958
|
+
this.pending.forEach((ids, block) => renderers.delete(block));
|
|
11959
|
+
this.owners.clear();
|
|
11960
|
+
this.pending.clear();
|
|
11961
|
+
this.editor.off("readonlyChanged", this.handleReadonlyChanged);
|
|
11962
|
+
window.removeEventListener("beforeprint", this.renderAll);
|
|
11963
|
+
window.removeEventListener("keydown", this.handleKeyDown, true);
|
|
11964
|
+
pendingEditors.delete(this.editor);
|
|
11965
|
+
}
|
|
11966
|
+
}
|
|
11967
|
+
function deferBlockContent(editor, block, ids, render) {
|
|
11968
|
+
let pending = pendingEditors.get(editor);
|
|
11969
|
+
if (!pending) {
|
|
11970
|
+
pending = editor.addCustom("deferred-contents", () => new DeferredContents(editor));
|
|
11971
|
+
pendingEditors.set(editor, pending);
|
|
11972
|
+
}
|
|
11973
|
+
pending.add(block, ids, render);
|
|
11974
|
+
}
|
|
11975
|
+
function renderDeferredContents(editor) {
|
|
11976
|
+
var _a;
|
|
11977
|
+
(_a = pendingEditors.get(editor)) == null ? void 0 : _a.renderAll();
|
|
11978
|
+
}
|
|
11979
|
+
function removeDeferredBlock(editor, block) {
|
|
11980
|
+
var _a;
|
|
11981
|
+
(_a = pendingEditors.get(editor)) == null ? void 0 : _a.remove(block);
|
|
11982
|
+
}
|
|
11983
|
+
function renderDeferredId(editor, id) {
|
|
11984
|
+
var _a;
|
|
11985
|
+
(_a = pendingEditors.get(editor)) == null ? void 0 : _a.renderId(id);
|
|
11986
|
+
}
|
|
11899
11987
|
const logger$4Q = getLogger("container");
|
|
11900
11988
|
function isContainer(elem) {
|
|
11901
11989
|
return elem.getAttribute("data-type") === "editor-container";
|
|
@@ -11931,7 +12019,11 @@ var __publicField = (obj, key, value) => {
|
|
|
11931
12019
|
return container;
|
|
11932
12020
|
}
|
|
11933
12021
|
function getContainerById(editor, containerId) {
|
|
11934
|
-
|
|
12022
|
+
let container = editor.rootElement.querySelector(`[data-container-id=${containerId}]`);
|
|
12023
|
+
if (!container) {
|
|
12024
|
+
renderDeferredId(editor, containerId);
|
|
12025
|
+
container = editor.rootElement.querySelector(`[data-container-id=${containerId}]`);
|
|
12026
|
+
}
|
|
11935
12027
|
assert(logger$4P, container, `no container: ${containerId}`);
|
|
11936
12028
|
return container;
|
|
11937
12029
|
}
|
|
@@ -32547,7 +32639,11 @@ ${codeText}
|
|
|
32547
32639
|
return this.selection.getFocusedBlock();
|
|
32548
32640
|
}
|
|
32549
32641
|
findBlockById(id) {
|
|
32550
|
-
|
|
32642
|
+
let block = this.rootContainer.querySelector(`#${id}`);
|
|
32643
|
+
if (!block) {
|
|
32644
|
+
renderDeferredId(this, id);
|
|
32645
|
+
block = this.rootContainer.querySelector(`#${id}`);
|
|
32646
|
+
}
|
|
32551
32647
|
if (block) {
|
|
32552
32648
|
assert(logger$3b, isBlock$1(block), "not an valid block element");
|
|
32553
32649
|
}
|
|
@@ -45647,6 +45743,7 @@ ${codeText}
|
|
|
45647
45743
|
return `${getBlockId(block)}_scroll`;
|
|
45648
45744
|
}
|
|
45649
45745
|
function getBlockTable(block) {
|
|
45746
|
+
renderDeferredBlock(block);
|
|
45650
45747
|
const table = block.querySelector("div[data-type=table-content] >table");
|
|
45651
45748
|
assert(logger$2E, table instanceof HTMLTableElement, "invalid table");
|
|
45652
45749
|
return table;
|
|
@@ -74983,6 +75080,7 @@ ${codeText}
|
|
|
74983
75080
|
return table;
|
|
74984
75081
|
}
|
|
74985
75082
|
function createBlockContent$2(editor, path, container, blockElement, blockData) {
|
|
75083
|
+
var _a, _b;
|
|
74986
75084
|
assert(logger$_, blockData.type === "table", "not table data");
|
|
74987
75085
|
assert(logger$_, getContainerId(container) === path[path.length - 1].containerId, "invalid path");
|
|
74988
75086
|
const tableData = blockData;
|
|
@@ -74993,9 +75091,37 @@ ${codeText}
|
|
|
74993
75091
|
if (isRootContainer(container)) {
|
|
74994
75092
|
addClass(tableContent, "deferred-table-content");
|
|
74995
75093
|
}
|
|
74996
|
-
|
|
74997
|
-
|
|
74998
|
-
|
|
75094
|
+
let placeholder2;
|
|
75095
|
+
const renderTable = () => {
|
|
75096
|
+
try {
|
|
75097
|
+
const table = createTable(editor, path, tableData);
|
|
75098
|
+
table.classList.add("drag-preview-element");
|
|
75099
|
+
tableContent.appendChild(table);
|
|
75100
|
+
} catch (err) {
|
|
75101
|
+
const message = `invalid table data: ${JSON.stringify(tableData)}`;
|
|
75102
|
+
logger$_.error(message);
|
|
75103
|
+
createElement("div", ["error"], tableContent).innerText = message;
|
|
75104
|
+
}
|
|
75105
|
+
placeholder2 == null ? void 0 : placeholder2.remove();
|
|
75106
|
+
tableContent.style.minHeight = "";
|
|
75107
|
+
};
|
|
75108
|
+
const defer = editor.readonly && isRootContainer(container) && path[0].blockIndex >= 10 && !tableData.chart && ((_a = tableData.colsWidth) == null ? void 0 : _a.length) === tableData.cols && tableData.colsWidth.every((width) => width > 0) && typeof IntersectionObserver !== "undefined" && editor.doc.getContainerBlocks("root").length >= 200 && tableData.children.every((id) => editor.doc.getContainerBlocks(id).every((block) => {
|
|
75109
|
+
var _a2;
|
|
75110
|
+
return block.type === "text" && !block.heading && !block.children && ((_a2 = block.text) == null ? void 0 : _a2.every((op) => {
|
|
75111
|
+
var _a3, _b2;
|
|
75112
|
+
return !((_a3 = op.attributes) == null ? void 0 : _a3.box) && !((_b2 = op.attributes) == null ? void 0 : _b2.insertion);
|
|
75113
|
+
}));
|
|
75114
|
+
}));
|
|
75115
|
+
if (defer) {
|
|
75116
|
+
tableContent.style.minHeight = "400px";
|
|
75117
|
+
placeholder2 = createElement("table", [], tableContent);
|
|
75118
|
+
placeholder2.style.minWidth = `${((_b = tableData.colsWidth) != null ? _b : []).reduce((sum, width) => sum + width, 0)}px`;
|
|
75119
|
+
placeholder2.setAttribute("aria-hidden", "true");
|
|
75120
|
+
const ids = tableData.children.flatMap((id) => [id, ...editor.doc.getContainerBlocks(id).map((block) => block.id)]);
|
|
75121
|
+
deferBlockContent(editor, blockElement, ids, renderTable);
|
|
75122
|
+
} else {
|
|
75123
|
+
renderTable();
|
|
75124
|
+
}
|
|
74999
75125
|
const options = editor.getComponentOptions("table");
|
|
75000
75126
|
if (!clientType.isMobile) {
|
|
75001
75127
|
handleTableResizeMouseEvent(editor);
|
|
@@ -75856,6 +75982,7 @@ ${codeText}
|
|
|
75856
75982
|
return new DOMRect(clientRect.left, clientRect.top + offset, clientRect.width, Math.max(clientRect.height - offset * 2, 0));
|
|
75857
75983
|
}
|
|
75858
75984
|
function handleDeleteBlock$4(editor, block) {
|
|
75985
|
+
removeDeferredBlock(editor, block);
|
|
75859
75986
|
untrackChildBlockEvent(editor, handleChartDebounceUpdate);
|
|
75860
75987
|
const scrollContent = editor.findCustom(getTableScrollKey(block));
|
|
75861
75988
|
if (scrollContent) {
|
|
@@ -80270,6 +80397,7 @@ ${docStr}
|
|
|
80270
80397
|
if (!find) {
|
|
80271
80398
|
return;
|
|
80272
80399
|
}
|
|
80400
|
+
renderDeferredContents(editor);
|
|
80273
80401
|
const blocks = getAllChildBlocks(editor, {
|
|
80274
80402
|
simpleBlockOnly: true,
|
|
80275
80403
|
visibleOnly: true
|
|
@@ -97738,7 +97866,7 @@ ${JSON.stringify(error2, null, 2)}`);
|
|
|
97738
97866
|
}
|
|
97739
97867
|
}
|
|
97740
97868
|
});
|
|
97741
|
-
editor.version = "5.0.5-beta.ONES22302330.
|
|
97869
|
+
editor.version = "5.0.5-beta.ONES22302330.2";
|
|
97742
97870
|
return editor;
|
|
97743
97871
|
}
|
|
97744
97872
|
function isDoc(doc2) {
|
|
@@ -97874,7 +98002,7 @@ ${JSON.stringify(error2, null, 2)}`);
|
|
|
97874
98002
|
OnesEditorDropTarget.register(editor);
|
|
97875
98003
|
OnesEditorTocProvider.register(editor);
|
|
97876
98004
|
OnesEditorExclusiveBlock.register(editor);
|
|
97877
|
-
editor.version = "5.0.5-beta.ONES22302330.
|
|
98005
|
+
editor.version = "5.0.5-beta.ONES22302330.2";
|
|
97878
98006
|
return editor;
|
|
97879
98007
|
} catch (error2) {
|
|
97880
98008
|
try {
|
|
@@ -98017,7 +98145,7 @@ ${JSON.stringify(error2, null, 2)}`);
|
|
|
98017
98145
|
}
|
|
98018
98146
|
}
|
|
98019
98147
|
});
|
|
98020
|
-
editor.version = "5.0.5-beta.ONES22302330.
|
|
98148
|
+
editor.version = "5.0.5-beta.ONES22302330.2";
|
|
98021
98149
|
return editor;
|
|
98022
98150
|
}
|
|
98023
98151
|
const emojis$1 = {
|
|
@@ -144150,6 +144278,7 @@ ${JSON.stringify(error2, null, 2)}`);
|
|
|
144150
144278
|
exports2.createTextWithReplaceSoftReturn = createTextWithReplaceSoftReturn;
|
|
144151
144279
|
exports2.dataURLToBlob = dataURLToBlob;
|
|
144152
144280
|
exports2.daysAfter = daysAfter;
|
|
144281
|
+
exports2.deferBlockContent = deferBlockContent;
|
|
144153
144282
|
exports2.deleteColor = deleteColor;
|
|
144154
144283
|
exports2.deleteText = deleteText;
|
|
144155
144284
|
exports2.diffDays = diffDays;
|
|
@@ -144515,9 +144644,13 @@ ${JSON.stringify(error2, null, 2)}`);
|
|
|
144515
144644
|
exports2.registerDragDrop = registerDragDrop;
|
|
144516
144645
|
exports2.removeAttribute = removeAttribute;
|
|
144517
144646
|
exports2.removeClass = removeClass;
|
|
144647
|
+
exports2.removeDeferredBlock = removeDeferredBlock;
|
|
144518
144648
|
exports2.removeLastBr = removeLastBr;
|
|
144519
144649
|
exports2.removePlaceholderFromBlock = removePlaceholderFromBlock;
|
|
144520
144650
|
exports2.removeStyle = removeStyle;
|
|
144651
|
+
exports2.renderDeferredBlock = renderDeferredBlock;
|
|
144652
|
+
exports2.renderDeferredContents = renderDeferredContents;
|
|
144653
|
+
exports2.renderDeferredId = renderDeferredId;
|
|
144521
144654
|
exports2.repairDuplicatedBlockIds = repairDuplicatedBlockIds;
|
|
144522
144655
|
exports2.replaceAll = replaceAll$1;
|
|
144523
144656
|
exports2.replaceAllCaseInsensitive = replaceAllCaseInsensitive;
|