ref: master
plugins/admin_notifications/public/admin_notifications_plugin.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
(function($) { "use strict"; var admin_notifications_plugin = { notificationBar: function() { var completeMessage = $(".notification-plugin-notification-bar").remove(); $("#content-inner").before(completeMessage); }, closeNotification: function(){ var notification = $(this).parent(); var id = notification.attr("data-notification"); $.ajax({ url: noosfero_root()+'/plugin/admin_notifications/public/close_notification', type: "POST", data: {notification_id: id}, success: function(response) { notification.fadeOut(); } }); }, hideNotification: function(){ var notification = $(this).parent(); var id = notification.attr("data-notification"); $.ajax({ url: noosfero_root()+'/plugin/admin_notifications/public/hide_notification', type: "POST", data: {notification_id: id}, success: function(response) { notification.fadeOut(); } }); }, hideUserNotification: function(){ var ids = $.cookie('hide_notifications'); if(ids === null) { return null; } if(ids.startsWith('[') && ids.endsWith(']')){ ids = ids.substring(1, ids.length - 1); ids = ids.split(","); for(var i = 0; i < ids.length; i++) { $('[data-notification="' + ids[i] + '"]').fadeOut(); } } }, showPopup: function() { if($('.action-home-index').length > 0) { jQuery(function($){ $.colorbox({href: noosfero_root()+'/plugin/admin_notifications/public/notifications_with_popup?previous_path=home'}); }); } else { jQuery(function($){ $.colorbox({href: noosfero_root()+'/plugin/admin_notifications/public/notifications_with_popup'}); }); } }, }; $(document).ready(function(){ admin_notifications_plugin.notificationBar(); $(".notification-plugin-notification-bar .notification-close").on("click", admin_notifications_plugin.closeNotification); $(".notification-plugin-notification-bar .notification-hide").on("click", admin_notifications_plugin.hideNotification); if($('.notification-plugin-notification-bar').length > 0){ admin_notifications_plugin.hideUserNotification(); } if($('.notification-plugin-notification-bar [notification-display-popup="true"]').length > 0){ admin_notifications_plugin.showPopup(); } }); })($); |