tplus-components-touch 3.22.16 → 3.23.2

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.
Files changed (238) hide show
  1. package/README.md +16 -16
  2. package/dist/components/acCitySelect/CitySelect.js +541 -0
  3. package/dist/components/acCitySelect/CitySelect.js.map +1 -0
  4. package/dist/components/acCitySelect/CitySelect.less +10 -0
  5. package/dist/components/acCitySelect/citys.js +1270 -0
  6. package/dist/components/acCitySelect/citys.js.map +1 -0
  7. package/dist/components/acCitySelect/index.js +18 -0
  8. package/dist/components/acCitySelect/index.js.map +1 -0
  9. package/dist/components/acCitySelect/provinceData.js +40 -0
  10. package/dist/components/acCitySelect/provinceData.js.map +1 -0
  11. package/dist/components/addLog/AddLogProcessor.js +49 -0
  12. package/dist/components/addLog/AddLogProcessor.js.map +1 -0
  13. package/dist/components/addLog/OperationLogApi.js +125 -0
  14. package/dist/components/addLog/OperationLogApi.js.map +1 -0
  15. package/dist/components/autoComplete/index.js +245 -0
  16. package/dist/components/autoComplete/index.js.map +1 -0
  17. package/dist/components/autoComplete/index.less +89 -0
  18. package/dist/components/autoComplete/option.js +75 -0
  19. package/dist/components/autoComplete/option.js.map +1 -0
  20. package/dist/components/autoCompleteWithKeyboard/index.js +231 -0
  21. package/dist/components/autoCompleteWithKeyboard/index.js.map +1 -0
  22. package/dist/components/autoCompleteWithKeyboard/index.less +8 -0
  23. package/dist/components/billSearch/api.js +465 -0
  24. package/dist/components/billSearch/api.js.map +1 -0
  25. package/dist/components/billSearch/index.js +2063 -0
  26. package/dist/components/billSearch/index.js.map +1 -0
  27. package/dist/components/billSearch/index.less +373 -0
  28. package/dist/components/cloudPrint/BTPrintFormatUtil.js +568 -0
  29. package/dist/components/cloudPrint/BTPrintFormatUtil.js.map +1 -0
  30. package/dist/components/cloudPrint/api.js +349 -0
  31. package/dist/components/cloudPrint/api.js.map +1 -0
  32. package/dist/components/cloudPrint/index.js +674 -0
  33. package/dist/components/cloudPrint/index.js.map +1 -0
  34. package/dist/components/cloudPrint/printDispatch.js +223 -0
  35. package/dist/components/cloudPrint/printDispatch.js.map +1 -0
  36. package/dist/components/commonForm/addressPicker/index.js +232 -0
  37. package/dist/components/commonForm/addressPicker/index.js.map +1 -0
  38. package/dist/components/commonForm/addressPicker/style.less +11 -0
  39. package/dist/components/commonForm/autoComplete/index.js +241 -0
  40. package/dist/components/commonForm/autoComplete/index.js.map +1 -0
  41. package/dist/components/commonForm/autoComplete/style.less +3 -0
  42. package/dist/components/commonForm/datePicker/index.js +89 -0
  43. package/dist/components/commonForm/datePicker/index.js.map +1 -0
  44. package/dist/components/commonForm/datePicker/style.less +5 -0
  45. package/dist/components/commonForm/formControl/index.js +143 -0
  46. package/dist/components/commonForm/formControl/index.js.map +1 -0
  47. package/dist/components/commonForm/formControl/style.less +0 -0
  48. package/dist/components/commonForm/index.js +225 -0
  49. package/dist/components/commonForm/index.js.map +1 -0
  50. package/dist/components/commonForm/inputNumber/index.js +272 -0
  51. package/dist/components/commonForm/inputNumber/index.js.map +1 -0
  52. package/dist/components/commonForm/inputNumber/style.less +11 -0
  53. package/dist/components/commonForm/radio/index.js +132 -0
  54. package/dist/components/commonForm/radio/index.js.map +1 -0
  55. package/dist/components/commonForm/radio/style.less +0 -0
  56. package/dist/components/commonForm/style.less +2 -0
  57. package/dist/components/deliverySearch/api.js +355 -0
  58. package/dist/components/deliverySearch/api.js.map +1 -0
  59. package/dist/components/deliverySearch/index.js +1214 -0
  60. package/dist/components/deliverySearch/index.js.map +1 -0
  61. package/dist/components/deliverySearch/index.less +554 -0
  62. package/dist/components/form/index.js +310 -0
  63. package/dist/components/form/index.js.map +1 -0
  64. package/dist/components/hardwareAPI/index.js +181 -0
  65. package/dist/components/hardwareAPI/index.js.map +1 -0
  66. package/dist/components/hotKey/config.js +306 -0
  67. package/dist/components/hotKey/config.js.map +1 -0
  68. package/dist/components/hotKey/hotKeyModal.js +479 -0
  69. package/dist/components/hotKey/hotKeyModal.js.map +1 -0
  70. package/dist/components/hotKey/index.js +785 -0
  71. package/dist/components/hotKey/index.js.map +1 -0
  72. package/dist/components/hotKey/localConfig.js +1021 -0
  73. package/dist/components/hotKey/localConfig.js.map +1 -0
  74. package/dist/components/hotKey/style.less +96 -0
  75. package/dist/components/hotKey/utils.js +135 -0
  76. package/dist/components/hotKey/utils.js.map +1 -0
  77. package/dist/components/input/index.js +251 -0
  78. package/dist/components/input/index.js.map +1 -0
  79. package/dist/components/input/style.less +99 -0
  80. package/dist/components/input/tplusInput/index.js +81 -0
  81. package/dist/components/input/tplusInput/index.js.map +1 -0
  82. package/dist/components/input/tplusInput/inputContent.js +128 -0
  83. package/dist/components/input/tplusInput/inputContent.js.map +1 -0
  84. package/dist/components/input/tplusInput/inputs.js +151 -0
  85. package/dist/components/input/tplusInput/inputs.js.map +1 -0
  86. package/dist/components/input/tplusInput/style.less +132 -0
  87. package/dist/components/input/utils/index.js +26 -0
  88. package/dist/components/input/utils/index.js.map +1 -0
  89. package/dist/components/inventorySearch/api.js +214 -0
  90. package/dist/components/inventorySearch/api.js.map +1 -0
  91. package/dist/components/inventorySearch/index.js +303 -0
  92. package/dist/components/inventorySearch/index.js.map +1 -0
  93. package/dist/components/inventorySearch/index.less +120 -0
  94. package/dist/components/inventorySearch/store.js +344 -0
  95. package/dist/components/inventorySearch/store.js.map +1 -0
  96. package/dist/components/inventorySearch/tab.js +258 -0
  97. package/dist/components/inventorySearch/tab.js.map +1 -0
  98. package/dist/components/keyboard/index.js +255 -0
  99. package/dist/components/keyboard/index.js.map +1 -0
  100. package/dist/components/keyboard/index.less +470 -0
  101. package/dist/components/keyboard/letterKeyboard.js +210 -0
  102. package/dist/components/keyboard/letterKeyboard.js.map +1 -0
  103. package/dist/components/keyboard/numKeyboard.js +459 -0
  104. package/dist/components/keyboard/numKeyboard.js.map +1 -0
  105. package/dist/components/keyboard/numKeyboardScan.js +195 -0
  106. package/dist/components/keyboard/numKeyboardScan.js.map +1 -0
  107. package/dist/components/keyboard/numberButton_input.js +303 -0
  108. package/dist/components/keyboard/numberButton_input.js.map +1 -0
  109. package/dist/components/keyboard/numkeyboardPassword.js +460 -0
  110. package/dist/components/keyboard/numkeyboardPassword.js.map +1 -0
  111. package/dist/components/keyboard/onlyKeyboard.js +90 -0
  112. package/dist/components/keyboard/onlyKeyboard.js.map +1 -0
  113. package/dist/components/keyboard/onlyLetterButton.js +187 -0
  114. package/dist/components/keyboard/onlyLetterButton.js.map +1 -0
  115. package/dist/components/keyboard/onlyLetterButton2.js +235 -0
  116. package/dist/components/keyboard/onlyLetterButton2.js.map +1 -0
  117. package/dist/components/keyboard/onlyLetterButton2.less +162 -0
  118. package/dist/components/keyboard/onlyNumberButton.js +128 -0
  119. package/dist/components/keyboard/onlyNumberButton.js.map +1 -0
  120. package/dist/components/keyboard/onlyNumberButton2.js +115 -0
  121. package/dist/components/keyboard/onlyNumberButton2.js.map +1 -0
  122. package/dist/components/keyboard/textKeyboard.js +50 -0
  123. package/dist/components/keyboard/textKeyboard.js.map +1 -0
  124. package/dist/components/layout/hamburger.js +29 -0
  125. package/dist/components/layout/hamburger.js.map +1 -0
  126. package/dist/components/layout/index.js +31 -0
  127. package/dist/components/layout/index.js.map +1 -0
  128. package/dist/components/layout/layout.js +182 -0
  129. package/dist/components/layout/layout.js.map +1 -0
  130. package/dist/components/layout/sider.js +165 -0
  131. package/dist/components/layout/sider.js.map +1 -0
  132. package/dist/components/layout/style.less +82 -0
  133. package/dist/components/loading/index.js +198 -0
  134. package/dist/components/loading/index.js.map +1 -0
  135. package/dist/components/loading/loadingContent.js +176 -0
  136. package/dist/components/loading/loadingContent.js.map +1 -0
  137. package/dist/components/loading/style.less +61 -0
  138. package/dist/components/loading/utils.js +29 -0
  139. package/dist/components/loading/utils.js.map +1 -0
  140. package/dist/components/message/index.js +308 -0
  141. package/dist/components/message/index.js.map +1 -0
  142. package/dist/components/message/index.less +101 -0
  143. package/dist/components/modal/index.js +93 -0
  144. package/dist/components/modal/index.js.map +1 -0
  145. package/dist/components/modal/index.less +19 -0
  146. package/dist/components/modalVertical/index.js +325 -0
  147. package/dist/components/modalVertical/index.js.map +1 -0
  148. package/dist/components/modalVertical/style.less +60 -0
  149. package/dist/components/modalWraper/index.js +470 -0
  150. package/dist/components/modalWraper/index.js.map +1 -0
  151. package/dist/components/modalWraper/style.less +257 -0
  152. package/dist/components/modalWraper/utils.js +48 -0
  153. package/dist/components/modalWraper/utils.js.map +1 -0
  154. package/dist/components/notification/index.js +119 -0
  155. package/dist/components/notification/index.js.map +1 -0
  156. package/dist/components/notification/index.less +52 -0
  157. package/dist/components/overflowTip/index.js +269 -0
  158. package/dist/components/overflowTip/index.js.map +1 -0
  159. package/dist/components/overflowTip/style.less +66 -0
  160. package/dist/components/page/index.js +49 -0
  161. package/dist/components/page/index.js.map +1 -0
  162. package/dist/components/page/index.less +22 -0
  163. package/dist/components/product/detail.js +148 -0
  164. package/dist/components/product/detail.js.map +1 -0
  165. package/dist/components/product/getCard.js +145 -0
  166. package/dist/components/product/getCard.js.map +1 -0
  167. package/dist/components/product/index.less +128 -0
  168. package/dist/components/progressState/EmptyAndErrorView.js +143 -0
  169. package/dist/components/progressState/EmptyAndErrorView.js.map +1 -0
  170. package/dist/components/progressState/ProgressState.js +157 -0
  171. package/dist/components/progressState/ProgressState.js.map +1 -0
  172. package/dist/components/progressState/index.js +14 -0
  173. package/dist/components/progressState/index.js.map +1 -0
  174. package/dist/components/progressState/style.less +65 -0
  175. package/dist/components/scan/index.js +219 -0
  176. package/dist/components/scan/index.js.map +1 -0
  177. package/dist/components/scan/index.less +34 -0
  178. package/dist/components/select/index.js +28 -0
  179. package/dist/components/select/index.js.map +1 -0
  180. package/dist/components/select/index.less +12 -0
  181. package/dist/components/settlement/asyncModal.js +204 -0
  182. package/dist/components/settlement/asyncModal.js.map +1 -0
  183. package/dist/components/settlement/index.js +16 -0
  184. package/dist/components/settlement/index.js.map +1 -0
  185. package/dist/components/settlement/prototypeTable/index.js +349 -0
  186. package/dist/components/settlement/prototypeTable/index.js.map +1 -0
  187. package/dist/components/settlement/prototypeTable/style.less +59 -0
  188. package/dist/components/settlement/prototypeTable/utils.js +14 -0
  189. package/dist/components/settlement/prototypeTable/utils.js.map +1 -0
  190. package/dist/components/settlement/settlement.js +5471 -0
  191. package/dist/components/settlement/settlement.js.map +1 -0
  192. package/dist/components/settlement/settlement.less +1594 -0
  193. package/dist/components/settlement/settlementStore.js +2101 -0
  194. package/dist/components/settlement/settlementStore.js.map +1 -0
  195. package/dist/components/settlement/utils.js +249 -0
  196. package/dist/components/settlement/utils.js.map +1 -0
  197. package/dist/components/socket/index.js +220 -0
  198. package/dist/components/socket/index.js.map +1 -0
  199. package/dist/components/spin/index.js +95 -0
  200. package/dist/components/spin/index.js.map +1 -0
  201. package/dist/components/spin/spin-style.less +436 -0
  202. package/dist/components/test/index.js +330 -0
  203. package/dist/components/test/index.js.map +1 -0
  204. package/dist/components/ticon/iconfont/demo.css +539 -0
  205. package/dist/components/ticon/iconfont/demo_index.html +5202 -0
  206. package/dist/components/ticon/iconfont/iconfont.css +887 -0
  207. package/dist/components/ticon/iconfont/iconfont.eot +0 -0
  208. package/dist/components/ticon/iconfont/iconfont.js +35 -0
  209. package/dist/components/ticon/iconfont/iconfont.js.map +1 -0
  210. package/dist/components/ticon/iconfont/iconfont.json +1535 -0
  211. package/dist/components/ticon/iconfont/iconfont.svg +593 -0
  212. package/dist/components/ticon/iconfont/iconfont.ttf +0 -0
  213. package/dist/components/ticon/iconfont/iconfont.woff +0 -0
  214. package/dist/components/ticon/iconfont/iconfont.woff2 +0 -0
  215. package/dist/components/ticon/index.js +60 -0
  216. package/dist/components/ticon/index.js.map +1 -0
  217. package/dist/components/touchScroll/index.js +182 -0
  218. package/dist/components/touchScroll/index.js.map +1 -0
  219. package/dist/components/touchTable/AuthProcess.js +42 -0
  220. package/dist/components/touchTable/AuthProcess.js.map +1 -0
  221. package/dist/components/touchTable/generateWater.js +59 -0
  222. package/dist/components/touchTable/generateWater.js.map +1 -0
  223. package/dist/components/touchTable/index.js +1109 -0
  224. package/dist/components/touchTable/index.js.map +1 -0
  225. package/dist/components/touchTable/index.less +370 -0
  226. package/dist/components/touchTable/utils.js +14 -0
  227. package/dist/components/touchTable/utils.js.map +1 -0
  228. package/dist/demo/PopOverDemo.js +126 -0
  229. package/dist/demo/PopOverDemo.js.map +1 -0
  230. package/dist/index.js +249 -0
  231. package/dist/index.js.map +1 -0
  232. package/dist/util/tools.js +202 -0
  233. package/dist/util/tools.js.map +1 -0
  234. package/locales/zh/tplus-components-touch.json +1 -1
  235. package/locales/zh-CN/tplus-components-touch.json +1 -1
  236. package/mocks/memberInfo.json +79 -79
  237. package/package.json +3 -3
  238. package/tsconfig.json +26 -26
@@ -0,0 +1,459 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = undefined;
7
+
8
+ var _input = require('antd/es/input');
9
+
10
+ var _input2 = _interopRequireDefault(_input);
11
+
12
+ var _extends2 = require('babel-runtime/helpers/extends');
13
+
14
+ var _extends3 = _interopRequireDefault(_extends2);
15
+
16
+ var _popover = require('antd/es/popover');
17
+
18
+ var _popover2 = _interopRequireDefault(_popover);
19
+
20
+ var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
21
+
22
+ var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
23
+
24
+ var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
25
+
26
+ var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
27
+
28
+ var _createClass2 = require('babel-runtime/helpers/createClass');
29
+
30
+ var _createClass3 = _interopRequireDefault(_createClass2);
31
+
32
+ var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
33
+
34
+ var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
35
+
36
+ var _inherits2 = require('babel-runtime/helpers/inherits');
37
+
38
+ var _inherits3 = _interopRequireDefault(_inherits2);
39
+
40
+ var _class, _temp;
41
+
42
+ require('antd/es/input/style');
43
+
44
+ require('antd/es/popover/style');
45
+
46
+ var _react = require('react');
47
+
48
+ var _react2 = _interopRequireDefault(_react);
49
+
50
+ var _mutantsUtil = require('mutants-util');
51
+
52
+ var _index = require('../../index');
53
+
54
+ var _propTypes = require('prop-types');
55
+
56
+ var _propTypes2 = _interopRequireDefault(_propTypes);
57
+
58
+ var _tools = require('../../util/tools');
59
+
60
+ var _tools2 = _interopRequireDefault(_tools);
61
+
62
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
63
+
64
+ var NumKeyboard = (_temp = _class = function (_Component) {
65
+ (0, _inherits3.default)(NumKeyboard, _Component);
66
+
67
+ function NumKeyboard(props) {
68
+ (0, _classCallCheck3.default)(this, NumKeyboard);
69
+
70
+ var _this = (0, _possibleConstructorReturn3.default)(this, (NumKeyboard.__proto__ || (0, _getPrototypeOf2.default)(NumKeyboard)).call(this));
71
+
72
+ _this.numClick = function (key) {
73
+ // let newValue = Keyboard.getNewValue(this.input.input, this.getShowValue(), key, true);
74
+ // this.setStateValue(newValue);
75
+
76
+ if (key == 'sure') {
77
+ if (_this.props.handleOk) {
78
+ var result = _this.props.handleOk(_this.state.value);
79
+ if (result) {
80
+ _this.setState({
81
+ visible: false
82
+ });
83
+ }
84
+ }
85
+ return;
86
+ }
87
+ var length1 = _this.props.maxLength;
88
+ var length2 = _this.props.precisionLength;
89
+ if (length2 == 0 && key == '.') {
90
+ return;
91
+ }
92
+ var value = _this.state.value + '';
93
+ if (value == '' && key == '.') {
94
+ // 不允许小数的时候,也不允许小数点
95
+ return;
96
+ }
97
+ if ((value + '').indexOf('.') > 0 && key == '.') {
98
+ return;
99
+ }
100
+
101
+ var newValue = _index.Keyboard.getNewValue(_this.input.input, _this.getShowValue(), key, true);
102
+
103
+ if (length1 && length2) {
104
+ var v = newValue,
105
+ v1 = void 0,
106
+ v2 = void 0;
107
+ if (value.indexOf('-') != -1) {
108
+ v = value.slice(1, value.length);
109
+ }
110
+ v1 = v.split('.')[0];
111
+ v2 = v.split('.')[1];
112
+ if (v.length > length1 || v2 && v2.length > length2 || v1 && v1.length > length1 - length2 - 1) {
113
+ return;
114
+ }
115
+ }
116
+
117
+ _this.setStateValue(newValue);
118
+
119
+ // this.setState({
120
+ // value: newValue
121
+ // }, () => {
122
+ // this.props.onChange && this.props.onChange(this.state.value);
123
+ // })
124
+ };
125
+
126
+ _this.getKeyboard = function () {
127
+ var nums = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '00', '.'];
128
+ var numsKey = nums.map(function (item) {
129
+ return _react2.default.createElement(
130
+ 'div',
131
+ { className: 'num key', key: item + Math.random(), onClick: _this.numClick.bind(_this, item) },
132
+ item
133
+ );
134
+ });
135
+ var type = _this.props.type;
136
+
137
+ return _react2.default.createElement(
138
+ 'div',
139
+ { className: 'clearfix', onMouseDown: function onMouseDown(e) {
140
+ return e.preventDefault();
141
+ } },
142
+ _react2.default.createElement(
143
+ 'div',
144
+ { className: 'nums clearfix' },
145
+ numsKey
146
+ ),
147
+ _react2.default.createElement(
148
+ 'div',
149
+ { className: 'dels clearfix' },
150
+ _react2.default.createElement(
151
+ 'div',
152
+ { className: 'del key', onClick: _this.numClick.bind(_this, 'delete') },
153
+ _react2.default.createElement(_index.Ticon, { type: 'tuige' })
154
+ ),
155
+ type == 'positive' ? _react2.default.createElement(
156
+ _react2.default.Fragment,
157
+ null,
158
+ _react2.default.createElement(
159
+ 'div',
160
+ { className: 'del key clear positive', onClick: _this.numClick.bind(_this, 'clear') },
161
+ '\u6E05',
162
+ _react2.default.createElement('br', null),
163
+ '\u7A7A'
164
+ )
165
+ ) : null,
166
+ type == 'sure' ? _react2.default.createElement(
167
+ _react2.default.Fragment,
168
+ null,
169
+ _react2.default.createElement(
170
+ 'div',
171
+ { className: 'del key', onClick: _this.numClick.bind(_this, 'clear') },
172
+ '\u6E05\u7A7A'
173
+ ),
174
+ _react2.default.createElement(
175
+ 'div',
176
+ { className: 'del key sure real-sure', onClick: _this.numClick.bind(_this, 'sure') },
177
+ '\u786E',
178
+ _react2.default.createElement('br', null),
179
+ '\u5B9A'
180
+ )
181
+ ) : null,
182
+ type == undefined || type == 'text' ? _react2.default.createElement(
183
+ _react2.default.Fragment,
184
+ null,
185
+ _react2.default.createElement(
186
+ 'div',
187
+ { className: 'del key', onClick: _this.numClick.bind(_this, '-') },
188
+ '\u2014'
189
+ ),
190
+ _react2.default.createElement(
191
+ 'div',
192
+ { className: 'del key clear', onClick: _this.numClick.bind(_this, 'clear') },
193
+ '\u6E05',
194
+ _react2.default.createElement('br', null),
195
+ '\u7A7A'
196
+ )
197
+ ) : null
198
+ )
199
+ );
200
+ };
201
+
202
+ _this.setStateValue = function (value, fn) {
203
+ _this.setState({
204
+ value: value
205
+ }, function () {
206
+ if (_this.props.onChange) {
207
+ _this.props.onChange(_this.getShowValue(), _this.props.name);
208
+ }
209
+ if (fn && typeof fn == 'function') fn();
210
+ });
211
+ };
212
+
213
+ _this.inputChange = function (e) {
214
+ var v = e && e.target.value;
215
+ if (v === '') {
216
+ _this.setStateValue('');
217
+ return;
218
+ }
219
+ var newValue = void 0;
220
+ var isReturn = _this.props.isReturn;
221
+
222
+ if (isReturn) {
223
+ if (!_tools2.default.isSubFloat(v)) {
224
+ return;
225
+ }
226
+ } else {
227
+ if (!_tools2.default.isfloat(v)) {
228
+ return;
229
+ }
230
+ }
231
+ if (v.match(/\./g) && v.match(/\./g).length > 1) {
232
+ return;
233
+ }
234
+ if (_this.props.type == "positive") {
235
+ // 只允许输入正数
236
+ newValue = (v + '').match(/\d+\.?\d*/);
237
+ } else {
238
+ newValue = (v + '').match(/^(\-)?[(\d*)|(\d+\.?\d*)]*$/);
239
+ }
240
+ var length1 = _this.props.maxLength;
241
+ var length2 = _this.props.precisionLength;
242
+ if (length1 >= 0 && length2 >= 0) {
243
+ var _v = (newValue ? newValue[0] : '') + '',
244
+ v1 = void 0,
245
+ v2 = void 0;
246
+ if (_v.indexOf('-') != -1) {
247
+ _v = _v.slice(1, _v.length);
248
+ }
249
+ v1 = _v.split('.')[0];
250
+ v2 = _v.split('.')[1];
251
+ if (_v.length > length1 || v2 && v2.length > length2 || v1 && v1.length > length1 - length2 - 1) {
252
+ return;
253
+ }
254
+ if (length2 == 0 && _v.indexOf('.') > 0) {
255
+ // 不允许小数的时候,也不允许小数点
256
+ return;
257
+ }
258
+ }
259
+ if (newValue && newValue[0]) {
260
+ newValue = newValue[0];
261
+ if (newValue !== '-') {
262
+ var _this$props$max = _this.props.max,
263
+ max = _this$props$max === undefined ? {} : _this$props$max;
264
+ var _this$props$min = _this.props.min,
265
+ min = _this$props$min === undefined ? {} : _this$props$min;
266
+
267
+ if (!_tools2.default.isNull(max.value) && newValue > max.value) return;
268
+ if (!_tools2.default.isNull(min.value) && newValue < min.value) return;
269
+ }
270
+ _this.setStateValue(newValue || '');
271
+ }
272
+ // this.setState({
273
+ // value: newValue && newValue[0] || ''
274
+ // }, () => {
275
+ // this.props.onChange && this.props.onChange(this.state.value);
276
+ // })
277
+ };
278
+
279
+ _this.onFocus = function () {
280
+ _this.props.onFocus && _this.props.onFocus();
281
+ _this.input.input.select();
282
+ };
283
+
284
+ _this.onShowPopover = function () {
285
+ _this.setState({
286
+ visible: true
287
+ }, function () {
288
+ _this.input.input.focus();
289
+ _this.input.input.select();
290
+ });
291
+ };
292
+
293
+ _this.getValue = function () {
294
+ return _this.getShowValue();
295
+ };
296
+
297
+ _this.setValue = function (value) {
298
+ _this.setState({
299
+ value: value
300
+ });
301
+ };
302
+
303
+ _this.onVisibleChange = function (visible) {
304
+ console.log('onVisibleChange', visible);
305
+ _this.setState({
306
+ visible: visible
307
+ });
308
+ _this.props.onVisibleChange && _this.props.onVisibleChange(visible);
309
+ };
310
+
311
+ _this.onHidePopover = function () {
312
+ _this.setState({
313
+ visible: false
314
+ });
315
+ };
316
+
317
+ _this.getShowValue = function () {
318
+ return _this.props.value === undefined ? _this.state.value : _this.props.value;
319
+ };
320
+
321
+ _this.getKeyboardIcon = function () {
322
+ var propsVisible = _this.props.show;
323
+ var isPropsVisible = propsVisible !== undefined;
324
+ var icon = isPropsVisible ? propsVisible ? 'jianpan1' : 'jianpan2' : _this.state.visible ? 'jianpan1' : 'jianpan2';
325
+ var _this$props$popClassN = _this.props.popClassName,
326
+ popClassName = _this$props$popClassN === undefined ? '' : _this$props$popClassN;
327
+
328
+ return _this.props.disabled ? _react2.default.createElement(_index.Ticon, { className: 'keyboard-icon', type: icon, style: { color: '#999' } }) : _react2.default.createElement(
329
+ _popover2.default,
330
+ {
331
+ placement: 'bottomRight',
332
+ onVisibleChange: _this.onVisibleChange,
333
+ onHide: _this.onHidePopover,
334
+ title: null
335
+ // arrowOffsetTop={-200}
336
+ // arrowOffsetLeft={400}
337
+ , visible: isPropsVisible ? propsVisible : _this.state.visible,
338
+ content: _this.getKeyboard(),
339
+ trigger: 'click',
340
+ overlayClassName: 'num-keyboard-popover num-keyboard-popover-click ' + popClassName + ' ' },
341
+ _react2.default.createElement(_index.Ticon, { className: 'keyboard-icon', type: icon, style: { color: '#999' }, onClick: _this.onShowPopover })
342
+ );
343
+ };
344
+
345
+ _this.state = {
346
+ visible: false,
347
+ value: props.value || ''
348
+ };
349
+
350
+ var _ref = _mutantsUtil.platform || {},
351
+ isHorizontalPad = _ref.isHorizontalPad;
352
+
353
+ _this.isMobileEnvironment = !!isHorizontalPad;
354
+ return _this;
355
+ }
356
+
357
+ (0, _createClass3.default)(NumKeyboard, [{
358
+ key: 'componentDidMount',
359
+ value: function componentDidMount() {
360
+ this.setState({
361
+ value: this.props.defaultValue || ''
362
+ });
363
+ }
364
+
365
+ /**
366
+ * 对外提供的 get 方法
367
+ */
368
+
369
+
370
+ /**
371
+ * 对外提供的 set 方法
372
+ */
373
+
374
+ }, {
375
+ key: 'render',
376
+ value: function render() {
377
+ var _this2 = this;
378
+
379
+ var _props2 = this.props,
380
+ bordered = _props2.bordered,
381
+ trigger = _props2.trigger,
382
+ _props2$onIconClick = _props2.onIconClick,
383
+ onIconClick = _props2$onIconClick === undefined ? function () {} : _props2$onIconClick,
384
+ icon = _props2.icon,
385
+ _props2$className = _props2.className,
386
+ className = _props2$className === undefined ? '' : _props2$className,
387
+ _props2$popClassName = _props2.popClassName,
388
+ popClassName = _props2$popClassName === undefined ? '' : _props2$popClassName,
389
+ _props2$inputClassNam = _props2.inputClassName,
390
+ inputClassName = _props2$inputClassNam === undefined ? '' : _props2$inputClassNam;
391
+
392
+ var _props = (0, _extends3.default)({}, this.props);
393
+ delete _props.bordered;
394
+ delete _props.trigger;
395
+ delete _props.className;
396
+ delete _props.popClassName;
397
+ delete _props.icon;
398
+ delete _props.onIconClick;
399
+ delete _props.inputClassName;
400
+ delete _props.precisionLength;
401
+ delete _props.maxLength;
402
+ var value = this.getShowValue();
403
+ return _react2.default.createElement(
404
+ 'div',
405
+ { className: 'keyboard number-keyboard ' + (!bordered ? 'no-bordered' : '') + ' ' + className },
406
+ trigger == 'click' ? _react2.default.createElement(
407
+ _input2.default.Group,
408
+ null,
409
+ _react2.default.createElement(_input2.default, (0, _extends3.default)({ type: 'text'
410
+ }, _props, {
411
+ className: inputClassName + ' keyboard-input',
412
+ onFocus: this.onFocus,
413
+ onChange: this.inputChange,
414
+ value: value,
415
+ ref: function ref(input) {
416
+ return _this2.input = input;
417
+ },
418
+ allowClear: this.isMobileEnvironment,
419
+ suffix: !this.isMobileEnvironment && this.getKeyboardIcon()
420
+ }))
421
+ ) : _react2.default.createElement(
422
+ _input2.default.Group,
423
+ null,
424
+ _react2.default.createElement(
425
+ _popover2.default,
426
+ {
427
+ placement: 'bottomRight',
428
+ onVisibleChange: this.onVisibleChange,
429
+ onHide: this.onHidePopover,
430
+ rootClose: false,
431
+ title: null,
432
+ visible: this.state.visible,
433
+ content: this.getKeyboard(),
434
+ trigger: 'focus',
435
+ overlayClassName: 'num-keyboard-popover num-keyboard-popover-focus ' + popClassName + ' '
436
+ },
437
+ _react2.default.createElement(_input2.default, (0, _extends3.default)({ type: 'text', className: 'keyboard-input' }, _props, { onBlur: this.onHidePopover, onFocus: this.onShowPopover, onChange: this.inputChange, value: value, ref: function ref(input) {
438
+ return _this2.input = input;
439
+ },
440
+ suffix: _react2.default.createElement(_index.Ticon, { className: 'keyboard-icon', type: icon, style: { color: '#999' }, onClick: onIconClick }) }))
441
+ )
442
+ )
443
+ );
444
+ }
445
+ }]);
446
+ return NumKeyboard;
447
+ }(_react.Component), _class.propTypes = {
448
+ onChange: _propTypes2.default.func,
449
+ icon: _propTypes2.default.string,
450
+ bordered: _propTypes2.default.bool, // 是否要 通过 icon 来触发键盘弹出
451
+ popClassName: _propTypes2.default.string, // 键盘弹出框的 className
452
+ onIconClick: _propTypes2.default.func
453
+ }, _class.defaultProps = {
454
+ trigger: 'click',
455
+ bordered: false,
456
+ icon: 'jianpan'
457
+ }, _temp);
458
+ exports.default = NumKeyboard;
459
+ //# sourceMappingURL=numKeyboard.js.map
@@ -0,0 +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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;AACA;;AACA;;AAEA;;;;AAEA;;;;;;IAEqBA,W;;;AAgBnB,uBAAYC,KAAZ,EAAmB;AAAA;;AAAA;;AAAA,UAgBnBC,QAhBmB,GAgBR,UAACC,GAAD,EAAS;AAClB;AACA;;AAEA,UAAIA,OAAO,MAAX,EAAmB;AACjB,YAAI,MAAKF,KAAL,CAAWG,QAAf,EAAyB;AACvB,cAAIC,SAAS,MAAKJ,KAAL,CAAWG,QAAX,CAAoB,MAAKE,KAAL,CAAWC,KAA/B,CAAb;AACA,cAAIF,MAAJ,EAAY;AACV,kBAAKG,QAAL,CAAc;AACZC,uBAAS;AADG,aAAd;AAGD;AACF;AACD;AACD;AACD,UAAIC,UAAU,MAAKT,KAAL,CAAWU,SAAzB;AACA,UAAIC,UAAU,MAAKX,KAAL,CAAWY,eAAzB;AACA,UAAID,WAAW,CAAX,IAAgBT,OAAO,GAA3B,EAAgC;AAC9B;AACD;AACD,UAAII,QAAQ,MAAKD,KAAL,CAAWC,KAAX,GAAmB,EAA/B;AACA,UAAIA,SAAS,EAAT,IAAeJ,OAAO,GAA1B,EAA+B;AAAE;AAC/B;AACD;AACD,UAAI,CAACI,QAAQ,EAAT,EAAaO,OAAb,CAAqB,GAArB,IAA4B,CAA5B,IAAiCX,OAAO,GAA5C,EAAiD;AAC/C;AACD;;AAED,UAAIY,WAAWC,gBAASC,WAAT,CAAqB,MAAKC,KAAL,CAAWA,KAAhC,EAAuC,MAAKC,YAAL,EAAvC,EAA4DhB,GAA5D,EAAiE,IAAjE,CAAf;;AAEA,UAAIO,WAAWE,OAAf,EAAwB;AACtB,YAAIQ,IAAIL,QAAR;AAAA,YAAkBM,WAAlB;AAAA,YAAsBC,WAAtB;AACA,YAAIf,MAAMO,OAAN,CAAc,GAAd,KAAsB,CAAC,CAA3B,EAA8B;AAC5BM,cAAIb,MAAMgB,KAAN,CAAY,CAAZ,EAAehB,MAAMiB,MAArB,CAAJ;AACD;AACDH,aAAKD,EAAEK,KAAF,CAAQ,GAAR,EAAa,CAAb,CAAL;AACAH,aAAKF,EAAEK,KAAF,CAAQ,GAAR,EAAa,CAAb,CAAL;AACA,YAAIL,EAAEI,MAAF,GAAWd,OAAX,IAAuBY,MAAMA,GAAGE,MAAH,GAAYZ,OAAzC,IAAsDS,MAAMA,GAAGG,MAAH,GAAad,UAAQE,OAAR,GAAgB,CAA7F,EAAkG;AAChG;AACD;AACF;;AAED,YAAKc,aAAL,CAAmBX,QAAnB;;AAEA;AACA;AACA;AACA;AACA;AACD,KAjEkB;;AAAA,UAmEnBY,WAnEmB,GAmEL,YAAM;AAClB,UAAIC,OAAO,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,EAA0B,GAA1B,EAA+B,GAA/B,EAAoC,GAApC,EAAyC,GAAzC,EAA8C,GAA9C,EAAmD,IAAnD,EAAyD,GAAzD,CAAX;AACA,UAAIC,UAAUD,KAAKE,GAAL,CAAS,UAACC,IAAD;AAAA,eAAU;AAAA;AAAA,YAAK,WAAU,SAAf,EAAyB,KAAKA,OAAOC,KAAKC,MAAL,EAArC,EAAoD,SAAS,MAAK/B,QAAL,CAAcgC,IAAd,QAAyBH,IAAzB,CAA7D;AAA8FA;AAA9F,SAAV;AAAA,OAAT,CAAd;AAFkB,UAGbI,IAHa,GAGL,MAAKlC,KAHA,CAGbkC,IAHa;;AAIlB,aACE;AAAA;AAAA,UAAK,WAAU,UAAf,EAA0B,aAAa;AAAA,mBAAKC,EAAEC,cAAF,EAAL;AAAA,WAAvC;AAEE;AAAA;AAAA,YAAK,WAAU,eAAf;AACGR;AADH,SAFF;AAKE;AAAA;AAAA,YAAK,WAAU,eAAf;AACE;AAAA;AAAA,cAAK,WAAU,SAAf,EAAyB,SAAS,MAAK3B,QAAL,CAAcgC,IAAd,QAAyB,QAAzB,CAAlC;AACE,0CAAC,YAAD,IAAO,MAAK,OAAZ;AADF,WADF;AAKIC,kBAAQ,UAAR,GACA;AAAC,2BAAD,CAAO,QAAP;AAAA;AACE;AAAA;AAAA,gBAAK,mCAAL,EAA0C,SAAS,MAAKjC,QAAL,CAAcgC,IAAd,QAAyB,OAAzB,CAAnD;AAAA;AAAuF,uDAAvF;AAAA;AAAA;AADF,WADA,GAKA,IAVJ;AAaIC,kBAAQ,MAAR,GACA;AAAC,2BAAD,CAAO,QAAP;AAAA;AACE;AAAA;AAAA,gBAAK,WAAU,SAAf,EAAyB,SAAS,MAAKjC,QAAL,CAAcgC,IAAd,QAAyB,OAAzB,CAAlC;AAAA;AAAA,aADF;AAEE;AAAA;AAAA,gBAAK,mCAAL,EAA0C,SAAS,MAAKhC,QAAL,CAAcgC,IAAd,QAAyB,MAAzB,CAAnD;AAAA;AAAsF,uDAAtF;AAAA;AAAA;AAFF,WADA,GAMA,IAnBJ;AAsBIC,kBAAQG,SAAR,IAAqBH,QAAQ,MAA7B,GACA;AAAC,2BAAD,CAAO,QAAP;AAAA;AACE;AAAA;AAAA,gBAAK,WAAU,SAAf,EAAyB,SAAS,MAAKjC,QAAL,CAAcgC,IAAd,QAAyB,GAAzB,CAAlC;AAAA;AAAA,aADF;AAEE;AAAA;AAAA,gBAAK,0BAAL,EAAiC,SAAS,MAAKhC,QAAL,CAAcgC,IAAd,QAAyB,OAAzB,CAA1C;AAAA;AAA8E,uDAA9E;AAAA;AAAA;AAFF,WADA,GAMA;AA5BJ;AALF,OADF;AAuCD,KA9GkB;;AAAA,UAgHnBR,aAhHmB,GAgHH,UAACnB,KAAD,EAAQgC,EAAR,EAAe;AAC7B,YAAK/B,QAAL,CAAc;AACZD,eAAOA;AADK,OAAd,EAEG,YAAM;AACP,YAAI,MAAKN,KAAL,CAAWuC,QAAf,EAAyB;AACvB,gBAAKvC,KAAL,CAAWuC,QAAX,CAAoB,MAAKrB,YAAL,EAApB,EAAyC,MAAKlB,KAAL,CAAWwC,IAApD;AACD;AACD,YAAIF,MAAM,OAAOA,EAAP,IAAa,UAAvB,EAAmCA;AACpC,OAPD;AAQD,KAzHkB;;AAAA,UA2HnBG,WA3HmB,GA2HL,UAACN,CAAD,EAAO;AACnB,UAAMhB,IAAKgB,KAAKA,EAAEO,MAAF,CAASpC,KAAzB;AACA,UAAGa,MAAM,EAAT,EAAa;AACX,cAAKM,aAAL,CAAmB,EAAnB;AACA;AACD;AACD,UAAIX,iBAAJ;AANmB,UAOX6B,QAPW,GAOG,MAAK3C,KAPR,CAOX2C,QAPW;;AAQnB,UAAIA,QAAJ,EAAc;AACZ,YAAI,CAAEC,gBAAMC,UAAN,CAAiB1B,CAAjB,CAAN,EAA2B;AACzB;AACD;AACF,OAJD,MAIO;AACL,YAAI,CAAEyB,gBAAME,OAAN,CAAc3B,CAAd,CAAN,EAAwB;AACtB;AACD;AACF;AACD,UAAIA,EAAE4B,KAAF,CAAQ,KAAR,KAAkB5B,EAAE4B,KAAF,CAAQ,KAAR,EAAexB,MAAf,GAAwB,CAA9C,EAAiD;AAC/C;AACD;AACD,UAAI,MAAKvB,KAAL,CAAWkC,IAAX,IAAmB,UAAvB,EAAmC;AAAE;AACnCpB,mBAAW,CAACK,IAAI,EAAL,EAAS4B,KAAT,CAAe,WAAf,CAAX;AACD,OAFD,MAEO;AACLjC,mBAAW,CAACK,IAAI,EAAL,EAAS4B,KAAT,CAAe,6BAAf,CAAX;AACD;AACD,UAAItC,UAAU,MAAKT,KAAL,CAAWU,SAAzB;AACA,UAAIC,UAAU,MAAKX,KAAL,CAAWY,eAAzB;AACA,UAAIH,WAAU,CAAV,IAAeE,WAAU,CAA7B,EAAgC;AAC9B,YAAIQ,KAAI,CAACL,WAAWA,SAAS,CAAT,CAAX,GAAyB,EAA1B,IAAgC,EAAxC;AAAA,YAA4CM,WAA5C;AAAA,YAAgDC,WAAhD;AACA,YAAIF,GAAEN,OAAF,CAAU,GAAV,KAAkB,CAAC,CAAvB,EAA0B;AACxBM,eAAIA,GAAEG,KAAF,CAAQ,CAAR,EAAWH,GAAEI,MAAb,CAAJ;AACD;AACDH,aAAKD,GAAEK,KAAF,CAAQ,GAAR,EAAa,CAAb,CAAL;AACAH,aAAKF,GAAEK,KAAF,CAAQ,GAAR,EAAa,CAAb,CAAL;AACA,YAAIL,GAAEI,MAAF,GAAWd,OAAX,IAAuBY,MAAMA,GAAGE,MAAH,GAAYZ,OAAzC,IAAsDS,MAAMA,GAAGG,MAAH,GAAad,UAAQE,OAAR,GAAgB,CAA7F,EAAkG;AAChG;AACD;AACD,YAAIA,WAAW,CAAX,IAAgBQ,GAAEN,OAAF,CAAU,GAAV,IAAiB,CAArC,EAAwC;AAAE;AACxC;AACD;AACF;AACD,UAAIC,YAAYA,SAAS,CAAT,CAAhB,EAA6B;AAC3BA,mBAAWA,SAAS,CAAT,CAAX;AACA,YAAIA,aAAW,GAAf,EAAoB;AAAA,gCACD,MAAKd,KADJ,CACXgD,GADW;AAAA,cACXA,GADW,mCACP,EADO;AAAA,gCAED,MAAKhD,KAFJ,CAEXiD,GAFW;AAAA,cAEXA,GAFW,mCAEP,EAFO;;AAGlB,cAAG,CAACL,gBAAMM,MAAN,CAAaF,IAAI1C,KAAjB,CAAD,IAA4BQ,WAASkC,IAAI1C,KAA5C,EAAkD;AAClD,cAAG,CAACsC,gBAAMM,MAAN,CAAaD,IAAI3C,KAAjB,CAAD,IAA2BQ,WAASmC,IAAI3C,KAA3C,EAAiD;AAClD;AACD,cAAKmB,aAAL,CAAoBX,YAAa,EAAjC;AACD;AACD;AACA;AACA;AACA;AACA;AACD,KAnLkB;;AAAA,UAqLnBqC,OArLmB,GAqLT,YAAM;AACd,YAAKnD,KAAL,CAAWmD,OAAX,IAAoB,MAAKnD,KAAL,CAAWmD,OAAX,EAApB;AACA,YAAKlC,KAAL,CAAWA,KAAX,CAAiBmC,MAAjB;AACD,KAxLkB;;AAAA,UA0LnBC,aA1LmB,GA0LH,YAAM;AACpB,YAAK9C,QAAL,CAAc;AACZC,iBAAS;AADG,OAAd,EAEG,YAAM;AACP,cAAKS,KAAL,CAAWA,KAAX,CAAiBqC,KAAjB;AACA,cAAKrC,KAAL,CAAWA,KAAX,CAAiBmC,MAAjB;AACD,OALD;AAMD,KAjMkB;;AAAA,UAsMnBG,QAtMmB,GAsMR,YAAM;AACf,aAAO,MAAKrC,YAAL,EAAP;AACD,KAxMkB;;AAAA,UA6MnBsC,QA7MmB,GA6MR,UAAClD,KAAD,EAAW;AACpB,YAAKC,QAAL,CAAc;AACZD,eAAOA;AADK,OAAd;AAGD,KAjNkB;;AAAA,UAmNnBmD,eAnNmB,GAmND,UAACjD,OAAD,EAAa;AAC7BkD,cAAQC,GAAR,CAAY,iBAAZ,EAA+BnD,OAA/B;AACA,YAAKD,QAAL,CAAc;AACZC;AADY,OAAd;AAGA,YAAKR,KAAL,CAAWyD,eAAX,IAA8B,MAAKzD,KAAL,CAAWyD,eAAX,CAA2BjD,OAA3B,CAA9B;AACD,KAzNkB;;AAAA,UA2NnBoD,aA3NmB,GA2NH,YAAM;AACpB,YAAKrD,QAAL,CAAc;AACZC,iBAAS;AADG,OAAd;AAGD,KA/NkB;;AAAA,UAiOnBU,YAjOmB,GAiOJ,YAAM;AACnB,aAAO,MAAKlB,KAAL,CAAWM,KAAX,KAAqB+B,SAArB,GAAiC,MAAKhC,KAAL,CAAWC,KAA5C,GAAoD,MAAKN,KAAL,CAAWM,KAAtE;AACD,KAnOkB;;AAAA,UAqOnBuD,eArOmB,GAqOD,YAAM;AACtB,UAAIC,eAAe,MAAK9D,KAAL,CAAW+D,IAA9B;AACA,UAAIC,iBAAiBF,iBAAiBzB,SAAtC;AACA,UAAI4B,OAAOD,iBAAkBF,eAAe,UAAf,GAA4B,UAA9C,GAA6D,MAAKzD,KAAL,CAAWG,OAAX,GAAqB,UAArB,GAAkC,UAA1G;AAHsB,kCAIM,MAAKR,KAJX,CAIhBkE,YAJgB;AAAA,UAIhBA,YAJgB,yCAID,EAJC;;AAKtB,aACE,MAAKlE,KAAL,CAAWmE,QAAX,GACE,8BAAC,YAAD,IAAO,WAAU,eAAjB,EAAiC,MAAMF,IAAvC,EAA6C,OAAO,EAAEG,OAAO,MAAT,EAApD,GADF,GAGE;AAAA;AAAA;AACE,qBAAU,aADZ;AAEE,2BAAiB,MAAKX,eAFxB;AAGE,kBAAQ,MAAKG,aAHf;AAIE,iBAAO;AACP;AACA;AANF,YAOE,SAASI,iBAAiBF,YAAjB,GAAgC,MAAKzD,KAAL,CAAWG,OAPtD;AAQE,mBAAS,MAAKkB,WAAL,EARX;AASE,mBAAQ,OATV;AAUE,iFAAqEwC,YAArE,MAVF;AAWE,sCAAC,YAAD,IAAO,WAAU,eAAjB,EAAiC,MAAMD,IAAvC,EAA6C,OAAO,EAAEG,OAAO,MAAT,EAApD,EAAsE,SAAS,MAAKf,aAApF;AAXF,OAJJ;AAkBD,KA5PkB;;AAEjB,UAAKhD,KAAL,GAAa;AACXG,eAAS,KADE;AAEXF,aAAON,MAAMM,KAAN,IAAe;AAFX,KAAb;;AAFiB,eAMW+D,yBAAY,EANvB;AAAA,QAMTC,eANS,QAMTA,eANS;;AAOjB,UAAKC,mBAAL,GAA2B,CAAC,CAACD,eAA7B;AAPiB;AAQlB;;;;wCAEmB;AAClB,WAAK/D,QAAL,CAAc;AACZD,eAAO,KAAKN,KAAL,CAAWwE,YAAX,IAA2B;AADtB,OAAd;AAGD;;AAqLD;;;;;AAOA;;;;;;6BAoDS;AAAA;;AAAA,oBACyG,KAAKxE,KAD9G;AAAA,UACDyE,QADC,WACDA,QADC;AAAA,UACSC,OADT,WACSA,OADT;AAAA,wCACkBC,WADlB;AAAA,UACkBA,WADlB,uCACgC,YAAM,CAAG,CADzC;AAAA,UAC2CV,IAD3C,WAC2CA,IAD3C;AAAA,sCACiDW,SADjD;AAAA,UACiDA,SADjD,qCAC6D,EAD7D;AAAA,yCACiEV,YADjE;AAAA,UACiEA,YADjE,wCACgF,EADhF;AAAA,0CACmFW,cADnF;AAAA,UACmFA,cADnF,yCACkG,EADlG;;AAEP,UAAIC,oCAAa,KAAK9E,KAAlB,CAAJ;AACA,aAAO8E,OAAOL,QAAd;AACA,aAAOK,OAAOJ,OAAd;AACA,aAAOI,OAAOF,SAAd;AACA,aAAOE,OAAOZ,YAAd;AACA,aAAOY,OAAOb,IAAd;AACA,aAAOa,OAAOH,WAAd;AACA,aAAOG,OAAOD,cAAd;AACA,aAAOC,OAAOlE,eAAd;AACA,aAAOkE,OAAOpE,SAAd;AACA,UAAIJ,QAAQ,KAAKY,YAAL,EAAZ;AACA,aACE;AAAA;AAAA,UAAK,0CAAuC,CAACuD,QAAD,GAAY,aAAZ,GAA4B,EAAnE,UAAyEG,SAA9E;AAEIF,mBAAW,OAAX,GACE;AAAA,0BAAO,KAAP;AAAA;AACE,kFAAO,MAAK;AAAZ,aACMI,MADN;AAEE,uBAAcD,cAAd,oBAFF;AAGE,qBAAS,KAAK1B,OAHhB;AAIE,sBAAU,KAAKV,WAJjB;AAKE,mBAAOnC,KALT;AAME,iBAAK;AAAA,qBAAS,OAAKW,KAAL,GAAaA,KAAtB;AAAA,aANP;AAOE,wBAAY,KAAKsD,mBAPnB;AAQE,oBAAQ,CAAC,KAAKA,mBAAN,IAA8B,KAAKV,eAAL;AARxC;AADF,SADF,GAcE;AAAA,0BAAO,KAAP;AAAA;AACE;AAAA;AAAA;AACE,yBAAU,aADZ;AAEE,+BAAiB,KAAKJ,eAFxB;AAGE,sBAAQ,KAAKG,aAHf;AAIE,yBAAW,KAJb;AAKE,qBAAO,IALT;AAME,uBAAS,KAAKvD,KAAL,CAAWG,OANtB;AAOE,uBAAS,KAAKkB,WAAL,EAPX;AAQE,uBAAQ,OARV;AASE,qFAAqEwC,YAArE;AATF;AAWE,oFAAO,MAAK,MAAZ,EAAmB,WAAU,gBAA7B,IAAkDY,MAAlD,IAA0D,QAAQ,KAAKlB,aAAvE,EAAsF,SAAS,KAAKP,aAApG,EAAmH,UAAU,KAAKZ,WAAlI,EAA+I,OAAOnC,KAAtJ,EAA6J,KAAK;AAAA,uBAAS,OAAKW,KAAL,GAAaA,KAAtB;AAAA,eAAlK;AACE,sBAAQ,8BAAC,YAAD,IAAO,WAAU,eAAjB,EAAiC,MAAMgD,IAAvC,EAA6C,OAAO,EAAEG,OAAO,MAAT,EAApD,EAAuE,SAASO,WAAhF,GADV;AAXF;AADF;AAhBN,OADF;AAoCD;;;EA/TsCI,gB,UAEhCC,S,GAAY;AACjBzC,YAAU0C,oBAAUC,IADH;AAEjBjB,QAAMgB,oBAAUE,MAFC;AAGjBV,YAAUQ,oBAAUG,IAHH,EAGS;AAC1BlB,gBAAce,oBAAUE,MAJP,EAIe;AAChCR,eAAaM,oBAAUC;AALN,C,SAQZG,Y,GAAe;AACpBX,WAAS,OADW;AAEpBD,YAAU,KAFU;AAGpBR,QAAM;AAHc,C;kBAVHlE,W","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 />空</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 />定</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 />空</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 }\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"]}