meilisearch-admin/app/templates/admin/indexes/item/documents/index.hbs
Stanislav Romanov e6c21dc432 Add dopdown
2022-09-10 10:21:30 +03:00

120 lines
3.3 KiB
Handlebars

<Form::Input
@placeholder='Search'
@prefixIcon={{this.Magnify}}
@value={{this.q}}
@onChange={{this.searchTextChanged}}
/>
{{!-- <div class='flex items-center mb-4'>
<div class='flex items-center ml-auto'>
<Icons::Check class='mr-1' @size='18' />
Hits:
{{@model.data.estimatedTotalHits}}
<Icons::ClockOutline class='ml-6 mr-1' @size='18' />
Time spent:
{{@model.data.processingTimeMs}}
ms
</div>
</div> --}}
<LinkTo
@route='admin.indexes.item.documents.new'
@model={{@model.index}}
class='block mb-4'
>
Create new document
</LinkTo>
{{#if (gt @model.data.estimatedTotalHits 0)}}
<RoyalTable
@data={{@model.data.hits}}
@sortingProp={{this.sort}}
@onSort={{this.onSort}}
class='w-full'
as |Column data|
>
<Column
@name={{capitalize @model.index.primaryKey}}
@prop={{@model.index.primaryKey}}
@sortable={{includes @model.index.primaryKey @model.sortableAttributes}}
>
<LinkTo
@route='admin.indexes.item.documents.document'
@model={{get data @model.index.primaryKey}}
>
{{get data @model.index.primaryKey}}
</LinkTo>
</Column>
{{#each-in @model.stats.fieldDistribution as |field|}}
{{#if (not-eq field @model.index.primaryKey)}}
<Column
@name={{capitalize field}}
@prop={{field}}
@sortable={{includes field @model.sortableAttributes}}
>
{{#let (get data field) as |value|}}
{{if (eq (type-of value) 'object') (stringify value) value}}
{{/let}}
</Column>
{{/if}}
{{/each-in}}
<Column class='relative'>
{{#let
(array @model.index.uid (get data @model.index.primaryKey))
'flex items-center px-4 py-2 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'
>
<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>
</RoyalTable>
<div class='flex items-center'>
{{this.fromHits}}
—
{{this.toHits}}
of
{{@model.data.estimatedTotalHits}}
<Pagination
@count={{@model.data.estimatedTotalHits}}
@current={{this.page}}
@perPage={{@model.data.limit}}
class='ml-auto'
/>
</div>
{{else}}
No results found
{{/if}}