Custom ref attributes (#1695)

Signed-off-by: Denis Bykhov <80476319+BykhovDenis@users.noreply.github.com>
This commit is contained in:
Denis Bykhov
2022-05-07 00:48:43 +07:00
committed by GitHub
parent 9951132b3c
commit de9de716b5
23 changed files with 176 additions and 72 deletions
@@ -14,7 +14,7 @@
// limitations under the License.
-->
<script lang="ts">
import { Ref } from '@anticrm/core'
import { Ref, Space } from '@anticrm/core'
import task, { State } from '@anticrm/task'
import { createQuery } from '@anticrm/presentation'
import type { ButtonKind, ButtonSize } from '@anticrm/ui'
@@ -23,6 +23,7 @@
import StatesPopup from './StatesPopup.svelte'
export let value: Ref<State>
export let space: Ref<Space>
export let onChange: (value: any) => void
export let kind: ButtonKind = 'no-border'
export let size: ButtonSize = 'small'
@@ -41,26 +42,26 @@
)
</script>
{#if state}
<Button
width="min-content"
{kind}
{size}
on:click={(ev) => {
if (!opened) {
opened = true
showPopup(StatesPopup, { space: state.space }, eventToHTMLElement(ev), (result) => {
if (result && result._id !== value) {
value = result._id
onChange(value)
}
opened = false
})
}
}}
>
<svelte:fragment slot="content">
<Button
width="min-content"
{kind}
{size}
on:click={(ev) => {
if (!opened) {
opened = true
showPopup(StatesPopup, { space }, eventToHTMLElement(ev), (result) => {
if (result && result._id !== value) {
value = result._id
onChange(value)
}
opened = false
})
}
}}
>
<svelte:fragment slot="content">
{#if state}
<StatePresenter value={state} />
</svelte:fragment>
</Button>
{/if}
{/if}
</svelte:fragment>
</Button>
@@ -23,7 +23,7 @@
{#if value}
<div class="flex-row-center">
<div class="state-container" style="background-color: {getPlatformColor(value.color)}" />
<span class="overflow-label">{value.title ?? ''}</span>
<span class="overflow-label">{value.title}</span>
</div>
{/if}