export default class ATransitionEffect {
    constructor() { }
    collapsedEffect(e, c = null, maxHeight = null) {
        var height = (maxHeight == null || e.scrollHeight <= maxHeight) ? e.scrollHeight : maxHeight;
        var transition = e.style.transition;
        e.style.transition = '';
        requestAnimationFrame(function () {
            e.style.height = height + 'px';
            e.style.opacity = 1;
            e.style.transition = transition;
            requestAnimationFrame(function () {
                e.style.height = 0 + 'px';
                e.style.opacity = .3
            });
        });
        var f = function (ev) {
            if (ev.propertyName == "height") {
                ev.target.classList.remove('show');
                if (c != null) c.call();
            }
            ev.target.removeEventListener("transitionend", f, false);
        };
        e.addEventListener('transitionend', f, false);
    }
    expandEffect(e, c = null, maxHeight = null) {
        e.style.opacity = 1;
        e.style.height = ((maxHeight == null || e.scrollHeight <= maxHeight) ? e.scrollHeight : maxHeight) + 'px';
        var f = function (ev) {
            if (ev.propertyName == "height") {
                ev.target.classList.add("show");
                ev.target.style.height = null;
                if (c != null) c.call();
                ev.target.removeEventListener("transitionend", f, false);
            }
        }
        e.addEventListener('transitionend', f, false);
    }
    fadeEffect(e, c) {

    }
}