|
10 | 10 | 'fields' => [ |
11 | 11 | 'blueprint' => fn (Page $page) => $page->blueprint(), |
12 | 12 | 'blueprints' => fn (Page $page) => $page->blueprints(), |
13 | | - 'children' => fn (Page $page) => $page->children(), |
14 | | - 'content' => fn (Page $page) => Form::for($page)->values(), |
15 | | - 'drafts' => fn (Page $page) => $page->drafts(), |
| 13 | + 'children' => fn (Page $page) => $page->children()->filter('isListable', true), |
| 14 | + 'content' => fn (Page $page) => Form::for($page)->toFormValues(), |
| 15 | + 'drafts' => fn (Page $page) => $page->drafts()->filter('isListable', true), |
16 | 16 | 'errors' => fn (Page $page) => $page->errors(), |
17 | | - 'files' => fn (Page $page) => $page->files()->sorted(), |
| 17 | + 'files' => fn (Page $page) => $page->files()->sorted()->filter('isListable', true), |
18 | 18 | 'hasChildren' => fn (Page $page) => $page->hasChildren(), |
19 | 19 | 'hasDrafts' => fn (Page $page) => $page->hasDrafts(), |
20 | 20 | 'hasFiles' => fn (Page $page) => $page->hasFiles(), |
|
23 | 23 | 'num' => fn (Page $page) => $page->num(), |
24 | 24 | 'options' => fn (Page $page) => $page->panel()->options(['preview']), |
25 | 25 | 'panelImage' => fn (Page $page) => $page->panel()->image(), |
26 | | - 'parent' => fn (Page $page) => $page->parent(), |
27 | | - 'parents' => fn (Page $page) => $page->parents()->flip(), |
| 26 | + 'parent' => function (Page $page) { |
| 27 | + $parent = $page->parent(); |
| 28 | + |
| 29 | + if ($parent === null || $parent->isListable() === false) { |
| 30 | + return null; |
| 31 | + } |
| 32 | + |
| 33 | + return $parent; |
| 34 | + }, |
| 35 | + 'parents' => fn (Page $page) => $page->parents()->flip()->filter('isListable', true), |
28 | 36 | 'previewUrl' => fn (Page $page) => $page->previewUrl(), |
29 | 37 | 'siblings' => function (Page $page) { |
30 | 38 | if ($page->isDraft() === true) { |
31 | | - return $page->parentModel()->children()->not($page); |
| 39 | + $siblings = $page->parentModel()->children()->not($page); |
| 40 | + } else { |
| 41 | + $siblings = $page->siblings(); |
32 | 42 | } |
33 | 43 |
|
34 | | - return $page->siblings(); |
| 44 | + return $siblings->filter('isListable', true); |
35 | 45 | }, |
36 | 46 | 'slug' => fn (Page $page) => $page->slug(), |
37 | 47 | 'status' => fn (Page $page) => $page->status(), |
|
68 | 78 | 'content', |
69 | 79 | 'status', |
70 | 80 | 'options', |
71 | | - 'next' => ['id', 'slug', 'title'], |
72 | 81 | 'parents' => ['id', 'slug', 'title'], |
73 | | - 'prev' => ['id', 'slug', 'title'], |
74 | 82 | 'previewUrl', |
75 | 83 | 'slug', |
76 | 84 | 'title', |
|
0 commit comments