-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathjsondate.view.js
83 lines (69 loc) · 2.39 KB
/
jsondate.view.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
sap.ui.jsview("jsondate.Index", {
/** Specifies the Controller belonging to this View.
* In the case that it is not implemented, or that "null" is returned, this View does not have a Controller.
* @memberOf jsondate.Index
*/
getControllerName : function() {
return "jsondate.Index";
},
/** Is initially called once after the Controller has been instantiated. It is the place where the UI is constructed.
* Since the Controller is given to this method, its event handlers can be attached right away.
* @memberOf jsondate.Index
*/
createContent : function(oController) {
console.log("original date is: " + new Date(1402166783294));
// this comes from SAP NW Gateway
var sJsonDate = "/Date(1402166783294)/";
// Possibility 1
/* just the timer, not relevant */ var start1 = new Date().getTime();
var sNumber = sJsonDate.replace(/[^0-9]+/g,'');
var iNumber = sNumber * 1; //trick seventeen
var oDate = new Date(iNumber);
/* just the timer, not relevant */ var end1 = new Date().getTime(); var dur1 = end1 - start1; console.log(dur1);
var oDateTimeInput1 = new sap.m.DateTimeInput({
dateValue: oDate,
displayFormat: "MMM yyyy",
valueFormat: "yyyy-MM-dd"
});
// Possibility 2
/* just the timer, not relevant */ var start2 = new Date().getTime();
/\/(.+)\//.exec(sJsonDate);
var oDate1 = eval("new " + RegExp.$1);
/* just the timer, not relevant */ var end2 = new Date().getTime(); var dur2 = end2-start2; console.log(dur2);
var oDateTimeInput2 = new sap.m.DateTimeInput({
dateValue: oDate1,
displayFormat: "dd.MMM.yyyy",
valueFormat: "yyyy-MM-dd"
});
var oData = {
date: sJsonDate
};
var oJsonModel = new sap.ui.model.json.JSONModel();
oJsonModel.setData(oData);
var oDateTimeInput3 = new sap.m.DateTimeInput({
type: sap.m.DateTimeInputType.Date,
displayFormat: "dd - M - yy",
dateValue: {
path: "/date",
formatter: function(sDate) {
if(sDate) {
/\/(.+)\//.exec(sDate);
return eval("new " + RegExp.$1);
// var sNumber = sDate.replace(/[^0-9]+/g,'');
// var iNumber = sNumber * 1; //trick seventeen
// return new Date(iNumber);
}
}
}
});
oDateTimeInput3.setModel(oJsonModel);
return new sap.m.Page({
title: "JSON Model Date Formatting",
content: [
oDateTimeInput1,
oDateTimeInput2,
oDateTimeInput3
]
});
}
});