drizzle-cube
Version:
Drizzle ORM-first semantic layer with Cube.js compatibility. Type-safe analytics and dashboards with SQL injection protection.
88 lines (87 loc) • 1.98 kB
TypeScript
import { PortletConfig, DashboardConfig } from '../types';
export * from './chartUtils';
export * from './chartConstants';
/**
* Create a dashboard layout from portlet configurations
*/
export declare function createDashboardLayout(portlets: PortletConfig[]): DashboardConfig;
/**
* Generate responsive layouts for different breakpoints
*/
export declare function generateResponsiveLayouts(portlets: PortletConfig[]): {
lg: {
i: string;
x: number;
y: number;
w: number;
h: number;
minW: number;
minH: number;
}[];
md: {
w: number;
i: string;
x: number;
y: number;
h: number;
minW: number;
minH: number;
}[];
sm: {
w: number;
i: string;
x: number;
y: number;
h: number;
minW: number;
minH: number;
}[];
xs: {
w: number;
i: string;
x: number;
y: number;
h: number;
minW: number;
minH: number;
}[];
xxs: {
w: number;
i: string;
x: number;
y: number;
h: number;
minW: number;
minH: number;
}[];
};
/**
* Format chart data for display
*/
export declare function formatChartData(data: any[], options?: {
formatNumbers?: boolean;
precision?: number;
}): any[];
/**
* Generate a unique ID for new portlets
*/
export declare function generatePortletId(): string;
/**
* Find the next available position in a grid
*/
export declare function findNextPosition(existingPortlets: PortletConfig[], _w?: number, _h?: number): {
x: number;
y: number;
};
/**
* Validate a cube query JSON string
*/
export declare function validateCubeQuery(queryString: string): {
valid: boolean;
error?: string;
query?: any;
};
/**
* Create a sample portlet configuration
*/
export declare function createSamplePortlet(): Omit<PortletConfig, 'id'>;