1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- 'use strict';
- Object.defineProperty(exports, '__esModule', { value: true });
- exports.setContentAnimate = void 0;
- var version_1 = require('../common/version');
- var utils_1 = require('../common/utils');
- function useAnimate(context, expanded, mounted, height) {
- var selector = '.van-collapse-item__wrapper';
- if (expanded) {
- context.animate(
- selector,
- [
- { height: 0, ease: 'ease-in-out', offset: 0 },
- { height: height + 'px', ease: 'ease-in-out', offset: 1 },
- { height: 'auto', ease: 'ease-in-out', offset: 1 },
- ],
- mounted ? 300 : 0,
- function () {
- context.clearAnimation(selector);
- }
- );
- return;
- }
- context.animate(
- selector,
- [
- { height: height + 'px', ease: 'ease-in-out', offset: 0 },
- { height: 0, ease: 'ease-in-out', offset: 1 },
- ],
- 300,
- function () {
- context.clearAnimation(selector);
- }
- );
- }
- function useAnimation(context, expanded, mounted, height) {
- var animation = wx.createAnimation({
- duration: 0,
- timingFunction: 'ease-in-out',
- });
- if (expanded) {
- if (height === 0) {
- animation.height('auto').top(1).step();
- } else {
- animation
- .height(height)
- .top(1)
- .step({
- duration: mounted ? 300 : 1,
- })
- .height('auto')
- .step();
- }
- context.setData({
- animation: animation.export(),
- });
- return;
- }
- animation.height(height).top(0).step({ duration: 1 }).height(0).step({
- duration: 300,
- });
- context.setData({
- animation: animation.export(),
- });
- }
- function setContentAnimate(context, expanded, mounted) {
- utils_1
- .getRect(context, '.van-collapse-item__content')
- .then(function (rect) {
- return rect.height;
- })
- .then(function (height) {
- version_1.canIUseAnimate()
- ? useAnimate(context, expanded, mounted, height)
- : useAnimation(context, expanded, mounted, height);
- });
- }
- exports.setContentAnimate = setContentAnimate;
|