@acorex/core 6.0.8 → 6.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/file/acorex-core-file.mjs +5 -0
- package/esm2020/file/public-api.mjs +6 -0
- package/esm2020/file/src/file-download-ref.class.mjs +12 -0
- package/esm2020/file/src/file-download-result.class.mjs +47 -0
- package/esm2020/file/src/file-upload-ref.class.mjs +12 -0
- package/esm2020/file/src/file.module.mjs +19 -0
- package/esm2020/file/src/file.service.mjs +87 -0
- package/esm2020/image/acorex-core-image.mjs +5 -0
- package/esm2020/image/public-api.mjs +3 -0
- package/esm2020/image/src/image.module.mjs +19 -0
- package/esm2020/image/src/image.service.mjs +43 -0
- package/esm2020/platform/src/platform.service.mjs +1 -1
- package/fesm2015/acorex-core-file.mjs +178 -0
- package/fesm2015/acorex-core-file.mjs.map +1 -0
- package/fesm2015/acorex-core-image.mjs +69 -0
- package/fesm2015/acorex-core-image.mjs.map +1 -0
- package/fesm2015/acorex-core-platform.mjs.map +1 -1
- package/fesm2020/acorex-core-file.mjs +178 -0
- package/fesm2020/acorex-core-file.mjs.map +1 -0
- package/fesm2020/acorex-core-image.mjs +66 -0
- package/fesm2020/acorex-core-image.mjs.map +1 -0
- package/fesm2020/acorex-core-platform.mjs.map +1 -1
- package/file/index.d.ts +5 -0
- package/file/public-api.d.ts +5 -0
- package/file/src/file-download-ref.class.d.ts +6 -0
- package/file/src/file-download-result.class.d.ts +8 -0
- package/file/src/file-upload-ref.class.d.ts +5 -0
- package/file/src/file.module.d.ts +7 -0
- package/file/src/file.service.d.ts +18 -0
- package/image/index.d.ts +5 -0
- package/image/public-api.d.ts +2 -0
- package/image/src/image.module.d.ts +7 -0
- package/image/src/image.service.d.ts +12 -0
- package/package.json +17 -1
- package/platform/src/platform.service.d.ts +2 -1
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvcmUtZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL2ZpbGUvYWNvcmV4LWNvcmUtZmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './src/file-download-ref.class';
|
|
2
|
+
export * from './src/file-download-result.class';
|
|
3
|
+
export * from './src/file-upload-ref.class';
|
|
4
|
+
export * from './src/file.service';
|
|
5
|
+
export * from './src/file.module';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL2ZpbGUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIgZXhwb3J0ICogZnJvbSAnLi9zcmMvZmlsZS1kb3dubG9hZC1yZWYuY2xhc3MnO1xyXG4gZXhwb3J0ICogZnJvbSAnLi9zcmMvZmlsZS1kb3dubG9hZC1yZXN1bHQuY2xhc3MnO1xyXG4gZXhwb3J0ICogZnJvbSAnLi9zcmMvZmlsZS11cGxvYWQtcmVmLmNsYXNzJztcclxuIGV4cG9ydCAqIGZyb20gJy4vc3JjL2ZpbGUuc2VydmljZSc7XHJcbiBleHBvcnQgKiBmcm9tICcuL3NyYy9maWxlLm1vZHVsZSc7Il19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export class AXFileDownloadRef extends Promise {
|
|
2
|
+
constructor(executor) {
|
|
3
|
+
super(executor);
|
|
4
|
+
}
|
|
5
|
+
//abort the operation
|
|
6
|
+
abort() {
|
|
7
|
+
if (this.abortMethod) {
|
|
8
|
+
this.abortMethod();
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kb3dubG9hZC1yZWYuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS9maWxlL3NyYy9maWxlLWRvd25sb2FkLXJlZi5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8saUJBQWtCLFNBQVEsT0FBNkI7SUFHaEUsWUFBWSxRQUFnSDtRQUN4SCxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFcEIsQ0FBQztJQUNELHFCQUFxQjtJQUNkLEtBQUs7UUFDUixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhGaWxlRG93bmxvYWRSZXN1bHQgfSBmcm9tIFwiLi9maWxlLWRvd25sb2FkLXJlc3VsdC5jbGFzc1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEFYRmlsZURvd25sb2FkUmVmIGV4dGVuZHMgUHJvbWlzZTxBWEZpbGVEb3dubG9hZFJlc3VsdD5cclxue1xyXG4gICAgcHVibGljIGFib3J0TWV0aG9kOiAoKSA9PiB2b2lkO1xyXG4gICAgY29uc3RydWN0b3IoZXhlY3V0b3I6IChyZXNvbHZlOiAodmFsdWU/OiBQcm9taXNlTGlrZTxBWEZpbGVEb3dubG9hZFJlc3VsdD4pID0+IHZvaWQsIHJlamVjdDogKHJlYXNvbj86IGFueSkgPT4gdm9pZCkgPT4gdm9pZCkge1xyXG4gICAgICAgIHN1cGVyKGV4ZWN1dG9yKTtcclxuXHJcbiAgICB9XHJcbiAgICAvL2Fib3J0IHRoZSBvcGVyYXRpb25cclxuICAgIHB1YmxpYyBhYm9ydCgpIHtcclxuICAgICAgICBpZiAodGhpcy5hYm9ydE1ldGhvZCkge1xyXG4gICAgICAgICAgICB0aGlzLmFib3J0TWV0aG9kKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export class AXFileDownloadResult {
|
|
2
|
+
constructor(response) {
|
|
3
|
+
this._response = response;
|
|
4
|
+
}
|
|
5
|
+
save(filename) {
|
|
6
|
+
this._defaultBrowserDownload(filename);
|
|
7
|
+
return Promise.resolve();
|
|
8
|
+
// else {
|
|
9
|
+
// return new Promise((resolve, reject) => {
|
|
10
|
+
// const button = document.createElement("button");
|
|
11
|
+
// button.addEventListener('click', async () => {
|
|
12
|
+
// debugger
|
|
13
|
+
// button.remove();
|
|
14
|
+
// const opts = {
|
|
15
|
+
// types: [{
|
|
16
|
+
// description: 'Save File',
|
|
17
|
+
// suggestedName: filename
|
|
18
|
+
// // accept: {'text/plain': ['.txt']},
|
|
19
|
+
// }],
|
|
20
|
+
// };
|
|
21
|
+
// const result = await window['showSaveFilePicker'](opts);
|
|
22
|
+
// console.log(result);
|
|
23
|
+
// resolve();
|
|
24
|
+
// });
|
|
25
|
+
// button.click();
|
|
26
|
+
// });
|
|
27
|
+
// }
|
|
28
|
+
}
|
|
29
|
+
blob() {
|
|
30
|
+
return this._response;
|
|
31
|
+
}
|
|
32
|
+
base64() {
|
|
33
|
+
return new Promise((resolve, reject) => {
|
|
34
|
+
var reader = new window.FileReader();
|
|
35
|
+
reader.onloadend = () => resolve(reader.result);
|
|
36
|
+
reader.onerror = (e) => reject(e);
|
|
37
|
+
reader.readAsDataURL(this._response);
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
_defaultBrowserDownload(filename = 'download') {
|
|
41
|
+
const link = document.createElement("a");
|
|
42
|
+
link.href = URL.createObjectURL(this._response);
|
|
43
|
+
link.download = filename;
|
|
44
|
+
link.click();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kb3dubG9hZC1yZXN1bHQuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS9maWxlL3NyYy9maWxlLWRvd25sb2FkLXJlc3VsdC5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sb0JBQW9CO0lBSTdCLFlBQVksUUFBYztRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxDQUFDLFFBQWlCO1FBQ2xCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2QyxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN6QixTQUFTO1FBQ1QsNENBQTRDO1FBQzVDLHVEQUF1RDtRQUN2RCxxREFBcUQ7UUFDckQsbUJBQW1CO1FBQ25CLDJCQUEyQjtRQUMzQix5QkFBeUI7UUFDekIsd0JBQXdCO1FBQ3hCLDRDQUE0QztRQUM1QywwQ0FBMEM7UUFDMUMseURBQXlEO1FBQ3pELGtCQUFrQjtRQUNsQixhQUFhO1FBQ2IsbUVBQW1FO1FBQ25FLCtCQUErQjtRQUUvQixxQkFBcUI7UUFDckIsVUFBVTtRQUNWLHNCQUFzQjtRQUN0QixNQUFNO1FBRU4sSUFBSTtJQUNSLENBQUM7SUFHRCxJQUFJO1FBQ0EsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxNQUFNO1FBQ0YsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNuQyxJQUFJLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyQyxNQUFNLENBQUMsU0FBUyxHQUFHLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBZ0IsQ0FBQyxDQUFDO1lBQzFELE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxXQUFtQixVQUFVO1FBQ3pELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEFYRmlsZURvd25sb2FkUmVzdWx0IHtcclxuXHJcbiAgICBfcmVzcG9uc2U6IEJsb2I7XHJcblxyXG4gICAgY29uc3RydWN0b3IocmVzcG9uc2U6IEJsb2IpIHtcclxuICAgICAgICB0aGlzLl9yZXNwb25zZSA9IHJlc3BvbnNlO1xyXG4gICAgfVxyXG5cclxuICAgIHNhdmUoZmlsZW5hbWU/OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICB0aGlzLl9kZWZhdWx0QnJvd3NlckRvd25sb2FkKGZpbGVuYW1lKTtcclxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XHJcbiAgICAgICAgLy8gZWxzZSB7XHJcbiAgICAgICAgLy8gcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICAvLyAgICAgY29uc3QgYnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiKTtcclxuICAgICAgICAvLyAgICAgYnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgIC8vICAgICAgICAgZGVidWdnZXJcclxuICAgICAgICAvLyAgICAgICAgIGJ1dHRvbi5yZW1vdmUoKTtcclxuICAgICAgICAvLyAgICAgICAgIGNvbnN0IG9wdHMgPSB7XHJcbiAgICAgICAgLy8gICAgICAgICAgICAgdHlwZXM6IFt7XHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2F2ZSBGaWxlJyxcclxuICAgICAgICAvLyAgICAgICAgICAgICAgICAgc3VnZ2VzdGVkTmFtZTogZmlsZW5hbWVcclxuICAgICAgICAvLyAgICAgICAgICAgICAgICAgLy8gICBhY2NlcHQ6IHsndGV4dC9wbGFpbic6IFsnLnR4dCddfSxcclxuICAgICAgICAvLyAgICAgICAgICAgICB9XSxcclxuICAgICAgICAvLyAgICAgICAgIH07XHJcbiAgICAgICAgLy8gICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB3aW5kb3dbJ3Nob3dTYXZlRmlsZVBpY2tlciddKG9wdHMpO1xyXG4gICAgICAgIC8vICAgICAgICAgY29uc29sZS5sb2cocmVzdWx0KTtcclxuXHJcbiAgICAgICAgLy8gICAgICAgICByZXNvbHZlKCk7XHJcbiAgICAgICAgLy8gICAgIH0pO1xyXG4gICAgICAgIC8vICAgICBidXR0b24uY2xpY2soKTtcclxuICAgICAgICAvLyB9KTtcclxuXHJcbiAgICAgICAgLy8gfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBibG9iKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNwb25zZTtcclxuICAgIH1cclxuXHJcbiAgICBiYXNlNjQoKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgICAgICB2YXIgcmVhZGVyID0gbmV3IHdpbmRvdy5GaWxlUmVhZGVyKCk7XHJcbiAgICAgICAgICAgIHJlYWRlci5vbmxvYWRlbmQgPSAoKSA9PiByZXNvbHZlKHJlYWRlci5yZXN1bHQgYXMgc3RyaW5nKTtcclxuICAgICAgICAgICAgcmVhZGVyLm9uZXJyb3IgPSAoZSkgPT4gcmVqZWN0KGUpO1xyXG4gICAgICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTCh0aGlzLl9yZXNwb25zZSk7XHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9kZWZhdWx0QnJvd3NlckRvd25sb2FkKGZpbGVuYW1lOiBzdHJpbmcgPSAnZG93bmxvYWQnKSB7XHJcbiAgICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xyXG4gICAgICAgIGxpbmsuaHJlZiA9IFVSTC5jcmVhdGVPYmplY3RVUkwodGhpcy5fcmVzcG9uc2UpO1xyXG4gICAgICAgIGxpbmsuZG93bmxvYWQgPSBmaWxlbmFtZTtcclxuICAgICAgICBsaW5rLmNsaWNrKCk7XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export class AXFileUploadRef extends Promise {
|
|
2
|
+
constructor(executor) {
|
|
3
|
+
super(executor);
|
|
4
|
+
}
|
|
5
|
+
//abort the operation
|
|
6
|
+
abort() {
|
|
7
|
+
if (this.abortMethod) {
|
|
8
|
+
this.abortMethod();
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtcmVmLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvZmlsZS9zcmMvZmlsZS11cGxvYWQtcmVmLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxlQUF5QixTQUFRLE9BQVU7SUFHcEQsWUFBWSxRQUE2RjtRQUNyRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFcEIsQ0FBQztJQUNELHFCQUFxQjtJQUNkLEtBQUs7UUFDUixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEFYRmlsZVVwbG9hZFJlZjxUID0gYW55PiBleHRlbmRzIFByb21pc2U8VD5cclxue1xyXG4gICAgcHVibGljIGFib3J0TWV0aG9kOiAoKSA9PiB2b2lkO1xyXG4gICAgY29uc3RydWN0b3IoZXhlY3V0b3I6IChyZXNvbHZlOiAodmFsdWU/OiBQcm9taXNlTGlrZTxUPikgPT4gdm9pZCwgcmVqZWN0OiAocmVhc29uPzogYW55KSA9PiB2b2lkKSA9PiB2b2lkKSB7XHJcbiAgICAgICAgc3VwZXIoZXhlY3V0b3IpO1xyXG5cclxuICAgIH1cclxuICAgIC8vYWJvcnQgdGhlIG9wZXJhdGlvblxyXG4gICAgcHVibGljIGFib3J0KCkge1xyXG4gICAgICAgIGlmICh0aGlzLmFib3J0TWV0aG9kKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWJvcnRNZXRob2QoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { AXFileService } from './file.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class AXFileModule {
|
|
6
|
+
}
|
|
7
|
+
AXFileModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
AXFileModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: AXFileModule, imports: [CommonModule] });
|
|
9
|
+
AXFileModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileModule, providers: [AXFileService], imports: [CommonModule] });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileModule, decorators: [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
declarations: [],
|
|
14
|
+
imports: [CommonModule],
|
|
15
|
+
exports: [],
|
|
16
|
+
providers: [AXFileService],
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS9maWxlL3NyYy9maWxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBVS9DLE1BQU0sT0FBTyxZQUFZOzt5R0FBWixZQUFZOzBHQUFaLFlBQVksWUFKWCxZQUFZOzBHQUliLFlBQVksYUFGVixDQUFDLGFBQWEsQ0FBQyxZQUZoQixZQUFZOzJGQUliLFlBQVk7a0JBTnhCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsU0FBUyxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQVhGaWxlU2VydmljZSB9IGZyb20gJy4vZmlsZS5zZXJ2aWNlJztcblxuXG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbXSxcbiAgICBwcm92aWRlcnM6IFtBWEZpbGVTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhGaWxlTW9kdWxlIHsgfSJdfQ==
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { AXFileDownloadRef } from './file-download-ref.class';
|
|
4
|
+
import { AXFileDownloadResult } from './file-download-result.class';
|
|
5
|
+
import { AXFileUploadRef } from './file-upload-ref.class';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common/http";
|
|
8
|
+
export class AXFileService {
|
|
9
|
+
constructor(_httpClient) {
|
|
10
|
+
this._httpClient = _httpClient;
|
|
11
|
+
this.blobToBase64 = (blob) => new Promise((resolve, reject) => {
|
|
12
|
+
const reader = new FileReader;
|
|
13
|
+
reader.onerror = reject;
|
|
14
|
+
reader.onload = () => {
|
|
15
|
+
resolve(reader.result);
|
|
16
|
+
};
|
|
17
|
+
reader.readAsDataURL(blob);
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
download(request) {
|
|
21
|
+
let s;
|
|
22
|
+
const promiseFunc = (resolve, reject) => {
|
|
23
|
+
//TODO: add custome http request
|
|
24
|
+
//const headers = new HttpHeaders().set('authorization','Bearer '+token);
|
|
25
|
+
let b;
|
|
26
|
+
if (typeof request === 'string') {
|
|
27
|
+
b = this._httpClient.get(request, { responseType: 'blob' });
|
|
28
|
+
}
|
|
29
|
+
else if (b instanceof (Observable)) {
|
|
30
|
+
b = request;
|
|
31
|
+
}
|
|
32
|
+
s = b?.subscribe({
|
|
33
|
+
next: (v) => resolve(new AXFileDownloadResult(v)),
|
|
34
|
+
error: (e) => reject(e)
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
const a = new AXFileDownloadRef(promiseFunc);
|
|
38
|
+
a.abort = () => {
|
|
39
|
+
s?.unsubscribe();
|
|
40
|
+
};
|
|
41
|
+
return a;
|
|
42
|
+
}
|
|
43
|
+
upload(url, files) {
|
|
44
|
+
let s;
|
|
45
|
+
let formData = new FormData();
|
|
46
|
+
files.forEach(f => {
|
|
47
|
+
formData.append("files", f);
|
|
48
|
+
});
|
|
49
|
+
const promiseFunc = (resolve, reject) => {
|
|
50
|
+
let b;
|
|
51
|
+
b = this._httpClient.post(url, formData);
|
|
52
|
+
s = b?.subscribe({
|
|
53
|
+
next: (v) => resolve(v),
|
|
54
|
+
error: (e) => reject(e)
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
const a = new AXFileUploadRef(promiseFunc);
|
|
58
|
+
a.abort = () => {
|
|
59
|
+
s?.unsubscribe();
|
|
60
|
+
};
|
|
61
|
+
return a;
|
|
62
|
+
}
|
|
63
|
+
choose(options) {
|
|
64
|
+
return new Promise((resolve, reject) => {
|
|
65
|
+
options = Object.assign({ multiple: false }, options);
|
|
66
|
+
const input = document.createElement("input");
|
|
67
|
+
input.type = 'file';
|
|
68
|
+
input.accept = options.accept;
|
|
69
|
+
input.multiple = options.multiple;
|
|
70
|
+
input.onchange = () => {
|
|
71
|
+
resolve(Array.from(input.files));
|
|
72
|
+
input.remove();
|
|
73
|
+
};
|
|
74
|
+
input.onerror = (e) => {
|
|
75
|
+
reject(e);
|
|
76
|
+
input.remove();
|
|
77
|
+
};
|
|
78
|
+
input.click();
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
AXFileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
83
|
+
AXFileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileService });
|
|
84
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileService, decorators: [{
|
|
85
|
+
type: Injectable
|
|
86
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvZmlsZS9zcmMvZmlsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFJMUQsTUFBTSxPQUFPLGFBQWE7SUFDdEIsWUFBb0IsV0FBdUI7UUFBdkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFzRTNDLGlCQUFZLEdBQUcsQ0FBQyxJQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzNELE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxDQUFDO1lBQzlCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1lBQ3hCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO2dCQUNqQixPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzNCLENBQUMsQ0FBQztZQUNGLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7SUE3RTRDLENBQUM7SUFFekMsUUFBUSxDQUFDLE9BQWtDO1FBQzlDLElBQUksQ0FBZSxDQUFDO1FBQ3BCLE1BQU0sV0FBVyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3BDLGdDQUFnQztZQUNoQyx5RUFBeUU7WUFDekUsSUFBSSxDQUFt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RyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNsQixNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ1YsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ25CLENBQUMsQ0FBQztZQUNGLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OzBHQXJFUSxhQUFhOzhHQUFiLGFBQWE7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBDb250ZXh0LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQVhGaWxlRG93bmxvYWRSZWYgfSBmcm9tICcuL2ZpbGUtZG93bmxvYWQtcmVmLmNsYXNzJztcclxuaW1wb3J0IHsgQVhGaWxlRG93bmxvYWRSZXN1bHQgfSBmcm9tICcuL2ZpbGUtZG93bmxvYWQtcmVzdWx0LmNsYXNzJztcclxuaW1wb3J0IHsgQVhGaWxlVXBsb2FkUmVmIH0gZnJvbSAnLi9maWxlLXVwbG9hZC1yZWYuY2xhc3MnO1xyXG5cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFYRmlsZVNlcnZpY2Uge1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfaHR0cENsaWVudDogSHR0cENsaWVudCkgeyB9XHJcblxyXG4gICAgcHVibGljIGRvd25sb2FkKHJlcXVlc3Q6IHN0cmluZyB8IE9ic2VydmFibGU8QmxvYj4pOiBBWEZpbGVEb3dubG9hZFJlZiB7XHJcbiAgICAgICAgbGV0IHM6IFN1YnNjcmlwdGlvbjtcclxuICAgICAgICBjb25zdCBwcm9taXNlRnVuYyA9IChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICAgICAgLy9UT0RPOiBhZGQgY3VzdG9tZSBodHRwIHJlcXVlc3RcclxuICAgICAgICAgICAgLy9jb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCdhdXRob3JpemF0aW9uJywnQmVhcmVyICcrdG9rZW4pO1xyXG4gICAgICAgICAgICBsZXQgYjogT2JzZXJ2YWJsZTxCbG9iPjtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiByZXF1ZXN0ID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICAgICAgYiA9IHRoaXMuX2h0dHBDbGllbnQuZ2V0KHJlcXVlc3QsIHsgcmVzcG9uc2VUeXBlOiAnYmxvYicgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoYiBpbnN0YW5jZW9mIE9ic2VydmFibGU8QmxvYj4pIHtcclxuICAgICAgICAgICAgICAgIGIgPSByZXF1ZXN0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHMgPSBiPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgICAgICAgbmV4dDogKHYpID0+IHJlc29sdmUobmV3IEFYRmlsZURvd25sb2FkUmVzdWx0KHYpKSxcclxuICAgICAgICAgICAgICAgIGVycm9yOiAoZSkgPT4gcmVqZWN0KGUpXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgY29uc3QgYSA9IG5ldyBBWEZpbGVEb3dubG9hZFJlZihwcm9taXNlRnVuYyk7XHJcbiAgICAgICAgYS5hYm9ydCA9ICgpID0+IHtcclxuICAgICAgICAgICAgcz8udW5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICByZXR1cm4gYTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgdXBsb2FkPFQgPSBhbnk+KHVybDogc3RyaW5nLCBmaWxlczogRmlsZVtdKTogQVhGaWxlVXBsb2FkUmVmPFQ+IHtcclxuICAgICAgICBsZXQgczogU3Vic2NyaXB0aW9uO1xyXG4gICAgICAgIGxldCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gICAgICAgIGZpbGVzLmZvckVhY2goZiA9PiB7XHJcbiAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZChcImZpbGVzXCIsIGYpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgY29uc3QgcHJvbWlzZUZ1bmMgPSAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBiOiBPYnNlcnZhYmxlPFQ+O1xyXG4gICAgICAgICAgICBiID0gdGhpcy5faHR0cENsaWVudC5wb3N0PFQ+KHVybCwgZm9ybURhdGEpO1xyXG5cclxuICAgICAgICAgICAgcyA9IGI/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgICAgICAgICBuZXh0OiAodikgPT4gcmVzb2x2ZSh2KSxcclxuICAgICAgICAgICAgICAgIGVycm9yOiAoZSkgPT4gcmVqZWN0KGUpXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgY29uc3QgYSA9IG5ldyBBWEZpbGVVcGxvYWRSZWYocHJvbWlzZUZ1bmMpO1xyXG4gICAgICAgIGEuYWJvcnQgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIHM/LnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gYTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2hvb3NlKG9wdGlvbnM/OiB7IGFjY2VwdD86IHN0cmluZywgbXVsdGlwbGU/OiBib29sZWFuIH0pOiBQcm9taXNlPEZpbGVbXT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxGaWxlW10+KChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICAgICAgb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oeyBtdWx0aXBsZTogZmFsc2UgfSwgb3B0aW9ucyk7XHJcbiAgICAgICAgICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImlucHV0XCIpO1xyXG4gICAgICAgICAgICBpbnB1dC50eXBlID0gJ2ZpbGUnO1xyXG4gICAgICAgICAgICBpbnB1dC5hY2NlcHQgPSBvcHRpb25zLmFjY2VwdDtcclxuICAgICAgICAgICAgaW5wdXQubXVsdGlwbGUgPSBvcHRpb25zLm11bHRpcGxlO1xyXG4gICAgICAgICAgICBpbnB1dC5vbmNoYW5nZSA9ICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHJlc29sdmUoQXJyYXkuZnJvbShpbnB1dC5maWxlcykpO1xyXG4gICAgICAgICAgICAgICAgaW5wdXQucmVtb3ZlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW5wdXQub25lcnJvciA9IChlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZWplY3QoZSk7XHJcbiAgICAgICAgICAgICAgICBpbnB1dC5yZW1vdmUoKTtcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgaW5wdXQuY2xpY2soKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBibG9iVG9CYXNlNjQgPSAoYmxvYjogQmxvYikgPT4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyO1xyXG4gICAgICAgIHJlYWRlci5vbmVycm9yID0gcmVqZWN0O1xyXG4gICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIHJlc29sdmUocmVhZGVyLnJlc3VsdCk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChibG9iKTtcclxuICAgIH0pO1xyXG59XHJcblxyXG5cclxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvcmUtaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS9pbWFnZS9hY29yZXgtY29yZS1pbWFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './src/image.service';
|
|
2
|
+
export * from './src/image.module';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL2ltYWdlL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIGV4cG9ydCAqIGZyb20gJy4vc3JjL2ltYWdlLnNlcnZpY2UnO1xyXG4gZXhwb3J0ICogZnJvbSAnLi9zcmMvaW1hZ2UubW9kdWxlJzsiXX0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { AXImageService } from './image.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class AXImageModule {
|
|
6
|
+
}
|
|
7
|
+
AXImageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
AXImageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: AXImageModule, imports: [CommonModule] });
|
|
9
|
+
AXImageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageModule, providers: [AXImageService], imports: [CommonModule] });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageModule, decorators: [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
declarations: [],
|
|
14
|
+
imports: [CommonModule],
|
|
15
|
+
exports: [],
|
|
16
|
+
providers: [AXImageService],
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvaW1hZ2Uvc3JjL2ltYWdlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBVWpELE1BQU0sT0FBTyxhQUFhOzswR0FBYixhQUFhOzJHQUFiLGFBQWEsWUFKWixZQUFZOzJHQUliLGFBQWEsYUFGWCxDQUFDLGNBQWMsQ0FBQyxZQUZqQixZQUFZOzJGQUliLGFBQWE7a0JBTnpCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsU0FBUyxFQUFFLENBQUMsY0FBYyxDQUFDO2lCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEFYSW1hZ2VTZXJ2aWNlIH0gZnJvbSAnLi9pbWFnZS5zZXJ2aWNlJztcclxuXHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogW10sXHJcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICAgIGV4cG9ydHM6IFtdLFxyXG4gICAgcHJvdmlkZXJzOiBbQVhJbWFnZVNlcnZpY2VdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhJbWFnZU1vZHVsZSB7IH0iXX0=
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class AXImageService {
|
|
4
|
+
constructor() { }
|
|
5
|
+
async resize(options) {
|
|
6
|
+
debugger;
|
|
7
|
+
options = Object.assign({ type: 'image/png', quality: 1 }, options);
|
|
8
|
+
let image;
|
|
9
|
+
if (options.source instanceof File) {
|
|
10
|
+
var a = new Image();
|
|
11
|
+
a.src = URL.createObjectURL(options.source);
|
|
12
|
+
await new Promise((res) => a.onload = res);
|
|
13
|
+
image = a;
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
image = options.source;
|
|
17
|
+
}
|
|
18
|
+
// Resize the image
|
|
19
|
+
var canvas = document.createElement('canvas'), width = image.width, height = image.height;
|
|
20
|
+
if (width > height) {
|
|
21
|
+
if (width > options.maxSize) {
|
|
22
|
+
height *= options.maxSize / width;
|
|
23
|
+
width = options.maxSize;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
if (height > options.maxSize) {
|
|
28
|
+
width *= options.maxSize / height;
|
|
29
|
+
height = options.maxSize;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
canvas.width = width;
|
|
33
|
+
canvas.height = height;
|
|
34
|
+
canvas.getContext('2d').drawImage(image, 0, 0, width, height);
|
|
35
|
+
return new Promise((resolve) => canvas.toBlob(resolve, options.type, options.quality));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
AXImageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
39
|
+
AXImageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageService });
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageService, decorators: [{
|
|
41
|
+
type: Injectable
|
|
42
|
+
}], ctorParameters: function () { return []; } });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL2ltYWdlL3NyYy9pbWFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzNDLE1BQU0sT0FBTyxjQUFjO0lBQ3ZCLGdCQUFnQixDQUFDO0lBR2pCLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBaUk7UUFDMUksUUFBUSxDQUFBO1FBQ1IsT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUVwRSxJQUFJLEtBQXVCLENBQUM7UUFDNUIsSUFBSSxPQUFPLENBQUMsTUFBTSxZQUFZLElBQUksRUFBRTtZQUNoQyxJQUFJLENBQUMsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFBO1lBQ25CLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUMsTUFBTSxJQUFJLE9BQU8sQ0FBUSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQztZQUNsRCxLQUFLLEdBQUcsQ0FBQyxDQUFDO1NBQ2I7YUFDSTtZQUNELEtBQUssR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1NBQzFCO1FBRUQsbUJBQW1CO1FBQ25CLElBQUksTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQ3pDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxFQUNuQixNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLEtBQUssR0FBRyxNQUFNLEVBQUU7WUFDaEIsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRTtnQkFDekIsTUFBTSxJQUFJLE9BQU8sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNsQyxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQzthQUMzQjtTQUNKO2FBQU07WUFDSCxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFO2dCQUMxQixLQUFLLElBQUksT0FBTyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7Z0JBQ2xDLE1BQU0sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO2FBQzVCO1NBQ0o7UUFDRCxNQUFNLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNyQixNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUN2QixNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDOUQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMzRixDQUFDOzsyR0F0Q1EsY0FBYzsrR0FBZCxjQUFjOzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBWEltYWdlU2VydmljZSB7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuXHJcbiAgICBhc3luYyByZXNpemUob3B0aW9uczogeyBtYXhTaXplOiBudW1iZXIsIHNvdXJjZTogSFRNTEltYWdlRWxlbWVudCB8IEZpbGUsIHR5cGU/OiAnaW1hZ2UvcG5nJyB8ICdpbWFnZS9qcGVnJyB8ICdpbWFnZS93ZWJwJywgcXVhbGl0eT86IG51bWJlciB9KTogUHJvbWlzZTxCbG9iPiB7XHJcbiAgICAgICAgZGVidWdnZXJcclxuICAgICAgICBvcHRpb25zID0gT2JqZWN0LmFzc2lnbih7IHR5cGU6ICdpbWFnZS9wbmcnLCBxdWFsaXR5OiAxIH0sIG9wdGlvbnMpO1xyXG5cclxuICAgICAgICBsZXQgaW1hZ2U6IEhUTUxJbWFnZUVsZW1lbnQ7XHJcbiAgICAgICAgaWYgKG9wdGlvbnMuc291cmNlIGluc3RhbmNlb2YgRmlsZSkge1xyXG4gICAgICAgICAgICB2YXIgYSA9IG5ldyBJbWFnZSgpXHJcbiAgICAgICAgICAgIGEuc3JjID0gVVJMLmNyZWF0ZU9iamVjdFVSTChvcHRpb25zLnNvdXJjZSk7XHJcbiAgICAgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlPEV2ZW50PigocmVzKSA9PiBhLm9ubG9hZCA9IHJlcyk7XHJcbiAgICAgICAgICAgIGltYWdlID0gYTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGltYWdlID0gb3B0aW9ucy5zb3VyY2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBSZXNpemUgdGhlIGltYWdlXHJcbiAgICAgICAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpLFxyXG4gICAgICAgICAgICB3aWR0aCA9IGltYWdlLndpZHRoLFxyXG4gICAgICAgICAgICBoZWlnaHQgPSBpbWFnZS5oZWlnaHQ7XHJcbiAgICAgICAgaWYgKHdpZHRoID4gaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgIGlmICh3aWR0aCA+IG9wdGlvbnMubWF4U2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0ICo9IG9wdGlvbnMubWF4U2l6ZSAvIHdpZHRoO1xyXG4gICAgICAgICAgICAgICAgd2lkdGggPSBvcHRpb25zLm1heFNpemU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaGVpZ2h0ID4gb3B0aW9ucy5tYXhTaXplKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aCAqPSBvcHRpb25zLm1heFNpemUgLyBoZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQgPSBvcHRpb25zLm1heFNpemU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgY2FudmFzLndpZHRoID0gd2lkdGg7XHJcbiAgICAgICAgY2FudmFzLmhlaWdodCA9IGhlaWdodDtcclxuICAgICAgICBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKS5kcmF3SW1hZ2UoaW1hZ2UsIDAsIDAsIHdpZHRoLCBoZWlnaHQpO1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gY2FudmFzLnRvQmxvYihyZXNvbHZlLCBvcHRpb25zLnR5cGUsIG9wdGlvbnMucXVhbGl0eSkpO1xyXG4gICAgfVxyXG59Il19
|
|
@@ -148,4 +148,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
148
148
|
providedIn: 'platform',
|
|
149
149
|
}]
|
|
150
150
|
}], ctorParameters: function () { return []; } });
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL3BsYXRmb3JtL3NyYy9wbGF0Zm9ybS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQVlwRSxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUV6RSxNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUUzRSxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUVyRSxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUV6RSxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQ3ZDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLElBQUksYUFBYSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUU3RCxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQ3RDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLElBQUksYUFBYSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUVoRSxNQUFNLFdBQVcsR0FBRyxDQUFDLEdB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QUFXLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsRUFBRSxDQUFDLElBQStDO1FBQ2hELE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQztJQUM5QyxDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RCxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsZUFBZTtRQUNiLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RCxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLFFBQVE7YUFDTCxhQUFhLENBQWMsT0FBTyxDQUFDO1lBQ3BDLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLFdBQVcsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDcEUsQ0FBQzs7dUdBdkNVLFVBQVU7MkdBQVYsVUFBVSxjQUZULFVBQVU7MkZBRVgsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsVUFBVTtpQkFDdkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuZXhwb3J0IHR5cGUgQVhQbGF0Zm9ybXMgPSAnQW5kcm9pZCcgfCAnRGVza3RvcCcgfCAnaU9TJyB8ICdNb2JpbGUnO1xyXG5leHBvcnQgdHlwZSBBWEJyb3dzZXJzID1cclxuICB8ICdDaHJvbWUnXHJcbiAgfCAnU2FmYXJpJ1xyXG4gIHwgJ0VkZ2UnXHJcbiAgfCAnRmlyZWZveCdcclxuICB8ICdPcGVyYSdcclxuICB8ICdNU0lFJztcclxuZXhwb3J0IHR5cGUgQVhUZWNobm9sb2dpZXMgPSAnUFdBJyB8ICdIeWJyaWQnIHwgJ0VsZWN0cm9uJztcclxuXHJcbmNvbnN0IGlzQ2hyb21lID0gKHdpbjogV2luZG93KTogYm9vbGVhbiA9PiB0ZXN0VXNlckFnZW50KHdpbiwgL0Nocm9tZS9pKTtcclxuXHJcbmNvbnN0IGlzRmlyZWZveCA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT4gdGVzdFVzZXJBZ2VudCh3aW4sIC9GaXJlZm94L2kpO1xyXG5cclxuY29uc3QgaXNFZGdlID0gKHdpbjogV2luZG93KTogYm9vbGVhbiA9PiB0ZXN0VXNlckFnZW50KHdpbiwgL0VkZ2UvaSk7XHJcblxyXG5jb25zdCBpc1NhZmFyaSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT4gdGVzdFVzZXJBZ2VudCh3aW4sIC9TYWZhcmkvaSk7XHJcblxyXG5jb25zdCBpc09wZXJhID0gKHdpbjogV2luZG93KTogYm9vbGVhbiA9PlxyXG4gIHRlc3RVc2VyQWdlbnQod2luLCAvT3BlcmEvaSkgfHwgdGVzdFVzZXJBZ2VudCh3aW4sIC9PUFIvaSk7XHJcblxyXG5jb25zdCBpc01TSUUgPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+XHJcbiAgdGVzdFVzZXJBZ2VudCh3aW4sIC9NU0lFL2kpIHx8IHRlc3RVc2VyQWdlbnQod2luLCAvVHJpZGVudC9pKTtcclxuXHJcbmNvbnN0IGlzTW9iaWxlV2ViID0gKHdpbjogV2luZG93KTogYm9vbGVhbiA9PiBpc01vYmlsZSh3aW4pICYmICFpc0h5YnJpZCh3aW4pO1xyXG5cclxuY29uc3QgaXNJcGFkID0gKHdpbjogV2luZG93KSA9PiB7XHJcbiAgLy8gaU9TIDEyIGFuZCBiZWxvd1xyXG4gIGlmICh0ZXN0VXNlckFnZW50KHdpbiwgL2lQYWQvaSkpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgLy8gaU9TIDEzK1xyXG4gIGlmICh0ZXN0VXNlckFnZW50KHdpbiwgL01hY2ludG9zaC9pKSAmJiBpc01vYmlsZSh3aW4pKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHJldHVybiBmYWxzZTtcclxufTtcclxuXHJcbmNvbnN0IGlzSXBob25lID0gKHdpbjogV2luZG93KSA9PiB0ZXN0VXNlckFnZW50KHdpbiwgL2lQaG9uZS9pKTtcclxuXHJcbmNvbnN0IGlzSU9TID0gKHdpbjogV2luZG93KSA9PlxyXG4gIHRlc3RVc2VyQWdlbnQod2luLCAvaVBob25lfGlQb2QvaSkgfHwgaXNJcGFkKHdpbik7XHJcblxyXG5jb25zdCBpc0FuZHJvaWQgPSAod2luOiBXaW5kb3cpID0+IHRlc3RVc2VyQWdlbnQod2luLCAvYW5kcm9pZHxzaW5rL2kpO1xyXG5cclxuY29uc3QgaXNBbmRyb2lkVGFibGV0ID0gKHdpbjogV2luZG93KSA9PiB7XHJcbiAgcmV0dXJuIGlzQW5kcm9pZCh3aW4pICYmICF0ZXN0VXNlckFnZW50KHdpbiwgL21vYmlsZS9pKTtcclxufTtcclxuXHJcbmNvbnN0IGlzUGhhYmxldCA9ICh3aW46IFdpbmRvdykgPT4ge1xyXG4gIGNvbnN0IHdpZHRoID0gd2luLmlubmVyV2lkdGg7XHJcbiAgY29uc3QgaGVpZ2h0ID0gd2luLmlubmVySGVpZ2h0O1xyXG4gIGNvbnN0IHNtYWxsZXN0ID0gTWF0aC5taW4od2lkdGgsIGhlaWdodCk7XHJcbiAgY29uc3QgbGFyZ2VzdCA9IE1hdGgubWF4KHdpZHRoLCBoZWlnaHQpO1xyXG5cclxuICByZXR1cm4gc21hbGxlc3QgPiAzOTAgJiYgc21hbGxlc3QgPCA1MjAgJiYgbGFyZ2VzdCA+IDYyMCAmJiBsYXJnZXN0IDwgODAwO1xyXG59O1xyXG5cclxuY29uc3QgaXNUYWJsZXQgPSAod2luOiBXaW5kb3cpID0+IHtcclxuICBjb25zdCB3aWR0aCA9IHdpbi5pbm5lcldpZHRoO1xyXG4gIGNvbnN0IGhlaWdodCA9IHdpbi5pbm5lckhlaWdodDtcclxuICBjb25zdCBzbWFsbGVzdCA9IE1hdGgubWluKHdpZHRoLCBoZWlnaHQpO1xyXG4gIGNvbnN0IGxhcmdlc3QgPSBNYXRoLm1heCh3aWR0aCwgaGVpZ2h0KTtcclxuXHJcbiAgcmV0dXJuIChcclxuICAgIGlzSXBhZCh3aW4pIHx8XHJcbiAgICBpc0FuZHJvaWRUYWJsZXQod2luKSB8fFxyXG4gICAgKHNtYWxsZXN0ID4gNDYwICYmIHNtYWxsZXN0IDwgODIwICYmIGxhcmdlc3QgPiA3ODAgJiYgbGFyZ2VzdCA8IDE0MDApXHJcbiAgKTtcclxufTtcclxuXHJcbmNvbnN0IGlzTW9iaWxlID0gKHdpbjogV2luZG93KSA9PiBtYXRjaE1lZGlhKHdpbiwgJyhhbnktcG9pbnRlcjpjb2Fyc2UpJyk7XHJcblxyXG5jb25zdCBpc0Rlc2t0b3AgPSAod2luOiBXaW5kb3cpID0+ICFpc01vYmlsZSh3aW4pO1xyXG5cclxuY29uc3QgaXNIeWJyaWQgPSAod2luOiBXaW5kb3cpID0+IGlzQ29yZG92YSh3aW4pIHx8IGlzQ2FwYWNpdG9yTmF0aXZlKHdpbik7XHJcblxyXG5jb25zdCBpc0NvcmRvdmEgPSAod2luOiBhbnkpOiBib29sZWFuID0+XHJcbiAgISEod2luWydjb3Jkb3ZhJ10gfHwgd2luWydwaG9uZWdhcCddIHx8IHdpblsnUGhvbmVHYXAnXSk7XHJcblxyXG5jb25zdCBpc0NhcGFjaXRvck5hdGl2ZSA9ICh3aW46IGFueSk6IGJvb2xlYW4gPT4ge1xyXG4gIGNvbnN0IGNhcGFjaXRvciA9IHdpblsnQ2FwYWNpdG9yJ107XHJcbiAgcmV0dXJuICEhKGNhcGFjaXRvciAmJiBjYXBhY2l0b3IuaXNOYXRpdmUpO1xyXG59O1xyXG5cclxuY29uc3QgaXNFbGVjdHJvbiA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT4gdGVzdFVzZXJBZ2VudCh3aW4sIC9lbGVjdHJvbi9pKTtcclxuXHJcbmNvbnN0IGlzUFdBID0gKHdpbjogV2luZG93KTogYm9vbGVhbiA9PlxyXG4gICEhKFxyXG4gICAgd2luLm1hdGNoTWVkaWEoJyhkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpJykubWF0Y2hlcyB8fFxyXG4gICAgKHdpbi5uYXZpZ2F0b3IgYXMgYW55KS5zdGFuZGFsb25lXHJcbiAgKTtcclxuXHJcbmV4cG9ydCBjb25zdCB0ZXN0VXNlckFnZW50ID0gKHdpbjogV2luZG93LCBleHByOiBSZWdFeHApID0+XHJcbiAgZXhwci50ZXN0KHdpbi5uYXZpZ2F0b3IudXNlckFnZW50KTtcclxuXHJcbmNvbnN0IG1hdGNoTWVkaWEgPSAod2luOiBXaW5kb3csIHF1ZXJ5OiBzdHJpbmcpOiBib29sZWFuID0+XHJcbiAgd2luLm1hdGNoTWVkaWEocXVlcnkpLm1hdGNoZXM7XHJcblxyXG5cclxuY29uc3QgaXNTTVNjcmVlbiA9ICh3aW46IFdpbmRvdykgPT4gbWF0Y2hNZWRpYSh3aW4sICcobWF4LXdpZHRoOiA2NDBweCknKTtcclxuY29uc3QgaXNNRFNjcmVlbiA9ICh3aW46IFdpbmRvdykgPT4gbWF0Y2hNZWRpYSh3aW4sICcobWF4LXdpZHRoOiA3NjhweCknKTtcclxuY29uc3QgaXNMR1NjcmVlbiA9ICh3aW46IFdpbmRvdykgPT4gbWF0Y2hNZWRpYSh3aW4sICcobWF4LXdpZHRoOiAxMDI0cHgpJyk7XHJcbmNvbnN0IGlzWExTY3JlZW4gPSAod2luOiBXaW5kb3cpID0+IG1hdGNoTWVkaWEod2luLCAnKG1heC13aWR0aDogMTI4MHB4KScpO1xyXG5jb25zdCBpczJYTFNjcmVlbiA9ICh3aW46IFdpbmRvdykgPT4gbWF0Y2hNZWRpYSh3aW4sICcobWF4LXdpZHRoOiAxNTM2cHgpJyk7XHJcblxyXG5jb25zdCBQTEFURk9STVNfTUFQOiBhbnkgPSB7XHJcbiAgQW5kcm9pZDogaXNBbmRyb2lkLFxyXG4gIGlPUzogaXNJT1MsXHJcbiAgRGVza3RvcDogaXNEZXNrdG9wLFxyXG4gIE1vYmlsZTogaXNNb2JpbGUsXHJcbiAgQ2hyb21lOiBpc0Nocm9tZSxcclxuICBGaXJlZm94OiBpc0ZpcmVmb3gsXHJcbiAgU2FmYXJpOiBpc1NhZmFyaSxcclxuICBFZGdlOiBpc0VkZ2UsXHJcbiAgT3BlcmE6IGlzT3BlcmEsXHJcbiAgSHlicmlkOiBpc0h5YnJpZCxcclxuICBQV0E6IGlzUFdBLFxyXG4gIEVsZWN0cm9uOiBpc0VsZWN0cm9uLFxyXG4gIFNNOiBpc1NNU2NyZWVuLFxyXG4gIE1EOiBpc01EU2NyZWVuLFxyXG4gIExHOiBpc0xHU2NyZWVuLFxyXG4gIFhMOiBpc1hMU2NyZWVuLFxyXG4gIFwiMlhMXCI6IGlzMlhMU2NyZWVuLFxyXG59O1xyXG5cclxuZXhwb3J0IGNsYXNzIEFYUGxhdGZvcm1FdmVudCB7XHJcbiAgbmF0aXZlRXZlbnQhOiBVSUV2ZW50IHwgRXZlbnQ7XHJcbiAgc291cmNlITogQVhQbGF0Zm9ybTtcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdwbGF0Zm9ybScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFBsYXRmb3JtIHtcclxuICByZXNpemU6IFN1YmplY3Q8QVhQbGF0Zm9ybUV2ZW50PiA9IG5ldyBTdWJqZWN0PEFYUGxhdGZvcm1FdmVudD4oKTtcclxuICBjbGljazogU3ViamVjdDxBWFBsYXRmb3JtRXZlbnQ+ID0gbmV3IFN1YmplY3Q8QVhQbGF0Zm9ybUV2ZW50PigpO1xyXG4gIHNjcm9sbDogU3ViamVjdDxBWFBsYXRmb3JtRXZlbnQ+ID0gbmV3IFN1YmplY3Q8QVhQbGF0Zm9ybUV2ZW50PigpO1xyXG5cclxuICBpc1J0bCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIGRvY3VtZW50LmRpciA9PSAncnRsJyB8fFxyXG4gICAgICBkb2N1bWVudC5ib2R5LmRpciA9PSAncnRsJyB8fFxyXG4gICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmRpcmVjdGlvbiA9PSAncnRsJ1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGlzTGFuZHNjYXBlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHdpbmRvdy5pbm5lckhlaWdodCA8IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gIH1cclxuXHJcbiAgaXNQb3J0cmF0ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhdGhpcy5pc0xhbmRzY2FwZSgpO1xyXG4gIH1cclxuXHJcbiAgaXMobmFtZTogQVhQbGF0Zm9ybXMgfCBBWEJyb3dzZXJzIHwgQVhUZWNobm9sb2dpZXMpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBQTEFURk9STVNfTUFQW25hbWVdKHdpbmRvdykgfHwgZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzd2l0Y2hEYXJrTW9kZSgpIHtcclxuICAgIGNvbnN0IF9odG1sID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2h0bWwnKVswXTtcclxuICAgIF9odG1sLmNsYXNzTGlzdC5hZGQoJ2F4LWRhcmsnKTtcclxuICB9XHJcblxyXG4gIHN3aXRjaExpZ2h0TW9kZSgpIHtcclxuICAgIGNvbnN0IF9odG1sID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2h0bWwnKVswXTtcclxuICAgIF9odG1sLmNsYXNzTGlzdC5yZW1vdmUoJ2F4LWRhcmsnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NldEZ1bGxIZWlnaHRSYXRpbygpIHtcclxuICAgIGRvY3VtZW50XHJcbiAgICAgIC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PignOnJvb3QnKVxyXG4gICAgICA/LnN0eWxlLnNldFByb3BlcnR5KCctLWF4LXZoJywgd2luZG93LmlubmVySGVpZ2h0IC8gMTAwICsgJ3B4Jyk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIGZyb21FdmVudDxVSUV2ZW50Pih3aW5kb3csICdyZXNpemUnKVxyXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMTAwKSlcclxuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcclxuICAgICAgLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICAgIHRoaXMucmVzaXplLm5leHQoe1xyXG4gICAgICAgICAgbmF0aXZlRXZlbnQ6IGUsXHJcbiAgICAgICAgICBzb3VyY2U6IHRoaXMsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgLy9cclxuICAgICAgICB0aGlzLl9zZXRGdWxsSGVpZ2h0UmF0aW8oKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcclxuICAgICAgJ2NsaWNrJyxcclxuICAgICAgKGUpID0+IHtcclxuICAgICAgICB0aGlzLmNsaWNrLm5leHQoe1xyXG4gICAgICAgICAgbmF0aXZlRXZlbnQ6IGUsXHJcbiAgICAgICAgICBzb3VyY2U6IHRoaXMsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIHRydWVcclxuICAgICk7XHJcblxyXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcclxuICAgICAgJ3Njcm9sbCcsXHJcbiAgICAgIChlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zY3JvbGwubmV4dCh7XHJcbiAgICAgICAgICBuYXRpdmVFdmVudDogZSxcclxuICAgICAgICAgIHNvdXJjZTogdGhpcyxcclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgICAgdHJ1ZVxyXG4gICAgKTtcclxuICAgIC8vIGluaXQgZnVuY3Rpb25zXHJcbiAgICB0aGlzLl9zZXRGdWxsSGVpZ2h0UmF0aW8oKTtcclxuICB9XHJcbn1cclxuIl19
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL3BsYXRmb3JtL3NyYy9wbGF0Zm9ybS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQWNwRSxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUV6RSxNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUUzRSxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUVyRSxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUV6RSxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQ3ZDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLElBQUksYUFBYSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUU3RCxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQ3RDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLElBQUksYUFBYSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUVoRSxNQUFNLFdBQVcsR0FBRyxDQUFDLEdB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QUFXLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsRUFBRSxDQUFDLElBQStEO1FBQ2hFLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQztJQUM5QyxDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RCxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsZUFBZTtRQUNiLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RCxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLFFBQVE7YUFDTCxhQUFhLENBQWMsT0FBTyxDQUFDO1lBQ3BDLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLFdBQVcsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDcEUsQ0FBQzs7dUdBdkNVLFVBQVU7MkdBQVYsVUFBVSxjQUZULFVBQVU7MkZBRVgsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsVUFBVTtpQkFDdkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuZXhwb3J0IHR5cGUgQVhQbGF0Zm9ybXMgPSAnQW5kcm9pZCcgfCAnRGVza3RvcCcgfCAnaU9TJyB8ICdNb2JpbGUnO1xyXG5leHBvcnQgdHlwZSBBWEJyb3dzZXJzID1cclxuICB8ICdDaHJvbWUnXHJcbiAgfCAnU2FmYXJpJ1xyXG4gIHwgJ0VkZ2UnXHJcbiAgfCAnRmlyZWZveCdcclxuICB8ICdPcGVyYSdcclxuICB8ICdNU0lFJztcclxuZXhwb3J0IHR5cGUgQVhUZWNobm9sb2dpZXMgPSAnUFdBJyB8ICdIeWJyaWQnIHwgJ0VsZWN0cm9uJztcclxuXHJcbmV4cG9ydCB0eXBlIEFYU2NyZWVuU2l6ZXMgPSAnU00nIHwgJ01EJyB8ICdMRycgfCAnWEwnIHwgJzJYTCc7XHJcblxyXG5jb25zdCBpc0Nocm9tZSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT4gdGVzdFVzZXJBZ2VudCh3aW4sIC9DaHJvbWUvaSk7XHJcblxyXG5jb25zdCBpc0ZpcmVmb3ggPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+IHRlc3RVc2VyQWdlbnQod2luLCAvRmlyZWZveC9pKTtcclxuXHJcbmNvbnN0IGlzRWRnZSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT4gdGVzdFVzZXJBZ2VudCh3aW4sIC9FZGdlL2kpO1xyXG5cclxuY29uc3QgaXNTYWZhcmkgPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+IHRlc3RVc2VyQWdlbnQod2luLCAvU2FmYXJpL2kpO1xyXG5cclxuY29uc3QgaXNPcGVyYSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT5cclxuICB0ZXN0VXNlckFnZW50KHdpbiwgL09wZXJhL2kpIHx8IHRlc3RVc2VyQWdlbnQod2luLCAvT1BSL2kpO1xyXG5cclxuY29uc3QgaXNNU0lFID0gKHdpbjogV2luZG93KTogYm9vbGVhbiA9PlxyXG4gIHRlc3RVc2VyQWdlbnQod2luLCAvTVNJRS9pKSB8fCB0ZXN0VXNlckFnZW50KHdpbiwgL1RyaWRlbnQvaSk7XHJcblxyXG5jb25zdCBpc01vYmlsZVdlYiA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT4gaXNNb2JpbGUod2luKSAmJiAhaXNIeWJyaWQod2luKTtcclxuXHJcbmNvbnN0IGlzSXBhZCA9ICh3aW46IFdpbmRvdykgPT4ge1xyXG4gIC8vIGlPUyAxMiBhbmQgYmVsb3dcclxuICBpZiAodGVzdFVzZXJBZ2VudCh3aW4sIC9pUGFkL2kpKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8vIGlPUyAxMytcclxuICBpZiAodGVzdFVzZXJBZ2VudCh3aW4sIC9NYWNpbnRvc2gvaSkgJiYgaXNNb2JpbGUod2luKSkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gZmFsc2U7XHJcbn07XHJcblxyXG5jb25zdCBpc0lwaG9uZSA9ICh3aW46IFdpbmRvdykgPT4gdGVzdFVzZXJBZ2VudCh3aW4sIC9pUGhvbmUvaSk7XHJcblxyXG5jb25zdCBpc0lPUyA9ICh3aW46IFdpbmRvdykgPT5cclxuICB0ZXN0VXNlckFnZW50KHdpbiwgL2lQaG9uZXxpUG9kL2kpIHx8IGlzSXBhZCh3aW4pO1xyXG5cclxuY29uc3QgaXNBbmRyb2lkID0gKHdpbjogV2luZG93KSA9PiB0ZXN0VXNlckFnZW50KHdpbiwgL2FuZHJvaWR8c2luay9pKTtcclxuXHJcbmNvbnN0IGlzQW5kcm9pZFRhYmxldCA9ICh3aW46IFdpbmRvdykgPT4ge1xyXG4gIHJldHVybiBpc0FuZHJvaWQod2luKSAmJiAhdGVzdFVzZXJBZ2VudCh3aW4sIC9tb2JpbGUvaSk7XHJcbn07XHJcblxyXG5jb25zdCBpc1BoYWJsZXQgPSAod2luOiBXaW5kb3cpID0+IHtcclxuICBjb25zdCB3aWR0aCA9IHdpbi5pbm5lcldpZHRoO1xyXG4gIGNvbnN0IGhlaWdodCA9IHdpbi5pbm5lckhlaWdodDtcclxuICBjb25zdCBzbWFsbGVzdCA9IE1hdGgubWluKHdpZHRoLCBoZWlnaHQpO1xyXG4gIGNvbnN0IGxhcmdlc3QgPSBNYXRoLm1heCh3aWR0aCwgaGVpZ2h0KTtcclxuXHJcbiAgcmV0dXJuIHNtYWxsZXN0ID4gMzkwICYmIHNtYWxsZXN0IDwgNTIwICYmIGxhcmdlc3QgPiA2MjAgJiYgbGFyZ2VzdCA8IDgwMDtcclxufTtcclxuXHJcbmNvbnN0IGlzVGFibGV0ID0gKHdpbjogV2luZG93KSA9PiB7XHJcbiAgY29uc3Qgd2lkdGggPSB3aW4uaW5uZXJXaWR0aDtcclxuICBjb25zdCBoZWlnaHQgPSB3aW4uaW5uZXJIZWlnaHQ7XHJcbiAgY29uc3Qgc21hbGxlc3QgPSBNYXRoLm1pbih3aWR0aCwgaGVpZ2h0KTtcclxuICBjb25zdCBsYXJnZXN0ID0gTWF0aC5tYXgod2lkdGgsIGhlaWdodCk7XHJcblxyXG4gIHJldHVybiAoXHJcbiAgICBpc0lwYWQod2luKSB8fFxyXG4gICAgaXNBbmRyb2lkVGFibGV0KHdpbikgfHxcclxuICAgIChzbWFsbGVzdCA+IDQ2MCAmJiBzbWFsbGVzdCA8IDgyMCAmJiBsYXJnZXN0ID4gNzgwICYmIGxhcmdlc3QgPCAxNDAwKVxyXG4gICk7XHJcbn07XHJcblxyXG5jb25zdCBpc01vYmlsZSA9ICh3aW46IFdpbmRvdykgPT4gbWF0Y2hNZWRpYSh3aW4sICcoYW55LXBvaW50ZXI6Y29hcnNlKScpO1xyXG5cclxuY29uc3QgaXNEZXNrdG9wID0gKHdpbjogV2luZG93KSA9PiAhaXNNb2JpbGUod2luKTtcclxuXHJcbmNvbnN0IGlzSHlicmlkID0gKHdpbjogV2luZG93KSA9PiBpc0NvcmRvdmEod2luKSB8fCBpc0NhcGFjaXRvck5hdGl2ZSh3aW4pO1xyXG5cclxuY29uc3QgaXNDb3Jkb3ZhID0gKHdpbjogYW55KTogYm9vbGVhbiA9PlxyXG4gICEhKHdpblsnY29yZG92YSddIHx8IHdpblsncGhvbmVnYXAnXSB8fCB3aW5bJ1Bob25lR2FwJ10pO1xyXG5cclxuY29uc3QgaXNDYXBhY2l0b3JOYXRpdmUgPSAod2luOiBhbnkpOiBib29sZWFuID0+IHtcclxuICBjb25zdCBjYXBhY2l0b3IgPSB3aW5bJ0NhcGFjaXRvciddO1xyXG4gIHJldHVybiAhIShjYXBhY2l0b3IgJiYgY2FwYWNpdG9yLmlzTmF0aXZlKTtcclxufTtcclxuXHJcbmNvbnN0IGlzRWxlY3Ryb24gPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+IHRlc3RVc2VyQWdlbnQod2luLCAvZWxlY3Ryb24vaSk7XHJcblxyXG5jb25zdCBpc1BXQSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT5cclxuICAhIShcclxuICAgIHdpbi5tYXRjaE1lZGlhKCcoZGlzcGxheS1tb2RlOiBzdGFuZGFsb25lKScpLm1hdGNoZXMgfHxcclxuICAgICh3aW4ubmF2aWdhdG9yIGFzIGFueSkuc3RhbmRhbG9uZVxyXG4gICk7XHJcblxyXG5leHBvcnQgY29uc3QgdGVzdFVzZXJBZ2VudCA9ICh3aW46IFdpbmRvdywgZXhwcjogUmVnRXhwKSA9PlxyXG4gIGV4cHIudGVzdCh3aW4ubmF2aWdhdG9yLnVzZXJBZ2VudCk7XHJcblxyXG5jb25zdCBtYXRjaE1lZGlhID0gKHdpbjogV2luZG93LCBxdWVyeTogc3RyaW5nKTogYm9vbGVhbiA9PlxyXG4gIHdpbi5tYXRjaE1lZGlhKHF1ZXJ5KS5tYXRjaGVzO1xyXG5cclxuXHJcbmNvbnN0IGlzU01TY3JlZW4gPSAod2luOiBXaW5kb3cpID0+IG1hdGNoTWVkaWEod2luLCAnKG1heC13aWR0aDogNjQwcHgpJyk7XHJcbmNvbnN0IGlzTURTY3JlZW4gPSAod2luOiBXaW5kb3cpID0+IG1hdGNoTWVkaWEod2luLCAnKG1heC13aWR0aDogNzY4cHgpJyk7XHJcbmNvbnN0IGlzTEdTY3JlZW4gPSAod2luOiBXaW5kb3cpID0+IG1hdGNoTWVkaWEod2luLCAnKG1heC13aWR0aDogMTAyNHB4KScpO1xyXG5jb25zdCBpc1hMU2NyZWVuID0gKHdpbjogV2luZG93KSA9PiBtYXRjaE1lZGlhKHdpbiwgJyhtYXgtd2lkdGg6IDEyODBweCknKTtcclxuY29uc3QgaXMyWExTY3JlZW4gPSAod2luOiBXaW5kb3cpID0+IG1hdGNoTWVkaWEod2luLCAnKG1heC13aWR0aDogMTUzNnB4KScpO1xyXG5cclxuY29uc3QgUExBVEZPUk1TX01BUDogYW55ID0ge1xyXG4gIEFuZHJvaWQ6IGlzQW5kcm9pZCxcclxuICBpT1M6IGlzSU9TLFxyXG4gIERlc2t0b3A6IGlzRGVza3RvcCxcclxuICBNb2JpbGU6IGlzTW9iaWxlLFxyXG4gIENocm9tZTogaXNDaHJvbWUsXHJcbiAgRmlyZWZveDogaXNGaXJlZm94LFxyXG4gIFNhZmFyaTogaXNTYWZhcmksXHJcbiAgRWRnZTogaXNFZGdlLFxyXG4gIE9wZXJhOiBpc09wZXJhLFxyXG4gIEh5YnJpZDogaXNIeWJyaWQsXHJcbiAgUFdBOiBpc1BXQSxcclxuICBFbGVjdHJvbjogaXNFbGVjdHJvbixcclxuICBTTTogaXNTTVNjcmVlbixcclxuICBNRDogaXNNRFNjcmVlbixcclxuICBMRzogaXNMR1NjcmVlbixcclxuICBYTDogaXNYTFNjcmVlbixcclxuICBcIjJYTFwiOiBpczJYTFNjcmVlbixcclxufTtcclxuXHJcbmV4cG9ydCBjbGFzcyBBWFBsYXRmb3JtRXZlbnQge1xyXG4gIG5hdGl2ZUV2ZW50ITogVUlFdmVudCB8IEV2ZW50O1xyXG4gIHNvdXJjZSE6IEFYUGxhdGZvcm07XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncGxhdGZvcm0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhQbGF0Zm9ybSB7XHJcbiAgcmVzaXplOiBTdWJqZWN0PEFYUGxhdGZvcm1FdmVudD4gPSBuZXcgU3ViamVjdDxBWFBsYXRmb3JtRXZlbnQ+KCk7XHJcbiAgY2xpY2s6IFN1YmplY3Q8QVhQbGF0Zm9ybUV2ZW50PiA9IG5ldyBTdWJqZWN0PEFYUGxhdGZvcm1FdmVudD4oKTtcclxuICBzY3JvbGw6IFN1YmplY3Q8QVhQbGF0Zm9ybUV2ZW50PiA9IG5ldyBTdWJqZWN0PEFYUGxhdGZvcm1FdmVudD4oKTtcclxuXHJcbiAgaXNSdGwoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICBkb2N1bWVudC5kaXIgPT0gJ3J0bCcgfHxcclxuICAgICAgZG9jdW1lbnQuYm9keS5kaXIgPT0gJ3J0bCcgfHxcclxuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5kaXJlY3Rpb24gPT0gJ3J0bCdcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBpc0xhbmRzY2FwZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB3aW5kb3cuaW5uZXJIZWlnaHQgPCB3aW5kb3cuaW5uZXJXaWR0aDtcclxuICB9XHJcblxyXG4gIGlzUG9ydHJhdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gIXRoaXMuaXNMYW5kc2NhcGUoKTtcclxuICB9XHJcblxyXG4gIGlzKG5hbWU6IEFYUGxhdGZvcm1zIHwgQVhCcm93c2VycyB8IEFYVGVjaG5vbG9naWVzIHwgQVhTY3JlZW5TaXplcyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIFBMQVRGT1JNU19NQVBbbmFtZV0od2luZG93KSB8fCBmYWxzZTtcclxuICB9XHJcblxyXG4gIHN3aXRjaERhcmtNb2RlKCkge1xyXG4gICAgY29uc3QgX2h0bWwgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaHRtbCcpWzBdO1xyXG4gICAgX2h0bWwuY2xhc3NMaXN0LmFkZCgnYXgtZGFyaycpO1xyXG4gIH1cclxuXHJcbiAgc3dpdGNoTGlnaHRNb2RlKCkge1xyXG4gICAgY29uc3QgX2h0bWwgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaHRtbCcpWzBdO1xyXG4gICAgX2h0bWwuY2xhc3NMaXN0LnJlbW92ZSgnYXgtZGFyaycpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0RnVsbEhlaWdodFJhdGlvKCkge1xyXG4gICAgZG9jdW1lbnRcclxuICAgICAgLnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KCc6cm9vdCcpXHJcbiAgICAgID8uc3R5bGUuc2V0UHJvcGVydHkoJy0tYXgtdmgnLCB3aW5kb3cuaW5uZXJIZWlnaHQgLyAxMDAgKyAncHgnKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgZnJvbUV2ZW50PFVJRXZlbnQ+KHdpbmRvdywgJ3Jlc2l6ZScpXHJcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMDApKVxyXG4gICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxyXG4gICAgICAuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5yZXNpemUubmV4dCh7XHJcbiAgICAgICAgICBuYXRpdmVFdmVudDogZSxcclxuICAgICAgICAgIHNvdXJjZTogdGhpcyxcclxuICAgICAgICB9KTtcclxuICAgICAgICAvL1xyXG4gICAgICAgIHRoaXMuX3NldEZ1bGxIZWlnaHRSYXRpbygpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFxyXG4gICAgICAnY2xpY2snLFxyXG4gICAgICAoZSkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2xpY2submV4dCh7XHJcbiAgICAgICAgICBuYXRpdmVFdmVudDogZSxcclxuICAgICAgICAgIHNvdXJjZTogdGhpcyxcclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgICAgdHJ1ZVxyXG4gICAgKTtcclxuXHJcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFxyXG4gICAgICAnc2Nyb2xsJyxcclxuICAgICAgKGUpID0+IHtcclxuICAgICAgICB0aGlzLnNjcm9sbC5uZXh0KHtcclxuICAgICAgICAgIG5hdGl2ZUV2ZW50OiBlLFxyXG4gICAgICAgICAgc291cmNlOiB0aGlzLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICB0cnVlXHJcbiAgICApO1xyXG4gICAgLy8gaW5pdCBmdW5jdGlvbnNcclxuICAgIHRoaXMuX3NldEZ1bGxIZWlnaHRSYXRpbygpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Injectable, NgModule } from '@angular/core';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import * as i1 from '@angular/common/http';
|
|
5
|
+
import { CommonModule } from '@angular/common';
|
|
6
|
+
|
|
7
|
+
class AXFileDownloadRef extends Promise {
|
|
8
|
+
constructor(executor) {
|
|
9
|
+
super(executor);
|
|
10
|
+
}
|
|
11
|
+
//abort the operation
|
|
12
|
+
abort() {
|
|
13
|
+
if (this.abortMethod) {
|
|
14
|
+
this.abortMethod();
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
class AXFileDownloadResult {
|
|
20
|
+
constructor(response) {
|
|
21
|
+
this._response = response;
|
|
22
|
+
}
|
|
23
|
+
save(filename) {
|
|
24
|
+
this._defaultBrowserDownload(filename);
|
|
25
|
+
return Promise.resolve();
|
|
26
|
+
// else {
|
|
27
|
+
// return new Promise((resolve, reject) => {
|
|
28
|
+
// const button = document.createElement("button");
|
|
29
|
+
// button.addEventListener('click', async () => {
|
|
30
|
+
// debugger
|
|
31
|
+
// button.remove();
|
|
32
|
+
// const opts = {
|
|
33
|
+
// types: [{
|
|
34
|
+
// description: 'Save File',
|
|
35
|
+
// suggestedName: filename
|
|
36
|
+
// // accept: {'text/plain': ['.txt']},
|
|
37
|
+
// }],
|
|
38
|
+
// };
|
|
39
|
+
// const result = await window['showSaveFilePicker'](opts);
|
|
40
|
+
// console.log(result);
|
|
41
|
+
// resolve();
|
|
42
|
+
// });
|
|
43
|
+
// button.click();
|
|
44
|
+
// });
|
|
45
|
+
// }
|
|
46
|
+
}
|
|
47
|
+
blob() {
|
|
48
|
+
return this._response;
|
|
49
|
+
}
|
|
50
|
+
base64() {
|
|
51
|
+
return new Promise((resolve, reject) => {
|
|
52
|
+
var reader = new window.FileReader();
|
|
53
|
+
reader.onloadend = () => resolve(reader.result);
|
|
54
|
+
reader.onerror = (e) => reject(e);
|
|
55
|
+
reader.readAsDataURL(this._response);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
_defaultBrowserDownload(filename = 'download') {
|
|
59
|
+
const link = document.createElement("a");
|
|
60
|
+
link.href = URL.createObjectURL(this._response);
|
|
61
|
+
link.download = filename;
|
|
62
|
+
link.click();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
class AXFileUploadRef extends Promise {
|
|
67
|
+
constructor(executor) {
|
|
68
|
+
super(executor);
|
|
69
|
+
}
|
|
70
|
+
//abort the operation
|
|
71
|
+
abort() {
|
|
72
|
+
if (this.abortMethod) {
|
|
73
|
+
this.abortMethod();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
class AXFileService {
|
|
79
|
+
constructor(_httpClient) {
|
|
80
|
+
this._httpClient = _httpClient;
|
|
81
|
+
this.blobToBase64 = (blob) => new Promise((resolve, reject) => {
|
|
82
|
+
const reader = new FileReader;
|
|
83
|
+
reader.onerror = reject;
|
|
84
|
+
reader.onload = () => {
|
|
85
|
+
resolve(reader.result);
|
|
86
|
+
};
|
|
87
|
+
reader.readAsDataURL(blob);
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
download(request) {
|
|
91
|
+
let s;
|
|
92
|
+
const promiseFunc = (resolve, reject) => {
|
|
93
|
+
//TODO: add custome http request
|
|
94
|
+
//const headers = new HttpHeaders().set('authorization','Bearer '+token);
|
|
95
|
+
let b;
|
|
96
|
+
if (typeof request === 'string') {
|
|
97
|
+
b = this._httpClient.get(request, { responseType: 'blob' });
|
|
98
|
+
}
|
|
99
|
+
else if (b instanceof (Observable)) {
|
|
100
|
+
b = request;
|
|
101
|
+
}
|
|
102
|
+
s = b === null || b === void 0 ? void 0 : b.subscribe({
|
|
103
|
+
next: (v) => resolve(new AXFileDownloadResult(v)),
|
|
104
|
+
error: (e) => reject(e)
|
|
105
|
+
});
|
|
106
|
+
};
|
|
107
|
+
const a = new AXFileDownloadRef(promiseFunc);
|
|
108
|
+
a.abort = () => {
|
|
109
|
+
s === null || s === void 0 ? void 0 : s.unsubscribe();
|
|
110
|
+
};
|
|
111
|
+
return a;
|
|
112
|
+
}
|
|
113
|
+
upload(url, files) {
|
|
114
|
+
let s;
|
|
115
|
+
let formData = new FormData();
|
|
116
|
+
files.forEach(f => {
|
|
117
|
+
formData.append("files", f);
|
|
118
|
+
});
|
|
119
|
+
const promiseFunc = (resolve, reject) => {
|
|
120
|
+
let b;
|
|
121
|
+
b = this._httpClient.post(url, formData);
|
|
122
|
+
s = b === null || b === void 0 ? void 0 : b.subscribe({
|
|
123
|
+
next: (v) => resolve(v),
|
|
124
|
+
error: (e) => reject(e)
|
|
125
|
+
});
|
|
126
|
+
};
|
|
127
|
+
const a = new AXFileUploadRef(promiseFunc);
|
|
128
|
+
a.abort = () => {
|
|
129
|
+
s === null || s === void 0 ? void 0 : s.unsubscribe();
|
|
130
|
+
};
|
|
131
|
+
return a;
|
|
132
|
+
}
|
|
133
|
+
choose(options) {
|
|
134
|
+
return new Promise((resolve, reject) => {
|
|
135
|
+
options = Object.assign({ multiple: false }, options);
|
|
136
|
+
const input = document.createElement("input");
|
|
137
|
+
input.type = 'file';
|
|
138
|
+
input.accept = options.accept;
|
|
139
|
+
input.multiple = options.multiple;
|
|
140
|
+
input.onchange = () => {
|
|
141
|
+
resolve(Array.from(input.files));
|
|
142
|
+
input.remove();
|
|
143
|
+
};
|
|
144
|
+
input.onerror = (e) => {
|
|
145
|
+
reject(e);
|
|
146
|
+
input.remove();
|
|
147
|
+
};
|
|
148
|
+
input.click();
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
AXFileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
153
|
+
AXFileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileService });
|
|
154
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileService, decorators: [{
|
|
155
|
+
type: Injectable
|
|
156
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
157
|
+
|
|
158
|
+
class AXFileModule {
|
|
159
|
+
}
|
|
160
|
+
AXFileModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
161
|
+
AXFileModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: AXFileModule, imports: [CommonModule] });
|
|
162
|
+
AXFileModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileModule, providers: [AXFileService], imports: [CommonModule] });
|
|
163
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileModule, decorators: [{
|
|
164
|
+
type: NgModule,
|
|
165
|
+
args: [{
|
|
166
|
+
declarations: [],
|
|
167
|
+
imports: [CommonModule],
|
|
168
|
+
exports: [],
|
|
169
|
+
providers: [AXFileService],
|
|
170
|
+
}]
|
|
171
|
+
}] });
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* Generated bundle index. Do not edit.
|
|
175
|
+
*/
|
|
176
|
+
|
|
177
|
+
export { AXFileDownloadRef, AXFileDownloadResult, AXFileModule, AXFileService, AXFileUploadRef };
|
|
178
|
+
//# sourceMappingURL=acorex-core-file.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-core-file.mjs","sources":["../../../../projects/acorex/core/file/src/file-download-ref.class.ts","../../../../projects/acorex/core/file/src/file-download-result.class.ts","../../../../projects/acorex/core/file/src/file-upload-ref.class.ts","../../../../projects/acorex/core/file/src/file.service.ts","../../../../projects/acorex/core/file/src/file.module.ts","../../../../projects/acorex/core/file/acorex-core-file.ts"],"sourcesContent":["import { AXFileDownloadResult } from \"./file-download-result.class\";\r\n\r\nexport class AXFileDownloadRef extends Promise<AXFileDownloadResult>\r\n{\r\n public abortMethod: () => void;\r\n constructor(executor: (resolve: (value?: PromiseLike<AXFileDownloadResult>) => void, reject: (reason?: any) => void) => void) {\r\n super(executor);\r\n\r\n }\r\n //abort the operation\r\n public abort() {\r\n if (this.abortMethod) {\r\n this.abortMethod();\r\n }\r\n }\r\n}","export class AXFileDownloadResult {\r\n\r\n _response: Blob;\r\n\r\n constructor(response: Blob) {\r\n this._response = response;\r\n }\r\n\r\n save(filename?: string): Promise<void> {\r\n this._defaultBrowserDownload(filename);\r\n return Promise.resolve();\r\n // else {\r\n // return new Promise((resolve, reject) => {\r\n // const button = document.createElement(\"button\");\r\n // button.addEventListener('click', async () => {\r\n // debugger\r\n // button.remove();\r\n // const opts = {\r\n // types: [{\r\n // description: 'Save File',\r\n // suggestedName: filename\r\n // // accept: {'text/plain': ['.txt']},\r\n // }],\r\n // };\r\n // const result = await window['showSaveFilePicker'](opts);\r\n // console.log(result);\r\n\r\n // resolve();\r\n // });\r\n // button.click();\r\n // });\r\n\r\n // }\r\n }\r\n\r\n\r\n blob() {\r\n return this._response;\r\n }\r\n\r\n base64(): Promise<string> {\r\n return new Promise((resolve, reject) => {\r\n var reader = new window.FileReader();\r\n reader.onloadend = () => resolve(reader.result as string);\r\n reader.onerror = (e) => reject(e);\r\n reader.readAsDataURL(this._response);\r\n })\r\n }\r\n\r\n private _defaultBrowserDownload(filename: string = 'download') {\r\n const link = document.createElement(\"a\");\r\n link.href = URL.createObjectURL(this._response);\r\n link.download = filename;\r\n link.click();\r\n }\r\n}","export class AXFileUploadRef<T = any> extends Promise<T>\r\n{\r\n public abortMethod: () => void;\r\n constructor(executor: (resolve: (value?: PromiseLike<T>) => void, reject: (reason?: any) => void) => void) {\r\n super(executor);\r\n\r\n }\r\n //abort the operation\r\n public abort() {\r\n if (this.abortMethod) {\r\n this.abortMethod();\r\n }\r\n }\r\n}","import { HttpClient, HttpContext, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { AXFileDownloadRef } from './file-download-ref.class';\r\nimport { AXFileDownloadResult } from './file-download-result.class';\r\nimport { AXFileUploadRef } from './file-upload-ref.class';\r\n\r\n\r\n@Injectable()\r\nexport class AXFileService {\r\n constructor(private _httpClient: HttpClient) { }\r\n\r\n public download(request: string | Observable<Blob>): AXFileDownloadRef {\r\n let s: Subscription;\r\n const promiseFunc = (resolve, reject) => {\r\n //TODO: add custome http request\r\n //const headers = new HttpHeaders().set('authorization','Bearer '+token);\r\n let b: Observable<Blob>;\r\n if (typeof request === 'string') {\r\n b = this._httpClient.get(request, { responseType: 'blob' });\r\n }\r\n else if (b instanceof Observable<Blob>) {\r\n b = request;\r\n }\r\n s = b?.subscribe({\r\n next: (v) => resolve(new AXFileDownloadResult(v)),\r\n error: (e) => reject(e)\r\n })\r\n };\r\n\r\n const a = new AXFileDownloadRef(promiseFunc);\r\n a.abort = () => {\r\n s?.unsubscribe();\r\n };\r\n\r\n return a;\r\n }\r\n\r\n public upload<T = any>(url: string, files: File[]): AXFileUploadRef<T> {\r\n let s: Subscription;\r\n let formData = new FormData();\r\n files.forEach(f => {\r\n formData.append(\"files\", f);\r\n })\r\n const promiseFunc = (resolve, reject) => {\r\n let b: Observable<T>;\r\n b = this._httpClient.post<T>(url, formData);\r\n\r\n s = b?.subscribe({\r\n next: (v) => resolve(v),\r\n error: (e) => reject(e)\r\n })\r\n };\r\n\r\n const a = new AXFileUploadRef(promiseFunc);\r\n a.abort = () => {\r\n s?.unsubscribe();\r\n };\r\n return a;\r\n }\r\n\r\n public choose(options?: { accept?: string, multiple?: boolean }): Promise<File[]> {\r\n return new Promise<File[]>((resolve, reject) => {\r\n options = Object.assign({ multiple: false }, options);\r\n const input = document.createElement(\"input\");\r\n input.type = 'file';\r\n input.accept = options.accept;\r\n input.multiple = options.multiple;\r\n input.onchange = () => {\r\n resolve(Array.from(input.files));\r\n input.remove();\r\n }\r\n input.onerror = (e) => {\r\n reject(e);\r\n input.remove();\r\n };\r\n input.click();\r\n });\r\n }\r\n\r\n blobToBase64 = (blob: Blob) => new Promise((resolve, reject) => {\r\n const reader = new FileReader;\r\n reader.onerror = reject;\r\n reader.onload = () => {\r\n resolve(reader.result);\r\n };\r\n reader.readAsDataURL(blob);\r\n });\r\n}\r\n\r\n\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXFileService } from './file.service';\n\n\n\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n exports: [],\n providers: [AXFileService],\n})\nexport class AXFileModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|