• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

conedevelopment / root / 20662331888

02 Jan 2026 04:46PM UTC coverage: 75.076% (-0.07%) from 75.141%
20662331888

push

github

iamgergo
fix

0 of 4 new or added lines in 1 file covered. (0.0%)

3470 of 4622 relevant lines covered (75.08%)

32.82 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

7.5
/src/Fields/Fieldset.php
1
<?php
2

3
declare(strict_types=1);
4

5
namespace Cone\Root\Fields;
6

7
use Closure;
8
use Cone\Root\Traits\RegistersRoutes;
9
use Cone\Root\Traits\ResolvesFields;
10
use Illuminate\Database\Eloquent\Model;
11
use Illuminate\Http\Request;
12
use Illuminate\Routing\Router;
13
use Illuminate\Support\Str;
14

15
class Fieldset extends Field
16
{
17
    use RegistersRoutes;
18
    use ResolvesFields;
19

20
    /**
21
     * The Blade template.
22
     */
23
    protected string $template = 'root::fields.fieldset';
24

25
    /**
26
     * Create a new field instance.
27
     */
28
    public function __construct(string $label, Closure|string|null $modelAttribute = null)
1✔
29
    {
30
        parent::__construct($label, $modelAttribute);
1✔
31

32
        $this->hiddenOn(['index', 'show']);
1✔
33
    }
34

35
    /**
36
     * Get the URI key.
37
     */
38
    public function getUriKey(): string
×
39
    {
40
        return str_replace('.', '-', $this->getRequestKey());
×
41
    }
42

43
    /**
44
     * Handle the callback for the field resolution.
45
     */
46
    protected function resolveField(Request $request, Field $field): void
×
47
    {
48
        $field->setAttribute('form', $this->getAttribute('form'));
×
49
        $field->resolveErrorsUsing($this->errorsResolver);
×
50

51
        if ($field instanceof Relation) {
×
52
            $field->resolveRouteKeyNameUsing(
×
53
                fn (): string => Str::of($field->getRelationName())->singular()->ucfirst()->prepend($this->getModelAttribute())->value()
×
54
            );
×
55
        }
56
    }
57

58
    /**
59
     * Register the routes using the given router.
60
     */
61
    public function registerRoutes(Request $request, Router $router): void
×
62
    {
63
        $router->prefix($this->getUriKey())->group(function (Router $router) use ($request): void {
×
64
            $this->resolveFields($request)->registerRoutes($request, $router);
×
65
        });
×
66
    }
67

68
    /**
69
     * {@inheritdoc}
70
     */
71
    public function persist(Request $request, Model $model, mixed $value): void
×
72
    {
73
        $this->resolveFields($request)->each(static function (Field $field) use ($request, $model): void {
×
74
            $field->persist($request, $model, $field->getValueForHydrate($request));
×
75
        });
×
76
    }
77

78
    /**
79
     * {@inheritdoc}
80
     */
NEW
81
    public function hydrateFromRequest(Request $request, Model $model): void
×
82
    {
NEW
83
        $this->resolveFields($request)->each(static function (Field $field) use ($request, $model): void {
×
NEW
84
            $field->hydrateFromRequest($request, $model);
×
NEW
85
        });
×
86
    }
87

88
    /**
89
     * {@inheritdoc}
90
     */
91
    public function resolveHydrate(Request $request, Model $model, mixed $value): void
×
92
    {
93
        $this->resolveFields($request)->each(static function (Field $field) use ($request, $model): void {
×
94
            $field->resolveHydrate($request, $model, $field->getValueForHydrate($request));
×
95
        });
×
96
    }
97

98
    /**
99
     * {@inheritdoc}
100
     */
101
    public function invalid(Request $request): bool
×
102
    {
103
        return parent::invalid($request)
×
104
            || $this->resolveFields($request)->some(fn (Field $field): bool => $field->invalid($request));
×
105
    }
106

107
    /**
108
     * {@inheritdoc}
109
     */
110
    public function toInput(Request $request, Model $model): array
×
111
    {
112
        return array_merge(parent::toInput($request, $model), [
×
113
            'fields' => $this->resolveFields($request)->mapToInputs($request, $model),
×
114
        ]);
×
115
    }
116

117
    /**
118
     * {@inheritdoc}
119
     */
120
    public function toValidate(Request $request, Model $model): array
×
121
    {
122
        return array_merge(
×
123
            parent::toValidate($request, $model),
×
124
            $this->resolveFields($request)->mapToValidate($request, $model)
×
125
        );
×
126
    }
127
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc