summaryrefslogtreecommitdiff
path: root/js/options.js
blob: 1835aba41cb838234ee0b68039172c2cda454d88 (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
103
104
105
106
107
108
109
110
111
112
113
114
115
/* Option handling. */

function save() {

  var s = $('status');

  s.innerHTML = 'Options saved successfully.';

  var f = document.forms['options'];

  if (f.site_url.value.length > 0)
    localStorage['site_url'] = f.site_url.value;
  else {
    s.innerHTML = 'Error: Site url cannot be blank.';
    new Effect.Highlight(f.site_url);
  }

  if (f.login.value.length > 0)
    localStorage['login'] = f.login.value;
  else {
    s.innerHTML = 'Error: Login cannot be blank.';
    new Effect.Highlight(f.login);
  }

  var update_interval = parseInt(f.update_interval.value);

  if (update_interval > 0)
    localStorage['update_interval'] = f.update_interval.value;
  else {
    s.innerHTML = 'Error: Update interval must be greater than zero.';
    new Effect.Highlight(f.update_interval);
  }

  localStorage['show_badge'] = (f.show_badge.checked) ? '1' : '0';
  localStorage['show_fresh'] = (f.show_fresh.checked) ? '1' : '0';
  localStorage['single_user'] = (f.single_user.checked) ? '1' : '0';
  localStorage['update_feeds'] = (f.update_feeds.checked) ? '1' : '0';

  var d = new Date();

  localStorage['prefs_updated'] = d.getTime();

  Element.show(s);

  return false;
}

function single_user_toggle() {
  var f = document.forms['options'];

  f.login.disabled = f.single_user.checked;
}

function init() {
  var f = document.forms['options'];

  if (localStorage['site_url'])
    f.site_url.value = localStorage['site_url'];
  else
    f.site_url.value = 'http://example.dom/tt-rss/';

  if (localStorage['login'])
    f.login.value = localStorage['login'];
  else
    f.login.value = 'user';

  if (localStorage['update_interval'])
    f.update_interval.value = localStorage['update_interval'];
  else
    f.update_interval.value = '15';

  if (localStorage['show_badge'])
    f.show_badge.checked = localStorage['show_badge'] == '1';
  else
    f.show_badge.checked = true;

  if (localStorage['show_fresh'])
    f.show_fresh.checked = localStorage['show_fresh'] == '1';
  else
    f.show_fresh.checked = false;

  if (localStorage['single_user'])
    f.single_user.checked = localStorage['single_user'] == '1';
  else
    f.single_user.checked = false;

  if (localStorage['update_feeds'])
    f.update_feeds.checked = localStorage['update_feeds'] == '1';
  else
    f.update_feeds.checked = false;

  single_user_toggle();

  var last_updated = $('last_updated');

  var d = new Date();

  d.setTime(localStorage['last_updated']);

  last_updated.innerHTML = d;

  var feeds_last_updated = $('feeds-last-updated');

  d.setTime(localStorage['last_feeds_updated']);

  feeds_last_updated.innerHTML = d;
}

document.addEventListener('DOMContentLoaded', function() {
  document.getElementById('options').addEventListener('submit', save);
  document.querySelectorAll('input[name$="single_user"]')[0].addEventListener(
    'change', single_user_toggle);
  init();
});