decord/alpha/source/modules/settings/tracking/SettingSearchSessionAnalyticsManager.tsx

63 lines
2.2 KiB
TypeScript
Raw Normal View History

2026-10-10 08:08:14 +00:00
// Module ID: 6684
// Function ID: 6685
// Name: SettingSearchSessionAnalyticsManager
2026-10-09 10:00:15 +00:00
// Dependencies: [1085, 1279, 1265, 2]
2026-08-24 06:08:38 +00:00
2026-10-10 08:08:14 +00:00
// Module 6684 (SettingSearchSessionAnalyticsManager)
2026-10-08 09:57:35 +00:00
import Constants from "Constants" /* 1085 */;
2026-10-09 10:00:15 +00:00
import AnalyticsUtilsDefault from "AnalyticsUtils" /* 1265 */;
import v1 from "v1" /* 1279 */;
import size from "module_2" /* 2 */;
2026-07-20 16:05:17 +00:00
2026-10-08 09:57:35 +00:00
const AnalyticEvents = Constants.AnalyticEvents;
2026-07-29 08:29:29 +00:00
class SettingSearchSessionAnalyticsManager {
constructor() {
return Object.assign({ searchSessionId: null, searchSessionStartTime: null, isQueryEnteredTracked: false });
}
2026-10-03 08:58:59 +00:00
getSearchSessionId() {
return this.searchSessionId;
}
isSessionActive() {
return null != this.searchSessionId;
}
initialize() {
const obj = v1;
this.searchSessionId = obj.v4();
this.searchSessionStartTime = Date.now();
this.isQueryEnteredTracked = false;
2026-07-29 08:29:29 +00:00
}
2026-10-03 08:58:59 +00:00
maybeTrackQueryEntered() {
2026-10-08 09:57:35 +00:00
const self = this;
2026-10-03 08:58:59 +00:00
if (!this.isQueryEnteredTracked) {
2026-10-08 09:57:35 +00:00
self.trackQueryEntered();
self.isQueryEnteredTracked = true;
2026-10-03 08:58:59 +00:00
}
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
terminate() {
const self = this;
const tmp = null != this.searchSessionId && null != self.searchSessionStartTime;
if (tmp) {
const _Date = Date;
2026-10-08 09:57:35 +00:00
self.trackClosed(Date.now() - self.searchSessionStartTime);
2026-10-03 08:58:59 +00:00
self.searchSessionId = null;
self.searchSessionStartTime = null;
self.isQueryEnteredTracked = false;
}
}
2026-10-08 09:57:35 +00:00
trackQueryEntered() {
const obj = AnalyticsUtilsDefault;
const obj2 = { search_session_id: this.getSearchSessionId() };
obj.track(AnalyticEvents.USER_SETTINGS_SEARCH_QUERY_ENTERED, obj2);
}
trackClosed(search_session_duration_ms) {
const obj = AnalyticsUtilsDefault;
const obj2 = { search_session_id: this.getSearchSessionId(), search_session_duration_ms };
obj.track(AnalyticEvents.USER_SETTINGS_SEARCH_CLOSED, obj2);
}
2026-10-03 08:58:59 +00:00
}
const prototype = SettingSearchSessionAnalyticsManager.prototype;
const prototype2 = SettingSearchSessionAnalyticsManager.prototype;
2026-10-08 09:57:35 +00:00
const result = size.fileFinishedImporting("modules/settings/tracking/SettingSearchSessionAnalyticsManager.tsx");
2026-07-20 16:05:17 +00:00
export default Object.assign({ searchSessionId: null, searchSessionStartTime: null, isQueryEnteredTracked: false });