v1.7.2 - add enableLinkAnchor prop
This commit is contained in:
@@ -58,6 +58,7 @@ const props = withDefaults(defineProps<Props>(), {
|
||||
taskListRowStyle: undefined,
|
||||
enableTaskListContextMenu: true,
|
||||
enableTaskBarContextMenu: true,
|
||||
enableLinkAnchor: true,
|
||||
fullscreen: false,
|
||||
expandAll: true,
|
||||
locale: 'zh-CN',
|
||||
@@ -105,6 +106,9 @@ provide('gantt-column-slots', slots)
|
||||
provide('enable-task-list-context-menu', computed(() => props.enableTaskListContextMenu))
|
||||
provide('enable-task-bar-context-menu', computed(() => props.enableTaskBarContextMenu))
|
||||
|
||||
// 提供 LinkAnchor 配置给子组件
|
||||
provide('enable-link-anchor', computed(() => props.enableLinkAnchor))
|
||||
|
||||
// 使用声明式右键菜单 composables
|
||||
const { hasDeclarativeContextMenu: hasDeclarativeTaskListContextMenu, declarativeContextMenu: declarativeTaskListContextMenu } =
|
||||
useTaskListContextMenu(slots)
|
||||
@@ -194,6 +198,9 @@ interface Props {
|
||||
// 当设置为 true 且声明了 TaskBarContextMenu 组件时,使用自定义菜单
|
||||
// 当设置为 false 时,无论是否声明组件,TaskBar 右键菜单都失效
|
||||
enableTaskBarContextMenu?: boolean
|
||||
// 是否启用 LinkAnchor 连接触点功能(默认为 true)
|
||||
// 当设置为 false 时,TaskBar 上不显示前置/后置任务的连接触点
|
||||
enableLinkAnchor?: boolean
|
||||
// 全屏状态控制(响应式)
|
||||
fullscreen?: boolean
|
||||
// 展开/收起所有任务(响应式)
|
||||
|
||||
@@ -10,6 +10,9 @@ import { useI18n } from '../composables/useI18n'
|
||||
import type { TaskBarConfig } from '../models/configs/TaskBarConfig'
|
||||
import { DEFAULT_TASK_BAR_CONFIG } from '../models/configs/TaskBarConfig'
|
||||
|
||||
// 从 GanttChart 注入 enableLinkAnchor 配置
|
||||
const enableLinkAnchor = inject<ComputedRef<boolean>>('enable-link-anchor', computed(() => true))
|
||||
|
||||
interface Props {
|
||||
task: Task
|
||||
rowHeight: number
|
||||
@@ -2547,7 +2550,7 @@ const handleAnchorDragEnd = (anchorEvent: { taskId: number; type: 'predecessor'
|
||||
<!-- 连接线触点 - 只在非高亮模式且非父级任务时显示 -->
|
||||
<!-- 前置任务触点(左侧) -->
|
||||
<LinkAnchor
|
||||
v-if="!isParent && !isInHighlightMode"
|
||||
v-if="enableLinkAnchor && !isParent && !isInHighlightMode"
|
||||
type="predecessor"
|
||||
:task-id="task.id"
|
||||
:visible="isTaskBarHovered"
|
||||
@@ -2561,7 +2564,7 @@ const handleAnchorDragEnd = (anchorEvent: { taskId: number; type: 'predecessor'
|
||||
/>
|
||||
<!-- 后置任务触点(右侧) -->
|
||||
<LinkAnchor
|
||||
v-if="!isParent && !isInHighlightMode"
|
||||
v-if="enableLinkAnchor && !isParent && !isInHighlightMode"
|
||||
type="successor"
|
||||
:task-id="task.id"
|
||||
:visible="isTaskBarHovered"
|
||||
|
||||
Reference in New Issue
Block a user