import { GuidValue, SpacingSettings, MultilingualString, IconPickerModel, MediaPickerVideo } from "@omnia/fx-models"; import { PageQuery, PageRollupEnums, PagingTypes, PageRollupUiFilter, PageItemNode, VideoType, PageRollupPropertyFilter } from "@omnia/wcm/models"; import { TargetingFilterProperty } from "@omnia/fx-sp/models"; export interface BlockDataWithSettingsAndData { settings: Settings; } export interface AdminInfoScreenViewSettings { selectProperties: Array; } export interface AdminInfoScreenBlockDataData { } export interface AdminInfoScreenBlockSettings { scope: PageRollupEnums.RollupScopes; excludeCurrentPage: boolean; resources: Array<{ id: string; filters?: Array; }>; itemLimit: number; priority: number; noResultText: MultilingualString; hideBlockWhenNoResult: boolean; trimDupplicates: boolean; pagingType: PagingTypes; selectedViewId: string; viewSettings: AdminInfoScreenViewSettings; uiFilters: Array; title: MultilingualString; likePeriod?: PageRollupEnums.DatePeriods; commentPeriod?: PageRollupEnums.DatePeriods; ratingPeriod?: PageRollupEnums.DatePeriods; feedbackPeriod?: PageRollupEnums.DatePeriods; sortBy?: string; sortDescending?: boolean; showCreateButton?: boolean; createButtonLabel: string; createButtonForPageCollectionId: string; showLink?: boolean; linkLabel?: MultilingualString; linkUrl?: string; openInNewTab?: boolean; spacing?: SpacingSettings; hideReadNews?: boolean; hideFilterByDefault: boolean; searchBoxOutlined: boolean; searchBoxRounded: boolean; searchBoxFilled: boolean; queryConfiguration?: { type: PageRollupEnums.QueryConfigurationType; pickInWriteMode: boolean; }; pickedPages?: Array; enableWildcardSearch?: boolean; } export interface InfoScreenQuery { itemQuery?: PageQuery; selectProperties?: string[]; settingsKey?: string; } export interface VideoData { id?: string; title?: string; data?: MediaPickerVideo; videoType?: VideoType; startTime?: number; endTime?: number; } export interface AdminInfoScreenBlockData extends BlockDataWithSettingsAndData { id?: GuidValue; title?: string; pageQuery?: InfoScreenQuery; videos?: Array; } export interface InfoScreenSettingsModel { businessProfileId?: GuidValue; wcmDnsMapping?: string; omniaCloudDnsMapping?: string; infoScreensData?: Array; } export interface InfoScreenRegistrationView { id: GuidValue; title: string; viewElement: string; settingsElement: string; supportClassicPaging?: boolean; supportScrollPaging?: boolean; } export interface AnnouncementLite { title?: string; description?: string; iconType: number; announcementType?: string; announcementColor?: string; announcementTextColor?: string; } export interface Announcement { id?: string; title?: MultilingualString; description?: MultilingualString; priority?: number; startDate?: Date; endDate?: Date; modifiedAt?: Date; order?: number; canClose?: boolean; canComment?: boolean; forceRedisplay?: boolean; announcementType?: AnnouncementType; announcementTypeId?: string; announcementStatus?: AnnouncementStatus; announcementStatusId?: string; businessProfileId?: GuidValue; targetingFilter?: TargetingFilterProperty; commentCount?: number; } export interface AnnouncementType { id: string; title: MultilingualString; properties?: string; businessProfileId?: GuidValue; info?: AnnouncementTypeInfo; } export interface AnnouncementTypeInfo { icon: IconPickerModel; } export interface AnnouncementStatus { id: string; title: MultilingualString; properties?: string; businessProfileId?: GuidValue; info?: AnnouncementStatusInfo; } export interface AnnouncementStatusInfo { color: string; textColor: string; } export interface PageDetailsQueryResultForInfoScreen { id?: number; pageCollectionId?: number; properties?: { [key: string]: any; }; propertyBag?: { [key: string]: any; }; isNew?: boolean; url?: string; visited?: boolean; type?: string; videoData?: VideoData; }