* add read only tree table and value help
* rm tree table in catalogservice
* Update cat-service.cds
* i18n and object page
* hana workaround, local messaging and rm virtual
* move hierarchy to fiori
* Update admin-service.cds
* Update common.cds
* fix after moving to fiori
* fix UI filter
* file-based-messaging in hybrid
* review fixes
* Update services.cds
* make bookshop Books fiori.draft.enabled
* add simplest handler for sqlite
* adapt test and link in csvs
* .
* Reverting to human-readable UUIDs :)
* Less obstrusive workaround
* typo
* Update fiori/app/common.cds
* Update fiori/app/common.cds
* Workaround for stupid GUID check in Fiori client
* ...
* Simplified mock support for recursive hierarchies in SQLite :)
* missing comma
* Rudimentary tree support for Genres on SQLite
* ?.
* fixed copy error
* using subselect to determine leafs
* Revert "using subselect to determine leafs"
This reverts commit f01ddaea1f.
* Using scalar subselect for DrillState
* .
---------
Co-authored-by: D070615 <olena.timrova@sap.com>
Co-authored-by: D045778 <johannes.vogel@sap.com>
Co-authored-by: Daniel Hutzel <daniel.hutzel@sap.com>
128 lines
3.3 KiB
Plaintext
128 lines
3.3 KiB
Plaintext
using { AdminService } from '@capire/bookstore';
|
|
using from '../common'; // to help UI linter get the complete annotations
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Books Object Page
|
|
//
|
|
|
|
annotate AdminService.Books with @(
|
|
UI: {
|
|
Facets: [
|
|
{$Type: 'UI.ReferenceFacet', Label: '{i18n>General}', Target: '@UI.FieldGroup#General'},
|
|
{$Type: 'UI.ReferenceFacet', Label: '{i18n>Translations}', Target: 'texts/@UI.LineItem'},
|
|
{$Type: 'UI.ReferenceFacet', Label: '{i18n>Details}', Target: '@UI.FieldGroup#Details'},
|
|
{$Type: 'UI.ReferenceFacet', Label: '{i18n>Admin}', Target: '@UI.FieldGroup#Admin'},
|
|
],
|
|
FieldGroup#General: {
|
|
Data: [
|
|
{Value: title},
|
|
{Value: author_ID},
|
|
{Value: genre_ID},
|
|
{Value: descr},
|
|
]
|
|
},
|
|
FieldGroup#Details: {
|
|
Data: [
|
|
{Value: stock},
|
|
{Value: price},
|
|
{Value: currency_code, Label: '{i18n>Currency}'},
|
|
]
|
|
},
|
|
FieldGroup#Admin: {
|
|
Data: [
|
|
{Value: createdBy},
|
|
{Value: createdAt},
|
|
{Value: modifiedBy},
|
|
{Value: modifiedAt}
|
|
]
|
|
}
|
|
}
|
|
);
|
|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Value Help for Tree Table
|
|
//
|
|
annotate AdminService.Books with {
|
|
genre @(Common: {
|
|
Label : 'Genre',
|
|
ValueList: {
|
|
CollectionPath : 'Genres',
|
|
Parameters : [
|
|
{
|
|
$Type : 'Common.ValueListParameterDisplayOnly',
|
|
ValueListProperty: 'name',
|
|
},
|
|
{
|
|
$Type : 'Common.ValueListParameterInOut',
|
|
LocalDataProperty: genre_ID,
|
|
ValueListProperty: 'ID',
|
|
}
|
|
],
|
|
PresentationVariantQualifier: 'VH',
|
|
}
|
|
});
|
|
}
|
|
|
|
annotate AdminService.Genres with @UI: {
|
|
PresentationVariant #VH: {
|
|
$Type : 'UI.PresentationVariantType',
|
|
Visualizations : ['@UI.LineItem'],
|
|
RecursiveHierarchyQualifier: 'GenreHierarchy'
|
|
},
|
|
LineItem : [{
|
|
$Type: 'UI.DataField',
|
|
Value: name,
|
|
Label :'{i18n>Name}'
|
|
}],
|
|
};
|
|
|
|
// Hide ID because of the ValueHelp
|
|
annotate AdminService.Genres with {
|
|
ID @UI.Hidden;
|
|
};
|
|
|
|
////////////////////////////////////////////////////////////
|
|
//
|
|
// Draft for Localized Data
|
|
//
|
|
|
|
annotate sap.capire.bookshop.Books with @fiori.draft.enabled;
|
|
annotate AdminService.Books with @odata.draft.enabled;
|
|
|
|
annotate AdminService.Books.texts with @(
|
|
UI: {
|
|
Identification: [{Value:title}],
|
|
SelectionFields: [ locale, title ],
|
|
LineItem: [
|
|
{Value: locale, Label: 'Locale'},
|
|
{Value: title, Label: 'Title'},
|
|
{Value: descr, Label: 'Description'},
|
|
]
|
|
}
|
|
);
|
|
|
|
annotate AdminService.Books.texts with {
|
|
ID @UI.Hidden;
|
|
ID_texts @UI.Hidden;
|
|
};
|
|
|
|
// Add Value Help for Locales
|
|
annotate AdminService.Books.texts {
|
|
locale @(
|
|
ValueList.entity:'Languages', Common.ValueListWithFixedValues, //show as drop down, not a dialog
|
|
)
|
|
}
|
|
// In addition we need to expose Languages through AdminService as a target for ValueList
|
|
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; }
|
|
|