setup global ysod overlay + change error model
This commit is contained in:
@@ -158,9 +158,10 @@ function umbRequestHelper($http, $q, umbDataFormatter, angularHelper, dialogServ
|
||||
|
||||
//show a ysod dialog
|
||||
if (Umbraco.Sys.ServerVariables["isDebuggingEnabled"] === true) {
|
||||
dialogService.ysodDialog({
|
||||
errorMsg: result.errorMsg,
|
||||
data: result.data
|
||||
eventsService.emit('app.ysod',
|
||||
{
|
||||
errorMsg: 'An error occured',
|
||||
data: data
|
||||
});
|
||||
}
|
||||
else {
|
||||
@@ -253,8 +254,9 @@ function umbRequestHelper($http, $q, umbDataFormatter, angularHelper, dialogServ
|
||||
}
|
||||
else if (Umbraco.Sys.ServerVariables["isDebuggingEnabled"] === true) {
|
||||
//show a ysod dialog
|
||||
dialogService.ysodDialog({
|
||||
errorMsg: 'An error occurred',
|
||||
eventsService.emit('app.ysod',
|
||||
{
|
||||
errorMsg: 'An error occured',
|
||||
data: data
|
||||
});
|
||||
}
|
||||
|
||||
@@ -118,6 +118,14 @@ function MainController($scope, $rootScope, $location, $routeParams, $timeout, $
|
||||
|
||||
}));
|
||||
|
||||
evts.push(eventsService.on("app.ysod", function(name, error) {
|
||||
$scope.ysodOverlay = {
|
||||
view: "ysod",
|
||||
error: error,
|
||||
show: true
|
||||
};
|
||||
}));
|
||||
|
||||
//ensure to unregister from all events!
|
||||
$scope.$on('$destroy', function () {
|
||||
for (var e in evts) {
|
||||
|
||||
@@ -5,9 +5,9 @@ angular.module("umbraco")
|
||||
$scope.model.title = "Received an error from the server";
|
||||
}
|
||||
|
||||
if ($scope.model.data && $scope.model.data.StackTrace) {
|
||||
if ($scope.model.error && $scope.model.error.data && $scope.model.error.data.StackTrace) {
|
||||
//trim whitespace
|
||||
$scope.model.data.StackTrace = $scope.model.data.StackTrace.trim();
|
||||
$scope.model.error.data.StackTrace = $scope.model.error.data.StackTrace.trim();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
<div ng-controller="Umbraco.Overlays.YsodController">
|
||||
|
||||
<h4 class="heading red">{{model.errorMsg}}</h4>
|
||||
<p>{{model.data.ExceptionMessage || model.data.Message}}</p>
|
||||
<h4 class="heading red">{{model.error.errorMsg}}</h4>
|
||||
<p>{{model.error.data.ExceptionMessage || model.error.data.Message}}</p>
|
||||
|
||||
<div class="umb-control-group">
|
||||
<h5>Exception Details: </h5>
|
||||
{{model.data.ExceptionType}}: {{model.data.ExceptionMessage}}
|
||||
{{model.error.data.ExceptionType}}: {{model.error.data.ExceptionMessage}}
|
||||
</div>
|
||||
|
||||
<div class="umb-control-group">
|
||||
<h5>Stacktrace: </h5>
|
||||
<pre style="white-space: pre-wrap; overflow-x: auto;">{{model.data.StackTrace}}</pre>
|
||||
<pre style="white-space: pre-wrap; overflow-x: auto;">{{model.error.data.StackTrace}}</pre>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -111,8 +111,7 @@ function listViewController($rootScope, $scope, $routeParams, $injector, $cookie
|
||||
// Open ysod overlay
|
||||
$scope.ysodOverlay = {
|
||||
view : "ysod",
|
||||
errorMsg : err.errorMsg,
|
||||
data : err.data,
|
||||
error : err,
|
||||
show : true
|
||||
};
|
||||
}
|
||||
|
||||
@@ -87,5 +87,12 @@
|
||||
@Html.RenderProfiler()
|
||||
}
|
||||
|
||||
<umb-overlay
|
||||
ng-if="ysodOverlay.show"
|
||||
model="ysodOverlay"
|
||||
position="right"
|
||||
view="ysodOverlay.view">
|
||||
</umb-overlay>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user