@hi-ui/table 4.0.0-alpha.20 → 4.0.0-alpha.21
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/README.md +155 -6
- package/lib/cjs/BaseTable.js +1 -1
- package/lib/cjs/BaseTable.js.map +1 -1
- package/lib/cjs/TableAdvancedFilter.js +166 -0
- package/lib/cjs/TableAdvancedFilter.js.map +1 -0
- package/lib/cjs/TableColumnMenu.js +179 -0
- package/lib/cjs/TableColumnMenu.js.map +1 -0
- package/lib/cjs/TableHeader.js +12 -5
- package/lib/cjs/TableHeader.js.map +1 -1
- package/lib/cjs/styles/index.scss.js +1 -1
- package/lib/cjs/use-table.js +54 -10
- package/lib/cjs/use-table.js.map +1 -1
- package/lib/cjs/utils/index.js +3 -1
- package/lib/cjs/utils/index.js.map +1 -1
- package/lib/esm/BaseTable.js +1 -1
- package/lib/esm/BaseTable.js.map +1 -1
- package/lib/esm/TableAdvancedFilter.js +136 -0
- package/lib/esm/TableAdvancedFilter.js.map +1 -0
- package/lib/esm/TableColumnMenu.js +152 -0
- package/lib/esm/TableColumnMenu.js.map +1 -0
- package/lib/esm/TableHeader.js +12 -5
- package/lib/esm/TableHeader.js.map +1 -1
- package/lib/esm/styles/index.scss.js +1 -1
- package/lib/esm/use-table.js +54 -10
- package/lib/esm/use-table.js.map +1 -1
- package/lib/esm/utils/index.js +3 -1
- package/lib/esm/utils/index.js.map +1 -1
- package/lib/types/TableAdvancedFilter.d.ts +9 -0
- package/lib/types/TableColumnMenu.d.ts +2 -0
- package/lib/types/TableHeader.d.ts +1 -0
- package/lib/types/context.d.ts +14 -0
- package/lib/types/use-table.d.ts +7 -0
- package/package.json +15 -13
- package/lib/cjs/TableHeaderCellMenu.js +0 -49
- package/lib/cjs/TableHeaderCellMenu.js.map +0 -1
- package/lib/esm/TableHeaderCellMenu.js +0 -29
- package/lib/esm/TableHeaderCellMenu.js.map +0 -1
- package/lib/types/TableHeaderCellMenu.d.ts +0 -11
package/README.md
CHANGED
|
@@ -1,11 +1,160 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Table 表格
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
可容纳多种数据类型的大型数据容器,并可支持多种数据相关和表格属性设置相关的操作,具有强大的统计功能
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 何时使用
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
当需要管理一定量级的统一结构的数据记录时
|
|
8
|
+
|
|
9
|
+
当需要对一部分全部数据进行编辑、筛选过滤时
|
|
10
|
+
|
|
11
|
+
## 特别说明
|
|
12
|
+
|
|
13
|
+
- 按照 React 的规范,所有的数组组件必须绑定 key。Table 组件的 data 属性的每一列也需要指定一个 key 值来表明每一行数据的唯一性。同时基于综合考虑(性能、维护性、功能间的组合性等),当没有 key 传入的时候,组件内部并不会帮您生成 key。当 key 不存在时可能会引起一系列的问题,还请注意。
|
|
14
|
+
- 在进行列冻结时,一定要传入**列宽(width)**!
|
|
15
|
+
|
|
16
|
+
## Props
|
|
17
|
+
|
|
18
|
+
| 属性名 | 描述 | 类型 | 可选值 | 默认值 |
|
|
19
|
+
| --------------------- | ------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------- | ----------------------------------------- | ---------- |
|
|
20
|
+
| data | 表格数据 | object[] | - | - |
|
|
21
|
+
| fieldKey | 指定 data 表格数据中某一属性为 key | string | - | 'key' |
|
|
22
|
+
| columns | 表格列配置信息 | ColumnItem[] | - | - |
|
|
23
|
+
| bordered | 是否显示边框(表头分组模式下,表格自带边框) | boolean | true \| false | false |
|
|
24
|
+
| sticky | 是否支持表头吸顶 | boolean | true \| false | false |
|
|
25
|
+
| stickyTop | 表头吸顶距离视口顶部距离 | number | - | 0 |
|
|
26
|
+
| highlightedColKeys | 高亮列(受控) | string[] | - | [] |
|
|
27
|
+
| expandedRender | 表格展开项 | (record: dataItem, index: number) => ReactNode \| Promise | - | - |
|
|
28
|
+
| rowExpandable | 设置是否允许行展开 | (record: dataItem ) => ReactNode \| Boolean | - | true |
|
|
29
|
+
| onExpand | 表格展开时的回调函数 | (expanded, row: object) => void | - | - |
|
|
30
|
+
| expandRowKeys | 内嵌式表格以及树形表格展开的行 | number[] | - | - |
|
|
31
|
+
| maxHeight | 表格最大高度,当穿过该高度时,展示滚动条且表头固定 | number | - | - |
|
|
32
|
+
| fixedToColumn | 表格列冻结设置,为 string 时仅支持从左侧冻结至某一列 | string \| FixedOption | columns 中对应的 dataKey | null |
|
|
33
|
+
| size | 配置表格尺寸 | string | 'large' \| 'default' \| 'small' \| 'mini' | 'default' |
|
|
34
|
+
| pagination | 表格分页配置项 | Pagination | - | null |
|
|
35
|
+
| errorRowKeys | 错误列(受控) | string[] | - | [] |
|
|
36
|
+
| highlightedRowKeys | 高亮行(受控) | string[] | - | [] |
|
|
37
|
+
| rowSelection | 行可选(受控) | RowSelection | - | null |
|
|
38
|
+
| dataSource | 异步数据源 | (current: number) => DataSource | - | null |
|
|
39
|
+
| showColMenu | 是否支持列操作 | boolean | - | false |
|
|
40
|
+
| striped | 是否展示为斑马纹效果 | boolean | - | false |
|
|
41
|
+
| setting | 是否集成控制面板功能 | boolean | - | false |
|
|
42
|
+
| emptyContent | 数据为空时的展示内容 | string \| () => ReactNode | - | '暂无数据' |
|
|
43
|
+
| resizable | 是否能够动态控制列宽 | boolean | true \| false | false |
|
|
44
|
+
| standard | 标准模式,默认集成 `showColMenu = true, sticky = true, bordered = true, setting = true, striped = true` | boolean | true \| false | false |
|
|
45
|
+
| loading | 加载中状态 | boolean | true \| false | false |
|
|
46
|
+
| scrollWidth | 表格滚动的宽度(当表格总设置宽度(含自适应列)大于表格父级容器宽度时需要设置)**3.7.0 版本以后,该属性不建议使用** | number | - | - |
|
|
47
|
+
| showColHighlight | 表格某一列`hover`时,该列高亮 | boolean | true \| false | false |
|
|
48
|
+
| draggable | 表格行可拖拽 | boolean | true \| false | false |
|
|
49
|
+
| hiddenColKeys | 隐藏列(受控) (v3.9.0 新增) | string[] | - | - |
|
|
50
|
+
| onHiddenColKeysChange | 列隐藏设置时回调 (v3.9.0 新增) | (hiddenColKeys: string[]) => void | - | - |
|
|
51
|
+
| cellRender | 全局控制单元格自定义渲染,优先级低于 column 的 render 方法 | (text: DataItem[ColumnItem[dataKey]]) => ReactNode | - | - |
|
|
9
52
|
|
|
10
|
-
|
|
53
|
+
## Event
|
|
54
|
+
|
|
55
|
+
| 属性名 | 描述 | 类型 | 可选值 | 默认值 |
|
|
56
|
+
| -------------- | ------------------ | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
|
|
57
|
+
| onHeaderRow | 行标题事件处理函数 | (item: ColumnItem[], index: number) => object | - | - |
|
|
58
|
+
| onLoadChildren | 点击异步加载子项 | (row: DataItem) => object[] \| Promise | - | - |
|
|
59
|
+
| onDragStart | 开始拖拽时触发 | (rowData: object) => void | rowData: 当前行的数据 | - |
|
|
60
|
+
| onDrop | 拖拽行放开时触发 | (dragRowData: object, dropRowData: object, data: object, level: Level) => boolean | Promise | dragRowData: 拖拽的行数据 <br/>dropRowData: 目标行数据 <br/>data:当前结构数据 <br/>level:当前级别数据 | - |
|
|
61
|
+
| onDropEnd | 拖拽成功时触发 | (dragRowData: object, dropRowData: object, data: object) => void | dragRowData: 拖拽的行数据 <br/>dropRowData: 目标行数据 <br/> data: 拖拽完成后的结构数据 | - |
|
|
62
|
+
|
|
63
|
+
> 在 onLoadChildren 方法中,返回的数据中会根据 `isLeaf` 字符控制左侧展开按钮的显示状态
|
|
64
|
+
|
|
65
|
+
### onHeaderRow 使用方法
|
|
66
|
+
|
|
67
|
+
```js
|
|
68
|
+
// demo 见【行操作-标题事件处理】
|
|
69
|
+
|
|
70
|
+
<Table
|
|
71
|
+
onHeaderRow={(columns, index) => {
|
|
72
|
+
return {
|
|
73
|
+
onClick: (event) => {}, // 点击行
|
|
74
|
+
onDoubleClick: (event) => {},
|
|
75
|
+
onContextMenu: (event) => {},
|
|
76
|
+
onMouseEnter: (event) => {}, // 鼠标移入行
|
|
77
|
+
onMouseLeave: (event) => {},
|
|
78
|
+
};
|
|
79
|
+
}}
|
|
80
|
+
/>
|
|
11
81
|
```
|
|
82
|
+
|
|
83
|
+
### Type
|
|
84
|
+
|
|
85
|
+
### ColumnItem
|
|
86
|
+
|
|
87
|
+
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|
|
88
|
+
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------- | ---------------------------- | ------ |
|
|
89
|
+
| title | 列标题 | string \| () => ReactNode | - | - |
|
|
90
|
+
| dataKey | 列对应数据项的唯一标识 | string \| number | - | - |
|
|
91
|
+
| align | 列对齐方式 | string | 'left' \| 'right' \|'center' | 'left' |
|
|
92
|
+
| selectFilters | 表头的筛选菜单, 更多配置请参考 [Select 组件](https://infra.mioffice.cn/hiui/zh-CN/components/select) (v3.7.1 新增) | object | - | null |
|
|
93
|
+
| sorter | 列排序函数 (v3.7.1 新增) | () => boolean | - | null |
|
|
94
|
+
| defaultSortOrder | 默认排序顺序 (v3.7.1 新增) | ascend \| descend | - | null |
|
|
95
|
+
| filterIcon | 自定义 filter 图标 (v3.7.1 新增) | ReactNode | - | null |
|
|
96
|
+
| filterDropdown | 自定义筛选菜单,此函数只负责渲染图层,需要自行编写各种交互 (v3.7.1 新增) | (props: {ColumnItem, setFilterDropdownVisible}) => ReactNode | - | null |
|
|
97
|
+
| filterDropdownWidth | 自定义筛选菜单宽度 (v3.7.1 新增) | number | - | 150 |
|
|
98
|
+
| filterDropdownClassName | 自定义筛选菜单 className (v3.7.1 新增) | string | - | - |
|
|
99
|
+
| onFilterDropdownVisibleChange | 自定义筛选下拉选项显示状态改变时的回调方法 (v3.7.1 新增) | (filterDropdownVisible, ColumnItem) => void | true \| false | false |
|
|
100
|
+
| avg | 该列是否支持平均值 | boolean | - | false |
|
|
101
|
+
| total | 该列是否支持合计 | boolean | - | - |
|
|
102
|
+
| width | 该列宽度 | number | - | - |
|
|
103
|
+
| children | 多级表头 | ColumnItem[] | - | - |
|
|
104
|
+
| render | 控制单元格自定义渲染 | (text: DataItem[ColumnItem[dataKey]], row: DataItem, index: number, dataKey: string) => ReactNode | - | - |
|
|
105
|
+
|
|
106
|
+
### DataSource
|
|
107
|
+
|
|
108
|
+
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|
|
109
|
+
| ----------------- | ----------------------------------------- | --------------------------------- | -------------------------------------------------- | ------------- |
|
|
110
|
+
| url | 请求的 url | string | - | - |
|
|
111
|
+
| type | 请求方法 | string | get \| post | get |
|
|
112
|
+
| data | post 请求时请求体参数 | object | - | - |
|
|
113
|
+
| params | url 查询参数 | object | - | - |
|
|
114
|
+
| headers | 请求头 | object | - | - |
|
|
115
|
+
| mode | 请求模式 | string | 'same-origin' \| 'cors' \| 'no-cors' \| 'navigate' | 'same-origin' |
|
|
116
|
+
| transformResponse | 成功时的回调,需要返回注入 table 的配置项 | (response: object) => TableConfig | - | - |
|
|
117
|
+
|
|
118
|
+
### Pagination
|
|
119
|
+
|
|
120
|
+
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|
|
121
|
+
| ---------------- | ---------------------------------------------------------- | --------------------------------------------------------- | --------------------------------- | --------- |
|
|
122
|
+
| type | 分页的类型 | string | 'default' \| 'simple' \| 'shrink' | 'default' |
|
|
123
|
+
| defaultCurrent | 默认的当前页数 | number | - | 1 |
|
|
124
|
+
| current | 当前页数 | number | - | - |
|
|
125
|
+
| max | 最大显示的页数 | number | - | 2 |
|
|
126
|
+
| pageSize | 每页条数 | number | - | 10 |
|
|
127
|
+
| pageSizeOptions | 指定每页可以显示多少条 | number[] | - | [] |
|
|
128
|
+
| total | 数据总数 | number | - | - |
|
|
129
|
+
| autoHide | 只有一页时是否隐藏分页器 | boolean | true \| false | false |
|
|
130
|
+
| showJumper | 是否显示跳转 | boolean | true \| false | false |
|
|
131
|
+
| onJump | 快速跳转时触发,回调值为当前页数 | (current: number) => void | - | - |
|
|
132
|
+
| onChange | 页码改变时的回调,回调值为当前页数、之前的页数和每页条数 | (current: number, prev: number, pageSize: number) => void | - | - | - |
|
|
133
|
+
| onPageSizeChange | 每页显示条数改变的回调函数,返回改变后的每页条数及当前页数 | (pageSize: number, current: number) => void | - | - | - |
|
|
134
|
+
|
|
135
|
+
### FixedOption
|
|
136
|
+
|
|
137
|
+
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|
|
138
|
+
| ----- | -------------------- | ------ | ------------------------ | ------ |
|
|
139
|
+
| left | 表格从左侧冻结至某列 | string | columns 中对应的 dataKey | - |
|
|
140
|
+
| right | 表格从右侧冻结至某列 | string | columns 中对应的 dataKey | - |
|
|
141
|
+
|
|
142
|
+
### RowSelection
|
|
143
|
+
|
|
144
|
+
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|
|
145
|
+
| ----------------- | ---------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | ---------------- | ------ |
|
|
146
|
+
| selectedRowKeys | 选中的行(受控) | string[] | row 中对应的 key | - |
|
|
147
|
+
| getCheckboxConfig | 行选择的配置项 | rowData => object | - | - |
|
|
148
|
+
| onChange | 选中项发生变化时的回调,如果是全选操作,`targetRow` 将是数组结构 | (selectedRowKeys: string[], targetRow?: object \| object[], shouldChecked?: boolean) => void | - | - |
|
|
149
|
+
| checkboxColWidth | 列选择 checkbox 所在列宽度 | number | - | - |
|
|
150
|
+
| checkAllOptions | 全选操作的配置项 | { filterIcon?: React.ReactNode } | - | - |
|
|
151
|
+
|
|
152
|
+
## CHANGELOG
|
|
153
|
+
|
|
154
|
+
| 参数 | 变更类型 | 变更内容 | 解决的问题 |
|
|
155
|
+
| ------------------------- | ---------- | ------------------------------------------- | ----------------------------------------- |
|
|
156
|
+
| selectFilters | deprecated | 取消内嵌 Select | - | 使用 filterDropdown 能替代满足场景 |
|
|
157
|
+
| onLoadChildren | feature | 必须返回数据 -> 返回 undefined 不做任何处理 | - | 强化功能:支持自定义控制更新 |
|
|
158
|
+
| expandEmbedRowKeys | feature | - | 字段:expandRowKeys -> expandEmbedRowKeys | 强化功能:支持内嵌面板独立控制 |
|
|
159
|
+
| defaultExpandEmbedRowKeys | feature | - | - | 强化功能:支持内嵌面板独立控制 |
|
|
160
|
+
| onEmbedExpand | feature | - | 字段:onExpand -> onEmbedExpand | 强化功能:支持内嵌面板独立控制 |
|
package/lib/cjs/BaseTable.js
CHANGED
|
@@ -213,7 +213,7 @@ var BaseTable = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
|
213
213
|
position: 'relative'
|
|
214
214
|
}
|
|
215
215
|
}, /*#__PURE__*/React__default['default'].createElement(TableHeader.TableHeader, {
|
|
216
|
-
prefixCls: prefixCls
|
|
216
|
+
prefixCls: prefixCls + "-header"
|
|
217
217
|
}), extraHeader ? /*#__PURE__*/React__default['default'].createElement("div", {
|
|
218
218
|
style: {
|
|
219
219
|
position: 'absolute',
|
package/lib/cjs/BaseTable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseTable.js","sources":["../../src/BaseTable.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","DEFAULT_COLUMNS","BaseTable","forwardRef","_a","ref","prefixCls","role","className","borderedProp","bordered","columns","striped","rowExpandable","expandEmbedRowKeysProp","expandEmbedRowKeys","onEmbedExpand","expandedRender","extra","rest","useUncontrolledState","expandEmbedRows","trySetExpandEmbedRows","useCheck","checkedIds","onCheck","onExpandEmbedRowsChange","isExpandEmbedRows","getEmbedPanelColumn","useCallback","embedExpandable","renderSwitcher","rowExpand","expanded","onNodeExpand","expandIcon","collapseIcon","React","isValidElement","IconButton","cx","icon","defaultLoadingIcon","tabIndex","onClick","embedPanelColumn","title","dataKey","width","align","render","_","rowItem","index","rowKey","id","sticky","isFunction","switcherIcon","shouldExpanded","MinusSquareOutlined","PlusSquareOutlined","useMemo","mergedColumns","embedColumn","providedValue","useTable","size","leftFrozenColKeys","rightFrozenColKeys","leftFixedColumnsWidth","rightFixedColumnsWidth","scrollLeft","scrollRight","hasBorder","extraHeader","header","extraFooter","footer","cls","TableProvider","value","style","position","TableHeader","right","zIndex","bottom","top","TableBody","length","__DEV__","displayName"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"BaseTable.js","sources":["../../src/BaseTable.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","DEFAULT_COLUMNS","BaseTable","forwardRef","_a","ref","prefixCls","role","className","borderedProp","bordered","columns","striped","rowExpandable","expandEmbedRowKeysProp","expandEmbedRowKeys","onEmbedExpand","expandedRender","extra","rest","useUncontrolledState","expandEmbedRows","trySetExpandEmbedRows","useCheck","checkedIds","onCheck","onExpandEmbedRowsChange","isExpandEmbedRows","getEmbedPanelColumn","useCallback","embedExpandable","renderSwitcher","rowExpand","expanded","onNodeExpand","expandIcon","collapseIcon","React","isValidElement","IconButton","cx","icon","defaultLoadingIcon","tabIndex","onClick","embedPanelColumn","title","dataKey","width","align","render","_","rowItem","index","rowKey","id","sticky","isFunction","switcherIcon","shouldExpanded","MinusSquareOutlined","PlusSquareOutlined","useMemo","mergedColumns","embedColumn","providedValue","useTable","size","leftFrozenColKeys","rightFrozenColKeys","leftFixedColumnsWidth","rightFixedColumnsWidth","scrollLeft","scrollRight","hasBorder","extraHeader","header","extraFooter","footer","cls","TableProvider","value","style","position","TableHeader","right","zIndex","bottom","top","TableBody","length","__DEV__","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,IAAMA,KAAK,GAAG,OAAd;;AACA,IAAMC,OAAO,GAAGC,sBAAAA,CAAa,OAAbA,CAAhB;;AAEA,IAAMC,eAAe,GAAG,EAAxB;AAEA;;;;IAGaC,SAAS,gBAAGC,gBAAAA,CACvB,UACEC,EADF,EAeEC,GAfF;;wBAEIC;MAAAA,sCAAYP;mBACZQ;MAAAA,4BAAOT;MACPU,eAAAA;MACUC,kBAAVC;sBACAC;MAAAA,kCAAUV;sBACVW;MAAAA,kCAAU;4BACVC;MAAAA,8CAAgB;MACIC,4BAApBC;MACAC,mBAAAA;MACAC,oBAAAA;MACAC,WAAAA;MACGC,wBAZL,YAAA,QAAA,aAAA,YAAA,WAAA,WAAA,iBAAA,sBAAA,iBAAA,kBAAA,SAAA;;;;;;8BAqBiDC,yCAAAA,CAC/C,EAD+CA,EAE/CN,sBAF+CM,EAG/CJ,aAH+CI;MAA1CC,eAAP;MAAwBC,qBAAxB;;kBAMqDC,iBAAAA,CAAS;AAC5DC,IAAAA,UAAU,EAAEH,eADgD;AAE5DI,IAAAA,OAAO,EAAEH;AAFmD,GAATC;MAA9CG,uBAAP;MAAgCC,iBAAhC;;;;;;;MAUMC,mBAAmB,GAAGC,iBAAAA,CAC1B,UAACC,eAAD;QACQC,cAAc,GAAG,SAAjBA,cAAiB,KAAA;UACrBzB,iBAAAA;UACA0B,iBAAAA;UAEAC,gBAAAA;UACAC,oBAAAA;UACAC,kBAAAA;UACAC,oBAAAA;;wBAUIC,yBAAAA,CAAMC,cAAND,CAAqBL,SAArBK,GAAiC;eAC5BL;;;UAGLA,WAAW;;YAETC,QAAQ,KAAK,WAAW;8BAExBI,yBAAAA,cAAAA,CAACE,qBAADF;AACE7B,YAAAA,SAAS,EAAEgC,YAAAA,CAAMlC,SAAJ,eAAFkC,EAAgClC,SAA9B,wBAAFkC;AACXC,YAAAA,IAAI,EAAEC;WAFRL;AAFJ,eAOO;8BAEHA,yBAAAA,cAAAA,CAACE,qBAADF;AACEM,YAAAA,QAAQ,EAAE,CAAC;AACXnC,YAAAA,SAAS,EAAEgC,YAAAA,CACNlC,SADQ,eAAFkC,EAETP,QAAQ,GACD3B,SADC,yBAAA,GAEDA,SAFC,yBAFCkC;AAMXC,YAAAA,IAAI,EAAER,QAAQ,GAAGE,UAAH,GAAgBC;AAC9BQ,YAAAA,OAAO,EAAE,gBAAA;qBAAMV,YAAY,CAAC,CAACD,QAAF;;WAT7BI;;;;aAeC;AA/CT;;QAkDMQ,gBAAgB,GAAoB;AACxCC,MAAAA,KAAK,EAAE,EADiC;AAExCC,MAAAA,OAAO,EAAE,6CAF+B;AAGxCC,MAAAA,KAAK,EAAE,EAHiC;AAIxCC,MAAAA,KAAK,EAAE,QAJiC;AAKxCC,MAAAA,MAAM,EAAE,eAAA,CAACC,CAAD,EAASC,OAAT,EAAuBC,KAAvB;;YAEAC,MAAM,GAAGF,OAAO,CAACG;YACjBC,MAAM,GAAG;YACTxB,SAAS,GAAGyB,wBAAAA,CAAW5C,aAAX4C,IAA4B5C,aAAa,CAACuC,OAAD,CAAzCK,GAAqD5C;YACjEoB,QAAQ,GAAGN,iBAAiB,CAAC2B,MAAD;YAE5BI,YAAY,GAAG3B,cAAc,CAAC;AAClCzB,UAAAA,SAAS,EAATA,SADkC;AAElC0B,UAAAA,SAAS,EAATA,SAFkC;AAGlCwB,UAAAA,MAAM,EAANA,MAHkC;AAIlCvB,UAAAA,QAAQ,EAARA,QAJkC;AAKlCC,UAAAA,YAAY,EAAE,qBAAA,CAACyB,cAAD;AACZjC,YAAAA,uBAAuB,CAAC0B,OAAD,EAAUO,cAAV,CAAvBjC;AANgC,WAAA;AAQlCS,UAAAA,UAAU,eAAEE,yBAAAA,cAAAA,CAACuB,yBAADvB,MAAAA,CARsB;AASlCD,UAAAA,YAAY,eAAEC,yBAAAA,cAAAA,CAACwB,wBAADxB,MAAAA;AAToB,SAAD;eAY5BqB;;AAxB+B;WA4BnCb;AAhF4B,GAAXhB,EAkF1B,CAACvB,SAAD,EAAYqB,iBAAZ,EAA+BD,uBAA/B,EAAwDb,aAAxD,CAlF0BgB;MAqFtBC,eAAe,GAAGgC,aAAAA,CAAQ;QAC1B,CAAC7C,gBAAgB,OAAO,KAAP;WAEd;AACLJ,MAAAA,aAAa,EAAbA,aADK;AAELE,MAAAA,kBAAkB,EAAED,sBAFf;AAGLE,MAAAA,aAAa,EAAbA,aAHK;AAILC,MAAAA,cAAc,EAAdA;AAJK;AAHsB,GAAP6C,EASrB,CAACjD,aAAD,EAAgBC,sBAAhB,EAAwCE,aAAxC,EAAuDC,cAAvD,CATqB6C;MAWlBC,aAAa,GAAG1B,yBAAAA,CAAMyB,OAANzB,CAAc;QAC9BP,iBAAiB;UACbkC,WAAW,GAAGpC,mBAAmB,CAACE,eAAD;cAC/BkC,oBAAgBrD;;;WAGnBA;AANa,GAAA0B,EAOnB,CAACP,eAAD,EAAkBF,mBAAlB,EAAuCjB,OAAvC,CAPmB0B;MAShB4B,aAAa,GAAGC,iBAAAA,iCAAc/C;AAAMR,IAAAA,OAAO,EAAEoD;AAAe9C,IAAAA,cAAc,EAAdA;IAA5CiD;MAGpBxD,QADF,GASIuD,aATJ,CACEvD;MACAyD,IAFF,GASIF,aATJ,CAEEE;MACAC,iBAHF,GASIH,aATJ,CAGEG;MACAC,kBAJF,GASIJ,aATJ,CAIEI;MACAC,qBALF,GASIL,aATJ,CAKEK;MACAC,sBANF,GASIN,aATJ,CAMEM;MACAC,UAPF,GASIP,aATJ,CAOEO;MACAC,WARF,GASIR,aATJ,CAQEQ;MAGIC,SAAS,GAAGjE,YAAY,SAAZA,IAAAA,YAAY,WAAZA,GAAAA,YAAAA,GAAgBC;MAE5BiE,WAAW,GAAGzD,KAAK,IAAIA,KAAK,CAAC0D;MAC7BC,WAAW,GAAG3D,KAAK,IAAIA,KAAK,CAAC4D;MAE7BC,GAAG,GAAGvC,YAAAA,CACVlC,SADUkC,EAEVhC,SAFUgC,EAGVkC,SAAS,IAAOpE,SAAP,eAHCkC,EAIV5B,OAAO,IAAON,SAAP,cAJGkC,EAKV2B,IAAI,IAAO7D,SAAP,YAAOA,GAAmB6D,IALpB3B;sBASVH,yBAAAA,cAAAA,MAAAA;AAAKhC,IAAAA,GAAG,EAAEA;AAAKE,IAAAA,IAAI,EAAEA;AAAMC,IAAAA,SAAS,EAAEuE;GAAtC1C,eACEA,yBAAAA,cAAAA,MAAAA;AAAK7B,IAAAA,SAAS,EAAKF,SAAL;GAAd+B,eACEA,yBAAAA,cAAAA,CAAC2C,qBAAD3C;AACE4C,IAAAA,KAAK,kCACAhB;AACHhD,MAAAA,cAAc,EAAdA;;AAEAU,MAAAA,iBAAiB,EAAjBA;AACAD,MAAAA,uBAAuB,EAAvBA;;GANJW,eASEA,yBAAAA,cAAAA,MAAAA;AAAK6C,IAAAA,KAAK,EAAE;AAAEC,MAAAA,QAAQ,EAAE;AAAZ;GAAZ9C,eACEA,yBAAAA,cAAAA,CAAC+C,uBAAD/C;AAAa/B,IAAAA,SAAS,EAAKA,SAAL;GAAtB+B,CADFA,EAIGsC,WAAW,gBACVtC,yBAAAA,cAAAA,MAAAA;AAAK6C,IAAAA,KAAK,EAAE;AAAEC,MAAAA,QAAQ,EAAE,UAAZ;AAAwBE,MAAAA,KAAK,EAAE,CAA/B;AAAkCC,MAAAA,MAAM,EAAE,EAA1C;AAA8CC,MAAAA,MAAM,EAAE,CAAtD;AAAyDC,MAAAA,GAAG,EAAE;AAA9D;GAAZnD,EACGsC,WADHtC,CADU,GAIR,IARNA,CATFA,eAoBEA,yBAAAA,cAAAA,CAACoD,mBAADpD;AAAW/B,IAAAA,SAAS,EAAEA;GAAtB+B,CApBFA,CADFA,EAyBGmC,UAAU,GAAG,CAAbA,IAAkBJ,iBAAiB,CAACsB,MAAlBtB,GAA2B,CAA7CI,gBACCnC,yBAAAA,cAAAA,MAAAA;AACE7B,IAAAA,SAAS,EAAKF,SAAL,qBAAKA,GAA4BA,SAA5BA;AACd4E,IAAAA,KAAK,EAAE;AAAElC,MAAAA,KAAK,EAAEsB,qBAAqB,GAAG;AAAjC;GAFTjC,CADDmC,GAKG,IA9BNnC,EAiCGoC,WAAW,GAAG,CAAdA,IAAmBJ,kBAAkB,CAACqB,MAAnBrB,GAA4B,CAA/CI,gBACCpC,yBAAAA,cAAAA,MAAAA;AACE7B,IAAAA,SAAS,EAAKF,SAAL,oBAAKA,GAA2BA,SAA3BA;AACd4E,IAAAA,KAAK,EAAE;AAAElC,MAAAA,KAAK,EAAEuB,sBAAsB,GAAG;AAAlC;GAFTlC,CADDoC,GAKG,IAtCNpC,CADFA,EA0CGwC,WA1CHxC;AA3K6B,CAAVlC;;AAiOzB,IAAIwF,WAAJ,EAAa;AACXzF,EAAAA,SAAS,CAAC0F,WAAV1F,GAAwB,WAAxBA;;;"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
/** @LICENSE
|
|
2
|
+
* @hi-ui/table
|
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/table#readme
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) HIUI <mi-hiui@xiaomi.com>.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/
|
|
10
|
+
'use strict';
|
|
11
|
+
|
|
12
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
+
|
|
14
|
+
Object.defineProperty(exports, '__esModule', {
|
|
15
|
+
value: true
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
var React = require('react');
|
|
19
|
+
|
|
20
|
+
var classname = require('@hi-ui/classname');
|
|
21
|
+
|
|
22
|
+
var context = require('./context.js');
|
|
23
|
+
|
|
24
|
+
var TableColumnMenu = require('./TableColumnMenu.js');
|
|
25
|
+
|
|
26
|
+
var Select = require('@hi-ui/select');
|
|
27
|
+
|
|
28
|
+
var icons = require('@hi-ui/icons');
|
|
29
|
+
|
|
30
|
+
var Popper = require('@hi-ui/popper');
|
|
31
|
+
|
|
32
|
+
var useToggle = require('@hi-ui/use-toggle');
|
|
33
|
+
|
|
34
|
+
var typeAssertion = require('@hi-ui/type-assertion');
|
|
35
|
+
|
|
36
|
+
function _interopDefaultLegacy(e) {
|
|
37
|
+
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
38
|
+
'default': e
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
43
|
+
|
|
44
|
+
var Select__default = /*#__PURE__*/_interopDefaultLegacy(Select);
|
|
45
|
+
|
|
46
|
+
var Popper__default = /*#__PURE__*/_interopDefaultLegacy(Popper);
|
|
47
|
+
|
|
48
|
+
var renderFilter = function renderFilter(_ref) {
|
|
49
|
+
var prefixCls = _ref.prefixCls,
|
|
50
|
+
columnKey = _ref.columnKey,
|
|
51
|
+
column = _ref.column,
|
|
52
|
+
showColMenu = _ref.showColMenu;
|
|
53
|
+
var _column$raw = column.raw,
|
|
54
|
+
sorter = _column$raw.sorter,
|
|
55
|
+
filterIcon = _column$raw.filterIcon,
|
|
56
|
+
selectFilters = _column$raw.selectFilters;
|
|
57
|
+
return [showColMenu && /*#__PURE__*/React__default['default'].createElement(TableColumnMenu.TableColumnMenu, {
|
|
58
|
+
prefixCls: prefixCls + "-dropdown",
|
|
59
|
+
key: "0",
|
|
60
|
+
columnKey: columnKey,
|
|
61
|
+
column: column
|
|
62
|
+
}), sorter && !showColMenu && /*#__PURE__*/React__default['default'].createElement(SorterMenu, {
|
|
63
|
+
prefixCls: prefixCls + "-sorter",
|
|
64
|
+
key: "1",
|
|
65
|
+
column: column
|
|
66
|
+
}), selectFilters && /*#__PURE__*/React__default['default'].createElement(Select__default['default'], Object.assign({
|
|
67
|
+
prefixCls: prefixCls + "-select",
|
|
68
|
+
key: "2"
|
|
69
|
+
}, selectFilters)), filterIcon && /*#__PURE__*/React__default['default'].createElement(FilterDropdown, {
|
|
70
|
+
prefixCls: prefixCls + "-custom",
|
|
71
|
+
key: "3",
|
|
72
|
+
column: column
|
|
73
|
+
})].filter(Boolean);
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
var SorterMenu = function SorterMenu(_ref2) {
|
|
77
|
+
var _cx, _cx2;
|
|
78
|
+
|
|
79
|
+
var prefixCls = _ref2.prefixCls,
|
|
80
|
+
column = _ref2.column;
|
|
81
|
+
var columnKey = column.dataKey;
|
|
82
|
+
|
|
83
|
+
var _useTableContext = context.useTableContext(),
|
|
84
|
+
activeSorterColumn = _useTableContext.activeSorterColumn,
|
|
85
|
+
activeSorterType = _useTableContext.activeSorterType,
|
|
86
|
+
setActiveSorterColumn = _useTableContext.setActiveSorterColumn,
|
|
87
|
+
setActiveSorterType = _useTableContext.setActiveSorterType;
|
|
88
|
+
|
|
89
|
+
return /*#__PURE__*/React__default['default'].createElement("div", {
|
|
90
|
+
className: prefixCls
|
|
91
|
+
}, /*#__PURE__*/React__default['default'].createElement("span", {
|
|
92
|
+
className: classname.cx(prefixCls + "__icon", (_cx = {}, _cx[prefixCls + "__icon--active"] = activeSorterType === 'ascend' && activeSorterColumn === columnKey, _cx)),
|
|
93
|
+
onClick: function onClick(e) {
|
|
94
|
+
if (activeSorterType === 'ascend' && activeSorterColumn === columnKey) {
|
|
95
|
+
setActiveSorterType(null);
|
|
96
|
+
setActiveSorterColumn(null);
|
|
97
|
+
} else {
|
|
98
|
+
setActiveSorterType('ascend');
|
|
99
|
+
setActiveSorterColumn(columnKey);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}, /*#__PURE__*/React__default['default'].createElement(icons.CaretUpFilled, null)), /*#__PURE__*/React__default['default'].createElement("span", {
|
|
103
|
+
className: classname.cx(prefixCls + "__icon", (_cx2 = {}, _cx2[prefixCls + "__icon--active"] = activeSorterType === 'descend' && activeSorterColumn === columnKey, _cx2)),
|
|
104
|
+
onClick: function onClick(e) {
|
|
105
|
+
if (activeSorterType === 'descend' && activeSorterColumn === columnKey) {
|
|
106
|
+
setActiveSorterType(null);
|
|
107
|
+
setActiveSorterColumn(null);
|
|
108
|
+
} else {
|
|
109
|
+
setActiveSorterType('descend');
|
|
110
|
+
setActiveSorterColumn(columnKey);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}, /*#__PURE__*/React__default['default'].createElement(icons.CaretDownFilled, null)));
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
var FilterDropdown = function FilterDropdown(_ref3) {
|
|
117
|
+
var prefixCls = _ref3.prefixCls,
|
|
118
|
+
column = _ref3.column;
|
|
119
|
+
var _column$raw2 = column.raw,
|
|
120
|
+
filterIcon = _column$raw2.filterIcon,
|
|
121
|
+
filterDropdown = _column$raw2.filterDropdown,
|
|
122
|
+
filterDropdownWidth = _column$raw2.filterDropdownWidth,
|
|
123
|
+
onFilterDropdownVisibleChange = _column$raw2.onFilterDropdownVisibleChange,
|
|
124
|
+
filterDropdownClassName = _column$raw2.filterDropdownClassName;
|
|
125
|
+
|
|
126
|
+
var _useUncontrolledToggl = useToggle.useUncontrolledToggle({
|
|
127
|
+
onOpen: function onOpen() {
|
|
128
|
+
return onFilterDropdownVisibleChange === null || onFilterDropdownVisibleChange === void 0 ? void 0 : onFilterDropdownVisibleChange(true, column);
|
|
129
|
+
},
|
|
130
|
+
onClose: function onClose() {
|
|
131
|
+
return onFilterDropdownVisibleChange === null || onFilterDropdownVisibleChange === void 0 ? void 0 : onFilterDropdownVisibleChange(false, column);
|
|
132
|
+
}
|
|
133
|
+
}),
|
|
134
|
+
menuVisible = _useUncontrolledToggl[0],
|
|
135
|
+
menuVisibleAction = _useUncontrolledToggl[1];
|
|
136
|
+
|
|
137
|
+
var _React$useState = React__default['default'].useState(null),
|
|
138
|
+
menuTrigger = _React$useState[0],
|
|
139
|
+
setMenuTrigger = _React$useState[1];
|
|
140
|
+
|
|
141
|
+
return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("span", {
|
|
142
|
+
className: prefixCls + "__trigger",
|
|
143
|
+
ref: setMenuTrigger,
|
|
144
|
+
onClick: menuVisibleAction.not
|
|
145
|
+
}, filterIcon), /*#__PURE__*/React__default['default'].createElement(Popper__default['default'], {
|
|
146
|
+
className: prefixCls + "__popper",
|
|
147
|
+
visible: menuVisible,
|
|
148
|
+
attachEl: menuTrigger,
|
|
149
|
+
onClose: menuVisibleAction.off,
|
|
150
|
+
// @DesignToken zIndex: `overlay`
|
|
151
|
+
zIndex: 1050
|
|
152
|
+
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
153
|
+
className: classname.cx(prefixCls + "__content", filterDropdownClassName),
|
|
154
|
+
style: {
|
|
155
|
+
width: filterDropdownWidth
|
|
156
|
+
}
|
|
157
|
+
}, typeAssertion.isFunction(filterDropdown) ? filterDropdown({
|
|
158
|
+
columnData: column,
|
|
159
|
+
setFilterDropdownVisible: menuVisibleAction.set
|
|
160
|
+
}) : null)));
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
exports.FilterDropdown = FilterDropdown;
|
|
164
|
+
exports.SorterMenu = SorterMenu;
|
|
165
|
+
exports.renderFilter = renderFilter;
|
|
166
|
+
//# sourceMappingURL=TableAdvancedFilter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableAdvancedFilter.js","sources":["../../src/TableAdvancedFilter.tsx"],"sourcesContent":[null],"names":["renderFilter","prefixCls","columnKey","column","showColMenu","raw","sorter","filterIcon","selectFilters","React","TableColumnMenu","key","SorterMenu","Select","FilterDropdown","filter","Boolean","dataKey","useTableContext","activeSorterColumn","activeSorterType","setActiveSorterColumn","setActiveSorterType","className","cx","onClick","e","CaretUpFilled","CaretDownFilled","filterDropdown","filterDropdownWidth","onFilterDropdownVisibleChange","filterDropdownClassName","useUncontrolledToggle","onOpen","onClose","menuVisible","menuVisibleAction","useState","menuTrigger","setMenuTrigger","ref","not","Popper","visible","attachEl","off","zIndex","style","width","isFunction","columnData","setFilterDropdownVisible","set"],"mappings":"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"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/** @LICENSE
|
|
2
|
+
* @hi-ui/table
|
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/table#readme
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) HIUI <mi-hiui@xiaomi.com>.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/
|
|
10
|
+
'use strict';
|
|
11
|
+
|
|
12
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
+
|
|
14
|
+
Object.defineProperty(exports, '__esModule', {
|
|
15
|
+
value: true
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
var tslib = require('tslib');
|
|
19
|
+
|
|
20
|
+
var React = require('react');
|
|
21
|
+
|
|
22
|
+
var classname = require('@hi-ui/classname');
|
|
23
|
+
|
|
24
|
+
var env = require('@hi-ui/env');
|
|
25
|
+
|
|
26
|
+
var icons = require('@hi-ui/icons');
|
|
27
|
+
|
|
28
|
+
var iconButton = require('@hi-ui/icon-button');
|
|
29
|
+
|
|
30
|
+
var Popper = require('@hi-ui/popper');
|
|
31
|
+
|
|
32
|
+
var useToggle = require('@hi-ui/use-toggle');
|
|
33
|
+
|
|
34
|
+
var context = require('./context.js');
|
|
35
|
+
|
|
36
|
+
function _interopDefaultLegacy(e) {
|
|
37
|
+
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
38
|
+
'default': e
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
43
|
+
|
|
44
|
+
var Popper__default = /*#__PURE__*/_interopDefaultLegacy(Popper);
|
|
45
|
+
|
|
46
|
+
var _prefix = classname.getPrefixCls('table-column-menu');
|
|
47
|
+
/**
|
|
48
|
+
* TODO: What is Table
|
|
49
|
+
*/
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
var TableColumnMenu = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
53
|
+
var _a$prefixCls = _a.prefixCls,
|
|
54
|
+
prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
|
|
55
|
+
columnKey = _a.columnKey,
|
|
56
|
+
column = _a.column;
|
|
57
|
+
|
|
58
|
+
tslib.__rest(_a, ["prefixCls", "role", "className", "columnKey", "column"]);
|
|
59
|
+
|
|
60
|
+
var _useTableContext = context.useTableContext(),
|
|
61
|
+
activeSorterType = _useTableContext.activeSorterType,
|
|
62
|
+
activeSorterColumn = _useTableContext.activeSorterColumn,
|
|
63
|
+
setActiveSorterType = _useTableContext.setActiveSorterType,
|
|
64
|
+
setActiveSorterColumn = _useTableContext.setActiveSorterColumn,
|
|
65
|
+
leftFreezeColumn = _useTableContext.leftFreezeColumn,
|
|
66
|
+
setLeftFreezeColumn = _useTableContext.setLeftFreezeColumn,
|
|
67
|
+
isHighlightedCol = _useTableContext.isHighlightedCol,
|
|
68
|
+
onHighlightedColChange = _useTableContext.onHighlightedColChange;
|
|
69
|
+
|
|
70
|
+
var canSort = !!column.raw.sorter;
|
|
71
|
+
|
|
72
|
+
var _useToggle = useToggle.useToggle(),
|
|
73
|
+
menuVisible = _useToggle[0],
|
|
74
|
+
menuVisibleAction = _useToggle[1];
|
|
75
|
+
|
|
76
|
+
var _React$useState = React__default['default'].useState(null),
|
|
77
|
+
menuTrigger = _React$useState[0],
|
|
78
|
+
setMenuTrigger = _React$useState[1]; // TODO:处理 column 模型支持 cellRender,一直出 checkbox、expandIcon 高级选项
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(iconButton.IconButton, {
|
|
82
|
+
className: prefixCls + "__trigger",
|
|
83
|
+
ref: setMenuTrigger,
|
|
84
|
+
onClick: menuVisibleAction.not,
|
|
85
|
+
icon: /*#__PURE__*/React__default['default'].createElement(icons.DownOutlined, null)
|
|
86
|
+
}), /*#__PURE__*/React__default['default'].createElement(Popper__default['default'], {
|
|
87
|
+
className: prefixCls + "__popper",
|
|
88
|
+
visible: menuVisible,
|
|
89
|
+
attachEl: menuTrigger,
|
|
90
|
+
onClose: menuVisibleAction.off,
|
|
91
|
+
// @DesignToken zIndex: `overlay`
|
|
92
|
+
zIndex: 1050
|
|
93
|
+
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
94
|
+
className: prefixCls + "__content"
|
|
95
|
+
}, canSort ? /*#__PURE__*/React__default['default'].createElement(TableColumnMenuItem, {
|
|
96
|
+
prefixCls: prefixCls,
|
|
97
|
+
active: activeSorterType === 'ascend' && activeSorterColumn === columnKey,
|
|
98
|
+
// {/* TODO: 国际化 */}
|
|
99
|
+
// {/* {localeDatas.table.ascend} */}
|
|
100
|
+
content: '递增',
|
|
101
|
+
icon: /*#__PURE__*/React__default['default'].createElement(icons.SortAscendingOutlined, null),
|
|
102
|
+
onClick: function onClick() {
|
|
103
|
+
if (activeSorterType === 'ascend' && activeSorterColumn === columnKey) {
|
|
104
|
+
setActiveSorterType(null);
|
|
105
|
+
setActiveSorterColumn(null);
|
|
106
|
+
} else {
|
|
107
|
+
setActiveSorterType('ascend');
|
|
108
|
+
setActiveSorterColumn(columnKey);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
menuVisibleAction.off();
|
|
112
|
+
}
|
|
113
|
+
}) : null, canSort ? /*#__PURE__*/React__default['default'].createElement(TableColumnMenuItem, {
|
|
114
|
+
prefixCls: prefixCls,
|
|
115
|
+
active: activeSorterType === 'descend' && activeSorterColumn === columnKey,
|
|
116
|
+
// {/* TODO: 国际化 */}
|
|
117
|
+
// {/* {localeDatas.table.descend} */}
|
|
118
|
+
content: '递减',
|
|
119
|
+
icon: /*#__PURE__*/React__default['default'].createElement(icons.SortDescendingOutlined, null),
|
|
120
|
+
onClick: function onClick() {
|
|
121
|
+
if (activeSorterType === 'descend' && activeSorterColumn === columnKey) {
|
|
122
|
+
setActiveSorterType(null);
|
|
123
|
+
setActiveSorterColumn(null);
|
|
124
|
+
} else {
|
|
125
|
+
setActiveSorterType('descend');
|
|
126
|
+
setActiveSorterColumn(columnKey);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
menuVisibleAction.off();
|
|
130
|
+
}
|
|
131
|
+
}) : null, /*#__PURE__*/React__default['default'].createElement(TableColumnMenuItem, {
|
|
132
|
+
prefixCls: prefixCls,
|
|
133
|
+
active: isHighlightedCol(columnKey),
|
|
134
|
+
// {/* TODO: 国际化 */}
|
|
135
|
+
// {/* {localeDatas.table.highlight} */}
|
|
136
|
+
content: '高亮',
|
|
137
|
+
icon: /*#__PURE__*/React__default['default'].createElement(icons.ColumnHeightOutlined, null),
|
|
138
|
+
onClick: function onClick() {
|
|
139
|
+
onHighlightedColChange(column, !isHighlightedCol(columnKey));
|
|
140
|
+
menuVisibleAction.off();
|
|
141
|
+
}
|
|
142
|
+
}), /*#__PURE__*/React__default['default'].createElement(TableColumnMenuItem, {
|
|
143
|
+
prefixCls: prefixCls,
|
|
144
|
+
active: leftFreezeColumn === columnKey,
|
|
145
|
+
// {/* TODO: 国际化 */}
|
|
146
|
+
// {/* {localeDatas.table.freeze} */}
|
|
147
|
+
content: '冻结',
|
|
148
|
+
icon: /*#__PURE__*/React__default['default'].createElement(icons.LockOutlined, null),
|
|
149
|
+
onClick: function onClick() {
|
|
150
|
+
if (leftFreezeColumn === columnKey) {
|
|
151
|
+
setLeftFreezeColumn(null);
|
|
152
|
+
} else {
|
|
153
|
+
setLeftFreezeColumn(columnKey);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
menuVisibleAction.off();
|
|
157
|
+
}
|
|
158
|
+
}))));
|
|
159
|
+
});
|
|
160
|
+
|
|
161
|
+
if (env.__DEV__) {
|
|
162
|
+
TableColumnMenu.displayName = 'TableColumnMenu';
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
var TableColumnMenuItem = function TableColumnMenuItem(_ref) {
|
|
166
|
+
var prefixCls = _ref.prefixCls,
|
|
167
|
+
active = _ref.active,
|
|
168
|
+
onClick = _ref.onClick,
|
|
169
|
+
content = _ref.content,
|
|
170
|
+
icon = _ref.icon;
|
|
171
|
+
return /*#__PURE__*/React__default['default'].createElement("div", {
|
|
172
|
+
className: classname.cx(prefixCls + "__item", active && prefixCls + "__item--active"),
|
|
173
|
+
onClick: onClick
|
|
174
|
+
}, /*#__PURE__*/React__default['default'].createElement("span", null, content), icon);
|
|
175
|
+
};
|
|
176
|
+
|
|
177
|
+
exports.TableColumnMenu = TableColumnMenu;
|
|
178
|
+
exports.TableColumnMenuItem = TableColumnMenuItem;
|
|
179
|
+
//# sourceMappingURL=TableColumnMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableColumnMenu.js","sources":["../../src/TableColumnMenu.tsx"],"sourcesContent":[null],"names":["_prefix","getPrefixCls","TableColumnMenu","forwardRef","_a","ref","prefixCls","columnKey","column","useTableContext","activeSorterType","activeSorterColumn","setActiveSorterType","setActiveSorterColumn","leftFreezeColumn","setLeftFreezeColumn","isHighlightedCol","onHighlightedColChange","canSort","raw","sorter","useToggle","menuVisible","menuVisibleAction","React","useState","menuTrigger","setMenuTrigger","IconButton","className","onClick","not","icon","DownOutlined","Popper","visible","attachEl","onClose","off","zIndex","TableColumnMenuItem","active","content","SortAscendingOutlined","SortDescendingOutlined","ColumnHeightOutlined","LockOutlined","__DEV__","displayName","cx"],"mappings":"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"}
|