Fiori apps with manage authors

Signed-off-by: Daniel <daniel.hutzel@sap.com>
This commit is contained in:
Daniel
2021-11-24 19:33:13 +01:00
committed by Daniel Hutzel
parent 19b680ab3d
commit 756ed48ce3
12 changed files with 74 additions and 75 deletions

View File

@@ -0,0 +1,47 @@
using {AdminService} from '@capire/bookshop';
annotate AdminService.Authors with @odata.draft.enabled;
////////////////////////////////////////////////////////////////////////////
//
// Authors Object Page
//
annotate AdminService.Authors with @(UI : {
HeaderInfo : {
TypeName : 'Author',
TypeNamePlural : 'Authors',
Description : {Value : lifetime}
},
Facets : [
{
$Type : 'UI.ReferenceFacet',
Label : '{i18n>Details}',
Target : '@UI.FieldGroup#Details'
},
{
$Type : 'UI.ReferenceFacet',
Label : '{i18n>Books}',
Target : 'books/@UI.LineItem'
},
],
FieldGroup #Details : {Data : [
{Value : placeOfBirth},
{Value : placeOfDeath},
{Value : dateOfBirth},
{Value : dateOfDeath},
{
Value : age,
Label : '{i18n>Age}'
},
]},
});
// Workaround to avoid errors for unknown db-specific calculated fields above
extend sap.capire.bookshop.Authors with {
virtual age : Integer;
virtual lifetime : String;
}
// Workaround for Fiori popup for asking user to enter a new UUID on Create
annotate AdminService.Authors with { ID @Core.Computed; }

View File

@@ -3,15 +3,15 @@
"sap.app": {
"id": "authors",
"type": "application",
"title": "Browse Authors",
"title": "Manage Authors",
"description": "Sample Application",
"i18n": "i18n/i18n.properties",
"applicationVersion": {
"version": "1.0.0"
},
"dataSources": {
"CatalogService": {
"uri": "/browse/",
"AdminService": {
"uri": "/admin/",
"type": "OData",
"settings": {
"odataVersion": "4.0"
@@ -41,7 +41,7 @@
"subTitle": "{{appSubTitle}}",
"icon": "sap-icon://SAP-icons-TNT/user",
"indicatorDataSource": {
"dataSource": "CatalogService",
"dataSource": "AdminService",
"path": "Authors/$count",
"refresh": 1800
}
@@ -62,7 +62,7 @@
"uri": "i18n/i18n.properties"
},
"": {
"dataSource": "CatalogService",
"dataSource": "AdminService",
"settings": {
"synchronizationMode": "None",
"operationMode": "Server",

View File

@@ -40,27 +40,6 @@ annotate AdminService.Books with @(
}
);
annotate AdminService.Authors with @(
UI: {
HeaderInfo: {
Description: {Value: lifetime}
},
Facets: [
{$Type: 'UI.ReferenceFacet', Label: '{i18n>Details}', Target: '@UI.FieldGroup#Details'},
{$Type: 'UI.ReferenceFacet', Label: '{i18n>Books}', Target: 'books/@UI.LineItem'},
],
FieldGroup#Details: {
Data: [
{Value: placeOfBirth},
{Value: placeOfDeath},
{Value: dateOfBirth},
{Value: dateOfDeath},
{Value: age, Label: '{i18n>Age}'},
]
},
}
);
////////////////////////////////////////////////////////////
@@ -93,3 +72,6 @@ using { sap } from '@sap/cds/common';
extend service AdminService {
@readonly entity Languages as projection on sap.common.Languages;
}
// Workaround for Fiori popup for asking user to enter a new UUID on Create
annotate AdminService.Books with { ID @Core.Computed; }

View File

@@ -1,6 +1,6 @@
sap.ui.define(["sap/fe/core/AppComponent"], function(AppComponent) {
"use strict";
return AppComponent.extend("admin.Component", {
return AppComponent.extend("books.Component", {
metadata: { manifest: "json" }
});
});

View File

@@ -1,7 +1,7 @@
{
"_version": "1.8.0",
"sap.app": {
"id": "admin",
"id": "books",
"type": "application",
"title": "Manage Books",
"description": "Sample Application",

View File

@@ -19,14 +19,6 @@
"title": "Browse Books",
"targetURL": "#Books-display"
}
},
{
"id": "BrowseAuthors",
"tileType": "sap.ushell.ui.tile.StaticTile",
"properties": {
"title": "Browse Authors",
"targetURL": "#Authors-display"
}
}
]
},
@@ -45,6 +37,14 @@
"targetURL": "#Books-manage"
}
},
{
"id": "ManageAuthors",
"tileType": "sap.ushell.ui.tile.StaticTile",
"properties": {
"title": "Manage Authors",
"targetURL": "#Authors-display"
}
},
{
"id": "ManageOrders",
"tileType": "sap.ushell.ui.tile.StaticTile",
@@ -75,10 +75,10 @@
"signature": {
"parameters": {
"Books.ID": {
"renameTo": "ID"
"renameTo": "ID"
},
"Authors.books.ID": {
"renameTo": "ID"
"renameTo": "ID"
}
},
"additionalParameters": "ignored"
@@ -104,7 +104,7 @@
"resolutionResult": {
"applicationType": "SAPUI5",
"additionalInformation": "SAPUI5.Component=authors",
"url": "/authors/webapp"
"url": "/admin-authors/webapp"
}
},
"ManageBooks": {
@@ -117,8 +117,8 @@
},
"resolutionResult": {
"applicationType": "SAPUI5",
"additionalInformation": "SAPUI5.Component=admin",
"url": "/admin/webapp"
"additionalInformation": "SAPUI5.Component=books",
"url": "/admin-books/webapp"
}
},
"ManageOrders": {

View File

@@ -1,30 +0,0 @@
using CatalogService from '@capire/bookshop';
////////////////////////////////////////////////////////////////////////////
//
// Authors Object Page
//
annotate CatalogService.Authors with @(UI : {
HeaderInfo : {
TypeName : 'Author',
TypeNamePlural : 'Authors',
Description : {Value : name}
},
HeaderFacets : [{
$Type : 'UI.ReferenceFacet',
Label : '{i18n>Description}',
Target : '@UI.FieldGroup#Descr'
}, ],
Facets : [{
$Type : 'UI.ReferenceFacet',
Label : '{i18n>Details}',
Target : 'books/@UI.LineItem'
}, ],
FieldGroup #Descr : {Data : [
{Value : name},
{Value : dateOfBirth},
{Value : dateOfDeath},
{Value : placeOfBirth},
{Value : placeOfDeath},
]},
});

View File

@@ -8,7 +8,7 @@ annotate CatalogService.Books with @(UI : {
HeaderInfo : {
TypeName : 'Book',
TypeNamePlural : 'Books',
Description : {Value : authorName}
Description : {Value : author}
},
HeaderFacets : [{
$Type : 'UI.ReferenceFacet',
@@ -47,7 +47,7 @@ annotate CatalogService.Books with @(UI : {
Label : '{i18n>Title}'
},
{
Value : author.ID,
Value : author,
Label : '{i18n>Author}'
},
{Value : genre.name},

View File

@@ -2,8 +2,8 @@
This model controls what gets served to Fiori frontends...
*/
using from './admin/fiori-service';
using from './admin-authors/fiori-service';
using from './admin-books/fiori-service';
using from './browse/fiori-service';
using from './authors/fiori-service';
using from './common';
using from '@capire/bookstore/srv/mashup';