// Data Explorer specific actions. No need to keep this in sync with the one in Portal.
// Some of the enums names are used in Fabric. Please do not rename them.
export enum Action {
  CollapseTreeNode,
  MetricsScenario,
  CreateCollection, // Used in Fabric. Please do not rename.
  CreateGlobalSecondaryIndex,
  CreateDocument, // Used in Fabric. Please do not rename.
  CreateStoredProcedure,
  CreateTrigger,
  CreateUDF,
  DeleteCollection, // Used in Fabric. Please do not rename.
  DeleteDatabase,
  DeleteDocument,
  ExpandTreeNode,
  ExecuteQuery, // Used in Fabric. Please do not rename.
  HasFeature,
  GetVNETServices,
  InitializeAccountLocationFromResourceGroup,
  InitializeDataExplorer,
  LoadDatabaseAccount,
  LoadCollections,
  LoadDatabases,
  LoadOffers,
  MongoShell,
  ContextualPane,
  ScaleThroughput,
  ToggleAutoscaleSetting,
  SelectItem,
  Tab,
  UpdateDocument,
  UpdateSettings,
  UpdateStoredProcedure,
  UpdateTrigger,
  UpdateUDF,
  LoadResourceTree,
  CreateDatabase,
  ResolveConflict,
  DeleteConflict,
  SaveQuery,
  SetupSavedQueries,
  LoadSavedQuery,
  DeleteSavedQuery,
  ConnectEncryptionToken,
  SignInAad,
  SignOutAad,
  FetchTenants,
  FetchSubscriptions,
  FetchAccounts,
  GetAccountKeys,
  LoadingStatus,
  AccountSwitch,
  SubscriptionSwitch,
  TenantSwitch,
  DefaultTenantSwitch,
  CreateNotebookWorkspace,
  NotebookErrorNotification,
  CreateSparkCluster,
  UpdateSparkCluster,
  DeleteSparkCluster,
  LibraryManage,
  ClusterLibraryManage,
  ModifyOptionForThroughputWithSharedDatabase,
  EnableAzureSynapseLink,
  CreateNewNotebook,
  OpenSampleNotebook,
  ExecuteCell,
  ExecuteCellPromptBtn,
  ExecuteAllCells,
  NotebookEnabled,
  NotebooksGitHubConnect,
  NotebooksGitHubAuthorize,
  NotebooksGitHubManualRepoAdd,
  NotebooksGitHubManageRepo,
  NotebooksGitHubCommit,
  NotebooksGitHubDisconnect,
  NotebooksFetched,
  NotebooksKernelSpecName,
  NotebooksExecuteCellFromMenu,
  NotebooksClearOutputsFromMenu,
  NotebooksInsertCodeCellAboveFromMenu,
  NotebooksInsertCodeCellBelowFromMenu,
  NotebooksInsertTextCellAboveFromMenu,
  NotebooksInsertTextCellBelowFromMenu,
  NotebooksMoveCellUpFromMenu,
  NotebooksMoveCellDownFromMenu,
  PhoenixConnection,
  PhoenixHeartBeat,
  PhoenixResetWorkspace,
  PhoenixDBAccountAllowed,
  DeleteCellFromMenu,
  OpenTerminal,
  OpenCloudShellTerminal,
  CreateMongoCollectionWithWildcardIndex,
  ClickCommandBarButton,
  RefreshResourceTreeMyNotebooks,
  ClickResourceTreeNodeContextMenuItem,
  DiscardSettings,
  SettingsV2Updated,
  SettingsV2Discarded,
  MongoIndexUpdated,
  NotebooksGalleryPublish,
  NotebooksGalleryReportAbuse,
  NotebooksGalleryClickReportAbuse,
  NotebooksGalleryViewCodeOfConduct,
  NotebooksGalleryAcceptCodeOfConduct,
  NotebooksGalleryFavorite,
  NotebooksGalleryUnfavorite,
  NotebooksGalleryClickDelete,
  NotebooksGalleryDelete,
  NotebooksGalleryClickDownload,
  NotebooksGalleryDownload,
  NotebooksGalleryViewNotebook,
  NotebooksGalleryViewGallery,
  NotebooksGalleryViewOfficialSamples,
  NotebooksGalleryViewPublicGallery,
  NotebooksGalleryViewFavorites,
  NotebooksGalleryViewPublishedNotebooks,
  NotebooksGalleryClickPublishToGallery,
  NotebooksGalleryOfficialSamplesCount,
  NotebooksGalleryPublicGalleryCount,
  NotebooksGalleryFavoritesCount,
  NotebooksGalleryPublishedCount,
  SelfServe,
  ExpandAddCollectionPaneAdvancedSection,
  ExpandAddGlobalSecondaryIndexPaneAdvancedSection,
  SchemaAnalyzerClickAnalyze,
  SelfServeComponent,
  LaunchQuickstart,
  NewContainerHomepage,
  Top3ItemsClicked,
  LearningResourcesClicked,
  PlayCarouselVideo,
  OpenCarousel,
  CompleteCarousel,
  LaunchUITour,
  CancelUITour,
  CompleteUITour,
  QueryEdited,
  DeleteDocuments,
  ReadPersistedTabState,
  SavePersistedTabState,
  DeletePersistedTabState,
  UploadDocuments, // Used in Fabric. Please do not rename.
  CloudShellUserConsent,
  CloudShellTerminalSession,
  OpenVSCode,
  ImportSampleData,

  // Tracing for ApplicationLoad & DatabaseLoad scenarios
  ConfigurePortal,
  FetchAccountKeys,
  AcquireMsalToken,
  ReadDatabases,
  ReadCollections,
  LoadCollectionsPerDatabase,
  RefreshNotebooksEnabled,
  CheckPhoenixStatus,
  CheckFeatureRegistration,
}

export const ActionModifiers = {
  Start: "start",
  Success: "success",
  Failed: "failed",
  Mark: "mark",
  Open: "open",
  IFrameReady: "iframeready",
  Close: "close",
  Submit: "submit",
  IndexAll: "index all properties",
  NoIndex: "no indexing",
  Cancel: "cancel",
  ToggleAutoscaleOn: "autoscale on",
  ToggleAutoscaleOff: "autoscale off",
} as const;

export enum SourceBlade {
  AddCollection,
  AzureFunction,
  BrowseCollectionBlade,
  CassandraAccountCreateBlade,
  CollectionSetting,
  DatabaseAccountCreateBlade,
  DataExplorer,
  DeleteCollection,
  DeleteDatabase,
  DocumentExplorer,
  FirewallVNETBlade,
  Metrics,
  NonDocumentDBAccountCreateBlade,
  OverviewBlade,
  QueryExplorer,
  Quickstart,
  ReaderWarning,
  ResourceMenu,
  RpcProvider,
  ScaleCollection,
  ScriptExplorer,
  Keys,
}

export enum Source {
  ResourceTreeMenu = "ResourceTreeMenu",
  CommandBarMenu = "CommandBarMenu",
}
