* chore: analytics endpoint * added anlytics v2 * updated status icons * added area chart in workitems and en translations * active projects * chore: created analytics chart * chore: validation errors * improved radar-chart , added empty states , added projects summary * chore: added a new graph in advance analytics * integrated priority chart * chore: added csv exporter * added priority dropdown * integrated created vs resolved chart * custom x and y axis label in bar and area chart * added wrapper styles to legends * added filter components * fixed temp data imports * integrated filters in priority charts * added label to priority chart and updated duration filter * refactor * reverted to void onchange * fixed some contant exports * fixed type issues * fixed some type and build issues * chore: updated the filtering logic for analytics * updated default value to last_30_days * percentage value whole number and added some rules for axis options * fixed some translations * added - custom tick for radar, calc of insight cards, filter labels * chore: opitmised the analytics endpoint * replace old analytics path with new , updated labels of insight card, done some store fixes * chore: updated the export request * Enhanced ProjectSelect to support multi-select, improved state management, and optimized data fetching and component structure. * fix: round completion percentage calculation in ActiveProjectItem * added empty states in project insights * Added loader and empty state in created/resolved chart * added loaders * added icons in filters * added custom colors in customised charts * cleaned up some code * added some responsiveness * updated translations * updated serrchbar for the table * added work item modal in project analytics * fixed some of the layput issues in the peek view * chore: updated the base function for viewsets * synced tab to url * code cleanup * chore: updated the export logic * fixed project_ids filter * added icon in projectdropdown * updated export button position * export csv and emptystates icons * refactor * code refactor * updated loaders, moved color pallete to contants, added nullish collasece operator in neccessary places * removed uneccessary cn * fixed formatting issues * fixed empty project_ids in payload * improved null checks * optimized charts * modified relevant variables to observable.ref * fixed the duration type * optimized some code * updated query key in project-insight * updated query key in project-insight * updated formatting * chore: replaced analytics route with new one and done some optimizations * removed the old analytics --------- Co-authored-by: NarayanBavisetti <narayan3119@gmail.com>
60 lines
1.5 KiB
TypeScript
60 lines
1.5 KiB
TypeScript
import { API_BASE_URL } from "@plane/constants";
|
|
import { IAnalyticsResponseV2, TAnalyticsTabsV2Base, TAnalyticsGraphsV2Base } from "@plane/types";
|
|
import { APIService } from "./api.service";
|
|
|
|
export class AnalyticsV2Service extends APIService {
|
|
constructor() {
|
|
super(API_BASE_URL);
|
|
}
|
|
|
|
async getAdvanceAnalytics<T extends IAnalyticsResponseV2>(
|
|
workspaceSlug: string,
|
|
tab: TAnalyticsTabsV2Base,
|
|
params?: Record<string, any>
|
|
): Promise<T> {
|
|
return this.get(`/api/workspaces/${workspaceSlug}/advance-analytics/`, {
|
|
params: {
|
|
tab,
|
|
...params,
|
|
},
|
|
})
|
|
.then((res) => res?.data)
|
|
.catch((err) => {
|
|
throw err?.response?.data;
|
|
});
|
|
}
|
|
|
|
async getAdvanceAnalyticsStats<T>(
|
|
workspaceSlug: string,
|
|
tab: Exclude<TAnalyticsTabsV2Base, "overview">,
|
|
params?: Record<string, any>
|
|
): Promise<T> {
|
|
return this.get(`/api/workspaces/${workspaceSlug}/advance-analytics-stats/`, {
|
|
params: {
|
|
type: tab,
|
|
...params,
|
|
},
|
|
})
|
|
.then((res) => res?.data)
|
|
.catch((err) => {
|
|
throw err?.response?.data;
|
|
});
|
|
}
|
|
|
|
async getAdvanceAnalyticsCharts<T>(
|
|
workspaceSlug: string,
|
|
tab: TAnalyticsGraphsV2Base,
|
|
params?: Record<string, any>
|
|
): Promise<T> {
|
|
return this.get(`/api/workspaces/${workspaceSlug}/advance-analytics-charts/`, {
|
|
params: {
|
|
type: tab,
|
|
...params,
|
|
},
|
|
})
|
|
.then((res) => res?.data)
|
|
.catch((err) => {
|
|
throw err?.response?.data;
|
|
});
|
|
}
|
|
}
|