multi flow navigation UI5 - sapui5

I'm trying to develop multi flow navigation using Shell & SplitApp controls.
I'm able to create shell and splitapp controls individually now I'm trying to provide navigation between shell and splitapp.
So the flow would be:
login View
Dashboard.
master details views
I'm using component.js for loading components and providing routing.
With this structure I'm able to navigate from master page to navigate page but I was struck at structuring the application.
I tried googling but didn't find anything useful.
I've followed the ui5 TDG for structuring the application.
UI5-TDG
Below is the sample image of dashboard view
Below is the sample image of master detail view
Am I the only one trying this kind of scenario or did I miss something?
Any suggestions/materials/resources on structuring of application would be greatly appreciated?

To navigate in your app the first thing to do is create a correct routing in Component.js file.
In the documentation you can see a mode to define the routing. But this mode is #deprecated from 1.28
The right way to compose the routing json is using routes and targets. You can see an example downloading the SDK and navigating in
openui5-sdk-1.28.11\test-resources\sap\m\demokit\master-detail\src\Component.js
If you have in mind the flow of your app you know each screen; in your example you have 3 screen: login, dashboard and cart; moreover you know that cart have a master and detail page (products and product).
Start immediately with splitapp (although some screens not have master) and compose router in the Component.js; you have:
3 routes: login, dashboard and cart. Targets are respectively ["login_detail"], ["dashboard_detail"], ["products_master", "product_detail"]
4 target: login_detail, dashboard_detail, products_master, product_detail, one for each view.

Related

Navigation with new Ionic (version 4)

Up to Ionic3, it was closely packed with Angular.js. So probably the navigation jobs were done by some Angular.js functionality. I can be wrong since I have not worked with Ionic or Angular.js before.
Ionic4 will be framework agnostic, written with Stencil.js and compiled with Stencil.js Compiler to Web Components standard components.
I wonder how navigation tasks will be handled, and by whom? Does Ionic4 have routing capabilities? Or it does not and developer's client-side router of choice must be used, especially I wonder the use case with Stencil.js since it has a router too. For example, how it should be used for a tabbed application Mark up and styles by Ionic, and routing with Stencil.js?
Ionic will now use angular router. it will make use of angular router-outlets. for the tabbed application markup, each tab will be provided with a named router outlet. Read more here:
Ionic/angular v4 router
Ionic 4 will now use angular routing method instead of default ionic 3 (push/pop) methods.
Must read the migration notes from ionic team.
Ionic has a component for simple navigation: https://ionicframework.com/docs/api/nav
But it's meant for simple navigation inside modals that doesn't affect the browser's url.
This navigation is controlled by calling methods on the element, so in Angular you have to use #ViewChild and it becomes complex to handle state and have deep navigation trees.
You should use a client-side router for most of your view to take advantage of code splitting and lazy loading your js bundle.

Web view with pull to refresh

I am beginner with Android development.
I have used https://github.com/chrisbanes/Android-PullToRefresh library for 'Pull to Refersh' feature.
I have configured web view for this feature and it's working fine.
The issue is when we pull to refresh, the web view gets stuck and i can not scroll the existing page.
Please help to resolve this issue or suggest alternate library for this feature.
Thanks
Try to make a webpage with scrolling functionality. In every scroll down and up data is loaded on web view pages. In my code we uses a number with next and previous button. All of web pages are store on web server. If we press next than data is show on web pages.

Clarifications on the Domo dashboard

The tool I'm using to develop a dashboard is Domo Centerview builder. The graphs are not getting loaded when I open the dashboard but it appears only after selecting the controls.
controls like check-box, radio-buttons , radio-group and drop down lists should be placed independently. It should not come under any KPI's if u place it inside any KPI's it wont take the data until some event happens in the dashboard
I assume you are talking about Domo here - which is used to build business intelligence dashboards.
Any graph you create using the analyzer goes to your overview page. You can then move the graphs/cards to the page that you want.

Zend Framework 2 CMS file structure

I'm trying to build a simple content management system based on the Zend Framework 2. The problem is that I don't know how should the folders structure be like.
Until now I have to solutions in mind:
A. Building a general "Admin" module that has multiple controllers like Login Controller, Pages Controller, Posts Controller, each of this controller with his own actions.
B. Building an module for each component, like: Pages Module that has an adminController an an frontendController.
I'm sure that none of the above solution is the corect one, but couldn't find any solid solution or books to provide one. I've taken a look at gotCMS but noticed that this one i.e, saves all the data like layout views in the database, and this is not a solution.
Though it's a very first alpha solution, I work on ensemble which is what I'd rather call a content management framework.
Ensemble's admin runs on ZfcAdmin. So you can drop in a Blog module which just has a admin controller under ZfcAdmin's route. But you can also manage pages (like texts) with a navigational page structure. All content parts (text, blog, etc) are separate modules.
So I'd suggest you take a look at the sample application and you can check out our blog as well, which just hooks in into ensemble. I know currently the documentation is scarce, but if we reach kinda beta stability we will focus more on docs.
The main benefits for "your system B" is you can drop in modules when needed. They all provide their own config, controllers, models and views. It's easy to install them from a developers perspective (load in composer, enable in application config) and you can easily override any view with your own ones.
TL;DR: choose structure B and have a look at Ensemble.
/edit: seeing you comment on Sam's answer: yes you have to do that. In ensemble, you specify a route config for the frontend and create your admin routes as child routes of ZfcAdmin. For both the frontend as the backend you have separate controllers.
There is no right or wrong when it comes to building something new. Personally I'd go with B. I wouldn't even name the Controllers like you did (I'd break them down a lot more, like NewsAddController, NewsEditController, NewsDetailsController, etc...). Then I'd have an AdminModule that would simply display a new Layout with a specific "AdminNavigation". This AdminNavigation can be filled via the other Modules (i.e. NewsModule would inject it's own administrative Routes into the AdminNavigation via module.config.php)

MVVM & Navigation Framework

I have more of question than a problem at the moment and was looking for advice :
I have an app that redirects the user to the "Owners home page" if they belong to a "Owners" role : Then , the app checks to see if they have an "account" (nothing to do with authentication) which is a collection of personal information similar to a profile.
I have implemted the MVVM pattern so far: Now my experience is running thin because I normally work with commands in the view model tied to click events in the view...
How should I go about keeping view code behind clean and accomodating the conditional redirects that the app needs to implement
Thanks
you would still use a vm for the logic of your button command. if the criteria is met you send a message to your nagigation handler that its to move to the proper page. MVVM-Light or parts of prism make this easy. You only need a minor piece of codebehind for the listener where you have your navigation frame and thats it...