From 90b1a6907ed7bb3397fe6bd223f09eb12122d7a3 Mon Sep 17 00:00:00 2001 From: GeoSot Date: Sun, 11 Apr 2021 02:27:18 +0300 Subject: Merge js-components 'transitionend' listener callbacks into one method --- js/src/base-component.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'js/src/base-component.js') diff --git a/js/src/base-component.js b/js/src/base-component.js index a0bb62319..7d2a5b1e8 100644 --- a/js/src/base-component.js +++ b/js/src/base-component.js @@ -6,6 +6,11 @@ */ import Data from './dom/data' +import { + emulateTransitionEnd, + execute, + getTransitionDurationFromElement +} from './util/index' import EventHandler from './dom/event-handler' /** @@ -34,6 +39,18 @@ class BaseComponent { this._element = null } + _queueCallback(callback, element, isAnimated = true) { + if (!isAnimated) { + execute(callback) + return + } + + const transitionDuration = getTransitionDurationFromElement(element) + EventHandler.one(element, 'transitionend', () => execute(callback)) + + emulateTransitionEnd(element, transitionDuration) + } + /** Static */ static getInstance(element) { -- cgit v1.2.3