Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@

var environment = {
sc_version: undefined,
minimum_supported_sc_version: "1.23.0",
minimum_supported_sc_version: "1.27.0",
is_compatible_with_sc: true,
sp_version: spVersion
};
Expand Down
12 changes: 10 additions & 2 deletions src/ServicePulse.Host/app/js/services/services.service-control.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@
});
}

function getExceptionGroups() {
var url = uri.join(scConfig.service_control_url, 'recoverability', 'groups');
function getExceptionGroups(classifier) {
var url = uri.join(scConfig.service_control_url, 'recoverability', 'groups', classifier);
return $http.get(url).then(function(response) {
return {
data: response.data
Expand Down Expand Up @@ -96,6 +96,13 @@
});
}

function getExceptionGroupClassifiers() {
var url = uri.join(scConfig.service_control_url, 'recoverability', 'classifiers');
return $http.get(url).then(function (response) {
return response.data;
});
}

function getConfiguration() {
var url = uri.join(scConfig.service_control_url, 'configuration');
return $http.get(url).then(function(response) {
Expand Down Expand Up @@ -255,6 +262,7 @@
getEventLogItems: getEventLogItems,
getFailedMessages: getFailedMessages,
getExceptionGroups: getExceptionGroups,
getExceptionGroupClassifiers: getExceptionGroupClassifiers,
getFailedMessagesForExceptionGroup: getFailedMessagesForExceptionGroup,
getMessageBody: getMessageBody,
getMessageHeaders: getMessageHeaders,
Expand Down
42 changes: 37 additions & 5 deletions src/ServicePulse.Host/app/js/views/failed_groups/controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@

vm.loadingData = false;
vm.exceptionGroups = [];
vm.availableClassifiers = [];
vm.selectedExceptionGroup = {};
vm.allFailedMessagesGroup = { 'id': undefined, 'title': 'All Failed Messages', 'count': 0 }
vm.stats = sharedDataService.getstats();
Expand Down Expand Up @@ -69,10 +70,36 @@
});
}

var autoGetExceptionGroups = function () {
vm.selectClassification = function (newClassification) {
vm.loadingData = true;
vm.selectedClassification = newClassification;

return autoGetExceptionGroups().then(function (result) {
vm.loadingData = false;

return true;
});
};

var initialLoad = function () {
vm.loadingData = true;

serviceControlService.getExceptionGroupClassifiers().then(function (classifiers) {
vm.availableClassifiers = classifiers;
vm.selectedClassification = classifiers[0];

autoGetExceptionGroups().then(function (result) {
vm.loadingData = false;
vm.initialLoadComplete = true;

return true;
});
});
};

var autoGetExceptionGroups = function () {
vm.exceptionGroups = [];
serviceControlService.getExceptionGroups()
return serviceControlService.getExceptionGroups(vm.selectedClassification)
.then(function (response) {
if (response.data.length > 0) {

Expand All @@ -89,15 +116,20 @@
vm.stats.number_of_exception_groups = vm.exceptionGroups.length;
notifier.notify('ExceptionGroupCountUpdated', vm.stats.number_of_exception_groups);
}
vm.loadingData = false;

return true;
});
};

var localtimeout;
var startTimer = function (time) {
time = time || 5000;
localtimeout = $timeout(function () {
autoGetExceptionGroups();
vm.loadingData = true;

autoGetExceptionGroups().then(function (result) {
vm.loadingData = false;
});
}, time);
}

Expand All @@ -116,7 +148,7 @@
}, 'FailedMessageGroupArchived');

// INIT
autoGetExceptionGroups();
initialLoad();
}

controller.$inject = [
Expand Down
19 changes: 17 additions & 2 deletions src/ServicePulse.Host/app/js/views/failed_groups/view.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,24 @@ <h1>Failed Messages</h1>

<no-data ng-show="vm.exceptionGroups.length === 0 && !vm.loadingData" title="message groups" message="There are currently no grouped message failures"></no-data>

<div class="row">
<div class="col-sm-12" ng-show="vm.exceptionGroups.length > 0">
<div class="row" ng-show="vm.availableClassifiers.length && vm.initialLoadComplete">
<div class="col-sm-12">
<div class="btn-group pull-right">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="hidden-xs hidden-sm">Grouped by </span>{{vm.selectedClassification}}
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li ng-repeat="classifier in vm.availableClassifiers">
<a href="javascript://" ng-click="vm.selectClassification(classifier)">{{classifier}}</a>
</li>
</ul>
</div>
</div>
</div>

<div class="row">
<div class="col-sm-12" ng-show="vm.exceptionGroups.length">
<div class="row box wf-{{group.workflow_state.status}} repeat-modify" ng-repeat="group in vm.exceptionGroups">
<div class="col-sm-12">
<div class="row" ng-show="group.workflow_state.status !=='ready'">
Expand Down