You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Current behavior:
There is not an easy way to enforce type consistency in the data model passed through the open function and where it is consumed in the dialog view model's activate and canActivate functions.
What is the expected behavior?
Add a generic type parameter to open for typing the model (currently the model is simply of type any). For example:
dialogService.open<Customer>({viewModel: Dialog,model: {// TypeScript compiler would throw an error if this object wasn't of type Customer
...
What is the motivation / use case for changing the behavior?
The consuming dialog view model would still need to manually type the model, as one currently would, but at least there would be a little more security on the other end knowing that what's being passed in is actually of type Customer.
Any suggestions/PRs how those can be coupled are welcomed.
In the case where viewModel is passed as string(moduleId) I doubt, something could be done.
On another note, there are 4 interfaces currently, DialogComponentActivate, ... that can be used on the VM.
There is a similar problem how to propagate the dialog "output" type from the VM through the service.
I'm submitting a feature request
Current behavior:
There is not an easy way to enforce type consistency in the data model passed through the
open
function and where it is consumed in the dialog view model'sactivate
andcanActivate
functions.Add a generic type parameter to
open
for typing themodel
(currently themodel
is simply of typeany
). For example:The consuming dialog view model would still need to manually type the
model
, as one currently would, but at least there would be a little more security on the other end knowing that what's being passed in is actually of typeCustomer
.The text was updated successfully, but these errors were encountered: