12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- <?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 href = this.href;
- var id = this.id.replace("link", "delete");
- require(['elgg/spinner'], function (spinner) {
- elgg.action($('#' + id).prop('href'), {
- beforeSend: spinner.start,
- complete: function() {
- location.href = href;
- }
- });
- });
- return false;
- };
- /**
- * 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);
|