UNPKG

@openui5/sap.m

Version:

OpenUI5 UI Library sap.m

87 lines (70 loc) 2.61 kB
/*! * 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/IconPool'], function(IconPool) { "use strict"; // TODO: consider making this conditional IconPool.insertFontFaceStyle(); /** * PullToRefresh renderer. * @namespace */ var PullToRefreshRenderer = { }; /** * 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 */ PullToRefreshRenderer.render = function(oRm, oControl){ var bShowIcon = oControl.getShowIcon(); var sCustomIcon = oControl.getCustomIcon(); var sTooltip = oControl.getTooltip_AsString(); var oResourceBundle = oControl._getRB(); oRm.write("<div"); oRm.writeControlData(oControl); oRm.addClass("sapMPullDown"); if (!oControl._bTouchMode) { oRm.addClass("sapMPullDownNontouch"); } else { oRm.addClass("sapMPullDownTouch"); } if (bShowIcon && !sCustomIcon) { // if no custom icon is provided, use SAP logo as background oRm.addClass("sapMPullDownLogo"); } oRm.writeClasses(); if (sTooltip) { oRm.writeAttributeEscaped("title", sTooltip); } oRm.write(" tabindex=\"0\""); // div element oRm.write(" role='button' aria-controls='" + oControl.getParent().sId + "-cont'>"); // aria attribute if (bShowIcon && sCustomIcon) { var oCustomImage = oControl.getCustomIconImage(); if (oCustomImage) { oRm.write("<div class=\"sapMPullDownCI\">"); oRm.renderControl(oCustomImage); oRm.write("</div>"); } } // Pull down arrow icon oRm.write("<span class=\"sapMPullDownIcon\"></span>"); // Busy Indicator oRm.write("<span class=\"sapMPullDownBusy\">"); oRm.renderControl(oControl._oBusyIndicator); oRm.write("</span>"); // Text - Pull down to refresh oRm.write("<span id=" + oControl.getId() + "-T class=\"sapMPullDownText\" aria-live=\"assertive\">"); oRm.writeEscaped(oResourceBundle.getText(oControl._bTouchMode ? "PULL2REFRESH_PULLDOWN" : "PULL2REFRESH_REFRESH")); oRm.write("</span>"); // Info - last updated at xx:xx:xx oRm.write("<span id=" + oControl.getId() + "-I class=\"sapMPullDownInfo\">"); oRm.writeEscaped(oControl.getDescription()); oRm.write("</span>"); oRm.write("</div>"); }; return PullToRefreshRenderer; }, /* bExport= */ true);