Skip to content

Instantly share code, notes, and snippets.

@ikiw
Created July 22, 2015 13:40
Show Gist options
  • Save ikiw/0242b71bfaaed0dc1cc8 to your computer and use it in GitHub Desktop.
Save ikiw/0242b71bfaaed0dc1cc8 to your computer and use it in GitHub Desktop.
<!DOCTYPE html>
<html><head>
<meta http-equiv='X-UA-Compatible' content='IE=edge' />
<meta http-equiv='Content-Type' content='text/html;charset=UTF-8'/>
<title>test</title>
<script id='sap-ui-bootstrap' type='text/javascript'
src='/sapui5/resources/sap-ui-core.js'
data-sap-ui-theme='sap_bluecrystal'
data-sap-ui-libs='sap.ui.commons,sap.ui.table,sap.ui.ux3,sap.m'></script>
<!-- add 'sap.ui.table' and/or other libraries if required -->
<script>
jQuery.sap.require('sap.m.NavContainer');
jQuery.sap.require('sap.ui.thirdparty.jqueryui.jquery-ui-core');
jQuery.sap.require('sap.ui.thirdparty.jqueryui.jquery-ui-effect')
jQuery.sap.require('sap.ui.thirdparty.jqueryui.jquery-effects-core');
jQuery.sap.require('sap.ui.thirdparty.jqueryui.jquery-effects-clip');
sap.m.NavContainer.transitions["custom"] = {
to: function(oFromPage, oToPage, fCallback) {
window.setTimeout(function(){
oFromPage.$().toggle("clip");
oToPage.$().toggle("clip");
fCallback();
},600);
},
back: function(oFromPage, oToPage, fCallback) {
window.setTimeout(function(){
debugger;
oFromPage.$().toggle("clip");
oToPage.$().toggle("clip");
fCallback();
},400);
}
};/* code for transition */
//var btn = new sap.ui.commons.Button({text:'Hello World'});
//btn.placeAt('content');
jQuery.sap.require("sap.m.Page");
//create first detail page
var oDetailPage = new sap.m.Page(
"detail",
{
title : "Detail 1",
content : [ new sap.m.Label({
text : "this is Detail 1"
})//,
//new sap.m.Button({
// text: "To DetailDetail",
//press: function() {oSplitApp.to("detailDetail")}
//})
,new sap.m.Button("btn",{text : "PageA", press : function(){oSplitApp.addDetailPage(detailA),
oSplitApp.toDetail("detailA");}}) ],
showNavButton: jQuery.device.is.phone,
navButtonText : "Back",
navButtonPress : function(evt){
pressBack(evt);
},
footer : new sap.m.Bar(
{
id : 'detail-footer',
contentMiddle : [
new sap.m.Button(
{
icon : "images/iconCompetitors.png"
}),
new sap.m.Button(
{
icon : "images/iconCompetitors.png"
}),
new sap.m.Button(
{
icon : "images/iconCompetitors.png"
}),
new sap.m.Button(
{
icon : "images/iconCompetitors.png"
}) ]
})
}).addStyleClass("sapUiStdPage");
var detailA = new sap.m.Page("detailA" , {
title : "DetailPageA",
showNavButton : true,
navButtonText : "Back",
navButtonPress : function(evt){pressBack(evt)},
content : [new sap.m.Button("btnA",{text : "PageB" , press : function(){oSplitApp.addDetailPage(detailB),
oSplitApp.toDetail("detailB");}})]
}).addStyleClass("sapUiStdPage");
var detailB = new sap.m.Page("detailB" , {
title : "DetailPageB",
showNavButton : true,
navButtonText : "Back",
navButtonPress : function(evt){pressBack(evt)},
content : [new sap.m.Button("btnB",{text : "Pagec" , press : function(){oSplitApp.addDetailPage(detailC),
oSplitApp.toDetail("detailC");}})]
}).addStyleClass("sapUiStdPage");
var detailC = new sap.m.Page("detailC" , {
title : "DetailPageC",
showNavButton : true,
navButtonText : "Back",
navButtonPress : function(evt){pressBack(evt)},
content : [new sap.m.Button("btnC",{text : "PageD" , press : function(){oSplitApp.addDetailPage(detailD);
oSplitApp.toDetail("detailD");}})]
}).addStyleClass("sapUiStdPage");
var detailD = new sap.m.Page("detailD" , {
title : "DetailPageD",
showNavButton : true,
navButtonText : "Back",
navButtonPress : function(evt){pressBack(evt)},
content : [new sap.m.Button("btnD",{text : "PageE" , press : function(){}})]
}).addStyleClass("sapUiStdPage");
var oDetailDetailPage = new sap.m.Page(
"detailDetail",
{
title : "Detail Detail",
content : [ new sap.m.Label({
text : "this is Detail Detail"
}) ],
showNavButton: true,
navButtonText : "Back",
navButtonPress : function(){
oSplitApp.backDetail();
},
subHeader : new sap.m.Bar({
contentMiddle : [ new sap.m.Button({
text : "show/hide",
press : function() {
oSplitApp.setMode(sap.m.SplitAppMode.ShowHideMode)
}
}), new sap.m.Button({
text : "stretch/compress",
press : function() {
oSplitApp.setMode(sap.m.SplitAppMode.StretchCompressMode)
}
}), new sap.m.Button({
text : "hide",
press: function(){
oSplitApp.setMode(sap.m.SplitAppMode.HideMode)
}
}), new sap.m.Button({
text : "popover",
press : function() {
oSplitApp.setMode(sap.m.SplitAppMode.PopoverMode)
}
}) ]
})
}).addStyleClass("sapUiStdPage");
//create second detail page
var oDetailPage2 = new sap.m.Page(
"detail2",
{
title : "Detail 2",
showNavButton: true,
navButtonText : "Back",
navButtonPress : function(){
oSplitApp.backDetail();
},
content : [ new sap.m.Label({
text : "this is Detail 2"
}), new sap.m.Input() ],
subHeader : new sap.m.Bar({
contentMiddle : []
}),
footer : new sap.m.Bar(
{
id : 'detai2l-footer',
contentMiddle : [
new sap.m.Button(
{
// icon : "images/iconCompetitors.png"
}),
new sap.m.Button(
{
// icon : "images/iconCompetitors.png"
}),
new sap.m.Button(
{
// icon : "images/iconCompetitors.png"
}),
new sap.m.Button(
{
// icon : "images/iconCompetitors.png"
}) ]
})
}).addStyleClass("sapUiStdPage");
oDetailPage2.addEventDelegate({
onBeforeRendering : function(){sleep(50000);}
});
//create third detail page
var oDetailPage3 = new sap.m.Page(
"detail3",
{
title : "Detail 3",
showNavButton: true,
navButtonText : "Back",
navButtonPress : function(){
oSplitApp.backDetail();
},
content : [ new sap.m.Label({
text : "this is Detail 3"
}), new sap.m.Input() ],
subHeader : new sap.m.Bar({
contentMiddle : []
}),
footer : new sap.m.Bar(
{
id : 'detai3l-footer',
contentMiddle : [
new sap.m.Button(
{
// icon : "images/iconCompetitors.png"
}),
new sap.m.Button(
{
// icon : "images/iconCompetitors.png"
}),
new sap.m.Button(
{
// icon : "images/iconCompetitors.png"
}),
new sap.m.Button(
{
// icon : "images/iconCompetitors.png"
}) ]
})
}).addStyleClass("sapUiStdPage");
oDetailPage3.addEventDelegate({
onBeforeRendering : function(){sleep(50000);}
});
//create first master page
var oMasterPage = new sap.m.Page(
"master",
{
title : "Master",
icon: "images/SAPUI5.jpg",
content : [ new sap.m.List({
items : [ new sap.m.StandardListItem({
title : "To Master 2",
type : "Navigation",
press : function() {
oSplitApp.toMaster("master2","custom");
}
})]
}) ],
footer : new sap.m.Bar(
{
id : 'master-footer',
contentMiddle : [
new sap.m.Button(
{
// icon : "images/iconCompetitors.png"
}),
new sap.m.Button(
{
// icon : "images/iconCompetitors.png"
}),
new sap.m.Button(
{
// icon : "images/iconCompetitors.png"
}),
new sap.m.Button(
{
// icon : "images/iconCompetitors.png"
}) ]
})
});
//create second master page
var oMasterPage2 = new sap.m.Page(
"master2",
{
title : "Master 2",
showNavButton : true,
navButtonPress : function() {
oSplitApp.backMaster();
},
icon: "images/SAPUI5.jpg",
content : [ new sap.m.List({
mode: jQuery.device.is.phone ? sap.m.ListMode.None : sap.m.ListMode.SingleSelectMaster,
select: function(oEv) {
if(oEv.getParameter("listItem").getId() == "listDetail2") {
oSplitApp.addDetailPage(oDetailPage2);
oSplitApp.toDetail("detail2");
}if(oEv.getParameter("listItem").getId() == "listDetail3") {
oSplitApp.addDetailPage(oDetailPage3);
oSplitApp.toDetail("detail3");
}
else {
oSplitApp.addDetailPage(oDetailPage);
oSplitApp.toDetail("detail");
}
},
items : [
new sap.m.StandardListItem("listDetail",{
title : "To Detail 1",
type: sap.m.ListType.Active,
press: function(oEv){
oSplitApp.addDetailPage(oDetailPage);
oSplitApp.toDetail("detail");
}
}),
new sap.m.StandardListItem("listDetail2",{
title : "To Detail 2",
type: sap.m.ListType.Active,
press: function(oEv){
oSplitApp.addDetailPage(oDetailPage2);
oSplitApp.toDetail("detail2");
}
}),
new sap.m.StandardListItem("listDetail3",{
title : "To Detail 3",
type: sap.m.ListType.Active,
press: function(oEv){
oSplitApp.addDetailPage(oDetailPage3);
oSplitApp.toDetail("detail3");
}
})]
})],
footer : new sap.m.Bar(
{
id : 'master2-footer',
contentMiddle : [
new sap.m.Button (
{
// icon : "images/iconCompetitors.png"
}),
new sap.m.Button(
{
//icon : "images/iconCompetitors.png"
}),
new sap.m.Button(
{
// icon : "images/iconCompetitors.png"
}),
new sap.m.Button(
{
//icon : "images/iconCompetitors.png"
}) ]
})
});
//create SplitApp()
var oSplitApp = new sap.m.SplitApp({
//detailPages: [oDetailPage, oDetailDetailPage, oDetailPage2, oDetailPage3],
masterPages: [oMasterPage, oMasterPage2],
initialDetail: "detail",
initialMaster: "master",
afterMasterOpen: function(){
jQuery.sap.log.info("master is opened");
},
afterMasterClose: function(){
jQuery.sap.log.info("master is closed");
}
});
if(jQuery.device.is.tablet || jQuery.device.is.desktop){
oSplitApp.setDefaultTransitionNameDetail("fade");
}
oSplitApp.placeAt("content");
function sleep(milliseconds) {
var start = new Date().getTime();
for (var i = 0; i < 1e7; i++) {
if ((new Date().getTime() - start) > milliseconds){
break;
}
}
}
function pressBack(evt){
var allPages = oSplitApp.getDetailPages();
count = 1;
if (count > allPages.length - 1) {
count = allPages.length - 1;
}
var pageToNavigateBackTo = allPages[allPages.length - count - 1];
oSplitApp.backDetailToPage(pageToNavigateBackTo.getId());
// this.oSplitApp.backDetailToPage(evt.oSource.sId);
}
</script>
</head>
<body class='sapUiBody'>
<div id='content'></div>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment