f83f021cdc7695436393c6bb78e925c1b056da0e7033e6cfebd0f0e59f76fcd8b8be96bc108a5f3a93e047c4ee1206c60cd0d584727627480b207d501e280c 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. 'use strict';
  2. Object.defineProperty(exports, '__esModule', { value: true });
  3. var vue = require('vue');
  4. var constants = require('./constants.js');
  5. var uploadList = require('./upload-list2.js');
  6. var uploadContent = require('./upload-content2.js');
  7. var useHandlers = require('./use-handlers.js');
  8. var upload = require('./upload.js');
  9. var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
  10. var useFormCommonProps = require('../../form/src/hooks/use-form-common-props.js');
  11. const __default__ = vue.defineComponent({
  12. name: "ElUpload"
  13. });
  14. const _sfc_main = /* @__PURE__ */ vue.defineComponent({
  15. ...__default__,
  16. props: upload.uploadProps,
  17. setup(__props, { expose }) {
  18. const props = __props;
  19. const disabled = useFormCommonProps.useFormDisabled();
  20. const uploadRef = vue.shallowRef();
  21. const {
  22. abort,
  23. submit,
  24. clearFiles,
  25. uploadFiles,
  26. handleStart,
  27. handleError,
  28. handleRemove,
  29. handleSuccess,
  30. handleProgress,
  31. revokeFileObjectURL
  32. } = useHandlers.useHandlers(props, uploadRef);
  33. const isPictureCard = vue.computed(() => props.listType === "picture-card");
  34. const uploadContentProps = vue.computed(() => ({
  35. ...props,
  36. fileList: uploadFiles.value,
  37. onStart: handleStart,
  38. onProgress: handleProgress,
  39. onSuccess: handleSuccess,
  40. onError: handleError,
  41. onRemove: handleRemove
  42. }));
  43. vue.onBeforeUnmount(() => {
  44. uploadFiles.value.forEach(revokeFileObjectURL);
  45. });
  46. vue.provide(constants.uploadContextKey, {
  47. accept: vue.toRef(props, "accept")
  48. });
  49. expose({
  50. abort,
  51. submit,
  52. clearFiles,
  53. handleStart,
  54. handleRemove
  55. });
  56. return (_ctx, _cache) => {
  57. return vue.openBlock(), vue.createElementBlock("div", null, [
  58. vue.unref(isPictureCard) && _ctx.showFileList ? (vue.openBlock(), vue.createBlock(uploadList["default"], {
  59. key: 0,
  60. disabled: vue.unref(disabled),
  61. "list-type": _ctx.listType,
  62. files: vue.unref(uploadFiles),
  63. crossorigin: _ctx.crossorigin,
  64. "handle-preview": _ctx.onPreview,
  65. onRemove: vue.unref(handleRemove)
  66. }, vue.createSlots({
  67. append: vue.withCtx(() => [
  68. vue.createVNode(uploadContent["default"], vue.mergeProps({
  69. ref_key: "uploadRef",
  70. ref: uploadRef
  71. }, vue.unref(uploadContentProps)), {
  72. default: vue.withCtx(() => [
  73. _ctx.$slots.trigger ? vue.renderSlot(_ctx.$slots, "trigger", { key: 0 }) : vue.createCommentVNode("v-if", true),
  74. !_ctx.$slots.trigger && _ctx.$slots.default ? vue.renderSlot(_ctx.$slots, "default", { key: 1 }) : vue.createCommentVNode("v-if", true)
  75. ]),
  76. _: 3
  77. }, 16)
  78. ]),
  79. _: 2
  80. }, [
  81. _ctx.$slots.file ? {
  82. name: "default",
  83. fn: vue.withCtx(({ file, index }) => [
  84. vue.renderSlot(_ctx.$slots, "file", {
  85. file,
  86. index
  87. })
  88. ])
  89. } : void 0
  90. ]), 1032, ["disabled", "list-type", "files", "crossorigin", "handle-preview", "onRemove"])) : vue.createCommentVNode("v-if", true),
  91. !vue.unref(isPictureCard) || vue.unref(isPictureCard) && !_ctx.showFileList ? (vue.openBlock(), vue.createBlock(uploadContent["default"], vue.mergeProps({
  92. key: 1,
  93. ref_key: "uploadRef",
  94. ref: uploadRef
  95. }, vue.unref(uploadContentProps)), {
  96. default: vue.withCtx(() => [
  97. _ctx.$slots.trigger ? vue.renderSlot(_ctx.$slots, "trigger", { key: 0 }) : vue.createCommentVNode("v-if", true),
  98. !_ctx.$slots.trigger && _ctx.$slots.default ? vue.renderSlot(_ctx.$slots, "default", { key: 1 }) : vue.createCommentVNode("v-if", true)
  99. ]),
  100. _: 3
  101. }, 16)) : vue.createCommentVNode("v-if", true),
  102. _ctx.$slots.trigger ? vue.renderSlot(_ctx.$slots, "default", { key: 2 }) : vue.createCommentVNode("v-if", true),
  103. vue.renderSlot(_ctx.$slots, "tip"),
  104. !vue.unref(isPictureCard) && _ctx.showFileList ? (vue.openBlock(), vue.createBlock(uploadList["default"], {
  105. key: 3,
  106. disabled: vue.unref(disabled),
  107. "list-type": _ctx.listType,
  108. files: vue.unref(uploadFiles),
  109. crossorigin: _ctx.crossorigin,
  110. "handle-preview": _ctx.onPreview,
  111. onRemove: vue.unref(handleRemove)
  112. }, vue.createSlots({
  113. _: 2
  114. }, [
  115. _ctx.$slots.file ? {
  116. name: "default",
  117. fn: vue.withCtx(({ file, index }) => [
  118. vue.renderSlot(_ctx.$slots, "file", {
  119. file,
  120. index
  121. })
  122. ])
  123. } : void 0
  124. ]), 1032, ["disabled", "list-type", "files", "crossorigin", "handle-preview", "onRemove"])) : vue.createCommentVNode("v-if", true)
  125. ]);
  126. };
  127. }
  128. });
  129. var Upload = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "upload.vue"]]);
  130. exports["default"] = Upload;
  131. //# sourceMappingURL=upload2.js.map