Skip to content

Commit af5baec

Browse files
authored
Merge pull request #326 from dhingrak/fix-NaN-InvalidEventNumber
fix: invalid event number in the api call
2 parents 2383805 + e5dff4d commit af5baec

File tree

3 files changed

+39
-23
lines changed

3 files changed

+39
-23
lines changed

src/js/modules/streams/controllers/StreamsItemEventCtrl.js

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,15 @@ define(['./_module'], function (app) {
22

33
'use strict';
44

5+
function checkErrorStatus(error, $scope, msg) {
6+
if (error.statusCode === 404 || error.statusCode === 410) {
7+
// Event does not exist so we don't have to show the notification error
8+
9+
} else {
10+
msg.failure('Failed to load event content for stream \'' + $scope.streamId + '\': ' + error.message);
11+
}
12+
}
13+
514
return app.controller('StreamsItemEventCtrl', [
615
'$scope', '$state', '$stateParams', 'StreamsService', 'MessageService',
716
function ($scope, $state, $stateParams, streamsService, msg) {
@@ -21,28 +30,27 @@ define(['./_module'], function (app) {
2130
// if this was a metadata, we do not need to update anything
2231
return;
2332
}
33+
34+
if(data.hasOwnProperty('positionEventNumber') && data.hasOwnProperty('positionStreamId')) {
35+
streamsService.eventContent($scope.streamId, data.positionEventNumber + 1)
36+
.then(function () {
37+
$scope.next = true;
38+
}, function(error){
39+
checkErrorStatus(error, $scope, msg);
40+
});
2441

25-
streamsService.eventContent($scope.streamId, data.positionEventNumber + 1)
26-
.then(function () {
27-
$scope.next = true;
28-
}, function(error){
29-
if(error.statusCode !== 404){
30-
msg.failure('Failed to load event content for stream \'' + $scope.streamId + '\': ' + error.message);
42+
if(data.positionEventNumber - 1 >= 0){
43+
streamsService.eventContent($scope.streamId, data.positionEventNumber - 1)
44+
.then(function () {
45+
$scope.prev = true;
46+
}, function(error){
47+
checkErrorStatus(error, $scope, msg);
48+
});
3149
}
32-
});
33-
34-
if(data.positionEventNumber - 1 >= 0){
35-
streamsService.eventContent($scope.streamId, data.positionEventNumber - 1)
36-
.then(function () {
37-
$scope.prev = true;
38-
}, function(error){
39-
if(error.statusCode !== 404){
40-
msg.failure('Failed to load event content for stream \'' + $scope.streamId + '\': ' + error.message);
41-
}
42-
});
4350
}
51+
4452
}, function(error){
45-
msg.failure('Failed to load event content for stream \'' + $scope.streamId + '\': ' + error.message);
53+
checkErrorStatus(error, $scope, msg);
4654
});
4755
}
4856
]);

src/js/modules/streams/templates/templates.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,13 @@ try {
3030
}
3131
module.run(['$templateCache', function($templateCache) {
3232
$templateCache.put('streams.item.event.tpl.html',
33-
'<header class=page-header><h2 class=page-title>{{ evt.title }} <small ng-if=isNotTheSame>Link from {{ evt.positionEventNumber + \'@\' + evt.positionStreamId }}</small></h2><ul class=page-nav><li class=page-nav__item><a ng-if=evt ui-sref="^.addStreamEvent({ fromEvent: evt })">Add New Like This</a></li><li class=page-nav__item><a ui-sref=^.events>Back</a></li></ul></header><ul class=page-nav style="padding:0rem 0rem 2rem 0rem !important"><li class=page-nav__item><button ng-disabled=!prev ui-sref=".({streamId: evt.streamId, eventNumber: evt.positionEventNumber - 1})">prev</button></li><li class=page-nav__item><button ng-disabled=!next ui-sref=".({streamId: evt.streamId, eventNumber: evt.positionEventNumber + 1})">next</button></li></ul><br><table><thead><tr><th>No</th><th>Stream</th><th>Type</th><th>Timestamp</th></tr></thead><tbody><tr><td>{{ evt.eventNumber }}</td><td><a ui-sref="^.events({streamId: evt.streamId})">{{ evt.streamId }}</a></td><td>{{ evt.eventType }}</td><td>{{ evt.updated | date:\'yyyy-MM-dd HH:mm:ss\'}}</td></tr><tr ng-if="evt.isJson || evt.isMetaData || evt.isLinkMetaData"><td colspan=4><div ng-if=evt.isJson><strong>Data</strong><pre>\n' +
33+
'<header class=page-header><h2 class=page-title>{{ evt.title }} <small ng-if=isNotTheSame>Link from {{ evt.positionEventNumber + \'@\' + evt.positionStreamId }}</small></h2><ul class=page-nav><li class=page-nav__item><a ng-if=evt ui-sref="^.addStreamEvent({ fromEvent: evt })">Add New Like This</a></li><li class=page-nav__item><a ui-sref=^.events>Back</a></li></ul></header><ul class=page-nav style="padding:0rem 0rem 2rem 0rem !important"><li class=page-nav__item><button ng-disabled=!prev ui-sref=".({streamId: evt.streamId, eventNumber: evt.positionEventNumber - 1})">prev</button></li><li class=page-nav__item><button ng-disabled=!next ui-sref=".({streamId: evt.streamId, eventNumber: evt.positionEventNumber + 1})">next</button></li></ul><br><table><thead><tr><th>No</th><th>Stream</th><th>Type</th><th>Timestamp</th></tr></thead><tbody ng-hide=evt.eventNumber><tr><td colspan=5><em>Event does not exist for stream: {{streamId}}</em></td></tr></tbody><tbody ng-show=evt.eventNumber><tr><td>{{ evt.eventNumber }}</td><td><a ui-sref="^.events({streamId: evt.streamId})">{{ evt.streamId }}</a></td><td>{{ evt.eventType }}</td><td>{{ evt.updated | date:\'yyyy-MM-dd HH:mm:ss\'}}</td></tr><tr ng-if="evt.isJson || evt.isMetaData || evt.isLinkMetaData"><td colspan=4><div ng-if=evt.isJson><strong>Data</strong><pre>\n' +
3434
'{{ evt.data }}\n' +
3535
' </pre></div><div ng-if=evt.isMetaData><strong>Metadata</strong><pre>\n' +
3636
'{{ evt.metaData }}\n' +
3737
' </pre></div><div ng-if=evt.isLinkMetaData><strong>Link metadata</strong><pre>\n' +
3838
'{{ evt.content.linkMetaData }}\n' +
39-
' </pre></div></td></tr></tbody><thead><tr><th colspan=4>Internal data</th></tr></thead><tbody><tr><td>EventId</td><td colspan=3>{{ evt.eventId }}</td></tr></tbody></table>');
39+
' </pre></div></td></tr></tbody><thead ng-show=evt.eventNumber><tr><th colspan=4>Internal data</th></tr></thead><tbody ng-show=evt.eventNumber><tr><td>EventId</td><td colspan=3>{{ evt.eventId }}</td></tr></tbody></table>');
4040
}]);
4141
})();
4242

src/js/modules/streams/views/streams.item.event.tpl.html

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,15 @@ <h2 class="page-title">
3131
<th>Timestamp</th>
3232
</tr>
3333
</thead>
34-
<tbody>
34+
<tbody ng-hide="evt.eventNumber">
35+
<tr>
36+
<td colspan="5">
37+
<em>Event does not exist for stream: {{streamId}}
38+
</td>
39+
</tr>
40+
</tbody>
41+
42+
<tbody ng-show="evt.eventNumber">
3543
<tr>
3644
<td>{{ evt.eventNumber }}</td>
3745
<td><a ui-sref="^.events({streamId: evt.streamId})">{{ evt.streamId }}</a></td>
@@ -58,12 +66,12 @@ <h2 class="page-title">
5866
</td>
5967
</tr>
6068
</tbody>
61-
<thead>
69+
<thead ng-show="evt.eventNumber">
6270
<tr>
6371
<th colspan="4">Internal data</th>
6472
</tr>
6573
</thead>
66-
<tbody>
74+
<tbody ng-show="evt.eventNumber">
6775
<tr>
6876
<td>EventId</td>
6977
<td colspan="3">{{ evt.eventId }}</td>

0 commit comments

Comments
 (0)