Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
12 / 12
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
AllContent
100.00% covered (success)
100.00%
12 / 12
100.00% covered (success)
100.00%
2 / 2
2
100.00% covered (success)
100.00%
1 / 1
 entries
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 columns
100.00% covered (success)
100.00%
11 / 11
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3declare(strict_types=1);
4
5namespace Cosray\Collection;
6
7use Cosray\Column;
8use Cosray\Contract\Columns;
9use Cosray\Contract\Entries;
10use Cosray\Finder\Nodes;
11use Cosray\Schema\Label;
12use Cosray\Schema\Listing;
13use Override;
14
15/**
16 * The built-in collection at the top of the content rail: every node of
17 * every type, most recently changed first, searchable by title.
18 */
19#[Label('collection:all'), Listing(search: ['title'])]
20final class AllContent implements Entries, Columns
21{
22    #[Override]
23    public function entries(Nodes $nodes): Nodes
24    {
25        return $nodes;
26    }
27
28    #[Override]
29    public function columns(): array
30    {
31        return [
32            Column::new(__('collection:column-title'), 'title')->bold(true)->sort('title'),
33            Column::new(__('collection:column-type'), 'meta.name'),
34            Column::new(__('collection:column-editor'), 'meta.editor'),
35            Column::new(__('collection:column-created'), 'meta.created')
36                ->date(true)
37                ->sort('created', direction: 'desc'),
38            Column::new(__('collection:column-changed'), 'meta.changed')
39                ->date(true)
40                ->sort('changed', direction: 'desc', default: true),
41        ];
42    }
43}