cosmetics
This commit is contained in:
@@ -31,24 +31,5 @@
|
|||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
<script>
|
<script src="vue.js"></script>
|
||||||
const GET = (url) => axios.get('/browse'+url)
|
|
||||||
const books = new Vue ({ el:'#app', data:{
|
|
||||||
list: [],
|
|
||||||
info: '( click on a row to see details... )',
|
|
||||||
}, methods:{
|
|
||||||
search: ({target:{value:v}}) => books.fetch (v && '$search='+v),
|
|
||||||
async fetch (_filter='') {
|
|
||||||
const columns = 'ID,title,author,price', details = 'genre,currency'
|
|
||||||
const {data} = await GET(`/Books?$select=${columns}&$expand=${details}&${_filter}`)
|
|
||||||
books.list = data.value
|
|
||||||
},
|
|
||||||
async inspect ({currentTarget:{id}}) {
|
|
||||||
const {data} = await GET(`/Books/${id}?$select=descr`)
|
|
||||||
books.info = data.descr
|
|
||||||
},
|
|
||||||
}})
|
|
||||||
books.fetch()
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
32
bookshop/app/vue.js
Normal file
32
bookshop/app/vue.js
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
/* global Vue axios */ //> from vue.html
|
||||||
|
const GET = (url) => axios.get('/browse'+url)
|
||||||
|
|
||||||
|
const books = new Vue ({
|
||||||
|
|
||||||
|
el:'#app',
|
||||||
|
|
||||||
|
data: {
|
||||||
|
list: [],
|
||||||
|
info: '( click on a row to see details... )',
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
|
||||||
|
search: ({target:{value:v}}) => books.fetch (v && '$search='+v),
|
||||||
|
|
||||||
|
async fetch (_filter='') {
|
||||||
|
const columns = 'ID,title,author,price', details = 'genre,currency'
|
||||||
|
const {data} = await GET(`/Books?$select=${columns}&$expand=${details}&${_filter}`)
|
||||||
|
books.list = data.value
|
||||||
|
},
|
||||||
|
|
||||||
|
async inspect ({currentTarget:{id}}) {
|
||||||
|
const {data} = await GET(`/Books/${id}?$select=descr`)
|
||||||
|
books.info = data.descr
|
||||||
|
},
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
// initilly fill list of books
|
||||||
|
books.fetch()
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
namespace sap.capire.bookshop;
|
|
||||||
using { Currency, managed, sap } from '@sap/cds/common';
|
using { Currency, managed, sap } from '@sap/cds/common';
|
||||||
|
namespace sap.capire.bookshop;
|
||||||
|
|
||||||
entity Books : managed {
|
entity Books : managed {
|
||||||
key ID : Integer;
|
key ID : Integer;
|
||||||
@@ -22,6 +22,7 @@ entity Authors : managed {
|
|||||||
books : Association to many Books on books.author = $self;
|
books : Association to many Books on books.author = $self;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Hierarchically organized Code List for Genres */
|
||||||
entity Genres : sap.common.CodeList {
|
entity Genres : sap.common.CodeList {
|
||||||
key ID : Integer;
|
key ID : Integer;
|
||||||
parent : Association to Genres;
|
parent : Association to Genres;
|
||||||
|
|||||||
Reference in New Issue
Block a user