UNPKG

@dotglitch/ngx-common

Version:

Angular components and utilities that are commonly used.

26 lines 4.71 kB
export const uploadFile = (fetch, config, currentDirectory, targetPath, contextTags = {}) => new Promise(r => { const inEl = document.createElement('input'); inEl.setAttribute('type', 'file'); inEl.setAttribute('multiple', ''); inEl.click(); let formData = new FormData(); inEl.addEventListener('change', () => { Object.keys(inEl.files).forEach(k => { const file = inEl.files[k]; const name = file.name; formData.append(name, file); }); formData.append("data", JSON.stringify({ path: currentDirectory, ...contextTags })); const url = config.apiSettings.uploadEntryUrlTemplate ? config.apiSettings.uploadEntryUrlTemplate(targetPath ?? currentDirectory) : config.apiSettings.uploadEntryUrl; r(fetch.post(url, formData).then(res => { inEl.remove(); return res; })); }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvY29tcG9uZW50cy9maWxlbWFuYWdlci9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUNsQixLQUFZLEVBQ1osTUFBbUMsRUFDbkMsZ0JBQXdCLEVBQ3hCLFVBQW1CLEVBQ25CLGNBQXVDLEVBQUUsRUFDM0MsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO0lBRXJCLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBRWIsSUFBSSxRQUFRLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztJQUU5QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtRQUNqQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDaEMsTUFBTSxJQUFJLEdBTU4sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVsQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQVcsQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNuQyxJQUFJLEVBQUUsZ0JBQWdCO1lBQ3RCLEdBQUcsV0FBVztTQUNqQixDQUFDLENBQUMsQ0FBQztRQUVKLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsc0JBQXNCO1lBQ2pELENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLHNCQUFzQixDQUFDLFVBQVUsSUFBSSxnQkFBZ0IsQ0FBQztZQUMzRSxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUM7UUFFeEMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNuQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDZCxPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmV0Y2ggfSBmcm9tICcuLi8uLi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IE5neEZpbGVNYW5hZ2VyQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vZmlsZW1hbmFnZXIuY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IHVwbG9hZEZpbGUgPSAoXG4gICAgICAgIGZldGNoOiBGZXRjaCxcbiAgICAgICAgY29uZmlnOiBOZ3hGaWxlTWFuYWdlckNvbmZpZ3VyYXRpb24sXG4gICAgICAgIGN1cnJlbnREaXJlY3Rvcnk6IHN0cmluZyxcbiAgICAgICAgdGFyZ2V0UGF0aD86IHN0cmluZyxcbiAgICAgICAgY29udGV4dFRhZ3M6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9ID0ge31cbiAgICApID0+IG5ldyBQcm9taXNlKHIgPT4ge1xuXG4gICAgY29uc3QgaW5FbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgaW5FbC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnZmlsZScpO1xuICAgIGluRWwuc2V0QXR0cmlidXRlKCdtdWx0aXBsZScsICcnKTtcbiAgICBpbkVsLmNsaWNrKCk7XG5cbiAgICBsZXQgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcblxuICAgIGluRWwuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgKCkgPT4ge1xuICAgICAgICBPYmplY3Qua2V5cyhpbkVsLmZpbGVzKS5mb3JFYWNoKGsgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmlsZToge1xuICAgICAgICAgICAgICAgIGxhc3RNb2RpZmllZDogbnVtYmVyLFxuICAgICAgICAgICAgICAgIGxhc3RNb2RpZmllZERhdGU6IERhdGUsXG4gICAgICAgICAgICAgICAgbmFtZTogc3RyaW5nLFxuICAgICAgICAgICAgICAgIHNpemU6IG51bWJlcixcbiAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmc7XG4gICAgICAgICAgICB9ID0gaW5FbC5maWxlc1trXTtcblxuICAgICAgICAgICAgY29uc3QgbmFtZSA9IGZpbGUubmFtZTtcbiAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZChuYW1lLCBmaWxlIGFzIGFueSk7XG4gICAgICAgIH0pO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoXCJkYXRhXCIsIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgIHBhdGg6IGN1cnJlbnREaXJlY3RvcnksXG4gICAgICAgICAgICAuLi5jb250ZXh0VGFnc1xuICAgICAgICB9KSk7XG5cbiAgICAgICAgY29uc3QgdXJsID0gY29uZmlnLmFwaVNldHRpbmdzLnVwbG9hZEVudHJ5VXJsVGVtcGxhdGVcbiAgICAgICAgICAgID8gY29uZmlnLmFwaVNldHRpbmdzLnVwbG9hZEVudHJ5VXJsVGVtcGxhdGUodGFyZ2V0UGF0aCA/PyBjdXJyZW50RGlyZWN0b3J5KVxuICAgICAgICAgICAgOiBjb25maWcuYXBpU2V0dGluZ3MudXBsb2FkRW50cnlVcmw7XG5cbiAgICAgICAgcihmZXRjaC5wb3N0KHVybCwgZm9ybURhdGEpLnRoZW4ocmVzID0+IHtcbiAgICAgICAgICAgIGluRWwucmVtb3ZlKCk7XG4gICAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICB9KSk7XG4gICAgfSk7XG59KTtcblxuIl19