mirror of
https://github.com/hcengineering/platform.git
synced 2026-09-28 04:25:03 +02:00
UBERF-5603 (#4754)
Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
This commit is contained in:
@@ -30,21 +30,14 @@
|
||||
import { IntlString } from '@hcengineering/platform'
|
||||
import { createQuery, getClient } from '@hcengineering/presentation'
|
||||
import { DocWithRank, calcRank } from '@hcengineering/task'
|
||||
import {
|
||||
AnyComponent,
|
||||
AnySvelteComponent,
|
||||
ExpandCollapse,
|
||||
getEventPositionElement,
|
||||
mouseAttractor,
|
||||
showPopup
|
||||
} from '@hcengineering/ui'
|
||||
import { AnyComponent, AnySvelteComponent, ExpandCollapse, mouseAttractor } from '@hcengineering/ui'
|
||||
import { AttributeModel, BuildModelKey, ViewOptionModel, ViewOptions, Viewlet } from '@hcengineering/view'
|
||||
import { createEventDispatcher } from 'svelte'
|
||||
import { fade } from 'svelte/transition'
|
||||
import { FocusSelection, SelectionFocusProvider, focusStore } from '../../selection'
|
||||
import Menu from '../Menu.svelte'
|
||||
import ListHeader from './ListHeader.svelte'
|
||||
import ListItem from './ListItem.svelte'
|
||||
import { showMenu } from '../../actions'
|
||||
|
||||
export let category: PrimitiveType | AggregateValue
|
||||
export let headerComponent: AttributeModel | undefined
|
||||
@@ -169,7 +162,6 @@
|
||||
$: selectedObjectIdsSet = new Set<Ref<Doc>>(selectedObjectIds.map((it) => it._id))
|
||||
|
||||
const handleMenuOpened = async (event: MouseEvent, object: Doc) => {
|
||||
event.preventDefault()
|
||||
handleRowFocused(object)
|
||||
|
||||
if (!selectedObjectIdsSet.has(object._id)) {
|
||||
@@ -177,8 +169,7 @@
|
||||
}
|
||||
|
||||
const items = selectedObjectIds.length > 0 ? selectedObjectIds : object
|
||||
|
||||
showPopup(Menu, { object: items, baseMenuClass }, getEventPositionElement(event))
|
||||
showMenu(event, { object: items, baseMenuClass })
|
||||
}
|
||||
|
||||
$: _newObjectProps = (doc: Doc | undefined): Record<string, any> | undefined => {
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
import view from '../../plugin'
|
||||
import GrowPresenter from './GrowPresenter.svelte'
|
||||
import ListPresenter from './ListPresenter.svelte'
|
||||
import { restrictionStore } from '../../utils'
|
||||
|
||||
export let docObject: Doc
|
||||
export let model: AttributeModel[]
|
||||
@@ -65,6 +66,19 @@
|
||||
}
|
||||
}
|
||||
|
||||
function getProps (props: Record<string, any>, readonly: boolean): Record<string, any> {
|
||||
if (readonly) {
|
||||
return {
|
||||
...props,
|
||||
readonly: true,
|
||||
disabled: true,
|
||||
editable: false,
|
||||
isEditable: false
|
||||
}
|
||||
}
|
||||
return props
|
||||
}
|
||||
|
||||
$: mobile = $deviceInfo.isMobile
|
||||
|
||||
onMount(() => {
|
||||
@@ -124,7 +138,7 @@
|
||||
<ListPresenter
|
||||
{docObject}
|
||||
attributeModel={attrModel}
|
||||
{props}
|
||||
props={getProps(props, $restrictionStore.readonly)}
|
||||
{compactMode}
|
||||
value={getObjectValue(attrModel.key, docObject)}
|
||||
onChange={getOnChange(docObject, attrModel)}
|
||||
@@ -138,7 +152,7 @@
|
||||
<ListPresenter
|
||||
{docObject}
|
||||
attributeModel={attrModel}
|
||||
{props}
|
||||
props={getProps(props, $restrictionStore.readonly)}
|
||||
value={getObjectValue(attrModel.key, docObject)}
|
||||
onChange={getOnChange(docObject, attrModel)}
|
||||
/>
|
||||
@@ -148,7 +162,7 @@
|
||||
<ListPresenter
|
||||
{docObject}
|
||||
attributeModel={attrModel}
|
||||
{props}
|
||||
props={getProps(props, $restrictionStore.readonly)}
|
||||
value={getObjectValue(attrModel.key, docObject)}
|
||||
onChange={getOnChange(docObject, attrModel)}
|
||||
/>
|
||||
@@ -158,7 +172,7 @@
|
||||
<ListPresenter
|
||||
{docObject}
|
||||
{attributeModel}
|
||||
{props}
|
||||
props={getProps(props, $restrictionStore.readonly)}
|
||||
value={getObjectValue(attributeModel.key, docObject)}
|
||||
onChange={getOnChange(docObject, attributeModel)}
|
||||
hideDivider={i === 0}
|
||||
@@ -187,7 +201,7 @@
|
||||
<ListPresenter
|
||||
{docObject}
|
||||
attributeModel={attrModel}
|
||||
{props}
|
||||
props={getProps(props, $restrictionStore.readonly)}
|
||||
{compactMode}
|
||||
value={getObjectValue(attrModel.key, docObject)}
|
||||
onChange={getOnChange(docObject, attrModel)}
|
||||
@@ -202,7 +216,7 @@
|
||||
<ListPresenter
|
||||
{docObject}
|
||||
{attributeModel}
|
||||
{props}
|
||||
props={getProps(props, $restrictionStore.readonly)}
|
||||
value={getObjectValue(attributeModel.key, docObject)}
|
||||
onChange={getOnChange(docObject, attributeModel)}
|
||||
hideDivider={j === 0}
|
||||
@@ -220,7 +234,7 @@
|
||||
<ListPresenter
|
||||
{docObject}
|
||||
{attributeModel}
|
||||
{props}
|
||||
props={getProps(props, $restrictionStore.readonly)}
|
||||
value={getObjectValue(attributeModel.key, docObject)}
|
||||
onChange={getOnChange(docObject, attributeModel)}
|
||||
/>
|
||||
|
||||
Reference in New Issue
Block a user