/*! * SAPUI5 * Copyright (c) 2025 SAP SE or an SAP affiliate company. All rights reserved. */ import Event from "sap/ui/base/Event"; /** * Result set */ export interface ResultSet { items: Array; } /** * Result set item */ export interface ResultSetItem { key: string; data: ResultSetItemData; title: string; selected: boolean; setSelected: (select: boolean) => void; selectionEnabled: boolean; setSelectionEnabled: (enable: boolean) => void; customItemStyleClass: string; setCustomItemStyleClass: (customItemStyleClass: string) => void; setAttributeData: (data: ResultSetItemAttributeChangeData) => void; } export interface ResultSetItemAttributeChangeData { attributeId: string; iconUrl?: string; tooltip?: string; value?: any; } export interface ResultSetItemData { attributes: Array; attributesMap: { [id: string]: ResultSetItemAttribute }; dataSource: DataSource; defaultNavigationTarget: NavigationTarget; detailAttributes: Array; navigationTargets: Array; titleAttributes: Array; titleDescriptionAttributes: Array; } export interface ResultSetItemAttribute { defaultNavigationTarget: NavigationTarget; id: string; isHighlighted: boolean; metadata: AttributeMetadata; navigationTargets: Array; value: string | number | boolean; valueFormatted: string; valueHighlighted: string; } export interface DataSource { id: string; label: string; labelPlural: string; } export interface NavigationTarget { text: string; tooltip: string; icon: string; target: string; targetUrl: string; targetFunction: (event: Event) => void; performNavigation: (obj: NavigationTarget) => void; } export interface AttributeMetadata { id: string; isKey: boolean; label: string; type: AttributeType; format: string; } export enum AttributeType { Double = "Double", Integer = "Integer", String = "String", ImageUrl = "ImageUrl", ImageBlob = "ImageBlob", Timestamp = "Timestamp", }