confirm delete paper
This commit is contained in:
parent
c2c420027b
commit
c88ce3ac37
@ -1,127 +1,14 @@
|
|||||||
var urlPapers = "/api/1.0/papers";
|
function deletePaper() {
|
||||||
var urlPaperStatuses = "/api/1.0/papers/statuses";
|
|
||||||
var urlDeletePaper = "/api/1.0/papers/";
|
|
||||||
var urlFilterPaper = "/api/1.0/papers/filter"
|
|
||||||
|
|
||||||
function showPapers(papersElement, paperRowClass) {
|
|
||||||
getFromRest(urlPapers, function (paperList) {
|
|
||||||
paperList.forEach(function (paper, index) {
|
|
||||||
$(papersElement).parent().append("<div class='row text-left paper-row'>" +
|
|
||||||
" <div class='col'>" +
|
|
||||||
" <span class='fa-stack fa-1x'>\n" +
|
|
||||||
" <i class='fa fa-circle fa-stack-2x " + getPaperStatusClass(paper.status) + "'></i>" +
|
|
||||||
" <i class='fa fa-file-text-o fa-stack-1x fa-inverse'></i>" +
|
|
||||||
" </span>" +
|
|
||||||
" <a href='paper?id=" + paper.id + "" +
|
|
||||||
"'><span>" + (index + 1) + ". " + paper.title + "</span></a>" +
|
|
||||||
"<span class='remove-paper d-none pull-right' onclick=\"deletePaper(" + paper.id + ",'" + papersElement + "', '" + paperRowClass + "')\">" +
|
|
||||||
"<i class=\"fa fa-trash\" aria-hidden=\"true\"></i></span>" +
|
|
||||||
"</div></div>");
|
|
||||||
});
|
|
||||||
|
|
||||||
$(paperRowClass).mouseenter(function (event) {
|
|
||||||
var paperRow = $(event.target).closest(paperRowClass);
|
|
||||||
$(paperRow).css("background-color", "#f8f9fa");
|
|
||||||
$(paperRow).find(".remove-paper").removeClass("d-none");
|
|
||||||
|
|
||||||
});
|
|
||||||
$(paperRowClass).mouseleave(function (event) {
|
|
||||||
var paperRow = $(event.target).closest(paperRowClass);
|
|
||||||
$(paperRow).css("background-color", "white");
|
|
||||||
$(paperRow).closest(paperRowClass).find(".remove-paper").addClass("d-none");
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function filterPapers(papersElement, paperRowClass, authorId, year) {
|
|
||||||
var paperData = JSON.stringify({
|
|
||||||
"authorId": authorId,
|
|
||||||
"year": year
|
|
||||||
});
|
|
||||||
postToRest(urlFilterPaper, paperData, function (data) {
|
|
||||||
$(paperRowClass).remove();
|
|
||||||
if(data.length > 0){
|
|
||||||
data.forEach(function (paper, index) {
|
|
||||||
$(papersElement).parent().append("<div class='row text-left paper-row'>" +
|
|
||||||
" <div class='col-md-11'>" +
|
|
||||||
" <span class='fa-stack fa-1x'>\n" +
|
|
||||||
" <i class='fa fa-circle fa-stack-2x " + getPaperStatusClass(paper.status) + "'></i>" +
|
|
||||||
" <i class='fa fa-file-text-o fa-stack-1x fa-inverse'></i>" +
|
|
||||||
" </span>" +
|
|
||||||
" <a href='paper?id=" + paper.id + "" +
|
|
||||||
"'><span>" + paper.title + "</span></a></div>" +
|
|
||||||
"<div class='col-md-1'>" +
|
|
||||||
"<span class='remove-paper d-none' onclick=\"deletePaper(" + paper.id + ",'" + papersElement + "', '" + paperRowClass + "')\">" +
|
|
||||||
"<i class=\"fa fa-trash\" aria-hidden=\"true\"></i></span>" +
|
|
||||||
" </div></div>");
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
$(paperRowClass).mouseenter(function (event) {
|
|
||||||
var paperRow = $(event.target).closest(paperRowClass);
|
|
||||||
$(paperRow).css("background-color", "#f8f9fa");
|
|
||||||
$(paperRow).find(".remove-paper").removeClass("d-none");
|
|
||||||
|
|
||||||
});
|
|
||||||
$(paperRowClass).mouseleave(function (event) {
|
|
||||||
var paperRow = $(event.target).closest(paperRowClass);
|
|
||||||
$(paperRow).css("background-color", "white");
|
|
||||||
$(paperRow).closest(paperRowClass).find(".remove-paper").addClass("d-none");
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function deletePaper(id, papersElement, paperRowClass) {
|
|
||||||
var id = $(idElement).parent().find('.id-class').val();
|
|
||||||
$("#remove-paper-modal").modal('show');
|
$("#remove-paper-modal").modal('show');
|
||||||
|
|
||||||
$("#modal-btn-yes").on("click", function () {
|
$("#modal-btn-yes").on("click", function () {
|
||||||
deleteFromRest(urlDeletePaper + id, function () {
|
return true;
|
||||||
showFeedbackMessage("Статья удалена");
|
|
||||||
$(paperRowClass).remove();
|
|
||||||
showPapers(papersElement, paperRowClass);
|
|
||||||
});
|
|
||||||
$("#remove-paper-modal").modal('hide');
|
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#modal-btn-no").on("click", function () {
|
$("#modal-btn-no").on("click", function () {
|
||||||
$("#remove-paper-modal").modal('hide');
|
$("#remove-paper-modal").modal('hide');
|
||||||
});
|
});
|
||||||
}
|
return false;
|
||||||
|
|
||||||
function addPaper(title, status, datePublish, dateUpdate, deadline, comment, locked, tmpFileName, authors) {
|
|
||||||
var paperData = JSON.stringify({
|
|
||||||
"title": title,
|
|
||||||
"status": status,
|
|
||||||
"deadlineDate":deadline,
|
|
||||||
"comment": comment
|
|
||||||
});
|
|
||||||
postToRest(urlPapers, paperData, function (data) {
|
|
||||||
alert(data);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function getPaperStatusClass(status) {
|
|
||||||
switch (status) {
|
|
||||||
case 'DRAFT':
|
|
||||||
return "text-draft"
|
|
||||||
case 'ON_PREPARATION':
|
|
||||||
return "text-primary";
|
|
||||||
case 'ON_REVIEW':
|
|
||||||
return "text-primary";
|
|
||||||
case 'COMPLETED':
|
|
||||||
return "text-success";
|
|
||||||
case 'ATTENTION':
|
|
||||||
return "text-warning";
|
|
||||||
case 'FAILED':
|
|
||||||
return "text-failed";
|
|
||||||
default:
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function showPaperDashboard(dashboardElement) {
|
function showPaperDashboard(dashboardElement) {
|
||||||
|
@ -31,7 +31,8 @@
|
|||||||
</span>
|
</span>
|
||||||
<a th:href="@{'paper?id='+${paper.id}}"><span th:text="${paper.title}"></span></a>
|
<a th:href="@{'paper?id='+${paper.id}}"><span th:text="${paper.title}"></span></a>
|
||||||
<input class="id-class" type="hidden" th:value="${paper.id}"/>
|
<input class="id-class" type="hidden" th:value="${paper.id}"/>
|
||||||
<a class="remove-paper pull-right d-none" th:href="@{'/papers/delete/'+${paper.id}}">
|
<a class="remove-paper pull-right d-none" th:href="@{'/papers/delete/'+${paper.id}}"
|
||||||
|
data-confirm="Удалить статью?">
|
||||||
<i class="fa fa-trash" aria-hidden="true"></i>
|
<i class="fa fa-trash" aria-hidden="true"></i>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
<body>
|
<body>
|
||||||
|
|
||||||
<div class="container" layout:fragment="content">
|
<div class="container" layout:fragment="content">
|
||||||
|
<form id="papers-form" method="get" th:action="@{'/papers/papers'}">
|
||||||
|
<input th:type="hidden" name="paperDeleteId" id="paperDeleteId"/>
|
||||||
<section id="papers">
|
<section id="papers">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row" id="paper-list">
|
<div class="row" id="paper-list">
|
||||||
@ -40,22 +42,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<div class="modal fade" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true"
|
<div id="modalDelete"/>
|
||||||
id="remove-paper-modal">
|
</form>
|
||||||
<div class="modal-dialog modal-sm">
|
|
||||||
<div class="modal-content">
|
|
||||||
<div class="modal-header">
|
|
||||||
<h8 class="modal-title" id="myModalLabel">Удалить статью?</h8>
|
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Закрыть"><span
|
|
||||||
aria-hidden="true">×</span></button>
|
|
||||||
</div>
|
|
||||||
<div class="modal-footer">
|
|
||||||
<button type="button" class="btn btn-default" id="modal-btn-yes">Да</button>
|
|
||||||
<button type="button" class="btn btn-primary" id="modal-btn-no">Нет</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script src="/js/papers.js"></script>
|
<script src="/js/papers.js"></script>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
@ -72,9 +60,32 @@
|
|||||||
$(paperRow).css("background-color", "white");
|
$(paperRow).css("background-color", "white");
|
||||||
$(paperRow).closest(".paper-row").find(".remove-paper").addClass("d-none");
|
$(paperRow).closest(".paper-row").find(".remove-paper").addClass("d-none");
|
||||||
});
|
});
|
||||||
jQuery('.filter').on('change','#year',function(){
|
|
||||||
|
|
||||||
filterPapers("#paper-list", ".paper-row",'1','2018');
|
$('a[data-confirm]').click(function(ev) {
|
||||||
|
var href = $(this).attr('href');
|
||||||
|
if (!$('#dataConfirmModal').length) {
|
||||||
|
$('#modalDelete').append('<div class="modal fade" id="dataConfirmModal" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true"\n' +
|
||||||
|
' >\n' +
|
||||||
|
' <div class="modal-dialog modal-sm">\n' +
|
||||||
|
' <div class="modal-content">\n' +
|
||||||
|
' <div class="modal-header">\n' +
|
||||||
|
' <h8 class="modal-title" id="myModalLabel">Удалить статью?</h8>\n' +
|
||||||
|
' <button type="button" class="close" data-dismiss="modal" aria-label="Закрыть"><span\n' +
|
||||||
|
' aria-hidden="true">×</span></button>\n' +
|
||||||
|
' </div>\n' +
|
||||||
|
|
||||||
|
' <div class="modal-footer">\n' +
|
||||||
|
' <a class="btn btn-primary" id="dataConfirmOK">Да</a>'+
|
||||||
|
' <button class="btn primary" data-dismiss="modal" aria-hidden="true">Нет</button>'+
|
||||||
|
' </div>\n' +
|
||||||
|
' </div>\n' +
|
||||||
|
' </div>\n' +
|
||||||
|
' </div>');
|
||||||
|
}
|
||||||
|
$('#dataConfirmModal').find('#myModalLabel').text($(this).attr('data-confirm'));
|
||||||
|
$('#dataConfirmOK').attr('href', href);
|
||||||
|
$('#dataConfirmModal').modal({show:true});
|
||||||
|
return false;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
/*]]>*/
|
/*]]>*/
|
||||||
|
Loading…
Reference in New Issue
Block a user