Fixed background colour issue in the browser tree. Fixes #6890

This commit is contained in:
Nikhil Mohite
2021-10-16 12:40:57 +05:30
committed by Akshay Joshi
parent 1377244e52
commit 476d7c5fc9
6 changed files with 24 additions and 18 deletions

View File

@@ -136,7 +136,7 @@
"path-fx": "^2.0.0",
"pathfinding": "^0.4.18",
"paths-js": "^0.4.9",
"pgadmin4-tree": "git+https://github.com/EnterpriseDB/pgadmin4-treeview/#ccf3327caaaeaf06e5e683b07330ba2555d79867",
"pgadmin4-tree": "git+https://github.com/EnterpriseDB/pgadmin4-treeview/#9e1e5efd6152a08ee1cf087816627d943e3c880e",
"postcss": "^8.2.15",
"raf": "^3.4.1",
"react": "^17.0.1",

View File

@@ -954,27 +954,30 @@ define('pgadmin.browser.node', [
change_server_background: function(item, data) {
if (!item || !data)
return;
const treeH = pgBrowser.tree.getTreeNodeHierarchy(item);
const serverData = treeH['server'];
if (!serverData) {
return;
}
const index = item.path.indexOf(serverData.id);
// Go further only if node type is a Server
if (data._type && data._type == 'server') {
var element = $(item).find('span.aciTreeItem').first() || null,
// First element will be icon and second will be colour code
bgcolor = data.icon.split(' ')[1] || null,
fgcolor = data.icon.split(' ')[2] || '';
if (index !== -1) {
// First element will be icon and second will be colour code
var bgcolor = serverData.icon.split(' ')[1] || null,
fgcolor = serverData.icon.split(' ')[2] || '';
if (bgcolor) {
// li tag for the current branch
var first_level_element = (element && element.parents()[3]) || null,
dynamic_class = 'pga_server_' + data._id + '_bgcolor',
var dynamic_class = 'pga_server_' + serverData._id + '_bgcolor',
style_tag;
// Prepare dynamic style tag
style_tag = '<style id=' + dynamic_class + ' type=\'text/css\'> \n';
style_tag += '.' + dynamic_class + ' .aciTreeItem {';
style_tag += '.' + dynamic_class + ' .file-label {';
style_tag += ' border-radius: 3px; margin-bottom: 2px;';
style_tag += ' background: ' + bgcolor + '} \n';
style_tag += ' background: ' + bgcolor + ' !important;} \n';
if (fgcolor) {
style_tag += '.' + dynamic_class + ' .aciTreeText {';
style_tag += '.' + dynamic_class + ' span.file-name {';
style_tag += ' color: ' + fgcolor + ' !important;} \n';
}
style_tag += '</style>';
@@ -982,9 +985,8 @@ define('pgadmin.browser.node', [
// Prepare dynamic style tag using template
$('#' + dynamic_class).remove();
$(style_tag).appendTo('head');
if (first_level_element)
$(first_level_element).addClass(dynamic_class);
// Add dynamic class to the tree node.
pgBrowser.tree.addCssClass(item, dynamic_class);
}
}
},

View File

@@ -229,6 +229,10 @@ export class Tree {
return this.tree.getDOMFromItem(item);
}
addCssClass(item, cssClass) {
this.tree.addCssClass(item, cssClass);
}
path(item) {
if (item) return item.path;
}

View File

@@ -125,7 +125,6 @@
white-space:normal;
cursor:pointer !important;
margin-left: 2px;
width: 100%;
&:hover, &.pseudo-active {
color: $tree-fg-hover !important;
}

View File

@@ -7582,9 +7582,9 @@ performance-now@^2.1.0:
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
"pgadmin4-tree@git+https://github.com/EnterpriseDB/pgadmin4-treeview/#ccf3327caaaeaf06e5e683b07330ba2555d79867":
"pgadmin4-tree@git+https://github.com/EnterpriseDB/pgadmin4-treeview/#9e1e5efd6152a08ee1cf087816627d943e3c880e":
version "1.0.0"
resolved "git+https://github.com/EnterpriseDB/pgadmin4-treeview/#ccf3327caaaeaf06e5e683b07330ba2555d79867"
resolved "git+https://github.com/EnterpriseDB/pgadmin4-treeview/#9e1e5efd6152a08ee1cf087816627d943e3c880e"
dependencies:
"@types/classnames" "^2.2.6"
"@types/react" "^16.7.18"