1) Fixes the broken explain GUI test case.

2) Displays a tooltip "Click for details..." on hover over explain plan nodes.

refs #5488
This commit is contained in:
Aditya Toshniwal 2021-01-20 17:49:23 +05:30 committed by Akshay Joshi
parent 850afd7402
commit 57a2559f11
2 changed files with 11 additions and 4 deletions

View File

@ -313,7 +313,7 @@ class CheckForXssFeatureTest(BaseFeatureTest):
self.driver.find_element_by_css_selector( self.driver.find_element_by_css_selector(
'div.pgadmin-explain-container > svg > g > g > image' 'div.pgadmin-explain-container > svg > g > g > image'
) )
).perform() ).click().perform()
break break
except Exception: except Exception:
if idx != 2: if idx != 2:
@ -326,8 +326,8 @@ class CheckForXssFeatureTest(BaseFeatureTest):
) )
raise raise
source_code = self.driver.find_element_by_id( source_code = self.driver.find_element_by_css_selector(
'toolTip').get_attribute('innerHTML') '.pgadmin-explain-details:not(.d-none)').get_attribute('innerHTML')
self._check_escaped_characters( self._check_escaped_characters(
source_code, source_code,

View File

@ -947,7 +947,10 @@ define('pgadmin.misc.explain', [
IMAGE_WIDTH, IMAGE_WIDTH,
IMAGE_HEIGHT IMAGE_HEIGHT
); );
image.attr({style: 'cursor: pointer'}); image.attr({
style: 'cursor: pointer',
class: 'image-node',
});
// Draw tooltip // Draw tooltip
var image_data = this.toJSON(), var image_data = this.toJSON(),
@ -1478,6 +1481,10 @@ define('pgadmin.misc.explain', [
} }
}); });
}); });
container.find('.image-node').tooltip({
title: gettext('Click for details...'),
template: '<div class="tooltip" role="tooltip"><div class="arrow d-none"></div><div class="tooltip-inner"></div></div>',
});
}); });
_renderExplainTable(ctx._explainTable, explainTable); _renderExplainTable(ctx._explainTable, explainTable);