diff options
author | Gregor Tätzner <gregor@freenet.de> | 2012-08-03 10:42:45 +0200 |
---|---|---|
committer | Gregor Tätzner <gregor@freenet.de> | 2012-08-03 10:42:45 +0200 |
commit | 96088f65675d3306bebd0d2a271866dbe18ea926 (patch) | |
tree | 0e31fa6fddbce63edeabea386dd011489a9a7a2c | |
parent | eac9dec36b7737cdde73225d44cb6224b608227f (diff) |
Implement dynamic folder adding in the same way like feed adding
-rw-r--r-- | ajax/createfolder.php | 12 | ||||
-rw-r--r-- | css/news.css | 2 | ||||
-rw-r--r-- | js/news.js | 4 | ||||
-rw-r--r-- | templates/part.feeds.php | 27 | ||||
-rw-r--r-- | templates/part.listfeed.php | 2 | ||||
-rw-r--r-- | templates/part.listfolder.php | 17 |
6 files changed, 41 insertions, 23 deletions
diff --git a/ajax/createfolder.php b/ajax/createfolder.php index 6d3c62411..09d43e966 100644 --- a/ajax/createfolder.php +++ b/ajax/createfolder.php @@ -35,8 +35,12 @@ $l = OC_L10N::get('news'); if(!$folderid) { OCP\JSON::error(array('data' => array('message' => $l->t('Error adding folder.')))); OCP\Util::writeLog('news','ajax/createfolder.php: Error adding folder: '.$_POST['name'], OCP\Util::ERROR); + exit(); } -else { - //TODO: replace the following with a real success case. see contact/ajax/createaddressbook.php for inspirations - OCP\JSON::success(array('data' => array('message' => $l->t('Folder added!')))); -}
\ No newline at end of file + +$tmpl = new OCP\Template("news" , "part.listfolder"); +$tmpl->assign("folder", $folder); +$listfolder = $tmpl->fetchPage(); + +//TODO: replace the following with a real success case. see contact/ajax/createaddressbook.php for inspirations +OCP\JSON::success(array('data' => array('message' => $l->t('Folder added!'), 'listfolder' => $listfolder))); diff --git a/css/news.css b/css/news.css index 706bb5ecb..f42802d1b 100644 --- a/css/news.css +++ b/css/news.css @@ -13,7 +13,7 @@ #dropdownBtn { width: 9em; padding-left: 0; padding-right:20px; background: url('%webroot%/core/img/actions/triangle-s.svg') no-repeat right center; } #addfolder { background: url('%webroot%/core/img/places/folder.svg') no-repeat left center; padding-left: 20px !important; } -#addfeed { background: url('%appswebroot%/news/img/rss.svg') no-repeat left center; padding-left: 20px !important; } +#addfeed { background: url('%appswebroot%/apps/news/img/rss.svg') no-repeat left center; padding-left: 20px !important; } #unreaditemcounter.nonzero { position: relative; background: #5E5E5E; border-radius: 5px; padding: 0 5px; color: white; text-align: center; margin: 0 0.3em 0 0.3em;} #unreaditemcounter.zero { position: relative; margin: 0 0.3em 0 0; } diff --git a/js/news.js b/js/news.js index ea5f04007..8acca7821 100644 --- a/js/news.js +++ b/js/news.js @@ -63,6 +63,8 @@ News={ function(jsondata){ if(jsondata.status == 'success'){ //$(button).closest('tr').prev().html(jsondata.page).show().next().remove(); + $('div[data-id="' + folderid + '"] > ul').append(jsondata.data.listfolder); + setupFeedList(); OC.dialogs.alert(jsondata.data.message, t('news', 'Success!')); } else { OC.dialogs.alert(jsondata.data.message, t('news', 'Error')); @@ -114,7 +116,7 @@ News={ if(!answer) { $('#addfeed_dialog').dialog('destroy').remove(); } - }); + }); } else { OC.dialogs.alert(jsondata.data.message, t('news', 'Error')); } diff --git a/templates/part.feeds.php b/templates/part.feeds.php index df781767c..3d84617eb 100644 --- a/templates/part.feeds.php +++ b/templates/part.feeds.php @@ -1,26 +1,19 @@ <?php - function print_folder(OC_News_Folder $folder, $depth){ - $l = new OC_l10n('news'); - echo '<ul class="folders"' . (($depth == 0) ? 'style="margin-left: 0px !important;"' : '') .'> <li class="folder_list" >' . - '<div class="collapsable_container" data-id="' . $folder->getId() . '">' . - '<div class="collapsable" >' . strtoupper($folder->getName()) . - ( ($depth != 0) ? - '<button class="svg action" id="feeds_delete" onClick="(News.Folder.delete(' . $folder->getId(). '))" title="' . $l->t('Delete folder') . '"></button>' . - '<button class="svg action" id="feeds_edit" title="' . $l->t('Rename folder') . '"></button>' - : '' ) . - '</div>' . - '<ul>'; + function print_folder(OC_News_Folder $folder){ + $tmpl_folder = new OCP\Template("news", "part.listfolder"); + $tmpl_folder->assign('folder', $folder); + $tmpl_folder->printpage(); $children = $folder->getChildren(); foreach($children as $child) { if ($child instanceOf OC_News_Folder){ - print_folder($child, $depth+1); + print_folder($child); } elseif ($child instanceOf OC_News_Feed) { //onhover $(element).attr('id', 'newID'); - $tmpl = new OCP\Template("news", "part.listfeed"); - $tmpl->assign('child', $child); - $tmpl->printpage(); + $tmpl_feed = new OCP\Template("news", "part.listfeed"); + $tmpl_feed->assign('child', $child); + $tmpl_feed->printpage(); } else { //TODO:handle error in this case @@ -28,6 +21,6 @@ } echo '</ul></div></li></ul>'; } - - print_folder($_['allfeeds'], 0); + + print_folder($_['allfeeds']); ?>
\ No newline at end of file diff --git a/templates/part.listfeed.php b/templates/part.listfeed.php index 3746a1eb4..b2ee7c0d2 100644 --- a/templates/part.listfeed.php +++ b/templates/part.listfeed.php @@ -3,6 +3,8 @@ // FIXME: somehow gets included twice include_once("part.itemcounter.php"); +$l = new OC_l10n('news'); + $child = isset($_['child']) ? $_['child'] : null; $favicon = $child->getFavicon(); if ($favicon == null) { diff --git a/templates/part.listfolder.php b/templates/part.listfolder.php new file mode 100644 index 000000000..99353cc43 --- /dev/null +++ b/templates/part.listfolder.php @@ -0,0 +1,17 @@ +<?php + +$folder = isset($_['folder']) ? $_['folder'] : null; +$is_root = ($folder->getId() == 0); + +$l = new OC_l10n('news'); + +echo '<ul class="folders"' . (($is_root) ? 'style="margin-left: 0px !important;"' : '') .'> <li class="folder_list" >' . + '<div class="collapsable_container" data-id="' . $folder->getId() . '">' . + '<div class="collapsable" >' . strtoupper($folder->getName()) . + ( ($is_root) ? + '' + : + '<button class="svg action" id="feeds_delete" onClick="(News.Folder.delete(' . $folder->getId(). '))" title="' . $l->t('Delete folder') . '"></button>' . + '<button class="svg action" id="feeds_edit" title="' . $l->t('Rename folder') . '"></button>' ) . + '</div>' . + '<ul>';
\ No newline at end of file |