mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-06 05:07:41 +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