Skip to content

Commit eea768d

Browse files
committed
Added analytics
1 parent 44a75d5 commit eea768d

File tree

3 files changed

+45
-2
lines changed

3 files changed

+45
-2
lines changed

src/modules/projects/ProjectStore.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import ProjectModel from './models/ProjectModel';
44
import ProjectService from './ProjectService';
55
import TreeModelStoreHelper from '../../base/TreeModelStoreHelper';
66
import { Undefined } from '../../types/CommonTypes';
7+
import GaService from '../../services/GaService';
8+
import { EEventCategory, EProjectEvents } from '../../services/EEvents';
79

810
export default class ProjectStore {
911
projects: ProjectModel[] = [];
@@ -39,6 +41,7 @@ export default class ProjectStore {
3941
project.color = color || '';
4042
this.projects = this.projects.slice();
4143
this.projectService.save(this.projects);
44+
GaService.event(EEventCategory.Projects, EProjectEvents.Update);
4245
}
4346

4447
get(projectKey: string): ProjectModel | undefined {
@@ -53,6 +56,7 @@ export default class ProjectStore {
5356
newProjects.push(project);
5457
this.projects = newProjects;
5558
this.projectService.save(this.projects);
59+
GaService.event(EEventCategory.Projects, EProjectEvents.Create);
5660
}
5761

5862
delete(project: ProjectModel) {
@@ -62,6 +66,7 @@ export default class ProjectStore {
6266

6367
this.projects = TreeModelStoreHelper.deleteItems(this.projects, condition);
6468
this.projectService.save(this.projects);
69+
GaService.event(EEventCategory.Projects, EProjectEvents.Delete);
6570
}
6671

6772
restore() {

src/modules/tasks/TaskStore.ts

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ import TaskModel, { ITimeRangeModel } from './models/TaskModel';
55
import TasksByProject from '../../modules/tasks/models/TasksByProject';
66
import TreeModelStoreHelper from '../../base/TreeModelStoreHelper';
77
import BadgeService from '../BadgeService';
8+
import GaService from '../../services/GaService';
9+
import {
10+
EEventCategory,
11+
ETasksEvents,
12+
ETimeRangeEvents,
13+
} from '../../services/EEvents';
814

915
export default class TaskStore {
1016
tasks: TasksByProject = {};
@@ -24,6 +30,7 @@ export default class TaskStore {
2430
setTime(task: TaskModel, timeIndex: number, timeRange: ITimeRangeModel) {
2531
task.time[timeIndex] = timeRange;
2632
this.tasksService.save(this.tasks);
33+
GaService.event(EEventCategory.TimeRange, ETimeRangeEvents.Update);
2734
}
2835

2936
deleteTime(task: TaskModel, timeIndex: number) {
@@ -32,6 +39,7 @@ export default class TaskStore {
3239
}
3340
task.time.splice(timeIndex, 1);
3441
this.tasksService.save(this.tasks);
42+
GaService.event(EEventCategory.TimeRange, ETimeRangeEvents.Delete);
3543
}
3644

3745
getTasks(projectId: string): TaskModel[] {
@@ -73,6 +81,7 @@ export default class TaskStore {
7381
this.tasks[projectId].push(task);
7482
this.tasks[projectId] = this.tasks[projectId].slice();
7583
this.tasksService.save(this.tasks);
84+
GaService.event(EEventCategory.Tasks, ETasksEvents.Create);
7685
}
7786

7887
delete(task: TaskModel) {
@@ -88,11 +97,12 @@ export default class TaskStore {
8897
if (this.tasks.hasOwnProperty(projectKey)) {
8998
this.tasks[projectKey] = TreeModelStoreHelper.deleteItems(
9099
this.tasks[projectKey],
91-
condition,
100+
condition
92101
);
93102
}
94103
}
95104
this.tasksService.save(this.tasks);
105+
GaService.event(EEventCategory.Tasks, ETasksEvents.Delete);
96106
}
97107

98108
deleteProjectTasks(projectKey: string) {
@@ -131,7 +141,7 @@ export default class TaskStore {
131141
if (Array.isArray(this.tasks[projectId])) {
132142
return TreeModelStoreHelper.getFlatItemsRecursive(
133143
this.tasks[projectId],
134-
condition,
144+
condition
135145
).map((task) => task.key);
136146
}
137147
return [];
@@ -142,6 +152,7 @@ export default class TaskStore {
142152
this.checkTasksRecursive(this.tasks[projectId], taskIds);
143153
}
144154
this.tasksService.save(this.tasks);
155+
GaService.event(EEventCategory.Tasks, ETasksEvents.Check);
145156
}
146157

147158
private findAndSetActiveTask() {

src/services/EEvents.ts

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
export enum EEventCategory {
2+
Hours = 'Hours',
3+
Projects = 'Projects',
4+
Tasks = 'Tasks',
5+
TimeRange = 'TimeRange',
6+
}
7+
8+
export enum EHoursEvents {}
9+
10+
export enum EProjectEvents {
11+
Create = 'Project.Create',
12+
Update = 'Project.Update',
13+
Delete = 'Project.Delete',
14+
}
15+
16+
export enum ETasksEvents {
17+
Create = 'Task.Create',
18+
Update = 'Task.Update',
19+
Check = 'Task.Check',
20+
Delete = 'Task.Delete',
21+
UpdDescription = 'Task.UpdDescription',
22+
}
23+
24+
export enum ETimeRangeEvents {
25+
Update = 'TimeRange.Update',
26+
Delete = 'TimeRange.Delete',
27+
}

0 commit comments

Comments
 (0)