@vtx/components 3.0.1 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +37 -0
- package/lib/_util/useColSize.js +2 -2
- package/lib/_util/useColSize.js.map +1 -1
- package/lib/index.js +8 -0
- package/lib/index.js.map +1 -1
- package/lib/vtx-datagrid/style/index.css +0 -3
- package/lib/vtx-datagrid/style/index.less +4 -3
- package/lib/vtx-date-picker/generatePicker.js +3 -3
- package/lib/vtx-ellipsis-text/index.js +61 -0
- package/lib/vtx-ellipsis-text/index.js.map +1 -0
- package/lib/vtx-ellipsis-text/style/css.js +6 -0
- package/lib/vtx-ellipsis-text/style/css.js.map +1 -0
- package/lib/vtx-ellipsis-text/style/index.css +13 -0
- package/lib/vtx-ellipsis-text/style/index.js +6 -0
- package/lib/vtx-ellipsis-text/style/index.js.map +1 -0
- package/lib/vtx-ellipsis-text/style/index.less +13 -0
- package/lib/vtx-form-layout/Divider.js +12 -2
- package/lib/vtx-form-layout/Divider.js.map +1 -1
- package/lib/vtx-form-layout/FormItem.js +8 -4
- package/lib/vtx-form-layout/FormItem.js.map +1 -1
- package/lib/vtx-form-layout/style/index.css +37 -2
- package/lib/vtx-form-layout/style/index.less +31 -2
- package/lib/vtx-input/style/index.css +3 -0
- package/lib/vtx-input/style/index.less +3 -1
- package/lib/vtx-page-layout/container.js +3 -3
- package/lib/vtx-search/index.js +10 -8
- package/lib/vtx-search/index.js.map +1 -1
- package/lib/vtx-search/style/index.css +1 -1
- package/lib/vtx-search/style/index.less +1 -1
- package/lib/vtx-select/index.js +12 -12
- package/lib/vtx-select/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,35 @@
|
|
|
1
|
+
# [3.1.0](https://git.cloudhw.cn:3443/front-end/react-components/compare/3.0.1...3.1.0) (2022-03-23)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### ✨ Features
|
|
5
|
+
|
|
6
|
+
* vtxSearch 查询布局根据VtxSearch的大小来判断 ([c2e2bda](https://git.cloudhw.cn:3443/front-end/react-components/commit/c2e2bda)) by: **xuzhengyun**
|
|
7
|
+
* 多行文本禁止拖拽resize: none ([3e71ea4](https://git.cloudhw.cn:3443/front-end/react-components/commit/3e71ea4)) by: **gongjinhua**
|
|
8
|
+
* 新增VtxEllipsisText溢出文本 ([deb2c0c](https://git.cloudhw.cn:3443/front-end/react-components/commit/deb2c0c)) by: **gongjinhua**
|
|
9
|
+
* 查询布局VtxSearch堆叠属性z-index调整为9 ([e94289a](https://git.cloudhw.cn:3443/front-end/react-components/commit/e94289a)) by: **gongjinhua**
|
|
10
|
+
* 查询布局VtxSearch收起状态时文字说明调整 ([533ffef](https://git.cloudhw.cn:3443/front-end/react-components/commit/533ffef)) by: **gongjinhua**
|
|
11
|
+
* 表单布局VtxFormLayout新增设置FormItem行内布局 ([2f78633](https://git.cloudhw.cn:3443/front-end/react-components/commit/2f78633)) by: **gongjinhua**
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### 🎫 Chores
|
|
15
|
+
|
|
16
|
+
* release v3.1.0 ([0daa2a0](https://git.cloudhw.cn:3443/front-end/react-components/commit/0daa2a0)) by: **gongjinhua**
|
|
17
|
+
* 移除GitLab链接导航 ([8fd5141](https://git.cloudhw.cn:3443/front-end/react-components/commit/8fd5141)) by: **gongjinhua**
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### 🐛 Bug Fixes
|
|
21
|
+
|
|
22
|
+
* checkbox 选中时 固定列 最上面一层透明会 和下面重叠 ([9effc26](https://git.cloudhw.cn:3443/front-end/react-components/commit/9effc26)) by: **xuzhengyun**
|
|
23
|
+
* 修复选择器多选时Option设置value时卡片内容未显示值的问题 ([4d982ac](https://git.cloudhw.cn:3443/front-end/react-components/commit/4d982ac)) by: **gongjinhua**
|
|
24
|
+
* 查询布局文本tooltip显示位置优化 ([2d92edd](https://git.cloudhw.cn:3443/front-end/react-components/commit/2d92edd)) by: **gongjinhua**
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### 📝 Documentation
|
|
28
|
+
|
|
29
|
+
* 文档修改 ([eafb649](https://git.cloudhw.cn:3443/front-end/react-components/commit/eafb649)) by: **gongjinhua**
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
1
33
|
## [3.0.1](https://git.cloudhw.cn:3443/front-end/react-components/compare/3.0.0...3.0.1) (2022-02-18)
|
|
2
34
|
|
|
3
35
|
|
|
@@ -7,6 +39,11 @@
|
|
|
7
39
|
* 查询布局VtxSearch根据分辨率默认显示不同的列数 ([06d6b30](https://git.cloudhw.cn:3443/front-end/react-components/commit/06d6b30)) by: **gongjinhua**
|
|
8
40
|
|
|
9
41
|
|
|
42
|
+
### 🎫 Chores
|
|
43
|
+
|
|
44
|
+
* release v3.0.1 ([6104611](https://git.cloudhw.cn:3443/front-end/react-components/commit/6104611)) by: **gongjinhua**
|
|
45
|
+
|
|
46
|
+
|
|
10
47
|
### 🐛 Bug Fixes
|
|
11
48
|
|
|
12
49
|
* 修复上传组件beforeUpload无效 ([8f22927](https://git.cloudhw.cn:3443/front-end/react-components/commit/8f22927)) by: **xuzhengyun**
|
package/lib/_util/useColSize.js
CHANGED
|
@@ -15,8 +15,8 @@ var COL_SIZE = {
|
|
|
15
15
|
sm: 'sm'
|
|
16
16
|
};
|
|
17
17
|
|
|
18
|
-
var _default = function _default() {
|
|
19
|
-
var dom = document.querySelector('body');
|
|
18
|
+
var _default = function _default(ref) {
|
|
19
|
+
var dom = (ref === null || ref === void 0 ? void 0 : ref.current) || document.querySelector('body');
|
|
20
20
|
|
|
21
21
|
var _ref = (0, _useSize["default"])(dom) || {},
|
|
22
22
|
width = _ref.width;
|
|
@@ -1 +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,
|
|
1
|
+
{"version":3,"sources":["_util/useColSize.js"],"names":["COL_SIZE","lg","md","sm","ref","dom","current","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,kBAAAC,GAAG,EAAI;AAClB,MAAMC,GAAG,GAAG,CAAAD,GAAG,SAAH,IAAAA,GAAG,WAAH,YAAAA,GAAG,CAAEE,OAAL,KAAgBC,QAAQ,CAACC,aAAT,CAAuB,MAAvB,CAA5B;;AACA,aAAkB,yBAAQH,GAAR,KAAgB,EAAlC;AAAA,MAAQI,KAAR,QAAQA,KAAR;;AACA,MAAIC,IAAI,GAAGV,QAAQ,CAACC,EAApB;;AACA,MAAIQ,KAAK,IAAI,IAAb,EAAmB;AACfC,IAAAA,IAAI,GAAGV,QAAQ,CAACC,EAAhB;AACH,GAFD,MAEO,IAAIQ,KAAK,IAAI,GAAb,EAAkB;AACrBC,IAAAA,IAAI,GAAGV,QAAQ,CAACE,EAAhB;AACH,GAFM,MAEA;AACHQ,IAAAA,IAAI,GAAGV,QAAQ,CAACG,EAAhB;AACH;;AACD,SAAOO,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 ref => {\n const dom = ref?.current || 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"}
|
package/lib/index.js
CHANGED
|
@@ -33,6 +33,12 @@ Object.defineProperty(exports, "VtxEditor", {
|
|
|
33
33
|
return _vtxEditor["default"];
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
|
+
Object.defineProperty(exports, "VtxEllipsisText", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function get() {
|
|
39
|
+
return _vtxEllipsisText["default"];
|
|
40
|
+
}
|
|
41
|
+
});
|
|
36
42
|
Object.defineProperty(exports, "VtxExport", {
|
|
37
43
|
enumerable: true,
|
|
38
44
|
get: function get() {
|
|
@@ -162,6 +168,8 @@ var _vtxZtreeSelect = _interopRequireDefault(require("./vtx-ztree-select"));
|
|
|
162
168
|
|
|
163
169
|
var _vtxDatagrid = _interopRequireDefault(require("./vtx-datagrid"));
|
|
164
170
|
|
|
171
|
+
var _vtxEllipsisText = _interopRequireDefault(require("./vtx-ellipsis-text"));
|
|
172
|
+
|
|
165
173
|
var _vtxImage = _interopRequireDefault(require("./vtx-image"));
|
|
166
174
|
|
|
167
175
|
var _vtxRpsFrame = _interopRequireDefault(require("./vtx-rps-frame"));
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA","sourcesContent":["// layout\nexport { default as VtxFormLayout } from './vtx-form-layout';\nexport { default as VtxPageLayout } from './vtx-page-layout';\nexport { default as VtxSearch } from './vtx-search';\n\n// data entry\nexport { default as VtxColorPicker } from './vtx-color-picker';\nexport { default as VtxCombogrid } from './vtx-combogrid';\nexport { default as VtxDatePicker } from './vtx-date-picker';\nexport { default as VtxEditor } from './vtx-editor';\nexport { default as VtxExport } from './vtx-export';\nexport { default as VtxImport } from './vtx-import';\nexport { default as VtxSearchMapInput } from './vtx-search-map-input';\nexport { default as VtxSelect } from './vtx-select';\nexport { default as VtxInput } from './vtx-input';\nexport { default as VtxTimePicker } from './vtx-time-picker';\nexport { default as VtxUpload } from './vtx-upload';\nexport { default as VtxZtreeSelect } from './vtx-ztree-select';\n\n// data display\nexport { default as VtxDatagrid } from './vtx-datagrid';\nexport { default as VtxEllipsisText } from './vtx-ellipsis-text';\nexport { default as VtxImage } from './vtx-image';\nexport { default as VtxRpsFrame } from './vtx-rps-frame';\nexport { default as VtxZtree } from './vtx-ztree';\nexport { default as VtxSplitPane } from './vtx-split-pane';\n\n// feedback\nexport { default as VtxModal } from './vtx-modal';\n"],"file":"index.js"}
|
|
@@ -78,9 +78,10 @@
|
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
81
|
+
// fix: checkbox 选中时 固定列 最上面一层透明会 和下面重叠
|
|
82
|
+
// .ant-table-tbody > tr.ant-table-row-selected td {
|
|
83
|
+
// background: transparent;
|
|
84
|
+
// }
|
|
84
85
|
&-alert {
|
|
85
86
|
margin-bottom: 8px;
|
|
86
87
|
&-message {
|
|
@@ -48,12 +48,12 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
|
|
|
48
48
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
49
49
|
|
|
50
50
|
var generatePicker = function generatePicker(Component, _ref) {
|
|
51
|
-
var _class
|
|
51
|
+
var _class;
|
|
52
52
|
|
|
53
53
|
var componentName = _ref.componentName,
|
|
54
54
|
placeholder = _ref.placeholder,
|
|
55
55
|
picker = _ref.picker;
|
|
56
|
-
return
|
|
56
|
+
return _class = /*#__PURE__*/function (_React$Component) {
|
|
57
57
|
_inherits(Hoc, _React$Component);
|
|
58
58
|
|
|
59
59
|
var _super = _createSuper(Hoc);
|
|
@@ -140,7 +140,7 @@ var generatePicker = function generatePicker(Component, _ref) {
|
|
|
140
140
|
value: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].instanceOf(_moment["default"]), _propTypes["default"].arrayOf(_propTypes["default"].string), _propTypes["default"].arrayOf(_propTypes["default"].instanceOf(_moment["default"]))]),
|
|
141
141
|
earliestSelectableDate: _propTypes["default"].string,
|
|
142
142
|
latestSelectableDate: _propTypes["default"].string
|
|
143
|
-
}),
|
|
143
|
+
}), _class;
|
|
144
144
|
};
|
|
145
145
|
|
|
146
146
|
var _default = generatePicker;
|
|
@@ -0,0 +1,61 @@
|
|
|
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 _classnames2 = _interopRequireDefault(require("classnames"));
|
|
11
|
+
|
|
12
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
|
|
14
|
+
var _tooltip = _interopRequireDefault(require("antd/lib/tooltip"));
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
17
|
+
|
|
18
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
19
|
+
|
|
20
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
21
|
+
|
|
22
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
23
|
+
|
|
24
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
25
|
+
|
|
26
|
+
function VtxEllipsisText(props) {
|
|
27
|
+
var _classnames;
|
|
28
|
+
|
|
29
|
+
var text = props.text,
|
|
30
|
+
_props$lineClamp = props.lineClamp,
|
|
31
|
+
lineClamp = _props$lineClamp === void 0 ? 1 : _props$lineClamp,
|
|
32
|
+
_props$tooltip = props.tooltip,
|
|
33
|
+
tooltip = _props$tooltip === void 0 ? {} : _props$tooltip,
|
|
34
|
+
className = props.className,
|
|
35
|
+
style = props.style;
|
|
36
|
+
var textStyle = {};
|
|
37
|
+
|
|
38
|
+
if (lineClamp > 2) {
|
|
39
|
+
textStyle['WebkitLineClamp'] = lineClamp;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return /*#__PURE__*/_react["default"].createElement(_tooltip["default"], _extends({
|
|
43
|
+
title: text,
|
|
44
|
+
placement: "topLeft",
|
|
45
|
+
mouseEnterDelay: 0.3
|
|
46
|
+
}, tooltip), /*#__PURE__*/_react["default"].createElement("p", {
|
|
47
|
+
className: (0, _classnames2["default"])('vtx-ellipsis-text', (_classnames = {}, _defineProperty(_classnames, 'vtx-ellipsis-text--single', lineClamp < 2), _defineProperty(_classnames, 'vtx-ellipsis-text--multi', lineClamp >= 2), _classnames), className),
|
|
48
|
+
style: _objectSpread(_objectSpread({}, style), textStyle)
|
|
49
|
+
}, text));
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
VtxEllipsisText.propTypes = {
|
|
53
|
+
text: _propTypes["default"].string,
|
|
54
|
+
lineClamp: _propTypes["default"].number,
|
|
55
|
+
tooltip: _propTypes["default"].object,
|
|
56
|
+
className: _propTypes["default"].string,
|
|
57
|
+
style: _propTypes["default"].object
|
|
58
|
+
};
|
|
59
|
+
var _default = VtxEllipsisText;
|
|
60
|
+
exports["default"] = _default;
|
|
61
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["vtx-ellipsis-text/index.jsx"],"names":["VtxEllipsisText","props","text","lineClamp","tooltip","className","style","textStyle","propTypes","PropTypes","string","number","object"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAEA,SAASA,eAAT,CAAyBC,KAAzB,EAAgC;AAAA;;AAC5B,MAAQC,IAAR,GAAgED,KAAhE,CAAQC,IAAR;AAAA,yBAAgED,KAAhE,CAAcE,SAAd;AAAA,MAAcA,SAAd,iCAA0B,CAA1B;AAAA,uBAAgEF,KAAhE,CAA6BG,OAA7B;AAAA,MAA6BA,OAA7B,+BAAuC,EAAvC;AAAA,MAA2CC,SAA3C,GAAgEJ,KAAhE,CAA2CI,SAA3C;AAAA,MAAsDC,KAAtD,GAAgEL,KAAhE,CAAsDK,KAAtD;AAEA,MAAMC,SAAS,GAAG,EAAlB;;AACA,MAAIJ,SAAS,GAAG,CAAhB,EAAmB;AACfI,IAAAA,SAAS,CAAC,iBAAD,CAAT,GAA+BJ,SAA/B;AACH;;AAED,sBACI,gCAAC,mBAAD;AAAS,IAAA,KAAK,EAAED,IAAhB;AAAsB,IAAA,SAAS,EAAC,SAAhC;AAA0C,IAAA,eAAe,EAAE;AAA3D,KAAoEE,OAApE,gBACI;AACI,IAAA,SAAS,EAAE,6BACP,mBADO,kDAGF,2BAHE,EAG4BD,SAAS,GAAG,CAHxC,gCAIF,0BAJE,EAI2BA,SAAS,IAAI,CAJxC,iBAMPE,SANO,CADf;AASI,IAAA,KAAK,kCAAOC,KAAP,GAAiBC,SAAjB;AATT,KAWKL,IAXL,CADJ,CADJ;AAiBH;;AAEDF,eAAe,CAACQ,SAAhB,GAA4B;AACxBN,EAAAA,IAAI,EAAEO,sBAAUC,MADQ;AAExBP,EAAAA,SAAS,EAAEM,sBAAUE,MAFG;AAGxBP,EAAAA,OAAO,EAAEK,sBAAUG,MAHK;AAIxBP,EAAAA,SAAS,EAAEI,sBAAUC,MAJG;AAKxBJ,EAAAA,KAAK,EAAEG,sBAAUG;AALO,CAA5B;eAQeZ,e","sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport Tooltip from 'antd/lib/tooltip';\n\nfunction VtxEllipsisText(props) {\n const { text, lineClamp = 1, tooltip = {}, className, style } = props;\n\n const textStyle = {};\n if (lineClamp > 2) {\n textStyle['WebkitLineClamp'] = lineClamp;\n }\n\n return (\n <Tooltip title={text} placement=\"topLeft\" mouseEnterDelay={0.3} {...tooltip}>\n <p\n className={classnames(\n 'vtx-ellipsis-text',\n {\n ['vtx-ellipsis-text--single']: lineClamp < 2,\n ['vtx-ellipsis-text--multi']: lineClamp >= 2,\n },\n className,\n )}\n style={{ ...style, ...textStyle }}\n >\n {text}\n </p>\n </Tooltip>\n );\n}\n\nVtxEllipsisText.propTypes = {\n text: PropTypes.string,\n lineClamp: PropTypes.number,\n tooltip: PropTypes.object,\n className: PropTypes.string,\n style: PropTypes.object,\n};\n\nexport default VtxEllipsisText;\n"],"file":"index.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["vtx-ellipsis-text/style/index.js"],"names":[],"mappings":";;AAAA;;AACA","sourcesContent":["import 'antd/lib/tooltip/style';\nimport './index.less';\n"],"file":"css.js"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
.vtx-ellipsis-text {
|
|
2
|
+
margin: 0;
|
|
3
|
+
overflow: hidden;
|
|
4
|
+
text-overflow: ellipsis;
|
|
5
|
+
}
|
|
6
|
+
.vtx-ellipsis-text--single {
|
|
7
|
+
white-space: nowrap;
|
|
8
|
+
}
|
|
9
|
+
.vtx-ellipsis-text--multi {
|
|
10
|
+
display: -webkit-box;
|
|
11
|
+
-webkit-line-clamp: 2;
|
|
12
|
+
-webkit-box-orient: vertical;
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["vtx-ellipsis-text/style/index.js"],"names":[],"mappings":";;AAAA;;AACA","sourcesContent":["import 'antd/lib/tooltip/style';\nimport './index.less';\n"],"file":"index.js"}
|
|
@@ -9,14 +9,24 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
9
9
|
|
|
10
10
|
var _divider = _interopRequireDefault(require("antd/lib/divider"));
|
|
11
11
|
|
|
12
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
|
|
14
|
+
var _classnames2 = _interopRequireDefault(require("classnames"));
|
|
15
|
+
|
|
12
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
17
|
|
|
14
|
-
function
|
|
18
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
19
|
+
|
|
20
|
+
function VtxDivider(props) {
|
|
21
|
+
var size = props.size;
|
|
15
22
|
return /*#__PURE__*/_react["default"].createElement(_divider["default"], {
|
|
16
|
-
className: "vtx-form-divider
|
|
23
|
+
className: (0, _classnames2["default"])('vtx-form-divider', _defineProperty({}, 'vtx-form-divider--small', size === 'small'))
|
|
17
24
|
});
|
|
18
25
|
}
|
|
19
26
|
|
|
27
|
+
VtxDivider.propTypes = {
|
|
28
|
+
size: _propTypes["default"].oneOf(['default', 'small'])
|
|
29
|
+
};
|
|
20
30
|
var _default = VtxDivider;
|
|
21
31
|
exports["default"] = _default;
|
|
22
32
|
//# sourceMappingURL=Divider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["vtx-form-layout/Divider.jsx"],"names":["VtxDivider"],"mappings":";;;;;;;AAAA;;AACA
|
|
1
|
+
{"version":3,"sources":["vtx-form-layout/Divider.jsx"],"names":["VtxDivider","props","size","propTypes","PropTypes","oneOf"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;AAEA,SAASA,UAAT,CAAoBC,KAApB,EAA2B;AACvB,MAAQC,IAAR,GAAiBD,KAAjB,CAAQC,IAAR;AACA,sBACI,gCAAC,mBAAD;AACI,IAAA,SAAS,EAAE,6BAAW,kBAAX,sBACN,yBADM,EACsBA,IAAI,KAAK,OAD/B;AADf,IADJ;AAOH;;AAEDF,UAAU,CAACG,SAAX,GAAuB;AACnBD,EAAAA,IAAI,EAAEE,sBAAUC,KAAV,CAAgB,CAAC,SAAD,EAAY,OAAZ,CAAhB;AADa,CAAvB;eAIeL,U","sourcesContent":["import React from 'react';\nimport Divider from 'antd/lib/divider';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nfunction VtxDivider(props) {\n const { size } = props;\n return (\n <Divider\n className={classnames('vtx-form-divider', {\n ['vtx-form-divider--small']: size === 'small',\n })}\n />\n );\n}\n\nVtxDivider.propTypes = {\n size: PropTypes.oneOf(['default', 'small']),\n};\n\nexport default VtxDivider;\n"],"file":"Divider.js"}
|
|
@@ -21,7 +21,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
|
|
|
21
21
|
|
|
22
22
|
var _context = require("./context");
|
|
23
23
|
|
|
24
|
-
var _excluded = ["weights", "label"];
|
|
24
|
+
var _excluded = ["weights", "label", "inline"];
|
|
25
25
|
|
|
26
26
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
27
27
|
|
|
@@ -42,17 +42,18 @@ function FormItem(props) {
|
|
|
42
42
|
var _props$weights = props.weights,
|
|
43
43
|
weights = _props$weights === void 0 ? 1 : _props$weights,
|
|
44
44
|
label = props.label,
|
|
45
|
+
inline = props.inline,
|
|
45
46
|
rest = _objectWithoutProperties(props, _excluded);
|
|
46
47
|
|
|
47
48
|
var _useContext = (0, _react.useContext)(_context.StoreCtx),
|
|
48
49
|
labelColSpan = _useContext.labelColSpan,
|
|
49
50
|
cols = _useContext.cols,
|
|
50
51
|
mode = _useContext.mode,
|
|
51
|
-
|
|
52
|
+
formLayout = _useContext.layout;
|
|
52
53
|
|
|
53
54
|
var formItemLayout = null;
|
|
54
55
|
|
|
55
|
-
if (
|
|
56
|
+
if (formLayout === 'horizontal') {
|
|
56
57
|
var conversionLabelColSpan = labelColSpan / weights;
|
|
57
58
|
var wrapperColSpan = SPAN - conversionLabelColSpan;
|
|
58
59
|
formItemLayout = {
|
|
@@ -70,9 +71,11 @@ function FormItem(props) {
|
|
|
70
71
|
className: "vtx-form-item-col"
|
|
71
72
|
}, /*#__PURE__*/_react["default"].createElement(_form["default"].Item, _extends({
|
|
72
73
|
className: (0, _classnames["default"])('vtx-form-item', {
|
|
73
|
-
'vtx-form-item-vertical':
|
|
74
|
+
'vtx-form-item-vertical': formLayout === 'vertical' && mode !== 'view'
|
|
74
75
|
}, {
|
|
75
76
|
'vtx-form-item--view': mode === 'view'
|
|
77
|
+
}, {
|
|
78
|
+
'vtx-form-item--inline': inline && mode !== 'view'
|
|
76
79
|
})
|
|
77
80
|
}, formItemLayout, {
|
|
78
81
|
label: /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
|
|
@@ -84,6 +87,7 @@ function FormItem(props) {
|
|
|
84
87
|
FormItem.propTypes = {
|
|
85
88
|
weights: _propTypes["default"].number,
|
|
86
89
|
children: _propTypes["default"].node,
|
|
90
|
+
inline: _propTypes["default"].bool,
|
|
87
91
|
tip: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].node]),
|
|
88
92
|
label: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].node])
|
|
89
93
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["vtx-form-layout/FormItem.jsx"],"names":["SPAN","FormItem","props","weights","label","rest","StoreCtx","labelColSpan","cols","mode","layout","formItemLayout","conversionLabelColSpan","wrapperColSpan","labelCol","span","wrapperCol","children","propTypes","PropTypes","number","node","tip","oneOfType","string"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;AAEA;AACA,IAAMA,IAAI,GAAG,EAAb;;AAEe,SAASC,QAAT,CAAkBC,KAAlB,EAAyB;AACpC,
|
|
1
|
+
{"version":3,"sources":["vtx-form-layout/FormItem.jsx"],"names":["SPAN","FormItem","props","weights","label","inline","rest","StoreCtx","labelColSpan","cols","mode","formLayout","layout","formItemLayout","conversionLabelColSpan","wrapperColSpan","labelCol","span","wrapperCol","children","propTypes","PropTypes","number","node","bool","tip","oneOfType","string"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;AAEA;AACA,IAAMA,IAAI,GAAG,EAAb;;AAEe,SAASC,QAAT,CAAkBC,KAAlB,EAAyB;AACpC,uBAAgDA,KAAhD,CAAQC,OAAR;AAAA,MAAQA,OAAR,+BAAkB,CAAlB;AAAA,MAAqBC,KAArB,GAAgDF,KAAhD,CAAqBE,KAArB;AAAA,MAA4BC,MAA5B,GAAgDH,KAAhD,CAA4BG,MAA5B;AAAA,MAAuCC,IAAvC,4BAAgDJ,KAAhD;;AACA,oBAAyD,uBAAWK,iBAAX,CAAzD;AAAA,MAAQC,YAAR,eAAQA,YAAR;AAAA,MAAsBC,IAAtB,eAAsBA,IAAtB;AAAA,MAA4BC,IAA5B,eAA4BA,IAA5B;AAAA,MAA0CC,UAA1C,eAAkCC,MAAlC;;AAEA,MAAIC,cAAc,GAAG,IAArB;;AACA,MAAIF,UAAU,KAAK,YAAnB,EAAiC;AAC7B,QAAMG,sBAAsB,GAAGN,YAAY,GAAGL,OAA9C;AACA,QAAMY,cAAc,GAAGf,IAAI,GAAGc,sBAA9B;AACAD,IAAAA,cAAc,GAAG;AACbG,MAAAA,QAAQ,EAAE;AAAEC,QAAAA,IAAI,EAAEH;AAAR,OADG;AAEbI,MAAAA,UAAU,EAAE;AAAED,QAAAA,IAAI,EAAEF;AAAR;AAFC,KAAjB;AAIH;;AAED,sBACI,gCAAC,eAAD;AAAK,IAAA,IAAI,EAAGf,IAAI,GAAGG,OAAR,GAAmBM,IAA9B;AAAoC,IAAA,SAAS,EAAC;AAA9C,kBACI,gCAAC,gBAAD,CAAM,IAAN;AACI,IAAA,SAAS,EAAE,4BACP,eADO,EAEP;AAAE,gCAA0BE,UAAU,KAAK,UAAf,IAA6BD,IAAI,KAAK;AAAlE,KAFO,EAGP;AAAE,6BAAuBA,IAAI,KAAK;AAAlC,KAHO,EAIP;AAAE,+BAAyBL,MAAM,IAAIK,IAAI,KAAK;AAA9C,KAJO;AADf,KAOQG,cAPR;AAQI,IAAA,KAAK,eAAE,gCAAC,mBAAD;AAAS,MAAA,KAAK,EAAET;AAAhB,OAAwBA,KAAxB;AARX,KASQE,IATR,GAWKJ,KAAK,CAACiB,QAXX,CADJ,CADJ;AAiBH;;AAEDlB,QAAQ,CAACmB,SAAT,GAAqB;AACjBjB,EAAAA,OAAO,EAAEkB,sBAAUC,MADF;AAEjBH,EAAAA,QAAQ,EAAEE,sBAAUE,IAFH;AAGjBlB,EAAAA,MAAM,EAAEgB,sBAAUG,IAHD;AAIjBC,EAAAA,GAAG,EAAEJ,sBAAUK,SAAV,CAAoB,CAACL,sBAAUM,MAAX,EAAmBN,sBAAUE,IAA7B,CAApB,CAJY;AAKjBnB,EAAAA,KAAK,EAAEiB,sBAAUK,SAAV,CAAoB,CAACL,sBAAUM,MAAX,EAAmBN,sBAAUE,IAA7B,CAApB;AALU,CAArB","sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport Form from 'antd/lib/form';\nimport Col from 'antd/lib/col';\nimport Tooltip from 'antd/lib/tooltip';\nimport classnames from 'classnames';\nimport { StoreCtx } from './context';\n\n// 24 栅格\nconst SPAN = 24;\n\nexport default function FormItem(props) {\n const { weights = 1, label, inline, ...rest } = props;\n const { labelColSpan, cols, mode, layout: formLayout } = useContext(StoreCtx);\n\n let formItemLayout = null;\n if (formLayout === 'horizontal') {\n const conversionLabelColSpan = labelColSpan / weights;\n const wrapperColSpan = SPAN - conversionLabelColSpan;\n formItemLayout = {\n labelCol: { span: conversionLabelColSpan },\n wrapperCol: { span: wrapperColSpan },\n };\n }\n\n return (\n <Col span={(SPAN * weights) / cols} className=\"vtx-form-item-col\">\n <Form.Item\n className={classnames(\n 'vtx-form-item',\n { 'vtx-form-item-vertical': formLayout === 'vertical' && mode !== 'view' },\n { 'vtx-form-item--view': mode === 'view' },\n { 'vtx-form-item--inline': inline && mode !== 'view' },\n )}\n {...formItemLayout}\n label={<Tooltip title={label}>{label}</Tooltip>}\n {...rest}\n >\n {props.children}\n </Form.Item>\n </Col>\n );\n}\n\nFormItem.propTypes = {\n weights: PropTypes.number,\n children: PropTypes.node,\n inline: PropTypes.bool,\n tip: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n};\n"],"file":"FormItem.js"}
|
|
@@ -39,6 +39,36 @@
|
|
|
39
39
|
.vtx-form-layout .vtx-form-item .ant-form-item-explain {
|
|
40
40
|
font-size: 12px;
|
|
41
41
|
}
|
|
42
|
+
.vtx-form-layout .vtx-form-item--inline {
|
|
43
|
+
-webkit-box-flex: 0;
|
|
44
|
+
-ms-flex: none;
|
|
45
|
+
flex: none;
|
|
46
|
+
-webkit-box-orient: horizontal;
|
|
47
|
+
-webkit-box-direction: normal;
|
|
48
|
+
-ms-flex-direction: row;
|
|
49
|
+
flex-direction: row;
|
|
50
|
+
-ms-flex-wrap: nowrap;
|
|
51
|
+
flex-wrap: nowrap;
|
|
52
|
+
margin-right: 16px;
|
|
53
|
+
margin-bottom: 16px !important;
|
|
54
|
+
row-gap: 0;
|
|
55
|
+
}
|
|
56
|
+
.vtx-form-layout .vtx-form-item--inline .ant-form-item-control-input {
|
|
57
|
+
min-height: auto;
|
|
58
|
+
}
|
|
59
|
+
.vtx-form-layout .vtx-form-item--inline .ant-form-item-label {
|
|
60
|
+
-webkit-box-flex: 0;
|
|
61
|
+
-ms-flex: none;
|
|
62
|
+
flex: none;
|
|
63
|
+
margin-bottom: 0;
|
|
64
|
+
}
|
|
65
|
+
.vtx-form-layout .vtx-form-item--inline .ant-form-item-label > label {
|
|
66
|
+
height: auto;
|
|
67
|
+
color: rgba(0, 0, 0, 0.65);
|
|
68
|
+
}
|
|
69
|
+
.vtx-form-layout .vtx-form-item--inline .ant-form-item-label label::after {
|
|
70
|
+
content: ':';
|
|
71
|
+
}
|
|
42
72
|
.vtx-form-layout .vtx-form-item--view .ant-form-item-label,
|
|
43
73
|
.vtx-form-layout .vtx-form-item--view .ant-form-item-control {
|
|
44
74
|
line-height: 1.5715;
|
|
@@ -110,7 +140,6 @@
|
|
|
110
140
|
-webkit-box-sizing: border-box;
|
|
111
141
|
box-sizing: border-box;
|
|
112
142
|
width: 100%;
|
|
113
|
-
overflow: hidden;
|
|
114
143
|
}
|
|
115
144
|
.vtx-form-layout .vtx-form-pane::after {
|
|
116
145
|
clear: both;
|
|
@@ -149,6 +178,9 @@
|
|
|
149
178
|
margin: 0;
|
|
150
179
|
margin-bottom: 20px;
|
|
151
180
|
}
|
|
181
|
+
.vtx-form-layout .vtx-form-divider--small {
|
|
182
|
+
margin-bottom: 16px;
|
|
183
|
+
}
|
|
152
184
|
.vtx-form-layout .vtx-form-tabs {
|
|
153
185
|
width: 100%;
|
|
154
186
|
}
|
|
@@ -181,5 +213,8 @@
|
|
|
181
213
|
padding: 0 24px;
|
|
182
214
|
}
|
|
183
215
|
.vtx-form-layout-view .vtx-form-item-col {
|
|
184
|
-
margin-bottom:
|
|
216
|
+
margin-bottom: 16px;
|
|
217
|
+
}
|
|
218
|
+
.vtx-form-layout-view .vtx-form-divider {
|
|
219
|
+
margin-bottom: 16px;
|
|
185
220
|
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
@import (reference) '~antd/lib/style/themes/index.less';
|
|
2
2
|
|
|
3
|
+
@view-item-margin-bottom: 16px;
|
|
4
|
+
|
|
3
5
|
.vtx-form-layout {
|
|
4
6
|
position: relative;
|
|
5
7
|
display: flex;
|
|
@@ -33,6 +35,28 @@
|
|
|
33
35
|
.ant-form-item-explain {
|
|
34
36
|
font-size: @font-size-sm;
|
|
35
37
|
}
|
|
38
|
+
&--inline {
|
|
39
|
+
flex: none;
|
|
40
|
+
flex-direction: row;
|
|
41
|
+
flex-wrap: nowrap;
|
|
42
|
+
margin-right: 16px;
|
|
43
|
+
margin-bottom: @view-item-margin-bottom !important;
|
|
44
|
+
row-gap: 0;
|
|
45
|
+
.ant-form-item-control-input {
|
|
46
|
+
min-height: auto;
|
|
47
|
+
}
|
|
48
|
+
.ant-form-item-label {
|
|
49
|
+
flex: none;
|
|
50
|
+
margin-bottom: 0;
|
|
51
|
+
& > label {
|
|
52
|
+
height: auto;
|
|
53
|
+
color: fade(@black, 65%);
|
|
54
|
+
}
|
|
55
|
+
label::after {
|
|
56
|
+
content: ':';
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
36
60
|
&--view {
|
|
37
61
|
.ant-form-item-label,
|
|
38
62
|
.ant-form-item-control {
|
|
@@ -105,7 +129,6 @@
|
|
|
105
129
|
position: relative;
|
|
106
130
|
box-sizing: border-box;
|
|
107
131
|
width: 100%;
|
|
108
|
-
overflow: hidden;
|
|
109
132
|
&::after {
|
|
110
133
|
clear: both;
|
|
111
134
|
}
|
|
@@ -138,6 +161,9 @@
|
|
|
138
161
|
.vtx-form-divider {
|
|
139
162
|
margin: 0;
|
|
140
163
|
margin-bottom: 20px;
|
|
164
|
+
&--small {
|
|
165
|
+
margin-bottom: 16px;
|
|
166
|
+
}
|
|
141
167
|
}
|
|
142
168
|
.vtx-form-tabs {
|
|
143
169
|
width: 100%;
|
|
@@ -172,7 +198,10 @@
|
|
|
172
198
|
}
|
|
173
199
|
&-view {
|
|
174
200
|
.vtx-form-item-col {
|
|
175
|
-
margin-bottom:
|
|
201
|
+
margin-bottom: @view-item-margin-bottom;
|
|
202
|
+
}
|
|
203
|
+
.vtx-form-divider {
|
|
204
|
+
margin-bottom: @view-item-margin-bottom;
|
|
176
205
|
}
|
|
177
206
|
}
|
|
178
207
|
}
|
|
@@ -51,9 +51,9 @@ function Container() {
|
|
|
51
51
|
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
52
52
|
var componentClass = params.componentClass;
|
|
53
53
|
return function HOCFactory(WrappedComponend) {
|
|
54
|
-
var _class
|
|
54
|
+
var _class;
|
|
55
55
|
|
|
56
|
-
return
|
|
56
|
+
return _class = /*#__PURE__*/function (_React$Component) {
|
|
57
57
|
_inherits(HOC, _React$Component);
|
|
58
58
|
|
|
59
59
|
var _super = _createSuper(HOC);
|
|
@@ -93,7 +93,7 @@ function Container() {
|
|
|
93
93
|
space: _propTypes["default"].number || _propTypes["default"].string,
|
|
94
94
|
style: _propTypes["default"].object,
|
|
95
95
|
className: _propTypes["default"].string
|
|
96
|
-
}),
|
|
96
|
+
}), _class;
|
|
97
97
|
};
|
|
98
98
|
}
|
|
99
99
|
|
package/lib/vtx-search/index.js
CHANGED
|
@@ -96,7 +96,8 @@ function VtxSearch(props) {
|
|
|
96
96
|
_props$showAll = props.showAll,
|
|
97
97
|
showAll = _props$showAll === void 0 ? false : _props$showAll,
|
|
98
98
|
onToggleShow = props.onToggleShow;
|
|
99
|
-
var
|
|
99
|
+
var vtxSearchRef = (0, _react.useRef)();
|
|
100
|
+
var size = (0, _useColSize["default"])(vtxSearchRef);
|
|
100
101
|
var realColumn = column[size];
|
|
101
102
|
|
|
102
103
|
var _useContext = (0, _react.useContext)(_TableLayout.StoreCtx),
|
|
@@ -208,15 +209,15 @@ function VtxSearch(props) {
|
|
|
208
209
|
return /*#__PURE__*/_react["default"].createElement(_VtxRow["default"], {
|
|
209
210
|
gutter: 2,
|
|
210
211
|
attr: "row"
|
|
211
|
-
}, /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
|
|
212
|
-
title: newTitles[i],
|
|
213
|
-
placement: "topRight"
|
|
214
212
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
215
213
|
className: "vtx-search-label_h",
|
|
216
214
|
style: {
|
|
217
215
|
textAlign: 'right',
|
|
218
216
|
width: labelWidth
|
|
219
217
|
}
|
|
218
|
+
}, /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
|
|
219
|
+
title: newTitles[i],
|
|
220
|
+
placement: "topRight"
|
|
220
221
|
}, newTitles[i])), /*#__PURE__*/_react["default"].createElement("div", {
|
|
221
222
|
className: "vtx-search-lists_h",
|
|
222
223
|
style: {
|
|
@@ -232,11 +233,11 @@ function VtxSearch(props) {
|
|
|
232
233
|
gutter: 2,
|
|
233
234
|
attr: "row",
|
|
234
235
|
className: "vtx-search-item__v"
|
|
236
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
237
|
+
className: "vtx-search-label_v"
|
|
235
238
|
}, /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
|
|
236
239
|
title: newTitles[i],
|
|
237
240
|
placement: "topLeft"
|
|
238
|
-
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
239
|
-
className: "vtx-search-label_v"
|
|
240
241
|
}, newTitles[i])), /*#__PURE__*/_react["default"].createElement("div", {
|
|
241
242
|
className: "vtx-search-lists_v"
|
|
242
243
|
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
@@ -257,7 +258,8 @@ function VtxSearch(props) {
|
|
|
257
258
|
className: (0, _classnames["default"])('vtx-search', wrapClassName),
|
|
258
259
|
style: _objectSpread({
|
|
259
260
|
height: "".concat(height + 16, "px")
|
|
260
|
-
}, boxStyle)
|
|
261
|
+
}, boxStyle),
|
|
262
|
+
ref: vtxSearchRef
|
|
261
263
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
262
264
|
className: "vtx-search-element",
|
|
263
265
|
ref: ref
|
|
@@ -302,7 +304,7 @@ function VtxSearch(props) {
|
|
|
302
304
|
return isShowMore();
|
|
303
305
|
},
|
|
304
306
|
className: "vtx-search-more"
|
|
305
|
-
},
|
|
307
|
+
}, height > rowHeight ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, "\u6536\u8D77", /*#__PURE__*/_react["default"].createElement(_UpOutlined["default"], null)) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, "\u5C55\u5F00", /*#__PURE__*/_react["default"].createElement(_DownOutlined["default"], null)))))));
|
|
306
308
|
}
|
|
307
309
|
|
|
308
310
|
VtxSearch.propTypes = {
|
|
@@ -1 +1 @@
|
|
|
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"}
|
|
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","vtxSearchRef","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-03-22 16:19:00\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 vtxSearchRef = useRef();\n const size = useColSize(vtxSearchRef);\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 <div className=\"vtx-search-label_h\" style={{ textAlign: 'right', width: labelWidth }}>\n <Tooltip title={newTitles[i]} placement=\"topRight\">\n {newTitles[i]}\n </Tooltip>\n </div>\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 <div className=\"vtx-search-label_v\">\n <Tooltip title={newTitles[i]} placement=\"topLeft\">\n {newTitles[i]}\n </Tooltip>\n </div>\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 ref={vtxSearchRef}\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 {height > rowHeight ? (\n <>\n 收起\n <UpOutlined />\n </>\n ) : (\n <>\n 展开\n <DownOutlined />\n </>\n )}\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"}
|
package/lib/vtx-select/index.js
CHANGED
|
@@ -31,6 +31,8 @@ var _divider = _interopRequireDefault(require("antd/lib/divider"));
|
|
|
31
31
|
|
|
32
32
|
var _MoreOutlined = _interopRequireDefault(require("@ant-design/icons/MoreOutlined"));
|
|
33
33
|
|
|
34
|
+
var _isObject = _interopRequireDefault(require("../_util/isObject"));
|
|
35
|
+
|
|
34
36
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
35
37
|
|
|
36
38
|
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); }
|
|
@@ -99,10 +101,16 @@ var VtxSelect = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
99
101
|
var newChildren = props.children ? Array.isArray(props.children) ? props.children : [props.children] : [];
|
|
100
102
|
|
|
101
103
|
var getContent = function getContent() {
|
|
104
|
+
var child = {};
|
|
105
|
+
newChildren.forEach(function (item) {
|
|
106
|
+
var _item$props;
|
|
107
|
+
|
|
108
|
+
child[item.key] = item === null || item === void 0 ? void 0 : (_item$props = item.props) === null || _item$props === void 0 ? void 0 : _item$props.children;
|
|
109
|
+
});
|
|
102
110
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
103
111
|
className: "vtx-all-list"
|
|
104
112
|
}, Array.isArray(value) && value.length ? value.map(function (item, index) {
|
|
105
|
-
var name = getChildren(
|
|
113
|
+
var name = getChildren(child, item);
|
|
106
114
|
return /*#__PURE__*/_react["default"].createElement(_tag["default"], {
|
|
107
115
|
style: {
|
|
108
116
|
margin: '4px'
|
|
@@ -209,18 +217,10 @@ var VtxSelect = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
209
217
|
});
|
|
210
218
|
|
|
211
219
|
function getChildren() {
|
|
212
|
-
var
|
|
220
|
+
var child = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
213
221
|
var value = arguments.length > 1 ? arguments[1] : undefined;
|
|
214
|
-
var
|
|
215
|
-
|
|
216
|
-
for (var i = 0; i < list.length; i++) {
|
|
217
|
-
if (list[i].key === value) {
|
|
218
|
-
name = list[i].props.children;
|
|
219
|
-
break;
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
return name;
|
|
222
|
+
var key = (0, _isObject["default"])(value) ? value.key : value;
|
|
223
|
+
return child[key];
|
|
224
224
|
}
|
|
225
225
|
|
|
226
226
|
VtxSelect.Option = _select["default"].Option;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["vtx-select/index.jsx"],"names":["VtxSelect","props","ref","popWidth","setPopWidth","elRef","elId","Date","now","value","mode","size","onChange","maxTagCount","maxTagTextLength","maxTagPlaceholder","showAll","selectStyle","selectAll","defaultBindBodyToPopupContainer","current","clientWidth","newChildren","children","Array","isArray","getContent","length","map","item","index","name","getChildren","margin","e","preventDefault","valueClone","splice","options","filter","ite","includes","substring","Empty","PRESENTED_IMAGE_SIMPLE","newProps","showSearch","optionFilterProp","placeholder","allowClear","dropdownRender","menu","valueLength","target","checked","keys","key","style","paddingRight","triggerNode","document","body","width","list","i","Option","Select","OptGroup","propTypes","PropTypes","oneOfType","string","array","number","object","func","bool","node"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,SAAS,gBAAG,uBAAW,UAACC,KAAD,EAAQC,GAAR,EAAgB;AAAA;;AACzC,kBAAgC,qBAAS,CAAT,CAAhC;AAAA;AAAA,MAAOC,QAAP;AAAA,MAAiBC,WAAjB;;AACA,MAAMC,KAAK,GAAG,oBAAd;AACA,MAAMC,IAAI,GAAG,wCAAqBC,IAAI,CAACC,GAAL,EAArB,EAAb;AAEA,MACIC,KADJ,GAYIR,KAZJ,CACIQ,KADJ;AAAA,MAEIC,IAFJ,GAYIT,KAZJ,CAEIS,IAFJ;AAAA,oBAYIT,KAZJ,CAGIU,IAHJ;AAAA,MAGIA,IAHJ,4BAGW,SAHX;AAAA,MAIIC,SAJJ,GAYIX,KAZJ,CAIIW,QAJJ;AAAA,2BAYIX,KAZJ,CAKIY,WALJ;AAAA,MAKIA,WALJ,mCAKkB,CALlB;AAAA,8BAYIZ,KAZJ,CAMIa,gBANJ;AAAA,MAMIA,gBANJ,sCAMuB,CANvB;AAAA,8BAYIb,KAZJ,CAOIc,iBAPJ;AAAA,MAOIA,iBAPJ,sCAOwB,KAPxB;AAAA,uBAYId,KAZJ,CAQIe,OARJ;AAAA,MAQIA,OARJ,+BAQc,IARd;AAAA,MASIC,WATJ,GAYIhB,KAZJ,CASIgB,WATJ;AAAA,yBAYIhB,KAZJ,CAUIiB,SAVJ;AAAA,MAUIA,SAVJ,iCAUgB,IAVhB;AAAA,8BAYIjB,KAZJ,CAWIkB,+BAXJ;AAAA,MAWIA,+BAXJ,sCAWsC,IAXtC;AAcA,8BAAgB,YAAM;AAClBT,IAAAA,IAAI,KAAK,UAAT,IAAuBN,WAAW,CAACC,KAAK,CAACe,OAAN,CAAcC,WAAf,CAAlC;AACH,GAFD,EAEG,mBAAChB,KAAK,CAACe,OAAP,mDAAC,eAAeC,WAAhB,CAFH;AAIA,MAAMC,WAAW,GAAGrB,KAAK,CAACsB,QAAN,GACdC,KAAK,CAACC,OAAN,CAAcxB,KAAK,CAACsB,QAApB,IACItB,KAAK,CAACsB,QADV,GAEI,CAACtB,KAAK,CAACsB,QAAP,CAHU,GAId,EAJN;;AAMA,MAAMG,UAAU,GAAG,SAAbA,UAAa;AAAA,wBACf;AAAK,MAAA,SAAS,EAAC;AAAf,OACKF,KAAK,CAACC,OAAN,CAAchB,KAAd,KAAwBA,KAAK,CAACkB,MAA9B,GACGlB,KAAK,CAACmB,GAAN,CAAU,UAACC,IAAD,EAAOC,KAAP,EAAiB;AACvB,UAAMC,IAAI,GAAGC,WAAW,CAACV,WAAD,EAAcO,IAAd,CAAxB;AACA,0BACI,gCAAC,eAAD;AACI,QAAA,KAAK,EAAE;AAAEI,UAAAA,MAAM,EAAE;AAAV,SADX;AAEI,QAAA,GAAG,EAAEH,KAFT;AAGI,QAAA,QAAQ,MAHZ;AAII,QAAA,OAAO,EAAE,iBAAAI,CAAC,EAAI;AACVA,UAAAA,CAAC,CAACC,cAAF;;AACA,cAAMC,UAAU,sBAAO3B,KAAP,CAAhB;;AACA2B,UAAAA,UAAU,CAACC,MAAX,CAAkBP,KAAlB,EAAyB,CAAzB;AACA,cAAMQ,OAAO,GAAGhB,WAAW,CAACiB,MAAZ,CAAmB,UAAAC,GAAG;AAAA,mBAClCJ,UAAU,CAACK,QAAX,CAAoBD,GAAG,CAACvC,KAAJ,CAAUQ,KAA9B,CADkC;AAAA,WAAtB,CAAhB;;AAGAG,UAAAA,SAAQ,CAACwB,UAAD,EAAaE,OAAb,CAAR;AACH;AAZL,sBAcI,gCAAC,mBAAD;AAAS,QAAA,KAAK,EAAEP;AAAhB,SACKA,IAAI,CAACJ,MAAL,GAAcb,gBAAd,aACQiB,IAAI,CAACW,SAAL,CAAe,CAAf,EAAkB5B,gBAAlB,CADR,WAEKiB,IAHV,CAdJ,CADJ;AAsBH,KAxBD,CADH,gBA2BG,gCAAC,iBAAD;AAAO,MAAA,KAAK,EAAEY,kBAAMC;AAApB,MA5BR,CADe;AAAA,GAAnB;;AAkCA,MAAIC,QAAQ;AACRC,IAAAA,UAAU,EAAE,IADJ;AAERC,IAAAA,gBAAgB,EAAE,UAFV;AAGRC,IAAAA,WAAW,EAAE,KAHL;AAIRC,IAAAA,UAAU,EAAE;AAJJ,KAKLhD,KALK,CAAZ;;AAQA,MAAIS,IAAI,KAAK,UAAb,EAAyB;AACrBmC,IAAAA,QAAQ,mCACDA,QADC;AAEJhC,MAAAA,WAAW,EAAEA,WAFT;AAGJC,MAAAA,gBAAgB,EAAEA,gBAHd;AAIJC,MAAAA,iBAAiB,EAAEA;AAJf,MAAR;;AAMA,QAAIG,SAAJ,EAAe;AACX2B,MAAAA,QAAQ,mCACDA,QADC;AAEJK,QAAAA,cAAc,EAAE,wBAAAC,IAAI,EAAI;AACpB,cAAMC,WAAW,GAAG5B,KAAK,CAACC,OAAN,CAAchB,KAAd,KAAwBA,KAAK,CAACkB,MAA9B,GAAuClB,KAAK,CAACkB,MAA7C,GAAsD,CAA1E;AACA,8BACI,0DACI;AACI,YAAA,SAAS,EAAC,sBADd;AAEI,YAAA,WAAW,EAAE,qBAAAO,CAAC;AAAA,qBAAIA,CAAC,CAACC,cAAF,EAAJ;AAAA;AAFlB,0BAII,gCAAC,oBAAD;AACI,YAAA,aAAa,EAAEiB,WAAW,IAAIA,WAAW,GAAG9B,WAAW,CAACK,MAD5D;AAEI,YAAA,OAAO,EAAEyB,WAAW,IAAIA,WAAW,KAAK9B,WAAW,CAACK,MAFxD;AAGI,YAAA,QAAQ,EAAE,kBAAAO,CAAC,EAAI;AACX,kBAAIA,CAAC,CAACmB,MAAF,CAASC,OAAb,EAAsB;AAClB,oBAAMC,IAAI,GAAGjC,WAAW,CAACM,GAAZ,CAAgB,UAAAC,IAAI;AAAA,yBAAIA,IAAI,CAAC2B,GAAT;AAAA,iBAApB,CAAb;AACA5C,gBAAAA,SAAQ,IAAIA,SAAQ,CAAC2C,IAAD,EAAOjC,WAAP,CAApB;AACH,eAHD,MAGO;AACHV,gBAAAA,SAAQ,IAAIA,SAAQ,CAAC,EAAD,EAAK,EAAL,CAApB;AACH;AACJ;AAVL,4BAJJ,CADJ,eAoBI,gCAAC,mBAAD;AAAS,YAAA,KAAK,EAAE;AAAEqB,cAAAA,MAAM,EAAE;AAAV;AAAhB,YApBJ,EAqBKkB,IArBL,CADJ;AAyBH;AA7BG,QAAR;AA+BH;AACJ;;AAED,sBACI;AACI,IAAA,SAAS,EAAE,4BAAW;AAClB,oBAAczC,IAAI,KAAK,UADL;AAElB,0BAAoBA,IAAI,IAAI,UAAR,IAAsBA,IAAI,IAAI;AAFhC,KAAX,CADf;AAKI,IAAA,EAAE,EAAEJ,IAAI,CAACc,OALb;AAMI,IAAA,GAAG,EAAEf,KANT;AAOI,IAAA,KAAK,kCACEJ,KAAK,CAACwD,KADR;AAEDC,MAAAA,YAAY,EAAE,CAAChD,IAAI,IAAI,UAAR,IAAsBA,IAAI,IAAI,MAA/B,KAA0CM,OAA1C,GAAoD,EAApD,GAAyD;AAFtE;AAPT,kBAYI,gCAAC,kBAAD;AACI,IAAA,GAAG,EAAEd,GADT;AAEI,IAAA,iBAAiB,EAAE,2BAAAyD,WAAW,EAAI;AAC9B,aAAOxC,+BAA+B,GAAGyC,QAAQ,CAACC,IAAZ,GAAmBF,WAAzD;AACH;AAJL,KAKQd,QALR;AAMI,IAAA,KAAK;AAAIiB,MAAAA,KAAK,EAAE;AAAX,OAAsB7C,WAAtB;AANT,MAQKhB,KAAK,CAACsB,QARX,CAZJ,EAsBK,CAACb,IAAI,IAAI,UAAR,IAAsBA,IAAI,IAAI,MAA/B,KAA0CM,OAA1C,gBACG,gCAAC,mBAAD;AACI,IAAA,OAAO,EAAEU,UAAU,EADvB;AAEI,IAAA,SAAS,EAAC,aAFd;AAGI,IAAA,OAAO,EAAC,OAHZ;AAII,IAAA,YAAY,EAAE;AAAEoC,MAAAA,KAAK,EAAE3D;AAAT;AAJlB,kBAMI,gCAAC,kBAAD;AAAQ,IAAA,SAAS,EAAC,kBAAlB;AAAqC,IAAA,IAAI,eAAE,gCAAC,wBAAD,OAA3C;AAA6D,IAAA,IAAI,EAAEQ;AAAnE,IANJ,CADH,GASG,IA/BR,CADJ;AAmCH,CApJiB,CAAlB;;AAsJA,SAASqB,WAAT,GAAuC;AAAA,MAAlB+B,IAAkB,uEAAX,EAAW;AAAA,MAAPtD,KAAO;AACnC,MAAIsB,IAAI,GAAG,EAAX;;AACA,OAAK,IAAIiC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGD,IAAI,CAACpC,MAAzB,EAAiCqC,CAAC,EAAlC,EAAsC;AAClC,QAAID,IAAI,CAACC,CAAD,CAAJ,CAAQR,GAAR,KAAgB/C,KAApB,EAA2B;AACvBsB,MAAAA,IAAI,GAAGgC,IAAI,CAACC,CAAD,CAAJ,CAAQ/D,KAAR,CAAcsB,QAArB;AACA;AACH;AACJ;;AACD,SAAOQ,IAAP;AACH;;AAED/B,SAAS,CAACiE,MAAV,GAAmBC,mBAAOD,MAA1B;AACAjE,SAAS,CAACmE,QAAV,GAAqBD,mBAAOC,QAA5B;AAEAnE,SAAS,CAACoE,SAAV,GAAsB;AAClB3D,EAAAA,KAAK,EAAE4D,sBAAUC,SAAV,CAAoB,CACvBD,sBAAUE,MADa,EAEvBF,sBAAUG,KAFa,EAGvBH,sBAAUI,MAHa,EAIvBJ,sBAAUK,MAJa,CAApB,CADW;AAOlBhE,EAAAA,IAAI,EAAE2D,sBAAUE,MAPE;AAQlB5D,EAAAA,IAAI,EAAE0D,sBAAUE,MARE;AASlBd,EAAAA,KAAK,EAAEY,sBAAUK,MATC;AAUlBzD,EAAAA,WAAW,EAAEoD,sBAAUK,MAVL;AAWlB9D,EAAAA,QAAQ,EAAEyD,sBAAUM,IAXF;AAYlBxD,EAAAA,+BAA+B,EAAEkD,sBAAUO,IAZzB;AAalB/D,EAAAA,WAAW,EAAEwD,sBAAUI,MAbL;AAclB3D,EAAAA,gBAAgB,EAAEuD,sBAAUI,MAdV;AAelB1D,EAAAA,iBAAiB,EAAEsD,sBAAUC,SAAV,CAAoB,CAACD,sBAAUM,IAAX,EAAiBN,sBAAUQ,IAA3B,CAApB,CAfD;AAgBlB7D,EAAAA,OAAO,EAAEqD,sBAAUO,IAhBD;AAiBlBrD,EAAAA,QAAQ,EAAE8C,sBAAUQ,IAjBF;AAkBlB3D,EAAAA,SAAS,EAAEmD,sBAAUO;AAlBH,CAAtB;eAqBe5E,S","sourcesContent":["import React, { useState, useLayoutEffect, useRef, forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Select from 'antd/lib/select';\nimport Tag from 'antd/lib/tag';\nimport Button from 'antd/lib/button';\nimport Empty from 'antd/lib/empty';\nimport Popover from 'antd/lib/popover';\nimport Tooltip from 'antd/lib/tooltip';\nimport Checkbox from 'antd/lib/checkbox';\nimport Divider from 'antd/lib/divider';\nimport MoreOutlined from '@ant-design/icons/MoreOutlined';\n\nconst VtxSelect = forwardRef((props, ref) => {\n const [popWidth, setPopWidth] = useState(0);\n const elRef = useRef();\n const elId = useRef(`vtx-select-${Date.now()}`);\n\n const {\n value,\n mode,\n size = 'default', //同步button大小\n onChange,\n maxTagCount = 2,\n maxTagTextLength = 5,\n maxTagPlaceholder = '...',\n showAll = true, //是否显示全部选项\n selectStyle,\n selectAll = true,\n defaultBindBodyToPopupContainer = true,\n } = props;\n\n useLayoutEffect(() => {\n mode === 'multiple' && setPopWidth(elRef.current.clientWidth);\n }, [elRef.current?.clientWidth]);\n\n const newChildren = props.children\n ? Array.isArray(props.children)\n ? props.children\n : [props.children]\n : [];\n\n const getContent = () => (\n <div className=\"vtx-all-list\">\n {Array.isArray(value) && value.length ? (\n value.map((item, index) => {\n const name = getChildren(newChildren, item);\n return (\n <Tag\n style={{ margin: '4px' }}\n key={index}\n closable\n onClose={e => {\n e.preventDefault();\n const valueClone = [...value];\n valueClone.splice(index, 1);\n const options = newChildren.filter(ite =>\n valueClone.includes(ite.props.value),\n );\n onChange(valueClone, options);\n }}\n >\n <Tooltip title={name}>\n {name.length > maxTagTextLength\n ? `${name.substring(0, maxTagTextLength)}...`\n : name}\n </Tooltip>\n </Tag>\n );\n })\n ) : (\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />\n )}\n </div>\n );\n\n let newProps = {\n showSearch: true,\n optionFilterProp: 'children',\n placeholder: '请选择',\n allowClear: true,\n ...props,\n };\n\n if (mode === 'multiple') {\n newProps = {\n ...newProps,\n maxTagCount: maxTagCount,\n maxTagTextLength: maxTagTextLength,\n maxTagPlaceholder: maxTagPlaceholder,\n };\n if (selectAll) {\n newProps = {\n ...newProps,\n dropdownRender: menu => {\n const valueLength = Array.isArray(value) && value.length ? value.length : 0;\n return (\n <div>\n <div\n className=\"vtx-multi-select-all\"\n onMouseDown={e => e.preventDefault()}\n >\n <Checkbox\n indeterminate={valueLength && valueLength < newChildren.length}\n checked={valueLength && valueLength === newChildren.length}\n onChange={e => {\n if (e.target.checked) {\n const keys = newChildren.map(item => item.key);\n onChange && onChange(keys, newChildren);\n } else {\n onChange && onChange([], []);\n }\n }}\n >\n 全选\n </Checkbox>\n </div>\n <Divider style={{ margin: '4px 0' }} />\n {menu}\n </div>\n );\n },\n };\n }\n }\n\n return (\n <div\n className={classnames({\n 'vtx-select': mode !== 'multiple',\n 'vtx-multi-select': mode == 'multiple' || mode == 'tags',\n })}\n id={elId.current}\n ref={elRef}\n style={{\n ...props.style,\n paddingRight: (mode == 'multiple' || mode == 'tags') && showAll ? 32 : 0,\n }}\n >\n <Select\n ref={ref}\n getPopupContainer={triggerNode => {\n return defaultBindBodyToPopupContainer ? document.body : triggerNode;\n }}\n {...newProps}\n style={{ width: '100%', ...selectStyle }}\n >\n {props.children}\n </Select>\n {(mode == 'multiple' || mode == 'tags') && showAll ? (\n <Popover\n content={getContent()}\n placement=\"bottomRight\"\n trigger=\"click\"\n overlayStyle={{ width: popWidth }}\n >\n <Button className=\"vtx-select-count\" icon={<MoreOutlined />} size={size} />\n </Popover>\n ) : null}\n </div>\n );\n});\n\nfunction getChildren(list = [], value) {\n let name = '';\n for (let i = 0; i < list.length; i++) {\n if (list[i].key === value) {\n name = list[i].props.children;\n break;\n }\n }\n return name;\n}\n\nVtxSelect.Option = Select.Option;\nVtxSelect.OptGroup = Select.OptGroup;\n\nVtxSelect.propTypes = {\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.array,\n PropTypes.number,\n PropTypes.object,\n ]),\n mode: PropTypes.string,\n size: PropTypes.string,\n style: PropTypes.object,\n selectStyle: PropTypes.object,\n onChange: PropTypes.func,\n defaultBindBodyToPopupContainer: PropTypes.bool,\n maxTagCount: PropTypes.number,\n maxTagTextLength: PropTypes.number,\n maxTagPlaceholder: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n showAll: PropTypes.bool,\n children: PropTypes.node,\n selectAll: PropTypes.bool,\n};\n\nexport default VtxSelect;\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["vtx-select/index.jsx"],"names":["VtxSelect","props","ref","popWidth","setPopWidth","elRef","elId","Date","now","value","mode","size","onChange","maxTagCount","maxTagTextLength","maxTagPlaceholder","showAll","selectStyle","selectAll","defaultBindBodyToPopupContainer","current","clientWidth","newChildren","children","Array","isArray","getContent","child","forEach","item","key","length","map","index","name","getChildren","margin","e","preventDefault","valueClone","splice","options","filter","ite","includes","substring","Empty","PRESENTED_IMAGE_SIMPLE","newProps","showSearch","optionFilterProp","placeholder","allowClear","dropdownRender","menu","valueLength","target","checked","keys","style","paddingRight","triggerNode","document","body","width","Option","Select","OptGroup","propTypes","PropTypes","oneOfType","string","array","number","object","func","bool","node"],"mappings":"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","sourcesContent":["import React, { useState, useLayoutEffect, useRef, forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Select from 'antd/lib/select';\nimport Tag from 'antd/lib/tag';\nimport Button from 'antd/lib/button';\nimport Empty from 'antd/lib/empty';\nimport Popover from 'antd/lib/popover';\nimport Tooltip from 'antd/lib/tooltip';\nimport Checkbox from 'antd/lib/checkbox';\nimport Divider from 'antd/lib/divider';\nimport MoreOutlined from '@ant-design/icons/MoreOutlined';\nimport isObject from '../_util/isObject';\n\nconst VtxSelect = forwardRef((props, ref) => {\n const [popWidth, setPopWidth] = useState(0);\n const elRef = useRef();\n const elId = useRef(`vtx-select-${Date.now()}`);\n\n const {\n value,\n mode,\n size = 'default', //同步button大小\n onChange,\n maxTagCount = 2,\n maxTagTextLength = 5,\n maxTagPlaceholder = '...',\n showAll = true, //是否显示全部选项\n selectStyle,\n selectAll = true,\n defaultBindBodyToPopupContainer = true,\n } = props;\n\n useLayoutEffect(() => {\n mode === 'multiple' && setPopWidth(elRef.current.clientWidth);\n }, [elRef.current?.clientWidth]);\n\n const newChildren = props.children\n ? Array.isArray(props.children)\n ? props.children\n : [props.children]\n : [];\n\n const getContent = () => {\n const child = {};\n newChildren.forEach(item => {\n child[item.key] = item?.props?.children;\n });\n return (\n <div className=\"vtx-all-list\">\n {Array.isArray(value) && value.length ? (\n value.map((item, index) => {\n const name = getChildren(child, item);\n return (\n <Tag\n style={{ margin: '4px' }}\n key={index}\n closable\n onClose={e => {\n e.preventDefault();\n const valueClone = [...value];\n valueClone.splice(index, 1);\n const options = newChildren.filter(ite =>\n valueClone.includes(ite.props.value),\n );\n onChange(valueClone, options);\n }}\n >\n <Tooltip title={name}>\n {name.length > maxTagTextLength\n ? `${name.substring(0, maxTagTextLength)}...`\n : name}\n </Tooltip>\n </Tag>\n );\n })\n ) : (\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />\n )}\n </div>\n );\n };\n\n let newProps = {\n showSearch: true,\n optionFilterProp: 'children',\n placeholder: '请选择',\n allowClear: true,\n ...props,\n };\n\n if (mode === 'multiple') {\n newProps = {\n ...newProps,\n maxTagCount: maxTagCount,\n maxTagTextLength: maxTagTextLength,\n maxTagPlaceholder: maxTagPlaceholder,\n };\n if (selectAll) {\n newProps = {\n ...newProps,\n dropdownRender: menu => {\n const valueLength = Array.isArray(value) && value.length ? value.length : 0;\n return (\n <div>\n <div\n className=\"vtx-multi-select-all\"\n onMouseDown={e => e.preventDefault()}\n >\n <Checkbox\n indeterminate={valueLength && valueLength < newChildren.length}\n checked={valueLength && valueLength === newChildren.length}\n onChange={e => {\n if (e.target.checked) {\n const keys = newChildren.map(item => item.key);\n onChange && onChange(keys, newChildren);\n } else {\n onChange && onChange([], []);\n }\n }}\n >\n 全选\n </Checkbox>\n </div>\n <Divider style={{ margin: '4px 0' }} />\n {menu}\n </div>\n );\n },\n };\n }\n }\n\n return (\n <div\n className={classnames({\n 'vtx-select': mode !== 'multiple',\n 'vtx-multi-select': mode == 'multiple' || mode == 'tags',\n })}\n id={elId.current}\n ref={elRef}\n style={{\n ...props.style,\n paddingRight: (mode == 'multiple' || mode == 'tags') && showAll ? 32 : 0,\n }}\n >\n <Select\n ref={ref}\n getPopupContainer={triggerNode => {\n return defaultBindBodyToPopupContainer ? document.body : triggerNode;\n }}\n {...newProps}\n style={{ width: '100%', ...selectStyle }}\n >\n {props.children}\n </Select>\n {(mode == 'multiple' || mode == 'tags') && showAll ? (\n <Popover\n content={getContent()}\n placement=\"bottomRight\"\n trigger=\"click\"\n overlayStyle={{ width: popWidth }}\n >\n <Button className=\"vtx-select-count\" icon={<MoreOutlined />} size={size} />\n </Popover>\n ) : null}\n </div>\n );\n});\n\nfunction getChildren(child = {}, value) {\n const key = isObject(value) ? value.key : value;\n return child[key];\n}\n\nVtxSelect.Option = Select.Option;\nVtxSelect.OptGroup = Select.OptGroup;\n\nVtxSelect.propTypes = {\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.array,\n PropTypes.number,\n PropTypes.object,\n ]),\n mode: PropTypes.string,\n size: PropTypes.string,\n style: PropTypes.object,\n selectStyle: PropTypes.object,\n onChange: PropTypes.func,\n defaultBindBodyToPopupContainer: PropTypes.bool,\n maxTagCount: PropTypes.number,\n maxTagTextLength: PropTypes.number,\n maxTagPlaceholder: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n showAll: PropTypes.bool,\n children: PropTypes.node,\n selectAll: PropTypes.bool,\n};\n\nexport default VtxSelect;\n"],"file":"index.js"}
|