Skip to content

Commit 17011ec

Browse files
committed
v2.5.25
`data-pdfmake` is now handled the same way across the library
1 parent 5028b8b commit 17011ec

File tree

8 files changed

+23
-13
lines changed

8 files changed

+23
-13
lines changed

browser.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/browser-2.5.24.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

docs/browser-2.5.25.js

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

docs/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ <h1>HTML to PDFMake convertor</h1>
116116
<div id="pdf_ie" style="display:none;padding:3em">The PDF file is sent to you for download. Use a modern browser (like Chrome or Firefox) to display the PDF in this page.</div>
117117
</div>
118118
</div>
119-
<script src="browser-2.5.24.js"></script>
119+
<script src="browser-2.5.25.js"></script>
120120
<script src="https://cdn.jsdelivr.net/npm/pdfmake@latest/build/pdfmake.min.js"></script>
121121
<script src="https://cdn.jsdelivr.net/npm/pdfmake@latest/build/vfs_fonts.js"></script>
122122
<script>

example.pdf

0 Bytes
Binary file not shown.

index.js

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -401,8 +401,7 @@ function htmlToPdfMake(htmlText, options) {
401401
// check if we have some data-pdfmake to apply
402402
if (element.dataset && element.dataset.pdfmake) {
403403
// handle when people will use simple quotes, e.g. <table data-pdfmake="{'layout':'noBorders'}">
404-
dataset = element.dataset.pdfmake;
405-
if (dataset.charAt(1) === "'") dataset=dataset.replace(/'/g,'"');
404+
dataset = element.dataset.pdfmake.replace(/'/g,'"');
406405
try {
407406
dataset = JSON.parse(dataset);
408407
for (key in dataset) {
@@ -456,9 +455,14 @@ function htmlToPdfMake(htmlText, options) {
456455
};
457456
// we can override the default HR style with "data-pdfmake"
458457
if (element.dataset && element.dataset.pdfmake) {
459-
dataset = JSON.parse(element.dataset.pdfmake);
460-
for (key in dataset) {
461-
styleHR[key] = dataset[key];
458+
dataset = element.dataset.pdfmake.replace(/'/g, '"');
459+
try {
460+
dataset = JSON.parse(dataset);
461+
for (key in dataset) {
462+
styleHR[key] = dataset[key];
463+
}
464+
} catch (e) {
465+
console.error(e);
462466
}
463467
}
464468

@@ -592,9 +596,15 @@ function htmlToPdfMake(htmlText, options) {
592596

593597
// check if we have some data-pdfmake to apply
594598
if (['HR','TABLE'].indexOf(nodeName) === -1 && element.dataset && element.dataset.pdfmake) {
595-
dataset = JSON.parse(element.dataset.pdfmake);
596-
for (key in dataset) {
597-
ret[key] = dataset[key];
599+
// handle when people will use simple quotes
600+
dataset = element.dataset.pdfmake.replace(/'/g, '"');
601+
try {
602+
dataset = JSON.parse(dataset);
603+
for (key in dataset) {
604+
ret[key] = dataset[key];
605+
}
606+
} catch (e) {
607+
console.error(e);
598608
}
599609
}
600610

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "html-to-pdfmake",
3-
"version": "2.5.24",
3+
"version": "2.5.25",
44
"description": "Convert HTML code to PDFMake",
55
"main": "index.js",
66
"scripts": {

test/unit.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1196,7 +1196,7 @@ test("unit tests", function(t) {
11961196
});
11971197

11981198
t.test("columns",function(t) {
1199-
var html = `<div data-pdfmake-type="columns"><div data-pdfmake='{"width": "*"}'></div><div style="width:auto">stuff centered</div><div data-pdfmake='{"width": "*"}'></div></div>`;
1199+
var html = `<div data-pdfmake-type="columns"><div data-pdfmake='{"width": "*"}'></div><div style="width:auto">stuff centered</div><div data-pdfmake="{ 'width': '*' } "></div></div>`;
12001200
var ret = htmlToPdfMake(html, {
12011201
window:window
12021202
});

0 commit comments

Comments
 (0)