linkmore-design 1.1.7 → 1.1.9

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.
Files changed (73) hide show
  1. package/CHANGELOG.md +1056 -9
  2. package/dist/Form/FormItem/index.d.ts +7 -1
  3. package/dist/Form/demos/ruleTime.d.ts +2 -0
  4. package/dist/LmFilter/utils.d.ts +1 -0
  5. package/dist/LmTable/hooks/useRowSelectControllableValue.d.ts +2 -0
  6. package/dist/LmUpload/UploadList/ItemPictureCard.d.ts +2 -1
  7. package/dist/LmUpload/components/Preview.d.ts +5 -0
  8. package/dist/LmUpload/fns/index.d.ts +1 -0
  9. package/dist/LmUpload/wrapper/reducer.d.ts +4 -0
  10. package/dist/index.umd.js +582 -333
  11. package/dist/index.umd.min.js +16 -16
  12. package/dist/variables.css +10 -3
  13. package/es/Form/FormItem/index.d.ts +7 -1
  14. package/es/Form/FormItem/index.js +56 -13
  15. package/es/LmEditTable/EditTable.js +24 -21
  16. package/es/LmEditTable/style/index.css +3 -0
  17. package/es/LmEditTable/style/variables.css +3 -0
  18. package/es/LmEditTable/util.js +4 -4
  19. package/es/LmFilter/clearFilter/index.js +3 -1
  20. package/es/LmFilter/complexFilter/index.js +3 -2
  21. package/es/LmFilter/components/DropdownFIlter.js +8 -6
  22. package/es/LmFilter/style/index.css +4 -0
  23. package/es/LmFilter/style/variables.css +4 -0
  24. package/es/LmFilter/utils.js +18 -0
  25. package/es/LmFilter/wrapper/Filter.js +6 -2
  26. package/es/LmTable/Table.js +90 -84
  27. package/es/LmTable/hooks/useRowSelectControllableValue.js +67 -0
  28. package/es/LmTable/style/index.css +3 -3
  29. package/es/LmTable/style/variables.css +3 -3
  30. package/es/LmTable/util.js +9 -5
  31. package/es/LmUpload/LmUpload.js +1 -0
  32. package/es/LmUpload/UploadList/ItemPictureCard.d.ts +2 -1
  33. package/es/LmUpload/UploadList/ItemPictureCard.js +19 -5
  34. package/es/LmUpload/UploadList/index.js +13 -9
  35. package/es/LmUpload/components/Preview.d.ts +5 -0
  36. package/es/LmUpload/components/Preview.js +43 -0
  37. package/es/LmUpload/fns/index.d.ts +1 -0
  38. package/es/LmUpload/fns/index.js +22 -3
  39. package/es/LmUpload/wrapper/UploadWrapper.js +3 -0
  40. package/es/LmUpload/wrapper/reducer.d.ts +4 -0
  41. package/es/LmUpload/wrapper/reducer.js +12 -3
  42. package/es/styles/variables.css +10 -3
  43. package/lib/Form/FormItem/index.d.ts +7 -1
  44. package/lib/Form/FormItem/index.js +58 -14
  45. package/lib/LmEditTable/EditTable.js +24 -21
  46. package/lib/LmEditTable/style/index.css +3 -0
  47. package/lib/LmEditTable/style/variables.css +3 -0
  48. package/lib/LmEditTable/util.js +4 -4
  49. package/lib/LmFilter/clearFilter/index.js +3 -1
  50. package/lib/LmFilter/complexFilter/index.js +3 -2
  51. package/lib/LmFilter/components/DropdownFIlter.js +8 -6
  52. package/lib/LmFilter/style/index.css +4 -0
  53. package/lib/LmFilter/style/variables.css +4 -0
  54. package/lib/LmFilter/utils.js +18 -0
  55. package/lib/LmFilter/wrapper/Filter.js +6 -2
  56. package/lib/LmTable/Table.js +90 -84
  57. package/lib/LmTable/hooks/useRowSelectControllableValue.js +67 -0
  58. package/lib/LmTable/style/index.css +3 -3
  59. package/lib/LmTable/style/variables.css +3 -3
  60. package/lib/LmTable/util.js +9 -5
  61. package/lib/LmUpload/LmUpload.js +1 -0
  62. package/lib/LmUpload/UploadList/ItemPictureCard.d.ts +2 -1
  63. package/lib/LmUpload/UploadList/ItemPictureCard.js +19 -5
  64. package/lib/LmUpload/UploadList/index.js +15 -9
  65. package/lib/LmUpload/components/Preview.d.ts +5 -0
  66. package/lib/LmUpload/components/Preview.js +55 -0
  67. package/lib/LmUpload/fns/index.d.ts +1 -0
  68. package/lib/LmUpload/fns/index.js +22 -3
  69. package/lib/LmUpload/wrapper/UploadWrapper.js +4 -0
  70. package/lib/LmUpload/wrapper/reducer.d.ts +4 -0
  71. package/lib/LmUpload/wrapper/reducer.js +12 -3
  72. package/lib/styles/variables.css +10 -3
  73. package/package.json +15 -3
@@ -77,8 +77,10 @@ var renderThumb = function renderThumb(file) {
77
77
 
78
78
  var PictureItem = function PictureItem(_ref) {
79
79
  var file = _ref.file,
80
+ index = _ref.index,
80
81
  instance = _ref.instance;
81
- var readOnly = instance.readOnly,
82
+ var dispatch = instance.dispatch,
83
+ readOnly = instance.readOnly,
82
84
  size = instance.size,
83
85
  remove = instance.remove,
84
86
  preview = instance.preview,
@@ -91,11 +93,13 @@ var PictureItem = function PictureItem(_ref) {
91
93
 
92
94
 
93
95
  var resetFile = (0, _react.useMemo)(function () {
96
+ var _a;
97
+
94
98
  var fileParams = getFileFields(file);
95
99
  var realFileName = fileParams.realFileName,
96
100
  fileName = fileParams.fileName,
97
101
  filename = fileParams.filename;
98
- var fileExtension = (realFileName || fileName || filename).replace(/.*\./, '').toLowerCase();
102
+ var fileExtension = (_a = (realFileName || fileName || filename).replace(/.*\./, '')) === null || _a === void 0 ? void 0 : _a.toLowerCase();
99
103
  return Object.assign(Object.assign({}, fileParams), {
100
104
  fileExtension: fileExtension
101
105
  });
@@ -119,6 +123,18 @@ var PictureItem = function PictureItem(_ref) {
119
123
  fontSize: fontSize
120
124
  };
121
125
  }, [size]);
126
+
127
+ var handlePreview = function handlePreview() {
128
+ preview === null || preview === void 0 ? void 0 : preview(file);
129
+ dispatch({
130
+ type: 'changePreview',
131
+ preview: {
132
+ visible: true,
133
+ index: index
134
+ }
135
+ });
136
+ };
137
+
122
138
  return /*#__PURE__*/_react.default.createElement("div", {
123
139
  className: (0, _classnames.default)('lm_upload_item', 'lm_upload_item_card', isError && 'lm_upload_item_error'),
124
140
  style: {
@@ -140,9 +156,7 @@ var PictureItem = function PictureItem(_ref) {
140
156
  className: "lm_upload_item_action"
141
157
  }, /*#__PURE__*/_react.default.createElement("div", {
142
158
  className: "action_preview",
143
- onClick: function onClick() {
144
- return preview(file);
145
- }
159
+ onClick: handlePreview
146
160
  }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
147
161
  type: "lmweb-eye",
148
162
  style: {
@@ -2,12 +2,14 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
10
  exports.default = void 0;
9
11
 
10
- var _react = _interopRequireDefault(require("react"));
12
+ var _react = _interopRequireWildcard(require("react"));
11
13
 
12
14
  var _utils = require("../utils");
13
15
 
@@ -15,22 +17,26 @@ var _RenderItem = _interopRequireDefault(require("./RenderItem"));
15
17
 
16
18
  var LmUploadList = function LmUploadList(_ref) {
17
19
  var instance = _ref.instance;
18
-
19
- var _a, _b;
20
-
21
- var uid = instance.uid,
20
+ var getFileHasValue = instance.getFileHasValue,
22
21
  getFileList = instance.getFileList,
23
22
  itemRender = instance.itemRender,
24
23
  listType = instance.listType,
25
24
  showUploadList = instance.showUploadList;
26
25
  if (!showUploadList) return null;
27
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (_b = (_a = getFileList()) === null || _a === void 0 ? void 0 : _a.sort(function (a, b) {
28
- return a.seq - b.seq;
29
- })) === null || _b === void 0 ? void 0 : _b.map(function (file, idx) {
26
+ var fileList = (0, _react.useMemo)(function () {
27
+ var _a;
28
+
29
+ return (_a = getFileList()) === null || _a === void 0 ? void 0 : _a.sort(function (a, b) {
30
+ return a.seq - b.seq;
31
+ });
32
+ }, [getFileList]);
33
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, fileList === null || fileList === void 0 ? void 0 : fileList.map(function (file, idx) {
30
34
  return (0, _utils.render)(itemRender || _RenderItem.default, {
31
35
  type: listType,
32
- key: file[uid] || idx,
36
+ key: getFileHasValue(file) || idx,
37
+ index: idx,
33
38
  file: file,
39
+ fileList: fileList,
34
40
  instance: instance
35
41
  });
36
42
  }));
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ declare const _default: React.MemoExoticComponent<({ instance }: {
3
+ instance: any;
4
+ }) => JSX.Element>;
5
+ export default _default;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _linkmoreDesign = require("linkmore-design");
13
+
14
+ var Preview = function Preview(_ref) {
15
+ var instance = _ref.instance;
16
+ var enabledPreview = instance.enabledPreview,
17
+ state = instance.state,
18
+ dispatch = instance.dispatch,
19
+ getFileList = instance.getFileList;
20
+ if (!enabledPreview) return null; // 与展示顺序保持一致
21
+
22
+ var fileList = (0, _react.useMemo)(function () {
23
+ var _a;
24
+
25
+ return (_a = getFileList()) === null || _a === void 0 ? void 0 : _a.sort(function (a, b) {
26
+ return a.seq - b.seq;
27
+ });
28
+ }, [getFileList]);
29
+ var config = (0, _react.useMemo)(function () {
30
+ var _state$preview = state.preview,
31
+ index = _state$preview.index,
32
+ visible = _state$preview.visible;
33
+ return {
34
+ urlList: fileList === null || fileList === void 0 ? void 0 : fileList.map(function (_ref2) {
35
+ var url = _ref2.url;
36
+ return url;
37
+ }),
38
+ initialIndex: index,
39
+ visible: visible,
40
+ close: function close() {
41
+ dispatch({
42
+ type: 'changePreview',
43
+ preview: {
44
+ visible: false
45
+ }
46
+ });
47
+ }
48
+ };
49
+ }, [fileList, state.preview]);
50
+ return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.ImageViewer, Object.assign({}, config));
51
+ };
52
+
53
+ var _default = /*#__PURE__*/_react.default.memo(Preview);
54
+
55
+ exports.default = _default;
@@ -5,6 +5,7 @@ declare const useCoreOptions: ({ state, dispatch, props }: {
5
5
  }) => {
6
6
  CoreMethods: {
7
7
  getIsMaxCount: () => boolean;
8
+ getFileHasValue: (obj: any) => string;
8
9
  getFileFields: (fileParams: any) => {};
9
10
  beforeUpload: (e: any) => Promise<void>;
10
11
  checkOver: (file: any) => Promise<void>;
@@ -61,7 +61,25 @@ var useCoreOptions = function useCoreOptions(_ref) {
61
61
  fileAreaSize = props.fileAreaSize,
62
62
  enabledOss = props.enabledOss,
63
63
  enableCrop = props.enableCrop,
64
- ossConfig = props.ossConfig; // 获取当前的文件列表
64
+ ossConfig = props.ossConfig; // 获取两个对象是否存在指定值相等
65
+
66
+ var getHasEqual = (0, _react.useCallback)(function (obj1, obj2) {
67
+ var extend = [uid, 'fileName'];
68
+ var flag = false;
69
+ extend.forEach(function (v) {
70
+ if (!flag) flag = obj1[v] === obj2[v];
71
+ });
72
+ return flag;
73
+ }, []); // 从对象中读取存在的指定属性
74
+
75
+ var getFileHasValue = (0, _react.useCallback)(function (obj) {
76
+ var extend = [uid, 'fileName'];
77
+ var val = '';
78
+ extend.forEach(function (v) {
79
+ if (!val) val = obj[v];
80
+ });
81
+ return val;
82
+ }, [uid]); // 获取当前的文件列表
65
83
 
66
84
  var getFileList = (0, _react.useCallback)(function () {
67
85
  return props.fileList || state.fileList;
@@ -429,7 +447,7 @@ var useCoreOptions = function useCoreOptions(_ref) {
429
447
 
430
448
  if (res) {
431
449
  fileList = (_b = getFileList()) === null || _b === void 0 ? void 0 : _b.filter(function (v) {
432
- return v[uid] !== file[uid];
450
+ return !getHasEqual(v, file);
433
451
  });
434
452
  dispatch({
435
453
  type: 'changeFileList',
@@ -448,7 +466,7 @@ var useCoreOptions = function useCoreOptions(_ref) {
448
466
  }
449
467
  }, _callee4);
450
468
  }));
451
- }, [props.onRemove, getFileList, onChange, dispatch, uid]); // 点击文件链接或预览图标时的回调
469
+ }, [props.onRemove, getFileList, onChange, dispatch, getHasEqual]); // 点击文件链接或预览图标时的回调
452
470
 
453
471
  var preview = (0, _react.useCallback)(function (file) {
454
472
  var _a;
@@ -463,6 +481,7 @@ var useCoreOptions = function useCoreOptions(_ref) {
463
481
  }, [props.onDownload]);
464
482
  var CoreMethods = {
465
483
  getIsMaxCount: getIsMaxCount,
484
+ getFileHasValue: getFileHasValue,
466
485
  getFileFields: getFileFields,
467
486
  beforeUpload: beforeUpload,
468
487
  checkOver: checkOver,
@@ -15,6 +15,8 @@ var _view = _interopRequireDefault(require("../view"));
15
15
 
16
16
  var _Crop = _interopRequireDefault(require("../components/Crop"));
17
17
 
18
+ var _Preview = _interopRequireDefault(require("../components/Preview"));
19
+
18
20
  // 包裹上传组件区域: 拓展其他结构
19
21
  var LmUploadWrapper = function LmUploadWrapper(_ref) {
20
22
  var instance = _ref.instance;
@@ -26,6 +28,8 @@ var LmUploadWrapper = function LmUploadWrapper(_ref) {
26
28
  instance: instance
27
29
  }), /*#__PURE__*/_react.default.createElement(_Crop.default, {
28
30
  instance: instance
31
+ }), /*#__PURE__*/_react.default.createElement(_Preview.default, {
32
+ instance: instance
29
33
  }));
30
34
  };
31
35
 
@@ -5,5 +5,9 @@ export declare const initialState: (props: any) => {
5
5
  status: string;
6
6
  fileList: any;
7
7
  cropFile: any;
8
+ preview: {
9
+ index: number;
10
+ visible: boolean;
11
+ };
8
12
  };
9
13
  export default reducer;
@@ -9,7 +9,8 @@ exports.reducer = exports.initialState = exports.default = void 0;
9
9
  var reducer = function reducer(state, action) {
10
10
  var fileList = action.fileList,
11
11
  percent = action.percent,
12
- cropFile = action.cropFile;
12
+ cropFile = action.cropFile,
13
+ preview = action.preview;
13
14
 
14
15
  switch (action.type) {
15
16
  case 'changeFileList':
@@ -27,6 +28,11 @@ var reducer = function reducer(state, action) {
27
28
  cropFile: cropFile
28
29
  });
29
30
 
31
+ case 'changePreview':
32
+ return Object.assign(Object.assign({}, state), {
33
+ preview: Object.assign(Object.assign({}, state.preview), preview)
34
+ });
35
+
30
36
  default:
31
37
  throw new Error();
32
38
  }
@@ -43,8 +49,11 @@ var initialState = function initialState(props) {
43
49
  process: 0,
44
50
  status: 'done',
45
51
  fileList: defaultFileList,
46
- cropFile: null // 需要裁剪的图片
47
-
52
+ cropFile: null,
53
+ preview: {
54
+ index: 0,
55
+ visible: false
56
+ }
48
57
  };
49
58
  };
50
59
 
@@ -9764,6 +9764,9 @@ p {
9764
9764
  .lm_editTable_warpper .icon_drag:hover {
9765
9765
  color: var(--text-color);
9766
9766
  }
9767
+ .lm_editTable_warpper .ant-table .ant-table-tbody > .ant-table-measure-row > td {
9768
+ padding: 0 !important;
9769
+ }
9767
9770
  .lm_editTable_warpper .ant-picker {
9768
9771
  height: 24px !important;
9769
9772
  padding: 2px 8px;
@@ -9844,11 +9847,15 @@ p {
9844
9847
  background-color: var(--background-color-hover);
9845
9848
  }
9846
9849
  .lm_filter_wrapper .lm_filter_container .lm_filter .lm_filter_search {
9850
+ width: 140px;
9847
9851
  max-width: 140px;
9848
9852
  }
9849
9853
  .lm_filter_wrapper .lm_filter_container .lm_filter .lm_filter_complex {
9850
9854
  display: inline-flex;
9851
9855
  }
9856
+ .lm_filter_wrapper .lm_filter_container .lm_filter.lm_filter_small .lm_filter_custom_line {
9857
+ height: 24px;
9858
+ }
9852
9859
  .lm_filter_basic_item {
9853
9860
  font-size: 12px;
9854
9861
  display: inline-flex;
@@ -11259,6 +11266,9 @@ p {
11259
11266
  height: 48px;
11260
11267
  font-size: 12px;
11261
11268
  }
11269
+ #lm_protable_warp .ant-table-tbody > tr.ant-table-measure-row > td {
11270
+ padding: 0 !important;
11271
+ }
11262
11272
  .row-dragging {
11263
11273
  display: flex;
11264
11274
  align-items: center;
@@ -11611,9 +11621,6 @@ button.ant-table-row-expand-icon::before,
11611
11621
  button.ant-table-row-expand-icon::after {
11612
11622
  color: #bfbfbf;
11613
11623
  }
11614
- .ant-table-tbody > tr.ant-table-measure-row > td {
11615
- padding: 0 !important;
11616
- }
11617
11624
  .react-resizable-handle {
11618
11625
  position: absolute;
11619
11626
  right: -5px;
package/package.json CHANGED
@@ -1,10 +1,14 @@
1
1
  {
2
2
  "name": "linkmore-design",
3
- "version": "1.1.7",
3
+ "version": "1.1.9",
4
4
  "author": {
5
5
  "name": "nowthen",
6
6
  "email": "rnlvwyx@gmail.com"
7
7
  },
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://gitlab.scm321.com/web-group/UFX.SCM.linkDesign.git"
11
+ },
8
12
  "main": "lib/index.js",
9
13
  "module": "es/index.js",
10
14
  "unpkg": "dist/index.umd.min.js",
@@ -37,7 +41,8 @@
37
41
  "pub": "npm run build && npm version patch && npm publish",
38
42
  "rbc": "parcel build src/styles/main.less --no-source-maps",
39
43
  "cssrb": "node ./config/css.js",
40
- "rbuild": "npm run cssrb && npm run build && node ./config/copy.js"
44
+ "rbuild": "npm run cssrb && npm run build && node ./config/copy.js",
45
+ "changelog": "conventional-changelog -p react -i CHANGELOG.md -s -r 0"
41
46
  },
42
47
  "lint-staged": {
43
48
  "gitDir": "../",
@@ -49,6 +54,11 @@
49
54
  "yarn run lint:js"
50
55
  ]
51
56
  },
57
+ "husky": {
58
+ "hooks": {
59
+ "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
60
+ }
61
+ },
52
62
  "dependencies": {
53
63
  "@ant-design/charts": "^1.4.2",
54
64
  "@ant-design/compatible": "1.0.8",
@@ -67,6 +77,8 @@
67
77
  "antd-img-crop": "^4.2.5",
68
78
  "axios": "^0.21.0",
69
79
  "classnames": "^2.3.1",
80
+ "conventional-changelog": "^3.1.25",
81
+ "conventional-changelog-cli": "^2.2.2",
70
82
  "dayjs": "^1.9.7",
71
83
  "echarts": "^5.4.0",
72
84
  "hex-to-rgba": "^2.0.1",
@@ -103,7 +115,7 @@
103
115
  "@babel/plugin-transform-runtime": "^7.12.1",
104
116
  "@babel/preset-typescript": "^7.17.12",
105
117
  "@commitlint/cli": "^11.0.0",
106
- "@commitlint/config-conventional": "^11.0.0",
118
+ "@linkmore/commitlint-config": "^1.0.2",
107
119
  "@types/react": "^18.0.19",
108
120
  "@types/react-dom": "^18.0.6",
109
121
  "autoprefixer": "^9.0.0",