UNPKG

@openui5/sap.m

Version:

OpenUI5 UI Library sap.m

94 lines (89 loc) 2.53 kB
/*! * OpenUI5 * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company. * Licensed under the Apache License, Version 2.0 - see LICENSE.txt. */ sap.ui.define(['./ColumnPopoverItem', 'sap/m/ToggleButton'], function(ColumnPopoverItem, ToggleButton) { "use strict"; /** * Constructor for the element. * * @param {string} [sId] id for the new element. * @param {string} [mSettings] initial settings for the new element. * * @class * The <code>ColumnPopoverCustomItem</code> provides the capabilities to perform custom behaviour in ColumnHeaderPopover. * @extends sap.m.ColumnPopoverItem * * @author SAP SE * @version 1.117.4 * * @constructor * @since 1.63 * @private * @alias sap.m.ColumnPopoverCustomItem */ var ColumnPopoverCustomItem = ColumnPopoverItem.extend("sap.m.ColumnPopoverCustomItem", /** @lends sap.m.ColumnPopoverCustomItem.prototype */ { metadata: { library: "sap.m", properties: { /** * Customitem button icon */ icon: {type: "sap.ui.core.URI", group: "Misc", defaultValue: null}, /** * Customitem button text */ text: {type: "string", group: "Misc", defaultValue: null} }, aggregations: { /** * Note that the content created inside ColumnPopoverCustomItem can not be used more than once. */ content: {type: "sap.ui.core.Control", multiple: false, singularName: "content"} }, events: { /** * beforeShowContent event */ beforeShowContent: {} } } }); ColumnPopoverCustomItem.prototype._createButton = function(sId, oCHPopover) { var oPopover = oCHPopover.getAggregation("_popover"); var oContent = this.getContent(); if (oContent) { oContent.setVisible(false); this._sContentId = oContent.sId; } oPopover.addContent(oContent); var that = this; return new ToggleButton(sId, { icon: this.getIcon(), type: "Transparent", tooltip: this.getText(), visible: this.getVisible(), press: function() { // between two custom items if (oCHPopover._oShownCustomContent) { oCHPopover._oShownCustomContent.setVisible(false); } if (this.getPressed()) { // set other buttons unpressed oCHPopover._cleanSelection(this); that.fireBeforeShowContent(); if (oContent) { oContent.setVisible(true); oCHPopover._oShownCustomContent = oContent; } } else if (oContent) { oContent.setVisible(false); oCHPopover._oShownCustomContent = null; } } }); }; return ColumnPopoverCustomItem; });