123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var utils_1 = require('./../common/utils.js');
- var getClassNames = function getClassNames(name) {
- return {
- enter: "van-" + name + "-enter van-" + name + "-enter-active enter-class enter-active-class",
- 'enter-to': "van-" + name + "-enter-to van-" + name + "-enter-active enter-to-class enter-active-class",
- leave: "van-" + name + "-leave van-" + name + "-leave-active leave-class leave-active-class",
- 'leave-to': "van-" + name + "-leave-to van-" + name + "-leave-active leave-to-class leave-active-class"
- };
- };
- var nextTick = function nextTick() {
- return new Promise(function (resolve) {
- return setTimeout(resolve, 1000 / 30);
- });
- };
- exports.transition = function (showDefaultValue) {
- return Behavior({
- properties: {
- customStyle: String,
- show: {
- type: Boolean,
- value: showDefaultValue,
- observer: 'observeShow'
- },
- duration: {
- type: [Number, Object],
- value: 300,
- observer: 'observeDuration'
- },
- name: {
- type: String,
- value: 'fade'
- }
- },
- data: {
- type: '',
- inited: false,
- display: false
- },
- attached: function attached() {
- if (this.data.show) {
- this.enter();
- }
- },
- methods: {
- observeShow: function observeShow(value) {
- if (value) {
- this.enter();
- } else {
- this.leave();
- }
- },
- enter: function enter() {
- var _this = this;
- var _a = this.data,
- duration = _a.duration,
- name = _a.name;
- var classNames = getClassNames(name);
- var currentDuration = utils_1.isObj(duration) ? duration.leave : duration;
- this.status = 'enter';
- Promise.resolve().then(nextTick).then(function () {
- _this.checkStatus('enter');
- _this.set({
- inited: true,
- display: true,
- classes: classNames.enter,
- currentDuration: currentDuration
- });
- }).then(nextTick).then(function () {
- _this.checkStatus('enter');
- _this.set({
- classes: classNames['enter-to']
- });
- }).catch(function () {});
- },
- leave: function leave() {
- var _this = this;
- var _a = this.data,
- duration = _a.duration,
- name = _a.name;
- var classNames = getClassNames(name);
- var currentDuration = utils_1.isObj(duration) ? duration.leave : duration;
- this.status = 'leave';
- Promise.resolve().then(nextTick).then(function () {
- _this.checkStatus('leave');
- _this.set({
- classes: classNames.leave,
- currentDuration: currentDuration
- });
- }).then(function () {
- return setTimeout(function () {
- return _this.onTransitionEnd();
- }, currentDuration);
- }).then(nextTick).then(function () {
- _this.checkStatus('leave');
- _this.set({
- classes: classNames['leave-to']
- });
- }).catch(function () {});
- },
- checkStatus: function checkStatus(status) {
- if (status !== this.status) {
- throw new Error("incongruent status: " + status);
- }
- },
- onTransitionEnd: function onTransitionEnd() {
- if (!this.data.show) {
- this.set({ display: false });
- this.$emit('transitionEnd');
- }
- }
- }
- });
- };
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRyYW5zaXRpb24uanMiXSwibmFtZXMiOlsiT2JqZWN0IiwidmFsdWUiLCJ1dGlsc18xIiwicmVxdWlyZSIsImdldENsYXNzTmFtZXMiLCJlbnRlciIsImxlYXZlIiwibmV4dFRpY2siLCJzZXRUaW1lb3V0IiwiZXhwb3J0cyIsInByb3BlcnRpZXMiLCJjdXN0b21TdHlsZSIsInNob3ciLCJ0eXBlIiwib2JzZXJ2ZXIiLCJkdXJhdGlvbiIsIm5hbWUiLCJkYXRhIiwiaW5pdGVkIiwiZGlzcGxheSIsImF0dGFjaGVkIiwibWV0aG9kcyIsIm9ic2VydmVTaG93IiwiX3RoaXMiLCJfYSIsImNsYXNzTmFtZXMiLCJjdXJyZW50RHVyYXRpb24iLCJQcm9taXNlIiwiY2xhc3NlcyIsImNoZWNrU3RhdHVzIiwic3RhdHVzIiwib25UcmFuc2l0aW9uRW5kIl0sIm1hcHBpbmdzIjoiOztBQUNBQSxPQUFBQSxjQUFBQSxDQUFBQSxPQUFBQSxFQUFBQSxZQUFBQSxFQUE2QyxFQUFFQyxPQUEvQ0QsSUFBNkMsRUFBN0NBO0FBQ0EsSUFBSUUsVUFBVUMsUUFBZCxzQkFBY0EsQ0FBZDtBQUNBLElBQUlDLGdCQUFnQixTQUFoQkEsYUFBZ0IsQ0FBQSxJQUFBLEVBQWdCO0FBQUUsV0FBUTtBQUMxQ0MsZUFBTyxTQUFBLElBQUEsR0FBQSxhQUFBLEdBQUEsSUFBQSxHQURtQyw4Q0FBQTtBQUUxQyxvQkFBWSxTQUFBLElBQUEsR0FBQSxnQkFBQSxHQUFBLElBQUEsR0FGOEIsaURBQUE7QUFHMUNDLGVBQU8sU0FBQSxJQUFBLEdBQUEsYUFBQSxHQUFBLElBQUEsR0FIbUMsOENBQUE7QUFJMUMsb0JBQVksU0FBQSxJQUFBLEdBQUEsZ0JBQUEsR0FBQSxJQUFBLEdBQTBDO0FBSlosS0FBUjtBQUF0QyxDQUFBO0FBTUEsSUFBSUMsV0FBVyxTQUFYQSxRQUFXLEdBQVk7QUFBRSxXQUFPLElBQUEsT0FBQSxDQUFZLFVBQUEsT0FBQSxFQUFtQjtBQUFFLGVBQU9DLFdBQUFBLE9BQUFBLEVB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QUpKSSxpQkFBQUEsRUFBQUEsSUFBQUEsQ0FTVSxZQUFZO0FBQUUsMkJBQU8sV0FBVyxZQUFZO0FBQUUsK0JBQU9KLE1BQVAsZUFBT0EsRUFBUDtBQUF6QixxQkFBQSxFQUFQLGVBQU8sQ0FBUDtBQVR4QkksaUJBQUFBLEVBQUFBLElBQUFBLENBQUFBLFFBQUFBLEVBQUFBLElBQUFBLENBV1UsWUFBWTtBQUNsQkosMEJBQUFBLFdBQUFBLENBQUFBLE9BQUFBO0FBQ0FBLDBCQUFBQSxHQUFBQSxDQUFVO0FBQ05LLGlDQUFTSCxXQUFBQSxVQUFBQTtBQURILHFCQUFWRjtBQWJKSSxpQkFBQUEsRUFBQUEsS0FBQUEsQ0FpQlcsWUFBWSxDQWpCdkJBLENBQUFBO0FBekNDLGFBQUE7QUE0RExFLHlCQUFhLFNBQUEsV0FBQSxDQUFBLE1BQUEsRUFBa0I7QUFDM0Isb0JBQUlDLFdBQVcsS0FBZixNQUFBLEVBQTRCO0FBQ3hCLDBCQUFNLElBQUEsS0FBQSxDQUFVLHlCQUFoQixNQUFNLENBQU47QUFDSDtBQS9EQSxhQUFBO0FBaUVMQyw2QkFBaUIsU0FBQSxlQUFBLEdBQVk7QUFDekIsb0JBQUksQ0FBQyxLQUFBLElBQUEsQ0FBTCxJQUFBLEVBQXFCO0FBQ2pCLHlCQUFBLEdBQUEsQ0FBUyxFQUFFWixTQUFYLEtBQVMsRUFBVDtBQUNBLHlCQUFBLEtBQUEsQ0FBQSxlQUFBO0FBQ0g7QUFDSjtBQXRFSTtBQTVCRyxLQUFULENBQVA7QUFESlYsQ0FBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbnZhciB1dGlsc18xID0gcmVxdWlyZShcIi4uL2NvbW1vbi91dGlsc1wiKTtcbnZhciBnZXRDbGFzc05hbWVzID0gZnVuY3Rpb24gKG5hbWUpIHsgcmV0dXJuICh7XG4gICAgZW50ZXI6IFwidmFuLVwiICsgbmFtZSArIFwiLWVudGVyIHZhbi1cIiArIG5hbWUgKyBcIi1lbnRlci1hY3RpdmUgZW50ZXItY2xhc3MgZW50ZXItYWN0aXZlLWNsYXNzXCIsXG4gICAgJ2VudGVyLXRvJzogXCJ2YW4tXCIgKyBuYW1lICsgXCItZW50ZXItdG8gdmFuLVwiICsgbmFtZSArIFwiLWVudGVyLWFjdGl2ZSBlbnRlci10by1jbGFzcyBlbnRlci1hY3RpdmUtY2xhc3NcIixcbiAgICBsZWF2ZTogXCJ2YW4tXCIgKyBuYW1lICsgXCItbGVhdmUgdmFuLVwiICsgbmFtZSArIFwiLWxlYXZlLWFjdGl2ZSBsZWF2ZS1jbGFzcyBsZWF2ZS1hY3RpdmUtY2xhc3NcIixcbiAgICAnbGVhdmUtdG8nOiBcInZhbi1cIiArIG5hbWUgKyBcIi1sZWF2ZS10byB2YW4tXCIgKyBuYW1lICsgXCItbGVhdmUtYWN0aXZlIGxlYXZlLXRvLWNsYXNzIGxlYXZlLWFjdGl2ZS1jbGFzc1wiXG59KTsgfTtcbnZhciBuZXh0VGljayA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJldHVybiBzZXRUaW1lb3V0KHJlc29sdmUsIDEwMDAgLyAzMCk7IH0pOyB9O1xuZXhwb3J0cy50cmFuc2l0aW9uID0gZnVuY3Rpb24gKHNob3dEZWZhdWx0VmFsdWUpIHtcbiAgICByZXR1cm4gQmVoYXZpb3Ioe1xuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICBjdXN0b21TdHlsZTogU3RyaW5nLFxuICAgICAgICAgICAgc2hvdzoge1xuICAgICAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICAgICAgdmFsdWU6IHNob3dEZWZhdWx0VmFsdWUsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXI6ICdvYnNlcnZlU2hvdydcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkdXJhdGlvbjoge1xuICAgICAgICAgICAgICAgIHR5cGU6IFtOdW1iZXIsIE9iamVjdF0sXG4gICAgICAgICAgICAgICAgdmFsdWU6IDMwMCxcbiAgICAgICAgICAgICAgICBvYnNlcnZlcjogJ29ic2VydmVEdXJhdGlvbidcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBuYW1lOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgICAgIHZhbHVlOiAnZmFkZSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgdHlwZTogJycsXG4gICAgICAgICAgICBpbml0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgZGlzcGxheTogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgYXR0YWNoZWQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRhdGEuc2hvdykge1xuICAgICAgICAgICAgICAgIHRoaXMuZW50ZXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgbWV0aG9kczoge1xuICAgICAgICAgICAgb2JzZXJ2ZVNob3c6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVudGVyKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxlYXZlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVudGVyOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgICAgICAgICB2YXIgX2EgPSB0aGlzLmRhdGEsIGR1cmF0aW9uID0gX2EuZHVyYXRpb24sIG5hbWUgPSBfYS5uYW1lO1xuICAgICAgICAgICAgICAgIHZhciBjbGFzc05hbWVzID0gZ2V0Q2xhc3NOYW1lcyhuYW1lKTtcbiAgICAgICAgICAgICAgICB2YXIgY3VycmVudER1cmF0aW9uID0gdXRpbHNfMS5pc09iaihkdXJhdGlvbikgPyBkdXJhdGlvbi5sZWF2ZSA6IGR1cmF0aW9uO1xuICAgICAgICAgICAgICAgIHRoaXMuc3RhdHVzID0gJ2VudGVyJztcbiAgICAgICAgICAgICAgICBQcm9taXNlLnJlc29sdmUoKVxuICAgICAgICAgICAgICAgICAgICAudGhlbihuZXh0VGljaylcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICBfdGhpcy5jaGVja1N0YXR1cygnZW50ZXInKTtcbiAgICAgICAgICAgICAgICAgICAgX3RoaXMuc2V0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGluaXRlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzOiBjbGFzc05hbWVzLmVudGVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudER1cmF0aW9uOiBjdXJyZW50RHVyYXRpb25cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4obmV4dFRpY2spXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgX3RoaXMuY2hlY2tTdGF0dXMoJ2VudGVyJyk7XG4gICAgICAgICAgICAgICAgICAgIF90aGlzLnNldCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzOiBjbGFzc05hbWVzWydlbnRlci10byddXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC5jYXRjaChmdW5jdGlvbiAoKSB7IH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGxlYXZlOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgICAgICAgICB2YXIgX2EgPSB0aGlzLmRhdGEsIGR1cmF0aW9uID0gX2EuZHVyYXRpb24sIG5hbWUgPSBfYS5uYW1lO1xuICAgICAgICAgICAgICAgIHZhciBjbGFzc05hbWVzID0gZ2V0Q2xhc3NOYW1lcyhuYW1lKTtcbiAgICAgICAgICAgICAgICB2YXIgY3VycmVudER1cmF0aW9uID0gdXRpbHNfMS5pc09iaihkdXJhdGlvbikgPyBkdXJhdGlvbi5sZWF2ZSA6IGR1cmF0aW9uO1xuICAgICAgICAgICAgICAgIHRoaXMuc3RhdHVzID0gJ2xlYXZlJztcbiAgICAgICAgICAgICAgICBQcm9taXNlLnJlc29sdmUoKVxuICAgICAgICAgICAgICAgICAgICAudGhlbihuZXh0VGljaylcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICBfdGhpcy5jaGVja1N0YXR1cygnbGVhdmUnKTtcbiAgICAgICAgICAgICAgICAgICAgX3RoaXMuc2V0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXM6IGNsYXNzTmFtZXMubGVhdmUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50RHVyYXRpb246IGN1cnJlbnREdXJhdGlvblxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAudGhlbihmdW5jdGlvbiAoKSB7IHJldHVybiBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsgcmV0dXJuIF90aGlzLm9uVHJhbnNpdGlvbkVuZCgpOyB9LCBjdXJyZW50RHVyYXRpb24pOyB9KVxuICAgICAgICAgICAgICAgICAgICAudGhlbihuZXh0VGljaylcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICBfdGhpcy5jaGVja1N0YXR1cygnbGVhdmUnKTtcbiAgICAgICAgICAgICAgICAgICAgX3RoaXMuc2V0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXM6IGNsYXNzTmFtZXNbJ2xlYXZlLXRvJ11cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKGZ1bmN0aW9uICgpIHsgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY2hlY2tTdGF0dXM6IGZ1bmN0aW9uIChzdGF0dXMpIHtcbiAgICAgICAgICAgICAgICBpZiAoc3RhdHVzICE9PSB0aGlzLnN0YXR1cykge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJpbmNvbmdydWVudCBzdGF0dXM6IFwiICsgc3RhdHVzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb25UcmFuc2l0aW9uRW5kOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmRhdGEuc2hvdykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldCh7IGRpc3BsYXk6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLiRlbWl0KCd0cmFuc2l0aW9uRW5kJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59O1xuIl0sImZpbGUiOiJ0cmFuc2l0aW9uLmpzIn0=
|