UNPKG

@open-data-v/data

Version:

OpenDataV 数据处理基础组件包

1 lines 4.22 kB
{"version":3,"file":"Pane.vue.umd2.cjs","sources":["../../src/static/Pane.vue"],"sourcesContent":["<template>\n <o-form-item key=\"title\" label=\"静态数据\">\n <div class=\"justify-center flex-row flex-nowrap flex items-center\">\n <o-input\n :value=\"previewData\"\n :readonly=\"true\"\n placeholder=\"编辑请点击\"\n @click=\"isShow = true\"\n />\n <o-button type=\"primary\" @click=\"isShow = true\"> 编辑 </o-button>\n </div>\n </o-form-item>\n <o-modal v-model:show=\"isShow\">\n <o-card\n title=\"静态数据\"\n :bordered=\"false\"\n size=\"small\"\n role=\"dialog\"\n aria-modal=\"true\"\n closable\n @close=\"isShow = false\"\n >\n <StaticView\n v-model:options=\"formData\"\n mode=\"use\"\n :hanlder=\"handler\"\n @data-change=\"dataChangeHandler\"\n />\n </o-card>\n </o-modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport type { DataHandler, DataInstance, Slotter } from '@open-data-v/base'\nimport { OButton, OCard, OFormItem, OInput, OModal } from '@open-data-v/ui'\nimport { computed, onMounted, onUnmounted, ref, useSlots, watch } from 'vue'\n\nimport StaticContent from './DataView.vue'\n\nconst slots = useSlots()\n\nconst StaticView = computed(() => {\n if (slots.default) {\n return slots.default()[0].type\n } else {\n return StaticContent\n }\n})\n\nconst props = defineProps<{\n slotter: Slotter\n handler: DataHandler\n}>()\nconst isShow = ref<boolean>(false)\n\nconst formData = ref<{\n data: string\n}>({\n data: '[]'\n})\n\nconst previewData = computed<string>(() => {\n try {\n return JSON.stringify(JSON.parse(formData.value.data || '[]'))\n } catch (e) {\n return ''\n }\n})\n\nonMounted(async () => {\n await initData()\n})\n\nlet dataInstance: DataInstance\n\nconst initData = async () => {\n const dataConfig = props.slotter.dataConfig\n if (dataConfig && dataConfig.type === 'STATIC') {\n const acceptor = (resp: any) => {\n formData.value.data = JSON.stringify(resp.data, null, '\\t')\n }\n if (dataInstance) {\n dataInstance.close()\n }\n dataInstance = props.slotter.dataConfig.dataInstance\n if (!dataInstance) {\n return\n }\n dataInstance.debug(acceptor)\n } else {\n changeHandler()\n }\n}\nconst changeHandler = () => {\n const dataConfig = {\n type: 'STATIC',\n dataInstance: new props.handler({\n data: formData.value.data\n })\n }\n props.slotter.changeDataConfig(dataConfig)\n}\n\nconst dataChangeHandler = (data) => {\n formData.value.data = data\n changeHandler()\n}\nonUnmounted(() => {\n if (dataInstance) {\n dataInstance.close()\n }\n})\nwatch(\n () => props.slotter,\n async () => {\n if (props.slotter) {\n await initData()\n }\n },\n { immediate: true }\n)\n</script>\n\n<style lang=\"less\" scoped></style>\n"],"names":["slots","useSlots","StaticView","computed","StaticContent","props","__props","isShow","ref","formData","previewData","onMounted","initData","dataInstance","dataConfig","acceptor","resp","changeHandler","dataChangeHandler","data","onUnmounted","watch"],"mappings":"iVAuCA,MAAMA,EAAQC,EAAAA,SAAS,EAEjBC,EAAaC,EAAAA,SAAS,IACtBH,EAAM,QACDA,EAAM,UAAU,CAAC,EAAE,KAEnBI,EAAA,OAEV,EAEKC,EAAQC,EAIRC,EAASC,MAAa,EAAK,EAE3BC,EAAWD,EAAAA,IAEd,CACD,KAAM,IAAA,CACP,EAEKE,EAAcP,EAAAA,SAAiB,IAAM,CACrC,GAAA,CACK,OAAA,KAAK,UAAU,KAAK,MAAMM,EAAS,MAAM,MAAQ,IAAI,CAAC,OACnD,CACH,MAAA,EAAA,CACT,CACD,EAEDE,EAAAA,UAAU,SAAY,CACpB,MAAMC,EAAS,CAAA,CAChB,EAEG,IAAAC,EAEJ,MAAMD,EAAW,SAAY,CACrB,MAAAE,EAAaT,EAAM,QAAQ,WAC7B,GAAAS,GAAcA,EAAW,OAAS,SAAU,CACxC,MAAAC,EAAYC,GAAc,CAC9BP,EAAS,MAAM,KAAO,KAAK,UAAUO,EAAK,KAAM,KAAM,GAAI,CAC5D,EAKA,GAJIH,GACFA,EAAa,MAAM,EAENA,EAAAR,EAAM,QAAQ,WAAW,aACpC,CAACQ,EACH,OAEFA,EAAa,MAAME,CAAQ,CAAA,MAEbE,EAAA,CAElB,EACMA,EAAgB,IAAM,CAC1B,MAAMH,EAAa,CACjB,KAAM,SACN,aAAc,IAAIT,EAAM,QAAQ,CAC9B,KAAMI,EAAS,MAAM,IACtB,CAAA,CACH,EACMJ,EAAA,QAAQ,iBAAiBS,CAAU,CAC3C,EAEMI,EAAqBC,GAAS,CAClCV,EAAS,MAAM,KAAOU,EACRF,EAAA,CAChB,EACAG,OAAAA,EAAAA,YAAY,IAAM,CACZP,GACFA,EAAa,MAAM,CACrB,CACD,EACDQ,EAAA,MACE,IAAMhB,EAAM,QACZ,SAAY,CACNA,EAAM,SACR,MAAMO,EAAS,CAEnB,EACA,CAAE,UAAW,EAAK,CACpB"}