1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- "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 _relation = require("../mixins/relation");
- var _createNamespace = (0, _utils.createNamespace)('swipe-item'),
- createComponent = _createNamespace[0],
- bem = _createNamespace[1];
- var _default = createComponent({
- mixins: [(0, _relation.ChildrenMixin)('vanSwipe')],
- data: function data() {
- return {
- offset: 0,
- inited: false,
- mounted: false
- };
- },
- mounted: function mounted() {
- var _this = this;
- this.$nextTick(function () {
- _this.mounted = true;
- });
- },
- computed: {
- style: function style() {
- var style = {};
- var _this$parent = this.parent,
- size = _this$parent.size,
- vertical = _this$parent.vertical;
- if (size) {
- style[vertical ? 'height' : 'width'] = size + "px";
- }
- if (this.offset) {
- style.transform = "translate" + (vertical ? 'Y' : 'X') + "(" + this.offset + "px)";
- }
- return style;
- },
- shouldRender: function shouldRender() {
- var index = this.index,
- inited = this.inited,
- parent = this.parent,
- mounted = this.mounted;
- if (!parent.lazyRender || inited) {
- return true;
- } // wait for all item to mount, so we can get the exact count
- if (!mounted) {
- return false;
- }
- var active = parent.activeIndicator;
- var maxActive = parent.count - 1;
- var prevActive = active === 0 && parent.loop ? maxActive : active - 1;
- var nextActive = active === maxActive && parent.loop ? 0 : active + 1;
- var shouldRender = index === active || index === prevActive || index === nextActive;
- if (shouldRender) {
- this.inited = true;
- }
- return shouldRender;
- }
- },
- render: function render() {
- var h = arguments[0];
- return h("div", {
- "class": bem(),
- "style": this.style,
- "on": (0, _extends2.default)({}, this.$listeners)
- }, [this.shouldRender && this.slots()]);
- }
- });
- exports.default = _default;
|