UBERF-8316 Documents drag and drop (#6769)

Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com>
This commit is contained in:
Alexander Onnikov
2024-10-02 18:00:38 +07:00
committed by GitHub
parent 810a75067d
commit 8a8f56fda4
20 changed files with 510 additions and 97 deletions
+2 -1
View File
@@ -15,8 +15,9 @@
import { documentId, documentPlugin } from './plugin'
export * from './types'
export * from './analytics'
export * from './types'
export * from './utils'
export { documentId }
export default documentPlugin
+3 -1
View File
@@ -14,7 +14,7 @@
//
import { Attachment } from '@hcengineering/attachment'
import { Account, AttachedDoc, Class, CollaborativeDoc, Ref, TypedSpace } from '@hcengineering/core'
import { Account, AttachedDoc, Class, CollaborativeDoc, Rank, Ref, TypedSpace } from '@hcengineering/core'
import { Preference } from '@hcengineering/preference'
import { IconProps } from '@hcengineering/view'
@@ -37,6 +37,8 @@ export interface Document extends AttachedDoc<Document, 'children', Teamspace>,
embeddings?: number
labels?: number
references?: number
rank: Rank
}
/** @public */
+35
View File
@@ -0,0 +1,35 @@
//
// Copyright © 2023, 2024 Hardcore Engineering Inc.
//
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. You may
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
//
import { type DocumentQuery, type Rank, type Ref, SortingOrder, TxOperations } from '@hcengineering/core'
import document from './plugin'
import { type Document, type Teamspace } from './types'
export async function getFirstRank (
client: TxOperations,
space: Ref<Teamspace>,
attachedTo: Ref<Document>,
sort: SortingOrder = SortingOrder.Descending,
extra: DocumentQuery<Document> = {}
): Promise<Rank | undefined> {
const doc = await client.findOne(
document.class.Document,
{ space, attachedTo, ...extra },
{ sort: { rank: sort }, projection: { rank: 1 } }
)
return doc?.rank
}