Skip to content

Commit

Permalink
Merge branch 'next' of https://github.com/gb853940223/S2 into mobile-tap
Browse files Browse the repository at this point in the history
  • Loading branch information
gongbei-wps committed Dec 13, 2024
2 parents 47ca2b4 + 375f3e5 commit 0cc48cb
Show file tree
Hide file tree
Showing 8 changed files with 59 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,19 +21,19 @@ exports[`Miss Dimension Values Tests should replace empty dimension value placeh

exports[`Miss Dimension Values Tests should replace empty dimension value placeholder when copy original data 1`] = `
"first second third number
总计 $$empty_field_value$$ $$empty_field_value$$ 1732771
总计 - - 1732771
维值-1 维值-2 维度-3 12222
维值-1 维值-3 维值-3 11111
维值-1 维值-3 维度-3 11111
维值-1 维值-3 小计
维值-1 小计 456
测试-1 测试-2 维度-3 4444567
测试-1 测试-3 $$empty_field_value$$ 785222
测试-1 测试-3 - 785222
测试-1 测试-4 维度-3 6455644
测试-1 测试-5 维度-3 1111
测试-1 小计 125555
测试-6 测试-x $$empty_field_value$$ 111111
测试-6 测试-7 $$empty_field_value$$ 67878
测试-6 测试-8 $$empty_field_value$$ 456.464
测试-6 测试-x - 111111
测试-6 测试-7 - 67878
测试-6 测试-8 - 456.464
测试-6 小计 123.416"
`;
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import {
totalData as drillDownTotalData,
} from 'tests/data/mock-drill-down-dataset.json';
import { assembleDataCfg } from 'tests/util';
import { EMPTY_FIELD_VALUE } from '../../../src';

jest.mock('@/sheet-type');

Expand Down Expand Up @@ -510,6 +511,7 @@ describe('Pivot Dataset Test', () => {
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
expect(dataSet.getFieldName(['1'])).toEqual(['1']);
expect(dataSet.getFieldName(EMPTY_FIELD_VALUE)).toStrictEqual('-');
});

test('should return correct field meta', () => {
Expand Down
19 changes: 18 additions & 1 deletion packages/s2-core/__tests__/unit/utils/text-spec.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ELLIPSIS_SYMBOL } from '@/common';
import { ELLIPSIS_SYMBOL, EMPTY_FIELD_VALUE } from '@/common';
import {
drawCustomContent,
getCellWidth,
Expand All @@ -8,6 +8,7 @@ import {
isUnchangedValue,
isUpDataValue,
isZeroOrEmptyValue,
replaceEmptyFieldValue,
} from '@/utils/text';
import {
createFakeSpreadSheet,
Expand Down Expand Up @@ -385,3 +386,19 @@ describe('getDisplayText', () => {
expect(getDisplayText(value, '@')).toEqual(result);
});
});

describe('replaceEmptyFieldValue', () => {
test.each`
value | result
${'value'} | ${'value'}
${EMPTY_FIELD_VALUE} | ${'-'}
${undefined} | ${undefined}
${0} | ${0}
${NaN} | ${NaN}
`(
'should get correct empty field display value for $value',
({ value, result }) => {
expect(replaceEmptyFieldValue(value)).toEqual(result);
},
);
});
8 changes: 6 additions & 2 deletions packages/s2-core/src/data-set/base-data-set.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,11 @@ import {
} from '../utils/condition/state-controller';
import { generateExtraFieldMeta } from '../utils/dataset/pivot-data-set';
import type { Indexes } from '../utils/indexes';
import { getDisplayText, getEmptyPlaceholder } from '../utils/text';
import {
getDisplayText,
getEmptyPlaceholder,
replaceEmptyFieldValue,
} from '../utils/text';
import type { GetCellMultiDataParams } from './index';
import type { GetCellDataParams, Query } from './interface';

Expand Down Expand Up @@ -145,7 +149,7 @@ export abstract class BaseDataSet {
return get(
this.getFieldMeta(realField, this.meta),
'name',
defaultValue ?? realDefaultValue,
replaceEmptyFieldValue(defaultValue ?? realDefaultValue),
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -158,8 +158,11 @@ export class BaseBrushSelection

let newX = this.endBrushPoint?.x + x;
let newY = this.endBrushPoint?.y + y;
let needScrollForX = true;
let needScrollForY = true;
// 有滚动条才需要滚动
let needScrollForX = isRowHeader
? !!facet.hRowScrollBar
: !!facet.hScrollBar;
let needScrollForY = !!facet.vScrollBar;
const vScrollBarWidth = facet.vScrollBar?.getBBox()?.width;
// 额外加缩进,保证 getShape 在 panelBox 内
const extraPixel = 2;
Expand Down
4 changes: 3 additions & 1 deletion packages/s2-core/src/utils/export/method.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import {
import type { Node } from '../../facet/layout/node';
import type { SpreadSheet } from '../../sheet-type';
import { resolveNillString } from '../layout';
import { replaceEmptyFieldValue } from '../text';

export function keyEqualTo(key: string, compareKey: string) {
if (!key || !compareKey) {
Expand Down Expand Up @@ -64,8 +65,9 @@ export const getHeaderMeasureFieldNames = (
}

// https://github.com/antvis/S2/issues/2688
// https://github.com/antvis/S2/pull/2829
if (!formatHeader) {
return resolveNillString(field);
return replaceEmptyFieldValue(resolveNillString(field)!);
}

return spreadsheet.dataSet.getFieldName(field);
Expand Down
13 changes: 13 additions & 0 deletions s2-site/docs/manual/migration-v2.zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -1016,6 +1016,19 @@ splitLine: {
}
```

#### 自定义 hook 变更

1.`layoutDataPosition` 废弃,新增 `layoutCellMeta` 用于自定义单元格元数据。

```diff
const s2Options = {
- layoutDataPosition: (s2, getCellData) => {}
+ layoutCellMeta: (cellMeta) => {}
}
```

具体请查看 [自定义单元格元数据](/examples/custom/custom-layout/#custom-layout-cell-meta) 相关示例。

### 组件层 (s2-react) <Badge>@antv/s2-react</Badge>

#### 移除 Ant Design 组件库依赖
Expand Down
10 changes: 7 additions & 3 deletions s2-site/examples/basic/pivot/demo/grid.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,14 @@ fetch(
width: 600,
height: 480,
hierarchyType: 'grid',
// 数值挂行头时, 自定义角头虚拟数值字段文本, 默认 "数值"
cornerExtraFieldText: '自定义',
interaction: {
copy: { enable: true },
withFormat: true,
withHeader: true,
copy: {
enable: true,
withFormat: true,
withHeader: true,
},
},
// 显示序号
// seriesNumber: {
Expand Down

0 comments on commit 0cc48cb

Please sign in to comment.