SQL工作台:SQL查询结果添加查看当前SQL语句功能

This commit is contained in:
datagear 2019-04-29 17:02:08 +08:00
parent 3c650ec67c
commit d10fa7f052
3 changed files with 60 additions and 5 deletions

View File

@ -374,7 +374,8 @@ sqlpad.executeionFinish=\u5B8C\u6210\u6267\u884C
sqlpad.clearSqlResultMessage=\u6E05\u9664\u6267\u884C\u65E5\u5FD7
sqlpad.loadMoreData=\u52A0\u8F7D\u66F4\u591A\u6570\u636E
sqlpad.refreshSqlResult=\u5237\u65B0\u67E5\u8BE2\u7ED3\u679C
sqlpad.lockSqlResultTab=\u590D\u7528\u5F53\u524D\u67E5\u8BE2\u7ED3\u679C\u9009\u9879\u5361
sqlpad.viewSqlStatement=\u67E5\u770BSQL\u8BED\u53E5
sqlpad.lockSqlResultTab=\u590D\u7528\u6B64\u67E5\u8BE2\u7ED3\u679C\u9009\u9879\u5361
sqlpad.executionSqlselectionRange=\u8D77\u59CB\u884C\uFF1A{0}\uFF08{1}\uFF09\uFF0C\u7ED3\u675F\u884C\uFF1A{2}\uFF08{3}\uFF09
sqlpad.keepResult=\u4FDD\u7559\u6267\u884C\u65E5\u5FD7
sqlpad.executionConnectionException=\u6570\u636E\u5E93\u8FDE\u63A5\u5931\u8D25

View File

@ -108,9 +108,13 @@ Schema schema 数据库不允许为null
<button id="moreSqlResultTabButton" class="sql-result-button ui-button ui-corner-all ui-widget ui-button-icon-only" title="<@spring.message code='sqlpad.loadMoreData' />"><span class="ui-button-icon ui-icon ui-icon-arrowthick-1-s"></span><span class="ui-button-icon-space"> </span><@spring.message code='sqlpad.loadMoreData' /></button>
<button id="refreshSqlResultTabButton" class="sql-result-button ui-button ui-corner-all ui-widget ui-button-icon-only" title="<@spring.message code='sqlpad.refreshSqlResult' />"><span class="ui-button-icon ui-icon ui-icon-refresh"></span><span class="ui-button-icon-space"> </span><@spring.message code='sqlpad.refreshSqlResult' /></button>
&nbsp;&nbsp;
<button id="viewSqlResultTabButton" class="sql-result-button ui-button ui-corner-all ui-widget ui-button-icon-only" title="<@spring.message code='sqlpad.viewSqlStatement' />"><span class="ui-button-icon ui-icon ui-icon-lightbulb"></span><span class="ui-button-icon-space"> </span><@spring.message code='sqlpad.viewSqlStatement' /></button>
<button id="lockSqlResultTabButton" class="sql-result-button ui-button ui-corner-all ui-widget ui-button-icon-only stated-active" title="<@spring.message code='sqlpad.lockSqlResultTab' />"><span class="ui-button-icon ui-icon ui-icon-locked"></span><span class="ui-button-icon-space"> </span><@spring.message code='sqlpad.lockSqlResultTab' /></button>
</div>
</div>
<div id="viewSqlStatementPanel" class="view-sql-statement-panel ui-widget ui-front ui-widget-content ui-corner-all ui-widget-shadow">
<textarea class="sql-content ui-widget ui-widget-content"></textarea>
</div>
</div>
</div>
<div class="foot">
@ -494,7 +498,11 @@ Schema schema 数据库不允许为null
var tabForm = po.element("#" + po.getSqlResultTabPanelFormId(tabId), tabPanel);
var tabSql = $("textarea[name='sql']", tabForm).val();
if(sql != tabSql)
var sqlEquals = (sql == tabSql);
if(!sqlEquals)
sqlEquals = (sql.replace(/\s/g, "") == tabSql.replace(/\s/g, ""));
if(!sqlEquals)
{
$.tipInfo("<@spring.message code='sqlpad.selectResultExpired' />");
return;
@ -1113,6 +1121,26 @@ Schema schema 数据库不允许为null
activeTabForm.submit();
});
po.element("#viewSqlResultTabButton").click(function()
{
var $this = $(this);
var tabsNav = po.getTabsNav(po.sqlResultTabs);
var activeTab = po.getActiveTab(po.sqlResultTabs, tabsNav);
if(activeTab.hasClass("sql-result-tab"))
{
var tabId = po.getTabsTabId(po.sqlResultTabs, tabsNav, activeTab);
var tabFormId = po.getSqlResultTabPanelFormId(tabId);
var tabForm = po.element("#" + tabId);
var sql = $("textarea[name='sql']", tabForm).val();
var viewSqlStatementPanel = po.element("#viewSqlStatementPanel");
$(".sql-content", viewSqlStatementPanel).text(sql);
viewSqlStatementPanel.show().position({ my : "right bottom", at : "right top-5", of : $this});
}
});
po.element("#lockSqlResultTabButton").click(function()
{
var $this = $(this);
@ -1162,12 +1190,21 @@ Schema schema 数据库不允许为null
$(document.body).on("click", function(event)
{
var $target = $(event.target);
var $mop = po.element(".more-operation-panel");
if(!$mop.is(":hidden"))
{
if($(event.target).closest(po.element(".more-operation-wrapper")).length == 0)
if($target.closest(po.element(".more-operation-wrapper")).length == 0)
$mop.hide();
}
var $vsp = po.element("#viewSqlStatementPanel");
if(!$vsp.is(":hidden"))
{
if($target.closest("#viewSqlStatementPanel, #viewSqlResultTabButton").length == 0)
$vsp.hide();
}
});
po.element("#sqlExceptionDetailPanel").mouseleave(function()
@ -1236,6 +1273,7 @@ Schema schema 数据库不允许为null
po.element("input[name='sqlCommitMode'][value='AUTO']").click();
po.element(".more-operation-panel").hide();
po.element(".result-operations .sql-result-buttons").hide();
po.element("#viewSqlStatementPanel").hide();
po.bindTabsMenuHiddenEvent(po.sqlResultTabs);
})

View File

@ -1342,7 +1342,7 @@ table.dataTable tbody tr .column-check .row-data-state .ui-icon{
margin: 0 0;
padding: 0 0;
padding-left: 0.1em;
padding-right: 18em;
padding-right: 20em;
overflow: hidden;
height: 1.5em;
background: none;
@ -1376,7 +1376,7 @@ table.dataTable tbody tr .column-check .row-data-state .ui-icon{
}
.page-sqlpad .content .content-result .result-tabs.ui-tabs .tabs-more-tab-button{
top: 0.25em;
right: 16em;
right: 18em;
}
.page-sqlpad .content .content-result .result-operations{
float: right;
@ -1480,6 +1480,22 @@ table.dataTable tbody tr .column-check .row-data-state .ui-icon{
border-bottom-width: 3px;
display: none;
}
.page-sqlpad .view-sql-statement-panel{
position: absolute;
left: 0;
top: 0;
width: 40%;
height: 10em;
padding: 0.3em 0.3em;
}
.page-sqlpad .view-sql-statement-panel .sql-content{
width: 100%;
height: 100%;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
resize: none;
}
.page-sqlpad .foot{
position: absolute;
width: 100%;