first
This commit is contained in:
90
node_modules/vant/lib/tabs/Content.js
generated
vendored
Normal file
90
node_modules/vant/lib/tabs/Content.js
generated
vendored
Normal file
@ -0,0 +1,90 @@
|
||||
"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 _touch = require("../mixins/touch");
|
||||
|
||||
var _createNamespace = (0, _utils.createNamespace)('tabs'),
|
||||
createComponent = _createNamespace[0],
|
||||
bem = _createNamespace[1];
|
||||
|
||||
var MIN_SWIPE_DISTANCE = 50;
|
||||
|
||||
var _default = createComponent({
|
||||
mixins: [_touch.TouchMixin],
|
||||
props: {
|
||||
count: Number,
|
||||
duration: [Number, String],
|
||||
animated: Boolean,
|
||||
swipeable: Boolean,
|
||||
currentIndex: Number
|
||||
},
|
||||
computed: {
|
||||
style: function style() {
|
||||
if (this.animated) {
|
||||
return {
|
||||
transform: "translate3d(" + -1 * this.currentIndex * 100 + "%, 0, 0)",
|
||||
transitionDuration: this.duration + "s"
|
||||
};
|
||||
}
|
||||
},
|
||||
listeners: function listeners() {
|
||||
if (this.swipeable) {
|
||||
return {
|
||||
touchstart: this.touchStart,
|
||||
touchmove: this.touchMove,
|
||||
touchend: this.onTouchEnd,
|
||||
touchcancel: this.onTouchEnd
|
||||
};
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// watch swipe touch end
|
||||
onTouchEnd: function onTouchEnd() {
|
||||
var direction = this.direction,
|
||||
deltaX = this.deltaX,
|
||||
currentIndex = this.currentIndex;
|
||||
/* istanbul ignore else */
|
||||
|
||||
if (direction === 'horizontal' && this.offsetX >= MIN_SWIPE_DISTANCE) {
|
||||
/* istanbul ignore else */
|
||||
if (deltaX > 0 && currentIndex !== 0) {
|
||||
this.$emit('change', currentIndex - 1);
|
||||
} else if (deltaX < 0 && currentIndex !== this.count - 1) {
|
||||
this.$emit('change', currentIndex + 1);
|
||||
}
|
||||
}
|
||||
},
|
||||
genChildren: function genChildren() {
|
||||
var h = this.$createElement;
|
||||
|
||||
if (this.animated) {
|
||||
return h("div", {
|
||||
"class": bem('track'),
|
||||
"style": this.style
|
||||
}, [this.slots()]);
|
||||
}
|
||||
|
||||
return this.slots();
|
||||
}
|
||||
},
|
||||
render: function render() {
|
||||
var h = arguments[0];
|
||||
return h("div", {
|
||||
"class": bem('content', {
|
||||
animated: this.animated
|
||||
}),
|
||||
"on": (0, _extends2.default)({}, this.listeners)
|
||||
}, [this.genChildren()]);
|
||||
}
|
||||
});
|
||||
|
||||
exports.default = _default;
|
Reference in New Issue
Block a user