Skip to content

Commit

Permalink
Fix type error
Browse files Browse the repository at this point in the history
  • Loading branch information
jamesricky committed Jan 15, 2025
1 parent 8639c2b commit 873faf8
Show file tree
Hide file tree
Showing 5 changed files with 34 additions and 22 deletions.
16 changes: 10 additions & 6 deletions demo/admin/src/formBuilder/blocks/fields/CheckboxItemsBlock.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { BlockInterface, BlocksFinalForm, createBlockSkeleton, createListBlock } from "@comet/blocks-admin";
import { BlockAdminComponent, BlockInterface, BlocksFinalForm, createBlockSkeleton, createListBlock } from "@comet/blocks-admin";
import { CheckboxItemsBlockData } from "@src/blocks.generated";
import { RichTextBlockField } from "@src/formBuilder/blocks/common/RichTextBlock";
import { FieldNamesContext } from "@src/formBuilder/utils/FieldNamesContext";
import { DisplayFieldGroup } from "@src/formBuilder/utils/FieldSection";
Expand Down Expand Up @@ -60,14 +61,17 @@ export const CheckboxItemsBlock: BlockInterface = createListBlock({
itemsName: <FormattedMessage id="formBuilder.checkboxItemsBlock.itemsName" defaultMessage="items" />,
});

const OriginalAdminComponent = CheckboxItemsBlock.AdminComponent;
CheckboxItemsBlock.AdminComponent = ({ ...props }) => {
// @ts-expect-error TODO: Fix this
const fieldNames = props.state.blocks.filter(({ visible, props }) => visible && props.fieldName).map(({ props }) => props.fieldName);
const NewAdminComponent: BlockAdminComponent<CheckboxItemsBlockData> = (props) => {
const fieldNames = props.state.blocks
.filter(({ visible, props }) => visible && props.fieldName)
.map(({ props }) => props.fieldName)
.filter((fieldName) => fieldName !== undefined);

return (
<FieldNamesContext.Provider value={fieldNames}>
<OriginalAdminComponent {...props} />
<CheckboxItemsBlock.AdminComponent {...props} />
</FieldNamesContext.Provider>
);
};

CheckboxItemsBlock.AdminComponent = NewAdminComponent;
16 changes: 10 additions & 6 deletions demo/admin/src/formBuilder/blocks/fields/RadioItemsBlock.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { BlockInterface, BlocksFinalForm, createBlockSkeleton, createListBlock } from "@comet/blocks-admin";
import { BlockAdminComponent, BlockInterface, BlocksFinalForm, createBlockSkeleton, createListBlock } from "@comet/blocks-admin";
import { RadioItemsBlockData } from "@src/blocks.generated";
import { RichTextBlockField } from "@src/formBuilder/blocks/common/RichTextBlock";
import { FieldNamesContext } from "@src/formBuilder/utils/FieldNamesContext";
import { DisplayFieldGroup, PropsAndValidationFieldGroup } from "@src/formBuilder/utils/FieldSection";
Expand Down Expand Up @@ -61,14 +62,17 @@ export const RadioItemsBlock: BlockInterface = createListBlock({
itemsName: <FormattedMessage id="formBuilder.radioItemsBlock.itemsName" defaultMessage="items" />,
});

const OriginalAdminComponent = RadioItemsBlock.AdminComponent;
RadioItemsBlock.AdminComponent = ({ ...props }) => {
// @ts-expect-error TODO: Fix this
const fieldNames = props.state.blocks.filter(({ visible, props }) => visible && props.fieldName).map(({ props }) => props.fieldName);
const NewAdminComponent: BlockAdminComponent<RadioItemsBlockData> = (props) => {
const fieldNames = props.state.blocks
.filter(({ visible, props }) => visible && props.fieldName)
.map(({ props }) => props.fieldName)
.filter((fieldName) => fieldName !== undefined);

return (
<FieldNamesContext.Provider value={fieldNames}>
<OriginalAdminComponent {...props} />
<RadioItemsBlock.AdminComponent {...props} />
</FieldNamesContext.Provider>
);
};

RadioItemsBlock.AdminComponent = NewAdminComponent;
16 changes: 10 additions & 6 deletions demo/admin/src/formBuilder/blocks/fields/SelectOptionsBlock.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { TextField } from "@comet/admin";
import { BlockInterface, BlocksFinalForm, createBlockSkeleton, createListBlock } from "@comet/blocks-admin";
import { BlockAdminComponent, BlockInterface, BlocksFinalForm, createBlockSkeleton, createListBlock } from "@comet/blocks-admin";
import { SelectOptionsBlockData } from "@src/blocks.generated";
import { FieldNamesContext } from "@src/formBuilder/utils/FieldNamesContext";
import { DisplayFieldGroup, PropsAndValidationFieldGroup } from "@src/formBuilder/utils/FieldSection";
import { FieldNameField } from "@src/formBuilder/utils/PropsAndValidationGroupFields";
Expand Down Expand Up @@ -37,14 +38,17 @@ export const SelectOptionsBlock: BlockInterface = createListBlock({
itemsName: <FormattedMessage id="formBuilder.selectOptionsBlock.items" defaultMessage="items" />,
});

const OriginalAdminComponent = SelectOptionsBlock.AdminComponent;
SelectOptionsBlock.AdminComponent = ({ ...props }) => {
// @ts-expect-error TODO: Fix this
const fieldNames = props.state.blocks.filter(({ visible, props }) => visible && props.fieldName).map(({ props }) => props.fieldName);
const NewAdminComponent: BlockAdminComponent<SelectOptionsBlockData> = (props) => {
const fieldNames = props.state.blocks
.filter(({ visible, props }) => visible && props.fieldName)
.map(({ props }) => props.fieldName)
.filter((fieldName) => fieldName !== undefined);

return (
<FieldNamesContext.Provider value={fieldNames}>
<OriginalAdminComponent {...props} />
<SelectOptionsBlock.AdminComponent {...props} />
</FieldNamesContext.Provider>
);
};

SelectOptionsBlock.AdminComponent = NewAdminComponent;
6 changes: 3 additions & 3 deletions demo/api/block-meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -2879,7 +2879,7 @@
{
"name": "options",
"kind": "Block",
"block": "SelectOptionList",
"block": "SelectOptions",
"nullable": false
}
],
Expand Down Expand Up @@ -2922,7 +2922,7 @@
{
"name": "options",
"kind": "Block",
"block": "SelectOptionList",
"block": "SelectOptions",
"nullable": false
}
]
Expand Down Expand Up @@ -2955,7 +2955,7 @@
]
},
{
"name": "SelectOptionList",
"name": "SelectOptions",
"fields": [
{
"name": "blocks",
Expand Down
2 changes: 1 addition & 1 deletion demo/api/src/form-builder/blocks/select-options.block.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,4 @@ class SelectOptionBlockInput extends BlockInput {

const SelectOptionBlock = createBlock(SelectOptionBlockData, SelectOptionBlockInput, "SelectOption");

export const SelectOptionsBlock = createListBlock({ block: SelectOptionBlock }, "SelectOptionList");
export const SelectOptionsBlock = createListBlock({ block: SelectOptionBlock }, "SelectOptions");

0 comments on commit 873faf8

Please sign in to comment.