UNPKG

vue-cesium-jyt

Version:
1 lines 5.79 kB
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/post-processes/post-process-stage-collection/index.ts"],"sourcesContent":["/*\n * @Author: zouyaoji@https://github.com/zouyaoji\n * @Date: 2021-09-16 09:28:13\n * @LastEditTime: 2022-01-19 23:52:30\n * @LastEditors: zouyaoji\n * @Description:\n * @FilePath: \\vue-cesium@next\\packages\\components\\post-processes\\post-process-stage-collection\\index.ts\n */\nimport type { ExtractPropTypes, WatchStopHandle, PropType } from 'vue'\nimport { createCommentVNode, defineComponent, getCurrentInstance, h, onUnmounted, watch } from 'vue'\nimport type { VcComponentInternalInstance, VcComponentPublicInstance } from '@vue-cesium/utils/types'\nimport { useCommon } from '@vue-cesium/composables/index'\nimport { kebabCase } from '@vue-cesium/utils/util'\nimport { hSlot } from '@vue-cesium/utils/private/render'\nimport { commonEmits } from '@vue-cesium/utils/emits'\nimport type { VcPostProcessStageProps } from '../post-process-stage'\n\nexport const postProcessStageCollectionProps = {\n postProcesses: {\n type: Array as PropType<Array<VcPostProcessStageProps>>,\n default: () => []\n }\n}\nexport default defineComponent({\n name: 'VcPostProcessStageCollection',\n props: postProcessStageCollectionProps,\n emits: commonEmits,\n setup(props, ctx) {\n // state\n const instance = getCurrentInstance() as VcComponentInternalInstance\n instance.cesiumClass = 'PostProcessStageCollection'\n instance.cesiumEvents = []\n const commonState = useCommon(props, ctx, instance)\n if (commonState === void 0) {\n return\n }\n const { $services } = commonState\n const stages: Array<Cesium.PostProcessStage | Cesium.PostProcessStageComposite> = []\n let unwatchFns: Array<WatchStopHandle> = []\n // watch\n unwatchFns.push(\n watch(\n () => props.postProcesses,\n val => {\n if (instance.mounted) {\n ;(instance.proxy as VcComponentPublicInstance).reload?.()\n }\n },\n { deep: true }\n )\n )\n\n // methods\n instance.createCesiumObject = async () => {\n return stages\n }\n\n instance.mount = async () => {\n const { postProcessStages } = $services\n props.postProcesses.forEach(postProcess => {\n const opts = commonState.transformProps(postProcess)\n stages.push(postProcessStages.add(new Cesium.PostProcessStage(opts as any)))\n })\n return true\n }\n\n instance.unmount = async () => {\n const { postProcessStages } = $services\n stages.forEach(stage => {\n postProcessStages.remove(stage)\n })\n stages.length = 0\n return true\n }\n\n // life cycle\n onUnmounted(() => {\n unwatchFns.forEach(item => item())\n unwatchFns = []\n })\n\n return () =>\n ctx.slots.default\n ? h(\n 'i',\n {\n class: kebabCase(instance.proxy?.$options.name || ''),\n style: { display: 'none !important' }\n },\n hSlot(ctx.slots.default)\n )\n : createCommentVNode(kebabCase(instance.proxy?.$options.name || ''))\n }\n})\n\nexport type VcPostProcessStageCollectionProps = ExtractPropTypes<typeof postProcessStageCollectionProps>\n"],"names":[],"mappings":"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"}