giime 0.7.12 → 0.7.13
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/dist/index.css +60 -60
- package/es/components/src/composite/fileComponent/FileComponent.vue.d.ts +6 -0
- package/es/components/src/composite/fileComponent/FileComponent.vue2.mjs +7 -1
- package/es/components/src/composite/fileComponent/FileComponent.vue2.mjs.map +1 -1
- package/es/components/src/composite/fileComponent/fileComponent.d.ts +6 -0
- package/es/components/src/composite/fileComponent/fileComponent.mjs +3 -0
- package/es/components/src/composite/fileComponent/fileComponent.mjs.map +1 -1
- package/es/components/src/composite/fileComponent/index.d.ts +12 -0
- package/es/components/src/composite/fileList2/FileList.vue.d.ts +14 -7
- package/es/components/src/composite/fileList2/FileList.vue2.mjs +6 -7
- package/es/components/src/composite/fileList2/FileList.vue2.mjs.map +1 -1
- package/es/components/src/composite/fileList2/fileList.d.ts +3 -0
- package/es/components/src/composite/fileList2/index.d.ts +12 -0
- package/es/components/src/composite/previewFile/PreviewFile.vue.d.ts +6 -0
- package/es/components/src/composite/previewFile/index.d.ts +6 -0
- package/es/components/src/composite/previewFile/previewFile.d.ts +3 -0
- package/es/components/src/composite/uploadFile/UploadFile.vue.d.ts +6 -0
- package/es/components/src/composite/uploadFile/index.d.ts +12 -0
- package/es/components/src/composite/uploadFile/uploadFile.d.ts +4 -1
- package/es/giime/version.d.ts +1 -1
- package/es/index.css +60 -60
- package/lib/components/src/composite/fileComponent/FileComponent.vue.d.ts +6 -0
- package/lib/components/src/composite/fileComponent/FileComponent.vue2.js +7 -1
- package/lib/components/src/composite/fileComponent/FileComponent.vue2.js.map +1 -1
- package/lib/components/src/composite/fileComponent/fileComponent.d.ts +6 -0
- package/lib/components/src/composite/fileComponent/fileComponent.js +3 -0
- package/lib/components/src/composite/fileComponent/fileComponent.js.map +1 -1
- package/lib/components/src/composite/fileComponent/index.d.ts +12 -0
- package/lib/components/src/composite/fileList2/FileList.vue.d.ts +14 -7
- package/lib/components/src/composite/fileList2/FileList.vue2.js +6 -7
- package/lib/components/src/composite/fileList2/FileList.vue2.js.map +1 -1
- package/lib/components/src/composite/fileList2/fileList.d.ts +3 -0
- package/lib/components/src/composite/fileList2/index.d.ts +12 -0
- package/lib/components/src/composite/previewFile/PreviewFile.vue.d.ts +6 -0
- package/lib/components/src/composite/previewFile/index.d.ts +6 -0
- package/lib/components/src/composite/previewFile/previewFile.d.ts +3 -0
- package/lib/components/src/composite/uploadFile/UploadFile.vue.d.ts +6 -0
- package/lib/components/src/composite/uploadFile/index.d.ts +12 -0
- package/lib/components/src/composite/uploadFile/uploadFile.d.ts +4 -1
- package/lib/giime/version.d.ts +1 -1
- package/lib/index.css +60 -60
- package/package.json +1 -1
package/dist/index.css
CHANGED
|
@@ -878,13 +878,36 @@ video {
|
|
|
878
878
|
margin: 0;
|
|
879
879
|
}
|
|
880
880
|
|
|
881
|
-
.
|
|
882
|
-
|
|
881
|
+
.circular[data-v-d7b04fae] {
|
|
882
|
+
animation: loading-rotate-d7b04fae 2s linear infinite;
|
|
883
883
|
}
|
|
884
884
|
|
|
885
|
-
.
|
|
886
|
-
|
|
887
|
-
|
|
885
|
+
.path[data-v-d7b04fae] {
|
|
886
|
+
animation: loading-dash-d7b04fae 1.5s ease-in-out infinite;
|
|
887
|
+
stroke-dasharray: 90, 150;
|
|
888
|
+
stroke-dashoffset: 0;
|
|
889
|
+
stroke: var(--el-color-primary);
|
|
890
|
+
stroke-linecap: round;
|
|
891
|
+
}
|
|
892
|
+
|
|
893
|
+
@keyframes loading-rotate-d7b04fae {
|
|
894
|
+
to {
|
|
895
|
+
transform: rotate(360deg);
|
|
896
|
+
}
|
|
897
|
+
}
|
|
898
|
+
@keyframes loading-dash-d7b04fae {
|
|
899
|
+
0% {
|
|
900
|
+
stroke-dasharray: 1, 200;
|
|
901
|
+
stroke-dashoffset: 0;
|
|
902
|
+
}
|
|
903
|
+
50% {
|
|
904
|
+
stroke-dasharray: 90, 150;
|
|
905
|
+
stroke-dashoffset: -40px;
|
|
906
|
+
}
|
|
907
|
+
100% {
|
|
908
|
+
stroke-dasharray: 90, 150;
|
|
909
|
+
stroke-dashoffset: -120px;
|
|
910
|
+
}
|
|
888
911
|
}
|
|
889
912
|
.gm-upload-pro-file {
|
|
890
913
|
line-height: normal;
|
|
@@ -924,40 +947,13 @@ video {
|
|
|
924
947
|
.gm-upload-pro-file-disabled .el-upload-list__item-status-label {
|
|
925
948
|
display: none;
|
|
926
949
|
}
|
|
927
|
-
.
|
|
928
|
-
|
|
929
|
-
}
|
|
930
|
-
|
|
931
|
-
.path[data-v-d7b04fae] {
|
|
932
|
-
animation: loading-dash-d7b04fae 1.5s ease-in-out infinite;
|
|
933
|
-
stroke-dasharray: 90, 150;
|
|
934
|
-
stroke-dashoffset: 0;
|
|
935
|
-
stroke: var(--el-color-primary);
|
|
936
|
-
stroke-linecap: round;
|
|
950
|
+
.gm-upload-pro-preview-dialog[data-v-9ac30390] [data-v-9ac30390] .el-dialog__body {
|
|
951
|
+
padding: 0;
|
|
937
952
|
}
|
|
938
953
|
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
}
|
|
943
|
-
}
|
|
944
|
-
@keyframes loading-dash-d7b04fae {
|
|
945
|
-
0% {
|
|
946
|
-
stroke-dasharray: 1, 200;
|
|
947
|
-
stroke-dashoffset: 0;
|
|
948
|
-
}
|
|
949
|
-
50% {
|
|
950
|
-
stroke-dasharray: 90, 150;
|
|
951
|
-
stroke-dashoffset: -40px;
|
|
952
|
-
}
|
|
953
|
-
100% {
|
|
954
|
-
stroke-dasharray: 90, 150;
|
|
955
|
-
stroke-dashoffset: -120px;
|
|
956
|
-
}
|
|
957
|
-
}
|
|
958
|
-
[data-v-488ca110] .gmSearchForm .el-form-item {
|
|
959
|
-
margin-right: 0;
|
|
960
|
-
margin-bottom: 4px;
|
|
954
|
+
.gm-upload-pro-file-picture-card[data-v-9ac30390] [data-v-9ac30390] .el-upload-list__item, .gm-upload-pro-file-picture-card[data-v-9ac30390] [data-v-9ac30390] .el-upload--picture-card {
|
|
955
|
+
width: auto;
|
|
956
|
+
height: auto;
|
|
961
957
|
}
|
|
962
958
|
.gm-flex-center[data-v-c17deec9] {
|
|
963
959
|
align-items: center;
|
|
@@ -966,6 +962,29 @@ video {
|
|
|
966
962
|
.gm-flex-justify-between[data-v-c17deec9] {
|
|
967
963
|
justify-content: space-between;
|
|
968
964
|
}
|
|
965
|
+
[data-v-98c2e804] .gmTableNoBorder .el-table__body .el-table__cell {
|
|
966
|
+
border-right: none;
|
|
967
|
+
}
|
|
968
|
+
|
|
969
|
+
[data-v-98c2e804] .gmTableNoBorder .el-table__inner-wrapper:before {
|
|
970
|
+
height: 0;
|
|
971
|
+
}
|
|
972
|
+
|
|
973
|
+
[data-v-98c2e804] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
|
|
974
|
+
height: 0;
|
|
975
|
+
}
|
|
976
|
+
|
|
977
|
+
[data-v-98c2e804] .gmTableNoBorder.el-table--border:after {
|
|
978
|
+
height: 0;
|
|
979
|
+
}
|
|
980
|
+
|
|
981
|
+
[data-v-98c2e804] .gmTableNoBorder.el-table--border:before {
|
|
982
|
+
height: 0;
|
|
983
|
+
}
|
|
984
|
+
|
|
985
|
+
[data-v-98c2e804] .gmTableNoBorder .el-table__border-left-patch {
|
|
986
|
+
height: 0;
|
|
987
|
+
}
|
|
969
988
|
.gm-number-interval-single[data-v-4e6f4d6f] {
|
|
970
989
|
border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
|
|
971
990
|
box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
|
|
@@ -984,6 +1003,10 @@ video {
|
|
|
984
1003
|
.gm-number-interval-single[data-v-4e6f4d6f]:hover .gm-number-interval-close[data-v-4e6f4d6f] {
|
|
985
1004
|
display: flex;
|
|
986
1005
|
}
|
|
1006
|
+
[data-v-488ca110] .gmSearchForm .el-form-item {
|
|
1007
|
+
margin-right: 0;
|
|
1008
|
+
margin-bottom: 4px;
|
|
1009
|
+
}
|
|
987
1010
|
.gm-upload-preview-dialog[data-v-312f9322] [data-v-312f9322] .el-dialog__body {
|
|
988
1011
|
padding: 0;
|
|
989
1012
|
}
|
|
@@ -1015,29 +1038,6 @@ video {
|
|
|
1015
1038
|
[data-v-2c351ff8] .gmTableNoBorder .el-table__border-left-patch {
|
|
1016
1039
|
height: 0;
|
|
1017
1040
|
}
|
|
1018
|
-
[data-v-98c2e804] .gmTableNoBorder .el-table__body .el-table__cell {
|
|
1019
|
-
border-right: none;
|
|
1020
|
-
}
|
|
1021
|
-
|
|
1022
|
-
[data-v-98c2e804] .gmTableNoBorder .el-table__inner-wrapper:before {
|
|
1023
|
-
height: 0;
|
|
1024
|
-
}
|
|
1025
|
-
|
|
1026
|
-
[data-v-98c2e804] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
|
|
1027
|
-
height: 0;
|
|
1028
|
-
}
|
|
1029
|
-
|
|
1030
|
-
[data-v-98c2e804] .gmTableNoBorder.el-table--border:after {
|
|
1031
|
-
height: 0;
|
|
1032
|
-
}
|
|
1033
|
-
|
|
1034
|
-
[data-v-98c2e804] .gmTableNoBorder.el-table--border:before {
|
|
1035
|
-
height: 0;
|
|
1036
|
-
}
|
|
1037
|
-
|
|
1038
|
-
[data-v-98c2e804] .gmTableNoBorder .el-table__border-left-patch {
|
|
1039
|
-
height: 0;
|
|
1040
|
-
}
|
|
1041
1041
|
.gm-upload-file {
|
|
1042
1042
|
line-height: normal;
|
|
1043
1043
|
}
|
|
@@ -44,6 +44,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
44
44
|
type: BooleanConstructor;
|
|
45
45
|
default: boolean;
|
|
46
46
|
};
|
|
47
|
+
onClick: {
|
|
48
|
+
type: import("vue").PropType<(file: Partial<UploadFile>) => void>;
|
|
49
|
+
};
|
|
47
50
|
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
48
51
|
file: {
|
|
49
52
|
type: import("vue").PropType<Partial<UploadFile>>;
|
|
@@ -89,6 +92,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
89
92
|
type: BooleanConstructor;
|
|
90
93
|
default: boolean;
|
|
91
94
|
};
|
|
95
|
+
onClick: {
|
|
96
|
+
type: import("vue").PropType<(file: Partial<UploadFile>) => void>;
|
|
97
|
+
};
|
|
92
98
|
}>>, {
|
|
93
99
|
size: number;
|
|
94
100
|
url: string;
|
|
@@ -61,6 +61,11 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
61
61
|
const matchedType = typeCheckers.find(({ check }) => check());
|
|
62
62
|
return matchedType?.icon || iconList.unknown;
|
|
63
63
|
});
|
|
64
|
+
const handleClick = () => {
|
|
65
|
+
if (!props.onClick)
|
|
66
|
+
return;
|
|
67
|
+
props.onClick(props.file);
|
|
68
|
+
};
|
|
64
69
|
return (_ctx, _cache) => {
|
|
65
70
|
const _component_el_image = resolveComponent("el-image");
|
|
66
71
|
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
@@ -68,7 +73,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
68
73
|
"div",
|
|
69
74
|
{
|
|
70
75
|
class: "gm-flex gm-items-center gm-justify-center",
|
|
71
|
-
style: normalizeStyle(fileStyle.value)
|
|
76
|
+
style: normalizeStyle(fileStyle.value),
|
|
77
|
+
onClick: handleClick
|
|
72
78
|
},
|
|
73
79
|
[
|
|
74
80
|
isImageFile.value ? (openBlock(), createElementBlock("img", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileComponent.vue2.mjs","sources":["../../../../../../../packages/components/src/composite/fileComponent/FileComponent.vue"],"sourcesContent":["<template>\n <div class=\"gm-flex gm-h-full gm-w-full gm-flex-col gm-items-center gm-justify-center\">\n <div class=\"gm-flex gm-items-center gm-justify-center\" :style=\"fileStyle\">\n <img v-if=\"isImageFile\" :src=\"fileURL\" fit=\"contain\" style=\"max-width: 100%; max-height: 100%\" />\n <video\n v-else-if=\"isVideoFile\"\n :src=\"fileURL\"\n :controls=\"controls\"\n :controlslist=\"controlslist\"\n :oncontextmenu=\"() => oncontextmenu\"\n style=\"max-width: 100%; max-height: 100%\"\n />\n <template v-else>\n <el-image v-if=\"showIcon || !showIframe\" :style=\"iconStyle\" :src=\"iconURL\" />\n <iframe v-else :src=\"fileURL\" width=\"850px\" height=\"100%\" frameborder=\"0\" />\n </template>\n </div>\n <slot :file=\"file\" />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { isExcel, isImageUrl, isPDF, isPPT, isPSD, isText, isVideoUrl, isWord, isZip } from '@giime/utils/src/is';\nimport { fileComponentProps } from './fileComponent';\n// import PDF from './assets/image/pdf.svg';\n// import WORD from './assets/image/word.svg';\n// import EXCEL from './assets/image/excel.svg';\n// import PPT from './assets/image/ppt.svg';\n// import PSD from './assets/image/psd.svg';\n// import TEXT from './assets/image/text.svg';\n// import ZIP from './assets/image/zip.svg';\n// import UNKNOWN from './assets/image/unknown.svg';\nimport type { UploadFile } from 'element-plus';\n\ndefineOptions({\n name: 'GmFileComponent',\n});\n\nconst props = defineProps(fileComponentProps);\n\nconst iconStyle = computed(() => {\n return {\n width: `${props.size}px`,\n height: `${props.size}px`,\n };\n});\n\nconst fileStyle = computed(() => {\n return {\n width: props.fileWidth,\n height: props.fileHeight,\n ...props.fileStyle,\n };\n});\n\n/** 文件链接地址 */\nconst fileURL = computed(() => {\n return props.file[props.url as keyof UploadFile] as string;\n});\n\n/** 验证文件类型的字段 */\nconst verifyFile = computed(() => {\n return props.file[props.field as keyof UploadFile] as string;\n});\n\nconst isImageFile = computed(() => isImageUrl(fileURL.value) || isImageUrl(verifyFile.value));\nconst isVideoFile = computed(() => isVideoUrl(fileURL.value) || isVideoUrl(verifyFile.value));\n\n/** 显示iframe */\nconst showIframe = computed(() => {\n return isPDF(fileURL.value) || isPDF(verifyFile.value) || isText(fileURL.value) || isText(verifyFile.value);\n});\n\n/** 图标 */\nconst iconList = {\n excel: 'https://sucai.giikin.cn/workflow/material-refer-1739947054012-1213-335.svg',\n pdf: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-5462-586.svg',\n word: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-1540-625.svg',\n txt: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-1700-90.svg',\n zip: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-2639-507.svg',\n psd: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-5026-760.svg',\n ppt: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-2867-970.svg',\n unknown: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-1448-736.svg',\n};\n\nconst iconURL = computed<string>(() => {\n // 文件类型检查器映射\n const typeCheckers = [\n { check: () => isPDF(fileURL.value) || isPDF(verifyFile.value), icon: iconList.pdf },\n { check: () => isWord(fileURL.value) || isWord(verifyFile.value), icon: iconList.word },\n { check: () => isExcel(fileURL.value) || isExcel(verifyFile.value), icon: iconList.excel },\n { check: () => isText(fileURL.value) || isText(verifyFile.value), icon: iconList.txt },\n { check: () => isPPT(fileURL.value) || isPPT(verifyFile.value), icon: iconList.ppt },\n { check: () => isZip(fileURL.value) || isZip(verifyFile.value), icon: iconList.zip },\n { check: () => isPSD(fileURL.value) || isPSD(verifyFile.value), icon: iconList.psd },\n ];\n\n // 查找匹配的文件类型\n const matchedType = typeCheckers.find(({ check }) => check());\n\n return matchedType?.icon || iconList.unknown;\n});\n</script>\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"FileComponent.vue2.mjs","sources":["../../../../../../../packages/components/src/composite/fileComponent/FileComponent.vue"],"sourcesContent":["<template>\n <div class=\"gm-flex gm-h-full gm-w-full gm-flex-col gm-items-center gm-justify-center\">\n <div class=\"gm-flex gm-items-center gm-justify-center\" :style=\"fileStyle\" @click=\"handleClick\">\n <img v-if=\"isImageFile\" :src=\"fileURL\" fit=\"contain\" style=\"max-width: 100%; max-height: 100%\" />\n <video\n v-else-if=\"isVideoFile\"\n :src=\"fileURL\"\n :controls=\"controls\"\n :controlslist=\"controlslist\"\n :oncontextmenu=\"() => oncontextmenu\"\n style=\"max-width: 100%; max-height: 100%\"\n />\n <template v-else>\n <el-image v-if=\"showIcon || !showIframe\" :style=\"iconStyle\" :src=\"iconURL\" />\n <iframe v-else :src=\"fileURL\" width=\"850px\" height=\"100%\" frameborder=\"0\" />\n </template>\n </div>\n <slot :file=\"file\" />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { isExcel, isImageUrl, isPDF, isPPT, isPSD, isText, isVideoUrl, isWord, isZip } from '@giime/utils/src/is';\nimport { fileComponentProps } from './fileComponent';\n// import PDF from './assets/image/pdf.svg';\n// import WORD from './assets/image/word.svg';\n// import EXCEL from './assets/image/excel.svg';\n// import PPT from './assets/image/ppt.svg';\n// import PSD from './assets/image/psd.svg';\n// import TEXT from './assets/image/text.svg';\n// import ZIP from './assets/image/zip.svg';\n// import UNKNOWN from './assets/image/unknown.svg';\nimport type { UploadFile } from 'element-plus';\n\ndefineOptions({\n name: 'GmFileComponent',\n});\n\nconst props = defineProps(fileComponentProps);\n\nconst iconStyle = computed(() => {\n return {\n width: `${props.size}px`,\n height: `${props.size}px`,\n };\n});\n\nconst fileStyle = computed(() => {\n return {\n width: props.fileWidth,\n height: props.fileHeight,\n ...props.fileStyle,\n };\n});\n\n/** 文件链接地址 */\nconst fileURL = computed(() => {\n return props.file[props.url as keyof UploadFile] as string;\n});\n\n/** 验证文件类型的字段 */\nconst verifyFile = computed(() => {\n return props.file[props.field as keyof UploadFile] as string;\n});\n\nconst isImageFile = computed(() => isImageUrl(fileURL.value) || isImageUrl(verifyFile.value));\nconst isVideoFile = computed(() => isVideoUrl(fileURL.value) || isVideoUrl(verifyFile.value));\n\n/** 显示iframe */\nconst showIframe = computed(() => {\n return isPDF(fileURL.value) || isPDF(verifyFile.value) || isText(fileURL.value) || isText(verifyFile.value);\n});\n\n/** 图标 */\nconst iconList = {\n excel: 'https://sucai.giikin.cn/workflow/material-refer-1739947054012-1213-335.svg',\n pdf: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-5462-586.svg',\n word: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-1540-625.svg',\n txt: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-1700-90.svg',\n zip: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-2639-507.svg',\n psd: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-5026-760.svg',\n ppt: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-2867-970.svg',\n unknown: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-1448-736.svg',\n};\n\nconst iconURL = computed<string>(() => {\n // 文件类型检查器映射\n const typeCheckers = [\n { check: () => isPDF(fileURL.value) || isPDF(verifyFile.value), icon: iconList.pdf },\n { check: () => isWord(fileURL.value) || isWord(verifyFile.value), icon: iconList.word },\n { check: () => isExcel(fileURL.value) || isExcel(verifyFile.value), icon: iconList.excel },\n { check: () => isText(fileURL.value) || isText(verifyFile.value), icon: iconList.txt },\n { check: () => isPPT(fileURL.value) || isPPT(verifyFile.value), icon: iconList.ppt },\n { check: () => isZip(fileURL.value) || isZip(verifyFile.value), icon: iconList.zip },\n { check: () => isPSD(fileURL.value) || isPSD(verifyFile.value), icon: iconList.psd },\n ];\n\n // 查找匹配的文件类型\n const matchedType = typeCheckers.find(({ check }) => check());\n\n return matchedType?.icon || iconList.unknown;\n});\n\nconst handleClick = () => {\n if (!props.onClick) return;\n props.onClick(props.file);\n};\n</script>\n"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,9 @@ import { type PropType } from 'vue';
|
|
|
2
2
|
import { type UploadFile } from 'element-plus';
|
|
3
3
|
/** 视频控制器 */
|
|
4
4
|
export type Controls = 'nodownload' | 'nofullscreen' | 'noremoteplayback' | 'noplaybackrate';
|
|
5
|
+
export interface FileComponentHooks {
|
|
6
|
+
onClick: (file: Partial<UploadFile>) => void;
|
|
7
|
+
}
|
|
5
8
|
export declare const fileComponentProps: {
|
|
6
9
|
/** 文件 */
|
|
7
10
|
file: {
|
|
@@ -55,4 +58,7 @@ export declare const fileComponentProps: {
|
|
|
55
58
|
type: BooleanConstructor;
|
|
56
59
|
default: boolean;
|
|
57
60
|
};
|
|
61
|
+
onClick: {
|
|
62
|
+
type: PropType<(file: Partial<UploadFile>) => void>;
|
|
63
|
+
};
|
|
58
64
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileComponent.mjs","sources":["../../../../../../../packages/components/src/composite/fileComponent/fileComponent.ts"],"sourcesContent":["import { type PropType } from 'vue';\nimport { type UploadFile } from 'element-plus';\n\n/** 视频控制器 */\nexport type Controls = 'nodownload' | 'nofullscreen' | 'noremoteplayback' | 'noplaybackrate';\n\nexport const fileComponentProps = {\n /** 文件 */\n file: {\n type: Object as PropType<Partial<UploadFile>>,\n default: () => ({}),\n },\n /** 文件链接字段 */\n url: {\n type: String,\n default: 'url',\n },\n fileWidth: {\n type: String,\n default: '100%',\n },\n fileHeight: {\n type: String,\n default: '100%',\n },\n fileStyle: {\n type: Object,\n default: () => ({}),\n },\n /** 图标大小 */\n size: {\n type: Number,\n default: 80,\n },\n /** 文件类型判断字段 */\n field: {\n type: String,\n default: 'name',\n },\n /** 视频是否显示操作按钮 */\n controls: {\n type: Boolean,\n default: true,\n },\n /** 视频控制器选项 */\n controlslist: {\n type: String,\n default: '',\n },\n /** 视频是否显示右键菜单 */\n oncontextmenu: {\n type: Boolean,\n default: true,\n },\n /** 是否显示icon */\n showIcon: {\n type: Boolean,\n default: false,\n },\n};\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fileComponent.mjs","sources":["../../../../../../../packages/components/src/composite/fileComponent/fileComponent.ts"],"sourcesContent":["import { type PropType } from 'vue';\nimport { type UploadFile } from 'element-plus';\n\n/** 视频控制器 */\nexport type Controls = 'nodownload' | 'nofullscreen' | 'noremoteplayback' | 'noplaybackrate';\n\nexport interface FileComponentHooks {\n onClick: (file: Partial<UploadFile>) => void;\n}\n\nexport const fileComponentProps = {\n /** 文件 */\n file: {\n type: Object as PropType<Partial<UploadFile>>,\n default: () => ({}),\n },\n /** 文件链接字段 */\n url: {\n type: String,\n default: 'url',\n },\n fileWidth: {\n type: String,\n default: '100%',\n },\n fileHeight: {\n type: String,\n default: '100%',\n },\n fileStyle: {\n type: Object,\n default: () => ({}),\n },\n /** 图标大小 */\n size: {\n type: Number,\n default: 80,\n },\n /** 文件类型判断字段 */\n field: {\n type: String,\n default: 'name',\n },\n /** 视频是否显示操作按钮 */\n controls: {\n type: Boolean,\n default: true,\n },\n /** 视频控制器选项 */\n controlslist: {\n type: String,\n default: '',\n },\n /** 视频是否显示右键菜单 */\n oncontextmenu: {\n type: Boolean,\n default: true,\n },\n /** 是否显示icon */\n showIcon: {\n type: Boolean,\n default: false,\n },\n onClick: {\n type: Function as PropType<FileComponentHooks['onClick']>,\n },\n};\n"],"names":[],"mappings":"AAUO,MAAM,kBAAqB,GAAA;AAAA;AAAA,EAEhC,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,OAAA,EAAS,OAAO,EAAC,CAAA;AAAA,GACnB;AAAA;AAAA,EAEA,GAAK,EAAA;AAAA,IACH,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,MAAA;AAAA,GACX;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,MAAA;AAAA,GACX;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,IACN,OAAA,EAAS,OAAO,EAAC,CAAA;AAAA,GACnB;AAAA;AAAA,EAEA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA;AAAA,EAEA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,MAAA;AAAA,GACX;AAAA;AAAA,EAEA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA;AAAA,EAEA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA;AAAA,EAEA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA;AAAA,EAEA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,QAAA;AAAA,GACR;AACF;;;;"}
|
|
@@ -45,6 +45,9 @@ export declare const GmFileComponent: import("../../../../utils").SFCWithInstall
|
|
|
45
45
|
type: BooleanConstructor;
|
|
46
46
|
default: boolean;
|
|
47
47
|
};
|
|
48
|
+
onClick: {
|
|
49
|
+
type: import("vue").PropType<(file: Partial<import("element-plus").UploadFile>) => void>;
|
|
50
|
+
};
|
|
48
51
|
}>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
|
|
49
52
|
file: {
|
|
50
53
|
type: import("vue").PropType<Partial<import("element-plus").UploadFile>>;
|
|
@@ -90,6 +93,9 @@ export declare const GmFileComponent: import("../../../../utils").SFCWithInstall
|
|
|
90
93
|
type: BooleanConstructor;
|
|
91
94
|
default: boolean;
|
|
92
95
|
};
|
|
96
|
+
onClick: {
|
|
97
|
+
type: import("vue").PropType<(file: Partial<import("element-plus").UploadFile>) => void>;
|
|
98
|
+
};
|
|
93
99
|
}>>, {
|
|
94
100
|
size: number;
|
|
95
101
|
url: string;
|
|
@@ -154,6 +160,9 @@ export declare const GmFileComponent: import("../../../../utils").SFCWithInstall
|
|
|
154
160
|
type: BooleanConstructor;
|
|
155
161
|
default: boolean;
|
|
156
162
|
};
|
|
163
|
+
onClick: {
|
|
164
|
+
type: import("vue").PropType<(file: Partial<import("element-plus").UploadFile>) => void>;
|
|
165
|
+
};
|
|
157
166
|
}>>, {}, {}, {}, {}, {
|
|
158
167
|
size: number;
|
|
159
168
|
url: string;
|
|
@@ -215,6 +224,9 @@ export declare const GmFileComponent: import("../../../../utils").SFCWithInstall
|
|
|
215
224
|
type: BooleanConstructor;
|
|
216
225
|
default: boolean;
|
|
217
226
|
};
|
|
227
|
+
onClick: {
|
|
228
|
+
type: import("vue").PropType<(file: Partial<import("element-plus").UploadFile>) => void>;
|
|
229
|
+
};
|
|
218
230
|
}>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
|
|
219
231
|
size: number;
|
|
220
232
|
url: string;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import type { UploadFile } from 'element-plus';
|
|
1
2
|
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
2
3
|
fileList: {
|
|
3
|
-
type: import("vue").PropType<Partial<
|
|
4
|
+
type: import("vue").PropType<Partial<UploadFile>[]>;
|
|
4
5
|
default: () => never[];
|
|
5
6
|
};
|
|
6
7
|
controlslist: {
|
|
@@ -36,7 +37,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
36
37
|
default: boolean;
|
|
37
38
|
};
|
|
38
39
|
file: {
|
|
39
|
-
type: import("vue").PropType<Partial<
|
|
40
|
+
type: import("vue").PropType<Partial<UploadFile>>;
|
|
40
41
|
default: () => {};
|
|
41
42
|
};
|
|
42
43
|
url: {
|
|
@@ -63,9 +64,12 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
63
64
|
type: BooleanConstructor;
|
|
64
65
|
default: boolean;
|
|
65
66
|
};
|
|
67
|
+
onClick: {
|
|
68
|
+
type: import("vue").PropType<(file: Partial<UploadFile>) => void>;
|
|
69
|
+
};
|
|
66
70
|
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
67
71
|
fileList: {
|
|
68
|
-
type: import("vue").PropType<Partial<
|
|
72
|
+
type: import("vue").PropType<Partial<UploadFile>[]>;
|
|
69
73
|
default: () => never[];
|
|
70
74
|
};
|
|
71
75
|
controlslist: {
|
|
@@ -101,7 +105,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
101
105
|
default: boolean;
|
|
102
106
|
};
|
|
103
107
|
file: {
|
|
104
|
-
type: import("vue").PropType<Partial<
|
|
108
|
+
type: import("vue").PropType<Partial<UploadFile>>;
|
|
105
109
|
default: () => {};
|
|
106
110
|
};
|
|
107
111
|
url: {
|
|
@@ -128,13 +132,16 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
128
132
|
type: BooleanConstructor;
|
|
129
133
|
default: boolean;
|
|
130
134
|
};
|
|
135
|
+
onClick: {
|
|
136
|
+
type: import("vue").PropType<(file: Partial<UploadFile>) => void>;
|
|
137
|
+
};
|
|
131
138
|
}>>, {
|
|
132
139
|
size: number;
|
|
133
140
|
url: string;
|
|
134
|
-
file: Partial<
|
|
141
|
+
file: Partial<UploadFile>;
|
|
135
142
|
showIcon: boolean;
|
|
136
143
|
controls: boolean;
|
|
137
|
-
fileList: Partial<
|
|
144
|
+
fileList: Partial<UploadFile>[];
|
|
138
145
|
field: string;
|
|
139
146
|
fileWidth: string;
|
|
140
147
|
fileHeight: string;
|
|
@@ -147,7 +154,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
147
154
|
fileListStyle: Record<string, any>;
|
|
148
155
|
}, {}>, {
|
|
149
156
|
default?(_: {
|
|
150
|
-
file: Partial<
|
|
157
|
+
file: Partial<UploadFile>;
|
|
151
158
|
}): any;
|
|
152
159
|
}>;
|
|
153
160
|
export default _default;
|
|
@@ -3,7 +3,6 @@ import { GmFileComponent } from '../fileComponent/index.mjs';
|
|
|
3
3
|
import { GmPreviewFile } from '../previewFile/index.mjs';
|
|
4
4
|
import { fileProProps } from './fileList.mjs';
|
|
5
5
|
|
|
6
|
-
const _hoisted_1 = ["onClick"];
|
|
7
6
|
var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
8
7
|
...{
|
|
9
8
|
name: "GmFileList"
|
|
@@ -30,7 +29,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
30
29
|
});
|
|
31
30
|
const dialog = ref(false);
|
|
32
31
|
const fileIndex = ref(0);
|
|
33
|
-
const
|
|
32
|
+
const handleClick = (file, index) => {
|
|
34
33
|
fileIndex.value = index;
|
|
35
34
|
dialog.value = true;
|
|
36
35
|
};
|
|
@@ -52,21 +51,21 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
52
51
|
renderList(_ctx.fileList, (file, index) => {
|
|
53
52
|
return openBlock(), createElementBlock("div", {
|
|
54
53
|
key: index,
|
|
55
|
-
class: "gm-cursor-pointer"
|
|
56
|
-
onClick: ($event) => handlePreview(index)
|
|
54
|
+
class: "gm-cursor-pointer"
|
|
57
55
|
}, [
|
|
58
56
|
createVNode(unref(GmFileComponent), mergeProps(props, {
|
|
59
57
|
fileStyle: fileStyle.value,
|
|
60
58
|
file,
|
|
61
|
-
controls: false
|
|
59
|
+
controls: false,
|
|
60
|
+
"on-click": (value) => handleClick(value, index)
|
|
62
61
|
}), {
|
|
63
62
|
default: withCtx(() => [
|
|
64
63
|
renderSlot(_ctx.$slots, "default", { file })
|
|
65
64
|
]),
|
|
66
65
|
_: 2
|
|
67
66
|
/* DYNAMIC */
|
|
68
|
-
}, 1040, ["fileStyle", "file"])
|
|
69
|
-
]
|
|
67
|
+
}, 1040, ["fileStyle", "file", "on-click"])
|
|
68
|
+
]);
|
|
70
69
|
}),
|
|
71
70
|
128
|
|
72
71
|
/* KEYED_FRAGMENT */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileList.vue2.mjs","sources":["../../../../../../../packages/components/src/composite/fileList2/FileList.vue"],"sourcesContent":["<template>\n <div class=\"gm-flex--wrap gm-flex gm-items-center\" :style=\"fileListStyle\">\n <div v-for=\"(file, index) in fileList\" :key=\"index\" class=\"gm-cursor-pointer\"
|
|
1
|
+
{"version":3,"file":"FileList.vue2.mjs","sources":["../../../../../../../packages/components/src/composite/fileList2/FileList.vue"],"sourcesContent":["<template>\n <div class=\"gm-flex--wrap gm-flex gm-items-center\" :style=\"fileListStyle\">\n <div v-for=\"(file, index) in fileList\" :key=\"index\" class=\"gm-cursor-pointer\">\n <GmFileComponent v-bind=\"props\" :fileStyle :file :controls=\"false\" :on-click=\"value => handleClick(value, index)\">\n <slot :file=\"file\" />\n </GmFileComponent>\n </div>\n </div>\n\n <GmPreviewFile v-bind=\"props\" v-model:dialogVisible=\"dialog\" v-model:file-index=\"fileIndex\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, ref } from 'vue';\nimport GmFileComponent from '../fileComponent';\nimport GmPreviewFile from '../previewFile';\nimport { fileProProps } from './fileList';\nimport type { UploadFile } from 'element-plus';\n\ndefineOptions({\n name: 'GmFileList',\n});\n\nconst props = defineProps(fileProProps);\n\nconst fileListStyle = computed(() => {\n return {\n gap: props.fileListGap,\n ...props.fileListStyle,\n };\n});\n\nconst fileStyle = computed(() => {\n return {\n width: props.fileWidth,\n height: props.fileHeight,\n border: '1px solid #ccc',\n overflow: 'hidden',\n borderRadius: '5px',\n ...props.fileStyle,\n };\n});\n\nconst dialog = ref(false);\nconst fileIndex = ref(0);\nconst handleClick = (file: Partial<UploadFile>, index: number) => {\n fileIndex.value = index;\n dialog.value = true;\n};\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;AAuBA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAM,MAAA,aAAA,GAAgB,SAAS,MAAM;AACnC,MAAO,OAAA;AAAA,QACL,KAAK,KAAM,CAAA,WAAA;AAAA,QACX,GAAG,KAAM,CAAA,aAAA;AAAA,OACX,CAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAM,MAAA,SAAA,GAAY,SAAS,MAAM;AAC/B,MAAO,OAAA;AAAA,QACL,OAAO,KAAM,CAAA,SAAA;AAAA,QACb,QAAQ,KAAM,CAAA,UAAA;AAAA,QACd,MAAQ,EAAA,gBAAA;AAAA,QACR,QAAU,EAAA,QAAA;AAAA,QACV,YAAc,EAAA,KAAA;AAAA,QACd,GAAG,KAAM,CAAA,SAAA;AAAA,OACX,CAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAM,MAAA,MAAA,GAAS,IAAI,KAAK,CAAA,CAAA;AACxB,IAAM,MAAA,SAAA,GAAY,IAAI,CAAC,CAAA,CAAA;AACvB,IAAM,MAAA,WAAA,GAAc,CAAC,IAAA,EAA2B,KAAkB,KAAA;AAChE,MAAA,SAAA,CAAU,KAAQ,GAAA,KAAA,CAAA;AAClB,MAAA,MAAA,CAAO,KAAQ,GAAA,IAAA,CAAA;AAAA,KACjB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -65,6 +65,9 @@ export declare const GmFileList: import("../../../../utils").SFCWithInstall<{
|
|
|
65
65
|
type: BooleanConstructor;
|
|
66
66
|
default: boolean;
|
|
67
67
|
};
|
|
68
|
+
onClick: {
|
|
69
|
+
type: import("vue").PropType<(file: Partial<import("element-plus").UploadFile>) => void>;
|
|
70
|
+
};
|
|
68
71
|
}>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
|
|
69
72
|
fileList: {
|
|
70
73
|
type: import("vue").PropType<Partial<import("element-plus").UploadFile>[]>;
|
|
@@ -130,6 +133,9 @@ export declare const GmFileList: import("../../../../utils").SFCWithInstall<{
|
|
|
130
133
|
type: BooleanConstructor;
|
|
131
134
|
default: boolean;
|
|
132
135
|
};
|
|
136
|
+
onClick: {
|
|
137
|
+
type: import("vue").PropType<(file: Partial<import("element-plus").UploadFile>) => void>;
|
|
138
|
+
};
|
|
133
139
|
}>>, {
|
|
134
140
|
size: number;
|
|
135
141
|
url: string;
|
|
@@ -219,6 +225,9 @@ export declare const GmFileList: import("../../../../utils").SFCWithInstall<{
|
|
|
219
225
|
type: BooleanConstructor;
|
|
220
226
|
default: boolean;
|
|
221
227
|
};
|
|
228
|
+
onClick: {
|
|
229
|
+
type: import("vue").PropType<(file: Partial<import("element-plus").UploadFile>) => void>;
|
|
230
|
+
};
|
|
222
231
|
}>>, {}, {}, {}, {}, {
|
|
223
232
|
size: number;
|
|
224
233
|
url: string;
|
|
@@ -305,6 +314,9 @@ export declare const GmFileList: import("../../../../utils").SFCWithInstall<{
|
|
|
305
314
|
type: BooleanConstructor;
|
|
306
315
|
default: boolean;
|
|
307
316
|
};
|
|
317
|
+
onClick: {
|
|
318
|
+
type: import("vue").PropType<(file: Partial<import("element-plus").UploadFile>) => void>;
|
|
319
|
+
};
|
|
308
320
|
}>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
|
|
309
321
|
size: number;
|
|
310
322
|
url: string;
|
|
@@ -58,6 +58,9 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
58
58
|
type: BooleanConstructor;
|
|
59
59
|
default: boolean;
|
|
60
60
|
};
|
|
61
|
+
onClick: {
|
|
62
|
+
type: import("vue").PropType<(file: Partial<UploadFile>) => void>;
|
|
63
|
+
};
|
|
61
64
|
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
62
65
|
"update:dialogVisible": (dialogVisible: boolean) => void;
|
|
63
66
|
"update:fileIndex": (fileIndex: number) => void;
|
|
@@ -120,6 +123,9 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
120
123
|
type: BooleanConstructor;
|
|
121
124
|
default: boolean;
|
|
122
125
|
};
|
|
126
|
+
onClick: {
|
|
127
|
+
type: import("vue").PropType<(file: Partial<UploadFile>) => void>;
|
|
128
|
+
};
|
|
123
129
|
}>> & {
|
|
124
130
|
"onUpdate:dialogVisible"?: ((dialogVisible: boolean) => any) | undefined;
|
|
125
131
|
"onUpdate:fileIndex"?: ((fileIndex: number) => any) | undefined;
|
|
@@ -58,6 +58,9 @@ export declare const GmPreviewFile: import("../../../../utils").SFCWithInstall<i
|
|
|
58
58
|
type: BooleanConstructor;
|
|
59
59
|
default: boolean;
|
|
60
60
|
};
|
|
61
|
+
onClick: {
|
|
62
|
+
type: import("vue").PropType<(file: Partial<import("element-plus").UploadFile>) => void>;
|
|
63
|
+
};
|
|
61
64
|
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
62
65
|
"update:dialogVisible": (dialogVisible: boolean) => void;
|
|
63
66
|
"update:fileIndex": (fileIndex: number) => void;
|
|
@@ -120,6 +123,9 @@ export declare const GmPreviewFile: import("../../../../utils").SFCWithInstall<i
|
|
|
120
123
|
type: BooleanConstructor;
|
|
121
124
|
default: boolean;
|
|
122
125
|
};
|
|
126
|
+
onClick: {
|
|
127
|
+
type: import("vue").PropType<(file: Partial<import("element-plus").UploadFile>) => void>;
|
|
128
|
+
};
|
|
123
129
|
}>> & {
|
|
124
130
|
"onUpdate:dialogVisible"?: ((dialogVisible: boolean) => any) | undefined;
|
|
125
131
|
"onUpdate:fileIndex"?: ((fileIndex: number) => any) | undefined;
|
|
@@ -271,6 +271,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
271
271
|
type: BooleanConstructor;
|
|
272
272
|
default: boolean;
|
|
273
273
|
};
|
|
274
|
+
onClick: {
|
|
275
|
+
type: import("vue").PropType<(file: Partial<UploadFile>) => void>;
|
|
276
|
+
};
|
|
274
277
|
}, {
|
|
275
278
|
submit: () => void;
|
|
276
279
|
abort: (file: UploadFile) => void;
|
|
@@ -1030,6 +1033,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
1030
1033
|
type: BooleanConstructor;
|
|
1031
1034
|
default: boolean;
|
|
1032
1035
|
};
|
|
1036
|
+
onClick: {
|
|
1037
|
+
type: import("vue").PropType<(file: Partial<UploadFile>) => void>;
|
|
1038
|
+
};
|
|
1033
1039
|
}>> & {
|
|
1034
1040
|
"onUpdate:fileList"?: ((fileList: UploadFile[]) => any) | undefined;
|
|
1035
1041
|
onHandleRemove?: ((file: {
|
|
@@ -271,6 +271,9 @@ export declare const GmUploadFile: import("../../../../utils").SFCWithInstall<{
|
|
|
271
271
|
type: BooleanConstructor;
|
|
272
272
|
default: boolean;
|
|
273
273
|
};
|
|
274
|
+
onClick: {
|
|
275
|
+
type: import("vue").PropType<(file: Partial<import("element-plus").UploadFile>) => void>;
|
|
276
|
+
};
|
|
274
277
|
}>> & {
|
|
275
278
|
"onUpdate:fileList"?: ((fileList: import("element-plus").UploadFile[]) => any) | undefined;
|
|
276
279
|
onHandleRemove?: ((file: {
|
|
@@ -1036,6 +1039,9 @@ export declare const GmUploadFile: import("../../../../utils").SFCWithInstall<{
|
|
|
1036
1039
|
type: BooleanConstructor;
|
|
1037
1040
|
default: boolean;
|
|
1038
1041
|
};
|
|
1042
|
+
onClick: {
|
|
1043
|
+
type: import("vue").PropType<(file: Partial<import("element-plus").UploadFile>) => void>;
|
|
1044
|
+
};
|
|
1039
1045
|
}>> & {
|
|
1040
1046
|
"onUpdate:fileList"?: ((fileList: import("element-plus").UploadFile[]) => any) | undefined;
|
|
1041
1047
|
onHandleRemove?: ((file: {
|
|
@@ -1376,6 +1382,9 @@ export declare const GmUploadFile: import("../../../../utils").SFCWithInstall<{
|
|
|
1376
1382
|
type: BooleanConstructor;
|
|
1377
1383
|
default: boolean;
|
|
1378
1384
|
};
|
|
1385
|
+
onClick: {
|
|
1386
|
+
type: import("vue").PropType<(file: Partial<import("element-plus").UploadFile>) => void>;
|
|
1387
|
+
};
|
|
1379
1388
|
}>> & {
|
|
1380
1389
|
"onUpdate:fileList"?: ((fileList: import("element-plus").UploadFile[]) => any) | undefined;
|
|
1381
1390
|
onHandleRemove?: ((file: {
|
|
@@ -2193,6 +2202,9 @@ export declare const GmUploadFile: import("../../../../utils").SFCWithInstall<{
|
|
|
2193
2202
|
type: BooleanConstructor;
|
|
2194
2203
|
default: boolean;
|
|
2195
2204
|
};
|
|
2205
|
+
onClick: {
|
|
2206
|
+
type: import("vue").PropType<(file: Partial<import("element-plus").UploadFile>) => void>;
|
|
2207
|
+
};
|
|
2196
2208
|
}>> & {
|
|
2197
2209
|
"onUpdate:fileList"?: ((fileList: import("element-plus").UploadFile[]) => any) | undefined;
|
|
2198
2210
|
onHandleRemove?: ((file: {
|
package/es/giime/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "0.7.
|
|
1
|
+
export declare const version = "0.7.13";
|