diff --git a/public/src/modules/taskbar.js b/public/src/modules/taskbar.js index 470b5144b6..e41b287b6b 100644 --- a/public/src/modules/taskbar.js +++ b/public/src/modules/taskbar.js @@ -44,27 +44,35 @@ define('taskbar', function() { }; taskbar.push = function(module, uuid, options) { - var element = taskbar.tasklist.find('li[data-uuid="' + uuid + '"]'); + var data = { + module: module, + uuid: uuid, + options: options + }; + + $(window).trigger('filter:taskbar.push', data); + + var element = taskbar.tasklist.find('li[data-uuid="' + data.uuid + '"]'); if (element.length) { return; } - var title = $('
').text(options.title || 'NodeBB Task').html(); + var title = $('
').text(data.options.title || 'NodeBB Task').html(); var btnEl = $('
  • ') .html('' + - (options.icon ? ' ' : '') + - (options.image ? ' ': '') + + (data.options.icon ? ' ' : '') + + (data.options.image ? ' ': '') + '' + title + '' + '') .attr({ - 'data-module': module, - 'data-uuid': uuid + 'data-module': data.module, + 'data-uuid': data.uuid }) - .addClass(options.state !== undefined ? options.state : 'active'); + .addClass(data.options.state !== undefined ? data.options.state : 'active'); - if (!options.state || options.state === 'active') { + if (!data.options.state || data.options.state === 'active') { minimizeAll(); }