123 lines
3.6 KiB
Plaintext
123 lines
3.6 KiB
Plaintext
<% content_for :page_specific_javascript do %>
|
||
<%= javascript_include_tag "lib/jquery-ui-sortable.min" %>
|
||
<% end %>
|
||
|
||
<% content_for :page_specific_css do %>
|
||
<style type="text/css">
|
||
.order-list{
|
||
list-style: none;
|
||
}
|
||
.order-list-chapter i{
|
||
font-size: 20px;
|
||
cursor: move;
|
||
}
|
||
|
||
.order-list-chapter h4{
|
||
display: inline-block;
|
||
margin-left: 30px;
|
||
}
|
||
|
||
#sort-chapter-modal .modal-body {
|
||
max-height: 60vh;
|
||
}
|
||
|
||
#sort-chapter-modal .modal-body .order-list-chapter img {
|
||
width: 150px;
|
||
margin: 0 0 10px 10px;
|
||
}
|
||
</style>
|
||
<% end %>
|
||
|
||
<table class="table main-list">
|
||
<thead>
|
||
<tr class="sort-header">
|
||
<% @table_fields.each do |f| %>
|
||
<%= thead(f) %>
|
||
<% end %>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<% @chapters.each do |chapter| %>
|
||
<tr>
|
||
<td>
|
||
<%= chapter.title %>
|
||
<% if can_edit_or_delete?(@banner) %>
|
||
<div class="quick-edit">
|
||
<ul class="nav nav-pills">
|
||
<li><a href="<%= edit_admin_chapter_path(chapter.id, page: params[:page]) %>"><%= t(:edit) %></a></li>
|
||
<li><a href="<%= admin_chapter_path(chapter.id, page: params[:page]) %>" class="delete text-error" data-method="delete" data-confirm="Are you sure?" ><%= t(:delete_) %></a></li>
|
||
</ul>
|
||
</div>
|
||
<% end %>
|
||
</td>
|
||
<td>
|
||
<%= chapter.author %>
|
||
</td>
|
||
<td>
|
||
<%= chapter.page %>
|
||
<td>
|
||
</tr>
|
||
<% end %>
|
||
</tbody>
|
||
</table>
|
||
|
||
<% if can_edit_or_delete?(@journal) %>
|
||
<div class="bottomnav clearfix" style="left: 81px;">
|
||
<div class="action pull-right">
|
||
<%= link_to t("journals.add_chapter"), new_admin_chapter_path(page: params[:page], journal_id: @journal.id), class: "btn btn-primary" %>
|
||
<a class="btn btn-info" href="#sort-chapters-modal" data-toggle="modal"><%= t('journals.order')%></a>
|
||
</div>
|
||
<%= content_tag :div, paginate(@chapters), class: "pagination pagination-centered" %>
|
||
</div>
|
||
<!-- chapter order modal -->
|
||
<div id="sort-chapters-modal" class="modal hide fade" tabindex="-1" role="dialog" aria-hidden="true">
|
||
<div class="modal-header">
|
||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||
<h3>Order Images</h3>
|
||
</div>
|
||
<div class="modal-body">
|
||
<ul class="order-list">
|
||
<% @journal.chapters.asc(:sort_number).each do |chapter| %>
|
||
<li class="order-list-chapter" data-chapter-id="<%= chapter.id.to_s %>">
|
||
<i class="icons-list-2"></i>
|
||
<h4><%= chapter.title %>
|
||
</li>
|
||
<% end %>
|
||
</ul>
|
||
</div>
|
||
<div class="modal-footer">
|
||
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
|
||
<button class="btn btn-primary" id="save-chapter-order-btn">Save changes</button>
|
||
</div>
|
||
</div>
|
||
<% end %>
|
||
|
||
<script type="text/javascript">
|
||
var sortUpdated = false;
|
||
$("#sort-chapters-modal").on("shown",function(){
|
||
$(".order-list").sortable({
|
||
update : function(){
|
||
sortUpdated = true;
|
||
}
|
||
});
|
||
})
|
||
|
||
$("#save-chapter-order-btn").on("click",function(){
|
||
if(sortUpdated){
|
||
var ids = [];
|
||
$(".order-list-chapter").each(function(i,chapter){
|
||
ids.push($(chapter).data("chapter-id"));
|
||
})
|
||
$.ajax({
|
||
url : "/admin/journals/save_chapter_order",
|
||
data : {"ids" : ids, "journal_id" : "<%= @journal.id.to_s %>"},
|
||
dataType : "json",
|
||
type : "post"
|
||
}).done(function(){
|
||
alert("Order saved. Please refresh the page to see the changes.");
|
||
$("#sort-chapters-modal").modal("hide");
|
||
})
|
||
}
|
||
})
|
||
</script>
|