12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- "use strict";
- var common_vendor = require("../../../../common/vendor.js");
- var uni_modules_uviewPlus_libs_function_index = require("../../libs/function/index.js");
- const getClassNames = (name) => ({
- enter: `u-${name}-enter u-${name}-enter-active`,
- "enter-to": `u-${name}-enter-to u-${name}-enter-active`,
- leave: `u-${name}-leave u-${name}-leave-active`,
- "leave-to": `u-${name}-leave-to u-${name}-leave-active`
- });
- var transition = {
- methods: {
- clickHandler() {
- this.$emit("click");
- },
- async vueEnter() {
- const classNames = getClassNames(this.mode);
- this.status = "enter";
- this.$emit("beforeEnter");
- this.inited = true;
- this.display = true;
- this.classes = classNames.enter;
- await common_vendor.nextTick();
- {
- await uni_modules_uviewPlus_libs_function_index.sleep(20);
- this.$emit("enter");
- this.transitionEnded = false;
- this.$emit("afterEnter");
- this.classes = classNames["enter-to"];
- }
- },
- async vueLeave() {
- if (!this.display)
- return;
- const classNames = getClassNames(this.mode);
- this.status = "leave";
- this.$emit("beforeLeave");
- this.classes = classNames.leave;
- await common_vendor.nextTick();
- {
- this.transitionEnded = false;
- this.$emit("leave");
- setTimeout(this.onTransitionEnd, this.duration);
- this.classes = classNames["leave-to"];
- }
- },
- onTransitionEnd() {
- if (this.transitionEnded)
- return;
- this.transitionEnded = true;
- this.$emit(this.status === "leave" ? "afterLeave" : "afterEnter");
- if (!this.show && this.display) {
- this.display = false;
- this.inited = false;
- }
- }
- }
- };
- exports.transition = transition;
|