feat(editor): 新增data-source-panel-search slot

This commit is contained in:
roymondchen 2024-03-01 15:13:33 +08:00
parent a073b8c50d
commit 6821ce5fbf
5 changed files with 14 additions and 0 deletions

View File

@ -56,6 +56,10 @@
<template #data-source-panel-tool="{ data }"> <template #data-source-panel-tool="{ data }">
<slot name="data-source-panel-tool" :data="data"></slot> <slot name="data-source-panel-tool" :data="data"></slot>
</template> </template>
<template #data-source-panel-search>
<slot name="data-source-panel-search"></slot>
</template>
</Sidebar> </Sidebar>
</slot> </slot>
</template> </template>

View File

@ -73,6 +73,7 @@ export { default as EventSelect } from './fields/EventSelect.vue';
export { default as KeyValue } from './fields/KeyValue.vue'; export { default as KeyValue } from './fields/KeyValue.vue';
export { default as CodeBlockList } from './layouts/sidebar/code-block/CodeBlockList.vue'; export { default as CodeBlockList } from './layouts/sidebar/code-block/CodeBlockList.vue';
export { default as CodeBlockListPanel } from './layouts/sidebar/code-block/CodeBlockListPanel.vue'; export { default as CodeBlockListPanel } from './layouts/sidebar/code-block/CodeBlockListPanel.vue';
export { default as DataSourceConfigPanel } from './layouts/sidebar/data-source/DataSourceConfigPanel.vue';
export { default as PropsPanel } from './layouts/PropsPanel.vue'; export { default as PropsPanel } from './layouts/PropsPanel.vue';
export { default as ToolButton } from './components/ToolButton.vue'; export { default as ToolButton } from './components/ToolButton.vue';
export { default as ContentMenu } from './components/ContentMenu.vue'; export { default as ContentMenu } from './components/ContentMenu.vue';

View File

@ -96,6 +96,11 @@
<slot v-if="config.$key === 'data-source'" name="data-source-panel-tool" :data="data"></slot> <slot v-if="config.$key === 'data-source'" name="data-source-panel-tool" :data="data"></slot>
<component v-else-if="config.slots?.DataSourcePanelTool" :is="config.slots.DataSourcePanelTool" /> <component v-else-if="config.slots?.DataSourcePanelTool" :is="config.slots.DataSourcePanelTool" />
</template> </template>
<template #data-source-panel-search v-if="config.$key === 'data-source' || config.slots?.dataSourcePanelSearch">
<slot v-if="config.$key === 'data-source'" name="data-source-panel-search"></slot>
<component v-else-if="config.slots?.dataSourcePanelSearch" :is="config.slots.dataSourcePanelSearch" />
</template>
</component> </component>
</div> </div>
</div> </div>

View File

@ -20,11 +20,14 @@
></ToolButton> ></ToolButton>
</div> </div>
</TMagicPopover> </TMagicPopover>
<slot name="data-source-panel-search"></slot>
</div> </div>
<!-- 数据源列表 --> <!-- 数据源列表 -->
<DataSourceList @edit="editHandler" @remove="removeHandler"></DataSourceList> <DataSourceList @edit="editHandler" @remove="removeHandler"></DataSourceList>
</TMagicScrollbar> </TMagicScrollbar>
<DataSourceConfigPanel <DataSourceConfigPanel
ref="editDialog" ref="editDialog"
:disabled="!editable" :disabled="!editable"

View File

@ -81,6 +81,7 @@ export interface CodeBlockListSlots {
export interface DataSourceListSlots { export interface DataSourceListSlots {
'data-source-panel-tool'(props: { data: any }): any; 'data-source-panel-tool'(props: { data: any }): any;
'data-source-panel-search'(props: {}): any;
} }
export interface LayerNodeSlots { export interface LayerNodeSlots {