1 | module.exports =
|
2 | (function(modules) {
|
3 |
|
4 | var installedModules = {};
|
5 |
|
6 |
|
7 | function __webpack_require__(moduleId) {
|
8 |
|
9 |
|
10 | if(installedModules[moduleId]) {
|
11 | return installedModules[moduleId].exports;
|
12 | }
|
13 |
|
14 | var module = installedModules[moduleId] = {
|
15 | i: moduleId,
|
16 | l: false,
|
17 | exports: {}
|
18 | };
|
19 |
|
20 |
|
21 | modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
22 |
|
23 |
|
24 | module.l = true;
|
25 |
|
26 |
|
27 | return module.exports;
|
28 | }
|
29 |
|
30 |
|
31 |
|
32 | __webpack_require__.m = modules;
|
33 |
|
34 |
|
35 | __webpack_require__.c = installedModules;
|
36 |
|
37 |
|
38 | __webpack_require__.d = function(exports, name, getter) {
|
39 | if(!__webpack_require__.o(exports, name)) {
|
40 | Object.defineProperty(exports, name, {
|
41 | configurable: false,
|
42 | enumerable: true,
|
43 | get: getter
|
44 | /******/ });
|
45 | /******/ }
|
46 | /******/ };
|
47 | /******/
|
48 | /******/ // getDefaultExport function for compatibility with non-harmony modules
|
49 | /******/ __webpack_require__.n = function(module) {
|
50 | var getter = module && module.__esModule ?
|
51 | function getDefault() { return module['default']; } :
|
52 | function getModuleExports() { return module; };
|
53 | __webpack_require__.d(getter, 'a', getter);
|
54 | return getter;
|
55 | };
|
56 |
|
57 |
|
58 | __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
59 |
|
60 |
|
61 | __webpack_require__.p = "/dist/";
|
62 |
|
63 |
|
64 | return __webpack_require__(__webpack_require__.s = 287);
|
65 | })
|
66 |
|
67 | ({
|
68 |
|
69 | 0:
|
70 | (function(module, exports) {
|
71 |
|
72 |
|
73 |
|
74 |
|
75 |
|
76 |
|
77 |
|
78 | module.exports = function normalizeComponent (
|
79 | rawScriptExports,
|
80 | compiledTemplate,
|
81 | functionalTemplate,
|
82 | injectStyles,
|
83 | scopeId,
|
84 | moduleIdentifier /* server only */
|
85 | ) {
|
86 | var esModule
|
87 | var scriptExports = rawScriptExports = rawScriptExports || {}
|
88 |
|
89 |
|
90 | var type = typeof rawScriptExports.default
|
91 | if (type === 'object' || type === 'function') {
|
92 | esModule = rawScriptExports
|
93 | scriptExports = rawScriptExports.default
|
94 | }
|
95 |
|
96 |
|
97 | var options = typeof scriptExports === 'function'
|
98 | ? scriptExports.options
|
99 | : scriptExports
|
100 |
|
101 |
|
102 | if (compiledTemplate) {
|
103 | options.render = compiledTemplate.render
|
104 | options.staticRenderFns = compiledTemplate.staticRenderFns
|
105 | options._compiled = true
|
106 | }
|
107 |
|
108 |
|
109 | if (functionalTemplate) {
|
110 | options.functional = true
|
111 | }
|
112 |
|
113 |
|
114 | if (scopeId) {
|
115 | options._scopeId = scopeId
|
116 | }
|
117 |
|
118 | var hook
|
119 | if (moduleIdentifier) {
|
120 | hook = function (context) {
|
121 |
|
122 | context =
|
123 | context ||
|
124 | (this.$vnode && this.$vnode.ssrContext) ||
|
125 | (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext)
|
126 |
|
127 | if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
|
128 | context = __VUE_SSR_CONTEXT__
|
129 | }
|
130 |
|
131 | if (injectStyles) {
|
132 | injectStyles.call(this, context)
|
133 | }
|
134 |
|
135 | if (context && context._registeredComponents) {
|
136 | context._registeredComponents.add(moduleIdentifier)
|
137 | }
|
138 | }
|
139 |
|
140 |
|
141 | options._ssrRegister = hook
|
142 | } else if (injectStyles) {
|
143 | hook = injectStyles
|
144 | }
|
145 |
|
146 | if (hook) {
|
147 | var functional = options.functional
|
148 | var existing = functional
|
149 | ? options.render
|
150 | : options.beforeCreate
|
151 |
|
152 | if (!functional) {
|
153 |
|
154 | options.beforeCreate = existing
|
155 | ? [].concat(existing, hook)
|
156 | : [hook]
|
157 | } else {
|
158 |
|
159 |
|
160 | options._injectStyles = hook
|
161 |
|
162 | options.render = function renderWithStyleInjection (h, context) {
|
163 | hook.call(context)
|
164 | return existing(h, context)
|
165 | }
|
166 | }
|
167 | }
|
168 |
|
169 | return {
|
170 | esModule: esModule,
|
171 | exports: scriptExports,
|
172 | options: options
|
173 | }
|
174 | }
|
175 |
|
176 |
|
177 | }),
|
178 |
|
179 | 287:
|
180 | (function(module, exports, __webpack_require__) {
|
181 |
|
182 | "use strict";
|
183 |
|
184 |
|
185 | exports.__esModule = true;
|
186 |
|
187 | var _src = __webpack_require__(288);
|
188 |
|
189 | var _src2 = _interopRequireDefault(_src);
|
190 |
|
191 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
192 |
|
193 |
|
194 | _src2.default.install = function (Vue) {
|
195 | Vue.component(_src2.default.name, _src2.default);
|
196 | };
|
197 |
|
198 | exports.default = _src2.default;
|
199 |
|
200 | }),
|
201 |
|
202 | 288:
|
203 | (function(module, __webpack_exports__, __webpack_require__) {
|
204 |
|
205 | "use strict";
|
206 | Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
|
207 | var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(289);
|
208 | var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_index_vue__);
|
209 | var normalizeComponent = __webpack_require__(0)
|
210 |
|
211 |
|
212 |
|
213 | var __vue_template__ = null
|
214 |
|
215 | var __vue_template_functional__ = false
|
216 |
|
217 | var __vue_styles__ = null
|
218 |
|
219 | var __vue_scopeId__ = null
|
220 |
|
221 | var __vue_module_identifier__ = null
|
222 | var Component = normalizeComponent(
|
223 | __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,
|
224 | __vue_template__,
|
225 | __vue_template_functional__,
|
226 | __vue_styles__,
|
227 | __vue_scopeId__,
|
228 | __vue_module_identifier__
|
229 | )
|
230 |
|
231 | __webpack_exports__["default"] = (Component.exports);
|
232 |
|
233 |
|
234 | }),
|
235 |
|
236 | 289:
|
237 | (function(module, exports, __webpack_require__) {
|
238 |
|
239 | "use strict";
|
240 |
|
241 |
|
242 | exports.__esModule = true;
|
243 |
|
244 | var _uploadList = __webpack_require__(290);
|
245 |
|
246 | var _uploadList2 = _interopRequireDefault(_uploadList);
|
247 |
|
248 | var _upload = __webpack_require__(293);
|
249 |
|
250 | var _upload2 = _interopRequireDefault(_upload);
|
251 |
|
252 | var _progress = __webpack_require__(52);
|
253 |
|
254 | var _progress2 = _interopRequireDefault(_progress);
|
255 |
|
256 | var _migrating = __webpack_require__(8);
|
257 |
|
258 | var _migrating2 = _interopRequireDefault(_migrating);
|
259 |
|
260 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
261 |
|
262 | function noop() {}
|
263 |
|
264 | exports.default = {
|
265 | name: 'ElUpload',
|
266 |
|
267 | mixins: [_migrating2.default],
|
268 |
|
269 | components: {
|
270 | ElProgress: _progress2.default,
|
271 | UploadList: _uploadList2.default,
|
272 | Upload: _upload2.default
|
273 | },
|
274 |
|
275 | provide: function provide() {
|
276 | return {
|
277 | uploader: this
|
278 | };
|
279 | },
|
280 |
|
281 |
|
282 | inject: {
|
283 | elForm: {
|
284 | default: ''
|
285 | }
|
286 | },
|
287 |
|
288 | props: {
|
289 | action: {
|
290 | type: String,
|
291 | required: true
|
292 | },
|
293 | headers: {
|
294 | type: Object,
|
295 | default: function _default() {
|
296 | return {};
|
297 | }
|
298 | },
|
299 | data: Object,
|
300 | multiple: Boolean,
|
301 | name: {
|
302 | type: String,
|
303 | default: 'file'
|
304 | },
|
305 | drag: Boolean,
|
306 | dragger: Boolean,
|
307 | withCredentials: Boolean,
|
308 | showFileList: {
|
309 | type: Boolean,
|
310 | default: true
|
311 | },
|
312 | accept: String,
|
313 | type: {
|
314 | type: String,
|
315 | default: 'select'
|
316 | },
|
317 | beforeUpload: Function,
|
318 | beforeRemove: Function,
|
319 | onRemove: {
|
320 | type: Function,
|
321 | default: noop
|
322 | },
|
323 | onChange: {
|
324 | type: Function,
|
325 | default: noop
|
326 | },
|
327 | onPreview: {
|
328 | type: Function
|
329 | },
|
330 | onSuccess: {
|
331 | type: Function,
|
332 | default: noop
|
333 | },
|
334 | onProgress: {
|
335 | type: Function,
|
336 | default: noop
|
337 | },
|
338 | onError: {
|
339 | type: Function,
|
340 | default: noop
|
341 | },
|
342 | fileList: {
|
343 | type: Array,
|
344 | default: function _default() {
|
345 | return [];
|
346 | }
|
347 | },
|
348 | autoUpload: {
|
349 | type: Boolean,
|
350 | default: true
|
351 | },
|
352 | listType: {
|
353 | type: String,
|
354 | default: 'text'
|
355 | },
|
356 | httpRequest: Function,
|
357 | disabled: Boolean,
|
358 | limit: Number,
|
359 | onExceed: {
|
360 | type: Function,
|
361 | default: noop
|
362 | }
|
363 | },
|
364 |
|
365 | data: function data() {
|
366 | return {
|
367 | uploadFiles: [],
|
368 | dragOver: false,
|
369 | draging: false,
|
370 | tempIndex: 1
|
371 | };
|
372 | },
|
373 |
|
374 |
|
375 | computed: {
|
376 | uploadDisabled: function uploadDisabled() {
|
377 | return this.disabled || (this.elForm || {}).disabled;
|
378 | }
|
379 | },
|
380 |
|
381 | watch: {
|
382 | fileList: {
|
383 | immediate: true,
|
384 | handler: function handler(fileList) {
|
385 | var _this = this;
|
386 |
|
387 | this.uploadFiles = fileList.map(function (item) {
|
388 | item.uid = item.uid || Date.now() + _this.tempIndex++;
|
389 | item.status = item.status || 'success';
|
390 | return item;
|
391 | });
|
392 | }
|
393 | }
|
394 | },
|
395 |
|
396 | methods: {
|
397 | handleStart: function handleStart(rawFile) {
|
398 | rawFile.uid = Date.now() + this.tempIndex++;
|
399 | var file = {
|
400 | status: 'ready',
|
401 | name: rawFile.name,
|
402 | size: rawFile.size,
|
403 | percentage: 0,
|
404 | uid: rawFile.uid,
|
405 | raw: rawFile
|
406 | };
|
407 |
|
408 | if (this.listType === 'picture-card' || this.listType === 'picture') {
|
409 | try {
|
410 | file.url = URL.createObjectURL(rawFile);
|
411 | } catch (err) {
|
412 | console.error('[Element Error][Upload]', err);
|
413 | return;
|
414 | }
|
415 | }
|
416 |
|
417 | this.uploadFiles.push(file);
|
418 | this.onChange(file, this.uploadFiles);
|
419 | },
|
420 | handleProgress: function handleProgress(ev, rawFile) {
|
421 | var file = this.getFile(rawFile);
|
422 | this.onProgress(ev, file, this.uploadFiles);
|
423 | file.status = 'uploading';
|
424 | file.percentage = ev.percent || 0;
|
425 | },
|
426 | handleSuccess: function handleSuccess(res, rawFile) {
|
427 | var file = this.getFile(rawFile);
|
428 |
|
429 | if (file) {
|
430 | file.status = 'success';
|
431 | file.response = res;
|
432 |
|
433 | this.onSuccess(res, file, this.uploadFiles);
|
434 | this.onChange(file, this.uploadFiles);
|
435 | }
|
436 | },
|
437 | handleError: function handleError(err, rawFile) {
|
438 | var file = this.getFile(rawFile);
|
439 | var fileList = this.uploadFiles;
|
440 |
|
441 | file.status = 'fail';
|
442 |
|
443 | fileList.splice(fileList.indexOf(file), 1);
|
444 |
|
445 | this.onError(err, file, this.uploadFiles);
|
446 | this.onChange(file, this.uploadFiles);
|
447 | },
|
448 | handleRemove: function handleRemove(file, raw) {
|
449 | var _this2 = this;
|
450 |
|
451 | if (raw) {
|
452 | file = this.getFile(raw);
|
453 | }
|
454 | var doRemove = function doRemove() {
|
455 | _this2.abort(file);
|
456 | var fileList = _this2.uploadFiles;
|
457 | fileList.splice(fileList.indexOf(file), 1);
|
458 | _this2.onRemove(file, fileList);
|
459 | };
|
460 |
|
461 | if (!this.beforeRemove) {
|
462 | doRemove();
|
463 | } else if (typeof this.beforeRemove === 'function') {
|
464 | var before = this.beforeRemove(file, this.uploadFiles);
|
465 | if (before && before.then) {
|
466 | before.then(function () {
|
467 | doRemove();
|
468 | }, noop);
|
469 | } else if (before !== false) {
|
470 | doRemove();
|
471 | }
|
472 | }
|
473 | },
|
474 | getFile: function getFile(rawFile) {
|
475 | var fileList = this.uploadFiles;
|
476 | var target = void 0;
|
477 | fileList.every(function (item) {
|
478 | target = rawFile.uid === item.uid ? item : null;
|
479 | return !target;
|
480 | });
|
481 | return target;
|
482 | },
|
483 | abort: function abort(file) {
|
484 | this.$refs['upload-inner'].abort(file);
|
485 | },
|
486 | clearFiles: function clearFiles() {
|
487 | this.uploadFiles = [];
|
488 | },
|
489 | submit: function submit() {
|
490 | var _this3 = this;
|
491 |
|
492 | this.uploadFiles.filter(function (file) {
|
493 | return file.status === 'ready';
|
494 | }).forEach(function (file) {
|
495 | _this3.$refs['upload-inner'].upload(file.raw);
|
496 | });
|
497 | },
|
498 | getMigratingConfig: function getMigratingConfig() {
|
499 | return {
|
500 | props: {
|
501 | 'default-file-list': 'default-file-list is renamed to file-list.',
|
502 | 'show-upload-list': 'show-upload-list is renamed to show-file-list.',
|
503 | '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'
|
504 | }
|
505 | };
|
506 | }
|
507 | },
|
508 |
|
509 | beforeDestroy: function beforeDestroy() {
|
510 | this.uploadFiles.forEach(function (file) {
|
511 | if (file.url && file.url.indexOf('blob:') === 0) {
|
512 | URL.revokeObjectURL(file.url);
|
513 | }
|
514 | });
|
515 | },
|
516 | render: function render(h) {
|
517 | var uploadList = void 0;
|
518 |
|
519 | if (this.showFileList) {
|
520 | uploadList = h(
|
521 | _uploadList2.default,
|
522 | {
|
523 | attrs: {
|
524 | disabled: this.uploadDisabled,
|
525 | listType: this.listType,
|
526 | files: this.uploadFiles,
|
527 |
|
528 | handlePreview: this.onPreview },
|
529 | on: {
|
530 | 'remove': this.handleRemove
|
531 | }
|
532 | },
|
533 | []
|
534 | );
|
535 | }
|
536 |
|
537 | var uploadData = {
|
538 | props: {
|
539 | type: this.type,
|
540 | drag: this.drag,
|
541 | action: this.action,
|
542 | multiple: this.multiple,
|
543 | 'before-upload': this.beforeUpload,
|
544 | 'with-credentials': this.withCredentials,
|
545 | headers: this.headers,
|
546 | name: this.name,
|
547 | data: this.data,
|
548 | accept: this.accept,
|
549 | fileList: this.uploadFiles,
|
550 | autoUpload: this.autoUpload,
|
551 | listType: this.listType,
|
552 | disabled: this.uploadDisabled,
|
553 | limit: this.limit,
|
554 | 'on-exceed': this.onExceed,
|
555 | 'on-start': this.handleStart,
|
556 | 'on-progress': this.handleProgress,
|
557 | 'on-success': this.handleSuccess,
|
558 | 'on-error': this.handleError,
|
559 | 'on-preview': this.onPreview,
|
560 | 'on-remove': this.handleRemove,
|
561 | 'http-request': this.httpRequest
|
562 | },
|
563 | ref: 'upload-inner'
|
564 | };
|
565 |
|
566 | var trigger = this.$slots.trigger || this.$slots.default;
|
567 | var uploadComponent = h(
|
568 | 'upload',
|
569 | uploadData,
|
570 | [trigger]
|
571 | );
|
572 |
|
573 | return h(
|
574 | 'div',
|
575 | null,
|
576 | [this.listType === 'picture-card' ? uploadList : '', this.$slots.trigger ? [uploadComponent, this.$slots.default] : uploadComponent, this.$slots.tip, this.listType !== 'picture-card' ? uploadList : '']
|
577 | );
|
578 | }
|
579 | };
|
580 |
|
581 | }),
|
582 |
|
583 | 290:
|
584 | (function(module, __webpack_exports__, __webpack_require__) {
|
585 |
|
586 | "use strict";
|
587 | Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
|
588 | var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_list_vue__ = __webpack_require__(291);
|
589 | var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_list_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_list_vue__);
|
590 | var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_1062ab12_hasScoped_false_preserveWhitespace_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_upload_list_vue__ = __webpack_require__(292);
|
591 | var normalizeComponent = __webpack_require__(0)
|
592 |
|
593 |
|
594 |
|
595 |
|
596 |
|
597 | var __vue_template_functional__ = false
|
598 |
|
599 | var __vue_styles__ = null
|
600 |
|
601 | var __vue_scopeId__ = null
|
602 |
|
603 | var __vue_module_identifier__ = null
|
604 | var Component = normalizeComponent(
|
605 | __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_list_vue___default.a,
|
606 | __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_1062ab12_hasScoped_false_preserveWhitespace_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_upload_list_vue__["a" ],
|
607 | __vue_template_functional__,
|
608 | __vue_styles__,
|
609 | __vue_scopeId__,
|
610 | __vue_module_identifier__
|
611 | )
|
612 |
|
613 | __webpack_exports__["default"] = (Component.exports);
|
614 |
|
615 |
|
616 | }),
|
617 |
|
618 | 291:
|
619 | (function(module, exports, __webpack_require__) {
|
620 |
|
621 | "use strict";
|
622 |
|
623 |
|
624 | exports.__esModule = true;
|
625 |
|
626 | var _locale = __webpack_require__(5);
|
627 |
|
628 | var _locale2 = _interopRequireDefault(_locale);
|
629 |
|
630 | var _progress = __webpack_require__(52);
|
631 |
|
632 | var _progress2 = _interopRequireDefault(_progress);
|
633 |
|
634 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
635 |
|
636 |
|
637 |
|
638 |
|
639 |
|
640 |
|
641 |
|
642 |
|
643 |
|
644 |
|
645 |
|
646 |
|
647 |
|
648 |
|
649 |
|
650 |
|
651 |
|
652 |
|
653 |
|
654 |
|
655 |
|
656 |
|
657 |
|
658 |
|
659 |
|
660 |
|
661 |
|
662 |
|
663 |
|
664 |
|
665 |
|
666 |
|
667 |
|
668 |
|
669 |
|
670 |
|
671 |
|
672 |
|
673 |
|
674 |
|
675 |
|
676 |
|
677 |
|
678 |
|
679 |
|
680 |
|
681 |
|
682 |
|
683 |
|
684 |
|
685 |
|
686 |
|
687 |
|
688 |
|
689 |
|
690 |
|
691 |
|
692 |
|
693 |
|
694 |
|
695 |
|
696 |
|
697 |
|
698 |
|
699 | exports.default = {
|
700 | mixins: [_locale2.default],
|
701 |
|
702 | data: function data() {
|
703 | return {
|
704 | focusing: false
|
705 | };
|
706 | },
|
707 |
|
708 | components: { ElProgress: _progress2.default },
|
709 |
|
710 | props: {
|
711 | files: {
|
712 | type: Array,
|
713 | default: function _default() {
|
714 | return [];
|
715 | }
|
716 | },
|
717 | disabled: {
|
718 | type: Boolean,
|
719 | default: false
|
720 | },
|
721 | handlePreview: Function,
|
722 | listType: String
|
723 | },
|
724 | methods: {
|
725 | parsePercentage: function parsePercentage(val) {
|
726 | return parseInt(val, 10);
|
727 | },
|
728 | handleClick: function handleClick(file) {
|
729 | this.handlePreview && this.handlePreview(file);
|
730 | }
|
731 | }
|
732 | };
|
733 |
|
734 | }),
|
735 |
|
736 | 292:
|
737 | (function(module, __webpack_exports__, __webpack_require__) {
|
738 |
|
739 | "use strict";
|
740 | var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition-group',{class:[
|
741 | 'el-upload-list',
|
742 | 'el-upload-list--' + _vm.listType,
|
743 | { 'is-disabled': _vm.disabled }
|
744 | ],attrs:{"tag":"ul","name":"el-list"}},_vm._l((_vm.files),function(file,index){return _c('li',{key:index,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)){ 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}}},[(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:{
|
745 | 'el-icon-upload-success': true,
|
746 | 'el-icon-circle-check': _vm.listType === 'text',
|
747 | 'el-icon-check': ['picture-card', 'picture'].indexOf(_vm.listType) > -1
|
748 | }})]),(!_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()],1)}))}
|
749 | var staticRenderFns = []
|
750 | var esExports = { render: render, staticRenderFns: staticRenderFns }
|
751 | __webpack_exports__["a"] = (esExports);
|
752 |
|
753 | }),
|
754 |
|
755 | 293:
|
756 | (function(module, __webpack_exports__, __webpack_require__) {
|
757 |
|
758 | "use strict";
|
759 | Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
|
760 | var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_vue__ = __webpack_require__(294);
|
761 | var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_vue__);
|
762 | var normalizeComponent = __webpack_require__(0)
|
763 |
|
764 |
|
765 |
|
766 | var __vue_template__ = null
|
767 |
|
768 | var __vue_template_functional__ = false
|
769 |
|
770 | var __vue_styles__ = null
|
771 |
|
772 | var __vue_scopeId__ = null
|
773 |
|
774 | var __vue_module_identifier__ = null
|
775 | var Component = normalizeComponent(
|
776 | __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_vue___default.a,
|
777 | __vue_template__,
|
778 | __vue_template_functional__,
|
779 | __vue_styles__,
|
780 | __vue_scopeId__,
|
781 | __vue_module_identifier__
|
782 | )
|
783 |
|
784 | __webpack_exports__["default"] = (Component.exports);
|
785 |
|
786 |
|
787 | }),
|
788 |
|
789 | 294:
|
790 | (function(module, exports, __webpack_require__) {
|
791 |
|
792 | "use strict";
|
793 |
|
794 |
|
795 | exports.__esModule = true;
|
796 |
|
797 | var _babelHelperVueJsxMergeProps = __webpack_require__(45);
|
798 |
|
799 | var _babelHelperVueJsxMergeProps2 = _interopRequireDefault(_babelHelperVueJsxMergeProps);
|
800 |
|
801 | var _ajax = __webpack_require__(295);
|
802 |
|
803 | var _ajax2 = _interopRequireDefault(_ajax);
|
804 |
|
805 | var _uploadDragger = __webpack_require__(296);
|
806 |
|
807 | var _uploadDragger2 = _interopRequireDefault(_uploadDragger);
|
808 |
|
809 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
810 |
|
811 | exports.default = {
|
812 | inject: ['uploader'],
|
813 | components: {
|
814 | UploadDragger: _uploadDragger2.default
|
815 | },
|
816 | props: {
|
817 | type: String,
|
818 | action: {
|
819 | type: String,
|
820 | required: true
|
821 | },
|
822 | name: {
|
823 | type: String,
|
824 | default: 'file'
|
825 | },
|
826 | data: Object,
|
827 | headers: Object,
|
828 | withCredentials: Boolean,
|
829 | multiple: Boolean,
|
830 | accept: String,
|
831 | onStart: Function,
|
832 | onProgress: Function,
|
833 | onSuccess: Function,
|
834 | onError: Function,
|
835 | beforeUpload: Function,
|
836 | drag: Boolean,
|
837 | onPreview: {
|
838 | type: Function,
|
839 | default: function _default() {}
|
840 | },
|
841 | onRemove: {
|
842 | type: Function,
|
843 | default: function _default() {}
|
844 | },
|
845 | fileList: Array,
|
846 | autoUpload: Boolean,
|
847 | listType: String,
|
848 | httpRequest: {
|
849 | type: Function,
|
850 | default: _ajax2.default
|
851 | },
|
852 | disabled: Boolean,
|
853 | limit: Number,
|
854 | onExceed: Function
|
855 | },
|
856 |
|
857 | data: function data() {
|
858 | return {
|
859 | mouseover: false,
|
860 | reqs: {}
|
861 | };
|
862 | },
|
863 |
|
864 |
|
865 | methods: {
|
866 | isImage: function isImage(str) {
|
867 | return str.indexOf('image') !== -1;
|
868 | },
|
869 | handleChange: function handleChange(ev) {
|
870 | var files = ev.target.files;
|
871 |
|
872 | if (!files) return;
|
873 | this.uploadFiles(files);
|
874 | },
|
875 | uploadFiles: function uploadFiles(files) {
|
876 | var _this = this;
|
877 |
|
878 | if (this.limit && this.fileList.length + files.length > this.limit) {
|
879 | this.onExceed && this.onExceed(files, this.fileList);
|
880 | return;
|
881 | }
|
882 |
|
883 | var postFiles = Array.prototype.slice.call(files);
|
884 | if (!this.multiple) {
|
885 | postFiles = postFiles.slice(0, 1);
|
886 | }
|
887 |
|
888 | if (postFiles.length === 0) {
|
889 | return;
|
890 | }
|
891 |
|
892 | postFiles.forEach(function (rawFile) {
|
893 | _this.onStart(rawFile);
|
894 | if (_this.autoUpload) _this.upload(rawFile);
|
895 | });
|
896 | },
|
897 | upload: function upload(rawFile) {
|
898 | var _this2 = this;
|
899 |
|
900 | this.$refs.input.value = null;
|
901 |
|
902 | if (!this.beforeUpload) {
|
903 | return this.post(rawFile);
|
904 | }
|
905 |
|
906 | var before = this.beforeUpload(rawFile);
|
907 | if (before && before.then) {
|
908 | before.then(function (processedFile) {
|
909 | var fileType = Object.prototype.toString.call(processedFile);
|
910 |
|
911 | if (fileType === '[object File]' || fileType === '[object Blob]') {
|
912 | if (fileType === '[object Blob]') {
|
913 | processedFile = new File([processedFile], rawFile.name, {
|
914 | type: rawFile.type
|
915 | });
|
916 | }
|
917 | for (var p in rawFile) {
|
918 | if (rawFile.hasOwnProperty(p)) {
|
919 | processedFile[p] = rawFile[p];
|
920 | }
|
921 | }
|
922 | _this2.post(processedFile);
|
923 | } else {
|
924 | _this2.post(rawFile);
|
925 | }
|
926 | }, function () {
|
927 | _this2.onRemove(null, rawFile);
|
928 | });
|
929 | } else if (before !== false) {
|
930 | this.post(rawFile);
|
931 | } else {
|
932 | this.onRemove(null, rawFile);
|
933 | }
|
934 | },
|
935 | abort: function abort(file) {
|
936 | var reqs = this.reqs;
|
937 |
|
938 | if (file) {
|
939 | var uid = file;
|
940 | if (file.uid) uid = file.uid;
|
941 | if (reqs[uid]) {
|
942 | reqs[uid].abort();
|
943 | }
|
944 | } else {
|
945 | Object.keys(reqs).forEach(function (uid) {
|
946 | if (reqs[uid]) reqs[uid].abort();
|
947 | delete reqs[uid];
|
948 | });
|
949 | }
|
950 | },
|
951 | post: function post(rawFile) {
|
952 | var _this3 = this;
|
953 |
|
954 | var uid = rawFile.uid;
|
955 |
|
956 | var options = {
|
957 | headers: this.headers,
|
958 | withCredentials: this.withCredentials,
|
959 | file: rawFile,
|
960 | data: this.data,
|
961 | filename: this.name,
|
962 | action: this.action,
|
963 | onProgress: function onProgress(e) {
|
964 | _this3.onProgress(e, rawFile);
|
965 | },
|
966 | onSuccess: function onSuccess(res) {
|
967 | _this3.onSuccess(res, rawFile);
|
968 | delete _this3.reqs[uid];
|
969 | },
|
970 | onError: function onError(err) {
|
971 | _this3.onError(err, rawFile);
|
972 | delete _this3.reqs[uid];
|
973 | }
|
974 | };
|
975 | var req = this.httpRequest(options);
|
976 | this.reqs[uid] = req;
|
977 | if (req && req.then) {
|
978 | req.then(options.onSuccess, options.onError);
|
979 | }
|
980 | },
|
981 | handleClick: function handleClick() {
|
982 | if (!this.disabled) {
|
983 | this.$refs.input.value = null;
|
984 | this.$refs.input.click();
|
985 | }
|
986 | },
|
987 | handleKeydown: function handleKeydown(e) {
|
988 | if (e.target !== e.currentTarget) return;
|
989 | if (e.keyCode === 13 || e.keyCode === 32) {
|
990 | this.handleClick();
|
991 | }
|
992 | }
|
993 | },
|
994 |
|
995 | render: function render(h) {
|
996 | var handleClick = this.handleClick,
|
997 | drag = this.drag,
|
998 | name = this.name,
|
999 | handleChange = this.handleChange,
|
1000 | multiple = this.multiple,
|
1001 | accept = this.accept,
|
1002 | listType = this.listType,
|
1003 | uploadFiles = this.uploadFiles,
|
1004 | disabled = this.disabled,
|
1005 | handleKeydown = this.handleKeydown;
|
1006 |
|
1007 | var data = {
|
1008 | class: {
|
1009 | 'el-upload': true
|
1010 | },
|
1011 | on: {
|
1012 | click: handleClick,
|
1013 | keydown: handleKeydown
|
1014 | }
|
1015 | };
|
1016 | data.class['el-upload--' + listType] = true;
|
1017 | return h(
|
1018 | 'div',
|
1019 | (0, _babelHelperVueJsxMergeProps2.default)([data, {
|
1020 | attrs: { tabindex: '0' }
|
1021 | }]),
|
1022 | [drag ? h(
|
1023 | 'upload-dragger',
|
1024 | {
|
1025 | attrs: { disabled: disabled },
|
1026 | on: {
|
1027 | 'file': uploadFiles
|
1028 | }
|
1029 | },
|
1030 | [this.$slots.default]
|
1031 | ) : this.$slots.default, h(
|
1032 | 'input',
|
1033 | { 'class': 'el-upload__input', attrs: { type: 'file', name: name, multiple: multiple, accept: accept },
|
1034 | ref: 'input', on: {
|
1035 | 'change': handleChange
|
1036 | }
|
1037 | },
|
1038 | []
|
1039 | )]
|
1040 | );
|
1041 | }
|
1042 | };
|
1043 |
|
1044 | }),
|
1045 |
|
1046 | 295:
|
1047 | (function(module, exports, __webpack_require__) {
|
1048 |
|
1049 | "use strict";
|
1050 |
|
1051 |
|
1052 | exports.__esModule = true;
|
1053 | exports.default = upload;
|
1054 | function getError(action, option, xhr) {
|
1055 | var msg = void 0;
|
1056 | if (xhr.response) {
|
1057 | msg = '' + (xhr.response.error || xhr.response);
|
1058 | } else if (xhr.responseText) {
|
1059 | msg = '' + xhr.responseText;
|
1060 | } else {
|
1061 | msg = 'fail to post ' + action + ' ' + xhr.status;
|
1062 | }
|
1063 |
|
1064 | var err = new Error(msg);
|
1065 | err.status = xhr.status;
|
1066 | err.method = 'post';
|
1067 | err.url = action;
|
1068 | return err;
|
1069 | }
|
1070 |
|
1071 | function getBody(xhr) {
|
1072 | var text = xhr.responseText || xhr.response;
|
1073 | if (!text) {
|
1074 | return text;
|
1075 | }
|
1076 |
|
1077 | try {
|
1078 | return JSON.parse(text);
|
1079 | } catch (e) {
|
1080 | return text;
|
1081 | }
|
1082 | }
|
1083 |
|
1084 | function upload(option) {
|
1085 | if (typeof XMLHttpRequest === 'undefined') {
|
1086 | return;
|
1087 | }
|
1088 |
|
1089 | var xhr = new XMLHttpRequest();
|
1090 | var action = option.action;
|
1091 |
|
1092 | if (xhr.upload) {
|
1093 | xhr.upload.onprogress = function progress(e) {
|
1094 | if (e.total > 0) {
|
1095 | e.percent = e.loaded / e.total * 100;
|
1096 | }
|
1097 | option.onProgress(e);
|
1098 | };
|
1099 | }
|
1100 |
|
1101 | var formData = new FormData();
|
1102 |
|
1103 | if (option.data) {
|
1104 | Object.keys(option.data).forEach(function (key) {
|
1105 | formData.append(key, option.data[key]);
|
1106 | });
|
1107 | }
|
1108 |
|
1109 | formData.append(option.filename, option.file, option.file.name);
|
1110 |
|
1111 | xhr.onerror = function error(e) {
|
1112 | option.onError(e);
|
1113 | };
|
1114 |
|
1115 | xhr.onload = function onload() {
|
1116 | if (xhr.status < 200 || xhr.status >= 300) {
|
1117 | return option.onError(getError(action, option, xhr));
|
1118 | }
|
1119 |
|
1120 | option.onSuccess(getBody(xhr));
|
1121 | };
|
1122 |
|
1123 | xhr.open('post', action, true);
|
1124 |
|
1125 | if (option.withCredentials && 'withCredentials' in xhr) {
|
1126 | xhr.withCredentials = true;
|
1127 | }
|
1128 |
|
1129 | var headers = option.headers || {};
|
1130 |
|
1131 | for (var item in headers) {
|
1132 | if (headers.hasOwnProperty(item) && headers[item] !== null) {
|
1133 | xhr.setRequestHeader(item, headers[item]);
|
1134 | }
|
1135 | }
|
1136 | xhr.send(formData);
|
1137 | return xhr;
|
1138 | }
|
1139 |
|
1140 | }),
|
1141 |
|
1142 | 296:
|
1143 | (function(module, __webpack_exports__, __webpack_require__) {
|
1144 |
|
1145 | "use strict";
|
1146 | Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
|
1147 | var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_dragger_vue__ = __webpack_require__(297);
|
1148 | var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_dragger_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_dragger_vue__);
|
1149 | var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_9f5d7848_hasScoped_false_preserveWhitespace_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_upload_dragger_vue__ = __webpack_require__(298);
|
1150 | var normalizeComponent = __webpack_require__(0)
|
1151 |
|
1152 |
|
1153 |
|
1154 |
|
1155 |
|
1156 | var __vue_template_functional__ = false
|
1157 |
|
1158 | var __vue_styles__ = null
|
1159 |
|
1160 | var __vue_scopeId__ = null
|
1161 |
|
1162 | var __vue_module_identifier__ = null
|
1163 | var Component = normalizeComponent(
|
1164 | __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_dragger_vue___default.a,
|
1165 | __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_9f5d7848_hasScoped_false_preserveWhitespace_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_upload_dragger_vue__["a" ],
|
1166 | __vue_template_functional__,
|
1167 | __vue_styles__,
|
1168 | __vue_scopeId__,
|
1169 | __vue_module_identifier__
|
1170 | )
|
1171 |
|
1172 | __webpack_exports__["default"] = (Component.exports);
|
1173 |
|
1174 |
|
1175 | }),
|
1176 |
|
1177 | 297:
|
1178 | (function(module, exports, __webpack_require__) {
|
1179 |
|
1180 | "use strict";
|
1181 |
|
1182 |
|
1183 | exports.__esModule = true;
|
1184 |
|
1185 |
|
1186 |
|
1187 |
|
1188 |
|
1189 |
|
1190 |
|
1191 |
|
1192 |
|
1193 |
|
1194 |
|
1195 |
|
1196 |
|
1197 |
|
1198 | exports.default = {
|
1199 | name: 'ElUploadDrag',
|
1200 | props: {
|
1201 | disabled: Boolean
|
1202 | },
|
1203 | inject: {
|
1204 | uploader: {
|
1205 | default: ''
|
1206 | }
|
1207 | },
|
1208 | data: function data() {
|
1209 | return {
|
1210 | dragover: false
|
1211 | };
|
1212 | },
|
1213 |
|
1214 | methods: {
|
1215 | onDragover: function onDragover() {
|
1216 | if (!this.disabled) {
|
1217 | this.dragover = true;
|
1218 | }
|
1219 | },
|
1220 | onDrop: function onDrop(e) {
|
1221 | if (this.disabled || !this.uploader) return;
|
1222 | var accept = this.uploader.accept;
|
1223 | this.dragover = false;
|
1224 | if (!accept) {
|
1225 | this.$emit('file', e.dataTransfer.files);
|
1226 | return;
|
1227 | }
|
1228 | this.$emit('file', [].slice.call(e.dataTransfer.files).filter(function (file) {
|
1229 | var type = file.type,
|
1230 | name = file.name;
|
1231 |
|
1232 | var extension = name.indexOf('.') > -1 ? '.' + name.split('.').pop() : '';
|
1233 | var baseType = type.replace(/\/.*$/, '');
|
1234 | return accept.split(',').map(function (type) {
|
1235 | return type.trim();
|
1236 | }).filter(function (type) {
|
1237 | return type;
|
1238 | }).some(function (acceptedType) {
|
1239 | if (/\..+$/.test(acceptedType)) {
|
1240 | return extension === acceptedType;
|
1241 | }
|
1242 | if (/\/\*$/.test(acceptedType)) {
|
1243 | return baseType === acceptedType.replace(/\/\*$/, '');
|
1244 | }
|
1245 | if (/^[^\/]+\/[^\/]+$/.test(acceptedType)) {
|
1246 | return type === acceptedType;
|
1247 | }
|
1248 | return false;
|
1249 | });
|
1250 | }));
|
1251 | }
|
1252 | }
|
1253 | };
|
1254 |
|
1255 | }),
|
1256 |
|
1257 | 298:
|
1258 | (function(module, __webpack_exports__, __webpack_require__) {
|
1259 |
|
1260 | "use strict";
|
1261 | var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"el-upload-dragger",class:{
|
1262 | 'is-dragover': _vm.dragover
|
1263 | },on:{"drop":function($event){$event.preventDefault();_vm.onDrop($event)},"dragover":function($event){$event.preventDefault();_vm.onDragover($event)},"dragleave":function($event){$event.preventDefault();_vm.dragover = false}}},[_vm._t("default")],2)}
|
1264 | var staticRenderFns = []
|
1265 | var esExports = { render: render, staticRenderFns: staticRenderFns }
|
1266 | __webpack_exports__["a"] = (esExports);
|
1267 |
|
1268 | }),
|
1269 |
|
1270 | 45:
|
1271 | (function(module, exports) {
|
1272 |
|
1273 | module.exports = require("babel-helper-vue-jsx-merge-props");
|
1274 |
|
1275 | }),
|
1276 |
|
1277 | 5:
|
1278 | (function(module, exports) {
|
1279 |
|
1280 | module.exports = require("element-ui/lib/mixins/locale");
|
1281 |
|
1282 | }),
|
1283 |
|
1284 | 52:
|
1285 | (function(module, exports) {
|
1286 |
|
1287 | module.exports = require("element-ui/lib/progress");
|
1288 |
|
1289 | }),
|
1290 |
|
1291 | 8:
|
1292 | (function(module, exports) {
|
1293 |
|
1294 | module.exports = require("element-ui/lib/mixins/migrating");
|
1295 |
|
1296 | })
|
1297 |
|
1298 | }); |
\ | No newline at end of file |