@aplus-frontend/ui
Version:
147 lines (146 loc) • 4.17 kB
JavaScript
import { defineComponent as _, ref as u, computed as p, provide as t, createElementBlock as h, openBlock as m, normalizeClass as U, unref as O, createBlock as R, resolveDynamicComponent as z, mergeProps as j, createSlots as A, renderList as $, withCtx as k, renderSlot as B, normalizeProps as T, guardReactiveProps as w } from "vue";
import "../config-provider/index.mjs";
import "./components/SingleFile.vue.mjs";
import "./components/MultipleFile.vue.mjs";
import "./components/Picture.vue.mjs";
import { injectLocaleToAccept as L } from "./utils/accept.mjs";
import { injectLocaleToOss as q } from "./hooks/useOss.mjs";
import { Form as I } from "@aplus-frontend/antdv";
import { useLocale as P } from "../config-provider/hooks/use-locale.mjs";
import { useNamespace as V } from "../config-provider/hooks/use-namespace.mjs";
import D from "./components/Picture.vue2.mjs";
import G from "./components/MultipleFile.vue2.mjs";
import H from "./components/SingleFile.vue2.mjs";
import { useGlobalConfig as c } from "../config-provider/hooks/use-global-config.mjs";
const le = /* @__PURE__ */ _({
name: "AplusFileUpload",
__name: "apUpload",
props: {
dirName: {
type: String,
default: void 0
},
type: {
type: String,
default: "singleFile"
},
value: {
type: [String, Object, Array],
default: void 0
},
needName: {
type: [Boolean, Object],
default: void 0
},
accept: {
type: String,
default: void 0
},
maxSize: {
type: Number,
default: void 0
},
title: {
type: String,
default: ""
},
subTitle: {
type: [String, Object],
default: ""
},
maxCount: {
type: Number,
default: void 0
},
beforeUpload: {
type: Function,
default: void 0
},
customRequest: {
type: Function,
default: void 0
},
getOssAccess: {
type: Function,
default: void 0
},
onChange: {
type: Function,
default: void 0
},
maxSizeErrorMsg: {
type: String,
default: void 0
},
maxCountErrorMsg: {
type: String,
default: void 0
},
acceptErrorMsg: {
type: String,
default: void 0
},
onRemove: {
type: Function,
default: void 0
},
showUploadErrorMsg: {
type: Boolean,
default: !0
}
},
emits: ["update:value"],
setup(d, { expose: f, emit: g }) {
const { t: a, lang: v } = P();
L(a), q(a, v);
const { b: y } = V("ap-upload"), n = u(null), e = d, C = g, S = {
singleFile: H,
multipleFile: G,
picture: D
}, x = I.useInjectFormItemContext(), b = p({
get() {
return e.value;
},
set(o) {
C("update:value", o), x?.onFieldChange(), e.onChange?.(o);
}
}), M = c("uiMode"), r = c("apUpload");
t("theme", M.value), t("value", b), t("dirName", e.dirName ?? r.value?.dirName), t(
"needName",
e.needName ?? r.value?.needName ?? !1
), t("accept", e.accept ?? r.value?.accept ?? ""), t("maxSize", e.maxSize), t("title", e.title), t("subTitle", e.subTitle), t("maxCount", e.maxCount), t("beforeUpload", e.beforeUpload), t("customRequest", e.customRequest), t(
"getOssAccess",
e.getOssAccess ?? r.value?.getOssAccess
), t("maxSizeErrorMsg", e.maxSizeErrorMsg), t("maxCountErrorMsg", e.maxCountErrorMsg), t("acceptErrorMsg", e.acceptErrorMsg), t("onRemove", e.onRemove), t("showUploadErrorMsg", e.showUploadErrorMsg);
const E = p(() => s.value === 0), s = u(0);
t("uploadingCount", s);
function F() {
i(void 0);
}
function i(o) {
n?.value?.setValue?.(o);
}
return f({
done: E,
clear: F,
setValue: i
}), (o, J) => (m(), h("div", {
class: U(O(y)())
}, [
(m(), R(z(S[e.type]), j(o.$attrs, {
ref_key: "uploadRef",
ref: n
}), A({ _: 2 }, [
$(Object.keys(o.$slots), (l) => ({
name: l,
fn: k((N) => [
B(o.$slots, l, T(w(N || {})))
])
}))
]), 1040))
], 2));
}
});
export {
le as default
};