123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- <?php
- /**
- * site notifications JavaScript
- */
- ?>
- elgg.provide('elgg.site_notifications');
- elgg.site_notifications.init = function() {
- $('.site-notifications-delete').live('click', elgg.site_notifications.delete);
- $('.site-notifications-link').live('click', elgg.site_notifications.auto_delete);
- $('#site-notifications-toggle').live('click', elgg.site_notifications.toggle_all);
- };
- /**
- * Delete notification asynchronously when delete button clicked
- *
- * @param {Object} event
- *
- * @return void
- */
- elgg.site_notifications.delete = function(event) {
-
- var $item = $(this).closest('.elgg-item');
- $item.slideToggle('medium');
- elgg.action($(this).attr('href'), {
- success: function(json) {
- if (json.system_messages.error.length) {
- // Something went wrong, so undo the optimistic changes
- $item.slideToggle('medium');
- }
- },
- error: function() {
- // Something went wrong, so undo the optimistic changes
- $item.slideToggle('medium');
- }
- });
- event.preventDefault();
- }
- /**
- * Delete notification for this link
- *
- * @param {Object} event
- *
- * @return void
- */
- elgg.site_notifications.auto_delete = function(event) {
- var id = $(this).attr('id');
- id = id.replace("link", "delete");
- elgg.action($('#' + id).attr('href'), {});
- }
- /**
- * Toggle the checkboxes in the site notification listing
- *
- * @return void
- */
- elgg.site_notifications.toggle_all = function() {
- $('.site-notifications-container input[type=checkbox]').click();
- };
- elgg.register_hook_handler('init', 'system', elgg.site_notifications.init);
|