mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-08 06:01:22 +00:00
GUACAMOLE-723: Display warning icon when background connection disconnects due to an error.
This commit is contained in:
@@ -24,8 +24,12 @@
|
|||||||
*/
|
*/
|
||||||
angular.module('client').directive('guacClientPanel', ['$injector', function guacClientPanel($injector) {
|
angular.module('client').directive('guacClientPanel', ['$injector', function guacClientPanel($injector) {
|
||||||
|
|
||||||
|
// Required services
|
||||||
var sessionStorageFactory = $injector.get('sessionStorageFactory');
|
var sessionStorageFactory = $injector.get('sessionStorageFactory');
|
||||||
|
|
||||||
|
// Required types
|
||||||
|
var ManagedClientState = $injector.get('ManagedClientState');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Getter/setter for the boolean flag controlling whether the client panel
|
* Getter/setter for the boolean flag controlling whether the client panel
|
||||||
* is currently hidden. This flag is maintained in session-local storage to
|
* is currently hidden. This flag is maintained in session-local storage to
|
||||||
@@ -81,6 +85,30 @@ angular.module('client').directive('guacClientPanel', ['$injector', function gua
|
|||||||
return !_.isEmpty($scope.clients);
|
return !_.isEmpty($scope.clients);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns whether the given client has disconnected due to an
|
||||||
|
* error.
|
||||||
|
*
|
||||||
|
* @param {ManagedClient} client
|
||||||
|
* The client to test.
|
||||||
|
*
|
||||||
|
* @returns {Boolean}
|
||||||
|
* true if the given client has disconnected due to an error,
|
||||||
|
* false otherwise.
|
||||||
|
*/
|
||||||
|
$scope.hasError = function hasError(client) {
|
||||||
|
|
||||||
|
// Test whether the client has encountered an error
|
||||||
|
switch (client.clientState.connectionState) {
|
||||||
|
case ManagedClientState.ConnectionState.CONNECTION_ERROR:
|
||||||
|
case ManagedClientState.ConnectionState.TUNNEL_ERROR:
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Toggles whether the client panel is currently hidden.
|
* Toggles whether the client panel is currently hidden.
|
||||||
*/
|
*/
|
||||||
|
@@ -100,6 +100,31 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#other-connections .client-panel-connection::before {
|
||||||
|
|
||||||
|
display: block;
|
||||||
|
content: ' ';
|
||||||
|
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
background: url('images/warning-white.png');
|
||||||
|
background-size: 48px;
|
||||||
|
background-position: center;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
|
||||||
|
opacity: 0;
|
||||||
|
transition: opacity 0.25s;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#other-connections .client-panel-connection.error::before {
|
||||||
|
opacity: 0.75;
|
||||||
|
}
|
||||||
|
|
||||||
#other-connections .client-panel.hidden .client-panel-connection-list {
|
#other-connections .client-panel.hidden .client-panel-connection-list {
|
||||||
/* Hide scrollbar when panel is hidden (will be visible through panel
|
/* Hide scrollbar when panel is hidden (will be visible through panel
|
||||||
* show/hide button otherwise) */
|
* show/hide button otherwise) */
|
||||||
|
@@ -6,7 +6,8 @@
|
|||||||
|
|
||||||
<!-- List of connection thumbnails -->
|
<!-- List of connection thumbnails -->
|
||||||
<ul class="client-panel-connection-list">
|
<ul class="client-panel-connection-list">
|
||||||
<li ng-repeat="client in clients | toArray | orderBy: [ '-value.lastUsed', 'value.title' ]" class="client-panel-connection">
|
<li ng-repeat="client in clients | toArray | orderBy: [ '-value.lastUsed', 'value.title' ]"
|
||||||
|
ng-class="{ 'error' : hasError(client.value) }" class="client-panel-connection">
|
||||||
<a href="#/client/{{client.value.id}}">
|
<a href="#/client/{{client.value.id}}">
|
||||||
<div class="thumbnail">
|
<div class="thumbnail">
|
||||||
<guac-thumbnail client="client.value"></guac-thumbnail>
|
<guac-thumbnail client="client.value"></guac-thumbnail>
|
||||||
|
BIN
guacamole/src/main/webapp/images/warning-white.png
Normal file
BIN
guacamole/src/main/webapp/images/warning-white.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.4 KiB |
Reference in New Issue
Block a user