Merge pull request #3323 from FinnStutzenstein/hide-error-on-load
Delay the projector not loaded error.
This commit is contained in:
commit
41ab706939
@ -59,6 +59,8 @@ Core:
|
|||||||
- Highlight list entries in a light blue, if a related object is projected
|
- Highlight list entries in a light blue, if a related object is projected
|
||||||
(e. g. a list of speakers of a motion) [#3301].
|
(e. g. a list of speakers of a motion) [#3301].
|
||||||
- Select the projector resolution with a slider and an aspect ratio [#3311].
|
- Select the projector resolution with a slider and an aspect ratio [#3311].
|
||||||
|
- Delay the 'could not load projector' error 3 seconds to not irritate users
|
||||||
|
with a slow internet connection [#3323]
|
||||||
|
|
||||||
Mediafiles:
|
Mediafiles:
|
||||||
- Fixed reloading of PDF on page change [#3274].
|
- Fixed reloading of PDF on page change [#3274].
|
||||||
|
@ -104,11 +104,12 @@ angular.module('OpenSlidesApp.core.projector', ['OpenSlidesApp.core'])
|
|||||||
// Projector Container Controller
|
// Projector Container Controller
|
||||||
.controller('ProjectorContainerCtrl', [
|
.controller('ProjectorContainerCtrl', [
|
||||||
'$scope',
|
'$scope',
|
||||||
|
'$timeout',
|
||||||
'$location',
|
'$location',
|
||||||
'gettext',
|
'gettext',
|
||||||
'Projector',
|
'Projector',
|
||||||
function($scope, $location, gettext, Projector) {
|
function($scope, $timeout, $location, gettext, Projector) {
|
||||||
$scope.error = '';
|
$scope.showError = true;
|
||||||
|
|
||||||
// watch for changes in Projector
|
// watch for changes in Projector
|
||||||
$scope.$watch(function () {
|
$scope.$watch(function () {
|
||||||
@ -116,13 +117,21 @@ angular.module('OpenSlidesApp.core.projector', ['OpenSlidesApp.core'])
|
|||||||
}, function () {
|
}, function () {
|
||||||
var projector = Projector.get($scope.projectorId);
|
var projector = Projector.get($scope.projectorId);
|
||||||
if (projector) {
|
if (projector) {
|
||||||
$scope.error = '';
|
$scope.showError = false;
|
||||||
$scope.projectorWidth = projector.width;
|
$scope.projectorWidth = projector.width;
|
||||||
$scope.projectorHeight = projector.height;
|
$scope.projectorHeight = projector.height;
|
||||||
$scope.recalculateIframe();
|
$scope.recalculateIframe();
|
||||||
} else {
|
} else {
|
||||||
|
$scope.showError = true;
|
||||||
|
// delay displaying the error message, because with a slow internet
|
||||||
|
// connection, the autoupdate with the projector may be delayed. We
|
||||||
|
// de not want to irritate the user by showing this error to early.
|
||||||
|
$timeout(function () {
|
||||||
|
if ($scope.showError) {
|
||||||
$scope.error = gettext('Can not open the projector.');
|
$scope.error = gettext('Can not open the projector.');
|
||||||
}
|
}
|
||||||
|
}, 3000);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// recalculate the actual Iframesize and scale
|
// recalculate the actual Iframesize and scale
|
||||||
|
@ -38,12 +38,12 @@
|
|||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<div id="iframewrapper" ng-hide="error">
|
<div id="iframewrapper" ng-hide="showError">
|
||||||
<iframe id="iframe" ng-src="{{ '/real-projector/' + projectorId + '/'}}" frameborder="0"></iframe>
|
<iframe id="iframe" ng-src="{{ '/real-projector/' + projectorId + '/'}}" frameborder="0"></iframe>
|
||||||
<div id="iframeoverlay"></div>
|
<div id="iframeoverlay"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="error" ng-show="error">
|
<div class="error" ng-show="showError">
|
||||||
<p>{{ error | translate }}</p>
|
<p>{{ error | translate }}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user