@vtx/components 2.4.1 → 2.5.2
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 +110 -0
- package/lib/vtx-datagrid/Alert.js +45 -0
- package/lib/vtx-datagrid/Alert.js.map +1 -0
- package/lib/vtx-datagrid/index.js +63 -17
- package/lib/vtx-datagrid/index.js.map +1 -1
- package/lib/vtx-datagrid/style/css.js +4 -0
- package/lib/vtx-datagrid/style/css.js.map +1 -1
- package/lib/vtx-datagrid/style/index.css +22 -1
- package/lib/vtx-datagrid/style/index.js +4 -0
- package/lib/vtx-datagrid/style/index.js.map +1 -1
- package/lib/vtx-datagrid/style/index.less +25 -1
- package/lib/vtx-form-layout/Card.js +83 -0
- package/lib/vtx-form-layout/Card.js.map +1 -0
- package/lib/vtx-form-layout/Divider.js +22 -0
- package/lib/vtx-form-layout/Divider.js.map +1 -0
- package/lib/vtx-form-layout/FormItem.js +26 -12
- package/lib/vtx-form-layout/FormItem.js.map +1 -1
- package/lib/vtx-form-layout/Pane.js +34 -0
- package/lib/vtx-form-layout/Pane.js.map +1 -0
- package/lib/vtx-form-layout/Row.js +25 -0
- package/lib/vtx-form-layout/Row.js.map +1 -0
- package/lib/vtx-form-layout/demo/Modal.css +42 -0
- package/lib/vtx-form-layout/demo/Modal.less +41 -0
- package/lib/vtx-form-layout/index.js +30 -7
- package/lib/vtx-form-layout/index.js.map +1 -1
- package/lib/vtx-form-layout/style/css.js +4 -0
- package/lib/vtx-form-layout/style/css.js.map +1 -1
- package/lib/vtx-form-layout/style/index.css +126 -0
- package/lib/vtx-form-layout/style/index.js +4 -0
- package/lib/vtx-form-layout/style/index.js.map +1 -1
- package/lib/vtx-form-layout/style/index.less +140 -0
- package/lib/vtx-image/Preview.js +3 -0
- package/lib/vtx-image/Preview.js.map +1 -1
- package/lib/vtx-input/index.js +13 -2
- package/lib/vtx-input/index.js.map +1 -1
- package/lib/vtx-input/style/index.css +7 -1
- package/lib/vtx-input/style/index.less +5 -1
- package/lib/vtx-modal/Title.js +32 -0
- package/lib/vtx-modal/Title.js.map +1 -0
- package/lib/vtx-modal/index.js +10 -0
- package/lib/vtx-modal/index.js.map +1 -1
- package/lib/vtx-modal/style/index.css +11 -0
- package/lib/vtx-modal/style/index.less +16 -0
- package/lib/vtx-page-layout/Basic.js +0 -1
- package/lib/vtx-page-layout/Basic.js.map +1 -1
- package/lib/vtx-page-layout/Pane.js +50 -0
- package/lib/vtx-page-layout/Pane.js.map +1 -0
- package/lib/vtx-page-layout/TableLayout.js +165 -0
- package/lib/vtx-page-layout/TableLayout.js.map +1 -0
- package/lib/vtx-page-layout/index.js +6 -0
- package/lib/vtx-page-layout/index.js.map +1 -1
- package/lib/vtx-page-layout/style/index.css +52 -3
- package/lib/vtx-page-layout/style/index.less +55 -1
- package/lib/vtx-rps-frame/index.js +1 -1
- package/lib/vtx-rps-frame/index.js.map +1 -1
- package/lib/vtx-scrollable-row/index.js +227 -0
- package/lib/vtx-scrollable-row/index.js.map +1 -0
- package/lib/vtx-scrollable-row/style/css.js +6 -0
- package/lib/vtx-scrollable-row/style/css.js.map +1 -0
- package/lib/vtx-scrollable-row/style/index.css +111 -0
- package/lib/vtx-scrollable-row/style/index.js +6 -0
- package/lib/vtx-scrollable-row/style/index.js.map +1 -0
- package/lib/vtx-scrollable-row/style/index.less +111 -0
- package/lib/vtx-search/VtxCol.js +2 -2
- package/lib/vtx-search/VtxCol.js.map +1 -1
- package/lib/vtx-search/VtxRow.js +6 -3
- package/lib/vtx-search/VtxRow.js.map +1 -1
- package/lib/vtx-search/index.js +42 -38
- package/lib/vtx-search/index.js.map +1 -1
- package/lib/vtx-search/style/css.js +2 -0
- package/lib/vtx-search/style/css.js.map +1 -1
- package/lib/vtx-search/style/index.css +25 -24
- package/lib/vtx-search/style/index.js +2 -0
- package/lib/vtx-search/style/index.js.map +1 -1
- package/lib/vtx-search/style/index.less +27 -25
- package/lib/vtx-select/index.js +2 -1
- package/lib/vtx-select/index.js.map +1 -1
- package/lib/vtx-split-pane/SplitPane.js +1 -0
- package/lib/vtx-split-pane/SplitPane.js.map +1 -1
- package/lib/vtx-statistics-column/Back.js +29 -0
- package/lib/vtx-statistics-column/Back.js.map +1 -0
- package/lib/vtx-statistics-column/Item.js +68 -0
- package/lib/vtx-statistics-column/Item.js.map +1 -0
- package/lib/vtx-statistics-column/Total.js +68 -0
- package/lib/vtx-statistics-column/Total.js.map +1 -0
- package/lib/vtx-statistics-column/context.js +12 -0
- package/lib/vtx-statistics-column/context.js.map +1 -0
- package/lib/vtx-statistics-column/index.js +63 -0
- package/lib/vtx-statistics-column/index.js.map +1 -0
- package/lib/vtx-statistics-column/style/css.js +4 -0
- package/lib/vtx-statistics-column/style/css.js.map +1 -0
- package/lib/vtx-statistics-column/style/index.css +55 -0
- package/lib/vtx-statistics-column/style/index.js +4 -0
- package/lib/vtx-statistics-column/style/index.js.map +1 -0
- package/lib/vtx-statistics-column/style/index.less +61 -0
- package/lib/vtx-upload/index.js +3 -3
- package/lib/vtx-upload/index.js.map +1 -1
- package/lib/vtx-ztree/style/index.css +5 -5
- package/lib/vtx-ztree/style/index.less +5 -5
- package/lib/vtx-ztree-select/index.js +4 -8
- package/lib/vtx-ztree-select/index.js.map +1 -1
- package/lib/vtx-ztree-select/style/index.css +20 -1
- package/lib/vtx-ztree-select/style/index.less +28 -2
- package/package.json +3 -2
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
13
|
+
|
|
14
|
+
var _vtxScrollableRow = _interopRequireDefault(require("../vtx-scrollable-row"));
|
|
15
|
+
|
|
16
|
+
var _Total = _interopRequireDefault(require("./Total"));
|
|
17
|
+
|
|
18
|
+
var _Item = _interopRequireDefault(require("./Item"));
|
|
19
|
+
|
|
20
|
+
var _Back = _interopRequireDefault(require("./Back"));
|
|
21
|
+
|
|
22
|
+
var _context = require("./context");
|
|
23
|
+
|
|
24
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
25
|
+
|
|
26
|
+
function VtxStatisticsColumn(props) {
|
|
27
|
+
var max = props.max;
|
|
28
|
+
|
|
29
|
+
var items = _react["default"].Children.toArray(props.children).filter(function (c) {
|
|
30
|
+
return c.type === VtxStatisticsColumn.Item || c.type === VtxStatisticsColumn.Total;
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
var isTiled = 'max' in props ? max > items.length : true;
|
|
34
|
+
var store = {
|
|
35
|
+
isTiled: isTiled,
|
|
36
|
+
cols: items.length
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
var content = /*#__PURE__*/_react["default"].createElement("div", {
|
|
40
|
+
className: (0, _classnames["default"])('vtx-statistics-column', {
|
|
41
|
+
'vtx-statistics-column-nowrap': !isTiled
|
|
42
|
+
})
|
|
43
|
+
}, props.children);
|
|
44
|
+
|
|
45
|
+
if (!isTiled) {
|
|
46
|
+
content = /*#__PURE__*/_react["default"].createElement(_vtxScrollableRow["default"], null, content);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
return /*#__PURE__*/_react["default"].createElement(_context.StoreCtx.Provider, {
|
|
50
|
+
value: store
|
|
51
|
+
}, content);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
VtxStatisticsColumn.Total = _Total["default"];
|
|
55
|
+
VtxStatisticsColumn.Item = _Item["default"];
|
|
56
|
+
VtxStatisticsColumn.Back = _Back["default"];
|
|
57
|
+
var _default = VtxStatisticsColumn;
|
|
58
|
+
exports["default"] = _default;
|
|
59
|
+
VtxStatisticsColumn.propTypes = {
|
|
60
|
+
max: _propTypes["default"].number,
|
|
61
|
+
children: _propTypes["default"].node
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["vtx-statistics-column/index.jsx"],"names":["VtxStatisticsColumn","props","max","items","React","Children","toArray","children","filter","c","type","Item","Total","isTiled","length","store","cols","content","Back","propTypes","PropTypes","number","node"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,SAASA,mBAAT,CAA6BC,KAA7B,EAAoC;AAAA,MACxBC,GADwB,GAChBD,KADgB,CACxBC,GADwB;;AAEhC,MAAMC,KAAK,GAAGC,kBAAMC,QAAN,CAAeC,OAAf,CAAuBL,KAAK,CAACM,QAA7B,EAAuCC,MAAvC,CACV,UAAAC,CAAC;AAAA,WAAIA,CAAC,CAACC,IAAF,KAAWV,mBAAmB,CAACW,IAA/B,IAAuCF,CAAC,CAACC,IAAF,KAAWV,mBAAmB,CAACY,KAA1E;AAAA,GADS,CAAd;;AAGA,MAAMC,OAAO,GAAG,SAASZ,KAAT,GAAiBC,GAAG,GAAGC,KAAK,CAACW,MAA7B,GAAsC,IAAtD;AACA,MAAMC,KAAK,GAAG;AACVF,IAAAA,OAAO,EAAPA,OADU;AAEVG,IAAAA,IAAI,EAAEb,KAAK,CAACW;AAFF,GAAd;;AAIA,MAAIG,OAAO,gBACP;AACI,IAAA,SAAS,EAAE,4BAAW,uBAAX,EAAoC;AAC3C,sCAAgC,CAACJ;AADU,KAApC;AADf,KAKKZ,KAAK,CAACM,QALX,CADJ;;AASA,MAAI,CAACM,OAAL,EAAc;AACVI,IAAAA,OAAO,gBAAG,gCAAC,4BAAD,QAAmBA,OAAnB,CAAV;AACH;;AACD,sBAAO,gCAAC,iBAAD,CAAU,QAAV;AAAmB,IAAA,KAAK,EAAEF;AAA1B,KAAkCE,OAAlC,CAAP;AACH;;AAEDjB,mBAAmB,CAACY,KAApB,GAA4BA,iBAA5B;AACAZ,mBAAmB,CAACW,IAApB,GAA2BA,gBAA3B;AACAX,mBAAmB,CAACkB,IAApB,GAA2BA,gBAA3B;eAEelB,mB;;AAEfA,mBAAmB,CAACmB,SAApB,GAAgC;AAC5BjB,EAAAA,GAAG,EAAEkB,sBAAUC,MADa;AAE5Bd,EAAAA,QAAQ,EAAEa,sBAAUE;AAFQ,CAAhC","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport VtxScrollableRow from '../vtx-scrollable-row';\nimport Total from './Total';\nimport Item from './Item';\nimport Back from './Back';\nimport { StoreCtx } from './context';\n\nfunction VtxStatisticsColumn(props) {\n const { max } = props;\n const items = React.Children.toArray(props.children).filter(\n c => c.type === VtxStatisticsColumn.Item || c.type === VtxStatisticsColumn.Total,\n );\n const isTiled = 'max' in props ? max > items.length : true;\n const store = {\n isTiled,\n cols: items.length,\n };\n let content = (\n <div\n className={classnames('vtx-statistics-column', {\n 'vtx-statistics-column-nowrap': !isTiled,\n })}\n >\n {props.children}\n </div>\n );\n if (!isTiled) {\n content = <VtxScrollableRow>{content}</VtxScrollableRow>;\n }\n return <StoreCtx.Provider value={store}>{content}</StoreCtx.Provider>;\n}\n\nVtxStatisticsColumn.Total = Total;\nVtxStatisticsColumn.Item = Item;\nVtxStatisticsColumn.Back = Back;\n\nexport default VtxStatisticsColumn;\n\nVtxStatisticsColumn.propTypes = {\n max: PropTypes.number,\n children: PropTypes.node,\n};\n"],"file":"index.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["vtx-statistics-column/style/index.js"],"names":[],"mappings":";;AAAA","sourcesContent":["import './index.less';\n"],"file":"css.js"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
.vtx-statistics-column {
|
|
2
|
+
position: relative;
|
|
3
|
+
padding: 20px;
|
|
4
|
+
background: #fff;
|
|
5
|
+
}
|
|
6
|
+
.vtx-statistics-column-nowrap {
|
|
7
|
+
overflow: hidden;
|
|
8
|
+
white-space: nowrap;
|
|
9
|
+
}
|
|
10
|
+
.vtx-statistics-column-item {
|
|
11
|
+
position: relative;
|
|
12
|
+
display: inline-block;
|
|
13
|
+
text-align: center;
|
|
14
|
+
}
|
|
15
|
+
.vtx-statistics-column-item-space {
|
|
16
|
+
padding: 0 24px;
|
|
17
|
+
}
|
|
18
|
+
.vtx-statistics-column-item--label {
|
|
19
|
+
margin-bottom: 8px;
|
|
20
|
+
color: rgba(0, 0, 0, 0.65);
|
|
21
|
+
line-height: 1;
|
|
22
|
+
}
|
|
23
|
+
.vtx-statistics-column-item--value {
|
|
24
|
+
color: rgba(0, 0, 0, 0.85);
|
|
25
|
+
font-size: 24px;
|
|
26
|
+
line-height: 1;
|
|
27
|
+
}
|
|
28
|
+
.vtx-statistics-column-item_pointer {
|
|
29
|
+
cursor: pointer;
|
|
30
|
+
}
|
|
31
|
+
.vtx-statistics-column-item-total .vtx-statistics-column-item--value {
|
|
32
|
+
color: #13c2c2;
|
|
33
|
+
}
|
|
34
|
+
.vtx-statistics-column-item-total::after {
|
|
35
|
+
position: absolute;
|
|
36
|
+
top: 50%;
|
|
37
|
+
right: 0;
|
|
38
|
+
width: 1px;
|
|
39
|
+
height: 42px;
|
|
40
|
+
background: #e8e8e8;
|
|
41
|
+
-webkit-transform: translate(0, -50%);
|
|
42
|
+
-ms-transform: translate(0, -50%);
|
|
43
|
+
transform: translate(0, -50%);
|
|
44
|
+
content: '';
|
|
45
|
+
}
|
|
46
|
+
.vtx-statistics-column-back {
|
|
47
|
+
position: absolute;
|
|
48
|
+
top: 0;
|
|
49
|
+
left: 0;
|
|
50
|
+
padding: 0 5px;
|
|
51
|
+
color: #fff;
|
|
52
|
+
background-color: #1890ff;
|
|
53
|
+
border-radius: 2px 0 2px 0;
|
|
54
|
+
cursor: pointer;
|
|
55
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["vtx-statistics-column/style/index.js"],"names":[],"mappings":";;AAAA","sourcesContent":["import './index.less';\n"],"file":"index.js"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// @import (reference) '~antd/es/style/themes/index.less';
|
|
2
|
+
@prefix-cls: vtx-statistics-column;
|
|
3
|
+
@border-radius-base: 2px;
|
|
4
|
+
@primary-color: #1890ff;
|
|
5
|
+
@text-color: fade(#000, 65%);
|
|
6
|
+
|
|
7
|
+
.@{prefix-cls} {
|
|
8
|
+
position: relative;
|
|
9
|
+
padding: 20px;
|
|
10
|
+
background: #fff;
|
|
11
|
+
&-nowrap {
|
|
12
|
+
overflow: hidden;
|
|
13
|
+
white-space: nowrap;
|
|
14
|
+
}
|
|
15
|
+
&-item {
|
|
16
|
+
position: relative;
|
|
17
|
+
display: inline-block;
|
|
18
|
+
text-align: center;
|
|
19
|
+
&-space {
|
|
20
|
+
padding: 0 24px;
|
|
21
|
+
}
|
|
22
|
+
&--label {
|
|
23
|
+
margin-bottom: 8px;
|
|
24
|
+
color: @text-color;
|
|
25
|
+
line-height: 1;
|
|
26
|
+
}
|
|
27
|
+
&--value {
|
|
28
|
+
color: rgba(0, 0, 0, 0.85);
|
|
29
|
+
font-size: 24px;
|
|
30
|
+
line-height: 1;
|
|
31
|
+
}
|
|
32
|
+
&_pointer {
|
|
33
|
+
cursor: pointer;
|
|
34
|
+
}
|
|
35
|
+
&-total &--value {
|
|
36
|
+
color: #13c2c2;
|
|
37
|
+
}
|
|
38
|
+
&-total {
|
|
39
|
+
&::after {
|
|
40
|
+
position: absolute;
|
|
41
|
+
top: 50%;
|
|
42
|
+
right: 0;
|
|
43
|
+
width: 1px;
|
|
44
|
+
height: 42px;
|
|
45
|
+
background: #e8e8e8;
|
|
46
|
+
transform: translate(0, -50%);
|
|
47
|
+
content: '';
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
&-back {
|
|
52
|
+
position: absolute;
|
|
53
|
+
top: 0;
|
|
54
|
+
left: 0;
|
|
55
|
+
padding: 0 5px;
|
|
56
|
+
color: #fff;
|
|
57
|
+
background-color: @primary-color;
|
|
58
|
+
border-radius: @border-radius-base 0 @border-radius-base 0;
|
|
59
|
+
cursor: pointer;
|
|
60
|
+
}
|
|
61
|
+
}
|
package/lib/vtx-upload/index.js
CHANGED
|
@@ -161,9 +161,9 @@ var VtxUpload = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
161
161
|
fileList: fileList,
|
|
162
162
|
listType: listType,
|
|
163
163
|
showUploadList: showUploadList,
|
|
164
|
-
headers: {
|
|
164
|
+
headers: _objectSpread({
|
|
165
165
|
Authorization: token ? "Bearer ".concat(token) : ''
|
|
166
|
-
},
|
|
166
|
+
}, rest.headers),
|
|
167
167
|
onChange: function onChange(info) {
|
|
168
168
|
if (info.file.response && info.file.response.result === 1) {
|
|
169
169
|
_message["default"].error(info.file.response.errMsg || '上传失败!');
|
|
@@ -247,7 +247,7 @@ var VtxUpload = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
247
247
|
}
|
|
248
248
|
|
|
249
249
|
if (typeof _beforeUpload === 'function') {
|
|
250
|
-
_beforeUpload();
|
|
250
|
+
_beforeUpload(file);
|
|
251
251
|
}
|
|
252
252
|
|
|
253
253
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["vtx-upload/index.jsx"],"names":["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","imageCt","setImageCt","vPrev","setVPrev","getSynFileList","Viewer","getConfig","token","config","headers","Authorization","onChange","info","file","response","result","message","error","errMsg","flt","pop","vtxId","Array","isArray","data","length","id","undefined","newFileList","newFile","thumbUrl","status","map","item","uid","limit","size","pointIndex","lastIndexOf","fileType","substring","includes","onPreview","fileName","indexOf","handlePreview","showRemoveIcon","imageIndex","update","view","processedFileList","index","console","img","maxWidth","maxHeight","marginTop","marginBottom","mainText","subText","fontSize","color","display","ins","filter","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/es/upload';\nimport Button from 'antd/es/button';\nimport Icon from 'antd/es/icon';\nimport message from 'antd/es/message';\nimport downloadFile from '@vtx/utils/lib/downloadFile';\nimport Prev from './FilePreview';\nimport getUrlParam from '../_util/getUrlParam';\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 [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 (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 },\n onChange(info) {\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 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\n if (info.file.status === 'done' && vtxId) {\n newFileList = info.fileList.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\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 onRemove(file) {\n if (typeof onRemove == 'function') {\n return onRemove(file);\n }\n },\n beforeUpload(file) {\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 beforeUpload === 'function') {\n beforeUpload();\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 = fileList.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 <Icon type=\"inbox\" />\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 <Icon type=\"plus\" style={{ fontSize: '28px', color: '#999' }} />\n <div className=\"ant-upload-text\">上传</div>\n </div>\n ) : (\n <Button>\n <Icon type=\"upload\" />\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 {fileList\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":["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","imageCt","setImageCt","vPrev","setVPrev","getSynFileList","Viewer","getConfig","token","config","headers","Authorization","onChange","info","file","response","result","message","error","errMsg","flt","pop","vtxId","Array","isArray","data","length","id","undefined","newFileList","newFile","thumbUrl","status","map","item","uid","limit","size","pointIndex","lastIndexOf","fileType","substring","includes","onPreview","fileName","indexOf","handlePreview","showRemoveIcon","imageIndex","update","view","processedFileList","index","console","img","maxWidth","maxHeight","marginTop","marginBottom","mainText","subText","fontSize","color","display","ins","filter","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/es/upload';\nimport Button from 'antd/es/button';\nimport Icon from 'antd/es/icon';\nimport message from 'antd/es/message';\nimport downloadFile from '@vtx/utils/lib/downloadFile';\nimport Prev from './FilePreview';\nimport getUrlParam from '../_util/getUrlParam';\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 [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 (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 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 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\n if (info.file.status === 'done' && vtxId) {\n newFileList = info.fileList.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\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 onRemove(file) {\n if (typeof onRemove == 'function') {\n return onRemove(file);\n }\n },\n beforeUpload(file) {\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 beforeUpload === 'function') {\n beforeUpload(file);\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 = fileList.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 <Icon type=\"inbox\" />\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 <Icon type=\"plus\" style={{ fontSize: '28px', color: '#999' }} />\n <div className=\"ant-upload-text\">上传</div>\n </div>\n ) : (\n <Button>\n <Icon type=\"upload\" />\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 {fileList\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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
overflow: auto;
|
|
4
4
|
}
|
|
5
5
|
.vtx-ztree-has-search {
|
|
6
|
-
padding-top:
|
|
6
|
+
padding-top: 52px;
|
|
7
7
|
}
|
|
8
8
|
.vtx-ztree::-webkit-scrollbar {
|
|
9
9
|
width: 10px;
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
}
|
|
23
23
|
.vtx-ztree-search {
|
|
24
24
|
position: absolute;
|
|
25
|
-
top:
|
|
26
|
-
right:
|
|
27
|
-
left:
|
|
28
|
-
margin-bottom:
|
|
25
|
+
top: 10px;
|
|
26
|
+
right: 12px;
|
|
27
|
+
left: 12px;
|
|
28
|
+
margin-bottom: 10px;
|
|
29
29
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
height: 100%;
|
|
5
5
|
overflow: auto;
|
|
6
6
|
&-has-search {
|
|
7
|
-
padding-top:
|
|
7
|
+
padding-top: 52px;
|
|
8
8
|
}
|
|
9
9
|
&::-webkit-scrollbar {
|
|
10
10
|
width: 10px;
|
|
@@ -22,9 +22,9 @@
|
|
|
22
22
|
}
|
|
23
23
|
&-search {
|
|
24
24
|
position: absolute;
|
|
25
|
-
top:
|
|
26
|
-
right:
|
|
27
|
-
left:
|
|
28
|
-
margin-bottom:
|
|
25
|
+
top: 10px;
|
|
26
|
+
right: 12px;
|
|
27
|
+
left: 12px;
|
|
28
|
+
margin-bottom: 10px;
|
|
29
29
|
}
|
|
30
30
|
}
|
|
@@ -309,14 +309,12 @@ var VtxZtreeSelect = /*#__PURE__*/function (_React$Component) {
|
|
|
309
309
|
}, item.name.length > 20 ? "".concat(item.name.slice(0, 20), "...") : item.name);
|
|
310
310
|
}), disabled ? null : /*#__PURE__*/_react["default"].createElement(_icon["default"], {
|
|
311
311
|
key: 'icon',
|
|
312
|
-
className: "close-icon",
|
|
312
|
+
className: "".concat(prefixCls, "-multiple-close-icon"),
|
|
313
313
|
type: "close-circle",
|
|
314
|
+
theme: "filled",
|
|
314
315
|
onClick: function onClick(e) {
|
|
315
316
|
e.stopPropagation();
|
|
316
317
|
t.clear();
|
|
317
|
-
},
|
|
318
|
-
style: {
|
|
319
|
-
cursor: 'pointer'
|
|
320
318
|
}
|
|
321
319
|
})] : /*#__PURE__*/_react["default"].createElement("span", {
|
|
322
320
|
className: "".concat(prefixCls, "-placehoder")
|
|
@@ -334,10 +332,8 @@ var VtxZtreeSelect = /*#__PURE__*/function (_React$Component) {
|
|
|
334
332
|
suffix: disabled || selectedNodes.length == 0 ? null : /*#__PURE__*/_react["default"].createElement(_icon["default"], {
|
|
335
333
|
type: "close-circle",
|
|
336
334
|
onClick: t.clear.bind(t),
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
color: 'rgba(0,0,0,.25)'
|
|
340
|
-
}
|
|
335
|
+
className: "".concat(prefixCls, "-close-icon"),
|
|
336
|
+
theme: "filled"
|
|
341
337
|
})
|
|
342
338
|
});
|
|
343
339
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["vtx-ztree-select/index.jsx"],"names":["VtxZtreeSelect","props","tree","treeRefreshFlag","state","popoverVisible","keyNodesMapping","getKeyNodesMapping","nextProps","data","expandedKeys","nodes","t","genNodes","map","item","children","rest","key","Array","isArray","length","treeCheckable","checkNodes","getCheckedNodes","cancelSelectedNodes","value","onChange","keys","leafKeys","names","keyIndex","indexOf","keyList","splice","filter","isLeaf","name","clearSearch","prefixCls","treeDefaultExpandAll","multiple","showSearch","searchPlaceholder","dropdownStyle","style","disabled","refreshFlag","customCfg","checkStrictly","value_arr","val","selectedNodes","k","id","treeProps","checkable","instance","selectedKeys","selectedNames","setState","checkedNodes","checkedKeys","checkedNames","treeNode","beforeCheck","MultiSelect","height","minHeight","e","stopPropagation","clearKey","slice","clear","cursor","placeholder","SingleSelect","join","bind","color","v","React","Component","propTypes","PropTypes","array","arrayOf","string","bool","oneOfType","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport Popover from 'antd/lib/popover';\nimport Input from 'antd/lib/input';\nimport Tag from 'antd/lib/tag';\nimport Icon from 'antd/lib/icon';\nimport isEqual from 'lodash.isequal';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Ztree from '../vtx-ztree';\n\nexport default class VtxZtreeSelect extends React.Component {\n constructor(props) {\n super(props);\n this.tree = null;\n this.treeRefreshFlag = 1;\n this.state = {\n popoverVisible: false,\n };\n this.keyNodesMapping = {};\n this.getKeyNodesMapping();\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (!isEqual(this.props.data, nextProps.data)) {\n this.getKeyNodesMapping(nextProps.data);\n }\n if (!isEqual(this.props.expandedKeys, nextProps.expandedKeys)) {\n this.treeRefreshFlag++;\n }\n }\n\n getKeyNodesMapping(nodes) {\n const t = this;\n t.keyNodesMapping = {};\n (function genNodes(nodes) {\n nodes.map(item => {\n const { children, ...rest } = item;\n t.keyNodesMapping[item.key] = rest;\n if (Array.isArray(children) && children.length > 0) {\n genNodes(children);\n }\n });\n })(nodes || this.props.data || []);\n }\n\n clear() {\n if (this.tree) {\n if (this.props.treeCheckable) {\n this.tree.checkNodes(\n this.tree.getCheckedNodes().map(item => item.key),\n false,\n );\n } else {\n this.tree.cancelSelectedNodes(this.props.value);\n }\n }\n this.props.onChange &&\n this.props.onChange({\n nodes: [],\n keys: [],\n leafKeys: [],\n names: [],\n });\n }\n\n clearKey(key) {\n const keyIndex = this.props.value.indexOf(key);\n if (keyIndex != -1) {\n let keyList = [...this.props.value];\n keyList.splice(keyIndex, 1);\n let nodes = keyList.map(key => this.keyNodesMapping[key]);\n if (this.tree) {\n if (this.props.treeCheckable) {\n this.tree.checkNodes([key], false);\n } else {\n this.tree.cancelSelectedNodes([key]);\n }\n }\n this.props.onChange &&\n this.props.onChange({\n nodes,\n keys: keyList,\n leafKeys: nodes.filter(item => item.isLeaf).map(item => item.key),\n names: nodes.map(item => item.name),\n });\n }\n }\n\n clearSearch() {\n this.tree && this.tree.clearSearch();\n }\n\n render() {\n const t = this;\n // 必填参数\n const { data, value } = t.props;\n // 可配参数\n const {\n prefixCls = 'vtx-ztree-select',\n treeCheckable = false,\n treeDefaultExpandAll = false,\n multiple = false,\n showSearch = true,\n searchPlaceholder,\n dropdownStyle = {},\n style = {},\n disabled = false,\n refreshFlag = null,\n expandedKeys,\n customCfg,\n checkStrictly,\n } = t.props;\n const value_arr = (function(val) {\n if (Array.isArray(val)) {\n return val;\n } else if (val) {\n return [val];\n } else {\n return [];\n }\n })(value);\n const selectedNodes = value_arr\n .filter(k => k in t.keyNodesMapping)\n .map(item => ({\n id: item,\n name: t.keyNodesMapping[item].name,\n }));\n // ztree配置\n const treeProps = {\n data, // 树的数据\n showSearch: showSearch,\n searchPlaceholder: searchPlaceholder,\n multiple,\n checkable: treeCheckable,\n [treeCheckable ? 'checkedKeys' : 'selectedKeys']: value_arr,\n defaultExpandAll: treeDefaultExpandAll,\n expandedKeys,\n refreshFlag: refreshFlag || t.treeRefreshFlag,\n customCfg,\n checkStrictly,\n ref(instance) {\n if (instance) t.tree = instance;\n },\n onClick({ selectedNodes, selectedKeys, selectedNames }) {\n // console.log(selectedNodes,selectedKeys,selectedNames)\n if (!treeCheckable) {\n t.props.onChange &&\n t.props.onChange({\n nodes: selectedNodes,\n keys: selectedKeys,\n leafKeys: selectedNodes\n .filter(item => item.isLeaf)\n .map(item => item.key),\n names: selectedNames,\n });\n if (!multiple) {\n t.setState({\n popoverVisible: false,\n });\n }\n }\n },\n onCheck({ checkedNodes, checkedKeys, checkedNames }) {\n if (treeCheckable) {\n t.props.onChange &&\n t.props.onChange({\n nodes: checkedNodes,\n keys: checkedKeys,\n leafKeys: checkedNodes\n .filter(item => item.isLeaf)\n .map(item => item.key),\n names: checkedNames,\n });\n }\n },\n beforeCheck(treeNode) {\n return t.props.beforeCheck ? t.props.beforeCheck(treeNode) : true;\n },\n };\n\n // 多选组件\n const MultiSelect = (\n <div\n className={classnames('ant-input', `${prefixCls}-multiple`, {\n [`${prefixCls}-multiple-disabled`]: disabled,\n })}\n style={{ height: 'auto', minHeight: '28px', ...style }}\n >\n {selectedNodes.length > 0 ? (\n [\n selectedNodes.map(item => (\n <Tag\n key={item.id}\n closable={!disabled}\n onClose={e => {\n e.stopPropagation();\n t.clearKey(item.id);\n }}\n >\n {item.name.length > 20 ? `${item.name.slice(0, 20)}...` : item.name}\n </Tag>\n )),\n disabled ? null : (\n <Icon\n key={'icon'}\n className=\"close-icon\"\n type=\"close-circle\"\n onClick={e => {\n e.stopPropagation();\n t.clear();\n }}\n style={{ cursor: 'pointer' }}\n />\n ),\n ]\n ) : (\n <span className={`${prefixCls}-placehoder`}>{t.props.placeholder}</span>\n )}\n </div>\n );\n\n // 单选组件\n const SingleSelect = (\n <Input\n value={selectedNodes.map(item => item.name).join(', ')}\n style={style}\n readOnly\n disabled={disabled}\n placeholder={t.props.placeholder}\n suffix={\n disabled || selectedNodes.length == 0 ? null : (\n <Icon\n type=\"close-circle\"\n onClick={t.clear.bind(t)}\n style={{ cursor: 'pointer', color: 'rgba(0,0,0,.25)' }}\n />\n )\n }\n />\n );\n\n return (\n <div className={prefixCls}>\n {disabled ? (\n multiple || treeCheckable ? (\n MultiSelect\n ) : (\n SingleSelect\n )\n ) : (\n <Popover\n placement=\"bottomLeft\"\n content={\n <div className={`${prefixCls}-popover`} style={dropdownStyle}>\n <Ztree {...treeProps} />\n </div>\n }\n trigger=\"click\"\n onVisibleChange={v => {\n t.setState({ popoverVisible: v });\n }}\n visible={t.state.popoverVisible}\n >\n {multiple || treeCheckable ? MultiSelect : SingleSelect}\n </Popover>\n )}\n </div>\n );\n }\n}\n\nVtxZtreeSelect.propTypes = {\n data: PropTypes.array,\n expandedKeys: PropTypes.arrayOf(PropTypes.string),\n treeCheckable: PropTypes.bool,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n onChange: PropTypes.func,\n};\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["vtx-ztree-select/index.jsx"],"names":["VtxZtreeSelect","props","tree","treeRefreshFlag","state","popoverVisible","keyNodesMapping","getKeyNodesMapping","nextProps","data","expandedKeys","nodes","t","genNodes","map","item","children","rest","key","Array","isArray","length","treeCheckable","checkNodes","getCheckedNodes","cancelSelectedNodes","value","onChange","keys","leafKeys","names","keyIndex","indexOf","keyList","splice","filter","isLeaf","name","clearSearch","prefixCls","treeDefaultExpandAll","multiple","showSearch","searchPlaceholder","dropdownStyle","style","disabled","refreshFlag","customCfg","checkStrictly","value_arr","val","selectedNodes","k","id","treeProps","checkable","instance","selectedKeys","selectedNames","setState","checkedNodes","checkedKeys","checkedNames","treeNode","beforeCheck","MultiSelect","height","minHeight","e","stopPropagation","clearKey","slice","clear","placeholder","SingleSelect","join","bind","v","React","Component","propTypes","PropTypes","array","arrayOf","string","bool","oneOfType","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport Popover from 'antd/lib/popover';\nimport Input from 'antd/lib/input';\nimport Tag from 'antd/lib/tag';\nimport Icon from 'antd/lib/icon';\nimport isEqual from 'lodash.isequal';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Ztree from '../vtx-ztree';\n\nexport default class VtxZtreeSelect extends React.Component {\n constructor(props) {\n super(props);\n this.tree = null;\n this.treeRefreshFlag = 1;\n this.state = {\n popoverVisible: false,\n };\n this.keyNodesMapping = {};\n this.getKeyNodesMapping();\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (!isEqual(this.props.data, nextProps.data)) {\n this.getKeyNodesMapping(nextProps.data);\n }\n if (!isEqual(this.props.expandedKeys, nextProps.expandedKeys)) {\n this.treeRefreshFlag++;\n }\n }\n\n getKeyNodesMapping(nodes) {\n const t = this;\n t.keyNodesMapping = {};\n (function genNodes(nodes) {\n nodes.map(item => {\n const { children, ...rest } = item;\n t.keyNodesMapping[item.key] = rest;\n if (Array.isArray(children) && children.length > 0) {\n genNodes(children);\n }\n });\n })(nodes || this.props.data || []);\n }\n\n clear() {\n if (this.tree) {\n if (this.props.treeCheckable) {\n this.tree.checkNodes(\n this.tree.getCheckedNodes().map(item => item.key),\n false,\n );\n } else {\n this.tree.cancelSelectedNodes(this.props.value);\n }\n }\n this.props.onChange &&\n this.props.onChange({\n nodes: [],\n keys: [],\n leafKeys: [],\n names: [],\n });\n }\n\n clearKey(key) {\n const keyIndex = this.props.value.indexOf(key);\n if (keyIndex != -1) {\n let keyList = [...this.props.value];\n keyList.splice(keyIndex, 1);\n let nodes = keyList.map(key => this.keyNodesMapping[key]);\n if (this.tree) {\n if (this.props.treeCheckable) {\n this.tree.checkNodes([key], false);\n } else {\n this.tree.cancelSelectedNodes([key]);\n }\n }\n this.props.onChange &&\n this.props.onChange({\n nodes,\n keys: keyList,\n leafKeys: nodes.filter(item => item.isLeaf).map(item => item.key),\n names: nodes.map(item => item.name),\n });\n }\n }\n\n clearSearch() {\n this.tree && this.tree.clearSearch();\n }\n\n render() {\n const t = this;\n // 必填参数\n const { data, value } = t.props;\n // 可配参数\n const {\n prefixCls = 'vtx-ztree-select',\n treeCheckable = false,\n treeDefaultExpandAll = false,\n multiple = false,\n showSearch = true,\n searchPlaceholder,\n dropdownStyle = {},\n style = {},\n disabled = false,\n refreshFlag = null,\n expandedKeys,\n customCfg,\n checkStrictly,\n } = t.props;\n const value_arr = (function(val) {\n if (Array.isArray(val)) {\n return val;\n } else if (val) {\n return [val];\n } else {\n return [];\n }\n })(value);\n const selectedNodes = value_arr\n .filter(k => k in t.keyNodesMapping)\n .map(item => ({\n id: item,\n name: t.keyNodesMapping[item].name,\n }));\n // ztree配置\n const treeProps = {\n data, // 树的数据\n showSearch: showSearch,\n searchPlaceholder: searchPlaceholder,\n multiple,\n checkable: treeCheckable,\n [treeCheckable ? 'checkedKeys' : 'selectedKeys']: value_arr,\n defaultExpandAll: treeDefaultExpandAll,\n expandedKeys,\n refreshFlag: refreshFlag || t.treeRefreshFlag,\n customCfg,\n checkStrictly,\n ref(instance) {\n if (instance) t.tree = instance;\n },\n onClick({ selectedNodes, selectedKeys, selectedNames }) {\n // console.log(selectedNodes,selectedKeys,selectedNames)\n if (!treeCheckable) {\n t.props.onChange &&\n t.props.onChange({\n nodes: selectedNodes,\n keys: selectedKeys,\n leafKeys: selectedNodes\n .filter(item => item.isLeaf)\n .map(item => item.key),\n names: selectedNames,\n });\n if (!multiple) {\n t.setState({\n popoverVisible: false,\n });\n }\n }\n },\n onCheck({ checkedNodes, checkedKeys, checkedNames }) {\n if (treeCheckable) {\n t.props.onChange &&\n t.props.onChange({\n nodes: checkedNodes,\n keys: checkedKeys,\n leafKeys: checkedNodes\n .filter(item => item.isLeaf)\n .map(item => item.key),\n names: checkedNames,\n });\n }\n },\n beforeCheck(treeNode) {\n return t.props.beforeCheck ? t.props.beforeCheck(treeNode) : true;\n },\n };\n\n // 多选组件\n const MultiSelect = (\n <div\n className={classnames('ant-input', `${prefixCls}-multiple`, {\n [`${prefixCls}-multiple-disabled`]: disabled,\n })}\n style={{ height: 'auto', minHeight: '28px', ...style }}\n >\n {selectedNodes.length > 0 ? (\n [\n selectedNodes.map(item => (\n <Tag\n key={item.id}\n closable={!disabled}\n onClose={e => {\n e.stopPropagation();\n t.clearKey(item.id);\n }}\n >\n {item.name.length > 20 ? `${item.name.slice(0, 20)}...` : item.name}\n </Tag>\n )),\n disabled ? null : (\n <Icon\n key={'icon'}\n className={`${prefixCls}-multiple-close-icon`}\n type=\"close-circle\"\n theme=\"filled\"\n onClick={e => {\n e.stopPropagation();\n t.clear();\n }}\n />\n ),\n ]\n ) : (\n <span className={`${prefixCls}-placehoder`}>{t.props.placeholder}</span>\n )}\n </div>\n );\n\n // 单选组件\n const SingleSelect = (\n <Input\n value={selectedNodes.map(item => item.name).join(', ')}\n style={style}\n readOnly\n disabled={disabled}\n placeholder={t.props.placeholder}\n suffix={\n disabled || selectedNodes.length == 0 ? null : (\n <Icon\n type=\"close-circle\"\n onClick={t.clear.bind(t)}\n className={`${prefixCls}-close-icon`}\n theme=\"filled\"\n />\n )\n }\n />\n );\n\n return (\n <div className={prefixCls}>\n {disabled ? (\n multiple || treeCheckable ? (\n MultiSelect\n ) : (\n SingleSelect\n )\n ) : (\n <Popover\n placement=\"bottomLeft\"\n content={\n <div className={`${prefixCls}-popover`} style={dropdownStyle}>\n <Ztree {...treeProps} />\n </div>\n }\n trigger=\"click\"\n onVisibleChange={v => {\n t.setState({ popoverVisible: v });\n }}\n visible={t.state.popoverVisible}\n >\n {multiple || treeCheckable ? MultiSelect : SingleSelect}\n </Popover>\n )}\n </div>\n );\n }\n}\n\nVtxZtreeSelect.propTypes = {\n data: PropTypes.array,\n expandedKeys: PropTypes.arrayOf(PropTypes.string),\n treeCheckable: PropTypes.bool,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n onChange: PropTypes.func,\n};\n"],"file":"index.js"}
|
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
display: inline-block;
|
|
4
4
|
width: 100%;
|
|
5
5
|
}
|
|
6
|
+
.vtx-ztree-select-close-icon {
|
|
7
|
+
display: none;
|
|
8
|
+
color: rgba(0, 0, 0, 0.25);
|
|
9
|
+
cursor: pointer;
|
|
10
|
+
}
|
|
11
|
+
.vtx-ztree-select-close-icon:hover {
|
|
12
|
+
color: rgba(0, 0, 0, 0.45);
|
|
13
|
+
}
|
|
14
|
+
.vtx-ztree-select:hover .vtx-ztree-select-close-icon {
|
|
15
|
+
display: block;
|
|
16
|
+
}
|
|
6
17
|
.vtx-ztree-select input {
|
|
7
18
|
overflow: hidden;
|
|
8
19
|
text-overflow: ellipsis;
|
|
@@ -11,11 +22,19 @@
|
|
|
11
22
|
position: relative;
|
|
12
23
|
padding-right: 18px;
|
|
13
24
|
}
|
|
14
|
-
.vtx-ztree-select-multiple
|
|
25
|
+
.vtx-ztree-select-multiple-close-icon {
|
|
15
26
|
position: absolute;
|
|
16
27
|
top: 8px;
|
|
17
28
|
right: 5px;
|
|
29
|
+
display: none;
|
|
18
30
|
color: rgba(0, 0, 0, 0.25);
|
|
31
|
+
cursor: pointer;
|
|
32
|
+
}
|
|
33
|
+
.vtx-ztree-select-multiple-close-icon:hover {
|
|
34
|
+
color: rgba(0, 0, 0, 0.45);
|
|
35
|
+
}
|
|
36
|
+
.vtx-ztree-select-multiple:hover .vtx-ztree-select-multiple-close-icon {
|
|
37
|
+
display: block;
|
|
19
38
|
}
|
|
20
39
|
.vtx-ztree-select-multiple-disabled {
|
|
21
40
|
color: rgba(0, 0, 0, 0.25);
|
|
@@ -1,9 +1,25 @@
|
|
|
1
1
|
@prefix-cls: vtx-ztree-select;
|
|
2
2
|
|
|
3
|
+
@icon-color: rgba(0, 0, 0, 0.25);
|
|
4
|
+
@icon-hover-color: rgba(0, 0, 0, 0.45);
|
|
5
|
+
|
|
3
6
|
.@{prefix-cls} {
|
|
4
7
|
position: relative;
|
|
5
8
|
display: inline-block;
|
|
6
9
|
width: 100%;
|
|
10
|
+
&-close-icon {
|
|
11
|
+
display: none;
|
|
12
|
+
color: @icon-color;
|
|
13
|
+
cursor: pointer;
|
|
14
|
+
&:hover {
|
|
15
|
+
color: @icon-hover-color;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
&:hover {
|
|
19
|
+
.vtx-ztree-select-close-icon {
|
|
20
|
+
display: block;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
7
23
|
input {
|
|
8
24
|
overflow: hidden;
|
|
9
25
|
text-overflow: ellipsis;
|
|
@@ -11,11 +27,21 @@
|
|
|
11
27
|
&-multiple {
|
|
12
28
|
position: relative;
|
|
13
29
|
padding-right: 18px;
|
|
14
|
-
|
|
30
|
+
&-close-icon {
|
|
15
31
|
position: absolute;
|
|
16
32
|
top: 8px;
|
|
17
33
|
right: 5px;
|
|
18
|
-
|
|
34
|
+
display: none;
|
|
35
|
+
color: @icon-color;
|
|
36
|
+
cursor: pointer;
|
|
37
|
+
&:hover {
|
|
38
|
+
color: @icon-hover-color;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
&:hover {
|
|
42
|
+
.vtx-ztree-select-multiple-close-icon {
|
|
43
|
+
display: block;
|
|
44
|
+
}
|
|
19
45
|
}
|
|
20
46
|
}
|
|
21
47
|
&-multiple-disabled {
|