mirror of
https://github.com/hcengineering/platform.git
synced 2026-09-30 21:45:01 +02:00
EQMS-1451/1453/1455: reference tweaks for QMS documents (#8083)
* EQMS-1451/1453/1455: reference tweaks for QMS documents Signed-off-by: Victor Ilyushchenko <alt13ri@gmail.com> * fmt Signed-off-by: Victor Ilyushchenko <alt13ri@gmail.com> --------- Signed-off-by: Victor Ilyushchenko <alt13ri@gmail.com>
This commit is contained in:
@@ -344,10 +344,30 @@ export async function getReferenceLabel<T extends Doc> (
|
||||
return label
|
||||
}
|
||||
|
||||
export async function getReferenceObject<T extends Doc> (
|
||||
objectclass: Ref<Class<T>>,
|
||||
id: Ref<T>,
|
||||
doc?: T
|
||||
): Promise<Doc | undefined> {
|
||||
const client = getClient()
|
||||
const hierarchy = client.getHierarchy()
|
||||
|
||||
const referenceObjectProvider = hierarchy.classHierarchyMixin(
|
||||
objectclass as Ref<Class<Doc>>,
|
||||
view.mixin.ReferenceObjectProvider
|
||||
)
|
||||
const referenceObjectProviderFn =
|
||||
referenceObjectProvider !== undefined ? await getResource(referenceObjectProvider.provider) : undefined
|
||||
|
||||
return await referenceObjectProviderFn?.(client, id, doc)
|
||||
}
|
||||
|
||||
export async function getReferenceFromUrl (urlString: string): Promise<ReferenceNodeProps | undefined> {
|
||||
const target = await getTargetObjectFromUrl(urlString)
|
||||
let target = await getTargetObjectFromUrl(urlString)
|
||||
if (target === undefined) return
|
||||
|
||||
target = (await getReferenceObject(target._class, target._id)) ?? target
|
||||
|
||||
const label = await getReferenceLabel(target._class, target._id)
|
||||
if (label === '') return
|
||||
|
||||
|
||||
Reference in New Issue
Block a user