first
This commit is contained in:
148
node_modules/vant/lib/datetime-picker/TimePicker.js
generated
vendored
Normal file
148
node_modules/vant/lib/datetime-picker/TimePicker.js
generated
vendored
Normal file
@ -0,0 +1,148 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
|
||||
exports.__esModule = true;
|
||||
exports.default = void 0;
|
||||
|
||||
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
||||
|
||||
var _utils = require("../utils");
|
||||
|
||||
var _string = require("../utils/format/string");
|
||||
|
||||
var _number = require("../utils/format/number");
|
||||
|
||||
var _shared = require("./shared");
|
||||
|
||||
var _createNamespace = (0, _utils.createNamespace)('time-picker'),
|
||||
createComponent = _createNamespace[0];
|
||||
|
||||
var _default = createComponent({
|
||||
mixins: [_shared.TimePickerMixin],
|
||||
props: (0, _extends2.default)({}, _shared.sharedProps, {
|
||||
minHour: {
|
||||
type: [Number, String],
|
||||
default: 0
|
||||
},
|
||||
maxHour: {
|
||||
type: [Number, String],
|
||||
default: 23
|
||||
},
|
||||
minMinute: {
|
||||
type: [Number, String],
|
||||
default: 0
|
||||
},
|
||||
maxMinute: {
|
||||
type: [Number, String],
|
||||
default: 59
|
||||
}
|
||||
}),
|
||||
computed: {
|
||||
ranges: function ranges() {
|
||||
return [{
|
||||
type: 'hour',
|
||||
range: [+this.minHour, +this.maxHour]
|
||||
}, {
|
||||
type: 'minute',
|
||||
range: [+this.minMinute, +this.maxMinute]
|
||||
}];
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
filter: 'updateInnerValue',
|
||||
minHour: function minHour() {
|
||||
var _this = this;
|
||||
|
||||
this.$nextTick(function () {
|
||||
_this.updateInnerValue();
|
||||
});
|
||||
},
|
||||
maxHour: function maxHour(value) {
|
||||
var _this$innerValue$spli = this.innerValue.split(':'),
|
||||
hour = _this$innerValue$spli[0],
|
||||
minute = _this$innerValue$spli[1];
|
||||
|
||||
if (hour >= value) {
|
||||
this.innerValue = this.formatValue(value + ":" + minute);
|
||||
this.updateColumnValue();
|
||||
} else {
|
||||
this.updateInnerValue();
|
||||
}
|
||||
},
|
||||
minMinute: 'updateInnerValue',
|
||||
maxMinute: function maxMinute(value) {
|
||||
var _this$innerValue$spli2 = this.innerValue.split(':'),
|
||||
hour = _this$innerValue$spli2[0],
|
||||
minute = _this$innerValue$spli2[1];
|
||||
|
||||
if (minute >= value) {
|
||||
this.innerValue = this.formatValue(hour + ":" + value);
|
||||
this.updateColumnValue();
|
||||
} else {
|
||||
this.updateInnerValue();
|
||||
}
|
||||
},
|
||||
value: function value(val) {
|
||||
val = this.formatValue(val);
|
||||
|
||||
if (val !== this.innerValue) {
|
||||
this.innerValue = val;
|
||||
this.updateColumnValue();
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
formatValue: function formatValue(value) {
|
||||
if (!value) {
|
||||
value = (0, _string.padZero)(this.minHour) + ":" + (0, _string.padZero)(this.minMinute);
|
||||
}
|
||||
|
||||
var _value$split = value.split(':'),
|
||||
hour = _value$split[0],
|
||||
minute = _value$split[1];
|
||||
|
||||
hour = (0, _string.padZero)((0, _number.range)(hour, this.minHour, this.maxHour));
|
||||
minute = (0, _string.padZero)((0, _number.range)(minute, this.minMinute, this.maxMinute));
|
||||
return hour + ":" + minute;
|
||||
},
|
||||
updateInnerValue: function updateInnerValue() {
|
||||
var _this$getPicker$getIn = this.getPicker().getIndexes(),
|
||||
hourIndex = _this$getPicker$getIn[0],
|
||||
minuteIndex = _this$getPicker$getIn[1];
|
||||
|
||||
var _this$originColumns = this.originColumns,
|
||||
hourColumn = _this$originColumns[0],
|
||||
minuteColumn = _this$originColumns[1];
|
||||
var hour = hourColumn.values[hourIndex] || hourColumn.values[0];
|
||||
var minute = minuteColumn.values[minuteIndex] || minuteColumn.values[0];
|
||||
this.innerValue = this.formatValue(hour + ":" + minute);
|
||||
this.updateColumnValue();
|
||||
},
|
||||
onChange: function onChange(picker) {
|
||||
var _this2 = this;
|
||||
|
||||
this.updateInnerValue();
|
||||
this.$nextTick(function () {
|
||||
_this2.$nextTick(function () {
|
||||
// https://github.com/vant-ui/vant/issues/9775
|
||||
_this2.updateInnerValue();
|
||||
|
||||
_this2.$emit('change', picker);
|
||||
});
|
||||
});
|
||||
},
|
||||
updateColumnValue: function updateColumnValue() {
|
||||
var _this3 = this;
|
||||
|
||||
var formatter = this.formatter;
|
||||
var pair = this.innerValue.split(':');
|
||||
var values = [formatter('hour', pair[0]), formatter('minute', pair[1])];
|
||||
this.$nextTick(function () {
|
||||
_this3.getPicker().setValues(values);
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
exports.default = _default;
|
Reference in New Issue
Block a user