Skip to content

Commit 75a0396

Browse files
duncanmccleanjackmcdadejasonvarga
authored
[6.x] Bring back type column in relationship selector (#13172)
Co-authored-by: Jack McDade <jack@jackmcdade.com> Co-authored-by: Jason Varga <jason@pixelfear.com>
1 parent 08c8115 commit 75a0396

8 files changed

Lines changed: 51 additions & 24 deletions

File tree

resources/js/components/inputs/relationship/Selector.vue

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@
4343
<template #cell-status="{ row: entry }">
4444
<StatusIndicator :status="entry.status" show-label :show-dot="false" />
4545
</template>
46+
<template #cell-type="{ value }">
47+
<Badge :text="value" />
48+
</template>
4649
</Table>
4750
<PanelFooter>
4851
<Pagination />
@@ -136,6 +139,7 @@ import {
136139
Checkbox,
137140
Icon,
138141
StatusIndicator,
142+
Badge,
139143
} from '@/components/ui';
140144
141145
export default {
@@ -154,6 +158,7 @@ export default {
154158
Checkbox,
155159
Icon,
156160
StatusIndicator,
161+
Badge,
157162
},
158163
159164
// todo, when opening and closing the stack, you cant save?

resources/js/components/ui/Listing/TableBody.vue

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -116,13 +116,6 @@ function handleRowClick(event, index) {
116116
/>
117117
</slot>
118118
</td>
119-
<!-- <td class="type-column" v-if="type">
120-
<Badge
121-
size="sm"
122-
v-if="type === 'entries' || type === 'terms'"
123-
:label="type === 'entries' ? __(row.collection.title) : __(row.taxonomy.title)"
124-
/>
125-
</td> -->
126119
<td class="actions-column" v-if="hasActions || $slots['prepended-row-actions']">
127120
<RowActions :row="row">
128121
<template v-if="$slots['prepended-row-actions']" #prepended-actions="{ row }">

src/Http/Resources/CP/Entries/Entries.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public function columnPreferenceKey($key)
2929
return $this;
3030
}
3131

32-
private function setColumns()
32+
protected function setColumns()
3333
{
3434
$columns = $this->blueprint->columns();
3535

src/Http/Resources/CP/Entries/EntriesFieldtypeEntries.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Statamic\Http\Resources\CP\Entries;
44

55
use Illuminate\Pagination\AbstractPaginator;
6+
use Statamic\CP\Column;
67
use Statamic\Fieldtypes\Entries as EntriesFieldtype;
78

89
class EntriesFieldtypeEntries extends Entries
@@ -29,4 +30,23 @@ protected function collectResource($resource)
2930

3031
return $collection;
3132
}
33+
34+
protected function setColumns()
35+
{
36+
parent::setColumns();
37+
38+
$columns = $this->columns;
39+
40+
$type = Column::make('type')
41+
->label(__('Collection'))
42+
->listable(true)
43+
->defaultVisibility(true)
44+
->visible(true)
45+
->sortable(false)
46+
->defaultOrder($columns->count() + 1);
47+
48+
$columns->put('type', $type);
49+
50+
$this->columns = $columns->rejectUnlisted()->values();
51+
}
3252
}

src/Http/Resources/CP/Entries/ListedEntry.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,9 @@ protected function values($extra = [])
5454
$key = $column->field;
5555
$field = $this->blueprint->field($key);
5656

57-
if ($key === 'site') {
57+
if ($key === 'type') {
58+
return [$key => $this->resource->collection()->title()];
59+
} elseif ($key === 'site') {
5860
$value = $this->resource->locale();
5961
} else {
6062
$value = $extra[$key] ?? $this->resource->value($key) ?? $field?->defaultValue();

src/Http/Resources/CP/Taxonomies/ListedTerm.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ protected function values($extra = [])
5555
$key = $column->field;
5656
$field = $this->blueprint->field($key);
5757

58-
if ($key == 'taxonomy') {
58+
if ($key == 'type') {
5959
return [$key => $this->resource->taxonomy()->title()];
6060
} else {
6161
$value = $extra[$key] ?? $this->resource->value($key) ?? $field?->defaultValue();

src/Http/Resources/CP/Taxonomies/Terms.php

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
namespace Statamic\Http\Resources\CP\Taxonomies;
44

55
use Illuminate\Http\Resources\Json\ResourceCollection;
6-
use Statamic\CP\Column;
76
use Statamic\Http\Resources\CP\Concerns\HasRequestedColumns;
87

98
class Terms extends ResourceCollection
@@ -29,22 +28,10 @@ public function columnPreferenceKey($key)
2928
return $this;
3029
}
3130

32-
private function setColumns()
31+
protected function setColumns()
3332
{
3433
$columns = $this->blueprint->columns();
3534

36-
$columns->push(
37-
Column::make()
38-
->field('taxonomy')
39-
->fieldtype('term')
40-
->label(__('Taxonomy'))
41-
->listable(true)
42-
->defaultVisibility(true)
43-
->visible(true)
44-
->sortable(true)
45-
->defaultOrder($columns->count() + 1)
46-
);
47-
4835
if ($key = $this->columnPreferenceKey) {
4936
$columns->setPreferred($key);
5037
}

src/Http/Resources/CP/Taxonomies/TermsFieldtypeTerms.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Statamic\Http\Resources\CP\Taxonomies;
44

55
use Illuminate\Pagination\AbstractPaginator;
6+
use Statamic\CP\Column;
67
use Statamic\Fieldtypes\Terms as TermsFieldtype;
78

89
class TermsFieldtypeTerms extends Terms
@@ -29,4 +30,23 @@ protected function collectResource($resource)
2930

3031
return $collection;
3132
}
33+
34+
protected function setColumns()
35+
{
36+
parent::setColumns();
37+
38+
$columns = $this->columns;
39+
40+
$type = Column::make('type')
41+
->label(__('Taxonomy'))
42+
->listable(true)
43+
->defaultVisibility(true)
44+
->visible(true)
45+
->sortable(false)
46+
->defaultOrder($columns->count() + 1);
47+
48+
$columns->put('type', $type);
49+
50+
$this->columns = $columns->rejectUnlisted()->values();
51+
}
3252
}

0 commit comments

Comments
 (0)