Ext.namespace('Zarafa.core.ui.notifier'); /** * @class Zarafa.core.ui.notifier.ToolbarNotifierPlugin * @extends Zarafa.core.ui.notifier.NotifyPlugin * * Special {@link Zarafa.core.ui.notifier.NotifyPlugin NotifyPlugin} which shows * notification messages inside {@link Ext.Toolbar Toolbar}. This plugin * will be registered to the {@link Zarafa.core.ui.notifier.Notifier notifier} using * the name 'toolbarnotifierplugin'. */ Zarafa.core.ui.notifier.ToolbarNotifierPlugin = Ext.extend(Zarafa.core.ui.notifier.NotifyPlugin, { /** * Send a notification to the user. This {@link #getPlugin requests} the plugin for the provided category. * On the plugin the {@link Zarafa.core.ui.notifier.NotifyPlugin#notify notify} function is called to display * the message to the user. If no plugin could be found for * the given category, then no message will be shown to the user. * * @param {String} category The category which applies to the notification. * @param {String} message The message which should be displayed. * @param {Object} config Configuration object which can be applied to the notifier * This object can contain keys like: * - toolbar: {@link Ext.Toolbar Toolbar} in which notification message will be added, * notification message will be added at right most of the toolbar. */ notify : function(category, message, config) { if(category == 'info.mailsaving' || category == 'info.mailsaved') { if (config.toolbar) { if(!config.toolbar.saveMessageText) { var addInfoText = [{ xtype: 'tbfill' }, { xtype : 'tbtext', autoWidth : true, ref: 'saveMessageText' }]; config.toolbar.add(addInfoText); config.toolbar.doLayout(); } config.toolbar.saveMessageText.setText(message); } } Zarafa.core.ui.notifier.ToolbarNotifierPlugin.superclass.notify.apply(this, arguments); } }); Zarafa.onReady(function() { container.getNotifier().registerPlugin('toolbarnotifierplugin', new Zarafa.core.ui.notifier.ToolbarNotifierPlugin()); });