Number formatting, show account selector only if several are available
This commit is contained in:
@@ -20,7 +20,6 @@ https://letsencrypt.org/getting-started/
|
|||||||
|
|
||||||
# TODO
|
# TODO
|
||||||
- umschalten von Ausgabe auf Entnahme möglich? Ansonsten Pseudo-Kategorie aus Edit-Fenster entfernen
|
- 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
|
- Auslagen in Modal anzeigen und zurücksetzen
|
||||||
- verschiedene Hintergrundfarben für Auslagen, je nach User
|
- verschiedene Hintergrundfarben für Auslagen, je nach User
|
||||||
- Export als CSV
|
- Export als CSV
|
||||||
|
|||||||
@@ -52,6 +52,28 @@ label {
|
|||||||
background-color: #D9DBC9;
|
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 {
|
.clickable {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,17 @@
|
|||||||
var transactionControllers = angular.module('transactionControllers', ['ngResource']);
|
var transactionControllers = angular.module('transactionControllers', ['ngResource']);
|
||||||
|
|
||||||
function amountToNumber(amount) {
|
function amountToNumber(amount) {
|
||||||
amount = amount.toString().replace(',', '.');
|
var number = amount.toString().replace(',', '.');
|
||||||
if (amount.charAt(0) !== '+' && amount.charAt(0) !== '-') {
|
if (number.charAt(0) !== '+' && number.charAt(0) !== '-') {
|
||||||
amount = '-' + amount;
|
number = '-' + number;
|
||||||
|
}
|
||||||
|
return number;
|
||||||
|
}
|
||||||
|
|
||||||
|
function numberToAmount(number) {
|
||||||
|
var amount = number.toFixed(2).toString().replace('.', ',');
|
||||||
|
if (amount.charAt(0) !== '-') {
|
||||||
|
amount = "+" + amount;
|
||||||
}
|
}
|
||||||
return amount;
|
return amount;
|
||||||
}
|
}
|
||||||
@@ -83,6 +91,10 @@ transactionControllers.controller('TransactionListCtrl', [ '$scope', '$location'
|
|||||||
$scope.nextPageAvailable = (transactions.page.totalPages !== transactions.page.number + 1);
|
$scope.nextPageAvailable = (transactions.page.totalPages !== transactions.page.number + 1);
|
||||||
$scope.prevPageAvailable = (transactions.page.number > 0);
|
$scope.prevPageAvailable = (transactions.page.number > 0);
|
||||||
$scope.pageNumber = transactions.page.number;
|
$scope.pageNumber = transactions.page.number;
|
||||||
|
|
||||||
|
for (i = 0; i < $scope.transactions.length; i++) {
|
||||||
|
$scope.transactions[i].amount = numberToAmount($scope.transactions[i].amount);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
refreshExpenses();
|
refreshExpenses();
|
||||||
@@ -199,6 +211,10 @@ transactionControllers.controller('TransactionListCtrl', [ '$scope', '$location'
|
|||||||
$scope.pageNumber++;
|
$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();
|
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) {
|
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.transactions = $scope.transactions.concat(transactions._embedded.transactions);
|
||||||
$scope.nextPageAvailable = (transactions.page.totalPages !== transactions.page.number + 1);
|
$scope.nextPageAvailable = (transactions.page.totalPages !== transactions.page.number + 1);
|
||||||
$scope.prevPageAvailable = (transactions.page.number > 0);
|
$scope.prevPageAvailable = (transactions.page.number > 0);
|
||||||
@@ -272,15 +288,7 @@ transactionControllers.controller('DetailsModalCtrl', [ '$scope', '$resource', '
|
|||||||
|
|
||||||
var transaction = Transaction.get({ id: transactionId });
|
var transaction = Transaction.get({ id: transactionId });
|
||||||
transaction.$promise.then(function(data) {
|
transaction.$promise.then(function(data) {
|
||||||
|
transaction.amount = numberToAmount(transaction.amount);
|
||||||
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.date = new Date(transaction.date);
|
transaction.date = new Date(transaction.date);
|
||||||
transaction.creditor = $resource(transaction._links.creditor.href).get();
|
transaction.creditor = $resource(transaction._links.creditor.href).get();
|
||||||
transaction.category = $resource(transaction._links.category.href).get();
|
transaction.category = $resource(transaction._links.category.href).get();
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
||||||
<div>
|
<div ng-show="accounts.length > 1">
|
||||||
<select
|
<select
|
||||||
ng-model='account'
|
ng-model='account'
|
||||||
ng-change='refreshList()'
|
ng-change='refreshList()'
|
||||||
@@ -91,7 +91,7 @@
|
|||||||
<tr ng-repeat="transaction in transactions" ng-click="openDetails(transaction)" class="clickable">
|
<tr ng-repeat="transaction in transactions" ng-click="openDetails(transaction)" class="clickable">
|
||||||
<td>{{transaction.date | date:'dd.MM.yyyy'}}</td>
|
<td>{{transaction.date | date:'dd.MM.yyyy'}}</td>
|
||||||
<td>{{transaction.category.name}}</td>
|
<td>{{transaction.category.name}}</td>
|
||||||
<td align="right" ng-class="{credit: transaction.creditor.name}">{{transaction.amount | number : 2}} €</td>
|
<td align="right" class="{{transaction.creditor.name ? 'creditor-' + transaction.creditor.id : ''}}">{{transaction.amount}} €</td>
|
||||||
<td>{{transaction.description}}</td>
|
<td>{{transaction.description}}</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
Reference in New Issue
Block a user