diff options
author | Bernhard Posselt <nukeawhale@gmail.com> | 2012-09-02 14:34:24 +0200 |
---|---|---|
committer | Bernhard Posselt <nukeawhale@gmail.com> | 2012-09-02 14:34:24 +0200 |
commit | a5495046a484fd699717463185de3a9018f96c81 (patch) | |
tree | 5386994187849c70374f06efa188931fe435b4a5 | |
parent | 3385de22ef4f5bacad569d6fd0b80c8ab407d397 (diff) |
dont use mock folders, use html delivered from server; deleted unecessary templates and ajax files
-rw-r--r-- | ajax/createfeed.php | 7 | ||||
-rw-r--r-- | ajax/feeddialog.php | 8 | ||||
-rw-r--r-- | ajax/folderdialog.php | 8 | ||||
-rw-r--r-- | ajax/loadfeed.php | 3 | ||||
-rw-r--r-- | index.php | 14 | ||||
-rw-r--r-- | js/menu.js | 56 | ||||
-rw-r--r-- | js/news.js | 31 | ||||
-rw-r--r-- | templates/main.php | 2 | ||||
-rw-r--r-- | templates/part.feeds.php | 14 | ||||
-rw-r--r-- | templates/part.folderlist.php | 10 | ||||
-rw-r--r-- | templates/part.items.new.php | 6 | ||||
-rw-r--r-- | templates/part.listfeed.php | 4 | ||||
-rw-r--r-- | templates/part.listfolder.php | 4 |
13 files changed, 34 insertions, 133 deletions
diff --git a/ajax/createfeed.php b/ajax/createfeed.php index e66f6b125..9b2ec08e5 100644 --- a/ajax/createfeed.php +++ b/ajax/createfeed.php @@ -67,12 +67,7 @@ $tmpl_listfeed->assign('feed', $feed); $tmpl_listfeed->assign('unreadItemsCount', $unreadItemsCount); $listfeed = $tmpl_listfeed->fetchPage(); -$tmpl_newfeed = new OCP\Template("news", "part.items.new"); -$tmpl_newfeed->assign('title', $feed->getTitle()); -$part_newfeed = $tmpl_newfeed->fetchPage(); - OCP\JSON::success(array('data' => array( 'message' => $l->t('Feed added!'), 'feedid' => $feedid, - 'listfeed' => $listfeed, - 'part_newfeed' => $part_newfeed ))); + 'listfeed' => $listfeed))); diff --git a/ajax/feeddialog.php b/ajax/feeddialog.php deleted file mode 100644 index 0a285260a..000000000 --- a/ajax/feeddialog.php +++ /dev/null @@ -1,8 +0,0 @@ -<?php - -$foldermapper = new OCA\News\FolderMapper(OCP\USER::getUser()); -$folderforest = $foldermapper->childrenOf(0); //retrieve all the folders - -$output = new OCP\Template("news", "part.feeddialog"); -$output->assign('folderforest', $folderforest); -$output->printpage();
\ No newline at end of file diff --git a/ajax/folderdialog.php b/ajax/folderdialog.php deleted file mode 100644 index 47024c965..000000000 --- a/ajax/folderdialog.php +++ /dev/null @@ -1,8 +0,0 @@ -<?php - -$foldermapper = new OCA\News\FolderMapper(OCP\USER::getUser()); -$folderforest = $foldermapper->childrenOf(0); //retrieve all the folders - -$output = new OCP\Template("news", "part.folderdialog"); -$output->assign('folderforest', $folderforest); -$output->printpage();
\ No newline at end of file diff --git a/ajax/loadfeed.php b/ajax/loadfeed.php index 51c0a5070..b5299d5e1 100644 --- a/ajax/loadfeed.php +++ b/ajax/loadfeed.php @@ -18,8 +18,9 @@ OCP\JSON::callCheck(); $userid = OCP\USER::getUser(); $feedId = $_POST['id']; +$feedType = $_POST['type']; OCP\Config::setUserValue(OCP\USER::getUser(), 'news', 'lastViewedFeed', $feedId); - +OCP\Config::setUserValue(OCP\USER::getUser(), 'news', 'lastViewedFeedType', $feedType); $l = OC_L10N::get('news'); @@ -40,25 +40,29 @@ if ($allfeeds) { $feedid = isset( $_GET['feedid'] ) ? $_GET['feedid'] : null; if ($feedid == null) { $feedmapper = new OCA\News\FeedMapper(OCP\USER::getUser($userid)); - if(OCP\Config::getUserValue(OCP\USER::getUser(), 'news', 'lastViewedFeed') == null){ + $lastViewedId = OCP\Config::getUserValue($userid, 'news', 'lastViewedFeed'); + $lastViewedType = OCP\Config::getUserValue($userid, 'news', 'lastViewedFeedType'); + if( $lastViewedId == null || $lastViewedType == null){ $feedid = $feedmapper->mostRecent(); } else { - $feedid = OCP\Config::getUserValue(OCP\USER::getUser(), 'news', 'lastViewedFeed'); + $feedid = $lastViewedId; + $feedtype = $lastViewedType; // check if feed exists in table if($feedmapper->findById($feedid) === null){ - $feedid = $feedmapper->mostRecent(); + $feedid = $feedmapper->mostRecent(); } } } -} -else { +} else { $feedid = 0; + $feedtype = 0; } $tmpl = new OCP\Template( 'news', 'main', 'user' ); $tmpl->assign('allfeeds', $allfeeds); $tmpl->assign('folderforest', $folderforest); $tmpl->assign('feedid', $feedid); +$tmpl->assign('feedtype', $feedtype); $tmpl->printPage(); ?> diff --git a/js/menu.js b/js/menu.js index 2f1ce3dcf..e4453599c 100644 --- a/js/menu.js +++ b/js/menu.js @@ -46,14 +46,8 @@ Deleting nodes: Creating nodes: var parentId = 0; - var nodeType = News.MenuNodeType.Feed; - var nodeId = 6; - var nodeData = { - title: 'hi', - icon: 'some/icon.png', - unreadCount: 3 - }; - menu.addNode(parentId, nodeType, nodeId, nodeData); + var html = '<nodehtml>'; + menu.addNode(parentId, html); If you want to show all feeds, also feeds which contain only read items, use @@ -142,17 +136,16 @@ var News = News || {}; /** * Adds a node to the menu. A node can only be added to a folder or to the root * @param parentId the id of the parent folder, 0 for root - * @param type the type (MenuNodeType) - * @param id the id - * @param data a json array with the data for the element: - * {title: '', icon: 'img/png.png', 'unreadCount': 3} + * @param html the html to add */ - Menu.prototype.addNode = function(parentId, type, id, data){ + Menu.prototype.addNode = function(parentId, html){ parentId = parseInt(parentId); - id = parseInt(id); - var $parentNode; - if(parseInt(parentId) === 0){ + var $html = $(html); + + console.log($html); + + if(parentId === 0){ $parentNode = this._$root; } else { $parentNode = this._getNodeFromTypeAndId(MenuNodeType.Folder, parentId).children('ul'); @@ -162,30 +155,7 @@ var News = News || {}; $parentNode.siblings('.collapsable_trigger').removeClass('triggered'); } - var $html; - var icon; - - switch(type){ - case MenuNodeType.Feed: - $html = this._$mockFeed.clone(); - break; - case MenuNodeType.Folder: - $html = this._$mockFolder.clone(); - break; - default: - console.log('Can only create folders or feeds'); - break; - } - - $html.children('.title').html(data.title); - if(data.icon !== undefined){ - $html.children('.title').css('background-image', 'url("' + data.icon + '")'); - } - $html.children('.unread_items_counter').html(data.unreadCount); - $html.attr('data-id', id); - $html.children('ul').attr('data-id', id); - - switch(type){ + switch(this._getIdAndTypeFromNode($html).type){ case MenuNodeType.Feed: this._bindFeed($html); break; @@ -363,12 +333,6 @@ var News = News || {}; */ Menu.prototype.bindOn = function(cssSelector){ var self = this; - // remove mock elements - this._$mockFolder = $('.mock.folder').detach(); - this._$mockFolder.removeClass('mock open'); - this._$mockFeed = $('.mock.feed').detach(); - this._$mockFeed.removeClass('mock'); - // bind menu this._$root = $(cssSelector); this._id = this._$root.data('id'); diff --git a/js/news.js b/js/news.js index 9ca511360..deb3bfaba 100644 --- a/js/news.js +++ b/js/news.js @@ -40,14 +40,7 @@ News = { $.post(url, { name: displayname, parentid: folderid }, function(jsondata){ if(jsondata.status == 'success'){ - // FIXME: this should receive json by default - var $folder = $(jsondata.data.listfolder); - var title = $folder.children('.title').html(); - var id = $folder.data('id'); - var data = { - title: title - }; - News.Objects.Menu.addNode(0, News.MenuNodeType.Folder, id, data); + News.Objects.Menu.addNode(0, jsondata.data.listfolder); $('#addfolder_dialog').dialog('close'); } else { OC.dialogs.alert(jsondata.data.message, t('news', 'Error')); @@ -82,28 +75,16 @@ News = { url: OC.filePath('news', 'ajax', 'createfeed.php'), data: { 'feedurl': feedurl, 'folderid': folderid }, dataType: "json", - success: function(jsondata){ + success: function(jsonData){ if($('#firstrun').length > 0){ window.location.reload(); } else { - if(jsondata.status == 'success'){ - // FIXME: this should receive json by default - var $feed = $(jsondata.data.listfeed); - var title = $feed.children('.title').html(); - var icon = $feed.children('.title').css('background-image').replace(/"/g,"").replace(/url\(|\)$/ig, "");; - var unreadCount = $feed.children('.unread_items_count').html(); - var id = $feed.data('id'); - var data = { - title: title, - unreadCount: unreadCount, - icon: icon - }; - News.Objects.Menu.addNode(folderid, News.MenuNodeType.Feed, id, data); - News.Objects.Menu.load(News.MenuNodeType.Feed, jsondata.data.feedid); - + if(jsonData.status == 'success'){ + News.Objects.Menu.addNode(folderid, jsonData.data.listfeed); + News.Objects.Menu.load(News.MenuNodeType.Feed, jsonData.data.feedid); $('#addfeed_dialog').dialog('close'); } else { - OC.dialogs.alert(jsondata.data.message, t('news', 'Error')); + OC.dialogs.alert(jsonData.data.message, t('news', 'Error')); } $("#feed_add_url").val(''); $(button).attr("disabled", false); diff --git a/templates/main.php b/templates/main.php index 0e5680ce8..099a1a5a5 100644 --- a/templates/main.php +++ b/templates/main.php @@ -46,7 +46,7 @@ if($showAll){ </div> </div> -<div id="rightcontent" class="rightcontent" data-id="<?php echo $_['feedid']; ?>"> +<div id="rightcontent" class="rightcontent"> <?php echo '<div id="feed_items">'; echo $this->inc("part.items"); diff --git a/templates/part.feeds.php b/templates/part.feeds.php index b1a28ba32..0ee45ad0c 100644 --- a/templates/part.feeds.php +++ b/templates/part.feeds.php @@ -33,31 +33,23 @@ function print_collection_list($list) { $allfeeds = isset($_['allfeeds']) ? $_['allfeeds'] : ''; $feedId = $_['feedid']; +$feedType = $_['feedtype']; $itemMapper = new OCA\News\ItemMapper(); $starredCount = $itemMapper->countEveryItemByStatus(OCA\News\StatusFlag::IMPORTANT); ?> -<li class="subscriptions <?php if($feedId === -2){ echo "selected_feed"; }; ?>"> +<li class="subscriptions <?php if($feedType == OCA\News\FeedType::SUBSCRIPTIONS){ echo "active"; }; ?>"> <a class="title" href="#" ><?php echo $l->t('New articles'); ?></a> <span class="buttons"> <button class="svg action feeds_markread" title="<?php echo $l->t('Mark all read'); ?>"></button> </span> </li> -<li class="starred <?php if($feedId === -1){ echo "selected_feed"; }; ?>"> +<li class="starred <?php if($feedType == OCA\News\FeedType::STARRED){ echo "active"; }; ?>"> <a class="title" href="#" ><?php echo $l->t('Starred'); ?></a> <span class="unread_items_counter"><?php echo $starredCount ?></span> </li> <?php - // provide mock feed and folder elements for js menu - $mockFolder = new OCP\Template("news", "part.listfolder"); - $mockFolder->assign('mock', true); - $mockFolder->printpage(); - - $mockFolder = new OCP\Template("news", "part.listfeed"); - $mockFolder->assign('mock', true); - $mockFolder->printpage(); - print_collection_list($allfeeds); diff --git a/templates/part.folderlist.php b/templates/part.folderlist.php deleted file mode 100644 index f2da64737..000000000 --- a/templates/part.folderlist.php +++ /dev/null @@ -1,10 +0,0 @@ -<?php - - function print_folder_list($folderlist, $depth) { - foreach($folderlist as $folder) { - echo '<li style="margin-left:' . 10*$depth . 'px;" class="menuItem" onclick="News.DropDownMenu.selectItem(this, ' . $folder->getId() . ')">' . $folder->getName() . '</li>'; - } - } - - print_folder_list($_['folderforest'], 0); -?>
\ No newline at end of file diff --git a/templates/part.items.new.php b/templates/part.items.new.php deleted file mode 100644 index c2976dda9..000000000 --- a/templates/part.items.new.php +++ /dev/null @@ -1,6 +0,0 @@ -<?php -$title = isset($_['title']) ? $_['title'] : ''; - -echo '<div class="rightcontentmsg" id="feedadded">' . - 'You have subscribed to <b>"' . $title . '"</b>' . - '</div>'; diff --git a/templates/part.listfeed.php b/templates/part.listfeed.php index b20cc52b9..04d67a881 100644 --- a/templates/part.listfeed.php +++ b/templates/part.listfeed.php @@ -18,9 +18,7 @@ if(isset($_['mock'])){ } } -$mockClass = isset($_['mock']) ? 'mock' : ''; - -echo '<li class="feed ' . $mockClass . '" data-id="' . $feedId . '">'; +echo '<li class="feed" data-id="' . $feedId . '">'; echo '<a style="background-image: url(' . $favicon . ');" href="#" class="title">' . $feedTitle .'</a>'; echo '<span class="unread_items_counter">' . $unreadItemsCount . '</span>'; echo '<span class="buttons">'; diff --git a/templates/part.listfolder.php b/templates/part.listfolder.php index cf6a1c5e1..80fda44a6 100644 --- a/templates/part.listfolder.php +++ b/templates/part.listfolder.php @@ -11,9 +11,7 @@ if(isset($_['mock'])){ $folderName = $folder->getName(); } -$mockClass = isset($_['mock']) ? 'mock' : ''; - -echo '<li class="folder open ' . $mockClass . '" data-id="' . $folderId . '">'; +echo '<li class="folder open" data-id="' . $folderId . '">'; echo '<button class="collapsable_trigger" title="' . $l->t('Collapse') . '"></button>'; echo '<a href="#" class="title">' . $folderName . '</a>'; echo '<span class="buttons">'; |