136 lines
4.4 KiB
JavaScript
136 lines
4.4 KiB
JavaScript
(function(){
|
|
var loading = null,
|
|
site_url = null;
|
|
$("document").ready(function(){
|
|
loading = $("#loading");
|
|
bindHandlers();
|
|
})
|
|
|
|
var bindHandlers = function(){
|
|
$("#find-channels").on("click",function(){
|
|
site_url = $("#site-url-wrapper input[type=text]").val();
|
|
$("#site-url-wrapper").fadeOut();
|
|
getChannelList();
|
|
})
|
|
}
|
|
|
|
var getChannelList = function(){
|
|
displayLoading(true,"Fetching channels from " + site_url);
|
|
$.ajax({
|
|
url : "/admin/feeds/get_channel_list",
|
|
data : {"url" : site_url},
|
|
dataType : "json",
|
|
type : "get"
|
|
}).done(function(channels){
|
|
if (channels != null){
|
|
$.each(channels.channels,function(index,channel){
|
|
var ch = $("<div id='" + channel.key + "-channel' class='module cursor-pointer'><div class='lead muted'><i class='" + channel.app_icon + "'></i><br/><span style='font-size:14px;'>" + channel.title + "</span></div></div>");
|
|
ch.on("click",function(){
|
|
getFeedList(channel);
|
|
})
|
|
$("#channels").append(ch);
|
|
})
|
|
setTimeout(function(){
|
|
displayLoading(false);
|
|
setTimeout(function(){$("#channels").fadeIn();},500);
|
|
},1000);
|
|
}
|
|
else{
|
|
alert('Feed not found')
|
|
window.location.href = window.location.href
|
|
}
|
|
})
|
|
}
|
|
|
|
var getFeedList = function(channel){
|
|
$("#channels").fadeOut(function(){
|
|
$("#channels").html("");
|
|
displayLoading(true,"Fetching feed list for " + channel.title);
|
|
var data_to_send = {"url" : site_url, "channel" : channel.key, "feed_list_url" : channel.url};
|
|
if (channel.feeds){
|
|
data_to_send.feeds = JSON.stringify(channel.feeds)
|
|
}
|
|
console.log(data_to_send)
|
|
$.ajax({
|
|
url : "/admin/feeds/get_feed_list",
|
|
data : data_to_send,
|
|
dataType : "json",
|
|
type : "post"
|
|
}).done(function(data){
|
|
$.each(data.feeds, function(index,feed){
|
|
var klass = (feed.subscribed ? "active" : "");
|
|
var f = $("<div class='module cursor-pointer " + klass + "'><div class='lead muted'><i class='icons-text-2'></i><br/><span style='font-size:14px;'>" + feed.title_translations[I18n.locale] + "</span></div></div>");
|
|
f.on("click",function(){
|
|
if($(this).hasClass("active")){
|
|
if(confirm("Are you sure, you want to unsubscribe from " + feed.title_translations[I18n.locale] + "?")){
|
|
unsubscribeFeed($(this),feed);
|
|
}
|
|
}else{
|
|
subscribeFeed($(this),feed,channel);
|
|
}
|
|
})
|
|
$("#channels").append(f);
|
|
})
|
|
setTimeout(function(){
|
|
displayLoading(false);
|
|
setTimeout(function(){$("#channels").fadeIn();},500);
|
|
},1000);
|
|
})
|
|
})
|
|
}
|
|
|
|
var unsubscribeFeed = function(dom,feed){
|
|
dom.removeClass("active");
|
|
$.ajax({
|
|
url : "/admin/feeds/unsubscribe",
|
|
data : {"feed_uid": feed.uid},
|
|
dataType : "json",
|
|
type : "post"
|
|
}).done(function(){
|
|
$("#selectCategoryModal").modal("hide");
|
|
})
|
|
}
|
|
|
|
var subscribeFeed = function(dom,feed,channel){
|
|
var subscribe_button = $("#subscribe-button"),
|
|
select = $("#local-category");
|
|
$("#selectCategoryModal").modal("show");
|
|
subscribe_button.attr("disabled","disabled");
|
|
$.ajax({
|
|
url : "/admin/feeds/get_category_list",
|
|
data : {"channel" : channel.key},
|
|
dataType : "json",
|
|
type : "get"
|
|
}).done(function(data){
|
|
select.html("");
|
|
$.each(data.categories,function(index,category){
|
|
select.append("<option value='" + category.id + "'>" + category.title + "</option>");
|
|
})
|
|
subscribe_button.removeAttr("disabled");
|
|
})
|
|
subscribe_button.unbind("click");
|
|
subscribe_button.on("click",function(){
|
|
dom.addClass("active");
|
|
$.ajax({
|
|
url : "/admin/feeds/subscribe",
|
|
data : {"url" : site_url, "feed" : feed, "channel" : channel.title, "channel_key" : channel.key, "category" : select.val()},
|
|
dataType : "json",
|
|
type : "post"
|
|
}).done(function(){
|
|
$("#selectCategoryModal").modal("hide");
|
|
})
|
|
})
|
|
|
|
}
|
|
|
|
var displayLoading = function(display, msg){
|
|
if(display){
|
|
loading.find(".progress_msg").text(msg);
|
|
loading.fadeIn();
|
|
}else{
|
|
loading.find(".progress_msg").text("");
|
|
loading.fadeOut();
|
|
}
|
|
}
|
|
})();
|