@openui5/sap.m
Version:
OpenUI5 UI Library sap.m
117 lines (93 loc) • 3.19 kB
JavaScript
/*!
* UI development toolkit for HTML5 (OpenUI5)
* (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
*/
sap.ui.define(["sap/ui/core/library", "sap/ui/core/Renderer", "./ListItemBaseRenderer"],
function(coreLibrary, Renderer, ListItemBaseRenderer) {
"use strict";
// shortcut for sap.ui.core.TextDirection
var TextDirection = coreLibrary.TextDirection;
/**
* GroupHeaderListItem renderer.
* @namespace
*/
var GroupHeaderListItemRenderer = Renderer.extend(ListItemBaseRenderer);
GroupHeaderListItemRenderer.renderType = function(rm, oLI) {
var oTable = oLI.getTable();
// for table render navigation column always
oTable && rm.write('<td class="sapMListTblNavCol">');
ListItemBaseRenderer.renderType.apply(this, arguments);
oTable && rm.write('</td>');
};
// GroupHeaderListItem does not respect counter property of the LIB
GroupHeaderListItemRenderer.renderCounter = function(rm, oLI) {
};
/**
* Renders the attributes for the given list item, using the provided
* {@link sap.ui.core.RenderManager}.
*
* @param {sap.ui.core.RenderManager}
* rm the RenderManager that can be used for writing to the
* Render-Output-Buffer
* @param {sap.ui.core.Control}
* oLI an object representation of the list item that should be
* rendered
*/
GroupHeaderListItemRenderer.renderLIAttributes = function(rm, oLI) {
rm.addClass("sapMGHLI");
if (oLI.getUpperCase()) {
rm.addClass("sapMGHLIUpperCase");
}
};
/**
* Renders the List item content
*
* @param {sap.ui.core.RenderManager}
* rm the RenderManager that can be used for writing to the
* Render-Output-Buffer
* @param {sap.ui.core.Control}
* oLI an object representation of the list item that should be
* rendered
*/
GroupHeaderListItemRenderer.renderLIContentWrapper = function(rm, oLI) {
var oTable = oLI.getTable();
if (oTable) {
rm.write('<td class="sapMGHLICell"');
rm.writeAttribute("colspan", oTable.getColSpan());
rm.write(">");
}
ListItemBaseRenderer.renderLIContentWrapper.apply(this, arguments);
if (oTable) {
rm.write("</td>");
}
};
GroupHeaderListItemRenderer.renderLIContent = function(rm, oLI) {
var sTextDir = oLI.getTitleTextDirection();
rm.write("<span class='sapMGHLITitle'");
if (sTextDir != TextDirection.Inherit) {
rm.writeAttribute("dir", sTextDir.toLowerCase());
}
rm.write(">");
rm.writeEscaped(oLI.getTitle());
rm.write("</span>");
var iCount = oLI.getCount() || oLI.getCounter();
if (iCount) {
rm.write("<span class='sapMGHLICounter'>");
rm.writeEscaped(" (" + iCount + ")");
rm.write("</span>");
}
};
GroupHeaderListItemRenderer.addLegacyOutlineClass = function(rm, oLI) {
if (!oLI.getTable()) {
ListItemBaseRenderer.addLegacyOutlineClass.apply(this, arguments);
}
};
GroupHeaderListItemRenderer.getAriaRole = function(oLI) {
if (oLI.getTable()) {
return "row";
}
return ListItemBaseRenderer.getAriaRole.apply(this, arguments);
};
return GroupHeaderListItemRenderer;
}, /* bExport= */ true);