diff options
| author | Michael Williamson <mike@zwobble.org> | 2024-11-30 12:13:49 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2024-11-30 12:13:49 +0000 |
| commit | a2d7d044d9add9f0c381fdd8821902e08b46e1ad (patch) | |
| tree | 616fa875687c47866f934474e16c7864b898b5f6 /src/main/java/org/zwobble/mammoth | |
| parent | 1a0d6b725bfb205dae89c6ea71341e504a5a9f08 (diff) | |
Convert checkbox document elements to HTML checkboxes
Diffstat (limited to 'src/main/java/org/zwobble/mammoth')
3 files changed, 31 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtml.java b/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtml.java index 80f807e..7618db7 100644 --- a/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtml.java +++ b/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtml.java @@ -299,6 +299,18 @@ public class DocumentToHtml { } @Override + public List<HtmlNode> visit(Checkbox checkbox, Context context) { + Map<String, String> attributes = new HashMap<>(); + attributes.put("type", "checkbox"); + + if (checkbox.checked()) { + attributes.put("checked", "checked"); + } + + return list(Html.element("input", attributes)); + } + + @Override public List<HtmlNode> visit(Bookmark bookmark, Context context) { return list(Html.element("a", map("id", generateId(bookmark.getName())), list(Html.FORCE_WRITE))); } diff --git a/src/main/java/org/zwobble/mammoth/internal/documents/Checkbox.java b/src/main/java/org/zwobble/mammoth/internal/documents/Checkbox.java new file mode 100644 index 0000000..62e2944 --- /dev/null +++ b/src/main/java/org/zwobble/mammoth/internal/documents/Checkbox.java @@ -0,0 +1,18 @@ +package org.zwobble.mammoth.internal.documents; + +public class Checkbox implements DocumentElement { + private final boolean checked; + + public Checkbox(boolean checked) { + this.checked = checked; + } + + public boolean checked() { + return this.checked; + } + + @Override + public <T, U> T accept(DocumentElementVisitor<T, U> visitor, U context) { + return visitor.visit(this, context); + } +} diff --git a/src/main/java/org/zwobble/mammoth/internal/documents/DocumentElementVisitor.java b/src/main/java/org/zwobble/mammoth/internal/documents/DocumentElementVisitor.java index 908a9b7..ea67113 100644 --- a/src/main/java/org/zwobble/mammoth/internal/documents/DocumentElementVisitor.java +++ b/src/main/java/org/zwobble/mammoth/internal/documents/DocumentElementVisitor.java @@ -13,6 +13,7 @@ public interface DocumentElementVisitor<T, U> { T visit(TableCell tableCell, U context); T visit(Hyperlink hyperlink, U context); + T visit(Checkbox checkbox, U context); T visit(Bookmark bookmark, U context); T visit(NoteReference noteReference, U context); T visit(CommentReference commentReference, U context); |
