blob: 6d5bf486423afec76a77388200836e6baa384899 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
/**
* ownCloud - News app
*
* @author Bernhard Posselt
* Copyright (c) 2012 - Bernhard Posselt <nukeawhale@gmail.com>
*
* This file is licensed under the Affero General Public License version 3 or later.
* See the COPYING-README file
*
*/
var News = News || {};
$(document).ready(function(){
// global object array for accessing instances
News.Objects = {};
News.Objects.Menu = new News.Menu($('#view').hasClass('show_all'));
News.Objects.Items = new News.Items();
News.Objects.Menu.bindOn('#feeds ul');
// basic setup
News.Feed.updateAll();
var updateInterval = 200000; //how often the feeds should update (in msec)
setInterval('News.Feed.updateAll()', updateInterval);
// bind listeners on the menu
/* first run script begins */
$('#browsebtn_firstrun, #cloudbtn_firstrun, #importbtn_firstrun').hide();
/* first run script ends */
$('#addfeed').click(function() {
News.UI.overview('#addfeed_dialog','feeddialog.php');
});
$('#addfeedbtn').click(function() {
$(this).hide();
$('#addfeed_dialog_firstrun').show();
});
$('#addfolder').click(function() {
News.UI.overview('#addfolder_dialog','folderdialog.php');
});
$('#addfeedfolder').click(function(event) {
News.DropDownMenu.fade($(this).children('ul'));
event.stopPropagation();
});
$('#settingsbtn').on('click keydown', function() {
try {
OC.appSettings({appid:'news', loadJS:true, cache:false});
} catch(e) {
alert(e);
}
});
$('#view').click(function(){
var term;
if($(this).hasClass('show_all')){
term = 'unread';
$(this).addClass('show_unread').removeClass('show_all');
} else {
term = 'all';
$(this).addClass('show_all').removeClass('show_unread');
}
News.Feed.filter(term);
});
// mark items whose title was hid under the top edge as read
// when the bottom is reached, mark all items as read
$('#feed_items').scroll(function(){
var boxHeight = $(this).height();
var scrollHeight = $(this).prop('scrollHeight');
var scrolled = $(this).scrollTop() + boxHeight;
var scrollArea = this;
$(this).children('ul').children('.feed_item:not(.read)').each(function(){
var item = this;
var itemOffset = $(this).position().top;
if(itemOffset <= 0 || scrolled >= scrollHeight){
// wait and check if the item is still under the top edge
setTimeout(function(){ markItemAsRead(scrollArea, item);}, 1000);
}
})
});
$('#feed_items').scrollTop(0);
$(document).keydown(function(e) {
if ((e.keyCode || e.which) == 74) { // 'j' key shortcut
}
});
});
|