22
33namespace Vormkracht10 \FilamentFields \Concerns ;
44
5- use Illuminate \Support \Collection ;
65use Livewire \Attributes \On ;
76use Vormkracht10 \Fields \Fields ;
8- use Vormkracht10 \ FilamentFields \ Contracts \ FieldInspector ;
7+ use Illuminate \ Support \ Collection ;
98use Vormkracht10 \FilamentFields \Enums \Field ;
9+ use Vormkracht10 \FilamentFields \Fields \Tags ;
10+ use Vormkracht10 \FilamentFields \Fields \Text ;
11+ use Vormkracht10 \FilamentFields \Fields \Color ;
12+ use Vormkracht10 \FilamentFields \Fields \Radio ;
13+ use Vormkracht10 \FilamentFields \Fields \Select ;
14+ use Vormkracht10 \FilamentFields \Fields \Toggle ;
15+ use Vormkracht10 \FilamentFields \Fields \Checkbox ;
16+ use Vormkracht10 \FilamentFields \Fields \DateTime ;
17+ use Vormkracht10 \FilamentFields \Fields \KeyValue ;
18+ use Vormkracht10 \FilamentFields \Fields \Repeater ;
19+ use Vormkracht10 \FilamentFields \Fields \Textarea ;
20+ use Vormkracht10 \FilamentFields \Fields \RichEditor ;
21+ use Vormkracht10 \FilamentFields \Fields \CheckboxList ;
1022use Vormkracht10 \FilamentFields \Models \Field as Model ;
23+ use Vormkracht10 \FilamentFields \Contracts \FieldInspector ;
1124
1225trait HasFieldsMapper
1326{
1427 private FieldInspector $ fieldInspector ;
1528
16- // TODO: Add the fields
1729 private const FIELD_TYPE_MAP = [
18- // 'text' => Text::class,
19- // 'textarea' => Textarea::class,
20- // 'rich-editor' => RichEditor::class,
21- // 'repeater' => Repeater::class,
22- // 'select' => FieldsSelect::class,
23- // 'checkbox' => Checkbox::class,
24- // 'checkbox-list' => CheckboxList::class,
25- // 'media' => Media::class,
26- // 'key-value' => KeyValue::class,
27- // 'radio' => Radio::class,
28- // 'toggle' => Toggle::class,
29- // 'color' => Color::class,
30- // 'datetime' => DateTime::class,
31- // 'tags' => Tags::class,
30+ 'text ' => Text::class,
31+ 'textarea ' => Textarea::class,
32+ 'rich-editor ' => RichEditor::class,
33+ 'repeater ' => Repeater::class,
34+ // 'select' => Select::class, WIP
35+ 'checkbox ' => Checkbox::class,
36+ // 'checkbox-list' => CheckboxList::class, WIP
37+ 'key-value ' => KeyValue::class,
38+ 'radio ' => Radio::class,
39+ 'toggle ' => Toggle::class,
40+ 'color ' => Color::class,
41+ 'datetime ' => DateTime::class,
42+ 'tags ' => Tags::class,
3243 ];
3344
3445 public function boot (): void
@@ -101,7 +112,7 @@ private function resolveFormFields(): array
101112 $ customFields = $ this ->resolveCustomFields ();
102113
103114 return $ this ->record ->fields
104- ->map (fn ($ field ) => $ this ->resolveFieldInput ($ field , $ customFields ))
115+ ->map (fn ($ field ) => $ this ->resolveFieldInput ($ field , $ customFields ))
105116 ->filter ()
106117 ->values ()
107118 ->all ();
@@ -110,11 +121,12 @@ private function resolveFormFields(): array
110121 private function resolveCustomFields (): Collection
111122 {
112123 return collect (Fields::getFields ())
113- ->map (fn ($ fieldClass ) => new $ fieldClass );
124+ ->map (fn ($ fieldClass ) => new $ fieldClass );
114125 }
115126
116127 private function resolveFieldInput (Model $ field , Collection $ customFields ): ?object
117128 {
129+ // TODO: Setting. shoud be dynamic
118130 $ inputName = "setting. {$ field ->slug }" ;
119131
120132 // Try to resolve from standard field type map
@@ -129,4 +141,4 @@ private function resolveFieldInput(Model $field, Collection $customFields): ?obj
129141
130142 return null ;
131143 }
132- }
144+ }
0 commit comments