aboutsummaryrefslogtreecommitdiff
path: root/extension/popup/wallet.js
diff options
context:
space:
mode:
Diffstat (limited to 'extension/popup/wallet.js')
-rw-r--r--extension/popup/wallet.js85
1 files changed, 85 insertions, 0 deletions
diff --git a/extension/popup/wallet.js b/extension/popup/wallet.js
new file mode 100644
index 000000000..cb7399dac
--- /dev/null
+++ b/extension/popup/wallet.js
@@ -0,0 +1,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);
+});