33namespace Code16 \Sharp \Form \Fields \Formatters ;
44
55use Code16 \Sharp \Form \Fields \SharpFormField ;
6+ use Code16 \Sharp \Utils \Transformers \ArrayConverter ;
67
78class TagsFormatter extends SharpFieldFormatter
89{
@@ -16,10 +17,11 @@ function toFront(SharpFormField $field, $value)
1617 {
1718 return collect ((array )$ value )
1819 ->map (function ($ item ) use ($ field ) {
20+ $ item = ArrayConverter::modelToArray ($ item );
1921
20- if (is_object ( $ item ) || is_array ($ item )) {
22+ if (is_array ($ item )) {
2123 return [
22- "id " => (( array ) $ item) [$ field ->idAttribute ()],
24+ "id " => $ item [$ field ->idAttribute ()],
2325 ];
2426 }
2527
@@ -45,28 +47,28 @@ function fromFront(SharpFormField $field, string $attribute, $value)
4547 return is_null ($ item ["id " ]) || isset ($ options [$ item ["id " ]]);
4648 })
4749
48- ->when (! $ field ->creatable (), function ($ collection ) {
49- // Field isn't creatable, let's just strip all null ids
50- return $ collection ->filter (function ($ item ) {
51- return !is_null ($ item ["id " ]);
52- });
53- })
50+ ->when (! $ field ->creatable (), function ($ collection ) {
51+ // Field isn't creatable, let's just strip all null ids
52+ return $ collection ->filter (function ($ item ) {
53+ return !is_null ($ item ["id " ]);
54+ });
55+ })
5456
55- ->map (function ($ item ) use ($ field ) {
56- if (is_null ($ item ["id " ])) {
57- return array_merge ([
58- $ field ->idAttribute () => null ,
59- $ field ->createAttribute () => $ item ["label " ]
60- ], $ field ->createAdditionalAttributes ()
61- );
62- }
57+ ->map (function ($ item ) use ($ field ) {
58+ if (is_null ($ item ["id " ])) {
59+ return array_merge ([
60+ $ field ->idAttribute () => null ,
61+ $ field ->createAttribute () => $ item ["label " ]
62+ ], $ field ->createAdditionalAttributes ()
63+ );
64+ }
6365
64- return [
65- $ field ->idAttribute () => $ item ["id " ]
66- ];
66+ return [
67+ $ field ->idAttribute () => $ item ["id " ]
68+ ];
6769
68- })
69- ->values ()
70- ->all ();
70+ })
71+ ->values ()
72+ ->all ();
7173 }
7274}
0 commit comments