tab with latex editing

This commit is contained in:
Семенова Мария 2019-03-23 22:49:11 +04:00
parent c21e8afc1f
commit c86f58d1b2
2 changed files with 133 additions and 98 deletions

View File

@ -3,3 +3,7 @@
justify-content: center; justify-content: center;
flex-direction: column; flex-direction: column;
} }
.nav-tabs {
margin-bottom: 20px;
}

View File

@ -23,113 +23,144 @@
<form id="paper-form" method="post" th:action="@{'/papers/paper?id='+ *{id == null ? '' : id} + ''}" <form id="paper-form" method="post" th:action="@{'/papers/paper?id='+ *{id == null ? '' : id} + ''}"
th:object="${paperDto}"> th:object="${paperDto}">
<div class="row"> <div class="row">
<div class="col-md-7 col-sm-12"> <div class="col-md-7 col-sm-12">
<input type="hidden" name="id" th:field="*{id}"/> <nav>
<div class="form-group"> <div class="nav nav-tabs" id="nav-tab" role="tablist">
<label for="title">Название:</label> <a class="nav-item nav-link active" id="nav-main-tab" data-toggle="tab"
<input class="form-control" id="title" type="text" href="#nav-main" role="tab" aria-controls="nav-main" aria-selected="true">Статья</a>
placeholder="Название статьи" <a class="nav-item nav-link" id="nav-latex-tab" data-toggle="tab"
th:field="*{title}"/> href="#nav-latex" role="tab" aria-controls="nav-latex" aria-selected="false">Latex</a>
<p th:if="${#fields.hasErrors('title')}" th:errors="*{title}"
class="alert alert-danger">Incorrect title</p>
<p class="help-block text-danger"></p>
</div>
<div class="form-group">
<label for="status">Статус:</label>
<select class="form-control" th:field="*{status}" id="status">
<option th:each="status : ${allStatuses}" th:value="${status}"
th:text="${status.statusName}">Status
</option>
</select>
</div>
<div class="form-group">
<label for="comment">Комментарий:</label>
<textarea class="form-control" rows="5" id="comment"
th:field="*{comment}"></textarea>
</div>
<div class="form-group">
<label>Дедлайны:</label>
<div class="row" th:each="deadline, rowStat : *{deadlines}">
<input type="hidden" th:field="*{deadlines[__${rowStat.index}__].id}"/>
<div class="col-6">
<input type="date" class="form-control" name="deadline"
th:field="*{deadlines[__${rowStat.index}__].date}"/>
</div>
<div class="col-4">
<input class="form-control" type="text" placeholder="Описание"
th:field="*{deadlines[__${rowStat.index}__].description}"/>
</div>
<div class="col-2">
<a class="btn btn-danger float-right"
th:onclick="|$('#deadlines${rowStat.index}\\.description').val('');
$('#deadlines${rowStat.index}\\.date').val('');
$('#addDeadline').click();|"><span
aria-hidden="true"><i class="fa fa-times"/></span>
</a>
</div>
</div> </div>
<p th:if="${#fields.hasErrors('deadlines')}" th:errors="*{deadlines}" </nav>
class="alert alert-danger">Incorrect title</p> <div class="tab-content" id="nav-tabContent">
</div> <div class="tab-pane fade show active" id="nav-main" role="tabpanel"
<div class="form-group"> aria-labelledby="nav-main-tab">
<input type="submit" id="addDeadline" name="addDeadline" class="btn btn-primary" <input type="hidden" name="id" th:field="*{id}"/>
value="Добавить <div class="form-group">
дедлайн"/> <label for="title">Название:</label>
</div> <input class="form-control" id="title" type="text"
<div class="form-group"> placeholder="Название статьи"
<label>Авторы:</label> th:field="*{title}"/>
<select class="selectpicker form-control" multiple="true" data-live-search="true" <p th:if="${#fields.hasErrors('title')}" th:errors="*{title}"
title="-- Выберите авторов --" class="alert alert-danger">Incorrect title</p>
th:field="*{authorIds}"> <p class="help-block text-danger"></p>
<option th:each="author: ${allAuthors}" th:value="${author.id}" </div>
th:text="${author.lastName}">Status
</option>
</select>
<p th:if="${#fields.hasErrors('authorIds')}" th:errors="*{authorIds}"
class="alert alert-danger">Incorrect title</p>
</div>
<div class="form-group" id="files-list"> <div class="form-group">
<label>Файлы:</label> <label for="status">Статус:</label>
<th:block th:each="file, rowStat : *{files}"> <select class="form-control" th:field="*{status}" id="status">
<div class="row" th:id="|files${rowStat.index}|" <option th:each="status : ${allStatuses}" th:value="${status}"
th:style="${file.deleted} ? 'display: none;' :''"> th:text="${status.statusName}">Status
<input type="hidden" th:field="*{files[__${rowStat.index}__].id}"/> </option>
<input type="hidden" th:field="*{files[__${rowStat.index}__].deleted}"/> </select>
<input type="hidden" th:field="*{files[__${rowStat.index}__].name}"/> </div>
<input type="hidden" th:field="*{files[__${rowStat.index}__].tmpFileName}"/>
<div class="col-2"> <div class="form-group">
<a class="btn btn-danger float-right" <label for="comment">Комментарий:</label>
th:onclick="|$('#files${rowStat.index}\\.deleted').val('true'); $('#files${rowStat.index}').hide(); |"> <textarea class="form-control" rows="5" id="comment"
<span aria-hidden="true"><i class="fa fa-times"/></span> th:field="*{comment}"></textarea>
</a> </div>
<div class="form-group">
<label>Дедлайны:</label>
<div class="row" th:each="deadline, rowStat : *{deadlines}">
<input type="hidden" th:field="*{deadlines[__${rowStat.index}__].id}"/>
<div class="col-6">
<input type="date" class="form-control" name="deadline"
th:field="*{deadlines[__${rowStat.index}__].date}"/>
</div>
<div class="col-4">
<input class="form-control" type="text" placeholder="Описание"
th:field="*{deadlines[__${rowStat.index}__].description}"/>
</div>
<div class="col-2">
<a class="btn btn-danger float-right"
th:onclick="|$('#deadlines${rowStat.index}\\.description').val('');
$('#deadlines${rowStat.index}\\.date').val('');
$('#addDeadline').click();|"><span
aria-hidden="true"><i class="fa fa-times"/></span>
</a>
</div>
</div> </div>
<div class="col-10"> <p th:if="${#fields.hasErrors('deadlines')}" th:errors="*{deadlines}"
<a th:onclick="${file.id==null} ? 'downloadFile('+${file.tmpFileName}+',null,\''+${file.name}+'\')': class="alert alert-danger">Incorrect title</p>
'downloadFile(null,'+${file.id}+',\''+${file.name}+'\')' " </div>
href="javascript:void(0)" <div class="form-group">
th:text="*{files[__${rowStat.index}__].name}"> <input type="submit" id="addDeadline" name="addDeadline"
</a> class="btn btn-primary"
value="Добавить
дедлайн"/>
</div>
<div class="form-group">
<label>Авторы:</label>
<select class="selectpicker form-control" multiple="true"
data-live-search="true"
title="-- Выберите авторов --"
th:field="*{authorIds}">
<option th:each="author: ${allAuthors}" th:value="${author.id}"
th:text="${author.lastName}">Status
</option>
</select>
<p th:if="${#fields.hasErrors('authorIds')}" th:errors="*{authorIds}"
class="alert alert-danger">Incorrect title</p>
</div>
<div class="form-group" id="files-list">
<label>Файлы:</label>
<th:block th:each="file, rowStat : *{files}">
<div class="row" th:id="|files${rowStat.index}|"
th:style="${file.deleted} ? 'display: none;' :''">
<input type="hidden" th:field="*{files[__${rowStat.index}__].id}"/>
<input type="hidden"
th:field="*{files[__${rowStat.index}__].deleted}"/>
<input type="hidden"
th:field="*{files[__${rowStat.index}__].name}"/>
<input type="hidden"
th:field="*{files[__${rowStat.index}__].tmpFileName}"/>
<div class="col-2">
<a class="btn btn-danger float-right"
th:onclick="|$('#files${rowStat.index}\\.deleted').val('true'); $('#files${rowStat.index}').hide(); |">
<span aria-hidden="true"><i class="fa fa-times"/></span>
</a>
</div>
<div class="col-10">
<a th:onclick="${file.id==null} ? 'downloadFile('+${file.tmpFileName}+',null,\''+${file.name}+'\')':
'downloadFile(null,'+${file.id}+',\''+${file.name}+'\')' "
href="javascript:void(0)"
th:text="*{files[__${rowStat.index}__].name}">
</a>
</div>
</div>
</th:block>
</div>
<div class="form-check">
<input type="checkbox" class="form-check-input" id="locked"
th:field="*{locked}"/>
<label class="form-check-label" for="locked">Заблокирована</label>
</div>
<div class="form-group">
<label for="loader">Загрузить статью:</label>
<div id="loader">
</div> </div>
</div> </div>
</th:block> </div>
<div class="tab-pane fade" id="nav-latex" role="tabpanel"
</div> aria-labelledby="nav-profile-tab">
<div class="form-group">
<div class="form-check"> <label for="latex-text">Текст:</label>
<input type="checkbox" class="form-check-input" id="locked" <textarea class="form-control" id="latex-text" type="text" rows="10"
th:field="*{locked}"/> placeholder="Latex.."
<label class="form-check-label" for="locked">Заблокирована</label> th:field="*{latexText}"/>
</div> </div>
<div class="form-group">
<label for="loader">Загрузить статью:</label>
<div id="loader">
</div> </div>
</div> </div>
</div> </div>
<div class="col-md-4 offset-md-1 col-sm-12 offset-sm-0"> <div class="col-md-4 offset-md-1 col-sm-12 offset-sm-0">
<div class="form-group"> <div class="form-group">