index.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. var component_1 = require('./../common/component.js');
  4. component_1.VantComponent({
  5. field: true,
  6. classes: ['input-class', 'plus-class', 'minus-class'],
  7. props: {
  8. value: null,
  9. integer: Boolean,
  10. disabled: Boolean,
  11. inputWidth: String,
  12. asyncChange: Boolean,
  13. disableInput: Boolean,
  14. min: {
  15. type: null,
  16. value: 1
  17. },
  18. max: {
  19. type: null,
  20. value: Number.MAX_SAFE_INTEGER
  21. },
  22. step: {
  23. type: null,
  24. value: 1
  25. },
  26. showPlus: {
  27. type: Boolean,
  28. value: true
  29. },
  30. showMinus: {
  31. type: Boolean,
  32. value: true
  33. }
  34. },
  35. computed: {
  36. minusDisabled: function minusDisabled() {
  37. return this.data.disabled || this.data.value <= this.data.min;
  38. },
  39. plusDisabled: function plusDisabled() {
  40. return this.data.disabled || this.data.value >= this.data.max;
  41. }
  42. },
  43. watch: {
  44. value: function value(_value) {
  45. if (_value === '') {
  46. return;
  47. }
  48. var newValue = this.range(_value);
  49. if (typeof newValue === 'number' && +this.data.value !== newValue) {
  50. this.set({ value: newValue });
  51. }
  52. }
  53. },
  54. data: {
  55. focus: false
  56. },
  57. created: function created() {
  58. this.set({
  59. value: this.range(this.data.value)
  60. });
  61. },
  62. methods: {
  63. onFocus: function onFocus(event) {
  64. this.$emit('focus', event.detail);
  65. },
  66. onBlur: function onBlur(event) {
  67. var value = this.range(this.data.value);
  68. this.triggerInput(value);
  69. this.$emit('blur', event.detail);
  70. },
  71. // limit value range
  72. range: function range(value) {
  73. value = String(value).replace(/[^0-9.-]/g, '');
  74. return Math.max(Math.min(this.data.max, value), this.data.min);
  75. },
  76. onInput: function onInput(event) {
  77. var _a = (event.detail || {}).value,
  78. value = _a === void 0 ? '' : _a;
  79. this.triggerInput(value);
  80. },
  81. onChange: function onChange(type) {
  82. if (this.data[type + "Disabled"]) {
  83. this.$emit('overlimit', type);
  84. return;
  85. }
  86. var diff = type === 'minus' ? -this.data.step : +this.data.step;
  87. var value = Math.round((+this.data.value + diff) * 100) / 100;
  88. this.triggerInput(this.range(value));
  89. this.$emit(type);
  90. },
  91. onMinus: function onMinus() {
  92. this.onChange('minus');
  93. },
  94. onPlus: function onPlus() {
  95. this.onChange('plus');
  96. },
  97. triggerInput: function triggerInput(value) {
  98. this.set({
  99. value: this.data.asyncChange ? this.data.value : value
  100. });
  101. this.$emit('change', value);
  102. }
  103. }
  104. });
  105. //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sIm5hbWVzIjpbIk9iamVjdCIsInZhbHVlIiwiY29tcG9uZW50XzEiLCJyZXF1aXJlIiwiZmllbGQiLCJjbGFzc2VzIiwicHJvcHMiLCJpbnRlZ2VyIiwiZGlzYWJsZWQiLCJpbnB1dFdpZHRoIiwiYXN5bmNDaGFuZ2UiLCJkaXNhYmxlSW5wdXQiLCJtaW4iLCJ0eXBlIiwibWF4IiwiTnVtYmVyIiwiTUFYX1NBRkVfSU5URUdFUiIsInN0ZXAiLCJzaG93UGx1cyIsInNob3dNaW51cyIsImNvbXB1dGVkIiwibWludXNEaXNhYmxlZCIsInBsdXNEaXNhYmxlZCIsIndhdGNoIiwibmV3VmFsdWUiLCJkYXRhIiwiZm9jdXMiLCJjcmVhdGVkIiwibWV0aG9kcyIsIm9uRm9jdXMiLCJldmVudCIsIm9uQmx1ciIsInJhbmdlIiwiU3RyaW5nIiwiTWF0aCIsIm9uSW5wdXQiLCJfYSIsIm9uQ2hhbmdlIiwiZGlmZiIsIm9uTWludXMiLCJvblBsdXMiLCJ0cmlnZ2VySW5wdXQiXSwibWFwcGluZ3MiOiI7O0FBQ0FBLE9BQUFBLGNBQUFBLENBQUFBLE9BQUFBLEVBQUFBLFlBQUFBLEVBQTZDLEVBQUVDLE9BQS9DRCxJQUE2QyxFQUE3Q0E7QUFDQSxJQUFJRSxjQUFjQyxRQUFsQiwwQkFBa0JBLENBQWxCO0FBQ0FELFlBQUFBLGFBQUFBLENBQTBCO0FBQ3RCRSxXQURzQixJQUFBO0FBRXRCQyxhQUFTLENBQUEsYUFBQSxFQUFBLFlBQUEsRUFGYSxhQUViLENBRmE7QUFPdEJDLFdBQU87QUFDSEwsZUFERyxJQUFBO0FBRUhNLGlCQUZHLE9BQUE7QUFHSEMsa0JBSEcsT0FBQTtBQUlIQyxvQkFKRyxNQUFBO0FBS0hDLHFCQUxHLE9BQUE7QUFNSEMsc0JBTkcsT0FBQTtBQU9IQyxhQUFLO0FBQ0RDLGtCQURDLElBQUE7QUFFRFosbUJBQU87QUFGTixTQVBGO0FBV0hhLGFBQUs7QUFDREQsa0JBREMsSUFBQTtBQUVEWixtQkFBT2MsT0FBT0M7QUFGYixTQVhG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QUEsSUFBQSxDQUFqRCxJQUFBO0FBQ0EsZ0JBQUlaLFFBQVFpQyxLQUFBQSxLQUFBQSxDQUFXLENBQUMsQ0FBQyxLQUFBLElBQUEsQ0FBRCxLQUFBLEdBQUQsSUFBQSxJQUFYQSxHQUFBQSxJQUFaLEdBQUE7QUFDQSxpQkFBQSxZQUFBLENBQWtCLEtBQUEsS0FBQSxDQUFsQixLQUFrQixDQUFsQjtBQUNBLGlCQUFBLEtBQUEsQ0FBQSxJQUFBO0FBMUJDLFNBQUE7QUE0QkxLLGlCQUFTLFNBQUEsT0FBQSxHQUFZO0FBQ2pCLGlCQUFBLFFBQUEsQ0FBQSxPQUFBO0FBN0JDLFNBQUE7QUErQkxDLGdCQUFRLFNBQUEsTUFBQSxHQUFZO0FBQ2hCLGlCQUFBLFFBQUEsQ0FBQSxNQUFBO0FBaENDLFNBQUE7QUFrQ0xDLHNCQUFjLFNBQUEsWUFBQSxDQUFBLEtBQUEsRUFBaUI7QUFDM0IsaUJBQUEsR0FBQSxDQUFTO0FBQ0x4Qyx1QkFBTyxLQUFBLElBQUEsQ0FBQSxXQUFBLEdBQXdCLEtBQUEsSUFBQSxDQUF4QixLQUFBLEdBQTBDQTtBQUQ1QyxhQUFUO0FBR0EsaUJBQUEsS0FBQSxDQUFBLFFBQUEsRUFBQSxLQUFBO0FBQ0g7QUF2Q0k7QUE5RGEsQ0FBMUJDIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG52YXIgY29tcG9uZW50XzEgPSByZXF1aXJlKFwiLi4vY29tbW9uL2NvbXBvbmVudFwiKTtcbmNvbXBvbmVudF8xLlZhbnRDb21wb25lbnQoe1xuICAgIGZpZWxkOiB0cnVlLFxuICAgIGNsYXNzZXM6IFtcbiAgICAgICAgJ2lucHV0LWNsYXNzJyxcbiAgICAgICAgJ3BsdXMtY2xhc3MnLFxuICAgICAgICAnbWludXMtY2xhc3MnXG4gICAgXSxcbiAgICBwcm9wczoge1xuICAgICAgICB2YWx1ZTogbnVsbCxcbiAgICAgICAgaW50ZWdlcjogQm9vbGVhbixcbiAgICAgICAgZGlzYWJsZWQ6IEJvb2xlYW4sXG4gICAgICAgIGlucHV0V2lkdGg6IFN0cmluZyxcbiAgICAgICAgYXN5bmNDaGFuZ2U6IEJvb2xlYW4sXG4gICAgICAgIGRpc2FibGVJbnB1dDogQm9vbGVhbixcbiAgICAgICAgbWluOiB7XG4gICAgICAgICAgICB0eXBlOiBudWxsLFxuICAgICAgICAgICAgdmFsdWU6IDFcbiAgICAgICAgfSxcbiAgICAgICAgbWF4OiB7XG4gICAgICAgICAgICB0eXBlOiBudWxsLFxuICAgICAgICAgICAgdmFsdWU6IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSXG4gICAgICAgIH0sXG4gICAgICAgIHN0ZXA6IHtcbiAgICAgICAgICAgIHR5cGU6IG51bGwsXG4gICAgICAgICAgICB2YWx1ZTogMVxuICAgICAgICB9LFxuICAgICAgICBzaG93UGx1czoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIHZhbHVlOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHNob3dNaW51czoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIHZhbHVlOiB0cnVlXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIG1pbnVzRGlzYWJsZWQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmRhdGEuZGlzYWJsZWQgfHwgdGhpcy5kYXRhLnZhbHVlIDw9IHRoaXMuZGF0YS5taW47XG4gICAgICAgIH0sXG4gICAgICAgIHBsdXNEaXNhYmxlZDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5kaXNhYmxlZCB8fCB0aGlzLmRhdGEudmFsdWUgPj0gdGhpcy5kYXRhLm1heDtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgd2F0Y2g6IHtcbiAgICAgICAgdmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICAgICAgaWYgKHZhbHVlID09PSAnJykge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciBuZXdWYWx1ZSA9IHRoaXMucmFuZ2UodmFsdWUpO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBuZXdWYWx1ZSA9PT0gJ251bWJlcicgJiYgK3RoaXMuZGF0YS52YWx1ZSAhPT0gbmV3VmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldCh7IHZhbHVlOiBuZXdWYWx1ZSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAgZGF0YToge1xuICAgICAgICBmb2N1czogZmFsc2VcbiAgICB9LFxuICAgIGNyZWF0ZWQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5zZXQoe1xuICAgICAgICAgICAgdmFsdWU6IHRoaXMucmFuZ2UodGhpcy5kYXRhLnZhbHVlKVxuICAgICAgICB9KTtcbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgb25Gb2N1czogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdmb2N1cycsIGV2ZW50LmRldGFpbCk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uQmx1cjogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICB2YXIgdmFsdWUgPSB0aGlzLnJhbmdlKHRoaXMuZGF0YS52YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLnRyaWdnZXJJbnB1dCh2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdibHVyJywgZXZlbnQuZGV0YWlsKTtcbiAgICAgICAgfSxcbiAgICAgICAgLy8gbGltaXQgdmFsdWUgcmFuZ2VcbiAgICAgICAgcmFuZ2U6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICAgICAgdmFsdWUgPSBTdHJpbmcodmFsdWUpLnJlcGxhY2UoL1teMC05Li1dL2csICcnKTtcbiAgICAgICAgICAgIHJldHVybiBNYXRoLm1heChNYXRoLm1pbih0aGlzLmRhdGEubWF4LCB2YWx1ZSksIHRoaXMuZGF0YS5taW4pO1xuICAgICAgICB9LFxuICAgICAgICBvbklucHV0OiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgIHZhciBfYSA9IChldmVudC5kZXRhaWwgfHwge30pLnZhbHVlLCB2YWx1ZSA9IF9hID09PSB2b2lkIDAgPyAnJyA6IF9hO1xuICAgICAgICAgICAgdGhpcy50cmlnZ2VySW5wdXQodmFsdWUpO1xuICAgICAgICB9LFxuICAgICAgICBvbkNoYW5nZTogZnVuY3Rpb24gKHR5cGUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRhdGFbdHlwZSArIFwiRGlzYWJsZWRcIl0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLiRlbWl0KCdvdmVybGltaXQnLCB0eXBlKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgZGlmZiA9IHR5cGUgPT09ICdtaW51cycgPyAtdGhpcy5kYXRhLnN0ZXAgOiArdGhpcy5kYXRhLnN0ZXA7XG4gICAgICAgICAgICB2YXIgdmFsdWUgPSBNYXRoLnJvdW5kKCgrdGhpcy5kYXRhLnZhbHVlICsgZGlmZikgKiAxMDApIC8gMTAwO1xuICAgICAgICAgICAgdGhpcy50cmlnZ2VySW5wdXQodGhpcy5yYW5nZSh2YWx1ZSkpO1xuICAgICAgICAgICAgdGhpcy4kZW1pdCh0eXBlKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25NaW51czogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSgnbWludXMnKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25QbHVzOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKCdwbHVzJyk7XG4gICAgICAgIH0sXG4gICAgICAgIHRyaWdnZXJJbnB1dDogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnNldCh7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuZGF0YS5hc3luY0NoYW5nZSA/IHRoaXMuZGF0YS52YWx1ZSA6IHZhbHVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ2NoYW5nZScsIHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cbn0pO1xuIl0sImZpbGUiOiJpbmRleC5qcyJ9