@univerjs/sheets-thread-comment 1.0.0-alpha.1 → 1.0.0-alpha.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/lib/cjs/facade.js CHANGED
@@ -431,7 +431,8 @@ let FThreadComment = _FThreadComment = class FThreadComment {
431
431
  return this._injector.createInstance(_univerjs_sheets_facade.FRange, workbook, worksheet, range);
432
432
  }
433
433
  /**
434
- * @deprecated use `getRichText` as instead
434
+ * @deprecated Use `getRichText` instead.
435
+ * @returns {IDocumentBody} The comment content.
435
436
  */
436
437
  getContent() {
437
438
  return this._thread.text;
@@ -481,13 +482,16 @@ let FThreadComment = _FThreadComment = class FThreadComment {
481
482
  });
482
483
  }
483
484
  /**
484
- * @deprecated use `deleteAsync` as instead.
485
+ * @deprecated Use `deleteAsync` instead.
486
+ * @returns {Promise<boolean>} Whether the comment is deleted successfully.
485
487
  */
486
488
  delete() {
487
489
  return this.deleteAsync();
488
490
  }
489
491
  /**
490
- * @deprecated use `updateAsync` as instead
492
+ * @deprecated Use `updateAsync` instead.
493
+ * @param {IDocumentBody} content The new content of the comment.
494
+ * @returns {Promise<boolean>} Whether the comment is updated successfully.
491
495
  */
492
496
  async update(content) {
493
497
  return this.updateAsync(content);
@@ -534,7 +538,9 @@ let FThreadComment = _FThreadComment = class FThreadComment {
534
538
  });
535
539
  }
536
540
  /**
537
- * @deprecated use `resolveAsync` as instead
541
+ * @deprecated Use `resolveAsync` instead.
542
+ * @param {boolean} [resolved] Whether the comment is resolved.
543
+ * @returns {Promise<boolean>} Set the comment to resolved or not operation result.
538
544
  */
539
545
  resolve(resolved) {
540
546
  return this.resolveAsync(resolved);
@@ -740,6 +746,7 @@ var FWorkbookSheetsThreadCommentMixin = class extends _univerjs_sheets_facade.FW
740
746
  }
741
747
  /**
742
748
  * @param callback
749
+ * @returns {IDisposable} A disposable used to remove the listener.
743
750
  * @deprecated
744
751
  */
745
752
  onThreadCommentChange(callback) {
@@ -747,6 +754,7 @@ var FWorkbookSheetsThreadCommentMixin = class extends _univerjs_sheets_facade.FW
747
754
  }
748
755
  /**
749
756
  * @param callback
757
+ * @returns {IDisposable} A disposable used to remove the listener.
750
758
  * @deprecated
751
759
  */
752
760
  onBeforeAddThreadComment(callback) {
@@ -760,6 +768,7 @@ var FWorkbookSheetsThreadCommentMixin = class extends _univerjs_sheets_facade.FW
760
768
  }
761
769
  /**
762
770
  * @param callback
771
+ * @returns {IDisposable} A disposable used to remove the listener.
763
772
  * @deprecated
764
773
  */
765
774
  onBeforeUpdateThreadComment(callback) {
@@ -773,6 +782,7 @@ var FWorkbookSheetsThreadCommentMixin = class extends _univerjs_sheets_facade.FW
773
782
  }
774
783
  /**
775
784
  * @param callback
785
+ * @returns {IDisposable} A disposable used to remove the listener.
776
786
  * @deprecated
777
787
  */
778
788
  onBeforeDeleteThreadComment(callback) {
@@ -803,6 +813,7 @@ var FWorksheetCommentMixin = class extends _univerjs_sheets_facade.FWorksheet {
803
813
  /**
804
814
  * Subscribe to comment events.
805
815
  * @param callback Callback function, param contains comment info and target cell.
816
+ * @returns {IDisposable} A disposable used to remove the listener.
806
817
  */
807
818
  onCommented(callback) {
808
819
  return this._injector.get(_univerjs_core.ICommandService).onCommandExecuted((command) => {
@@ -1015,6 +1026,7 @@ var FUniverSheetsThreadCommentMixin = class extends _univerjs_core_facade.FUnive
1015
1026
  }
1016
1027
  /**
1017
1028
  * @ignore
1029
+ * @returns {FTheadCommentBuilder} The thread comment builder.
1018
1030
  */
1019
1031
  newTheadComment(comment) {
1020
1032
  return new FTheadCommentBuilder(comment);
package/lib/cjs/index.js CHANGED
@@ -450,7 +450,7 @@ SheetsThreadCommentRefRangeController = __decorate([
450
450
  //#endregion
451
451
  //#region package.json
452
452
  var name = "@univerjs/sheets-thread-comment";
453
- var version = "1.0.0-alpha.1";
453
+ var version = "1.0.0-alpha.3";
454
454
 
455
455
  //#endregion
456
456
  //#region src/config/config.ts
@@ -607,11 +607,14 @@ const SHEET_THREAD_COMMENT_BASE = "SHEET_THREAD_COMMENT_BASE_PLUGIN";
607
607
  //#endregion
608
608
  //#region src/plugin.ts
609
609
  let UniverSheetsThreadCommentPlugin = class UniverSheetsThreadCommentPlugin extends _univerjs_core.Plugin {
610
- constructor(_config = defaultPluginConfig, _injector, _commandService) {
610
+ constructor(_config = defaultPluginConfig, _injector, _commandService, _configService) {
611
611
  super();
612
612
  this._config = _config;
613
613
  this._injector = _injector;
614
614
  this._commandService = _commandService;
615
+ this._configService = _configService;
616
+ const { ...rest } = (0, _univerjs_core.merge)({}, defaultPluginConfig, this._config);
617
+ this._configService.setConfig(SHEETS_THREAD_COMMENT_PLUGIN_CONFIG_KEY, rest);
615
618
  }
616
619
  onStarting() {
617
620
  [
@@ -631,7 +634,8 @@ _defineProperty(UniverSheetsThreadCommentPlugin, "type", _univerjs_core.UniverIn
631
634
  UniverSheetsThreadCommentPlugin = __decorate([
632
635
  (0, _univerjs_core.DependentOn)(_univerjs_thread_comment.UniverThreadCommentPlugin),
633
636
  __decorateParam(1, (0, _univerjs_core.Inject)(_univerjs_core.Injector)),
634
- __decorateParam(2, (0, _univerjs_core.Inject)(_univerjs_core.ICommandService))
637
+ __decorateParam(2, (0, _univerjs_core.Inject)(_univerjs_core.ICommandService)),
638
+ __decorateParam(3, _univerjs_core.IConfigService)
635
639
  ], UniverSheetsThreadCommentPlugin);
636
640
 
637
641
  //#endregion
package/lib/es/facade.js CHANGED
@@ -430,7 +430,8 @@ let FThreadComment = _FThreadComment = class FThreadComment {
430
430
  return this._injector.createInstance(FRange, workbook, worksheet, range);
431
431
  }
432
432
  /**
433
- * @deprecated use `getRichText` as instead
433
+ * @deprecated Use `getRichText` instead.
434
+ * @returns {IDocumentBody} The comment content.
434
435
  */
435
436
  getContent() {
436
437
  return this._thread.text;
@@ -480,13 +481,16 @@ let FThreadComment = _FThreadComment = class FThreadComment {
480
481
  });
481
482
  }
482
483
  /**
483
- * @deprecated use `deleteAsync` as instead.
484
+ * @deprecated Use `deleteAsync` instead.
485
+ * @returns {Promise<boolean>} Whether the comment is deleted successfully.
484
486
  */
485
487
  delete() {
486
488
  return this.deleteAsync();
487
489
  }
488
490
  /**
489
- * @deprecated use `updateAsync` as instead
491
+ * @deprecated Use `updateAsync` instead.
492
+ * @param {IDocumentBody} content The new content of the comment.
493
+ * @returns {Promise<boolean>} Whether the comment is updated successfully.
490
494
  */
491
495
  async update(content) {
492
496
  return this.updateAsync(content);
@@ -533,7 +537,9 @@ let FThreadComment = _FThreadComment = class FThreadComment {
533
537
  });
534
538
  }
535
539
  /**
536
- * @deprecated use `resolveAsync` as instead
540
+ * @deprecated Use `resolveAsync` instead.
541
+ * @param {boolean} [resolved] Whether the comment is resolved.
542
+ * @returns {Promise<boolean>} Set the comment to resolved or not operation result.
537
543
  */
538
544
  resolve(resolved) {
539
545
  return this.resolveAsync(resolved);
@@ -739,6 +745,7 @@ var FWorkbookSheetsThreadCommentMixin = class extends FWorkbook {
739
745
  }
740
746
  /**
741
747
  * @param callback
748
+ * @returns {IDisposable} A disposable used to remove the listener.
742
749
  * @deprecated
743
750
  */
744
751
  onThreadCommentChange(callback) {
@@ -746,6 +753,7 @@ var FWorkbookSheetsThreadCommentMixin = class extends FWorkbook {
746
753
  }
747
754
  /**
748
755
  * @param callback
756
+ * @returns {IDisposable} A disposable used to remove the listener.
749
757
  * @deprecated
750
758
  */
751
759
  onBeforeAddThreadComment(callback) {
@@ -759,6 +767,7 @@ var FWorkbookSheetsThreadCommentMixin = class extends FWorkbook {
759
767
  }
760
768
  /**
761
769
  * @param callback
770
+ * @returns {IDisposable} A disposable used to remove the listener.
762
771
  * @deprecated
763
772
  */
764
773
  onBeforeUpdateThreadComment(callback) {
@@ -772,6 +781,7 @@ var FWorkbookSheetsThreadCommentMixin = class extends FWorkbook {
772
781
  }
773
782
  /**
774
783
  * @param callback
784
+ * @returns {IDisposable} A disposable used to remove the listener.
775
785
  * @deprecated
776
786
  */
777
787
  onBeforeDeleteThreadComment(callback) {
@@ -802,6 +812,7 @@ var FWorksheetCommentMixin = class extends FWorksheet {
802
812
  /**
803
813
  * Subscribe to comment events.
804
814
  * @param callback Callback function, param contains comment info and target cell.
815
+ * @returns {IDisposable} A disposable used to remove the listener.
805
816
  */
806
817
  onCommented(callback) {
807
818
  return this._injector.get(ICommandService).onCommandExecuted((command) => {
@@ -1014,6 +1025,7 @@ var FUniverSheetsThreadCommentMixin = class extends FUniver {
1014
1025
  }
1015
1026
  /**
1016
1027
  * @ignore
1028
+ * @returns {FTheadCommentBuilder} The thread comment builder.
1017
1029
  */
1018
1030
  newTheadComment(comment) {
1019
1031
  return new FTheadCommentBuilder(comment);
package/lib/es/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { DependentOn, Disposable, ICommandService, IUniverInstanceService, Inject, Injector, ObjectMatrix, Plugin, UniverInstanceType, generateRandomId, sequenceExecuteAsync, toDisposable, touchDependencies } from "@univerjs/core";
1
+ import { DependentOn, Disposable, ICommandService, IConfigService, IUniverInstanceService, Inject, Injector, ObjectMatrix, Plugin, UniverInstanceType, generateRandomId, merge, sequenceExecuteAsync, toDisposable, touchDependencies } from "@univerjs/core";
2
2
  import { serializeRange, singleReferenceToGrid } from "@univerjs/engine-formula";
3
3
  import { CopySheetCommand, RefRangeService, RemoveSheetCommand, SheetInterceptorService, SheetsSelectionsService, handleCommonRangeChangeWithEffectRefCommandsSkipNoInterests } from "@univerjs/sheets";
4
4
  import { AddCommentMutation, DeleteCommentMutation, IThreadCommentDataSourceService, ThreadCommentModel, UniverThreadCommentPlugin, UpdateCommentRefMutation } from "@univerjs/thread-comment";
@@ -449,7 +449,7 @@ SheetsThreadCommentRefRangeController = __decorate([
449
449
  //#endregion
450
450
  //#region package.json
451
451
  var name = "@univerjs/sheets-thread-comment";
452
- var version = "1.0.0-alpha.1";
452
+ var version = "1.0.0-alpha.3";
453
453
 
454
454
  //#endregion
455
455
  //#region src/config/config.ts
@@ -606,11 +606,14 @@ const SHEET_THREAD_COMMENT_BASE = "SHEET_THREAD_COMMENT_BASE_PLUGIN";
606
606
  //#endregion
607
607
  //#region src/plugin.ts
608
608
  let UniverSheetsThreadCommentPlugin = class UniverSheetsThreadCommentPlugin extends Plugin {
609
- constructor(_config = defaultPluginConfig, _injector, _commandService) {
609
+ constructor(_config = defaultPluginConfig, _injector, _commandService, _configService) {
610
610
  super();
611
611
  this._config = _config;
612
612
  this._injector = _injector;
613
613
  this._commandService = _commandService;
614
+ this._configService = _configService;
615
+ const { ...rest } = merge({}, defaultPluginConfig, this._config);
616
+ this._configService.setConfig(SHEETS_THREAD_COMMENT_PLUGIN_CONFIG_KEY, rest);
614
617
  }
615
618
  onStarting() {
616
619
  [
@@ -630,7 +633,8 @@ _defineProperty(UniverSheetsThreadCommentPlugin, "type", UniverInstanceType.UNIV
630
633
  UniverSheetsThreadCommentPlugin = __decorate([
631
634
  DependentOn(UniverThreadCommentPlugin),
632
635
  __decorateParam(1, Inject(Injector)),
633
- __decorateParam(2, Inject(ICommandService))
636
+ __decorateParam(2, Inject(ICommandService)),
637
+ __decorateParam(3, IConfigService)
634
638
  ], UniverSheetsThreadCommentPlugin);
635
639
 
636
640
  //#endregion
package/lib/facade.js CHANGED
@@ -430,7 +430,8 @@ let FThreadComment = _FThreadComment = class FThreadComment {
430
430
  return this._injector.createInstance(FRange, workbook, worksheet, range);
431
431
  }
432
432
  /**
433
- * @deprecated use `getRichText` as instead
433
+ * @deprecated Use `getRichText` instead.
434
+ * @returns {IDocumentBody} The comment content.
434
435
  */
435
436
  getContent() {
436
437
  return this._thread.text;
@@ -480,13 +481,16 @@ let FThreadComment = _FThreadComment = class FThreadComment {
480
481
  });
481
482
  }
482
483
  /**
483
- * @deprecated use `deleteAsync` as instead.
484
+ * @deprecated Use `deleteAsync` instead.
485
+ * @returns {Promise<boolean>} Whether the comment is deleted successfully.
484
486
  */
485
487
  delete() {
486
488
  return this.deleteAsync();
487
489
  }
488
490
  /**
489
- * @deprecated use `updateAsync` as instead
491
+ * @deprecated Use `updateAsync` instead.
492
+ * @param {IDocumentBody} content The new content of the comment.
493
+ * @returns {Promise<boolean>} Whether the comment is updated successfully.
490
494
  */
491
495
  async update(content) {
492
496
  return this.updateAsync(content);
@@ -533,7 +537,9 @@ let FThreadComment = _FThreadComment = class FThreadComment {
533
537
  });
534
538
  }
535
539
  /**
536
- * @deprecated use `resolveAsync` as instead
540
+ * @deprecated Use `resolveAsync` instead.
541
+ * @param {boolean} [resolved] Whether the comment is resolved.
542
+ * @returns {Promise<boolean>} Set the comment to resolved or not operation result.
537
543
  */
538
544
  resolve(resolved) {
539
545
  return this.resolveAsync(resolved);
@@ -739,6 +745,7 @@ var FWorkbookSheetsThreadCommentMixin = class extends FWorkbook {
739
745
  }
740
746
  /**
741
747
  * @param callback
748
+ * @returns {IDisposable} A disposable used to remove the listener.
742
749
  * @deprecated
743
750
  */
744
751
  onThreadCommentChange(callback) {
@@ -746,6 +753,7 @@ var FWorkbookSheetsThreadCommentMixin = class extends FWorkbook {
746
753
  }
747
754
  /**
748
755
  * @param callback
756
+ * @returns {IDisposable} A disposable used to remove the listener.
749
757
  * @deprecated
750
758
  */
751
759
  onBeforeAddThreadComment(callback) {
@@ -759,6 +767,7 @@ var FWorkbookSheetsThreadCommentMixin = class extends FWorkbook {
759
767
  }
760
768
  /**
761
769
  * @param callback
770
+ * @returns {IDisposable} A disposable used to remove the listener.
762
771
  * @deprecated
763
772
  */
764
773
  onBeforeUpdateThreadComment(callback) {
@@ -772,6 +781,7 @@ var FWorkbookSheetsThreadCommentMixin = class extends FWorkbook {
772
781
  }
773
782
  /**
774
783
  * @param callback
784
+ * @returns {IDisposable} A disposable used to remove the listener.
775
785
  * @deprecated
776
786
  */
777
787
  onBeforeDeleteThreadComment(callback) {
@@ -802,6 +812,7 @@ var FWorksheetCommentMixin = class extends FWorksheet {
802
812
  /**
803
813
  * Subscribe to comment events.
804
814
  * @param callback Callback function, param contains comment info and target cell.
815
+ * @returns {IDisposable} A disposable used to remove the listener.
805
816
  */
806
817
  onCommented(callback) {
807
818
  return this._injector.get(ICommandService).onCommandExecuted((command) => {
@@ -1014,6 +1025,7 @@ var FUniverSheetsThreadCommentMixin = class extends FUniver {
1014
1025
  }
1015
1026
  /**
1016
1027
  * @ignore
1028
+ * @returns {FTheadCommentBuilder} The thread comment builder.
1017
1029
  */
1018
1030
  newTheadComment(comment) {
1019
1031
  return new FTheadCommentBuilder(comment);
package/lib/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { DependentOn, Disposable, ICommandService, IUniverInstanceService, Inject, Injector, ObjectMatrix, Plugin, UniverInstanceType, generateRandomId, sequenceExecuteAsync, toDisposable, touchDependencies } from "@univerjs/core";
1
+ import { DependentOn, Disposable, ICommandService, IConfigService, IUniverInstanceService, Inject, Injector, ObjectMatrix, Plugin, UniverInstanceType, generateRandomId, merge, sequenceExecuteAsync, toDisposable, touchDependencies } from "@univerjs/core";
2
2
  import { serializeRange, singleReferenceToGrid } from "@univerjs/engine-formula";
3
3
  import { CopySheetCommand, RefRangeService, RemoveSheetCommand, SheetInterceptorService, SheetsSelectionsService, handleCommonRangeChangeWithEffectRefCommandsSkipNoInterests } from "@univerjs/sheets";
4
4
  import { AddCommentMutation, DeleteCommentMutation, IThreadCommentDataSourceService, ThreadCommentModel, UniverThreadCommentPlugin, UpdateCommentRefMutation } from "@univerjs/thread-comment";
@@ -449,7 +449,7 @@ SheetsThreadCommentRefRangeController = __decorate([
449
449
  //#endregion
450
450
  //#region package.json
451
451
  var name = "@univerjs/sheets-thread-comment";
452
- var version = "1.0.0-alpha.1";
452
+ var version = "1.0.0-alpha.3";
453
453
 
454
454
  //#endregion
455
455
  //#region src/config/config.ts
@@ -606,11 +606,14 @@ const SHEET_THREAD_COMMENT_BASE = "SHEET_THREAD_COMMENT_BASE_PLUGIN";
606
606
  //#endregion
607
607
  //#region src/plugin.ts
608
608
  let UniverSheetsThreadCommentPlugin = class UniverSheetsThreadCommentPlugin extends Plugin {
609
- constructor(_config = defaultPluginConfig, _injector, _commandService) {
609
+ constructor(_config = defaultPluginConfig, _injector, _commandService, _configService) {
610
610
  super();
611
611
  this._config = _config;
612
612
  this._injector = _injector;
613
613
  this._commandService = _commandService;
614
+ this._configService = _configService;
615
+ const { ...rest } = merge({}, defaultPluginConfig, this._config);
616
+ this._configService.setConfig(SHEETS_THREAD_COMMENT_PLUGIN_CONFIG_KEY, rest);
614
617
  }
615
618
  onStarting() {
616
619
  [
@@ -630,7 +633,8 @@ _defineProperty(UniverSheetsThreadCommentPlugin, "type", UniverInstanceType.UNIV
630
633
  UniverSheetsThreadCommentPlugin = __decorate([
631
634
  DependentOn(UniverThreadCommentPlugin),
632
635
  __decorateParam(1, Inject(Injector)),
633
- __decorateParam(2, Inject(ICommandService))
636
+ __decorateParam(2, Inject(ICommandService)),
637
+ __decorateParam(3, IConfigService)
634
638
  ], UniverSheetsThreadCommentPlugin);
635
639
 
636
640
  //#endregion
@@ -317,7 +317,8 @@ export declare class FThreadComment {
317
317
  */
318
318
  getRange(): FRange | null;
319
319
  /**
320
- * @deprecated use `getRichText` as instead
320
+ * @deprecated Use `getRichText` instead.
321
+ * @returns {IDocumentBody} The comment content.
321
322
  */
322
323
  getContent(): IDocumentBody;
323
324
  /**
@@ -352,11 +353,14 @@ export declare class FThreadComment {
352
353
  */
353
354
  deleteAsync(): Promise<boolean>;
354
355
  /**
355
- * @deprecated use `deleteAsync` as instead.
356
+ * @deprecated Use `deleteAsync` instead.
357
+ * @returns {Promise<boolean>} Whether the comment is deleted successfully.
356
358
  */
357
359
  delete(): Promise<boolean>;
358
360
  /**
359
- * @deprecated use `updateAsync` as instead
361
+ * @deprecated Use `updateAsync` instead.
362
+ * @param {IDocumentBody} content The new content of the comment.
363
+ * @returns {Promise<boolean>} Whether the comment is updated successfully.
360
364
  */
361
365
  update(content: IDocumentBody): Promise<boolean>;
362
366
  /**
@@ -388,7 +392,9 @@ export declare class FThreadComment {
388
392
  */
389
393
  updateAsync(content: IDocumentBody | RichTextValue): Promise<boolean>;
390
394
  /**
391
- * @deprecated use `resolveAsync` as instead
395
+ * @deprecated Use `resolveAsync` instead.
396
+ * @param {boolean} [resolved] Whether the comment is resolved.
397
+ * @returns {Promise<boolean>} Set the comment to resolved or not operation result.
392
398
  */
393
399
  resolve(resolved?: boolean): Promise<boolean>;
394
400
  /**
@@ -53,6 +53,7 @@ export declare class FUniverSheetsThreadCommentMixin extends FUniver implements
53
53
  _initialize(injector: Injector): void;
54
54
  /**
55
55
  * @ignore
56
+ * @returns {FTheadCommentBuilder} The thread comment builder.
56
57
  */
57
58
  newTheadComment(comment?: IThreadComment): FTheadCommentBuilder;
58
59
  }
@@ -85,21 +85,25 @@ export declare class FWorkbookSheetsThreadCommentMixin extends FWorkbook impleme
85
85
  clearComments(): Promise<boolean>;
86
86
  /**
87
87
  * @param callback
88
+ * @returns {IDisposable} A disposable used to remove the listener.
88
89
  * @deprecated
89
90
  */
90
91
  onThreadCommentChange(callback: (commentUpdate: CommentUpdate) => void | false): IDisposable;
91
92
  /**
92
93
  * @param callback
94
+ * @returns {IDisposable} A disposable used to remove the listener.
93
95
  * @deprecated
94
96
  */
95
97
  onBeforeAddThreadComment(callback: (params: IAddCommentCommandParams, options: IExecutionOptions | undefined) => void | false): IDisposable;
96
98
  /**
97
99
  * @param callback
100
+ * @returns {IDisposable} A disposable used to remove the listener.
98
101
  * @deprecated
99
102
  */
100
103
  onBeforeUpdateThreadComment(callback: (params: IUpdateCommentCommandParams, options: IExecutionOptions | undefined) => void | false): IDisposable;
101
104
  /**
102
105
  * @param callback
106
+ * @returns {IDisposable} A disposable used to remove the listener.
103
107
  * @deprecated
104
108
  */
105
109
  onBeforeDeleteThreadComment(callback: (params: IDeleteCommentCommandParams, options: IExecutionOptions | undefined) => void | false): IDisposable;
@@ -89,6 +89,7 @@ export declare class FWorksheetCommentMixin extends FWorksheet implements IFWork
89
89
  /**
90
90
  * Subscribe to comment events.
91
91
  * @param callback Callback function, param contains comment info and target cell.
92
+ * @returns {IDisposable} A disposable used to remove the listener.
92
93
  */
93
94
  onCommented(callback: (params: IAddCommentCommandParams) => void): IDisposable;
94
95
  getCommentById(commentId: string): FThreadComment | undefined;
@@ -14,15 +14,16 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import type { IUniverSheetsThreadCommentConfig } from './config/config';
17
- import { ICommandService, Injector, Plugin, UniverInstanceType } from '@univerjs/core';
17
+ import { ICommandService, IConfigService, Injector, Plugin, UniverInstanceType } from '@univerjs/core';
18
18
  export declare class UniverSheetsThreadCommentPlugin extends Plugin {
19
19
  private readonly _config;
20
20
  protected _injector: Injector;
21
21
  protected _commandService: ICommandService;
22
+ private readonly _configService;
22
23
  static pluginName: string;
23
24
  static packageName: string;
24
25
  static version: string;
25
26
  static type: UniverInstanceType;
26
- constructor(_config: Partial<IUniverSheetsThreadCommentConfig> | undefined, _injector: Injector, _commandService: ICommandService);
27
+ constructor(_config: Partial<IUniverSheetsThreadCommentConfig> | undefined, _injector: Injector, _commandService: ICommandService, _configService: IConfigService);
27
28
  onStarting(): void;
28
29
  }
package/lib/umd/index.js CHANGED
@@ -1 +1 @@
1
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/engine-formula"),require("@univerjs/sheets"),require("@univerjs/thread-comment"),require("rxjs")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/engine-formula`,`@univerjs/sheets`,`@univerjs/thread-comment`,`rxjs`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsThreadComment={},e.UniverCore,e.UniverEngineFormula,e.UniverSheets,e.UniverThreadComment,e.rxjs))})(this,function(e,t,n,r,i,a){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function o(e){"@babel/helpers - typeof";return o=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},o(e)}function s(e,t){if(o(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(o(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function c(e){var t=s(e,`string`);return o(t)==`symbol`?t:t+``}function l(e,t,n){return(t=c(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function u(e,t){return function(n,r){t(n,r,e)}}function d(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let f=class extends t.Disposable{constructor(e,t){super(),this._threadCommentModel=e,this._univerInstanceService=t,l(this,`_matrixMap`,new Map),l(this,`_locationMap`,new Map),l(this,`_commentUpdate$`,new a.Subject),l(this,`commentUpdate$`,this._commentUpdate$.asObservable()),this._init(),this.disposeWithMe(()=>{this._commentUpdate$.complete()})}_init(){this._initData(),this._initUpdateTransform()}_ensureCommentMatrix(e,n){let r=this._matrixMap.get(e);r||(r=new Map,this._matrixMap.set(e,r));let i=r.get(n);return i||(i=new t.ObjectMatrix,r.set(n,i)),i}_ensureCommentLocationMap(e,t){let n=this._locationMap.get(e);n||(n=new Map,this._locationMap.set(e,n));let r=n.get(t);return r||(r=new Map,n.set(t,r)),r}_addCommentToMatrix(e,t,n,r){var i;let a=(i=e.getValue(t,n))==null?new Set:i;a.add(r),e.setValue(t,n,a)}_deleteCommentFromMatrix(e,t,n,r){if(t>=0&&n>=0){let i=e.getValue(t,n);i&&i.has(r)&&(i.delete(r),i.size===0&&e.realDeleteValue(t,n))}}_ensure(e,t){return{matrix:this._ensureCommentMatrix(e,t),locationMap:this._ensureCommentLocationMap(e,t)}}_initData(){let e=this._threadCommentModel.getAll();for(let t of e)for(let e of t.threads){let{unitId:t,subUnitId:n,root:r}=e;this._addComment(t,n,r)}}_addComment(e,t,r){let i=(0,n.singleReferenceToGrid)(r.ref),a=r.parentId,{row:o,column:s}=i,c=r.id,{matrix:l,locationMap:u}=this._ensure(e,t);!a&&o>=0&&s>=0&&(this._addCommentToMatrix(l,o,s,c),u.set(c,{row:o,column:s})),a||this._commentUpdate$.next({unitId:e,subUnitId:t,payload:r,type:`add`,isRoot:!a,...i})}_initUpdateTransform(){this.disposeWithMe(this._threadCommentModel.commentUpdate$.subscribe(e=>{let{unitId:r,subUnitId:i}=e;try{if(this._univerInstanceService.getUnitType(r)!==t.UniverInstanceType.UNIVER_SHEET)return}catch{}let{matrix:a,locationMap:o}=this._ensure(r,i);switch(e.type){case`add`:this._addComment(e.unitId,e.subUnitId,e.payload);break;case`delete`:{let{isRoot:t,comment:r}=e.payload;if(t){let t=(0,n.singleReferenceToGrid)(r.ref),{row:i,column:o}=t;this._deleteCommentFromMatrix(a,i,o,r.id),this._commentUpdate$.next({...e,...t})}break}case`update`:{let{commentId:t}=e.payload,a=this._threadCommentModel.getComment(r,i,t);if(!a)return;let o=(0,n.singleReferenceToGrid)(a.ref);this._commentUpdate$.next({...e,...o});break}case`updateRef`:{let t=(0,n.singleReferenceToGrid)(e.payload.ref),{commentId:r}=e.payload,i=o.get(r);if(!i)return;let{row:s,column:c}=i;this._deleteCommentFromMatrix(a,s,c,r),o.delete(r),t.row>=0&&t.column>=0&&(this._addCommentToMatrix(a,t.row,t.column,r),o.set(r,{row:t.row,column:t.column})),this._commentUpdate$.next({...e,...t});break}case`resolve`:{let{unitId:t,subUnitId:n,payload:r}=e,{locationMap:i}=this._ensure(t,n),a=i.get(r.commentId);a&&this._commentUpdate$.next({...e,...a});break}default:break}}))}getByLocation(e,t,n,r){var i;return(i=this.getAllByLocation(e,t,n,r).filter(e=>!e.resolved)[0])==null?void 0:i.id}getAllByLocation(e,t,n,r){let i=this._ensureCommentMatrix(e,t).getValue(n,r);if(!i)return[];let a=[];for(let n of i){let r=this.getComment(e,t,n);r&&a.push(r)}return a}getComment(e,t,n){return this._threadCommentModel.getComment(e,t,n)}getCommentWithChildren(e,t,n,r){let i=this.getByLocation(e,t,n,r);if(!i)return;let a=this.getComment(e,t,i);if(a)return this._threadCommentModel.getThread(e,t,a.threadId)}showCommentMarker(e,t,n,r){let i=this.getByLocation(e,t,n,r);if(!i)return!1;let a=this.getComment(e,t,i);return!!(a&&!a.resolved)}getSubUnitAll(e,t){return this._threadCommentModel.getUnit(e).filter(e=>e.subUnitId===t).map(e=>e.root)}};f=d([u(0,(0,t.Inject)(i.ThreadCommentModel)),u(1,t.IUniverInstanceService)],f);let p=class extends t.Disposable{constructor(e,t,r,a,o){super(),this._refRangeService=e,this._sheetsThreadCommentModel=t,this._threadCommentModel=r,this._selectionManagerService=a,this._commandService=o,l(this,`_disposableMap`,new Map),l(this,`_watcherMap`,new Map),l(this,`_handleRangeChange`,(e,t,r,a,o)=>{let s=r.id,c={startColumn:r.column,endColumn:r.column,startRow:r.row,endRow:r.row};return a?{redos:[{id:i.UpdateCommentRefMutation.id,params:{unitId:e,subUnitId:t,payload:{ref:(0,n.serializeRange)(a),commentId:s},silent:o}}],undos:[{id:i.UpdateCommentRefMutation.id,params:{unitId:e,subUnitId:t,payload:{ref:(0,n.serializeRange)(c),commentId:s},silent:o}}]}:{redos:[{id:i.DeleteCommentMutation.id,params:{unitId:e,subUnitId:t,commentId:s}}],undos:[{id:i.AddCommentMutation.id,params:{unitId:e,subUnitId:t,comment:r,sync:!0}}]}}),this._initData(),this._initRefRange()}_getIdWithUnitId(e,t,n){return`${e}-${t}-${n}`}_register(e,t,n){let i=n.id,a={startColumn:n.column,endColumn:n.column,startRow:n.row,endRow:n.row};this._disposableMap.set(this._getIdWithUnitId(e,t,i),this._refRangeService.registerRefRange(a,i=>{let o=(0,r.handleCommonRangeChangeWithEffectRefCommandsSkipNoInterests)(a,i,{selectionManagerService:this._selectionManagerService}),s=Array.isArray(o)?o[0]:o;return s&&s.startColumn===a.startColumn&&s.startRow===a.startRow?{undos:[],redos:[]}:this._handleRangeChange(e,t,n,s,!1)},e,t))}_watch(e,n,r){let i=r.id,a={startColumn:r.column,endColumn:r.column,startRow:r.row,endRow:r.row};this._watcherMap.set(this._getIdWithUnitId(e,n,i),this._refRangeService.watchRange(e,n,a,(i,a)=>{let{redos:o}=this._handleRangeChange(e,n,r,a,!0);(0,t.sequenceExecuteAsync)(o,this._commandService,{onlyLocal:!0})},!0))}_unwatch(e,t,n){var r;let i=this._getIdWithUnitId(e,t,n);(r=this._watcherMap.get(i))==null||r.dispose(),this._watcherMap.delete(i)}_unregister(e,t,n){var r;let i=this._getIdWithUnitId(e,t,n);(r=this._disposableMap.get(i))==null||r.dispose(),this._disposableMap.delete(i)}_initData(){let e=this._threadCommentModel.getAll();for(let t of e)for(let e of t.threads){let{unitId:t,subUnitId:r,root:i}=e,a=(0,n.singleReferenceToGrid)(i.ref),o={...i,...a};this._register(t,r,o),this._watch(t,r,o)}}_initRefRange(){this.disposeWithMe(this._sheetsThreadCommentModel.commentUpdate$.subscribe(e=>{let{unitId:t,subUnitId:n}=e;switch(e.type){case`add`:{if(e.payload.parentId)return;let t={...e.payload,row:e.row,column:e.column};this._register(e.unitId,e.subUnitId,t),this._watch(e.unitId,e.subUnitId,t);break}case`delete`:this._unregister(t,n,e.payload.commentId),this._unwatch(t,n,e.payload.commentId);break;case`updateRef`:{let r=this._sheetsThreadCommentModel.getComment(t,n,e.payload.commentId);if(!r)return;this._unregister(t,n,e.payload.commentId);let i={...r,row:e.row,column:e.column};e.silent||(this._unwatch(t,n,e.payload.commentId),this._watch(t,n,i)),this._register(e.unitId,e.subUnitId,i);break}}})),this.disposeWithMe((0,t.toDisposable)(()=>{this._disposableMap.forEach(e=>{e.dispose()}),this._disposableMap.clear()}))}};p=d([u(0,(0,t.Inject)(r.RefRangeService)),u(1,(0,t.Inject)(f)),u(2,(0,t.Inject)(i.ThreadCommentModel)),u(3,(0,t.Inject)(r.SheetsSelectionsService)),u(4,t.ICommandService)],p);var m=`@univerjs/sheets-thread-comment`,h=`1.0.0-alpha.1`;let g={},_=class extends t.Disposable{constructor(e,t,n,r){super(),this._univerInstanceService=e,this._sheetInterceptorService=t,this._threadCommentModel=n,this._threadCommentDataSourceService=r,this._initSheetChange()}_initSheetChange(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>{if(e.id===r.RemoveSheetCommand.id){var n;let r=e.params,a=r.unitId||this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET).getUnitId(),o=r.subUnitId||((n=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET).getActiveSheet())==null?void 0:n.getSheetId());if(!a||!o)return{redos:[],undos:[]};let s=this._threadCommentModel.ensureMap(a,o),c=Array.from(s.values()).filter(e=>!e.parentId),l=this._threadCommentDataSourceService.syncUpdateMutationToColla,u=[],d=[];return c.forEach(({children:e,...t})=>{u.push({id:i.DeleteCommentMutation.id,params:{unitId:a,subUnitId:o,commentId:t.id}}),d.push({id:i.AddCommentMutation.id,params:{unitId:a,subUnitId:o,comment:{...t,children:l?e:void 0},sync:!l}})}),{redos:u,undos:d}}else if(e.id===r.CopySheetCommand.id){let{unitId:n,subUnitId:r,targetSubUnitId:a}=e.params;if(!n||!r||!a)return{redos:[],undos:[]};let o=this._threadCommentModel.ensureMap(n,r),s=Array.from(o.values()).map(e=>({...e,subUnitId:a,id:(0,t.generateRandomId)(),threadId:(0,t.generateRandomId)()})).filter(e=>!e.parentId),c=this._threadCommentDataSourceService.syncUpdateMutationToColla,l=[],u=[];return s.forEach(({children:e,...t})=>{l.push({id:i.AddCommentMutation.id,params:{unitId:n,subUnitId:a,comment:{...t,children:c?e:void 0},sync:!c}}),u.push({id:i.DeleteCommentMutation.id,params:{unitId:n,subUnitId:a,commentId:t.id}})}),{redos:l,undos:u}}return{redos:[],undos:[]}}}))}};_=d([u(0,t.IUniverInstanceService),u(1,(0,t.Inject)(r.SheetInterceptorService)),u(2,(0,t.Inject)(i.ThreadCommentModel)),u(3,i.IThreadCommentDataSourceService)],_);let v=class extends t.Plugin{constructor(e=g,t,n){super(),this._config=e,this._injector=t,this._commandService=n}onStarting(){[[f],[p],[_]].forEach(e=>{this._injector.add(e)}),(0,t.touchDependencies)(this._injector,[[p],[_]])}};l(v,`pluginName`,`SHEET_THREAD_COMMENT_BASE_PLUGIN`),l(v,`packageName`,m),l(v,`version`,h),l(v,`type`,t.UniverInstanceType.UNIVER_SHEET),v=d([(0,t.DependentOn)(i.UniverThreadCommentPlugin),u(1,(0,t.Inject)(t.Injector)),u(2,(0,t.Inject)(t.ICommandService))],v),Object.defineProperty(e,"SheetsThreadCommentModel",{enumerable:!0,get:function(){return f}}),Object.defineProperty(e,"SheetsThreadCommentRefRangeController",{enumerable:!0,get:function(){return p}}),Object.defineProperty(e,"UniverSheetsThreadCommentPlugin",{enumerable:!0,get:function(){return v}})});
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/engine-formula"),require("@univerjs/sheets"),require("@univerjs/thread-comment"),require("rxjs")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/engine-formula`,`@univerjs/sheets`,`@univerjs/thread-comment`,`rxjs`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsThreadComment={},e.UniverCore,e.UniverEngineFormula,e.UniverSheets,e.UniverThreadComment,e.rxjs))})(this,function(e,t,n,r,i,a){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function o(e){"@babel/helpers - typeof";return o=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},o(e)}function s(e,t){if(o(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(o(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function c(e){var t=s(e,`string`);return o(t)==`symbol`?t:t+``}function l(e,t,n){return(t=c(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function u(e,t){return function(n,r){t(n,r,e)}}function d(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let f=class extends t.Disposable{constructor(e,t){super(),this._threadCommentModel=e,this._univerInstanceService=t,l(this,`_matrixMap`,new Map),l(this,`_locationMap`,new Map),l(this,`_commentUpdate$`,new a.Subject),l(this,`commentUpdate$`,this._commentUpdate$.asObservable()),this._init(),this.disposeWithMe(()=>{this._commentUpdate$.complete()})}_init(){this._initData(),this._initUpdateTransform()}_ensureCommentMatrix(e,n){let r=this._matrixMap.get(e);r||(r=new Map,this._matrixMap.set(e,r));let i=r.get(n);return i||(i=new t.ObjectMatrix,r.set(n,i)),i}_ensureCommentLocationMap(e,t){let n=this._locationMap.get(e);n||(n=new Map,this._locationMap.set(e,n));let r=n.get(t);return r||(r=new Map,n.set(t,r)),r}_addCommentToMatrix(e,t,n,r){var i;let a=(i=e.getValue(t,n))==null?new Set:i;a.add(r),e.setValue(t,n,a)}_deleteCommentFromMatrix(e,t,n,r){if(t>=0&&n>=0){let i=e.getValue(t,n);i&&i.has(r)&&(i.delete(r),i.size===0&&e.realDeleteValue(t,n))}}_ensure(e,t){return{matrix:this._ensureCommentMatrix(e,t),locationMap:this._ensureCommentLocationMap(e,t)}}_initData(){let e=this._threadCommentModel.getAll();for(let t of e)for(let e of t.threads){let{unitId:t,subUnitId:n,root:r}=e;this._addComment(t,n,r)}}_addComment(e,t,r){let i=(0,n.singleReferenceToGrid)(r.ref),a=r.parentId,{row:o,column:s}=i,c=r.id,{matrix:l,locationMap:u}=this._ensure(e,t);!a&&o>=0&&s>=0&&(this._addCommentToMatrix(l,o,s,c),u.set(c,{row:o,column:s})),a||this._commentUpdate$.next({unitId:e,subUnitId:t,payload:r,type:`add`,isRoot:!a,...i})}_initUpdateTransform(){this.disposeWithMe(this._threadCommentModel.commentUpdate$.subscribe(e=>{let{unitId:r,subUnitId:i}=e;try{if(this._univerInstanceService.getUnitType(r)!==t.UniverInstanceType.UNIVER_SHEET)return}catch{}let{matrix:a,locationMap:o}=this._ensure(r,i);switch(e.type){case`add`:this._addComment(e.unitId,e.subUnitId,e.payload);break;case`delete`:{let{isRoot:t,comment:r}=e.payload;if(t){let t=(0,n.singleReferenceToGrid)(r.ref),{row:i,column:o}=t;this._deleteCommentFromMatrix(a,i,o,r.id),this._commentUpdate$.next({...e,...t})}break}case`update`:{let{commentId:t}=e.payload,a=this._threadCommentModel.getComment(r,i,t);if(!a)return;let o=(0,n.singleReferenceToGrid)(a.ref);this._commentUpdate$.next({...e,...o});break}case`updateRef`:{let t=(0,n.singleReferenceToGrid)(e.payload.ref),{commentId:r}=e.payload,i=o.get(r);if(!i)return;let{row:s,column:c}=i;this._deleteCommentFromMatrix(a,s,c,r),o.delete(r),t.row>=0&&t.column>=0&&(this._addCommentToMatrix(a,t.row,t.column,r),o.set(r,{row:t.row,column:t.column})),this._commentUpdate$.next({...e,...t});break}case`resolve`:{let{unitId:t,subUnitId:n,payload:r}=e,{locationMap:i}=this._ensure(t,n),a=i.get(r.commentId);a&&this._commentUpdate$.next({...e,...a});break}default:break}}))}getByLocation(e,t,n,r){var i;return(i=this.getAllByLocation(e,t,n,r).filter(e=>!e.resolved)[0])==null?void 0:i.id}getAllByLocation(e,t,n,r){let i=this._ensureCommentMatrix(e,t).getValue(n,r);if(!i)return[];let a=[];for(let n of i){let r=this.getComment(e,t,n);r&&a.push(r)}return a}getComment(e,t,n){return this._threadCommentModel.getComment(e,t,n)}getCommentWithChildren(e,t,n,r){let i=this.getByLocation(e,t,n,r);if(!i)return;let a=this.getComment(e,t,i);if(a)return this._threadCommentModel.getThread(e,t,a.threadId)}showCommentMarker(e,t,n,r){let i=this.getByLocation(e,t,n,r);if(!i)return!1;let a=this.getComment(e,t,i);return!!(a&&!a.resolved)}getSubUnitAll(e,t){return this._threadCommentModel.getUnit(e).filter(e=>e.subUnitId===t).map(e=>e.root)}};f=d([u(0,(0,t.Inject)(i.ThreadCommentModel)),u(1,t.IUniverInstanceService)],f);let p=class extends t.Disposable{constructor(e,t,r,a,o){super(),this._refRangeService=e,this._sheetsThreadCommentModel=t,this._threadCommentModel=r,this._selectionManagerService=a,this._commandService=o,l(this,`_disposableMap`,new Map),l(this,`_watcherMap`,new Map),l(this,`_handleRangeChange`,(e,t,r,a,o)=>{let s=r.id,c={startColumn:r.column,endColumn:r.column,startRow:r.row,endRow:r.row};return a?{redos:[{id:i.UpdateCommentRefMutation.id,params:{unitId:e,subUnitId:t,payload:{ref:(0,n.serializeRange)(a),commentId:s},silent:o}}],undos:[{id:i.UpdateCommentRefMutation.id,params:{unitId:e,subUnitId:t,payload:{ref:(0,n.serializeRange)(c),commentId:s},silent:o}}]}:{redos:[{id:i.DeleteCommentMutation.id,params:{unitId:e,subUnitId:t,commentId:s}}],undos:[{id:i.AddCommentMutation.id,params:{unitId:e,subUnitId:t,comment:r,sync:!0}}]}}),this._initData(),this._initRefRange()}_getIdWithUnitId(e,t,n){return`${e}-${t}-${n}`}_register(e,t,n){let i=n.id,a={startColumn:n.column,endColumn:n.column,startRow:n.row,endRow:n.row};this._disposableMap.set(this._getIdWithUnitId(e,t,i),this._refRangeService.registerRefRange(a,i=>{let o=(0,r.handleCommonRangeChangeWithEffectRefCommandsSkipNoInterests)(a,i,{selectionManagerService:this._selectionManagerService}),s=Array.isArray(o)?o[0]:o;return s&&s.startColumn===a.startColumn&&s.startRow===a.startRow?{undos:[],redos:[]}:this._handleRangeChange(e,t,n,s,!1)},e,t))}_watch(e,n,r){let i=r.id,a={startColumn:r.column,endColumn:r.column,startRow:r.row,endRow:r.row};this._watcherMap.set(this._getIdWithUnitId(e,n,i),this._refRangeService.watchRange(e,n,a,(i,a)=>{let{redos:o}=this._handleRangeChange(e,n,r,a,!0);(0,t.sequenceExecuteAsync)(o,this._commandService,{onlyLocal:!0})},!0))}_unwatch(e,t,n){var r;let i=this._getIdWithUnitId(e,t,n);(r=this._watcherMap.get(i))==null||r.dispose(),this._watcherMap.delete(i)}_unregister(e,t,n){var r;let i=this._getIdWithUnitId(e,t,n);(r=this._disposableMap.get(i))==null||r.dispose(),this._disposableMap.delete(i)}_initData(){let e=this._threadCommentModel.getAll();for(let t of e)for(let e of t.threads){let{unitId:t,subUnitId:r,root:i}=e,a=(0,n.singleReferenceToGrid)(i.ref),o={...i,...a};this._register(t,r,o),this._watch(t,r,o)}}_initRefRange(){this.disposeWithMe(this._sheetsThreadCommentModel.commentUpdate$.subscribe(e=>{let{unitId:t,subUnitId:n}=e;switch(e.type){case`add`:{if(e.payload.parentId)return;let t={...e.payload,row:e.row,column:e.column};this._register(e.unitId,e.subUnitId,t),this._watch(e.unitId,e.subUnitId,t);break}case`delete`:this._unregister(t,n,e.payload.commentId),this._unwatch(t,n,e.payload.commentId);break;case`updateRef`:{let r=this._sheetsThreadCommentModel.getComment(t,n,e.payload.commentId);if(!r)return;this._unregister(t,n,e.payload.commentId);let i={...r,row:e.row,column:e.column};e.silent||(this._unwatch(t,n,e.payload.commentId),this._watch(t,n,i)),this._register(e.unitId,e.subUnitId,i);break}}})),this.disposeWithMe((0,t.toDisposable)(()=>{this._disposableMap.forEach(e=>{e.dispose()}),this._disposableMap.clear()}))}};p=d([u(0,(0,t.Inject)(r.RefRangeService)),u(1,(0,t.Inject)(f)),u(2,(0,t.Inject)(i.ThreadCommentModel)),u(3,(0,t.Inject)(r.SheetsSelectionsService)),u(4,t.ICommandService)],p);var m=`@univerjs/sheets-thread-comment`,h=`1.0.0-alpha.3`;let g={},_=class extends t.Disposable{constructor(e,t,n,r){super(),this._univerInstanceService=e,this._sheetInterceptorService=t,this._threadCommentModel=n,this._threadCommentDataSourceService=r,this._initSheetChange()}_initSheetChange(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>{if(e.id===r.RemoveSheetCommand.id){var n;let r=e.params,a=r.unitId||this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET).getUnitId(),o=r.subUnitId||((n=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET).getActiveSheet())==null?void 0:n.getSheetId());if(!a||!o)return{redos:[],undos:[]};let s=this._threadCommentModel.ensureMap(a,o),c=Array.from(s.values()).filter(e=>!e.parentId),l=this._threadCommentDataSourceService.syncUpdateMutationToColla,u=[],d=[];return c.forEach(({children:e,...t})=>{u.push({id:i.DeleteCommentMutation.id,params:{unitId:a,subUnitId:o,commentId:t.id}}),d.push({id:i.AddCommentMutation.id,params:{unitId:a,subUnitId:o,comment:{...t,children:l?e:void 0},sync:!l}})}),{redos:u,undos:d}}else if(e.id===r.CopySheetCommand.id){let{unitId:n,subUnitId:r,targetSubUnitId:a}=e.params;if(!n||!r||!a)return{redos:[],undos:[]};let o=this._threadCommentModel.ensureMap(n,r),s=Array.from(o.values()).map(e=>({...e,subUnitId:a,id:(0,t.generateRandomId)(),threadId:(0,t.generateRandomId)()})).filter(e=>!e.parentId),c=this._threadCommentDataSourceService.syncUpdateMutationToColla,l=[],u=[];return s.forEach(({children:e,...t})=>{l.push({id:i.AddCommentMutation.id,params:{unitId:n,subUnitId:a,comment:{...t,children:c?e:void 0},sync:!c}}),u.push({id:i.DeleteCommentMutation.id,params:{unitId:n,subUnitId:a,commentId:t.id}})}),{redos:l,undos:u}}return{redos:[],undos:[]}}}))}};_=d([u(0,t.IUniverInstanceService),u(1,(0,t.Inject)(r.SheetInterceptorService)),u(2,(0,t.Inject)(i.ThreadCommentModel)),u(3,i.IThreadCommentDataSourceService)],_);let v=class extends t.Plugin{constructor(e=g,n,r,i){super(),this._config=e,this._injector=n,this._commandService=r,this._configService=i;let{...a}=(0,t.merge)({},g,this._config);this._configService.setConfig(`sheets-thread-comment.config`,a)}onStarting(){[[f],[p],[_]].forEach(e=>{this._injector.add(e)}),(0,t.touchDependencies)(this._injector,[[p],[_]])}};l(v,`pluginName`,`SHEET_THREAD_COMMENT_BASE_PLUGIN`),l(v,`packageName`,m),l(v,`version`,h),l(v,`type`,t.UniverInstanceType.UNIVER_SHEET),v=d([(0,t.DependentOn)(i.UniverThreadCommentPlugin),u(1,(0,t.Inject)(t.Injector)),u(2,(0,t.Inject)(t.ICommandService)),u(3,t.IConfigService)],v),Object.defineProperty(e,"SheetsThreadCommentModel",{enumerable:!0,get:function(){return f}}),Object.defineProperty(e,"SheetsThreadCommentRefRangeController",{enumerable:!0,get:function(){return p}}),Object.defineProperty(e,"UniverSheetsThreadCommentPlugin",{enumerable:!0,get:function(){return v}})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/sheets-thread-comment",
3
- "version": "1.0.0-alpha.1",
3
+ "version": "1.0.0-alpha.3",
4
4
  "private": false,
5
5
  "description": "Thread comment integration for Univer Sheets.",
6
6
  "author": "DreamNum Co., Ltd. <developer@univer.ai>",
@@ -62,16 +62,16 @@
62
62
  "rxjs": ">=7.0.0"
63
63
  },
64
64
  "dependencies": {
65
- "@univerjs/core": "1.0.0-alpha.1",
66
- "@univerjs/sheets": "1.0.0-alpha.1",
67
- "@univerjs/thread-comment": "1.0.0-alpha.1",
68
- "@univerjs/engine-formula": "1.0.0-alpha.1"
65
+ "@univerjs/core": "1.0.0-alpha.3",
66
+ "@univerjs/engine-formula": "1.0.0-alpha.3",
67
+ "@univerjs/sheets": "1.0.0-alpha.3",
68
+ "@univerjs/thread-comment": "1.0.0-alpha.3"
69
69
  },
70
70
  "devDependencies": {
71
71
  "rxjs": "^7.8.2",
72
72
  "typescript": "^6.0.3",
73
- "vitest": "^4.1.9",
74
- "@univerjs-infra/shared": "1.0.0-alpha.1"
73
+ "vitest": "^4.1.10",
74
+ "@univerjs-infra/shared": "1.0.0-alpha.3"
75
75
  },
76
76
  "scripts": {
77
77
  "test": "vitest run",