- Allow for messenger text to be escaped. Off by default
- Allow for customization of the text in the close button
- Fix a bug with passing options to
Messenger()
, and subsequent updates made byrun
not respecting those options
- Remove promise method pass-through
- Add type aliases
- Fix bug with jQuery 1.6 support
- Fix bug in how retry works
- Fix bug in how success/error handlers are called
- Add the
expectPromise
method which accepts a function which will return a promise, and a message options hash, and callsrun
. - Add the
returnsPromise
option torun
which will expect itsaction
to return a promise object, rather than using success and error callbacks. The promises can reject or resolve to change the messages shown just as the callbacks can. You should wrap the promise returned with apipe
like function to mutate the returned values before they reach Messenger. - successMessage, errorMessage and progressMessage can now be functions.
- Action handlers are now called with the context of the message they are actions of.
- Add support for returning message options objects from
Messenger.run
success and error handlers. This could be a breaking change for clients who are inadvertantly returning objects from handlers (easy to do in CoffeeScript), as Messenger will interpret any object returned from a handler as being config for the message.
- Prefix first, last and shown css classes, changing them to messenger-first, messenger-last, and messenger-shown.
- Fixed an error when Messenger was used without shims
- Removed dependencies on Underscore and Backbone.
- Add src/js/shim.js which includes cutdown versions of some Underscore functions and Backbone's event handling. It is included automatically in messenger.js and messenger.min.js. This file can be safely excluded in environments with Backbone and Underscore, but support for that is not yet in the build system.
- Add src/js/preboot.js which needs to be included before the main messenger file. It is included automatically in messenger.js and messenger.min.js.
- Internal references to Messenger will now function correctly when the Messenger object has been noConflicted.
- Message strings (as opposed to full objects) can now be passed into message.update.
- Added
ajax
alias forrun
with$.ajax
as the action. This is essentially identical to the default behavior, but is useful to those who wish to be more explicit. message.retry.allow
can now be set to an integer representing the number of retries to be permitted.message.retry.delay
now works as expected with non-integer delays.- Bugfixes surrounding how
do
/run
retries things.
- Added global Messenger object which can be removed with
Messenger.noConflict()
. The Messenger object will provide a container other than the jQuery object for messenger externals. Messenger
may also be called to provide the same functionality as$.globalMessenger
.- Messenger default options may now be set on
window.Messenger.options
as well as$._messengerDefaults
. - The current instance of ActionMessenger which will be used by
Messenger()
/$.globalMessenger
calls is now accessable aswindow.Messenger.instance
, not$._messengerInstance
. - Added
run
alias fordo
. This change makes it easier for developers writing js. In JavaScript,do
, being a reserved word, always had to be referenced using array notation, this provides a way around that limitation. - Created common way for themes to define extra JavaScript. Themes can now define their
own Messenger and/or Message objects in the
window.Messenger.themes.<theme_name>
object. If the theme name is provided in the options to globalMessenger asoptions.theme
, the defined classes will be used. As the theme now has to be passed in as a seperate option, themessenger-theme-x
class will now be automatically added, and does not need to be provided in extraClasses. MagicMessage
has been renamedRetryingMessage
.- The base classes
Message
andMessenger
have been renamed_Message
and_Messenger
to signify that they are only for the internal structuring of the code, and not expected to be used directly. - Messenger now exposes
ActionMessenger
(asMessenger
) andRetryingMessage
(asMessage
) for use by themes which wish to extend them.