Skip to content

Commit 2ae6e1d

Browse files
1 parent 7ef19ad commit 2ae6e1d

8 files changed

+159
-32
lines changed

Examples/Example07-Table/Example7_01.html

+94-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<!DOCTYPE html>
22
<!-- saved from url=(0014)about:internet -->
3-
<html><!-- HEAD --><head><meta charset="utf-8"/><meta content="width=device-width, initial-scale=1" name="viewport"/><meta name="author"/><meta content="2020-04-05 20:54:26" name="revised"/><title></title><!-- CSS Default fonts START --><link href="https://fonts.googleapis.com/css?family=Roboto|Hammersmith+One|Questrial|Oswald" type="text/css" rel="stylesheet"/><!-- CSS Default fonts END --><!-- CSS Default fonts icons START --><link href="https://use.fontawesome.com/releases/v5.11.2/css/all.css" type="text/css" rel="stylesheet"/><!-- CSS Default fonts icons END --><!-- CSS Always Required Default Visual Settings START --><style type="text/css">body {
3+
<html><!-- HEAD --><head><meta charset="utf-8"/><meta content="width=device-width, initial-scale=1" name="viewport"/><meta name="author"/><meta content="2020-04-23 20:00:44" name="revised"/><title></title><!-- CSS Default fonts START --><link href="https://fonts.googleapis.com/css?family=Roboto|Hammersmith+One|Questrial|Oswald" type="text/css" rel="stylesheet"/><!-- CSS Default fonts END --><!-- CSS Default fonts icons START --><link href="https://use.fontawesome.com/releases/v5.13.0/css/all.css" type="text/css" rel="stylesheet"/><!-- CSS Default fonts icons END --><!-- CSS Always Required Default Visual Settings START --><style type="text/css">body {
44
font-family: Roboto Condensed, Helvetica Neue, sans-serif;
55
font-size: 8pt;
66
}
@@ -300,13 +300,13 @@
300300
border: 1px solid #ccc;
301301
text-align: left;
302302
}
303-
</style><!-- CSS DataTables END --></noscript><!-- JS Jquery START --><script src="https://code.jquery.com/jquery-3.4.1.min.js" type="text/javascript"></script><!-- JS Jquery END --><!-- CSS DataTables START --><link href="https://cdn.datatables.net/1.10.20/css/jquery.dataTables.min.css" type="text/css" rel="stylesheet"/><link href="https://cdn.datatables.net/autofill/2.3.4/css/autoFill.dataTables.css" type="text/css" rel="stylesheet"/><link href="https://cdn.datatables.net/buttons/1.6.1/css/buttons.dataTables.min.css" type="text/css" rel="stylesheet"/><link href="https://cdn.datatables.net/colreorder/1.5.2/css/colReorder.dataTables.min.css" type="text/css" rel="stylesheet"/><link href="https://cdn.datatables.net/fixedcolumns/3.3.0/css/fixedColumns.dataTables.min.css" type="text/css" rel="stylesheet"/><link href="https://cdn.datatables.net/fixedheader/3.1.6/css/fixedHeader.dataTables.min.css" type="text/css" rel="stylesheet"/><link href="https://cdn.datatables.net/keytable/2.5.1/css/keyTable.dataTables.min.css" type="text/css" rel="stylesheet"/><link href="https://cdn.datatables.net/responsive/2.2.3/css/responsive.dataTables.min.css" type="text/css" rel="stylesheet"/><link href="https://cdn.datatables.net/rowgroup/1.1.1/css/rowGroup.dataTables.min.css" type="text/css" rel="stylesheet"/><link href="https://cdn.datatables.net/rowreorder/1.2.6/css/rowReorder.dataTables.min.css" type="text/css" rel="stylesheet"/><link href="https://cdn.datatables.net/scroller/2.0.1/css/scroller.dataTables.min.css" type="text/css" rel="stylesheet"/><link href="https://cdn.datatables.net/select/1.3.1/css/select.dataTables.min.css" type="text/css" rel="stylesheet"/><!-- CSS DataTables END --><!-- JS DataTables START --><script src="https://nightly.datatables.net/js/jquery.dataTables.min.js" type="text/javascript"></script><script src="https://cdn.datatables.net/autofill/2.3.4/js/dataTables.autoFill.min.js" type="text/javascript"></script><script src="https://cdn.datatables.net/buttons/1.6.1/js/dataTables.buttons.min.js" type="text/javascript"></script><script src="https://cdn.datatables.net/buttons/1.6.1/js/buttons.colVis.min.js" type="text/javascript"></script><script src="https://cdn.datatables.net/buttons/1.6.1/js/buttons.html5.min.js" type="text/javascript"></script><script src="https://cdn.datatables.net/buttons/1.6.1/js/buttons.print.min.js" type="text/javascript"></script><script src="https://cdn.datatables.net/colreorder/1.5.2/js/dataTables.colReorder.min.js" type="text/javascript"></script><script src="https://cdn.datatables.net/fixedcolumns/3.3.0/js/dataTables.fixedColumns.min.js" type="text/javascript"></script><script src="https://cdn.datatables.net/fixedheader/3.1.6/js/dataTables.fixedHeader.min.js" type="text/javascript"></script><script src="https://cdn.datatables.net/keytable/2.5.1/js/dataTables.keyTable.min.js" type="text/javascript"></script><script src="https://cdn.datatables.net/responsive/2.2.3/js/dataTables.responsive.min.js" type="text/javascript"></script><script src="https://cdn.datatables.net/rowgroup/1.1.1/js/dataTables.rowGroup.min.js" type="text/javascript"></script><script src="https://cdn.datatables.net/rowreorder/1.2.6/js/dataTables.rowReorder.min.js" type="text/javascript"></script><script src="https://cdn.datatables.net/scroller/2.0.1/js/dataTables.scroller.min.js" type="text/javascript"></script><script src="https://cdn.datatables.net/select/1.3.1/js/dataTables.select.min.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js" type="text/javascript"></script><script src="https://cdn.datatables.net/plug-ins/1.10.20/sorting/datetime-moment.js" type="text/javascript"></script><!-- JS DataTables END --></head><!-- CSS AUTOGENERATED on DEMAND START --><!-- CSS AUTOGENERATED on DEMAND END --><!-- END HEAD --><!-- BODY --><body><!-- HEADER --><header></header><!-- END HEADER --><script> $(document).ready(function() {
303+
</style><!-- CSS DataTables END --></noscript><!-- JS Jquery START --><script src="https://code.jquery.com/jquery-3.4.1.min.js" type="text/javascript"></script><!-- JS Jquery END --><!-- CSS DataTables START --><link href="https://cdn.datatables.net/1.10.20/css/jquery.dataTables.min.css" type="text/css" rel="stylesheet"/><link href="https://cdn.datatables.net/autofill/2.3.4/css/autoFill.dataTables.css" type="text/css" rel="stylesheet"/><link href="https://cdn.datatables.net/buttons/1.6.1/css/buttons.dataTables.min.css" type="text/css" rel="stylesheet"/><link href="https://cdn.datatables.net/colreorder/1.5.2/css/colReorder.dataTables.min.css" type="text/css" rel="stylesheet"/><link href="https://cdn.datatables.net/fixedcolumns/3.3.0/css/fixedColumns.dataTables.min.css" type="text/css" rel="stylesheet"/><link href="https://cdn.datatables.net/fixedheader/3.1.6/css/fixedHeader.dataTables.min.css" type="text/css" rel="stylesheet"/><link href="https://cdn.datatables.net/keytable/2.5.1/css/keyTable.dataTables.min.css" type="text/css" rel="stylesheet"/><link href="https://cdn.datatables.net/responsive/2.2.3/css/responsive.dataTables.min.css" type="text/css" rel="stylesheet"/><link href="https://cdn.datatables.net/rowgroup/1.1.1/css/rowGroup.dataTables.min.css" type="text/css" rel="stylesheet"/><link href="https://cdn.datatables.net/rowreorder/1.2.6/css/rowReorder.dataTables.min.css" type="text/css" rel="stylesheet"/><link href="https://cdn.datatables.net/scroller/2.0.1/css/scroller.dataTables.min.css" type="text/css" rel="stylesheet"/><link href="https://cdn.datatables.net/select/1.3.1/css/select.dataTables.min.css" type="text/css" rel="stylesheet"/><!-- CSS DataTables END --><!-- JS DataTables START --><script src="https://nightly.datatables.net/js/jquery.dataTables.min.js" type="text/javascript"></script><script src="https://cdn.datatables.net/autofill/2.3.4/js/dataTables.autoFill.min.js" type="text/javascript"></script><script src="https://cdn.datatables.net/buttons/1.6.1/js/dataTables.buttons.min.js" type="text/javascript"></script><script src="https://cdn.datatables.net/buttons/1.6.1/js/buttons.colVis.min.js" type="text/javascript"></script><script src="https://cdn.datatables.net/buttons/1.6.1/js/buttons.html5.min.js" type="text/javascript"></script><script src="https://cdn.datatables.net/buttons/1.6.1/js/buttons.print.min.js" type="text/javascript"></script><script src="https://cdn.datatables.net/colreorder/1.5.2/js/dataTables.colReorder.min.js" type="text/javascript"></script><script src="https://cdn.datatables.net/fixedcolumns/3.3.0/js/dataTables.fixedColumns.min.js" type="text/javascript"></script><script src="https://cdn.datatables.net/fixedheader/3.1.6/js/dataTables.fixedHeader.min.js" type="text/javascript"></script><script src="https://cdn.datatables.net/keytable/2.5.1/js/dataTables.keyTable.min.js" type="text/javascript"></script><script src="https://cdn.datatables.net/responsive/2.2.3/js/dataTables.responsive.min.js" type="text/javascript"></script><script src="https://cdn.datatables.net/rowgroup/1.1.1/js/dataTables.rowGroup.min.js" type="text/javascript"></script><script src="https://cdn.datatables.net/rowreorder/1.2.6/js/dataTables.rowReorder.min.js" type="text/javascript"></script><script src="https://cdn.datatables.net/scroller/2.0.1/js/dataTables.scroller.min.js" type="text/javascript"></script><script src="https://cdn.datatables.net/select/1.3.1/js/dataTables.select.min.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js" type="text/javascript"></script><script src="https://cdn.datatables.net/plug-ins/1.10.20/sorting/datetime-moment.js" type="text/javascript"></script><!-- JS DataTables END --><!-- JS DataTables PDF Features START --><script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.36/pdfmake.min.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.36/vfs_fonts.js" type="text/javascript"></script><!-- JS DataTables PDF Features END --><!-- JS DataTables Excel Features START --><script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/2.5.0/jszip.min.js" type="text/javascript"></script><!-- JS DataTables Excel Features END --></head><!-- CSS AUTOGENERATED on DEMAND START --><!-- CSS AUTOGENERATED on DEMAND END --><!-- END HEAD --><!-- BODY --><body><!-- HEADER --><header></header><!-- END HEADER --><script> $(document).ready(function() {
304304
$.fn.dataTable.moment( 'L' );
305305

306306

307307

308308
// Table code
309-
var table = $('#DT-osBlhwMt').DataTable(
309+
var table = $('#DT-JnSlipfh').DataTable(
310310
{
311311
"dom": "Bfrtip",
312312
"searchFade": false,
@@ -343,7 +343,97 @@
343343
"searching": true,
344344
"stateSave": true,
345345
"buttons": [
346+
{
347+
"extend": "copyHtml5",
348+
"title": "TEst1"
349+
},
350+
{
351+
"extend": "excelHtml5",
352+
"title": "TEst1"
353+
},
354+
{
355+
"extend": "csvHtml5",
356+
"title": "TEst1"
357+
},
358+
{
359+
"extend": "pdfHtml5",
360+
"pageSize": "A3",
361+
"orientation": "landscape",
362+
"title": "TEst1"
363+
},
364+
{
365+
"extend": "pageLength"
366+
}
367+
],
368+
"responsive": {
369+
"details": {
370+
"type": "inline"
371+
}
372+
}
373+
}
374+
);
375+
376+
377+
});</script><div class="flexElement overflowHidden"><table width="100%" id="DT-JnSlipfh" class="display compact"><thead><tr><th>Name</th><th>Value</th></tr></thead><tbody><tr><td>Test</td><td>Name</td></tr><tr><td>Test2</td><td>Name2</td></tr><tr><td>Test3</td><td>Name3</td></tr><tr><td>Test</td><td>Name</td></tr><tr><td>Test2</td><td>Name2</td></tr><tr><td>Test3</td><td>Name3</td></tr><tr><td>Test</td><td>Name</td></tr><tr><td>Test2</td><td>Name2</td></tr><tr><td>Test3</td><td>Name3</td></tr><tr><td>Test</td><td>Name</td></tr><tr><td>Test2</td><td>Name2</td></tr><tr><td>Test3</td><td>Name3</td></tr></tbody><tfoot><tr><th>Name</th><th>Value</th></tr></tfoot></table></div><script> $(document).ready(function() {
378+
$.fn.dataTable.moment( 'L' );
379+
380+
381+
382+
// Table code
383+
var table = $('#DT-RMMojnYk').DataTable(
384+
{
385+
"dom": "Bfrtip",
386+
"searchFade": false,
387+
"colReorder": true,
388+
"paging": false,
389+
"scrollCollapse": false,
390+
"pagingType": [
391+
"full_numbers"
392+
],
393+
"lengthMenu": [
394+
[
395+
15,
396+
25,
397+
50,
398+
100,
399+
-1
400+
],
401+
[
402+
15,
403+
25,
404+
50,
405+
100,
406+
"All"
407+
]
408+
],
409+
"ordering": true,
410+
"order": [
346411

412+
],
413+
"rowGroup": "",
414+
"info": true,
415+
"procesing": true,
416+
"select": true,
417+
"searching": true,
418+
"stateSave": true,
419+
"buttons": [
420+
{
421+
"extend": "copyHtml5"
422+
},
423+
{
424+
"extend": "excelHtml5"
425+
},
426+
{
427+
"extend": "csvHtml5"
428+
},
429+
{
430+
"extend": "pdfHtml5",
431+
"pageSize": "A3",
432+
"orientation": "landscape"
433+
},
434+
{
435+
"extend": "pageLength"
436+
}
347437
],
348438
"responsive": {
349439
"details": {
@@ -354,4 +444,4 @@
354444
);
355445

356446

357-
});</script><div class="flexElement overflowHidden"><table width="100%" id="DT-osBlhwMt" class="display compact"><thead><tr><th>Name</th><th>Value</th></tr></thead><tbody><tr><td>Test</td><td>Name</td></tr><tr><td>Test2</td><td>Name2</td></tr><tr><td>Test3</td><td>Name3</td></tr><tr><td>Test</td><td>Name</td></tr><tr><td>Test2</td><td>Name2</td></tr><tr><td>Test3</td><td>Name3</td></tr><tr><td>Test</td><td>Name</td></tr><tr><td>Test2</td><td>Name2</td></tr><tr><td>Test3</td><td>Name3</td></tr><tr><td>Test</td><td>Name</td></tr><tr><td>Test2</td><td>Name2</td></tr><tr><td>Test3</td><td>Name3</td></tr></tbody><tfoot><tr><th>Name</th><th>Value</th></tr></tfoot></table></div><footer><!-- FOOTER --><!-- END FOOTER --></footer><!-- END BODY --></body></html>
447+
});</script><div class="flexElement overflowHidden"><table width="100%" id="DT-RMMojnYk" class="display compact"><thead><tr><th>Test</th><th>Test2</th><th>Test3</th></tr></thead><tbody><tr><td>Name</td><td>Name2</td><td>Name3</td></tr><tr><td>Name</td><td>Name2</td><td>Name3</td></tr><tr><td>Name</td><td>Name2</td><td>Name3</td></tr><tr><td>Name</td><td>Name2</td><td>Name3</td></tr></tbody><tfoot><tr><th>Test</th><th>Test2</th><th>Test3</th></tr></tfoot></table></div><footer><!-- FOOTER --><!-- END FOOTER --></footer><!-- END BODY --></body></html>

Examples/Example07-Table/Example7_01.ps1

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ foreach ($Key in $RootDSE.PSObject.Properties.Name) {
2121
}
2222

2323
New-HTML {
24-
New-HTMLTable -DataTable $DataTable2 -HideButtons
24+
New-HTMLTable -DataTable $DataTable2 -Title 'Test1' # Title will be used for filename when using export
2525

26-
#New-HTMLTable -DataTable $DataTable1
26+
New-HTMLTable -DataTable $DataTable1 -HideButtons
2727

2828
#New-HTMLTable -DataTable $TranslatedRootDSE
2929
} -ShowHTML -FilePath $PSScriptRoot\Example7_01.html -Online

Public/New-HTMLTable.ps1

+16-7
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@ function New-HTMLTable {
5757
[alias('Replace')][Array] $CompareReplace,
5858
[alias('RegularExpression')][switch]$SearchRegularExpression,
5959
[ValidateSet('normal', 'break-all', 'keep-all', 'break-word')][string] $WordBreak = 'normal',
60-
[switch] $AutoSize
60+
[switch] $AutoSize,
61+
[string] $Title
6162
)
6263
if (-not $Script:HTMLSchema.Features) {
6364
Write-Warning 'New-HTMLTable - Creation of HTML aborted. Most likely New-HTML is missing.'
@@ -293,17 +294,25 @@ function New-HTMLTable {
293294
$CustomButtons
294295
} else {
295296
foreach ($button in $Buttons) {
296-
if ($button -ne 'pdfHtml5') {
297-
@{
298-
extend = $button
299-
}
300-
} else {
301-
@{
297+
if ($button -eq 'pdfHtml5') {
298+
$ButtonOutput = [ordered] @{
302299
extend = 'pdfHtml5'
303300
pageSize = 'A3'
304301
orientation = 'landscape'
302+
title = $Title
303+
}
304+
} elseif ($button -eq 'pageLength') {
305+
$ButtonOutput = @{
306+
extend = $button
307+
}
308+
} else {
309+
$ButtonOutput = [ordered] @{
310+
extend = $button
311+
title = $Title
305312
}
306313
}
314+
Remove-EmptyValues -Hashtable $ButtonOutput
315+
$ButtonOutput
307316
}
308317
}
309318
)

Public/New-TableButtonCSV.ps1

+10-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,17 @@
11
function New-TableButtonCSV {
22
[alias('TableButtonCSV','EmailTableButtonCSV','New-HTMLTableButtonCSV')]
33
[CmdletBinding()]
4-
param()
4+
param(
5+
[string] $Title
6+
)
7+
8+
$Output = [ordered]@{}
9+
$Output['extend'] = 'csvHtml5'
10+
if ($Title) {
11+
$Output['title'] = $title
12+
}
513
[PSCustomObject] @{
614
Type = 'TableButtonCSV'
7-
Output = @{
8-
extend = 'csvHtml5'
9-
}
15+
Output = $Output
1016
}
1117
}

Public/New-TableButtonCopy.ps1

+9-4
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
function New-TableButtonCopy {
22
[alias('TableButtonCopy', 'EmailTableButtonCopy','New-HTMLTableButtonCopy')]
33
[CmdletBinding()]
4-
param()
4+
param(
5+
[string] $Title
6+
)
57

8+
$Output = [ordered]@{}
9+
$Output['extend'] = 'copyHtml5'
10+
if ($Title) {
11+
$Output['title'] = $title
12+
}
613
[PSCustomObject] @{
714
Type = 'TableButtonCopy'
8-
Output = @{
9-
extend = 'copyHtml5'
10-
}
15+
Output = $Output
1116
}
1217
}

Public/New-TableButtonExcel.ps1

+10-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,17 @@
11
function New-TableButtonExcel {
22
[alias('TableButtonExcel','EmailTableButtonExcel','New-HTMLTableButtonExcel')]
33
[CmdletBinding()]
4-
param()
4+
param(
5+
[string] $Title
6+
)
7+
8+
$Output = @{}
9+
$Output['extend'] = 'excelHtml5'
10+
if ($Title) {
11+
$Output['title'] = $title
12+
}
513
[PSCustomObject] @{
614
Type = 'TableButtonExcel'
7-
Output = @{
8-
extend = 'excelHtml5'
9-
}
15+
Output = $Output
1016
}
1117
}

Public/New-TableButtonPageLength.ps1

+10-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,17 @@
11
function New-TableButtonPageLength {
22
[alias('TableButtonPageLength', 'EmailTableButtonPageLength','New-HTMLTableButtonPageLength')]
33
[CmdletBinding()]
4-
param()
4+
param(
5+
[string] $Title
6+
)
7+
8+
$Output = @{}
9+
$Output['extend'] = 'pageLength'
10+
if ($Title) {
11+
$Output['title'] = $title
12+
}
513
[PSCustomObject] @{
614
Type = 'TableButtonPageLength'
7-
Output = @{
8-
extend = 'pageLength'
9-
}
15+
Output = $Output
1016
}
1117
}

Public/New-TableButtonPrint.ps1

+8-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
11
function New-TableButtonPrint {
22
[alias('TableButtonPrint', 'EmailTableButtonPrint','New-HTMLTableButtonPrint')]
33
[CmdletBinding()]
4-
param()
5-
$Button = @{
6-
extend = 'print'
4+
param(
5+
[string] $Title
6+
)
7+
8+
$Output = @{}
9+
$Output['extend'] = 'print'
10+
if ($Title) {
11+
$Output['title'] = $title
712
}
813
[PSCustomObject] @{
914
Type = 'TableButtonPrint'

0 commit comments

Comments
 (0)