@lemon-fe/kits 1.0.0 → 1.0.1

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.
@@ -16,7 +16,7 @@ export declare type SelectEditorParams = Pick<SelectProps<any, BaseOptionType>,
16
16
  */
17
17
  action?: 'next' | 'stop' | 'none';
18
18
  };
19
- declare const _default: React.ForwardRefExoticComponent<ICellEditorParams<any, any> & Pick<SelectProps<any, BaseOptionType>, "disabled" | "options" | "virtual" | "showSearch" | "listHeight" | "allowClear" | "mode"> & {
19
+ declare const _default: React.ForwardRefExoticComponent<ICellEditorParams<any, any, any> & Pick<SelectProps<any, BaseOptionType>, "disabled" | "mode" | "showSearch" | "allowClear" | "options" | "virtual" | "listHeight"> & {
20
20
  fieldNames?: {
21
21
  label: string;
22
22
  value: string;
@@ -28,6 +28,6 @@ declare const _default: React.ForwardRefExoticComponent<ICellEditorParams<any, a
28
28
  /**
29
29
  * 完成选择后的单元格切换行为,默认为next
30
30
  */
31
- action?: "stop" | "next" | "none" | undefined;
31
+ action?: "stop" | "none" | "next" | undefined;
32
32
  } & React.RefAttributes<ICellEditorReactComp>>;
33
33
  export default _default;
@@ -82,7 +82,7 @@ export default class DataGrid<TData extends Record<string, any>> extends Compone
82
82
  private updateColumnDefs;
83
83
  private getFullColumnDef;
84
84
  private getColumnDefs;
85
- private isClientMode;
85
+ isClientMode(): boolean;
86
86
  private clearReadyQueue;
87
87
  afterReady(cb: () => void): void;
88
88
  private isPreserveSelected;
@@ -98,7 +98,7 @@ import CellIndexRender from "./renderer/CellIndexRenderer";
98
98
  import CellRenderer from "./renderer/CellRenderer";
99
99
  import DetailCellRenderer from "./renderer/DetailCellRenderer";
100
100
  import HeaderRenderer from "./renderer/HeaderRenderer";
101
- import { prefix, getColField, isColumn, withSyncRender, Store, Selection, columnTypes } from "./utils";
101
+ import { prefix, getColField, isColumn, withSyncRender, Store, Selection, columnTypes, isColumnDef } from "./utils";
102
102
 
103
103
  var add = function add(a, b) {
104
104
  return new BigNumber(a).plus(b);
@@ -327,8 +327,15 @@ var DataGrid = /*#__PURE__*/function (_Component) {
327
327
  rowSelection.onChange(result[0], result[1].filter(Boolean));
328
328
  }
329
329
  });
330
+ api.addEventListener('paginationChanged', function () {
331
+ if (_this.isClientMode()) {
332
+ _this.setState({
333
+ page: api.paginationGetCurrentPage() + 1
334
+ });
335
+ }
336
+ });
330
337
 
331
- case 10:
338
+ case 11:
332
339
  case "end":
333
340
  return _context.stop();
334
341
  }
@@ -524,8 +531,7 @@ var DataGrid = /*#__PURE__*/function (_Component) {
524
531
  });
525
532
 
526
533
  _this.state = _objectSpread({
527
- loading: false,
528
- useDataSource: props.dataSource !== undefined
534
+ loading: false
529
535
  }, _this.getPagination());
530
536
  _this.store = new Store({
531
537
  errors: new Map(),
@@ -887,13 +893,15 @@ var DataGrid = /*#__PURE__*/function (_Component) {
887
893
  pageSize = _this$state.pageSize;
888
894
  var totalPages = Math.ceil(dataSource.length / pageSize) || 1;
889
895
  var newPage = page > totalPages ? totalPages : page;
890
- this.setState({
891
- total: dataSource.length,
892
- page: newPage
893
- }, function () {
894
- if (newPage !== page && _this4.isClientMode()) {
896
+
897
+ if (newPage !== page && this.isClientMode()) {
898
+ this.afterReady(function () {
895
899
  _this4.api.paginationGoToPage(newPage - 1);
896
- }
900
+ });
901
+ }
902
+
903
+ this.setState({
904
+ total: dataSource.length
897
905
  });
898
906
  }
899
907
  }
@@ -909,8 +917,6 @@ var DataGrid = /*#__PURE__*/function (_Component) {
909
917
  defs = _this5$getColumnDefs2[0],
910
918
  leafColIds = _this5$getColumnDefs2[1];
911
919
 
912
- _this5.api.setColumnDefs(defs);
913
-
914
920
  if (state) {
915
921
  var newState = _toConsumableArray(state);
916
922
 
@@ -929,18 +935,41 @@ var DataGrid = /*#__PURE__*/function (_Component) {
929
935
  });
930
936
  }
931
937
  });
932
- /**
933
- * 初始化的时候,需要使用存储的columnState,不仅仅是顺序,其他情况由于在defs里已经有列的状态控制了
934
- */
935
938
 
936
- _this5.columnApi.applyColumnState({
937
- state: allState ? newState : newState.map(function (item) {
939
+ if (allState) {
940
+ /**
941
+ * 表格初始化列抖动问题:先调用setColumnDefs,后applyColumnState,会产生列移动动画,所以先处理一遍colDefs,将需要隐藏的列默认隐藏
942
+ */
943
+ defs.forEach(function (col) {
944
+ if (isColumnDef(col)) {
945
+ var colState = state.find(function (item) {
946
+ return item.colId === col.colId;
947
+ });
948
+
949
+ if (colState !== undefined && colState.hide) {
950
+ col.initialHide = true;
951
+ }
952
+ }
953
+ });
954
+ } else {
955
+ /**
956
+ * 初始化的时候,需要使用存储的columnState的所有属性,但其他情况由于在defs里已经有列的状态控制了,所以只需要应用排序不需要其他状态
957
+ */
958
+ newState = newState.map(function (item) {
938
959
  return {
939
960
  colId: item.colId
940
961
  };
941
- }),
962
+ });
963
+ }
964
+
965
+ _this5.api.setColumnDefs(defs);
966
+
967
+ _this5.columnApi.applyColumnState({
968
+ state: newState,
942
969
  applyOrder: true
943
970
  });
971
+ } else {
972
+ _this5.api.setColumnDefs(defs);
944
973
  }
945
974
  });
946
975
  }
@@ -1353,11 +1382,7 @@ var DataGrid = /*#__PURE__*/function (_Component) {
1353
1382
  return false;
1354
1383
  }
1355
1384
 
1356
- if (rowSelection.preserveSelectedRowKeys === undefined) {
1357
- return !this.isClientMode();
1358
- }
1359
-
1360
- return rowSelection.preserveSelectedRowKeys;
1385
+ return !!rowSelection.preserveSelectedRowKeys;
1361
1386
  }
1362
1387
  }, {
1363
1388
  key: "updateRowData",
@@ -48,10 +48,9 @@ export default function CellIndexRender(props) {
48
48
 
49
49
  var _grid$state = grid.state,
50
50
  page = _grid$state.page,
51
- pageSize = _grid$state.pageSize,
52
- useDataSource = _grid$state.useDataSource;
51
+ pageSize = _grid$state.pageSize;
53
52
 
54
- if (useDataSource) {
53
+ if (grid.isClientMode()) {
55
54
  return index + 1;
56
55
  }
57
56
 
@@ -91,7 +91,6 @@ export declare type DataGridState<TData> = {
91
91
  total: number;
92
92
  loading: boolean;
93
93
  error?: Error;
94
- useDataSource?: boolean;
95
94
  };
96
95
  export declare type GridStore = {
97
96
  errors: Map<string, Map<string, string[]>>;
@@ -1,8 +1,9 @@
1
- import type { ColDef } from '@ag-grid-community/core';
1
+ import type { ColDef, ColGroupDef } from '@ag-grid-community/core';
2
2
  import { Subject } from '@lemon-fe/utils';
3
3
  import type { ColType, ColGroupType, PathType } from './typings';
4
4
  export declare const prefix: (val?: string | undefined) => string;
5
5
  export declare function isColumn<T>(col: ColGroupType<T> | ColType<T>): col is ColType<T>;
6
+ export declare function isColumnDef<T>(col: ColGroupDef<T> | ColDef<T>): col is ColDef<T>;
6
7
  export declare function getColField(col: {
7
8
  field?: string;
8
9
  key?: string;
@@ -32,6 +32,9 @@ export var prefix = prefixClassName('grid');
32
32
  export function isColumn(col) {
33
33
  return col.children === undefined;
34
34
  }
35
+ export function isColumnDef(col) {
36
+ return col.children === undefined;
37
+ }
35
38
  export function getColField(col) {
36
39
  return col.field || col.key || (Array.isArray(col.dataIndex) ? col.dataIndex.join('.') : col.dataIndex) || col.colId;
37
40
  }
@@ -122,9 +122,10 @@ export default function SelectView(props) {
122
122
 
123
123
  if (list.current !== null) {
124
124
  if (mDataSource !== undefined) {
125
- if (list.current.ready()) {
126
- list.current.api.paginationGoToFirstPage();
127
- }
125
+ var grid = list.current;
126
+ grid.afterReady(function () {
127
+ grid.api.paginationGoToFirstPage();
128
+ });
128
129
  } else {
129
130
  list.current.fetch();
130
131
  }
@@ -67,7 +67,7 @@
67
67
 
68
68
  &-type-default&-shape-default {
69
69
  &::before {
70
- background-color: @color-disabled;
70
+ background-color: #c0c0c0;
71
71
  }
72
72
  }
73
73
 
package/es/init.js CHANGED
@@ -159,6 +159,14 @@ export default function init() {
159
159
  pointerEvents: 'none'
160
160
  }
161
161
  })
162
+ });
163
+ TimePicker.RangePicker.defaultProps = _objectSpread(_objectSpread({}, TimePicker.RangePicker.defaultProps), {}, {
164
+ suffixIcon: /*#__PURE__*/React.createElement(Icons.Clock, {
165
+ style: {
166
+ pointerEvents: 'none'
167
+ }
168
+ }),
169
+ clearIcon: /*#__PURE__*/React.createElement(Clear, null)
162
170
  }); //@ts-ignore
163
171
 
164
172
  Menu.defaultProps = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lemon-fe/kits",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "scripts": {
5
5
  "start": "dumi dev",
6
6
  "docs:build": "dumi build",