From 6d3e7afa1d2c82893a4c15fc1f93654ab717a771 Mon Sep 17 00:00:00 2001 From: Jinke Li Date: Thu, 29 Jul 2021 13:14:50 +0800 Subject: [PATCH] fix: type issue --- .../s2-core/src/common/interface/basic.ts | 2 +- packages/s2-core/src/facet/base-facet.ts | 2 +- packages/s2-core/src/facet/header/corner.ts | 25 ++++++++----------- packages/s2-core/src/facet/header/row.ts | 12 +++------ packages/s2-core/src/sheet-type/index.ts | 3 ++- 5 files changed, 18 insertions(+), 26 deletions(-) diff --git a/packages/s2-core/src/common/interface/basic.ts b/packages/s2-core/src/common/interface/basic.ts index 1482512db1..5e78acfbb4 100644 --- a/packages/s2-core/src/common/interface/basic.ts +++ b/packages/s2-core/src/common/interface/basic.ts @@ -349,7 +349,7 @@ export interface SpreadSheetFacetCfg { // use in col header collapsedCols: Record; // hierarchy' type - hierarchyType: 'grid' | 'tree'; + hierarchyType: S2Options['hierarchyType']; // check if hierarchy is collapse hierarchyCollapse: boolean; // field's meta info diff --git a/packages/s2-core/src/facet/base-facet.ts b/packages/s2-core/src/facet/base-facet.ts index 7a5095c5a8..4e4893c0f1 100644 --- a/packages/s2-core/src/facet/base-facet.ts +++ b/packages/s2-core/src/facet/base-facet.ts @@ -755,7 +755,7 @@ export abstract class BaseFacet { } if (this.shouldPreventWheelEvent(optimizedDeltaX, optimizedDeltaY)) { - event.preventDefault(); + event?.preventDefault?.(); } cancelAnimationFrame(this.scrollFrameId); diff --git a/packages/s2-core/src/facet/header/corner.ts b/packages/s2-core/src/facet/header/corner.ts index 45aa0a8982..287d4001b4 100644 --- a/packages/s2-core/src/facet/header/corner.ts +++ b/packages/s2-core/src/facet/header/corner.ts @@ -17,14 +17,18 @@ import { CornerCell, KEY_TREE_ROWS_COLLAPSE_ALL, } from '../../index'; -import { LayoutResult, SpreadSheetFacetCfg } from '../../common/interface'; +import { + LayoutResult, + S2Options, + SpreadSheetFacetCfg, +} from '../../common/interface'; import { BaseHeader, BaseHeaderConfig, HIT_AREA } from './base'; import { CornerData, ResizeInfo } from './interface'; import { translateGroup } from '../utils'; export interface CornerHeaderConfig extends BaseHeaderConfig { // header's hierarchy type - hierarchyType: 'grid' | 'tree'; + hierarchyType: S2Options['hierarchyType']; // the hierarchy collapse or not hierarchyCollapse: boolean; // column fields @@ -305,12 +309,8 @@ export class CornerHeader extends BaseHeader { this.headerConfig.spreadsheet.isPivotMode() ) { // 只有交叉表才有icon - const { - hierarchyCollapse, - position, - height, - spreadsheet, - } = this.headerConfig; + const { hierarchyCollapse, position, height, spreadsheet } = + this.headerConfig; const colHeight = spreadsheet.options.style.colCfg.height; const icon = new GuiIcon({ type: hierarchyCollapse ? 'plus' : 'MinusSquare', @@ -337,13 +337,8 @@ export class CornerHeader extends BaseHeader { } private handleHotsSpotArea() { - const { - data, - position, - width, - height, - seriesNumberWidth, - } = this.headerConfig; + const { data, position, width, height, seriesNumberWidth } = + this.headerConfig; const prevResizer = this.headerConfig.spreadsheet.foregroundGroup.findById( KEY_GROUP_CORNER_RESIZER, ); diff --git a/packages/s2-core/src/facet/header/row.ts b/packages/s2-core/src/facet/header/row.ts index 9a833c11d8..02f4fa3ebc 100644 --- a/packages/s2-core/src/facet/header/row.ts +++ b/packages/s2-core/src/facet/header/row.ts @@ -6,10 +6,11 @@ import { DetailRowCell } from '../../cell/detail-row-cell'; import { Node } from '@/facet/layout/node'; import { BaseHeader, BaseHeaderConfig } from './base'; import { translateGroup } from '../utils'; +import { S2Options } from '../../common/interface'; export interface RowHeaderConfig extends BaseHeaderConfig { // type of hierarchy - hierarchyType: 'tree' | 'grid'; + hierarchyType: S2Options['hierarchyType']; // field ids that click to navigate linkFieldIds: string[]; // series number group's width, will be 0 when not exists @@ -96,13 +97,8 @@ export class RowHeader extends BaseHeader { } protected clip(): void { - const { - width, - height, - scrollX, - scrollY, - seriesNumberWidth, - } = this.headerConfig; + const { width, height, scrollX, scrollY, seriesNumberWidth } = + this.headerConfig; this.setClip({ type: 'rect', attrs: { diff --git a/packages/s2-core/src/sheet-type/index.ts b/packages/s2-core/src/sheet-type/index.ts index 25c61ff27b..c79cde42d1 100644 --- a/packages/s2-core/src/sheet-type/index.ts +++ b/packages/s2-core/src/sheet-type/index.ts @@ -27,6 +27,7 @@ import { Total, ShowProps, SpreadsheetMountContainer, + ThemeType, } from 'src/common/interface'; import { DataCell, BaseCell, RowCell, ColCell, CornerCell } from '../cell'; import { @@ -235,7 +236,7 @@ export class SpreadSheet extends EE { * @param type string * @param theme */ - public setTheme(theme: SpreadSheetTheme, type = 'default'): void { + public setTheme(theme: SpreadSheetTheme, type: ThemeType = 'default'): void { if (!getTheme(type)) { if (theme) { this.theme = registerTheme(type, theme);