Add Drop folder #32

master
git 9 years ago
parent 5b26b07b2d
commit 4d43a30f5c

52
dist/example.js vendored

@ -8357,7 +8357,6 @@
}, },
value: function value(_value) { value: function value(_value) {
if (this.files != _value && !this.input) { if (this.files != _value && !this.input) {
console.log('ww');
this.files = _value; this.files = _value;
} }
}, },
@ -8548,6 +8547,35 @@
el: el el: el
}); });
}, },
addEntry: function addEntry(entry) {
var _this3 = this;
var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
if (entry.isFile) {
entry.file(function (file) {
_this3.add({
size: file.size,
name: path + file.name,
type: file.type,
file: file
});
});
return 1;
} else if (entry.isDirectory) {
var count = 0;
entry.createReader().readEntries(function (entrys) {
for (var i = 0; i < entrys.length; i++) {
count += _this3.addEntry(entrys[i], path + entry.name + '/');
if (count && !_this3.multiple) {
break;
}
}
});
return count;
}
return 0;
},
upload: function upload(file) { upload: function upload(file) {
if (!(file = this.get(file))) { if (!(file = this.get(file))) {
return _promise2.default.reject(new Error('not_exists')); return _promise2.default.reject(new Error('not_exists'));
@ -8975,9 +9003,25 @@
onDrop: function onDrop(e) { onDrop: function onDrop(e) {
e.preventDefault(); e.preventDefault();
this.dropActive = false; this.dropActive = false;
if (e.dataTransfer.files.length) { var dataTransfer = e.dataTransfer;
for (var i = 0; i < e.dataTransfer.files.length; i++) {
var _file2 = e.dataTransfer.files[i]; if (dataTransfer.items && dataTransfer.items.length) {
for (var i = 0; i < dataTransfer.items.length; i++) {
var item = dataTransfer.items[i];
if (item.getAsEntry) {
this.addEntry(item.getAsEntry());
} else if (item.webkitGetAsEntry) {
this.addEntry(item.webkitGetAsEntry());
} else {
this.add(item.getAsFile());
}
if (!this.multiple) {
break;
}
}
} else if (dataTransfer.files.length) {
for (var _i = 0; _i < dataTransfer.files.length; _i++) {
var _file2 = dataTransfer.files[_i];
this.add(_file2); this.add(_file2);
if (!this.multiple) { if (!this.multiple) {
break; break;

File diff suppressed because one or more lines are too long

@ -1040,7 +1040,6 @@ module.exports =
}, },
value: function value(_value) { value: function value(_value) {
if (this.files != _value && !this.input) { if (this.files != _value && !this.input) {
console.log('ww');
this.files = _value; this.files = _value;
} }
}, },
@ -1231,6 +1230,35 @@ module.exports =
el: el el: el
}); });
}, },
addEntry: function addEntry(entry) {
var _this3 = this;
var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
if (entry.isFile) {
entry.file(function (file) {
_this3.add({
size: file.size,
name: path + file.name,
type: file.type,
file: file
});
});
return 1;
} else if (entry.isDirectory) {
var count = 0;
entry.createReader().readEntries(function (entrys) {
for (var i = 0; i < entrys.length; i++) {
count += _this3.addEntry(entrys[i], path + entry.name + '/');
if (count && !_this3.multiple) {
break;
}
}
});
return count;
}
return 0;
},
upload: function upload(file) { upload: function upload(file) {
if (!(file = this.get(file))) { if (!(file = this.get(file))) {
return _promise2.default.reject(new Error('not_exists')); return _promise2.default.reject(new Error('not_exists'));
@ -1658,9 +1686,25 @@ module.exports =
onDrop: function onDrop(e) { onDrop: function onDrop(e) {
e.preventDefault(); e.preventDefault();
this.dropActive = false; this.dropActive = false;
if (e.dataTransfer.files.length) { var dataTransfer = e.dataTransfer;
for (var i = 0; i < e.dataTransfer.files.length; i++) {
var _file2 = e.dataTransfer.files[i]; if (dataTransfer.items && dataTransfer.items.length) {
for (var i = 0; i < dataTransfer.items.length; i++) {
var item = dataTransfer.items[i];
if (item.getAsEntry) {
this.addEntry(item.getAsEntry());
} else if (item.webkitGetAsEntry) {
this.addEntry(item.webkitGetAsEntry());
} else {
this.add(item.getAsFile());
}
if (!this.multiple) {
break;
}
}
} else if (dataTransfer.files.length) {
for (var _i = 0; _i < dataTransfer.files.length; _i++) {
var _file2 = dataTransfer.files[_i];
this.add(_file2); this.add(_file2);
if (!this.multiple) { if (!this.multiple) {
break; break;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1,7 +1,7 @@
{ {
"name": "vue-upload-component", "name": "vue-upload-component",
"description": "Vue.js file upload component, Support for multiple file uploads, progress, html5, html4, support ie9", "description": "Vue.js file upload component, Support for multiple file uploads, progress, html5, html4, support ie9",
"version": "2.4.0-beta.1", "version": "2.4.0-beta.2",
"author": "LianYue", "author": "LianYue",
"scripts": { "scripts": {
"dev": "webpack-dev-server --inline --hot", "dev": "webpack-dev-server --inline --hot",

@ -173,7 +173,6 @@ export default {
}, },
value(value) { value(value) {
if (this.files != value && !this.input) { if (this.files != value && !this.input) {
console.log('ww')
this.files = value this.files = value
} }
}, },
@ -387,7 +386,32 @@ export default {
}) })
}, },
// entry
addEntry(entry, path = '') {
if (entry.isFile) {
entry.file((file) => {
this.add({
size: file.size,
name: path + file.name,
type: file.type,
file,
})
});
return 1
} else if (entry.isDirectory) {
var count = 0
entry.createReader().readEntries((entrys) => {
for (var i = 0; i < entrys.length; i++) {
count += this.addEntry(entrys[i], path + entry.name + '/')
if (count && !this.multiple) {
break
}
}
})
return count
}
return 0
},
// //
@ -886,9 +910,25 @@ export default {
onDrop(e) { onDrop(e) {
e.preventDefault() e.preventDefault()
this.dropActive = false this.dropActive = false
if (e.dataTransfer.files.length) { var dataTransfer = e.dataTransfer
for (let i = 0; i < e.dataTransfer.files.length; i++) {
let file = e.dataTransfer.files[i] if (dataTransfer.items && dataTransfer.items.length) {
for (let i = 0; i < dataTransfer.items.length; i++) {
let item = dataTransfer.items[i]
if (item.getAsEntry) {
this.addEntry(item.getAsEntry())
} else if (item.webkitGetAsEntry) {
this.addEntry(item.webkitGetAsEntry())
} else {
this.add(item.getAsFile())
}
if (!this.multiple) {
break;
}
}
} else if (dataTransfer.files.length) {
for (let i = 0; i < dataTransfer.files.length; i++) {
let file = dataTransfer.files[i]
this.add(file) this.add(file)
if (!this.multiple) { if (!this.multiple) {
break; break;

Loading…
Cancel
Save