@vtx/components 3.0.0 → 3.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.
package/CHANGELOG.md CHANGED
@@ -1,9 +1,25 @@
1
+ ## [3.0.1](https://git.cloudhw.cn:3443/front-end/react-components/compare/3.0.0...3.0.1) (2022-02-18)
2
+
3
+
4
+ ### ✨ Features
5
+
6
+ * 数据表格操作列按钮最多显示4个,显示逻辑调整 ([cd1d314](https://git.cloudhw.cn:3443/front-end/react-components/commit/cd1d314)) by: **gongjinhua**
7
+ * 查询布局VtxSearch根据分辨率默认显示不同的列数 ([06d6b30](https://git.cloudhw.cn:3443/front-end/react-components/commit/06d6b30)) by: **gongjinhua**
8
+
9
+
10
+ ### 🐛 Bug Fixes
11
+
12
+ * 修复上传组件beforeUpload无效 ([8f22927](https://git.cloudhw.cn:3443/front-end/react-components/commit/8f22927)) by: **xuzhengyun**
13
+
14
+
15
+
1
16
  # [3.0.0](https://git.cloudhw.cn:3443/front-end/react-components/compare/3.0.0-4...3.0.0) (2022-01-17)
2
17
 
3
18
 
4
19
  ### 🎫 Chores
5
20
 
6
21
  * ahooks版本升级为3.x ([f91a6b7](https://git.cloudhw.cn:3443/front-end/react-components/commit/f91a6b7)) by: **gongjinhua**
22
+ * release v3.0.0 ([9692e6a](https://git.cloudhw.cn:3443/front-end/react-components/commit/9692e6a)) by: **gongjinhua**
7
23
 
8
24
 
9
25
  ### 🐛 Bug Fixes
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _useSize = _interopRequireDefault(require("ahooks/lib/useSize"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
12
+ var COL_SIZE = {
13
+ lg: 'lg',
14
+ md: 'md',
15
+ sm: 'sm'
16
+ };
17
+
18
+ var _default = function _default() {
19
+ var dom = document.querySelector('body');
20
+
21
+ var _ref = (0, _useSize["default"])(dom) || {},
22
+ width = _ref.width;
23
+
24
+ var size = COL_SIZE.lg;
25
+
26
+ if (width >= 1370) {
27
+ size = COL_SIZE.lg;
28
+ } else if (width >= 992) {
29
+ size = COL_SIZE.md;
30
+ } else {
31
+ size = COL_SIZE.sm;
32
+ }
33
+
34
+ return size;
35
+ };
36
+
37
+ exports["default"] = _default;
38
+ //# sourceMappingURL=useColSize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["_util/useColSize.js"],"names":["COL_SIZE","lg","md","sm","dom","document","querySelector","width","size"],"mappings":";;;;;;;AAAA;;;;AAEA,IAAMA,QAAQ,GAAG;AACbC,EAAAA,EAAE,EAAE,IADS;AAEbC,EAAAA,EAAE,EAAE,IAFS;AAGbC,EAAAA,EAAE,EAAE;AAHS,CAAjB;;eAMe,oBAAM;AACjB,MAAMC,GAAG,GAAGC,QAAQ,CAACC,aAAT,CAAuB,MAAvB,CAAZ;;AACA,aAAkB,yBAAQF,GAAR,KAAgB,EAAlC;AAAA,MAAQG,KAAR,QAAQA,KAAR;;AACA,MAAIC,IAAI,GAAGR,QAAQ,CAACC,EAApB;;AACA,MAAIM,KAAK,IAAI,IAAb,EAAmB;AACfC,IAAAA,IAAI,GAAGR,QAAQ,CAACC,EAAhB;AACH,GAFD,MAEO,IAAIM,KAAK,IAAI,GAAb,EAAkB;AACrBC,IAAAA,IAAI,GAAGR,QAAQ,CAACE,EAAhB;AACH,GAFM,MAEA;AACHM,IAAAA,IAAI,GAAGR,QAAQ,CAACG,EAAhB;AACH;;AACD,SAAOK,IAAP;AACH,C","sourcesContent":["import useSize from 'ahooks/lib/useSize';\n\nconst COL_SIZE = {\n lg: 'lg',\n md: 'md',\n sm: 'sm',\n};\n\nexport default () => {\n const dom = document.querySelector('body');\n const { width } = useSize(dom) || {};\n let size = COL_SIZE.lg;\n if (width >= 1370) {\n size = COL_SIZE.lg;\n } else if (width >= 992) {\n size = COL_SIZE.md;\n } else {\n size = COL_SIZE.sm;\n }\n return size;\n};\n"],"file":"useColSize.js"}
@@ -42,7 +42,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
42
42
  var renderColumnButtons = function renderColumnButtons(renderButtons) {
43
43
  var _renderButtons;
44
44
 
45
- var visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3;
45
+ var visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 4;
46
46
  var text = arguments.length > 2 ? arguments[2] : undefined;
47
47
  var record = arguments.length > 3 ? arguments[3] : undefined;
48
48
  var index = arguments.length > 4 ? arguments[4] : undefined;
@@ -59,9 +59,11 @@ var renderColumnButtons = function renderColumnButtons(renderButtons) {
59
59
  var actionsLen = actions.length; // 更多
60
60
 
61
61
  var moreRender;
62
+ var realVisible = visible;
62
63
 
63
64
  if (actionsLen > visible) {
64
- var moreActions = actions.slice(visible);
65
+ realVisible = realVisible - 1;
66
+ var moreActions = actions.slice(realVisible);
65
67
  /* eslint-disable */
66
68
 
67
69
  moreRender = /*#__PURE__*/_react["default"].createElement(_dropdown["default"], {
@@ -78,7 +80,7 @@ var renderColumnButtons = function renderColumnButtons(renderButtons) {
78
80
  }, /*#__PURE__*/_react["default"].createElement("a", null, "\u66F4\u591A", /*#__PURE__*/_react["default"].createElement(_DownOutlined["default"], null)));
79
81
  }
80
82
 
81
- return [].concat(_toConsumableArray(actions.slice(0, visible).map(function (item, i) {
83
+ return [].concat(_toConsumableArray(actions.slice(0, realVisible).map(function (item, i) {
82
84
  var name = item.name,
83
85
  onClick = item.onClick,
84
86
  popconfirm = item.popconfirm;
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-datagrid/renderColumnButtons.jsx"],"names":["renderColumnButtons","renderButtons","visible","text","record","index","actions","filter","item","Array","isArray","actionsLen","length","moreRender","moreActions","slice","e","key","onClick","map","i","name","popconfirm","btnNode","undefined","confirm","rest"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,aAAD,EAAqD;AAAA;;AAAA,MAArCC,OAAqC,uEAA3B,CAA2B;AAAA,MAAxBC,IAAwB;AAAA,MAAlBC,MAAkB;AAAA,MAAVC,KAAU;AAC7E,MAAMC,OAAO,qBAAGL,aAAa,CAACE,IAAD,EAAOC,MAAP,EAAeC,KAAf,CAAhB,mDAAG,eAAoCE,MAApC,CACZ,UAAAC,IAAI;AAAA;;AAAA,WAAIA,IAAI,sBAAKA,IAAI,CAACN,OAAV,yDAAqB,IAArB,CAAR;AAAA,GADQ,CAAhB;;AAGA,MAAI,CAACO,KAAK,CAACC,OAAN,CAAcJ,OAAd,CAAL,EAA6B;AACzB;AACH;;AACD,MAAMK,UAAU,GAAGL,OAAO,CAACM,MAA3B,CAP6E,CAQ7E;;AACA,MAAIC,UAAJ;;AACA,MAAIF,UAAU,GAAGT,OAAjB,EAA0B;AACtB,QAAMY,WAAW,GAAGR,OAAO,CAACS,KAAR,CAAcb,OAAd,CAApB;AACA;;AACAW,IAAAA,UAAU,gBACN,gCAAC,oBAAD;AACI,MAAA,GAAG,EAAC,MADR;AAEI,MAAA,OAAO,eACH,gCAAC,gBAAD;AAAM,QAAA,OAAO,EAAE,iBAAAG,CAAC;AAAA,iBAAIF,WAAW,CAACE,CAAC,CAACC,GAAH,CAAX,CAAmBC,OAAnB,CAA2Bd,MAA3B,EAAmCC,KAAnC,CAAJ;AAAA;AAAhB,SACKS,WAAW,CAACK,GAAZ,CAAgB,UAACX,IAAD,EAAOY,CAAP;AAAA,4BACb,gCAAC,gBAAD,CAAM,IAAN;AAAW,UAAA,GAAG,EAAEA;AAAhB,WAAoBZ,IAAI,CAACa,IAAzB,CADa;AAAA,OAAhB,CADL;AAHR,oBAUI,wEAEI,gCAAC,wBAAD,OAFJ,CAVJ,CADJ;AAiBH;;AAED,sCACOf,OAAO,CAACS,KAAR,CAAc,CAAd,EAAiBb,OAAjB,EAA0BiB,GAA1B,CAA8B,UAACX,IAAD,EAAOY,CAAP,EAAa;AAC1C,QAAQC,IAAR,GAAsCb,IAAtC,CAAQa,IAAR;AAAA,QAAcH,OAAd,GAAsCV,IAAtC,CAAcU,OAAd;AAAA,QAAuBI,UAAvB,GAAsCd,IAAtC,CAAuBc,UAAvB;;AACA,QAAIC,OAAO,gBACP;AACI,MAAA,GAAG,EAAEF,IADT;AAEI,MAAA,OAAO,EAAEH,OAAO,IAAI,CAACI,UAAZ,GAAyB;AAAA,eAAMJ,OAAO,CAACd,MAAD,EAASC,KAAT,CAAb;AAAA,OAAzB,GAAwDmB;AAFrE,OAIKH,IAJL,CADJ;;AASA,QAAIC,UAAJ,EAAgB;AACZ,UAAQG,OAAR,GAA6BH,UAA7B,CAAQG,OAAR;AAAA,UAAoBC,IAApB,4BAA6BJ,UAA7B;;AACAC,MAAAA,OAAO,gBACH,gCAAC,sBAAD,eACQG,IADR;AAEI,QAAA,SAAS,EAAED,OAAO,GAAG;AAAA,iBAAMA,OAAO,CAACrB,MAAD,EAASC,KAAT,CAAb;AAAA,SAAH,GAAkCmB,SAFxD;AAGI,QAAA,GAAG,EAAEH;AAHT,UAKKE,OALL,CADJ;AASH;;AAED,WAAO,CAACA,OAAD,EAAUH,CAAC,IAAIT,UAAU,GAAG,CAAlB,iBAAuB,gCAAC,mBAAD;AAAS,MAAA,GAAG,EAAES,CAAd;AAAiB,MAAA,IAAI,EAAC;AAAtB,MAAjC,CAAP;AACH,GAzBE,CADP,IA2BIP,UA3BJ;AA6BH,CA7DD;;eA+Deb,mB","sourcesContent":["import React from 'react';\nimport Popconfirm from 'antd/lib/popconfirm';\nimport Dropdown from 'antd/lib/dropdown';\nimport Menu from 'antd/lib/menu';\nimport Divider from 'antd/lib/divider';\nimport DownOutlined from '@ant-design/icons/DownOutlined';\n\nconst renderColumnButtons = (renderButtons, visible = 3, text, record, index) => {\n const actions = renderButtons(text, record, index)?.filter(\n item => item && (item.visible ?? true),\n );\n if (!Array.isArray(actions)) {\n return;\n }\n const actionsLen = actions.length;\n // 更多\n let moreRender;\n if (actionsLen > visible) {\n const moreActions = actions.slice(visible);\n /* eslint-disable */\n moreRender = (\n <Dropdown\n key=\"more\"\n overlay={\n <Menu onClick={e => moreActions[e.key].onClick(record, index)}>\n {moreActions.map((item, i) => (\n <Menu.Item key={i}>{item.name}</Menu.Item>\n ))}\n </Menu>\n }\n >\n <a>\n 更多\n <DownOutlined />\n </a>\n </Dropdown>\n );\n }\n\n return [\n ...actions.slice(0, visible).map((item, i) => {\n const { name, onClick, popconfirm } = item;\n let btnNode = (\n <a\n key={name}\n onClick={onClick && !popconfirm ? () => onClick(record, index) : undefined}\n >\n {name}\n </a>\n );\n\n if (popconfirm) {\n const { confirm, ...rest } = popconfirm;\n btnNode = (\n <Popconfirm\n {...rest}\n onConfirm={confirm ? () => confirm(record, index) : undefined}\n key={name}\n >\n {btnNode}\n </Popconfirm>\n );\n }\n\n return [btnNode, i != actionsLen - 1 && <Divider key={i} type=\"vertical\" />];\n }),\n moreRender,\n ];\n};\n\nexport default renderColumnButtons;\n"],"file":"renderColumnButtons.js"}
1
+ {"version":3,"sources":["vtx-datagrid/renderColumnButtons.jsx"],"names":["renderColumnButtons","renderButtons","visible","text","record","index","actions","filter","item","Array","isArray","actionsLen","length","moreRender","realVisible","moreActions","slice","e","key","onClick","map","i","name","popconfirm","btnNode","undefined","confirm","rest"],"mappings":"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","sourcesContent":["import React from 'react';\nimport Popconfirm from 'antd/lib/popconfirm';\nimport Dropdown from 'antd/lib/dropdown';\nimport Menu from 'antd/lib/menu';\nimport Divider from 'antd/lib/divider';\nimport DownOutlined from '@ant-design/icons/DownOutlined';\n\nconst renderColumnButtons = (renderButtons, visible = 4, text, record, index) => {\n const actions = renderButtons(text, record, index)?.filter(\n item => item && (item.visible ?? true),\n );\n if (!Array.isArray(actions)) {\n return;\n }\n const actionsLen = actions.length;\n // 更多\n let moreRender;\n let realVisible = visible;\n if (actionsLen > visible) {\n realVisible = realVisible - 1;\n const moreActions = actions.slice(realVisible);\n /* eslint-disable */\n moreRender = (\n <Dropdown\n key=\"more\"\n overlay={\n <Menu onClick={e => moreActions[e.key].onClick(record, index)}>\n {moreActions.map((item, i) => (\n <Menu.Item key={i}>{item.name}</Menu.Item>\n ))}\n </Menu>\n }\n >\n <a>\n 更多\n <DownOutlined />\n </a>\n </Dropdown>\n );\n }\n\n return [\n ...actions.slice(0, realVisible).map((item, i) => {\n const { name, onClick, popconfirm } = item;\n let btnNode = (\n <a\n key={name}\n onClick={onClick && !popconfirm ? () => onClick(record, index) : undefined}\n >\n {name}\n </a>\n );\n\n if (popconfirm) {\n const { confirm, ...rest } = popconfirm;\n btnNode = (\n <Popconfirm\n {...rest}\n onConfirm={confirm ? () => confirm(record, index) : undefined}\n key={name}\n >\n {btnNode}\n </Popconfirm>\n );\n }\n\n return [btnNode, i != actionsLen - 1 && <Divider key={i} type=\"vertical\" />];\n }),\n moreRender,\n ];\n};\n\nexport default renderColumnButtons;\n"],"file":"renderColumnButtons.js"}
@@ -29,6 +29,8 @@ var _VtxCol = _interopRequireDefault(require("./VtxCol"));
29
29
 
30
30
  var _TableLayout = require("../vtx-page-layout/TableLayout");
31
31
 
32
+ var _useColSize = _interopRequireDefault(require("../_util/useColSize"));
33
+
32
34
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
33
35
 
34
36
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -66,7 +68,11 @@ function VtxSearch(props) {
66
68
  var _props$layout = props.layout,
67
69
  layout = _props$layout === void 0 ? 'horizontal' : _props$layout,
68
70
  _props$column = props.column,
69
- column = _props$column === void 0 ? 4 : _props$column,
71
+ column = _props$column === void 0 ? {
72
+ lg: 4,
73
+ md: 3,
74
+ sm: 2
75
+ } : _props$column,
70
76
  _props$gridWeight = props.gridWeight,
71
77
  gridWeight = _props$gridWeight === void 0 ? [] : _props$gridWeight,
72
78
  _props$titles = props.titles,
@@ -90,6 +96,8 @@ function VtxSearch(props) {
90
96
  _props$showAll = props.showAll,
91
97
  showAll = _props$showAll === void 0 ? false : _props$showAll,
92
98
  onToggleShow = props.onToggleShow;
99
+ var size = (0, _useColSize["default"])();
100
+ var realColumn = column[size];
93
101
 
94
102
  var _useContext = (0, _react.useContext)(_TableLayout.StoreCtx),
95
103
  onCollapse = _useContext.onCollapse;
@@ -129,7 +137,7 @@ function VtxSearch(props) {
129
137
  setWeightiness(weightiness);
130
138
 
131
139
  if (showAll) {
132
- setStyle(weightiness > column ? {
140
+ setStyle(weightiness > realColumn ? {
133
141
  height: ref.current.clientHeight
134
142
  } : initStyle);
135
143
  }
@@ -240,7 +248,7 @@ function VtxSearch(props) {
240
248
  var gwt = newGridWeight[i];
241
249
  return /*#__PURE__*/_react["default"].createElement(_VtxCol["default"], {
242
250
  key: i,
243
- span: 24 / column * gwt,
251
+ span: 24 / realColumn * gwt,
244
252
  className: "a"
245
253
  }, layout === 'horizontal' && layout_h(d, i), layout === 'vertical' && layout_v(d, i));
246
254
  };
@@ -286,7 +294,7 @@ function VtxSearch(props) {
286
294
  width: '100%'
287
295
  },
288
296
  onClick: onClear
289
- }, clearText))), weightiness > column && isMoreButton && /*#__PURE__*/_react["default"].createElement(_VtxCol["default"], {
297
+ }, clearText))), weightiness > realColumn && isMoreButton && /*#__PURE__*/_react["default"].createElement(_VtxCol["default"], {
290
298
  span: 6
291
299
  }, /*#__PURE__*/_react["default"].createElement("div", {
292
300
  "data-type": 'bt',
@@ -299,7 +307,7 @@ function VtxSearch(props) {
299
307
 
300
308
  VtxSearch.propTypes = {
301
309
  layout: _propTypes["default"].oneOf(['vertical', 'horizontal']),
302
- column: _propTypes["default"].oneOf([1, 2, 3, 4]),
310
+ column: _propTypes["default"].objectOf(_propTypes["default"].number),
303
311
  gridWeight: _propTypes["default"].array,
304
312
  titles: _propTypes["default"].array,
305
313
  labelWidth: _propTypes["default"].number,
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-search/index.jsx"],"names":["VtxSearch","props","layout","column","gridWeight","titles","labelWidth","wrapClassName","isConfirmButton","isClearButton","isMoreButton","confirmText","clearText","onConfirm","onClear","renderButtons","showAll","onToggleShow","StoreCtx","onCollapse","initStyle","height","weightiness","setWeightiness","style","setStyle","boxStyle","ref","newGridWeight","filter","item","newTitles","newChildren","Array","isArray","children","rowHeight","map","current","clientHeight","isShowMore","padding","analyzeChildren","data","cData","length","render","chData","forEach","ite","push","index","layout_h","d","i","textAlign","width","layout_v","gwt","paddingTop","propTypes","PropTypes","oneOf","array","number","string","node","bool","func"],"mappings":"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","sourcesContent":["/*\n * @Author: chenxinyu\n * @Date: 2021-03-24 21:47:52\n * @LastEditors: your name\n * @LastEditTime: 2022-01-11 22:33:08\n * @Description: 查询布局组件\n * @FilePath: \\react-components\\components\\vtx-search\\index.jsx\n */\nimport React, { useState, useLayoutEffect, useRef, useContext } from 'react';\nimport useSetState from 'ahooks/es/useSetState';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Button from 'antd/lib/button';\nimport Tooltip from 'antd/lib/tooltip';\nimport UpOutlined from '@ant-design/icons/UpOutlined';\nimport DownOutlined from '@ant-design/icons/DownOutlined';\nimport VtxRow from './VtxRow';\nimport VtxCol from './VtxCol';\nimport { StoreCtx } from '../vtx-page-layout/TableLayout';\n\nfunction VtxSearch(props) {\n //参数列表\n const {\n layout = 'horizontal',\n column = 4, //一行显示几列\n gridWeight = [],\n titles = [],\n labelWidth = 84, //搜索条件名宽度\n wrapClassName,\n isConfirmButton = true, //是否显示确认按钮\n isClearButton = true, //是否显示清空按钮\n isMoreButton = true, //是否显示更多按钮\n confirmText = '查询', //确认按钮文本\n clearText = '重置', //情况按钮文本\n onConfirm, //确认按钮回调\n onClear, //清空按钮回调\n renderButtons, //自定义按钮块\n showAll = false, //是否展示所有查询条件\n onToggleShow,\n } = props;\n\n const { onCollapse } = useContext(StoreCtx);\n\n const initStyle = {\n height: layout === 'horizontal' ? 48 : 68,\n };\n //初始化\n const [weightiness, setWeightiness] = useState(0);\n const [style, setStyle] = useSetState(initStyle);\n const { height, boxStyle } = style;\n const ref = useRef();\n\n const newGridWeight = gridWeight.filter(item => !!item);\n const newTitles = titles.filter(item => !!item);\n const newChildren = Array.isArray(props?.children)\n ? props?.children.filter(item => !!item)\n : props?.children;\n\n const rowHeight = layout === 'horizontal' ? 48 : 68;\n\n useLayoutEffect(() => {\n let weightiness = 0;\n newGridWeight.map(item => {\n weightiness += item;\n });\n\n setWeightiness(weightiness);\n if (showAll) {\n setStyle(\n weightiness > column\n ? {\n height: ref.current.clientHeight,\n }\n : initStyle,\n );\n }\n }, [gridWeight]);\n\n const isShowMore = () => {\n const padding = 16;\n if (height > rowHeight) {\n setStyle(initStyle);\n if (onToggleShow && typeof onToggleShow === 'function') {\n onToggleShow(rowHeight + padding);\n }\n onCollapse && onCollapse(rowHeight + padding);\n } else {\n setStyle({\n height: ref.current.clientHeight,\n });\n if (onToggleShow && typeof onToggleShow === 'function') {\n onToggleShow(ref.current.clientHeight + padding);\n }\n onCollapse && onCollapse(ref.current.clientHeight + padding);\n }\n };\n\n const analyzeChildren = data => {\n let cData = data;\n if (!cData) return null;\n if (typeof data == 'function') {\n cData = data();\n }\n if (!cData.length) {\n return render(cData, 0);\n } else {\n let chData = [];\n cData.forEach(item => {\n if (typeof item == 'function') {\n let ite = item();\n if (Array.isArray(ite)) {\n chData.push(...ite);\n }\n chData.push(ite);\n return;\n }\n if (Array.isArray(item)) {\n chData.push(...item);\n return;\n }\n chData.push(item);\n });\n return chData.map((item, index) => {\n return render(item, index);\n });\n }\n };\n\n const layout_h = (d, i) => (\n <VtxRow gutter={2} attr=\"row\">\n <Tooltip title={newTitles[i]} placement=\"topRight\">\n <div\n className=\"vtx-search-label_h\"\n style={{ textAlign: 'right', width: labelWidth }}\n >\n {newTitles[i]}\n </div>\n </Tooltip>\n <div className=\"vtx-search-lists_h\" style={{ width: `calc(100% - ${labelWidth}px)` }}>\n <span className=\"vtx-search-list\">{d}</span>\n </div>\n </VtxRow>\n );\n\n const layout_v = (d, i) => (\n <VtxRow gutter={2} attr=\"row\" className=\"vtx-search-item__v\">\n <Tooltip title={newTitles[i]} placement=\"topLeft\">\n <div className=\"vtx-search-label_v\">{newTitles[i]}</div>\n </Tooltip>\n <div className=\"vtx-search-lists_v\">\n <span className=\"vtx-search-list\">{d}</span>\n </div>\n </VtxRow>\n );\n\n let render = (d, i) => {\n let gwt = newGridWeight[i];\n return (\n <VtxCol key={i} span={(24 / column) * gwt} className=\"a\">\n {layout === 'horizontal' && layout_h(d, i)}\n {layout === 'vertical' && layout_v(d, i)}\n </VtxCol>\n );\n };\n\n return (\n <div\n className={classnames('vtx-search', wrapClassName)}\n style={{ height: `${height + 16}px`, ...boxStyle }}\n >\n <div className=\"vtx-search-element\" ref={ref}>\n <VtxRow gutter={24} attr=\"row\">\n {analyzeChildren(newChildren)}\n </VtxRow>\n </div>\n\n <div\n className=\"vtx-search-buttons\"\n style={{ paddingTop: layout === 'vertical' ? 28 : 0 }}\n >\n {renderButtons ? (\n <VtxRow gutter={8} attr=\"row\">\n {renderButtons}\n </VtxRow>\n ) : (\n <VtxRow gutter={8} attr=\"row\">\n {isConfirmButton && (\n <VtxCol span={9}>\n <span data-type={'bt'}>\n <Button\n style={{ width: '100%' }}\n type=\"primary\"\n onClick={onConfirm}\n >\n {confirmText}\n </Button>\n </span>\n </VtxCol>\n )}\n {isClearButton && (\n <VtxCol span={9}>\n <span data-type={'bt'}>\n <Button style={{ width: '100%' }} onClick={onClear}>\n {clearText}\n </Button>\n </span>\n </VtxCol>\n )}\n {weightiness > column && isMoreButton && (\n <VtxCol span={6}>\n <div\n data-type={'bt'}\n onClick={() => isShowMore()}\n className=\"vtx-search-more\"\n >\n 展开\n {height > rowHeight ? <UpOutlined /> : <DownOutlined />}\n </div>\n </VtxCol>\n )}\n </VtxRow>\n )}\n </div>\n </div>\n );\n}\n\nVtxSearch.propTypes = {\n layout: PropTypes.oneOf(['vertical', 'horizontal']),\n column: PropTypes.oneOf([1, 2, 3, 4]),\n gridWeight: PropTypes.array,\n titles: PropTypes.array,\n labelWidth: PropTypes.number,\n wrapClassName: PropTypes.string,\n children: PropTypes.node,\n isConfirmButton: PropTypes.bool,\n isClearButton: PropTypes.bool,\n isMoreButton: PropTypes.bool,\n onConfirm: PropTypes.func,\n confirmText: PropTypes.string,\n onClear: PropTypes.func,\n clearText: PropTypes.string,\n renderButtons: PropTypes.node,\n showAll: PropTypes.bool,\n onToggleShow: PropTypes.func,\n};\nexport default VtxSearch;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["vtx-search/index.jsx"],"names":["VtxSearch","props","layout","column","lg","md","sm","gridWeight","titles","labelWidth","wrapClassName","isConfirmButton","isClearButton","isMoreButton","confirmText","clearText","onConfirm","onClear","renderButtons","showAll","onToggleShow","size","realColumn","StoreCtx","onCollapse","initStyle","height","weightiness","setWeightiness","style","setStyle","boxStyle","ref","newGridWeight","filter","item","newTitles","newChildren","Array","isArray","children","rowHeight","map","current","clientHeight","isShowMore","padding","analyzeChildren","data","cData","length","render","chData","forEach","ite","push","index","layout_h","d","i","textAlign","width","layout_v","gwt","paddingTop","propTypes","PropTypes","oneOf","objectOf","number","array","string","node","bool","func"],"mappings":"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","sourcesContent":["/*\n * @Author: chenxinyu\n * @Date: 2021-03-24 21:47:52\n * @LastEditors: your name\n * @LastEditTime: 2022-02-16 11:17:16\n * @Description: 查询布局组件\n * @FilePath: \\react-components\\components\\vtx-search\\index.jsx\n */\nimport React, { useState, useLayoutEffect, useRef, useContext } from 'react';\nimport useSetState from 'ahooks/es/useSetState';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Button from 'antd/lib/button';\nimport Tooltip from 'antd/lib/tooltip';\nimport UpOutlined from '@ant-design/icons/UpOutlined';\nimport DownOutlined from '@ant-design/icons/DownOutlined';\nimport VtxRow from './VtxRow';\nimport VtxCol from './VtxCol';\nimport { StoreCtx } from '../vtx-page-layout/TableLayout';\nimport useColSize from '../_util/useColSize';\n\nfunction VtxSearch(props) {\n //参数列表\n const {\n layout = 'horizontal',\n column = { lg: 4, md: 3, sm: 2 },\n gridWeight = [],\n titles = [],\n labelWidth = 84, //搜索条件名宽度\n wrapClassName,\n isConfirmButton = true, //是否显示确认按钮\n isClearButton = true, //是否显示清空按钮\n isMoreButton = true, //是否显示更多按钮\n confirmText = '查询', //确认按钮文本\n clearText = '重置', //情况按钮文本\n onConfirm, //确认按钮回调\n onClear, //清空按钮回调\n renderButtons, //自定义按钮块\n showAll = false, //是否展示所有查询条件\n onToggleShow,\n } = props;\n\n const size = useColSize();\n const realColumn = column[size];\n\n const { onCollapse } = useContext(StoreCtx);\n\n const initStyle = {\n height: layout === 'horizontal' ? 48 : 68,\n };\n //初始化\n const [weightiness, setWeightiness] = useState(0);\n const [style, setStyle] = useSetState(initStyle);\n const { height, boxStyle } = style;\n const ref = useRef();\n\n const newGridWeight = gridWeight.filter(item => !!item);\n const newTitles = titles.filter(item => !!item);\n const newChildren = Array.isArray(props?.children)\n ? props?.children.filter(item => !!item)\n : props?.children;\n\n const rowHeight = layout === 'horizontal' ? 48 : 68;\n\n useLayoutEffect(() => {\n let weightiness = 0;\n newGridWeight.map(item => {\n weightiness += item;\n });\n\n setWeightiness(weightiness);\n if (showAll) {\n setStyle(\n weightiness > realColumn\n ? {\n height: ref.current.clientHeight,\n }\n : initStyle,\n );\n }\n }, [gridWeight]);\n\n const isShowMore = () => {\n const padding = 16;\n if (height > rowHeight) {\n setStyle(initStyle);\n if (onToggleShow && typeof onToggleShow === 'function') {\n onToggleShow(rowHeight + padding);\n }\n onCollapse && onCollapse(rowHeight + padding);\n } else {\n setStyle({\n height: ref.current.clientHeight,\n });\n if (onToggleShow && typeof onToggleShow === 'function') {\n onToggleShow(ref.current.clientHeight + padding);\n }\n onCollapse && onCollapse(ref.current.clientHeight + padding);\n }\n };\n\n const analyzeChildren = data => {\n let cData = data;\n if (!cData) return null;\n if (typeof data == 'function') {\n cData = data();\n }\n if (!cData.length) {\n return render(cData, 0);\n } else {\n let chData = [];\n cData.forEach(item => {\n if (typeof item == 'function') {\n let ite = item();\n if (Array.isArray(ite)) {\n chData.push(...ite);\n }\n chData.push(ite);\n return;\n }\n if (Array.isArray(item)) {\n chData.push(...item);\n return;\n }\n chData.push(item);\n });\n return chData.map((item, index) => {\n return render(item, index);\n });\n }\n };\n\n const layout_h = (d, i) => (\n <VtxRow gutter={2} attr=\"row\">\n <Tooltip title={newTitles[i]} placement=\"topRight\">\n <div\n className=\"vtx-search-label_h\"\n style={{ textAlign: 'right', width: labelWidth }}\n >\n {newTitles[i]}\n </div>\n </Tooltip>\n <div className=\"vtx-search-lists_h\" style={{ width: `calc(100% - ${labelWidth}px)` }}>\n <span className=\"vtx-search-list\">{d}</span>\n </div>\n </VtxRow>\n );\n\n const layout_v = (d, i) => (\n <VtxRow gutter={2} attr=\"row\" className=\"vtx-search-item__v\">\n <Tooltip title={newTitles[i]} placement=\"topLeft\">\n <div className=\"vtx-search-label_v\">{newTitles[i]}</div>\n </Tooltip>\n <div className=\"vtx-search-lists_v\">\n <span className=\"vtx-search-list\">{d}</span>\n </div>\n </VtxRow>\n );\n\n let render = (d, i) => {\n let gwt = newGridWeight[i];\n return (\n <VtxCol key={i} span={(24 / realColumn) * gwt} className=\"a\">\n {layout === 'horizontal' && layout_h(d, i)}\n {layout === 'vertical' && layout_v(d, i)}\n </VtxCol>\n );\n };\n\n return (\n <div\n className={classnames('vtx-search', wrapClassName)}\n style={{ height: `${height + 16}px`, ...boxStyle }}\n >\n <div className=\"vtx-search-element\" ref={ref}>\n <VtxRow gutter={24} attr=\"row\">\n {analyzeChildren(newChildren)}\n </VtxRow>\n </div>\n\n <div\n className=\"vtx-search-buttons\"\n style={{ paddingTop: layout === 'vertical' ? 28 : 0 }}\n >\n {renderButtons ? (\n <VtxRow gutter={8} attr=\"row\">\n {renderButtons}\n </VtxRow>\n ) : (\n <VtxRow gutter={8} attr=\"row\">\n {isConfirmButton && (\n <VtxCol span={9}>\n <span data-type={'bt'}>\n <Button\n style={{ width: '100%' }}\n type=\"primary\"\n onClick={onConfirm}\n >\n {confirmText}\n </Button>\n </span>\n </VtxCol>\n )}\n {isClearButton && (\n <VtxCol span={9}>\n <span data-type={'bt'}>\n <Button style={{ width: '100%' }} onClick={onClear}>\n {clearText}\n </Button>\n </span>\n </VtxCol>\n )}\n {weightiness > realColumn && isMoreButton && (\n <VtxCol span={6}>\n <div\n data-type={'bt'}\n onClick={() => isShowMore()}\n className=\"vtx-search-more\"\n >\n 展开\n {height > rowHeight ? <UpOutlined /> : <DownOutlined />}\n </div>\n </VtxCol>\n )}\n </VtxRow>\n )}\n </div>\n </div>\n );\n}\n\nVtxSearch.propTypes = {\n layout: PropTypes.oneOf(['vertical', 'horizontal']),\n column: PropTypes.objectOf(PropTypes.number),\n gridWeight: PropTypes.array,\n titles: PropTypes.array,\n labelWidth: PropTypes.number,\n wrapClassName: PropTypes.string,\n children: PropTypes.node,\n isConfirmButton: PropTypes.bool,\n isClearButton: PropTypes.bool,\n isMoreButton: PropTypes.bool,\n onConfirm: PropTypes.func,\n confirmText: PropTypes.string,\n onClear: PropTypes.func,\n clearText: PropTypes.string,\n renderButtons: PropTypes.node,\n showAll: PropTypes.bool,\n onToggleShow: PropTypes.func,\n};\nexport default VtxSearch;\n"],"file":"index.js"}
@@ -33,6 +33,10 @@
33
33
  vertical-align: top;
34
34
  }
35
35
  .vtx-search .vtx-search-item__v {
36
+ -webkit-box-orient: vertical;
37
+ -webkit-box-direction: normal;
38
+ -ms-flex-direction: column;
39
+ flex-direction: column;
36
40
  padding: 8px 0;
37
41
  }
38
42
  .vtx-search-label_v {
@@ -35,6 +35,7 @@
35
35
  vertical-align: top;
36
36
  }
37
37
  .vtx-search-item__v {
38
+ flex-direction: column;
38
39
  padding: 8px 0;
39
40
  }
40
41
  &-label_v {
@@ -295,7 +295,7 @@ var VtxUpload = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
295
295
  }
296
296
 
297
297
  if (typeof _beforeUpload === 'function') {
298
- _beforeUpload(file, afterFileList);
298
+ return _beforeUpload(file, afterFileList);
299
299
  }
300
300
 
301
301
  return true;
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-upload/index.jsx"],"names":["debouncedMessage","msg","message","error","initVPrev","type","name","url","downloadUrl","visible","initUrl","action","thumbnailUrl","rejectTypes","Dragger","Upload","VtxUpload","props","ref","isDragger","draggerConfig","accept","mode","viewMode","showUploadList","customizedButton","listType","onSuccess","onError","onRemove","maxFileSize","beforeUpload","maxNum","flag","rest","useThumbnail","fileList","setFileList","imageViewer","setImageViewer","imageList","setImageList","imageCt","setImageCt","vPrev","setVPrev","getSynFileList","Array","isArray","imagelist","map","file","indexOf","push","Viewer","getConfig","token","config","headers","Authorization","onChange","info","response","result","errMsg","flt","pop","status","vtxId","data","length","id","undefined","newFileList","newFile","thumbUrl","filter","item","uid","afterFileList","limit","size","pointIndex","lastIndexOf","fileType","substring","includes","onPreview","fileName","handlePreview","showRemoveIcon","imageIndex","update","view","processedFileList","index","console","img","maxWidth","maxHeight","marginTop","marginBottom","mainText","subText","fontSize","color","display","ins","propTypes","PropTypes","bool","object","string","node","previewUrl","func","number","array"],"mappings":"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","sourcesContent":["import React, { useState, useEffect, forwardRef } from 'react';\nimport useSetState from 'ahooks/es/useSetState';\nimport PropTypes from 'prop-types';\nimport Viewer from 'viewerjs';\nimport Upload from 'antd/lib/upload';\nimport Button from 'antd/lib/button';\nimport InboxOutlined from '@ant-design/icons/InboxOutlined';\nimport PlusOutlined from '@ant-design/icons/PlusOutlined';\nimport UploadOutlined from '@ant-design/icons/UploadOutlined';\nimport message from 'antd/lib/message';\nimport downloadFile from '@vtx/utils/lib/downloadFile';\nimport debounce from 'lodash.debounce';\nimport Prev from './FilePreview';\nimport getUrlParam from '../_util/getUrlParam';\n\nconst debouncedMessage = debounce(msg => {\n message.error(msg);\n}, 500);\n\n//文件预览\nconst initVPrev = {\n type: '', //video or file\n name: '',\n url: '',\n downloadUrl: '',\n visible: false,\n};\n\nconst initUrl = {\n action: '/cloudFile/common/uploadFile',\n downloadUrl: '/cloudFile/common/downloadFile?id=',\n thumbnailUrl:\n '/vortex/rest/cloud/np/file/downloadFileThumbnail?outputQuality=0.5&scale=0.2&id=',\n //previewUrl: '/onlinePreview',\n};\n//禁止上传的文件类型\nconst rejectTypes = ['.asp', '.aspx', '.jsp', '.exe', '.cgi', '.asa', '.cer', '.cdx', '.hta'];\n\nconst Dragger = Upload.Dragger;\nconst VtxUpload = forwardRef((props, ref) => {\n const {\n isDragger = false, //是否拖拽模式\n draggerConfig = {}, //拖动配置\n accept, //接受上传的文件类型\n mode = 'multiple', //单文件模式or多文件模式\n viewMode, //是否查看模式(隐藏上传按钮)\n showUploadList, //是否展示文件列表\n customizedButton, //自定义上传文字描述\n listType = 'text', //上传列表的样式\n onSuccess, //上传成功\n onError, //上传失败\n onRemove, //删除\n maxFileSize = 5 * 1024 * 1024, //文件大小限制,默认最大5M\n beforeUpload, //上传前回调\n maxNum, //最多上传的文件数量\n flag, //同步数据标记\n ...rest\n } = props;\n // 是否使用缩略图\n const useThumbnail =\n props.useThumbnail && (listType == 'picture' || listType == 'picture-card');\n\n const [fileList, setFileList] = useState([]); //初始化文件列表\n const [imageViewer, setImageViewer] = useState(null); //图片预览\n const [imageList, setImageList] = useState([]);\n const [imageCt, setImageCt] = useState(null);\n const [vPrev, setVPrev] = useSetState(initVPrev); //文件预览相关\n\n const url = {\n action: props.action || initUrl.action,\n downloadUrl: props.downloadUrl || initUrl.downloadUrl,\n thumbnailUrl: props.thumbnailUrl || initUrl.thumbnailUrl,\n //previewUrl: props.previewUrl || initUrl.previewUrl,\n };\n const { action, downloadUrl, thumbnailUrl } = url;\n\n useEffect(() => {\n setFileList(getSynFileList(props) || []);\n }, [flag]);\n\n useEffect(() => {\n if (Array.isArray(fileList)) {\n // 只有图片的才可以预览,这边需要判断是否是图片\n const imagelist = [];\n // 只能通过后缀来判断\n fileList.map(file => {\n if (file.type?.indexOf('image') > -1) {\n imagelist.push(file);\n }\n });\n setImageList(imagelist);\n }\n }, [fileList]);\n\n useEffect(() => {\n if (imageCt) {\n setImageViewer(new Viewer(imageCt, {}));\n }\n }, [imageCt]);\n\n const getConfig = () => {\n let token = getUrlParam('token') || '';\n let config = {\n ...rest,\n accept,\n action,\n fileList: fileList,\n listType,\n showUploadList,\n headers: {\n Authorization: token ? `Bearer ${token}` : '',\n ...rest.headers,\n },\n onChange(info) {\n setFileList(info.fileList);\n if (info.file.response && info.file.response.result === 1) {\n message.error(info.file.response.errMsg || '上传失败!');\n let flt = [...fileList];\n flt.pop();\n setFileList(flt);\n return;\n }\n // 此处根据后台返回的数据结构取得文件ID\n if (info.file.status !== 'uploading' && info.file.status !== 'removed') {\n let vtxId =\n info.file.response &&\n Array.isArray(info.file.response.data) &&\n info.file.response.data.length > 0\n ? info.file.response.data[0].id\n : undefined;\n let newFileList = info.fileList;\n let newFile = vtxId\n ? {\n ...info.file,\n id: vtxId,\n url: downloadUrl + vtxId,\n thumbUrl: useThumbnail ? thumbnailUrl + vtxId : undefined,\n }\n : {\n ...info.file,\n };\n newFileList = info.fileList\n .filter(item => {\n // 有vtxId代表上传成功,有item.id代表之前上传成功的\n if (vtxId || item.id) return true;\n return false;\n })\n .map(item => {\n if (item.uid == info.file.uid) {\n return {\n ...item,\n id: vtxId,\n url: downloadUrl + vtxId,\n thumbUrl: useThumbnail ? thumbnailUrl + vtxId : undefined,\n };\n }\n return item;\n });\n\n if (mode == 'single') {\n setFileList([newFile]);\n } else {\n setFileList(newFileList);\n }\n // 更新组件状态\n // if (mode == 'single' && info.file.status === 'done') {\n // setFileList([newFile]);\n // } else {\n // setFileList(newFileList);\n // }\n\n // 触发外部方法\n if (info.file.status === 'done') {\n if (typeof onSuccess == 'function') {\n onSuccess(newFile);\n }\n } else if (info.file.status === 'error') {\n if (typeof onError == 'function') {\n onError(info.file);\n }\n }\n }\n },\n onRemove(file) {\n if (typeof onRemove == 'function') {\n return onRemove(file);\n }\n },\n beforeUpload(file, afterFileList) {\n //限制文件大小\n if (maxFileSize && typeof maxFileSize === 'number') {\n const limit = file.size < maxFileSize;\n if (!limit) {\n message.error(`请上传${maxFileSize / 1024 / 1024}M以内的文件`);\n return false;\n }\n }\n //限制不允许上传的文件类型(通过文件名后缀)\n let pointIndex = file.name ? file.name.lastIndexOf('.') : -1;\n if (pointIndex > -1) {\n let fileType = file.name.substring(pointIndex);\n if (rejectTypes.includes(fileType)) {\n message.error('不支持该文件类型');\n return false;\n }\n }\n // 多选限制文件数量\n if (typeof maxNum === 'number' && afterFileList.length + fileList.length > maxNum) {\n // 减少提示错误次数, 思路,防抖 这边有个问题 就是防抖的这个方法 return fasle 不上传\n debouncedMessage(`最多上传${maxNum}个`);\n return false;\n }\n\n if (typeof beforeUpload === 'function') {\n beforeUpload(file, afterFileList);\n }\n return true;\n },\n };\n\n if (props.onPreview && typeof props.onPreview === 'function') {\n config.onPreview = props.onPreview;\n } else {\n config.onPreview = file => {\n if (!file.type) {\n downloadFile(downloadUrl + file.id, { fileName: file.name }, 'blob');\n } else if (file.type?.indexOf('image') > -1) {\n handlePreview(file);\n } else if (file.type?.indexOf('video') > -1) {\n // 视频\n setVPrev({\n type: 'video',\n name: file.name || '视频预览',\n url: downloadUrl + file.id,\n downloadUrl: downloadUrl + file.id,\n visible: true,\n });\n } else {\n downloadFile(downloadUrl + file.id, { fileName: file.name }, 'blob');\n }\n\n // TODO 暂无好的文件预览服务,等后续完善,只提供下载\n // else if (\n // file.type == 'application/PDF' ||\n // file.type == 'application/vnd.ms-excel' ||\n // file.type ==\n // 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' ||\n // file.type == 'application/msword' ||\n // file.type ==\n // 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'\n // ) {\n // let url = '';\n // if (props.previewUrl) {\n // url = `${props.previewUrl}?id=${file.id}&fileName=${file.name}`;\n // } else {\n // url = `http://183.215.89.162:8012/onlinePreview?url=http://183.136.177.108:8003/cloudFile/common/downloadFile${encodeURIComponent(\n // '?id=' + file.id + '&fullfilename=' + file.name.replace(/\\s*/g, ''),\n // )}`;\n // }\n\n // setVPrev({\n // type: 'file',\n // name: file.name || '文件预览',\n // url: url,\n // downloadUrl: downloadUrl + file.id,\n // visible: true,\n // });\n // }\n };\n }\n\n // viewMode\n if (viewMode) {\n config.showUploadList = { showRemoveIcon: false };\n }\n\n return config;\n };\n\n const handlePreview = file => {\n const imageIndex = imageList.map(item => item.id).indexOf(file.id);\n if (imageIndex == -1) return;\n imageViewer.update();\n imageViewer.view(imageIndex);\n };\n\n const getSynFileList = props => {\n let processedFileList = props.fileList || [];\n // 单文件模式只取第一个\n if (props.mode == 'single' && processedFileList.length > 1) {\n processedFileList = [processedFileList[0]];\n }\n processedFileList = processedFileList.map((item, index) => {\n // 将外部传入的简易文件数组处理成为组件需要的数组结构\n if (item.name === undefined || item.id === undefined) {\n // eslint-disable-next-line no-console\n console.error('文件列表的name和id属性不能为空');\n }\n return {\n ...item,\n uid: -1 - index,\n status: 'done',\n url: item.url || downloadUrl + item.id,\n thumbUrl: useThumbnail ? item.thumbUrl || thumbnailUrl + item.id : undefined,\n };\n });\n return processedFileList;\n };\n return (\n <>\n {isDragger ? (\n <Dragger {...getConfig()} ref={ref}>\n {draggerConfig?.img ? (\n <img\n src={draggerConfig.img}\n alt=\"\"\n style={{\n maxWidth: 100,\n maxHeight: 100,\n marginTop: '3%',\n marginBottom: '5%',\n }}\n />\n ) : (\n <p className=\"ant-upload-drag-icon\">\n <InboxOutlined />\n </p>\n )}\n <p className=\"ant-upload-text\">{draggerConfig?.mainText || '点击或拖拽上传'}</p>\n <p className=\"ant-upload-hint\">\n {draggerConfig?.subText || '支持上传word,excel,png...'}\n </p>\n </Dragger>\n ) : (\n <Upload {...getConfig()} ref={ref}>\n {viewMode || fileList.length >= maxNum\n ? null\n : customizedButton ||\n (listType == 'picture-card' ? (\n <div>\n <PlusOutlined style={{ fontSize: '28px', color: '#999' }} />\n <div className=\"ant-upload-text\">上传</div>\n </div>\n ) : (\n <Button>\n <UploadOutlined />\n 上传\n </Button>\n ))}\n </Upload>\n )}\n <div style={{ display: 'none' }}>\n <ul\n ref={ins => {\n if (ins) setImageCt(ins);\n }}\n >\n {imageList\n .filter(item => item.type && item.type?.indexOf('image') > -1)\n .map((item, index) => (\n <li key={item.uid}>\n <img\n src={item.url || downloadUrl + item.id}\n alt={item.name || `picture-${index + 1}`}\n />\n </li>\n ))}\n </ul>\n </div>\n {/* 视频预览 */}\n <Prev onCancel={() => setVPrev(initVPrev)} {...vPrev} />\n </>\n );\n});\n\nVtxUpload.propTypes = {\n isDragger: PropTypes.bool,\n draggerConfig: PropTypes.object,\n accept: PropTypes.string,\n mode: PropTypes.string,\n viewMode: PropTypes.bool,\n showUploadList: PropTypes.bool,\n customizedButton: PropTypes.node,\n listType: PropTypes.string,\n action: PropTypes.string,\n downloadUrl: PropTypes.string,\n thumbnailUrl: PropTypes.string,\n previewUrl: PropTypes.string,\n onSuccess: PropTypes.func,\n onError: PropTypes.func,\n onRemove: PropTypes.func,\n onPreview: PropTypes.func,\n maxFileSize: PropTypes.number,\n beforeUpload: PropTypes.func,\n maxNum: PropTypes.number,\n fileList: PropTypes.array,\n flag: PropTypes.number,\n useThumbnail: PropTypes.bool,\n};\nexport default VtxUpload;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["vtx-upload/index.jsx"],"names":["debouncedMessage","msg","message","error","initVPrev","type","name","url","downloadUrl","visible","initUrl","action","thumbnailUrl","rejectTypes","Dragger","Upload","VtxUpload","props","ref","isDragger","draggerConfig","accept","mode","viewMode","showUploadList","customizedButton","listType","onSuccess","onError","onRemove","maxFileSize","beforeUpload","maxNum","flag","rest","useThumbnail","fileList","setFileList","imageViewer","setImageViewer","imageList","setImageList","imageCt","setImageCt","vPrev","setVPrev","getSynFileList","Array","isArray","imagelist","map","file","indexOf","push","Viewer","getConfig","token","config","headers","Authorization","onChange","info","response","result","errMsg","flt","pop","status","vtxId","data","length","id","undefined","newFileList","newFile","thumbUrl","filter","item","uid","afterFileList","limit","size","pointIndex","lastIndexOf","fileType","substring","includes","onPreview","fileName","handlePreview","showRemoveIcon","imageIndex","update","view","processedFileList","index","console","img","maxWidth","maxHeight","marginTop","marginBottom","mainText","subText","fontSize","color","display","ins","propTypes","PropTypes","bool","object","string","node","previewUrl","func","number","array"],"mappings":"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","sourcesContent":["import React, { useState, useEffect, forwardRef } from 'react';\nimport useSetState from 'ahooks/es/useSetState';\nimport PropTypes from 'prop-types';\nimport Viewer from 'viewerjs';\nimport Upload from 'antd/lib/upload';\nimport Button from 'antd/lib/button';\nimport InboxOutlined from '@ant-design/icons/InboxOutlined';\nimport PlusOutlined from '@ant-design/icons/PlusOutlined';\nimport UploadOutlined from '@ant-design/icons/UploadOutlined';\nimport message from 'antd/lib/message';\nimport downloadFile from '@vtx/utils/lib/downloadFile';\nimport debounce from 'lodash.debounce';\nimport Prev from './FilePreview';\nimport getUrlParam from '../_util/getUrlParam';\n\nconst debouncedMessage = debounce(msg => {\n message.error(msg);\n}, 500);\n\n//文件预览\nconst initVPrev = {\n type: '', //video or file\n name: '',\n url: '',\n downloadUrl: '',\n visible: false,\n};\n\nconst initUrl = {\n action: '/cloudFile/common/uploadFile',\n downloadUrl: '/cloudFile/common/downloadFile?id=',\n thumbnailUrl:\n '/vortex/rest/cloud/np/file/downloadFileThumbnail?outputQuality=0.5&scale=0.2&id=',\n //previewUrl: '/onlinePreview',\n};\n//禁止上传的文件类型\nconst rejectTypes = ['.asp', '.aspx', '.jsp', '.exe', '.cgi', '.asa', '.cer', '.cdx', '.hta'];\n\nconst Dragger = Upload.Dragger;\nconst VtxUpload = forwardRef((props, ref) => {\n const {\n isDragger = false, //是否拖拽模式\n draggerConfig = {}, //拖动配置\n accept, //接受上传的文件类型\n mode = 'multiple', //单文件模式or多文件模式\n viewMode, //是否查看模式(隐藏上传按钮)\n showUploadList, //是否展示文件列表\n customizedButton, //自定义上传文字描述\n listType = 'text', //上传列表的样式\n onSuccess, //上传成功\n onError, //上传失败\n onRemove, //删除\n maxFileSize = 5 * 1024 * 1024, //文件大小限制,默认最大5M\n beforeUpload, //上传前回调\n maxNum, //最多上传的文件数量\n flag, //同步数据标记\n ...rest\n } = props;\n // 是否使用缩略图\n const useThumbnail =\n props.useThumbnail && (listType == 'picture' || listType == 'picture-card');\n\n const [fileList, setFileList] = useState([]); //初始化文件列表\n const [imageViewer, setImageViewer] = useState(null); //图片预览\n const [imageList, setImageList] = useState([]);\n const [imageCt, setImageCt] = useState(null);\n const [vPrev, setVPrev] = useSetState(initVPrev); //文件预览相关\n\n const url = {\n action: props.action || initUrl.action,\n downloadUrl: props.downloadUrl || initUrl.downloadUrl,\n thumbnailUrl: props.thumbnailUrl || initUrl.thumbnailUrl,\n //previewUrl: props.previewUrl || initUrl.previewUrl,\n };\n const { action, downloadUrl, thumbnailUrl } = url;\n\n useEffect(() => {\n setFileList(getSynFileList(props) || []);\n }, [flag]);\n\n useEffect(() => {\n if (Array.isArray(fileList)) {\n // 只有图片的才可以预览,这边需要判断是否是图片\n const imagelist = [];\n // 只能通过后缀来判断\n fileList.map(file => {\n if (file.type?.indexOf('image') > -1) {\n imagelist.push(file);\n }\n });\n setImageList(imagelist);\n }\n }, [fileList]);\n\n useEffect(() => {\n if (imageCt) {\n setImageViewer(new Viewer(imageCt, {}));\n }\n }, [imageCt]);\n\n const getConfig = () => {\n let token = getUrlParam('token') || '';\n let config = {\n ...rest,\n accept,\n action,\n fileList: fileList,\n listType,\n showUploadList,\n headers: {\n Authorization: token ? `Bearer ${token}` : '',\n ...rest.headers,\n },\n onChange(info) {\n setFileList(info.fileList);\n if (info.file.response && info.file.response.result === 1) {\n message.error(info.file.response.errMsg || '上传失败!');\n let flt = [...fileList];\n flt.pop();\n setFileList(flt);\n return;\n }\n // 此处根据后台返回的数据结构取得文件ID\n if (info.file.status !== 'uploading' && info.file.status !== 'removed') {\n let vtxId =\n info.file.response &&\n Array.isArray(info.file.response.data) &&\n info.file.response.data.length > 0\n ? info.file.response.data[0].id\n : undefined;\n let newFileList = info.fileList;\n let newFile = vtxId\n ? {\n ...info.file,\n id: vtxId,\n url: downloadUrl + vtxId,\n thumbUrl: useThumbnail ? thumbnailUrl + vtxId : undefined,\n }\n : {\n ...info.file,\n };\n newFileList = info.fileList\n .filter(item => {\n // 有vtxId代表上传成功,有item.id代表之前上传成功的\n if (vtxId || item.id) return true;\n return false;\n })\n .map(item => {\n if (item.uid == info.file.uid) {\n return {\n ...item,\n id: vtxId,\n url: downloadUrl + vtxId,\n thumbUrl: useThumbnail ? thumbnailUrl + vtxId : undefined,\n };\n }\n return item;\n });\n\n if (mode == 'single') {\n setFileList([newFile]);\n } else {\n setFileList(newFileList);\n }\n // 更新组件状态\n // if (mode == 'single' && info.file.status === 'done') {\n // setFileList([newFile]);\n // } else {\n // setFileList(newFileList);\n // }\n\n // 触发外部方法\n if (info.file.status === 'done') {\n if (typeof onSuccess == 'function') {\n onSuccess(newFile);\n }\n } else if (info.file.status === 'error') {\n if (typeof onError == 'function') {\n onError(info.file);\n }\n }\n }\n },\n onRemove(file) {\n if (typeof onRemove == 'function') {\n return onRemove(file);\n }\n },\n beforeUpload(file, afterFileList) {\n //限制文件大小\n if (maxFileSize && typeof maxFileSize === 'number') {\n const limit = file.size < maxFileSize;\n if (!limit) {\n message.error(`请上传${maxFileSize / 1024 / 1024}M以内的文件`);\n return false;\n }\n }\n //限制不允许上传的文件类型(通过文件名后缀)\n let pointIndex = file.name ? file.name.lastIndexOf('.') : -1;\n if (pointIndex > -1) {\n let fileType = file.name.substring(pointIndex);\n if (rejectTypes.includes(fileType)) {\n message.error('不支持该文件类型');\n return false;\n }\n }\n // 多选限制文件数量\n if (typeof maxNum === 'number' && afterFileList.length + fileList.length > maxNum) {\n // 减少提示错误次数, 思路,防抖 这边有个问题 就是防抖的这个方法 return fasle 不上传\n debouncedMessage(`最多上传${maxNum}个`);\n return false;\n }\n\n if (typeof beforeUpload === 'function') {\n return beforeUpload(file, afterFileList);\n }\n return true;\n },\n };\n\n if (props.onPreview && typeof props.onPreview === 'function') {\n config.onPreview = props.onPreview;\n } else {\n config.onPreview = file => {\n if (!file.type) {\n downloadFile(downloadUrl + file.id, { fileName: file.name }, 'blob');\n } else if (file.type?.indexOf('image') > -1) {\n handlePreview(file);\n } else if (file.type?.indexOf('video') > -1) {\n // 视频\n setVPrev({\n type: 'video',\n name: file.name || '视频预览',\n url: downloadUrl + file.id,\n downloadUrl: downloadUrl + file.id,\n visible: true,\n });\n } else {\n downloadFile(downloadUrl + file.id, { fileName: file.name }, 'blob');\n }\n\n // TODO 暂无好的文件预览服务,等后续完善,只提供下载\n // else if (\n // file.type == 'application/PDF' ||\n // file.type == 'application/vnd.ms-excel' ||\n // file.type ==\n // 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' ||\n // file.type == 'application/msword' ||\n // file.type ==\n // 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'\n // ) {\n // let url = '';\n // if (props.previewUrl) {\n // url = `${props.previewUrl}?id=${file.id}&fileName=${file.name}`;\n // } else {\n // url = `http://183.215.89.162:8012/onlinePreview?url=http://183.136.177.108:8003/cloudFile/common/downloadFile${encodeURIComponent(\n // '?id=' + file.id + '&fullfilename=' + file.name.replace(/\\s*/g, ''),\n // )}`;\n // }\n\n // setVPrev({\n // type: 'file',\n // name: file.name || '文件预览',\n // url: url,\n // downloadUrl: downloadUrl + file.id,\n // visible: true,\n // });\n // }\n };\n }\n\n // viewMode\n if (viewMode) {\n config.showUploadList = { showRemoveIcon: false };\n }\n\n return config;\n };\n\n const handlePreview = file => {\n const imageIndex = imageList.map(item => item.id).indexOf(file.id);\n if (imageIndex == -1) return;\n imageViewer.update();\n imageViewer.view(imageIndex);\n };\n\n const getSynFileList = props => {\n let processedFileList = props.fileList || [];\n // 单文件模式只取第一个\n if (props.mode == 'single' && processedFileList.length > 1) {\n processedFileList = [processedFileList[0]];\n }\n processedFileList = processedFileList.map((item, index) => {\n // 将外部传入的简易文件数组处理成为组件需要的数组结构\n if (item.name === undefined || item.id === undefined) {\n // eslint-disable-next-line no-console\n console.error('文件列表的name和id属性不能为空');\n }\n return {\n ...item,\n uid: -1 - index,\n status: 'done',\n url: item.url || downloadUrl + item.id,\n thumbUrl: useThumbnail ? item.thumbUrl || thumbnailUrl + item.id : undefined,\n };\n });\n return processedFileList;\n };\n return (\n <>\n {isDragger ? (\n <Dragger {...getConfig()} ref={ref}>\n {draggerConfig?.img ? (\n <img\n src={draggerConfig.img}\n alt=\"\"\n style={{\n maxWidth: 100,\n maxHeight: 100,\n marginTop: '3%',\n marginBottom: '5%',\n }}\n />\n ) : (\n <p className=\"ant-upload-drag-icon\">\n <InboxOutlined />\n </p>\n )}\n <p className=\"ant-upload-text\">{draggerConfig?.mainText || '点击或拖拽上传'}</p>\n <p className=\"ant-upload-hint\">\n {draggerConfig?.subText || '支持上传word,excel,png...'}\n </p>\n </Dragger>\n ) : (\n <Upload {...getConfig()} ref={ref}>\n {viewMode || fileList.length >= maxNum\n ? null\n : customizedButton ||\n (listType == 'picture-card' ? (\n <div>\n <PlusOutlined style={{ fontSize: '28px', color: '#999' }} />\n <div className=\"ant-upload-text\">上传</div>\n </div>\n ) : (\n <Button>\n <UploadOutlined />\n 上传\n </Button>\n ))}\n </Upload>\n )}\n <div style={{ display: 'none' }}>\n <ul\n ref={ins => {\n if (ins) setImageCt(ins);\n }}\n >\n {imageList\n .filter(item => item.type && item.type?.indexOf('image') > -1)\n .map((item, index) => (\n <li key={item.uid}>\n <img\n src={item.url || downloadUrl + item.id}\n alt={item.name || `picture-${index + 1}`}\n />\n </li>\n ))}\n </ul>\n </div>\n {/* 视频预览 */}\n <Prev onCancel={() => setVPrev(initVPrev)} {...vPrev} />\n </>\n );\n});\n\nVtxUpload.propTypes = {\n isDragger: PropTypes.bool,\n draggerConfig: PropTypes.object,\n accept: PropTypes.string,\n mode: PropTypes.string,\n viewMode: PropTypes.bool,\n showUploadList: PropTypes.bool,\n customizedButton: PropTypes.node,\n listType: PropTypes.string,\n action: PropTypes.string,\n downloadUrl: PropTypes.string,\n thumbnailUrl: PropTypes.string,\n previewUrl: PropTypes.string,\n onSuccess: PropTypes.func,\n onError: PropTypes.func,\n onRemove: PropTypes.func,\n onPreview: PropTypes.func,\n maxFileSize: PropTypes.number,\n beforeUpload: PropTypes.func,\n maxNum: PropTypes.number,\n fileList: PropTypes.array,\n flag: PropTypes.number,\n useThumbnail: PropTypes.bool,\n};\nexport default VtxUpload;\n"],"file":"index.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtx/components",
3
- "version": "3.0.0",
3
+ "version": "3.0.1",
4
4
  "description": "React components for Vortex",
5
5
  "keywords": [
6
6
  "react",