mirror of
				https://github.com/gyurix1968/guacamole-client.git
				synced 2025-10-31 00:53:21 +00:00 
			
		
		
		
	GUACAMOLE-723: Move getClientIdentifier() to GroupListItem for convenience of other uses of the guacGroupList directive.
This commit is contained in:
		| @@ -21,4 +21,8 @@ | ||||
|  * Module for displaying the contents of a connection group, allowing the user | ||||
|  * to select individual connections or groups. | ||||
|  */ | ||||
| angular.module('groupList', ['list', 'rest']); | ||||
| angular.module('groupList', [ | ||||
|     'navigation', | ||||
|     'list', | ||||
|     'rest' | ||||
| ]); | ||||
|   | ||||
| @@ -20,7 +20,11 @@ | ||||
| /** | ||||
|  * Provides the GroupListItem class definition. | ||||
|  */ | ||||
| angular.module('groupList').factory('GroupListItem', ['ConnectionGroup', function defineGroupListItem(ConnectionGroup) { | ||||
| angular.module('groupList').factory('GroupListItem', ['$injector', function defineGroupListItem($injector) { | ||||
|  | ||||
|     // Required types | ||||
|     var ClientIdentifier = $injector.get('ClientIdentifier'); | ||||
|     var ConnectionGroup  = $injector.get('ConnectionGroup'); | ||||
|  | ||||
|     /** | ||||
|      * Creates a new GroupListItem, initializing the properties of that | ||||
| @@ -109,14 +113,50 @@ angular.module('groupList').factory('GroupListItem', ['ConnectionGroup', functio | ||||
|  | ||||
|         /** | ||||
|          * Returns the number of currently active users for this connection, | ||||
|          * connection group, or sharing profile, if known. | ||||
|          * connection group, or sharing profile, if known. If unknown, null may | ||||
|          * be returned. | ||||
|          *  | ||||
|          * @type Number | ||||
|          * @returns {Number} | ||||
|          *     The number of currently active users for this connection, | ||||
|          *     connection group, or sharing profile. | ||||
|          */ | ||||
|         this.getActiveConnections = template.getActiveConnections || (function getActiveConnections() { | ||||
|             return null; | ||||
|         }); | ||||
|  | ||||
|         /** | ||||
|          * Returns the unique string identifier that must be used when | ||||
|          * connecting to a connection or connection group represented by this | ||||
|          * GroupListItem. | ||||
|          * | ||||
|          * @returns {String} | ||||
|          *     The client identifier associated with the connection or | ||||
|          *     connection group represented by this GroupListItem, or null if | ||||
|          *     this GroupListItem cannot have an associated client identifier. | ||||
|          */ | ||||
|         this.getClientIdentifier = template.getClientIdentifier || function getClientIdentifier() { | ||||
|  | ||||
|             // If the item is a connection, generate a connection identifier | ||||
|             if (this.type === GroupListItem.Type.CONNECTION) | ||||
|                 return ClientIdentifier.toString({ | ||||
|                     dataSource : this.dataSource, | ||||
|                     type       : ClientIdentifier.Types.CONNECTION, | ||||
|                     id         : this.identifier | ||||
|                 }); | ||||
|  | ||||
|             // If the item is a connection group, generate a connection group identifier | ||||
|             if (this.type === GroupListItem.Type.CONNECTION_GROUP) | ||||
|                 return ClientIdentifier.toString({ | ||||
|                     dataSource : this.dataSource, | ||||
|                     type       : ClientIdentifier.Types.CONNECTION_GROUP, | ||||
|                     id         : this.identifier | ||||
|                 }); | ||||
|  | ||||
|             // Otherwise, no such identifier can exist | ||||
|             return null; | ||||
|  | ||||
|         }; | ||||
|  | ||||
|         /** | ||||
|          * The connection, connection group, or sharing profile whose data is | ||||
|          * exposed within this GroupListItem. If the type of this GroupListItem | ||||
|   | ||||
| @@ -25,7 +25,6 @@ angular.module('home').controller('homeController', ['$scope', '$injector', | ||||
|  | ||||
|     // Get required types | ||||
|     var ConnectionGroup  = $injector.get('ConnectionGroup'); | ||||
|     var ClientIdentifier = $injector.get('ClientIdentifier'); | ||||
|     var GroupListItem    = $injector.get('GroupListItem'); | ||||
|              | ||||
|     // Get required services | ||||
| @@ -74,51 +73,6 @@ angular.module('home').controller('homeController', ['$scope', '$injector', | ||||
|  | ||||
|     }; | ||||
|  | ||||
|     /** | ||||
|      * Object passed to the guacGroupList directive, providing context-specific | ||||
|      * functions or data. | ||||
|      */ | ||||
|     $scope.context = { | ||||
|  | ||||
|         /** | ||||
|          * Returns the unique string identifier which must be used when | ||||
|          * connecting to a connection or connection group represented by the | ||||
|          * given GroupListItem. | ||||
|          * | ||||
|          * @param {GroupListItem} item | ||||
|          *     The GroupListItem to determine the client identifier of. | ||||
|          * | ||||
|          * @returns {String} | ||||
|          *     The client identifier associated with the connection or | ||||
|          *     connection group represented by the given GroupListItem, or null | ||||
|          *     if the GroupListItem cannot have an associated client | ||||
|          *     identifier. | ||||
|          */ | ||||
|         getClientIdentifier : function getClientIdentifier(item) { | ||||
|  | ||||
|             // If the item is a connection, generate a connection identifier | ||||
|             if (item.type === GroupListItem.Type.CONNECTION) | ||||
|                 return ClientIdentifier.toString({ | ||||
|                     dataSource : item.dataSource, | ||||
|                     type       : ClientIdentifier.Types.CONNECTION, | ||||
|                     id         : item.identifier | ||||
|                 }); | ||||
|  | ||||
|             // If the item is a connection group, generate a connection group identifier | ||||
|             if (item.type === GroupListItem.Type.CONNECTION_GROUP) | ||||
|                 return ClientIdentifier.toString({ | ||||
|                     dataSource : item.dataSource, | ||||
|                     type       : ClientIdentifier.Types.CONNECTION_GROUP, | ||||
|                     id         : item.identifier | ||||
|                 }); | ||||
|  | ||||
|             // Otherwise, no such identifier can exist | ||||
|             return null; | ||||
|  | ||||
|         } | ||||
|  | ||||
|     }; | ||||
|  | ||||
|     // Retrieve root groups and all descendants | ||||
|     dataSourceService.apply( | ||||
|         connectionGroupService.getConnectionGroupTree, | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <a class="home-connection" | ||||
|    ng-href="#/client/{{context.getClientIdentifier(item)}}" | ||||
|    ng-href="#/client/{{ item.getClientIdentifier() }}" | ||||
|    ng-class="{active: item.getActiveConnections()}"> | ||||
|  | ||||
|     <!-- Connection icon --> | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| <span class="home-connection-group name"> | ||||
|     <a ng-show="item.balancing" ng-href="#/client/{{context.getClientIdentifier(item)}}">{{item.name}}</a> | ||||
|     <a ng-show="item.balancing" ng-href="#/client/{{ getClientIdentifier() }}">{{item.name}}</a> | ||||
|     <span ng-show="!item.balancing">{{item.name}}</span> | ||||
| </span> | ||||
|   | ||||
| @@ -23,7 +23,6 @@ | ||||
|         </div> | ||||
|         <div class="all-connections"> | ||||
|             <guac-group-list | ||||
|                 context="context" | ||||
|                 connection-groups="filteredRootConnectionGroups" | ||||
|                 templates="{ | ||||
|                     'connection'       : 'app/home/templates/connection.html', | ||||
|   | ||||
		Reference in New Issue
	
	Block a user