Compare commits

..

No commits in common. '938f2ef619227bb6f1b6e9a1fc87abb1983da56d' and '9af57be30604f10cd149159a729374ecd2af6c71' have entirely different histories.

@ -53,11 +53,6 @@ data class Document(
updatedAt = Instant.now(),
dateFields = dateFields.filter { it.id != fieldId }.toSet()
)
fun updated() =
copy(
updatedAt = Instant.now()
)
}
@Table("T_DOCUMENT")

@ -1,20 +1,15 @@
package wanijo.wanijo2.domain.handler
import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Transactional
import wanijo.wanijo2.domain.DocumentDao
import wanijo.wanijo2.domain.DocumentTagging
import wanijo.wanijo2.domain.DocumentTaggingDao
import wanijo.wanijo2.domain.event.AssignTaggingCommand
import wanijo.wanijo2.http.DocumentNotFound
@Service
class AssignTaggingHandler(
val taggingDao: DocumentTaggingDao,
val documentDao: DocumentDao
val taggingDao: DocumentTaggingDao
) {
@Transactional
fun exec(command: AssignTaggingCommand) {
taggingDao.save(
DocumentTagging.between(
@ -22,11 +17,6 @@ class AssignTaggingHandler(
command.tagId
)
)
documentDao.save(
(documentDao
.findById(command.documentId) ?: throw DocumentNotFound())
.updated()
)
}
}

@ -1,29 +1,19 @@
package wanijo.wanijo2.domain.handler
import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Transactional
import wanijo.wanijo2.domain.DocumentDao
import wanijo.wanijo2.domain.DocumentTaggingDao
import wanijo.wanijo2.domain.event.DeleteTaggingCommand
import wanijo.wanijo2.http.DocumentNotFound
@Service
class DeleteTaggingHandler(
val taggingDao: DocumentTaggingDao,
val documentDao: DocumentDao
val taggingDao: DocumentTaggingDao
) {
@Transactional
fun exec(command: DeleteTaggingCommand) {
taggingDao.delete(
command.documentId,
command.tagId
)
documentDao.save(
(documentDao
.findById(command.documentId) ?: throw DocumentNotFound())
.updated()
)
}
}

@ -18,9 +18,6 @@ class ShowController(
val tagDao: TagDao
) {
val markdownParser: Parser = Parser.builder().build()
val htmlRenderer: HtmlRenderer = HtmlRenderer.builder().build()
@GetMapping("/document/{id}")
fun show(
model: Model,
@ -29,9 +26,11 @@ class ShowController(
val document = docDao.findById(id) ?: throw DocumentNotFound()
model["document"] = document
model["descHtml"] = markdownParser.parse(document.description).let {
htmlRenderer.render(it)
val descHtml = Parser.builder().build().parse(document.description).let {
HtmlRenderer.builder().build().render(it)
}
model["descHtml"] = descHtml
val documentTags = tagDao.ofDocument(id)
model["documentTags"] = documentTags.sortedBy { it.name.lowercase() }

@ -74,10 +74,7 @@ main {
.tag-block {
border: 1px solid var(--light-grey);
border-left: .5rem solid AccentColor;
[type=submit] {
padding: .5rem;
}
padding: .2rem .2rem .2rem .5rem;
}
fieldset {
@ -135,25 +132,6 @@ form {
}
}
form.vert {
display: grid;
grid-template-columns: 100%;
grid-auto-flow: row;
row-gap: 1rem;
label {
grid-column: 1;
}
input, textarea, select, button, .form__widget {
grid-column: 1;
}
textarea {
min-height: 20rem;
}
}
.form-link {
display: inline;

@ -8,7 +8,7 @@
</head>
<body>
<main id="content" layout:fragment="content">
<form th:action="@{/document/new}" th:object="${form}" method="post" class="vert">
<form th:action="@{/document/new}" th:object="${form}" method="post">
<label for="name">name</label>
<input id="name" type="text" th:field="*{name}" required>
@ -24,7 +24,7 @@
</label>
</div>
<label for="tags">tags <small>(csv)</small></label>
<label for="tags">tags</label>
<input id="tags" type="text" th:field="*{newTags}">
<button type="submit">

@ -71,7 +71,7 @@
<form class="form-inline" th:action="@{/document/{id}/field/label/delete(id=${document.id})}" method="post">
<input type="hidden" name="labelFieldId" th:value="${field.id}">
<input type="hidden" name="documentId" th:value="${document.id}">
<button type="submit" class="warning">löschen</button>
<button type="submit" class="warning">weg</button>
</form>
</dt>
<dd th:text="${field.value}"></dd>
@ -87,7 +87,7 @@
<form class="form-inline" th:action="@{/document/{id}/field/date/delete(id=${document.id})}" method="post">
<input type="hidden" name="dateFieldId" th:value="${field.id}">
<input type="hidden" name="documentId" th:value="${document.id}">
<button type="submit" class="warning">löschen</button>
<button type="submit" class="warning">weg</button>
</form>
</dt>
<dd th:text="${#temporals.format(field.value, 'yyyy-MM-dd HH:mm')}"></dd>

Loading…
Cancel
Save