@ngageoint/mage.web-core-lib 6.3.0-beta.0

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.
Files changed (142) hide show
  1. package/README.md +24 -0
  2. package/common/index.d.ts +6 -0
  3. package/common/mage-common.module.d.ts +9 -0
  4. package/common/mage-common.module.d.ts.map +1 -0
  5. package/common/ngageoint-mage.web-core-lib-common.d.ts.map +1 -0
  6. package/common/public-api.d.ts +3 -0
  7. package/common/public-api.d.ts.map +1 -0
  8. package/common/xhr-img.component.d.ts +59 -0
  9. package/common/xhr-img.component.d.ts.map +1 -0
  10. package/esm2020/common/mage-common.module.mjs +25 -0
  11. package/esm2020/common/ngageoint-mage.web-core-lib-common.mjs +5 -0
  12. package/esm2020/common/public-api.mjs +3 -0
  13. package/esm2020/common/xhr-img.component.mjs +104 -0
  14. package/esm2020/event/event-read.service.mjs +3 -0
  15. package/esm2020/event/event.model.mjs +2 -0
  16. package/esm2020/event/ngageoint-mage.web-core-lib-event.mjs +5 -0
  17. package/esm2020/event/public-api.mjs +3 -0
  18. package/esm2020/feed/feed.model.mjs +2 -0
  19. package/esm2020/feed/feed.service.mjs +105 -0
  20. package/esm2020/feed/ngageoint-mage.web-core-lib-feed.mjs +5 -0
  21. package/esm2020/feed/public-api.mjs +3 -0
  22. package/esm2020/mage-core-lib.module.mjs +19 -0
  23. package/esm2020/ngageoint-mage.web-core-lib.mjs +5 -0
  24. package/esm2020/paging/ngageoint-mage.web-core-lib-paging.mjs +5 -0
  25. package/esm2020/paging/paging.cdk-data-source.adapter.mjs +52 -0
  26. package/esm2020/paging/paging.model.mjs +25 -0
  27. package/esm2020/paging/public-api.mjs +3 -0
  28. package/esm2020/plugin/ngageoint-mage.web-core-lib-plugin.mjs +5 -0
  29. package/esm2020/plugin/plugin.model.mjs +2 -0
  30. package/esm2020/plugin/public-api.mjs +2 -0
  31. package/esm2020/public-api.mjs +5 -0
  32. package/esm2020/static-icon/ngageoint-mage.web-core-lib-static-icon.mjs +5 -0
  33. package/esm2020/static-icon/public-api.mjs +7 -0
  34. package/esm2020/static-icon/static-icon-form-field/static-icon-form-field.component.mjs +145 -0
  35. package/esm2020/static-icon/static-icon-img/static-icon-img.component.mjs +35 -0
  36. package/esm2020/static-icon/static-icon-select/static-icon-select.component.mjs +52 -0
  37. package/esm2020/static-icon/static-icon.model.mjs +10 -0
  38. package/esm2020/static-icon/static-icon.module.mjs +54 -0
  39. package/esm2020/static-icon/static-icon.service.mjs +82 -0
  40. package/esm2020/user/ngageoint-mage.web-core-lib-user.mjs +5 -0
  41. package/esm2020/user/public-api.mjs +5 -0
  42. package/esm2020/user/user-read.service.mjs +40 -0
  43. package/esm2020/user/user-select/user-select.component.mjs +159 -0
  44. package/esm2020/user/user.model.mjs +2 -0
  45. package/esm2020/user/user.module.mjs +64 -0
  46. package/event/event-read.service.d.ts +12 -0
  47. package/event/event-read.service.d.ts.map +1 -0
  48. package/event/event.model.d.ts +7 -0
  49. package/event/event.model.d.ts.map +1 -0
  50. package/event/index.d.ts +6 -0
  51. package/event/ngageoint-mage.web-core-lib-event.d.ts.map +1 -0
  52. package/event/public-api.d.ts +3 -0
  53. package/event/public-api.d.ts.map +1 -0
  54. package/feed/feed.model.d.ts +84 -0
  55. package/feed/feed.model.d.ts.map +1 -0
  56. package/feed/feed.service.d.ts +41 -0
  57. package/feed/feed.service.d.ts.map +1 -0
  58. package/feed/index.d.ts +6 -0
  59. package/feed/ngageoint-mage.web-core-lib-feed.d.ts.map +1 -0
  60. package/feed/public-api.d.ts +3 -0
  61. package/feed/public-api.d.ts.map +1 -0
  62. package/fesm2015/ngageoint-mage.web-core-lib-common.mjs +142 -0
  63. package/fesm2015/ngageoint-mage.web-core-lib-common.mjs.map +1 -0
  64. package/fesm2015/ngageoint-mage.web-core-lib-event.mjs +10 -0
  65. package/fesm2015/ngageoint-mage.web-core-lib-event.mjs.map +1 -0
  66. package/fesm2015/ngageoint-mage.web-core-lib-feed.mjs +114 -0
  67. package/fesm2015/ngageoint-mage.web-core-lib-feed.mjs.map +1 -0
  68. package/fesm2015/ngageoint-mage.web-core-lib-paging.mjs +83 -0
  69. package/fesm2015/ngageoint-mage.web-core-lib-paging.mjs.map +1 -0
  70. package/fesm2015/ngageoint-mage.web-core-lib-plugin.mjs +4 -0
  71. package/fesm2015/ngageoint-mage.web-core-lib-plugin.mjs.map +1 -0
  72. package/fesm2015/ngageoint-mage.web-core-lib-static-icon.mjs +392 -0
  73. package/fesm2015/ngageoint-mage.web-core-lib-static-icon.mjs.map +1 -0
  74. package/fesm2015/ngageoint-mage.web-core-lib-user.mjs +279 -0
  75. package/fesm2015/ngageoint-mage.web-core-lib-user.mjs.map +1 -0
  76. package/fesm2015/ngageoint-mage.web-core-lib.mjs +32 -0
  77. package/fesm2015/ngageoint-mage.web-core-lib.mjs.map +1 -0
  78. package/fesm2020/ngageoint-mage.web-core-lib-common.mjs +133 -0
  79. package/fesm2020/ngageoint-mage.web-core-lib-common.mjs.map +1 -0
  80. package/fesm2020/ngageoint-mage.web-core-lib-event.mjs +10 -0
  81. package/fesm2020/ngageoint-mage.web-core-lib-event.mjs.map +1 -0
  82. package/fesm2020/ngageoint-mage.web-core-lib-feed.mjs +112 -0
  83. package/fesm2020/ngageoint-mage.web-core-lib-feed.mjs.map +1 -0
  84. package/fesm2020/ngageoint-mage.web-core-lib-paging.mjs +83 -0
  85. package/fesm2020/ngageoint-mage.web-core-lib-paging.mjs.map +1 -0
  86. package/fesm2020/ngageoint-mage.web-core-lib-plugin.mjs +4 -0
  87. package/fesm2020/ngageoint-mage.web-core-lib-plugin.mjs.map +1 -0
  88. package/fesm2020/ngageoint-mage.web-core-lib-static-icon.mjs +368 -0
  89. package/fesm2020/ngageoint-mage.web-core-lib-static-icon.mjs.map +1 -0
  90. package/fesm2020/ngageoint-mage.web-core-lib-user.mjs +262 -0
  91. package/fesm2020/ngageoint-mage.web-core-lib-user.mjs.map +1 -0
  92. package/fesm2020/ngageoint-mage.web-core-lib.mjs +30 -0
  93. package/fesm2020/ngageoint-mage.web-core-lib.mjs.map +1 -0
  94. package/index.d.ts +6 -0
  95. package/mage-core-lib.module.d.ts +8 -0
  96. package/mage-core-lib.module.d.ts.map +1 -0
  97. package/ngageoint-mage.web-core-lib.d.ts.map +1 -0
  98. package/package.json +102 -0
  99. package/paging/index.d.ts +6 -0
  100. package/paging/ngageoint-mage.web-core-lib-paging.d.ts.map +1 -0
  101. package/paging/paging.cdk-data-source.adapter.d.ts +21 -0
  102. package/paging/paging.cdk-data-source.adapter.d.ts.map +1 -0
  103. package/paging/paging.model.d.ts +28 -0
  104. package/paging/paging.model.d.ts.map +1 -0
  105. package/paging/public-api.d.ts +3 -0
  106. package/paging/public-api.d.ts.map +1 -0
  107. package/plugin/index.d.ts +6 -0
  108. package/plugin/ngageoint-mage.web-core-lib-plugin.d.ts.map +1 -0
  109. package/plugin/plugin.model.d.ts +14 -0
  110. package/plugin/plugin.model.d.ts.map +1 -0
  111. package/plugin/public-api.d.ts +2 -0
  112. package/plugin/public-api.d.ts.map +1 -0
  113. package/public-api.d.ts +2 -0
  114. package/public-api.d.ts.map +1 -0
  115. package/static-icon/index.d.ts +6 -0
  116. package/static-icon/ngageoint-mage.web-core-lib-static-icon.d.ts.map +1 -0
  117. package/static-icon/public-api.d.ts +7 -0
  118. package/static-icon/public-api.d.ts.map +1 -0
  119. package/static-icon/static-icon-form-field/static-icon-form-field.component.d.ts +32 -0
  120. package/static-icon/static-icon-form-field/static-icon-form-field.component.d.ts.map +1 -0
  121. package/static-icon/static-icon-img/static-icon-img.component.d.ts +13 -0
  122. package/static-icon/static-icon-img/static-icon-img.component.d.ts.map +1 -0
  123. package/static-icon/static-icon-select/static-icon-select.component.d.ts +22 -0
  124. package/static-icon/static-icon-select/static-icon-select.component.d.ts.map +1 -0
  125. package/static-icon/static-icon.model.d.ts +20 -0
  126. package/static-icon/static-icon.model.d.ts.map +1 -0
  127. package/static-icon/static-icon.module.d.ts +15 -0
  128. package/static-icon/static-icon.module.d.ts.map +1 -0
  129. package/static-icon/static-icon.service.d.ts +21 -0
  130. package/static-icon/static-icon.service.d.ts.map +1 -0
  131. package/user/index.d.ts +6 -0
  132. package/user/ngageoint-mage.web-core-lib-user.d.ts.map +1 -0
  133. package/user/public-api.d.ts +5 -0
  134. package/user/public-api.d.ts.map +1 -0
  135. package/user/user-read.service.d.ts +25 -0
  136. package/user/user-read.service.d.ts.map +1 -0
  137. package/user/user-select/user-select.component.d.ts +39 -0
  138. package/user/user-select/user-select.component.d.ts.map +1 -0
  139. package/user/user.model.d.ts +86 -0
  140. package/user/user.model.d.ts.map +1 -0
  141. package/user/user.module.d.ts +18 -0
  142. package/user/user.module.d.ts.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngageoint-mage.web-core-lib-static-icon.mjs","sources":["../../../projects/core-lib/static-icon/static-icon.model.ts","../../../projects/core-lib/static-icon/static-icon.service.ts","../../../projects/core-lib/static-icon/static-icon-form-field/static-icon-form-field.component.ts","../../../projects/core-lib/static-icon/static-icon-form-field/static-icon-form-field.component.html","../../../projects/core-lib/static-icon/static-icon-img/static-icon-img.component.ts","../../../projects/core-lib/static-icon/static-icon-select/static-icon-select.component.html","../../../projects/core-lib/static-icon/static-icon-select/static-icon-select.component.ts","../../../projects/core-lib/static-icon/static-icon.module.ts","../../../projects/core-lib/static-icon/ngageoint-mage.web-core-lib-static-icon.ts"],"sourcesContent":["\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","import { HttpClient } from '@angular/common/http'\nimport { Component, OnChanges, OnDestroy, SimpleChanges } from '@angular/core'\nimport { AbstractControl, ControlValueAccessor, UntypedFormControl, UntypedFormGroup, 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: UntypedFormGroup = new UntypedFormGroup({\n iconRefToken: new UntypedFormControl(null),\n iconRefType: new UntypedFormControl(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","<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 {}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.StaticIconService","i2"],"mappings":"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"}
@@ -0,0 +1,262 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable, InjectionToken, forwardRef, Component, ViewChild, NgModule } from '@angular/core';
3
+ import * as i1 from '@angular/common/http';
4
+ import { ScrollingModule } from '@angular/cdk/scrolling';
5
+ import { CommonModule } from '@angular/common';
6
+ import { NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms';
7
+ import { MatAutocompleteModule } from '@angular/material/autocomplete';
8
+ import { MatDialogModule } from '@angular/material/dialog';
9
+ import { MatFormFieldModule } from '@angular/material/form-field';
10
+ import { MatInputModule } from '@angular/material/input';
11
+ import { MatListModule } from '@angular/material/list';
12
+ import { MatSelectModule } from '@angular/material/select';
13
+ import * as i2 from '@ng-select/ng-select';
14
+ import { NgSelectComponent, NgSelectModule } from '@ng-select/ng-select';
15
+ import { pageForItemIndex } from '@ngageoint/mage.web-core-lib/paging';
16
+ import { Subject } from 'rxjs';
17
+ import { distinctUntilChanged, debounceTime } from 'rxjs/operators';
18
+
19
+ const USER_READ_BASE_URL = '/api/next-users';
20
+ const reqKeys = {
21
+ term: 'term',
22
+ pageSize: 'page_size',
23
+ pageIndex: 'page',
24
+ includeTotalCount: 'total',
25
+ };
26
+ class UserReadService {
27
+ constructor(http) {
28
+ this.http = http;
29
+ }
30
+ search(which) {
31
+ const queryParams = {
32
+ page_size: String(which.pageSize),
33
+ page: String(which.pageIndex),
34
+ };
35
+ if (typeof which.term === 'string') {
36
+ queryParams.term = which.term;
37
+ }
38
+ if (typeof which.includeTotalCount === 'boolean') {
39
+ queryParams.total = which.includeTotalCount ? 'true' : 'false';
40
+ }
41
+ return this.http.get(`${USER_READ_BASE_URL}/search`, {
42
+ params: queryParams
43
+ });
44
+ }
45
+ }
46
+ UserReadService.ɵfac = function UserReadService_Factory(t) { return new (t || UserReadService)(i0.ɵɵinject(i1.HttpClient)); };
47
+ UserReadService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: UserReadService, factory: UserReadService.ɵfac, providedIn: 'root' });
48
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UserReadService, [{
49
+ type: Injectable,
50
+ args: [{
51
+ providedIn: 'root'
52
+ }]
53
+ }], function () { return [{ type: i1.HttpClient }]; }, null); })();
54
+ const USER_READ_SERVICE = new InjectionToken('UserReadService');
55
+
56
+ function UserSelectComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
57
+ i0.ɵɵelementStart(0, "small", 3);
58
+ i0.ɵɵtext(1);
59
+ i0.ɵɵelementEnd();
60
+ } if (rf & 2) {
61
+ const ctx_r0 = i0.ɵɵnextContext();
62
+ i0.ɵɵadvance(1);
63
+ i0.ɵɵtextInterpolate1("", ctx_r0.totalCount, " matching users");
64
+ } }
65
+ function UserSelectComponent_ng_template_2_Template(rf, ctx) { if (rf & 1) {
66
+ i0.ɵɵelementStart(0, "div", 4)(1, "p", 5);
67
+ i0.ɵɵtext(2);
68
+ i0.ɵɵelementEnd();
69
+ i0.ɵɵelementStart(3, "p", 6);
70
+ i0.ɵɵtext(4);
71
+ i0.ɵɵelementEnd();
72
+ i0.ɵɵelementStart(5, "p", 6);
73
+ i0.ɵɵtext(6);
74
+ i0.ɵɵelementEnd()();
75
+ } if (rf & 2) {
76
+ const user_r2 = ctx.item;
77
+ i0.ɵɵadvance(2);
78
+ i0.ɵɵtextInterpolate2("", user_r2.displayName, " (", user_r2.username, ")");
79
+ i0.ɵɵadvance(2);
80
+ i0.ɵɵtextInterpolate(user_r2.email || "[no email]");
81
+ i0.ɵɵadvance(2);
82
+ i0.ɵɵtextInterpolate(user_r2.allPhones || "[no phone]");
83
+ } }
84
+ class UserSelectComponent {
85
+ constructor(userService) {
86
+ this.userService = userService;
87
+ this.baseFindParams = Object.freeze({
88
+ pageSize: 100,
89
+ pageIndex: 0,
90
+ term: null
91
+ });
92
+ this.nextPageScrollThreshold = 15;
93
+ this.searchTermDebounceTime = 500;
94
+ this.trackByUserId = x => x.id;
95
+ this.users = [];
96
+ this.totalCount = 0;
97
+ this.searchTerm$ = new Subject();
98
+ this.currentSearchTerm = null;
99
+ this.currentFetch = null;
100
+ }
101
+ get loading() {
102
+ return !!this.currentFetch && !this.currentFetch.closed;
103
+ }
104
+ ngOnInit() {
105
+ this.searchTerm$.pipe(distinctUntilChanged(), debounceTime(this.searchTermDebounceTime))
106
+ .subscribe(x => {
107
+ this.currentSearchTerm = x;
108
+ this.users = [];
109
+ this.totalCount = 0;
110
+ if (this.currentFetch) {
111
+ this.currentFetch.unsubscribe();
112
+ this.currentFetch = null;
113
+ }
114
+ this.fetchNextPage();
115
+ });
116
+ }
117
+ ngOnChanges(changes) {
118
+ }
119
+ ngAfterViewInit() {
120
+ }
121
+ writeValue(x) {
122
+ this.userSelect.writeValue(x);
123
+ }
124
+ registerOnChange(fn) {
125
+ this.userSelect.registerOnChange(fn);
126
+ }
127
+ registerOnTouched(fn) {
128
+ this.userSelect.registerOnTouched(fn);
129
+ }
130
+ setDisabledState(isDisabled) {
131
+ this.userSelect.setDisabledState(isDisabled);
132
+ }
133
+ onOpen() {
134
+ if (this.users.length === 0) {
135
+ this.fetchNextPage();
136
+ }
137
+ }
138
+ onScroll({ end }) {
139
+ if (end < this.users.length - this.nextPageScrollThreshold || this.users.length === this.totalCount) {
140
+ return;
141
+ }
142
+ this.fetchNextPage();
143
+ }
144
+ onScrollToEnd() {
145
+ }
146
+ fetchNextPage() {
147
+ if (this.currentFetch) {
148
+ if (this.currentFetch.closed) {
149
+ this.currentFetch = null;
150
+ }
151
+ else {
152
+ return;
153
+ }
154
+ }
155
+ const nextPage = pageForItemIndex(this.users.length, this.baseFindParams.pageSize);
156
+ const findParams = {
157
+ ...this.baseFindParams,
158
+ pageIndex: nextPage
159
+ };
160
+ if (this.currentSearchTerm) {
161
+ findParams.term = this.currentSearchTerm;
162
+ }
163
+ this.currentFetch = this.userService.search(findParams).subscribe(page => {
164
+ this.users = this.users.concat(page.items);
165
+ if (typeof page.totalCount === 'number') {
166
+ this.totalCount = page.totalCount;
167
+ }
168
+ });
169
+ }
170
+ }
171
+ UserSelectComponent.ɵfac = function UserSelectComponent_Factory(t) { return new (t || UserSelectComponent)(i0.ɵɵdirectiveInject(UserReadService)); };
172
+ UserSelectComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserSelectComponent, selectors: [["mage-user-select"]], viewQuery: function UserSelectComponent_Query(rf, ctx) { if (rf & 1) {
173
+ i0.ɵɵviewQuery(NgSelectComponent, 7);
174
+ } if (rf & 2) {
175
+ let _t;
176
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.userSelect = _t.first);
177
+ } }, features: [i0.ɵɵProvidersFeature([
178
+ {
179
+ provide: NG_VALUE_ACCESSOR,
180
+ multi: true,
181
+ useExisting: forwardRef(() => UserSelectComponent)
182
+ }
183
+ ]), i0.ɵɵNgOnChangesFeature], decls: 3, vars: 5, consts: [["appendTo", "body", "placeholder", "Choose a user", "bindLabel", "displayName", 3, "items", "typeahead", "virtualScroll", "loading", "trackByFn", "open", "scroll", "scrollToEnd"], ["ng-header-tmp", ""], ["class", "user-option", "ng-option-tmp", ""], [1, "form-text", "text-muted"], [1, "user-option"], [1, "user-option__line", "primary"], [1, "user-option__line", "detail"]], template: function UserSelectComponent_Template(rf, ctx) { if (rf & 1) {
184
+ i0.ɵɵelementStart(0, "ng-select", 0);
185
+ i0.ɵɵlistener("open", function UserSelectComponent_Template_ng_select_open_0_listener() { return ctx.onOpen(); })("scroll", function UserSelectComponent_Template_ng_select_scroll_0_listener($event) { return ctx.onScroll($event); })("scrollToEnd", function UserSelectComponent_Template_ng_select_scrollToEnd_0_listener() { return ctx.onScrollToEnd(); });
186
+ i0.ɵɵtemplate(1, UserSelectComponent_ng_template_1_Template, 2, 1, "ng-template", 1);
187
+ i0.ɵɵtemplate(2, UserSelectComponent_ng_template_2_Template, 7, 4, "ng-template", 2);
188
+ i0.ɵɵelementEnd();
189
+ } if (rf & 2) {
190
+ i0.ɵɵproperty("items", ctx.users)("typeahead", ctx.searchTerm$)("virtualScroll", true)("loading", ctx.loading)("trackByFn", ctx.trackByUserId);
191
+ } }, dependencies: [i2.NgSelectComponent, i2.NgOptionTemplateDirective, i2.NgHeaderTemplateDirective], styles: [".user-option[_ngcontent-%COMP%]{margin:.85em 0}.user-option[_ngcontent-%COMP%] > .user-option__line[_ngcontent-%COMP%]{margin:0 0 .6em;padding:0;line-height:1em;overflow:hidden;text-overflow:ellipsis}.user-option[_ngcontent-%COMP%] > .user-option__line.primary[_ngcontent-%COMP%]{font-size:1em}.user-option[_ngcontent-%COMP%] > .user-option__line.detail[_ngcontent-%COMP%]{font-size:.85em;opacity:.75}"] });
192
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UserSelectComponent, [{
193
+ type: Component,
194
+ args: [{ selector: 'mage-user-select', providers: [
195
+ {
196
+ provide: NG_VALUE_ACCESSOR,
197
+ multi: true,
198
+ useExisting: forwardRef(() => UserSelectComponent)
199
+ }
200
+ ], template: "<ng-select [items]=\"users\"\n [typeahead]=\"searchTerm$\"\n [virtualScroll]=\"true\"\n [loading]=\"loading\"\n [trackByFn]=\"trackByUserId\"\n appendTo=\"body\"\n placeholder=\"Choose a user\"\n bindLabel=\"displayName\"\n (open)=\"onOpen()\"\n (scroll)=\"onScroll($event)\"\n (scrollToEnd)=\"onScrollToEnd()\"\n >\n <ng-template ng-header-tmp>\n <small class=\"form-text text-muted\">{{totalCount}} matching users</small>\n </ng-template>\n <ng-template class=\"user-option\" ng-option-tmp let-user=\"item\" let-index=\"index\">\n <div class=\"user-option\">\n <p class=\"user-option__line primary\">{{user.displayName}} ({{user.username}})</p>\n <p class=\"user-option__line detail\">{{user.email || '[no email]'}}</p>\n <p class=\"user-option__line detail\">{{user.allPhones || '[no phone]'}}</p>\n </div>\n </ng-template>\n</ng-select>\n", styles: [".user-option{margin:.85em 0}.user-option>.user-option__line{margin:0 0 .6em;padding:0;line-height:1em;overflow:hidden;text-overflow:ellipsis}.user-option>.user-option__line.primary{font-size:1em}.user-option>.user-option__line.detail{font-size:.85em;opacity:.75}\n"] }]
201
+ }], function () { return [{ type: UserReadService }]; }, { userSelect: [{
202
+ type: ViewChild,
203
+ args: [NgSelectComponent, { static: true }]
204
+ }] }); })();
205
+
206
+ class MageUserModule {
207
+ }
208
+ MageUserModule.ɵfac = function MageUserModule_Factory(t) { return new (t || MageUserModule)(); };
209
+ MageUserModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: MageUserModule });
210
+ MageUserModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
211
+ FormsModule,
212
+ ReactiveFormsModule,
213
+ ScrollingModule,
214
+ MatAutocompleteModule,
215
+ MatDialogModule,
216
+ MatFormFieldModule,
217
+ MatInputModule,
218
+ MatListModule,
219
+ MatSelectModule,
220
+ NgSelectModule] });
221
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MageUserModule, [{
222
+ type: NgModule,
223
+ args: [{
224
+ imports: [
225
+ CommonModule,
226
+ FormsModule,
227
+ ReactiveFormsModule,
228
+ ScrollingModule,
229
+ MatAutocompleteModule,
230
+ MatDialogModule,
231
+ MatFormFieldModule,
232
+ MatInputModule,
233
+ MatListModule,
234
+ MatSelectModule,
235
+ NgSelectModule,
236
+ ],
237
+ declarations: [
238
+ UserSelectComponent
239
+ ],
240
+ exports: [
241
+ UserSelectComponent
242
+ ]
243
+ }]
244
+ }], null, null); })();
245
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(MageUserModule, { declarations: [UserSelectComponent], imports: [CommonModule,
246
+ FormsModule,
247
+ ReactiveFormsModule,
248
+ ScrollingModule,
249
+ MatAutocompleteModule,
250
+ MatDialogModule,
251
+ MatFormFieldModule,
252
+ MatInputModule,
253
+ MatListModule,
254
+ MatSelectModule,
255
+ NgSelectModule], exports: [UserSelectComponent] }); })();
256
+
257
+ /**
258
+ * Generated bundle index. Do not edit.
259
+ */
260
+
261
+ export { MageUserModule, USER_READ_BASE_URL, USER_READ_SERVICE, UserReadService, UserSelectComponent };
262
+ //# sourceMappingURL=ngageoint-mage.web-core-lib-user.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngageoint-mage.web-core-lib-user.mjs","sources":["../../../projects/core-lib/user/user-read.service.ts","../../../projects/core-lib/user/user-select/user-select.component.html","../../../projects/core-lib/user/user-select/user-select.component.ts","../../../projects/core-lib/user/user.module.ts","../../../projects/core-lib/user/ngageoint-mage.web-core-lib-user.ts"],"sourcesContent":["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}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.UserReadService"],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import * as i0 from '@angular/core';
2
+ import { NgModule } from '@angular/core';
3
+ import { CommonModule } from '@angular/common';
4
+
5
+ class MageCoreLibModule {
6
+ }
7
+ MageCoreLibModule.ɵfac = function MageCoreLibModule_Factory(t) { return new (t || MageCoreLibModule)(); };
8
+ MageCoreLibModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: MageCoreLibModule });
9
+ MageCoreLibModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule] });
10
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MageCoreLibModule, [{
11
+ type: NgModule,
12
+ args: [{
13
+ declarations: [],
14
+ imports: [
15
+ CommonModule
16
+ ]
17
+ }]
18
+ }], null, null); })();
19
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(MageCoreLibModule, { imports: [CommonModule] }); })();
20
+
21
+ /*
22
+ * Public API Surface of core-lib
23
+ */
24
+
25
+ /**
26
+ * Generated bundle index. Do not edit.
27
+ */
28
+
29
+ export { MageCoreLibModule };
30
+ //# sourceMappingURL=ngageoint-mage.web-core-lib.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngageoint-mage.web-core-lib.mjs","sources":["../../../projects/core-lib/src/mage-core-lib.module.ts","../../../projects/core-lib/src/public-api.ts","../../../projects/core-lib/src/ngageoint-mage.web-core-lib.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule\n ]\n})\nexport class MageCoreLibModule { }\n","/*\n * Public API Surface of core-lib\n */\n\nexport * from './mage-core-lib.module'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAWa,iBAAiB,CAAA;;kFAAjB,iBAAiB,GAAA,CAAA,EAAA,CAAA;mEAAjB,iBAAiB,EAAA,CAAA,CAAA;uEAH1B,YAAY,CAAA,EAAA,CAAA,CAAA;uFAGH,iBAAiB,EAAA,CAAA;cAN7B,QAAQ;AAAC,QAAA,IAAA,EAAA,CAAA;AACR,gBAAA,YAAY,EAAE,EAAE;AAChB,gBAAA,OAAO,EAAE;oBACP,YAAY;AACb,iBAAA;AACF,aAAA,CAAA;;AACY,CAAA,YAAA,EAAA,CAAA,OAAA,SAAA,KAAA,WAAA,IAAA,SAAA,KAAA,EAAA,CAAA,kBAAA,CAAA,iBAAiB,cAH1B,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA,GAAA;;ACRhB;;AAEG;;ACFH;;AAEG;;;;"}
package/index.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@ngageoint/mage.web-core-lib" />
5
+ export * from './public-api';
6
+ //# sourceMappingURL=ngageoint-mage.web-core-lib.d.ts.map
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "@angular/common";
3
+ export declare class MageCoreLibModule {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<MageCoreLibModule, never>;
5
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MageCoreLibModule, never, [typeof i1.CommonModule], never>;
6
+ static ɵinj: i0.ɵɵInjectorDeclaration<MageCoreLibModule>;
7
+ }
8
+ //# sourceMappingURL=mage-core-lib.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mage-core-lib.module.d.ts","sourceRoot":"","sources":["../../projects/core-lib/src/mage-core-lib.module.ts"],"names":[],"mappings":";;AAKA,qBAMa,iBAAiB;yCAAjB,iBAAiB;0CAAjB,iBAAiB;0CAAjB,iBAAiB;CAAI"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngageoint-mage.web-core-lib.d.ts","sourceRoot":"","sources":["../../projects/core-lib/src/ngageoint-mage.web-core-lib.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,cAAc,cAAc,CAAC"}
package/package.json ADDED
@@ -0,0 +1,102 @@
1
+ {
2
+ "name": "@ngageoint/mage.web-core-lib",
3
+ "version": "6.3.0-beta.0",
4
+ "repository": {
5
+ "type": "git",
6
+ "url": "https://github.com/ngageoint/mage-server.git"
7
+ },
8
+ "peerDependencies": {
9
+ "@angular/animations": "^14.2.12",
10
+ "@angular/cdk": "^14.2.7",
11
+ "@angular/common": "^14.2.12",
12
+ "@angular/core": "^14.2.12",
13
+ "@angular/forms": "^14.2.12",
14
+ "@angular/material": "^14.2.7",
15
+ "@angular/platform-browser": "^14.2.12",
16
+ "@ng-select/ng-select": "9.1.0",
17
+ "rxjs": "~7.6.0"
18
+ },
19
+ "dependencies": {
20
+ "@types/geojson": "^7946.0.7",
21
+ "tslib": "^2.0.0"
22
+ },
23
+ "module": "fesm2015/ngageoint-mage.web-core-lib.mjs",
24
+ "es2020": "fesm2020/ngageoint-mage.web-core-lib.mjs",
25
+ "esm2020": "esm2020/ngageoint-mage.web-core-lib.mjs",
26
+ "fesm2020": "fesm2020/ngageoint-mage.web-core-lib.mjs",
27
+ "fesm2015": "fesm2015/ngageoint-mage.web-core-lib.mjs",
28
+ "typings": "index.d.ts",
29
+ "exports": {
30
+ "./package.json": {
31
+ "default": "./package.json"
32
+ },
33
+ ".": {
34
+ "types": "./index.d.ts",
35
+ "esm2020": "./esm2020/ngageoint-mage.web-core-lib.mjs",
36
+ "es2020": "./fesm2020/ngageoint-mage.web-core-lib.mjs",
37
+ "es2015": "./fesm2015/ngageoint-mage.web-core-lib.mjs",
38
+ "node": "./fesm2015/ngageoint-mage.web-core-lib.mjs",
39
+ "default": "./fesm2020/ngageoint-mage.web-core-lib.mjs"
40
+ },
41
+ "./common": {
42
+ "types": "./common/index.d.ts",
43
+ "esm2020": "./esm2020/common/ngageoint-mage.web-core-lib-common.mjs",
44
+ "es2020": "./fesm2020/ngageoint-mage.web-core-lib-common.mjs",
45
+ "es2015": "./fesm2015/ngageoint-mage.web-core-lib-common.mjs",
46
+ "node": "./fesm2015/ngageoint-mage.web-core-lib-common.mjs",
47
+ "default": "./fesm2020/ngageoint-mage.web-core-lib-common.mjs"
48
+ },
49
+ "./event": {
50
+ "types": "./event/index.d.ts",
51
+ "esm2020": "./esm2020/event/ngageoint-mage.web-core-lib-event.mjs",
52
+ "es2020": "./fesm2020/ngageoint-mage.web-core-lib-event.mjs",
53
+ "es2015": "./fesm2015/ngageoint-mage.web-core-lib-event.mjs",
54
+ "node": "./fesm2015/ngageoint-mage.web-core-lib-event.mjs",
55
+ "default": "./fesm2020/ngageoint-mage.web-core-lib-event.mjs"
56
+ },
57
+ "./feed": {
58
+ "types": "./feed/index.d.ts",
59
+ "esm2020": "./esm2020/feed/ngageoint-mage.web-core-lib-feed.mjs",
60
+ "es2020": "./fesm2020/ngageoint-mage.web-core-lib-feed.mjs",
61
+ "es2015": "./fesm2015/ngageoint-mage.web-core-lib-feed.mjs",
62
+ "node": "./fesm2015/ngageoint-mage.web-core-lib-feed.mjs",
63
+ "default": "./fesm2020/ngageoint-mage.web-core-lib-feed.mjs"
64
+ },
65
+ "./paging": {
66
+ "types": "./paging/index.d.ts",
67
+ "esm2020": "./esm2020/paging/ngageoint-mage.web-core-lib-paging.mjs",
68
+ "es2020": "./fesm2020/ngageoint-mage.web-core-lib-paging.mjs",
69
+ "es2015": "./fesm2015/ngageoint-mage.web-core-lib-paging.mjs",
70
+ "node": "./fesm2015/ngageoint-mage.web-core-lib-paging.mjs",
71
+ "default": "./fesm2020/ngageoint-mage.web-core-lib-paging.mjs"
72
+ },
73
+ "./plugin": {
74
+ "types": "./plugin/index.d.ts",
75
+ "esm2020": "./esm2020/plugin/ngageoint-mage.web-core-lib-plugin.mjs",
76
+ "es2020": "./fesm2020/ngageoint-mage.web-core-lib-plugin.mjs",
77
+ "es2015": "./fesm2015/ngageoint-mage.web-core-lib-plugin.mjs",
78
+ "node": "./fesm2015/ngageoint-mage.web-core-lib-plugin.mjs",
79
+ "default": "./fesm2020/ngageoint-mage.web-core-lib-plugin.mjs"
80
+ },
81
+ "./static-icon": {
82
+ "types": "./static-icon/index.d.ts",
83
+ "esm2020": "./esm2020/static-icon/ngageoint-mage.web-core-lib-static-icon.mjs",
84
+ "es2020": "./fesm2020/ngageoint-mage.web-core-lib-static-icon.mjs",
85
+ "es2015": "./fesm2015/ngageoint-mage.web-core-lib-static-icon.mjs",
86
+ "node": "./fesm2015/ngageoint-mage.web-core-lib-static-icon.mjs",
87
+ "default": "./fesm2020/ngageoint-mage.web-core-lib-static-icon.mjs"
88
+ },
89
+ "./user": {
90
+ "types": "./user/index.d.ts",
91
+ "esm2020": "./esm2020/user/ngageoint-mage.web-core-lib-user.mjs",
92
+ "es2020": "./fesm2020/ngageoint-mage.web-core-lib-user.mjs",
93
+ "es2015": "./fesm2015/ngageoint-mage.web-core-lib-user.mjs",
94
+ "node": "./fesm2015/ngageoint-mage.web-core-lib-user.mjs",
95
+ "default": "./fesm2020/ngageoint-mage.web-core-lib-user.mjs"
96
+ }
97
+ },
98
+ "sideEffects": false,
99
+ "scripts": {
100
+ "prepublishOnly": "node --eval \"console.error('ERROR: Trying to publish a package that has been compiled by Ivy in full compilation mode. This is not allowed.\\nPlease delete and rebuild the package with Ivy partial compilation mode, before attempting to publish.\\n')\" && exit 1"
101
+ }
102
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@ngageoint/mage.web-core-lib/paging" />
5
+ export * from './public-api';
6
+ //# sourceMappingURL=ngageoint-mage.web-core-lib-paging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngageoint-mage.web-core-lib-paging.d.ts","sourceRoot":"","sources":["../../../projects/core-lib/paging/ngageoint-mage.web-core-lib-paging.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,cAAc,cAAc,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { CollectionViewer, DataSource } from '@angular/cdk/collections';
2
+ import { Observable } from 'rxjs';
3
+ import { PageOf, PagingParameters } from './paging.model';
4
+ /**
5
+ * This class is an adaptation from the [Angular Material Guide](https://v8.material.angular.io/cdk/scrolling/overview), _"Specifying data" example_, also
6
+ * available on [StackBlitz](https://stackblitz.com/angular/mrbkjagnnra?file=src%2Fapp%2Fcdk-virtual-scroll-data-source-example.ts).
7
+ */
8
+ export declare class PagingDataSource<T> extends DataSource<T> {
9
+ private pageSize;
10
+ private fetchPage;
11
+ private data;
12
+ private data$;
13
+ private fetchedPages;
14
+ private subscription;
15
+ constructor(pageSize: number, fetchPage: (paging: PagingParameters) => Observable<PageOf<T>>);
16
+ connect(collectionViewer: CollectionViewer): Observable<T[]>;
17
+ disconnect(): void;
18
+ private pageForItemIndex;
19
+ private fetch;
20
+ }
21
+ //# sourceMappingURL=paging.cdk-data-source.adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paging.cdk-data-source.adapter.d.ts","sourceRoot":"","sources":["../../../projects/core-lib/paging/paging.cdk-data-source.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACvE,OAAO,EAAmB,UAAU,EAAgB,MAAM,MAAM,CAAA;AAChE,OAAO,EAAoB,MAAM,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAE3E;;;GAGG;AACH,qBAAa,gBAAgB,CAAC,CAAC,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAC;IAOxC,OAAO,CAAC,QAAQ;IAAU,OAAO,CAAC,SAAS;IALvD,OAAO,CAAC,IAAI,CAAmB;IAC/B,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,YAAY,CAAqB;gBAErB,QAAQ,EAAE,MAAM,EAAU,SAAS,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAI5G,OAAO,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC;IAW5D,UAAU,IAAI,IAAI;IAIlB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,KAAK;CAiBd"}
@@ -0,0 +1,28 @@
1
+ export interface PagingParameters {
2
+ pageSize: number;
3
+ pageIndex: number;
4
+ includeTotalCount?: boolean | null;
5
+ }
6
+ export interface PageOf<T> {
7
+ pageSize: number;
8
+ pageIndex: number;
9
+ totalCount?: number | null;
10
+ next?: PagingParameters | null;
11
+ prev?: PagingParameters | null;
12
+ items: T[];
13
+ }
14
+ export declare const pageForItemIndex: (itemIndex: number, pageSize: number | PagingParameters) => number;
15
+ /**
16
+ * Return the range of item indexes for the given page and page size. The last
17
+ * end portion of the range is exclusive, so when indexing an array the last
18
+ * item of the page would have position `end - 1`. This allows one to pass the
19
+ * values to `Array.slice()`.
20
+ * @param pageIndex
21
+ * @param pageSize
22
+ * @returns
23
+ */
24
+ export declare const itemRangeOfPage: {
25
+ (pageIndex: number, pageSize: number): [number, number];
26
+ (paging: PagingParameters): any;
27
+ };
28
+ //# sourceMappingURL=paging.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paging.model.d.ts","sourceRoot":"","sources":["../../../projects/core-lib/paging/paging.model.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;CACnC;AAED,MAAM,WAAW,MAAM,CAAC,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAC9B,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAC9B,KAAK,EAAE,CAAC,EAAE,CAAA;CACX;AAED,eAAO,MAAM,gBAAgB,cAAe,MAAM,YAAY,MAAM,GAAG,gBAAgB,KAAG,MAKzF,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,EAAE;IAC5B,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAE,MAAM,EAAE,MAAM,CAAE,CAAA;IACzD,CAAC,MAAM,EAAE,gBAAgB,OAAC;CAS3B,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './paging.model';
2
+ export * from './paging.cdk-data-source.adapter';
3
+ //# sourceMappingURL=public-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../../projects/core-lib/paging/public-api.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kCAAkC,CAAA"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@ngageoint/mage.web-core-lib/plugin" />
5
+ export * from './public-api';
6
+ //# sourceMappingURL=ngageoint-mage.web-core-lib-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngageoint-mage.web-core-lib-plugin.d.ts","sourceRoot":"","sources":["../../../projects/core-lib/plugin/ngageoint-mage.web-core-lib-plugin.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,cAAc,cAAc,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { Type } from '@angular/core';
2
+ export interface PluginHooks {
3
+ module: Type<unknown>;
4
+ adminTab?: {
5
+ title: string;
6
+ icon?: {
7
+ path: string;
8
+ } | {
9
+ className: string;
10
+ } | null | undefined;
11
+ tabContentComponent: Type<unknown>;
12
+ };
13
+ }
14
+ //# sourceMappingURL=plugin.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.model.d.ts","sourceRoot":"","sources":["../../../projects/core-lib/plugin/plugin.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAEpC,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IACrB,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,GAAG;YAAE,SAAS,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,GAAG,SAAS,CAAA;QAClE,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;KACnC,CAAA;CACF"}