MDrivenWiki
Log in

ViewInView

From MDrivenWiki
2021-05-18 11h45 14.png

ViewInView (View in View) is a way to bring one View into another view as a control.

You can use the UIFirst definition helper to set this up or you can do it manually:

  1. Create a list of objects - so that it renders as a Table
  2. On the Nesting of the Table add TaggedValue "ViewModel" with value true
  3. Delete all columns from the table and have only 1 column named ViewModel
  4. Make the ViewModel column return a valid name of a ViewModel compatible with the object on the table row

Now the table is not rendered - instead a ListView in WPF, and a list of IFrames in turnkey that contains the resolved ViewModel rooted in the object per row in the table.

In turnkey the whole application is rendered in such a cell with a special mode given by Turnkey/AngularAppUC instead of Turnkey/AngularApp

Who owns the state of a ViewInView

Changes done in a ViewInView control are owned by the parent view - and the Parent view's save and cancel buttons should light up when change in ViewInView control is done.

Turnkey ViewOverrides and TagExpander in ViewInView

If the ViewInView-ViewModel has an override file as discussed in Fashion_with_tagexpander or Turnkey session 9: View Override this will be applied before rendering.

2021-05-18 13h11 18.png
2021-05-18 13h13 08.png