summaryrefslogtreecommitdiffstats
path: root/js
diff options
context:
space:
mode:
authorGregor Tätzner <gregor@freenet.de>2012-08-06 22:44:46 +0200
committerGregor Tätzner <gregor@freenet.de>2012-08-06 22:44:46 +0200
commit3f6d7c16b36a7fe2a1271de8ab88d8eff9c4d8f7 (patch)
tree77436443966f13a8940bb13162747bf4333bed9d /js
parent369e2edeac24e96cf20df942c3921416d8304d0e (diff)
Show trigger icon only if folder is not empty.
Else just show the folder icon.
Diffstat (limited to 'js')
-rw-r--r--js/news.js62
1 files changed, 37 insertions, 25 deletions
diff --git a/js/news.js b/js/news.js
index 4cc0864f9..912717137 100644
--- a/js/news.js
+++ b/js/news.js
@@ -64,6 +64,7 @@ News={
if(jsondata.status == 'success'){
$('div[data-id="' + folderid + '"] > ul').append(jsondata.data.listfolder);
setupFeedList();
+ transformCollapsableTrigger();
//OC.dialogs.confirm(t('news', 'Do you want to add another folder?'), t('news', 'Folder added!'), function(answer) {
// if(!answer) {
$('#addfolder_dialog').dialog('destroy').remove();
@@ -85,11 +86,13 @@ News={
var shownfeedid = rightcontent.attr('data-id');
$.post(OC.filePath('news', 'ajax', 'deletefolder.php'),{'folderid':folderid, 'shownfeedid':shownfeedid},function(jsondata){
if(jsondata.status == 'success'){
- $('div.collapsable_container[data-id="' + jsondata.data.folderid + '"]').remove();
+ var deletedfolder = $('div.collapsable_container[data-id="' + jsondata.data.folderid + '"]');
+ deletedfolder.parent().parent('.folders').remove();
if(jsondata.data.part_items) {
rightcontent.empty();
rightcontent.html(jsondata.data.part_items);
}
+ transformCollapsableTrigger();
}
else{
OC.dialogs.alert(jsondata.data.message, t('news', 'Error'));
@@ -129,6 +132,7 @@ News={
rightcontent.html(jsondata.data.part_items);
rightcontent.find('ul.accordion').before(jsondata.data.part_newfeed);
setupRightContent();
+ transformCollapsableTrigger();
}
});
} else {
@@ -151,6 +155,7 @@ News={
if(rightcontent.attr('data-id') == feedid) {
rightcontent.find('div#feedadded').remove();
rightcontent.find('ul.accordion').before(jsondata.data.part_items);
+ transformCollapsableTrigger();
}
}
else{
@@ -229,48 +234,55 @@ News={
}
}
-function collapsable_trigger(trigger, items) {
- var triggericon = OC.imagePath('core', 'actions/triangle-s.svg');
- trigger.css('background-image', 'url(' + triggericon + ')');
- if (items.css('display') == 'block') {
- trigger.css('-moz-transform', 'none');
- trigger.css('transform', 'none');
- }
- else {
- trigger.css('-moz-transform', 'rotate(-90deg)');
- trigger.css('transform', 'rotate(-90deg)');
- }
-}
-
-function setupFeedList() {
+function transformCollapsableTrigger() {
+ // we need this here to detect and toggle new children instantly
+ $('.collapsable_trigger').unbind();
$('.collapsable_trigger').click(function(){
var items = $(this).parent().parent().children('ul');
items.toggle();
- collapsable_trigger($(this),items);
+ transformCollapsableTrigger();
});
+ var triggericon = OC.imagePath('core', 'actions/triangle-s.svg');
+ var foldericon = OC.imagePath('core', 'places/folder.svg');
+
+ $('.collapsable_trigger').each(
+ function() {
+ var items = $(this).parent().parent().children('ul');
+ if (items.html()) {
+ $(this).css('background-image', 'url(' + triggericon + ')');
+ if (items.css('display') == 'block') {
+ $(this).css('-moz-transform', 'none');
+ $(this).css('transform', 'none');
+ }
+ else {
+ $(this).css('-moz-transform', 'rotate(-90deg)');
+ $(this).css('transform', 'rotate(-90deg)');
+ }
+ }
+ else {
+ $(this).css('background-image', 'url(' + foldericon + ')');
+ }
+ }
+ );
+}
+
+function setupFeedList() {
var list = $('.collapsable,.feeds_list').hover(
function() {
$(this).find('#feeds_delete,#feeds_edit').css('display', 'inline');
$(this).find('#unreaditemcounter').css('display', 'none');
-
- var trigger = $(this).find('.collapsable_trigger');
- var items = trigger.parent().parent().children('ul');
- collapsable_trigger(trigger, items);
},
function() {
$(this).find('#feeds_delete,#feeds_edit').css('display', 'none');
$(this).find('#unreaditemcounter').css('display', 'inline');
- var foldericon = OC.imagePath('core', 'places/folder.svg');
- var trigger = $(this).find('.collapsable_trigger');
- trigger.css('background-image', 'url(' + foldericon + ')');
- trigger.css('-moz-transform', 'none');
- trigger.css('transform', 'none');
}
);
list.find('#feeds_delete').hide();
list.find('#feeds_edit').hide();
list.find('#unreaditemcounter').show();
+
+ transformCollapsableTrigger();
}
function setupRightContent() {