138 lines
5.0 KiB
Plaintext
138 lines
5.0 KiB
Plaintext
<% content_for :page_specific_css do %>
|
|
<%= stylesheet_link_tag "index_channel" %>
|
|
<% end %>
|
|
<div>
|
|
<h3>Channel and feeds</h3>
|
|
</div>
|
|
<div class="accordion channel-accordion" id="feedAccordion">
|
|
<% @school_urls.each_with_index do |url,index| %>
|
|
<div class="accordion-group channel-accordion-group">
|
|
<div class="accordion-heading channel-accordion-heading">
|
|
<a class="accordion-toggle channel-accordion-toggle collapsed" data-toggle="collapse" data-parent="#feedAccordion" href="#channel_<%= index.to_s %>">
|
|
<span class="channel-url"><%= url %></span>
|
|
<% if !@site_feeds[url].first.channel_title.nil? && @site_feeds[url].first.channel_title != "" %>
|
|
<span class="channel-source-name label"><%= @site_feeds[url].first.channel_title %></span>
|
|
<% end %>
|
|
</a>
|
|
<div class="dropdown channel-dropdown">
|
|
<a class="channel-edit-form btn btn-primary dropdown-toggle" data-toggle="dropdown" href="#">Edit</a>
|
|
<a class="channel-save-form btn btn-primary dropdown-toggle hide" data-toggle="dropdown" href="#">Save</a>
|
|
<ul class="dropdown-menu channel-dropdown-menu" role="menu" aria-labelledby="dLabel">
|
|
<form class="form-horizontal channel-form-horizontal" method="post" action="/admin/feeds/channel_title" data-remote="true">
|
|
<h5>Source name</h5>
|
|
<div class="control-group channel-control-group">
|
|
<label class="control-label channel-label" for="inputEnglish">English</label>
|
|
<div class="controls channel-controls">
|
|
<input type="text" id="inputEnglish" placeholder="Source" name="channel_title_translations[en]">
|
|
</div>
|
|
</div>
|
|
<div class="control-group channel-control-group">
|
|
<label class="control-label channel-label" for="inputChinese">Chinese</label>
|
|
<div class="controls channel-controls">
|
|
<input type="text" id="inputChinese" placeholder="Source" name="channel_title_translations[zh_tw]">
|
|
</div>
|
|
<input type="hidden" name="url" value="<%= url %>" >
|
|
</div>
|
|
</form>
|
|
</ul>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="channel_<%= index.to_s %>" class="accordion-body collapse">
|
|
<div class="accordion-inner">
|
|
<% channels = @site_feeds[url].group_by(&:channel_name)
|
|
channel_names = channels.keys
|
|
channel_names.each do |name|
|
|
%>
|
|
<ul class="channel-list list-unstyled">
|
|
<li class="channel-item">
|
|
<span class="channel-name"><%= name %></span>
|
|
<% channels[name].each do |channel| %>
|
|
<ul class="channel-sublist">
|
|
<li class="channel-subitem" >
|
|
<span class="channel-feedname"><%= channel.feed_name %></span>
|
|
<span class="label label-info"><%= channel.category.title rescue "" %></span>
|
|
<span class="channel-actions">
|
|
<button class="btn <%= channel.disabled ? "btn-info" : "btn-warning" %> btn-small disable-feed-btn" data-feed-id="<%= channel.id.to_s %>"><%= channel.disabled ? "Enable" : "Disable" %></button>
|
|
<button class="btn btn-danger btn-small unsubscribe-btn" data-feed-uid="<%= channel.feed_uid %>" data-feed-name="<%= channel.feed_name %>">Unsubscribe</button>
|
|
</span>
|
|
</li>
|
|
</ul>
|
|
<% end %>
|
|
</li>
|
|
</ul>
|
|
<% end %>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<% end %>
|
|
</div>
|
|
|
|
<script type="text/javascript">
|
|
$(".disable-feed-btn").on("click",function(){
|
|
var disable = null,
|
|
el = $(this),
|
|
feed_id = $(this).data("feed-id");
|
|
if(el.hasClass("btn-warning")){
|
|
el.removeClass("btn-warning");
|
|
el.text("Disabling...");
|
|
disable = true;
|
|
}else{
|
|
el.removeClass("btn-info");
|
|
el.text("Enabling...");
|
|
disable = false;
|
|
}
|
|
|
|
$.ajax({
|
|
url : "/admin/feeds/disable",
|
|
data : {"feed_id" : feed_id, "disable" : disable},
|
|
dataType : "json",
|
|
type : "post"
|
|
}).done(function(){
|
|
if(disable){
|
|
setTimeout(function(){el.addClass("btn-info");el.text("Enable")},800);
|
|
}else{
|
|
setTimeout(function(){el.addClass("btn-warning");el.text("Disable")},800);
|
|
}
|
|
})
|
|
})
|
|
|
|
$(".channel-edit-form").on("click",function(){
|
|
var edit = $(this),
|
|
save = $(this).next();
|
|
edit.addClass("hide");
|
|
save.removeClass("hide");
|
|
$(document).one("click",function(){
|
|
edit.removeClass("hide");
|
|
save.addClass("hide");
|
|
})
|
|
})
|
|
|
|
$(".channel-save-form").on("click",function(){
|
|
var save = $(this),
|
|
edit = $(this).prev(),
|
|
form = $(this).parent().find("form");
|
|
edit.removeClass("hide");
|
|
save.addClass("hide");
|
|
form.submit();
|
|
})
|
|
|
|
$(".unsubscribe-btn").on("click",function(){
|
|
var el = $(this);
|
|
if(confirm("Are you sure, you want to unsubscribe from " + el.data("feed-name"))){
|
|
$.ajax({
|
|
url : "/admin/feeds/unsubscribe",
|
|
data : {"feed_uid": el.data("feed-uid")},
|
|
dataType : "json",
|
|
type : "post"
|
|
}).done(function(){
|
|
el.parent().remove();
|
|
})
|
|
}
|
|
})
|
|
</script>
|
|
|
|
|
|
|
|
|