Tasks custom attributes hot fix (#1667)

Signed-off-by: Denis Bykhov <80476319+BykhovDenis@users.noreply.github.com>
This commit is contained in:
Denis Bykhov 2022-05-06 13:01:17 +06:00 committed by GitHub
parent 612f36c079
commit a58d0d9374
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 16 additions and 6 deletions

View File

@ -15,14 +15,17 @@
-->
<script lang="ts">
import contact from '@anticrm/contact'
import core, { Class, Doc, Ref, RefTo } from '@anticrm/core'
import core, { Class, Doc, Mixin, Ref, RefTo } from '@anticrm/core'
import { AttributesBar, getClient, KeyedAttribute, UserBox } from '@anticrm/presentation'
import { Label } from '@anticrm/ui'
import { Task } from '@anticrm/task'
import task from '../plugin'
import { DocAttributeBar } from '@anticrm/view-resources'
export let object: Task
export let keys: KeyedAttribute[]
export let mixins: Mixin<Doc>[]
export let ignoreKeys: string[]
export let vertical: boolean = false
const client = getClient()
@ -51,7 +54,9 @@
return contact.class.Employee
}
$: filtredKeys = keys.filter((p) => p.key !== 'state' && p.key !== 'assignee' && p.key !== 'doneState') // todo
const taskKeys = ['state', 'assignee', 'doneState']
$: filtredKeys = keys.filter((p) => !taskKeys.includes(p.key)) // todo
</script>
{#if !vertical}
@ -73,7 +78,7 @@
<AttributesBar {object} keys={['doneState', 'state']} showHeader={false} />
</div>
{:else}
<div class="task-attr-prop">
<div class="task-attr-prop mb-4">
<span class="fs-bold"><Label label={task.string.TaskAssignee} /></span>
<UserBox
_class={getAssigneeClass(object)}
@ -88,9 +93,9 @@
/>
<div style:grid-column={'1/3'}>
<AttributesBar {object} keys={['doneState', 'state']} vertical />
<AttributesBar {object} keys={filtredKeys} vertical />
</div>
</div>
<DocAttributeBar {object} ignoreKeys={[...ignoreKeys, ...taskKeys]} {mixins} on:update />
{/if}
<style lang="scss">

View File

@ -240,7 +240,11 @@
<svelte:fragment slot="attributes" let:direction={dir}>
{#if !headerLoading}
{#if headerEditor !== undefined}
<Component is={headerEditor} props={{ object, keys, vertical: dir === 'column' }} />
<Component
is={headerEditor}
props={{ object, keys, mixins, ignoreKeys, vertical: dir === 'column' }}
on:update={updateKeys}
/>
{:else if dir === 'column'}
<DocAttributeBar {object} {mixins} {ignoreKeys} on:update={updateKeys} />
{:else}

View File

@ -43,6 +43,7 @@ import StringTypeEditor from './components/typeEditors/StringTypeEditor.svelte'
import BooleanTypeEditor from './components/typeEditors/BooleanTypeEditor.svelte'
import DateTypeEditor from './components/typeEditors/DateTypeEditor.svelte'
import NumberTypeEditor from './components/typeEditors/NumberTypeEditor.svelte'
import DocAttributeBar from './components/DocAttributeBar.svelte'
export { getActions } from './actions'
export { default as ActionContext } from './components/ActionContext.svelte'
@ -53,7 +54,7 @@ export { default as LinkPresenter } from './components/LinkPresenter.svelte'
export * from './context'
export * from './selection'
export { buildModel, getCollectionCounter, getObjectPresenter, LoadingProps } from './utils'
export { Table, TableView, EditDoc, ColorsPopup, Menu, SpacePresenter, UpDownNavigator }
export { Table, TableView, DocAttributeBar, EditDoc, ColorsPopup, Menu, SpacePresenter, UpDownNavigator }
export default async (): Promise<Resources> => ({
actionImpl: actionImpl,