mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-06 13:17: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
|
* Module for displaying the contents of a connection group, allowing the user
|
||||||
* to select individual connections or groups.
|
* 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.
|
* 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
|
* 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,
|
* 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() {
|
this.getActiveConnections = template.getActiveConnections || (function getActiveConnections() {
|
||||||
return null;
|
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
|
* The connection, connection group, or sharing profile whose data is
|
||||||
* exposed within this GroupListItem. If the type of this GroupListItem
|
* exposed within this GroupListItem. If the type of this GroupListItem
|
||||||
|
@@ -25,7 +25,6 @@ angular.module('home').controller('homeController', ['$scope', '$injector',
|
|||||||
|
|
||||||
// Get required types
|
// Get required types
|
||||||
var ConnectionGroup = $injector.get('ConnectionGroup');
|
var ConnectionGroup = $injector.get('ConnectionGroup');
|
||||||
var ClientIdentifier = $injector.get('ClientIdentifier');
|
|
||||||
var GroupListItem = $injector.get('GroupListItem');
|
var GroupListItem = $injector.get('GroupListItem');
|
||||||
|
|
||||||
// Get required services
|
// 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
|
// Retrieve root groups and all descendants
|
||||||
dataSourceService.apply(
|
dataSourceService.apply(
|
||||||
connectionGroupService.getConnectionGroupTree,
|
connectionGroupService.getConnectionGroupTree,
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
<a class="home-connection"
|
<a class="home-connection"
|
||||||
ng-href="#/client/{{context.getClientIdentifier(item)}}"
|
ng-href="#/client/{{ item.getClientIdentifier() }}"
|
||||||
ng-class="{active: item.getActiveConnections()}">
|
ng-class="{active: item.getActiveConnections()}">
|
||||||
|
|
||||||
<!-- Connection icon -->
|
<!-- Connection icon -->
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
<span class="home-connection-group name">
|
<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 ng-show="!item.balancing">{{item.name}}</span>
|
||||||
</span>
|
</span>
|
||||||
|
@@ -23,7 +23,6 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="all-connections">
|
<div class="all-connections">
|
||||||
<guac-group-list
|
<guac-group-list
|
||||||
context="context"
|
|
||||||
connection-groups="filteredRootConnectionGroups"
|
connection-groups="filteredRootConnectionGroups"
|
||||||
templates="{
|
templates="{
|
||||||
'connection' : 'app/home/templates/connection.html',
|
'connection' : 'app/home/templates/connection.html',
|
||||||
|
Reference in New Issue
Block a user