fixes but still nto fixed
This commit is contained in:
@@ -751,11 +751,70 @@ export interface PlannerKeywordFilterOptions {
|
||||
countries: FilterOption[];
|
||||
statuses: FilterOption[];
|
||||
clusters: FilterOption[];
|
||||
difficulties: FilterOption[];
|
||||
}
|
||||
|
||||
export async function fetchPlannerKeywordFilterOptions(siteId?: number): Promise<PlannerKeywordFilterOptions> {
|
||||
// Filter options request with current filter state for cascading
|
||||
export interface KeywordFilterOptionsRequest {
|
||||
site_id?: number;
|
||||
status?: string;
|
||||
country?: string;
|
||||
difficulty_min?: number;
|
||||
difficulty_max?: number;
|
||||
cluster_id?: string;
|
||||
}
|
||||
|
||||
export async function fetchPlannerKeywordFilterOptions(
|
||||
siteId?: number,
|
||||
filters?: KeywordFilterOptionsRequest
|
||||
): Promise<PlannerKeywordFilterOptions> {
|
||||
const params = new URLSearchParams();
|
||||
if (siteId) params.append('site_id', siteId.toString());
|
||||
if (filters?.status) params.append('status', filters.status);
|
||||
if (filters?.country) params.append('country', filters.country);
|
||||
if (filters?.difficulty_min !== undefined) params.append('difficulty_min', filters.difficulty_min.toString());
|
||||
if (filters?.difficulty_max !== undefined) params.append('difficulty_max', filters.difficulty_max.toString());
|
||||
if (filters?.cluster_id) params.append('cluster_id', filters.cluster_id);
|
||||
|
||||
const queryString = params.toString();
|
||||
return fetchAPI(`/v1/planner/keywords/filter_options/${queryString ? `?${queryString}` : ''}`);
|
||||
}
|
||||
|
||||
// Clusters filter options
|
||||
export interface PlannerClusterFilterOptions {
|
||||
statuses: FilterOption[];
|
||||
}
|
||||
|
||||
export async function fetchPlannerClusterFilterOptions(siteId?: number): Promise<PlannerClusterFilterOptions> {
|
||||
const queryParams = siteId ? `?site_id=${siteId}` : '';
|
||||
return fetchAPI(`/v1/planner/keywords/filter_options/${queryParams}`);
|
||||
return fetchAPI(`/v1/planner/clusters/filter_options/${queryParams}`);
|
||||
}
|
||||
|
||||
// Ideas filter options
|
||||
export interface PlannerIdeasFilterOptions {
|
||||
statuses: FilterOption[];
|
||||
content_types: FilterOption[];
|
||||
content_structures: FilterOption[];
|
||||
clusters: FilterOption[];
|
||||
}
|
||||
|
||||
export async function fetchPlannerIdeasFilterOptions(siteId?: number): Promise<PlannerIdeasFilterOptions> {
|
||||
const queryParams = siteId ? `?site_id=${siteId}` : '';
|
||||
return fetchAPI(`/v1/planner/ideas/filter_options/${queryParams}`);
|
||||
}
|
||||
|
||||
// Content filter options (Writer module)
|
||||
export interface WriterContentFilterOptions {
|
||||
statuses: FilterOption[];
|
||||
site_statuses: FilterOption[];
|
||||
content_types: FilterOption[];
|
||||
content_structures: FilterOption[];
|
||||
sources: FilterOption[];
|
||||
}
|
||||
|
||||
export async function fetchWriterContentFilterOptions(siteId?: number): Promise<WriterContentFilterOptions> {
|
||||
const queryParams = siteId ? `?site_id=${siteId}` : '';
|
||||
return fetchAPI(`/v1/writer/content/filter_options/${queryParams}`);
|
||||
}
|
||||
|
||||
// Clusters-specific API functions
|
||||
|
||||
Reference in New Issue
Block a user