Skip to content

Commit 3d61ddf

Browse files
authored
Merge pull request #383 from janfh/feature/column_label_preview
Result view - include label/name in tooltip
2 parents 3268050 + fafa86a commit 3d61ddf

File tree

3 files changed

+39
-28
lines changed

3 files changed

+39
-28
lines changed

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/connection/manager.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ export class SQLJobManager {
3636
"transaction isolation": "none",
3737
"query optimize goal": "1",
3838
"block size": "512",
39-
"date format": "iso"
39+
"date format": "iso",
40+
"extended metadata": true,
4041
}));
4142

4243
try {

src/views/results/html.ts

Lines changed: 35 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -434,31 +434,7 @@ export function generateScroller(basicSelect: string, isCL: boolean, withCancel?
434434
columnMetaData.map(column => {
435435
var cell = headerRow.insertCell();
436436
cell.appendChild(document.createTextNode(columnHeadings === 'Label' ? column.label : column.name));
437-
switch (column.type) {
438-
case 'CHAR':
439-
case 'VARCHAR':
440-
case 'CLOB':
441-
case 'BINARY':
442-
case 'VARBINARY':
443-
case 'BLOB':
444-
case 'GRAPHIC':
445-
case 'VARGRAPHIC':
446-
case 'DBCLOB':
447-
case 'NCHAR':
448-
case 'NVARCHAR':
449-
case 'NCLOB':
450-
case 'FLOAT':
451-
case 'DECFLOAT':
452-
case 'DATALINK':
453-
cell.title = column.type + '(' + column.precision + ')';
454-
break;
455-
case 'DECIMAL':
456-
case 'NUMERIC':
457-
cell.title = column.type + '(' + column.precision + ', ' + column.scale + ')';
458-
break;
459-
default:
460-
cell.title = column.type;
461-
}
437+
cell.title = getTooltip(column, columnHeadings);
462438
});
463439
464440
// Initialize the footer
@@ -537,9 +513,43 @@ export function generateScroller(basicSelect: string, isCL: boolean, withCancel?
537513
var headerCells = document.getElementById(htmlTableId).getElementsByTagName('thead')[0].rows[0].cells;
538514
for (let x = 0; x < headerCells.length; ++x) {
539515
headerCells[x].innerText = columnHeadings === 'Label' ? columnMetaData[x].label : columnMetaData[x].name;
516+
headerCells[x].title = getTooltip(columnMetaData[x], columnHeadings);
540517
}
541518
}
542519
}
520+
521+
function getTooltip(column, columnHeadings) {
522+
let title = '';
523+
switch (column.type) {
524+
case 'CHAR':
525+
case 'VARCHAR':
526+
case 'CLOB':
527+
case 'BINARY':
528+
case 'VARBINARY':
529+
case 'BLOB':
530+
case 'GRAPHIC':
531+
case 'VARGRAPHIC':
532+
case 'DBCLOB':
533+
case 'NCHAR':
534+
case 'NVARCHAR':
535+
case 'NCLOB':
536+
case 'FLOAT':
537+
case 'DECFLOAT':
538+
case 'DATALINK':
539+
title = column.type + '(' + column.precision + ')';
540+
break;
541+
case 'DECIMAL':
542+
case 'NUMERIC':
543+
title = column.type + '(' + column.precision + ', ' + column.scale + ')';
544+
break;
545+
default:
546+
title = column.type;
547+
}
548+
title += \`\\n\`;
549+
title += columnHeadings === 'Label' ? column.name : column.label;
550+
return title;
551+
}
552+
543553
</script>
544554
</head>
545555
<body style="padding: 0;">

0 commit comments

Comments
 (0)