Skip to content

Commit 4cb363f

Browse files
committed
docs: added link to wiki
1 parent 7147313 commit 4cb363f

File tree

2 files changed

+69
-68
lines changed

2 files changed

+69
-68
lines changed

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,4 +174,6 @@ HtmlTextEmail htmlTextEmail = builder
174174

175175
### preview HTML-Version
176176

177-
![sample-table](assets/v2-mail-sample-table-image.png)
177+
![sample-table](assets/v2-mail-sample-table-image.png)
178+
179+
A custom table example could be found in [wiki](https://github.com/rocketbase-io/email-template-builder/wiki/Custom-Table).

email-template-builder/src/test/java/io/rocketbase/mail/EmailTemplateBuilderTest.java

Lines changed: 66 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -163,14 +163,13 @@ public void customTableTest() {
163163
// given
164164
EmailTemplateBuilder.EmailTemplateConfigBuilder builder = EmailTemplateBuilder.builder();
165165

166-
String header = "Invoice {{invoice_id}}";
167-
// when
166+
// when
168167
TbConfiguration config = TbConfiguration.newInstance();
169168
config.getContent().setWidth(800);
170169

171170
builder
172171
.configuration(config)
173-
.header().text(header).and()
172+
.header().text("Invoice {{invoice_id}}").and()
174173
.text("Hi {{name}},").and()
175174
.text("Thanks for using [Product Name]. This is an invoice for your recent purchase");
176175

@@ -298,79 +297,79 @@ public void forcedHtml() {
298297
sentEmail("forcedHtml", htmlTextEmail);
299298
}
300299

301-
@Getter
302-
public static class CustomTable implements TableLine {
300+
@Getter
301+
public static class CustomTable implements TableLine {
303302

304-
List<List<Object>> headerRows = new ArrayList<>();
305-
List<List<Object>> itemRows = new ArrayList<>();
306-
List<List<Object>> footerRows = new ArrayList<>();
307-
@Getter(AccessLevel.PRIVATE)
308-
EmailTemplateBuilder.EmailTemplateConfigBuilder builder;
309-
private AtomicInteger posCounter = new AtomicInteger(1);
303+
List<List<Object>> headerRows = new ArrayList<>();
304+
List<List<Object>> itemRows = new ArrayList<>();
305+
List<List<Object>> footerRows = new ArrayList<>();
306+
@Getter(AccessLevel.PRIVATE)
307+
EmailTemplateBuilder.EmailTemplateConfigBuilder builder;
308+
private AtomicInteger posCounter = new AtomicInteger(1);
310309

311-
public CustomTable(EmailTemplateBuilder.EmailTemplateConfigBuilder builder) {
312-
this.builder = builder;
310+
public CustomTable(EmailTemplateBuilder.EmailTemplateConfigBuilder builder) {
311+
this.builder = builder;
313312

314-
headerRows.add(Arrays.asList("Pos", "Description", "Tax", "Amount"));
315-
}
313+
headerRows.add(Arrays.asList("Pos", "Description", "Tax", "Amount"));
314+
}
316315

317-
@Override
318-
public EmailTemplateBuilder.EmailTemplateConfigBuilder and() {
319-
return builder;
320-
}
316+
@Override
317+
public EmailTemplateBuilder.EmailTemplateConfigBuilder and() {
318+
return builder;
319+
}
321320

322-
@Override
323-
public HtmlTextEmail build() {
324-
return builder.build();
325-
}
321+
@Override
322+
public HtmlTextEmail build() {
323+
return builder.build();
324+
}
326325

327-
public CustomTable itemRow(TableCellImage image, TableCellLink description, BigDecimal tax, BigDecimal amount) {
328-
itemRows.add(Arrays.asList(posCounter.getAndIncrement(), image, description, tax, amount));
329-
return this;
330-
}
326+
public CustomTable itemRow(TableCellImage image, TableCellLink description, BigDecimal tax, BigDecimal amount) {
327+
itemRows.add(Arrays.asList(posCounter.getAndIncrement(), image, description, tax, amount));
328+
return this;
329+
}
331330

332-
public CustomTable footerRow(TableCellHtml label, TableCellHtml amount) {
333-
footerRows.add(Arrays.asList(label, amount));
334-
return this;
335-
}
331+
public CustomTable footerRow(TableCellHtml label, TableCellHtml amount) {
332+
footerRows.add(Arrays.asList(label, amount));
333+
return this;
334+
}
336335

337-
@Override
338-
public List<ColumnConfig> getHeader() {
339-
return Arrays.asList(new ColumnConfig()
340-
.center(),
341-
new ColumnConfig()
342-
.colspan(2)
343-
.width("60%"),
344-
new ColumnConfig()
345-
.alignment(Alignment.RIGHT),
346-
new ColumnConfig()
347-
.width("20%")
348-
.alignment(Alignment.RIGHT));
349-
}
336+
@Override
337+
public List<ColumnConfig> getHeader() {
338+
return Arrays.asList(new ColumnConfig()
339+
.center(),
340+
new ColumnConfig()
341+
.colspan(2)
342+
.width("60%"),
343+
new ColumnConfig()
344+
.alignment(Alignment.RIGHT),
345+
new ColumnConfig()
346+
.width("20%")
347+
.alignment(Alignment.RIGHT));
348+
}
350349

351-
@Override
352-
public List<ColumnConfig> getItem() {
353-
return Arrays.asList(new ColumnConfig().center(),
354-
new ColumnConfig()
355-
.width(90),
356-
new ColumnConfig()
357-
.lighter(),
358-
new ColumnConfig()
359-
.numberFormat("# '%'")
360-
.italic()
361-
.right(),
362-
new ColumnConfig()
363-
.numberFormat("#.## '€'")
364-
.right());
365-
}
350+
@Override
351+
public List<ColumnConfig> getItem() {
352+
return Arrays.asList(new ColumnConfig().center(),
353+
new ColumnConfig()
354+
.width(90),
355+
new ColumnConfig()
356+
.lighter(),
357+
new ColumnConfig()
358+
.numberFormat("# '%'")
359+
.italic()
360+
.right(),
361+
new ColumnConfig()
362+
.numberFormat("#.## '€'")
363+
.right());
364+
}
366365

367-
@Override
368-
public List<ColumnConfig> getFooter() {
369-
return Arrays.asList(new ColumnConfig()
370-
.colspan(4)
371-
.alignment(Alignment.RIGHT),
372-
new ColumnConfig()
373-
.alignment(Alignment.RIGHT));
366+
@Override
367+
public List<ColumnConfig> getFooter() {
368+
return Arrays.asList(new ColumnConfig()
369+
.colspan(4)
370+
.alignment(Alignment.RIGHT),
371+
new ColumnConfig()
372+
.alignment(Alignment.RIGHT));
373+
}
374374
}
375375
}
376-
}

0 commit comments

Comments
 (0)