@zhenliang/sheet 0.1.7-3.beta.4 → 0.1.7-3.beta.7

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.
@@ -5,23 +5,26 @@ export var Remark = /*#__PURE__*/forwardRef(function (props, ref) {
5
5
  children = props.children,
6
6
  position = props.position;
7
7
  var transform = useMemo(function () {
8
- if (document.body.clientWidth - position.left < 200) {
9
- return 'translate(-100%,40px)';
8
+ var rightOverflow = document.body.clientWidth - position.left < 200;
9
+ var bottomOverflow = document.body.clientHeight - position.top < 400;
10
+ if (rightOverflow && bottomOverflow) {
11
+ return "translate(-100%, -100%)";
12
+ } else if (rightOverflow && !bottomOverflow) {
13
+ return "translate(-100%, 40px)";
14
+ } else if (!rightOverflow && bottomOverflow) {
15
+ return "translate(0, calc(40px - 100%))";
10
16
  }
11
17
  return '';
12
- }, [position.left]);
18
+ }, [position.left, showRemark]);
13
19
  return /*#__PURE__*/_jsx("div", {
14
20
  ref: ref,
15
21
  children: /*#__PURE__*/_jsx("div", {
16
- className: "harvest-remark-container",
22
+ className: "harvest-remark-container ".concat(showRemark ? 'remark-show' : null),
17
23
  style: {
18
24
  position: 'fixed',
19
25
  top: position.top,
20
26
  left: position.left,
21
- transform: transform,
22
- opacity: showRemark ? 1 : 0,
23
- pointerEvents: showRemark ? 'all' : 'none',
24
- minWidth: showRemark ? 200 : 0
27
+ transform: transform
25
28
  },
26
29
  children: showRemark ? children : null
27
30
  })
@@ -132,14 +132,15 @@ var Sheet = function Sheet(props) {
132
132
  },
133
133
  goTo: function goTo(row, col) {
134
134
  dispatch(function (d, getState) {
135
+ var _groupConfig$groupOpe, _groupConfig$groups;
135
136
  var _getState2 = getState(),
136
137
  groupConfig = _getState2.groupConfig,
137
138
  data = _getState2.data,
138
139
  eventBus = _getState2.eventBus;
139
- var nextLoop = groupConfig === null || groupConfig === void 0 ? void 0 : groupConfig.groupOpen.some(function (v) {
140
+ var nextLoop = groupConfig === null || groupConfig === void 0 || (_groupConfig$groupOpe = groupConfig.groupOpen) === null || _groupConfig$groupOpe === void 0 ? void 0 : _groupConfig$groupOpe.some(function (v) {
140
141
  return !v;
141
142
  });
142
- if (nextLoop) {
143
+ if (nextLoop && groupConfig !== null && groupConfig !== void 0 && (_groupConfig$groups = groupConfig.groups) !== null && _groupConfig$groups !== void 0 && _groupConfig$groups.length) {
143
144
  eventBus === null || eventBus === void 0 || eventBus.emit('group-open-title', true);
144
145
  }
145
146
  var container = sheetWrapperRef.current;
@@ -236,8 +237,8 @@ var Sheet = function Sheet(props) {
236
237
  }
237
238
  }, [state.editing, state.start]);
238
239
  var visibleData = useMemo(function () {
239
- var _groupConfig$groups, _state$data;
240
- if (!(groupConfig !== null && groupConfig !== void 0 && (_groupConfig$groups = groupConfig.groups) !== null && _groupConfig$groups !== void 0 && _groupConfig$groups.length)) {
240
+ var _groupConfig$groups2, _state$data;
241
+ if (!(groupConfig !== null && groupConfig !== void 0 && (_groupConfig$groups2 = groupConfig.groups) !== null && _groupConfig$groups2 !== void 0 && _groupConfig$groups2.length)) {
241
242
  return state.data;
242
243
  }
243
244
  return (_state$data = state.data) === null || _state$data === void 0 ? void 0 : _state$data.filter(function (item, index) {
@@ -96,6 +96,7 @@ span.harvest-sheet-container:focus {
96
96
  border-right: 1px solid;
97
97
  border-color: var(--cell-border-color);
98
98
  content: '';
99
+ pointer-events: none;
99
100
  }
100
101
 
101
102
  &.cell-title {
@@ -379,15 +380,35 @@ span.harvest-sheet-container:focus {
379
380
  }
380
381
  }
381
382
  .harvest-remark-container{
382
- opacity: 1;
383
383
  border:1px solid #E5E5E5;
384
+ max-height: 400px;
384
385
  border-radius: 2px;
385
386
  z-index: 10;
386
387
  margin-left: 5px;
387
- transition: min-height .2s linear,height .2s linear;
388
- padding: 8px;
389
- overflow: hidden;
388
+ overflow: auto;
389
+ padding: 0;
390
390
  background: rgb(255,255,255);
391
- // box-shadow: 2px 2px 5px #888888;
392
391
  box-shadow: 0 4px 8px rgba(216,223,235,.5);
393
392
  }
393
+ .harvest-remark-container::-webkit-scrollbar{
394
+ display: none;
395
+ }
396
+
397
+ .harvest-remark-container.remark-show{
398
+ padding: 8px;
399
+ animation: scaleAnimation .3s ease-in-out normal;
400
+ min-width:20px
401
+ }
402
+
403
+ @keyframes scaleAnimation {
404
+ 0% {
405
+ scale:0;
406
+ opacity: 0;
407
+ transform-origin:top left;
408
+ }
409
+ 100% {
410
+ scale:1;
411
+ opacity: 1;
412
+ transform-origin:top left;
413
+ }
414
+ }
@@ -41,7 +41,7 @@ var Table = function Table(_ref) {
41
41
  handleBatchAdd = _ref.handleBatchAdd,
42
42
  draggable = _ref.draggable,
43
43
  eventHandler = _ref.eventHandler,
44
- remarkRender = _ref.remarkRender,
44
+ RemarkRender = _ref.remarkRender,
45
45
  handleAddRemark = _ref.handleAddRemark,
46
46
  _ref$showRemark = _ref.showRemark,
47
47
  showRemark = _ref$showRemark === void 0 ? false : _ref$showRemark,
@@ -205,11 +205,15 @@ var Table = function Table(_ref) {
205
205
  setShowRemark(!!(data !== null && data !== void 0 && (_data$row2 = data[row]) !== null && _data$row2 !== void 0 && (_data$row2 = _data$row2[col]) !== null && _data$row2 !== void 0 && (_data$row2 = _data$row2.record) !== null && _data$row2 !== void 0 && (_data$row2 = _data$row2.remarks) !== null && _data$row2 !== void 0 && _data$row2.includes(columnKey)));
206
206
  }, [offset, columns, data]);
207
207
  var remarkElement = useMemo(function () {
208
- if (!showRemark || !remarkInfo) {
208
+ if (!showRemark || !remarkInfo || !RemarkRender) {
209
209
  return null;
210
210
  }
211
- return remarkRender === null || remarkRender === void 0 ? void 0 : remarkRender(remarkInfo);
212
- }, [remarkRender, remarkInfo, showRemark, data]);
211
+ return /*#__PURE__*/_jsx(RemarkRender, _objectSpread(_objectSpread({}, remarkInfo), {}, {
212
+ close: function close() {
213
+ return setShowRemark(false);
214
+ }
215
+ }));
216
+ }, [RemarkRender, remarkInfo, showRemark, data]);
213
217
  var addRemark = useCallback(function (value) {
214
218
  handleAddRemark === null || handleAddRemark === void 0 || handleAddRemark(value);
215
219
  setShowRemark(true);
@@ -234,7 +238,6 @@ var Table = function Table(_ref) {
234
238
  _ref5$row = _ref5.row,
235
239
  row = _ref5$row === void 0 ? -1 : _ref5$row;
236
240
  var target = data === null || data === void 0 || (_data$row3 = data[row]) === null || _data$row3 === void 0 ? void 0 : _data$row3[col + 1];
237
- console.log(data, target, row, col);
238
241
  if ((target === null || target === void 0 ? void 0 : target.readonly) !== true && !target.fixed) {
239
242
  return /*#__PURE__*/_jsx("div", {
240
243
  className: "harvest-menu",
@@ -4,19 +4,20 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
4
4
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
5
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
6
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
10
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11
7
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
12
8
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
14
9
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
15
10
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
11
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
12
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
16
14
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
15
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
16
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
17
+ /* eslint-disable react-hooks/rules-of-hooks */
17
18
  import { getNumberEditor, getSelectEditor, Table } from "./..";
18
- import { Button, Input } from 'antd';
19
- import { isNil } from 'lodash';
19
+ import { Button, Input, Select } from 'antd';
20
+ import { isNil, uniq } from 'lodash';
20
21
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
21
22
  import { SwitchViewer } from "../core/viewer";
22
23
  import { SheetType } from "../type";
@@ -37,6 +38,64 @@ var RateViewer = function RateViewer(props) {
37
38
  children: value ? value + '%' : '-'
38
39
  });
39
40
  };
41
+ var RemarkRender = function RemarkRender(handleRemark, remarks) {
42
+ var render = function render(value) {
43
+ var _remarks$find;
44
+ var _useState = useState((remarks === null || remarks === void 0 || (_remarks$find = remarks.find(function (r) {
45
+ return r.id === value.id;
46
+ })) === null || _remarks$find === void 0 ? void 0 : _remarks$find.remarks) || []),
47
+ _useState2 = _slicedToArray(_useState, 2),
48
+ rm = _useState2[0],
49
+ setRm = _useState2[1];
50
+ var inputRef = useRef();
51
+ return /*#__PURE__*/_jsxs("div", {
52
+ style: {
53
+ background: 'white'
54
+ },
55
+ children: [/*#__PURE__*/_jsx("div", {
56
+ style: {
57
+ height: 350
58
+ }
59
+ }), /*#__PURE__*/_jsxs("p", {
60
+ children: [" columns:", value.columnKey]
61
+ }), /*#__PURE__*/_jsxs("p", {
62
+ children: [" id:", value.id]
63
+ }), /*#__PURE__*/_jsx("p", {
64
+ children: " bugs --"
65
+ }), /*#__PURE__*/_jsx(Select, {
66
+ onMouseDown: function onMouseDown(e) {
67
+ return e.stopPropagation();
68
+ },
69
+ options: [{
70
+ label: '2',
71
+ value: 3
72
+ }, {
73
+ label: '1',
74
+ value: 2
75
+ }]
76
+ }), rm === null || rm === void 0 ? void 0 : rm.map(function (r) {
77
+ return /*#__PURE__*/_jsx("p", {
78
+ children: r
79
+ }, r);
80
+ }), /*#__PURE__*/_jsx(Input, {
81
+ ref: inputRef,
82
+ autoFocus: true,
83
+ onPressEnter: function onPressEnter(e) {
84
+ setRm(function (s) {
85
+ return uniq([].concat(_toConsumableArray(s), [e.target.value]));
86
+ });
87
+ handleRemark([{
88
+ id: value.id,
89
+ remarks: [value.columnKey]
90
+ }]);
91
+ e.target.value = '';
92
+ inputRef.current.input.value = '';
93
+ }
94
+ })]
95
+ });
96
+ };
97
+ return render;
98
+ };
40
99
  var data = [{
41
100
  id: 2443,
42
101
  draftId: '101601',
@@ -231,9 +290,9 @@ var evaluateMethods = [{
231
290
  }];
232
291
  var EvaSelect = getSelectEditor(evaluateMethods);
233
292
  export default (function () {
234
- var _useState = useState(data),
235
- _useState2 = _slicedToArray(_useState, 1),
236
- state = _useState2[0];
293
+ var _useState3 = useState(data),
294
+ _useState4 = _slicedToArray(_useState3, 1),
295
+ state = _useState4[0];
237
296
  var columns = [{
238
297
  title: '默认使用',
239
298
  dataIndex: 'isEnabled',
@@ -434,31 +493,13 @@ export default (function () {
434
493
  });
435
494
  }, 3);
436
495
  }, []);
437
- var _useState3 = useState([]),
438
- _useState4 = _slicedToArray(_useState3, 2),
439
- currentRemark = _useState4[0],
440
- setCurrentRemark = _useState4[1];
441
- var renderRemark = useCallback(function (value) {
442
- return /*#__PURE__*/_jsxs("div", {
443
- style: {
444
- background: 'white'
445
- },
446
- children: [/*#__PURE__*/_jsxs("p", {
447
- children: [" columns:", value.columnKey]
448
- }), /*#__PURE__*/_jsxs("p", {
449
- children: [" id:", value.id]
450
- }), /*#__PURE__*/_jsx("p", {
451
- children: " bugs --"
452
- }), /*#__PURE__*/_jsx(Input, {
453
- onPressEnter: function onPressEnter(e) {
454
- setCurrentRemark([{
455
- id: value.id,
456
- remarks: [value.columnKey]
457
- }]);
458
- }
459
- })]
460
- });
461
- }, []);
496
+ var _useState5 = useState([]),
497
+ _useState6 = _slicedToArray(_useState5, 2),
498
+ currentRemark = _useState6[0],
499
+ setCurrentRemark = _useState6[1];
500
+ var RenderRemarkSimple = useMemo(function () {
501
+ return RemarkRender(setCurrentRemark, currentRemark);
502
+ }, [currentRemark]);
462
503
  var wrapData = useMemo(function () {
463
504
  return state.map(function (d) {
464
505
  var _currentRemark$find;
@@ -487,7 +528,7 @@ export default (function () {
487
528
  sheetInstance: sheetInstance,
488
529
  columns: columns,
489
530
  showRemark: true,
490
- remarkRender: renderRemark
531
+ remarkRender: RenderRemarkSimple
491
532
  // handleAddRemark={handleAddRemark}
492
533
  ,
493
534
  dataSource: wrapData,
@@ -60,6 +60,7 @@ export type RemarkProps = {
60
60
  cell: SheetType.CellPosition;
61
61
  columnKey: string;
62
62
  id?: string | number;
63
+ close: () => void;
63
64
  };
64
65
  export type TableProps = {
65
66
  /**
@@ -88,7 +89,7 @@ export type TableProps = {
88
89
  freeze?: boolean;
89
90
  showBackEdit?: boolean;
90
91
  showRemark?: boolean;
91
- remarkRender?: (props: RemarkProps) => ReactNode;
92
+ remarkRender?: React.FC<RemarkProps>;
92
93
  handleAddRemark?: (value: RemarkProps) => void;
93
94
  backEditStyle?: Partial<CSSProperties>;
94
95
  searchStyle?: Partial<CSSProperties>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhenliang/sheet",
3
- "version": "0.1.73.beta.4",
3
+ "version": "0.1.73.beta.7",
4
4
  "description": "A react library developed with dumi",
5
5
  "license": "MIT",
6
6
  "module": "dist/index.js",
@@ -21,9 +21,6 @@
21
21
  "prepublishOnly": "father doctor && npm run build",
22
22
  "start": "npm run dev"
23
23
  },
24
- "resolutions": {
25
- "@types/react": "17.0.40"
26
- },
27
24
  "commitlint": {
28
25
  "extends": [
29
26
  "@commitlint/config-conventional"
@@ -46,6 +43,9 @@
46
43
  "prettier --parser=typescript --write"
47
44
  ]
48
45
  },
46
+ "resolutions": {
47
+ "@types/react": "17.0.40"
48
+ },
49
49
  "dependencies": {
50
50
  "@ant-design/icons": "^4.6.2",
51
51
  "antd": "^4.24.0",
@@ -85,4 +85,4 @@
85
85
  "fizz.zhou@ap.jll.com"
86
86
  ],
87
87
  "preid": "beta"
88
- }
88
+ }