既読エントリを見えなくする
最新版には不要です。
ソースを特に追ってなかった人がなんとなくやったことなのでどうもすみません。
jQuery は便利だなぁ。
selector で not(has(...)) するにはどうしたらいいのか分かりません!
diff --git a/root/static/js/remedie.js b/root/static/js/remedie.js index 6eae944..480d0eb 100644 --- a/root/static/js/remedie.js +++ b/root/static/js/remedie.js @@ -652,6 +652,7 @@ Remedie.prototype = { markItemAsUnwatched: function(item) { // XXX should be 'downloaded' if it has local file this.updateStatus({ item_id: item.id, status: 'new' }, function() { + $('#channel-item-title-' + item.id).removeClass('channel-item-watched'); $('#channel-item-title-' + item.id).addClass('channel-item-unwatched'); remedie.items[item.id].is_unwatched = true; }); @@ -823,7 +824,9 @@ Remedie.prototype = { '<span class="unwatched-count-' + channel.id + '">' + (channel.unwatched_count ? channel.unwatched_count : 0) + '</span> unwatched' ], - 'p', { className: 'channel-header-description' }, channel.props.description + 'p', { className: 'channel-header-description' }, channel.props.description, + 'input', { type: 'checkbox', checked: false, id: 'togglewatched', name: 'togglewatched' }, '', + 'span', {}, 'hide watched item' ], 'div', { className: "clear" }, null ] @@ -839,6 +842,8 @@ Remedie.prototype = { 'div', { id: 'channel-items', className: "clear" }, null ); + $("#togglewatched").click(function(){remedie.toggleWatchedItems()}); + $.each(r.items, function(index, item) { remedie.items[item.id] = item; $("#channel-items").createAppend(@@ -860,17 +865,19 @@ Remedie.prototype = { ], ], 'h3', { id: 'channel-item-title-' + item.id, - className: item.is_unwatched ? 'channel-item-unwatched' : '' }, item.name, + className: item.is_unwatched ? 'channel-item-unwatched' : 'channel-item-watched' }, item.name, 'div', { className: 'item-infobox-description' }, item.props.description ], 'div', { className: "clear" }, null ] - ); - + ); + if (item.props.thumbnail) RemedieUtil.layoutImage($("#item-thumbnail-image-" + item.id), item.props.thumbnail.url, 128, 96); }); + //$("#channel-items").sortable({items: '> div'}); + $(".channel-header") .contextMenu("channel-context-menu", { bindings: { @@ -986,6 +993,10 @@ Remedie.prototype = { } }); }, + + toggleWatchedItems: function() { + $(".channel-item:has(.channel-item-watched)").toggle(); + }, manuallyRefreshChannel: function(channel, clearStaleItems) { $.blockUI();