@ngageoint/mage.web-core-lib 6.2.9 → 6.2.10-beta.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/bundles/ngageoint-mage.web-core-lib-common.umd.js +3 -3
- package/bundles/ngageoint-mage.web-core-lib-common.umd.js.map +1 -1
- package/bundles/ngageoint-mage.web-core-lib-common.umd.min.js +1 -1
- package/bundles/ngageoint-mage.web-core-lib-common.umd.min.js.map +1 -1
- package/bundles/ngageoint-mage.web-core-lib-feed.umd.js +19 -19
- package/bundles/ngageoint-mage.web-core-lib-feed.umd.js.map +1 -1
- package/bundles/ngageoint-mage.web-core-lib-feed.umd.min.js +1 -1
- package/bundles/ngageoint-mage.web-core-lib-feed.umd.min.js.map +1 -1
- package/bundles/ngageoint-mage.web-core-lib-static-icon.umd.js +4 -4
- package/bundles/ngageoint-mage.web-core-lib-static-icon.umd.js.map +1 -1
- package/bundles/ngageoint-mage.web-core-lib-static-icon.umd.min.js +1 -1
- package/bundles/ngageoint-mage.web-core-lib-static-icon.umd.min.js.map +1 -1
- package/bundles/ngageoint-mage.web-core-lib-user.umd.js +3 -9
- package/bundles/ngageoint-mage.web-core-lib-user.umd.js.map +1 -1
- package/bundles/ngageoint-mage.web-core-lib-user.umd.min.js +2 -2
- package/bundles/ngageoint-mage.web-core-lib-user.umd.min.js.map +1 -1
- package/common/xhr-img.component.d.ts +2 -2
- package/esm2015/common/xhr-img.component.js +4 -4
- package/esm2015/feed/feed.service.js +20 -20
- package/esm2015/static-icon/static-icon.service.js +5 -5
- package/esm2015/user/user-read.service.js +4 -10
- package/esm5/common/xhr-img.component.js +4 -4
- package/esm5/feed/feed.service.js +20 -20
- package/esm5/static-icon/static-icon.service.js +5 -5
- package/esm5/user/user-read.service.js +4 -10
- package/feed/feed.service.d.ts +2 -2
- package/fesm2015/ngageoint-mage.web-core-lib-common.js +3 -3
- package/fesm2015/ngageoint-mage.web-core-lib-common.js.map +1 -1
- package/fesm2015/ngageoint-mage.web-core-lib-feed.js +19 -19
- package/fesm2015/ngageoint-mage.web-core-lib-feed.js.map +1 -1
- package/fesm2015/ngageoint-mage.web-core-lib-static-icon.js +4 -4
- package/fesm2015/ngageoint-mage.web-core-lib-static-icon.js.map +1 -1
- package/fesm2015/ngageoint-mage.web-core-lib-user.js +3 -9
- package/fesm2015/ngageoint-mage.web-core-lib-user.js.map +1 -1
- package/fesm5/ngageoint-mage.web-core-lib-common.js +3 -3
- package/fesm5/ngageoint-mage.web-core-lib-common.js.map +1 -1
- package/fesm5/ngageoint-mage.web-core-lib-feed.js +19 -19
- package/fesm5/ngageoint-mage.web-core-lib-feed.js.map +1 -1
- package/fesm5/ngageoint-mage.web-core-lib-static-icon.js +4 -4
- package/fesm5/ngageoint-mage.web-core-lib-static-icon.js.map +1 -1
- package/fesm5/ngageoint-mage.web-core-lib-user.js +3 -9
- package/fesm5/ngageoint-mage.web-core-lib-user.js.map +1 -1
- package/package.json +1 -1
- package/static-icon/static-icon.service.d.ts +2 -2
- package/user/user-read.service.d.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ng://@ngageoint/mage.web-core-lib/static-icon/static-icon-form-field/static-icon-form-field.component.ts","ng://@ngageoint/mage.web-core-lib/static-icon/static-icon.model.ts","ng://@ngageoint/mage.web-core-lib/static-icon/static-icon.service.ts","ng://@ngageoint/mage.web-core-lib/static-icon/static-icon-form-field/static-icon-form-field.component.html","ng://@ngageoint/mage.web-core-lib/static-icon/static-icon-img/static-icon-img.component.ts","ng://@ngageoint/mage.web-core-lib/static-icon/static-icon-select/static-icon-select.component.html","ng://@ngageoint/mage.web-core-lib/static-icon/static-icon-select/static-icon-select.component.ts","ng://@ngageoint/mage.web-core-lib/static-icon/static-icon.module.ts"],"names":["IconRefType","contentPathOfIcon","icon","id","StaticIconService","http","this","prototype","fetchIcons","fetch","now","Date","Observable","observer","icons","remaining","unshift","String","title","fileName","sourceUrl","contentPath","setTimeout","next","pageSize","pageIndex","totalCount","items","complete","unsubscribe","fetchIconById","get","pipe","catchError","err","caught","throwError","fetchIconBySourceUrl","url","params","HttpParams","set","fetchIconByReference","ref","Error","registerIconUrl","uploadIcon","core","ɵɵinject","HttpClient","factory","ɵfac","providedIn","StaticIconFormFieldComponent","iconService","httpClient","sanitizer","_this","iconRef","form","FormGroup","iconRefToken","FormControl","iconRefType","Validators","required","onChange","onValidatorChange","onTouched","valueChanges","subscribe","x","Registered","_a","SourceUrl","_b","iconRefForFormValue","registerOnValidatorChange","fn","ngOnChanges","changes","ngOnDestroy","onSelectIcon","writeValue","formValue","hasOwnProperty","formValueForIconRef","setValue","emitEvent","resolveIconRef","registerOnChange","registerOnTouched","setDisabledState","isDisabled","disable","enable","validate","control","errors","ɵɵdirectiveInject","platformBrowser","DomSanitizer","selectors","features","ɵɵProvidersFeature","provide","NG_VALUE_ACCESSOR","multi","useExisting","NG_VALIDATORS","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","i0.ɵɵelementStart","i0.ɵɵelement","i0.ɵɵelementEnd","i0.ɵɵproperty","i0.ɵɵadvance","StaticIconImgComponent","ngOnInit","iconPath","inputs","i0.ɵɵtext","i0.ɵɵtextInterpolate","StaticIconSelectComponent","dataSource","PagingDataSource","paging","onBrowseForUploadIcon","i0.ɵɵtemplate","StaticIconModule","imports","CommonModule","FormsModule","ReactiveFormsModule","MatCardModule","MageCommonModule","ScrollingModule","declarations","exports"],"mappings":"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","sourcesContent":["import { HttpClient } from '@angular/common/http'\nimport { Component, OnChanges, OnDestroy, SimpleChanges } from '@angular/core'\nimport { AbstractControl, ControlValueAccessor, FormControl, FormGroup, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator, Validators } from '@angular/forms'\nimport { DomSanitizer } from '@angular/platform-browser'\nimport { StaticIcon, StaticIconReference } from '../static-icon.model'\nimport { StaticIconService } from '../static-icon.service'\n\n\n@Component({\n selector: 'mage-static-icon-form-field',\n templateUrl: './static-icon-form-field.component.html',\n styleUrls: ['./static-icon-form-field.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: StaticIconFormFieldComponent\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: StaticIconFormFieldComponent\n },\n ]\n})\nexport class StaticIconFormFieldComponent implements OnChanges, OnDestroy, ControlValueAccessor, Validator {\n\n iconRef: StaticIconReference = null\n\n form: FormGroup = new FormGroup({\n iconRefToken: new FormControl(null),\n iconRefType: new FormControl(null, Validators.required)\n })\n icon: StaticIcon | null\n\n private onChange: (iconRef: StaticIconReference) => void = (iconRef: StaticIconReference) => {}\n private onValidatorChange: () => void = () => {}\n private onTouched: () => void = () => {}\n\n constructor(private iconService: StaticIconService, private httpClient: HttpClient, private sanitizer: DomSanitizer) {\n this.form.valueChanges.subscribe((x: IconRefFormValue) => {\n this.iconRef = iconRefForFormValue(x)\n this.onChange(this.iconRef)\n })\n }\n\n registerOnValidatorChange?(fn: () => void): void {\n this.onValidatorChange = fn\n }\n\n ngOnChanges(changes: SimpleChanges) { }\n\n ngOnDestroy() { }\n\n onSelectIcon() { }\n\n writeValue(iconRef: StaticIconReference): void {\n this.iconRef = iconRef\n const formValue = formValueForIconRef(iconRef)\n this.form.setValue(formValue, { emitEvent: false })\n this.resolveIconRef()\n }\n\n registerOnChange(fn: (x: StaticIconReference | null) => void): void {\n this.onChange = fn\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn\n }\n\n setDisabledState?(isDisabled: boolean): void {\n if (isDisabled) {\n this.form.disable()\n }\n else {\n this.form.enable()\n }\n }\n\n validate(control: AbstractControl): ValidationErrors {\n return this.form.errors\n }\n\n private resolveIconRef() {\n if (!this.iconRef) {\n this.icon = null\n return\n }\n this.iconService.fetchIconByReference(this.iconRef).subscribe(x => {\n this.icon = x\n if (!this.icon) {\n return\n }\n })\n }\n}\n\nenum IconRefType {\n Registered = 'id',\n SourceUrl = 'sourceUrl'\n}\n\ntype IconRefFormValue = {\n iconRefToken: string | null\n iconRefType: IconRefType | null\n}\n\nfunction iconRefForFormValue(x: IconRefFormValue): StaticIconReference | null {\n if (!x.iconRefType) {\n return null\n }\n switch (x.iconRefType) {\n case IconRefType.Registered:\n return { [IconRefType.Registered]: x.iconRefToken }\n case IconRefType.SourceUrl:\n return { [IconRefType.SourceUrl]: x.iconRefToken }\n default:\n throw new Error('invalid icon ref type: ' + x.iconRefToken)\n }\n}\n\nfunction formValueForIconRef(x: StaticIconReference | null): IconRefFormValue {\n if (!x) {\n return {\n iconRefType: null,\n iconRefToken: null\n }\n }\n let iconRefType: IconRefType | null = null\n let iconRefToken: string | null = null\n if (x.hasOwnProperty(IconRefType.Registered)) {\n iconRefType = IconRefType.Registered || null\n iconRefToken = x[IconRefType.Registered] || null\n }\n else if (x.hasOwnProperty(IconRefType.SourceUrl)) {\n iconRefType = IconRefType.SourceUrl || null\n iconRefToken = x[IconRefType.SourceUrl] || null\n }\n return {\n iconRefType,\n iconRefToken\n }\n}\n","\nexport interface StaticIcon {\n id: string\n sourceUrl: string\n contentPath: string\n title?: string\n summary?: string\n fileName?: string\n tags?: string[]\n}\n\nexport interface RegisteredStaticIconReference {\n id: string\n sourceUrl?: never\n}\n\nexport interface SourceUrlStaticIconReference {\n sourceUrl: string\n id?: never\n}\n\nexport const contentPathOfIcon = (icon?: StaticIcon | RegisteredStaticIconReference | string | null | undefined): string | undefined => {\n if (!icon) {\n return\n }\n if (typeof icon !== 'string') {\n icon = icon.id\n }\n return `/api/icons/${icon}/content`\n}\n\nexport type StaticIconReference = RegisteredStaticIconReference | SourceUrlStaticIconReference\n","import { HttpClient, HttpParams } from '@angular/common/http'\nimport { Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs'\nimport { catchError } from 'rxjs/operators'\nimport { PageOf, PagingParameters } from '@ngageoint/mage.web-core-lib/paging'\nimport { StaticIcon, StaticIconReference } from './static-icon.model'\n\n\nexport interface IconFetch extends PagingParameters {\n searchText?: string\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StaticIconService {\n\n constructor(private http: HttpClient) { }\n\n fetchIcons(fetch?: IconFetch): Observable<PageOf<StaticIcon>> {\n const now = Date.now()\n const results = new Observable<PageOf<StaticIcon>>(observer => {\n const icons: StaticIcon[] = []\n let remaining = 100\n while (remaining--) {\n const id = now - remaining\n icons.unshift({\n id: String(id),\n title: `Icon ${id}`,\n fileName: `icon-${id}.png`,\n sourceUrl: `https://test.mage/${id}.png`,\n contentPath: `/icons/${id}/content`\n })\n }\n setTimeout(() => {\n observer.next({\n pageSize: 100,\n pageIndex: 0,\n totalCount: 100,\n items: icons\n })\n observer.complete()\n }, 0)\n return {\n unsubscribe() { }\n }\n })\n return results\n }\n\n fetchIconById(id: string): Observable<StaticIcon | null> {\n return this.http.get<StaticIcon>(`/api/icons/${id}`).pipe(\n catchError((err, caught) => {\n // TODO: this is probably better practice to insulate app layer from\n // http errors\n // if (err instanceof HttpErrorResponse) {\n // if (err.status === 404) {\n // return null\n // }\n // }\n return throwError(err)\n })\n )\n }\n\n fetchIconBySourceUrl(url: string): Observable<StaticIcon> {\n return this.http.get<StaticIcon | null>(`/api/icons`, {\n params: new HttpParams().set('source_url', url)\n })\n }\n\n fetchIconByReference(ref: StaticIconReference): Observable<StaticIcon | null> {\n if (ref.id) {\n return this.fetchIconById(ref.id)\n }\n else if (ref.sourceUrl) {\n return this.fetchIconBySourceUrl(ref.sourceUrl)\n }\n throw new Error('no icon id or source url')\n }\n\n registerIconUrl(url: string): Observable<StaticIcon> {\n throw new Error('unimplemented')\n }\n\n uploadIcon(): void {\n throw new Error('unimplemented')\n }\n}\n","<div [formGroup]=\"form\">\n <mage-xhr-img class=\"icon-image\" [src]=\"icon?.contentPath\"></mage-xhr-img>\n <input type=\"hidden\" formControlName=\"iconRefType\"/>\n <input type=\"hidden\" formControlName=\"iconRefToken\"/>\n</div>","import { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { RegisteredStaticIconReference, contentPathOfIcon } from '../static-icon.model'\n\n@Component({\n selector: 'mage-static-icon-img',\n template: `<mage-xhr-img [src]=\"iconPath\"></mage-xhr-img>`,\n})\nexport class StaticIconImgComponent implements OnInit, OnChanges {\n\n @Input()\n iconRef: RegisteredStaticIconReference | string | null\n iconPath: string | null\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.iconRef) {\n if (this.iconRef) {\n this.iconPath = contentPathOfIcon(this.iconRef)\n }\n else {\n this.iconPath = null\n }\n }\n }\n}\n","<div class=\"icon-select\">\n <cdk-virtual-scroll-viewport [itemSize]=\"40\">\n <mat-card *cdkVirtualFor=\"let icon of icons\" class=icon-select-item>\n <mat-card-header>\n <mat-card-title>{{icon.title}}</mat-card-title>\n </mat-card-header>\n <img mat-card-img [src]=\"icon.path\" />\n </mat-card>\n </cdk-virtual-scroll-viewport>\n</div>\n<!--\n <button mat-button class=\"add__button\" type=\"button\" color=\"primary\" (click)=\"file.click()\">\n Upload Icon\n </button>\n <input [hidden]=\"true\" type=\"file\" #file multiple (change)=\"onAttachmentFile($event)\">\n-->","import { Component, OnInit } from '@angular/core'\nimport { PagingParameters, PagingDataSource } from '@ngageoint/mage.web-core-lib/paging'\nimport { StaticIcon } from '../static-icon.model'\nimport { StaticIconService } from '../static-icon.service'\n\nexport interface StaticIconSelectItem {\n id: string\n path: string\n title: string\n fileName: string\n}\n\n@Component({\n selector: 'static-icon-select',\n templateUrl: './static-icon-select.component.html',\n styleUrls: ['./static-icon-select.component.scss']\n})\nexport class StaticIconSelectComponent implements OnInit {\n\n icons: StaticIcon[] | null = null\n dataSource: PagingDataSource<StaticIcon>\n\n constructor(\n private iconService: StaticIconService\n ) {\n this.dataSource = new PagingDataSource<StaticIcon>(250, (paging: PagingParameters) => {\n return this.iconService.fetchIcons(paging)\n })\n }\n\n ngOnInit() {\n this.iconService.fetchIcons().subscribe(x => {\n this.icons = x.items\n })\n }\n\n onBrowseForUploadIcon() {\n throw new Error('unimplemented')\n }\n}\n\n","import { ScrollingModule } from '@angular/cdk/scrolling'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms'\nimport { MatCardModule } from '@angular/material/card'\nimport { MageCommonModule } from '@ngageoint/mage.web-core-lib/common'\nimport { StaticIconFormFieldComponent } from './static-icon-form-field/static-icon-form-field.component'\nimport { StaticIconImgComponent } from './static-icon-img/static-icon-img.component'\nimport { StaticIconSelectComponent } from './static-icon-select/static-icon-select.component'\n\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatCardModule,\n MageCommonModule,\n ScrollingModule\n ],\n declarations: [\n StaticIconFormFieldComponent,\n StaticIconImgComponent,\n StaticIconSelectComponent,\n ],\n exports: [\n StaticIconFormFieldComponent,\n StaticIconImgComponent,\n StaticIconSelectComponent,\n ]\n})\nexport class StaticIconModule {}"]}
|
|
1
|
+
{"version":3,"sources":["ng://@ngageoint/mage.web-core-lib/static-icon/static-icon-form-field/static-icon-form-field.component.ts","ng://@ngageoint/mage.web-core-lib/static-icon/static-icon.model.ts","ng://@ngageoint/mage.web-core-lib/static-icon/static-icon.service.ts","ng://@ngageoint/mage.web-core-lib/static-icon/static-icon-form-field/static-icon-form-field.component.html","ng://@ngageoint/mage.web-core-lib/static-icon/static-icon-img/static-icon-img.component.ts","ng://@ngageoint/mage.web-core-lib/static-icon/static-icon-select/static-icon-select.component.html","ng://@ngageoint/mage.web-core-lib/static-icon/static-icon-select/static-icon-select.component.ts","ng://@ngageoint/mage.web-core-lib/static-icon/static-icon.module.ts"],"names":["IconRefType","contentPathOfIcon","icon","id","StaticIconService","webClient","this","prototype","fetchIcons","fetch","now","Date","Observable","observer","icons","remaining","unshift","String","title","fileName","sourceUrl","contentPath","setTimeout","next","pageSize","pageIndex","totalCount","items","complete","unsubscribe","fetchIconById","get","pipe","catchError","err","caught","throwError","fetchIconBySourceUrl","url","params","HttpParams","set","fetchIconByReference","ref","Error","registerIconUrl","uploadIcon","core","ɵɵinject","http","HttpClient","factory","ɵfac","providedIn","StaticIconFormFieldComponent","iconService","httpClient","sanitizer","_this","iconRef","form","FormGroup","iconRefToken","FormControl","iconRefType","Validators","required","onChange","onValidatorChange","onTouched","valueChanges","subscribe","x","Registered","_a","SourceUrl","_b","iconRefForFormValue","registerOnValidatorChange","fn","ngOnChanges","changes","ngOnDestroy","onSelectIcon","writeValue","formValue","hasOwnProperty","formValueForIconRef","setValue","emitEvent","resolveIconRef","registerOnChange","registerOnTouched","setDisabledState","isDisabled","disable","enable","validate","control","errors","ɵɵdirectiveInject","platformBrowser","DomSanitizer","selectors","features","ɵɵProvidersFeature","provide","NG_VALUE_ACCESSOR","multi","useExisting","NG_VALIDATORS","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","i0.ɵɵelementStart","i0.ɵɵelement","i0.ɵɵelementEnd","i0.ɵɵproperty","i0.ɵɵadvance","StaticIconImgComponent","ngOnInit","iconPath","inputs","i0.ɵɵtext","i0.ɵɵtextInterpolate","StaticIconSelectComponent","dataSource","PagingDataSource","paging","onBrowseForUploadIcon","i0.ɵɵtemplate","StaticIconModule","imports","CommonModule","FormsModule","ReactiveFormsModule","MatCardModule","MageCommonModule","ScrollingModule","declarations","exports"],"mappings":"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","sourcesContent":["import { HttpClient } from '@angular/common/http'\nimport { Component, OnChanges, OnDestroy, SimpleChanges } from '@angular/core'\nimport { AbstractControl, ControlValueAccessor, FormControl, FormGroup, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator, Validators } from '@angular/forms'\nimport { DomSanitizer } from '@angular/platform-browser'\nimport { StaticIcon, StaticIconReference } from '../static-icon.model'\nimport { StaticIconService } from '../static-icon.service'\n\n\n@Component({\n selector: 'mage-static-icon-form-field',\n templateUrl: './static-icon-form-field.component.html',\n styleUrls: ['./static-icon-form-field.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: StaticIconFormFieldComponent\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: StaticIconFormFieldComponent\n },\n ]\n})\nexport class StaticIconFormFieldComponent implements OnChanges, OnDestroy, ControlValueAccessor, Validator {\n\n iconRef: StaticIconReference = null\n\n form: FormGroup = new FormGroup({\n iconRefToken: new FormControl(null),\n iconRefType: new FormControl(null, Validators.required)\n })\n icon: StaticIcon | null\n\n private onChange: (iconRef: StaticIconReference) => void = (iconRef: StaticIconReference) => {}\n private onValidatorChange: () => void = () => {}\n private onTouched: () => void = () => {}\n\n constructor(private iconService: StaticIconService, private httpClient: HttpClient, private sanitizer: DomSanitizer) {\n this.form.valueChanges.subscribe((x: IconRefFormValue) => {\n this.iconRef = iconRefForFormValue(x)\n this.onChange(this.iconRef)\n })\n }\n\n registerOnValidatorChange?(fn: () => void): void {\n this.onValidatorChange = fn\n }\n\n ngOnChanges(changes: SimpleChanges) { }\n\n ngOnDestroy() { }\n\n onSelectIcon() { }\n\n writeValue(iconRef: StaticIconReference): void {\n this.iconRef = iconRef\n const formValue = formValueForIconRef(iconRef)\n this.form.setValue(formValue, { emitEvent: false })\n this.resolveIconRef()\n }\n\n registerOnChange(fn: (x: StaticIconReference | null) => void): void {\n this.onChange = fn\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn\n }\n\n setDisabledState?(isDisabled: boolean): void {\n if (isDisabled) {\n this.form.disable()\n }\n else {\n this.form.enable()\n }\n }\n\n validate(control: AbstractControl): ValidationErrors {\n return this.form.errors\n }\n\n private resolveIconRef() {\n if (!this.iconRef) {\n this.icon = null\n return\n }\n this.iconService.fetchIconByReference(this.iconRef).subscribe(x => {\n this.icon = x\n if (!this.icon) {\n return\n }\n })\n }\n}\n\nenum IconRefType {\n Registered = 'id',\n SourceUrl = 'sourceUrl'\n}\n\ntype IconRefFormValue = {\n iconRefToken: string | null\n iconRefType: IconRefType | null\n}\n\nfunction iconRefForFormValue(x: IconRefFormValue): StaticIconReference | null {\n if (!x.iconRefType) {\n return null\n }\n switch (x.iconRefType) {\n case IconRefType.Registered:\n return { [IconRefType.Registered]: x.iconRefToken }\n case IconRefType.SourceUrl:\n return { [IconRefType.SourceUrl]: x.iconRefToken }\n default:\n throw new Error('invalid icon ref type: ' + x.iconRefToken)\n }\n}\n\nfunction formValueForIconRef(x: StaticIconReference | null): IconRefFormValue {\n if (!x) {\n return {\n iconRefType: null,\n iconRefToken: null\n }\n }\n let iconRefType: IconRefType | null = null\n let iconRefToken: string | null = null\n if (x.hasOwnProperty(IconRefType.Registered)) {\n iconRefType = IconRefType.Registered || null\n iconRefToken = x[IconRefType.Registered] || null\n }\n else if (x.hasOwnProperty(IconRefType.SourceUrl)) {\n iconRefType = IconRefType.SourceUrl || null\n iconRefToken = x[IconRefType.SourceUrl] || null\n }\n return {\n iconRefType,\n iconRefToken\n }\n}\n","\nexport interface StaticIcon {\n id: string\n sourceUrl: string\n contentPath: string\n title?: string\n summary?: string\n fileName?: string\n tags?: string[]\n}\n\nexport interface RegisteredStaticIconReference {\n id: string\n sourceUrl?: never\n}\n\nexport interface SourceUrlStaticIconReference {\n sourceUrl: string\n id?: never\n}\n\nexport const contentPathOfIcon = (icon?: StaticIcon | RegisteredStaticIconReference | string | null | undefined): string | undefined => {\n if (!icon) {\n return\n }\n if (typeof icon !== 'string') {\n icon = icon.id\n }\n return `/api/icons/${icon}/content`\n}\n\nexport type StaticIconReference = RegisteredStaticIconReference | SourceUrlStaticIconReference\n","import { HttpClient, HttpParams } from '@angular/common/http'\nimport { Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs'\nimport { catchError } from 'rxjs/operators'\nimport { PageOf, PagingParameters } from '@ngageoint/mage.web-core-lib/paging'\nimport { StaticIcon, StaticIconReference } from './static-icon.model'\n\n\nexport interface IconFetch extends PagingParameters {\n searchText?: string\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StaticIconService {\n\n constructor(private webClient: HttpClient) { }\n\n fetchIcons(fetch?: IconFetch): Observable<PageOf<StaticIcon>> {\n const now = Date.now()\n const results = new Observable<PageOf<StaticIcon>>(observer => {\n const icons: StaticIcon[] = []\n let remaining = 100\n while (remaining--) {\n const id = now - remaining\n icons.unshift({\n id: String(id),\n title: `Icon ${id}`,\n fileName: `icon-${id}.png`,\n sourceUrl: `https://test.mage/${id}.png`,\n contentPath: `/icons/${id}/content`\n })\n }\n setTimeout(() => {\n observer.next({\n pageSize: 100,\n pageIndex: 0,\n totalCount: 100,\n items: icons\n })\n observer.complete()\n }, 0)\n return {\n unsubscribe() { }\n }\n })\n return results\n }\n\n fetchIconById(id: string): Observable<StaticIcon | null> {\n return this.webClient.get<StaticIcon>(`/api/icons/${id}`).pipe(\n catchError((err, caught) => {\n // TODO: this is probably better practice to insulate app layer from\n // http errors\n // if (err instanceof HttpErrorResponse) {\n // if (err.status === 404) {\n // return null\n // }\n // }\n return throwError(err)\n })\n )\n }\n\n fetchIconBySourceUrl(url: string): Observable<StaticIcon> {\n return this.webClient.get<StaticIcon | null>(`/api/icons`, {\n params: new HttpParams().set('source_url', url)\n })\n }\n\n fetchIconByReference(ref: StaticIconReference): Observable<StaticIcon | null> {\n if (ref.id) {\n return this.fetchIconById(ref.id)\n }\n else if (ref.sourceUrl) {\n return this.fetchIconBySourceUrl(ref.sourceUrl)\n }\n throw new Error('no icon id or source url')\n }\n\n registerIconUrl(url: string): Observable<StaticIcon> {\n throw new Error('unimplemented')\n }\n\n uploadIcon(): void {\n throw new Error('unimplemented')\n }\n}\n","<div [formGroup]=\"form\">\n <mage-xhr-img class=\"icon-image\" [src]=\"icon?.contentPath\"></mage-xhr-img>\n <input type=\"hidden\" formControlName=\"iconRefType\"/>\n <input type=\"hidden\" formControlName=\"iconRefToken\"/>\n</div>","import { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { RegisteredStaticIconReference, contentPathOfIcon } from '../static-icon.model'\n\n@Component({\n selector: 'mage-static-icon-img',\n template: `<mage-xhr-img [src]=\"iconPath\"></mage-xhr-img>`,\n})\nexport class StaticIconImgComponent implements OnInit, OnChanges {\n\n @Input()\n iconRef: RegisteredStaticIconReference | string | null\n iconPath: string | null\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.iconRef) {\n if (this.iconRef) {\n this.iconPath = contentPathOfIcon(this.iconRef)\n }\n else {\n this.iconPath = null\n }\n }\n }\n}\n","<div class=\"icon-select\">\n <cdk-virtual-scroll-viewport [itemSize]=\"40\">\n <mat-card *cdkVirtualFor=\"let icon of icons\" class=icon-select-item>\n <mat-card-header>\n <mat-card-title>{{icon.title}}</mat-card-title>\n </mat-card-header>\n <img mat-card-img [src]=\"icon.path\" />\n </mat-card>\n </cdk-virtual-scroll-viewport>\n</div>\n<!--\n <button mat-button class=\"add__button\" type=\"button\" color=\"primary\" (click)=\"file.click()\">\n Upload Icon\n </button>\n <input [hidden]=\"true\" type=\"file\" #file multiple (change)=\"onAttachmentFile($event)\">\n-->","import { Component, OnInit } from '@angular/core'\nimport { PagingParameters, PagingDataSource } from '@ngageoint/mage.web-core-lib/paging'\nimport { StaticIcon } from '../static-icon.model'\nimport { StaticIconService } from '../static-icon.service'\n\nexport interface StaticIconSelectItem {\n id: string\n path: string\n title: string\n fileName: string\n}\n\n@Component({\n selector: 'static-icon-select',\n templateUrl: './static-icon-select.component.html',\n styleUrls: ['./static-icon-select.component.scss']\n})\nexport class StaticIconSelectComponent implements OnInit {\n\n icons: StaticIcon[] | null = null\n dataSource: PagingDataSource<StaticIcon>\n\n constructor(\n private iconService: StaticIconService\n ) {\n this.dataSource = new PagingDataSource<StaticIcon>(250, (paging: PagingParameters) => {\n return this.iconService.fetchIcons(paging)\n })\n }\n\n ngOnInit() {\n this.iconService.fetchIcons().subscribe(x => {\n this.icons = x.items\n })\n }\n\n onBrowseForUploadIcon() {\n throw new Error('unimplemented')\n }\n}\n\n","import { ScrollingModule } from '@angular/cdk/scrolling'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms'\nimport { MatCardModule } from '@angular/material/card'\nimport { MageCommonModule } from '@ngageoint/mage.web-core-lib/common'\nimport { StaticIconFormFieldComponent } from './static-icon-form-field/static-icon-form-field.component'\nimport { StaticIconImgComponent } from './static-icon-img/static-icon-img.component'\nimport { StaticIconSelectComponent } from './static-icon-select/static-icon-select.component'\n\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatCardModule,\n MageCommonModule,\n ScrollingModule\n ],\n declarations: [\n StaticIconFormFieldComponent,\n StaticIconImgComponent,\n StaticIconSelectComponent,\n ],\n exports: [\n StaticIconFormFieldComponent,\n StaticIconImgComponent,\n StaticIconSelectComponent,\n ]\n})\nexport class StaticIconModule {}"]}
|
|
@@ -224,15 +224,9 @@
|
|
|
224
224
|
}
|
|
225
225
|
|
|
226
226
|
var USER_READ_BASE_URL = '/api/next-users';
|
|
227
|
-
var reqKeys = {
|
|
228
|
-
term: 'term',
|
|
229
|
-
pageSize: 'page_size',
|
|
230
|
-
pageIndex: 'page',
|
|
231
|
-
includeTotalCount: 'total',
|
|
232
|
-
};
|
|
233
227
|
var UserReadService = /** @class */ (function () {
|
|
234
|
-
function UserReadService(
|
|
235
|
-
this.
|
|
228
|
+
function UserReadService(webClient) {
|
|
229
|
+
this.webClient = webClient;
|
|
236
230
|
}
|
|
237
231
|
UserReadService.prototype.search = function (which) {
|
|
238
232
|
var queryParams = {
|
|
@@ -245,7 +239,7 @@
|
|
|
245
239
|
if (typeof which.includeTotalCount === 'boolean') {
|
|
246
240
|
queryParams.total = which.includeTotalCount ? 'true' : 'false';
|
|
247
241
|
}
|
|
248
|
-
return this.
|
|
242
|
+
return this.webClient.get(USER_READ_BASE_URL + "/search", {
|
|
249
243
|
params: queryParams
|
|
250
244
|
});
|
|
251
245
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngageoint-mage.web-core-lib-user.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@ngageoint/mage.web-core-lib/user/user-read.service.ts","ng://@ngageoint/mage.web-core-lib/user/user-select/user-select.component.html","ng://@ngageoint/mage.web-core-lib/user/user-select/user-select.component.ts","ng://@ngageoint/mage.web-core-lib/user/user.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { HttpClient } from '@angular/common/http'\nimport { InjectionToken, Injectable } from '@angular/core'\nimport { PageOf, PagingParameters } from '@ngageoint/mage.web-core-lib/paging'\nimport { Observable } from 'rxjs'\nimport { User } from './user.model'\n\nexport const USER_READ_BASE_URL = '/api/next-users'\n\ntype SearchQueryParams = {\n page_size: string,\n page: string,\n term?: string,\n total?: 'true' | 'false'\n}\n\nconst reqKeys: { [SearchParamKey in keyof UserSearchParams]: string } = {\n term: 'term',\n pageSize: 'page_size',\n pageIndex: 'page',\n includeTotalCount: 'total',\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserReadService {\n\n constructor(private http: HttpClient) { }\n\n search(which: UserSearchParams): Observable<PageOf<UserSearchResult>> {\n const queryParams: SearchQueryParams = {\n page_size: String(which.pageSize),\n page: String(which.pageIndex),\n }\n if (typeof which.term === 'string') {\n queryParams.term = which.term\n }\n if (typeof which.includeTotalCount === 'boolean') {\n queryParams.total = which.includeTotalCount ? 'true' : 'false'\n }\n return this.http.get<PageOf<UserSearchResult>>(`${USER_READ_BASE_URL}/search`, {\n params: queryParams\n })\n }\n}\n\nexport interface UserSearchParams extends PagingParameters {\n term?: string | null | undefined\n}\n\nexport type UserSearchResult = Pick<User, 'id' | 'username' | 'displayName' | 'email' | 'active' | 'enabled'> & {\n /**\n * A reduction of all the phone numbers to a single string\n */\n allPhones?: string | null | undefined\n}\n\nexport const USER_READ_SERVICE = new InjectionToken<UserReadService>('UserReadService')","<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","import { AfterViewInit, Component, Input, OnChanges, SimpleChanges, ViewChild, forwardRef, OnInit } from '@angular/core'\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms'\nimport { NgSelectComponent } from '@ng-select/ng-select'\nimport { User } from '../user.model'\nimport { UserReadService, UserSearchParams, UserSearchResult } from '../user-read.service'\nimport { pageForItemIndex, itemRangeOfPage } from '@ngageoint/mage.web-core-lib/paging'\nimport { Subject, BehaviorSubject, SubscriptionLike, Unsubscribable } from 'rxjs'\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators'\nimport { X } from '@angular/cdk/keycodes'\n\n@Component({\n selector: 'mage-user-select',\n templateUrl: './user-select.component.html',\n styleUrls: [\n './user-select.component.scss'\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => UserSelectComponent)\n }\n ]\n})\nexport class UserSelectComponent implements OnInit, OnChanges, AfterViewInit, ControlValueAccessor {\n\n readonly baseFindParams: Readonly<UserSearchParams> = Object.freeze({\n pageSize: 100,\n pageIndex: 0,\n term: null\n })\n readonly nextPageScrollThreshold = 15\n readonly searchTermDebounceTime = 500\n readonly trackByUserId: (x: User) => User['id'] = x => x.id\n get loading(): boolean {\n return !!this.currentFetch && !this.currentFetch.closed\n }\n\n users: UserSearchResult[] = []\n totalCount = 0\n searchTerm$ = new Subject<string | null>()\n currentSearchTerm: string | null = null\n @ViewChild(NgSelectComponent, { static: true })\n userSelect: NgSelectComponent\n\n private currentFetch: SubscriptionLike | null = null\n\n constructor(private userService: UserReadService) { }\n\n ngOnInit() {\n this.searchTerm$.pipe(\n distinctUntilChanged(),\n debounceTime(this.searchTermDebounceTime),\n )\n .subscribe(x => {\n this.currentSearchTerm = x\n this.users = []\n this.totalCount = 0\n if (this.currentFetch) {\n this.currentFetch.unsubscribe()\n this.currentFetch = null\n }\n this.fetchNextPage()\n })\n }\n\n ngOnChanges(changes: SimpleChanges) {\n }\n\n ngAfterViewInit() {\n }\n\n writeValue(x: User | null): void {\n this.userSelect.writeValue(x)\n }\n\n registerOnChange(fn: (...args: any[]) => any): void {\n this.userSelect.registerOnChange(fn)\n }\n\n registerOnTouched(fn: (...args: any[]) => any): void {\n this.userSelect.registerOnTouched(fn)\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.userSelect.setDisabledState(isDisabled)\n }\n\n onOpen() {\n if (this.users.length === 0) {\n this.fetchNextPage()\n }\n }\n\n onScroll({ end }: { start: number, end: number }) {\n if (end < this.users.length - this.nextPageScrollThreshold || this.users.length === this.totalCount) {\n return\n }\n this.fetchNextPage()\n }\n\n onScrollToEnd() {\n\n }\n\n fetchNextPage() {\n if (this.currentFetch) {\n if (this.currentFetch.closed) {\n this.currentFetch = null\n }\n else {\n return\n }\n }\n const nextPage = pageForItemIndex(this.users.length, this.baseFindParams.pageSize)\n const findParams: UserSearchParams = {\n ...this.baseFindParams,\n pageIndex: nextPage\n }\n if (this.currentSearchTerm) {\n findParams.term = this.currentSearchTerm\n }\n this.currentFetch = this.userService.search(findParams).subscribe(page => {\n this.users = this.users.concat(page.items)\n if (typeof page.totalCount === 'number') {\n this.totalCount = page.totalCount\n }\n })\n }\n}","import { ScrollingModule } from '@angular/cdk/scrolling'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms'\nimport { MatAutocompleteModule } from '@angular/material/autocomplete'\nimport { MatDialogModule } from '@angular/material/dialog'\nimport { MatFormFieldModule } from '@angular/material/form-field'\nimport { MatInputModule } from '@angular/material/input'\nimport { MatListModule } from '@angular/material/list'\nimport { MatSelectModule } from '@angular/material/select'\nimport { UserSelectComponent } from './user-select/user-select.component'\nimport { NgSelectModule } from '@ng-select/ng-select'\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n ScrollingModule,\n MatAutocompleteModule,\n MatDialogModule,\n MatFormFieldModule,\n MatInputModule,\n MatListModule,\n MatSelectModule,\n NgSelectModule,\n ],\n declarations: [\n UserSelectComponent\n ],\n exports: [\n UserSelectComponent\n ]\n})\nexport class MageUserModule {\n\n}"],"names":["Injectable","InjectionToken","i0.ɵɵelementStart","i0.ɵɵtext","i0.ɵɵelementEnd","i0.ɵɵadvance","i0.ɵɵtextInterpolate1","i0.ɵɵtextInterpolate2","i0.ɵɵtextInterpolate","Subject","distinctUntilChanged","debounceTime","pageForItemIndex","NgSelectComponent","NG_VALUE_ACCESSOR","forwardRef","i0.ɵɵlistener","i0.ɵɵtemplate","i0.ɵɵproperty","Component","ViewChild","CommonModule","FormsModule","ReactiveFormsModule","ScrollingModule","MatAutocompleteModule","MatDialogModule","MatFormFieldModule","MatInputModule","MatListModule","MatSelectModule","NgSelectModule","NgModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngageoint-mage.web-core-lib-user.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@ngageoint/mage.web-core-lib/user/user-read.service.ts","ng://@ngageoint/mage.web-core-lib/user/user-select/user-select.component.html","ng://@ngageoint/mage.web-core-lib/user/user-select/user-select.component.ts","ng://@ngageoint/mage.web-core-lib/user/user.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { HttpClient } from '@angular/common/http'\nimport { InjectionToken, Injectable } from '@angular/core'\nimport { PageOf, PagingParameters } from '@ngageoint/mage.web-core-lib/paging'\nimport { Observable } from 'rxjs'\nimport { User } from './user.model'\n\nexport const USER_READ_BASE_URL = '/api/next-users'\n\ntype SearchQueryParams = {\n page_size: string,\n page: string,\n term?: string,\n total?: 'true' | 'false'\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserReadService {\n\n constructor(private webClient: HttpClient) { }\n\n search(which: UserSearchParams): Observable<PageOf<UserSearchResult>> {\n const queryParams: SearchQueryParams = {\n page_size: String(which.pageSize),\n page: String(which.pageIndex),\n }\n if (typeof which.term === 'string') {\n queryParams.term = which.term\n }\n if (typeof which.includeTotalCount === 'boolean') {\n queryParams.total = which.includeTotalCount ? 'true' : 'false'\n }\n return this.webClient.get<PageOf<UserSearchResult>>(`${USER_READ_BASE_URL}/search`, {\n params: queryParams\n })\n }\n}\n\nexport interface UserSearchParams extends PagingParameters {\n term?: string | null | undefined\n}\n\nexport type UserSearchResult = Pick<User, 'id' | 'username' | 'displayName' | 'email' | 'active' | 'enabled'> & {\n /**\n * A reduction of all the phone numbers to a single string\n */\n allPhones?: string | null | undefined\n}\n\nexport const USER_READ_SERVICE = new InjectionToken<UserReadService>('UserReadService')","<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","import { AfterViewInit, Component, Input, OnChanges, SimpleChanges, ViewChild, forwardRef, OnInit } from '@angular/core'\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms'\nimport { NgSelectComponent } from '@ng-select/ng-select'\nimport { User } from '../user.model'\nimport { UserReadService, UserSearchParams, UserSearchResult } from '../user-read.service'\nimport { pageForItemIndex, itemRangeOfPage } from '@ngageoint/mage.web-core-lib/paging'\nimport { Subject, BehaviorSubject, SubscriptionLike, Unsubscribable } from 'rxjs'\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators'\nimport { X } from '@angular/cdk/keycodes'\n\n@Component({\n selector: 'mage-user-select',\n templateUrl: './user-select.component.html',\n styleUrls: [\n './user-select.component.scss'\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => UserSelectComponent)\n }\n ]\n})\nexport class UserSelectComponent implements OnInit, OnChanges, AfterViewInit, ControlValueAccessor {\n\n readonly baseFindParams: Readonly<UserSearchParams> = Object.freeze({\n pageSize: 100,\n pageIndex: 0,\n term: null\n })\n readonly nextPageScrollThreshold = 15\n readonly searchTermDebounceTime = 500\n readonly trackByUserId: (x: User) => User['id'] = x => x.id\n get loading(): boolean {\n return !!this.currentFetch && !this.currentFetch.closed\n }\n\n users: UserSearchResult[] = []\n totalCount = 0\n searchTerm$ = new Subject<string | null>()\n currentSearchTerm: string | null = null\n @ViewChild(NgSelectComponent, { static: true })\n userSelect: NgSelectComponent\n\n private currentFetch: SubscriptionLike | null = null\n\n constructor(private userService: UserReadService) { }\n\n ngOnInit() {\n this.searchTerm$.pipe(\n distinctUntilChanged(),\n debounceTime(this.searchTermDebounceTime),\n )\n .subscribe(x => {\n this.currentSearchTerm = x\n this.users = []\n this.totalCount = 0\n if (this.currentFetch) {\n this.currentFetch.unsubscribe()\n this.currentFetch = null\n }\n this.fetchNextPage()\n })\n }\n\n ngOnChanges(changes: SimpleChanges) {\n }\n\n ngAfterViewInit() {\n }\n\n writeValue(x: User | null): void {\n this.userSelect.writeValue(x)\n }\n\n registerOnChange(fn: (...args: any[]) => any): void {\n this.userSelect.registerOnChange(fn)\n }\n\n registerOnTouched(fn: (...args: any[]) => any): void {\n this.userSelect.registerOnTouched(fn)\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.userSelect.setDisabledState(isDisabled)\n }\n\n onOpen() {\n if (this.users.length === 0) {\n this.fetchNextPage()\n }\n }\n\n onScroll({ end }: { start: number, end: number }) {\n if (end < this.users.length - this.nextPageScrollThreshold || this.users.length === this.totalCount) {\n return\n }\n this.fetchNextPage()\n }\n\n onScrollToEnd() {\n\n }\n\n fetchNextPage() {\n if (this.currentFetch) {\n if (this.currentFetch.closed) {\n this.currentFetch = null\n }\n else {\n return\n }\n }\n const nextPage = pageForItemIndex(this.users.length, this.baseFindParams.pageSize)\n const findParams: UserSearchParams = {\n ...this.baseFindParams,\n pageIndex: nextPage\n }\n if (this.currentSearchTerm) {\n findParams.term = this.currentSearchTerm\n }\n this.currentFetch = this.userService.search(findParams).subscribe(page => {\n this.users = this.users.concat(page.items)\n if (typeof page.totalCount === 'number') {\n this.totalCount = page.totalCount\n }\n })\n }\n}","import { ScrollingModule } from '@angular/cdk/scrolling'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms'\nimport { MatAutocompleteModule } from '@angular/material/autocomplete'\nimport { MatDialogModule } from '@angular/material/dialog'\nimport { MatFormFieldModule } from '@angular/material/form-field'\nimport { MatInputModule } from '@angular/material/input'\nimport { MatListModule } from '@angular/material/list'\nimport { MatSelectModule } from '@angular/material/select'\nimport { UserSelectComponent } from './user-select/user-select.component'\nimport { NgSelectModule } from '@ng-select/ng-select'\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n ScrollingModule,\n MatAutocompleteModule,\n MatDialogModule,\n MatFormFieldModule,\n MatInputModule,\n MatListModule,\n MatSelectModule,\n NgSelectModule,\n ],\n declarations: [\n UserSelectComponent\n ],\n exports: [\n UserSelectComponent\n ]\n})\nexport class MageUserModule {\n\n}"],"names":["Injectable","InjectionToken","i0.ɵɵelementStart","i0.ɵɵtext","i0.ɵɵelementEnd","i0.ɵɵadvance","i0.ɵɵtextInterpolate1","i0.ɵɵtextInterpolate2","i0.ɵɵtextInterpolate","Subject","distinctUntilChanged","debounceTime","pageForItemIndex","NgSelectComponent","NG_VALUE_ACCESSOR","forwardRef","i0.ɵɵlistener","i0.ɵɵtemplate","i0.ɵɵproperty","Component","ViewChild","CommonModule","FormsModule","ReactiveFormsModule","ScrollingModule","MatAutocompleteModule","MatDialogModule","MatFormFieldModule","MatInputModule","MatListModule","MatSelectModule","NgSelectModule","NgModule"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common/http"),require("@angular/cdk/scrolling"),require("@angular/common"),require("@angular/forms"),require("@angular/material/autocomplete"),require("@angular/material/dialog"),require("@angular/material/form-field"),require("@angular/material/input"),require("@angular/material/list"),require("@angular/material/select"),require("@ng-select/ng-select"),require("@ngageoint/mage.web-core-lib/paging"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@ngageoint/mage.web-core-lib/user",["exports","@angular/core","@angular/common/http","@angular/cdk/scrolling","@angular/common","@angular/forms","@angular/material/autocomplete","@angular/material/dialog","@angular/material/form-field","@angular/material/input","@angular/material/list","@angular/material/select","@ng-select/ng-select","@ngageoint/mage.web-core-lib/paging","rxjs","rxjs/operators"],t):t(((e=e||self).ngageoint=e.ngageoint||{},e.ngageoint.mage=e.ngageoint.mage||{},e.ngageoint.mage["web-core-lib"]=e.ngageoint.mage["web-core-lib"]||{},e.ngageoint.mage["web-core-lib"].user={}),e.ng.core,e.ng.common.http,e.ng.cdk.scrolling,e.ng.common,e.ng.forms,e.ng.material.autocomplete,e.ng.material.dialog,e.ng.material.formField,e.ng.material.input,e.ng.material.list,e.ng.material.select,e.ngSelect,e.ngageoint.mage["web-core-lib"].paging,e.rxjs,e.rxjs.operators)}(this,(function(e,t,n,r,o,a,i,l,u,s,c,g,p,
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common/http"),require("@angular/cdk/scrolling"),require("@angular/common"),require("@angular/forms"),require("@angular/material/autocomplete"),require("@angular/material/dialog"),require("@angular/material/form-field"),require("@angular/material/input"),require("@angular/material/list"),require("@angular/material/select"),require("@ng-select/ng-select"),require("@ngageoint/mage.web-core-lib/paging"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@ngageoint/mage.web-core-lib/user",["exports","@angular/core","@angular/common/http","@angular/cdk/scrolling","@angular/common","@angular/forms","@angular/material/autocomplete","@angular/material/dialog","@angular/material/form-field","@angular/material/input","@angular/material/list","@angular/material/select","@ng-select/ng-select","@ngageoint/mage.web-core-lib/paging","rxjs","rxjs/operators"],t):t(((e=e||self).ngageoint=e.ngageoint||{},e.ngageoint.mage=e.ngageoint.mage||{},e.ngageoint.mage["web-core-lib"]=e.ngageoint.mage["web-core-lib"]||{},e.ngageoint.mage["web-core-lib"].user={}),e.ng.core,e.ng.common.http,e.ng.cdk.scrolling,e.ng.common,e.ng.forms,e.ng.material.autocomplete,e.ng.material.dialog,e.ng.material.formField,e.ng.material.input,e.ng.material.list,e.ng.material.select,e.ngSelect,e.ngageoint.mage["web-core-lib"].paging,e.rxjs,e.rxjs.operators)}(this,(function(e,t,n,r,o,a,i,l,u,s,c,g,m,p,d,h){"use strict";
|
|
2
2
|
/*! *****************************************************************************
|
|
3
3
|
Copyright (c) Microsoft Corporation.
|
|
4
4
|
|
|
@@ -12,5 +12,5 @@
|
|
|
12
12
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
13
13
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
14
14
|
PERFORMANCE OF THIS SOFTWARE.
|
|
15
|
-
***************************************************************************** */var f=function(){return(f=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};var S=function(){function e(e){this.
|
|
15
|
+
***************************************************************************** */var f=function(){return(f=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};var S=function(){function e(e){this.webClient=e}return e.prototype.search=function(e){var t={page_size:String(e.pageSize),page:String(e.pageIndex)};return"string"==typeof e.term&&(t.term=e.term),"boolean"==typeof e.includeTotalCount&&(t.total=e.includeTotalCount?"true":"false"),this.webClient.get("/api/next-users/search",{params:t})},e.ɵfac=function(r){return new(r||e)(t.ɵɵinject(n.HttpClient))},e.ɵprov=t.ɵɵdefineInjectable({token:e,factory:e.ɵfac,providedIn:"root"}),e}(),M=new t.InjectionToken("UserReadService");function y(e,n){if(1&e&&(t.ɵɵelementStart(0,"small",3),t.ɵɵtext(1),t.ɵɵelementEnd()),2&e){var r=t.ɵɵnextContext();t.ɵɵadvance(1),t.ɵɵtextInterpolate1("",r.totalCount," matching users")}}function b(e,n){if(1&e&&(t.ɵɵelementStart(0,"div",4),t.ɵɵelementStart(1,"p",5),t.ɵɵtext(2),t.ɵɵelementEnd(),t.ɵɵelementStart(3,"p",6),t.ɵɵtext(4),t.ɵɵelementEnd(),t.ɵɵelementStart(5,"p",6),t.ɵɵtext(6),t.ɵɵelementEnd(),t.ɵɵelementEnd()),2&e){var r=n.item;t.ɵɵadvance(2),t.ɵɵtextInterpolate2("",r.displayName," (",r.username,")"),t.ɵɵadvance(2),t.ɵɵtextInterpolate(r.email||"[no email]"),t.ɵɵadvance(2),t.ɵɵtextInterpolate(r.allPhones||"[no phone]")}}var v=function(){function e(e){this.userService=e,this.baseFindParams=Object.freeze({pageSize:100,pageIndex:0,term:null}),this.nextPageScrollThreshold=15,this.searchTermDebounceTime=500,this.trackByUserId=function(e){return e.id},this.users=[],this.totalCount=0,this.searchTerm$=new d.Subject,this.currentSearchTerm=null,this.currentFetch=null}return Object.defineProperty(e.prototype,"loading",{get:function(){return!!this.currentFetch&&!this.currentFetch.closed},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;this.searchTerm$.pipe(h.distinctUntilChanged(),h.debounceTime(this.searchTermDebounceTime)).subscribe((function(t){e.currentSearchTerm=t,e.users=[],e.totalCount=0,e.currentFetch&&(e.currentFetch.unsubscribe(),e.currentFetch=null),e.fetchNextPage()}))},e.prototype.ngOnChanges=function(e){},e.prototype.ngAfterViewInit=function(){},e.prototype.writeValue=function(e){this.userSelect.writeValue(e)},e.prototype.registerOnChange=function(e){this.userSelect.registerOnChange(e)},e.prototype.registerOnTouched=function(e){this.userSelect.registerOnTouched(e)},e.prototype.setDisabledState=function(e){this.userSelect.setDisabledState(e)},e.prototype.onOpen=function(){0===this.users.length&&this.fetchNextPage()},e.prototype.onScroll=function(e){e.end<this.users.length-this.nextPageScrollThreshold||this.users.length===this.totalCount||this.fetchNextPage()},e.prototype.onScrollToEnd=function(){},e.prototype.fetchNextPage=function(){var e=this;if(this.currentFetch){if(!this.currentFetch.closed)return;this.currentFetch=null}var t=p.pageForItemIndex(this.users.length,this.baseFindParams.pageSize),n=f(f({},this.baseFindParams),{pageIndex:t});this.currentSearchTerm&&(n.term=this.currentSearchTerm),this.currentFetch=this.userService.search(n).subscribe((function(t){e.users=e.users.concat(t.items),"number"==typeof t.totalCount&&(e.totalCount=t.totalCount)}))},e.ɵfac=function(n){return new(n||e)(t.ɵɵdirectiveInject(S))},e.ɵcmp=t.ɵɵdefineComponent({type:e,selectors:[["mage-user-select"]],viewQuery:function(e,n){var r;(1&e&&t.ɵɵstaticViewQuery(m.NgSelectComponent,!0),2&e)&&(t.ɵɵqueryRefresh(r=t.ɵɵloadQuery())&&(n.userSelect=r.first))},features:[t.ɵɵProvidersFeature([{provide:a.NG_VALUE_ACCESSOR,multi:!0,useExisting:t.forwardRef((function(){return e}))}]),t.ɵɵ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(e,n){1&e&&(t.ɵɵelementStart(0,"ng-select",0),t.ɵɵlistener("open",(function(){return n.onOpen()}))("scroll",(function(e){return n.onScroll(e)}))("scrollToEnd",(function(){return n.onScrollToEnd()})),t.ɵɵtemplate(1,y,2,1,"ng-template",1),t.ɵɵtemplate(2,b,7,4,"ng-template",2),t.ɵɵelementEnd()),2&e&&t.ɵɵproperty("items",n.users)("typeahead",n.searchTerm$)("virtualScroll",!0)("loading",n.loading)("trackByFn",n.trackByUserId)},directives:[m.NgSelectComponent,m.ɵj,m.ɵf],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}"]}),e}(),x=function(){function e(){}return e.ɵmod=t.ɵɵdefineNgModule({type:e}),e.ɵinj=t.ɵɵdefineInjector({factory:function(t){return new(t||e)},imports:[[o.CommonModule,a.FormsModule,a.ReactiveFormsModule,r.ScrollingModule,i.MatAutocompleteModule,l.MatDialogModule,u.MatFormFieldModule,s.MatInputModule,c.MatListModule,g.MatSelectModule,m.NgSelectModule]]}),e}();("undefined"==typeof ngJitMode||ngJitMode)&&t.ɵɵsetNgModuleScope(x,{declarations:[v],imports:[o.CommonModule,a.FormsModule,a.ReactiveFormsModule,r.ScrollingModule,i.MatAutocompleteModule,l.MatDialogModule,u.MatFormFieldModule,s.MatInputModule,c.MatListModule,g.MatSelectModule,m.NgSelectModule],exports:[v]}),e.MageUserModule=x,e.USER_READ_BASE_URL="/api/next-users",e.USER_READ_SERVICE=M,e.UserReadService=S,e.UserSelectComponent=v,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
16
16
|
//# sourceMappingURL=ngageoint-mage.web-core-lib-user.umd.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@ngageoint/mage.web-core-lib/user/user-read.service.ts","ng://@ngageoint/mage.web-core-lib/user/user-select/user-select.component.html","ng://@ngageoint/mage.web-core-lib/user/user-select/user-select.component.ts","ng://@ngageoint/mage.web-core-lib/user/user.module.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","UserReadService","http","search","which","queryParams","page_size","String","pageSize","page","pageIndex","term","includeTotalCount","total","get","USER_READ_BASE_URL","params","core","ɵɵinject","HttpClient","factory","ɵfac","providedIn","USER_READ_SERVICE","InjectionToken","i0.ɵɵelementStart","i0.ɵɵtext","i0.ɵɵelementEnd","i0.ɵɵadvance","i0.ɵɵtextInterpolate1","i0.ɵɵtextInterpolate2","i0.ɵɵtextInterpolate","UserSelectComponent","userService","baseFindParams","freeze","nextPageScrollThreshold","searchTermDebounceTime","trackByUserId","x","id","users","totalCount","searchTerm$","Subject","currentSearchTerm","currentFetch","defineProperty","closed","ngOnInit","_this","pipe","distinctUntilChanged","debounceTime","subscribe","unsubscribe","fetchNextPage","ngOnChanges","changes","ngAfterViewInit","writeValue","userSelect","registerOnChange","fn","registerOnTouched","setDisabledState","isDisabled","onOpen","onScroll","_a","end","onScrollToEnd","nextPage","pageForItemIndex","findParams","concat","items","ɵɵdirectiveInject","selectors","viewQuery","rf","ctx","NgSelectComponent","provide","NG_VALUE_ACCESSOR","multi","useExisting","forwardRef","ɵɵNgOnChangesFeature","decls","vars","consts","template","i0.ɵɵlistener","$event","i0.ɵɵtemplate","i0.ɵɵproperty","loading","MageUserModule","imports","CommonModule","FormsModule","ReactiveFormsModule","ScrollingModule","MatAutocompleteModule","MatDialogModule","MatFormFieldModule","MatInputModule","MatListModule","MatSelectModule","NgSelectModule","declarations","exports"],"mappings":";;;;;;;;;;;;;;oFA6BO,IAAIA,EAAW,WAQlB,OAPAA,EAAWC,OAAOC,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAII,KADTL,EAAIG,UAAUF,GACOJ,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,IAE9E,OAAON,IAEKU,MAAMC,KAAMP,6BCV9B,SAAAQ,EAAoBC,GAAAF,KAAAE,KAAAA,SAEpBD,EAAAL,UAAAO,OAAA,SAAOC,GACL,IAAMC,EAAiC,CACrCC,UAAWC,OAAOH,EAAMI,UACxBC,KAAMF,OAAOH,EAAMM,YAQrB,MAN0B,iBAAfN,EAAMO,OACfN,EAAYM,KAAOP,EAAMO,MAEY,kBAA5BP,EAAMQ,oBACfP,EAAYQ,MAAQT,EAAMQ,kBAAoB,OAAS,SAElDZ,KAAKE,KAAKY,IAAiCC,yBAA6B,CAC7EC,OAAQX,sCAhBDJ,GAAegB,EAAAC,SAAAhB,EAAAiB,kDAAflB,EAAemB,QAAfnB,EAAeoB,KAAAC,WAFd,cAkCDC,EAAoB,IAAIC,EAAAA,eAAgC,4CC5CjEC,EAAAA,eAAAA,EAAAA,QAAAA,GAAoCC,EAAAA,OAAAA,GAA6BC,EAAAA,6CAA7BC,EAAAA,UAAAA,GAAAC,EAAAA,mBAAAA,GAAAA,EAAAA,WAAAA,6CAGpCJ,EAAAA,eAAAA,EAAAA,MAAAA,GACEA,EAAAA,eAAAA,EAAAA,IAAAA,GAAqCC,EAAAA,OAAAA,GAAwCC,EAAAA,eAC7EF,EAAAA,eAAAA,EAAAA,IAAAA,GAAoCC,EAAAA,OAAAA,GAA8BC,EAAAA,eAClEF,EAAAA,eAAAA,EAAAA,IAAAA,GAAoCC,EAAAA,OAAAA,GAAkCC,EAAAA,eACxEA,EAAAA,kCAHuCC,EAAAA,UAAAA,GAAAE,EAAAA,mBAAAA,GAAAA,EAAAA,YAAAA,KAAAA,EAAAA,SAAAA,KACDF,EAAAA,UAAAA,GAAAG,EAAAA,kBAAAA,EAAAA,OAAAA,cACAH,EAAAA,UAAAA,GAAAG,EAAAA,kBAAAA,EAAAA,WAAAA,gCC4BxC,SAAAC,EAAoBC,GAAAjC,KAAAiC,YAAAA,EArBXjC,KAAAkC,eAA6C/C,OAAOgD,OAAO,CAClE3B,SAAU,IACVE,UAAW,EACXC,KAAM,OAECX,KAAAoC,wBAA0B,GAC1BpC,KAAAqC,uBAAyB,IACzBrC,KAAAsC,cAAyC,SAAAC,GAAK,OAAAA,EAAEC,IAKzDxC,KAAAyC,MAA4B,GAC5BzC,KAAA0C,WAAa,EACb1C,KAAA2C,YAAc,IAAIC,EAAAA,QAClB5C,KAAA6C,kBAAmC,KAI3B7C,KAAA8C,aAAwC,YAXhD3D,OAAA4D,eAAIf,EAAApC,UAAA,UAAO,KAAX,WACE,QAASI,KAAK8C,eAAiB9C,KAAK8C,aAAaE,wCAcnDhB,EAAApC,UAAAqD,SAAA,WAAA,IAAAC,EAAAlD,KACEA,KAAK2C,YAAYQ,KACfC,EAAAA,uBACAC,EAAAA,aAAarD,KAAKqC,yBAEnBiB,WAAU,SAAAf,GACTW,EAAKL,kBAAoBN,EACzBW,EAAKT,MAAQ,GACbS,EAAKR,WAAa,EACdQ,EAAKJ,eACPI,EAAKJ,aAAaS,cAClBL,EAAKJ,aAAe,MAEtBI,EAAKM,oBAITxB,EAAApC,UAAA6D,YAAA,SAAYC,KAGZ1B,EAAApC,UAAA+D,gBAAA,aAGA3B,EAAApC,UAAAgE,WAAA,SAAWrB,GACTvC,KAAK6D,WAAWD,WAAWrB,IAG7BP,EAAApC,UAAAkE,iBAAA,SAAiBC,GACf/D,KAAK6D,WAAWC,iBAAiBC,IAGnC/B,EAAApC,UAAAoE,kBAAA,SAAkBD,GAChB/D,KAAK6D,WAAWG,kBAAkBD,IAGpC/B,EAAApC,UAAAqE,iBAAA,SAAiBC,GACflE,KAAK6D,WAAWI,iBAAiBC,IAGnClC,EAAApC,UAAAuE,OAAA,WAC4B,IAAtBnE,KAAKyC,MAAM/C,QACbM,KAAKwD,iBAITxB,EAAApC,UAAAwE,SAAA,SAASC,GAAEA,EAAAC,IACCtE,KAAKyC,MAAM/C,OAASM,KAAKoC,yBAA2BpC,KAAKyC,MAAM/C,SAAWM,KAAK0C,YAGzF1C,KAAKwD,iBAGPxB,EAAApC,UAAA2E,cAAA,aAIAvC,EAAApC,UAAA4D,cAAA,WAAA,IAAAN,EAAAlD,KACE,GAAIA,KAAK8C,aAAc,CACrB,IAAI9C,KAAK8C,aAAaE,OAIpB,OAHAhD,KAAK8C,aAAe,KAMxB,IAAM0B,EAAWC,EAAAA,iBAAiBzE,KAAKyC,MAAM/C,OAAQM,KAAKkC,eAAe1B,UACnEkE,EAAUxF,EAAAA,EAAA,GACXc,KAAKkC,gBAAc,CACtBxB,UAAW8D,IAETxE,KAAK6C,oBACP6B,EAAW/D,KAAOX,KAAK6C,mBAEzB7C,KAAK8C,aAAe9C,KAAKiC,YAAY9B,OAAOuE,GAAYpB,WAAU,SAAA7C,GAChEyC,EAAKT,MAAQS,EAAKT,MAAMkC,OAAOlE,EAAKmE,OACL,iBAApBnE,EAAKiC,aACdQ,EAAKR,WAAajC,EAAKiC,iDArGlBV,GAAmBf,EAAA4D,kBAAA5E,sCAAnB+B,EAAmB8C,UAAA,CAAA,CAAA,qBAAAC,UAAA,SAAAC,EAAAC,UAAA,EAAAD,uBAkBnBE,EAAAA,mBAAiB,uGA1BjB,CACT,CACEC,QAASC,EAAAA,kBACTC,OAAO,EACPC,YAAaC,EAAAA,YAAW,WAAM,OAAAvD,QAEjCf,EAAAuE,sBAAAC,MAAA,EAAAC,KAAA,EAAAC,OAAA,CAAA,CAAA,WAAA,OAAA,cAAA,gBAAA,YAAA,cAAA,EAAA,QAAA,YAAA,gBAAA,UAAA,YAAA,OAAA,SAAA,eAAA,CAAA,gBAAA,IAAA,CAAA,QAAA,cAAA,gBAAA,IAAA,CAAA,EAAA,YAAA,cAAA,CAAA,EAAA,eAAA,CAAA,EAAA,oBAAA,WAAA,CAAA,EAAA,oBAAA,WAAAC,SAAA,SAAAZ,EAAAC,GAAA,EAAAD,IDtBHvD,EAAAA,eAAAA,EAAAA,YAAAA,GAQEoE,EAAAA,WAAAA,QAAAA,WAAAA,OAAQZ,EAAAd,WAAR0B,CAAiB,UAAA,SAAAC,GAAA,OACPb,EAAAb,SAAA0B,KADVD,CAAiB,eAAA,WAAA,OAEFZ,EAAAV,mBAEfwB,EAAAA,WAAAA,EAAAA,EAAAA,EAAAA,EAAAA,cAAAA,GAGAA,EAAAA,WAAAA,EAAAA,EAAAA,EAAAA,EAAAA,cAAAA,GAOFpE,EAAAA,qBAtBWqE,EAAAA,WAAAA,QAAAA,EAAAA,MAAAA,CAAe,YAAAf,EAAAtC,YAAfqD,CAAe,iBAAA,EAAfA,CAAe,UAAAf,EAAAgB,QAAfD,CAAe,YAAAf,EAAA3C,4eEa1B,SAAA4D,4CAqBaA,iEAAAA,IAAcC,QAAA,CApBhB,CACPC,EAAAA,aACAC,EAAAA,YACAC,EAAAA,oBACAC,EAAAA,gBACAC,EAAAA,sBACAC,EAAAA,gBACAC,EAAAA,mBACAC,EAAAA,eACAC,EAAAA,cACAC,EAAAA,gBACAC,EAAAA,yFASSZ,EAAc,CAAAa,aAAA,CANvB/E,GAAmBmE,QAAA,CAbnBC,EAAAA,aACAC,EAAAA,YACAC,EAAAA,oBACAC,EAAAA,gBACAC,EAAAA,sBACAC,EAAAA,gBACAC,EAAAA,mBACAC,EAAAA,eACAC,EAAAA,cACAC,EAAAA,gBACAC,EAAAA,gBAAcE,QAAA,CAMdhF,6CHzB8B","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { HttpClient } from '@angular/common/http'\nimport { InjectionToken, Injectable } from '@angular/core'\nimport { PageOf, PagingParameters } from '@ngageoint/mage.web-core-lib/paging'\nimport { Observable } from 'rxjs'\nimport { User } from './user.model'\n\nexport const USER_READ_BASE_URL = '/api/next-users'\n\ntype SearchQueryParams = {\n page_size: string,\n page: string,\n term?: string,\n total?: 'true' | 'false'\n}\n\nconst reqKeys: { [SearchParamKey in keyof UserSearchParams]: string } = {\n term: 'term',\n pageSize: 'page_size',\n pageIndex: 'page',\n includeTotalCount: 'total',\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserReadService {\n\n constructor(private http: HttpClient) { }\n\n search(which: UserSearchParams): Observable<PageOf<UserSearchResult>> {\n const queryParams: SearchQueryParams = {\n page_size: String(which.pageSize),\n page: String(which.pageIndex),\n }\n if (typeof which.term === 'string') {\n queryParams.term = which.term\n }\n if (typeof which.includeTotalCount === 'boolean') {\n queryParams.total = which.includeTotalCount ? 'true' : 'false'\n }\n return this.http.get<PageOf<UserSearchResult>>(`${USER_READ_BASE_URL}/search`, {\n params: queryParams\n })\n }\n}\n\nexport interface UserSearchParams extends PagingParameters {\n term?: string | null | undefined\n}\n\nexport type UserSearchResult = Pick<User, 'id' | 'username' | 'displayName' | 'email' | 'active' | 'enabled'> & {\n /**\n * A reduction of all the phone numbers to a single string\n */\n allPhones?: string | null | undefined\n}\n\nexport const USER_READ_SERVICE = new InjectionToken<UserReadService>('UserReadService')","<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","import { AfterViewInit, Component, Input, OnChanges, SimpleChanges, ViewChild, forwardRef, OnInit } from '@angular/core'\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms'\nimport { NgSelectComponent } from '@ng-select/ng-select'\nimport { User } from '../user.model'\nimport { UserReadService, UserSearchParams, UserSearchResult } from '../user-read.service'\nimport { pageForItemIndex, itemRangeOfPage } from '@ngageoint/mage.web-core-lib/paging'\nimport { Subject, BehaviorSubject, SubscriptionLike, Unsubscribable } from 'rxjs'\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators'\nimport { X } from '@angular/cdk/keycodes'\n\n@Component({\n selector: 'mage-user-select',\n templateUrl: './user-select.component.html',\n styleUrls: [\n './user-select.component.scss'\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => UserSelectComponent)\n }\n ]\n})\nexport class UserSelectComponent implements OnInit, OnChanges, AfterViewInit, ControlValueAccessor {\n\n readonly baseFindParams: Readonly<UserSearchParams> = Object.freeze({\n pageSize: 100,\n pageIndex: 0,\n term: null\n })\n readonly nextPageScrollThreshold = 15\n readonly searchTermDebounceTime = 500\n readonly trackByUserId: (x: User) => User['id'] = x => x.id\n get loading(): boolean {\n return !!this.currentFetch && !this.currentFetch.closed\n }\n\n users: UserSearchResult[] = []\n totalCount = 0\n searchTerm$ = new Subject<string | null>()\n currentSearchTerm: string | null = null\n @ViewChild(NgSelectComponent, { static: true })\n userSelect: NgSelectComponent\n\n private currentFetch: SubscriptionLike | null = null\n\n constructor(private userService: UserReadService) { }\n\n ngOnInit() {\n this.searchTerm$.pipe(\n distinctUntilChanged(),\n debounceTime(this.searchTermDebounceTime),\n )\n .subscribe(x => {\n this.currentSearchTerm = x\n this.users = []\n this.totalCount = 0\n if (this.currentFetch) {\n this.currentFetch.unsubscribe()\n this.currentFetch = null\n }\n this.fetchNextPage()\n })\n }\n\n ngOnChanges(changes: SimpleChanges) {\n }\n\n ngAfterViewInit() {\n }\n\n writeValue(x: User | null): void {\n this.userSelect.writeValue(x)\n }\n\n registerOnChange(fn: (...args: any[]) => any): void {\n this.userSelect.registerOnChange(fn)\n }\n\n registerOnTouched(fn: (...args: any[]) => any): void {\n this.userSelect.registerOnTouched(fn)\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.userSelect.setDisabledState(isDisabled)\n }\n\n onOpen() {\n if (this.users.length === 0) {\n this.fetchNextPage()\n }\n }\n\n onScroll({ end }: { start: number, end: number }) {\n if (end < this.users.length - this.nextPageScrollThreshold || this.users.length === this.totalCount) {\n return\n }\n this.fetchNextPage()\n }\n\n onScrollToEnd() {\n\n }\n\n fetchNextPage() {\n if (this.currentFetch) {\n if (this.currentFetch.closed) {\n this.currentFetch = null\n }\n else {\n return\n }\n }\n const nextPage = pageForItemIndex(this.users.length, this.baseFindParams.pageSize)\n const findParams: UserSearchParams = {\n ...this.baseFindParams,\n pageIndex: nextPage\n }\n if (this.currentSearchTerm) {\n findParams.term = this.currentSearchTerm\n }\n this.currentFetch = this.userService.search(findParams).subscribe(page => {\n this.users = this.users.concat(page.items)\n if (typeof page.totalCount === 'number') {\n this.totalCount = page.totalCount\n }\n })\n }\n}","import { ScrollingModule } from '@angular/cdk/scrolling'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms'\nimport { MatAutocompleteModule } from '@angular/material/autocomplete'\nimport { MatDialogModule } from '@angular/material/dialog'\nimport { MatFormFieldModule } from '@angular/material/form-field'\nimport { MatInputModule } from '@angular/material/input'\nimport { MatListModule } from '@angular/material/list'\nimport { MatSelectModule } from '@angular/material/select'\nimport { UserSelectComponent } from './user-select/user-select.component'\nimport { NgSelectModule } from '@ng-select/ng-select'\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n ScrollingModule,\n MatAutocompleteModule,\n MatDialogModule,\n MatFormFieldModule,\n MatInputModule,\n MatListModule,\n MatSelectModule,\n NgSelectModule,\n ],\n declarations: [\n UserSelectComponent\n ],\n exports: [\n UserSelectComponent\n ]\n})\nexport class MageUserModule {\n\n}"]}
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@ngageoint/mage.web-core-lib/user/user-read.service.ts","ng://@ngageoint/mage.web-core-lib/user/user-select/user-select.component.html","ng://@ngageoint/mage.web-core-lib/user/user-select/user-select.component.ts","ng://@ngageoint/mage.web-core-lib/user/user.module.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","UserReadService","webClient","search","which","queryParams","page_size","String","pageSize","page","pageIndex","term","includeTotalCount","total","get","USER_READ_BASE_URL","params","core","ɵɵinject","http","HttpClient","factory","ɵfac","providedIn","USER_READ_SERVICE","InjectionToken","i0.ɵɵelementStart","i0.ɵɵtext","i0.ɵɵelementEnd","i0.ɵɵadvance","i0.ɵɵtextInterpolate1","i0.ɵɵtextInterpolate2","i0.ɵɵtextInterpolate","UserSelectComponent","userService","baseFindParams","freeze","nextPageScrollThreshold","searchTermDebounceTime","trackByUserId","x","id","users","totalCount","searchTerm$","Subject","currentSearchTerm","currentFetch","defineProperty","closed","ngOnInit","_this","pipe","distinctUntilChanged","debounceTime","subscribe","unsubscribe","fetchNextPage","ngOnChanges","changes","ngAfterViewInit","writeValue","userSelect","registerOnChange","fn","registerOnTouched","setDisabledState","isDisabled","onOpen","onScroll","_a","end","onScrollToEnd","nextPage","pageForItemIndex","findParams","concat","items","ɵɵdirectiveInject","selectors","viewQuery","rf","ctx","NgSelectComponent","provide","NG_VALUE_ACCESSOR","multi","useExisting","forwardRef","ɵɵNgOnChangesFeature","decls","vars","consts","template","i0.ɵɵlistener","$event","i0.ɵɵtemplate","i0.ɵɵproperty","loading","MageUserModule","imports","CommonModule","FormsModule","ReactiveFormsModule","ScrollingModule","MatAutocompleteModule","MatDialogModule","MatFormFieldModule","MatInputModule","MatListModule","MatSelectModule","NgSelectModule","declarations","exports"],"mappings":";;;;;;;;;;;;;;oFA6BO,IAAIA,EAAW,WAQlB,OAPAA,EAAWC,OAAOC,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAII,KADTL,EAAIG,UAAUF,GACOJ,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,IAE9E,OAAON,IAEKU,MAAMC,KAAMP,6BChB9B,SAAAQ,EAAoBC,GAAAF,KAAAE,UAAAA,SAEpBD,EAAAL,UAAAO,OAAA,SAAOC,GACL,IAAMC,EAAiC,CACrCC,UAAWC,OAAOH,EAAMI,UACxBC,KAAMF,OAAOH,EAAMM,YAQrB,MAN0B,iBAAfN,EAAMO,OACfN,EAAYM,KAAOP,EAAMO,MAEY,kBAA5BP,EAAMQ,oBACfP,EAAYQ,MAAQT,EAAMQ,kBAAoB,OAAS,SAElDZ,KAAKE,UAAUY,IAAiCC,yBAA6B,CAClFC,OAAQX,sCAhBDJ,GAAegB,EAAAC,SAAAC,EAAAC,kDAAfnB,EAAeoB,QAAfpB,EAAeqB,KAAAC,WAFd,cAkCDC,EAAoB,IAAIC,EAAAA,eAAgC,4CCtCjEC,EAAAA,eAAAA,EAAAA,QAAAA,GAAoCC,EAAAA,OAAAA,GAA6BC,EAAAA,6CAA7BC,EAAAA,UAAAA,GAAAC,EAAAA,mBAAAA,GAAAA,EAAAA,WAAAA,6CAGpCJ,EAAAA,eAAAA,EAAAA,MAAAA,GACEA,EAAAA,eAAAA,EAAAA,IAAAA,GAAqCC,EAAAA,OAAAA,GAAwCC,EAAAA,eAC7EF,EAAAA,eAAAA,EAAAA,IAAAA,GAAoCC,EAAAA,OAAAA,GAA8BC,EAAAA,eAClEF,EAAAA,eAAAA,EAAAA,IAAAA,GAAoCC,EAAAA,OAAAA,GAAkCC,EAAAA,eACxEA,EAAAA,kCAHuCC,EAAAA,UAAAA,GAAAE,EAAAA,mBAAAA,GAAAA,EAAAA,YAAAA,KAAAA,EAAAA,SAAAA,KACDF,EAAAA,UAAAA,GAAAG,EAAAA,kBAAAA,EAAAA,OAAAA,cACAH,EAAAA,UAAAA,GAAAG,EAAAA,kBAAAA,EAAAA,WAAAA,gCC4BxC,SAAAC,EAAoBC,GAAAlC,KAAAkC,YAAAA,EArBXlC,KAAAmC,eAA6ChD,OAAOiD,OAAO,CAClE5B,SAAU,IACVE,UAAW,EACXC,KAAM,OAECX,KAAAqC,wBAA0B,GAC1BrC,KAAAsC,uBAAyB,IACzBtC,KAAAuC,cAAyC,SAAAC,GAAK,OAAAA,EAAEC,IAKzDzC,KAAA0C,MAA4B,GAC5B1C,KAAA2C,WAAa,EACb3C,KAAA4C,YAAc,IAAIC,EAAAA,QAClB7C,KAAA8C,kBAAmC,KAI3B9C,KAAA+C,aAAwC,YAXhD5D,OAAA6D,eAAIf,EAAArC,UAAA,UAAO,KAAX,WACE,QAASI,KAAK+C,eAAiB/C,KAAK+C,aAAaE,wCAcnDhB,EAAArC,UAAAsD,SAAA,WAAA,IAAAC,EAAAnD,KACEA,KAAK4C,YAAYQ,KACfC,EAAAA,uBACAC,EAAAA,aAAatD,KAAKsC,yBAEnBiB,WAAU,SAAAf,GACTW,EAAKL,kBAAoBN,EACzBW,EAAKT,MAAQ,GACbS,EAAKR,WAAa,EACdQ,EAAKJ,eACPI,EAAKJ,aAAaS,cAClBL,EAAKJ,aAAe,MAEtBI,EAAKM,oBAITxB,EAAArC,UAAA8D,YAAA,SAAYC,KAGZ1B,EAAArC,UAAAgE,gBAAA,aAGA3B,EAAArC,UAAAiE,WAAA,SAAWrB,GACTxC,KAAK8D,WAAWD,WAAWrB,IAG7BP,EAAArC,UAAAmE,iBAAA,SAAiBC,GACfhE,KAAK8D,WAAWC,iBAAiBC,IAGnC/B,EAAArC,UAAAqE,kBAAA,SAAkBD,GAChBhE,KAAK8D,WAAWG,kBAAkBD,IAGpC/B,EAAArC,UAAAsE,iBAAA,SAAiBC,GACfnE,KAAK8D,WAAWI,iBAAiBC,IAGnClC,EAAArC,UAAAwE,OAAA,WAC4B,IAAtBpE,KAAK0C,MAAMhD,QACbM,KAAKyD,iBAITxB,EAAArC,UAAAyE,SAAA,SAASC,GAAEA,EAAAC,IACCvE,KAAK0C,MAAMhD,OAASM,KAAKqC,yBAA2BrC,KAAK0C,MAAMhD,SAAWM,KAAK2C,YAGzF3C,KAAKyD,iBAGPxB,EAAArC,UAAA4E,cAAA,aAIAvC,EAAArC,UAAA6D,cAAA,WAAA,IAAAN,EAAAnD,KACE,GAAIA,KAAK+C,aAAc,CACrB,IAAI/C,KAAK+C,aAAaE,OAIpB,OAHAjD,KAAK+C,aAAe,KAMxB,IAAM0B,EAAWC,EAAAA,iBAAiB1E,KAAK0C,MAAMhD,OAAQM,KAAKmC,eAAe3B,UACnEmE,EAAUzF,EAAAA,EAAA,GACXc,KAAKmC,gBAAc,CACtBzB,UAAW+D,IAETzE,KAAK8C,oBACP6B,EAAWhE,KAAOX,KAAK8C,mBAEzB9C,KAAK+C,aAAe/C,KAAKkC,YAAY/B,OAAOwE,GAAYpB,WAAU,SAAA9C,GAChE0C,EAAKT,MAAQS,EAAKT,MAAMkC,OAAOnE,EAAKoE,OACL,iBAApBpE,EAAKkC,aACdQ,EAAKR,WAAalC,EAAKkC,iDArGlBV,GAAmBhB,EAAA6D,kBAAA7E,sCAAnBgC,EAAmB8C,UAAA,CAAA,CAAA,qBAAAC,UAAA,SAAAC,EAAAC,UAAA,EAAAD,uBAkBnBE,EAAAA,mBAAiB,uGA1BjB,CACT,CACEC,QAASC,EAAAA,kBACTC,OAAO,EACPC,YAAaC,EAAAA,YAAW,WAAM,OAAAvD,QAEjChB,EAAAwE,sBAAAC,MAAA,EAAAC,KAAA,EAAAC,OAAA,CAAA,CAAA,WAAA,OAAA,cAAA,gBAAA,YAAA,cAAA,EAAA,QAAA,YAAA,gBAAA,UAAA,YAAA,OAAA,SAAA,eAAA,CAAA,gBAAA,IAAA,CAAA,QAAA,cAAA,gBAAA,IAAA,CAAA,EAAA,YAAA,cAAA,CAAA,EAAA,eAAA,CAAA,EAAA,oBAAA,WAAA,CAAA,EAAA,oBAAA,WAAAC,SAAA,SAAAZ,EAAAC,GAAA,EAAAD,IDtBHvD,EAAAA,eAAAA,EAAAA,YAAAA,GAQEoE,EAAAA,WAAAA,QAAAA,WAAAA,OAAQZ,EAAAd,WAAR0B,CAAiB,UAAA,SAAAC,GAAA,OACPb,EAAAb,SAAA0B,KADVD,CAAiB,eAAA,WAAA,OAEFZ,EAAAV,mBAEfwB,EAAAA,WAAAA,EAAAA,EAAAA,EAAAA,EAAAA,cAAAA,GAGAA,EAAAA,WAAAA,EAAAA,EAAAA,EAAAA,EAAAA,cAAAA,GAOFpE,EAAAA,qBAtBWqE,EAAAA,WAAAA,QAAAA,EAAAA,MAAAA,CAAe,YAAAf,EAAAtC,YAAfqD,CAAe,iBAAA,EAAfA,CAAe,UAAAf,EAAAgB,QAAfD,CAAe,YAAAf,EAAA3C,4eEa1B,SAAA4D,4CAqBaA,iEAAAA,IAAcC,QAAA,CApBhB,CACPC,EAAAA,aACAC,EAAAA,YACAC,EAAAA,oBACAC,EAAAA,gBACAC,EAAAA,sBACAC,EAAAA,gBACAC,EAAAA,mBACAC,EAAAA,eACAC,EAAAA,cACAC,EAAAA,gBACAC,EAAAA,yFASSZ,EAAc,CAAAa,aAAA,CANvB/E,GAAmBmE,QAAA,CAbnBC,EAAAA,aACAC,EAAAA,YACAC,EAAAA,oBACAC,EAAAA,gBACAC,EAAAA,sBACAC,EAAAA,gBACAC,EAAAA,mBACAC,EAAAA,eACAC,EAAAA,cACAC,EAAAA,gBACAC,EAAAA,gBAAcE,QAAA,CAMdhF,6CHzB8B","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { HttpClient } from '@angular/common/http'\nimport { InjectionToken, Injectable } from '@angular/core'\nimport { PageOf, PagingParameters } from '@ngageoint/mage.web-core-lib/paging'\nimport { Observable } from 'rxjs'\nimport { User } from './user.model'\n\nexport const USER_READ_BASE_URL = '/api/next-users'\n\ntype SearchQueryParams = {\n page_size: string,\n page: string,\n term?: string,\n total?: 'true' | 'false'\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserReadService {\n\n constructor(private webClient: HttpClient) { }\n\n search(which: UserSearchParams): Observable<PageOf<UserSearchResult>> {\n const queryParams: SearchQueryParams = {\n page_size: String(which.pageSize),\n page: String(which.pageIndex),\n }\n if (typeof which.term === 'string') {\n queryParams.term = which.term\n }\n if (typeof which.includeTotalCount === 'boolean') {\n queryParams.total = which.includeTotalCount ? 'true' : 'false'\n }\n return this.webClient.get<PageOf<UserSearchResult>>(`${USER_READ_BASE_URL}/search`, {\n params: queryParams\n })\n }\n}\n\nexport interface UserSearchParams extends PagingParameters {\n term?: string | null | undefined\n}\n\nexport type UserSearchResult = Pick<User, 'id' | 'username' | 'displayName' | 'email' | 'active' | 'enabled'> & {\n /**\n * A reduction of all the phone numbers to a single string\n */\n allPhones?: string | null | undefined\n}\n\nexport const USER_READ_SERVICE = new InjectionToken<UserReadService>('UserReadService')","<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","import { AfterViewInit, Component, Input, OnChanges, SimpleChanges, ViewChild, forwardRef, OnInit } from '@angular/core'\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms'\nimport { NgSelectComponent } from '@ng-select/ng-select'\nimport { User } from '../user.model'\nimport { UserReadService, UserSearchParams, UserSearchResult } from '../user-read.service'\nimport { pageForItemIndex, itemRangeOfPage } from '@ngageoint/mage.web-core-lib/paging'\nimport { Subject, BehaviorSubject, SubscriptionLike, Unsubscribable } from 'rxjs'\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators'\nimport { X } from '@angular/cdk/keycodes'\n\n@Component({\n selector: 'mage-user-select',\n templateUrl: './user-select.component.html',\n styleUrls: [\n './user-select.component.scss'\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => UserSelectComponent)\n }\n ]\n})\nexport class UserSelectComponent implements OnInit, OnChanges, AfterViewInit, ControlValueAccessor {\n\n readonly baseFindParams: Readonly<UserSearchParams> = Object.freeze({\n pageSize: 100,\n pageIndex: 0,\n term: null\n })\n readonly nextPageScrollThreshold = 15\n readonly searchTermDebounceTime = 500\n readonly trackByUserId: (x: User) => User['id'] = x => x.id\n get loading(): boolean {\n return !!this.currentFetch && !this.currentFetch.closed\n }\n\n users: UserSearchResult[] = []\n totalCount = 0\n searchTerm$ = new Subject<string | null>()\n currentSearchTerm: string | null = null\n @ViewChild(NgSelectComponent, { static: true })\n userSelect: NgSelectComponent\n\n private currentFetch: SubscriptionLike | null = null\n\n constructor(private userService: UserReadService) { }\n\n ngOnInit() {\n this.searchTerm$.pipe(\n distinctUntilChanged(),\n debounceTime(this.searchTermDebounceTime),\n )\n .subscribe(x => {\n this.currentSearchTerm = x\n this.users = []\n this.totalCount = 0\n if (this.currentFetch) {\n this.currentFetch.unsubscribe()\n this.currentFetch = null\n }\n this.fetchNextPage()\n })\n }\n\n ngOnChanges(changes: SimpleChanges) {\n }\n\n ngAfterViewInit() {\n }\n\n writeValue(x: User | null): void {\n this.userSelect.writeValue(x)\n }\n\n registerOnChange(fn: (...args: any[]) => any): void {\n this.userSelect.registerOnChange(fn)\n }\n\n registerOnTouched(fn: (...args: any[]) => any): void {\n this.userSelect.registerOnTouched(fn)\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.userSelect.setDisabledState(isDisabled)\n }\n\n onOpen() {\n if (this.users.length === 0) {\n this.fetchNextPage()\n }\n }\n\n onScroll({ end }: { start: number, end: number }) {\n if (end < this.users.length - this.nextPageScrollThreshold || this.users.length === this.totalCount) {\n return\n }\n this.fetchNextPage()\n }\n\n onScrollToEnd() {\n\n }\n\n fetchNextPage() {\n if (this.currentFetch) {\n if (this.currentFetch.closed) {\n this.currentFetch = null\n }\n else {\n return\n }\n }\n const nextPage = pageForItemIndex(this.users.length, this.baseFindParams.pageSize)\n const findParams: UserSearchParams = {\n ...this.baseFindParams,\n pageIndex: nextPage\n }\n if (this.currentSearchTerm) {\n findParams.term = this.currentSearchTerm\n }\n this.currentFetch = this.userService.search(findParams).subscribe(page => {\n this.users = this.users.concat(page.items)\n if (typeof page.totalCount === 'number') {\n this.totalCount = page.totalCount\n }\n })\n }\n}","import { ScrollingModule } from '@angular/cdk/scrolling'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms'\nimport { MatAutocompleteModule } from '@angular/material/autocomplete'\nimport { MatDialogModule } from '@angular/material/dialog'\nimport { MatFormFieldModule } from '@angular/material/form-field'\nimport { MatInputModule } from '@angular/material/input'\nimport { MatListModule } from '@angular/material/list'\nimport { MatSelectModule } from '@angular/material/select'\nimport { UserSelectComponent } from './user-select/user-select.component'\nimport { NgSelectModule } from '@ng-select/ng-select'\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n ScrollingModule,\n MatAutocompleteModule,\n MatDialogModule,\n MatFormFieldModule,\n MatInputModule,\n MatListModule,\n MatSelectModule,\n NgSelectModule,\n ],\n declarations: [\n UserSelectComponent\n ],\n exports: [\n UserSelectComponent\n ]\n})\nexport class MageUserModule {\n\n}"]}
|
|
@@ -42,13 +42,13 @@ export declare const OBJECT_URL_SERVICE: InjectionToken<ObjectUrlService>;
|
|
|
42
42
|
*/
|
|
43
43
|
export declare class XhrImgComponent implements OnChanges, OnDestroy {
|
|
44
44
|
private objectUrlService;
|
|
45
|
-
private
|
|
45
|
+
private webClient;
|
|
46
46
|
private sanitizer;
|
|
47
47
|
sourceUrl: string | null;
|
|
48
48
|
safeBlobUrl: SafeUrl | null;
|
|
49
49
|
private blobUrl;
|
|
50
50
|
private subscription;
|
|
51
|
-
constructor(objectUrlService: ObjectUrlService,
|
|
51
|
+
constructor(objectUrlService: ObjectUrlService, webClient: HttpClient, sanitizer: DomSanitizer);
|
|
52
52
|
ngOnChanges(changes: SimpleChanges): void;
|
|
53
53
|
ngOnDestroy(): void;
|
|
54
54
|
onImgLoad(): void;
|
|
@@ -32,9 +32,9 @@ export const OBJECT_URL_SERVICE = new InjectionToken(`${selector}.objectUrlServi
|
|
|
32
32
|
* URLs for the image data, preventing memory leaks.
|
|
33
33
|
*/
|
|
34
34
|
export class XhrImgComponent {
|
|
35
|
-
constructor(objectUrlService,
|
|
35
|
+
constructor(objectUrlService, webClient, sanitizer) {
|
|
36
36
|
this.objectUrlService = objectUrlService;
|
|
37
|
-
this.
|
|
37
|
+
this.webClient = webClient;
|
|
38
38
|
this.sanitizer = sanitizer;
|
|
39
39
|
this.sourceUrl = null;
|
|
40
40
|
this.safeBlobUrl = null;
|
|
@@ -50,7 +50,7 @@ export class XhrImgComponent {
|
|
|
50
50
|
if (!this.sourceUrl) {
|
|
51
51
|
return;
|
|
52
52
|
}
|
|
53
|
-
this.subscription = this.
|
|
53
|
+
this.subscription = this.webClient.get(this.sourceUrl, { responseType: 'blob' })
|
|
54
54
|
.subscribe(x => {
|
|
55
55
|
this.objectUrlService.revokeObjectURL(this.blobUrl);
|
|
56
56
|
this.blobUrl = this.objectUrlService.createObjectURL(x);
|
|
@@ -106,4 +106,4 @@ XhrImgComponent.ɵcmp = i0.ɵɵdefineComponent({ type: XhrImgComponent, selector
|
|
|
106
106
|
type: Input,
|
|
107
107
|
args: ['src']
|
|
108
108
|
}] }); })();
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGhyLWltZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmdhZ2VvaW50L21hZ2Uud2ViLWNvcmUtbGliL2NvbW1vbi8iLCJzb3VyY2VzIjpbInhoci1pbWcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQXVDLE1BQU0sZUFBZSxDQUFBOzs7O0FBSzdHLE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQTtBQVkvQixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBbUIsR0FBRyxRQUFRLG1CQUFtQixDQUFDLENBQUE7QUFFdEc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEJHO0FBWUgsTUFBTSxPQUFPLGVBQWU7SUFTMUIsWUFBZ0QsZ0JBQWtDLEVBQVUsU0FBcUIsRUFBVSxTQUF1QjtRQUFsRyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBWTtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFObEosY0FBUyxHQUFrQixJQUFJLENBQUE7UUFDL0IsZ0JBQVcsR0FBbUIsSUFBSSxDQUFBO0lBS21ILENBQUM7SUFFdEosV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ3RCLE9BQU07U0FDUDtRQUNELElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDeEQsT0FBTTtTQUNQO1FBQ0QsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFBO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ25CLE9BQU07U0FDUDtRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQzthQUM3RSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDYixJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUNuRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDdkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUN4RSxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFBO0lBQ3ZCLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFBO0lBQ3ZCLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtTQUNwRDtRQUNELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFBO1NBQ2hDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUE7SUFDckIsQ0FBQzs7OEVBOUNVLGVBQWUsdUJBU04sa0JBQWtCO29EQVQzQixlQUFlLCtHQVBmO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsUUFBUSxFQUFFLEdBQUc7YUFDZDtTQUNGO1FBUFUsOEJBQW9EO1FBQXRCLHVGQUFRLGVBQVcsSUFBQztRQUFsRCxpQkFBb0Q7O1FBQS9DLHdEQUF3Qjs7a0RBUzdCLGVBQWU7Y0FYM0IsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxHQUFHLFFBQVEsRUFBRTtnQkFDdkIsUUFBUSxFQUFFLHNEQUFzRDtnQkFDaEUsTUFBTSxFQUFFLENBQUUsbUNBQW1DLENBQUU7Z0JBQy9DLFNBQVMsRUFBRTtvQkFDVDt3QkFDRSxPQUFPLEVBQUUsa0JBQWtCO3dCQUMzQixRQUFRLEVBQUUsR0FBRztxQkFDZDtpQkFDRjthQUNGOztzQkFVYyxNQUFNO3VCQUFDLGtCQUFrQjs7a0JBUHJDLEtBQUs7bUJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCdcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJ1xuXG5jb25zdCBzZWxlY3RvciA9ICdtYWdlLXhoci1pbWcnXG5cbi8qKlxuICogVGhpcyBpcyBhIHNpbXBsZSBpbnRlcmZhY2UgdGhhdCBpbmNsdWRlcyB0aGUgW21ldGhvZHNdKGh0dHBzOi8vd3d3LnczLm9yZy9UUi9GaWxlQVBJLyNjcmVhdGluZy1yZXZva2luZylcbiAqIGZyb20gdGhlIFtVUkwgQVBJXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvVVJMKSBmb3JcbiAqIG1hbmFnaW5nIGJsb2IgVVJMcy4gIFRoaXMgYWxsb3dzIGEgc2VydmljZSB0byBiZSBpbmplY3RlZCBpbnRvXG4gKiBgWGhySW1nQ29tcG9uZW50YCBhbmQgb3ZlcnJpZGRlbiBmb3IgdGVzdGluZy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPYmplY3RVcmxTZXJ2aWNlIHtcbiAgY3JlYXRlT2JqZWN0VVJMOiAodHlwZW9mIFVSTClbJ2NyZWF0ZU9iamVjdFVSTCddXG4gIHJldm9rZU9iamVjdFVSTDogKHR5cGVvZiBVUkwpWydyZXZva2VPYmplY3RVUkwnXVxufVxuZXhwb3J0IGNvbnN0IE9CSkVDVF9VUkxfU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPYmplY3RVcmxTZXJ2aWNlPihgJHtzZWxlY3Rvcn0ub2JqZWN0VXJsU2VydmljZWApXG5cbi8qKlxuICogVGhpcyBjb21wb25lbnQgYWxsb3dzIGZldGNoaW5nIGltYWdlcyBieSBgWE1MSHR0cFJlcXVlc3RgIHJhdGhlciB0aGFuIHRoZVxuICogYnJvd3NlcidzIG5hdGl2ZSBtZWNoYW5pc20uICBUaGVzZSBpbWFnZSByZXF1ZXN0cyBhcmUgc3ViamVjdCB0byBIVFRQXG4gKiBpbnRlcmNlcHRvcnMgdGhhdCBjYW4gYWRkIGF1dGhvcml6YXRpb24gaGVhZGVycyB0byB0aGUgcmVxdWVzdCBpbnN0ZWFkIG9mXG4gKiB1c2luZyBjYWNoZS1kZWZlYXRpbmcgVVJMIHF1ZXJ5IHBhcmFtZXRlcnMgdG8gc2V0IGFuIGF1dGggdG9rZW4uICBBcHBseWluZ1xuICogaGVhZGVycyB0byB0aGUgYnJvd3NlcidzIG5hdGl2ZSBgaW1nYCByZXF1ZXN0cyBpcyBpbXBvc3NpYmxlLCBzbyBhIHF1ZXJ5XG4gKiBwYXJhbWV0ZXIgaXMgbmVjZXNzYXJ5IGZvciBhdXRob3JpemF0aW9uLCBidXQgYWRkaW5nIHRoZSBwYXJhbWV0ZXIgdG8gdGhlXG4gKiBVUkwgZWZmZWN0aXZlbHkgYnlwYXNzZXMgdGhlIGJyb3dzZXIncyBjYWNoaW5nIG1lY2hhbmlzbSB3aGVuIHRoZSBhdXRoIHRva2VuXG4gKiBjaGFuZ2VzIGZvciBpbWFnZXMgdGhhdFxuICogc2hvdWxkIG90aGVyd2lzZSBiZSBzdWJqZWN0IHRvIGNhY2hpbmcuXG4gKlxuICogVGhlIGNhdGNoIHRvIGZldGNoaW5nIGltYWdlcyBieSBYSFIgaXMgdGhlIHJlc3BvbnNlIG11c3QgYmUgZmV0Y2hlZCBhcyBhXG4gKiBgQmxvYmAuICBUaGUgdXNlciB0aGVuIGdldHMgYSBicm93c2VyLXNwZWNpZmljIFVSTCBmb3IgdGhlIGJsb2IgYnlcbiAqIGBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpYCwgd2hpY2ggY2FuIHRoZW4gYmUgYXNzaWduZWQgdG8gdGhlIGBzcmNgXG4gKiBhdHRyaWJ1dGUgb2YgYW4gYGltZ2AgdGFnLiAgVGhlc2UgYmxvYiBVUkxzIG11c3QgdGhlbiBiZSBcInJldm9rZWRcIiBieVxuICogYFVSTC5yZXZva2VPYmplY3RVUkwodXJsKWAgaW4gb3JkZXIgdG8gcmVjbGFpbSBvYmplY3QgVVJMJ3MgYXNzb2NpYXRlZFxuICogcmVzb3VyY2VzLiAgU2VlIFtNb3ppbGxhJ3MgZG9jc10oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0ZpbGUvVXNpbmdfZmlsZXNfZnJvbV93ZWJfYXBwbGljYXRpb25zI2V4YW1wbGVfdXNpbmdfb2JqZWN0X3VybHNfdG9fZGlzcGxheV9pbWFnZXMpXG4gKiBvbiB0aGUgc3ViamVjdC5cbiAqXG4gKiBUbyB1c2UgdGhlIGNvbXBvbmVudCwgc2ltcGx5IGFkZCB0aGUgdGFnIHRvIGEgdGVtcGxhdGUgYW5kIGJpbmQgdGhlIGBzcmNgXG4gKiBhdHRyaWJ1dGUgdG8gdGhlIHNvdXJjZSBVUkwgb2YgdGhlIGRlc2lyZWQgaW1hZ2UuXG4gKiBgYGBcbiAqIDxtYWdlLXhoci1pbWcgW3NyY109XCJzb21lQ29tcG9uZW50LmltYWdlVXJsUmVxdWlyZXNBdXRoXCI+PC9tYWdlLXhoci1pbWc+XG4gKiBgYGBcbiAqIFRoZSBjb21wb25lbnQgZW5jYXBzdWxhdGVzIHRoZSBsb2dpYyBvZiBjcmVhdGluZyBhbmQgcmVsZWFzaW5nIHRoZSBvYmplY3RcbiAqIFVSTHMgZm9yIHRoZSBpbWFnZSBkYXRhLCBwcmV2ZW50aW5nIG1lbW9yeSBsZWFrcy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBgJHtzZWxlY3Rvcn1gLFxuICB0ZW1wbGF0ZTogYDxpbWcgW2F0dHIuc3JjXT1cInNhZmVCbG9iVXJsXCIgKGxvYWQpPVwib25JbWdMb2FkKClcIi8+YCxcbiAgc3R5bGVzOiBbIGBpbWcgeyBoZWlnaHQ6IDEwMCU7IHdpZHRoOiAxMDAlIH1gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE9CSkVDVF9VUkxfU0VSVklDRSxcbiAgICAgIHVzZVZhbHVlOiBVUkxcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgWGhySW1nQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgnc3JjJylcbiAgc291cmNlVXJsOiBzdHJpbmcgfCBudWxsID0gbnVsbFxuICBzYWZlQmxvYlVybDogU2FmZVVybCB8IG51bGwgPSBudWxsXG5cbiAgcHJpdmF0ZSBibG9iVXJsOiBzdHJpbmdcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvblxuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoT0JKRUNUX1VSTF9TRVJWSUNFKSBwcml2YXRlIG9iamVjdFVybFNlcnZpY2U6IE9iamVjdFVybFNlcnZpY2UsIHByaXZhdGUgd2ViQ2xpZW50OiBIdHRwQ2xpZW50LCBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIWNoYW5nZXMuc291cmNlVXJsKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgaWYgKGNoYW5nZXMuc291cmNlVXJsLmlzRmlyc3RDaGFuZ2UoKSAmJiAhdGhpcy5zb3VyY2VVcmwpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICB0aGlzLmRpc3Bvc2VDdXJyZW50KClcbiAgICBpZiAoIXRoaXMuc291cmNlVXJsKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLndlYkNsaWVudC5nZXQodGhpcy5zb3VyY2VVcmwsIHsgcmVzcG9uc2VUeXBlOiAnYmxvYicgfSlcbiAgICAgIC5zdWJzY3JpYmUoeCA9PiB7XG4gICAgICAgIHRoaXMub2JqZWN0VXJsU2VydmljZS5yZXZva2VPYmplY3RVUkwodGhpcy5ibG9iVXJsKVxuICAgICAgICB0aGlzLmJsb2JVcmwgPSB0aGlzLm9iamVjdFVybFNlcnZpY2UuY3JlYXRlT2JqZWN0VVJMKHgpXG4gICAgICAgIHRoaXMuc2FmZUJsb2JVcmwgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKHRoaXMuYmxvYlVybClcbiAgICAgIH0pXG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3Bvc2VDdXJyZW50KClcbiAgfVxuXG4gIG9uSW1nTG9hZCgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3Bvc2VDdXJyZW50KClcbiAgfVxuXG4gIHByaXZhdGUgZGlzcG9zZUN1cnJlbnQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYmxvYlVybCkge1xuICAgICAgdGhpcy5vYmplY3RVcmxTZXJ2aWNlLnJldm9rZU9iamVjdFVSTCh0aGlzLmJsb2JVcmwpXG4gICAgfVxuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxuICAgIH1cbiAgICB0aGlzLmJsb2JVcmwgPSBudWxsXG4gIH1cbn0iXX0=
|