blob: feea380e62d3849e6d38a57d90168a3265f64a74 [file] [log] [blame]
Rushabh Mehta12852e72012-02-29 15:11:06 +05301wn.pages['activity'].onload = function(wrapper) {
2 var list = new wn.widgets.Listing({
3 method: 'home.page.activity.activity.get_feed',
4 parent: $('#activity-list'),
5 render_row: function(row, data) {
6 new erpnext.ActivityFeed(row, data);
7 }
8 });
9 list.run();
10}
11
12erpnext.last_feed_date = false;
13erpnext.ActivityFeed = Class.extend({
14 init: function(row, data) {
15 this.scrub_data(data);
16 this.add_date_separator(row, data);
Rushabh Mehtab4a2f4c2012-03-01 11:49:54 +053017 $(row).append(sprintf('<div style="margin: 0px">\
Rushabh Mehta4c1e9e72012-03-01 13:30:34 +053018 <span style="display: inline-block; min-width: 29px;">
Rushabh Mehta111bca82012-03-01 12:19:18 +053019 <img src="%(imgsrc)s" style= "height: 24px; margin-bottom: -7px; \
Rushabh Mehta4c1e9e72012-03-01 13:30:34 +053020 max-width: 24px;"></span> \
Rushabh Mehtab4a2f4c2012-03-01 11:49:54 +053021 <span %(onclick)s class="label %(add_class)s">%(feed_type)s</span>\
22 %(link)s %(subject)s <span class="user-info">%(by)s</span></div>', data));
Rushabh Mehta12852e72012-02-29 15:11:06 +053023 },
24 scrub_data: function(data) {
Rushabh Mehta204e77d2012-02-29 19:09:20 +053025 data.by = wn.user_info(data.owner).fullname;
Rushabh Mehtab4a2f4c2012-03-01 11:49:54 +053026 data.imgsrc = wn.user_info(data.owner).image;
Rushabh Mehta12852e72012-02-29 15:11:06 +053027
28 // feedtype
29 if(!data.feed_type) {
30 data.feed_type = get_doctype_label(data.doc_type);
31 data.add_class = "label-info";
32 data.onclick = repl('onclick="window.location.href=\'#!List/%(feed_type)s\';"', data)
33 }
34
35 // color for comment
36 if(data.feed_type=='Comment') {
37 data.add_class = "label-important";
38 }
39
Rushabh Mehta79ae1652012-02-29 15:23:25 +053040 if(data.feed_type=='Assignment') {
Rushabh Mehta1572adf2012-02-29 15:19:20 +053041 data.add_class = "label-warning";
42 }
43
Rushabh Mehta12852e72012-02-29 15:11:06 +053044 // link
45 if(data.doc_name && data.feed_type!='Login') {
46 data.link = repl('<a href="#!Form/%(doc_type)s/%(doc_name)s">%(doc_name)s</a>', data)
47 }
48 },
49 add_date_separator: function(row, data) {
50 var date = dateutil.str_to_obj(data.modified);
51 var last = erpnext.last_feed_date;
52
53 if((last && dateutil.get_diff(last, date)>1) || (!last)) {
54 var pdate = dateutil.comment_when(date);
55 var diff = dateutil.get_diff(new Date(), date);
56 if(diff < 1) {
57 pdate = 'Today';
58 } else if(diff > 6) {
59 pdate = dateutil.global_date_format(date);
60 }
61 $(row).html(repl('<div class="date-sep">%(date)s</div>', {date: pdate}));
62 }
63 erpnext.last_feed_date = date;
64 }
65})