github.com/e154/smart-home@v0.17.2-0.20240311175135-e530a6e5cd45/static_source/admin/src/components/ImageViewer/index.ts (about) 1 import ImageViewer from './src/ImageViewer.vue' 2 import { isClient } from '@/utils/is' 3 import { createVNode, render, VNode } from 'vue' 4 import { ImageViewerProps } from './src/types' 5 6 let instance: Nullable<VNode> = null 7 8 export function createImageViewer(options: ImageViewerProps) { 9 if (!isClient) return 10 const { 11 urlList, 12 initialIndex = 0, 13 infinite = true, 14 hideOnClickModal = false, 15 appendToBody = false, 16 zIndex = 2000, 17 show = true 18 } = options 19 20 const propsData: Partial<ImageViewerProps> = {} 21 const container = document.createElement('div') 22 propsData.urlList = urlList 23 propsData.initialIndex = initialIndex 24 propsData.infinite = infinite 25 propsData.hideOnClickModal = hideOnClickModal 26 propsData.appendToBody = appendToBody 27 propsData.zIndex = zIndex 28 propsData.show = show 29 30 document.body.appendChild(container) 31 instance = createVNode(ImageViewer, propsData) 32 render(instance, container) 33 }