{"version":3,"file":"use-previewer.mjs","sources":["../../../../packages/hooks/use-previewer.ts"],"sourcesContent":["import { h, ref, onUnmounted } from 'vue'\nimport { HlMessage } from 'hongluan-ui'\nimport { ModelessDialogManager } from 'hongluan-business-ui'\n\nexport interface PreviewItem {\n  id: string\n  name: string\n  url: string\n  sourceType: 1 | 2 // 1: img, 2: video,\n}\n\nfunction usePreviewer() {\n  const modelessIds = ref<string[]>([])\n\n  const showModelessDialogManager = (item: PreviewItem, initVideoWidth: string, limitNum?: number | null) => {\n    ModelessDialogManager.show({\n      id: item.id,\n      title: item.name,\n      useDock: false,\n      snapshot: false,\n      body: item.sourceType === 2\n        ? h('video',\n          {\n            class: 'videoBox',\n            src: `${item.url}`,\n            autoPlay: true,\n            controls: true,\n            muted: true,\n            style: {\n              width: initVideoWidth,\n            },\n          },\n        )\n        : h('img',\n          {\n            class: 'videoBox',\n            src: `${item.url}`,\n            style: {\n              width: initVideoWidth,\n            },\n          },\n        ),\n      resize: true,\n      onResize: (dlg: HTMLDivElement) => {\n        const videoNode = dlg.querySelector('.videoBox')\n        videoNode?.setAttribute('style', 'width:100%')\n      },\n      onClose: () => {\n        limitNum && modelessIds.value.splice(\n          modelessIds.value.findIndex(el => el === item.id),\n          1,\n        )\n      },\n    })\n  }\n  const openPreviewer = (item: PreviewItem, limitNum?: number | null, initVideoWidth = '500px') => {\n    if (limitNum) {\n      if (!modelessIds.value.includes(`${item.id}`)) {\n        if (modelessIds.value.length <= limitNum - 1) {\n          modelessIds.value.push(`${item.id}`)\n          showModelessDialogManager(item, initVideoWidth, limitNum)\n        } else {\n          HlMessage.warning({\n            message: `最多打开${limitNum}路视频!`,\n          })\n        }\n      } else {\n        HlMessage.warning({\n          message: '已打开!',\n        })\n      }\n    } else {\n      showModelessDialogManager(item, initVideoWidth, limitNum)\n    }\n  }\n\n  onUnmounted(() => {\n    modelessIds.value = []\n    ModelessDialogManager.closeAll()\n  })\n\n  return {\n    openPreviewer,\n  }\n}\n\nexport { usePreviewer }\n"],"names":[],"mappings":"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"}