@@ -73,24 +73,28 @@ protected override async Task OnInitializedAsync()
73
73
_canDelete = await CanDoPermission ( Context . DeletePermission , state ) ;
74
74
75
75
await LocalLoadDataAsync ( ) ;
76
- await SubscribeToTableCustomizationPanel ( ) ;
76
+ await SetAndSubscribeToTablePreference ( ) ;
77
77
}
78
78
79
- private async Task SubscribeToTableCustomizationPanel ( )
79
+ private async Task SetAndSubscribeToTablePreference ( )
80
80
{
81
- if ( await ClientPreferences . GetPreference ( ) is not ClientPreference currentPreference ) return ;
82
- Dense = currentPreference . EntityTablePreference . IsDense ;
83
- Striped = currentPreference . EntityTablePreference . IsStriped ;
84
- Bordered = currentPreference . EntityTablePreference . HasBorder ;
85
- Hoverable = currentPreference . EntityTablePreference . IsHoverable ;
86
- MessagingCenter . Subscribe < TableCustomizationPanel , EntityTablePreference > ( this , nameof ( currentPreference . EntityTablePreference ) , ( _ , value ) =>
81
+ if ( await ClientPreferences . GetPreference ( ) is ClientPreference clientPreference )
87
82
{
88
- Dense = value . IsDense ;
89
- Striped = value . IsStriped ;
90
- Bordered = value . HasBorder ;
91
- Hoverable = value . IsHoverable ;
92
- StateHasChanged ( ) ;
93
- } ) ;
83
+ SetTablePreference ( clientPreference . EntityTablePreference ) ;
84
+ MessagingCenter . Subscribe < TableCustomizationPanel , EntityTablePreference > ( this , nameof ( ClientPreference . EntityTablePreference ) , ( _ , value ) =>
85
+ {
86
+ SetTablePreference ( value ) ;
87
+ StateHasChanged ( ) ;
88
+ } ) ;
89
+ }
90
+ }
91
+
92
+ private void SetTablePreference ( EntityTablePreference tablePreference )
93
+ {
94
+ Dense = tablePreference . IsDense ;
95
+ Striped = tablePreference . IsStriped ;
96
+ Bordered = tablePreference . HasBorder ;
97
+ Hoverable = tablePreference . IsHoverable ;
94
98
}
95
99
96
100
private async Task < bool > CanDoPermission ( string ? permission , AuthenticationState state ) =>
@@ -208,31 +212,27 @@ private async Task InvokeModal(TEntity? entity = default)
208
212
{
209
213
bool isCreate = entity is null ;
210
214
211
- string title = isCreate
212
- ? L [ "Create " ] + Context . EntityName
213
- : L [ "Update " ] + Context . EntityName ;
214
-
215
215
var parameters = new DialogParameters ( )
216
216
{
217
217
{ nameof ( AddEditModal < TRequest > . EditFormContent ) , EditFormContent } ,
218
218
{ nameof ( AddEditModal < TRequest > . OnInitializedFunc ) , Context . EditFormInitializedFunc } ,
219
- { nameof ( AddEditModal < TRequest > . IsCreate ) , isCreate } ,
220
- { nameof ( AddEditModal < TRequest > . Title ) , title }
219
+ { nameof ( AddEditModal < TRequest > . EntityName ) , Context . EntityName }
221
220
} ;
222
221
222
+ TRequest requestModel ;
223
+
223
224
if ( isCreate )
224
225
{
225
226
_ = Context . CreateFunc ?? throw new InvalidOperationException ( "CreateFunc can't be null!" ) ;
226
227
parameters . Add ( nameof ( AddEditModal < TRequest > . SaveFunc ) , Context . CreateFunc ) ;
227
228
228
- var requestModel =
229
+ requestModel =
229
230
Context . GetDefaultsFunc is not null
230
231
&& await ApiHelper . ExecuteCallGuardedAsync (
231
232
( ) => Context . GetDefaultsFunc ( ) , Snackbar )
232
233
is TRequest defaultsResult
233
234
? defaultsResult
234
235
: new TRequest ( ) ;
235
- parameters . Add ( nameof ( AddEditModal < TRequest > . RequestModel ) , requestModel ) ;
236
236
}
237
237
else
238
238
{
@@ -244,17 +244,18 @@ is TRequest defaultsResult
244
244
Func < TRequest , Task > saveFunc = entity => Context . UpdateFunc ( id , entity ) ;
245
245
parameters . Add ( nameof ( AddEditModal < TRequest > . SaveFunc ) , saveFunc ) ;
246
246
247
- var requestModel =
247
+ requestModel =
248
248
Context . GetDetailsFunc is not null
249
249
&& await ApiHelper . ExecuteCallGuardedAsync (
250
250
( ) => Context . GetDetailsFunc ( id ! ) ,
251
251
Snackbar )
252
252
is TRequest detailsResult
253
253
? detailsResult
254
254
: entity ! . Adapt < TRequest > ( ) ;
255
- parameters . Add ( nameof ( AddEditModal < TRequest > . RequestModel ) , requestModel ) ;
256
255
}
257
256
257
+ parameters . Add ( nameof ( AddEditModal < TRequest > . RequestModel ) , requestModel ) ;
258
+
258
259
var options = new DialogOptions { CloseButton = true , MaxWidth = MaxWidth . Medium , FullWidth = true , DisableBackdropClick = true } ;
259
260
260
261
var dialog = DialogService . Show < AddEditModal < TRequest > > ( isCreate ? L [ "Create" ] : L [ "Edit" ] , parameters , options ) ;
0 commit comments