element-ios/Riot/Modules/Analytics/AnalyticsUIElement.swift
2022-08-24 13:37:47 +03:00

75 lines
2.7 KiB
Swift

//
// Copyright 2021 New Vector Ltd
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
import AnalyticsEvents
/// A tappable UI element that can be tracked in Analytics.
@objc enum AnalyticsUIElement: Int {
case roomThreadListButton
case roomThreadSummaryItem
case threadListThreadItem
case threadListFilterItem
case spacePanelSelectedSpace
case spacePanelSwitchSpace
case spacePanelSwitchSubSpace
case allChatsRecentsEnabled
case allChatsRecentsDisabled
case allChatsFiltersEnabled
case allChatsFiltersDisabled
case allChatsFilterAll
case allChatsFilterFavourites
case allChatsFilterUnreads
case allChatsFilterPeople
case spaceCreationValidated
/// The element name reported to the AnalyticsEvent.
var name: AnalyticsEvent.Interaction.Name {
switch self {
case .roomThreadListButton:
return .MobileRoomThreadListButton
case .roomThreadSummaryItem:
return .MobileRoomThreadSummaryItem
case .threadListThreadItem:
return .MobileThreadListThreadItem
case .threadListFilterItem:
return .MobileThreadListFilterItem
case .spacePanelSelectedSpace:
return .SpacePanelSelectedSpace
case .spacePanelSwitchSpace:
return .SpacePanelSwitchSpace
case .spacePanelSwitchSubSpace:
return .SpacePanelSwitchSubSpace
case .allChatsRecentsEnabled:
return .MobileAllChatsRecentsEnabled
case .allChatsRecentsDisabled:
return .MobileAllChatsRecentsDisabled
case .allChatsFiltersEnabled:
return .MobileAllChatsFiltersEnabled
case .allChatsFiltersDisabled:
return .MobileAllChatsFiltersDisabled
case .allChatsFilterAll:
return .MobileAllChatsFilterAll
case .allChatsFilterFavourites:
return .MobileAllChatsFilterFavourites
case .allChatsFilterUnreads:
return .MobileAllChatsFilterUnreads
case .allChatsFilterPeople:
return .MobileAllChatsFilterPeople
case .spaceCreationValidated:
return .MobileSpaceCreationValidated
}
}
}