Add link for primaryKey in documents list

This commit is contained in:
Stanislav Romanov 2022-09-19 14:56:41 +03:00
parent 222b5eaf8a
commit 57010cc84f

View file

@ -67,60 +67,73 @@
class='w-full'
as |Column data|
>
{{#each this.attributes as |field|}}
{{#if (not (includes field this.hiddenFields))}}
<Column
@name={{capitalize field}}
@prop={{field}}
@sortable={{includes field @model.sortableAttributes}}
>
{{#let (get data field) as |value|}}
{{if (eq (type-of value) 'object') (json-stringify value) value}}
{{/let}}
</Column>
{{/if}}
{{/each}}
<Column class='relative'>
{{#let
(array @model.index.uid (get data @model.index.primaryKey))
'flex items-center px-4 py-2 text-inherit no-underline text-sm hover:bg-base-6 hover:text-base-1'
as |models linkClasses|
}}
<Menu as |menu|>
<menu.Button class='inline-flex items-center'>
<Icons::DotsHorizontal />
</menu.Button>
<menu.Items
class='absolute z-dropdown right-0 w-28 mt-2 py-1 origin-top-right bg-base-7 border rounded shadow-sm outline-none'
{{#let
(array @model.index.uid (get data @model.index.primaryKey))
as |models|
}}
{{#each this.attributes as |field|}}
{{#if (not (includes field this.hiddenFields))}}
<Column
@name={{capitalize field}}
@prop={{field}}
@sortable={{includes field @model.sortableAttributes}}
>
<LinkTo
@route='admin.indexes.item.documents.document'
@models={{models}}
class={{linkClasses}}
{{#let (get data field) as |value|}}
{{#if (eq @model.index.primaryKey field)}}
<LinkTo
@route='admin.indexes.item.documents.document'
@models={{models}}
>{{value}}</LinkTo>
{{else if (eq (type-of value) 'object')}}
{{json-stringify value}}
{{else}}
{{value}}
{{/if}}
{{/let}}
</Column>
{{/if}}
{{/each}}
<Column class='relative'>
{{#let
'flex items-center px-4 py-2 text-inherit no-underline text-sm hover:bg-base-6 hover:text-base-1'
as |linkClasses|
}}
<Menu as |menu|>
<menu.Button class='inline-flex items-center'>
<Icons::DotsHorizontal />
</menu.Button>
<menu.Items
class='absolute z-dropdown right-0 w-28 mt-2 py-1 origin-top-right bg-base-7 border rounded shadow-sm outline-none'
>
<Icons::FileDocumentOutline @size={{18}} class='mr-1' />
View
</LinkTo>
<LinkTo
@route='admin.indexes.item.documents.document.edit'
@models={{models}}
class={{linkClasses}}
>
<Icons::PencilOutline @size={{18}} class='mr-1' />
Edit
</LinkTo>
<LinkTo
@route='admin.indexes.item.documents.document.delete'
@models={{models}}
class={{linkClasses}}
>
<Icons::TrashCanOutline @size={{18}} class='mr-1' />
Delete
</LinkTo>
</menu.Items>
</Menu>
{{/let}}
</Column>
<LinkTo
@route='admin.indexes.item.documents.document'
@models={{models}}
class={{linkClasses}}
>
<Icons::FileDocumentOutline @size={{18}} class='mr-1' />
View
</LinkTo>
<LinkTo
@route='admin.indexes.item.documents.document.edit'
@models={{models}}
class={{linkClasses}}
>
<Icons::PencilOutline @size={{18}} class='mr-1' />
Edit
</LinkTo>
<LinkTo
@route='admin.indexes.item.documents.document.delete'
@models={{models}}
class={{linkClasses}}
>
<Icons::TrashCanOutline @size={{18}} class='mr-1' />
Delete
</LinkTo>
</menu.Items>
</Menu>
{{/let}}
</Column>
{{/let}}
</SimpleTable>
<div class='flex items-center'>