TSK-833 Доработка Таблицы Vacations TSK-817 Click on Employee is broken, it should open Edit Contact TSK-805 Открывать задачу в новой вкладке при клике колесиком TSK-794 Прикрепление ссылки на вакансию/аппликейшн в чате (#2734)

Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
This commit is contained in:
Denis Bykhov
2023-03-15 20:06:03 +06:00
committed by GitHub
parent 6b534e1a3d
commit ae86bfdacd
83 changed files with 1515 additions and 878 deletions
+23
View File
@@ -38,6 +38,7 @@ import {
AnyComponent,
ErrorPresenter,
getCurrentLocation,
getPanelURI,
getPlatformColorForText,
Location,
locationToUrl
@@ -674,3 +675,25 @@ export function getAdditionalHeader (client: TxOperations, _class: Ref<Class<Doc
}
return presenterMixin.presenters
}
export async function getObjectLinkFragment (
hierarchy: Hierarchy,
object: Doc,
props: Record<string, any> = {},
component: AnyComponent = view.component.EditDoc
): Promise<string> {
let clazz = hierarchy.getClass(object._class)
let provider = hierarchy.as(clazz, view.mixin.LinkProvider)
while (provider.encode === undefined && clazz.extends !== undefined) {
clazz = hierarchy.getClass(clazz.extends)
provider = hierarchy.as(clazz, view.mixin.LinkProvider)
}
if (provider?.encode !== undefined) {
const f = await getResource(provider.encode)
const res = await f(object, props)
if (res !== undefined) {
return res
}
}
return getPanelURI(component, object._id, Hierarchy.mixinOrClass(object), 'content')
}