@l1yp/file-viewer 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +134 -0
- package/dist/FileViewer.js +7 -0
- package/dist/FileViewer.vue.d.ts +37 -0
- package/dist/FileViewer.vue_vue_type_script_setup_true_lang.js +103 -0
- package/dist/_virtual/_plugin-vue_export-helper.js +8 -0
- package/dist/components/AppxViewer.js +7 -0
- package/dist/components/AppxViewer.vue.d.ts +18 -0
- package/dist/components/AppxViewer.vue_vue_type_script_setup_true_lang.js +174 -0
- package/dist/components/ArchiveBrowser.js +7 -0
- package/dist/components/ArchiveBrowser.vue.d.ts +18 -0
- package/dist/components/ArchiveBrowser.vue_vue_type_script_setup_true_lang.js +279 -0
- package/dist/components/AudioViewer.js +7 -0
- package/dist/components/AudioViewer.vue.d.ts +21 -0
- package/dist/components/AudioViewer.vue_vue_type_script_setup_true_lang.js +201 -0
- package/dist/components/BinObjBrowser.js +7 -0
- package/dist/components/BinObjBrowser.vue.d.ts +19 -0
- package/dist/components/BinObjBrowser.vue_vue_type_script_setup_true_lang.js +141 -0
- package/dist/components/CertViewer.js +7 -0
- package/dist/components/CertViewer.vue.d.ts +17 -0
- package/dist/components/CertViewer.vue_vue_type_script_setup_true_lang.js +251 -0
- package/dist/components/ClassViewer.js +7 -0
- package/dist/components/ClassViewer.vue.d.ts +15 -0
- package/dist/components/ClassViewer.vue_vue_type_script_setup_true_lang.js +164 -0
- package/dist/components/CodeBlock.js +7 -0
- package/dist/components/CodeBlock.vue.d.ts +17 -0
- package/dist/components/CodeBlock.vue_vue_type_script_setup_true_lang.js +79 -0
- package/dist/components/CodeView.js +7 -0
- package/dist/components/CodeView.vue.d.ts +21 -0
- package/dist/components/CodeView.vue_vue_type_script_setup_true_lang.js +180 -0
- package/dist/components/CsvViewer.js +7 -0
- package/dist/components/CsvViewer.vue.d.ts +26 -0
- package/dist/components/CsvViewer.vue_vue_type_script_setup_true_lang.js +187 -0
- package/dist/components/DicomViewer.js +7 -0
- package/dist/components/DicomViewer.vue.d.ts +30 -0
- package/dist/components/DicomViewer.vue_vue_type_script_setup_true_lang.js +362 -0
- package/dist/components/DocxViewer.js +7 -0
- package/dist/components/DocxViewer.vue.d.ts +19 -0
- package/dist/components/DocxViewer.vue_vue_type_script_setup_true_lang.js +59 -0
- package/dist/components/DrawioViewer.js +7 -0
- package/dist/components/DrawioViewer.vue.d.ts +16 -0
- package/dist/components/DrawioViewer.vue_vue_type_script_setup_true_lang.js +38 -0
- package/dist/components/DxfViewer.js +7 -0
- package/dist/components/DxfViewer.vue.d.ts +14 -0
- package/dist/components/DxfViewer.vue_vue_type_script_setup_true_lang.js +239 -0
- package/dist/components/EbookViewer.js +7 -0
- package/dist/components/EbookViewer.vue.d.ts +22 -0
- package/dist/components/EbookViewer.vue_vue_type_script_setup_true_lang.js +170 -0
- package/dist/components/EmlViewer.js +7 -0
- package/dist/components/EmlViewer.vue.d.ts +21 -0
- package/dist/components/EmlViewer.vue_vue_type_script_setup_true_lang.js +193 -0
- package/dist/components/EplViewer.js +7 -0
- package/dist/components/EplViewer.vue.d.ts +19 -0
- package/dist/components/EplViewer.vue_vue_type_script_setup_true_lang.js +201 -0
- package/dist/components/FileViewerBody.js +7 -0
- package/dist/components/FileViewerBody.vue.d.ts +47 -0
- package/dist/components/FileViewerBody.vue_vue_type_script_setup_true_lang.js +599 -0
- package/dist/components/FileViewerPanel.js +7 -0
- package/dist/components/FileViewerPanel.vue.d.ts +3 -0
- package/dist/components/FileViewerPanel.vue_vue_type_script_setup_true_lang.js +207 -0
- package/dist/components/FontViewer.js +7 -0
- package/dist/components/FontViewer.vue.d.ts +17 -0
- package/dist/components/FontViewer.vue_vue_type_script_setup_true_lang.js +120 -0
- package/dist/components/FrontmatterCard.js +7 -0
- package/dist/components/FrontmatterCard.vue.d.ts +11 -0
- package/dist/components/FrontmatterCard.vue_vue_type_script_setup_true_lang.js +30 -0
- package/dist/components/GeoViewer.js +7 -0
- package/dist/components/GeoViewer.vue.d.ts +17 -0
- package/dist/components/GeoViewer.vue_vue_type_script_setup_true_lang.js +255 -0
- package/dist/components/HarViewer.js +7 -0
- package/dist/components/HarViewer.vue.d.ts +20 -0
- package/dist/components/HarViewer.vue_vue_type_script_setup_true_lang.js +322 -0
- package/dist/components/HexViewer.js +7 -0
- package/dist/components/HexViewer.vue.d.ts +22 -0
- package/dist/components/HexViewer.vue_vue_type_script_setup_true_lang.js +121 -0
- package/dist/components/HprofViewer.js +7 -0
- package/dist/components/HprofViewer.vue.d.ts +27 -0
- package/dist/components/HprofViewer.vue_vue_type_script_setup_true_lang.js +561 -0
- package/dist/components/ImageLightbox.js +7 -0
- package/dist/components/ImageLightbox.vue.d.ts +3 -0
- package/dist/components/ImageLightbox.vue_vue_type_script_setup_true_lang.js +86 -0
- package/dist/components/InlineText.d.ts +29 -0
- package/dist/components/InlineText.js +21 -0
- package/dist/components/JksViewer.js +7 -0
- package/dist/components/JksViewer.vue.d.ts +22 -0
- package/dist/components/JksViewer.vue_vue_type_script_setup_true_lang.js +353 -0
- package/dist/components/JsonlViewer.js +7 -0
- package/dist/components/JsonlViewer.vue.d.ts +15 -0
- package/dist/components/JsonlViewer.vue_vue_type_script_setup_true_lang.js +103 -0
- package/dist/components/LogViewer.js +7 -0
- package/dist/components/LogViewer.vue.d.ts +29 -0
- package/dist/components/LogViewer.vue_vue_type_script_setup_true_lang.js +670 -0
- package/dist/components/LrcViewer.js +7 -0
- package/dist/components/LrcViewer.vue.d.ts +17 -0
- package/dist/components/LrcViewer.vue_vue_type_script_setup_true_lang.js +106 -0
- package/dist/components/MarkdownTable.js +7 -0
- package/dist/components/MarkdownTable.vue.d.ts +19 -0
- package/dist/components/MarkdownTable.vue_vue_type_script_setup_true_lang.js +71 -0
- package/dist/components/MarkdownText.d.ts +30 -0
- package/dist/components/MarkdownText.js +21 -0
- package/dist/components/MhtViewer.js +7 -0
- package/dist/components/MhtViewer.vue.d.ts +22 -0
- package/dist/components/MhtViewer.vue_vue_type_script_setup_true_lang.js +112 -0
- package/dist/components/MindMapView.js +7 -0
- package/dist/components/MindMapView.vue.d.ts +23 -0
- package/dist/components/MindMapView.vue_vue_type_script_setup_true_lang.js +337 -0
- package/dist/components/MissingDependency.js +7 -0
- package/dist/components/MissingDependency.vue.d.ts +17 -0
- package/dist/components/MissingDependency.vue_vue_type_script_setup_true_lang.js +37 -0
- package/dist/components/ModelViewer.js +7 -0
- package/dist/components/ModelViewer.vue.d.ts +18 -0
- package/dist/components/ModelViewer.vue_vue_type_script_setup_true_lang.js +157 -0
- package/dist/components/MsiViewer.js +7 -0
- package/dist/components/MsiViewer.vue.d.ts +19 -0
- package/dist/components/MsiViewer.vue_vue_type_script_setup_true_lang.js +136 -0
- package/dist/components/NotebookViewer.js +7 -0
- package/dist/components/NotebookViewer.vue.d.ts +20 -0
- package/dist/components/NotebookViewer.vue_vue_type_script_setup_true_lang.js +125 -0
- package/dist/components/PdfViewer.js +7 -0
- package/dist/components/PdfViewer.vue.d.ts +19 -0
- package/dist/components/PdfViewer.vue_vue_type_script_setup_true_lang.js +114 -0
- package/dist/components/PptxViewer.js +7 -0
- package/dist/components/PptxViewer.vue.d.ts +20 -0
- package/dist/components/PptxViewer.vue_vue_type_script_setup_true_lang.js +73 -0
- package/dist/components/PsdViewer.js +7 -0
- package/dist/components/PsdViewer.vue.d.ts +15 -0
- package/dist/components/PsdViewer.vue_vue_type_script_setup_true_lang.js +218 -0
- package/dist/components/QmcAudioViewer.js +7 -0
- package/dist/components/QmcAudioViewer.vue.d.ts +18 -0
- package/dist/components/QmcAudioViewer.vue_vue_type_script_setup_true_lang.js +92 -0
- package/dist/components/RasterViewer.js +7 -0
- package/dist/components/RasterViewer.vue.d.ts +21 -0
- package/dist/components/RasterViewer.vue_vue_type_script_setup_true_lang.js +161 -0
- package/dist/components/RtfViewer.js +7 -0
- package/dist/components/RtfViewer.vue.d.ts +21 -0
- package/dist/components/RtfViewer.vue_vue_type_script_setup_true_lang.js +66 -0
- package/dist/components/SevenZipBrowser.js +7 -0
- package/dist/components/SevenZipBrowser.vue.d.ts +13 -0
- package/dist/components/SevenZipBrowser.vue_vue_type_script_setup_true_lang.js +366 -0
- package/dist/components/SqliteViewer.js +7 -0
- package/dist/components/SqliteViewer.vue.d.ts +18 -0
- package/dist/components/SqliteViewer.vue_vue_type_script_setup_true_lang.js +186 -0
- package/dist/components/SubtitleViewer.js +7 -0
- package/dist/components/SubtitleViewer.vue.d.ts +15 -0
- package/dist/components/SubtitleViewer.vue_vue_type_script_setup_true_lang.js +48 -0
- package/dist/components/XlsxChart.js +7 -0
- package/dist/components/XlsxChart.vue.d.ts +14 -0
- package/dist/components/XlsxChart.vue_vue_type_script_setup_true_lang.js +240 -0
- package/dist/components/XlsxViewer.js +7 -0
- package/dist/components/XlsxViewer.vue.d.ts +22 -0
- package/dist/components/XlsxViewer.vue_vue_type_script_setup_true_lang.js +814 -0
- package/dist/components/XmindViewer.js +7 -0
- package/dist/components/XmindViewer.vue.d.ts +13 -0
- package/dist/components/XmindViewer.vue_vue_type_script_setup_true_lang.js +48 -0
- package/dist/components/ZipBrowser.js +7 -0
- package/dist/components/ZipBrowser.vue.d.ts +14 -0
- package/dist/components/ZipBrowser.vue_vue_type_script_setup_true_lang.js +326 -0
- package/dist/components/ZoomImage.js +7 -0
- package/dist/components/ZoomImage.vue.d.ts +29 -0
- package/dist/components/ZoomImage.vue_vue_type_script_setup_true_lang.js +147 -0
- package/dist/components/epl/EplCodeBlock.js +7 -0
- package/dist/components/epl/EplCodeBlock.vue.d.ts +15 -0
- package/dist/components/epl/EplCodeBlock.vue_vue_type_script_setup_true_lang.js +72 -0
- package/dist/components/epl/EplDoc.js +7 -0
- package/dist/components/epl/EplDoc.vue.d.ts +19 -0
- package/dist/components/epl/EplDoc.vue_vue_type_script_setup_true_lang.js +327 -0
- package/dist/components/epl/EplMethod.js +7 -0
- package/dist/components/epl/EplMethod.vue.d.ts +14 -0
- package/dist/components/epl/EplMethod.vue_vue_type_script_setup_true_lang.js +100 -0
- package/dist/components/epl/EplResource.js +7 -0
- package/dist/components/epl/EplResource.vue.d.ts +15 -0
- package/dist/components/epl/EplResource.vue_vue_type_script_setup_true_lang.js +204 -0
- package/dist/components/epl/EplTree.js +7 -0
- package/dist/components/epl/EplTree.vue.d.ts +27 -0
- package/dist/components/epl/EplTree.vue_vue_type_script_setup_true_lang.js +123 -0
- package/dist/components/epl/EplVarTable.js +7 -0
- package/dist/components/epl/EplVarTable.vue.d.ts +21 -0
- package/dist/components/epl/EplVarTable.vue_vue_type_script_setup_true_lang.js +60 -0
- package/dist/components/epl/docTypes.d.ts +12 -0
- package/dist/components/epl/numbering.d.ts +21 -0
- package/dist/components/epl/numbering.js +14 -0
- package/dist/components/icons/Icon.js +7 -0
- package/dist/components/icons/Icon.vue.d.ts +14 -0
- package/dist/components/icons/Icon.vue_vue_type_script_setup_true_lang.js +33 -0
- package/dist/components/icons/iconPaths.d.ts +60 -0
- package/dist/components/icons/iconPaths.js +54 -0
- package/dist/components/optionalViewer.d.ts +14 -0
- package/dist/components/optionalViewer.js +37 -0
- package/dist/components/ui/ClampBlock.d.ts +82 -0
- package/dist/components/ui/ClampBlock.js +63 -0
- package/dist/composables/useFileViewer.d.ts +428 -0
- package/dist/composables/useFileViewer.js +27 -0
- package/dist/composables/useLightbox.d.ts +33 -0
- package/dist/composables/useLightbox.js +17 -0
- package/dist/composables/useLogRules.d.ts +47 -0
- package/dist/composables/useLogRules.js +74 -0
- package/dist/index.d.ts +44 -0
- package/dist/index.js +30 -0
- package/dist/lib/aes.d.ts +25 -0
- package/dist/lib/aes.js +99 -0
- package/dist/lib/appx.d.ts +66 -0
- package/dist/lib/appx.js +112 -0
- package/dist/lib/archive.d.ts +29 -0
- package/dist/lib/asn1.d.ts +47 -0
- package/dist/lib/asn1.js +122 -0
- package/dist/lib/binobj.d.ts +69 -0
- package/dist/lib/binobj.js +430 -0
- package/dist/lib/brotli.d.ts +14 -0
- package/dist/lib/brotli.js +16 -0
- package/dist/lib/bzip2.d.ts +14 -0
- package/dist/lib/bzip2.js +161 -0
- package/dist/lib/classfile.d.ts +72 -0
- package/dist/lib/classfile.js +210 -0
- package/dist/lib/codePreview.d.ts +22 -0
- package/dist/lib/codePreview.js +27 -0
- package/dist/lib/codefold.d.ts +14 -0
- package/dist/lib/codefold.js +30 -0
- package/dist/lib/codeformat.d.ts +21 -0
- package/dist/lib/codeformat.js +130 -0
- package/dist/lib/csv.d.ts +19 -0
- package/dist/lib/csv.js +74 -0
- package/dist/lib/des.d.ts +17 -0
- package/dist/lib/des.js +928 -0
- package/dist/lib/diagram.d.ts +5 -0
- package/dist/lib/diagram.js +479 -0
- package/dist/lib/dicom.d.ts +69 -0
- package/dist/lib/dicom.js +442 -0
- package/dist/lib/dicomCodecs.d.ts +28 -0
- package/dist/lib/dicomCodecs.js +156 -0
- package/dist/lib/dicomRender.d.ts +46 -0
- package/dist/lib/dicomRender.js +114 -0
- package/dist/lib/dxf.d.ts +86 -0
- package/dist/lib/dxf.js +399 -0
- package/dist/lib/eml.d.ts +40 -0
- package/dist/lib/eml.js +46 -0
- package/dist/lib/encoding.d.ts +28 -0
- package/dist/lib/encoding.js +44 -0
- package/dist/lib/epl/code/ast.d.ts +150 -0
- package/dist/lib/epl/code/codeDataParser.d.ts +3 -0
- package/dist/lib/epl/code/codeDataParser.js +330 -0
- package/dist/lib/epl/code/codeLines.d.ts +20 -0
- package/dist/lib/epl/code/codeLines.js +191 -0
- package/dist/lib/epl/code/structures.d.ts +86 -0
- package/dist/lib/epl/code/textCode.d.ts +29 -0
- package/dist/lib/epl/code/textCode.js +150 -0
- package/dist/lib/epl/code/variable.d.ts +25 -0
- package/dist/lib/epl/eplDocument.d.ts +21 -0
- package/dist/lib/epl/eplDocument.js +36 -0
- package/dist/lib/epl/imageList.d.ts +28 -0
- package/dist/lib/epl/imageList.js +66 -0
- package/dist/lib/epl/index.d.ts +53 -0
- package/dist/lib/epl/index.js +45 -0
- package/dist/lib/epl/io/binaryReader.d.ts +56 -0
- package/dist/lib/epl/io/binaryReader.js +119 -0
- package/dist/lib/epl/io/encoding.d.ts +16 -0
- package/dist/lib/epl/io/encoding.js +27 -0
- package/dist/lib/epl/model/eplSystemId.d.ts +64 -0
- package/dist/lib/epl/model/eplSystemId.js +16 -0
- package/dist/lib/epl/model/section.d.ts +46 -0
- package/dist/lib/epl/names/eplLibData.js +39 -0
- package/dist/lib/epl/names/idToNameMap.d.ts +33 -0
- package/dist/lib/epl/names/idToNameMap.js +130 -0
- package/dist/lib/epl/names/libNameProvider.d.ts +15 -0
- package/dist/lib/epl/names/libNameProvider.js +18 -0
- package/dist/lib/epl/program.d.ts +120 -0
- package/dist/lib/epl/program.js +134 -0
- package/dist/lib/epl/projectFileReader.d.ts +23 -0
- package/dist/lib/epl/projectFileReader.js +65 -0
- package/dist/lib/epl/sections/code.d.ts +20 -0
- package/dist/lib/epl/sections/esystemInfo.d.ts +14 -0
- package/dist/lib/epl/sections/losable.d.ts +11 -0
- package/dist/lib/epl/sections/projectConfig.d.ts +23 -0
- package/dist/lib/epl/sections/resource.d.ts +57 -0
- package/dist/lib/fb2.d.ts +14 -0
- package/dist/lib/fb2.js +62 -0
- package/dist/lib/fileType.d.ts +315 -0
- package/dist/lib/fileType.js +800 -0
- package/dist/lib/fonts.d.ts +8 -0
- package/dist/lib/fonts.js +4 -0
- package/dist/lib/format.d.ts +16 -0
- package/dist/lib/format.js +38 -0
- package/dist/lib/frontmatter.d.ts +13 -0
- package/dist/lib/frontmatter.js +23 -0
- package/dist/lib/geo.d.ts +30 -0
- package/dist/lib/geo.js +235 -0
- package/dist/lib/har.d.ts +171 -0
- package/dist/lib/har.js +397 -0
- package/dist/lib/highlight.d.ts +18 -0
- package/dist/lib/highlight.js +34 -0
- package/dist/lib/highlightLangs.d.ts +15 -0
- package/dist/lib/highlightLangs.js +93 -0
- package/dist/lib/hprof.d.ts +211 -0
- package/dist/lib/hprof.js +709 -0
- package/dist/lib/ipynb.d.ts +48 -0
- package/dist/lib/ipynb.js +130 -0
- package/dist/lib/jks.d.ts +86 -0
- package/dist/lib/jks.js +167 -0
- package/dist/lib/jsonl.d.ts +29 -0
- package/dist/lib/jsonl.js +24 -0
- package/dist/lib/lrc.d.ts +32 -0
- package/dist/lib/lrc.js +84 -0
- package/dist/lib/lzma.d.ts +70 -0
- package/dist/lib/lzma.js +204 -0
- package/dist/lib/markdown/blocks.d.ts +9 -0
- package/dist/lib/markdown/blocks.js +221 -0
- package/dist/lib/markdown/index.d.ts +3 -0
- package/dist/lib/markdown/inline.d.ts +33 -0
- package/dist/lib/markdown/inline.js +84 -0
- package/dist/lib/markdown/math.d.ts +5 -0
- package/dist/lib/markdown/math.js +25 -0
- package/dist/lib/markdown/segmentize.d.ts +11 -0
- package/dist/lib/markdown/segmentize.js +28 -0
- package/dist/lib/markdown/styles.d.ts +26 -0
- package/dist/lib/markdown/styles.js +135 -0
- package/dist/lib/mht.d.ts +51 -0
- package/dist/lib/mht.js +122 -0
- package/dist/lib/midi.d.ts +28 -0
- package/dist/lib/midi.js +84 -0
- package/dist/lib/mime.d.ts +82 -0
- package/dist/lib/mime.js +151 -0
- package/dist/lib/mindmap.d.ts +51 -0
- package/dist/lib/mindmap.js +113 -0
- package/dist/lib/mobi.d.ts +15 -0
- package/dist/lib/mobi.js +68 -0
- package/dist/lib/msi.d.ts +50 -0
- package/dist/lib/msi.js +332 -0
- package/dist/lib/optionalDep.d.ts +26 -0
- package/dist/lib/optionalDep.js +20 -0
- package/dist/lib/pkcs12.d.ts +56 -0
- package/dist/lib/pkcs12.js +356 -0
- package/dist/lib/qmc.d.ts +50 -0
- package/dist/lib/qmc.js +213 -0
- package/dist/lib/rar.d.ts +16 -0
- package/dist/lib/rar.js +40 -0
- package/dist/lib/rawPreview.d.ts +12 -0
- package/dist/lib/rawPreview.js +54 -0
- package/dist/lib/rc2.d.ts +12 -0
- package/dist/lib/rc2.js +298 -0
- package/dist/lib/resolveInput.d.ts +22 -0
- package/dist/lib/resolveInput.js +55 -0
- package/dist/lib/rtf.d.ts +53 -0
- package/dist/lib/rtf.js +413 -0
- package/dist/lib/sevenZip.d.ts +82 -0
- package/dist/lib/sevenZip.js +395 -0
- package/dist/lib/sha1.d.ts +24 -0
- package/dist/lib/sha1.js +53 -0
- package/dist/lib/sha256.d.ts +21 -0
- package/dist/lib/sha256.js +119 -0
- package/dist/lib/speechAudio.d.ts +36 -0
- package/dist/lib/speechAudio.js +85 -0
- package/dist/lib/sqlite.d.ts +38 -0
- package/dist/lib/sqlite.js +104 -0
- package/dist/lib/subtitle.d.ts +26 -0
- package/dist/lib/subtitle.js +99 -0
- package/dist/lib/tarball.d.ts +20 -0
- package/dist/lib/tarball.js +248 -0
- package/dist/lib/viewerFormats.d.ts +35 -0
- package/dist/lib/viewerFormats.js +83 -0
- package/dist/lib/viewerKind.d.ts +36 -0
- package/dist/lib/viewerKind.js +233 -0
- package/dist/lib/x509.d.ts +68 -0
- package/dist/lib/x509.js +267 -0
- package/dist/lib/xlsx.d.ts +55 -0
- package/dist/lib/xlsx.js +321 -0
- package/dist/lib/xlsxCharts.d.ts +34 -0
- package/dist/lib/xlsxCharts.js +152 -0
- package/dist/lib/xmind.d.ts +6 -0
- package/dist/lib/xmind.js +124 -0
- package/dist/lib/zip.d.ts +56 -0
- package/dist/lib/zip.js +169 -0
- package/dist/style.css +2 -0
- package/dist/types.d.ts +42 -0
- package/package.json +128 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IDE-style viewer for e-language (易语言) `.e` / `.ec` project files. Fetches the BYTES and parses + decompiles
|
|
3
|
+
* them entirely in-browser via {@link decompileEpl} (port of OpenEpl/EProjectFile, see lib/epl) — no dependency,
|
|
4
|
+
* like the eml / mht / binobj viewers. Lays the result out like the 易语言 IDE: a「程序」tree on the left
|
|
5
|
+
* (程序集 / 类 + project tables), the selected document on the right (definitions as bordered tables, method
|
|
6
|
+
* bodies with dashed block guides), open documents as bottom tabs, and 支持库/程序 tabs under the tree.
|
|
7
|
+
*
|
|
8
|
+
* Encrypted files surface a friendly message (decryption is a separate path); a large file is gated behind a
|
|
9
|
+
* confirm (all parsing is in-memory). Entry shape mirrors the other self-fetching viewers: a real download URL,
|
|
10
|
+
* or a blob URL minted by an archive browser from extracted bytes.
|
|
11
|
+
*/
|
|
12
|
+
type __VLS_Props = {
|
|
13
|
+
url?: string;
|
|
14
|
+
name: string;
|
|
15
|
+
size?: number;
|
|
16
|
+
};
|
|
17
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
18
|
+
declare const _default: typeof __VLS_export;
|
|
19
|
+
export default _default;
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { EplEncryptedError as e } from "../lib/epl/projectFileReader.js";
|
|
2
|
+
import { decompileEpl as t } from "../lib/epl/index.js";
|
|
3
|
+
import n from "./epl/EplTree.js";
|
|
4
|
+
import ee from "./epl/EplDoc.js";
|
|
5
|
+
import { Fragment as r, computed as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createTextVNode as l, createVNode as u, defineComponent as d, nextTick as f, normalizeClass as p, openBlock as m, ref as h, renderList as g, toDisplayString as _, vShow as v, watch as y, withDirectives as b } from "vue";
|
|
6
|
+
//#region src/components/EplViewer.vue?vue&type=script&setup=true&lang.ts
|
|
7
|
+
var te = { class: "epl" }, ne = {
|
|
8
|
+
key: 0,
|
|
9
|
+
class: "epl__msg"
|
|
10
|
+
}, re = {
|
|
11
|
+
key: 1,
|
|
12
|
+
class: "epl__msg epl__gate"
|
|
13
|
+
}, ie = {
|
|
14
|
+
key: 2,
|
|
15
|
+
class: "epl__msg epl__gate"
|
|
16
|
+
}, x = {
|
|
17
|
+
key: 0,
|
|
18
|
+
class: "epl__tip"
|
|
19
|
+
}, S = {
|
|
20
|
+
key: 3,
|
|
21
|
+
class: "epl__msg epl__msg--error"
|
|
22
|
+
}, C = {
|
|
23
|
+
key: 4,
|
|
24
|
+
class: "epl__ide"
|
|
25
|
+
}, w = { class: "epl__top" }, T = { class: "epl__name" }, ae = { class: "epl__badge" }, oe = { class: "epl__counts" }, E = { class: "epl__body" }, D = { class: "epl__side" }, O = { class: "epl__sidebody" }, k = { class: "epl__libs" }, A = ["title"], j = {
|
|
26
|
+
key: 0,
|
|
27
|
+
class: "epl__libsempty"
|
|
28
|
+
}, M = { class: "epl__sidetabs" }, N = { class: "epl__main" }, P = { class: "epl__docarea" }, F = {
|
|
29
|
+
key: 1,
|
|
30
|
+
class: "epl__msg"
|
|
31
|
+
}, I = {
|
|
32
|
+
key: 0,
|
|
33
|
+
class: "epl__doctabs"
|
|
34
|
+
}, L = ["onClick"], R = ["onClick"], z = 32 * 1024 * 1024, B = /*@__PURE__*/ d({
|
|
35
|
+
__name: "EplViewer",
|
|
36
|
+
props: {
|
|
37
|
+
url: {},
|
|
38
|
+
name: {},
|
|
39
|
+
size: {}
|
|
40
|
+
},
|
|
41
|
+
setup(d) {
|
|
42
|
+
let B = d, V = h("loading"), H = h(""), U = h(""), W = h(null);
|
|
43
|
+
async function G() {
|
|
44
|
+
if (B.url) {
|
|
45
|
+
V.value = "loading", H.value = "", U.value = "", W.value = null;
|
|
46
|
+
try {
|
|
47
|
+
let e = await fetch(B.url);
|
|
48
|
+
if (!e.ok) throw Error(`HTTP ${e.status}`);
|
|
49
|
+
let n = await e.arrayBuffer();
|
|
50
|
+
W.value = t(new Uint8Array(n)), V.value = "ready";
|
|
51
|
+
} catch (t) {
|
|
52
|
+
t instanceof e ? (V.value = "encrypted", U.value = t.tip ?? "") : (V.value = "error", H.value = t instanceof Error ? t.message : String(t));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function K() {
|
|
57
|
+
if (B.size && B.size > z) {
|
|
58
|
+
V.value = "gate";
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
G();
|
|
62
|
+
}
|
|
63
|
+
y(() => B.url, K, { immediate: !0 });
|
|
64
|
+
let q = i(() => W.value?.meta ?? null), J = i(() => W.value?.program ?? null), se = i(() => {
|
|
65
|
+
let e = q.value?.fileType;
|
|
66
|
+
return e === "source" ? "源码 .e" : e === "module" ? "模块 .ec" : "未知";
|
|
67
|
+
}), Y = h("program"), X = h([]), Z = h(""), Q = i(() => X.value.find((e) => e.id === Z.value) ?? null), ce = {
|
|
68
|
+
globals: "全局变量",
|
|
69
|
+
structs: "自定义数据类型",
|
|
70
|
+
dll: "Dll命令",
|
|
71
|
+
constants: "常量表",
|
|
72
|
+
resources: "图片/声音",
|
|
73
|
+
forms: "资源表",
|
|
74
|
+
libraries: "模块引用表"
|
|
75
|
+
};
|
|
76
|
+
function le(e) {
|
|
77
|
+
if (e.classes.length) {
|
|
78
|
+
let t = e.classes[0];
|
|
79
|
+
return {
|
|
80
|
+
id: `class:${t.id >>> 0}`,
|
|
81
|
+
kind: "class",
|
|
82
|
+
classId: t.id,
|
|
83
|
+
title: t.name
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
let t = [
|
|
87
|
+
"globals",
|
|
88
|
+
"structs",
|
|
89
|
+
"dll",
|
|
90
|
+
"constants",
|
|
91
|
+
"resources",
|
|
92
|
+
"forms",
|
|
93
|
+
"libraries"
|
|
94
|
+
], n = {
|
|
95
|
+
globals: e.globals.length,
|
|
96
|
+
structs: e.structs.length,
|
|
97
|
+
dll: e.dllDeclares.length,
|
|
98
|
+
constants: e.constants.length,
|
|
99
|
+
resources: e.resources.length,
|
|
100
|
+
forms: e.forms.length,
|
|
101
|
+
libraries: e.libraries.length
|
|
102
|
+
};
|
|
103
|
+
for (let e of t) if (n[e] > 0) return {
|
|
104
|
+
id: e,
|
|
105
|
+
kind: e,
|
|
106
|
+
title: ce[e]
|
|
107
|
+
};
|
|
108
|
+
return null;
|
|
109
|
+
}
|
|
110
|
+
y(W, (e) => {
|
|
111
|
+
if (X.value = [], Z.value = "", Y.value = "program", e) {
|
|
112
|
+
let t = le(e.program);
|
|
113
|
+
t && $(t);
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
function $(e) {
|
|
117
|
+
X.value.some((t) => t.id === e.id) || (X.value = [...X.value, e]), Z.value = e.id;
|
|
118
|
+
}
|
|
119
|
+
function ue(e) {
|
|
120
|
+
let t = X.value.findIndex((t) => t.id === e);
|
|
121
|
+
if (t < 0) return;
|
|
122
|
+
let n = X.value.filter((t) => t.id !== e);
|
|
123
|
+
if (X.value = n, Z.value === e) {
|
|
124
|
+
let e = n[t] ?? n[t - 1] ?? null;
|
|
125
|
+
Z.value = e ? e.id : "";
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
async function de(e) {
|
|
129
|
+
let t = J.value;
|
|
130
|
+
if (!t) return;
|
|
131
|
+
let n = t.classes.find((t) => t.id === e.classId);
|
|
132
|
+
n && ($({
|
|
133
|
+
id: `class:${e.classId >>> 0}`,
|
|
134
|
+
kind: "class",
|
|
135
|
+
classId: e.classId,
|
|
136
|
+
title: n.name
|
|
137
|
+
}), await f(), document.getElementById(`epl-m-${e.methodId >>> 0}`)?.scrollIntoView({ block: "start" }));
|
|
138
|
+
}
|
|
139
|
+
function fe() {
|
|
140
|
+
$({
|
|
141
|
+
id: "libraries",
|
|
142
|
+
kind: "libraries",
|
|
143
|
+
title: "模块引用表"
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
return (e, t) => (m(), s("div", te, [V.value === "loading" ? (m(), s("p", ne, "正在解析易语言工程…")) : V.value === "gate" ? (m(), s("div", re, [c("p", null, "文件较大(" + _(((B.size ?? 0) / 1024 / 1024).toFixed(1)) + " MB),是否继续解析预览?", 1), c("button", {
|
|
147
|
+
type: "button",
|
|
148
|
+
class: "epl__btn",
|
|
149
|
+
onClick: G
|
|
150
|
+
}, "继续预览")])) : V.value === "encrypted" ? (m(), s("div", ie, [t[2] ||= c("p", null, "这是加密的易语言工程文件,暂未支持解密预览。", -1), U.value ? (m(), s("p", x, "密码提示:" + _(U.value), 1)) : o("", !0)])) : V.value === "error" ? (m(), s("div", S, [c("p", null, "解析失败:" + _(H.value), 1), c("button", {
|
|
151
|
+
type: "button",
|
|
152
|
+
class: "epl__btn",
|
|
153
|
+
onClick: G
|
|
154
|
+
}, "重试")])) : V.value === "ready" && q.value && J.value ? (m(), s("div", C, [c("div", w, [
|
|
155
|
+
c("span", T, _(q.value.project?.name || B.name), 1),
|
|
156
|
+
c("span", ae, _(se.value), 1),
|
|
157
|
+
c("span", oe, [l(" 程序集 " + _(q.value.counts.classes) + " · 子程序 " + _(q.value.counts.methods) + " · 数据类型 " + _(q.value.counts.structs) + " · DLL " + _(q.value.counts.dllDeclares) + " ", 1), q.value.systemVersion ? (m(), s(r, { key: 0 }, [l(" · 易语言 " + _(q.value.systemVersion), 1)], 64)) : o("", !0)])
|
|
158
|
+
]), c("div", E, [c("aside", D, [c("div", O, [b(u(n, {
|
|
159
|
+
program: J.value,
|
|
160
|
+
"active-id": Z.value,
|
|
161
|
+
onSelect: $,
|
|
162
|
+
onSelectMethod: de
|
|
163
|
+
}, null, 8, ["program", "active-id"]), [[v, Y.value === "program"]]), b(c("div", k, [
|
|
164
|
+
t[4] ||= c("div", { class: "epl__libsroot" }, "支持库", -1),
|
|
165
|
+
(m(!0), s(r, null, g(J.value.libraries, (e, n) => (m(), s("button", {
|
|
166
|
+
key: n,
|
|
167
|
+
type: "button",
|
|
168
|
+
class: "epl__lib",
|
|
169
|
+
title: e.fileName,
|
|
170
|
+
onClick: fe
|
|
171
|
+
}, [t[3] ||= c("span", { class: "epl__libico" }, "库", -1), l(_(e.name || e.fileName), 1)], 8, A))), 128)),
|
|
172
|
+
J.value.libraries.length ? o("", !0) : (m(), s("p", j, "(无引用支持库)"))
|
|
173
|
+
], 512), [[v, Y.value === "libs"]])]), c("div", M, [c("button", {
|
|
174
|
+
type: "button",
|
|
175
|
+
class: p({ "is-active": Y.value === "libs" }),
|
|
176
|
+
onClick: t[0] ||= (e) => Y.value = "libs"
|
|
177
|
+
}, " 支持库 ", 2), c("button", {
|
|
178
|
+
type: "button",
|
|
179
|
+
class: p({ "is-active": Y.value === "program" }),
|
|
180
|
+
onClick: t[1] ||= (e) => Y.value = "program"
|
|
181
|
+
}, " 程序 ", 2)])]), c("main", N, [c("div", P, [Q.value ? (m(), a(ee, {
|
|
182
|
+
key: 0,
|
|
183
|
+
program: J.value,
|
|
184
|
+
doc: Q.value
|
|
185
|
+
}, null, 8, ["program", "doc"])) : (m(), s("p", F, "从左侧选择程序集、类或表进行查看。"))]), X.value.length ? (m(), s("div", I, [(m(!0), s(r, null, g(X.value, (e) => (m(), s("div", {
|
|
186
|
+
key: e.id,
|
|
187
|
+
class: p(["epl__doctab", { "is-active": e.id === Z.value }])
|
|
188
|
+
}, [c("button", {
|
|
189
|
+
type: "button",
|
|
190
|
+
class: "epl__doctab-label",
|
|
191
|
+
onClick: (t) => Z.value = e.id
|
|
192
|
+
}, _(e.title), 9, L), c("button", {
|
|
193
|
+
type: "button",
|
|
194
|
+
class: "epl__doctab-close",
|
|
195
|
+
title: "关闭",
|
|
196
|
+
onClick: (t) => ue(e.id)
|
|
197
|
+
}, " × ", 8, R)], 2))), 128))])) : o("", !0)])])])) : o("", !0)]));
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
//#endregion
|
|
201
|
+
export { B as default };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import e from "../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import t from "./FileViewerBody.vue_vue_type_script_setup_true_lang.js";
|
|
3
|
+
/* empty css */
|
|
4
|
+
//#region src/components/FileViewerBody.vue
|
|
5
|
+
var n = /*#__PURE__*/ e(t, [["__scopeId", "data-v-e200097e"]]);
|
|
6
|
+
//#endregion
|
|
7
|
+
export { n as default };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { ViewerFile } from '@/composables/useFileViewer';
|
|
2
|
+
/**
|
|
3
|
+
* The side viewer's CONTENT area — the type dispatch shared by {@link FileViewerPanel} (a top-level file) and
|
|
4
|
+
* the archive browsers (a file inside a zip/7z/tar/rar, extracted to a blob URL). Given a {@link ViewerFile}
|
|
5
|
+
* it renders the right thing: a self-fetching sub-viewer (docx/pdf/dicom/…), an inline image/video, or — for
|
|
6
|
+
* the text-backed kinds — markdown / html / svg / mind-map / subtitle / geo / csv (rendered), or highlighted,
|
|
7
|
+
* foldable source. It fetches its own text for the text-backed kinds and emits it via `loaded` so the host's
|
|
8
|
+
* copy button can use it. The host owns the header/bar, the render↔source `mode`, and copy/download.
|
|
9
|
+
*
|
|
10
|
+
* Extracted from FileViewerPanel so an archive entry previews with the EXACT same viewers as a top-level file
|
|
11
|
+
* (the old archive detail view only did text/image/office/dicom). The archive browsers import this lazily to
|
|
12
|
+
* break the import cycle (this component lazy-imports them right back for nested archives).
|
|
13
|
+
*
|
|
14
|
+
* "Open with" override: ANY file can be force-opened as a different formatter (hex / text / markdown / html /
|
|
15
|
+
* svg / image / audio / video — {@link VIEWER_FORMATTERS}), since auto-detection by extension/mime can be
|
|
16
|
+
* wrong. The choice becomes an EFFECTIVE file ({@link vf}) that re-runs the dispatch. Two entry points drive
|
|
17
|
+
* the SAME override: (1) the host's header menu (FileViewerPanel) calls the exposed `pickFormat`/`resetFormat`
|
|
18
|
+
* — the primary, universal entry; (2) the unpreviewable-binary card's own chip row, for the archive-browser
|
|
19
|
+
* context where there is no host header. The effective file is emitted via `formatchange` (so the host tracks
|
|
20
|
+
* toggle/copy visibility) and the active key via `formatpick` (so the host menu highlights it). `hostChooser`
|
|
21
|
+
* hides the in-body switcher bar when the host already shows the chooser in its header (no duplicate UI).
|
|
22
|
+
*/
|
|
23
|
+
type __VLS_Props = {
|
|
24
|
+
file: ViewerFile;
|
|
25
|
+
mode?: 'render' | 'source';
|
|
26
|
+
hostChooser?: boolean;
|
|
27
|
+
};
|
|
28
|
+
declare function pickFormat(key: string): void;
|
|
29
|
+
declare function resetFormat(): void;
|
|
30
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
|
|
31
|
+
reload: () => Promise<void>;
|
|
32
|
+
pickFormat: typeof pickFormat;
|
|
33
|
+
resetFormat: typeof resetFormat;
|
|
34
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
35
|
+
loaded: (text: string) => any;
|
|
36
|
+
formatchange: (file: ViewerFile) => any;
|
|
37
|
+
formatpick: (key: string) => any;
|
|
38
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
39
|
+
onLoaded?: ((text: string) => any) | undefined;
|
|
40
|
+
onFormatchange?: ((file: ViewerFile) => any) | undefined;
|
|
41
|
+
onFormatpick?: ((key: string) => any) | undefined;
|
|
42
|
+
}>, {
|
|
43
|
+
mode: "render" | "source";
|
|
44
|
+
hostChooser: boolean;
|
|
45
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
46
|
+
declare const _default: typeof __VLS_export;
|
|
47
|
+
export default _default;
|