add bar chart support and other fixes
This commit is contained in:
@@ -1,7 +1,22 @@
|
||||
|
||||
export const operators = {
|
||||
is: "Is",
|
||||
isNot: "Is not",
|
||||
contains: 'Contains',
|
||||
doesNotContain: 'Not contains',
|
||||
}
|
||||
contains: "Contains",
|
||||
doesNotContain: "Not contains",
|
||||
};
|
||||
|
||||
export const chartTypes = {
|
||||
linear: "Linear",
|
||||
bar: "Bar",
|
||||
pie: "Pie",
|
||||
metric: "Metric",
|
||||
area: "Area",
|
||||
};
|
||||
|
||||
export const intervals = {
|
||||
day: "Day",
|
||||
hour: "Hour",
|
||||
month: "Month",
|
||||
};
|
||||
|
||||
export const alphabetIds = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J"] as const;
|
||||
@@ -1,5 +1,5 @@
|
||||
import { z } from "zod";
|
||||
import { operators } from "./constants";
|
||||
import { operators, chartTypes, intervals } from "./constants";
|
||||
|
||||
function objectToZodEnums<K extends string> ( obj: Record<K, any> ): [ K, ...K[] ] {
|
||||
const [ firstKey, ...otherKeys ] = Object.keys( obj ) as K[]
|
||||
@@ -33,14 +33,14 @@ export const zChartBreakdown = z.object({
|
||||
export const zChartEvents = z.array(zChartEvent);
|
||||
export const zChartBreakdowns = z.array(zChartBreakdown);
|
||||
|
||||
export const zChartType = z.enum(["linear", "bar", "pie", "metric", "area"]);
|
||||
export const zChartType = z.enum(objectToZodEnums(chartTypes));
|
||||
|
||||
export const zTimeInterval = z.enum(["day", "hour", "month"]);
|
||||
export const zTimeInterval = z.enum(objectToZodEnums(intervals));
|
||||
|
||||
export const zChartInput = z.object({
|
||||
name: z.string(),
|
||||
startDate: z.date(),
|
||||
endDate: z.date(),
|
||||
startDate: z.string(),
|
||||
endDate: z.string(),
|
||||
chartType: zChartType,
|
||||
interval: zTimeInterval,
|
||||
events: zChartEvents,
|
||||
|
||||
Reference in New Issue
Block a user