mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-07 05:31:22 +00:00
Ticket #268: Add pagination for connections.
This commit is contained in:
@@ -77,6 +77,9 @@
|
|||||||
<div id="connection-list">
|
<div id="connection-list">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div id="connection-list-buttons">
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@@ -22,23 +22,23 @@
|
|||||||
*/
|
*/
|
||||||
var GuacAdmin = {
|
var GuacAdmin = {
|
||||||
|
|
||||||
"lists" : {
|
"containers" : {
|
||||||
"connection_list" : document.getElementById("connection-list"),
|
"connection_list" : document.getElementById("connection-list"),
|
||||||
"user_list" : document.getElementById("user-list")
|
"user_list" : document.getElementById("user-list"),
|
||||||
|
"user_list_buttons" : document.getElementById("user-list-buttons"),
|
||||||
|
"connection_list_buttons" : document.getElementById("connection-list-buttons")
|
||||||
},
|
},
|
||||||
|
|
||||||
"user_list_buttons" : document.getElementById("user-list-buttons"),
|
|
||||||
|
|
||||||
"buttons" : {
|
"buttons" : {
|
||||||
"back" : document.getElementById("back"),
|
"back" : document.getElementById("back"),
|
||||||
"logout" : document.getElementById("logout"),
|
"logout" : document.getElementById("logout"),
|
||||||
"add_connection" : document.getElementById("add-connection"),
|
"add_connection" : document.getElementById("add-connection"),
|
||||||
"add_user" : document.getElementById("add-user")
|
"add_user" : document.getElementById("add-user")
|
||||||
},
|
},
|
||||||
|
|
||||||
"fields" : {
|
"fields" : {
|
||||||
"connection_id" : document.getElementById("connection-id"),
|
"connection_id" : document.getElementById("connection-id"),
|
||||||
"username" : document.getElementById("username")
|
"username" : document.getElementById("username")
|
||||||
},
|
},
|
||||||
|
|
||||||
"cached_permissions" : null,
|
"cached_permissions" : null,
|
||||||
@@ -530,7 +530,7 @@ GuacAdmin.addUser = function(name) {
|
|||||||
|
|
||||||
// Deselect
|
// Deselect
|
||||||
function deselect() {
|
function deselect() {
|
||||||
GuacUI.removeClass(GuacAdmin.lists.user_list, "disabled");
|
GuacUI.removeClass(GuacAdmin.containers.user_list, "disabled");
|
||||||
GuacUI.removeClass(item_element, "selected");
|
GuacUI.removeClass(item_element, "selected");
|
||||||
item_element.removeChild(form_element);
|
item_element.removeChild(form_element);
|
||||||
GuacAdmin.selected_user = null;
|
GuacAdmin.selected_user = null;
|
||||||
@@ -538,7 +538,7 @@ GuacAdmin.addUser = function(name) {
|
|||||||
|
|
||||||
// Select
|
// Select
|
||||||
function select() {
|
function select() {
|
||||||
GuacUI.addClass(GuacAdmin.lists.user_list, "disabled");
|
GuacUI.addClass(GuacAdmin.containers.user_list, "disabled");
|
||||||
GuacUI.addClass(item_element, "selected");
|
GuacUI.addClass(item_element, "selected");
|
||||||
item_element.appendChild(form_element);
|
item_element.appendChild(form_element);
|
||||||
}
|
}
|
||||||
@@ -685,6 +685,11 @@ GuacAdmin.addUser = function(name) {
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Currently-defined pager for connections, if any.
|
||||||
|
*/
|
||||||
|
GuacAdmin.connectionPager = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds the given connection to the displayed connection list.
|
* Adds the given connection to the displayed connection list.
|
||||||
*/
|
*/
|
||||||
@@ -692,7 +697,7 @@ GuacAdmin.addConnection = function(connection) {
|
|||||||
|
|
||||||
var item = new GuacAdmin.ListItem("connection", connection.id);
|
var item = new GuacAdmin.ListItem("connection", connection.id);
|
||||||
var item_element = item.getElement();
|
var item_element = item.getElement();
|
||||||
GuacAdmin.lists.connection_list.appendChild(item_element);
|
GuacAdmin.connectionPager.addElement(item_element);
|
||||||
|
|
||||||
item_element.onclick = function() {
|
item_element.onclick = function() {
|
||||||
|
|
||||||
@@ -796,7 +801,7 @@ GuacAdmin.addConnection = function(connection) {
|
|||||||
|
|
||||||
// Deselect
|
// Deselect
|
||||||
function deselect() {
|
function deselect() {
|
||||||
GuacUI.removeClass(GuacAdmin.lists.connection_list, "disabled");
|
GuacUI.removeClass(GuacAdmin.containers.connection_list, "disabled");
|
||||||
GuacUI.removeClass(item_element, "selected");
|
GuacUI.removeClass(item_element, "selected");
|
||||||
item_element.removeChild(form_element);
|
item_element.removeChild(form_element);
|
||||||
GuacAdmin.selected_connection = null;
|
GuacAdmin.selected_connection = null;
|
||||||
@@ -804,7 +809,7 @@ GuacAdmin.addConnection = function(connection) {
|
|||||||
|
|
||||||
// Select
|
// Select
|
||||||
function select() {
|
function select() {
|
||||||
GuacUI.addClass(GuacAdmin.lists.connection_list, "disabled");
|
GuacUI.addClass(GuacAdmin.containers.connection_list, "disabled");
|
||||||
GuacUI.addClass(item_element, "selected");
|
GuacUI.addClass(item_element, "selected");
|
||||||
item_element.appendChild(form_element);
|
item_element.appendChild(form_element);
|
||||||
}
|
}
|
||||||
@@ -1031,17 +1036,17 @@ GuacAdmin.reset = function() {
|
|||||||
user_previous_page = GuacAdmin.userPager.current_page;
|
user_previous_page = GuacAdmin.userPager.current_page;
|
||||||
|
|
||||||
// Add new pager
|
// Add new pager
|
||||||
GuacAdmin.lists.user_list.innerHTML = "";
|
GuacAdmin.containers.user_list.innerHTML = "";
|
||||||
GuacAdmin.userPager = new GuacAdmin.Pager(GuacAdmin.lists.user_list);
|
GuacAdmin.userPager = new GuacAdmin.Pager(GuacAdmin.containers.user_list);
|
||||||
|
|
||||||
// Add users to pager
|
// Add users to pager
|
||||||
for (var name in GuacAdmin.cached_permissions.read_user)
|
for (var name in GuacAdmin.cached_permissions.read_user)
|
||||||
GuacAdmin.addUser(name)
|
GuacAdmin.addUser(name)
|
||||||
|
|
||||||
// If more than one page, add navigation buttons
|
// If more than one page, add navigation buttons
|
||||||
GuacAdmin.user_list_buttons.innerHTML = "";
|
GuacAdmin.containers.user_list_buttons.innerHTML = "";
|
||||||
if (GuacAdmin.userPager.last_page != 0)
|
if (GuacAdmin.userPager.last_page != 0)
|
||||||
GuacAdmin.user_list_buttons.appendChild(GuacAdmin.userPager.getElement());
|
GuacAdmin.containers.user_list_buttons.appendChild(GuacAdmin.userPager.getElement());
|
||||||
|
|
||||||
// Set starting page
|
// Set starting page
|
||||||
GuacAdmin.userPager.setPage(Math.min(GuacAdmin.userPager.last_page,
|
GuacAdmin.userPager.setPage(Math.min(GuacAdmin.userPager.last_page,
|
||||||
@@ -1051,10 +1056,29 @@ GuacAdmin.reset = function() {
|
|||||||
* Add readable connections.
|
* Add readable connections.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
GuacAdmin.lists.connection_list.innerHTML = "";
|
// Get previous page, if any
|
||||||
|
var connection_previous_page = 0;
|
||||||
|
if (GuacAdmin.connectionPager)
|
||||||
|
connection_previous_page = GuacAdmin.connectionPager.current_page;
|
||||||
|
|
||||||
|
// Add new pager
|
||||||
|
GuacAdmin.containers.connection_list.innerHTML = "";
|
||||||
|
GuacAdmin.connectionPager = new GuacAdmin.Pager(GuacAdmin.containers.connection_list);
|
||||||
|
|
||||||
|
// Add connections to pager
|
||||||
for (var i=0; i<GuacAdmin.cached_connections.length; i++)
|
for (var i=0; i<GuacAdmin.cached_connections.length; i++)
|
||||||
GuacAdmin.addConnection(GuacAdmin.cached_connections[i]);
|
GuacAdmin.addConnection(GuacAdmin.cached_connections[i]);
|
||||||
|
|
||||||
|
// If more than one page, add navigation buttons
|
||||||
|
GuacAdmin.containers.connection_list_buttons.innerHTML = "";
|
||||||
|
if (GuacAdmin.connectionPager.last_page != 0)
|
||||||
|
GuacAdmin.containers.connection_list_buttons.appendChild(
|
||||||
|
GuacAdmin.connectionPager.getElement());
|
||||||
|
|
||||||
|
// Set starting page
|
||||||
|
GuacAdmin.connectionPager.setPage(Math.min(GuacAdmin.connectionPager.last_page,
|
||||||
|
connection_previous_page));
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Initial load
|
// Initial load
|
||||||
|
Reference in New Issue
Block a user