aboutsummaryrefslogtreecommitdiff
path: root/extension/popup/wallet.js
blob: cb7399dacda11c3fd0cf50a904c51697e61b0d3b (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
'use strict';

var selected_currency = 'EUR'; // FIXME

function select_currency (checkbox, currency, amount)
{
  selected_currency = currency;

  if (checkbox.checked)
  {
    let inputs = document.getElementsByTagName('input');
    for (let i = 0; i < inputs.length; i++)
    {
      let input = inputs[i];
      if (input != checkbox)
        input.checked = false;
    }
    chrome.browserAction.setBadgeText({text: amount.toString()})
    chrome.browserAction.setTitle({title: 'Taler: ' + amount + ' ' + currency});
  }
  else
  {
    chrome.browserAction.setBadgeText({text: ''})
    chrome.browserAction.setTitle({title: 'Taler'});
  }
}


function add_currency (currency, amount)
{
  let table = document.getElementById('wallet-table');
  table.className = table.className.replace(/\bhidden\b/, '');
  let tr = document.createElement('tr');
  tr.id = 'wallet-table-'+ currency;
  table.appendChild(tr);

  let td_amount = document.createElement('td');
  td_amount.id = 'wallet-currency-'+ currency +'-amount';
  td_amount.className = 'amount';
  let text_amount = document.createTextNode(amount);
  tr.appendChild(td_amount).appendChild(text_amount);

  let td_currency = document.createElement('td');
  td_currency.id = 'wallet-table-'+ currency +'-currency';
  td_currency.className = 'currency';
  let text_currency = document.createTextNode(currency);
  tr.appendChild(td_currency).appendChild(text_currency);

  let td_select = document.createElement('td');
  td_select.id = 'wallet-table-'+ currency +'-select';
  td_select.className = 'select';
  let checkbox = document.createElement('input');
  checkbox.id = 'wallet-table-'+ currency +'-checkbox';
  checkbox.setAttribute('type', 'checkbox');
  if (currency == selected_currency)
    checkbox.checked = true;
  tr.appendChild(td_select).appendChild(checkbox);

  checkbox._amount = amount;
  checkbox.addEventListener('click', function () {
    select_currency(this, currency, this._amount);
  });
}

function update_currency (currency, amount)
{
  let td_amount = document.getElementById('wallet-currency-'+ currency +'-amount');
  let text_amount = document.createTextNode(amount);
  td_amount.removeChild(td_amount.firstChild);
  td_amount.appendChild(text_amount);

  let checkbox = document.getElementById('wallet-table-'+ currency +'-checkbox');
  checkbox._amount = amount;
}

document.addEventListener('DOMContentLoaded', function () {
  let empty = document.getElementById('wallet-empty');

  // FIXME
  empty.className += ' hidden';
  add_currency('EUR', 42);
  add_currency('USD', 17);
  add_currency('KUD', 1337);
  update_currency('USD', 23);
});