nativescript-typedoc-theme
Version:
A TypeDoc theme for the API-Reference of NativeScript packages.
54 lines (45 loc) • 1.53 kB
text/typescript
module typedoc {
function getVendorInfo(tuples) {
for (var name in tuples) {
if (!tuples.hasOwnProperty(name))
continue;
if (typeof (document.body.style[name]) !== 'undefined') {
return { name: name, endEvent: tuples[name] };
}
}
return null;
}
export var transition = getVendorInfo({
'transition': 'transitionend',
'OTransition': 'oTransitionEnd',
'msTransition': 'msTransitionEnd',
'MozTransition': 'transitionend',
'WebkitTransition': 'webkitTransitionEnd'
});
export function noTransition($el, callback) {
$el.addClass('no-transition');
callback();
$el.offset();
$el.removeClass('no-transition');
}
export function animateHeight($el:JQuery, callback:Function, success?:Function) {
var from = $el.height(), to;
noTransition($el, function () {
callback();
$el.css('height', '');
to = $el.height();
if (from != to && transition) $el.css('height', from);
});
if (from != to && transition) {
$el.css('height', to);
$el.on(transition.endEvent, function () {
noTransition($el, function () {
$el.off(transition.endEvent).css('height', '');
if (success) success();
});
});
} else {
if (success) success();
}
}
}