django-vue3-admin-web/node_modules/.vite/deps/fs-files-format-ff815381-AMSYB5H7.js
2025-10-20 21:21:14 +08:00

155 lines
4.0 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import {
ge
} from "./chunk-O6L55DMN.js";
import "./chunk-FNDTTSSL.js";
import "./chunk-KE6WE6IM.js";
import "./chunk-KRMUJIEJ.js";
import "./chunk-YFT6OQ5R.js";
import {
B
} from "./chunk-USOO7D3G.js";
import "./chunk-F73GDDKZ.js";
import "./chunk-LK7GAOJV.js";
import "./chunk-GCDLWRBO.js";
import {
Fragment,
computed,
createBaseVNode,
createBlock,
createElementBlock,
defineComponent,
mergeProps,
openBlock,
ref,
renderList,
resolveDynamicComponent,
toDisplayString,
watch,
withCtx
} from "./chunk-YI6SOFIT.js";
import "./chunk-PLDDJCW6.js";
// node_modules/@fast-crud/fast-extends/dist/fs-files-format-ff815381.mjs
var $ = defineComponent({
name: "FsFilesFormat",
props: {
/**
* 文件列表
* 支持格式: `url , {url} , [url1,url2] , [{url:url1},{url:url2}]`
*/
modelValue: {},
// tag颜色`【primary, success, warning, danger ,info】`
color: {
default: ""
},
// 展示类型`【text, tag】`
type: {
default: "tag"
// `可选【text,tag】`
},
// 链接配置
a: {},
// tag配置
tag: {},
// 构建下载url方法支持异步
buildUrl: {},
// 批量构建下载url方法支持异步
buildUrls: {},
// 根据value构建文件名
getFileName: {}
},
setup(t, F) {
const { ui: i } = B(), f = computed(() => (
// @ts-ignore
t.getFileName || function(e) {
return typeof e != "string" ? (console.warn("获取文件名失败请配置getFileName"), e) : (e == null ? void 0 : e.lastIndexOf("/")) >= 0 ? e.substring(e.lastIndexOf("/") + 1) : e;
}
));
function u(e) {
return {
url: void 0,
value: e,
name: f.value(e),
// @ts-ignore
color: t.color
};
}
async function m(e) {
if (t.buildUrls) {
const r = e.map((a) => a.value), b = await t.buildUrls(r);
for (let a = 0; a < e.length; a++)
e[a].url = b[a];
} else if (t.buildUrl)
for (let r of e)
r.url = await t.buildUrl(r.value);
else
for (let r = 0; r < e.length; r++)
e[r].url = e[r].value;
}
async function o() {
if (t.modelValue == null || t.modelValue === "")
return [];
let e = [];
if (typeof t.modelValue == "string")
e = [u(t.modelValue)];
else if (t.modelValue instanceof Array) {
e = [];
for (const r of t.modelValue)
e.push(u(r));
}
return await m(e), e;
}
const c = ref([]);
watch(
() => t.modelValue,
async () => {
c.value = await o();
},
{
immediate: true
}
);
const v = computed(() => ({
...t
}));
return {
ui: i,
itemsRef: c,
computedProps: v
};
}
});
var B2 = { class: "fs-files-format" };
var C = ["href"];
var R = ["href"];
function x(t, F, i, f, u, m) {
return openBlock(), createElementBlock("div", B2, [
t.computedProps.type === "text" ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(t.itemsRef, (o) => (openBlock(), createElementBlock("span", {
key: o.url,
class: "fs-files-item"
}, [
createBaseVNode("a", mergeProps({
href: o.url,
target: "_blank"
}, { ref_for: true }, t.computedProps.a), toDisplayString(o.name), 17, C)
]))), 128)) : (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(t.itemsRef, (o) => (openBlock(), createBlock(resolveDynamicComponent(t.ui.tag.name), mergeProps({
key: o.url,
class: "fs-tag-item",
color: o.color
}, { ref_for: true }, t.computedProps.tag), {
default: withCtx(() => [
createBaseVNode("a", mergeProps({
href: o.url,
target: "_blank"
}, { ref_for: true }, t.computedProps.a), toDisplayString(o.name), 17, R)
]),
_: 2
}, 1040, ["color"]))), 128))
]);
}
var O = ge($, [["render", x]]);
export {
O as default
};
//# sourceMappingURL=fs-files-format-ff815381-AMSYB5H7.js.map