Skip to content

Commit fdea453

Browse files
committed
Added anything needed for Step 8 of the Navigation Tutorial; Flip Transition & Nested Views + Binding Context
1 parent f99257a commit fdea453

8 files changed

+101
-4
lines changed

webapp/controller/employee/Employee.controller.js

+7
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,13 @@ sap.ui.define([
4343
if (!this.getView().getBindingContext()) {
4444
this.getRouter().getTargets().display("notFound");
4545
}
46+
},
47+
onShowResume: function (oEvent) {
48+
var oCtx = this.getView().getElementBinding().getBoundContext();
49+
50+
this.getRouter().navTo("employeeResume", {
51+
employeeId: oCtx.getProperty("EmployeeID")
52+
});
4653
}
4754
});
4855
});
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
sap.ui.define([
2+
"com/mrb/UI5-Navigation-and-Routing/controller/BaseController"
3+
], function (
4+
BaseController
5+
) {
6+
"use strict";
7+
return BaseController.extend("com.mrb.UI5-Navigation-and-Routing.controller.employee.Resume", {
8+
onInit: function () {
9+
var oRouter = this.getRouter();
10+
oRouter.getRoute("employeeResume").attachMatched(this._onRouteMatched, this);
11+
},
12+
_onRouteMatched: function (oEvent) {
13+
var oArgs, oView;
14+
oArgs = oEvent.getParameter("arguments");
15+
oView = this.getView();
16+
oView.bindElement({
17+
path: "/Employees(" + oArgs.employeeId + ")",
18+
events: {
19+
change: this._onBindingChange.bind(this),
20+
dataRequested: function (oEvent) {
21+
oView.setBusy(true);
22+
},
23+
dataReceived: function (oEvent) {
24+
oView.setBusy(false);
25+
}
26+
}
27+
});
28+
},
29+
_onBindingChange: function (oEvent) {
30+
// No data for the binding
31+
if (!this.getView().getBindingContext()) {
32+
this.getRouter().getTargets().display("notFound");
33+
}
34+
}
35+
});
36+
});

webapp/i18n/i18n.properties

+8-1
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,11 @@ formAddress=Address
1818
formCity=City
1919
formPostalCode=Postal Code
2020
formPhoneHome=Phone (Home)
21-
formCountry=Country
21+
formCountry=Country
22+
ResumeOf=Resume of
23+
tabInfo=Info
24+
tabProjects=Projects
25+
tabHobbies=Hobbies
26+
tabNotes=Notes
27+
FlipToResume=Flip to Resume
28+
FlipToResume.tooltip=See the resume of this employee

webapp/i18n/i18n_en.properties

+8-1
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,11 @@ formAddress=Address
1818
formCity=City
1919
formPostalCode=Postal Code
2020
formPhoneHome=Phone (Home)
21-
formCountry=Country
21+
formCountry=Country
22+
ResumeOf=Resume of
23+
tabInfo=Info
24+
tabProjects=Projects
25+
tabHobbies=Hobbies
26+
tabNotes=Notes
27+
FlipToResume=Flip to Resume
28+
FlipToResume.tooltip=See the resume of this employee

webapp/manifest.json

+11
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,11 @@
103103
"pattern": "employees/{employeeId}",
104104
"name": "employee",
105105
"target": "employee"
106+
},
107+
{
108+
"pattern": "employees/{employeeId}/resume",
109+
"name": "employeeResume",
110+
"target": "employeeResume"
106111
}
107112
],
108113
"targets": {
@@ -128,6 +133,12 @@
128133
"viewId": "employee",
129134
"viewName": "employee.Employee",
130135
"viewLevel": 3
136+
},
137+
"employeeResume": {
138+
"viewId": "resume",
139+
"viewName": "employee.Resume",
140+
"viewLevel": 4,
141+
"transition": "flip"
131142
}
132143
}
133144
}

webapp/view/employee/Employee.view.xml

+3-2
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,14 @@
22
xmlns="sap.m"
33
xmlns:mvc="sap.ui.core.mvc"
44
xmlns:f="sap.ui.layout.form" busyIndicatorDelay="0">
5-
<Page id="employeePage" title="{i18n>EmployeeDetailsOf} {FirstName} {LastName}" showNavButton="true" navButtonPress=".onNavBack" class="sapUiResponsiveContentPadding">
5+
<Page id="employeePage" title="{i18n>formEmployeeDetailsOf} {FirstName} {LastName}" showNavButton="true" navButtonPress=".onNavBack" class="sapUiResponsiveContentPadding">
66
<content>
77
<Panel id="employeePanel" width="auto" class="sapUiResponsiveMargin sapUiNoContentPadding">
88
<headerToolbar>
99
<Toolbar>
10-
<Title text="{i18n>EmployeeIDColon} {EmployeeID}" level="H2"/>
10+
<Title text="{i18n>formEmployeeIDColon} {EmployeeID}" level="H2"/>
1111
<ToolbarSpacer />
12+
<Link text="{i18n>FlipToResume}" tooltip="{i18n>FlipToResume.tooltip}" press=".onShowResume"/>
1213
</Toolbar>
1314
</headerToolbar>
1415
<content>

webapp/view/employee/Resume.view.xml

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<mvc:View controllerName="com.mrb.UI5-Navigation-and-Routing.controller.employee.Resume"
2+
xmlns="sap.m"
3+
xmlns:mvc="sap.ui.core.mvc">
4+
<Page title="{i18n>ResumeOf} {FirstName} {LastName}" id="employeeResumePage" showNavButton="true" navButtonPress=".onNavBack">
5+
<content>
6+
<IconTabBar id="iconTabBar" headerBackgroundDesign="Transparent" class="sapUiResponsiveContentPadding" binding="{Resume}">
7+
<items>
8+
<IconTabFilter id="infoTab" text="{i18n>tabInfo}" key="Info">
9+
<Text text="{Information}"/>
10+
</IconTabFilter>
11+
<IconTabFilter id="projectsTab" text="{i18n>tabProjects}" key="Projects">
12+
<mvc:XMLView viewName="com.mrb.UI5-Navigation-and-Routing.view.employee.ResumeProjects"></mvc:XMLView>
13+
</IconTabFilter>
14+
<IconTabFilter id="hobbiesTab" text="{i18n>tabHobbies}" key="Hobbies">
15+
<Text text="{Hobbies}"/>
16+
</IconTabFilter>
17+
<IconTabFilter id="notesTab" text="{i18n>tabNotes}" key="Notes">
18+
<Text text="{Notes}"/>
19+
</IconTabFilter>
20+
</items>
21+
</IconTabBar>
22+
</content>
23+
</Page>
24+
</mvc:View>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<mvc:View xmlns="sap.m"
2+
xmlns:mvc="sap.ui.core.mvc">
3+
<Text text="{Projects}"/>
4+
</mvc:View>

0 commit comments

Comments
 (0)