2023-12-18 13:12:25 +08:00
module . exports =
/******/ ( function ( modules ) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = { } ;
/******/
/******/ // The require function
/******/ function _ _webpack _require _ _ ( moduleId ) {
/******/
/******/ // Check if module is in cache
/******/ if ( installedModules [ moduleId ] ) {
/******/ return installedModules [ moduleId ] . exports ;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules [ moduleId ] = {
/******/ i : moduleId ,
/******/ l : false ,
/******/ exports : { }
/******/ } ;
/******/
/******/ // Execute the module function
/******/ modules [ moduleId ] . call ( module . exports , module , module . exports , _ _webpack _require _ _ ) ;
/******/
/******/ // Flag the module as loaded
/******/ module . l = true ;
/******/
/******/ // Return the exports of the module
/******/ return module . exports ;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ _ _webpack _require _ _ . m = modules ;
/******/
/******/ // expose the module cache
/******/ _ _webpack _require _ _ . c = installedModules ;
/******/
/******/ // define getter function for harmony exports
/******/ _ _webpack _require _ _ . d = function ( exports , name , getter ) {
/******/ if ( ! _ _webpack _require _ _ . o ( exports , name ) ) {
/******/ Object . defineProperty ( exports , name , { enumerable : true , get : getter } ) ;
/******/ }
/******/ } ;
/******/
/******/ // define __esModule on exports
/******/ _ _webpack _require _ _ . r = function ( exports ) {
/******/ if ( typeof Symbol !== 'undefined' && Symbol . toStringTag ) {
/******/ Object . defineProperty ( exports , Symbol . toStringTag , { value : 'Module' } ) ;
/******/ }
/******/ Object . defineProperty ( exports , '__esModule' , { value : true } ) ;
/******/ } ;
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ _ _webpack _require _ _ . t = function ( value , mode ) {
/******/ if ( mode & 1 ) value = _ _webpack _require _ _ ( value ) ;
/******/ if ( mode & 8 ) return value ;
/******/ if ( ( mode & 4 ) && typeof value === 'object' && value && value . _ _esModule ) return value ;
/******/ var ns = Object . create ( null ) ;
/******/ _ _webpack _require _ _ . r ( ns ) ;
/******/ Object . defineProperty ( ns , 'default' , { enumerable : true , value : value } ) ;
/******/ if ( mode & 2 && typeof value != 'string' ) for ( var key in value ) _ _webpack _require _ _ . d ( ns , key , function ( key ) { return value [ key ] ; } . bind ( null , key ) ) ;
/******/ return ns ;
/******/ } ;
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ _ _webpack _require _ _ . n = function ( module ) {
/******/ var getter = module && module . _ _esModule ?
/******/ function getDefault ( ) { return module [ 'default' ] ; } :
/******/ function getModuleExports ( ) { return module ; } ;
/******/ _ _webpack _require _ _ . d ( getter , 'a' , getter ) ;
/******/ return getter ;
/******/ } ;
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ _ _webpack _require _ _ . o = function ( object , property ) { return Object . prototype . hasOwnProperty . call ( object , property ) ; } ;
/******/
/******/ // __webpack_public_path__
/******/ _ _webpack _require _ _ . p = "/dist/" ;
/******/
/******/
/******/ // Load entry module and return exports
2024-01-16 21:26:16 +08:00
/******/ return _ _webpack _require _ _ ( _ _webpack _require _ _ . s = 59 ) ;
2023-12-18 13:12:25 +08:00
/******/ } )
/************************************************************************/
/******/ ( {
/***/ 0 :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return normalizeComponent ; } ) ;
/* globals __VUE_SSR_CONTEXT__ */
// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
// This module is a runtime utility for cleaner component module output and will
// be included in the final webpack user bundle.
function normalizeComponent (
scriptExports ,
render ,
staticRenderFns ,
functionalTemplate ,
injectStyles ,
scopeId ,
moduleIdentifier , /* server only */
shadowMode /* vue-cli only */
) {
// Vue.extend constructor export interop
var options = typeof scriptExports === 'function'
? scriptExports . options
: scriptExports
// render functions
if ( render ) {
options . render = render
options . staticRenderFns = staticRenderFns
options . _compiled = true
}
// functional template
if ( functionalTemplate ) {
options . functional = true
}
// scopedId
if ( scopeId ) {
options . _scopeId = 'data-v-' + scopeId
}
var hook
if ( moduleIdentifier ) { // server build
hook = function ( context ) {
// 2.3 injection
context =
context || // cached call
( this . $vnode && this . $vnode . ssrContext ) || // stateful
( this . parent && this . parent . $vnode && this . parent . $vnode . ssrContext ) // functional
// 2.2 with runInNewContext: true
if ( ! context && typeof _ _VUE _SSR _CONTEXT _ _ !== 'undefined' ) {
context = _ _VUE _SSR _CONTEXT _ _
}
// inject component styles
if ( injectStyles ) {
injectStyles . call ( this , context )
}
// register component module identifier for async chunk inferrence
if ( context && context . _registeredComponents ) {
context . _registeredComponents . add ( moduleIdentifier )
}
}
// used by ssr in case component is cached and beforeCreate
// never gets called
options . _ssrRegister = hook
} else if ( injectStyles ) {
hook = shadowMode
? function ( ) { injectStyles . call ( this , this . $root . $options . shadowRoot ) }
: injectStyles
}
if ( hook ) {
if ( options . functional ) {
// for template-only hot-reload because in that case the render fn doesn't
// go through the normalizer
options . _injectStyles = hook
// register for functioal component in vue file
var originalRender = options . render
options . render = function renderWithStyleInjection ( h , context ) {
hook . call ( context )
return originalRender ( h , context )
}
} else {
// inject component registration as beforeCreate hook
var existing = options . beforeCreate
options . beforeCreate = existing
? [ ] . concat ( existing , hook )
: [ hook ]
}
}
return {
exports : scriptExports ,
options : options
}
}
/***/ } ) ,
/***/ 11 :
/***/ ( function ( module , exports ) {
module . exports = require ( "element-ui/lib/mixins/migrating" ) ;
/***/ } ) ,
/***/ 26 :
/***/ ( function ( module , exports ) {
module . exports = require ( "babel-helper-vue-jsx-merge-props" ) ;
/***/ } ) ,
2024-01-16 21:26:16 +08:00
/***/ 43 :
2023-12-18 13:12:25 +08:00
/***/ ( function ( module , exports ) {
module . exports = require ( "element-ui/lib/progress" ) ;
/***/ } ) ,
2024-01-16 21:26:16 +08:00
/***/ 59 :
2023-12-18 13:12:25 +08:00
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
_ _webpack _require _ _ . r ( _ _webpack _exports _ _ ) ;
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/upload-list.vue?vue&type=template&id=173fedf5&
var upload _listvue _type _template _id _173fedf5 _render = function ( ) {
var _vm = this
var _h = _vm . $createElement
var _c = _vm . _self . _c || _h
return _c (
"transition-group" ,
{
class : [
"el-upload-list" ,
"el-upload-list--" + _vm . listType ,
{ "is-disabled" : _vm . disabled }
] ,
attrs : { tag : "ul" , name : "el-list" }
} ,
_vm . _l ( _vm . files , function ( file ) {
return _c (
"li" ,
{
key : file . uid ,
class : [
"el-upload-list__item" ,
"is-" + file . status ,
_vm . focusing ? "focusing" : ""
] ,
attrs : { tabindex : "0" } ,
on : {
keydown : function ( $event ) {
if (
! ( "button" in $event ) &&
_vm . _k ( $event . keyCode , "delete" , [ 8 , 46 ] , $event . key , [
"Backspace" ,
"Delete" ,
"Del"
] )
) {
return null
}
! _vm . disabled && _vm . $emit ( "remove" , file )
} ,
focus : function ( $event ) {
_vm . focusing = true
} ,
blur : function ( $event ) {
_vm . focusing = false
} ,
click : function ( $event ) {
_vm . focusing = false
}
}
} ,
[
_vm . _t (
"default" ,
[
file . status !== "uploading" &&
[ "picture-card" , "picture" ] . indexOf ( _vm . listType ) > - 1
? _c ( "img" , {
staticClass : "el-upload-list__item-thumbnail" ,
attrs : { src : file . url , alt : "" }
} )
: _vm . _e ( ) ,
_c (
"a" ,
{
staticClass : "el-upload-list__item-name" ,
on : {
click : function ( $event ) {
_vm . handleClick ( file )
}
}
} ,
[
_c ( "i" , { staticClass : "el-icon-document" } ) ,
_vm . _v ( _vm . _s ( file . name ) + "\n " )
]
) ,
_c (
"label" ,
{ staticClass : "el-upload-list__item-status-label" } ,
[
_c ( "i" , {
class : {
"el-icon-upload-success" : true ,
"el-icon-circle-check" : _vm . listType === "text" ,
"el-icon-check" :
[ "picture-card" , "picture" ] . indexOf ( _vm . listType ) > - 1
}
} )
]
) ,
! _vm . disabled
? _c ( "i" , {
staticClass : "el-icon-close" ,
on : {
click : function ( $event ) {
_vm . $emit ( "remove" , file )
}
}
} )
: _vm . _e ( ) ,
! _vm . disabled
? _c ( "i" , { staticClass : "el-icon-close-tip" } , [
_vm . _v ( _vm . _s ( _vm . t ( "el.upload.deleteTip" ) ) )
] )
: _vm . _e ( ) ,
file . status === "uploading"
? _c ( "el-progress" , {
attrs : {
type : _vm . listType === "picture-card" ? "circle" : "line" ,
"stroke-width" : _vm . listType === "picture-card" ? 6 : 2 ,
percentage : _vm . parsePercentage ( file . percentage )
}
} )
: _vm . _e ( ) ,
_vm . listType === "picture-card"
? _c ( "span" , { staticClass : "el-upload-list__item-actions" } , [
_vm . handlePreview && _vm . listType === "picture-card"
? _c (
"span" ,
{
staticClass : "el-upload-list__item-preview" ,
on : {
click : function ( $event ) {
_vm . handlePreview ( file )
}
}
} ,
[ _c ( "i" , { staticClass : "el-icon-zoom-in" } ) ]
)
: _vm . _e ( ) ,
! _vm . disabled
? _c (
"span" ,
{
staticClass : "el-upload-list__item-delete" ,
on : {
click : function ( $event ) {
_vm . $emit ( "remove" , file )
}
}
} ,
[ _c ( "i" , { staticClass : "el-icon-delete" } ) ]
)
: _vm . _e ( )
] )
: _vm . _e ( )
] ,
{ file : file }
)
] ,
2
)
} ) ,
0
)
}
var staticRenderFns = [ ]
upload _listvue _type _template _id _173fedf5 _render . _withStripped = true
// CONCATENATED MODULE: ./packages/upload/src/upload-list.vue?vue&type=template&id=173fedf5&
// EXTERNAL MODULE: external "element-ui/lib/mixins/locale"
var locale _ = _ _webpack _require _ _ ( 6 ) ;
var locale _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( locale _ ) ;
// EXTERNAL MODULE: external "element-ui/lib/progress"
2024-01-16 21:26:16 +08:00
var progress _ = _ _webpack _require _ _ ( 43 ) ;
2023-12-18 13:12:25 +08:00
var progress _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( progress _ ) ;
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/upload-list.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var upload _listvue _type _script _lang _js _ = ( {
name : 'ElUploadList' ,
mixins : [ locale _default . a ] ,
data : function data ( ) {
return {
focusing : false
} ;
} ,
components : { ElProgress : progress _default . a } ,
props : {
files : {
type : Array ,
default : function _default ( ) {
return [ ] ;
}
} ,
disabled : {
type : Boolean ,
default : false
} ,
handlePreview : Function ,
listType : String
} ,
methods : {
parsePercentage : function parsePercentage ( val ) {
return parseInt ( val , 10 ) ;
} ,
handleClick : function handleClick ( file ) {
this . handlePreview && this . handlePreview ( file ) ;
}
}
} ) ;
// CONCATENATED MODULE: ./packages/upload/src/upload-list.vue?vue&type=script&lang=js&
/* harmony default export */ var src _upload _listvue _type _script _lang _js _ = ( upload _listvue _type _script _lang _js _ ) ;
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = _ _webpack _require _ _ ( 0 ) ;
// CONCATENATED MODULE: ./packages/upload/src/upload-list.vue
/* normalize component */
var component = Object ( componentNormalizer [ "a" /* default */ ] ) (
src _upload _listvue _type _script _lang _js _ ,
upload _listvue _type _template _id _173fedf5 _render ,
staticRenderFns ,
false ,
null ,
null ,
null
)
/* hot reload */
if ( false ) { var api ; }
component . options . _ _file = "packages/upload/src/upload-list.vue"
/* harmony default export */ var upload _list = ( component . exports ) ;
// EXTERNAL MODULE: external "babel-helper-vue-jsx-merge-props"
var external _babel _helper _vue _jsx _merge _props _ = _ _webpack _require _ _ ( 26 ) ;
var external _babel _helper _vue _jsx _merge _props _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( external _babel _helper _vue _jsx _merge _props _ ) ;
// CONCATENATED MODULE: ./packages/upload/src/ajax.js
function getError ( action , option , xhr ) {
var msg = void 0 ;
if ( xhr . response ) {
msg = '' + ( xhr . response . error || xhr . response ) ;
} else if ( xhr . responseText ) {
msg = '' + xhr . responseText ;
} else {
msg = 'fail to post ' + action + ' ' + xhr . status ;
}
var err = new Error ( msg ) ;
err . status = xhr . status ;
err . method = 'post' ;
err . url = action ;
return err ;
}
function getBody ( xhr ) {
var text = xhr . responseText || xhr . response ;
if ( ! text ) {
return text ;
}
try {
return JSON . parse ( text ) ;
} catch ( e ) {
return text ;
}
}
function upload ( option ) {
if ( typeof XMLHttpRequest === 'undefined' ) {
return ;
}
var xhr = new XMLHttpRequest ( ) ;
var action = option . action ;
if ( xhr . upload ) {
xhr . upload . onprogress = function progress ( e ) {
if ( e . total > 0 ) {
e . percent = e . loaded / e . total * 100 ;
}
option . onProgress ( e ) ;
} ;
}
var formData = new FormData ( ) ;
if ( option . data ) {
Object . keys ( option . data ) . forEach ( function ( key ) {
formData . append ( key , option . data [ key ] ) ;
} ) ;
}
formData . append ( option . filename , option . file , option . file . name ) ;
xhr . onerror = function error ( e ) {
option . onError ( e ) ;
} ;
xhr . onload = function onload ( ) {
if ( xhr . status < 200 || xhr . status >= 300 ) {
return option . onError ( getError ( action , option , xhr ) ) ;
}
option . onSuccess ( getBody ( xhr ) ) ;
} ;
xhr . open ( 'post' , action , true ) ;
if ( option . withCredentials && 'withCredentials' in xhr ) {
xhr . withCredentials = true ;
}
var headers = option . headers || { } ;
for ( var item in headers ) {
if ( headers . hasOwnProperty ( item ) && headers [ item ] !== null ) {
xhr . setRequestHeader ( item , headers [ item ] ) ;
}
}
xhr . send ( formData ) ;
return xhr ;
}
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/upload-dragger.vue?vue&type=template&id=7ebbf219&
var upload _draggervue _type _template _id _7ebbf219 _render = function ( ) {
var _vm = this
var _h = _vm . $createElement
var _c = _vm . _self . _c || _h
return _c (
"div" ,
{
staticClass : "el-upload-dragger" ,
class : {
"is-dragover" : _vm . dragover
} ,
on : {
drop : function ( $event ) {
$event . preventDefault ( )
return _vm . onDrop ( $event )
} ,
dragover : function ( $event ) {
$event . preventDefault ( )
return _vm . onDragover ( $event )
} ,
dragleave : function ( $event ) {
$event . preventDefault ( )
_vm . dragover = false
}
}
} ,
[ _vm . _t ( "default" ) ] ,
2
)
}
var upload _draggervue _type _template _id _7ebbf219 _staticRenderFns = [ ]
upload _draggervue _type _template _id _7ebbf219 _render . _withStripped = true
// CONCATENATED MODULE: ./packages/upload/src/upload-dragger.vue?vue&type=template&id=7ebbf219&
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/upload-dragger.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var upload _draggervue _type _script _lang _js _ = ( {
name : 'ElUploadDrag' ,
props : {
disabled : Boolean
} ,
inject : {
uploader : {
default : ''
}
} ,
data : function data ( ) {
return {
dragover : false
} ;
} ,
methods : {
onDragover : function onDragover ( ) {
if ( ! this . disabled ) {
this . dragover = true ;
}
} ,
onDrop : function onDrop ( e ) {
if ( this . disabled || ! this . uploader ) return ;
var accept = this . uploader . accept ;
this . dragover = false ;
if ( ! accept ) {
this . $emit ( 'file' , e . dataTransfer . files ) ;
return ;
}
this . $emit ( 'file' , [ ] . slice . call ( e . dataTransfer . files ) . filter ( function ( file ) {
var type = file . type ,
name = file . name ;
var extension = name . indexOf ( '.' ) > - 1 ? '.' + name . split ( '.' ) . pop ( ) : '' ;
var baseType = type . replace ( /\/.*$/ , '' ) ;
return accept . split ( ',' ) . map ( function ( type ) {
return type . trim ( ) ;
} ) . filter ( function ( type ) {
return type ;
} ) . some ( function ( acceptedType ) {
if ( /\..+$/ . test ( acceptedType ) ) {
return extension === acceptedType ;
}
if ( /\/\*$/ . test ( acceptedType ) ) {
return baseType === acceptedType . replace ( /\/\*$/ , '' ) ;
}
if ( /^[^\/]+\/[^\/]+$/ . test ( acceptedType ) ) {
return type === acceptedType ;
}
return false ;
} ) ;
} ) ) ;
}
}
} ) ;
// CONCATENATED MODULE: ./packages/upload/src/upload-dragger.vue?vue&type=script&lang=js&
/* harmony default export */ var src _upload _draggervue _type _script _lang _js _ = ( upload _draggervue _type _script _lang _js _ ) ;
// CONCATENATED MODULE: ./packages/upload/src/upload-dragger.vue
/* normalize component */
var upload _dragger _component = Object ( componentNormalizer [ "a" /* default */ ] ) (
src _upload _draggervue _type _script _lang _js _ ,
upload _draggervue _type _template _id _7ebbf219 _render ,
upload _draggervue _type _template _id _7ebbf219 _staticRenderFns ,
false ,
null ,
null ,
null
)
/* hot reload */
if ( false ) { var upload _dragger _api ; }
upload _dragger _component . options . _ _file = "packages/upload/src/upload-dragger.vue"
/* harmony default export */ var upload _dragger = ( upload _dragger _component . exports ) ;
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/upload.vue?vue&type=script&lang=js&
/* harmony default export */ var uploadvue _type _script _lang _js _ = ( {
inject : [ 'uploader' ] ,
components : {
UploadDragger : upload _dragger
} ,
props : {
type : String ,
action : {
type : String ,
required : true
} ,
name : {
type : String ,
default : 'file'
} ,
data : Object ,
headers : Object ,
withCredentials : Boolean ,
multiple : Boolean ,
accept : String ,
onStart : Function ,
onProgress : Function ,
onSuccess : Function ,
onError : Function ,
beforeUpload : Function ,
drag : Boolean ,
onPreview : {
type : Function ,
default : function _default ( ) { }
} ,
onRemove : {
type : Function ,
default : function _default ( ) { }
} ,
fileList : Array ,
autoUpload : Boolean ,
listType : String ,
httpRequest : {
type : Function ,
default : upload
} ,
disabled : Boolean ,
limit : Number ,
onExceed : Function
} ,
data : function data ( ) {
return {
mouseover : false ,
reqs : { }
} ;
} ,
methods : {
isImage : function isImage ( str ) {
return str . indexOf ( 'image' ) !== - 1 ;
} ,
handleChange : function handleChange ( ev ) {
var files = ev . target . files ;
if ( ! files ) return ;
this . uploadFiles ( files ) ;
} ,
uploadFiles : function uploadFiles ( files ) {
var _this = this ;
if ( this . limit && this . fileList . length + files . length > this . limit ) {
this . onExceed && this . onExceed ( files , this . fileList ) ;
return ;
}
var postFiles = Array . prototype . slice . call ( files ) ;
if ( ! this . multiple ) {
postFiles = postFiles . slice ( 0 , 1 ) ;
}
if ( postFiles . length === 0 ) {
return ;
}
postFiles . forEach ( function ( rawFile ) {
_this . onStart ( rawFile ) ;
if ( _this . autoUpload ) _this . upload ( rawFile ) ;
} ) ;
} ,
upload : function upload ( rawFile ) {
var _this2 = this ;
this . $refs . input . value = null ;
if ( ! this . beforeUpload ) {
return this . post ( rawFile ) ;
}
var before = this . beforeUpload ( rawFile ) ;
if ( before && before . then ) {
before . then ( function ( processedFile ) {
var fileType = Object . prototype . toString . call ( processedFile ) ;
if ( fileType === '[object File]' || fileType === '[object Blob]' ) {
if ( fileType === '[object Blob]' ) {
processedFile = new File ( [ processedFile ] , rawFile . name , {
type : rawFile . type
} ) ;
}
for ( var p in rawFile ) {
if ( rawFile . hasOwnProperty ( p ) ) {
processedFile [ p ] = rawFile [ p ] ;
}
}
_this2 . post ( processedFile ) ;
} else {
_this2 . post ( rawFile ) ;
}
} , function ( ) {
_this2 . onRemove ( null , rawFile ) ;
} ) ;
} else if ( before !== false ) {
this . post ( rawFile ) ;
} else {
this . onRemove ( null , rawFile ) ;
}
} ,
abort : function abort ( file ) {
var reqs = this . reqs ;
if ( file ) {
var uid = file ;
if ( file . uid ) uid = file . uid ;
if ( reqs [ uid ] ) {
reqs [ uid ] . abort ( ) ;
}
} else {
Object . keys ( reqs ) . forEach ( function ( uid ) {
if ( reqs [ uid ] ) reqs [ uid ] . abort ( ) ;
delete reqs [ uid ] ;
} ) ;
}
} ,
post : function post ( rawFile ) {
var _this3 = this ;
var uid = rawFile . uid ;
var options = {
headers : this . headers ,
withCredentials : this . withCredentials ,
file : rawFile ,
data : this . data ,
filename : this . name ,
action : this . action ,
onProgress : function onProgress ( e ) {
_this3 . onProgress ( e , rawFile ) ;
} ,
onSuccess : function onSuccess ( res ) {
_this3 . onSuccess ( res , rawFile ) ;
delete _this3 . reqs [ uid ] ;
} ,
onError : function onError ( err ) {
_this3 . onError ( err , rawFile ) ;
delete _this3 . reqs [ uid ] ;
}
} ;
var req = this . httpRequest ( options ) ;
this . reqs [ uid ] = req ;
if ( req && req . then ) {
req . then ( options . onSuccess , options . onError ) ;
}
} ,
handleClick : function handleClick ( ) {
if ( ! this . disabled ) {
this . $refs . input . value = null ;
this . $refs . input . click ( ) ;
}
} ,
handleKeydown : function handleKeydown ( e ) {
if ( e . target !== e . currentTarget ) return ;
if ( e . keyCode === 13 || e . keyCode === 32 ) {
this . handleClick ( ) ;
}
}
} ,
render : function render ( h ) {
var handleClick = this . handleClick ,
drag = this . drag ,
name = this . name ,
handleChange = this . handleChange ,
multiple = this . multiple ,
accept = this . accept ,
listType = this . listType ,
uploadFiles = this . uploadFiles ,
disabled = this . disabled ,
handleKeydown = this . handleKeydown ;
var data = {
class : {
'el-upload' : true
} ,
on : {
click : handleClick ,
keydown : handleKeydown
}
} ;
data . class [ 'el-upload--' + listType ] = true ;
return h (
'div' ,
external _babel _helper _vue _jsx _merge _props _default ( ) ( [ data , {
attrs : { tabindex : '0' }
} ] ) ,
[ drag ? h (
'upload-dragger' ,
{
attrs : { disabled : disabled } ,
on : {
'file' : uploadFiles
}
} ,
[ this . $slots . default ]
) : this . $slots . default , h ( 'input' , { 'class' : 'el-upload__input' , attrs : { type : 'file' , name : name , multiple : multiple , accept : accept } ,
ref : 'input' , on : {
'change' : handleChange
}
} ) ]
) ;
}
} ) ;
// CONCATENATED MODULE: ./packages/upload/src/upload.vue?vue&type=script&lang=js&
/* harmony default export */ var src _uploadvue _type _script _lang _js _ = ( uploadvue _type _script _lang _js _ ) ;
// CONCATENATED MODULE: ./packages/upload/src/upload.vue
var upload _render , upload _staticRenderFns
/* normalize component */
var upload _component = Object ( componentNormalizer [ "a" /* default */ ] ) (
src _uploadvue _type _script _lang _js _ ,
upload _render ,
upload _staticRenderFns ,
false ,
null ,
null ,
null
)
/* hot reload */
if ( false ) { var upload _api ; }
upload _component . options . _ _file = "packages/upload/src/upload.vue"
/* harmony default export */ var src _upload = ( upload _component . exports ) ;
// EXTERNAL MODULE: external "element-ui/lib/mixins/migrating"
var migrating _ = _ _webpack _require _ _ ( 11 ) ;
var migrating _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( migrating _ ) ;
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/index.vue?vue&type=script&lang=js&
function noop ( ) { }
/* harmony default export */ var srcvue _type _script _lang _js _ = ( {
name : 'ElUpload' ,
mixins : [ migrating _default . a ] ,
components : {
ElProgress : progress _default . a ,
UploadList : upload _list ,
Upload : src _upload
} ,
provide : function provide ( ) {
return {
uploader : this
} ;
} ,
inject : {
elForm : {
default : ''
}
} ,
props : {
action : {
type : String ,
required : true
} ,
headers : {
type : Object ,
default : function _default ( ) {
return { } ;
}
} ,
data : Object ,
multiple : Boolean ,
name : {
type : String ,
default : 'file'
} ,
drag : Boolean ,
dragger : Boolean ,
withCredentials : Boolean ,
showFileList : {
type : Boolean ,
default : true
} ,
accept : String ,
type : {
type : String ,
default : 'select'
} ,
beforeUpload : Function ,
beforeRemove : Function ,
onRemove : {
type : Function ,
default : noop
} ,
onChange : {
type : Function ,
default : noop
} ,
onPreview : {
type : Function
} ,
onSuccess : {
type : Function ,
default : noop
} ,
onProgress : {
type : Function ,
default : noop
} ,
onError : {
type : Function ,
default : noop
} ,
fileList : {
type : Array ,
default : function _default ( ) {
return [ ] ;
}
} ,
autoUpload : {
type : Boolean ,
default : true
} ,
listType : {
type : String ,
default : 'text' // text,picture,picture-card
} ,
httpRequest : Function ,
disabled : Boolean ,
limit : Number ,
onExceed : {
type : Function ,
default : noop
}
} ,
data : function data ( ) {
return {
uploadFiles : [ ] ,
dragOver : false ,
draging : false ,
tempIndex : 1
} ;
} ,
computed : {
uploadDisabled : function uploadDisabled ( ) {
return this . disabled || ( this . elForm || { } ) . disabled ;
}
} ,
watch : {
listType : function listType ( type ) {
if ( type === 'picture-card' || type === 'picture' ) {
this . uploadFiles = this . uploadFiles . map ( function ( file ) {
if ( ! file . url && file . raw ) {
try {
file . url = URL . createObjectURL ( file . raw ) ;
} catch ( err ) {
console . error ( '[Element Error][Upload]' , err ) ;
}
}
return file ;
} ) ;
}
} ,
fileList : {
immediate : true ,
handler : function handler ( fileList ) {
var _this = this ;
this . uploadFiles = fileList . map ( function ( item ) {
item . uid = item . uid || Date . now ( ) + _this . tempIndex ++ ;
item . status = item . status || 'success' ;
return item ;
} ) ;
}
}
} ,
methods : {
handleStart : function handleStart ( rawFile ) {
rawFile . uid = Date . now ( ) + this . tempIndex ++ ;
var file = {
status : 'ready' ,
name : rawFile . name ,
size : rawFile . size ,
percentage : 0 ,
uid : rawFile . uid ,
raw : rawFile
} ;
if ( this . listType === 'picture-card' || this . listType === 'picture' ) {
try {
file . url = URL . createObjectURL ( rawFile ) ;
} catch ( err ) {
console . error ( '[Element Error][Upload]' , err ) ;
return ;
}
}
this . uploadFiles . push ( file ) ;
this . onChange ( file , this . uploadFiles ) ;
} ,
handleProgress : function handleProgress ( ev , rawFile ) {
var file = this . getFile ( rawFile ) ;
this . onProgress ( ev , file , this . uploadFiles ) ;
file . status = 'uploading' ;
file . percentage = ev . percent || 0 ;
} ,
handleSuccess : function handleSuccess ( res , rawFile ) {
var file = this . getFile ( rawFile ) ;
if ( file ) {
file . status = 'success' ;
file . response = res ;
this . onSuccess ( res , file , this . uploadFiles ) ;
this . onChange ( file , this . uploadFiles ) ;
}
} ,
handleError : function handleError ( err , rawFile ) {
var file = this . getFile ( rawFile ) ;
var fileList = this . uploadFiles ;
file . status = 'fail' ;
fileList . splice ( fileList . indexOf ( file ) , 1 ) ;
this . onError ( err , file , this . uploadFiles ) ;
this . onChange ( file , this . uploadFiles ) ;
} ,
handleRemove : function handleRemove ( file , raw ) {
var _this2 = this ;
if ( raw ) {
file = this . getFile ( raw ) ;
}
var doRemove = function doRemove ( ) {
_this2 . abort ( file ) ;
var fileList = _this2 . uploadFiles ;
fileList . splice ( fileList . indexOf ( file ) , 1 ) ;
_this2 . onRemove ( file , fileList ) ;
} ;
if ( ! this . beforeRemove ) {
doRemove ( ) ;
} else if ( typeof this . beforeRemove === 'function' ) {
var before = this . beforeRemove ( file , this . uploadFiles ) ;
if ( before && before . then ) {
before . then ( function ( ) {
doRemove ( ) ;
} , noop ) ;
} else if ( before !== false ) {
doRemove ( ) ;
}
}
} ,
getFile : function getFile ( rawFile ) {
var fileList = this . uploadFiles ;
var target = void 0 ;
fileList . every ( function ( item ) {
target = rawFile . uid === item . uid ? item : null ;
return ! target ;
} ) ;
return target ;
} ,
abort : function abort ( file ) {
this . $refs [ 'upload-inner' ] . abort ( file ) ;
} ,
clearFiles : function clearFiles ( ) {
this . uploadFiles = [ ] ;
} ,
submit : function submit ( ) {
var _this3 = this ;
this . uploadFiles . filter ( function ( file ) {
return file . status === 'ready' ;
} ) . forEach ( function ( file ) {
_this3 . $refs [ 'upload-inner' ] . upload ( file . raw ) ;
} ) ;
} ,
getMigratingConfig : function getMigratingConfig ( ) {
return {
props : {
'default-file-list' : 'default-file-list is renamed to file-list.' ,
'show-upload-list' : 'show-upload-list is renamed to show-file-list.' ,
'thumbnail-mode' : 'thumbnail-mode has been deprecated, you can implement the same effect according to this case: http://element.eleme.io/#/zh-CN/component/upload#yong-hu-tou-xiang-shang-chuan'
}
} ;
}
} ,
beforeDestroy : function beforeDestroy ( ) {
this . uploadFiles . forEach ( function ( file ) {
if ( file . url && file . url . indexOf ( 'blob:' ) === 0 ) {
URL . revokeObjectURL ( file . url ) ;
}
} ) ;
} ,
render : function render ( h ) {
var _this4 = this ;
var uploadList = void 0 ;
if ( this . showFileList ) {
uploadList = h (
upload _list ,
{
attrs : {
disabled : this . uploadDisabled ,
listType : this . listType ,
files : this . uploadFiles ,
handlePreview : this . onPreview } ,
on : {
'remove' : this . handleRemove
}
} ,
[ function ( props ) {
if ( _this4 . $scopedSlots . file ) {
return _this4 . $scopedSlots . file ( {
file : props . file
} ) ;
}
} ]
) ;
}
var uploadData = {
props : {
type : this . type ,
drag : this . drag ,
action : this . action ,
multiple : this . multiple ,
'before-upload' : this . beforeUpload ,
'with-credentials' : this . withCredentials ,
headers : this . headers ,
name : this . name ,
data : this . data ,
accept : this . accept ,
fileList : this . uploadFiles ,
autoUpload : this . autoUpload ,
listType : this . listType ,
disabled : this . uploadDisabled ,
limit : this . limit ,
'on-exceed' : this . onExceed ,
'on-start' : this . handleStart ,
'on-progress' : this . handleProgress ,
'on-success' : this . handleSuccess ,
'on-error' : this . handleError ,
'on-preview' : this . onPreview ,
'on-remove' : this . handleRemove ,
'http-request' : this . httpRequest
} ,
ref : 'upload-inner'
} ;
var trigger = this . $slots . trigger || this . $slots . default ;
var uploadComponent = h (
'upload' ,
uploadData ,
[ trigger ]
) ;
return h ( 'div' , [ this . listType === 'picture-card' ? uploadList : '' , this . $slots . trigger ? [ uploadComponent , this . $slots . default ] : uploadComponent , this . $slots . tip , this . listType !== 'picture-card' ? uploadList : '' ] ) ;
}
} ) ;
// CONCATENATED MODULE: ./packages/upload/src/index.vue?vue&type=script&lang=js&
/* harmony default export */ var upload _srcvue _type _script _lang _js _ = ( srcvue _type _script _lang _js _ ) ;
// CONCATENATED MODULE: ./packages/upload/src/index.vue
var src _render , src _staticRenderFns
/* normalize component */
var src _component = Object ( componentNormalizer [ "a" /* default */ ] ) (
upload _srcvue _type _script _lang _js _ ,
src _render ,
src _staticRenderFns ,
false ,
null ,
null ,
null
)
/* hot reload */
if ( false ) { var src _api ; }
src _component . options . _ _file = "packages/upload/src/index.vue"
/* harmony default export */ var src = ( src _component . exports ) ;
// CONCATENATED MODULE: ./packages/upload/index.js
/* istanbul ignore next */
src . install = function ( Vue ) {
Vue . component ( src . name , src ) ;
} ;
/* harmony default export */ var packages _upload = _ _webpack _exports _ _ [ "default" ] = ( src ) ;
/***/ } ) ,
/***/ 6 :
/***/ ( function ( module , exports ) {
module . exports = require ( "element-ui/lib/mixins/locale" ) ;
/***/ } )
/******/ } ) ;