login as:
~/abapcraft.dev — code, crafted in SAP
florin@abapcraft:~/abap/posts/todo-list-100/src/zc_todo_100.ddlx.asddlxs $ cat zc_todo_100.ddlx.asddlxs
todo-list-100 / src / zc_todo_100.ddlx.asddlxs
TEXT 98 lines
@Metadata.layer: #CORE
@UI: {
  headerInfo: {
    typeName: 'ToDo Item',
    typeNamePlural: 'ToDo Items',
    title: { type: #STANDARD, value: 'Title' },
    description: { type: #STANDARD, value: 'Status' }
  }
}
annotate view ZC_TODO_100 with
{
  @UI.facet: [ {
    id: 'idIdentification',
    type: #IDENTIFICATION_REFERENCE,
    label: 'ToDo Item',
    position: 10
  } ]
  @UI.lineItem: [ {
    position: 10 ,
    importance: #MEDIUM,
    label: ''
  } ]
  @UI.identification: [ {
    position: 10 ,
    label: ''
  } ]
  TaskUUID;

  @UI.lineItem: [ {
    position: 20 ,
    importance: #MEDIUM,
    label: 'Title'
  } ]
  @UI.identification: [ {
    position: 20 ,
    label: 'Title'
  } ]
  Title;

  @UI.lineItem: [ {
    position: 30 ,
    importance: #MEDIUM,
    label: 'Description'
  } ]
  @UI.identification: [ {
    position: 30 ,
    label: 'Description'
  } ]
  Description;

  @UI.lineItem: [ {
    position: 40 ,
    importance: #MEDIUM,
    label: 'Status',
    criticality: 'StatusCriticality'  
  } ]
  @UI.identification: [ {
    position: 40 ,
    label: 'Status'
  } ]
  Status;

  @UI.lineItem: [ {
    position: 50 ,
    importance: #MEDIUM,
    label: 'Priority'
  } ]
  @UI.identification: [ {
    position: 50 ,
    label: 'Priority'
  } ]
  Priority;

  @UI.lineItem: [ {
    position: 60 ,
    importance: #MEDIUM,
    label: 'DueDate'
  } ]
  @UI.identification: [ {
    position: 60 ,
    label: 'DueDate'
  } ]
  DueDate;

  @UI.lineItem: [ {
    position: 70 ,
    importance: #MEDIUM,
    label: 'CompletedAt'
  } ]
  @UI.identification: [ {
    position: 70 ,
    label: 'CompletedAt'
  } ]
  CompletedAt;

  @UI.hidden: true
  LocalLastChangedAt;
}