Skip to content

Commit 183d863

Browse files
authored
Merge pull request #120 from TheAxelander/pre-release
Merge changes for version 1.6.1
2 parents 22b74f8 + 8bb6c07 commit 183d863

File tree

14 files changed

+630
-475
lines changed

14 files changed

+630
-475
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
### 1.6.1 (2022-12-31)
2+
3+
* [Changed] Slight visual changes for Mapping Rule modification
4+
* [Fixed] Rendering of correct Drop-down selection element for Firefox browser [#114](https://github.com/TheAxelander/OpenBudgeteer/issues/114)
5+
16
### 1.6 (2022-12-03)
27

38
* [Add] Enhanced Bucket assignment for Bank Transaction (display remaining amount, manual triggered split) Thanks [ambroser1971](https://github.com/ambroser1971)

OpenBudgeteer.Blazor/Pages/Import.razor

Lines changed: 110 additions & 146 deletions
Large diffs are not rendered by default.

OpenBudgeteer.Blazor/Pages/Rules.razor

Lines changed: 81 additions & 124 deletions
Large diffs are not rendered by default.

OpenBudgeteer.Blazor/Pages/Transaction.razor

Lines changed: 41 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
@page "/transaction"
22

3+
@using OpenBudgeteer.Blazor.Shared.Selector
34
@using OpenBudgeteer.Core.ViewModels
45
@using OpenBudgeteer.Core.Common.Database
56
@using Microsoft.EntityFrameworkCore
@@ -35,20 +36,18 @@
3536
}
3637
</div>
3738
<div class="col-md-auto">
38-
<select class="form-select form-select-sm" style="width: auto" @onchange="@Filter_SelectionChanged">
39-
@foreach (var filter in Enum.GetValues<TransactionViewModelFilter>())
40-
{
41-
if (filter == _dataContext.CurrentFilter)
42-
{
43-
<option selected value="@filter">@filter.GetStringValue()</option>
44-
}
45-
else
46-
{
47-
<option value="@filter">@filter.GetStringValue()</option>
48-
}
49-
50-
}
51-
</select>
39+
<ObjectSelect
40+
GetSelectedItemIdHandler="@(e => e.ToString())"
41+
SetSelectedItemHandler="@(e => Enum.TryParse(typeof(TransactionViewModelFilter), e, out var result) ?
42+
(TransactionViewModelFilter)result : TransactionViewModelFilter.NoFilter)"
43+
@bind-SelectedItem="@_dataContext.CurrentFilter"
44+
AvailableItems="@(Enum.GetValues<TransactionViewModelFilter>())"
45+
SelectClasses="form-select form-select-sm"
46+
SelectStyles="width: auto">
47+
<SelectOption Context="filter">
48+
<option value="@filter">@filter.GetStringValue()</option>
49+
</SelectOption>
50+
</ObjectSelect>
5251
</div>
5352
<YearMonthSelector DataContext="YearMonthDataContext" />
5453
</div>
@@ -73,20 +72,16 @@
7372
<input class="form-control form-control-sm number-input" type="date" @bind="_dataContext.NewTransaction.Transaction.TransactionDate" />
7473
</td>
7574
<td>
76-
77-
<select class="form-select form-select-sm" @onchange=@(e => _dataContext.NewTransaction.SelectedAccount = _dataContext.NewTransaction.AvailableAccounts.First(i => i.AccountId == Convert.ToInt32(e.Value)))>
78-
@foreach (var account in _dataContext.NewTransaction.AvailableAccounts)
79-
{
80-
if (account.AccountId == _dataContext.NewTransaction.SelectedAccount.AccountId)
81-
{
82-
<option selected value="@account.AccountId">@account.Name</option>
83-
}
84-
else
85-
{
86-
<option value="@account.AccountId">@account.Name</option>
87-
}
88-
}
89-
</select>
75+
<ObjectSelect
76+
GetSelectedItemIdHandler="@(e => e.AccountId.ToString())"
77+
SetSelectedItemHandler="@(e => _dataContext.NewTransaction.AvailableAccounts.First(i => i.AccountId == Convert.ToInt32(e)))"
78+
@bind-SelectedItem="@_dataContext.NewTransaction.SelectedAccount"
79+
AvailableItems="@_dataContext.NewTransaction.AvailableAccounts"
80+
SelectClasses="form-select form-select-sm">
81+
<SelectOption Context="account">
82+
<option value="@account.AccountId">@account.Name</option>
83+
</SelectOption>
84+
</ObjectSelect>
9085
</td>
9186
<td><input class="form-control form-control-sm" type="text" @bind="_dataContext.NewTransaction.Transaction.Payee" /></td>
9287
<td><textarea class="form-control form-control-sm" rows="1" @bind="_dataContext.NewTransaction.Transaction.Memo"></textarea></td>
@@ -98,20 +93,9 @@
9893
{
9994
<tr>
10095
<td>
101-
<select class="form-select form-select-sm" style="background-color: @ColorTranslator.ToHtml(bucket.SelectedBucket.Color)"
102-
@onchange=@((e) => bucket.SelectedBucket = bucket.AvailableBuckets.First(i => i.BucketId == Convert.ToInt32(e.Value)))>
103-
@foreach (var availableBucket in bucket.AvailableBuckets)
104-
{
105-
if (bucket.SelectedBucket.BucketId == availableBucket.BucketId)
106-
{
107-
<option selected style="background-color: @ColorTranslator.ToHtml(availableBucket.Color)" value="@availableBucket.BucketId">@availableBucket.Name</option>
108-
}
109-
else
110-
{
111-
<option style="background-color: @ColorTranslator.ToHtml(availableBucket.Color)" value="@availableBucket.BucketId">@availableBucket.Name</option>
112-
}
113-
}
114-
</select>
96+
<BucketSelect
97+
@bind-SelectedItem="@bucket.SelectedBucket"
98+
AvailableItems="@bucket.AvailableBuckets"/>
11599
</td>
116100
<td style="width: 90px"><input class="form-control form-control-sm number-input" type="number" @bind="bucket.Amount" /></td>
117101
<td><button class="btn btn-sm btn-danger bi bi-trash3" @onclick="@(() => bucket.DeleteBucket())"></button></td>
@@ -160,19 +144,16 @@
160144
<input class="form-control form-control-sm number-input" type="date" @bind="transaction.Transaction.TransactionDate" />
161145
</td>
162146
<td>
163-
<select class="form-select form-select-sm" @onchange=@(e => transaction.SelectedAccount = transaction.AvailableAccounts.First(i => i.AccountId == Convert.ToInt32(e.Value)))>
164-
@foreach (var account in transaction.AvailableAccounts)
165-
{
166-
if (account.AccountId == transaction.SelectedAccount.AccountId)
167-
{
168-
<option selected value="@account.AccountId">@account.Name</option>
169-
}
170-
else
171-
{
172-
<option value="@account.AccountId">@account.Name</option>
173-
}
174-
}
175-
</select>
147+
<ObjectSelect
148+
GetSelectedItemIdHandler="@(e => e.AccountId.ToString())"
149+
SetSelectedItemHandler="@(e => transaction.AvailableAccounts.First(i => i.AccountId == Convert.ToInt32(e)))"
150+
@bind-SelectedItem="@transaction.SelectedAccount"
151+
AvailableItems="@transaction.AvailableAccounts"
152+
SelectClasses="form-select form-select-sm">
153+
<SelectOption Context="account">
154+
<option value="@account.AccountId">@account.Name</option>
155+
</SelectOption>
156+
</ObjectSelect>
176157
</td>
177158
<td><input class="form-control form-control-sm" type="text" @bind="transaction.Transaction.Payee" /></td>
178159
<td><textarea class="form-control form-control-sm" rows="1" @bind="transaction.Transaction.Memo"></textarea></td>
@@ -184,20 +165,10 @@
184165
{
185166
<tr>
186167
<td>
187-
<select class="form-select form-select-sm" style="background-color: @ColorTranslator.ToHtml(bucket.SelectedBucket.Color)"
188-
@onchange=@((e) => bucket.SelectedBucket = bucket.AvailableBuckets.First(i => i.BucketId == Convert.ToInt32(e.Value)))>
189-
@foreach (var availableBucket in bucket.AvailableBuckets)
190-
{
191-
if (bucket.SelectedBucket.BucketId == availableBucket.BucketId)
192-
{
193-
<option selected style="background-color: @ColorTranslator.ToHtml(availableBucket.Color)" value="@availableBucket.BucketId">@availableBucket.Name</option>
194-
}
195-
else
196-
{
197-
<option style="background-color: @ColorTranslator.ToHtml(availableBucket.Color)" value="@availableBucket.BucketId">@availableBucket.Name</option>
198-
}
199-
}
200-
</select>
168+
<BucketSelect
169+
@bind-SelectedItem="@bucket.SelectedBucket"
170+
AvailableItems="@bucket.AvailableBuckets">
171+
</BucketSelect>
201172
</td>
202173
<td style="width: 90px"><input class="form-control form-control-sm number-input" type="number" @bind="bucket.Amount" /></td>
203174
<td><button class="btn btn-sm btn-danger bi bi-trash3" @onclick="@(() => bucket.DeleteBucket())"></button></td>
@@ -268,7 +239,7 @@
268239
}
269240

270241
<RecurringTransactionDialog
271-
DataContext="_recurringTransactionViewModel"
242+
DataContext="@_recurringTransactionViewModel"
272243
IsDialogVisible="@_isRecurringTransactionModalDialogVisible"
273244
OnClickCallback="@(() => _isRecurringTransactionModalDialogVisible = false)"
274245
/>

0 commit comments

Comments
 (0)