*/ class PageConfigFactory extends Factory { /** * Define the model's default state. * * @return array */ public function definition(): array { $enum = \collect(DynamicFieldTypes::toArray())->random(); $data = [ 'label' => fake()->unique()->word(), 'view' => fake()->boolean(50) ? PageConfig::$defaultView : null, 'config' => [ [ 'type' => $enum->value, 'key' => sprintf("%s_%s", $enum->name, Str::slug($enum->label)), 'label' => $enum->label, 'validation' => $enum->validation, 'order' => 1, ], ], ]; if ($enum->value === DynamicFieldTypes::list->value) { // Set only one string input for the example. $defaultEnum = DynamicFieldTypes::string; $data['config'][0]['children'] = [ [ 'type' => $defaultEnum->value(), 'key' => sprintf("%s_%s", $defaultEnum->name(), Str::slug($defaultEnum->label())), 'label' => $defaultEnum->label(), 'validation' => $defaultEnum->getValidation(), 'order' => 1, ], ]; } return $data; } }