| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203 | 
							- "use strict";
 
- var __assign = (this && this.__assign) || function () {
 
-     __assign = Object.assign || function(t) {
 
-         for (var s, i = 1, n = arguments.length; i < n; i++) {
 
-             s = arguments[i];
 
-             for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
 
-                 t[p] = s[p];
 
-         }
 
-         return t;
 
-     };
 
-     return __assign.apply(this, arguments);
 
- };
 
- Object.defineProperty(exports, "__esModule", { value: true });
 
- var component_1 = require("../common/component");
 
- var validator_1 = require("../common/validator");
 
- var LONG_PRESS_START_TIME = 600;
 
- var LONG_PRESS_INTERVAL = 200;
 
- // add num and avoid float number
 
- function add(num1, num2) {
 
-     var cardinal = Math.pow(10, 10);
 
-     return Math.round((num1 + num2) * cardinal) / cardinal;
 
- }
 
- function equal(value1, value2) {
 
-     return String(value1) === String(value2);
 
- }
 
- (0, component_1.VantComponent)({
 
-     field: true,
 
-     classes: ['input-class', 'plus-class', 'minus-class'],
 
-     props: {
 
-         value: {
 
-             type: null,
 
-         },
 
-         integer: {
 
-             type: Boolean,
 
-             observer: 'check',
 
-         },
 
-         disabled: Boolean,
 
-         inputWidth: String,
 
-         buttonSize: String,
 
-         asyncChange: Boolean,
 
-         disableInput: Boolean,
 
-         decimalLength: {
 
-             type: Number,
 
-             value: null,
 
-             observer: 'check',
 
-         },
 
-         min: {
 
-             type: null,
 
-             value: 1,
 
-             observer: 'check',
 
-         },
 
-         max: {
 
-             type: null,
 
-             value: Number.MAX_SAFE_INTEGER,
 
-             observer: 'check',
 
-         },
 
-         step: {
 
-             type: null,
 
-             value: 1,
 
-         },
 
-         showPlus: {
 
-             type: Boolean,
 
-             value: true,
 
-         },
 
-         showMinus: {
 
-             type: Boolean,
 
-             value: true,
 
-         },
 
-         disablePlus: Boolean,
 
-         disableMinus: Boolean,
 
-         longPress: {
 
-             type: Boolean,
 
-             value: true,
 
-         },
 
-         theme: String,
 
-         alwaysEmbed: Boolean,
 
-     },
 
-     data: {
 
-         currentValue: '',
 
-     },
 
-     watch: {
 
-         value: function () {
 
-             this.observeValue();
 
-         },
 
-     },
 
-     created: function () {
 
-         this.setData({
 
-             currentValue: this.format(this.data.value),
 
-         });
 
-     },
 
-     methods: {
 
-         observeValue: function () {
 
-             var value = this.data.value;
 
-             this.setData({ currentValue: this.format(value) });
 
-         },
 
-         check: function () {
 
-             var val = this.format(this.data.currentValue);
 
-             if (!equal(val, this.data.currentValue)) {
 
-                 this.setData({ currentValue: val });
 
-             }
 
-         },
 
-         isDisabled: function (type) {
 
-             var _a = this.data, disabled = _a.disabled, disablePlus = _a.disablePlus, disableMinus = _a.disableMinus, currentValue = _a.currentValue, max = _a.max, min = _a.min;
 
-             if (type === 'plus') {
 
-                 return disabled || disablePlus || +currentValue >= +max;
 
-             }
 
-             return disabled || disableMinus || +currentValue <= +min;
 
-         },
 
-         onFocus: function (event) {
 
-             this.$emit('focus', event.detail);
 
-         },
 
-         onBlur: function (event) {
 
-             var value = this.format(event.detail.value);
 
-             this.setData({ currentValue: value });
 
-             this.emitChange(value);
 
-             this.$emit('blur', __assign(__assign({}, event.detail), { value: value }));
 
-         },
 
-         // filter illegal characters
 
-         filter: function (value) {
 
-             value = String(value).replace(/[^0-9.-]/g, '');
 
-             if (this.data.integer && value.indexOf('.') !== -1) {
 
-                 value = value.split('.')[0];
 
-             }
 
-             return value;
 
-         },
 
-         // limit value range
 
-         format: function (value) {
 
-             value = this.filter(value);
 
-             // format range
 
-             value = value === '' ? 0 : +value;
 
-             value = Math.max(Math.min(this.data.max, value), this.data.min);
 
-             // format decimal
 
-             if ((0, validator_1.isDef)(this.data.decimalLength)) {
 
-                 value = value.toFixed(this.data.decimalLength);
 
-             }
 
-             return value;
 
-         },
 
-         onInput: function (event) {
 
-             var _a = (event.detail || {}).value, value = _a === void 0 ? '' : _a;
 
-             // allow input to be empty
 
-             if (value === '') {
 
-                 return;
 
-             }
 
-             var formatted = this.filter(value);
 
-             // limit max decimal length
 
-             if ((0, validator_1.isDef)(this.data.decimalLength) && formatted.indexOf('.') !== -1) {
 
-                 var pair = formatted.split('.');
 
-                 formatted = "".concat(pair[0], ".").concat(pair[1].slice(0, this.data.decimalLength));
 
-             }
 
-             this.emitChange(formatted);
 
-         },
 
-         emitChange: function (value) {
 
-             if (!this.data.asyncChange) {
 
-                 this.setData({ currentValue: value });
 
-             }
 
-             this.$emit('change', value);
 
-         },
 
-         onChange: function () {
 
-             var type = this.type;
 
-             if (this.isDisabled(type)) {
 
-                 this.$emit('overlimit', type);
 
-                 return;
 
-             }
 
-             var diff = type === 'minus' ? -this.data.step : +this.data.step;
 
-             var value = this.format(add(+this.data.currentValue, diff));
 
-             this.emitChange(value);
 
-             this.$emit(type);
 
-         },
 
-         longPressStep: function () {
 
-             var _this = this;
 
-             this.longPressTimer = setTimeout(function () {
 
-                 _this.onChange();
 
-                 _this.longPressStep();
 
-             }, LONG_PRESS_INTERVAL);
 
-         },
 
-         onTap: function (event) {
 
-             var type = event.currentTarget.dataset.type;
 
-             this.type = type;
 
-             this.onChange();
 
-         },
 
-         onTouchStart: function (event) {
 
-             var _this = this;
 
-             if (!this.data.longPress) {
 
-                 return;
 
-             }
 
-             clearTimeout(this.longPressTimer);
 
-             var type = event.currentTarget.dataset.type;
 
-             this.type = type;
 
-             this.isLongPress = false;
 
-             this.longPressTimer = setTimeout(function () {
 
-                 _this.isLongPress = true;
 
-                 _this.onChange();
 
-                 _this.longPressStep();
 
-             }, LONG_PRESS_START_TIME);
 
-         },
 
-         onTouchEnd: function () {
 
-             if (!this.data.longPress) {
 
-                 return;
 
-             }
 
-             clearTimeout(this.longPressTimer);
 
-         },
 
-     },
 
- });
 
 
  |