mirror of
https://github.com/hcengineering/platform.git
synced 2025-04-29 03:34:31 +00:00
Specials fix (#1982)
Signed-off-by: Denis Bykhov <80476319+BykhovDenis@users.noreply.github.com>
This commit is contained in:
parent
81035d2462
commit
85220551aa
@ -25,19 +25,24 @@
|
|||||||
export let label: IntlString
|
export let label: IntlString
|
||||||
export let createLabel: IntlString | undefined
|
export let createLabel: IntlString | undefined
|
||||||
export let createComponent: AnyComponent | undefined
|
export let createComponent: AnyComponent | undefined
|
||||||
export let descriptor: Ref<ViewletDescriptor> = view.viewlet.Table
|
export let descriptor: Ref<ViewletDescriptor> | undefined
|
||||||
export let baseQuery: DocumentQuery<Doc> = {}
|
export let baseQuery: DocumentQuery<Doc> = {}
|
||||||
|
|
||||||
let search = ''
|
let search = ''
|
||||||
$: resultQuery = search === '' ? {} : { $search: search }
|
|
||||||
let filters: Filter[] = []
|
let filters: Filter[] = []
|
||||||
let descr: Viewlet | undefined
|
let descr: Viewlet | undefined
|
||||||
let loading = true
|
|
||||||
|
$: resultQuery = updateResultQuery(search, baseQuery)
|
||||||
|
|
||||||
const preferenceQuery = createQuery()
|
const preferenceQuery = createQuery()
|
||||||
let preference: ViewletPreference | undefined
|
let preference: ViewletPreference | undefined
|
||||||
|
|
||||||
const client = getClient()
|
const client = getClient()
|
||||||
|
let loading = true
|
||||||
|
$: updateDescriptor(_class, descriptor)
|
||||||
|
|
||||||
|
function updateDescriptor (_class: Ref<Class<Doc>>, descriptor: Ref<ViewletDescriptor> = view.viewlet.Table) {
|
||||||
|
loading = true
|
||||||
client
|
client
|
||||||
.findOne<Viewlet>(view.class.Viewlet, {
|
.findOne<Viewlet>(view.class.Viewlet, {
|
||||||
attachTo: _class,
|
attachTo: _class,
|
||||||
@ -59,14 +64,15 @@
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
|
||||||
function showCreateDialog (ev: MouseEvent) {
|
function showCreateDialog (ev: MouseEvent) {
|
||||||
if (createComponent === undefined) return
|
if (createComponent === undefined) return
|
||||||
showPopup(createComponent, {}, 'top')
|
showPopup(createComponent, {}, 'top')
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateResultQuery (search: string): void {
|
function updateResultQuery (search: string, baseQuery: DocumentQuery<Doc> = {}): DocumentQuery<Doc> {
|
||||||
resultQuery = search === '' ? baseQuery : { ...baseQuery, $search: search }
|
return search === '' ? baseQuery : { ...baseQuery, $search: search }
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@ -77,12 +83,7 @@
|
|||||||
<div class="ml-4"><FilterButton {_class} bind:filters /></div>
|
<div class="ml-4"><FilterButton {_class} bind:filters /></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<SearchEdit
|
<SearchEdit bind:value={search} />
|
||||||
bind:value={search}
|
|
||||||
on:change={() => {
|
|
||||||
updateResultQuery(search)
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
{#if createLabel && createComponent}
|
{#if createLabel && createComponent}
|
||||||
<Button label={createLabel} icon={IconAdd} kind={'primary'} on:click={(ev) => showCreateDialog(ev)} />
|
<Button label={createLabel} icon={IconAdd} kind={'primary'} on:click={(ev) => showCreateDialog(ev)} />
|
||||||
{/if}
|
{/if}
|
||||||
|
Loading…
Reference in New Issue
Block a user