vxe-pc-ui 4.3.21 → 4.3.23
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/es/icon/style.css +1 -1
- package/es/language/ar-EG.js +1 -1
- package/es/language/de-DE.js +1 -1
- package/es/language/es-ES.js +2 -2
- package/es/language/fr-FR.js +1 -1
- package/es/language/hu-HU.js +1 -1
- package/es/language/hy-AM.js +1 -1
- package/es/language/ja-JP.js +1 -1
- package/es/language/ko-KR.js +1 -1
- package/es/language/nb-NO.js +1 -1
- package/es/language/pt-BR.js +1 -1
- package/es/language/ru-RU.js +1 -1
- package/es/language/ug-CN.js +1 -1
- package/es/language/uk-UA.js +1 -1
- package/es/language/vi-VN.js +1 -1
- package/es/language/zh-CHT.js +1 -1
- package/es/language/zh-CN.js +1 -1
- package/es/number-input/src/number-input.js +36 -11
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +46 -15
- package/lib/index.umd.min.js +1 -1
- package/lib/language/ar-EG.js +1 -1
- package/lib/language/ar-EG.min.js +1 -1
- package/lib/language/de-DE.js +1 -1
- package/lib/language/de-DE.min.js +1 -1
- package/lib/language/es-ES.js +2 -2
- package/lib/language/es-ES.min.js +1 -1
- package/lib/language/es-ES.umd.js +2 -2
- package/lib/language/fr-FR.js +1 -1
- package/lib/language/fr-FR.min.js +1 -1
- package/lib/language/hu-HU.js +1 -1
- package/lib/language/hu-HU.min.js +1 -1
- package/lib/language/hu-HU.umd.js +1 -1
- package/lib/language/hy-AM.js +1 -1
- package/lib/language/hy-AM.min.js +1 -1
- package/lib/language/ja-JP.js +1 -1
- package/lib/language/ja-JP.min.js +1 -1
- package/lib/language/ja-JP.umd.js +1 -1
- package/lib/language/ko-KR.js +1 -1
- package/lib/language/ko-KR.min.js +1 -1
- package/lib/language/ko-KR.umd.js +1 -1
- package/lib/language/nb-NO.js +1 -1
- package/lib/language/nb-NO.min.js +1 -1
- package/lib/language/pt-BR.js +1 -1
- package/lib/language/pt-BR.min.js +1 -1
- package/lib/language/pt-BR.umd.js +1 -1
- package/lib/language/ru-RU.js +1 -1
- package/lib/language/ru-RU.min.js +1 -1
- package/lib/language/ru-RU.umd.js +1 -1
- package/lib/language/ug-CN.js +1 -1
- package/lib/language/ug-CN.min.js +1 -1
- package/lib/language/uk-UA.js +1 -1
- package/lib/language/uk-UA.min.js +1 -1
- package/lib/language/uk-UA.umd.js +1 -1
- package/lib/language/vi-VN.js +1 -1
- package/lib/language/vi-VN.min.js +1 -1
- package/lib/language/zh-CHT.js +1 -1
- package/lib/language/zh-CHT.min.js +1 -1
- package/lib/language/zh-CN.js +1 -1
- package/lib/language/zh-CN.min.js +1 -1
- package/lib/language/zh-CN.umd.js +1 -1
- package/lib/number-input/src/number-input.js +43 -12
- package/lib/number-input/src/number-input.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +1 -1
- package/packages/language/ar-EG.ts +1 -1
- package/packages/language/de-DE.ts +1 -1
- package/packages/language/es-ES.ts +2 -2
- package/packages/language/fr-FR.ts +1 -1
- package/packages/language/hu-HU.ts +1 -1
- package/packages/language/hy-AM.ts +1 -1
- package/packages/language/ja-JP.ts +1 -1
- package/packages/language/ko-KR.ts +1 -1
- package/packages/language/nb-NO.ts +1 -1
- package/packages/language/pt-BR.ts +1 -1
- package/packages/language/ru-RU.ts +1 -1
- package/packages/language/ug-CN.ts +1 -1
- package/packages/language/uk-UA.ts +1 -1
- package/packages/language/vi-VN.ts +1 -1
- package/packages/language/zh-CHT.ts +1 -1
- package/packages/language/zh-CN.ts +1 -1
- package/packages/number-input/src/number-input.ts +37 -11
- package/types/components/number-input.d.ts +2 -1
- package/types/components/table.d.ts +11 -0
- /package/es/icon/{iconfont.1733649307867.ttf → iconfont.1733730293837.ttf} +0 -0
- /package/es/icon/{iconfont.1733649307867.woff → iconfont.1733730293837.woff} +0 -0
- /package/es/icon/{iconfont.1733649307867.woff2 → iconfont.1733730293837.woff2} +0 -0
- /package/es/{iconfont.1733649307867.ttf → iconfont.1733730293837.ttf} +0 -0
- /package/es/{iconfont.1733649307867.woff → iconfont.1733730293837.woff} +0 -0
- /package/es/{iconfont.1733649307867.woff2 → iconfont.1733730293837.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1733649307867.ttf → iconfont.1733730293837.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1733649307867.woff → iconfont.1733730293837.woff} +0 -0
- /package/lib/icon/style/{iconfont.1733649307867.woff2 → iconfont.1733730293837.woff2} +0 -0
- /package/lib/{iconfont.1733649307867.ttf → iconfont.1733730293837.ttf} +0 -0
- /package/lib/{iconfont.1733649307867.woff → iconfont.1733730293837.woff} +0 -0
- /package/lib/{iconfont.1733649307867.woff2 → iconfont.1733730293837.woff2} +0 -0
|
@@ -73,7 +73,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
73
73
|
// float
|
|
74
74
|
digits: {
|
|
75
75
|
type: [String, Number],
|
|
76
|
-
default:
|
|
76
|
+
default: null
|
|
77
77
|
},
|
|
78
78
|
prefixIcon: String,
|
|
79
79
|
suffixIcon: String,
|
|
@@ -95,6 +95,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
95
95
|
computeSize
|
|
96
96
|
} = (0, _ui.useSize)(props);
|
|
97
97
|
const reactData = (0, _vue.reactive)({
|
|
98
|
+
isFocus: false,
|
|
98
99
|
isActivated: false,
|
|
99
100
|
inputValue: props.modelValue
|
|
100
101
|
});
|
|
@@ -142,17 +143,37 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
142
143
|
return disabled;
|
|
143
144
|
});
|
|
144
145
|
const computeDigitsValue = (0, _vue.computed)(() => {
|
|
145
|
-
|
|
146
|
+
const {
|
|
147
|
+
type,
|
|
148
|
+
digits
|
|
149
|
+
} = props;
|
|
150
|
+
let defDigits = digits;
|
|
151
|
+
if (defDigits === null) {
|
|
152
|
+
defDigits = (0, _ui.getConfig)().numberInput.digits;
|
|
153
|
+
if (defDigits === null) {
|
|
154
|
+
if (type === 'amount') {
|
|
155
|
+
defDigits = 2;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return _xeUtils.default.toInteger(defDigits) || 1;
|
|
160
|
+
});
|
|
161
|
+
const computeDecimalsType = (0, _vue.computed)(() => {
|
|
162
|
+
const {
|
|
163
|
+
type
|
|
164
|
+
} = props;
|
|
165
|
+
return type === 'float' || type === 'amount';
|
|
146
166
|
});
|
|
147
167
|
const computeStepValue = (0, _vue.computed)(() => {
|
|
148
168
|
const {
|
|
149
169
|
type
|
|
150
170
|
} = props;
|
|
151
171
|
const digitsValue = computeDigitsValue.value;
|
|
172
|
+
const decimalsType = computeDecimalsType.value;
|
|
152
173
|
const step = props.step;
|
|
153
174
|
if (type === 'integer') {
|
|
154
175
|
return _xeUtils.default.toInteger(step) || 1;
|
|
155
|
-
} else if (
|
|
176
|
+
} else if (decimalsType) {
|
|
156
177
|
return _xeUtils.default.toNumber(step) || 1 / Math.pow(10, digitsValue);
|
|
157
178
|
}
|
|
158
179
|
return _xeUtils.default.toNumber(step) || 1;
|
|
@@ -190,10 +211,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
190
211
|
});
|
|
191
212
|
const computeInpImmediate = (0, _vue.computed)(() => {
|
|
192
213
|
const {
|
|
193
|
-
type,
|
|
194
214
|
immediate
|
|
195
215
|
} = props;
|
|
196
|
-
return immediate
|
|
216
|
+
return immediate;
|
|
197
217
|
});
|
|
198
218
|
const computeNumValue = (0, _vue.computed)(() => {
|
|
199
219
|
const {
|
|
@@ -205,9 +225,18 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
205
225
|
return type === 'integer' ? _xeUtils.default.toInteger((0, _util.handleNumber)(inputValue)) : _xeUtils.default.toNumber((0, _util.handleNumber)(inputValue));
|
|
206
226
|
});
|
|
207
227
|
const computeNumLabel = (0, _vue.computed)(() => {
|
|
228
|
+
const {
|
|
229
|
+
type
|
|
230
|
+
} = props;
|
|
208
231
|
const {
|
|
209
232
|
inputValue
|
|
210
233
|
} = reactData;
|
|
234
|
+
const digitsValue = computeDigitsValue.value;
|
|
235
|
+
if (type === 'amount') {
|
|
236
|
+
return _xeUtils.default.commafy(_xeUtils.default.toNumber(inputValue), {
|
|
237
|
+
digits: digitsValue
|
|
238
|
+
});
|
|
239
|
+
}
|
|
211
240
|
return _xeUtils.default.toString(inputValue);
|
|
212
241
|
});
|
|
213
242
|
const computeIsDisabledSubtractNumber = (0, _vue.computed)(() => {
|
|
@@ -246,12 +275,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
246
275
|
};
|
|
247
276
|
const getNumberValue = val => {
|
|
248
277
|
const {
|
|
249
|
-
type,
|
|
250
278
|
exponential
|
|
251
279
|
} = props;
|
|
252
280
|
const inpMaxLength = computeInpMaxLength.value;
|
|
253
281
|
const digitsValue = computeDigitsValue.value;
|
|
254
|
-
const
|
|
282
|
+
const decimalsType = computeDecimalsType.value;
|
|
283
|
+
const restVal = decimalsType ? (0, _util.toFloatValueFixed)(val, digitsValue) : handleNumberString(val);
|
|
255
284
|
if (exponential && (val === restVal || handleNumberString(val).toLowerCase() === _xeUtils.default.toNumber(restVal).toExponential())) {
|
|
256
285
|
return val;
|
|
257
286
|
}
|
|
@@ -313,6 +342,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
313
342
|
}
|
|
314
343
|
};
|
|
315
344
|
const focusEvent = evnt => {
|
|
345
|
+
reactData.isFocus = true;
|
|
316
346
|
reactData.isActivated = true;
|
|
317
347
|
triggerEvent(evnt);
|
|
318
348
|
};
|
|
@@ -349,14 +379,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
349
379
|
* 检查初始值
|
|
350
380
|
*/
|
|
351
381
|
const initValue = () => {
|
|
352
|
-
const {
|
|
353
|
-
type
|
|
354
|
-
} = props;
|
|
355
382
|
const {
|
|
356
383
|
inputValue
|
|
357
384
|
} = reactData;
|
|
358
385
|
const digitsValue = computeDigitsValue.value;
|
|
359
|
-
|
|
386
|
+
const decimalsType = computeDecimalsType.value;
|
|
387
|
+
if (decimalsType) {
|
|
360
388
|
if (inputValue) {
|
|
361
389
|
let textValue = '';
|
|
362
390
|
let validValue = null;
|
|
@@ -432,6 +460,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
432
460
|
handleChange(value, handleNumberString(inputValue), evnt);
|
|
433
461
|
}
|
|
434
462
|
afterCheckValue();
|
|
463
|
+
reactData.isFocus = false;
|
|
435
464
|
reactData.isActivated = false;
|
|
436
465
|
numberInputMethods.dispatchEvent('blur', {
|
|
437
466
|
value
|
|
@@ -745,6 +774,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
745
774
|
} = props;
|
|
746
775
|
const {
|
|
747
776
|
inputValue,
|
|
777
|
+
isFocus,
|
|
748
778
|
isActivated
|
|
749
779
|
} = reactData;
|
|
750
780
|
const vSize = computeSize.value;
|
|
@@ -781,7 +811,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
781
811
|
}, [(0, _vue.h)('input', {
|
|
782
812
|
ref: refInputTarget,
|
|
783
813
|
class: 'vxe-number-input--inner',
|
|
784
|
-
value: inputValue,
|
|
814
|
+
value: !isFocus && type === 'amount' ? numLabel : inputValue,
|
|
785
815
|
name,
|
|
786
816
|
type: 'text',
|
|
787
817
|
placeholder: inpPlaceholder,
|
|
@@ -816,6 +846,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
816
846
|
_ui.globalEvents.on($xeNumberInput, 'blur', handleGlobalBlurEvent);
|
|
817
847
|
});
|
|
818
848
|
(0, _vue.onBeforeUnmount)(() => {
|
|
849
|
+
reactData.isFocus = false;
|
|
819
850
|
numberStopDown();
|
|
820
851
|
afterCheckValue();
|
|
821
852
|
_ui.globalEvents.off($xeNumberInput, 'mousedown');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../..//ui/src/vn"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeNumberInput",props:{modelValue:[String,Number],immediate:{type:Boolean,default:!0},name:String,type:{type:String,default:"number"},clearable:{type:Boolean,default:()=>(0,_ui.getConfig)().numberInput.clearable},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},placeholder:String,maxLength:[String,Number],autoComplete:{type:String,default:"off"},align:String,form:String,className:String,size:{type:String,default:()=>(0,_ui.getConfig)().numberInput.size||(0,_ui.getConfig)().size},multiple:Boolean,min:{type:[String,Number],default:null},max:{type:[String,Number],default:null},step:[String,Number],exponential:{type:Boolean,default:()=>(0,_ui.getConfig)().numberInput.exponential},controls:{type:Boolean,default:()=>(0,_ui.getConfig)().numberInput.controls},digits:{type:[String,Number],default:()=>(0,_ui.getConfig)().numberInput.digits},prefixIcon:String,suffixIcon:String,maxlength:[String,Number],autocomplete:String},emits:["update:modelValue","input","change","keydown","keyup","wheel","click","focus","blur","clear","prev-number","next-number","prefix-click","suffix-click"],setup(N,e){const{slots:h,emit:a}=e,i=(0,_vue.inject)("$xeForm",null),n=(0,_vue.inject)("xeFormItemInfo",null);var q=_xeUtils.default.uniqueId();const O=(0,_ui.useSize)(N)["computeSize"],y=(0,_vue.reactive)({isActivated:!1,inputValue:N.modelValue}),u={dnTimeout:void 0},V=(0,_vue.ref)(),U=(0,_vue.ref)(),R=(0,_vue.ref)(),M={refElem:V,refInput:U},l={xID:q,props:N,context:e,reactData:y,internalData:u,getRefMaps:()=>M};let r={};const I=(0,_vue.computed)(()=>{var e=N["readonly"];return null===e?!!i&&i.props.readonly:e}),S=(0,_vue.computed)(()=>{var e=N["disabled"];return null===e?!!i&&i.props.disabled:e}),o=(0,_vue.computed)(()=>_xeUtils.default.toInteger(N.digits)||1),D=(0,_vue.computed)(()=>{var e=N["type"],t=o.value,u=N.step;return"integer"===e?_xeUtils.default.toInteger(u)||1:"float"===e?_xeUtils.default.toNumber(u)||1/Math.pow(10,t):_xeUtils.default.toNumber(u)||1}),T=(0,_vue.computed)(()=>N.clearable),A=(0,_vue.computed)(()=>{var e=N["multiple"];return I.value||e}),P=(0,_vue.computed)(()=>{var e=N["placeholder"];return(e=e||(0,_ui.getConfig)().numberInput.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseInput")}),C=(0,_vue.computed)(()=>{var{maxLength:e,maxlength:t}=N;return _xeUtils.default.toNumber(e||t)||16}),v=(0,_vue.computed)(()=>{var{type:e,immediate:t}=N;return t||!("number"===e||"integer"===e||"float"===e)}),s=(0,_vue.computed)(()=>{var e=N["type"],t=y["inputValue"];return"integer"===e?_xeUtils.default.toInteger((0,_util.handleNumber)(t)):_xeUtils.default.toNumber((0,_util.handleNumber)(t))}),Y=(0,_vue.computed)(()=>{var e=y["inputValue"];return _xeUtils.default.toString(e)}),d=(0,_vue.computed)(()=>{var e=N["min"],t=y["inputValue"],u=s.value;return!(!t&&0!==t||null===e)&&u<=_xeUtils.default.toNumber(e)}),_=(0,_vue.computed)(()=>{var e=N["max"],t=y["inputValue"],u=s.value;return!(!t&&0!==t||null===e)&&u>=_xeUtils.default.toNumber(e)}),p=e=>_xeUtils.default.eqNull(e)?"":""+e,c=e=>{var{type:t,exponential:u}=N,l=C.value,a=o.value,t="float"===t?(0,_util.toFloatValueFixed)(e,a):p(e);return!u||e!==t&&p(e).toLowerCase()!==_xeUtils.default.toNumber(t).toExponential()?t.slice(0,l):e},m=e=>{var t=y["inputValue"];r.dispatchEvent(e.type,{value:t},e)},f=(e,t,u)=>{var e=(0,_utils.eqEmptyValue)(e)?null:Number(e),l=e!==N.modelValue;l&&a("update:modelValue",e),y.inputValue!==t&&(0,_vue.nextTick)(()=>{y.inputValue=t||""}),r.dispatchEvent("input",{value:e},u),l&&(r.dispatchEvent("change",{value:e},u),i)&&n&&i.triggerItemEvent(u,n.itemConfig.field,e)},b=(e,t)=>{var u=v.value,l=""===e||_xeUtils.default.eqNull(e)?null:_xeUtils.default.toNumber(e);y.inputValue=e,u?f(l,e,t):r.dispatchEvent("input",{value:l},t)},F=e=>{var t=e.target.value;b(t,e)},G=e=>{v.value||m(e)},W=e=>{y.isActivated=!0,m(e)},z=e=>{var t;S.value||(t=y["inputValue"],r.dispatchEvent("prefix-click",{value:t},e))},w=(e,t)=>{focus(),f(null,"",e),r.dispatchEvent("clear",{value:t},e)},j=e=>{var t;S.value||(t=y["inputValue"],r.dispatchEvent("suffix-click",{value:t},e))},t=()=>{var e=N["type"],u=y["inputValue"],l=o.value;if("float"===e&&u){let e="",t=null;u&&(e=(0,_util.toFloatValueFixed)(u,l),t=Number(e)),u!==t&&f(t,e,{type:"init"})}},x=e=>null===N.max||_xeUtils.default.toNumber(e)<=_xeUtils.default.toNumber(N.max),g=e=>null===N.min||_xeUtils.default.toNumber(e)>=_xeUtils.default.toNumber(N.min),E=()=>{var{type:t,min:u,max:l,exponential:a}=N,i=y["inputValue"];if(!A.value)if((0,_utils.eqEmptyValue)(i)){let e=null,t=i;!u&&0!==u||(e=_xeUtils.default.toNumber(u),t=""+e),void f(e,""+(t||""),{type:"check"})}else if(i||u||l){let e="integer"===t?_xeUtils.default.toInteger((0,_util.handleNumber)(i)):_xeUtils.default.toNumber((0,_util.handleNumber)(i));g(e)?x(e)||(e=l):e=u,a&&(t=p(i).toLowerCase())===_xeUtils.default.toNumber(e).toExponential()&&(e=t);l=c(e);f((0,_utils.eqEmptyValue)(l)?null:Number(l),l,{type:"check"})}},$=e=>{var t=y["inputValue"],u=v.value,l=t?Number(t):null;u||f(l,p(t),e),E(),y.isActivated=!1,r.dispatchEvent("blur",{value:l},e),i&&n&&i.triggerItemEvent(e,n.itemConfig.field,l)},L=(e,t)=>{var{min:u,max:l,type:a}=N,i=y["inputValue"],n=D.value,a="integer"===a?_xeUtils.default.toInteger((0,_util.handleNumber)(i)):_xeUtils.default.toNumber((0,_util.handleNumber)(i)),i=e?_xeUtils.default.add(a,n):_xeUtils.default.subtract(a,n);let r;r=g(i)?x(i)?i:l:u,b(c(r),t)},k=e=>{var t=S.value,u=I.value,l=d.value;K(),t||u||l||L(!1,e),r.dispatchEvent("next-number",{value:y.inputValue},e)},X=e=>{u.dnTimeout=window.setTimeout(()=>{k(e),X(e)},60)},B=e=>{var t=S.value,u=I.value,l=_.value;K(),t||u||l||L(!0,e),r.dispatchEvent("prev-number",{value:y.inputValue},e)},H=e=>{var t=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),u=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN);(t||u)&&(e.preventDefault(),(t?B:k)(e))},J=e=>{var{exponential:t,controls:u}=N,l=e.ctrlKey,a=e.shiftKey,i=e.altKey,n=e.keyCode,r=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),o=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),v=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN);l||a||i||!(_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.SPACEBAR)||(!t||69!==n)&&65<=n&&n<=90||186<=n&&n<=188||191<=n)||e.preventDefault(),r?E():(o||v)&&u&&H(e),m(e)},Q=e=>{m(e)},K=()=>{var e=u["dnTimeout"];e&&(clearTimeout(e),u.dnTimeout=void 0)},Z=e=>{u.dnTimeout=window.setTimeout(()=>{B(e),Z(e)},60)},ee=e=>{if(K(),0===e.button){const t=(0,_dom.hasClass)(e.currentTarget,"is--prev");(t?B:k)(e),u.dnTimeout=window.setTimeout(()=>{(t?Z:X)(e)},500)}},te=e=>{var t;N.controls&&y.isActivated&&(0<(t=e.deltaY)?k(e):t<0&&B(e),e.preventDefault()),m(e)},ue=e=>{m(e)},le=e=>{var t=y["isActivated"],u=V.value,l=R.value;!S.value&&t&&(y.isActivated=(0,_dom.getEventTargetNode)(e,u).flag||(0,_dom.getEventTargetNode)(e,l).flag,y.isActivated||E())},ae=t=>{var u=N["clearable"];if(!S.value){var l=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.TAB),a=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.DELETE);let e=y.isActivated;l&&(e&&E(),e=!1,y.isActivated=e),a&&u&&e&&w(t,null)}},ie=()=>{var e=y["isActivated"];e&&E()},ne=()=>{var e,t=N["controls"];return t?(t=_.value,e=d.value,(0,_vue.h)("div",{class:"vxe-input--control-icon"},[(0,_vue.h)("div",{class:"vxe-input--number-icon"},[(0,_vue.h)("div",{class:["vxe-input--number-btn is--prev",{"is--disabled":t}],onMousedown:ee,onMouseup:K,onMouseleave:K},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().NUMBER_INPUT_PREV_NUM})]),(0,_vue.h)("div",{class:["vxe-input--number-btn is--next",{"is--disabled":e}],onMousedown:ee,onMouseup:K,onMouseleave:K},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().NUMBER_INPUT_NEXT_NUM})])])])):(0,_vue.createCommentVNode)()};r={dispatchEvent:(e,t,u)=>{a(e,(0,_ui.createEvent)(u,{$numberInput:l},t))},focus(){var e=U.value;return y.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return U.value.blur(),(y.isActivated=!1,_vue.nextTick)()},select(){return U.value.select(),(y.isActivated=!1,_vue.nextTick)()}},Object.assign(l,r);return l.renderVN=()=>{var e,t,u,l,a,i,n,r,{className:o,controls:v,type:s,align:d,name:_,autocomplete:p,autoComplete:c}=N,{inputValue:m,isActivated:f}=y,b=O.value,x=S.value,g=I.value,E=Y.value;return g?(0,_vue.h)("div",{ref:V,class:["vxe-number-input--readonly","type--"+s,o]},E):(g=A.value,E=C.value,e=P.value,t=T.value,l=N.prefixIcon,u=(u=h.prefix)||l?(0,_vue.h)("div",{class:"vxe-number-input--prefix",onClick:z},[(0,_vue.h)("div",{class:"vxe-number-input--prefix-icon"},u?(0,_vn.getSlotVNs)(u({})):[(0,_vue.h)("i",{class:l})])]):null,l=N.suffixIcon,a=y.inputValue,i=h.suffix,n=S.value,r=T.value,n=(0,_vue.h)("div",{class:["vxe-number-input--suffix",{"is--clear":r&&!n&&!(""===a||_xeUtils.default.eqNull(a))}]},[r?(0,_vue.h)("div",{class:"vxe-number-input--clear-icon",onClick:w},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_vue.createCommentVNode)(),ne(),i||l?(0,_vue.h)("div",{class:"vxe-number-input--suffix-icon",onClick:j},i?(0,_vn.getSlotVNs)(i({})):[(0,_vue.h)("i",{class:l})]):(0,_vue.createCommentVNode)()]),(0,_vue.h)("div",{ref:V,class:["vxe-number-input","type--"+s,o,{["size--"+b]:b,["is--"+d]:d,"is--controls":v,"is--prefix":!!u,"is--suffix":!!n,"is--disabled":x,"is--active":f,"show--clear":t&&!x&&!(""===m||_xeUtils.default.eqNull(m))}],spellcheck:!1},[u||(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-number-input--wrapper"},[(0,_vue.h)("input",{ref:U,class:"vxe-number-input--inner",value:m,name:_,type:"text",placeholder:e,maxlength:E,readonly:g,disabled:x,autocomplete:c||p,onKeydown:J,onKeyup:Q,onWheel:te,onClick:ue,onInput:F,onChange:G,onFocus:W,onBlur:$})]),n||(0,_vue.createCommentVNode)()]))},(0,_vue.watch)(()=>N.modelValue,e=>{y.inputValue=e}),(0,_vue.watch)(()=>N.type,()=>{Object.assign(y,{inputValue:N.modelValue}),t()}),(0,_vue.onMounted)(()=>{_ui.globalEvents.on(l,"mousedown",le),_ui.globalEvents.on(l,"keydown",ae),_ui.globalEvents.on(l,"blur",ie)}),(0,_vue.onBeforeUnmount)(()=>{K(),E(),_ui.globalEvents.off(l,"mousedown"),_ui.globalEvents.off(l,"keydown"),_ui.globalEvents.off(l,"blur")}),t(),l},render(){return this.renderVN()}});
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../..//ui/src/vn"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeNumberInput",props:{modelValue:[String,Number],immediate:{type:Boolean,default:!0},name:String,type:{type:String,default:"number"},clearable:{type:Boolean,default:()=>(0,_ui.getConfig)().numberInput.clearable},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},placeholder:String,maxLength:[String,Number],autoComplete:{type:String,default:"off"},align:String,form:String,className:String,size:{type:String,default:()=>(0,_ui.getConfig)().numberInput.size||(0,_ui.getConfig)().size},multiple:Boolean,min:{type:[String,Number],default:null},max:{type:[String,Number],default:null},step:[String,Number],exponential:{type:Boolean,default:()=>(0,_ui.getConfig)().numberInput.exponential},controls:{type:Boolean,default:()=>(0,_ui.getConfig)().numberInput.controls},digits:{type:[String,Number],default:null},prefixIcon:String,suffixIcon:String,maxlength:[String,Number],autocomplete:String},emits:["update:modelValue","input","change","keydown","keyup","wheel","click","focus","blur","clear","prev-number","next-number","prefix-click","suffix-click"],setup(y,e){const{slots:V,emit:a}=e,i=(0,_vue.inject)("$xeForm",null),n=(0,_vue.inject)("xeFormItemInfo",null);var q=_xeUtils.default.uniqueId();const O=(0,_ui.useSize)(y)["computeSize"],U=(0,_vue.reactive)({isFocus:!1,isActivated:!1,inputValue:y.modelValue}),u={dnTimeout:void 0},I=(0,_vue.ref)(),S=(0,_vue.ref)(),R=(0,_vue.ref)(),M={refElem:I,refInput:S},l={xID:q,props:y,context:e,reactData:U,internalData:u,getRefMaps:()=>M};let r={};const T=(0,_vue.computed)(()=>{var e=y["readonly"];return null===e?!!i&&i.props.readonly:e}),A=(0,_vue.computed)(()=>{var e=y["disabled"];return null===e?!!i&&i.props.disabled:e}),o=(0,_vue.computed)(()=>{var{type:e,digits:t}=y;let u=t;return null===u&&null===(u=(0,_ui.getConfig)().numberInput.digits)&&"amount"===e&&(u=2),_xeUtils.default.toInteger(u)||1}),s=(0,_vue.computed)(()=>{var e=y["type"];return"float"===e||"amount"===e}),F=(0,_vue.computed)(()=>{var e=y["type"],t=o.value,u=s.value,l=y.step;return"integer"===e?_xeUtils.default.toInteger(l)||1:u?_xeUtils.default.toNumber(l)||1/Math.pow(10,t):_xeUtils.default.toNumber(l)||1}),C=(0,_vue.computed)(()=>y.clearable),w=(0,_vue.computed)(()=>{var e=y["multiple"];return T.value||e}),D=(0,_vue.computed)(()=>{var e=y["placeholder"];return(e=e||(0,_ui.getConfig)().numberInput.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseInput")}),L=(0,_vue.computed)(()=>{var{maxLength:e,maxlength:t}=y;return _xeUtils.default.toNumber(e||t)||16}),v=(0,_vue.computed)(()=>{var e=y["immediate"];return e}),d=(0,_vue.computed)(()=>{var e=y["type"],t=U["inputValue"];return"integer"===e?_xeUtils.default.toInteger((0,_util.handleNumber)(t)):_xeUtils.default.toNumber((0,_util.handleNumber)(t))}),P=(0,_vue.computed)(()=>{var e=y["type"],t=U["inputValue"],u=o.value;return"amount"===e?_xeUtils.default.commafy(_xeUtils.default.toNumber(t),{digits:u}):_xeUtils.default.toString(t)}),_=(0,_vue.computed)(()=>{var e=y["min"],t=U["inputValue"],u=d.value;return!(!t&&0!==t||null===e)&&u<=_xeUtils.default.toNumber(e)}),p=(0,_vue.computed)(()=>{var e=y["max"],t=U["inputValue"],u=d.value;return!(!t&&0!==t||null===e)&&u>=_xeUtils.default.toNumber(e)}),c=e=>_xeUtils.default.eqNull(e)?"":""+e,m=e=>{var t=y["exponential"],u=L.value,l=o.value,l=s.value?(0,_util.toFloatValueFixed)(e,l):c(e);return!t||e!==l&&c(e).toLowerCase()!==_xeUtils.default.toNumber(l).toExponential()?l.slice(0,u):e},f=e=>{var t=U["inputValue"];r.dispatchEvent(e.type,{value:t},e)},x=(e,t,u)=>{var e=(0,_utils.eqEmptyValue)(e)?null:Number(e),l=e!==y.modelValue;l&&a("update:modelValue",e),U.inputValue!==t&&(0,_vue.nextTick)(()=>{U.inputValue=t||""}),r.dispatchEvent("input",{value:e},u),l&&(r.dispatchEvent("change",{value:e},u),i)&&n&&i.triggerItemEvent(u,n.itemConfig.field,e)},b=(e,t)=>{var u=v.value,l=""===e||_xeUtils.default.eqNull(e)?null:_xeUtils.default.toNumber(e);U.inputValue=e,u?x(l,e,t):r.dispatchEvent("input",{value:l},t)},Y=e=>{var t=e.target.value;b(t,e)},G=e=>{v.value||f(e)},W=e=>{U.isFocus=!0,U.isActivated=!0,f(e)},z=e=>{var t;A.value||(t=U["inputValue"],r.dispatchEvent("prefix-click",{value:t},e))},k=(e,t)=>{focus(),x(null,"",e),r.dispatchEvent("clear",{value:t},e)},j=e=>{var t;A.value||(t=U["inputValue"],r.dispatchEvent("suffix-click",{value:t},e))},t=()=>{var u=U["inputValue"],l=o.value,e=s.value;if(e&&u){let e="",t=null;u&&(e=(0,_util.toFloatValueFixed)(u,l),t=Number(e)),u!==t&&x(t,e,{type:"init"})}},g=e=>null===y.max||_xeUtils.default.toNumber(e)<=_xeUtils.default.toNumber(y.max),E=e=>null===y.min||_xeUtils.default.toNumber(e)>=_xeUtils.default.toNumber(y.min),N=()=>{var{type:t,min:u,max:l,exponential:a}=y,i=U["inputValue"];if(!w.value)if((0,_utils.eqEmptyValue)(i)){let e=null,t=i;!u&&0!==u||(e=_xeUtils.default.toNumber(u),t=""+e),void x(e,""+(t||""),{type:"check"})}else if(i||u||l){let e="integer"===t?_xeUtils.default.toInteger((0,_util.handleNumber)(i)):_xeUtils.default.toNumber((0,_util.handleNumber)(i));E(e)?g(e)||(e=l):e=u,a&&(t=c(i).toLowerCase())===_xeUtils.default.toNumber(e).toExponential()&&(e=t);l=m(e);x((0,_utils.eqEmptyValue)(l)?null:Number(l),l,{type:"check"})}},$=e=>{var t=U["inputValue"],u=v.value,l=t?Number(t):null;u||x(l,c(t),e),N(),U.isFocus=!1,U.isActivated=!1,r.dispatchEvent("blur",{value:l},e),i&&n&&i.triggerItemEvent(e,n.itemConfig.field,l)},X=(e,t)=>{var{min:u,max:l,type:a}=y,i=U["inputValue"],n=F.value,a="integer"===a?_xeUtils.default.toInteger((0,_util.handleNumber)(i)):_xeUtils.default.toNumber((0,_util.handleNumber)(i)),i=e?_xeUtils.default.add(a,n):_xeUtils.default.subtract(a,n);let r;r=E(i)?g(i)?i:l:u,b(m(r),t)},h=e=>{var t=A.value,u=T.value,l=_.value;K(),t||u||l||X(!1,e),r.dispatchEvent("next-number",{value:U.inputValue},e)},H=e=>{u.dnTimeout=window.setTimeout(()=>{h(e),H(e)},60)},B=e=>{var t=A.value,u=T.value,l=p.value;K(),t||u||l||X(!0,e),r.dispatchEvent("prev-number",{value:U.inputValue},e)},J=e=>{var t=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),u=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN);(t||u)&&(e.preventDefault(),(t?B:h)(e))},Q=e=>{var{exponential:t,controls:u}=y,l=e.ctrlKey,a=e.shiftKey,i=e.altKey,n=e.keyCode,r=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),o=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),s=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN);l||a||i||!(_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.SPACEBAR)||(!t||69!==n)&&65<=n&&n<=90||186<=n&&n<=188||191<=n)||e.preventDefault(),r?N():(o||s)&&u&&J(e),f(e)},Z=e=>{f(e)},K=()=>{var e=u["dnTimeout"];e&&(clearTimeout(e),u.dnTimeout=void 0)},ee=e=>{u.dnTimeout=window.setTimeout(()=>{B(e),ee(e)},60)},te=e=>{if(K(),0===e.button){const t=(0,_dom.hasClass)(e.currentTarget,"is--prev");(t?B:h)(e),u.dnTimeout=window.setTimeout(()=>{(t?ee:H)(e)},500)}},ue=e=>{var t;y.controls&&U.isActivated&&(0<(t=e.deltaY)?h(e):t<0&&B(e),e.preventDefault()),f(e)},le=e=>{f(e)},ae=e=>{var t=U["isActivated"],u=I.value,l=R.value;!A.value&&t&&(U.isActivated=(0,_dom.getEventTargetNode)(e,u).flag||(0,_dom.getEventTargetNode)(e,l).flag,U.isActivated||N())},ie=t=>{var u=y["clearable"];if(!A.value){var l=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.TAB),a=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.DELETE);let e=U.isActivated;l&&(e&&N(),e=!1,U.isActivated=e),a&&u&&e&&k(t,null)}},ne=()=>{var e=U["isActivated"];e&&N()},re=()=>{var e,t=y["controls"];return t?(t=p.value,e=_.value,(0,_vue.h)("div",{class:"vxe-input--control-icon"},[(0,_vue.h)("div",{class:"vxe-input--number-icon"},[(0,_vue.h)("div",{class:["vxe-input--number-btn is--prev",{"is--disabled":t}],onMousedown:te,onMouseup:K,onMouseleave:K},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().NUMBER_INPUT_PREV_NUM})]),(0,_vue.h)("div",{class:["vxe-input--number-btn is--next",{"is--disabled":e}],onMousedown:te,onMouseup:K,onMouseleave:K},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().NUMBER_INPUT_NEXT_NUM})])])])):(0,_vue.createCommentVNode)()};r={dispatchEvent:(e,t,u)=>{a(e,(0,_ui.createEvent)(u,{$numberInput:l},t))},focus(){var e=S.value;return U.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return S.value.blur(),(U.isActivated=!1,_vue.nextTick)()},select(){return S.value.select(),(U.isActivated=!1,_vue.nextTick)()}},Object.assign(l,r);return l.renderVN=()=>{var e,t,u,l,a,i,n,r,o,{className:s,controls:v,type:d,align:_,name:p,autocomplete:c,autoComplete:m}=y,{inputValue:f,isFocus:x,isActivated:b}=U,g=O.value,E=A.value,N=T.value,h=P.value;return N?(0,_vue.h)("div",{ref:I,class:["vxe-number-input--readonly","type--"+d,s]},h):(N=w.value,e=L.value,t=D.value,u=C.value,a=y.prefixIcon,l=(l=V.prefix)||a?(0,_vue.h)("div",{class:"vxe-number-input--prefix",onClick:z},[(0,_vue.h)("div",{class:"vxe-number-input--prefix-icon"},l?(0,_vn.getSlotVNs)(l({})):[(0,_vue.h)("i",{class:a})])]):null,a=y.suffixIcon,i=U.inputValue,n=V.suffix,r=A.value,o=C.value,r=(0,_vue.h)("div",{class:["vxe-number-input--suffix",{"is--clear":o&&!r&&!(""===i||_xeUtils.default.eqNull(i))}]},[o?(0,_vue.h)("div",{class:"vxe-number-input--clear-icon",onClick:k},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_vue.createCommentVNode)(),re(),n||a?(0,_vue.h)("div",{class:"vxe-number-input--suffix-icon",onClick:j},n?(0,_vn.getSlotVNs)(n({})):[(0,_vue.h)("i",{class:a})]):(0,_vue.createCommentVNode)()]),(0,_vue.h)("div",{ref:I,class:["vxe-number-input","type--"+d,s,{["size--"+g]:g,["is--"+_]:_,"is--controls":v,"is--prefix":!!l,"is--suffix":!!r,"is--disabled":E,"is--active":b,"show--clear":u&&!E&&!(""===f||_xeUtils.default.eqNull(f))}],spellcheck:!1},[l||(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-number-input--wrapper"},[(0,_vue.h)("input",{ref:S,class:"vxe-number-input--inner",value:x||"amount"!==d?f:h,name:p,type:"text",placeholder:t,maxlength:e,readonly:N,disabled:E,autocomplete:m||c,onKeydown:Q,onKeyup:Z,onWheel:ue,onClick:le,onInput:Y,onChange:G,onFocus:W,onBlur:$})]),r||(0,_vue.createCommentVNode)()]))},(0,_vue.watch)(()=>y.modelValue,e=>{U.inputValue=e}),(0,_vue.watch)(()=>y.type,()=>{Object.assign(U,{inputValue:y.modelValue}),t()}),(0,_vue.onMounted)(()=>{_ui.globalEvents.on(l,"mousedown",ae),_ui.globalEvents.on(l,"keydown",ie),_ui.globalEvents.on(l,"blur",ne)}),(0,_vue.onBeforeUnmount)(()=>{U.isFocus=!1,K(),N(),_ui.globalEvents.off(l,"mousedown"),_ui.globalEvents.off(l,"keydown"),_ui.globalEvents.off(l,"blur")}),t(),l},render(){return this.renderVN()}});
|