yanzhen-design-vue
Version:
78 lines (77 loc) • 2.59 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const utilsVue = require("@yanzhen-libs/utils-vue");
const core = require("@yanzhen-lowcode/core");
require("../../../constants/index.cjs");
require("../../../hooks/index.cjs");
const _interface = require("ant-design-vue/es/upload/interface");
require("../../text-preview/index.cjs");
const listType = require("./constants/listType.cjs");
const usePreviewConfig = require("./hooks/use-preview-config.cjs");
const index = require("../../../hooks/use-namespace/index.cjs");
const textPreview = require("../../text-preview/src/text-preview.cjs");
const event = require("../../../constants/event.cjs");
const ns = index.useNamespace("upload");
const uploadOptions = {
ns,
class: ns.b(),
name: ns.defineVNodeName()
};
const uploadName = uploadOptions.name;
const uploadPreviewName = ns.defineVNodeName("preview");
const AntUpload = utilsVue.propsSeparate(_interface.uploadProps());
const uploadProps = utilsVue.buildProps({
...core.apiProviderBaseProps,
...AntUpload.props,
...textPreview.textPreviewProps,
// 这里的 value 单选是图片url, 多选时是 [url1,url2]
modelValue: utilsVue.definePropType([String, Array]),
value: utilsVue.definePropType([String, Array]),
fileList: utilsVue.definePropType([String, Array]),
// 模式:编辑 edit 预览 view
mode: {
type: String,
default: "edit"
},
styleType: {
type: utilsVue.definePropType(String),
default: listType.uploadStyleType[0]
},
listType: {
type: utilsVue.definePropType(String),
default: listType.uploadListType[0]
},
accept: utilsVue.definePropType([String, Array]),
uploadType: {
type: utilsVue.definePropType(String),
values: listType.uploadType,
default: listType.uploadType[0]
},
uploadDesc: String,
max: Number,
maxMsg: String,
maxSize: [String, Number],
maxSizeMsg: String,
defaultMaxSize: {
type: Number,
default: 20
},
// 预览配置
previewConfig: {
type: utilsVue.definePropType(Object),
default: () => usePreviewConfig.defaultPreviewConfig()
}
});
const uploadEmits = utilsVue.buildEmits({
...AntUpload.emits,
[event.UPDATE_MODEL_EVENT]: AntUpload.emits["update:fileList"],
[event.UPDATE_VALUE_EVENT]: AntUpload.emits["update:fileList"],
uploaded: (_value) => true,
close: (e) => true
});
exports.AntUpload = AntUpload;
exports.uploadEmits = uploadEmits;
exports.uploadName = uploadName;
exports.uploadOptions = uploadOptions;
exports.uploadPreviewName = uploadPreviewName;
exports.uploadProps = uploadProps;