UBERF-4870: Fixed attribute creation (#4325)

Signed-off-by: Alexander Platov <sas_lord@mail.ru>
This commit is contained in:
Alexander Platov 2024-01-08 19:32:25 +03:00 committed by GitHub
parent 5d889380ab
commit 6abf41cd0f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 3 deletions

View File

@ -41,6 +41,7 @@
Label,
Menu,
getEventPositionElement,
getEventPopupPositionElement,
showPopup
} from '@hcengineering/ui'
import { getContextActions } from '@hcengineering/view-resources'
@ -48,6 +49,8 @@
import CreateAttribute from './CreateAttribute.svelte'
import EditAttribute from './EditAttribute.svelte'
import EditClassLabel from './EditClassLabel.svelte'
import { settingsStore } from '../store'
import TypesPopup from './typeEditors/TypesPopup.svelte'
export let _class: Ref<Class<Doc>>
export let ofClass: Ref<Class<Doc>> | undefined = undefined
@ -95,8 +98,10 @@
attributes = getCustomAttributes(_class)
}
export function createAttribute (): void {
showPopup(CreateAttribute, { _class }, 'top', update)
export function createAttribute (ev: MouseEvent): void {
showPopup(TypesPopup, { _class }, getEventPopupPositionElement(ev), (_id) => {
if (_id !== undefined) $settingsStore = { component: CreateAttribute, props: { _id, _class } }
})
}
export async function editAttribute (attribute: AnyAttribute, exist: boolean): Promise<void> {

View File

@ -55,7 +55,7 @@
<ObjectPresenter _class={clazz._class} objectId={clazz._id} value={clazz} />
{/if}
</div>
<Button icon={IconAdd} size={'small'} kind={'primary'} on:click={() => mainAttributes?.createAttribute()} />
<Button icon={IconAdd} size={'small'} kind={'primary'} on:click={(ev) => mainAttributes?.createAttribute(ev)} />
</div>
<div class="ml-2 mr-2">
<table class="antiTable mx-2">