UNPKG

@openui5/sap.m

Version:

OpenUI5 UI Library sap.m

2,259 lines (2,008 loc) 146 kB
/*! * OpenUI5 * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company. * Licensed under the Apache License, Version 2.0 - see LICENSE.txt. */ /** * Initialization Code and shared classes of library sap.m. */ sap.ui.define([ "sap/ui/core/Lib", "sap/ui/Device", "sap/ui/base/DataType", "sap/ui/base/EventProvider", "sap/ui/core/Control", "sap/base/util/ObjectPath", "sap/ui/util/openWindow", // library dependency "sap/ui/core/library", "sap/base/strings/capitalize", "sap/ui/thirdparty/jquery", "sap/base/assert", "sap/base/Log", "sap/base/util/defineLazyProperty", "sap/base/security/encodeCSS", "./AvatarShape", "./AvatarSize", "./AvatarType", "./AvatarColor", "./AvatarImageFitType", "./IllustratedMessageSize", "./IllustratedMessageType", "./upload/UploaderHttpRequestMethod", "sap/ui/core/theming/Parameters", "sap/ui/core/LocaleData", "sap/ui/core/Configuration", "./Support" // referenced here to enable the Support feature ], function( Library, Device, DataType, EventProvider, Control, ObjectPath, openWindow, CoreLibrary, capitalize, jQuery, assert, Log, defineLazyProperty, encodeCSS, AvatarShape, AvatarSize, AvatarType, AvatarColor, AvatarImageFitType, IllustratedMessageSize, IllustratedMessageType, UploaderHttpRequestMethod, Parameters, LocaleData, Configuration ) { "use strict"; /** * The main UI5 control library, with responsive controls that can be used in touch devices as well as desktop browsers. * * @namespace * @alias sap.m * @author SAP SE * @version 1.117.4 * @since 1.4 * @public */ var thisLib = Library.init({ name : "sap.m", version: "1.117.4", dependencies : ["sap.ui.core"], designtime: "sap/m/designtime/library.designtime", types: [ "sap.m.AvatarImageFitType", "sap.m.AvatarShape", "sap.m.AvatarSize", "sap.m.AvatarType", "sap.m.AvatarColor", "sap.m.BackgroundDesign", "sap.m.BadgeState", "sap.m.BadgeAnimationType", "sap.m.BarDesign", "sap.m.BorderDesign", "sap.m.BreadcrumbsSeparatorStyle", "sap.m.ButtonAccessibleRole", "sap.m.ButtonType", "sap.m.CarouselArrowsPlacement", "sap.m.DateTimeInputType", "sap.m.DeviationIndicator", "sap.m.DialogRoleType", "sap.m.DialogType", "sap.m.DraftIndicatorState", "sap.m.FacetFilterListDataType", "sap.m.FacetFilterType", "sap.m.FlexAlignContent", "sap.m.FlexAlignItems", "sap.m.FlexAlignSelf", "sap.m.FlexDirection", "sap.m.FlexJustifyContent", "sap.m.FlexRendertype", "sap.m.FlexWrap", "sap.m.FrameType", "sap.m.GenericTagDesign", "sap.m.GenericTagValueState", "sap.m.GenericTileMode", "sap.m.Priority", "sap.m.GenericTileScope", "sap.m.HeaderLevel", "sap.m.IBarHTMLTag", "sap.m.IconTabDensityMode", "sap.m.IconTabFilterDesign", "sap.m.IconTabHeaderMode", "sap.m.IllustratedMessageSize", "sap.m.IllustratedMessageType", "sap.m.ImageMode", "sap.m.InputTextFormatMode", "sap.m.InputType", "sap.m.LabelDesign", "sap.m.LightBoxLoadingStates", "sap.m.LinkConversion", "sap.m.LinkAccessibleRole", "sap.m.ListGrowingDirection", "sap.m.ListHeaderDesign", "sap.m.ListKeyboardMode", "sap.m.ListMode", "sap.m.ListSeparators", "sap.m.ListType", "sap.m.LoadState", "sap.m.MenuButtonMode", "sap.m.MultiSelectMode", "sap.m.ObjectHeaderPictureShape", "sap.m.ObjectMarkerType", "sap.m.ObjectMarkerVisibility", "sap.m.OverflowToolbarPriority", "sap.m.P13nPanelType", "sap.m.P13nConditionOperation", "sap.m.PageBackgroundDesign", "sap.m.PanelAccessibleRole", "sap.m.PDFViewerDisplayType", "sap.m.PlacementType", "sap.m.PlanningCalendarBuiltInView", "sap.m.PlanningCalendarStickyMode", "sap.m.PopinDisplay", "sap.m.PopinLayout", "sap.m.QuickViewGroupElementType", "sap.m.RatingIndicatorVisualMode", "sap.m.ScreenSize", "sap.m.SelectColumnRatio", "sap.m.SelectionDetailsActionLevel", "sap.m.SelectListKeyboardNavigationMode", "sap.m.SelectType", "sap.m.Size", "sap.m.SplitAppMode", "sap.m.StandardDynamicDateRangeKeys", "sap.m.StandardTileType", "sap.m.StepInputStepModeType", "sap.m.StepInputValidationMode", "sap.m.Sticky", "sap.m.StringFilterOperator", "sap.m.SwipeDirection", "sap.m.SwitchType", "sap.m.TabsOverflowMode", "sap.m.TileSizeBehavior", "sap.m.TimePickerMaskMode", "sap.m.TitleAlignment", "sap.m.TokenizerRenderMode", "sap.m.ToolbarDesign", "sap.m.ToolbarStyle", "sap.m.UploadState", "sap.m.UploadType", "sap.m.ValueColor", "sap.m.ValueCSSColor", "sap.m.VerticalPlacementType", "sap.m.WrappingType", "sap.m.WizardRenderMode", "sap.m.semantic.SemanticRuleSetType", "sap.m.table.columnmenu.Category", "sap.m.upload.UploaderHttpRequestMethod" ], interfaces: [ "sap.m.IBar", "sap.m.IBadge", "sap.m.IBreadcrumbs", "sap.m.p13n.IContent", "sap.m.IconTab", "sap.m.IScale", "sap.m.semantic.IGroup", "sap.m.semantic.IFilter", "sap.m.semantic.ISort", "sap.m.ObjectHeaderContainer", "sap.m.IOverflowToolbarContent", "sap.m.IOverflowToolbarFlexibleContent", "sap.m.IToolbarInteractiveControl", "sap.m.IHyphenation" ], controls: [ "sap.m.ActionListItem", "sap.m.ActionSelect", "sap.m.ActionSheet", "sap.m.ActionTile", "sap.m.ActionTileContent", "sap.m.App", "sap.m.Avatar", "sap.m.Bar", "sap.m.BusyDialog", "sap.m.BusyIndicator", "sap.m.Button", "sap.m.Breadcrumbs", "sap.m.Carousel", "sap.m.CheckBox", "sap.m.ColumnHeaderPopover", "sap.m.ColumnListItem", "sap.m.ColorPalette", "sap.m.ColorPalettePopover", "sap.m.ComboBox", "sap.m.ComboBoxTextField", "sap.m.ComboBoxBase", "sap.m.CustomAttribute", "sap.m.CustomListItem", "sap.m.CustomTile", "sap.m.CustomTreeItem", "sap.m.DatePicker", "sap.m.DateRangeSelection", "sap.m.DateTimeField", "sap.m.DateTimeInput", "sap.m.DateTimePicker", "sap.m.Dialog", "sap.m.DisplayListItem", "sap.m.DraftIndicator", "sap.m.DynamicDateRange", "sap.m.ExpandableText", "sap.m.AdditionalTextButton", "sap.m.FacetFilter", "sap.m.FacetFilterItem", "sap.m.FacetFilterList", "sap.m.FeedContent", "sap.m.FeedInput", "sap.m.FeedListItem", "sap.m.FlexBox", "sap.m.FormattedText", "sap.m.GenericTag", "sap.m.GenericTile", "sap.m.GroupHeaderListItem", "sap.m.GrowingList", "sap.m.HBox", "sap.m.HeaderContainer", "sap.m.IconTabBar", "sap.m.IconTabBarSelectList", "sap.m.IconTabFilterExpandButtonBadge", "sap.m.IconTabHeader", "sap.m.IllustratedMessage", "sap.m.Image", "sap.m.ImageContent", "sap.m.Input", "sap.m.InputBase", "sap.m.InputListItem", "sap.m.Label", "sap.m.LightBox", "sap.m.Link", "sap.m.List", "sap.m.ListBase", "sap.m.ListItemBase", "sap.m.MaskInput", "sap.m.Menu", "sap.m.MenuButton", "sap.m.MessagePage", "sap.m.MessagePopover", "sap.m.MessageView", "sap.m.MessageStrip", "sap.m.MultiComboBox", "sap.m.MultiEditField", "sap.m.MultiInput", "sap.m.NavContainer", "sap.m.NewsContent", "sap.m.NumericContent", "sap.m.NotificationList", "sap.m.NotificationListBase", "sap.m.NotificationListItem", "sap.m.NotificationListGroup", "sap.m.PagingButton", "sap.m.PlanningCalendarLegend", "sap.m.ObjectAttribute", "sap.m.ObjectHeader", "sap.m.ObjectIdentifier", "sap.m.ObjectListItem", "sap.m.ObjectMarker", "sap.m.ObjectNumber", "sap.m.ObjectStatus", "sap.m.OverflowToolbar", "sap.m.OverflowToolbarButton", "sap.m.OverflowToolbarToggleButton", "sap.m.OverflowToolbarMenuButton", "sap.m.P13nColumnsPanel", "sap.m.P13nGroupPanel", "sap.m.P13nSelectionPanel", "sap.m.P13nDimMeasurePanel", "sap.m.P13nConditionPanel", "sap.m.P13nDialog", "sap.m.P13nFilterPanel", "sap.m.P13nPanel", "sap.m.P13nSortPanel", "sap.m.Page", "sap.m.Panel", "sap.m.PDFViewer", "sap.m.PlanningCalendar", "sap.m.PlanningCalendarHeader", "sap.m.Popover", "sap.m.ProgressIndicator", "sap.m.PullToRefresh", "sap.m.QuickView", "sap.m.QuickViewBase", "sap.m.QuickViewCard", "sap.m.QuickViewPage", "sap.m.RadioButton", "sap.m.RadioButtonGroup", "sap.m.RangeSlider", "sap.m.RatingIndicator", "sap.m.ResponsivePopover", "sap.m.ScrollContainer", "sap.m.SearchField", "sap.m.SegmentedButton", "sap.m.Select", "sap.m.SelectDialog", "sap.m.SelectDialogBase", "sap.m.SelectList", "sap.m.SelectionDetails", "sap.m.Shell", "sap.m.SimpleFixFlex", "sap.m.SinglePlanningCalendar", "sap.m.SinglePlanningCalendarGrid", "sap.m.SinglePlanningCalendarMonthGrid", "sap.m.Slider", "sap.m.SliderTooltip", "sap.m.SliderTooltipBase", "sap.m.SliderTooltipContainer", "sap.m.SlideTile", "sap.m.StepInput", "sap.m.SplitApp", "sap.m.SplitContainer", "sap.m.StandardListItem", "sap.m.StandardTreeItem", "sap.m.StandardTile", "sap.m.Switch", "sap.m.Table", "sap.m.TableSelectDialog", "sap.m.TabContainer", "sap.m.TabStrip", "sap.m.Text", "sap.m.TextArea", "sap.m.Tile", "sap.m.TileContainer", "sap.m.TileContent", "sap.m.TimePicker", "sap.m.TimePickerInputs", "sap.m.TimePickerClock", "sap.m.TimePickerClocks", "sap.m.TimePickerSliders", "sap.m.Title", "sap.m.ToggleButton", "sap.m.Token", "sap.m.Tokenizer", "sap.m.Toolbar", "sap.m.ToolbarSpacer", "sap.m.ToolbarSeparator", "sap.m.Tree", "sap.m.TreeItemBase", "sap.m.UploadCollection", "sap.m.UploadCollectionToolbarPlaceholder", "sap.m.upload.UploadSet", "sap.m.upload.UploadSetToolbarPlaceholder", "sap.m.upload.UploadSetTable", "sap.m.upload.UploadSetTableItem", "sap.m.VariantManagement", "sap.m.VBox", "sap.m.ViewSettingsDialog", "sap.m.WheelSlider", "sap.m.WheelSliderContainer", "sap.m.Wizard", "sap.m.WizardStep", "sap.m.semantic.DetailPage", "sap.m.semantic.SemanticPage", "sap.m.semantic.ShareMenuPage", "sap.m.semantic.FullscreenPage", "sap.m.semantic.MasterPage", "sap.m.p13n.AbstractContainer", "sap.m.p13n.BasePanel", "sap.m.p13n.Container", "sap.m.p13n.GroupPanel", "sap.m.p13n.QueryPanel", "sap.m.p13n.SelectionPanel", "sap.m.p13n.SortPanel", "sap.m.p13n.Popup", "sap.m.table.columnmenu.Menu" ], elements: [ "sap.m.BadgeCustomData", "sap.m.CarouselLayout", "sap.m.Column", "sap.m.ColumnPopoverActionItem", "sap.m.ColumnPopoverCustomItem", "sap.m.ColumnPopoverItem", "sap.m.ColumnPopoverSortItem", "sap.m.DynamicDateOption", "sap.m.DynamicDateValueHelpUIType", "sap.m.FlexItemData", "sap.m.FeedListItemAction", "sap.m.IconTabFilter", "sap.m.IconTabSeparator", "sap.m.ImageCustomData", "sap.m.LightBoxItem", "sap.m.OverflowToolbarLayoutData", "sap.m.MaskInputRule", "sap.m.MenuItem", "sap.m.MessageItem", "sap.m.MessagePopoverItem", "sap.m.PageAccessibleLandmarkInfo", "sap.m.P13nFilterItem", "sap.m.P13nItem", "sap.m.PlanningCalendarRow", "sap.m.PlanningCalendarView", "sap.m.P13nColumnsItem", "sap.m.P13nDimMeasureItem", "sap.m.P13nGroupItem", "sap.m.P13nSortItem", "sap.m.QuickViewGroup", "sap.m.QuickViewGroupElement", "sap.m.ResponsiveScale", "sap.m.SegmentedButtonItem", "sap.m.SelectionDetailsItem", "sap.m.SelectionDetailsItemLine", "sap.m.SinglePlanningCalendarDayView", "sap.m.SinglePlanningCalendarMonthView", "sap.m.SinglePlanningCalendarWeekView", "sap.m.SinglePlanningCalendarWorkWeekView", "sap.m.SinglePlanningCalendarView", "sap.m.StandardDynamicDateOption", "sap.m.SuggestionItem", "sap.m.TabContainerItem", "sap.m.TabStripItem", "sap.m.ToolbarLayoutData", "sap.m.UploadCollectionItem", "sap.m.UploadCollectionParameter", "sap.m.upload.FilePreviewDialog", "sap.m.upload.Uploader", "sap.m.upload.UploaderTableItem", "sap.m.upload.UploadSetItem", "sap.m.VariantItem", "sap.m.ViewSettingsCustomItem", "sap.m.ViewSettingsCustomTab", "sap.m.ViewSettingsFilterItem", "sap.m.ViewSettingsItem", "sap.m.plugins.CellSelector", "sap.m.plugins.ColumnResizer", "sap.m.plugins.CopyProvider", "sap.m.plugins.DataStateIndicator", "sap.m.plugins.PasteProvider", "sap.m.plugins.PluginBase", "sap.m.p13n.AbstractContainerItem", "sap.m.semantic.AddAction", "sap.m.semantic.CancelAction", "sap.m.semantic.DeleteAction", "sap.m.semantic.DiscussInJamAction", "sap.m.semantic.EditAction", "sap.m.semantic.FavoriteAction", "sap.m.semantic.FilterAction", "sap.m.semantic.FilterSelect", "sap.m.semantic.FlagAction", "sap.m.semantic.ForwardAction", "sap.m.semantic.GroupAction", "sap.m.semantic.GroupSelect", "sap.m.semantic.MainAction", "sap.m.semantic.MessagesIndicator", "sap.m.semantic.MultiSelectAction", "sap.m.semantic.NegativeAction", "sap.m.semantic.OpenInAction", "sap.m.semantic.PositiveAction", "sap.m.semantic.PrintAction", "sap.m.semantic.SaveAction", "sap.m.semantic.SemanticButton", "sap.m.semantic.SemanticControl", "sap.m.semantic.SemanticSelect", "sap.m.semantic.SemanticToggleButton", "sap.m.semantic.SendEmailAction", "sap.m.semantic.SendMessageAction", "sap.m.semantic.ShareInJamAction", "sap.m.semantic.SortAction", "sap.m.semantic.SortSelect", "sap.m.table.columnmenu.Entry", "sap.m.table.columnmenu.ActionItem", "sap.m.table.columnmenu.Item", "sap.m.table.columnmenu.ItemBase", "sap.m.table.columnmenu.QuickAction", "sap.m.table.columnmenu.QuickActionBase" ], extensions: { flChangeHandlers: { "sap.m.ActionSheet": { "moveControls": "default" }, "sap.m.Avatar": "sap/m/flexibility/Avatar", "sap.m.Bar": "sap/m/flexibility/Bar", "sap.m.Button": "sap/m/flexibility/Button", "sap.m.CheckBox": "sap/m/flexibility/CheckBox", "sap.m.ColumnListItem": { "hideControl": "default", "unhideControl": "default" }, "sap.m.CustomListItem": { "hideControl": "default", "unhideControl": "default", "moveControls": "default" }, "sap.m.DatePicker": { "hideControl": "default", "unhideControl": "default" }, "sap.m.Dialog": "sap/m/flexibility/Dialog", "sap.m.ExpandableText": "sap/m/flexibility/ExpandableText", "sap.m.FlexBox": { "hideControl": "default", "unhideControl": "default", "moveControls": "default" }, "sap.m.HBox": { "hideControl": "default", "unhideControl": "default", "moveControls": "default" }, "sap.m.IconTabBar": "sap/m/flexibility/IconTabBar", "sap.m.IconTabFilter": "sap/m/flexibility/IconTabFilter", "sap.m.Image": { "hideControl": "default", "unhideControl": "default" }, "sap.m.Input": { "hideControl": "default", "unhideControl": "default" }, "sap.m.InputBase": { "hideControl": "default", "unhideControl": "default" }, "sap.m.InputListItem": "sap/m/flexibility/InputListItem", "sap.m.Label": "sap/m/flexibility/Label", "sap.m.MultiInput": { "hideControl": "default", "unhideControl": "default" }, "sap.m.ListItemBase": { "hideControl": "default", "unhideControl": "default" }, "sap.m.Link": "sap/m/flexibility/Link", "sap.m.List": { "hideControl": "default", "unhideControl": "default", "moveControls": "default" }, "sap.m.ListBase": { "hideControl": "default", "unhideControl": "default", "moveControls": "default" }, "sap.m.MaskInput": { "hideControl": "default", "unhideControl": "default" }, "sap.m.MenuButton": "sap/m/flexibility/MenuButton", "sap.m.OverflowToolbar":"sap/m/flexibility/OverflowToolbar", "sap.m.OverflowToolbarButton": "sap/m/flexibility/OverflowToolbarButton", "sap.m.Page": "sap/m/flexibility/Page", "sap.m.Panel": "sap/m/flexibility/Panel", "sap.m.Popover": "sap/m/flexibility/Popover", "sap.m.RadioButton": "sap/m/flexibility/RadioButton", "sap.m.RatingIndicator": { "hideControl": "default", "unhideControl": "default" }, "sap.m.RangeSlider": { "hideControl": "default", "unhideControl": "default" }, "sap.m.ScrollContainer": { "hideControl": "default", "moveControls": "default", "unhideControl": "default" }, "sap.m.Slider": { "hideControl": "default", "unhideControl": "default" }, "sap.m.StandardListItem":"sap/m/flexibility/StandardListItem", "sap.m.Table": "sap/m/flexibility/Table", "sap.m.Column": { "hideControl": "default", "unhideControl": "default" }, "sap.m.Text": "sap/m/flexibility/Text", "sap.m.Title": "sap/m/flexibility/Title", "sap.m.Toolbar": "sap/m/flexibility/Toolbar", "sap.m.VBox": { "hideControl": "default", "unhideControl": "default", "moveControls": "default" }, "sap.m.ObjectHeader": { "moveControls": "default" } }, //Configuration used for rule loading of Support Assistant "sap.ui.support": { publicRules:true, internalRules:true } } }); thisLib.upload = thisLib.upload || {}; thisLib.upload.UploaderHttpRequestMethod = UploaderHttpRequestMethod; /** * Available Background Design. * * @enum {string} * @public */ thisLib.BackgroundDesign = { /** * A solid background color dependent on the theme. * @public */ Solid : "Solid", /** * Transparent background. * @public */ Transparent : "Transparent", /** * A translucent background depending on the opacity value of the theme. * @public */ Translucent : "Translucent" }; /** * Types of state of {@link sap.m.BadgeEnabler} to expose its current state. * * @enum {string} * @public * @since 1.81 */ thisLib.BadgeState = { /** * Informing interested parties that the badge has been updated. * @public */ Updated : "Updated", /** * Informing interested parties that the badge has appeared. * @public */ Appear : "Appear", /** * Informing interested parties that the badge has disappeared. * @public */ Disappear : "Disappear" }; /** * Types of animation performed by {@link sap.m.BadgeEnabler}. * * @enum {string} * @public * @since 1.87 */ thisLib.BadgeAnimationType = { /** * Badge indicator will perform Appear,Update,and Disappear animation. * @public */ Full : "Full", /** * Badge indicator will perform only Update animation (suitable for controls, which invalidate often). * @public */ Update : "Update", /** * No animation is performed. * @public */ None : "None" }; /** * Modes in which a control will render empty indicator if its content is empty. * * @enum {string} * @public * @since 1.87 */ thisLib.EmptyIndicatorMode = { /** * Empty indicator is rendered always when the control's content is empty. * @public */ On : "On", /** * Empty indicator is never rendered. * @public */ Off : "Off", /** * Empty indicator will be rendered depending on the context in which the control is placed. * If one of the parents has the context class sapMShowEmpty-CTX then the empty indicator will be shown. * @public */ Auto : "Auto" }; /** * Types of badge rendering style. * * @enum {string} * @private */ thisLib.BadgeStyle = { /** * Default style. Use for badges which contain text or numbers. * * @private */ Default: "Default", /** * Attention style. This badge is rendered as a single dot meant to grab attention. * * @private */ Attention: "Attention" }; /** * Types of the Bar design. * * @enum {string} * @public * @since 1.20 */ thisLib.BarDesign = { /** * The Bar can be inserted into other controls and if the design is "Auto" then it inherits the design from parent control. * @public */ Auto : "Auto", /** * The bar will be styled like a header of the page. * @public */ Header : "Header", /** * The bar will be styled like a subheader of the page. * @public */ SubHeader : "SubHeader", /** * The bar will be styled like a footer of the page. * @public */ Footer : "Footer" }; /** * Available Border Design. * * @enum {string} * @public */ thisLib.BorderDesign = { /** * A solid border color dependent on the theme. * @public */ Solid : "Solid", /** * Specifies no border. * @public */ None : "None" }; /** * Variations of the {@link sap.m.Breadcrumbs} separators. * * @enum {string} * @public * @since 1.69 */ thisLib.BreadcrumbsSeparatorStyle = { /** * The separator will appear as "/" * @public */ Slash: "Slash", /** * The separator will appear as "\" * @public */ BackSlash: "BackSlash", /** * The separator will appear as "//" * @public */ DoubleSlash: "DoubleSlash", /** * The separator will appear as "\\" * @public */ DoubleBackSlash: "DoubleBackSlash", /** * The separator will appear as ">" * @public */ GreaterThan: "GreaterThan", /** * The separator will appear as ">>" * @public */ DoubleGreaterThan: "DoubleGreaterThan" }; /** * Different predefined button types for the {@link sap.m.Button sap.m.Button}. * * @enum {string} * @public */ thisLib.ButtonType = { /** * Default type (no special styling) * @public */ Default : "Default", /** * Back type (back navigation button for header) * @public */ Back : "Back", /** * Accept type * @public */ Accept : "Accept", /** * Reject style * @public */ Reject : "Reject", /** * Transparent type * @public */ Transparent : "Transparent", /** * Ghost type * @public */ Ghost : "Ghost", /** * Up type (up navigation button for header) * @public */ Up : "Up", /** * Unstyled type (no styling) * @public */ Unstyled : "Unstyled", /** * Emphasized type * @public */ Emphasized : "Emphasized", /** * Critical type * * <b>Note:</b> To be used only in controls of type <code>sap.m.Button</code>. When the * button opens a <code>sap.m.MessagePopover</code> list, use this <code>ButtonType</code> * if the message with the highest severity is <code>Warning</code> type. * * @public * @since 1.73 */ Critical : "Critical", /** * Negative type * * <b>Note:</b> To be used only in controls of type <code>sap.m.Button</code>. When the * button opens a <code>sap.m.MessagePopover</code> list, use this <code>ButtonType</code> * if the message with the highest severity is <code>Error</code> type. * * @public * @since 1.73 */ Negative : "Negative", /** * Success type * * <b>Note:</b> To be used only in controls of type <code>sap.m.Button</code>. When the * button opens a <code>sap.m.MessagePopover</code> list, use this <code>ButtonType</code> * if the message with the highest severity is <code>Success</code> type. * * @public * @since 1.73 */ Success : "Success", /** * Neutral type * * <b>Note:</b> To be used only in controls of type <code>sap.m.Button</code>. When the * button opens a <code>sap.m.MessagePopover</code> list, use this <code>ButtonType</code> * if the message with the highest severity is <code>Information</code> type. * * @public * @since 1.73 */ Neutral : "Neutral", /** * Attention type * * @public * @since 1.77 */ Attention : "Attention" }; /** * Different predefined accessibility types for the {@link sap.m.Button}. * * @enum {string} * @private */ thisLib.ButtonAccessibilityType = { /** * Default type * * @private */ Default: "Default", /** * Labelled type * * @private */ Labelled: "Labelled", /** * Described type * * @private */ Described: "Described", /** * Combined type * * @private */ Combined: "Combined" }; /** * Carousel arrows align. * * @enum {string} * @public */ thisLib.CarouselArrowsPlacement = { /** * Carousel arrows are placed on the sides of the current Carousel page. * @public */ Content : "Content", /** * Carousel arrows are placed on the sides of the page indicator of the Carousel. * @public */ PageIndicator : "PageIndicator" }; /** * A list of the default built-in views in a {@link sap.m.PlanningCalendar}, described by their keys. * * @enum {string} * @public * @since 1.50 */ thisLib.PlanningCalendarBuiltInView = { /** * Represents the key of the built-in view, in which the intervals have the size of one hour. * @public */ Hour : "Hour", /** * Represents the key of the built-in view, in which the intervals have the size of one day. * @public */ Day : "Day", /** * Represents the key of the built-in view, in which the intervals have the size of one month. * @public */ Month : "Month", /** * Represents the key of the built-in view, in which the intervals have the size of one day * where 7 days are displayed, starting with the first day of the week. * @public */ Week : "Week", /** * Represents the key of the built-in view, in which the intervals have the size of one day * where 31 days are displayed, starting with the first day of the month. * @public */ OneMonth : "One Month" }; /** * A subset of DateTimeInput types that fit to a simple API returning one string. * * @enum {string} * @public * @deprecated Since version 1.32.8. Instead, use dedicated <code>sap.m.DatePicker</code> and/or <code>sap.m.TimePicker</code> controls. */ thisLib.DateTimeInputType = { /** * An input control for specifying a date value. The user can select a month, day of the month, and year. * @public * @deprecated Since version 1.22.0. Instead, use dedicated <code>sap.m.DatePicker</code> control. */ Date : "Date", /** * An input control for specifying a date and time value. The user can select a month, day of the month, year, and time of day. * @public * @deprecated Since version 1.32.8. Instead, use dedicated <code>sap.m.DatePicker</code> and <code>sap.m.TimePicker</code> controls. */ DateTime : "DateTime", /** * An input control for specifying a time value. The user can select the hour, minute, and optionally AM or PM. * @public * @deprecated Since version 1.32.8. Instead, use dedicated <code>sap.m.TimePicker</code> control. */ Time : "Time" }; /** * Enum for the type of {@link sap.m.Dialog} control. * * @enum {string} * @public */ thisLib.DialogType = { /** * This is the default value for Dialog type. * * The Standard Dialog in iOS has a header on the top. The Left and the Right buttons are put inside the header. * In Android, the Left and the Right buttons are put at the bottom of the Dialog. * @public */ Standard : "Standard", /** * Dialog with type Message looks the same as the Standard Dialog in Android. * It puts the Left and the Right buttons at the bottom of the Dialog in iOS. * @public */ Message : "Message" }; /** * Enum for the ARIA role of {@link sap.m.Dialog} control. * * @enum {string} * @since 1.65 * @public */ thisLib.DialogRoleType = { /** * Represents the ARIA role <code>dialog</code>. * @public */ Dialog : "dialog", /** * Represents the ARIA role <code>alertdialog</code>. * @public */ AlertDialog : "alertdialog" }; /** * Enum of the available deviation markers for the NumericContent control. * * @enum {string} * @public * @since 1.34 */ thisLib.DeviationIndicator = { /** * The actual value is more than the target value. * @public */ Up : "Up", /** * The actual value is less than the target value. * @public */ Down : "Down", /** * No value. * @public */ None : "None" }; /** * Enum for the state of {@link sap.m.DraftIndicator} control. * * @enum {string} * @public */ thisLib.DraftIndicatorState = { /** * This is the default value for DraftIndicatorState type. This state has no visual information displayed. * @public */ Clear: "Clear", /** * Indicates that the draft currently is being saved * @public */ Saving: "Saving", /** * Indicates that the draft is already saved * @public */ Saved: "Saved" }; /** * @typedef {object} sap.m.DynamicDateRangeValue * @description Defines the <code>value</code> property of the DynamicDateRange control. * The object has two properties: * 'operator' - a string, the key of a DynamicDateOption * 'values' - an array of parameters for the same option * see {@link sap.m.DynamicDateRange} * * @property {string} operator * The key of a DynamicDateOption. * @property {Array<Date|int|string|any>} values * An array of parameters for the same option. * * @public * @since 1.111 */ /** * FacetFilterList data types. * * @enum {string} * @public */ thisLib.FacetFilterListDataType = { /** * An input control for specifying a date value. The user can select a month, day of the month, and year. * @public */ Date : "Date", /** * An input control for specifying a date and time value. The user can select a month, day of the month, year, and time of day. * @public */ DateTime : "DateTime", /** * An input control for specifying a time value. The user can select the hour, minute, and optionally AM or PM. * @public */ Time : "Time", /** * >An input control for specifying an Integer value * @public */ Integer : "Integer", /** * An input control for specifying a Float value * @public */ Float : "Float", /** * An input control for specifying a String value * @public */ String : "String", /** * An input control for specifying a Boolean value * @public */ Boolean : "Boolean" }; /** * Used by the FacetFilter control to adapt its design according to type. * * @enum {string} * @public */ thisLib.FacetFilterType = { /** * Forces FacetFilter to display facet lists as a row of buttons, one button per facet. * * The FacetFilter will automatically adapt to the Light type when it detects smart phone sized displays. * @public */ Simple : "Simple", /** * Forces FacetFilter to display in light mode. * @public */ Light : "Light" }; /** * Available options for the layout of all elements along the cross axis of the flexbox layout. * * @enum {string} * @public */ thisLib.FlexAlignItems = { /** * The cross-start margin edges of the flex items are placed flush with the cross-start edge of the line. * @public */ Start : "Start", /** * The cross-start margin edges of the flex items are placed flush with the cross-end edge of the line. * @public */ End : "End", /** * The flex item's margin boxes are centered in the cross axis within the line. * @public */ Center : "Center", /** * If the flex item`s inline axes are the same as the cross axis, this value is identical to "Start". * * Otherwise, it participates in baseline alignment: all participating box items on the line are aligned * such that their baselines align, and the item with the largest distance between its baseline and * its cross-start margin edge is placed flush against the cross-start edge of the line. * @public */ Baseline : "Baseline", /** * Make the cross size of the item's margin boxes as close to the same size as the line as possible. * @public */ Stretch : "Stretch", /** * Inherits the value from its parent. * @public */ Inherit : "Inherit" }; /** * Available options for the layout of individual elements along the cross axis of the flexbox layout overriding the default alignment. * * @enum {string} * @public */ thisLib.FlexAlignSelf = { /** * Takes up the value of alignItems from the parent FlexBox * @public */ Auto : "Auto", /** * The cross-start margin edges of the flex item is placed flush with the cross-start edge of the line. * @public */ Start : "Start", /** * The cross-start margin edges of the flex item is placed flush with the cross-end edge of the line. * @public */ End : "End", /** * The flex item's margin box is centered in the cross axis within the line. * @public */ Center : "Center", /** * If the flex item's inline axis is the same as the cross axis, this value is identical to "Start". * * Otherwise, it participates in baseline alignment: all participating box items on the line are aligned * such that their baselines align, and the item with the largest distance between its baseline and * its cross-start margin edge is placed flush against the cross-start edge of the line. * @public */ Baseline : "Baseline", /** * Make the cross size of the item's margin box as close to the same size as the line as possible. * @public */ Stretch : "Stretch", /** * Inherits the value from its parent. * @public */ Inherit : "Inherit" }; /** * Available directions for flex layouts. * * @enum {string} * @public */ thisLib.FlexDirection = { /** * Flex items are laid out along the direction of the inline axis (text direction). * @public */ Row : "Row", /** * Flex items are laid out along the direction of the block axis (usually top to bottom). * @public */ Column : "Column", /** * Flex items are laid out along the reverse direction of the inline axis (against the text direction). * @public */ RowReverse : "RowReverse", /** * Flex items are laid out along the reverse direction of the block axis (usually bottom to top). * @public */ ColumnReverse : "ColumnReverse", /** * Inherits the value from its parent. * @public */ Inherit : "Inherit" }; /** * Available options for the layout of elements along the main axis of the flexbox layout. * * @enum {string} * @public */ thisLib.FlexJustifyContent = { /** * Flex items are packed toward the start of the line. * @public */ Start : "Start", /** * Flex items are packed toward the end of the line. * @public */ End : "End", /** * Flex items are packed toward the center of the line. * @public */ Center : "Center", /** * Flex items are evenly distributed in the line. * @public */ SpaceBetween : "SpaceBetween", /** * Flex items are evenly distributed in the line, with half-size spaces on either end. * @public */ SpaceAround : "SpaceAround", /** * Inherits the value from its parent. * @public */ Inherit : "Inherit" }; /** * Available options for the wrapping behavior of a flex container. * * @enum {string} * @public */ thisLib.FlexWrap = { /** * The flex container is single-line. * @public */ NoWrap : "NoWrap", /** * The flex container is multi-line. * @public */ Wrap : "Wrap", /** * The flex container is multi-line with the cross-axis start and end being swapped. * @public */ WrapReverse : "WrapReverse" }; /** * Available options for the layout of container lines along the cross axis of the flexbox layout. * @enum {string} * @public */ thisLib.FlexAlignContent = { /** * Lines are packed toward the start of the line. * @public */ Start : "Start", /** * Lines are packed toward the end of the line. * @public */ End : "End", /** * Line are packed toward the center of the line. * @public */ Center : "Center", /** * Lines are evenly distributed in the line. * @public */ SpaceBetween : "SpaceBetween", /** * Lines are evenly distributed in the line, with half-size spaces on either end. * @public */ SpaceAround : "SpaceAround", /** * Lines stretch to take up the remaining space. * @public */ Stretch : "Stretch", /** * Inherits the value from its parent. * @public */ Inherit : "Inherit" }; /** * Determines the type of HTML elements used for rendering controls. * * @enum {string} * @public */ thisLib.FlexRendertype = { /** * The UI5 controls are wrapped in DIV elements. * @public */ Div : "Div", /** * The UI5 controls are wrapped in LI elements, the surrounding Flex Box is an unordered list (UL). * @public */ List : "List", /** * The UI5 controls are not wrapped in an additional HTML element, the surrounding Flex Box is a DIV element. * @public * @since 1.42.1 */ Bare : "Bare" }; /** * Enum for possible frame size types for sap.m.TileContent and sap.m.GenericTile control. * * @enum {string} * @public * @since 1.34.0 */ thisLib.FrameType = { /** * The 2x2 frame type. * @public */ OneByOne : "OneByOne", /** * The 4x2 frame type. * @public */ TwoByOne : "TwoByOne", /** * The 2/3 frame type. * @deprecated since 1.48.0 * @protected */ TwoThirds : "TwoThirds", /** * The Auto frame type that adjusts the size of the control to the content. * Support for this type in sap.m.GenericTile is deprecated since 1.48.0. * @protected */ Auto : "Auto", /** * The 4x1 frame type. * <b>Note:</b> The 4x1 frame type is currently only supported for Generic tile. * @public * @since 1.83 */ TwoByHalf: "TwoByHalf", /** * The 2x1 frame type. * <b>Note:</b> The 2x1 frame type is currently only supported for Generic tile. * @public * @since 1.83 */ OneByHalf: "OneByHalf", /** * The Stretch frame type adjusts the size of the control to the parent. * @since 1.96 * @experimental */ Stretch: "Stretch" }; /** * Enumeration for possible link-to-anchor conversion strategy. * * @enum {string} * @public * @since 1.45.5 */ thisLib.LinkConversion = { /** * Default mode (no conversion). * @public */ None: "None", /** * Valid links with protocols, such as http, https, ftp. * @public */ ProtocolOnly: "ProtocolOnly", /** * Valid links with protocols, such as http, https, ftp and those starting with the string "www". * @public */ All: "All" }; /** * Enumeration for possible Link accessibility roles. * * @enum {string} * @public * @since 1.104.0 */ thisLib.LinkAccessibleRole = { /** * Default mode. * @public */ Default: "Default", /** * Link will receive <code>role="Button"</code> attibute. * @public */ Button: "Button" }; /** * Enumeration for possible Button accessibility roles. * * @enum {string} * @public * @since 1.114.0 */ thisLib.ButtonAccessibleRole = { /** * Default mode. * @public */ Default: "Default", /** * Button will receive <code>role="Link"</code> attibute. * @public */ Link: "Link" }; /** * Defines how the input display text should be formatted. * * @enum {string} * @public * @since 1.44.0 */ thisLib.InputTextFormatMode = { /** * Text * @public */ Value: "Value", /** * Key * @public */ Key: "Key", /** * A value-key pair formatted like "text (key)" * @public */ ValueKey: "ValueKey", /** * A key-value pair formatted like "(key) text" * @public */ KeyValue: "KeyValue" }; /** * Design modes for the <code>GenericTag</code> control. * * @enum {string} * @public * @since 1.62.0 */ thisLib.GenericTagDesign = { /** * Everything from the control is rendered. * @public */ Full : "Full", /** * Everything from the control is rendered except the status icon. * @public */ StatusIconHidden : "StatusIconHidden" }; /** * Value states for the <code>GenericTag</code> control. * * @enum {string} * @public * @since 1.62.0 */ thisLib.GenericTagValueState = { /** * The value is rendered in its normal state. * @public */ None : "None", /** * Warning icon is rendered that overrides the control set in the <code>value</code> * aggregation of the <code>GenericTag</code> control. * @public */ Error : "Error" }; /** * Defines the mode of GenericTile. * * @enum {string} * @public * @since 1.38.0 */ thisLib.GenericTileMode = { /** * Default mode (Two lines for the header and one line for the subtitle). * @public */ ContentMode : "ContentMode", /** * Header mode (Four lines for the header and one line for the subtitle). * @public */ HeaderMode : "HeaderMode", /** * Action Mode (Two lines for the header). * * Generic Tile renders buttons that are specified under 'actionButtons' aggregation * @public * @experimental since 1.96 */ ActionMode: "ActionMode", /** * Article Mode (Two lines for the header and one line for the subtitle). * * Enables Article Mode. * @public * @experimental since 1.96 */ ArticleMode: "ArticleMode", /** * Line mode (Implemented for both, cozy and compact densities). * * Generic Tile is displayed as in-line element, header and subheader are displayed in one line. * In case the texts need more than one line, the representation depends on the used density. * <b>Cozy:</b> The text will be truncated and the full text is shown in a tooltip as soon as the tile is hovered (desktop only). * <b>Compact:</b> Header and subheader are rendered continuously spanning multiple lines, no tooltip is provided). * @since 1.44.0 * @public */ LineMode : "LineMode", /** * Icon mode. * * GenericTile displays a combination of icon and header title. * * It is applicable only for the OneByOne FrameType and TwoByHalf FrameType. * @public * @since 1.96 * @experimental Since 1.96 */ IconMode : "IconMode" }; /** * Defines the priority for the TileContent in ActionMode * * @enum {string} * @public */ thisLib.Priority = { /** * It displays very high priority color for the GenericTag * @public */ VeryHigh : "VeryHigh", /** * It displays high priority color for the GenericTag * @public */ High : "High", /** * It displays medium priority color for the GenericTag * @public */ Medium: "Medium", /** * It displays low priority color for the GenericTag * @public */ Low: "Low", /** *The priority is not set * @public */ None : "None" }; /** * Defines the scopes of GenericTile enabling the developer to implement different "flavors" of tiles. * * @enum {string} * @since 1.46.0 * @public */ thisLib.GenericTileScope = { /** * Default scope (The default scope of the tile, no action icons are rendered). * @public */ Display: "Display", /** * Action scope (Possible footer and Error State information is overlaid, "Remove" and "More" icons are added to the tile). * @public */ Actions: "Actions", /** * More action scope (Only the More icon is added to the tile) * @since 1.76 * @public */ ActionMore: "ActionMore", /** * Remove action scope (Only the Remove icon is added to the tile) * @since 1.76 * @public */ ActionRemove: "ActionRemove" }; /** * Specifies <code>IconTabBar</code> tab overflow mode. * @enum {string} * @since 1.90.0 * @public */ thisLib.TabsOverflowMode = { /** * Default behavior: One overflow tab at the end of the header. * @public */ End: "End", /** * Two overflow tabs at both ends of the header to keep tabs order intact. * @public */ StartAndEnd: "StartAndEnd" }; /** * Describes the behavior of tiles when displayed on a small-screened phone (374px wide and lower). * * @enum {string} * @since 1.56.0 * @public */ thisLib.TileSizeBehavior = { /** * Default behavior: Tiles adapt to the size of the screen, getting smaller on small screens. * @public */ Responsive: "Responsive", /** * Tiles are small all the time, regardless of the actual screen size. * @public */ Small: "Small" }; /** * Different levels for headers. * * @enum {string} * @public */ thisLib.HeaderLevel = { /** * Header level 1 * @public */ H1 : "H1", /** * Header level 2 * @public */ H2 : "H2", /** * Header level 3 * @public */ H3 : "H3", /** * Header level 4 * @public */ H4 : "H4", /** * Header level 5 * @public */ H5 : "H5", /** * Header level 6 * @public */ H6 : "H6" }; /** * * Interface for controls which are suitable as a Header, Subheader or Footer of a Page. * If the control does not want to get a context base style class, it has to implement the isContextSensitive method and return false * * * @since 1.22 * @name sap.m.IBar * @interface * @public */ /** * Interface for controls which implement the notification badge concept. * * @since 1.80 * @name sap.m.IBadge * @interface * @public */ /** * Interface for controls which have the meaning of a breadcrumbs navigation. * * @since 1.52 * @name sap.m.IBreadcrumbs * @interface * @public */ /** * * Interface for controls which are suitable as a Scale for the Slider/RangeSlider. * Implementation of this interface should implement the following methods: * <ul> * <li><code>getTickmarksBetweenLabels</code></li> * <li><code>calcNumberOfTickmarks</code></li> * <li><code>handleResize</code></li> * <li><code>getLabel</code></li> * </ul> * * @since 1.46 * @name sap.m.IScale * @interface * @public */ /** * Returns the number of tickmarks, which should be placed between labels. * * @returns {int} The number of tickmarks * * @function * @name sap.m.IScale.getTickmarksBetweenLabels * @public */ /** * Returns how many tickmarks would be drawn on the screen. The start and the end tickmark should be specified in this method. * * @param {float} fSize - Size of the scale. This is the distance between the start and end point i.e. 0..100 * @param {float} fStep - The step walking from start to end. * @param {int} iTickmarksThreshold - Limits the number of tickmarks. * @returns {int} The number of tickmarks * * @function * @name sap.m.IScale.calcNumberOfTickmarks * @public */ /** * Called, when the slider is getting resized. * * The Slider/RangeSlider control could be accessed via the oEvent.control parameter. * * Implementing this method is optional. * * @param {jQuery.Event} oEvent The event object passed. * * @function * @name sap.m.IScale.handleResize? * @public */ /** * Provides a custom tickmark label. * * This method is optional. If it is not provided, the slider values will be placed as labels. * If provided, the value of the tickmark labels and accessibility attributes * (aria-valuenow and aria-valuetext) of the slider are changed accordingly. * * @param {float} fValue Value represented by the tickmark * @param {sap.m.Slider|sap.m.RangeSlider} oSlider Slider control that asks for a label * @returns {string | number} The label that should be placed in the current position. * * @function * @name sap.m.IScale.getLabel? * @public */ /** * Allowed tags for the implementation of the IBar interface. * * @enum {string} * @public * @since 1.22 */ thisLib.IBarHTMLTag = { /** * Renders as a div element. * @public */ Div : "Div", /** * Renders as a header element. * @public */ Header : "Header", /** * Renders as a footer element. * @public */ Footer : "Footer" }; /** * * Represents an interface for controls, which are suitable as items for the sap.m.IconTabBar. * * @name sap.m.IconTab * @interface * @public */ /** * Marker interface for controls which are suitable as items of the group aggregation of sap.m.Semantic.MasterPage. * * @name sap.m.semantic.IGroup * @interface * @public */ /** * Marker interface for controls which are suitable as items of the filter aggregation of sap.m.Semantic.MasterPage. * * @name sap.m.semantic.IFilter * @interface * @public */ /** * Marker interface for controls which are suitable as items of the sort aggregation of sap.m.Semantic.MasterPage. * * @name sap.m.semantic.ISort * @interface * @public */ /** * * Interface for controls which can have special behavior inside <code>sap.m.OverflowToolbar</code>. * Controls that implement this interface must provide a <code>getOverflowToolbarConfig</code> method * that accepts no arguments and returns an object of type <code>sap.m.OverflowToolbarConfig</code>. * * <b>Important:</b> In addition, the control can implement a CSS class, scoped with the <code>.sapMOverflowToolbarMenu-CTX</code> context selector, that will be applied whenever the control is inside the overflow menu. * For example, to make your control take up the whole width of the overflow menu, you can add a context class to your control's base CSS file like this: * * <pre> * .sapMOverflowToolbarMenu-CTX .sapMyControlClass { * width: 100%; * } * </pre> * * @since 1.52 * @name sap.m.IOverflowToolbarContent * @interface * @public */ /** * Marker interface for flexible controls that have a special behavior inside <code>sap.m.OverflowToolbar</code>. * * @since 1.67 * @name