{"version":3,"file":"index.vue2.mjs","sources":["../../../../../src/components/content/index.vue"],"sourcesContent":["<template>\n    <section class=\"design-container-root cursor-resize\" v-bind=\"$attrs\"\n             :style=\"style\"\n             :data-rotation=\"appStore.dataRotation\">\n        <aside class=\"my-aside display-flex-column\" style=\"border-right: 1px #e9e9e9 solid; background: #f8f8f8\">\n            <widget :module-name=\"props.module?.name\" :showBackButton=\"showBackButton\" @back=\"back\" />\n        </aside>\n        <main class=\" my-main design-container-root_main\">\n            <PanelView :designProps=\"props\" />\n        </main>\n    </section>\n    <my-mouse-tips />\n</template>\n\n<script setup lang=\"ts\">\nimport widget from '@myprint/design/components/content/widget/index.vue';\nimport PanelView from '@myprint/design/components/content/panel/index.vue';\nimport { computed, CSSProperties, onMounted, onUnmounted, reactive, Ref, ref, watch } from 'vue-demi';\nimport { Panel, Provider, RuntimeElementOption } from '@myprint/design/types/entity';\nimport { mitt, to } from '@myprint/design/utils/utils';\nimport { init } from '@myprint/design/utils/historyUtil';\n// @ts-ignore\nimport { Module, SaveResult, Template } from '@myprint/design/types/R';\nimport { useAppStoreHook } from '@myprint/design/stores/app';\nimport MyMouseTips from '@myprint/design/components/my/mouse-tips/my-mouse-tips.vue';\nimport {\n    defaultPreviewData,\n    initPanel,\n    parentInitElement,\n    setCurrentPanel,\n    setPreviewData,\n    setProvider\n} from '@myprint/design/utils/elementUtil';\nimport { newSelecto } from '@myprint/design/plugins/moveable/selecto';\nimport { MyMessage } from '@myprint/design/components/my/message/my-message';\nimport { MyPrinter } from '@myprint/design/printer';\nimport { i18n } from '@myprint/design/locales';\n\nconst appStore = useAppStoreHook();\n\nconst $emit = defineEmits<{\n    (e: 'back'): void;\n    (e: 'panelImg', blobList: Blob[]): void;\n}>();\n\nconst data = reactive({\n    buildImgIs: false\n});\n\nconst provider = ref({}) as Ref<Provider>;\nconst panel = reactive({\n    runtimeOption: {\n        dragInIs: false\n    },\n    type: 'Panel',\n    dragSnapPanelIs: 1,\n    dragSnapIs: 1\n}) as Panel;\nconst previewData = ref<any[]>([]);\nsetCurrentPanel(panel);\n\nconst props = withDefaults(defineProps<{\n    module?: Module;\n    template?: Template;\n    height?: string;\n    saveTemplate?: (template: Template) => Promise<SaveResult>;\n    generateImg?: boolean;\n    showBackButton?: boolean;\n    showPrintButton?: boolean;\n    showDownloadPdfButton?: boolean;\n    showPreviewButton?: boolean;\n    showClearButton?: boolean;\n    showSaveButton?: boolean;\n}>(), {\n    showBackButton: true,\n    showPrintButton: true,\n    showDownloadPdfButton: true,\n    showPreviewButton: true,\n    showClearButton: true,\n    showSaveButton: true\n});\n\nconst style = computed(() => {\n    return <CSSProperties>{\n        height: props.height\n    };\n});\n\nonMounted(() => {\n    mitt.on('saveTemplate', saveTemplate);\n    initModule();\n    initTemplate();\n    newSelecto();\n});\n\nonUnmounted(() => {\n    mitt.off('saveTemplate', saveTemplate);\n});\n\nwatch(() => props.module, (_n, _o) => {\n        if (props.module) {\n            initModule();\n        }\n    }, { deep: true } // 🔑 深度监听\n);\n\nfunction initModule() {\n    if (!props.module) {\n        return;\n    }\n    provider.value = JSON.parse(props.module.provider!);\n    previewData.value = JSON.parse(props.module.previewData!);\n    setPreviewData(previewData.value);\n    setProvider(provider.value);\n    initPanel(panel, provider);\n    setCurrentPanel(panel);\n}\n\nconst templateWatchStop = watch(() => props.template, (_n, _o) => {\n    if (props.template) {\n        initTemplate();\n        templateWatchStop();\n    }\n});\n\nfunction initTemplate() {\n    if (!props.template) {\n        return;\n    }\n    to(JSON.parse(props.template.content), panel);\n    setCurrentPanel(panel);\n    \n    // initPanel();\n    \n    if (!panel.watermarkContent) {\n        // panel.watermarkContent = 'my-print';\n    }\n    if (!panel.groupList) {\n        panel.groupList = [];\n    }\n    if (!panel.auxiliaryLineList) {\n        panel.auxiliaryLineList = [];\n    }\n    for (let myAuxiliaryLine of panel.auxiliaryLineList) {\n        myAuxiliaryLine.runtimeOption = { x: 0, y: 0, auxiliaryLineStatus: 'SHOW' } as RuntimeElementOption;\n    }\n    panel.runtimeOption = {} as any;\n    \n    // console.log(JSON.parse(JSON.stringify(panel.elementList[0])))\n    // for (let i = 0; i < 1000; i++) {\n    //   const  tmp = JSON.parse(JSON.stringify(panel.elementList[0]))\n    //   tmp.y = tmp.y + 0.2\n    //   // panel.elementList?.unshift(tmp)\n    //\n    // }\n    for (let i = 0; i < panel.elementList.length; i++) {\n        const element = panel.elementList[i];\n        parentInitElement(panel, panel, element, i);\n    }\n    panel.pageHeader && parentInitElement(panel, panel, panel.pageHeader, 0);\n    panel.pageFooter && parentInitElement(panel, panel, panel.pageFooter, 0);\n    \n    init();\n    \n    if (provider.value.pageUnit == undefined) {\n        provider.value.pageUnit = 'px';\n    }\n    \n    mitt.emit('updatePanel');\n    mitt.emit('changePageSize');\n}\n\nfunction back() {\n    $emit('back');\n}\n\nfunction saveTemplate() {\n    if (props.generateImg) {\n        if (!data.buildImgIs) {\n            data.buildImgIs = true;\n            MyPrinter.imgChrome({ previewDataList: [defaultPreviewData(previewData.value)[0]] })\n                .then(res => {\n                    $emit('panelImg', res.blobList!);\n                    data.buildImgIs = false;\n                }).catch(_e => {\n                data.buildImgIs = false;\n            });\n        }\n    }\n    \n    const template = {} as Template;\n    template.name = panel.name;\n    template.content = JSON.stringify(panel, (key, value) => {\n        if ('runtimeOption' == key) return undefined;\n        return value;\n    });\n    if (props.saveTemplate != null) {\n        props.saveTemplate(template)\n            .then(_res => {\n                // 保存成功\n                MyMessage.success(i18n('common.save.success'));\n            }).catch(e => {\n            // 保存失败\n            let failMsg = i18n('common.save.fail');\n            if (e.msg) {\n                failMsg = failMsg + ': ' + e.msg;\n            }\n            MyMessage.success(failMsg);\n        });\n    }\n}\n</script>\n"],"names":[],"mappings":"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"}