Latest updates from IceHrmPro
This commit is contained in:
81
web/node_modules/rc-upload/es/traverseFileTree.js
generated
vendored
Normal file
81
web/node_modules/rc-upload/es/traverseFileTree.js
generated
vendored
Normal file
@@ -0,0 +1,81 @@
|
||||
function loopFiles(item, callback) {
|
||||
var dirReader = item.createReader();
|
||||
var fileList = [];
|
||||
|
||||
function sequence() {
|
||||
dirReader.readEntries(function (entries) {
|
||||
var entryList = Array.prototype.slice.apply(entries);
|
||||
fileList = fileList.concat(entryList);
|
||||
|
||||
// Check if all the file has been viewed
|
||||
var isFinished = !entryList.length;
|
||||
|
||||
if (isFinished) {
|
||||
callback(fileList);
|
||||
} else {
|
||||
sequence();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
sequence();
|
||||
}
|
||||
|
||||
var traverseFileTree = function traverseFileTree(files, callback, isAccepted) {
|
||||
var _traverseFileTree = function _traverseFileTree(item, path) {
|
||||
path = path || '';
|
||||
if (item.isFile) {
|
||||
item.file(function (file) {
|
||||
if (isAccepted(file)) {
|
||||
// https://github.com/ant-design/ant-design/issues/16426
|
||||
if (item.fullPath && !file.webkitRelativePath) {
|
||||
Object.defineProperties(file, {
|
||||
webkitRelativePath: {
|
||||
writable: true
|
||||
}
|
||||
});
|
||||
file.webkitRelativePath = item.fullPath.replace(/^\//, '');
|
||||
Object.defineProperties(file, {
|
||||
webkitRelativePath: {
|
||||
writable: false
|
||||
}
|
||||
});
|
||||
}
|
||||
callback([file]);
|
||||
}
|
||||
});
|
||||
} else if (item.isDirectory) {
|
||||
loopFiles(item, function (entries) {
|
||||
entries.forEach(function (entryItem) {
|
||||
_traverseFileTree(entryItem, '' + path + item.name + '/');
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
var _iteratorNormalCompletion = true;
|
||||
var _didIteratorError = false;
|
||||
var _iteratorError = undefined;
|
||||
|
||||
try {
|
||||
for (var _iterator = files[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
||||
var file = _step.value;
|
||||
|
||||
_traverseFileTree(file.webkitGetAsEntry());
|
||||
}
|
||||
} catch (err) {
|
||||
_didIteratorError = true;
|
||||
_iteratorError = err;
|
||||
} finally {
|
||||
try {
|
||||
if (!_iteratorNormalCompletion && _iterator['return']) {
|
||||
_iterator['return']();
|
||||
}
|
||||
} finally {
|
||||
if (_didIteratorError) {
|
||||
throw _iteratorError;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export default traverseFileTree;
|
||||
Reference in New Issue
Block a user