UNPKG

ng-reorder

Version:

Sort elements within a list by using drag-n-drop interface without any restrictions by direction

35 lines 4.75 kB
/** * Returns time of a transition of a speciphic property in miliseconds. * @param element DOM element to check * @param property required CSS property * @param includeAll include or not the "all" property. By default true */ export function transitionTimeOf(element, property, includeAll = true) { const style = getComputedStyle(element); const properties = style.transitionProperty.split(','); // filter for the 'all' property const target = ($) => { if (includeAll) { return $ === property || $ === 'all'; } else { return $ === property; } }; const foundProperty = properties.find(target); // If no fouded property returns zero if (!foundProperty) { return 0; } const index = properties.indexOf(foundProperty); let delay = style.transitionDelay.split(',')[index]; let duration = style.transitionDuration.split(',')[index]; // Destructuring assignment. // Next lines check whether the values in ms and return parsed time in ms [delay, duration] = [delay, duration].map($ => { const k = $.toLowerCase().indexOf('ms') !== -1 ? 1 : 1000; return parseFloat($) * k; }); return delay + duration; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNpdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXJlb3JkZXIvc3JjL2xpYi90cmFuc2l0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE9BQW9CLEVBQUUsUUFBZ0IsRUFBRSxhQUFzQixJQUFJO0lBRWxHLE1BQU0sS0FBSyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXhDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFdkQsZ0NBQWdDO0lBQ2hDLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDcEIsSUFBSSxVQUFVLEVBQUU7WUFBRSxPQUFPLENBQUMsS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQztTQUFFO2FBQU07WUFBRSxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUM7U0FBRTtJQUMxRixDQUFDLENBQUM7SUFFRixNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLHFDQUFxQztJQUNyQyxJQUFJLENBQUMsYUFBYSxFQUFFO1FBQ25CLE9BQU8sQ0FBQyxDQUFDO0tBQ1Q7SUFFRCxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2hELElBQUksS0FBSyxHQUFvQixLQUFLLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyRSxJQUFJLFFBQVEsR0FBb0IsS0FBSyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUUzRSw0QkFBNEI7SUFDNUIseUVBQXlFO0lBQ3pFLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUM3QyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUMxRCxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLEtBQUssR0FBRyxRQUFRLENBQUM7QUFDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBSZXR1cm5zIHRpbWUgb2YgYSB0cmFuc2l0aW9uIG9mIGEgc3BlY2lwaGljIHByb3BlcnR5IGluIG1pbGlzZWNvbmRzLlxyXG4gKiBAcGFyYW0gZWxlbWVudCBET00gZWxlbWVudCB0byBjaGVja1xyXG4gKiBAcGFyYW0gcHJvcGVydHkgcmVxdWlyZWQgQ1NTIHByb3BlcnR5XHJcbiAqIEBwYXJhbSBpbmNsdWRlQWxsIGluY2x1ZGUgb3Igbm90IHRoZSBcImFsbFwiIHByb3BlcnR5LiBCeSBkZWZhdWx0IHRydWVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2l0aW9uVGltZU9mKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBwcm9wZXJ0eTogc3RyaW5nLCBpbmNsdWRlQWxsOiBib29sZWFuID0gdHJ1ZSkge1xyXG5cclxuXHRjb25zdCBzdHlsZSA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XHJcblxyXG5cdGNvbnN0IHByb3BlcnRpZXMgPSBzdHlsZS50cmFuc2l0aW9uUHJvcGVydHkuc3BsaXQoJywnKTtcclxuXHJcblx0Ly8gZmlsdGVyIGZvciB0aGUgJ2FsbCcgcHJvcGVydHlcclxuXHRjb25zdCB0YXJnZXQgPSAoJCkgPT4ge1xyXG5cdFx0aWYgKGluY2x1ZGVBbGwpIHsgcmV0dXJuICQgPT09IHByb3BlcnR5IHx8ICQgPT09ICdhbGwnOyB9IGVsc2UgeyByZXR1cm4gJCA9PT0gcHJvcGVydHk7IH1cclxuXHR9O1xyXG5cclxuXHRjb25zdCBmb3VuZFByb3BlcnR5ID0gcHJvcGVydGllcy5maW5kKHRhcmdldCk7XHJcblx0Ly8gSWYgbm8gZm91ZGVkIHByb3BlcnR5IHJldHVybnMgemVyb1xyXG5cdGlmICghZm91bmRQcm9wZXJ0eSkge1xyXG5cdFx0cmV0dXJuIDA7XHJcblx0fVxyXG5cclxuXHRjb25zdCBpbmRleCA9IHByb3BlcnRpZXMuaW5kZXhPZihmb3VuZFByb3BlcnR5KTtcclxuXHRsZXQgZGVsYXk6IG51bWJlciB8IHN0cmluZyA9IHN0eWxlLnRyYW5zaXRpb25EZWxheS5zcGxpdCgnLCcpW2luZGV4XTtcclxuXHRsZXQgZHVyYXRpb246IG51bWJlciB8IHN0cmluZyA9IHN0eWxlLnRyYW5zaXRpb25EdXJhdGlvbi5zcGxpdCgnLCcpW2luZGV4XTtcclxuXHJcblx0Ly8gRGVzdHJ1Y3R1cmluZyBhc3NpZ25tZW50LlxyXG5cdC8vIE5leHQgbGluZXMgY2hlY2sgd2hldGhlciB0aGUgdmFsdWVzIGluIG1zIGFuZCByZXR1cm4gcGFyc2VkIHRpbWUgaW4gbXNcclxuXHRbZGVsYXksIGR1cmF0aW9uXSA9IFtkZWxheSwgZHVyYXRpb25dLm1hcCgkID0+IHtcclxuXHRcdGNvbnN0IGsgPSAkLnRvTG93ZXJDYXNlKCkuaW5kZXhPZignbXMnKSAhPT0gLTEgPyAxIDogMTAwMDtcclxuXHRcdHJldHVybiBwYXJzZUZsb2F0KCQpICogaztcclxuXHR9KTtcclxuXHRyZXR1cm4gZGVsYXkgKyBkdXJhdGlvbjtcclxufVxyXG4iXX0=