$(function(){
notification_user_notification_search();
});
//CHARGEMENT DE LA PAGE
function init_plugin_notification(){
switch($.urlParam('page')){
default:
$('#notifications').fill({
action : 'notification_user_notification_search'
}, function(r){
if(!r.rows)
$('#notifications').append('
')
});
}
//Suppression d'élement user notification
function notification_user_notification_delete(element,event,container){
if(event) event.stopPropagation();
if(!container) container = 'li';
if(!confirm('Êtes-vous sûr de vouloir supprimer cet item ?')) return;
var line = $(element).closest(container);
var notifId = line.attr('data-id');
$.action({
action : 'notification_usernotification_delete',
id : notifId
},function(r){
var menu = $('.notification_menu .dropdown-menu');
line.remove();
//Suppression ligne notif dans le dropdown
$('.notification-item[data-id='+notifId+']').remove();
$('.dropdown-divider[data-notification='+notifId+']', menu).remove();
//Gestion affichage de la dernière notif supprimée
if(!$('.dropdown-item[data-id]', menu).length){
menu.html('
Aucune notification pour le moment');
$('#notifications').append('
Aucune notification pour le moment
');
}
//Gestion affichage dynamique nombre de notification
var notifNbContainer = $('.notification-number');
var notifNb = parseInt(notifNbContainer.text())
notifNb-1 < 1 ? notifNbContainer.text(0).removeAttr('style') : notifNbContainer.text(notifNb-1);
$.message('info','Notification supprimée');
});
}
//Sauvegarde préférences notification
function notification_user_save_preference(){
var data = $('#notification_preference').toJson();
data.action = 'notification_user_save_preference';
data.categories = [];
$('#notification_categories .category').each(function(i,element){
element = $(element);
if(element.find('input[type="checkbox"]:checked').length!=0)
data.categories.push(element.attr('data-slug'));
});
$.action(data,function(r){
$.message('success','Préférences sauvegardées');
});
}
// /* Notification via browser */
// //Request permission on page load
// document.addEventListener('DOMContentLoaded', function () {
// if (!Notification) return;
// if (Notification.permission !== "granted") Notification.requestPermission();
// });
// //Émet une notification en dehors du navigateur
// function emit_notification(infos) {
// var url = window.location.href;
// var filename = url.substring(url.lastIndexOf('/')+1);
// var href = url.replace(filename,'');
// if(Notification.permission !== "granted") {
// Notification.requestPermission();
// } else {
// infos.icon = infos.icon ? infos.icon : href+'img/logo/logo.png';
// infos.title = infos.title ? infos.title : 'Nouvelle notification';
// infos.body = infos.body ? infos.body : 'Vous avez reçu une nouvelle notification en provenance de '+href;
// var notification = new Notification(
// infos.title, {
// icon: infos.icon,
// body: infos.body,
// }
// );
// infos.link = infos.link ? infos.link : href+'index.php?module=notification';
// notification.onclick = function() {
// window.open(infos.link);
// };
// }
// }
//Notifications avancée avec utilisation d'un Service Worker
// navigator.serviceWorker.register('sw.js');
// function showNotification() {
// Notification.requestPermission(function(result) {
// if (result === 'granted') {
// navigator.serviceWorker.ready.then(function(registration) {
// registration.showNotification('Vibration Sample', {
// body: 'Buzz! Buzz!',
// icon: '../images/touch/chrome-touch-icon-192x192.png',
// vibrate: [200, 100, 200, 100, 200, 100, 200],
// tag: 'vibration-sample'
// });
// });
// }
// });
// }