From 66cac98d73fb86d72dcc35ac30a3399ae5ce9160 Mon Sep 17 00:00:00 2001 From: Longgererer <2072451919@qq.com> Date: Wed, 10 Jul 2024 14:29:25 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=BA=94=E7=94=A8=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E6=A0=BC=E5=BC=8F=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modals/template-modal/hooks/use-template.ts | 15 +++++++++------ .../modals/template-modal/template-modal.vue | 3 +++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/views/components/modals/template-modal/hooks/use-template.ts b/src/views/components/modals/template-modal/hooks/use-template.ts index 6269f53..16ba5ef 100644 --- a/src/views/components/modals/template-modal/hooks/use-template.ts +++ b/src/views/components/modals/template-modal/hooks/use-template.ts @@ -1,3 +1,4 @@ +import useCodeFormatting from "@hooks/use-code-formatting" import useEditorWrapperState from "@hooks/use-editor-wrapper-state" import { useEditorConfigStore } from "@store/editor-config" import { useEditorWrapperStore } from "@store/editor-wrapper" @@ -13,6 +14,7 @@ const useTemplate = () => { const editorWrapperStore = useEditorWrapperStore() const editorConfigStore = useEditorConfigStore() const { initDefaultWrapper, initComponentWrapper } = useEditorWrapperState() + const { formatEditorCode } = useCodeFormatting() const getTemplateBaseInfo = () => { const { codeMap, tabMap, isComponentMode } = editorWrapperStore @@ -55,7 +57,7 @@ const useTemplate = () => { /** 应用模板 */ const applyTemplate = async (template: ITemplateBase) => { - const { codeMap, editorConfig: { libraries = {}, prepMap }, isComponent } = template + const { codeMap, editorConfig: { libraries = {}, prepMap = {} }, isComponent } = template const { batchUpdateEditorConfig } = editorConfigStore const { batchUpdateEditorWrapper } = editorWrapperStore const { origin2TabIdMap } = storeToRefs(editorWrapperStore) @@ -66,11 +68,12 @@ const useTemplate = () => { } else { await initDefaultWrapper() } - // 设置代码内容 - const finalCodeMap = Object.entries(origin2TabIdMap.value).reduce((acc, [origin, tabId]) => { - acc[tabId] = codeMap[origin as OriginLang] || "" - return acc - }, {} as Record) + const finalCodeMap: Record = {} + for (const [origin, tabId] of Object.entries(origin2TabIdMap.value)) { + const code = codeMap[origin as OriginLang] || "" + const prep = prepMap[origin as OriginLang] + finalCodeMap[tabId] = await formatEditorCode(code, prep!) + } batchUpdateEditorWrapper({ codeMap: finalCodeMap }) // 设置编辑器预处理、库等配置 batchUpdateEditorConfig({ diff --git a/src/views/components/modals/template-modal/template-modal.vue b/src/views/components/modals/template-modal/template-modal.vue index 7f08556..11a185e 100644 --- a/src/views/components/modals/template-modal/template-modal.vue +++ b/src/views/components/modals/template-modal/template-modal.vue @@ -9,6 +9,7 @@ :confirm-btn-opts="{ customClass: 'p-l', disabled: !currTemplate, + loading: isConfirmLoading, }" @close="updateDisplayModal(null)" @confirm="handleConfirmModal"> @@ -220,7 +221,9 @@ const handleConfirmModal = () => { const handleUseTemplate = () => { processUseTemplate() } +const isConfirmLoading = ref(false) const processUseTemplate = async () => { + isConfirmLoading.value = true await applyTemplate(currTemplate.value!) isShowEditTipModal.value = false updateDisplayModal(null)