@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 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**
@@ -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,oBAAM;AACjB,MAAMC,GAAG,GAAGC,QAAQ,CAACC,aAAT,CAAuB,MAAvB,CAAZ;;AACA,aAAkB,yBAAQF,GAAR,KAAgB,EAAlC;AAAA,MAAQG,KAAR,QAAQA,KAAR;;AACA,MAAIC,IAAI,GAAGR,QAAQ,CAACC,EAApB;;AACA,MAAIM,KAAK,IAAI,IAAb,EAAmB;AACfC,IAAAA,IAAI,GAAGR,QAAQ,CAACC,EAAhB;AACH,GAFD,MAEO,IAAIM,KAAK,IAAI,GAAb,EAAkB;AACrBC,IAAAA,IAAI,GAAGR,QAAQ,CAACE,EAAhB;AACH,GAFM,MAEA;AACHM,IAAAA,IAAI,GAAGR,QAAQ,CAACG,EAAhB;AACH;;AACD,SAAOK,IAAP;AACH,C","sourcesContent":["import useSize from 'ahooks/lib/useSize';\n\nconst COL_SIZE = {\n lg: 'lg',\n md: 'md',\n sm: 'sm',\n};\n\nexport default () => {\n const dom = document.querySelector('body');\n const { width } = useSize(dom) || {};\n let size = COL_SIZE.lg;\n if (width >= 1370) {\n size = COL_SIZE.lg;\n } else if (width >= 992) {\n size = COL_SIZE.md;\n } else {\n size = COL_SIZE.sm;\n }\n return size;\n};\n"],"file":"useColSize.js"}
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA;;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 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"}
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"}
@@ -58,9 +58,6 @@
58
58
  width: 100%;
59
59
  border-right: none !important;
60
60
  }
61
- .vtx-datagrid .ant-table-tbody > tr.ant-table-row-selected td {
62
- background: transparent;
63
- }
64
61
  .vtx-datagrid-alert {
65
62
  margin-bottom: 8px;
66
63
  }
@@ -78,9 +78,10 @@
78
78
  }
79
79
  }
80
80
  }
81
- .ant-table-tbody > tr.ant-table-row-selected td {
82
- background: transparent;
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, _temp;
51
+ var _class;
52
52
 
53
53
  var componentName = _ref.componentName,
54
54
  placeholder = _ref.placeholder,
55
55
  picker = _ref.picker;
56
- return _temp = _class = /*#__PURE__*/function (_React$Component) {
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
- }), _temp;
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,6 @@
1
+ "use strict";
2
+
3
+ require("antd/lib/tooltip/style/css");
4
+
5
+ require("./index.css");
6
+ //# sourceMappingURL=css.js.map
@@ -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,6 @@
1
+ "use strict";
2
+
3
+ require("antd/lib/tooltip/style");
4
+
5
+ require("./index.less");
6
+ //# sourceMappingURL=index.js.map
@@ -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"}
@@ -0,0 +1,13 @@
1
+ .vtx-ellipsis-text {
2
+ margin: 0;
3
+ overflow: hidden;
4
+ text-overflow: ellipsis;
5
+ &--single {
6
+ white-space: nowrap;
7
+ }
8
+ &--multi {
9
+ display: -webkit-box;
10
+ -webkit-line-clamp: 2;
11
+ -webkit-box-orient: vertical;
12
+ }
13
+ }
@@ -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 VtxDivider() {
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;;;;AAEA,SAASA,UAAT,GAAsB;AAClB,sBAAO,gCAAC,mBAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,IAAP;AACH;;eAEcA,U","sourcesContent":["import React from 'react';\nimport Divider from 'antd/lib/divider';\n\nfunction VtxDivider() {\n return <Divider className=\"vtx-form-divider\" />;\n}\n\nexport default VtxDivider;\n"],"file":"Divider.js"}
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
- layout = _useContext.layout;
52
+ formLayout = _useContext.layout;
52
53
 
53
54
  var formItemLayout = null;
54
55
 
55
- if (layout === 'horizontal') {
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': layout === 'vertical' && mode !== 'view'
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,uBAAwCA,KAAxC,CAAQC,OAAR;AAAA,MAAQA,OAAR,+BAAkB,CAAlB;AAAA,MAAqBC,KAArB,GAAwCF,KAAxC,CAAqBE,KAArB;AAAA,MAA+BC,IAA/B,4BAAwCH,KAAxC;;AACA,oBAA6C,uBAAWI,iBAAX,CAA7C;AAAA,MAAQC,YAAR,eAAQA,YAAR;AAAA,MAAsBC,IAAtB,eAAsBA,IAAtB;AAAA,MAA4BC,IAA5B,eAA4BA,IAA5B;AAAA,MAAkCC,MAAlC,eAAkCA,MAAlC;;AAEA,MAAIC,cAAc,GAAG,IAArB;;AACA,MAAID,MAAM,KAAK,YAAf,EAA6B;AACzB,QAAME,sBAAsB,GAAGL,YAAY,GAAGJ,OAA9C;AACA,QAAMU,cAAc,GAAGb,IAAI,GAAGY,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,EAAGb,IAAI,GAAGG,OAAR,GAAmBK,IAA9B;AAAoC,IAAA,SAAS,EAAC;AAA9C,kBACI,gCAAC,gBAAD,CAAM,IAAN;AACI,IAAA,SAAS,EAAE,4BACP,eADO,EAEP;AAAE,gCAA0BE,MAAM,KAAK,UAAX,IAAyBD,IAAI,KAAK;AAA9D,KAFO,EAGP;AAAE,6BAAuBA,IAAI,KAAK;AAAlC,KAHO;AADf,KAMQE,cANR;AAOI,IAAA,KAAK,eAAE,gCAAC,mBAAD;AAAS,MAAA,KAAK,EAAEP;AAAhB,OAAwBA,KAAxB;AAPX,KAQQC,IARR,GAUKH,KAAK,CAACe,QAVX,CADJ,CADJ;AAgBH;;AAEDhB,QAAQ,CAACiB,SAAT,GAAqB;AACjBf,EAAAA,OAAO,EAAEgB,sBAAUC,MADF;AAEjBH,EAAAA,QAAQ,EAAEE,sBAAUE,IAFH;AAGjBC,EAAAA,GAAG,EAAEH,sBAAUI,SAAV,CAAoB,CAACJ,sBAAUK,MAAX,EAAmBL,sBAAUE,IAA7B,CAApB,CAHY;AAIjBjB,EAAAA,KAAK,EAAEe,sBAAUI,SAAV,CAAoB,CAACJ,sBAAUK,MAAX,EAAmBL,sBAAUE,IAA7B,CAApB;AAJU,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, ...rest } = props;\n const { labelColSpan, cols, mode, layout } = useContext(StoreCtx);\n\n let formItemLayout = null;\n if (layout === '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': layout === 'vertical' && mode !== 'view' },\n { 'vtx-form-item--view': 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 tip: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n};\n"],"file":"FormItem.js"}
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: 20px;
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: 20px;
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
  }
@@ -11,6 +11,9 @@
11
11
  content: attr(data-count);
12
12
  pointer-events: none;
13
13
  }
14
+ .ant-input {
15
+ resize: none;
16
+ }
14
17
  .ant-input-affix-wrapper .ant-input-suffix {
15
18
  color: rgba(0, 0, 0, 0.45);
16
19
  }
@@ -13,7 +13,9 @@
13
13
  pointer-events: none;
14
14
  }
15
15
  }
16
-
16
+ .ant-input {
17
+ resize: none;
18
+ }
17
19
  .ant-input-affix-wrapper .ant-input-suffix {
18
20
  color: @text-color-secondary;
19
21
  }
@@ -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, _temp;
54
+ var _class;
55
55
 
56
- return _temp = _class = /*#__PURE__*/function (_React$Component) {
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
- }), _temp;
96
+ }), _class;
97
97
  };
98
98
  }
99
99
 
@@ -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 size = (0, _useColSize["default"])();
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
- }, "\u5C55\u5F00", height > rowHeight ? /*#__PURE__*/_react["default"].createElement(_UpOutlined["default"], null) : /*#__PURE__*/_react["default"].createElement(_DownOutlined["default"], null))))));
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":";;;;;;;;;AAQA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,SAASA,SAAT,CAAmBC,KAAnB,EAA0B;AACtB;AACA,sBAiBIA,KAjBJ,CACIC,MADJ;AAAA,MACIA,MADJ,8BACa,YADb;AAAA,sBAiBID,KAjBJ,CAEIE,MAFJ;AAAA,MAEIA,MAFJ,8BAEa;AAAEC,IAAAA,EAAE,EAAE,CAAN;AAASC,IAAAA,EAAE,EAAE,CAAb;AAAgBC,IAAAA,EAAE,EAAE;AAApB,GAFb;AAAA,0BAiBIL,KAjBJ,CAGIM,UAHJ;AAAA,MAGIA,UAHJ,kCAGiB,EAHjB;AAAA,sBAiBIN,KAjBJ,CAIIO,MAJJ;AAAA,MAIIA,MAJJ,8BAIa,EAJb;AAAA,0BAiBIP,KAjBJ,CAKIQ,UALJ;AAAA,MAKIA,UALJ,kCAKiB,EALjB;AAAA,MAMIC,aANJ,GAiBIT,KAjBJ,CAMIS,aANJ;AAAA,8BAiBIT,KAjBJ,CAOIU,eAPJ;AAAA,MAOIA,eAPJ,sCAOsB,IAPtB;AAAA,6BAiBIV,KAjBJ,CAQIW,aARJ;AAAA,MAQIA,aARJ,qCAQoB,IARpB;AAAA,4BAiBIX,KAjBJ,CASIY,YATJ;AAAA,MASIA,YATJ,oCASmB,IATnB;AAAA,2BAiBIZ,KAjBJ,CAUIa,WAVJ;AAAA,MAUIA,WAVJ,mCAUkB,IAVlB;AAAA,yBAiBIb,KAjBJ,CAWIc,SAXJ;AAAA,MAWIA,SAXJ,iCAWgB,IAXhB;AAAA,MAYIC,SAZJ,GAiBIf,KAjBJ,CAYIe,SAZJ;AAAA,MAaIC,OAbJ,GAiBIhB,KAjBJ,CAaIgB,OAbJ;AAAA,MAcIC,aAdJ,GAiBIjB,KAjBJ,CAcIiB,aAdJ;AAAA,uBAiBIjB,KAjBJ,CAeIkB,OAfJ;AAAA,MAeIA,OAfJ,+BAec,KAfd;AAAA,MAgBIC,YAhBJ,GAiBInB,KAjBJ,CAgBImB,YAhBJ;AAmBA,MAAMC,YAAY,GAAG,oBAArB;AACA,MAAMC,IAAI,GAAG,4BAAWD,YAAX,CAAb;AACA,MAAME,UAAU,GAAGpB,MAAM,CAACmB,IAAD,CAAzB;;AAEA,oBAAuB,uBAAWE,qBAAX,CAAvB;AAAA,MAAQC,UAAR,eAAQA,UAAR;;AAEA,MAAMC,SAAS,GAAG;AACdC,IAAAA,MAAM,EAAEzB,MAAM,KAAK,YAAX,GAA0B,EAA1B,GAA+B;AADzB,GAAlB,CA3BsB,CA8BtB;;AACA,kBAAsC,qBAAS,CAAT,CAAtC;AAAA;AAAA,MAAO0B,WAAP;AAAA,MAAoBC,cAApB;;AACA,qBAA0B,8BAAYH,SAAZ,CAA1B;AAAA;AAAA,MAAOI,KAAP;AAAA,MAAcC,QAAd;;AACA,MAAQJ,MAAR,GAA6BG,KAA7B,CAAQH,MAAR;AAAA,MAAgBK,QAAhB,GAA6BF,KAA7B,CAAgBE,QAAhB;AACA,MAAMC,GAAG,GAAG,oBAAZ;AAEA,MAAMC,aAAa,GAAG3B,UAAU,CAAC4B,MAAX,CAAkB,UAAAC,IAAI;AAAA,WAAI,CAAC,CAACA,IAAN;AAAA,GAAtB,CAAtB;AACA,MAAMC,SAAS,GAAG7B,MAAM,CAAC2B,MAAP,CAAc,UAAAC,IAAI;AAAA,WAAI,CAAC,CAACA,IAAN;AAAA,GAAlB,CAAlB;AACA,MAAME,WAAW,GAAGC,KAAK,CAACC,OAAN,CAAcvC,KAAd,aAAcA,KAAd,uBAAcA,KAAK,CAAEwC,QAArB,IACdxC,KADc,aACdA,KADc,uBACdA,KAAK,CAAEwC,QAAP,CAAgBN,MAAhB,CAAuB,UAAAC,IAAI;AAAA,WAAI,CAAC,CAACA,IAAN;AAAA,GAA3B,CADc,GAEdnC,KAFc,aAEdA,KAFc,uBAEdA,KAAK,CAAEwC,QAFb;AAIA,MAAMC,SAAS,GAAGxC,MAAM,KAAK,YAAX,GAA0B,EAA1B,GAA+B,EAAjD;AAEA,8BAAgB,YAAM;AAClB,QAAI0B,WAAW,GAAG,CAAlB;AACAM,IAAAA,aAAa,CAACS,GAAd,CAAkB,UAAAP,IAAI,EAAI;AACtBR,MAAAA,WAAW,IAAIQ,IAAf;AACH,KAFD;AAIAP,IAAAA,cAAc,CAACD,WAAD,CAAd;;AACA,QAAIT,OAAJ,EAAa;AACTY,MAAAA,QAAQ,CACJH,WAAW,GAAGL,UAAd,GACM;AACII,QAAAA,MAAM,EAAEM,GAAG,CAACW,OAAJ,CAAYC;AADxB,OADN,GAIMnB,SALF,CAAR;AAOH;AACJ,GAhBD,EAgBG,CAACnB,UAAD,CAhBH;;AAkBA,MAAMuC,UAAU,GAAG,SAAbA,UAAa,GAAM;AACrB,QAAMC,OAAO,GAAG,EAAhB;;AACA,QAAIpB,MAAM,GAAGe,SAAb,EAAwB;AACpBX,MAAAA,QAAQ,CAACL,SAAD,CAAR;;AACA,UAAIN,YAAY,IAAI,OAAOA,YAAP,KAAwB,UAA5C,EAAwD;AACpDA,QAAAA,YAAY,CAACsB,SAAS,GAAGK,OAAb,CAAZ;AACH;;AACDtB,MAAAA,UAAU,IAAIA,UAAU,CAACiB,SAAS,GAAGK,OAAb,CAAxB;AACH,KAND,MAMO;AACHhB,MAAAA,QAAQ,CAAC;AACLJ,QAAAA,MAAM,EAAEM,GAAG,CAACW,OAAJ,CAAYC;AADf,OAAD,CAAR;;AAGA,UAAIzB,YAAY,IAAI,OAAOA,YAAP,KAAwB,UAA5C,EAAwD;AACpDA,QAAAA,YAAY,CAACa,GAAG,CAACW,OAAJ,CAAYC,YAAZ,GAA2BE,OAA5B,CAAZ;AACH;;AACDtB,MAAAA,UAAU,IAAIA,UAAU,CAACQ,GAAG,CAACW,OAAJ,CAAYC,YAAZ,GAA2BE,OAA5B,CAAxB;AACH;AACJ,GAjBD;;AAmBA,MAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAAAC,IAAI,EAAI;AAC5B,QAAIC,KAAK,GAAGD,IAAZ;AACA,QAAI,CAACC,KAAL,EAAY,OAAO,IAAP;;AACZ,QAAI,OAAOD,IAAP,IAAe,UAAnB,EAA+B;AAC3BC,MAAAA,KAAK,GAAGD,IAAI,EAAZ;AACH;;AACD,QAAI,CAACC,KAAK,CAACC,MAAX,EAAmB;AACf,aAAOC,MAAM,CAACF,KAAD,EAAQ,CAAR,CAAb;AACH,KAFD,MAEO;AACH,UAAIG,MAAM,GAAG,EAAb;AACAH,MAAAA,KAAK,CAACI,OAAN,CAAc,UAAAlB,IAAI,EAAI;AAClB,YAAI,OAAOA,IAAP,IAAe,UAAnB,EAA+B;AAC3B,cAAImB,GAAG,GAAGnB,IAAI,EAAd;;AACA,cAAIG,KAAK,CAACC,OAAN,CAAce,GAAd,CAAJ,EAAwB;AACpBF,YAAAA,MAAM,CAACG,IAAP,OAAAH,MAAM,qBAASE,GAAT,EAAN;AACH;;AACDF,UAAAA,MAAM,CAACG,IAAP,CAAYD,GAAZ;AACA;AACH;;AACD,YAAIhB,KAAK,CAACC,OAAN,CAAcJ,IAAd,CAAJ,EAAyB;AACrBiB,UAAAA,MAAM,CAACG,IAAP,OAAAH,MAAM,qBAASjB,IAAT,EAAN;AACA;AACH;;AACDiB,QAAAA,MAAM,CAACG,IAAP,CAAYpB,IAAZ;AACH,OAdD;AAeA,aAAOiB,MAAM,CAACV,GAAP,CAAW,UAACP,IAAD,EAAOqB,KAAP,EAAiB;AAC/B,eAAOL,MAAM,CAAChB,IAAD,EAAOqB,KAAP,CAAb;AACH,OAFM,CAAP;AAGH;AACJ,GA7BD;;AA+BA,MAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACC,CAAD,EAAIC,CAAJ;AAAA,wBACb,gCAAC,kBAAD;AAAQ,MAAA,MAAM,EAAE,CAAhB;AAAmB,MAAA,IAAI,EAAC;AAAxB,oBACI;AAAK,MAAA,SAAS,EAAC,oBAAf;AAAoC,MAAA,KAAK,EAAE;AAAEC,QAAAA,SAAS,EAAE,OAAb;AAAsBC,QAAAA,KAAK,EAAErD;AAA7B;AAA3C,oBACI,gCAAC,mBAAD;AAAS,MAAA,KAAK,EAAE4B,SAAS,CAACuB,CAAD,CAAzB;AAA8B,MAAA,SAAS,EAAC;AAAxC,OACKvB,SAAS,CAACuB,CAAD,CADd,CADJ,CADJ,eAMI;AAAK,MAAA,SAAS,EAAC,oBAAf;AAAoC,MAAA,KAAK,EAAE;AAAEE,QAAAA,KAAK,wBAAiBrD,UAAjB;AAAP;AAA3C,oBACI;AAAM,MAAA,SAAS,EAAC;AAAhB,OAAmCkD,CAAnC,CADJ,CANJ,CADa;AAAA,GAAjB;;AAaA,MAAMI,QAAQ,GAAG,SAAXA,QAAW,CAACJ,CAAD,EAAIC,CAAJ;AAAA,wBACb,gCAAC,kBAAD;AAAQ,MAAA,MAAM,EAAE,CAAhB;AAAmB,MAAA,IAAI,EAAC,KAAxB;AAA8B,MAAA,SAAS,EAAC;AAAxC,oBACI;AAAK,MAAA,SAAS,EAAC;AAAf,oBACI,gCAAC,mBAAD;AAAS,MAAA,KAAK,EAAEvB,SAAS,CAACuB,CAAD,CAAzB;AAA8B,MAAA,SAAS,EAAC;AAAxC,OACKvB,SAAS,CAACuB,CAAD,CADd,CADJ,CADJ,eAMI;AAAK,MAAA,SAAS,EAAC;AAAf,oBACI;AAAM,MAAA,SAAS,EAAC;AAAhB,OAAmCD,CAAnC,CADJ,CANJ,CADa;AAAA,GAAjB;;AAaA,MAAIP,MAAM,GAAG,SAATA,MAAS,CAACO,CAAD,EAAIC,CAAJ,EAAU;AACnB,QAAII,GAAG,GAAG9B,aAAa,CAAC0B,CAAD,CAAvB;AACA,wBACI,gCAAC,kBAAD;AAAQ,MAAA,GAAG,EAAEA,CAAb;AAAgB,MAAA,IAAI,EAAG,KAAKrC,UAAN,GAAoByC,GAA1C;AAA+C,MAAA,SAAS,EAAC;AAAzD,OACK9D,MAAM,KAAK,YAAX,IAA2BwD,QAAQ,CAACC,CAAD,EAAIC,CAAJ,CADxC,EAEK1D,MAAM,KAAK,UAAX,IAAyB6D,QAAQ,CAACJ,CAAD,EAAIC,CAAJ,CAFtC,CADJ;AAMH,GARD;;AAUA,sBACI;AACI,IAAA,SAAS,EAAE,4BAAW,YAAX,EAAyBlD,aAAzB,CADf;AAEI,IAAA,KAAK;AAAIiB,MAAAA,MAAM,YAAKA,MAAM,GAAG,EAAd;AAAV,OAAmCK,QAAnC,CAFT;AAGI,IAAA,GAAG,EAAEX;AAHT,kBAKI;AAAK,IAAA,SAAS,EAAC,oBAAf;AAAoC,IAAA,GAAG,EAAEY;AAAzC,kBACI,gCAAC,kBAAD;AAAQ,IAAA,MAAM,EAAE,EAAhB;AAAoB,IAAA,IAAI,EAAC;AAAzB,KACKe,eAAe,CAACV,WAAD,CADpB,CADJ,CALJ,eAWI;AACI,IAAA,SAAS,EAAC,oBADd;AAEI,IAAA,KAAK,EAAE;AAAE2B,MAAAA,UAAU,EAAE/D,MAAM,KAAK,UAAX,GAAwB,EAAxB,GAA6B;AAA3C;AAFX,KAIKgB,aAAa,gBACV,gCAAC,kBAAD;AAAQ,IAAA,MAAM,EAAE,CAAhB;AAAmB,IAAA,IAAI,EAAC;AAAxB,KACKA,aADL,CADU,gBAKV,gCAAC,kBAAD;AAAQ,IAAA,MAAM,EAAE,CAAhB;AAAmB,IAAA,IAAI,EAAC;AAAxB,KACKP,eAAe,iBACZ,gCAAC,kBAAD;AAAQ,IAAA,IAAI,EAAE;AAAd,kBACI;AAAM,iBAAW;AAAjB,kBACI,gCAAC,kBAAD;AACI,IAAA,KAAK,EAAE;AAAEmD,MAAAA,KAAK,EAAE;AAAT,KADX;AAEI,IAAA,IAAI,EAAC,SAFT;AAGI,IAAA,OAAO,EAAE9C;AAHb,KAKKF,WALL,CADJ,CADJ,CAFR,EAcKF,aAAa,iBACV,gCAAC,kBAAD;AAAQ,IAAA,IAAI,EAAE;AAAd,kBACI;AAAM,iBAAW;AAAjB,kBACI,gCAAC,kBAAD;AAAQ,IAAA,KAAK,EAAE;AAAEkD,MAAAA,KAAK,EAAE;AAAT,KAAf;AAAkC,IAAA,OAAO,EAAE7C;AAA3C,KACKF,SADL,CADJ,CADJ,CAfR,EAuBKa,WAAW,GAAGL,UAAd,IAA4BV,YAA5B,iBACG,gCAAC,kBAAD;AAAQ,IAAA,IAAI,EAAE;AAAd,kBACI;AACI,iBAAW,IADf;AAEI,IAAA,OAAO,EAAE;AAAA,aAAMiC,UAAU,EAAhB;AAAA,KAFb;AAGI,IAAA,SAAS,EAAC;AAHd,KAKKnB,MAAM,GAAGe,SAAT,gBACG,+FAEI,gCAAC,sBAAD,OAFJ,CADH,gBAMG,+FAEI,gCAAC,wBAAD,OAFJ,CAXR,CADJ,CAxBR,CATR,CAXJ,CADJ;AAsEH;;AAED1C,SAAS,CAACkE,SAAV,GAAsB;AAClBhE,EAAAA,MAAM,EAAEiE,sBAAUC,KAAV,CAAgB,CAAC,UAAD,EAAa,YAAb,CAAhB,CADU;AAElBjE,EAAAA,MAAM,EAAEgE,sBAAUE,QAAV,CAAmBF,sBAAUG,MAA7B,CAFU;AAGlB/D,EAAAA,UAAU,EAAE4D,sBAAUI,KAHJ;AAIlB/D,EAAAA,MAAM,EAAE2D,sBAAUI,KAJA;AAKlB9D,EAAAA,UAAU,EAAE0D,sBAAUG,MALJ;AAMlB5D,EAAAA,aAAa,EAAEyD,sBAAUK,MANP;AAOlB/B,EAAAA,QAAQ,EAAE0B,sBAAUM,IAPF;AAQlB9D,EAAAA,eAAe,EAAEwD,sBAAUO,IART;AASlB9D,EAAAA,aAAa,EAAEuD,sBAAUO,IATP;AAUlB7D,EAAAA,YAAY,EAAEsD,sBAAUO,IAVN;AAWlB1D,EAAAA,SAAS,EAAEmD,sBAAUQ,IAXH;AAYlB7D,EAAAA,WAAW,EAAEqD,sBAAUK,MAZL;AAalBvD,EAAAA,OAAO,EAAEkD,sBAAUQ,IAbD;AAclB5D,EAAAA,SAAS,EAAEoD,sBAAUK,MAdH;AAelBtD,EAAAA,aAAa,EAAEiD,sBAAUM,IAfP;AAgBlBtD,EAAAA,OAAO,EAAEgD,sBAAUO,IAhBD;AAiBlBtD,EAAAA,YAAY,EAAE+C,sBAAUQ;AAjBN,CAAtB;eAmBe3E,S","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"}
@@ -1,6 +1,6 @@
1
1
  .vtx-search {
2
2
  position: relative;
3
- z-index: 1000;
3
+ z-index: 9;
4
4
  padding-top: 8px;
5
5
  padding-right: 24px;
6
6
  padding-bottom: 8px;
@@ -6,7 +6,7 @@
6
6
 
7
7
  .@{prefix-cls} {
8
8
  position: relative;
9
- z-index: 1000;
9
+ z-index: 9;
10
10
  padding-top: 8px;
11
11
  padding-right: 24px;
12
12
  padding-bottom: 8px;
@@ -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(newChildren, item);
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 list = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
220
+ var child = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
213
221
  var value = arguments.length > 1 ? arguments[1] : undefined;
214
- var name = '';
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":"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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';\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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtx/components",
3
- "version": "3.0.1",
3
+ "version": "3.1.0",
4
4
  "description": "React components for Vortex",
5
5
  "keywords": [
6
6
  "react",