Number formatting, show account selector only if several are available

This commit is contained in:
2016-07-11 22:48:40 +02:00
parent e7a053f596
commit 6be5da231d
4 changed files with 44 additions and 15 deletions
-1
View File
@@ -20,7 +20,6 @@ https://letsencrypt.org/getting-started/
# TODO
- umschalten von Ausgabe auf Entnahme möglich? Ansonsten Pseudo-Kategorie aus Edit-Fenster entfernen
- Account-Dropdown ausblenden, wenn User nur einen Account sehen kann
- Auslagen in Modal anzeigen und zurücksetzen
- verschiedene Hintergrundfarben für Auslagen, je nach User
- Export als CSV
+22
View File
@@ -52,6 +52,28 @@ label {
background-color: #D9DBC9;
}
/*
.creditor-1 { background-color: #8dcfe3; }
.creditor-2 { background-color: #b3e0e6; }
.creditor-3 { background-color: #e4f3ef; }
.creditor-4 { background-color: #accdb9; }
.creditor-5 { background-color: #c8d5b9; }
.creditor-6 { background-color: #d9d0b2; }
*/
/*
.creditor-1 { background-color: #4a98b0; }
.creditor-2 { background-color: #67aab3; }
.creditor-3 { background-color: #8ec0b5; }
.creditor-4 { background-color: #accdb9; }
.creditor-5 { background-color: #c8d5b9; }
.creditor-6 { background-color: #d9d0b2; }
*/
.creditor-1 { background-color: #a4d4e3; }
.creditor-2 { background-color: #cfe6e1; }
.creditor-3 { background-color: #a4d4e3; }
.creditor-4 { background-color: #cfe6e1; }
.clickable {
cursor: pointer;
}
+20 -12
View File
@@ -1,9 +1,17 @@
var transactionControllers = angular.module('transactionControllers', ['ngResource']);
function amountToNumber(amount) {
amount = amount.toString().replace(',', '.');
if (amount.charAt(0) !== '+' && amount.charAt(0) !== '-') {
amount = '-' + amount;
var number = amount.toString().replace(',', '.');
if (number.charAt(0) !== '+' && number.charAt(0) !== '-') {
number = '-' + number;
}
return number;
}
function numberToAmount(number) {
var amount = number.toFixed(2).toString().replace('.', ',');
if (amount.charAt(0) !== '-') {
amount = "+" + amount;
}
return amount;
}
@@ -83,6 +91,10 @@ transactionControllers.controller('TransactionListCtrl', [ '$scope', '$location'
$scope.nextPageAvailable = (transactions.page.totalPages !== transactions.page.number + 1);
$scope.prevPageAvailable = (transactions.page.number > 0);
$scope.pageNumber = transactions.page.number;
for (i = 0; i < $scope.transactions.length; i++) {
$scope.transactions[i].amount = numberToAmount($scope.transactions[i].amount);
}
});
refreshExpenses();
@@ -199,6 +211,10 @@ transactionControllers.controller('TransactionListCtrl', [ '$scope', '$location'
$scope.pageNumber++;
var transactions = $resource('http://localhost:8080/transactions/search/forAccount', { accountId: $scope.account.id, size: $scope.pageSize, sort: 'date,desc', page: $scope.pageNumber }).get();
transactions.$promise.then(function(data) {
for (i = 0; i < transactions._embedded.transactions.length; i++) {
transactions._embedded.transactions[i].amount = numberToAmount(transactions._embedded.transactions[i].amount);
}
$scope.transactions = $scope.transactions.concat(transactions._embedded.transactions);
$scope.nextPageAvailable = (transactions.page.totalPages !== transactions.page.number + 1);
$scope.prevPageAvailable = (transactions.page.number > 0);
@@ -272,15 +288,7 @@ transactionControllers.controller('DetailsModalCtrl', [ '$scope', '$resource', '
var transaction = Transaction.get({ id: transactionId });
transaction.$promise.then(function(data) {
transaction.amount = transaction.amount.toFixed(2).toString().replace('.', ',');
if (transaction.amount.charAt(0) === '-') {
transaction.amount = transaction.amount.substr(1);
}
else {
transaction.amount = "+" + transaction.amount;
}
transaction.amount = numberToAmount(transaction.amount);
transaction.date = new Date(transaction.date);
transaction.creditor = $resource(transaction._links.creditor.href).get();
transaction.category = $resource(transaction._links.category.href).get();
@@ -1,7 +1,7 @@
<div class="container">
<div class="row">
<div>
<div ng-show="accounts.length > 1">
<select
ng-model='account'
ng-change='refreshList()'
@@ -91,7 +91,7 @@
<tr ng-repeat="transaction in transactions" ng-click="openDetails(transaction)" class="clickable">
<td>{{transaction.date | date:'dd.MM.yyyy'}}</td>
<td>{{transaction.category.name}}</td>
<td align="right" ng-class="{credit: transaction.creditor.name}">{{transaction.amount | number : 2}}&nbsp;&euro;</td>
<td align="right" class="{{transaction.creditor.name ? 'creditor-' + transaction.creditor.id : ''}}">{{transaction.amount}}&nbsp;&euro;</td>
<td>{{transaction.description}}</td>
</tr>
</table>