'use strict'; define( [ 'backbone', 'ProgressMessaging/ProgressMessageModel', 'Shared/Messenger', 'Mixins/backbone.signalr.mixin' ], function (Backbone, ProgressMessageModel, Messenger) { var ProgressMessageCollection = Backbone.Collection.extend({ url : window.ApiRoot + '/progressmessage', model: ProgressMessageModel }); var collection = new ProgressMessageCollection().bindSignalR(); collection.signalRconnection.received(function (message) { var type = getMessengerType(message.status); var hideAfter = type === 'info' ? 60 : 5; Messenger.show({ id : message.commandId, message : message.message, type : type, hideAfter: hideAfter }); }); var getMessengerType = function (status) { switch (status) { case 'completed': return 'success'; case 'failed': return 'error'; default: return 'info'; } }; return collection; });