提交 9160f508 authored 作者: Noel Grandin's avatar Noel Grandin

Merge pull request #248 from agastald/auto_select

added 'auto-select' feature
...@@ -98,6 +98,9 @@ toolbar.autoComplete=Auto complete ...@@ -98,6 +98,9 @@ toolbar.autoComplete=Auto complete
toolbar.autoComplete.full=Full toolbar.autoComplete.full=Full
toolbar.autoComplete.normal=Normal toolbar.autoComplete.normal=Normal
toolbar.autoComplete.off=Off toolbar.autoComplete.off=Off
toolbar.autoSelect=Auto select
toolbar.autoSelect.off=Off
toolbar.autoSelect.on=On
toolbar.cancelStatement=Cancel the current statement toolbar.cancelStatement=Cancel the current statement
toolbar.clear=Clear toolbar.clear=Clear
toolbar.commit=Commit toolbar.commit=Commit
......
...@@ -98,6 +98,9 @@ toolbar.autoComplete=Auto complete ...@@ -98,6 +98,9 @@ toolbar.autoComplete=Auto complete
toolbar.autoComplete.full=Total toolbar.autoComplete.full=Total
toolbar.autoComplete.normal=Normal toolbar.autoComplete.normal=Normal
toolbar.autoComplete.off=Desligado toolbar.autoComplete.off=Desligado
toolbar.autoSelect=Auto seleção
toolbar.autoSelect.off=Desligado
toolbar.autoSelect.on=Ligado
toolbar.cancelStatement=Cancelar o comando que está em execução toolbar.cancelStatement=Cancelar o comando que está em execução
toolbar.clear=Limpar toolbar.clear=Limpar
toolbar.commit=Commit toolbar.commit=Commit
......
...@@ -128,6 +128,18 @@ Initial Developer: H2 Group ...@@ -128,6 +128,18 @@ Initial Developer: H2 Group
<option value="2"> <option value="2">
${text.toolbar.autoComplete.full} ${text.toolbar.autoComplete.full}
</option> </option>
</select>&nbsp;
</td>
<td class="toolbar">
${text.toolbar.autoSelect}&nbsp;
<select name="autoSelect" size="1"
onchange="javascript:parent.h2query.setAutoSelect(this.value)">
<option value="0">
${text.toolbar.autoSelect.off}
</option>
<option selected="selected" value="1">
${text.toolbar.autoSelect.on}
</option>
</select> </select>
</td> </td>
<td class="toolbar"> <td class="toolbar">
......
...@@ -15,6 +15,7 @@ Initial Developer: H2 Group ...@@ -15,6 +15,7 @@ Initial Developer: H2 Group
var agent=navigator.userAgent.toLowerCase(); var agent=navigator.userAgent.toLowerCase();
var is_opera = agent.indexOf("opera") >= 0; var is_opera = agent.indexOf("opera") >= 0;
var autoComplete = 0; // 0: off, 1: normal, 2: full var autoComplete = 0; // 0: off, 1: normal, 2: full
var autoSelect = 1; // 0: off, 1: on
var selectedRow = -1; var selectedRow = -1;
var lastList = ''; var lastList = '';
var lastQuery = null; var lastQuery = null;
...@@ -294,6 +295,10 @@ function setAutoComplete(value) { ...@@ -294,6 +295,10 @@ function setAutoComplete(value) {
} }
} }
function setAutoSelect(value) {
autoSelect = value;
}
function manualAutoComplete() { function manualAutoComplete() {
autoCompleteManual = true; autoCompleteManual = true;
lastQuery = null; lastQuery = null;
...@@ -470,9 +475,15 @@ function submitAll() { ...@@ -470,9 +475,15 @@ function submitAll() {
function submitSelected() { function submitSelected() {
var field = document.h2query.sql; var field = document.h2query.sql;
//alert('contents ' + field.selectionStart + ' ' + field.selectionEnd); //alert('contents ' + field.selectionStart + ' ' + field.selectionEnd);
if (field.selectionStart == field.selectionEnd) {
if (autoSelect == 0) {
return;
}
doAutoSelect();
if (field.selectionStart == field.selectionEnd) { if (field.selectionStart == field.selectionEnd) {
return; return;
} }
}
var startPos = field.selectionStart; var startPos = field.selectionStart;
var endPos = field.selectionEnd; var endPos = field.selectionEnd;
var selectedText = field.value.substring(startPos, endPos); var selectedText = field.value.substring(startPos, endPos);
...@@ -480,6 +491,20 @@ function submitSelected() { ...@@ -480,6 +491,20 @@ function submitSelected() {
document.h2querysubmit.submit(); document.h2querysubmit.submit();
} }
function doAutoSelect() {
var field = document.h2query.sql;
var position = field.selectionStart;
try {
var prevDoubleLine = field.value.lastIndexOf('\n\n',position - 1) + 2;
if (prevDoubleLine == 1) prevDoubleLine = 0;
var nextDoubleLine = field.value.indexOf('\n\n',position);
if (nextDoubleLine == -1) nextDoubleLine = field.value.length;
field.setSelectionRange(prevDoubleLine,nextDoubleLine);
} catch (e) {
field.selectionStart = field.selectionEnd = position;
}
}
//--> //-->
</script> </script>
</head> </head>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论