UBERF-5603 (#4754)

Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
This commit is contained in:
Denis Bykhov
2024-02-23 15:39:49 +07:00
committed by GitHub
parent cc8a1d549a
commit ffc8d1dfac
184 changed files with 2755 additions and 561 deletions
@@ -28,6 +28,7 @@
export let ignoreKeys: string[]
export let vertical: boolean = false
export let allowedCollections: string[] = []
export let readonly: boolean = false
const client = getClient()
const hierarchy = client.getHierarchy()
@@ -70,16 +71,17 @@
bind:value={object.assignee}
on:change={change}
allowDeselect
{readonly}
titleDeselect={task.string.TaskUnAssign}
/>
<div class="column">
<AttributesBar {object} _class={object._class} keys={filtredKeys} />
<AttributesBar {object} _class={object._class} keys={filtredKeys} {readonly} />
</div>
</div>
<AttributesBar {object} _class={object._class} keys={['status']} showHeader={false} />
<AttributesBar {object} _class={object._class} keys={['status']} showHeader={false} {readonly} />
</div>
{:else}
<DocAttributeBar {object} {ignoreKeys} {mixins} {allowedCollections} on:update />
<DocAttributeBar {object} {ignoreKeys} {mixins} {allowedCollections} {readonly} on:update />
{/if}
<style lang="scss">
@@ -31,14 +31,7 @@
import { ActionContext, createQuery, getClient } from '@hcengineering/presentation'
import tags from '@hcengineering/tags'
import { Project, Task, TaskOrdering } from '@hcengineering/task'
import {
ColorDefinition,
defaultBackground,
getEventPositionElement,
Label,
showPopup,
themeStore
} from '@hcengineering/ui'
import { ColorDefinition, defaultBackground, Label, themeStore } from '@hcengineering/ui'
import view, { AttributeModel, BuildModelKey, Viewlet, ViewOptionModel, ViewOptions } from '@hcengineering/view'
import {
focusStore,
@@ -49,10 +42,10 @@
getPresenter,
groupBy,
ListSelectionProvider,
Menu,
noCategory,
SelectDirection,
setGroupByValues
setGroupByValues,
showMenu
} from '@hcengineering/view-resources'
import { onMount } from 'svelte'
import task from '../../plugin'
@@ -110,9 +103,8 @@
;(document.activeElement as HTMLElement)?.blur()
})
const showMenu = async (ev: MouseEvent, items: Doc[]): Promise<void> => {
ev.preventDefault()
showPopup(Menu, { object: items, baseMenuClass }, getEventPositionElement(ev))
const showContextMenu = async (ev: MouseEvent, items: Doc[]): Promise<void> => {
showMenu(ev, { object: items, baseMenuClass })
}
// Category information only
let tasks: DocWithRank[] = []
@@ -267,7 +259,7 @@
on:check={(evt) => {
listProvider.updateSelection(evt.detail.docs, evt.detail.value)
}}
on:contextmenu={(evt) => showMenu(evt.detail.evt, evt.detail.objects)}
on:contextmenu={(evt) => showContextMenu(evt.detail.evt, evt.detail.objects)}
>
<svelte:fragment slot="header" let:state let:count let:index>
{@const color = accentColors.get(`${index}${$themeStore.dark}${groupByKey}`)}
@@ -43,14 +43,12 @@
Separator,
TextArea,
defineSeparators,
eventToHTMLElement,
getCurrentResolvedLocation,
navigate,
resolvedLocationStore,
secondNavSeparators,
showPopup
secondNavSeparators
} from '@hcengineering/ui'
import { ContextMenu } from '@hcengineering/view-resources'
import { showMenu } from '@hcengineering/view-resources'
import plugin from '../../plugin'
import IconLayers from '../icons/Layers.svelte'
import CreateTaskType from '../taskTypes/CreateTaskType.svelte'
@@ -200,7 +198,7 @@
size={'small'}
kind={'secondary'}
on:click={(ev) => {
showPopup(ContextMenu, { object: type }, eventToHTMLElement(ev), () => {})
showMenu(ev, { object: type })
}}
/>
<Breadcrumbs
@@ -63,7 +63,7 @@
projectType={$selectedTypeStore}
/>
{:else}
<Button {kind} {size} {width} {justify} {shrink} on:click={handleClick}>
<Button {kind} {size} {width} {justify} {shrink} {disabled} on:click={handleClick}>
<svelte:fragment slot="content">
{#if state}
<div class="pointer-events-none clear-mins">