@kdcloudjs/table 1.1.5 → 1.1.6-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.
@@ -11,13 +11,15 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
11
11
  Object.defineProperty(exports, "__esModule", {
12
12
  value: true
13
13
  });
14
- exports.COLUMN_RESIZE_KEY = void 0;
14
+ exports.RESIZED_COLUMN_KEY = exports.LAST_RESIZED_COLUMN_KEY = exports.COLUMN_SIZE_KEY = void 0;
15
15
  exports.columnResize = columnResize;
16
16
 
17
- var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
17
+ var _set = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set"));
18
18
 
19
19
  var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
20
20
 
21
+ var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
22
+
21
23
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
22
24
 
23
25
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/taggedTemplateLiteral"));
@@ -55,8 +57,12 @@ function disableSelect(event) {
55
57
  }
56
58
 
57
59
  var stateKey = 'columnResize';
58
- var COLUMN_RESIZE_KEY = 'columnResize';
59
- exports.COLUMN_RESIZE_KEY = COLUMN_RESIZE_KEY;
60
+ var COLUMN_SIZE_KEY = 'columnResize';
61
+ exports.COLUMN_SIZE_KEY = COLUMN_SIZE_KEY;
62
+ var RESIZED_COLUMN_KEY = 'resizedColumn';
63
+ exports.RESIZED_COLUMN_KEY = RESIZED_COLUMN_KEY;
64
+ var LAST_RESIZED_COLUMN_KEY = 'lastResizedColumn';
65
+ exports.LAST_RESIZED_COLUMN_KEY = LAST_RESIZED_COLUMN_KEY;
60
66
 
61
67
  function columnResize() {
62
68
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -82,10 +88,10 @@ function columnResize() {
82
88
  columnSize[code] = fallbackSize;
83
89
  }
84
90
  }
85
- }); // 为了autofill时能取到最新值,实时存储一份最新的columnSize
91
+ }); // 实时存储一份最新的columnSize,与autoFill共用一份数据
86
92
  // 存在state里可能存到取不到最新的
87
93
 
88
- pipeline.setFeatureOptions(COLUMN_RESIZE_KEY, columnSize);
94
+ pipeline.setFeatureOptions(COLUMN_SIZE_KEY, columnSize);
89
95
 
90
96
  var onChangeSize = function onChangeSize(nextColumnSize) {
91
97
  window.requestAnimationFrame(function () {
@@ -97,7 +103,9 @@ function columnResize() {
97
103
  };
98
104
 
99
105
  var handleDoubleClick = function handleDoubleClick(e, col) {
100
- opts === null || opts === void 0 ? void 0 : opts.doubleClickCallback(e, col);
106
+ var _a;
107
+
108
+ (_a = opts.doubleClickCallback) === null || _a === void 0 ? void 0 : _a.call(opts, e, col);
101
109
  };
102
110
 
103
111
  var handleMouseDown = function handleMouseDown(e, col) {
@@ -105,7 +113,14 @@ function columnResize() {
105
113
  var changedColumnSize = {};
106
114
  var startX = e.clientX;
107
115
  var children = col.children,
108
- code = col.code;
116
+ code = col.code,
117
+ _col$features = col.features,
118
+ features = _col$features === void 0 ? {} : _col$features;
119
+ var minWidth = features.minWidth,
120
+ maxWidth = features.maxWidth;
121
+ var realMinSize = typeof minWidth === 'number' ? minWidth : minSize;
122
+ var realMaxSize = typeof maxWidth === 'number' ? maxWidth : maxSize;
123
+ var columnSize = pipeline.getFeatureOptions(COLUMN_SIZE_KEY);
109
124
  var recordColumnSize = columnSize;
110
125
  e.stopPropagation();
111
126
  var nextSize$ = (0, _rxjs.fromEvent)(window, 'mousemove').pipe(op.takeUntil((0, _rxjs.fromEvent)(window, 'mouseup')), op.map(function (e) {
@@ -126,17 +141,17 @@ function columnResize() {
126
141
  var currentDeltaWidth = Math.round(deltaSum * startSize / childrenWidthSum);
127
142
 
128
143
  if (index < leafChildColumns.length - 1) {
129
- nextColumnSize[code] = clamp(minSize, startSize + currentDeltaWidth, maxSize);
144
+ nextColumnSize[code] = clamp(realMinSize, startSize + currentDeltaWidth, realMaxSize);
130
145
  changedColumnSize[code] = nextColumnSize[code];
131
146
  deltaRemaining -= currentDeltaWidth;
132
147
  } else {
133
- nextColumnSize[code] = clamp(minSize, startSize + deltaRemaining, maxSize);
148
+ nextColumnSize[code] = clamp(realMinSize, startSize + deltaRemaining, realMaxSize);
134
149
  changedColumnSize[code] = nextColumnSize[code];
135
150
  }
136
151
  });
137
152
  } else {
138
153
  var startSize = columnSize[code];
139
- nextColumnSize[code] = clamp(minSize, startSize + deltaSum, maxSize);
154
+ nextColumnSize[code] = clamp(realMinSize, startSize + deltaSum, realMaxSize);
140
155
  changedColumnSize[code] = nextColumnSize[code];
141
156
  }
142
157
 
@@ -144,7 +159,16 @@ function columnResize() {
144
159
  return nextColumnSize;
145
160
  }));
146
161
  nextSize$.subscribe({
147
- next: onChangeSize,
162
+ next: function next(nextColumnSize) {
163
+ onChangeSize(nextColumnSize); // 由于COLUMN_RESIZE_KEY记录的是全量的列宽,此处记录被改变过的列宽
164
+
165
+ var resizedColumnSet = pipeline.getFeatureOptions(RESIZED_COLUMN_KEY) || new _set.default();
166
+ (0, _keys.default)(changedColumnSize).forEach(function (code) {
167
+ resizedColumnSet.add(code, changedColumnSize[code]);
168
+ });
169
+ pipeline.setFeatureOptions(RESIZED_COLUMN_KEY, resizedColumnSet);
170
+ pipeline.setFeatureOptions(LAST_RESIZED_COLUMN_KEY, code);
171
+ },
148
172
  complete: function complete() {
149
173
  var _context;
150
174
 
@@ -318,8 +318,9 @@ function useTablePipeline(ctx) {
318
318
  state = _useState2[0],
319
319
  setState = _useState2[1];
320
320
 
321
- var ref = (0, _react.useRef)({});
322
- ref.current.featureOptions = {};
321
+ var ref = (0, _react.useRef)({
322
+ featureOptions: {}
323
+ });
323
324
  return new TablePipeline({
324
325
  state: state,
325
326
  setState: setState,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kdcloudjs/table",
3
- "version": "1.1.5",
3
+ "version": "1.1.6-0",
4
4
  "description": "金蝶 react table 组件",
5
5
  "title": "table",
6
6
  "keywords": [