@ngageoint/mage.web-core-lib 6.6.0 → 6.6.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/angular-cli/builders/fesm-amd.js +64 -36
- package/angular-cli/builders/fesm-amd.js.map +1 -1
- package/angular-cli/schematics/plugin-library/index.js.map +1 -1
- package/common/xhr-img.component.d.ts +1 -1
- package/{esm2020 → esm2022}/common/mage-common.module.mjs +5 -5
- package/esm2022/common/xhr-img.component.mjs +105 -0
- package/esm2022/feed/feed.service.mjs +105 -0
- package/{esm2020 → esm2022}/mage-core-lib.module.mjs +5 -5
- package/esm2022/paging/paging.cdk-data-source.adapter.mjs +52 -0
- package/esm2022/paging/paging.model.mjs +25 -0
- package/esm2022/static-icon/static-icon-form-field/static-icon-form-field.component.mjs +146 -0
- package/esm2022/static-icon/static-icon-img/static-icon-img.component.mjs +36 -0
- package/{esm2020 → esm2022}/static-icon/static-icon-select/static-icon-select.component.mjs +16 -15
- package/esm2022/static-icon/static-icon.model.mjs +10 -0
- package/esm2022/static-icon/static-icon.module.mjs +54 -0
- package/esm2022/static-icon/static-icon.service.mjs +82 -0
- package/esm2022/user/user-read.service.mjs +34 -0
- package/esm2022/user/user-select/user-select.component.mjs +159 -0
- package/esm2022/user/user.module.mjs +64 -0
- package/feed/feed.model.d.ts +3 -3
- package/feed/feed.model.d.ts.map +1 -1
- package/{fesm2020 → fesm2022}/ngageoint-mage.web-core-lib-common.mjs +21 -20
- package/{fesm2020 → fesm2022}/ngageoint-mage.web-core-lib-common.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ngageoint-mage.web-core-lib-feed.mjs +4 -4
- package/{fesm2015 → fesm2022}/ngageoint-mage.web-core-lib-feed.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ngageoint-mage.web-core-lib-paging.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ngageoint-mage.web-core-lib-static-icon.mjs +61 -58
- package/fesm2022/ngageoint-mage.web-core-lib-static-icon.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/ngageoint-mage.web-core-lib-user.mjs +45 -45
- package/fesm2022/ngageoint-mage.web-core-lib-user.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/ngageoint-mage.web-core-lib.mjs +4 -4
- package/{fesm2015 → fesm2022}/ngageoint-mage.web-core-lib.mjs.map +1 -1
- package/package.json +26 -46
- package/static-icon/static-icon-form-field/static-icon-form-field.component.d.ts +1 -1
- package/static-icon/static-icon-img/static-icon-img.component.d.ts +1 -1
- package/static-icon/static-icon-select/static-icon-select.component.d.ts +1 -1
- package/static-icon/static-icon.model.d.ts +1 -1
- package/static-icon/static-icon.model.d.ts.map +1 -1
- package/user/user-read.service.d.ts +1 -1
- package/user/user-read.service.d.ts.map +1 -1
- package/user/user-select/user-select.component.d.ts +1 -1
- package/angular-cli/README.md +0 -30
- package/esm2020/common/xhr-img.component.mjs +0 -104
- package/esm2020/feed/feed.service.mjs +0 -105
- package/esm2020/paging/paging.cdk-data-source.adapter.mjs +0 -52
- package/esm2020/paging/paging.model.mjs +0 -25
- package/esm2020/static-icon/static-icon-form-field/static-icon-form-field.component.mjs +0 -145
- package/esm2020/static-icon/static-icon-img/static-icon-img.component.mjs +0 -35
- package/esm2020/static-icon/static-icon.model.mjs +0 -10
- package/esm2020/static-icon/static-icon.module.mjs +0 -54
- package/esm2020/static-icon/static-icon.service.mjs +0 -82
- package/esm2020/user/user-read.service.mjs +0 -34
- package/esm2020/user/user-select/user-select.component.mjs +0 -159
- package/esm2020/user/user.module.mjs +0 -64
- package/fesm2015/ngageoint-mage.web-core-lib-common.mjs +0 -142
- package/fesm2015/ngageoint-mage.web-core-lib-common.mjs.map +0 -1
- package/fesm2015/ngageoint-mage.web-core-lib-feed.mjs +0 -114
- package/fesm2015/ngageoint-mage.web-core-lib-paging.mjs.map +0 -1
- package/fesm2015/ngageoint-mage.web-core-lib-static-icon.mjs +0 -392
- package/fesm2015/ngageoint-mage.web-core-lib-static-icon.mjs.map +0 -1
- package/fesm2015/ngageoint-mage.web-core-lib-user.mjs +0 -273
- package/fesm2015/ngageoint-mage.web-core-lib-user.mjs.map +0 -1
- package/fesm2015/ngageoint-mage.web-core-lib.mjs +0 -32
- package/fesm2020/ngageoint-mage.web-core-lib-event.mjs +0 -10
- package/fesm2020/ngageoint-mage.web-core-lib-event.mjs.map +0 -1
- package/fesm2020/ngageoint-mage.web-core-lib-feed.mjs.map +0 -1
- package/fesm2020/ngageoint-mage.web-core-lib-paging.mjs +0 -83
- package/fesm2020/ngageoint-mage.web-core-lib-plugin.mjs +0 -4
- package/fesm2020/ngageoint-mage.web-core-lib-plugin.mjs.map +0 -1
- package/fesm2020/ngageoint-mage.web-core-lib-static-icon.mjs.map +0 -1
- package/fesm2020/ngageoint-mage.web-core-lib-user.mjs.map +0 -1
- package/fesm2020/ngageoint-mage.web-core-lib.mjs.map +0 -1
- /package/{esm2020 → esm2022}/common/ngageoint-mage.web-core-lib-common.mjs +0 -0
- /package/{esm2020 → esm2022}/common/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/event/event-read.service.mjs +0 -0
- /package/{esm2020 → esm2022}/event/event.model.mjs +0 -0
- /package/{esm2020 → esm2022}/event/ngageoint-mage.web-core-lib-event.mjs +0 -0
- /package/{esm2020 → esm2022}/event/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/feed/feed.model.mjs +0 -0
- /package/{esm2020 → esm2022}/feed/ngageoint-mage.web-core-lib-feed.mjs +0 -0
- /package/{esm2020 → esm2022}/feed/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/ngageoint-mage.web-core-lib.mjs +0 -0
- /package/{esm2020 → esm2022}/paging/ngageoint-mage.web-core-lib-paging.mjs +0 -0
- /package/{esm2020 → esm2022}/paging/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/plugin/ngageoint-mage.web-core-lib-plugin.mjs +0 -0
- /package/{esm2020 → esm2022}/plugin/plugin.model.mjs +0 -0
- /package/{esm2020 → esm2022}/plugin/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/static-icon/ngageoint-mage.web-core-lib-static-icon.mjs +0 -0
- /package/{esm2020 → esm2022}/static-icon/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/user/ngageoint-mage.web-core-lib-user.mjs +0 -0
- /package/{esm2020 → esm2022}/user/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/user/user.model.mjs +0 -0
- /package/{fesm2015 → fesm2022}/ngageoint-mage.web-core-lib-event.mjs +0 -0
- /package/{fesm2015 → fesm2022}/ngageoint-mage.web-core-lib-event.mjs.map +0 -0
- /package/{fesm2015 → fesm2022}/ngageoint-mage.web-core-lib-paging.mjs +0 -0
- /package/{fesm2015 → fesm2022}/ngageoint-mage.web-core-lib-plugin.mjs +0 -0
- /package/{fesm2015 → fesm2022}/ngageoint-mage.web-core-lib-plugin.mjs.map +0 -0
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { NgModule } from '@angular/core';
|
|
4
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
-
import { MatCardModule } from '@angular/material/card';
|
|
6
|
-
import { MageCommonModule } from '@ngageoint/mage.web-core-lib/common';
|
|
7
|
-
import { StaticIconFormFieldComponent } from './static-icon-form-field/static-icon-form-field.component';
|
|
8
|
-
import { StaticIconImgComponent } from './static-icon-img/static-icon-img.component';
|
|
9
|
-
import { StaticIconSelectComponent } from './static-icon-select/static-icon-select.component';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
export class StaticIconModule {
|
|
12
|
-
}
|
|
13
|
-
StaticIconModule.ɵfac = function StaticIconModule_Factory(t) { return new (t || StaticIconModule)(); };
|
|
14
|
-
StaticIconModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: StaticIconModule });
|
|
15
|
-
StaticIconModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
|
|
16
|
-
FormsModule,
|
|
17
|
-
ReactiveFormsModule,
|
|
18
|
-
MatCardModule,
|
|
19
|
-
MageCommonModule,
|
|
20
|
-
ScrollingModule] });
|
|
21
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StaticIconModule, [{
|
|
22
|
-
type: NgModule,
|
|
23
|
-
args: [{
|
|
24
|
-
imports: [
|
|
25
|
-
CommonModule,
|
|
26
|
-
FormsModule,
|
|
27
|
-
ReactiveFormsModule,
|
|
28
|
-
MatCardModule,
|
|
29
|
-
MageCommonModule,
|
|
30
|
-
ScrollingModule
|
|
31
|
-
],
|
|
32
|
-
declarations: [
|
|
33
|
-
StaticIconFormFieldComponent,
|
|
34
|
-
StaticIconImgComponent,
|
|
35
|
-
StaticIconSelectComponent,
|
|
36
|
-
],
|
|
37
|
-
exports: [
|
|
38
|
-
StaticIconFormFieldComponent,
|
|
39
|
-
StaticIconImgComponent,
|
|
40
|
-
StaticIconSelectComponent,
|
|
41
|
-
]
|
|
42
|
-
}]
|
|
43
|
-
}], null, null); })();
|
|
44
|
-
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(StaticIconModule, { declarations: [StaticIconFormFieldComponent,
|
|
45
|
-
StaticIconImgComponent,
|
|
46
|
-
StaticIconSelectComponent], imports: [CommonModule,
|
|
47
|
-
FormsModule,
|
|
48
|
-
ReactiveFormsModule,
|
|
49
|
-
MatCardModule,
|
|
50
|
-
MageCommonModule,
|
|
51
|
-
ScrollingModule], exports: [StaticIconFormFieldComponent,
|
|
52
|
-
StaticIconImgComponent,
|
|
53
|
-
StaticIconSelectComponent] }); })();
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljLWljb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS1saWIvc3RhdGljLWljb24vc3RhdGljLWljb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQ3RFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJEQUEyRCxDQUFBO0FBQ3hHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFBO0FBQ3BGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFBOztBQXVCN0YsTUFBTSxPQUFPLGdCQUFnQjs7Z0ZBQWhCLGdCQUFnQjtrRUFBaEIsZ0JBQWdCO3NFQWxCekIsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixlQUFlO3VGQWFOLGdCQUFnQjtjQXBCNUIsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLFdBQVc7b0JBQ1gsbUJBQW1CO29CQUNuQixhQUFhO29CQUNiLGdCQUFnQjtvQkFDaEIsZUFBZTtpQkFDaEI7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLDRCQUE0QjtvQkFDNUIsc0JBQXNCO29CQUN0Qix5QkFBeUI7aUJBQzFCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCw0QkFBNEI7b0JBQzVCLHNCQUFzQjtvQkFDdEIseUJBQXlCO2lCQUMxQjthQUNGOzt3RkFDWSxnQkFBZ0IsbUJBVnpCLDRCQUE0QjtRQUM1QixzQkFBc0I7UUFDdEIseUJBQXlCLGFBVnpCLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGFBQWE7UUFDYixnQkFBZ0I7UUFDaEIsZUFBZSxhQVFmLDRCQUE0QjtRQUM1QixzQkFBc0I7UUFDdEIseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZydcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCdcbmltcG9ydCB7IE1hZ2VDb21tb25Nb2R1bGUgfSBmcm9tICdAbmdhZ2VvaW50L21hZ2Uud2ViLWNvcmUtbGliL2NvbW1vbidcbmltcG9ydCB7IFN0YXRpY0ljb25Gb3JtRmllbGRDb21wb25lbnQgfSBmcm9tICcuL3N0YXRpYy1pY29uLWZvcm0tZmllbGQvc3RhdGljLWljb24tZm9ybS1maWVsZC5jb21wb25lbnQnXG5pbXBvcnQgeyBTdGF0aWNJY29uSW1nQ29tcG9uZW50IH0gZnJvbSAnLi9zdGF0aWMtaWNvbi1pbWcvc3RhdGljLWljb24taW1nLmNvbXBvbmVudCdcbmltcG9ydCB7IFN0YXRpY0ljb25TZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3N0YXRpYy1pY29uLXNlbGVjdC9zdGF0aWMtaWNvbi1zZWxlY3QuY29tcG9uZW50J1xuXG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRDYXJkTW9kdWxlLFxuICAgIE1hZ2VDb21tb25Nb2R1bGUsXG4gICAgU2Nyb2xsaW5nTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFN0YXRpY0ljb25Gb3JtRmllbGRDb21wb25lbnQsXG4gICAgU3RhdGljSWNvbkltZ0NvbXBvbmVudCxcbiAgICBTdGF0aWNJY29uU2VsZWN0Q29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgU3RhdGljSWNvbkZvcm1GaWVsZENvbXBvbmVudCxcbiAgICBTdGF0aWNJY29uSW1nQ29tcG9uZW50LFxuICAgIFN0YXRpY0ljb25TZWxlY3RDb21wb25lbnQsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU3RhdGljSWNvbk1vZHVsZSB7fSJdfQ==
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { HttpParams } from '@angular/common/http';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { Observable, throwError } from 'rxjs';
|
|
4
|
-
import { catchError } from 'rxjs/operators';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common/http";
|
|
7
|
-
export class StaticIconService {
|
|
8
|
-
constructor(webClient) {
|
|
9
|
-
this.webClient = webClient;
|
|
10
|
-
}
|
|
11
|
-
fetchIcons(fetch) {
|
|
12
|
-
const now = Date.now();
|
|
13
|
-
const results = new Observable(observer => {
|
|
14
|
-
const icons = [];
|
|
15
|
-
let remaining = 100;
|
|
16
|
-
while (remaining--) {
|
|
17
|
-
const id = now - remaining;
|
|
18
|
-
icons.unshift({
|
|
19
|
-
id: String(id),
|
|
20
|
-
title: `Icon ${id}`,
|
|
21
|
-
fileName: `icon-${id}.png`,
|
|
22
|
-
sourceUrl: `https://test.mage/${id}.png`,
|
|
23
|
-
contentPath: `/icons/${id}/content`
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
setTimeout(() => {
|
|
27
|
-
observer.next({
|
|
28
|
-
pageSize: 100,
|
|
29
|
-
pageIndex: 0,
|
|
30
|
-
totalCount: 100,
|
|
31
|
-
items: icons
|
|
32
|
-
});
|
|
33
|
-
observer.complete();
|
|
34
|
-
}, 0);
|
|
35
|
-
return {
|
|
36
|
-
unsubscribe() { }
|
|
37
|
-
};
|
|
38
|
-
});
|
|
39
|
-
return results;
|
|
40
|
-
}
|
|
41
|
-
fetchIconById(id) {
|
|
42
|
-
return this.webClient.get(`/api/icons/${id}`).pipe(catchError((err, caught) => {
|
|
43
|
-
// TODO: this is probably better practice to insulate app layer from
|
|
44
|
-
// http errors
|
|
45
|
-
// if (err instanceof HttpErrorResponse) {
|
|
46
|
-
// if (err.status === 404) {
|
|
47
|
-
// return null
|
|
48
|
-
// }
|
|
49
|
-
// }
|
|
50
|
-
return throwError(err);
|
|
51
|
-
}));
|
|
52
|
-
}
|
|
53
|
-
fetchIconBySourceUrl(url) {
|
|
54
|
-
return this.webClient.get(`/api/icons`, {
|
|
55
|
-
params: new HttpParams().set('source_url', url)
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
fetchIconByReference(ref) {
|
|
59
|
-
if (ref.id) {
|
|
60
|
-
return this.fetchIconById(ref.id);
|
|
61
|
-
}
|
|
62
|
-
else if (ref.sourceUrl) {
|
|
63
|
-
return this.fetchIconBySourceUrl(ref.sourceUrl);
|
|
64
|
-
}
|
|
65
|
-
throw new Error('no icon id or source url');
|
|
66
|
-
}
|
|
67
|
-
registerIconUrl(url) {
|
|
68
|
-
throw new Error('unimplemented');
|
|
69
|
-
}
|
|
70
|
-
uploadIcon() {
|
|
71
|
-
throw new Error('unimplemented');
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
StaticIconService.ɵfac = function StaticIconService_Factory(t) { return new (t || StaticIconService)(i0.ɵɵinject(i1.HttpClient)); };
|
|
75
|
-
StaticIconService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: StaticIconService, factory: StaticIconService.ɵfac, providedIn: 'root' });
|
|
76
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StaticIconService, [{
|
|
77
|
-
type: Injectable,
|
|
78
|
-
args: [{
|
|
79
|
-
providedIn: 'root'
|
|
80
|
-
}]
|
|
81
|
-
}], function () { return [{ type: i1.HttpClient }]; }, null); })();
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljLWljb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtbGliL3N0YXRpYy1pY29uL3N0YXRpYy1pY29uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQzdELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFBOzs7QUFZM0MsTUFBTSxPQUFPLGlCQUFpQjtJQUU1QixZQUFvQixTQUFxQjtRQUFyQixjQUFTLEdBQVQsU0FBUyxDQUFZO0lBQUksQ0FBQztJQUU5QyxVQUFVLENBQUMsS0FBaUI7UUFDMUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFBO1FBQ3RCLE1BQU0sT0FBTyxHQUFHLElBQUksVUFBVSxDQUFxQixRQUFRLENBQUMsRUFBRTtZQUM1RCxNQUFNLEtBQUssR0FBaUIsRUFBRSxDQUFBO1lBQzlCLElBQUksU0FBUyxHQUFHLEdBQUcsQ0FBQTtZQUNuQixPQUFPLFNBQVMsRUFBRSxFQUFFO2dCQUNsQixNQUFNLEVBQUUsR0FBRyxHQUFHLEdBQUcsU0FBUyxDQUFBO2dCQUMxQixLQUFLLENBQUMsT0FBTyxDQUFDO29CQUNaLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDO29CQUNkLEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRTtvQkFDbkIsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNO29CQUMxQixTQUFTLEVBQUUscUJBQXFCLEVBQUUsTUFBTTtvQkFDeEMsV0FBVyxFQUFFLFVBQVUsRUFBRSxVQUFVO2lCQUNwQyxDQUFDLENBQUE7YUFDSDtZQUNELFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsUUFBUSxDQUFDLElBQUksQ0FBQztvQkFDWixRQUFRLEVBQUUsR0FBRztvQkFDYixTQUFTLEVBQUUsQ0FBQztvQkFDWixVQUFVLEVBQUUsR0FBRztvQkFDZixLQUFLLEVBQUUsS0FBSztpQkFDYixDQUFDLENBQUE7Z0JBQ0YsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFBO1lBQ3JCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUNMLE9BQU87Z0JBQ0wsV0FBVyxLQUFLLENBQUM7YUFDbEIsQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxPQUFPLENBQUE7SUFDaEIsQ0FBQztJQUVELGFBQWEsQ0FBQyxFQUFVO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQWEsY0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDNUQsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3pCLG9FQUFvRTtZQUNwRSxjQUFjO1lBQ2QsMENBQTBDO1lBQzFDLDhCQUE4QjtZQUM5QixrQkFBa0I7WUFDbEIsTUFBTTtZQUNOLElBQUk7WUFDSixPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUN4QixDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQztJQUVELG9CQUFvQixDQUFDLEdBQVc7UUFDOUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBb0IsWUFBWSxFQUFFO1lBQ3pELE1BQU0sRUFBRSxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDO1NBQ2hELENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxHQUF3QjtRQUMzQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLEVBQUU7WUFDVixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1NBQ2xDO2FBQ0ksSUFBSSxHQUFHLENBQUMsU0FBUyxFQUFFO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtTQUNoRDtRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQTtJQUM3QyxDQUFDO0lBRUQsZUFBZSxDQUFDLEdBQVc7UUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQsVUFBVTtRQUNSLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDbEMsQ0FBQzs7a0ZBeEVVLGlCQUFpQjt1RUFBakIsaUJBQWlCLFdBQWpCLGlCQUFpQixtQkFGaEIsTUFBTTt1RkFFUCxpQkFBaUI7Y0FIN0IsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBQYWdlT2YsIFBhZ2luZ1BhcmFtZXRlcnMgfSBmcm9tICdAbmdhZ2VvaW50L21hZ2Uud2ViLWNvcmUtbGliL3BhZ2luZydcbmltcG9ydCB7IFN0YXRpY0ljb24sIFN0YXRpY0ljb25SZWZlcmVuY2UgfSBmcm9tICcuL3N0YXRpYy1pY29uLm1vZGVsJ1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgSWNvbkZldGNoIGV4dGVuZHMgUGFnaW5nUGFyYW1ldGVycyB7XG4gIHNlYXJjaFRleHQ/OiBzdHJpbmdcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3RhdGljSWNvblNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgd2ViQ2xpZW50OiBIdHRwQ2xpZW50KSB7IH1cblxuICBmZXRjaEljb25zKGZldGNoPzogSWNvbkZldGNoKTogT2JzZXJ2YWJsZTxQYWdlT2Y8U3RhdGljSWNvbj4+IHtcbiAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpXG4gICAgY29uc3QgcmVzdWx0cyA9IG5ldyBPYnNlcnZhYmxlPFBhZ2VPZjxTdGF0aWNJY29uPj4ob2JzZXJ2ZXIgPT4ge1xuICAgICAgY29uc3QgaWNvbnM6IFN0YXRpY0ljb25bXSA9IFtdXG4gICAgICBsZXQgcmVtYWluaW5nID0gMTAwXG4gICAgICB3aGlsZSAocmVtYWluaW5nLS0pIHtcbiAgICAgICAgY29uc3QgaWQgPSBub3cgLSByZW1haW5pbmdcbiAgICAgICAgaWNvbnMudW5zaGlmdCh7XG4gICAgICAgICAgaWQ6IFN0cmluZyhpZCksXG4gICAgICAgICAgdGl0bGU6IGBJY29uICR7aWR9YCxcbiAgICAgICAgICBmaWxlTmFtZTogYGljb24tJHtpZH0ucG5nYCxcbiAgICAgICAgICBzb3VyY2VVcmw6IGBodHRwczovL3Rlc3QubWFnZS8ke2lkfS5wbmdgLFxuICAgICAgICAgIGNvbnRlbnRQYXRoOiBgL2ljb25zLyR7aWR9L2NvbnRlbnRgXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgb2JzZXJ2ZXIubmV4dCh7XG4gICAgICAgICAgcGFnZVNpemU6IDEwMCxcbiAgICAgICAgICBwYWdlSW5kZXg6IDAsXG4gICAgICAgICAgdG90YWxDb3VudDogMTAwLFxuICAgICAgICAgIGl0ZW1zOiBpY29uc1xuICAgICAgICB9KVxuICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpXG4gICAgICB9LCAwKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdW5zdWJzY3JpYmUoKSB7IH1cbiAgICAgIH1cbiAgICB9KVxuICAgIHJldHVybiByZXN1bHRzXG4gIH1cblxuICBmZXRjaEljb25CeUlkKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFN0YXRpY0ljb24gfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMud2ViQ2xpZW50LmdldDxTdGF0aWNJY29uPihgL2FwaS9pY29ucy8ke2lkfWApLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKChlcnIsIGNhdWdodCkgPT4ge1xuICAgICAgICAvLyBUT0RPOiB0aGlzIGlzIHByb2JhYmx5IGJldHRlciBwcmFjdGljZSB0byBpbnN1bGF0ZSBhcHAgbGF5ZXIgZnJvbVxuICAgICAgICAvLyBodHRwIGVycm9yc1xuICAgICAgICAvLyBpZiAoZXJyIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgLy8gICBpZiAoZXJyLnN0YXR1cyA9PT0gNDA0KSB7XG4gICAgICAgIC8vICAgICByZXR1cm4gbnVsbFxuICAgICAgICAvLyAgIH1cbiAgICAgICAgLy8gfVxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnIpXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIGZldGNoSWNvbkJ5U291cmNlVXJsKHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxTdGF0aWNJY29uPiB7XG4gICAgcmV0dXJuIHRoaXMud2ViQ2xpZW50LmdldDxTdGF0aWNJY29uIHwgbnVsbD4oYC9hcGkvaWNvbnNgLCB7XG4gICAgICBwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdzb3VyY2VfdXJsJywgdXJsKVxuICAgIH0pXG4gIH1cblxuICBmZXRjaEljb25CeVJlZmVyZW5jZShyZWY6IFN0YXRpY0ljb25SZWZlcmVuY2UpOiBPYnNlcnZhYmxlPFN0YXRpY0ljb24gfCBudWxsPiB7XG4gICAgaWYgKHJlZi5pZCkge1xuICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hJY29uQnlJZChyZWYuaWQpXG4gICAgfVxuICAgIGVsc2UgaWYgKHJlZi5zb3VyY2VVcmwpIHtcbiAgICAgIHJldHVybiB0aGlzLmZldGNoSWNvbkJ5U291cmNlVXJsKHJlZi5zb3VyY2VVcmwpXG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcignbm8gaWNvbiBpZCBvciBzb3VyY2UgdXJsJylcbiAgfVxuXG4gIHJlZ2lzdGVySWNvblVybCh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8U3RhdGljSWNvbj4ge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5pbXBsZW1lbnRlZCcpXG4gIH1cblxuICB1cGxvYWRJY29uKCk6IHZvaWQge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5pbXBsZW1lbnRlZCcpXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { InjectionToken, Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common/http";
|
|
4
|
-
export const USER_READ_BASE_URL = '/api/next-users';
|
|
5
|
-
export class UserReadService {
|
|
6
|
-
constructor(webClient) {
|
|
7
|
-
this.webClient = webClient;
|
|
8
|
-
}
|
|
9
|
-
search(which) {
|
|
10
|
-
const queryParams = {
|
|
11
|
-
page_size: String(which.pageSize),
|
|
12
|
-
page: String(which.pageIndex),
|
|
13
|
-
};
|
|
14
|
-
if (typeof which.term === 'string') {
|
|
15
|
-
queryParams.term = which.term;
|
|
16
|
-
}
|
|
17
|
-
if (typeof which.includeTotalCount === 'boolean') {
|
|
18
|
-
queryParams.total = which.includeTotalCount ? 'true' : 'false';
|
|
19
|
-
}
|
|
20
|
-
return this.webClient.get(`${USER_READ_BASE_URL}/search`, {
|
|
21
|
-
params: queryParams
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
UserReadService.ɵfac = function UserReadService_Factory(t) { return new (t || UserReadService)(i0.ɵɵinject(i1.HttpClient)); };
|
|
26
|
-
UserReadService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: UserReadService, factory: UserReadService.ɵfac, providedIn: 'root' });
|
|
27
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UserReadService, [{
|
|
28
|
-
type: Injectable,
|
|
29
|
-
args: [{
|
|
30
|
-
providedIn: 'root'
|
|
31
|
-
}]
|
|
32
|
-
}], function () { return [{ type: i1.HttpClient }]; }, null); })();
|
|
33
|
-
export const USER_READ_SERVICE = new InjectionToken('UserReadService');
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1yZWFkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWxpYi91c2VyL3VzZXItcmVhZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBOzs7QUFLMUQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsaUJBQWlCLENBQUE7QUFhbkQsTUFBTSxPQUFPLGVBQWU7SUFFMUIsWUFBb0IsU0FBcUI7UUFBckIsY0FBUyxHQUFULFNBQVMsQ0FBWTtJQUFJLENBQUM7SUFFOUMsTUFBTSxDQUFDLEtBQXVCO1FBQzVCLE1BQU0sV0FBVyxHQUFzQjtZQUNyQyxTQUFTLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7WUFDakMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO1NBQzlCLENBQUE7UUFDRCxJQUFJLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7WUFDbEMsV0FBVyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFBO1NBQzlCO1FBQ0QsSUFBSSxPQUFPLEtBQUssQ0FBQyxpQkFBaUIsS0FBSyxTQUFTLEVBQUU7WUFDaEQsV0FBVyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFBO1NBQy9EO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBMkIsR0FBRyxrQkFBa0IsU0FBUyxFQUFFO1lBQ2xGLE1BQU0sRUFBRSxXQUFXO1NBQ3BCLENBQUMsQ0FBQTtJQUNKLENBQUM7OzhFQWxCVSxlQUFlO3FFQUFmLGVBQWUsV0FBZixlQUFlLG1CQUZkLE1BQU07dUZBRVAsZUFBZTtjQUgzQixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7O0FBaUNELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUFrQixpQkFBaUIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgUGFnZU9mLCBQYWdpbmdQYXJhbWV0ZXJzIH0gZnJvbSAnQG5nYWdlb2ludC9tYWdlLndlYi1jb3JlLWxpYi9wYWdpbmcnXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuL3VzZXIubW9kZWwnXG5cbmV4cG9ydCBjb25zdCBVU0VSX1JFQURfQkFTRV9VUkwgPSAnL2FwaS9uZXh0LXVzZXJzJ1xuXG50eXBlIFNlYXJjaFF1ZXJ5UGFyYW1zID0ge1xuICBwYWdlX3NpemU6IHN0cmluZyxcbiAgcGFnZTogc3RyaW5nLFxuICB0ZXJtPzogc3RyaW5nLFxuICB0b3RhbD86ICd0cnVlJyB8ICdmYWxzZSdcbn1cblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBVc2VyUmVhZFNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgd2ViQ2xpZW50OiBIdHRwQ2xpZW50KSB7IH1cblxuICBzZWFyY2god2hpY2g6IFVzZXJTZWFyY2hQYXJhbXMpOiBPYnNlcnZhYmxlPFBhZ2VPZjxVc2VyU2VhcmNoUmVzdWx0Pj4ge1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zOiBTZWFyY2hRdWVyeVBhcmFtcyA9IHtcbiAgICAgIHBhZ2Vfc2l6ZTogU3RyaW5nKHdoaWNoLnBhZ2VTaXplKSxcbiAgICAgIHBhZ2U6IFN0cmluZyh3aGljaC5wYWdlSW5kZXgpLFxuICAgIH1cbiAgICBpZiAodHlwZW9mIHdoaWNoLnRlcm0gPT09ICdzdHJpbmcnKSB7XG4gICAgICBxdWVyeVBhcmFtcy50ZXJtID0gd2hpY2gudGVybVxuICAgIH1cbiAgICBpZiAodHlwZW9mIHdoaWNoLmluY2x1ZGVUb3RhbENvdW50ID09PSAnYm9vbGVhbicpIHtcbiAgICAgIHF1ZXJ5UGFyYW1zLnRvdGFsID0gd2hpY2guaW5jbHVkZVRvdGFsQ291bnQgPyAndHJ1ZScgOiAnZmFsc2UnXG4gICAgfVxuICAgIHJldHVybiB0aGlzLndlYkNsaWVudC5nZXQ8UGFnZU9mPFVzZXJTZWFyY2hSZXN1bHQ+PihgJHtVU0VSX1JFQURfQkFTRV9VUkx9L3NlYXJjaGAsIHtcbiAgICAgIHBhcmFtczogcXVlcnlQYXJhbXNcbiAgICB9KVxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclNlYXJjaFBhcmFtcyBleHRlbmRzIFBhZ2luZ1BhcmFtZXRlcnMge1xuICB0ZXJtPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZFxufVxuXG5leHBvcnQgdHlwZSBVc2VyU2VhcmNoUmVzdWx0ID0gUGljazxVc2VyLCAnaWQnIHwgJ3VzZXJuYW1lJyB8ICdkaXNwbGF5TmFtZScgfCAnZW1haWwnIHwgJ2FjdGl2ZScgfCAnZW5hYmxlZCc+ICYge1xuICAvKipcbiAgICogQSByZWR1Y3Rpb24gb2YgYWxsIHRoZSBwaG9uZSBudW1iZXJzIHRvIGEgc2luZ2xlIHN0cmluZ1xuICAgKi9cbiAgYWxsUGhvbmVzPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZFxufVxuXG5leHBvcnQgY29uc3QgVVNFUl9SRUFEX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48VXNlclJlYWRTZXJ2aWNlPignVXNlclJlYWRTZXJ2aWNlJykiXX0=
|
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
import { Component, ViewChild, forwardRef } from '@angular/core';
|
|
2
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import { NgSelectComponent } from '@ng-select/ng-select';
|
|
4
|
-
import { pageForItemIndex } from '@ngageoint/mage.web-core-lib/paging';
|
|
5
|
-
import { Subject } from 'rxjs';
|
|
6
|
-
import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "../user-read.service";
|
|
9
|
-
import * as i2 from "@ng-select/ng-select";
|
|
10
|
-
function UserSelectComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
11
|
-
i0.ɵɵelementStart(0, "small", 3);
|
|
12
|
-
i0.ɵɵtext(1);
|
|
13
|
-
i0.ɵɵelementEnd();
|
|
14
|
-
} if (rf & 2) {
|
|
15
|
-
const ctx_r0 = i0.ɵɵnextContext();
|
|
16
|
-
i0.ɵɵadvance(1);
|
|
17
|
-
i0.ɵɵtextInterpolate1("", ctx_r0.totalCount, " matching users");
|
|
18
|
-
} }
|
|
19
|
-
function UserSelectComponent_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
20
|
-
i0.ɵɵelementStart(0, "div", 4)(1, "p", 5);
|
|
21
|
-
i0.ɵɵtext(2);
|
|
22
|
-
i0.ɵɵelementEnd();
|
|
23
|
-
i0.ɵɵelementStart(3, "p", 6);
|
|
24
|
-
i0.ɵɵtext(4);
|
|
25
|
-
i0.ɵɵelementEnd();
|
|
26
|
-
i0.ɵɵelementStart(5, "p", 6);
|
|
27
|
-
i0.ɵɵtext(6);
|
|
28
|
-
i0.ɵɵelementEnd()();
|
|
29
|
-
} if (rf & 2) {
|
|
30
|
-
const user_r2 = ctx.item;
|
|
31
|
-
i0.ɵɵadvance(2);
|
|
32
|
-
i0.ɵɵtextInterpolate2("", user_r2.displayName, " (", user_r2.username, ")");
|
|
33
|
-
i0.ɵɵadvance(2);
|
|
34
|
-
i0.ɵɵtextInterpolate(user_r2.email || "[no email]");
|
|
35
|
-
i0.ɵɵadvance(2);
|
|
36
|
-
i0.ɵɵtextInterpolate(user_r2.allPhones || "[no phone]");
|
|
37
|
-
} }
|
|
38
|
-
export class UserSelectComponent {
|
|
39
|
-
constructor(userService) {
|
|
40
|
-
this.userService = userService;
|
|
41
|
-
this.baseFindParams = Object.freeze({
|
|
42
|
-
pageSize: 100,
|
|
43
|
-
pageIndex: 0,
|
|
44
|
-
term: null
|
|
45
|
-
});
|
|
46
|
-
this.nextPageScrollThreshold = 15;
|
|
47
|
-
this.searchTermDebounceTime = 500;
|
|
48
|
-
this.trackByUserId = x => x.id;
|
|
49
|
-
this.users = [];
|
|
50
|
-
this.totalCount = 0;
|
|
51
|
-
this.searchTerm$ = new Subject();
|
|
52
|
-
this.currentSearchTerm = null;
|
|
53
|
-
this.currentFetch = null;
|
|
54
|
-
}
|
|
55
|
-
get loading() {
|
|
56
|
-
return !!this.currentFetch && !this.currentFetch.closed;
|
|
57
|
-
}
|
|
58
|
-
ngOnInit() {
|
|
59
|
-
this.searchTerm$.pipe(distinctUntilChanged(), debounceTime(this.searchTermDebounceTime))
|
|
60
|
-
.subscribe(x => {
|
|
61
|
-
this.currentSearchTerm = x;
|
|
62
|
-
this.users = [];
|
|
63
|
-
this.totalCount = 0;
|
|
64
|
-
if (this.currentFetch) {
|
|
65
|
-
this.currentFetch.unsubscribe();
|
|
66
|
-
this.currentFetch = null;
|
|
67
|
-
}
|
|
68
|
-
this.fetchNextPage();
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
ngOnChanges(changes) {
|
|
72
|
-
}
|
|
73
|
-
ngAfterViewInit() {
|
|
74
|
-
}
|
|
75
|
-
writeValue(x) {
|
|
76
|
-
this.userSelect.writeValue(x);
|
|
77
|
-
}
|
|
78
|
-
registerOnChange(fn) {
|
|
79
|
-
this.userSelect.registerOnChange(fn);
|
|
80
|
-
}
|
|
81
|
-
registerOnTouched(fn) {
|
|
82
|
-
this.userSelect.registerOnTouched(fn);
|
|
83
|
-
}
|
|
84
|
-
setDisabledState(isDisabled) {
|
|
85
|
-
this.userSelect.setDisabledState(isDisabled);
|
|
86
|
-
}
|
|
87
|
-
onOpen() {
|
|
88
|
-
if (this.users.length === 0) {
|
|
89
|
-
this.fetchNextPage();
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
onScroll({ end }) {
|
|
93
|
-
if (end < this.users.length - this.nextPageScrollThreshold || this.users.length === this.totalCount) {
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
this.fetchNextPage();
|
|
97
|
-
}
|
|
98
|
-
onScrollToEnd() {
|
|
99
|
-
}
|
|
100
|
-
fetchNextPage() {
|
|
101
|
-
if (this.currentFetch) {
|
|
102
|
-
if (this.currentFetch.closed) {
|
|
103
|
-
this.currentFetch = null;
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
const nextPage = pageForItemIndex(this.users.length, this.baseFindParams.pageSize);
|
|
110
|
-
const findParams = {
|
|
111
|
-
...this.baseFindParams,
|
|
112
|
-
pageIndex: nextPage
|
|
113
|
-
};
|
|
114
|
-
if (this.currentSearchTerm) {
|
|
115
|
-
findParams.term = this.currentSearchTerm;
|
|
116
|
-
}
|
|
117
|
-
this.currentFetch = this.userService.search(findParams).subscribe(page => {
|
|
118
|
-
this.users = this.users.concat(page.items);
|
|
119
|
-
if (typeof page.totalCount === 'number') {
|
|
120
|
-
this.totalCount = page.totalCount;
|
|
121
|
-
}
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
UserSelectComponent.ɵfac = function UserSelectComponent_Factory(t) { return new (t || UserSelectComponent)(i0.ɵɵdirectiveInject(i1.UserReadService)); };
|
|
126
|
-
UserSelectComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserSelectComponent, selectors: [["mage-user-select"]], viewQuery: function UserSelectComponent_Query(rf, ctx) { if (rf & 1) {
|
|
127
|
-
i0.ɵɵviewQuery(NgSelectComponent, 7);
|
|
128
|
-
} if (rf & 2) {
|
|
129
|
-
let _t;
|
|
130
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.userSelect = _t.first);
|
|
131
|
-
} }, features: [i0.ɵɵProvidersFeature([
|
|
132
|
-
{
|
|
133
|
-
provide: NG_VALUE_ACCESSOR,
|
|
134
|
-
multi: true,
|
|
135
|
-
useExisting: forwardRef(() => UserSelectComponent)
|
|
136
|
-
}
|
|
137
|
-
]), i0.ɵɵNgOnChangesFeature], decls: 3, vars: 5, consts: [["appendTo", "body", "placeholder", "Choose a user", "bindLabel", "displayName", 3, "items", "typeahead", "virtualScroll", "loading", "trackByFn", "open", "scroll", "scrollToEnd"], ["ng-header-tmp", ""], ["class", "user-option", "ng-option-tmp", ""], [1, "form-text", "text-muted"], [1, "user-option"], [1, "user-option__line", "primary"], [1, "user-option__line", "detail"]], template: function UserSelectComponent_Template(rf, ctx) { if (rf & 1) {
|
|
138
|
-
i0.ɵɵelementStart(0, "ng-select", 0);
|
|
139
|
-
i0.ɵɵlistener("open", function UserSelectComponent_Template_ng_select_open_0_listener() { return ctx.onOpen(); })("scroll", function UserSelectComponent_Template_ng_select_scroll_0_listener($event) { return ctx.onScroll($event); })("scrollToEnd", function UserSelectComponent_Template_ng_select_scrollToEnd_0_listener() { return ctx.onScrollToEnd(); });
|
|
140
|
-
i0.ɵɵtemplate(1, UserSelectComponent_ng_template_1_Template, 2, 1, "ng-template", 1);
|
|
141
|
-
i0.ɵɵtemplate(2, UserSelectComponent_ng_template_2_Template, 7, 4, "ng-template", 2);
|
|
142
|
-
i0.ɵɵelementEnd();
|
|
143
|
-
} if (rf & 2) {
|
|
144
|
-
i0.ɵɵproperty("items", ctx.users)("typeahead", ctx.searchTerm$)("virtualScroll", true)("loading", ctx.loading)("trackByFn", ctx.trackByUserId);
|
|
145
|
-
} }, dependencies: [i2.NgSelectComponent, i2.NgOptionTemplateDirective, i2.NgHeaderTemplateDirective], styles: [".user-option[_ngcontent-%COMP%]{margin:.85em 0}.user-option[_ngcontent-%COMP%] > .user-option__line[_ngcontent-%COMP%]{margin:0 0 .6em;padding:0;line-height:1em;overflow:hidden;text-overflow:ellipsis}.user-option[_ngcontent-%COMP%] > .user-option__line.primary[_ngcontent-%COMP%]{font-size:1em}.user-option[_ngcontent-%COMP%] > .user-option__line.detail[_ngcontent-%COMP%]{font-size:.85em;opacity:.75}"] });
|
|
146
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UserSelectComponent, [{
|
|
147
|
-
type: Component,
|
|
148
|
-
args: [{ selector: 'mage-user-select', providers: [
|
|
149
|
-
{
|
|
150
|
-
provide: NG_VALUE_ACCESSOR,
|
|
151
|
-
multi: true,
|
|
152
|
-
useExisting: forwardRef(() => UserSelectComponent)
|
|
153
|
-
}
|
|
154
|
-
], template: "<ng-select [items]=\"users\"\n [typeahead]=\"searchTerm$\"\n [virtualScroll]=\"true\"\n [loading]=\"loading\"\n [trackByFn]=\"trackByUserId\"\n appendTo=\"body\"\n placeholder=\"Choose a user\"\n bindLabel=\"displayName\"\n (open)=\"onOpen()\"\n (scroll)=\"onScroll($event)\"\n (scrollToEnd)=\"onScrollToEnd()\"\n >\n <ng-template ng-header-tmp>\n <small class=\"form-text text-muted\">{{totalCount}} matching users</small>\n </ng-template>\n <ng-template class=\"user-option\" ng-option-tmp let-user=\"item\" let-index=\"index\">\n <div class=\"user-option\">\n <p class=\"user-option__line primary\">{{user.displayName}} ({{user.username}})</p>\n <p class=\"user-option__line detail\">{{user.email || '[no email]'}}</p>\n <p class=\"user-option__line detail\">{{user.allPhones || '[no phone]'}}</p>\n </div>\n </ng-template>\n</ng-select>\n", styles: [".user-option{margin:.85em 0}.user-option>.user-option__line{margin:0 0 .6em;padding:0;line-height:1em;overflow:hidden;text-overflow:ellipsis}.user-option>.user-option__line.primary{font-size:1em}.user-option>.user-option__line.detail{font-size:.85em;opacity:.75}\n"] }]
|
|
155
|
-
}], function () { return [{ type: i1.UserReadService }]; }, { userSelect: [{
|
|
156
|
-
type: ViewChild,
|
|
157
|
-
args: [NgSelectComponent, { static: true }]
|
|
158
|
-
}] }); })();
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS1saWIvdXNlci91c2VyLXNlbGVjdC91c2VyLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWxpYi91c2VyL3VzZXItc2VsZWN0L3VzZXItc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFtQyxTQUFTLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFBO0FBQ3hILE9BQU8sRUFBcUMsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNyRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUd4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQW1CLE1BQU0scUNBQXFDLENBQUE7QUFDdkYsT0FBTyxFQUFFLE9BQU8sRUFBcUQsTUFBTSxNQUFNLENBQUE7QUFDakYsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFBOzs7OztJQ00vRCxnQ0FBb0M7SUFBQSxZQUE2QjtJQUFBLGlCQUFROzs7SUFBckMsZUFBNkI7SUFBN0IsK0RBQTZCOzs7SUFHakUsOEJBQXlCLFdBQUE7SUFDYyxZQUF3QztJQUFBLGlCQUFJO0lBQ2pGLDRCQUFvQztJQUFBLFlBQThCO0lBQUEsaUJBQUk7SUFDdEUsNEJBQW9DO0lBQUEsWUFBa0M7SUFBQSxpQkFBSSxFQUFBOzs7SUFGckMsZUFBd0M7SUFBeEMsMkVBQXdDO0lBQ3pDLGVBQThCO0lBQTlCLG1EQUE4QjtJQUM5QixlQUFrQztJQUFsQyx1REFBa0M7O0FESzVFLE1BQU0sT0FBTyxtQkFBbUI7SUF1QjlCLFlBQW9CLFdBQTRCO1FBQTVCLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtRQXJCdkMsbUJBQWMsR0FBK0Is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Q0UsT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsS0FBSyxFQUFFLElBQUk7d0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7cUJBQ25EO2lCQUNGO2tFQXFCRCxVQUFVO2tCQURULFNBQVM7bUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQsIGZvcndhcmRSZWYsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBOZ1NlbGVjdENvbXBvbmVudCB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0J1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL3VzZXIubW9kZWwnXG5pbXBvcnQgeyBVc2VyUmVhZFNlcnZpY2UsIFVzZXJTZWFyY2hQYXJhbXMsIFVzZXJTZWFyY2hSZXN1bHQgfSBmcm9tICcuLi91c2VyLXJlYWQuc2VydmljZSdcbmltcG9ydCB7IHBhZ2VGb3JJdGVtSW5kZXgsIGl0ZW1SYW5nZU9mUGFnZSB9IGZyb20gJ0BuZ2FnZW9pbnQvbWFnZS53ZWItY29yZS1saWIvcGFnaW5nJ1xuaW1wb3J0IHsgU3ViamVjdCwgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb25MaWtlLCBVbnN1YnNjcmliYWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBYIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYWdlLXVzZXItc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXItc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbXG4gICAgJy4vdXNlci1zZWxlY3QuY29tcG9uZW50LnNjc3MnXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBVc2VyU2VsZWN0Q29tcG9uZW50KVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBVc2VyU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICByZWFkb25seSBiYXNlRmluZFBhcmFtczogUmVhZG9ubHk8VXNlclNlYXJjaFBhcmFtcz4gPSBPYmplY3QuZnJlZXplKHtcbiAgICBwYWdlU2l6ZTogMTAwLFxuICAgIHBhZ2VJbmRleDogMCxcbiAgICB0ZXJtOiBudWxsXG4gIH0pXG4gIHJlYWRvbmx5IG5leHRQYWdlU2Nyb2xsVGhyZXNob2xkID0gMTVcbiAgcmVhZG9ubHkgc2VhcmNoVGVybURlYm91bmNlVGltZSA9IDUwMFxuICByZWFkb25seSB0cmFja0J5VXNlcklkOiAoeDogVXNlcikgPT4gVXNlclsnaWQnXSA9IHggPT4geC5pZFxuICBnZXQgbG9hZGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmN1cnJlbnRGZXRjaCAmJiAhdGhpcy5jdXJyZW50RmV0Y2guY2xvc2VkXG4gIH1cblxuICB1c2VyczogVXNlclNlYXJjaFJlc3VsdFtdID0gW11cbiAgdG90YWxDb3VudCA9IDBcbiAgc2VhcmNoVGVybSQgPSBuZXcgU3ViamVjdDxzdHJpbmcgfCBudWxsPigpXG4gIGN1cnJlbnRTZWFyY2hUZXJtOiBzdHJpbmcgfCBudWxsID0gbnVsbFxuICBAVmlld0NoaWxkKE5nU2VsZWN0Q29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICB1c2VyU2VsZWN0OiBOZ1NlbGVjdENvbXBvbmVudFxuXG4gIHByaXZhdGUgY3VycmVudEZldGNoOiBTdWJzY3JpcHRpb25MaWtlIHwgbnVsbCA9IG51bGxcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyUmVhZFNlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2VhcmNoVGVybSQucGlwZShcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICBkZWJvdW5jZVRpbWUodGhpcy5zZWFyY2hUZXJtRGVib3VuY2VUaW1lKSxcbiAgICApXG4gICAgLnN1YnNjcmliZSh4ID0+IHtcbiAgICAgIHRoaXMuY3VycmVudFNlYXJjaFRlcm0gPSB4XG4gICAgICB0aGlzLnVzZXJzID0gW11cbiAgICAgIHRoaXMudG90YWxDb3VudCA9IDBcbiAgICAgIGlmICh0aGlzLmN1cnJlbnRGZXRjaCkge1xuICAgICAgICB0aGlzLmN1cnJlbnRGZXRjaC51bnN1YnNjcmliZSgpXG4gICAgICAgIHRoaXMuY3VycmVudEZldGNoID0gbnVsbFxuICAgICAgfVxuICAgICAgdGhpcy5mZXRjaE5leHRQYWdlKClcbiAgICB9KVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh4OiBVc2VyIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMudXNlclNlbGVjdC53cml0ZVZhbHVlKHgpXG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoLi4uYXJnczogYW55W10pID0+IGFueSk6IHZvaWQge1xuICAgIHRoaXMudXNlclNlbGVjdC5yZWdpc3Rlck9uQ2hhbmdlKGZuKVxuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICguLi5hcmdzOiBhbnlbXSkgPT4gYW55KTogdm9pZCB7XG4gICAgdGhpcy51c2VyU2VsZWN0LnJlZ2lzdGVyT25Ub3VjaGVkKGZuKVxuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy51c2VyU2VsZWN0LnNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZClcbiAgfVxuXG4gIG9uT3BlbigpIHtcbiAgICBpZiAodGhpcy51c2Vycy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuZmV0Y2hOZXh0UGFnZSgpXG4gICAgfVxuICB9XG5cbiAgb25TY3JvbGwoeyBlbmQgfTogeyBzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlciB9KSB7XG4gICAgaWYgKGVuZCA8IHRoaXMudXNlcnMubGVuZ3RoIC0gdGhpcy5uZXh0UGFnZVNjcm9sbFRocmVzaG9sZCB8fCB0aGlzLnVzZXJzLmxlbmd0aCA9PT0gdGhpcy50b3RhbENvdW50KSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgdGhpcy5mZXRjaE5leHRQYWdlKClcbiAgfVxuXG4gIG9uU2Nyb2xsVG9FbmQoKSB7XG5cbiAgfVxuXG4gIGZldGNoTmV4dFBhZ2UoKSB7XG4gICAgaWYgKHRoaXMuY3VycmVudEZldGNoKSB7XG4gICAgICBpZiAodGhpcy5jdXJyZW50RmV0Y2guY2xvc2VkKSB7XG4gICAgICAgIHRoaXMuY3VycmVudEZldGNoID0gbnVsbFxuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBuZXh0UGFnZSA9IHBhZ2VGb3JJdGVtSW5kZXgodGhpcy51c2Vycy5sZW5ndGgsIHRoaXMuYmFzZUZpbmRQYXJhbXMucGFnZVNpemUpXG4gICAgY29uc3QgZmluZFBhcmFtczogVXNlclNlYXJjaFBhcmFtcyA9IHtcbiAgICAgIC4uLnRoaXMuYmFzZUZpbmRQYXJhbXMsXG4gICAgICBwYWdlSW5kZXg6IG5leHRQYWdlXG4gICAgfVxuICAgIGlmICh0aGlzLmN1cnJlbnRTZWFyY2hUZXJtKSB7XG4gICAgICBmaW5kUGFyYW1zLnRlcm0gPSB0aGlzLmN1cnJlbnRTZWFyY2hUZXJtXG4gICAgfVxuICAgIHRoaXMuY3VycmVudEZldGNoID0gdGhpcy51c2VyU2VydmljZS5zZWFyY2goZmluZFBhcmFtcykuc3Vic2NyaWJlKHBhZ2UgPT4ge1xuICAgICAgdGhpcy51c2VycyA9IHRoaXMudXNlcnMuY29uY2F0KHBhZ2UuaXRlbXMpXG4gICAgICBpZiAodHlwZW9mIHBhZ2UudG90YWxDb3VudCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgdGhpcy50b3RhbENvdW50ID0gcGFnZS50b3RhbENvdW50XG4gICAgICB9XG4gICAgfSlcbiAgfVxufSIsIjxuZy1zZWxlY3QgW2l0ZW1zXT1cInVzZXJzXCJcbiAgW3R5cGVhaGVhZF09XCJzZWFyY2hUZXJtJFwiXG4gIFt2aXJ0dWFsU2Nyb2xsXT1cInRydWVcIlxuICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgW3RyYWNrQnlGbl09XCJ0cmFja0J5VXNlcklkXCJcbiAgYXBwZW5kVG89XCJib2R5XCJcbiAgcGxhY2Vob2xkZXI9XCJDaG9vc2UgYSB1c2VyXCJcbiAgYmluZExhYmVsPVwiZGlzcGxheU5hbWVcIlxuICAob3Blbik9XCJvbk9wZW4oKVwiXG4gIChzY3JvbGwpPVwib25TY3JvbGwoJGV2ZW50KVwiXG4gIChzY3JvbGxUb0VuZCk9XCJvblNjcm9sbFRvRW5kKClcIlxuICA+XG4gIDxuZy10ZW1wbGF0ZSBuZy1oZWFkZXItdG1wPlxuICAgIDxzbWFsbCBjbGFzcz1cImZvcm0tdGV4dCB0ZXh0LW11dGVkXCI+e3t0b3RhbENvdW50fX0gbWF0Y2hpbmcgdXNlcnM8L3NtYWxsPlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgY2xhc3M9XCJ1c2VyLW9wdGlvblwiIG5nLW9wdGlvbi10bXAgbGV0LXVzZXI9XCJpdGVtXCIgbGV0LWluZGV4PVwiaW5kZXhcIj5cbiAgICA8ZGl2IGNsYXNzPVwidXNlci1vcHRpb25cIj5cbiAgICAgIDxwIGNsYXNzPVwidXNlci1vcHRpb25fX2xpbmUgcHJpbWFyeVwiPnt7dXNlci5kaXNwbGF5TmFtZX19ICh7e3VzZXIudXNlcm5hbWV9fSk8L3A+XG4gICAgICA8cCBjbGFzcz1cInVzZXItb3B0aW9uX19saW5lIGRldGFpbFwiPnt7dXNlci5lbWFpbCB8fCAnW25vIGVtYWlsXSd9fTwvcD5cbiAgICAgIDxwIGNsYXNzPVwidXNlci1vcHRpb25fX2xpbmUgZGV0YWlsXCI+e3t1c2VyLmFsbFBob25lcyB8fCAnW25vIHBob25lXSd9fTwvcD5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctc2VsZWN0PlxuIl19
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { NgModule } from '@angular/core';
|
|
4
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
-
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
6
|
-
import { MatDialogModule } from '@angular/material/dialog';
|
|
7
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
8
|
-
import { MatInputModule } from '@angular/material/input';
|
|
9
|
-
import { MatListModule } from '@angular/material/list';
|
|
10
|
-
import { MatSelectModule } from '@angular/material/select';
|
|
11
|
-
import { UserSelectComponent } from './user-select/user-select.component';
|
|
12
|
-
import { NgSelectModule } from '@ng-select/ng-select';
|
|
13
|
-
import * as i0 from "@angular/core";
|
|
14
|
-
export class MageUserModule {
|
|
15
|
-
}
|
|
16
|
-
MageUserModule.ɵfac = function MageUserModule_Factory(t) { return new (t || MageUserModule)(); };
|
|
17
|
-
MageUserModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: MageUserModule });
|
|
18
|
-
MageUserModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
|
|
19
|
-
FormsModule,
|
|
20
|
-
ReactiveFormsModule,
|
|
21
|
-
ScrollingModule,
|
|
22
|
-
MatAutocompleteModule,
|
|
23
|
-
MatDialogModule,
|
|
24
|
-
MatFormFieldModule,
|
|
25
|
-
MatInputModule,
|
|
26
|
-
MatListModule,
|
|
27
|
-
MatSelectModule,
|
|
28
|
-
NgSelectModule] });
|
|
29
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MageUserModule, [{
|
|
30
|
-
type: NgModule,
|
|
31
|
-
args: [{
|
|
32
|
-
imports: [
|
|
33
|
-
CommonModule,
|
|
34
|
-
FormsModule,
|
|
35
|
-
ReactiveFormsModule,
|
|
36
|
-
ScrollingModule,
|
|
37
|
-
MatAutocompleteModule,
|
|
38
|
-
MatDialogModule,
|
|
39
|
-
MatFormFieldModule,
|
|
40
|
-
MatInputModule,
|
|
41
|
-
MatListModule,
|
|
42
|
-
MatSelectModule,
|
|
43
|
-
NgSelectModule,
|
|
44
|
-
],
|
|
45
|
-
declarations: [
|
|
46
|
-
UserSelectComponent
|
|
47
|
-
],
|
|
48
|
-
exports: [
|
|
49
|
-
UserSelectComponent
|
|
50
|
-
]
|
|
51
|
-
}]
|
|
52
|
-
}], null, null); })();
|
|
53
|
-
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(MageUserModule, { declarations: [UserSelectComponent], imports: [CommonModule,
|
|
54
|
-
FormsModule,
|
|
55
|
-
ReactiveFormsModule,
|
|
56
|
-
ScrollingModule,
|
|
57
|
-
MatAutocompleteModule,
|
|
58
|
-
MatDialogModule,
|
|
59
|
-
MatFormFieldModule,
|
|
60
|
-
MatInputModule,
|
|
61
|
-
MatListModule,
|
|
62
|
-
MatSelectModule,
|
|
63
|
-
NgSelectModule], exports: [UserSelectComponent] }); })();
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWxpYi91c2VyL3VzZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDakUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQzFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQzFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTs7QUF1QnJELE1BQU0sT0FBTyxjQUFjOzs0RUFBZCxjQUFjO2dFQUFkLGNBQWM7b0VBbkJ2QixZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2YscUJBQXFCO1FBQ3JCLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIsY0FBYztRQUNkLGFBQWE7UUFDYixlQUFlO1FBQ2YsY0FBYzt1RkFTTCxjQUFjO2NBckIxQixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxtQkFBbUI7b0JBQ25CLGVBQWU7b0JBQ2YscUJBQXFCO29CQUNyQixlQUFlO29CQUNmLGtCQUFrQjtvQkFDbEIsY0FBYztvQkFDZCxhQUFhO29CQUNiLGVBQWU7b0JBQ2YsY0FBYztpQkFDZjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osbUJBQW1CO2lCQUNwQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsbUJBQW1CO2lCQUNwQjthQUNGOzt3RkFDWSxjQUFjLG1CQU52QixtQkFBbUIsYUFibkIsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLHFCQUFxQjtRQUNyQixlQUFlO1FBQ2Ysa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxhQUFhO1FBQ2IsZUFBZTtRQUNmLGNBQWMsYUFNZCxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSdcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZydcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0J1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnXG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnXG5pbXBvcnQgeyBVc2VyU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi91c2VyLXNlbGVjdC91c2VyLXNlbGVjdC5jb21wb25lbnQnXG5pbXBvcnQgeyBOZ1NlbGVjdE1vZHVsZSB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0J1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgU2Nyb2xsaW5nTW9kdWxlLFxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdExpc3RNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE5nU2VsZWN0TW9kdWxlLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBVc2VyU2VsZWN0Q29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBVc2VyU2VsZWN0Q29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTWFnZVVzZXJNb2R1bGUge1xuXG59Il19
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, Component, Inject, Input, NgModule } from '@angular/core';
|
|
3
|
-
import * as i1 from '@angular/common/http';
|
|
4
|
-
import * as i2 from '@angular/platform-browser';
|
|
5
|
-
import { CommonModule } from '@angular/common';
|
|
6
|
-
|
|
7
|
-
const selector = 'mage-xhr-img';
|
|
8
|
-
const OBJECT_URL_SERVICE = new InjectionToken(`${selector}.objectUrlService`);
|
|
9
|
-
/**
|
|
10
|
-
* This component allows fetching images by `XMLHttpRequest` rather than the
|
|
11
|
-
* browser's native mechanism. These image requests are subject to HTTP
|
|
12
|
-
* interceptors that can add authorization headers to the request instead of
|
|
13
|
-
* using cache-defeating URL query parameters to set an auth token. Applying
|
|
14
|
-
* headers to the browser's native `img` requests is impossible, so a query
|
|
15
|
-
* parameter is necessary for authorization, but adding the parameter to the
|
|
16
|
-
* URL effectively bypasses the browser's caching mechanism when the auth token
|
|
17
|
-
* changes for images that
|
|
18
|
-
* should otherwise be subject to caching.
|
|
19
|
-
*
|
|
20
|
-
* The catch to fetching images by XHR is the response must be fetched as a
|
|
21
|
-
* `Blob`. The user then gets a browser-specific URL for the blob by
|
|
22
|
-
* `URL.createObjectURL(blob)`, which can then be assigned to the `src`
|
|
23
|
-
* attribute of an `img` tag. These blob URLs must then be "revoked" by
|
|
24
|
-
* `URL.revokeObjectURL(url)` in order to reclaim object URL's associated
|
|
25
|
-
* resources. See [Mozilla's docs](https://developer.mozilla.org/en-US/docs/Web/API/File/Using_files_from_web_applications#example_using_object_urls_to_display_images)
|
|
26
|
-
* on the subject.
|
|
27
|
-
*
|
|
28
|
-
* To use the component, simply add the tag to a template and bind the `src`
|
|
29
|
-
* attribute to the source URL of the desired image.
|
|
30
|
-
* ```
|
|
31
|
-
* <mage-xhr-img [src]="someComponent.imageUrlRequiresAuth"></mage-xhr-img>
|
|
32
|
-
* ```
|
|
33
|
-
* The component encapsulates the logic of creating and releasing the object
|
|
34
|
-
* URLs for the image data, preventing memory leaks.
|
|
35
|
-
*/
|
|
36
|
-
class XhrImgComponent {
|
|
37
|
-
constructor(objectUrlService, webClient, sanitizer) {
|
|
38
|
-
this.objectUrlService = objectUrlService;
|
|
39
|
-
this.webClient = webClient;
|
|
40
|
-
this.sanitizer = sanitizer;
|
|
41
|
-
this.sourceUrl = null;
|
|
42
|
-
this.safeBlobUrl = null;
|
|
43
|
-
}
|
|
44
|
-
ngOnChanges(changes) {
|
|
45
|
-
if (!changes.sourceUrl) {
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
if (changes.sourceUrl.isFirstChange() && !this.sourceUrl) {
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
this.disposeCurrent();
|
|
52
|
-
if (!this.sourceUrl) {
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
this.subscription = this.webClient.get(this.sourceUrl, { responseType: 'blob' })
|
|
56
|
-
.subscribe(x => {
|
|
57
|
-
this.objectUrlService.revokeObjectURL(this.blobUrl);
|
|
58
|
-
this.blobUrl = this.objectUrlService.createObjectURL(x);
|
|
59
|
-
this.safeBlobUrl = this.sanitizer.bypassSecurityTrustUrl(this.blobUrl);
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
ngOnDestroy() {
|
|
63
|
-
this.disposeCurrent();
|
|
64
|
-
}
|
|
65
|
-
onImgLoad() {
|
|
66
|
-
this.disposeCurrent();
|
|
67
|
-
}
|
|
68
|
-
disposeCurrent() {
|
|
69
|
-
if (this.blobUrl) {
|
|
70
|
-
this.objectUrlService.revokeObjectURL(this.blobUrl);
|
|
71
|
-
}
|
|
72
|
-
if (this.subscription) {
|
|
73
|
-
this.subscription.unsubscribe();
|
|
74
|
-
}
|
|
75
|
-
this.blobUrl = null;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
XhrImgComponent.ɵfac = function XhrImgComponent_Factory(t) { return new (t || XhrImgComponent)(i0.ɵɵdirectiveInject(OBJECT_URL_SERVICE), i0.ɵɵdirectiveInject(i1.HttpClient), i0.ɵɵdirectiveInject(i2.DomSanitizer)); };
|
|
79
|
-
XhrImgComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: XhrImgComponent, selectors: [["mage-xhr-img"]], inputs: { sourceUrl: ["src", "sourceUrl"] }, features: [i0.ɵɵProvidersFeature([
|
|
80
|
-
{
|
|
81
|
-
provide: OBJECT_URL_SERVICE,
|
|
82
|
-
useValue: URL
|
|
83
|
-
}
|
|
84
|
-
]), i0.ɵɵNgOnChangesFeature], decls: 1, vars: 1, consts: [[3, "load"]], template: function XhrImgComponent_Template(rf, ctx) {
|
|
85
|
-
if (rf & 1) {
|
|
86
|
-
i0.ɵɵelementStart(0, "img", 0);
|
|
87
|
-
i0.ɵɵlistener("load", function XhrImgComponent_Template_img_load_0_listener() { return ctx.onImgLoad(); });
|
|
88
|
-
i0.ɵɵelementEnd();
|
|
89
|
-
}
|
|
90
|
-
if (rf & 2) {
|
|
91
|
-
i0.ɵɵattribute("src", ctx.safeBlobUrl, i0.ɵɵsanitizeUrl);
|
|
92
|
-
}
|
|
93
|
-
}, styles: ["img[_ngcontent-%COMP%]{height:100%;width:100%}"] });
|
|
94
|
-
(function () {
|
|
95
|
-
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(XhrImgComponent, [{
|
|
96
|
-
type: Component,
|
|
97
|
-
args: [{ selector: `${selector}`, template: `<img [attr.src]="safeBlobUrl" (load)="onImgLoad()"/>`, providers: [
|
|
98
|
-
{
|
|
99
|
-
provide: OBJECT_URL_SERVICE,
|
|
100
|
-
useValue: URL
|
|
101
|
-
}
|
|
102
|
-
], styles: ["img{height:100%;width:100%}\n"] }]
|
|
103
|
-
}], function () {
|
|
104
|
-
return [{ type: undefined, decorators: [{
|
|
105
|
-
type: Inject,
|
|
106
|
-
args: [OBJECT_URL_SERVICE]
|
|
107
|
-
}] }, { type: i1.HttpClient }, { type: i2.DomSanitizer }];
|
|
108
|
-
}, { sourceUrl: [{
|
|
109
|
-
type: Input,
|
|
110
|
-
args: ['src']
|
|
111
|
-
}] });
|
|
112
|
-
})();
|
|
113
|
-
|
|
114
|
-
class MageCommonModule {
|
|
115
|
-
}
|
|
116
|
-
MageCommonModule.ɵfac = function MageCommonModule_Factory(t) { return new (t || MageCommonModule)(); };
|
|
117
|
-
MageCommonModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: MageCommonModule });
|
|
118
|
-
MageCommonModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule] });
|
|
119
|
-
(function () {
|
|
120
|
-
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MageCommonModule, [{
|
|
121
|
-
type: NgModule,
|
|
122
|
-
args: [{
|
|
123
|
-
imports: [
|
|
124
|
-
CommonModule
|
|
125
|
-
],
|
|
126
|
-
declarations: [
|
|
127
|
-
XhrImgComponent
|
|
128
|
-
],
|
|
129
|
-
exports: [
|
|
130
|
-
XhrImgComponent
|
|
131
|
-
]
|
|
132
|
-
}]
|
|
133
|
-
}], null, null);
|
|
134
|
-
})();
|
|
135
|
-
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(MageCommonModule, { declarations: [XhrImgComponent], imports: [CommonModule], exports: [XhrImgComponent] }); })();
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* Generated bundle index. Do not edit.
|
|
139
|
-
*/
|
|
140
|
-
|
|
141
|
-
export { MageCommonModule, OBJECT_URL_SERVICE, XhrImgComponent };
|
|
142
|
-
//# sourceMappingURL=ngageoint-mage.web-core-lib-common.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ngageoint-mage.web-core-lib-common.mjs","sources":["../../../projects/core-lib/common/xhr-img.component.ts","../../../projects/core-lib/common/mage-common.module.ts","../../../projects/core-lib/common/ngageoint-mage.web-core-lib-common.ts"],"sourcesContent":["import { Component, Inject, InjectionToken, Input, OnChanges, OnDestroy, SimpleChanges } from '@angular/core'\nimport { HttpClient } from '@angular/common/http'\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser'\nimport { Subscription } from 'rxjs'\n\nconst selector = 'mage-xhr-img'\n\n/**\n * This is a simple interface that includes the [methods](https://www.w3.org/TR/FileAPI/#creating-revoking)\n * from the [URL API](https://developer.mozilla.org/en-US/docs/Web/API/URL) for\n * managing blob URLs. This allows a service to be injected into\n * `XhrImgComponent` and overridden for testing.\n */\nexport interface ObjectUrlService {\n createObjectURL: (typeof URL)['createObjectURL']\n revokeObjectURL: (typeof URL)['revokeObjectURL']\n}\nexport const OBJECT_URL_SERVICE = new InjectionToken<ObjectUrlService>(`${selector}.objectUrlService`)\n\n/**\n * This component allows fetching images by `XMLHttpRequest` rather than the\n * browser's native mechanism. These image requests are subject to HTTP\n * interceptors that can add authorization headers to the request instead of\n * using cache-defeating URL query parameters to set an auth token. Applying\n * headers to the browser's native `img` requests is impossible, so a query\n * parameter is necessary for authorization, but adding the parameter to the\n * URL effectively bypasses the browser's caching mechanism when the auth token\n * changes for images that\n * should otherwise be subject to caching.\n *\n * The catch to fetching images by XHR is the response must be fetched as a\n * `Blob`. The user then gets a browser-specific URL for the blob by\n * `URL.createObjectURL(blob)`, which can then be assigned to the `src`\n * attribute of an `img` tag. These blob URLs must then be \"revoked\" by\n * `URL.revokeObjectURL(url)` in order to reclaim object URL's associated\n * resources. See [Mozilla's docs](https://developer.mozilla.org/en-US/docs/Web/API/File/Using_files_from_web_applications#example_using_object_urls_to_display_images)\n * on the subject.\n *\n * To use the component, simply add the tag to a template and bind the `src`\n * attribute to the source URL of the desired image.\n * ```\n * <mage-xhr-img [src]=\"someComponent.imageUrlRequiresAuth\"></mage-xhr-img>\n * ```\n * The component encapsulates the logic of creating and releasing the object\n * URLs for the image data, preventing memory leaks.\n */\n@Component({\n selector: `${selector}`,\n template: `<img [attr.src]=\"safeBlobUrl\" (load)=\"onImgLoad()\"/>`,\n styles: [ `img { height: 100%; width: 100% }` ],\n providers: [\n {\n provide: OBJECT_URL_SERVICE,\n useValue: URL\n }\n ]\n})\nexport class XhrImgComponent implements OnChanges, OnDestroy {\n\n @Input('src')\n sourceUrl: string | null = null\n safeBlobUrl: SafeUrl | null = null\n\n private blobUrl: string\n private subscription: Subscription\n\n constructor(@Inject(OBJECT_URL_SERVICE) private objectUrlService: ObjectUrlService, private webClient: HttpClient, private sanitizer: DomSanitizer) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!changes.sourceUrl) {\n return\n }\n if (changes.sourceUrl.isFirstChange() && !this.sourceUrl) {\n return\n }\n this.disposeCurrent()\n if (!this.sourceUrl) {\n return\n }\n this.subscription = this.webClient.get(this.sourceUrl, { responseType: 'blob' })\n .subscribe(x => {\n this.objectUrlService.revokeObjectURL(this.blobUrl)\n this.blobUrl = this.objectUrlService.createObjectURL(x)\n this.safeBlobUrl = this.sanitizer.bypassSecurityTrustUrl(this.blobUrl)\n })\n }\n\n ngOnDestroy(): void {\n this.disposeCurrent()\n }\n\n onImgLoad(): void {\n this.disposeCurrent()\n }\n\n private disposeCurrent(): void {\n if (this.blobUrl) {\n this.objectUrlService.revokeObjectURL(this.blobUrl)\n }\n if (this.subscription) {\n this.subscription.unsubscribe()\n }\n this.blobUrl = null\n }\n}","import { NgModule } from '@angular/core'\nimport { XhrImgComponent } from './xhr-img.component'\nimport { CommonModule } from '@angular/common'\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [\n XhrImgComponent\n ],\n exports: [\n XhrImgComponent\n ]\n})\nexport class MageCommonModule {}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|