@omnia/fx-models
Version:
Provide Omnia Fx Models Stuffs.
142 lines (141 loc) • 5.24 kB
TypeScript
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<AppInstanceTemplateFilter>;
}
export interface AppInstanceRollupBlockDisplaySettings {
selectedDisplayView: AppInstanceRollupViewRegistrationSettings;
showFollowStatus: boolean;
openInNewTab: boolean;
orderBy: OrderBy;
spacing?: SpacingSettings;
noResultText?: MultilingualString;
fixedHeader: boolean;
}
export interface AppInstanceRollupBlockFilterSettings {
filters: Array<RollupFilter>;
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<RollupEnums.PagingType>;
appDefinitionIds?: Array<GuidValue>;
}
export interface IAppInstanceRollupViewComponent {
settings: AppInstanceRollupBlockSettings;
items: Array<AppInstance>;
}
export interface IAppInstanceRollupViewSettingsComponent<T extends AppInstanceRollupViewComponentSettings> {
viewSettings: T;
selectableProperties: EnterprisePropertyDefinition[];
onUpdatedViewSettings?: (viewSettings: T) => void;
}
export interface AppInstanceRollupListViewSettings extends AppInstanceRollupViewComponentSettings {
columns: Array<AppInstanceRollupViewPropertySettings>;
}
export interface AppInstanceRollupCardViewSettings extends AppInstanceRollupViewComponentSettings {
descriptionProperty: string;
dateProperty: string;
personProperty: string;
termProperties: Array<AppInstanceRollupCardViewTermProperty>;
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<string>;
selectDynamicAppProperties: Array<string>;
}
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;
}