mirror of
https://github.com/hcengineering/platform.git
synced 2026-10-01 22:15:04 +02:00
feat: implement reference versioning functionality across various com… (#10941)
* feat: implement reference versioning functionality across various components and plugins Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com> * fix: simplify provider function calls and label retrieval in MentionPopup component Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com> * refactor: improve readability of version selection and reference handling in MentionVersionPopup and reference.ts Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com> * feat: add CardReferenceObjectProvider and integrate into card model and resources Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com> --------- Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
This commit is contained in:
@@ -59,6 +59,7 @@ import {
|
||||
OpenDocumentFunction,
|
||||
PreviewPresenter,
|
||||
ReferenceObjectProvider,
|
||||
ReferenceVersionsProvider,
|
||||
SpaceHeader,
|
||||
SpaceName,
|
||||
SpacePresenter,
|
||||
@@ -103,6 +104,7 @@ const view = plugin(viewId, {
|
||||
ObjectTitle: '' as Ref<Mixin<ObjectTitle>>,
|
||||
ObjectIdentifier: '' as Ref<Mixin<ObjectIdentifier>>,
|
||||
ReferenceObjectProvider: '' as Ref<Mixin<ReferenceObjectProvider>>,
|
||||
ReferenceVersionsProvider: '' as Ref<Mixin<ReferenceVersionsProvider>>,
|
||||
ObjectTooltip: '' as Ref<Mixin<ObjectTooltip>>,
|
||||
SpaceHeader: '' as Ref<Mixin<SpaceHeader>>,
|
||||
SpaceName: '' as Ref<Mixin<SpaceName>>,
|
||||
|
||||
@@ -308,6 +308,23 @@ export interface ReferenceObjectProvider extends Class<Doc> {
|
||||
provider: Resource<<T extends Doc>(client: Client, ref: Ref<T>, doc?: T) => Promise<Doc | undefined>>
|
||||
}
|
||||
|
||||
/**
|
||||
* @public
|
||||
*/
|
||||
export interface ReferenceVersion {
|
||||
id: Ref<Doc>
|
||||
objectclass: Ref<Class<Doc>>
|
||||
label: string
|
||||
fixed?: boolean
|
||||
}
|
||||
|
||||
/**
|
||||
* @public
|
||||
*/
|
||||
export interface ReferenceVersionsProvider extends Class<Doc> {
|
||||
provider: Resource<<T extends Doc>(client: Client, ref: Ref<T>, doc?: T) => Promise<ReferenceVersion[]>>
|
||||
}
|
||||
|
||||
/**
|
||||
* @public
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user