@cleavelandprice/ngx-lib 2.1.3 → 2.2.2
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/README.md +615 -615
- package/esm2020/cleavelandprice-ngx-lib.mjs +5 -0
- package/{esm2015/public_api.js → esm2020/public_api.mjs} +1 -1
- package/esm2020/src/authentication/authentication.module.mjs +112 -0
- package/esm2020/src/authentication/components/login/login.component.mjs +40 -0
- package/esm2020/src/authentication/components/login-form/login-form.component.mjs +45 -0
- package/esm2020/src/authentication/model/authentication-token.mjs +2 -0
- package/{esm2015/src/authentication/model/authentication.service.config.js → esm2020/src/authentication/model/authentication.service.config.mjs} +1 -1
- package/esm2020/src/authentication/services/authentication.service.mjs +138 -0
- package/esm2020/src/dialog/components/_dialog/dialog.component.mjs +83 -0
- package/esm2020/src/dialog/components/confirmation-dialog/confirmation-dialog.component.mjs +21 -0
- package/esm2020/src/dialog/components/input-dialog/input-dialog.component.mjs +21 -0
- package/esm2020/src/dialog/components/message-dialog/message-dialog.component.mjs +21 -0
- package/esm2020/src/dialog/dialog.module.mjs +74 -0
- package/{esm2015/src/dialog/model/confirmation-dialog-mode.enum.js → esm2020/src/dialog/model/confirmation-dialog-mode.enum.mjs} +1 -1
- package/esm2020/src/email/email.module.mjs +47 -0
- package/esm2020/src/email/model/email-dto.mjs +2 -0
- package/{esm2015/src/email/model/email-sender.js → esm2020/src/email/model/email-sender.mjs} +2 -1
- package/{esm2015/src/email/model/email.js → esm2020/src/email/model/email.mjs} +2 -1
- package/{esm2015/src/email/model/email.service.config.js → esm2020/src/email/model/email.service.config.mjs} +1 -1
- package/esm2020/src/email/services/email.service.mjs +31 -0
- package/esm2020/src/employee/employee.module.mjs +91 -0
- package/esm2020/src/employee/model/employee.mjs +2 -0
- package/{esm2015/src/employee/model/employee.service.config.js → esm2020/src/employee/model/employee.service.config.mjs} +1 -1
- package/esm2020/src/employee/pipes/departments.pipe.mjs +24 -0
- package/esm2020/src/employee/pipes/employee-by-dn.pipe.mjs +17 -0
- package/esm2020/src/employee/pipes/employee-photo-url.pipe.mjs +27 -0
- package/esm2020/src/employee/pipes/employees-with-property-value.pipe.mjs +17 -0
- package/esm2020/src/employee/pipes/filter-employees.pipe.mjs +22 -0
- package/esm2020/src/employee/pipes/is-member-of.pipe.mjs +17 -0
- package/esm2020/src/employee/pipes/sort-employees.pipe.mjs +44 -0
- package/esm2020/src/employee/services/employee.service.mjs +41 -0
- package/esm2020/src/file-upload/components/upload/upload.component.mjs +34 -0
- package/esm2020/src/file-upload/components/upload-dialog/upload-dialog.component.mjs +102 -0
- package/{esm2015/src/file-upload/model/database-file-info.js → esm2020/src/file-upload/model/database-file-info.mjs} +2 -1
- package/{esm2015/src/file-upload/model/file-upload-request.js → esm2020/src/file-upload/model/file-upload-request.mjs} +2 -1
- package/esm2020/src/file-upload/model/filesystem-file-info.mjs +2 -0
- package/esm2020/src/file-upload/model/upload.service.config.mjs +3 -0
- package/esm2020/src/file-upload/services/upload.service.mjs +93 -0
- package/esm2020/src/file-upload/upload.module.mjs +93 -0
- package/{esm2015/src/sharepoint/model/sharepoint-calendar-event.js → esm2020/src/sharepoint/model/sharepoint-calendar-event.mjs} +2 -1
- package/esm2020/src/sharepoint/model/sharepoint-customer-visit.mjs +2 -0
- package/{esm2015/src/sharepoint/model/sharepoint-employee-picture.js → esm2020/src/sharepoint/model/sharepoint-employee-picture.mjs} +2 -1
- package/esm2020/src/sharepoint/model/sharepoint-list-item.mjs +2 -0
- package/esm2020/src/sharepoint/model/sharepoint-list.mjs +2 -0
- package/esm2020/src/sharepoint/model/sharepoint-person.mjs +2 -0
- package/esm2020/src/sharepoint/model/sharepoint-picture.mjs +2 -0
- package/{esm2015/src/sharepoint/model/sharepoint.service.config.js → esm2020/src/sharepoint/model/sharepoint.service.config.mjs} +1 -1
- package/esm2020/src/sharepoint/pipes/sharepoint-photo-url.pipe.mjs +16 -0
- package/esm2020/src/sharepoint/pipes/sharepoint-url.pipe.mjs +16 -0
- package/esm2020/src/sharepoint/services/sharepoint.service.mjs +77 -0
- package/esm2020/src/sharepoint/sharepoint.module.mjs +69 -0
- package/esm2020/src/url/pipes/safe-url.pipe.mjs +21 -0
- package/esm2020/src/url/pipes/uri-scheme.pipe.mjs +103 -0
- package/esm2020/src/url/url.module.mjs +38 -0
- package/fesm2015/cleavelandprice-ngx-lib.mjs +1414 -0
- package/fesm2015/cleavelandprice-ngx-lib.mjs.map +1 -0
- package/fesm2020/cleavelandprice-ngx-lib.mjs +1386 -0
- package/fesm2020/cleavelandprice-ngx-lib.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/package.json +22 -10
- package/src/authentication/authentication.module.d.ts +17 -0
- package/src/authentication/components/login/login.component.d.ts +6 -1
- package/src/authentication/components/login-form/login-form.component.d.ts +3 -0
- package/src/authentication/model/authentication-token.d.ts +1 -8
- package/src/authentication/services/authentication.service.d.ts +12 -2
- package/src/dialog/components/_dialog/dialog.component.d.ts +3 -0
- package/src/dialog/components/confirmation-dialog/confirmation-dialog.component.d.ts +3 -0
- package/src/dialog/components/input-dialog/input-dialog.component.d.ts +3 -0
- package/src/dialog/components/message-dialog/message-dialog.component.d.ts +3 -0
- package/src/dialog/dialog.module.d.ts +14 -0
- package/src/email/email.module.d.ts +5 -0
- package/src/email/services/email.service.d.ts +3 -0
- package/src/employee/employee.module.d.ts +12 -0
- package/src/employee/pipes/departments.pipe.d.ts +3 -0
- package/src/employee/pipes/employee-by-dn.pipe.d.ts +3 -0
- package/src/employee/pipes/employee-photo-url.pipe.d.ts +3 -0
- package/src/employee/pipes/employees-with-property-value.pipe.d.ts +3 -0
- package/src/employee/pipes/filter-employees.pipe.d.ts +3 -0
- package/src/employee/pipes/is-member-of.pipe.d.ts +3 -0
- package/src/employee/pipes/sort-employees.pipe.d.ts +3 -0
- package/src/employee/services/employee.service.d.ts +3 -0
- package/src/file-upload/components/upload/upload.component.d.ts +3 -0
- package/src/file-upload/components/upload-dialog/upload-dialog.component.d.ts +3 -0
- package/src/file-upload/services/upload.service.d.ts +3 -0
- package/src/file-upload/upload.module.d.ts +13 -0
- package/src/sharepoint/model/sharepoint-calendar-event.d.ts +3 -3
- package/src/sharepoint/model/sharepoint-customer-visit.d.ts +5 -5
- package/src/sharepoint/model/sharepoint-employee-picture.d.ts +2 -3
- package/src/sharepoint/model/sharepoint-list-item.d.ts +9 -9
- package/src/sharepoint/model/sharepoint-list.d.ts +8 -0
- package/src/sharepoint/model/sharepoint-person.d.ts +9 -0
- package/src/sharepoint/model/sharepoint-picture.d.ts +11 -8
- package/src/sharepoint/model/sharepoint.service.config.d.ts +2 -5
- package/src/sharepoint/pipes/sharepoint-photo-url.pipe.d.ts +3 -0
- package/src/sharepoint/pipes/sharepoint-url.pipe.d.ts +3 -0
- package/src/sharepoint/services/sharepoint.service.d.ts +11 -6
- package/src/sharepoint/sharepoint.module.d.ts +9 -4
- package/src/url/pipes/safe-url.pipe.d.ts +3 -0
- package/src/url/pipes/uri-scheme.pipe.d.ts +3 -0
- package/src/url/url.module.d.ts +7 -0
- package/bundles/cleavelandprice-ngx-lib.umd.js +0 -1360
- package/bundles/cleavelandprice-ngx-lib.umd.js.map +0 -1
- package/bundles/cleavelandprice-ngx-lib.umd.min.js +0 -2
- package/bundles/cleavelandprice-ngx-lib.umd.min.js.map +0 -1
- package/cleavelandprice-ngx-lib.d.ts +0 -5
- package/cleavelandprice-ngx-lib.metadata.json +0 -1
- package/esm2015/cleavelandprice-ngx-lib.js +0 -6
- package/esm2015/src/authentication/authentication.module.js +0 -84
- package/esm2015/src/authentication/components/login/login.component.js +0 -41
- package/esm2015/src/authentication/components/login-form/login-form.component.js +0 -41
- package/esm2015/src/authentication/model/authentication-token.js +0 -1
- package/esm2015/src/authentication/services/authentication.service.js +0 -129
- package/esm2015/src/dialog/components/_dialog/dialog.component.js +0 -75
- package/esm2015/src/dialog/components/confirmation-dialog/confirmation-dialog.component.js +0 -19
- package/esm2015/src/dialog/components/input-dialog/input-dialog.component.js +0 -19
- package/esm2015/src/dialog/components/message-dialog/message-dialog.component.js +0 -19
- package/esm2015/src/dialog/dialog.module.js +0 -54
- package/esm2015/src/email/email.module.js +0 -41
- package/esm2015/src/email/model/email-dto.js +0 -1
- package/esm2015/src/email/services/email.service.js +0 -30
- package/esm2015/src/employee/employee.module.js +0 -73
- package/esm2015/src/employee/model/employee.js +0 -1
- package/esm2015/src/employee/pipes/departments.pipe.js +0 -20
- package/esm2015/src/employee/pipes/employee-by-dn.pipe.js +0 -13
- package/esm2015/src/employee/pipes/employee-photo-url.pipe.js +0 -23
- package/esm2015/src/employee/pipes/employees-with-property-value.pipe.js +0 -13
- package/esm2015/src/employee/pipes/filter-employees.pipe.js +0 -18
- package/esm2015/src/employee/pipes/is-member-of.pipe.js +0 -13
- package/esm2015/src/employee/pipes/sort-employees.pipe.js +0 -40
- package/esm2015/src/employee/services/employee.service.js +0 -40
- package/esm2015/src/file-upload/components/upload/upload.component.js +0 -34
- package/esm2015/src/file-upload/components/upload-dialog/upload-dialog.component.js +0 -101
- package/esm2015/src/file-upload/model/filesystem-file-info.js +0 -1
- package/esm2015/src/file-upload/model/upload.service.config.js +0 -3
- package/esm2015/src/file-upload/services/upload.service.js +0 -91
- package/esm2015/src/file-upload/upload.module.js +0 -73
- package/esm2015/src/sharepoint/model/sharepoint-customer-visit.js +0 -1
- package/esm2015/src/sharepoint/model/sharepoint-list-item.js +0 -1
- package/esm2015/src/sharepoint/model/sharepoint-list-items-request.js +0 -1
- package/esm2015/src/sharepoint/model/sharepoint-picture.js +0 -1
- package/esm2015/src/sharepoint/model/sharepoint-uri-request.js +0 -1
- package/esm2015/src/sharepoint/model/sharepoint-user-request.js +0 -1
- package/esm2015/src/sharepoint/model/sharepoint-user.js +0 -1
- package/esm2015/src/sharepoint/pipes/sharepoint-photo-url.pipe.js +0 -12
- package/esm2015/src/sharepoint/pipes/sharepoint-url.pipe.js +0 -12
- package/esm2015/src/sharepoint/services/sharepoint.service.js +0 -71
- package/esm2015/src/sharepoint/sharepoint.module.js +0 -65
- package/esm2015/src/url/pipes/safe-url.pipe.js +0 -20
- package/esm2015/src/url/pipes/uri-scheme.pipe.js +0 -99
- package/esm2015/src/url/url.module.js +0 -31
- package/fesm2015/cleavelandprice-ngx-lib.js +0 -1247
- package/fesm2015/cleavelandprice-ngx-lib.js.map +0 -1
- package/src/sharepoint/model/sharepoint-list-items-request.d.ts +0 -10
- package/src/sharepoint/model/sharepoint-uri-request.d.ts +0 -5
- package/src/sharepoint/model/sharepoint-user-request.d.ts +0 -6
- package/src/sharepoint/model/sharepoint-user.d.ts +0 -8
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { Component, ViewChild } from '@angular/core';
|
|
2
|
-
import { MatDialogRef } from '@angular/material/dialog';
|
|
3
|
-
import { UploadService } from './../../services/upload.service';
|
|
4
|
-
import { forkJoin } from 'rxjs';
|
|
5
|
-
export class UploadDialogComponent {
|
|
6
|
-
constructor(dialogRef, uploadService) {
|
|
7
|
-
this.dialogRef = dialogRef;
|
|
8
|
-
this.uploadService = uploadService;
|
|
9
|
-
this.files = new Set();
|
|
10
|
-
this.canBeClosed = true;
|
|
11
|
-
this.showCancelButton = true;
|
|
12
|
-
this.uploading = false;
|
|
13
|
-
this.uploadSuccessful = false;
|
|
14
|
-
}
|
|
15
|
-
ngOnInit() {
|
|
16
|
-
this.uploadDialogTitle = this.uploadService.uploadDialogTitle ?
|
|
17
|
-
this.uploadService.uploadDialogTitle :
|
|
18
|
-
'Upload Files';
|
|
19
|
-
this.uploadDialogAddFilesButtonText = this.uploadService.uploadDialogAddFilesButtonText ?
|
|
20
|
-
this.uploadService.uploadDialogAddFilesButtonText :
|
|
21
|
-
'Add Files';
|
|
22
|
-
this.uploadDialogCancelButtonText = this.uploadService.uploadDialogCancelButtonText ?
|
|
23
|
-
this.uploadService.uploadDialogCancelButtonText :
|
|
24
|
-
'Cancel';
|
|
25
|
-
this.uploadDialogUploadButtonText = this.uploadService.uploadDialogUploadButtonText ?
|
|
26
|
-
this.uploadService.uploadDialogUploadButtonText :
|
|
27
|
-
'Upload';
|
|
28
|
-
this.uploadDialogFinishButtonText = this.uploadService.uploadDialogFinishButtonText ?
|
|
29
|
-
this.uploadService.uploadDialogFinishButtonText :
|
|
30
|
-
'Finish';
|
|
31
|
-
this.primaryButtonText = this.uploadDialogUploadButtonText;
|
|
32
|
-
}
|
|
33
|
-
addFiles() {
|
|
34
|
-
this.file.nativeElement.click();
|
|
35
|
-
}
|
|
36
|
-
onFilesAdded() {
|
|
37
|
-
const files = this.file.nativeElement.files;
|
|
38
|
-
for (const key in files) {
|
|
39
|
-
if (!isNaN(parseInt(key))) {
|
|
40
|
-
// See if the file already exists
|
|
41
|
-
this.uploadService.exists(files[key].name)
|
|
42
|
-
.subscribe(exists => {
|
|
43
|
-
if (exists) {
|
|
44
|
-
this.existingFileConflict = files[key].name;
|
|
45
|
-
}
|
|
46
|
-
if (!exists) {
|
|
47
|
-
this.files.add(files[key]);
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
closeDialog() {
|
|
54
|
-
// if everything was uploaded already, just close the dialog
|
|
55
|
-
if (this.uploadSuccessful) {
|
|
56
|
-
return this.dialogRef.close();
|
|
57
|
-
}
|
|
58
|
-
// set the component state to "uploading"
|
|
59
|
-
this.uploading = true;
|
|
60
|
-
// start the upload and save the progress map
|
|
61
|
-
this.progress = this.uploadService.upload(this.files);
|
|
62
|
-
// convert the progress map into an array
|
|
63
|
-
const allProgressObservables = [];
|
|
64
|
-
for (let key in this.progress) {
|
|
65
|
-
allProgressObservables.push(this.progress[key].progress);
|
|
66
|
-
}
|
|
67
|
-
// Adjust the state variables
|
|
68
|
-
// The OK-button should have the text "Finish" now
|
|
69
|
-
this.primaryButtonText = this.uploadDialogFinishButtonText;
|
|
70
|
-
// The dialog should not be closed while uploading
|
|
71
|
-
this.canBeClosed = false;
|
|
72
|
-
this.dialogRef.disableClose = true;
|
|
73
|
-
// Hide the cancel-button
|
|
74
|
-
this.showCancelButton = false;
|
|
75
|
-
// When all progress-observables are completed...
|
|
76
|
-
forkJoin(allProgressObservables).subscribe(end => {
|
|
77
|
-
// ... the dialog can be closed again...
|
|
78
|
-
this.canBeClosed = true;
|
|
79
|
-
this.dialogRef.disableClose = false;
|
|
80
|
-
// ... the upload was successful...
|
|
81
|
-
this.uploadSuccessful = true;
|
|
82
|
-
// ... and the component is no longer uploading
|
|
83
|
-
this.uploading = false;
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
UploadDialogComponent.decorators = [
|
|
88
|
-
{ type: Component, args: [{
|
|
89
|
-
selector: 'cp-upload-dialog',
|
|
90
|
-
template: "<input type=\"file\" #file style=\"display: none\" (change)=\"onFilesAdded()\" multiple />\n\n<div mat-dialog-title id=\"title\">\n <div>{{ uploadDialogTitle }}</div>\n <button [disabled]=\"uploading || uploadSuccessful\" mat-raised-button color=\"primary\" class=\"add-files-btn\" (click)=\"addFiles()\">\n {{ uploadDialogAddFilesButtonText }}\n </button>\n</div>\n\n<div id=\"conflict\" *ngIf=\"existingFileConflict\">\n {{ existingFileConflict }} already exists on the server and cannot be overwritten\n</div>\n\n<mat-dialog-content>\n <mat-list>\n <mat-list-item *ngFor=\"let file of files\">\n <h4 mat-line>{{file.name}}</h4>\n <mat-progress-bar *ngIf=\"progress\" mode=\"determinate\" [value]=\"progress[file.name].progress | async\"></mat-progress-bar>\n </mat-list-item>\n </mat-list>\n</mat-dialog-content>\n\n<mat-dialog-actions id=\"actions\">\n <button *ngIf=\"showCancelButton\" mat-button mat-dialog-close>{{ uploadDialogCancelButtonText }}</button>\n <button *ngIf=\"files.size > 0\" mat-raised-button color=\"primary\" [disabled]=\"!canBeClosed\" (click)=\"closeDialog()\">{{ primaryButtonText }}</button>\n</mat-dialog-actions>\n",
|
|
91
|
-
styles: ["#title{display:flex;justify-content:space-between}#actions{display:flex;justify-content:flex-end}#conflict{color:red;font-size:.8em;margin-top:.5em}"]
|
|
92
|
-
},] }
|
|
93
|
-
];
|
|
94
|
-
UploadDialogComponent.ctorParameters = () => [
|
|
95
|
-
{ type: MatDialogRef },
|
|
96
|
-
{ type: UploadService }
|
|
97
|
-
];
|
|
98
|
-
UploadDialogComponent.propDecorators = {
|
|
99
|
-
file: [{ type: ViewChild, args: ['file', { static: true },] }]
|
|
100
|
-
};
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvZmlsZS11cGxvYWQvY29tcG9uZW50cy91cGxvYWQtZGlhbG9nL3VwbG9hZC1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQU9oQyxNQUFNLE9BQU8scUJBQXFCO0lBb0JoQyxZQUFtQixTQUE4QyxFQUFTLGFBQTRCO1FBQW5GLGNBQVMsR0FBVCxTQUFTLENBQXFDO1FBQVMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFsQi9GLFVBQUssR0FBYyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBS3BDLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBRW5CLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUN4QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztJQVNpRixDQUFDO0lBRTNHLFFBQVE7UUFDTixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUN0QyxjQUFjLENBQUM7UUFFakIsSUFBSSxDQUFDLDhCQUE4QixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsOEJBQThCLENBQUMsQ0FBQztZQUN2RixJQUFJLENBQUMsYUFBYSxDQUFDLDhCQUE4QixDQUFDLENBQUM7WUFDbkQsV0FBVyxDQUFDO1FBRWQsSUFBSSxDQUFD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LEtBQUssQ0FBQztZQUVwQyxtQ0FBbUM7WUFDbkMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztZQUU3QiwrQ0FBK0M7WUFDL0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUFySEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLGlxQ0FBNkM7O2FBRTlDOzs7WUFSUSxZQUFZO1lBQ1osYUFBYTs7O21CQVNuQixTQUFTLFNBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi9zZXJ2aWNlcy91cGxvYWQuc2VydmljZSc7XG5pbXBvcnQgeyBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcC11cGxvYWQtZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VwbG9hZC1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi91cGxvYWQtZGlhbG9nLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBVcGxvYWREaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAVmlld0NoaWxkKCdmaWxlJywgeyBzdGF0aWM6IHRydWUgfSkgZmlsZTtcbiAgcHVibGljIGZpbGVzOiBTZXQ8RmlsZT4gPSBuZXcgU2V0KCk7XG4gIGV4aXN0aW5nRmlsZUNvbmZsaWN0OiBzdHJpbmc7XG5cbiAgLy8gU3RhdGVcbiAgcHJvZ3Jlc3M7XG4gIGNhbkJlQ2xvc2VkID0gdHJ1ZTtcbiAgcHJpbWFyeUJ1dHRvblRleHQ6IHN0cmluZztcbiAgc2hvd0NhbmNlbEJ1dHRvbiA9IHRydWU7XG4gIHVwbG9hZGluZyA9IGZhbHNlO1xuICB1cGxvYWRTdWNjZXNzZnVsID0gZmFsc2U7XG5cbiAgLy8gVUkgY29uZmlndXJhdGlvblxuICB1cGxvYWREaWFsb2dUaXRsZTogc3RyaW5nO1xuICB1cGxvYWREaWFsb2dBZGRGaWxlc0J1dHRvblRleHQ6IHN0cmluZztcbiAgdXBsb2FkRGlhbG9nQ2FuY2VsQnV0dG9uVGV4dDogc3RyaW5nO1xuICB1cGxvYWREaWFsb2dVcGxvYWRCdXR0b25UZXh0OiBzdHJpbmc7XG4gIHVwbG9hZERpYWxvZ0ZpbmlzaEJ1dHRvblRleHQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VXBsb2FkRGlhbG9nQ29tcG9uZW50PiwgcHVibGljIHVwbG9hZFNlcnZpY2U6IFVwbG9hZFNlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudXBsb2FkRGlhbG9nVGl0bGUgPSB0aGlzLnVwbG9hZFNlcnZpY2UudXBsb2FkRGlhbG9nVGl0bGUgP1xuICAgICAgdGhpcy51cGxvYWRTZXJ2aWNlLnVwbG9hZERpYWxvZ1RpdGxlIDpcbiAgICAgICdVcGxvYWQgRmlsZXMnO1xuXG4gICAgdGhpcy51cGxvYWREaWFsb2dBZGRGaWxlc0J1dHRvblRleHQgPSB0aGlzLnVwbG9hZFNlcnZpY2UudXBsb2FkRGlhbG9nQWRkRmlsZXNCdXR0b25UZXh0ID9cbiAgICAgIHRoaXMudXBsb2FkU2VydmljZS51cGxvYWREaWFsb2dBZGRGaWxlc0J1dHRvblRleHQgOlxuICAgICAgJ0FkZCBGaWxlcyc7XG5cbiAgICB0aGlzLnVwbG9hZERpYWxvZ0NhbmNlbEJ1dHRvblRleHQgPSB0aGlzLnVwbG9hZFNlcnZpY2UudXBsb2FkRGlhbG9nQ2FuY2VsQnV0dG9uVGV4dCA/XG4gICAgICB0aGlzLnVwbG9hZFNlcnZpY2UudXBsb2FkRGlhbG9nQ2FuY2VsQnV0dG9uVGV4dCA6XG4gICAgICAnQ2FuY2VsJztcblxuICAgIHRoaXMudXBsb2FkRGlhbG9nVXBsb2FkQnV0dG9uVGV4dCA9IHRoaXMudXBsb2FkU2VydmljZS51cGxvYWREaWFsb2dVcGxvYWRCdXR0b25UZXh0ID9cbiAgICAgIHRoaXMudXBsb2FkU2VydmljZS51cGxvYWREaWFsb2dVcGxvYWRCdXR0b25UZXh0IDpcbiAgICAgICdVcGxvYWQnO1xuXG4gICAgdGhpcy51cGxvYWREaWFsb2dGaW5pc2hCdXR0b25UZXh0ID0gdGhpcy51cGxvYWRTZXJ2aWNlLnVwbG9hZERpYWxvZ0ZpbmlzaEJ1dHRvblRleHQgP1xuICAgICAgdGhpcy51cGxvYWRTZXJ2aWNlLnVwbG9hZERpYWxvZ0ZpbmlzaEJ1dHRvblRleHQgOlxuICAgICAgJ0ZpbmlzaCc7XG5cbiAgICB0aGlzLnByaW1hcnlCdXR0b25UZXh0ID0gdGhpcy51cGxvYWREaWFsb2dVcGxvYWRCdXR0b25UZXh0O1xuICB9XG5cbiAgYWRkRmlsZXMoKSB7XG4gICAgdGhpcy5maWxlLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgfVxuXG4gIG9uRmlsZXNBZGRlZCgpIHtcbiAgICBjb25zdCBmaWxlczogeyBba2V5OiBzdHJpbmddOiBGaWxlIH0gPSB0aGlzLmZpbGUubmF0aXZlRWxlbWVudC5maWxlcztcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBmaWxlcykge1xuICAgICAgaWYgKCFpc05hTihwYXJzZUludChrZXkpKSkge1xuICAgICAgICAvLyBTZWUgaWYgdGhlIGZpbGUgYWxyZWFkeSBleGlzdHNcbiAgICAgICAgdGhpcy51cGxvYWRTZXJ2aWNlLmV4aXN0cyhmaWxlc1trZXldLm5hbWUpXG4gICAgICAgICAgLnN1YnNjcmliZShleGlzdHMgPT4ge1xuICAgICAgICAgICAgaWYgKGV4aXN0cykge1xuICAgICAgICAgICAgICB0aGlzLmV4aXN0aW5nRmlsZUNvbmZsaWN0ID0gZmlsZXNba2V5XS5uYW1lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIWV4aXN0cykge1xuICAgICAgICAgICAgICB0aGlzLmZpbGVzLmFkZChmaWxlc1trZXldKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjbG9zZURpYWxvZygpIHtcbiAgICAvLyBpZiBldmVyeXRoaW5nIHdhcyB1cGxvYWRlZCBhbHJlYWR5LCBqdXN0IGNsb3NlIHRoZSBkaWFsb2dcbiAgICBpZiAodGhpcy51cGxvYWRTdWNjZXNzZnVsKSB7XG4gICAgICByZXR1cm4gdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICB9XG5cbiAgICAvLyBzZXQgdGhlIGNvbXBvbmVudCBzdGF0ZSB0byBcInVwbG9hZGluZ1wiXG4gICAgdGhpcy51cGxvYWRpbmcgPSB0cnVlO1xuXG4gICAgLy8gc3RhcnQgdGhlIHVwbG9hZCBhbmQgc2F2ZSB0aGUgcHJvZ3Jlc3MgbWFwXG4gICAgdGhpcy5wcm9ncmVzcyA9IHRoaXMudXBsb2FkU2VydmljZS51cGxvYWQodGhpcy5maWxlcyk7XG5cbiAgICAvLyBjb252ZXJ0IHRoZSBwcm9ncmVzcyBtYXAgaW50byBhbiBhcnJheVxuICAgIGNvbnN0IGFsbFByb2dyZXNzT2JzZXJ2YWJsZXMgPSBbXTtcblxuICAgIGZvciAobGV0IGtleSBpbiB0aGlzLnByb2dyZXNzKSB7XG4gICAgICBhbGxQcm9ncmVzc09ic2VydmFibGVzLnB1c2godGhpcy5wcm9ncmVzc1trZXldLnByb2dyZXNzKTtcbiAgICB9XG5cbiAgICAvLyBBZGp1c3QgdGhlIHN0YXRlIHZhcmlhYmxlc1xuXG4gICAgLy8gVGhlIE9LLWJ1dHRvbiBzaG91bGQgaGF2ZSB0aGUgdGV4dCBcIkZpbmlzaFwiIG5vd1xuICAgIHRoaXMucHJpbWFyeUJ1dHRvblRleHQgPSB0aGlzLnVwbG9hZERpYWxvZ0ZpbmlzaEJ1dHRvblRleHQ7XG5cbiAgICAvLyBUaGUgZGlhbG9nIHNob3VsZCBub3QgYmUgY2xvc2VkIHdoaWxlIHVwbG9hZGluZ1xuICAgIHRoaXMuY2FuQmVDbG9zZWQgPSBmYWxzZTtcbiAgICB0aGlzLmRpYWxvZ1JlZi5kaXNhYmxlQ2xvc2UgPSB0cnVlO1xuXG4gICAgLy8gSGlkZSB0aGUgY2FuY2VsLWJ1dHRvblxuICAgIHRoaXMuc2hvd0NhbmNlbEJ1dHRvbiA9IGZhbHNlO1xuXG4gICAgLy8gV2hlbiBhbGwgcHJvZ3Jlc3Mtb2JzZXJ2YWJsZXMgYXJlIGNvbXBsZXRlZC4uLlxuICAgIGZvcmtKb2luKGFsbFByb2dyZXNzT2JzZXJ2YWJsZXMpLnN1YnNjcmliZShlbmQgPT4ge1xuICAgICAgLy8gLi4uIHRoZSBkaWFsb2cgY2FuIGJlIGNsb3NlZCBhZ2Fpbi4uLlxuICAgICAgdGhpcy5jYW5CZUNsb3NlZCA9IHRydWU7XG4gICAgICB0aGlzLmRpYWxvZ1JlZi5kaXNhYmxlQ2xvc2UgPSBmYWxzZTtcblxuICAgICAgLy8gLi4uIHRoZSB1cGxvYWQgd2FzIHN1Y2Nlc3NmdWwuLi5cbiAgICAgIHRoaXMudXBsb2FkU3VjY2Vzc2Z1bCA9IHRydWU7XG5cbiAgICAgIC8vIC4uLiBhbmQgdGhlIGNvbXBvbmVudCBpcyBubyBsb25nZXIgdXBsb2FkaW5nXG4gICAgICB0aGlzLnVwbG9hZGluZyA9IGZhbHNlO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXN5c3RlbS1maWxlLWluZm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZmlsZS11cGxvYWQvbW9kZWwvZmlsZXN5c3RlbS1maWxlLWluZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRmlsZXN5c3RlbUZpbGVJbmZvIHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgYXR0cmlidXRlcz86IG51bWJlcjtcbiAgICBjcmVhdGlvblRpbWU6IERhdGU7XG4gICAgZGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgZXh0ZW5zaW9uOiBzdHJpbmc7XG4gICAgZnVsbG5hbWU6IHN0cmluZztcbiAgICBsYXN0QWNjZXNzVGltZTogRGF0ZTtcbiAgICBsYXN0V3JpdGVUaW1lOiBEYXRlO1xuICAgIHJlYWRPbmx5OiBib29sZWFuO1xuICAgIHNpemU6IG51bWJlcjtcbn1cbiJdfQ==
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export class UploadServiceConfig {
|
|
2
|
-
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLnNlcnZpY2UuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2ZpbGUtdXBsb2FkL21vZGVsL3VwbG9hZC5zZXJ2aWNlLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sbUJBQW1CO0NBYy9CIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFVwbG9hZFNlcnZpY2VDb25maWcge1xuICAgIHVwbG9hZEFwaVVybDogc3RyaW5nO1xuICAgIHVwbG9hZFBhdGg/OiBzdHJpbmc7XG4gICAgZGJBcHBJZD86IHN0cmluZztcbiAgICBleHRlcm5hbFJlZmVyZW5jZUlkPzogc3RyaW5nO1xuICAgIGNvbW1lbnQ/OiBzdHJpbmc7XG5cbiAgICAvLyBVSSBjb25maWd1cmF0aW9uXG4gICAgdXBsb2FkQnV0dG9uVGV4dD86IHN0cmluZztcbiAgICB1cGxvYWREaWFsb2dUaXRsZT86IHN0cmluZztcbiAgICB1cGxvYWREaWFsb2dBZGRGaWxlc0J1dHRvblRleHQ/OiBzdHJpbmc7XG4gICAgdXBsb2FkRGlhbG9nQ2FuY2VsQnV0dG9uVGV4dD86IHN0cmluZztcbiAgICB1cGxvYWREaWFsb2dVcGxvYWRCdXR0b25UZXh0Pzogc3RyaW5nO1xuICAgIHVwbG9hZERpYWxvZ0ZpbmlzaEJ1dHRvblRleHQ/OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { Injectable, Optional } from '@angular/core';
|
|
2
|
-
import { HttpClient, HttpRequest, HttpEventType, HttpResponse, HttpHeaders } from '@angular/common/http';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import { UploadServiceConfig } from './../model/upload.service.config';
|
|
5
|
-
// https://malcoded.com/posts/angular-file-upload-component-with-express
|
|
6
|
-
export class UploadService {
|
|
7
|
-
constructor(http, config) {
|
|
8
|
-
this.http = http;
|
|
9
|
-
this.uploadApiUrl = config.uploadApiUrl;
|
|
10
|
-
this.uploadPath = config.uploadPath || '';
|
|
11
|
-
this.dbAppId = config.dbAppId || '';
|
|
12
|
-
this.externalReferenceId = config.externalReferenceId || '';
|
|
13
|
-
this.comment = config.comment || '';
|
|
14
|
-
// UI configuration
|
|
15
|
-
this.uploadButtonText = config.uploadButtonText;
|
|
16
|
-
this.uploadDialogTitle = config.uploadDialogTitle;
|
|
17
|
-
this.uploadDialogAddFilesButtonText = config.uploadDialogAddFilesButtonText;
|
|
18
|
-
this.uploadDialogCancelButtonText = config.uploadDialogCancelButtonText;
|
|
19
|
-
this.uploadDialogUploadButtonText = config.uploadDialogUploadButtonText;
|
|
20
|
-
this.uploadDialogFinishButtonText = config.uploadDialogFinishButtonText;
|
|
21
|
-
}
|
|
22
|
-
upload(files) {
|
|
23
|
-
// this will be the our resulting map
|
|
24
|
-
const status = {};
|
|
25
|
-
files.forEach(file => {
|
|
26
|
-
// create a new multipart-form for every file
|
|
27
|
-
const formData = new FormData();
|
|
28
|
-
formData.append('file', file, file.name);
|
|
29
|
-
// create a http-post request and pass the form
|
|
30
|
-
// tell it to report the upload progress
|
|
31
|
-
// A 'Destination' header is used to optionally configure the file upload destination (filesystem)
|
|
32
|
-
// A 'DbAppId' header is used to configure the unique identifier of database uploads
|
|
33
|
-
const req = new HttpRequest('POST', this.uploadApiUrl, formData, {
|
|
34
|
-
reportProgress: true,
|
|
35
|
-
responseType: 'blob',
|
|
36
|
-
headers: new HttpHeaders()
|
|
37
|
-
.set('Destination', this.uploadPath)
|
|
38
|
-
.set('DbAppId', this.dbAppId)
|
|
39
|
-
.set('ExternalReferenceId', this.externalReferenceId)
|
|
40
|
-
.set('Comment', this.comment)
|
|
41
|
-
/*headers: this.uploadPath ?
|
|
42
|
-
new HttpHeaders({ 'Destination': this.uploadPath }) :
|
|
43
|
-
this.dbAppId ?
|
|
44
|
-
new HttpHeaders({ 'DbAppId': this.dbAppId }) :
|
|
45
|
-
null*/
|
|
46
|
-
});
|
|
47
|
-
// create a new progress-subject for every file
|
|
48
|
-
const progress = new Subject();
|
|
49
|
-
// send the http-request and subscribe for progress-updates
|
|
50
|
-
this.http.request(req).subscribe(event => {
|
|
51
|
-
if (event.type === HttpEventType.UploadProgress) {
|
|
52
|
-
// calculate the progress percentage
|
|
53
|
-
const percentDone = Math.round(100 * event.loaded / event.total);
|
|
54
|
-
// pass the percentage into the progress-stream
|
|
55
|
-
progress.next(percentDone);
|
|
56
|
-
}
|
|
57
|
-
else if (event instanceof HttpResponse) {
|
|
58
|
-
// Close the progress-stream if we get an answer form the API
|
|
59
|
-
// The upload is complete
|
|
60
|
-
progress.complete();
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
// Save every progress-observable in a map of all observables
|
|
64
|
-
status[file.name] = {
|
|
65
|
-
progress: progress.asObservable()
|
|
66
|
-
};
|
|
67
|
-
});
|
|
68
|
-
// return the map of progress.observables
|
|
69
|
-
return status;
|
|
70
|
-
}
|
|
71
|
-
exists(fileName) {
|
|
72
|
-
const query = this.uploadApiUrl.toLowerCase().indexOf('filesystem') === -1 ?
|
|
73
|
-
{ name: fileName, dbAppId: this.dbAppId } :
|
|
74
|
-
{ name: fileName, destination: this.uploadPath };
|
|
75
|
-
return this.http.post(`${this.uploadApiUrl}/exists`, query);
|
|
76
|
-
}
|
|
77
|
-
download(request) {
|
|
78
|
-
return this.http.post(`${this.uploadApiUrl}/stream`, request, { responseType: 'blob' });
|
|
79
|
-
}
|
|
80
|
-
getUploadInfo(request) {
|
|
81
|
-
return this.http.post(`${this.uploadApiUrl}/info`, request);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
UploadService.decorators = [
|
|
85
|
-
{ type: Injectable }
|
|
86
|
-
];
|
|
87
|
-
UploadService.ctorParameters = () => [
|
|
88
|
-
{ type: HttpClient },
|
|
89
|
-
{ type: UploadServiceConfig, decorators: [{ type: Optional }] }
|
|
90
|
-
];
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZmlsZS11cGxvYWQvc2VydmljZXMvdXBsb2FkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RyxPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUt2RSx3RUFBd0U7QUFHeEUsTUFBTSxPQUFPLGFBQWE7SUFleEIsWUFBb0IsSUFBZ0IsRUFDdEIsTUFBMkI7UUFEckIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUVoQyxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDeEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLElBQUksRUFBRSxDQUFDO1FBQzVELElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFFcEMsbUJBQW1CO1FBQ25CLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFDaEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQztRQUNsRCxJQUFJLENBQUMsOEJBQThCLEdBQUcsTUFBTSxDQUFDLDhCQUE4QixDQUFDO1FB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QUssQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTSxRQUFRLENBQUMsT0FBMEI7UUFDeEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLFNBQVMsRUFBRSxPQUFPLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRU0sYUFBYSxDQUFDLE9BQTBCO1FBRTdDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ2xCLEdBQUcsSUFBSSxDQUFDLFlBQVksT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzNDLENBQUM7OztZQTVHRixVQUFVOzs7WUFURixVQUFVO1lBRVYsbUJBQW1CLHVCQXdCdkIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUmVxdWVzdCwgSHR0cEV2ZW50VHlwZSwgSHR0cFJlc3BvbnNlLCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFN1YmplY3QgLCAgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVXBsb2FkU2VydmljZUNvbmZpZyB9IGZyb20gJy4vLi4vbW9kZWwvdXBsb2FkLnNlcnZpY2UuY29uZmlnJztcbmltcG9ydCB7IEZpbGVVcGxvYWRSZXF1ZXN0IH0gZnJvbSAnLi8uLi9tb2RlbC9maWxlLXVwbG9hZC1yZXF1ZXN0JztcbmltcG9ydCB7IERhdGFiYXNlRmlsZUluZm8gfSBmcm9tICcuLy4uL21vZGVsL2RhdGFiYXNlLWZpbGUtaW5mbyc7XG5pbXBvcnQgeyBGaWxlc3lzdGVtRmlsZUluZm8gfSBmcm9tICcuLy4uL21vZGVsL2ZpbGVzeXN0ZW0tZmlsZS1pbmZvJztcblxuLy8gaHR0cHM6Ly9tYWxjb2RlZC5jb20vcG9zdHMvYW5ndWxhci1maWxlLXVwbG9hZC1jb21wb25lbnQtd2l0aC1leHByZXNzXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVcGxvYWRTZXJ2aWNlIHtcbiAgcHVibGljIHVwbG9hZEFwaVVybDogc3RyaW5nO1xuICBwdWJsaWMgdXBsb2FkUGF0aDogc3RyaW5nO1xuICBwdWJsaWMgZGJBcHBJZDogc3RyaW5nO1xuICBwdWJsaWMgZXh0ZXJuYWxSZWZlcmVuY2VJZDogc3RyaW5nO1xuICBwdWJsaWMgY29tbWVudDogc3RyaW5nO1xuXG4gIC8vIFVJIGNvbmZpZ3VyYXRpb25cbiAgcHVibGljIHVwbG9hZEJ1dHRvblRleHQ6IHN0cmluZztcbiAgcHVibGljIHVwbG9hZERpYWxvZ1RpdGxlOiBzdHJpbmc7XG4gIHB1YmxpYyB1cGxvYWREaWFsb2dBZGRGaWxlc0J1dHRvblRleHQ6IHN0cmluZztcbiAgcHVibGljIHVwbG9hZERpYWxvZ0NhbmNlbEJ1dHRvblRleHQ6IHN0cmluZztcbiAgcHVibGljIHVwbG9hZERpYWxvZ1VwbG9hZEJ1dHRvblRleHQ6IHN0cmluZztcbiAgcHVibGljIHVwbG9hZERpYWxvZ0ZpbmlzaEJ1dHRvblRleHQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgQE9wdGlvbmFsKCkgY29uZmlnOiBVcGxvYWRTZXJ2aWNlQ29uZmlnKSB7XG4gICAgICB0aGlzLnVwbG9hZEFwaVVybCA9IGNvbmZpZy51cGxvYWRBcGlVcmw7XG4gICAgICB0aGlzLnVwbG9hZFBhdGggPSBjb25maWcudXBsb2FkUGF0aCB8fCAnJztcbiAgICAgIHRoaXMuZGJBcHBJZCA9IGNvbmZpZy5kYkFwcElkIHx8ICcnO1xuICAgICAgdGhpcy5leHRlcm5hbFJlZmVyZW5jZUlkID0gY29uZmlnLmV4dGVybmFsUmVmZXJlbmNlSWQgfHwgJyc7XG4gICAgICB0aGlzLmNvbW1lbnQgPSBjb25maWcuY29tbWVudCB8fCAnJztcblxuICAgICAgLy8gVUkgY29uZmlndXJhdGlvblxuICAgICAgdGhpcy51cGxvYWRCdXR0b25UZXh0ID0gY29uZmlnLnVwbG9hZEJ1dHRvblRleHQ7XG4gICAgICB0aGlzLnVwbG9hZERpYWxvZ1RpdGxlID0gY29uZmlnLnVwbG9hZERpYWxvZ1RpdGxlO1xuICAgICAgdGhpcy51cGxvYWREaWFsb2dBZGRGaWxlc0J1dHRvblRleHQgPSBjb25maWcudXBsb2FkRGlhbG9nQWRkRmlsZXNCdXR0b25UZXh0O1xuICAgICAgdGhpcy51cGxvYWREaWFsb2dDYW5jZWxCdXR0b25UZXh0ID0gY29uZmlnLnVwbG9hZERpYWxvZ0NhbmNlbEJ1dHRvblRleHQ7XG4gICAgICB0aGlzLnVwbG9hZERpYWxvZ1VwbG9hZEJ1dHRvblRleHQgPSBjb25maWcudXBsb2FkRGlhbG9nVXBsb2FkQnV0dG9uVGV4dDtcbiAgICAgIHRoaXMudXBsb2FkRGlhbG9nRmluaXNoQnV0dG9uVGV4dCA9IGNvbmZpZy51cGxvYWREaWFsb2dGaW5pc2hCdXR0b25UZXh0O1xuICAgIH1cblxuICBwdWJsaWMgdXBsb2FkKGZpbGVzOiBTZXQ8RmlsZT4pOiB7W2tleTogc3RyaW5nXTogT2JzZXJ2YWJsZTxudW1iZXI+fSB7XG4gICAgLy8gdGhpcyB3aWxsIGJlIHRoZSBvdXIgcmVzdWx0aW5nIG1hcFxuICAgIGNvbnN0IHN0YXR1cyA9IHt9O1xuXG4gICAgZmlsZXMuZm9yRWFjaChmaWxlID0+IHtcbiAgICAgIC8vIGNyZWF0ZSBhIG5ldyBtdWx0aXBhcnQtZm9ybSBmb3IgZXZlcnkgZmlsZVxuICAgICAgY29uc3QgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlLCBmaWxlLm5hbWUpO1xuXG4gICAgICAvLyBjcmVhdGUgYSBodHRwLXBvc3QgcmVxdWVzdCBhbmQgcGFzcyB0aGUgZm9ybVxuICAgICAgLy8gdGVsbCBpdCB0byByZXBvcnQgdGhlIHVwbG9hZCBwcm9ncmVzc1xuXG4gICAgICAvLyBBICdEZXN0aW5hdGlvbicgaGVhZGVyIGlzIHVzZWQgdG8gb3B0aW9uYWxseSBjb25maWd1cmUgdGhlIGZpbGUgdXBsb2FkIGRlc3RpbmF0aW9uIChmaWxlc3lzdGVtKVxuICAgICAgLy8gQSAnRGJBcHBJZCcgaGVhZGVyIGlzIHVzZWQgdG8gY29uZmlndXJlIHRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiBkYXRhYmFzZSB1cGxvYWRzXG4gICAgICBjb25zdCByZXEgPSBuZXcgSHR0cFJlcXVlc3QoJ1BPU1QnLCB0aGlzLnVwbG9hZEFwaVVybCwgZm9ybURhdGEsIHtcbiAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHRydWUsXG4gICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InLFxuICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoKVxuICAgICAgICAgIC5zZXQoJ0Rlc3RpbmF0aW9uJywgdGhpcy51cGxvYWRQYXRoKVxuICAgICAgICAgIC5zZXQoJ0RiQXBwSWQnLCB0aGlzLmRiQXBwSWQpXG4gICAgICAgICAgLnNldCgnRXh0ZXJuYWxSZWZlcmVuY2VJZCcsIHRoaXMuZXh0ZXJuYWxSZWZlcmVuY2VJZClcbiAgICAgICAgICAuc2V0KCdDb21tZW50JywgdGhpcy5jb21tZW50KVxuICAgICAgICAvKmhlYWRlcnM6IHRoaXMudXBsb2FkUGF0aCA/XG4gICAgICAgICAgbmV3IEh0dHBIZWFkZXJzKHsgJ0Rlc3RpbmF0aW9uJzogdGhpcy51cGxvYWRQYXRoIH0pIDpcbiAgICAgICAgICB0aGlzLmRiQXBwSWQgP1xuICAgICAgICAgICAgbmV3IEh0dHBIZWFkZXJzKHsgJ0RiQXBwSWQnOiB0aGlzLmRiQXBwSWQgfSkgOlxuICAgICAgICAgICAgbnVsbCovXG4gICAgICB9KTtcblxuICAgICAgLy8gY3JlYXRlIGEgbmV3IHByb2dyZXNzLXN1YmplY3QgZm9yIGV2ZXJ5IGZpbGVcbiAgICAgIGNvbnN0IHByb2dyZXNzID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuXG4gICAgICAvLyBzZW5kIHRoZSBodHRwLXJlcXVlc3QgYW5kIHN1YnNjcmliZSBmb3IgcHJvZ3Jlc3MtdXBkYXRlc1xuICAgICAgdGhpcy5odHRwLnJlcXVlc3QocmVxKS5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gSHR0cEV2ZW50VHlwZS5VcGxvYWRQcm9ncmVzcykge1xuXG4gICAgICAgICAgLy8gY2FsY3VsYXRlIHRoZSBwcm9ncmVzcyBwZXJjZW50YWdlXG4gICAgICAgICAgY29uc3QgcGVyY2VudERvbmUgPSBNYXRoLnJvdW5kKDEwMCAqIGV2ZW50LmxvYWRlZCAvIGV2ZW50LnRvdGFsKTtcblxuICAgICAgICAgIC8vIHBhc3MgdGhlIHBlcmNlbnRhZ2UgaW50byB0aGUgcHJvZ3Jlc3Mtc3RyZWFtXG4gICAgICAgICAgcHJvZ3Jlc3MubmV4dChwZXJjZW50RG9uZSk7XG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQgaW5zdGFuY2VvZiBIdHRwUmVzcG9uc2UpIHtcblxuICAgICAgICAgIC8vIENsb3NlIHRoZSBwcm9ncmVzcy1zdHJlYW0gaWYgd2UgZ2V0IGFuIGFuc3dlciBmb3JtIHRoZSBBUElcbiAgICAgICAgICAvLyBUaGUgdXBsb2FkIGlzIGNvbXBsZXRlXG4gICAgICAgICAgcHJvZ3Jlc3MuY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIC8vIFNhdmUgZXZlcnkgcHJvZ3Jlc3Mtb2JzZXJ2YWJsZSBpbiBhIG1hcCBvZiBhbGwgb2JzZXJ2YWJsZXNcbiAgICAgIHN0YXR1c1tmaWxlLm5hbWVdID0ge1xuICAgICAgICBwcm9ncmVzczogcHJvZ3Jlc3MuYXNPYnNlcnZhYmxlKClcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICAvLyByZXR1cm4gdGhlIG1hcCBvZiBwcm9ncmVzcy5vYnNlcnZhYmxlc1xuICAgIHJldHVybiBzdGF0dXM7XG4gIH1cblxuICBwdWJsaWMgZXhpc3RzKGZpbGVOYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBxdWVyeSA9IHRoaXMudXBsb2FkQXBpVXJsLnRvTG93ZXJDYXNlKCkuaW5kZXhPZignZmlsZXN5c3RlbScpID09PSAtMSA/XG4gICAgICB7IG5hbWU6IGZpbGVOYW1lLCBkYkFwcElkOiB0aGlzLmRiQXBwSWQgfSA6XG4gICAgICB7IG5hbWU6IGZpbGVOYW1lLCBkZXN0aW5hdGlvbjogdGhpcy51cGxvYWRQYXRoIH07XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Ym9vbGVhbj4oYCR7dGhpcy51cGxvYWRBcGlVcmx9L2V4aXN0c2AsIHF1ZXJ5KTtcbiAgfVxuXG4gIHB1YmxpYyBkb3dubG9hZChyZXF1ZXN0OiBGaWxlVXBsb2FkUmVxdWVzdCk6IE9ic2VydmFibGU8QmxvYj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnVwbG9hZEFwaVVybH0vc3RyZWFtYCwgcmVxdWVzdCwgeyByZXNwb25zZVR5cGU6ICdibG9iJyB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRVcGxvYWRJbmZvKHJlcXVlc3Q6IEZpbGVVcGxvYWRSZXF1ZXN0KTpcbiAgICBPYnNlcnZhYmxlPERhdGFiYXNlRmlsZUluZm8gfCBEYXRhYmFzZUZpbGVJbmZvW10gfCBGaWxlc3lzdGVtRmlsZUluZm8gfCBGaWxlc3lzdGVtRmlsZUluZm9bXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxEYXRhYmFzZUZpbGVJbmZvIHwgRGF0YWJhc2VGaWxlSW5mb1tdIHwgRmlsZXN5c3RlbUZpbGVJbmZvIHwgRmlsZXN5c3RlbUZpbGVJbmZvW10+XG4gICAgICAoYCR7dGhpcy51cGxvYWRBcGlVcmx9L2luZm9gLCByZXF1ZXN0KTtcbiAgfVxufVxuIl19
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
//#region Imports
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { NgModule, Optional, SkipSelf } from '@angular/core';
|
|
4
|
-
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
5
|
-
import { HttpClientModule } from '@angular/common/http';
|
|
6
|
-
// Angular Material
|
|
7
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
8
|
-
import { MatDialogModule } from '@angular/material/dialog';
|
|
9
|
-
import { MatListModule } from '@angular/material/list';
|
|
10
|
-
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
11
|
-
// Services
|
|
12
|
-
import { UploadServiceConfig } from './model/upload.service.config';
|
|
13
|
-
import { UploadService } from './services/upload.service';
|
|
14
|
-
// Components
|
|
15
|
-
import { UploadDialogComponent } from './components/upload-dialog/upload-dialog.component';
|
|
16
|
-
import { UploadComponent } from './components/upload/upload.component';
|
|
17
|
-
//#endregion
|
|
18
|
-
//#region Exports
|
|
19
|
-
// Model
|
|
20
|
-
export * from './model/database-file-info';
|
|
21
|
-
export * from './model/file-upload-request';
|
|
22
|
-
export * from './model/filesystem-file-info';
|
|
23
|
-
export * from './model/upload.service.config';
|
|
24
|
-
// Services
|
|
25
|
-
export * from './services/upload.service';
|
|
26
|
-
// Components
|
|
27
|
-
export * from './components/upload-dialog/upload-dialog.component';
|
|
28
|
-
export * from './components/upload/upload.component';
|
|
29
|
-
//#endregion
|
|
30
|
-
export class UploadModule {
|
|
31
|
-
constructor(parentModule) {
|
|
32
|
-
if (parentModule) {
|
|
33
|
-
throw new Error('UploadModule is already loaded. Import it in the AppModule only');
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
static forRoot(uploadConfig) {
|
|
37
|
-
return {
|
|
38
|
-
ngModule: UploadModule,
|
|
39
|
-
providers: [
|
|
40
|
-
UploadService,
|
|
41
|
-
{ provide: UploadServiceConfig, useValue: uploadConfig }
|
|
42
|
-
]
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
UploadModule.decorators = [
|
|
47
|
-
{ type: NgModule, args: [{
|
|
48
|
-
imports: [
|
|
49
|
-
CommonModule,
|
|
50
|
-
BrowserAnimationsModule,
|
|
51
|
-
HttpClientModule,
|
|
52
|
-
MatButtonModule,
|
|
53
|
-
MatDialogModule,
|
|
54
|
-
MatListModule,
|
|
55
|
-
MatProgressBarModule
|
|
56
|
-
],
|
|
57
|
-
declarations: [
|
|
58
|
-
UploadComponent,
|
|
59
|
-
UploadDialogComponent
|
|
60
|
-
],
|
|
61
|
-
exports: [
|
|
62
|
-
UploadComponent,
|
|
63
|
-
UploadDialogComponent
|
|
64
|
-
],
|
|
65
|
-
entryComponents: [
|
|
66
|
-
UploadDialogComponent
|
|
67
|
-
]
|
|
68
|
-
},] }
|
|
69
|
-
];
|
|
70
|
-
UploadModule.ctorParameters = () => [
|
|
71
|
-
{ type: UploadModule, decorators: [{ type: Optional }, { type: SkipSelf }] }
|
|
72
|
-
];
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWxlLXVwbG9hZC91cGxvYWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBdUIsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUM5RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RCxtQkFBbUI7QUFDbkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFdEUsV0FBVztBQUNYLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUUxRCxhQUFhO0FBQ2IsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDM0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLFlBQVk7QUFFWixpQkFBaUI7QUFDakIsUUFBUTtBQUNSLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsK0JBQStCLENBQUM7QUFFOUMsV0FBVztBQUNYLGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsYUFBYTtBQUNiLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxZQUFZO0FBd0JWLE1BQU0sT0FBTyxZQUFZO0lBV3JCLFlBQW9DLFlBQTBCO1FBQzVELElBQUksWUFBWSxFQUFFO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQ2IsaUVBQWlFLENBQUMsQ0FBQztTQUN0RTtJQUNILENBQUM7SUFmSCxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQWlDO1FBQzVDLE9BQU87WUFDTCxRQUFRLEVBQUUsWUFBWTtZQUN0QixTQUFTLEVBQUU7Z0JBQ1QsYUFBYTtnQkFDYixFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFO2FBQ3pEO1NBQ0YsQ0FBQztJQUNKLENBQUM7OztZQS9CTixRQUFRLFNBQUM7Z0JBQ04sT0FBTyxFQUFFO29CQUNMLFlBQVk7b0JBQ1osdUJBQXVCO29CQUN2QixnQkFBZ0I7b0JBRWhCLGVBQWU7b0JBQ2YsZUFBZTtvQkFDZixhQUFhO29CQUNiLG9CQUFvQjtpQkFBQztnQkFDekIsWUFBWSxFQUFFO29CQUNWLGVBQWU7b0JBQ2YscUJBQXFCO2lCQUN4QjtnQkFDRCxPQUFPLEVBQUU7b0JBQ0wsZUFBZTtvQkFDZixxQkFBcUI7aUJBQ3hCO2dCQUNELGVBQWUsRUFBRTtvQkFDYixxQkFBcUI7aUJBQ3hCO2FBQ0Y7OztZQVlxRCxZQUFZLHVCQUFqRCxRQUFRLFlBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8vI3JlZ2lvbiBJbXBvcnRzXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE9wdGlvbmFsLCBTa2lwU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnXG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG4vLyBBbmd1bGFyIE1hdGVyaWFsXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcblxuLy8gU2VydmljZXNcbmltcG9ydCB7IFVwbG9hZFNlcnZpY2VDb25maWcgfSBmcm9tICcuL21vZGVsL3VwbG9hZC5zZXJ2aWNlLmNvbmZpZyc7XG5pbXBvcnQgeyBVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy91cGxvYWQuc2VydmljZSc7XG5cbi8vIENvbXBvbmVudHNcbmltcG9ydCB7IFVwbG9hZERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy91cGxvYWQtZGlhbG9nL3VwbG9hZC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy91cGxvYWQvdXBsb2FkLmNvbXBvbmVudCc7XG4vLyNlbmRyZWdpb25cblxuLy8jcmVnaW9uIEV4cG9ydHNcbi8vIE1vZGVsXG5leHBvcnQgKiBmcm9tICcuL21vZGVsL2RhdGFiYXNlLWZpbGUtaW5mbyc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVsL2ZpbGUtdXBsb2FkLXJlcXVlc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC9maWxlc3lzdGVtLWZpbGUtaW5mbyc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVsL3VwbG9hZC5zZXJ2aWNlLmNvbmZpZyc7XG5cbi8vIFNlcnZpY2VzXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3VwbG9hZC5zZXJ2aWNlJztcblxuLy8gQ29tcG9uZW50c1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3VwbG9hZC1kaWFsb2cvdXBsb2FkLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3VwbG9hZC91cGxvYWQuY29tcG9uZW50Jztcbi8vI2VuZHJlZ2lvblxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSxcbiAgICAgICAgSHR0cENsaWVudE1vZHVsZSxcblxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICAgICAgTWF0TGlzdE1vZHVsZSxcbiAgICAgICAgTWF0UHJvZ3Jlc3NCYXJNb2R1bGVdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBVcGxvYWRDb21wb25lbnQsXG4gICAgICAgIFVwbG9hZERpYWxvZ0NvbXBvbmVudFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBVcGxvYWRDb21wb25lbnQsXG4gICAgICAgIFVwbG9hZERpYWxvZ0NvbXBvbmVudFxuICAgIF0sXG4gICAgZW50cnlDb21wb25lbnRzOiBbXG4gICAgICAgIFVwbG9hZERpYWxvZ0NvbXBvbmVudFxuICAgIF1cbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFVwbG9hZE1vZHVsZSB7XG4gICAgc3RhdGljIGZvclJvb3QodXBsb2FkQ29uZmlnOiBVcGxvYWRTZXJ2aWNlQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxVcGxvYWRNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBuZ01vZHVsZTogVXBsb2FkTW9kdWxlLFxuICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgVXBsb2FkU2VydmljZSxcbiAgICAgICAgICAgIHsgcHJvdmlkZTogVXBsb2FkU2VydmljZUNvbmZpZywgdXNlVmFsdWU6IHVwbG9hZENvbmZpZyB9XG4gICAgICAgICAgXVxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBwYXJlbnRNb2R1bGU6IFVwbG9hZE1vZHVsZSkge1xuICAgICAgICBpZiAocGFyZW50TW9kdWxlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgJ1VwbG9hZE1vZHVsZSBpcyBhbHJlYWR5IGxvYWRlZC4gSW1wb3J0IGl0IGluIHRoZSBBcHBNb2R1bGUgb25seScpO1xuICAgICAgICB9XG4gICAgICB9XG4gIH1cbiJdfQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVwb2ludC1jdXN0b21lci12aXNpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZXBvaW50L21vZGVsL3NoYXJlcG9pbnQtY3VzdG9tZXItdmlzaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNoYXJlUG9pbnRDYWxlbmRhckV2ZW50IH0gZnJvbSAnLi9zaGFyZXBvaW50LWNhbGVuZGFyLWV2ZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBTaGFyZVBvaW50Q3VzdG9tZXJWaXNpdCBleHRlbmRzIFNoYXJlUG9pbnRDYWxlbmRhckV2ZW50IHtcbiAgICBjYXRlZ29yeTogc3RyaW5nO1xuICAgIGNsZWF2ZWxhbmRfeDAwMmZfUHJpY2VfeDAwMjBfQ29uOiBzdHJpbmc7IC8vIENvbnRhY3QocylcbiAgICBjdXN0b21lcl94MDAyMF9OYW1lczogc3RyaW5nO1xuICAgIGN1c3RvbWVyX3gwMDIwX1R5cGU6IHN0cmluZztcbiAgICBsb2dvOiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVwb2ludC1saXN0LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVwb2ludC9tb2RlbC9zaGFyZXBvaW50LWxpc3QtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTaGFyZVBvaW50TGlzdEl0ZW0ge1xuICAgIGVuY29kZWRBYnNVcmw/OiBzdHJpbmc7XG4gICAgYXV0aG9yPzogc3RyaW5nO1xuICAgIGJhc2VOYW1lPzogc3RyaW5nO1xuICAgIGd1aWQ6IHN0cmluZztcbiAgICBpZDogbnVtYmVyO1xuICAgIG1vZGlmaWVkOiBEYXRlO1xuICAgIHNlcnZlclVybD86IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHVuaXF1ZUlkPzogc3RyaW5nO1xufVxuIl19
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVwb2ludC1saXN0LWl0ZW1zLXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVwb2ludC9tb2RlbC9zaGFyZXBvaW50LWxpc3QtaXRlbXMtcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTaGFyZVBvaW50TGlzdEl0ZW1zUmVxdWVzdCB7XHJcbiAgbGlzdDogc3RyaW5nO1xyXG4gIHNpdGU6IHN0cmluZztcclxuICBhZGRpdGlvbmFsUHJvcGVydGllc1RvUmV0cmlldmU/OiBzdHJpbmdbXTtcclxuICBzdHJpcE1ldGFkYXRhUHJvcGVydGllcz86IGJvb2xlYW47XHJcbiAgbWF4UmVzdWx0cz86IG51bWJlcjtcclxuICBkaWdlc3RDb250ZXh0VXJsPzogc3RyaW5nO1xyXG5cclxuICAvLyBJZiBvdmVycmlkaW5nIGRlZmF1bHQgZnJvbSBjb25maWdcclxuICB1c2VybmFtZT86IHN0cmluZztcclxuICBwYXNzd29yZD86IHN0cmluZztcclxufVxyXG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVwb2ludC1waWN0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlcG9pbnQvbW9kZWwvc2hhcmVwb2ludC1waWN0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTaGFyZVBvaW50TGlzdEl0ZW0gfSBmcm9tICcuL3NoYXJlcG9pbnQtbGlzdC1pdGVtJztcblxuZXhwb3J0IGludGVyZmFjZSBTaGFyZVBvaW50UGljdHVyZSBleHRlbmRzIFNoYXJlUG9pbnRMaXN0SXRlbSB7XG4gICAgaW1hZ2VXaWR0aDogbnVtYmVyO1xuICAgIGltYWdlSGVpZ2h0OiBudW1iZXI7XG4gICAgaW1hZ2VDcmVhdGVEYXRlPzogRGF0ZTtcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBjcmVhdGVkOiBEYXRlO1xuICAgIGF1dGhvcklkOiBudW1iZXI7XG4gICAgZWRpdG9ySWQ6IG51bWJlcjtcbiAgICBjaGVja291dFVzZXJJZD86IG51bWJlcjtcblxuICAgIC8qY3JlYXRlZDogRGF0ZTtcbiAgICBjcmVhdGVkX3gwMDIwX0J5OiBzdHJpbmc7XG4gICAgZW5jb2RlZEFic1RodW1ibmFpbFVybDogc3RyaW5nO1xuICAgIGZpbGVTaXplRGlzcGxheTogbnVtYmVyO1xuICAgIGZpbGVUeXBlOiBzdHJpbmc7XG4gICAgaW1hZ2VDcmVhdGVEYXRlOiBEYXRlO1xuICAgIGltYWdlSGVpZ2h0OiBudW1iZXI7XG4gICAgaW1hZ2VTaXplOiBudW1iZXI7XG4gICAgaW1hZ2VXaWR0aDogbnVtYmVyO1xuICAgIG1vZGlmaWVkX3gwMDIwX0J5OiBzdHJpbmc7XG4gICAgdGh1bWJuYWlsRXhpc3RzOiBib29sZWFuOyovXG59XG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVwb2ludC11cmktcmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZXBvaW50L21vZGVsL3NoYXJlcG9pbnQtdXJpLXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2hhcmVQb2ludFVyaVJlcXVlc3Qge1xyXG4gIHVyaTogc3RyaW5nO1xyXG5cclxuICAvLyBJZiBvdmVycmlkaW5nIGRlZmF1bHQgZnJvbSBjb25maWdcclxuICB1c2VybmFtZT86IHN0cmluZztcclxuICBwYXNzd29yZD86IHN0cmluZztcclxufVxyXG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVwb2ludC11c2VyLXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVwb2ludC9tb2RlbC9zaGFyZXBvaW50LXVzZXItcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTaGFyZVBvaW50VXNlclJlcXVlc3Qge1xyXG4gIHNpdGU6IHN0cmluZztcclxuICBpZD86IG51bWJlcjsgLy8gSWYgZ2V0dGluZyBhIHNpbmdsZSB1c2VyXHJcblxyXG4gIC8vIElmIG92ZXJyaWRpbmcgZGVmYXVsdCBmcm9tIGNvbmZpZ1xyXG4gIHVzZXJuYW1lPzogc3RyaW5nO1xyXG4gIHBhc3N3b3JkPzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVwb2ludC11c2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlcG9pbnQvbW9kZWwvc2hhcmVwb2ludC11c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNoYXJlUG9pbnRVc2VyIHtcclxuICBpZDogbnVtYmVyO1xyXG4gIGlzSGlkZGVuSW5VSTogYm9vbGVhbjtcclxuICBsb2dpbk5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGVtYWlsOiBzdHJpbmc7XHJcbiAgaXNTaXRlQWRtaW46IGJvb2xlYW47XHJcbn1cclxuIl19
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
export class SharePointPhotoUrlPipe {
|
|
3
|
-
transform(photo) {
|
|
4
|
-
return photo.encodedAbsUrl;
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
SharePointPhotoUrlPipe.decorators = [
|
|
8
|
-
{ type: Pipe, args: [{
|
|
9
|
-
name: 'sharePointPhotoUrl'
|
|
10
|
-
},] }
|
|
11
|
-
];
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVwb2ludC1waG90by11cmwucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZXBvaW50L3BpcGVzL3NoYXJlcG9pbnQtcGhvdG8tdXJsLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFNcEQsTUFBTSxPQUFPLHNCQUFzQjtJQUMvQixTQUFTLENBQUMsS0FBd0I7UUFDOUIsT0FBTyxLQUFLLENBQUMsYUFBYSxDQUFDO0lBQy9CLENBQUM7OztZQU5KLElBQUksU0FBQztnQkFDRixJQUFJLEVBQUUsb0JBQW9CO2FBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2hhcmVQb2ludFBpY3R1cmUgfSBmcm9tICcuLy4uL21vZGVsL3NoYXJlcG9pbnQtcGljdHVyZSc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnc2hhcmVQb2ludFBob3RvVXJsJ1xufSlcbmV4cG9ydCBjbGFzcyBTaGFyZVBvaW50UGhvdG9VcmxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKHBob3RvOiBTaGFyZVBvaW50UGljdHVyZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBwaG90by5lbmNvZGVkQWJzVXJsO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
export class SharePointUrlPipe {
|
|
3
|
-
transform(url) {
|
|
4
|
-
return url !== null ? url.split(',')[0] : null;
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
SharePointUrlPipe.decorators = [
|
|
8
|
-
{ type: Pipe, args: [{
|
|
9
|
-
name: 'sharePointUrl'
|
|
10
|
-
},] }
|
|
11
|
-
];
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVwb2ludC11cmwucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZXBvaW50L3BpcGVzL3NoYXJlcG9pbnQtdXJsLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFLcEQsTUFBTSxPQUFPLGlCQUFpQjtJQUU1QixTQUFTLENBQUMsR0FBVztRQUNuQixPQUFPLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNqRCxDQUFDOzs7WUFQRixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLGVBQWU7YUFDdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3NoYXJlUG9pbnRVcmwnXG59KVxuZXhwb3J0IGNsYXNzIFNoYXJlUG9pbnRVcmxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKHVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdXJsICE9PSBudWxsID8gdXJsLnNwbGl0KCcsJylbMF0gOiBudWxsO1xuICB9XG59XG4iXX0=
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
//#region Imports
|
|
2
|
-
import { Injectable, Optional } from '@angular/core';
|
|
3
|
-
import { HttpClient } from '@angular/common/http';
|
|
4
|
-
import { of } from 'rxjs';
|
|
5
|
-
import { SharePointServiceConfig } from './../model/sharepoint.service.config';
|
|
6
|
-
//#endregion
|
|
7
|
-
export class SharePointService {
|
|
8
|
-
//#endregion
|
|
9
|
-
constructor(config, http) {
|
|
10
|
-
this.config = config;
|
|
11
|
-
this.http = http;
|
|
12
|
-
}
|
|
13
|
-
//#region Utilities
|
|
14
|
-
getListItems(request) {
|
|
15
|
-
if (!request.username) {
|
|
16
|
-
request.username = this.config.username;
|
|
17
|
-
}
|
|
18
|
-
if (!request.password) {
|
|
19
|
-
request.password = this.config.password;
|
|
20
|
-
}
|
|
21
|
-
return this.http.post(`${this.config.sharePointApiUrl}/listitems`, request);
|
|
22
|
-
}
|
|
23
|
-
/*getListItemsSimple(list: string, view: string, site?: string, limit?: string): Observable<SharePointListItem[]> {
|
|
24
|
-
return this.http.get<SharePointListItem[]>(`${this.config.sharePointApiUrl}/${list}/${view}/${site}/${limit}`);
|
|
25
|
-
}*/
|
|
26
|
-
getPeople(request, storePeople) {
|
|
27
|
-
// Do we already have people stored locally?
|
|
28
|
-
if (this.users) {
|
|
29
|
-
return of(this.users);
|
|
30
|
-
}
|
|
31
|
-
if (!request.username) {
|
|
32
|
-
request.username = this.config.username;
|
|
33
|
-
}
|
|
34
|
-
if (!request.password) {
|
|
35
|
-
request.password = this.config.password;
|
|
36
|
-
}
|
|
37
|
-
// Should we store people locally for subsequent calls?
|
|
38
|
-
if (storePeople) {
|
|
39
|
-
this.http.post(`${this.config.sharePointApiUrl}/users`, request)
|
|
40
|
-
.subscribe(users => this.users = users);
|
|
41
|
-
}
|
|
42
|
-
return this.http.post(`${this.config.sharePointApiUrl}/users`, request);
|
|
43
|
-
}
|
|
44
|
-
getPhotos(storePhotos) {
|
|
45
|
-
// Do we already have photos stored locally?
|
|
46
|
-
if (this.photos) {
|
|
47
|
-
return of(this.photos);
|
|
48
|
-
}
|
|
49
|
-
const request = {
|
|
50
|
-
list: this.config.employeePhotoList,
|
|
51
|
-
site: `${this.config.sharePointServerUrl}/${this.config.employeePhotoSite}`,
|
|
52
|
-
username: this.config.username,
|
|
53
|
-
password: this.config.password,
|
|
54
|
-
additionalPropertiesToRetrieve: ['EncodedAbsUrl']
|
|
55
|
-
};
|
|
56
|
-
// Should we store photos locally for subsequent calls?
|
|
57
|
-
if (storePhotos) {
|
|
58
|
-
this.http.post(`${this.config.sharePointApiUrl}/listitems`, request)
|
|
59
|
-
.subscribe(photos => this.photos = photos);
|
|
60
|
-
}
|
|
61
|
-
return this.http.post(`${this.config.sharePointApiUrl}/listitems`, request);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
SharePointService.decorators = [
|
|
65
|
-
{ type: Injectable }
|
|
66
|
-
];
|
|
67
|
-
SharePointService.ctorParameters = () => [
|
|
68
|
-
{ type: SharePointServiceConfig, decorators: [{ type: Optional }] },
|
|
69
|
-
{ type: HttpClient }
|
|
70
|
-
];
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVwb2ludC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlcG9pbnQvc2VydmljZXMvc2hhcmVwb2ludC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQVMvRSxZQUFZO0FBR1osTUFBTSxPQUFPLGlCQUFpQjtJQUs1QixZQUFZO0lBRVosWUFBZ0MsTUFBK0IsRUFDckQsSUFBZ0I7UUFETSxXQUFNLEdBQU4sTUFBTSxDQUF5QjtRQUNyRCxTQUFJLEdBQUosSUFBSSxDQUFZO0lBQUksQ0FBQztJQUUvQixtQkFBbUI7SUFDbkIsWUFBWSxDQUFDLE9BQW1DO1FBQzlDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQUUsT0FBTyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztTQUFFO1FBQ25FLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQUUsT0FBTyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztTQUFFO1FBRW5FLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQXVCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BHLENBQUM7SUFFRDs7T0FFRztJQUVILFNBQVMsQ0FBQyxPQUE4QixFQUFFLFdBQXFCO1FBQzdELDRDQUE0QztRQUM1QyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdkI7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUFFLE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7U0FBRTtRQUNuRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUFFLE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7U0FBRTtRQUVuRSx1REFBdUQ7UUFDdkQsSUFBSSxXQUFXLEVBQUU7WUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBbUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixRQUFRLEVBQUUsT0FBTyxDQUFDO2lCQUMvRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDO1NBQzNDO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBbUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVELFNBQVMsQ0FBQyxXQUFxQjtRQUM3Qiw0Q0FBNEM7UUFDNUMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3hCO1FBRUQsTUFBTSxPQUFPLEdBQStCO1lBQzFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQjtZQUNuQyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQUU7WUFDM0UsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUTtZQUM5QixRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO1lBQzlCLDhCQUE4QixFQUFFLENBQUUsZUFBZSxDQUFFO1NBQ3BELENBQUM7UUFFRix1REFBdUQ7UUFDdkQsSUFBSSxXQUFXLEVBQUU7WUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBOEIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixZQUFZLEVBQUUsT0FBTyxDQUFDO2lCQUM5RixTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDO1NBQzlDO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBOEIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDM0csQ0FBQzs7O1lBOURGLFVBQVU7OztZQVhGLHVCQUF1Qix1QkFtQmpCLFFBQVE7WUF0QmQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8vI3JlZ2lvbiBJbXBvcnRzXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNoYXJlUG9pbnRTZXJ2aWNlQ29uZmlnIH0gZnJvbSAnLi8uLi9tb2RlbC9zaGFyZXBvaW50LnNlcnZpY2UuY29uZmlnJztcbi8vIGltcG9ydCB7IFNoYXJlUG9pbnRMaXN0IH0gZnJvbSAnLi4vbW9kZWwvREVMRVRFX3NoYXJlcG9pbnQtbGlzdCc7XG5pbXBvcnQgeyBTaGFyZVBvaW50TGlzdEl0ZW1zUmVxdWVzdCB9IGZyb20gJy4vLi4vbW9kZWwvc2hhcmVwb2ludC1saXN0LWl0ZW1zLXJlcXVlc3QnO1xuaW1wb3J0IHsgU2hhcmVQb2ludFVzZXJSZXF1ZXN0IH0gZnJvbSAnLi8uLi9tb2RlbC9zaGFyZXBvaW50LXVzZXItcmVxdWVzdCc7XG5pbXBvcnQgeyBTaGFyZVBvaW50TGlzdEl0ZW0gfSBmcm9tICcuLy4uL21vZGVsL3NoYXJlcG9pbnQtbGlzdC1pdGVtJztcbmltcG9ydCB7IFNoYXJlUG9pbnRFbXBsb3llZVBpY3R1cmUgfSBmcm9tICcuLy4uL21vZGVsL3NoYXJlcG9pbnQtZW1wbG95ZWUtcGljdHVyZSc7XG4vLyBpbXBvcnQgeyBTaGFyZVBvaW50Q3VzdG9tZXJWaXNpdCB9IGZyb20gJy4vLi4vbW9kZWwvc2hhcmVwb2ludC1jdXN0b21lci12aXNpdCc7XG4vLyBpbXBvcnQgeyBTaGFyZVBvaW50UGVyc29uIH0gZnJvbSAnLi4vbW9kZWwvREVMRVRFX3NoYXJlcG9pbnQtcGVyc29uJztcbmltcG9ydCB7IFNoYXJlUG9pbnRVc2VyIH0gZnJvbSAnLi4vbW9kZWwvc2hhcmVwb2ludC11c2VyJztcbi8vI2VuZHJlZ2lvblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2hhcmVQb2ludFNlcnZpY2Uge1xuICAvLyNyZWdpb24gRmllbGRzXG4gIC8vIHBlb3BsZTogU2hhcmVQb2ludFBlcnNvbltdO1xuICB1c2VyczogU2hhcmVQb2ludFVzZXJbXTtcbiAgcGhvdG9zOiBTaGFyZVBvaW50RW1wbG95ZWVQaWN0dXJlW107XG4gIC8vI2VuZHJlZ2lvblxuXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHByaXZhdGUgY29uZmlnOiBTaGFyZVBvaW50U2VydmljZUNvbmZpZyxcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHsgfVxuXG4gIC8vI3JlZ2lvbiBVdGlsaXRpZXNcbiAgZ2V0TGlzdEl0ZW1zKHJlcXVlc3Q6IFNoYXJlUG9pbnRMaXN0SXRlbXNSZXF1ZXN0KTogT2JzZXJ2YWJsZTxTaGFyZVBvaW50TGlzdEl0ZW1bXT4ge1xuICAgIGlmICghcmVxdWVzdC51c2VybmFtZSkgeyByZXF1ZXN0LnVzZXJuYW1lID0gdGhpcy5jb25maWcudXNlcm5hbWU7IH1cbiAgICBpZiAoIXJlcXVlc3QucGFzc3dvcmQpIHsgcmVxdWVzdC5wYXNzd29yZCA9IHRoaXMuY29uZmlnLnBhc3N3b3JkOyB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8U2hhcmVQb2ludExpc3RJdGVtW10+KGAke3RoaXMuY29uZmlnLnNoYXJlUG9pbnRBcGlVcmx9L2xpc3RpdGVtc2AsIHJlcXVlc3QpO1xuICB9XG5cbiAgLypnZXRMaXN0SXRlbXNTaW1wbGUobGlzdDogc3RyaW5nLCB2aWV3OiBzdHJpbmcsIHNpdGU/OiBzdHJpbmcsIGxpbWl0Pzogc3RyaW5nKTogT2JzZXJ2YWJsZTxTaGFyZVBvaW50TGlzdEl0ZW1bXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFNoYXJlUG9pbnRMaXN0SXRlbVtdPihgJHt0aGlzLmNvbmZpZy5zaGFyZVBvaW50QXBpVXJsfS8ke2xpc3R9LyR7dmlld30vJHtzaXRlfS8ke2xpbWl0fWApO1xuICB9Ki9cblxuICBnZXRQZW9wbGUocmVxdWVzdDogU2hhcmVQb2ludFVzZXJSZXF1ZXN0LCBzdG9yZVBlb3BsZT86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPFNoYXJlUG9pbnRVc2VyW10+IHtcbiAgICAvLyBEbyB3ZSBhbHJlYWR5IGhhdmUgcGVvcGxlIHN0b3JlZCBsb2NhbGx5P1xuICAgIGlmICh0aGlzLnVzZXJzKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy51c2Vycyk7XG4gICAgfVxuXG4gICAgaWYgKCFyZXF1ZXN0LnVzZXJuYW1lKSB7IHJlcXVlc3QudXNlcm5hbWUgPSB0aGlzLmNvbmZpZy51c2VybmFtZTsgfVxuICAgIGlmICghcmVxdWVzdC5wYXNzd29yZCkgeyByZXF1ZXN0LnBhc3N3b3JkID0gdGhpcy5jb25maWcucGFzc3dvcmQ7IH1cblxuICAgIC8vIFNob3VsZCB3ZSBzdG9yZSBwZW9wbGUgbG9jYWxseSBmb3Igc3Vic2VxdWVudCBjYWxscz9cbiAgICBpZiAoc3RvcmVQZW9wbGUpIHtcbiAgICAgIHRoaXMuaHR0cC5wb3N0PFNoYXJlUG9pbnRVc2VyW10+KGAke3RoaXMuY29uZmlnLnNoYXJlUG9pbnRBcGlVcmx9L3VzZXJzYCwgcmVxdWVzdClcbiAgICAgICAgLnN1YnNjcmliZSh1c2VycyA9PiB0aGlzLnVzZXJzID0gdXNlcnMpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxTaGFyZVBvaW50VXNlcltdPihgJHt0aGlzLmNvbmZpZy5zaGFyZVBvaW50QXBpVXJsfS91c2Vyc2AsIHJlcXVlc3QpO1xuICB9XG5cbiAgZ2V0UGhvdG9zKHN0b3JlUGhvdG9zPzogYm9vbGVhbik6IE9ic2VydmFibGU8U2hhcmVQb2ludEVtcGxveWVlUGljdHVyZVtdPiB7XG4gICAgLy8gRG8gd2UgYWxyZWFkeSBoYXZlIHBob3RvcyBzdG9yZWQgbG9jYWxseT9cbiAgICBpZiAodGhpcy5waG90b3MpIHtcbiAgICAgIHJldHVybiBvZih0aGlzLnBob3Rvcyk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVxdWVzdDogU2hhcmVQb2ludExpc3RJdGVtc1JlcXVlc3QgPSB7XG4gICAgICBsaXN0OiB0aGlzLmNvbmZpZy5lbXBsb3llZVBob3RvTGlzdCxcbiAgICAgIHNpdGU6IGAke3RoaXMuY29uZmlnLnNoYXJlUG9pbnRTZXJ2ZXJVcmx9LyR7dGhpcy5jb25maWcuZW1wbG95ZWVQaG90b1NpdGV9YCxcbiAgICAgIHVzZXJuYW1lOiB0aGlzLmNvbmZpZy51c2VybmFtZSxcbiAgICAgIHBhc3N3b3JkOiB0aGlzLmNvbmZpZy5wYXNzd29yZCxcbiAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzVG9SZXRyaWV2ZTogWyAnRW5jb2RlZEFic1VybCcgXVxuICAgIH07XG5cbiAgICAvLyBTaG91bGQgd2Ugc3RvcmUgcGhvdG9zIGxvY2FsbHkgZm9yIHN1YnNlcXVlbnQgY2FsbHM/XG4gICAgaWYgKHN0b3JlUGhvdG9zKSB7XG4gICAgICB0aGlzLmh0dHAucG9zdDxTaGFyZVBvaW50RW1wbG95ZWVQaWN0dXJlW10+KGAke3RoaXMuY29uZmlnLnNoYXJlUG9pbnRBcGlVcmx9L2xpc3RpdGVtc2AsIHJlcXVlc3QpXG4gICAgICAgIC5zdWJzY3JpYmUocGhvdG9zID0+IHRoaXMucGhvdG9zID0gcGhvdG9zKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8U2hhcmVQb2ludEVtcGxveWVlUGljdHVyZVtdPihgJHt0aGlzLmNvbmZpZy5zaGFyZVBvaW50QXBpVXJsfS9saXN0aXRlbXNgLCByZXF1ZXN0KTtcbiAgfVxuXG4gIC8qZ2V0Q3VzdG9tZXJWaXNpdHMoKTogT2JzZXJ2YWJsZTxTaGFyZVBvaW50Q3VzdG9tZXJWaXNpdFtdPiB7XG4gICAgY29uc3QgbGlzdDogU2hhcmVQb2ludExpc3QgPSB7XG4gICAgICBsaXN0OiAnQ3VzdG9tZXIgVmlzaXRzJyxcbiAgICAgIHZpZXc6ICdBbGwgRXZlbnRzJyxcbiAgICAgIHVzZXJOYW1lOiB0aGlzLmNvbmZpZy51c2VyTmFtZSxcbiAgICAgIHBhc3N3b3JkOiB0aGlzLmNvbmZpZy5wYXNzd29yZFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8U2hhcmVQb2ludEN1c3RvbWVyVmlzaXRbXT4odGhpcy5jb25maWcuc2hhcmVQb2ludEFwaVVybCwgbGlzdCk7XG4gIH0qL1xuICAvLyNlbmRyZWdpb25cbn1cbiJdfQ==
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
//#region Imports
|
|
2
|
-
import { NgModule, Optional, SkipSelf } from '@angular/core';
|
|
3
|
-
import { CommonModule } from '@angular/common';
|
|
4
|
-
// Services
|
|
5
|
-
import { SharePointServiceConfig } from './model/sharepoint.service.config';
|
|
6
|
-
import { SharePointService } from './services/sharepoint.service';
|
|
7
|
-
// Pipes
|
|
8
|
-
import { SharePointPhotoUrlPipe } from './pipes/sharepoint-photo-url.pipe';
|
|
9
|
-
import { SharePointUrlPipe } from './pipes/sharepoint-url.pipe';
|
|
10
|
-
//#endregion
|
|
11
|
-
//#region Exports
|
|
12
|
-
// Model
|
|
13
|
-
export * from './model/sharepoint-calendar-event';
|
|
14
|
-
export * from './model/sharepoint-customer-visit';
|
|
15
|
-
export * from './model/sharepoint-employee-picture';
|
|
16
|
-
// export * from './model/sharepoint-list';
|
|
17
|
-
export * from './model/sharepoint-list-item';
|
|
18
|
-
// export * from './model/sharepoint-person';
|
|
19
|
-
export * from './model/sharepoint-user';
|
|
20
|
-
export * from './model/sharepoint-picture';
|
|
21
|
-
export * from './model/sharepoint-list-items-request';
|
|
22
|
-
export * from './model/sharepoint-user-request';
|
|
23
|
-
export * from './model/sharepoint-uri-request';
|
|
24
|
-
export * from './model/sharepoint.service.config';
|
|
25
|
-
// Services
|
|
26
|
-
export * from './services/sharepoint.service';
|
|
27
|
-
// Pipes
|
|
28
|
-
export * from './pipes/sharepoint-photo-url.pipe';
|
|
29
|
-
export * from './pipes/sharepoint-url.pipe';
|
|
30
|
-
//#endregion
|
|
31
|
-
export class SharePointModule {
|
|
32
|
-
constructor(parentModule) {
|
|
33
|
-
if (parentModule) {
|
|
34
|
-
throw new Error('SharePointModule is already loaded. Import it in the AppModule only');
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
static forRoot(sharePointConfig) {
|
|
38
|
-
return {
|
|
39
|
-
ngModule: SharePointModule,
|
|
40
|
-
providers: [
|
|
41
|
-
SharePointService,
|
|
42
|
-
{ provide: SharePointServiceConfig, useValue: sharePointConfig }
|
|
43
|
-
]
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
SharePointModule.decorators = [
|
|
48
|
-
{ type: NgModule, args: [{
|
|
49
|
-
imports: [
|
|
50
|
-
CommonModule
|
|
51
|
-
],
|
|
52
|
-
declarations: [
|
|
53
|
-
SharePointPhotoUrlPipe,
|
|
54
|
-
SharePointUrlPipe
|
|
55
|
-
],
|
|
56
|
-
exports: [
|
|
57
|
-
SharePointPhotoUrlPipe,
|
|
58
|
-
SharePointUrlPipe
|
|
59
|
-
]
|
|
60
|
-
},] }
|
|
61
|
-
];
|
|
62
|
-
SharePointModule.ctorParameters = () => [
|
|
63
|
-
{ type: SharePointModule, decorators: [{ type: Optional }, { type: SkipSelf }] }
|
|
64
|
-
];
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVwb2ludC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2hhcmVwb2ludC9zaGFyZXBvaW50Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakIsT0FBTyxFQUFFLFFBQVEsRUFBdUIsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsV0FBVztBQUNYLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWxFLFFBQVE7QUFDUixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxZQUFZO0FBRVosaUJBQWlCO0FBQ2pCLFFBQVE7QUFDUixjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCwyQ0FBMkM7QUFDM0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3Qyw2Q0FBNkM7QUFDN0MsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsbUNBQW1DLENBQUM7QUFFbEQsV0FBVztBQUNYLGNBQWMsK0JBQStCLENBQUM7QUFFOUMsUUFBUTtBQUNSLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxZQUFZO0FBZVosTUFBTSxPQUFPLGdCQUFnQjtJQVczQixZQUFxQyxZQUE4QjtRQUNqRSxJQUFJLFlBQVksRUFBRTtZQUNoQixNQUFNLElBQUksS0FBSyxDQUNiLHFFQUFxRSxDQUFDLENBQUM7U0FDMUU7SUFDSCxDQUFDO0lBZkQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxnQkFBeUM7UUFDdEQsT0FBTztZQUNMLFFBQVEsRUFBRSxnQkFBZ0I7WUFDMUIsU0FBUyxFQUFFO2dCQUNULGlCQUFpQjtnQkFDakIsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFO2FBQ2pFO1NBQ0YsQ0FBQztJQUNKLENBQUM7OztZQXRCRixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7aUJBQ2I7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLHNCQUFzQjtvQkFDdEIsaUJBQWlCO2lCQUNsQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1Asc0JBQXNCO29CQUN0QixpQkFBaUI7aUJBQ2xCO2FBQ0Y7OztZQVlvRCxnQkFBZ0IsdUJBQXJELFFBQVEsWUFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIEltcG9ydHNcbmltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBPcHRpb25hbCwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8vIFNlcnZpY2VzXG5pbXBvcnQgeyBTaGFyZVBvaW50U2VydmljZUNvbmZpZyB9IGZyb20gJy4vbW9kZWwvc2hhcmVwb2ludC5zZXJ2aWNlLmNvbmZpZyc7XG5pbXBvcnQgeyBTaGFyZVBvaW50U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvc2hhcmVwb2ludC5zZXJ2aWNlJztcblxuLy8gUGlwZXNcbmltcG9ydCB7IFNoYXJlUG9pbnRQaG90b1VybFBpcGUgfSBmcm9tICcuL3BpcGVzL3NoYXJlcG9pbnQtcGhvdG8tdXJsLnBpcGUnO1xuaW1wb3J0IHsgU2hhcmVQb2ludFVybFBpcGUgfSBmcm9tICcuL3BpcGVzL3NoYXJlcG9pbnQtdXJsLnBpcGUnO1xuLy8jZW5kcmVnaW9uXG5cbi8vI3JlZ2lvbiBFeHBvcnRzXG4vLyBNb2RlbFxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC9zaGFyZXBvaW50LWNhbGVuZGFyLWV2ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWwvc2hhcmVwb2ludC1jdXN0b21lci12aXNpdCc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVsL3NoYXJlcG9pbnQtZW1wbG95ZWUtcGljdHVyZSc7XG4vLyBleHBvcnQgKiBmcm9tICcuL21vZGVsL3NoYXJlcG9pbnQtbGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVsL3NoYXJlcG9pbnQtbGlzdC1pdGVtJztcbi8vIGV4cG9ydCAqIGZyb20gJy4vbW9kZWwvc2hhcmVwb2ludC1wZXJzb24nO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC9zaGFyZXBvaW50LXVzZXInO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC9zaGFyZXBvaW50LXBpY3R1cmUnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC9zaGFyZXBvaW50LWxpc3QtaXRlbXMtcmVxdWVzdCc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVsL3NoYXJlcG9pbnQtdXNlci1yZXF1ZXN0JztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWwvc2hhcmVwb2ludC11cmktcmVxdWVzdCc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVsL3NoYXJlcG9pbnQuc2VydmljZS5jb25maWcnO1xuXG4vLyBTZXJ2aWNlc1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9zaGFyZXBvaW50LnNlcnZpY2UnO1xuXG4vLyBQaXBlc1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9zaGFyZXBvaW50LXBob3RvLXVybC5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvc2hhcmVwb2ludC11cmwucGlwZSc7XG4vLyNlbmRyZWdpb25cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTaGFyZVBvaW50UGhvdG9VcmxQaXBlLFxuICAgIFNoYXJlUG9pbnRVcmxQaXBlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBTaGFyZVBvaW50UGhvdG9VcmxQaXBlLFxuICAgIFNoYXJlUG9pbnRVcmxQaXBlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2hhcmVQb2ludE1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KHNoYXJlUG9pbnRDb25maWc6IFNoYXJlUG9pbnRTZXJ2aWNlQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxTaGFyZVBvaW50TW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBTaGFyZVBvaW50TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFNoYXJlUG9pbnRTZXJ2aWNlLFxuICAgICAgICB7IHByb3ZpZGU6IFNoYXJlUG9pbnRTZXJ2aWNlQ29uZmlnLCB1c2VWYWx1ZTogc2hhcmVQb2ludENvbmZpZyB9XG4gICAgICBdXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBwYXJlbnRNb2R1bGU6IFNoYXJlUG9pbnRNb2R1bGUpIHtcbiAgICBpZiAocGFyZW50TW9kdWxlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdTaGFyZVBvaW50TW9kdWxlIGlzIGFscmVhZHkgbG9hZGVkLiBJbXBvcnQgaXQgaW4gdGhlIEFwcE1vZHVsZSBvbmx5Jyk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
// This pipe whitelists URLs so that they aren't prefixed with 'unsafe:' when they render in the DOM
|
|
2
|
-
import { Pipe } from '@angular/core';
|
|
3
|
-
import { DomSanitizer } from '@angular/platform-browser';
|
|
4
|
-
export class SafeUrlPipe {
|
|
5
|
-
constructor(domSanitizer) {
|
|
6
|
-
this.domSanitizer = domSanitizer;
|
|
7
|
-
}
|
|
8
|
-
transform(value) {
|
|
9
|
-
return this.domSanitizer.bypassSecurityTrustUrl(value);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
SafeUrlPipe.decorators = [
|
|
13
|
-
{ type: Pipe, args: [{
|
|
14
|
-
name: 'safeUrl'
|
|
15
|
-
},] }
|
|
16
|
-
];
|
|
17
|
-
SafeUrlPipe.ctorParameters = () => [
|
|
18
|
-
{ type: DomSanitizer }
|
|
19
|
-
];
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS11cmwucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy91cmwvcGlwZXMvc2FmZS11cmwucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvR0FBb0c7QUFFcEcsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBVyxNQUFNLDJCQUEyQixDQUFDO0FBS2xFLE1BQU0sT0FBTyxXQUFXO0lBRXRCLFlBQW9CLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQUksQ0FBQztJQUVuRCxTQUFTLENBQUMsS0FBYTtRQUNyQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQzs7O1lBVEYsSUFBSSxTQUFDO2dCQUNKLElBQUksRUFBRSxTQUFTO2FBQ2hCOzs7WUFKUSxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcyBwaXBlIHdoaXRlbGlzdHMgVVJMcyBzbyB0aGF0IHRoZXkgYXJlbid0IHByZWZpeGVkIHdpdGggJ3Vuc2FmZTonIHdoZW4gdGhleSByZW5kZXIgaW4gdGhlIERPTVxuXG5pbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuQFBpcGUoe1xuICBuYW1lOiAnc2FmZVVybCdcbn0pXG5leHBvcnQgY2xhc3MgU2FmZVVybFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7IH1cblxuICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZyk6IFNhZmVVcmwge1xuICAgIHJldHVybiB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKHZhbHVlKTtcbiAgfVxuXG59XG4iXX0=
|