mirror of
https://github.com/langgenius/dify.git
synced 2026-09-08 11:04:27 +08:00
Signed-off-by: kenwoodjw <blackxin55+@gmail.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: zxhlyh <jasonapring2015@outlook.com> Co-authored-by: 起岚 <155608604+xiaoyaoqilan@users.noreply.github.com> Co-authored-by: Parman Mohammadalizadeh <prmma23@gmail.com> Co-authored-by: Escape0707 <tothesong@gmail.com> Co-authored-by: Xin Zhang <zhangxin@dify.ai> Co-authored-by: iridescentWen <66297467+iridescentWen@users.noreply.github.com> Co-authored-by: Bond Zhu <37842169+MRZHUH@users.noreply.github.com> Co-authored-by: KVOJJJin <jzongcode@gmail.com> Co-authored-by: Joel <iamjoel007@gmail.com> Co-authored-by: 非法操作 <hjlarry@163.com> Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com> Co-authored-by: Asuka Minato <i@asukaminato.eu.org> Co-authored-by: Chester <superdiao6@gmail.com> Co-authored-by: WH-2099 <wh2099@pm.me> Co-authored-by: Jony <619963502@qq.com> Co-authored-by: Jony <13896935+zyz619963502zyz@users.noreply.github.com> Co-authored-by: Harsh Kashyap <harsh.kashyap2001@gmail.com> Co-authored-by: Harsh Kashyap <Harsh23Kashyap@users.noreply.github.com> Co-authored-by: kenwoodjw <blackxin55+@gmail.com> Co-authored-by: csurong <csurong1@gmail.com> Co-authored-by: caosurong <surong.cao@thinkingdata.cn> Co-authored-by: Taranum Wasu <81034301+Taranum01@users.noreply.github.com> Co-authored-by: Taranum01 <50813317+Taranum01@users.noreply.github.com> Co-authored-by: Pranav Agarwal <agarwalpranav0711@gmail.com> Co-authored-by: Stephen Zhou <hi@hyoban.cc> Co-authored-by: zl86790 <marshal_li_b@163.com> Co-authored-by: QuantumGhost <obelisk.reg+git@gmail.com> Co-authored-by: yunlu.wen <yunlu.wen@dify.ai> Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
41 lines
1.3 KiB
TypeScript
41 lines
1.3 KiB
TypeScript
import type { DragEvent } from 'react'
|
|
import { cn } from '@langgenius/dify-ui/cn'
|
|
|
|
export function setSkillFileDragPreview(
|
|
event: DragEvent<HTMLElement>,
|
|
{
|
|
count,
|
|
iconClassName,
|
|
name,
|
|
}: {
|
|
count: number
|
|
iconClassName: string
|
|
name: string
|
|
},
|
|
) {
|
|
if (typeof event.dataTransfer.setDragImage !== 'function') return
|
|
|
|
const preview = document.createElement('div')
|
|
preview.className =
|
|
'fixed -left-[9999px] top-0 z-50 flex h-6 max-w-48 items-center rounded-md border-[0.5px] border-components-panel-border bg-components-tooltip-bg px-1 system-xs-regular text-text-secondary shadow-lg shadow-shadow-shadow-5 backdrop-blur-[5px]'
|
|
|
|
if (count > 1) {
|
|
const countLabel = document.createElement('span')
|
|
countLabel.className = 'px-1 py-0.5'
|
|
countLabel.textContent = `${count} items`
|
|
preview.append(countLabel)
|
|
} else {
|
|
const icon = document.createElement('span')
|
|
icon.setAttribute('aria-hidden', 'true')
|
|
icon.className = cn('size-4 shrink-0', iconClassName)
|
|
const label = document.createElement('span')
|
|
label.className = 'max-w-36 truncate px-1 py-0.5'
|
|
label.textContent = name
|
|
preview.append(icon, label)
|
|
}
|
|
|
|
document.body.append(preview)
|
|
event.dataTransfer.setDragImage(preview, 10, 12)
|
|
requestAnimationFrame(() => preview.remove())
|
|
}
|