feat: simplifies collapsible label API, adds e2e tests

This commit is contained in:
Jarrod Flesch
2022-11-16 12:57:54 -05:00
parent 999c8fc08b
commit d9df98ff22
11 changed files with 105 additions and 110 deletions

View File

@@ -183,14 +183,13 @@ export const row = baseField.keys({
});
export const collapsible = baseField.keys({
label: joi.string().required(),
label: joi.alternatives().try(
joi.string(),
componentSchema,
),
type: joi.string().valid('collapsible').required(),
fields: joi.array().items(joi.link('#field')),
admin: baseAdminFields.keys({
components: baseAdminComponentFields.keys({
CollapsibleLabel: componentSchema,
}).default({}),
}).default({}),
admin: baseAdminFields.default(),
});
const tab = baseField.keys({

View File

@@ -186,15 +186,12 @@ export type RowField = Omit<FieldBase, 'admin' | 'name'> & {
fields: Field[];
}
export type CollapsibleField = Omit<FieldBase, 'name'> & {
export type CollapsibleField = Omit<FieldBase, 'name' | 'label'> & {
type: 'collapsible';
label: string
label: RowLabel
fields: Field[];
admin?: Admin & {
initCollapsed?: boolean | false;
components?: {
CollapsibleLabel?: RowLabel
} & Admin['components']
}
}