Grial-UI-Kit-Support
Grial-UI-Kit-Support copied to clipboard
Documentation for Master Details implementation
I read through http://uxdivers.github.io/Grial-UI-Kit-Support/docs.html and it is not giving enough description as what is needed for implementing a master details page. I think you need to improve the documentation and Master Details is one area that definitely needs more explanation.
Which Xaml files and codes I need to refer to from the Full project? What components are involved in a master details page? And what is the relationship between them? What is the role of SampleCoordinator? Do I need to use CustomNavBar in my page?
I can see that RootPage is derived from MasterDetailsPage. So it must be the container page for a master details page. What if I don't have a WelcomePage?
Where is this Master Detail Page defined? https://grialkit.com/portfolio-items/master-detail-page/ I think it would be helpful if you mention relevant .xaml files for each portfolio item.
HI @samnaseri,
You can find more info about the MasterDetail
page from Xamarin Forms docs here:
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/navigation/master-detail-page
Keep in mind that Grial full sample is just an excuse to 'glue' all the different views and templates we provide. So the idea is that you use and combine any of our pages as you wish (for instance, you could need to use a TabbedPage for your app's navigation, then no MasterDetail would be needed but you will still use any of our templates and pages.).
About your other questions:
Please take a look at the RootPage.xaml
. This is the MasterDetail
used by Grial Full sample.
Basically, the Master
is using ourMainMenuPage.xaml
, then the Detail
can be whatever you want. In our case, we use the Detail
to hold our different pages and that is done through the SampleCoordinator
.
Best, JP
Hi @jpbrocca ,
I think there is a great potential for Grial's navigation implementation to be used by many of us as your customers. I think there is a great potential to simplify navigation using Grial's NavigationService.cs, NavigationPageHelper.cs, SampleCoordinator.cs, RootPage.xaml etc.
Is there any documentation that can help us understand the architectural structure of these components in one place? It will certainly help us learn lot more about Grial's capability than merely appreciating the GrialPages and controls.
Can Grial App include a screen map diagram (such as generated using Infragistics AppMap) by created for our App as a part of Starter and Full App code? Having that will be also very helpful to -1> target and update only the required Grial pages with our app needs in one place, 2> Use Navigation provided by Grial or our own.
Also, as much as I love and appreciate the embedded DataResource.resx, it will be fantastic if a skeleton of the plumbing to the Azure Mobile App Service and Xamarin Essential is provided while local APIs (structure) still reading the data from the DataResourece.resx locally. It will enhance the productivity experience for many of us to replace those initial sample data services calls with our API calls.
Thanks,
Hi @jpbrocca,
The approach I have taken is to update my app screens within the Gorilla Enabled Full version of my App. I am at a point to convert menu that doesn't have sub menu items. But I want to present main menu items is the same style as the submenus outlined in the MainMenuItemTemplate except the bold font and bigger size as the main menu items.
Also, in the DesignTimeData.json there are multiple occurrences of SampleGroupedByCategory* .. almost 5. Can you tell me why that's required especially when the data is repeated? Will you please help me understand with some simplified diagram / documentation to get a bigger picture of the components, wiring and process-wise execution model of the as-is app. It will truly help us and save some time.
Can you also please point me in the right direction for better understanding of how the MainMenuPage.xaml (and templates used inside), SampleViewModel.cs, SampleDefinitions.cs, SampleCoordinator.cs, various duplicate set of data sections in DesignTimeData.json, and App.xaml are used in understanding the wiring of the components and modifying the data
Your help is truly appreciated.
Thank you.
Can someone tell us how to change the detail page? how can we send the page name like parameter?
I couldn't to that. Shortly, I will use MainMenuPage.xaaml as master page and will use the other page detail. For example DashboardCardsPage.xaml
(Question can be simple, I'm new on Xamarin) Thanks.
@MehmetCANKAYA: which version of Grial are you using?
If version is 3 then MainMenuPage.xaml refers (loads) its ViewModel (see MainMenuViewModel.cs). In the ViewModel class you can find a method called LoadData which populate the list MainMenuEntries.
You have to handle that list according to the screens you need in you application. Grial will do the rest of the job.
BTW, I understand you are new to Xamarin (welcome!) but if you have time, I would suggest to implement some Mvvm framework (I'm using Prism.Forms for example). You will spend some time at the initial but then everything will be more easy to handle (IoC/DI, navigation just to mention two).
Regards. -m
Thank you @mrutter, for your interest. Yes my version is 3. I will follow your advice. Thank you.