From 7d5b6c689841e392386c5bfe865025c553aab8df Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Sun, 27 Jun 2021 21:31:02 -0700 Subject: [PATCH] GUACAMOLE-724: Add indicator showing whether a tiled connection is shared. --- .../app/client/directives/guacTiledClients.js | 16 ++++++++++++++++ .../src/app/client/styles/tiled-client-list.css | 9 +++++++++ .../app/client/templates/guacTiledClients.html | 7 +++++-- .../src/main/frontend/src/images/share-white.svg | 1 + 4 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 guacamole/src/main/frontend/src/images/share-white.svg diff --git a/guacamole/src/main/frontend/src/app/client/directives/guacTiledClients.js b/guacamole/src/main/frontend/src/app/client/directives/guacTiledClients.js index b5071bbc2..c9b332421 100644 --- a/guacamole/src/main/frontend/src/app/client/directives/guacTiledClients.js +++ b/guacamole/src/main/frontend/src/app/client/directives/guacTiledClients.js @@ -53,6 +53,7 @@ angular.module('client').directive('guacTiledClients', [function guacTiledClient function guacTiledClientsController($scope, $injector, $element) { // Required types + var ManagedClient = $injector.get('ManagedClient'); var ManagedClientGroup = $injector.get('ManagedClientGroup'); /** @@ -146,6 +147,21 @@ angular.module('client').directive('guacTiledClients', [function guacTiledClient return Math.floor(100 / $scope.clientGroup.rows) + '%'; }; + /** + * Returns whether the given ManagedClient has any associated share + * links. + * + * @param {ManagedClient} client + * The ManagedClient to test. + * + * @returns {Boolean} + * true if the given ManagedClient has at least one associated + * share link, false otherwise. + */ + $scope.isShared = function isShared(client) { + return ManagedClient.isShared(client); + }; + }]; return directive; diff --git a/guacamole/src/main/frontend/src/app/client/styles/tiled-client-list.css b/guacamole/src/main/frontend/src/app/client/styles/tiled-client-list.css index 1b89de080..e62d493b2 100644 --- a/guacamole/src/main/frontend/src/app/client/styles/tiled-client-list.css +++ b/guacamole/src/main/frontend/src/app/client/styles/tiled-client-list.css @@ -58,3 +58,12 @@ .tiled-client-list li.client-tile .main { flex: 1; } + +.tiled-client-list .client-tile-shared-indicator { + display: none; + max-height: 1em; +} + +.tiled-client-list .shared .client-tile-shared-indicator { + display: inline; +} diff --git a/guacamole/src/main/frontend/src/app/client/templates/guacTiledClients.html b/guacamole/src/main/frontend/src/app/client/templates/guacTiledClients.html index f12094f8f..933e3d8ee 100644 --- a/guacamole/src/main/frontend/src/app/client/templates/guacTiledClients.html +++ b/guacamole/src/main/frontend/src/app/client/templates/guacTiledClients.html @@ -3,10 +3,13 @@
  • -

    {{ client.title }}

    +

    {{ client.title }}

    diff --git a/guacamole/src/main/frontend/src/images/share-white.svg b/guacamole/src/main/frontend/src/images/share-white.svg new file mode 100644 index 000000000..3f103536e --- /dev/null +++ b/guacamole/src/main/frontend/src/images/share-white.svg @@ -0,0 +1 @@ + \ No newline at end of file