
RootDirectory
├ LocalLaunchpad
├ webapp
├ flpSandbox.html
├ manifest.json
├ default-env.json
├ package.json
└ xs-app.json
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Fiori Launchpad Sandbox</title>
<script>
window["sap-ushell-config"] = {
defaultRenderer: "fiori2",
bootstrapPlugins: {
"KeyUserPlugin": {
"component": "sap.ushell.plugins.rta"
},
"PersonalizePlugin": {
"component": "sap.ushell.plugins.rta-personalize"
}
},
applications: {
"action-display": {
title: "My App",
description: "Uses Custom Lib",
additionalInformation: "SAPUI5.Component=my.demo.test.lib.MyApp",
applicationType: "URL",
url: "/ui/MyApp/uimodule/webapp",
navigationMode: "embedded"
}
}
};
</script>
<script id="sap-ui-bootstrap" src="/test-resources/sap/ushell/bootstrap/sandbox.js"></script>
<script id="sap-ui-bootstrap" src="/resources/sap-ui-core.js" data-sap-ui-resourceroots='{"LocalLaunchpad": "./"}' data-sap-ui-theme="sap_fiori_3" data-sap-ui-compatVersion="edge" data-sap-ui-async="true" data-sap-ui-frameOptions="allow"></script>
<script>
sap.ui.getCore().attachInit(() => sap.ushell.Container.createRenderer().placeAt("content"));
</script>
</head>
<body class="sapUiBody" id="content"></body>
</html>
"action-display": {
title: "My App",
description: "Uses Custom Lib",
additionalInformation: "SAPUI5.Component=my.demo.test.lib.MyApp",
applicationType: "URL",
url: "/ui/MyApp/uimodule/webapp",
navigationMode: "embedded"
}
action-display | semanticObject - action |
title | tile title |
description | tile description |
additionalInformation | SAPUI5 component – namespace.appname |
applicationType | asccessible via URL |
url | path to application (via approuter route in xs-app.json) |
navigationMode | embedded inside FLP page |
{
"_version": "1.21.0",
"sap.app": {
"id": "LocalLaunchpad",
"type": "application",
"applicationVersion": {
"version": "1.0.0"
}
}
}
{
"name": "approuter",
"engines": {
"node": "^10.0.0 || ^12.0.0"
},
"dependencies": {
"@sap/approuter": "10.5.1"
},
"scripts": {
"start": "node node_modules/@sap/approuter/approuter.js"
}
}
{
"destinations": [
{
"name": "ui5",
"url": "https://ui5.sap.com"
}
]
}
{
"welcomeFile": "/webapp/flpSandbox.html",
"authenticationMethod": "none",
"routes": [
{
"source": "^/webapp/(.*)$",
"target": "$1",
"localDir": "./webapp",
"cacheControl": "no-cache"
},
{
"source": "^/ui/(.*)$",
"target": "$1",
"localDir": "../",
"cacheControl": "no-cache"
},
{
"source": "^/resources/(.*)$",
"target": "/resources/$1",
"authenticationType": "none",
"destination": "ui5"
},
{
"source": "^/test-resources/(.*)$",
"target": "/test-resources/$1",
"authenticationType": "none",
"destination": "ui5"
}
]
}
RootDirectory
├ LocalLaunchpad
├ MyApp
├ uimodule
├ webapp
├ …
└ manifest.json
"crossNavigation": {
"inbounds": {
"intent1": {
"signature": {
"parameters": {},
"additionalParameters": "allowed"
},
"semanticObject": "action",
"action": "display",
"title": "My App",
"icon": "sap-icon://competitor"
}
}
}
RootDirectory
├ LocalLaunchpad
├ MyApp
└ CustomLib
"dependencies": {
"libs": {
... ,
" my.demo.test.lib.CustomLib": {}
}
}
sap.ui.getCore().loadLibrary("my.demo.test.lib.CustomLib", "/mydemotestlibCustomLib");
sap.ui.getCore().loadLibrary("my.demo.test.lib.CustomLib", "/{sap.cloud.service.name}.mydemotestlibCustomLib");
xmlns:myLib="my.demo.test.lib.CustomLib"
<myLib:Example text="UI5 library via Approuter locally"/>
{
"source": "^/mydemotestlibCustomLib/(.*)$",
"target": "/resources/my/demo/test/lib/CustomLib/$1",
"authenticationType": "none",
"destination": "customfiorilibrary"
}
{
"source": "^/{sap.cloud.service.name}.mydemotestlibCustomLib/(.*)$",
"target": "/resources/my/demo/test/lib/CustomLib/$1",
"authenticationType": "none",
"destination": "customfiorilibrary"
}
{
"name": "customfiorilibrary",
"url": "http://localhost:8080"
}
Magic is served 🧙♂️
npm i npm-run-all --save-dev
"scripts": {
"start": "npm-run-all -p start:approuter start:customFioriLibrary",
"start:approuter": "node node_modules/@sap/approuter/approuter.js",
"start:customFioriLibrary": "npm start --prefix ../CustomLib"
}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
23 | |
20 | |
9 | |
5 | |
5 | |
5 | |
5 | |
5 | |
4 | |
4 |