import { GuidValue, FilterEngineSettings, RollupMetricSettings } from "@omnia/fx-models"; import { EnterprisePropertyDefinition } from "../enterprise-properties/EnterpriseProperty"; import { AppInstanceScopedQueryTypes, PropertyIndexedType } from "../Enums"; import { MultilingualString } from "../MultilingualString"; import { OrderBy, RollupEnums, RollupFilter } from "../RollupQuery"; import { SpacingSettings } from "../SpacingSetting"; import { AppInstance, AppInstanceInfo, AppInstanceInfoUser, AppInstanceTemplateFilter } from "./App"; export declare class AppInstanceRollupConstants { static AppInstanceProperties: { Title: string; TitleAndLink: string; LastVisited: string; Description: string; Image: string; }; } export interface AppInstanceRollupBlockSettings extends RollupMetricSettings { title: MultilingualString; querySettings: AppInstanceRollupBlockQuerySettings; displaySettings: AppInstanceRollupBlockDisplaySettings; filterSettings: AppInstanceRollupBlockFilterSettings; filterEngine: FilterEngineSettings; pagingSettings: AppInstanceRollupPagingSettings; } export interface AppInstanceRollupBlockQuerySettings { queryScope: AppInstanceScopedQueryTypes; trimByRoleId?: GuidValue; useCurrentBusinessProfile: boolean; targetBusinessProfileId?: GuidValue; appTemplateFilters: Array; } export interface AppInstanceRollupBlockDisplaySettings { selectedDisplayView: AppInstanceRollupViewRegistrationSettings; showFollowStatus: boolean; openInNewTab: boolean; orderBy: OrderBy; spacing?: SpacingSettings; noResultText?: MultilingualString; fixedHeader: boolean; } export interface AppInstanceRollupBlockFilterSettings { filters: Array; enableWildcardSearch: boolean; searchBoxSettings: AppInstanceRollupSearchboxSettings; hideFilterByDefault: boolean; } export interface AppInstanceRollupViewRegistrationSettings { viewRegistrationId: GuidValue; resultRendererComponentId: GuidValue; viewSettings: AppInstanceRollupViewComponentSettings; } export interface AppInstanceRollupSearchboxSettings { searchKeyword: string; searchOnProperties: string[]; outlined: boolean; rounded: boolean; filled: boolean; } export interface AppInstanceRollupPagingSettings { pagingType: RollupEnums.PagingType; itemLimit: number; } export interface AppInstanceRollupViewRegistration { id: GuidValue; title: string; resultRendererComponentId: GuidValue; viewSettingsComponentId: GuidValue; pagingTypes: Array; appDefinitionIds?: Array; } export interface IAppInstanceRollupViewComponent { settings: AppInstanceRollupBlockSettings; items: Array; } export interface IAppInstanceRollupViewSettingsComponent { viewSettings: T; selectableProperties: EnterprisePropertyDefinition[]; onUpdatedViewSettings?: (viewSettings: T) => void; } export interface AppInstanceRollupListViewSettings extends AppInstanceRollupViewComponentSettings { columns: Array; } export interface AppInstanceRollupCardViewSettings extends AppInstanceRollupViewComponentSettings { descriptionProperty: string; dateProperty: string; personProperty: string; termProperties: Array; cardsPerRow: number; cardSpacing?: SpacingSettings; elevation: number; borderSettings?: AppInstanceRollupCardViewBorderSettings; staticTitleSize: boolean; titleSize: number; cardType: AppInstanceRollupCardViewTypes; cardSize: number; colorFul: boolean; mixCardSize: boolean; mixCardType: boolean; overlayOpacity: number; overlayColor: string; titleOnImageColor: string; } export interface AppInstanceRollupCardViewTermProperty { internalName: string; type: PropertyIndexedType; showLabel: boolean; } export declare enum AppInstanceRollupCardViewTypes { BackgroundImage = 1, TextImage = 2, TitleOnImage = 3, Mixed = 4, Text = 5 } export interface AppInstanceRollupCardViewBorderSettings { size: number; color: string; radius: number; } export interface AppInstanceRollupViewComponentSettings { selectEnterpriseProperties: Array; selectDynamicAppProperties: Array; } export interface IAppInstanceRollupViewRendererComponent { total: number; items: AppInstanceInfo[]; displaySettings: AppInstanceRollupBlockDisplaySettings; appInstanceUrlBuilder?: (appInstanceInfo: AppInstanceInfo) => string; navigateToAppInstance?: (appInstanceInfo: AppInstanceInfo) => void; onFollowAppInstanceClicked?: (appInstanceInfoUser: AppInstanceInfoUser) => void; } export interface AppInstanceRollupViewPropertySettings { propertyInternalName: string; propertyType?: PropertyIndexedType; width?: string; showHeading: boolean; } export interface AppInstanceRollupViewDateTimePropertySettings extends AppInstanceRollupViewPropertySettings { dateTimeMode: RollupEnums.DateTimeMode; format: string; }