@ones-editor/editor 2.2.16-beta.1 → 2.2.16-beta.3

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
@@ -25882,25 +25882,97 @@ var __publicField = (obj, key, value) => {
25882
25882
  offset
25883
25883
  };
25884
25884
  }
25885
+ class BlockAttributesHandler {
25886
+ constructor(editor) {
25887
+ __publicField(this, "textBlockAttributes", /* @__PURE__ */ new Map());
25888
+ __publicField(this, "activeBlockAttributes", /* @__PURE__ */ new Map());
25889
+ __publicField(this, "lastRange");
25890
+ __publicField(this, "clear", () => {
25891
+ this.activeBlockAttributes.clear();
25892
+ });
25893
+ __publicField(this, "handleSelectionChanged", () => {
25894
+ var _a, _b, _c, _d;
25895
+ const range = this.editor.selection.range;
25896
+ if (range.isSimple() && ((_a = this.lastRange) == null ? void 0 : _a.start.blockId) === range.start.blockId && ((_b = this.lastRange) == null ? void 0 : _b.end.blockId) === range.end.blockId && ((_c = this.lastRange) == null ? void 0 : _c.start.offset) === range.start.offset && ((_d = this.lastRange) == null ? void 0 : _d.end.offset) === range.end.offset) {
25897
+ return;
25898
+ }
25899
+ this.lastRange = range;
25900
+ this.clear();
25901
+ });
25902
+ __publicField(this, "setActiveBlockAttributes", (attributes) => {
25903
+ Array.from(this.activeBlockAttributes).forEach(([key, value]) => {
25904
+ const op = { attributes, insert: "" };
25905
+ if (key === "color" || key === "backgroundColor") {
25906
+ if (value === null || value === void 0) {
25907
+ deleteColor(op, key);
25908
+ } else {
25909
+ addColor(op, key, value);
25910
+ }
25911
+ return;
25912
+ }
25913
+ if (!value) {
25914
+ delete attributes[key];
25915
+ } else {
25916
+ const scriptKeys = ["style-sub", "style-super"];
25917
+ if (scriptKeys.includes(key)) {
25918
+ const [another] = scriptKeys.filter((keys) => keys !== key);
25919
+ delete attributes[another];
25920
+ }
25921
+ attributes[key] = value;
25922
+ }
25923
+ });
25924
+ });
25925
+ __publicField(this, "setEmptyBlockTextAttributes", (blockId, attributes) => {
25926
+ this.textBlockAttributes.set(blockId, attributes);
25927
+ });
25928
+ __publicField(this, "setActiveAttribute", (attribute, value) => {
25929
+ this.activeBlockAttributes.set(attribute, value);
25930
+ });
25931
+ this.editor = editor;
25932
+ this.editor.addListener("docChanged", this.clear);
25933
+ this.editor.addListener("selectionChanged", this.handleSelectionChanged);
25934
+ }
25935
+ static get(editor) {
25936
+ return editor.addCustom("BlockAttributesHandler", () => new BlockAttributesHandler(editor));
25937
+ }
25938
+ destroy() {
25939
+ this.editor.removeListener("docChanged", this.clear);
25940
+ this.editor.removeListener("selectionChanged", this.handleSelectionChanged);
25941
+ }
25942
+ getEmptyBlockTextAttributes(blockId) {
25943
+ var _a;
25944
+ const attributes = cloneDeep__default.default((_a = this.textBlockAttributes.get(blockId)) != null ? _a : {});
25945
+ Array.from(Object.entries(attributes)).forEach(([key, value]) => {
25946
+ if (!value) {
25947
+ delete attributes[key];
25948
+ }
25949
+ });
25950
+ this.setActiveBlockAttributes(attributes);
25951
+ if (Object.keys(attributes).length === 0) {
25952
+ return void 0;
25953
+ }
25954
+ return attributes;
25955
+ }
25956
+ }
25885
25957
  const logger$3y = getLogger("insert-text");
25886
25958
  function getTextAttributes(editor, containerId, blockIndex, offset) {
25887
- var _a, _b, _c, _d;
25959
+ var _a, _b;
25888
25960
  const blockData = editor.doc.getBlockData(containerId, blockIndex);
25889
25961
  assert(logger$3y, blockData, "no block data");
25890
25962
  assert(logger$3y, blockData.text, "no block text");
25891
25963
  if (getTextLength(blockData.text) === 0) {
25892
25964
  assert(logger$3y, offset === 0, "invalid text offset");
25893
- return (_a = editor.findCustom("block-attributes-handler")) == null ? void 0 : _a.getEmptyBlockTextAttributes(blockData.id);
25965
+ return BlockAttributesHandler.get(editor).getEmptyBlockTextAttributes(blockData.id);
25894
25966
  }
25895
25967
  if (offset === 0) {
25896
25968
  return void 0;
25897
25969
  }
25898
25970
  const prev = splitToThree(blockData.text, offset - 1, 1).middle;
25899
- if ((_b = prev[0].attributes) == null ? void 0 : _b.box) {
25971
+ if ((_a = prev[0].attributes) == null ? void 0 : _a.box) {
25900
25972
  return void 0;
25901
25973
  }
25902
- const attributes = (_c = prev[0].attributes) != null ? _c : {};
25903
- (_d = editor.findCustom("block-attributes-handler")) == null ? void 0 : _d.setActiveBlockAttributes(attributes);
25974
+ const attributes = (_b = prev[0].attributes) != null ? _b : {};
25975
+ BlockAttributesHandler.get(editor).setActiveBlockAttributes(attributes);
25904
25976
  if (Object.keys(attributes).length === 0) {
25905
25977
  return void 0;
25906
25978
  }
@@ -31085,75 +31157,6 @@ ${codeText}
31085
31157
  const editor = new Editor(parent, doc2, options);
31086
31158
  return editor;
31087
31159
  }
31088
- class BlockAttributesHandler {
31089
- constructor(editor) {
31090
- __publicField(this, "textBlockAttributes", /* @__PURE__ */ new Map());
31091
- __publicField(this, "activeBlockAttributes", /* @__PURE__ */ new Map());
31092
- __publicField(this, "lastRange");
31093
- __publicField(this, "clear", () => {
31094
- this.activeBlockAttributes.clear();
31095
- });
31096
- __publicField(this, "handleSelectionChanged", () => {
31097
- var _a, _b, _c, _d;
31098
- const range = this.editor.selection.range;
31099
- if (range.isSimple() && ((_a = this.lastRange) == null ? void 0 : _a.start.blockId) === range.start.blockId && ((_b = this.lastRange) == null ? void 0 : _b.end.blockId) === range.end.blockId && ((_c = this.lastRange) == null ? void 0 : _c.start.offset) === range.start.offset && ((_d = this.lastRange) == null ? void 0 : _d.end.offset) === range.end.offset) {
31100
- return;
31101
- }
31102
- this.lastRange = range;
31103
- this.clear();
31104
- });
31105
- __publicField(this, "setActiveBlockAttributes", (attributes) => {
31106
- Array.from(this.activeBlockAttributes).forEach(([key, value]) => {
31107
- const op = { attributes, insert: "" };
31108
- if (key === "color" || key === "backgroundColor") {
31109
- if (value === null || value === void 0) {
31110
- deleteColor(op, key);
31111
- } else {
31112
- addColor(op, key, value);
31113
- }
31114
- return;
31115
- }
31116
- if (!value) {
31117
- delete attributes[key];
31118
- } else {
31119
- const scriptKeys = ["style-sub", "style-super"];
31120
- if (scriptKeys.includes(key)) {
31121
- const [another] = scriptKeys.filter((keys) => keys !== key);
31122
- delete attributes[another];
31123
- }
31124
- attributes[key] = value;
31125
- }
31126
- });
31127
- });
31128
- __publicField(this, "setEmptyBlockTextAttributes", (blockId, attributes) => {
31129
- this.textBlockAttributes.set(blockId, attributes);
31130
- });
31131
- __publicField(this, "setActiveAttribute", (attribute, value) => {
31132
- this.activeBlockAttributes.set(attribute, value);
31133
- });
31134
- this.editor = editor;
31135
- this.editor.addListener("docChanged", this.clear);
31136
- this.editor.addListener("selectionChanged", this.handleSelectionChanged);
31137
- }
31138
- destroy() {
31139
- this.editor.removeListener("docChanged", this.clear);
31140
- this.editor.removeListener("selectionChanged", this.handleSelectionChanged);
31141
- }
31142
- getEmptyBlockTextAttributes(blockId) {
31143
- var _a;
31144
- const attributes = cloneDeep__default.default((_a = this.textBlockAttributes.get(blockId)) != null ? _a : {});
31145
- Array.from(Object.entries(attributes)).forEach(([key, value]) => {
31146
- if (!value) {
31147
- delete attributes[key];
31148
- }
31149
- });
31150
- this.setActiveBlockAttributes(attributes);
31151
- if (Object.keys(attributes).length === 0) {
31152
- return void 0;
31153
- }
31154
- return attributes;
31155
- }
31156
- }
31157
31160
  const DefaultColors = ["#B21B57", "#008796", "#7241CC", "#CC4C08", "#5D8F00", "#BD2C1C", "#D17D00"];
31158
31161
  class RemoteUsers extends tinyTypedEmitter.TypedEmitter {
31159
31162
  constructor(colors) {
@@ -41974,7 +41977,7 @@ ${codeText}
41974
41977
  destroy() {
41975
41978
  this.colorPaletteItem.destroy();
41976
41979
  this.element.removeEventListener("click", this.handleButtonClick);
41977
- this.element.removeEventListener("tou", this.handleButtonClick);
41980
+ this.element.removeEventListener("touchend", this.handleButtonClick);
41978
41981
  this.removeAllListeners();
41979
41982
  }
41980
41983
  updatePaletteColor() {
@@ -60408,9 +60411,8 @@ $$${mathData.mathjaxText}$$
60408
60411
  return styles1;
60409
60412
  }
60410
60413
  function mergeActiveStyle(editor, style2) {
60411
- var _a;
60412
60414
  const attributes = Object.fromEntries(style2.entries());
60413
- (_a = editor.findCustom("block-attributes-handler")) == null ? void 0 : _a.setActiveBlockAttributes(attributes);
60415
+ BlockAttributesHandler.get(editor).setActiveBlockAttributes(attributes);
60414
60416
  return new Map(Object.entries(attributes));
60415
60417
  }
60416
60418
  function applyTextStyle(editor, block, range, style2, value) {
@@ -60610,7 +60612,7 @@ $$${mathData.mathjaxText}$$
60610
60612
  this.colorItem.addListener("onClick", this.handleChangeColor);
60611
60613
  }
60612
60614
  get blockAttributesHandler() {
60613
- return this.editor.getCustom("block-attributes-handler");
60615
+ return BlockAttributesHandler.get(this.editor);
60614
60616
  }
60615
60617
  getAvailableCommands(editor, block, range, params) {
60616
60618
  const disable = !isTextKindBlock(editor, block) || isSelectBoxOnly(editor) || isSelectedTitleBlock(editor);
@@ -60767,7 +60769,7 @@ $$${mathData.mathjaxText}$$
60767
60769
  return commands.map(TextCommandProvider.toTextCommand);
60768
60770
  }
60769
60771
  executeCommand(editor, block, range, item, params, result) {
60770
- var _a;
60772
+ var _a, _b;
60771
60773
  if (!isTextKindBlock(editor, block)) {
60772
60774
  return false;
60773
60775
  }
@@ -60786,7 +60788,7 @@ $$${mathData.mathjaxText}$$
60786
60788
  const commandId = TextCommandProvider.fromTextCommandId(item.id);
60787
60789
  if (commandId.startsWith("style-")) {
60788
60790
  if (editor.selection.range.isCollapsed()) {
60789
- this.blockAttributesHandler.setActiveAttribute(commandId, value);
60791
+ (_a = this.blockAttributesHandler) == null ? void 0 : _a.setActiveAttribute(commandId, value);
60790
60792
  return true;
60791
60793
  }
60792
60794
  if (getBlockTextLength$6(editor, block) === 0) {
@@ -60794,20 +60796,21 @@ $$${mathData.mathjaxText}$$
60794
60796
  }
60795
60797
  }
60796
60798
  for (const provider of this.providers) {
60797
- if ((_a = provider.executeCommand) == null ? void 0 : _a.call(provider, editor, block, range, { ...item, id: commandId }, params, result)) {
60799
+ if ((_b = provider.executeCommand) == null ? void 0 : _b.call(provider, editor, block, range, { ...item, id: commandId }, params, result)) {
60798
60800
  return true;
60799
60801
  }
60800
60802
  }
60801
60803
  return false;
60802
60804
  }
60803
60805
  get blockAttributesHandler() {
60804
- return this.editor.getCustom("block-attributes-handler");
60806
+ return BlockAttributesHandler.get(this.editor);
60805
60807
  }
60806
60808
  executeCommandOnEmptyText(block, item, params) {
60807
- let attributes = this.blockAttributesHandler.getEmptyBlockTextAttributes(getBlockId(block));
60809
+ var _a, _b;
60810
+ let attributes = (_a = this.blockAttributesHandler) == null ? void 0 : _a.getEmptyBlockTextAttributes(getBlockId(block));
60808
60811
  if (!attributes) {
60809
60812
  attributes = {};
60810
- this.blockAttributesHandler.setEmptyBlockTextAttributes(getBlockId(block), attributes);
60813
+ (_b = this.blockAttributesHandler) == null ? void 0 : _b.setEmptyBlockTextAttributes(getBlockId(block), attributes);
60811
60814
  }
60812
60815
  const command = TextCommandProvider.fromTextCommandId(item.id);
60813
60816
  const value = params.value;
@@ -60819,9 +60822,9 @@ $$${mathData.mathjaxText}$$
60819
60822
  return true;
60820
60823
  }
60821
60824
  setCommandsStates(commands, block) {
60822
- var _a;
60825
+ var _a, _b;
60823
60826
  const blockId = getBlockId(block);
60824
- const attributes = (_a = this.blockAttributesHandler.getEmptyBlockTextAttributes(blockId)) != null ? _a : {};
60827
+ const attributes = (_b = (_a = this.blockAttributesHandler) == null ? void 0 : _a.getEmptyBlockTextAttributes(blockId)) != null ? _b : {};
60825
60828
  return commands.map((item) => {
60826
60829
  var _a2;
60827
60830
  const value = attributes[item.id];
@@ -76780,10 +76783,6 @@ ${content}
76780
76783
  if (!options.canDownload) {
76781
76784
  result = result.filter((command) => command.id !== "download");
76782
76785
  }
76783
- const { enableComments = true } = this.editor.options;
76784
- if (!enableComments) {
76785
- result = result.filter((command) => command.id !== "add-comment");
76786
- }
76787
76786
  return result;
76788
76787
  }
76789
76788
  executeCommand(editor, block, item) {
@@ -76815,8 +76814,6 @@ ${content}
76815
76814
  });
76816
76815
  } else if (item.id === "download") {
76817
76816
  downloadFile(editor, block);
76818
- } else if (item.id === "add-comment") {
76819
- addCommentToBlock$1(editor, block);
76820
76817
  }
76821
76818
  }
76822
76819
  }
@@ -88297,7 +88294,6 @@ ${data2.flowchartText}
88297
88294
  editor.input.addHandler(new ListPasteHandler());
88298
88295
  editor.doc.registerCallback(new HeadingBlockDocEvents(editor));
88299
88296
  editor.addCustom("remote-cursor", () => new RemoteCarets(editor));
88300
- editor.addCustom("block-attributes-handler", () => new BlockAttributesHandler(editor));
88301
88297
  if (!clientType.isMobile) {
88302
88298
  editor.addCustom("editor-quick-menu", () => {
88303
88299
  var _a2;
@@ -88382,7 +88378,7 @@ ${data2.flowchartText}
88382
88378
  }
88383
88379
  }
88384
88380
  });
88385
- editor.version = "2.2.16-beta.1";
88381
+ editor.version = "2.2.16-beta.3";
88386
88382
  return editor;
88387
88383
  }
88388
88384
  function isDoc(doc2) {
@@ -88434,7 +88430,6 @@ ${data2.flowchartText}
88434
88430
  editor.input.addHandler(new OnesEditorPasteHandler(editor));
88435
88431
  editor.input.addHandler(new BlockLockerPasteHandler());
88436
88432
  editor.input.addHandler(new ListPasteHandler());
88437
- editor.addCustom("block-attributes-handler", () => new BlockAttributesHandler(editor));
88438
88433
  if (!clientType.isMobile) {
88439
88434
  editor.addCustom("editor-quick-menu", () => {
88440
88435
  var _a2;
@@ -88477,7 +88472,7 @@ ${data2.flowchartText}
88477
88472
  });
88478
88473
  editor.addCustom(DOC_RE_AUTH_KEYS, (editor2) => new DocReAuthCallbacks(editor2));
88479
88474
  OnesEditorToolbar.register(editor);
88480
- editor.version = "2.2.16-beta.1";
88475
+ editor.version = "2.2.16-beta.3";
88481
88476
  return editor;
88482
88477
  }
88483
88478
  async function showDocVersions(editor, options, serverUrl) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ones-editor/editor",
3
- "version": "2.2.16-beta.1",
3
+ "version": "2.2.16-beta.3",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",