mirror of
https://github.com/Athou/commafeed.git
synced 2026-03-21 21:37:29 +00:00
fix markAsRead propagation
This commit is contained in:
@@ -55,27 +55,25 @@ module.controller('CategoryTreeCtrl', function($scope, $routeParams, $location,
|
||||
$location.path('/feeds/view/category/' + id);
|
||||
};
|
||||
|
||||
var markAsRead = function(children, entry, read) {
|
||||
for ( var i = 0; i < children.length; i++) {
|
||||
var child = children[i];
|
||||
if (child.children) {
|
||||
markAsRead(child.children, entry, read);
|
||||
var markAsRead = function(node, entry, read) {
|
||||
if (node.children) {
|
||||
for ( var i = 0; i < node.children.length; i++) {
|
||||
markAsRead(node.children[i], entry, read);
|
||||
}
|
||||
if (child.feeds) {
|
||||
for ( var j = 0; j < child.feeds.length; j++) {
|
||||
var feed = child.feeds[j];
|
||||
if (feed.id == entry.feedId) {
|
||||
var c = read ? -1 : 1;
|
||||
feed.unread = feed.unread + c;
|
||||
}
|
||||
}
|
||||
if (node.feeds) {
|
||||
for ( var i = 0; i < node.feeds.length; i++) {
|
||||
var feed = node.feeds[i];
|
||||
if (feed.id == entry.feedId) {
|
||||
var c = read ? -1 : 1;
|
||||
feed.unread = feed.unread + c;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
$scope.$on('markAsRead', function(event, args) {
|
||||
console.log(args.entry)
|
||||
markAsRead($scope.root.children, args.entry, args.read)
|
||||
markAsRead($scope.root, args.entry, args.read)
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -3,28 +3,26 @@
|
||||
<div class="span2" ng-controller="CategoryTreeCtrl">
|
||||
<div class="css-treeview">
|
||||
<ul>
|
||||
<category node="root" feed-click="feedClicked(id)" category-click="categoryClicked(id)"
|
||||
selected-type="selectedType" selected-id="selectedId"
|
||||
format-category-name="formatCategoryName(category)" format-feed-name="formatFeedName(feed)">
|
||||
</category>
|
||||
<!-- <li ng-repeat="node in root.children"> -->
|
||||
<!-- <category node="node" feed-click="feedClicked(id)" category-click="categoryClicked(id)" -->
|
||||
<!-- selected-type="selectedType" selected-id="selectedId" -->
|
||||
<!-- format-category-name="formatCategoryName(category)" format-feed-name="formatFeedName(feed)"> -->
|
||||
<!-- </category> -->
|
||||
<!-- </li> -->
|
||||
<category node="root" feed-click="feedClicked(id)"
|
||||
category-click="categoryClicked(id)" selected-type="selectedType"
|
||||
selected-id="selectedId"
|
||||
format-category-name="formatCategoryName(category)"
|
||||
format-feed-name="formatFeedName(feed)"> </category>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="span10" ng-controller="FeedListCtrl">
|
||||
<span>{{entryList.name}}</span><span ng-show="selectedType == 'category'"> »</span>
|
||||
<span>{{entryList.name}}</span><span
|
||||
ng-show="selectedType == 'category'"> »</span>
|
||||
<div class="accordion" id="feed-accordion">
|
||||
<div class="accordion-group" ng-repeat="entry in entryList.entries">
|
||||
<div class="accordion-heading">
|
||||
<a class="accordion-toggle" data-toggle="collapse" ng-click="markAsRead(entry)" ng-class="{unread: entry.read == false}"
|
||||
<a class="accordion-toggle" data-toggle="collapse"
|
||||
ng-click="markAsRead(entry)"
|
||||
ng-class="{unread: entry.read == false}"
|
||||
data-parent="#feed-accordion" href="{{'#feed-body' + $index}}">
|
||||
<span ng-show="selectedType == 'category'">{{entry.feedName}} - </span>{{entry.title}}
|
||||
<span class="pull-right">{{entry.date}}</span>
|
||||
<span ng-show="selectedType == 'category'">{{entry.feedName}}
|
||||
- </span>{{entry.title}} <span class="pull-right">{{entry.date}}</span>
|
||||
</a>
|
||||
</div>
|
||||
<div id="{{'feed-body' + $index}}" class="accordion-body collapse">
|
||||
@@ -34,6 +32,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user