Kendo DataSource: Jak zdefiniować właściwości „Computed” dla danych odczytywanych ze zdalnego źródła odata
Sytuacja:
kendo DataSource
var ordersDataSource = new kendo.data.DataSource({
type: "odata",
transport: {
read: {
url: "http://localhost/odata.svc/Orders?$expand=OrderDetails"
}
},
schema: {
type: "json",
data: function(response){
return response.value;
}
total: function(response){
return response['odata.count'];
}
},
serverPaging: true,
serverFiltering: true,
serverSorting: true
})
dane json odczytane ze źródła odata wyglądają następująco:
{
odata.metadata: "xxxx",
odata.count: "5",
value: [
{
OrderId: 1,
OrderedDate: "2013-02-20",
OrderInfoA: "Info A",
OrderInfoB: "Info B"
OrderDetails: [
{
OrderDetailId: 6,
OrderDetailInfoC: "Info C",
OrderDetailInfoD: "Info D"
},
{
//Another OrderDetail's data
}
]
},
{
// Another Order's data
}
]
}
Pytanie 1:
1. Jeśli chcę zdefiniować właściwość „obliczoną”:OrderedDateRelative, która powinna być liczbą dni między dniem dzisiejszym (2013-02-25) a dniem, w którym zamówienie zostało utworzone (2013-02-20), jak:"5 dni temu", JAK mogę to osiągnąć po stronie klienta?
Odpowiedź na pytanie 1:http://jsbin.com/ojomul/7/edit
pytanie 2 -AKTUALIZACJA-
2. Każde zamówienie ma szczegółowe informacje o zleceniach zagnieżdżonej właściwości, więc czy można zdefiniować pole obliczone dla właściwości Zagnieżdżone dane zamówienia? Lubić:OrderDetailInfoCAndD dla każdego OrderDetail, a wartość powinna być następująca:OrderDetailInfoC + OrderDetailInfoD, czyli „Info C Info D”?
Dzięki,
dziekan