tplus-components-touch 3.36.4 → 3.36.5
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/dist/components/autoCompleteWithKeyboard/index.js +31 -9
- package/dist/components/autoCompleteWithKeyboard/index.js.map +1 -1
- package/dist/components/autoCompleteWithKeyboard/index.less +11 -0
- package/dist/components/billSearch/index.js +13 -0
- package/dist/components/billSearch/index.js.map +1 -1
- package/dist/components/billSearch/index.less +8 -0
- package/dist/components/commonForm/autoComplete/index.js +35 -16
- package/dist/components/commonForm/autoComplete/index.js.map +1 -1
- package/dist/components/hotKey/localConfig.js +14 -16
- package/dist/components/hotKey/localConfig.js.map +1 -1
- package/dist/components/input/index.js +4 -1
- package/dist/components/input/index.js.map +1 -1
- package/dist/components/input/scanInput.less +4 -1
- package/dist/components/keyboard/index.js +5 -1
- package/dist/components/keyboard/index.js.map +1 -1
- package/dist/components/keyboard/index.less +39 -23
- package/dist/components/keyboard/letterKeyboard.js +33 -16
- package/dist/components/keyboard/letterKeyboard.js.map +1 -1
- package/dist/components/keyboard/numKeyboard.js +23 -13
- package/dist/components/keyboard/numKeyboard.js.map +1 -1
- package/dist/components/keyboard/numKeyboardScan.js +32 -24
- package/dist/components/keyboard/numKeyboardScan.js.map +1 -1
- package/dist/components/keyboard/numkeyboardPassword.js +31 -14
- package/dist/components/keyboard/numkeyboardPassword.js.map +1 -1
- package/dist/components/keyboard/onlyLetterButton2.less +1 -1
- package/dist/components/layout/sider.js +3 -1
- package/dist/components/layout/sider.js.map +1 -1
- package/dist/components/settlement/prototypeTable/index.js +3 -1
- package/dist/components/settlement/prototypeTable/index.js.map +1 -1
- package/dist/components/settlement/settlement.js +74 -539
- package/dist/components/settlement/settlement.js.map +1 -1
- package/dist/components/settlement/settlement.less +5 -1
- package/dist/components/settlement/settlementStore.js +89 -72
- package/dist/components/settlement/settlementStore.js.map +1 -1
- package/dist/components/touchTable/index.js +11 -1
- package/dist/components/touchTable/index.js.map +1 -1
- package/dist/components/touchTable/index.less +1 -1
- package/package.json +1 -1
|
@@ -197,9 +197,13 @@ var Keyboard = (_temp2 = _class = function (_Component) {
|
|
|
197
197
|
var onChange = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function () {};
|
|
198
198
|
var handleOk = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Keyboard.close;
|
|
199
199
|
var handleCancel = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Keyboard.close;
|
|
200
|
+
var option = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
200
201
|
|
|
201
202
|
//在移动端的情况下,不允许打开自定义键盘。
|
|
202
203
|
var isMobileEnvironment = _mutantsUtil.platform && _mutantsUtil.platform.isHorizontalPad === true || window.android_setKeyBoard && window.android_setKeyBoard.isShowAndroidKeyBoard;
|
|
204
|
+
var _option$bottom = option.bottom,
|
|
205
|
+
bottom = _option$bottom === undefined ? 0 : _option$bottom;
|
|
206
|
+
|
|
203
207
|
return function () {
|
|
204
208
|
var el = document.getElementById('keyboard');
|
|
205
209
|
if (!el) {
|
|
@@ -211,7 +215,7 @@ var Keyboard = (_temp2 = _class = function (_Component) {
|
|
|
211
215
|
|
|
212
216
|
var html = !isMobileEnvironment ? _react2.default.createElement(
|
|
213
217
|
'div',
|
|
214
|
-
{ className: 'modal-container z-letter-keyboard-modal' },
|
|
218
|
+
{ className: 'modal-container z-letter-keyboard-modal', style: { bottom: bottom } },
|
|
215
219
|
_react2.default.createElement(
|
|
216
220
|
'div',
|
|
217
221
|
{ className: 'z-letter-keyboard-modal-body modal-body' },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["tplus-components-touch/components/keyboard/index.js"],"names":["Keyboard","getModule","components","OnlyNumberButton","OnlyNumberButton2","KeyboardInput","OnlyKeyboard","LetterKeyboard","props","type","Module","Component","getNewValue","input","value_old","key","isNumber","cursorIndex","getCursortPosition","indexOf","value_new","value1","value2","selectedTxt","window","getSelection","selectedTxtLength","length","slice","setTimeout","setCaretPosition","ctrl","value","CaretPos","document","selection","focus","Sel","createRange","moveStart","text","selectionStart","index","setSelectionRange","createTextRange","range","collapse","moveEnd","select","close","getElementById","body","removeChild","open","onChange","handleOk","handleCancel","isMobileEnvironment","platform","isHorizontalPad","android_setKeyBoard","isShowAndroidKeyBoard","el","ref","m","createElement","id","appendChild","html","ReactDOM","render","close2","unmountComponentAtNode","classList","add","remove","open2","letterOrNumber"],"mappings":"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","file":"index.js","sourcesContent":["import React, { Component } from 'react';\nimport ReactDOM from 'react-dom';\nimport { platform } from 'mutants-util';\n\n// import NumKeyboard from './numKeyboard';\n\nimport LetterKeyboard from './letterKeyboard';\n\n// import TextKeyboard from './textKeyboard';\n\nimport OnlyKeyboard from './onlyKeyboard';\nimport OnlyLetterButton from './onlyLetterButton';\nimport OnlyLetterButton2 from './onlyLetterButton2'; // product 中的键盘\n\n// import OnlyTextKeyboard from './onlyTextKeyboard';\n\nimport OnlyNumberButton from './onlyNumberButton';\nimport OnlyNumberButton2 from './onlyNumberButton2';\n\nimport KeyboardInput from './numberButton_input';\n\nimport './index.less';\n\nexport default class Keyboard extends Component {\n\n getModule = () => {\n let components = {\n 'number': OnlyNumberButton,\n 'number2': OnlyNumberButton2,\n 'number+input': KeyboardInput,\n // 'number+modal': OnlyTextKeyboard,\n // 'number+modal+input': NumKeyboard,\n // 'number+modal+div': TextKeyboard,\n // 'OnlyLetterButton2': OnlyLetterButton2,\n 'letter+modal': OnlyKeyboard,\n 'letter+modal+input': LetterKeyboard\n }\n return components[this.props.type] || null;\n\n }\n static getNewValue = (input, value_old, key, isNumber) => { // 数字键盘的处理,需要传第四个参数\n value_old = value_old + '';\n let cursorIndex = Keyboard.getCursortPosition(input, value_old);\n\n if (isNumber && key == '-' && (cursorIndex != 0 || value_old.indexOf('-') != -1)) { // 数字键盘,对负号做处理\n return value_old;\n }\n if (isNumber && key == '.' && (cursorIndex == 0 || value_old.indexOf('.') != -1)) { // 数字键盘,对小数点做处理\n return value_old;\n }\n\n let value_new, value1, value2;\n\n let selectedTxt = `${window.getSelection()}`;\n\n // 如果此input被选中了 替换到这些\n if (selectedTxt) {\n let selectedTxtLength = selectedTxt.length;\n value1 = value_old.slice(0, cursorIndex);\n value2 = value_old.slice(cursorIndex + selectedTxtLength, value_old.length);\n } else {\n value1 = value_old.slice(0, cursorIndex);\n value2 = value_old.slice(cursorIndex, value_old.length);\n }\n\n\n if (key == 'delete') {\n value_new = value1.slice(0, value1.length - 1) + value2;\n cursorIndex = cursorIndex == 0 ? 0 : cursorIndex - 1;\n } else if (key == 'clear') {\n value_new = '';\n } else {\n value_new = value1 + key + value2;\n cursorIndex += key.length;\n }\n setTimeout(() => {\n Keyboard.setCaretPosition(input, cursorIndex); // 此处手动设置光标,不然每次自动跑到最后面去\n })\n return value_new;\n }\n\n static getCursortPosition = (ctrl, value) => {//获取光标位置函数\n var CaretPos = value.length;\t// IE Support\n if (document.selection) {\n ctrl.focus();\n var Sel = document.selection.createRange();\n Sel.moveStart('character', -ctrl.value.length);\n CaretPos = Sel.text.length;\n }\n // Firefox support\n else if (ctrl.selectionStart || ctrl.selectionStart == '0')\n CaretPos = ctrl.selectionStart;\n return (CaretPos);\n }\n static setCaretPosition = (ctrl, index) => {//设置光标位置函数\n if (ctrl.setSelectionRange) {\n ctrl.focus();\n ctrl.setSelectionRange(index, index);\n }\n else if (ctrl.createTextRange) {\n var range = ctrl.createTextRange();\n range.collapse(true);\n range.moveEnd('character', index);\n range.moveStart('character', index);\n range.select();\n }\n }\n\n static close = () => {\n if (document.getElementById('keyboard')) {\n document.body.removeChild(document.getElementById('keyboard'));\n }\n }\n\n static open = (onChange = () => { }, handleOk = Keyboard.close, handleCancel = Keyboard.close) => {\n //在移动端的情况下,不允许打开自定义键盘。\n let isMobileEnvironment = platform && (platform.isHorizontalPad === true) || (window.android_setKeyBoard && window.android_setKeyBoard.isShowAndroidKeyBoard);\n return () => {\n let el = document.getElementById('keyboard');\n if (!el) {\n let el = document.createElement('div');\n el.id = 'keyboard';\n document.body.appendChild(el);\n function ref(m) { }\n let html = !isMobileEnvironment ?\n <div className='modal-container z-letter-keyboard-modal'>\n <div className='z-letter-keyboard-modal-body modal-body'>\n <OnlyLetterButton onChange={onChange} handleOk={handleOk} ref={ref} handleCancel={handleCancel} />\n </div>\n </div>\n :\n null;\n ReactDOM.render(html, el)\n }\n }\n }\n\n // 专门为pos开单页 写的关闭键盘的方法 \n static close2 = () => {\n let el = document.getElementById('product-keyboard');\n if (el) {\n ReactDOM.unmountComponentAtNode(el)\n // el.innerHTML = '';\n el.classList.add(\"product-keyboard-hide\");\n el.classList.remove(\"product-keyboard-show\");\n }\n }\n\n // 专门为pos开单页 写的调用键盘的方法\n // /letterOrNumber 1letter 2number\n static open2 = (onChange = () => { }, handleOk = Keyboard.close2, handleCancel = Keyboard.close2, id, letterOrNumber = 1) => {\n //在移动端的情况下,不允许打开自定义键盘。\n let isMobileEnvironment = platform && (platform.isHorizontalPad === true);\n let el = document.getElementById('product-keyboard');\n if (el) {\n ReactDOM.unmountComponentAtNode(el)\n // el.innerHTML = '';\n el.classList.add(\"product-keyboard-show\");\n el.classList.remove(\"product-keyboard-hide\");\n function ref(m) { }\n let html = !isMobileEnvironment ? <OnlyLetterButton2 id={id} letterOrNumber={letterOrNumber} onChange={onChange} handleOk={handleOk} handleCancel={handleCancel} /> : null\n ReactDOM.render(html, el)\n }\n }\n\n render() {\n let Module = this.getModule();\n return (\n <Module {...this.props} />\n )\n }\n}"]}
|
|
1
|
+
{"version":3,"sources":["tplus-components-touch/components/keyboard/index.js"],"names":["Keyboard","getModule","components","OnlyNumberButton","OnlyNumberButton2","KeyboardInput","OnlyKeyboard","LetterKeyboard","props","type","Module","Component","getNewValue","input","value_old","key","isNumber","cursorIndex","getCursortPosition","indexOf","value_new","value1","value2","selectedTxt","window","getSelection","selectedTxtLength","length","slice","setTimeout","setCaretPosition","ctrl","value","CaretPos","document","selection","focus","Sel","createRange","moveStart","text","selectionStart","index","setSelectionRange","createTextRange","range","collapse","moveEnd","select","close","getElementById","body","removeChild","open","onChange","handleOk","handleCancel","option","isMobileEnvironment","platform","isHorizontalPad","android_setKeyBoard","isShowAndroidKeyBoard","bottom","el","ref","m","createElement","id","appendChild","html","ReactDOM","render","close2","unmountComponentAtNode","classList","add","remove","open2","letterOrNumber"],"mappings":"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","file":"index.js","sourcesContent":["import React, { Component } from 'react';\nimport ReactDOM from 'react-dom';\nimport { platform } from 'mutants-util';\n\n// import NumKeyboard from './numKeyboard';\n\nimport LetterKeyboard from './letterKeyboard';\n\n// import TextKeyboard from './textKeyboard';\n\nimport OnlyKeyboard from './onlyKeyboard';\nimport OnlyLetterButton from './onlyLetterButton';\nimport OnlyLetterButton2 from './onlyLetterButton2'; // product 中的键盘\n\n// import OnlyTextKeyboard from './onlyTextKeyboard';\n\nimport OnlyNumberButton from './onlyNumberButton';\nimport OnlyNumberButton2 from './onlyNumberButton2';\n\nimport KeyboardInput from './numberButton_input';\n\nimport './index.less';\n\nexport default class Keyboard extends Component {\n\n getModule = () => {\n let components = {\n 'number': OnlyNumberButton,\n 'number2': OnlyNumberButton2,\n 'number+input': KeyboardInput,\n // 'number+modal': OnlyTextKeyboard,\n // 'number+modal+input': NumKeyboard,\n // 'number+modal+div': TextKeyboard,\n // 'OnlyLetterButton2': OnlyLetterButton2,\n 'letter+modal': OnlyKeyboard,\n 'letter+modal+input': LetterKeyboard\n }\n return components[this.props.type] || null;\n\n }\n static getNewValue = (input, value_old, key, isNumber) => { // 数字键盘的处理,需要传第四个参数\n value_old = value_old + '';\n let cursorIndex = Keyboard.getCursortPosition(input, value_old);\n\n if (isNumber && key == '-' && (cursorIndex != 0 || value_old.indexOf('-') != -1)) { // 数字键盘,对负号做处理\n return value_old;\n }\n if (isNumber && key == '.' && (cursorIndex == 0 || value_old.indexOf('.') != -1)) { // 数字键盘,对小数点做处理\n return value_old;\n }\n\n let value_new, value1, value2;\n\n let selectedTxt = `${window.getSelection()}`;\n\n // 如果此input被选中了 替换到这些\n if (selectedTxt) {\n let selectedTxtLength = selectedTxt.length;\n value1 = value_old.slice(0, cursorIndex);\n value2 = value_old.slice(cursorIndex + selectedTxtLength, value_old.length);\n } else {\n value1 = value_old.slice(0, cursorIndex);\n value2 = value_old.slice(cursorIndex, value_old.length);\n }\n\n\n if (key == 'delete') {\n value_new = value1.slice(0, value1.length - 1) + value2;\n cursorIndex = cursorIndex == 0 ? 0 : cursorIndex - 1;\n } else if (key == 'clear') {\n value_new = '';\n } else {\n value_new = value1 + key + value2;\n cursorIndex += key.length;\n }\n setTimeout(() => {\n Keyboard.setCaretPosition(input, cursorIndex); // 此处手动设置光标,不然每次自动跑到最后面去\n })\n return value_new;\n }\n\n static getCursortPosition = (ctrl, value) => {//获取光标位置函数\n var CaretPos = value.length;\t// IE Support\n if (document.selection) {\n ctrl.focus();\n var Sel = document.selection.createRange();\n Sel.moveStart('character', -ctrl.value.length);\n CaretPos = Sel.text.length;\n }\n // Firefox support\n else if (ctrl.selectionStart || ctrl.selectionStart == '0')\n CaretPos = ctrl.selectionStart;\n return (CaretPos);\n }\n static setCaretPosition = (ctrl, index) => {//设置光标位置函数\n if (ctrl.setSelectionRange) {\n ctrl.focus();\n ctrl.setSelectionRange(index, index);\n }\n else if (ctrl.createTextRange) {\n var range = ctrl.createTextRange();\n range.collapse(true);\n range.moveEnd('character', index);\n range.moveStart('character', index);\n range.select();\n }\n }\n\n static close = () => {\n if (document.getElementById('keyboard')) {\n document.body.removeChild(document.getElementById('keyboard'));\n }\n }\n\n static open = (onChange = () => { }, handleOk = Keyboard.close, handleCancel = Keyboard.close,option = {}) => {\n //在移动端的情况下,不允许打开自定义键盘。\n let isMobileEnvironment = platform && (platform.isHorizontalPad === true) || (window.android_setKeyBoard && window.android_setKeyBoard.isShowAndroidKeyBoard);\n const { bottom = 0 } = option\n return () => {\n let el = document.getElementById('keyboard');\n if (!el) {\n let el = document.createElement('div');\n el.id = 'keyboard';\n document.body.appendChild(el);\n function ref(m) { }\n let html = !isMobileEnvironment ?\n <div className='modal-container z-letter-keyboard-modal' style={{bottom}}>\n <div className='z-letter-keyboard-modal-body modal-body'>\n <OnlyLetterButton onChange={onChange} handleOk={handleOk} ref={ref} handleCancel={handleCancel} />\n </div>\n </div>\n :\n null;\n ReactDOM.render(html, el)\n }\n }\n }\n\n // 专门为pos开单页 写的关闭键盘的方法 \n static close2 = () => {\n let el = document.getElementById('product-keyboard');\n if (el) {\n ReactDOM.unmountComponentAtNode(el)\n // el.innerHTML = '';\n el.classList.add(\"product-keyboard-hide\");\n el.classList.remove(\"product-keyboard-show\");\n }\n }\n\n // 专门为pos开单页 写的调用键盘的方法\n // /letterOrNumber 1letter 2number\n static open2 = (onChange = () => { }, handleOk = Keyboard.close2, handleCancel = Keyboard.close2, id, letterOrNumber = 1) => {\n //在移动端的情况下,不允许打开自定义键盘。\n let isMobileEnvironment = platform && (platform.isHorizontalPad === true);\n let el = document.getElementById('product-keyboard');\n if (el) {\n ReactDOM.unmountComponentAtNode(el)\n // el.innerHTML = '';\n el.classList.add(\"product-keyboard-show\");\n el.classList.remove(\"product-keyboard-hide\");\n function ref(m) { }\n let html = !isMobileEnvironment ? <OnlyLetterButton2 id={id} letterOrNumber={letterOrNumber} onChange={onChange} handleOk={handleOk} handleCancel={handleCancel} /> : null\n ReactDOM.render(html, el)\n }\n }\n\n render() {\n let Module = this.getModule();\n return (\n <Module {...this.props} />\n )\n }\n}"]}
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
}
|
|
36
36
|
.num-keyboard-popover {
|
|
37
37
|
// numberKeyboard
|
|
38
|
-
width:
|
|
39
|
-
height:
|
|
38
|
+
width: 400px;
|
|
39
|
+
height: 270px;
|
|
40
40
|
background: none!important;
|
|
41
41
|
.ant-popover-arrow {
|
|
42
42
|
display: none!important;
|
|
@@ -51,24 +51,24 @@
|
|
|
51
51
|
border:none!important;
|
|
52
52
|
.ant-popover-inner-content {
|
|
53
53
|
height: 100%;
|
|
54
|
-
padding:
|
|
54
|
+
padding: 30px 15px 20px 24px !important;
|
|
55
55
|
|
|
56
56
|
.key {
|
|
57
57
|
box-sizing: border-box;
|
|
58
58
|
text-align: center;
|
|
59
59
|
line-height: 60px;
|
|
60
|
-
width:
|
|
61
|
-
height:
|
|
60
|
+
width: 70px;
|
|
61
|
+
height: 46px;
|
|
62
62
|
display: flex;
|
|
63
63
|
flex-direction: column;
|
|
64
64
|
justify-content: center;
|
|
65
65
|
border-radius: 6px;
|
|
66
|
-
font-size:
|
|
66
|
+
font-size: 24px;
|
|
67
67
|
cursor: pointer;
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
.nums {
|
|
71
|
-
width:
|
|
71
|
+
width: 270px;
|
|
72
72
|
float: left;
|
|
73
73
|
margin-left: 5px;
|
|
74
74
|
|
|
@@ -80,19 +80,19 @@
|
|
|
80
80
|
|
|
81
81
|
.dels {
|
|
82
82
|
float: left;
|
|
83
|
-
width:
|
|
83
|
+
width: 70px;
|
|
84
84
|
|
|
85
85
|
.del {
|
|
86
86
|
margin-bottom: 10px;
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
.sure {
|
|
90
|
-
height:
|
|
90
|
+
height: 102px;
|
|
91
91
|
line-height: 22px;
|
|
92
92
|
padding-top: 5px;
|
|
93
93
|
}
|
|
94
94
|
.clear{
|
|
95
|
-
height:
|
|
95
|
+
height: 102px;
|
|
96
96
|
line-height: 22px;
|
|
97
97
|
padding-top: 5px;
|
|
98
98
|
}
|
|
@@ -214,13 +214,13 @@
|
|
|
214
214
|
box-sizing: border-box;
|
|
215
215
|
text-align: center;
|
|
216
216
|
line-height: 60px;
|
|
217
|
-
width:
|
|
218
|
-
height:
|
|
217
|
+
width: 70px;
|
|
218
|
+
height: 46px;
|
|
219
219
|
display: flex;
|
|
220
220
|
flex-direction: column;
|
|
221
221
|
justify-content: center;
|
|
222
222
|
border-radius: 6px;
|
|
223
|
-
font-size:
|
|
223
|
+
font-size: 24px;
|
|
224
224
|
cursor: pointer;
|
|
225
225
|
|
|
226
226
|
&:active {
|
|
@@ -232,30 +232,30 @@
|
|
|
232
232
|
}
|
|
233
233
|
.number-point {
|
|
234
234
|
display: inline-block;
|
|
235
|
-
line-height:
|
|
235
|
+
line-height: 33px;
|
|
236
236
|
}
|
|
237
237
|
|
|
238
238
|
.nums {
|
|
239
|
-
width:
|
|
239
|
+
width: 241px;
|
|
240
240
|
float: left;
|
|
241
241
|
|
|
242
242
|
.num {
|
|
243
243
|
float: left;
|
|
244
|
-
margin: 0
|
|
244
|
+
margin: 0 10px 10px 0px;
|
|
245
245
|
}
|
|
246
246
|
}
|
|
247
247
|
|
|
248
248
|
.dels {
|
|
249
249
|
float: right;
|
|
250
|
-
width:
|
|
250
|
+
width: 70px;
|
|
251
251
|
|
|
252
252
|
.del {
|
|
253
|
-
margin-bottom:
|
|
254
|
-
font-size:
|
|
253
|
+
margin-bottom: 10px;
|
|
254
|
+
font-size: 22px;
|
|
255
255
|
}
|
|
256
256
|
|
|
257
257
|
.sure {
|
|
258
|
-
height:
|
|
258
|
+
height: 102px;
|
|
259
259
|
border-radius: 5px;
|
|
260
260
|
}
|
|
261
261
|
.positive {
|
|
@@ -264,8 +264,8 @@
|
|
|
264
264
|
}
|
|
265
265
|
.sure-no-positive {
|
|
266
266
|
line-height: 33px;
|
|
267
|
-
width:
|
|
268
|
-
height:
|
|
267
|
+
width: 70px;
|
|
268
|
+
height: 46px;
|
|
269
269
|
}
|
|
270
270
|
}
|
|
271
271
|
|
|
@@ -307,10 +307,16 @@
|
|
|
307
307
|
}
|
|
308
308
|
|
|
309
309
|
.number-keyboard-input {
|
|
310
|
-
width:
|
|
310
|
+
width: 332px;
|
|
311
311
|
margin: 0 auto;
|
|
312
312
|
.keyboard-input {
|
|
313
|
+
height: 40px;
|
|
314
|
+
font-size: 24px;
|
|
313
315
|
border: none!important;
|
|
316
|
+
border-radius: 4px;
|
|
317
|
+
}
|
|
318
|
+
input::-webkit-input-placeholder{
|
|
319
|
+
font-size: 22px;
|
|
314
320
|
}
|
|
315
321
|
}
|
|
316
322
|
|
|
@@ -467,4 +473,14 @@
|
|
|
467
473
|
top: -50px!important;
|
|
468
474
|
color: #CCC!important;
|
|
469
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
|
+
}
|
|
470
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
|
-
|
|
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
|
-
|
|
129
|
-
|
|
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
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
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","
|
|
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":["/**\n * input + letterKeyboard\n */\n\nimport React, { Component } from 'react';\nimport { Input } from 'antd';\nimport { platform } from 'mutants-util';\nimport Keyboard from './index';\nimport { Ticon } from '../../index';\nimport PropTypes from 'prop-types';\n\nexport default class LetterKeyboard extends Component {\n constructor(props) {\n super(props);\n this.state = {\n visible: false,\n value: props.value || ''\n }\n const { isHorizontalPad } = platform || {};\n this.isMobileEnvironment = !!isHorizontalPad;\n }\n\n static propTypes = {\n onChange: PropTypes.func.isRequired,\n handleOk: PropTypes.func,\n handleCancel: PropTypes.func,\n placeholder: PropTypes.string,\n which: PropTypes.string // 是否要 通过 icon 来触发键盘弹出\n }\n\n inputChange = (e) => {\n this.setState({\n value: e.target.value\n })\n this.props.onChange && this.props.onChange(e.target.value);\n }\n\n showModal = () => {\n this.setState({\n visible: !this.state.visible\n });\n }\n\n handleOk = (e) => {\n this.props.handleOk && this.props.handleOk(this.getShowValue());\n this.showModal();\n }\n\n handleCancel = (e) => {\n this.props.handleCancel && this.props.handleCancel(this.getShowValue());\n this.showModal()\n }\n\n setStateValue = (key) => {\n let newValue = Keyboard.getNewValue(this.input.input, this.getShowValue(), key);\n this.setState({\n value: newValue\n }, () => {\n this.props.onChange && this.props.onChange(newValue);\n })\n }\n\n getKeyboardIcon = () => {\n return (\n this.state.visible ?\n <Ticon type='jianpan1' style={{ color: '#999' }} />\n :\n <Ticon type='jianpan2' style={{ color: '#999' }} />\n )\n }\n\n iconShowModal = (e) => {\n e.preventDefault()\n if (this.props.disabled) {\n return;\n }\n // this.showModal();\n \n if (this.isFocus) {\n this.input.input.blur()\n } else {\n this.input.input.focus()\n } \n }\n\n getShowValue = () => {\n return this.props.value == undefined ? this.state.value : this.props.value;\n }\n\n inputBlur = () => {\n this.isFocus = false\n this.setState({\n visible: false\n })\n }\n\n inputFocus = () => {\n this.props.onFocus && this.props.onFocus(this.input)\n \n // if (this.props.which == 'icon') {\n // return;\n // }\n this.showModal();\n this.isFocus = true\n }\n\n inputKeyDown = (e) => {\n if (e.keyCode == 13) { // 按下回车按钮\n this.props.handleEnter && this.props.handleEnter(this.getShowValue());\n }\n }\n\n componentDidMount() {\n this.props.onRef && this.props.onRef(this);\n }\n\n render() {\n let { prefix, which, onRef, ...props } = { ...this.props };\n let value = this.getShowValue();\n return (\n <div className='keyboard'>\n {\n <Input.Group className='keyboard-input keybord-icon-focus'>\n <Input type=\"text\"\n {...props}\n prefix={prefix ? <Ticon type={prefix} className='search-icon' /> : null}\n onChange={this.inputChange}\n onFocus={this.inputFocus}\n onBlur={this.inputBlur}\n onKeyDown={this.inputKeyDown}\n value={this.props.value}\n ref={input => this.input = input}\n allowClear={this.isMobileEnvironment}\n // suffix={which == 'icon' && !this.isMobileEnvironment ?\n // <span className='keyboard-icon' onMouseDown={e => e.preventDefault()} onClick={this.iconShowModal}>\n // {\n // this.getKeyboardIcon()\n // }\n // </span>\n // :\n // null}\n />\n {/* 优化2期修改键盘输入框交互。由小键盘图标点击之后打开的键盘,点击小键盘可以关闭。由于antd的Input组件对suffix做点击事件的冲突,所以将图标移到了Input外面 */}\n {\n which == 'icon' && !this.isMobileEnvironment ?\n <span className='keyboard-icon' onMouseDown={e => e.preventDefault()} onClick={this.iconShowModal}>\n {\n this.getKeyboardIcon()\n }\n </span>\n :\n null\n }\n </Input.Group>\n\n }\n {\n !this.isMobileEnvironment &&\n <Keyboard type='letter+modal' value={value} visible={this.state.visible} onChange={this.setStateValue} handleOk={this.handleOk} handleCancel={this.handleCancel} />\n }\n </div>\n )\n }\n}"]}
|
|
@@ -160,6 +160,7 @@ var NumKeyboard = (_temp = _class = function (_Component) {
|
|
|
160
160
|
{ className: 'del key clear positive', onClick: _this.numClick.bind(_this, 'clear') },
|
|
161
161
|
'\u6E05',
|
|
162
162
|
_react2.default.createElement('br', null),
|
|
163
|
+
_react2.default.createElement('br', null),
|
|
163
164
|
'\u7A7A'
|
|
164
165
|
)
|
|
165
166
|
) : null,
|
|
@@ -176,6 +177,7 @@ var NumKeyboard = (_temp = _class = function (_Component) {
|
|
|
176
177
|
{ className: 'del key sure real-sure', onClick: _this.numClick.bind(_this, 'sure') },
|
|
177
178
|
'\u786E',
|
|
178
179
|
_react2.default.createElement('br', null),
|
|
180
|
+
_react2.default.createElement('br', null),
|
|
179
181
|
'\u5B9A'
|
|
180
182
|
)
|
|
181
183
|
) : null,
|
|
@@ -192,6 +194,7 @@ var NumKeyboard = (_temp = _class = function (_Component) {
|
|
|
192
194
|
{ className: 'del key clear', onClick: _this.numClick.bind(_this, 'clear') },
|
|
193
195
|
'\u6E05',
|
|
194
196
|
_react2.default.createElement('br', null),
|
|
197
|
+
_react2.default.createElement('br', null),
|
|
195
198
|
'\u7A7A'
|
|
196
199
|
)
|
|
197
200
|
) : null
|
|
@@ -279,15 +282,16 @@ var NumKeyboard = (_temp = _class = function (_Component) {
|
|
|
279
282
|
_this.onFocus = function () {
|
|
280
283
|
_this.props.onFocus && _this.props.onFocus();
|
|
281
284
|
_this.input.input.select();
|
|
285
|
+
_this.onVisibleChange(true);
|
|
282
286
|
};
|
|
283
287
|
|
|
284
288
|
_this.onShowPopover = function () {
|
|
285
|
-
_this.
|
|
286
|
-
|
|
287
|
-
}
|
|
289
|
+
if (_this.state.visible) {
|
|
290
|
+
_this.input.input.blur();
|
|
291
|
+
} else {
|
|
288
292
|
_this.input.input.focus();
|
|
289
293
|
_this.input.input.select();
|
|
290
|
-
}
|
|
294
|
+
}
|
|
291
295
|
};
|
|
292
296
|
|
|
293
297
|
_this.getValue = function () {
|
|
@@ -322,13 +326,16 @@ var NumKeyboard = (_temp = _class = function (_Component) {
|
|
|
322
326
|
var propsVisible = _this.props.show;
|
|
323
327
|
var isPropsVisible = propsVisible !== undefined;
|
|
324
328
|
var icon = isPropsVisible ? propsVisible ? 'jianpan1' : 'jianpan2' : _this.state.visible ? 'jianpan1' : 'jianpan2';
|
|
325
|
-
var _this$props
|
|
326
|
-
|
|
329
|
+
var _this$props = _this.props,
|
|
330
|
+
_this$props$popClassN = _this$props.popClassName,
|
|
331
|
+
popClassName = _this$props$popClassN === undefined ? '' : _this$props$popClassN,
|
|
332
|
+
_this$props$placement = _this$props.placement,
|
|
333
|
+
placement = _this$props$placement === undefined ? 'bottomRight' : _this$props$placement;
|
|
327
334
|
|
|
328
335
|
return _this.props.disabled ? _react2.default.createElement(_index.Ticon, { className: 'keyboard-icon', type: icon, style: { color: '#999' } }) : _react2.default.createElement(
|
|
329
336
|
_popover2.default,
|
|
330
337
|
{
|
|
331
|
-
placement:
|
|
338
|
+
placement: placement,
|
|
332
339
|
onVisibleChange: _this.onVisibleChange,
|
|
333
340
|
onHide: _this.onHidePopover,
|
|
334
341
|
title: null
|
|
@@ -387,7 +394,9 @@ var NumKeyboard = (_temp = _class = function (_Component) {
|
|
|
387
394
|
_props2$popClassName = _props2.popClassName,
|
|
388
395
|
popClassName = _props2$popClassName === undefined ? '' : _props2$popClassName,
|
|
389
396
|
_props2$inputClassNam = _props2.inputClassName,
|
|
390
|
-
inputClassName = _props2$inputClassNam === undefined ? '' : _props2$inputClassNam
|
|
397
|
+
inputClassName = _props2$inputClassNam === undefined ? '' : _props2$inputClassNam,
|
|
398
|
+
_props2$placement = _props2.placement,
|
|
399
|
+
placement = _props2$placement === undefined ? 'right' : _props2$placement;
|
|
391
400
|
|
|
392
401
|
var _props = (0, _extends3.default)({}, this.props);
|
|
393
402
|
delete _props.bordered;
|
|
@@ -405,7 +414,7 @@ var NumKeyboard = (_temp = _class = function (_Component) {
|
|
|
405
414
|
{ className: 'keyboard number-keyboard ' + (!bordered ? 'no-bordered' : '') + ' ' + className },
|
|
406
415
|
trigger == 'click' ? _react2.default.createElement(
|
|
407
416
|
_input2.default.Group,
|
|
408
|
-
|
|
417
|
+
{ className: 'keybord-icon-focus' },
|
|
409
418
|
_react2.default.createElement(_input2.default, (0, _extends3.default)({ type: 'text'
|
|
410
419
|
}, _props, {
|
|
411
420
|
className: inputClassName + ' keyboard-input',
|
|
@@ -415,16 +424,17 @@ var NumKeyboard = (_temp = _class = function (_Component) {
|
|
|
415
424
|
ref: function ref(input) {
|
|
416
425
|
return _this2.input = input;
|
|
417
426
|
},
|
|
418
|
-
allowClear: this.isMobileEnvironment
|
|
419
|
-
suffix
|
|
420
|
-
}))
|
|
427
|
+
allowClear: this.isMobileEnvironment
|
|
428
|
+
// suffix={!this.isMobileEnvironment && this.getKeyboardIcon() }
|
|
429
|
+
})),
|
|
430
|
+
!this.isMobileEnvironment && this.getKeyboardIcon()
|
|
421
431
|
) : _react2.default.createElement(
|
|
422
432
|
_input2.default.Group,
|
|
423
433
|
null,
|
|
424
434
|
_react2.default.createElement(
|
|
425
435
|
_popover2.default,
|
|
426
436
|
{
|
|
427
|
-
placement:
|
|
437
|
+
placement: placement,
|
|
428
438
|
onVisibleChange: this.onVisibleChange,
|
|
429
439
|
onHide: this.onHidePopover,
|
|
430
440
|
rootClose: false,
|
|
@@ -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","onShowPopover","focus","getValue","setValue","onVisibleChange","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';\nimport { platform } from 'mutants-util';\nimport { Ticon, Keyboard } from '../../index';\n\nimport PropTypes from 'prop-types';\nimport { Popover, Input } from 'antd';\nimport tools from '../../util/tools';\n\nexport default class NumKeyboard extends Component {\n\n static propTypes = {\n onChange: PropTypes.func,\n icon: PropTypes.string,\n bordered: PropTypes.bool, // 是否要 通过 icon 来触发键盘弹出\n popClassName: PropTypes.string, // 键盘弹出框的 className\n onIconClick: PropTypes.func\n }\n\n static defaultProps = {\n trigger: 'click',\n bordered: false,\n icon: 'jianpan'\n }\n\n constructor(props) {\n super();\n this.state = {\n visible: false,\n value: props.value || ''\n }\n const { isHorizontalPad } = platform || {};\n this.isMobileEnvironment = !!isHorizontalPad;\n }\n\n componentDidMount() {\n this.setState({\n value: this.props.defaultValue || ''\n })\n }\n\n numClick = (key) => {\n // let newValue = Keyboard.getNewValue(this.input.input, this.getShowValue(), key, true);\n // this.setStateValue(newValue);\n\n if (key == 'sure') {\n if (this.props.handleOk) {\n let result = this.props.handleOk(this.state.value);\n if (result) {\n this.setState({\n visible: false\n })\n }\n }\n return;\n }\n let length1 = this.props.maxLength;\n let length2 = this.props.precisionLength;\n if (length2 == 0 && key == '.') {\n return;\n }\n let value = this.state.value + '';\n if (value == '' && key == '.') { // 不允许小数的时候,也不允许小数点\n return;\n }\n if ((value + '').indexOf('.') > 0 && key == '.') {\n return;\n }\n\n let newValue = Keyboard.getNewValue(this.input.input, this.getShowValue(), key, true);\n\n if (length1 && length2) {\n let v = newValue, v1, v2;\n if (value.indexOf('-') != -1) {\n v = value.slice(1, value.length);\n }\n v1 = v.split('.')[0];\n v2 = v.split('.')[1];\n if (v.length > length1 || (v2 && v2.length > length2) || (v1 && v1.length > (length1-length2-1))) {\n return;\n }\n }\n\n this.setStateValue(newValue);\n\n // this.setState({\n // value: newValue\n // }, () => {\n // this.props.onChange && this.props.onChange(this.state.value);\n // })\n }\n\n getKeyboard = () => {\n let nums = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '00', '.'];\n let numsKey = nums.map((item) => <div className='num key' key={item + Math.random()} onClick={this.numClick.bind(this, item)}>{item}</div>)\n let {type} = this.props;\n return (\n <div className='clearfix' onMouseDown={e => e.preventDefault()}>\n\n <div className=\"nums clearfix\">\n {numsKey}\n </div>\n <div className=\"dels clearfix\">\n <div className=\"del key\" onClick={this.numClick.bind(this, 'delete')}>\n <Ticon type='tuige' />\n </div>\n {\n type == 'positive' ?\n <React.Fragment>\n <div className={`del key clear positive`} onClick={this.numClick.bind(this, 'clear')}>清<br />空</div>\n </React.Fragment>\n :\n null\n }\n {\n type == 'sure' ?\n <React.Fragment>\n <div className=\"del key\" onClick={this.numClick.bind(this, 'clear')}>清空</div>\n <div className={`del key sure real-sure`} onClick={this.numClick.bind(this, 'sure')}>确<br />定</div>\n </React.Fragment>\n :\n null\n }\n {\n type == undefined || type == 'text' ?\n <React.Fragment>\n <div className=\"del key\" onClick={this.numClick.bind(this, '-')}>—</div>\n <div className={`del key clear`} onClick={this.numClick.bind(this, 'clear')}>清<br />空</div>\n </React.Fragment>\n :\n null\n }\n </div>\n </div>\n )\n }\n\n setStateValue = (value, fn) => {\n this.setState({\n value: value\n }, () => {\n if (this.props.onChange) {\n this.props.onChange(this.getShowValue(), this.props.name);\n }\n if (fn && typeof fn == 'function') fn();\n })\n }\n\n inputChange = (e) => {\n const v = e && e.target.value;\n if(v === '') {\n this.setStateValue('');\n return;\n }\n let newValue;\n const { isReturn } = this.props;\n if (isReturn) {\n if (! tools.isSubFloat(v)) {\n return;\n }\n } else {\n if (! tools.isfloat(v)) {\n return;\n }\n }\n if (v.match(/\\./g) && v.match(/\\./g).length > 1) {\n return;\n }\n if (this.props.type == \"positive\") { // 只允许输入正数\n newValue = (v + '').match(/\\d+\\.?\\d*/);\n } else {\n newValue = (v + '').match(/^(\\-)?[(\\d*)|(\\d+\\.?\\d*)]*$/);\n }\n let length1 = this.props.maxLength;\n let length2 = this.props.precisionLength;\n if (length1 >=0 && length2 >=0) {\n let v = (newValue ? newValue[0] : '') + '', v1, v2;\n if (v.indexOf('-') != -1) {\n v = v.slice(1, v.length);\n }\n v1 = v.split('.')[0];\n v2 = v.split('.')[1];\n if (v.length > length1 || (v2 && v2.length > length2) || (v1 && v1.length > (length1-length2-1))) {\n return;\n }\n if (length2 == 0 && v.indexOf('.') > 0) { // 不允许小数的时候,也不允许小数点\n return;\n }\n }\n if (newValue && newValue[0]) {\n newValue = newValue[0];\n if( newValue!=='-' ){\n const {max={}} = this.props;\n const {min={}} = this.props;\n if(!tools.isNull(max.value) && newValue>max.value)return\n if(!tools.isNull(min.value)&& newValue<min.value)return\n }\n this.setStateValue( newValue || '');\n }\n // this.setState({\n // value: newValue && newValue[0] || ''\n // }, () => {\n // this.props.onChange && this.props.onChange(this.state.value);\n // })\n }\n\n onFocus = () => {\n this.props.onFocus&&this.props.onFocus();\n this.input.input.select()\n }\n\n onShowPopover = () => {\n this.setState({\n visible: true\n }, () => {\n this.input.input.focus();\n this.input.input.select()\n })\n }\n\n /**\n * 对外提供的 get 方法\n */\n getValue = () => {\n return this.getShowValue();\n }\n\n /**\n * 对外提供的 set 方法\n */\n setValue = (value) => {\n this.setState({\n value: value\n })\n }\n\n onVisibleChange = (visible) => {\n console.log('onVisibleChange', visible);\n this.setState({\n visible\n })\n this.props.onVisibleChange && this.props.onVisibleChange(visible);\n }\n\n onHidePopover = () => {\n this.setState({\n visible: false\n })\n }\n\n getShowValue = () => {\n return this.props.value === undefined ? this.state.value : this.props.value;\n }\n\n getKeyboardIcon = () => {\n let propsVisible = this.props.show;\n let isPropsVisible = propsVisible !== undefined;\n let icon = isPropsVisible ? (propsVisible ? 'jianpan1' : 'jianpan2') : (this.state.visible ? 'jianpan1' : 'jianpan2');\n let { popClassName = '' } = this.props;\n return (\n this.props.disabled ?\n <Ticon className='keyboard-icon' type={icon} style={{ color: '#999' }} />\n :\n <Popover\n placement='bottomRight'\n onVisibleChange={this.onVisibleChange}\n onHide={this.onHidePopover}\n title={null}\n // arrowOffsetTop={-200}\n // arrowOffsetLeft={400}\n visible={isPropsVisible ? propsVisible : this.state.visible}\n content={this.getKeyboard()}\n trigger='click'\n overlayClassName={`num-keyboard-popover num-keyboard-popover-click ${popClassName} `} >\n <Ticon className='keyboard-icon' type={icon} style={{ color: '#999'}} onClick={this.onShowPopover} />\n </Popover>\n )\n }\n\n render() {\n let { bordered, trigger, onIconClick = () => { }, icon, className = '', popClassName = '',inputClassName='' } = this.props;\n let _props = {...this.props};\n delete _props.bordered;\n delete _props.trigger;\n delete _props.className;\n delete _props.popClassName;\n delete _props.icon;\n delete _props.onIconClick;\n delete _props.inputClassName;\n delete _props.precisionLength;\n delete _props.maxLength;\n let value = this.getShowValue();\n return (\n <div className={`keyboard number-keyboard ${!bordered ? 'no-bordered' : ''} ${className}`}>\n {\n trigger == 'click' ?\n <Input.Group>\n <Input type=\"text\"\n {..._props}\n className={`${inputClassName} keyboard-input`}\n onFocus={this.onFocus}\n onChange={this.inputChange}\n value={value}\n ref={input => this.input = input}\n allowClear={this.isMobileEnvironment}\n suffix={!this.isMobileEnvironment && this.getKeyboardIcon() }\n />\n </Input.Group>\n :\n <Input.Group>\n <Popover\n placement='bottomRight'\n onVisibleChange={this.onVisibleChange}\n onHide={this.onHidePopover}\n rootClose={false}\n title={null}\n visible={this.state.visible}\n content={this.getKeyboard()}\n trigger='focus'\n overlayClassName={`num-keyboard-popover num-keyboard-popover-focus ${popClassName} `}\n >\n <Input type=\"text\" className='keyboard-input' {..._props} onBlur={this.onHidePopover} onFocus={this.onShowPopover} onChange={this.inputChange} value={value} ref={input => this.input = input}\n suffix={<Ticon className='keyboard-icon' type={icon} style={{ color: '#999' }} onClick={onIconClick} />}/>\n </Popover>\n </Input.Group>\n }\n </div>\n )\n }\n}\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","placement","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';\nimport { platform } from 'mutants-util';\nimport { Ticon, Keyboard } from '../../index';\n\nimport PropTypes from 'prop-types';\nimport { Popover, Input } from 'antd';\nimport tools from '../../util/tools';\n\nexport default class NumKeyboard extends Component {\n\n static propTypes = {\n onChange: PropTypes.func,\n icon: PropTypes.string,\n bordered: PropTypes.bool, // 是否要 通过 icon 来触发键盘弹出\n popClassName: PropTypes.string, // 键盘弹出框的 className\n onIconClick: PropTypes.func\n }\n\n static defaultProps = {\n trigger: 'click',\n bordered: false,\n icon: 'jianpan'\n }\n\n constructor(props) {\n super();\n this.state = {\n visible: false,\n value: props.value || ''\n }\n const { isHorizontalPad } = platform || {};\n this.isMobileEnvironment = !!isHorizontalPad;\n }\n\n componentDidMount() {\n this.setState({\n value: this.props.defaultValue || ''\n })\n }\n\n numClick = (key) => {\n // let newValue = Keyboard.getNewValue(this.input.input, this.getShowValue(), key, true);\n // this.setStateValue(newValue);\n\n if (key == 'sure') {\n if (this.props.handleOk) {\n let result = this.props.handleOk(this.state.value);\n if (result) {\n this.setState({\n visible: false\n })\n }\n }\n return;\n }\n let length1 = this.props.maxLength;\n let length2 = this.props.precisionLength;\n if (length2 == 0 && key == '.') {\n return;\n }\n let value = this.state.value + '';\n if (value == '' && key == '.') { // 不允许小数的时候,也不允许小数点\n return;\n }\n if ((value + '').indexOf('.') > 0 && key == '.') {\n return;\n }\n\n let newValue = Keyboard.getNewValue(this.input.input, this.getShowValue(), key, true);\n\n if (length1 && length2) {\n let v = newValue, v1, v2;\n if (value.indexOf('-') != -1) {\n v = value.slice(1, value.length);\n }\n v1 = v.split('.')[0];\n v2 = v.split('.')[1];\n if (v.length > length1 || (v2 && v2.length > length2) || (v1 && v1.length > (length1-length2-1))) {\n return;\n }\n }\n\n this.setStateValue(newValue);\n\n // this.setState({\n // value: newValue\n // }, () => {\n // this.props.onChange && this.props.onChange(this.state.value);\n // })\n }\n\n getKeyboard = () => {\n let nums = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '00', '.'];\n let numsKey = nums.map((item) => <div className='num key' key={item + Math.random()} onClick={this.numClick.bind(this, item)}>{item}</div>)\n let {type} = this.props;\n return (\n <div className='clearfix' onMouseDown={e => e.preventDefault()}>\n\n <div className=\"nums clearfix\">\n {numsKey}\n </div>\n <div className=\"dels clearfix\">\n <div className=\"del key\" onClick={this.numClick.bind(this, 'delete')}>\n <Ticon type='tuige' />\n </div>\n {\n type == 'positive' ?\n <React.Fragment>\n <div className={`del key clear positive`} onClick={this.numClick.bind(this, 'clear')}>清<br /><br />空</div>\n </React.Fragment>\n :\n null\n }\n {\n type == 'sure' ?\n <React.Fragment>\n <div className=\"del key\" onClick={this.numClick.bind(this, 'clear')}>清空</div>\n <div className={`del key sure real-sure`} onClick={this.numClick.bind(this, 'sure')}>确<br /><br />定</div>\n </React.Fragment>\n :\n null\n }\n {\n type == undefined || type == 'text' ?\n <React.Fragment>\n <div className=\"del key\" onClick={this.numClick.bind(this, '-')}>—</div>\n <div className={`del key clear`} onClick={this.numClick.bind(this, 'clear')}>清<br /><br />空</div>\n </React.Fragment>\n :\n null\n }\n </div>\n </div>\n )\n }\n\n setStateValue = (value, fn) => {\n this.setState({\n value: value\n }, () => {\n if (this.props.onChange) {\n this.props.onChange(this.getShowValue(), this.props.name);\n }\n if (fn && typeof fn == 'function') fn();\n })\n }\n\n inputChange = (e) => {\n const v = e && e.target.value;\n if(v === '') {\n this.setStateValue('');\n return;\n }\n let newValue;\n const { isReturn } = this.props;\n if (isReturn) {\n if (! tools.isSubFloat(v)) {\n return;\n }\n } else {\n if (! tools.isfloat(v)) {\n return;\n }\n }\n if (v.match(/\\./g) && v.match(/\\./g).length > 1) {\n return;\n }\n if (this.props.type == \"positive\") { // 只允许输入正数\n newValue = (v + '').match(/\\d+\\.?\\d*/);\n } else {\n newValue = (v + '').match(/^(\\-)?[(\\d*)|(\\d+\\.?\\d*)]*$/);\n }\n let length1 = this.props.maxLength;\n let length2 = this.props.precisionLength;\n if (length1 >=0 && length2 >=0) {\n let v = (newValue ? newValue[0] : '') + '', v1, v2;\n if (v.indexOf('-') != -1) {\n v = v.slice(1, v.length);\n }\n v1 = v.split('.')[0];\n v2 = v.split('.')[1];\n if (v.length > length1 || (v2 && v2.length > length2) || (v1 && v1.length > (length1-length2-1))) {\n return;\n }\n if (length2 == 0 && v.indexOf('.') > 0) { // 不允许小数的时候,也不允许小数点\n return;\n }\n }\n if (newValue && newValue[0]) {\n newValue = newValue[0];\n if( newValue!=='-' ){\n const {max={}} = this.props;\n const {min={}} = this.props;\n if(!tools.isNull(max.value) && newValue>max.value)return\n if(!tools.isNull(min.value)&& newValue<min.value)return\n }\n this.setStateValue( newValue || '');\n }\n // this.setState({\n // value: newValue && newValue[0] || ''\n // }, () => {\n // this.props.onChange && this.props.onChange(this.state.value);\n // })\n }\n\n onFocus = () => {\n this.props.onFocus&&this.props.onFocus();\n this.input.input.select()\n this.onVisibleChange(true)\n }\n\n onShowPopover = () => {\n if (this.state.visible) {\n this.input.input.blur()\n } else {\n this.input.input.focus();\n this.input.input.select()\n }\n }\n\n /**\n * 对外提供的 get 方法\n */\n getValue = () => {\n return this.getShowValue();\n }\n\n /**\n * 对外提供的 set 方法\n */\n setValue = (value) => {\n this.setState({\n value: value\n })\n }\n\n onVisibleChange = (visible) => {\n console.log('onVisibleChange', visible);\n this.setState({\n visible\n })\n this.props.onVisibleChange && this.props.onVisibleChange(visible);\n }\n\n onHidePopover = () => {\n this.setState({\n visible: false\n })\n }\n\n getShowValue = () => {\n return this.props.value === undefined ? this.state.value : this.props.value;\n }\n\n getKeyboardIcon = () => {\n let propsVisible = this.props.show;\n let isPropsVisible = propsVisible !== undefined;\n let icon = isPropsVisible ? (propsVisible ? 'jianpan1' : 'jianpan2') : (this.state.visible ? 'jianpan1' : 'jianpan2');\n let { popClassName = '', placement = 'bottomRight' } = this.props;\n return (\n this.props.disabled ?\n <Ticon className='keyboard-icon' type={icon} style={{ color: '#999' }} />\n :\n <Popover\n placement={placement}\n onVisibleChange={this.onVisibleChange}\n onHide={this.onHidePopover}\n title={null}\n // arrowOffsetTop={-200}\n // arrowOffsetLeft={400}\n visible={isPropsVisible ? propsVisible : this.state.visible}\n content={this.getKeyboard()}\n trigger='click'\n overlayClassName={`num-keyboard-popover num-keyboard-popover-click ${popClassName} `} >\n <Ticon className='keyboard-icon' type={icon} style={{ color: '#999'}} onClick={this.onShowPopover} />\n </Popover>\n )\n }\n\n render() {\n let { bordered, trigger, onIconClick = () => { }, icon, className = '', popClassName = '',inputClassName='', placement = 'right' } = this.props;\n let _props = {...this.props};\n delete _props.bordered;\n delete _props.trigger;\n delete _props.className;\n delete _props.popClassName;\n delete _props.icon;\n delete _props.onIconClick;\n delete _props.inputClassName;\n delete _props.precisionLength;\n delete _props.maxLength;\n let value = this.getShowValue();\n return (\n <div className={`keyboard number-keyboard ${!bordered ? 'no-bordered' : ''} ${className}`}>\n {\n trigger == 'click' ?\n <Input.Group className='keybord-icon-focus'>\n <Input type=\"text\"\n {..._props}\n className={`${inputClassName} keyboard-input`}\n onFocus={this.onFocus}\n onChange={this.inputChange}\n value={value}\n ref={input => this.input = input}\n allowClear={this.isMobileEnvironment}\n // suffix={!this.isMobileEnvironment && this.getKeyboardIcon() }\n />\n {\n !this.isMobileEnvironment && this.getKeyboardIcon()\n }\n </Input.Group>\n \n :\n <Input.Group>\n <Popover\n placement={placement}\n onVisibleChange={this.onVisibleChange}\n onHide={this.onHidePopover}\n rootClose={false}\n title={null}\n visible={this.state.visible}\n content={this.getKeyboard()}\n trigger='focus'\n overlayClassName={`num-keyboard-popover num-keyboard-popover-focus ${popClassName} `}\n >\n <Input type=\"text\" className='keyboard-input' {..._props} onBlur={this.onHidePopover} onFocus={this.onShowPopover} onChange={this.inputChange} value={value} ref={input => this.input = input}\n suffix={<Ticon className='keyboard-icon' type={icon} style={{ color: '#999' }} onClick={onIconClick} />}/>\n </Popover>\n </Input.Group>\n }\n </div>\n )\n }\n}\n"]}
|