<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta charset="UTF-8">
<title>SAPUI5 Navigation</title>
<script id="sap-ui-bootstrap"
src="https://openui5.hana.ondemand.com/resources/sap-ui-core.js" data-sap-ui-theme="sap_bluecrystal" data-sap-ui-libs="sap.m" data-sap-ui-bindingSyntax="complex" data-sap-ui-compatVersion="edge" data-sap-ui-preload="async" data-sap-ui-resourceroots='{
"demo.mockserver": "./"
}'>
</script>
<script>
// GLOBALS for debugging reasons;
var oODataModel,
oDatePicker,
oTimePicker,
oDateTimePicker;
sap.ui.getCore().attachInit(function() {
sap.ui.require([
"demo/mockserver/mock/mockserver",
], function(mockserver) {
mockserver.init();
function handleChange(oEvent) {
var sValue = oEvent.getParameter("value");
var bValid = oEvent.getParameter("valid");
console.log("value", sValue);
console.log("is valid", bValid);
console.log(oEvent);
}
var sServiceURL = "/here/goes/your/serviceUrl/";
var oModel = new sap.ui.model.odata.v2.ODataModel(sServiceURL);
oODataModel = oModel;
oModel.setDefaultBindingMode(sap.ui.model.BindingMode.TwoWay);
oModel.setUseBatch(false);
sap.ui.getCore().setModel(oModel);
// only display the date!
var oDate = new sap.m.DatePicker("datepicker", {
value: {
path: 'date',
type: 'sap.ui.model.type.Date',
formatOptions: {
style: 'full'
}
}
});
oDate.attachChange(handleChange);
oDatePicker = oDate;
// display the time field
var oTime = new sap.m.TimePicker("timepicker", {
value: {
path: 'time',
type: 'sap.ui.model.odata.type.Time'
}
});
oTime.attachChange(handleChange);
oTimePicker = oTime;
var oDateTime = new sap.m.DateTimeInput("datetimepicker", {
type: "DateTime",
value: {
path: 'datetime',
type: 'sap.ui.model.odata.type.DateTime',
formatOptions: {
style: 'short'
}
}
});
oDateTime.attachChange(handleChange);
oDateTimePicker = oDateTime;
var oText = new sap.m.Text({
text: "{date}"
});
var oPanel = new sap.m.Panel("panel");
oPanel.addContent(oDate);
oPanel.addContent(oTime);
oPanel.addContent(oDateTime);
oPanel.addContent(oText);
var oPageMaster = new sap.m.Page("masterPage", {
title: "Supplier Overview",
content: [oPanel]
});
oPageMaster.bindElement("/datetime('0000000012')")
var oApp = new sap.m.App();
oApp.addPage(oPageMaster);
oApp.placeAt("content");
});
});
</script>
</head>
<body class="sapUiBody" id="content">
</body>
</html>
Try do change the time in the timepicker.
After that the oODataModel.getPendingChanges() has no entries...
Also the value in the model is not updated.
Debugging variables:
(choose run.plnkr.co in the Console "frame")
var oODataModel,
oDatePicker,
oTimePicker,
oDateTimePicker;
oODataModel.getProperty("/datetime('0000000012')/time");
oODataModel.getProperty("/datetime('0000000012')/date");
oODataModel.getProperty("/datetime('0000000012')/datetime");
oODataModel.getObject("/datetime('0000000012')")
sap.ui.define([
"sap/ui/core/util/MockServer"
], function(MockServer) {
"use strict";
var _sAppModulePath = "demo/mockserver",
_sJsonFilesModulePath = "mock/mockdata";
return {
init: function() {
var sManifestUrl = jQuery.sap.getModulePath(_sAppModulePath + "/manifest", ".json");
var sJsonFilesUrl = _sJsonFilesModulePath;
var oManifest = jQuery.sap.syncGetJSON(sManifestUrl).data;
var oMainDataSource = oManifest["sap.app"].dataSources.dataRemote;
var sMetadataUrl = "mock/metadata.xml";
// create
var oMockServer = new MockServer({
rootUri: oMainDataSource.uri
});
// configure
MockServer.config({
autoRespond: true,
autoRespondAfter: 1000
});
// simulate
oMockServer.simulate(sMetadataUrl, {
sMockdataBaseUrl: sJsonFilesUrl
});
// start
oMockServer.start();
}
};
});
{
"sap.app": {
"dataSources": {
"dataRemote": {
"uri": "/here/goes/your/serviceUrl/",
"type": "OData",
"settings": {
"odataVersion": "2.0",
"localUri" : "mock/metadata.xml"
}
}
}
}
}
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<edmx:Edmx Version="1.0" xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx">
<edmx:DataServices xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" m:DataServiceVersion="2.0">
<Schema Namespace="d000000trial.dev.sapui5_date_poc.service.datetime" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://schemas.microsoft.com/ado/2008/09/edm">
<EntityType Name="datetimeType">
<Key>
<PropertyRef Name="id" />
</Key>
<Property Name="id" Type="Edm.String" Nullable="false" MaxLength="10" />
<Property Name="date" Type="Edm.DateTime" />
<Property Name="time" Type="Edm.Time" />
<Property Name="datetime" Type="Edm.DateTime" />
</EntityType>
<EntityContainer Name="datetime" m:IsDefaultEntityContainer="true">
<EntitySet Name="datetime" EntityType="d000000trial.dev.sapui5_date_poc.service.datetime.datetimeType" />
</EntityContainer>
</Schema>
</edmx:DataServices>
</edmx:Edmx>
{
"d": {
"results": [{
"__metadata": {
"type": "d000000trial.dev.sapui5_date_poc.service.datetime.datetimeType",
"uri": "https://s8hanaxs.hanatrial.ondemand.com:443/d000000trial/dev/sapui5_date_poc/service/datetime.xsodata/datetime('0000000000')"
},
"id": "0000000000",
"date": "\/Date(489369600000)\/",
"time": "PT11H11M0S",
"datetime": "\/Date(-210866803200000)\/"
}, {
"__metadata": {
"type": "d000000trial.dev.sapui5_date_poc.service.datetime.datetimeType",
"uri": "https://s8hanaxs.hanatrial.ondemand.com:443/d000000trial/dev/sapui5_date_poc/service/datetime.xsodata/datetime('0000000001')"
},
"id": "0000000001",
"date": "\/Date(489369600000)\/",
"time": "PT11H11M0S",
"datetime": "\/Date(489409211000)\/"
}, {
"__metadata": {
"type": "d000000trial.dev.sapui5_date_poc.service.datetime.datetimeType",
"uri": "https://s8hanaxs.hanatrial.ondemand.com:443/d000000trial/dev/sapui5_date_poc/service/datetime.xsodata/datetime('0000000002')"
},
"id": "0000000002",
"date": "\/Date(489369600000)\/",
"time": "PT11H11M0S",
"datetime": "\/Date(489409211999)\/"
}, {
"__metadata": {
"type": "d000000trial.dev.sapui5_date_poc.service.datetime.datetimeType",
"uri": "https://s8hanaxs.hanatrial.ondemand.com:443/d000000trial/dev/sapui5_date_poc/service/datetime.xsodata/datetime('0000000003')"
},
"id": "0000000003",
"date": null,
"time": null,
"datetime": null
}, {
"__metadata": {
"type": "d000000trial.dev.sapui5_date_poc.service.datetime.datetimeType",
"uri": "https://s8hanaxs.hanatrial.ondemand.com:443/d000000trial/dev/sapui5_date_poc/service/datetime.xsodata/datetime('0000000008')"
},
"id": "0000000008",
"date": "\/Date(1458086400000)\/",
"time": null,
"datetime": null
}, {
"__metadata": {
"type": "d000000trial.dev.sapui5_date_poc.service.datetime.datetimeType",
"uri": "https://s8hanaxs.hanatrial.ondemand.com:443/d000000trial/dev/sapui5_date_poc/service/datetime.xsodata/datetime('0000000009')"
},
"id": "0000000009",
"date": "\/Date(1458086400000)\/",
"time": "PT17H14M0S",
"datetime": null
}, {
"__metadata": {
"type": "d000000trial.dev.sapui5_date_poc.service.datetime.datetimeType",
"uri": "https://s8hanaxs.hanatrial.ondemand.com:443/d000000trial/dev/sapui5_date_poc/service/datetime.xsodata/datetime('0000000010')"
},
"id": "0000000010",
"date": "\/Date(1458086400000)\/",
"time": "PT17H14M0S",
"datetime": "\/Date(1458145106553)\/"
}, {
"__metadata": {
"type": "d000000trial.dev.sapui5_date_poc.service.datetime.datetimeType",
"uri": "https://s8hanaxs.hanatrial.ondemand.com:443/d000000trial/dev/sapui5_date_poc/service/datetime.xsodata/datetime('0000000011')"
},
"id": "0000000011",
"date": "\/Date(489110400000)\/",
"time": "PT9H43M0S",
"datetime": "\/Date(489189600000)\/"
}, {
"__metadata": {
"type": "d000000trial.dev.sapui5_date_poc.service.datetime.datetimeType",
"uri": "https://s8hanaxs.hanatrial.ondemand.com:443/d000000trial/dev/sapui5_date_poc/service/datetime.xsodata/datetime('0000000012')"
},
"id": "0000000012",
"date": "\/Date(552528000000)\/",
"time": "PT11H11M0S",
"datetime": "\/Date(518414760000)\/"
}]
}
}