Skip to content

Commit 8f904e7

Browse files
committed
updated array modal renderer to use schema instead of old apis
1 parent 2187614 commit 8f904e7

File tree

2 files changed

+16
-37
lines changed

2 files changed

+16
-37
lines changed

packages/spectrum/src/complex/ArrayModal/SpectrumArrayModalControl/AddDialog.tsx

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ interface ArrayModalControlAddDialogProps {
1515
uischema: any;
1616
handleClose: any;
1717
selectedIndex: any;
18-
oneOfRenderInfos: any;
18+
schema: any;
1919
handleOnConfirm: any;
2020
open: boolean;
2121
setSelectedIndex: any;
@@ -25,7 +25,7 @@ export default function AddDialog({
2525
uischema,
2626
handleClose,
2727
selectedIndex,
28-
oneOfRenderInfos,
28+
schema,
2929
handleOnConfirm,
3030
open,
3131
setSelectedIndex,
@@ -65,18 +65,18 @@ export default function AddDialog({
6565
selectedKey={String(selectedIndex)}
6666
width='calc(100% - size-200)'
6767
>
68-
{oneOfRenderInfos.map(
69-
(oneOfRenderInfo: any, oneOfIndex: number) => (
70-
<Item key={oneOfIndex}>{oneOfRenderInfo.label}</Item>
71-
)
72-
)}
68+
{schema?.oneOf?.map((item: any, index: number) => (
69+
<Item key={index}>
70+
{item.title ?? `One Of Item ${index}`}
71+
</Item>
72+
))}
7373
</Picker>
7474
</>
7575
) : (
7676
<>
7777
<ListBox
7878
aria-label='Select'
79-
items={oneOfRenderInfos}
79+
items={schema}
8080
margin='size-100'
8181
onSelectionChange={(selected) =>
8282
handleListBoxChange(selected)
@@ -86,11 +86,11 @@ export default function AddDialog({
8686
width='calc(100% - size-200)'
8787
maxHeight='size-2400'
8888
>
89-
{oneOfRenderInfos.map(
90-
(oneOfRenderInfo: any, oneOfIndex: number) => (
91-
<Item key={oneOfIndex}>{oneOfRenderInfo.label}</Item>
92-
)
93-
)}
89+
{schema?.oneOf?.map((item: any, index: number) => (
90+
<Item key={index}>
91+
{item.title ?? `One Of Item ${index}`}
92+
</Item>
93+
))}
9494
</ListBox>
9595
</>
9696
)}

packages/spectrum/src/complex/ArrayModal/SpectrumArrayModalControl/index.tsx

Lines changed: 3 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,12 @@
2525
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
2626
THE SOFTWARE.
2727
*/
28-
import React, { useCallback, useState, useMemo } from 'react';
28+
import React, { useCallback, useState } from 'react';
2929
import {
3030
ArrayControlProps,
3131
CombinatorProps,
32-
JsonSchema,
3332
OwnPropsOfControl,
34-
createCombinatorRenderInfos,
3533
createDefaultValue,
36-
resolveSubSchemas,
3734
} from '@jsonforms/core';
3835
import { Button, Flex, Heading, Text, View } from '@adobe/react-spectrum';
3936
import SpectrumArrayModalItem from '../SpectrumArrayModalItem';
@@ -47,7 +44,6 @@ export interface OwnOneOfProps extends OwnPropsOfControl {
4744
indexOfFittingSchema?: number;
4845
}
4946

50-
const oneOf = 'oneOf';
5147
export const SpectrumArrayModalControl = React.memo(
5248
({
5349
addItem,
@@ -61,23 +57,6 @@ export const SpectrumArrayModalControl = React.memo(
6157
uischema,
6258
uischemas,
6359
}: ArrayControlProps & CombinatorProps) => {
64-
const _schema = useMemo(
65-
() => resolveSubSchemas(schema, rootSchema, oneOf),
66-
[schema, rootSchema, oneOf]
67-
);
68-
const oneOfRenderInfos = useMemo(
69-
() =>
70-
createCombinatorRenderInfos(
71-
(_schema as JsonSchema).oneOf,
72-
rootSchema,
73-
oneOf,
74-
uischema,
75-
path,
76-
uischemas
77-
),
78-
[_schema, rootSchema, oneOf, uischema, uischemas, path]
79-
);
80-
8160
const [selectedIndex, setSelectedIndex] = useState(0);
8261
const [open, setOpen] = useState(false);
8362
const handleClose = () => setOpen(false);
@@ -132,7 +111,7 @@ export const SpectrumArrayModalControl = React.memo(
132111
uischema={uischema}
133112
handleClose={handleClose}
134113
selectedIndex={selectedIndex}
135-
oneOfRenderInfos={oneOfRenderInfos}
114+
schema={schema}
136115
setSelectedIndex={setSelectedIndex}
137116
handleOnConfirm={handleOnConfirm}
138117
open={open}
@@ -172,7 +151,7 @@ export const SpectrumArrayModalControl = React.memo(
172151
schema={schema}
173152
uischema={uischema}
174153
uischemas={uischemas}
175-
></SpectrumArrayModalItem>
154+
/>
176155
{uischema.options?.showSortButtons && (
177156
<SortButtons
178157
data={data}

0 commit comments

Comments
 (0)