UNPKG

@openui5/sap.m

Version:

OpenUI5 UI Library sap.m

74 lines (61 loc) 2.35 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/Renderer', './InputBaseRenderer'], function(Renderer, InputBaseRenderer) { "use strict"; /** * MaskInputRenderer renderer. * @namespace */ var MaskInputRenderer = Renderer.extend(InputBaseRenderer); /** * Returns the inner aria labelledby announcement texts for the accessibility. * * @override * @param {sap.ui.core.Control} oControl an object representation of the control. * @returns {String} The inner aria labelledby announcement texts */ MaskInputRenderer.getLabelledByAnnouncement = function(oControl) { var sMask = oControl.getMask(), sPlaceholder = oControl.getPlaceholder() || "", sToolTip = oControl.getTooltip_AsString() || "", oResourceBundle, sMaskScreenReaderTag, sAnnouncement = ""; if (sMask && sMask.length) { oResourceBundle = sap.ui.getCore().getLibraryResourceBundle("sap.m"); sMaskScreenReaderTag = oResourceBundle.getText("MASKINPUT_SCREENREADER_TAG"); if (sToolTip) { sToolTip = " " + sToolTip + " "; } if (sPlaceholder) { sPlaceholder = " " + sPlaceholder + " "; } sAnnouncement = sMaskScreenReaderTag + sPlaceholder + sToolTip; return sAnnouncement; } return InputBaseRenderer.getLabelledByAnnouncement.apply(this, arguments); }; /** * Returns the inner aria describedby announcement texts for the accessibility. * Hook for the subclasses. * * @param {sap.ui.core.Control} oControl an object representation of the control. * @returns {String} The inner aria describedby announcement texts */ MaskInputRenderer.getDescribedByAnnouncement = function(oControl) { var sMask = oControl.getMask(), sMaskPlaceholderSymbol = oControl.getPlaceholderSymbol(), oResourceBundle, sAnnouncement = ""; if (sMask.length && sMaskPlaceholderSymbol) { oResourceBundle = sap.ui.getCore().getLibraryResourceBundle("sap.m"); sAnnouncement = oResourceBundle.getText("MASKINPUT_SCREENREADER_DESCRIPTION", [sMaskPlaceholderSymbol, sMask]); return jQuery.trim(sAnnouncement); } return InputBaseRenderer.getDescribedByAnnouncement.apply(this, arguments); }; return MaskInputRenderer; }, /* bExport= */ true);