Skip to content

Commit d069e7d

Browse files
committed
feat: Handle number list start number in export to pdf
1 parent babefe9 commit d069e7d

File tree

6 files changed

+165
-7
lines changed

6 files changed

+165
-7
lines changed

examples/05-interoperability/05-converting-blocks-to-pdf/App.tsx

+18-1
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,24 @@ export default function App() {
157157
},
158158
{
159159
type: "numberedListItem",
160-
content: "Numbered List Item",
160+
content: "Numbered List Item starting at 10",
161+
props: {
162+
start: 10,
163+
},
164+
},
165+
{
166+
type: "numberedListItem",
167+
content: "Numbered List Item continuing from 10",
168+
children: [
169+
{
170+
type: "numberedListItem",
171+
content: "Numbered List Item Nested 1",
172+
},
173+
{
174+
type: "numberedListItem",
175+
content: "Numbered List Item Nested 2",
176+
},
177+
],
161178
},
162179
{
163180
type: "checkListItem",

examples/05-interoperability/06-converting-blocks-to-docx/App.tsx

+18-1
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,24 @@ export default function App() {
152152
},
153153
{
154154
type: "numberedListItem",
155-
content: "Numbered List Item",
155+
content: "Numbered List Item starting at 10",
156+
props: {
157+
start: 10,
158+
},
159+
},
160+
{
161+
type: "numberedListItem",
162+
content: "Numbered List Item continuing from 10",
163+
children: [
164+
{
165+
type: "numberedListItem",
166+
content: "Numbered List Item Nested 1",
167+
},
168+
{
169+
type: "numberedListItem",
170+
content: "Numbered List Item Nested 2",
171+
},
172+
],
156173
},
157174
{
158175
type: "checkListItem",

packages/xl-pdf-exporter/src/pdf/__snapshots__/example.jsx

+54-2
Original file line numberDiff line numberDiff line change
@@ -261,16 +261,68 @@
261261
<view>
262262
<view>
263263
<text>
264-
1.
264+
10.
265265
</text>
266266
</view>
267267
<text>
268268
<text>
269-
Numbered List Item
269+
Numbered List Item starting at 10
270270
</text>
271271
</text>
272272
</view>
273273
</view>
274+
<view
275+
style="text-align: left;"
276+
>
277+
<view>
278+
<view>
279+
<text>
280+
11.
281+
</text>
282+
</view>
283+
<text>
284+
<text>
285+
Numbered List Item continuing from 10
286+
</text>
287+
</text>
288+
</view>
289+
</view>
290+
<view
291+
style="margin-left: 18px;"
292+
>
293+
<view
294+
style="text-align: left;"
295+
>
296+
<view>
297+
<view>
298+
<text>
299+
1.
300+
</text>
301+
</view>
302+
<text>
303+
<text>
304+
Numbered List Item Nested 1
305+
</text>
306+
</text>
307+
</view>
308+
</view>
309+
<view
310+
style="text-align: left;"
311+
>
312+
<view>
313+
<view>
314+
<text>
315+
2.
316+
</text>
317+
</view>
318+
<text>
319+
<text>
320+
Numbered List Item Nested 2
321+
</text>
322+
</text>
323+
</view>
324+
</view>
325+
</view>
274326
<view
275327
style="text-align: left;"
276328
>

packages/xl-pdf-exporter/src/pdf/__snapshots__/exampleWithHeaderAndFooter.jsx

+54-2
Original file line numberDiff line numberDiff line change
@@ -266,16 +266,68 @@
266266
<view>
267267
<view>
268268
<text>
269-
1.
269+
10.
270270
</text>
271271
</view>
272272
<text>
273273
<text>
274-
Numbered List Item
274+
Numbered List Item starting at 10
275275
</text>
276276
</text>
277277
</view>
278278
</view>
279+
<view
280+
style="text-align: left;"
281+
>
282+
<view>
283+
<view>
284+
<text>
285+
11.
286+
</text>
287+
</view>
288+
<text>
289+
<text>
290+
Numbered List Item continuing from 10
291+
</text>
292+
</text>
293+
</view>
294+
</view>
295+
<view
296+
style="margin-left: 18px;"
297+
>
298+
<view
299+
style="text-align: left;"
300+
>
301+
<view>
302+
<view>
303+
<text>
304+
1.
305+
</text>
306+
</view>
307+
<text>
308+
<text>
309+
Numbered List Item Nested 1
310+
</text>
311+
</text>
312+
</view>
313+
</view>
314+
<view
315+
style="text-align: left;"
316+
>
317+
<view>
318+
<view>
319+
<text>
320+
2.
321+
</text>
322+
</view>
323+
<text>
324+
<text>
325+
Numbered List Item Nested 2
326+
</text>
327+
</text>
328+
</view>
329+
</view>
330+
</view>
279331
<view
280332
style="text-align: left;"
281333
>

packages/xl-pdf-exporter/src/pdf/pdfExporter.tsx

+3
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,9 @@ export class PDFExporter<
135135
for (const b of blocks) {
136136
if (b.type === "numberedListItem") {
137137
numberedListIndex++;
138+
if (b.props.start !== undefined) {
139+
numberedListIndex = b.props.start as number;
140+
}
138141
} else {
139142
numberedListIndex = 0;
140143
}

shared/testDocument.ts

+18-1
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,24 @@ export const testDocument = partialBlocksToBlocksForTesting(
137137
},
138138
{
139139
type: "numberedListItem",
140-
content: "Numbered List Item",
140+
content: "Numbered List Item starting at 10",
141+
props: {
142+
start: 10,
143+
},
144+
},
145+
{
146+
type: "numberedListItem",
147+
content: "Numbered List Item continuing from 10",
148+
children: [
149+
{
150+
type: "numberedListItem",
151+
content: "Numbered List Item Nested 1",
152+
},
153+
{
154+
type: "numberedListItem",
155+
content: "Numbered List Item Nested 2",
156+
},
157+
],
141158
},
142159
{
143160
type: "checkListItem",

0 commit comments

Comments
 (0)