src/schedules/views/index.html
<table
id="transactions"
class="table table-striped table-bordered table-hover table-condensed"
og-table-navigable="vm.tableActions"
>
<thead id="transactions-header">
<tr>
<th class="transaction-date">Date</th>
<th class="account">Account</th>
<th class="details">Details</th>
<th>Frequency</th>
<th class="amount">Debit</th>
<th class="amount">Credit</th>
</tr>
</thead>
<tbody>
<tr
class="transaction"
ng-repeat="schedule in vm.schedules"
ng-class="::{'text-danger': schedule.next_due_date < vm.today}"
>
<td>
{{::schedule.next_due_date | date:'dd/MM/yyyy'}}
<i
ng-if="::schedule.auto_enter"
class="glyphicon glyphicon-pushpin pull-right"
uib-tooltip="Auto entered on due date"
></i>
<div ng-if="::schedule.overdue_count > 1">
<small
><em>({{::schedule.overdue_count}} occurences overdue)</em></small
>
</div>
</td>
<td>{{::schedule.primary_account.name}}</td>
<td class="details">
<table class="table-condensed">
<tr>
<td ng-if="::schedule.payee.id" colspan="2">
{{::schedule.payee.name}}
</td>
<td ng-if="::schedule.security.id" colspan="2">
{{::schedule.security.name}}
</td>
</tr>
<tr>
<td class="category">{{::schedule.category.name}}</td>
<td ng-if="::schedule.transaction_type == 'Basic'" class="category">
{{::schedule.subcategory.name}}
</td>
<td
ng-if="::['Transfer', 'Subtransfer', 'SecurityTransfer', 'Dividend', 'SecurityInvestment'].indexOf(schedule.transaction_type) != -1"
class="category"
>
{{::schedule.account.name}}
</td>
<td
ng-if="::['Split', 'LoanRepayment', 'Payslip'].indexOf(schedule.transaction_type) != -1"
>
<button
ng-click="vm.toggleSubtransactions(schedule)"
class="btn btn-xs btn-default toggle-subtransactions"
>
<i
class="glyphicon"
ng-class="::{'glyphicon-chevron-down': !schedule.showSubtransactions, 'glyphicon-chevron-up': schedule.showSubtransactions}"
></i>
</button>
</td>
</tr>
<tr
ng-if="::['Split', 'LoanRepayment', 'Payslip'].indexOf(schedule.transaction_type) != -1"
ng-show="schedule.showSubtransactions"
>
<td colspan="2">
<table class="table-condensed">
<thead>
<tr>
<th>Category</th>
<th>Subcategory</th>
<th>Description</th>
<th class="amount">Amount</th>
</tr>
<tr
og-table-loading="schedule.loadingSubtransactions"
colspan="4"
></tr>
</thead>
<tbody>
<tr ng-repeat="subtransaction in schedule.subtransactions">
<td>{{::subtransaction.category.name}}</td>
<td ng-if="::subtransaction.transaction_type == 'Sub'">
{{::subtransaction.subcategory.name}}
</td>
<td
ng-if="::subtransaction.transaction_type == 'Subtransfer'"
>
{{::subtransaction.account.name}}
</td>
<td>{{::subtransaction.memo}}</td>
<td
class="amount"
ng-class="::{'text-danger': (subtransaction.amount * (subtransaction.direction == schedule.direction ? 1 : -1)) < 0}"
>
{{::subtransaction.amount * (subtransaction.direction ==
schedule.direction ? 1 : -1) | currency}}
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="memo" colspan="2">
<span>{{::schedule.memo}}</span>
</td>
</tr>
</table>
</td>
<td>{{::schedule.frequency}}</td>
<td class="amount details">
<span
ng-if="::schedule.direction == 'outflow' && schedule.amount"
ng-class="::{'text-danger': schedule.amount < 0}"
>{{::schedule.amount | currency | estimate:schedule.estimate}}</span
>
</td>
<td class="amount details">
<span
ng-if="::schedule.direction == 'inflow' && schedule.amount"
ng-class="::{'text-danger': schedule.amount < 0}"
>{{::schedule.amount | currency | estimate:schedule.estimate}}</span
>
</td>
</tr>
</tbody>
</table>