43 lines
1.2 KiB
JavaScript
43 lines
1.2 KiB
JavaScript
'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;
|
||
});
|