fix(admin-ui): hide categories in products behind feature flag (#3467)

This commit is contained in:
Riqwan Thamir
2023-03-14 11:20:39 +01:00
committed by GitHub
parent 478903b55a
commit d278ac25c8
4 changed files with 23 additions and 8 deletions

View File

@@ -0,0 +1,5 @@
---
"@medusajs/admin-ui": patch
---
fix(admin-ui): hide categories in products behind feature flag

View File

@@ -27,8 +27,11 @@ type Props = {
const OrganizeForm = ({ form }: Props) => {
const { control, path, setValue } = form
const { productTypeOptions, collectionOptions, categoriesOptions } =
useOrganizeData()
const {
productTypeOptions,
collectionOptions,
categoriesOptions = [],
} = useOrganizeData()
const { isFeatureEnabled } = useFeatureFlag()
@@ -90,7 +93,7 @@ const OrganizeForm = ({ form }: Props) => {
name={path("categories")}
control={control}
render={({ field: { value, onChange } }) => {
if (!categoriesOptions) {
if (categoriesOptions.length === 0) {
return null
}

View File

@@ -8,17 +8,24 @@ import {
import { NestedMultiselectOption } from "../../../categories/components/multiselect"
import { transformCategoryToNestedFormOptions } from "../../../categories/utils/transform-response"
import {
useFeatureFlag,
FeatureFlag,
} from "../../../../providers/feature-flag-provider"
const useOrganizeData = () => {
const { isFeatureEnabled } = useFeatureFlag()
const { product_types } = useAdminProductTypes(undefined, {
staleTime: 0,
refetchOnWindowFocus: true,
})
const { collections } = useAdminCollections()
const { product_categories: categories } = useAdminProductCategories({
parent_category_id: "null",
include_descendants_tree: true,
})
const { product_categories: categories = [] } =
isFeatureEnabled(FeatureFlag.PRODUCT_CATEGORIES) &&
useAdminProductCategories({
parent_category_id: "null",
include_descendants_tree: true,
})
const productTypeOptions = useMemo(() => {
return (

View File

@@ -141,7 +141,7 @@ const getDefaultValues = (product: Product): GeneralFormWrapper => {
? { label: product.type.value, value: product.type.id }
: null,
tags: product.tags ? product.tags.map((t) => t.value) : null,
categories: product.categories.map((c) => c.id),
categories: product?.categories?.map((c) => c.id),
},
discountable: {
value: product.discountable,