diff --git a/res/app/components/stf/common-ui/modals/fatal-message/fatal-message-service.js b/res/app/components/stf/common-ui/modals/fatal-message/fatal-message-service.js index d6165ddc..38e21aa9 100644 --- a/res/app/components/stf/common-ui/modals/fatal-message/fatal-message-service.js +++ b/res/app/components/stf/common-ui/modals/fatal-message/fatal-message-service.js @@ -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 () { }) diff --git a/res/app/components/stf/common-ui/modals/fatal-message/fatal-message.jade b/res/app/components/stf/common-ui/modals/fatal-message/fatal-message.jade index 31a6f8d5..49bbf965 100644 --- a/res/app/components/stf/common-ui/modals/fatal-message/fatal-message.jade +++ b/res/app/components/stf/common-ui/modals/fatal-message/fatal-message.jade @@ -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 - - //'