SAPUI5 vizFrame examples

SAPUI5 vizFrame examples

by Gabriel de Souza

HTML

<script id='sap-ui-bootstrap' type='text/javascript' src='https://sapui5.hana.ondemand.com/resources/sap-ui-core.js' data-sap-ui-libs="sap.m, sap.viz" data-sap-ui-theme="sap_belize">


</script>
<script id="myXml" type="text/xmldata">
   <mvc:View controllerName="myController" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:mvc="sap.ui.core.mvc"
	displayBlock="true" xmlns="sap.m" xmlns:viz="sap.viz.ui5.controls" xmlns:layout="sap.ui.layout"
	xmlns:viz.feeds="sap.viz.ui5.controls.common.feeds" xmlns:viz.data="sap.viz.ui5.data">
      <App>
         <Page showHeader="false" class="whiteBackground">
				<content>
					<layout:Grid defaultSpan="L12 M12 S12">
						<viz:VizFrame id="vizFrame" title="Column Chart" uiConfig="{applicationSet:'fiori'}" height='20rem' width="100%" vizType='column'>
							<viz:dataset>
								<viz.data:FlattenedDataset data="{ColumnChartData>/data}">
									<viz.data:dimensions>
										<viz.data:DimensionDefinition name="Period" value="{chartData>Period}"/>
									</viz.data:dimensions>
									<viz.data:measures>
										<viz.data:MeasureDefinition name="Actuals" value="{chartData>Actuals}"/>
										<viz.data:MeasureDefinition name="Budget" value="{chartData>Budget}"/>
									</viz.data:measures>
								</viz.data:FlattenedDataset>
							</viz:dataset>
							<viz:feeds>
								<viz.feeds:FeedItem uid="valueAxis" type="Measure" values="Actuals"/>
								<viz.feeds:FeedItem uid="valueAxis" type="Measure" values="Budget"/>
								<viz.feeds:FeedItem uid="categoryAxis" type="Dimension" values="Period"/>
							</viz:feeds>
						</viz:VizFrame>
						<viz:VizFrame id="vizFrame2" uiConfig="{applicationSet:'fiori'}" height='20rem' width="100%" vizType='horizontal_waterfall'>
							<viz:dataset>
								<viz.data:FlattenedDataset data="{waterfallChartData>/data}">
									<viz.data:dimensions>
										<viz.data:DimensionDefinition name="Category"...

CSS

.whiteBackground {
  background-color: #ffffff;
}

JavaScript

sap.ui.controller("myController", {

		onInit: function() {
			this._renderChart1();
			this._renderChart2();
		},

		/**
		 * Renders the column chart
		 * @private
		 */
		_renderChart1: function() {
			var oData = {
				data: [{
					"Period": "Q1 '17",
					"Actuals": 642.3,
					"Category": "Actuals",
					"Budget": 720
				}, {
					"Period": "Q2 '17",
					"Actuals": 751.7,
					"Category": "Actuals",
					"Budget": 720
				}, {
					"Period": "Q3 '17",
					"Actuals": 770.7,
					"Category": "Actuals",
					"Budget": 720
				}, {
					"Period": "Q4 '17",
					"Actuals": 638.7,
					"Category": "Actuals",
					"Budget": 720
				}, {
					"Period": "Q1 '18",
					"Actuals": 750.7,
					"Category": "Forecast",
					"Budget": 720
				}, {
					"Period": "Q2 '18",
					"Actuals": 770.7,
					"Category": "Forecast",
					"Budget": 720
				}]
			};

			var oJsonModel = new sap.ui.model.json.JSONModel(oData);
			this.getView().setModel(oJsonModel, "ColumnChartData");

			var oVizFrame = this.getView().byId("vizFrame");
			oVizFrame.setModel(oJsonModel, "ColumnChartData");
			oVizFrame.setVizType("column");

			var vizProperties = {
				interaction: {
					zoom: {
						enablement: "disabled"
					},
					selectability: {
						mode: "EXCLUSIVE"
					}
				},
				valueAxis: {
					title: {
						visible: false
					},
					visible: true,
					axisLine: {
						visible: false
					},
					label: {
						linesOfWrap: 2,
						visible: false,
						style: {
							fontSize: "10px"
						}
					}
				},
				categoryAxis: {
					title: {
						visible: false
					},
					label: {
						linesOfWrap: 2,
						rotation: "fixed",
						angle: 0,
						style: {
							fontSize: "12px"
						}
					},
					axisTick: {
						shortTickVisible: false
					}
				},
				title: {
					text: "Example Column Chart with IBCS style semantics",
					visible: true
				},
				legend: {
					visible: false
				},
				plotArea: {
					colorPalette: ["#007181"],
					gridline:...