summaryrefslogtreecommitdiffstats
path: root/js
diff options
context:
space:
mode:
authorBernhard Posselt <nukeawhale@gmail.com>2012-09-02 02:49:34 +0200
committerBernhard Posselt <nukeawhale@gmail.com>2012-09-02 02:49:49 +0200
commit462ca308aed3c7689a77ca7e19e796428ccb347c (patch)
treeddf28ab0aba8e672bcd3481983a90caa572be7b2 /js
parent0fe9dfd53e6d861748850ea5857ae5f5f743b7f0 (diff)
made add feed and add folder dialog client side to speed up displaying
Diffstat (limited to 'js')
-rw-r--r--js/main.js51
-rw-r--r--js/news.js39
2 files changed, 54 insertions, 36 deletions
diff --git a/js/main.js b/js/main.js
index 740e429cb..8032987ae 100644
--- a/js/main.js
+++ b/js/main.js
@@ -29,17 +29,40 @@ $(document).ready(function(){
/* first run script ends */
$('#addfeed').click(function() {
- News.UI.overview('#addfeed_dialog','feeddialog.php');
+ $('#addfeed_dialog').dialog('open');
+ $('#feed_add_url').html('');
+
+ // populate folderlist
+ $('#addfeed_dialog .menu').empty();
+
+ // http://9gag.com/trending
+
+ var $rootFolder = $('<li>').addClass('menuItem').html($('<b>').html(t('News', 'None')));
+ $rootFolder.click(function(){
+ News.DropDownMenu.selectItem(this, 0);
+ });
+ $('#addfeed_dialog .menu').append($rootFolder);
+
+ $('#feeds .folder').each(function(){
+ var title = $(this).children('.title').html();
+ var id = parseInt($(this).data('id'));
+ var $folder = $('<li>').addClass('menuItem').html(title);
+ $folder.click(function(){
+ News.DropDownMenu.selectItem(this, id);
+ });
+ $('#addfeed_dialog .menu').append($folder);
+ });
});
+ $('#addfolder').click(function() {
+ $('#addfolder_dialog').dialog('open');
+ $('#folder_add_name').val('');
+ });
+
$('#addfeedbtn').click(function() {
$(this).hide();
$('#addfeed_dialog_firstrun').show();
});
-
- $('#addfolder').click(function() {
- News.UI.overview('#addfolder_dialog','folderdialog.php');
- });
$('#addfeedfolder').click(function(event) {
News.DropDownMenu.fade($(this).children('ul'));
@@ -54,6 +77,24 @@ $(document).ready(function(){
}
});
+ $('#addfolder_dialog,#addfeed_dialog').dialog({
+ dialogClass:'dialog',
+ minWidth: 600,
+ autoOpen: false
+ }).css('overflow','visible');
+
+ $('#folder_add_submit').click(function(){
+ News.Folder.submit(this);
+ });
+
+ $('.dropdownBtn').click(function(){
+ News.DropDownMenu.dropdown(this);
+ });
+
+ $('#feed_add_submit').click(function(){
+ News.Feed.submit(this);
+ });
+
$('#view').click(function(){
var data = {};
if($(this).hasClass('show_all')){
diff --git a/js/news.js b/js/news.js
index 2db512560..9ca511360 100644
--- a/js/news.js
+++ b/js/news.js
@@ -5,7 +5,7 @@ News = {
return false;
},
dropdown:function(button){
- var list = $(button).parent().find('ul#dropdownmenu');
+ var list = $(button).parent().find('ul.dropdownmenu');
if (list.css('display') == 'none')
list.slideDown('fast').show();
else
@@ -15,31 +15,9 @@ News = {
},
selectItem:function(item, folderid){
var parent = $(item).parent().parent();
- parent.find('#dropdownBtn').text($(item).text());
+ parent.find('.dropdownBtn').text($(item).text());
parent.find(':input[name="folderid"]').val(folderid);
- parent.find('ul#dropdownmenu').slideUp('fast');
- }
- },
- UI: {
- overview:function(dialogtype, dialogfile){
- if($(dialogtype).dialog('isOpen') == true){
- $(dialogtype).dialog('moveToTop');
- }else{
- $('#dialog_holder').load(OC.filePath('news', 'ajax', dialogfile), function(jsondata){
- if(jsondata.status != 'error'){
- $(dialogtype).dialog({
- dialogClass:'dialog',
- minWidth: 600,
- close: function(event, ui) {
- $(this).dialog('destroy').remove();
- }
- }).css('overflow','visible');
- } else {
- alert(jsondata.data.message);
- }
- });
- }
- return false;
+ parent.find('ul.dropdownmenu').slideUp('fast');
}
},
Folder: {
@@ -54,7 +32,7 @@ News = {
$(button).attr("disabled", true);
$(button).prop('value', t('news', 'Adding...'));
- var folderid = $('#inputfolderid:input[name="folderid"]').val();
+ var folderid = 0;
var url;
url = OC.filePath('news', 'ajax', 'createfolder.php');
@@ -70,7 +48,7 @@ News = {
title: title
};
News.Objects.Menu.addNode(0, News.MenuNodeType.Folder, id, data);
- $('#addfolder_dialog').dialog('destroy').remove();
+ $('#addfolder_dialog').dialog('close');
} else {
OC.dialogs.alert(jsondata.data.message, t('news', 'Error'));
}
@@ -96,9 +74,9 @@ News = {
var folderid = 0;
if($('#firstrun').length == 0){
- folderid = $('#inputfolderid:input[name="folderid"]').val();
+ folderid = $('#addfeed_dialog .inputfolderid').val();
}
- console.log(folderid);
+
$.ajax({
type: "POST",
url: OC.filePath('news', 'ajax', 'createfeed.php'),
@@ -113,7 +91,6 @@ News = {
var $feed = $(jsondata.data.listfeed);
var title = $feed.children('.title').html();
var icon = $feed.children('.title').css('background-image').replace(/"/g,"").replace(/url\(|\)$/ig, "");;
- console.log(icon);
var unreadCount = $feed.children('.unread_items_count').html();
var id = $feed.data('id');
var data = {
@@ -124,7 +101,7 @@ News = {
News.Objects.Menu.addNode(folderid, News.MenuNodeType.Feed, id, data);
News.Objects.Menu.load(News.MenuNodeType.Feed, jsondata.data.feedid);
- $('#addfeed_dialog').dialog('destroy').remove();
+ $('#addfeed_dialog').dialog('close');
} else {
OC.dialogs.alert(jsondata.data.message, t('news', 'Error'));
}