tplus-components-touch 3.34.2 → 3.34.6

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-components-touch/components/commonForm/autoComplete/index.js"],"names":["FormItem","Item","Option","props","handleSearch","value","handleChange","handleSelect","item","console","log","viewInfo","changed","FieldName","split","changeVal","_this","timer","window","clearTimeout","setTimeout","changeSelectData","getMemberReferData","searchKey","referData","setState","options","useKb","domNode","input","querySelector","Keyboard","close","open","v","getNewValue","state","self","selectItems","filter","CardCode","Name","Mobilephone","fieldName","name","isReferrer","Title","required","AllowNone","el","ReadOnly","e","triggerNode","parentElement","map","option","index","ret","filterRet","tools","changePrivateInfo","arr","filterArr","push","length","join","React","Component"],"mappings":"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","file":"index.js","sourcesContent":["import React from 'react';\r\nimport { Select, Form } from 'antd';\r\nimport Keyboard from '../../keyboard'\r\nimport { findDOMNode } from 'react-dom'\r\nimport tools from \"../../../util/tools\";\r\n// import './style.less'\r\n\r\nconst FormItem = Form.Item;\r\nconst Option = Select.Option;\r\nexport default class extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n options: []\r\n };\r\n this.timer = null;\r\n }\r\n\r\n handleSearch = (value) => {\r\n this.handleChange(value)\r\n }\r\n\r\n handleSelect = (value, { props: { item } }) => {\r\n console.log(`selected ${value}`);\r\n console.log(`selected item `, item);\r\n let viewInfo = this.props.viewInfo;\r\n const changed = {}\r\n const FieldName = viewInfo.FieldName.split('.')[0];\r\n changed[FieldName] = item;\r\n this.props.changeVal(changed);\r\n }\r\n\r\n handleChange = (value) => {\r\n console.log(`handleChange ${value}`);\r\n let _this = this;\r\n if (this.timer != null) window.clearTimeout(this.timer);\r\n this.timer = window.setTimeout(() => { _this.changeSelectData(value) }, 300);\r\n }\r\n\r\n //改变下拉框的值\r\n changeSelectData = async (value) => {\r\n let { viewInfo, getMemberReferData } = this.props;\r\n let searchKey = (viewInfo['FieldName'] == 'Member.Name') ? 'CardCode,Name,Mobilephone' : '';\r\n const referData = await getMemberReferData(viewInfo['FieldName'], searchKey, value || '')\r\n this.setState({ options: referData || [] })\r\n }\r\n\r\n useKb = () => {\r\n const _this = this;\r\n const domNode = findDOMNode(_this.input);\r\n const input = domNode && domNode.querySelector('input');\r\n Keyboard.close();\r\n Keyboard.open((v) => {\r\n let value = Keyboard.getNewValue(input, input.value, v);\r\n input.value = value;\r\n })()\r\n }\r\n\r\n render() {\r\n let { viewInfo } = this.props;\r\n // const { getFieldProps, getFieldError } = this.props.form;\r\n const { options } = this.state;\r\n const self = this;\r\n const selectItems = options.filter(item => item.CardCode || item.Name || item.Mobilephone);\r\n const fieldName = viewInfo['FieldName'];\r\n const name = fieldName.split('.');\r\n const isReferrer = (fieldName == 'Member.Name');\r\n return (<FormItem label={viewInfo.Title} name={name} rules={[{ required: !viewInfo.AllowNone }]}>\r\n <Select\r\n key={fieldName}\r\n className='form-autoComplete'\r\n showSearch={true}\r\n ref={(el) => {\r\n self.input = el;\r\n }}\r\n disabled={viewInfo.ReadOnly}\r\n onSelect={this.handleSelect}\r\n onSearch={this.handleSearch}\r\n onFocus={(e) => {\r\n this.handleChange()\r\n this.useKb()\r\n }}\r\n notFoundContent={'空'}\r\n onBlur={() => { Keyboard.close() }}\r\n getPopupContainer={triggerNode => triggerNode.parentElement}\r\n optionFilterProp={'filterProp'}\r\n >\r\n {\r\n selectItems && selectItems.map((option, index) => {\r\n const { CardCode, Name, Mobilephone } = option;\r\n let ret = Name || CardCode || Mobilephone;\r\n let filterRet = Name || CardCode || Mobilephone;\r\n if (isReferrer == true) {\r\n option = tools.changePrivateInfo(option);\r\n let arr = []; let filterArr = [];\r\n if (CardCode) {\r\n arr.push(option.CardCode);\r\n filterArr.push(CardCode)\r\n }\r\n if (Name) {\r\n arr.push(option.Name);\r\n filterArr.push(Name)\r\n }\r\n if (Mobilephone) {\r\n arr.push(option.Mobilephone);\r\n filterArr.push(Mobilephone)\r\n }\r\n ret = arr && arr.length > 0 && arr.join('+');\r\n filterRet = filterArr && filterArr.length > 0 && filterArr.join('+');\r\n }\r\n return <Option key={index} value={ret} item={option} filterProp={filterRet}>\r\n {ret}\r\n </Option>\r\n })\r\n }\r\n </Select>\r\n </FormItem>)\r\n }\r\n}"]}
1
+ {"version":3,"sources":["tplus-components-touch/components/commonForm/autoComplete/index.js"],"names":["FormItem","Item","Option","props","handleSearch","value","handleChange","handleSelect","item","console","log","viewInfo","changed","FieldName","split","changeVal","_this","timer","window","clearTimeout","setTimeout","changeSelectData","getMemberReferData","searchKey","referData","setState","options","onChangeFN","useKb","domNode","input","querySelector","event","document","createEvent","initUIEvent","Keyboard","close","open","v","getNewValue","state","self","selectItems","filter","CardCode","Name","Mobilephone","fieldName","name","isReferrer","Title","required","AllowNone","el","ReadOnly","e","triggerNode","parentElement","map","option","index","ret","filterRet","tools","changePrivateInfo","arr","filterArr","push","length","join","React","Component"],"mappings":"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","file":"index.js","sourcesContent":["import React from 'react';\r\nimport { Select, Form } from 'antd';\r\nimport Keyboard from '../../keyboard'\r\nimport { findDOMNode } from 'react-dom'\r\nimport tools from \"../../../util/tools\";\r\n// import './style.less'\r\n\r\nconst FormItem = Form.Item;\r\nconst Option = Select.Option;\r\nexport default class extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n options: []\r\n };\r\n this.timer = null;\r\n }\r\n\r\n handleSearch = async (value) => {\r\n this.handleChange(value)\r\n }\r\n\r\n handleSelect = (value, { props: { item } }) => {\r\n console.log(`selected ${value}`);\r\n console.log(`selected item `, item);\r\n let viewInfo = this.props.viewInfo;\r\n const changed = {}\r\n const FieldName = viewInfo.FieldName.split('.')[0];\r\n changed[FieldName] = item;\r\n this.props.changeVal(changed);\r\n }\r\n\r\n handleChange = (value) => {\r\n console.log(`handleChange ${value}`);\r\n let _this = this;\r\n if (this.timer != null) window.clearTimeout(this.timer);\r\n this.timer = window.setTimeout(() => { _this.changeSelectData(value) }, 300);\r\n }\r\n\r\n //改变下拉框的值\r\n changeSelectData = async (value) => {\r\n let { viewInfo, getMemberReferData } = this.props;\r\n let searchKey = (viewInfo['FieldName'] == 'Member.Name') ? 'CardCode,Name,Mobilephone' : '';\r\n const referData = await getMemberReferData(viewInfo['FieldName'], searchKey, value || '')\r\n this.setState({ options: referData || [] })\r\n }\r\n onChangeFN = value => {\r\n console.log(value, 'lxh----onChange')\r\n }\r\n\r\n useKb = () => {\r\n const _this = this;\r\n const domNode = findDOMNode(_this.input);\r\n const input = domNode && domNode.querySelector('input');\r\n const event = document.createEvent(\"UIEvents\");\r\n event.initUIEvent(\"keydown\",true,true);\r\n \r\n Keyboard.close();\r\n Keyboard.open((v) => {\r\n \r\n // input.dispatchEvent(event);\r\n \r\n let value = Keyboard.getNewValue(input, input.value, v);\r\n input.value = value\r\n // console.log(v, 'lxh------v');\r\n // console.log(value, 'lxh-------value');\r\n // this.handleSearch(value)\r\n\r\n \r\n })()\r\n }\r\n\r\n render() {\r\n let { viewInfo } = this.props;\r\n // const { getFieldProps, getFieldError } = this.props.form;\r\n const { options } = this.state;\r\n const self = this;\r\n const selectItems = options.filter(item => item.CardCode || item.Name || item.Mobilephone);\r\n const fieldName = viewInfo['FieldName'];\r\n const name = fieldName.split('.');\r\n const isReferrer = (fieldName == 'Member.Name');\r\n return (<FormItem label={viewInfo.Title} name={name} rules={[{ required: !viewInfo.AllowNone }]}>\r\n <Select\r\n key={fieldName}\r\n className='form-autoComplete'\r\n showSearch={true}\r\n ref={(el) => {\r\n self.input = el;\r\n }}\r\n disabled={viewInfo.ReadOnly}\r\n onSelect={this.handleSelect}\r\n onSearch={this.handleSearch}\r\n onFocus={(e) => {\r\n this.handleChange()\r\n this.useKb()\r\n }}\r\n notFoundContent={'空'}\r\n onBlur={() => { \r\n Keyboard.close()\r\n }}\r\n onInputKeyDown={this.onChangeFN}\r\n getPopupContainer={triggerNode => triggerNode.parentElement}\r\n optionFilterProp={'filterProp'}\r\n >\r\n {\r\n selectItems && selectItems.map((option, index) => {\r\n const { CardCode, Name, Mobilephone } = option;\r\n let ret = Name || CardCode || Mobilephone;\r\n let filterRet = Name || CardCode || Mobilephone;\r\n if (isReferrer == true) {\r\n option = tools.changePrivateInfo(option);\r\n let arr = []; let filterArr = [];\r\n if (CardCode) {\r\n arr.push(option.CardCode);\r\n filterArr.push(CardCode)\r\n }\r\n if (Name) {\r\n arr.push(option.Name);\r\n filterArr.push(Name)\r\n }\r\n if (Mobilephone) {\r\n arr.push(option.Mobilephone);\r\n filterArr.push(Mobilephone)\r\n }\r\n ret = arr && arr.length > 0 && arr.join('+');\r\n filterRet = filterArr && filterArr.length > 0 && filterArr.join('+');\r\n }\r\n return <Option key={index} value={ret} item={option} filterProp={filterRet}>\r\n {ret}\r\n </Option>\r\n })\r\n }\r\n </Select>\r\n </FormItem>)\r\n }\r\n}"]}
@@ -25,4 +25,7 @@
25
25
  font-size: 20px;
26
26
  }
27
27
  }
28
+ .ant-input {
29
+ border: none;
30
+ }
28
31
  }
@@ -473,4 +473,14 @@
473
473
  top: -50px!important;
474
474
  color: #CCC!important;
475
475
  }
476
+ }
477
+ .keybord-icon-focus {
478
+ position: relative;
479
+ .keyboard-icon {
480
+ position: absolute;
481
+ right: 0;
482
+ top: 50% !important;
483
+ z-index: 999;
484
+ transform: translateY(-50%);
485
+ }
476
486
  }
@@ -80,7 +80,6 @@ var LetterKeyboard = (_temp = _class = function (_Component) {
80
80
  _this.setState({
81
81
  visible: !_this.state.visible
82
82
  });
83
- _this.input.input.focus();
84
83
  };
85
84
 
86
85
  _this.handleOk = function (e) {
@@ -106,11 +105,18 @@ var LetterKeyboard = (_temp = _class = function (_Component) {
106
105
  return _this.state.visible ? _react2.default.createElement(_index3.Ticon, { type: 'jianpan1', style: { color: '#999' } }) : _react2.default.createElement(_index3.Ticon, { type: 'jianpan2', style: { color: '#999' } });
107
106
  };
108
107
 
109
- _this.iconShowModal = function () {
108
+ _this.iconShowModal = function (e) {
109
+ e.preventDefault();
110
110
  if (_this.props.disabled) {
111
111
  return;
112
112
  }
113
- _this.showModal();
113
+ // this.showModal();
114
+
115
+ if (_this.isFocus) {
116
+ _this.input.input.blur();
117
+ } else {
118
+ _this.input.input.focus();
119
+ }
114
120
  };
115
121
 
116
122
  _this.getShowValue = function () {
@@ -118,6 +124,7 @@ var LetterKeyboard = (_temp = _class = function (_Component) {
118
124
  };
119
125
 
120
126
  _this.inputBlur = function () {
127
+ _this.isFocus = false;
121
128
  _this.setState({
122
129
  visible: false
123
130
  });
@@ -125,10 +132,12 @@ var LetterKeyboard = (_temp = _class = function (_Component) {
125
132
 
126
133
  _this.inputFocus = function () {
127
134
  _this.props.onFocus && _this.props.onFocus(_this.input);
128
- if (_this.props.which == 'icon') {
129
- return;
130
- }
135
+
136
+ // if (this.props.which == 'icon') {
137
+ // return;
138
+ // }
131
139
  _this.showModal();
140
+ _this.isFocus = true;
132
141
  };
133
142
 
134
143
  _this.inputKeyDown = function (e) {
@@ -172,7 +181,7 @@ var LetterKeyboard = (_temp = _class = function (_Component) {
172
181
  { className: 'keyboard' },
173
182
  _react2.default.createElement(
174
183
  _input2.default.Group,
175
- { className: 'keyboard-input' },
184
+ { className: 'keyboard-input keybord-icon-focus' },
176
185
  _react2.default.createElement(_input2.default, (0, _extends3.default)({ type: 'text'
177
186
  }, props, {
178
187
  prefix: prefix ? _react2.default.createElement(_index3.Ticon, { type: prefix, className: 'search-icon' }) : null,
@@ -184,15 +193,23 @@ var LetterKeyboard = (_temp = _class = function (_Component) {
184
193
  ref: function ref(input) {
185
194
  return _this2.input = input;
186
195
  },
187
- allowClear: this.isMobileEnvironment,
188
- suffix: which == 'icon' && !this.isMobileEnvironment ? _react2.default.createElement(
189
- 'span',
190
- { className: 'keyboard-icon', onMouseDown: function onMouseDown(e) {
191
- return e.preventDefault();
192
- }, onClick: this.iconShowModal },
193
- this.getKeyboardIcon()
194
- ) : null
195
- }))
196
+ allowClear: this.isMobileEnvironment
197
+ // suffix={which == 'icon' && !this.isMobileEnvironment ?
198
+ // <span className='keyboard-icon' onMouseDown={e => e.preventDefault()} onClick={this.iconShowModal}>
199
+ // {
200
+ // this.getKeyboardIcon()
201
+ // }
202
+ // </span>
203
+ // :
204
+ // null}
205
+ })),
206
+ which == 'icon' && !this.isMobileEnvironment ? _react2.default.createElement(
207
+ 'span',
208
+ { className: 'keyboard-icon', onMouseDown: function onMouseDown(e) {
209
+ return e.preventDefault();
210
+ }, onClick: this.iconShowModal },
211
+ this.getKeyboardIcon()
212
+ ) : null
196
213
  ),
197
214
  !this.isMobileEnvironment && _react2.default.createElement(_index2.default, { type: 'letter+modal', value: value, visible: this.state.visible, onChange: this.setStateValue, handleOk: this.handleOk, handleCancel: this.handleCancel })
198
215
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-components-touch/components/keyboard/letterKeyboard.js"],"names":["LetterKeyboard","props","inputChange","e","setState","value","target","onChange","showModal","visible","state","input","focus","handleOk","getShowValue","handleCancel","setStateValue","key","newValue","Keyboard","getNewValue","getKeyboardIcon","color","iconShowModal","disabled","undefined","inputBlur","inputFocus","onFocus","which","inputKeyDown","keyCode","handleEnter","platform","isHorizontalPad","isMobileEnvironment","onRef","prefix","preventDefault","Component","propTypes","PropTypes","func","isRequired","placeholder","string"],"mappings":"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","file":"letterKeyboard.js","sourcesContent":["/**\r\n * input + letterKeyboard\r\n */\r\n\r\nimport React, { Component } from 'react';\r\nimport { Input } from 'antd';\r\nimport { platform } from 'mutants-util';\r\nimport Keyboard from './index';\r\nimport { Ticon } from '../../index';\r\nimport PropTypes from 'prop-types';\r\n\r\nexport default class LetterKeyboard extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n visible: false,\r\n value: props.value || ''\r\n }\r\n const { isHorizontalPad } = platform || {};\r\n this.isMobileEnvironment = !!isHorizontalPad;\r\n }\r\n\r\n static propTypes = {\r\n onChange: PropTypes.func.isRequired,\r\n handleOk: PropTypes.func,\r\n handleCancel: PropTypes.func,\r\n placeholder: PropTypes.string,\r\n which: PropTypes.string // 是否要 通过 icon 来触发键盘弹出\r\n }\r\n\r\n inputChange = (e) => {\r\n this.setState({\r\n value: e.target.value\r\n })\r\n this.props.onChange && this.props.onChange(e.target.value);\r\n }\r\n\r\n showModal = () => {\r\n this.setState({\r\n visible: !this.state.visible\r\n });\r\n this.input.input.focus();\r\n }\r\n\r\n handleOk = (e) => {\r\n this.props.handleOk && this.props.handleOk(this.getShowValue());\r\n this.showModal();\r\n }\r\n\r\n handleCancel = (e) => {\r\n this.props.handleCancel && this.props.handleCancel(this.getShowValue());\r\n this.showModal()\r\n }\r\n\r\n setStateValue = (key) => {\r\n let newValue = Keyboard.getNewValue(this.input.input, this.getShowValue(), key);\r\n this.setState({\r\n value: newValue\r\n }, () => {\r\n this.props.onChange && this.props.onChange(newValue);\r\n })\r\n }\r\n\r\n getKeyboardIcon = () => {\r\n return (\r\n this.state.visible ?\r\n <Ticon type='jianpan1' style={{ color: '#999' }} />\r\n :\r\n <Ticon type='jianpan2' style={{ color: '#999' }} />\r\n )\r\n }\r\n\r\n iconShowModal = () => {\r\n if (this.props.disabled) {\r\n return;\r\n }\r\n this.showModal();\r\n }\r\n\r\n getShowValue = () => {\r\n return this.props.value == undefined ? this.state.value : this.props.value;\r\n }\r\n\r\n inputBlur = () => {\r\n this.setState({\r\n visible: false\r\n })\r\n }\r\n\r\n inputFocus = () => {\r\n this.props.onFocus && this.props.onFocus(this.input)\r\n if (this.props.which == 'icon') {\r\n return;\r\n }\r\n this.showModal();\r\n }\r\n\r\n inputKeyDown = (e) => {\r\n if (e.keyCode == 13) { // 按下回车按钮\r\n this.props.handleEnter && this.props.handleEnter(this.getShowValue());\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.props.onRef && this.props.onRef(this);\r\n }\r\n\r\n render() {\r\n let { prefix, which, onRef, ...props } = { ...this.props };\r\n let value = this.getShowValue();\r\n return (\r\n <div className='keyboard'>\r\n {\r\n <Input.Group className='keyboard-input'>\r\n <Input type=\"text\"\r\n {...props}\r\n prefix={prefix ? <Ticon type={prefix} className='search-icon' /> : null}\r\n onChange={this.inputChange}\r\n onFocus={this.inputFocus}\r\n onBlur={this.inputBlur}\r\n onKeyDown={this.inputKeyDown}\r\n value={this.props.value}\r\n ref={input => this.input = input}\r\n allowClear={this.isMobileEnvironment}\r\n suffix={which == 'icon' && !this.isMobileEnvironment ?\r\n <span className='keyboard-icon' onMouseDown={e => e.preventDefault()} onClick={this.iconShowModal}>\r\n {\r\n this.getKeyboardIcon()\r\n }\r\n </span>\r\n :\r\n null}\r\n />\r\n </Input.Group>\r\n }\r\n {\r\n !this.isMobileEnvironment &&\r\n <Keyboard type='letter+modal' value={value} visible={this.state.visible} onChange={this.setStateValue} handleOk={this.handleOk} handleCancel={this.handleCancel} />\r\n }\r\n </div>\r\n )\r\n }\r\n}"]}
1
+ {"version":3,"sources":["tplus-components-touch/components/keyboard/letterKeyboard.js"],"names":["LetterKeyboard","props","inputChange","e","setState","value","target","onChange","showModal","visible","state","handleOk","getShowValue","handleCancel","setStateValue","key","newValue","Keyboard","getNewValue","input","getKeyboardIcon","color","iconShowModal","preventDefault","disabled","isFocus","blur","focus","undefined","inputBlur","inputFocus","onFocus","inputKeyDown","keyCode","handleEnter","platform","isHorizontalPad","isMobileEnvironment","onRef","prefix","which","Component","propTypes","PropTypes","func","isRequired","placeholder","string"],"mappings":"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","file":"letterKeyboard.js","sourcesContent":["/**\r\n * input + letterKeyboard\r\n */\r\n\r\nimport React, { Component } from 'react';\r\nimport { Input } from 'antd';\r\nimport { platform } from 'mutants-util';\r\nimport Keyboard from './index';\r\nimport { Ticon } from '../../index';\r\nimport PropTypes from 'prop-types';\r\n\r\nexport default class LetterKeyboard extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n visible: false,\r\n value: props.value || ''\r\n }\r\n const { isHorizontalPad } = platform || {};\r\n this.isMobileEnvironment = !!isHorizontalPad;\r\n }\r\n\r\n static propTypes = {\r\n onChange: PropTypes.func.isRequired,\r\n handleOk: PropTypes.func,\r\n handleCancel: PropTypes.func,\r\n placeholder: PropTypes.string,\r\n which: PropTypes.string // 是否要 通过 icon 来触发键盘弹出\r\n }\r\n\r\n inputChange = (e) => {\r\n this.setState({\r\n value: e.target.value\r\n })\r\n this.props.onChange && this.props.onChange(e.target.value);\r\n }\r\n\r\n showModal = () => {\r\n this.setState({\r\n visible: !this.state.visible\r\n });\r\n }\r\n\r\n handleOk = (e) => {\r\n this.props.handleOk && this.props.handleOk(this.getShowValue());\r\n this.showModal();\r\n }\r\n\r\n handleCancel = (e) => {\r\n this.props.handleCancel && this.props.handleCancel(this.getShowValue());\r\n this.showModal()\r\n }\r\n\r\n setStateValue = (key) => {\r\n let newValue = Keyboard.getNewValue(this.input.input, this.getShowValue(), key);\r\n this.setState({\r\n value: newValue\r\n }, () => {\r\n this.props.onChange && this.props.onChange(newValue);\r\n })\r\n }\r\n\r\n getKeyboardIcon = () => {\r\n return (\r\n this.state.visible ?\r\n <Ticon type='jianpan1' style={{ color: '#999' }} />\r\n :\r\n <Ticon type='jianpan2' style={{ color: '#999' }} />\r\n )\r\n }\r\n\r\n iconShowModal = (e) => {\r\n e.preventDefault()\r\n if (this.props.disabled) {\r\n return;\r\n }\r\n // this.showModal();\r\n \r\n if (this.isFocus) {\r\n this.input.input.blur()\r\n } else {\r\n this.input.input.focus()\r\n } \r\n }\r\n\r\n getShowValue = () => {\r\n return this.props.value == undefined ? this.state.value : this.props.value;\r\n }\r\n\r\n inputBlur = () => {\r\n this.isFocus = false\r\n this.setState({\r\n visible: false\r\n })\r\n }\r\n\r\n inputFocus = () => {\r\n this.props.onFocus && this.props.onFocus(this.input)\r\n \r\n // if (this.props.which == 'icon') {\r\n // return;\r\n // }\r\n this.showModal();\r\n this.isFocus = true\r\n }\r\n\r\n inputKeyDown = (e) => {\r\n if (e.keyCode == 13) { // 按下回车按钮\r\n this.props.handleEnter && this.props.handleEnter(this.getShowValue());\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.props.onRef && this.props.onRef(this);\r\n }\r\n\r\n render() {\r\n let { prefix, which, onRef, ...props } = { ...this.props };\r\n let value = this.getShowValue();\r\n return (\r\n <div className='keyboard'>\r\n {\r\n <Input.Group className='keyboard-input keybord-icon-focus'>\r\n <Input type=\"text\"\r\n {...props}\r\n prefix={prefix ? <Ticon type={prefix} className='search-icon' /> : null}\r\n onChange={this.inputChange}\r\n onFocus={this.inputFocus}\r\n onBlur={this.inputBlur}\r\n onKeyDown={this.inputKeyDown}\r\n value={this.props.value}\r\n ref={input => this.input = input}\r\n allowClear={this.isMobileEnvironment}\r\n // suffix={which == 'icon' && !this.isMobileEnvironment ?\r\n // <span className='keyboard-icon' onMouseDown={e => e.preventDefault()} onClick={this.iconShowModal}>\r\n // {\r\n // this.getKeyboardIcon()\r\n // }\r\n // </span>\r\n // :\r\n // null}\r\n />\r\n {/* 优化2期修改键盘输入框交互。由小键盘图标点击之后打开的键盘,点击小键盘可以关闭。由于antd的Input组件对suffix做点击事件的冲突,所以将图标移到了Input外面 */}\r\n {\r\n which == 'icon' && !this.isMobileEnvironment ?\r\n <span className='keyboard-icon' onMouseDown={e => e.preventDefault()} onClick={this.iconShowModal}>\r\n {\r\n this.getKeyboardIcon()\r\n }\r\n </span>\r\n :\r\n null\r\n }\r\n </Input.Group>\r\n\r\n }\r\n {\r\n !this.isMobileEnvironment &&\r\n <Keyboard type='letter+modal' value={value} visible={this.state.visible} onChange={this.setStateValue} handleOk={this.handleOk} handleCancel={this.handleCancel} />\r\n }\r\n </div>\r\n )\r\n }\r\n}"]}
@@ -286,12 +286,12 @@ var NumKeyboard = (_temp = _class = function (_Component) {
286
286
  };
287
287
 
288
288
  _this.onShowPopover = function () {
289
- _this.setState({
290
- visible: true
291
- }, function () {
289
+ if (_this.state.visible) {
290
+ _this.input.input.blur();
291
+ } else {
292
292
  _this.input.input.focus();
293
293
  _this.input.input.select();
294
- });
294
+ }
295
295
  };
296
296
 
297
297
  _this.getValue = function () {
@@ -409,7 +409,7 @@ var NumKeyboard = (_temp = _class = function (_Component) {
409
409
  { className: 'keyboard number-keyboard ' + (!bordered ? 'no-bordered' : '') + ' ' + className },
410
410
  trigger == 'click' ? _react2.default.createElement(
411
411
  _input2.default.Group,
412
- null,
412
+ { className: 'keybord-icon-focus' },
413
413
  _react2.default.createElement(_input2.default, (0, _extends3.default)({ type: 'text'
414
414
  }, _props, {
415
415
  className: inputClassName + ' keyboard-input',
@@ -419,9 +419,10 @@ var NumKeyboard = (_temp = _class = function (_Component) {
419
419
  ref: function ref(input) {
420
420
  return _this2.input = input;
421
421
  },
422
- allowClear: this.isMobileEnvironment,
423
- suffix: !this.isMobileEnvironment && this.getKeyboardIcon()
424
- }))
422
+ allowClear: this.isMobileEnvironment
423
+ // suffix={!this.isMobileEnvironment && this.getKeyboardIcon() }
424
+ })),
425
+ !this.isMobileEnvironment && this.getKeyboardIcon()
425
426
  ) : _react2.default.createElement(
426
427
  _input2.default.Group,
427
428
  null,
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-components-touch/components/keyboard/numKeyboard.js"],"names":["NumKeyboard","props","numClick","key","handleOk","result","state","value","setState","visible","length1","maxLength","length2","precisionLength","indexOf","newValue","Keyboard","getNewValue","input","getShowValue","v","v1","v2","slice","length","split","setStateValue","getKeyboard","nums","numsKey","map","item","Math","random","bind","type","e","preventDefault","undefined","fn","onChange","name","inputChange","target","isReturn","tools","isSubFloat","isfloat","match","max","min","isNull","onFocus","select","onVisibleChange","onShowPopover","focus","getValue","setValue","console","log","onHidePopover","getKeyboardIcon","propsVisible","show","isPropsVisible","icon","popClassName","disabled","color","platform","isHorizontalPad","isMobileEnvironment","defaultValue","bordered","trigger","onIconClick","className","inputClassName","_props","Component","propTypes","PropTypes","func","string","bool","defaultProps"],"mappings":"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","file":"numKeyboard.js","sourcesContent":["import React, { Component } from 'react';\r\nimport { platform } from 'mutants-util';\r\nimport { Ticon, Keyboard } from '../../index';\r\n\r\nimport PropTypes from 'prop-types';\r\nimport { Popover, Input } from 'antd';\r\nimport tools from '../../util/tools';\r\n\r\nexport default class NumKeyboard extends Component {\r\n\r\n static propTypes = {\r\n onChange: PropTypes.func,\r\n icon: PropTypes.string,\r\n bordered: PropTypes.bool, // 是否要 通过 icon 来触发键盘弹出\r\n popClassName: PropTypes.string, // 键盘弹出框的 className\r\n onIconClick: PropTypes.func\r\n }\r\n\r\n static defaultProps = {\r\n trigger: 'click',\r\n bordered: false,\r\n icon: 'jianpan'\r\n }\r\n\r\n constructor(props) {\r\n super();\r\n this.state = {\r\n visible: false,\r\n value: props.value || ''\r\n }\r\n const { isHorizontalPad } = platform || {};\r\n this.isMobileEnvironment = !!isHorizontalPad;\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({\r\n value: this.props.defaultValue || ''\r\n })\r\n }\r\n\r\n numClick = (key) => {\r\n // let newValue = Keyboard.getNewValue(this.input.input, this.getShowValue(), key, true);\r\n // this.setStateValue(newValue);\r\n\r\n if (key == 'sure') {\r\n if (this.props.handleOk) {\r\n let result = this.props.handleOk(this.state.value);\r\n if (result) {\r\n this.setState({\r\n visible: false\r\n })\r\n }\r\n }\r\n return;\r\n }\r\n let length1 = this.props.maxLength;\r\n let length2 = this.props.precisionLength;\r\n if (length2 == 0 && key == '.') {\r\n return;\r\n }\r\n let value = this.state.value + '';\r\n if (value == '' && key == '.') { // 不允许小数的时候,也不允许小数点\r\n return;\r\n }\r\n if ((value + '').indexOf('.') > 0 && key == '.') {\r\n return;\r\n }\r\n\r\n let newValue = Keyboard.getNewValue(this.input.input, this.getShowValue(), key, true);\r\n\r\n if (length1 && length2) {\r\n let v = newValue, v1, v2;\r\n if (value.indexOf('-') != -1) {\r\n v = value.slice(1, value.length);\r\n }\r\n v1 = v.split('.')[0];\r\n v2 = v.split('.')[1];\r\n if (v.length > length1 || (v2 && v2.length > length2) || (v1 && v1.length > (length1-length2-1))) {\r\n return;\r\n }\r\n }\r\n\r\n this.setStateValue(newValue);\r\n\r\n // this.setState({\r\n // value: newValue\r\n // }, () => {\r\n // this.props.onChange && this.props.onChange(this.state.value);\r\n // })\r\n }\r\n\r\n getKeyboard = () => {\r\n let nums = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '00', '.'];\r\n let numsKey = nums.map((item) => <div className='num key' key={item + Math.random()} onClick={this.numClick.bind(this, item)}>{item}</div>)\r\n let {type} = this.props;\r\n return (\r\n <div className='clearfix' onMouseDown={e => e.preventDefault()}>\r\n\r\n <div className=\"nums clearfix\">\r\n {numsKey}\r\n </div>\r\n <div className=\"dels clearfix\">\r\n <div className=\"del key\" onClick={this.numClick.bind(this, 'delete')}>\r\n <Ticon type='tuige' />\r\n </div>\r\n {\r\n type == 'positive' ?\r\n <React.Fragment>\r\n <div className={`del key clear positive`} onClick={this.numClick.bind(this, 'clear')}>清<br /><br />空</div>\r\n </React.Fragment>\r\n :\r\n null\r\n }\r\n {\r\n type == 'sure' ?\r\n <React.Fragment>\r\n <div className=\"del key\" onClick={this.numClick.bind(this, 'clear')}>清空</div>\r\n <div className={`del key sure real-sure`} onClick={this.numClick.bind(this, 'sure')}>确<br /><br />定</div>\r\n </React.Fragment>\r\n :\r\n null\r\n }\r\n {\r\n type == undefined || type == 'text' ?\r\n <React.Fragment>\r\n <div className=\"del key\" onClick={this.numClick.bind(this, '-')}>—</div>\r\n <div className={`del key clear`} onClick={this.numClick.bind(this, 'clear')}>清<br /><br />空</div>\r\n </React.Fragment>\r\n :\r\n null\r\n }\r\n </div>\r\n </div>\r\n )\r\n }\r\n\r\n setStateValue = (value, fn) => {\r\n this.setState({\r\n value: value\r\n }, () => {\r\n if (this.props.onChange) {\r\n this.props.onChange(this.getShowValue(), this.props.name);\r\n }\r\n if (fn && typeof fn == 'function') fn();\r\n })\r\n }\r\n\r\n inputChange = (e) => {\r\n const v = e && e.target.value;\r\n if(v === '') {\r\n this.setStateValue('');\r\n return;\r\n }\r\n let newValue;\r\n const { isReturn } = this.props;\r\n if (isReturn) {\r\n if (! tools.isSubFloat(v)) {\r\n return;\r\n }\r\n } else {\r\n if (! tools.isfloat(v)) {\r\n return;\r\n }\r\n }\r\n if (v.match(/\\./g) && v.match(/\\./g).length > 1) {\r\n return;\r\n }\r\n if (this.props.type == \"positive\") { // 只允许输入正数\r\n newValue = (v + '').match(/\\d+\\.?\\d*/);\r\n } else {\r\n newValue = (v + '').match(/^(\\-)?[(\\d*)|(\\d+\\.?\\d*)]*$/);\r\n }\r\n let length1 = this.props.maxLength;\r\n let length2 = this.props.precisionLength;\r\n if (length1 >=0 && length2 >=0) {\r\n let v = (newValue ? newValue[0] : '') + '', v1, v2;\r\n if (v.indexOf('-') != -1) {\r\n v = v.slice(1, v.length);\r\n }\r\n v1 = v.split('.')[0];\r\n v2 = v.split('.')[1];\r\n if (v.length > length1 || (v2 && v2.length > length2) || (v1 && v1.length > (length1-length2-1))) {\r\n return;\r\n }\r\n if (length2 == 0 && v.indexOf('.') > 0) { // 不允许小数的时候,也不允许小数点\r\n return;\r\n }\r\n }\r\n if (newValue && newValue[0]) {\r\n newValue = newValue[0];\r\n if( newValue!=='-' ){\r\n const {max={}} = this.props;\r\n const {min={}} = this.props;\r\n if(!tools.isNull(max.value) && newValue>max.value)return\r\n if(!tools.isNull(min.value)&& newValue<min.value)return\r\n }\r\n this.setStateValue( newValue || '');\r\n }\r\n // this.setState({\r\n // value: newValue && newValue[0] || ''\r\n // }, () => {\r\n // this.props.onChange && this.props.onChange(this.state.value);\r\n // })\r\n }\r\n\r\n onFocus = () => {\r\n this.props.onFocus&&this.props.onFocus();\r\n this.input.input.select()\r\n this.onVisibleChange(true)\r\n }\r\n\r\n onShowPopover = () => {\r\n this.setState({\r\n visible: true\r\n }, () => {\r\n this.input.input.focus();\r\n this.input.input.select()\r\n })\r\n }\r\n\r\n /**\r\n * 对外提供的 get 方法\r\n */\r\n getValue = () => {\r\n return this.getShowValue();\r\n }\r\n\r\n /**\r\n * 对外提供的 set 方法\r\n */\r\n setValue = (value) => {\r\n this.setState({\r\n value: value\r\n })\r\n }\r\n\r\n onVisibleChange = (visible) => {\r\n console.log('onVisibleChange', visible);\r\n this.setState({\r\n visible\r\n })\r\n this.props.onVisibleChange && this.props.onVisibleChange(visible);\r\n }\r\n\r\n onHidePopover = () => {\r\n this.setState({\r\n visible: false\r\n })\r\n }\r\n\r\n getShowValue = () => {\r\n return this.props.value === undefined ? this.state.value : this.props.value;\r\n }\r\n\r\n getKeyboardIcon = () => {\r\n let propsVisible = this.props.show;\r\n let isPropsVisible = propsVisible !== undefined;\r\n let icon = isPropsVisible ? (propsVisible ? 'jianpan1' : 'jianpan2') : (this.state.visible ? 'jianpan1' : 'jianpan2');\r\n let { popClassName = '' } = this.props;\r\n return (\r\n this.props.disabled ?\r\n <Ticon className='keyboard-icon' type={icon} style={{ color: '#999' }} />\r\n :\r\n <Popover\r\n placement='bottomRight'\r\n onVisibleChange={this.onVisibleChange}\r\n onHide={this.onHidePopover}\r\n title={null}\r\n // arrowOffsetTop={-200}\r\n // arrowOffsetLeft={400}\r\n visible={isPropsVisible ? propsVisible : this.state.visible}\r\n content={this.getKeyboard()}\r\n trigger='click'\r\n overlayClassName={`num-keyboard-popover num-keyboard-popover-click ${popClassName} `} >\r\n <Ticon className='keyboard-icon' type={icon} style={{ color: '#999'}} onClick={this.onShowPopover} />\r\n </Popover>\r\n )\r\n }\r\n\r\n render() {\r\n let { bordered, trigger, onIconClick = () => { }, icon, className = '', popClassName = '',inputClassName='' } = this.props;\r\n let _props = {...this.props};\r\n delete _props.bordered;\r\n delete _props.trigger;\r\n delete _props.className;\r\n delete _props.popClassName;\r\n delete _props.icon;\r\n delete _props.onIconClick;\r\n delete _props.inputClassName;\r\n delete _props.precisionLength;\r\n delete _props.maxLength;\r\n let value = this.getShowValue();\r\n return (\r\n <div className={`keyboard number-keyboard ${!bordered ? 'no-bordered' : ''} ${className}`}>\r\n {\r\n trigger == 'click' ?\r\n <Input.Group>\r\n <Input type=\"text\"\r\n {..._props}\r\n className={`${inputClassName} keyboard-input`}\r\n onFocus={this.onFocus}\r\n onChange={this.inputChange}\r\n value={value}\r\n ref={input => this.input = input}\r\n allowClear={this.isMobileEnvironment}\r\n suffix={!this.isMobileEnvironment && this.getKeyboardIcon() }\r\n />\r\n </Input.Group>\r\n :\r\n <Input.Group>\r\n <Popover\r\n placement='bottomRight'\r\n onVisibleChange={this.onVisibleChange}\r\n onHide={this.onHidePopover}\r\n rootClose={false}\r\n title={null}\r\n visible={this.state.visible}\r\n content={this.getKeyboard()}\r\n trigger='focus'\r\n overlayClassName={`num-keyboard-popover num-keyboard-popover-focus ${popClassName} `}\r\n >\r\n <Input type=\"text\" className='keyboard-input' {..._props} onBlur={this.onHidePopover} onFocus={this.onShowPopover} onChange={this.inputChange} value={value} ref={input => this.input = input}\r\n suffix={<Ticon className='keyboard-icon' type={icon} style={{ color: '#999' }} onClick={onIconClick} />}/>\r\n </Popover>\r\n </Input.Group>\r\n }\r\n </div>\r\n )\r\n }\r\n}\r\n"]}
1
+ {"version":3,"sources":["tplus-components-touch/components/keyboard/numKeyboard.js"],"names":["NumKeyboard","props","numClick","key","handleOk","result","state","value","setState","visible","length1","maxLength","length2","precisionLength","indexOf","newValue","Keyboard","getNewValue","input","getShowValue","v","v1","v2","slice","length","split","setStateValue","getKeyboard","nums","numsKey","map","item","Math","random","bind","type","e","preventDefault","undefined","fn","onChange","name","inputChange","target","isReturn","tools","isSubFloat","isfloat","match","max","min","isNull","onFocus","select","onVisibleChange","onShowPopover","blur","focus","getValue","setValue","console","log","onHidePopover","getKeyboardIcon","propsVisible","show","isPropsVisible","icon","popClassName","disabled","color","platform","isHorizontalPad","isMobileEnvironment","defaultValue","bordered","trigger","onIconClick","className","inputClassName","_props","Component","propTypes","PropTypes","func","string","bool","defaultProps"],"mappings":"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","file":"numKeyboard.js","sourcesContent":["import React, { Component } from 'react';\r\nimport { platform } from 'mutants-util';\r\nimport { Ticon, Keyboard } from '../../index';\r\n\r\nimport PropTypes from 'prop-types';\r\nimport { Popover, Input } from 'antd';\r\nimport tools from '../../util/tools';\r\n\r\nexport default class NumKeyboard extends Component {\r\n\r\n static propTypes = {\r\n onChange: PropTypes.func,\r\n icon: PropTypes.string,\r\n bordered: PropTypes.bool, // 是否要 通过 icon 来触发键盘弹出\r\n popClassName: PropTypes.string, // 键盘弹出框的 className\r\n onIconClick: PropTypes.func\r\n }\r\n\r\n static defaultProps = {\r\n trigger: 'click',\r\n bordered: false,\r\n icon: 'jianpan'\r\n }\r\n\r\n constructor(props) {\r\n super();\r\n this.state = {\r\n visible: false,\r\n value: props.value || ''\r\n }\r\n const { isHorizontalPad } = platform || {};\r\n this.isMobileEnvironment = !!isHorizontalPad;\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({\r\n value: this.props.defaultValue || ''\r\n })\r\n }\r\n\r\n numClick = (key) => {\r\n // let newValue = Keyboard.getNewValue(this.input.input, this.getShowValue(), key, true);\r\n // this.setStateValue(newValue);\r\n\r\n if (key == 'sure') {\r\n if (this.props.handleOk) {\r\n let result = this.props.handleOk(this.state.value);\r\n if (result) {\r\n this.setState({\r\n visible: false\r\n })\r\n }\r\n }\r\n return;\r\n }\r\n let length1 = this.props.maxLength;\r\n let length2 = this.props.precisionLength;\r\n if (length2 == 0 && key == '.') {\r\n return;\r\n }\r\n let value = this.state.value + '';\r\n if (value == '' && key == '.') { // 不允许小数的时候,也不允许小数点\r\n return;\r\n }\r\n if ((value + '').indexOf('.') > 0 && key == '.') {\r\n return;\r\n }\r\n\r\n let newValue = Keyboard.getNewValue(this.input.input, this.getShowValue(), key, true);\r\n\r\n if (length1 && length2) {\r\n let v = newValue, v1, v2;\r\n if (value.indexOf('-') != -1) {\r\n v = value.slice(1, value.length);\r\n }\r\n v1 = v.split('.')[0];\r\n v2 = v.split('.')[1];\r\n if (v.length > length1 || (v2 && v2.length > length2) || (v1 && v1.length > (length1-length2-1))) {\r\n return;\r\n }\r\n }\r\n\r\n this.setStateValue(newValue);\r\n\r\n // this.setState({\r\n // value: newValue\r\n // }, () => {\r\n // this.props.onChange && this.props.onChange(this.state.value);\r\n // })\r\n }\r\n\r\n getKeyboard = () => {\r\n let nums = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '00', '.'];\r\n let numsKey = nums.map((item) => <div className='num key' key={item + Math.random()} onClick={this.numClick.bind(this, item)}>{item}</div>)\r\n let {type} = this.props;\r\n return (\r\n <div className='clearfix' onMouseDown={e => e.preventDefault()}>\r\n\r\n <div className=\"nums clearfix\">\r\n {numsKey}\r\n </div>\r\n <div className=\"dels clearfix\">\r\n <div className=\"del key\" onClick={this.numClick.bind(this, 'delete')}>\r\n <Ticon type='tuige' />\r\n </div>\r\n {\r\n type == 'positive' ?\r\n <React.Fragment>\r\n <div className={`del key clear positive`} onClick={this.numClick.bind(this, 'clear')}>清<br /><br />空</div>\r\n </React.Fragment>\r\n :\r\n null\r\n }\r\n {\r\n type == 'sure' ?\r\n <React.Fragment>\r\n <div className=\"del key\" onClick={this.numClick.bind(this, 'clear')}>清空</div>\r\n <div className={`del key sure real-sure`} onClick={this.numClick.bind(this, 'sure')}>确<br /><br />定</div>\r\n </React.Fragment>\r\n :\r\n null\r\n }\r\n {\r\n type == undefined || type == 'text' ?\r\n <React.Fragment>\r\n <div className=\"del key\" onClick={this.numClick.bind(this, '-')}>—</div>\r\n <div className={`del key clear`} onClick={this.numClick.bind(this, 'clear')}>清<br /><br />空</div>\r\n </React.Fragment>\r\n :\r\n null\r\n }\r\n </div>\r\n </div>\r\n )\r\n }\r\n\r\n setStateValue = (value, fn) => {\r\n this.setState({\r\n value: value\r\n }, () => {\r\n if (this.props.onChange) {\r\n this.props.onChange(this.getShowValue(), this.props.name);\r\n }\r\n if (fn && typeof fn == 'function') fn();\r\n })\r\n }\r\n\r\n inputChange = (e) => {\r\n const v = e && e.target.value;\r\n if(v === '') {\r\n this.setStateValue('');\r\n return;\r\n }\r\n let newValue;\r\n const { isReturn } = this.props;\r\n if (isReturn) {\r\n if (! tools.isSubFloat(v)) {\r\n return;\r\n }\r\n } else {\r\n if (! tools.isfloat(v)) {\r\n return;\r\n }\r\n }\r\n if (v.match(/\\./g) && v.match(/\\./g).length > 1) {\r\n return;\r\n }\r\n if (this.props.type == \"positive\") { // 只允许输入正数\r\n newValue = (v + '').match(/\\d+\\.?\\d*/);\r\n } else {\r\n newValue = (v + '').match(/^(\\-)?[(\\d*)|(\\d+\\.?\\d*)]*$/);\r\n }\r\n let length1 = this.props.maxLength;\r\n let length2 = this.props.precisionLength;\r\n if (length1 >=0 && length2 >=0) {\r\n let v = (newValue ? newValue[0] : '') + '', v1, v2;\r\n if (v.indexOf('-') != -1) {\r\n v = v.slice(1, v.length);\r\n }\r\n v1 = v.split('.')[0];\r\n v2 = v.split('.')[1];\r\n if (v.length > length1 || (v2 && v2.length > length2) || (v1 && v1.length > (length1-length2-1))) {\r\n return;\r\n }\r\n if (length2 == 0 && v.indexOf('.') > 0) { // 不允许小数的时候,也不允许小数点\r\n return;\r\n }\r\n }\r\n if (newValue && newValue[0]) {\r\n newValue = newValue[0];\r\n if( newValue!=='-' ){\r\n const {max={}} = this.props;\r\n const {min={}} = this.props;\r\n if(!tools.isNull(max.value) && newValue>max.value)return\r\n if(!tools.isNull(min.value)&& newValue<min.value)return\r\n }\r\n this.setStateValue( newValue || '');\r\n }\r\n // this.setState({\r\n // value: newValue && newValue[0] || ''\r\n // }, () => {\r\n // this.props.onChange && this.props.onChange(this.state.value);\r\n // })\r\n }\r\n\r\n onFocus = () => {\r\n this.props.onFocus&&this.props.onFocus();\r\n this.input.input.select()\r\n this.onVisibleChange(true)\r\n }\r\n\r\n onShowPopover = () => {\r\n if (this.state.visible) {\r\n this.input.input.blur()\r\n } else {\r\n this.input.input.focus();\r\n this.input.input.select()\r\n }\r\n }\r\n\r\n /**\r\n * 对外提供的 get 方法\r\n */\r\n getValue = () => {\r\n return this.getShowValue();\r\n }\r\n\r\n /**\r\n * 对外提供的 set 方法\r\n */\r\n setValue = (value) => {\r\n this.setState({\r\n value: value\r\n })\r\n }\r\n\r\n onVisibleChange = (visible) => {\r\n console.log('onVisibleChange', visible);\r\n this.setState({\r\n visible\r\n })\r\n this.props.onVisibleChange && this.props.onVisibleChange(visible);\r\n }\r\n\r\n onHidePopover = () => {\r\n this.setState({\r\n visible: false\r\n })\r\n }\r\n\r\n getShowValue = () => {\r\n return this.props.value === undefined ? this.state.value : this.props.value;\r\n }\r\n\r\n getKeyboardIcon = () => {\r\n let propsVisible = this.props.show;\r\n let isPropsVisible = propsVisible !== undefined;\r\n let icon = isPropsVisible ? (propsVisible ? 'jianpan1' : 'jianpan2') : (this.state.visible ? 'jianpan1' : 'jianpan2');\r\n let { popClassName = '' } = this.props;\r\n return (\r\n this.props.disabled ?\r\n <Ticon className='keyboard-icon' type={icon} style={{ color: '#999' }} />\r\n :\r\n <Popover\r\n placement='bottomRight'\r\n onVisibleChange={this.onVisibleChange}\r\n onHide={this.onHidePopover}\r\n title={null}\r\n // arrowOffsetTop={-200}\r\n // arrowOffsetLeft={400}\r\n visible={isPropsVisible ? propsVisible : this.state.visible}\r\n content={this.getKeyboard()}\r\n trigger='click'\r\n overlayClassName={`num-keyboard-popover num-keyboard-popover-click ${popClassName} `} >\r\n <Ticon className='keyboard-icon' type={icon} style={{ color: '#999'}} onClick={this.onShowPopover} />\r\n </Popover>\r\n )\r\n }\r\n\r\n render() {\r\n let { bordered, trigger, onIconClick = () => { }, icon, className = '', popClassName = '',inputClassName='' } = this.props;\r\n let _props = {...this.props};\r\n delete _props.bordered;\r\n delete _props.trigger;\r\n delete _props.className;\r\n delete _props.popClassName;\r\n delete _props.icon;\r\n delete _props.onIconClick;\r\n delete _props.inputClassName;\r\n delete _props.precisionLength;\r\n delete _props.maxLength;\r\n let value = this.getShowValue();\r\n return (\r\n <div className={`keyboard number-keyboard ${!bordered ? 'no-bordered' : ''} ${className}`}>\r\n {\r\n trigger == 'click' ?\r\n <Input.Group className='keybord-icon-focus'>\r\n <Input type=\"text\"\r\n {..._props}\r\n className={`${inputClassName} keyboard-input`}\r\n onFocus={this.onFocus}\r\n onChange={this.inputChange}\r\n value={value}\r\n ref={input => this.input = input}\r\n allowClear={this.isMobileEnvironment}\r\n // suffix={!this.isMobileEnvironment && this.getKeyboardIcon() }\r\n />\r\n {\r\n !this.isMobileEnvironment && this.getKeyboardIcon()\r\n }\r\n </Input.Group>\r\n \r\n :\r\n <Input.Group>\r\n <Popover\r\n placement='bottomRight'\r\n onVisibleChange={this.onVisibleChange}\r\n onHide={this.onHidePopover}\r\n rootClose={false}\r\n title={null}\r\n visible={this.state.visible}\r\n content={this.getKeyboard()}\r\n trigger='focus'\r\n overlayClassName={`num-keyboard-popover num-keyboard-popover-focus ${popClassName} `}\r\n >\r\n <Input type=\"text\" className='keyboard-input' {..._props} onBlur={this.onHidePopover} onFocus={this.onShowPopover} onChange={this.inputChange} value={value} ref={input => this.input = input}\r\n suffix={<Ticon className='keyboard-icon' type={icon} style={{ color: '#999' }} onClick={onIconClick} />}/>\r\n </Popover>\r\n </Input.Group>\r\n }\r\n </div>\r\n )\r\n }\r\n}\r\n"]}
@@ -79,34 +79,38 @@ var NumKeyboard = (_temp = _class = function (_Component) {
79
79
  }
80
80
  };
81
81
 
82
+ _this.onBlur = function () {
83
+ _index.Keyboard.close();
84
+ };
85
+
82
86
  _this.onFocus = function () {
83
87
  _this.props.onFocus && _this.props.onFocus();
84
88
  _this.input.input.select();
89
+ _index.Keyboard.open(function (v) {
90
+ if (/^[\d\w]+$/.test(v)) {
91
+ var newValue = _index.Keyboard.getNewValue(_this.input.input, _this.getShowValue(), v);
92
+ _this.setStateValue(newValue);
93
+ }
94
+ }, function () {
95
+ _this.input.input.blur();
96
+ _this.setState({ changeKey: false });
97
+ }, function () {
98
+ _this.input.input.blur();
99
+ _this.setState({ changeKey: false });
100
+ })();
101
+ _this.setState({ changeKey: true });
85
102
  };
86
103
 
87
104
  _this.onShowKeyBoard = function () {
88
- if (_this.state.changeKey == true) {
89
- _index.Keyboard.close();
90
- } else {
91
- _index.Keyboard.open(function (v) {
92
- if (/^[\d\w]+$/.test(v)) {
93
- var newValue = _index.Keyboard.getNewValue(_this.input.input, _this.getShowValue(), v);
94
- _this.setStateValue(newValue);
95
- }
96
- }, function () {
97
- _index.Keyboard.close();
98
- _this.setState({ changeKey: false });
99
- }, function () {
100
- _index.Keyboard.close();
101
- _this.setState({ changeKey: false });
102
- })();
103
- _this.setState({ changeKey: true });
104
- }
105
+ var changeKey = _this.state.changeKey;
105
106
 
106
- _this.setState({}, function () {
107
+ if (_this.state.changeKey) {
108
+ _this.input.input.blur();
109
+ _this.setState({ changeKey: false });
110
+ } else {
107
111
  _this.input.input.focus();
108
112
  _this.input.input.select();
109
- });
113
+ }
110
114
  };
111
115
 
112
116
  _this.getShowValue = function () {
@@ -116,7 +120,9 @@ var NumKeyboard = (_temp = _class = function (_Component) {
116
120
  _this.getKeyboardIcon = function () {
117
121
  var icon = _this.state.changeKey ? 'jianpan1' : 'jianpan2';
118
122
 
119
- return _react2.default.createElement(_index.Ticon, { className: 'keyboard-icon', type: icon, style: { color: '#999' }, onClick: _this.onShowKeyBoard });
123
+ return _react2.default.createElement(_index.Ticon, { className: 'keyboard-icon', type: icon, style: { color: '#999' }, onMouseDown: function onMouseDown(e) {
124
+ return e.preventDefault();
125
+ }, onClick: _this.onShowKeyBoard });
120
126
  };
121
127
 
122
128
  _this.state = {
@@ -163,19 +169,21 @@ var NumKeyboard = (_temp = _class = function (_Component) {
163
169
  var value = this.getShowValue();
164
170
  return _react2.default.createElement(
165
171
  'div',
166
- { className: 'keyboard number-keyboard ' + (!bordered ? 'no-bordered' : '') + ' ' + className },
172
+ { className: 'keyboard number-keyboard keybord-icon-focus ' + (!bordered ? 'no-bordered' : '') + ' ' + className },
167
173
  _react2.default.createElement(_input2.default, (0, _extends3.default)({ type: 'text'
168
174
  }, _props, {
169
175
  className: inputClassName + ' keyboard-input',
170
176
  onFocus: this.onFocus,
171
177
  onChange: this.inputChange,
178
+ onBlur: this.onBlur,
172
179
  value: value,
173
180
  ref: function ref(input) {
174
181
  return _this2.input = input;
175
182
  },
176
- allowClear: this.isMobileEnvironment,
177
- suffix: !this.isMobileEnvironment && this.getKeyboardIcon()
178
- }))
183
+ allowClear: this.isMobileEnvironment
184
+ // suffix={!this.isMobileEnvironment && this.getKeyboardIcon()}
185
+ })),
186
+ !this.isMobileEnvironment && this.getKeyboardIcon()
179
187
  );
180
188
  }
181
189
  }]);
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-components-touch/components/keyboard/numKeyboardScan.js"],"names":["NumKeyboard","props","setStateValue","value","fn","setState","onChange","getShowValue","name","inputChange","e","test","target","onFocus","input","select","onShowKeyBoard","state","changeKey","Keyboard","close","open","v","newValue","getNewValue","focus","undefined","getKeyboardIcon","icon","color","platform","isHorizontalPad","isMobileEnvironment","defaultValue","bordered","className","inputClassName","_props","trigger","popClassName","onIconClick","precisionLength","maxLength","Component","propTypes","PropTypes","func","string","bool","defaultProps"],"mappings":"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","file":"numKeyboardScan.js","sourcesContent":["import React, { Component } from 'react';\r\nimport { Input } from 'antd';\r\nimport { platform } from 'mutants-util';\r\nimport { Ticon, Keyboard } from '../../index';\r\n\r\nimport PropTypes from 'prop-types';\r\n\r\nexport default class NumKeyboard extends Component {\r\n\r\n static propTypes = {\r\n onChange: PropTypes.func,\r\n icon: PropTypes.string,\r\n bordered: PropTypes.bool, // 是否要 通过 icon 来触发键盘弹出\r\n popClassName: PropTypes.string, // 键盘弹出框的 className\r\n onIconClick: PropTypes.func\r\n }\r\n\r\n static defaultProps = {\r\n trigger: 'click',\r\n bordered: false,\r\n icon: 'jianpan'\r\n }\r\n\r\n constructor(props) {\r\n super();\r\n this.state = {\r\n value: props.value || '',\r\n changeKey: false\r\n }\r\n const { isHorizontalPad } = platform || {};\r\n this.isMobileEnvironment = !!isHorizontalPad;\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({\r\n value: this.props.defaultValue || ''\r\n })\r\n }\r\n\r\n setStateValue = (value, fn) => {\r\n this.setState({\r\n value: value\r\n }, () => {\r\n if (this.props.onChange) {\r\n this.props.onChange(this.getShowValue(), this.props.name);\r\n }\r\n if (fn && typeof fn == 'function') fn();\r\n })\r\n }\r\n\r\n inputChange = (e) => {\r\n if(/^[\\d\\w]+$/.test(e.target.value)){\r\n this.setStateValue(e.target.value)\r\n }\r\n if (e.target.value === \"\") {\r\n this.setStateValue('')\r\n }\r\n }\r\n\r\n onFocus = () => {\r\n this.props.onFocus&&this.props.onFocus();\r\n this.input.input.select()\r\n }\r\n\r\n onShowKeyBoard = () => {\r\n if (this.state.changeKey == true) {\r\n Keyboard.close()\r\n } else {\r\n Keyboard.open((v) => {\r\n if (/^[\\d\\w]+$/.test(v)) {\r\n let newValue = Keyboard.getNewValue(this.input.input, this.getShowValue(), v);\r\n this.setStateValue(newValue);\r\n }\r\n }, () => {\r\n Keyboard.close()\r\n this.setState({ changeKey: false })\r\n }, () => {\r\n Keyboard.close()\r\n this.setState({ changeKey: false })\r\n })()\r\n this.setState({ changeKey: true })\r\n }\r\n\r\n this.setState({\r\n\r\n },() => {\r\n this.input.input.focus();\r\n this.input.input.select()\r\n })\r\n }\r\n\r\n getShowValue = () => {\r\n return this.props.value === undefined ? this.state.value : this.props.value;\r\n }\r\n\r\n getKeyboardIcon = () => {\r\n let icon = (this.state.changeKey ? 'jianpan1' : 'jianpan2');\r\n\r\n return (\r\n <Ticon className='keyboard-icon' type={icon} style={{ color: '#999'}} onClick={this.onShowKeyBoard} />\r\n )\r\n }\r\n\r\n render() {\r\n let { bordered, className = '', inputClassName='' } = this.props;\r\n let _props = {...this.props};\r\n delete _props.bordered;\r\n delete _props.trigger;\r\n delete _props.className;\r\n delete _props.popClassName;\r\n delete _props.icon;\r\n delete _props.onIconClick;\r\n delete _props.inputClassName;\r\n delete _props.precisionLength;\r\n delete _props.maxLength;\r\n let value = this.getShowValue();\r\n return (\r\n <div className={`keyboard number-keyboard ${!bordered ? 'no-bordered' : ''} ${className}`}>\r\n <Input type=\"text\"\r\n {..._props}\r\n className={`${inputClassName} keyboard-input`}\r\n onFocus={this.onFocus}\r\n onChange={this.inputChange}\r\n value={value}\r\n ref={input => this.input = input}\r\n allowClear={this.isMobileEnvironment}\r\n suffix={!this.isMobileEnvironment && this.getKeyboardIcon()}\r\n />\r\n </div>\r\n )\r\n }\r\n}\r\n"]}
1
+ {"version":3,"sources":["tplus-components-touch/components/keyboard/numKeyboardScan.js"],"names":["NumKeyboard","props","setStateValue","value","fn","setState","onChange","getShowValue","name","inputChange","e","test","target","onBlur","Keyboard","close","onFocus","input","select","open","v","newValue","getNewValue","blur","changeKey","onShowKeyBoard","state","focus","undefined","getKeyboardIcon","icon","color","preventDefault","platform","isHorizontalPad","isMobileEnvironment","defaultValue","bordered","className","inputClassName","_props","trigger","popClassName","onIconClick","precisionLength","maxLength","Component","propTypes","PropTypes","func","string","bool","defaultProps"],"mappings":"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","file":"numKeyboardScan.js","sourcesContent":["import React, { Component } from 'react';\r\nimport { Input } from 'antd';\r\nimport { platform } from 'mutants-util';\r\nimport { Ticon, Keyboard } from '../../index';\r\n\r\nimport PropTypes from 'prop-types';\r\n\r\nexport default class NumKeyboard extends Component {\r\n\r\n static propTypes = {\r\n onChange: PropTypes.func,\r\n icon: PropTypes.string,\r\n bordered: PropTypes.bool, // 是否要 通过 icon 来触发键盘弹出\r\n popClassName: PropTypes.string, // 键盘弹出框的 className\r\n onIconClick: PropTypes.func\r\n }\r\n\r\n static defaultProps = {\r\n trigger: 'click',\r\n bordered: false,\r\n icon: 'jianpan'\r\n }\r\n\r\n constructor(props) {\r\n super();\r\n this.state = {\r\n value: props.value || '',\r\n changeKey: false\r\n }\r\n const { isHorizontalPad } = platform || {};\r\n this.isMobileEnvironment = !!isHorizontalPad;\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({\r\n value: this.props.defaultValue || ''\r\n })\r\n }\r\n\r\n setStateValue = (value, fn) => {\r\n this.setState({\r\n value: value\r\n }, () => {\r\n if (this.props.onChange) {\r\n this.props.onChange(this.getShowValue(), this.props.name);\r\n }\r\n if (fn && typeof fn == 'function') fn();\r\n })\r\n }\r\n\r\n inputChange = (e) => {\r\n if(/^[\\d\\w]+$/.test(e.target.value)){\r\n this.setStateValue(e.target.value)\r\n }\r\n if (e.target.value === \"\") {\r\n this.setStateValue('')\r\n }\r\n }\r\n onBlur = () => {\r\n Keyboard.close()\r\n }\r\n onFocus = () => {\r\n this.props.onFocus&&this.props.onFocus();\r\n this.input.input.select()\r\n Keyboard.open((v) => {\r\n if (/^[\\d\\w]+$/.test(v)) {\r\n let newValue = Keyboard.getNewValue(this.input.input, this.getShowValue(), v);\r\n this.setStateValue(newValue);\r\n }\r\n }, () => {\r\n this.input.input.blur()\r\n this.setState({ changeKey: false })\r\n }, () => {\r\n this.input.input.blur()\r\n this.setState({ changeKey: false })\r\n })()\r\n this.setState({ changeKey: true })\r\n }\r\n\r\n onShowKeyBoard = () => {\r\n const { changeKey } = this.state\r\n if (this.state.changeKey) {\r\n this.input.input.blur()\r\n this.setState({ changeKey: false })\r\n } else {\r\n this.input.input.focus();\r\n this.input.input.select()\r\n }\r\n }\r\n\r\n getShowValue = () => {\r\n return this.props.value === undefined ? this.state.value : this.props.value;\r\n }\r\n\r\n getKeyboardIcon = () => {\r\n let icon = (this.state.changeKey ? 'jianpan1' : 'jianpan2');\r\n\r\n return (\r\n <Ticon className='keyboard-icon' type={icon} style={{ color: '#999'}} onMouseDown={e => e.preventDefault()} onClick={this.onShowKeyBoard} />\r\n )\r\n }\r\n\r\n render() {\r\n let { bordered, className = '', inputClassName='' } = this.props;\r\n let _props = {...this.props};\r\n delete _props.bordered;\r\n delete _props.trigger;\r\n delete _props.className;\r\n delete _props.popClassName;\r\n delete _props.icon;\r\n delete _props.onIconClick;\r\n delete _props.inputClassName;\r\n delete _props.precisionLength;\r\n delete _props.maxLength;\r\n let value = this.getShowValue();\r\n return (\r\n <div className={`keyboard number-keyboard keybord-icon-focus ${!bordered ? 'no-bordered' : ''} ${className}`}>\r\n <Input type=\"text\"\r\n {..._props}\r\n className={`${inputClassName} keyboard-input`}\r\n onFocus={this.onFocus}\r\n onChange={this.inputChange}\r\n onBlur={this.onBlur}\r\n value={value}\r\n ref={input => this.input = input}\r\n allowClear={this.isMobileEnvironment}\r\n // suffix={!this.isMobileEnvironment && this.getKeyboardIcon()}\r\n />\r\n {\r\n !this.isMobileEnvironment && this.getKeyboardIcon()\r\n }\r\n </div>\r\n )\r\n }\r\n}\r\n"]}
@@ -277,17 +277,24 @@ var numkeyboardPassword = (_temp = _class = function (_Component) {
277
277
  _this.props.onFocus && _this.props.onFocus();
278
278
  _this.input.input.select();
279
279
  _this.setState({
280
- count: true
280
+ count: true,
281
+ visible: true
281
282
  });
282
283
  };
283
284
 
284
285
  _this.onShowPopover = function () {
285
- _this.setState({
286
- visible: true
287
- }, function () {
286
+ if (_this.state.visible) {
287
+ _this.input.input.blur();
288
+ } else {
288
289
  _this.input.input.focus();
289
290
  _this.input.input.select();
290
- });
291
+ }
292
+ // this.setState({
293
+ // visible: true
294
+ // }, () => {
295
+ // this.input.input.focus();
296
+ // this.input.input.select()
297
+ // })
291
298
  };
292
299
 
293
300
  _this.getValue = function () {
@@ -406,7 +413,7 @@ var numkeyboardPassword = (_temp = _class = function (_Component) {
406
413
  { className: 'keyboard number-keyboard ' + (!bordered ? 'no-bordered' : '') + ' ' + className },
407
414
  trigger == 'click' ? _react2.default.createElement(
408
415
  _input2.default.Group,
409
- null,
416
+ { className: 'keybord-icon-focus' },
410
417
  _react2.default.createElement(_input2.default, { maxLength: '6',
411
418
  type: 'password',
412
419
  className: inputClassName + ' keyboard-input',
@@ -418,9 +425,10 @@ var numkeyboardPassword = (_temp = _class = function (_Component) {
418
425
  return _this2.input = input;
419
426
  },
420
427
  allowClear: this.isMobileEnvironment,
421
- onBlur: this.props.onBlur,
422
- suffix: !this.isMobileEnvironment && this.getKeyboardIcon()
423
- })
428
+ onBlur: this.props.onBlur
429
+ // suffix={!this.isMobileEnvironment && this.getKeyboardIcon() }
430
+ }),
431
+ !this.isMobileEnvironment && this.getKeyboardIcon()
424
432
  ) : _react2.default.createElement(
425
433
  _input2.default.Group,
426
434
  null,