#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);
|
||||
}
|
||||
|
||||
@PostMapping("/getFormattedReferences")
|
||||
public ResponseEntity<String> getFormattedReferences(PaperDto paperDto) {
|
||||
return new ResponseEntity<>(paperService.getFormattedReferences(paperDto), new HttpHeaders(), HttpStatus.OK);
|
||||
}
|
||||
|
||||
private void filterEmptyDeadlines(PaperDto paperDto) {
|
||||
paperDto.setDeadlines(paperDto.getDeadlines().stream()
|
||||
.filter(dto -> dto.getDate() != null || !isEmpty(dto.getDescription()))
|
||||
|
@ -344,6 +344,17 @@ public class PaperService {
|
||||
: 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) {
|
||||
return MessageFormat.format(referenceDto.getReferenceType() == BOOK ? "{0} {1} - {2}{3}. - {4}с." : "{0} {1}{5} {2}{3}. С. {4}.",
|
||||
referenceDto.getAuthors(),
|
||||
|
@ -27,3 +27,7 @@
|
||||
#nav-references a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#nav-references #formattedReferencesArea {
|
||||
height: 150px;
|
||||
}
|
@ -4,6 +4,7 @@
|
||||
var urlFileUpload = "/api/1.0/files/uploadTmpFile";
|
||||
var urlFileDownload = "/api/1.0/files/download/";
|
||||
var urlPdfGenerating = "/papers/generatePdf";
|
||||
var urlReferencesFormatting = "/papers/getFormattedReferences";
|
||||
var urlFileDownloadTmp = "/api/1.0/files/download-tmp/";
|
||||
|
||||
/* exported MessageTypesEnum */
|
||||
|
@ -260,7 +260,33 @@
|
||||
class="btn btn-primary"
|
||||
value="Добавить источник"/>
|
||||
</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>
|
||||
@ -474,6 +500,25 @@
|
||||
$('#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>
|
||||
</div>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user