Added Restart Device functionality.

Added device status to Fatal Message modal.
Added auto-reconnect to Fatal Message modal.
This commit is contained in:
Gunther Brunner
2014-06-19 21:13:20 +09:00
parent 694d621794
commit aebeb4d357
5 changed files with 47 additions and 25 deletions

View File

@@ -1,6 +1,7 @@
module.exports = function FatalMessageServiceFactory($modal, $location, $route) {
module.exports = function FatalMessageServiceFactory($modal, $location, $route, $interval) {
var FatalMessageService = {}
var intervalDeviceInfo
var ModalInstanceCtrl = function ($scope, $modalInstance, device) {
$scope.ok = function () {
@@ -9,6 +10,18 @@ module.exports = function FatalMessageServiceFactory($modal, $location, $route)
//$location.path('/control/' + device.serial)
}
// TODO: this is ugly, find why its not updated correctly (also on the device list)
intervalDeviceInfo = $interval(function () {
$scope.device = device
if (device.usable) {
// Try to reconnect
$scope.ok()
}
}, 1000, 500)
$scope.device = device
$scope.second = function () {
$modalInstance.dismiss()
$location.path('/devices/')
@@ -17,6 +30,17 @@ module.exports = function FatalMessageServiceFactory($modal, $location, $route)
$scope.cancel = function () {
$modalInstance.dismiss('cancel')
}
var destroyInterval = function () {
if (angular.isDefined(intervalDeviceInfo)) {
$interval.cancel(intervalDeviceInfo)
intervalDeviceInfo = undefined
}
}
$scope.$on('$destroy', function () {
destroyInterval()
})
}
FatalMessageService.open = function (device) {
@@ -24,11 +48,13 @@ module.exports = function FatalMessageServiceFactory($modal, $location, $route)
template: require('./fatal-message.jade'),
controller: ModalInstanceCtrl,
resolve: {
device: device
device: function () {
return device
}
}
})
modalInstance.result.then(function (selectedItem) {
modalInstance.result.then(function () {
}, function () {
})

View File

@@ -4,8 +4,13 @@
h4.modal-title.text-danger
i.fa.fa-warning
.button-spacer
span(translate) Device was disconnected
.modal-body.text-danger(translate) You are no longer controlling the device.
span(translate) {{ device.enhancedName }} was disconnected
.modal-body
.text-danger(translate) You are no longer controlling the device.
br
h4(translate).pull-right {{ device.enhancedName }} current status:
//span(ng-class='device.enhancedButtonClass').btn.btn-xs.device-status {{device.enhancedState }}
span {{ device.enhancedState }}
.modal-footer
button.btn.btn-primary(type='button', ng-click='ok()')
i.fa.fa-refresh
@@ -13,18 +18,3 @@
button.btn.btn-success(ng-click='second()')
i.fa.fa-sitemap
span(translate) Go to Device List
//button.btn.btn-warning(ng-click='cancel()') Close
//'<div class="modal-header dialog-header-error">
// <button type="button" class="close" ng-click="close()">&times;</button>
// <h4 class="modal-title text-danger">
// <span class="glyphicon glyphicon-warning-sign"></span>
// <span ng-bind-html="header"></span>
// </h4>
//</div>
//
//<div class="modal-body text-danger" ng-bind-html="msg"></div>
//<div class="modal-footer">
// <button type="button" class="btn btn-default" ng-click="close()">
//'+startSym+'"DIALOGS_CLOSE" | translate'+endSym+'</button>
//</div>'