scinote-web/app/assets/javascripts/navigation.js

88 lines
2.3 KiB
JavaScript
Raw Normal View History

2016-09-29 20:49:58 +08:00
(function(){
'use strict';
/* Loading overlay for search */
$("#search-bar").submit(function (){
if( $("#update-canvas") ){
$(document.body).spin(true);
setTimeout(function(){
$(".spinner").remove();
}, 1000);
} else {
animateSpinner();
}
});
function loadDropdownNotifications() {
var button = $('#notifications-dropdown');
var noRecentText =
$('.dropdown-notifications .notifications-no-recent');
2016-09-29 20:49:58 +08:00
button
.on('click', function() {
noRecentText.hide();
2016-09-29 20:49:58 +08:00
$.ajax({
url: button.attr('data-href'),
type: 'GET',
dataType: 'json',
2016-10-03 14:20:23 +08:00
beforeSend: animateSpinner($('.notifications-dropdown-header'), true),
2016-09-29 20:49:58 +08:00
success: function(data) {
$('.notifications-dropdown-header')
.nextAll('li.notification')
.remove();
$('.notifications-dropdown-header')
.after(data.html);
2016-10-03 14:27:13 +08:00
animateSpinner($('.notifications-dropdown-header'), false);
var ul = $('.dropdown-menu.dropdown-notifications');
if (ul.children('.notification').length === 0) {
noRecentText.show();
}
2016-09-29 20:49:58 +08:00
}
});
$('#count-notifications').hide();
toggleNotificationBellPosition();
2016-09-29 20:49:58 +08:00
});
}
function loadUnseenNotificationsNumber() {
var notificationCount = $('#count-notifications');
$.ajax({
url: notificationCount.attr('data-href'),
type: 'GET',
dataType: 'json',
success: function(data) {
notificationCount.html('');
2016-10-03 14:20:23 +08:00
if ( data.notificationNmber > 0 ) {
notificationCount.html(data.notificationNmber);
notificationCount.show();
toggleNotificationBellPosition();
2016-10-03 14:20:23 +08:00
} else {
2016-10-03 14:27:13 +08:00
notificationCount.hide();
2016-10-03 14:20:23 +08:00
}
2016-09-29 20:49:58 +08:00
}
});
2016-07-21 19:11:15 +08:00
}
function toggleNotificationBellPosition() {
var notificationCount = $('#count-notifications');
var button = $('#notifications-dropdown');
if ( notificationCount.is(":hidden") ) {
button
.find('.fa-bell')
.css('position', 'relative');
} else {
button
.find('.fa-bell')
.css('position', 'absolute');
}
}
2016-09-29 20:49:58 +08:00
// init
loadDropdownNotifications();
loadUnseenNotificationsNumber();
toggleNotificationBellPosition();
2016-09-29 20:49:58 +08:00
})();