fix(dts): simplify interface declarations and improve method overrides in event and range modules (#5516)

This commit is contained in:
白熱
2025-07-11 11:36:20 +08:00
committed by GitHub
parent cd39795932
commit edea4ebeae
5 changed files with 39 additions and 19 deletions
+2 -5
View File
@@ -306,9 +306,6 @@ export interface ISheetNoteEventConfig {
FEventName.extend(FSheetNoteEvent);
declare module '@univerjs/core/facade' {
// eslint-disable-next-line ts/naming-convention
interface FEventName extends ISheetNoteEvent {
}
interface IEventParamConfig extends ISheetNoteEventConfig {
}
interface FEventName extends ISheetNoteEvent {}
interface IEventParamConfig extends ISheetNoteEventConfig {}
}
+10 -7
View File
@@ -19,6 +19,9 @@ import type { ISheetNote } from '@univerjs/sheets-note';
import { RemoveNoteMutation, SheetsNoteModel, UpdateNoteMutation } from '@univerjs/sheets-note';
import { FRange } from '@univerjs/sheets/facade';
/**
* @ignore
*/
export interface IFSheetsNoteRange {
/**
* Get the annotation of the top-left cell in the range
@@ -71,8 +74,8 @@ export interface IFSheetsNoteRange {
deleteNote(): FRange;
}
export class FSheetsNoteRange extends FRange implements IFSheetsNoteRange {
createOrUpdateNote(note: ISheetNote): FRange {
export class FSheetsNoteRangeMixin extends FRange implements IFSheetsNoteRange {
override createOrUpdateNote(note: ISheetNote): FRange {
this._commandService.syncExecuteCommand(
UpdateNoteMutation.id,
{
@@ -87,7 +90,7 @@ export class FSheetsNoteRange extends FRange implements IFSheetsNoteRange {
return this;
}
deleteNote(): FRange {
override deleteNote(): FRange {
this._commandService.syncExecuteCommand(
RemoveNoteMutation.id,
{
@@ -101,14 +104,14 @@ export class FSheetsNoteRange extends FRange implements IFSheetsNoteRange {
return this;
}
getNote(): Nullable<ISheetNote> {
override getNote(): Nullable<ISheetNote> {
const model = this._injector.get(SheetsNoteModel);
return model.getNote(this.getUnitId(), this.getSheetId(), this.getRow(), this.getColumn());
}
}
FRange.extend(FSheetsNoteRangeMixin);
declare module '@univerjs/sheets/facade' {
interface IRange extends FSheetsNoteRange { }
// eslint-disable-next-line ts/naming-convention
interface FRange extends IFSheetsNoteRange { }
}
FRange.extend(FSheetsNoteRange);
@@ -28,6 +28,7 @@ export interface IFUniverSheetNoteMixin {
}
export class FUniverSheetNoteMixin extends FUniver implements IFUniverSheetNoteMixin {
// eslint-disable-next-line max-lines-per-function
override _initialize(injector: Injector): void {
this.registerEventHandler(
this.Event.SheetNoteAdd,
@@ -23,6 +23,9 @@ export interface ISheetNoteInfo extends ISheetNote {
col: number;
}
/**
* @ignore
*/
export interface IFSheetsNoteWorksheet {
/**
* Get all annotations in the worksheet
@@ -44,7 +47,7 @@ export interface IFSheetsNoteWorksheet {
}
export class FSheetsNoteWorksheet extends FWorksheet implements IFSheetsNoteWorksheet {
getNotes(): ISheetNoteInfo[] {
override getNotes(): ISheetNoteInfo[] {
const model = this._injector.get(SheetsNoteModel);
const notes = model.getSheetNotes(this.getWorkbook().getUnitId(), this.getSheetId());
const arr: ISheetNoteInfo[] = [];
@@ -61,8 +64,8 @@ export class FSheetsNoteWorksheet extends FWorksheet implements IFSheetsNoteWork
}
}
declare module '@univerjs/sheets/facade' {
interface IWorksheet extends FSheetsNoteWorksheet { }
}
FWorksheet.extend(FSheetsNoteWorksheet);
declare module '@univerjs/sheets/facade' {
// eslint-disable-next-line ts/naming-convention
interface FWorksheet extends IFSheetsNoteWorksheet { }
}
@@ -15,10 +15,26 @@
*/
import type { IRangeThemeStyleJSON } from '@univerjs/sheets';
import type { IAddSheetTableCommandParams, IDeleteSheetTableParams, ISetSheetTableCommandParams, ISetSheetTableParams, ITableFilterItem, ITableInfoWithUnitId, ITableOptions, ITableRange } from '@univerjs/sheets-table';
import type {
IAddSheetTableCommandParams,
IDeleteSheetTableParams,
ISetSheetTableCommandParams,
ISetSheetTableParams,
ITableFilterItem,
ITableInfoWithUnitId,
ITableOptions,
ITableRange,
} from '@univerjs/sheets-table';
import { cellToRange, Rectangle } from '@univerjs/core';
import { RangeThemeStyle } from '@univerjs/sheets';
import { AddSheetTableCommand, AddTableThemeCommand, DeleteSheetTableCommand, SetSheetTableCommand, SetSheetTableFilterCommand, SheetTableService } from '@univerjs/sheets-table';
import {
AddSheetTableCommand,
AddTableThemeCommand,
DeleteSheetTableCommand,
SetSheetTableCommand,
SetSheetTableFilterCommand,
SheetTableService,
} from '@univerjs/sheets-table';
import { FWorksheet } from '@univerjs/sheets/facade';
/**