123 lines
3.5 KiB
Plaintext
123 lines
3.5 KiB
Plaintext
<% content_for :page_specific_css do %>
|
||
<%= stylesheet_link_tag("admin/tags") %>
|
||
<% end %>
|
||
<% content_for :page_specific_javascript do %>
|
||
<%= javascript_include_tag "validator" %>
|
||
<% end %>
|
||
|
||
<table class="table main-list">
|
||
<thead>
|
||
<tr class="sort-header">
|
||
<% @table_feed_fields.each do |f| %>
|
||
<%= thead(f) %>
|
||
<% end %>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<%= render :partial => "feed", :collection => @feeds %>
|
||
</tbody>
|
||
</table>
|
||
<% if current_user.is_admin? or current_user.is_manager?(@module_app) %>
|
||
|
||
<div class="bottomnav clearfix" style="left: 81px;">
|
||
<div class="action pull-right">
|
||
<a class="btn btn-primary new-feed" href="#">
|
||
<i class="icon-plus"></i> <%= t(:new_) %>
|
||
</a>
|
||
</div>
|
||
<div class="pagination pagination-centered"></div>
|
||
</div>
|
||
|
||
<div id="newFeedModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="newFeedModalLabel" aria-hidden="true">
|
||
<div class="modal-header">
|
||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||
<h3 id="newFeedModalLabel">Create New Feed</h3>
|
||
</div>
|
||
<div class="modal-body">
|
||
<%#= render :partial => "feed_form" %>
|
||
</div>
|
||
<div class="modal-footer">
|
||
<button class="btn btn-primary" id="save_new_feed">Save changes</button>
|
||
</div>
|
||
</div>
|
||
<% end %>
|
||
|
||
<script type="text/javascript">
|
||
|
||
$(".new-feed").on("click",function(){
|
||
var modal = $("#newFeedModal");
|
||
modal.find("#newFeedModalLabel").text("Create New Feed");
|
||
modal.modal("show");
|
||
openFeedModal("new",null);
|
||
})
|
||
|
||
var bindEditButtons = function(){
|
||
$(".edit-feed").on("click",function(){
|
||
var modal = $("#newFeedModal");
|
||
modal.find("#newFeedModalLabel").text("Edit Feed");
|
||
modal.modal("show");
|
||
openFeedModal("edit",$(this).data("feed-id"));
|
||
return false;
|
||
})
|
||
$(".delete-feed").on("click",function(){
|
||
if(confirm("Are you sure?")){
|
||
var el = $(this);
|
||
$.ajax({
|
||
url : el.attr("href"),
|
||
type : "delete",
|
||
dataType : "html"
|
||
}).done(function(data){
|
||
$("table.main-list tbody").html(data);
|
||
bindEditButtons();
|
||
})
|
||
}
|
||
return false;
|
||
})
|
||
}
|
||
bindEditButtons();
|
||
var openFeedModal = function(type,feed_id){
|
||
$.ajax({
|
||
url : "/admin/announcements/feedform",
|
||
type : "get",
|
||
data : {"type" : type, "id" : feed_id},
|
||
dataType : "html"
|
||
}).done(function(form){
|
||
$("#newFeedModal .modal-body").html(form);
|
||
bindHandlers();
|
||
})
|
||
}
|
||
|
||
var bindHandlers = function(){
|
||
$(".tag-checkbox").on("click",function(){
|
||
if($(this).is(":checked")){
|
||
$(this).parent().addClass("active");
|
||
}else{
|
||
$(this).parent().removeClass("active");
|
||
}
|
||
})
|
||
|
||
var fv = new FormValidator($("#newFeedModal form"));
|
||
fv.form.on("submit",function(){
|
||
$.ajax({
|
||
url : fv.form.attr("action"),
|
||
data : fv.form.serializeArray(),
|
||
type : "post",
|
||
dataType : "html"
|
||
}).done(function(data){
|
||
$("table.main-list tbody").html(data);
|
||
bindEditButtons();
|
||
$("#newFeedModal").modal("hide");
|
||
fv.form.resetForm();
|
||
fv.form.find("ul.tags-groups p.active").removeClass("active");
|
||
})
|
||
return false;
|
||
})
|
||
$("#save_new_feed").on("click",function(){
|
||
if(fv.isFormValidated()){
|
||
fv.form.submit();
|
||
}else{
|
||
return false;
|
||
}
|
||
})
|
||
}
|
||
</script> |