tachybase_todo/packages/plugins/@nocobase/plugin-mock-collections/src/server/field-interfaces/checkboxGroup.ts
chenos 3b5b732a1a
feat: plugin-mock-collections (#2988)
* feat: plugin-mock-collections

* fix: mock bug

* feat: field interfaces

* fix: field interface

* fix: formula

* fix: file collection

* fix: map

* refactor: change api path from :create to :mock

* fix: avoid test failed

* chore: remove useless code

* fix: mock records

* fix: association

* feat: custom data

* fix: mockAttachment

* fix: count

---------

Co-authored-by: Rain <958414905@qq.com>
2023-11-10 11:32:03 +08:00

22 lines
599 B
TypeScript

import { faker } from '@faker-js/faker';
import _ from 'lodash';
export const checkboxGroup = {
options: (options) => ({
interface: 'checkboxGroup',
type: 'array',
defaultValue: [],
// name,
uiSchema: {
type: 'array',
'x-component': 'Checkbox.Group',
enum: options?.uiSchema?.enum || [
{ value: 'option1', label: 'Option1' },
{ value: 'option2', label: 'Option2' },
{ value: 'option3', label: 'Option3' },
],
},
}),
mock: (options) => faker.helpers.arrayElements(_.map(options?.uiSchema?.enum, _.property('value'))),
};