mirror of
				https://github.com/gyurix1968/guacamole-client.git
				synced 2025-10-31 00:53:21 +00:00 
			
		
		
		
	GUACAMOLE-338: Allow guacGroupList and guacGroupListFilter to accept GroupListItems in addition to ConnectionGroups.
This commit is contained in:
		| @@ -32,7 +32,7 @@ angular.module('groupList').directive('guacGroupList', [function guacGroupList() | ||||
|              * The connection groups to display as a map of data source | ||||
|              * identifier to corresponding root group. | ||||
|              * | ||||
|              * @type Object.<String, ConnectionGroup> | ||||
|              * @type Object.<String, ConnectionGroup|GroupListItem> | ||||
|              */ | ||||
|             connectionGroups : '=', | ||||
|  | ||||
| @@ -167,15 +167,23 @@ angular.module('groupList').directive('guacGroupList', [function guacGroupList() | ||||
|                     // Add each provided connection group | ||||
|                     angular.forEach(connectionGroups, function addConnectionGroup(connectionGroup, dataSource) { | ||||
|  | ||||
|                         var rootItem; | ||||
|  | ||||
|                         // Prepare data source for active connection counting | ||||
|                         dataSources.push(dataSource); | ||||
|                         connectionCount[dataSource] = {}; | ||||
|  | ||||
|                         // If the provided connection group is already a | ||||
|                         // GroupListItem, no need to create a new item | ||||
|                         if (connectionGroup instanceof GroupListItem) | ||||
|                             rootItem = connectionGroup; | ||||
|  | ||||
|                         // Create root item for current connection group | ||||
|                         var rootItem = GroupListItem.fromConnectionGroup(dataSource, connectionGroup, | ||||
|                             $scope.isVisible(GroupListItem.Type.CONNECTION), | ||||
|                             $scope.isVisible(GroupListItem.Type.SHARING_PROFILE), | ||||
|                             countActiveConnections); | ||||
|                         else | ||||
|                             rootItem = GroupListItem.fromConnectionGroup(dataSource, connectionGroup, | ||||
|                                 $scope.isVisible(GroupListItem.Type.CONNECTION), | ||||
|                                 $scope.isVisible(GroupListItem.Type.SHARING_PROFILE), | ||||
|                                 countActiveConnections); | ||||
|  | ||||
|                         // If root group is to be shown, add it as a root item | ||||
|                         if ($scope.showRootGroup) | ||||
|   | ||||
| @@ -49,7 +49,7 @@ angular.module('groupList').directive('guacGroupListFilter', [function guacGroup | ||||
|              * identifier to corresponding root group. A subset of this map | ||||
|              * will be exposed as filteredConnectionGroups. | ||||
|              * | ||||
|              * @type Object.<String, ConnectionGroup> | ||||
|              * @type Object.<String, ConnectionGroup|GroupListItem> | ||||
|              */ | ||||
|             connectionGroups : '&', | ||||
|  | ||||
| @@ -81,6 +81,7 @@ angular.module('groupList').directive('guacGroupListFilter', [function guacGroup | ||||
|             // Required types | ||||
|             var ConnectionGroup = $injector.get('ConnectionGroup'); | ||||
|             var FilterPattern   = $injector.get('FilterPattern'); | ||||
|             var GroupListItem   = $injector.get('GroupListItem'); | ||||
|  | ||||
|             /** | ||||
|              * The pattern object to use when filtering connections. | ||||
| @@ -176,6 +177,10 @@ angular.module('groupList').directive('guacGroupListFilter', [function guacGroup | ||||
|                 if (connectionGroups) { | ||||
|                     angular.forEach(connectionGroups, function updateFilteredConnectionGroup(connectionGroup, dataSource) { | ||||
|  | ||||
|                         // Unwrap GroupListItem | ||||
|                         if (connectionGroup instanceof GroupListItem) | ||||
|                             connectionGroup = connectionGroup.wrappedItem; | ||||
|  | ||||
|                         // Flatten hierarchy of connection group | ||||
|                         var filteredGroup = flattenConnectionGroup(connectionGroup); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user