@visactor/vtable 0.22.4-alpha.0 → 0.23.0
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/cjs/ListTable.d.ts +3 -3
- package/cjs/ListTable.js +40 -31
- package/cjs/ListTable.js.map +1 -1
- package/cjs/PivotTable.d.ts +1 -1
- package/cjs/PivotTable.js +19 -17
- package/cjs/PivotTable.js.map +1 -1
- package/cjs/core/BaseTable.d.ts +1 -0
- package/cjs/core/BaseTable.js +5 -1
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/core/TABLE_EVENT_TYPE.d.ts +5 -0
- package/cjs/core/TABLE_EVENT_TYPE.js +6 -1
- package/cjs/core/TABLE_EVENT_TYPE.js.map +1 -1
- package/cjs/core/tableHelper.js +1 -2
- package/cjs/core/tableHelper.js.map +1 -1
- package/cjs/data/CachedDataSource.d.ts +1 -0
- package/cjs/data/CachedDataSource.js +10 -6
- package/cjs/data/CachedDataSource.js.map +1 -1
- package/cjs/data/DataSource.d.ts +10 -3
- package/cjs/data/DataSource.js +159 -95
- package/cjs/data/DataSource.js.map +1 -1
- package/cjs/event/event.d.ts +2 -0
- package/cjs/event/event.js +29 -1
- package/cjs/event/event.js.map +1 -1
- package/cjs/event/listener/container-dom.js +78 -39
- package/cjs/event/listener/container-dom.js.map +1 -1
- package/cjs/event/listener/table-group.js +6 -5
- package/cjs/event/listener/table-group.js.map +1 -1
- package/cjs/event/media-click.js +2 -1
- package/cjs/event/sparkline-event.js +1 -2
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/layout/simple-header-layout.d.ts +7 -3
- package/cjs/layout/simple-header-layout.js +47 -35
- package/cjs/layout/simple-header-layout.js.map +1 -1
- package/cjs/scenegraph/component/table-component.js +12 -7
- package/cjs/scenegraph/component/table-component.js.map +1 -1
- package/cjs/scenegraph/layout/frozen.js +2 -2
- package/cjs/scenegraph/layout/frozen.js.map +1 -1
- package/cjs/scenegraph/scenegraph.d.ts +3 -0
- package/cjs/scenegraph/scenegraph.js +6 -3
- package/cjs/scenegraph/scenegraph.js.map +1 -1
- package/cjs/scenegraph/select/create-select-border.d.ts +1 -1
- package/cjs/scenegraph/select/create-select-border.js +24 -5
- package/cjs/scenegraph/select/create-select-border.js.map +1 -1
- package/cjs/scenegraph/select/delete-select-border.d.ts +1 -0
- package/cjs/scenegraph/select/delete-select-border.js +15 -4
- package/cjs/scenegraph/select/delete-select-border.js.map +1 -1
- package/cjs/scenegraph/select/move-select-border.js +3 -1
- package/cjs/scenegraph/select/move-select-border.js.map +1 -1
- package/cjs/scenegraph/select/update-select-border.js +9 -2
- package/cjs/scenegraph/select/update-select-border.js.map +1 -1
- package/cjs/state/cell-move/index.js +1 -1
- package/cjs/state/cell-move/index.js.map +1 -1
- package/cjs/state/resize/update-resize-column.js +1 -1
- package/cjs/state/resize/update-resize-column.js.map +1 -1
- package/cjs/state/select/update-position.js +39 -8
- package/cjs/state/select/update-position.js.map +1 -1
- package/cjs/state/state.d.ts +16 -0
- package/cjs/state/state.js +63 -14
- package/cjs/state/state.js.map +1 -1
- package/cjs/themes/component.js +1 -1
- package/cjs/themes/theme.js +4 -0
- package/cjs/themes/theme.js.map +1 -1
- package/cjs/tools/util.d.ts +0 -1
- package/cjs/tools/util.js +3 -13
- package/cjs/tools/util.js.map +1 -1
- package/cjs/ts-types/base-table.d.ts +4 -0
- package/cjs/ts-types/base-table.js.map +1 -1
- package/cjs/ts-types/events.d.ts +26 -0
- package/cjs/ts-types/events.js.map +1 -1
- package/cjs/ts-types/table-engine.d.ts +4 -4
- package/cjs/ts-types/table-engine.js.map +1 -1
- package/cjs/ts-types/theme.d.ts +1 -0
- package/cjs/ts-types/theme.js.map +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +936 -357
- package/dist/vtable.min.js +2 -2
- package/es/ListTable.d.ts +3 -3
- package/es/ListTable.js +41 -32
- package/es/ListTable.js.map +1 -1
- package/es/PivotTable.d.ts +1 -1
- package/es/PivotTable.js +19 -17
- package/es/PivotTable.js.map +1 -1
- package/es/core/BaseTable.d.ts +1 -0
- package/es/core/BaseTable.js +6 -2
- package/es/core/BaseTable.js.map +1 -1
- package/es/core/TABLE_EVENT_TYPE.d.ts +5 -0
- package/es/core/TABLE_EVENT_TYPE.js +6 -1
- package/es/core/TABLE_EVENT_TYPE.js.map +1 -1
- package/es/core/tableHelper.js +1 -2
- package/es/core/tableHelper.js.map +1 -1
- package/es/data/CachedDataSource.d.ts +1 -0
- package/es/data/CachedDataSource.js +9 -7
- package/es/data/CachedDataSource.js.map +1 -1
- package/es/data/DataSource.d.ts +10 -3
- package/es/data/DataSource.js +159 -95
- package/es/data/DataSource.js.map +1 -1
- package/es/event/event.d.ts +2 -0
- package/es/event/event.js +29 -1
- package/es/event/event.js.map +1 -1
- package/es/event/listener/container-dom.js +78 -39
- package/es/event/listener/container-dom.js.map +1 -1
- package/es/event/listener/table-group.js +6 -5
- package/es/event/listener/table-group.js.map +1 -1
- package/es/event/media-click.js +2 -1
- package/es/event/sparkline-event.js +1 -2
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/layout/simple-header-layout.d.ts +7 -3
- package/es/layout/simple-header-layout.js +47 -35
- package/es/layout/simple-header-layout.js.map +1 -1
- package/es/scenegraph/component/table-component.js +12 -7
- package/es/scenegraph/component/table-component.js.map +1 -1
- package/es/scenegraph/layout/frozen.js +2 -2
- package/es/scenegraph/layout/frozen.js.map +1 -1
- package/es/scenegraph/scenegraph.d.ts +3 -0
- package/es/scenegraph/scenegraph.js +7 -4
- package/es/scenegraph/scenegraph.js.map +1 -1
- package/es/scenegraph/select/create-select-border.d.ts +1 -1
- package/es/scenegraph/select/create-select-border.js +24 -5
- package/es/scenegraph/select/create-select-border.js.map +1 -1
- package/es/scenegraph/select/delete-select-border.d.ts +1 -0
- package/es/scenegraph/select/delete-select-border.js +12 -2
- package/es/scenegraph/select/delete-select-border.js.map +1 -1
- package/es/scenegraph/select/move-select-border.js +3 -1
- package/es/scenegraph/select/move-select-border.js.map +1 -1
- package/es/scenegraph/select/update-select-border.js +9 -2
- package/es/scenegraph/select/update-select-border.js.map +1 -1
- package/es/state/cell-move/index.js +1 -1
- package/es/state/cell-move/index.js.map +1 -1
- package/es/state/resize/update-resize-column.js +1 -1
- package/es/state/resize/update-resize-column.js.map +1 -1
- package/es/state/select/update-position.js +39 -8
- package/es/state/select/update-position.js.map +1 -1
- package/es/state/state.d.ts +16 -0
- package/es/state/state.js +63 -14
- package/es/state/state.js.map +1 -1
- package/es/themes/component.js +1 -1
- package/es/themes/theme.js +4 -0
- package/es/themes/theme.js.map +1 -1
- package/es/tools/util.d.ts +0 -1
- package/es/tools/util.js +0 -10
- package/es/tools/util.js.map +1 -1
- package/es/ts-types/base-table.d.ts +4 -0
- package/es/ts-types/base-table.js.map +1 -1
- package/es/ts-types/events.d.ts +26 -0
- package/es/ts-types/events.js.map +1 -1
- package/es/ts-types/table-engine.d.ts +4 -4
- package/es/ts-types/table-engine.js.map +1 -1
- package/es/ts-types/theme.d.ts +1 -0
- package/es/ts-types/theme.js.map +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +3 -3
package/es/themes/theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/themes/theme.ts"],"names":[],"mappings":"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","file":"theme.js","sourcesContent":["/* eslint-disable no-undef */\n/* eslint-disable sort-imports */\nimport type {\n ColorPropertyDefine,\n ColorsDef,\n ColorsPropertyDefine,\n ColumnIconOption,\n FrameStyle,\n ITableThemeDefine,\n InteractionStyle,\n LineClamp,\n LineDashsDef,\n LineDashsPropertyDefine,\n LineWidthsDef,\n LineWidthsPropertyDefine,\n PartialTableThemeDefine,\n RequiredTableThemeDefine,\n TextOverflow,\n ThemeStyle,\n // menuStyle,\n TableFrameStyle,\n PaddingsPropertyDefine,\n ScrollStyle,\n CursorPropertyDefine,\n TooltipStyle,\n MarkedPropertyDefine,\n UnderlinePropertyDefine,\n LineDashPropertyDefine,\n LineThroughPropertyDefine,\n FontSizePropertyDefine,\n FontFamilyPropertyDefine,\n FontWeightPropertyDefine,\n FontVariantPropertyDefine,\n FontStylePropertyDefine,\n TextAlignType,\n TextBaselineType\n} from '../ts-types';\nimport { getChainSafe } from '../tools/helper';\nimport { changeColor, ingoreNoneValueMerge, merge } from '../tools/util';\nimport {\n DEFAULTBGCOLOR,\n DEFAULTBORDERCOLOR,\n DEFAULTBORDERLINEDASH,\n DEFAULTBORDERLINEWIDTH,\n DEFAULTFONTCOLOR,\n DEFAULTFONTFAMILY,\n DEFAULTFONTSIZE\n} from '../tools/global';\nimport { defalutPoptipStyle, getAxisStyle } from './component';\n//private symbol\n// const _ = getSymbol();\n\nfunction getProp(obj: PartialTableThemeDefine, superObj: ITableThemeDefine, names: string[], defNames?: string[]): any {\n return (\n getChainSafe(obj, ...names) ??\n getChainSafe(superObj, ...names) ??\n (defNames && getChainSafe(obj, ...defNames)) ??\n (defNames && getChainSafe(superObj, ...defNames))\n );\n}\n\nexport class TableTheme implements ITableThemeDefine {\n private internalTheme: {\n obj: PartialTableThemeDefine;\n superTheme: ITableThemeDefine;\n };\n private _defaultStyle: RequiredTableThemeDefine['defaultStyle'] | null = null;\n private _header: ITableThemeDefine['headerStyle'] | null = null;\n private _cornerHeader: ITableThemeDefine['cornerHeaderStyle'] | null = null;\n private _cornerRightTopCell: ITableThemeDefine['cornerRightTopCellStyle'] | null = null;\n private _cornerLeftBottomCell: ITableThemeDefine['cornerLeftBottomCellStyle'] | null = null;\n private _cornerRightBottomCell: ITableThemeDefine['cornerRightBottomCellStyle'] | null = null;\n private _rightFrozen: ITableThemeDefine['rightFrozenStyle'] | null = null;\n private _bottomFrozen: ITableThemeDefine['bottomFrozenStyle'] | null = null;\n private _rowHeader: ITableThemeDefine['rowHeaderStyle'] | null = null;\n private _body: ITableThemeDefine['bodyStyle'] | null = null;\n private _scroll: ITableThemeDefine['scrollStyle'] | null = null;\n private _tooltip: ITableThemeDefine['tooltipStyle'] | null = null;\n private _frameStyle: ITableThemeDefine['frameStyle'] | null = null;\n private _columnResize: RequiredTableThemeDefine['columnResize'] | null = null;\n private _dragHeaderSplitLine: RequiredTableThemeDefine['dragHeaderSplitLine'] | null = null;\n private _frozenColumnLine: RequiredTableThemeDefine['frozenColumnLine'] | null = null;\n private _selectionStyle: RequiredTableThemeDefine['selectionStyle'] | null = null;\n\n private _axisStyle: RequiredTableThemeDefine['axisStyle'] | null = null;\n private _checkboxStyle: RequiredTableThemeDefine['checkboxStyle'] | null = null;\n private _textPopTipStyle: RequiredTableThemeDefine['textPopTipStyle'] | null = null;\n\n isPivot: boolean = false;\n\n constructor(obj: PartialTableThemeDefine | ITableThemeDefine, superTheme: ITableThemeDefine) {\n this.internalTheme = {\n obj,\n superTheme\n };\n }\n get font(): string {\n const { obj, superTheme } = this.internalTheme;\n return getProp(obj, superTheme, ['font'], ['bodyStyle', 'font']);\n }\n get underlayBackgroundColor(): string {\n const { obj, superTheme } = this.internalTheme;\n return getProp(obj, superTheme, ['underlayBackgroundColor']);\n }\n\n get cellInnerBorder(): boolean {\n const { obj, superTheme } = this.internalTheme;\n return getProp(obj, superTheme, ['cellInnerBorder']) ?? true;\n }\n\n get cellBorderClipDirection(): 'top-left' | 'bottom-right' {\n const { obj, superTheme } = this.internalTheme;\n return getProp(obj, superTheme, ['cellBorderClipDirection']) ?? 'top-left';\n }\n\n get _contentOffset(): number {\n const { obj, superTheme } = this.internalTheme;\n return getProp(obj, superTheme, ['_contentOffset']) ?? 0;\n }\n\n get defaultStyle(): RequiredTableThemeDefine['defaultStyle'] {\n // const defaultStyle = getProp(obj, superTheme, [\"defaultStyle\"]);\n if (!this._defaultStyle) {\n const { obj, superTheme } = this.internalTheme;\n const defaultStyle: ThemeStyle = ingoreNoneValueMerge({}, superTheme.defaultStyle, obj.defaultStyle);\n this._defaultStyle = {\n get fontSize(): FontSizePropertyDefine {\n return defaultStyle.fontSize ?? DEFAULTFONTSIZE;\n },\n get fontFamily(): FontFamilyPropertyDefine {\n return defaultStyle.fontFamily ?? DEFAULTFONTFAMILY;\n },\n get fontWeight(): FontWeightPropertyDefine | undefined {\n return defaultStyle.fontWeight;\n },\n get fontVariant(): FontVariantPropertyDefine | undefined {\n return defaultStyle.fontVariant;\n },\n get fontStyle(): FontStylePropertyDefine | undefined {\n return defaultStyle.fontStyle;\n },\n get bgColor(): ColorPropertyDefine {\n return defaultStyle.bgColor ?? DEFAULTBGCOLOR;\n },\n get color(): ColorPropertyDefine {\n return defaultStyle.color ?? DEFAULTFONTCOLOR;\n },\n get borderColor(): ColorsPropertyDefine {\n return defaultStyle.borderColor ?? DEFAULTBORDERCOLOR;\n },\n get borderLineWidth(): LineWidthsPropertyDefine | undefined {\n return defaultStyle.borderLineWidth ?? DEFAULTBORDERLINEWIDTH;\n },\n get borderLineDash(): LineDashsPropertyDefine | undefined {\n return defaultStyle.borderLineDash ?? DEFAULTBORDERLINEDASH;\n },\n get hover(): InteractionStyle | undefined {\n if (defaultStyle.hover) {\n return {\n get cellBgColor(): ColorPropertyDefine | undefined {\n return defaultStyle.hover?.cellBgColor ?? undefined;\n },\n // get cellBorderColor(): ColorsPropertyDefine | undefined {\n // return defaultStyle.hover?.cellBorderColor ?? undefined;\n // },\n // get cellBorderLineWidth(): LineWidthsPropertyDefine | undefined {\n // return defaultStyle.hover?.cellBorderLineWidth ?? undefined;\n // },\n get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n return (\n defaultStyle.hover?.inlineColumnBgColor ??\n (defaultStyle.hover?.cellBgColor && typeof defaultStyle.hover?.cellBgColor === 'string'\n ? changeColor(defaultStyle.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n },\n get inlineRowBgColor(): ColorPropertyDefine | undefined {\n return (\n defaultStyle.hover?.inlineRowBgColor ??\n (defaultStyle.hover?.cellBgColor && typeof defaultStyle.hover?.cellBgColor === 'string'\n ? changeColor(defaultStyle.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n }\n };\n }\n return undefined;\n },\n // get click(): InteractionStyle | undefined {\n // if (defaultStyle.click)\n // return {\n // get cellBgColor(): ColorPropertyDefine | undefined {\n // return defaultStyle.click?.cellBgColor ?? undefined;\n // },\n // get cellBorderColor(): ColorsPropertyDefine | undefined {\n // return defaultStyle.click?.cellBorderColor ?? undefined;\n // },\n // get cellBorderLineWidth(): LineWidthsPropertyDefine | undefined {\n // return defaultStyle.click?.cellBorderLineWidth ?? undefined;\n // },\n // // get cellBorderLineDash(): LineDashsPropertyDefine |undefined{\n // // return defaultStyle.click?.cellBorderLineDash??undefined\n // // },\n // get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n // return (\n // // defaultStyle.click?.inlineColumnBgColor ??\n // (defaultStyle.click?.cellBgColor &&\n // typeof defaultStyle.click?.cellBgColor === 'string'\n // ? changeColor(defaultStyle.click?.cellBgColor, 0.1, false)\n // : undefined) ?? undefined\n // );\n // },\n // get inlineRowBgColor(): ColorPropertyDefine | undefined {\n // return (\n // // defaultStyle.click?.inlineRowBgColor ??\n // (defaultStyle.click?.cellBgColor &&\n // typeof defaultStyle.click?.cellBgColor === 'string'\n // ? changeColor(defaultStyle.click?.cellBgColor, 0.1, false)\n // : undefined) ?? undefined\n // );\n // },\n // };\n // return undefined;\n // },\n get padding(): PaddingsPropertyDefine {\n return defaultStyle.padding ?? [10, 16, 10, 16];\n },\n get textAlign(): TextAlignType {\n return defaultStyle.textAlign ?? 'left';\n },\n get textBaseline(): TextBaselineType {\n return defaultStyle.textBaseline ?? 'middle';\n },\n get textOverflow(): TextOverflow {\n return defaultStyle.textOverflow ?? 'ellipsis';\n },\n get lineHeight(): number {\n return defaultStyle.lineHeight;\n },\n get autoWrapText(): boolean {\n return defaultStyle.autoWrapText ?? false;\n },\n get lineClamp(): LineClamp {\n return defaultStyle.lineClamp ?? 'auto';\n },\n get linkColor(): ColorPropertyDefine {\n return defaultStyle.linkColor ?? '#3772ff';\n },\n get cursor(): CursorPropertyDefine {\n return defaultStyle.cursor ?? 'auto';\n },\n get marked(): MarkedPropertyDefine {\n return defaultStyle.marked ?? false;\n },\n get underline(): UnderlinePropertyDefine {\n return defaultStyle.underline ?? false;\n },\n get underlineColor(): ColorPropertyDefine | undefined {\n return defaultStyle.underlineColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get underlineDash(): LineDashPropertyDefine | undefined {\n return defaultStyle.underlineDash;\n },\n get underlineOffset(): number | undefined {\n return defaultStyle.underlineOffset;\n },\n get lineThrough(): LineThroughPropertyDefine | undefined {\n return defaultStyle.lineThrough ?? false;\n },\n get lineThroughColor(): ColorPropertyDefine | undefined {\n return defaultStyle.lineThroughColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get lineThroughDash(): LineDashPropertyDefine | undefined {\n return defaultStyle.lineThroughDash;\n }\n };\n }\n return this._defaultStyle;\n }\n get headerStyle(): ITableThemeDefine['headerStyle'] {\n if (!this._header) {\n const { obj, superTheme } = this.internalTheme;\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge({}, this.defaultStyle, superTheme.headerStyle, obj.headerStyle);\n this._header = this.getStyle(header);\n }\n return this._header;\n }\n get cornerHeaderStyle(): ITableThemeDefine['cornerHeaderStyle'] {\n if (!this._cornerHeader) {\n const { obj, superTheme } = this.internalTheme;\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.cornerHeaderStyle,\n obj.cornerHeaderStyle // ?? obj.headerStyle\n );\n this._cornerHeader = this.getStyle(header);\n }\n return this._cornerHeader;\n }\n get cornerRightTopCellStyle(): ITableThemeDefine['cornerRightTopCellStyle'] {\n if (!this._cornerRightTopCell) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.cornerRightTopCellStyle && !obj.cornerRightTopCellStyle) {\n return this._cornerRightTopCell;\n }\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.cornerRightTopCellStyle,\n obj.cornerRightTopCellStyle // ?? obj.headerStyle\n );\n this._cornerRightTopCell = this.getStyle(header);\n }\n return this._cornerRightTopCell;\n }\n get cornerLeftBottomCellStyle(): ITableThemeDefine['cornerLeftBottomCellStyle'] {\n if (!this._cornerLeftBottomCell) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.cornerLeftBottomCellStyle && !obj.cornerLeftBottomCellStyle) {\n return this._cornerLeftBottomCell;\n }\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.cornerLeftBottomCellStyle,\n obj.cornerLeftBottomCellStyle // ?? obj.headerStyle\n );\n this._cornerLeftBottomCell = this.getStyle(header);\n }\n return this._cornerLeftBottomCell;\n }\n get cornerRightBottomCellStyle(): ITableThemeDefine['cornerRightBottomCellStyle'] {\n if (!this._cornerRightBottomCell) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.cornerRightBottomCellStyle && !obj.cornerRightBottomCellStyle) {\n return this._cornerRightBottomCell;\n }\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.cornerRightBottomCellStyle,\n obj.cornerRightBottomCellStyle // ?? obj.headerStyle\n );\n this._cornerRightBottomCell = this.getStyle(header);\n }\n return this._cornerRightBottomCell;\n }\n get rightFrozenStyle(): ITableThemeDefine['rightFrozenStyle'] {\n if (!this._rightFrozen) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.rightFrozenStyle && !obj.rightFrozenStyle) {\n return this._rightFrozen;\n }\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n this.rowHeaderStyle,\n superTheme.rightFrozenStyle,\n obj.rightFrozenStyle // ?? obj.headerStyle\n );\n this._rightFrozen = this.getStyle(header);\n }\n return this._rightFrozen;\n }\n get bottomFrozenStyle(): ITableThemeDefine['bottomFrozenStyle'] {\n if (!this._bottomFrozen) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.bottomFrozenStyle && !obj.bottomFrozenStyle) {\n return this._bottomFrozen;\n }\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n this.headerStyle,\n superTheme.bottomFrozenStyle,\n obj.bottomFrozenStyle // ?? obj.headerStyle\n );\n this._bottomFrozen = this.getStyle(header);\n }\n return this._bottomFrozen;\n }\n get rowHeaderStyle(): ITableThemeDefine['rowHeaderStyle'] {\n if (!this._rowHeader) {\n const { obj, superTheme } = this.internalTheme;\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.rowHeaderStyle,\n obj.rowHeaderStyle ?? (this.isPivot ? null : obj.headerStyle) // not for pivot\n );\n this._rowHeader = this.getStyle(header);\n }\n return this._rowHeader;\n }\n get bodyStyle(): ITableThemeDefine['bodyStyle'] {\n if (!this._body) {\n const { obj, superTheme } = this.internalTheme;\n // const body = getProp(obj, superTheme, [\"body\"]);\n const body: ThemeStyle = ingoreNoneValueMerge({}, this.defaultStyle, superTheme.bodyStyle, obj.bodyStyle);\n this._body = this.getStyle(body);\n }\n\n return this._body;\n }\n\n get frameStyle(): ITableThemeDefine['frameStyle'] {\n if (!this._frameStyle) {\n const { obj, superTheme } = this.internalTheme;\n const frameStyle: TableFrameStyle = ingoreNoneValueMerge({}, superTheme.frameStyle, obj.frameStyle);\n this._frameStyle = {\n get borderColor(): ColorsDef | undefined {\n return frameStyle.borderColor;\n },\n get borderLineWidth(): LineWidthsDef | undefined {\n return frameStyle.borderLineWidth;\n },\n get borderLineDash(): LineDashsDef | undefined {\n return frameStyle.borderLineDash;\n },\n get innerBorder(): boolean | undefined {\n return frameStyle.innerBorder;\n },\n get shadowBlur(): number {\n return frameStyle.shadowBlur;\n },\n get shadowColor(): string {\n return frameStyle.shadowColor;\n },\n get shadowOffsetX(): number {\n return frameStyle.shadowOffsetX;\n },\n get shadowOffsetY(): number {\n return frameStyle.shadowOffsetY;\n },\n get cornerRadius(): number {\n return frameStyle.cornerRadius;\n }\n };\n }\n return this._frameStyle;\n }\n get scrollStyle(): ITableThemeDefine['scrollStyle'] {\n if (!this._scroll) {\n const { obj, superTheme } = this.internalTheme;\n const scroll: ScrollStyle = ingoreNoneValueMerge({}, superTheme.scrollStyle, obj.scrollStyle);\n this._scroll = {\n get scrollSliderColor(): string | undefined {\n return scroll.scrollSliderColor ?? '#C0C0C0';\n },\n get scrollRailColor(): string | undefined {\n return scroll.scrollRailColor;\n },\n get visible(): 'always' | 'scrolling' | 'none' | 'focus' {\n return scroll.visible ?? 'scrolling';\n },\n get width(): number | undefined {\n return scroll.width ?? 7;\n },\n get hoverOn(): boolean | undefined {\n return scroll.hoverOn ?? true;\n }\n };\n }\n\n return this._scroll;\n }\n get tooltipStyle(): ITableThemeDefine['tooltipStyle'] {\n if (!this._tooltip) {\n const { obj, superTheme } = this.internalTheme;\n const tooltip: TooltipStyle = ingoreNoneValueMerge({}, superTheme.tooltipStyle, obj.tooltipStyle);\n this._tooltip = {\n get fontFamily(): string | undefined {\n return tooltip.fontFamily ?? DEFAULTFONTFAMILY;\n },\n get fontSize(): number | undefined {\n return tooltip.fontSize ?? DEFAULTFONTSIZE;\n },\n get bgColor(): string | undefined {\n return tooltip.bgColor ?? '#000';\n },\n get padding(): number[] {\n return tooltip.padding ?? [6, 8];\n },\n get color(): string | undefined {\n return tooltip.color ?? '#FFF';\n }\n };\n }\n\n return this._tooltip;\n }\n\n /**\n * resize 分割线样式\n */\n get columnResize(): RequiredTableThemeDefine['columnResize'] {\n if (!this._columnResize) {\n const { obj, superTheme } = this.internalTheme;\n const columnResize: RequiredTableThemeDefine['columnResize'] = ingoreNoneValueMerge(\n {},\n superTheme.columnResize,\n obj.columnResize\n );\n this._columnResize = {\n get lineColor(): ColorPropertyDefine {\n return columnResize.lineColor ?? '#416EFF';\n },\n get bgColor(): ColorPropertyDefine {\n return columnResize.bgColor ?? '#D9E2FF';\n },\n get lineWidth(): number {\n return columnResize.lineWidth ?? 1;\n },\n get width(): number {\n return columnResize.width ?? columnResize.lineWidth + 2;\n },\n get labelColor(): string {\n return columnResize.labelColor ?? '#FFF';\n },\n get labelFontSize(): number {\n return columnResize.labelFontSize ?? 10;\n },\n get labelFontFamily(): string {\n return columnResize.labelFontFamily ?? 'sans-serif';\n },\n get labelBackgroundFill(): string {\n return columnResize.labelBackgroundFill ?? '#3073F2';\n },\n get labelBackgroundCornerRadius(): number {\n return columnResize.labelBackgroundCornerRadius ?? 5;\n }\n };\n }\n return this._columnResize;\n }\n /**\n * 移位 分割线样式\n */\n get dragHeaderSplitLine(): RequiredTableThemeDefine['dragHeaderSplitLine'] {\n if (!this._dragHeaderSplitLine) {\n const { obj, superTheme } = this.internalTheme;\n const dragHeaderSplitLine: RequiredTableThemeDefine['dragHeaderSplitLine'] = ingoreNoneValueMerge(\n {},\n superTheme.dragHeaderSplitLine,\n obj.dragHeaderSplitLine\n );\n this._dragHeaderSplitLine = {\n get lineColor(): ColorPropertyDefine {\n return dragHeaderSplitLine.lineColor ?? 'blue';\n },\n // get bgColor(): ColorPropertyDefine {\n // return dragHeaderSplitLine.bgColor ?? dragHeaderSplitLine.lineColor;\n // },\n get lineWidth(): number {\n return dragHeaderSplitLine.lineWidth ?? 2;\n },\n // get width(): number {\n // return dragHeaderSplitLine.width ?? dragHeaderSplitLine.lineWidth;\n // },\n get shadowBlockColor(): string {\n return dragHeaderSplitLine.shadowBlockColor ?? 'rgba(204,204,204,0.3)';\n }\n };\n }\n return this._dragHeaderSplitLine;\n }\n get frozenColumnLine(): RequiredTableThemeDefine['frozenColumnLine'] {\n // const { obj, superTheme } = this.internalTheme;\n // const that = this;\n // const frozenColumnLine = getProp(obj, superTheme, [\n // \"frozenColumnLine\",\n // ]);\n if (!this._frozenColumnLine) {\n const { obj, superTheme } = this.internalTheme;\n const frozenColumnLine: RequiredTableThemeDefine['frozenColumnLine'] = ingoreNoneValueMerge(\n {},\n superTheme.frozenColumnLine,\n obj.frozenColumnLine\n );\n this._frozenColumnLine = {\n get shadow(): { width: number; startColor: string; endColor: string } | undefined {\n if (frozenColumnLine.shadow) {\n return {\n get width(): number {\n return frozenColumnLine.shadow?.width ?? 24;\n },\n get startColor(): string {\n return frozenColumnLine.shadow?.startColor ?? 'rgba(00, 24, 47, 0.06)';\n },\n get endColor(): string {\n return frozenColumnLine.shadow?.endColor ?? 'rgba(00, 24, 47, 0)';\n }\n };\n }\n return undefined;\n },\n get border():\n | {\n lineColor: ColorPropertyDefine;\n bgColor?: ColorPropertyDefine;\n lineWidth: number;\n width?: number;\n }\n | undefined {\n if (frozenColumnLine.border) {\n return {\n get lineColor(): ColorPropertyDefine {\n return frozenColumnLine.border?.lineColor ?? 'rgba(00, 24, 47, 0.06)';\n },\n get bgColor(): ColorPropertyDefine {\n return (\n frozenColumnLine.border?.bgColor ?? frozenColumnLine.border?.lineColor ?? 'rgba(00, 24, 47, 0.06)'\n );\n },\n get lineWidth(): number {\n return frozenColumnLine.border?.lineWidth ?? 4;\n },\n get width(): number {\n return frozenColumnLine.border?.width ?? frozenColumnLine.border?.lineWidth ?? 4;\n }\n };\n }\n return undefined;\n }\n };\n }\n return this._frozenColumnLine;\n }\n get selectionStyle(): RequiredTableThemeDefine['selectionStyle'] {\n if (!this._selectionStyle) {\n const { obj, superTheme } = this.internalTheme;\n const selectionStyle: RequiredTableThemeDefine['selectionStyle'] = ingoreNoneValueMerge(\n {},\n superTheme.selectionStyle,\n obj.selectionStyle\n );\n this._selectionStyle = {\n get cellBgColor(): string | undefined {\n return selectionStyle?.cellBgColor ?? 'rgba(0, 0, 255,0.1)';\n },\n get cellBorderColor(): string | undefined {\n return selectionStyle?.cellBorderColor ?? '#3073f2';\n },\n get cellBorderLineWidth(): number | undefined {\n return selectionStyle?.cellBorderLineWidth ?? 2;\n }\n };\n }\n return this._selectionStyle;\n }\n\n get axisStyle(): RequiredTableThemeDefine['axisStyle'] {\n if (!this._axisStyle) {\n const { obj, superTheme } = this.internalTheme;\n const axisStyle: RequiredTableThemeDefine['axisStyle'] = ingoreNoneValueMerge(\n {},\n superTheme.axisStyle,\n obj.axisStyle\n );\n this._axisStyle = getAxisStyle(axisStyle);\n }\n return this._axisStyle;\n }\n\n get checkboxStyle(): RequiredTableThemeDefine['checkboxStyle'] {\n if (!this._checkboxStyle) {\n const { obj, superTheme } = this.internalTheme;\n const checkboxStyle: RequiredTableThemeDefine['checkboxStyle'] = ingoreNoneValueMerge(\n {},\n superTheme.checkboxStyle,\n obj.checkboxStyle\n );\n this._checkboxStyle = checkboxStyle;\n }\n return this._checkboxStyle;\n }\n\n get textPopTipStyle(): RequiredTableThemeDefine['textPopTipStyle'] {\n if (!this._textPopTipStyle) {\n const { obj, superTheme } = this.internalTheme;\n const textPopTipStyle: RequiredTableThemeDefine['textPopTipStyle'] = ingoreNoneValueMerge(\n {},\n defalutPoptipStyle,\n superTheme.textPopTipStyle,\n obj.textPopTipStyle\n );\n this._textPopTipStyle = textPopTipStyle;\n }\n return this._textPopTipStyle;\n }\n\n hasProperty(names: string[]): boolean {\n const { obj, superTheme } = this.internalTheme;\n return hasThemeProperty(obj, names) || hasThemeProperty(superTheme, names);\n }\n extends(obj: PartialTableThemeDefine): TableTheme {\n return new TableTheme(obj, this);\n }\n private getStyle(style: ThemeStyle) {\n return {\n get fontSize(): FontSizePropertyDefine | undefined {\n return style.fontSize;\n },\n get fontFamily(): FontFamilyPropertyDefine | undefined {\n return style.fontFamily;\n },\n get fontWeight(): FontWeightPropertyDefine | undefined {\n return style.fontWeight;\n },\n get fontVariant(): FontVariantPropertyDefine | undefined {\n return style.fontVariant;\n },\n get fontStyle(): FontStylePropertyDefine | undefined {\n return style.fontStyle;\n },\n get bgColor(): ColorPropertyDefine | undefined {\n return style.bgColor;\n },\n get color(): ColorPropertyDefine | undefined {\n return style.color;\n },\n get borderColor(): ColorsPropertyDefine | undefined {\n return style.borderColor;\n },\n get borderLineWidth(): LineWidthsPropertyDefine | undefined {\n return style.borderLineWidth;\n },\n get borderLineDash(): LineDashsPropertyDefine | undefined {\n return style.borderLineDash;\n },\n get hover(): InteractionStyle | undefined {\n if (style.hover) {\n return {\n get cellBgColor(): ColorPropertyDefine | undefined {\n return style.hover?.cellBgColor ?? undefined;\n },\n // get cellBorderColor(): ColorsPropertyDefine | undefined {\n // return style.hover?.cellBorderColor ?? undefined;\n // },\n // get cellBorderLineWidth(): LineWidthsPropertyDefine | undefined {\n // return style.hover?.cellBorderLineWidth ?? undefined;\n // },\n get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n return (\n style.hover?.inlineColumnBgColor ??\n (style.hover?.cellBgColor && typeof style.hover?.cellBgColor === 'string'\n ? changeColor(style.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n },\n get inlineRowBgColor(): ColorPropertyDefine | undefined {\n return (\n style.hover?.inlineRowBgColor ??\n (style.hover?.cellBgColor && typeof style.hover?.cellBgColor === 'string'\n ? changeColor(style.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n }\n };\n }\n return undefined;\n },\n // get click(): InteractionStyle | undefined {\n // if (style.click)\n // return {\n // get cellBgColor(): ColorPropertyDefine | undefined {\n // return style.click?.cellBgColor ?? undefined;\n // },\n // get cellBorderColor(): ColorsPropertyDefine | undefined {\n // return style.click?.cellBorderColor ?? undefined;\n // },\n // get cellBorderLineWidth(): LineWidthsPropertyDefine | undefined {\n // return style.click?.cellBorderLineWidth ?? undefined;\n // },\n // // get cellBorderLineDash(): LineDashsPropertyDefine |undefined{\n // // return style.click?.cellBorderLineDash??undefined\n // // },\n // get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n // return (\n // // style.click?.inlineColumnBgColor ??\n // (style.click?.cellBgColor && typeof style.click?.cellBgColor === 'string'\n // ? changeColor(style.click?.cellBgColor, 0.1, false)\n // : undefined) ?? undefined\n // );\n // },\n // get inlineRowBgColor(): ColorPropertyDefine | undefined {\n // return (\n // // style.click?.inlineRowBgColor ??\n // (style.click?.cellBgColor && typeof style.click?.cellBgColor === 'string'\n // ? changeColor(style.click?.cellBgColor, 0.1, false)\n // : undefined) ?? undefined\n // );\n // },\n // };\n // return undefined;\n // },\n get frameStyle(): FrameStyle | undefined {\n if (style.frameStyle) {\n return {\n get borderColor(): ColorsDef | undefined {\n return style.frameStyle?.borderColor ?? undefined;\n },\n get borderLineWidth(): LineWidthsDef | undefined {\n return style.frameStyle?.borderLineWidth ?? undefined;\n },\n get borderLineDash(): LineDashsDef | undefined {\n return style.frameStyle?.borderLineDash ?? undefined;\n }\n };\n }\n return undefined;\n },\n get padding(): PaddingsPropertyDefine | undefined {\n return style.padding;\n },\n get textAlign(): TextAlignType | undefined {\n return style.textAlign;\n },\n get textBaseline(): TextBaselineType | undefined {\n return style.textBaseline;\n },\n get textOverflow(): TextOverflow | undefined {\n return style.textOverflow;\n },\n get lineHeight(): number | undefined {\n return style.lineHeight;\n },\n get autoWrapText(): boolean | undefined {\n return style.autoWrapText;\n },\n get lineClamp(): LineClamp | undefined {\n return style.lineClamp;\n },\n get linkColor(): ColorPropertyDefine | undefined {\n return style.linkColor;\n },\n get cursor(): CursorPropertyDefine | undefined {\n return style.cursor;\n },\n get textStick(): boolean | undefined {\n return style.textStick;\n },\n get marked(): MarkedPropertyDefine | undefined {\n return style.marked;\n },\n get underline(): UnderlinePropertyDefine {\n return style.underline ?? false;\n },\n get underlineColor(): ColorPropertyDefine | undefined {\n return style.underlineColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get underlineDash(): LineDashPropertyDefine | undefined {\n return style.underlineDash;\n },\n get underlineOffset(): number | undefined {\n return style.underlineOffset;\n },\n get lineThrough(): LineThroughPropertyDefine | undefined {\n return style.lineThrough ?? false;\n },\n get lineThroughColor(): ColorPropertyDefine | undefined {\n return style.lineThroughColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get lineThroughDash(): LineDashPropertyDefine | undefined {\n return style.lineThroughDash;\n }\n };\n }\n}\n\nfunction hasThemeProperty(obj: PartialTableThemeDefine, names: string[]): boolean {\n if (obj instanceof TableTheme) {\n return obj.hasProperty(names);\n }\n\n let o: any = obj;\n if (!o) {\n return false;\n }\n for (let index = 0; index < names.length; index++) {\n const name = names[index];\n o = o[name];\n if (!o) {\n return false;\n }\n }\n return !!o;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/themes/theme.ts"],"names":[],"mappings":"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","file":"theme.js","sourcesContent":["/* eslint-disable no-undef */\n/* eslint-disable sort-imports */\nimport type {\n ColorPropertyDefine,\n ColorsDef,\n ColorsPropertyDefine,\n ColumnIconOption,\n FrameStyle,\n ITableThemeDefine,\n InteractionStyle,\n LineClamp,\n LineDashsDef,\n LineDashsPropertyDefine,\n LineWidthsDef,\n LineWidthsPropertyDefine,\n PartialTableThemeDefine,\n RequiredTableThemeDefine,\n TextOverflow,\n ThemeStyle,\n // menuStyle,\n TableFrameStyle,\n PaddingsPropertyDefine,\n ScrollStyle,\n CursorPropertyDefine,\n TooltipStyle,\n MarkedPropertyDefine,\n UnderlinePropertyDefine,\n LineDashPropertyDefine,\n LineThroughPropertyDefine,\n FontSizePropertyDefine,\n FontFamilyPropertyDefine,\n FontWeightPropertyDefine,\n FontVariantPropertyDefine,\n FontStylePropertyDefine,\n TextAlignType,\n TextBaselineType\n} from '../ts-types';\nimport { getChainSafe } from '../tools/helper';\nimport { changeColor, ingoreNoneValueMerge, merge } from '../tools/util';\nimport {\n DEFAULTBGCOLOR,\n DEFAULTBORDERCOLOR,\n DEFAULTBORDERLINEDASH,\n DEFAULTBORDERLINEWIDTH,\n DEFAULTFONTCOLOR,\n DEFAULTFONTFAMILY,\n DEFAULTFONTSIZE\n} from '../tools/global';\nimport { defalutPoptipStyle, getAxisStyle } from './component';\n//private symbol\n// const _ = getSymbol();\n\nfunction getProp(obj: PartialTableThemeDefine, superObj: ITableThemeDefine, names: string[], defNames?: string[]): any {\n return (\n getChainSafe(obj, ...names) ??\n getChainSafe(superObj, ...names) ??\n (defNames && getChainSafe(obj, ...defNames)) ??\n (defNames && getChainSafe(superObj, ...defNames))\n );\n}\n\nexport class TableTheme implements ITableThemeDefine {\n private internalTheme: {\n obj: PartialTableThemeDefine;\n superTheme: ITableThemeDefine;\n };\n private _defaultStyle: RequiredTableThemeDefine['defaultStyle'] | null = null;\n private _header: ITableThemeDefine['headerStyle'] | null = null;\n private _cornerHeader: ITableThemeDefine['cornerHeaderStyle'] | null = null;\n private _cornerRightTopCell: ITableThemeDefine['cornerRightTopCellStyle'] | null = null;\n private _cornerLeftBottomCell: ITableThemeDefine['cornerLeftBottomCellStyle'] | null = null;\n private _cornerRightBottomCell: ITableThemeDefine['cornerRightBottomCellStyle'] | null = null;\n private _rightFrozen: ITableThemeDefine['rightFrozenStyle'] | null = null;\n private _bottomFrozen: ITableThemeDefine['bottomFrozenStyle'] | null = null;\n private _rowHeader: ITableThemeDefine['rowHeaderStyle'] | null = null;\n private _body: ITableThemeDefine['bodyStyle'] | null = null;\n private _scroll: ITableThemeDefine['scrollStyle'] | null = null;\n private _tooltip: ITableThemeDefine['tooltipStyle'] | null = null;\n private _frameStyle: ITableThemeDefine['frameStyle'] | null = null;\n private _columnResize: RequiredTableThemeDefine['columnResize'] | null = null;\n private _dragHeaderSplitLine: RequiredTableThemeDefine['dragHeaderSplitLine'] | null = null;\n private _frozenColumnLine: RequiredTableThemeDefine['frozenColumnLine'] | null = null;\n private _selectionStyle: RequiredTableThemeDefine['selectionStyle'] | null = null;\n\n private _axisStyle: RequiredTableThemeDefine['axisStyle'] | null = null;\n private _checkboxStyle: RequiredTableThemeDefine['checkboxStyle'] | null = null;\n private _textPopTipStyle: RequiredTableThemeDefine['textPopTipStyle'] | null = null;\n\n isPivot: boolean = false;\n\n constructor(obj: PartialTableThemeDefine | ITableThemeDefine, superTheme: ITableThemeDefine) {\n this.internalTheme = {\n obj,\n superTheme\n };\n }\n get font(): string {\n const { obj, superTheme } = this.internalTheme;\n return getProp(obj, superTheme, ['font'], ['bodyStyle', 'font']);\n }\n get underlayBackgroundColor(): string {\n const { obj, superTheme } = this.internalTheme;\n return getProp(obj, superTheme, ['underlayBackgroundColor']);\n }\n\n get cellInnerBorder(): boolean {\n const { obj, superTheme } = this.internalTheme;\n return getProp(obj, superTheme, ['cellInnerBorder']) ?? true;\n }\n\n get cellBorderClipDirection(): 'top-left' | 'bottom-right' {\n const { obj, superTheme } = this.internalTheme;\n return getProp(obj, superTheme, ['cellBorderClipDirection']) ?? 'top-left';\n }\n\n get _contentOffset(): number {\n const { obj, superTheme } = this.internalTheme;\n return getProp(obj, superTheme, ['_contentOffset']) ?? 0;\n }\n\n get defaultStyle(): RequiredTableThemeDefine['defaultStyle'] {\n // const defaultStyle = getProp(obj, superTheme, [\"defaultStyle\"]);\n if (!this._defaultStyle) {\n const { obj, superTheme } = this.internalTheme;\n const defaultStyle: ThemeStyle = ingoreNoneValueMerge({}, superTheme.defaultStyle, obj.defaultStyle);\n this._defaultStyle = {\n get fontSize(): FontSizePropertyDefine {\n return defaultStyle.fontSize ?? DEFAULTFONTSIZE;\n },\n get fontFamily(): FontFamilyPropertyDefine {\n return defaultStyle.fontFamily ?? DEFAULTFONTFAMILY;\n },\n get fontWeight(): FontWeightPropertyDefine | undefined {\n return defaultStyle.fontWeight;\n },\n get fontVariant(): FontVariantPropertyDefine | undefined {\n return defaultStyle.fontVariant;\n },\n get fontStyle(): FontStylePropertyDefine | undefined {\n return defaultStyle.fontStyle;\n },\n get bgColor(): ColorPropertyDefine {\n return defaultStyle.bgColor ?? DEFAULTBGCOLOR;\n },\n get color(): ColorPropertyDefine {\n return defaultStyle.color ?? DEFAULTFONTCOLOR;\n },\n get borderColor(): ColorsPropertyDefine {\n return defaultStyle.borderColor ?? DEFAULTBORDERCOLOR;\n },\n get borderLineWidth(): LineWidthsPropertyDefine | undefined {\n return defaultStyle.borderLineWidth ?? DEFAULTBORDERLINEWIDTH;\n },\n get borderLineDash(): LineDashsPropertyDefine | undefined {\n return defaultStyle.borderLineDash ?? DEFAULTBORDERLINEDASH;\n },\n get hover(): InteractionStyle | undefined {\n if (defaultStyle.hover) {\n return {\n get cellBgColor(): ColorPropertyDefine | undefined {\n return defaultStyle.hover?.cellBgColor ?? undefined;\n },\n // get cellBorderColor(): ColorsPropertyDefine | undefined {\n // return defaultStyle.hover?.cellBorderColor ?? undefined;\n // },\n // get cellBorderLineWidth(): LineWidthsPropertyDefine | undefined {\n // return defaultStyle.hover?.cellBorderLineWidth ?? undefined;\n // },\n get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n return (\n defaultStyle.hover?.inlineColumnBgColor ??\n (defaultStyle.hover?.cellBgColor && typeof defaultStyle.hover?.cellBgColor === 'string'\n ? changeColor(defaultStyle.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n },\n get inlineRowBgColor(): ColorPropertyDefine | undefined {\n return (\n defaultStyle.hover?.inlineRowBgColor ??\n (defaultStyle.hover?.cellBgColor && typeof defaultStyle.hover?.cellBgColor === 'string'\n ? changeColor(defaultStyle.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n }\n };\n }\n return undefined;\n },\n // get click(): InteractionStyle | undefined {\n // if (defaultStyle.click)\n // return {\n // get cellBgColor(): ColorPropertyDefine | undefined {\n // return defaultStyle.click?.cellBgColor ?? undefined;\n // },\n // get cellBorderColor(): ColorsPropertyDefine | undefined {\n // return defaultStyle.click?.cellBorderColor ?? undefined;\n // },\n // get cellBorderLineWidth(): LineWidthsPropertyDefine | undefined {\n // return defaultStyle.click?.cellBorderLineWidth ?? undefined;\n // },\n // // get cellBorderLineDash(): LineDashsPropertyDefine |undefined{\n // // return defaultStyle.click?.cellBorderLineDash??undefined\n // // },\n // get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n // return (\n // // defaultStyle.click?.inlineColumnBgColor ??\n // (defaultStyle.click?.cellBgColor &&\n // typeof defaultStyle.click?.cellBgColor === 'string'\n // ? changeColor(defaultStyle.click?.cellBgColor, 0.1, false)\n // : undefined) ?? undefined\n // );\n // },\n // get inlineRowBgColor(): ColorPropertyDefine | undefined {\n // return (\n // // defaultStyle.click?.inlineRowBgColor ??\n // (defaultStyle.click?.cellBgColor &&\n // typeof defaultStyle.click?.cellBgColor === 'string'\n // ? changeColor(defaultStyle.click?.cellBgColor, 0.1, false)\n // : undefined) ?? undefined\n // );\n // },\n // };\n // return undefined;\n // },\n get padding(): PaddingsPropertyDefine {\n return defaultStyle.padding ?? [10, 16, 10, 16];\n },\n get textAlign(): TextAlignType {\n return defaultStyle.textAlign ?? 'left';\n },\n get textBaseline(): TextBaselineType {\n return defaultStyle.textBaseline ?? 'middle';\n },\n get textOverflow(): TextOverflow {\n return defaultStyle.textOverflow ?? 'ellipsis';\n },\n get lineHeight(): number {\n return defaultStyle.lineHeight;\n },\n get autoWrapText(): boolean {\n return defaultStyle.autoWrapText ?? false;\n },\n get lineClamp(): LineClamp {\n return defaultStyle.lineClamp ?? 'auto';\n },\n get linkColor(): ColorPropertyDefine {\n return defaultStyle.linkColor ?? '#3772ff';\n },\n get cursor(): CursorPropertyDefine {\n return defaultStyle.cursor ?? 'auto';\n },\n get marked(): MarkedPropertyDefine {\n return defaultStyle.marked ?? false;\n },\n get underline(): UnderlinePropertyDefine {\n return defaultStyle.underline ?? false;\n },\n get underlineColor(): ColorPropertyDefine | undefined {\n return defaultStyle.underlineColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get underlineDash(): LineDashPropertyDefine | undefined {\n return defaultStyle.underlineDash;\n },\n get underlineOffset(): number | undefined {\n return defaultStyle.underlineOffset;\n },\n get lineThrough(): LineThroughPropertyDefine | undefined {\n return defaultStyle.lineThrough ?? false;\n },\n get lineThroughColor(): ColorPropertyDefine | undefined {\n return defaultStyle.lineThroughColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get lineThroughDash(): LineDashPropertyDefine | undefined {\n return defaultStyle.lineThroughDash;\n }\n };\n }\n return this._defaultStyle;\n }\n get headerStyle(): ITableThemeDefine['headerStyle'] {\n if (!this._header) {\n const { obj, superTheme } = this.internalTheme;\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge({}, this.defaultStyle, superTheme.headerStyle, obj.headerStyle);\n this._header = this.getStyle(header);\n }\n return this._header;\n }\n get cornerHeaderStyle(): ITableThemeDefine['cornerHeaderStyle'] {\n if (!this._cornerHeader) {\n const { obj, superTheme } = this.internalTheme;\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.cornerHeaderStyle,\n obj.cornerHeaderStyle // ?? obj.headerStyle\n );\n this._cornerHeader = this.getStyle(header);\n }\n return this._cornerHeader;\n }\n get cornerRightTopCellStyle(): ITableThemeDefine['cornerRightTopCellStyle'] {\n if (!this._cornerRightTopCell) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.cornerRightTopCellStyle && !obj.cornerRightTopCellStyle) {\n return this._cornerRightTopCell;\n }\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.cornerRightTopCellStyle,\n obj.cornerRightTopCellStyle // ?? obj.headerStyle\n );\n this._cornerRightTopCell = this.getStyle(header);\n }\n return this._cornerRightTopCell;\n }\n get cornerLeftBottomCellStyle(): ITableThemeDefine['cornerLeftBottomCellStyle'] {\n if (!this._cornerLeftBottomCell) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.cornerLeftBottomCellStyle && !obj.cornerLeftBottomCellStyle) {\n return this._cornerLeftBottomCell;\n }\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.cornerLeftBottomCellStyle,\n obj.cornerLeftBottomCellStyle // ?? obj.headerStyle\n );\n this._cornerLeftBottomCell = this.getStyle(header);\n }\n return this._cornerLeftBottomCell;\n }\n get cornerRightBottomCellStyle(): ITableThemeDefine['cornerRightBottomCellStyle'] {\n if (!this._cornerRightBottomCell) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.cornerRightBottomCellStyle && !obj.cornerRightBottomCellStyle) {\n return this._cornerRightBottomCell;\n }\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.cornerRightBottomCellStyle,\n obj.cornerRightBottomCellStyle // ?? obj.headerStyle\n );\n this._cornerRightBottomCell = this.getStyle(header);\n }\n return this._cornerRightBottomCell;\n }\n get rightFrozenStyle(): ITableThemeDefine['rightFrozenStyle'] {\n if (!this._rightFrozen) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.rightFrozenStyle && !obj.rightFrozenStyle) {\n return this._rightFrozen;\n }\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n this.rowHeaderStyle,\n superTheme.rightFrozenStyle,\n obj.rightFrozenStyle // ?? obj.headerStyle\n );\n this._rightFrozen = this.getStyle(header);\n }\n return this._rightFrozen;\n }\n get bottomFrozenStyle(): ITableThemeDefine['bottomFrozenStyle'] {\n if (!this._bottomFrozen) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.bottomFrozenStyle && !obj.bottomFrozenStyle) {\n return this._bottomFrozen;\n }\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n this.headerStyle,\n superTheme.bottomFrozenStyle,\n obj.bottomFrozenStyle // ?? obj.headerStyle\n );\n this._bottomFrozen = this.getStyle(header);\n }\n return this._bottomFrozen;\n }\n get rowHeaderStyle(): ITableThemeDefine['rowHeaderStyle'] {\n if (!this._rowHeader) {\n const { obj, superTheme } = this.internalTheme;\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.rowHeaderStyle,\n obj.rowHeaderStyle ?? (this.isPivot ? null : obj.headerStyle) // not for pivot\n );\n this._rowHeader = this.getStyle(header);\n }\n return this._rowHeader;\n }\n get bodyStyle(): ITableThemeDefine['bodyStyle'] {\n if (!this._body) {\n const { obj, superTheme } = this.internalTheme;\n // const body = getProp(obj, superTheme, [\"body\"]);\n const body: ThemeStyle = ingoreNoneValueMerge({}, this.defaultStyle, superTheme.bodyStyle, obj.bodyStyle);\n this._body = this.getStyle(body);\n }\n\n return this._body;\n }\n\n get frameStyle(): ITableThemeDefine['frameStyle'] {\n if (!this._frameStyle) {\n const { obj, superTheme } = this.internalTheme;\n const frameStyle: TableFrameStyle = ingoreNoneValueMerge({}, superTheme.frameStyle, obj.frameStyle);\n this._frameStyle = {\n get borderColor(): ColorsDef | undefined {\n return frameStyle.borderColor;\n },\n get borderLineWidth(): LineWidthsDef | undefined {\n return frameStyle.borderLineWidth;\n },\n get borderLineDash(): LineDashsDef | undefined {\n return frameStyle.borderLineDash;\n },\n get innerBorder(): boolean | undefined {\n return frameStyle.innerBorder;\n },\n get shadowBlur(): number {\n return frameStyle.shadowBlur;\n },\n get shadowColor(): string {\n return frameStyle.shadowColor;\n },\n get shadowOffsetX(): number {\n return frameStyle.shadowOffsetX;\n },\n get shadowOffsetY(): number {\n return frameStyle.shadowOffsetY;\n },\n get cornerRadius(): number {\n return frameStyle.cornerRadius;\n }\n };\n }\n return this._frameStyle;\n }\n get scrollStyle(): ITableThemeDefine['scrollStyle'] {\n if (!this._scroll) {\n const { obj, superTheme } = this.internalTheme;\n const scroll: ScrollStyle = ingoreNoneValueMerge({}, superTheme.scrollStyle, obj.scrollStyle);\n this._scroll = {\n get scrollSliderColor(): string | undefined {\n return scroll.scrollSliderColor ?? '#C0C0C0';\n },\n get scrollRailColor(): string | undefined {\n return scroll.scrollRailColor;\n },\n get visible(): 'always' | 'scrolling' | 'none' | 'focus' {\n return scroll.visible ?? 'scrolling';\n },\n get width(): number | undefined {\n return scroll.width ?? 7;\n },\n get hoverOn(): boolean | undefined {\n return scroll.hoverOn ?? true;\n },\n get barToSide(): boolean | undefined {\n return scroll.barToSide ?? false;\n }\n };\n }\n\n return this._scroll;\n }\n get tooltipStyle(): ITableThemeDefine['tooltipStyle'] {\n if (!this._tooltip) {\n const { obj, superTheme } = this.internalTheme;\n const tooltip: TooltipStyle = ingoreNoneValueMerge({}, superTheme.tooltipStyle, obj.tooltipStyle);\n this._tooltip = {\n get fontFamily(): string | undefined {\n return tooltip.fontFamily ?? DEFAULTFONTFAMILY;\n },\n get fontSize(): number | undefined {\n return tooltip.fontSize ?? DEFAULTFONTSIZE;\n },\n get bgColor(): string | undefined {\n return tooltip.bgColor ?? '#000';\n },\n get padding(): number[] {\n return tooltip.padding ?? [6, 8];\n },\n get color(): string | undefined {\n return tooltip.color ?? '#FFF';\n }\n };\n }\n\n return this._tooltip;\n }\n\n /**\n * resize 分割线样式\n */\n get columnResize(): RequiredTableThemeDefine['columnResize'] {\n if (!this._columnResize) {\n const { obj, superTheme } = this.internalTheme;\n const columnResize: RequiredTableThemeDefine['columnResize'] = ingoreNoneValueMerge(\n {},\n superTheme.columnResize,\n obj.columnResize\n );\n this._columnResize = {\n get lineColor(): ColorPropertyDefine {\n return columnResize.lineColor ?? '#416EFF';\n },\n get bgColor(): ColorPropertyDefine {\n return columnResize.bgColor ?? '#D9E2FF';\n },\n get lineWidth(): number {\n return columnResize.lineWidth ?? 1;\n },\n get width(): number {\n return columnResize.width ?? columnResize.lineWidth + 2;\n },\n get labelColor(): string {\n return columnResize.labelColor ?? '#FFF';\n },\n get labelFontSize(): number {\n return columnResize.labelFontSize ?? 10;\n },\n get labelFontFamily(): string {\n return columnResize.labelFontFamily ?? 'sans-serif';\n },\n get labelBackgroundFill(): string {\n return columnResize.labelBackgroundFill ?? '#3073F2';\n },\n get labelBackgroundCornerRadius(): number {\n return columnResize.labelBackgroundCornerRadius ?? 5;\n }\n };\n }\n return this._columnResize;\n }\n /**\n * 移位 分割线样式\n */\n get dragHeaderSplitLine(): RequiredTableThemeDefine['dragHeaderSplitLine'] {\n if (!this._dragHeaderSplitLine) {\n const { obj, superTheme } = this.internalTheme;\n const dragHeaderSplitLine: RequiredTableThemeDefine['dragHeaderSplitLine'] = ingoreNoneValueMerge(\n {},\n superTheme.dragHeaderSplitLine,\n obj.dragHeaderSplitLine\n );\n this._dragHeaderSplitLine = {\n get lineColor(): ColorPropertyDefine {\n return dragHeaderSplitLine.lineColor ?? 'blue';\n },\n // get bgColor(): ColorPropertyDefine {\n // return dragHeaderSplitLine.bgColor ?? dragHeaderSplitLine.lineColor;\n // },\n get lineWidth(): number {\n return dragHeaderSplitLine.lineWidth ?? 2;\n },\n // get width(): number {\n // return dragHeaderSplitLine.width ?? dragHeaderSplitLine.lineWidth;\n // },\n get shadowBlockColor(): string {\n return dragHeaderSplitLine.shadowBlockColor ?? 'rgba(204,204,204,0.3)';\n }\n };\n }\n return this._dragHeaderSplitLine;\n }\n get frozenColumnLine(): RequiredTableThemeDefine['frozenColumnLine'] {\n // const { obj, superTheme } = this.internalTheme;\n // const that = this;\n // const frozenColumnLine = getProp(obj, superTheme, [\n // \"frozenColumnLine\",\n // ]);\n if (!this._frozenColumnLine) {\n const { obj, superTheme } = this.internalTheme;\n const frozenColumnLine: RequiredTableThemeDefine['frozenColumnLine'] = ingoreNoneValueMerge(\n {},\n superTheme.frozenColumnLine,\n obj.frozenColumnLine\n );\n this._frozenColumnLine = {\n get shadow(): { width: number; startColor: string; endColor: string } | undefined {\n if (frozenColumnLine.shadow) {\n return {\n get width(): number {\n return frozenColumnLine.shadow?.width ?? 24;\n },\n get startColor(): string {\n return frozenColumnLine.shadow?.startColor ?? 'rgba(00, 24, 47, 0.06)';\n },\n get endColor(): string {\n return frozenColumnLine.shadow?.endColor ?? 'rgba(00, 24, 47, 0)';\n }\n };\n }\n return undefined;\n },\n get border():\n | {\n lineColor: ColorPropertyDefine;\n bgColor?: ColorPropertyDefine;\n lineWidth: number;\n width?: number;\n }\n | undefined {\n if (frozenColumnLine.border) {\n return {\n get lineColor(): ColorPropertyDefine {\n return frozenColumnLine.border?.lineColor ?? 'rgba(00, 24, 47, 0.06)';\n },\n get bgColor(): ColorPropertyDefine {\n return (\n frozenColumnLine.border?.bgColor ?? frozenColumnLine.border?.lineColor ?? 'rgba(00, 24, 47, 0.06)'\n );\n },\n get lineWidth(): number {\n return frozenColumnLine.border?.lineWidth ?? 4;\n },\n get width(): number {\n return frozenColumnLine.border?.width ?? frozenColumnLine.border?.lineWidth ?? 4;\n }\n };\n }\n return undefined;\n }\n };\n }\n return this._frozenColumnLine;\n }\n get selectionStyle(): RequiredTableThemeDefine['selectionStyle'] {\n if (!this._selectionStyle) {\n const { obj, superTheme } = this.internalTheme;\n const selectionStyle: RequiredTableThemeDefine['selectionStyle'] = ingoreNoneValueMerge(\n {},\n superTheme.selectionStyle,\n obj.selectionStyle\n );\n this._selectionStyle = {\n get cellBgColor(): string | undefined {\n return selectionStyle?.cellBgColor ?? 'rgba(0, 0, 255,0.1)';\n },\n get cellBorderColor(): string | undefined {\n return selectionStyle?.cellBorderColor ?? '#3073f2';\n },\n get cellBorderLineWidth(): number | undefined {\n return selectionStyle?.cellBorderLineWidth ?? 2;\n }\n };\n }\n return this._selectionStyle;\n }\n\n get axisStyle(): RequiredTableThemeDefine['axisStyle'] {\n if (!this._axisStyle) {\n const { obj, superTheme } = this.internalTheme;\n const axisStyle: RequiredTableThemeDefine['axisStyle'] = ingoreNoneValueMerge(\n {},\n superTheme.axisStyle,\n obj.axisStyle\n );\n this._axisStyle = getAxisStyle(axisStyle);\n }\n return this._axisStyle;\n }\n\n get checkboxStyle(): RequiredTableThemeDefine['checkboxStyle'] {\n if (!this._checkboxStyle) {\n const { obj, superTheme } = this.internalTheme;\n const checkboxStyle: RequiredTableThemeDefine['checkboxStyle'] = ingoreNoneValueMerge(\n {},\n superTheme.checkboxStyle,\n obj.checkboxStyle\n );\n this._checkboxStyle = checkboxStyle;\n }\n return this._checkboxStyle;\n }\n\n get textPopTipStyle(): RequiredTableThemeDefine['textPopTipStyle'] {\n if (!this._textPopTipStyle) {\n const { obj, superTheme } = this.internalTheme;\n const textPopTipStyle: RequiredTableThemeDefine['textPopTipStyle'] = ingoreNoneValueMerge(\n {},\n defalutPoptipStyle,\n superTheme.textPopTipStyle,\n obj.textPopTipStyle\n );\n this._textPopTipStyle = textPopTipStyle;\n }\n return this._textPopTipStyle;\n }\n\n hasProperty(names: string[]): boolean {\n const { obj, superTheme } = this.internalTheme;\n return hasThemeProperty(obj, names) || hasThemeProperty(superTheme, names);\n }\n extends(obj: PartialTableThemeDefine): TableTheme {\n return new TableTheme(obj, this);\n }\n private getStyle(style: ThemeStyle) {\n return {\n get fontSize(): FontSizePropertyDefine | undefined {\n return style.fontSize;\n },\n get fontFamily(): FontFamilyPropertyDefine | undefined {\n return style.fontFamily;\n },\n get fontWeight(): FontWeightPropertyDefine | undefined {\n return style.fontWeight;\n },\n get fontVariant(): FontVariantPropertyDefine | undefined {\n return style.fontVariant;\n },\n get fontStyle(): FontStylePropertyDefine | undefined {\n return style.fontStyle;\n },\n get bgColor(): ColorPropertyDefine | undefined {\n return style.bgColor;\n },\n get color(): ColorPropertyDefine | undefined {\n return style.color;\n },\n get borderColor(): ColorsPropertyDefine | undefined {\n return style.borderColor;\n },\n get borderLineWidth(): LineWidthsPropertyDefine | undefined {\n return style.borderLineWidth;\n },\n get borderLineDash(): LineDashsPropertyDefine | undefined {\n return style.borderLineDash;\n },\n get hover(): InteractionStyle | undefined {\n if (style.hover) {\n return {\n get cellBgColor(): ColorPropertyDefine | undefined {\n return style.hover?.cellBgColor ?? undefined;\n },\n // get cellBorderColor(): ColorsPropertyDefine | undefined {\n // return style.hover?.cellBorderColor ?? undefined;\n // },\n // get cellBorderLineWidth(): LineWidthsPropertyDefine | undefined {\n // return style.hover?.cellBorderLineWidth ?? undefined;\n // },\n get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n return (\n style.hover?.inlineColumnBgColor ??\n (style.hover?.cellBgColor && typeof style.hover?.cellBgColor === 'string'\n ? changeColor(style.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n },\n get inlineRowBgColor(): ColorPropertyDefine | undefined {\n return (\n style.hover?.inlineRowBgColor ??\n (style.hover?.cellBgColor && typeof style.hover?.cellBgColor === 'string'\n ? changeColor(style.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n }\n };\n }\n return undefined;\n },\n // get click(): InteractionStyle | undefined {\n // if (style.click)\n // return {\n // get cellBgColor(): ColorPropertyDefine | undefined {\n // return style.click?.cellBgColor ?? undefined;\n // },\n // get cellBorderColor(): ColorsPropertyDefine | undefined {\n // return style.click?.cellBorderColor ?? undefined;\n // },\n // get cellBorderLineWidth(): LineWidthsPropertyDefine | undefined {\n // return style.click?.cellBorderLineWidth ?? undefined;\n // },\n // // get cellBorderLineDash(): LineDashsPropertyDefine |undefined{\n // // return style.click?.cellBorderLineDash??undefined\n // // },\n // get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n // return (\n // // style.click?.inlineColumnBgColor ??\n // (style.click?.cellBgColor && typeof style.click?.cellBgColor === 'string'\n // ? changeColor(style.click?.cellBgColor, 0.1, false)\n // : undefined) ?? undefined\n // );\n // },\n // get inlineRowBgColor(): ColorPropertyDefine | undefined {\n // return (\n // // style.click?.inlineRowBgColor ??\n // (style.click?.cellBgColor && typeof style.click?.cellBgColor === 'string'\n // ? changeColor(style.click?.cellBgColor, 0.1, false)\n // : undefined) ?? undefined\n // );\n // },\n // };\n // return undefined;\n // },\n get frameStyle(): FrameStyle | undefined {\n if (style.frameStyle) {\n return {\n get borderColor(): ColorsDef | undefined {\n return style.frameStyle?.borderColor ?? undefined;\n },\n get borderLineWidth(): LineWidthsDef | undefined {\n return style.frameStyle?.borderLineWidth ?? undefined;\n },\n get borderLineDash(): LineDashsDef | undefined {\n return style.frameStyle?.borderLineDash ?? undefined;\n }\n };\n }\n return undefined;\n },\n get padding(): PaddingsPropertyDefine | undefined {\n return style.padding;\n },\n get textAlign(): TextAlignType | undefined {\n return style.textAlign;\n },\n get textBaseline(): TextBaselineType | undefined {\n return style.textBaseline;\n },\n get textOverflow(): TextOverflow | undefined {\n return style.textOverflow;\n },\n get lineHeight(): number | undefined {\n return style.lineHeight;\n },\n get autoWrapText(): boolean | undefined {\n return style.autoWrapText;\n },\n get lineClamp(): LineClamp | undefined {\n return style.lineClamp;\n },\n get linkColor(): ColorPropertyDefine | undefined {\n return style.linkColor;\n },\n get cursor(): CursorPropertyDefine | undefined {\n return style.cursor;\n },\n get textStick(): boolean | undefined {\n return style.textStick;\n },\n get marked(): MarkedPropertyDefine | undefined {\n return style.marked;\n },\n get underline(): UnderlinePropertyDefine {\n return style.underline ?? false;\n },\n get underlineColor(): ColorPropertyDefine | undefined {\n return style.underlineColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get underlineDash(): LineDashPropertyDefine | undefined {\n return style.underlineDash;\n },\n get underlineOffset(): number | undefined {\n return style.underlineOffset;\n },\n get lineThrough(): LineThroughPropertyDefine | undefined {\n return style.lineThrough ?? false;\n },\n get lineThroughColor(): ColorPropertyDefine | undefined {\n return style.lineThroughColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get lineThroughDash(): LineDashPropertyDefine | undefined {\n return style.lineThroughDash;\n }\n };\n }\n}\n\nfunction hasThemeProperty(obj: PartialTableThemeDefine, names: string[]): boolean {\n if (obj instanceof TableTheme) {\n return obj.hasProperty(names);\n }\n\n let o: any = obj;\n if (!o) {\n return false;\n }\n for (let index = 0; index < names.length; index++) {\n const name = names[index];\n o = o[name];\n if (!o) {\n return false;\n }\n }\n return !!o;\n}\n"]}
|
package/es/tools/util.d.ts
CHANGED
|
@@ -39,7 +39,6 @@ export declare function inBound({ x, y }: {
|
|
|
39
39
|
}): boolean;
|
|
40
40
|
export declare const isArrEqual: (arr1: Array<any>, arr2: Array<any>) => boolean;
|
|
41
41
|
export declare function hashCode(input: string): string;
|
|
42
|
-
export declare function getValueFromDeepArray(array: any, index: number[]): any;
|
|
43
42
|
export declare function toBoolean(val: unknown): boolean;
|
|
44
43
|
export declare function isAllDigits(str: string): boolean;
|
|
45
44
|
export declare function deduplication(array: number[]): number[];
|
package/es/tools/util.js
CHANGED
|
@@ -197,16 +197,6 @@ export function hashCode(input) {
|
|
|
197
197
|
return retValue;
|
|
198
198
|
}
|
|
199
199
|
|
|
200
|
-
export function getValueFromDeepArray(array, index) {
|
|
201
|
-
let result = array;
|
|
202
|
-
for (let i = 0; i < index.length; i++) {
|
|
203
|
-
const currentIdx = index[i];
|
|
204
|
-
if (!result[currentIdx]) return;
|
|
205
|
-
result = result[currentIdx], result && result.children && i + 1 < index.length && (result = result.children);
|
|
206
|
-
}
|
|
207
|
-
return result;
|
|
208
|
-
}
|
|
209
|
-
|
|
210
200
|
export function toBoolean(val) {
|
|
211
201
|
if ("string" == typeof val) {
|
|
212
202
|
if ("false" === val) return !1;
|
package/es/tools/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/tools/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["import { isValid } from '@visactor/vutils';\nimport type { SortOrder } from '../ts-types';\n\nexport const judgeType = (value: any) => {\n switch (Object.prototype.toString.call(value)) {\n case '[object Object]':\n return 'object';\n case '[object Function]':\n return 'function';\n case '[object Array]':\n return 'array';\n case '[object String]':\n return 'string';\n case '[object Number]':\n return 'number';\n case '[object RegExp]':\n return 'regExp';\n case '[object Boolean]':\n return 'boolean';\n case '[object Symbol]':\n return 'symbol';\n case '[object Date]':\n return 'date';\n case '[object Undefined]':\n return 'undefined';\n case '[object Null]':\n return 'null';\n case '[object Error]':\n return 'error';\n case '[object HTMLDocument]':\n return 'document';\n case '[object global]':\n return 'global'; // window 是全局对象 global 的引用\n default:\n return null;\n }\n};\n\nexport const isIt = (v: any, type: string): boolean => judgeType(v) === type;\n\nexport const isObject = (v: any): boolean => isIt(v, 'object');\nexport const isFunction = (v: any): boolean => isIt(v, 'function');\nexport const isArray = (v: any): boolean => isIt(v, 'array');\nexport const isString = (v: any): boolean => isIt(v, 'string');\nexport const isNumber = (v: any): boolean => isIt(v, 'number');\nexport const isRegExp = (v: any): boolean => isIt(v, 'regExp');\nexport const isBoolean = (v: any): boolean => isIt(v, 'boolean');\nexport const isSymbol = (v: any): boolean => isIt(v, 'symbol');\nexport const isDate = (v: any): boolean => isIt(v, 'date');\nexport const isUndefined = (v: any): boolean => isIt(v, 'undefined');\nexport const isNull = (v: any): boolean => isIt(v, 'null');\nexport const isError = (v: any): boolean => isIt(v, 'error');\nexport const isDocument = (v: any): boolean => isIt(v, 'document');\nexport const isGlobal = (v: any): boolean => isIt(v, 'global');\n\nexport function merge(target: any, ...sources: any[]): any {\n if (!sources.length) {\n return target || {};\n }\n const source = sources.shift();\n\n if (isObject(target) && isObject(source)) {\n for (const key in source) {\n if (isObject(source[key])) {\n if (!target[key]) {\n Object.assign(target, { [key]: {} });\n }\n if (!isObject(target[key])) {\n Object.assign(target, { [key]: source[key] });\n }\n merge(target[key], source[key]);\n } else {\n Object.assign(target, { [key]: source[key] });\n }\n }\n }\n\n return merge(target, ...sources);\n}\nexport function ingoreNoneValueMerge(target: any, ...sources: any[]): any {\n if (!sources.length) {\n return target || {};\n }\n const source = sources.shift();\n\n if (isObject(target) && isObject(source)) {\n for (const key in source) {\n if (isObject(source[key])) {\n if (!target[key]) {\n Object.assign(target, { [key]: {} });\n }\n if (!isObject(target[key])) {\n Object.assign(target, { [key]: source[key] });\n }\n ingoreNoneValueMerge(target[key], source[key]);\n } else if (source[key] !== null && source[key] !== undefined) {\n Object.assign(target, { [key]: source[key] });\n }\n }\n }\n\n return ingoreNoneValueMerge(target, ...sources);\n}\n\n// 使用vutils库中的cloneDeep\n// export function cloneDeep(item: any) {\n// if (!item) {\n// return item;\n// } // null, undefined values check\n\n// const types = [Number, String, Boolean];\n// let result: any;\n\n// // normalizing primitives if someone did new String('aaa'), or new Number('444');\n// types.forEach(function (type) {\n// if (item instanceof type) {\n// result = type(item);\n// }\n// });\n\n// if (typeof result === 'undefined') {\n// if (Object.prototype.toString.call(item) === '[object Array]') {\n// result = [];\n// item.forEach(function (child: any, index: number) {\n// result[index] = cloneDeep(child);\n// });\n// } else if (typeof item === 'object') {\n// // testing that this is DOM\n// if (item.nodeType && typeof item.cloneNode === 'function') {\n// result = item.cloneNode(true);\n// } else if (!item.prototype) {\n// // check that this is a literal\n// if (item instanceof Date) {\n// result = new Date(item);\n// } else if (item.clone) {\n// result = item.clone();\n// } else {\n// // it is an object literal\n// result = {};\n// for (const i in item) {\n// result[i] = cloneDeep(item[i]);\n// }\n// }\n// } else {\n// // depending what you would like here,\n// // just keep the reference, or create new object\n// if (item.constructor) {\n// // would not advice to do that, reason? Read below\n// result = new item.constructor();\n// } else {\n// result = item;\n// }\n// }\n// } else {\n// result = item;\n// }\n// }\n\n// return result;\n// }\n\nexport function convertInternal(value: unknown): string {\n if (typeof value === 'function') {\n value = value();\n }\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n return isValid(value) ? `${value}` : '';\n}\n/**\n * 返回 matrix 的 转置矩阵\n * @param matrix\n * @returns\n */\nexport function transpose(matrix: Array<Array<any>>) {\n if (matrix?.length <= 0) {\n return matrix;\n }\n const m = matrix.length;\n const n = matrix[0].length;\n const transposed = new Array(n);\n for (let i = 0; i < m; i++) {\n for (let j = 0; j < n; j++) {\n if (!transposed[j]) {\n transposed[j] = new Array(m);\n }\n transposed[j][i] = matrix[i][j];\n }\n }\n return transposed;\n}\n\nexport function debounce(fn: Function, delay: number, immediate = false) {\n let timer: any;\n let result: any;\n return function (this: any, ...args: any[]) {\n if (timer) {\n clearTimeout(timer);\n }\n if (immediate) {\n // 如果timer存在,说明第二次调用的时候还没到delay时间,因为如果超过delay时间\n // timer会被赋值为0,所以这个时候我们不应该执行fn,应该重新设置一个定时器\n // 但如果是一次的时候,因为还没有设过定时器,所以这里timer会是undefined\n if (timer) {\n timer = setTimeout(() => (timer = 0), delay);\n } else {\n result = fn.apply(this, args);\n return result;\n }\n } else {\n timer = setTimeout(() => fn.apply(this, args), delay);\n }\n };\n}\n/**\n * throttle 保障了首次立即执行 后续触发的回调执行间隔delay时间 区别于throttle2 最后执行时机会提前\n * @param { Function } func 执行函数\n * @param { Interger } time 多长时间内不能第二次执行\n * @returns function 返回经过节流处理的函数\n */\nexport function throttle(func: Function, delay: number) {\n let timer: any = null;\n return function (this: any, ...args: any[]) {\n // let args=arguments 也可以写成这种或...args也是代表我们传过来的实参\n if (!timer) {\n func.apply(this, args); //先执行函数,保证第一次立即执行\n timer = setTimeout(() => {\n timer = null;\n }, delay);\n }\n // console.log('throttle');\n // 当我们第一次触发事件,定时器不存在时就执行函数,当我们再次点击时,因为定时器存在,\n // 所以无法再进入函数调用(无论事件如何执行),那么只能等定时器事件结束,\n // 我们让timer=null,回到第一次的状态,就又重新开始新的一轮\n };\n}\n/**\n * throttle节流 间隔delay时间后执行 保障了最后执行时机是在delay之后\n * @param { Function } func 执行函数\n * @param { Interger } time 多长时间内不能第二次执行\n * @returns function 返回经过节流处理的函数\n */\nexport function throttle2(func: Function, delay: number) {\n let timer: any = null;\n return function (this: any, ...args: any[]) {\n // let args=arguments 也可以写成这种或...args也是代表我们传过来的实参\n if (!timer) {\n timer = setTimeout(() => {\n func.apply(this, args);\n timer = null;\n }, delay);\n }\n };\n}\n\nfunction pad(num: string, totalChars: number) {\n const pad = '0';\n num = `${num}`;\n while (num.length < totalChars) {\n num = pad + num;\n }\n return num;\n}\n/**\n * 在某个颜色的基础上 获取变暗或者变亮的颜色\n * @param color 基础颜色值\n * @param ratio Ratio is between 0 and 1\n * @param isDarker 是否获取变暗的颜色\n * @returns\n */\nexport function changeColor(color: string, ratio: number, isDarker: boolean) {\n // Trim trailing/leading whitespace\n color = color.replace(/^\\s*|\\s*$/, '');\n\n // Expand three-digit hex\n color = color.replace(/^#?([a-f0-9])([a-f0-9])([a-f0-9])$/i, '#$1$1$2$2$3$3');\n\n // Calculate ratio\n const difference = Math.round(ratio * 256) * (isDarker ? -1 : 1);\n // Determine if input is RGB(A)\n const rgb = color.match(\n new RegExp(\n '^rgba?\\\\(\\\\s*' +\n '(\\\\d|[1-9]\\\\d|1\\\\d{2}|2[0-4][0-9]|25[0-5])' +\n '\\\\s*,\\\\s*' +\n '(\\\\d|[1-9]\\\\d|1\\\\d{2}|2[0-4][0-9]|25[0-5])' +\n '\\\\s*,\\\\s*' +\n '(\\\\d|[1-9]\\\\d|1\\\\d{2}|2[0-4][0-9]|25[0-5])' +\n '(?:\\\\s*,\\\\s*' +\n '(0|1|0?\\\\.\\\\d+))?' +\n '\\\\s*\\\\)$',\n 'i'\n )\n );\n const alpha = !!rgb && isValid(rgb[4]) ? rgb[4] : null;\n // Convert hex to decimal\n const decimal = rgb\n ? [rgb[1], rgb[2], rgb[3]]\n : color\n .replace(/^#?([a-f0-9][a-f0-9])([a-f0-9][a-f0-9])([a-f0-9][a-f0-9])/i, function () {\n return `${parseInt(arguments[1], 16)},${parseInt(arguments[2], 16)},${parseInt(arguments[3], 16)}`;\n })\n .split(/,/);\n\n // Return RGB(A)\n return rgb\n ? `rgb${alpha !== null ? 'a' : ''}(${Math[isDarker ? 'max' : 'min'](\n parseInt(decimal[0], 10) + difference,\n isDarker ? 0 : 255\n )}, ${Math[isDarker ? 'max' : 'min'](parseInt(decimal[1], 10) + difference, isDarker ? 0 : 255)}, ${Math[\n isDarker ? 'max' : 'min'\n ](parseInt(decimal[2], 10) + difference, isDarker ? 0 : 255)}${alpha !== null ? `, ${alpha}` : ''})`\n : // Return hex\n [\n '#',\n pad(Math[isDarker ? 'max' : 'min'](parseInt(decimal[0], 10) + difference, isDarker ? 0 : 255).toString(16), 2),\n pad(Math[isDarker ? 'max' : 'min'](parseInt(decimal[1], 10) + difference, isDarker ? 0 : 255).toString(16), 2),\n pad(Math[isDarker ? 'max' : 'min'](parseInt(decimal[2], 10) + difference, isDarker ? 0 : 255).toString(16), 2)\n ].join('');\n}\n/**\n * 解决加减出现很多小数位的问题\n * @param n\n * @param fixed\n * @returns\n */\nexport function toFixed(n: number, fixed = 0) {\n return parseFloat(n.toFixed(fixed));\n}\n\nexport function validToString(v: any) {\n if (isString(v) || isNumber(v) || isBoolean(v)) {\n return v.toString();\n }\n return '';\n}\nexport function isMobile() {\n return navigator.userAgent.match(\n // eslint-disable-next-line max-len\n /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i\n );\n}\nexport function defaultOrderFn(v1: any, v2: any, order: SortOrder): -1 | 0 | 1 {\n if (order !== 'desc') {\n return v1 === v2 ? 0 : v1 > v2 ? 1 : -1;\n }\n return v1 === v2 ? 0 : v1 < v2 ? 1 : -1;\n}\n/**\n * 针对一个具有多级结构的对象,根据层级路径获取到具体值\n * @param obj\n * @param paths\n * @returns\n */\nexport function getValueByPath(obj: any, paths: string[]) {\n let res = obj;\n let prop;\n while ((prop = paths.shift())) {\n res = res[prop];\n }\n return res;\n}\nexport function inBound(\n { x, y }: { x: number; y: number },\n { left, top, width, height }: { left: number; top: number; width: number; height: number }\n) {\n if (x > left && x < left + width && y > top && y < top + height) {\n return true;\n }\n return false;\n}\n\nexport const isArrEqual = (arr1: Array<any>, arr2: Array<any>) => {\n return arr1.length === arr2.length && arr1.every((ele, index) => Object.is(ele, arr2[index]));\n};\n/**\n * 根据string生成hash值\n * @param input\n * @returns\n */\nexport function hashCode(input: string) {\n const I64BIT_TABLE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-'.split('');\n let hash = 5381;\n let i = input.length - 1;\n\n for (; i > -1; i--) {\n hash += (hash << 5) + input.charCodeAt(i);\n }\n\n let value = hash & 0x7fffffff;\n\n let retValue = '';\n do {\n retValue += I64BIT_TABLE[value & 0x3f];\n } while ((value >>= 6));\n return retValue;\n}\n\n/**\n * 从数组array中获取index的值\n * 如:给index=[0,0] 则返回 array[0].children[0];如果给index=[2] 则返回array[2]; 如果给index=[3,0,4] 则返回array[3].children[0].children[4]\n * @param array\n * @param index\n * @returns\n */\nexport function getValueFromDeepArray(array: any, index: number[]) {\n let result = array;\n for (let i = 0; i < index.length; i++) {\n const currentIdx = index[i];\n if (result[currentIdx]) {\n result = result[currentIdx];\n } else {\n return undefined;\n }\n if (result && result.children && i + 1 < index.length) {\n result = result.children;\n }\n }\n return result;\n}\n\nexport function toBoolean(val: unknown): boolean {\n if (typeof val === 'string') {\n if (val === 'false') {\n return false;\n } else if (val === 'off') {\n return false;\n } else if (/^0+$/.exec(val)) {\n return false;\n }\n }\n return Boolean(val);\n}\n\nexport function isAllDigits(str: string) {\n const pattern = /^-?\\d+(\\.\\d+)?$/;\n return pattern.test(str);\n}\n// array deduplication\nexport function deduplication(array: number[]) {\n const result = [];\n for (let i = 0; i < array.length; i++) {\n if (result.indexOf(array[i]) === -1) {\n result.push(array[i]);\n }\n }\n return result;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/tools/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAG3C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAU,EAAE,EAAE;IACtC,QAAQ,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QAC7C,KAAK,iBAAiB;YACpB,OAAO,QAAQ,CAAC;QAClB,KAAK,mBAAmB;YACtB,OAAO,UAAU,CAAC;QACpB,KAAK,gBAAgB;YACnB,OAAO,OAAO,CAAC;QACjB,KAAK,iBAAiB;YACpB,OAAO,QAAQ,CAAC;QAClB,KAAK,iBAAiB;YACpB,OAAO,QAAQ,CAAC;QAClB,KAAK,iBAAiB;YACpB,OAAO,QAAQ,CAAC;QAClB,KAAK,kBAAkB;YACrB,OAAO,SAAS,CAAC;QACnB,KAAK,iBAAiB;YACpB,OAAO,QAAQ,CAAC;QAClB,KAAK,eAAe;YAClB,OAAO,MAAM,CAAC;QAChB,KAAK,oBAAoB;YACvB,OAAO,WAAW,CAAC;QACrB,KAAK,eAAe;YAClB,OAAO,MAAM,CAAC;QAChB,KAAK,gBAAgB;YACnB,OAAO,OAAO,CAAC;QACjB,KAAK,uBAAuB;YAC1B,OAAO,UAAU,CAAC;QACpB,KAAK,iBAAiB;YACpB,OAAO,QAAQ,CAAC;QAClB;YACE,OAAO,IAAI,CAAC;KACf;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAM,EAAE,IAAY,EAAW,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AAE7E,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAM,EAAW,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAM,EAAW,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAM,EAAW,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAM,EAAW,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAM,EAAW,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAM,EAAW,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAM,EAAW,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAM,EAAW,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAM,EAAW,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAM,EAAW,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;AACrE,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAM,EAAW,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAM,EAAW,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAM,EAAW,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAM,EAAW,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAE/D,MAAM,UAAU,KAAK,CAAC,MAAW,EAAE,GAAG,OAAc;IAClD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QACnB,OAAO,MAAM,IAAI,EAAE,CAAC;KACrB;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAE/B,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;QACxC,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;YACxB,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;gBACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;oBAChB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;iBACtC;gBACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC1B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBAC/C;gBACD,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;aACjC;iBAAM;gBACL,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aAC/C;SACF;KACF;IAED,OAAO,KAAK,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC;AACnC,CAAC;AACD,MAAM,UAAU,oBAAoB,CAAC,MAAW,EAAE,GAAG,OAAc;IACjE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QACnB,OAAO,MAAM,IAAI,EAAE,CAAC;KACrB;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAE/B,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;QACxC,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;YACxB,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;gBACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;oBAChB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;iBACtC;gBACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC1B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBAC/C;gBACD,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;aAChD;iBAAM,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;gBAC5D,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aAC/C;SACF;KACF;IAED,OAAO,oBAAoB,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC;AAClD,CAAC;AA2DD,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;QAC/B,KAAK,GAAG,KAAK,EAAE,CAAC;KACjB;IAED,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1C,CAAC;AAMD,MAAM,UAAU,SAAS,CAAC,MAAyB;IACjD,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,CAAC,EAAE;QACvB,OAAO,MAAM,CAAC;KACf;IACD,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3B,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;gBAClB,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;aAC9B;YACD,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACjC;KACF;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,EAAY,EAAE,KAAa,EAAE,SAAS,GAAG,KAAK;IACrE,IAAI,KAAU,CAAC;IACf,IAAI,MAAW,CAAC;IAChB,OAAO,UAAqB,GAAG,IAAW;QACxC,IAAI,KAAK,EAAE;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;SACrB;QACD,IAAI,SAAS,EAAE;YAIb,IAAI,KAAK,EAAE;gBACT,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;aAC9C;iBAAM;gBACL,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC9B,OAAO,MAAM,CAAC;aACf;SACF;aAAM;YACL,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;SACvD;IACH,CAAC,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,QAAQ,CAAC,IAAc,EAAE,KAAa;IACpD,IAAI,KAAK,GAAQ,IAAI,CAAC;IACtB,OAAO,UAAqB,GAAG,IAAW;QAExC,IAAI,CAAC,KAAK,EAAE;YACV,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACvB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACtB,KAAK,GAAG,IAAI,CAAC;YACf,CAAC,EAAE,KAAK,CAAC,CAAC;SACX;IAKH,CAAC,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,SAAS,CAAC,IAAc,EAAE,KAAa;IACrD,IAAI,KAAK,GAAQ,IAAI,CAAC;IACtB,OAAO,UAAqB,GAAG,IAAW;QAExC,IAAI,CAAC,KAAK,EAAE;YACV,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACtB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACvB,KAAK,GAAG,IAAI,CAAC;YACf,CAAC,EAAE,KAAK,CAAC,CAAC;SACX;IACH,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,GAAG,CAAC,GAAW,EAAE,UAAkB;IAC1C,MAAM,GAAG,GAAG,GAAG,CAAC;IAChB,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;IACf,OAAO,GAAG,CAAC,MAAM,GAAG,UAAU,EAAE;QAC9B,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;KACjB;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAQD,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,KAAa,EAAE,QAAiB;IAEzE,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAGvC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,qCAAqC,EAAE,eAAe,CAAC,CAAC;IAG9E,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjE,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CACrB,IAAI,MAAM,CACR,eAAe;QACb,4CAA4C;QAC5C,WAAW;QACX,4CAA4C;QAC5C,WAAW;QACX,4CAA4C;QAC5C,cAAc;QACd,mBAAmB;QACnB,UAAU,EACZ,GAAG,CACJ,CACF,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEvD,MAAM,OAAO,GAAG,GAAG;QACjB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC,KAAK;aACF,OAAO,CAAC,4DAA4D,EAAE;YACrE,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACrG,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,CAAC,CAAC;IAGlB,OAAO,GAAG;QACR,CAAC,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAC/D,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,UAAU,EACrC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CACnB,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CACtG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CACzB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG;QACtG,CAAC;YACC;gBACE,GAAG;gBACH,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC9G,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC9G,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aAC/G,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACjB,CAAC;AAOD,MAAM,UAAU,OAAO,CAAC,CAAS,EAAE,KAAK,GAAG,CAAC;IAC1C,OAAO,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAM;IAClC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE;QAC9C,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;KACrB;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AACD,MAAM,UAAU,QAAQ;IACtB,OAAO,SAAS,CAAC,SAAS,CAAC,KAAK,CAE9B,iJAAiJ,CAClJ,CAAC;AACJ,CAAC;AACD,MAAM,UAAU,cAAc,CAAC,EAAO,EAAE,EAAO,EAAE,KAAgB;IAC/D,IAAI,KAAK,KAAK,MAAM,EAAE;QACpB,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACzC;IACD,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC;AAOD,MAAM,UAAU,cAAc,CAAC,GAAQ,EAAE,KAAe;IACtD,IAAI,GAAG,GAAG,GAAG,CAAC;IACd,IAAI,IAAI,CAAC;IACT,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;QAC7B,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;KACjB;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AACD,MAAM,UAAU,OAAO,CACrB,EAAE,CAAC,EAAE,CAAC,EAA4B,EAClC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAgE;IAE1F,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,MAAM,EAAE;QAC/D,OAAO,IAAI,CAAC;KACb;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAgB,EAAE,IAAgB,EAAE,EAAE;IAC/D,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChG,CAAC,CAAC;AAMF,MAAM,UAAU,QAAQ,CAAC,KAAa;IACpC,MAAM,YAAY,GAAG,kEAAkE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClG,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAEzB,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAClB,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;KAC3C;IAED,IAAI,KAAK,GAAG,IAAI,GAAG,UAAU,CAAC;IAE9B,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,GAAG;QACD,QAAQ,IAAI,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;KACxC,QAAQ,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE;IACxB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAY;IACpC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,IAAI,GAAG,KAAK,OAAO,EAAE;YACnB,OAAO,KAAK,CAAC;SACd;aAAM,IAAI,GAAG,KAAK,KAAK,EAAE;YACxB,OAAO,KAAK,CAAC;SACd;aAAM,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC3B,OAAO,KAAK,CAAC;SACd;KACF;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,OAAO,GAAG,iBAAiB,CAAC;IAClC,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAe;IAC3C,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;YACnC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACvB;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC","file":"util.js","sourcesContent":["import { isValid } from '@visactor/vutils';\nimport type { SortOrder } from '../ts-types';\n\nexport const judgeType = (value: any) => {\n switch (Object.prototype.toString.call(value)) {\n case '[object Object]':\n return 'object';\n case '[object Function]':\n return 'function';\n case '[object Array]':\n return 'array';\n case '[object String]':\n return 'string';\n case '[object Number]':\n return 'number';\n case '[object RegExp]':\n return 'regExp';\n case '[object Boolean]':\n return 'boolean';\n case '[object Symbol]':\n return 'symbol';\n case '[object Date]':\n return 'date';\n case '[object Undefined]':\n return 'undefined';\n case '[object Null]':\n return 'null';\n case '[object Error]':\n return 'error';\n case '[object HTMLDocument]':\n return 'document';\n case '[object global]':\n return 'global'; // window 是全局对象 global 的引用\n default:\n return null;\n }\n};\n\nexport const isIt = (v: any, type: string): boolean => judgeType(v) === type;\n\nexport const isObject = (v: any): boolean => isIt(v, 'object');\nexport const isFunction = (v: any): boolean => isIt(v, 'function');\nexport const isArray = (v: any): boolean => isIt(v, 'array');\nexport const isString = (v: any): boolean => isIt(v, 'string');\nexport const isNumber = (v: any): boolean => isIt(v, 'number');\nexport const isRegExp = (v: any): boolean => isIt(v, 'regExp');\nexport const isBoolean = (v: any): boolean => isIt(v, 'boolean');\nexport const isSymbol = (v: any): boolean => isIt(v, 'symbol');\nexport const isDate = (v: any): boolean => isIt(v, 'date');\nexport const isUndefined = (v: any): boolean => isIt(v, 'undefined');\nexport const isNull = (v: any): boolean => isIt(v, 'null');\nexport const isError = (v: any): boolean => isIt(v, 'error');\nexport const isDocument = (v: any): boolean => isIt(v, 'document');\nexport const isGlobal = (v: any): boolean => isIt(v, 'global');\n\nexport function merge(target: any, ...sources: any[]): any {\n if (!sources.length) {\n return target || {};\n }\n const source = sources.shift();\n\n if (isObject(target) && isObject(source)) {\n for (const key in source) {\n if (isObject(source[key])) {\n if (!target[key]) {\n Object.assign(target, { [key]: {} });\n }\n if (!isObject(target[key])) {\n Object.assign(target, { [key]: source[key] });\n }\n merge(target[key], source[key]);\n } else {\n Object.assign(target, { [key]: source[key] });\n }\n }\n }\n\n return merge(target, ...sources);\n}\nexport function ingoreNoneValueMerge(target: any, ...sources: any[]): any {\n if (!sources.length) {\n return target || {};\n }\n const source = sources.shift();\n\n if (isObject(target) && isObject(source)) {\n for (const key in source) {\n if (isObject(source[key])) {\n if (!target[key]) {\n Object.assign(target, { [key]: {} });\n }\n if (!isObject(target[key])) {\n Object.assign(target, { [key]: source[key] });\n }\n ingoreNoneValueMerge(target[key], source[key]);\n } else if (source[key] !== null && source[key] !== undefined) {\n Object.assign(target, { [key]: source[key] });\n }\n }\n }\n\n return ingoreNoneValueMerge(target, ...sources);\n}\n\n// 使用vutils库中的cloneDeep\n// export function cloneDeep(item: any) {\n// if (!item) {\n// return item;\n// } // null, undefined values check\n\n// const types = [Number, String, Boolean];\n// let result: any;\n\n// // normalizing primitives if someone did new String('aaa'), or new Number('444');\n// types.forEach(function (type) {\n// if (item instanceof type) {\n// result = type(item);\n// }\n// });\n\n// if (typeof result === 'undefined') {\n// if (Object.prototype.toString.call(item) === '[object Array]') {\n// result = [];\n// item.forEach(function (child: any, index: number) {\n// result[index] = cloneDeep(child);\n// });\n// } else if (typeof item === 'object') {\n// // testing that this is DOM\n// if (item.nodeType && typeof item.cloneNode === 'function') {\n// result = item.cloneNode(true);\n// } else if (!item.prototype) {\n// // check that this is a literal\n// if (item instanceof Date) {\n// result = new Date(item);\n// } else if (item.clone) {\n// result = item.clone();\n// } else {\n// // it is an object literal\n// result = {};\n// for (const i in item) {\n// result[i] = cloneDeep(item[i]);\n// }\n// }\n// } else {\n// // depending what you would like here,\n// // just keep the reference, or create new object\n// if (item.constructor) {\n// // would not advice to do that, reason? Read below\n// result = new item.constructor();\n// } else {\n// result = item;\n// }\n// }\n// } else {\n// result = item;\n// }\n// }\n\n// return result;\n// }\n\nexport function convertInternal(value: unknown): string {\n if (typeof value === 'function') {\n value = value();\n }\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n return isValid(value) ? `${value}` : '';\n}\n/**\n * 返回 matrix 的 转置矩阵\n * @param matrix\n * @returns\n */\nexport function transpose(matrix: Array<Array<any>>) {\n if (matrix?.length <= 0) {\n return matrix;\n }\n const m = matrix.length;\n const n = matrix[0].length;\n const transposed = new Array(n);\n for (let i = 0; i < m; i++) {\n for (let j = 0; j < n; j++) {\n if (!transposed[j]) {\n transposed[j] = new Array(m);\n }\n transposed[j][i] = matrix[i][j];\n }\n }\n return transposed;\n}\n\nexport function debounce(fn: Function, delay: number, immediate = false) {\n let timer: any;\n let result: any;\n return function (this: any, ...args: any[]) {\n if (timer) {\n clearTimeout(timer);\n }\n if (immediate) {\n // 如果timer存在,说明第二次调用的时候还没到delay时间,因为如果超过delay时间\n // timer会被赋值为0,所以这个时候我们不应该执行fn,应该重新设置一个定时器\n // 但如果是一次的时候,因为还没有设过定时器,所以这里timer会是undefined\n if (timer) {\n timer = setTimeout(() => (timer = 0), delay);\n } else {\n result = fn.apply(this, args);\n return result;\n }\n } else {\n timer = setTimeout(() => fn.apply(this, args), delay);\n }\n };\n}\n/**\n * throttle 保障了首次立即执行 后续触发的回调执行间隔delay时间 区别于throttle2 最后执行时机会提前\n * @param { Function } func 执行函数\n * @param { Interger } time 多长时间内不能第二次执行\n * @returns function 返回经过节流处理的函数\n */\nexport function throttle(func: Function, delay: number) {\n let timer: any = null;\n return function (this: any, ...args: any[]) {\n // let args=arguments 也可以写成这种或...args也是代表我们传过来的实参\n if (!timer) {\n func.apply(this, args); //先执行函数,保证第一次立即执行\n timer = setTimeout(() => {\n timer = null;\n }, delay);\n }\n // console.log('throttle');\n // 当我们第一次触发事件,定时器不存在时就执行函数,当我们再次点击时,因为定时器存在,\n // 所以无法再进入函数调用(无论事件如何执行),那么只能等定时器事件结束,\n // 我们让timer=null,回到第一次的状态,就又重新开始新的一轮\n };\n}\n/**\n * throttle节流 间隔delay时间后执行 保障了最后执行时机是在delay之后\n * @param { Function } func 执行函数\n * @param { Interger } time 多长时间内不能第二次执行\n * @returns function 返回经过节流处理的函数\n */\nexport function throttle2(func: Function, delay: number) {\n let timer: any = null;\n return function (this: any, ...args: any[]) {\n // let args=arguments 也可以写成这种或...args也是代表我们传过来的实参\n if (!timer) {\n timer = setTimeout(() => {\n func.apply(this, args);\n timer = null;\n }, delay);\n }\n };\n}\n\nfunction pad(num: string, totalChars: number) {\n const pad = '0';\n num = `${num}`;\n while (num.length < totalChars) {\n num = pad + num;\n }\n return num;\n}\n/**\n * 在某个颜色的基础上 获取变暗或者变亮的颜色\n * @param color 基础颜色值\n * @param ratio Ratio is between 0 and 1\n * @param isDarker 是否获取变暗的颜色\n * @returns\n */\nexport function changeColor(color: string, ratio: number, isDarker: boolean) {\n // Trim trailing/leading whitespace\n color = color.replace(/^\\s*|\\s*$/, '');\n\n // Expand three-digit hex\n color = color.replace(/^#?([a-f0-9])([a-f0-9])([a-f0-9])$/i, '#$1$1$2$2$3$3');\n\n // Calculate ratio\n const difference = Math.round(ratio * 256) * (isDarker ? -1 : 1);\n // Determine if input is RGB(A)\n const rgb = color.match(\n new RegExp(\n '^rgba?\\\\(\\\\s*' +\n '(\\\\d|[1-9]\\\\d|1\\\\d{2}|2[0-4][0-9]|25[0-5])' +\n '\\\\s*,\\\\s*' +\n '(\\\\d|[1-9]\\\\d|1\\\\d{2}|2[0-4][0-9]|25[0-5])' +\n '\\\\s*,\\\\s*' +\n '(\\\\d|[1-9]\\\\d|1\\\\d{2}|2[0-4][0-9]|25[0-5])' +\n '(?:\\\\s*,\\\\s*' +\n '(0|1|0?\\\\.\\\\d+))?' +\n '\\\\s*\\\\)$',\n 'i'\n )\n );\n const alpha = !!rgb && isValid(rgb[4]) ? rgb[4] : null;\n // Convert hex to decimal\n const decimal = rgb\n ? [rgb[1], rgb[2], rgb[3]]\n : color\n .replace(/^#?([a-f0-9][a-f0-9])([a-f0-9][a-f0-9])([a-f0-9][a-f0-9])/i, function () {\n return `${parseInt(arguments[1], 16)},${parseInt(arguments[2], 16)},${parseInt(arguments[3], 16)}`;\n })\n .split(/,/);\n\n // Return RGB(A)\n return rgb\n ? `rgb${alpha !== null ? 'a' : ''}(${Math[isDarker ? 'max' : 'min'](\n parseInt(decimal[0], 10) + difference,\n isDarker ? 0 : 255\n )}, ${Math[isDarker ? 'max' : 'min'](parseInt(decimal[1], 10) + difference, isDarker ? 0 : 255)}, ${Math[\n isDarker ? 'max' : 'min'\n ](parseInt(decimal[2], 10) + difference, isDarker ? 0 : 255)}${alpha !== null ? `, ${alpha}` : ''})`\n : // Return hex\n [\n '#',\n pad(Math[isDarker ? 'max' : 'min'](parseInt(decimal[0], 10) + difference, isDarker ? 0 : 255).toString(16), 2),\n pad(Math[isDarker ? 'max' : 'min'](parseInt(decimal[1], 10) + difference, isDarker ? 0 : 255).toString(16), 2),\n pad(Math[isDarker ? 'max' : 'min'](parseInt(decimal[2], 10) + difference, isDarker ? 0 : 255).toString(16), 2)\n ].join('');\n}\n/**\n * 解决加减出现很多小数位的问题\n * @param n\n * @param fixed\n * @returns\n */\nexport function toFixed(n: number, fixed = 0) {\n return parseFloat(n.toFixed(fixed));\n}\n\nexport function validToString(v: any) {\n if (isString(v) || isNumber(v) || isBoolean(v)) {\n return v.toString();\n }\n return '';\n}\nexport function isMobile() {\n return navigator.userAgent.match(\n // eslint-disable-next-line max-len\n /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i\n );\n}\nexport function defaultOrderFn(v1: any, v2: any, order: SortOrder): -1 | 0 | 1 {\n if (order !== 'desc') {\n return v1 === v2 ? 0 : v1 > v2 ? 1 : -1;\n }\n return v1 === v2 ? 0 : v1 < v2 ? 1 : -1;\n}\n/**\n * 针对一个具有多级结构的对象,根据层级路径获取到具体值\n * @param obj\n * @param paths\n * @returns\n */\nexport function getValueByPath(obj: any, paths: string[]) {\n let res = obj;\n let prop;\n while ((prop = paths.shift())) {\n res = res[prop];\n }\n return res;\n}\nexport function inBound(\n { x, y }: { x: number; y: number },\n { left, top, width, height }: { left: number; top: number; width: number; height: number }\n) {\n if (x > left && x < left + width && y > top && y < top + height) {\n return true;\n }\n return false;\n}\n\nexport const isArrEqual = (arr1: Array<any>, arr2: Array<any>) => {\n return arr1.length === arr2.length && arr1.every((ele, index) => Object.is(ele, arr2[index]));\n};\n/**\n * 根据string生成hash值\n * @param input\n * @returns\n */\nexport function hashCode(input: string) {\n const I64BIT_TABLE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-'.split('');\n let hash = 5381;\n let i = input.length - 1;\n\n for (; i > -1; i--) {\n hash += (hash << 5) + input.charCodeAt(i);\n }\n\n let value = hash & 0x7fffffff;\n\n let retValue = '';\n do {\n retValue += I64BIT_TABLE[value & 0x3f];\n } while ((value >>= 6));\n return retValue;\n}\n\nexport function toBoolean(val: unknown): boolean {\n if (typeof val === 'string') {\n if (val === 'false') {\n return false;\n } else if (val === 'off') {\n return false;\n } else if (/^0+$/.exec(val)) {\n return false;\n }\n }\n return Boolean(val);\n}\n\nexport function isAllDigits(str: string) {\n const pattern = /^-?\\d+(\\.\\d+)?$/;\n return pattern.test(str);\n}\n// array deduplication\nexport function deduplication(array: number[]) {\n const result = [];\n for (let i = 0; i < array.length; i++) {\n if (result.indexOf(array[i]) === -1) {\n result.push(array[i]);\n }\n }\n return result;\n}\n"]}
|
|
@@ -134,6 +134,9 @@ export interface BaseTableConstructorOptions {
|
|
|
134
134
|
defaultColWidth?: number;
|
|
135
135
|
defaultHeaderColWidth?: (number | 'auto') | (number | 'auto')[];
|
|
136
136
|
keyboardOptions?: TableKeyboardOptions;
|
|
137
|
+
excelOptions?: {
|
|
138
|
+
fillHandle?: boolean;
|
|
139
|
+
};
|
|
137
140
|
eventOptions?: TableEventOptions;
|
|
138
141
|
container?: HTMLElement | null;
|
|
139
142
|
columnResizeMode?: 'all' | 'none' | 'header' | 'body';
|
|
@@ -357,6 +360,7 @@ export interface BaseTableAPI {
|
|
|
357
360
|
isRowHeader: (col: number, row: number) => boolean;
|
|
358
361
|
getCopyValue: () => string;
|
|
359
362
|
getSelectedCellInfos: () => CellInfo[][];
|
|
363
|
+
getSelectedCellRanges: () => CellRange[];
|
|
360
364
|
getCellInfo: (col: number, row: number) => Omit<MousePointerCellEvent, 'target'>;
|
|
361
365
|
showTooltip: (col: number, row: number, tooltipOptions?: TooltipOptions) => void;
|
|
362
366
|
measureText: (text: string, font: {
|