@cleavelandprice/ngx-lib 2.1.2 → 2.2.1
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 +136 -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 +1412 -0
- package/fesm2015/cleavelandprice-ngx-lib.mjs.map +1 -0
- package/fesm2020/cleavelandprice-ngx-lib.mjs +1384 -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,19 +0,0 @@
|
|
|
1
|
-
import { Component, Inject } from '@angular/core';
|
|
2
|
-
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
-
export class InputDialogComponent {
|
|
4
|
-
constructor(dialogRef, data) {
|
|
5
|
-
this.dialogRef = dialogRef;
|
|
6
|
-
this.data = data;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
InputDialogComponent.decorators = [
|
|
10
|
-
{ type: Component, args: [{
|
|
11
|
-
selector: 'cp-input-dialog',
|
|
12
|
-
template: "<cp-dialog\n [data]=\"data\"\n [dialogType]=\"'input'\"\n (closed)=\"dialogRef.close($event)\">\n</cp-dialog>"
|
|
13
|
-
},] }
|
|
14
|
-
];
|
|
15
|
-
InputDialogComponent.ctorParameters = () => [
|
|
16
|
-
{ type: MatDialogRef },
|
|
17
|
-
{ type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
|
|
18
|
-
];
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9kaWFsb2cvY29tcG9uZW50cy9pbnB1dC1kaWFsb2cvaW5wdXQtZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBTXpFLE1BQU0sT0FBTyxvQkFBb0I7SUFDN0IsWUFBbUIsU0FBNkMsRUFDNUIsSUFBUztRQUQxQixjQUFTLEdBQVQsU0FBUyxDQUFvQztRQUM1QixTQUFJLEdBQUosSUFBSSxDQUFLO0lBQzdDLENBQUM7OztZQVBKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQiw0SEFBNEM7YUFDL0M7OztZQUxRLFlBQVk7NENBUVosTUFBTSxTQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2NwLWlucHV0LWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWRpYWxvZy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXREaWFsb2dDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxJbnB1dERpYWxvZ0NvbXBvbmVudD4sXG4gICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55KSB7XG4gICAgfVxufVxuIl19
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Component, Inject } from '@angular/core';
|
|
2
|
-
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
-
export class MessageDialogComponent {
|
|
4
|
-
constructor(dialogRef, data) {
|
|
5
|
-
this.dialogRef = dialogRef;
|
|
6
|
-
this.data = data;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
MessageDialogComponent.decorators = [
|
|
10
|
-
{ type: Component, args: [{
|
|
11
|
-
selector: 'cp-message-dialog',
|
|
12
|
-
template: "<cp-dialog\n [data]=\"data\"\n [dialogType]=\"'message'\"\n (closed)=\"dialogRef.close($event)\">\n</cp-dialog>"
|
|
13
|
-
},] }
|
|
14
|
-
];
|
|
15
|
-
MessageDialogComponent.ctorParameters = () => [
|
|
16
|
-
{ type: MatDialogRef },
|
|
17
|
-
{ type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
|
|
18
|
-
];
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2RpYWxvZy9jb21wb25lbnRzL21lc3NhZ2UtZGlhbG9nL21lc3NhZ2UtZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBTXpFLE1BQU0sT0FBTyxzQkFBc0I7SUFDL0IsWUFBbUIsU0FBK0MsRUFDOUIsSUFBUztRQUQxQixjQUFTLEdBQVQsU0FBUyxDQUFzQztRQUM5QixTQUFJLEdBQUosSUFBSSxDQUFLO0lBQzdDLENBQUM7OztZQVBKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3Qiw4SEFBOEM7YUFDakQ7OztZQUxRLFlBQVk7NENBUVosTUFBTSxTQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2NwLW1lc3NhZ2UtZGlhbG9nJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWVzc2FnZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VEaWFsb2dDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxNZXNzYWdlRGlhbG9nQ29tcG9uZW50PixcbiAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBhbnkpIHtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
//#region Imports
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { NgModule } from '@angular/core';
|
|
4
|
-
import { FormsModule } from '@angular/forms';
|
|
5
|
-
// Angular Material
|
|
6
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
7
|
-
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
8
|
-
import { MatDialogModule } from '@angular/material/dialog';
|
|
9
|
-
import { MatInputModule } from '@angular/material/input';
|
|
10
|
-
// Components
|
|
11
|
-
import { DialogComponent } from './components/_dialog/dialog.component';
|
|
12
|
-
import { ConfirmationDialogComponent } from './components/confirmation-dialog/confirmation-dialog.component';
|
|
13
|
-
import { InputDialogComponent } from './components/input-dialog/input-dialog.component';
|
|
14
|
-
import { MessageDialogComponent } from './components/message-dialog/message-dialog.component';
|
|
15
|
-
//#endregion
|
|
16
|
-
//#region Exports
|
|
17
|
-
// Model
|
|
18
|
-
export * from './model/confirmation-dialog-mode.enum';
|
|
19
|
-
// Components
|
|
20
|
-
export * from './components/confirmation-dialog/confirmation-dialog.component';
|
|
21
|
-
export * from './components/input-dialog/input-dialog.component';
|
|
22
|
-
export * from './components/message-dialog/message-dialog.component';
|
|
23
|
-
//#endregion
|
|
24
|
-
export class DialogModule {
|
|
25
|
-
}
|
|
26
|
-
DialogModule.decorators = [
|
|
27
|
-
{ type: NgModule, args: [{
|
|
28
|
-
imports: [
|
|
29
|
-
CommonModule,
|
|
30
|
-
FormsModule,
|
|
31
|
-
MatButtonModule,
|
|
32
|
-
MatCheckboxModule,
|
|
33
|
-
MatInputModule,
|
|
34
|
-
MatDialogModule
|
|
35
|
-
],
|
|
36
|
-
declarations: [
|
|
37
|
-
DialogComponent,
|
|
38
|
-
ConfirmationDialogComponent,
|
|
39
|
-
InputDialogComponent,
|
|
40
|
-
MessageDialogComponent
|
|
41
|
-
],
|
|
42
|
-
exports: [
|
|
43
|
-
ConfirmationDialogComponent,
|
|
44
|
-
InputDialogComponent,
|
|
45
|
-
MessageDialogComponent
|
|
46
|
-
],
|
|
47
|
-
entryComponents: [
|
|
48
|
-
ConfirmationDialogComponent,
|
|
49
|
-
InputDialogComponent,
|
|
50
|
-
MessageDialogComponent
|
|
51
|
-
]
|
|
52
|
-
},] }
|
|
53
|
-
];
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kaWFsb2cvZGlhbG9nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLG1CQUFtQjtBQUNuQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RCxhQUFhO0FBQ2IsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzlGLFlBQVk7QUFFWixpQkFBaUI7QUFDakIsUUFBUTtBQUNSLGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsYUFBYTtBQUNiLGNBQWMsZ0VBQWdFLENBQUM7QUFDL0UsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLFlBQVk7QUE0QlosTUFBTSxPQUFPLFlBQVk7OztZQTFCeEIsUUFBUSxTQUFDO2dCQUNOLE9BQU8sRUFBRTtvQkFDTCxZQUFZO29CQUNaLFdBQVc7b0JBQ1gsZUFBZTtvQkFDZixpQkFBaUI7b0JBQ2pCLGNBQWM7b0JBQ2QsZUFBZTtpQkFDbEI7Z0JBQ0QsWUFBWSxFQUFFO29CQUNWLGVBQWU7b0JBQ2YsMkJBQTJCO29CQUMzQixvQkFBb0I7b0JBQ3BCLHNCQUFzQjtpQkFDekI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLDJCQUEyQjtvQkFDM0Isb0JBQW9CO29CQUNwQixzQkFBc0I7aUJBQ3pCO2dCQUNELGVBQWUsRUFBRTtvQkFDYiwyQkFBMkI7b0JBQzNCLG9CQUFvQjtvQkFDcEIsc0JBQXNCO2lCQUN6QjthQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIEltcG9ydHNcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8vIEFuZ3VsYXIgTWF0ZXJpYWxcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcblxuLy8gQ29tcG9uZW50c1xuaW1wb3J0IHsgRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL19kaWFsb2cvZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnB1dERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dC1kaWFsb2cvaW5wdXQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZXNzYWdlRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21lc3NhZ2UtZGlhbG9nL21lc3NhZ2UtZGlhbG9nLmNvbXBvbmVudCc7XG4vLyNlbmRyZWdpb25cblxuLy8jcmVnaW9uIEV4cG9ydHNcbi8vIE1vZGVsXG5leHBvcnQgKiBmcm9tICcuL21vZGVsL2NvbmZpcm1hdGlvbi1kaWFsb2ctbW9kZS5lbnVtJztcblxuLy8gQ29tcG9uZW50c1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NvbmZpcm1hdGlvbi1kaWFsb2cvY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2lucHV0LWRpYWxvZy9pbnB1dC1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9tZXNzYWdlLWRpYWxvZy9tZXNzYWdlLWRpYWxvZy5jb21wb25lbnQnO1xuLy8jZW5kcmVnaW9uXG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgICAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICAgICAgTWF0RGlhbG9nTW9kdWxlXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICBDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQsXG4gICAgICAgIElucHV0RGlhbG9nQ29tcG9uZW50LFxuICAgICAgICBNZXNzYWdlRGlhbG9nQ29tcG9uZW50XG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgSW5wdXREaWFsb2dDb21wb25lbnQsXG4gICAgICAgIE1lc3NhZ2VEaWFsb2dDb21wb25lbnRcbiAgICBdLFxuICAgIGVudHJ5Q29tcG9uZW50czogW1xuICAgICAgICBDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQsXG4gICAgICAgIElucHV0RGlhbG9nQ29tcG9uZW50LFxuICAgICAgICBNZXNzYWdlRGlhbG9nQ29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBEaWFsb2dNb2R1bGUgeyB9XG4iXX0=
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
//#region Imports
|
|
2
|
-
import { NgModule, Optional, SkipSelf } from '@angular/core';
|
|
3
|
-
import { CommonModule } from '@angular/common';
|
|
4
|
-
// Services
|
|
5
|
-
import { EmailServiceConfig } from './model/email.service.config';
|
|
6
|
-
import { EmailService } from './services/email.service';
|
|
7
|
-
//#endregion
|
|
8
|
-
//#region Exports
|
|
9
|
-
// Model
|
|
10
|
-
export * from './model/email.service.config';
|
|
11
|
-
export * from './model/email';
|
|
12
|
-
// Services
|
|
13
|
-
export * from './services/email.service';
|
|
14
|
-
//#endregion
|
|
15
|
-
export class EmailModule {
|
|
16
|
-
constructor(parentModule) {
|
|
17
|
-
if (parentModule) {
|
|
18
|
-
throw new Error('EmailModule is already loaded. Import it in the AppModule only');
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
static forRoot(emailConfig) {
|
|
22
|
-
return {
|
|
23
|
-
ngModule: EmailModule,
|
|
24
|
-
providers: [
|
|
25
|
-
EmailService,
|
|
26
|
-
{ provide: EmailServiceConfig, useValue: emailConfig }
|
|
27
|
-
]
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
EmailModule.decorators = [
|
|
32
|
-
{ type: NgModule, args: [{
|
|
33
|
-
imports: [CommonModule],
|
|
34
|
-
declarations: [],
|
|
35
|
-
exports: []
|
|
36
|
-
},] }
|
|
37
|
-
];
|
|
38
|
-
EmailModule.ctorParameters = () => [
|
|
39
|
-
{ type: EmailModule, decorators: [{ type: Optional }, { type: SkipSelf }] }
|
|
40
|
-
];
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VtYWlsL2VtYWlsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakIsT0FBTyxFQUFFLFFBQVEsRUFBdUIsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsV0FBVztBQUNYLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxZQUFZO0FBRVosaUJBQWlCO0FBQ2pCLFFBQVE7QUFDUixjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsZUFBZSxDQUFDO0FBRTlCLFdBQVc7QUFDWCxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLFlBQVk7QUFPWixNQUFNLE9BQU8sV0FBVztJQVd0QixZQUFxQyxZQUF5QjtRQUM1RCxJQUFJLFlBQVksRUFBRTtZQUNoQixNQUFNLElBQUksS0FBSyxDQUNiLGdFQUFnRSxDQUFDLENBQUM7U0FDckU7SUFDSCxDQUFDO0lBZkQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUErQjtRQUM1QyxPQUFPO1lBQ0wsUUFBUSxFQUFFLFdBQVc7WUFDckIsU0FBUyxFQUFFO2dCQUNULFlBQVk7Z0JBQ1osRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRTthQUN2RDtTQUNGLENBQUM7SUFDSixDQUFDOzs7WUFkRixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFLENBQUUsWUFBWSxDQUFFO2dCQUN6QixZQUFZLEVBQUUsRUFBRTtnQkFDaEIsT0FBTyxFQUFFLEVBQUU7YUFDWjs7O1lBWW9ELFdBQVcsdUJBQWhELFFBQVEsWUFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIEltcG9ydHNcbmltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBPcHRpb25hbCwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8vIFNlcnZpY2VzXG5pbXBvcnQgeyBFbWFpbFNlcnZpY2VDb25maWcgfSBmcm9tICcuL21vZGVsL2VtYWlsLnNlcnZpY2UuY29uZmlnJztcbmltcG9ydCB7IEVtYWlsU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZW1haWwuc2VydmljZSc7XG4vLyNlbmRyZWdpb25cblxuLy8jcmVnaW9uIEV4cG9ydHNcbi8vIE1vZGVsXG5leHBvcnQgKiBmcm9tICcuL21vZGVsL2VtYWlsLnNlcnZpY2UuY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWwvZW1haWwnO1xuXG4vLyBTZXJ2aWNlc1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9lbWFpbC5zZXJ2aWNlJztcbi8vI2VuZHJlZ2lvblxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbIENvbW1vbk1vZHVsZSBdLFxuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBleHBvcnRzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBFbWFpbE1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KGVtYWlsQ29uZmlnOiBFbWFpbFNlcnZpY2VDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEVtYWlsTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBFbWFpbE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICBFbWFpbFNlcnZpY2UsXG4gICAgICAgIHsgcHJvdmlkZTogRW1haWxTZXJ2aWNlQ29uZmlnLCB1c2VWYWx1ZTogZW1haWxDb25maWcgfVxuICAgICAgXVxuICAgIH07XG4gIH1cblxuICBjb25zdHJ1Y3RvciggQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcGFyZW50TW9kdWxlOiBFbWFpbE1vZHVsZSkge1xuICAgIGlmIChwYXJlbnRNb2R1bGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0VtYWlsTW9kdWxlIGlzIGFscmVhZHkgbG9hZGVkLiBJbXBvcnQgaXQgaW4gdGhlIEFwcE1vZHVsZSBvbmx5Jyk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtZHRvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VtYWlsL21vZGVsL2VtYWlsLWR0by50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW1haWxTZW5kZXIgfSBmcm9tICcuL2VtYWlsLXNlbmRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW1haWxEdG8ge1xuICAgIHNlcnZlcjogc3RyaW5nO1xuICAgIHNtdHBQb3J0OiBudW1iZXI7XG4gICAgc2VuZGVyOiBFbWFpbFNlbmRlcjtcbiAgICBzdWJqZWN0OiBzdHJpbmc7XG4gICAgcmVjaXBpZW50czoge1xuICAgICAgICB0bzogc3RyaW5nW107XG4gICAgfTtcbiAgICBjb250ZW50Pzoge1xuICAgICAgICBodG1sOiBzdHJpbmdcbiAgICB9O1xufVxuIl19
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
//#region Imports
|
|
2
|
-
import { Injectable, Optional } from '@angular/core';
|
|
3
|
-
import { HttpClient } from '@angular/common/http';
|
|
4
|
-
import { EmailServiceConfig } from './../model/email.service.config';
|
|
5
|
-
//#endregion
|
|
6
|
-
export class EmailService {
|
|
7
|
-
constructor(config, http) {
|
|
8
|
-
this.http = http;
|
|
9
|
-
this.emailServiceConfig = config;
|
|
10
|
-
}
|
|
11
|
-
send(email) {
|
|
12
|
-
const dto = {
|
|
13
|
-
server: this.emailServiceConfig.server,
|
|
14
|
-
smtpPort: this.emailServiceConfig.smtpPort,
|
|
15
|
-
sender: this.emailServiceConfig.sender,
|
|
16
|
-
subject: email.subject,
|
|
17
|
-
content: email.content,
|
|
18
|
-
recipients: email.recipients
|
|
19
|
-
};
|
|
20
|
-
return this.http.post(this.emailServiceConfig.emailApiUrl, dto);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
EmailService.decorators = [
|
|
24
|
-
{ type: Injectable }
|
|
25
|
-
];
|
|
26
|
-
EmailService.ctorParameters = () => [
|
|
27
|
-
{ type: EmailServiceConfig, decorators: [{ type: Optional }] },
|
|
28
|
-
{ type: HttpClient }
|
|
29
|
-
];
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbWFpbC9zZXJ2aWNlcy9lbWFpbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHckUsWUFBWTtBQUdaLE1BQU0sT0FBTyxZQUFZO0lBR3ZCLFlBQXdCLE1BQTBCLEVBQ3hDLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDdEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQVk7UUFDZixNQUFNLEdBQUcsR0FBYTtZQUNwQixNQUFNLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU07WUFDdEMsUUFBUSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRO1lBQzFDLE1BQU0sRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTTtZQUN0QyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87WUFDdEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3RCLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtTQUM3QixDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBUSxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7OztZQXBCRixVQUFVOzs7WUFMRixrQkFBa0IsdUJBU1osUUFBUTtZQVhkLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gSW1wb3J0c1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFbWFpbFNlcnZpY2VDb25maWcgfSBmcm9tICcuLy4uL21vZGVsL2VtYWlsLnNlcnZpY2UuY29uZmlnJztcbmltcG9ydCB7IEVtYWlsIH0gZnJvbSAnLi8uLi9tb2RlbC9lbWFpbCc7XG5pbXBvcnQgeyBFbWFpbER0byB9IGZyb20gJy4vLi4vbW9kZWwvZW1haWwtZHRvJztcbi8vI2VuZHJlZ2lvblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRW1haWxTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBlbWFpbFNlcnZpY2VDb25maWc6IEVtYWlsU2VydmljZUNvbmZpZztcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBjb25maWc6IEVtYWlsU2VydmljZUNvbmZpZyxcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgICAgIHRoaXMuZW1haWxTZXJ2aWNlQ29uZmlnID0gY29uZmlnO1xuICB9XG5cbiAgc2VuZChlbWFpbDogRW1haWwpOiBPYnNlcnZhYmxlPEVtYWlsPiB7XG4gICAgY29uc3QgZHRvOiBFbWFpbER0byA9IHtcbiAgICAgIHNlcnZlcjogdGhpcy5lbWFpbFNlcnZpY2VDb25maWcuc2VydmVyLFxuICAgICAgc210cFBvcnQ6IHRoaXMuZW1haWxTZXJ2aWNlQ29uZmlnLnNtdHBQb3J0LFxuICAgICAgc2VuZGVyOiB0aGlzLmVtYWlsU2VydmljZUNvbmZpZy5zZW5kZXIsXG4gICAgICBzdWJqZWN0OiBlbWFpbC5zdWJqZWN0LFxuICAgICAgY29udGVudDogZW1haWwuY29udGVudCxcbiAgICAgIHJlY2lwaWVudHM6IGVtYWlsLnJlY2lwaWVudHNcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEVtYWlsPih0aGlzLmVtYWlsU2VydmljZUNvbmZpZy5lbWFpbEFwaVVybCwgZHRvKTtcbiAgfVxufVxuIl19
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
//#region Imports
|
|
2
|
-
import { NgModule, Optional, SkipSelf } from '@angular/core';
|
|
3
|
-
import { CommonModule } from '@angular/common';
|
|
4
|
-
// Services
|
|
5
|
-
import { EmployeeServiceConfig } from './model/employee.service.config';
|
|
6
|
-
import { EmployeeService } from './services/employee.service';
|
|
7
|
-
// Pipes
|
|
8
|
-
import { DepartmentsPipe } from './pipes/departments.pipe';
|
|
9
|
-
import { EmployeeByDnPipe } from './pipes/employee-by-dn.pipe';
|
|
10
|
-
import { EmployeePhotoUrlPipe } from './pipes/employee-photo-url.pipe';
|
|
11
|
-
import { EmployeesWithPropertyValuePipe } from './pipes/employees-with-property-value.pipe';
|
|
12
|
-
import { FilterEmployeesPipe } from './pipes/filter-employees.pipe';
|
|
13
|
-
import { IsMemberOfPipe } from './pipes/is-member-of.pipe';
|
|
14
|
-
import { SortEmployeesPipe } from './pipes/sort-employees.pipe';
|
|
15
|
-
//#endregion
|
|
16
|
-
//#region Exports
|
|
17
|
-
// Model
|
|
18
|
-
export * from './model/employee.service.config';
|
|
19
|
-
export * from './model/employee';
|
|
20
|
-
// Services
|
|
21
|
-
export * from './services/employee.service';
|
|
22
|
-
// Pipes
|
|
23
|
-
export * from './pipes/departments.pipe';
|
|
24
|
-
export * from './pipes/employee-by-dn.pipe';
|
|
25
|
-
export * from './pipes/employee-photo-url.pipe';
|
|
26
|
-
export * from './pipes/employees-with-property-value.pipe';
|
|
27
|
-
export * from './pipes/filter-employees.pipe';
|
|
28
|
-
export * from './pipes/is-member-of.pipe';
|
|
29
|
-
export * from './pipes/sort-employees.pipe';
|
|
30
|
-
//#endregion
|
|
31
|
-
export class EmployeeModule {
|
|
32
|
-
constructor(parentModule) {
|
|
33
|
-
if (parentModule) {
|
|
34
|
-
throw new Error('EmployeeModule is already loaded. Import it in the AppModule only');
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
static forRoot(employeeConfig) {
|
|
38
|
-
return {
|
|
39
|
-
ngModule: EmployeeModule,
|
|
40
|
-
providers: [
|
|
41
|
-
EmployeeService,
|
|
42
|
-
{ provide: EmployeeServiceConfig, useValue: employeeConfig }
|
|
43
|
-
]
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
EmployeeModule.decorators = [
|
|
48
|
-
{ type: NgModule, args: [{
|
|
49
|
-
imports: [CommonModule],
|
|
50
|
-
declarations: [
|
|
51
|
-
DepartmentsPipe,
|
|
52
|
-
EmployeeByDnPipe,
|
|
53
|
-
EmployeesWithPropertyValuePipe,
|
|
54
|
-
FilterEmployeesPipe,
|
|
55
|
-
IsMemberOfPipe,
|
|
56
|
-
EmployeePhotoUrlPipe,
|
|
57
|
-
SortEmployeesPipe
|
|
58
|
-
],
|
|
59
|
-
exports: [
|
|
60
|
-
DepartmentsPipe,
|
|
61
|
-
EmployeeByDnPipe,
|
|
62
|
-
EmployeesWithPropertyValuePipe,
|
|
63
|
-
FilterEmployeesPipe,
|
|
64
|
-
IsMemberOfPipe,
|
|
65
|
-
EmployeePhotoUrlPipe,
|
|
66
|
-
SortEmployeesPipe
|
|
67
|
-
]
|
|
68
|
-
},] }
|
|
69
|
-
];
|
|
70
|
-
EmployeeModule.ctorParameters = () => [
|
|
71
|
-
{ type: EmployeeModule, decorators: [{ type: Optional }, { type: SkipSelf }] }
|
|
72
|
-
];
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZWUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VtcGxveWVlL2VtcGxveWVlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakIsT0FBTyxFQUFFLFFBQVEsRUFBdUIsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsV0FBVztBQUNYLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU5RCxRQUFRO0FBQ1IsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxZQUFZO0FBRVosaUJBQWlCO0FBQ2pCLFFBQVE7QUFDUixjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsa0JBQWtCLENBQUM7QUFFakMsV0FBVztBQUNYLGNBQWMsNkJBQTZCLENBQUM7QUFFNUMsUUFBUTtBQUNSLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsWUFBWTtBQXVCWixNQUFNLE9BQU8sY0FBYztJQVd6QixZQUFxQyxZQUE0QjtRQUMvRCxJQUFJLFlBQVksRUFBRTtZQUNoQixNQUFNLElBQUksS0FBSyxDQUNiLG1FQUFtRSxDQUFDLENBQUM7U0FDeEU7SUFDSCxDQUFDO0lBZkQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxjQUFxQztRQUNsRCxPQUFPO1lBQ0wsUUFBUSxFQUFFLGNBQWM7WUFDeEIsU0FBUyxFQUFFO2dCQUNULGVBQWU7Z0JBQ2YsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRTthQUM3RDtTQUNGLENBQUM7SUFDSixDQUFDOzs7WUE5QkYsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztnQkFDdkIsWUFBWSxFQUFFO29CQUNaLGVBQWU7b0JBQ2YsZ0JBQWdCO29CQUNoQiw4QkFBOEI7b0JBQzlCLG1CQUFtQjtvQkFDbkIsY0FBYztvQkFDZCxvQkFBb0I7b0JBQ3BCLGlCQUFpQjtpQkFDbEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLGVBQWU7b0JBQ2YsZ0JBQWdCO29CQUNoQiw4QkFBOEI7b0JBQzlCLG1CQUFtQjtvQkFDbkIsY0FBYztvQkFDZCxvQkFBb0I7b0JBQ3BCLGlCQUFpQjtpQkFDbEI7YUFDRjs7O1lBWW9ELGNBQWMsdUJBQW5ELFFBQVEsWUFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIEltcG9ydHNcbmltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBPcHRpb25hbCwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8vIFNlcnZpY2VzXG5pbXBvcnQgeyBFbXBsb3llZVNlcnZpY2VDb25maWcgfSBmcm9tICcuL21vZGVsL2VtcGxveWVlLnNlcnZpY2UuY29uZmlnJztcbmltcG9ydCB7IEVtcGxveWVlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZW1wbG95ZWUuc2VydmljZSc7XG5cbi8vIFBpcGVzXG5pbXBvcnQgeyBEZXBhcnRtZW50c1BpcGUgfSBmcm9tICcuL3BpcGVzL2RlcGFydG1lbnRzLnBpcGUnO1xuaW1wb3J0IHsgRW1wbG95ZWVCeURuUGlwZSB9IGZyb20gJy4vcGlwZXMvZW1wbG95ZWUtYnktZG4ucGlwZSc7XG5pbXBvcnQgeyBFbXBsb3llZVBob3RvVXJsUGlwZSB9IGZyb20gJy4vcGlwZXMvZW1wbG95ZWUtcGhvdG8tdXJsLnBpcGUnO1xuaW1wb3J0IHsgRW1wbG95ZWVzV2l0aFByb3BlcnR5VmFsdWVQaXBlIH0gZnJvbSAnLi9waXBlcy9lbXBsb3llZXMtd2l0aC1wcm9wZXJ0eS12YWx1ZS5waXBlJztcbmltcG9ydCB7IEZpbHRlckVtcGxveWVlc1BpcGUgfSBmcm9tICcuL3BpcGVzL2ZpbHRlci1lbXBsb3llZXMucGlwZSc7XG5pbXBvcnQgeyBJc01lbWJlck9mUGlwZSB9IGZyb20gJy4vcGlwZXMvaXMtbWVtYmVyLW9mLnBpcGUnO1xuaW1wb3J0IHsgU29ydEVtcGxveWVlc1BpcGUgfSBmcm9tICcuL3BpcGVzL3NvcnQtZW1wbG95ZWVzLnBpcGUnO1xuLy8jZW5kcmVnaW9uXG5cbi8vI3JlZ2lvbiBFeHBvcnRzXG4vLyBNb2RlbFxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC9lbXBsb3llZS5zZXJ2aWNlLmNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVsL2VtcGxveWVlJztcblxuLy8gU2VydmljZXNcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvZW1wbG95ZWUuc2VydmljZSc7XG5cbi8vIFBpcGVzXG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL2RlcGFydG1lbnRzLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9lbXBsb3llZS1ieS1kbi5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvZW1wbG95ZWUtcGhvdG8tdXJsLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9lbXBsb3llZXMtd2l0aC1wcm9wZXJ0eS12YWx1ZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvZmlsdGVyLWVtcGxveWVlcy5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvaXMtbWVtYmVyLW9mLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9zb3J0LWVtcGxveWVlcy5waXBlJztcbi8vI2VuZHJlZ2lvblxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRGVwYXJ0bWVudHNQaXBlLFxuICAgIEVtcGxveWVlQnlEblBpcGUsXG4gICAgRW1wbG95ZWVzV2l0aFByb3BlcnR5VmFsdWVQaXBlLFxuICAgIEZpbHRlckVtcGxveWVlc1BpcGUsXG4gICAgSXNNZW1iZXJPZlBpcGUsXG4gICAgRW1wbG95ZWVQaG90b1VybFBpcGUsXG4gICAgU29ydEVtcGxveWVlc1BpcGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIERlcGFydG1lbnRzUGlwZSxcbiAgICBFbXBsb3llZUJ5RG5QaXBlLFxuICAgIEVtcGxveWVlc1dpdGhQcm9wZXJ0eVZhbHVlUGlwZSxcbiAgICBGaWx0ZXJFbXBsb3llZXNQaXBlLFxuICAgIElzTWVtYmVyT2ZQaXBlLFxuICAgIEVtcGxveWVlUGhvdG9VcmxQaXBlLFxuICAgIFNvcnRFbXBsb3llZXNQaXBlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRW1wbG95ZWVNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChlbXBsb3llZUNvbmZpZzogRW1wbG95ZWVTZXJ2aWNlQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxFbXBsb3llZU1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRW1wbG95ZWVNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgRW1wbG95ZWVTZXJ2aWNlLFxuICAgICAgICB7IHByb3ZpZGU6IEVtcGxveWVlU2VydmljZUNvbmZpZywgdXNlVmFsdWU6IGVtcGxveWVlQ29uZmlnIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG5cbiAgY29uc3RydWN0b3IoIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIHBhcmVudE1vZHVsZTogRW1wbG95ZWVNb2R1bGUpIHtcbiAgICBpZiAocGFyZW50TW9kdWxlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdFbXBsb3llZU1vZHVsZSBpcyBhbHJlYWR5IGxvYWRlZC4gSW1wb3J0IGl0IGluIHRoZSBBcHBNb2R1bGUgb25seScpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZW1wbG95ZWUvbW9kZWwvZW1wbG95ZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRW1wbG95ZWUge1xuICAgIGJpcnRoRGF0ZT86IERhdGU7XG4gICAgY2l0eT86IHN0cmluZztcbiAgICBjbjogc3RyaW5nO1xuICAgIGRlcGFydG1lbnQ/OiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgZGlzcGxheU5hbWU6IHN0cmluZztcbiAgICBkaXN0aW5ndWlzaGVkTmFtZTogc3RyaW5nO1xuICAgIGVtcGxveWVlTnVtYmVyPzogbnVtYmVyO1xuICAgIGZpcnN0TmFtZTogc3RyaW5nO1xuICAgIGxhc3ROYW1lOiBzdHJpbmc7XG4gICAgaGlyZURhdGU/OiBEYXRlO1xuICAgIGluaXRpYWxzPzogc3RyaW5nO1xuICAgIGxhc3RCYWRQYXNzd29yZEF0dGVtcHQ/OiBEYXRlO1xuICAgIGxhc3RMb2dvbkRhdGU/OiBEYXRlO1xuICAgIG1haWw/OiBzdHJpbmc7XG4gICAgbWFuYWdlcj86IHN0cmluZztcbiAgICBtYXJrZXRUaXRsZT86IHN0cmluZzsgLy8gdXNlZCB0byBsaW5rIHRvIFBheSBiYW5kXG4gICAgbWVtYmVyT2Y/OiBzdHJpbmdbXTtcbiAgICBtb2JpbGU/OiBzdHJpbmc7XG4gICAgb2JqZWN0R1VJRDogc3RyaW5nO1xuICAgIG9iamVjdFNpZDogc3RyaW5nO1xuICAgIHNBTUFjY291bnROYW1lOiBzdHJpbmc7XG4gICAgc2NyaXB0UGF0aD86IHN0cmluZztcbiAgICBzdGF0ZT86IHN0cmluZztcbiAgICB0ZWxlcGhvbmVOdW1iZXI/OiBzdHJpbmc7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgdGl0bGUyPzogc3RyaW5nO1xuICAgIHRodW1ibmFpbFBob3RvOiBzdHJpbmc7XG4gICAgdXNlckFjY291bnRDb250cm9sOiBudW1iZXI7XG4gICAgdXNlclByaW5jaXBhbE5hbWU6IHN0cmluZztcbiAgICB3aGVuQ2hhbmdlZDogRGF0ZTtcbiAgICB3aGVuQ3JlYXRlZDogRGF0ZTtcbiAgICB3b3JrU2hpZnQ/OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
export class DepartmentsPipe {
|
|
3
|
-
transform(employees, args) {
|
|
4
|
-
const departments = [];
|
|
5
|
-
employees
|
|
6
|
-
.filter(emp => emp.department)
|
|
7
|
-
.forEach(emp => {
|
|
8
|
-
if (departments.indexOf(emp.department) === -1) {
|
|
9
|
-
departments.push(emp.department);
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
return departments.sort();
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
DepartmentsPipe.decorators = [
|
|
16
|
-
{ type: Pipe, args: [{
|
|
17
|
-
name: 'departments'
|
|
18
|
-
},] }
|
|
19
|
-
];
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwYXJ0bWVudHMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbXBsb3llZS9waXBlcy9kZXBhcnRtZW50cy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBTXBELE1BQU0sT0FBTyxlQUFlO0lBRTFCLFNBQVMsQ0FBQyxTQUFxQixFQUFFLElBQVU7UUFDekMsTUFBTSxXQUFXLEdBQWEsRUFBRSxDQUFDO1FBRWpDLFNBQVM7YUFDTixNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDO2FBQzdCLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNiLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7Z0JBQzlDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ2xDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFTCxPQUFPLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDOzs7WUFqQkYsSUFBSSxTQUFDO2dCQUNKLElBQUksRUFBRSxhQUFhO2FBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRW1wbG95ZWUgfSBmcm9tICcuLy4uL21vZGVsL2VtcGxveWVlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnZGVwYXJ0bWVudHMnXG59KVxuZXhwb3J0IGNsYXNzIERlcGFydG1lbnRzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHRyYW5zZm9ybShlbXBsb3llZXM6IEVtcGxveWVlW10sIGFyZ3M/OiBhbnkpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgZGVwYXJ0bWVudHM6IHN0cmluZ1tdID0gW107XG5cbiAgICBlbXBsb3llZXNcbiAgICAgIC5maWx0ZXIoZW1wID0+IGVtcC5kZXBhcnRtZW50KVxuICAgICAgLmZvckVhY2goZW1wID0+IHtcbiAgICAgICAgaWYgKGRlcGFydG1lbnRzLmluZGV4T2YoZW1wLmRlcGFydG1lbnQpID09PSAtMSkge1xuICAgICAgICAgIGRlcGFydG1lbnRzLnB1c2goZW1wLmRlcGFydG1lbnQpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHJldHVybiBkZXBhcnRtZW50cy5zb3J0KCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
export class EmployeeByDnPipe {
|
|
3
|
-
transform(employees, dn) {
|
|
4
|
-
return employees
|
|
5
|
-
.find(emp => emp.distinguishedName.toLowerCase() === dn.toLowerCase());
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
EmployeeByDnPipe.decorators = [
|
|
9
|
-
{ type: Pipe, args: [{
|
|
10
|
-
name: 'employeeByDn'
|
|
11
|
-
},] }
|
|
12
|
-
];
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZWUtYnktZG4ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbXBsb3llZS9waXBlcy9lbXBsb3llZS1ieS1kbi5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBTXBELE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsU0FBUyxDQUFDLFNBQXFCLEVBQUUsRUFBVTtRQUN6QyxPQUFPLFNBQVM7YUFDYixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDM0UsQ0FBQzs7O1lBUkYsSUFBSSxTQUFDO2dCQUNKLElBQUksRUFBRSxjQUFjO2FBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRW1wbG95ZWUgfSBmcm9tICcuLy4uL21vZGVsL2VtcGxveWVlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnZW1wbG95ZWVCeURuJ1xufSlcbmV4cG9ydCBjbGFzcyBFbXBsb3llZUJ5RG5QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKGVtcGxveWVlczogRW1wbG95ZWVbXSwgZG46IHN0cmluZyk6IEVtcGxveWVlIHtcbiAgICByZXR1cm4gZW1wbG95ZWVzXG4gICAgICAuZmluZChlbXAgPT4gZW1wLmRpc3Rpbmd1aXNoZWROYW1lLnRvTG93ZXJDYXNlKCkgPT09IGRuLnRvTG93ZXJDYXNlKCkpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
export class EmployeePhotoUrlPipe {
|
|
3
|
-
transform(employee, photos) {
|
|
4
|
-
if (!photos) {
|
|
5
|
-
return null;
|
|
6
|
-
}
|
|
7
|
-
// Try to match by employeeNumber, accountName, or title
|
|
8
|
-
const photo = photos
|
|
9
|
-
.find(pic => (pic.employeeNumber && employee.employeeNumber && +pic.employeeNumber === +employee.employeeNumber) ||
|
|
10
|
-
(pic.accountName && pic.accountName.toLowerCase() === employee.sAMAccountName.toLowerCase()) ||
|
|
11
|
-
(pic.title && pic.title.toLowerCase() === employee.displayName.toLowerCase()));
|
|
12
|
-
if (!photo) {
|
|
13
|
-
console.log(`No photo match for ${employee.displayName}`);
|
|
14
|
-
}
|
|
15
|
-
return photo ? photo.encodedAbsUrl : null;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
EmployeePhotoUrlPipe.decorators = [
|
|
19
|
-
{ type: Pipe, args: [{
|
|
20
|
-
name: 'employeePhotoUrl'
|
|
21
|
-
},] }
|
|
22
|
-
];
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZWUtcGhvdG8tdXJsLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZW1wbG95ZWUvcGlwZXMvZW1wbG95ZWUtcGhvdG8tdXJsLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFPcEQsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixTQUFTLENBQUMsUUFBa0IsRUFBRSxNQUFtQztRQUMvRCxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQUUsT0FBTyxJQUFJLENBQUM7U0FBRTtRQUU3Qix3REFBd0Q7UUFDeEQsTUFBTSxLQUFLLEdBQUcsTUFBTTthQUNqQixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FDVixDQUFDLEdBQUcsQ0FBQyxjQUFjLElBQUksUUFBUSxDQUFDLGNBQWMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEtBQUssQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDO1lBQ25HLENBQUMsR0FBRyxDQUFDLFdBQVcsSUFBSSxHQUFHLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxLQUFLLFFBQVEsQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDNUYsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssUUFBUSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFbkYsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1NBQzNEO1FBRUQsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM1QyxDQUFDOzs7WUFuQkYsSUFBSSxTQUFDO2dCQUNKLElBQUksRUFBRSxrQkFBa0I7YUFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFbXBsb3llZSB9IGZyb20gJy4vLi4vbW9kZWwvZW1wbG95ZWUnO1xuaW1wb3J0IHsgU2hhcmVQb2ludEVtcGxveWVlUGljdHVyZSB9IGZyb20gJy4vLi4vLi4vc2hhcmVwb2ludC9tb2RlbC9zaGFyZXBvaW50LWVtcGxveWVlLXBpY3R1cmUnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdlbXBsb3llZVBob3RvVXJsJ1xufSlcbmV4cG9ydCBjbGFzcyBFbXBsb3llZVBob3RvVXJsUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0oZW1wbG95ZWU6IEVtcGxveWVlLCBwaG90b3M6IFNoYXJlUG9pbnRFbXBsb3llZVBpY3R1cmVbXSk6IGFueSB7XG4gICAgaWYgKCFwaG90b3MpIHsgcmV0dXJuIG51bGw7IH1cblxuICAgIC8vIFRyeSB0byBtYXRjaCBieSBlbXBsb3llZU51bWJlciwgYWNjb3VudE5hbWUsIG9yIHRpdGxlXG4gICAgY29uc3QgcGhvdG8gPSBwaG90b3NcbiAgICAgIC5maW5kKHBpYyA9PlxuICAgICAgICAocGljLmVtcGxveWVlTnVtYmVyICYmIGVtcGxveWVlLmVtcGxveWVlTnVtYmVyICYmICtwaWMuZW1wbG95ZWVOdW1iZXIgPT09ICtlbXBsb3llZS5lbXBsb3llZU51bWJlcikgfHxcbiAgICAgICAgKHBpYy5hY2NvdW50TmFtZSAmJiBwaWMuYWNjb3VudE5hbWUudG9Mb3dlckNhc2UoKSA9PT0gZW1wbG95ZWUuc0FNQWNjb3VudE5hbWUudG9Mb3dlckNhc2UoKSkgfHxcbiAgICAgICAgKHBpYy50aXRsZSAmJiBwaWMudGl0bGUudG9Mb3dlckNhc2UoKSA9PT0gZW1wbG95ZWUuZGlzcGxheU5hbWUudG9Mb3dlckNhc2UoKSkpO1xuXG4gICAgaWYgKCFwaG90bykge1xuICAgICAgY29uc29sZS5sb2coYE5vIHBob3RvIG1hdGNoIGZvciAke2VtcGxveWVlLmRpc3BsYXlOYW1lfWApO1xuICAgIH1cblxuICAgIHJldHVybiBwaG90byA/IHBob3RvLmVuY29kZWRBYnNVcmwgOiBudWxsO1xuICB9XG59XG4iXX0=
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
export class EmployeesWithPropertyValuePipe {
|
|
3
|
-
transform(employees, propertyName, propertyValue) {
|
|
4
|
-
return employees
|
|
5
|
-
.filter(emp => emp[propertyName] && emp[propertyName] === propertyValue);
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
EmployeesWithPropertyValuePipe.decorators = [
|
|
9
|
-
{ type: Pipe, args: [{
|
|
10
|
-
name: 'employeesWithPropertyValue'
|
|
11
|
-
},] }
|
|
12
|
-
];
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZWVzLXdpdGgtcHJvcGVydHktdmFsdWUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbXBsb3llZS9waXBlcy9lbXBsb3llZXMtd2l0aC1wcm9wZXJ0eS12YWx1ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBTXBELE1BQU0sT0FBTyw4QkFBOEI7SUFFekMsU0FBUyxDQUFDLFNBQXFCLEVBQUUsWUFBb0IsRUFBRSxhQUFrQjtRQUN2RSxPQUFPLFNBQVM7YUFDYixNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLElBQUksR0FBRyxDQUFDLFlBQVksQ0FBQyxLQUFLLGFBQWEsQ0FBQyxDQUFDO0lBQzdFLENBQUM7OztZQVJGLElBQUksU0FBQztnQkFDSixJQUFJLEVBQUUsNEJBQTRCO2FBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRW1wbG95ZWUgfSBmcm9tICcuLy4uL21vZGVsL2VtcGxveWVlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnZW1wbG95ZWVzV2l0aFByb3BlcnR5VmFsdWUnXG59KVxuZXhwb3J0IGNsYXNzIEVtcGxveWVlc1dpdGhQcm9wZXJ0eVZhbHVlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHRyYW5zZm9ybShlbXBsb3llZXM6IEVtcGxveWVlW10sIHByb3BlcnR5TmFtZTogc3RyaW5nLCBwcm9wZXJ0eVZhbHVlOiBhbnkpOiBFbXBsb3llZVtdIHtcbiAgICByZXR1cm4gZW1wbG95ZWVzXG4gICAgICAuZmlsdGVyKGVtcCA9PiBlbXBbcHJvcGVydHlOYW1lXSAmJiBlbXBbcHJvcGVydHlOYW1lXSA9PT0gcHJvcGVydHlWYWx1ZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
export class FilterEmployeesPipe {
|
|
3
|
-
transform(employees, filter) {
|
|
4
|
-
return filter ?
|
|
5
|
-
employees
|
|
6
|
-
.filter(emp => emp.displayName.toLowerCase().indexOf(filter.toLowerCase()) !== -1 ||
|
|
7
|
-
(emp.department && emp.department.toLowerCase().indexOf(filter.toLowerCase()) !== -1) ||
|
|
8
|
-
(emp.title && emp.title.toLowerCase().indexOf(filter.toLowerCase()) !== -1) ||
|
|
9
|
-
emp.sAMAccountName.toLowerCase().indexOf(filter.toLowerCase()) !== -1) :
|
|
10
|
-
employees;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
FilterEmployeesPipe.decorators = [
|
|
14
|
-
{ type: Pipe, args: [{
|
|
15
|
-
name: 'filterEmployees'
|
|
16
|
-
},] }
|
|
17
|
-
];
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWVtcGxveWVlcy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VtcGxveWVlL3BpcGVzL2ZpbHRlci1lbXBsb3llZXMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQU1wRCxNQUFNLE9BQU8sbUJBQW1CO0lBQzVCLFNBQVMsQ0FBQyxTQUFxQixFQUFFLE1BQWM7UUFDM0MsT0FBTyxNQUFNLENBQUMsQ0FBQztZQUNYLFNBQVM7aUJBQ0osTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQ1YsR0FBRyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNsRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQ3JGLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDM0UsR0FBRyxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ3hFLENBQUMsQ0FBQztZQUNQLFNBQVMsQ0FBQztJQUNsQixDQUFDOzs7WUFkSixJQUFJLFNBQUM7Z0JBQ0YsSUFBSSxFQUFFLGlCQUFpQjthQUMxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVtcGxveWVlIH0gZnJvbSAnLi8uLi9tb2RlbC9lbXBsb3llZSc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnZmlsdGVyRW1wbG95ZWVzJ1xufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJFbXBsb3llZXNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKGVtcGxveWVlczogRW1wbG95ZWVbXSwgZmlsdGVyOiBzdHJpbmcpOiBFbXBsb3llZVtdIHtcbiAgICAgICAgcmV0dXJuIGZpbHRlciA/XG4gICAgICAgICAgICBlbXBsb3llZXNcbiAgICAgICAgICAgICAgICAuZmlsdGVyKGVtcCA9PlxuICAgICAgICAgICAgICAgICAgICBlbXAuZGlzcGxheU5hbWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKGZpbHRlci50b0xvd2VyQ2FzZSgpKSAhPT0gLTEgfHxcbiAgICAgICAgICAgICAgICAgICAgKGVtcC5kZXBhcnRtZW50ICYmIGVtcC5kZXBhcnRtZW50LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihmaWx0ZXIudG9Mb3dlckNhc2UoKSkgIT09IC0xKSB8fFxuICAgICAgICAgICAgICAgICAgICAoZW1wLnRpdGxlICYmIGVtcC50aXRsZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoZmlsdGVyLnRvTG93ZXJDYXNlKCkpICE9PSAtMSkgfHxcbiAgICAgICAgICAgICAgICAgICAgZW1wLnNBTUFjY291bnROYW1lLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihmaWx0ZXIudG9Mb3dlckNhc2UoKSkgIT09IC0xXG4gICAgICAgICAgICAgICAgKSA6XG4gICAgICAgICAgICBlbXBsb3llZXM7XG4gICAgfVxufVxuIl19
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
export class IsMemberOfPipe {
|
|
3
|
-
transform(employee, groupName) {
|
|
4
|
-
return employee.memberOf &&
|
|
5
|
-
(employee.memberOf.find(m => m.toLowerCase().indexOf(groupName.toLowerCase()) !== -1) !== undefined);
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
IsMemberOfPipe.decorators = [
|
|
9
|
-
{ type: Pipe, args: [{
|
|
10
|
-
name: 'isMemberOf'
|
|
11
|
-
},] }
|
|
12
|
-
];
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtbWVtYmVyLW9mLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZW1wbG95ZWUvcGlwZXMvaXMtbWVtYmVyLW9mLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFNcEQsTUFBTSxPQUFPLGNBQWM7SUFFekIsU0FBUyxDQUFDLFFBQWtCLEVBQUUsU0FBaUI7UUFDN0MsT0FBTyxRQUFRLENBQUMsUUFBUTtZQUN0QixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDO0lBQ3pHLENBQUM7OztZQVJGLElBQUksU0FBQztnQkFDSixJQUFJLEVBQUUsWUFBWTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVtcGxveWVlIH0gZnJvbSAnLi8uLi9tb2RlbC9lbXBsb3llZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2lzTWVtYmVyT2YnXG59KVxuZXhwb3J0IGNsYXNzIElzTWVtYmVyT2ZQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKGVtcGxveWVlOiBFbXBsb3llZSwgZ3JvdXBOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZW1wbG95ZWUubWVtYmVyT2YgJiZcbiAgICAgIChlbXBsb3llZS5tZW1iZXJPZi5maW5kKG0gPT4gbS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoZ3JvdXBOYW1lLnRvTG93ZXJDYXNlKCkpICE9PSAtMSkgIT09IHVuZGVmaW5lZCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
export class SortEmployeesPipe {
|
|
3
|
-
transform(employees, sortBy, dataType, reverse) {
|
|
4
|
-
return this.getSorted(employees, sortBy ? sortBy : 'displayName', dataType ? dataType : 'string', reverse ? reverse : false);
|
|
5
|
-
}
|
|
6
|
-
getSorted(employees, sortBy, dataType, reverse) {
|
|
7
|
-
const sorted = employees
|
|
8
|
-
.sort((a, b) => {
|
|
9
|
-
let valA, valB;
|
|
10
|
-
switch (dataType.toLowerCase()) {
|
|
11
|
-
case 'string':
|
|
12
|
-
valA = a[sortBy] ? a[sortBy].toString().toLowerCase() : null;
|
|
13
|
-
valB = b[sortBy] ? b[sortBy].toString().toLowerCase() : null;
|
|
14
|
-
break;
|
|
15
|
-
case 'number':
|
|
16
|
-
valA = a[sortBy] ? +a[sortBy] : null;
|
|
17
|
-
valB = b[sortBy] ? +b[sortBy] : null;
|
|
18
|
-
break;
|
|
19
|
-
case 'date':
|
|
20
|
-
valA = a[sortBy] ? a[sortBy] : null;
|
|
21
|
-
valB = b[sortBy] ? b[sortBy] : null;
|
|
22
|
-
break;
|
|
23
|
-
}
|
|
24
|
-
if (valA < valB) {
|
|
25
|
-
return -1;
|
|
26
|
-
}
|
|
27
|
-
if (valA > valB) {
|
|
28
|
-
return 1;
|
|
29
|
-
}
|
|
30
|
-
return 0;
|
|
31
|
-
});
|
|
32
|
-
return reverse ? sorted.reverse() : sorted;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
SortEmployeesPipe.decorators = [
|
|
36
|
-
{ type: Pipe, args: [{
|
|
37
|
-
name: 'sortEmployees'
|
|
38
|
-
},] }
|
|
39
|
-
];
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1lbXBsb3llZXMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbXBsb3llZS9waXBlcy9zb3J0LWVtcGxveWVlcy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBTXBELE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsU0FBUyxDQUFDLFNBQXFCLEVBQUUsTUFBZSxFQUFFLFFBQWlCLEVBQUUsT0FBaUI7UUFDcEYsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFDN0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFDL0IsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFDOUIsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTyxTQUFTLENBQUMsU0FBcUIsRUFBRSxNQUFjLEVBQUUsUUFBZ0IsRUFBRSxPQUFnQjtRQUN6RixNQUFNLE1BQU0sR0FBRyxTQUFTO2FBQ3JCLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNiLElBQUksSUFBSSxFQUFFLElBQVMsQ0FBQztZQUVwQixRQUFRLFFBQVEsQ0FBQyxXQUFXLEVBQUUsRUFBRTtnQkFDOUIsS0FBSyxRQUFRO29CQUNYLElBQUksR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO29CQUM3RCxJQUFJLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztvQkFDN0QsTUFBTTtnQkFDUixLQUFLLFFBQVE7b0JBQ1gsSUFBSSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztvQkFDckMsSUFBSSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztvQkFDckMsTUFBTTtnQkFDUixLQUFLLE1BQU07b0JBQ1QsSUFBSSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7b0JBQzVDLElBQUksR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO29CQUM1QyxNQUFNO2FBQ1Q7WUFFRCxJQUFJLElBQUksR0FBRyxJQUFJLEVBQUU7Z0JBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQzthQUFFO1lBQy9CLElBQUksSUFBSSxHQUFHLElBQUksRUFBRTtnQkFBRSxPQUFPLENBQUMsQ0FBQzthQUFFO1lBQzlCLE9BQU8sQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUM7UUFFTCxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDN0MsQ0FBQzs7O1lBckNGLElBQUksU0FBQztnQkFDSixJQUFJLEVBQUUsZUFBZTthQUN0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVtcGxveWVlIH0gZnJvbSAnLi8uLi9tb2RlbC9lbXBsb3llZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3NvcnRFbXBsb3llZXMnXG59KVxuZXhwb3J0IGNsYXNzIFNvcnRFbXBsb3llZXNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShlbXBsb3llZXM6IEVtcGxveWVlW10sIHNvcnRCeT86IHN0cmluZywgZGF0YVR5cGU/OiBzdHJpbmcsIHJldmVyc2U/OiBib29sZWFuKTogRW1wbG95ZWVbXSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U29ydGVkKGVtcGxveWVlcyxcbiAgICAgIHNvcnRCeSA/IHNvcnRCeSA6ICdkaXNwbGF5TmFtZScsXG4gICAgICBkYXRhVHlwZSA/IGRhdGFUeXBlIDogJ3N0cmluZycsXG4gICAgICByZXZlcnNlID8gcmV2ZXJzZSA6IGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U29ydGVkKGVtcGxveWVlczogRW1wbG95ZWVbXSwgc29ydEJ5OiBzdHJpbmcsIGRhdGFUeXBlOiBzdHJpbmcsIHJldmVyc2U6IGJvb2xlYW4pOiBFbXBsb3llZVtdIHtcbiAgICBjb25zdCBzb3J0ZWQgPSBlbXBsb3llZXNcbiAgICAgIC5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgIGxldCB2YWxBLCB2YWxCOiBhbnk7XG5cbiAgICAgICAgc3dpdGNoIChkYXRhVHlwZS50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgICAgIHZhbEEgPSBhW3NvcnRCeV0gPyBhW3NvcnRCeV0udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpIDogbnVsbDtcbiAgICAgICAgICAgIHZhbEIgPSBiW3NvcnRCeV0gPyBiW3NvcnRCeV0udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpIDogbnVsbDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ251bWJlcic6XG4gICAgICAgICAgICB2YWxBID0gYVtzb3J0QnldID8gK2Fbc29ydEJ5XSA6IG51bGw7XG4gICAgICAgICAgICB2YWxCID0gYltzb3J0QnldID8gK2Jbc29ydEJ5XSA6IG51bGw7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdkYXRlJzpcbiAgICAgICAgICAgIHZhbEEgPSBhW3NvcnRCeV0gPyBhW3NvcnRCeV0gYXMgRGF0ZSA6IG51bGw7XG4gICAgICAgICAgICB2YWxCID0gYltzb3J0QnldID8gYltzb3J0QnldIGFzIERhdGUgOiBudWxsO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsQSA8IHZhbEIpIHsgcmV0dXJuIC0xOyB9XG4gICAgICAgIGlmICh2YWxBID4gdmFsQikgeyByZXR1cm4gMTsgfVxuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIHJldmVyc2UgPyBzb3J0ZWQucmV2ZXJzZSgpIDogc29ydGVkO1xuICB9XG59XG4iXX0=
|
|
@@ -1,40 +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 { EmployeeServiceConfig } from './../model/employee.service.config';
|
|
6
|
-
//#endregion
|
|
7
|
-
export class EmployeeService {
|
|
8
|
-
//#endregion
|
|
9
|
-
//#region Lifecycle
|
|
10
|
-
constructor(config, http) {
|
|
11
|
-
this.http = http;
|
|
12
|
-
this.employeeApiUrl = config.employeeApiUrl;
|
|
13
|
-
}
|
|
14
|
-
//#endregion
|
|
15
|
-
//#region Utilities
|
|
16
|
-
getEmployees(storeEmployees = false, includeDisabled = false) {
|
|
17
|
-
// Do we already have employees stored locally?
|
|
18
|
-
if (this.employees) {
|
|
19
|
-
return of(this.employees);
|
|
20
|
-
// return Observable.of(this.employees);
|
|
21
|
-
}
|
|
22
|
-
// Should we store employees locally for subsequent calls?
|
|
23
|
-
if (storeEmployees) {
|
|
24
|
-
this.http.get(`${this.employeeApiUrl}/false/${includeDisabled}`)
|
|
25
|
-
.subscribe(emps => this.employees = emps);
|
|
26
|
-
}
|
|
27
|
-
return this.http.get(`${this.employeeApiUrl}/false/${includeDisabled}`);
|
|
28
|
-
}
|
|
29
|
-
getEmployee(sAMAccountName) {
|
|
30
|
-
return this.http.get(`${this.employeeApiUrl}/name/${sAMAccountName}`);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
EmployeeService.decorators = [
|
|
34
|
-
{ type: Injectable }
|
|
35
|
-
];
|
|
36
|
-
EmployeeService.ctorParameters = () => [
|
|
37
|
-
{ type: EmployeeServiceConfig, decorators: [{ type: Optional }] },
|
|
38
|
-
{ type: HttpClient }
|
|
39
|
-
];
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbXBsb3llZS9zZXJ2aWNlcy9lbXBsb3llZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd0QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxZQUFZO0FBR1osTUFBTSxPQUFPLGVBQWU7SUFJMUIsWUFBWTtJQUVaLG1CQUFtQjtJQUNuQixZQUF5QixNQUE2QixFQUM1QyxJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ3hCLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQztJQUM5QyxDQUFDO0lBQ0QsWUFBWTtJQUVaLG1CQUFtQjtJQUNuQixZQUFZLENBQUMsY0FBYyxHQUFHLEtBQUssRUFBRSxlQUFlLEdBQUcsS0FBSztRQUMxRCwrQ0FBK0M7UUFDL0MsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMxQix3Q0FBd0M7U0FDekM7UUFFRCwwREFBMEQ7UUFDMUQsSUFBSSxjQUFjLEVBQUU7WUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxVQUFVLGVBQWUsRUFBRSxDQUFDO2lCQUN6RSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDO1NBQzdDO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBYSxHQUFHLElBQUksQ0FBQyxjQUFjLFVBQVUsZUFBZSxFQUFFLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRUQsV0FBVyxDQUFDLGNBQXNCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxTQUFTLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDbEYsQ0FBQzs7O1lBakNGLFVBQVU7OztZQUhGLHFCQUFxQix1QkFXZCxRQUFRO1lBZmYsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8vI3JlZ2lvbiBJbXBvcnRzXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEVtcGxveWVlIH0gZnJvbSAnLi8uLi9tb2RlbC9lbXBsb3llZSc7XG5pbXBvcnQgeyBFbXBsb3llZVNlcnZpY2VDb25maWcgfSBmcm9tICcuLy4uL21vZGVsL2VtcGxveWVlLnNlcnZpY2UuY29uZmlnJztcbi8vI2VuZHJlZ2lvblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRW1wbG95ZWVTZXJ2aWNlIHtcbiAgLy8jcmVnaW9uIEZpZWxkc1xuICBwcml2YXRlIGVtcGxveWVlQXBpVXJsOiBzdHJpbmc7XG4gIGVtcGxveWVlczogRW1wbG95ZWVbXTtcbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIExpZmVjeWNsZVxuICBjb25zdHJ1Y3RvciggQE9wdGlvbmFsKCkgY29uZmlnOiBFbXBsb3llZVNlcnZpY2VDb25maWcsXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7XG4gICAgdGhpcy5lbXBsb3llZUFwaVVybCA9IGNvbmZpZy5lbXBsb3llZUFwaVVybDtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gVXRpbGl0aWVzXG4gIGdldEVtcGxveWVlcyhzdG9yZUVtcGxveWVlcyA9IGZhbHNlLCBpbmNsdWRlRGlzYWJsZWQgPSBmYWxzZSk6IE9ic2VydmFibGU8RW1wbG95ZWVbXT4ge1xuICAgIC8vIERvIHdlIGFscmVhZHkgaGF2ZSBlbXBsb3llZXMgc3RvcmVkIGxvY2FsbHk/XG4gICAgaWYgKHRoaXMuZW1wbG95ZWVzKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy5lbXBsb3llZXMpO1xuICAgICAgLy8gcmV0dXJuIE9ic2VydmFibGUub2YodGhpcy5lbXBsb3llZXMpO1xuICAgIH1cblxuICAgIC8vIFNob3VsZCB3ZSBzdG9yZSBlbXBsb3llZXMgbG9jYWxseSBmb3Igc3Vic2VxdWVudCBjYWxscz9cbiAgICBpZiAoc3RvcmVFbXBsb3llZXMpIHtcbiAgICAgIHRoaXMuaHR0cC5nZXQ8RW1wbG95ZWVbXT4oYCR7dGhpcy5lbXBsb3llZUFwaVVybH0vZmFsc2UvJHtpbmNsdWRlRGlzYWJsZWR9YClcbiAgICAgICAgLnN1YnNjcmliZShlbXBzID0+IHRoaXMuZW1wbG95ZWVzID0gZW1wcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RW1wbG95ZWVbXT4oYCR7dGhpcy5lbXBsb3llZUFwaVVybH0vZmFsc2UvJHtpbmNsdWRlRGlzYWJsZWR9YCk7XG4gIH1cblxuICBnZXRFbXBsb3llZShzQU1BY2NvdW50TmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxFbXBsb3llZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEVtcGxveWVlPihgJHt0aGlzLmVtcGxveWVlQXBpVXJsfS9uYW1lLyR7c0FNQWNjb3VudE5hbWV9YCk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG59XG4iXX0=
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { Component, Output, EventEmitter } from '@angular/core';
|
|
2
|
-
import { MatDialog } from '@angular/material/dialog';
|
|
3
|
-
import { UploadDialogComponent } from './../upload-dialog/upload-dialog.component';
|
|
4
|
-
import { UploadService } from './../../services/upload.service';
|
|
5
|
-
export class UploadComponent {
|
|
6
|
-
constructor(dialog, uploadService) {
|
|
7
|
-
this.dialog = dialog;
|
|
8
|
-
this.uploadService = uploadService;
|
|
9
|
-
this.dialogClosed = new EventEmitter();
|
|
10
|
-
}
|
|
11
|
-
ngOnInit() {
|
|
12
|
-
this.uploadButtonText = this.uploadService.uploadButtonText ?
|
|
13
|
-
this.uploadService.uploadButtonText :
|
|
14
|
-
'Upload';
|
|
15
|
-
}
|
|
16
|
-
openUploadDialog() {
|
|
17
|
-
this.dialog.open(UploadDialogComponent, { width: '50%' })
|
|
18
|
-
.afterClosed().subscribe(() => this.dialogClosed.emit());
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
UploadComponent.decorators = [
|
|
22
|
-
{ type: Component, args: [{
|
|
23
|
-
selector: 'cp-upload',
|
|
24
|
-
template: '<button mat-raised-button (click)="openUploadDialog()">{{ uploadButtonText }}</button>'
|
|
25
|
-
},] }
|
|
26
|
-
];
|
|
27
|
-
UploadComponent.ctorParameters = () => [
|
|
28
|
-
{ type: MatDialog },
|
|
29
|
-
{ type: UploadService }
|
|
30
|
-
];
|
|
31
|
-
UploadComponent.propDecorators = {
|
|
32
|
-
dialogClosed: [{ type: Output }]
|
|
33
|
-
};
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWxlLXVwbG9hZC9jb21wb25lbnRzL3VwbG9hZC91cGxvYWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBTWhFLE1BQU0sT0FBTyxlQUFlO0lBSXhCLFlBQW1CLE1BQWlCLEVBQVMsYUFBNEI7UUFBdEQsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUFTLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBSC9ELGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUdpQyxDQUFDO0lBRTlFLFFBQVE7UUFDSixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3pELElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNyQyxRQUFRLENBQUM7SUFDakIsQ0FBQztJQUVNLGdCQUFnQjtRQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQzthQUNwRCxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7OztZQW5CSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLFFBQVEsRUFBRSx3RkFBd0Y7YUFDckc7OztZQVBRLFNBQVM7WUFFVCxhQUFhOzs7MkJBT2pCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBVcGxvYWREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLy4uL3VwbG9hZC1kaWFsb2cvdXBsb2FkLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXBsb2FkU2VydmljZSB9IGZyb20gJy4vLi4vLi4vc2VydmljZXMvdXBsb2FkLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2NwLXVwbG9hZCcsXG4gICAgdGVtcGxhdGU6ICc8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJvcGVuVXBsb2FkRGlhbG9nKClcIj57eyB1cGxvYWRCdXR0b25UZXh0IH19PC9idXR0b24+J1xufSlcbmV4cG9ydCBjbGFzcyBVcGxvYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBPdXRwdXQoKSBkaWFsb2dDbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgdXBsb2FkQnV0dG9uVGV4dDogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZzogTWF0RGlhbG9nLCBwdWJsaWMgdXBsb2FkU2VydmljZTogVXBsb2FkU2VydmljZSkgeyB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGxvYWRCdXR0b25UZXh0ID0gdGhpcy51cGxvYWRTZXJ2aWNlLnVwbG9hZEJ1dHRvblRleHQgP1xuICAgICAgICAgICAgdGhpcy51cGxvYWRTZXJ2aWNlLnVwbG9hZEJ1dHRvblRleHQgOlxuICAgICAgICAgICAgJ1VwbG9hZCc7XG4gICAgfVxuXG4gICAgcHVibGljIG9wZW5VcGxvYWREaWFsb2coKSB7XG4gICAgICAgIHRoaXMuZGlhbG9nLm9wZW4oVXBsb2FkRGlhbG9nQ29tcG9uZW50LCB7IHdpZHRoOiAnNTAlJyB9KVxuICAgICAgICAgICAgLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMuZGlhbG9nQ2xvc2VkLmVtaXQoKSk7XG4gICAgfVxufVxuIl19
|