Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 11 additions & 11 deletions ui/src/conversation-panel/components/content/items/form.vue
Original file line number Diff line number Diff line change
@@ -1,14 +1,3 @@
<template>
<div class="content-form">
<MdPreview class="!h-auto" editorId="conversation-text" :modelValue="leadingText || ''"></MdPreview>
<MkDynamicsForm ref="dynamicsFormRef" :view="is_submit" :render-data="form_field_list" v-model="form_data" />
<MdPreview class="!h-auto" editorId="conversation-text" :modelValue="trailingText || ''"></MdPreview>
<el-button :type="is_submit ? 'info' : 'primary'" :disabled="is_submit || !mainStore" @click="submit">
{{ is_submit ? '已提交' : '提交' }}
</el-button>
</div>
</template>

<script setup lang="ts">
import { computed, ref } from 'vue'
import { MkDynamicsForm } from '@/components/mk-dynamics-form'
Expand Down Expand Up @@ -69,4 +58,15 @@ const submit = async () => {
}
</script>

<template>
<div class="content-form">
<MdPreview class="!h-auto" editorId="conversation-text" :modelValue="leadingText || ''"></MdPreview>
<MkDynamicsForm ref="dynamicsFormRef" :view="is_submit" :render-data="form_field_list" v-model="form_data" />
<MdPreview class="!h-auto" editorId="conversation-text" :modelValue="trailingText || ''"></MdPreview>
<el-button :type="is_submit ? 'info' : 'primary'" :disabled="is_submit || !mainStore" @click="submit">
{{ is_submit ? '已提交' : '提交' }}
</el-button>
</div>
</template>

<style scoped lang="scss"></style>
15 changes: 4 additions & 11 deletions ui/src/conversation-panel/components/content/items/html.vue
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
<template>
<!-- eslint-disable-next-line vue/no-v-html -- 内容已经 DOMPurify 净化 -->
<div class="content-html" v-html="sanitizedHtml" />
</template>

<script setup lang="ts">
import { computed } from 'vue'
import DOMPurify from 'dompurify'
Expand All @@ -17,9 +12,7 @@ const props = defineProps<{
const sanitizedHtml = computed(() => DOMPurify.sanitize(props.content.content || ''))
</script>

<style scoped lang="scss">
.content-html {
overflow-x: auto;
word-break: break-word;
}
</style>
<template>
<!-- eslint-disable-next-line vue/no-v-html -- 内容已经 DOMPurify 净化 -->
<div class="overflow-x-auto [word-break:break-word]" v-html="sanitizedHtml" />
</template>
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import CreateFile from './CreateFile.vue'
import ListSkills from './ListSkills.vue'
import DownloadSkills from './DownloadSkills.vue'
import RunSkill from './RunSkill.vue'
import DefaultTool from '../tool.vue'
import DefaultTool from './tool.vue'

/** TOOL 内容项按工具名分发到专用渲染器,未匹配的工具沿用原有 tool.vue 展示。 */
const props = defineProps<{ content: any }>()
Expand Down
6 changes: 3 additions & 3 deletions ui/src/conversation-panel/core/layout/index.vue
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<script setup lang="ts">
import { computed, Teleport as SidePanelTeleport, useSlots } from 'vue'
import { computed, useSlots } from 'vue'
import type { SidePanelMode } from './types'

const props = withDefaults(
Expand Down Expand Up @@ -42,7 +42,7 @@ const showMask = computed(() => (props.leftMode === 'drawer' && props.leftOpen)

<slot name="main" />

<SidePanelTeleport :to="props.rightDrawerTarget || 'body'" :disabled="!teleportRightDrawer">
<Teleport :to="props.rightDrawerTarget || 'body'" :disabled="!teleportRightDrawer">
<aside
v-if="hasRight"
class="mk-conversation-side-panel right shrink-0 overflow-hidden"
Expand All @@ -54,6 +54,6 @@ const showMask = computed(() => (props.leftMode === 'drawer' && props.leftOpen)

<!-- 点击遮罩收起抽屉侧栏 -->
<div v-if="showMask" class="mk-conversation-mask" @click="$emit('mask-click')" />
</SidePanelTeleport>
</Teleport>
</div>
</template>
Loading