feat: 扩展 ConfigType,添加禁用属性,并添加一个上传按钮组件,在拖拽、双击、搜索模式让配置了禁用项的组件不可用

This commit is contained in:
tnt group
2023-05-18 09:45:41 +08:00
parent 045e6c2e3c
commit 308cb84ee4
5 changed files with 25 additions and 4 deletions
@@ -11,8 +11,8 @@
v-for="(item, index) in menuOptions"
:key="index"
draggable
@dragstart="dragStartHandle($event, item)"
@dragend="dragendHandle"
@dragstart="!item.disabled && dragStartHandle($event, item)"
@dragend="!item.disabled && dragendHandle"
@dblclick="dblclickHandle(item)"
>
<div class="list-header">
@@ -69,6 +69,7 @@ const chartMode: Ref<ChartModeEnum> = computed(() => {
// 拖拽处理
const dragStartHandle = (e: DragEvent, item: ConfigType) => {
if (item.disabled) return
// 动态注册图表组件
componentInstall(item.chartKey, fetchChartComponent(item))
componentInstall(item.conKey, fetchConfigComponent(item))
@@ -85,6 +86,7 @@ const dragendHandle = () => {
// 双击添加
const dblclickHandle = async (item: ConfigType) => {
if (item.disabled) return
try {
loadingStart()
// 动态注册图表组件
@@ -129,7 +129,9 @@ const searchHandle = (key: string | null) => {
}
loading.value = true
showPopover.value = true
searchRes.value = List.filter((e: ConfigType) => !key || e.title.toLowerCase().includes(key.toLowerCase()))
searchRes.value = List.filter(
(e: ConfigType) => !e.disabled && (!key || e.title.toLowerCase().includes(key.toLowerCase()))
)
setTimeout(() => {
loading.value = undefined
}, 500)
@@ -146,6 +148,7 @@ const listenerCloseHandle = (e: Event) => {
// 选择处理
const selectChartHandle = async (item: ConfigType) => {
if (item.disabled) return
try {
loadingStart()
// 动态注册图表组件
@@ -29,6 +29,7 @@ export const dragHandle = async (e: DragEvent) => {
// 修改状态
chartEditStore.setEditCanvas(EditCanvasTypeEnum.IS_CREATE, false)
const dropData: Exclude<ConfigType, ['image']> = JSONParse(drayDataString)
if (dropData.disabled) return
// 创建新图表组件
let newComponent: CreateComponentType = await createComponent(dropData)