Skip to content

Commit eacc2ac

Browse files
committed
Replace withAjvProps and remove categorization
1 parent c3d0927 commit eacc2ac

File tree

2 files changed

+14
-19
lines changed

2 files changed

+14
-19
lines changed

packages/vanilla-renderers/src/complex/categorization/CategorizationList.tsx

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
*/
2525
import React, { useMemo } from 'react';
2626
import {
27-
Categorization,
2827
Category,
2928
deriveLabelForUISchemaElement,
3029
Translator,
@@ -37,7 +36,7 @@ const getCategoryClassName = (
3736
): string => (selectedCategory === category ? 'selected' : '');
3837

3938
export interface CategorizationProps {
40-
categorization: Categorization;
39+
filteredCategories: [Category];
4140
selectedCategory: Category;
4241
depth: number;
4342
onSelect: any;
@@ -47,8 +46,8 @@ export interface CategorizationProps {
4746
}
4847

4948
export const CategorizationList = ({
50-
categorization,
5149
selectedCategory,
50+
filteredCategories,
5251
depth,
5352
onSelect,
5453
subcategoriesClassName,
@@ -57,22 +56,20 @@ export const CategorizationList = ({
5756
}: CategorizationProps) => {
5857
const categoryLabels = useMemo(
5958
() =>
60-
categorization.elements.map((cat) =>
61-
deriveLabelForUISchemaElement(cat, t)
62-
),
63-
[categorization, t]
59+
filteredCategories.map((cat) => deriveLabelForUISchemaElement(cat, t)),
60+
[filteredCategories, t]
6461
);
6562

6663
return (
6764
<ul className={subcategoriesClassName}>
68-
{categorization.elements.map((category, idx) => {
65+
{filteredCategories.map((category, idx) => {
6966
if (isCategorization(category)) {
7067
return (
7168
<li key={categoryLabels[idx]} className={groupClassName}>
7269
<span>{categoryLabels[idx]}</span>
7370
<CategorizationList
74-
categorization={category}
7571
selectedCategory={selectedCategory}
72+
filteredCategories={filteredCategories}
7673
depth={depth + 1}
7774
onSelect={onSelect}
7875
subcategoriesClassName={subcategoriesClassName}

packages/vanilla-renderers/src/complex/categorization/CategorizationRenderer.tsx

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,14 @@ import type { Categorization, Category, LayoutProps } from '@jsonforms/core';
2727
import { isVisible } from '@jsonforms/core';
2828
import {
2929
TranslateProps,
30+
useJsonForms,
3031
withJsonFormsLayoutProps,
3132
withTranslateProps,
3233
} from '@jsonforms/react';
3334
import { CategorizationList } from './CategorizationList';
3435
import { SingleCategory } from './SingleCategory';
3536
import { withVanillaControlProps } from '../../util';
3637
import type { AjvProps, VanillaRendererProps } from '../../index';
37-
import { withAjvProps } from '../../index';
3838

3939
export interface CategorizationState {
4040
selectedCategory: Category;
@@ -55,14 +55,14 @@ export const CategorizationRenderer = ({
5555
visible,
5656
getStyleAsClassName,
5757
onChange,
58-
ajv,
5958
}: LayoutProps &
6059
VanillaRendererProps &
6160
TranslateProps &
6261
CategorizationProps &
6362
AjvProps) => {
63+
const ajv = useJsonForms().core.ajv;
6464
const categorization = uischema as Categorization;
65-
const categories = useMemo(
65+
const filteredCategories = useMemo(
6666
() =>
6767
categorization.elements.filter((category: Category) =>
6868
isVisible(category, data, undefined, ajv)
@@ -101,8 +101,8 @@ export const CategorizationRenderer = ({
101101
>
102102
<div className={masterClassNames}>
103103
<CategorizationList
104-
categorization={categorization}
105-
selectedCategory={categories[safeCategory]}
104+
filteredCategories={filteredCategories}
105+
selectedCategory={filteredCategories[safeCategory]}
106106
depth={0}
107107
onSelect={onCategorySelected}
108108
subcategoriesClassName={subcategoriesClassName}
@@ -112,7 +112,7 @@ export const CategorizationRenderer = ({
112112
</div>
113113
<div className={detailClassNames}>
114114
<SingleCategory
115-
category={categories[safeCategory]}
115+
category={filteredCategories[safeCategory]}
116116
schema={schema}
117117
path={path}
118118
key={safeCategory}
@@ -122,8 +122,6 @@ export const CategorizationRenderer = ({
122122
);
123123
};
124124

125-
export default withAjvProps(
126-
withVanillaControlProps(
127-
withTranslateProps(withJsonFormsLayoutProps(CategorizationRenderer))
128-
)
125+
export default withVanillaControlProps(
126+
withTranslateProps(withJsonFormsLayoutProps(CategorizationRenderer))
129127
);

0 commit comments

Comments
 (0)