36 lines
953 B
TypeScript
36 lines
953 B
TypeScript
![]() |
import { PageAttributeInput } from "../components/PageAttributes";
|
||
|
import {
|
||
|
PageDetails_page,
|
||
|
PageDetails_page_pageType
|
||
|
} from "../types/PageDetails";
|
||
|
|
||
|
export function getAttributeInputFromPage(
|
||
|
page: PageDetails_page
|
||
|
): PageAttributeInput[] {
|
||
|
return page?.attributes.map(attribute => ({
|
||
|
data: {
|
||
|
inputType: attribute.attribute.inputType,
|
||
|
isRequired: attribute.attribute.valueRequired,
|
||
|
values: attribute.attribute.values
|
||
|
},
|
||
|
id: attribute.attribute.id,
|
||
|
label: attribute.attribute.name,
|
||
|
value: attribute.values.map(value => value.slug)
|
||
|
}));
|
||
|
}
|
||
|
|
||
|
export function getAttributeInputFromPageType(
|
||
|
pageType: PageDetails_page_pageType
|
||
|
): PageAttributeInput[] {
|
||
|
return pageType?.attributes.map(attribute => ({
|
||
|
data: {
|
||
|
inputType: attribute.inputType,
|
||
|
isRequired: attribute.valueRequired,
|
||
|
values: attribute.values
|
||
|
},
|
||
|
id: attribute.id,
|
||
|
label: attribute.name,
|
||
|
value: []
|
||
|
}));
|
||
|
}
|