filters fixed for all pages of planner writer
This commit is contained in:
@@ -789,11 +789,33 @@ export async function fetchPlannerKeywordFilterOptions(
|
||||
// Clusters filter options
|
||||
export interface PlannerClusterFilterOptions {
|
||||
statuses: FilterOption[];
|
||||
difficulties: FilterOption[];
|
||||
}
|
||||
|
||||
export async function fetchPlannerClusterFilterOptions(siteId?: number): Promise<PlannerClusterFilterOptions> {
|
||||
const queryParams = siteId ? `?site_id=${siteId}` : '';
|
||||
return fetchAPI(`/v1/planner/clusters/filter_options/${queryParams}`);
|
||||
export interface ClusterFilterOptionsRequest {
|
||||
status?: string;
|
||||
difficulty_min?: number;
|
||||
difficulty_max?: number;
|
||||
volume_min?: number;
|
||||
volume_max?: number;
|
||||
search?: string;
|
||||
}
|
||||
|
||||
export async function fetchPlannerClusterFilterOptions(
|
||||
siteId?: number,
|
||||
filters?: ClusterFilterOptionsRequest
|
||||
): Promise<PlannerClusterFilterOptions> {
|
||||
const params = new URLSearchParams();
|
||||
if (siteId) params.append('site_id', siteId.toString());
|
||||
if (filters?.status) params.append('status', filters.status);
|
||||
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?.volume_min !== undefined) params.append('volume_min', filters.volume_min.toString());
|
||||
if (filters?.volume_max !== undefined) params.append('volume_max', filters.volume_max.toString());
|
||||
if (filters?.search) params.append('search', filters.search);
|
||||
|
||||
const queryString = params.toString();
|
||||
return fetchAPI(`/v1/planner/clusters/filter_options/${queryString ? `?${queryString}` : ''}`);
|
||||
}
|
||||
|
||||
// Ideas filter options
|
||||
@@ -804,9 +826,63 @@ export interface PlannerIdeasFilterOptions {
|
||||
clusters: FilterOption[];
|
||||
}
|
||||
|
||||
export async function fetchPlannerIdeasFilterOptions(siteId?: number): Promise<PlannerIdeasFilterOptions> {
|
||||
const queryParams = siteId ? `?site_id=${siteId}` : '';
|
||||
return fetchAPI(`/v1/planner/ideas/filter_options/${queryParams}`);
|
||||
export interface IdeasFilterOptionsRequest {
|
||||
status?: string;
|
||||
content_type?: string;
|
||||
content_structure?: string;
|
||||
cluster?: string;
|
||||
search?: string;
|
||||
}
|
||||
|
||||
export async function fetchPlannerIdeasFilterOptions(
|
||||
siteId?: number,
|
||||
filters?: IdeasFilterOptionsRequest
|
||||
): Promise<PlannerIdeasFilterOptions> {
|
||||
const params = new URLSearchParams();
|
||||
if (siteId) params.append('site_id', siteId.toString());
|
||||
if (filters?.status) params.append('status', filters.status);
|
||||
if (filters?.content_type) params.append('content_type', filters.content_type);
|
||||
if (filters?.content_structure) params.append('content_structure', filters.content_structure);
|
||||
if (filters?.cluster) params.append('cluster', filters.cluster);
|
||||
if (filters?.search) params.append('search', filters.search);
|
||||
|
||||
const queryString = params.toString();
|
||||
return fetchAPI(`/v1/planner/ideas/filter_options/${queryString ? `?${queryString}` : ''}`);
|
||||
}
|
||||
|
||||
// Tasks filter options (Writer module)
|
||||
export interface WriterTaskFilterOptions {
|
||||
statuses: FilterOption[];
|
||||
content_types: FilterOption[];
|
||||
content_structures: FilterOption[];
|
||||
clusters: FilterOption[];
|
||||
sources: FilterOption[];
|
||||
}
|
||||
|
||||
export interface TaskFilterOptionsRequest {
|
||||
status?: string;
|
||||
content_type?: string;
|
||||
content_structure?: string;
|
||||
cluster?: string;
|
||||
source?: string;
|
||||
search?: string;
|
||||
}
|
||||
|
||||
export async function fetchWriterTaskFilterOptions(
|
||||
siteId?: number,
|
||||
filters?: TaskFilterOptionsRequest
|
||||
): Promise<WriterTaskFilterOptions> {
|
||||
const params = new URLSearchParams();
|
||||
if (siteId) params.append('site_id', siteId.toString());
|
||||
if (filters?.status) params.append('status', filters.status);
|
||||
if (filters?.content_type) params.append('content_type', filters.content_type);
|
||||
if (filters?.content_structure) params.append('content_structure', filters.content_structure);
|
||||
if (filters?.cluster) params.append('cluster', filters.cluster);
|
||||
if (filters?.source) params.append('source', filters.source);
|
||||
if (filters?.search) params.append('search', filters.search);
|
||||
|
||||
const queryString = params.toString();
|
||||
return fetchAPI(`/v1/writer/tasks/filter_options/${queryString ? `?${queryString}` : ''}`);
|
||||
}
|
||||
|
||||
// Content filter options (Writer module)
|
||||
@@ -818,9 +894,30 @@ export interface WriterContentFilterOptions {
|
||||
sources: FilterOption[];
|
||||
}
|
||||
|
||||
export async function fetchWriterContentFilterOptions(siteId?: number): Promise<WriterContentFilterOptions> {
|
||||
const queryParams = siteId ? `?site_id=${siteId}` : '';
|
||||
return fetchAPI(`/v1/writer/content/filter_options/${queryParams}`);
|
||||
export interface ContentFilterOptionsRequest {
|
||||
status?: string;
|
||||
site_status?: string;
|
||||
content_type?: string;
|
||||
content_structure?: string;
|
||||
source?: string;
|
||||
search?: string;
|
||||
}
|
||||
|
||||
export async function fetchWriterContentFilterOptions(
|
||||
siteId?: number,
|
||||
filters?: ContentFilterOptionsRequest
|
||||
): Promise<WriterContentFilterOptions> {
|
||||
const params = new URLSearchParams();
|
||||
if (siteId) params.append('site_id', siteId.toString());
|
||||
if (filters?.status) params.append('status', filters.status);
|
||||
if (filters?.site_status) params.append('site_status', filters.site_status);
|
||||
if (filters?.content_type) params.append('content_type', filters.content_type);
|
||||
if (filters?.content_structure) params.append('content_structure', filters.content_structure);
|
||||
if (filters?.source) params.append('source', filters.source);
|
||||
if (filters?.search) params.append('search', filters.search);
|
||||
|
||||
const queryString = params.toString();
|
||||
return fetchAPI(`/v1/writer/content/filter_options/${queryString ? `?${queryString}` : ''}`);
|
||||
}
|
||||
|
||||
// Clusters-specific API functions
|
||||
|
||||
Reference in New Issue
Block a user