Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
P
pagedjs
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Guillaume
pagedjs
Commits
70240220
Commit
70240220
authored
Jul 04, 2020
by
Guillaume
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
resolves
#224
fold page break before
parent
fa6a12af
Pipeline
#580
passed with stage
in 4 minutes and 46 seconds
Changes
11
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
149 additions
and
4 deletions
+149
-4
fold-page-breaks-after-spec-js-fold-page-breaks-after-should-create-a-pdf-1-snap.png
...-js-fold-page-breaks-after-should-create-a-pdf-1-snap.png
+0
-0
fold-page-breaks-after-spec-js-fold-page-breaks-after-should-create-a-pdf-2-snap.png
...-js-fold-page-breaks-after-should-create-a-pdf-2-snap.png
+0
-0
fold-page-breaks-after-spec-js-fold-page-breaks-after-should-create-a-pdf-3-snap.png
...-js-fold-page-breaks-after-should-create-a-pdf-3-snap.png
+0
-0
fold-page-breaks-after-spec-js-fold-page-breaks-after-should-create-a-pdf-4-snap.png
...-js-fold-page-breaks-after-should-create-a-pdf-4-snap.png
+0
-0
fold-page-breaks-before-spec-js-fold-page-breaks-should-create-a-pdf-1-snap.png
...e-spec-js-fold-page-breaks-should-create-a-pdf-1-snap.png
+0
-0
fold-page-breaks-before-spec-js-fold-page-breaks-should-create-a-pdf-2-snap.png
...e-spec-js-fold-page-breaks-should-create-a-pdf-2-snap.png
+0
-0
fold-page-breaks-after.html
...med-page/no-forced-page-break/fold-page-breaks-after.html
+44
-0
fold-page-breaks-after.spec.js
...-page/no-forced-page-break/fold-page-breaks-after.spec.js
+35
-0
fold-page-breaks-before.html
...ed-page/no-forced-page-break/fold-page-breaks-before.html
+29
-0
fold-page-breaks-before.spec.js
...page/no-forced-page-break/fold-page-breaks-before.spec.js
+33
-0
breaks.js
src/modules/paged-media/breaks.js
+8
-4
No files found.
specs/named-page/no-forced-page-break/__image_snapshots_linux__/fold-page-breaks-after-spec-js-fold-page-breaks-after-should-create-a-pdf-1-snap.png
0 → 100644
View file @
70240220
14.4 KB
specs/named-page/no-forced-page-break/__image_snapshots_linux__/fold-page-breaks-after-spec-js-fold-page-breaks-after-should-create-a-pdf-2-snap.png
0 → 100644
View file @
70240220
16.4 KB
specs/named-page/no-forced-page-break/__image_snapshots_linux__/fold-page-breaks-after-spec-js-fold-page-breaks-after-should-create-a-pdf-3-snap.png
0 → 100644
View file @
70240220
16.6 KB
specs/named-page/no-forced-page-break/__image_snapshots_linux__/fold-page-breaks-after-spec-js-fold-page-breaks-after-should-create-a-pdf-4-snap.png
0 → 100644
View file @
70240220
15.5 KB
specs/named-page/no-forced-page-break/__image_snapshots_linux__/fold-page-breaks-before-spec-js-fold-page-breaks-should-create-a-pdf-1-snap.png
0 → 100644
View file @
70240220
14.4 KB
specs/named-page/no-forced-page-break/__image_snapshots_linux__/fold-page-breaks-before-spec-js-fold-page-breaks-should-create-a-pdf-2-snap.png
0 → 100644
View file @
70240220
16.3 KB
specs/named-page/no-forced-page-break/fold-page-breaks-after.html
0 → 100644
View file @
70240220
<!DOCTYPE html>
<html
dir=
"ltr"
lang=
"en"
>
<head>
<title>
fold-page-breaks-after
</title>
<meta
charset=
"UTF-8"
>
<style>
header
{
page
:
cover
;
}
main
{
page
:
matter
;
}
section
{
break-after
:
page
;
}
footer
{
page
:
footer
;
}
</style>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
>
<script
src=
"../../../dist/paged.polyfill.js"
></script>
</head>
<body>
<header>
<h1>
Title
</h1>
</header>
<main>
<section>
<h2>
Section 1
</h2>
<p>
This is a paragraph.
</p>
</section>
<section>
<h2>
Section 2
</h2>
<p>
This is a paragraph.
</p>
</section>
</main>
<footer>
Copyright
©
2020
</footer>
</body>
</html>
specs/named-page/no-forced-page-break/fold-page-breaks-after.spec.js
0 → 100644
View file @
70240220
const
TIMEOUT
=
10000
;
describe
(
"
fold-page-breaks-after
"
,
()
=>
{
let
page
;
beforeAll
(
async
()
=>
{
page
=
await
loadPage
(
"
named-page/no-forced-page-break/fold-page-breaks-after.html
"
);
return
page
.
rendered
;
},
TIMEOUT
);
afterAll
(
async
()
=>
{
if
(
!
DEBUG
)
{
await
page
.
close
();
}
});
it
(
"
should fold page breaks after
"
,
async
()
=>
{
let
pages
=
await
page
.
$$eval
(
"
.pagedjs_page
"
,
(
r
)
=>
{
return
r
.
length
;
});
expect
(
pages
).
toEqual
(
4
);
});
if
(
!
DEBUG
)
{
it
(
"
should create a pdf
"
,
async
()
=>
{
let
pdf
=
await
page
.
pdf
(
PDF_SETTINGS
);
expect
(
pdf
).
toMatchPDFSnapshot
(
1
);
expect
(
pdf
).
toMatchPDFSnapshot
(
2
);
expect
(
pdf
).
toMatchPDFSnapshot
(
3
);
expect
(
pdf
).
toMatchPDFSnapshot
(
4
);
});
}
}
);
specs/named-page/no-forced-page-break/fold-page-breaks-before.html
0 → 100644
View file @
70240220
<!DOCTYPE html>
<html
dir=
"ltr"
lang=
"en"
>
<head>
<title>
fold-page-breaks-before
</title>
<meta
charset=
"UTF-8"
>
<style>
header
{
page
:
cover
;
}
section
{
break-before
:
page
;
}
</style>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
>
<script
src=
"../../../dist/paged.polyfill.js"
></script>
</head>
<body>
<header>
<h1>
Title
</h1>
</header>
<main>
<section>
<h2>
Section
</h2>
<p>
This is a paragraph.
</p>
</section>
</main>
</body>
</html>
specs/named-page/no-forced-page-break/fold-page-breaks-before.spec.js
0 → 100644
View file @
70240220
const
TIMEOUT
=
10000
;
describe
(
"
fold-page-breaks
"
,
()
=>
{
let
page
;
beforeAll
(
async
()
=>
{
page
=
await
loadPage
(
"
named-page/no-forced-page-break/fold-page-breaks-before.html
"
);
return
page
.
rendered
;
},
TIMEOUT
);
afterAll
(
async
()
=>
{
if
(
!
DEBUG
)
{
await
page
.
close
();
}
});
it
(
"
should fold page breaks before
"
,
async
()
=>
{
let
pages
=
await
page
.
$$eval
(
"
.pagedjs_page
"
,
(
r
)
=>
{
return
r
.
length
;
});
expect
(
pages
).
toEqual
(
2
);
});
if
(
!
DEBUG
)
{
it
(
"
should create a pdf
"
,
async
()
=>
{
let
pdf
=
await
page
.
pdf
(
PDF_SETTINGS
);
expect
(
pdf
).
toMatchPDFSnapshot
(
1
);
expect
(
pdf
).
toMatchPDFSnapshot
(
2
);
});
}
}
);
src/modules/paged-media/breaks.js
View file @
70240220
import
Handler
from
"
../handler
"
;
import
csstree
from
"
css-tree
"
;
import
{
displayedElementAfter
,
displayedElementBefore
}
from
"
../../utils/dom
"
;
import
{
displayedElementAfter
,
displayedElementBefore
,
needsPageBreak
}
from
"
../../utils/dom
"
;
class
Breaks
extends
Handler
{
constructor
(
chunker
,
polisher
,
caller
)
{
...
...
@@ -93,10 +93,14 @@ class Breaks extends Handler {
}
else
if
(
prop
.
property
===
"
break-before
"
)
{
let
nodeBefore
=
displayedElementBefore
(
elements
[
i
],
parsed
);
// Breaks are only allowed between siblings, not between a box and its container.
// If we cannot find a node before we should not break!
// https://drafts.csswg.org/css-break-3/#break-propagation
if
(
nodeBefore
)
{
// Breaks are only allowed between siblings, not between a box and its container.
// If we cannot find a node before we should not break!
// https://drafts.csswg.org/css-break-3/#break-propagation
if
(
prop
.
value
===
"
page
"
&&
needsPageBreak
(
elements
[
i
],
nodeBefore
))
{
// we ignore this explicit page break because an implicit page break is already needed
continue
;
}
elements
[
i
].
setAttribute
(
"
data-break-before
"
,
prop
.
value
);
nodeBefore
.
setAttribute
(
"
data-next-break-before
"
,
prop
.
value
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment