define(function(require, exports, module) { "use strict"; main.consumes = ["Plugin", "ui", "metrics", "dialog.error"]; main.provides = ["dialog.info"]; return main; function main(options, imports, register) { var Plugin = imports.Plugin; var plugin = new Plugin("Ajax.org", main.consumes); var error = imports["dialog.error"]; function show(message, timeout) { var visible = error.visible; if (visible && visible.indexOf("infolabel") === -1) { return -1; // already showing error instead } var options = typeof message === "string" ? { message: message } : message; options.className = "infolabel"; options.noError = true; return error.show(options, timeout); } /** * Show error messages to the user * * This plugin provides a way to display error messages to the user. * * @singleton **/ plugin.freezePublicAPI({ /** * Displays an info message in the main info reporting UI. * @param {String} message The message to display. * @param {Number} [timeout] A custom timeout for this error to hide, or -1 for no hiding. * @returns a cookie for use with hide() */ show: show, /** * Hides the main error reporting UI. * * @param [cookie] A cookie indicating the popup to hide */ hide: error.hide.bind(error), }); register(null, { "dialog.info" : plugin }); } });