Hello,
I'm trying to get a stacked bar graph via VizFrame on SAPUI5. It seems I have everything in order (I used the code found in SAPUI5 Explored and changed it to my own requests) but the graph is not showing up. In fact, nothing shows up.
Heres my code:
VIEW:
createContent : function(oController) {
var oPage = new sap.m.Page();
var oScrollContainer = new sap.m.ScrollContainer("idScrollContainer",{
height:"100%",
width:"100%",
horizontal:false,
vertical:true,
focusable:true
});
var popover1 = new sap.viz.ui5.controls.Popover("idPopOver_stacked_bar");
var popover2 = new sap.viz.ui5.controls.Popover("idPopOver_100_stacked_bar");
var popover3 = new sap.viz.ui5.controls.Popover("idPopOver_dual_stacked_bar");
var popover4 = new sap.viz.ui5.controls.Popover("idPopOver_100_dual_stacked_bar");
oScrollContainer.addContent(popover1);
oScrollContainer.addContent(popover2);
oScrollContainer.addContent(popover3);
oScrollContainer.addContent(popover4);
oPage.addContent(oScrollContainer);
return oPage;
}
CONTROLLER:
onInit: function(oEvent) {
var initOptions_stacked_bar = {
"vizType": "stacked_bar",
"uiConfig": {
"applicationSet": "fiori"
},
"width":"100%",
"height":"700px",
};
var oVizFrame_stacked_bar = new sap.viz.ui5.controls.VizFrame(initOptions_stacked_bar);
var oPopOver_stacked_bar = this.getView().byId("idPopOver_stacked_bar");
oModelMonitors.read("/Disks" ,null,null,false,function(response){
var oModelDisks = [];
for(var key in response.results) {
var value = response.results[key];
value["USED_SIZE"] = parseFloat(value["USED_SIZE"])/ 1024/ 1024 / 1024 / 1024;
value["TOTAL_SIZE"] = parseFloat(value["TOTAL_SIZE"])/ 1024 / 1024 / 1024 / 1024;
var line = {
"disk": "Disk "+value["DISK_ID"]+" - "+value["HOST"]+" - "+value["USAGE_TYPE"],
"type": "Used Space",
"size": Math.round( value["USED_SIZE"] * 100 ) / 100,
}
oModelDisks.push(line);
var line2 = {
"disk": "Disk "+value["DISK_ID"]+" - "+value["HOST"]+" - "+value["USAGE_TYPE"],
"type": "Free Space",
"size": Math.round( value["TOTAL_SIZE"] * 100 ) / 100 - Math.round( value["USED_SIZE"] * 100 ) / 100,
}
oModelDisks.push(line2);
}
});
var oModel = oModelDisks;
var oModel_stacked_bar = new sap.ui.model.json.JSONModel(oModelDisks);
var oDataset_stacked_bar = new sap.viz.ui5.data.FlattenedDataset({
dimensions: [{
name: "Disk",
value: "{disk}"
}, {
name: 'Type',
value: '{type}'
}],
measures: [{
name: 'Size',
value: '{size}'
}],
data: {
path: "/"
}
});
oVizFrame_stacked_bar.setModel(oModel_stacked_bar);
oVizFrame_stacked_bar.setDataset(oDataset_stacked_bar);
oVizFrame_stacked_bar.setVizProperties({
valueAxis: {
label: {
formatString: 'u'
}
},
plotArea: {
dataLabel: {
visible: true
}
},
legend: {
title: {
visible: false
}
},
title: {
visible: true,
text: 'Units Sold by City and Item Category'
}
});
var scrollContainer = sap.ui.getCore().byId("idScrollContainer");
scrollContainer.addContent(oVizFrame_stacked_bar);
},
I think it must have something to do with the model, but I can't find what.
can anyone help me? thanks