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 { export interface QuadrantChartConfig extends BaseDiagramConfig {
chartWidth: number; chartWidth?: number;
chartHeight: number; chartHeight?: number;
titleFontSize: number; titleFontSize?: number;
titlePadding: number; titlePadding?: number;
quadrantPadding: number; quadrantPadding?: number;
xAxisLabelPadding: number; xAxisLabelPadding?: number;
yAxisLabelPadding: number; yAxisLabelPadding?: number;
xAxisLabelFontSize: number; xAxisLabelFontSize?: number;
yAxisLabelFontSize: number; yAxisLabelFontSize?: number;
quadrantLabelFontSize: number; quadrantLabelFontSize?: number;
quadrantTextTopPadding: number; quadrantTextTopPadding?: number;
pointTextPadding: number; pointTextPadding?: number;
pointLabelFontSize: number; pointLabelFontSize?: number;
pointRadius: number; pointRadius?: number;
xAxisPosition: 'top' | 'bottom'; xAxisPosition?: 'top' | 'bottom';
yAxisPosition: 'left' | 'right'; yAxisPosition?: 'left' | 'right';
quadrantInternalBorderStrokeWidth: number; quadrantInternalBorderStrokeWidth?: number;
quadrantExternalBorderStrokeWidth: number; quadrantExternalBorderStrokeWidth?: number;
} }
export interface ErDiagramConfig extends BaseDiagramConfig { export interface ErDiagramConfig extends BaseDiagramConfig {

View File

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