@vtx/components 2.3.1 → 2.4.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,60 @@
1
+ # [2.4.0](https://git.cloudhw.cn:3443/front-end/react-components/compare/2.3.4...2.4.0) (2021-09-18)
2
+
3
+
4
+ ### ✨ Features
5
+
6
+ * 新增VtxSignature签名组件 ([9019271](https://git.cloudhw.cn:3443/front-end/react-components/commit/9019271)) by: **gongjinhua**
7
+
8
+
9
+
10
+ ## [2.3.4](https://git.cloudhw.cn:3443/front-end/react-components/compare/2.3.3...2.3.4) (2021-09-16)
11
+
12
+
13
+ ### ✨ Features
14
+
15
+ * 数据表格下拉框VtxCombogrid支持主动触发刷新接口数据 ([3c48177](https://git.cloudhw.cn:3443/front-end/react-components/commit/3c48177)) by: **gongjinhua**
16
+
17
+
18
+ ### 🎫 Chores
19
+
20
+ * release v2.3.4 ([8822b97](https://git.cloudhw.cn:3443/front-end/react-components/commit/8822b97)) by: **gongjinhua**
21
+
22
+
23
+ ### 🐛 Bug Fixes
24
+
25
+ * 文本域VtxInput.TextArea修复设置默认值为null或undefined时已输入数显示错误的问题 ([4b5d294](https://git.cloudhw.cn:3443/front-end/react-components/commit/4b5d294)) by: **gongjinhua**
26
+
27
+
28
+
29
+ ## [2.3.3](https://git.cloudhw.cn:3443/front-end/react-components/compare/2.3.2...2.3.3) (2021-09-08)
30
+
31
+
32
+ ### ✨ Features
33
+
34
+ * 图片VtxImage支持同时设置缩略图和原图 ([3e19661](https://git.cloudhw.cn:3443/front-end/react-components/commit/3e19661)) by: **yemu**
35
+ * 表单布局VtxFormLayout支持设置mode="view" ([e6b8e50](https://git.cloudhw.cn:3443/front-end/react-components/commit/e6b8e50)) by: **yemu**
36
+
37
+
38
+ ### 🎫 Chores
39
+
40
+ * release v2.3.3 ([1a64610](https://git.cloudhw.cn:3443/front-end/react-components/commit/1a64610)) by: **yemu**
41
+
42
+
43
+
44
+ ## [2.3.2](https://git.cloudhw.cn:3443/front-end/react-components/compare/2.3.1...2.3.2) (2021-08-12)
45
+
46
+
47
+ ### 🎫 Chores
48
+
49
+ * release v2.3.2 ([4a10be0](https://git.cloudhw.cn:3443/front-end/react-components/commit/4a10be0)) by: **yemu**
50
+
51
+
52
+ ### 🐛 Bug Fixes
53
+
54
+ * 修复VtxSelect选择器在VtxSearch显示不全的问题 ([024cdf6](https://git.cloudhw.cn:3443/front-end/react-components/commit/024cdf6)) by: **yemu**
55
+
56
+
57
+
1
58
  ## [2.3.1](https://git.cloudhw.cn:3443/front-end/react-components/compare/2.3.0...2.3.1) (2021-08-11)
2
59
 
3
60
 
@@ -7,6 +64,11 @@
7
64
  * 选择器VtxSelect设置getPopupContainer为本身父级DIV ([187ec27](https://git.cloudhw.cn:3443/front-end/react-components/commit/187ec27)) by: **yemu**
8
65
 
9
66
 
67
+ ### 🎫 Chores
68
+
69
+ * release v2.3.1 ([672dbaf](https://git.cloudhw.cn:3443/front-end/react-components/commit/672dbaf)) by: **yemu**
70
+
71
+
10
72
  ### 🐛 Bug Fixes
11
73
 
12
74
  * 上传VtxUpload修复设置viewMode时删除按钮仍存在的问题 ([3e78948](https://git.cloudhw.cn:3443/front-end/react-components/commit/3e78948)) by: **yemu**
@@ -53,7 +53,7 @@ function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(
53
53
 
54
54
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
55
55
 
56
- function VtxCombogrid(props) {
56
+ function VtxCombogrid(props, ref) {
57
57
  var _useState = (0, _react.useState)(false),
58
58
  _useState2 = _slicedToArray(_useState, 2),
59
59
  more = _useState2[0],
@@ -148,9 +148,15 @@ function VtxCombogrid(props) {
148
148
  if (multiple && selectedRowKeys.length) {
149
149
  clearSelectedRow();
150
150
  }
151
- }; // 查询条件是否超过2个,超过2个默认隐藏
151
+ }; // 暴露给父组件使用
152
152
 
153
153
 
154
+ (0, _react.useImperativeHandle)(ref, function () {
155
+ return {
156
+ clear: clear
157
+ };
158
+ }); // 查询条件是否超过2个,超过2个默认隐藏
159
+
154
160
  var formLen = searchForms.length;
155
161
  var isMore = formLen > 2;
156
162
  var moreSearchForm = [];
@@ -178,7 +184,8 @@ function VtxCombogrid(props) {
178
184
  };
179
185
 
180
186
  return /*#__PURE__*/_react["default"].createElement("div", {
181
- className: "".concat(prefixCls, "-popover")
187
+ className: "".concat(prefixCls, "-popover"),
188
+ ref: ref
182
189
  }, formLen > 0 && /*#__PURE__*/_react["default"].createElement(_row["default"], {
183
190
  gutter: 8
184
191
  }, /*#__PURE__*/_react["default"].createElement(_col["default"], {
@@ -213,6 +220,9 @@ function VtxCombogrid(props) {
213
220
  }, newTableProps, rest))));
214
221
  }
215
222
 
223
+ var _default = _form["default"].create()( /*#__PURE__*/_react["default"].forwardRef(VtxCombogrid));
224
+
225
+ exports["default"] = _default;
216
226
  VtxCombogrid.propTypes = {
217
227
  prefixCls: _propTypes["default"].string,
218
228
  getTableData: _propTypes["default"].func.isRequired,
@@ -227,8 +237,4 @@ VtxCombogrid.propTypes = {
227
237
  spread: _propTypes["default"].bool,
228
238
  defaultSelectedRowKeys: _propTypes["default"].array
229
239
  };
230
-
231
- var _default = _form["default"].create()(VtxCombogrid);
232
-
233
- exports["default"] = _default;
234
240
  //# sourceMappingURL=Combogrid.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-combogrid/Combogrid.jsx"],"names":["VtxCombogrid","props","more","setMore","prefixCls","setPopoverVisible","multiple","onChange","getTableData","columns","searchForms","form","selectedRowKeys","setSelectedRowKeys","spread","rest","getFieldDecorator","defaultPageSize","tableProps","search","submit","reset","pagination","current","pageSize","clearSelectedRow","newTableProps","startIndex","size","headFootHeight","showSizeChanger","onRow","record","onClick","rowSelection","selectedRows","query","length","clear","formLen","isMore","moreSearchForm","slice","renderFormItem","field","name","label","render","span","map","item","idx","propTypes","PropTypes","string","func","isRequired","array","object","bool","defaultSelectedRowKeys","Form","create"],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport Form from 'antd/es/form';\nimport Row from 'antd/es/row';\nimport Col from 'antd/es/col';\nimport Button from 'antd/es/button';\nimport useAntdTable from 'ahooks/es/useAntdTable';\nimport PropTypes from 'prop-types';\nimport VtxDatagrid from '../vtx-datagrid';\n\nfunction VtxCombogrid(props) {\n const [more, setMore] = useState(false);\n const {\n prefixCls,\n setPopoverVisible,\n multiple,\n onChange,\n getTableData,\n columns,\n searchForms = [],\n form,\n selectedRowKeys,\n setSelectedRowKeys,\n spread,\n ...rest\n } = props;\n const { getFieldDecorator } = form;\n\n const { tableProps, search } = useAntdTable(getTableData, {\n defaultPageSize: 10,\n form,\n });\n const { submit, reset } = search;\n\n // 表格\n const { pagination } = tableProps;\n const { current, pageSize } = pagination;\n\n const clearSelectedRow = () => {\n onChange && onChange([]);\n setSelectedRowKeys([]);\n };\n\n let newTableProps = {\n ...tableProps,\n columns,\n startIndex: (current - 1) * pageSize + 1,\n size: 'small',\n headFootHeight: 95,\n pagination: {\n ...pagination,\n showSizeChanger: false,\n onChange() {\n if (!spread) {\n clearSelectedRow();\n }\n },\n },\n onRow: record => {\n if (multiple) {\n return {};\n }\n return {\n onClick: () => {\n onChange && onChange([record]);\n setPopoverVisible(false);\n },\n };\n },\n };\n\n if (multiple) {\n newTableProps = {\n ...newTableProps,\n rowSelection: {\n selectedRowKeys,\n onChange(selectedRowKeys, selectedRows) {\n setSelectedRowKeys(selectedRowKeys);\n onChange && onChange(selectedRows);\n },\n },\n };\n }\n\n // 查询和清空会重置selectedRowKeys,因此也需清空文本中的value值\n const query = () => {\n submit();\n if (multiple && selectedRowKeys.length) {\n clearSelectedRow();\n }\n };\n const clear = () => {\n reset();\n if (multiple && selectedRowKeys.length) {\n clearSelectedRow();\n }\n };\n\n // 查询条件是否超过2个,超过2个默认隐藏\n const formLen = searchForms.length;\n const isMore = formLen > 2;\n let moreSearchForm = [];\n if (isMore) {\n moreSearchForm = searchForms.slice(2);\n }\n\n const renderFormItem = field => {\n const { name, label, render } = field;\n return (\n <Col span={12} key={name}>\n <Form.Item label={label} labelCol={{ span: 8 }} wrapperCol={{ span: 16 }}>\n {getFieldDecorator(name)(render && render(form))}\n </Form.Item>\n </Col>\n );\n };\n\n return (\n <div className={`${prefixCls}-popover`}>\n {formLen > 0 && (\n <Row gutter={8}>\n <Col span={18}>\n <Row>\n {searchForms.map((item, idx) => {\n if (idx < 2) {\n return renderFormItem(item);\n }\n })}\n </Row>\n {more && (\n <Row>\n {moreSearchForm.map(item => {\n return renderFormItem(item);\n })}\n </Row>\n )}\n </Col>\n <Col span={6} className={`${prefixCls}-btns`}>\n <Button onClick={query} type=\"primary\" size=\"small\">\n 查询\n </Button>\n <Button onClick={clear} size=\"small\">\n 清空\n </Button>\n {isMore && (\n <Button\n icon=\"more\"\n size=\"small\"\n title=\"更多\"\n onClick={() => setMore(!more)}\n />\n )}\n </Col>\n </Row>\n )}\n <div className={`${prefixCls}-main`}>\n <VtxDatagrid toolbar={false} {...newTableProps} {...rest} />\n </div>\n </div>\n );\n}\n\nVtxCombogrid.propTypes = {\n prefixCls: PropTypes.string,\n getTableData: PropTypes.func.isRequired,\n columns: PropTypes.array,\n searchForms: PropTypes.array,\n form: PropTypes.object,\n multiple: PropTypes.bool,\n onChange: PropTypes.func,\n setPopoverVisible: PropTypes.func,\n selectedRowKeys: PropTypes.array,\n setSelectedRowKeys: PropTypes.func,\n spread: PropTypes.bool,\n defaultSelectedRowKeys: PropTypes.array,\n};\n\nexport default Form.create()(VtxCombogrid);\n"],"file":"Combogrid.js"}
1
+ {"version":3,"sources":["vtx-combogrid/Combogrid.jsx"],"names":["VtxCombogrid","props","ref","more","setMore","prefixCls","setPopoverVisible","multiple","onChange","getTableData","columns","searchForms","form","selectedRowKeys","setSelectedRowKeys","spread","rest","getFieldDecorator","defaultPageSize","tableProps","search","submit","reset","pagination","current","pageSize","clearSelectedRow","newTableProps","startIndex","size","headFootHeight","showSizeChanger","onRow","record","onClick","rowSelection","selectedRows","query","length","clear","formLen","isMore","moreSearchForm","slice","renderFormItem","field","name","label","render","span","map","item","idx","Form","create","React","forwardRef","propTypes","PropTypes","string","func","isRequired","array","object","bool","defaultSelectedRowKeys"],"mappings":"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","sourcesContent":["import React, { useState, useImperativeHandle } from 'react';\nimport Form from 'antd/es/form';\nimport Row from 'antd/es/row';\nimport Col from 'antd/es/col';\nimport Button from 'antd/es/button';\nimport useAntdTable from 'ahooks/es/useAntdTable';\nimport PropTypes from 'prop-types';\nimport VtxDatagrid from '../vtx-datagrid';\n\nfunction VtxCombogrid(props, ref) {\n const [more, setMore] = useState(false);\n const {\n prefixCls,\n setPopoverVisible,\n multiple,\n onChange,\n getTableData,\n columns,\n searchForms = [],\n form,\n selectedRowKeys,\n setSelectedRowKeys,\n spread,\n ...rest\n } = props;\n const { getFieldDecorator } = form;\n\n const { tableProps, search } = useAntdTable(getTableData, {\n defaultPageSize: 10,\n form,\n });\n const { submit, reset } = search;\n\n // 表格\n const { pagination } = tableProps;\n const { current, pageSize } = pagination;\n\n const clearSelectedRow = () => {\n onChange && onChange([]);\n setSelectedRowKeys([]);\n };\n\n let newTableProps = {\n ...tableProps,\n columns,\n startIndex: (current - 1) * pageSize + 1,\n size: 'small',\n headFootHeight: 95,\n pagination: {\n ...pagination,\n showSizeChanger: false,\n onChange() {\n if (!spread) {\n clearSelectedRow();\n }\n },\n },\n onRow: record => {\n if (multiple) {\n return {};\n }\n return {\n onClick: () => {\n onChange && onChange([record]);\n setPopoverVisible(false);\n },\n };\n },\n };\n\n if (multiple) {\n newTableProps = {\n ...newTableProps,\n rowSelection: {\n selectedRowKeys,\n onChange(selectedRowKeys, selectedRows) {\n setSelectedRowKeys(selectedRowKeys);\n onChange && onChange(selectedRows);\n },\n },\n };\n }\n\n // 查询和清空会重置selectedRowKeys,因此也需清空文本中的value值\n const query = () => {\n submit();\n if (multiple && selectedRowKeys.length) {\n clearSelectedRow();\n }\n };\n const clear = () => {\n reset();\n if (multiple && selectedRowKeys.length) {\n clearSelectedRow();\n }\n };\n\n // 暴露给父组件使用\n useImperativeHandle(ref, () => ({\n clear,\n }));\n\n // 查询条件是否超过2个,超过2个默认隐藏\n const formLen = searchForms.length;\n const isMore = formLen > 2;\n let moreSearchForm = [];\n if (isMore) {\n moreSearchForm = searchForms.slice(2);\n }\n\n const renderFormItem = field => {\n const { name, label, render } = field;\n return (\n <Col span={12} key={name}>\n <Form.Item label={label} labelCol={{ span: 8 }} wrapperCol={{ span: 16 }}>\n {getFieldDecorator(name)(render && render(form))}\n </Form.Item>\n </Col>\n );\n };\n\n return (\n <div className={`${prefixCls}-popover`} ref={ref}>\n {formLen > 0 && (\n <Row gutter={8}>\n <Col span={18}>\n <Row>\n {searchForms.map((item, idx) => {\n if (idx < 2) {\n return renderFormItem(item);\n }\n })}\n </Row>\n {more && (\n <Row>\n {moreSearchForm.map(item => {\n return renderFormItem(item);\n })}\n </Row>\n )}\n </Col>\n <Col span={6} className={`${prefixCls}-btns`}>\n <Button onClick={query} type=\"primary\" size=\"small\">\n 查询\n </Button>\n <Button onClick={clear} size=\"small\">\n 清空\n </Button>\n {isMore && (\n <Button\n icon=\"more\"\n size=\"small\"\n title=\"更多\"\n onClick={() => setMore(!more)}\n />\n )}\n </Col>\n </Row>\n )}\n <div className={`${prefixCls}-main`}>\n <VtxDatagrid toolbar={false} {...newTableProps} {...rest} />\n </div>\n </div>\n );\n}\n\nexport default Form.create()(React.forwardRef(VtxCombogrid));\n\nVtxCombogrid.propTypes = {\n prefixCls: PropTypes.string,\n getTableData: PropTypes.func.isRequired,\n columns: PropTypes.array,\n searchForms: PropTypes.array,\n form: PropTypes.object,\n multiple: PropTypes.bool,\n onChange: PropTypes.func,\n setPopoverVisible: PropTypes.func,\n selectedRowKeys: PropTypes.array,\n setSelectedRowKeys: PropTypes.func,\n spread: PropTypes.bool,\n defaultSelectedRowKeys: PropTypes.array,\n};\n"],"file":"Combogrid.js"}
@@ -54,6 +54,8 @@ function VtxCombogrid(props, ref) {
54
54
  visible = _useState4[0],
55
55
  setVisible = _useState4[1];
56
56
 
57
+ var comboRef = (0, _react.useRef)();
58
+
57
59
  var className = props.className,
58
60
  style = props.style,
59
61
  placeholder = props.placeholder,
@@ -68,14 +70,24 @@ function VtxCombogrid(props, ref) {
68
70
 
69
71
  (0, _react.useEffect)(function () {
70
72
  setSelectedRowKeys(defaultSelectedRowKeys);
71
- }, [defaultSelectedRowKeys.join(',')]);
73
+ }, [defaultSelectedRowKeys.join(',')]); // 暴露给父组件使用
74
+
75
+ (0, _react.useImperativeHandle)(ref, function () {
76
+ return {
77
+ // 重置
78
+ reset: function reset() {
79
+ comboRef.current && comboRef.current.clear();
80
+ }
81
+ };
82
+ });
72
83
  return /*#__PURE__*/_react["default"].createElement(_popover["default"], {
73
84
  content: /*#__PURE__*/_react["default"].createElement(_Combogrid["default"], _extends({}, rest, {
74
85
  selectedRowKeys: selectedRowKeys,
75
86
  defaultSelectedRowKeys: defaultSelectedRowKeys,
76
87
  setSelectedRowKeys: setSelectedRowKeys,
77
88
  setPopoverVisible: setVisible,
78
- prefixCls: prefixCls
89
+ prefixCls: prefixCls,
90
+ wrappedComponentRef: comboRef
79
91
  })),
80
92
  placement: "bottomLeft",
81
93
  trigger: "click",
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-combogrid/index.jsx"],"names":["VtxCombogrid","props","ref","selectedRowKeys","setSelectedRowKeys","visible","setVisible","className","style","placeholder","prefixCls","value","allowClear","defaultSelectedRowKeys","rest","join","e","target","onChange","React","forwardRef","propTypes","PropTypes","string","bool","object","array"],"mappings":";;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,SAASA,YAAT,CAAsBC,KAAtB,EAA6BC,GAA7B,EAAkC;AAAA,kBACgB,qBAAS,YAAM;AACzD,WAAO,EAAP;AACH,GAF6C,CADhB;AAAA;AAAA,MACvBC,eADuB;AAAA,MACNC,kBADM;;AAAA,mBAIA,qBAAS,KAAT,CAJA;AAAA;AAAA,MAIvBC,OAJuB;AAAA,MAIdC,UAJc;;AAAA,MAM1BC,SAN0B,GAc1BN,KAd0B,CAM1BM,SAN0B;AAAA,MAO1BC,KAP0B,GAc1BP,KAd0B,CAO1BO,KAP0B;AAAA,MAQ1BC,WAR0B,GAc1BR,KAd0B,CAQ1BQ,WAR0B;AAAA,yBAc1BR,KAd0B,CAS1BS,SAT0B;AAAA,MAS1BA,SAT0B,iCASd,eATc;AAAA,MAU1BC,KAV0B,GAc1BV,KAd0B,CAU1BU,KAV0B;AAAA,0BAc1BV,KAd0B,CAW1BW,UAX0B;AAAA,MAW1BA,UAX0B,kCAWb,IAXa;AAAA,8BAc1BX,KAd0B,CAY1BE,eAZ0B;AAAA,MAYTU,sBAZS,sCAYgB,EAZhB;AAAA,MAavBC,IAbuB,4BAc1Bb,KAd0B;;AAgB9B,wBAAU,YAAM;AACZG,IAAAA,kBAAkB,CAACS,sBAAD,CAAlB;AACH,GAFD,EAEG,CAACA,sBAAsB,CAACE,IAAvB,CAA4B,GAA5B,CAAD,CAFH;AAIA,sBACI,gCAAC,mBAAD;AACI,IAAA,OAAO,eACH,gCAAC,qBAAD,eACQD,IADR;AAEI,MAAA,eAAe,EAAEX,eAFrB;AAGI,MAAA,sBAAsB,EAAEU,sBAH5B;AAII,MAAA,kBAAkB,EAAET,kBAJxB;AAKI,MAAA,iBAAiB,EAAEE,UALvB;AAMI,MAAA,SAAS,EAAEI;AANf,OAFR;AAWI,IAAA,SAAS,EAAC,YAXd;AAYI,IAAA,OAAO,EAAC,OAZZ;AAaI,IAAA,OAAO,EAAEL,OAbb;AAcI,IAAA,eAAe,EAAE,yBAAAA,OAAO;AAAA,aAAIC,UAAU,CAACD,OAAD,CAAd;AAAA,KAd5B;AAeI,IAAA,gBAAgB,YAAKK,SAAL;AAfpB,kBAiBI,gCAAC,iBAAD;AACI,IAAA,GAAG,EAAER,GADT;AAEI,IAAA,KAAK,EAAES,KAFX;AAGI,IAAA,UAAU,EAAEC,UAHhB;AAII,IAAA,OAAO,EAAE;AAAA,aAAMN,UAAU,CAAC,IAAD,CAAhB;AAAA,KAJb;AAKI,IAAA,QAAQ,EAAE,kBAAAU,CAAC,EAAI;AACX;AACA,UAAI,CAACA,CAAC,CAACC,MAAF,CAASN,KAAd,EAAqB;AACjBG,QAAAA,IAAI,CAACI,QAAL,IAAiBJ,IAAI,CAACI,QAAL,EAAjB;AACAd,QAAAA,kBAAkB,CAAC,EAAD,CAAlB;AACH;AACJ,KAXL;AAYI,IAAA,SAAS,EAAEG,SAZf;AAaI,IAAA,KAAK,EAAEC,KAbX;AAcI,IAAA,WAAW,EAAEC;AAdjB,IAjBJ,CADJ;AAoCH;;4BAEcU,kBAAMC,UAAN,CAAiBpB,YAAjB,C;;;AAEfA,YAAY,CAACqB,SAAb,GAAyB;AACrBX,EAAAA,SAAS,EAAEY,sBAAUC,MADA;AAErBd,EAAAA,WAAW,EAAEa,sBAAUC,MAFF;AAGrBZ,EAAAA,KAAK,EAAEW,sBAAUC,MAHI;AAIrBX,EAAAA,UAAU,EAAEU,sBAAUE,IAJD;AAKrBjB,EAAAA,SAAS,EAAEe,sBAAUC,MALA;AAMrBf,EAAAA,KAAK,EAAEc,sBAAUG,MANI;AAOrBtB,EAAAA,eAAe,EAAEmB,sBAAUI;AAPN,CAAzB","sourcesContent":["import React, { useState, useEffect } from 'react';\n\nimport Input from 'antd/es/input';\nimport Popover from 'antd/es/popover';\nimport PropTypes from 'prop-types';\nimport Combogrid from './Combogrid';\n\nfunction VtxCombogrid(props, ref) {\n const [selectedRowKeys, setSelectedRowKeys] = useState(() => {\n return [];\n });\n const [visible, setVisible] = useState(false);\n const {\n className,\n style,\n placeholder,\n prefixCls = 'vtx-combogrid',\n value,\n allowClear = true,\n selectedRowKeys: defaultSelectedRowKeys = [],\n ...rest\n } = props;\n\n useEffect(() => {\n setSelectedRowKeys(defaultSelectedRowKeys);\n }, [defaultSelectedRowKeys.join(',')]);\n\n return (\n <Popover\n content={\n <Combogrid\n {...rest}\n selectedRowKeys={selectedRowKeys}\n defaultSelectedRowKeys={defaultSelectedRowKeys}\n setSelectedRowKeys={setSelectedRowKeys}\n setPopoverVisible={setVisible}\n prefixCls={prefixCls}\n />\n }\n placement=\"bottomLeft\"\n trigger=\"click\"\n visible={visible}\n onVisibleChange={visible => setVisible(visible)}\n overlayClassName={`${prefixCls}-dropdown`}\n >\n <Input\n ref={ref}\n value={value}\n allowClear={allowClear}\n onClick={() => setVisible(true)}\n onChange={e => {\n // 只对清空产生值的变化做处理\n if (!e.target.value) {\n rest.onChange && rest.onChange();\n setSelectedRowKeys([]);\n }\n }}\n className={className}\n style={style}\n placeholder={placeholder}\n />\n </Popover>\n );\n}\n\nexport default React.forwardRef(VtxCombogrid);\n\nVtxCombogrid.propTypes = {\n prefixCls: PropTypes.string,\n placeholder: PropTypes.string,\n value: PropTypes.string,\n allowClear: PropTypes.bool,\n className: PropTypes.string,\n style: PropTypes.object,\n selectedRowKeys: PropTypes.array,\n};\n"],"file":"index.js"}
1
+ {"version":3,"sources":["vtx-combogrid/index.jsx"],"names":["VtxCombogrid","props","ref","selectedRowKeys","setSelectedRowKeys","visible","setVisible","comboRef","className","style","placeholder","prefixCls","value","allowClear","defaultSelectedRowKeys","rest","join","reset","current","clear","e","target","onChange","React","forwardRef","propTypes","PropTypes","string","bool","object","array"],"mappings":";;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,SAASA,YAAT,CAAsBC,KAAtB,EAA6BC,GAA7B,EAAkC;AAAA,kBACgB,qBAAS,YAAM;AACzD,WAAO,EAAP;AACH,GAF6C,CADhB;AAAA;AAAA,MACvBC,eADuB;AAAA,MACNC,kBADM;;AAAA,mBAIA,qBAAS,KAAT,CAJA;AAAA;AAAA,MAIvBC,OAJuB;AAAA,MAIdC,UAJc;;AAK9B,MAAMC,QAAQ,GAAG,oBAAjB;;AAL8B,MAO1BC,SAP0B,GAe1BP,KAf0B,CAO1BO,SAP0B;AAAA,MAQ1BC,KAR0B,GAe1BR,KAf0B,CAQ1BQ,KAR0B;AAAA,MAS1BC,WAT0B,GAe1BT,KAf0B,CAS1BS,WAT0B;AAAA,yBAe1BT,KAf0B,CAU1BU,SAV0B;AAAA,MAU1BA,SAV0B,iCAUd,eAVc;AAAA,MAW1BC,KAX0B,GAe1BX,KAf0B,CAW1BW,KAX0B;AAAA,0BAe1BX,KAf0B,CAY1BY,UAZ0B;AAAA,MAY1BA,UAZ0B,kCAYb,IAZa;AAAA,8BAe1BZ,KAf0B,CAa1BE,eAb0B;AAAA,MAaTW,sBAbS,sCAagB,EAbhB;AAAA,MAcvBC,IAduB,4BAe1Bd,KAf0B;;AAiB9B,wBAAU,YAAM;AACZG,IAAAA,kBAAkB,CAACU,sBAAD,CAAlB;AACH,GAFD,EAEG,CAACA,sBAAsB,CAACE,IAAvB,CAA4B,GAA5B,CAAD,CAFH,EAjB8B,CAqB9B;;AACA,kCAAoBd,GAApB,EAAyB;AAAA,WAAO;AAC5B;AACAe,MAAAA,KAF4B,mBAEpB;AACJV,QAAAA,QAAQ,CAACW,OAAT,IAAoBX,QAAQ,CAACW,OAAT,CAAiBC,KAAjB,EAApB;AACH;AAJ2B,KAAP;AAAA,GAAzB;AAOA,sBACI,gCAAC,mBAAD;AACI,IAAA,OAAO,eACH,gCAAC,qBAAD,eACQJ,IADR;AAEI,MAAA,eAAe,EAAEZ,eAFrB;AAGI,MAAA,sBAAsB,EAAEW,sBAH5B;AAII,MAAA,kBAAkB,EAAEV,kBAJxB;AAKI,MAAA,iBAAiB,EAAEE,UALvB;AAMI,MAAA,SAAS,EAAEK,SANf;AAOI,MAAA,mBAAmB,EAAEJ;AAPzB,OAFR;AAYI,IAAA,SAAS,EAAC,YAZd;AAaI,IAAA,OAAO,EAAC,OAbZ;AAcI,IAAA,OAAO,EAAEF,OAdb;AAeI,IAAA,eAAe,EAAE,yBAAAA,OAAO;AAAA,aAAIC,UAAU,CAACD,OAAD,CAAd;AAAA,KAf5B;AAgBI,IAAA,gBAAgB,YAAKM,SAAL;AAhBpB,kBAkBI,gCAAC,iBAAD;AACI,IAAA,GAAG,EAAET,GADT;AAEI,IAAA,KAAK,EAAEU,KAFX;AAGI,IAAA,UAAU,EAAEC,UAHhB;AAII,IAAA,OAAO,EAAE;AAAA,aAAMP,UAAU,CAAC,IAAD,CAAhB;AAAA,KAJb;AAKI,IAAA,QAAQ,EAAE,kBAAAc,CAAC,EAAI;AACX;AACA,UAAI,CAACA,CAAC,CAACC,MAAF,CAAST,KAAd,EAAqB;AACjBG,QAAAA,IAAI,CAACO,QAAL,IAAiBP,IAAI,CAACO,QAAL,EAAjB;AACAlB,QAAAA,kBAAkB,CAAC,EAAD,CAAlB;AACH;AACJ,KAXL;AAYI,IAAA,SAAS,EAAEI,SAZf;AAaI,IAAA,KAAK,EAAEC,KAbX;AAcI,IAAA,WAAW,EAAEC;AAdjB,IAlBJ,CADJ;AAqCH;;4BAEca,kBAAMC,UAAN,CAAiBxB,YAAjB,C;;;AAEfA,YAAY,CAACyB,SAAb,GAAyB;AACrBd,EAAAA,SAAS,EAAEe,sBAAUC,MADA;AAErBjB,EAAAA,WAAW,EAAEgB,sBAAUC,MAFF;AAGrBf,EAAAA,KAAK,EAAEc,sBAAUC,MAHI;AAIrBd,EAAAA,UAAU,EAAEa,sBAAUE,IAJD;AAKrBpB,EAAAA,SAAS,EAAEkB,sBAAUC,MALA;AAMrBlB,EAAAA,KAAK,EAAEiB,sBAAUG,MANI;AAOrB1B,EAAAA,eAAe,EAAEuB,sBAAUI;AAPN,CAAzB","sourcesContent":["import React, { useState, useEffect, useRef, useImperativeHandle } from 'react';\n\nimport Input from 'antd/es/input';\nimport Popover from 'antd/es/popover';\nimport PropTypes from 'prop-types';\nimport Combogrid from './Combogrid';\n\nfunction VtxCombogrid(props, ref) {\n const [selectedRowKeys, setSelectedRowKeys] = useState(() => {\n return [];\n });\n const [visible, setVisible] = useState(false);\n const comboRef = useRef();\n const {\n className,\n style,\n placeholder,\n prefixCls = 'vtx-combogrid',\n value,\n allowClear = true,\n selectedRowKeys: defaultSelectedRowKeys = [],\n ...rest\n } = props;\n\n useEffect(() => {\n setSelectedRowKeys(defaultSelectedRowKeys);\n }, [defaultSelectedRowKeys.join(',')]);\n\n // 暴露给父组件使用\n useImperativeHandle(ref, () => ({\n // 重置\n reset() {\n comboRef.current && comboRef.current.clear();\n },\n }));\n\n return (\n <Popover\n content={\n <Combogrid\n {...rest}\n selectedRowKeys={selectedRowKeys}\n defaultSelectedRowKeys={defaultSelectedRowKeys}\n setSelectedRowKeys={setSelectedRowKeys}\n setPopoverVisible={setVisible}\n prefixCls={prefixCls}\n wrappedComponentRef={comboRef}\n />\n }\n placement=\"bottomLeft\"\n trigger=\"click\"\n visible={visible}\n onVisibleChange={visible => setVisible(visible)}\n overlayClassName={`${prefixCls}-dropdown`}\n >\n <Input\n ref={ref}\n value={value}\n allowClear={allowClear}\n onClick={() => setVisible(true)}\n onChange={e => {\n // 只对清空产生值的变化做处理\n if (!e.target.value) {\n rest.onChange && rest.onChange();\n setSelectedRowKeys([]);\n }\n }}\n className={className}\n style={style}\n placeholder={placeholder}\n />\n </Popover>\n );\n}\n\nexport default React.forwardRef(VtxCombogrid);\n\nVtxCombogrid.propTypes = {\n prefixCls: PropTypes.string,\n placeholder: PropTypes.string,\n value: PropTypes.string,\n allowClear: PropTypes.bool,\n className: PropTypes.string,\n style: PropTypes.object,\n selectedRowKeys: PropTypes.array,\n};\n"],"file":"index.js"}
@@ -19,6 +19,8 @@ var _icon = _interopRequireDefault(require("antd/es/icon"));
19
19
 
20
20
  var _tooltip = _interopRequireDefault(require("antd/es/tooltip"));
21
21
 
22
+ var _classnames = _interopRequireDefault(require("classnames"));
23
+
22
24
  var _context = require("./context");
23
25
 
24
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -45,7 +47,8 @@ function FormItem(props) {
45
47
 
46
48
  var _useContext = (0, _react.useContext)(_context.StoreCtx),
47
49
  labelColSpan = _useContext.labelColSpan,
48
- cols = _useContext.cols;
50
+ cols = _useContext.cols,
51
+ mode = _useContext.mode;
49
52
 
50
53
  var labelRender = label;
51
54
 
@@ -62,7 +65,9 @@ function FormItem(props) {
62
65
  return /*#__PURE__*/_react["default"].createElement(_col["default"], {
63
66
  span: SPAN * weights / cols
64
67
  }, /*#__PURE__*/_react["default"].createElement(_form["default"].Item, _extends({
65
- className: "vtx-form-item",
68
+ className: (0, _classnames["default"])('vtx-form-item', {
69
+ 'vtx-form-item--view': mode === 'view'
70
+ }),
66
71
  labelCol: {
67
72
  span: conversionLabelColSpan
68
73
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-form-layout/FormItem.jsx"],"names":["SPAN","FormItem","props","weights","tip","label","rest","StoreCtx","labelColSpan","cols","labelRender","conversionLabelColSpan","wrapperColSpan","span","children","propTypes","PropTypes","number","node","oneOfType","string"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;AAEA;AACA,IAAMA,IAAI,GAAG,EAAb;;AAEe,SAASC,QAAT,CAAkBC,KAAlB,EAAyB;AAAA,uBACSA,KADT,CAC5BC,OAD4B;AAAA,MAC5BA,OAD4B,+BAClB,CADkB;AAAA,MACfC,GADe,GACSF,KADT,CACfE,GADe;AAAA,MACVC,KADU,GACSH,KADT,CACVG,KADU;AAAA,MACAC,IADA,4BACSJ,KADT;;AAAA,oBAEL,uBAAWK,iBAAX,CAFK;AAAA,MAE5BC,YAF4B,eAE5BA,YAF4B;AAAA,MAEdC,IAFc,eAEdA,IAFc;;AAIpC,MAAIC,WAAW,GAAGL,KAAlB;;AACA,MAAID,GAAJ,EAAS;AACLM,IAAAA,WAAW,gBACP,8CACKL,KADL,uBAEI,gCAAC,mBAAD;AAAS,MAAA,KAAK,EAAED;AAAhB,oBACI,gCAAC,gBAAD;AAAM,MAAA,IAAI,EAAC;AAAX,MADJ,CAFJ,CADJ;AAQH;;AAED,MAAMO,sBAAsB,GAAGH,YAAY,GAAGL,OAA9C;AACA,MAAMS,cAAc,GAAGZ,IAAI,GAAGW,sBAA9B;AACA,sBACI,gCAAC,eAAD;AAAK,IAAA,IAAI,EAAGX,IAAI,GAAGG,OAAR,GAAmBM;AAA9B,kBACI,gCAAC,gBAAD,CAAM,IAAN;AACI,IAAA,SAAS,EAAC,eADd;AAEI,IAAA,QAAQ,EAAE;AAAEI,MAAAA,IAAI,EAAEF;AAAR,KAFd;AAGI,IAAA,UAAU,EAAE;AAAEE,MAAAA,IAAI,EAAED;AAAR,KAHhB;AAII,IAAA,KAAK,EAAEF;AAJX,KAKQJ,IALR,GAOKJ,KAAK,CAACY,QAPX,CADJ,CADJ;AAaH;;AAEDb,QAAQ,CAACc,SAAT,GAAqB;AACjBZ,EAAAA,OAAO,EAAEa,sBAAUC,MADF;AAEjBH,EAAAA,QAAQ,EAAEE,sBAAUE,IAFH;AAGjBd,EAAAA,GAAG,EAAEY,sBAAUG,SAAV,CAAoB,CAACH,sBAAUI,MAAX,EAAmBJ,sBAAUE,IAA7B,CAApB,CAHY;AAIjBb,EAAAA,KAAK,EAAEW,sBAAUG,SAAV,CAAoB,CAACH,sBAAUI,MAAX,EAAmBJ,sBAAUE,IAA7B,CAApB;AAJU,CAArB","sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport Form from 'antd/es/form';\nimport Col from 'antd/es/col';\nimport Icon from 'antd/es/icon';\nimport Tooltip from 'antd/es/tooltip';\nimport { StoreCtx } from './context';\n\n// 24 栅格\nconst SPAN = 24;\n\nexport default function FormItem(props) {\n const { weights = 1, tip, label, ...rest } = props;\n const { labelColSpan, cols } = useContext(StoreCtx);\n\n let labelRender = label;\n if (tip) {\n labelRender = (\n <span>\n {label}&nbsp;\n <Tooltip title={tip}>\n <Icon type=\"question-circle-o\" />\n </Tooltip>\n </span>\n );\n }\n\n const conversionLabelColSpan = labelColSpan / weights;\n const wrapperColSpan = SPAN - conversionLabelColSpan;\n return (\n <Col span={(SPAN * weights) / cols}>\n <Form.Item\n className=\"vtx-form-item\"\n labelCol={{ span: conversionLabelColSpan }}\n wrapperCol={{ span: wrapperColSpan }}\n label={labelRender}\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","tip","label","rest","StoreCtx","labelColSpan","cols","mode","labelRender","conversionLabelColSpan","wrapperColSpan","span","children","propTypes","PropTypes","number","node","oneOfType","string"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;AAEA;AACA,IAAMA,IAAI,GAAG,EAAb;;AAEe,SAASC,QAAT,CAAkBC,KAAlB,EAAyB;AAAA,uBACSA,KADT,CAC5BC,OAD4B;AAAA,MAC5BA,OAD4B,+BAClB,CADkB;AAAA,MACfC,GADe,GACSF,KADT,CACfE,GADe;AAAA,MACVC,KADU,GACSH,KADT,CACVG,KADU;AAAA,MACAC,IADA,4BACSJ,KADT;;AAAA,oBAEC,uBAAWK,iBAAX,CAFD;AAAA,MAE5BC,YAF4B,eAE5BA,YAF4B;AAAA,MAEdC,IAFc,eAEdA,IAFc;AAAA,MAERC,IAFQ,eAERA,IAFQ;;AAIpC,MAAIC,WAAW,GAAGN,KAAlB;;AACA,MAAID,GAAJ,EAAS;AACLO,IAAAA,WAAW,gBACP,8CACKN,KADL,uBAEI,gCAAC,mBAAD;AAAS,MAAA,KAAK,EAAED;AAAhB,oBACI,gCAAC,gBAAD;AAAM,MAAA,IAAI,EAAC;AAAX,MADJ,CAFJ,CADJ;AAQH;;AAED,MAAMQ,sBAAsB,GAAGJ,YAAY,GAAGL,OAA9C;AACA,MAAMU,cAAc,GAAGb,IAAI,GAAGY,sBAA9B;AACA,sBACI,gCAAC,eAAD;AAAK,IAAA,IAAI,EAAGZ,IAAI,GAAGG,OAAR,GAAmBM;AAA9B,kBACI,gCAAC,gBAAD,CAAM,IAAN;AACI,IAAA,SAAS,EAAE,4BAAW,eAAX,EAA4B;AAAE,6BAAuBC,IAAI,KAAK;AAAlC,KAA5B,CADf;AAEI,IAAA,QAAQ,EAAE;AAAEI,MAAAA,IAAI,EAAEF;AAAR,KAFd;AAGI,IAAA,UAAU,EAAE;AAAEE,MAAAA,IAAI,EAAED;AAAR,KAHhB;AAII,IAAA,KAAK,EAAEF;AAJX,KAKQL,IALR,GAOKJ,KAAK,CAACa,QAPX,CADJ,CADJ;AAaH;;AAEDd,QAAQ,CAACe,SAAT,GAAqB;AACjBb,EAAAA,OAAO,EAAEc,sBAAUC,MADF;AAEjBH,EAAAA,QAAQ,EAAEE,sBAAUE,IAFH;AAGjBf,EAAAA,GAAG,EAAEa,sBAAUG,SAAV,CAAoB,CAACH,sBAAUI,MAAX,EAAmBJ,sBAAUE,IAA7B,CAApB,CAHY;AAIjBd,EAAAA,KAAK,EAAEY,sBAAUG,SAAV,CAAoB,CAACH,sBAAUI,MAAX,EAAmBJ,sBAAUE,IAA7B,CAApB;AAJU,CAArB","sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport Form from 'antd/es/form';\nimport Col from 'antd/es/col';\nimport Icon from 'antd/es/icon';\nimport Tooltip from 'antd/es/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, tip, label, ...rest } = props;\n const { labelColSpan, cols, mode } = useContext(StoreCtx);\n\n let labelRender = label;\n if (tip) {\n labelRender = (\n <span>\n {label}&nbsp;\n <Tooltip title={tip}>\n <Icon type=\"question-circle-o\" />\n </Tooltip>\n </span>\n );\n }\n\n const conversionLabelColSpan = labelColSpan / weights;\n const wrapperColSpan = SPAN - conversionLabelColSpan;\n return (\n <Col span={(SPAN * weights) / cols}>\n <Form.Item\n className={classnames('vtx-form-item', { 'vtx-form-item--view': mode === 'view' })}\n labelCol={{ span: conversionLabelColSpan }}\n wrapperCol={{ span: wrapperColSpan }}\n label={labelRender}\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"}
@@ -21,10 +21,12 @@ function VtxFormLayout(props) {
21
21
  var _props$cols = props.cols,
22
22
  cols = _props$cols === void 0 ? 2 : _props$cols,
23
23
  _props$labelColSpan = props.labelColSpan,
24
- labelColSpan = _props$labelColSpan === void 0 ? 8 : _props$labelColSpan;
24
+ labelColSpan = _props$labelColSpan === void 0 ? 8 : _props$labelColSpan,
25
+ mode = props.mode;
25
26
  var store = {
26
27
  cols: cols,
27
- labelColSpan: labelColSpan
28
+ labelColSpan: labelColSpan,
29
+ mode: mode
28
30
  };
29
31
  return /*#__PURE__*/_react["default"].createElement(_context.StoreCtx.Provider, {
30
32
  value: store
@@ -34,6 +36,7 @@ function VtxFormLayout(props) {
34
36
  VtxFormLayout.propTypes = {
35
37
  cols: _propTypes["default"].number,
36
38
  labelColSpan: _propTypes["default"].number,
39
+ mode: _propTypes["default"].oneOf(['view']),
37
40
  children: _propTypes["default"].node
38
41
  };
39
42
  VtxFormLayout.Row = _row["default"];
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-form-layout/index.jsx"],"names":["VtxFormLayout","props","cols","labelColSpan","store","children","propTypes","PropTypes","number","node","Row","FormItem"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,SAASA,aAAT,CAAuBC,KAAvB,EAA8B;AAAA,oBACaA,KADb,CAClBC,IADkB;AAAA,MAClBA,IADkB,4BACX,CADW;AAAA,4BACaD,KADb,CACRE,YADQ;AAAA,MACRA,YADQ,oCACO,CADP;AAE1B,MAAMC,KAAK,GAAG;AACVF,IAAAA,IAAI,EAAJA,IADU;AAEVC,IAAAA,YAAY,EAAZA;AAFU,GAAd;AAIA,sBAAO,gCAAC,iBAAD,CAAU,QAAV;AAAmB,IAAA,KAAK,EAAEC;AAA1B,KAAkCH,KAAK,CAACI,QAAxC,CAAP;AACH;;AAEDL,aAAa,CAACM,SAAd,GAA0B;AACtBJ,EAAAA,IAAI,EAAEK,sBAAUC,MADM;AAEtBL,EAAAA,YAAY,EAAEI,sBAAUC,MAFF;AAGtBH,EAAAA,QAAQ,EAAEE,sBAAUE;AAHE,CAA1B;AAMAT,aAAa,CAACU,GAAd,GAAoBA,eAApB;AACAV,aAAa,CAACW,QAAd,GAAyBA,oBAAzB;eAEeX,a","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Row from 'antd/es/row';\nimport { StoreCtx } from './context';\nimport FormItem from './FormItem';\n\nfunction VtxFormLayout(props) {\n const { cols = 2, labelColSpan = 8 } = props;\n const store = {\n cols,\n labelColSpan,\n };\n return <StoreCtx.Provider value={store}>{props.children}</StoreCtx.Provider>;\n}\n\nVtxFormLayout.propTypes = {\n cols: PropTypes.number,\n labelColSpan: PropTypes.number,\n children: PropTypes.node,\n};\n\nVtxFormLayout.Row = Row;\nVtxFormLayout.FormItem = FormItem;\n\nexport default VtxFormLayout;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["vtx-form-layout/index.jsx"],"names":["VtxFormLayout","props","cols","labelColSpan","mode","store","children","propTypes","PropTypes","number","oneOf","node","Row","FormItem"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,SAASA,aAAT,CAAuBC,KAAvB,EAA8B;AAAA,oBACmBA,KADnB,CAClBC,IADkB;AAAA,MAClBA,IADkB,4BACX,CADW;AAAA,4BACmBD,KADnB,CACRE,YADQ;AAAA,MACRA,YADQ,oCACO,CADP;AAAA,MACUC,IADV,GACmBH,KADnB,CACUG,IADV;AAE1B,MAAMC,KAAK,GAAG;AACVH,IAAAA,IAAI,EAAJA,IADU;AAEVC,IAAAA,YAAY,EAAZA,YAFU;AAGVC,IAAAA,IAAI,EAAJA;AAHU,GAAd;AAKA,sBAAO,gCAAC,iBAAD,CAAU,QAAV;AAAmB,IAAA,KAAK,EAAEC;AAA1B,KAAkCJ,KAAK,CAACK,QAAxC,CAAP;AACH;;AAEDN,aAAa,CAACO,SAAd,GAA0B;AACtBL,EAAAA,IAAI,EAAEM,sBAAUC,MADM;AAEtBN,EAAAA,YAAY,EAAEK,sBAAUC,MAFF;AAGtBL,EAAAA,IAAI,EAAEI,sBAAUE,KAAV,CAAgB,CAAC,MAAD,CAAhB,CAHgB;AAItBJ,EAAAA,QAAQ,EAAEE,sBAAUG;AAJE,CAA1B;AAOAX,aAAa,CAACY,GAAd,GAAoBA,eAApB;AACAZ,aAAa,CAACa,QAAd,GAAyBA,oBAAzB;eAEeb,a","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Row from 'antd/es/row';\nimport { StoreCtx } from './context';\nimport FormItem from './FormItem';\n\nfunction VtxFormLayout(props) {\n const { cols = 2, labelColSpan = 8, mode } = props;\n const store = {\n cols,\n labelColSpan,\n mode,\n };\n return <StoreCtx.Provider value={store}>{props.children}</StoreCtx.Provider>;\n}\n\nVtxFormLayout.propTypes = {\n cols: PropTypes.number,\n labelColSpan: PropTypes.number,\n mode: PropTypes.oneOf(['view']),\n children: PropTypes.node,\n};\n\nVtxFormLayout.Row = Row;\nVtxFormLayout.FormItem = FormItem;\n\nexport default VtxFormLayout;\n"],"file":"index.js"}
@@ -1,3 +1,6 @@
1
1
  .vtx-form-item .ant-form-item-label {
2
2
  text-overflow: ellipsis;
3
3
  }
4
+ .vtx-form-item--view {
5
+ margin-bottom: 0;
6
+ }
@@ -2,4 +2,7 @@
2
2
  .ant-form-item-label {
3
3
  text-overflow: ellipsis;
4
4
  }
5
+ &--view {
6
+ margin-bottom: 0;
7
+ }
5
8
  }
@@ -81,6 +81,7 @@ function VtxImage(props) {
81
81
  className = props.className,
82
82
  style = props.style,
83
83
  src = props.src,
84
+ thumb = props.thumb,
84
85
  alt = props.alt,
85
86
  _props$emptyImageSrc = props.emptyImageSrc,
86
87
  emptyImageSrc = _props$emptyImageSrc === void 0 ? defaultEmptyImageSrc : _props$emptyImageSrc,
@@ -114,7 +115,7 @@ function VtxImage(props) {
114
115
  }, [src]); // 图片props属性
115
116
 
116
117
  var imgProps = {
117
- src: src,
118
+ src: thumb || src,
118
119
  className: className,
119
120
  style: style,
120
121
  alt: alt,
@@ -187,7 +188,7 @@ function VtxImage(props) {
187
188
  }
188
189
  }
189
190
 
190
- var imgRender = /*#__PURE__*/_react["default"].createElement("img", imgProps); // 缩略图
191
+ var imgRender = /*#__PURE__*/_react["default"].createElement("img", imgProps); // 缩放
191
192
 
192
193
 
193
194
  if (src && !isError && aspectFit) {
@@ -213,6 +214,7 @@ VtxImage.propTypes = {
213
214
  style: _propTypes["default"].object,
214
215
  preview: _propTypes["default"].bool,
215
216
  src: _propTypes["default"].string,
217
+ thumb: _propTypes["default"].string,
216
218
  alt: _propTypes["default"].string,
217
219
  emptyImageSrc: _propTypes["default"].string,
218
220
  errorImageSrc: _propTypes["default"].string,
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-image/Image.jsx"],"names":["defaultEmptyImageSrc","defaultErrorImageSrc","defaultEmptyText","defaultErrorText","uuid","VtxImage","props","React","useState","currentId","isError","isEmptyImageError","isErrorImageError","viewerVisible","visible","photo","undefined","state","setState","prefixCls","preview","className","style","src","alt","emptyImageSrc","errorImageSrc","emptyText","errorText","onClick","aspectFit","context","isPreviewGroup","setCurrent","setGroupShowPreview","setShowPreview","registerImage","id","imgProps","onError","imgRender","propTypes","PropTypes","string","object","bool","func","setImageConfig","options","PreviewGroup","VtxImagePreview","Preview"],"mappings":"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","sourcesContent":["import React, { useEffect, useContext } from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport Preview from './Preview';\nimport PreviewGroup, { context } from './PreviewGroup';\nimport useSet from '../_util/useSet';\n\nlet defaultEmptyImageSrc = '';\nlet defaultErrorImageSrc = '';\nlet defaultEmptyText = '暂无图片';\nlet defaultErrorText = '图片出错';\n\nlet uuid = 0;\n\nfunction VtxImage(props) {\n const [currentId] = React.useState(() => {\n uuid += 1;\n return uuid;\n });\n\n const [state, setState] = useSet({\n isError: false, // 图片是否加载失败\n isEmptyImageError: false, // 空白图片是否加载失败\n isErrorImageError: false, // 报错图片是否加载失败\n viewerVisible: false, // 是否查看\n visible: false,\n photo: undefined,\n });\n const { isError, isEmptyImageError, isErrorImageError, visible, photo } = state;\n\n const {\n prefixCls = 'vtx-image',\n preview = true,\n className,\n style,\n src,\n alt,\n emptyImageSrc = defaultEmptyImageSrc,\n errorImageSrc = defaultErrorImageSrc,\n emptyText = defaultEmptyText,\n errorText = defaultErrorText,\n onClick,\n aspectFit,\n } = props;\n\n const {\n isPreviewGroup,\n setCurrent,\n setShowPreview: setGroupShowPreview,\n registerImage,\n } = useContext(context);\n\n useEffect(() => {\n setState({\n isError: false,\n });\n if (isPreviewGroup && preview) {\n registerImage({ id: currentId, src, alt });\n }\n }, [src]);\n\n // 图片props属性\n let imgProps = {\n src,\n className,\n style,\n alt,\n onClick: () => {\n if (!src || isError) {\n return null;\n }\n onClick && onClick();\n if (preview) {\n if (isPreviewGroup) {\n setCurrent(currentId);\n setGroupShowPreview(true);\n } else {\n setState({\n visible: true,\n photo: {\n src,\n alt,\n },\n });\n }\n }\n },\n onError: () => {\n setState({\n isError: true,\n });\n },\n };\n\n // 无图片\n if (!src) {\n //有替代图片\n if (emptyImageSrc && !isEmptyImageError) {\n imgProps.src = emptyImageSrc;\n imgProps.onError = () => {\n setState({ isEmptyImageError: true });\n };\n } else {\n // 没有替代图片或替代图片无法加载\n return (\n <div className={`${prefixCls}-nodata`} style={style}>\n <p>{emptyText}</p>\n </div>\n );\n }\n }\n\n // 图片出错\n if (isError) {\n if (errorImageSrc && !isErrorImageError) {\n imgProps['data-error-img'] = src;\n imgProps.src = errorImageSrc;\n imgProps.onError = () => {\n setState({ isErrorImageError: true });\n };\n } else {\n // 无法加载报错图片\n return (\n <div className={`${prefixCls}-error`} data-error-img={src} style={style}>\n <p>{errorText}</p>\n </div>\n );\n }\n }\n\n let imgRender = <img {...imgProps} />;\n // 缩略图\n if (src && !isError && aspectFit) {\n imgRender = (\n <div\n className={classnames(`${prefixCls}-aspectFit`, {\n [`${prefixCls}-preview`]: preview,\n })}\n >\n <img {...imgProps} />\n </div>\n );\n }\n return (\n <>\n {imgRender}\n {!isPreviewGroup && preview && (\n <Preview\n visible={visible}\n photo={photo}\n onClose={() => setState({ visible: false })}\n />\n )}\n </>\n );\n}\n\nVtxImage.propTypes = {\n prefixCls: PropTypes.string,\n className: PropTypes.string,\n style: PropTypes.object,\n preview: PropTypes.bool,\n src: PropTypes.string,\n alt: PropTypes.string,\n emptyImageSrc: PropTypes.string,\n errorImageSrc: PropTypes.string,\n emptyText: PropTypes.string,\n errorText: PropTypes.string,\n onClick: PropTypes.func,\n aspectFit: PropTypes.bool,\n};\n\nVtxImage.setImageConfig = setImageConfig;\n\nfunction setImageConfig(options) {\n const { emptyImageSrc, errorImageSrc, emptyText, errorText } = options;\n\n if (emptyImageSrc !== undefined) {\n defaultEmptyImageSrc = emptyImageSrc;\n }\n if (errorImageSrc !== undefined) {\n defaultErrorImageSrc = errorImageSrc;\n }\n if (emptyText !== undefined) {\n defaultEmptyText = emptyText;\n }\n if (errorText !== undefined) {\n defaultErrorText = errorText;\n }\n}\n\nVtxImage.PreviewGroup = PreviewGroup;\nVtxImage.VtxImagePreview = Preview;\n\nexport default VtxImage;\n"],"file":"Image.js"}
1
+ {"version":3,"sources":["vtx-image/Image.jsx"],"names":["defaultEmptyImageSrc","defaultErrorImageSrc","defaultEmptyText","defaultErrorText","uuid","VtxImage","props","React","useState","currentId","isError","isEmptyImageError","isErrorImageError","viewerVisible","visible","photo","undefined","state","setState","prefixCls","preview","className","style","src","thumb","alt","emptyImageSrc","errorImageSrc","emptyText","errorText","onClick","aspectFit","context","isPreviewGroup","setCurrent","setGroupShowPreview","setShowPreview","registerImage","id","imgProps","onError","imgRender","propTypes","PropTypes","string","object","bool","func","setImageConfig","options","PreviewGroup","VtxImagePreview","Preview"],"mappings":"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","sourcesContent":["import React, { useEffect, useContext } from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport Preview from './Preview';\nimport PreviewGroup, { context } from './PreviewGroup';\nimport useSet from '../_util/useSet';\n\nlet defaultEmptyImageSrc = '';\nlet defaultErrorImageSrc = '';\nlet defaultEmptyText = '暂无图片';\nlet defaultErrorText = '图片出错';\n\nlet uuid = 0;\n\nfunction VtxImage(props) {\n const [currentId] = React.useState(() => {\n uuid += 1;\n return uuid;\n });\n\n const [state, setState] = useSet({\n isError: false, // 图片是否加载失败\n isEmptyImageError: false, // 空白图片是否加载失败\n isErrorImageError: false, // 报错图片是否加载失败\n viewerVisible: false, // 是否查看\n visible: false,\n photo: undefined,\n });\n const { isError, isEmptyImageError, isErrorImageError, visible, photo } = state;\n\n const {\n prefixCls = 'vtx-image',\n preview = true,\n className,\n style,\n src,\n thumb,\n alt,\n emptyImageSrc = defaultEmptyImageSrc,\n errorImageSrc = defaultErrorImageSrc,\n emptyText = defaultEmptyText,\n errorText = defaultErrorText,\n onClick,\n aspectFit,\n } = props;\n\n const {\n isPreviewGroup,\n setCurrent,\n setShowPreview: setGroupShowPreview,\n registerImage,\n } = useContext(context);\n\n useEffect(() => {\n setState({\n isError: false,\n });\n if (isPreviewGroup && preview) {\n registerImage({ id: currentId, src, alt });\n }\n }, [src]);\n\n // 图片props属性\n let imgProps = {\n src: thumb || src,\n className,\n style,\n alt,\n onClick: () => {\n if (!src || isError) {\n return null;\n }\n onClick && onClick();\n if (preview) {\n if (isPreviewGroup) {\n setCurrent(currentId);\n setGroupShowPreview(true);\n } else {\n setState({\n visible: true,\n photo: {\n src,\n alt,\n },\n });\n }\n }\n },\n onError: () => {\n setState({\n isError: true,\n });\n },\n };\n\n // 无图片\n if (!src) {\n //有替代图片\n if (emptyImageSrc && !isEmptyImageError) {\n imgProps.src = emptyImageSrc;\n imgProps.onError = () => {\n setState({ isEmptyImageError: true });\n };\n } else {\n // 没有替代图片或替代图片无法加载\n return (\n <div className={`${prefixCls}-nodata`} style={style}>\n <p>{emptyText}</p>\n </div>\n );\n }\n }\n\n // 图片出错\n if (isError) {\n if (errorImageSrc && !isErrorImageError) {\n imgProps['data-error-img'] = src;\n imgProps.src = errorImageSrc;\n imgProps.onError = () => {\n setState({ isErrorImageError: true });\n };\n } else {\n // 无法加载报错图片\n return (\n <div className={`${prefixCls}-error`} data-error-img={src} style={style}>\n <p>{errorText}</p>\n </div>\n );\n }\n }\n\n let imgRender = <img {...imgProps} />;\n // 缩放\n if (src && !isError && aspectFit) {\n imgRender = (\n <div\n className={classnames(`${prefixCls}-aspectFit`, {\n [`${prefixCls}-preview`]: preview,\n })}\n >\n <img {...imgProps} />\n </div>\n );\n }\n return (\n <>\n {imgRender}\n {!isPreviewGroup && preview && (\n <Preview\n visible={visible}\n photo={photo}\n onClose={() => setState({ visible: false })}\n />\n )}\n </>\n );\n}\n\nVtxImage.propTypes = {\n prefixCls: PropTypes.string,\n className: PropTypes.string,\n style: PropTypes.object,\n preview: PropTypes.bool,\n src: PropTypes.string,\n thumb: PropTypes.string,\n alt: PropTypes.string,\n emptyImageSrc: PropTypes.string,\n errorImageSrc: PropTypes.string,\n emptyText: PropTypes.string,\n errorText: PropTypes.string,\n onClick: PropTypes.func,\n aspectFit: PropTypes.bool,\n};\n\nVtxImage.setImageConfig = setImageConfig;\n\nfunction setImageConfig(options) {\n const { emptyImageSrc, errorImageSrc, emptyText, errorText } = options;\n\n if (emptyImageSrc !== undefined) {\n defaultEmptyImageSrc = emptyImageSrc;\n }\n if (errorImageSrc !== undefined) {\n defaultErrorImageSrc = errorImageSrc;\n }\n if (emptyText !== undefined) {\n defaultEmptyText = emptyText;\n }\n if (errorText !== undefined) {\n defaultErrorText = errorText;\n }\n}\n\nVtxImage.PreviewGroup = PreviewGroup;\nVtxImage.VtxImagePreview = Preview;\n\nexport default VtxImage;\n"],"file":"Image.js"}
@@ -31,7 +31,7 @@ var useLength = function useLength() {
31
31
  setLen = _useState2[1];
32
32
 
33
33
  (0, _react.useEffect)(function () {
34
- showCount && setLen(String(val).length);
34
+ showCount && setLen(String(val !== null && val !== void 0 ? val : '').length);
35
35
  }, [val]);
36
36
  return len;
37
37
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-input/useLength.js"],"names":["useLength","val","showCount","len","setLen","String","length"],"mappings":";;;;;;;AAAA;;;;;;;;;;;;;;AAEA,IAAMA,SAAS,GAAG,SAAZA,SAAY,GAAkC;AAAA,MAAjCC,GAAiC,uEAA3B,EAA2B;;AAAA,iFAAP,EAAO;AAAA,MAArBC,SAAqB,QAArBA,SAAqB;;AAAA,kBAC1B,qBAAS,CAAT,CAD0B;AAAA;AAAA,MACzCC,GADyC;AAAA,MACpCC,MADoC;;AAEhD,wBAAU,YAAM;AACZF,IAAAA,SAAS,IAAIE,MAAM,CAACC,MAAM,CAACJ,GAAD,CAAN,CAAYK,MAAb,CAAnB;AACH,GAFD,EAEG,CAACL,GAAD,CAFH;AAGA,SAAOE,GAAP;AACH,CAND;;eAQeH,S","sourcesContent":["import { useState, useEffect } from 'react';\n\nconst useLength = (val = '', { showCount } = {}) => {\n const [len, setLen] = useState(0);\n useEffect(() => {\n showCount && setLen(String(val).length);\n }, [val]);\n return len;\n};\n\nexport default useLength;\n"],"file":"useLength.js"}
1
+ {"version":3,"sources":["vtx-input/useLength.js"],"names":["useLength","val","showCount","len","setLen","String","length"],"mappings":";;;;;;;AAAA;;;;;;;;;;;;;;AAEA,IAAMA,SAAS,GAAG,SAAZA,SAAY,GAAkC;AAAA,MAAjCC,GAAiC,uEAA3B,EAA2B;;AAAA,iFAAP,EAAO;AAAA,MAArBC,SAAqB,QAArBA,SAAqB;;AAAA,kBAC1B,qBAAS,CAAT,CAD0B;AAAA;AAAA,MACzCC,GADyC;AAAA,MACpCC,MADoC;;AAEhD,wBAAU,YAAM;AACZF,IAAAA,SAAS,IAAIE,MAAM,CAACC,MAAM,CAACJ,GAAD,aAACA,GAAD,cAACA,GAAD,GAAQ,EAAR,CAAN,CAAkBK,MAAnB,CAAnB;AACH,GAFD,EAEG,CAACL,GAAD,CAFH;AAGA,SAAOE,GAAP;AACH,CAND;;eAQeH,S","sourcesContent":["import { useState, useEffect } from 'react';\n\nconst useLength = (val = '', { showCount } = {}) => {\n const [len, setLen] = useState(0);\n useEffect(() => {\n showCount && setLen(String(val ?? '').length);\n }, [val]);\n return len;\n};\n\nexport default useLength;\n"],"file":"useLength.js"}
@@ -88,7 +88,9 @@ var VtxSelect = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
88
88
  showAll = _props$showAll === void 0 ? true : _props$showAll,
89
89
  selectStyle = props.selectStyle,
90
90
  _props$selectAll = props.selectAll,
91
- selectAll = _props$selectAll === void 0 ? true : _props$selectAll;
91
+ selectAll = _props$selectAll === void 0 ? true : _props$selectAll,
92
+ _props$defaultBindBod = props.defaultBindBodyToPopupContainer,
93
+ defaultBindBodyToPopupContainer = _props$defaultBindBod === void 0 ? true : _props$defaultBindBod;
92
94
  (0, _react.useLayoutEffect)(function () {
93
95
  mode === 'multiple' && setPopWidth(elRef.current.clientWidth);
94
96
  }, [(_elRef$current = elRef.current) === null || _elRef$current === void 0 ? void 0 : _elRef$current.clientWidth]);
@@ -181,14 +183,14 @@ var VtxSelect = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
181
183
  paddingRight: (mode == 'multiple' || mode == 'tags') && showAll ? 32 : 0
182
184
  })
183
185
  }, /*#__PURE__*/_react["default"].createElement(_select["default"], _extends({
184
- ref: ref
186
+ ref: ref,
187
+ getPopupContainer: function getPopupContainer(triggerNode) {
188
+ return defaultBindBodyToPopupContainer ? document.body : triggerNode;
189
+ }
185
190
  }, newProps, {
186
191
  style: _objectSpread({
187
192
  width: '100%'
188
- }, selectStyle),
189
- getPopupContainer: function getPopupContainer() {
190
- return document.getElementById(elId.current);
191
- }
193
+ }, selectStyle)
192
194
  }), props.children), (mode == 'multiple' || mode == 'tags') && showAll ? /*#__PURE__*/_react["default"].createElement(_popover["default"], {
193
195
  content: getContent(),
194
196
  placement: "bottomRight",
@@ -227,6 +229,7 @@ VtxSelect.propTypes = {
227
229
  style: _propTypes["default"].object,
228
230
  selectStyle: _propTypes["default"].object,
229
231
  onChange: _propTypes["default"].func,
232
+ defaultBindBodyToPopupContainer: _propTypes["default"].bool,
230
233
  maxTagCount: _propTypes["default"].number,
231
234
  maxTagTextLength: _propTypes["default"].number,
232
235
  maxTagPlaceholder: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].node]),
@@ -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","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","dropdownRender","menu","valueLength","target","checked","keys","key","style","paddingRight","width","document","getElementById","list","i","Option","Select","OptGroup","propTypes","PropTypes","oneOfType","string","array","number","object","func","node","bool"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,SAAS,gBAAG,uBAAW,UAACC,KAAD,EAAQC,GAAR,EAAgB;AAAA;;AAAA,kBACT,qBAAS,CAAT,CADS;AAAA;AAAA,MAClCC,QADkC;AAAA,MACxBC,WADwB;;AAEzC,MAAMC,KAAK,GAAG,oBAAd;AACA,MAAMC,IAAI,GAAG,wCAAqBC,IAAI,CAACC,GAAL,EAArB,EAAb;AAHyC,MAMrCC,KANqC,GAgBrCR,KAhBqC,CAMrCQ,KANqC;AAAA,MAOrCC,IAPqC,GAgBrCT,KAhBqC,CAOrCS,IAPqC;AAAA,oBAgBrCT,KAhBqC,CAQrCU,IARqC;AAAA,MAQrCA,IARqC,4BAQ9B,SAR8B;AAAA,MASrCC,SATqC,GAgBrCX,KAhBqC,CASrCW,QATqC;AAAA,2BAgBrCX,KAhBqC,CAUrCY,WAVqC;AAAA,MAUrCA,WAVqC,mCAUvB,CAVuB;AAAA,8BAgBrCZ,KAhBqC,CAWrCa,gBAXqC;AAAA,MAWrCA,gBAXqC,sCAWlB,CAXkB;AAAA,8BAgBrCb,KAhBqC,CAYrCc,iBAZqC;AAAA,MAYrCA,iBAZqC,sCAYjB,KAZiB;AAAA,uBAgBrCd,KAhBqC,CAarCe,OAbqC;AAAA,MAarCA,OAbqC,+BAa3B,IAb2B;AAAA,MAcrCC,WAdqC,GAgBrChB,KAhBqC,CAcrCgB,WAdqC;AAAA,yBAgBrChB,KAhBqC,CAerCiB,SAfqC;AAAA,MAerCA,SAfqC,iCAezB,IAfyB;AAkBzC,8BAAgB,YAAM;AAClBR,IAAAA,IAAI,KAAK,UAAT,IAAuBN,WAAW,CAACC,KAAK,CAACc,OAAN,CAAcC,WAAf,CAAlC;AACH,GAFD,EAEG,mBAACf,KAAK,CAACc,OAAP,mDAAC,eAAeC,WAAhB,CAFH;AAIA,MAAMC,WAAW,GAAGpB,KAAK,CAACqB,QAAN,GACdC,KAAK,CAACC,OAAN,CAAcvB,KAAK,CAACqB,QAApB,IACIrB,KAAK,CAACqB,QADV,GAEI,CAACrB,KAAK,CAACqB,QAAP,CAHU,GAId,EAJN;;AAMA,MAAMG,UAAU,GAAG,SAAbA,UAAa;AAAA,wBACf;AAAK,MAAA,SAAS,EAAC;AAAf,OACKF,KAAK,CAACC,OAAN,CAAcf,KAAd,KAAwBA,KAAK,CAACiB,MAA9B,GACGjB,KAAK,CAACkB,GAAN,CAAU,UAACC,IAAD,EAAOC,KAAP,EAAiB;AACvB,UAAIC,IAAI,GAAGC,WAAW,CAACV,WAAD,EAAcO,IAAd,CAAtB;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,cAAIC,UAAU,sBAAO1B,KAAP,CAAd;;AACA0B,UAAAA,UAAU,CAACC,MAAX,CAAkBP,KAAlB,EAAyB,CAAzB;AACA,cAAIQ,OAAO,GAAGhB,WAAW,CAACiB,MAAZ,CAAmB,UAAAC,GAAG;AAAA,mBAChCJ,UAAU,CAACK,QAAX,CAAoBD,GAAG,CAACtC,KAAJ,CAAUQ,KAA9B,CADgC;AAAA,WAAtB,CAAd;;AAGAG,UAAAA,SAAQ,CAACuB,UAAD,EAAaE,OAAb,CAAR;AACH;AAZL,sBAcI,gCAAC,mBAAD;AAAS,QAAA,KAAK,EAAEP;AAAhB,SACKA,IAAI,CAACJ,MAAL,GAAcZ,gBAAd,aACQgB,IAAI,CAACW,SAAL,CAAe,CAAf,EAAkB3B,gBAAlB,CADR,WAEKgB,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;AAHL,KAIL9C,KAJK,CAAZ;;AAOA,MAAIS,IAAI,KAAK,UAAb,EAAyB;AACrBkC,IAAAA,QAAQ,mCACDA,QADC;AAEJ/B,MAAAA,WAAW,EAAEA,WAFT;AAGJC,MAAAA,gBAAgB,EAAEA,gBAHd;AAIJC,MAAAA,iBAAiB,EAAEA;AAJf,MAAR;;AAMA,QAAIG,SAAJ,EAAe;AACX0B,MAAAA,QAAQ,mCACDA,QADC;AAEJI,QAAAA,cAAc,EAAE,wBAAAC,IAAI,EAAI;AACpB,cAAMC,WAAW,GAAG3B,KAAK,CAACC,OAAN,CAAcf,KAAd,KAAwBA,KAAK,CAACiB,MAA9B,GAAuCjB,KAAK,CAACiB,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,EAAEgB,WAAW,IAAIA,WAAW,GAAG7B,WAAW,CAACK,MAD5D;AAEI,YAAA,OAAO,EAAEwB,WAAW,IAAIA,WAAW,KAAK7B,WAAW,CAACK,MAFxD;AAGI,YAAA,QAAQ,EAAE,kBAAAO,CAAC,EAAI;AACX,kBAAIA,CAAC,CAACkB,MAAF,CAASC,OAAb,EAAsB;AAClB,oBAAMC,IAAI,GAAGhC,WAAW,CAACM,GAAZ,CAAgB,UAAAC,IAAI;AAAA,yBAAIA,IAAI,CAAC0B,GAAT;AAAA,iBAApB,CAAb;AACA1C,gBAAAA,SAAQ,IAAIA,SAAQ,CAACyC,IAAD,EAAOhC,WAAP,CAApB;AACH,eAHD,MAGO;AACHT,gBAAAA,SAAQ,IAAIA,SAAQ,CAAC,EAAD,EAAK,EAAL,CAApB;AACH;AACJ;AAVL,4BAJJ,CADJ,eAoBI,gCAAC,mBAAD;AAAS,YAAA,KAAK,EAAE;AAAEoB,cAAAA,MAAM,EAAE;AAAV;AAAhB,YApBJ,EAqBKiB,IArBL,CADJ;AAyBH;AA7BG,QAAR;AA+BH;AACJ;;AAED,sBACI;AACI,IAAA,SAAS,EAAE,4BAAW;AAClB,oBAAcvC,IAAI,KAAK,UADL;AAElB,0BAAoBA,IAAI,IAAI,UAAR,IAAsBA,IAAI,IAAI;AAFhC,KAAX,CADf;AAKI,IAAA,EAAE,EAAEJ,IAAI,CAACa,OALb;AAMI,IAAA,GAAG,EAAEd,KANT;AAOI,IAAA,KAAK,kCACEJ,KAAK,CAACsD,KADR;AAEDC,MAAAA,YAAY,EAAE,CAAC9C,IAAI,IAAI,UAAR,IAAsBA,IAAI,IAAI,MAA/B,KAA0CM,OAA1C,GAAoD,EAApD,GAAyD;AAFtE;AAPT,kBAYI,gCAAC,kBAAD;AACI,IAAA,GAAG,EAAEd;AADT,KAEQ0C,QAFR;AAGI,IAAA,KAAK;AAAIa,MAAAA,KAAK,EAAE;AAAX,OAAsBxC,WAAtB,CAHT;AAII,IAAA,iBAAiB,EAAE;AAAA,aAAMyC,QAAQ,CAACC,cAAT,CAAwBrD,IAAI,CAACa,OAA7B,CAAN;AAAA;AAJvB,MAMKlB,KAAK,CAACqB,QANX,CAZJ,EAoBK,CAACZ,IAAI,IAAI,UAAR,IAAsBA,IAAI,IAAI,MAA/B,KAA0CM,OAA1C,gBACG,gCAAC,mBAAD;AACI,IAAA,OAAO,EAAES,UAAU,EADvB;AAEI,IAAA,SAAS,EAAC,aAFd;AAGI,IAAA,OAAO,EAAC,OAHZ;AAII,IAAA,YAAY,EAAE;AAAEgC,MAAAA,KAAK,EAAEtD;AAAT;AAJlB,kBAMI,gCAAC,kBAAD;AAAQ,IAAA,SAAS,EAAC,kBAAlB;AAAqC,IAAA,IAAI,EAAC,MAA1C;AAAiD,IAAA,IAAI,EAAEQ;AAAvD,IANJ,CADH,GASG,IA7BR,CADJ;AAiCH,CAhJiB,CAAlB;;AAkJA,SAASoB,WAAT,GAAuC;AAAA,MAAlB6B,IAAkB,uEAAX,EAAW;AAAA,MAAPnD,KAAO;AACnC,MAAIqB,IAAI,GAAG,EAAX;;AACA,OAAK,IAAI+B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGD,IAAI,CAAClC,MAAzB,EAAiCmC,CAAC,EAAlC,EAAsC;AAClC,QAAID,IAAI,CAACC,CAAD,CAAJ,CAAQP,GAAR,KAAgB7C,KAApB,EAA2B;AACvBqB,MAAAA,IAAI,GAAG8B,IAAI,CAACC,CAAD,CAAJ,CAAQ5D,KAAR,CAAcqB,QAArB;AACA;AACH;AACJ;;AACD,SAAOQ,IAAP;AACH;;AAED9B,SAAS,CAAC8D,MAAV,GAAmBC,mBAAOD,MAA1B;AACA9D,SAAS,CAACgE,QAAV,GAAqBD,mBAAOC,QAA5B;AAEAhE,SAAS,CAACiE,SAAV,GAAsB;AAClBxD,EAAAA,KAAK,EAAEyD,sBAAUC,SAAV,CAAoB,CACvBD,sBAAUE,MADa,EAEvBF,sBAAUG,KAFa,EAGvBH,sBAAUI,MAHa,EAIvBJ,sBAAUK,MAJa,CAApB,CADW;AAOlB7D,EAAAA,IAAI,EAAEwD,sBAAUE,MAPE;AAQlBzD,EAAAA,IAAI,EAAEuD,sBAAUE,MARE;AASlBb,EAAAA,KAAK,EAAEW,sBAAUK,MATC;AAUlBtD,EAAAA,WAAW,EAAEiD,sBAAUK,MAVL;AAWlB3D,EAAAA,QAAQ,EAAEsD,sBAAUM,IAXF;AAYlB3D,EAAAA,WAAW,EAAEqD,sBAAUI,MAZL;AAalBxD,EAAAA,gBAAgB,EAAEoD,sBAAUI,MAbV;AAclBvD,EAAAA,iBAAiB,EAAEmD,sBAAUC,SAAV,CAAoB,CAACD,sBAAUM,IAAX,EAAiBN,sBAAUO,IAA3B,CAApB,CAdD;AAelBzD,EAAAA,OAAO,EAAEkD,sBAAUQ,IAfD;AAgBlBpD,EAAAA,QAAQ,EAAE4C,sBAAUO,IAhBF;AAiBlBvD,EAAAA,SAAS,EAAEgD,sBAAUQ;AAjBH,CAAtB;eAoBe1E,S","sourcesContent":["import React, { useState, useLayoutEffect, useRef, forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Select from 'antd/es/select';\nimport Tag from 'antd/es/tag';\nimport Button from 'antd/es/button';\nimport Empty from 'antd/es/empty';\nimport Popover from 'antd/es/popover';\nimport Tooltip from 'antd/es/tooltip';\nimport Checkbox from 'antd/es/checkbox';\nimport Divider from 'antd/es/divider';\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 } = 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 let name = getChildren(newChildren, item);\n return (\n <Tag\n style={{ margin: '4px' }}\n key={index}\n closable\n onClose={e => {\n e.preventDefault();\n let valueClone = [...value];\n valueClone.splice(index, 1);\n let 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 ...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 {...newProps}\n style={{ width: '100%', ...selectStyle }}\n getPopupContainer={() => document.getElementById(elId.current)}\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=\"more\" 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 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","length","map","item","index","name","getChildren","margin","e","preventDefault","valueClone","splice","options","filter","ite","includes","substring","Empty","PRESENTED_IMAGE_SIMPLE","newProps","showSearch","optionFilterProp","placeholder","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/es/select';\nimport Tag from 'antd/es/tag';\nimport Button from 'antd/es/button';\nimport Empty from 'antd/es/empty';\nimport Popover from 'antd/es/popover';\nimport Tooltip from 'antd/es/tooltip';\nimport Checkbox from 'antd/es/checkbox';\nimport Divider from 'antd/es/divider';\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 let name = getChildren(newChildren, item);\n return (\n <Tag\n style={{ margin: '4px' }}\n key={index}\n closable\n onClose={e => {\n e.preventDefault();\n let valueClone = [...value];\n valueClone.splice(index, 1);\n let 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 ...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=\"more\" 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"}
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _signature_pad = _interopRequireDefault(require("signature_pad"));
13
+
14
+ var _button = _interopRequireDefault(require("antd/es/button"));
15
+
16
+ var _lodash = _interopRequireDefault(require("lodash.debounce"));
17
+
18
+ var _propTypes = _interopRequireDefault(require("prop-types"));
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
+
22
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
23
+
24
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
+
26
+ var VtxSignature = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
27
+ var canvasRef = (0, _react.useRef)();
28
+ var signaturePad = (0, _react.useRef)();
29
+ var dotSize = props.dotSize,
30
+ minWidth = props.minWidth,
31
+ maxWidth = props.maxWidth,
32
+ throttle = props.throttle,
33
+ minDistance = props.minDistance,
34
+ backgroundColor = props.backgroundColor,
35
+ penColor = props.penColor,
36
+ velocityFilterWeight = props.velocityFilterWeight,
37
+ onBegin = props.onBegin,
38
+ _onEnd = props.onEnd,
39
+ onChange = props.onChange;
40
+ (0, _react.useEffect)(function () {
41
+ signaturePad.current = new _signature_pad["default"](canvasRef.current, {
42
+ dotSize: dotSize,
43
+ minWidth: minWidth,
44
+ maxWidth: maxWidth,
45
+ throttle: throttle,
46
+ minDistance: minDistance,
47
+ backgroundColor: backgroundColor,
48
+ penColor: penColor,
49
+ velocityFilterWeight: velocityFilterWeight,
50
+ onBegin: onBegin,
51
+ onEnd: function onEnd() {
52
+ var dataUri = signaturePad.current.toDataURL();
53
+ var encodedImage = dataUri.split(',')[1];
54
+ onChange && onChange(encodedImage);
55
+ _onEnd && _onEnd();
56
+ }
57
+ });
58
+ resizeCanvas();
59
+ window.addEventListener('resize', (0, _lodash["default"])(resizeCanvas, 150));
60
+ return function () {
61
+ window.removeEventListener('resize', (0, _lodash["default"])(resizeCanvas, 150));
62
+ };
63
+ }, []);
64
+
65
+ function resizeCanvas() {
66
+ var ratio = Math.max(window.devicePixelRatio || 1, 1);
67
+ var canvas = canvasRef.current;
68
+
69
+ if (canvas) {
70
+ canvas.width = canvas.offsetWidth * ratio;
71
+ canvas.height = canvas.offsetHeight * ratio;
72
+ canvas.getContext('2d').scale(ratio, ratio);
73
+ clear();
74
+ }
75
+ } // 清空
76
+
77
+
78
+ var clear = function clear() {
79
+ signaturePad.current.clear();
80
+ }; // 撤销
81
+
82
+
83
+ var undo = function undo() {
84
+ var data = signaturePad.current.toData();
85
+
86
+ if (data) {
87
+ data.pop();
88
+ signaturePad.current.fromData(data);
89
+ }
90
+ };
91
+
92
+ return /*#__PURE__*/_react["default"].createElement("div", {
93
+ className: "vtx-signature",
94
+ ref: ref
95
+ }, /*#__PURE__*/_react["default"].createElement("div", {
96
+ className: "vtx-signature--body"
97
+ }, /*#__PURE__*/_react["default"].createElement("canvas", {
98
+ ref: canvasRef
99
+ })), /*#__PURE__*/_react["default"].createElement("div", {
100
+ className: "vtx-signature--footer"
101
+ }, /*#__PURE__*/_react["default"].createElement(_button["default"], {
102
+ size: "small",
103
+ onClick: clear
104
+ }, "\u6E05\u7A7A"), /*#__PURE__*/_react["default"].createElement(_button["default"], {
105
+ size: "small",
106
+ onClick: undo
107
+ }, "\u64A4\u9500")));
108
+ });
109
+ var _default = VtxSignature;
110
+ exports["default"] = _default;
111
+ VtxSignature.propTypes = {
112
+ dotSize: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].number]),
113
+ minWidth: _propTypes["default"].number,
114
+ maxWidth: _propTypes["default"].number,
115
+ throttle: _propTypes["default"].number,
116
+ minDistance: _propTypes["default"].number,
117
+ backgroundColor: _propTypes["default"].string,
118
+ penColor: _propTypes["default"].string,
119
+ velocityFilterWeight: _propTypes["default"].number,
120
+ onBegin: _propTypes["default"].func,
121
+ onEnd: _propTypes["default"].func,
122
+ onChange: _propTypes["default"].func
123
+ };
124
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["vtx-signature/index.jsx"],"names":["VtxSignature","props","ref","canvasRef","signaturePad","dotSize","minWidth","maxWidth","throttle","minDistance","backgroundColor","penColor","velocityFilterWeight","onBegin","onEnd","onChange","current","SignaturePad","dataUri","toDataURL","encodedImage","split","resizeCanvas","window","addEventListener","removeEventListener","ratio","Math","max","devicePixelRatio","canvas","width","offsetWidth","height","offsetHeight","getContext","scale","clear","undo","data","toData","pop","fromData","propTypes","PropTypes","oneOfType","func","number","string"],"mappings":"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","sourcesContent":["import React, { forwardRef, useRef, useEffect } from 'react';\nimport SignaturePad from 'signature_pad';\nimport Button from 'antd/es/button';\nimport debounce from 'lodash.debounce';\nimport PropTypes from 'prop-types';\n\nconst VtxSignature = forwardRef((props, ref) => {\n const canvasRef = useRef();\n const signaturePad = useRef();\n const {\n dotSize,\n minWidth,\n maxWidth,\n throttle,\n minDistance,\n backgroundColor,\n penColor,\n velocityFilterWeight,\n onBegin,\n onEnd,\n onChange,\n } = props;\n\n useEffect(() => {\n signaturePad.current = new SignaturePad(canvasRef.current, {\n dotSize,\n minWidth,\n maxWidth,\n throttle,\n minDistance,\n backgroundColor,\n penColor,\n velocityFilterWeight,\n onBegin,\n onEnd() {\n const dataUri = signaturePad.current.toDataURL();\n const encodedImage = dataUri.split(',')[1];\n\n onChange && onChange(encodedImage);\n onEnd && onEnd();\n },\n });\n resizeCanvas();\n window.addEventListener('resize', debounce(resizeCanvas, 150));\n return () => {\n window.removeEventListener('resize', debounce(resizeCanvas, 150));\n };\n }, []);\n\n function resizeCanvas() {\n const ratio = Math.max(window.devicePixelRatio || 1, 1);\n const canvas = canvasRef.current;\n if (canvas) {\n canvas.width = canvas.offsetWidth * ratio;\n canvas.height = canvas.offsetHeight * ratio;\n canvas.getContext('2d').scale(ratio, ratio);\n clear();\n }\n }\n\n // 清空\n const clear = () => {\n signaturePad.current.clear();\n };\n\n // 撤销\n const undo = () => {\n const data = signaturePad.current.toData();\n if (data) {\n data.pop();\n signaturePad.current.fromData(data);\n }\n };\n\n return (\n <div className=\"vtx-signature\" ref={ref}>\n <div className=\"vtx-signature--body\">\n <canvas ref={canvasRef} />\n </div>\n <div className=\"vtx-signature--footer\">\n <Button size=\"small\" onClick={clear}>\n 清空\n </Button>\n <Button size=\"small\" onClick={undo}>\n 撤销\n </Button>\n </div>\n </div>\n );\n});\n\nexport default VtxSignature;\n\nVtxSignature.propTypes = {\n dotSize: PropTypes.oneOfType([PropTypes.func, PropTypes.number]),\n minWidth: PropTypes.number,\n maxWidth: PropTypes.number,\n throttle: PropTypes.number,\n minDistance: PropTypes.number,\n backgroundColor: PropTypes.string,\n penColor: PropTypes.string,\n velocityFilterWeight: PropTypes.number,\n onBegin: PropTypes.func,\n onEnd: PropTypes.func,\n onChange: PropTypes.func,\n};\n"],"file":"index.js"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ require("antd/es/button/style/css");
4
+
5
+ require("antd/es/message/style/css");
6
+
7
+ require("./index.css");
8
+ //# sourceMappingURL=css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["vtx-signature/style/index.js"],"names":[],"mappings":";;AAAA;;AACA;;AACA","sourcesContent":["import 'antd/es/button/style/css';\nimport 'antd/es/message/style/css';\nimport './index.less';\n"],"file":"css.js"}
@@ -0,0 +1,35 @@
1
+ .vtx-signature {
2
+ position: relative;
3
+ display: -webkit-box;
4
+ display: -ms-flexbox;
5
+ display: flex;
6
+ -webkit-box-orient: vertical;
7
+ -webkit-box-direction: normal;
8
+ -ms-flex-direction: column;
9
+ flex-direction: column;
10
+ height: 300px;
11
+ padding: 16px;
12
+ background-color: #fff;
13
+ border: 1px solid #f4f4f4;
14
+ border-radius: 4px;
15
+ }
16
+ .vtx-signature--body {
17
+ position: relative;
18
+ height: 100%;
19
+ border: 2px dotted #c1c1c1;
20
+ }
21
+ .vtx-signature--body canvas {
22
+ position: absolute;
23
+ top: 0;
24
+ left: 0;
25
+ width: 100%;
26
+ height: 100%;
27
+ border-radius: 4px;
28
+ }
29
+ .vtx-signature--footer {
30
+ margin-top: 8px;
31
+ line-height: 1;
32
+ }
33
+ .vtx-signature--footer button + button {
34
+ margin-left: 8px;
35
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ require("antd/es/button/style/css");
4
+
5
+ require("antd/es/message/style/css");
6
+
7
+ require("./index.less");
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["vtx-signature/style/index.js"],"names":[],"mappings":";;AAAA;;AACA;;AACA","sourcesContent":["import 'antd/es/button/style/css';\nimport 'antd/es/message/style/css';\nimport './index.less';\n"],"file":"index.js"}
@@ -0,0 +1,32 @@
1
+ @prefix-cls: vtx-signature;
2
+
3
+ .@{prefix-cls} {
4
+ position: relative;
5
+ display: flex;
6
+ flex-direction: column;
7
+ height: 300px;
8
+ padding: 16px;
9
+ background-color: #fff;
10
+ border: 1px solid #f4f4f4;
11
+ border-radius: 4px;
12
+ &--body {
13
+ position: relative;
14
+ height: 100%;
15
+ border: 2px dotted #c1c1c1;
16
+ canvas {
17
+ position: absolute;
18
+ top: 0;
19
+ left: 0;
20
+ width: 100%;
21
+ height: 100%;
22
+ border-radius: 4px;
23
+ }
24
+ }
25
+ &--footer {
26
+ margin-top: 8px;
27
+ line-height: 1;
28
+ button + button {
29
+ margin-left: 8px;
30
+ }
31
+ }
32
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtx/components",
3
- "version": "2.3.1",
3
+ "version": "2.4.0",
4
4
  "description": "React components for Vortex",
5
5
  "keywords": [
6
6
  "react",
@@ -67,6 +67,7 @@
67
67
  "moment": "^2.29.1",
68
68
  "rc-color-picker": "^1.2.6",
69
69
  "react-resizable": "^1.11.1",
70
+ "signature_pad": "3.0.0-beta.4",
70
71
  "viewerjs": "1.3.3",
71
72
  "xgplayer": "2.18.3"
72
73
  },