@openui5/sap.tnt
Version:
OpenUI5 UI Library sap.tnt
133 lines (94 loc) • 3.22 kB
JavaScript
/*!
* OpenUI5
* (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
*/
sap.ui.define([
"sap/ui/Device"
], function (Device) {
"use strict";
/**
* ToolPage renderer
* @namespace
*/
var ToolPageRenderer = {
apiVersion: 2
};
/**
* Renders the HTML for the given control, using the provided {@link sap.ui.core.RenderManager}.
*
* @param {sap.ui.core.RenderManager} oRM the RenderManager that can be used for writing to the render output buffer
* @param {sap.ui.core.Control} oControl an object representation of the control that should be rendered
*/
ToolPageRenderer.render = function (oRM, oControl) {
var oHeader = oControl.getHeader(),
oSubHeader = oControl.getSubHeader();
oRM.openStart("div", oControl)
.class("sapTntToolPage")
.openEnd();
if (oHeader) {
oRM.openStart("header").openEnd();
oRM.openStart("div", oControl.getId() + "-header")
.class("sapTntToolPageHeader")
.openEnd();
oRM.renderControl(oHeader);
oRM.close("div");
oRM.close("header");
}
if (oSubHeader && oSubHeader.getVisible()) {
oRM.openStart("header").openEnd();
oRM.openStart("div", oControl.getId() + "-subHeader")
.class("sapTntToolPageHeader")
.openEnd();
oRM.renderControl(oSubHeader);
oRM.close("div");
oRM.close("header");
}
this.renderContentWrapper(oRM, oControl);
oRM.close("div");
};
ToolPageRenderer.renderContentWrapper = function (oRM, oControl) {
oRM.openStart("div").class("sapTntToolPageContentWrapper");
if (!Device.system.desktop || !oControl.getSideExpanded()) {
oRM.class("sapTntToolPageAsideCollapsed");
}
oRM.openEnd();
this.renderAsideContent(oRM, oControl);
this.renderMainContent(oRM, oControl);
oRM.close("div");
};
ToolPageRenderer.renderAsideContent = function (oRM, oControl) {
var oSideContent = oControl.getSideContent();
if (!oSideContent || !oSideContent.getVisible()) {
return;
}
oRM.openStart("aside", oControl.getId() + "-aside").class("sapTntToolPageAside").openEnd();
oRM.openStart("div").class("sapTntToolPageAsideContent").openEnd();
var bSideExpanded = oControl.getSideExpanded();
if (oSideContent && oSideContent.getExpanded() !== bSideExpanded) {
oSideContent.setExpanded(bSideExpanded);
}
if (!Device.system.desktop) {
oControl.setSideExpanded(false);
}
// The render of the aggregation should be after the above statement,
// due to class manipulations inside the aggregation.
oRM.renderControl(oSideContent);
oRM.close("div");
oRM.close("aside");
};
ToolPageRenderer.renderMainContent = function (oRM, oControl) {
var aMainContent = oControl.getMainContents();
if (!aMainContent) {
return;
}
oRM.openStart("div", oControl.getId() + "-main").class("sapTntToolPageMain").openEnd();
oRM.openStart("div").class("sapTntToolPageMainContent").openEnd();
oRM.openStart("div").class("sapTntToolPageMainContentWrapper").openEnd();
aMainContent.forEach(oRM.renderControl, oRM);
oRM.close("div");
oRM.close("div");
oRM.close("div");
};
return ToolPageRenderer;
}, /* bExport= */ true);