Change rendering from id to type

This commit is contained in:
Meier Lukas
2023-03-30 21:54:44 +02:00
parent 66f9dd51dd
commit 43dc1cd70c
3 changed files with 9 additions and 7 deletions

View File

@@ -6,7 +6,7 @@ import ErrorBoundary from './boundary';
import { IWidget } from './widgets';
interface WidgetWrapperProps {
widgetId: string;
widgetType: string;
widget: IWidget<string, any>;
className: string;
WidgetComponent: ComponentType<{ widget: IWidget<string, any> }>;
@@ -14,7 +14,7 @@ interface WidgetWrapperProps {
// If a property has no value, set it to the default value
const useWidget = <T extends IWidget<string, any>>(widget: T): T => {
const definition = Widgets[widget.id as keyof typeof Widgets];
const definition = Widgets[widget.type as keyof typeof Widgets];
return useMemo(() => {
const newProps = { ...widget.properties };
@@ -33,7 +33,7 @@ const useWidget = <T extends IWidget<string, any>>(widget: T): T => {
};
export const WidgetWrapper = ({
widgetId,
widgetType: widgetId,
widget,
className,
WidgetComponent,

View File

@@ -13,7 +13,8 @@ import { ShapeType } from '../types/shape';
// Type of widgets which are saved to config
export type IWidget<TKey extends string, TDefinition extends IWidgetDefinition> = {
id: TKey;
id: string;
type: TKey;
properties: {
[key in keyof TDefinition['options']]: MakeLessSpecific<
TDefinition['options'][key]['defaultValue']