You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

88 lines
2.2 KiB
JavaScript

10 years ago
"use strict";
/*globals config, utils, NProgress*/
10 years ago
$(document).ready(function() {
setupSlideMenu();
function setupSlideMenu() {
$('[data-toggle="slide-in"]').on('click', function(ev) {
$('body').toggleClass('slide-in');
if ($('body').hasClass('slide-in')) {
var top = ($('html').scrollTop() || $('body').scrollTop()) + $('header-menu').height(),
transform = 'translate3d(0, ' + top + 'px, 0)';
$('#header-menu').css({
10 years ago
'-webkit-transform': transform,
'-moz-transform': transform,
'-ms-transform': transform,
'-o-transform': transform,
'transform': transform
});
10 years ago
$('html').css('overflow-y', 'hidden');
} else {
$('body').one("webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend", function() {
$('#header-menu').css({
10 years ago
'-webkit-transform': 'none',
'-moz-transform': 'none',
'-ms-transform': 'none',
'-o-transform': 'none',
'transform': 'none'
});
10 years ago
$('html').css('overflow-y', '');
10 years ago
});
}
});
$(window).on('action:ajaxify.start', function() {
if ($('body').hasClass('slide-in')) {
$('.navbar-header button').click();
}
NProgress.set(0.7);
10 years ago
});
$(window).on('action:ajaxify.end', function() {
NProgress.done();
});
$(window).on('filter:taskbar.push', function(ev, data) {
data.options.className = 'taskbar-' + data.module;
if (data.module === 'composer') {
data.options.icon = 'fa-plus';
} else if (data.module === 'chat') {
10 years ago
if (!data.element.length) {
createChatIcon(data);
$(window).one('action:taskbar.pushed', function(ev, data) {
updateChatCount(data.element);
});
} else if (!data.element.hasClass('active')) {
updateChatCount(data.element);
}
}
});
10 years ago
function createChatIcon(data) {
data.options.icon = 'fa-spinner fa-spin';
$.getJSON(config.relative_path + '/api/user/' + utils.slugify(data.options.title), function(user) {
var el = $('#taskbar [data-uuid="' + data.uuid + '"] a');
el.find('i').remove();
el.css('background-image', 'url(' + user.picture + ')');
});
}
function updateChatCount(el) {
var count = (parseInt($(el).attr('data-content'), 10) || 0) + 1;
$(el).attr('data-content', count);
}
10 years ago
}
10 years ago
});