This is an automated email from the ASF dual-hosted git repository.

ocket8888 pushed a commit to branch 5.1.x
in repository https://gitbox.apache.org/repos/asf/trafficcontrol.git


The following commit(s) were added to refs/heads/5.1.x by this push:
     new 70b0e7e  Fixes click functions on server ip addresses in the server 
table (#5519)
70b0e7e is described below

commit 70b0e7e6b127047819d74c3309bcf38e57e3945b
Author: Jeremy Mitchell <[email protected]>
AuthorDate: Tue Feb 16 13:25:03 2021 -0700

    Fixes click functions on server ip addresses in the server table (#5519)
    
    * on server ip click do not navigate to server detail page
    
    * adds SSHCellRenderer to the appropriate server fields
    
    * changes ilo ip to use https rather than ssh
    
    * fixes case
    
    * adds changelog entry
    
    (cherry picked from commit 6b02ba8a77e7a38c609d7b9bd2fdb12551c296b2)
---
 CHANGELOG.md                                       |  1 +
 .../table/servers/TableServersController.js        | 43 ++++++++++++++--------
 2 files changed, 28 insertions(+), 16 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index e7e50f6..61725aa 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,7 @@ The format is based on [Keep a 
Changelog](http://keepachangelog.com/en/1.0.0/).
 ## [5.1.0] - 2021-02-21
 ### Added
 - Traffic Portal: 
[#5394](https://github.com/apache/trafficcontrol/issues/5394) - Converts the 
tenant table to a tenant tree for usability
+- Traffic Portal: 
[#5317](https://github.com/apache/trafficcontrol/issues/5317) - Clicking IP 
addresses in the servers table no longer navigates to server details page.
 - Traffic Portal: upgraded delivery service UI tables to use more 
powerful/performant ag-grid component
 - Traffic Ops: added a feature so that the user can specify 
`maxRequestHeaderBytes` on a per delivery service basis
 - Traffic Router: log warnings when requests to Traffic Monitor return a 503 
status code
diff --git 
a/traffic_portal/app/src/common/modules/table/servers/TableServersController.js 
b/traffic_portal/app/src/common/modules/table/servers/TableServersController.js
index 21246e7..d5da9ee 100644
--- 
a/traffic_portal/app/src/common/modules/table/servers/TableServersController.js
+++ 
b/traffic_portal/app/src/common/modules/table/servers/TableServersController.js
@@ -25,11 +25,21 @@ var TableServersController = function(tableName, servers, 
filter, $scope, $state
        SSHCellRenderer.prototype.init = function(params) {
                this.eGui = document.createElement("A");
                this.eGui.href = "ssh://" + userModel.user.username + "@" + 
params.value;
-               this.eGui.setAttribute("target", "_blank");
+               this.eGui.setAttribute("class", "link");
                this.eGui.textContent = params.value;
        };
        SSHCellRenderer.prototype.getGui = function() {return this.eGui;};
 
+       function HTTPSCellRenderer() {}
+       HTTPSCellRenderer.prototype.init = function(params) {
+               this.eGui = document.createElement("A");
+               this.eGui.href = "https://"; + params.value;
+               this.eGui.setAttribute("class", "link");
+               this.eGui.setAttribute("target", "_blank");
+               this.eGui.textContent = params.value;
+       };
+       HTTPSCellRenderer.prototype.getGui = function() {return this.eGui;};
+
        function UpdateCellRenderer() {}
        UpdateCellRenderer.prototype.init = function(params) {
                this.eGui = document.createElement("I");
@@ -96,15 +106,13 @@ var TableServersController = function(tableName, servers, 
filter, $scope, $state
                        headerName: "ILO IP Address",
                        field: "iloIpAddress",
                        hide: true,
-                       cellRenderer: "sshCellRenderer",
+                       cellRenderer: "httpsCellRenderer",
                        onCellClicked: null
                },
                {
                        headerName: "ILO IP Gateway",
                        field: "iloIpGateway",
-                       hide: true,
-                       cellRenderer: "sshCellRenderer",
-                       onCellClicked: null
+                       hide: true
                },
                {
                        headerName: "ILO IP Netmask",
@@ -124,7 +132,9 @@ var TableServersController = function(tableName, servers, 
filter, $scope, $state
                {
                        headerName: "IPv6 Address",
                        field: "ip6Address",
-                       hide: false
+                       hide: false,
+                       cellRenderer: "sshCellRenderer",
+                       onCellClicked: null
                },
                {
                        headerName: "IPv6 Gateway",
@@ -141,31 +151,27 @@ var TableServersController = function(tableName, servers, 
filter, $scope, $state
                {
                        headerName: "Mgmt IP Address",
                        field: "mgmtIpAddress",
-                       hide: true
+                       hide: true,
+                       cellRenderer: "sshCellRenderer",
+                       onCellClicked: null
                },
                {
                        headerName: "Mgmt IP Gateway",
                        field: "mgmtIpGateway",
                        hide: true,
-                       filter: true,
-                       cellRenderer: "sshCellRenderer",
-                       onCellClicked: null
+                       filter: true
                },
                {
                        headerName: "Mgmt IP Netmask",
                        field: "mgmtIpNetmask",
                        hide: true,
-                       filter: true,
-                       cellRenderer: "sshCellRenderer",
-                       onCellClicked: null
+                       filter: true
                },
                {
                        headerName: "Network Gateway",
                        field: "ipGateway",
                        hide: true,
-                       filter: true,
-                       cellRenderer: "sshCellRenderer",
-                       onCellClicked: null
+                       filter: true
                },
                {
                        headerName: "Network IP",
@@ -290,6 +296,7 @@ var TableServersController = function(tableName, servers, 
filter, $scope, $state
        /** Options, configuration, data and callbacks for the ag-grid table. */
        $scope.gridOptions = {
                components: {
+                       httpsCellRenderer: HTTPSCellRenderer,
                        sshCellRenderer: SSHCellRenderer,
                        updateCellRenderer: UpdateCellRenderer
                },
@@ -352,6 +359,10 @@ var TableServersController = function(tableName, servers, 
filter, $scope, $state
                        $scope.mouseDownSelectionText = 
window.getSelection().toString();
                },
                onRowClicked: function(params) {
+                       if (params.event.target.classList.contains('link')) {
+                               // no need to navigate to server detail page
+                               return;
+                       }
                        const selection = window.getSelection().toString();
                        if(selection === "" || selection === 
$scope.mouseDownSelectionText) {
                                locationUtils.navigateToPath('/servers/' + 
params.data.id);

Reply via email to