#127 references formatting
This commit is contained in:
parent
7c1b124c94
commit
512a805e8c
@ -157,6 +157,11 @@ public class PaperController {
|
|||||||
return new ResponseEntity<>(latexService.generatePdfFromLatexFile(paper), headers, HttpStatus.OK);
|
return new ResponseEntity<>(latexService.generatePdfFromLatexFile(paper), headers, HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/getFormattedReferences")
|
||||||
|
public ResponseEntity<String> getFormattedReferences(PaperDto paperDto) {
|
||||||
|
return new ResponseEntity<>(paperService.getFormattedReferences(paperDto), new HttpHeaders(), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
private void filterEmptyDeadlines(PaperDto paperDto) {
|
private void filterEmptyDeadlines(PaperDto paperDto) {
|
||||||
paperDto.setDeadlines(paperDto.getDeadlines().stream()
|
paperDto.setDeadlines(paperDto.getDeadlines().stream()
|
||||||
.filter(dto -> dto.getDate() != null || !isEmpty(dto.getDescription()))
|
.filter(dto -> dto.getDate() != null || !isEmpty(dto.getDescription()))
|
||||||
|
@ -344,6 +344,17 @@ public class PaperService {
|
|||||||
: getSpringerReference(referenceDto);
|
: getSpringerReference(referenceDto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getFormattedReferences(PaperDto paperDto) {
|
||||||
|
return String.join("\r\n", paperDto.getReferences()
|
||||||
|
.stream()
|
||||||
|
.filter(r -> !r.getDeleted())
|
||||||
|
.map(r -> {
|
||||||
|
r.setFormatStandard(paperDto.getFormatStandard());
|
||||||
|
return getFormattedReference(r);
|
||||||
|
})
|
||||||
|
.collect(Collectors.toList()));
|
||||||
|
}
|
||||||
|
|
||||||
public String getGostReference(ReferenceDto referenceDto) {
|
public String getGostReference(ReferenceDto referenceDto) {
|
||||||
return MessageFormat.format(referenceDto.getReferenceType() == BOOK ? "{0} {1} - {2}{3}. - {4}с." : "{0} {1}{5} {2}{3}. С. {4}.",
|
return MessageFormat.format(referenceDto.getReferenceType() == BOOK ? "{0} {1} - {2}{3}. - {4}с." : "{0} {1}{5} {2}{3}. С. {4}.",
|
||||||
referenceDto.getAuthors(),
|
referenceDto.getAuthors(),
|
||||||
|
@ -26,4 +26,8 @@
|
|||||||
|
|
||||||
#nav-references a:hover {
|
#nav-references a:hover {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#nav-references #formattedReferencesArea {
|
||||||
|
height: 150px;
|
||||||
}
|
}
|
@ -4,6 +4,7 @@
|
|||||||
var urlFileUpload = "/api/1.0/files/uploadTmpFile";
|
var urlFileUpload = "/api/1.0/files/uploadTmpFile";
|
||||||
var urlFileDownload = "/api/1.0/files/download/";
|
var urlFileDownload = "/api/1.0/files/download/";
|
||||||
var urlPdfGenerating = "/papers/generatePdf";
|
var urlPdfGenerating = "/papers/generatePdf";
|
||||||
|
var urlReferencesFormatting = "/papers/getFormattedReferences";
|
||||||
var urlFileDownloadTmp = "/api/1.0/files/download-tmp/";
|
var urlFileDownloadTmp = "/api/1.0/files/download-tmp/";
|
||||||
|
|
||||||
/* exported MessageTypesEnum */
|
/* exported MessageTypesEnum */
|
||||||
|
@ -260,7 +260,33 @@
|
|||||||
class="btn btn-primary"
|
class="btn btn-primary"
|
||||||
value="Добавить источник"/>
|
value="Добавить источник"/>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="col-12 form-group">
|
||||||
|
<label for="formatStandard">Стандарт форматирования:</label>
|
||||||
|
|
||||||
|
<select class="form-control" th:field="*{formatStandard}"
|
||||||
|
id="formatStandard">
|
||||||
|
<option th:each="standard : ${allFormatStandards}"
|
||||||
|
th:value="${standard}"
|
||||||
|
th:text="${standard.standardName}">standard
|
||||||
|
</option>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-12 form-group">
|
||||||
|
<button id="formatBtn" class="btn btn-primary text-uppercase"
|
||||||
|
onclick="getFormattedReferences()"
|
||||||
|
type="button">
|
||||||
|
Форматировать
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-12">
|
||||||
|
<textarea class="form-control"
|
||||||
|
id="formattedReferencesArea"></textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -474,6 +500,25 @@
|
|||||||
$('#pdfBtn').prop('disabled', false);
|
$('#pdfBtn').prop('disabled', false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getFormattedReferences() {
|
||||||
|
|
||||||
|
var formData = new FormData(document.forms.paperform);
|
||||||
|
var xhr = new XMLHttpRequest();
|
||||||
|
xhr.open("POST", urlReferencesFormatting);
|
||||||
|
console.log(formData);
|
||||||
|
xhr.send(formData);
|
||||||
|
|
||||||
|
xhr.onload = function () {
|
||||||
|
if (this.status == 200) {
|
||||||
|
console.debug(this.response);
|
||||||
|
$('#formattedReferencesArea').val(this.response);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
showFeedbackMessage("Ошибка при форматировании списка литературы", MessageTypesEnum.DANGER);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user