/** * Engagement logger log data interface * @internal */ export interface IEngagementHandler { /** Engagement user action logging operation **/ logData(data: IEngagementData): void; } /** * Engagement handler log data action interface * Represents a subset of Engagement Event Stream fields. * Full list can be located at: `\odsp-utilities\src\local\logging\events\Engagement.event.json` * @internal */ export interface IEngagementData { /** name should follow `AppName.ControlName.ActionName` pattern **/ name: string; /** extraData is used to specify additional details regarding the action **/ extraData?: { [key: string]: any; }; /** used for tracking the site the user was on when the log was made **/ siteId?: string; /** used for tracking the web the user was on when the log was made **/ webId?: string; /** ABExperiment object used by experiments **/ experiment?: IABExperiment; /** Site Type name of the relevant SharePoint web **/ siteType?: SiteType; /** Component name of the relevant engagement event **/ component?: Component; /** Feature name of the relevant recorded action **/ currentPage?: CurrentPage; /** Feature name of the relevant recorded action **/ feature?: Feature; /** Feature name of the relevant recorded action **/ usageType?: UsageType; /** This indicates whether it is an intentional action by the user. * Setting isIntentional to true * will automatically publish engagement specific data to Interana */ isIntentional?: boolean; /** * The Id of the relevant SharePoint list */ listId?: string; /** * The Id of the relevant SharePoint document */ docId?: string; /** used for tracking the item the user was on when the log was made **/ listItemUniqueId?: string; } /** * ABExperiment interface. * @internal */ export interface IABExperiment { /** Checks if the current specified target is being selected to be part of the experiment **/ IsExperimentOn?: () => boolean; } /** * Syte Type Classification for the syteType field in Engagement Event stream. * @internal */ export type SiteType = 'GroupSite' | 'TeamSite' | 'CommunicationSite' | 'PublishingSite' | 'MySite'; /** * CurrentPage Classification for the currentPage field in Engagement Event stream. * @internal */ export type CurrentPage = 'HomePage' | 'NewsArticlePage' | 'ArticlePage' | 'TopicPage' | 'ModernPage' | 'ClassicPage' | 'NewsPage' | 'NewsDigestPage' | 'Space' | 'VideoNewsLink' | 'Dashboard' | 'SearchPage'; /** * Component list for the component field in Engagement Event stream. * @internal */ export type Component = 'View' | 'Button' | 'CommentDeleteCancelAction' | 'CommentDeleteConfirmAction' | 'CommentDeleteOpenAction' | 'CommentReplyAction' | 'CommentReplyPostButton' | 'CommentShowMoreButton' | 'CommentsDisable' | 'CommentsEnable' | 'LoadMoreCommentReplies' | 'LoadMoreComments' | 'DiscardButton' | 'DiscardOKButton' | 'EditButton' | 'NewApp' | 'NewButton' | 'NewDocLib' | 'NewList' | 'NewPlan' | 'NewsAdd' | 'NewsSeeAll' | 'NewsArticleTitle' | 'NewsSiteTitle' | 'NewsImageArea' | 'NewsItemPinned' | 'NewsPinnedItemRemoved' | 'NewsPinnedItemSorted' | 'NewsSocialAction' | 'NewsWebPart' | 'SelectNewsToPin' | 'CreateNewsLinkFromHome' | 'CreateVideoNewsLinkFromHome' | 'CreateTopicPageFromHome' | 'CreateNewsPostFromHome' | 'CreateNewsPostFromArticle' | 'NewsDraft' | 'PostPublishAddToNav' | 'PostPublishCopyAddress' | 'PostPublishEmail' | 'PostShareToTeams' | 'PostPublishPostAsNews' | 'PromoteButton' | 'PublishButton' | 'PostAndSendButton' | 'SaveButton' | 'CreateNewsDigest' | 'ContinueNewsDigest' | 'SendNewsDigest' | 'CancelNewsDigest' | 'ShareButton' | 'ShareToTeamsButton' | 'StartCoAuth' | 'StartWithPageCopy' | 'StartWithNewsPostCopy' | 'StartWithTemplate' | 'ScrollBar' | 'Header' | 'Component' | 'Extension' | 'PageSettingsButton' | 'SaveAsTemplateButton' | 'SubmitButtonClick' | 'ReviewApprovalsButtonClick' | 'SubmitDone' | 'ApproveDone' | 'RejectDone' | 'CheckedOutButton' | 'BaseWPSelectedLayout' | 'NewsRollup' | 'SaveAsDraftByInactivity' | 'DiscardByInactivity' | 'BoostButton' | 'NewAppToModernStore' | 'CopyLinkButton' | 'PostShareToYammer' | 'PostPublishShare' | 'PostPublishSend' | 'PostPublishCopyLink' | 'PageSettingsPanelCopyLink' | 'ShareLinkButton' | 'SendEmailButton' | 'CustomGPTButton' | 'MFEWarningMessageBar' | 'VersionHistoryButton' | 'RestoreVersionButton' | 'DeleteVersionButton' | 'UnpublishVersionButton' | 'CompareVersionButton' | 'HighlightChangesButton' | 'CreateListFromHome' | 'CreateListsFormFromHome' | 'CreateDashboardFromHome'; /** * UsageType list for the usageType field in Engagement Event stream. * @internal */ export type UsageType = 'Click' | 'Scroll' | 'ScrollUp' | 'ScrollDown' | 'Hover' | 'Load' | 'PageLoad' | 'Render' | 'Drag' | 'Drop' | 'Tap' | 'KeyDown' | 'KeyPress' | 'RightClick' | 'Swipe'; /** * Feature list for the feature field in Engagement Event stream. * @internal */ export type Feature = 'News' | 'NewsDigest' | 'WebPart' | 'ScrollBar' | 'Header' | 'Canvas' | 'Leftnav' | 'TopNav'; //# sourceMappingURL=IEngagementHandler.d.ts.map