fix(quadrant): make quadrant options optional

Make the types of the options in QuadrantChartConfig in the
MermaidConfig optional. All of these (except for the values in
`BaseDiagramConfig`) will be automatically set to their
default values, so they're optional from a user perspective.
This commit is contained in:
Alois Klink
2023-07-06 01:06:01 +01:00
parent c742ac71a4
commit 38013de711
2 changed files with 21 additions and 20 deletions

View File

@@ -229,24 +229,24 @@ export interface PieDiagramConfig extends BaseDiagramConfig {
}
export interface QuadrantChartConfig extends BaseDiagramConfig {
chartWidth: number;
chartHeight: number;
titleFontSize: number;
titlePadding: number;
quadrantPadding: number;
xAxisLabelPadding: number;
yAxisLabelPadding: number;
xAxisLabelFontSize: number;
yAxisLabelFontSize: number;
quadrantLabelFontSize: number;
quadrantTextTopPadding: number;
pointTextPadding: number;
pointLabelFontSize: number;
pointRadius: number;
xAxisPosition: 'top' | 'bottom';
yAxisPosition: 'left' | 'right';
quadrantInternalBorderStrokeWidth: number;
quadrantExternalBorderStrokeWidth: number;
chartWidth?: number;
chartHeight?: number;
titleFontSize?: number;
titlePadding?: number;
quadrantPadding?: number;
xAxisLabelPadding?: number;
yAxisLabelPadding?: number;
xAxisLabelFontSize?: number;
yAxisLabelFontSize?: number;
quadrantLabelFontSize?: number;
quadrantTextTopPadding?: number;
pointTextPadding?: number;
pointLabelFontSize?: number;
pointRadius?: number;
xAxisPosition?: 'top' | 'bottom';
yAxisPosition?: 'left' | 'right';
quadrantInternalBorderStrokeWidth?: number;
quadrantExternalBorderStrokeWidth?: number;
}
export interface ErDiagramConfig extends BaseDiagramConfig {

View File

@@ -1,7 +1,7 @@
// @ts-ignore: TODO Fix ts errors
import { scaleLinear } from 'd3';
import { log } from '../../logger.js';
import { QuadrantChartConfig } from '../../config.type.js';
import type { BaseDiagramConfig, QuadrantChartConfig } from '../../config.type.js';
import defaultConfig from '../../defaultConfig.js';
import { getThemeVariables } from '../../themes/theme-default.js';
@@ -71,7 +71,8 @@ export interface quadrantBuilderData {
points: QuadrantPointInputType[];
}
export interface QuadrantBuilderConfig extends QuadrantChartConfig {
export interface QuadrantBuilderConfig
extends Required<Omit<QuadrantChartConfig, keyof BaseDiagramConfig>> {
showXAxis: boolean;
showYAxis: boolean;
showTitle: boolean;